小波分析在信号去噪中的应用(最新整理)

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

小波分析在信号去噪中的应用

摘要:利用小波方法去噪,是小波分析应用于实际的重要方面。小波去噪的关键是如何选择阈值和如何利用阈值来处理小波系数,通过对几种去噪方法不同阀值的选取比对分析和基于MATLAB 信号去噪的仿真试验,比较各种阀值选取队去噪效果的影响。

关键词:小波去噪;阀值;MATLAB 工具

1、 小波去噪模型的建立

如果一个信号被噪声污染后为,那么基本的噪声模型就可以表示为()f n ()s n ()()()

s n f n e n σ=+式中:为噪声;为噪声强度。最简单的情况下为高斯白噪声,且=1。()e n σ()e n σ小波变换就是要抑制以恢复,从而达到去除噪声的目的。从统计学的()e n ()f n 观点看,这个模型是一个随时间推移的回归模型,也可以看作是在正交基上对函数无参估计。小波去噪通常通过以下3个步骤予以实现:

()f n a)小波分解;

b)设定各层细节的阈值,对得到的小波系数进行阈值处理;

c)小波逆变换重构信号。

小波去噪的结果取决于以下2点:

a)去噪后的信号应该和原信号有同等的光滑性;

b)信号经处理后与原信号的均方根误差越小,信噪比越大,效果越好。

如何选择阈值和如何利用阈值来量化小波系数,将直接影响到小波去噪结果。

2、小波系数的阈值处理

2.1由原始信号确定阈值

小波变换中,对各层系数降噪所需的阈值一般是根据原信号的信噪比来决定的。在模型里用这个量来表示,可以使用MATLAB 中的wnoisest 函数计算得到σσ值,得到信号的噪声强度后,根据下式来确定各层的阈值。

thr =式中n 为信号的长度。

2.2基于样本估计的阈值选取

1)无偏似然估计(rigrsure):是一种基于Stein 无偏似然估计原理的自适应阈值选择。对于给定的阈值T ,得到它的似然估计,再将似然T 最小化,就得到了所选的阈值,这是一种软件阈值估计。

2)阈值原则(sqtwlolg):固定阈值T 的计算公式为。

3)启发式阈值原则(heursure):是无偏似然估计和固定阈值估计原则的折

中。如果信噪比很小,按无偏似然估计原则处理的信号噪声较大,在这种情况下,就采用固定阈值形式。

4)极值阈值原则(minimax):采用极大极小值原理选择阈值,它产生一个最小均方误差的极值,而不是没有误差。统计学上,这种极值原理用来设计估计器。因为被消噪的信号可以看作与未知回归函数的估计器相似,这种极值估计器可在给定的函数中实现最大均方误差最小化。

2.3软阈值和硬阈值

在确定阈值后,可以采用硬阈值或软阈值的处理方法对小波系数做阈值处理。硬阈值法只保留大于阈值的小波系数并将其他的小波系数置零,其表达式如下:

软阈值法将小于阈值的小波系数置零,并把大于阈值的小波系数向零做收缩,其表达式如下:

3 、小波去噪的MATLAB 仿真对比试验

给定函数作为原始信号,然后加一组随机噪声,然后分别cos(10)x f e x -=选取不同阀值对信号用小波以为信号的自动消噪进行去噪处理。采用的小波为sym8,分解层数为5,小波函数为wden 。结果如图一所示

图一 不同阀值系数软阀值去噪效果图

由图一可大致看出去噪效果对比heusure 和minimaxi 阀值的去噪效果较好,sqtwolo 阀值降噪效果相对较差。而rigrsure 看不出明显差别。

图二 不同阀值系数硬阀值去噪效果图

图二可看出,对硬阀值去噪minimaxi 阀值的效果最差。

为了精确的表示去噪效果,可与计算去噪后的信噪比()和均方根误差(SN R )。计算公式如下:RMSE 2()10log [()()]n SN n x n R x n x n ⎡⎤⎢⎥=⎢⎥'-⎢⎥⎣⎦

∑∑

RMSE =

信号的信噪比越高,原始信号和去噪信号的均方根误差越小,去噪信号就越接近原信号,去噪的效果也就越好。表一给出了各种阀值选取得信噪比和均方根误差的比较。

表一 几种阀值软阀值去噪后的和SN R RMSE heusure

rigrsure sqtwolog minimaxi (均方

RMSE 根误差)0.21720.1499

0.09420.0739(信噪比)

SN R 2.5758 5.79799.831611.93944、结论

本文对基于小波分析的去噪方法进行了研究,指出小波去噪阀值的选取对去噪效果的影响,并利用MATLAB 的小波分析工具箱进行了仿真试验,试验表明利用

小波分析方法可以达到良好的去噪效果,并且minimaxi阀值的去噪效果最好。

参考文献:

[1] 胡昌华李国华基于MATLAB 6.0的系统分析与设计——小波分析西安电子科技大学出版社

[2] 吴伟,蔡培升基于MATLAB的小波去噪仿真(西安石油大学机械工程学院,陕西西安710065)

附:

Matlab程序

clear

clc

x=0:0.01:3;

f=exp(-x).*cos(10*x);%原始信号函数

subplot(3,2,1);

plot(f);title('原始信号图形');%画出原始信号图形

noise=0.2*randn(size(f));

f1=f+noise; %噪声信号

subplot(322)

plot(f1); title('加噪后语音图像')

lev=5;

%对f1用sym8小波分解到第五层,并对高频系数用heusure硬阀值

xd=wden(f1,'heursure','h','one',lev,'sym8');

subplot(323)

plot(xd); title('用heusure硬阀值去噪后图像')

D=f-xd;

MSE=sqrt(sum(D(:).*D(:))/prod(size(f))) %均方根误差

PSNR=10*log10(sum(f(:).*f(:))/sum(D(:).*D(:))) %信噪比

%用rigrsure阀值对信号的标准差单车估计,并降噪

xd1=wden(f1,'rigrsure','h','one',lev,'sym8');

subplot(324)

plot(xd1); title('用rigrsure硬阀值去噪后图像')

D1=f-xd1;

MSE1=sqrt(sum(D1(:).*D1(:))/prod(size(f))) %均方根

PSNR1=10*log10(sum(f(:).*f(:))/sum(D1(:).*D1(:)))%信噪比

%用sqtwolog阀值对信号的标准差单车估计,并降噪

xd2=wden(f1,'sqtwolog','h','sln',lev,'sym8');

subplot(325)

plot(xd2); title('用sqtwolog硬阀值去噪后图像')

D2=f-xd2;

MSE2=sqrt(sum(D2(:).*D2(:))/prod(size(f))) %均方根

相关文档
最新文档