卡尔曼滤波与组合导航原理(三)连续随机系统的离散化与连续时间Kalman滤波

news2024/10/6 10:30:00

文章目录

    • 一、连续时间系统方程离散化
      • 1、连续时间模型
      • 2、状态转移矩阵计算
      • 3、激励噪声的等效计算
      • 4、最终离散化结论
      • 5、常见简单随机过程离散化
      • 6、实际物理信号的噪声单位
    • 二、连续时间量测方程离散化
    • 三、连续时间Kalman滤波
      • 1、连续状态空间模型
      • 2、离散时间Kalman滤波
      • 3、增益矩阵的连续化
      • 4、状态估计的连续化
      • 5、均方差阵的连续化
      • 6、连续时间Kalman滤波方程汇总

实际建模中给的可能是连续的状态方程、连续的量测方程;要用Kalman滤波得先进行离散化。

一、连续时间系统方程离散化

1、连续时间模型

X ˙ ( t ) = F ( t ) X ( t ) + G ( t ) w ( t ) E [ w ( t ) ] = 0 , E [ w ( t ) w T ( τ ) ] = q ( t ) δ ( t − τ ) \dot{\boldsymbol{X}}(t)=\boldsymbol{F}(t) \boldsymbol{X}(t)+\boldsymbol{G}(t) \boldsymbol{w}(t) \quad \mathrm{E}[\boldsymbol{w}(t)]=0, \quad \mathrm{E}\left[\boldsymbol{w}(t) \boldsymbol{w}^{\mathrm{T}}(\tau)\right]=\boldsymbol{q}(t) \delta(t-\tau) X˙(t)=F(t)X(t)+G(t)w(t)E[w(t)]=0,E[w(t)wT(τ)]=q(t)δ(tτ)

连续时间的白噪声不太好理解,它处处连续,处处不可导,幅值无穷大,任何两个时间不相关,且是高斯白噪声

离散化形式
X k = Φ k / k − 1 X k − 1 + η k − 1 \boldsymbol{X}_{k}=\boldsymbol{\Phi}_{k / k-1} \boldsymbol{X}_{k-1}+\boldsymbol{\eta}_{k-1} Xk=Φk/k1Xk1+ηk1
其中:
X k = X ( t k ) Φ k / k − 1 = Φ ( t k , t k − 1 ) ≈ e ∫ t k − 1 t k F ( τ ) d τ η k − 1 = ∫ t k − 1 t k Φ ( t k , τ ) G ( τ ) w ( τ ) d τ \begin{array}{l}\boldsymbol{X}_{k}=\boldsymbol{X}\left(t_{k}\right) \\ \boldsymbol{\Phi}_{k / k-1}=\boldsymbol{\Phi}\left(t_{k}, t_{k-1}\right) \approx \mathrm{e}^{\int_{t_{k-1}}^{t_{k}} F(\tau) \mathrm{d} \tau} \\ \boldsymbol{\eta}_{k-1}=\int_{t_{k-1}}^{t_{k}} \boldsymbol{\Phi}\left(t_{k}, \tau\right) \boldsymbol{G}(\tau) \boldsymbol{w}(\tau) \mathrm{d} \tau\end{array} Xk=X(tk)Φk/k1=Φ(tk,tk1)etk1tkF(τ)dτηk1=tk1tkΦ(tk,τ)G(τ)w(τ)dτ

2、状态转移矩阵计算

泰勒展开之后取前两项;后面高阶项计算量大,收益小:
Φ k / k − 1 ≈ e F ( t k − 1 ) T s = I + F ( t k − 1 ) T s + F 2 ( t k − 1 ) I s 2 ∂ ! + F 3 ( t k − 1 ) I s ∂ ! + ⋯ ≈ I + F ( t k − 1 ) T s \boldsymbol{\Phi}_{k / k-1} \approx \mathrm{e}^{F\left(t_{k-1}\right) T_{s}}=\boldsymbol{I}+\boldsymbol{F}\left(t_{k-1}\right) T_{s}+\boldsymbol{F}^{2}\left(t_{k-1}\right) \frac{I_{s}^{2}}{\partial !}+\boldsymbol{F}^{3}\left(t_{k-1}\right) \frac{I_{s}}{\partial !}+\cdots \approx \boldsymbol{I}+\boldsymbol{F}\left(t_{k-1}\right) T_{s} Φk/k1eF(tk1)Ts=I+F(tk1)Ts+F2(tk1)!Is2+F3(tk1)!Is+I+F(tk1)Ts

3、激励噪声的等效计算

η k − 1 = ∫ t k − 1 t k Φ ( t k , τ ) G ( τ ) w ( τ ) d τ \boldsymbol{\eta}_{k-1}=\int_{t_{k-1}}^{t_{k}} \boldsymbol{\Phi}\left(t_{k}, \tau\right) \boldsymbol{G}(\tau) \boldsymbol{w}(\tau) \mathrm{d} \tau ηk1=tk1tkΦ(tk,τ)G(τ)w(τ)dτ
连续时间系统的噪声是高斯白噪声,经过线性变换(微积分也是线性变换),得到的还是高斯白噪声。想了解它,只要知道它的一阶矩和二阶矩就行了

激励噪声均值
E [ η k − 1 ] = E [ ∫ t k − 1 t k Φ ( t k , τ ) G ( τ ) w ( τ ) d τ ] = ∫ t k − 1 t k Φ ( t k , τ ) G ( τ ) E [ w ( τ ) ] d τ = 0 \mathrm{E}\left[\boldsymbol{\eta}_{k-1}\right]=\mathrm{E}\left[\int_{t_{k-1}}^{t_{k}} \boldsymbol{\Phi}\left(t_{k}, \tau\right) \boldsymbol{G}(\tau) \boldsymbol{w}(\tau) \mathrm{d} \tau\right]=\int_{t_{k-1}}^{t_{k}} \boldsymbol{\Phi}\left(t_{k}, \tau\right) \boldsymbol{G}(\tau) \mathrm{E}[\boldsymbol{w}(\tau)] \mathrm{d} \tau=\mathbf{0} E[ηk1]=E[tk1tkΦ(tk,τ)G(τ)w(τ)dτ]=tk1tkΦ(tk,τ)G(τ)E[w(τ)]dτ=0
激励噪声协方差
E [ η k − 1 η j − 1 T ] = 0 k ≠ j \mathrm{E}\left[\boldsymbol{\eta}_{k-1} \boldsymbol{\eta}_{j-1}^{\mathrm{T}}\right]=\mathbf{0} \quad k \neq j E[ηk1ηj1T]=0k=j

E [ η k − 1 η k − 1 T ] = E { ∫ t k − 1 t k Φ ( t k , τ ) G ( τ ) w ( τ ) d τ ⋅ [ ∫ t k − 1 t k Φ ( t k , s ) G ( s ) w ( s ) d s ] T } k = j = E [ ∫ t k − 1 t k Φ ( t k , τ ) G ( τ ) w ( τ ) ∫ t k − 1 t k w T ( s ) G T ( s ) Φ T ( t k , s ) d s   d τ ] = ∫ t k − 1 t k Φ ( t k , τ ) G ( τ ) ∫ t k − 1 t k E [ w ( τ ) w T ( s ) ] G T ( s ) Φ T ( t k , s ) d s   d τ = ∫ t k − 1 t k Φ ( t k , τ ) G ( τ ) ∫ t k − 1 t k q ( τ ) δ ( τ − s ) G T ( s ) Φ T ( t k , s ) d s   d τ = ∫ t k − 1 t k Φ ( t k , τ ) G ( τ ) q ( τ ) G T ( τ ) Φ T ( t k , τ ) d τ \begin{aligned} \mathrm{E}\left[\boldsymbol{\eta}_{k-1} \boldsymbol{\eta}_{k-1}^{\mathrm{T}}\right] & =\mathrm{E}\left\{\int_{t_{k-1}}^{t_{k}} \boldsymbol{\Phi}\left(t_{k}, \tau\right) \boldsymbol{G}(\tau) \boldsymbol{w}(\tau) \mathrm{d} \tau \cdot\left[\int_{t_{k-1}}^{t_{k}} \boldsymbol{\Phi}\left(t_{k}, s\right) \boldsymbol{G}(s) \boldsymbol{w}(s) \mathrm{d} s\right]^{\mathrm{T}}\right\} \quad k=j \\ & =\mathrm{E}\left[\int_{t_{k-1}}^{t_{k}} \boldsymbol{\Phi}\left(t_{k}, \tau\right) \boldsymbol{G}(\tau) \boldsymbol{w}(\tau) \int_{t_{k-1}}^{t_{k}} \boldsymbol{w}^{\mathrm{T}}(s) \boldsymbol{G}^{\mathrm{T}}(s) \boldsymbol{\Phi}^{\mathrm{T}}\left(t_{k}, s\right) \mathrm{d} s \mathrm{~d} \tau\right] \\ & =\int_{t_{k-1}}^{t_{k}} \boldsymbol{\Phi}\left(t_{k}, \tau\right) \boldsymbol{G}(\tau) \int_{t_{k-1}}^{t_{k}} \mathrm{E}\left[\boldsymbol{w}(\tau) \boldsymbol{w}^{\mathrm{T}}(s)\right] \boldsymbol{G}^{\mathrm{T}}(s) \boldsymbol{\Phi}^{\mathrm{T}}\left(t_{k}, s\right) \mathrm{d} s \mathrm{~d} \tau \\ & =\int_{t_{k-1}}^{t_{k}} \boldsymbol{\Phi}\left(t_{k}, \tau\right) \boldsymbol{G}(\tau) \int_{t_{k-1}}^{t_{k}} \boldsymbol{q}(\tau) \delta(\tau-s) \boldsymbol{G}^{\mathrm{T}}(s) \boldsymbol{\Phi}^{\mathrm{T}}\left(t_{k}, s\right) \mathrm{d} s \mathrm{~d} \tau \\ & =\int_{t_{k-1}}^{t_{k}} \boldsymbol{\Phi}\left(t_{k}, \tau\right) \boldsymbol{G}(\tau) \boldsymbol{q}(\tau) \boldsymbol{G}^{\mathrm{T}}(\tau) \boldsymbol{\Phi}^{\mathrm{T}}\left(t_{k}, \tau\right) \mathrm{d} \tau\end{aligned} E[ηk1ηk1T]=E{tk1tkΦ(tk,τ)G(τ)w(τ)dτ[tk1tkΦ(tk,s)G(s)w(s)ds]T}k=j=E[tk1tkΦ(tk,τ)G(τ)w(τ)tk1tkwT(s)GT(s)ΦT(tk,s)ds dτ]=tk1tkΦ(tk,τ)G(τ)tk1tkE[w(τ)wT(s)]GT(s)ΦT(tk,s)ds dτ=tk1tkΦ(tk,τ)G(τ)tk1tkq(τ)δ(τs)GT(s)ΦT(tk,s)ds dτ=tk1tkΦ(tk,τ)G(τ)q(τ)GT(τ)ΦT(tk,τ)dτ

想往下算,得做一些假设,在 t k − 1 t_{k-1} tk1 t k t_k tk 这一小段时间内, Φ ( t k , τ ) G ( τ ) \boldsymbol{\Phi}\left(t_{k}, \tau\right) \boldsymbol{G}(\tau) Φ(tk,τ)G(τ) 都为常值,时不变;不是常值可以取一阶项
E [ η k − 1 η k − 1 T ] = ∫ t k − 1 t k Φ ( t k , τ ) G ( τ ) q ( τ ) G T ( τ ) Φ T ( t k , τ ) d τ ≈ ∫ t k − 1 t k [ I + F ( t k − 1 ) ( t k − τ ) ] G ( t k − 1 ) q ( t k − 1 ) G T ( t k − 1 ) [ I + F ( t k − 1 ) ( t k − τ ) ] T d τ = ∫ t k − 1 t k G ( t k − 1 ) q G T ( t k − 1 ) d τ + ∫ t k − 1 t k G ( t k − 1 ) q ( t k − 1 ) G T ( t k − 1 ) F T ( t k − 1 ) ( t k − τ ) d τ + ∫ t k − 1 t k F ( t k − 1 ) G ( t k − 1 ) q ( t k − 1 ) G T ( t k − 1 ) ( t k − τ ) d τ + ∫ t k − 1 t k F ( t k − 1 ) G ( t k − 1 ) q ( t k − 1 ) G T ( t k − 1 ) F T ( t k − 1 ) ( t k − τ ) 2   d τ = G ( t k − 1 ) q ( t k − 1 ) G T ( t k − 1 ) T s + 1 2 G ( t k − 1 ) q ( t k − 1 ) G T ( t k − 1 ) F T ( t k − 1 ) T s 2 + 1 2 F ( t k − 1 ) G ( t k − 1 ) q ( t k − 1 ) G T ( t k − 1 ) T s 2 + 1 3 F ( t k − 1 ) G ( t k − 1 ) q ( t k − 1 ) G T ( t k − 1 ) F T ( t k − 1 ) T s 3 = [ I + 1 2 F ( t k − 1 ) T s ] ⋅ [ G ( t k − 1 ) q ( t k − 1 ) G T ( t k − 1 ) T T s ] ⋅ [ I + 1 2 F ( t k − 1 ) T s ] T + 1 12 F ( t k − 1 ) G ( t k − 1 ) q ( t k − 1 ) G T ( t k − 1 ) F T ( t k − 1 ) T s 3 ≈ { [ I + 1 2 F ( t k − 1 ) T s ] G ( t k − 1 ) } ⋅ [ q ( t k − 1 ) T s ] ⋅ { [ I + 1 2 F ( t k − 1 ) T s ] G ( t k − 1 ) } T \begin{aligned} \mathrm{E} & {\left[\boldsymbol{\eta}_{k-1} \boldsymbol{\eta}_{k-1}^{\mathrm{T}}\right]=\int_{t_{k-1}}^{t_{k}} \boldsymbol{\Phi}\left(t_{k}, \tau\right) \boldsymbol{G}(\tau) \boldsymbol{q}(\tau) \boldsymbol{G}^{\mathrm{T}}(\tau) \boldsymbol{\Phi}^{\mathrm{T}}\left(t_{k}, \tau\right) \mathrm{d} \tau } \\ \approx & \int_{t_{k-1}}^{t_{k}}\left[\boldsymbol{I}+\boldsymbol{F}\left(t_{k-1}\right)\left(t_{k}-\tau\right)\right] \boldsymbol{G}\left(t_{k-1}\right) \boldsymbol{q}\left(t_{k-1}\right) \boldsymbol{G}^{\mathrm{T}}\left(t_{k-1}\right)\left[\boldsymbol{I}+\boldsymbol{F}\left(t_{k-1}\right)\left(t_{k}-\tau\right)\right]^{\mathrm{T}} \mathrm{d} \tau \\ = & \int_{t_{k-1}}^{t_{k}} \boldsymbol{G}\left(t_{k-1}\right) \boldsymbol{q} \boldsymbol{G}^{\mathrm{T}}\left(t_{k-1}\right) \mathrm{d} \tau+\int_{t_{k-1}}^{t_{k}} \boldsymbol{G}\left(t_{k-1}\right) \boldsymbol{q}\left(t_{k-1}\right) \boldsymbol{G}^{\mathrm{T}}\left(t_{k-1}\right) \boldsymbol{F}^{\mathrm{T}}\left(t_{k-1}\right)\left(t_{k}-\tau\right) \mathrm{d} \tau \\ & \quad+\int_{t_{k-1}}^{t_{k}} \boldsymbol{F}\left(t_{k-1}\right) \boldsymbol{G}\left(t_{k-1}\right) \boldsymbol{q}\left(t_{k-1}\right) \boldsymbol{G}^{\mathrm{T}}\left(t_{k-1}\right)\left(t_{k}-\tau\right) \mathrm{d} \tau+\int_{t_{k-1}}^{t_{k}} \boldsymbol{F}\left(t_{k-1}\right) \boldsymbol{G}\left(t_{k-1}\right) \boldsymbol{q}\left(t_{k-1}\right) \boldsymbol{G}^{\mathrm{T}}\left(t_{k-1}\right) \boldsymbol{F}^{\mathrm{T}}\left(t_{k-1}\right)\left(t_{k}-\tau\right)^{2} \mathrm{~d} \tau \\ = & \boldsymbol{G}\left(t_{k-1}\right) \boldsymbol{q}\left(t_{k-1}\right) \boldsymbol{G}^{\mathrm{T}}\left(t_{k-1}\right) T_{s}+\frac{1}{2} \boldsymbol{G}\left(t_{k-1}\right) \boldsymbol{q}\left(t_{k-1}\right) \boldsymbol{G}^{\mathrm{T}}\left(t_{k-1}\right) \boldsymbol{F}^{\mathrm{T}}\left(t_{k-1}\right) T_{s}^{2} \\ & \quad+\frac{1}{2} \boldsymbol{F}\left(t_{k-1}\right) \boldsymbol{G}\left(t_{k-1}\right) \boldsymbol{q}\left(t_{k-1}\right) \boldsymbol{G}^{\mathrm{T}}\left(t_{k-1}\right) T_{s}^{2}+\frac{1}{3} \boldsymbol{F}\left(t_{k-1}\right) \boldsymbol{G}\left(t_{k-1}\right) \boldsymbol{q}\left(t_{k-1}\right) \boldsymbol{G}^{\mathrm{T}}\left(t_{k-1}\right) \boldsymbol{F}^{\mathrm{T}}\left(t_{k-1}\right) T_{s}^{3} \\ = & {\left[\boldsymbol{I}+\frac{1}{2} \boldsymbol{F}\left(t_{k-1}\right) T_{s}\right] \cdot\left[\boldsymbol{G}\left(t_{k-1}\right) \boldsymbol{q}\left(t_{k-1}\right) \boldsymbol{G}^{\mathrm{T}}\left(t_{k-1}\right) T T_{s}\right] \cdot\left[\boldsymbol{I}+\frac{1}{2} \boldsymbol{F}\left(t_{k-1}\right) T_{s}\right]^{\mathrm{T}}+\frac{1}{12} \boldsymbol{F}\left(t_{k-1}\right) \boldsymbol{G}\left(t_{k-1}\right) \boldsymbol{q}\left(t_{k-1}\right) \boldsymbol{G}^{\mathrm{T}}\left(t_{k-1}\right) \boldsymbol{F}^{\mathrm{T}}\left(t_{k-1}\right) T_{s}^{3} } \\ \approx & \left\{\left[\boldsymbol{I}+\frac{1}{2} \boldsymbol{F}\left(t_{k-1}\right) T_{s}\right] \boldsymbol{G}\left(t_{k-1}\right)\right\} \cdot\left[\boldsymbol{q}\left(t_{k-1}\right) T_{s}\right] \cdot\left\{\left[\boldsymbol{I}+\frac{1}{2} \boldsymbol{F}\left(t_{k-1}\right) T_{s}\right] \boldsymbol{G}\left(t_{k-1}\right)\right\}^{\mathrm{T}}\end{aligned} E===[ηk1ηk1T]=tk1tkΦ(tk,τ)G(τ)q(τ)GT(τ)ΦT(tk,τ)dτtk1tk[I+F(tk1)(tkτ)]G(tk1)q(tk1)GT(tk1)[I+F(tk1)(tkτ)]Tdτtk1tkG(tk1)qGT(tk1)dτ+tk1tkG(tk1)q(tk1)GT(tk1)FT(tk1)(tkτ)dτ+tk1tkF(tk1)G(tk1)q(tk1)GT(tk1)(tkτ)dτ+tk1tkF(tk1)G(tk1)q(tk1)GT(tk1)FT(tk1)(tkτ)2 dτG(tk1)q(tk1)GT(tk1)Ts+21G(tk1)q(tk1)GT(tk1)FT(tk1)Ts2+21F(tk1)G(tk1)q(tk1)GT(tk1)Ts2+31F(tk1)G(tk1)q(tk1)GT(tk1)FT(tk1)Ts3[I+21F(tk1)Ts][G(tk1)q(tk1)GT(tk1)TTs][I+21F(tk1)Ts]T+121F(tk1)G(tk1)q(tk1)GT(tk1)FT(tk1)Ts3{[I+21F(tk1)Ts]G(tk1)}[q(tk1)Ts]{[I+21F(tk1)Ts]G(tk1)}T
如果时间极短,还可以再简化:
E [ η k − 1 η k − 1 T ] ≈ G ( t k − 1 ) ⋅ [ q ( t k − 1 ) T s ] ⋅ G T ( t k − 1 ) F ( t k − 1 ) T s ≪ I \mathrm{E}\left[\boldsymbol{\eta}_{k-1} \boldsymbol{\eta}_{k-1}^{\mathrm{T}}\right] \approx \boldsymbol{G}\left(t_{k-1}\right) \cdot\left[\boldsymbol{q}\left(t_{k-1}\right) T_{s}\right] \cdot \boldsymbol{G}^{\mathrm{T}}\left(t_{k-1}\right) \quad \boldsymbol{F}\left(t_{k-1}\right) T_{s} \ll \boldsymbol{I} E[ηk1ηk1T]G(tk1)[q(tk1)Ts]GT(tk1)F(tk1)TsI

4、最终离散化结论

或等价表示为:

两者都满足:
E [ ( Γ k − 1 W k − 1 ) ( Γ k − 1 W k − 1 ) T ] = G ( t k − 1 ) ⋅ [ q ( t k − 1 ) T s ] ⋅ G T ( t k − 1 ) = E [ ( Γ k − 1 ′ W k − 1 ′ ) ( Γ k − 1 ′ W k − 1 ′ ) T ] \mathrm{E}\left[\left(\boldsymbol{\Gamma}_{k-1} \boldsymbol{W}_{k-1}\right)\left(\boldsymbol{\Gamma}_{k-1} \boldsymbol{W}_{k-1}\right)^{\mathrm{T}}\right]=\boldsymbol{G}\left(t_{k-1}\right) \cdot\left[\boldsymbol{q}\left(t_{k-1}\right) T_{s}\right] \cdot \boldsymbol{G}^{\mathrm{T}}\left(t_{k-1}\right)=\mathrm{E}\left[\left(\boldsymbol{\Gamma}_{k-1}^{\prime} \boldsymbol{W}_{k-1}^{\prime}\right)\left(\boldsymbol{\Gamma}_{k-1}^{\prime} \boldsymbol{W}_{k-1}^{\prime}\right)^{\mathrm{T}}\right] E[(Γk1Wk1)(Γk1Wk1)T]=G(tk1)[q(tk1)Ts]GT(tk1)=E[(Γk1Wk1)(Γk1Wk1)T]

5、常见简单随机过程离散化

1.一阶马尔可夫: X ˙ ( t ) = − β X ( t ) + w ( t ) X k = a 1 X k − 1 + W k − 1 \dot{X}(t)=-\beta X(t)+w(t) \quad X_{k}=a_{1} X_{k-1}+W_{k-1} X˙(t)=βX(t)+w(t)Xk=a1Xk1+Wk1

2.二阶马尔可夫: X ¨ ( t ) = − 2 β X ˙ ( t ) − β 2 X ( t ) + w ( t ) X k = a 1 X k − 1 + a 2 X k − 2 + W k − 1 \ddot{X}(t)=-2 \beta \dot{X}(t)-\beta^{2} X(t)+w(t) \quad X_{k}=a_{1} X_{k-1}+a_{2} X_{k-2}+W_{k-1} X¨(t)=2βX˙(t)β2X(t)+w(t)Xk=a1Xk1+a2Xk2+Wk1

3.随机游走: X ˙ ( t ) = w ( t ) X k = X k − 1 + W k − 1 \dot{X}(t)=w(t) \quad X_{k}=X_{k-1}+W_{k-1} X˙(t)=w(t)Xk=Xk1+Wk1

4.随机常值: X ˙ ( t ) = 0 X k = X 0 \dot{X}(t)=0 \quad X_{k}=X_{0} X˙(t)=0Xk=X0

6、实际物理信号的噪声单位

  • τ \tau τ 表示相关时间,很多时候等于 1 1 1,所以 − 1 / τ -1 / \tau 1/τ 可能被省略
  • q − U / s / H z \sqrt{q}-\mathrm{U} / \mathrm{s} / \sqrt{Hz } \mathrm{} q U/s/Hz 激励噪声密度,描述激励噪声本身。 U / S \mathrm{U} / \sqrt{ S} U/S 随机游走噪声系数,是想描述 X X X 的噪声。描述的主体不同。比如惯导中有:

二、连续时间量测方程离散化

连续量测方程的只是理论上的抽象,没有实际意义

连续量测模型
Z ( t ) = H ( t ) X ( t ) + v ( t ) E [ v ( t ) ] = 0 , E [ v ( t ) v T ( τ ) ] = r ( t ) δ ( t − τ ) \boldsymbol{Z}(t)=\boldsymbol{H}(t) \boldsymbol{X}(t)+\boldsymbol{v}(t) \quad \mathrm{E}[\boldsymbol{v}(t)]=\mathbf{0}, \quad \mathrm{E}\left[\boldsymbol{v}(t) \boldsymbol{v}^{\mathrm{T}}(\tau)\right]=\boldsymbol{r}(t) \delta(t-\tau) Z(t)=H(t)X(t)+v(t)E[v(t)]=0,E[v(t)vT(τ)]=r(t)δ(tτ)
在 $ t_{k-1} $ 到 t k t_{k} tk 时间段,两边积分平均:
1 T s ∫ t k − 1 t k Z ( τ ) d τ = 1 T v ∫ t k − 1 t k H ( τ ) X ( τ ) + v ( τ ) d τ = 1 T v ∫ t k − 1 t k H ( τ ) X ( τ ) d τ + 1 T s ∫ t k − 1 t k v ( τ ) d τ \frac{1}{T_{s}} \int_{t_{k-1}}^{t_{k}} \boldsymbol{Z}(\tau) \mathrm{d} \tau=\frac{1}{T_{v}} \int_{t_{k-1}}^{t_{k}} \boldsymbol{H}(\tau) \boldsymbol{X}(\tau)+\boldsymbol{v}(\tau) \mathrm{d} \tau=\frac{1}{T_{v}} \int_{t_{k-1}}^{t_{k}} \boldsymbol{H}(\tau) \boldsymbol{X}(\tau) \mathrm{d} \tau+\frac{1}{T_{s}} \int_{t_{k-1}}^{t_{k}} \boldsymbol{v}(\tau) \mathrm{d} \tau Ts1tk1tkZ(τ)dτ=Tv1tk1tkH(τ)X(τ)+v(τ)dτ=Tv1tk1tkH(τ)X(τ)dτ+Ts1tk1tkv(τ)dτ
离散化记为: Z k ≈ H k X k + V k \boldsymbol{Z}_{k} \approx \boldsymbol{H}_{k} \boldsymbol{X}_{k}+\boldsymbol{V}_{k} ZkHkXk+Vk

观测噪声均值
E [ V k ] = E [ 1 T s ∫ t k − 1 t k v ( τ ) d τ ] = 1 T s ∫ t k − 1 t k E [ v ( τ ) ] d τ = 0 \mathrm{E}\left[\boldsymbol{V}_{k}\right]=\mathrm{E}\left[\frac{1}{T_{s}} \int_{t_{k-1}}^{t_{k}} \boldsymbol{v}(\tau) \mathrm{d} \tau\right]=\frac{1}{T_{s}} \int_{t_{k-1}}^{t_{k}} \mathrm{E}[\boldsymbol{v}(\tau)] \mathrm{d} \tau=\mathbf{0} E[Vk]=E[Ts1tk1tkv(τ)dτ]=Ts1tk1tkE[v(τ)]dτ=0
观测噪声协方差
E [ V k V j T ] = E [ ( 1 T s ∫ t k − 1 t k v ( τ ) d τ ) ( 1 T s ∫ t j − 1 t j v ( s ) d s ) T ] = 1 T s 2 ∫ t k − 1 t k ∫ t j − 1 t j E [ v ( τ ) v T ( s ) ] d s   d τ = 1 T s 2 ∫ t k − 1 t k ∫ t j − 1 t j r ( τ ) δ ( s − τ ) d s   d = 1 T s 2 ∫ t k − 1 t k r ( τ ) δ k j   d τ ≈ r ( t k ) T s δ k j ≜ R k δ k j \begin{aligned} \mathrm{E}\left[\boldsymbol{V}_{k} \boldsymbol{V}_{j}^{\mathrm{T}}\right] & =\mathrm{E}\left[\left(\frac{1}{T_{s}} \int_{t_{k-1}}^{t_{k}} \boldsymbol{v}(\tau) \mathrm{d} \tau\right)\left(\frac{1}{T_{s}} \int_{t_{j-1}}^{t_{j}} \boldsymbol{v}(s) \mathrm{d} s\right)^{\mathrm{T}}\right] \\ & =\frac{1}{T_{s}^{2}} \int_{t_{k-1}}^{t_{k}} \int_{t_{j-1}}^{t_{j}} \mathrm{E}\left[\boldsymbol{v}(\tau) \boldsymbol{v}^{\mathrm{T}}(s)\right] \mathrm{d} s \mathrm{~d} \tau=\frac{1}{T_{s}^{2}} \int_{t_{k-1}}^{t_{k}} \int_{t_{j-1}}^{t_{j}} \boldsymbol{r}(\tau) \delta(s-\tau) \mathrm{d} s \mathrm{~d} \\ & =\frac{1}{T_{s}^{2}} \int_{t_{k-1}}^{t_{k}} \boldsymbol{r}(\tau) \delta_{k j} \mathrm{~d} \tau \approx \frac{\boldsymbol{r}\left(t_{k}\right)}{T_{s}} \delta_{k j} \triangleq \boldsymbol{R}_{k} \delta_{k j}\end{aligned} E[VkVjT]=E (Ts1tk1tkv(τ)dτ)(Ts1tj1tjv(s)ds)T =Ts21tk1tktj1tjE[v(τ)vT(s)]ds dτ=Ts21tk1tktj1tjr(τ)δ(sτ)ds d=Ts21tk1tkr(τ)δkj dτTsr(tk)δkjRkδkj
离散化量测间隔越小,等效出来的量测方差 $ \boldsymbol{R}_{k}$ 越大

三、连续时间Kalman滤波

连续的函数可以认为是离散函数,但离散间隔趋于 0 0 0 ;推导不是太严格,但比较直观。

1、连续状态空间模型

函数模型
{ X ˙ ( t ) = F ( t ) X ( t ) + G ( t ) w ( t ) Z ( t ) = H ( t ) X ( t ) + v ( t ) \left\{\begin{array}{l}\dot{\boldsymbol{X}}(t)=\boldsymbol{F}(t) \boldsymbol{X}(t)+\boldsymbol{G}(t) \boldsymbol{w}(t) \\ \boldsymbol{Z}(t)=\boldsymbol{H}(t) \boldsymbol{X}(t)+\boldsymbol{v}(t)\end{array}\right. {X˙(t)=F(t)X(t)+G(t)w(t)Z(t)=H(t)X(t)+v(t)
随机模型
{ E [ w ( t ) ] = 0 , E [ w ( t ) w T ( τ ) ] = q ( t ) δ ( t − τ ) E [ v ( t ) ] = 0 , E [ v ( t ) v T ( τ ) ] = r ( t ) δ ( t − τ ) E [ w ( t ) v T ( τ ) ] = 0 \left\{\begin{array}{l}\mathrm{E}[\boldsymbol{w}(t)]=\mathbf{0}, \quad \mathrm{E}\left[\boldsymbol{w}(t) \boldsymbol{w}^{\mathrm{T}}(\tau)\right]=\boldsymbol{q}(t) \delta(t-\tau) \\ \mathrm{E}[\boldsymbol{v}(t)]=\mathbf{0}, \quad \mathrm{E}\left[\boldsymbol{v}(t) \boldsymbol{v}^{\mathrm{T}}(\tau)\right]=\boldsymbol{r}(t) \delta(t-\tau) \\ \mathrm{E}\left[\boldsymbol{w}(t) \boldsymbol{v}^{\mathrm{T}}(\tau)\right]=\mathbf{0}\end{array}\right. E[w(t)]=0,E[w(t)wT(τ)]=q(t)δ(tτ)E[v(t)]=0,E[v(t)vT(τ)]=r(t)δ(tτ)E[w(t)vT(τ)]=0

2、离散时间Kalman滤波

  1. 状态一步预测: X ^ k ∣ k − 1 = Φ k ∣ k − 1 X ^ k − 1 \hat{\boldsymbol{X}}_{k \mid k-1}=\boldsymbol{\Phi}_{k \mid k-1} \hat{\boldsymbol{X}}_{k-1} X^kk1=Φkk1X^k1
  2. 状态一步预测均方误差: P k / k − 1 = Φ k / k − 1 P k − 1 Φ k / k − 1 T + Γ k − 1 Q k − 1 Γ k − 1 T \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}} Pk/k1=Φk/k1Pk1Φk/k1T+Γk1Qk1Γk1T
  3. 滤波增益: K k = P k / k − 1 H k T ( H k P k / k − 1 H k T + R 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} Kk=Pk/k1HkT(HkPk/k1HkT+Rk)1
  4. 状态估计: X ^ k = X ^ k / k − 1 + K k ( Z k − H k X ^ k / 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) X^k=X^k/k1+Kk(ZkHkX^k/k1)
  5. 状态估计均方误差: P k = ( I − K k H k ) P k / k − 1 \boldsymbol{P}_{k}=\left(\boldsymbol{I}-\boldsymbol{K}_{k} \boldsymbol{H}_{k}\right) \boldsymbol{P}_{k / k-1} Pk=(IKkHk)Pk/k1

$ t_{k-1} $ 到 t k t_{k} tk 时间段趋于 0 0 0 就是连续。

3、增益矩阵的连续化

将离散方程里的量测噪声 R k \boldsymbol{R}_{k} Rk 换成连续方程里的 r ( t k ) T s \frac{\boldsymbol{r}\left(t_{k}\right)}{T_{s}} Tsr(tk) 得:
K k = P k H k T R k − 1 = P k H k T [ r ( t k ) T s ] − 1 = T s P k H k T r − 1 ( t k ) \boldsymbol{K}_{k}=\boldsymbol{P}_{k} \boldsymbol{H}_{k}^{\mathrm{T}} \boldsymbol{R}_{k}^{-1}=\boldsymbol{P}_{k} \boldsymbol{H}_{k}^{\mathrm{T}}\left[\frac{\boldsymbol{r}\left(t_{k}\right)}{T_{s}}\right]^{-1}=T_{s} \boldsymbol{P}_{k} \boldsymbol{H}_{k}^{\mathrm{T}} \boldsymbol{r}^{-1}\left(t_{k}\right) Kk=PkHkTRk1=PkHkT[Tsr(tk)]1=TsPkHkTr1(tk)
T s T_s Ts 除到左边,求 T s T_s Ts 趋于 0 0 0 的极限:
K ( t ) = lim ⁡ T s → 0 K k T s = lim ⁡ T s → 0 P k H k T r − 1 ( t k ) = P ( t ) H T ( t ) r − 1 ( t ) \boldsymbol{K}(t)=\lim \limits_{T_{s} \rightarrow 0} \frac{\boldsymbol{K}_{k}}{T_{s}}=\lim \limits_{T_{s} \rightarrow 0} \boldsymbol{P}_{k} \boldsymbol{H}_{k}^{\mathrm{T}} \boldsymbol{r}^{-1}\left(t_{k}\right)=\boldsymbol{P}(t) \boldsymbol{H}^{\mathrm{T}}(t) \boldsymbol{r}^{-1}(t) K(t)=Ts0limTsKk=Ts0limPkHkTr1(tk)=P(t)HT(t)r1(t)
即离散方程的增益 K k {K}_{k} Kk 除以时间间隔 T s T_s Ts 记成连续方程的增益;如果 T s T_s Ts 趋于 0 0 0 , K k {K}_{k} Kk 也趋于 0,时间很短,预测很小,量测的修正自然也很小。

4、状态估计的连续化

将一阶的状态转移矩阵带入:
X ^ k = Φ k / k − 1 X ^ k − 1 + K k ( Z k − H k Φ k / k − 1 X ^ k − 1 ) = [ I + F ( t k − 1 ) T s ] X ^ k − 1 + K k { Z k − H k [ I + F ( t k − 1 ) T s ] X ^ k − 1 } = X ^ k − 1 + F ( t k − 1 ) X ^ k − 1 T s + K k [ Z k − H k X ^ k − 1 − H k F ( t k − 1 ) X ^ k − 1 T s ] \begin{aligned} \hat{\boldsymbol{X}}_{k} & =\boldsymbol{\Phi}_{k / k-1} \hat{\boldsymbol{X}}_{k-1}+\boldsymbol{K}_{k}\left(\boldsymbol{Z}_{k}-\boldsymbol{H}_{k} \boldsymbol{\Phi}_{k / k-1} \hat{\boldsymbol{X}}_{k-1}\right) \\ & =\left[\boldsymbol{I}+\boldsymbol{F}\left(t_{k-1}\right) T_{s}\right] \hat{\boldsymbol{X}}_{k-1}+\boldsymbol{K}_{k}\left\{\boldsymbol{Z}_{k}-\boldsymbol{H}_{k}\left[\boldsymbol{I}+\boldsymbol{F}\left(t_{k-1}\right) T_{s}\right] \hat{\boldsymbol{X}}_{k-1}\right\} \\ & ={\color{red}\hat{\boldsymbol{X}}_{k-1}}+\boldsymbol{F}\left(t_{k-1}\right) \hat{\boldsymbol{X}}_{k-1} T_{s}+\boldsymbol{K}_{k}\left[\boldsymbol{Z}_{k}-\boldsymbol{H}_{k} \hat{\boldsymbol{X}}_{k-1}-\boldsymbol{H}_{k} \boldsymbol{F}\left(t_{k-1}\right) \hat{\boldsymbol{X}}_{k-1} T_{s}\right]\end{aligned} X^k=Φk/k1X^k1+Kk(ZkHkΦk/k1X^k1)=[I+F(tk1)Ts]X^k1+Kk{ZkHk[I+F(tk1)Ts]X^k1}=X^k1+F(tk1)X^k1Ts+Kk[ZkHkX^k1HkF(tk1)X^k1Ts]
X ^ k − 1 {\color{red}\hat{\boldsymbol{X}}_{k-1}} X^k1 减到左边, k k k 时刻的值,减去 k − 1 k-1 k1 时刻的值,除以 T s T_s Ts,求 T s T_s Ts 趋于 0 0 0 的极限,就是连续的方程:
X ^ ˙ ( t ) = lim ⁡ T s → 0 X k − X k − 1 T s = lim ⁡ T s → 0 F ( t k − 1 ) X ^ k − 1 + K k T s [ Z k − H k X ^ k − 1 − H k F ( t k − 1 ) X ^ k − 1 T s ] = F ( t ) X ^ ( t ) + K ( t ) [ Z ( t ) − H ( t ) X ^ ( t ) ] \begin{aligned} \dot{\hat{\boldsymbol{X}}}(t) & =\lim \limits_{T_{s} \rightarrow 0} \frac{\boldsymbol{X}_{k}-\boldsymbol{X}_{k-1}}{T_{s}}=\lim \limits_{T_{s} \rightarrow 0} \boldsymbol{F}\left(t_{k-1}\right) \hat{\boldsymbol{X}}_{k-1}+\frac{\boldsymbol{K}_{k}}{T_{s}}\left[\boldsymbol{Z}_{k}-\boldsymbol{H}_{k} \hat{\boldsymbol{X}}_{k-1}-\boldsymbol{H}_{k} \boldsymbol{F}\left(t_{k-1}\right) \hat{\boldsymbol{X}}_{k-1} T_{s}\right] \\ & =\boldsymbol{F}(t) \hat{\boldsymbol{X}}(t)+\boldsymbol{K}(t)[\boldsymbol{Z}(t)-\boldsymbol{H}(t) \hat{\boldsymbol{X}}(t)]\end{aligned} X^˙(t)=Ts0limTsXkXk1=Ts0limF(tk1)X^k1+TsKk[ZkHkX^k1HkF(tk1)X^k1Ts]=F(t)X^(t)+K(t)[Z(t)H(t)X^(t)]

5、均方差阵的连续化

将一阶的状态转移矩阵带入:
P k = ( I − K k H k ) ( Φ k / k − 1 P k − 1 Φ k / k − 1 T + Γ k − 1 Q k − 1 Γ k − 1 T ) = ( I − K k H k ) { [ I + F ( t k − 1 ) T s ] P k − 1 [ I + F ( t k − 1 ) T s ] T + G ( t k − 1 ) ⋅ q ( t k − 1 ) T s ⋅ G T ( t k − 1 ) } = P k − 1 + F ( t k − 1 ) P k − 1 T s + P k − 1 F T ( t k − 1 ) T s + G ( t k − 1 ) q ( t k − 1 ) G T ( t k − 1 ) T s + O ( T s 2 ) − K k H k [ P k − 1 + O ( T s ) ] \begin{aligned} \boldsymbol{P}_{k} & =\left(\boldsymbol{I}-\boldsymbol{K}_{k} \boldsymbol{H}_{k}\right)\left(\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}}\right) \\ & =\left(\boldsymbol{I}-\boldsymbol{K}_{k} \boldsymbol{H}_{k}\right)\left\{\left[\boldsymbol{I}+\boldsymbol{F}\left(t_{k-1}\right) T_{s}\right] \boldsymbol{P}_{k-1}\left[\boldsymbol{I}+\boldsymbol{F}\left(t_{k-1}\right) T_{s}\right]^{\mathrm{T}}+\boldsymbol{G}\left(t_{k-1}\right) \cdot \boldsymbol{q}\left(t_{k-1}\right) T_{s} \cdot \boldsymbol{G}^{\mathrm{T}}\left(t_{k-1}\right)\right\} \\ & ={\color{red}\boldsymbol{P}_{k-1}}+\boldsymbol{F}\left(t_{k-1}\right) \boldsymbol{P}_{k-1} T_{s}+\boldsymbol{P}_{k-1} \boldsymbol{F}^{\mathrm{T}}\left(t_{k-1}\right) T_{s}+\boldsymbol{G}\left(t_{k-1}\right) \boldsymbol{q}\left(t_{k-1}\right) \boldsymbol{G}^{\mathrm{T}}\left(t_{k-1}\right) T_{s}+O\left(T_{s}^{2}\right)-\boldsymbol{K}_{k} \boldsymbol{H}_{k}\left[{\boldsymbol{P}_{k-1}}+O\left(T_{s}\right)\right]\end{aligned} Pk=(IKkHk)(Φk/k1Pk1Φk/k1T+Γk1Qk1Γk1T)=(IKkHk){[I+F(tk1)Ts]Pk1[I+F(tk1)Ts]T+G(tk1)q(tk1)TsGT(tk1)}=Pk1+F(tk1)Pk1Ts+Pk1FT(tk1)Ts+G(tk1)q(tk1)GT(tk1)Ts+O(Ts2)KkHk[Pk1+O(Ts)]
同理,将 P k − 1 {\color{red}P_{k-1}} Pk1 减到左边, k k k 时刻的值,减去 k − 1 k-1 k1 时刻的值,除以 T s T_s Ts,求 T s T_s Ts 趋于 0 0 0 的极限,就是连续的方程:
P ˙ ( t ) = lim ⁡ T s → 0 P k − P k − 1 T s = lim ⁡ T s → 0 F ( t k − 1 ) P k − 1 + P k − 1 F T ( t k − 1 ) + G ( t k − 1 ) q ( t k − 1 ) G T ( t k − 1 ) − K k T s H k P k − 1 = F ( t ) P ( t ) + P ( t ) F T ( t ) + G ( t ) q ( t ) G T ( t ) − K ( t ) H ( t ) P ( t ) = F ( t ) P ( t ) + P ( t ) F T ( t ) − K ( t ) r ( t ) K T ( t ) + G ( t ) q ( t ) G T ( t ) \begin{aligned} \dot{\boldsymbol{P}}(t) & =\lim \limits_{T_{s} \rightarrow 0} \frac{\boldsymbol{P}_{k}-\boldsymbol{P}_{k-1}}{T_{s}}=\lim \limits_{T_{s} \rightarrow 0} \boldsymbol{F}\left(t_{k-1}\right) \boldsymbol{P}_{k-1}+\boldsymbol{P}_{k-1} \boldsymbol{F}^{\mathrm{T}}\left(t_{k-1}\right)+\boldsymbol{G}\left(t_{k-1}\right) \boldsymbol{q}\left(t_{k-1}\right) \boldsymbol{G}^{\mathrm{T}}\left(t_{k-1}\right)-\frac{\boldsymbol{K}_{k}}{T_{s}} \boldsymbol{H}_{k} \boldsymbol{P}_{k-1} \\ & =\boldsymbol{F}(t) \boldsymbol{P}(t)+\boldsymbol{P}(t) \boldsymbol{F}^{\mathrm{T}}(t)+\boldsymbol{G}(t) \boldsymbol{q}(t) \boldsymbol{G}^{\mathrm{T}}(t)-\boldsymbol{K}(t) \boldsymbol{H}(t) \boldsymbol{P}(t) \\ & =\boldsymbol{F}(t) \boldsymbol{P}(t)+\boldsymbol{P}(t) \boldsymbol{F}^{\mathrm{T}}(t)-\boldsymbol{K}(t) \boldsymbol{r}(t) \boldsymbol{K}^{\mathrm{T}}(t)+\boldsymbol{G}(t) \boldsymbol{q}(t) \boldsymbol{G}^{\mathrm{T}}(t)\end{aligned} P˙(t)=Ts0limTsPkPk1=Ts0limF(tk1)Pk1+Pk1FT(tk1)+G(tk1)q(tk1)GT(tk1)TsKkHkPk1=F(t)P(t)+P(t)FT(t)+G(t)q(t)GT(t)K(t)H(t)P(t)=F(t)P(t)+P(t)FT(t)K(t)r(t)KT(t)+G(t)q(t)GT(t)

此方程也称:矩阵黎卡蒂(Riccati)方程,下面简单介绍一下Riccati方程:

标量Riccati方程

矩阵Riccati方程
P ˙ ( t ) = F ( t ) P ( t ) + P ( t ) F T ( t ) − P ( t ) H T ( t ) r − 1 ( t ) H ( t ) P ( t ) + G ( t ) q ( t ) G T ( t ) \dot{\boldsymbol{P}}(t)=\boldsymbol{F}(t) \boldsymbol{P}(t)+\boldsymbol{P}(t) \boldsymbol{F}^{\mathrm{T}}(t)-\boldsymbol{P}(t) \boldsymbol{H}^{\mathrm{T}}(t) \boldsymbol{r}^{-1}(t) \boldsymbol{H}(t) \boldsymbol{P}(t)+\boldsymbol{G}(t) \boldsymbol{q}(t) \boldsymbol{G}^{\mathrm{T}}(t) P˙(t)=F(t)P(t)+P(t)FT(t)P(t)HT(t)r1(t)H(t)P(t)+G(t)q(t)GT(t)
Kalman滤波里的 P P P 一定是对称阵,转置还是本身,所以都没写

简记为: P ˙ = F P + P F F T − P R P + Q \dot{\boldsymbol{P}}=\boldsymbol{F P}+\boldsymbol{P F} \boldsymbol{F}^{\mathrm{T}}-\boldsymbol{P} \boldsymbol{R P}+\boldsymbol{Q} P˙=FP+PFFTPRP+Q

它的解等价于 (化非线性问题为线性求解):
P = Y D − 1  其中  [ Y ˙ D ˙ ] = [ F Q R − F T ] [ Y D ] \boldsymbol{P}=\boldsymbol{Y} \boldsymbol{D}^{-1} \quad \text { 其中 } \quad\left[\begin{array}{c} \dot{\boldsymbol{Y}} \\ \dot{\boldsymbol{D}} \end{array}\right]=\left[\begin{array}{cc} \boldsymbol{F} & \boldsymbol{Q} \\ \boldsymbol{R} & -\boldsymbol{F}^{\mathrm{T}} \end{array}\right]\left[\begin{array}{l} \boldsymbol{Y} \\ \boldsymbol{D} \end{array}\right] P=YD1 其中 [Y˙D˙]=[FRQFT][YD]

验证如下:
Y = P D Y ˙ = P ˙ D + P D ˙ P ˙ = Y ˙ D − 1 − P D ˙ D − 1 = ( F Y + Q D ) D − 1 − P ( R Y − F T D ) D − 1 = F Y D − 1 + Q − P R Y D − 1 + P F T = F P + Q − P R P + P F T \begin{aligned} \boldsymbol{Y} & =\boldsymbol{P D} \\ \dot{\boldsymbol{Y}} & =\dot{\boldsymbol{P}} \boldsymbol{D}+\boldsymbol{P} \dot{\boldsymbol{D}} \\ \dot{\boldsymbol{P}} & =\dot{\boldsymbol{Y}} \boldsymbol{D}^{-1}-\boldsymbol{P} \dot{\boldsymbol{D}} \boldsymbol{D}^{-1}=(\boldsymbol{F} \boldsymbol{Y}+\boldsymbol{Q D}) \boldsymbol{D}^{-1}-\boldsymbol{P}\left(\boldsymbol{R} \boldsymbol{Y}-\boldsymbol{F}^{\mathrm{T}} \boldsymbol{D}\right) \boldsymbol{D}^{-1} \\ & =\boldsymbol{F} \boldsymbol{Y} \boldsymbol{D}^{-1}+\boldsymbol{Q}-\boldsymbol{P} \boldsymbol{R} \boldsymbol{Y} \boldsymbol{D}^{-1}+\boldsymbol{P} \boldsymbol{F}^{\mathrm{T}}=\boldsymbol{F P}+\boldsymbol{Q}-\boldsymbol{P} \boldsymbol{R} \boldsymbol{P}+\boldsymbol{P} \boldsymbol{F}^{\mathrm{T}}\end{aligned} YY˙P˙=PD=P˙D+PD˙=Y˙D1PD˙D1=(FY+QD)D1P(RYFTD)D1=FYD1+QPRYD1+PFT=FP+QPRP+PFT

但线性化后此矩阵微分方程没有初等解,只有毕卡积分级数解:

时变状态/矩阵方程 X ˙ ( t ) = F ( t ) X ( t ) \dot{\boldsymbol{X}}(t)=\boldsymbol{F}(t) \boldsymbol{X}(t) X˙(t)=F(t)X(t) 的毕卡积分级数解:

上面方程两边积分得:
X ( t ) = X ( 0 ) + ∫ 0 t F ( τ ) X ( τ ) d τ \boldsymbol{X}(t) =\boldsymbol{X}(0)+\int_{0}^{t} \boldsymbol{F}(\tau) {\color{red}\boldsymbol{X}(\tau)} \mathrm{d} \tau X(t)=X(0)+0tF(τ)X(τ)dτ
但此方程右边还含有未知量,迭代一次,将 X ( τ ) {\color{red}\boldsymbol{X}(\tau)} X(τ) 替换成上式
X ( t ) = X ( 0 ) + ∫ 0 t F ( τ ) [ X ( 0 ) + ∫ 0 τ F ( τ 1 ) X ( τ 1 ) d τ 1 ] d τ \boldsymbol{X}(t) =\boldsymbol{X}(0)+\int_{0}^{t} \boldsymbol{F}(\tau)\left[\boldsymbol{X}(0)+\int_{0}^{\tau} \boldsymbol{F}\left(\tau_{1}\right) {\color{red}\boldsymbol{X}\left(\tau_{1}\right) }\mathrm{d} \tau_{1}\right] \mathrm{d} \tau X(t)=X(0)+0tF(τ)[X(0)+0τF(τ1)X(τ1)dτ1]dτ
里面又含未知变量 X ( τ 1 ) {\color{red}\boldsymbol{X}\left(\tau_{1}\right) } X(τ1) ,再进行替换。反复迭代,一直存在未知变量,最后就变成无穷级数,而且还是无穷重积分
= X ( 0 ) + ∫ 0 t F ( τ ) d τ X ( 0 ) + ∫ 0 t F ( τ ) ∫ 0 τ F ( τ 1 ) X ( τ 1 ) d τ 1   d τ = ⋯ = [ I + ∫ 0 t F ( τ ) d τ + ∫ 0 t F ( τ ) ∫ 0 τ F ( τ 1 ) d τ 1   d τ + ∫ 0 t F ( τ ) ∫ 0 τ F ( τ 1 ) ∫ 0 τ 1 F ( τ 2 ) d τ 2   d τ 1   d τ + ⋯   ] X ( 0 ) \begin{aligned} & =\boldsymbol{X}(0)+\int_{0}^{t} \boldsymbol{F}(\tau) \mathrm{d} \tau \boldsymbol{X}(0)+\int_{0}^{t} \boldsymbol{F}(\tau) \int_{0}^{\tau} \boldsymbol{F}\left(\tau_{1}\right) \boldsymbol{X}\left(\tau_{1}\right) \mathrm{d} \tau_{1} \mathrm{~d} \tau=\cdots \\ & =\left[\boldsymbol{I}+\int_{0}^{t} \boldsymbol{F}(\tau) \mathrm{d} \tau+\int_{0}^{t} \boldsymbol{F}(\tau) \int_{0}^{\tau} \boldsymbol{F}\left(\tau_{1}\right) \mathrm{d} \tau_{1} \mathrm{~d} \tau+\int_{0}^{t} \boldsymbol{F}(\tau) \int_{0}^{\tau} \boldsymbol{F}\left(\tau_{1}\right) \int_{0}^{\tau_{1}} \boldsymbol{F}\left(\tau_{2}\right) \mathrm{d} \tau_{2} \mathrm{~d} \tau_{1} \mathrm{~d} \tau+\cdots\right] \boldsymbol{X}(0) \\ \end{aligned} =X(0)+0tF(τ)dτX(0)+0tF(τ)0τF(τ1)X(τ1)dτ1 dτ==[I+0tF(τ)dτ+0tF(τ)0τF(τ1)dτ1 dτ+0tF(τ)0τF(τ1)0τ1F(τ2)dτ2 dτ1 dτ+]X(0)
前面括号内的矩阵就是从 0 0 0 时刻转移到 t t t 时刻的状态转移矩阵:
Φ ( t , 0 ) = I + ∫ 0 t F ( τ ) d τ + ∫ 0 t F ( τ ) ∫ 0 τ F ( τ 1 ) d τ 1   d τ + ∫ 0 t F ( τ ) ∫ 0 τ F ( τ 1 ) ∫ 0 τ 1 F ( τ 2 ) d τ 2   d τ 1   d τ + ⋯ \boldsymbol{\Phi}(t, 0) =\boldsymbol{I}+\int_{0}^{t} \boldsymbol{F}(\tau) \mathrm{d} \tau+\int_{0}^{t} \boldsymbol{F}(\tau) \int_{0}^{\tau} \boldsymbol{F}\left(\tau_{1}\right) \mathrm{d} \tau_{1} \mathrm{~d} \tau+\int_{0}^{t} \boldsymbol{F}(\tau) \int_{0}^{\tau} \boldsymbol{F}\left(\tau_{1}\right) \int_{0}^{\tau_{1}} \boldsymbol{F}\left(\tau_{2}\right) \mathrm{d} \tau_{2} \mathrm{~d} \tau_{1} \mathrm{~d} \tau+\cdots Φ(t,0)=I+0tF(τ)dτ+0tF(τ)0τF(τ1)dτ1 dτ+0tF(τ)0τF(τ1)0τ1F(τ2)dτ2 dτ1 dτ+

可以省略高阶项进行近似,或者有时候高阶项就为 0 0 0

  • 一般情况下不可交换 F ( τ ) F ( τ 1 ) ≠ F ( τ 1 ) F ( τ ) \boldsymbol{F}(\tau) \boldsymbol{F}\left(\tau_{1}\right) \neq \boldsymbol{F}\left(\tau_{1}\right) \boldsymbol{F}(\tau) F(τ)F(τ1)=F(τ1)F(τ), 上式即为最终毕卡级数解;

  • 可交换时 F ( τ ) F ( τ 1 ) = F ( τ 1 ) F ( τ ) \boldsymbol{F}(\tau) \boldsymbol{F}\left(\tau_{1}\right)=\boldsymbol{F}\left(\tau_{1}\right) \boldsymbol{F}(\tau) F(τ)F(τ1)=F(τ1)F(τ) (特殊如常值 F ( τ ) = F ) \left.\boldsymbol{F}(\tau)=\boldsymbol{F}\right) F(τ)=F), 才有闭合解:

    可交换时,多重积分等于单重积分的 n n n 次方,除以 n n n 的阶乘分之一

∫ 0 τ 1 F ( τ 1 ) ⋯ ∫ 0 τ n F ( τ n ) d τ n ⋯ d τ 1 = 1 n ! [ ∫ 0 τ 1 F ( τ ) d τ 1 ] n Φ ( t , 0 ) = I + 1 1 ! ∫ 0 t F ( τ ) d τ + 1 2 ! [ ∫ 0 t F ( τ ) d τ ] 2 + 1 3 ! [ ∫ 0 t F ( τ ) d τ ] 3 + ⋯ = e ∫ 0 t F ( τ ) d τ 40 \begin{array}{l} \int_{0}^{\tau_{1}} \boldsymbol{F}\left(\tau_{1}\right) \cdots \int_{0}^{\tau_{n}} \boldsymbol{F}\left(\tau_{n}\right) \mathrm{d} \tau_{n} \cdots \mathrm{d} \tau_{1}=\frac{1}{n !}\left[\int_{0}^{\tau_{1}} \boldsymbol{F}(\tau) \mathrm{d} \tau_{1}\right]^{n} \\ \boldsymbol{\Phi}(t, 0)=\boldsymbol{I}+\frac{1}{1 !} \int_{0}^{t} \boldsymbol{F}(\tau) \mathrm{d} \tau+\frac{1}{2 !}\left[\int_{0}^{t} \boldsymbol{F}(\tau) \mathrm{d} \tau\right]^{2}+\frac{1}{3 !}\left[\int_{0}^{t} \boldsymbol{F}(\tau) \mathrm{d} \tau\right]^{3}+\cdots=\mathrm{e}^{\int_{0}^{t} F(\tau) \mathrm{d} \tau} 40 \end{array} 0τ1F(τ1)0τnF(τn)dτndτ1=n!1[0τ1F(τ)dτ1]nΦ(t,0)=I+1!10tF(τ)dτ+2!1[0tF(τ)dτ]2+3!1[0tF(τ)dτ]3+=e0tF(τ)dτ40

6、连续时间Kalman滤波方程汇总

K ( t ) = P ( t ) H T ( t ) r − 1 ( t ) X ^ ˙ ( t ) = F ( t ) X ^ ( t ) + K ( t ) [ Z ( t ) − H ( t ) X ^ ( t ) ] P ˙ ( t ) = F ( t ) P ( t ) + P ( t ) F T ( t ) − K ( t ) r ( t ) K T ( t ) + G ( t ) q ( t ) G T ( t ) \begin{array}{l}\boldsymbol{K}(t)=\boldsymbol{P}(t) \boldsymbol{H}^{\mathrm{T}}(t) \boldsymbol{r}^{-1}(t) \\ \dot{\hat{\boldsymbol{X}}}(t)=\boldsymbol{F}(t) \hat{\boldsymbol{X}}(t)+\boldsymbol{K}(t)[\boldsymbol{Z}(t)-\boldsymbol{H}(t) \hat{\boldsymbol{X}}(t)] \\ \dot{\boldsymbol{P}}(t)=\boldsymbol{F}(t) \boldsymbol{P}(t)+\boldsymbol{P}(t) \boldsymbol{F}^{\mathrm{T}}(t)-\boldsymbol{K}(t) \boldsymbol{r}(t) \boldsymbol{K}^{\mathrm{T}}(t)+\boldsymbol{G}(t) \boldsymbol{q}(t) \boldsymbol{G}^{\mathrm{T}}(t) \\\end{array} K(t)=P(t)HT(t)r1(t)X^˙(t)=F(t)X^(t)+K(t)[Z(t)H(t)X^(t)]P˙(t)=F(t)P(t)+P(t)FT(t)K(t)r(t)KT(t)+G(t)q(t)GT(t)

