altos: Correct model error covariance matrix
authorKeith Packard <keithp@keithp.com>
Wed, 16 Jan 2013 23:01:12 +0000 (15:01 -0800)
committerKeith Packard <keithp@keithp.com>
Wed, 16 Jan 2013 23:21:24 +0000 (15:21 -0800)
commitdd60d85d07b881ac03294a8cf607e469f2e69610
tree255e3d9b4fc65b10c140551d685f84ec6461a138
parent994ff76a064dcbd3113db771cd9cd9591fd68dea
altos: Correct model error covariance matrix

Finally found a couple of decent references on how to set the model
(process) error covariance matrix. The current process matrix turns
out to be correct for a continuous kalman filter (which isn't
realizable, of course). For a discrete filter, the error in modeled
acceleration (we model it as a constant) needs to be propogated to the
speed and position portions of the matrix.

The correct matrix is seen in this paper:

On Reduced-Order Kalman Filters For GPS Position Filtering
J. Shima
6/2/2001

This references an older paper which is supposed to describe the
derivation of the matrix:

Singer, R.A., “Estimating Optimal Tracking Filter Performance for Manned Maneuvering Targets,”
IEEE Transactions of Aerospace and Electronic Systems, AES-5, July 1970, pp. 473-483.

This change has a minor effect on the computed correction
coefficients; it should respond more reasonably to acceleration
changes now.

Signed-off-by: Keith Packard <keithp@keithp.com>
src/kalman/kalman.5c