claj / bayes

Recursive Bayesian estimation, Kalman filtering...

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Bayes

Recursive Bayes and Kalman filtering in Clojure.

The Kalman filter is a recursive filter that combines incoming noisy sample data with predictions from an internal model of the data. For example if you are measuring someone's position with a GPS device than typically the samples will jump around noisily, but if you know the person or vehicle's velocity than you can predict where they are from one moment to the next based on their most recent location. Using the Kalman filter these two sources of data can be efficiently combined in such a way as to provide a smoother, more accurate estimate of the true location. This is done by adjusting the weight of the model versus the sensor data based on how noisy or accurate they are.

  • the computational complexity is cubic in the size of the state space
  • The basic Kalman filter can only be used for linear systems with gaussian noise

Extended Kalman filter (EKF):

Unscented Kalman filter (UKF):

Particle filter:

  • Represents the underlying system with a set of samples (particles), which are updated, removed and spawned in a probabilistic fashion based on how well they approximate the incoming sensor data.

Resources

Wikipedia:

Kalman Filters for Undergrads:

Student Dave's tutorials:

An Introduction to the Kalman Filter:

Further resources:

License

Copyright © 2014 Jeff Rose - ThinkTopic Labs

Distributed under the Eclipse Public License either version 1.0 or (at your option) any later version.

About

Recursive Bayesian estimation, Kalman filtering...


Languages

Language:Clojure 100.0%