📄 iidwt.m
字号:
function y = Iidwt(w,h,L);% y = Iidwt(w,h,L);%% Discrete Orthogonal Wavelet Transform Inverse%% Input% w : dwt coefficients% h : lowpass filter% L : number of levels (2^L must divide length(w))%% Example% h = daubcqf(6);% x = makesig('Doppler',64);% w = Idwt(x,h,4);% y = Iidwt(w,h,4);% x - y% recursive programh0 = h;h1 = makeh1(h0);n = length(h0);wlen = length(w);if L > 1 w = [Iidwt(w(1:wlen/2),h,L-1) w(wlen/2+1:wlen)];end % get lowpass part and highpass part lo = w(1:wlen/2); hi = w(wlen/2+1:wlen); % upsample lo = up(lo,2); hi = up(hi,2); % create cyclic extensions lo = [zeros(1,n-1), lo]; hi = [zeros(1,n-1), hi]; for k = n-1:-1:1 lo(k) = lo(k+wlen); hi(k) = hi(k+wlen); end % linear convolution lo = conv(lo,h0); hi = conv(hi,h1); % extract periodic part lo = lo(n:n+wlen-1); hi = hi(n:n+wlen-1); y = lo + hi;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -