基于小波变换的信号降噪研究及matlab仿真程序

上传人:飞*** 文档编号:24846888 上传时间:2017-12-07 格式:DOC 页数:6 大小:330KB
返回 下载 相关 举报
基于小波变换的信号降噪研究及matlab仿真程序_第1页
第1页 / 共6页
基于小波变换的信号降噪研究及matlab仿真程序_第2页
第2页 / 共6页
基于小波变换的信号降噪研究及matlab仿真程序_第3页
第3页 / 共6页
基于小波变换的信号降噪研究及matlab仿真程序_第4页
第4页 / 共6页
基于小波变换的信号降噪研究及matlab仿真程序_第5页
第5页 / 共6页
点击查看更多>>
资源描述

《基于小波变换的信号降噪研究及matlab仿真程序》由会员分享,可在线阅读,更多相关《基于小波变换的信号降噪研究及matlab仿真程序(6页珍藏版)》请在金锄头文库上搜索。

1、基于小波变换的信号降噪研究及 matlab 仿真程序2 小波分析基本理论设 (t) L 2( R) ( L 2( R) 表示平方可积的实数空间,即能量有限的信号空间) , 其傅立叶变换为 (t)。当 (t)满足条件 4,7:(1) 2RtdwC时,我们称 (t)为一个基本小波或母小波,将母小波函数 (t)经伸缩和平移后,就可以得到一个小波序列:(2),1()()abtbta,0Ra其中 a 为伸缩因子,b 为平移因子。对于任意的函数 f(t)L 2( R)的连续小波变换为:(3),1,)()f abRtbWffda其逆变换为:(4)21()(,)fRtft bCa小波变换的时频窗是可以由伸缩因

2、子 a 和平移因子 b 来调节的,平移因子 b,可以改变窗口在相平面时间轴上的位置,而伸缩因子 b 的大小不仅能影响窗口在频率轴上的位置,还能改变窗口的形状。小波变换对不同的频率在时域上的取样步长是可调节的,在低频时,小波变换的时间分辨率较低,频率分辨率较高:在高频时,小波变换的时间分辨率较高,而频率分辨率较低。使用小波变换处理信号时,首先选取适当的小波函数对信号进行分解,其次对分解出的参数进行阈值处理,选取合适的阈值进行分析,最后利用处理后的参数进行逆小波变换,对信号进行重构。3 小波降噪的原理和方法3.1 小波降噪原理从信号学的角度看 ,小波去噪是一个信号滤波的问题。尽管在很大程度上小波去

3、噪可以看成是低通滤波 ,但由于在去噪后 ,还能成功地保留信号特征 ,所以在这一点上又优于传统的低通滤波器。由此可见 ,小波去噪实际上是特征提取和低通滤波的综合 ,其流程框图如图所示 6:特征提取 低通滤波特征信号重建信号小波分析的重要应用之一就是用于信号消噪 ,一个含噪的一维信号模型可表示为如下形式:带噪信号 k=0.1.n-1(k)()Sfek其中 ,f( k)为有用信号,s(k)为含噪声信号,e(k)为噪声, 为噪声系数的标准偏差。假设 e(k)为高斯白噪声,通常情况下有用信号表现为低频部分或是一些比较平稳的信号,而噪声信号则表现为高频的信号,下面对 s(k)信号进行如图结构的小波分解,则

4、噪声部分通常包含在 Cd1、Cd2、Cd3 中,只要对 Cd1,Cd2,Cd3 作相应的小波系数处理,然后对信号进行重构即可以达到消噪的目的。SCa1 Cd1Ca1 Cd1Ca1 Cd13.2 降噪方法一般来说, 一维信号的降噪过程可以分为 3 个步骤进行 5,6:1)一维信号的小波分解,选择一个小波并确定一个小波分解的层次 N,然后对信号进行 N 层小波分解计算。2) 小波分解高频系数的阈值量化,对第 1 层到第 N 层的每一层高频系数, 选择一个阈值进行软阈值量化处理 3) 一维小波的重构。根据小波分解的第 N 层的低频系数和经过量化处理后的第 1 层到第 N 层的高频系数,进行一维信号的

5、小波重构。在这 3 个步骤中,最核心的就是如何选取阈值并对阈值进行量化,在某种程度上它关系到信号降噪的质量在小波变换中,对各层系数所需的阈值一般根据原始信号的信号噪声比来选取,也即通过小波各层分解系数的标准差来求取,在得到信号噪声强度后,可以确定各层的阈值。这里着重讨论了信号在两种不同小波恢复后信号质量的不同和对信号中的信号与噪声进行分离。4仿真实验本文采用 Mtalab 本身程序提供的 noissin 信号函数及初设原始信号 f(x)为例进行Matlab 分析 1,3,其中: ()sin0.3)fxte = noissin + 0.5*randn(size(e1);首先对 noissin 函

6、数上叠加上随机噪声信号得到 e,分别对比采用 db10 小波和 sym8 小波对信号 e 进行 5 层分解,并且细节系数选用 minimaxi 阈值模式和尺度噪声(db10)以及选用 sure 阈值模式和尺度噪声(sym8)。在进行噪声消除后,还对原信号进行进一步分析,将原始信号和噪声信号分离开来,仿真结果如图所示:图 1图 2图 3图 1-1 为原始信号图形,1-2 为叠加随机噪声后的图形,而 1-3 和 1-4 为利用 db10 和sym8 小波默认阈值降噪后的信号图形。从图 1-3 和 1-4 可以看出利用 db10 和 sym8 小波降噪后的信号基本上恢复了原始信号,去噪效果明显。但是

7、滤波后的信号与原始信号也有不同,从图中可以很直观地看到采用阈值消噪后信号特征值较少无法准确还原原始信号 这是由于为降噪过程中所用的分析小波和细节系数的阈值不恰当所致,如需要更好的恢复信号,还可以采用其它种类小波对其进行分析,通过选取不同的阈值,分析结果,得到一个合适的阈值。从图 2 和图 3 中看出,在经过用 db10 对信号进行 5 层分解,然后分别对分解的第 5 层到第 1 层的低频系数和高频系数进行重构。可以得出其主要基波函数和高频噪声函数的图形,其中小分波分解的细节信号是有白噪声分解得到的,而正弦信号可以在图 2 中的近似信号 a5 得到。因为在这一层的影响已经可以忽略了,所以获得的信

8、号就是初始信号的波形,从而把淹没在噪声中的有用信号有效地分离出来。5 总结小波变换对平稳信号的去噪声,要比传统的滤波去噪声得到的效果好用小波变换进行信号降噪处理, 既降低了噪声同时又提高了信噪比,这说明小波降噪方法是切实可行的方案, 但是由于小波函数很多,采用不同的小波进行分解, 得到的结果可能相差很大, 而变换前并不能预知哪一种小波降噪效果更好,需反复试验比较才能得到良好的效果,这也是小波变换的困难之处之一。另外信号降噪过程中阀值的选取是十分重要的。本文利用两个小波( sym8 ,db 10 )以及将信号中的信噪分离开来,更加直观可行,通过分别进行信号降噪处理对所得结果与原始信号进行比较可以

9、得出 Sym8 小波以及默认阈值处理后的重构信号与原始信号最为接近,与分离的结果相同。 小波分析是一种信号的视频分析方法,它具有多分辨率分析的特点 ,很适合探测正常信号中夹带的瞬态反常现象并展示其成分,有效区分信号中的突变部分和噪声。通过 MATLAB编制程序进行给定信号的噪声抑制和非平稳信号的噪声消除实验表明:基于小波分析的消噪方法是一种提取有用信号、展示噪声和突变信号的优越方法 ,具有广阔的实用价值。在这个越来月信息化的社会中,基于小波分析的应用前景必将越来越广泛。参考文献1徐明远,邵玉斌.MATALAB 仿真在通信与电子工程中的应用M.西安:西安电子科技大学出版社,2010.2张志涌,杨

10、祖樱等编著.MATLAB 教程(R2006a-R2007a)M.北京:北京航空航天出版社,2006.3张德丰.详解 MATLAB 数字信号处理M北京:电子工业出版社,2010.4杨建国.小波分析及其工程应用M北京:机械工业出版社,2005.5冯毅,王香华.小波变换降噪处理及其 MATLAB 实现J.数字采集与处理,2006,,21(12):37-39.6禹海兰,李天云.基于小波理论的噪声信号分析J.东北电力学院学报.1997.17(3):36-40.7潘泉,张磊,孟晋丽,张洪才著,小波滤波方法及应用M.北京:清华大学出版社,2005.附仿真源码如下:N=1000;t=1:1000;f=sin(

11、0.03*t);load noissin;e1=noissin;init=2055615866; randn(seed,init); e = e1 + 0.5*randn(size(e1);subplot(2,2,1);plot(t,f);xlabel(1 样本序列);ylabel(原始信号幅值 );grid ;subplot(2,2,2); plot(e) ;xlabel(2 测试样本序列 ) ; ylabel(含有已加噪声的信号幅值) ; grid ;s1=wden(e,minimaxi,s,one,5,db12); subplot(2,2,3); plot(s1); xlabel(3 d

12、b10降噪后信号 ) ; ylabel (db10小波降噪后的信号幅值); grid; s2=wden(e,heursure,s,one,5,sym8); subplot(2,2,4); plot(s2);xlabel(4 sym降噪后信号); ylabel(sym8小波降噪后的信号幅值); grid; figure; subplot(6,1,1);plot(e);ylabel(e);C,L=wavedec(e,5,db10);for i=1:5a=wrcoef(a,C,L,db10,6-i);subplot(6,1,i+1); plot(a);ylabel(a,num2str(6-i);endfigure;subplot(6,1,1);plot(e);ylabel(e);for i=1:5d=wrcoef(d,C,L,db10,6-i);subplot(6,1,i+1);plot(d);ylabel(d,num2str(6-i);end

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号