Skip to content
A basic implementation of Kalman Filter for single variable models.
Branch: master
Clone or download
Latest commit 16478b0 Jan 25, 2019
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
examples Initial commit - v0.1 Jan 5, 2017
images Initial commit - v0.1 Jan 5, 2017
src feat: add getEstimateError Jan 18, 2019
LICENSE Initial commit - v0.1 Jan 5, 2017
README.md Update README.md Mar 19, 2018
keywords.txt Initial commit - v0.1 Jan 5, 2017
library.json Initial commit - v0.1 Jan 5, 2017
library.properties Update library.properties Apr 23, 2018

README.md

Simple Kalman Filter Library - GitHub license GitHub stars GitHub issues

KalmanFilter

This is a basic kalman filter library for unidimensional models that you can use with a stream of single values like barometric sensors, temperature sensors or even gyroscope and accelerometers.

  • Take a look at this youtube video to see the Kalman Filter working on a stream of values!

Special thanks to Professor Michel van Biezen and his amazing work in http://www.ilectureonline.com/

Repository Contents

  • /examples - Example sketches for the library (.ino). Run these from the Arduino IDE.
  • /src - Source files for the library (.cpp, .h).
  • keywords.txt - Keywords from this library that will be highlighted in the Arduino IDE.
  • library.properties - General library properties for the Arduino package manager.

Basic Usage

  • e_mea: Measurement Uncertainty - How much do we expect to our measurement vary
  • e_est: Estimation Uncertainty - Can be initilized with the same value as e_mea since the kalman filter will adjust its value.
  • q: Process Variance - usually a small number between 0.001 and 1 - how fast your measurement moves. Recommended 0.01. Should be tunned to your needs.
 SimpleKalmanFilter kf = SimpleKalmanFilter(e_mea, e_est, q);

 while (1) {
  float x = analogRead(A0);
  float estimated_x = kf.updateEstimate(x);
  
  // ...
 } 

Example Briefs

  • BasicKalmanFilterExample - A basic example reading a value from a potentiometer in A0 and SimpleKalmanFilter class to generate estimates.
  • AltitudeKalmanFilterExample - Uses a BMP180 barometric sensor and the SimpleKalmanFilter class to estimate the correct altitude.

Additional Documentation

Version History

License Information

This is an open source project!

Please review the LICENSE.md file for license information.

If you have any questions or concerns on licensing, please contact denys.sene@gmail.com.

You can’t perform that action at this time.