?? myidwt.m
字號:
function y = myidwt(cA,cD,lpr,hpr);
% 函數 MYIDWT() 對輸入的小波分解系數進行逆離散小波變換,重構出信號序列 y
% 輸入參數:cA —— 平均部分的小波分解系數;
% cD —— 細節部分的小波分解系數;
% lpr、hpr —— 重構所用的低通、高通濾波器。
lca=length(cA); % 求出平均、細節部分分解系數的長度
lcd=length(cD);
while (lcd)>=(lca) % 每一層重構中,cA 和 cD 的長度要相等,故每層重構后,
% 若lcd小于lca,則重構停止,這時的 cA 即為重構信號序列 y 。
upl=upspl(cA); % 對平均部分系數進行上抽樣
cvl=conv(upl,lpr); % 低通卷積
cD_up=cD(lcd-lca+1:lcd); % 取出本層重構所需的細節部分系數,長度與本層平均部分系數的長度相等
uph=upspl(cD_up); % 對細節部分系數進行上抽樣
cvh=conv(uph,hpr); % 高通卷積
cA=cvl+cvh; % 用本層重構的序列更新cA,以進行下一層重構
cD=cD(1:lcd-lca); % 舍棄本層重構用到的細節部分系數,更新cD
lca=length(cA); % 求出下一層重構所用的平均、細節部分系數的長度
lcd=length(cD);
end % lcd < lca,重構完成,結束循環
y=cA; % 輸出的重構序列 y 等于重構完成后的平均部分系數序列 cA
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -