首先,递归滤波器与kalman滤波器在原理上有相似之处。
递归滤波器表示为下面几步,本质上与kalman滤波的思想是比较相似的。但是卡尔曼滤波所采用的增益是随时间变化逐渐趋近于稳定的,当滤波器收敛之后,理论上系统可以得到状态值的最优后验估计。

首先,定义线性系统表示为:

误差可以表示为:

预测方程表示为:

更新方程表示为:

实际情况下,系统常常是非线性的。假设非线性系统表示为

设计非线性kalman滤波系统,首先需要对非线性系统进行线性化,其中线性化的点被称为**“operating point**”,通常认为选取真实点作为**“operating point**”是最合适的。但由于误差的存在真实值往往是未知的。因此采用泰勒展开的方式将更新矩阵在 x^k−1 处线性化,可以表示为**(其中x^k−1 为k-1时刻的后验估计)**

其中A为状态量x k 对状态量x k−1的雅克比矩阵,∗∗W k 为状态量x k 对状态量w k−1 的雅克比矩阵**。观测方程在x~k 处线性化,可以表示为

雅克比矩阵表示为

协方差矩阵表示为

扩展卡尔曼滤波可以表示为

更新方程表示为

结合组合导航原理,从上面的公式推导中可以得到下面的结论:

  1. 求导获得雅克比矩阵,不光需要对状态量进行求导,还需要对噪声进行求导;
  2. 一般认为上式中的 x^k为后验估计值,与误差状态kalman滤波中对“真实值”和“标称值”的定义并不一致。

简明ESKF推导

下面以组合导航为例讨论EKF的用法。在组合导航中,常用误差状态量表示状态更新,具有诸多优点不赘述。

首先,对于一般的非线性系统,将状态量进行误差化可以表示为下式,就可以使用扩展

但是在组合导航的状态量运行学预测更新的计算中,已知状态导数与状态之间的转移矩阵,比如

可以推导出误差状态的微分公式如下:(这里是忽略了加速度计的零偏值,不是特别准确)

这里面的表示有点问题,需要注意正负。