信号处理学习笔记2——维纳滤波器

发布时间:2025-12-10 11:30:16 浏览次数:3

1. 维纳滤波器的引出

    在讨论维纳滤波之前,先来看看维纳滤波器在线性滤波器体系中处于什么位置。
  经典的FIR和IIR滤波器要求已知信号和噪声的频谱信息,并且信号和噪声的频谱没有交叠。信号和噪声的频谱有交叠时,如果硬要使用FIR和IIR当然也可以,但要么会造成噪声滤除不干净,要么会造成滤除噪声的同时对有用信号造成“误伤”。
  实际上,在信号和噪声频谱有交叠时,滤波问题演变为在已知观测量的前提下,对未知信号进行**估计的问题(所以这里信号也称为估计量)。既然希望估计是**,那必然要有个评价准则,不同的评价准则便衍生出不同的估计方法(在信号处理领域就称为滤波方法)。
  在对信号进行估计时还有一个重要问题,那就是是否有估计量的先验知识。
  若没有估计量的任何先验知识,则把估计量视为一个常量,对应的是经典估计理论。按照**评价准则不同,有最大似然估计(MLE)、矩估计、**线性无偏估计(BLUE)、最小二乘估计(LSE)等。
  若已经知道估计量的一些先验知识,比如概率密度函数(PDF)、统计特性等,则把估计量视为在先验知识约束下的随机变量,而某一时刻求出的估计量则是该变量的一个具体实现。这时使用的是贝叶斯估计理论,它将观测结果和估计量的先验知识结合起来,结果比经典估计理论更准确。按照**评价准则不同,有最小均方误差估计(MMSE)、最大后验估计(MAP)、线性最小均方误差估计(LMMSE)等。
  在已经知道估计量部分先验知识的情况下,仍然采用经典估计方法也是可以的。但是有先验知识而不用,理论上来说估计精读必然比贝叶斯估计要低。
  维纳滤波就是线性最小均方误差估计(LMMSE)在信号处理领域的具体应用。按照上面的描述,它需要已知估计量的先验知识。

2. 维纳滤波器理论分析

    维纳滤波属于线性滤波器的一种,是由数学家维纳(Rorbert Wiener)提出的一种以最小均方误差为最优准则的线性滤波器。它要求观测量广义随机平稳的,并且要求已知观测量和估计量的前2阶矩,即均值和协方差矩阵。这里观测量和估计量是估计理论中的叫法,分别对应含噪信号和滤除噪声后的信号。
  维纳滤波器是线性时不变系统,与经典线性滤波器一样存在卷积表达形式。
  假设输入为x(n)=s(n)+v(n)x(n)=s(n)+v(n)x(n)=s(n)+v(n), 冲激响应为h(n)h(n)h(n),输出为y(n)y(n)y(n),则
  y(n)=∑ih(i)x(n−i)y(n)=\sum_{i}h(i)x(n-i)y(n)=∑i​h(i)x(n−i)  (1)
  维纳滤波器设计的核心就是要根据观测量x(n)x(n)x(n)和估计量s(n)s(n)s(n)的特性,求解冲激响应h(n)h(n)h(n)。然后就可以利用h(n)h(n)h(n)愉快地滤波了。
  h(n)h(n)h(n)按最小均方误差准则确定,该准则表示为:
  ξ(n)=E(e2(n))=min\xi(n)=E(e^2(n))=minξ(n)=E(e2(n))=min   (2)
  其中e(n)是估计误差,
  e(n)=s(n)−y(n)e(n)=s(n)-y(n)e(n)=s(n)−y(n)      (3)
  
    为了按最小均方误差准则求解h(n)h(n)h(n),令ξ(n)\xi(n)ξ(n)对h(j)h(j)h(j)的导数为0,即
  ∂ξ(n)∂h(j)=2E[e(n)∂e(n)∂h(j)]=−2E[e(n)x(n−j)]=0\frac {\partial \xi(n)}{\partial h(j)}=2E[e(n) \frac {\partial e(n)}{\partial h(j)}]=-2E[e(n)x(n-j)]=0∂h(j)∂ξ(n)​=2E[e(n)∂h(j)∂e(n)​]=−2E[e(n)x(n−j)]=0 
  由此得到
  E[e(n)x(n−j)]=0,∀jE[e(n)x(n-j)]=0, \forall jE[e(n)x(n−j)]=0,∀j  (4)
  式(4)称为正交方程,它表明任意时刻的估计误差都与滤波器的输入正交,也就是说滤波器的输入信息被完全利用了。
  将式(1)和(2)代入式(4),得:
  Rsx(m)=∑ih(i)Rxx(m−i),∀mR_{sx}(m)=\sum_{i}h(i)R_{xx}(m-i),\forall{m}Rsx​(m)=∑i​h(i)Rxx​(m−i),∀m   (5)
  式中,Rsx(m)R_{sx}(m)Rsx​(m)是s(n)s(n)s(n)与x(n)x(n)x(n)的互相关函数,Rxx(m)R_{xx}(m)Rxx​(m)是x(n)x(n)x(n)的自相关函数,分别定义为
  Rsx(m)R_{sx}(m)Rsx​(m)=E[s(n)x(n+m)]
  Rxx(m)R_{xx}(m)Rxx​(m)=E[x(n)x(n+m)]
  式(5)就是维纳滤波的核心——著名的维纳-霍夫(Wiener-Hopf)方程。根据该方程求出h(i)h(i)h(i)后,就可以愉快地对信号进行滤波了。

