fwt_atrou.sci
来自「小波分解源代码」· SCI 代码 · 共 52 行
SCI
52 行
function dwt = FWT_ATrou(x,L);
//
// FWT_ATrou -- Fast Dyadic Wavelet Transform (periodized, orthogonal)
// Usage
// dwt = FWT_ATrou(x,L)
// Inputs
// x 1-d signal; length(x) = 2^J = n
// L Coarsest Level of V_0; L << J
// Outputs
// dwt an n times J-L+1 matrix
// giving the wavelet transform of x at all dyadic scales.
//
// Description
// To reconstruct use IWT_ATrou
//
// See Also
// IWT_ATrou, MakeATrouFilter
//
// Copyright Aldo I Maalouf
[lodyadf,dlodyadf,hidyadf,dhidyadf] = MakeATrouFilter('Spline',3);
[n,J] = dyadlength(x) ;
D = J-L;
dwt = zeros(n,D+1);
x = ShapeAsRow(x);
dwt(:,1) = x';
for d = 1:D,
s = dwt(:,1)';
s2 = s;
for j = 1:2^(d-1)
s2 = lshift(s2);
end
dwt(:,d+1) = iconv(hidyadf,s)';
for j = 1:2^(d)
p = lshift(dwt(:,d+1)');
dwt(:,d+1) = p';
end
dwt(:,1) = iconv(lodyadf,s2)';
f = zeros(1,2*length2(lodyadf));
f(1:2:2*length2(lodyadf)-1) = lodyadf;
f2 = zeros(1,2*length2(hidyadf));
f2(1:2:2*length2(hidyadf)-1) = hidyadf;
lodyadf = f;
hidyadf = f2;
end;
endfunction
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?