收藏 分享(赏)

维纳滤波原理及其matlab实现 (.doc

上传人:hskm5268 文档编号:5817218 上传时间:2019-03-18 格式:DOC 页数:8 大小:259KB
下载 相关 举报
维纳滤波原理及其matlab实现 (.doc_第1页
第1页 / 共8页
维纳滤波原理及其matlab实现 (.doc_第2页
第2页 / 共8页
维纳滤波原理及其matlab实现 (.doc_第3页
第3页 / 共8页
维纳滤波原理及其matlab实现 (.doc_第4页
第4页 / 共8页
维纳滤波原理及其matlab实现 (.doc_第5页
第5页 / 共8页
点击查看更多>>
资源描述

1、维纳滤波滤波技术是信号分析、处理技术的重要分支,无论是信号的获取、传输,还是信号的处理和交换都离不开滤波技术,它对信号安全可靠和有效灵活地传递是至关重要的。信号分析检测与处理的一个十分重要的内容就是从噪声中提取信号,实现这种功能的有效手段之一是设计一种具有最佳线性过滤特性的滤波器,当伴有噪声的信号通过这种滤波器的时候,它可以将信号尽可能精确地重现或对信号做出尽可能精确的估计,而对所伴随噪声进行最大限度地抑制。维纳滤波器就是这种滤波器的典型代表之一。1.维纳滤波概述维纳(Wiener)是用来解决从噪声中提取信号的一种过滤(或滤波)方法。这种线性滤波问题,可以看做是一种估计问题或一种线性估计问题。

2、一个线性系统,如果它的单位样本响应为 ,当输入一个随机信号 ,且)(nh)(nx)(vsx(1)其中 表示信号, )表示噪声,则输出 为)(nx(nv)(nymnxh)((2)我们希望 通过线性系统 后得到的 尽量接近于 ,因此称 为 的)(nx)(nh)(ny)(s)(yns估计值,用 表示,即s)(nsy(3) 则维纳滤波器的输入输出关系可用下面图 1 表示。图 1实际上,式(2)所示的卷积形式可以理解为从当前和过去的观察值 , ,)(nx)1 ,来估计信号的当前值 。因此,用 进行过滤问题实际上)(nx)(m)(nsh是一种统计估计问题。一般地,从当前的和过去的观察值 , , 估计当前的

3、信号值)(x)1)2(x成为过滤或滤波;从过去的观察值,估计当前的或者将来的信号值)(nsy称为外推或预测;从过去的观察值,估计过去的信号值)0()(Nnsy称为平滑或内插。因此维纳滤波器又常常被称为最佳线性过滤与1预测或线性最优估计。这里所谓的最佳与最优是以最小均方误差为准则的。如果我们分别以 与 表示信号的真实值与估计值,而用 表示他们之间的)(ns )(ne误差,即)()(sne(4)显然 可能是正值,也可能是负值,并且它是一个随机变量。因此,用它的均方误差来)(ne表达误差是合理的,所谓均方误差最小即它的平方的统计期望最小:(5)min)()(2Ene采用最小均方误差准则作为最佳过滤准

4、则的原因还在于它的理论分析比较简单,不要求对概率的描述。2.维纳-霍夫方程的求解为了按(5)式所示的最小均方误差准则来确定维纳滤波器的冲激响应 ,令)(nh对 的导数等于零,即可得)(njhmiRihmRxxs ,)()((6)式中, 是 与 的互相关函数, 是 的自相关函数,分别定义为)(mRxsn)(x)(xnsnERxs)(m式(6)称为维纳滤波器的标准方程或维纳-霍夫(Wiener-Hopf )方程。如果已知和 ,那么解此方程即可求的维纳滤波器的冲激响应。)(mRxs)(x式(6)所示标准方程右端的求和范围即 的取值范围没有具体标明,实际上有三种情i况:(1 ) 有限冲激响应(FIR)

5、维纳滤波器, 从 到 取得有限个整数值;01N(2 ) 非因果无限冲激响应(非因果 IIR)维纳滤波器, 从 到 取所有整数值;i(3 ) 因果无限冲激响应(因果 IIR)维纳滤波器, 从 到 取正整数值。上述三种情况下标准方程的解法不同,本文只描述 FIR 维纳滤波器的求解。设滤波器冲激响应序列的长度为 ,冲激响应矢量为N(7)TNhh)1().0(滤波器输入数据矢量为Tnxnx)().()( (8)则滤波器的输出为)()()(nxhxnsyTT(9)这样,式(6)所示的维纳- 霍夫方程可写成或 RPT(10)其中)(nsxE(11)是 与 的互相关函数,它是一个 维列矢量; 是 的自相关函

6、数,是 阶)(nsxNR)(N方阵)(nxET(12)利用求逆矩阵的方法直接求解式(10) ,得PRhopt1(13)这里 表示“最佳” ,这就是 FIR 维纳滤波器的冲激响应。opt4.FIR 维纳滤波器的 matlab 实现4.1 问题描述假设一个点目标在 x, y 平面上绕单位圆做圆周运动,由于外界干扰,其运动轨迹发生了偏移。其中,x 方向的干扰为均值为 0,方差为 0.05 的高斯噪声;y 方向干扰为均值为0,方差为 0.06 的高斯噪声。1) 产生满足要求的 x 方向和 y 方向随机噪声 500 个样本;2) 明确期望信号和观测信号;3) 试设计一 FIR 维纳滤波器,确定最佳传递函

7、数: ,并用该滤波器处理1optxshR观测信号,得到其最佳估计。 (注:自行设定误差判定阈值,根据阈值确定滤波器的阶数或传递函数的长度) 。4) 分别绘制出 x 方向和 y 方向的期望信号、噪声信号、观测信号、滤波后信号、最小均方误差信号的曲线图;5) 在同一幅图中绘制出期望信号、观测信号和滤波后点目标的运动轨迹。4.2 Matlab 仿真及运行结果用 Matlab 实现 FIR 滤波器,并将先前随机产生的 500 个样本输入,得到最佳估计。具体程序如下:clear;clf;sita=0:pi/249.5:2*pi;xnoise=sqrt(0.05)*randn(1,500);%产生 x 轴

