Skip to content

Kalman filter fixed-point implementation based on libfixmatrix, targeted at embedded systems without an FPU and/or need for performance.

License

Notifications You must be signed in to change notification settings

sunsided/libfixkalman

Repository files navigation

https://raw.githubusercontent.com/sunsided/libfixkalman/static/kalman.png

Fixed point Kalman filter library

libfixkalman is a Kalman filter computation library for microcontrollers. It is based on the libfixmatrix and libfixmath libraries, which use 16.16 bit fixed point values. The main focus is processors without an FPU, such as ARM Cortex-M0 or M3.

A 🦀 Rust variant, albeit not a direct port, is available at `sunsided/minikalman-rs`_.


Matrix inversion in the correction step is implemented using Cholesky decomposition and an optimized inversion algorithm ported from EJML.

See function reference for further details and example_gravity.c for example code.

conan.io

This library now has experimental support for the conan.io package manager and is aimed at CMake. Both libfixmath and libfixmatrix dependencies are available on conan.io and you should be able to verify the package building process by calling:

conan test_package --build

In general, to reference the library you'd provide a conanfile.txt with the following content:

[requires]
libfixkalman/20161008@sunside/stable

which corresponds to this package, where 20161008 could be replaced with the latest version as found via conan search -v libfixkalman* -r=conan.io. You can then just:

conan install

or:

conan install --build

to obtain all required references.

About

Kalman filter fixed-point implementation based on libfixmatrix, targeted at embedded systems without an FPU and/or need for performance.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published