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/k−1Xk−1+Ck−1Wk−1Zk=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:
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}Lk−1At 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}Lk−1Zk=Lk−1HkXk+Lk−1Vk
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∗=Hk∗Xk+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∗=Lk−1Zk,Hk∗=Lk−1Hk,Vk∗=Lk−1Vk
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[(Lk−1Vk)(Lk−1Vk)T]=Lk−1E[VkVkT](Lk−1)T=Lk−1Rk(Lk−1)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 − 1Xk−1+Ck−1Wk−1Zk∗=Hk∗Xk+Vk∗