Kalman FilterSnapshot of the front panel of the simulator:
AimsThe aim of this simulator is to show how a Kalman Filter can be used to continuously estimate the value of an unknown process variable. The typical trade-off is demonstrated: You can not have both fast estimate update and noise-attenuated estimates, i.e. you have to choose to emphasize either of them. MotivationThe Kalman Filter is a generic algorithm for estimating process variables, assuming that you have a mathematical model of the process (a set of differential equations) and that there is at least one variable that is continuously measured. The Kalman Filter is used in a large variety of applications - in control applications where the controller uses estimates as if they were real measurements and in supervisory systems (as "soft-sensors"). Description of the simulated systemThe process is a water tank with inflow and outflow. The level is maintained at or close to a level setpoint by a level controller which controls the inflow. The outflow, which is regarded as a disturbance to the process, can be adjusted freely by the user. A Kalman Filter is used to estimate the assumed unknown outflow. Detailes about the model and the Kalman Filter are described in kalmanfilter.pdf. Tasks1. Change the outflow F_{out} arbitrarily, but keep it constant for a while, too. Is the Kalman Filter able to estimate F_{out} correctly in steady-state?2. In an attempt to make the estimate converge faster to the real value, the assumed process disturbance variance Q_{22} of state x_{2} (which is the outflow) can be increased. What is the impact on the state-estimate (benefit and drawback)? Simultaneously, observe how the Kalman Gain K_{21} is changed accordingly. Does this change of K_{21} make sense? 3. Also the assumed measurement variance R influences the state-estimates. Descrease R. What is the impact on the state-estimate (benefit and drawback)? Simultaneously, observe how the Kalman Gains K_{21} are changed accordingly. Does these changes of make sense? Updated 2 September 2017. Developed by Finn Haugen. E-mail: finn@techteach.no. |