ECE 602 Fall 2010

Observers for LTI Systems

by

Stanislaw H. Żak

November 8, 2010

We now know how to construct a linear state-feedback control law. To implement such a control law, one needs availability of all the state variables. Often, this requirement is not met, either because measuring of all the state variables would require excessive number of sensors, or because the state variables are not accessible for direct measurement. Instead, only a subset of state variables or their combination may be available. To implement the control law constructed in the previous section, we will use estimates of state variables rather than the true states. We now discuss the problem of constructing state estimators. Much of the literature refers to state estimators as “observers.” However, Franklin and Powell [1, page 139] remark that estimator is more descriptive in its function because observer implies a direct measurement. We use the term observers to emphasize a deterministic approach to state estimation. The term estimator will be used when state estimation involves nondeterministic methods.

1 Observer Construction

We now discuss the problem of constructing an observer for dynamic systems modeled by

\begin{matrix}ẋ(t) & = & Ax(t) + Bu(t) \\ y(t) & = & Cx(t), \end{matrix} \}

where C ∈ ℝ^{p×n}, p ≤ n. We assume that the pair (A, C) is observable. Our goal is to construct a dynamic system that will estimate the state vector x based on the plant input u and the plant output y. One could consider constructing a model of the plant dynamics and connecting the resulting dynamic system, referred to as an open-loop observer, as in Figure 1. This open-loop observer is described by

˙x̃(t) = Ax̃(t) + Bu(t),

Figure 1: Open-loop observer.

where x̃(t) is the estimate of x(t). Let

e(t) = x(t) − x̃(t)

be the observation error. Then, the dynamics of the observation error are described by

ė(t) = ẋ(t) − ˙ x̃(t) = Ae(t),

with the initial estimation error

e(0) = x(0) − x̃(0).

If the eigenvalues of the matrix A are in the open left-hand plane, then the error converges to zero. However, we have no control over the convergence rate. Furthermore, the matrix A does not have to have all its eigenvalues in the open left-hand plane. Thus, the openloop observer is impractical. We modify this observer by adding a feedback term to it. The resulting structure, depicted in Figure 2, is called the closed-loop observer, or the Luenberger observer, or the asymptotic full-order estimator. The dynamics of the closed-loop observer are described by

˙x̃(t) = Ax̃(t) + Bu(t) + L (y(t) − Cx̃(t)) ,

and the dynamics of the estimation error are governed by

ė(t) = ẋ(t) − ˙ x̃(t)
= (A − LC) e(t), e(0) = x(0) − x̃(0).

Figure 2: Closed-loop observer.

The pair (A, C) is observable, if and only if the dual pair (A^{⊤}, C^{⊤}) is reachable. By assumption, the pair (A, C) is observable, and therefore the pair (A^{⊤}, C^{⊤}) is reachable. Therefore, we can solve the pole placement problem for the dual pair (A^{⊤}, C^{⊤}), that is, for any set of prespecified n complex numbers, symmetric with respect to the real axis, there is a matrix, call it L^{⊤}, such that the eigenvalues of A^{⊤} − C^{⊤}L^{⊤} and hence of A − LC are in the prespecified locations. It follows from the above that if the pair (A, C) is observable, then in addition to forcing theobservation error to converge to zero, we can also control its rate of convergence by appropriately selecting the eigenvalues of the matrix A − LC. We also note that the selection of the closed-loop observer gain matrix L can be approached in exactly the same fashion as the construction of the gain matrix K in the linear state-feedback control law design. We illustrate the above point with a numerical example.

Example 1 For the given observable pair

A = [ \begin{matrix}0 & 0 & 1 & 0 \\ 1 & 0 & 2 & 0 \\ 0 & 1 & 3 & 0 \\ 0 & 0 & −21 & 5 \end{matrix} ] , C = [ \begin{matrix}1 & 0 & 0 & 0 \\ 0 & 0 & 0 & 1 \end{matrix} ] ,

construct the matrix L ∈ ℝ^{4×2} so that the eigenvalues of A − LC are located at

