扩展卡尔曼滤波公式

扩展卡尔曼滤波公式

1 前言

在上文《卡尔曼滤波公式及其推导》中,提到了卡尔曼滤波算法适用于线性离散系统。当系统是非线性离散系统时,就需要扩展卡尔曼滤波算法 (Extended Kalman Filter) 对系统状态进行最优估计。

其主要思想是将非线性系统进行线性化,引入雅可比矩阵。

假设非线性离散系统的状态空间方程如下:

{ X ( k + 1 ) = f ( X ( k ) , u ( k ) ) + v ( k ) Y ( k ) = h ( X ( k ) ) + w ( k ) (1.1) \left\{ \begin{aligned} X(k+1) &= f\left(X(k), u(k)\right) + v(k) \\ Y(k) &= h\left(X(k)\right) + w(k) \tag{1.1} \end{aligned} \right. {X(k+1)Y(k)=f(X(k),u(k))+v(k)=h(X(k))+w(k)(1.1)

式中, f ( ⋅ ) f(\cdot) f() 为状态方程, h ( ⋅ ) h(\cdot) h() 为输出方程。 X ( k ) X(k) X(k) k k k 时刻的系统状态, u ( k ) u(k) u(k) k k k 时刻的系统输入, Y ( k ) Y(k) Y(k) k k k 时刻的系统输出,即系统的观测值。 v ( k ) v(k) v(k) 是过程噪声,服从均值为 0 0 0 ,方差为 Q k Q_k Qk 的高斯分布; w ( k ) w(k) w(k) 是传感器测量噪声,服从均值为 0 0 0 ,方差为 R k R_k Rk 的高斯分布。 v ( k ) v(k) v(k) w ( k ) w(k) w(k) 相互独立。 Q k Q_k Qk R k R_k Rk 都是协方差矩阵、对称半正定矩阵。 Q k = E { v ( k ) v T ( k ) } Q_k = E\left\{v(k)v^T(k)\right\} Qk=E{v(k)vT(k)} R k = E { w ( k ) w T ( k ) } R_k = E\left\{w(k)w^T(k)\right\} Rk=E{w(k)wT(k)}

2 扩展卡尔曼滤波公式

2.1 预测

根据 k k k 时刻的最优状态估计预测 k + 1 k+1 k+1 时刻的状态和误差的协方差矩阵。

X ( k + 1 ∣ k ) = f ( X ( k ∣ k ) , u ( k ) ) (2.1) X(k+1|k) = f\left(X(k|k), u(k)\right) \tag{2.1} X(k+1k)=f(X(kk),u(k))(2.1)
P ( k + 1 ∣ k ) = F ( k ) P ( k ∣ k ) F T ( k ) + Q k (2.2) P(k+1|k) = F(k)P(k|k)F^T(k) + Q_k \tag{2.2} P(k+1k)=F(k)P(kk)FT(k)+Qk(2.2)

( 2.1 ) (2.1) (2.1) 是状态预测方程。其中, X ( k ∣ k ) X(k|k) X(kk) k k k 时刻系统状态的最优估计, X ( k + 1 ∣ k ) X(k+1|k) X(k+1k) 是根据 k k k 时刻的系统状态最优估计 X ( k ∣ k ) X(k|k) X(kk) k k k 时刻的系统输入 u ( k ) u(k) u(k) k + 1 k+1 k+1 时刻系统状态的预测。

( 2.2 ) (2.2) (2.2) 是误差的协方差矩阵预测方程。其中, P ( k ∣ k ) P(k|k) P(kk) k k k 时刻系统状态的最优估计 X ( k ∣ k ) X(k|k) X(kk) 对应的误差协方差矩阵, P ( k + 1 ∣ k ) P(k+1|k) P(k+1k) 是系统状态的预测 X ( k + 1 ∣ k ) X(k+1|k) X(k+1k) 对应的误差协方差矩阵。 F ( k ) F(k) F(k) 是方程 f ( X ( k ∣ k ) , u ( k ) ) f\left(X(k|k), u(k)\right) f(X(kk),u(k)) 的雅可比矩阵。 Q k Q_k Qk k k k 时刻系统过程噪声的协方差矩阵。

2.2 校正

根据系统 k + 1 k+1 k+1 时刻实际的观测值(系统输出)对上一步得到的 k + 1 k+1 k+1 时刻系统状态的预测进行校正,得到在 k + 1 k+1 k+1 时刻系统状态的最优估计。

X ( k + 1 ∣ k + 1 ) = X ( k + 1 ∣ k ) + K ( k + 1 ) [ Y ( k + 1 ) − h ( X ( k + 1 ∣ k ) ) ] (2.3) X(k+1|k+1) = X(k+1|k) + K(k+1) \left[Y(k+1) - h\left(X(k+1|k)\right)\right] \tag{2.3} X(k+1k+1)=X(k+1k)+K(k+1)[Y(k+1)h(X(k+1k))](2.3)

其中, X ( k + 1 ∣ k + 1 ) X(k+1|k+1) X(k+1k+1) k + 1 k+1 k+1 时刻系统状态的最优估计; K ( k + 1 ) K(k+1) K(k+1) 是卡尔曼增益矩阵,其计算方法如下:

K ( k + 1 ) = P ( k + 1 ∣ k ) H T ( k ) [ H ( k ) P ( k + 1 ∣ k ) H T ( k ) + R k + 1 ] − 1 (2.4) K(k+1) = P(k+1|k)H^T(k)\left[H(k)P(k+1|k)H^T(k) + R_{k+1}\right]^{-1} \tag{2.4} K(k+1)=P(k+1k)HT(k)[H(k)P(k+1k)HT(k)+Rk+1]1(2.4)

其中, H ( k ) H(k) H(k) 是方程 h ( X ( k ) ) h\left(X(k)\right) h(X(k)) 的雅可比矩阵。 R k + 1 R_{k+1} Rk+1 k + 1 k+1 k+1 时刻测量噪声的协方差矩阵。

为了能使递推算法继续进行,还需要更新 k + 1 k+1 k+1 时刻的误差协方差矩阵:

P ( k + 1 ∣ k + 1 ) = [ I − K ( k + 1 ) H ( k ) ] P ( k + 1 ∣ k ) (2.5) P(k+1|k+1) = \left[I - K(k+1)H(k)\right]P(k+1|k) \tag{2.5} P(k+1k+1)=[IK(k+1)H(k)]P(k+1k)(2.5)

其中, I I I 为单位矩阵, P ( k + 1 ∣ k + 1 ) P(k+1|k+1) P(k+1k+1) k + 1 k+1 k+1 时刻系统状态的最优估计 X ( k + 1 ∣ k + 1 ) X(k+1|k+1) X(k+1k+1) 对应的误差协方差矩阵。

3 小结

扩展卡尔曼滤波公式就是把卡尔曼滤波公式中状态矩阵 A A A 换成了状态方程的雅可比矩阵 F ( k ) F(k) F(k) ,输出矩阵 H H H 换成了输出方程的雅可比矩阵 H ( k ) H(k) H(k)

  • A → F ( k ) A \rightarrow F(k) AF(k)
  • H → H ( k ) H \rightarrow H(k) HH(k)
  • 0
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值