Forums

kalman filter radar tracker

Started by jamie December 24, 2005
I've got a radar tracker which contains 3 Kalman filters.

The first filter (which I term the range filter) is for range, velocity,
and acceleration, with range and velocity being measured.

The range filter performs nicely.  I'm using a plant noise model from
Blackman's multiple target tracking book.

The second filter is for azimuth angle, azimuth angle rate, and azimuth
angle acceleration, with azimuth angle being measured.

The third filter is the equivalent of the second filter, but for elevation
angle.

For the azimuth and elevation filters, I don't have a well defined plant
noise model.  I haven't found one in literature that works for my
application.  

I'm trying to track an object that has an ititial non-zero velocity and at
some random point accelerates very fast.  I have large uncertainties for
the acceleration terms in each plant noise model.  The state covariance
matrices all decrease, but the acceleration variance decreases below
zero!!!  I know that is not correct, but I can't figure out why.  I'd like
to believe that I just haven't found the correct plant noise model yet.  I
don't want to just keep increasing the acceleration term in that model
because I can't accept very large uncertainties.

Any help out there?  





"jamie" <danielotts@juno.com> writes:

> I've got a radar tracker which contains 3 Kalman filters. > > The first filter (which I term the range filter) is for range, velocity, > and acceleration, with range and velocity being measured. > > The range filter performs nicely. I'm using a plant noise model from > Blackman's multiple target tracking book. > > The second filter is for azimuth angle, azimuth angle rate, and azimuth > angle acceleration, with azimuth angle being measured. > > The third filter is the equivalent of the second filter, but for elevation > angle. > > For the azimuth and elevation filters, I don't have a well defined plant > noise model. I haven't found one in literature that works for my > application.
You might have to go to an extended Kalman filter if your azimuth and elevation models.
> I'm trying to track an object that has an ititial non-zero velocity and at > some random point accelerates very fast. I have large uncertainties for > the acceleration terms in each plant noise model. The state covariance > matrices all decrease, but the acceleration variance decreases below > zero!!! I know that is not correct, but I can't figure out why. I'd like > to believe that I just haven't found the correct plant noise model yet. I > don't want to just keep increasing the acceleration term in that model > because I can't accept very large uncertainties. > > Any help out there?
Q: Why have three separate filters? It might help if you can post your models (matlab?). Ciao, Peter K.
jamie wrote:
> I've got a radar tracker which contains 3 Kalman filters. > > The first filter (which I term the range filter) is for range, velocity, > and acceleration, with range and velocity being measured. > > The range filter performs nicely. I'm using a plant noise model from > Blackman's multiple target tracking book. > > The second filter is for azimuth angle, azimuth angle rate, and azimuth > angle acceleration, with azimuth angle being measured. > > The third filter is the equivalent of the second filter, but for elevation > angle. > > For the azimuth and elevation filters, I don't have a well defined plant > noise model. I haven't found one in literature that works for my > application. > > I'm trying to track an object that has an ititial non-zero velocity and at > some random point accelerates very fast. I have large uncertainties for > the acceleration terms in each plant noise model. The state covariance > matrices all decrease, but the acceleration variance decreases below > zero!!! I know that is not correct, but I can't figure out why. I'd like > to believe that I just haven't found the correct plant noise model yet. I > don't want to just keep increasing the acceleration term in that model > because I can't accept very large uncertainties. > > Any help out there?
People have implemented radar tracking through Kalman filtering since the beginning of automated tracking. They have also faced the same issues you do, and they kinda suck. :-) Range is usually known to considerable accuracy. Azimuth is considerably more vague, especially as the range increase. Altitude, for most radar systems, is little more than a vague indication. Tracking, say, an airliner through this is no great problem. Even showing off at air shows, they are not the most aggressively maneuvering objects in the world. Filters can be set moderately loose, and things work nicely. However people seldom have to track those targets through primary radar. Practically everything is handled by secondary radar, which exchanges messages contains detailed information about the target's position. Combat aircraft do really difficult things. They stop almost dead on a radar display, and go backwards. This happens through rolling 180 degrees, and then doing a very tight half loop downwards. Its a real PITA trying to sustain automated tracking through that. The object has sustained roughly the same forward velocity as it looped. With accurate height information you could track this nicely in 3D. However, the height information you have is seldom good enough to make that very practical. If you make the filter loose enough to follow the track, you tend to get all sorts of false tracking, with false alarms or random tracks being strung together. Practical systems tend to handle these things with a search layer above the basic Kalman one. The Kalman filtering is set tight enough to avoid significant false track initiation. This causes a rolling fighter's track to be lost. When a new track initiates on a stable series of points going in the opposite direction, the higher track repair layer tries to associate the new track with a plausibly related and recently broken old track. Regards, Steve
jamie wrote:
> I've got a radar tracker which contains 3 Kalman filters. > > The first filter (which I term the range filter) is for range, velocity, > and acceleration, with range and velocity being measured. > > The range filter performs nicely. I'm using a plant noise model from > Blackman's multiple target tracking book. > > The second filter is for azimuth angle, azimuth angle rate, and azimuth > angle acceleration, with azimuth angle being measured. > > The third filter is the equivalent of the second filter, but for elevation > angle. > > For the azimuth and elevation filters, I don't have a well defined plant > noise model. I haven't found one in literature that works for my > application. > > I'm trying to track an object that has an ititial non-zero velocity and at > some random point accelerates very fast. I have large uncertainties for > the acceleration terms in each plant noise model. The state covariance > matrices all decrease, but the acceleration variance decreases below > zero!!! I know that is not correct, but I can't figure out why. I'd like > to believe that I just haven't found the correct plant noise model yet. I > don't want to just keep increasing the acceleration term in that model > because I can't accept very large uncertainties. > > Any help out there? > >
You haven't really mentioned how you're handling to non-linear aspect - assuming your acceleration models are in typical cartesian (x,y,z) coordinates. The usual method is to use Extended Kalman Filters (but these are sub-optimal). This is essentially what Peter was getting at. Also you've used 3 seperate filters instead of 1 large one, but you lose some fidelity here because there is coupling between them, that is ignored in your case. You may want to look at the Bar-Shalom's publications. I think the more common thing to do now is convert the measurements to X,Y,Z and to try and compensated for the bias. This returns you to a standard Kalman Filter. Hope that helps. Cheers, David
Indeed, why have three seperate filters?  

