卡尔曼滤波器是匈牙利数学家卡尔曼在1960年提出的一种线性滤波和预测的新算法,它通过递归算法高效地处理离散数据线性滤波问题。
卡尔曼滤波器的本质是利用递归算法获得贝叶斯规则最优解:递归指的是时域内可以高效计算,贝叶斯规则指的是在已知观测信号的分布的前提下由真实变量的先验估计推算其后验概率分布,最优解指的是后验估计的误差协方差最小,即最小均方误差准则。
在Google中搜寻关键词"Kalman Filger",第一个链接就是北卡罗来纳大学教堂山分校Greg Welch和Gary Bishop教授写的"An Introduction to the Kalman Filter"。它的地址是:
http://www.cs.unc.edu/~welch/kalman/kalmanIntro.html
我在课余时间翻译了这篇文档,并在两位教授的许可下在这里发布这份文档的中文版本。您可以在左边栏找到中文版本的链接。
原文中有一个用Python/SciPy实现的卡尔曼滤波算法,其地址是:
http://www.scipy.org/Cookbook/KalmanFiltering
我把这个算法用Matlab语言重新写了一遍,源代码也放在左边栏。
本文的翻译得到了两位原作者及其学生Yang Hua的意见和支持,在此表示衷心的感谢!中文版翻译中有任何不得当的地方请联系我,我会尽快修改。
2007年1月16日
更新:
感谢谭涛和郭燕的几点建议,现在修正了译文中疏忽的地方。Changelog
2007年5月18日
感谢周宁的指正,又改正了一处错误。Changelog
2007年7月16日