格物致知之卡尔曼滤波(Kalman Filtering)——(7)扩展卡尔曼滤波(EKF)一阶滤波

  • 一、状态空间模型
  • 二、泰勒级数展开公式
  • 三、麦克劳林展开公式
  • 三、多维向量函数泰勒级数一维展开
  • 五、 一阶泰勒展式取近似
  • 六、kalman与扩展kalman 公式对比
  • 参考文献


  卡尔曼滤波器是为线性系统设计的算法,不能用于非线性系统中。但是事实上在实际工程中多数系统都是非线性的,所以如果卡尔曼滤波器不能用在非线性系统中的话,那么它的应用范围就非常有限了。扩展卡尔曼滤波(EKF)就是为了打破卡尔曼滤波器只能用于线性系统的局限性而设计出来的,一般解决非线性系统线性化是通过泰勒级数展开,省略高阶项得到一个近似的线性系统。这种处理非线性系统的方法被称为扩展卡尔曼滤波(EKF)

一、状态空间模型

扩展卡尔曼滤波 雷达目标跟踪 扩展的卡尔曼滤波_状态空间

扩展卡尔曼滤波 雷达目标跟踪 扩展的卡尔曼滤波_卡尔曼滤波算法_02

二、泰勒级数展开公式

扩展卡尔曼滤波 雷达目标跟踪 扩展的卡尔曼滤波_状态空间_03 处具有 扩展卡尔曼滤波 雷达目标跟踪 扩展的卡尔曼滤波_扩展卡尔曼滤波 雷达目标跟踪_04 阶导数的函数 扩展卡尔曼滤波 雷达目标跟踪 扩展的卡尔曼滤波_线性系统_05, 利用关于扩展卡尔曼滤波 雷达目标跟踪 扩展的卡尔曼滤波_线性系统_06扩展卡尔曼滤波 雷达目标跟踪 扩展的卡尔曼滤波_扩展卡尔曼滤波 雷达目标跟踪_04 次多项式逼近函数 值的方法。
  若函数 扩展卡尔曼滤波 雷达目标跟踪 扩展的卡尔曼滤波_线性系统_05 在包含 扩展卡尔曼滤波 雷达目标跟踪 扩展的卡尔曼滤波_扩展卡尔曼滤波 雷达目标跟踪_09 的某个闭区间 扩展卡尔曼滤波 雷达目标跟踪 扩展的卡尔曼滤波_卡尔曼滤波算法_10 上具有 扩展卡尔曼滤波 雷达目标跟踪 扩展的卡尔曼滤波_扩展卡尔曼滤波 雷达目标跟踪_04 阶导数,且在开区间 扩展卡尔曼滤波 雷达目标跟踪 扩展的卡尔曼滤波_卡尔曼滤波算法_12 上具有 扩展卡尔曼滤波 雷达目标跟踪 扩展的卡尔曼滤波_卡尔曼滤波_13 阶导数,则 对闭区间 扩展卡尔曼滤波 雷达目标跟踪 扩展的卡尔曼滤波_卡尔曼滤波算法_10 上的任意一点 扩展卡尔曼滤波 雷达目标跟踪 扩展的卡尔曼滤波_卡尔曼滤波算法_15 ,都有:
扩展卡尔曼滤波 雷达目标跟踪 扩展的卡尔曼滤波_状态空间_16
其中 扩展卡尔曼滤波 雷达目标跟踪 扩展的卡尔曼滤波_线性系统_17 表示函数 扩展卡尔曼滤波 雷达目标跟踪 扩展的卡尔曼滤波_线性系统_05扩展卡尔曼滤波 雷达目标跟踪 扩展的卡尔曼滤波_状态空间_03 处的 扩展卡尔曼滤波 雷达目标跟踪 扩展的卡尔曼滤波_扩展卡尔曼滤波 雷达目标跟踪_04 阶导数,等式右边成为泰勒展开式,剩余的 扩展卡尔曼滤波 雷达目标跟踪 扩展的卡尔曼滤波_线性系统_21 是泰勒展 开式的余项,是 扩展卡尔曼滤波 雷达目标跟踪 扩展的卡尔曼滤波_扩展卡尔曼滤波 雷达目标跟踪_22