{−2, −3 + j, −3 − j, −4}.

In our construction of the gain matrix L we use the observer companion form of the pair (A, C). Our goal then is to construct a matrix L so that the characteristic polynomial of the matrix A − LC is

det(sI_{4} − A + LC) = s^{4} + 12s^{3} + 54s^{2} + 108s + 80.

Using the observer form of the pair (A, C), we select L̂ so that

Â − L̂Ĉ = [ \begin{matrix}0 & 0 & 0 & −80 \\ 1 & 0 & 0 & −108 \\ 0 & 1 & 0 & −54 \\ 0 & 0 & 1 & −12 \end{matrix} ] .

We have

L̂ = [ \begin{matrix}1681 & 80 \\ 2270 & 108 \\ 1137 & 54 \\ 251 & 17 \end{matrix} ] ,

and hence

L = T̂^{T} L̂ = [ \begin{matrix}1137 & 54 \\ 3955 & 188 \\ 5681 & 270 \\ −23626 & −1117 \end{matrix} ] .

We note that there are other possible gain matrices L that could be used to allocate the eigenvalues of A − LC into desired locations.

We now present an alternative approach to the closed-loop observer design. We assume that the dynamics of an estimator are given by

ż(t) = Dz(t) + Eu(t) + Gy(t),  (1)

where z(t) ∈ ℝ^{n}. To begin with the development, suppose that we would like to obtain

z = T x, where T ∈ ℝ^{n×n} is invertible. Premultiplying ẋ(t) = Ax(t) + Bu(t) by T yields

T ẋ(t) = T Ax(t) + T Bu(t).  (2)

Substituting into (1) the relation y(t) = Cx(t) gives

ż(t) = Dz(t) + Eu(t) + GCx(t).  (3)

Subtracting (3) from (2) and taking into account that z = T x and ż = T ẋ yields

0 = (T A − DT − GC) x(t) + (T B − E) u(t)

for all t and for arbitrary input u. Hence, we must have

T A − DT = GC
E = T B.

If z ≠ T x, but the two above equations hold, then subtracting (2) from (3) and taking into account the above relations yields

\frac{d}{dt} (z − T x) = Dz − T Ax + GCx
= Dz − DT x
= D (z − T x) .

If the eigenvalues of D all have negative real parts, then

z − T x → 0 as t → ∞.

Note that if we try T = I_{n}, then we have the previously analyzed case, where G = L, and

E = B,
A − LC = D.

The resulting observer, when T = I_{n}, was called the identity observer by its developer Luenberger [3, 4]. Given the desired eigenvalues, symmetric with respect to the real axis, the equation A − LC = D can be solved for L so that the resulting D has its eigenvalues in the desired locations, if and only if the pair (A, C) is observable. However, it is not true that given an arbitrary D we can solve for L so that A − LC = D even if the pair (A, C) is observable.

Figure 3: Closed-loop system driven by the combined controller-observer compensator.

2 Combined Controller-Observer Compensator

We combine a control law with a full-order estimator. We write the equations that govern the behavior of the dynamic system consisting of the plant model and the full-order estimator. The resulting system’s order is 2n, and the equations that describe the system are

\begin{matrix}[ \begin{matrix}ẋ(t) \\ ˙x̃(t) \end{matrix} ] & = & [ \begin{matrix}A & O \\ LC & A − LC \end{matrix} ] [ \begin{matrix}x(t) \\ x̃(t) \end{matrix} ] + [ \begin{matrix}B \\ B \end{matrix} ] u(t) \\ y(t) & = & [ C O ] [ \begin{matrix}x(t) \\ x̃(t) \end{matrix} ] \end{matrix} \}  (4)

Suppose that we now apply the control law

u(t) = −Kx̃(t) + v(t)  (5)

instead of the actual state-feedback control law. In the above, the vector v denotes an external input signal. A schematic of a closed-loop system driven by the combined controllerestimator compensator is shown in Figure 3. A model of the closed-loop system is obtained by combining equations (4) and (5),

