在前面关于维纳滤波的文章里,提到FIR型维纳滤波器需要求信号相关矩阵维纳滤波估计最优K值python 维纳滤波最陡下降法_维纳滤波估计最优K值python的逆,虽然有Levinson-Durbin算法,但还是比较复杂。
  由于维纳滤波是最小均方误差意义上的最佳估计,那么将均方误差作为代价函数,便可利用最速下降法来迭代求取维纳滤波器的系数。

1. FIR型维纳滤波器的最速下降法推导

维纳滤波估计最优K值python 维纳滤波最陡下降法_最速下降法_02,滤波系数为维纳滤波估计最优K值python 维纳滤波最陡下降法_维纳滤波估计最优K值python_03。输入信号来自均值为0的广义平稳随机过程,相关矩阵为维纳滤波估计最优K值python 维纳滤波最陡下降法_维纳滤波估计最优K值python

  另外,还滤波器还需要一个期望响应维纳滤波估计最优K值python 维纳滤波最陡下降法_维纳滤波估计最优K值python_05,以便为最优滤波提供参考。其实,这里的期望响应就是维纳滤波器中提到的噪声。

  滤波器结构如下图所示:

 

维纳滤波估计最优K值python 维纳滤波最陡下降法_维纳滤波_06


 时刻n的估计误差为:

 维纳滤波估计最优K值python 维纳滤波最陡下降法_迭代_07

 若输入信号维纳滤波估计最优K值python 维纳滤波最陡下降法_最速下降法_08和期望响应维纳滤波估计最优K值python 维纳滤波最陡下降法_最速下降法_09是联合平稳的,则经过一系列推导,时刻n的代价函数维纳滤波估计最优K值python 维纳滤波最陡下降法_维纳滤波_10(其实就是均方误差)可表示为:

 维纳滤波估计最优K值python 维纳滤波最陡下降法_维纳滤波_11

 其中,维纳滤波估计最优K值python 维纳滤波最陡下降法_最速下降法_12是期望输出维纳滤波估计最优K值python 维纳滤波最陡下降法_维纳滤波估计最优K值python_05的方差,

 维纳滤波估计最优K值python 维纳滤波最陡下降法_维纳滤波估计最优K值python_14是输入信号维纳滤波估计最优K值python 维纳滤波最陡下降法_最速下降法_08与期望输出维纳滤波估计最优K值python 维纳滤波最陡下降法_维纳滤波估计最优K值python_05的互相关向量,

 维纳滤波估计最优K值python 维纳滤波最陡下降法_维纳滤波估计最优K值python是输入信号维纳滤波估计最优K值python 维纳滤波最陡下降法_最速下降法_08的相关矩阵。

 再经过推导,代价函数的梯度向量可表达为:

 维纳滤波估计最优K值python 维纳滤波最陡下降法_维纳滤波估计最优K值python_19            (1)

 因此,滤波器系数的迭代表达式为:

 维纳滤波估计最优K值python 维纳滤波最陡下降法_维纳滤波_20 n=0,1,2,…  (2)

 上面这个式子就是FIR型维纳滤波器的最速下降方法。

2. 几点理解

  • 将最速下降法用于FIR型维纳滤波时,噪声就是最速下降法的期望响应。
  • 因为维纳滤波本身就假设信号和噪声是(即这里的抽头输入u(n)和期望响应w(n))广义联合平稳的,所以输入相关矩阵维纳滤波估计最优K值python 维纳滤波最陡下降法_迭代_21以及输入和噪声的互相关向量维纳滤波估计最优K值python 维纳滤波最陡下降法_维纳滤波估计最优K值python_22是恒定的。因此式(1)和式(2)的计算结果仅与上一次迭代时的权值向量(滤波器系数)有关,并且是可以精确计算的。这是与后面LMS自适应滤波最本质的区别。

参考文献:
郑宝玉 等译,自适应滤波器原理,第四版,第4章