您好,欢迎访问三七文档
一、实验题目维纳滤波器的设计(结维纳霍夫方程,最小的均方误差)维纳-霍夫方程矩阵形式已知期望信号与观测数据的互相关函数及观测数据的自相关函数二、实验要求:设计一维纳滤波器。(1)产生三组观测数据,首先根据()(1)()snasnwn产生信号()sn,将其加噪(信噪比分别为20,10,6dBdBdB),得到观测数据123(),(),()xnxnxn。(2)估计()ixn,1,2,3i的AR模型参数。X(n)=w(n)+…+bw(n-q)假设信号长度为L,AR模型阶数为N,分析实验结果,并讨论改变L,N对实验结果的影响。三、实验原理:维纳滤波器设计的任务就是选择hn,使其输出信号yn与期望信号dn误差的均方值最小,实质是解维纳-霍夫方程。假设滤波系统是一个线性时不变系统,它的hn和输入信号都是复函数,设hnanjbnn=0,1,…考虑系统的因果性,可得到滤波器的输出0ynhnxnhmxnmmn=0,1,…设期望信号d(n),误差信号en及其均方误差2Een分别为endnynsnyn2220EenEdnynEdnhmxnmm要使均方误差为最小,需满足:1xxxdhRR20Eenhj由上式可以推导得到0Exnjen上式说明,均方误差达到最小值的充要条件是误差信号与任一进入估计的输入信号正交,这就是正交性原理。将0Exnjen展开,得0dxxxmrkhmrnmk=0,1,…对两边取共轭,并利用相关函数的性质yxxyrkrk,得0xxxdxxmkmkmrkrhrhkk=0,1,…此式称为维纳-霍夫(Wiener-Hopf)方程。解此方程可得到最优权系数012,,,hhh…,此式是Wiener滤波器的一般方程,根据权系数是有限个还是无限个可以分别设计IIR型和FIR型Wiener滤波器,本实验中采用的是FIR滤波器。hn是一个长度为M的因果序列(即是一个长度为M的FIR滤波器)时,维纳-霍夫方程表述为10Mxxxdxxmkmkmrkrhrhkk=0,1,…M-1维纳-霍夫方程写成矩阵形式为xdxxRRh即1xdxxhRR此式表明,已知期望信号与观测数据的互相关函数及观测数据的自相关函数时,可以通过矩阵求逆运算,得到维纳滤波器的最佳解。四、实验结果与分析:(1)实验程序clear;clc;%初始化L=50;N=6;a=0.96;%噪声信号wn=randn(L,1);%理想信号m*n的零矩阵sn=zeros(L,1);%单位脉冲响应hn=zeros(N,1);%自相关rxx=zeros(N,1);%互相关rxd=zeros(N,1);%输出信号yn=zeros(L,1);xt=zeros(L+N,1);%最小距离信号gn=zeros(L,1);sn(1,1)=wn(1,1);fori=2:Lsn(i,1)=a*sn(i-1,1)+wn(i,1);end%subplot(2,2,1);%figure;subplot(2,1,1);plot(sn,'r'),axis([050-1010]),xlabel('时间'),ylabel('幅度'),title('理想信号')%生成理想信号方差cd=(var(wn))/(1-a^2);%加噪x1=awgn(sn,20);x2=awgn(sn,10);x3=awgn(sn,6);%subplot(2,2,2)%figure;%plot(x3,'g'),axis([0200-1010]),xlabel('时间'),ylabel('幅度'),title('观测信号');fori=1:N,form=i:1:L,rxd(i,1)=rxd(i,1)+x1(m,1)*sn(m-i+1,1);endend%生成输入信号的自相关函数fori=1:N,form=i:1:L,rxx(i,1)=rxx(i,1)+x1(m,1)*x1(m-i+1,1);endend%生成托普勒矩阵rxx1=toeplitz(rxx);%生成逆矩阵irxx=inv(rxx1);%生成滤波器系数hn=irxx*rxd;fori=1:Lxt(i+N,1)=x1(i,1);end%实现滤波fori=1:L,form=1:N,yn(i,1)=yn(i,1)+xt(i+N+1-m,1)*hn(m,1);endend%最小均方误差信号en=0;en=cd-(rxd')*hn;%滤波后信号gn=yn-sn;%subplot(2,2,3);%figure;subplot(2,1,2);plot(yn),axis([050-1010]),xlabel('时间'),ylabel('幅度'),title('输出信号');%理想信号与输出信号对比%subplot(2,2,4);figure;plot(sn,'r'),axis([050-1010]),xlabel('时间'),ylabel('幅度'),title('理想信号与输出信号对比');holdon;plot(yn,'b'),axis([050-1010]);holdoff;%最小距离误差信号figure;plot(gn),axis([050-22]),xlabel('时间'),ylabel('幅度'),title('最小距离误差信号');(2)实验结果一、当L=200,N=6时,理想信号及观测信号123(),(),()xnxnxn如下:二、1、信噪比为20dB,L=200,N=62、信噪比为20dB,L=200,N=203、信噪比为20dB,L=200,N=404、信噪比为20dB,L=100,N=65、信噪比为20dB,L=50,N=6(3)实验结果分析在信噪比为20dB情况下,分别取信号长度为200、100、10,滤波器长度为6、20、40进行实验,参数情况如下表。观察试验中得到的信号图像,我们可以得出:1.信号长度越长,最小均方误差(绝对值)越大,精度越差;2.在信噪比较大(误差影响较小)的滤波过程中,滤波器长度越长,最小均方误差(绝对值)越小,精度越好实验120dBL=200N=6实验220dBL=200N=20实验320dBL=200N=40实验420dBL=100N=6实验520dmL=50N=6四、实验总结本次试验采用在时域中求解设计维纳滤波器的方法。通过实验,学习了维纳滤波器的基本原理,和在时域中求解因果维纳滤波器的算法。在实验过程中,分别设计了不同信号长度、不同滤波器长度的实验,并分析对比了实验结果。通过采用在时域中设计维纳滤波器的实验,可以看出,直接从时域求解因果的维纳滤波器,当信号长度L、滤波器长度N选值较大时,计算工作量较大,所占内存较大。由此,可以考虑在今后的设计中采用z域求解的方法,将会提高各项指标。
本文标题:维纳滤波器的设计
链接地址:https://www.777doc.com/doc-3139358 .html