卡尔曼滤波推导

##概述
推导卡尔曼滤波算法中的卡尔曼增益表达式
##模型
状态方程:
x k + 1 = Φ k + 1 x k + w k x_{k+1}= \Phi_{k+1}x_k +w_k xk+1=Φk+1xk+wk
测量方程:
z k = H k x k + v k z_k = H_k x_k+v_k zk=Hkxk+vk
并假定:
E [ x 0 ] = μ 0 x E [ w k ] = 0   ∀ k E [ v k ] = 0   ∀ k c o v { w k , w j } = Q k δ k j c o v { v k , v j } = R k δ k j c o v { x 0 , x 0 } = P 0 c o v { w k , v j } = 0   ∀ k c o v { x 0 , w k } = 0   ∀ k c o v { x 0 , v j } = 0   ∀ k \begin{aligned} \\ & E[x_0] = \mu_0^x\\ & E[w_k] =0\ \forall k \\ & E[v_k] =0\ \forall k \\ & cov\{w_k,w_j\}=Q_k\delta_{kj}\\ & cov\{v_k,v_j\}=R_k\delta_{kj}\\ & cov\{x_0,x_0\}=P_0\\ & cov\{w_k,v_j\}=0 \ \forall k\\ & cov\{x_0,w_k\}=0 \ \forall k\\ & cov\{x_0,v_j\}=0 \ \forall k\\ \end{aligned} \\ E[x0]=μ0xE[wk]=0 kE[vk]=0 kcov{wk,wj}=Qkδkjcov{vk,vj}=Rkδkjcov{x0,x0}=P0cov{wk,vj}=0 kcov{x0,wk}=0 kcov{x0,vj}=0 k
##推导
根据上述条件将推导以下方程:

  1. 状态推断
    x ^ k + 1 − = Φ k + 1 x ^ k \hat{x}_{k+1}^- = \Phi_{k+1}\hat{x}_k x^k+1=Φk+1x^k
  2. 协方差推断
    P k + 1 − = Φ k + 1 P k Φ k + 1 T + Q k P_{k+1}^- =\Phi_{k+1}P_k\Phi_{k+1}^T+Q_k Pk+1=Φk+1PkΦk+1T+Qk
  3. 卡尔曼增益计算
    K k + 1 = P k + 1 − H k + 1 T ( H k + 1 P k + 1 − H k + 1 T + R k + 1 ) − 1 K_{k+1} = P_{k+1}^-H_{k+1}^T( H_{k+1}P_{k+1}^-H_{k+1}^T+R_{k+1}) ^{-1} Kk+1=Pk+1Hk+1T(Hk+1Pk+1Hk+1T+Rk+1)1
  4. 状态更新
    x ^ k + 1 = x ^ k + 1 − + K k + 1 ( z k + 1 − H k + 1 x ^ k + 1 − ) \hat{x}_{k+1} =\hat{x}_{k+1}^- + K_{k+1} ( z_{k+1} - H_{k+1}\hat{x}_{k+1}^-) x^k+1=x^k+1+Kk+1(zk+1Hk+1x^k+1)
  5. 协方差更新
    P k + 1 = P k + 1 − − K k + 1 H k + 1 P k + 1 − P_{k+1} = P_{k+1}^- - K_{k+1}H_{k+1}P_{k+1}^- Pk+1=Pk+1Kk+1Hk+1Pk+1
    令:在k+1步可以得到一个k步的无偏差估计,误差项 x ~ k = x ^ k − x k \widetilde{x}_k = \hat{x}_k -x_k x k=x^kxk的均值为0,协方差为 P k P_k Pk;在k步时的测量值 z k z_k zk为: z k = H k x k + v k z_k= H_k x_k+v_k zk=Hkxk+vk
    下面尝试使 x ^ k + 1 \hat{x}_{k+1} x^k+1 x ^ k \hat{x}_k x^k以如下形式建立联系
    x ^ k + 1 = K k + 1 ′ x ^ k + K k + 1 z k + 1 \hat{x}_{k+1} = K'_{k+1}\hat{x}_k+K_{k+1}z_{k+1} x^k+1=Kk+1x^k+Kk+1zk+1

