当前位置:网站首页>了解CV和RoboMaster视觉组(五)滤波器、观测器和预测方法:维纳滤波器Wiener Filter,LMS
了解CV和RoboMaster视觉组(五)滤波器、观测器和预测方法:维纳滤波器Wiener Filter,LMS
2022-08-09 03:34:00 【HNU跃鹿战队】
接下来两个滤波器对数学和信号处理的知识要求较高,没有相关基础的萌新 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=0∑nh(k)x(n−k)
这里的 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)2−2y(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\} ▽=∂ωT∂L=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)}−1⋅E(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[n−1],x[n]
之后,再对输入信号进行滤波从而获取原信号的最优估计。因此,当我们面对已经完成采集的图像(相当于在拍摄瞬间完成所有光强信号的定格,序列是一个空间序列,又叫空间域)、音频(扬声器产生了失真,需要进行还原)、dian等,就可以使用wiener filter对其进行处理。显然,对于一个动态的任意信号而言,我们很难获取该信号与输入的互相关还有输入信号的自相关这些先验信息,因为这要求我们获取信号的全部观察数据。由于输入过程取决于外界的信号、干扰环境,这种环境的统计特性常常是未知的、变化的,导致我们无法在获取信号的过程中实时求取 ω o \omega_o ωo.
如果不知道被估计量的任何信息则无法使用LMSEF。但可以对这些先验进行假设使其符合一定的形式,和实际情况越贴近则滤波效果越好。
同样,以其他准则为最优的滤波器或多或少也会受到需要统计特性已知或平稳信号的限制,这也促使人们开发出了自适应滤波器。此外,由于要进行矩阵的求逆运算,若序列数据的长度很大或是数据的维度和规模很大,我们会遇到“维数灾难”,求解的难度乘指数级上升。
wiener filter和linear filter的对比 相对于一般的线性滤波器(由虚线BC表示的理想滤波器),维纳滤波的响应(上图中的斜线)在噪声和信号的重叠处就开始衰减,使得噪声对原信号的影响减小。其倾斜程度和曲率取决于原信号和噪声的强度比。
边栏推荐
- SQL注入(3)
- 【CAS:41994-02-9 |Biotinyl Tyramide|】生物素基酪氨酰胺
- 30 norm
- 33 Basic Statistics - One Item Nonparametric Test
- 29 机器学习中常常提到的正则化到底是什么意思
- 荣耀路由(WS831)做无线中继时LAN网段与WAN网段冲突解决方法
- PhotoShop软件笔记
- "The Sword Offer" Problem Solution - week1 (continuously updated)
- 2021-07-21
- How to resolve the conflict between LAN segment and WAN segment when Honor router (WS831) is used as wireless relay
猜你喜欢
5. Index optimization practice
交换VLAN实验
嵌入式系统驱动高级【2】——平台总线式驱动开发上_基础框架
已解决ModuleNotFoundError: No module named ‘Workbook‘
创建一个DAPP的全流程
30 norm
Second data CEO CAI data warming invited to jointly organize the acceleration data elements online salon
作为常用的荧光标记试剂Cy5 亚磷酰胺(CAS号:182873-67-2)有哪些特点了?
【Redis底层解析】字典类型
JSP入门
随机推荐
Embedded system driver advanced [3] - __ID matching and device tree matching under platform bus driver development
PhotoShop软件笔记
cmd路径空格问题解决方案
Swift3.0设置状态栏的背景颜色与文字颜色
下秒数据CEO蔡致暖受邀参加联合数据举办《数据要素加速跑》线上沙龙
SIP协议栈学习之开始篇
5. Index optimization practice
以赛促练-力扣第84场双周赛反思以及第305场周赛补题
了解CV和RoboMaster视觉组(五)local-distribution汇聚方法
SQL JOIN上的and
宝塔实测-TinkPHP5.1框架小程序商城源码
leetcode-23.合并K个升序链表
A few words about Microsoft's 2022/2023 autumn recruits
06 Dynamic memory
【 21 based texture (2, bump mapping theory) 】
项目中'说到做不到'的个人分析
33 基本统计知识——单项非参数检验
JSON beautification plugin for Chrome
uniapp uview uselect 时间选择 日期生成代码
Image.new() 及 img.paste() 的用法记录