airefine.sci
来自「小波分解源代码」· SCI 代码 · 共 35 行
SCI
35 行
function a2 = AIRefine(a,D,Filter,EdgeFilter)
// AIRefine -- Average-Interpolating Refinement Scheme
// Usage
// fine = AIRefine(coarse,D,Filter,EF)
// Inputs
// coarse 1-d signal at a coarse scale: length(coarse)=n
// D D degree of polynomials used for interpolation
// Filter interpolating filter from MakeAIFilter(D)
// EF Boundary filter from MakeAIBdryFilter(D)
// Outputs
// fine 1-d signal at a fine scale: length(fine) = 2*n
//
// Description
// Average-Interpolating Refinement scheme is used to refine boxcar
// averages on a grid of n points, imputing averages on a finer grid
// of 2n points.
//
// The average of imputed pairs at (2*i-1,2i) at fine scale reproduce
// values i at the coarse scale; the pairs are obtained by polynomial
// interpolation of the coarse averages near i.
//
// See Also
// AIDyadUp, AIDyaAIown, FWT_AI, IWT_AI
//
// Copyright Aldo I Maalouf
n = length2(a); n2 = 2*n; a2 = zeros(1,n2);
ae = [ a; 0 .*a ]; ae = ae(:)';
temp = conv(Filter,ae);
a2((D+1):(n2-D)) = temp((2*D+1):(n2));
a2(1:D) = (EdgeFilter * (waverow(a(1:(D+1)))'))';
a2((n2-D+1):n2) = reverse(EdgeFilter * (reverse(waverow(a((n-D):n)))'));
endfunction
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?