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
http://books.google.com/books?id=sZbxLK-NKb0C&q=+without+explicitly+inverting#v=snippet&q=without%20explicitly%20inverting&f=false
(click the second link)