Timedomain Control
Timedomain Control
In this chapter, we focus on linear systems in the time domain, an approach that has
advantages over the frequency-domain methods developed in the previous chapter.
First, time-domain methods are more general. As we saw in Section 2.2, we can treat in
the time domain both nonlinear systems and linear systems that are not time invariant.
In this chapter, we continue to focus on linear, time-invariant dynamics. Beginning in
Chapter 7, we will take advantage of the full power of state-space methods.
Second, time-domain dynamics introduce the useful distinction between observable
quantities and the internal state of the system. By contrast, the frequency-domain
formalism of Chapter 3 deals explicitly with inputs and outputs but is vague about the
structure “within the black box.” By formalizing more carefully the notion of a system,
we will acquire tools that will tell us when control is possible and when it is destined
to fail. We will also see that handling multiple inputs and outputs (MIMO systems)
is very natural in the time domain, and the linear-algebra formalism is well adapted
to computer calculations. Later, in Chapter 7, we will develop the topic of optimal
control, a systematic way to design controllers that is best formulated using the state-
space formalism of the time domain. With the state-space formalism, we will see that
we can design controllers that take complete advantage of our knowledge of the system
dynamics. By contrast, frequency-domain techniques such as loop shaping lead to
heuristic design principles (e.g., choosing loop gains at high and low frequencies) but
not a systematic way of designing a controller.
If there are advantages to working in the time domain and using the state-vector
formalism, there are also drawbacks: Methods based on linear algebra and state space
are less intuitive and more abstract. While well-adapted to computer calculations, they
require such calculations for all but the simplest examples. Hopefully, the intuition
developed in Chapter 3 for frequency-domain methods will make the time-domain
formalism easier to digest. A more serious drawback is that time-domain methods
tend to be more sensitive to modeling errors in the dynamics. In Chapter 9 (Robust
Control), we address this problem.
We begin, in Section 4.1, by asking whether control of a given system is possible.
More precisely, for a specified system dynamics and specified set of inputs, can we
drive the system from one state to another in finite time? Conversely, given a system
and its observations, can we infer the underlying state? We then go on to decompose
the control problem into two tasks: The first develops control algorithms assuming
that the full state vector is available to the controller (Section 4.2). The second provides
129
a way to convert a time series of past observations into estimates of the full state vector
(Section 4.3).
By Laplace transforming Eq. (4.2) and neglecting the initial condition, we can go from
the time domain to the frequency domain, with the transfer function G(s) given by
G(s) = C(sI − A)−1 B , (4.4)
with I the n × n identity matrix. We can also start from a transfer function and derive a
state-space representation such as Eq. (2.59). Recall from Section 2.4.3 that changing
coordinates, x = Tx, with T an n × n invertible matrix, leads to the same trans-
fer function and dynamics. There are an infinite number of equivalent state-space
representations.
Implementing feedback in the state-vector formalism amounts to choosing the con-
trol input u(t). The “obvious” choice u = u[y(t)] is known as output feedback. Yet a
less-obvious, two-step process has advantages: First, we assume that from the present
t Fig. 4.1 Schematic block diagrams illustrating how B and C couple the input and output of a SISO system to the intrinsic
dynamics given by A.
and past values of the observations y(t), we can somehow infer an estimate x̂(t) of the
state vector x(t). Then we construct a feedback scheme base on u[ x̂(t)]. This two-step
process is termed state feedback. Its conceptual advantages will compensate the extra
complexity.
One difference between the state-space and frequency-domain representations is
that, in state space, we work with an n-dimensional state vector, whereas in the fre-
quency domain, the input and output, in a SISO system, are scalars. Now, if the
ability to generate a single input u(t) lets you access, or “control” all n elements of the
state vector, then the system is controllable. Likewise, if the time series history from
a single output y(t) gives information about the n-dimensional vector x, the system is
observable. A failure of either condition implies that the input and output connections,
illustrated in Figure 4.1, are incomplete and limit the ability to control the system, as
we now will discuss.
4.1.1 Controllability
We begin by defining the notion of controllability of a dynamical system:
Controllable system: For every initial state x0 and final state xτ , there exists a time τ
and control u(t) such that x(0) = x0 and x(τ) = xτ .1
The notion of controllability depends only on the (feedforward) input u(t) and state
x(t) and is independent of the output y(t) and its coupling C. Note that a single u(t)
must control all n states. Here are some simple examples.
Example 4.1 Consider the first-order system ẋ = −λx + u(t). Notice that we can
“invert” the dynamics: A desired trajectory xd (t) is produced by u(t) = ẋd (t) +
λxd (t). To show controllability, we design a trajectory that satisfies xd (0) = x0 and
xd (τ) = xτ . The ability to control a trajectory in state space is a much stronger claim
than controllability. For example, the family of trajectories xd = tn all satisfy x(0) = 0
and x(1) = 1 and can be generated by u(t) = ntn−1 + λtn . See right, for λ = τ = 1 and
n = 1, 2 (solid lines are xd = t, t2 , dashed are the corresponding inputs u). The ability
to control a state trajectory is the exception, not the rule, and many systems are con-
trollable in the technical sense defined here, even when arbitrary trajectories are not
possible (Problem 4.2).
Example 4.2
ẋ1 −λ1 0 x1 1 ẋ1 = −λ1 x1 +u,
= + u(t) , or . (4.5)
ẋ2 0 −λ2 x2 0 ẋ2 = −λ2 x2 ,
Since x2 is completely unaffected by u, the system is not controllable.
1 The time required for control, τ, in general depends on the initial and final states, x0 and xτ . For linear
systems, it is always possible to find a control for any τ, for any initial and final states. See Problem 7.9.
Another category of systems that are not controllable consists of systems where one
input drives identical subsystems with identical coupling, as illustrated at left.
Example 4.3
ẋ1 −λ 0 x1 1 ẋ1 = −λx1 + u ,
= + u(t) , or (4.6)
ẋ2 0 −λ x2 1 ẋ2 = −λx2 + u ,
Since the two identical systems are driven by two identical inputs, we cannot indepen-
dently control the two states. The system is not controllable.
Example 4.4 Determining controllability in Examples 4.2 and 4.3 was fairly obvious,
but just looking at the equations is usually not enough. For example, consider
ẋ1 −λ1 0 x1 1 ẋ1 = −λ1 x1 + u ,
= + u(t) , or (4.7)
ẋ2 0 −λ2 x2 1 ẋ2 = −λ2 x2 + u ,
The only change relative to Example 4.3 is that the λ’s are now different. We still feed
the same input to each independent system. In Problem 4.1, you will find an input u(t)
that demonstrates explicitly that this system is controllable for λ1 λ2 .
Controllability over a time interval [0, τ] is equivalent to the invertibility of P(τ), and
controllability for all time is equivalent to asking that the symmetric, positive, semidef-
inite P∞ ≡ P(τ = ∞) be invertible. Of course, A must be stable, if we are to integrate
to t = ∞.
Although informative, Gramian matrices can be hard to compute. One trick is to
show that P∞ obeys the Lyapunov equation, AP∞ + P∞ AT = −BBT , which is often
easier to solve than integrating Eq. (4.8). See Problem 2.14.
Gramian matrices have other applications, as well. In Chapter 7 (Problem 7.9),
τ see that the control u(t) = B e
we will T AT (τ−t)
P−1 (τ) xτ minimizes the control effort
E = 0 dt u (t) to move a system between x(0) = 0 and x(τ) = xτ . We see a direct link
2
between the invertibility of P(τ) and the explicit expression for the required control
u(t). In Chapter 6, we will see that Gramians can also be used to obtain reduced
dynamical systems of fewer states that accurately approximate the motion of the full
dynamics.
There is a test for controllability that is even easier than solving the Lyapunov equa-
tion. From the Cayley–Hamilton theorem (see Appendix A.1.6 online), we recall that
a matrix A obeys its own characteristic equation; as a consequence, An can be writ-
ten as a linear combination of lower powers of A. Likewise, we can express e At as an
n-element power series, giving
(
n−1
ximp (t) = e At B = α j (t) A j B . (4.9)
j=0
The α j (t) are the expansion coefficients at time t and are not, in general, ∼ t j .
Since controllability requires the impulse response function to span the full
n-dimensional state space, the system will be controllable for any τ if the set of n vec-
tors B, AB, A2 B, . . . An−1 B are linearly independent. To check the linear independence
of n column vectors, we form W c , the n × n controllability matrix:3
Wc ≡ B AB A2 B · · · An−1 B . (4.10)
and det W c = 0.
Examples 4.3 and 4.4:
A linear system { A, B} is controllable if and only if the matrix W c has full rank.
While the Kalman rank condition is straightforward for simple systems, it can be
hard to apply to high-dimensional systems with many inputs. See Chapter 14.
Controllability in Practice
Having tried to convince you that the notion of controllability is important, let me
point out ways in which it is not as important as you might hope.
1. Too large a control input may be required. Any transition in finite time between
any two states should be possible, no matter how far apart they are. But the control
t
signal that is required will eventually exceed the possible limits of the input signal.
2. Control trajectories are often nonlocal: moving the system an arbitrarily small
distance “against the flow” can require trajectories of finite length. See left and
Problem 4.3. The nonlocality of control trajectories can alter the controllability
of nonlinear systems (Chapter 11), because even though x0 and xτ may be close
enough that the same local linearization governs both states, the intermediate tra-
jectory may venture into a part of phase space where the linearization is completely
different. In such a case, the controllability of a nonlinear system can differ from
that of the linear approximation that holds near the start and end points.
3. The notion of controllability does not imply that you can make a system follow a
prescribed path from x0 to xτ . All that we have argued is that we can somehow
get the system from x0 to xτ . In Problem 4.2, we consider the converse problem
of finding a set of controls u(t) given a prescribed path x(t) for the state vector. As
illustrated at left, many paths x(t), each with its own input u(t), can connect two
points at t = 0 and τ.
4. Similarly, even though we can achieve a start xτ at time τ, we may not be able to
hold that state indefinitely. Reaching a state and holding it are two different tasks.
5. In a linear system, inputs have infinite range. If inputs have finite range, as they
always do, the system is nonlinear. We will explore the consequences in more detail
in Chapter 11, but clearly, the set of controllable states will be reduced. For example,
a space ship obeying Newtonian dynamics can go from point A to point B in a time
τ by accelerating for 12 τ and decelerating for the second half. If the space ship
cannot accelerate enough, the state will not be reachable in time τ.
6. Finally, you may not care about all the states. If so, then it is immaterial whether the
whole system is controllable, as long as the subspace you care about is controllable.
In short, controllability – of the subspace you care about – is necessary but not
sufficient to achieve typical performance goals.
4.1.2 Observability
Controllability asks whether an input u “couples to” the entire state vector x. Observ-
ability asks whether the output y couples to the state vector. The two notions are
closely related.
Consider the case of a single output, y = Cx, and no input. Can the n-element state
vector x be inferred from its observations y(t)? More precisely, a system is observable
if one can determine the state x(τ) given measurements y(t) over the interval (0, τ).
For linear, time-invariant dynamics, ẋ = Ax and y = Cx. Recall that A is an n × n
matrix and C is an 1 × n row vector. At first glance, it would seem impossible to infer x
from y. After all, x has n quantities, while y just has 1. However, we observe y over an
interval of time, which gives information on the time derivatives of y(t). For example,
from y = Cx, we have ẏ = C ẋ = C Ax. Differentiating again gives ÿ = C A ẋ = C A2 x.
We can stop at the n − 1 derivative of y(t) because the Cayley–Hamilton theorem tells
us we can always express a higher power of A in terms of lower powers. Putting this
all together,
⎛ ⎞ ⎛ ⎞
⎜⎜⎜ y ⎟⎟⎟ ⎜⎜⎜ C ⎟⎟⎟
⎜⎜⎜ ⎟⎟⎟ ⎜⎜⎜ ⎟
⎜⎜⎜ ẏ ⎟⎟⎟ ⎜⎜⎜ C A ⎟⎟⎟⎟⎟
⎜⎜⎜⎜ ÿ ⎟⎟⎟⎟ ⎜⎜⎜⎜ C A2 ⎟⎟⎟⎟
⎜⎜⎜ ⎟=⎜ ⎟ x ≡ Wo x , (4.13)
⎜⎜⎜ .. ⎟⎟⎟⎟⎟ ⎜⎜⎜⎜⎜ .. ⎟⎟⎟⎟⎟
⎜⎜⎜ . ⎟⎟⎟ ⎜⎜⎜ . ⎟⎟⎟
⎝ (n−1) ⎠ ⎝ n−1 ⎠
y CA
where the n × n observability matrix W o has n row vectors formed by C, C A, and so
on. Formally, Y = W o x, with Y the vector of y and its n − 1 derivatives. Thus, if we
know Y(t), then inverting W o gives us x(t). Generalizing to p outputs, the matrix W o
becomes rectangular (pn × n), and the condition for observability – the ability to solve
Y = W o x for x – becomes the same as we saw for controllability: W o must have rank n
(full rank).
Do we know Y(t)? Well, we can always estimate a derivative from multiple
observations using finite differences. For example,
dy y(t) − y(t − Δt)
≈ , (4.14)
dt Δt
which can be applied repeatedly to get an estimate of any order of derivative we want.
Since Δt is arbitrary, we need to know y(t) in a small, finite interval about t. This
gives a poor estimate, as finite differencing amplifies noise, a situation that becomes
worse with each higher derivative. Still, the question here is one of principle, not
practice. In Section 4.3, we will discuss a better way to recover the state x from noisy
observations y(t).
Finally, adding a known input u(t) does not alter observability, as u(t) merely
changes the state x(t) relative to its natural evolution without the input. Since we
have proven that we can observe any state x, it does not matter whether an input was
used to produce it or an initial condition. The issue is always how x couples to the
output y. To summarize,
ẋ1 1 0 x1 x1
= , y= 1 0 . (4.15)
ẋ2 0 −1 x2 x2
Since knowing y tells nothing about x2 , we do not have an observable system. What if
we had only the x1 equation? This system would be observable, albeit unstable: ẋ1 = x1 ,
y = x1 . Clearly, knowing y(t) we know x1 (t). Thus, the system defined in Eq. (4.15) is
not observable, although the subspace spanned by x1 is.
ẍ + x = 0 y = x, (4.16)
ẋ1 0 1 x1 x1
= , y= 1 0 . (4.17)
ẋ2 −1 0 x2 x2
Then
0 1 C 1 0
CA = 1 0 = 0 1 =⇒ Wo = = , (4.18)
−1 0 CA 0 1
ẋ1 −λ 0 x1 x1 C 1 1
= , y= 1 1 . =⇒ W o = = . (4.19)
ẋ2 0 −λ x2 x2 CA −λ −λ
The observability matrix W o is clearly not invertible. If the individual systems were
different (e.g., λ2 λ1 ), then det W o 0, and the system would be observable.
ẋ = − AT x − CT u , y = BT x , (4.20)
A ↔ AT , B ↔ CT , t ↔ τ−t. (4.21)
To understand the time reversal, note that the u(t) affects a state at future times,
whereas the output y(t) is determined by the past states x(t). As Shannon observed
long ago, the duality between forward and time-reversed dynamics is fundamental:
“We may have knowledge of the past but cannot control it; we may control the future
but have no knowledge of it.” Putting it more pithily:
We can know the past but not control it; we can control the future but do not
know it.
To be observable, Q(τ) must be invertible. We thus have two tests for observability.
They are analogous to the two tests for controllability discussed above.
Kalman Decomposition
Since controllability and observability are independent properties, it is clear that there
are four cases. A system may be
Indeed, Kalman showed that the general linear system may be decomposed into four
such subspaces. If the eigenvalues of the dynamical matrix A are all distinct, the
Kalman decomposition is straightforward:
⎛ ⎞ ⎛ ⎞⎛ ⎞ ⎛ ⎞ ⎛ ⎞
⎜⎜⎜ ẋco ⎟⎟⎟ ⎜⎜⎜Aco 0 0 0 ⎟⎟⎟⎜⎜⎜ xco ⎟⎟⎟ ⎜⎜⎜ Bco ⎟⎟⎟ ⎜⎜⎜ xco ⎟⎟⎟
⎜⎜⎜ ⎟⎟⎟ ⎜⎜⎜ ⎟⎟⎟⎜⎜⎜ ⎟⎟⎟ ⎜⎜⎜ ⎟⎟⎟ ⎜⎜⎜ ⎟⎟⎟
⎜⎜⎜ ẋco ⎟⎟⎟ ⎜⎜⎜ 0 Aco 0 0 ⎟⎟⎜⎜ xco ⎟⎟ ⎜⎜ Bco ⎟⎟ ⎜ xco ⎟
⎜⎜⎜⎜ ẋco ⎟⎟⎟⎟ = ⎜⎜⎜⎜ 0 ⎟⎟⎜⎜⎜ ⎟⎟⎟ + ⎜⎜⎜ ⎟⎟⎟u y = Cco 0 Cco 0 ⎜⎜⎜⎜⎜ ⎟⎟⎟⎟⎟,
⎟⎟ ⎜ ⎟ ⎜ ⎟ (4.23)
⎜⎝ ⎟⎠ ⎜⎝ 0 Aco 0 ⎟⎟⎠⎜⎜⎝ co ⎟⎟⎠ ⎜⎜⎝ ⎟⎟⎠
x 0 ⎜⎜⎝ xco ⎟⎟⎠
ẋco 0 0 0 Aco xco 0 xco
where the subscripts c and c represent controllable and uncontrollable, and so on.
The important point is that the transfer function G(s) represents just one of these
subspaces:
In general, the three other subspaces exist as well. If A has repeated eigenvalues,
then an analysis similar to that which leads to the Jordan canonical form of a matrix
adds some off-diagonal blocks to the representation of A given in Eq. (4.23).
where y(n) is the nth time derivative of y(t), and so on. Just as poles are the roots of
the transfer function denominator, a(s), zeros are the roots of the numerator, b(s).
In the time domain, we can define the zero dynamics as the dynamical equation
governing u(t):
The solutions u(t) to the zero dynamics of Eq. (4.26) are blocked from exciting the
dynamics of the output, y(t). Since the fundamental theorem of algebra allows us
to write b(s) as a product of real and complex roots, the set of blocked signals u(t)
consists of linear combinations of terms of the form ezt , where z is a root of b(s) =
∗
0. If z is complex, then ez t is also a solution: the roots come in complex-conjugate
pairs, since the bi are all real. We see, too, that the zero dynamics will be stable for
LHP zeros (real part in the LHP part of the complex plane) and unstable for RHP
zeros. These conclusions parallel our stability criteria for poles in characterizing the
dynamics of y(t).
−1 0 2
Example 4.8 Consider the linear system { A, B, C}, with A = 0 −2 , B = 3 , and
C = 1 − 1 . The transfer function representation is
1−s
G(s) = C(sI − A)−1 B = . (4.27)
(1 + s)(2 + s)
x1 et − e−t
x(t) = = t −2t =⇒ y(t) = x1 (t) − x2 (t) = e−2t − e−t . (4.28)
x2 e −e
In Eq. (4.28), the states x1 (t) and x2 (t) diverge in response to the diverging input, yet
y(t) does not diverge. The signal u(t) = et is blocked by the zero.
Finally, the observability and controllability matrices are W c = 32 −6 −2 and
1 −1 . Both are rank 2: Despite blocking u(t) = et , the system is controllable
W o = −1 2
and observable.
Example 4.9 (Pole-zero cancellation, two ways) We will look at the series connection of two
simple systems,
s−α 1
G1 (s) = and G2 (s) = (4.29)
(s − p)2 s−α
Can we cancel the pole in G2 at α by the zero in G1 ? We include the denominator of
(s − p)2 to keep the systems strictly proper. As always, it is tempting to say that
1
G1G2 = G2G1 = . (4.30)
(s − p)2
We know from Section 3.5.3 that there is more to the story: the cancellation neglects
initial conditions that are commonly discarded from the transfer function, not to
mention that in practice the zero will never exactly match the pole. Here, we look
at what happens in state space. First, we convert the two systems into the state-
space representation, using the canonical form given in Section 2.4.1. We find
(Problem 4.4.),
ẋ1 0 1 x1 0 x1
G1 (s) =⇒ = + u1 , y1 = −α 1
ẋ2 −p2 2p x2 1 x2 (4.31)
G2 (s) =⇒ ẋ = αx + u2 , y2 = x .
We can then form the series connection G1 (s)G2 (s) by taking the output y1 (t) from G1
and feeding it to the input u2 of G2 . The new system has three states and is given by
⎛ ⎞ ⎛ ⎞⎛ ⎞ ⎛ ⎞ ⎛ ⎞
⎜⎜⎜ ẋ1 ⎟⎟⎟ ⎜⎜⎜ 0 1 0 ⎟⎟⎟ ⎜⎜⎜ x1 ⎟⎟⎟ ⎜⎜⎜0⎟⎟⎟ ⎜⎜⎜ x1 ⎟⎟⎟
⎜⎜⎜ ⎟⎟⎟ ⎜⎜⎜ ⎟ ⎜ ⎟ ⎜ ⎟ ⎜ ⎟
G1 G2 =⇒ ⎜⎜⎜ ẋ2 ⎟⎟⎟ = ⎜⎜⎜ −p2 2p 0 ⎟⎟⎟⎟⎟ ⎜⎜⎜⎜⎜ x2 ⎟⎟⎟⎟⎟ + ⎜⎜⎜⎜⎜1⎟⎟⎟⎟⎟u1 , y2 = 0 0 1 ⎜⎜⎜⎜⎜ x2 ⎟⎟⎟⎟⎟. (4.32)
⎝ ⎠ ⎝ ⎠⎝ ⎠ ⎝ ⎠ ⎝ ⎠
ẋ3 −α 1 α x3 0 x3
Conversely, the series connection G2 (s)G1 (s) formed by taking the output y2 (t) from
G2 and feeding to the input u1 of G1 gives
⎛ ⎞ ⎛ ⎞⎛ ⎞ ⎛ ⎞ ⎛ ⎞
⎜⎜⎜ ẋ1 ⎟⎟⎟ ⎜⎜⎜ α 0 0 ⎟⎟⎟ ⎜⎜⎜ x1 ⎟⎟⎟ ⎜⎜⎜1⎟⎟⎟ ⎜⎜⎜ x1 ⎟⎟⎟
⎜ ⎟ ⎜ ⎟⎜ ⎟ ⎜ ⎟ ⎜ ⎟
G2 G1 =⇒ ⎜⎜⎜⎜⎜ ẋ2 ⎟⎟⎟⎟⎟ = ⎜⎜⎜⎜⎜ 0 0 1 ⎟⎟⎟⎟⎟ ⎜⎜⎜⎜⎜ x2 ⎟⎟⎟⎟⎟ + ⎜⎜⎜⎜⎜0⎟⎟⎟⎟⎟u2 , y1 = 0 −α 1 ⎜⎜⎜⎜⎜ x2 ⎟⎟⎟⎟⎟. (4.33)
⎝ ⎠ ⎝ ⎠ ⎝ ⎠ ⎝ ⎠ ⎝ ⎠
ẋ3 1 −p2 2p x3 0 x3
In Eqs. (4.32) and (4.33), the partitions are guides to show the structure of G1 and G2 ,
with 12 and 21 connections, respectively. We illustrate these connections at left.
The two systems given in Eqs. (4.32) and (4.33) have different state-space representa-
tions. Although you might think the differences are related to a similarity coordinate
transformation (Section 2.4.3), something else is going on. From the controllability
and observability matrices, the 12 connection is not controllable (but is observable)
while the 21 connection is not observable (but is controllable). The zero in G1 (s) blocks
signals (exponentials of the form eαt ) and severs the 12 connection between input and
dynamics, leading to a loss of controllability. The 21 connection severs the output
from the dynamics, leading to a loss of observability. Finally, the transfer function
Three pathologies of a dynamical system: lack of controllability, transmission zero, and lack of observability. Fig. 4.2
dimensional subspace that differs from the three-dimensional state spaces representing
G1G2 and G2G1 .
The conclusion that we can draw from Examples 4.8 and 4.9 and our previous dis-
cussion is that there are three closely related types of pathologies of dynamical systems,
as illustrated graphically in Figure 4.2. In Example 4.8, the block was due to a zero
in the transfer function. Such zeros are also known as transmission zeros. In Exam-
ple 4.9, the input could not reach all the modes of the dynamics (uncontrollable) in one
version and, in the other version, all the dynamical modes did not reach the output
(unobservable). All three cases share the common theme of a pathology in the connec-
tions between the outside world and the dynamical system, and all three issues can be
eliminated either by a physical rearrangement or by adding sensors and/or actuators.
A − sI B x0 st
e ≡ Mv0 e st = 0 , (4.35)
C 0 u0
where the four elements of the matrix M in Eq. (4.35) are themselves matrices. To have
a solution to Eq. (4.35) with nonzero x0 and u0 , the matrix M must have less than full
rank. Zeros occurs at values of s such that M loses rank, and, indeed, you can use
Eq. (4.35) to find zeros numerically in a MIMO system.
Here, we point out that M cannot lose rank if either B or C is of rank n (the number
of states). For if rank B = n, there are n independent rows in M, independent of any
On the other hand, with n actuators but fewer sensors, the system may not be
observable; and with n sensors but fewer actuators, the system may not be controllable.
What about our previous example in Eq. (3.97) where a MIMO system had zeros
even though no element Gi j (s) had an explicit zero? In that case, the 2 × 2 trans-
fer matrix had a four-dimensional state space, whereas there were two inputs and
two outputs. Thus, zeros are allowed (and were found). Here, we have proven
that four inputs or four outputs guarantee that there are no zeros. See also
Problem 4.5.
If a system is controllable, we can use a linear feedback law to modify the dynamics
arbitrarily by moving the eigenvalues of A [poles of G(s)] to arbitrary positions. The
strategy is equivalent to the pole-placement method discussed in the previous chapter
(Section 3.7.2), but the state-space formulation will give us better collective control
over the full set (“gang of 4”) transfer functions.
A linear feedback law is of the form u(t) = −Kx. For a SISO system, K is a 1 × n row
vector; for m inputs, K is an m×n matrix. Here, we focus on the SISO case: if the linear
system { A, B} (open-loop dynamics) is controllable, then the closed-loop dynamics
ẋ = ( A − BK) x ≡ A x (4.36)
will have n eigenvalues that can be chosen arbitrarily by choosing the n feedback
gains in the row vector K. One caveat is that if any eigenvalue of A is complex,
we must include its complex conjugate. Note that even if some eigenvalues are com-
plex, there are always n independent parameters in total: Each complex-conjugate pair
has an independent real and imaginary part and “takes up” two elements among the
eigenvalues.
We justify our claim by writing out the components of the system { A, B} in the
controller canonical form of Eq. (2.59),
⎛ ⎞ ⎛ ⎞
⎜⎜⎜ 0 1 0 ··· 0 0 ⎟⎟ ⎜⎜⎜0⎟⎟⎟
⎜⎜⎜ ⎟⎟⎟ ⎜⎜⎜ ⎟⎟⎟
⎜⎜⎜ 0 0 1 ··· 0 0 ⎟⎟ ⎟ ⎜⎜⎜0⎟⎟⎟
⎜⎜⎜⎜ .. .. .. .. .. ⎟⎟⎟⎟ ⎟ ⎜⎜⎜ . ⎟⎟⎟
A = ⎜⎜ .
⎜⎜⎜ . . . . ⎟⎟⎟ , B = ⎜⎜⎜⎜ .. ⎟⎟⎟⎟ . (4.37)
⎜⎜⎜ 0 ⎟⎟⎟ ⎜⎜⎜ ⎟⎟⎟
0 0 ··· 0 1 ⎟⎟ ⎟ ⎜ ⎟
⎜⎝⎜0⎟⎠⎟
⎝⎜ ⎠
−an −an−1 −an−2 · · · −a2 −a1 1
In the SISO case, the row vector K is multiplied as an exterior product with the column
vector B to form a n × n matrix,
⎛ ⎞
⎜⎜⎜ 0 · · · 0 ⎟⎟⎟
⎜⎜⎜ . .. ⎟⎟⎟⎟⎟
⎜⎜⎜ .
K = k1 k2 · · · kn =⇒ BK = ⎜⎜⎜⎜ . . ⎟⎟⎟ , (4.38)
⎜⎜⎜ 0 · · · 0 ⎟⎟⎟⎟⎟
⎜⎝ ⎟⎠
k1 · · · kn
and gives, for the closed-loop dynamics,
⎛ ⎞
⎜⎜⎜ 0 1 0 ··· 0 0 ⎟⎟⎟
⎜⎜⎜ ⎟⎟⎟
⎜⎜⎜ 0 0 1 ··· 0 0 ⎟⎟⎟
⎜⎜⎜ . . .. .. .. ⎟⎟⎟
A = ⎜⎜⎜ .. .. . . . ⎟⎟⎟ . (4.39)
⎜⎜⎜ ⎟⎟⎟
⎜⎜⎜ 0 0 0 ··· 0 1 ⎟⎟⎟
⎜⎝ ⎟⎠
−an − k1 −an−1 − k2 −an−2 − k3 ··· −a2 − kn−1 −a1 − kn
In Eq. (4.39), each element ki can be used to define an arbitrary new dynamical element
ai = ai + kn−i+1 . Thus, we can choose the eigenvalues of A arbitrarily, as claimed.
Then
0 k1 0 0 0 1
BK = = =⇒ A = A − BK = , (4.41)
1 !!k2 k1 k2 −1 − k1 −2ζ − k2
whose eigenvalues are given by
s −1
sI − A = = s + (2ζ + k2 )s + (1 + k1 ) = 0 .
2
(4.42)
1 + k1 s + 2ζ + k2
It is clear that choosing arbitrary values of k1 and k2 suffices to put the roots of s
anywhere. For example, to make a critically damped system with rate −2, we choose
repeated eigenvalues s = {−2, −2} (see left, for ζ = 0). Our desired characteristic
equation is
(s + 2)2 = s2 + 4s + 4 = 0 , (4.43)
which implies setting 4 − 2ζ = k2 and 1 + k1 = 4, or k1 = 3. Thus K = 3 4 − 2ζ .
If, more generally, we wanted repeated eigenvalues of s = {−a, −a}, the characteristic
equation would be s2 + 2as + a2 = 0 and K = a2 − 1 2(a − ζ) . Note how moving the
eigenvalues of A a greater distance requires a larger gain K and concomitant control
effort u. Mathematically, we can put the closed-loop eigenvalues anywhere we like, but
there are practical limits as to how much we can and should move them.
We can obtain these results in the frequency domain using the pole-placement
1+s2 1+s2
method. For G(s) = DNGG = 1+s 1
2 , we choose K(s) = (s+2)2 −N
DG
G
= (s+2)2 −1 = s2 +4s+3 ,
which gives a double pole at −2 for T (s). See left for a sketch.
Implicit in these rules are several approximations. The first is that most of the unin-
teresting modes decay quickly, leaving one (or a small number) of slower modes. The
second is that, in the case of several slow modes, the bandwidth remains approximately
4 We use the terms “poles” and “eigenvalues” interchangeably, whether we refer to A or G(s).
Robustness
The above procedure for placing eigenvalues of a closed-loop system starting from
{ A, B} has a serious weakness: If the system is not known precisely – and, really, it
never is – errors in the model for A and B lead to errors in the eigenvalues. Unfor-
tunately, those errors may be bigger than you might like. Chapter 9 deals with such
questions in detail. Here is just a hint of what can go wrong.
Consider the polynomial equation
That is quite a change in roots for such a small change in coefficient in the character-
istic equation! What this extraordinary sensitivity means in practice is that when you
calculate a feedback gain matrix K based on an experimentally determined A , the
closed-loop eigenvalues of A = A − BK may not be what you had planned for. Be
careful!
Fortunately, good numerical practices can help: if we regard G(s) = p(s)
1
as a transfer
function, its expansion in terms of partial fractions (Section A.4.4 online),
1 1 1 4 6 4 1
G(s) = = − + − + , (4.46)
p(s) 24 1 + s 2 + s 3 + s 4 + s 5 + s
gives dynamics that are robust to parameter perturbations: Perturbing any numerical
coefficient in Eq. (4.46) leads only to a proportional change in either the amplitude
or the time constant of one of the exponential decay modes, in sharp contrast to the
large, qualitative change in roots produced by the perturbation shown in Eq. (4.44).
Chapter 9 will offer a more sophisticated approach to achieving robustness. For
now, check that the dominant closed-loop roots match their expected values, and
remember that it is better numerically to write a high-order transfer function as a sum
of low-order systems, using partial fractions. Similarly, a high-order characteristic
polynomial is better specified by its roots than by its monomial coefficients.
Integral Feedback
Although integral feedback will stabilize an output y = r on its own, we will combine
it with feedforward, as we have seen before that the combination of feedback and
feedforward outperforms
t either technique alone. As before, we define a control action
proportional to 0 (r −y) dt . In state space, we need to define an extra state z that obeys
ż = y − r . (4.48)
u = −Kx − ki z + kr r , (4.50)
5 Strictly speaking, we should really treat our system as a MIMO system having two inputs, u and r. That
is, we should define u = ur and B = B0 −10 . However, it will be simpler to abuse our SISO notation
slightly.
where ki is the integral gain and kr the feedforward gain. The new dynamical system is
ẋ A − BK −Bki x Bkr
= + r, (4.51)
ż C 0 z −1
which has fixed points z = Cx − r = 0, or y = r. Note that the output converges to
y = r independent of the values of A, B, K, and C, and even kr , which means that
the closed-loop dynamics are much more robust than before. One pitfall is that the
closed-loop dynamics now depend on both K and ki , so that if you have designed a
feedback control based on K, you may need to reduce (and perhaps redesign) K to
compensate for the integral gain ki . We reached a similar conclusion in Section 3.3.2,
where going from proportional (P) control to proportional-integral (PI) control in the
frequency domain implied that the proportional gain usually must be reduced after
adding integral control.
Why use the feedforward term kr ? The closer the feedforward dynamics are to the
“correct” value, the better the feedback dynamics will perform. Unlike feedback, there
is no penalty in dynamical performance when using feedforward. Roughly, it pays to
use all available information about a system to form feedforward elements whenever
possible. Then feedback is used for the truly uncertain aspects such as disturbances.
This idea, along with other aspects of feedforward and feedback, is illustrated in
Example 4.11.
Thus, y does converge to ye = r. But notice how the output follows the input only for
these parameter values. Varying them – especially kr – leads to a different steady-state
value.
With the integral term ki > 0, the steady-state value equals r for all values of k, a,
and kr . But changing these parameters does change the closed-loop dynamics. By
contrast, the feedforward term kr does not change the closed-loop dynamics. At left,
we plot the response to a step in the reference r(t) = θ(t) for three cases:
Feedforward (FF):with incorrect gain kr = 1. (Half the correct value.) Although the
response is fast, the steady-state value is off by a factor of 2.
Integral feedback (IFB):ki = 1. Correct steady-state value but sluggish response.
Both (FF & IFB):feedforward, kr = 1, and integral feedback, ki = 1. Despite the
incorrect kr , the steady-state value is correct, and the response is faster.
For the state-vector control discussed in Section 4.2, we assume that the full n-
dimensional state vector x is observable and design a feedback law, u(x), accordingly.
However, we often have access to only a smaller number p < n of components y.
Indeed, here we assume that p = 1: only a single output y(t) is available. In such a
case, we can try to design a feedback law u(y) directly, output feedback, or go through
a more complicated, two-step procedure where we use present and past observations
to form an estimate x̂ of the state vector x and then use that estimate in a state-vector
control algorithm. Below, we will introduce a technique known as an observer to cal-
culate such an estimate. Schematically, y → x̂ → u( x̂). Although the procedure seems
more complicated – there are now two steps rather than one – we can use our familiar
state-vector control algorithms. If we were to base feedback directly on the output,
y → u(y), we would need new design techniques. The three approaches to feedback
are summarized in Table 4.1.
In Section 4.1.2, we showed that if a system is observable – if the observability matrix
W o has full rank – then estimating the state from observations is in principle possible.
Of course, if, in the output equation y = Cx, the matrix C happens to be square and
invertible, then we can trivially find the state vector as x = C−1 y. In such a case, the
number of observations equals the numbers of states. Most commonly, the number of
observations is less than the number of states, and inversion is not possible. Here, we
focus on the SISO case, where there is one observation y but n states x.
A naive strategy is to use finite differences to estimate the first n−1 time derivatives of
y(t). In effect, from one variable measured over time, we generate n independent obser-
vations (y and its derivatives). Knowing the time derivatives and the A and C matrices,
you can then solve Eq. (4.13) for the state vector x. However, this method does not
work well in practice, because estimating derivatives amplifies noise, a problem that
becomes worse with each higher derivative estimated.
A better strategy is to simulate a “shadow” dynamical system, the observer, that has
identical dynamics to the physical system and can synchronize to it. If so, then you can
simply use the observer’s synchronized state as an estimate for the physical state.
To construct a SISO observer, we try an exact copy of the physical system’s
dynamics,
⎫
ẋ = Ax + Bu⎪ ⎪
⎬
⎪
⎪ =⇒ ( ẋ − ẋˆ ) ≡ ė = Ae , (4.57)
ˆẋ = A x̂ + Bu⎭
where x is the true state of the system, x̂ is the estimate, which obeys the same dynamics
as the true system, and e is the error in the state. Note how the inputs, being identical
for both systems, drop out of the expression for the difference. Then, at long times, the
error decays exponentially to zero. One hidden assumption is that the equation for x̂
uses the “correct” A and B. In other words, the observer equation is really x̂˙ = Â x̂+ B̂u,
and we assume that somehow we know enough about the physical system that  ≈ A
and B̂ ≈ B. Not only must we estimate the state, we also have to estimate the dynamics.
Often, we can separate the two tasks: First, we learn the dynamics, for example by
taking preliminary measurements. Then, knowing the dynamics, we can track the
state x in real time. See in Chapter 6 how to estimate dynamics and in Chapter 9 the
consequences of  A.
Although the estimator given in Eq. (4.57) might seem satisfactory, it is not. If A
is unstable, the scheme obviously fails, as e(t) → ∞. Less obviously, even when A is
stable, the error converges to zero at a rate that is set by the slowest eigenvalue of A.
For brevity, we say that this rate “sets the time scale” of A. However, if the goal is
to use the estimate x̂(t) as an input for state-vector control, it must be accurate – the
estimate must have converged – at the time scale of the system dynamics. But that time
scale is also set by A. Thus, Eq. (4.57) would not be useful in practice: the estimator
and the dynamics are both at the time scale of A. We need estimates that are faster
than A.
4.3.1 Observers
The naive observer given above can be improved by adding feedback based on the
observations. If the observer is successful at tracking the dynamics, its output ŷ =
C x̂ should match the observed output y from the physical system. Any discrepancy
between the two can be used as a feedback signal to correct the estimate. Thus,
⎫
ẋ = Ax + Bu , y = Cx ⎪ ⎪
⎬
⎪ =⇒ ė = ( A − LC)e . (4.58)
x̂˙ = A x̂ + Bu + L (y − C x̂)⎪
⎭
The n element column vector L is a set of observer gains that can be chosen to make
the error dynamics A = A − LC as desired. In particular, we can choose the time scale
of A , its slowest eigenvalue, to be faster than the time scale of A. Of course, if A is
unstable, we should first make A stable. Beyond that, a rule of thumb is that A should
be 5–10 times faster than A. Any slower, and coupling with the system dynamics will
degrade the accuracy of the estimator. Any faster, and the noise injected into the
estimate by the feedback will degrade its accuracy. In Chapter 8, we will show how to
make a systematic optimization that balances these considerations more properly.
The estimator error dynamics in Eq. (4.58), A − LC, closely resembles Eq. (4.36) for
state vector control, A − BK. Indeed, the duality principle of Section 4.1.2,
A → AT , B → CT , K → LT , (4.59)
Assuming that the measurement noise is small, we would choose L to make A about
10 times faster than A. Since the time scale of A is set by |s| = | ± i| = 1, we would place
the eigenvalues of A at (−10, −10). Here, to visualize better the observer dynamics, we
slow down its dynamics by choosing (−2, −2). The eigenvalues of A = A − LC should
then be
4
(s + 2)2 = s2 + 4s + 4 = 0 =⇒ L= , (4.63)
3
where we find L by matching polynomial coefficients.
We illustrate this observer at right. Although the initial conditions of the physical
system and observer are very different, the observer synchronizes its state to track
the state of the physical system. Notice that the transient lasts a bit less than half an
oscillator period, as expected given that the observer dynamics are only twice as fast
as the system.
For the upper row of M, we note that the original term is −BK x̂ = −BK(x− e). Because
M is block triangular, its eigenvalues s are given by the roots of the characteristic
equation
det(sI − A + BK) det(sI − A + LC) = 0 . (4.66)
In other words, the characteristic equation of the combined system is the product of
two characteristic equations. One corresponds to the controller ( A − BK), the other
to the observer ( A − LC). Since the coupling term (upper-right element of M) does
not contribute, the eigenvalues are the same as for the separate problems. Because the
eigenvalue equations of the controller and observer decouple, the problem of designing
a controller and an observer can be divided into two separate problems that are solved
individually. This observation was formalized by Kalman as the separation principle:
The design of the observer and controller can done independently (separately).
Example 4.13 (Observer-based feedback for the harmonic oscillator) We illustrate the combined
observer-controller on the harmonic oscillator.
0 1 0
A= , B= C= 1 0 (4.70)
−1 0 1
We set
0 0 0
K = k1 k2 , BK = k1 k2 = (4.71)
1 k1 k2
1 0 −1 1
L= , LC = 1 1 0 = 1 A ≡ A − BK − LC = , (4.72)
2 2 2 0 −(1 + k1 + 2 ) −k2
which can be substituted into Eqs. (4.68). Problem 4.8 analyzes this controller,
focusing on the roles of the time constants for system dynamics, controller, and
observer.
ẋ = Ax + B(u + d) , y = Cx,
ẋd = Ad xd , d = Cd xd . (4.73)
d x A BCd x B x
= + u, y= C 0 . (4.74)
x
dt d 0 Ad xd 0 xd
Note that in this augmented system, we do not directly observe the disturbance d(t).
[Of course, you might have a way of measuring the disturbance independently, but
that situation is too easy. Here, we assume that we can sense the effects of the distur-
bance only through the measured variable y(t).] Nonetheless, in the technical sense of
Section 4.3.1, the combined system, Eq. (4.74), is observable, but not controllable:
C 0 B AB
Wo = , Wc = . (4.75)
C A CBCd 0 0
We see that W o can have full rank, since the columns are linearly independent, in
general. (Observability may fail in special cases, for unfortunate choices of system
matrices.) By contrast, W c does not have full rank, implying that the combined system
is not controllable. Thus, we cannot control a disturbance but can detect its influence
on other states.
Our control strategy is as follows: We create an observer to estimate the disturbance
state vector xd (and also the dynamical state x̂). Then we introduce the control law,
x̂
u = −K x̂ − d̂ = − K Cd . (4.76)
x̂d
The x̂ term is our usual term to control the dynamics of A. The x̂d term tries to “cancel
out” the disturbance d(t). The observer equations are
with separate observer gains L and Ld for the system and observer dynamics. Note
that we replace d by d̂ in the x̂ equation as we do not know d. Similarly, note in the
x̂d equation that the observer gain Ld , multiplies the measurement error (y − ŷ) rather
than the disturbance error (d − d̂ ). Using the latter would make designing a controller
simpler and the performance better, but that would be cheating: the whole point of this
exercise is that we do not know d(t). Thus, we have to make do with the measurement
errors alone.
Putting Eqs (4.74) and (4.77) for the state vectors and their estimates together, we
have
or
⎛ ⎞ ⎛ ⎞⎛ ⎞
⎜⎜⎜ x ⎟⎟⎟ ⎜⎜⎜ A − BK 0 BK BCd ⎟⎟⎟ ⎜⎜⎜ x ⎟⎟⎟
⎜ ⎟ ⎜ ⎟⎟⎟⎟ ⎜⎜⎜⎜ x ⎟⎟⎟⎟
d ⎜⎜⎜⎜ xd ⎟⎟⎟⎟ ⎜⎜⎜⎜ 0 Ad 0 0 ⎟⎟⎟ ⎜⎜⎜ d ⎟⎟⎟
⎜⎜⎜ ⎟⎟⎟ = ⎜⎜⎜ ⎟⎟⎟ ⎜⎜⎜e x ⎟⎟⎟ (4.81)
⎜
dt ⎜⎜ x ⎟⎟ ⎜⎜
e ⎟ ⎜ 0 0 A − LC BCd ⎟⎠ ⎜⎝ ⎟⎠
⎝ ⎠ ⎝
ed 0 0 −Ld C Ad ed
The dynamical matrix in Eq. (4.81) can be split into 2 × 2 blocks, as shown. We see
that the eigenvalues of A − BK and Az are independent of the error dynamics given
by the bottom right 2 × 2 block, implying that the separation principle – that you
can design the controller and observer separately – still holds. We can understand the
more complicated error dynamics by computing the transfer function Guy (s) between
the observations y(s), which function as the observer’s input, and the controller signal
u(s), which is the observer’s output. From Eqs. (4.76) and (4.77) and generalizing
The eigenvalues of M form the denominator of the transfer function and explicitly
contain sI − Ad , which is the model of the dynamical system that generates the dis-
turbance. We came to the same conclusion in Section 3.7.4 when we formulated the
internal model principle. In the more complicated analysis just given, we gain some
insight into the origin of the principle: we need the internal model to estimate the
disturbance. Once we have the disturbance estimate, we use it in the control input to
cancel the physical disturbance.
A similar analysis holds for tracking the reference trajectory, r(t). Since the refer-
ence, unlike a disturbance, generally is known, feedforward techniques should also be
used. One limitation of the internal model principle is that you have to know a fair
bit about the disturbance or reference. The precise claim is that the signals are gen-
erated by a known linear dynamical system, with the only unknown being the initial
condition. Thus, an unknown constant is generated by ẋd = 0, or Ad = 0; a periodic
disturbance of known frequency but unknown amplitude and phase is generated by
ẍd + ω2 xd = 0; and so on. In practice, we can use the internal model principle for
disturbances and references that obey known dynamics and random inputs (not just
initial conditions), as long as the inputs change at a rate that is slow compared to the
observer dynamics. In Chapter 8, we will discuss more systematic ways of including
the influence of random inputs.
Example 4.14 (Disturbance cancellation in 1d) The simplest case is 1d dynamics and a
constant disturbance:
ẋ = −x + u + d , y = x, A = −1 , B=C=1
d = const. ⇔ ẋd = 0 , d = xd , Ad = 0 , Cd = 1 (4.83)
u = −K x̂ − d̂ ,
Thus,
ẋ = −x − K x̂ − d̂ + d , x̂˙ = − x̂ − K x̂ + L(y − ŷ),
(4.84)
ẋd = 0 , x̂˙d = 0 + Ld (y − ŷ) .
Substituting y = x and ŷ = x̂, d̂ = x̂d , and plugging into Eqs. (4.79), we have
⎛ ⎞ ⎛ ⎞⎛ ⎞
⎜⎜⎜ x ⎟⎟⎟ ⎜⎜⎜−1 1 −K −1⎟⎟⎟ ⎜⎜⎜ x ⎟⎟⎟
⎜ ⎟ ⎜ ⎟⎜ ⎟
d ⎜⎜⎜⎜ xd ⎟⎟⎟⎟ ⎜⎜⎜⎜ 0 0 0 0 ⎟⎟⎟⎟ ⎜⎜⎜⎜ xd ⎟⎟⎟⎟
⎜⎜ ⎟⎟ = ⎜⎜ ⎟⎟ ⎜⎜ ⎟⎟ (4.85)
dt ⎜⎜⎜⎜ x̂ ⎟⎟⎟⎟ ⎜⎜⎜⎜ L 0 (−1 − K − L) 0 ⎟⎟⎟⎟ ⎜⎜⎜⎜ x̂ ⎟⎟⎟⎟
⎝ ⎠ ⎝ ⎠⎝ ⎠
x̂d Ld 0 −Ld 0 x̂d
4.4 Summary
In this chapter, we have explored basic ideas of control in the time domain, for linear,
time-invariant dynamics governed by state equations ẋ = Ax + Bu and y = Cx. Two
key concepts are controllability and observability. The Kalman rank condition states
that, for an n-dimensional state vector x, if the matrix W c = B AB · · · An−1 B has
rank n, then all n modes of the state space may be controlled by the inputs u. If the
rank is lower, then a lower-dimensional subspace can be controlled, with the other
modes unaffected by the input. Similarly, if the system is observable and W o has rank
n, then from the output signals y(t), you can infer the state vector x(t) even if, as is
usually the case, the number of measurements is fewer than the number of state-vector
elements.
If a system is controllable, then a linear control u = −Kx can alter the eigenvalues of
the dynamics matrix A as desired. But altering the dynamical modes requires control
effort, and the maximum range of the inputs u is limited. Thus, you should change as
few modes as possible: Unstable modes must be stabilized, and slow modes may need
to decay faster.
Observers are a technique to estimate the state vector, using a shadow dynamical sys-
tem that synchronizes to the physical system using feedback based on the discrepancy
between observed and predicted outputs. The observer design is dual to the control-
design problem. If a system is observable, the estimator dynamics can be set arbitrarily
by varying the observer gains. But when gains are too high, too much measurement
noise is injected into the system. Ideally, the observer dynamics should be faster than
the controller dynamics.
If a system is controllable, observable, and linear, then the separation principle
holds: the choice of controller gain does not affect the observer dynamics, and
vice versa. The dynamics of controller and observer are independent and may be
designed separately. A related idea, the certainty equivalence principle, holds that
the design of feedback is the same whether the true state or an unbiased estimate is
used.
As an example of state-space design, we considered the problem of disturbance rejec-
tion, where the goal is to keep the state vector near the origin when the system is
In this chapter, we have drawn often on presentations by Åström and Murray (2008),
Dutton et al. (1997), and Goodwin et al. (2001). For more details on the Kalman
decomposition, see (Åström and Murray, 2008). For controllability, see also Man-
neville (2004). A very thorough discussion of zeros in a state-space context is given by
MacFarlane and Karcanias (1976). Equation (4.44) is a simpler version of Wilkinson’s
polynomial (Wilkinson, 1959), which went up to 20th order. The sensitivities increase
with polynomial order. The presentation of the disturbance observer was adapted
from Goodwin et al. (2001).
Curiously, Shannon’s discussion of duality that we quote (Shannon, 1959) was
published just before Kalman’s 1960 paper, in a work concerned with information
theory rather than control. Although the basic picture we present of controllability,
observability, and duality dates to Kalman (1960b), the subject has taken on renewed
interest recently, particularly in the context of controlling complex networks that have
many states, inputs, and outputs. These recent developments will be discussed in
Chapter 14.
Problems
4.1 Controllability of nearly identical systems. Consider two first-order systems with
relaxation rates λ1 = 1 and λ2 = 2 that are driven by identical inputs (Eq. 4.7).
Find an input u(t) that takes the system from an initial state x0 = 00 to a final
1
state xτ = 1 , for τ = 1. Plot your solution. Hint: Try a step function with two
parameters.
4.2 Prescribing a path in state space. A system may be controllable, but that does not
mean we can make it follow a desired trajectory x(t) in state space.
a. Show that you cannot prescribe a path for the system defined in Example 4.4.
b. Consider the undamped oscillator with torque control, ẍ + x = u. Following
Example 4.1, find and plot u(t) that leads to the desired trajectory xd (t) =
0
dt e
tial state at t = 0, x0 , to the final state at τ of xτ . Here, Δx ≡ xτ − e Aτ x0 . See
also Problem 7.9.
c. Show the above formula gives u(t) = 0.126(t − 5) and moves an initial state
1 1
0 → −ε , with ε = 0.5 in a time τ = 10. Reproduce the plot at left.
s−2 0 1 0
G(s) = ⇐⇒ A= B= C = −2 1 .
(s − 1)2 −1 2 1
b 0 −2 1
Now consider a second input or output, by taking B = 01 or C = 0 c .
a. Keeping the original A and C, consider the new inputs B and show that the
1 × 2 transfer function matrix has no zeros. Recall that in a MIMO transfer
matrix, a zero is a value of s for which the transfer function matrix loses rank.
b. Repeat the calculation for the case where you keep A and B and use C .
c. Why do the above conclusions become invalid if b or c = 0?
4.6 Feedforward gain for constant output. For the SISO system ẋ = Ax + Bu, y = Cx,
show that choosing u = −Kx + kr r leads to y = r if kr = −[C( A − BK)−1 B]−1 .
4.7 Noise-tracking tradeoffs for observers. If observer gains are too low, the observer
states will not track the state vector well. If the gains are too high, too much
measurement noise will be injected into the system. Here, we show this trade-off
explicitly.
a. Add measurement noise ξ(t) to the observer equation for the dynamical
system:
ẋ = Ax + Bu, y = Cx
x̂˙ = A x̂ + Bu + L[y(t) + ξ(t) − ŷ(t)] .
Take the Laplace transform of the error dynamics (e = x − x̂), keeping the
initial value term to give e(s) as the sum of two terms, one proportional to
e(t = 0) ≡ e0 and one proportional to ξ(s). Argue that large values of L make
the initial-value term decay quickly but will simultaneously keep the noise
term large.
b. Specialize to the first-order system ẋ = −x and y = x + ξ ≡ x + ξ0 sin t. The
sinusoidal “noise” is a simple stand-in for stochastic noise, which would be
the sum of sines of all frequencies and with random phases. Solve for the
Laplace transform of the observer error, e(s), in terms of the initial error e0
and ξ0 .
The “best” value of observer gain balances the convergence rate of estimator
errors against noise injection. One missing ingredient is the notion that distur-
bances continually inject new state-estimation errors, which the observer must
try to remove. Here, an initial error e0 will decay away for all values of so
that an observer would not be necessary for long-time estimation. Continuously
injecting new disturbances into the dynamics highlights the role of in balancing
the rate that the observer removes disturbances against noise injection. See the
Kalman filter in Chapter 8.
4.8 Observer-based feedback for the harmonic oscillator. In Example 4.13, we set up
a structure for an observer-based control of a harmonic oscillator.
a. Write down the coupled system plus observer. Include a feedforward gain to
make a step command go to the right value. Design the controller to have
poles (−2, −2) and the observer to have poles (−10, −10). Give numerical
values for the controller (K), observer (L), and feedforward (kr ) gains.
b. Reproduce the numerical responses at right for an impulse disturbance and
step command. Use discordant initial conditions: x̂(0) = 10 , but x(0) = 00
4.9 Stabilizing an inverted pendulum forced by a torque.
a. For small displacements about the vertical, show that the scaled equations of
motion have A = 01 10 and B = 01 .
b. Check that { A, B} is controllable.