Info

This question is closed. Reopen it to edit or answer.

need helps about Kalman filter

1 view (last 30 days)
Khoa
Khoa on 30 Sep 2013
Closed: MATLAB Answer Bot on 20 Aug 2021
Hello everyone. I used measurement position to estimate velocity by Kalman filter. But in simulation, Kalman gain change quickly and then remain constant when position and velocity continue to change (for example, position and velocity change in 0->0.5(s) and 3->4(s). But Kalman gain only change only 0->0.1(s)and then remain constant). My question is why Kalman gain is still constant when postion and velocity change? Sorry for my bad English.
  2 Comments
Jan
Jan on 30 Sep 2013
Edited: Jan on 30 Sep 2013
I've deleted the duplicate thread with the identical question. I assume, this has been created by accident.
Perhaps there is a bug in your code. Could you provide a minimal example accompanied by your code, such that we can reproduce the problem? Otherwise too much guessing is required.
Khoa
Khoa on 30 Sep 2013
I only used Simulink to estimate velocity.
"Predict"
x[k-] = Ax[k-1]
P[k-] = AP[k-1]A' + Q
"Correct"
K[k] = P[k-]H'/(HP[k-]H' + R)
x[k] = x[k-] + K[k] (z[k] - Hx[k-])
P[k] = (I-K[k]H) P[k-] With
A=[1 T; 0 1] (T is sampling time)
Q,R mean process noise and measurement noise. I set constant for them.
H=[1 0] (use only measurement position z[k] as input)
It seems be likely steady state Kalman filter I think (because Q,R are constant). Maybe I'm wrong when set matrix A because velocity is not same value when time = 0->0.5(s) and 3->4(s). And the result that Kalman gain is not change at that time. Can someone give me some helps?

Answers (1)

John Petersen
John Petersen on 23 Jul 2014
The Kalman gain is not a function of the states. It is only a function of the covariances and the model of the system and measurements. If the system model is unchanging and the covariances converge, then the gains may also converge.

Community Treasure Hunt

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

Start Hunting!