小波分析的语音信号噪声消除方法

上传人:ni****g 文档编号:547771892 上传时间:2023-07-22 格式:DOC 页数:11 大小:272KB
返回 下载 相关 举报
小波分析的语音信号噪声消除方法_第1页
第1页 / 共11页
小波分析的语音信号噪声消除方法_第2页
第2页 / 共11页
小波分析的语音信号噪声消除方法_第3页
第3页 / 共11页
小波分析的语音信号噪声消除方法_第4页
第4页 / 共11页
小波分析的语音信号噪声消除方法_第5页
第5页 / 共11页
点击查看更多>>
资源描述

《小波分析的语音信号噪声消除方法》由会员分享,可在线阅读,更多相关《小波分析的语音信号噪声消除方法(11页珍藏版)》请在金锄头文库上搜索。

1、基于小波分析的语音信号噪声消除方法及MATLAB实现一、实验内容噪声污染是我们生产、生活中普遍存在的问题。在某些环境中,噪声的影响 给人们的生活和工作带来了极大不便,尤其在语音信号处理中,噪声甚至使人们 正常的生活和工作无法进行。因此,消除噪声干扰具有极为重要的研究意义和广 泛的应用前景。小波分析理论是一种新兴的信号处理理论, 它在时间上和频率上都有很好的 局部性,这使得小波分析非常适合于时-频分析,借助时-频局部分析特性,小 波分析理论已经成为信号去噪中的一种重要的工具。利用小波方法去噪,是小波 分析应用于实际的重要方面。小波去噪的关键是如何选择阈值和如何利用阈值来 处理小波系数,通过对小波

2、阈值化去噪的原理介绍,运用MATLAB中的小波工具箱,对一个含噪信号进行阈值去噪, 实例验证理论的实际效果,证实了理论的 可靠性。本文简述了几种小波去噪方法,其中的阈值去噪的方法是一种实现简单、 效果较好的小波去噪方法。实验内容包括:(1)分别利用软阈值法和硬阈值法对含噪信号进行去噪,并进行效果对比。(2)分别使用FFT和小波分析方法对含噪信号进行去噪处理,并进行效果对 比。二、实验原理1. 小波去噪原理分析1.1.小波去噪原理叠加性高斯白噪声是最常见的噪声模型,受到叠加性高斯白噪声“污染”的观测信号可以表示为:y = +0 z i =1 , . n. ,(1.1)其中yi为含噪信号,fi为“

3、纯净”采样信号,z为独立同分布的高斯白噪声 Zi iid n(0,1),二为噪声水平,信号长度为n.为了从含噪信号yi中还原出真实信 号fi,可以利用信号和噪声在小波变换下的不同的特性,通过对小波分解系数进行处理来达到信号和噪声分离的目的。 在实际工程应用中,有用信号通常表现为 低频信号或是一些比较平稳的信号, 而噪声信号则通常表现为高频信号, 所以我 们可以先对含噪信号进行小波分解(如进行三层分解):(1.2)S = CA 1 CD 1=CA 2 CD 2 CD 1=CA 3 亠 CD 1 亠 CD 2 亠 CD 3图1三层小波分解示意图其中cAi为分解的近似部分, 为cD i分解的细节部分

4、,i = 1,2,3 ,则噪声部 分通常包含在cD1,cD 2,cD3中,用门限阈值对小波系数进行处理, 重构信号 即可达到去噪的目的。12小波去噪步骤总结去噪过程,可以分成以下三个步骤:1)对观测数据作小波分解变化:W0 y 二 W0 f ;*W0z(1.3)其中y表示观测数据向量y1, y2,y, f是真实信号向量f1, f2,f,z是高 斯随机向量Z1,Z2,Zn,其中用到了小波分解变换是线性变换的性质。2)对小波系数Wo作门限阈值处理(根据具体情况可以使用软阈值处理或硬阈值 处理,而且可以选择不同的阈值形式, 这将在后面作详细讨论),比如选取最著 名的阈值形式:tn = . .:2lo

