1、医学信号处理课程,八组汇报展示,利用维纳滤波恢复含噪声的语音信号,报告人:报告人:报告人:报告人:报告人:,提出问题背景,01,1.1 问题背景,语音信号:谈话内容噪声:背景音乐观测:掺杂着音乐的谈话内容,1.2 研究问题分析,声音信号为平稳随机信号,从混杂背景音乐的声音中提取组员谈话信号,寻找一种最佳线性滤波器,选择合适的滤波器,02,2.1 选择合适滤波器,维纳滤波和卡尔曼滤波就是用来解决这样一类问题的方法:从噪声中提取出有用的信号。,维纳滤波:最佳线性滤波器,卡尔曼滤波:线性最优滤波器,2.2 维纳滤波,思想:我们希望输出得到的信号与有用信号s(n)尽量接近,因此称为s(n)的估计值,用
2、s(n)来表示,我们就有了维纳滤波器的系统框图,如图所示这个系统的单位脉冲响应也称为对于s(n)的一种估计器。,维纳滤波器的输入输出关系,2.2 维纳滤波,要求已知信号与噪声的相关函数,在最小均方误差准则下寻求滤波器的单位脉冲响应h(n)或传递函数的表达式,其实质就是解维纳霍夫(WienerHopf)方程,维纳滤波只适用于平稳随机过程,维纳滤波器的Matlab仿真,03,3 维纳滤波器的Matlab仿真,N=length(a);load(weina.mat)noise=y(1:size(a,1),:);z=noise+a;q=audioplayer(z,Fs);play(q);figure()
3、;subplot(2,1,1);plot(z);title(观测信号)Pz=fftn(z);subplot(2,1,2);plot(abs(Pz);title(观测信号的频谱) %观测信号时域图、频域图及信号的播放,3 维纳滤波器的Matlab仿真,Rz=xcorr(z);Gz=fft(Rz,N); Rsz=xcorr(z,a);Gsz=fft(Rsz,N);H=Gsz./Gz; %维纳滤波器的传递函数S=H.*Py;figure();subplot(2,1,1);plot(abs(S);title(恢复出的信号频谱);ss=real(ifft(S); %原始信号的估计ss=ss(1:N); subplot(2,1,2);plot(ss);title(恢复出的原始信号);,3 维纳滤波器的Matlab仿真,3 维纳滤波器的Matlab仿真,3 滤波效果,01,原始信号,02,恢复信号,总结,04,4 总结,维纳滤波器可以较好地实现从噪声中提取有用信号的功能,随着噪声强度的增大,滤波效果变差,频域法实现维纳滤波,感谢聆听,THANK YOU,八组汇报展示,报告人:,5 分工附录,:PPT制作、展示、资料文献、程序辅助,:主要程序、资料文献、展示、PPT辅助,:报告撰写、资料文献、展示、程序辅助,:报告撰写、资料文献、展示、程序辅助,:报告撰写、资料文献、展示,