Continuous Kalman Filter

The formulation of continuous Kalman filter parallels that of the discrete Kalman filter. For the state-space model of the unforced system x = A (t)x + E(t)w (4.84)

and an output equation similar to Eq. (4.71)

the propagation of error covariance becomes

where AP + PAT is the contribution of the unforced system without the effect of measurements, EQET accounts for the increase in uncertainty because of process noise, and PCTR_1CP accounts for the reduction in uncertainty as a result of measurements. Equation (4.86) is called the matrix Riccati equation and its solution is described in most advanced systems science and control books [17] and provided in most control toolbox software such as Matlab. The continuous Kalman filter equations for white measurement noise are given in Table 4.2 where the last row shows the Kalman gain matrix when the process and measurement noises are correlated. The explicit statement of time dependency is eliminated by excluding

Description |
Equation |

Process model Output model |
x = Ax + Ew wfe ~ N{0, Q) y = Cx + v vfe ~ N(0, R) |

Initial conditions |
£[x(0)] = x0 R-i exists E [(x(0) - xo)(x(0) - x0)Tl = P0 |

State estimate Error covariance Kalman gain matrix |
x = Ax + K(y-Cx), x(0)=xo P = AP + PAT + EQEt - PCTR1CP, P(0) = P0 K = PCrR_1 when £[w(£)vt(t)] = 0 = (PCT + EZ)R^1 when JB[w(i)vT(r)] = ZS(t - r) |

the arguments (t) from the matrices in the equations of Table 4.2 for compactness. Time dependency of system matrices A, C, and E will indicate which matrices in other equations are time dependent.

If the process is excited by deterministic inputs u (either a deterministic disturbance or a control signal), the procedures for computing P and K remain the same, but the estimators are modified. For the discrete time process, state equation Eq. (4.70) becomes xfc = Ffe.iXfe^i + Gfc_iUfc_i + wfc_i (4.87)

and the state estimator is

For continuous processes, state equation Eq. (4.84) becomes x(t) = A(t)x(t) +B(t)u(t) + E(t)w(t)

and the corresponding state estimator is

*(i) = A(i)x(t) + B(i)u(t) + K(t) (y(i) - C(i)x(i)) . (4.90)

When the process and measurement dynamics are represented by linear constant coefficient equations (A, B, E or F, G, H are not functions of time) and the driving noise statistics are stationary (Q, R are not functions of time), the filtering process may reach a steady state. Computing

the steady state value of P denoted by PM and inserting it in state estimator equations reduce the computational burden for state estimation significantly. For P = 0 the Riccati equation becomes

APoo + PTCAT + EQEt - PooC^R^CPoo = 0 . (4.91) The Kalman filter gain becomes a constant:

and the corresponding steady-state Kalman filter is i(t) = Ax(t) + Bu(t) + K^ (y(t) - Cx(i)) . (4.93)

The linear filters were developed so far for linear process models. State estimation can be extended to nonlinear processes described by nonlinear stochastic differential equations:

where f(-) is a nonlinear function of the state and w(t) is Ar(0, Q(t)) noise vector. The objective is to estimate x(f) from sampled nonlinear measurements yfe=hfe(x(ifc))+vfc fc = 1,2,••■ (4.95)

where hfc depends on both the time index k and x(tfc), and v,t is Ar(0, Rfc) noise vector. Hence the estimation is for a process with continuous dynamics and discrete-time measurements. While the general solution to this problem is challenging, a practical estimation algorithm that relies on Taylor series expansion of f can be formulated [182]. The filter developed is called extended Kalman filter (EKF) [257].

Consider the expansion of f about the current estimate (conditional mean) of the state vector x — x:

Taking the expectation of both sides of the equation yields f(x, t) = f(x(i),i) -f 0 + • ■ • (4.97)

By using the first two terms of the expansion in Eq. (4.96) an approximate differential equation for the estimation error covariance matrix is obtained:

P(t) = F(x(t), i)P(i) + P(i)FT(x(i),t) + Q(t) tfc-i < t < tfc (4.99) where F(x(t),t) is a matrix whose ij th element is

Was this article helpful?

## Post a comment