5、gn(1.4)门限阈值处理可以表示为耳tn,可以证明当n趋于无穷大时使用阈值公式 对小波系数作软阈值处理可以几乎完全去除观测数据中的噪声。3)对处理过的小波系数作逆变换w 01重构信号:*f 二 Wo tnWod(1.5)即可得到受污染采样信号去噪后的信号。2阈值的选取与量化Don oho-Joh nsto ne、波收缩去噪方法的关键步骤是如何选择阈值和如何进行门限阈值处理,在这将作较为详细的讨论。2.1.软阈值和硬阈值在对小波系数作门限阈值处理操作时,可以使用软阈值处理方法或硬阈值处 理方法,硬阈值处理只保留较大的小波系数并将较小的小波系数置零:w , w tH(W,t) =,Wt( M软阈

6、值处理将较小的小波系数置零但对较大的小波系数向零作了收缩:I Wt , W _ tH (w,t)=0,wct( 2.2)Sw + t, w 兰 t直观形式见图2 (图中取t=1)从图上我们可以看出软阈值处理是一种更为平 滑的形式,在去噪后能产生更为光滑的结果,而硬阈值处理能够更多的保留真实 信号中的尖峰等特征软阈值处理实质上是对小波分解系数作了收缩,从而Do noho-Joh nsto n将这种去噪技术称之为小波收缩。-1 0 1 小波豪数C阀值I日Ed重=1)图2硬阀值和软阀值2.2阈值的几种形式阈值的选取有多种形式,选取规则都是基于含噪信号模型式(1.1)中信号水平为1的情况,对于噪声水平

7、未知或非白噪声的情况可以在去噪时重新调整得到 的阈值。在MATLA中有4种阈值函数形式可以选用:(1) sqtwolog:采用固定的阈值形式,如式(1.4),因为这种阈值形式在软门限阈 值处理中能够得到直观意义上很好的去噪效果。(2) minimaxi采用极大极小原理选择的阈值,和 sqtwolo厂样也是一种固定的阈值,它产生一个最小均方误差的极值,计算公式为:0,n 辽 32t 二(2.3)0.3936+ 0.1 829* l o g2 n(3) rigrsure:采用史坦的无偏似然估计原理进行阈值选择,首先得到一个给定阈 值的风险估计,选择风险最小的阈值 作为最终选择。(4) heursu

8、re选择启发式阈值它是sqtwolog和rigrsure的综合,当信噪比很小时, 估计有很大的噪声,这时heursure采用固定阈值sqtwolog。2.3阀值的选取阈值化处理的关键问题是选择合适的阈值如果阈值(门限)太小,去噪后的信号仍然有噪声存在;相反,如果太大,重要信号特征将被滤掉,引起偏差。从直观 上,对于给定小波系数,噪声越大,阈值就越大。大多数阈值选择过程是针对一组 小波系数,即根据本组小波系数的统计特性,计算出一个阈值。Don oho等提出了一种典型阈值选取方法,从理论上给出并证明阈值与噪声 的方差成正比,其大小为:3.小波消噪的MATLA实现MATLAB中的小波工具包提供了全面

9、的小波变化及其应用的各种功能,其 中小波去噪方面实现Donoho-Johnston等的去噪算法,而且可以选择使用图形界 面操作工具或者去噪函数集合两种形式,图形界面操作工具直观易用,而利用函 数集合可以实现更灵活强大的功能。我们利用小波去噪函数集合在中MATLA作了 一系列实验,充分体会到了小波去噪的强大功能。下面是几个最为常用的小波去噪函数:1) x=wnoise(fun,n):产生Donoho-Johnston计的6种用于测试小波去噪效果的典 型测试数据,函数根据输入参数fun的值输出名为 “blocks”“bump “heavy”“dopple, “quadchir或”“ mishmas

