为什么看卡尔曼滤波
因为想要对变化/趋势进行预测,应用偏向于机械等故障类的预测。
也看了不少卡尔曼滤波相关的东西,大多是零散的理论或者拿来就用的代码。因为想要尽快使用,所以就希望能找到代码为自己所用,然而这个算盘打散了。因为不懂拿来也不会用。就这么拖着拖着的。直到我看见这篇博客,并跟着在matlab上运行并将其改成了C++版本之后,再回去探究状态方程等等的东西就有了一种恍然大明白的感觉,同时上篇博客的实现代码在我自以为明白之后又觉得有点问题(也希望大家批判的看,欢迎指正讨论)。文章中还会分享我看过觉得不错的博客用于更好的理解。
什么是卡尔曼滤波
卡尔曼滤波(Kalman filtering)一种利用线性系统状态方程,通过系统输入、输出和观测数据,对系统状态进行最优估计的算法。由于观测数据中包括系统中的噪声和干扰的影响,所以最优估计也可看作是滤波过程。
解释卡尔曼滤波有两个博客特别特别值得推荐这是第一个(这篇猪猪文章一定要多看几遍才能理会精髓),这是第二个(举例解释了状态方程等问题)
在《卡尔曼滤波与组合导航原理》这样写:
卡尔曼滤波从与被提取信号有关的量测量中通过算法估计出所需信号。
估计过程中利用了:系统方程、量测方程、白噪声激励的统计特征、量测误差的统计特性。
确切地说,卡尔曼滤波应称作最优估计理论(此处滤波与常规滤波的具有完全不同的概念和含义)。
就实现行式而言,卡尔曼滤波器实质上是一套由数字计算机实现的递推算法。量测量可看做卡尔曼滤波器的输入,估计值可看作输出,输入和输出之间由时间更新和量测更新算法联系。
网友评论