In this example, we track an aircraft moving with constant acceleration with the - filter.

Previously we saw the Constant Velocity Tracking Example, where we tracked an aircraft moving at a constant velocity of 40 m/s. The following chart shows the target range and velocity vs. time:

Here, the range function was linear.

Now, let’s consider another aircraft. This one moves at a constant velocity of 50 m/s for 20 seconds. Then, it accelerates with a constant acceleration of for another 35 seconds. In plots, this looks like:

Here, the aircraft velocity is constant for the first 20 seconds and then grows linearly. The range grows linearly for the first 20 seconds and then grows quadratically.

- Filter

First, we going to track this aircraft with the alpha-beta filter we saw previously.

Consider an aircraft moving radially toward a radar in a one dimensional world. The - parameters are:

Numerical Example

Iteration 0

Initialization: The initial conditions for the time are:

Prediction for position and velocity:

Iteration 1

Current state estimate:

Prediction:

Results

Doing this over 10 iterations and then comparing the true, measured, and estimated values for the range and velocity for the first 75 seconds results in the following plot:

We can see a constant gap between true or measured values and estimates. The gap is called a lag error. Other common names for the lag error are:

  • Dynamic error
  • Systematic error
  • Bias error
  • Truncation error

The lag error appears during the acceleration period. After the acceleration period, the filter closes the gap and converges toward the true value.

-- Filter

In this example, we track an aircraft using a -- filter. The aircraft is moving with constant acceleration.

The prediction equations become:

Prediction equations for position, velocity, and acceleration

where is acceleration (second derivative of ).

The state update equations become:

State update equations for position, velocity, and acceleration

where is acceleration (second derivative of ).

Essentially, we’ve added an acceleration component to the - filter.

Numerical Example

We continue with the scenario from the previous example: an aircraft that moves with a constant velocity of for 20 seconds and then accelerates with a constant acceleration of for another 35 seconds.

The parameters we use are:

Iteration 0

Initialization: The initial conditions for the time are given as

Prediction: The initial guess is extrapolated to the first cycle using the state extrapolation equation:

Iteration 1

In the first cycle (), the initial guess is used as the prior estimate:

We get a measurement:

Using the measurement to update the state:

Predicting the next state:

Iteration 2

After a unit time delay, the predicted estimate from the last iteration becomes the prior estimate in the current estimation:

We receive a measurement:

Calculating the current estimate using the state update equation:

Then we can calculate the next state using the prediction equations:

Results

Carrying this out for 10 iterations, we get the following results: