收藏 分享(赏)

维纳滤波计算机实现.doc

上传人:ysd1539 文档编号:6269176 上传时间:2019-04-03 格式:DOC 页数:19 大小:262.50KB
下载 相关 举报
维纳滤波计算机实现.doc_第1页
第1页 / 共19页
维纳滤波计算机实现.doc_第2页
第2页 / 共19页
维纳滤波计算机实现.doc_第3页
第3页 / 共19页
维纳滤波计算机实现.doc_第4页
第4页 / 共19页
维纳滤波计算机实现.doc_第5页
第5页 / 共19页
点击查看更多>>
资源描述

1、实验题目:维纳滤波器的计算机实现学 院:苏研电信姓 名:张春俊学 号:3112313047指导老师:殷 勤 业2012-11-26维纳滤波器的计算机实现一、 实验目的1、 利用计算机编程实现加性噪声信号的维纳滤波。2、 将计算机模拟实验结果与理论分析结果相比较,分析影响维纳滤波效果的各种因素,从而加深对维纳滤波的理解。3、 利用维纳滤波一步纯预测方法实现对信号生成模型的参数估计。二、 实验原理1、 维纳滤波器是一种从噪声中提取信号的最佳线性估计方法,假定一个随机信号形式为:x(n)=s(n)+v(n),其中 s(n)为有用信号,v(n)为噪声信号。而维纳滤波的作用就是让 x(n)通过一个系统h

2、(n)尽可能滤掉噪声,提取近似 s(n),h(n)的选择以最小均方误差为准则。由维纳-霍夫方程知,只要求出 xx 及 xs 就可求出 h(h= -1xxxs) 。但要求 h(n)满足因果性要求,维纳-霍夫方程便是一个难题,这里利用最佳 FIR 维纳滤波方法求解h(n)的近似,这也便于在计算机上实现,公式为:h =R-1xx rxs。实验中 s(n)由信号生成模型:s(n)=as(n-1)+w(n)确定,其中 a=0.95,w(n)是均值为 0,方差为 w2=1 的高斯白噪声,v(n)为均值为 0,方差为 1 的高斯白噪声,且 s(n)与 v(n)不相关。实验中 s(n)是已知的,但实际中如果

3、s(n)已知,维纳滤波也就失去意义了,因此实验纯粹是为了理解维纳滤波原理而设计。2、 维纳一步纯预测问题S(n)的生成模型:s(n)+a 1(n-1)+aps(n-p)=w(n),已知xx(n),利用 Yule-walker 方程即可得到信号生成模型参数ai(i=1,2p)和 2w 。三、 实验步骤及结果分析1、 根据维纳滤波原理绘制程序流程图NY开始检验产生序列x(n的自相关和互相关函数是否与理论值相符在同一坐标内绘出x(n)自相关函数的理论值和实际值产生L个v(n),w(n),s(n) 和x(n) ,利用 L 个 s(n)和 x(n),估计 RSS和 rxs在同一坐标内绘出最后100个s(

4、n)和x(n)。调矩阵求逆子程序计算,将N个理想的h(n)和估计的h(n) 绘于同一坐标内进行理想的维纳滤波得 L 个 SI (n),和最后 100 个 s(n)绘制于同一坐标输入样本个数 L,FIR 滤波器阶数 N2、 根据流程图编写程序(见附录 1)并分析运行结果:选择 L=5000,N=10 观察并记录、分析实验结果。1) 与 s(n)相比,信号 x(n)在维纳滤波前后效果比较:0 10 20 30 40 50 60 70 80 90 10-2.5-2-1.5-1-0.500.511.52与与10与sn与与与与与与与与与与与与与与snw与与与与与与与0 10 20 30 40 50 60

5、 70 80 90 10-4-3-2-1012345 与与10与s(n)与与与与与x(n)与与与与图 1 图 2图 1 为维纳滤波后的 s(n)与最后 100 个 s(n)比较图图 2 为未经维纳滤波的 x(n)与最后 100 个 s(n)比较图。分析:显然与 s(n)相比,x(n) 在维纳滤波前与 s(n)相差很大,维纳滤波后较接近 s(n),可见滤波效果比较好。2) 估计 (n)与理想 h(n)的比较:h对x(n)进行过滤得L个S R(n),和最后100个s(n)和绘于同一坐标内L 个 x(n),s(n), SI (n), SR(n),统计ex2,eI2,eR2结束1 2 3 4 5 6

6、7 8 9 1000.050.10.150.20.25 h(n)与与与与与与与与与与与与与与与与与与图 3图 3 为估计 (n)与理想 h(n)的对比图。h分析:由图可见,二者近似程度除最后几个点外,其他近似度还是满高的,总体而言,近似效果不错。3) 理想的维纳滤波与 FIR 维纳滤波效果对比:0 10 20 30 40 50 60 70 80 90 10-2.5-2-1.5-1-0.500.511.52与与10与sn与与与与与与与与与与与与与与snw与与与与与与与0 10 20 30 40 50 60 70 80 90 10-2.5-2-1.5-1-0.500.511.52与与10与sn与与

7、与与与与FIR与与与与与与snw与与与与与与与图 4 图 5图 4 为理想维纳滤波效果,图 5 为 FIR 维纳滤波效果分析:直接从图形观察,差异太小,无法观察其精度。只能通过最小均方差来比较其差异,结果为:理想维纳滤波 ei= 0.2287,FIR 维纳滤波 ef=0.2254。可见,理想维纳滤波效果要好过 FIR 维纳滤波。4) 自相关与互相关数据判断对效果的影响分析:若去掉流程图中自相关与互相关数据判断步骤,可能会得到理想维纳滤波不如 FIR 滤波的效果,如其中一个结果:e i= 0.2503,e f= 0.2495。这里的判断步骤就是为了检测实际产生序列的自相关或互相关特性与理论值的近

8、似程度,若误差很小且通过我们设定的某一下限则认为二者近似,所以最终的滤波效果才很近似。如果没有这里的判断,实际自相关或互相关则是任意的,完全有可能出现比理想维纳滤波更好的效果。3、 固定 L=5000,分别取 N=3、20,根据实验结果,观察 N的大小对 (n)的估计和滤波效果的影响并记录实验结果。h实验结果:图 6 为 N=3 时估计 (n)与理想 h(n)的对比图。图 7 为 N=20 时估计 (n)与理想 h(n)的对比图。h图 8 为 N=3 的 FIR 滤波后所得 (n)与实际 S(n)后 100 位的比s较图。图 9 为 N=20 的 FIR 滤波后所得 (n)与实际 S(n)后

9、100 位的比较图。其均方误差分别为:e i= 0.3175(N=3), 0.2500(N=20)ef= 0.2762(N=3), 0.2488 (N=20)1 1.2 1.4 1.6 1.8 2 2.2 2.4 2.6 2.8 300.050.10.150.20.250.30.35 h(n)与与与与与与与与与与与与与与与与与与0 2 4 6 8 10 12 14 16 18 20-0.0500.050.10.150.20.250.3 h(n)与与与与与与与与与与与与与与与与与与图 6 图 70 10 20 30 40 50 60 70 80 90 10-2-1.5-1-0.500.511.5

10、与与10与sn与与与与与与FIR与与与与与与snw与与与与与与与0 10 20 30 40 50 60 70 80 90 10-2-1.5-1-0.500.511.52与与10与sn与与与与与与FIR与与与与与与snw与与与与与与与图 8 图 9分析:由图 6、7 可知,N 的大小决定 (n)与 h(n)取值的个数,h并通过观察并结合 N=10 的情况可知,N 越大 (n)与 h(n)越接近。从最终均方误差的比较可知,N 越大,滤波效果越好。4、 固定 N=10,改变 L=1000、5000,根据实验结果,观察并记录 L 的大小对 (n)的精度和滤波效果的影响。h实验结果:图 10 为 L=1

11、000 时估计 (n)与理想 h(n)的对比图。图 11 为 L=5000 时估计 (n)与理想 h(n)的对比图。h图 12 为 L=1000 的 FIR 滤波后所得 (n)与实际 S(n)后 100 位s的比较图。图 13 为 L=5000 的 FIR 滤波后所得 (n)与实际 S(n)后 100 位的比较图。其均方误差分别为:e i=0.2400 (L=1000), 0.2381(L=5000)ef= 0.2390 (L=1000), 0.2375 (L=5000)1 2 3 4 5 6 7 8 9 1000.050.10.150.20.25 h(n)与与与与与与与与与与与与与与与与与与

12、1 2 3 4 5 6 7 8 9 1000.050.10.150.20.25 h(n)与与与与与与与与与与与与与与与与与与图 10 图 110 10 20 30 40 50 60 70 80 90 10-2.5-2-1.5-1-0.500.511.522.5与与10与sn与与与与与与FIR与与与与与与snw与与与与与与与0 10 20 30 40 50 60 70 80 90 10-1.5-1-0.500.511.522.5与与10与sn与与与与与与FIR与与与与与与snw与与与与与与与图 12 图 13分析:由图 10、11 可知,L 越大 (n)与 h(n)越接近, (n)的精hh度越高

13、。由均方误差可知,L 越大,滤波效果越高。这也容易理解,样本越大,精度自然越高。5、 维纳一步纯预测 1) 画出信号生成模型参数估计的流程图2)根据流程图编写程序(见附录 2)3)运行信号生成模型程序,选择 p=1,a1=-0.6,L=100.理论值: w2=1-a12=0.6400 a1=-0.6估计值: w2= 0.9860 1= -0.5876a相对误差:error- w2= -0.0140error-a1= -0.0206开始输入信号生产模型的阶数 p, AR 模型的参数ai(i=1,2p), w2,信号 s(n)的样本数 L利用 randn 函数产生 L 个 w(n),并产生 L个

14、s(n)利用 Yule-Walker 方程,求出 1. pa结束4)固定 p=1,a1=-0.6, w2=1,改变 L=50、500,观察 L 的大小对信号生成模型参数估计精度的影响。实验结果:理论值: w2=1-a12=0.6400 a1=-0.6估计值:L=50 w2= 0.9730 1= -0.5760 a估计值:L=500 w2= 0.9967 1= -0.5965相对误差:L=50 error- w2= -0.0270 error-a1= -0.0401相对误差:L=500 error- w2= -0.0033error-a1= -0.0058分析:显然样本个数 L 的增大,使得信号

15、模型参数精度明显提高。四、 实验总结通过实验结果及分析可得出以下结论:1、 样本个数越大,参数精度越高。2、 影响维纳滤波效果的因素包括样本个数 L、FIR滤波阶数,且均成正比关系。3、 维纳一步纯预测,只要调整 ai(1,2p)即可实现最小均方误差。五、 思考题答案1、推导公式 ,验证式17239.0)(ZZH 2379.0)()(2nsEne推导:已知 a= 0.95,w(n)为零均值方差为 的高斯白噪声,2w1av(n)是与 s(n)互不相关的高斯白噪声,其均值为零,方差 。12vA(z)= ,所有 S(z)=W(z)A(z)=1az 1)(azW237950072394.1086.)(

16、 .5721.0 )4.)(9.7620( 7239.18.)5)(.12)()()(,z72394.01895.0123748)(5.1.95.0174.0)(9.7234 72394.01.9.23.018.)(.,074.095.)95.1)72394.01)(95.(1)()()( .07234,95.017234,31249. ).()95.)(.(.)(x1.,.038195.02b. )950)(.()1)(.) 1)(,.1)(95.0()()(snv0975.195.0)(1)()()z(min 11121min2in2opt 1111112 2s111212,2 1212w

17、 eE dzzj zzzj dHjeEzHZBGZGnunuZ ZZZBABAZZZGXYZHZGYB ZBabzzbZZx ZvAzs zvzxmnxaanwzWScc xsoptsctwsxw w, 四 舍 五 入 即 为 所 求 值)由 就 是 所 求 公 式四 舍 五 入 取 四 位 小 数 点所 有 , ,代 入 可 得化 解 得其 中不 相 关 , 所 有 有与而 且2、由公式s(n)+ (n-1)+ s(n-p)=w(n),怎样得到 和 ?1apa1ap2w分析: 理论w(n)已知,即均值及 已知,那么根据Yule-Walker2w方程有,其中 为(p+1)*(p+1)的s(n)

18、自相关矩阵,A 为(p+1)2WSARSR*1的系数列向量及A= ,而Tpa.1, T0.,1由给出的理论 ,解方程即可得到估计值 ;用估计2w1ap值 代入方程即可得到估计值 。1ap 2w 六、 源程序见附录 1、2附录 1clear allL=input(请输入信号样本个数 L=);N=input(请输入 FIR 滤波器的阶数 N=);a = 0.95;K = 50;sigma_a2 = 1-a2;a_ = 1, -a;while(1)% 利用 randn()函数产生白噪声wn = sqrt(sigma_a2)*( randn(L,1);sn = filter(1, a_, wn);%H

19、(Z)=1/(1-az_-1)vn = randn(L,1);xn = sn + vn;r_xx = xcorr(xn,unbiased); %x(n)z 自相关估计值 r_xx_t = a.abs(-K:K); % x(n)自相关理论值 r_xx_t(K+1)=r_xx_t(K+1)+1;p = xcorr(sn,xn,unbiased);%x(n)与 s(n)互相关估计值r_xs = p(L : L+K); r_xs_t=a.0:K;%x(n)与 s(n)互相关理论值%检测实际值与理论值的近似程度rou_xx = sum(r_xx(L-K:L+K)-r_xx_t).2)/sum(r_xx_

20、t.2);rou_xs = (sum(r_xs-r_xs_t).2)/sum(r_xs_t.2);if rou_xx =2 时,s(n)=w(n)-a1s(n-1)endr_ss=xcorr(sn,unbiased);%求 s(n)的自相关est_a1(s)=-r_ss(L+1)/r_ss(L);%由 r_ss(l)+a1r_ss(l-1)=0 可得 a1 的估计值%由 r_ss(l)+a1r_ss(l-1)=sigma_w2 可得 sigma_w2 的估计值est_sigma(s)=r_ss(L)+est_a1(s)*r_ss(L-1);s=s+1;end%估计值取统计平均值estimate_a1=mean(est_a1)estimate_sigma=mean(est_sigma)%求估计值与理论的相对误差error_a1=(estimate_a1-a1)/a1error_sigma=(estimate_sigma-sigma_w2)/sigma_w2

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 网络科技 > 计算机原理

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报