The Kalman filter is an optimal estimation algorithm: it estimates the true state of a signal given that this signal is noisy and/or incomplete. This package provides a multidimensional implementation of:
-
Standard Kalman Filter: if the noises are drawn from a gaussian distribution and the underlying system is governed by linear equations, the filter will output the best possible estimate of the signal's true state.
-
Extended Kalman Filter: can deal with nonlinear systems, but it does not guarantee the optimal estimate. It works by linearizing the function locally using the Jacobian matrix.
Normal user
pip install kalmankit
Developer
git clone https://github.com/Xylambda/kalmankit.git
pip install -e kalmankit/. -r kalmankit/requirements-dev.txt
To run tests you must install the library as a developer
.
cd kalmankit/
pytest -v tests/
The library provides 3 examples of usage:
A requirements-example.txt
is provided to install the needed dependencies to
run the examples.
-
Matlab - Understanding Kalman Filters
-
Bilgin's Blog - Kalman filter for dummies
-
Greg Welch, Gary Bishop - An Introduction to the Kalman Filter
-
Simo Särkkä - Bayesian filtering and Smoothing. Cambridge University Press.
If you've used this library for your projects please cite it:
@misc{alejandro2021kalmankit,
title={kalmankit - Multidimensional implementation of Kalman Filter algorithms},
author={Alejandro Pérez-Sanjuán},
year={2021},
howpublished={\url{https://github.com/Xylambda/kalmankit}},
}