Multidimensional implementation of Kalman Filter algorithm
Project description
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.
Installation
Normal user:
git clone https://github.com/Xylambda/kalmankit.git
pip install kalmankit/.
alternatively:
git clone https://github.com/Xylambda/kalmankit.git
pip install kalmankit/. -r kalmankit/requirements.txt
Developer:
git clone https://github.com/Xylambda/kalmankit.git
pip install -e kalmankit/. -r kalmankit/requirements-dev.txt
Tests
To run tests you must install the library as a developer
.
cd kalmankit/
pytest -v tests/
Usage
The library provides 3 examples of usage:
A requirements-example.txt
is provided to install the needed dependencies to
run the examples.
References
-
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.
Cite
If you've used this library for your projects please cite it:
@misc{alejandro2021kalmankit,
title={kalmankit - Multidimensional implementation of Kalman Filter algorithm},
author={Alejandro Pérez-Sanjuán},
year={2021},
howpublished={\url{https://github.com/Xylambda/kalmankit}},
}
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for kalmankit-1.7.3-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | beaa885e1fad2a2c8dfec324716d3dc9abde79b0cde61db85e7a53e5f27e7a9d |
|
MD5 | ac4fe7d803e86a72f46b5f88aa7b0656 |
|
BLAKE2b-256 | c08fca83c82f22945db9b10485a9c52d65257d2226458c937710bbc0d8ac6eb2 |