ImageVerifierCode 换一换
格式:DOCX , 页数:13 ,大小:155.58KB ,
资源ID:11589077      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/11589077.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(实验一 维纳滤波器的计算机实现.docx)为本站会员(b****4)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

实验一 维纳滤波器的计算机实现.docx

1、实验一 维纳滤波器的计算机实现实验一 维纳滤波器的计算机实现 一、设计目的 1利用计算机编程实现加性干扰信号的维纳滤波。 2将计算机模拟实验结果与理论分析结果相比较,分析影响维纳滤波效果的各种因素,从而加深对维纳滤波的理解。 二、设计原理与方法 维纳滤波是一种从噪声背景中提取信号的最佳线性方法,假定一个随机信号x(n)具有以下形式: (1-1) 其中,s(n)为有用信号,v(n)为噪声干扰,将其输入一个单位脉冲响应为h(n)的线性系统,其输出为 (1-2) 我们希望x(n)通过这个系统后得到的y(n)尽可能接近于s(n),因此,称y(n)为信号s(n)的估值。按照最小均方误差准则,h(n)应满

2、足下面的正则方程: (1-3) 这就是著名的维纳霍夫方程,其中 (1-4) 是x(n)与s(n)的互相关函数,定义为 (1-5) 这里,E表示求数学期望,*表示取共轭。 在要求h(n)满足因果性的条件下,求解维纳-霍夫方程是一个典型的难题。虽然目前有几种求解h(n)的解析方法,但它们在计算机上实现起来非常困难。因此本实验中利用近似方法,即最佳FIR维纳滤波方法,在计算机上实现随机信号的维纳滤波。 设h(n)为一因果序列,其长度为N,则 (1-6) 同样利用最小均方误差准则,h(n)满足下面正则方程: (1-7) 其中 (1-8) (1-9) (1-10) 这里T表示转置运算。称为信号x(n)的

3、N阶自相关矩阵,为x(n)与s(n)的互相关函数向量。当为满秩矩阵时,由公式(1-7)可得 (1-11) 由此可见,利用有限长的h(n)实现维纳滤波器,只要已知和,就可以按上式解得满足因果性的h。虽然它不同于真正的维纳滤波器,但是只要N选择的足够大,它就可以很好地逼近真正的维纳滤波器,这一点我们可以在下面实验中得到证实。 在本实验中,s(n)由下式来确定: (1-12) 其中,是零均值方差为的均匀分布白噪声,v(n)是与s(n)互不相关的均匀分布白噪声,其均值为零,方差。 根据理论推导,此时维纳最佳滤波器为 (1-13) 单位脉冲响应为 (1-14) 由此可以实现对信号x(n)的最佳过滤,即

4、(1-15) 其中为s(n)的最佳估值。同时可以推出,经过理想维纳滤波后,均方误差应为 (1-16) 在实验中,我们利用下面公式来统计均方误差: (1-17) 其中L为维纳滤波数据长度。 实际中,一般很难确切地知道和,通常是利用有限个x(n)和s(n)的样本来估计它们 (1-18) (1-19) 为了在检验实际中某次产生序列的自相关特性与理论值的近似程度,我们可以采用下式进行度量: (1-20a) (1-20b)该式表示了自相关函数的理论值与某次实现的实际值的相对平方误差。实验中为了得到与自相关特性理论值相符的观测序列,往往需要多次产生序列,直到两者的相对平方误差足够小。本实验中,我们取K=5

5、0,并认为且的序列才是满足要求的。 三、设计内容与步骤 1 仔细阅读维纳滤波原理,根据图1.1给出的框图编制维纳滤波程序。 2 运行维纳滤波程序,选择L=500,N=10,观察并记录实验结果,分析比较下列三个问题: 与s(n)比较,信号x(n)在维纳滤波前后有何差别?滤波效果如何? 估计出的和理想的h(n)比较,近似程度如何? 理想的维纳滤波和FIR维纳滤波效果有何差异? 图1.1 3 固定L=500, 分别取N=3、20, 根据实验结果,观察N的大小对的估计和滤波效果的影响。记录实验结果。 4 固定N=10, 改变L=200,1000, 根据实验结果,观察并记录L的大小对的精度和滤波效果的影