###Step.1
由式 x ^ k + 1 = K k + 1 ′ x ^ k + K k + 1 z k + 1 \hat{x}_{k+1} = K'_{k+1}\hat{x}_k+K_{k+1}z_{k+1} x^k+1=Kk+1x^k+Kk+1zk+1得:
x ^ k + 1 − x k + 1 = K k + 1 ′ x ^ k + K k + 1 z k + 1 − x k + 1 \hat{x}_{k+1}-x_{k+1} =K'_{k+1}\hat{x}_k+K_{k+1}z_{k+1} - x_{k+1} x^k+1xk+1=Kk+1x^k+Kk+1zk+1xk+1
将式 z k = H k x k + v k z_k= H_k x_k+v_k zk=Hkxk+vk 带入上式得:
x ^ k + 1 − x k + 1 = K k + 1 ′ x ^ k + K k + 1 H k + 1 x k + 1 + v k + 1 − x k + 1 = K k + 1 ′ x ^ k + K k + 1 H k + 1 x k + 1 + v k + 1 − x k + 1 − K k + 1 ′ x k + K k + 1 ′ x k \begin{aligned}\hat{x}_{k+1}-x_{k+1} \\ &=K'_{k+1}\hat{x}_k+K_{k+1} H_{k+1} x_{k+1}+v_{k+1} - x_{k+1}\\ &=K'_{k+1}\hat{x}_k+K_{k+1} H_{k+1} x_{k+1}+v_{k+1} - x_{k+1}-K'_{k+1}x_k+ K'_{k+1}x_k \\ \end{aligned} x^k+1xk+1=Kk+1x^k+Kk+1Hk+1xk+1+vk+1xk+1=Kk+1x^k+Kk+1Hk+1xk+1+vk+1xk+1Kk+1xk+Kk+1xk
化简得:

x ^ k + 1 − x k + 1 = K k + 1 ′ ( x ^ k − x k ) + ( K k + 1 H k + 1 Φ k + 1 − Φ k + 1 + K k + 1 ′ ) x k + ( K k + 1 H k + 1 − I ) w k + 1 + K k + 1 v k \begin{aligned}\hat{x}_{k+1}-x_{k+1} \\ = &K'_{k+1}( \hat{x}_k-x_k)+( K_{k+1}H_{k+1}\Phi_{k+1}-\Phi_{k+1}+K'_{k+1}) x_k\\ &+( K_{k+1}H_{k+1}-I) w_{k+1} +K_{k+1}v_k\\ \end{aligned} x^k+1xk+1=Kk+1(x^kxk)+(Kk+1Hk+1Φk+1Φk+1+Kk+1)xk+(Kk+1Hk+1I)wk+1+Kk+1vk

