Eng-Tips is the largest engineering community on the Internet

Intelligent Work Forums for Engineering Professionals

  • Congratulations waross on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

Kalman filter

Status
Not open for further replies.

walker1

Industrial
Dec 27, 2001
117
0
0
DK
I am working on a tracking algorithm and have heard/read the Kalman filter should give some of the best results.

I have till now seen a lot of (marginally understandable) matrix equations i various book and on the web, but so far I have seen nothing about how to implemment it in 'low-level' code. (Delphi/Pascal, pseudo or ANSI C in order of preference)

Can any in this forum direct me to a good sample here on the web or somewhere else ?

In the first version I will only have a meassure for the position as input, which should simplify things a lot, but even then most of my test have so far either gone 'ballistic' a few samples into my test series or done hardly any filtering.
 
Replies continue below

Recommended for you

I haven't done much Kalman filtering but what I have experience in is tracking. I have found Fourier based frequency tracking to be very reliable.
We have been able to track changes upto 20Hz/sec by adjusting the sampling frequency every other sample (2.4 KHz sampling frequency).Fourier based tracking algorithm is fairly easy to implement and of course much easier to understand.

 
There's a relatively easy to understand text called:

Tracking and Kalman Filtering Made Easy by Brookner

Kalman filters can be looked upon as an extension of an alpha-beta filter, which uses fixed gain coefficients, which, in turn is a fading memory filter. By adjusting the gain based on the statistics of the data, the filter is able to adapt and optimize to the data in real-time.

One of the best web resource for Kalman filter information is:


TTFN
 
I already have "Tracking and Kalman Filtering Made Easy", which brought me a lot of the way.

Supplemented with the above documents I now have a working filter written in Borland Delphi.

Now comes the task of finding the proper starting parameters.
And of course how to update the parameters without destroying the current track in case the target dynamics change along the way.
 
As described in Brookner, the initialization may require using a different filter approach, since the Kalman filter, by itself, may take a while to get completely settled.

As for the rest, that's more of a track manager question than a filter question. That's highly dependent on your target's expected behavior, e.g., cooperative or not, multiple or not. "Design and Analysis of Modern Tracking Systems" by Blackman and Popoli has some reasonably good stuff, although, not necessarily detailed for someone to build a full-up track manager.

There are also a number of radar tracking books from Artech that might be of use.

TTFN
 
I have seen it implemented in assembler, but its purpose was not for radar tracking--in case you were thinking that was its only purpose (doubt that, since you have the books). Sorry, can't help you further.
 
Status
Not open for further replies.
Back
Top