[ \begin{matrix}ẋ(t) \\ ˙x̃(t) \end{matrix} ] = [ \begin{matrix}A & −BK \\ LC & A − LC − BK \end{matrix} ] [ \begin{matrix}x(t) \\ x̃(t) \end{matrix} ] + [ \begin{matrix}B \\ B \end{matrix} ] v(t)
y(t) = [ C O ] [ \begin{matrix}x(t) \\ x̃(t) \end{matrix} ] .

To analyze the above closed-loop system, it is convenient to perform a change of state variables using the following transformation

[ \begin{matrix}x \\ x − x̃ \end{matrix} ] = [ \begin{matrix}I_{n} & O \\ I_{n} & −I_{n} \end{matrix} ] [ x ; x̃ ] .

Note that

[ \begin{matrix}I_{n} & O \\ I_{n} & −I_{n} \end{matrix} ]^{−1} = [ \begin{matrix}I_{n} & O \\ I_{n} & −I_{n} \end{matrix} ] .

In the new coordinates the equations describing the closed-loop system are

[ \begin{matrix}ẋ(t) \\ ẋ(t) − ˙ x̃(t) \end{matrix} ] = [ \begin{matrix}A − BK & BK \\ O & A − LC \end{matrix} ] [ \begin{matrix}x(t) \\ x(t) − x̃(t) \end{matrix} ] + [ \begin{matrix}B \\ O \end{matrix} ] v(t)
y(t) = [ C O ] [ \begin{matrix}x(t) \\ x(t) − x̃(t) \end{matrix} ] .

Note that in the above system the subsystem corresponding to the error component e(t) = x(t) − x̃(t) is uncontrollable. Furthermore, the 2n poles of the closed-loop system are equal to the individual eigenvalues of both A − BK and A − LC, which means that the design of the control law is separated from the construction of the observer. This is what is known as the separation principle. The closed-loop transfer function relating Y (s) and V (s) is

Y (s) = [ C O ] [ \begin{matrix}sI_{n} − A + BK & −BK \\ O & sI_{n} − A + LC \end{matrix} ]^{−1} [ \begin{matrix}B \\ O \end{matrix} ] V (s)
= C (sI_{n} − A + BK)^{−1} BV (s).

The above expression is identical to that for the closed-loop system if we applied the statefeedback control law u(t) = −Kx(t) + v(t). Thus, the combined controller-observer compensator yields the same closed-loop transfer function as the actual state-feedback control law.

We now briefly discuss the issue of the observer pole selection. Franklin, Powell, and Emami-Naeini [2, page 552] recommend that the real parts of the observer poles, that is, the real parts of the eigenvalues of the matrix A − LC, be a factor of 2 to 6 times deeper in the open left-half plane than the real parts of the controller poles which are the eigenvalues of the matrix A − BK. Such a choice ensures a faster decay of the observation error e(t) = x(t) − x̃(t) compared with the desired controller dynamics. This in turn causes the controller poles to dominate the closed-loop system response. Because the observer poles represent a measure of the speed with which the error e(t) = x(t) − x̃(t) decays to zero, one would tend to assign the observer poles deep in the left-hand plane. However, fast decay requires large gains which may lead to saturation of some signals and unpredictable nonlinear effects. If the observer poles were slower than the controller poles, the closedloop system response would be dominated by the observer, which is undesirable. As it is usual in engineering practice, the term compromise can be used to describe the process of constructing the final compensator structure.

Example 2 Consider a schematic of an armature-controlled DC motor system, shown in Figure 4, where the system parameters are: R_{a} = 5 Ω, L_{a} = 200 mH, K_{b} = 0.1 V/rad/sec, K_{i} = 0.1 Nm/A, the gear ratio N_{1}/N_{2} = 1/50. The armature inertia is I_{armature} = 2 × 10^{−3} kg·m^{2}. The load of 10 kg is located at an effective radius of 0.2 m. The gear inertia and friction are negligible.

We first construct the state space model of the DC motor system. We start with writing the equation relating torque to angular acceleration,

