版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、基于最小均方误差(MMSE)估计的因果维纳滤波的实现一功能简介 基于最小均方误差(MMSE)估计的因果维纳滤波的Matlab实现,用莱文森-德宾(Levinson-Durbin)算法求解维纳-霍夫方程(Yule-wa1ker)方程,得到滤波器系数,进行维纳滤波。二维纳滤波简介信号处理的实际问题,常常是要解决在噪声中提取信号的问题,因此,我们需要寻找一种所谓有最佳线性过滤特性的滤波器,这种滤波器当信号与噪声同时输入时,在输出端能将信号尽可能精确地重现出来,而噪声却受到最大抑制。维纳(Wiener)滤波就是用来解决这样一类从噪声中提取信号问题的一种过滤(或滤波)方法。一个线性系统,如果它的单位样本
2、响应为h(n),当输入一个随机信号x(n),且其中s(n)表示信号,表示噪声,则输出y(n)为我们希望x(n)通过线性系统h(n)后得到的y(n)尽量接近于s(n),因此称y(n)为s(n)的估计值,用表示,即维纳滤波器的输入输出关系如上图所示。这个线性系统称为对于的一种估计器。如果我们以分别表示信号的真值与估计值,而用e(n)表示它们之间的误差,即显然,e(n)可能是正的,也可能是负的,并且它是一个随机变量。因此,用它的均方值来表达误差是合理的,所谓均方误差最小即它的平方的统计平均值最小:最小已知希望输出为:误差为:均方误差为:上式对求导得到:进一步得:从而有:于是就得到N个线性方程:写成矩
3、阵形式为:简化形式:其中:是滤波器的系数是互相关序列是自相关矩阵由上可见,设计维纳滤波器的过程就是寻求在最小均方误差下滤波器的单位脉冲响应或传递函数的表达式,其实质就是解维纳霍夫(WienerHopf)方程。另外,设计维纳滤波器要求已知信号与噪声的相关函数。三程序求解过程由上述可见,本程序实现的关键是在已知输入信号的自相关函数和输入信号和理想输出信号的互相关函数的情况下,求解维纳霍夫(WienerHopf)方程,从而得到滤波器系数,再进行维纳滤波。求解步骤:1. 初始化值2. 对于,进行如下计算:3滤波器系数为:4利用上面的得到的滤波器对输入信号进行维纳滤波,得到输出信号。四函数说明函数使用方
4、法:y=wienerfilter(x,Rxx,Rxd,M)参数说明:x是输入信号,Rxx是输入信号的自相关向量,Rxd是输入信号和理想信号的的互相关向量,M是维纳滤波器的长度,输出y是输入信号通过维纳滤波器进行维纳滤波后的输出。具体程序见Matlab的.m文件。五程序示例加载Matlab中的语音数据handel,人为地加入高斯白噪声,分别计算加入噪声后信号的自相关和加入噪声后信号和理想信号的互相关,取滤波器的长度为M=500,将以上参数代入函数中进行维纳滤波,得到输出。程序如下:load handel %加载语音信号d=y; d=d*8; %增强语音信号强度d=d'fq=fft(d,8
5、192); %进行傅立叶变换得到语音信号频频subplot(3,1,1);f=Fs*(0:4095)/8192;plot(f,abs(fq(1:4096); %画出频谱图title('原始语音信号的频域图形');xlabel('频率 f');ylabel('FFT');m,n=size(d);x_noise=randn(1,n); %(0,1)分布的高斯白噪声x=d+x_noise; %加入噪声后的语音信号fq=fft(x,8192); %对加入噪声后的信号进行傅立叶变换,看其频谱变化subplot(3,1,2);plot(f,abs(fq(1:
6、4096); %画出加入噪声后信号的频谱图title('加入噪声后语音信号的频域图形');xlabel('频率 f');ylabel('FFT');yyhxcorr=xcorr(x(1:4096); %求取信号的信号的自相关函数size(yyhxcorr); A=yyhxcorr(4096:4595);yyhdcorr=xcorr(d(1:4096),x(1:4096); %求取信号和理想信号的互相关函数size(yyhdcorr);B=yyhdcorr(4096:4595);M=500;yyhresult=wienerfilter(x,A,B,
7、M); %进行维纳滤波yyhresult=yyhresult(300:8192+299);fq=fft(yyhresult); %对维纳滤波的结果进行傅立叶变换,看其频谱变化subplot(3,1,3); f=Fs*(0:4095)/8192;plot(f,abs(fq(1:4096); %画出维纳滤波后信号的频谱图title('经过维纳滤波后语音信号的频域图形');xlabel('频率 f');ylabel('FFT');求出的频谱图如下所示:由上述结果可见,经过维纳滤波后信号的噪声减弱,信噪比提高。yyhwiener.mload handel
8、 %sound(5*y,Fs) %原始语音信号,Fs=9192 d=y; d=d*8; d=d' fq=fft(d,8192); subplot(3,1,1); f=Fs*(0:4095)/8192; plot(f,abs(fq(1:4096); title('原始语音信号的频域图形'); xlabel('频率 f'); ylabel('FFT'); m,n=size(d); x_noise=randn(1,n); x=d+x_noise; %加入噪声后的语音信号,噪声为(0,1)分布的高斯白噪声 fq=fft(x,8192); subp
9、lot(3,1,2); plot(f,abs(fq(1:4096); title('加入噪声后语音信号的频域图形'); xlabel('频率 f'); ylabel('FFT'); yyhxcorr=xcorr(x(1:4096); size(yyhxcorr); A=yyhxcorr(4096:4595); yyhdcorr=xcorr(d(1:4096),x(1:4096); size(yyhdcorr); B=yyhdcorr(4096:4595); M=500; yyhresult=wienerfilter(x,A,B,M); %用维纳滤
10、波进行去噪 yyhresult=yyhresult(300:8192+299); fq=fft(yyhresult); subplot(3,1,3); f=Fs*(0:4095)/8192; plot(f,abs(fq(1:4096); title('经过维纳滤波后语音信号的频域图形'); xlabel('频率 f'); ylabel('FFT');wienerfilter.mfunction y=wienerfilter(x,Rxx,Rxd,N) %进行维纳滤波 %x是输入信号,Rxx是输入信号的自相关向量 %Rxx是输入信号和理想信号的的互相
11、关向量,N是维纳滤波器的长度 %输出y是输入信号通过维纳滤波器进行维纳滤波后的输出 h=yulewalker(Rxx,Rxd,N);%求解维纳滤波器系数 t=conv(x,h); %进行滤波 Lh=length(h); %得到滤波器的长度 Lx=length(x); %得到输入信号的长度 y=t(double(uint16(Lh/2):Lx+double(uint16(Lh/2)-1);%输出序列y的长度和输入序列x的长度相同 %以下是维纳滤波器系数的求解 function h=yulewalker(A,B,M) %求解Yule-Walker方程 %A是接收信号的自相关向量为 Rxx(0),R
12、xx(1),.,Rxx(M-1) %B是接收信号和没有噪声干扰信号的互相关向量为 Rxd(0),Rxd(1),.,Rxd(M-1) %M是滤波器的长度 %h保存滤波器的系数 %例如A=6,5,4,3,2,1;B=100,90,120,50,80,200;M=6; %求解出h=26.4286 -20.0000 50.0000 -50.0000 -45.0000 81.4286' T1=zeros(1,M);%T1存放中间方程的解向量 T2=zeros(1,M);%T2存放中间方程的解向量 T1(1)=B(1)/A(1); T2(1)=A(2)/A(1); X=zeros(1,M); fo
13、r i=2:M-1 temp1=0; temp2=0; for j=1:i-1 temp1=temp1+A(i-j+1)*T1(j); temp2=temp2+A(i-j+1)*T2(j); end X(i)=(B(i)-temp1)/(A(1)-temp2); for j=1:i-1 X(j)=T1(j)-X(i)*T2(j); end for j=1:i T1(j)=X(j); end temp1=0; temp2=0; for j=1:i-1 temp1=temp1+A(j+1)*T2(j); temp2=temp2+A(j+1)*T2(i-j); end X(1)=(A(i+1)-temp1)/(A(1)-temp2); for j=2:i X(j)=T2(j-1)-X(1)*T2(
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年智能计量终端项目规划申请报告
- 2025年有声阅读项目提案报告模板
- 2025年抗滴虫病药项目立项申请报告模板
- 2025年加气加注设备项目规划申请报告模板
- 2024-2025学年西乡塘区数学三上期末复习检测模拟试题含解析
- 2025年水质分析仪项目立项申请报告
- 2025年印刷品项目立项申请报告
- 2025年工业物联网项目提案报告
- 2025年涂料光亮剂项目立项申请报告模稿
- 2024年矿山槽探工程承包合同版B版
- 汽车标准件手册
- 全球试验室仪器耗材国际品牌简介
- 钢抱箍+工字钢梁在盖梁施工中的应用
- 沥青配合比汇总
- 消防联动调试记录(2)
- 追求“真实、朴实、扎实”的语文课堂
- 工业机器人论文
- UC2845的应用和PWM变压器设计
- 螺杆空压机操作规程完整
- 圆柱螺旋扭转弹簧计算公式EXCEL计算
- 中南大学 信号与系统实验报告
评论
0/150
提交评论