6、响。 四、设计报告要求 1简述设计目的和原理。 2按设计步骤附主要结果。 3根据结果总结主要结论。 4. 如果使用自编程序,附上源程序。5. 实验感想。 五、附录 参考程序(1)绘图程序,绘图是跟据一次实验结果绘制并非多次重复取均值后绘制clear all%输入信号样本个数L,FIR滤波器阶数N%L=input(L=); N=input(N=);a=0.95;%产生L个v(n)、u(n)、s(n)和x(n),在同一座标内绘出最后100个s(n)和x(n) w=-sqrt(3*(1-(0.952)+2*sqrt(3*(1-(0.952)*rand(1,L); %w(n)的标准差 v=-sqrt(

7、3)+2*sqrt(3)*rand(1,L);u=ones(1,L);s(1)=1; %计算s(n)i=2;while(i=L); s(i)=a*s(i-1)+w(i); i=i+1;end;i=1; %计算x(n)while(i=L); x(i)=s(i)+v(i); i=i+1;end;figure(1); %绘制s(n)(红色),x(n)(蓝色)k=(L-99):1:L; plot(k,s(k),r,k,x(k),k-);legend(s(n),x(n),0);title(s(n)和x(n);xlabel(n);ylabel(输入信号);%利用L个v(n),s(n),估计Rxx和rxs,

8、调用矩阵求逆子程序计算h1,将N个理想的h(n)和估计的h1绘与同一座标内%fxx=zeros(1,N); %计算fxxfor(i=1:N); for(k=0:(L-i-1); fxx(i)=(1/(L-i)*x(k+1)*x(k+i)+fxx(i); end;end;for(i=1:N); %生成Rxx矩阵 for(k=1:N); Rxx(k,i)=fxx(abs(k-i)+1); end;end;rxs=zeros(1,N); %计算rxsfor(i=1:N); for(k=0:(L-i-1); rxs(i)=(1/(L-i)*x(k+1)*s(k+i)+rxs(i); end;end;h

9、1=(inv(Rxx)*rxs; for(i=1:N); %绘制h(理想滤波器),h1(估计滤波器) h(i)=0.238*(0.724)i*u(i);end;figure;k=1:1:N;plot(k,h(k),r,k,h1(k),k-);title(理想的h(n)和估算的h(n);legend(理想的h(n),估算的h(n);xlabel(n);%重新生成L点随机序列%w=-sqrt(3*(1-(0.952)+2*sqrt(3*(1-(0.952)*rand(1,L); v=-sqrt(3)+2*sqrt(3)*rand(1,L);u=ones(1,L);s(1)=1; %计算s(n)i=

10、2;while(i=L); s(i)=a*s(i-1)+w(i); i=i+1;end;i=1; %计算x(n)while(i=L); x(i)=s(i)+v(i); i=i+1;end;%利用公式(115),进行理想维纳滤波得L个SI(n),将最后100个S(n)和SI(n)绘制于同一坐标内%S=conv(h,x);SI(1)=S(1);for(i=2:L); SI(i)=0.724*SI(i-1)+0.238*x(i);end;figure;k=(L-99):1:L;plot(k,s(k),r,k,SI(k),k-);title(s(n)和Si(n);legend(s(n),Si(n),0

11、);xlabel(n);ylabel(理想滤波输出);%由h1(n),根据公式(1-6)对x(n)进行过滤得L个SR(n)将最后100个s(n)和SR(n)绘制与同一坐标内%SR=conv(h1,x);figure;k=(L-99):1:L;plot(k,s(k),r,k,SR(k),k-);title(s(n)和Sr(n);legend(s(n),Sr(n),0);xlabel(n);ylabel(实际滤波输出);%由L个x(n),s(n),SI(n),SR(n),根据公式(1-17),统计并打印出EX2,EI2,ER2%EX2=0;EI2=0;ER2=0;for(i=1:L); EX2=1

12、/L*(x(i)-s(i)2)+EX2; %计算接受信号与原信号的误差end;for(i=1:L); EI2=1/L*(SI(i)-s(i)2)+EI2; %计算维纳滤波器理想滤波end;for(i=1:L); %计算N点的维纳滤波器理想滤波 EI21=1/L*(S(i)-s(i)2)+EI2;end;for(i=1:L); %计算估计滤波器滤波 ER2=1/L*(SR(i)-s(i)2)+ER2;end;EX2EI2ER2(2)检验N、L对FIR滤波器的估计精度和滤波效果的影响,为尽量保证统计意义故重复了1000次后取均值。clear all%输入信号样本个数L,FIR滤波器阶数N%L=in

13、put(L=); N=input(N=);a=0.95;EX=0;EI=0;ER=0;for(z=1:100); %重复1000次%产生L个v(n)、u(n)、s(n)和x(n),在同一座标内绘出最后100个s(n)和x(n)%w=-sqrt(3*(1-(0.952)+2*sqrt(3*(1-(0.952)*rand(1,L); %w(n)的标准差 v=-sqrt(3)+2*sqrt(3)*rand(1,L);u=ones(1,L);s(1)=1; %计算s(n)i=2;while(i=L); s(i)=a*s(i-1)+w(i); i=i+1;end;i=1; %计算x(n)while(i=

14、L); x(i)=s(i)+v(i); i=i+1;end;figure(1); %绘制s(n)(红色),x(n)(蓝色)k=(L-99):1:L; plot(k,s(k),r,k,x(k),k-);legend(s(n),x(n),0);title(s(n)和x(n);xlabel(n);ylabel(输入信号);%利用L个v(n),s(n),估计Rxx和rxs,调用矩阵求逆子程序计算h1,将N个理想的h(n)和估计的h1绘与同一座标内%fxx=zeros(1,N); %计算fxxfor(i=1:N); for(k=0:(L-i-1); fxx(i)=(1/(L-i)*x(k+1)*x(k+

15、i)+fxx(i); end;end;for(i=1:N); %生成Rxx矩阵 for(k=1:N); Rxx(k,i)=fxx(abs(k-i)+1); end;end;rxs=zeros(1,N); %计算rxsfor(i=1:N); for(k=0:(L-i-1); rxs(i)=(1/(L-i)*x(k+1)*s(k+i)+rxs(i); end;end;h1=(inv(Rxx)*rxs;for(i=1:N); h(i)=0.238*(0.724)i*u(i);end;figure(2);k=1:1:N;plot(k,h(k),r,k,h1(k),k-);title(理想的h(n)和估

16、算的h(n);legend(理想的h(n),估算的h(n);xlabel(n);%重新生成L点随机序列%w=-sqrt(3*(1-(0.952)+2*sqrt(3*(1-(0.952)*rand(1,L); v=-sqrt(3)+2*sqrt(3)*rand(1,L);u=ones(1,L);s(1)=1; %计算s(n)i=2;while(i=L); s(i)=a*s(i-1)+w(i); i=i+1;end;i=1; %计算x(n)while(i=L); x(i)=s(i)+v(i); i=i+1;end;%利用公式(115),进行理想维纳滤波得L个SI(n),将最后100个S(n)和SI

17、(n)绘制于同一坐标内%S=conv(h,x);SI(1)=S(1);for(i=2:L); SI(i)=0.724*SI(i-1)+0.238*x(i);end;figure(3);k=(L-99):1:L;plot(k,s(k),r,k,SI(k),k-);title(s(n)和Si(n);legend(s(n),Si(n),0);xlabel(n);ylabel(理想滤波输出);%由h1(n),根据公式(1-6)对x(n)进行过滤得L个SR(n)将最后100个s(n)和SR(n)绘制与同一坐标内%SR=conv(h1,x);figure(4);k=(L-99):1:L;plot(k,s(

18、k),r,k,SR(k),k-);title(s(n)和Sr(n);legend(s(n),Sr(n),0);xlabel(n);ylabel(实际滤波输出);%由L个x(n),s(n),SI(n),SR(n),根据公式(1-17),统计并打印出EX2,EI2,ER2%EX2=0;EI2=0;ER2=0;for(i=1:L); EX2=1/L*(x(i)-s(i)2)+EX2; %计算接受信号与原信号的误差end;for(i=1:L); EI2=1/L*(SI(i)-s(i)2)+EI2; %计算维纳滤波器理想滤波end;for(i=1:L); %计算估计滤波器滤波 ER2=1/L*(SR(i)-s(i)2)+ER2;end;temp1(z)=EX2;temp2(z)=EI2;temp3(z)=ER2;EX=EX+EX2;EI=EI+EI2;ER=ER+ER2;end;EX=EX/1000;EI=EI/1000;ER=ER/1000;EXEIER

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1