T_{m} = I_{eq}θ̈,  (6)

where

I_{eq} = I_{armature} + (N_{1}/N_{2})^{2} I_{l}
= 2 × 10^{−3} kg·m^{2} + (1/50)^{2} × 10 × (0.2)^{2} kg·m^{2}
= 2.16 × 10^{−3} kg·m^{2}.

Kirchhoff’s voltage law applied to the armature circuit gives

R_{a}i_{a} + L_{a} \frac{di_{a}}{dt} + e_{b} = e_{a},

where e_{b} = K_{b} \frac{dθ}{dt}. The equation for the developed torque is

T_{m} = K_{i}i_{a}.  (7)

Figure 4: Schematic of an armature-controlled DC motor system of Example 2. Combining (6) and (7) gives

θ̈ = \frac{K_{i}}{I_{eq}} i_{a}.

Let x_{1} = i_{a}, x_{2} = θ, x_{3} = θ̇ = ω, u = e_{a}, and y = θ_{l}. Taking into account the definition of the state variables, we represent the above modeling equations in state-space format,

[ ẋ_{1} ; ẋ_{2} ; ẋ_{3} ] = [ \begin{matrix}−\frac{R_{a}}{L_{a}} & 0 & −\frac{K_{b}}{L_{a}} \\ 0 & 0 & 1 \\ \frac{K_{i}}{I_{eq}} & 0 & 0 \end{matrix} ] [ \begin{matrix}x_{1} \\ x_{2} \\ x_{3} \end{matrix} ] + [ \frac{1}{L_{a}} ; 0 ; 0 ] u
y = [ 0 \frac{N_{1}}{N_{2}} 0 ] [ \begin{matrix}x_{1} \\ x_{2} \\ x_{3} \end{matrix} ] .

Substituting the given parameter values, we get

[ ẋ_{1} ; ẋ_{2} ; ẋ_{3} ] = [ \begin{matrix}−25 & 0 & −0.5 \\ 0 & 0 & 1 \\ 46.296 & 0 & 0 \end{matrix} ] [ \begin{matrix}x_{1} \\ x_{2} \\ x_{3} \end{matrix} ] + [ \begin{matrix}5 \\ 0 \\ 0 \end{matrix} ] u = Ax + bu
y = [ 0 0.02 0 ] [ \begin{matrix}x_{1} \\ x_{2} \\ x_{3} \end{matrix} ] = cx.

Our next step is to design a state-feedback controller u = −kx+v, such that the eigenvalues of A − bk are

−1 + j, −1 − j, −10.

To allocate the poles into the desired locations, we first transform the system model into the controller form. We first form the controllability matrix

[ b Ab A^{2}b ] = [ \begin{matrix}5 & −125 & 3009.3 \\ 0 & 0 & 231.5 \\ 0 & 231.5 & −5787 \end{matrix} ] .

The system is controllable. The last row of the inverse of the controllability matrix is

q_{1} = [ 0 0.0043 0 ] ,

and hence the transformation matrix we are seeking has the form

T = [ \begin{matrix}q & 1 \\ q & 1 & A \\ q & 1 & A & 2 \end{matrix} ] = [ \begin{matrix}0 & 0.0043 & 0 \\ 0 & 0 & 0.0043 \\ 0.2 & 0 & 0 \end{matrix} ] .

The system’s matrices in the new coordinates are

Ã = T AT^{−1} = [ \begin{matrix}0 & 1 & 0 \\ 0 & 0 & 1 \\ 0 & −23.148 & −25 \end{matrix} ] ,

b̃ = T b = [ \begin{matrix}0 \\ 0 \\ 1 \end{matrix} ] ,

and

c̃ = cT^{−1} = [ 4.63 0 0 ] .

The desired closed-loop characteristic polynomial α_{c}(s) is

α_{s}(s) = (s + 1 − j)(s + 1 + j)(s + 10) = s^{3} + 12s^{2} + 22s + 20.

We now find k̃ so that

