Kalman Filtering with State Constraints:
A Survey of Linear and Nonlinear Algorithms

Dan Simon
Department of Electrical and Computer Engineering
Cleveland State University

Cleveland, Ohio

Kalman filters are commonly used to estimate the states of a dynamic system. However, in the application of Kalman filters there is often known model or signal information that is either ignored or dealt with heuristically. For instance, constraints on state values (which may be based on physical considerations) are often neglected because they do not fit easily into the structure of the Kalman filter. The constraints may be time-varying or nonlinear. The addition of state constraints to a Kalman filter can significantly improve the estimation accuracy of the filter. 

There are many ways to incorporate state constraints into the Kalman filter. These include the following for linear systems/constraints:

·        Estimate projection

·        Gain projection

·        Model reduction

·        Perfect measurements

·        Probability density function truncation

·        System projection


Constraint incorporation includes the following possibilities for nonlinear systems/constraints:

·        Linearization of the constraints

·        Second order expansion of the constraints

·        Interior point likelihood maximization

·        Moving horization estimation

·        The smoothly constrained Kalman filter

·        Unscented Kalman filter (UKF) approaches

o   The two-step UKF

o   The interval UKF (IUKF)

o   The constrained IUKF

o   The equality constrained UKF

o   The projected UKF

o   The truncated IUKF

o   The truncated UKF

o   Unscented recursive nonlinear dynamic data reconciliation

This web page makes available m-files (that can be run in the MATLAB environment) that demonstrate the application of constrained Kalman filtering to some simple example problems. M-files are written in a very high-level language that can be easily read, almost like pseudo code. The m-files are contained in:

ConstrKFLinear.zip (16 kilobytes) for a linear system and linear constraints
ConstrKFNonlinear.zip (19 kilobytes) for a nonlinear system and nonlinear constraints

If you download the zip files to your hard drive by clicking on the above links, then unzip the files (using, for example, WinZip), you can run constrained Kalman filter experiments and reproduce the results in reference [1].  Instructions for running the software can be found in the readme files in the zip archives. If you don't have software to unzip the file, you can download a free evaluation version of WinZip from www.winzip.com.


D. Simon, “Kalman Filtering with State Constraints: A Survey of Linear and Nonlinear Algorithms,” IET Control Theory & Applications, vol. 4, no. 8, pp. 1303-1318, August 2010 - pdf, 412 KB


Professor Simon’s Home Page

Department of Electrical and Computer Engineering

Cleveland State University

Last Revised: December 14, 2013