Kalman
Filtering with State Constraints
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. Dr. Tien-Li Chia showed in his PhD disseratation that, given a dynamic system with state constraints, a constrained Kalman filter estimate can be obtained at each time step by projecting the unconstrained Kalman filter solution onto the state constraint surface. This significantly improves the estimation accuracy of the filter.
This web page makes available an m-file (that can be run in the MATLAB environment) that demonstrates the application of constrained Kalman filtering to a simple nonlinear vehicle tracking problem. M-files are written in a very high-level language that can be easily read, almost like pseudo code. The m-file is contained in the following zip file.
KalmanConstrained.zip - 2 kilobytes
If you download KalmanConstrained.zip to your hard drive by clicking on the above link, then unzip the file (using, for example, WinZip), you can run a constrained Kalman filter experiment and reproduce the results in reference [1]. If you don't have software to unzip the file, you can download a free evaluation version of WinZip from www.winzip.com.
References
Department of Electrical and Computer Engineering
Last Revised: June 23, 2003