Ã − b̃k̃ = [ \begin{matrix}0 & 1 & 0 \\ 0 & 0 & 1 \\ −20 & −22 & −12 \end{matrix} ] .

Figure 5: Step response of the closed-loop DC motor system with state feedback.

We have

k̃ = [ 20 −1.148 −13 ] ,

and

k = k̃T = [ −2.6 0.0864 −0.005 ] .

Hence,

A − bk = [ \begin{matrix}−12 & −0.432 & −0.4752 \\ 0 & 0 & 1 \\ 46.294 & 0 & 0 \end{matrix} ] .

The transfer function of the closed-loop system is

\frac{L(y(t))}{L(v(t))} = \frac{Y (s)}{V (s)} = c (sI − A + bk)^{−1} b = \frac{4.6296}{s^{3} + 12s^{2} + 22s + 20}.

The unit-step response of the closed-loop system is shown in Figure 5.

Next, we design an observer placing its poles at {−4, −5+2j, −5−2j}, and then synthesize the combined controller-observer compensator. To compute the observer gain vector l, we first transform the pair (A, c) into the observer form. This is equivalent to transforming the pair (A^{⊤}, c^{⊤}) into the controller companion form. The transformation matrix that brings the pair (A, c) into its observer form is

Q̂ = T̂^{⊤} = [ \begin{matrix}1.1 & −27 & 650 \\ 0 & 0 & 50 \\ 0 & 50 & −1250 \end{matrix} ] .

The matrices A and c in the new coordinates have the form:

Â = Q̂^{−1}AQ̂ = [ \begin{matrix}0 & 0 & 0 \\ 1 & 0 & −23.1481 \\ 0 & 1 & −25 \end{matrix} ] and ĉ = cQ̂ = [ 0 0 1 ] .

The desired characteristic polynomial of the observer is

det (I_{3} − A + lc) = (s + 4)(s + 5 − 2j)(s + 5 + 2j) = s^{3} + 14s^{2} + 69s + 116.

We now find l̂ so that

Â − l̂ĉ = [ \begin{matrix}0 & 0 & −116 \\ 1 & 0 & −69 \\ 0 & 1 & −14 \end{matrix} ] .

We have

l̂ = [ \begin{matrix}116 \\ 45.8519 \\ −11 \end{matrix} ] and therefore l = Q̂l̂ = [ \begin{matrix}−8263 \\ −550 \\ 16043 \end{matrix} ] .

The dynamics of the observer are given by

˙x̃ = (A − lc)x̃ + bu + ly,

that is,

˙x̃ = [ \begin{matrix}−25 & 165.2544 & −0.5 \\ 0 & 11 & 1 \\ 46.2963 & −320.8519 & 0 \end{matrix} ] x̃ + [ \begin{matrix}5 \\ 0 \\ 0 \end{matrix} ] u + [ \begin{matrix}−8263 \\ −550 \\ 16043 \end{matrix} ] y.

We connect the observer to the DC motor system, thus obtaining a closed-loop system with the combined controller-observer compensator in the loop as in Figure 3. In Figure 6, we show a plot of x_{1} and its estimate for the closed-loop system with the observer in the loop, where v = 0, x(0) = [ 1 0.2 −0.1 ]^{⊤}, and x̃(0) = 0.

Figure 6: A plot of x_{1} and its estimate versus time for the closed-loop system with the observer in the loop.

References

[1] G. F. Franklin and J. D. Powell. Digital Control of Dynamic Systems. Addison-Wesley Publishing Company, Reading, Massachusetts, 1980.

[2] G. F. Franklin, J. D. Powell, and A. Emami-Naeini. Feedback Control of Dynamic Systems. Prentice-Hall, Inc., Upper Saddle River, New Jersey 07458, fourth edition, 2002.

[3] D. G. Luenberger. Observers for multivariable systems. IEEE Transactions on Automatic Control, AC-11(2):190–197, April 1966.

[4] D. G. Luenberger. An introduction to observers. IEEE Transactions on Automatic Control, AC-16(6):596–602, December 1971.