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