Optimal and Robust Estimation With An Introduction To Stochastic Control Theory
Optimal and Robust Estimation With An Introduction To Stochastic Control Theory
3
Continuous-Time Kalman Filter
151
CRC 9008 C003.pdf 20/7/2007 12:46
with wk ∼ (0, QT ) and vk ∼ (0, R/T ) white; x(0) ∼ (x̄0 , P0 ); and x(0) mutually
uncorrelated.
By using Tables 2.1 and 2.2 we can write the covariance update equations
for Equation 3.2 as
−
Pk+1 = (I + AT )Pk (I + AT )T + GQG T T (3.3)
−1
− T − T R
Kk+1 = Pk+1 H HP k+1 H + (3.4)
T
−
Pk+1 = (I − Kk+1 H)Pk+1 (3.5)
1
Kk = Pk− H T (HP − T
k H T + R)
−1
(3.6)
T
so that
1
lim Kk = Pk− H T R−1 (3.7)
T →0 T
This implies that
lim Kk = 0 (3.8)
T →0
the discrete Kalman gain tends to zero as the sampling period becomes small.
This result is worth remembering when designing discrete Kalman filters for
continuous-time systems. For our purposes now, it means that the continuous
Kalman gain K(t) should not be defined by K(kT ) = Kk in the limit as
T → 0.
Turning to Equation 3.3, we have
−
Pk+1 = Pk + (AP k + Pk AT + GQG T )T + 0(T 2 ) (3.9)
where O(T 2 ) represents terms of order T 2 . Substituting Equation 3.5 into this
equation there results
−
Pk+1 = (I −Kk H)Pk− +[A(I −Kk H)Pk− +(I −Kk H)Pk− AT +GQG T ]T +0(T 2 )
or, on dividing by T ,
1 −
(P − Pk− ) = (AP − − T T
k + Pk A + GQG − AK k HP k
−
T k+1
1
− Kk HP − T
kA )− Kk HP −
k + 0(T ) (3.10)
T
CRC 9008 C003.pdf 20/7/2007 12:46
so letting T tend to zero in Equation 3.10 there results (use Equations 3.7
and 3.8)
˙
x̂(t) = Ax̂(t) + Bu(t) + P (t)H T R−1 [z(t) − H x̂(t)] (3.16)
1
K(kT ) = Kk (3.17)
T
and
Equations 3.12, 3.18, and 3.19 are the continuous-time Kalman filter for
Equation 3.1. They are summarized in Table 3.1. If matrices A, B, G, Q, and
R are time-varying, these equations still hold.
CRC 9008 C003.pdf 20/7/2007 12:46
TABLE 3.1
Continuous-Time Kalman Filter
System model and measure model
ẋ = Ax + Bu + Gw (3.20a)
z = Hx + v (3.20b)
x(0) ∼ (x̄0 , P0 ), w ∼ (0, Q), v ∼ (0, R)
Assumptions
{w(t)} and {v(t)} are white noise processes uncorrelated with x(0) and
with each other. R > 0.
Initialization
P (0) = P0 , x̂(0) = x̄0
Error covariance update
Ṗ = AP + PAT + GQG T − PH T R−1 HP (3.21)
Kalman gain
K = PH T R−1 (3.22)
Estimate update
x̂˙ = Ax̂ + Bu + K(z − H x̂) (3.23)
Error P 0−
covariances
P k−
P (t )
Pk
time k
FIGURE 3.1
Continuous and discrete error covariances.
x̂(t )
u(t ) B 1/s H zˆ (t ) = Hx̂(t )
−
K(t ) ~ z(t )
z (t )
FIGURE 3.2
Continuous-time Kalman filter.
If all system matrices and noise covariances are known a priori, then P (t)
and K(t) can be found and stored before any measurements are taken. This
allows us to evaluate the filter design before we build it, and also saves com-
putation time during implementation.
The continuous-time residual is defined as
z̃(t) = z(t) − H x̂(t) (3.25)
since ẑ(t) = H x̂(t) is an estimate for the data. We shall subsequently examine
the properties of z̃(t).
It should be noted that Q and R are not covariance matrices in the con-
tinuous time case; they are spectral density matrices. The covariance of v(t),
for example, is given by R(t)δ(t). (The continuous Kronecker delta has units
of s−1 .)
In the discrete Kalman filter it is not strictly required that R be nonsingular;
all we required was |HP − T
k H + R| = 0 for all k. In the continuous case,
however, it is necessary that |R| = 0. If R is singular, we must use the Deyst
filter (Example 3.8).
CRC 9008 C003.pdf 20/7/2007 12:46
The continuous Kalman filter cannot be split up into separate time and
measurement updates; there is no “predictor-corrector” formulation in the
−
continuous-time case. (Note that as T tends to zero, Pk+1 tends to Pk ; so that
in the limit the a priori and a posteriori error covariance sequences become the
same sequence.) We can say, however, that the term −PH T R−1 HP in the error
covariance update represents the decrease in P (t) due to the measurements.
If this term is deleted, we recover the analog of Section 2.2 for the continuous
case. The following example illustrates.
Let us now assume the scalar case x ∈ R and repeat Example 2.2 for con-
tinuous time. Suppose x0 ∼ (0, p0 ) and u(t) = u−1 (t), the unit step. Let the
control weighting b = 1, and suppose g = 1 and w(t) ∼ (0, 1). Then, by using
the usual state equation solution there results from Equation 3.28
1 1 1/a −1/a
x̂(s) = · = +
s−a s s−a s
so that
1 at
x̂(t) = (e − 1)u−1 (t) (3.32)
a
This reaches a finite steady-state value only if a < 0; that is, if the system
is asymptotically stable. In this case x̂(t) behaves as in Figure 3.3a.
Equation 3.26 becomes
ṗ = 2ap + 1 (3.33)
with p(0) = p0 . This may be solved by separation of variables. Thus,
p(t) t
dp
= dt
p0 2ap + 1 0
or
1 1
p(t) = p0 + e2at − (3.34)
2a 2a
There is a bounded limiting solution if and only if a < 0. In this case p(t)
behaves as in Figure 3.3b.