卡尔曼滤波公式详细推导过程


文章目录

卡尔曼滤波推导

m o t i o n   m o d e l :   x k = A k − 1 x k − 1 + v k + w k ,   k = 1... K o b s e r v a t i o n   m o d e l :   y k = C k x k + n k ,   k = 0... K \begin{aligned} motion\ model:\ {\rm x}_k &={\rm A}_{k-1} {\rm x}_{k-1}+{\rm v}_k+{\rm w}_k,\ k=1...K \\ observation\ model:\ {\rm y}_k &={\rm C}_k{\rm x}_k+{\rm n}_k,\ k=0...K \end{aligned} motion model: xkobservation model: yk=Ak1xk1+vk+wk, k=1...K=Ckxk+nk, k=0...K
不考虑噪声,对状态变量和观测变量进行预测更新:
x ˇ k = A k x ^ k − 1 y ˇ k = C k x ˇ k = C k A k x ^ k − 1 \begin{aligned} \check{\rm x}_k &={\rm A}_k \hat{\rm x}_{k-1}\\ \check{\rm y}_k &={\rm C}_k \check{\rm x}_k={\rm C}_k {\rm A}_k\hat{\rm x}_{k-1} \end{aligned} xˇkyˇk=Akx^k1=Ckxˇk=CkAkx^k1
新息:
y ~ k = y k − y ˇ k \widetilde {\rm y}_k={\rm y}_k-\check{\rm y}_k y k=ykyˇk
状态变量的估计值等于状态变量的预测值加上观测变量噪声值的一部分(该部分的系数 K k {\rm K}_k Kk即为卡尔曼增益矩阵):
x ^ k = x ˇ k + K k y ~ k = A k x ^ k − 1 + K k ( y k − y ˇ k ) 、 = A k x ^ k − 1 + K k ( y k − C k A k x ^ k − 1 ) \begin{aligned} \hat{\rm x}_k &=\check{\rm x}_k+ {\rm K}_k\widetilde {\rm y}_k \\ &={\rm A}_k \hat{\rm x}_{k-1}+{\rm K}_k({\rm y}_k-\check{\rm y}_k)\\ 、 &={\rm A}_k \hat{\rm x}_{k-1}+{\rm K}_k({\rm y}_k-{\rm C}_k {\rm A}_k\hat{\rm x}_{k-1})\\ \end{aligned} x^k=xˇk+Kky k=Akx^k1+Kk(ykyˇk)=Akx^k1+Kk(ykCkAkx^k1)
状态变量的误差:
x ~ k = x k − x ^ k = ( I − K k C k ) [ A k ( x k − 1 − x ^ k − 1 ) + w k − 1 ] − K k n k = ( I − K k C k ) ( x k − x ^ k ) − K k n k \begin{aligned} \widetilde {\rm x}_k &={\rm x}_k-\hat{\rm x}_k\\ &=({\rm I}-{\rm K}_k{\rm C}_k)[{\rm A}_k({\rm x}_{k-1}-\hat{\rm x}_{k-1})+{\rm w}_{k-1}]-{\rm K}_k{\rm n}_k\\ &=({\rm I}-{\rm K}_k{\rm C}_k)({\rm x}_{k}-\hat{\rm x}_{k})-{\rm K}_k{\rm n}_k \end{aligned} x k=xkx^k=(IKkCk)[Ak(xk1x^k1)+wk1]Kknk=(IKkCk)(xkx^k)Kknk
状态变量真实值与预测值之间的误差的协方差矩阵:
P ˇ k = E [ ( x k − x ˇ k ) ( x k − x ˇ k ) T ] \begin{aligned} \check{\rm P}_k &={\rm E}[({\rm x}_k-\check{\rm x}_k)({\rm x}_k-\check{\rm x}_k)^T]\\ \end{aligned} Pˇk=E[(xkxˇk)(xkxˇk)T]
状态变量真实值与估计值之间的误差的协方差矩阵:
P ^ k = E [ x ~ k x ~ k T ] = E [ ( ( I − K k C k ) ( x k − x ^ k ) − K k n k ) ( ( I − K k C k ) ( x k − x ^ k ) − K k n k ) T ] = ( I − K k C k ) E [ ( x k − x ˇ k ) ( x k − x ˇ k ) T ] ( I − K k C k ) T + K k E [ n k n k T ] K k T = ( I − K k C k ) P ˇ k ( I − K k C k ) T + K k R k K k T = P ˇ k − K k C k P ˇ k − P ˇ k C k T K k T + K k ( C k P ˇ k C k T + R k ) K k T \begin{aligned} \hat{\rm P}_k &={\rm E}[\widetilde {\rm x}_k\widetilde {\rm x}_k^T]\\ &={\rm E}[(({\rm I}-{\rm K}_k{\rm C}_k)({\rm x}_{k}-\hat{\rm x}_{k})-{\rm K}_k{\rm n}_k)(({\rm I}-{\rm K}_k{\rm C}_k)({\rm x}_{k}-\hat{\rm x}_{k})-{\rm K}_k{\rm n}_k)^T]\\ &=({\rm I}-{\rm K}_k{\rm C}_k){\rm E}[({\rm x}_k-\check{\rm x}_k)({\rm x}_k-\check{\rm x}_k)^T]({\rm I}-{\rm K}_k{\rm C}_k)^T+{\rm K}_k{\rm E}[{\rm n}_k{\rm n}_k^T]{\rm K}_k^T\\ &=({\rm I}-{\rm K}_k{\rm C}_k)\check{\rm P}_k({\rm I}-{\rm K}_k{\rm C}_k)^T+{\rm K}_k{\rm R}_k{\rm K}_k^T\\ &=\check{\rm P}_k-{\rm K}_k{\rm C}_k\check{\rm P}_k-\check{\rm P}_k{\rm C}_k^T{\rm K}_k^T+{\rm K}_k({\rm C}_k\check{\rm P}_k{\rm C}_k^T+{\rm R}_k){\rm K}_k^T \end{aligned} P^k=E[x kx kT]=E[((IKkCk)(xkx^k)Kknk)((IKkCk)(xkx^k)Kknk)T]=(IKkCk)E[(xkxˇk)(xkxˇk)T](IKkCk)T+KkE[nknkT]KkT=(IKkCk)Pˇk(IKkCk)T+KkRkKkT=PˇkKkCkPˇkPˇkCkTKkT+Kk(CkPˇkCkT+Rk)KkT
均方误差:
T [ P ^ k ] = T [ P ˇ k ] − 2 T [ K k C k P ˇ k ] + T [ K k ( C k P ˇ k C k T + R k ) K k T ] \begin{aligned} T[\hat{\rm P}_k]=T[\check{\rm P}_k]-2T[{\rm K}_k{\rm C}_k\check{\rm P}_k]+T[{\rm K}_k({\rm C}_k\check{\rm P}_k{\rm C}_k^T+{\rm R}_k){\rm K}_k^T] \end{aligned} T[P^k]=T[Pˇk]2T[KkCkPˇk]+T[Kk(CkPˇkCkT+Rk)KkT]
最小均方误差:
d T [ P ^ k ] d K k = − 2 ( C k P ˇ k ) T + 2 K k ( C k P ˇ k C k T + R k ) = 0 \begin{aligned} \frac{dT[\hat{\rm P}_k]}{d{\rm K}_k}=-2({\rm C}_k\check{\rm P}_k)^T+2{\rm K}_k({\rm C}_k\check{\rm P}_k{\rm C}_k^T+{\rm R}_k)=0 \end{aligned} dKkdT[P^k]=2(CkPˇk)T+2Kk(CkPˇkCkT+Rk)=0
卡尔曼增益矩阵:
K k = P ˇ k C k T ( C k P ˇ k C k T + R k ) − 1 {\rm K}_k=\check{\rm P}_k{\rm C}_k^T({\rm C}_k\check{\rm P}_k{\rm C}_k^T+{\rm R}_k)^{-1} Kk=PˇkCkT(CkPˇkCkT+Rk)1

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值