通俗理解卡尔曼滤波

1,347 阅读2分钟

通俗理解卡尔曼滤波 假设你有两个传感器,测的是同一个信号。可是它们每次的读数都不太一样,怎么办?

取平均。

再假设你知道其中贵的那个传感器应该准一些,便宜的那个应该差一些。那有比取平均更好的办法吗?

加权平均。

怎么加权?假设两个传感器的误差都符合正态分布,假设你知道这两个正态分布的方差,用这两个方差值,(此处省略若干数学公式),你可以得到一个“最优”的权重。

接下来,重点来了:假设你只有一个传感器,但是你还有一个数学模型。模型可以帮你算出一个值,但也不是那么准。怎么办?

把模型算出来的值,和传感器测出的值,(就像两个传感器那样),取加权平均。

OK,最后一点说明:你的模型其实只是一个步长的,也就是说,知道x(k),我可以求x(k+1)。问题是x(k)是多少呢?答案:x(k)就是你上一步卡尔曼滤波得到的、所谓加权平均之后的那个、对x在k时刻的最佳估计值。

于是迭代也有了。

这就是卡尔曼滤波。

滤波器(如卡尔曼)与观测器(如龙伯格)的区别和联系是什么?

联系: 形式均为

\dot{\hat{x}}=A \hat{x}+B u+L(y-C \hat{x})

不同之处在于update/innovation的权重L的选择。隆伯格观测器选择L是通过极点配置的,卡尔曼滤波器里L也叫卡尔曼增益,是给定了建模误差和量测噪声误差的统计特性之后,选择出来的最小线性方差的增益

既然这两差不多,那我直接用观测器就行了呗,为啥还要用卡尔曼?

一句话,龙伯格观测器并未考虑模型误差和测量噪声!

卡尔曼滤波器的极点配置是最优的