《基于维纳滤波的含噪声语音信号的恢复.docx》由会员分享,可在线阅读,更多相关《基于维纳滤波的含噪声语音信号的恢复.docx(4页珍藏版)》请在第壹文秘上搜索。
1、基于维纳滤波的含噪声语音信号的恢复摘要本文基于随机信号分析与处理的相关理论,采用维纳滤波技术恢复噪声中的鸟鸣声信号,通过仿真到达预期效果,对工程实践有很好的理论支持。关键词:维纳滤波器频域法实验目的1 .熟悉维纳滤波的根本概念2 .熟悉线性最小均方估计的根本原理3 .掌握运用维纳滤波理论恢复信号的根本方法实验原理信号从发送者传送到接受者往往受到集中形式的变形而削弱,维纳滤波是一种从接收的原始信号中恢复信号的方法。由于但时域方法要求协方差矩阵的逆,当数据比拟长的时候,求逆的运算量非常大,我们在这里采用频域法来求解。维纳滤波器作为波形估计的一种方法,可以采用多种估计准那么。假定离散时间的观测过程为
2、其中贝)为噪声,5()为原信号,%为起始观测时刻,为观测结束时刻。在实际中通常采用易于实现的线性最小均方准那么。线性最小均方估计是观测的线性函数,它可以作为观测序列通过离散时间线性系统,即滤波器的系数的选择可以由线性最小均方估计的正交原理来求取,即即上式也称为Wiener-HOPf方程。对于信号和观测过程是平稳随机序列,并且是联合平稳随机序列,系统为因果的线性时不变离散时间线性系统,4)=-8,那么有求解维纳滤波器即求系数力(/?)的过程。将上式两边做Z变换,得Gy(Z)=(z)G(Z)所以,H(Z)称为维纳滤波器。当信号S(八)与观测噪声统计独立时,维纳滤波器为其中,G,(Z)为噪声的功率谱
3、,维纳滤波器用离散傅里叶变换可表示为实验步骤维纳滤波既可以采用频域方法实现,也可以采用时域方法实现,但时域方法要求协方差矩阵的逆,当数据比拟长的时候,求逆的运算量非常大。本实验给定信号为ChirP信号(鸟叫声),数据文件为ChirP.mat(可以从MATLAB中找到),可以用load(chip,Fs,y)调入数据文件。用始于发实现维纳滤波的步骤如下:1)产生信号s()和观测z(),信号为ChirP信号(鸟叫声),观测为信号叠加上高斯白噪声:2)估计&和&$3)计算=R-R;4)计算估计的信号频域法实现维纳滤波的步骤如下:1)产生信号s()和观测z(),信号为ChirP信号(鸟叫声),观测为信号
4、叠加上高斯白噪声:2)估计信号s()和z()的功率谱,计算维纳滤波的传递函数:3)计算输入z(f)和输出信号y)的频谱,并对输出信号求烦变化得到时域的输出信号。实验中用到的MATLAB函数有:1)装入数据文件:Load;2)傅立叶变换与反变换:fftn,ifftn;3)谱估计:periodogra(周期图谱估计),pburg(最大燃谱估计),welchwelch谱估计L4)互相关计算:xcorr,结果仿真运用MATLAB进行仿真:仿真程序如下:clear;load(,chirprFst,y);p=audioplayer(y,FS);play(p);subplot(2,1,1);plot(y);
5、title(原始信号)Py=fftn(y);subplot(2,1,2);plot(abs(Py);title(,原始信号频谱,)舍原始信号时域图、频域图及信号的播放pause();N=Iength(y);Sigma=O.1IW控制噪声强度=zerS(NfI);v=randn(N,1)*sigma;H产生噪声z=yv;q=audioplayer(z,Fs);play(q);figure();subplot(2,1,1);plot();title观测信号)Pz=fftn();subplot(2,1,2);plot(abs(Pz);titled观测信号的频谱,)吉观测信号时域图、频域图及信号的播放
6、pause();Rz=xcorr(z);Gz=fft(RW,N);Rsz=xcorr(z,y);G$z=fft(Rsz,N);H=Gsz./Gz;吉维纳滤波器的传递函数S=H.*Py;figure;plot(abs(三);title();ss=real(ifft(三);%原始信号的估计ss=ss(1:N);figure;plot(ss);titler恢复出的原始信号,);d=audioplayer(ss,Fs);play(d);1恢复信号时域图、频域图及信号的播放仿真结果:通过观察频谱图和识别声音可以发现,经维纳滤波器后,鸟鸣声可以较好的恢复出来。下面我们改变噪声的强度,再次进行上面的实验。实
7、验中我们是通过改变Sigma的值来改变噪声强度的,上面的实验我们取Sigma=0.1,下面我们增大Sigma的值。Sigma=O.5:Sigma=I:可见,随着噪声强度的增大,检测效果变差,如上图所示,当sigma=l时,虽然可以根本上观察到输出信号与原始信号的相似之处,但是,从识别声音的角度来看,己经快分辨不出鸟鸣的声音了,这是因为噪声强度过大,滤波器在滤掉噪声的同时,也滤掉局部信号。结果分析课本上给出了两种设计维纳滤波器的方法,一个是时域法,一个是频域法,在实验过程中,我们也尝试着用时域法进行仿真,但是由于涉及到求逆,对于鸟鸣声有13129个数据的话,运算量是非常大的。通过上面的仿真可以看出,随着噪声越大,信号衰减越大,对于信噪比不高的情况滤波效果不理想。因此,我们提出改良方案,可以在滤波之前做降噪处理(低噪放大),提高信噪比,再通过维纳滤波恢复原始信号。参考文献11罗鹏匕,张文明.随机信号分析与处理M.北京:清华大学出版社,2006.