![b73eda322741dbe4a5f0383ac14ccea6.png](https://i-blog.csdnimg.cn/blog_migrate/80b3a2ca4a6dbed63112707af5472c59.jpeg)
来源 · 知乎
作者 · 三脚猫Frank
编辑 · 睿小妹
原文 · https://zhuanlan.zhihu.com/p/166342719
从零开始介绍 Kalman filter系列的文章花费了我许多时间整理。这个话题我一直不想开始讲,是因为真的要讲好这一块,并且从基础开始讲,是非常不容易的。这就是控制的难学之处,内容庞杂!Kalman Filter既是控制设计方面学习者的 需知常识,也是 传感器系统设计和优 化,信号处理,系统辨识等领域的实践者的 必备知识。 理解Kalman filter需要大概四块领域的知识:- 概率和随机过程理论(Probability and Random Process Theory)
- 统计学和最优估计理论(Statistics and optimal estimation)
- 信号处理 (Signal Proccessing)
- 动力学系统常识(Dynamic Systems)
- What is Kalman Filter and its use? 卡尔曼滤波器和它的用途
- Why is Kalman Filter a Filter? 为什么叫 “滤波器”?
- Theory of Random Variable 随机变量理论
- Theory of Random Process 随机过程理论
- Theory of Signal Processing 信号处理理论
- Summary 小结
What is Kalman Filter and its use? 卡尔曼滤波器和它的用途
Kalman filter这个名字是以控制领域大神 R. E. Kalman命名的一种滤波技术,或者说 状态估计(state estimation)方法。如果不以他名字来命名,这个方法还可以叫做 Linear Least-Mean-Squares Estimator(线性最小均方差估计),或者 Linear Quadratic Estimator (线性二次型估计)[1,p1]。 Kalman Filter的使用对象通常是一个 线性随机系统(Linear stochastic system),通过测量的含有随机噪音的输出来估计出最优的系统状态。这种最优性是建立在使得 mean squared errors(MSE)最小的意义下,故有这两个名字。你可能还听说过 Extended Kalman filter(EKF,扩展卡尔曼滤波器),Adaptive Kalman Filtering(AKF, 自适应卡尔曼滤波)等等名词,先别着急,在把基本的知识介绍完后,再看也不迟。更多关于Kalman的一些事迹,将来有机会专门读些资料作为科普写一写。 Kalman filter的应用十分广泛,提供了可以真正实用的针对 有限维随机系统的 实时状态最优估计。它作为一种工具,主要有两方面的应用: state estimation 与 performance analysis of estimation system[1,p4]。 1.状态估计(state estimation): 我们之前讲过用 Luenberger observer来估计线性时不变系统(LTI)的状态,那时候我们并没有考虑系统的输出中夹杂着的随机噪音的信息。 注意!如果你看过我这个专栏之前关于观测器的文章,Luenberger observer是通过反馈的手段来抑制最后输出中的不确定性。我们知道在Luenberger observer的观测器方程中存在一个增益矩阵Why is Kalman Filter a Filter? 为什么称之为 “滤波器”?
这是许多信号处理和控制的初学者经常问的一个问题: 文献和书上总是出现filter或者filtering这个词的含义是什么?包括在computer science领域的imagine processing领域,我们也时常能看到各种滤波算法。 filter,原来的意思就是 过滤器,或者俗称 筛子。所谓过滤器,我们都知道,学化学或者生物的时候我们用来去处混合物中的 杂质(impurities)用的。包括现在的很多净化产品,比如自来水过滤头,空气净化器本质上起到了的就是过滤作用。后来filter这个词被引入了信号处理领域,所谓的impurities在这个领域中往往是我们不想要的 噪音(noise)分量。 我们听过的 低通滤波器(low-pass filter), 高通滤波器(high-pass filter),带 通滤波器(band-pass filter),无论是数字的还是模拟的,都起到了滤除信号中不想要频率的作用。我在之前的专栏文章中也讲过,一个实际系统频响幅值越往高频走越小,信号输入系统后,其输出相当于通过了一个low-pass filter,此时该系统也可以被称为一个滤波器。这类对filter的理解,是“改变”了输入信号的频域信息,使得对应输出达到了我们想要的去除噪音的效果。把噪音和filter的定义广义化,我们可以定义不同物理形式的滤波器。 不同于关注点在频率设计上的滤波器, Kalman filter和维纳滤波器(Wiener filter)采用了噪音和系统状态的统计学信息,一般以最小化mean-squared error(均方差)为优化目标,来给出原输入信号的 最优估计(optimal estimation),这个estimation的 最优性(optimality)是以最小均方差为准的。 Kalman filter和Wiener filter之间有各方面的差别,我们这里暂时不去细究。从实际应用上来讲,Kalman filter和它的改进版本由于适用于 nonstationary process(非平稳过程)使用更加广泛。既然能够以某种最优标准还原信号,Kalman filter就拥有了一个与filter等同的功能: 降噪(noise reduction)。这也是为什么Kalman filter被称之为所谓的滤波器的原因。![0b9dc39b6ff0fc979231b819135fc3c8.gif](https://i-blog.csdnimg.cn/blog_migrate/0a9c989efe27f94299f97e8efda68fa3.gif)
- 使用可测量的信号,还原不能被直接测量或者带有噪音的信号。
- 区别另外两种不同的信号处理方式:smoothing 和 prediciton