?? mydwt.m
字號:
function [cA,cD] = mydwt(x,lpd,hpd,dim);
% 函數 [cA,cD]=MYDWT(X,LPD,HPD,DIM) 對輸入序列x進行一維離散小波分解,輸出分解序列[cA,cD]
% 輸入參數:x——輸入序列;
% lpd——低通濾波器;
% hpd——高通濾波器;
% dim——小波分解層數。
% 輸出參數:cA——平均部分的小波分解系數;
% cD——細節部分的小波分解系數。
cA=x; % 初始化cA,cD
cD=[];
for i=1:dim
cvl=conv(cA,lpd); % 低通濾波,為了提高運行速度,調用MATLAB提供的卷積函數conv()
dnl=downspl(cvl); % 通過下抽樣求出平均部分的分解系數
cvh=conv(cA,hpd); % 高通濾波
dnh=downspl(cvh); % 通過下抽樣求出本層分解后的細節部分系數
cA=dnl; % 下抽樣后的平均部分系數進入下一層分解
cD=[cD,dnh]; % 將本層分解所得的細節部分系數存入序列cD
end
% 以下部分是信號去噪的測試程序,與上述函數無關
% if sym
% if i<=dim-3
% dnh=averlize(dnh,1);
% else if i<=dim-1
% dnh=averlize(dnh,2);
% end
% end
% end
% function y=averlize(x,fa);
% N=length(x);
% % aver=sum(x(1:N))/N;
% for i=2:N
% if abs(x(i)-x(i-1))>=0.7
% switch fa
% case 1
% x(i)=x(i-1);
% case 2
% x(i)=x(i-1);
% otherwise
% x(i)=x(i);
% end
% end
% end
% y=x;
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -