Kalman filter principle (five) sequential Kalman filter

The measurement dimension is very high and can be written in many components. Each component can be regarded as a small measurement, which can be updated sequentially

  • The advantages are: fast calculation and better numerical stability. We know that matrix inversion is proportional to the cube of the dimension, and it is divided into small matrices for fast inversion (all decomposed into one-dimensional, and inversion becomes derivative)
  • The disadvantage is that if the measurements are related and change every moment, Cholesky decomposition must be done every moment. (In fact, in many cases, the measurement noise is a constant constant matrix, as long as it is decomposed once at startup)

函数模型
{ 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=Phik/k1Xk1+Ck1Wk1Zk=HkXk+Vk
其中
[ Z k ( 1 ) Z k ( 2 ) ⋮ Z k ( N ) ] = [ H k ( 1 ) H k ( 2 ) ⋮ H k ( N ) ] X k + [ V k ( 1 ) V k ( 2 ) ⋮ V k ( N ) ] R k = [ R k ( 1 ) R k ( 2 ) ⋱ R k ( N ) ] \begin{array}{l} {\left[\begin{array}{c} \boldsymbol{Z}_{k}^{(1)} \\ \boldsymbol{Z}_{k}^{(2)} \\ \vdots \\ \boldsymbol{Z}_{k}^{(N)} \end{array}\right]=\left[\begin{array}{c} \boldsymbol{H}_{k}^{(1)} \\ \boldsymbol{H}_{k}^{(2)} \\ \vdots \\ \boldsymbol{H}_{k}^{(N)} \end{array}\right] \boldsymbol{X}_{k}+\left[\begin{array}{c} \boldsymbol{V}_{k}^{(1)} \\ \boldsymbol{V}_{k}^{(2)} \\ \vdots \\ \boldsymbol{V}_{k}^{(N)} \end{array}\right]} \\ \boldsymbol{R}_{k}=\left[\begin{array}{cccc} \boldsymbol{R}_{k}^{(1)} & & & \\ & \boldsymbol{R}_{k}^{(2)} & & \\ & & \ddots & \\ & & & \boldsymbol{R}_{k}^{(N)} \end{array}\right] \end{array} Zk(1)Zk(2)Zk(N) = Hk(1)Hk(2)Hk(N) Xk+ Vk(1)Vk(2)Vk(N) Rk= Rk(1)Rk(2)Rk(N)
Sequential filtering execution block diagram:

[External link picture transfer failed, the source site may have an anti-leeching mechanism, it is recommended to save the picture and upload it directly (img-2muFB9hy-1685974534667) (Kalman filter and combined navigation principle (5) sequential filter.assets/1685973791594.png )]

If the measurement noise is correlated between epochs, the measurement noise is not a diagonal matrix, it can always be decomposed by square root (Cholesky decomposition)
R k = L k L k T \boldsymbol{R}_{k}=\boldsymbol{L} _{k} \boldsymbol{L}_{k}^{\mathrm{T}}Rk=LkLkT
Use L k − 1 \boldsymbol{L}_{k}^{-1}Lk1At the same time, multiply both sides of the measurement equation to the left, and get:
L k − 1 Z k = L k − 1 H k X k + L k − 1 V k \boldsymbol{L}_{k}^{-1} \boldsymbol{Z }_{k}=\boldsymbol{L}_{k}^{-1} \boldsymbol{H}_{k} \boldsymbol{X}_{k}+\boldsymbol{L}_{k}^{ -1} \boldsymbol{V}_{k}Lk1Zk=Lk1HkXk+Lk1Vk
Get a new measurement equation:
Z k ∗ = H k ∗ X k + V k ∗ \boldsymbol{Z}_{k}^{*}=\boldsymbol{H}_{k}^{*} \boldsymbol{ X}_{k}+\boldsymbol{V}_{k}^{*}Zk=HkXk+Vk
其中:
Z k ∗ = L k − 1 Z k , H k ∗ = L k − 1 H k , V k ∗ = L k − 1 V k \quad \boldsymbol{Z}_{k}^{*}=\boldsymbol{L}_{k}^{-1} \boldsymbol{Z}_{k}, \quad \boldsymbol{H}_{k}^{*}=\boldsymbol{L}_{k}^{-1} \boldsymbol{H}_{k}, \quad \boldsymbol{V}_{k}^{*}=\boldsymbol{L}_{k}^{-1} \boldsymbol{V}_{k} Zk=Lk1Zk,Hk=Lk1Hk,Vk=Lk1Vk
The measurement variance matrix can thus be diagonalized (identity matrix!):
R k ∗ = E [ V k ∗ ( V k ∗ ) T ] = E [ ( L k − 1 V k ) ( L k − 1 V k ) T ] = L k − 1 E [ V k V k T ] ( L k − 1 ) T = L k − 1 R k ( L k − 1 ) T = I \begin{aligned} \boldsymbol{R}_ {k}^{*} & =\mathrm{E}\left[\boldsymbol{V}_{k}^{*}\left(\boldsymbol{V}_{k}^{*}\right)^ {\mathrm{T}}\right]=\mathrm{E}\left[\left(\boldsymbol{L}_{k}^{-1} \boldsymbol{V}_{k}\right)\left (\boldsymbol{L}_{k}^{-1} \boldsymbol{V}_{k}\right)^{\mathrm{T}}\right] \\ & =\boldsymbol{L}_{k }^{-1} \mathrm{E}\left[\boldsymbol{V}_{k} \boldsymbol{V}_{k}^{\mathrm{T}}\right]\left(\boldsymbol{L }_{k}^{-1}\right)^{\mathrm{T}}=\boldsymbol{L}_{k}^{-1} \boldsymbol{R}_{k}\left(\boldsymbol {L}_{k}^{-1}\right)^{\mathrm{T}}=\boldsymbol{I} \end{aligned}Rk=E[Vk(Vk)T]=E[(Lk1Vk)(Lk1Vk)T]=Lk1E[VkVkT](Lk1)T=Lk1Rk(Lk1)T=I
Satisfy the sequential filtering model { X k = Φ klk − 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}_{kl 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=Phik l k 1Xk1+Ck1Wk1Zk=HkXk+Vk

Guess you like

Origin blog.csdn.net/daoge2666/article/details/131057294