Sunday, November 18, 2012

Kalman Filter simplified

While trying to understand what "Kalman Filter" is all about, I encountered that there were very less instances when people have explained in layman's terms.

After searching a lot , I have came up with a combination of three sources which can help you grasp this concept in a easier way.

Before we move on, I always consider a one line description/definition which we can always look back.

First line in the Kalman's Original paper [1] tell us that :
    its a "recursive solution to the discrete-data linear filtering problem"
just re-framing it  :
   "recursive solution for digtal filters"

If you are familiar with digital filters  (low butterworth filters ,etc) it manipulates the incoming data according to the given constraints. Keep in mind frequency is not the only way to characterize a signal. What if one cannot quantify the constants in terms of frequency,wavelets,etc? We land up to something called stochastic method, where we consider variables to be random (with certain constraints) and essentially don't try to characterize in a terms of a "feature" like frequency.

When we are looking at a digital filter, what we should be looking for is :
> type of input
      Discrete-time data. this data can be either scalar or vector.
      E.g. of discrete time scalar data : x
      At t=1 , x=4; At t=2 , x=2; At t=1 , x=8; At t=1 , x=6 ;

> type of constraints and how to apply?
     Constraint is given in terms of Model parameters ( coefficients of the equations given by Kalman )
     Kalman arrives at a linear stochastic equation which is generalization of system prone to noise.
     We apply the constraints guessing the behavior of the system and noise.

> suitable applications
   Filtering noise in most signals (sampled at certain rate). Majorly, used in noise removal from measured quantities when the behavior of the system is known.

The three sources are :
1)  Buffalo tutorial :
start by refering to the block-diagram on page 6. and the description of the variable on page 2.
This will help you visualize what these equations are about.

2) Bilgin's Blog :
  Awesome blog on Kalman filter. It tell you every thing about how can you apply Kalman filters.

3) Cornell course material   :
  Refer to the example of  measurement of water level in tank. This could give a good ending to your pursuit of learning kalman filters.


References:
[1] Kalman, Rudolph Emil. "A new approach to linear filtering and prediction problems." Journal of basic Engineering 82.1 (1960): 35-45.