连续时间Kalman滤波方程中的状态估计和方差都是微分方程,相求结果得解微分方程。

离散时间Kalman滤波方程中的状态估计和方差可以认为是差分方程。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-tijQsw7u-1685963575201)(卡尔曼滤波与组合导航原理(二)离散化方法.assets/1685942689824.png)]

与确定性系统的状态观测器非常像

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

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

相关文章

自学网络安全解决问题方法

自学网络安全很容易学着学着就迷茫了,找到源头问题,解决它就可以了,所以首先咱们聊聊,学习网络安全方向通常会有哪些问题,看到后面有惊喜哦 1、打基础时间太长 学基础花费很长时间,光语言都有几门&#xf…

《Java并发编程实战》课程笔记(十三)

并发容器 同步容器及其注意事项 Java 中的容器主要可以分为四个大类,分别是 List、Map、Set 和 Queue,但并不是所有的 Java 容器都是线程安全的。 例如,我们常用的 ArrayList、HashMap 就不是线程安全的。如何将非线程安全的容器变成线程安…

java双亲委派机制详解

1. 类加载流程 类加载机制其实就是虚拟机把Class文件加载到内存,并对数据进行校验,转换解析和初始化,形成可以虚拟机直接使用的Java类型,即java.lang.Class。 1.1 装载 Class文件 -- >二进制字节流 -->类加载器 1&#x…

(0.50mm)TF31-4S-0.5SH 4 位置 FFC,FPC 连接器、G846A10221T4EU(1.0MM)矩形连接器 互连器件

TF31-4S-0.5SH (0.50mm)脚距前开盖式FFC/FPC连接器的安装深度为5.7mm,可最大限度地节省电路板空间,并能够自动放置电路板。Hirose Electric TF31连接器具有高FPC保持力(采用FPC侧拉手设计),易于…

Linux下进程及其进程地址空间以及一些进程的控制函数

目录 什么是进程?进程的状态Linux下进程的状态 进程地址空间什么是进程地址空间为什么需要进程地址空间? 进程控制进程控制函数forkwait/waitpid 进程等待进程替换,进程替换函数exe 今天我们来分享一下Linux下的进程和进程地址空间以及一些进…

进出口跨境电商软件平台系统开发,源码技术架构

一、进出口跨境电商软件平台系统开发需做好相应的前期准备,如确定市场、了解政策、推广宣传等。 欢迎名片沟通探讨 确定目标市场:选择合适的目标市场。需要了解目标市场的消费习惯、政策法规以及竞争情况。 了解海关相关政策:针对不同国家或…

python之函数(参数,匿名函数,局部变量和全局变量)

文章目录 前言一、函数的参数 1、形参和实参2、必传参数(也叫:必须参数)3、关键字传参4.、默认参数5、不定长参数6、传参的顺序二、匿名函数(lambda函数) 1. 定义及特点语法格式2. lambda函数的特点三、函数返回值retu…

微信小程序商城开发

随着移动互联网的发展,小程序商城逐渐成为了电商领域的新宠。小程序商城具有便捷、快速、安全等优点,为用户提供了更加优质的购物体验。下面我们来介绍小程序商城的功能和优点。 一、商品展示 小程序商城提供了丰富的商品展示,包括商品分类…

llama_index中query_engine的response_mode详解

文章目录 0. 前言1. ResponseMode: tree_summarize (总结摘要-最优)2. ResponseMode: generation3. ResponseMode: no_text4. ResponseMode: simple_summarize (最省token)5. ResponseMode: refine (基于关键词询问-最…

ROS:坐标管理系统

目录 一、机器人中的坐标变换二、TF功能包2.2TF功能包简介2.2TF坐标变换实现2.3TF案例 三、小海龟跟随实验3.1打开小程序3.2查看当前的TF树3.3坐标相对位置关系可视化1(tf_echo)3.4坐标相对位置关系可视化2(rviz) 一、机器人中的坐…

二、电压源、电流源、受控源

点我回到目录 目录 理想电压源 理想电流源 受控源 电流源做功问题 电压源做功问题 理想电压源 •定义:两端电压保持定值或一定的时间函数,且电压值与流过它的电流i无关 •特点:理想电压源两端的电压由本身决定,与外电路无关…

ChatGPT2论文解读《Language Models are Unsupervised Multitask Learners》(2019)

论文总结 以下是我阅读完整篇论文做的个人总结,包含了ChatGPT-2文章的主要内容,可以仅看【论文总结】章节。 数据集 自制了一个网页爬虫,被抓取的网页部分来自于社交平台,这些网页由人工进行过滤。最终生成WebText数据集&#…

多种工厂模式的运用

文章目录 多种工厂模式的运用一、简单工厂模式(非23种设计模式)1.1 结构2.2 实现2.2.1 简单工厂类图2.2.2 代码2.2.3 优缺点 二、静态工厂模式(非23种设计模式)3.1 代码 三、工厂模式3.1 结构 3.2 实现3.2.1 工厂模式类图3.2.2 代…

Rust教程初识

Rust 教程 Rust 语言是一种高效、可靠的通用高级语言。其高效不仅限于开发效率,它的执行效率也是令人称赞的,是一种少有的兼顾开发效率和执行效率的语言。 Rust 语言由 Mozilla 开发,最早发布于 2014 年 9 月。Rust 的编译器是在 MIT Licens…

bmp图片怎么转jpg格式?思路提供

BMP和JPG是两种常见的图片格式。BMP文件相对较大,无损压缩,而JPG文件则相对较小,有损压缩。当我们需要在保持图片质量的同时减小文件大小时,我们可以将BMP文件转换为JPG文件。在本文中,我们将介绍如何将BMP文件转换为J…

短视频矩阵源码技术开发

短视频矩阵是一种常见的视频编码标准,它通过将视频分成多个小块并对每个小块进行压缩来实现高效的视频传输。在本文中,我们将介绍短视频矩阵的原理和实现,并提供示例代码。 $where_time array(); // 时间 $where_time[] array(name>fbr…

第5章:SpringMVC的视图

一、SpringMVC的视图 SpringMVC中的视图是View接口,视图的作用渲染数据,将模型的Model中的数据展现给用户SpringMVC视图种类很多,默认有转发视图和重定向视图当工程引入jstl依赖,转发视图自动转换为JstlView若使用视图技术是Thym…

【新版】系统架构设计师 - 新老教材对比分析

个人总结,仅供参考,欢迎加好友一起讨论 文章目录 新老教材比较新版教材章节分析 新老教材比较 提示:请自行购买并浏览新版系统架构设计师教材 原教材:2009年出版,共21章,572页。新教材:2022年出…

紧急防勒索病毒的防御方案

一、适用目标(校园网、企业网,windows系列的操作系统): 所有在校园内运行windows系统的电脑,并非只感染服务器操作系统,单机照样感染。会将你电脑中的所有文件全部加密,部分已感染案例有2个共同…

Yolov8轻量级:Next-vit,用于现实工业场景的下一代视觉 Transformer

1.Next-vit介绍 论文:https://arxiv.org/pdf/2207.05501.pdf 由于复杂的注意力机制和模型设计,大多数现有的视觉 Transformer(ViT)在现实的工业部署场景中不能像卷积神经网络(CNN)那样高效地执行。这就带来了一个问题:视觉神经网络能否像 CNN 一样快速推断并像 ViT 一样…