<feed xmlns='http://www.w3.org/2005/Atom'>
<title>mjb/altos/src/kalman/kalman.5c, branch telemega</title>
<subtitle>AltOS - the operating system for Altus Metrum products
</subtitle>
<id>https://git.ethernal.org/mjb/altos/atom?h=telemega</id>
<link rel='self' href='https://git.ethernal.org/mjb/altos/atom?h=telemega'/>
<link rel='alternate' type='text/html' href='https://git.ethernal.org/mjb/altos/'/>
<updated>2013-01-16T23:21:24+00:00</updated>
<entry>
<title>altos: Correct model error covariance matrix</title>
<updated>2013-01-16T23:21:24+00:00</updated>
<author>
<name>Keith Packard</name>
<email>keithp@keithp.com</email>
</author>
<published>2013-01-16T23:01:12+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ethernal.org/mjb/altos/commit/?id=dd60d85d07b881ac03294a8cf607e469f2e69610'/>
<id>urn:sha1:dd60d85d07b881ac03294a8cf607e469f2e69610</id>
<content type='text'>
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 &lt;keithp@keithp.com&gt;
</content>
</entry>
<entry>
<title>altos/kalman: Kalman terms can be &gt; 1, use 32-bit fixed point</title>
<updated>2011-03-22T07:51:04+00:00</updated>
<author>
<name>Keith Packard</name>
<email>keithp@keithp.com</email>
</author>
<published>2011-03-22T07:51:04+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ethernal.org/mjb/altos/commit/?id=6864e06d88a5b908cffa7c4cd2be8969ff46ce4d'/>
<id>urn:sha1:6864e06d88a5b908cffa7c4cd2be8969ff46ce4d</id>
<content type='text'>
Because speed and acceleration are scaled by 16, it's fairly common
for the kalman terms to end up larger than 1. Instead of trying to
fuss with 16-bit values and shifts, just use 32-bit values.

Signed-off-by: Keith Packard &lt;keithp@keithp.com&gt;
</content>
</entry>
<entry>
<title>altos: Add nickle kalman implementation.</title>
<updated>2011-03-21T10:59:27+00:00</updated>
<author>
<name>Keith Packard</name>
<email>keithp@keithp.com</email>
</author>
<published>2011-03-21T10:59:27+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ethernal.org/mjb/altos/commit/?id=20427ae4965f756aac0cedc5179a1c45b9a781f2'/>
<id>urn:sha1:20427ae4965f756aac0cedc5179a1c45b9a781f2</id>
<content type='text'>
This generates the constants needed to implement Kalman filtering in
the flight firmware.

Signed-off-by: Keith Packard &lt;keithp@keithp.com&gt;
</content>
</entry>
</feed>
