维纳滤波器推导以及MATLAB代码(Wiener Filter)

本文深入探讨了维纳滤波器的基本概念、特点和维纳-霍夫方程,介绍了如何使用FIR方法求解,并通过MATLAB的xcorr和filter函数进行实践。文章还讨论了维纳滤波在信号处理中的应用,包括仿真和真实实验,展示了滤波效果和优化方法。此外,作者分享了实验中遇到的问题和经验教训。
摘要由CSDN通过智能技术生成

维纳滤波器

1. 背景及术语介绍

随机信号或者随机过程:它是是普遍存在的。一方面,任何确定性信号经过测量后往往会引入随机性误差;另一方面,任何信号本身都存在随机干扰。

噪声:按照功率谱密度(power spectral density, PSD)划分可以划分为白噪声(white noise)和色噪声(color noise),PSD为constant时,是白噪声,相反为有色噪声。我们常把均值为0的白噪声叫纯随机信号。

干扰和噪声:非目标信号都可叫干扰。干扰可以是确定信号,如国内的50Hz工频,直流成分,也可以是不确定信号如噪声。因此,干扰包含噪声,但是噪声不包含干扰。

广义平稳过程:信号处理中常用的弱平稳也被称为广义平稳(Wide-Sense Stationary,WSS)、二阶平稳或者协方差平稳。WSS随机过程一阶(期望)和二阶矩(方差)不随时间变化。如果一个随机过程满足下列条件:

  1. 随机过程的期望值E[x(t)]为一常数,时间变量无关。
  2. 自相关函数1 R x _x x x _x x(t 1 _1 1,t 2 _2 2)仅为时间差 2 _2 2- 1 _1 1=τ的函数;

如果条件2得到满足,则这样的随机过程称为自相关平稳过程。如果条件1得到满足,则该随机过程有最低形式的平稳性,称为均值平稳。如果随机过程同时满足条件1和2,则称为广义平稳随机过程。其实 广义平稳是工程上的应用,也就是说,我实际上只要求一阶二阶不变就够用了。stationary是任何阶都不变,可以理解为完全的time-invariance。

滤波:用当前和过去的观测值来估计当前的信号称为滤波。

预测:用过去的观测值来估计当前和将来的信号。

平滑或内插:用过去的观测值来估计过去的信号。

2. 维纳滤波特点

假设:信号以及附加噪声都是已知频谱特性或者自相关和互相关的随机过程

性能标准:最小均方差

结果:能够用标量的方法找到最优2滤波器,它的解是以传函H(z)或单位冲击h(n)的形式给出,是通过卷积的,适用于平稳系统。
本质:维纳滤波器本质上其实就是一个线性滤波器,其实你把历史时刻和当前时刻的观测数据线性加权来估计当前状态,应该就是一个简单的维纳滤波器了。

3. 维纳-霍夫方程

在这里插入图片描述x(n)为观测值,它为信号s(n)和噪声w(n)的叠加,经过h(n)滤波后,得到s(n)的观测值 s ^ \hat{s} s^(n)。
从图中的系统框图中估计到的观测信号 s ^ \hat{s} s^和我们期望得到的真实信号s(n)不可能完全相同,这里用e(n)表示真值和估计值之间的误差。
e ( n ) = s ( n ) − s ^ ( n ) ( 1 ) e(n)=s(n)-\hat{s}(n)\qquad (1) e(n)=s(n)s^(n)(1)
e(n)为随机变量,维纳滤波器的误差准则为最小均方差。
E [ e 2 ( n ) ] = E [ ( s ( n ) − s ^ ( n ) ) 2 ] ( 2 ) E[e^2(n)]=E[(s(n)-\hat{s}(n))^2]\qquad (2) E[e2(n)]=E[(s(n)s^(n))2](2)
h(n)是物理可实现的,所以有
h ( n ) = 0 , 当 n < 0 h(n)=0, 当n<0 h(n)=0,n<0
y ( n ) = s ^ ( n ) = ∑ m = 0 + ∞ h ( m ) x ( n − m ) ( 3 ) y(n)=\hat{s}(n)=\sum_{m=0}^{+\infty}h(m)x(n-m)\qquad (3) y(n)=s^(n)=m=0+h(m)x(nm)(3)
根据公式(1~3)得:
E [ e 2 ( n ) ] = E [ ( s ( n ) − ∑ m = 0 + ∞ h ( m ) x ( n − m ) ) 2 ] ( 4 ) E[e^2(n)]=E[(s(n)-\sum_{m=0}^{+\infty}h(m)x(n-m))^2]\qquad (4) E[e2(n)]=E[(s(n)m=0+h(m)x(nm))2](4)
要使得均方误差最小,则对(4)各个h(m)求偏导,并且等于零,得:
2 E [ ( s ( n ) − ∑ m = 0 + ∞ h ( m ) o p t x ( n − m ) ) x ( n − j ) ] j = 0 , 1 , 2 , 3... ( 5 ) 2E[(s(n)-\sum_{m=0}^{+\infty}h(m)_{opt}x(n-m))x(n-j)]\quad j=0,1,2,3...\qquad (5) 2E[(s(n)m=0+h(m)optx(nm))x(nj)]j=0,1,2,3...(5)
用相关函数R来表示上式,则得到维纳-霍夫方程的离散形式:
R s x ( j ) = ∑ m = 0 + ∞ h ( m ) o p t R x x ( j − m ) j = 0 , 1 , 2 , 3... ( 6 ) R_{sx}(j)=\sum_{m=0}^{+\infty}h(m)_{opt}R_{xx}(j-m)\quad j=0,1,2,3...\qquad (6) Rsx(j)=m=0+h(m)optRxx(jm)j=0,1,2,3...(6)
从维纳-霍夫方程中解出的h就是最小均方差下的最佳h。

4. 有限脉冲响(FIR, Finite Impulse Response)应法求解维纳-霍夫方程

设h(n)是一个因果序列且可以用有限长(N)的序列去逼近它,则得到:
y ( n ) = s ^ ( n ) = ∑ m = 0 N

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值