Kalman Filters: Understanding Kalman Recursion and AR(1) Process

  • Thread starter Thread starter mr.t
  • Start date Start date
  • Tags Tags
    Recursion
Join the discussion
Registration is free. Ask a follow-up in this thread, or start your own.
2 replies · 4K views
mr.t
Messages
7
Reaction score
0
As this is concerning signal processing i guess this is the right place to post the question. I am Trying to learn how to use kalman filters. I've reached some form of verry basic understanding of the state-space model but I am still kindof confused. What I am 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 I am 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 isn't 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 a lot!
 
Engineering news on Phys.org
Ok my bad. Seems like you don't 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:

[tex]K = PC^{T}(CPC^{T} + Q_{v})^{-1}[/tex]

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

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

Whats the deal with this Riccati-equation? can't you just use the iterations to find both P and your Gain at the same time?
 
Last edited: