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: