資源簡介
基于小波去噪,里面含有硬閾值去噪,軟閾值去噪,半軟閾值去噪等,已編譯成功 MATLAB程序

代碼片段和文件信息
close?all;
clc;clear?all;
%?產生中頻信號
t=0:0.1:5*pi;
xn=5*cos(t)+0.95*randn(1length(t));?
N=length(xn);
figure
plot(xn)
xlabel(‘采樣點數‘);ylabel(‘幅值/m‘);
%?title(‘含噪正弦信號‘);
axis([0N-1010]);
lev=5;
yn=wden(xn‘rigrsure‘‘h‘‘one‘lev‘db5‘);?%?硬閾值?[XDCXDLXD]=wden(XTPTRSORHSCALN‘wname‘)N為小波分解的層數
%函數wden用于一維信號的自動消噪。X為原始信號,[CL]為信號的小波分解,N為小波分解的層數。*TPTR=‘rigrsure‘,自適應閾值選擇使用Stein的無偏風險估計原理。
%SORH是軟閾值或硬閾值的選擇(分別對應‘s‘和‘h‘)。XD為消噪后的信號,[CXDLXD]為消噪后信號的小波分解結構。SCAL指所使用的閾值是否需要重新調整,*SCAL=‘one‘??不調整;
figure
plot(1:Nyn)
xlabel(‘采樣點數‘);ylabel(‘幅值/m‘);
%?title(‘a.硬閾值處理‘);
axis([0N-1010]);
yn2=wden(xn‘rigrsure‘‘s‘‘one‘lev‘db5‘);?%?軟閾值
figure
plot(1:Nyn2)
xlabel(‘采樣點數‘);ylabel(‘幅值/m‘);
%?title(‘b.軟閾值處理‘);
axis([0N-1010]);
wname=‘sym5‘;
[cl]=wavedec(xn5wname);%使用小波基函數?‘wname‘?對一維信號?X?進行?N?層分解。N必須是正整數
sigma=wnoisest(cl1);%估計一維小波的系數的標準偏差?%
Thr=sigma*sqrt(2*log(N));
car5=wrcoef(‘a‘clwname5);%對一維信號的分解結構[cl]用指定的小波函數進行重構,當‘type=a‘?時對信號的低頻部分進行重構,此時N可以為0.
yn=car5;
yn2=car5;
yn3=car5;
yn_thr=car5;
for?j=1:5
????cdr=wrcoef(‘d‘clwnamej);???%當‘type=d‘時,對信號的高頻部分進行重構,此時N為正整數。???
????cdr3=yasser(cdrThr);??%?Yasser降噪
????yn3=yn3+cdr3;
end
figure
plot(1:Nyn3)
xlabel(‘采樣點數‘);ylabel(‘幅值/m‘);
%?title(‘c.Yasser閾值處理‘);
axis([0N-1010]);
for?j=1:5
????cdr=wrcoef(‘d‘clwnamej);??????
????cdr_thr=wthr(cdrThr);??%?改進閾值降噪
????yn_thr=yn_thr+cdr_thr;
end
figure
plot(1:Nyn_thr)
%?title(‘d.改進閾值處理‘);
xlabel(‘采樣點數‘);ylabel(‘幅值/m‘);
axis([0N-1010]);
%?參數計算
yy?=?[yn;yn2;yn3;yn_thr];
for?j=1:4
????sum=0;sum1=0;sum2=0;
????for?k=1:N
????????sum=sum+xn(k)^2;
????????sum1=sum1+(xn(k)-yy(jk))^2;
????????sum2=sum2+yy(jk)^2;
????end
????rm=sqrt(sum1/N);
????snr=10*log10(sum/sum1);
????per=sqrt(sum2/N)/sqrt(sum/N);
????fprintf(‘程序結束:\n?RMSE?is?%fSNR?is?%fPER?is?%f.\n‘rmsnrper);
end
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件???????2195??2016-03-07?16:30??小波去噪\denoise.asv
?????文件???????2195??2016-03-07?16:30??小波去噪\denoise.m
?????文件????????262??2015-12-22?00:48??小波去噪\hardthr.m
?????文件????????283??2015-12-22?00:48??小波去噪\softhr.m
?????文件????????477??2015-12-22?00:48??小波去噪\wthr.m
?????文件????????305??2015-12-22?00:48??小波去噪\yasser.m
?????目錄??????????0??2016-03-14?15:23??小波去噪
-----------?---------??----------?-----??----
?????????????????5717????????????????????7
- 上一篇:mk檢驗matlab程序
- 下一篇:無線傳感器網絡泛洪算法
評論
共有 條評論