信号阈值去噪实例小波、小波包、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]=ddencmp('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);%产生含噪信号init=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,alph