3. 维纳-霍夫方程的求解

    按照前面的叙述,维纳滤波器设计的核心问题就是根据RsxR_{sx}Rsx​和RxxR_{xx}Rxx​求解维纳-霍夫方程。按照该方程中iii的取值范围不同,分别对应3种不同滤波器形式:

  • 有限冲激响应(FIR)维纳滤波器:iii从0到N−1N-1N−1取有限个整数值
  • 非因果无限冲激响应(非因果IIR)维纳滤波器:iii从−∞-∞−∞到+∞+∞+∞取所有整数值
  • 因果无限冲激响应(因果IIR)维纳滤波器:iii从0到+∞+∞+∞取正整数值

    三种形式下滤波器的求解方法也不相同。

3.1 FIR维纳滤波器


    可以看出,求解hopth_{opt}hopt​需要矩阵求逆,但相关矩阵R为对称且为Toeplitz形式,故可借助数学手段对R高效求逆——Levinson-Durbin算法。
  因为在时域分析,所以FIR维纳滤波器也叫时域维纳滤波器。

3.2 非因果IIR维纳滤波器



    因为在频域分析,非因果IIR维纳滤波器也叫频域维纳滤波器。

3.3 因果IIR维纳滤波器


    然后再根据H(z)H(z)H(z)反过来求解h(n)h(n)h(n)。一般情况下,因果IIR维纳滤波器的求解比较困难。

4. 几个问题的理解

4.1 维纳滤波器是FIR还是IIR的?

    由前面的叙述可以看出,维纳滤波器是一个大框架,仅定义了线性均方误差最小的准则,并不限制FIR还是IIR,具体由设计者定。

4.2 维纳滤波器和卡尔曼滤波器的关系?

    在姚天任《现代数字信号处理(第2版)》第2.4~第2.5节种,给出了因果IIR的一个特例,即假设已知信号模型和观测模型(对应卡尔曼滤波中的状态转移方程和观测方程),二者均为线性,并且信号噪声和观测噪声均为高斯白噪声,推导为递推形式发现,这就是卡尔曼滤波器!
  因此,卡尔曼滤波器本质上就是因果IIR维纳滤波器的递推表示形式。
  维纳滤波和卡尔曼滤波的区别是:维纳滤波要求观测量广义随机平稳并且已知观测量和信号的统计特性;卡尔曼滤波的条件更苛刻,要求已知状态转移方程和观测方程,二者均为线性,并且状态噪声和观测噪声均为高斯白噪声。

4.3 维纳滤波器为什么比经典滤波器优秀?

    以非因果维纳滤波器为例,说明为什么维纳滤波器比经典滤波器性能好。
  设s(n)s(n)s(n)与v(n)v(n)v(n)不相关,则
  Ss(s+v)(z)=Sss(z)+Ssv(z)=Sss(z)S_{s(s+v)}(z)=S_{ss}(z)+S_{sv}(z)=S_{ss}(z)Ss(s+v)​(z)=Sss​(z)+Ssv​(z)=Sss​(z)
  Sxx(z)=Sss(z)+Svv(z)S_{xx}(z)=S_{ss}(z)+S_{vv}(z)Sxx​(z)=Sss​(z)+Svv​(z)
  将上面两个式子代入3.2节非因果IIR维纳滤波器传输函数,得
  Hopt(z)=Sss(z)Sss(z)+Svv(z)H_{opt}(z)=\frac{S_{ss}(z)} {S_{ss}(z)+S_{vv}(z)}Hopt​(z)=Sss​(z)+Svv​(z)Sss​(z)​
  令z=ejwz=e^{jw}z=ejw,上式成为
  Hopt(w)=∣Sss(w)∣∣Sss(w)+Svv(w)∣H_{opt}(w)=\frac{|S_{ss}(w)|} {|S_{ss}(w)+S_{vv}(w)|}Hopt​(w)=∣Sss​(w)+Svv​(w)∣∣Sss​(w)∣​
  
    图形解释如下图。经典IIR滤波器H(w)H(w)H(w)在B点降为0,将使噪声混入信号。而维纳滤波器在有噪声处就开始衰减使得混入的噪声减少,保证在线性均方准则下**。

参考文献:

  • 姚天任,现代数字信号处理(第二版),第2章
  • Steven著,罗鹏飞 等译,统计信号处理基础-估计理论和检测理论,第12章
  • 需要做网站?需要网络推广?欢迎咨询客户经理 13272073477