Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/sunsided/libfixkalman
Kalman filter fixed-point implementation based on libfixmatrix, targeted at embedded systems without an FPU and/or need for performance.
https://github.com/sunsided/libfixkalman
c cpp embedded kalman-filter libfixmath libfixmatrix signal-processing
Last synced: 12 days ago
JSON representation
Kalman filter fixed-point implementation based on libfixmatrix, targeted at embedded systems without an FPU and/or need for performance.
- Host: GitHub
- URL: https://github.com/sunsided/libfixkalman
- Owner: sunsided
- License: mit
- Created: 2014-01-15T21:31:58.000Z (almost 11 years ago)
- Default Branch: master
- Last Pushed: 2024-06-03T22:16:55.000Z (5 months ago)
- Last Synced: 2024-10-11T02:29:56.898Z (28 days ago)
- Topics: c, cpp, embedded, kalman-filter, libfixmath, libfixmatrix, signal-processing
- Language: C
- Homepage:
- Size: 60.5 KB
- Stars: 66
- Watchers: 17
- Forks: 29
- Open Issues: 0
-
Metadata Files:
- Readme: README.rst
- License: LICENSE
Awesome Lists containing this project
README
.. image:: https://raw.githubusercontent.com/sunsided/libfixkalman/static/kalman.png
:align: rightFixed 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.
.. _libfixmath: http://code.google.com/p/libfixmath/
.. _libfixmatrix: https://github.com/PetteriAimonen/libfixmatrix
.. _EJML: https://code.google.com/p/efficient-java-matrix-library/
.. _function reference: https://github.com/sunsided/libfixkalman/blob/master/FUNCTIONS.rst
.. _`example_gravity.c`: https://github.com/sunsided/libfixkalman/blob/master/example_gravity.c
.. `sunsided/minikalman-rs`: https://github.com/sunsided/minikalman-rsconan.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/stablewhich 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.
.. _`conan.io`: https://conan.io/
.. _`this package`: https://conan.io/source/libfixkalman/20161008/sunside/stable