本系列文章对读者的知识储备要求:
- 知道什么是正态分布、方差、协方差、期望
- 简单线性代数基础(会额外涉及到一个矩阵的求导计算,不需要了解矩阵论,求导公式会给出)
- 知道什么是求导、微分
- 简单C语言基础
本系列文章涉及内容:
- 卡尔曼滤波公式从零开始充分完整的推导,仅涉及标准卡尔曼滤波。
- 用C语言在一维数据(随机生成的数据和电机速度)上实践卡尔曼滤波算法。
本系列文章参考来源:
- DR_CAN的 卡尔曼滤波器
滤波的目的:
滤波是在一串有先后顺序的观测值中尽量估计出接近真值的操作。估计出的值是最优估计值,每收到一个杂乱数据都算出一个最优估计值,即每轮次都有最优估计值。当然,真值永远也无法知道。
卡尔曼滤波核心思想:
用测量值修正系统模型值,得到当前轮次的最优估计值,再将该最优估计值当作下一轮的系统模型输入,继续进行下一轮的最优估计,如此迭代进行。
这样,每轮次的最优估计值都算出来了。
现在看这个思想是符合自然逻辑的,用中文俗语说就是【走一步看一步】,卡尔曼提出来了并用数学语言进行描述,这就是人家的创新之处。