Design Case Studies    

Steady-State Design

You can design the steady-state Kalman filter described above with the function kalman. First specify the plant model with the process noise.

This is done by

Assuming that , you can now design the discrete Kalman filter by

This returns a state-space model kalmf of the filter as well as the innovation gain

The inputs of kalmf are and , and its outputs are the plant output and state estimates and .

Because you are interested in the output estimate , keep only the first output of kalmf. Type

To see how the filter works, generate some input data and random noise and compare the filtered response with the true response . You can either generate each response separately, or generate both together. To simulate each response separately, use lsim with the plant alone first, and then with the plant and filter hooked up together. The joint simulation alternative is detailed next.

The block diagram below shows how to generate both true and filtered outputs.

You can construct a state-space model of this block diagram with the functions parallel and feedback. First build a complete plant model with as inputs and and (measurements) as outputs.

Then use parallel to form the following parallel connection.

Finally, close the sensor loop by connecting the plant output to the filter input with positive feedback.

The resulting simulation model has as inputs and as outputs.

You are now ready to simulate the filter behavior. Generate a sinusoidal input and process and measurement noise vectors and .

Now simulate with lsim.

and compare the true and filtered responses graphically.

The first plot shows the true response (dashed line) and the filtered output (solid line). The second plot compares the measurement error (dash-dot) with the estimation error (solid). This plot shows that the noise level has been significantly reduced. This is confirmed by the following error covariance computations.

The error covariance before filtering (measurement error) is

while the error covariance after filtering (estimation error) is only


  Discrete Kalman Filter Time-Varying Kalman Filter