Quantcast Kalman recursion Text - Physics Forums Library

PDA

View Full Version : Kalman recursion


mr.t
Aug16-08, 12:33 PM
As this is concerning signal processing i guess this is the right place to post the question. Im Trying to learn how to use kalman filters. Ive reached some form of verry basic understanding of the state-space model but im still kindof confused. What im trying to do now is to understand an example that is using kalman recursion to find the steady state kalman gain.

We have an AR(1) process described by: x(n) = 0.5x(n-1) + w(n), where w(n) is white-noise with variance 0.64. we are observing a process: y(n) = x(n)+ v(n), where v(n) is white-noise with variance 1.

The state-space model becomes:
x(n) = 0.5x(n-1) + w(n)
y(n) = x(n) + v(n)

and we see that A(n-1) = 0.5, B(n) = 1 and C(n) = 1. From the variances we have Qw=0.64 and Qv=1.

We have the initial conditions: x'(0|0) = 0 and E{e^2(0|0)} = 1, where e(0|0) = x(0) - x'(0|0). (' = estimate) and im trying to use these formulas to perform the recursion: (im skipping some matrix-related stuff since the matrices in this example is just single numbers so transposing isnt doing anything)

x'(n|n-1) = Ax'(n-1|n-1)
P(n|n-1) = AP(n-1|n-1)A + Qw
K(n) = P(n|n-1)C[CP(n|n-1)C+Qv]^-1
x'(n|n) = x'(n|n-1) + K(n)[y(n) - Cx'(n|n-1)]
P(n|n) = [I-K(n)C]P(n|n-1)

We start with P(0|0) = E{e^2(0|0)} = 1.

Ok. Now to my problem. How do i get y(n) ? I get stuck on the first iteration when I want to calculate x'(1|1) and i need y(1), how to i get it?

what is I ? on the last formula-row "P(n|n) = [I-K(n)C]P(n|n-1)"? In the example it is equal to 1, but
where do the 1 come from?

Also if anyone have any good (simple!) tutorial suggestion on the net about kalman-filtering that would be appreciated.

Thanks alot!

dlgoff
Aug16-08, 03:35 PM
I'm not up on this control stuff. So I did some goolging and found this wikipedia page that mentions "I" as being the "measurement covariance".
http://en.wikipedia.org/wiki/Kalman_filter#Information_filter

mr.t
Aug18-08, 03:49 AM
Ok my bad. Seems like you dont even calculate x(n|n|) in the recursion, you just calculate P(n|n-1), K(n) and P(n|n) for each step (!). But this leads to another question.

When you have done your iterations and found that your P:s and K:s are getting steady, they you have your Kalman gain as the steady K(n). But there is another formula of calculating K (pretty much the same, but apart from the iteration-formulas in my textmaterial) as in:

K = PC^{T}(CPC^{T} + Q_{v})^{-1}

Is said to give the corresponding Kalman gain for the Riccati-equation:

P = APA^{T} + Q_{w} - APC^{T}[CPC^{T} + Q_{v}]^{-1}CPA^{T}

Whats the deal with this Riccati-equation? cant you just use the iterations to find both P and your Gain at the same time?