卡尔曼滤波器:4.误差协方差矩阵数学推导

卡尔曼滤波器:4.误差协方差矩阵数学推导

priori / posteriori error covariance matrix(误差协方差矩阵)

回忆一下之前的内容
x k = A x k − 1 + B u k − 1 + ω k − 1 z k = H x k + ν k \begin{align} x_k &=Ax_{k-1}+Bu_{k-1}+\omega_{k-1}\\ z_k&=Hx_k+\nu_k \end{align} xkzk=Axk1+Buk1+ωk1=Hxk+νk
则其概率分布 p ( ω ) ∼ ( 0 , Q ) p(\omega)\sim(0,Q) p(ω)(0,Q),其中0代表了其期望,Q代表其协方差矩阵

同样测量噪声也是被认为服从正态分布 p ( ν ) ∼ ( 0 , R ) p(\nu)\sim(0,R) p(ν)(0,R)和上面的一样

在上面的课程中分别推导出来了三个公式:
$$
\begin{flalign*}
&先验估计:\
&\hat{x}^-k= A\widehat{x}{k-1}+Bu_{k-1}\
&后验估计:\
&\hat{x}_k=\hat{x}^-_k + K_k(z_k - H\hat{x}^-_k)
&其中K_k\in[0,H^-]\
&卡尔曼增益\
&K_k=\frac{P-_kHT}{HP-_kHT+R}\
&

\end{flalign*}
分析上述式子,只有误差协方差矩阵的先验是未知的?那么这一个环节就是重点讲解 ∗ ∗ 误差协方差先验 ∗ ∗ 的问题 分析上述式子,只有误差协方差矩阵的先验是未知的?那么这一个环节就是重点讲解**误差协方差先验**的问题 分析上述式子,只有误差协方差矩阵的先验是未知的?那么这一个环节就是重点讲解误差协方差先验的问题
\begin{flalign*}
&P-_k=E[e-ke^{-T}k]\
&e^-k = x_k - \hat{x}^-k\
&=Ax
{k-1}+Bu
{k-1}+\omega
{k-1}-A\hat{x}
{k-1}-Bu_{k-1}\
&=A(x_{k-1}-\hat{x}{k-1})+\omega{k-1}
&&其中x_{k-1}-\hat{x}{k-1}=e{k-1}\
&=Ae_{k-1}+\omega_{k-1}\
&P-_k=E[e-ke^{-T}k]\
&=E[(Ae
{k-1}+\omega
{k-1})(Ae_{k-1}+\omega_{k-1})^T]\
&=E[(Ae_{k-1}+\omega_{k-1})(eT_{k-1}AT+\omega_{k-1}^T)]\
&=E[Ae_{k-1}eT_{k-1}AT+Ae_{k-1}\omega_{k-1}T+\omega_{k-1}eT_{k-1}AT+\omega_{k-1}\omega_{k-1}T]\
&=E(Ae_{k-1}eT_{k-1}AT)+E(Ae_{k-1}\omega_{k-1}T)+E(\omega_{k-1}eT_{k-1}AT)+E(\omega_{k-1}\omega_{k-1}T)\
&=E(Ae_{k-1}eT_{k-1}AT)+E(\omega_{k-1}\omega_{k-1}^T)\
&=AE(e_{k-1}eT_{k-1})AT+E(\omega_{k-1}\omega_{k-1}^T)\
&=AP_{k-1}A^T+Q
&
\end{flalign*}
根据上述的推导可以得到: 根据上述的推导可以得到: 根据上述的推导可以得到:
P-_k=AP_{k-1}AT+Q
∗ ∗ 更新误差协方差矩阵为下一次做准备: ∗ ∗ **更新误差协方差矩阵为下一次做准备:** 更新误差协方差矩阵为下一次做准备:
\begin{align}
P_k&=P^-_k - K_kHP^-_k - P-_kHTK_kT+K_kHP-_kHTK_kT+K_kRK_k^T\
&=P^-_k - K_kHP^-_k - P-_kHTK_kT+K_k(HP-_kHT+R)KT_k\
&=P^-_k - K_kHP^-_k - P-_kHTK_kT+\frac{P-_kHT}{HP-_kHT+R}(HP-_kHT+R)KT_k\
&=P^-_k - K_kHP^-_k - P-_kHTK_kT+P-_kHTKT_k\
&=P^-_k - K_kHP^-_k\
&=(I-K_kH)P^-_k
\end{align}
$$

预测更新
先验 x ^ k − = A x ^ k − 1 + B u k − 1 \hat{x}^-_k= A\widehat{x}_{k-1}+Bu_{k-1} x^k=Ax k1+Buk1卡尔曼增益 K k = P k − H T H P k − H T + R K_k=\frac{P^-_kH^T}{HP^-_kH^T+R} Kk=HPkHT+RPkHT
先验误差协方差 P k − = A P k − 1 A T + Q P^-_k=AP_{k-1}A^T+Q Pk=APk1AT+Q后验估计 x ^ k = x ^ k − + K k ( z k − H x ^ k − ) \hat{x}_k=\hat{x}^-_k + K_k(z_k - H\hat{x}^-_k) x^k=x^k+Kk(zkHx^k)
更新误差协方差 P k = ( I − K k H ) P k − P_k=(I-K_kH)P^-_k Pk=(IKkH)Pk

最开始的时候我们要给式子中的 x ^ k − 1 \hat{x}_{k-1} x^k1 P k − 1 P_{k-1} Pk1赋初始值 x ^ 0 \hat{x}_0 x^0 P 0 P_0 P0

关于赋初值这个问题放在后面讨论!!

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值