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