Feedback Systems Exercises
Feedback Systems Exercises
2019-12-27
ii
http://fbsbook.org
Many of the solutions in the text were contributed by students and colleagues.
Primary contributors for problems and solutions are listed in the individual exer-
cises. Problems and solutions without contributors listed are contributions from
the primary authors, often based on problems assigned in courses.
This version of the solutions is formatted to be as compact as possible; a “one per
page” version of the solutions is also available to allow easier distribution of selected
solutions. The authors request that the solutions provided here not be posted to
publicly accessible Internet sites or otherwise made available to students outside
of the course for which it is being used. Instructors are welcome to contribute
additional exercises or improved solutions, which will be included in future editions
of the solutions manual at the authors’ discretion. Interested instructors should
contact the authors for information about formatting and style for contributed
exercises and solutions.
Revision history
2.1a [13 Sep 2017] New version (not yet debugged!!)
2.0a [30 Sep 2012] First cut at solution manual for second edition
Contents
Bibliography B-1
Index I-1
iii
iv CONTENTS
Chapter 1 – Introduction 1-1
Chapter 1 – Introduction
1.1 Identify five feedback systems that you encounter in your everyday environment. [B,1ep] intro:fbkexamps
For each system, identify the sensing mechanism, actuation mechanism, and control
law. Describe the uncertainty with respect to which the feedback system provides
robustness and/or the dynamics that are changed through the use of feedback.
Instructor note:The main point of this problem is to get students to think about
what a feedback/control system is and what the different elements are.
1.2 (Balance systems) Balance yourself on one foot with your eyes closed for 15 s. [C,1ep]
Using Figure 1.4 as a guide, describe the control system responsible for keeping you intro:balance-human
from falling down. Note that the “controller” will differ from that in the diagram
(unless you are an android reading this in the far future). Soln: Soln needs to
be updated
1.3 (Eye motion) Perform the following experiment and explain your results: Hold- [B,1ep] intro:eyemotion
ing your head still, move one of your hands left and right in front of your face,
following it with your eyes. Record how quickly you can move your hand before
you begin to lose track of it. Now hold your hand still and shake your head left to
right, once again recording how quickly you can move before losing track of your
hand. Explain any difference in performance by comparing the control systems
used to implement these behaviors.
1.4 (Cruise control) Download the MATLAB code used to produce simulations [B,1ep]
for the cruise control system in Figure 1.11 from the companion web site. Using intro:cruise-redesign
trial and error, change the parameters of the control law so that the overshoot in
speed is not more than 1 m/s for a vehicle with mass m = 1200 kg. Does the same
controller work if we set m = 2000 kg?
1.5 (Integral action) We say that a system with a constant input reaches steady [A,1ep*] intro:integral
state if all system variables approach constant values as time increases. Show that
a controller with integral action, such as those given in equations (1.4) and (1.5),
gives zero error if the closed loop system reaches steady state. Notice that there is
no saturation in the controller.
Instructor note:This exercise is worked out in Section 11.1.
1.6 (Combining feedback with logic) Consider a system for cruise control where [C,2e] intro:logic-fbk
the overall function is governed by the state machine in Figure 1.16. Assume that
the system has a continuous input for vehicle velocity, discrete inputs indicating
braking and gear changes, and a PI controller with inputs for the reference and
measured velocities and an output for the control signal. Sketch the actions that
have to be taken in the states of the finite state machine to handle the system
properly. Think about if you have to store some extra variables, and if the PI
controller has to be modified.
1.7 Search the web and pick an article in the popular press about a feedback [C,1ep] intro:nytexamps
and control system. (On the companion web site under “Popular articles about
control” you can find links to some recent articles from the New York Times and
other sources.) Describe the feedback system using the terminology given in the
1-2 Feedback Systems: Solutions Manual - v2.1a
article. In particular, identify the control system and describe (a) the underlying
process or system being controlled, along with the (b) sensor, (c) actuator, and
(d) computational element. If the some of the information is not available in the
article, indicate this and take a guess at what might have been used.
Instructor note:The goal of this exercise is to have students read a bit about popular
descriptions of control systems and relate this to the terminology in Chapter 1.
Supplemental Exercises
[C,1es] intro:milksupply 1.8 Make a schematic picture of the system for supplying milk from a cow to your
table. Discuss the impact of refrigerated storage.
[C,1es] 1.9 (MATLAB/SIMULINK) Download the file “cruise_ctrl.mdl” from the com-
intro:cruise-mlintro panion web site. It contains a SIMULINK model of a simple cruise controller,
similar to the one described in Section 1.5. Figure out how to run the example and
plot the vehicle’s speed as a function of time.
(a) Leaving the control gains at their default values, plot the response of the system
to a step input and measure the time it takes for the system error to settle to within
5% of commanded change in speed (i.e., 0.5 m/s).
(b) By manually tuning the control gains, design a controller that settles at least
50% faster than the default controller. Include the gains you used, a plot of the
closed loop response, and describe any undesirable features in the solution you
obtain.
All plots should included a title, labeled axes (with units), and reasonable axis
limits.
Instructor note:The exercise is a variation of Exercise 1.4 above. The purpose of
these problem is to give students some familiarity with MATLAB and SIMULINK.
The instructor may want to indicate in the problem that students shouldn’t worry
if they don’t yet know how the control law works or why it does what it does.
[C,1es] 1.10 (MATLAB/SIMULINK) Download the file “ballbeam.mdl” from the compan-
intro:ballbeam-mlintro ion web site. It contains a SIMULINK model of a “ball and beam” experiment in
which you apply a torque to a beam and try to balance a ball that rolls along the
beam (see course web page for more documentation).
(a) Run the simulation with default parameters and create a plot of the ball position
versus time. Note that the desired action of the system is to move the ball from its
initial position at the center of the beam to a new resting point at r = 0.25 m.
(b) While keeping the gain on α̇ fixed at its default value, vary the gain on α from
75% to three times the default value. Plot the “overshoot” (the maximum amount
by which the ball goes past the desired resting point, expressed as a percentage of
the commanded position) as a function of this gain for stable cases.
Chapter 1 – Introduction 1-3
(c) While keeping gain on α fixed at its default value, vary the gain on α̇ from
zero to twice its default value. Give the numerical range of this gain for which the
system is stable. Plot the “settling time” (amount of time required for the system
to get within 5% of the desired resting point) as a function of this gain for the
stable cases.
All plots should included a title, labeled axes (with units), and reasonable axis
limits.
1.11 Search for the term “voltage clamp” on the Internet and explore why it is so [D,1es]
advantageous to use feedback to measure the ion current in cells. You may also intro:voltageclamp
enjoy reading about the Nobel Prizes received by Hodgkin and Huxley 1963 and
Neher and Sakmann (see http://nobelprizes.org).
1.12 Search for the term “force feedback” and explore its use in haptics and sensing. [D,1es] intro:haptics
1.13 Read the April 2007 Detroit News article “Officials mandate anti-rollover rule” [D,1es] intro:rollover
(available from the companion web site). This article talks about new regulations
that are being proposed to use anti-rollover technology in cars sold in the U.S. be-
ginning in 2012. By reading the article and the companion articles on the National
Highway Traffic Safety Administration (NHTSA) web site, identify the sensing and
actuation systems that will be used, and summarize how the control algorithm for
the system works.
1-4 Feedback Systems: Solutions Manual - v2.1a
Chapter 2 – Feedback Principles 2-1
dy d2 y dy du
+ ay = bu, +2 +y =2 + u,
dt dt2 dt dt
for t > 0. Determine the responses to a unit step u(t) = 1 and the exponential
signal u(t) = est when the initial condition is zero. Derive the transfer functions of
the systems.
2.2 Let y0 (t) be the response of a system with the transfer function G0 (s) to a given [A,2e]
input. The transfer function G(s) = (1 + sT )G0 (s) has the same zero frequency principles:rhp-zero
gain but it has an additional zero at z = −1/T . Let y(t) be the response of the
system with the transfer function G(s) and show that
dy0
y(t) = y0 (t) + T , (S2.1)
dt
Next consider the system with the transfer function
s+a
G(s) = ,
a(s2 + 2s + 1)
which has unit zero-frequency-gain (G(0) = 1). Use the result in equation (S2.1)
to explore the effect of the zero s = −1/T on the step response of a system
2.3 Consider a closed loop system with process dynamics and a PI controller [B?,2e]
modeled by principles:ode-trf
Z t
dy
+ ay = bu, u = kp (r − y) + ki r(τ ) − y(τ )) dτ,
dt 0
where r is the reference, u is the control variable, and y is the process output.
(a) Derive a differential equation relating the output y to the reference r by direct
manipulation of the equations and compute the transfer function Hyr (s). Make
the derivations both by direct manipulation of the differential equations and by
polynomial algebra.
(b) Draw a block diagram of the system and derive the transfer functions of the
process P (s) and the controller C(s).
(c) Use block diagram algebra to compute the transfer function from reference r
to output y of the closed loop system and verify that your answer matches your
answer in part (a).
2.4 Consider the system described by the differential equation (2.10) and the trans- [B,2e]
fer function (2.16). Determine the zero frequency gain of the system by computing principles:zerofreqgain
the particular solution of (2.10) for a constant input u(t) = u0 . Compare with the
G(0).
2-2 Feedback Systems: Solutions Manual - v2.1a
[B?,2e] 2.5 (Pupil response) The dynamics of the pupillary reflex is approximated by a
principles:pupilreflex linear system with the transfer function
0.2(1 − 0.1s)
P (s) = .
(1 + 0.1s)3
Assume that the nerve system that controls the pupil opening is modeled as a pro-
portional controller with the gain k. Use the Routh–Hurwitz criterion to determine
the largest gain that gives a stable closed loop system.
[B,2e] 2.6 Consider the feedback system in Figure 2.7. Let the disturbance v = 0,
principles:sensitivity P (s) = 1 and C(s) = ki /s. Determine the transfer function Gyr from reference r to
output y. Also determine how much Gyr is changed when the process gain changes
by 10%.
[B,2e] principles:piddes 2.7 (PID control design) The calculations in Section 2.3 can be interpreted as a
design method for a PI controller for a first-order system. A similar calculation can
be made for PID control of a second order system. Let the transfer functions of the
process and the controller be
b ki
P (s) = , C(s) = kp + + kd s.
s2 + a1 s + a2 s
Show that the controller parameters
(1 + 2αζc )ωc2 − a2 αωc3 (α + 2ζc )ωc − a1
kp = , ki = , kd = .
b b b
give a closed loop system with the characteristic polynomial
(s2 + 2ζc ωc s + ωc2 )(s + αωc ).
[B,2e] principles:nl-pcon 2.8 Consider an open loop system with the nonlinear input/output relation y =
F (u). Assume that the system is closed with the proportional controller u =
k(r − y). Show that the input/output relation of the closed loop system is
1 −1
y+ F (y) = r.
k
Estimate the largest deviation from ideal linear response
√ y = r. Illustrate by
plotting the input output responses for a) F (u) = u and b) F (u) = u2 with
0 ≤ u ≤ 1 and k = 5, 10 and 100.
[B,2e*] principles:handel 2.9 (Nonlinear distortion) The following MATLAB commands will load and play
Handel’s Messiah
load handel % Load Handel’s Messiah
sound(y, Fs); pause % Play the original music through speaker
Write a MATLAB function that implements nonlinear amplifier with static gain
y = 2(z + az(1 − z) − 0.5), z = (x + 1)/2,
where x is the original signal (assumed to take values between −1 and 1) and a
is the amplifier gain. Compare the sound that is obtained when the music is then
sent through two amplifiers with the given nonlinearity and gain a = 1 versus when
the music is sent through the same two amplifiers with feedback k = 10.
Chapter 2 – Feedback Principles 2-3
2.10 Consider the system in Section 2.3 where the controller was designed to give [B,2e] principles:ffandfb
a closed loop system characterized by ωc = 1 and ζ = 0.707. The transfer functions
of the process and the controller are
2 0.207s + 0.5
P (s) = , C(s) = .
s+1 s
The response of the closed loop system to step inputs has a settling time (time
required to stay within 2% of the final value, see Figure 6.9) of 4/ζωc ≈ 5.66.
Assume that the attenuation of the load disturbances is satisfactory but that we
want a closed loop system system that responds five times faster to reference signals
without overshoot. Determine the transfer functions of a controller with the archi-
tecture in Figure ?? that gives a response to command signals with a first-order
dynamics. Simulate the system in the nominal case of a perfect model and explore
the effects of modeling errors by simulation.
2.11 Consider the system in Figure ??. Let the transfer functions of the process [B,2e]
and the feedback controller be P (s) and C(s) and let the feedforward generator principles:twodofgen
be charactrized by the transfer functions Guff r and Gym r . Show that the transfer
functions that relate output y and control u to reference r, load disturbance v, and
measurement noise w are given by
where λ is the acceptance rate of jobs and x is the length of the queue. The model
is nonlinear and the dynamics of the system changes significantly with the queuing
length (see Example 3.15 for a more detailed discussion). Investigate the situation
when a PI controller is used for admission control. Let r be the rate of arrival of
job requests and model the (average) arrival intensity λ as
Z t
λ = kp (r − x) + ki (r(t) − x(t))dt.
dx
= λ.
dt
Find controller parameters that give the closed loop characteristic polynomial s2 +
2s + 1 for the approximate model. Investigate the behavior of the control strategy
for the full nonlinear model by simulation for the input r = 5 + 4 sin(0.1t).
2-4 Feedback Systems: Solutions Manual - v2.1a
Supplemental Exercises
[B,2e] principles:posfbk 2.13† Consider the system in Figure 2.1, where F (w) = sat(w) with a negative
Comment [RMM, 21
sign in the feedback. Assume that r = 0 and v = 1. Sketch the input/output
May 2019]: Already
covered in the chap-
relation for k = −3, −2, −1, 0, 1, 2.
ter?
[B,2e] 2.14 (Cruise control)
principles:cruisecon
Comment [RMM, 23 Aug 2019]: This exercise appears as part of Example 11.3 and the
results of the example give the solution =⇒ moving this to supplemental exercises.
A simple model for the relation between speed v and throttle u for a car is given
by the transfer function
b
Gvu =
s+a
where a = 0.01 rad/s and b = 1.32 m/s2 (see Section 4.1 and Example 6.11 for
more details). The control signal is normalized to the range 0 ≤ u ≤ 1. Design a
PI controller for the system that gives a closed loop characteristic polynomial
What are the consequences of choosing different values of the design parameters ζc
and ωc ? Use your judgment to find suitable values. Hint: Investigate maximum
acceleration and maximum velocity for step changes in the velocity reference.
d2 y dy du
+2 +y =2 + u.
dt2 dt dt
Determine the responses to a unit step u(t) = 1 and the exponential signal u(t) = est
when the initial conditions are zero. Derive the transfer function of the system.
[C,2e] 2.16 Prove the Routh–Hurwitz criterion for a third order polynomial with real
principles:routh-hurwitz coefficients.
s
[C,2e] principles:approx 2.17 Consider a system with the transfer function G(s) = 1+sT . Use MATLAB
to investigate the response of the system to the input signal u(t) = te−t for T =
0.01, 0.1, 1, 10 100. Compare the responses with the low- and high-frequency
approximations G(s) = Glow ≈ s and G(s) = Ghigh ≈ 1/T .
Jt θ̈ − mglθ = u, ẍ = u, (S2.2)
Chapter 2 – Feedback Principles 2-5
where x is the position of the cart. Show that it is possible to stabilize both the
pendulum and the cart with the feedback law
u = −k1 θ̇ − k2 θ − k3 ẋ − k4 x.
Discuss the signs of the feedback gains and relate them to the physical situations.
To simplify the calculations you can assume that Jt = 1 and that mgl = 1. † KJA: Solution
incomplete
2.21 Consider the closed loop system in Figure ?? where the process and the [B,2e]
feedback controller have the transfer functions principles:ffandfbsimp
b ki
P (s) = , C(s) = kp + .
s+a s
Assume that the desired response to command signals is given by the transfer
function
am
Fm (s) = .
s + am
Determine the feedforward transfer function Fur (s) that gives the desired transfer
function Fm . Determine the transfer functions Gyr and Gyv which tell how the
closed loop system responds to reference r and load disturbance v.
2.22 (Cruise control) Consider the cruise control example discussed in Section 1.5, [C,2e] principles:cruise-
with fbkparam
RMM: Nonstandard
mv̇ = −av + u + w use of parameters
compared to other
where u is the control input (force applied by engine) and w the disturbance input cruise control
(force applied by hill, etc.), which will be ignored below (w = 0). An open loop examples [RMM, 18
control strategy to achieve a given reference speed vref would be to choose Aug 2019]
u = âvref
and again compute the steady-state solution (assuming stability) and compare the
response with the proportional gain case from above. (Note that if you define
Rt
q = 0 (v − vref )dt then q̇ = v − vref .)
2-6 Feedback Systems: Solutions Manual - v2.1a
Chapter 3 – Modeling 3-1
Chapter 3 – Modeling
3.1 (Chain of integrators form) Consider the linear ordinary differential equa- [C,1ep]
tion (3.7). Show that by choosing a state space representation with x1 = y, the modeling:chainofint
dynamics can be written as
0 1 0 0
. .. . ..
0
A=
0 0
,
B = .
, C = 1 . . . 0 0 .
0
··· 0 1
.
.
−an −an−1 −a1 1
This canonical form is called the chain of integrators form.
3.2 (Discrete-time dynamics)Consider the following discrete-time system [B,1ep]
modeling:discrete-
x[k + 1] = Ax[k] + Bu[k], y[k] = Cx[k], solutions
where
x1 a11 a12 0
x=
, A=
, B=
, C = 1 0 .
x2 0 a22 1
In this problem, we will explore some of the properties of this discrete-time system
as a function of the parameters, the initial conditions, and the inputs.
(a) For the case when a12 = 0 and u = 0, give a closed form expression for the
output of the system.
(b) A discrete system is in equilibrium when x[k + 1] = x[k] for all k. Let u = r
be a constant input and compute the resulting equilibrium point for the system.
Show that if |aii | < 1 for all i, all initial conditions give solutions that converge to
the equilibrium point.
(c) Write a computer program to plot the output of the system in response to a
unit step input, u[k] = 1, k ≥ 0. Plot the response of your system with x[0] = 0
and A given by a11 = 0.5, a12 = 1, and a22 = 0.25.
3.3 (Keynesian economics) Keynes’ simple model for an economy is given by [B,1ep*]
modeling:discrete-
Y [k] = C[k] + I[k] + G[k], keynes
where a and b are parameters. The first equation implies that consumption in-
creases with GNP but that the effect is delayed. The second equation implies that
investment is proportional to the rate of change of consumption.
Show that the equilibrium value of the GNP is given by
1
Ye = Ge ,
1−a
3-2 Feedback Systems: Solutions Manual - v2.1a
where the parameter 1/(1−a) is the Keynes multiplier (the gain from G to Y ). With
a = 0.75 an increase of government expenditure will result in a fourfold increase of
GNP. Also show that the model can be written as the following discrete-time state
model:
C[k + 1]
a a
C[k] a
= + G[k],
I[k + 1] ab − b ab I[k] ab
Y [k] = C[k] + I[k] + G[k].
[B,1ep] 3.4 (Least squares system identification) Consider a nonlinear differential equation
modeling:sysid-leastsq that can be written in the form
M
dx X
= αi fi (x),
dt i=1
where fi (x) are known nonlinear functions and αi are unknown, but constant,
parameters. Suppose that we have measurements (or estimates) of the full state x
at time instants t1 , t2 , . . . , tN , with N > M . Show that the parameters αi can be
estimated by finding the least squares solution to a linear equation of the form
Hα = b,
where α ∈ RM is the vector of all parameters and H ∈ RN ×M and b ∈ RN are
appropriately defined.
[A,1ep*] 3.5 (Normalized oscillator dynamics)Consider a damped spring–mass system with
modeling:oscillator dynamics
mq̈ + cq̇ + kq = F.
p √
Let ω0 = k/m be the natural frequency and ζ = c/(2 km) be the damping ratio.
(a) Show that by rescaling the equations, we can write the dynamics in the form
q̈ + 2ζω0 q̇ + ω02 q = ω02 u, (S3.1)
where u = F/k. This form of the dynamics is that of a linear oscillator with natural
frequency ω0 and damping ratio ζ.
(b) Show that the system can be further normalized and written in the form
dz1 dz2
= z2 , = −z1 − 2ζz2 + v. (S3.2)
dτ dτ
The essential dynamics of the system are governed by a single damping parameter
ζ. The Q-value, defined as Q = 1/2ζ, is sometimes used instead of ζ.
(c) Show that the solution for the unforced system (v = 0) with no damping (ζ = 0)
is given by
z1 (τ ) = z1 (0) cos τ + z2 (0) sin τ, z2 (τ ) = −z1 (0) sin τ + z2 (0) cos τ.
Invert the scaling relations to find the form of the solution q(t) in terms of q(0),
q̇(0), and ω0 .
Chapter 3 – Modeling 3-3
3.6 (Dubins car) Show that the trajectory of a vehicle with reference point chosen [B,2e]
as the center of the rear wheels can be modeled by dynamics of the form modeling:steering-
dubins
dx dy dθ v
= v cos θ, = v sin θ, = tan δ,
dt dt dt b
where the variables and constants are defined as in Example 3.11.
3.7 (Motor drive) Consider a system consisting of a motor driving two masses that [B,1ep]
are connected by a torsional spring, as shown in the diagram below. modeling:dcmotor-
modeling
ϕ1 ϕ2
I
Motor
ω1 ω2
J1 J2
This system can represent a motor with a flexible shaft that drives a load. Assuming
that the motor delivers a torque that is proportional to the current I, the dynamics
of the system can be described by the equations
d 2 ϕ1 dϕ dϕ2
1
J1 + c − + k(ϕ1 − ϕ2 ) = kI I,
dt2 dt dt (S3.3)
d 2 ϕ2 dϕ dϕ1
2
J2 2 + c − + k(ϕ2 − ϕ1 ) = Td ,
dt dt dt
where ϕ1 and ϕ2 are the angles of the two masses, ωi = dϕi /dt are their velocities,
Ji represents moments of inertia, c is the damping coefficient, k represents the shaft
stiffness, kI is the torque constant for the motor, and Td is the disturbance torque
applied at the end of the shaft. Similar equations are obtained for a robot with
flexible arms and for the arms of DVD and optical disk drives.
Derive a state space model for the system by introducing the (normalized)
state
p variables x1 = ϕ1 , x2 = ϕ2 , x3 = ω1 /ω0 , and x4 = ω2 /ω0 , where ω0 =
k(J1 + J2 )/(J1 J2 ) is the undamped natural frequency of the system when the
control signal is zero.
3.8 (Electric generator) An electric generator connected to a strong power grid can [B,1ep]
be modeled by a momentum balance for the rotor of the generator: modeling:powergrid
d2 ϕ EV
J = Pm − Pe = Pm − sin ϕ,
dt2 X
where J is the effective moment of inertia of the generator, ϕ is the angle of rotation,
Pm is the mechanical power that drives the generator, Pe is the active electrical
power, E is the generator voltage, V is the grid voltage, and X is the reactance of
the line. Assuming that the line dynamics are much faster than the rotor dynamics,
Pe = V I = (EV /X) sin ϕ, where I is the current component in phase with the
voltage E and ϕ is the phase angle between voltages E and V . Show that the
dynamics of the electric generator has a normalized form that is similar to the
dynamics of a pendulum with forcing at the pivot.
3-4 Feedback Systems: Solutions Manual - v2.1a
[B,1ep] modeling:queue- 3.9 (Admission control for a queue) Consider the queuing system described in
admcontrol Example 3.15. The long delays created by temporary overloads can be reduced by
rejecting requests when the queue gets large. This allows requests that are accepted
to be serviced quickly and requests that cannot be accommodated to receive a
rejection quickly so that they can try another server. Consider an admission control
system described by
dx x
= λu − µmax , u = sat(0,1) (k(r − x)), (S3.4)
dt x+1
where the controller is a simple proportional control with saturation (sat(a,b) is
Note: Forward defined by equation (4.10))† and r is the desired (reference) queue length. Use a
reference; probably simulation to show that this controller reduces the rush-hour effect and explain how
OK [RMM, 2 Sep the choice of r affects the system dynamics.
2016] You should choose the parameters of your simulation to match those in Exam-
ple 3.15: µmax = 1, λ = 0.5 at time 0, increasing to λ = 4 at time 20 and returning
to λ = 0.5 at time 25. Test your controller using r = 2 and r = 5 and explore
several different values for k. Your solution should include the MATLAB code that
you used plus plots for the final value of k you chose (and the two values of r).
Make sure to label your plots and describe how your controller reduces the rush
hour effect.
Instructor note:The choice of the gain k is left open to allow students to explore
how different gains reduce the rush-hour effect. A simpler version of this problem
(focusing only on the use of MATLAB) can be obtained by specifying k = 1 (which
is what is used in the solution below).
[B,1ep*] 3.10 (Biological switch) A genetic switch can be formed by connecting two repres-
modeling:biocircuits- sors together in a cycle as shown below.
switchmod
u1
A
u1 u2 A B
B u2
Using the models from Example 3.18—assuming that the parameters are the same
for both genes and that the mRNA concentrations reach steady-state quickly—show
that the dynamics can be written in normalized coordinates as
dz1 µ dz2 µ
= − z1 − v 1 , = − z2 − v 2 , (S3.5)
dτ 1 + z2n dτ 1 + z1n
where z1 and z2 are scaled versions of the protein concentrations and the time scale
has also been changed. Show that µ ≈ 200 using the parameters in Example 3.18,
and use simulations to demonstrate the switch-like behavior of the system.
[B,2e] 3.11 (FitzHugh–Nagumo) The second-order FitzHugh–Nagumo equations
modeling:fitz-hugh
dV dR
= 10(V − V 3 /3 − R + Iin ), = 0.8(1.25V − R + 1.5),
dt dt
Chapter 3 – Modeling 3-5
Comment [RMM, 26 Dec 2019]: Add more exercisese to this chapter (12 minimum) and
fill up blank space
Supplemental Exercises
3.12 (Inverted pendulum)Use the equations of motion for a balance system to [C,1ep]
derive a dynamical model for the inverted pendulum described in Example 3.3 and modeling:balance-
bal2inv
verify that the dynamics are given by equation (3.10).
3.13 (Hodgkin–Huxley equations) The original Hodgkin-Huxley equation has four [B,1ep]
states. Several approximations have been made to obtain simpler models with modeling:hodgkin-
huxley
similar behavior. One simplification is the second order equations
dV
C = −(17.81 + 47.71V + 32.63V 2 )(V − 0.55) − 26R(V + 0.92) + I
dt
dR
τ = −R + 1.35V + 1.03,
dt
with C = 0.8, τ = 1.9 [ms] and I = 1 [mA] (see [9, p. 192]). The variables have been
scaled: the time unit is [ms], the voltages have the unit [dV], and the variables
have to be multiplied by 100 to obtain their values in millivolts. Simulate the
equations, calculate equilibrium points, and try to explain their behavior.
3.14 (Uncertainty lemon) Consider a system where the control variable is a volt- [C,1es] modeling:lemon
age with a maximum value of umax = 10 V, and a noise floor of umin = 10 mV.
The actuator has a rate limitation of vmax = 20 V/s. Also assume that the elec-
tronics driving the actuator has a drift that corresponds to an input signal of
vdrift = 40 mV/h. Sketch the uncertainty lemon of the system reflected to the
input variable.
3.15 (Frequency response) Consider the spring–mass system given by equation (3.16). [C,1es]
Using a simulation, compute the response of the system to a sinusoidal force modeling:freqresp
p
u = A sin ωt for ω = k/m and some neighboring frequencies. Determine the
amplitude and the phase for the steady-state solution.
3.16 (Open loop control versus closed loop control) [Contributed by D. MacMartin, [C,1es] modeling:cruise-
2011] Consider the cruise-control example discussed in class,† with openvspi Update to
RMM:
refer to Intro?
mv̇ = −av + u + w Update parameters
where u is the control input (force applied by engine) and w the disturbance input
(force applied by hill, etc.), which will be ignored below (w = 0). An open loop
control strategy to achieve a given reference speed vref would be to choose
u = âvref
where â is your estimate of a, which may not be accurate.
3-6 Feedback Systems: Solutions Manual - v2.1a
(a) Compute the steady-state response for both the open loop strategy above, and
for the feedback law
u = −kp (v − vref )
and compare the steady-state (with w = 0) as a function of β = a/â when kp = 10â.
(You should solve the problem analytically, and then plot the response vss /vref as
a function of β.)
and again compute the steady-state solution (assuming stability) and compare the
response with the proportional gain case from above. (Note that if you define
Rt
q = 0 (v − vref )dt then q̇ = v − vref .)
(c) Next, simulate the response of the system (using ode45 in Matlab or similar)
with the PI control law above with m = 1, a = 0.1, w = 0, and “input” to the
system of vref = sin(ωt), for ω=0.01, 0.1, 1, and 10 rad/sec. In each case, you
should simulate at least 10 cycles; after some initial transient, the response should
be periodic. Compute the peak-to-peak amplitude of the final period for the error
v − vref , and plot this as a function of frequency on a log-log scale, for the following
control gains:
i. kp = 1, ki = 0
ii. kp = 1, ki = 1
iii. kp = 1, ki = 10
(If you want to see interesting behaviour, simulate the final case at ω = 3.3 rad/sec
as well.)
[C,1es] 3.17 (Eye and head motion) Consider Exercise 1.3 in Chapter 1. Consult the web
Exercise 1.3
modeling:occular- or a book in physiology that describes the system. Construct a block diagram that
blockdiag
captures the essence of the experiments and discuss the differences between the two
cases qualitatively.
[C,1es] 3.18 (Second-order system identification) Verify that equation (3.24) in Exam-
modeling:sysid-logdec ple 3.8 is correct and use this formula and the others in the example to compute
the parameters corresponding to the step response in Figure 3.16.
[C,1es] 3.19 (Insect vision) [Contributed by Mary J. Dunlop, Sep 06] Insects have com-
modeling:flyvision pound eyes that are made up of many tiny visual sensors, known as ommatidia,
which are arranged in an array. A fruit fly’s eye, for example, has 700 ommatidia
arranged in a hexagonal pattern. In this problem we consider a simple model for
insect vision known as the Reichardt elementary motion detector (EMD).
The elementary motion detector compares the signals on two neighboring om-
matidia. The signal on the left ommatidium (ri (t)) is delayed and multiplied by
the signal on the right (ri+1 (t)). The same is done for the right ommatidium and
the two signals are subtracted, as shown in the diagram below.
Chapter 3 – Modeling 3-7
Drosophila compound eye Elemental motion detector (EMD) RMM: Get versions
of these figures from
In this problem we will consider a one dimensional version of the fly eye where there Michael D and
are N ommatidia arranged in a row and we will use a simple model for delay where permission to use
the signal lags by τ seconds. The output of the visual sensor system then becomes them as a
supplemental exercise.
Nonstandard resizing
ni (t) = ri (t − τ )ri+1 (t) − ri+1 (t − τ )ri (t),
where ni (t) is the output from the ith EMD and i goes from 1 to N − 1).
Let τ = 1, N = 100, use MATLAB to find the output that the visual system
sends to the fly’s brain. Attach the MATLAB code that you wrote to solve the
problem along with your solution. Be sure to label both x and y axes, include a
legend when appropriate and title all graphs.
(a) Flying down a hallway The fly is flying down a straight hallway, so it sees walls
on both sides, but nothing in front of it:
(
1 if i = 1 and i = N ,
ri (t) =
0 otherwise.
(b) Approaching flyswatter Watch out! A flyswatter comes in from the left, getting
darker and larger as it approaches:
(
t if i ≤ t,
ri (t) =
0 otherwise.
Plot the signal n(t) versus output number for t = 20, 40, and 60. Plot all three
lines on the same graph (n(20) a solid line, n(40) a dashed line, and n(60) a dotted
line).
(c) Control law In this example the fly’s eye is the sensor and the muscles that con-
trol its wings are the actuator. The fly’s brain computes the control law. Describe
a control law that the fly’s brain could use to avoid the flyswatter.
3.20 (State space model for balance systems) Show that the dynamics for a balance [C,1es]
modeling:balance-
statespace
3-8 Feedback Systems: Solutions Manual - v2.1a
finger flame
(axial view)
• Heat convects into the finger from the ambient air at a rate
Fa = αa (Ta − Tf ).
Tf
cf = −Fb + Fa
dt
where cf is the fingertip thermal capacity.
• The fingertip is rapidly passed into and out of the flame, according to
xf (t) = sin(ωt).
Using the MATLAB ode45 function (or something similar), build a model for the
system and solve the following:
(a) Assume that the finger moves sinusoidally in and out of the flame at frequency
ω = 1 rad/s. Plot the temperature of the finger as a function of time and identify
the transient and steady-state responses.
(b) Plot the steady-state amplitude of the finger temperature as a function of the
ω for ω ranging from 1 to 100 rad/s. You should get something similar to the
frequency response plot shown in lecture on Monday. You should compute at least
5 points in your graph.
• αa /cf = 1 s−1
3.22 (Consensus and invariants) Consider the consensus problem described in [C,1es]
Example 3.17 with N nodes and a connected graph describing the sensor network. modeling:compsys-
invariants
Show that the quantity
N
1 X
W [k] = xi [k]
N i=1
is constant under the consensus protocol and use this fact to show that if the
consensus protocol converges, then it converges to the average of the initial values
of each node. (In computer programming, qualities such as W are called invariants,
and the use of invariants is an important technique for verifying the correctness of
computer programs.)
3-10 Feedback Systems: Solutions Manual - v2.1a
R L +
M M J ω
u e
− D
i
(a) (b)
Inevitably, under normal process conditions, the reactor will experience distur-
bances in the inlet temperature (Ti (t)) and concentration of species A (cAi (t)) in
Chapter 3 – Modeling 3-11
the input stream. Thus, we would like to know what impact these fluctuations
in inlet conditions might have on the concentration of species A (cA (t)) and the
temperature (T (t)) of the effluent stream. Suggestions: Assume that the reactor
contents are well-mixed and that the heat capacity (Cp ) and density (ρ) of reactants
and products are equal.
(a) Develop a set of equations that could be used to predict temporal changes in
effluent temperature and species A concentration (T (t) and cA (t), respectively).
(c) Plot c′A (t) and T ′ (t) versus time for the following cases: (a) Ti′ (t) = −5o R
and (b) Ti′ (t) = −10o R. Explain the observed behavior of the reactor. Does it
always return to the same steady-state value? Is the dynamic response “smooth”
or oscillatory?
3.25 (Modeling and simulation of a catalyzed reaction) Caffeine and theobromine [C,1es]
are both alkaloids known for their stimulating effects; while theobromine (from modeling:caffeine
Greek theo ”god”, broma ”food”) is the primary alkaloid found in cocoa, there are
over 60 plants which are source of caffeine. It is possible to synthesize caffeine (Cf)
from theobromine (Tb) by the action of certain catalysts. Here we will suppose to
synthesize Cf from Tb utilizing a caffeine synthase indicated as CS.
This catalyzed reaction can be modeled by the following mass action model,
where in squared brackets we indicate concentration of the metabolites:
k1 k2
→
[CS] + [T b] ← [CS · T b] → [CS] + [Cf ] (S3.7)
k−1
d [CS · T b]
= k1 [CS][T b] − k−1 [CS · T b] − k2 [CS · T b]
dt (S3.8)
d [Cf ]
= k2 [CS · T b]
dt
(a) Suppose that [CS · T b] is at steady state and derive an equation expressing
the production rate of [Cf ] as a function of the concentration of theobromine and
of the initial concentration of synthase. (Hint: In the derivation, you will find
useful to note that the concentration of the enzyme can be expressed as [CS] =
[CS](0) + [Cs · T b], where [CS](0) is the initial concentration of enzyme.)
(b) Generate a SIMULINK model for this dynamical system, where the input is the
concentration of theobromine: in an experiment, you would supply to the system
an initial concentration of T b that will be consumed by the gradual conversion into
Cf . Find a way to simulate such effect by using a step function, to which you need
to subtract the consumed input.
3-12 Feedback Systems: Solutions Manual - v2.1a
Since the dynamics are nonlinear, you should use the function - Fcn block that
can be found in the User-defined functions list. Utilize an initial concentration of
enzyme [CS] of 10µM , k2 = 100 1/s, k1 = 2 1/µM s, and k−1 = 0.2 1/s. In the
step function, set the final value of [T b] as 200 µ < M
Generate a plot of the Cf and T b concentrations versus time.
(c) Now assume to add a degradation term to (S3.8):
d[Cf ]
= k2 [CS · T b] − β [Cf ]
dt
where β = .5s−1 . Modify the SIMULINK model and plot again the T b and Cf
time profiles.
[C,1es] 3.26 The ball and beam system shown in the figure below is a popular platform
modeling:ballbeam- for control experiments.
modeling
P
q2 a
q1
The system consists of a beam that rotates around the pivot P , its angle is controlled
by a motor. The ball moves in a grove on the beam. The goal is to control the
position of the ball on the beam. The dynamics are similar to the dynamics of
the vector thrust vehicle discussed in Example 3.12. Introduce the state variables
beam angle q1 and ball position q2 as shown in the figure and let the torque from
the motor be Tm . Show that the system can be modeled by the following equations
J1e + m2 q22 m12 2m2 q̇1 q̇2 mle sin q1 − m2 q2 cos q1 Tm
q̈ +
+ g
=
m12 m2e m2 q̇12 q2 m2 sin q1 0
where Je , m12 , me , and mle are constant parameters. The mass matrix is non-
linear because it depends on the position of the ball, the nonlinear damping term
represents Coriolis and centripetal forces and the spring term represents the effects
of gravity. It is also implicitly assumed that the ball is in contact with the beam
at all times.
[C,1es] 3.27 Consider equation (3.29) describing the motion of a vector thrust vehicle in
modeling:pvtol2invpend Example 3.12. Show that the motion in the x, θ plane is the same as that of a
pendulum on a cart.
[C,1es] 3.28 Consider the block diagram of the flight control system of a fly shown in Fig-
modeling:flyflight ure 3.15. Using the paper “Vision as a Compensatory Mechanism for Disturbance
Rejection in Upwind Flight” by Reiser et al. (available via the course web page),
identify the state, input, outputs, and dynamics for each block in the diagram. You
may give you answer in words, but be precise as possible. (Hint: Not all of the
blocks are “dynamic”; some are static maps.)
Chapter 3 – Modeling 3-13
3.29 [Contributed by Mary Dunlop, 2006] The motion of an ideal pendulum is [C,1es]
described by modeling:pendulum
θ̈ + g sin θ = 0,
where θ is the angle between the pendulum’s position and vertical, and g is the
gravitational acceleration.
(a) Using the small angle approximation sin θ ≈ θ, solve for an expression for θ(t),
written in terms of the initial conditions θ(0) = θ0 , θ̇(0) = ω0 and the parameter g.
(b) Plot the pendulum’s motion in three different environments: Earth (g = 9.8
m/s2 ), the moon (g = 1.6 m/s2 ), and on Temple I—the comet that the Deep
Impact mission collided with on in July 2005 (g = 0.00004 m/s2 ). Assume that
the pendulum is given a small initial starting angle θ(0) = 0.05 radians (about 3
degrees) and then released with no initial velocity (θ̇(0) = 0). Note that this is an
idealized equation of motion and damping is not included, so there are no frictional
forces to slow the pendulum down over time.
(c) If the pendulum is pushed with a force u(t), the equation of motion becomes
θ̈ + g sin θ = u(t).
Apply the small angle approximation and assume θ(0) = θ0 and θ̇(0) = 0. Solve
for θ(t) when u(t) = sin t.
3.30 Consider the coupled spring–mass system shown in the figure below: [C,1es]
q1 q2 modeling:coupled-
modeling
c c
m m
u(t)
k
k
k
The input to this system is the sinusoidal motion of the end of rightmost spring
and the output is the position of each mass, q1 and q2 .
(a) Write the equations of motion for the system, using the positions and velocities
of each mass as states.
(b) Rewrite the dynamics in terms of z1 = 21 (q1 +q2 ) and z2 = 21 (q1 −q2 ). Note that
the resulting equations are block diagonal (see discussion on modes in Section 6.2
for some additional insight). Solve these linear ODEs for the step response of z1 (t)
and z2 (t) and use this to compute the step response of q1 and q2 .
(c) Setting m = 250, k = 50, b = 10, plot the motion of the first and second
masses in response to an input motion u = A sin(ωt) with ω = 1 rad/s and A = 1
cm. Determine the amount of time required for the system to reach steady-state
oscillations.
(d) Plot the steady-state amplitude of the motion of the first and second masses as
a function of the input frequency, ω.
Instructor note:This problem is considered in Example 6.6 and the solution is es-
sentially given there.
3-14 Feedback Systems: Solutions Manual - v2.1a
Chapter 4 – Examples 4-1
Chapter 4 – Examples
4.1 (Cruise control) Consider the cruise control example described in Section 4.1. [A,1ep]
Build a simulation that re-creates the response to a hill shown in Figure 4.3b and examples:cruise-hillsim
show the effects of increasing and decreasing the mass of the car by 25%. Redesign
the controller (using trial and error is fine) so that it returns to within 1% of the
desired speed within 3 s of encountering the beginning of the hill.
4.2 (Bicycle dynamics) Show that the dynamics of a bicycle frame given by equa- [B,1ep]
tion (4.5) can be approximated in state space form as bicycle:statespace
d x1
0 1
x1
Dv0 /(bJ)
= + 2 u,
dt x2 mgh/J 0 x2 mv0 h/(bJ)
y = 1 0 x,
where the input u is the steering angle δ and the output y is the tilt angle ϕ. What
do the states x1 and x2 represent?
Instructor note:An alternative, but messier, version of this problem is to show that
the system can be converted into reachable canonical form.
4.3 (Operational amplifier circuit) Consider the op amp circuit shown below. [C,1ep*]
examples:opamp2
v2
R1 Ra Rb
− R2
v1 C1
+ vo
C2 v3
4.4 (Operational amplifier oscillator) The op amp circuit shown below is an imple- [A,1ep*]
mentation of an oscillator. examples:opamposc
C2 R4 C1
R2 − R3 − R1 −
+ v2 + v3 + v1
4-2 Feedback Systems: Solutions Manual - v2.1a
where the state variables represent the voltages across the capacitors x1 = v1 and
x2 = v 2 .
[B,1ep*] 4.5 (Congestion control using RED [8]) A number of improvements can be made to
examples:congctrl-red the congestion control model presented in Section 4.4. To ensure that the router’s
buffer size remains positive, we can modify the buffer dynamics to satisfy
(
dbl sl − cl if 0 < bl < bl,max ,
=
dt 0 otherwise.
In addition, we can model the drop probability of a packet based on how close a
filtered estimate of the buffer size is to the buffer limits, a mechanism known as
random early detection (RED):
0 if al ≤ blow
l ,
ρ (a − blow )
l i l if bl < al < bmid
low
l ,
pl = βl (al ) = mid
η l (a i − b l ) + ρl (bmid
l − blow
l ) if bmid
l ≤ a l < b max
l ,
max
1 if a l ≥ bl ,
dal
= −αl cl (al − bl ),
dt
Instructor note:We use a slightly different notation than [8] for the bounds and
breakpoints of the buffer size: blow
l = blower
l , bmid
l = bupper
l , bmax
l = 2bupper
l .
[A,1ep*] 4.6 (Atomic force microscope with piezo tube) A schematic diagram of an AFM
examples:afmpreload where the vertical scanner is a piezo tube with preloading is shown below.
PUP: Add †
annotations to figure.
(RMM: once done,
remove scaling
factor.)
Chapter 4 – Examples 4-3
[B,1ep] 4.9 (Fisheries management) Some features of the dynamics of a commercial fishery
examples:fishery- can be described by the following simple model:
modeling
dx
= f (x) − h(x, u), y = bh(x, u) − cu,
dt
where x is the total biomass, f (x) = rx(1 − x/k) is the growth rate, and r and k are
constant parameters. The harvesting rate is h(x, u) = axu, where a is a constant
parameter and u is the fishing effort. The output y is the rate of revenue, where b
and c are constants representing the price of fish and the cost of fishing.
Part: eqpt
(a) Find a sustainable equilibrium point where the revenue is as large as possi-
ble. Determine the equilibrium value of the biomass and the fishing effort at the
equilibrium.
Part: quota
(b) With the parameters a = 0.1, b = 1, c = 1, k = 100, and r = 0.2 the sustainable
equilibrium point corresponds to xe = 55 and ue = 0.9. For an individual fisherman
it is profitable to fish as long as the rate of revenue y = (abx − c)u is positive.
Explore by simulation what happens if the fishing intensity is much higher than
the sustainable fishing rate ue , say u = 3. Use the results to discuss the role of
having a fishing quota.
Instructor note:The second part of this exercise, comparing the situation to reg-
ulation to a constant biomass, is a bit open-ended. It may be useful to be more
specific about what is required in the answer.
Supplemental Exercises
[C,2e] examples:opamp- 4.10 The model of the operational amplifier given by equation (4.11) is highly
dynamics idealized. A more accurate model is given by
dvout
= −avout + bv
dt
Give the equations for the circuits in Figures 4.9a and 4.10 when this model is used
instead of equation (4.11).
[D,1es] intro:powertrain 4.11 [MATLAB/SIMULINK] In this problem we will implement the cruise control
system described in Section 4.1 of the text. Unless otherwise specified, use the
parameter values given in the text.
(a) Using Figure 3.1 as a guide, build a SIMULINK model corresponding to the
vehicle dynamics in Section 3.1, but without the human interface block. You should
have a separate SIMULINK block for each element in your block diagram. In
addition to the equations in the text, you should saturate the input to the actuator
so that it lies between the values of 0 and 1. Turn in a printout of your SIMULINK
diagram along with a description (equations) of what is in each block.
(b) Using your model, plot the output of the open loop vehicle model (3.3) for a
step input of u = 0.5, assuming you are in first gear, on flat ground (θ = 0), and
using m = 1000 kg. What is the rise time for the system (0 to 95% of the final
value)?
Chapter 4 – Examples 4-5
(c) Implement a PI controller for your system with gains kp = 0.5 and ki = 0.1.
Plot the response of the system to a change in desired speed from 20 m/s to 30
m/s, assuming you are in third gear and on flat ground. Make sure to implement
your simulation so that the system is in steady state at 20 m/s before changing the
desired speed.
(d) Now include the effect of a hill on your system. You should model the system
so that the car is initially on a flat surface doing 20 m/s and then encounters the
hill of 5 degrees. Plot the response of the system (it should look very similar to
Figure 3.3b).
4.12 (Bicycle steering) Combine the bicycle model given by equation (4.5) and the [C,1ep] bicycle:bikesteer
model for steering kinematics in Example 3.11 to obtain a model that describes the
path of the center of mass of the bicycle.
4.13 (Population dynamics) Consider the model for logistic growth given by equa- [C,1ep]
tion (4.31). Show that the maximum growth rate occurs when the size of the examples:logistic
population is half of the steady-state value.
4.14 (Predator-prey dynamics) The Lotka-Volterra equation [B,2e]
examples:lotka-volterra
dx dy
= (a − by)x, = (−c + dx)y,
dt dx
where x and y are the numbers of preys and predators, is a model for predator-prey
behavior that is simpler than the one given by equation (4.32). Show by scaling
all variables x, y, and t that the system is essentially governed by one parameter.
Simulate the original equations with the parameters a = 1.6, b = 0.003, c = 0.6,
and d = 0.001 and the initial conditions x(0) = 50, y(0) = 200.
4.15 Show that the model represented by the schematic diagram in Figure 4.17 can [C,2e]
be represented by the compartment model shown below: intro:drugadmin-teorell
k2
k1 k4
D B T I
k3
k5
K
RMM: Nonstandard
resizing commands
where compartment D represents the issue where the drug is injected, compartment
B represents the blood, compartment T represents tissue where the drug should
be active, compartment K the kidney where the drug is eliminated, and I a part
of the body where the drug is inactive. Write a simulation for the system and
explore how the amount of the drug in the different compartments develops over
time. Relate your observations to your physical intuition and the schematic diagram
above. Modify your program so that you can investigate what happens if the drug
is injected directly to the bloodstream, compartment B, instead of in compartment
D.
4-6 Feedback Systems: Solutions Manual - v2.1a
Chapter 5 – Dynamic Behavior 5-1
(a) Consider a as a bifurcation parameter and discuss how the equilibrium points
depend on a.
(b) For a > 1, show that there is a center at ϕ0 = arcsin(1/a) and a saddle at
ϕ = π − ϕ0 .
(c) Assume a > 1 and show that there is a solution through the saddle that satisfies
J dϕ 2 EV
− Pm (ϕ − ϕ0 ) − (cos ϕ − cos ϕ0 ) = 0. (S5.1)
2 dt X
Set J/Pm = 1 and use simulation to show that the stability region is the interior
of the area enclosed by this solution. Investigate what happens if the system is in
equilibrium with a value of a that is slightly larger than 1 and a suddenly decreases,
corresponding to the reactance of the line suddenly increasing.
[B,1ep] 5.6 (Lyapunov equation) Show that Lyapunov equation (5.17) always has a solution
dynamics:lyapeqn if all of the eigenvalues of A are in the left half-plane. (Hint: Use the fact that the
Lyapunov equation is linear in P and start with the case where A has distinct
eigenvalues.)
Instructor note:Depending on the background of the class, it may be more appro-
priate to simply ask the students to prove the case where A has n independent
eigenvectors or (simpler still) distinct eigenvalues.
[B,2e] dynam- 5.7 (Shaping behavior by feedback) An inverted pendulum can be modeled by the
ics:invpend:changebehavior differential equation
dx1 dx2
= x2 , = sin x1 + u cos x1 ,
dt dt
where x1 is the angle of the pendulum clockwise), and x2 is its angular velocity
(see Example 5.14). Qualitatively discuss the behavior of the open loop system and
how the behavior changes when the feedback u = −2 sin(x) is introduced. (Hint:
use phase portraits.)
[B,1ep] 5.8 (Swinging up a pendulum) Consider the inverted pendulum, discussed in Ex-
dynamics:invpend- ample 5.4, that is described by
swingup
θ̈ = sin θ + u cos θ,
where θ is the angle between the pendulum and the vertical and the control signal
u is the acceleration of the pivot. Using the energy function
1
V (θ, θ̇) = cos θ − 1 + θ̇2 ,
2
show that the state feedback u = k(V0 − V )θ̇ cos θ causes the pendulum to “swing
up” to the upright position.
[B,1ep] 5.9 (Root locus diagram) Consider the linear system
dynamics:rootlocus
dx
0 1 −1
= x + u, y = 1 0 x,
dt 0 −3 4
Chapter 5 – Dynamic Behavior 5-3
with the feedback u = −ky. Plot the location of the eigenvalues as a function
the parameter k. Identify the approximate gains at which the system becomes
unstable and label these on your plot. (To create your plot, you should compute
the eigenvalues at multiple values of k and plot these on the complex plane. Label
the locations of the eigenvalues for k = 0 with ‘×’ and the locations for k → ∞
with an ‘◦’ if they converge to a finite value. Choose the units on your graph so
that key features are visible and use arrows on your plot to indicate which direction
corresponds to increasing gain, similar to Figure 5.19b in the text.)
5.10 (Discrete-time Lyapunov function) Consider a nonlinear discrete-time system [B,1ep]
with dynamics x[k+1] = f (x[k]) and equilibrium point xe = 0. Suppose there exists dynamics:discrete-
n lyapunov
a smooth, positive definite function V : R → R such that V (f (x)) − V (x) < 0 for
x 6= 0 and V(0) = 0. Show that xe = 0 is (locally) asymptotically stable.
5.11 (Operational amplifier oscillator) An op amp circuit for an oscillator was [A,1ep*]
shown in Exercise 4.4. The oscillatory solution for that linear circuit was stable dynamicbehavior:opamp-
Exercise
oscnl 4.4
but not asymptotically stable. A schematic of a modified circuit that has nonlinear
elements is shown in the figure below.
ae ae
R22 C2 R R11 C1
− − −
R2 + v2 R + v3 R1 + v1
2 2
v1 v1 R R v0 R R
2 − −
v2 v2 R/α R ae
+ +
dv1 1 1
= v2 + v1 (v02 − v12 − αv22 ),
dt R1 C1 R11 C1
dv2 1 1
=− v1 + v2 (v02 − v12 − αv22 ).
dt R 2 C2 R22 C2
Determine α so that the circuit gives an oscillation with a stable limit cycle with
amplitude v0 . (Hint: Use the results of Example 5.9.)
Instructor note:The oscillation generated by this circuit can get a bit complicated
unless some specific values are given for the resistances and capacitances. To sim-
plify the problem, R1 C1 = R2 C2 , and R11 C1 = R22 C2 or use numerical values that
have these relationships.
5-4 Feedback Systems: Solutions Manual - v2.1a
[B,1ep] 5.12 (Congestion control) Consider the congestion control problem described in
dynamics:congctrl- Section 4.4. Confirm that the equilibrium point for the system is given by equa-
lyapstab
tion (4.22) and compute the stability of this equilibrium point using a linear ap-
proximation.
[A,1ep] 5.13 (Self-activating genetic circuit) Consider the dynamics of a genetic circuit that
dynamics:biocircuits- implements self-activation: the protein produced by the gene is an activator for the
posfbk
protein, thus stimulating its own production through positive feedback. Using the
models presented in Example 3.18, the dynamics for the system can be written as
dm αp2 dp
= + α0 − δm, = κm − γp, (S5.2)
dt 1 + kp2 dt
for p, m ≥ 0. Find the equilibrium points for the system and analyze the local
stability of each using Lyapunov analysis.
Instructor note:As written, this exercise leads to an analysis that provides condi-
tions for determining stability but does not actually compute the stability of the
equilibrium points (since this requires knowledge of the specific parameters). If
desired, the parameters from Example 3.18 can be used to allow the stability to be
determined explicitly.
[A,1ep*] 5.14 (Diagonal systems) Let A ∈ Rn×n be a square matrix with real eigenvalues
dynamics:modal-form λ1 , . . . , λn and corresponding eigenvectors v1 , . . . , vn . Assume that the eigenvalues
are distinct (λi 6= λj for i 6= j).
(b) Show that Pthe eigenvectors form a basis for Rn so that any vector x can be
written as x = αi vi for αi ∈ R.
(c) Let T = v1 v2 . . . vn and show that T −1 AT is a diagonal matrix of
the form (5.10).
(d) Show that if some of the λi are complex numbers, then A can be written as
Λ1 0
σ ω
A=
..
.
, where Λi = λ ∈ R or Λi =
.
−ω σ
0 Λk
This form of the dynamics of a linear system is often referred to as block diagonal
form.
Supplemental Exercises
[C,2e] 5.15 (Scalar nonlinear system) Analyze the stability of nonlinear system in Exam-
dynamics:lyap-scalarnl ple 5.10 at the equilibrium point x = −2.
Chapter 5 – Dynamic Behavior 5-5
dV ∂V
α1 kxk2 ≤ V (x, t) ≤ α2 kxk2 , ≤ −α3 kxk2 , k (x, t)k ≤ α4 kxk,
dt ẋ=f (x,t) ∂x
5.17 (Cruise control) Consider the cruise control system described in Section 4.1. [C,1ep] dynamics:cruise-
Generate a phase portrait for the closed loop system on flat ground (θ = 0), in phaseplot
fourth gear, using a PI controller (with kp = 0.5 and ki = 0.1), m = 1600 kg, and
desired speed 20 m/s. Your system model should include the effects of saturating
the input between 0 and 1. (Hint: Keep in mind that when modeling feedback
control, additional states can arise that do not appear in the original dynamics.
You should include the MATLAB code used to generate your phase portrait.)
5.18 Consider the nonlinear model of population dynamics given by equation (4.31). [N,1es]
Determine all equilibrium points, their stability and the linearizations around the dynamics:popdyn-
logistic
equilibrium points.
5.19 Consider the predator–prey example described in Section 4.7. Identify the [D,1es]
equilibrium points and limit cycles for this system and determine the stability of dynamics:predprey-limit
each of these solutions (using numerical simulation).
5.20 (Windup protection by conditional integration) Closed loop systems where [B,1es]
the controller has integral action and the actuator saturates may encounter a phe- dynamics:windup-
condint
nomenon called integrator windup. One method that has been suggested to avoid
the difficulty is to update the integral only when the error is sufficiently small. The
drawback of introducing ad hoc nonlinearities is illustrated by the following simple
case. Consider a system with PI control described by
(
dx1 dx2 e if |e| < 1,
= u, u = sat(kp e + ki x2 , −u0 , u0 ), =
dt dt 0 if |e| ≥ e0 ,
where e = r − x. Plot the phase portrait of the system for the parameter values
kp = 1, ki = 1, u0 = 1, and e0 = 1 and discuss the properties of the system.
(Integral windup and other ways to avoid it are discussed in Section 11.4.)
Instructor note:This exercise appears in Chapter 11 as Exercise 11.10. It can also be
used at this point, especially in courses where students have already been exposed
to windup.
5.21 Consider a nonlinear control system with gain scheduled feedback [C,?]
dynamics:gainsched-
ė = f (e, v) v = k(µ)e, stability
5-6 Feedback Systems: Solutions Manual - v2.1a
how the ship will behave near this equilibrium point. (Hint: The derivative of the
function v|v| is 2v if v is positive and −2v if v is negative, this can be written as
2|v|. Hint. The figure below shows the turning rate as a function of the rudder
angle.)
Turning rate r
0.4
0.2
−0.2
−0.4
−0.1 −0.05 0 0.05 0.1
delta
µ µ
5.27 For each of the following systems, locate the equilibrium points for the system [C,?]
and indicate whether each is asymptotically stable, stable (but not asymptotically dynamics:stabexmp
stable) or unstable. To determine stability, you can either use a phase portrait (if
appropriate), analyze the linearization or simulate the system using multiple nearby
initial conditions to determine how the state evolves.
Instructor note:5pts max per system. 1pt for determining equilibrium points. 4 pts
for stability analysis. If eigenvalue stability was used, 2pts for correct linearization
and 2 pts for stability explanation. If phase curve was used, 3 pts for the phase
curve, 1pt for stability discussion. (A lot of people who chose to use phase plots
loss that point).
5-8 Feedback Systems: Solutions Manual - v2.1a
(a) Nonlinear spring mass. Consider a nonlinear spring mass system with dynamics
where m = 1000 kg is the mass, k = 250 kg/s2 is the nominal spring constant, a =
0.01 represents the nonlinear “softening” coefficient of the spring and c = 100 kg/s
is the damping coefficient. Note that this is very similar to the spring mass system
we have studied in Section 3.2, except for the nonlinearity.
(b) Predator prey ODE. Consider the following alternative model for a predator-
prey system, known as the Lotka–Volterra equations:
dx1 dx2
= bh x1 − ax1 x2 , = bx1 x2 − dl x2 .
dt dt
Here x1 represents the population of the prey and x2 represents the population of
the predator. Use the parameters bh = 0.7, dl = 0.5, a = 0.007, and b = 0.0005.
(c) Genetic toggle switch. Consider the dynamics of two repressors connected to-
gether in a cycle. It can be shown (Exercise 3.10) that the normalized dynamics of
Exercise 3.10
the system can be written as
dz1 µ dz2 µ
= − z1 − v 1 , = − z2 − v 2 .
dτ 1 + z2n dτ 1 + z1n
(d) Congestion control of the Internet. A simplified model for congestion control
between N computers connected by a router is given by the differential equation
db X
N
dxi x2
= −b i + (bmax − b), = xi − c,
dt 2 dt i=1
(e) Inverted pendulum. The equations of motion for a single inverted pendulum are
given by
ml2 θ̈ = −cθ̇ − mgl sin(θ),
where θ is the angle of the pendulum (θ = 0 rad corresponds to pointing down),
m = 1 kg is the mass of the pendulum (assumed concentrated at the end), l =
0.5 m is the length of the pendulum, c = 0.25 N m s is the damping coefficient and
g = 9.8 m/s2 is the gravitational constant.
Chapter 5 – Dynamic Behavior 5-9
(f) Moore–Greitzer model. The Moore-Greitzer equations model rotating stall and
surge in gas turbine engines:
dψ 1
= (ϕ − ΦT (ψ)) ,
dt 4B 2 lc
dϕ 1 J ∂ 2 Ψc
= Φc (ϕ) − ψ + ,
dt lc 8 ∂ϕ2
dJ 2 ∂Φc J ∂ 3 Φc
= + J,
dt µ + m ∂ϕ 8 ∂ϕ3
where p
B = 0.2, ΦT (ψ) = ψ,
lc = 6, Ψc (ϕ) = 1 + 1.5ϕ − 0.5ϕ3 ,
µ = 1.256, m = 2.
This is a model for the dynamics of the compression system (first part of a jet
engine) with ψ representing the pressure rise across the compressor, ϕ representing
the mass flow through the compressor and J representing the amplitude squared of
the first modal flow perturbation (corresponding to a rotating stall disturbance).
(Hint: There is more than one equilibrium point and not all of them are stable.)
5.28 Find a Lyapunov function for the cruise control system in Exercise 5.3, showing [C,?] dynamics:cruise-
that the system is locally asymptotically stable at the desired speed. If you like, Exercise 5.3
lyapunov
you can use the specific parameters listed above, although it is also possible to solve
the problem leaving parameter values unspecified (with some assumptions, which
you should state).
5.29 For each of the systems in the table below, defined in more detail in Ex- [C,?]
ercise 5.27, determine if there exists a Lyapunov function of the given form that dynamics:lyapexmp
proves that the indicated equilibrium point is asymptotically stable. The parameter
γ should be taken as a free (scalar) parameter and used as needed to satisfy the con-
ditions of the Lyapunov theorem. You should try to solve the problem for general
parameter values if possible, but if you can’t find a general solution in a reasonable
amount of time, then you should use the numerical values from Problem 5.27.
one of the limitations of Lyapunov stability: you have to find a Lyapunov function
that proves stability of the system. Optional: If you are not able to find a Lyapunov
function of the given form for an equilibrium point that you showed in problem 1
is asymptotically stable, try to find a Lyapunov function of a more general form
that works. Optional: For those systems in which you are able to find a Lyapunov
function, determine whether the given function can also be used to prove whether
the system is exponentially stable and whether the system is globally asymptotically
stable.
[B,1ep] dynamics:furuta 5.30 (Furuta pendulum) The Furuta pendulum, an inverted pendulum on a ro-
tating arm, is shown to the left in the figure below.
1
m
Consider the situation when the pendulum arm is spinning with constant rate. The
system has multiple equilibrium points that depend on the angular velocity ω, as
shown in the bifurcation diagram on the right.
The equations of motion for the system are given by
where Jp is the moment of inertia of the pendulum with respect to its pivot, mp is
the pendulum mass, l is the distance between the pivot and the center of mass of
the pendulum, and ω0 is the the rate of rotation of the arm.
(a) Determine the equilibrium points for the system and the condition(s) for sta-
bility of each equilibrium point (in terms of ω0 ).
(b) Consider the angular velocity as a bifurcation parameter and verify the bifur-
cation diagram given above. This is an example of a pitchfork bifurcation.
Chapter 6 – Linear Systems 6-1
6.2 (Impulse response and convolution) Show that a signal u(t) can be decomposed [C,1ep*]
in terms of the impulse function δ(t) as linsys:impulse-response
Z t
u(t) = δ(t − τ )u(τ ) dτ
0
and use this decomposition plus the principle of superposition to show that the
response of a linear, time-invariant system to an input u(t) (assuming a zero initial
condition) can be written as a convolution equation
Z t
y(t) = h(t − τ )u(τ ) dτ,
0
where h(t) is the impulse response of the system. (Hint: Use the definition of the
Riemann integral.)
6.3 (Pulse response for a compartment model) Consider the compartment model [B,1ep*]
given in Example 6.7. Compute the step response for the system and compare it linsys:compartment-
pulse
with Figure 6.10b. Use the principle of superposition to compute the response to
the 5 s pulse input shown in Figure 6.10c. Use the parameter values k0 = 0.1,
k1 = 0.1, k2 = 0.5, and b0 = 1.5.
6.4 (Matrix exponential for second-order system) Assume that ζ < 1 and let [A,1ep*]
p linsys:matrixexp
ωd = ω0 1 − ζ 2 . Show that
−ζω0 ωd
−ζω0 t
cos ωd t sin ωd t
exp t = e .
−ωd −ζω0 − sin ωd t cos ωd t
Use the results of this problem and the convolution equation to compute the
unit step response for a spring mass system
mq̈ + cq̇ + kq = F
[B,1ep] 6.5 (Lyapunov function for a linear system) Consider a linear system ẋ = Ax with
linsys:lyap-linear Re λj < 0 for all eigenvalues λj of the matrix A. Show that the matrix
Z ∞
T
P = eA τ QeAτ dτ
0
[B,1ep*] 6.7 (Rise time and settling time for a first-order system) Consider a first-order
linsys:risetime-firstord system of the form
dx
τ = −x + u, y = x.
dt
We say that the parameter τ is the time constant for the system since the zero
input system approaches the origin as e−t/τ . For a first-order system of this form,
show that the rise time for a step response of the system is approximately 2τ , and
that 1%, 2%, and 5% settling times approximately corresponds to 4.6τ , 4τ , and
3τ .
[A,1ep] 6.8 (Discrete-time systems) Consider a linear discrete-time system of the form
linsys:discrete-linsys
x[k + 1] = Ax[k] + Bu[k], y[k] = Cx[k] + Du[k].
(a) Show that the general form of the output of a discrete-time linear system is
given by the discrete-time convolution equation:
k−1
X
y[k] = CAk x[0] + CAk−j−1 Bu[j] + Du[k].
j=0
(b) Show that a discrete-time linear system is asymptotically stable if and only if
all the eigenvalues of A have a magnitude strictly less than 1.
(c) Show that a discrete-time linear system is unstable if any of the eigenvalues of
A have magnitude greater than 1.
Chapter 6 – Linear Systems 6-3
(d) Derive conditions for stability of a discrete-time linear system having one or
more eigenvalues with magnitude identically equal to 1. (Hint: use Jordan form.)
(e) Let u[k] = sin(ωk) represent an oscillatory input with frequency ω < π (to
avoid “aliasing”). Show that the steady-state component of the response has gain
M and phase θ, where
then we can linearize the system around an equilibrium point (xe , ue ) by defining
the matrices A, B, C, and D as in equation (6.35).
Instructor note:Tags:
Instructor note:To simplify this problem, consider focusing just on the diagonal
case or the case where A has a full basis of eigenvectors.
6.9 (Keynesian economics) Consider the following simple Keynesian macroeco- [B,1ep]
nomic model in the form of a linear discrete-time system discussed in Exercise 6.8: linsys:discrete-keynes
Exercise 6.8
C[t + 1]
a a
C[t] a
= + G[t],
I[t + 1] ab − b ab I[t] ab
Y [t] = C[t] + I[t] + G[t].
Determine the eigenvalues of the dynamics matrix. When are the magnitudes of
the eigenvalues less than 1? Assume that the system is in equilibrium with constant
values capital spending C, investment I, and government expenditure G. Explore
what happens when government expenditure increases by 10%. Use the values
a = 0.25 and b = 0.5.
6.10 (Keynes model in continuous time) A continuous version of Keynes model is [B,?] linsys:keynes-ode
given by the equations
dC dI dc
Y = C + I + G, T + C = ay, T +I =b .
dt dt dt
Write the equations in state space form, and give the conditions for stability.
6-4 Feedback Systems: Solutions Manual - v2.1a
[B,1es] 6.11 (State variables in compartment models) Consider the compartment model
linsys:compartment- described by equation (4.28). Let x1 and x2 be the total mass of the drug in the
states
compartments. Show that the system can be described by the equation
dx −k0 − k1 k2 c0
= x + u, y = 0 1/V2 x. (S6.1)
dt k1 −k2 0
Compare the this equation with equation (4.28), where the state variables were
concentrations. Mass is called an extensive variable, and concentration is called an
intensive variable.
[?,2e*] 6.12 (Time responses from frequency responses) Consider the following MATLAB
linsys:timeresp-fft program, which computes the approximate step response from the frequency re-
sponse. Explain how it works and explore the effects of the parameter tmax.
% Compute the input and output signals using the frequency response
u = [ones(1,N/2) zeros(1,N/2)]; U = fft(u);
y = ifft(fftshift(pv) .* U); y = real(y);
Comment [RMM, 2018]: This exercise is a very different style compared with all others.
Need to discuss if we decide to include it in the printed text.
Response [KJA, 16 Aug 2018]: I think it is cool that we can compute time responses for
irrational transfer functions, should we introduce other examples of similar type or is there
any ohter way of handling it?
Response [KJA, 15 Jul 2019]: Maybe that we could make this to somehting clickable. I
added a bit of text.
Chapter 6 – Linear Systems 6-5
6.14 Consider the model for queuing dynamics in Example 3.15. Let the admission [N,1es]
rate λ be the control variable. Linearize the system around an equilibrium point, linsys:queue-linsys
compute the time constant of the system and determine how it depends on the
queue length.
6.15 (Transcriptional regulation) Consider the dynamics of a genetic circuit that [A,1ep]
implements self-repression: the protein produced by a gene is a repressor for that linsys:biocircuits-negfbk
gene, thus restricting its own production. Using the models presented in Exam-
ple 3.18, the dynamics for the system can be written as
dm α dp
= + α0 − δm − u, = κm − γp, (S6.2)
dt 1 + kp2 dt
6.16 (Monotone step response) Consider a stable linear system with monotone [B,1es]
step response S(t). Let the input signal be bounded: |u(t)| ≤ umax . Assuming linsys:conveq-monotone
that the initial conditions are zero, show that |y(t)| ≤ S(∞)umax . (Hint: Use the
convolution integral.)
Supplemental Exercises
6.17 (Normalized coordinates for second-order system) Assume that ζ < 1 and let [C,1es] linsys:transform-
p oscillator
ωd = ω0 1 − ζ 2 . Show that the systems
dx −ζω0 ωd dz 0 ω0
= x, = z
dt −ωd −ζω0 dt −ω0 −2ζω0
6.18State feedback for block diagram in reachable canonical form Consider a linear [C,2e] linsys:reachable-
system in reachable canonical form, whose block diagram is shown in Figure 7.4. block-sfb
Show directly in the block diagram that any characteristic polynomial can be ob-
tained by state feedback.
6-6 Feedback Systems: Solutions Manual - v2.1a
[C,1es] 6.19 (Matrix exponential for Jordan form) Using the computation for the matrix
linsys:matexp-jordan3x3 exponential, show that equation (6.11) in Feedback Systems holds for the case of a
3 × 3 Jordan block. (Hint: Decompose the matrix into the form S + N , where S is
a diagonal matrix.)
[C,1es] 6.20 (Solution of a second-order system) Using the convolution equation, write
linsys:conveq-secord down the complete solution for a second-order linear system with sinusoidal input:
ẍ + 2ζω0 ẋ + ω02 x = A sin ωt.
Make sure to describe any cases in which the form of the solution changes.
[C,2e] linsys:coord-trans 6.21 (Coordinate transformations) Consider the linear system with matrices
−0.5 0.5 −0.5
A=
, B= ,
C = 4 2
−1.5 −2.5 2.5
Determine the systems obtained after coordinate changes z = T x with the matrices
−2.0 0
4 2
3 1
T1 = , T2 = , T3 = .
2.5 0.5 7 3 1 1
Explore the transformed systems and explore if you can find some patterns.
[C,1es] linsys:purecosine 6.22 Consider the linear system (6.3) and let the input be u = cos ωt. Show that
if the initial condition is chosen as
x(0) = −A(ω 2 I + A2 )−1 B,
then there is no transient and that the output is a cosine function. Pick a system
and verify the result by simulation.
[D,1es] 6.23 Show that the differential equation (6.3) is a linear input/output system using
linsys:linsys-diffeq the definitions in Section 6.1.
6.24 For each of the following linear systems, determine whether the origin is
asymptotically stable and, if so, plot the step response and frequency response for
the system. If there are multiple inputs or outputs, plot the response for each pair
of inputs and outputs.
(a) Coupled spring mass system. Consider the coupled mass spring system from
Example 6.6 with m = 250, k = 50, and c = 10. The input u(t) is the force applied
to the right-most spring and the outputs are the positions q1 and q2 .
(b) Bridged Tee Circuit. Consider the following electrical circuit, with input vi and
output y = vo .
C2
1 2 3
R1 R2
vi ~ vo
C1
Chapter 6 – Linear Systems 6-7
where vc1 and vc2 are the voltages across the two capacitors. Assume that R1 =
100 Ω, R2 = 100 Ω, and C1 = C2 = 1 × 10−6 F.
(c) Compartment model. Consider the two-compartment model described in Sec-
tion 4.6 and shown below.
u
b0
k1
V1 V2
k2
k0
Show that the following state feedback stabilizes the linearization of the inverted
pendulum on a cart: K = [−15.3 1730 − 50 443].
(c) Now build a simulation for the closed loop, nonlinear system in SIMULINK. Use
the file balance_simple.mdl for the nonlinear equations of motion in it (you should
look in the file and try to understand how it works). Simulate several different initial
conditions and show that the controller locally asymptotically stabilizes the system
to xe from these initial conditions. Include plots of a representative simulation for
an initial condition that is in the region of attraction of the controller and one that
is outside the region of attraction.
6.26 Consider a stable linear time-invariant system. Assume that the system is
initially at rest and let the input be u = sin ωt, where ω is much larger than the
magnitudes of the eigenvalues of the dynamics matrix. Show that the output is
approximately given by
1
y(t) ≈ |G(iω)| sin ωt + arg G(iω) + h(t),
ω
where G(s) is the frequency response of the system and h(t) its impulse response.
Instructor note:This exercise makes use of the notation of a transfer function and
is appropriate for students who have some prior background in frequency domain
modeling.
which is stable but not asymptotically stable. Show that if the system is driven by
the bounded input u = cos t then the output is unbounded.
Chapter 7 – State Feedback 7-1
7.2 (Reachability from nonzero initial state) Extend the argument in Section 7.1 [B,1ep]
in Feedback Systems to show that if a system is reachable from an initial state of statefbk:reachable-
nonzeroic
zero, it is reachable from a nonzero initial state.
where the zero on the right hand side represents a matrix of elements with all zeros.
Use this result to show that An can be written in terms of lower order powers of
A and hence any matrix polynomial in A can be rewritten using terms of order at
most n − 1.
Instructor note:Use tag ‘diagonal‘ for a version of the problem in which the matrix
A is assumed to be diagonal.
7.4 (Unreachable systems) Consider a system with the state x and z described by [C,1ep*]
the equations statefbk:unreachable
dx dz
= Ax + Bu, = Az + Bu.
dt dt
If x(0) = z(0) it follows that x(t) = z(t) for all t regardless of the input that is
applied. Show that this violates the definition of reachability and further show that
the reachability matrix Wr is not full rank. What is the rank of the reachability
matrix?
7.5 (Rear-steered bicycle) A simple model for a bicycle was given by equation (4.5) [B,1ep] statefbk:bicycle-
in Section 4.2. A model for a bicycle with rear-wheel steering is obtained by revers- rearsteer
ing the sign of the velocity in the model. Determine the conditions under which
this systems is reachable and explain any situations in which the system is not
reachable.
7.6 (Characteristic polynomial for reachable canonical form) Show that the char- [B,1ep]
acteristic polynomial for a system in reachable canonical form is given by equa- statefbk:reachable-form
tion (7.7) and that
[N,1ep] statefbk:inverse- 7.7 (Reachability matrix for reachable canonical form) Consider a system in reach-
reachmat able canonical form. Show that the inverse of the reachability matrix is given by
1 a1 a2 · · · an−1
1 a1 · · · an−2
..
..
W̃r−1 =
1 . .
.
0 ..
. a1
1
with a = 1.25. Design a state feedback that gives det(sI − BK) = s2 + 2ζc ωc s + ωc2 ,
where ωc = 5, and ζc = 0.6.
[B,1ep] 7.10 (Eigenvalue assignment for unreachable system) Consider the system
statefbk:unreachable-
assign
dx 0 1 1
=
x + u, y = 1 0 x,
dt 0 0 0
Compute the rank of the reachability matrix for the system and show that eigen-
values of the system cannot be assigned to arbitrary values.
[N,1ep*] 7.11 (Motor drive) Consider the normalized model of the motor drive in Exer-
statefbk:dcmotor- cise 3.7. Using the following normalized parameters,
Exercise 3.7
statefbk
verify that the eigenvalues of the open loop system are 0, 0, −0.05 ± i. Design a
state feedback that gives a closed loop system with eigenvalues −2, −1, and −1 ± i.
This choice implies that the oscillatory eigenvalues will be well damped and that
the eigenvalues at the origin are replaced by eigenvalues on the negative real axis.
Simulate the responses of the closed loop system to step changes in the reference
signal for θ2 and a step change in a disturbance torque on the second rotor.
Chapter 7 – State Feedback 7-3
7.12 (Whipple bicycle model) Consider the Whipple bicycle model given by equa- [N,1ep]
tion (4.8) in Section 4.2. Using the parameters from the companion web site, the statefbk:bicycle-whipple
model is unstable at the velocity v0 = 5 m/s and the open loop eigenvalues are
−1.84, −14.29, and 1.30 ± 4.60i. Find the gains of a controller that stabilizes the
bicycle and gives closed loop eigenvalues at −2, −10, and −1 ± i. Simulate the
response of the system to a step change in the steering reference of 0.002 rad.
Next, find the controller gains corresponding to choosing the final pair of com-
plex poles at −2 ± 2i and −5 ± 5i.† In addition to calculating the state feedback RMM: Wording
gains, make sure to solve for the feedforward gain kf as well. For each case, simulate confusing; perhaps
the response to a step change in the steering reference of 0.002 rad and plot both given the entire list of
the steering angle and the torque command. poles for the two
additional cases?
7.13 (Performance specifications and transfer functions) Find the transfer function [?,2e] statefbk:req-to-trf
of a second order system that satisfies the following closed loop specifications: zero
steady-state error, 2% settling time less than 2 s, rise time less than 0.8 s, and
overshoot less than 3%.
7.14 (Dominant eigenvalues) Consider the following two linear systems: [?,1ep]
statefbk:dominant-pairs
dx −1.1 −0.1 1 dx −1.1 −0.1 1
=
x + u, =
x + u,
dt 1 0 0 dt 1 0 0
Σ1 : Σ2 :
y = 1.01 0.11 x, y = 1.1 1.01 x.
Show that although both systems have the same eigenvalues, the step responses of
the two systems are dominated by different sets of eigenvalues.
(a) Show that the initial slope of the unit step response is a. Discuss what it means
when a < 0.
(b) Show that there are points on the unit step response that are invariant with a.
Discuss qualitatively the effect of the parameter a on the solution.
(c) Simulate the system and explore the effect of a on the rise time and overshoot.
7.16 (Integral feedback for rejecting constant disturbances) Consider a linear sys- [B,1ep*]
tem of the form statefbk:integral-
dx noiserej
= Ax + Bu + F d, y = Cx
dt
where u is a scalar and v is a disturbance that enters the system through a distur-
bance vector F ∈ Rn . Assume that the matrix A is invertible and the zero frequency
gain CA−1 B is nonzero. Show that integral feedback can be used to compensate for
a constant disturbance by giving zero steady-state output error even when d 6= 0.
7-4 Feedback Systems: Solutions Manual - v2.1a
Instructor note:The solution for this exercise makes use of the Cayley–Hamilton
theorem (Exercise 7.3), which it might make sense to assign (or at least introduce)
first.
[?,1ep*] 7.17 (Bryson’s rule) Bryson and Ho [3] have suggested the following method for
statefbk:brysons-rule choosing the matrices Qx and Qu in equation (7.29). Start by choosing Qx and Qu
as diagonal matrices whose elements are the inverses of the squares of the maxima
of the corresponding variables. Then modify the elements to obtain a compromise
among response time, damping, and control effort. Apply this method to the motor
drive in Exercise 7.11. Assume that the largest values of the ϕ1 and ϕ2 are 1, the
Exercise 7.11
largest values of ϕ̇1 and ϕ̇2 are 2 and the largest control signal is 10. Simulate the
closed loop system for ϕ2 (0) = 1 and all other states are initialized to 0. Explore
the effects of different values of the diagonal elements for Qx and Qu .
[?,2e] statefbk:lqr-proof 7.18 (LQR proof) Use the Riccati equation (7.31) and the relation
RMM: New exercise
please check xT (tf )Qf x(tf ) − xT (0)S(0)x(0) =
Z tf
ẋT (t)S(t)x(t) + xT Ṡ(t)x(t) + xT (t)S(t)ẋ(t) dt.
0
to show that the cost function for the linear quadratic regulator problem can be
written as
Z tf
xT (t)Qx x(t) + uT (t)Qu u(t) dt + xT (tf )Qf x(tf )
0
Z tf T
T T T
= x (0)S(0)x(0) + u(t) + Q−1
u B S(t)x(t) Qu u(t) + Q−1
u B S(t)x(t) dt,
0
T
from which it follows that the control law u(t) = −Kx(t) = −Q−1u B S(t)x(t) is
optimal. Does the proof hold when all matrices depend on time?
Supplemental Exercises Comment [RMM, 27 Aug 2008]: The following three ex-
ercises were removed based on conversations with Karl. (It would be nice to indicate why
they were removed.) The first of these was referenced in the text, so we might want to
replace it with something?
[C,1es?] 7.19 (Unreachable systems (variant)) Consider the system shown in Figure 7.3.
statefbk:unreachable- Write the dynamics of the two systems as
pendula
dx dz
= Ax + Bu, = Az + Bu.
dt dt
If x(0) = z(0) it follows that x(t) = z(t) for all t regardless of the input that is
applied. Show that this violates the definition of reachability and further show that
the reachability matrix Wr is not full rank. What is the rank of the reachability
matrix?
Chapter 7 – State Feedback 7-5
Instructor note:This problem can be confusing. The figure shows the two pendula
rigidly attached to a beam =¿ there are really only three degrees of freedom (6
states) not four DOF (8 states). Also, Figure 7.3 is drawn such that it appears that
θ1 = θ2 when the pendula are at opposite angles, rather than the same angle.
7.20 Consider a control system with integral feedback, as given in equations (7.26) [C,1es]
and (7.27). Show that the proper value of kf to achieve y = r with no contribution statefbk:integral-refgain
from the integrator is given by
kf = −1/ C(A − BK)−1 B ,
where A, B, and C describe the dynamics of the original system (without the
integrator added) and K is the corresponding gain matrix for the process states.
Specialize to the inverted pendulum and explore the effects of kf on the step response
from reference to output.
This is not a great exercise as written. If we include this exercise, add additional material RMM
to describe how kf trades off with the integral term. Note from KJA: I agree, tried a
simple addition above, but I still think it is too weak
7.21 Prove that there exists a transformation matrix T that transforms (A, B) to [?,2e]
reachable canonical form if and only if (A, B) is reachable. statefbk:reachable-
conditions
7.22 (Unreachable compartment model) Consider the compartment model below [D,1es]
with parameters k0 = 0.1, k1 = 0.1, k2 = 0.5, k3 = 0.4, k4 = 0.6, and k5 = 0.08. statefbk:compartment-
nonreach
u V1 k0
k1 k4
k3
k2
V2 V3
k5 RMM: Add photo
showing a relevant
Assume that a drug is injected in compartment V1 and that we wish to obtain a physical example?
given drug concentration in compartment V3 . Determine whether system is reach-
able.
7.23 Equation (7.13) gives the gain required to maintain a given reference value [D,1es]
for a system with no direct term. Compute the feedforward gain in the case where statefbk:refgain-direct
D 6= 0.
7.24 Build a simulation for the speed controller designed in Example 7.8 and show [D,1es] statefbk:cruise-
that even with kf = 0, the system still achieves zero steady-state error. norefgain
7.25 (Atomic force microscope) Consider the model of an AFM in contact mode [C,1ep]
given in Example 6.9: statefbk:afm-scalelqr
0 1 0 0 0
−k /(m + m ) −c /(m + m ) 1/m
dx 2 1 2 2 1 2 2 0
0
=
x +
u,
dt 0 0 0 ω 0
3
0 0 −ω3 −2ζ3 ω3 ω3
m2 m1 k 2 m1 c 2
y= 1 0
x.
m1 + m2 m1 + m2 m1 + m2
7-6 Feedback Systems: Solutions Manual - v2.1a
Use the MATLAB script afm_data.m from the companion web site to generate the
RMM: Put reference system matrices.†
to file on web site
(a) Compute the reachability matrix of the system and numerically determine its
rank. Scale the model by using milliseconds instead of seconds as time units. Repeat
the calculation of the reachability matrix and its rank.
(b) Find a state feedback controller that gives a closed loop system with complex
poles having damping ratio 0.707. Use the scaled model for the computations.
(c) Compute state feedback gains using linear quadratic control. Experiment by
using different weights. Compute the gains for q1 = q2 = 0, q3 = q4 = 1 and
ρ1 = 0.1 and explain the result. Choose q1 = q2 = q3 = q4 = 1 and explore what
happens to the feedback gains and closed loop eigenvalues when you change ρ1 .
Use the scaled system for this computation.
Instructor note:Part (c) can be made more concrete by refining the specifications
for the LQR weights.
[B,2e] statefbk:prop-nav 7.26 (Proportional navigation) The figure below is a schematic representation of a
two-dimensional pursuit problem. The pursuer is attempting to reach the target as
RMM: New exercise
please check vt
vp
T
r
ϕp y
γ ϕt
P
quickly as possible. Develop a linear model and use linear optimal control theory
to derive a control law. You can use the model ϕ̇p = u as a model for the pursuer.
Express the control law in terms of the line of sight γ ≈ y/r to the pursuer.
[B,1es] statefbk:dint-sfb 7.27 (State feedback for double integrator) The double integrator is described by
d
x1
= 0 1 x1 0 x1
+ u = Ax + Bu, y = 1 0 = Cx
dt x2 0 0 x2 1 x2
Determine a state feedback that gives a closed loop system with unit static gain
and the characteristic polynomial s2 + 2ζ0 ω0 s + ω02 .
[B,1es] statefbk:dint-lqg 7.28 (LQR control for double integrator) Consider the double integrator
d x1
0 1 x1 0
= + u = Ax + Bu.
dt x 2 0 0 x 2 1
Find a state feedback that minimizes the quadratic cost function
Z ∞
J= q1 x21 + q2 x22 + qu u2 dt
0
7.29 (State feedback for inverted pendulum) Consider the normalized, linearized [B,1es]
inverted pendulum which is described by statefbk:invpend-sfb
d
x1 0 1 x1 0 x1
=
+ u = Ax + Bu, y = 1 0 = Cx
dt x2 1 0 x2 1 x2
Determine a state feedback and feedforward gain u = −Kx + kf r that gives a
closed loop system with unit static gain (steady-state output y = r) and with the
characteristic polynomial s2 + 2ζ0 ω0 s + ω02 .
7.30 (LQR control for inverted pendulum) Consider the normalized, linearized [B,1es]
inverted pendulum which is described by statefbk:invpend-lqg
d
x1
0 1 x1 0
= +
u = Ax + Bu.
dt x2 1 0 x2 1
Find a state feedback that minimizes the quadratic cost function
Z ∞
J= q1 x21 + q2 x22 + qu u2 dt
0
[?,2e] statefbk:ric-euler 7.34 (Riccati and Euler equations) Consider the Riccati equation
KJA: Euler equation
not mentioned in dS
− = AT S + SA − SBQ−1 T
u B S + Qx , S(tf ) = Qf ,
exercise? dt
which is quadratic in S. Show that the solution is
S(t) = [Ψ21 (t) + Ψ22 (t)Qf ][Ψ11 (t) + Ψ12 (t)Qf ]−1 ,
is an observer. Show that it has the advantage of giving the state instantaneously
but that it also has some severe practical drawbacks.
8-2 Feedback Systems: Solutions Manual - v2.1a
Comment [KJA, 15 Jul 2019]: I suggest that we move this earlier; for example after 8.4
[C,1ep] 8.9 (Observer for Teorell’s compartment model) Teorell’s compartment model,
outputfbk:compartment- shown in Figure 4.17, has the following state space representation:
teorellobs
−k1 0 0 0 0 1
k
−k − k 0 k 0 0
dx
1 2 4 3
= 0 k 4 0 0 0
x +
0
u,
dt
0 k 0 −k − k 0
0
2 3 5
0 0 0 k5 0 0
The initial condition is Gaussian with mean value x0 and covariance P0 . Determine
the Kalman filter for the system and analyze what happens for large t.
[B,2e] 8.13 (Vertical alignment) In navigation systems it is important to align a system
outputfbk:vert-align to the vertical. This can be accomplished by measuring the vertical acceleration
and controlling the platform so that the measured acceleration is zero. A simplified
one-dimensional version of the problem can be modeled by
dϕ
= u, u = −ky, y = ϕ + w,
dt
Chapter 8 – Output Feedback 8-3
where ϕ is the alignment error, u the control signal, y the measured signal, and w
the measurement noise, which is assumed to be white noise with zero mean and
covariance function E(w(s)wT (t)) = rw δ(t−s). The initial misalignment is assumed
to be a random variable with zero mean and the covariance P0 . Determine a time-
varying gain k(t) such that the error goes to zero as fast as possible. Compare this
with a constant gain.
Supplemental Exercises
8.14 (Transformation to observable form) Consider the system [C,2e] observable-form
dx −4 1 3
= x + u, y = 1 −1 x.
dt −6 1 7
(a) Construct an observer for the system and find expressions for the observer gain
T
L = l1 l2 such that the observer has natural frequency ω0 and damping ratio
ζ.
(b) Suppose that we choose a different output
ỹ = 1 γ x.
Are there any values of γ for which the system is not observable? If so, provide
an example of an initial condition and output where it is not possible to uniquely
determine the state of the system by observing its inputs and outputs.
8.16 (Balance system) Consider the linearized model of a pendulum on a cart given [A,1es]
in Example 3.10. Is the system is observable from the cart position? What happens outputfbk:balance-
observable
if the ratio m/M goes to zero? Discuss qualitatively the effect of friction on the
cart.
Instructor note:Note: Need to be more concrete about what exactly the answer
should contain.
8.17 (Uniqueness of observers) Show that the design of an observer by eigenvalue [D,1ep]
assignment is unique for single-output systems. Construct examples that show that outputfbk:observer-
assign
the problem is not necessarily unique for systems with many outputs.
8.18 (Observer design for motor drive) Consider the normalized model of the motor [D,1ep]
drive in Exercise 3.7 where the open loop system has the eigenvalues 0, 0, −0.05 ± i. outputfbk:dcmotor-
Exercise 3.7
observer
A state feedback that gave a closed loop system with eigenvalues in −2, −1, and
−1 ± i was designed in Exercise 7.11. Design an observer for the system that has
Exercise 7.11
eigenvalues −4, −2, and −2 ± 2i. Combine the observer with the state feedback
from Exercise 7.11 to obtain an output feedback and simulate the complete system.
Exercise 7.11
8-4 Feedback Systems: Solutions Manual - v2.1a
[D,1ep] 8.19 (Feedforward design for motor drive) Consider the normalized model of the
outputfbk:dcmotor- motor drive in Exercise 3.7. Design the dynamics of the block labeled “trajec-
Exercise 3.7
feedforward
tory generation” in Figure 8.11 so that the dynamics relating the output η to the
reference signal r has the dynamics
d3 y m d2 y m dym
3
+ a m1 2
+ am2 + am3 ym = am3 r, (S8.1)
dt dt dt
2 3
with parameters am1 = 2.5ωm , am2 = 2.5ωm , and am3 = ωm . Discuss how the
largest value of the feedforward signal for a unit step in the reference signal depends
on ωm .
[D,1ep] 8.20 (Discrete-time random walk) Suppose that we wish to estimate the position
outputfbk:kalman- of a particle that is undergoing a random walk in one dimension (i.e., along a line).
randomwalk
We model the position of the particle as
where x is the position of the particle and u is a white noise processes with E{u[i]} =
0 and E{u[i] u[j]} = Ru δ(i − j). We assume that we can measure x subject to
additive, zero-mean, Gaussian white noise with covariance 1.
(a) Compute the expected value and covariance of the particle as a function of k.
(b) Construct a Kalman filter to estimate the position of the particle given the
noisy measurements of its position. Compute the steady-state expected value and
covariance of the error of your estimate.
(c) Suppose that E{u[0]} = µ 6= 0 but is otherwise unchanged. How would your
answers to parts (a) and (b) change?
[D,1es] 8.21 (Balance system with biased measurement) A normalized model of a pendulum
outputfbk:balance- on a cart is described by the equations
statectrl
ẍ = u, θ̈ = θ + u,
where we have assumed that the cart is very heavy (see Example 3.10). Assume
that the cart position q and the pendulum angle θ are measured. It is often difficult
to exactly calibrate an angle sensor and thus there may be a constant error θ0 in the
measurement. This can be modeled by introducing a new state θ0 whose dynamics
are given by θ̇0 = 0. Show that the augmented system is observable from y1 = q
and y2 = θ + θ0 and use this to design a controller that compensates for the bias.
[D,1es] 8.22 (Duality) Show that the following MATLAB function computes the gain L of
outputfbk:observer- an observer for the system ẋ = Ax, y = Cx that gives an observer whose eigenvalues
duality
are the elements of the vector p.
function L=observer(A,C,p)
L=place(A’,C’,p);L=L’;
Test the program on some examples where you have calculated the result by hand.
Chapter 8 – Output Feedback 8-5
8.23 (Balance system) Design an observer for the pendulum on a cart. Combine [B,1es]
the observer with the state feedback developed in Example 7.7 to obtain an output outputfbk:cartpend-
observer
feedback. Simulate the system and investigate the effect of a bias error in the angle
sensor.
Instructor note:Note: Need to be more concrete about what exactly the answer
should contain.
8.24 (Trajectory generation) Consider the trajectory generation problem for the [B,1es]
system outputfbk:trajgen-scalar
dx
= −ax3 + bu,
dt
where x ∈ R is a scalar state, u ∈ R is the input, the initial state x(t0 ) is given,
and a, b ∈ R are positive constants.
(a) Show that the system is differentially flat with appropriate choice of output(s)
and compute the state and input as a function of the flat output(s).
8.25 (Selection of eigenvalues) Pick up the program for simulating Figure 8.4 from [C,1es] Move to wiki
RMM:
the wiki. Read the program and make sure that you understand it. Explore the outputfbk:compartment-
poleplace
behavior of the estimates for different choices of eigenvalues.
8.26 (Kalman filter for scalar ODE) Consider a scalar control system [C,?]
outputfbk:kalman-scalar
dx
= λx + u + σv v, y = x + σw w,
dt
where v and w are zero-mean, Gaussian white noise processes with covariance 1
and σv , σw > 0. Assume that the initial value of x is modeled as a Gaussian with
mean x0 and variance σx20 .
(a) Write down the Kalman filter for the optimal estimate of the state x and
compute the steady-state value(s) of the mean and covariance of the estimation
error.
(b) Assume that we initialize our filter such that the initial covariance starts near
a steady-state value p∗ . Given conditions on λ such that error covariance is locally
stable about this solution.
8.27 (Double integrator) Consider the normalized double integrator described by [C,2e] outputfbk:dint-kf
RMM: New exercise
d
x1
0 1
x1
0 x1
= + u = Ax + Bu,
y = 1 0 = Cx
dt x2 0 0 x2 1 x2
Determine an observer and find the observer gain that gives dynamics characterized
by the characteristic polynomial s2 + 2ζ0 ω0 s + ω02 .
8-6 Feedback Systems: Solutions Manual - v2.1a
[C,2e] 8.28 (Inverted pendulum) Consider the normalized inverted pendulum described
outputfbk:invpend-kf by
RMM: New exercise
d
x1
0 1
x1
0 x1
= + u = Ax + Bu, y = 1 0
= Cx
dt x2 1 0 x2 1 x2
Determine an observer and find the observer gain that gives dynamics characterized
by the characteristic polynomial s2 + 2ζ0 ω0 s + ω02 .
[C,2e] 8.29 (Inverted pendulum with rate sensor) Consider the normalized inverted pen-
outputfbk:invpend-kf2 dulum, where the angular velocity is the measured output. The system is described
RMM: New exercise
by
d
x1 = 0 1x1 + 0 u = Ax + Bu, x1
y = 0 1 = Cx
dt x2 1 0 x2 1 x2
Determine an observer and find the observer gain that gives dynamics characterized
by the characteristic polynomial s2 + 2ζ0 ω0 s + ω02 .
[C,2e] 8.30 Consider the vehicle steering problem described in Example 8.8. Construct
outputfbk:steering- a trajectory that executes a lange change and sets of the initial and final steering
lanechange
angle to zero.
[C,2e] 8.31 (LQG control for a first-order system) Consider the system
outputfbk:lqg-firstorder
dx
= ax + bu + v, y = cx + w
dt
where all variables are scalar and w are uncorrelated white noise disturbances with
zero mean values and covariance functions
The initial condition is Gaussian with mean value x0 and covariance P0 . Determine
a controller that minimizes the cost function
Z tf
2
J = min q0 x (tf ) + qx x2 (t) + qu u2 (t) dt ,
0
where q0 , qx , and qu are all positive. Explore the different contributions to the
minimal loss and Investigate what happens when tf goes to infinity.
9.2 Let G(s) be the transfer function for a linear system. Show that if we ap- [B,1ep] xferfcns:sininput
ply an input u(t) = A sin(ωt), then the steady-state output is given by y(t) =
|G(iω)|A sin(ωt + arg G(iω)). (Hint: start by showing that the real part of a com-
plex number is a linear operation and then use this fact.)
9.3 (Inverted pendulum) A model for an inverted pendulum was introduced in [B,1ep*]
Example 3.3. Neglecting damping and linearizing the pendulum around the upright xferfcns:invpend-xferfcn
position gives a linear system characterized by the matrices
0 1
0
A= , B = , C = 1 0 , D = 0.
mgl/Jt 0 1/Jt
9.4 (Operational amplifier) Consider the operational amplifier described in Åström [B,1ep]
and Murray, Section 4.3 and analyzed in Example 9.2. An analog implementation xferfcns:opamp-pictrl
of a PI controller can be constructed using an op amp by replacing the resistor
R2 with a resistor and capacitor in series, as shown in Figure 4.10. The resulting
transfer function of the circuit is given by
!
1 kCs
H(s) = − R2 + · ,
Cs (k + 1)R1 C + R2 C s + 1
where k is the gain of the op amp, R1 and R2 are the resistances in the compensation
network and C is the capacitance.
(a) Sketch the Bode plot for the system under the assumption that k ≫ R2 > R1 .
You should label the key features in your plot, including the gain and phase at low
frequency, the slopes of the gain curve, the frequencies at which the gain changes
slope, etc.
(b) Suppose now that we include some dynamics in the amplifier, as outlined in
Example 9.2. This would involve replacing the gain k with the transfer function
ak
G(s) = .
s+a
Compute the resulting transfer function for the system (i.e., replace k with G(s))
and find the poles and zeros assuming the following parameter values
R2
= 100, k = 106 , R2 C = 1, a = 100.
R1
9-2 Feedback Systems: Solutions Manual - v2.1a
(c) Sketch the Bode plot for the transfer function in part (b) using straight line
approximations and compare this to the exact plot of the transfer function (using
MATLAB). Make sure to label the important features in your plot.
Note: it is not important that you understand the details of the circuit dynamics
to complete this problem; you can simply work with the transfer functions that are
given.
[B,2e] 9.5 (Delay differential equation) Consider a system described by
xferfcns:ode-with-delay
dx
= −x(t) + u(t − τ )
dt
Derive the transfer function for the system.
[A,1ep*] 9.6 (Congestion control) Consider the congestion control model described in Sec-
xferfcns:congctrl- tion 4.4. Let w represent the individual window size for a set of N identical sources,
xferfcns
q represent the end-to-end probability of a dropped packet, b represent the number
of packets in the router’s buffer, and p represent the probability that a packet is
dropped by the router. We write w̄ = N w to represent the total number of packets
being received from all N sources. Show that the linearized model can be described
by the transfer functions
f
e−τ s N
Gbw̄ (s) = , Gw̄q (s) = ,k
p
τe s + e−τ f s qe (τep s + qe we )
b p
Gqp (s) = e−τ s , Gpb (s) = ρe−τe s ,
where (we , be ) is the equilibrium point for the system, τep is the router processing
time, and τ f and τ b are the forward and backward propagation times.
Instructor note:This exercise is fairly intricate and getting exactly the given expres-
sions requires following the assumptions made by Low et al. [7]. It might be worth
assigning [7] as reading for this problem. The results of this problem are used in
Exercise 10.7.
[B,1ep] 9.7 (Transfer function for state space system) Consider the linear state space system
xferfcns:ssxferfcn
dx
= Ax + Bu, y = Cx.
dt
(a) Show that the transfer function is
b1 sn−1 + b2 sn−2 + · · · + bn
G(s) = ,
sn + a1 sn−1 + · · · + an
where the coefficients for the numerator polynomial are linear combinations of the
Markov parameters CAi B, i = 0, . . . , n − 1:
(b) Compute the transfer function for a linear system in reachable canonical form
and show that it matches the transfer function given above.
9.8 Consider linear time-invariant systems with the control matrices [B,2e*] xferfcns:ss2trf
−1 0 2
(a) A=
,
B= , C = 1 −1 , D = 0,
0 −2 1
−3 1 1
(b) A=
, B=
, C = 1 0 , D = 0,
−2 0 3
−3 −2 1
(c) A=
,
B= , C = 1 3 , D = 0.
1 0 0
s+3
Show that all systems have the transfer function G(s) = .
(s + 1)(s + 2)
9.9 (Kalman decomposition) Show that the transfer function of a system depends [B,1ep]
only on the dynamics in the reachable and observable subspace of the Kalman xferfcns:kalmandecomp
decomposition. (Hint: Consider the representation given by equation (8.20).)
9.10 Using block diagram algebra, show that the transfer functions from v to y and [B,1ep*]
w to y in Figure 9.6 are given by xferfcns:ctrlxferfcns
P 1
Gyv = Gyw = .
1 + PC 1 + PC
9.11 (Vectored thrust aircraft) Consider the lateral dynamics of a vectored thrust [C,1ep*]
aircraft as described in Example 3.12. Show that the dynamics can be described xferfcns:pvtol-lateraltf
using the following block diagram:
r θ ν 1
u1 −mg Σ x
Js2 ms2 + cs
Use this block diagram to compute the transfer functions from u1 to θ and x and
show that they satisfy
r Js2 − mgr
Hθu1 = , Hxu1 = .
Js2 Js2 (ms2 + cs)
9.12 (Vehicle suspension [5]) † Active and passive damping are used in cars to give [C,1ep] xferfcns:vehicle-
a smooth ride on a bumpy road. A schematic diagram of a car with a damping Comment quartercar[RMM, 12
system in shown in the figure below. Aug 2019]: Changed x
to q throughout
9-4 Feedback Systems: Solutions Manual - v2.1a
Body
qb
F +
Actuator Σ
qw -
F
Wheel
qr
(Porter Class I race car driven by Todd Cuffaro)
This model is called a quarter car model, and the car is approximated with two
masses, one representing one fourth of the car body and the other a wheel. The
actuator exerts a force F between the wheel and the body based on feedback from
the distance between the body and the center of the wheel (the rattle space).
Let qb , qw and qr represent the heights of body, wheel, and road measured
from their equilibrium points. A simple model of the system is given by Newton’s
equations for the body and the wheel,
where mb is a quarter of the body mass, mw is the effective mass of the wheel
including brakes and part of the suspension system (the unsprung mass) and kt is
the tire stiffness. For a conventional damper consisting of a spring and a damper,
we have F = k(qw − qb ) + c(q̇w − q̇b ). For an active damper the force F can
be more general and can also depend on riding conditions. Rider comfort can be
characterized by the transfer function Gaqr from road height qr to body acceleration
p that this transfer function has the property Gaqr (iωt ) = kt /mb ,
a = q̈b . Show
where ωt = kt /mw (the tire hop frequency). The equation implies that there are
fundamental limits to the comfort that can be achieved with any damper.
[B,1ep] xferfcns:pzsolns 9.13 (Solutions corresponding to poles and zeros) Consider the differential equation
sn + a1 sn−1 + · · · + an = 0.
Show that if u(t) = 0, the differential equation has the solution y(t) = eλt .
Show that if the input is u(t) = eκt , then there is a solution to the differential
equation that is identically zero.
Chapter 9 – Transfer Functions 9-5
9.14 (Pole/zero cancellation) Consider a closed loop system of the form of Fig- [A,1ep*]
ure 9.6, with F = 1 and P and C having a pole/zero cancellation. Show that if xferfcns:pzcancel
each system is written in state space form, the resulting closed loop system is not
reachable and not observable.
9.15 (Inverted pendulum with PD control) Consider the normalized inverted pen- [B,1ep]
dulum system, whose transfer function is given by P (s) = 1/(s2 − 1) (Exer- xferfcns:invpend-
pzcancel
cise 9.3). A proportional-derivative control law for this system has transfer function
Exercise 9.3
C(s) = kp +kd s (see Table 9.1). Suppose that we choose C(s) = α(s−1). Compute
the closed loop dynamics and show that the system has good tracking of reference
signals but does not have good disturbance rejection properties.
Supplemental Exercises
9.16 (Water heater) Consider the water heater in Example 3.13, which is modeled [C,2e*]
by xferfcns:waterheater
dm dT qin 1
= qin − qout , = (Tin − T ) + P,
dt dt m mC
(see equation (3.31)). Linearize the equations and derive the transfer functions
from the inflow qin and the heating power P to the level h and the temperature T
of the tank.
9.17 (Bicycle dynamics) The linearized model for a bicycle is given in equation (4.5), [C,2e]
which has the form xferfcns:bicycle-trf
d2 ϕ Dv0 dδ mv02 h
J 2
− = mghϕ + δ,
dt b dt b
where ϕ is the tilt of the bicycle and δ is the steering angle. Derive the transfer
function of the system using the approximation
p J = mh2 and D = mah. Show
that the system has poles at s = ± g/h and a zero at s = −v0 /a.
9.18 (Bode plot for a simple zero) Show that the Bode plot for transfer function [C,1ep]
G(s) = (s + a)/a can be approximated by xferfcns:bode-zero
(
0 if ω < a,
log |G(iω)| ≈
log ω − log a if ω > a,
0 if ω < a/10,
∠G(iω) ≈ 45 + 45(log ω − log a) if a/10 < ω < 10a,
90 if ω > 10a.
9.19 [Contributed by D. MacMartin, Nov 2011] For each of the following systems, [B,2e]
sketch the frequency response (magnitude and phase) by hand (you may use MAT- xferfcns:freqresp-sketch
LAB first with specific parameter values if you wish). Make sure that the gain at
zero frequency is marked, the slope indicated, and key frequencies, but don’t worry
about the details. All parameters (a, b, ω, ζ) below are positive.
9-6 Feedback Systems: Solutions Manual - v2.1a
1 s+a
(a) G1 (s) = , with b = 10a (f) G5 (s) =
(s + a)(s + b) s−a
s+a s−a
(b) G2 (s) = , with b = 2a (e) G6 (s) =
s+b s+a
s+a 1
(c) G3 (s) = (g) G7 (s) = , with ζ ≪ 1
s4 s2
+ 2ζωs + ω 2
1 + s/a a
(d) G4 (s) = , with b > 10a (h) G8 (s) = 2 , with ζ ≪ 1
s+b s − 2ζωs + ω 2
[C,2e] 9.20 Consider the block diagram for the following second-order system
xferfcns:secord-blk2tf
c
z
+
1 1 +
r y
s s
− −
(a) Compute the transfer function Hyr between the input r and the output y.
(b) Show that the following state space system has the same transfer function, with
the appropriate choice of parameters:
d x1
0 1 x1 0
= + r
dt x2 −a2 −a1 x2 1
x1
y = b2 b1 + dr
x2
Give the values of ai , bi , and d that correspond to the transfer function you com-
puted in (a).
(c) Compute the transfer function Hzr between the input r and the output z.
(Hint: It is not Hzr = 1.)
[B,1es] 9.21 For the control systems below, determine the steady-state error, the maximum
xferfcns:freqexamps frequency for which the closed loop system can track with less than 5% error and
the approximate closed loop bandwidth of the system.
(a) Disk drive read head positioning system, using “lead” compensator:
1 s+1
P (s) = C(s) = 1000
s3 + 10s2 + 3s + 10 s + 10
Chapter 9 – Transfer Functions 9-7
100
P (s) = C(s) = s + 10
(100s + 1)(s + 1)
9.22 A nice property of Bode plots is that they can be used to simplify a complicated [B,1es] xferfcns:model-
model in given frequency regimes. Consider for example the model of the AFM simplification
whose Bode, plot is shown in Figure 9.17. The transfer function is close to the
transfer function G(s) = k for frequencies less than 1 kHz. Demonstrate that it
may indeed be possible to use this approximation by designing an integral controller
(C(s) = ki /s) for the simplified model that gives a closed loop system with the
transfer function Gcl (s) = a/(s + a), with a = 5000. Apply the controller to the
complex model, simulate the system and explore if the controller works.
9.23 Consider the following simplified equations of motion for a cruise control [B,1es]
system (these are a linearization of the equations from Section 3.1 in Åström and xferfcns:cruise-pictrl
Murray): RMM: Parameters
dv don’t match running
m = −cv + bτ + Fhill ,
dt
where m = 1000† kg is the mass of the vehicle, c = 50 N s/m is the viscous damping RMM: 1600?
coefficient, and b = 25 is the conversion factor between engine torque and the force
applied to the vehicle. We model the engine using a simple first-order equation
dτ
= a(−τ + T u),
dt
where a = 0.2 is the lag coefficient and T = 200 is the conversion factor between
the throttle input and the steady-state torque.
The simplest controller for this system is a proportional control, u = kp e, where
e = (r − v) (r is the reference speed).
(a) Draw a block diagram for the system, with the engine dynamics and the vehi-
cle dynamics in separate blocks and represented by transfer functions. Label the
reference input to the closed loop system as r, the disturbance due to the hill as d,
and the output as y (= v).
(b) (MATLAB) Construct the transfer functions Her and Hyd for the closed loop
system and use MATLAB to generate the step response (step) and frequency
response (bode) for the each. Assume that kp = 0.5. Make sure to use the transfer
function computation.
dxc
= r − v, u = kp e + ki x c .
dt
This control law contains an “integral” term, which uses the controller state xc to
integrate the error. Compute the transfer functions for this control law and redraw
your block diagram from part (a) with the default controller replaced by this one.
9-8 Feedback Systems: Solutions Manual - v2.1a
(d) (MATLAB) Using the gains kp = 0.5 and ki = 0.1, use MATLAB to compute
the transfer function from r to y and plot the step response and frequency response
for the system.
[B,1es] 9.24 Consider the electrical motor in Exercise ??. Show that the transfer function
xferfcns:dcmotor-xferfcn from voltage to angular velocity is given by Supplement 3.23
kI
GωV = .
(Js + c)(Ls + R) + kE kI
In addition, show that if the damping c is negligible and the inductance L is small,
the transfer function can be approximated by
1 1
GωV = ,
kE (1 + f sTm )(1 + sTe )
RJ L
where Tm = is the mechanical time constant and Te = is the electrical
kE kI R
time constant.
[B,1es] 9.25 Match the transfer functions
xferfcns:xferfcn-match
s 1 −1.5s + 1
Y1 (s) = Y2 (s) = Y3 (s) =
s2 + s + 1 s+1 s2 + 2s + 1
1 10 1
Y4 (s) = Y5 (s) = Y6 (s) =
s + 10 s + 10 (s + 1)4
1 1 1
Y7 (s) = 2 Y8 (s) = Y9 (s) = 2
s + 0.3s + 1 (s + 1)8 s +s+1
with the step responses given below.
A B C
1
1 0.1
0.5
y
0.5 0.05
0
0 0 −0.5
0 10 20 0 0.2 0.4 0.6 0 5 10
D E F
2
1 1
1.5
1
y
0.5 0.5
0.5
0 0 0
0 2 4 6 0 5 10 0 20 40
G H i
1
1 1
0.5
y
0.5 0.5
0
0 0
0 5 10 0 0.2 0.4 0.6 0 5 10 15
RMM: Nonstandard t t t
resizing commands
Chapter 9 – Transfer Functions 9-9
(Hint: Think first and use computer tools to check your results!)
9.26 [C,1es] xferfcns:heat-
propagation
Comment [KJA, 12 Sep 2018]: Edited to make it more of an exercise
The physicist Ångström, who is associated with the length unit Å, used fre-
quency response to determine the thermal diffusivity of metals [1]. A long metal
rod with small cross section was used. A heat wave is generated by periodically
varying the temperature at one end of the sample. Thermal diffusivity is then deter-
mined by analyzing the attenuation and phase shift of the heat wave. A schematic
diagram of Ångström’s apparatus along with some sample data is shown below:
The copper rod had length 0.57 m, diameter 23.75 mm, and holes were drilled at
distances of 0.05 m. The input was generated by switching from steam to cold
water periodically. Switching was done manually because of the low frequencies
used.
Heat propagation in a metal rod is described by the partial differential equation
∂T ∂2T
= a 2 − µT,
∂t ∂x
where a = λ/(ρC) is the thermal diffusivity and the last term represents thermal
loss to the environment. † RMM: Make sure
Show that the transfer function relating temperatures at points with the distance notation is consistent
l is √ with other thermal
G(s) = e−l (s+µ)/a , diffusivity examples.
l2 ω
log |G(iω)| arg G(iω) = , (S9.1)
2a
which shows that diffusivity can be determined by propagation of temperature in
the material. The formula was the key in Ångström’s method for determining
thermal diffusivity. Notice that the parameter µ representing the thermal losses
does not appear in the formula.
9.27 Consider the simple queue model [B,1es]
xferfcns:queue-xferfcn
dx x
=λ−µ
dt x+1
9-10 Feedback Systems: Solutions Manual - v2.1a
based on continuous approximation, where λ is the arrival rate and µ is the service
rate. Linearize the system around the equilibrium point obtained with λ = λe
and µ = µe . The queue can be controlled by influencing the admission rate λ =
uλe or the service rate µ = uµe . Compute the transfer functions for these two
control inputs and give the gains and the time constants of the system. Discuss the
particular case when the ratio r = λe /µe goes to 1.
[B,2e] xferfcns:invpend- 9.28 (Inverted pendulum with rate sensor) Consider a normalized inverted pendu-
ratesens lum with a rate sensor described by
d
x1
0 1
x1
0 x1
= + u = Ax + Bu, y = 0 1
= Cx
dt x 2 1 0 x 2 1 x2
Design a controller based on state feedback and an observer such that the matrices
A−BK and A−LC have the characteristic polynomials s2 +a1 s+a2 and s2 +b1 s+b2
with all coefficients positive. Show that the controller transfer function always has
a pole in the right half-plane.
[C,2e]RMM: Drop this
xferfcns:opamp- 9.29 The static model of the operational amplifier given by equation (4.11) can be
dynamics
exercise? This is improved by introducing dynamics. A more realistic model is obtained by repre-
included as an senting the linear behavior of the amplifier by the transfer function
example
b
G(s) =
s+a
The parameter b is called the gain-bandwidth product and is typically in the range
107 –1010 rad/s, but it can also be several order of magnitudes larger. The time
constant a is typically around 0.1. Designers of operational amplifiers are making
great efforts to obtain this characteristics. There are however typically additional
poles at frequencies around b. Use this model to derive the transfer function of the
systems in Figures 4.9a and 4.10.
[B,2e] 9.30 It is necessary to filter signals before using them in a feedback loop. Design
xferfcns:opamp-filter a circuit with operational amplifiers that gives a second-order filter with damping
ratio ζ = 0.707. Show that the filter can deliver filtered versions of the signal and
its derivative.
[C,1es] xferfcns:lq-scalar 9.31 Consider a process P with dynamics
dx
= ku + d, y = x + n.
dt
We wish to design a controller C(s) using an observer-based optimal control law.
(a) Design a state feedback controller u = −Kx for the system that minimizes the
cost function Z ∞
J= y 2 + u2 dt
0
(assume that the full state is available for feedback and ignore the disturbances and
noise).
(b) Design an observer for this system that places the closed loop pole for the
observer at s = −1.
Chapter 9 – Transfer Functions 9-11
(c) Letting α = K represent the state feedback gain in part 0a and β = L the
observer feedback gain in part 0b, compute the controller transfer function resulting
from applying the optimal state feedback gain to the estimated state. Under what
conditions is the closed loop system stable?
(d) Design an observer for this system that minimizes the steady state, mean square
of the observation error under the assumption that the process disturbance v is
Gaussian white noise with covariance 1 and the sensor noise w is Gaussian white
noise with covariance 0.1.
(e) Letting α = K represent the state feedback gain in part 0a and β = L the
observer feedback gain in part 0d, compute the controller transfer function resulting
from applying the optimal state feedback gain to the estimated state. Under what
conditions is the closed loop system stable?
9.32 [Dullerud and Paganini, 2.19] Consider a transfer function G(s) and let (A, B, C, D)
[C,2e?]
be a realization: G(s) = C(sI − A)−1 B + D. xferfcns:minimal-
eigenvalues
(a) Prove that if (A, B, C, D) is a minimal realization for G(s) then every eigenvalue
of A must be a pole of G(s).
Show that the system can be modeled as the block diagram on the right, with
loop transfer function L = Z1 G/(Z1 + Z2 ) and feedforward transfer function F =
Z1 /(Z1 + Z2 ).
10.2 (Atomic force microscope) The dynamics of the tapping mode of an atomic [B,1ep*]
force microscope are dominated by the damping of the cantilever vibrations and loopanal:afm-tapping
the system that averages the vibrations. Modeling the cantilever as a spring–mass
system with low damping, we find that the amplitude of the vibrations decays
as exp(−ζω0 t), where ζ is the damping ratio and ω0 is the undamped natural
frequency of the cantilever. The cantilever dynamics can thus be modeled by the
transfer function
a
G(s) = ,
s+a
where a = ζω0 . The averaging process can be modeled by the input/output relation
Z
1 t
y(t) = u(v)dv,
τ t−τ
where the averaging time is a multiple n of the period of the oscillation 2π/ω. The
dynamics of the piezo scanner can be neglected in the first approximation because
they are typically much faster than a. A simple model for the complete system is
thus given by the transfer function
a(1 − e−sτ )
P (s) = .
sτ (s + a)
Plot the Nyquist curve of the system and determine the gain of a proportional
controller that brings the system to the boundary of stability.
10.3 (Congestion control in overload conditions) A strongly simplified flow model [B,1ep*]
of a TCP loop under overload conditions is given by the loop transfer function loopanal:congctrl-
overload
k −sτ
L(s) = e ,
s
where the queuing dynamics are modeled by an integrator, the TCP window control
is a time delay τ , and the controller is simply a proportional controller. A major
difficulty is that the time delay may change significantly during the operation of
the system. Show that if we can measure the time delay, it is possible to choose a
gain that gives a stability margin of sm ≥ 0.6 for all time delays τ .
10-2 Feedback Systems: Solutions Manual - v2.1a
[B,1ep] 10.4 (Heat conduction) A simple model for heat conduction in a solid is given by
loopanal:heatcond- the transfer function √
nyquist
P (s) = ke− s .
Sketch the Nyquist plot of the system. Determine the frequency where the phase of
the process is −180◦ and the gain at that frequency. Show that the gain required
to bring the system to the stability boundary is k = eπ .
[B,1ep] 10.5 (Stability margins for second-order systems) A process whose dynamics is
loopanal:secord-margins described by a double integrator is controlled by an ideal PD controller with the
transfer function C(s) = kd s + kp , where the gains are kd = 2ζω0 and kp = ω02 .
Calculate and plot the gain, phase, and stability margins as a function ζ.
[A,1ep] loopanal:opamp- 10.6 (Unity gain operational amplifier) Consider an op amp circuit with Z1 = Z2
unitygain that gives a closed loop system with nominally unit gain. Let the transfer function
of the operational amplifier be
ka1 a2
G(s) = ,
(s + a)(s + a1 )(s + a2 )
where a1 , a2 ≫ a. Show that the condition for oscillation is k < a1 + a2 and
compute the gain margin of the system. Hint: Assume a = 0.
[B,1ep] 10.7 (Vehicle steering) Consider the linearized model for vehicle steering with a
loopanal:steering- controller based on state feedback discussed in Example 8.4. The transfer functions
margins
for the process and controller are given by
γs + 1 s(k1 l1 + k2 l2 ) + k1 l2
P (s) = , C(s) = ,
s2 s2 + s(γk1 + k2 + l1 ) + k1 + l2 + k2 l1 − γk2 l2
as computed in Example 9.10. Let the process parameter be γ = 0.5 and assume
that the state feedback gains are k1 = 0.5 and k2 = 0.75 and that the observer
gains are l1 = 1.4 and l2 = 1. Compute the stability margins numerically.
[C,1ep] 10.8 (Vectored thrust aircraft) Consider the state space controller designed for
loopanal:pvtol-looptf the vectored thrust aircraft in Examples 7.9 and 8.7. The controller consists of
two components: an optimal estimator to compute the state of the system from
the output and a state feedback compensator that computes the input given the
(estimated) state. Compute the loop transfer function for the system and determine
the gain, phase, and stability margins for the closed loop dynamics.
[B,2e] loopanal:lqr- 10.9 (Kalman’s inequality) Consider the linear system (7.20). Let u = −Kx be
kalman-ineq a state feedback control law obtained by solving the linear quadratic regulator
problem. Prove the inequality
T
I + L(−iω) Qu I + L(iω) ≥ Qu ,
where
T
K = Q−1
u B S, L(s) = K(sI − A)−1 B.
(Hint: Use the Riccati equation (7.33), add and subtract the terms sS, multiply
with B T (sI + A)−T from the left and (sI − A)−1 B from the right.)
For single-input single-output systems this result implies that the Nyquist plot
of the loop transfer function has the property |1 + L(iω)| ≥ 1, from which it follows
that the phase margin for a linear quadratic regulator is always greater than 60◦ .
Chapter 10 – Frequency Domain Analysis 10-3
10.10 (Bode’s formula) Consider Bode’s formula (10.9) for the relation between [C,1ep]
gain and phase for a transfer function that has all its singularities in the left half- loopanal:bode-weight
plane. Plot the weighting function and make an assessment of the frequencies where
the approximation arg G ≈ (π/2)d log |G|/d log ω is valid.
10.11 (Padé approximation to a time delay) Consider the transfer functions [B,1ep*]
loopanal:pade-approx
1 − sτ /2
G(s) = e−sτ , G1 (s) = . (S10.1)
1 + sτ /2
Show that the minimum phase properties of the transfer functions are similar for
frequencies ω < 1/τ . A long time delay τ is thus equivalent to a small right half-
plane zero. The approximation G1 (s) in equation (S10.1) is called a first-order Padé
approximation.
10.12 (Inverse response) Consider a system whose input/output response is mod- [B,1ep] loopanal:inverse-
eled by G(s) = 6(−s + 1)/(s2 + 5s + 6), which has a zero in the right half-plane. response
Compute the step response for the system, and show that the output goes in the
wrong direction initially, which is also referred to as an inverse response. Compare
the response to a minimum phase system by replacing the zero at s = 1 with a zero
at s = −1.
10.13 (Circle criterion) Consider the system in Figure 10.17, where H1 is a linear [B,2e]
system with the transfer function H(s) and H2 is a static nonlinearity F (x) with loopanal:circlecrit-ex
the property xF (x) ≥ 0. Use the circle criterion to prove that the closed loop
system is stable if H(s) is strictly passive.
10.14 (Describing function analysis) Consider the system with the block diagram [B,1ep] loopanal:desfcn-
shown on the left below. hystrelay
y
b
r e u y
Σ R( · ) P (s)
c
u
−1
The block R is a relay with hysteresis whose input/output response is shown on the
right and the process transfer function is P (s) = e−sτ /s. Use describing function
analysis to determine frequency and amplitude of possible limit cycles. Simulate
the system and compare with the results of the describing function analysis.
10.15 (Describing functions) Consider the saturation function [B,1ep] loopanal:desfcn-
saturation
−1 if x ≤ 1,
y = sat(x) = x if −1 < x ≤ 1,
1 if x > 1.
Show that the describing function is
x
r ! if |x| ≤ 1,
N (a) = 2 1 1 1
π arcsin x + x 1 − x2 if |x| > 1.
10-4 Feedback Systems: Solutions Manual - v2.1a
[B,1es] 10.16 (Right half-plane pole) Consider a system with the loop transfer function
loopanal:nyquist-rhp
k
L(s) = .
s(s − 1)(s + 5)
This transfer function has a pole at s = 1, which is inside the Nyquist contour.
Draw the Nyquist plot for this system and determine if the closed loop system is
stable.
[D,1es] 10.17 (Third-order system) Consider a closed loop system with the loop transfer
loopanal:nyquist- function
thirdorder k
L(s) = .
(s + a)(s2 + 2ζω0 s + ω02 )
(a) Assuming that a ≪ ω0 and ζ = 1, sketch the Bode and Nyquist plots for the
system, labeling the key features (in terms of k, a and ω0 ).
(b) For each of the following parameter sets, use the Nyquist criterion to determine
if the closed loop system is stable and, if so, what the gain, phase, and stability
margins are:
i. k = 200, a = 1, ζ = 1, ω0 = 10
ii. k = 100, a = 1, ζ = 0.1, ω0 = 10
iii. k = 100, a = 0, ζ = 1, ω0 = 10
iv. k = 80, a = −1, ζ = 1, ω0 = 10
Be sure to show the Nyquist plot for each case and show the gain and phase margins
on the Nyquist plots.
[?,?] loopanal:bodenyq- 10.18 Plot the (open loop) Nyquist and Bode plots for the following systems and
examples compute the gain and phase margin of each. You should annotate your plots to
show the gain and phase margin computations. For the Nyquist plot, mark the
branches corresponding to the following sections of the Nyquist “D” contour: nega-
tive imaginary axis, positive imaginary axis, semi-circle at infinity (the curved part
of the “D”).
(a) Disk drive read head positioning system, using a lead compensator (described
in Chapter 12):
1 s+1
P (s) = , C(s) = 1000 .
s3 + 10s2 + 3s + 10 s + 10
Note: you may find it easier to sketch the Nyquist plot from the Bode plot (taking
some liberties with the scale) rather than relying on MATLAB. Figures S10.1 and
S10.2 are the required plots. The Bode plots were generated using MATLAB’s
margin command, which calculates the gain and phase margin and displays them
on the Bode plot.
(a) The gain margin of this system is 1.6 (4.11 dB) and the phase margin is 13
degrees. The upper branch of the Nyquist plot corresponds to the negative imag-
2
Im 10
−3
10
Gain
−8
10
Re 10
−13
Phase [deg]
−90
−180
−270
−360
−450 −2 0 2
10 10 10
Frequency [rad/s]
Figure S10.1: Disk drive read head positioning system. (a) Bode plot for
P (s)C(s) with margins shown. (b) Nyquist plot.
inary axis, the lower branch to the positive imaginary axis, and the origin to the
semi-circle at infinity. There are no encirclements of the −1 point, indicating that
the closed loop system is stable (because the open loop system has no RHP poles).
(b) The gain margin of this system is infinite and the phase margin is 35.3 degrees.
The upper branch of the Nyquist plot corresponds to the negative imaginary axis,
the lower branch to the positive imaginary axis, and the origin to the semi-circle
at infinity. There are no encirclements of the −1 point, indicating that the closed
loop system is stable (because the open loop system has no RHP poles).
Instructor note:10pts max, 2 for each Bode plot, 3 for each Nyquist plot. Bode plot:
Features looking for: slope, limiting value for very large and very small frequency.
Each wrong feature incurs 0.5 pt off. Nyquist plot: The plot itself worth 1 pt.
Features looking for: Value for zero and infinite frequency, intermediate “shape”
The gain and phase margin worth 1 pt, 0.5 for each. The annotation worth 1 pt.
Each wrong annotation incurs 0.5 pt off.
Comment [RMM, 2017?]: I commented out problem about pendulum Lyapunov function
being an ellipse
Comment [RMM, 20 May 2017]: Uncommented this exercise so that we can see it, but
not sure it is correct.
Comment [RMM, 14 Sep 2018]: Sort out whether the exercise is correct and decide whether
to keep. Need to look at solution.
10-6 Feedback Systems: Solutions Manual - v2.1a
3
Im 10
1
10
Gain
−1
10
Re 10
−3
Phase [deg]
−90
−180 −4 −2 0 2
10 10 10 10
Frequency [rad/s]
[D,1es] 10.19 (Inverted pendulum) Consider the inverted pendulum in Example 10.5. Show
loopanal:invpend- that the Nyquist curve is the ellipse
nyquist
2 2
Re L(iω) + k + 4 Im L(iω) + k = k2 .
[B,2e] 10.20 (Pupillary light reflex dynamics) Consider the pupillary light reflex dynamics
loopanal:pupil-stability discussed in Example 9.18. The system has a feedback loop which maintains a
constant light intensity at the retina by changing the pupil area using feedback.
To study the system dynamics, Stark focused a light narrow beam in the middle
of the pupil. If the beam is sufficiently narrow the pupil area does not change, the
feedback loop is broken and the loop transfer function L(s) can be measured. In
one experiment Stark found
0.17
L(s) = e−0.2s .
1 + 0.08s
Plot the Bode and Nyquist plots for this loop transfer function and determine
whether the closed loop system is stable. What are the gain, phase, and stability
margins for the system?
[B,1es] 10.21 (Congestion control using TCP/Reno) A linearized model of the dynamics
loopanal:congctrl- for a congestion control mechanism on the Internet is given in Example 10.4, fol-
margins
lowing [7] and [6]. A linearized version of the model is represented by the transfer
function
N c3 τe3
L(s) = ρ · · e−τe s ,
τe s + e−τ s 2N (cτe2 s + 2N 2 )
f 3
where c is the link capacity in packets/ms, N is the load factor (number of TCP
sessions), ρ is the drop probability factor and τ is the round-trip time in seconds.
Consider the situation with the parameters N = 80, c = 4, ρ = 10−2 , and τe = 0.25.
Find the stability margin of the system and also determine the stability margin if
the time delay becomes τe = 0.5.
Chapter 10 – Frequency Domain Analysis 10-7
10.22 (Stability margins for the linear quadratic regulator) Consider a single-input, [B,2e]
single-output (SISO) linear system with constant parameters and a state feedback loopanal:lqr-robust
obtained by solving the algebraic Riccati equation (7.33). Show that the system
has the loop transfer function
Use Kalman’s inequality (Exercise 10.9) to show that the system has infinite gain
margin and a phase margin of 60◦ .
10.23 An operational amplifier has a transfer function that for high frequencies [A,1es]
can be modeled by loopanal:opamp-routh
kv
G(s) = ,
s(1 + sT1 )(1 + sT2 )
where kv is the gain-bandwidth product. A unit gain amplifier is constructed by
the standard feedback configuration in Figure 4.9b† with R1 = R2 . Show that the RMM: Is this the
feedback amplifier is stable if kv T < 4 where T = 2T1 T2 /(T1 + T2 ) is the harmonic best reference. Should
mean of the time constants T1 and T2 . probably use Figure
9a with Z1 = R1 ,
Instructor note:This problem is similar to Exercise 10.6. Z2 = R 2
Action: Uncommented this exercise, but it was not included in the first edition. [RMM,
RMM
20 May 2017]
10.24 Consider the speed control system described in Section 4.1 and analyzed [B,?]
using state space techniques in Example 7.8. Using a modified PI controller loopanal:cruise-nyquist
RMM: Need to
ki kp s + ki + kp β provide the controller
C(s) = Gue (s) = kp + = parameters
s+β s+β
plot the Nyquist curve for the system and determine the gain, phase, and stability
margins.† RMM: Add engine
dynamics to make it
interesting?
The next two exercises should be combined into one RMM
10.25 (Limits for an inverted pendulum on a cart) Consider an inverted pendulum [C,1es]
on a cart. It was shown in Example ?? that the pendulum can be stabilized in loopanal:invpend-limits
the upright position. Discuss the difficulties of stabilizing the pendulum at an
arbitrary angle using physical arguments. Then show how the difficulties appear
by using a simple normalized linear model with the normalized transfer function
G(s) = s2 /(s2 − 1).† The input is the cart position and the output is the pendulum RMM: Too vague
angle.
10.26 (Limits for unstable system with time delay) Illustrate the difficulties of [C,1es]
controlling an unstable system with a time delay in the measurement by considering loopanal:invpend-delay
an inverted pendulum where the angle is measured with a delay. Use a simple linear
model for your analysis.
10-8 Feedback Systems: Solutions Manual - v2.1a
[B,1es] loopanal:delayde 10.27 (Delay differential equations) Differential equations with delay appear in
models of congestion control for communication networks, such as in Example 10.4.
A simple example is the system
dx
= −ax(t − τ ) + bu
dt
which has the transfer function P (s) = b/(s + ae−sτ ).
(a) Explore how the shape of the Nyquist plot of P (s) depend on the parameter τ
for a = b = 1.
(b) The poles of the system are the zeros of the function s + ae−sτ , which are the
same as the zeros of the function f (s) = 1 + L(s) where L(s) = (a/s)e−sτ . Use the
Nyquist plot of L(s) to determine how the zeros of 1 + L(s) and the poles of the
original system depend on the parameters. Hint: Use τ in the range of 0 to 10.
[C,1es] 10.28 (Cruise control design) In this problem we will design a PI controller for a
loopanal:cruise-pictrl cruise control system, building on the example shown in class. Use the following
RMM: Parameters transfer function to represent the vehicle and engine dynamics: †
don’t match running
T ba/m
P (s) =
(s + a)(s + c/m)
where b = 25 is the transmission gain, T = 200 is the conversion factor between
the throttle input and steady-state torque, a = 0.2 is the engine lag coefficient,
m = 1000 kg is the mass of the car, and c = 50 N s/m is the viscous damping
coefficient.
(a) Consider a proportional controller for the car, u = kp (r − y). Assuming a unity
gain feedback controller, this gives
C(s) = kp .
Set kp = 0.1 and compute the steady-state error, gain and phase margins, rise
time, overshoot, and poles/zeros for the system. Remember that the gain and
phase margins are computed based on the loop transfer function L(s) = P (s)C(s);
the remaining quantities should be computed for the closed loop system.
(b) Consider a proportional + integral controller for the car,
ki
C(s) = kp + .
s
Fill in the following table (make sure to show your work), where gm is the gain
margin, ϕm the phase margin, SSerr the steady-state error, BW the bandwidth
(you can use the bandwidth command in MATLAB, but you need to do so for the
closed loop system), Tr the rise time, and Mp the overshoot (see Fig. 5.9 on p. 151
of the text, you do not need to be exact).
kp ki Stable? gm ϕm SSerr BW Tr Mp
0.5 0.1
0.05 1
0.05 0.001
0.005 0.001
Chapter 10 – Frequency Domain Analysis 10-9
For each entry in the table, plot the pole zero diagram (pzmap) for the closed loop
system and the step response. (Note that the steady-state error is zero in each
stable case, due to the integral term in the control law.) (Suggestion: look for
relationships between the various quantities you are computing and plotting. This
problem should give you some insight into the relationship between some of the
quantities.)
10.29 (Cruise control with time delay) Continuing the previous problem, we will [C,1es]
now insert a small amount of time delay into the feedback path of the system. A loopanal:cruise-delay
pure time delay of τ seconds satisfies the equation
y(t) = u(t − τ )
This system is a linear input/output system and it can be shown that its transfer
function is
G(s) = e−sτ .
Unfortunately, MATLAB is not able to perfectly represent a time delay in this
form, and so we have to use a “Padé approximation”, which gives a constant gain
transfer function with phase that approximates a time delay. Using a 2nd order
Padé approximation, we can approximate our time delay as
1 − τ s/2 + (τ s)2 /12
G(s) =
1 + τ s/2 + (τ s)2 /12
This function can be computed using the pade function in MATLAB (although the
numerator and denominator are scaled slightly differently).
Assume that there is a time delay of τ seconds, which we will insert between
the output of the plant and the controller
(a) For the case kp = 0.05, ki = 0.001, insert time delays of τ = 0.25 s and τ = 0.75
s. Using a Padé approximation, compute the resulting gain and phase margin for
each case and compute the overshoot and settling time (2%) for the step responses.
(b) Optional: Plot the Nyquist plot with the exact time delay and compare with
the Pade approximation.
(c) Repeat part (a) using kp = 0.02, ki = 0.0005, and time delays of 0.75 s and 1.5
s.
(d) Optional: Plot the Nyquist plot for kp = 0.02, ki = 0.0005, τ = 0.75 (with the
exact time delay, not the Pade approximation).
10.30 For the unity feedback system with P (s) = k/s, does there exist a proper
controller C(s) such that the feedback system is internally stable for both k = +1
and k = −1? Explain your answer.
10.31 Consider an operational amplifier whose loop transfer function is [?,2e] loopanal:opamp-
parasitic
bcd
G(s) =
(s + a)(s + b)(s + c)
where the poles b and c represent undesirable but unavoidable features. The am-
plifier is coupled with unit gain feedback. Determine the conditions for stability of
the closed loop.
10-10 Feedback Systems: Solutions Manual - v2.1a
Instructor note:The solutions below were generated for the case where kI = 1, but
RMM: Update in the problem we define kI = 50.†
soluionts
[?,2e] 10.35 Consider a linear input/output system Σ with a minimal realization given by
loopanal:stability-defns (A, B, C, D) and let the associated transfer function be H(s) = C(sI − A)−1 B + D.
For simplicity, you may also assume that the system is SISO.
(a) Show that if the linear system ẋ = Ax is asymptotically stable then the induced
input/output norm of the system Σ is bounded.
(b) Show that if a linear input/output system Σ has bounded induced input/output
norm, then the linear system ẋ = Ax is asymptotically stable.
(c) Show that if a linear system is input/output stable then kHk∞ is bounded.
(d) Show via example that kHk∞ being bounded is not a sufficient condition for
stability of the underlying system.
Chapter 11 – PID Control 11-1
11.2 Consider a second-order process with the transfer function [B,1ep*] pid:secord-pid
b
P (s) = .
s 2 + a1 s + a2
The closed loop system with a PI controller is a third-order system. Show that
it is possible to position the closed loop poles as long as the sum of the poles is
−a1 . Give equations for the parameters that give the closed loop characteristic
polynomial
(s + αc )(s2 + 2ζc ωc s + ωc2 ).
11.3 Consider a system with the transfer function P (s) = (s + 1)−2 . Find an [B,1ep*]
integral controller that gives a closed loop pole at s = −a and determine the value pid:integral-twopole
of a that maximizes the integral gain. Determine the other poles of the system
and judge if the pole can be considered dominant. Compare with the value of the
integral gain given by equation (11.6).
11.4 (Tuning rules) Apply the Ziegler–Nichols and the modified tuning rules to [N,1ep]
design PI controllers for systems with the transfer functions pid:zntuning-examples
e−s e−s
P1 = , P2 = , P3 = e−s .
s s+1
Compute the stability margins and explore any patterns.
Comment [RMM, 27 Dec 2019]: The problem below looks like a duplicate of the one above
11.5 (Ziegler–Nichols tuning) Consider a system with transfer function P (s) = [C,1ep]
e−s /s. Determine the parameters of P, PI, and PID controllers using Ziegler– pid:zntuning-delint
Nichols step and frequency response methods. Compare the parameter values ob-
tained by the different rules and discuss the results.
11.6 (Vehicle steering) Design a proportional-integral controller for the vehicle [B,1ep] pid:steering-pi
steering system that gives the closed loop characteristic polynomial
s3 + 2ωc s2 + 2ωc2 s + ωc3 .
11-2 Feedback Systems: Solutions Manual - v2.1a
[B,2e] pid:pid-tar 11.7 (Average residence time with PID control) The average residence time is a
measure of the response time of the system. For a stable system with impulse
response h(t) and transfer function P (s) it can be defined as
Z ∞
P ′ (0)
Tar = th(t) dt = − .
0 P (0)
Consider a stable system with P (0) 6= 0 and a PID controller having integral gain
ki = kp /Ti . Show that the average residence time of the closed loop system is given
by Tar = Ti /(P (0)kp ).
[B,2e] 11.8 (Web server control) Web servers can be controlled using a method known
pid:webserver-dvfs as dynamic voltage frequency scaling in which the processor speed is regulated by
changing its supply voltage. A typical control goal is to maintain a given service
rate, which is approximately equal to maintaining a specified queue length. The
queue length x can be modeled by equation (3.32),
dx
= λ − µ,
dt
where λ is the arrival rate and µ is the service rate, which is manipulated by
changing the processor voltage. A PI controller for keeping queue length close to
xr is given by Z t
µ = kp (x − βxr ) + ki (x − xr ) dt.
0
Choose the controller parameters kp and ki so that the closed loop system has the
characteristic polynomial s2 + 1.6s + 1, then adjust the setpoint weight β so that
the response to a step in the reference signal has 2% overshoot.
[N,1ep] 11.9 (Motor drive) Consider the model of the motor drive in Exercise 3.7 with
Exercise 3.7
pid:dcmotor-pdctrl the parameter values given in Exercise 7.11. Develop an approximate second-order
Exercise 7.11
model of the system and use it to design pan ideal PD controller that gives a closed
loop system with eigenvalues −ζω0 ± iω0 1 − ζ 2 . Add low-pass filtering as shown
in equation (11.13) and explore how large ω0 can be made while maintaining a good
stability margin. Simulate the closed loop system with the chosen controller and
compare the results with the controller based on state feedback in Exercise 7.11.
Exercise 7.11
[B,1ep] 11.10 (Windup and anti-windup) Consider a PI controller of the form C(s) =
pid:antiwindup-intpi 1 + 1/s for a process with input that saturates when |u| > 1, and whose linear
dynamics are given by the transfer function P (s) = 1/s. Simulate the response of
the system to step changes in the reference signal of magnitude 1, 2, and 10. Repeat
the simulation when the windup protection scheme in Figure 11.11 is used.
[B,1ep] 11.11 (Windup protection by conditional integration) Many methods have been
pid:antiwindup-condint proposed to avoid integrator windup. One method called conditional integration is
to update the integral only when the error is sufficiently small. To illustrate this
method we consider a system with PI control described by
(
dx1 dx2 e if |e| < e0 ,
= u, u = satu0 (kp e + ki x2 ), =
dt dt 0 if |e| ≥ e0 ,
Chapter 11 – PID Control 11-3
where e = r − x. Plot the phase portrait of the system for the parameter values
kp = 1, ki = 1, u0 = 1, and e0 = 1 and discuss the properties of the system.
The example illustrates the difficulties of introducing ad hoc nonlinearities without
careful analysis.
11.12 (Windup stability) Consider a closed loop system with controller transfer [C,2e]
function C(s) and process transfer function P (s). Let the controller have windup pid:antiwindup-stab
protection with the tracking constant kaw . Assume that the actuator model in the
anti-windup scheme is chosen so that the process never saturates.
(a) Use block diagram transformations to show that the closed loop system with
anti-windup can be represented as a connection of a linear block with transfer
function (11.11) and a nonlinear block representing the actuator model.
(b) Show that the closed loop system is stable if the Nyquist plot of the transfer
function (11.11) has the property Re H(iω) > −1.
(c) Assume that P (s) = kv /s and C(s) = kp + ki /s. Show that the system with
windup protection is stable if kaw > ki /kp .
(d) Use describing function analysis to show that without the anti-windup protec-
tion, the system may not be stable and estimate the amplitude and frequency of
the resulting oscillation.
(e) Build a simple simulation that verifies the results from part 0d.† RMM: Fix reference
11.13 Consider the system in Exercise 11.9 and investigate what happens if the [C,1ep]
second-order filtering of the derivative is replaced by a first-order filter. Exercise 11.9
pid:dcmotor-derfilter
k
P (s) = k, ζ, ω0 > 0.
s2 + 2ζω0 s + ω02
In this problem we will explore various methods for designing a PID controller for
the system.
(a) (Eigenvalue assignment) Suppose that we want the closed loop dynamics of the
system to have a characteristic polynomial given by
p(s) = s3 + a1 s2 + a2 s + a3 .
Compute a formula for the controller parameters of a PID controller (kp , ki , and
kd ) that gives the desired closed loop response.
11-4 Feedback Systems: Solutions Manual - v2.1a
Instructor note:The given systems are stable with unity feedback - this could be
rewritten with some performance specifications (perhaps a range of frequencies for
tracking).
[D,1es] 11.16 (Compartment model) Compartment models and many systems encountered
pid:compartment- in industry have the property that their impulse responses are positive or, equiv-
monotone
alently, that their step responses are monotone. Consider such a system with the
transfer function P (s). Show that the impulse response
R ∞ hn (t) of the normalized
system P (s)/P (0) has the properties hn (t) ≥ 0 and 0 hn (t)dt = 1. The function
hn (t) can be interpreted as a probability density function—the probability that a
particle entering the system at time 0 will exit at time t. Let
Z ∞
Tar = thn (t)dt
0
be the average residence time. Show that Tar = −P ′ (0)/P (0) and that the tuning
formula (11.6) can be written as ki = 1/(Tar P (0)).
Chapter 11 – PID Control 11-5
11.17 A plasma oven can be used to retrieve rare metals from scrap. A key issue [N,1es] pid:plasma-oven
for this process is to maintain a stable plasma. This can be achieved by keeping the
current through the plasma constant. The process can be described approximately
by the model
dI
L = V − (a + be−cI )
dt
where the state I is the current through the plasma and the control variable is
the voltage V of the amplifier that drives the system. Consider the plasma as
a dynamical system with input V and output I. Linearize the equation around
the operating condition I=20 A. Use the numerical values L = 0.005, a=2000 V,
b=10,000 V, and c=0.05 A−1 .
b 1
P (s) = C(s) = kp 1 + .
s+a Ti s
In this problem we will explore how varying the gains kp and Ti affect the closed
loop dynamics.
(a) Suppose we want the closed loop system to have the characteristic polynomial
s2 + 2ζω0 s + ω02 .
(b) Suppose that we choose a = 1, b = 1 and choose ζ and ω0 such that the closed
loop poles of the system are at λ = {−20 ± 10i}. Compute the resulting controller
parameters kp and Ti and plot the step and frequency responses for the system.
(c) Using the process parameters from part (b) and holding Ti fixed, let kp vary
from 0 to ∞ (or something very large). Plot the location of the closed loop poles of
the system as the gain varies. You should plot your results in two different ways:
• A pair of plots showing the real and imaginary parts of the poles as a function
of the gain kp , similar to Figure 4.18a in the text.
• A parametric plot, showing the location of the eigenvalues on the complex
plane, as kp varies. Label the gains at which any interesting features in this
plot occur. (This type of plot is called a root locus diagram.)
You may find it convenient to use the subplot command in MATLAB so that you
can present all of your results in a single figure.
11-6 Feedback Systems: Solutions Manual - v2.1a
[D,1es] pid:pvtol-pid 11.19 In this problem we will design a PID compensator for a vectored thrust
aircraft (see Example 2.9 in the text for a description). Use the following transfer
function to represent the dynamics from the lateral input to the roll angle of the
aircraft:
r g = 9.8 m/s2 m = 1.5 kg c = 0.05 kg/s
P (s) =
Js2 + cs + mgl l = 0.05 m J = 0.0475 kg m 2
r = 0.25 m
(a) Plot the open loop Bode plot for the system and mark on the plot the various
frequency domain constraints in the above specification, as we did in class.
(b) Design a compensator for the system that satisfies the specification. You should
include appropriate plots or calculations showing that all specifications are met.
(c) Plot the step and frequency response of the resulting closed loop control. For
the step response, compute the steady-state error, rise time, overshoot, and settling
time of your controller.
(Hint: you may not need all of the terms in a PID controller.)
[D,1es] pid:balance-pid 11.20 Consider the cart–pendulum system with the pendulum hanging down (you
can think of this as the problem of moving the cart without exciting the pendulum
too much; similar to walking without sloshing your coffee). The dynamics describing
how the position of the cart depends on the applied force is given by the transfer
RMM: Update function
parameters to match
main text. M = 10, M = 0.5 kg m = 0.2 kg
etc ls2 + g
P (s) = l = 0.3 m b = 0.1 N/m/s
M ls4 + +bls3 + (M + m)gs2 + bgs 2
g = 9.8 kg m/sec
In this problem you will design a control law that satisfies the following specifica-
tions:
• 0.1% steady-state error
• Position (x) tracking within 10% up to 0.05 Hz
• Overshoot of less than 10% to step changes in x position
• Disturbance rejection of 10X for all disturbances above 10 Hz (for inputs with
frequency above 10 Hz, the output of the system should be smaller than 0.1X
the size of the input)
Chapter 11 – PID Control 11-7
(a) Write the frequency domain portions of the specification as constraints on the
loop transfer function in the appropriate frequency ranges. Estimate the phase mar-
gin requirement imposed by the step response using a second-order approximation.
Show your results by sketching them on a Bode plot.
(b) Design a PID control law that satisfies the specification. Make sure to discuss
how you determined the form of the control law and demonstrate that your control
law satisfies all specifications.
(c) Determine whether your control law is robustly stable with respect to added
sensor dynamics
1
G(s) = .
s+1
These dynamics should be inserted in the feedback loop, as we did in Lecture 7.1.
If your controller is not stable with for the perturbed system, redesign your control
law to provide as much performance as you can for the nominal plant and still
maintain stability for the perturbed plant.
(d) For the control law that provided robust stability in (a), check to see if the
performance specifications are satisfied for the perturbed plant. If your controller
is not robust, redesign your control law to provide robust stability and robust
performance to the specified sensor dynamics. If necessary, relax the specifications
according to the priorities.
(e) Consider now the case where we have a time delay of 1 second instead of G(s).
Determine whether your control law from part (b) provides robust stability and/or
robust performance in the presence of the specified time delay. (You just need to
check to see if it works; you don’t need to redesign it.)
RMM: update to N = 75 sources, c = 1250 packets/s† and τe = 0.15 sec and find the parameters
match running of a PI controller using one of the Ziegler–Nichols rules and the corresponding
improved rule. Simulate the responses of the closed loop systems obtained with the
PI controllers.
[N,1es] pid:ballbeam-pid 11.22 (Ball and beam) Consider the ball and beam system described in Exercise ??.
Supplement 3.26 Design a controller for the position of the ball by first designing a PD controller for
the angle. If this regulator is well designed, the relation between the ball position
and the reference angle will be approximately a double integrator. Next, design a
PID controller for controlling the ball position using the commanded beam angle
as an input. (This type of design is know as an inner loop/outer loop design and
is described in more detail in Example 12.9 .)
Chapter 12 – Frequency Domain Design 12-1
Choose the parameter a = −1 and compute the time (step) and frequency responses
for all the transfer functions in the Gang of Four for controllers with k = 0.2 and
k = 5.
12.2 (Equivalence of Figures 12.1 and 12.2) Consider the system in Figure 12.1 and [B,1ep*]
let the outputs of interest be ξ = (µ, η) and the major disturbances be χ = (w, v). loopsyn:gangoffour-
hinfstruc
Show that the system can be represented by Figure 12.2 and give the matrix transfer
functions P and C. Verify that the elements of the closed loop transfer function
Hξχ are the Gang of Four.
12.3 (Equivalence of controllers with two degrees of freedom) Show that the systems [A,1ep]
in Figures 12.1 and 12.13 give the same responses to command signals if Fm C +Fu = loopsyn:twodof-equiv
CF .
12.4 (Web server control) Feedback and feedforward are increasingly used for com- [B,2e]
plex computer systems such as web servers. Control of a single server is an example. loopsyn:webserver
A model for a virtual server is given by equation (3.32),
dx
= λ − µ,
dt
where x is the queue length, λ is the arrival rate, and µ is the server rate. The
objective of control is to maintain a given queue length. The service rate µ can
be changed by dynamic voltage and frequency scaling (DVFS). Determine a PI
controller that gives a closed loop system with the characteristic polynomial s2 +
4s + 4. Use feedforward in the form of setpoint weighting to reduce the overshoot
for step changes in reference signals; simulate the closed loop system to determine
the setpoint weighting.
12.5 (Rise time-bandwidth product) Consider a stable system with the transfer [B,1es] loopsyn:risetime-
function G(s) whose frequency response is an ideal low-pass filter with |G(iω)| = 1 bandwidth
for ω ≤ ωb and |G(iω)| = 0 for ω > ωb and which has low-pass character. Define
the rise time Tr as the Rinverse of the largest slope of the unit step response and
∞
the bandwidth as ωeb = 0 |G(iω)|/G(0) dω. Show that with this definition of the
bandwidth the rise time-bandwidth product satisfies Tr ω eb ≥ π.
12.6 (Disturbance attenuation) Consider the feedback system shown in Figure 12.1. [A,1ep*]
Assume that the reference signal is constant. Let yol be the measured output when loopsyn:sensitivity-
atten
there is no feedback and ycl be the output with feedback. Show that Ycl (s) =
S(s)Yol (s), where Ycl and Yol are exponential signals and S is the sensitivity func-
tion.
12.7 (Approximate expression for noise sensitivity) Show that the effect of high- [B,1ep*]
frequency measurement noise on the control signal for the system in Example 12.3 loopsyn:noiseapprox
12-2 Feedback Systems: Solutions Manual - v2.1a
can be approximated by
kd s
CS ≈ C = ,
(sTf )2 /2 + sTf + 1
√
and that the largest value of |CS(iω)| is kd /Tf which occurs for ω = 2/Tf .
[B,2e*] 12.8 (Peak frequency-peak time product) Consider the transfer function for a
loopsyn:tmwm-prod second order system
ω0 s
G(s) = 2 ,
s + 2ζω0 s + ω02
which has the unit step response
1 p
y(t) = p e−ζω0 t sin ω0 t 1 − ζ 2.
1− ζ2
Let Mr = maxω |G(iω)| be the largest gain of G(s), which is assumed to occur at
ωmr , and let yp = maxt y(t) be the largest value of y(t), which is assumed to occur
at tp . Show that
arccos ζ yp
tp ωmr = p , = 2ζe−ζϕ ,
1−ζ 2 M r
and evaluate the right-hand sides of the above equations for ζ = 0.5, 0.707, and
1.0.
[C,1ep] 12.9 (Disturbance reduction through feedback) Consider a problem in which an
loopsyn:sensitivity- output variable has been measured to estimate the potential for disturbance atten-
twopole
uation by feedback. Suppose an analysis shows that it is possible to design a closed
loop system with the sensitivity function
s
S(s) = .
s2 + s + 1
Estimate the possible disturbance reduction when the measured disturbance re-
sponse is
y(t) = 5 sin (0.1 t) + 3 sin (0.17 t) + 0.5 cos (0.9 t) + 0.1 t.
[C,2e] 12.10 (Bode’s formula) Consider the lead compensator
loopsyn:bode-formula
s + 0.25
G(s) = 16 .
s+4
Verify Bode’s phase area formula (12.8) and show that G(∞) = 16G(0) by numer-
ical integration.
[B,2e] loopsyn:lead-lag 12.11 (Lead-lag compensation) Lead and lag compensators can be combined into
a lead-lag compensator that has the transfer function
(s + a1 )(s + a2 )
C(s) = k .
(s + b1 )(s + b2 )
Show that the controller reduces to a PID controller with special choice of param-
eters and give the relations between the parameters.
Chapter 12 – Frequency Domain Design 12-3
ks s
C(s) = kp + .
s2 + 2ζω0 s + ω02
This controller has the gain Cs (iω0 ) = kp + ks /(2ζ) for the frequency ω0 , which can
be large by choosing a small value of ζ. Assume that the process has the transfer
function P (s) = 1/s. Determine the Bode plot of the loop transfer function and
simulate the system. Compare the results with PI control.† RMM: Be more
specific
12.13 Consider the spring–mass system given by equation (3.16), which has the [B,1ep]
transfer function loopsyn:springmass-
1 feedforward
P (s) = .
ms2 + cs + k
Design a feedforward compensator that gives a response with critical damping (ζ =
1).
Comment [RMM, 2018?]: Next three exercises are all about root locus. Pick 1–2? (All
three are currently referenced in the text.)
Response [KJA, 16 Jul 2019]: There is actually a third root locus Exercise ??. Suggest
that we keep ?? and move the other to supplement, put them close together
Response [RMM, 17 Aug 2019]: Looks like at least one of the exercises went away? Sort
out what to keep when deciding on final exercises.
12.14 (Asymptotes of root locus) Consider proportional control of a system with [C,2e*]
the transfer function loopsyn:rootlocus-
asymp
b(s) b0 sm + b1 sm−1 + · · · bm (s − z1 )(s − z2 ) . . . (s − zm )
P (s) = = = b0 .
a(s) sn + a1 sn−1 + · · · an (s − p1 )(s − p2 ) · · · (s − pn )
Show that the root locus has asymptotes that are straight lines that emerge from
the point
1 X
n Xm
s0 = pk − zk ,
ne
k=1 k=1
12.15 (Real line segments of root locus) Consider proportional control of a process [C,2e*]
with a rational transfer function. Assuming that b0 k > 0, show that the root locus loopsyn:rootlocus-
realline
has segments on the real line where there are an odd number of real poles and zeros
to the right of the segment.
which has zero frequency gain C(0) = 1 and high-frequency gain C(∞) = k. Show
KJA: Add that the gain required to provide a given phase lead ϕ is
approximate value for
large n q n
k = 1 + 2 tan2 (ϕ/n) + 2 tan(ϕ/n) 1 + tan2 (ϕ/n) ,
and that lim k = e2ϕ . Discuss the practical consequences of the results.
n→∞
[A,1ep*] 12.17 (Phase margin formulas) Show that the relationship between the phase mar-
limits:sensitivity-pm gin and the values of the sensitivity functions at gain crossover is given by
1
|S(iωgc )| = |T (iωgc )| = .
2 sin(ϕm /2)
Let pj be an isolated pole and assume that kb0 > 0. Show that the root locus
starting at pj has the initial direction.
∠(s − pj ) = π + Σm
k=1 ∠(pj − sk ) − Σk6=j ∠(pj − pk ).
(b) Show that ωsc < ωgc < ωtc if ϕ, m < 60◦ and that ωsc > ωgc if ϕm > 60◦ .
(c) Show that ωsc ≈ P (0)ki for a process with integral action.
(d) Find an approximate relation between the bandwidth ωbw and ωtc .
Supplemental Exercises
[C,2e] 12.20 (Bode’s phase area formula) Consider a transfer function G(s) with no poles
loopsyn:phasearea and zeros in the right half-plane and assume that G(0) is not zero. Prove Bode’s
phase area formula, equation
(12.8), by contour integration of the function F (s) =
(1/s) log G(s)/G(0) .
Chapter 12 – Frequency Domain Design 12-5
12.21 Let F (s) be the Laplace transform of a signal f (t). Show that the Taylor [C,1es] loopsyn:laplace-
series expansion for f (t) for small t and its Laplace transform are related by smalltime
1 1 1 ′′
F (s) = f (0) + 2 f ′ (0) + 3 f (0) + · · ·
s s 2s
Use this result to show that the behavior of a time function for small t is related
to the Laplace transform for large s. Derive a similar result for large values of t.
Hint: Use the definition of Laplace transform, introduce v = st and use
Z ∞ Z
1 ∞ −v v
F (s) = e−st f (t) dt = e f dv.
0 s 0 s
12.22 (Robustness of closed loop systems obtained with PI tuning rules) Consider [N,1es] pid:znlimits
a system with the transfer function
K
P (s) = e−sτ
1 + sT
Compute the the phase lag at the gain crossover frequency for the systems obtained
with the Ziegler–Nichols tuning rule based on the step response and the modified
rule given by equation (??) for different ratios of τ /(T + τ ).
Find the lowest order controller that gives the closed loop poles −2, −2, and −8.
Determine the poles and zeros of the controller and plot the root locus of the system.
Discuss the root locus.† RMM: Vague; what
Comment [KJA, 16 Jul 2019]: This exercise should be combined with 12.36, because they are we looking for?
are really similar, the only difference is that 12.22 has a fast rhp zero and a slow rhp pole,
while 12.26 has a fast rhp pole and a slow rhp zero. The problem is best solved by root
locus. 12.22 requires a controller with a right half plane pole because the only way to
move the root locus into the left hp is to go around the slow rhp zero, while 12.36 can
be solved with a stable controller. The problem can be solved straightforwardly by pole
placement but the interesting discussion is really around the root locus.
12.24 (Vehicle steering in reverse) Consider the system for vehicle steering in Exam- [B,1es]
ple 12.6. Assume that the vehicle is driven in reverse gear so that γ < 0. Compute loopsyn:steering-reverse
the Gang of Four and discuss the behavior of the closed loop system when there
are load disturbances and measurement noise. Simulate the system to verify your
conclusions.
12.25 Regenerate the controller for the system in Example 12.5 and use the fre- [D,2e] loopsyn:pvtol-
quency responses for the Gang of Four to show that the performance specification gangoffour
is met.
12.26 Consider the system in Figure 12.13. Derive the transfer functions that [D,1es] loopsyn:pvtol-
correspond to the Gang of Six. gangofXfeedforward
12-6 Feedback Systems: Solutions Manual - v2.1a
(Hint: compute the frequency at which |L(iω)| = 1 and then find the phase at that
frequency.)
Chapter 12 – Frequency Domain Design 12-7
(a) Plot the Bode plot for the system. Find another transfer function with the
same magnitude but whose phase is less negative than the phase of P (s).
(b) Plot the step response of the open loop system and show that the response
initially moves in the opposite direction of the step.
(c) Consider a proportional controller C(s) = kp . Compute the range of gains for
which the controller stabilizes the system and show that as kp → ∞, one of the
poles of the closed loop transfer function approaches the zero at s = 1.
12.30 (Lead compensator for an insect flight control system) Consider the problem [N,1es] loopsyn:flylead
of stabilizing the orientation of a flying insect, modeled as a rigid body with moment
of inertia J = 0.41 and damping constant D = 1.1 We assume there is a small delay
τ = 0.01 sgiven by the neural circuitry that implements the control system. The
resulting transfer function for the system is taken to be
1
P (s) = e−τ s .
Js2 + Ds
(a) Suppose that we can measure the orientation of the insect relative to its envi-
ronment and we wish to design a control law that gives zero steady-state error, less
than 10% tracking error from 0 to 0.5 Hz and has an overshoot of no more than 10%.
Convert these specifications to appropriate bounds on the loop transfer function and
sketch the resulting constraints on a Bode plot. (Hint: Try using problem 12.28 to
convert the overshoot requirement to a phase margin requirement.)
(b) Using a lead compensator, design a controller that meets the specifications in
part (a). Provide whatever plots are required to verify that the specification is
met. You may use a Padé approximation for the time delay, but make sure that it
is a good approximation over a frequency range that includes your gain crossover
frequency.
(c) Plot or sketch the Nyquist plot corresponding to your controller and the process.
You can again use a Padé approximation for the time delay. Show the gain and
phase margin on your plot.
(d) Plot the “Gang of 4” for the system. If any of the magnitudes of the closed
loop transfer functions are substantially greater than one in some frequency range,
explain the consequences of this in terms of one of the input/output responses of
your system. (You are not required to fix these problems.)
(e) Extra credit: genetically modify a fly to implement your controller, using the
fly visual system as your input.
1 Based loosely on “Biologically Inspired Feedback Design for Drosophila Flight”, M. Epstein,
[N,1es] loopsyn:maglev 12.31 (Control of a magnetic levitation system) Consider the dynamics of the mag-
netic levitation system from lecture. The transfer function from the electromagnet
input voltage to the IR sensor output voltage is given by
k
P (s) =
s2 − r 2
with k = 4000 and r = 25 (these parameters are slightly different than those used
in the MATLAB files distributed with the lecture).
(a) Design a proper stabilizing compensator for the process, assuming unity feed-
back. Compute the poles and zeros for the loop transfer function and for the closed
loop transfer function between the reference input and measured output.
(b) Plot the Nyquist plot corresponding to your compensator and the process dy-
namics, and verify that the Nyquist criterion is satisfied.
(c) Plot the log of the magnitude of the sensitivity function, log |S(iω)|, versus ω
on a linear scale and numerically verify that the Bode integral formula is (approxi-
mately) satisfied. (Hint: you can do the integration numerically in MATLAB, using
the trapz function. Make sure to choose your frequency range sufficiently large.)
[N,1es] 12.32
loopsyn:pvtol-gangof4
Comment [RMM, 11 Nov 2018]: Compare to exercise ??
The controller for the vectored thrust aircraft designed Example 12.9 achieves
RMM: Exercise
filename misleading;
the performance specifications but the Gang of Four in Figure 12.22 reveals that
rename to ’redesign?’ the noise and load sensitivity functions have high gain in some frequency ranges.
Redesign the controller to meet the original performance specification but improving
the high-frequency response to noise and low-frequency response to disturbances.
[N,1es] 12.33 (Stabilization of inverted pendulum with acceleration sensor) It has been
loopsyn:invpend-accsens proposed to stabilize an inverted pendulum where the pendulum angle is measured
KJA: New exercise using an accelerometer (by computing the angle of the gravitational force). Explore
if this is feasible. The mass of the pendulum is m, its moment of inertia with respect
to the pivot is J. The distance between the center of mass and the pivot is l and
the accelerometer is placed at the distance h from the pivot. Consider the cases
when a) the pendulum is a point mass and h = l and b) when the pendulum is a
homogeneous rod and the mass of the accelerometer is negligible.
[N,1es] 12.34 The figure below shows a simple mechanism for positioning a disk drive read
loopsyn:diskdrive-design head and the associated equations of motion:
Chapter 12 – Frequency Domain Design 12-9
Disk
J θ̈ = −bθ̇ − kr sin θ + τm
τ̇m = −a(τm − u)
τ
Motor RMM: Check font
sizes
The system consists of a spring-loaded arm that is driven by a small motor. The
motor applies a force against the spring and pulls the head across the platter. The
input to the system is the desired motor torque, u. In the diagram above, the force
exerted by the spring is a nonlinear function of the head position due to the way it
is attached. All constants are positive. We wish to design a controller that holds
the drive head at a given location θd .
(a) Show that the transfer function of the process can be written as
a k
P (s) = · 2 .
a + s s + 2ζωn s + ωn2
(b) Assume that the system parameters are such that K = 0.001, ζ = 0.5, ωn = 0.1,
and a = 1. Design a compensator that provides tracking with less than 10% error
up to 1 rad/s and has a phase margin of 60◦ .
(c) Plot the Nyquist plot for the (open loop) system corresponding to your control
design and compute the gain margin, phase margin, and stability margin.
(d) Compute and plot the Gang of Four for your system. Comment on any of the
transfer functions that might lead to large errors or control signals and indicate the
conditions under which this might occur.
Comment [RMM, 12 May 2018]: The following exercises were commented out. Make sure
that we don’t want to keep them (or that they appear elsewhere. If not used here, delete
source files.
12.35 (Pole in the right half-plane and time delay) The non-minimum phase part [B,1es]
of the transfer function for a system with one pole in the right half-plane and a loopsyn:rhppole-delay
time delay τ is
s + p −sτ
Pap (s) = e .
s−p
Using the gain crossover frequency inequality, compute the limits on the achievable
bandwidth of the system.
12.36 Consider a process with the transfer function [D,2e]
loopsyn:rhp-pzpair1B
s−5
P (s) = .
(s − 1)(s + 0.05)
12-10 Feedback Systems: Solutions Manual - v2.1a
Find the lowest order controller that gives the closed loop poles −2, −2, and −8.
Determine the poles and zeros of the controller and plot the root locus of the system.
RMM: Vague; what Discuss the root locus plot for the system.†
are we looking for?
Also, wording is Comment [RMM, 2017?]: Possible additions (3e?):
slightly different for • X-29: closeness of poles and zeros
rhp-pzpair2B.tex.
OK? • Internet design example
• Design example: bicycle balancing
Chapter 13 – Robust Performance 13-1
[B,1ep] robperf:delay- 13.9 (Ideal delay compensator) Consider a process whose dynamics are a pure
compensation time delay with transfer function P (s) = e−s . The ideal delay compensator is a
controller with the transfer function C(s) = 1/(1 − e−s ). Show that the sensitivity
functions are T (s) = e−s and S(s) = 1 − e−s and that the closed loop system will
be unstable for arbitrarily small changes in the delay.
dGyr dGyv
Controller Gyr Gyv
Gyr dP1
dP P2
Feedforward (C = 0) Fm 0 −
P P1
dP P2
Feedback (Fr , Fv = 0 ) T Fm S S P2 −S
P P1
dP P2
Feedforward and Feedback Fm S 0 S
P P1
[X,1ep] 13.11 (H∞ control) Consider the matrix H(P, C) in equation (13.32). Show that
robperf:hinf-singval it has the singular values
p
(1 + |P (iω)|2 )(1 + |C(iω)|2 )
σ1 = 0, σ2 = σ̄ = sup = kH(P, C))k∞ .
ω |1 + P (iω)C(iω)|
Also show that σ̄ = 1/δν (P, −1/C), which implies that 1/σ̄ is a generalization of
the closest distance of the Nyquist plot to the critical point and hence also serves
as a measure of the stability margin.
[C,2e] robperf:robust- 13.12 (Disturbance weighting) Consider an H∞ control problem with the distur-
distweighting bance weight W (P = P W and C = W −1 C). Show that
kG(P , C)k∞ ≥ sup |S(iω)| + |T (iω)| .
ω
[C,1ep*] 13.13 Consider a process with the transfer function P (s) = k/(s(s + 1)), where the
robperf:idealbode- gain can vary between 0.1 and 10. A controller that has a phase margin close to
fracsys
ϕm = 45◦ for the gain variations can be√obtained by finding a controller that gives
the loop transfer function L(s) = 1/(s s). Suggest how the transfer function can
be implemented by approximating it by a rational function.
Supplemental Exercises
[X,1es] 13.14 (Robustness inequalities) Derive the inequalities given in Table 13.1.
robperf:robustness-
conditions
Chapter 13 – Robust Performance 13-3
13.15 (Robustness using the Nyquist criterion) Another view of robust performance [D,1ep]
can be obtained through appeal to the Nyquist criterion. Let Smax (iω) represent a robperf:robust-nyquist
desired upper bound on our sensitivity function. Show that the system provides this
level of performance subject to additive uncertainty ∆ if the following inequality is
satisfied:
1
|1 + L̃| = |1 + L + C∆| > for all ω ≥ 0. (S13.1)
|Smax (iω)|
Describe how to check this condition using a Nyquist plot.
Instructor note:The solution is very long. Instructors should consider splitting it
up into two exercises: make one exercise on state feedback in the State Feedback
chapter, make another exercise on the Kalman filter and the output feedback in the
Output Feedback chapter, and keep the rest of the exercise here.
13.16 Let P and C be matrices whose entries are complex numbers. Show that the [X,1es]
singular values of the matrix robperf:hinf-gangof4sv
1 P
1 + PC 1 + PC
H(P, C) =
C P C
1 + PC 1 + PC
are p
(1 + |P (iω)|2 )(1 + |C(iω)|2 )
σ=0 σ̄ = sup .
ω |1 + P (iω)C(iω)|
13.17 (Pole/zero cancellation) Consider the system in Figure 13.11, where the [?,2e]
process and the controller have the transfer functions robperf:design-pzcanc
1 5(s + 1)
P (s) = , C(s) = .
s+1 s
Notice that the process pole s = −1 is canceled by the zero of the controller.
Derive the transfer functions Gyv , Gyw , Guv , and Guw . Compute the Kalman
decomposition of a realization of the closed loop system with one state chosen as
the process state and the other as the controller (integrator) state.
(a) Discuss reachability with respect to the inputs v and w and observability from
the signals y and u.
(b) Discuss relations between pole/zero cancellations and the Kalman decomposi-
tion.
13.18 (Diametrically opposite points) Consider the points z = a and z = −1/a [C,2e*]
in the complex plane. Show that their projections on the Riemann sphere are robperf:sensitivity-
diaopp
diametrically opposite and hence their chordal distance is 1.
13.19 Show that [N,1es]
robperf:vinnicombe-sm
|1 + P (iω)C(iω)|
sup p = d(P, −1/C).
w (1 + |P (iω)|2 )(1 + |C(iω)|2 )
13-4 Feedback Systems: Solutions Manual - v2.1a
[B,1es] 13.20 Show that a stable additive perturbation ∆ can create right half-plane zeros
robperf:uncertainty-rhp but not right half-plane poles, and that a stable feedback perturbation ∆fb can cre-
ate right half-plane poles but not right half-plane zeros. Give constructive examples
of each.
[B,1es] 13.21 The distance measure δν (P1 , P2 ) is closely related to closed loop systems
robperf:vinnicombe- with unit feedback. Show how the measure can be modified to measure the distance
nonunity
between closed loop systems with a fixed controller C(s) and process dynamics P1
and P2 .
for k = 1, 2, and 5.
[C,1ep] 13.23 (Smith predictor) The Smith predictor, a controller for systems with time de-
robperf:smith-predictor lays, can be obtained using the Youla parameterization by taking P (s) = e−sτ P0 (s)
and Q(s) = C0 (s)/(1 + C0 (s)P0 (s)). The controller C0 (s) is designed to give good
performance for the process P0 (s).
Comment [RMM, 5 Dec 2019]: This problem could use a bit of cleaning up. See the paper
“Future of the Smith Predictor Based Regulators Comparing to Youla Parametrization”
by L. Keviczky and Cs. Banyasz for a good description.
(a) Compute the transfer function for the compensator and show it consists of a
controller that uses a delayed version of the process output compared with the
current value of the process output.
(b) Prove that the resulting control system is stable as long as the pair (P0 , C0 ) is
stable.
(c) Show that the sensitivity and complementary senstivity functions for the control
system are given by
(It follows that a system with a Smith predictor gives an reference tracking response
that is a delayed version of the tracking response for a system with no delay.)
[N,1es] 13.24 (Disk drive tracking) The figure below shows a simple mechanism for posi-
robperf:diskdrive- tioning a disk drive read head and the associated equations of motion:
tracking
Chapter 13 – Robust Performance 13-5
Disk
J θ̈ = −bθ̇ − kr sin θ + τm
τ̇m = −a(τm − u)
τ
Motor RMM: Check font
sizes
The system consists of a spring-loaded arm that is driven by a small motor. The
motor applies a force against the spring and pulls the head across the platter. The
input to the system is the desired motor torque, u. In the diagram above, the
force exerted by the spring is a nonlinear function of the head position due to the
way it is attached. All constants are positive. We wish to design a controller that
holds the drive head at a given location θd . Assume that the system parameters
are such that K = 0.001, ζ = 0.5, ω = 0.1, and a = 1. Design a compensator that
provides tracking with less than 10% error up to 1 rad/s and has a phase margin
of 60◦ . Describe the sets of additive and multiplicative uncertainty that can be
accommodated by your design.
13.25 (AFM nanopositioning system) Consider the design in Example 13.11 and [C,1ep]
explore the effects of changing parameters α0 and ζ0 . robperf:afm-robustpid
with a = 1.25. In Exercise 7.9 we designed a state feedback that gave the character-
Exercise 7.9
istic polynomial det(sI − BK) = s2 + 2ζc ωc s + ωc2 and in Exercise 8.6 we designed
Exercise 8.6
an observer with the characteristic polynomial det(sI − LC) = s2 + 2ζo ωo s + ωo2 .
The numerical values used were a = 1.25, ωc = 5, ζc = 0.6, ωo = 10, and ζo = 0.6.
Compute the eigenvalues of the nominal system and the perturbed system where
the process gain is increased by 2%. Also compute the loop transfer function and
the sensitivity functions. Is there a way to know beforehand that the system will
be highly sensitive?
v
r C u P y
v
r C u P y
W2 ∆′
(a) Find a stable W2 and stable ∆′ with k∆′ k∞ ≤ 1 such that the second system
is the same as the first.
(b) Consider the performance specification given by kHuv k∞ < 1 for all ∆, where
Huv is the transfer function from v to u. Derive a necessary and sufficient condition
for robust performance in terms of the complementary sensitivity function for the
nominal plant and the weight W2 .
(c) Which of the following conditions is necessary in order for the above procedure
to work:
(i) P stable
(iii) P biproper
[N,1es] 13.28 Consider the two unity feedback loops shown below with the uncertainty in
robperf:uncertainty- each system given by ∆ stable, k∆k∞ ≤ 1.
mult2add
Chapter 13 – Robust Performance 13-7
v
r C u P y
Wra ∆
−1
v
r C u P y
Wrm ∆
−1
(a) Derive conditions under which the mutliplicative uncertainty problem is equiv-
alent to the additive uncertainty problem by appropriate choice of the weight Wra .
(Make sure to consider the case where P may have right half-plane poles or zeros.)
(b) Under what conditions is an additive uncertainty problem equivalent to a mul-
tiplicative uncertainty problem?
(c) Consider the performance specification given by kWp Huv k∞ < 1 for all ∆,
where Huv is the transfer function from v to u and Wp is a weighting function.
Derive a necessary and sufficient condition for robust performance in the presense
of multiplicative uncertainty with weight Wr .
Instructor note:2019 TA notes: P6(a, b): 40 min, still a little bit confused about
the notation in the diagram. For (b), I think an additional requirement for P is it
has no RHP zeros? (c): 18 min. Proof using similar block diagram argument and
small gain theorem.
13.29 Consider the system shown below. The performance objective is kW1 Huv k∞ < [N,1es] robperf:robperf-
1 for all k∆k∞ ≤ 1, where Huv is the transfer function from v to u. conditions
v
r C u P y
−
∆ W2
(a) Derive a set of necessary and sufficient conditions for robust stability of the
system.
13-8 Feedback Systems: Solutions Manual - v2.1a
(b) Derive one or more sufficient conditions for robust performance. These condi-
tions may be written in terms of W1 , W2 , L and P , but should not contain C or
∆.
(c) Design a lead compensator that provides robust stability and nominal perfor-
mace for the following case:
1 1
P (s) = , W1 (s) = , W2 (s) = 5.
s 20
Check to see if your controller provides robust performance.
Instructor note:For CDS 131: the firstt part of this problem is the same as DFT 4.9.
Make sure not to include both of them in the same problem set. The second part
of the problem should perhaps be rewritten to given the bound and ask students
to derive it?
Chapter 14 – Limits 14-1
Chapter 14 – Limits
The exercises below were commented out in source, but they are referenceed in the text. RMM
Need to decide whether to keep or move to supplemental? If not used, remove source files
from repository.
14.1 (Right half-plane pole/zero pair PI control) Consider a process with the trans- [?,2e*]
fer function limits:rhp-pzpair1
s−z
P (s) = .
s−p
(a) Show that the system can be controlled by a PI controller and design
p a PI
controller that gives a closed loop system with poles at s = −ζω0 ± ω0 1 − ζ 2 .
(b) Calculate the maximum sensitivity of the closed loop system as a function of
ω0 and compare with the bound imposed by the the right half-plane poles and zeros
of the system. Discuss the differences between the cases z > p and z < p.
(c) Plot the root locus of the process with the PI controller and qualitatively de-
scribe how it changes with the process pole and the process zero. Use the numerical
values ω0 = 1, ζ = 1, p = 1, z = 5 and p = 5, z = 1.
14.2 (Right half-plane pole/zero pair lag control) A process with the transfer func- [?,2e*]
tion limits:rhp-pzpair3
s − 0.1
P (s) =
s−1
cannot be controlled by a stable controller. Show that the controller
b
C=
s−2
with b = 6 stabilizes the system. Plot the Nyquist curve of the closed loop system
and determine the maximum sensitivities. Also plot the root locus with respect to
the parameter b.
14.3 (Right half-plane pole/zero pair lag control) Consider a process with the [C,2e*]
transfer functions limits:rhp-pzpair2
s−z
P (s) = .
s−p
(a) Show that the system can be controlled by a controller with the transfer func-
tion C(s) = b/(s
p − a). Design such a controller that gives the closed loop poles
s = −ζω0 ± ω0 1 − ζ 2 .
(b) Calculate the maximum sensitivities of the closed loop system as a function of
ωb and compare the bound imposed by the right half-plane poles and zeros of the
system. Discuss the differences between the cases z > p and z < p.
(c) Plot the root locus of the process with the PI controller and describe qualitative
the differences between the cases z > p and z < p. Use the numerical values
ω0 = 2, ζ = 1, p = 1, z = 5 and p = 5, z = 1.
14-2 Feedback Systems: Solutions Manual - v2.1a
k
L(s) = P (s)C(s) = ,
s+1
where parameter k > 0 is the controller gain. Show that the sensitivity function
can be made arbitrarily small.
Instructor note:Ayush: For HW 9 problem 3, I think the wording of the problem
can be a made a bit more specific since kSk∞ = 1 for a fixed k, although |S(jω)| can
be made arbitrarily small with k. So, we could probably change it to say something
like the magnitude of the sensitivity function can be made arbitrarily small?
[B,2e*] limits:bodeint 14.5 (Bode’s integral formula) In Theorem 14.1 it was assumed that sL(s) goes to
zero as s → ∞. Assume instead that lim sL(s) = a and show that
Z ∞ Z ∞ X
1 π
log |S(iω)| dω = log dω = π pk − a ,
0 0 |1 + L(iω)| 2
where pk are the poles of the loop transfer function L(s) in the right half-plane.
[C,1ep*] 14.6 (Integral formula for complementary sensitivity)Prove the formula (14.7) for
limits:bode-compsens the complementary sensitivity.
[B,2e*] 14.7 (Water turbine dynamics) Consider the problem of power generation in an
limits:hydroelectric hydroelectric power station. Let the control signal be the opening area a at the
turbine entrance and ℓ be the length of the tube, which has area A. Formulate
a mathematical model for the system, then linearize the model around a nominal
valve opening u0 = a/A and a nominal power P0 . Show that the linearization is
non-minimum phase, with transfer function
P0 1 − 2u0 sτ
G(s) = ,
a0 1 + u0 sτ
√
where τ = ℓ/ 2gh and g is the acceleration due to gravity.
[A,1ep*] 14.8 (The pole/zero ratio) Consider a process with the loop transfer function
limits:rhppzpair
z−s
L(s) = k ,
s−p
with positive z and p. Show that the system is stable if p/z < k < 1 or 1 < k < p/z
and that the largest stability margin is sm = |p − z|/(p + z), which is obtained
for k = 2p/(p + z). Determine the pole/zero ratios that give the stability margin
sm = 2/3.
14.9 (Phase lag of systems with right half-plane pole/zero pair and delay and right
[C,2e*] limits:rhpzpair- half-plane pole) Consider the transfer functions for a process with a right half-plane
rhppoledelay pole and right half-plane zero in Example 14.7 and a right half-plane pole and a
Chapter 14 – Limits 14-3
time delay in Example 14.8. The phase lags of their all-pass factors are given in
equations (14.15) and (14.16). Show that the largest phase lags are
√
ϕap1 = − arg Ppz (iω) ≤ 2 arctan 2 pz/|z − p| ,
p p
ϕap2 = − arg Ppτ (iω) ≤ pτ (2 − pτ ) + 2 arctan pτ /(2p − pτ )
√ p
and that they occur for ω1 = pz and ω2 = 2p/τ − p2 respectively.
14.10 (X-29) A simplified model of the X-29 aircraft in a certain flight condition [?,2e*]
has a right-hand pole/zero pair with p = 6 rad/s and z = 26 rad/s. Estimate the limits:rhp-pzpair-X29
achievable stability margins and compare with the results in Example 14.4.
14.11 (Sensitivity inequalities)Prove the inequalities given by equation (14.22). [A,1ep*] limits:rhp-
(Hint: Use the maximum modulus theorem.) complexzero-cond
14.12 (Sensitivity limits due to poles in the right half-plane) Let Tr = Mt b/(s + [C,2e*]
b) represent an upper bound on the desired sensitivity and let ωtc represent the limits:mmp-rhp-poles
complementary sensitivity crossover frequency. Show that for a process P (s) with
a right half-plane pole s = p but no other singularities in the right half-plane, the
following inequalities hold:
p p
pre + Mt2 p2re + (Mt2 − 1)p2im pre + Mt2 p2re + (Mt2 − 1)p2im
b≥ , ωtc ≤ p .
Mt2 − 1 Mt2 − 1
(S14.1)
14.13 (Maximum complementary sensitivity for multiple right half-plane poles and
zeros) Consider a process P (s) with the right half-plane zeros zk and right half- [C,2e*] limits:rhpz-Mt
plane poles pk . Introduce the polynomial n(s) with zeros s = zk and the polynomial
d(s) with zeros s = pk . Show that the complementary sensitivity function has the
property
n(−pk )
Mt ≥ max .
k n(pk )
Also show that the equations (14.29) hold.
14.14 (Vehicle steering) Consider the Nyquist curve in Figure 14.12. Explain why [C,1ep]
part of the curve is approximately a circle. Derive a formula for the center and the limits:steering-nyquist
radius and compare with the actual Nyquist curve.
Discuss suitable choices of closed loop poles for a design that gives dominant poles
with undamped natural frequency 1 and 10.
[A,1ep] limits:noisebw 14.17 (Noise limits bandwidth) Consider PI control of an integrator, where the
transfer functions of the process and the controller are
1 ki
P (s) = , C(s) = kp + ,
s s
and kp = 2ζω0 and ki = ω02 , with ζ = 0.707. Assume that the inputs and outputs
range from 0 to 10 V, that there is measurement noise with a standard deviation
of 10 mV, and that the largest permissible variation in the control signal due to
noise is 2 V. Show that the bandwidth, defined as ωbw = 2ω0 , cannot be larger
than 283.
Supplemental Exercises
[?,2e] 14.18 (Stabilizability) Consider a linear system A, B with n state variables. Show
limits:stabilizability- that a system is stabilizable if
rank
rank A − λI B = n
Comment [RMM, 26 Dec 2019]: The next two exercises are variants of ones included
above. Create exernotes to this effect.
[B,1es] limits:bode- 14.19 (Bode’s integral formula without rolloff) Bode’s integral formula in Theo-
compsens-norolloff rem 14.1 and the corresponding formula for the complementary sensitivity function
assume that the loop transfer function has the property lims→∞ sL(s) = 0. Assume
instead that the limit is not zero and prove that
Z ∞ Z ∞ X
1 π
log |S(iω)| dω = log dω = π pk − lim sL(s)
0 0 |1 + L(iω)| 2 s→∞
Z ∞ 1 X 1 π
log T dω = π −
0 iω zk 2 lim sL(s)
s→0
[B,1es] limits:bode- 14.20 (Bode’s integral formula for complementary sensitivity) Let zk be the right
compsens-alt half-plane zeros of the loop transfer function. Prove the following integral formula
for the complementary sensitivity
Z ∞ 1 X 1
log T dω = π .
0 iω zk
Comment [RMM, 8 Jul 2019]: Looks like there is something wrong in the solution. Double
check before including in solutions manual.
Chapter 14 – Limits 14-5
14.21 (Limits on achievable phase lag) Derive the analytical formulas corresponding [N,1es] limits:rhppole-
to the plots in Figure 14.8. limitations
14.22 (Time delay and a pole in the right half-plane) Consider a process with the [C,2e*] limits:mmp-rhp-
transfer function pole-delay
e−sτ
P (s) = P̄ (s),
s−p
where P̄ (s) has no poles and zeros in the right half-plane. Show that the sensitivity
functions have the properties listed in Table 14.1:
Mt ≥ epτ , Ms ≥ epτ − 1.
14.23 (Stabilization of an inverted pendulum with visual feedback) Consider sta- [C,1ep*]
bilization of an inverted pendulum based on visual feedback using a video camera limits:balance-visual
with a 50-Hz frame rate. Let the effective pendulum length be l. Assume that
we want the loop transfer function to have a slope of ngc = −1/2 at the crossover
frequency. Use the gain crossover frequency inequality to determine the minimum
length of the pendulum that can be stabilized if we desire a phase margin of 45◦ .
14.24 (Design with poor robustness) Consider a process with the transfer function [C,2e]
limits:poor-robustness
1
P (s) = .
s+1
Design a PI controller that gives a closed loop system with the characteristic poly-
nomial s2 + 0.2s + 0.01. Plot the Nyquist curve of the loop transfer function and
determine the gain, phase, and stability margins.
14.25 (Rear-steered bicycle) Consider the simple model of a bicycle in equa- [C,1ep]
tion (4.5), which has one pole in the right half-plane. The model is also valid limits:bicycle-rearsteer
for a bicycle with rear wheel steering, but the sign of the velocity is then reversed
and the system also has a zero in the right half-plane. Use the results of Exer-
cise 14.8 to give a condition on the physical parameters that admits a controller
Exercise 14.8
with the stability margin sm .
14-6 Feedback Systems: Solutions Manual - v2.1a
Chapter 15 – Architecture 15-1
Chapter 15 – Architecture
2 Feedback Systems: Solutions Manual - v2.1a
Appendix A – CDS 101/110a Exam Problems A-1
A.1
A.2Choose any two of the feedback systems listed below. For each system you
choose, answer the following questions:
i. Draw a block diagram for the system consisting of the process dynamics,
the sensing and actuation subsystems, and the control law (similar to Figure
3.1 in the course text, shown below). You should label your diagram in a
descriptive fashion and include any external inputs to the blocks.
ii. For each block in your diagram, describe a plausible model of the subsystem
and give the state, inputs and outputs, and the dynamics of the model. You
may give your answer in words, but please be as precise as possible.
iii. Describe the effect of the feedback controller, either in terms of robustness
with respect to uncertainty or the modifications of the (open loop) dynamics.
In other words, describe why feedback might be useful for this example.
Please make sure to identify the number of the system when responding to the
three questions above. Your answers will be graded based on your grasp of control
concepts and not how well you know the details of the particular system (so it is
OK if you make up some plausible description of the system).
A.3
A.4In this problem, you will answer a series of questions about each of the systems
illustrated in the phase curves below.
A-2 Feedback Systems: Solutions Manual - v2.1a
1
5
0.5
x2
2
0 0
x
−0.5
−5
−1
−1 −0.5 0 0.5 1 −6 −4 −2 0 2 4 6
x1 x
1
A.6-1 A.6-2
1 1
0.5 0.5
x2
x2
0 0
−0.5 −0.5
−1 −1
−1 −0.5 0 0.5 1 −1 −0.5 0 0.5 1
x1 x1
A.6-3 A.6-4
For each of the phase curves above, answer the following:
i. [5 points] Is the equilibrium point at the origin stable, asymptotically stable,
or unstable?
ii. [5 points] Which of the following sets of equations can be used to describe
the phase portrait? Assume all constants are strictly positive (> 0) and that
they may be chosen as needed to match the phase portrait. More than one
equation may be applicable to a given phase portrait, so list all equations
that are consistent.
" # " #
ẋ1 = −ax1 − bx2 ẋ1 = −ax31 − bx2
(1) (2)
ẋ2 = ax1 ẋ2 = ax1
" # " #
ẋ1 = ax1 − bx2 − c(x1 x22 + x31 ) ẋ1 = x2
(3) (4)
ẋ2 = ax1 + bx2 − c(x21 x2 + x32 ) ẋ2 = −g sin(x1 )
Hint: you should not need to solve these equations in detail to determine your
answer.
Appendix A – CDS 101/110a Exam Problems A-3
iii. [5 points] Which of the following sets of initial condition responses are possible
for the given phase portrait? (Note that more than one response may be
applicable to a given phase portrait, depending on the initial condition, so
list all responses that are consistent.)
0.2 0.3
0 0.2
x1, x2
x1, x2
x ,x
0
1
−0.2 0.1
−0.4 0
−0.6 −0.1
R1 R2 R3
0.5 1 3
x x x1
1 1
0.4 0.8
x2 x2 x2
2
0.6
0.3
0.4 1
0.2
x1, x2
x1, x2
2
x ,x
0.2
1
0.1 0
0
0
−0.2
−1
−0.1 −0.4
−0.2 −0.6 −2
0 5 10 15 20 0 5 10 15 20 0 5 10 15 20
time time time
R4 R5 R6
Please transcribe the following table into your notes to summarize your answers.
Note that you should not just fill out this table. You must explain your answers
and provide justification to receive full credit for the problem.
Part Sample System 2.1 System 2.2 System 2.3 System 2.4
(a) stable, asy stable, unstable stable
(b) Equation (1)–(4) (2), (3)
(c) Responses R1–R6 R1, R4
(d) Globally asy stable? Y
(e) Exponentially stable? N
A.5
A-4 Feedback Systems: Solutions Manual - v2.1a
A.6In this problem, you will answer a series of questions about each of the systems
illustrated in the phase curves below.
1 1
0.5 0.5
x2
2
0 0
x
−0.5 −0.5
−1 −1
−1 −0.5 0 0.5 1 −1 −0.5 0 0.5 1
x1 x1
A.6-1 A.6-2
1
5
0.5
x2
0 0
x
−0.5
−5
−1
−1 −0.5 0 0.5 1 −6 −4 −2 0 2 4 6
x1 x1
A.6-3 A.6-4
For each of the phase curves above, answer the following questions:
ii. [5 points] Which of the following sets of equations can be used to describe
the phase portrait? Assume all constants are strictly positive (> 0) and that
they may be chosen as needed to match the phase portrait. More than one
equation may be applicable to a given phase portrait, so list all equations
that are consistent.
Appendix A – CDS 101/110a Exam Problems A-5
" # " #
ẋ1 = −ax1 − bx2 ẋ1 = −ax31 − bx2
(1) (2)
ẋ2 = ax1 ẋ2 = ax1
" # " #
ẋ1 = ax1 − bx2 − c(x1 x22 + x31 ) ẋ1 = x2
(3) (4)
ẋ2 = ax1 + bx2 − c(x21 x2 + x32 ) ẋ2 = −g sin(x1 )
Hint: you should not need to solve these equations in detail to determine your
answer.
iii. [5 points] Sketch a respresentative initial condition response showing the ini-
tial value of the state, any important features in the response, and the steady-
state behavior of the system. If there are qualitatively different plots for
different initial conditions, include a plot for each different behavior.
Two sample responses are show below:
0.2 0.3
0 0.2
2
x1, x2
x ,x
x ,x
0
1
−0.2 0.1
−0.4 0
−0.6 −0.1
R1 R2 R3
0.5 1 3
x1 x1 x1
0.4 0.8
x2 x2 x
2 2
0.6
0.3
0.4 1
0.2
2
2
x ,x
x ,x
x ,x
0.2
1
1
0.1 0
0
0
−0.2
−1
−0.1 −0.4
−0.2 −0.6 −2
0 5 10 15 20 0 5 10 15 20 0 5 10 15 20
time time time
R4 R5 R6
A-6 Feedback Systems: Solutions Manual - v2.1a
A.7
dx
= Ax + Bu
dt
to an arbitrary input u. Use the form of the solution to show that the system is
reachable if and only if the reachability matrix
Wr = B AB · · · An−1 B .
is full rank.
A.9
A.10In this problem you will analyze the performance of a congestion control
method known as FAST TCP. It is not necessary to understand the derivation
of these equations in order to complete the problem.
A single queue with a constant rate c fed by a FAST TCP sender x(t) and a
malicious sender u(t) can be modeled by the following equations:
1 x2 xu
ẋ = α − x (p − 1) − −
1+p c c
1
ṗ = (x − c + u)
c
where x(t) is the FAST TCP sender rate (in bits/sec), u(t) is the malicious sender
rate (in bits/sec), and p(t) is the queuing delay (in sec). Here c > 0 and α > 0 are
given constants, representing link capacity and target queue length, respectively.
ż = Az + Bv
y = Cz
where
c
−1 − c2
− c+α
A=
1
c+α
B=
1
C = 0 1
c 0 c
iii. Suppose v(t) = 0 for all t. Show that the linearized system is asymptotically
stable for any positive finite c and α.
Appendix A – CDS 101/110a Exam Problems A-7
iv. Take c = α = 1. Suppose the malicious sender v(t) can observe p(t) but not
x(t) and tries to distabilize the system z(t) using linear state feedback of the
form
v = Kz = 0 k z
for some k ∈ R. Show that z(t) remains asymptotically stable if and only if
k < 1.
A.11
A.12In this problem, you will answer a series of questions about each of the fol-
lowing linear control systems:
"
ẋ1 = −bx1 + u
(3.1)
ẋ2 = −ax1 + bx2
ii. [5 points] Determine whether the system is reachable. If the answer depends
on the specific values of parameters, indicate any conditions under which the
system is not reachable.
A.13
ii. Show that the process dynamics can be written in state space using in-
put/output dynamics of the form
dx −a1 −a2 1
= x +
u, y = b1 b2 x
dt 0 1 0
iii. Assume that the states of your model for part 1 are available. Design a
state space controller that places the closed loop eigenvalues of the system at
λ1 = −1 and λ2 = −2. Is it possible to do this for all values of a, ζ and ω0 ?
A-8 Feedback Systems: Solutions Manual - v2.1a
iv. Suppose a > ω0 > 0 and 0 < ζ < 0.5, and consider a PI compensator of the
form
kp s + ki
C(s) = .
s
Sketch the Bode and Nyquist plots for the loop transfer function and use
these to determine if the bandwidth of the closed loop system can be set
arbitrarily high using this compensator. What is the maximum phase margin
your controller can achieve?
v. Suppose now that −ω0 < a < 0. Design a controller that gives step response
with less than 1% steady-state error and that provides disturbance attentua-
tion of a factor of 10 up to frequency ω0 .
A.15
A.16The figure below shows a simple mechanism for positioning a disk drive read
head and the associated equations.
Disk
J θ̈ = −bθ̇ − kr sin θ + τm
k τ̇m = −a(τm − u)
τm
Motor
The system consists of a spring loaded arm that is driven by a small motor. The
motor applies a force against the spring and pulls the head across the platter. The
input to the system is the desired motor torque, u. In the diagram above, the force
exerted by the spring is a nonlinear function of the head position due to the way it
is attached. All constants are positive.
i. Write the equations of motion for the system in state space form (ẋ = f (x, u)).
You should order your states so that the states corresponding to the arm
dynamics come first and the motor dynamics second.
ii. Plotted below is the step response of the nominal closed loop system.
Appendix A – CDS 101/110a Exam Problems A-9
1.4
1.2
theta (deg) 1
0.8
0.6
0.4
0.2
0
0 5 10 15 20 25 30 35 40
time (msec)
Estimate the rise time, overshoot, settling time (2%), and steady-state error.
Indicate your answers on a (hand drawn) sketch of response, with appropriate
notation to understand how you did your calculation.
iii. Suppose we wish to design a state space control law around a specified read
area on the disk, given by θd ≫ 0. Compute the linearization of the system
at the desired equilibrium point and verify reachability of the system. Show
by direct calculation that a state feedback control law of the form u = ue −
K(x − xe ) can be used to arbitrarily place the closed loop eigenvalues of the
system. You may find the following calculation for the determinant of a 3 × 3
matrix helpful:
a a12 a13
11
det a a22 a23
21 = a11 (a22 a33 −a23 a32 )−a12 (a21 a33 −a31 a23 )+a13 (a21 a32 −a31 a22 )
a31 a32 a33
A.17
A.18Consider the problem of lateral steering for the Alice, Caltech’s autonomous
vehicle that competed in the 2007 Urban Challenge. The goal is to design a control
law that adjusts the turning velocity of the steering wheel so as to cause the vehicle
to follow a horizontal line. The system and its equations of motion are:
y l=1
ẏ = v0 sin θ
θ
θ̇ = v0 tan ϕ
ϕ̇ = u
x
Here y is the distance of a point at the rear of the car from center of the lane, θ is
the angle that the car makes with respect to the horizontal, ϕ is the angle of the
steering wheel, v0 is the forward velocity of the car (assumed here to be constant),
and u is the rate at which the steering wheel is turned. The horizontal position, x,
A-10 Feedback Systems: Solutions Manual - v2.1a
is ignored. (Don’t worry if you can’t derive these equations, just assume they are
right.)
i. [5 points] Compute the equilibrium points for the system, assuming ϕ ∈
[0, π/4] and v0 > 0. (Hint: there is more than one equilibrium point.)
ii. [5 points] Show that the linearized dynamics of the system are given by
0 v0 0 0
ż =
0 0 v0
z +
0
w
0 0 0 1
where z = x − xe is the state and w = u − ue the input. Write down
the dynamics of the closed loop system
under a state feedback of the form
w = −Kz with K = v0 3v0 3v0 and determine if the closed loop system
is stable, asymptotically stable, or unstable.
iii. [5 points] Plotted below is the step response of the system under state feedback
(not necessarily the same one as the previous part), as it moves from one y
position to another:
1.5
Position y [m]
0.5
0
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
Time t [s]
Estimate the rise time, overshoot, settling time (2%), and steady-state error.
Indicate your answers on a (hand drawn) sketch of response, with appropriate
notation to understand how you did your calculation.
iv. [10 points] Suppose we wish to design a state space control law u = −K(x−xe )
for the original nonlinear system. Compute the linearization of the closed
loop system ẋ = f (x, −K(x − xe )) around a relevant equilibrium point and
calculate the gains necessary to place the eigenvalues of that linearized model
at the locations λ1 , λ2 , λ3 .
You may find the following calculations helpful:
a11 a12 a13
det
a a22 a23
= a11 (a22 a33 − a23 a32 ) − a12 (a21 a33 − a31 a23 ) + a13 (a21 a32 − a31 a22 )
21
a31 a32 a33
∂
(sin θ) = cos θ
∂θ
∂ 1
(tan ϕ) =
∂ϕ cos2 ϕ
Appendix A – CDS 101/110a Exam Problems A-11
A.19
A.20The figure below shows a simple mechanism for positioning a disk drive read
head and the associated equations.
Disk
J θ̈ = −bθ̇ − kr sin θ + τm
k τ̇m = −a(τm − u)
τm
Motor
The system consists of a spring loaded arm that is driven by a small motor. The
motor applies a force against the spring and pulls the head across the platter. The
input to the system is the desired motor torque, u. In the diagram above, the force
exerted by the spring is a nonlinear function of the head position due to the way it
is attached. All constants are positive. We wish to design a controller that holds
the drive head at a given location θd .
i. (5 points) Suppose we wish to design a linear control law around the desired
drive head position θ = θd ≫ 0. Compute linearization of the system (in
state space form) at the desired equilibrium point and verify reachability of
the system.
ii. (5 points) Show that the transfer function from the input u to the drive angle
θ has the form
K
Hyu = 2 .
(s + 2ζω0 s + ω02 )(s + α)
Find explicit expressions for K, ζ, ω0 , and α in terms of the parameters of
the physical system and the desired drive head position. (Hint: you can do
this without inverting a 3 × 3 matrix by thinking of the system as the series
connection between two simpler systems.)
iii. (5 points) Assume that the system parameters are such that
The Bode plot for the transfer function Hyu is shown below:
A-12 Feedback Systems: Solutions Manual - v2.1a
0
10
−2
10
Magnitude
−4
10
−6
10
−8
10
−3 −2 −1 0 1 2
10 10 10 10 10 10
−90
Phase, deg
−120
−150
−180
−270
−3 −2 −1 0 1 2
10 10 10 10 10 10
Frequency, rad/sec
i. Using block diagram algebra, redraw the block diagram so that it consists
of a controller C(s) and process P (s) in a unity feedback system. Give an
Appendix A – CDS 101/110a Exam Problems A-13
expression for P (s) in terms of s, c and any other numerical factors that are
required.
ii. Sketch the frequency response of the loop transfer function with C(s) = 1.
Label the magnitudes, breakpoints, and slopes of the key features in your
sketch.
iii. Design a controller for your system that has a gain crossover frequency of at
least 20c rad/sec and gives a phase margin of at least 45◦ . Demonstrate that
your controller satisfies the specification by plotting the loop transfer function
and labeling it appropriately.
iv. Setting c = 1, compute the gain, phase, and stability margins for your con-
troller and label these on a Nyquist plot.
A.23
dx1
= (b + u)x1 − ax1 x2 ,
dt
dx2
= ax1 x2 − dx2 .
dt
In this equation, x1 represents the prey population, x2 represents the predator
population and u is an input. The parameters b, a and d are all positive and we
take our time unit to be in years (rather than seconds).
i. Compute the equilibrium point(s) for the unforced (u = 0) system and deter-
mine whether the equilibrium point with x1 , x2 > 0 is stable, asymptotically
stable, or unstable. (You only need to do your calculation for the linearized
system.)
ii. Returning to the unforced equilibrium point for the system, show that the
transfer function from the input u to the prey population y = x1 has the form
k(s − α)
P (s) =
s2 + 2ζω0 s + ω02
iii. Design a controller that tracks a reference value r and provides less than 10%
error at up to 1 rad/yr. If you need to use parameters for your design, you
can take b = 1, d = 2, and a = 0.01.
Instructor note:This is a bit of a misleading question, but one that has ap-
peared on previous exams (including ones posted on the web).
A-14 Feedback Systems: Solutions Manual - v2.1a
limits the performance of a closed loop system. Describe how these limits
affect your control design.
A.25
A.26Consider a linear system with transfer function
20
P (s) =
(s + 1)3 (s + 20)
i. Sketch the frequency response to a sinusoidal input u = A sin ωt. Make sure
to label all important features and their appropriate values.
ii. Suppose that we want to track a reference signal r. Design a feedback com-
pensator for the system that gives a stable closed loop system and steady-state
tracking error (y − r) less than 5% from 0 to 1 Hz.
iii. For the compensator you designed in question 0()ii, show how to compute the
gain and phase margin using a Nyquist plot.
A.27
A.28Consider a mechanical system with dynamics
mq̈ + bq̇ + k sin(q) = u
where q ∈ R is the configuration variable for the system, u is the input, and m, b,
and k are all positive constants.
i. Write the state space equations for the system with output y = q̇. Consider
the linearization of the system around the point q = q̇ = 0. Is the linearized
system reachable? Observable?
ii. Write the transfer function for the linearized system and sketch the frequency
response to a sinusoidal input u = A sin ωt. Make sure to label all important
features and their appropriate values (in terms of m, b, and k).
iii. Suppose that we want y = q̇ to track a reference signal r. Design a feedback
compensator for the system that gives steady state tracking error (y − r)
less than 5% from 0 to 10 Hz. Is the resulting closed loop system internally
stable?1 If not, how might you modify the performance criterion to allow
RMM: Make sure internal stability?†
this is defined 1 A controller is said to be internally stable if all possible transfer functions between any two
iv. For the compensator you designed in question 0()ii, show how to compute the
gain and phase margin using a Nyquist plot.
A.29
A.30In this problem, you will answer a series questions about each of the systems
illustrated in the Bode plots below. You should summarize your answer to this
question by creating a table with the rows corresponding to each system and the
columns corresponding the the answers for questions a–c. You should also include
the analysis you used to obtain your answers (separate from the summary chart).
For example, relate the phase and/or frequency of the gain crossover in the Bode
plot to the equivalent features in the Nyquist plot and/or step response. If you use
MATLAB, you should still give a description of the key features that justify your
answers.
1
10
0
10 0
10
Gain
Gain
−2
10 10
−1
−4 −2
10 10
0 360
Phase [deg]
Phase [deg]
270
−90 180
90
−180 −2 −1 0 1 2
0 −2 −1 0 1 2
10 10 10 10 10 10 10 10 10 10
2.1 Frequency [rad/s] 2.2 Frequency [rad/s]
0
10 −1
10
Gain
Gain
−3
10 −5
10
−6 −9
10 10
0 0
Phase [deg]
Phase [deg]
−90 −90
−180
−180 −270
−270 −2 −1 0 1 2
−360 −2 −1 0 1 2
10 10 10 10 10 10 10 10 10 10
2.3 Frequency [rad/s] 2.4 Frequency [rad/s]
2 4
10 10
1 1
10 10
Gain
Gain
0 −2
10 10
−1 −5
10 10
0 0
Phase [deg]
Phase [deg]
−90 −90
−180
−270 −180
−360 −2 −1 0 1 2
−270 −2 0 2 4
10 10 10 10 10 10 10 10 10
2.5 Frequency [rad/s] 2.6 Frequency [rad/s]
A-16 Feedback Systems: Solutions Manual - v2.1a
For each of the open loop Bode plots above, answer the following:
i. Determine the zero frequency gain and gain crossover frequency ωgc for each
of the systems above. Assuming the closed loop systems are stable, compute
the steady-state error to a step input for a unity gain feedback system.
ii. Which of the following Nyquist plots corresponds to the Bode plots? Assume
that all open loop poles have non-positive real part (they might have zero real
part).
Im Im
Re Re
(N2) (N4)
Im Im
Re Re
(N3) (N1)
Im Im
Re Re
(N5) (N6)
Please note that not all features of the plots above are completely discernible
(a limitation of Nyquist plots), so you may need to use multiple features to
sort things out. Don’t forget to describe how you obtained your answer.
iii. Suppose that we create a closed loop system by setting u = −y (the standard
unity gain, negative feedback loop). Which of the following sets of closed loop,
unit step responses are possible for the given open loop frequency response?
Note that the scales are different on each plot.
Appendix A – CDS 101/110a Exam Problems A-17
1.5 1
0.8
Amplitude
Amplitude
1
0.6
0.4
0.5
0.2
0 0
0 5 10 15 20 0 5 10 15 20
(S2) Time (seconds) (S1) Time (seconds)
0
Amplitude
Amplitude
1
−2
0.5
−4
−6 0
0 5 10 15 20 0 20 40 60 80 100
(S3) Time (seconds) (S4) Time (seconds)
1 1.5
0.8
Amplitude
Amplitude
1
0.6
0.4
0.5
0.2
0 0
0 20 40 60 80 100 0 0.5 1 1.5 2
(S3) Time (seconds) (S4) Time (seconds)
What is the maximum amount of additional phase lag (within 10%) for which
each system is stable?
A.31
A.32Consider a system with transfer function
1
P (s) = 0.02 < a < 0.2.
(s + 1)2 (a − s)
Consider the possibility of using a proportional controller of the form C(s) = kp
where kp ∈ R.
A-18 Feedback Systems: Solutions Manual - v2.1a
A. Sketch the Bode plot for the loop transfer function, labeling all key features
(breakpoints in gain and phase, zero frequency gain, phase at zero and infinity,
etc).
B. Sketch the Nyquist plot for the system and determine whether the system is
stable for kp = 2a and kp = −2a.
C. Using your Nyquist plot or other means, determine the range of values of kp
for which the controller stabilizes the closed loop system. (Keep in mind that
kp can be positive or negative.)
A.33
A.34Consider a unity feedback control system with plant and controller dynamics
given by
0
1 10
P (s) =
(s + 1)(s + 50) Gain
−4
10
ki
C(s) = .
s
−8
10
The Bode plot for the process
transfer function, P , and the 0
loop transfer function, L =
Phase [deg]
−270 −2 0 2
10 10 10
Frequency [rad/s]
A. Sketch the Nyquist plot for the system and use it to estimate the largest
gain, kmax , for which the closed loop system is stable. Your answer should be
within 10% of the exact value.
B. For ki = 50, plot the Gang of Four transfer functions and identify any in-
put/output pairs and corresponding frequency ranges for which there exists
an input that can produce an output with gain larger than 10.
For the step response, you may assume that a phase margin of 60 degrees is
sufficient to achieve the specification.
Appendix A – CDS 101/110a Exam Problems A-19
A.35
A.36Consider a unity feedback control system with plant and controller dynamics
given by
1 ki
P (s) = C(s) =
(s + 1)(s + 25) s
A. Sketch the Bode plot for the loop transfer function and use it to estimate the
largest gain, kmax , for which the closed loop system is stable. Your answer
should be within 10% of the exact value.
B. Consider the following performance specification:
• Steady-state error to a unit step input is less than 1%.
• Tracking error of less than 10% up to 1 rad/sec.
• Phase margin of 60 degrees.
Does the controller C(s) with ki = 10 satisfy the performance specification?
If so, compute the steady-state error, bandwidth, and phase margin for the
system. If not, design a new compensator for the system, C ′ (s), that satisfies
the given specifications.
C. (CDS 110 only) For the original integral compensation C(s), suppose we
choose ki = 100 and add a sensor in the feedback path with dynamics
1
G(s) =
τs + 1
with τ = 0.5. Draw the block diagram for the system with the sensor dynam-
ics added, compute the new loop transfer function, and sketch the revised
open loop Bode plot, indicating where the sensor dynamics begin to affect
the frequency response (gain and phase). From the Bode plot, determine if
the closed loop dynamics are still stable.
A-20 Feedback Systems: Solutions Manual - v2.1a
A.37
A.38Consider the motion of vectored thrust aircraft, such as the Harrier “jump
jet” shown below:
y r
F2
x F1
The Harrier is capable of vertical takeoff by redirecting its thrust downward and
through the use of smaller maneuvering thrusters located on its wings. A simplified
model of the Harrier is shown in on the right, where we focus on the motion of the
vehicle in a vertical plane through the wings of the aircraft. We resolve the forces
generated by the main downward thruster and the maneuvering thrusters as a pair
of forces f1 and f2 acting at a distance r below the aircraft (determined by the
geometry of the engines).
Let (x, y, θ) denote the position and orientation of the center of mass of aircraft.
Let m be the mass of the vehicle, J the moment of inertia, g the gravitational
constant, and c the damping coefficient. Then the equations of motion for the fan
RMM: fi → Fi ? are given by:
mẍ = f1 cos θ − f2 sin θ − cẋ
mÿ = f1 sin θ + f2 cos θ − mg − cẏ
J θ̈ = rf1 .
A. Compute the equilibrium point for the aircraft corresponding to hovering and
find the linearization of the dynamics about that equilibrium point.
B. Assume that the vertical force f2 is fixed at its equilibrium value. Compute
the transfer function H(s) from f1 to the lateral position x.
C. Find the poles and zeros of the transfer function H and sketch the Nyquist
plot for the open loop system. Describe any limits on achievable performance
that arise from the structure of the system (i.e., right half-plane poles or
zeros, shape of the Nyquist plot) and discuss what type of controller might
be needed to provide stability and good performance.
D. Suppose that we can measure the position and orientation of the center of
mass of the aircraft, (x, y, θ), but we cannot directly measure any of the
velocities corresponding to these quantities. Describe how to estimate the
complete state from these measurements. What other information, if any, do
you need in order to design your estimator?
Appendix A – CDS 101/110a Exam Problems A-21
Instructor note:This exercise is mostly worked out in the text, so should only be
used for a closed book exam.
A.39
A.40Consider a nonlinear system with dynamics
In this problem you will design a local linear controller for the system about one of
its equilibrium points.
A. Assuming no input (u = 0), compute all of the equilibrium points for the sys-
tem above and use the linearization about each equilibrium point to determine
if that point is locally stable, asymptotically stable, or unstable.
B. For the equilibrium point at the origin, verify that the linearization is reach-
able and compute a state space feedback u = Kx that places the closed loop
poles at −1 and −2.
For the next part, you should use the linearization of the system dynamics
around the origin.
A. Compute the transfer function from u to y for the open loop system (no state
feedback) and sketch the frequency response using a Bode plot. Label all
significant features in your plot with the appropriate numerical values.
B. Assuming the model above describes the process dynamics in a unity feed-
back system, design a frequency domain controller that satisfies the following
performance specifications:
• Steady-state error to a unit step input in r is less than 1/100.
• Tracking error of less than 10% up to 10 rad/sec.
• The unit step response from r to y has an overshoot of less than 20%.
Your computations do not have to be exact, but you should include enough
detail to indicate how and why the specifications are satisfied.
(CDS 210 only) Describe the maximum amount of multiplicative process
uncertainty that your system can tolerate and still maintain internal stability.
Your description should be in terms of a frequency bound on the magnitude
of the uncertainty.
A-22 Feedback Systems: Solutions Manual - v2.1a
A.41
A.42Consider a genetic circuit consisting of a single gene. We wish to study the
response of the protein concentration to fluctuations in the mRNA dynamics. We
consider two cases: a constitutive promoter (no regulation) and self-repression (neg-
ative feedback), illustrated below
RNAP RNAP
A A
A. Assuming d = 0, determine the equilibrium points for each system and de-
termine whether the system is stable, asymptotically stable or unstable at
each equilibrium point. You do not need to solve for the equilibrium points
analytically, but should give appropriate expressions in terms of α(p) and
α′ (p).
B. Consider the linear model that approximates the system around its stable
equilibrium point. Is the system reachable? observable?
C. Compute the transfer function from d to p for each circuit around its stable
equilibrium point and sketch the frequency response from u to p for each
system, labelling all relevant features (zero frequency gain, bandwidth, etc).
D. Suppose that we connect two repressors in series, so that the output of the
first circuit is the input to the next circuit. Write down the dynamics for the
system and compute the transfer function from the input of the first circuit
to the output of the second.
E. (CDS 110) Suppose that we wish to replace the static function α(p) with a
controller that maintains the stable equilibrium point in the presence of a
disturbance input d. Design a frequency domain controller that provides zero
steady-state error and can track a reference concentration with less than 10%
error up to the natural bandwidth of the system.
F. (CDS 210) Suppose that the parameter δ (which correlates with the growth
rate of the cells) is uncertain and time-varying. Give the conditions on δ for
robust stability of the closed loop system.
Appendix A – CDS 101/110a Exam Problems A-23
G. Suppose we want to estimate the states of the single repressor system given
(noisy) measurements of its inputs and outputs. Describe how to design an
estimator that provides an estimate of the mean and covariance of the states
as a function of time.
A.43
where q ∈ R, u is the input, and m, c, and k are all positive constants. We will
consider a relatively well damped system, with c2 − 4km > 0.
A. Compute the equilibrium point that corresponds to q(t) = π/4 and find the
linearization of the system around that equilibrium point. Using x = (q, q̇),
show that the linearized system can be written as
0 1 0
ż =
z +
v
−α −β 1
B. Determine whether the system is reachable and, if so, design a state feedback
controller that u = −Kz + kf r so that the response of the state z1 to a step
input with magnitude r has overshoot less than 20% and zero steady-state
error. You should express the form of your controller in terms of α and β.
C. Compute the transfer function P (s) for the linearized system in (a), determine
its poles and zeros, and sketch a Bode plot for the frequency response from
the input v to the output y = q − qe . You should do all computations in terms
of α and β.
A.45
where a, b > 0. Your friend from MIT suggests the following control law, based on
process inversion:
ω0 1 ω0 (s + b)
C(s) = = ,
s P (s) (s − a)
which has a loop transfer function given by L(s) = ω0 /s.
In answering the questions below, you can assume that a < b < ω0 .
A-24 Feedback Systems: Solutions Manual - v2.1a
A. Sketch the Bode plot, Nyquist for the loop transfer function designed by your
friend, labeling your plot with key frequencies, magnitudes and slopes. Using
your plot, compute the gain and phase margins for the system, marking the
phase margin on your Nyquist plot.
B. Analytically compute the Gang of 4 for this system, sketch their Bode plots
(magnitude only), and describe any transfer functions for which the system
may not provide good input/output response. (Hint: the sensitivity function
for the system is
1 s
S= = .
1+L s + ω0
If you compute the gang of 4 using this, you should get pretty simple formulas.
At least one of the gang of 4 has one or more problems with it.)
C. (CDS 110 only) Sketch a loop shape for the system that satisfies the following
specifications:
• Step response from the reference input to the process output has zero
steady-state error and overshoot less than 20%;
• Bandwidth of Hyr is ω0 or greater;
• Steady-state response to a step disturbance has zero error;
• Sensor noise at the process output is attenuated by the controller so that
|Hun | decreases at slope −1 or steeper above 10ω0 .
You should annotate your sketch showing the different specifications that
must be satisfied in different regions of the plot. You do not have to find a
specific controller that satisfies this loop shape specification.
RMM: Set up †
problem using xkeyval
Appendix B – CDS 131 (Theory) Problems B-1
Describe how the observability condition is different for a discrete-time system from
the continuous-time dynamics studied in class (and the notes).
B.3It can be shown that a linear differential equation of the form
dx
= Ax
dt
is asymptotically stable if and only if there exists a positive definite, symmetric
matrix P ∈ Rn×n such that P A + AT P is a negative definite, symmetric matrix.
(One way think about this is to note that for a diagonalizable matrix A the matrix
P can be taken as the identity matrix in transformed coordinates.)
Use this fact to show the following results:
B-2 Feedback Systems: Solutions Manual - v2.1a
where Q > 0 and R > 0. Use the stability condition above to show that the
resulting control law u = −R−1 B T P is asymptotically stable if P > 0 is the
solution to the algebraic Riccati equation.
ii. Suppose that we only care about the output of the system y = Cx, so that
we attempt to minimize
Z ∞
J= y T (τ )y(τ ) + uT (τ )Ru(τ ) dτ. (SB.1)
0
Show that if the system is not observable then we are not guaranteed that
the solution to the Riccati equation is positive definite and hence the optimal
controller may not be stabilizing.
iii. Give an example of a controllable linear system for which an optimal controller
using the cost in the form given in equation (SB.1) is not stabilizing. Does
there exist a stabilizing optimal compensator? Is it unique?
Instructor note: • P3 (a) - 5 mins - There is a typo in the statement of part (a).
Also, does this problem need conditions on Q and R that Q is p.s.d and R is
p.d.? Another possible typo in this problem is in the equation for u, I think it
should be −R− 1B T P . The problem itself, if I understood correctly, is asking
to prove the standard LQR proof. If that’s the case, then OBC Section 2.4
gives the proof sketch.
• P3 (b) - 5 mins
• P3 (c) - 10 mins - In this problem it says ”only output cost”. Does this mean
the cost is only on the outputs and not on inputs as well (i.e. R = 0?), it
would probably be helpful clarify this.
Unless otherwise specified, your answers below should include all possible values
of γ.
i. What are the stable and unstable subspaces for the open loop (u = 0) system?
ii. For what values of γ is the system reachable? stabilizable?
iii. For appropriate values of γ, find a state feedback such that the eigenvalues
of the system can be placed at {−1, −2, −3}.
Appendix B – CDS 131 (Theory) Problems B-3
where x[k] ∈ Rn is the state of the system at time k ∈ Z, u[k] ∈ R is the (scalar)
input for the system, y[k] ∈ R is the (scalar) output for the system and A, B, and
C are constant matrices of the appropriate size. We use the notation x[k] = x(kh)
to represent the state of the system at discrete time k where h ∈ R is the sampling
time (and similarly for u[k] and y[k]).
Let T = [0, h, . . . , N h] represent a discrete time range, with N ∈ Z.
i. Considered as a dynamical system over T , what is the input space U , output
space Y, and state space Σ corresponding to the dynamics above? Show that
each of these spaces is a linear space by verifying the required properties (you
may assume that Rp is a linear space for appropriate p).
ii. What is the state transition function s(t1 , t0 , x0 , u( · ))? Show that this func-
tion satisfies the state transition axiom and the semi-group axiom.
B-4 Feedback Systems: Solutions Manual - v2.1a
iii. What is the readout function r(t, x, u)? Show that the input/output system
is a linear input/output dynamical system over T .
iv. What is the zero-input response for the system? What is the zero-state re-
sponse for the system?
B.6Consider a second order mechanical system with transfer function
b 1
G(s) =
s2 + 2ωn ζs + ωn2
(ωn is the natural frequency of the system and ζ is the damping ratio). Setting
ωn = 1, plot the ∞-norm as a function of the damping ratio ζ > 0. (You may use
a computer to to this, but if you do then make sure to turn in a copy of your code
with your solutions.)
B.7Consider the double integrator system ÿ = u. Use the controllability Gramian
to compute an input that steers the system for the origin to a state xf in time T .
What happens as T → 0 and as T → ∞?
B.8Consider a linear system that is not controllable but whose dynamics in the
unreachable subspace are asymptotically stable. Show that it is possible to steer
the system to any point in the reachable subspace of the system dynamics.
B.9Show that for a linear time-invariant system, the following notions of control-
lability are equivalent:
i. Reachability to the origin (x0 0).
ii. Reachability from the origin (0 xf ).
iii. Small-time local controllability (x0 B(x0 , ǫ)).
B.10Consider a system with the state x and z described by the equations
dx dz
= Ax + Bu, = Az + Bu.
dt dt
If x(0) = z(0) it follows that x(t) = z(t) for all t regardless of the input that is
applied. Assuming that the pair (A, B) is controllable, compute the rank of the
reachability Grammian Wc and use this to determine the reachable space of the
system starting from the origin and its dimension.
B.11Show that the set of unobservable states for a linear system with dynamics
matrix A and output matrix C is an A-invariant subspace and that it is equal to
the largest A-invariant subspace annihilated by C.
B.12Consider the following LTI system with state x ∈ R3 :
−1 γ 0 0
dx
0 −1 0
x +
=
1
u y = 1 0 1 x
dt
0 0 1 1
In answering the questions below, make sure to keep track of how the answer
depends on γ ∈ R.
Appendix B – CDS 131 (Theory) Problems B-5
ii. Describe the set of states that are reachable from the origin in time T .
iii. Consider a state xf = (0, 1, 1). Describe an input that will steer the system
from the origin to this state in time T . (Note: you don’t have to compute the
input explicitly, but you should provide a description that is a computable
formula.)
iv. Suppose γ = 0. Design a state feedback compensator that stabilizes the origin
of the system.
P (1 + ∆1 W1 )
C.3Describe the difference between robust stability, nominal performance, and ro-
bust performance of a linear control system. Give conditions for robust stability in
the presence of (weighted) additive uncertainty.
mq̈ + bq̇ + kq = u
where q ∈ R is the configuration variable for the system, u is the input, and m, b,
and k are all positive constants.
i. Write the state space equations for the system with output y = q̇. Is the
system controllable? Observable?
ii. Design a full-order observer for the system and discuss how the observer gains
should be chosen.
iii. Write the transfer function for the system and sketch the frequency response
to a sinusoidal input u = A sin ωt. Make sure to label all important features
and their appropriate values (in terms of m, b, and k).
v. For the compensator you designed in question 0()ii, show how to compute the
gain and phase margin using a Nyquist plot.
vi. Show how to check whether a stabilizing compensator for this system provides
robust stability with respect to a 10% variation in b.
ii. Give 3 tests for controllability for the linear system ẋ = Ax + Bu.
iii. Prove that any two of your tests are equivalent. (Hint: if you get stuck, you
might want to leave this question until the end of the exam.)
C.6Consider the spring-mass system shown below, where the control acts on the
second mass through a dashpot. For simplicity, assume both masses are unity.
Appendix C – CDS Qualifying Exam Problems C-3
q1 q2
b b
m m
k k
k
u(t) = sin ωt
ii. A control designer tries to simplify the system by choosing the input u as
k
u̇ = (q2 − q1 − w) + q̇2
b
(Hint: this should give q̈2 = −kw.)
Derive the transfer function from the new input w to q1 .
iii. Can one stabilize the system with feedback w = αq1 + β q̇1 ? Why or why not?
where q ∈ R is the configuration variable for the system, u is the input, and m, b,
and k are all positive constants.
i. Write the state space equations for the system with output y = q̇. Consider
the linearization of the system around the point q = q̇ = 0. Is the linearized
system reachable? Observable?
ii. Write the transfer function for the linearized system and sketch the frequency
response to a sinusoidal input u = A sin ωt. Make sure to label all important
features and their appropriate values (in terms of m, b, and k).
iv. For the compensator you designed in question 0()ii, show how to compute the
gain and phase margin using a Nyquist plot.
1 A controller is said to be internally stable if all possible transfer functions between any two
1
P (s) =
(s + 1)4
i. Sketch the frequency response to a sinusoidal input u = A sin ωt. Make sure
to label all important features and their appropriate values.
ii. Suppose that we want to track a reference signal r. Design a feedback com-
pensator for the system that gives a stable closed loop system and steady-state
tracking error (y − r) less than 5% from 0 to 1 Hz.
iii. For the compensator you designed in question 0()ii, show how to compute the
gain and phase margin using a Nyquist plot.
iv. Find a state space system whose transfer function is equal to P (s) and design a
state feedback compensator such that the eigenvalues of the closed loop system
are all at −10. Does this compensator satisfy the performance condition in
part 0()ii?
y r
F2
x F1
The Harrier is capable of vertical takeoff by redirecting its thrust downward and
through the use of smaller maneuvering thrusters located on its wings. A simplified
model of the Harrier is shown in on the right, where we focus on the motion of the
vehicle in a vertical plane through the wings of the aircraft. We resolve the forces
generated by the main downward thruster and the maneuvering thrusters as a pair
of forces f1 and f2 acting at a distance r below the aircraft (determined by the
geometry of the engines). Let (x, y, θ) denote the position and orientation of the
center of mass of aircraft. Let m be the mass of the vehicle, J the moment of inertia,
Appendix C – CDS Qualifying Exam Problems C-5
g the gravitational constant, and c the damping coefficient. Then the equations of
motion for the fan are given by:
i. Compute the equilibrium point for the aircraft corresponding to hovering and
find the linearization of the dynamics about that equilibrium point.
ii. Assume that the vertical force f2 is fixed at its equilibrium value. Compute
the transfer function H(s) from f1 to the lateral position x.
iii. Find the poles and zeros of the transfer function H and sketch the Nyquist
plot for the open loop system. Describe any limits on achievable performance
that arise from the structure of the system (i.e., right half-plane poles or
zeros, shape of the Nyquist plot) and discuss what type of controller might
be needed to provide stability and good performance.
iv. Suppose that we can measure the position and orientation of the center of
mass of the aircraft, (x, y, θ), but we cannot directly measure any of the
velocities corresponding to these quantities. Describe how to estimate the
complete state from these measurements. What other information, if any, do
you need in order to design your estimator?
km i2m
mz̈ = − mg
z2 (SC.1)
vir = kT z + vo
i. Compute the equilibrium point(s) for the system and show that the linearized
dynamics about an appropriate equilibrium point can be described by the
transfer function
k
Pyu (s) = 2 k, r > 0.
s − r2
ii. Suppose that we wish to hold the ball at a reference position r. Show that
the system cannot be made asymptotically stable using proportional gain on
the error r − y.
iii. Show that the system can be stabilized using a compensator with transfer
function
s+a
C(s) = k
s+b
and sketch the Nyquist plot that demonstrates the stability of the system.
limits the performance of the closed loop system. Describe how these limits
affect your control design.
C.11Consider the trajectory generation and tracking problem show in the figure
below:
Appendix C – CDS Qualifying Exam Problems C-7
uff d n
r Trajectory
Generation xd e
State
ufb u ν η y
Σ Σ Σ Process Σ
Feedback
x̂
−1 Observer
ii. (Trajectory generation) Compute an open loop input ud that steers the system
between output y = 0 at time t = 0 and output y = yf at t = T . Your input
should be chosen such that the system remains at y = yf for t > T .
iii. (State feedback) Assume the full state is available for measurement. Design
a state space control law ufb = −Ke that places the closed loop eigenvalues
at the roots of λc (s) = s2 + 2ζc ωc s + ωc2 = 0.
iv. (Observer) Suppose now that only the output y is available for measurement.
Design an observer that minimizes the estimation error for d a zero mean,
Gaussian random process with covariance Rd and n a zero mean, Gaussian
random process with covariance Rn (d and n independent).
v. (Robustness) Suppose that your observer has eigenvalues given by the roots of
λo (s) = s2 +2ζo ωo s+ωo2 = 0 with ωo ≫ b. Compute the loop transfer function
for the complete system and find the gain, phase, and stability margins for
the system.
dx1
= (b + u)x1 − ax1 x2 ,
dt
dx2
= ax1 x2 − dx2 .
dt
In this equation, x1 represents the prey population, x2 represents the predator
population and u is an input. The parameters b, a, and d are all positive and we
take our time unit to be in years (rather than seconds).
C-8 Feedback Systems: Solutions Manual - v2.1a
i. Compute the equilibrium point(s) for the unforced (u = 0) system and deter-
mine whether the equilibrium point with x1 , x2 > 0 is stable, asymptotically
stable, or unstable. (You only need to do your calculation for the linearized
system.)
ii. Give conditions under which we can find an equilibrium point (xe , ue ) that
corresponds to a prey population of r > 0 and determine whether or not
we can asymptotically stabilize the resulting equilibrium point using state
feedback.
iii. Returning to the unforced equilibrium point for the system, show that the
transfer function from the input u to the prey population y = x1 has the form
k(s − α)
P (s) =
s2 + 2ζω0 s + ω02
and give expressions for k, α, ζ, and ω0 .
iv. Design a controller that tracks a reference value r and provides less than 10%
error at up to 1 rad/yr. If you need to use parameters for your design, you
can take b = 1, d = 2, and a = 0.01.
v. The Bode integral formula
Z ∞ X
log |S(iω)| dω = π Re λk
0 λk ∈RHP
limits the performance of a closed loop system. Describe how these limits
affect your control design.
iv. Suppose now that a < 0. Sketch the design of a controller that gives step
response with less than 1% steady-state error and that provides disturbance
attentuation of a factor of 10 up to frequency ω0 .
50
d 1 β p
RNAP 40 (δγ/β) p
s+γ s+δ
alpha(p)
30
A p = 0.5, slope = −50
α( · ) 20
10
v. (CDS 210) Suppose that the parameter δ is uncertain and time-varying. Give
the conditions on δ for robust stability of the closed loop system using the
controller you designed in problem 0()iv. Describe the amount of uncertainty
that is allowable at low frequency, in the neighborhood of the crossover region
and at high frequency.
Disk
J θ̈ = −bθ̇ − kr sin θ + Tm
Ṫm = −a(Tm − u)
τ
Motor
The system consists of a spring loaded arm that is driven by a small motor. The
motor applies a force against the spring and pulls the head across the platter. The
input to the system is the desired motor torque, u. In the diagram above, the force
exerted by the spring is a nonlinear function of the head position due to the way it
is attached. The system parameters are given by
√
k = 2, J = 100, b = 10, r = 1, a = 1.
i. Compute the equilibrium points for the system and determine the lineariza-
tion about an arbitrary equilibrium point (xe , ue ). Is the system stable for all
equilibrium points?
ii. Design a state space controller for the system that stabilizes the √system about
θe = 45◦ and sets the closed loop eigenvalues to λ1,2 = − 12 ± 23 i and λ3 =
−a. (You don’t need to work through the detailed algebra; just show how
the calculation can be done and explain why these pole locations will be
achievable.)
iii. Sketch the step response of the system for a change in commanded position
near this equilibrium position.
iv. Compute the transfer function Hyu for the system around the equilibrium
point and sketch the frequency response of the open loop system.
Appendix C – CDS Qualifying Exam Problems C-11
v. Design a compensator that provides tracking with less than 10% error up to
1 rad/sec and has a phase margin of at least 60◦ .
vi. Suppose that the controller has a time-delay of 0 < τd ≤ 0.01 sec. Deter-
mine whether your frequency domain controller is robust with respect to this
amount of time delay. If not, describe how to improve the controller design
to be robust with respect to this delay.
z(s) 1 − sτ /2
z = T (t − τ ) where =
T (s) 1 + sτ /2
aileron can be used to control the motion, and the simplest representative equation
for this type of system is of the form:
mq̈ + kq − c1 q̇ + c2 q̇ 3 = u (SC.3)
√
where q is the deflection, u the control, and the parameters m, k, c1 < mk, and
c2 are all positive.
i. What are the equilibrium point(s) of the system? Are they stable? Sketch
the phase portrait for this system.
ii. Linearize the system about the origin, and derive the transfer function be-
tween the input u and the deflection q.
iii. For constant gain feedback u = αq, sketch the Nyquist and Bode plots for
this system. Can constant gain feedback give a stable closed loop system?
iv. Design a controller such that the linearized system is stable, and can track a
reference command with less than 10% steady-state error. (You may choose
m = k = 1, c1 = c2 = 0.1 if you prefer to work with numerical values.) Sketch
the Nyquist and Bode plots, and indicate the gain and phase margin on the
Nyquist plot. Can you make a guess as to whether the controlled nonlinear
system is globally asymptotically stable?
i. For the unforced system (u = 0), compute the dynamics and equilibrium
points for the variable z = x2 + y 2 , and use this to sketch the phase portrait
for the system above. (Can you use this to guess whether there are any
equilibrium points of the unforced system other than the origin?)
ii. Linearize the system about the origin, and derive the transfer function be-
tween the input u and output x.
iii. For constant gain feedback u = αx, sketch the Nyquist and Bode plots for the
open loop linearized system. Can constant gain feedback give a stable closed
loop system?
iv. Indicate how you would design a controller such that the linearized system is
stable. Is this easier if instead you have output of the second state y? If you
have output of both x and y available?
Bibliography
[3] A. E. Bryson, Jr. and Y.-C. Ho. Applied Optimal Control: Optimization, Esti-
mation, and Control. Wiley, New York, 1975.
B-1
Index
I-1
I-2 INDEX