Saturday, February 21, 2009

Kalman Filter

Given a physical system, whether it is an aircraft, a chemical process, or the national economy, an engineer first attempts to develop a mathematical model that adequately represents some aspects of the behavior of that system. Through physical insights, fundamental “laws” and empirical testing, he tries to establish the interrelationships among certain variables of interest, inputs to the system, and outputs from the system. With such a mathematical model and the tools provided by the system and control theories, he is able to investigate the system structure and modes of response. If desired, he can design compensators that alter these characteristics and controllers that provide appropriate inputs to generate desired system responses.

In order to observe the actual system behavior, measurement devices are constructed to output data signals proportional to certain variables of interest. These output signals and the known inputs to the system are the only information that is directly discernible about the system behavior. Moreover, if a feedback controller is being designed, the measurement device outputs are the only signals directly available for inputs to the controller. Hence in such situations we use certain special filters to investigate the data, one such filter is Kalman filter.

In 1960, R.E. Kalman published his famous paper describing a recursive solution to the discrete data linear filtering problem. Kalman filter is simply an optimal recursive data processing algorithm. There are many ways of defining optimal, dependent upon the criteria chosen to evaluate performance. Kalman filter is optimal with respect to virtually any criterion that makes sense in analyzing a system since it incorporates all information that can be provided to it. It processes all available measurements, regardless of their precision, to estimate the current value of the variables of interest with use of (1) knowledge of the system and measurement device dynamics, (2) the statistical description of the system noises, measurement errors, and uncertainty in the dynamics models, and (3) any available information about initial conditions of the variables of interest. For example, to determine the velocity of an aircraft, one could use a Doppler radar, or the velocity indications of an inertial navigation system, or the pilot and static pressure and relative wind information in the air data system. Rather than ignoring any of these outputs, a Kalman filter could be built to combine all this data and knowledge of the various systems dynamics to generate an overall best estimate of velocity.

The word recursive in the previous description means that, unlike certain data processing concepts, the Kalman filter does not require all previous data to be kept in storage and reprocessed every time a new measurement is taken. This will be of vital importance to the practicality of filter implementation. The “filter” is actually a data processing algorithm. Despite the typical connotation of a filter as a “black box” containing electrical networks the fact is that in most practical applications, the “filter” is just a computer program in a central processor, As such, it inherently incorporates discrete time measurement samples rather than continuous time inputs.

For further reading on Kalman filtering and its mathematical background refer to (links to the tutorials are also available on this website).

November 04 1:19 AM


No comments: