卡尔曼滤波原理(十)量测故障检测与强跟踪滤波:量测故障检测与隔离、量测方差自适应滤波、单重渐消因子自适应滤波、多重渐消因子自适应滤波、基于序贯算法的多重渐消因子自适应滤波


函数模型
{ 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}{lc}\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
新息序列方差阵: E [ Z ~ k / k − 1 Z ~ k / k − 1 T ] = H k ( Φ k / k − 1 P k − 1 Φ k / k − 1 T + Γ k − 1 Q k − 1 Γ k − 1 T ) H k T + R k \mathrm{E}\left[\tilde{\boldsymbol{Z}}_{k / k-1} \tilde{\boldsymbol{Z}}_{k / k-1}^{\mathrm{T}}\right]=\boldsymbol{H}_{k}\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) \boldsymbol{H}_{k}^{\mathrm{T}}+\boldsymbol{R}_{k} E[Z~k/k1Z~k/k1T]=Hk(Φk/k1Pk1Φk/k1T+Γk1Qk1Γk1T)HkT+Rk

经典滤波模型中左边应该等于右边,但实际计算过程中由于粗差,两边不相等,可以进行处理

前面部分 E [ Z ~ k / k − 1 Z ~ k / k − 1 T ] \mathrm{E}\left[\tilde{\boldsymbol{Z}}_{k / k-1} \tilde{\boldsymbol{Z}}_{k / k-1}^{\mathrm{T}}\right] E[Z~k/k1Z~k/k1T] 按照Sage-Husa滤波的方法,记为 C ^ k \hat{\boldsymbol{C}}_k C^k
C ^ k ≈ H k ( Φ k / k − 1 P k − 1 Φ k / k − 1 T + Γ k − 1 Q k − 1 Γ k − 1 T ) H k T + R k \hat{\boldsymbol{C}}_{k} \approx \boldsymbol{H}_{k}\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) \boldsymbol{H}_{k}^{\mathrm{T}}+\boldsymbol{R}_{k} C^kHk(Φk/k1Pk1Φk/k1T+Γk1Qk1Γk1T)HkT+Rk
C ^ k \hat{\boldsymbol{C}}_k C^k 的计算方法与Sage-Husa相同,迭代算时间平均:
C ^ k = ( 1 − β k ) C ^ k − 1 + β k Z ~ k / k − 1 Z ~ k / k − 1 T \hat{\boldsymbol{C}}_{k}=\left(1-\beta_{k}\right) \hat{\boldsymbol{C}}_{k-1}+\beta_{k} \tilde{\boldsymbol{Z}}_{k / k-1} \tilde{\boldsymbol{Z}}_{k / k-1}^{\mathrm{T}} C^k=(1βk)C^k1+βkZ~k/k1Z~k/k1T
针对这个式子,可以检测两边是否相等,如果不相等可以做相应的处理。

1、量测故障检测与隔离

对式子两边求迹,再比较,如果左边特别大,很可能就出现了粗差,可以对剔除。
tr ⁡ ( C ^ k ) ≫ tr ⁡ ( H k P k / k − 1 H k T + R k ) \operatorname{tr}\left(\hat{\boldsymbol{C}}_{k}\right) \gg \operatorname{tr}\left(\boldsymbol{H}_{k} \boldsymbol{P}_{k / k-1} \boldsymbol{H}_{k}^{\mathrm{T}}+\boldsymbol{R}_{k}\right) tr(C^k)tr(HkPk/k1HkT+Rk)

2、量测方差自适应滤波

有些值差别比较大,但并非完全不能用,想保留,就在其量测方差前面乘上一个 α k \alpha_k αk 减小估计时的权重
α k R k ≈ C ^ k − H k P k / k − 1 H k T α k = tr ⁡ ( C ^ k − H k P k k k − 1 H k T ) tr ⁡ ( R k ) {\color{red}\alpha_{k}} \boldsymbol{R}_{k} \approx \hat{\boldsymbol{C}}_{k}-\boldsymbol{H}_{k} \boldsymbol{P}_{k / k-1} \boldsymbol{H}_{k}^{\mathrm{T}} \quad \alpha_{k}=\frac{\operatorname{tr}\left(\hat{\boldsymbol{C}}_{k}-\boldsymbol{H}_{k} \boldsymbol{P}_{k k k-1} \boldsymbol{H}_{k}^{\mathrm{T}}\right)}{\operatorname{tr}\left(\boldsymbol{R}_{k}\right)} αkRkC^kHkPk/k1HkTαk=tr(Rk)tr(C^kHkPkkk1HkT)

与Sage-Husa: R ^ k = ( 1 − β k ) R ^ k − 1 + β k ( Z ~ k ∣ k − 1 Z ~ k ∣ k − 1 T − H k P k ∣ k − 1 H k T ) \hat{\boldsymbol{R}}_{k}=\left(1-\beta_{k}\right) \hat{\boldsymbol{R}}_{k-1}+\beta_{k}\left(\tilde{\boldsymbol{Z}}_{k \mid k-1} \tilde{\boldsymbol{Z}}_{k \mid k-1}^{\mathrm{T}}-\boldsymbol{H}_{k} \boldsymbol{P}_{k \mid k-1} \boldsymbol{H}_{k}^{\mathrm{T}}\right) R^k=(1βk)R^k1+βk(Z~kk1Z~kk1THkPkk1HkT) 相比

  • Sage-Husa用迭代的方式来修改 R R R,量测方差自适应滤波直接根据当前历元来修改 R R R

3、遗忘滤波(单重渐消因子自适应滤波)

C ^ k ≈ H k ( Φ k / k − 1 P k − 1 Φ k / k − 1 T + Γ k − 1 Q k − 1 Γ k − 1 T ) H k T + R k \hat{\boldsymbol{C}}_{k} \approx \boldsymbol{H}_{k}\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) \boldsymbol{H}_{k}^{\mathrm{T}}+\boldsymbol{R}_{k} C^kHk(Φk/k1Pk1Φk/k1T+Γk1Qk1Γk1T)HkT+Rk

