How do I calculate the static Kalman gain (= steady-state Kalman gain)?

25 views (last 30 days)
Joonas
Joonas on 3 Nov 2015
Answered: Roger Labbe on 9 Nov 2015
Dear Matlab users,
how do I calculate the static Kalman gain in advance? Is there any functions that do this for me if I provide the system matrices and covariance data Q and R of the process and measurement noises respectively? Please inform me ways to do this.
Thank you!

Answers (2)

Nitin Khola
Nitin Khola on 5 Nov 2015
Edited: Nitin Khola on 5 Nov 2015
A popular FileExchange submission "Kalman Filter Package" might have some functionality coded for you. The following is the link to the submission: http://www.mathworks.com/matlabcentral/fileexchange/38302-kalman-filter-package
I encourage you to use the trial version of our product, "Control System Toolbox" which offers a wide array of functionalities related to analyzing, designing, and tuning linear control systems. Below is the link to the homepage of this product: http://www.mathworks.com/products/control/

Roger Labbe
Roger Labbe on 9 Nov 2015
There are two accepted ways to do this.
First, write a numerical simulation and just see what value it converges to.
Second, any of several textbooks will give you the procedure to compute it directly. I am not going to try to type several pages of instruction here, not the least because I am not solid on the theory itself. Crassidis' "Optimal Estimation of Dynamic Systems" gives the clearest presentation that I know of in section 5.3.4. Dan Simon's book talks about computing this for different filters (Crassidis is for a linear, discrete filter), and sites the research that discusses how to determine if your filter will converge or not.
Me, since I'm not sending rockets into space or doing other life-critical work, I just do the numerical simulation!

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!