10、I的6种函数数据,数据长度为2n。这6种测试数 据在验证和仿真实验时非常有用。2) xd,cxd,lxd=wden(x,tptr,sorh,scal,level,wname):最主要的一维小波去噪函数。其中输入参数 为输入需要的信号,tptr为2.2节中4种阀值形式,sorh设定为“s”表示用软门限阀值或硬门限阀值处理。2.2节中说过4种阈值形式是基于信号水平为1的高斯白噪声模型推导得到的,当噪声不是白噪声时,必须 在小波分解的不同层次估计噪声水平,scal= “on不进行重新估计,scal= “sln只根据第一层小波分解系数估计噪声水平,scal= “ ml在每个不同的小波分解 层次估计噪声

11、水平,根据sca参数的设定,wden ()函数决定最终应用于每 一个小波分解层次的阀值函数。最后两个参数leve和 wn ame表示利用名为wname的小波对信号分解结构cxd,lxd。还有功能更强大的用于一维或二维小 波去噪或压缩的函数 wdencmp()。3) thr=thselect(x,tptr):去噪阀值选择函数。4) y=wthresh(x,sorh,t):对信号x做阀值为t的门限阀值处理。三、实验步骤1. 小波去噪验证仿真实验信号是由wnoise()函数产生的含标准的高斯白噪声信噪比为3的heavysine信号,用wden()函数进行去噪处理。1) 首先产生一个长度为210点,包

12、含高斯噪声的heavy sine言号 及heavy sine含噪 信号,其噪声标准差为3 ,如图3 a及b所示。2) 利用,sym8?、波对信号分解,在分解的第5层上,利用软阈值法去噪,结果如 图3 c所示3) 同样的条件下 , 利用固定阈值选择算法对信号去噪,结果如图 3 d 所示。 验证仿真程序如下:x=wnoise(3,10);in d=li nspace(0,1,2M0);subplot(4,1,1);plot(x);title(a);x,n oisyx=w noise(3,10,3,2M0);subplot(4,1,2);plot(noisyx);title(b);xd=wden(x

13、,rigrsure,s,sln,5,sym8);subplot(4,1,3);plot(xd);title(c)xd=wden(x,sqtwolog,h,sln,5,sym8);subplot(4,1,4);plot(xd);title(d);2. 小波去噪与FFT去噪效果对比选择MATLAB6.5中含有噪声的仿真信号noisbloc作为原始信号,分别使用FFT和小波分析方法对信号进行去噪处理,采用的小波是sym8,分解层数为5,对比结果如图 4所示。验证仿真程序如下:load noisbloc; x=noisbloc;subplot(2,2,1); plot(x);title(a) xd=w

14、den(x,rigrsure,s,sln,5,sym8);subplot(2,2,2); plot(xd);title(b)p1=1/le ngth(x)* norm(xF2;p2=1/le ngth(x)* norm(x-xdF2; snr1=10*log(p1/p2)RMSE1=sqrtm(p2) xd=wden(x,sqtwolog,h,sln,5,sym8);subplot(2,2,3); plot(xd);title(c)p1=1/le ngth(x)* norm(xF2;p2=1/le ngth(x)* norm(x-xdF2; snr2=10*log(p1/p2)RMSE2=sq

15、rtm(p2)wc=0.3;N=5;b,a=butter(N,wc); xd=filter(b,a,x);subplot(2,2,4);plot(xd);title(d);p1=1/le ngth(x)* norm(xF2;p2=1/le ngth(x)* norm(x-xdF2; snr3=10*log(p1/p2)RMSE3=sqrtm(p2)四、实验结论(a)为原始信号(b)为含噪信号(c)为软阀值去噪信号(d)为硬阀值去噪信号通过对图3的分析,可以看出对原 始信号添加噪声后得到 含噪信号,利用 MATLAB中的小波工具箱对含噪信号分别进行软阈值化和硬阈值化去噪处理,得出的去噪结果与原始信号效果非常接近 ,由此可以看出利用MATLAB中的 小波变换工具箱对信号进行去噪处理是非常理想的 。由图4可以看出,利用小波分析去噪的结果明显优于 Fourier变换,这是由于 Fourier变换只能在频域范围内表述,对系

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

当前位置:首页 > 办公文档 > 解决方案

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