卡尔曼滤波公式及其详细推导(不涉及矩阵求导)

卡尔曼滤波详解:预测与校正公式推导
本文详细解析了卡尔曼滤波的核心公式,包括状态预测、误差协方差预测、卡尔曼增益计算和误差协方差更新。通过递归形式展示如何利用前一时刻状态估计和观测值优化当前时刻状态估计。

卡尔曼滤波公式及推导

1 前言

卡尔曼滤波 (Kalman Filter) 是一种关于线性离散系统滤波问题的递推算法。其使用递推的形式对系统的状态进行估计,以测量中产生的误差为依据对估计值进行校正,使被估计的状态不断接近真实值。

卡尔曼滤波的基本思想:根据系统的状态空间方程,利用前一时刻系统状态的估计值和当前时刻系统的观测值对状态变量进行最优估计,求出当前时刻系统状态的估计值。

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

{ X(k+1)=AX(k)+v(k)Y(k)=HX(k)+w(k)(1.1) \left\{ \begin{aligned} X(k+1) &= AX(k) + v(k) \\ Y(k) &= HX(k) + w(k) \tag{1.1} \end{aligned} \right. { X(k+1)Y(k)=AX(k)+v(k)=HX(k)+w(k)(1.1)

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

2 卡尔曼滤波公式

2.1 预测

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

X(k+1∣k)=AX(k∣k)(2.1) X(k+1|k) = AX(k|k) \tag{2.1} X(k+1k)=AX(kk)(2.1)
P(k+1∣k)=AP(k∣k)AT+Qk(2.2) P(k+1|k) = AP(k|k)A^T + Q_k \tag{2.2} P(k+1k)=AP(kk)AT+Qk(2.2)

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

(2.2)(2.2)(2.2) 是误差的协方差矩阵预测方程。其中,P(k∣k)P(k|k)P(kk)kkk 时刻系统状态的最优估计 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) 对应的误差协方差矩阵。QkQ_kQkkkk 时刻系统过程噪声的协方差矩阵。

2.2 校正

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

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

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

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

其中,Rk+1R_{k+1}Rk+1k+1k+1k+1 时刻测量噪声的协方差矩阵。

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

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

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

以上五个公式在推导过程中的对应关系:

  • (2.1)→(3.1)(2.1) \rightarrow (3.1)(2.1)(3.1)
  • (2.2)→(3.14)(2.2) \rightarrow (3.14)(2.2)(3.14)
  • (2.3)→(3.4)(2.3) \rightarrow (3.4)(2.3)(3.4)
  • (2.4)→(3.19)(2.4) \rightarrow (3.19)(2.4)(3.19)
  • (2.5)→(3.20)(2.5) \rightarrow (3.20)(2.5)
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值