kalmd gain L in descrite

2 views (last 30 days)
WANYI ZHANG
WANYI ZHANG on 14 Oct 2019
Answered: Shashank Gupta on 9 Dec 2019
I'm using kalmd() function to get Kalman gain L, but it gives me error for my Rn(Measurement noise) value as below.
and this is the error.
Can anyone tell how can I fix this error?
I have tried with Ro manually by making Ro is not singular, for example Ro = [0.1,0.01;8,0.1];
it it calculates kalman gain L, however, command gives warning as below.
I am not sure is it because I am handling with kalmand descrite gain.
Please help, Thanks adavance.

Accepted Answer

Shashank Gupta
Shashank Gupta on 9 Dec 2019
Hi,
The stack of error above shows the Riccati condition violates during the stabilization of Kalman solution. As it says, In some iteration n, “Rn” happened to become singular and does violate the Positive definite criteria, This things generally happened when trying to find “Ln”. The Kalman gain “Ln” expression requires to take an inverse of some expression (i.e. C*Pstar*C'+R), this matrix should be a well-conditioned matrix. Thus, when an ill conditioned matrix passed this Riccati condition violates.
So, again when Passed a Well-conditioned matrix this error goes away. Now second cmd Window, which shows warning is again because of same reason, but this time the “Rn” does not become singular, it just not symmetric, MATLAB automatically handle this and shows the warning to user.
I hope it helps you.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!