E [ x ^ k + 1 − x k + 1 ] = 0 E[\hat{x}_{k+1}-x_{k+1}]=0 E[x^k+1xk+1]=0易知:
E [ x ^ k + 1 − x k + 1 ] = [ K k + 1 H k + 1 Φ k + 1 − Φ k + 1 + K k + 1 ′ ] E [ x k ] = 0 E[\hat{x}_{k+1}-x_{k+1}] = [ K_{k+1}H_{k+1}\Phi_{k+1}-\Phi_{k+1}+K'_{k+1}]E[x_k] = 0 E[x^k+1xk+1]=[Kk+1Hk+1Φk+1Φk+1+Kk+1]E[xk]=0
K k + 1 H k + 1 Φ k + 1 − Φ k + 1 + K k + 1 ′ = 0 K_{k+1}H_{k+1}\Phi_{k+1}-\Phi_{k+1}+K'_{k+1} = 0 Kk+1Hk+1Φk+1Φk+1+Kk+1=0
表明:
K k + 1 ′ = ( I − K k + 1 H k + 1 ) Φ k + 1 K'_{k+1}= ( I-K_{k+1}H_{k+1}) \Phi_{k+1} Kk+1=(IKk+1Hk+1)Φk+1
结论:
x ^ k + 1 = ( I − K k + 1 H k + 1 ) Φ k + 1 x ^ k + K k + 1 z k + 1 \hat{x}_{k+1} = ( I-K_{k+1}H_{k+1}) \Phi_{k+1}\hat{x}_k+K_{k+1}z_{k+1} x^k+1=(IKk+1Hk+1)Φk+1x^k+Kk+1zk+1
或:
x ^ k + 1 = Φ k + 1 x ^ k + K k + 1 ( z k + 1 − H k + 1 Φ k + 1 x ^ k ) \hat{x}_{k+1} = \Phi_{k+1}\hat{x}_k+K_{k+1}( z_{k+1}-H_{k+1}\Phi_{k+1}\hat{x}_k) x^k+1=Φk+1x^k+Kk+1(zk+1Hk+1Φk+1x^k)

###Step.2
建立使误差项 x ~ k + 1 = x ^ k + 1 − x k + 1 \widetilde{x}_{k+1} = \hat{x}_{k+1} -x_{k+1} x k+1=x^k+1xk+1的协方差矩阵 P k + 1 P_{k+1} Pk+1的迹最小的 K k + 1 K_{k+1} Kk+1的表达式
####A.
x ~ k + 1 − = x ^ k + 1 − − x k + 1 \widetilde{x}_{k+1}^- = \hat{x}_{k+1}^- -x_{k+1} x k+1=x^k+1xk+1
x ~ k + 1 − = x ^ k + 1 − − x k + 1 = Φ k + 1 x ^ k − Φ k + 1 x k + w k + 1 \widetilde{x}_{k+1}^- = \hat{x}_{k+1}^- -x_{k+1} = \Phi_{k+1}\hat{x}_k-\Phi_{k+1} x_k+w_{k+1} x k+1=x^k+1xk+1=Φk+1x^kΦk+1xk+wk+1
x ~ k + 1 − = x ^ k + 1 − − x k + 1 = Φ k + 1 ( x ^ k − x k ) + w k + 1 \widetilde{x}_{k+1}^- = \hat{x}_{k+1}^- -x_{k+1} = \Phi_{k+1}( \hat{x}_k- x_k)+w_{k+1} x k+1=x^k+1xk+1=Φk+1(x^kxk)+wk+1
式中 x ^ k + 1 − − x k + 1 \hat{x}_{k+1}^- -x_{k+1} x^k+1xk+1的协方差为 P k + 1 − P_{k+1}^- Pk+1 x ^ k − x k \hat{x}_k- x_k x^kxk的协方差为 P k P_k Pk w k + 1 w_{k+1} wk+1的协方差为 Q k + 1 Q_{k+1} Qk+1
则可推出方程2
P k + 1 − = E { x ~ k + 1 − x ~ k + 1 − T } = Φ k + 1 E { ( x ~ k − x k ) ( x ~ k − x k ) T } Φ k + 1 T + E { w k + 1 w k + 1 T } = Φ k + 1 P k Φ k + 1 T + Q k + 1 \begin{aligned}\\ P_{k+1}^- &=E\{\widetilde{x}_{k+1}^-\widetilde{x}_{k+1}^{-T}\} \\ &=\Phi_{k+1}E\{(\widetilde{x}_k-x_k)(\widetilde{x}_k-x_k)^T\}\Phi_{k+1}^T+E\{w_{k+1}w_{k+1}^T\}\\ &=\Phi_{k+1} P_k\Phi_{k+1}^T+Q_{k+1}\\ \\ \end{aligned} Pk+1=E{x k+1x k+1T}=Φk+1E{(x kxk)(x kxk)T}Φk+1T+E{wk+1wk+1T}=Φk+1PkΦk+1T+Qk+1
####B.
Step.1中:
x ^ k + 1 = Φ k + 1 x ^ k + K k + 1 ( z k + 1 − H k + 1 Φ k + 1 x ^ k ) \hat{x}_{k+1} = \Phi_{k+1}\hat{x}_k+K_{k+1}( z_{k+1}-H_{k+1}\Phi_{k+1}\hat{x}_k) x^k+1=Φk+1x^k+Kk+1(zk+1Hk+1Φk+1x^k)
和$ \hat{x}{k+1}^- = \Phi{k+1}\hat{x}_k$得:
x ^ k + 1 = x ^ k + 1 − + K k + 1 ( z k + 1 − H k + 1 x ^ k + 1 − ) \hat{x}_{k+1} = \hat{x}_{k+1}^- +K_{k+1}( z_{k+1}-H_{k+1}\hat{x}_{k+1}^- ) x^k+1=x^k+1+Kk+1(zk+1Hk+1x^k+1)
带入 x ~ k + 1 = x ^ k + 1 − x k + 1 \widetilde{x}_{k+1} = \hat{x}_{k+1} -x_{k+1} x k+1=x^k+1xk+1中化简得:
x ~ k + 1 = [ I − K k + 1 H k + 1 ] x ~ k + 1 − − K k + 1 v k + 1 \widetilde{x}_{k+1} = [I-K_{k+1}H_{k+1}]\widetilde{x}_{k+1}^- -K_{k+1}v_{k+1} x k+1=[IKk+1Hk+1]x k+1Kk+1vk+1
等式两端同时取期望:
P k + 1 = E [ x ~ k + 1 x ~ k + 1 T ] = [ I − K k + 1 H k + 1 ] P k + 1 − [ I − K k + 1 H k + 1 ] T + K k + 1 R k + 1 K k + 1 T \begin{aligned}\\ P_{k+1}\\ &= E[\widetilde{x}_{k+1} \widetilde{x}_{k+1}^T]\\ &=[I-K_{k+1}H_{k+1}]P_{k+1}^-[I-K_{k+1}H_{k+1}]^T+K_{k+1}R_{k+1}K_{k+1}^T \\ \end{aligned} Pk+1=E[x k+1x k+1T]=[IKk+1Hk+1]Pk+1[IKk+1Hk+1]T+Kk+1Rk+1Kk+1T
####C.
推导 K k + 1 K_{k+1} Kk+1的表达式使 P k + 1 P_{k+1} Pk+1的迹最小
使用 P P P代替 P k + 1 − P_{k+1}^- Pk+1, K K K代替 K k + 1 K_{k+1} Kk+1, R R R代替 R k + 1 R_{k+1} Rk+1得:
P k + 1 = ( I − K H ) P ( I − K H ) T + K R K T P_{k+1}= (I-KH)P(I-KH)^T+KRK^T Pk+1=(IKH)P(IKH)T+KRKT
P k + 1 = P − K H P − P H T K T + K H P H T + K R K T P_{k+1}=P-KHP-PH^TK^T+KHPH^T+KRK^T Pk+1=PKHPPHTKT+KHPHT+KRKT
P = P T P=P^T P=PT ( P H T K T ) T = K H P (PH^TK^T)^T=KHP (PHTKT)T=KHP T r ( P H T K T ) = T r ( K H P ) Tr(PH^TK^T)=Tr(KHP) Tr(PHTKT)=Tr(KHP):
T r P k + 1 = T r P − 2 T r K H P + T r K ( H P H T ) K T + T r K R K T TrP_{k+1}=TrP-2TrKHP+TrK(HPH^T)K^T+TrKRK^T TrPk+1=TrP2TrKHP+TrK(HPHT)KT+TrKRKT
δ T r P k + 1 δ K = − 2 P H T + 2 K H P H T + 2 K \frac{\delta TrP_{k+1}}{\delta K} = -2PH^T+2KHPH^T+2K δKδTrPk+1=2PHT+2KHPHT+2K
δ T r P k + 1 δ K \frac{\delta TrP_{k+1}}{\delta K} δKδTrPk+1为零最后推出卡尔曼增益 K K K的表达式
K = P H T ( H P H T + R ) − 1 K = PH^T(HPH^T+R)^{-1} K=PHT(HPHT+R)1
可证明达到的极值为最小值(reference Gelb, pg. 109)
最后简化下式 P k + 1 P_{k+1} Pk+1,将 K K K带入 P k + 1 P_{k+1} Pk+1表达式中可推出:
P k + 1 = ( I − K k + 1 H k + 1 ) P k + 1 − P_{k+1}=(I-K_{k+1}H_{k+1})P_{k+1}^- Pk+1=(IKk+1Hk+1)Pk+1

  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值