卡尔曼滤波与组合导航原理(六)信息Kalman滤波与信息融合

news2024/11/23 23:08:25

文章目录

    • 一、信息滤波
      • 1、模型
      • 2、信息滤波公式改写
      • 3、IKF公式汇总
      • 4、KF与IKF的对偶关系
    • 二、信息融合
      • 1、信息融合方法
      • 2、信息融合推导Kalman滤波

一、信息滤波

1、模型

函数模型
{ X k = Φ k / k − 1 X k − 1 + Γ k − 1 W k − 1 Z k = H k X k + V k \left\{\begin{array}{l} \boldsymbol{X}_{k}=\boldsymbol{\Phi}_{k / k-1} \boldsymbol{X}_{k-1}+\boldsymbol{\Gamma}_{k-1} \boldsymbol{W}_{k-1} \\ \boldsymbol{Z}_{k}=\boldsymbol{H}_{k} \boldsymbol{X}_{k}+\boldsymbol{V}_{k} \end{array}\right. {Xk=Φk/k1Xk1+Γk1Wk1Zk=HkXk+Vk
随机模型
{ E [ W k ] = 0 , E [ W k W j T ] = Q k δ k j E [ V k ] = 0 , E [ V k V j T ] = R k δ k j E [ W k V j T ] = 0 \left\{\begin{array}{lr} \mathrm{E}\left[\boldsymbol{W}_{k}\right]=\mathbf{0}, & \mathrm{E}\left[\boldsymbol{W}_{k} \boldsymbol{W}_{j}^{\mathrm{T}}\right]=\boldsymbol{Q}_{k} \delta_{k j} \\ \mathrm{E}\left[\boldsymbol{V}_{k}\right]=\mathbf{0}, & \mathrm{E}\left[\boldsymbol{V}_{k} \boldsymbol{V}_{j}^{\mathrm{T}}\right]=\boldsymbol{R}_{k} \delta_{k j} \\ \mathrm{E}\left[\boldsymbol{W}_{k} \boldsymbol{V}_{j}^{\mathrm{T}}\right]=\mathbf{0} & \end{array}\right. E[Wk]=0,E[Vk]=0,E[WkVjT]=0E[WkWjT]=QkδkjE[VkVjT]=Rkδkj

选择合适的系统噪声分配矩阵 Γ k \boldsymbol{\Gamma}_{k} Γk,总可以保证系统噪声方差阵正定, Q k > 0 \boldsymbol{Q}_{k}>0 Qk>0

"信息"的含义:信息和方差是互逆的,即 I k = p k − 1 I_k=p_k^{-1} Ik=pk1 ;估计越准,方差越小,信息量越大:
P k = E [ ( X k − X ^ k ) ( X k − X ^ k ) T ] X ^ k − X k → 0 , P k → 0 ( P k − 1 → ∞ ) X ^ k − X k → ∞ , P k → ∞ ( P k − 1 → 0 ) \begin{array}{ll}\boldsymbol{P}_{k}=\mathrm{E}\left[\left(\boldsymbol{X}_{k}-\hat{\boldsymbol{X}}_{k}\right)\left(\boldsymbol{X}_{k}-\hat{\boldsymbol{X}}_{k}\right)^{\mathrm{T}}\right] \\ \hat{\boldsymbol{X}}_{k}-\boldsymbol{X}_{k} \rightarrow 0 , \boldsymbol{P}_{k} \rightarrow \mathbf{0}\left(\boldsymbol{P}_{k}^{-1} \rightarrow \infty\right) \\ \hat{\boldsymbol{X}}_{k}-\boldsymbol{X}_{k} \rightarrow \infty , \boldsymbol{P}_{k} \rightarrow \infty\left(\boldsymbol{P}_{k}^{-1} \rightarrow \mathbf{0}\right)\end{array} Pk=E[(XkX^k)(XkX^k)T]X^kXk0Pk0(Pk1)X^kXkPk(Pk10)
I k I_k Ik 替换原始Kalman滤波中的 p k − 1 p_k^{-1} pk1 ,得信息滤波:
K F { P k / k − 1 = Φ k / k − 1 P k − 1 Φ k / k − 1 T + Γ k − 1 Q k − 1 F k − 1 T P k = ( I − K k H k ) P k / k − 1 K k = P k / k − 1 H k T ( H k P k / k − 1 H k T + R k ) − 1 X ^ k / k − 1 = Φ k / k − 1 X ^ k − 1 X ^ k = X ^ k / k − 1 + K k ( Z k − H k X ^ k / k − 1 ) ⟹ I K F { I k / k − 1 = ( Φ k / k − 1 I k − 1 − 1 Φ k / k − 1 T + Γ k − 1 Q k − 1 Γ k − 1 T ) − 1 I k = I k / k − 1 + H k T R k − 1 H k K k = I k − 1 H k T R k − 1 X ^ k / k − 1 = Φ k / k − 1 X ^ k − 1 X ^ k = X ^ k / k − 1 + K k ( Z k − H k X ^ k / k − 1 ) \mathrm{KF}\left\{\begin{array}{l}\boldsymbol{P}_{k / k-1}=\boldsymbol{\Phi}_{k / k-1} \boldsymbol{P}_{k-1} \boldsymbol{\Phi}_{k / k-1}^{\mathrm{T}}+\boldsymbol{\Gamma}_{k-1} \boldsymbol{Q}_{k-1} \boldsymbol{F}_{k-1}^{\mathrm{T}} \\ \boldsymbol{P}_{k}=\left(\boldsymbol{I}-\boldsymbol{K}_{k} \boldsymbol{H}_{k}\right) \boldsymbol{P}_{k / k-1} \\ \boldsymbol{K}_{k}=\boldsymbol{P}_{k / k-1} \boldsymbol{H}_{k}^{\mathrm{T}}\left(\boldsymbol{H}_{k} \boldsymbol{P}_{k / k-1} \boldsymbol{H}_{k}^{\mathrm{T}}+\boldsymbol{R}_{k}\right)^{-1} \\ \hat{\boldsymbol{X}}_{k / k-1}=\boldsymbol{\Phi}_{k / k-1} \hat{\boldsymbol{X}}_{k-1} \\ \hat{\boldsymbol{X}}_{k}=\hat{\boldsymbol{X}}_{k / k-1}+\boldsymbol{K}_{k}\left(\boldsymbol{Z}_{k}-\boldsymbol{H}_{k} \hat{\boldsymbol{X}}_{k / k-1}\right)\end{array} \Longrightarrow \mathrm{IKF}\left\{\begin{array}{l}\boldsymbol{I}_{k / k-1}=\left(\boldsymbol{\Phi}_{k / k-1} \boldsymbol{I}_{k-1}^{-1} \boldsymbol{\Phi}_{k / k-1}^{\mathrm{T}}+\boldsymbol{\Gamma}_{k-1} \boldsymbol{Q}_{k-1} \boldsymbol{\Gamma}_{k-1}^{\mathrm{T}}\right)^{-1} \\ \boldsymbol{I}_{k}=\boldsymbol{I}_{k / k-1}+\boldsymbol{H}_{k}^{\mathrm{T}} \boldsymbol{R}_{k}^{-1} \boldsymbol{H}_{k} \\ \boldsymbol{K}_{k}=\boldsymbol{I}_{k}^{-1} \boldsymbol{H}_{k}^{\mathrm{T}} \boldsymbol{R}_{k}^{-1} \\ \hat{\boldsymbol{X}}_{k / k-1}=\boldsymbol{\Phi}_{k / k-1} \hat{\boldsymbol{X}}_{k-1} \\ \hat{\boldsymbol{X}}_{k}=\hat{\boldsymbol{X}}_{k / k-1}+\boldsymbol{K}_{k}\left(\boldsymbol{Z}_{k}-\boldsymbol{H}_{k} \hat{\boldsymbol{X}}_{k / k-1}\right)\end{array}\right.\right. KF Pk/k1=Φk/k1Pk1Φk/k1T+Γk1Qk1Fk1TPk=(IKkHk)Pk/k1Kk=Pk/k1HkT(HkPk/k1HkT+Rk)1X^k/k1=Φk/k1X^k1X^k=X^k/k1+Kk(ZkHkX^k/k1)IKF Ik/k1=(Φk/k1Ik11Φk/k1T+Γk1Qk1Γk1T)1Ik=Ik/k1+HkTRk1HkKk=Ik1HkTRk1X^k/k1=Φk/k1X^k1X^k=X^k/k1+Kk(ZkHkX^k/k1)

两个问题:

  • 右边公式缺点是相比左边公式求逆公式更多。
  • 滤波开始时,对初始参数 X 0 X_0 X0 的状态一无所知,方差 P 0 P_0 P0 应该取无穷大,无穷大不好表示,且无穷大分之一等于 0 0 0 ,两边的公式都无法执行。

2、信息滤波公式改写

针对这种情况对右边的公式修改:

信息预测改写

提取出 M k − 1 \color{green}M_{k-1} Mk1 ,红色部分用矩阵求逆引理得:

( A 11 − A 12 A 22 − 1 A 21 ) − 1 = A 11 − 1 + A 11 − 1 A 12 ( A 22 − A 21 A 11 − 1 A 12 ) − 1 A 21 A 11 − 1 = [ I + A 11 − 1 A 12 ( A 22 − A 21 A 11 − 1 A 12 ) − 1 A 21 ] A 11 − 1 \begin{array}{l}\left(A_{11}-A_{12} A_{22}^{-1} A_{21}\right)^{-1}=A_{11}^{-1}+A_{11}^{-1} A_{12}\left(A_{22}-A_{21} A_{11}^{-1} A_{12}\right)^{-1} A_{21} A_{11}^{-1} \\=\left[I+A_{11}^{-1} A_{12}\left(A_{22}-A_{21} A_{11}^{-1} A_{12}\right)^{-1} A_{21}\right] A_{11}^{-1}\end{array} (A11A12A221A21)1=A111+A111A12(A22A21A111A12)1A21A111=[I+A111A12(A22A21A111A12)1A21]A111

I k / k − 1 = ( Φ k / k − 1 I k − 1 − 1 Φ k / k − 1 T + Γ k − 1 Q k − 1 Γ k − 1 T ) − 1 M k − 1 = Φ k / k − 1 − T I k − 1 Φ k / k − 1 − 1 = ( I + M k − 1 Γ k − 1 Q k − 1 Γ k − 1 T ) − 1 M k − 1 = [ I − M k − 1 Γ k − 1 ( Q k − 1 − 1 + Γ k − 1 T M k − 1 Γ k − 1 ) − 1 Γ k − 1 T ] M k − 1 = ( I − N ^ k − 1 ) M k − 1 \begin{aligned} \boldsymbol{I}_{k / k-1} & =\left(\boldsymbol{\Phi}_{k / k-1} \boldsymbol{I}_{k-1}^{-1} \boldsymbol{\Phi}_{k / k-1}^{\mathrm{T}}+\boldsymbol{\Gamma}_{k-1} \boldsymbol{Q}_{k-1} \boldsymbol{\Gamma}_{k-1}^{\mathrm{T}}\right)^{-1} \quad {\color{green}\boldsymbol{M}_{k-1}=\boldsymbol{\Phi}_{k / k-1}^{-\mathrm{T}} \boldsymbol{I}_{k-1} \boldsymbol{\Phi}_{k / k-1}^{-1}} \\ & \left.={\color{red}\left(\boldsymbol{I}+\boldsymbol{M}_{k-1} \boldsymbol{\Gamma}_{k-1} \boldsymbol{Q}_{k-1} \boldsymbol{\Gamma}_{k-1}^{\mathrm{T}}\right)^{-1}} \boldsymbol{M}_{k-1} \\=[I-\boldsymbol{\boldsymbol { M } _ { k - 1 }} \boldsymbol{\Gamma}_{k-1}\left(\boldsymbol{Q}_{k-1}^{-1}+\boldsymbol{\Gamma}_{k-1}^{\mathrm{T}} \boldsymbol{M}_{k-1} \boldsymbol{\Gamma}_{k-1}\right)^{-1} \boldsymbol{\Gamma}_{k-1}^{\mathrm{T}}\right] \boldsymbol{M}_{k-1} \\ & =\left(\boldsymbol{I}-\hat{N}_{k-1}\right) \boldsymbol{M}_{k-1} \end{aligned} Ik/k1=(Φk/k1Ik11Φk/k1T+Γk1Qk1Γk1T)1Mk1=Φk/k1TIk1Φk/k11=(I+Mk1Γk1Qk1Γk1T)1Mk1=[IMk1Γk1(Qk11+Γk1TMk1Γk1)1Γk1T]Mk1=(IN^k1)Mk1

信息矩阵的更新就无需求逆了。

量测更新改写

将卡尔曼滤波量测更新改写为预测和量测加权平均的形式:
X ^ k = X ^ k / k − 1 + K k ( Z k − H k X ^ k / k − 1 ) = ( I − K k H k ) X ^ k / k − 1 + K k Z k = P k P k / k − 1 − 1 X ^ k / k − 1 + P k H k T R k − 1 Z k \begin{aligned} \hat{\boldsymbol{X}}_{k} & =\hat{\boldsymbol{X}}_{k / k-1}+\boldsymbol{K}_{k}\left(\boldsymbol{Z}_{k}-\boldsymbol{H}_{k} \hat{\boldsymbol{X}}_{k / k-1}\right) \\ & =\left(\boldsymbol{I}-\boldsymbol{K}_{k} \boldsymbol{H}_{k}\right) \hat{\boldsymbol{X}}_{k / k-1}+\boldsymbol{K}_{k} \boldsymbol{Z}_{k} \\ & =\boldsymbol{P}_{k} \boldsymbol{P}_{k / k-1}^{-1} \hat{\boldsymbol{X}}_{k / k-1}+\boldsymbol{P}_{k} \boldsymbol{H}_{k}^{\mathrm{T}} \boldsymbol{R}_{k}^{-1} \boldsymbol{Z}_{k}\end{aligned} X^k=X^k/k1+Kk(ZkHkX^k/k1)=(IKkHk)X^k/k1+KkZk=PkPk/k11X^k/k1+PkHkTRk1Zk
两边除以 P k P_k Pk 得:
P k − 1 X ^ k = P k / k − 1 − 1 X ^ k / k − 1 + H k T R k − 1 Z k \boldsymbol{P}_{k}^{-1} \hat{\boldsymbol{X}}_{k}=\boldsymbol{P}_{k / k-1}^{-1} \hat{\boldsymbol{X}}_{k / k-1}+\boldsymbol{H}_{k}^{\mathrm{T}} \boldsymbol{R}_{k}^{-1} \boldsymbol{Z}_{k} Pk1X^k=Pk/k11X^k/k1+HkTRk1Zk
I k I_k Ik 替换 p k − 1 p_k^{-1} pk1 ,将 I k X ^ k \boldsymbol{I}_{k} \hat{\boldsymbol{X}}_{k} IkX^k 记为 S ^ k \hat{\boldsymbol{S}}_{k} S^k,得:
S ^ k = I k X ^ k = I k / k − 1 X ^ k / k − 1 + H k T R k − 1 Z k = S ^ k / k − 1 + H k T R k − 1 Z k \hat{\boldsymbol{S}}_{k}=\boldsymbol{I}_{k} \hat{\boldsymbol{X}}_{k}=\boldsymbol{I}_{k / k-1} \hat{\boldsymbol{X}}_{k / k-1}+\boldsymbol{H}_{k}^{\mathrm{T}} \boldsymbol{R}_{k}^{-1} \boldsymbol{Z}_{k}=\hat{\boldsymbol{S}}_{k / k-1}+\boldsymbol{H}_{k}^{\mathrm{T}} \boldsymbol{R}_{k}^{-1} \boldsymbol{Z}_{k} S^k=IkX^k=Ik/k1X^k/k1+HkTRk1Zk=S^k/k1+HkTRk1Zk
S k − 1 S_{k-1} Sk1 S k S_k Sk 的递推为:
S ^ k / k − 1 = I k / k − 1 X ^ k / k − 1 = ( I − N k − 1 ) M k − 1 Φ k / k − 1 X ^ k − 1 = ( I − N k − 1 ) Φ k / k − 1 − T I k − 1 Φ k / k − 1 − 1 Φ k / k − 1 X ^ k − 1 = ( I − N k − 1 ) Φ k / k − 1 − T S ^ k − 1 \begin{array}{l} \hat{\boldsymbol{S}}_{k / k-1}=\boldsymbol{I}_{k / k-1} \hat{\boldsymbol{X}}_{k / k-1}=\left(\boldsymbol{I}-\boldsymbol{N}_{k-1}\right) \boldsymbol{M}_{k-1} \boldsymbol{\Phi}_{k / k-1} \hat{\boldsymbol{X}}_{k-1} \\ =\left(\boldsymbol{I}-\boldsymbol{N}_{k-1}\right) \boldsymbol{\Phi}_{k / k-1}^{-\mathrm{T}} \boldsymbol{I}_{k-1} \boldsymbol{\Phi}_{k / k-1}^{-1} \boldsymbol{\Phi}_{k / k-1} \hat{\boldsymbol{X}}_{k-1}=\left(\boldsymbol{I}-\boldsymbol{N}_{k-1}\right) \boldsymbol{\Phi}_{k / k-1}^{-\mathrm{T}} \hat{\boldsymbol{S}}_{k-1} \\ \end{array} S^k/k1=Ik/k1X^k/k1=(INk1)Mk1Φk/k1X^k1=(INk1)Φk/k1TIk1Φk/k11Φk/k1X^k1=(INk1)Φk/k1TS^k1

3、IKF公式汇总

滤波流程转换成了 S S S I I I 的递推: S ^ k − 1 , I k − 1 , Z k ⟶ S ^ k , I k \hat{\boldsymbol{S}}_{k-1}, \boldsymbol{I}_{k-1}, \boldsymbol{Z}_{k} \longrightarrow \hat{\boldsymbol{S}}_{k}, \boldsymbol{I}_{k} S^k1,Ik1,ZkS^k,Ik
{ I k / k − 1 = ( Φ k / k − 1 I k − 1 − 1 Φ k / k − 1 T + Γ k − 1 Q k − 1 Γ k − 1 T ) − 1 I k = I k / k − 1 + H k T R k − 1 H k K k = I k − 1 H k T R k − 1 X ^ k / k − 1 = Φ k / k − 1 X ^ k − 1 X ^ k − 1 = X ^ k / k − 1 + K k ( Z k − H k X ^ k / k − 1 ) ⟹ { M k − 1 = Φ k / k − 1 − T I k − 1 Φ k / k − 1 − 1 N k − 1 = M k − 1 Γ k − 1 ( Γ k − 1 T M k − 1 Γ k − 1 + Q k − 1 − 1 ) − 1 Γ k − 1 T ) I k / k − 1 = ( I − N k − 1 ) M k − 1 I k = I k / k − 1 + H k T R k − 1 H k S ^ k / k − 1 = ( I − N k − 1 ) Φ k / k − 1 − T S ^ k − 1 S ^ k = S ^ k / k − 1 + H k T R k − 1 Z k \left\{\begin{array}{l}\boldsymbol{I}_{k / k-1}=\left(\boldsymbol{\Phi}_{k / k-1} \boldsymbol{I}_{k-1}^{-1} \boldsymbol{\Phi}_{k / k-1}^{\mathrm{T}}+\boldsymbol{\Gamma}_{k-1} \boldsymbol{Q}_{k-1} \boldsymbol{\Gamma}_{k-1}^{\mathrm{T}}\right)^{-1} \\ \boldsymbol{I}_{k}=\boldsymbol{I}_{k / k-1}+\boldsymbol{H}_{k}^{\mathrm{T}} \boldsymbol{R}_{k}^{-1} \boldsymbol{H}_{k} \\ \boldsymbol{K}_{k}=\boldsymbol{I}_{k}^{-1} \boldsymbol{H}_{k}^{\mathrm{T}} \boldsymbol{R}_{k}^{-1} \\ \hat{\boldsymbol{X}}_{k / k-1}=\boldsymbol{\Phi}_{k / k-1} \hat{\boldsymbol{X}}_{k-1} \\ \hat{\boldsymbol{X}}_{k-1}=\hat{\boldsymbol{X}}_{k / k-1}+\boldsymbol{K}_{k}\left(\boldsymbol{Z}_{k}-\boldsymbol{H}_{k} \hat{\boldsymbol{X}}_{k / k-1}\right)\end{array} \quad \Longrightarrow\left\{\begin{array}{l}\boldsymbol{M}_{k-1}=\boldsymbol{\Phi}_{k / k-1}^{-\mathrm{T}} \boldsymbol{I}_{k-1} \boldsymbol{\Phi}_{k / k-1}^{-1} \\ \left.\boldsymbol{N}_{k-1}=\boldsymbol{M}_{k-1} \boldsymbol{\Gamma}_{k-1}\left(\boldsymbol{\Gamma}_{k-1}^{\mathrm{T}} \boldsymbol{M}_{k-1} \boldsymbol{\Gamma}_{k-1}+\boldsymbol{Q}_{k-1}^{-1}\right)^{-1} \boldsymbol{\Gamma}_{k-1}^{\mathrm{T}}\right) \\ \boldsymbol{I}_{k / k-1}=\left(\boldsymbol{I}-\boldsymbol{N}_{k-1}\right) \boldsymbol{M}_{k-1} \\ \boldsymbol{I}_{k}=\boldsymbol{I}_{k / k-1}+\boldsymbol{H}_{k}^{\mathrm{T}} \boldsymbol{R}_{k}^{-1} \boldsymbol{H}_{k} \\ \hat{\boldsymbol{S}}_{k / k-1}=\left(\boldsymbol{I}-\boldsymbol{N}_{k-1}\right) \boldsymbol{\Phi}_{k / k-1}^{-\mathrm{T}} \hat{\boldsymbol{S}}_{k-1} \\ \hat{\boldsymbol{S}}_{k}=\hat{\boldsymbol{S}}_{k / k-1}+\boldsymbol{H}_{k}^{\mathrm{T}} \boldsymbol{R}_{k}^{-1} \boldsymbol{Z}_{k}\end{array}\right.\right. Ik/k1=(Φk/k1Ik11Φk/k1T+Γk1Qk1Γk1T)1Ik=Ik/k1+HkTRk1HkKk=Ik1HkTRk1X^k/k1=Φk/k1X^k1X^k1=X^k/k1+Kk(ZkHkX^k/k1) Mk1=Φk/k1TIk1Φk/k11Nk1=Mk1Γk1(Γk1TMk1Γk1+Qk11)1Γk1T)Ik/k1=(INk1)Mk1Ik=Ik/k1+HkTRk1HkS^k/k1=(INk1)Φk/k1TS^k1S^k=S^k/k1+HkTRk1Zk

  • I 0 = 0 I_0=0 I0=0 可以实现计算了,解决了初始方差阵无穷大的问题。
  • 矩阵求逆也变少了,状态转移矩阵的求逆可以认为没有: ϕ = I + F T S ⟹ ϕ − 1 = I − F T S \phi=I+FT_S \Longrightarrow \phi^{-1}=I-FT_S ϕ=I+FTSϕ1=IFTS
  • 最终输出: { I k = P k − 1 S ^ k = I k X ^ k ⇒ { P k = I k − 1 X ^ k = P k S ^ k \left\{\begin{array}{l}\boldsymbol{I}_{k}=\boldsymbol{P}_{k}^{-1} \\ \hat{\boldsymbol{S}}_{k}=\boldsymbol{I}_{k} \hat{\boldsymbol{X}}_{k}\end{array} \Rightarrow\left\{\begin{array}{l}\boldsymbol{P}_{k}=\boldsymbol{I}_{k}^{-1} \\ \hat{\boldsymbol{X}}_{k}=\boldsymbol{P}_{k} \hat{\boldsymbol{S}}_{k}\end{array}\right.\right. {Ik=Pk1S^k=IkX^k{Pk=Ik1X^k=PkS^k,在前几次滤波递推中,可能 I k I_k Ik 不可逆,得不到均值方差。

4、KF与IKF的对偶关系

K F : { P k / k − 1 = Φ k / k − 1 P k − 1 Φ k / k − 1 T + Γ k − 1 Q k − 1 Γ k − 1 T P k = [ I − P k / k − 1 H k T ( H k P k / k − 1 H k T + R k ) − 1 H k ] P k / k − 1  IKF  : { I k / k − 1 = [ I − M k − 1 Γ k − 1 ( Γ k − 1 T M k − 1 Γ k − 1 + Q k − 1 − 1 ) − 1 Γ k − 1 T ] M k − 1 I k = = I k / k − 1 + H k T R k − 1 H k \begin{array}{l}\mathrm{KF}:\left\{\begin{array}{l}\boldsymbol{P}_{k / k-1}=\boldsymbol{\Phi}_{k / k-1} \boldsymbol{P}_{k-1} \boldsymbol{\Phi}_{k / k-1}^{\mathrm{T}}+\boldsymbol{\Gamma}_{k-1} \boldsymbol{Q}_{k-1} \boldsymbol{\Gamma}_{k-1}^{\mathrm{T}} \\ \boldsymbol{P}_{k}=\left[\boldsymbol{I}-\boldsymbol{P}_{k / k-1} \boldsymbol{H}_{k}^{\mathrm{T}}\left(\boldsymbol{H}_{k} \boldsymbol{P}_{k / k-1} \boldsymbol{H}_{k}^{\mathrm{T}}+\boldsymbol{R}_{k}\right)^{-1} \boldsymbol{H}_{k}\right] \boldsymbol{P}_{k / k-1}\end{array}\right. \\ \text { IKF }:\left\{\begin{array}{l}\boldsymbol{I}_{k / k-1}=\left[\boldsymbol{I}-\boldsymbol{M}_{k-1} \boldsymbol{\Gamma}_{k-1}\left(\boldsymbol{\Gamma}_{k-1}^{\mathrm{T}} \boldsymbol{M}_{k-1} \boldsymbol{\Gamma}_{k-1}+\boldsymbol{Q}_{k-1}^{-1}\right)^{-1} \boldsymbol{\Gamma}_{k-1}^{\mathrm{T}}\right] \boldsymbol{M}_{k-1} \\ \boldsymbol{I}_{k=}=\boldsymbol{I}_{k / k-1}+\boldsymbol{H}_{k}^{\mathrm{T}} \boldsymbol{R}_{k}^{-1} \boldsymbol{H}_{k}\end{array}\right.\end{array} KF: Pk/k1=Φk/k1Pk1Φk/k1T+Γk1Qk1Γk1TPk=[IPk/k1HkT(HkPk/k1HkT+Rk)1Hk]Pk/k1 IKF : Ik/k1=[IMk1Γk1(Γk1TMk1Γk1+Qk11)1Γk1T]Mk1Ik==Ik/k1+HkTRk1Hk

  • KF时间更新使状态估计误差增大,IKF量测更新使信息量增大
  • KF量测更新使状态估计误差减小,IKF时间更新使信息量减小
  • 系统噪声使状态估计误差增大,使状态估计信息量减小
  • 量测噪声使状态估计误差减小,使状态估计信息量增大

二、信息融合

1、信息融合方法

可以看成特殊 N 组量测最小二乘问题,H是单位阵,从很多方面对参数进行量测,每一个量测有一个噪声,所有噪声之间不相关。需要将这些信息融合,得到最优的参数估计。
{ X ( 1 ) = X + V 1 X ( 2 ) = X + V 2 E [ V i ] = 0 , E [ V i V j T ] = P i δ i j ( i , j = 1 , 2 , ⋯   , N ) ⋮ P i > 0 i , j  表示信息来源/渠道  X ( N ) = X + V N \left\{\begin{array}{lrr}\boldsymbol{X}^{(1)}=\boldsymbol{X}+\boldsymbol{V}_{1} & \\ \boldsymbol{X}^{(2)}=\boldsymbol{X}+\boldsymbol{V}_{2} & \mathrm{E}\left[\boldsymbol{V}_{i}\right]=\mathbf{0}, & \mathrm{E}\left[\boldsymbol{V}_{i} \boldsymbol{V}_{j}^{\mathrm{T}}\right]=\boldsymbol{P}_{i} \delta_{i j} \quad(i, j=1,2, \cdots, N) \\ \vdots & &\boldsymbol{P}_{i}>0 \quad i, j \text { 表示信息来源/渠道 } \\ \boldsymbol{X}^{(N)}=\boldsymbol{X}+\boldsymbol{V}_{N} & \end{array}\right. X(1)=X+V1X(2)=X+V2X(N)=X+VNE[Vi]=0,E[ViVjT]=Piδij(i,j=1,2,,N)Pi>0i,j 表示信息来源/渠道 
可以用递推最小二乘RLS解决,也可以用信息递推最小二乘IRLS解决:
RLS ⁡ { P k − 1 = P k − 1 − 1 + H k T R k − 1 H k P k − 1 X ^ k = P k − 1 − 1 X ^ k − 1 + H k T R k − 1 Z k  IRLS  { I k = I k − 1 + H k T R k − 1 H k S ^ k = S ^ k − 1 + H k T R k − 1 Z k \begin{array}{l}\operatorname{RLS}\left\{\begin{array}{l}\boldsymbol{P}_{k}^{-1}=\boldsymbol{P}_{k-1}^{-1}+\boldsymbol{H}_{k}^{\mathrm{T}} \boldsymbol{R}_{k}^{-1} \boldsymbol{H}_{k} \\ \boldsymbol{P}_{k}^{-1} \hat{\boldsymbol{X}}_{k}=\boldsymbol{P}_{k-1}^{-1} \hat{\boldsymbol{X}}_{k-1}+\boldsymbol{H}_{k}^{\mathrm{T}} \boldsymbol{R}_{k}^{-1} \boldsymbol{Z}_{k}\end{array}\right. \\ \text { IRLS }\left\{\begin{array}{l}\boldsymbol{I}_{k}=\boldsymbol{I}_{k-1}+\boldsymbol{H}_{k}^{\mathrm{T}} \boldsymbol{R}_{k}^{-1} \boldsymbol{H}_{k} \\ \hat{\boldsymbol{S}}_{k}=\hat{\boldsymbol{S}}_{k-1}+\boldsymbol{H}_{k}^{\mathrm{T}} \boldsymbol{R}_{k}^{-1} \boldsymbol{Z}_{k}\end{array}\right.\end{array} RLS{Pk1=Pk11+HkTRk1HkPk1X^k=Pk11X^k1+HkTRk1Zk IRLS {Ik=Ik1+HkTRk1HkS^k=S^k1+HkTRk1Zk
一直往前递推,得到总/全局信息量级状态估计:
I g = I N − 1 + P N − 1 S ^ g = S ^ N − 1 + P N − 1 X ^ ( N ) = ( I N − 2 + P N − 1 − 1 ) + P N − 1 = ( S ^ N − 2 + P N − 1 − 1 X ^ ( N − 1 ) ) + P N − 1 X ^ ( N ) = ⋯ ⋯ = ( I 1 + P 2 − 1 ) + ⋯ + P N − 1 − 1 + P N − 1 = ( S ^ 1 + P 2 − 1 X ^ ( 2 ) ) + ⋯ + P N − 1 − 1 X ^ ( N − 1 ) + P N − 1 X ^ ( N ) = P 1 − 1 + P 2 − 1 + ⋯ + P N − 1 − 1 + P N − 1 = P 1 − 1 X ^ ( 1 ) + P 2 − 1 X ^ ( 2 ) + ⋯ + P N − 1 − 1 X ^ ( N − 1 ) + P N − 1 X ^ ( N ) \begin{aligned} \boldsymbol{I}_{g} & =\boldsymbol{I}_{N-1}+\boldsymbol{P}_{N}^{-1} & \hat{\boldsymbol{S}}_{g} & =\hat{\boldsymbol{S}}_{N-1}+\boldsymbol{P}_{N}^{-1} \hat{\boldsymbol{X}}^{(N)} \\ & =\left(\boldsymbol{I}_{N-2}+\boldsymbol{P}_{N-1}^{-1}\right)+\boldsymbol{P}_{N}^{-1} & & =\left(\hat{\boldsymbol{S}}_{N-2}+\boldsymbol{P}_{N-1}^{-1} \hat{\boldsymbol{X}}^{(N-1)}\right)+\boldsymbol{P}_{N}^{-1} \hat{\boldsymbol{X}}^{(N)} \\ & =\quad \cdots & & \cdots \\ & =\left(\boldsymbol{I}_{1}+\boldsymbol{P}_{2}^{-1}\right)+\cdots+\boldsymbol{P}_{N-1}^{-1}+\boldsymbol{P}_{N}^{-1} & & =\left(\hat{\boldsymbol{S}}_{1}+\boldsymbol{P}_{2}^{-1} \hat{\boldsymbol{X}}^{(2)}\right)+\cdots+\boldsymbol{P}_{N-1}^{-1} \hat{\boldsymbol{X}}^{(N-1)}+\boldsymbol{P}_{N}^{-1} \hat{\boldsymbol{X}}^{(N)} \\ & =\boldsymbol{P}_{1}^{-1}+\boldsymbol{P}_{2}^{-1}+\cdots+\boldsymbol{P}_{N-1}^{-1}+\boldsymbol{P}_{N}^{-1} & & =\boldsymbol{P}_{1}^{-1} \hat{\boldsymbol{X}}^{(1)}+\boldsymbol{P}_{2}^{-1} \hat{\boldsymbol{X}}^{(2)}+\cdots+\boldsymbol{P}_{N-1}^{-1} \hat{\boldsymbol{X}}^{(N-1)}+\boldsymbol{P}_{N}^{-1} \hat{\boldsymbol{X}}^{(N)}\end{aligned} Ig=IN1+PN1=(IN2+PN11)+PN1==(I1+P21)++PN11+PN1=P11+P21++PN11+PN1S^g=S^N1+PN1X^(N)=(S^N2+PN11X^(N1))+PN1X^(N)=(S^1+P21X^(2))++PN11X^(N1)+PN1X^(N)=P11X^(1)+P21X^(2)++PN11X^(N1)+PN1X^(N)
即信息融合公式:
I g = P 1 − 1 + P 2 − 1 + ⋯ + P N − 1 − 1 + P N − 1 S ^ g = P 1 − 1 X ^ ( 1 ) + P 2 − 1 X ^ ( 2 ) + ⋯ + P N − 1 − 1 X ^ ( N − 1 ) + P N − 1 X ^ ( N ) ⟹ { P g − 1 = ∑ k = 1 N P k − 1 P g − 1 X ^ g = ∑ k = 1 N P k − 1 X ^ ( k ) ⟹ { P g = ( ∑ k = 1 N P k − 1 ) − 1 X ^ g = P g ∑ k = 1 N P k − 1 X ^ ( k ) \begin{array}{l} \boldsymbol{I}_{g}=\boldsymbol{P}_{1}^{-1}+\boldsymbol{P}_{2}^{-1}+\cdots+\boldsymbol{P}_{N-1}^{-1}+\boldsymbol{P}_{N}^{-1} \\ \hat{\boldsymbol{S}}_{g}=\boldsymbol{P}_{1}^{-1} \hat{\boldsymbol{X}}^{(1)}+\boldsymbol{P}_{2}^{-1} \hat{\boldsymbol{X}}^{(2)}+\cdots+\boldsymbol{P}_{N-1}^{-1} \hat{\boldsymbol{X}}^{(N-1)}+\boldsymbol{P}_{N}^{-1} \hat{\boldsymbol{X}}^{(N)} \\ \Longrightarrow\left\{\begin{array} { l } { \boldsymbol { P } _ { g } ^ { - 1 } = \sum _ { k = 1 } ^ { N } \boldsymbol { P } _ { k } ^ { - 1 } } \\ { \boldsymbol { P } _ { g } ^ { - 1 } \hat { \boldsymbol { X } } _ { g } = \sum _ { k = 1 } ^ { N } \boldsymbol { P } _ { k } ^ { - 1 } \hat { \boldsymbol { X } } ^ { ( k ) } } \end{array} \Longrightarrow \left\{\begin{array}{l} \boldsymbol{P}_{g}=\left(\sum_{k=1}^{N} \boldsymbol{P}_{k}^{-1}\right)^{-1} \\ \hat{\boldsymbol{X}}_{g}=\boldsymbol{P}_{g} \sum_{k=1}^{N} \boldsymbol{P}_{k}^{-1} \hat{\boldsymbol{X}}^{(k)} \end{array}\right.\right. \end{array} Ig=P11+P21++PN11+PN1S^g=P11X^(1)+P21X^(2)++PN11X^(N1)+PN1X^(N) Pg1=k=1NPk1Pg1X^g=k=1NPk1X^(k) Pg=(k=1NPk1)1X^g=Pgk=1NPk1X^(k)
本质上就是加权平均,特别的,当 N = 2 N=2 N=2 时有
P fusion  = ( P 1 − 1 + P 2 − 1 ) − 1 X ^ fusion  = P g ( P 1 − 1 X ( 1 ) + P 2 − 1 X ( 2 ) ) = P 2 P 1 + P 2 X ( 1 ) + P 1 P 1 + P 2 X ( 2 ) \begin{array}{l} \boldsymbol{P}_{\text {fusion }}=\left(\boldsymbol{P}_{1}^{-1}+\boldsymbol{P}_{2}^{-1}\right)^{-1} \\ \hat{\boldsymbol{X}}_{\text {fusion }}=\boldsymbol{P}_{g}\left(\boldsymbol{P}_{1}^{-1} \boldsymbol{X}^{(1)}+\boldsymbol{P}_{2}^{-1} \boldsymbol{X}^{(2)}\right)=\frac{\boldsymbol{P}_{2}}{\boldsymbol{P}_{1}+\boldsymbol{P}_{2}} \boldsymbol{X}^{(1)}+\frac{\boldsymbol{P}_{1}}{\boldsymbol{P}_{1}+\boldsymbol{P}_{2}} \boldsymbol{X}^{(2)} \end{array} Pfusion =(P11+P21)1X^fusion =Pg(P11X(1)+P21X(2))=P1+P2P2X(1)+P1+P2P1X(2)

2、信息融合推导Kalman滤波

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-2k3jSiLx-1686018047371)(卡尔曼滤波与组合导航原理(六)信息滤波与信息融合.assets/1686017767586.png)]

状态估计融合
X ^ k = ( H k T R k − 1 H k ) − 1 P k / k − 1 + ( H k T R k − 1 H k ) − 1 Φ k / k − 1 ‾ X ^ k − 1 + P k / k − 1 P k / k − 1 + ( H k T R k − 1 H k ) − 1 ( H k T R k − 1 H k ) − 1 H k T R k − 1 Z k ‾ \begin{aligned} \hat{\boldsymbol{X}}_{k} & =\frac{\left(\boldsymbol{H}_{k}^{\mathrm{T}} \boldsymbol{R}_{k}^{-1} \boldsymbol{H}_{k}\right)^{-1}}{\boldsymbol{P}_{k / k-1}+\left(\boldsymbol{H}_{k}^{\mathrm{T}} \boldsymbol{R}_{k}^{-1} \boldsymbol{H}_{k}\right)^{-1}} \underline{\boldsymbol{\Phi}_{k / k-1}} \hat{\boldsymbol{X}}_{k-1}+\frac{\boldsymbol{P}_{k / k-1}}{\boldsymbol{P}_{k / k-1}+\left(\boldsymbol{H}_{k}^{\mathrm{T}} \boldsymbol{R}_{k}^{-1} \boldsymbol{H}_{k}\right)^{-1}} \underline{\left(\boldsymbol{H}_{k}^{\mathrm{T}} \boldsymbol{R}_{k}^{-1} \boldsymbol{H}_{k}\right)^{-1} \boldsymbol{H}_{k}^{\mathrm{T}} \boldsymbol{R}_{k}^{-1} \boldsymbol{Z}_{k}} \\ \end{aligned} X^k=Pk/k1+(HkTRk1Hk)1(HkTRk1Hk)1Φk/k1X^k1+Pk/k1+(HkTRk1Hk)1Pk/k1(HkTRk1Hk)1HkTRk1Zk
均方差阵融合
P k = [ P k / k − 1 − 1 + ( P k ′ ) − 1 ] − 1 = ( P k / k − 1 − 1 + H k T R k − 1 H k ) − 1 \boldsymbol{P}_{k}=\left[\boldsymbol{P}_{k / k-1}^{-1}+\left(\boldsymbol{P}_{k}^{\prime}\right)^{-1}\right]^{-1}=\left(\boldsymbol{P}_{k / k-1}^{-1}+\boldsymbol{H}_{k}^{\mathrm{T}} \boldsymbol{R}_{k}^{-1} \boldsymbol{H}_{k}\right)^{-1} Pk=[Pk/k11+(Pk)1]1=(Pk/k11+HkTRk1Hk)1

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/615118.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

djangoo配置与运行

前言:相信看到这篇文章的小伙伴都或多或少有一些编程基础,懂得一些linux的基本命令了吧,本篇文章将带领大家服务器如何部署一个使用django框架开发的一个网站进行云服务器端的部署。 文章使用到的的工具 Python:一种编程语言&…

【UEFI】BIOS 阶段全局变量类型

BIOS的几个阶段需要不同阶段的数据传递,下面介绍4个全局变量。 1 固件存储介绍 本规范描述了应该如何在非易失性存储器中存储和访问文件。固件实现必须支持标准的PI固件卷和固件文件系统格式(下文所述),但可能支持其他存储格式。…

【网页布局形式----浮动】

网页布局形式----浮动 css浮动:一、常见的三种网页布局形式:1.1 网页布局两大准则: 二 、浮动:2.1 浮动语法:2.2 浮动特性(重难点):浮动元素通常与标准流的父级元素搭配使用&#xf…

Linux进程虚拟地址空间

文章目录 1. 进程地址空间1.1 存在1.2 初步了解1.2 虚拟地址空间的划分1.3 页表 2. 虚拟地址如何转化成物理地址2.1 二级页表2.2 总结 3. 写时拷贝3.1 原理3.2 解释为什么 pid_t ret fork() 中,ret 会有两个不同的值 4. 为何需要虚拟地址空间 1. 进程地址空间 1.1…

基于python的企业资产管理系统vue+django+flask

开发语言:Python 框架:django/flask Python版本:python3.7.7 数据库:mysql 数据库工具:Navicat 开发软件:PyCharm 文章介绍了企业资产管理系统的系统分析部分,包括可行性分析等,系…

基于SpringBoot的CRM客户管理销售团队管理系统(含源码+数据库)

1)环境准备 JDK 1.8 以上 MySql 5.7 以上 Tomcat 7.0 以上 maven 3.5.0 Idea 2)建立PowerTeam数据库 打开Mysql管理工具(推荐使用Navicat Premium) 执行db.sql脚本 可选操作执行demo_data.sql演示数据脚本 3)将项目导入Idea开发工具中 ​4)修…

UE5使用Advanced-VR-Framework开发VR介绍

插件地址:https://www.unrealengine.com/marketplace/zh-CN/product/advanced-vr-framework 一、UE5开发VR的优势: UE5在三维的表现力上非常优秀;有基于Twinmotion等三维工具支持,制作流程上比较顺畅;UE5场景素材也非…

W13电力线载波通信技术

CK_Label_W13 CK_Label_W13(外接供电版) 产品型号 CK_Label_W13 尺寸 70*34.7*13.6mm 屏幕尺寸 2.1 inch 分辨率 250*122 像素密度 130dpi 显示技术 电子墨水屏显示 显示颜色 黑/白 外观颜色 白色 按键 1 指示灯 1 RGB灯 灯光颜…

Vue.js 中的混入是什么?如何使用混入?

Vue.js 中的混入是什么?如何使用混入? 在 Vue.js 中,混入(Mixin)是一种可复用的对象,可以包含任意组件选项。通过混入,我们可以将一些相同的代码逻辑抽离出来,使组件更加简洁和可维…

录音如何转换成mp3格式

录音怎如何转换成mp3格式?因为我们知道录音的格式有很多种,其中常见的有WAV格式(Waveform Audio File Format):是一种无损音频文件格式,音质高保真,通常用于专业录音和音乐制作。WMA格式&#x…

qt三个窗口基本类

qt是一个gui框架,做图形用户界面的,本地可以跑,跟一些web框架那种做好点击网址跳转的不一样,python的web常用的flask和django,python也有gui框架比如pytqt和tkinter,这个专栏讲qt5,用c写gui qt…

WOWWEE ROVIO小车改造思路

23年5月接触到这个车,大约是07年的玩具,初看到外观,真的是惊艳,三爪着地,长长的脖子,有些科幻电影中外星生物的味道。这个ID设计,放到今天,也是能镇住国内一众玩具厂商的。惊讶之余&…

浅谈 ByteHouse Projection 优化实践

预聚合是 OLAP 系统中常用的一种优化手段,在通过在加载数据时就进行部分聚合计算,生成聚合后的中间表或视图,从而在查询时直接使用这些预先计算好的聚合结果,提高查询性能,实现这种预聚合方法大多都使用物化视图来实现…

基于javaweb jsp+SSM 简易版教务管理系统的设计与实现

目录 一.项目介绍 二.环境需要 三.技术栈 四.使用说明 五. 运行截图 六. 视频演示 一.项目介绍 本系统分为管理员、老师、学生三类 管理员:维护课程信息、维护老师信息、维护学生信息、密码重置(其他账户)、修改密码、退出系统 老…

macOS Sonoma 14.0 Beta 1 (23A5257q) ISO、IPSW、PKG 下载

macOS Sonoma 14.0 Beta 1 (23A5257q) ISO、IPSW、PKG 下载 本站下载的 macOS 软件包,既可以拖拽到 Applications(应用程序)下直接安装,也可以制作启动 U 盘安装,或者在虚拟机中启动安装。另外也支持在 Windows 和 Li…

JVM暂时私有

Jvm: 一、类加载器分类 引导类加载器:BootStrapClassLoader(出于安全考虑,Bootstrap启动类加载器只加载包名为java、javax、sun等开头的类)自定义类加载器:Extension ClassLoader AppClassLoader (Tomcat也…

DBeaver 23.0.5发布

导读SQL 编辑器是一款功能强大的数据库管理工具,为用户提供了便捷的 SQL 编写和编辑功能。最近,该编辑器进行了多项更新,提升了使用体验。 首先,WHERE 和 SELECT 等自动完成功能现在显示与别名表的别名。用户可以使用键盘快捷键或…

https通信加密原理

为什么要用https HTTP 由于是超文本传输协议,是一个简单的请求-响应协议,它通常运行在TCP之上,它是明文传输,不能保证数据的完整性,不能保证是否被窃听,不能保证数据是否被篡改 https采用了一些加解密&am…

安装银河麒麟操作系统

文章目录 一、安装银河麒麟操作系统1.1、简介1.2、银河麒麟高级服务器操作系统V101.3、下载银河麒麟镜像1.4、安装银河麒麟操作系统兼容版 一、安装银河麒麟操作系统 1.1、简介 银河麒麟(KylinOS)原是在863计划和国家核高基科技重大专项支持下&#xf…

HFish蜜罐部署教程(windows版)—HW蓝队主动防御利器

文章目录 前言基础环境蜜罐部署管理端部署添加节点&开启服务 攻击展示端口扫描测试目录扫描测试POC测试 && ssh测试失陷测试 酷炫大屏后记Tips 前言 一年一度的HW马上又要来了,【不过听说今年推迟了一些】 ,各位师傅应该都按耐不住了&#…