Dismiss Notice
Join Physics Forums Today!
The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

Kalman recursion

  1. Aug 16, 2008 #1
    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!
  2. jcsd
  3. Aug 16, 2008 #2


    User Avatar
    Science Advisor
    Gold Member

    Last edited by a moderator: Apr 23, 2017
  4. Aug 18, 2008 #3
    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:

    [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? cant you just use the iterations to find both P and your Gain at the same time?
    Last edited: Aug 18, 2008
Share this great discussion with others via Reddit, Google+, Twitter, or Facebook