《信号阈值去噪实例》由会员分享,可在线阅读,更多相关《信号阈值去噪实例(5页珍藏版)》请在金锄头文库上搜索。
1、信号阈值去噪实例小波、小波包、MATLAB2009-08-0509:52:58阅读76评论0字号:大中小一般来说,信号去噪的基本步骤主要包括如下三步:(1)信号的小波分解;(2)小波分解高频系数的阈值量化;3)信号的小波重构。使用分解的低频系数以及阈值量化后的高频系数进行小波重构。例1:信号阈值去噪一程序daimaru代码如下:loadleleccum;indx=1:1024;x=leleccum(indx);%产生噪声信号init=2055615866;randn(seed,init);nx=x+18*randn(size(x);%获取消噪的阈值thr,sorh,keepapp=ddencm
2、p(den,wv,nx);%对信号进行消噪xd=wdencmp(gbl,nx,db4,2,thr,sorh,keepapp);subplot(221);plot(x);title(原始信号);subplot(222);plot(nx);title(含噪信号);subplot(223);plot(xd);title(消噪后的信号);例2:信号阈值去噪二在本例中,首先使用函数wnoiset获取噪声方差,然后使用函数wbmpen获取小波去噪阈值,最后使用函数wdencmp实现信号消噪。程序代码如下:loadleleccum;indx=1:1024;x=leleccum(indx);%产生含噪信号in
3、it=2055615866;randn(seed,init);nx=x+18*randn(size(x);%使用小波函数db6对信号进行3层分解c,l=wavedec(nx,3,db6);%估计尺度1的噪声标准差sigma=wnoiset(c,l,1);alpha=2;%获取消噪过程中的阈值thr=wbmpen(c,l,sigma,alpha);keepapp=1;%对信号进行消噪xd=wdencmp(gbl,c,l,db6,3,thr,s,keepapp);subplot(221);plot(x);title(原始信号);subplot(222);plot(nx);title(含噪信号);s
4、ubplot(223);plot(xd);title(消噪后的信号);例3:信号阈值去噪三在本例中,对小波分解系数使用函数wthcoef进行阈值处理,然后利用阈值处理后的小波系数进行重构达到去噪目的。程序代码如下:loadleleccum;indx=1:1024;x=leleccum(indx);%产生含噪信号init=2055615866;randn(seed,init);nx=x+18*randn(size(x);%使用小波函数db5对信号进行3层分解c,l=wavedec(nx,3,db5);%设置尺度向量n=1,2,3;%设置阈值向量p=120,110,100;%对高频系数进行阈值处理
5、nc=wthcoef(d,c,l,n,p);%对修正后的小波分解结构进行重构rx=waverec(nc,l,db5);subplot(221);plot(x);title(原始信号);subplot(222);plot(nx);title(含噪信号);subplot(223);plot(rx);title(消噪后的信号);例4:信号阈值去噪四在本例中,使用一维信号的自动消噪函数wden对信号进行消噪。程序代码如下:loadleleccum;indx=1:1024;x=leleccum(indx);%产生含噪信号init=2055615866;randn(seed,init);nx=x+18*randn(size(x);%将信号nx使用小波函数sym5分解到第5层%使用minimaxi阈值选择对系数进行处理,消除噪声信号lev=5;xd=wden(nx,minimaxi,s,mln,lev,sym5);subplot(221);plot(x);title(原始信号);subplot(222);plot(nx);title(含噪信号);subplot(223);plot(xd);title(消噪后的信号);