维纳滤波器
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
西安电子科技大学
统计与自适应信号处理仿真
学院:
班级:
学号:
姓名:
2013年12月
FIR 维纳滤波器
1维纳滤波原理概述
维纳(Wiener )是用来解决从噪声中提取信号的一种过滤(或滤波)方法。这种线性滤波问题,可以看做是一种估计问题或一种线性估计问题。一个线性系统,如果它的单位样本响应为)(n h ,当输入一个随机信号)(n x ,且
)()()(n v n s n x += (1) 其中)(n x 表示信号,)(n v )表示噪声,则输出)(n y 为
∑-=m
m n x m h n y )()()( (2)
我们希望)(n x 通过线性系统)(n h 后得到的)(n y 尽量接近于)(n s ,因此称)(n y 为)(n s 的估计值,用^
)(n s 表示,即
^)()(n s n y = (3) 则维纳滤波器的输入—输出关系可用下面图1表示。
图1 维纳滤波器的输入—输出关系
实际上,式(2)所示的卷积形式可以理解为从当前和过去的观察值)(n x ,)1(-n x ,)2(-n x …)(m n x -,…来估计信号的当前值^
)(n s 。因此,用)(n h 进行过滤问题实际上是一种统计估计问题。
一般地,从当前的和过去的观察值)(n x ,)1(-n x ,)2(-n x …估计当前的信号值^
)()(n s n y =成为过滤或滤波;从过去的观察值,估计当前的或者将来的信号值)0)(()(^≥+=N N n s n y 称为外推或预测;从过去的观察值,估计过去的信号值)1)(()(^>-=N N n s n y 称为平滑或内插。因此维纳滤波器又常常被称为最佳线性过滤与预测或线性最优估计。这里所谓的最佳与最优是以最小均方误差为准则的。 如果我们分别以)(n s 与^
)(n s 表示信号的真实值与估计值,而用)(n e 表示他们
之间的误差,即
)()()(^
n s n s n e -= (4)
显然)(n e 可能是正值,也可能是负值,并且它是一个随机变量。因此,用它的均方误差来表达误差是合理的,所谓均方误差最小即它的平方的统计期望最小: min )]([)(2==n e E n ξ
采用最小均方误差准则作为最佳过滤准则的原因还在于它的理论分析比较简单,不要求对概率的描述。
2维纳-霍夫方程的求解
为了按(5)式所示的最小均方误差准则来确定维纳滤波器的冲激响应)(n h ,令)(n ξ对)(j h 的导数等于零,即可得
m i m R
i h m R i xx xs ∀-=∑,)()()( (6)
式中,)(m R xs 是)(n s 与)(n x 的互相关函数,)(m R xx 是)(n x 的自相关函数,分别定义为
)]()([m n s n x E R xs +=
)]()([m n x n x E R xx +=
式(6)称为维纳滤波器的标准方程或维纳-霍夫(Wiener -Hopf )方程。如果已知)(m R xs 和)(m R xx ,那么解此方程即可求的维纳滤波器的冲激响应。
式(6)所示标准方程右端的求和范围即i 的取值范围没有具体标明,实际上有三种情况:
(1) 有限冲激响应(FIR )维纳滤波器,i 从0到1-N 取得有限个整数值;
(2) 非因果无限冲激响应(非因果IIR )维纳滤波器,i 从∞-到∞+取所
有整数值;
(3) 因果无限冲激响应(因果IIR )维纳滤波器,i 从0到∞+取正整数值。 上述三种情况下标准方程的解法不同,本文将描述因果IIR 维纳滤波器和FIR 维纳滤波器的求解。
3 FIR 维纳滤波器的求解
设滤波器冲激响应序列的长度为N ,冲激响应矢量为
T
N h h h h )]1()....1()0([-= (14) 滤波器输入数据矢量为
T
N n x n x n x n x )]1()...1()([)(+--= (15) 则滤波器的输出为
)()()()(^n x h h n x n s n y T
T === (16) 这样,式(6)所示的维纳-霍夫方程可写成
R h P T T =或Rh P = (17) 其中
)]()([n s n x E P = (18) 是)(n s 与)(n x 的互相关函数,它是一个N 维列矢量;R 是)(n x 的自相关函数,是N 阶方阵
)]()([n x n x E R T
= (19) 利用求逆矩阵的方法直接求解式(10),得
P R h opt 1
-= (20) 这里opt 表示“最佳”,这就是FIR 维纳滤波器的冲激响应。
4 FIR 维纳滤波器的matlab 实现
这是FIR 维纳滤波器的原理框图:
)
1+
图2 FIR 维纳滤波器的原理框图
设计维纳滤波器的过程就是寻求在最小均方误差下滤波器的单位脉冲响应
或传递函数的表达式,其实质就是解维纳-霍夫(Wiener-Hopf)方程。这是用matlab设计FIR维纳滤波器的流程图:
图3 FIR维纳滤波器的流程图
5 FIR维纳滤波器的matlab程序
%************************************************************ % wiener.m
% FIR维纳滤波器的设计与仿真
% *********************************************************** clear all;
clc;
%************************* 生成信号************************* % 信号振幅
A=1.0;
% 初始的相位
th0=0;
N=input('请输入信号长度');