matlabmatlab-cvstkalman-filter

Kalman filter, car tracking, Matlab


I have a small data set of a moving car:

Data_=[time x,y,z];    %# ONLY THIS DATA

I know that in this case velocity and acceleration are not constant.

I want to estimate the car position at various times. I decided to use Kalman filter. I searched for Kalman filter but I couldn't find code for tracking an object in 3D space with velocity and acceleration. I don't know where to start. Can Kalman filter automatically handle velocity and acceleration?

Can some one help me and give some link or some guidance?


Solution

  • My recommendation is to go to the Mathworks file exchange and search for Kalman filters

    You'll find several good pieces of code for this very standard algorithm.

    As far as Kalman filters themselves, they are what's called a Predictor-Estimator. That is, they can do prediction of the state at time n given the observations up to time n-1. Then after you've received the observations at time n you can do estimation (some call it smoothing) for all times up to and including time n. The estimation part is done through what's called an innovation and through the current Kalman gain.

    Kalman filters work through the concept of a "state space", that is your state stores all the necessary information about the object. The observation vector, which are different, are what you can observe about your system. In a constant acceleration model, for example, you'll probably assume that the state only contains the 3 position values and the 3 velocity values (x, y, and z for each). It's the designer of the filter's job to decide the state space and the state transition model (how you expect the state to change in absence of observations.)

    You'll have to choose a state transition matrix, you'll have to have some knowledge of the covariance matrix of the error of your observations, of the covariance matrix of the error in your state transition matrix (i.e., how good your state transition model is), and the covariance matrix of your initial state estimate (which you have to also choose). You'll also have to choose the relationship between the state vector and the observation vector.

    Kalman filters are the maximum likelihood optimal linear estimator if you assume Gaussian observation noise, Gaussian process noise and a few other standard things.