三、麦克劳林展开公式

扩展卡尔曼滤波 雷达目标跟踪 扩展的卡尔曼滤波_扩展卡尔曼滤波 雷达目标跟踪_09 取0的情况,即是泰勒公式的特殊形式,若 扩展卡尔曼滤波 雷达目标跟踪 扩展的卡尔曼滤波_线性系统_05扩展卡尔曼滤波 雷达目标跟踪 扩展的卡尔曼滤波_扩展卡尔曼滤波 雷达目标跟踪_25 处n阶连续可导,则下式成立:

扩展卡尔曼滤波 雷达目标跟踪 扩展的卡尔曼滤波_线性系统_26

其中 扩展卡尔曼滤波 雷达目标跟踪 扩展的卡尔曼滤波_线性系统_27 表示 扩展卡尔曼滤波 雷达目标跟踪 扩展的卡尔曼滤波_线性系统_05 的n阶导数。

麦克劳林展开的形象描述图:

扩展卡尔曼滤波 雷达目标跟踪 扩展的卡尔曼滤波_卡尔曼滤波_29

  实际应用中,泰勒公式需要截断,只取有限项,一个函数的有限项的泰勒级数叫做泰勒展开式。泰勒公式的余项可以用于估算这种近似的误差。 泰勒展开式的重要性体现在以下三个方面:

  1. 幂级数的求导和积分可以逐项进行,因此求和函数相对比较容易。
  2. 一个解析函数可被延伸为一个定义在复平面上的一个开片上的解析函数,并使得复分析这种手法可行。
  3. 泰勒级数可以用来近似计算函数的值。

三、多维向量函数泰勒级数一维展开

  当变量是多维向量时,一维的泰勒展开就需要做拓展,具体形式如下:
扩展卡尔曼滤波 雷达目标跟踪 扩展的卡尔曼滤波_状态空间_30
其中, 扩展卡尔曼滤波 雷达目标跟踪 扩展的卡尔曼滤波_状态空间_31 表示雅克比矩阵, 扩展卡尔曼滤波 雷达目标跟踪 扩展的卡尔曼滤波_状态空间_32 表示高阶无穷小。
扩展卡尔曼滤波 雷达目标跟踪 扩展的卡尔曼滤波_线性系统_33
这里, 扩展卡尔曼滤波 雷达目标跟踪 扩展的卡尔曼滤波_状态空间_34扩展卡尔曼滤波 雷达目标跟踪 扩展的卡尔曼滤波_扩展卡尔曼滤波 雷达目标跟踪_35 维, 扩展卡尔曼滤波 雷达目标跟踪 扩展的卡尔曼滤波_卡尔曼滤波_36 状态向量为 扩展卡尔曼滤波 雷达目标跟踪 扩展的卡尔曼滤波_扩展卡尔曼滤波 雷达目标跟踪_04 维, 扩展卡尔曼滤波 雷达目标跟踪 扩展的卡尔曼滤波_扩展卡尔曼滤波 雷达目标跟踪_38
一般来说,EKF在对非线性函数做泰勒展开时,只取到一阶导和二阶导,而由于二阶导的计算复杂性,更多的实际应用只取到一阶导,同样也能有较好的结果。取一阶导时,状态转移方程和观测方程 就近似为线性方程,高斯分布的变量经过线性变换之后仍然是高斯分布,这样就能够延用标准卡尔曼滤波的框架。

五、 一阶泰勒展式取近似

非线性状态方程
扩展卡尔曼滤波 雷达目标跟踪 扩展的卡尔曼滤波_状态空间_39
虽然系统有误差但是其误差任然服从正态分布,由于系统有误差,也不能在真实值处进行线性化,所以扩展卡尔曼滤波 雷达目标跟踪 扩展的卡尔曼滤波_卡尔曼滤波算法_40扩展卡尔曼滤波 雷达目标跟踪 扩展的卡尔曼滤波_卡尔曼滤波_41扩展卡尔曼滤波 雷达目标跟踪 扩展的卡尔曼滤波_状态空间_42时刻的后验估计即上一次)处进行线性化操作。 1

