卡尔曼滤波器创新残差反演

时间:2014-07-01 00:21:55

标签: math matrix-inverse kalman-filter

我试图以计算有效的方式实现卡尔曼滤波器。主要问题是创新残差的倒置:

  S=HPH^t+R

  K=PH^t*inv(S)

我的问题是,可以假设S矩阵是正定的吗?这将使计算效率更高的反转......

2 个答案:

答案 0 :(得分:1)

是的,S是对称肯定,如此处所述,以及如何自动识别:

我发现这个演示文稿引人入胜!


编辑:我做了一些研究,结果发现在实现卡尔曼滤波器时必须非常小心,以保持对称的正定性。关键词:"稳定卡尔曼滤波器" " Josepf形式"。例如,请参阅Linear-Optimal Estimation for Discrete-Time Systems, page 7Understanding and Applying Kalman Filtering, page 28

要解决bits_international's comment问题,请参阅了解和应用卡尔曼过滤中的Under what circumstance will a covariance matrix be positive semi-definite rather than positive definite?或第7页。简而言之,除非存在线性,否则它是正定的 组件之间的依赖性。

答案 1 :(得分:0)

降低反转S成本的另一种方法是使用串行更新。简而言之:预测,然后为H的每个重复更新步骤。在这种情况下,HPH'R以及S都是标量,因此反转S是微不足道的。如果R是对角线(通常是这种情况),则不需要任何额外的工作。如果存在非对角线项,则可以将测量值正交化。那里的大部分努力都可以预先计算出来。

几个平方根KF配方依赖于串行更新,因此请查看更多创意。