I need an explanation of advance kalman filter algorithm. Preferably a C code, but only the algorithm will work for me.
I need an explanation of advance kalman filter algorithm. Preferably a C code, but
Share
Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.
Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.
Lost your password? Please enter your email address. You will receive a link and will create a new password via email.
Please briefly explain why you feel this question should be reported.
Please briefly explain why you feel this answer should be reported.
Please briefly explain why you feel this user should be reported.
Kalman filters are specialized versions of Wiener filters. Specifically, Kalman filters take information about a problem domain and enhance a Wiener filter by applying this domain specific knowledge. I’ve found the Wikipedia page to be an excellent reference source for understanding the particulars of the algorithm.
Without repeating the specific details here (no linear algebra imagery functions), Kalman filters estimate future state incrementally (as do Wiener filters, for that matter). In particular, we estimate the state, apply problem domain specific noise estimations and state change approximations, and then iterate. That is to say, we take current observations of state, filter those observations, predict the next state, then combine that output to produce some new next state observation.
I’ve found Kalman filters quite useful for predicting motion paths. Since motion paths are smooth Kalman filters work particularly well — motion can easily be predicted using past known observations of state. So suppose you’re in a car driving down the road, you’d record the current coordinates of the car as the current state. You then filter past observations of state (your previous locations) to predict the next point the car will be (in time). Note that you can apply laws of physics (say, momentum) to customize this filter and come up with quite reasonabole results. Random changes in speed or direction have some impact on the predictions.
Take a look at this C implementation you can see that we have two major functions in running a Kalman filter
estimateandupdate(the wikipedia article talkes about these, but callsestimate“predict“).Ultimately you’re going to need to determine some very specific statistics for the problem with which you wish to apply a Kalman filter. In particular, you need to generate/record/observe statistics on how the variance of the noise signal you observe evolves over time. It’s assumed the process you’re predicting is also stochastic, and as such you’ll need to estimate its statistics as well.