了解CV和RoboMaster视觉组(五)滤波器、观测器和预测方法:维纳滤波器Wiener Filter,LMS

--neozng1@hnu.edu.cn

接下来两个滤波器对数学和信号处理的知识要求较高,没有相关基础的萌新 RMer可以跳过这两个滤波器的介绍直接看结论。

  • Least Mean Square Error Filter(最小均方误差滤波器,时域)

    经典的频域滤波器要求对信号与噪声的频谱完全得知,并且两者不能有交叠,否则会造成滤除不干净或是影响原有信号的问题。而估计器则是通过已知信息求在某种标准下的原信号的最优估计。LMSEF是维纳博士提出的以最小均方误差为最优准则的一种线性滤波器,奠定了最优滤波器设计的基础。其对于参考信号(或目标信号,即我们希望得到的信号)和噪声信号的要求是平稳随机信号并且统计特性已知(如果统计特性未知或是会改变,请看下面的自适应滤波器)。维纳滤波的最佳适用场景是处理已经被记录下来的信号,或是能够长时间观测的信号。

    假设真实信号为 y ( n ) y(n) y(n) ,我们采集到的信号序列为 x ( n ) x(n) x(n)(可以将其看成一个向量),噪声为 v ( n ) v(n) v(n)(也看作向量)。我们设经过滤波器后的估计值为 y ^ ( n ) \hat{y}(n) y^(n),对于信号卷积形式
    y ^ ( n ) = ∑ k = 0 n h ( k ) x ( n − k ) \hat{y}(n)=\sum_{k=0}^nh(k)x(n-k) y^(n)=k=0nh(k)x(nk)
    这里的 h ( k ) h(k) h(k)就是对于采样的输入信号的冲激响应;如果将估计值写成$ x(n) $的线性组合形式则有:
    y ( n ) ^ = ω T x ( n ) \hat{y(n)}=\omega^Tx(n) y(n)^=ωTx(n)
    这里 ω T \omega^T ωT就是 h ( k ) h(k) h(k)在不同时间点的值,也就是对 x ( n ) x(n) x(n)序列不同值的加权系数。进一步的,设误差序列为:
    e ( n ) = y ( n ) − y ^ ( n ) e(n)=y(n)-\hat{y}(n) e(n)=y(n)y^(n)
    则均方误差为:
    L = E ( e ( n ) 2 ) L=E(e(n)^2) L=E(e(n)2)

    使得均方误差有最小值,将 L L L的表达式展开,我们将得到一个半正定的二次型
    E { y ( n ) 2 − 2 y ( n ) ω T x ( n ) + ω T x ( n ) x ( n ) T ω } E\{y(n)^2-2y(n)\omega^Tx(n)+\omega^Tx(n)x(n)^T\omega\} E{y(n)22y(n)ωTx(n)+ωTx(n)x(n)Tω}
    ,因此通过取一特定的w会有一个全局最小解。

    我们的目的就是利用已知的信息求取一个 ω \omega ω使得上式的期望最小化:接下来的想法就很简单也很直观了,我们直接对误差函数求导,并让其导数为零,解出的 ω \omega ω就可以让误差函数最小了:
    ▽ = ∂ L ∂ ω T = E { − 2 y ( n ) x ( n ) + 2 x ( n ) T x ( n ) ω } ▽=\frac{\partial{L}}{\partial{\omega^T}}=E\{-2y(n)x(n)+2x(n)^Tx(n)\omega\} =ωTL=E{2y(n)x(n)+2x(n)Tx(n)ω}
    令上式等于零,解得 ω o \omega_o ωo
    ω o = { E ( x ( n ) x ( n ) T ) } − 1 ⋅ E ( y ( n ) x ( n ) ) \omega_o={\{E(x(n)x(n)^T)\}}^{-1}\cdot{E(y(n)x(n))} ωo={E(x(n)x(n)T)}1E(y(n)x(n))
    式中的两个期望,就分别是采样信号的自相关原信号和我们采集到信号的互相关。如果已经得知这些信息,那么就可以求取全局最小解了。从前述的推导就可以发现,我们实际上是在采集到一个序列信号:
    x [ 0 ] , x [ 1 ] , x [ 2 ] ⋯ x [ n − 1 ] , x [ n ] x[0],x[1],x[2]\cdots x[n-1],x[n] x[0],x[1],x[2]x[n1],x[n]
    之后,再对输入信号进行滤波从而获取原信号的最优估计。因此,当我们面对已经完成采集的图像(相当于在拍摄瞬间完成所有光强信号的定格,序列是一个空间序列,又叫空间域)、音频(扬声器产生了失真,需要进行还原)、dian等,就可以使用wiener filter对其进行处理。

    显然,对于一个动态的任意信号而言,我们很难获取该信号与输入的互相关还有输入信号的自相关这些先验信息,因为这要求我们获取信号的全部观察数据。由于输入过程取决于外界的信号、干扰环境,这种环境的统计特性常常是未知的、变化的,导致我们无法在获取信号的过程中实时求取 ω o \omega_o ωo.

    如果不知道被估计量的任何信息则无法使用LMSEF。但可以对这些先验进行假设使其符合一定的形式,和实际情况越贴近则滤波效果越好。

    同样,以其他准则为最优的滤波器或多或少也会受到需要统计特性已知或平稳信号的限制,这也促使人们开发出了自适应滤波器。此外,由于要进行矩阵的求逆运算,若序列数据的长度很大或是数据的维度和规模很大,我们会遇到“维数灾难”,求解的难度乘指数级上升。
    在这里插入图片描述

    wiener filter和linear filter的对比

    相对于一般的线性滤波器(由虚线BC表示的理想滤波器),维纳滤波的响应(上图中的斜线)在噪声和信号的重叠处就开始衰减,使得噪声对原信号的影响减小。其倾斜程度和曲率取决于原信号和噪声的强度比

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值