I'm not a Kalman filter expert but it seems to me that you may need to include 
a method of estimating the rate of change of acceleration AKA jerk.  This may 
lead to some noise problems.

In article <ufyoilgkl.fsf@remove.ieee.org>, p.kootsookos@remove.ieee.org 
(Peter K.) wrote:
>"jamie" <danielotts@juno.com> writes: > >> I've got a radar tracker which contains 3 Kalman filters. >> >> The first filter (which I term the range filter) is for range, velocity, >> and acceleration, with range and velocity being measured. >> >> The range filter performs nicely. I'm using a plant noise model from >> Blackman's multiple target tracking book. >> >> The second filter is for azimuth angle, azimuth angle rate, and azimuth >> angle acceleration, with azimuth angle being measured. >> >> The third filter is the equivalent of the second filter, but for elevation >> angle. >> >> For the azimuth and elevation filters, I don't have a well defined plant >> noise model. I haven't found one in literature that works for my >> application. > >You might have to go to an extended Kalman filter if your azimuth and >elevation models. > >> I'm trying to track an object that has an ititial non-zero velocity and at >> some random point accelerates very fast. I have large uncertainties for >> the acceleration terms in each plant noise model. The state covariance >> matrices all decrease, but the acceleration variance decreases below >> zero!!! I know that is not correct, but I can't figure out why. I'd like >> to believe that I just haven't found the correct plant noise model yet. I >> don't want to just keep increasing the acceleration term in that model >> because I can't accept very large uncertainties. >> >> Any help out there? > >Q: Why have three separate filters? > >It might help if you can post your models (matlab?). > >Ciao, > >Peter K.
Thanks for the responses.  As a result of the feedback, I'm reading more
about the EKF, trying to decide if I need to go to that.  Please be
patient with me as I will not be able to post my matlab code until I
return to the office after the new year.

In the mean time, here is more info on my model.

I'm using the radar as an interferometer (actually measuring sine of
azimuth and sine of elevation off antenna boresight).  Given sufficient
SNR, I've got pretty good azimuth and elevation angle measurements.  Also,
I'm only looking at one target at a time, so multiple target tracking and
mis-association due to closely spaced objects are not a concern to me.

Even though I have 3 filters, coupling is included because I convert to
Cartesian to propagate the state and then covert back to polar.  I
propagate the state uncertainty matrices in polar coordinates.  I'm not
sure if I need to convert to Cartesian for propagation of the uncertainty
matrices.

Any feedback with regard to that?

Due to proprietary reasons, I cannot post my model.  Thanks for the
interest.