Page 96 - 《应用声学》2020年第1期
P. 96

92                                                                                   2020 年 1 月


             然后可得状态预测协方差矩阵为                                              χ (i)  = Φχ (i)
                                                                           k,k−1     k−1,k−1
                                      n x
                                1    ∑                                     (          (i)          )
                                                                                           ˆ
                ˆ                         i           (i)              = Φ S k−1,k−1 ξ  + Y k−1,k−1 ,
               P k,k−1 = 2 ×             ω ΦS k−1,k−1 v
                                          c
                            2 (n x + λ)
                                      i=1
                          (              ) T                               i = 0, 1, 2, · · · , 2n x .   (17)
                        × ΦS k−1,k−1 v (i)  + Q k−1
                                                                   类似地,状态向量的一步预测结果为
                          ˆ
                                    T
                      = ΦP k−1,k−1 Φ + Q k−1 .         (15)                                m
                                                                                ˆ
                                                                ˆ            1  ΦY k−1,k−1 +  ∑  1  ΦS k−1,k−1 v (i)
                                                               Y k,k−1 = m ×
                 量测更新的步骤保持不变,即可得到简化                                         m                 m
                                                                                          i=1
             的 UKF 算 法, 记 为 SUKF(Simplified Unscented
                                                                          ˆ
                                                                     = ΦY k−1,k−1 .                      (18)
             Kalman filter) 算法。2.1 节所提的改进算法显然
             也可以使用该简化步骤,记为 IS-UKF(Improved                     可得
             simplified Unscented Kalman filter) 算法。化简后              1  ∑    (i)          ] [  (i)         ] T
                                                                      m [
                                                                                                    ˆ
                                                                                   ˆ
                                                                          χ k,k−1  − Y k,k−1  χ k,k−1  − Y k,k−1
             的步骤采用矩阵 -向量形式执行时间更新过程,只                               m  i=1
                                                                             (          )
             需要执行式 (12) 和式 (15) 两步,即可得到状态向量                                    1  (i) (i)T  T       T
                                                                = ΦS k−1,k−1     ξ ξ      S k−1,k−1 Φ
             的一步预测值及对应的协方差矩阵。因此,在时间                                            m
             更新过程中,不必求 2n x + 1 个 Sigma 点,也就不再                  = ΦS k−1,k−1 I n x S T  Φ T
                                                                                 k−1,k−1
                    ˆ
                                                                              T
                                                                     ˆ
             需要对P k−1,k−1 进行Cholesky分解的操作。SUKF                  = ΦP k−1,k−1 Φ .                         (19)
             的时间更新步骤中,含有约 4n 次乘法和加法操                           因此状态预测协方差矩阵为
                                          3
                                          x
             作。而标准 UKF 算法大约需要 10n 次乘法和加法
                                            3
                                            x
                                                       2               P k,k−1 = ΦP k−1,k−1 Φ + Q k−1 .  (20)
                                                                                            T
                                                                        ˆ
                                                                                  ˆ
             操作,以及一次 n x 维的 Cholesky 分解 (约含有 n           3 x
                                                       3
             次乘法和加法操作)。                                            量 测 更 新 的 过 程 不 变, 即 可 得 到 简 化 后
                 与 标 准 UKF 相 比, 除 了 计 算 量 测 函 数                的SCKF(Simplified Cubature Kalman filter)算法。
                (i)
             h(χ     ) 以外,SUKF 的量测更新的过程不变,大                    SCKF 的时间更新过程只需执行式 (18) 和式 (20)
                k,k−1
                     3
                                     2
                           2
             约需要4n + 4n n z + 6n x n 次乘法和加法操作、一
                     x     x         z                         两步。相应地,2.1 节所提的改进算法显然也可以
             次 n x 维 Cholesky 分解 和一次 n z 维的矩阵求逆操               使用该简化步骤,并记为IS-CKF(Improved simpli-
                       2
                         3
             作(约含有 n 次乘法和加法操作)。可见,简化后的                         fied Cubature Kalman filter)算法。显然,SCKF 和
                         z
                       3
             UKF 算法去掉了一部分冗余的计算量 (约 6.67n                 3 x   SUKF 的预测更新过程是一样的,且与卡尔曼滤波
             次乘法和加法操作)。实际情况中,n x 和 n z 通常                      预测更新过程是相同的。这并不难理解,当系统的
                                                               状态方程为线性方程时,非线性滤波算法中的时间
             是同数量级的数,n x 略大于 n z 。记 O UKF 、O S-UKF
             分别为标准 UKF、SUKF 的复杂度,定义 η S-UKF 为                  更新过程自动退化成卡尔曼滤波中的时间更新过
             SUKF 运算效率的提升比例,即                                  程。卡尔曼滤波是高斯线性系统的最优滤波器,说
                             (           )
                                  O S-UKF                      明本文化简后的结果是该条件下最优的简化算法。
                    η S-UKF =  1 −         × 100%.     (16)
                                   O UKF
                                                                   由于 CKF 和 UKF 的算法结构非常相似,对于
             显然,η S-UKF 是关于 n x /n z 的单调递减函数。根据
                                                               同样的状态变量(X k 或者 Y k ),运算量也很接近,因
             前文分析可知,如果不考虑量测函数的运算量,当
                                                               此 SCKF 和 SUKF 的运算量也很接近。SCKF 降低
             n z 的取值接近 n x 时,η S-UKF > 25%;当 n z 的取值
                                                               运算复杂度的分析与前文中对 SUKF 的分析是几
             很小(接近1)时,η S-UKF 6 50%。
                                                               乎一样的,在此不再赘述。类似地,记O CKF 、O S-CKF
             2.3 改进算法在 CKF 框架下的简化及复杂度                          分别为标准 CKF、SCKF 的复杂度,定义 η S-CKF 为
                  分析                                           SCKF相对于标准CKF运算效率的提升比例,即
                                                                                (           )
                 类似地,易得相同条件下 CKF 算法的简化                                               O S-CKF
                                                                       η S-CKF =  1 −         × 100%.    (21)
             形式。                                                                      O CKF
                         (i)
                 仍然记 χ          , i = 0, 1, 2, · · · , 2n x 为滤波  显然,η S-CKF 也是关于n x /n z 的单调递减函数。由于
                         k−1,k−1
             算法的采样点,可得                                         UKF 和 CKF 的运算量比较接近,SUKF 和 SCKF
   91   92   93   94   95   96   97   98   99   100   101