8、方向噪声ynoise=sqrt(0.06)*randn(1,500);%产生 y 轴方向噪声x=cos(sita)+xnoise;%产生 x 轴方向观测信号y=sin(sita)+ynoise;%产生 y 轴方向观测信号%产生维纳滤波中 x 方向上观测信号的自相关矩阵rxx=xcorr(x);for i=1:100for j=1:100mrxx(i,j)=rxx(500-i+j);endendxd=cos(sita);%产生维纳滤波中 x 方向上观测信号与期望信号的互相关矩阵rxd=xcorr(x,xd);for i=1:100mrxd(i)=rxd(499+i);endhoptx=inv(m

9、rxx)*mrxd;%由维纳-霍夫方程得到的 x 方向上的滤波器最优解fx=conv(x,hoptx);%滤波后 x 方向上的输出nx=sum(abs(xd).2);eminx=nx-mrxd*hoptx;%x 方向上最小均方误差%产生维纳滤波中 y 方向上观测信号的自相关矩阵ryy=xcorr(y);for i=1:100for j=1:100mryy(i,j)=ryy(500-i+j);endendyd=sin(sita);%产生维纳滤波中 y 方向上观测信号与期望信号的互相关矩阵ryd=xcorr(y,yd);for i=1:100mryd(i)=ryd(499+i);endhopty=

10、inv(mryy)*mryd;%由维纳-霍夫方程得到的 y 方向上的滤波器最优解fy=conv(y,hopty);%滤波后 y 方向上的输出ny=sum(abs(yd).2);eminy=ny-mryd*hopty;%y 方向上最小均方误差subplot(2,4,1)plot(xd);title(x 方向期望信号);subplot(2,4,2)plot(xnoise);title(x 方向噪声信号);subplot(2,4,3)plot(x);title(x 方向观测信号);subplot(2,4,4)n=0:500;plot(n,eminx);title(x 方向最小均方误差);subplo

11、t(2,4,5)plot(yd);title(y 方向期望信号);subplot(2,4,6)plot(ynoise);title(y 方向噪声信号);subplot(2,4,7)plot(y);title(y 方向观测信号);subplot(2,4,8)plot(n,eminy);title(y 方向最小均方误差);figure;plot(xd,yd,k);hold on;plot(x,y,b:);hold on;plot(fx,fy,g-);title(最终结果);运行结果如下:图 2x 方向及 y 方向的期望信号、噪声信号、观测信号以及滤波后的最小均方误差如上图2 所示。图 3滤波后的到的信号与原始信号和噪声信号的对比如上图 3 所示,滤波后的结果与期望信号还是很接近的,整体上达到了最优滤波的效果。

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

当前位置:首页 > 医学治疗 > 基础医学

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


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

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

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