• Create Account

yahastu

Member Since 25 Apr 2007
Offline Last Active Sep 23 2016 11:04 AM

#5093664Kalman filter without using matrix inverse

Posted by on 12 September 2013 - 03:23 PM

Kalman filter predict/update equations are here:

https://en.wikipedia.org/wiki/Kalman_filter

I have implemented the Kalman filter and it works nicely.  However,  the standard Kalman equations are written naively in terms of the matrix inverse.  In particular, the S matrix (innovation covariance) is inverted in order to compute K (the gain matrix):

S = H P H^t + R
K = P H^t S^{-1}

The gain matrix (K) is finally used to update the state estimate (x) and estimated covariance of the state (P) as follows:

x += K y
P -= K H P

I would like to update 'x' and 'P' without computing the matrix inverse S^{-1}.

In the following reference, a method is given "for calculating (H P H^t + R)^{-1} H in the conventional Kalman filter without explicitly computing an inverse." (using U D U^T, or LDL^t)  Of course, (H P H^t + R)^{-1} is equal to S^{-1}, but this confuses me because "S^{-1} H" does not appear in the computation of K....and so, it is not clear to me, how the value of S^{-1}H can be used to compute K.

Reference:
'Kalman Filtering; Theory and Practice Using MATLAB', second edition, by Grewal and Andrews