两边如果不相等,就在 P k − 1 P_{k-1} Pk1 前面乘上一个遗忘因子 λ k \lambda_{k} λk ,放大前一时刻的方差,化为:
C ^ k − H k Γ k − 1 Q k − 1 Γ k − 1 T H k T − R k ≈ H k Φ k l k − 1 ( λ k P k − 1 ) Φ k k k − 1 T H k T \hat{\boldsymbol{C}}_{k}-\boldsymbol{H}_{k} \boldsymbol{\Gamma}_{k-1} \boldsymbol{Q}_{k-1} \boldsymbol{\Gamma}_{k-1}^{\mathrm{T}} \boldsymbol{H}_{k}^{\mathrm{T}}-\boldsymbol{R}_{k} \approx \boldsymbol{H}_{k} \boldsymbol{\Phi}_{k l k-1}\left(\lambda_{k} \boldsymbol{P}_{k-1}\right) \boldsymbol{\Phi}_{k k k-1}^{\mathrm{T}} \boldsymbol{H}_{k}^{\mathrm{T}} C^kHkΓk1Qk1Γk1THkTRkHkΦklk1(λkPk1)Φkkk1THkT
其中, λ \lambda λ 的取值应该使左右两边尽量相等,但没法通过乘一个标量使两个矩阵相等,只能使两矩阵求迹相等:
λ k = max ⁡ ( 1 , tr ⁡ ( N k ) tr ⁡ ( M k ) ) M k = H k Φ k l k − 1 P k − 1 Φ k / k − 1 T H k T  以前的信息  N k = C ^ k − H k Γ k − 1 Q k − 1 T Γ k − 1 T H k T − R k  当前的信息  \begin{array}{ll} \lambda_{k}=\max \left(1, \frac{\operatorname{tr}\left(\boldsymbol{N}_{k}\right)}{\operatorname{tr}\left(\boldsymbol{M}_{k}\right)}\right) & \\ \boldsymbol{M}_{k}=\boldsymbol{H}_{k} \boldsymbol{\Phi}_{k l k-1} \boldsymbol{P}_{k-1} \boldsymbol{\Phi}_{k / k-1}^{\mathrm{T}} \boldsymbol{H}_{k}^{\mathrm{T}} & \text { 以前的信息 } \\ \boldsymbol{N}_{k}=\hat{\boldsymbol{C}}_{k}-\boldsymbol{H}_{k} \boldsymbol{\Gamma}_{k-1} \boldsymbol{Q}_{k-1}^{\mathrm{T}} \boldsymbol{\Gamma}_{k-1}^{\mathrm{T}} \boldsymbol{H}_{k}^{\mathrm{T}}-\boldsymbol{R}_{k} & \text { 当前的信息 } \end{array} λk=max(1,tr(Mk)tr(Nk))Mk=HkΦklk1Pk1Φk/k1THkTNk=C^kHkΓk1Qk1TΓk1THkTRk 以前的信息  当前的信息 
滤波公式:
{ X ^ k / k − 1 = Φ k / k − 1 X ^ k − 1 P k / k − 1 = Φ k / k − 1 ( λ k P k − 1 ) Φ k / k − 1 T + Γ k − 1 Q k − 1 I k − 1 T K k = P k / k − 1 H k T ( H k P k / k − 1 H k T + R k ) − 1 X ^ k = X ^ k / k − 1 + K k ( Z k − H k X ^ k / k − 1 ) P k = ( I − K k H k ) P k / k − 1 \left\{\begin{array}{l}\hat{\boldsymbol{X}}_{k / k-1}=\boldsymbol{\Phi}_{k / k-1} \hat{\boldsymbol{X}}_{k-1} \\ \boldsymbol{P}_{k / k-1}=\boldsymbol{\Phi}_{k / k-1}\left({\color{red}\lambda_{k}} \boldsymbol{P}_{k-1}\right) \boldsymbol{\Phi}_{k / k-1}^{\mathrm{T}}+\boldsymbol{\Gamma}_{k-1} \boldsymbol{Q}_{k-1} \boldsymbol{I}_{k-1}^{\mathrm{T}} \\ \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}=\hat{\boldsymbol{X}}_{k / k-1}+\boldsymbol{K}_{k}\left(\boldsymbol{Z}_{k}-\boldsymbol{H}_{k} \hat{\boldsymbol{X}}_{k / k-1}\right) \\ \boldsymbol{P}_{k}=\left(\boldsymbol{I}-\boldsymbol{K}_{k} \boldsymbol{H}_{k}\right) \boldsymbol{P}_{k / k-1}\end{array}\right. X^k/k1=Φk/k1X^k1Pk/k1=Φk/k1(λkPk1)Φk/k1T+Γk1Qk1Ik1TKk=Pk/k1HkT(HkPk/k1HkT+Rk)1X^k=X^k/k1+Kk(ZkHkX^k/k1)Pk=(IKkHk)Pk/k1

  • 与遗忘滤波非常相似,只是遗忘滤波的遗忘因子 s s s 是定值,而这里的 λ \lambda λ 实时变化。
  • 此方法也称单重渐消因子自适应滤波;所谓“单重”,就是值 λ \lambda λ 是标量。

4、多重渐消因子自适应滤波

单重渐消因子自适应滤波中的 λ \lambda λ 是标量,把矩阵相等简化为求迹相等,会损失信息。只是把所有观测值作为整体处理,可以处理的更细致一点,用多重渐消因子自适应滤波。

单重: C ^ k − H k Γ k − 1 Q k − 1 Γ k − 1 T H k T − R k ≈ H k Φ k / k − 1 ( λ k P k − 1 ) Φ k / k − 1 T H k T \hat{\boldsymbol{C}}_{k}-\boldsymbol{H}_{k} \boldsymbol{\Gamma}_{k-1} \boldsymbol{Q}_{k-1} \boldsymbol{\Gamma}_{k-1}^{\mathrm{T}} \boldsymbol{H}_{k}^{\mathrm{T}}-\boldsymbol{R}_{k} \approx \boldsymbol{H}_{k} \boldsymbol{\Phi}_{k / k-1}\left({\color{red}\lambda_{k}} \boldsymbol{P}_{k-1}\right) \boldsymbol{\Phi}_{k / k-1}^{\mathrm{T}} \boldsymbol{H}_{k}^{\mathrm{T}} C^kHkΓk1Qk1Γk1THkTRkHkΦk/k1(λkPk1)Φk/k1THkT

多重是乘矩阵,为保证对称性,前后都要乘,且乘的 Λ \Lambda Λ 是对角阵:
C ^ k − H k Γ k − 1 Q k − 1 Γ k − 1 T H k T − R k ≈ H k Φ k / k − 1 ( Λ k P k − 1 Λ k ) Φ k / k − 1 T H k T \hat{\boldsymbol{C}}_{k}-\boldsymbol{H}_{k} \boldsymbol{\Gamma}_{k-1} \boldsymbol{Q}_{k-1} \boldsymbol{\Gamma}_{k-1}^{\mathrm{T}} \boldsymbol{H}_{k}^{\mathrm{T}}-\boldsymbol{R}_{k} \approx \boldsymbol{H}_{k} \boldsymbol{\Phi}_{k / k-1}\left(\boldsymbol{ {\color{red}\Lambda}_{k}} \boldsymbol{P}_{k-1} \boldsymbol{ {\color{red}\Lambda}_{k}}\right) \boldsymbol{\Phi}_{k / k-1}^{\mathrm{T}} \boldsymbol{H}_{k}^{\mathrm{T}} C^kHkΓk1Qk1Γk1THkTRkHkΦk/k1(ΛkPk1Λk)Φk/k1THkT
其中
Λ k = diag ⁡ ( λ k ( 1 ) , λ k ( 2 ) , ⋯   , λ k ( n ) ) = c k α λ k ( i ) = max ⁡ ( 1 , c k , α i ) c k = tr ⁡ ( N k ) tr ⁡ ( M k ) M k = H k Φ k / k − 1 ( α P k − 1 α ) Φ k / k − 1 T H k T N k = C ^ k − H k Γ k − 1 Q k − 1 Γ k − 1 T H k T − R k \begin{array}{l} \boldsymbol{\Lambda}_{k}=\operatorname{diag}\left(\sqrt{\lambda_{k}(1)}, \sqrt{\lambda_{k}(2)}, \cdots, \sqrt{\lambda_{k}(n)}\right)=\sqrt{c_{k}} \boldsymbol{\alpha}\\ \lambda_{k}(i)=\max \left(1, c_{k},\alpha_{i}\right) \quad c_{k}=\frac{\operatorname{tr}\left(\boldsymbol{N}_{k}\right)}{\operatorname{tr}\left(\boldsymbol{M}_{k}\right)} \\ \boldsymbol{M}_{k}=\boldsymbol{H}_{k} \boldsymbol{\Phi}_{k / k-1}\left(\boldsymbol{\alpha} \boldsymbol{P}_{k-1} \boldsymbol{\alpha}\right) \boldsymbol{\Phi}_{k / k-1}^{\mathrm{T}} \boldsymbol{H}_{k}^{\mathrm{T}} \\ \boldsymbol{N}_{k}=\hat{\boldsymbol{C}}_{k}-\boldsymbol{H}_{k} \boldsymbol{\Gamma}_{k-1} \boldsymbol{Q}_{k-1} \boldsymbol{\Gamma}_{k-1}^{\mathrm{T}} \boldsymbol{H}_{k}^{\mathrm{T}}-\boldsymbol{R}_{k}\end{array} Λk=diag(λk(1) ,λk(2) ,,λk(n) )=ck αλk(i)=max(1,ck,αi)ck=tr(Mk)tr(Nk)Mk=HkΦk/k1(αPk1α)Φk/k1THkTNk=C^kHkΓk1Qk1Γk1THkTRk
滤波公式
{ X ^ k / k − 1 = Φ k / k − 1 X ^ k − 1 P k / k − 1 = Φ k / k − 1 ( Λ k P k − 1 Λ k ) Φ k / k − 1 T + Γ k − 1 Q k − 1 Γ k − 1 T K k = P k / k − 1 H k T ( H k P k / k − 1 H k T + R k ) − 1 X ^ k = X ^ k / k − 1 + K k ( Z k − H k X ^ k / k − 1 ) P k = ( I − K k H k ) P k / k − 1 \left\{\begin{array}{l}\hat{\boldsymbol{X}}_{k / k-1}=\boldsymbol{\Phi}_{k / k-1} \hat{\boldsymbol{X}}_{k-1} \\ \boldsymbol{P}_{k / k-1}=\boldsymbol{\Phi}_{k / k-1}\left({\color{red}\boldsymbol{\Lambda}_{k}} \boldsymbol{P}_{k-1} {\color{red}\boldsymbol{\Lambda}_{k}}\right) \boldsymbol{\Phi}_{k / k-1}^{\mathrm{T}}+\boldsymbol{\Gamma}_{k-1} \boldsymbol{Q}_{k-1} \boldsymbol{\Gamma}_{k-1}^{\mathrm{T}} \\ \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}=\hat{\boldsymbol{X}}_{k / k-1}+\boldsymbol{K}_{k}\left(\boldsymbol{Z}_{k}-\boldsymbol{H}_{k} \hat{\boldsymbol{X}}_{k / k-1}\right) \\ \boldsymbol{P}_{k}=\left(\boldsymbol{I}-\boldsymbol{K}_{k} \boldsymbol{H}_{k}\right) \boldsymbol{P}_{k / k-1}\end{array}\right. X^k/k1=Φk/k1X^k1Pk/k1=Φk/k1(ΛkPk1Λk)Φk/k1T+Γk1Qk1Γk1TKk=Pk/k1HkT(HkPk/k1HkT+Rk)1X^k=X^k/k1+Kk(ZkHkX^k/k1)Pk=(IKkHk)Pk/k1

5、基于序贯算法的多重渐消因子自适应滤波

多重: C ^ k − H k Γ k − 1 Q k − 1 Γ k − 1 T H k T − R k ≈ H k Φ k / k − 1 ( Λ k P k − 1 Λ k ) Φ k / k − 1 T H k T \hat{\boldsymbol{C}}_{k}-\boldsymbol{H}_{k} \boldsymbol{\Gamma}_{k-1} \boldsymbol{Q}_{k-1} \boldsymbol{\Gamma}_{k-1}^{\mathrm{T}} \boldsymbol{H}_{k}^{\mathrm{T}}-\boldsymbol{R}_{k} \approx \boldsymbol{H}_{k} \boldsymbol{\Phi}_{k / k-1}\left(\boldsymbol{ {\color{red}\Lambda}_{k}}\boldsymbol{P}_{k-1} \boldsymbol{ {\color{red}\Lambda_{k}}}\right) \boldsymbol{\Phi}_{k / k-1}^{\mathrm{T}} \boldsymbol{H}_{k}^{\mathrm{T}} C^kHkΓk1Qk1Γk1THkTRkHkΦk/k1(ΛkPk1Λk)Φk/k1THkT

改写成标量量测,左右两边都是变量,就好处理多了。直接处理不太方便,先进行变换:
C ^ k − H k Γ k − 1 Q k − 1 Γ k − 1 T H k T − R k ≈ H k Φ k / k − 1 ( Λ k P k − 1 Λ k ) Φ k / k − 1 T H k T C ^ k − R k ≈ H k [ Φ k / k − 1 ( Λ k P k − 1 Λ k ) Φ k / k − 1 T + Γ k − 1 Q k − 1 Γ k − 1 T ] H k T ≈ H k [ Λ k ( Φ k / k − 1 P k − 1 Φ k / k − 1 T + Γ k − 1 Q k − 1 Γ k − 1 T ) Λ k ] H k T \begin{array}{l} \hat{\boldsymbol{C}}_{k}-\boldsymbol{H}_{k} \boldsymbol{\Gamma}_{k-1} \boldsymbol{Q}_{k-1} \boldsymbol{\Gamma}_{k-1}^{\mathrm{T}} \boldsymbol{H}_{k}^{\mathrm{T}}-\boldsymbol{R}_{k} \approx \boldsymbol{H}_{k} \boldsymbol{\Phi}_{k / k-1}\left(\boldsymbol{ {\color{red}\Lambda}_{k}}\boldsymbol{P}_{k-1} \boldsymbol{ {\color{red}\Lambda_{k}}}\right) \boldsymbol{\Phi}_{k / k-1}^{\mathrm{T}} \boldsymbol{H}_{k}^{\mathrm{T}} \\ \hat{\boldsymbol{C}}_{k}-\boldsymbol{R}_{k} \approx \boldsymbol{H}_{k}\left[\boldsymbol{\Phi}_{k / k-1}\left({\color{red}\boldsymbol{\Lambda}_{k}} \boldsymbol{P}_{k-1} {\color{red}\boldsymbol{\Lambda}_{k}}\right) \boldsymbol{\Phi}_{k / k-1}^{\mathrm{T}}+\boldsymbol{\Gamma}_{k-1} \boldsymbol{Q}_{k-1} \boldsymbol{\Gamma}_{k-1}^{\mathrm{T}}\right] \boldsymbol{H}_{k}^{\mathrm{T}} \\ \approx \boldsymbol{H}_{k}\left[{\color{red}\boldsymbol{\Lambda}_{k}}\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) {\color{red}\boldsymbol{\Lambda}_{k}}\right] \boldsymbol{H}_{k}^{\mathrm{T}} \end{array} C^kHkΓk1Qk1Γk1THkTRkHkΦk/k1(ΛkPk1Λk)Φk/k1THkTC^kRkHk[Φk/k1(ΛkPk1Λk)Φk/k1T+Γk1Qk1Γk1T]HkTHk[Λk(Φk/k1Pk1Φk/k1T+Γk1Qk1Γk1T)Λk]HkT
序贯,左右两边变成两个标量相等:
C ^ k ( j ) − R k ( j ) ≈ H k ( j ) ( Λ k ( j ) P k ( j − 1 ) Λ k ( j ) ) ( H k ( j ) ) T c k ( j ) = N k ( j ) M k ( j ) N k ( j ) = C ^ k − R k ( j ) M k ( j ) = H k ( j ) α ( j ) P k ( j ) α ( j ) ( H k ( j ) ) T \begin{array}{l} \hat{C}_{k}^{(j)}-R_{k}^{(j)} \approx \boldsymbol{H}_{k}^{(j)}\left(\boldsymbol{\Lambda}_{k}^{(j)} \boldsymbol{P}_{k}^{(j-1)} \boldsymbol{\Lambda}_{k}^{(j)}\right)\left(\boldsymbol{H}_{k}^{(j)}\right)^{\mathrm{T}} \\ c_{k}^{(j)}=\frac{N_{k}^{(j)}}{M_{k}^{(j)}} \quad \begin{array}{l} N_{k}^{(j)}=\hat{C}_{k}-R_{k}^{(j)} \\ M_{k}^{(j)}=\boldsymbol{H}_{k}^{(j)} \boldsymbol{\alpha}^{(j)} \boldsymbol{P}_{k}^{(j)} \boldsymbol{\alpha}^{(j)}\left(\boldsymbol{H}_{k}^{(j)}\right)^{\mathrm{T}} \end{array} \\ \end{array} C^k(j)Rk(j)Hk(j)(Λk(j)Pk(j1)Λk(j))(Hk(j))Tck(j)=Mk(j)Nk(j)Nk(j)=C^kRk(j)Mk(j)=Hk(j)α(j)Pk(j)α(j)(Hk(j))T
滤波公式
{ X ^ k / k − 1 = Φ k / k − 1 X ^ k − 1 P k / k − 1 = Φ k / k − 1 P k − 1 Φ k / k − 1 T + Γ k − 1 Q k − 1 Γ k − 1 T K k ( j ) = P k ( j − 1 ) Λ k ( j ) ( H k ( j ) ) T [ H k ( j ) Λ k ( j ) P k ( j − 1 ) Λ k ( j ) ( H k ( j ) ) T + R k ( j ) ] − 1 X ^ k ( j ) = X ^ k / k − 1 + K k ( j ) ( Z k ( j ) − H k ( j ) X ^ k / k − 1 ) P k ( j ) = ( I − K k ( j ) H k ( j ) ) P k ( j − 1 ) \left\{\begin{array}{l} \hat{\boldsymbol{X}}_{k / k-1}=\boldsymbol{\Phi}_{k / k-1} \hat{\boldsymbol{X}}_{k-1} \\ \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{K}_{k}^{(j)}=\boldsymbol{P}_{k}^{(j-1)} \boldsymbol{\Lambda}_{k}^{(j)}\left(\boldsymbol{H}_{k}^{(j)}\right)^{\mathrm{T}}\left[\boldsymbol{H}_{k}^{(j)} \boldsymbol{\Lambda}_{k}^{(j)} \boldsymbol{P}_{k}^{(j-1)} \boldsymbol{\Lambda}_{k}^{(j)}\left(\boldsymbol{H}_{k}^{(j)}\right)^{\mathrm{T}}+\boldsymbol{R}_{k}^{(j)}\right]^{-1} \\ \hat{\boldsymbol{X}}_{k}^{(j)}=\hat{\boldsymbol{X}}_{k / k-1}+\boldsymbol{K}_{k}^{(j)}\left(Z_{k}^{(j)}-\boldsymbol{H}_{k}^{(j)} \hat{\boldsymbol{X}}_{k / k-1}\right) \\ \boldsymbol{P}_{k}^{(j)}=\left(\boldsymbol{I}-\boldsymbol{K}_{k}^{(j)} \boldsymbol{H}_{k}^{(j)}\right) \boldsymbol{P}_{k}^{(j-1)} \end{array}\right. X^k/k1=Φk/k1X^k1Pk/k1=Φk/k1Pk1Φk/k1T+Γk1Qk1Γk1TKk(j)=Pk(j1)Λk(j)(Hk(j))T[Hk(j)Λk(j)Pk(j1)Λk(j)(Hk(j))T+Rk(j)]1X^k(j)=X^k/k1+Kk(j)(Zk(j)Hk(j)X^k/k1)Pk(j)=(IKk(j)Hk(j))Pk(j1)
量测更新要做很多次,对每一个量测分量都要处理

6、强跟踪滤波(string tracking filter)

具有以下优良特性:

  • 较强的关于模型参数失配的鲁棒性;主要是量测模型,
  • 较低的关于噪声及初值统计特性的敏感性;
  • 极强的关于突变状态的跟踪能力,并在滤波器达到稳态时仍保持这种能力;
  • 适中的计算复杂性。
  • 理论上,强跟踪滤波可以在线自适应调整Kalman滤波增益使得输出残差序列正交(所谓正交性原理)。

然而实际应用中,“理想是很理想的,但现实是很现实的”,特别是对于高维复杂系统而言,强跟踪滤波器的想法几乎不具有可操作性。

猜你喜欢

转载自blog.csdn.net/daoge2666/article/details/131105847
今日推荐