用泰勒展开进行线性化操作:
扩展卡尔曼滤波 雷达目标跟踪 扩展的卡尔曼滤波_线性系统_43
假设误差扩展卡尔曼滤波 雷达目标跟踪 扩展的卡尔曼滤波_卡尔曼滤波_44则:
扩展卡尔曼滤波 雷达目标跟踪 扩展的卡尔曼滤波_卡尔曼滤波算法_45

扩展卡尔曼滤波 雷达目标跟踪 扩展的卡尔曼滤波_卡尔曼滤波_46,则扩展卡尔曼滤波 雷达目标跟踪 扩展的卡尔曼滤波_线性系统_47扩展卡尔曼滤波 雷达目标跟踪 扩展的卡尔曼滤波_状态空间_48处线性化:
扩展卡尔曼滤波 雷达目标跟踪 扩展的卡尔曼滤波_扩展卡尔曼滤波 雷达目标跟踪_49
假设误差扩展卡尔曼滤波 雷达目标跟踪 扩展的卡尔曼滤波_卡尔曼滤波算法_50则:
扩展卡尔曼滤波 雷达目标跟踪 扩展的卡尔曼滤波_卡尔曼滤波_51
扩展卡尔曼滤波 雷达目标跟踪 扩展的卡尔曼滤波_卡尔曼滤波算法_52,则:
扩展卡尔曼滤波 雷达目标跟踪 扩展的卡尔曼滤波_卡尔曼滤波算法_53

由于扩展卡尔曼滤波 雷达目标跟踪 扩展的卡尔曼滤波_扩展卡尔曼滤波 雷达目标跟踪_54,则:
扩展卡尔曼滤波 雷达目标跟踪 扩展的卡尔曼滤波_卡尔曼滤波_55

六、kalman与扩展kalman 公式对比

方法

kalman 公式

扩展kalman 公式

先验估计

扩展卡尔曼滤波 雷达目标跟踪 扩展的卡尔曼滤波_卡尔曼滤波算法_56

扩展卡尔曼滤波 雷达目标跟踪 扩展的卡尔曼滤波_卡尔曼滤波算法_56

先验误差协方差矩阵

扩展卡尔曼滤波 雷达目标跟踪 扩展的卡尔曼滤波_卡尔曼滤波算法_56

扩展卡尔曼滤波 雷达目标跟踪 扩展的卡尔曼滤波_卡尔曼滤波算法_56

卡尔曼增益

扩展卡尔曼滤波 雷达目标跟踪 扩展的卡尔曼滤波_卡尔曼滤波算法_56

扩展卡尔曼滤波 雷达目标跟踪 扩展的卡尔曼滤波_卡尔曼滤波算法_56

后验估计

扩展卡尔曼滤波 雷达目标跟踪 扩展的卡尔曼滤波_卡尔曼滤波算法_56

扩展卡尔曼滤波 雷达目标跟踪 扩展的卡尔曼滤波_卡尔曼滤波算法_56

更新误差协方差矩阵

扩展卡尔曼滤波 雷达目标跟踪 扩展的卡尔曼滤波_卡尔曼滤波算法_56

扩展卡尔曼滤波 雷达目标跟踪 扩展的卡尔曼滤波_卡尔曼滤波算法_56

参考文献

【卡尔曼滤波器】6_扩展卡尔曼滤波器_Extended Kalman Filter线性化


  1. 在扩展卡尔曼滤波中,我们并不用前一个时刻的先验值扩展卡尔曼滤波 雷达目标跟踪 扩展的卡尔曼滤波_卡尔曼滤波算法_56(卡尔曼滤波器未经过修正的预测值)作为参考点,而是用前一个时刻的估计值作为参考点做线性化。这是因为相对于先验值,前一个时刻的估计值更加贴近于真实值,将估计值作为线性化参考点可以得到一个更加贴近于实际的线性化系统模型。 ↩︎