简化的协方差更新方程

在许多教科书里,你能找到一个简化版本的简化的协方差更新方程:

\[ \boldsymbol{P}_{n,n} = \left(\boldsymbol{I} - \boldsymbol{K}_{n}\boldsymbol{H} \right) \boldsymbol{P}_{n,n-1} \]

为了推导出这个简化版的协方差更新方程,我们把卡尔曼增益代入原版的协方差更新方程。

注释
\( \boldsymbol{P}_{n,n} = \boldsymbol{P}_{n,n-1} - \boldsymbol{P}_{n,n-1}\boldsymbol{H}^{T}\boldsymbol{K}_{n}^{T} - \boldsymbol{K}_{n}\boldsymbol{HP}_{n,n-1} + \\ + \color{#7030A0}{\boldsymbol{K}_{n}} \left(\boldsymbol{HP}_{n,n-1}\boldsymbol{H}^{T} + \boldsymbol{R}_{n} \right) \boldsymbol{K}_{n}^{T} \) 展开后的协方差更新方程
\( \boldsymbol{P}_{n,n} = \boldsymbol{P}_{n,n-1} - \boldsymbol{P}_{n,n-1}\boldsymbol{H}^{T}\boldsymbol{K}_{n}^{T} - \boldsymbol{K}_{n}\boldsymbol{HP}_{n,n-1} + \\ + \color{#7030A0}{ \boldsymbol{P}_{n,n-1}\boldsymbol{H}^{T}\left(\boldsymbol{HP}_{n,n-1}\boldsymbol{H}^{T} + \boldsymbol{R}_{n} \right)^{-1} } \left(\boldsymbol{HP}_{n,n-1}\boldsymbol{H}^{T} + \boldsymbol{R}_{n} \right) \boldsymbol{K}_{n}^{T} \) 带入卡尔曼滤波增益方程
\( \boldsymbol{P}_{n,n} = \boldsymbol{P}_{n,n-1} - \boldsymbol{P}_{n,n-1}\boldsymbol{H}^{T}\boldsymbol{K}_{n}^{T} - \boldsymbol{K}_{n}\boldsymbol{HP}_{n,n-1} + \\ + \boldsymbol{P}_{n,n-1}H^{T} \boldsymbol{K}_{n}^{T} \) \( \left(\boldsymbol{HP}_{n,n-1}\boldsymbol{H}^{T} + \boldsymbol{R}_{n} \right)^{-1} \times \\ \times \left(\boldsymbol{HP}_{n,n-1}\boldsymbol{H}^{T} + \boldsymbol{R}_{n} \right) = 1 \)
\( \boldsymbol{P}_{n,n} = \boldsymbol{P}_{n,n-1} - \boldsymbol{K}_{n}\boldsymbol{HP}_{n,n-1} \) \( \boldsymbol{P}_{n,n-1}H^{T} \boldsymbol{K}_{n}^{T} \) 抵消掉
\( \boldsymbol{P}_{n,n} = \left(\boldsymbol{I} - \boldsymbol{K}_{n}\boldsymbol{H} \right)\boldsymbol{P}_{n,n-1} \)
警告!这个方程看起来要精炼很多并且容易记忆,并且在许多情况下没什么问题。但是,在计算卡尔曼增益时的一个小误差(浮点截尾误差)可能给结果带来巨大的偏差。\( (\boldsymbol{I} - \boldsymbol{K}_{n}\boldsymbol{H}) \) 的差可能因为浮点计算误差而使其结果不再是对称阵。这个方程在数值计算上并不稳定

更多的细节可以查阅:“Bucy, R. S., and Joseph, P. D. (1968). Filtering for Stochastic Processes with Applications to Guidance. Interscience, New York”,第16章,“Roundoff errors” 一节。

上一章 下一章