0% found this document useful (0 votes)
17 views

Introduction to Control Systems 1

Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
17 views

Introduction to Control Systems 1

Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 296

See discussions, stats, and author profiles for this publication at: https://www.researchgate.

net/publication/271526899

Introduction to Control Systems: Lecture Notes

Book · January 2014

CITATION READS

1 1,428

1 author:

Herbert Werner
Technische Universität Hamburg
437 PUBLICATIONS 4,664 CITATIONS

SEE PROFILE

All content following this page was uploaded by Herbert Werner on 22 January 2024.

The user has requested enhancement of the downloaded file.


Lecture Notes

Introduction to
Control Systems

Herbert Werner
© 2021 Herbert Werner ([email protected])
Hamburg University of Technology

Version: September 23rd , 2021


Contents

Introduction v

1 Linear Dynamic Systems 1


1.1 Differential Equation Models . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2 Laplace Transform and Transfer Functions . . . . . . . . . . . . . . . . . . 6
1.3 First and Second Order Systems . . . . . . . . . . . . . . . . . . . . . . . . 23
1.4 Modelling a DC Motor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36

2 Feedback Control 49
2.1 Feedback Control and Sensitivity . . . . . . . . . . . . . . . . . . . . . . . 49
2.2 Types of Feedback . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
2.3 Steady State Tracking Error and System Types . . . . . . . . . . . . . . . 64
2.4 Routh’s Stability Test . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70

3 Root Locus Design 81


3.1 Root Locus Plots . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
3.2 Root Locus Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
3.3 Control of Time Delay Systems . . . . . . . . . . . . . . . . . . . . . . . . 100

4 Frequency Response Design 113


4.1 The Frequency Response . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
4.2 The Nyquist Stability Criterion . . . . . . . . . . . . . . . . . . . . . . . . 128
4.3 Gain and Phase Margin . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138
4.4 Dynamic Compensation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144
iv CONTENTS

5 A Brief Look at Digital Control 169


5.1 Digital Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169

A Solutions to Exercises 181


A.1 Solutions for Chapter 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182
A.2 Solutions for Chapter 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200
A.3 Solutions for Chapter 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 218
A.4 Solutions for Chapter 4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 235
A.5 Solutions for Chapter 5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 273

B Translation of Technical Terms 279

Index 285
Introduction

Automatic control plays an important role in engineering and science. One can define a
control system as an arrangement of physical components related in such a manner as to
direct or regulate itself or another system. A special class of control systems contains a
feedback structure, and these are the control systems that we will study in this course.
Feedback means that the quantity of interest, the controlled variable, is compared with a
reference value, and that appropriate control action is taken depending on this comparison.
An example that illustrates this concept of a feedback control system is a household
furnace controlled by a thermostat, shown in Figure 1. This diagram identifies the key
components of the control system and their interaction. A more general representation
is shown in Figure 2; the structure shown in this block diagram is common to many
control systems. The central component is the plant, in the above example the house;
the controlled variable is the room temperature and the actuator is the gas valve. The
concept of a plant is very general indeed: it can be - for example - an airplane and the
controlled variable the airplane heading, the actuators being in that case the rudder and
the ailerons. It includes also non-technical systems - many examples of feedback loops
can be found in biological systems, e.g. the human skin and its perspiration system, where
the controlled variable is the skin temperature and the actuators are the sweat glands.
In all cases the controlled variable is measured by some sensor, and used together with
a reference signal to generate the input to a controller that causes control action. The
sensors and the the actuators can be devices separate from the plant (like the gas valve
in the room temperature control loop), or they can be considered part of the plant.

Desired Room
Temperature Temperature
Thermostat Gas Valve Furnace Home

Figure 1: Room heating as an example for feedback control


vi 0. Introduction

Reference Control
Signal Signal Output
Controller Actuator Plant

Sensor

Figure 2: Structure of a closed-loop system

Because of its loop structure, such control systems are called closed-loop systems, in
contrast to open-loop systems where no feedback is involved. The main advantage of
closed-loop systems over open-loop ones is a considerable increase in accuracy: because
the controlled variable is monitored permanently and control action taken when necessary,
the system depends less on calibration, and is less sensitive to variations in the plant and
its environment than an open-loop system. On the other hand, a serious problem with
closed-loop systems is their tendency towards oscillation or even instability; for this reason
closed-loop control systems need to be designed and tuned carefully.
This course will introduce basic methods for analysis and design of control systems. These
methods can be applied to a huge variety of systems. For a systematic design of a control
system usually two things are required: a mathematical model of the plant, and a control
strategy that achieves a desired closed-loop behaviour. In this course, we will use linear,
time-invariant (LTI) models to describe the plant. In real life, plants are in general
nonlinear and time-varying, but in most cases it is possible to approximate their dynamic
behaviour by an LTI model. The advantage of using LTI models is that one can employ
efficient tools and the rich and well developed theory of linear control systems.
The course begins with an introduction to the basic tools for modelling the dynamic
behaviour of linear systems in Chapter 1. The use of transfer function models for the
analysis of linear systems is reviewed, with emphasis on the transient response of first
and second order systems. In Chapter 2 we then turn to the analysis and the design
of linear feedback systems. The study of control systems begins with an introduction
to feedback, motivated by sensitivity reduction and disturbance rejection. Proportional,
integral and derivative feedback are discussed. This overview is followed by a presentation
of two classical techniques for analysis and design of control systems: methods based on
root locus plots in Chapter 3, and frequency response techniques in Chapter 4. Here the
emphasis is on concepts - for example students will be expected to learn how to sketch
a root locus plot by hand, but the procedure for sketching a root locus plot consists of
only four basic steps, because an exact root locus plot can (and will in practice) easily be
generated using software tools like Matlab. What is necessary however in order to verify
and interpret the computer-generated plots, is to understand the underlying principles and
vii

to develop a feeling for how the closed-loop dynamics depend on the controller parameters.
Since controllers are usually implemented digitally, a very brief introduction to digital
control is given in Chapter 5.
The last section of each chapter contains a number of exercises, which are an important
part of this course and should be solved to gain a full understanding of the material
presented in the chapter. Sometimes a derivation or proof is left as an exercise; more
often, the exercises serve to illustrate the concepts developed in a chapter with examples.
These are either pencil and paper examples or examples that should be solved with the
help of Matlab and Simulink. Some exercises or parts of exercises, which are of a more
challenging nature and may be skipped at first reading, are marked with an asterisk.
Chapter 1

Linear Dynamic Systems

1.1 Differential Equation Models

The design of a feedback control system requires a mathematical model of the plant to be
controlled. Such a model is needed for two purposes: a) to decide on a control strategy,
and b) to analyse the response of the closed-loop system - analytically or in simulation
trials - before a controller is applied to the real plant. To obtain a good model that
captures the dynamic behaviour of the plant and is at the same time not too complex
for the design process, is a difficult task that may take a considerable part of a control
engineer’s time. Often two different models are used for (a) and (b). Here we present
the basic principles of modelling for the purpose of linear controller design, and illustrate
these with simple examples.
The dynamic behaviour of a plant is usually described by ordinary differential equations,
which are in many cases nonlinear. It is often possible to linearize these equations about
the operating point of interest, see Example 1.3. In this course we will assume that the
systems we are interested in have already been linearized and are modelled by linear
ordinary differential equations.
When constructing a model, it is important to know what its input and output signals
are. The input signal is an external stimulus, applied to the system in order to produce
a desired response. The output signal is the response of the system variable of interest to
this input.

Example 1.1

As an example, consider the mechanical system shown in Figure 1.1. The equation of
motion for a mechanical system is based on Newton’s law

F = ma,
2 1. Linear Dynamic Systems

where F is the vector sum of the forces applied to a body, a the vector acceleration of
the body, and m its mass. In the example, a mass is connected to a spring with spring
constant k and a damper with damping coefficient b. The input to the system is the
external force u(t), and we consider the output to be the displacement y(t) of the mass.
The displacement y(t) is measured from the equilibrium position where the force applied
by the spring is zero. Assuming that all components are linear, application of Newton’s
law yields the equation of motion

u(t) − ky(t) − bẏ(t) = mÿ(t)

or
b k u(t)
ÿ(t) + ẏ(t) + y(t) = . (1.1)
m m m

The second order differential equation (1.1) describes the dynamic behaviour of the sys-
tem: the right hand side involves the input signal u(t) and the left hand side the output
signal y(t). If the initial values y(0) and ẏ(0) and the input signal up to a given time t
are known, then one can solve (1.1) and compute the output signal.

y(t)

u(t)

k b
Figure 1.1: Mechanical system

Linear Time Invariant Systems


The equation of motion (1.1) is a linear differential equation - the left and right hand
side represent linear combinations of output and input and their derivatives, respectively.
Moreover, the coefficients (here functions of m, b and k) are time invariant, their val-
ues are constant. Systems that can be described by linear differential equations with
time-invariant coefficients are called linear time-invariant systems, or LTI systems. The
properties of linearity and time invariance can be characterized directly in terms of system
behaviour.

Linearity
Consider two arbitrary input signals u1 (t) and u2 (t), and assume that y1 (t) is the response
to u1 (t) and y2 (t) the response to u2 (t). Linearity of a system implies that for any two
1.1. Differential Equation Models 3

input signals and for any real constants α1 and α2 the response to the signal α1 u1 (t) +
α2 u2 (t) is α1 y1 (t) + α2 y2 (t).

Time Invariance
Consider an arbitrary input signal u(t) and its response y(t). Time-invariance of a system
implies that for any time delay d > 0 the response to the delayed input u(t − d) is y(t − d).

Example 1.2

As a second example of modelling a dynamic system, consider the electrical circuit shown
in Figure 1.2. It contains an inductance L, a resistance R and a capacitance C. Applying
Kirchhoff’s voltage law to the system, we obtain the equations
di
L + Ri + vo = vi
dt
dvo
C = i.
dt
Eliminating the current i between these equations yields
d2 vo dvo
LC 2
+ RC + vo = vi ,
dt dt
and identifying vi with the input signal u(t) and vo with the output signal y(t) leads to
the equation
R 1 1
ÿ(t) + ẏ(t) + y(t) = u(t) (1.2)
L LC LC

i(t) L R

vi (t) C vo (t)

Figure 1.2: Electrical Circuit

Example 1.3

As a last example, consider the water tank shown in Figure 1.3. In steady state operation,
water is flowing in and out at the same flow rate Q, and the height of the water level is H.
As long as the variations in height are small, the system can be modelled as follows. Let qi
denote the deviation from the steady-state inflow rate, qo the deviation from the outflow
rate, and h the deviation from the steady-state water level. Assume that adjusting the
4 1. Linear Dynamic Systems

control valve causes a net inflow qi − qo , then the volume of stored water will change in
an infinitesimal time interval dt by (qi − qo )dt. The capacitance C of the tank is defined
as the change in volume of stored water divided by the resulting change of height, thus
we have
Cdh = (qi − qo )dt.
On the right hand side of this first order differential equation we still have the outflow
qo , which depends non-linearly on h. However, if the deviation from the steady state
values is not too large, one can approximately describe the system by a linear model. The
resistance R of the load valve is then defined as the ratio of change in level difference to
the resulting change in outflow rate, i.e.
h
R= .
qo
Eliminating the outflow qo between the last two equations yields

RC ḣ + h = Rqi ,

and identifying the change in inflow qi (determined by the control valve) with the input
signal u(t) and the change in height h with the output signal y(t) leads to the first order
differential equation
1 1
ẏ(t) + y(t) = u(t) (1.3)
RC C

Q + qi (t) load valve (R)


control valve

H + h(t) C

Q + qo (t)

Figure 1.3: Water tank


1.1. Differential Equation Models 5

State Space Models


The examples in this section illustrate how dynamic systems can be modelled by linear
ordinary differential equations. The models in this section are of first and second order.
When dealing with systems that are described by higher order differential equations, it
may be more convenient to rewrite the differential equation in a more compact form. We
now illustrate how a nth order linear differential equation model can be transformed into
a first order vector differential equation model. We use again the spring-mass-damper
system as an example to illustrate the idea. Recall the equation of motion
b k 1
ÿ(t) + ẏ(t) + y(t) = u(t).
m m m
Introducing the velocity v(t) = ẏ(t) as a second variable, we can write

ẏ(t) = v(t)
b k 1
v̇(t) = − v(t) − y(t) + u(t)
m m m
Defining the state vector " #
y(t)
x(t) =
v(t)
we can express this in a more compact way as
" # " #" # " #
ẏ(t) 0 1 y(t) 0
= + 1 u(t) (1.4)
v̇(t) − m − mb
k
v(t) m

and " #
y(t)
y(t) = [1 0] (1.5)
v(t)
Note that equations (1.4) and (1.5) are just an alternative way of writing the equation of
motion that governs the plant dynamics. By introducing a new variable v(t), we obtain a
model that involves only first order derivatives; the original second order differential equa-
tion is now represented by a first order vector differential equation with a two-dimensional
state vector. The same idea can be applied to higher order systems: a nth order differen-
tial equation leads to a first order vector differential equation with a n-dimensional state
vector. The new variables which make up the state vector are called the state variables of
the system. They define the state of the system at any given time. Equations (1.4) and
(1.5) are an example of a state space model which in general has the form

ẋ(t) = Ax(t) + bu(t) (1.6)


y(t) = cx(t) + du(t) (1.7)

In the above example we have


" # " #
x (t) y(t)
x(t) = 1 =
x2 (t) v(t)
6 1. Linear Dynamic Systems

and " # " #


0 1 0
A= , b= , c = [1 0], d = 0.
− m − mb
k 1
m

Equation (1.6) represents the dynamics of the plant, it is called the state equation .
Equation (1.7) defines the plant output as a linear combination of state variables and
input and is called the output equation or measurement equation . The n × n matrix A is
called the system matrix ; b and c are n-dimensional column and row vectors, respectively.
In the above example, there is no direct feedthrough from input to output, therefore we
have d = 0.
Advanced techniques for an automated design of complex control systems are usually
based on state space models. On the other hand, classical analysis and design techniques
are based on the concept of a transfer function. In this course, we will study methods
based on transfer function models. State space methods will be discussed extensively in
the course “Control Systems Theory and Design”.

1.2 Laplace Transform and Transfer Functions

In the previous section, linear systems were modelled by linear differential equations of
the form

dn dn−1
y(t) + an−1 n−1 y(t) + . . . + a1 ẏ(t) + a0 y(t) =
dtn dt
dm dm−1
bm m u(t) + bm−1 m−1 u(t) + . . . + b1 u̇(t) + b0 u(t) (1.8)
dt dt
The examples considered so far were of first and second order and did not involve deriva-
tives of the input signal u(t) (a model involving the derivative of u(t) will be presented
in Example 1.7). In (1.8) the order of the highest derivative of output and input are n
and m, respectively. Later in this chapter it will be shown that if a differential equation
of the form (1.8) represents a physical system, we must have n ≥ m.
In this section, we will discuss how the Laplace transform can be used to convert differ-
ential equations of the form (1.8) into frequency domain models - represented by transfer
functions - that involve only algebraic operations.
We start with a brief review of the Laplace transform. We consider the transformation of
piecewise continuous time domain signals x(t) that are zero for negative times, i.e.

x(t) = 0, t < 0.

The Laplace transform of x(t) is defined as


Z ∞
L[x(t)] = x(t)e−st dt, (1.9)
0
1.2. Laplace Transform and Transfer Functions 7

where s is a complex variable; we will later see that s can be interpreted as a complex
frequency. We will also use the notation

X(s) = L[x(t)]

for the Laplace transform of a time signal.

Existence of the Laplace Transform


The Laplace transform of a signal x(t) as defined in (1.9) exists if the integral converges.
This is the case for values of s = σ + jω if

lim |x(t)e−σt | = 0. (1.10)


t→∞

If a real number σ exists that satisfies (1.10), the signal x(t) as a function of time is said
to be of exponential order. For example, the function Keat is of exponential order for all
values of K and a and therefore has a Laplace transform. On the other hand, the function
2
Ket is not of exponential order and does not have a Laplace transform.
The smallest value of σ that satisfies (1.10) for a given signal x(t) is called the abscissa
of convergence, and the region in the complex plane defined by Re(s) > σ is called the
region of convergence. The signals we typically encounter in control applications are all
of exponential order, and we will always assume that the integral in (1.9) is taken in the
region of convergence. In practice, the question of existence and the region of convergence
are usually no issues of concern.

Linearity
It follows from the definition that taking the Laplace transform is a linear operation, i.e.
for two signals x1 (t) and x2 (t) and for any real constants α1 , α2 we have

L[α1 x1 (t) + α2 x2 (t)] = α1 L[x1 (t)] + α2 L[x2 (t)] = α1 X1 (s) + α2 X2 (s). (1.11)

Unit Step
We now compute the Laplace transforms of three simple but important functions. First,
we compute the Laplace transform of the unit step function
(
1, t ≥ 0,
σ(t) =
0, t < 0.

Applying the definition (1.9) yields


Z ∞ Z ∞
L[σ(t)] = σ(t)e−st dt = e−st dt
0 0

1 1
= − e−st =0+ ;
s 0 s
8 1. Linear Dynamic Systems

so we have the result


1
L[σ(t)] = .
s

Exponential
Next, consider the exponential function

e−at ,
(
t ≥ 0,
x(t) =
0, t < 0.

which can also be written as x(t) = e−at σ(t). Its Laplace transform can be computed as
Z ∞
−at
L[e σ(t)] = e−at e−st dt
0
Z ∞ 1
= e−(s+a)t dt = .
0 s+a

Sinusoid
To compute the Laplace transform of the sinusoidal function
(
sin bt, t ≥ 0,
x(t) =
0, t < 0,

we use the identity


1 jbt
sin bt = (e − e−jbt )
2j
and the above results to obtain
b
L[sin btσ(t)] = .
s2 + b2
A collection of time functions and their Laplace transforms is listed in Table 1.1. In this
table, all time-domain signals are multiplied by the unit step function σ(t) because we
consider only signals which are zero for t < 0.

Time Delay
Next, we review some properties of Laplace transforms. First, consider a time function
x(t) that is shifted by a time delay d. To compute the Laplace transform of the delayed
signal x(t − d), we use the definition of the Laplace transform
Z ∞
L[x(t − d)] = x(t − d)e−st dt
0

and a change of integration variables

t → τ =t−d
1.2. Laplace Transform and Transfer Functions 9

to obtain Z ∞
L[x(t − d)] = e−sd x(τ )e−sτ dτ ;
0
or
L[x(t − d)] = e−sd L[x(t)]. (1.12)

Thus, the Laplace transform of a signal delayed by time d is equal to the Laplace transform
of the undelayed signal, multiplied by e−sd .

Unit Impulse
A signal that plays an important role in control theory and more generally in system
theory is the unit impulse function δ(t) (also called Dirac delta function). It is defined by

δ(t) = 0, t 6= 0

and Z t
δ(τ )dτ = σ(t).
−∞

Strictly speaking δ(t) is not a function but a distribution. (A distribution is a generalised


function, constructed in a way that allows to differentiate functions whose derivatives do
not exist.) The following definition of a unit impulse will be sufficient for our purpose:
consider the rectangular pulse
1
(

, 0 ≤ t ≤ ,
r (t) =
0 else,

and take the limit as  → 0, i.e.


δ(t) = lim r (t).
→0

To compute the Laplace transform of r (t), observe that the rectangular pulse can be
written as
1 
r (t) = σ(t) − σ(t − ) .

Using (1.12), we have
1 − e−s
L[δ(t)] = lim L[r (t)] = lim
→0 →0 s
d
d
(1 − e−s ) se−s
= lim d = lim = 1;
→0
d
(s) →0 s

so we obtain the important result


L[δ(t)] = 1.
10 1. Linear Dynamic Systems

Table 1.1: Laplace transforms

Number x(t) X(s)

1 δ (n) (t) sn

2 δ 0 (t) s

3 δ(t) 1

1
4 σ(t)
s

1
5 t σ(t)
s2

tn−1 1
σ(t)
6 (n − 1)! sn

1
7 e−at σ(t)
s+a

1
8 te−at σ(t)
(s + a)2

b
9 sin bt σ(t)
s2 + b2

s
10 cos bt σ(t)
s2 + b2

b
11 e−at sin bt σ(t)
(s + a)2 + b2

s+a
12 e−at cos bt σ(t)
(s + a)2 + b2

e−at − e−bt 1
13 σ(t) (s + a)(s + b)
b−a

(c − a)e−at − (c − b)e−bt s+c


14 σ(t) (s + a)(s + b)
b−a
1.2. Laplace Transform and Transfer Functions 11

Differentiation and Integration


One of the most useful properties of the Laplace transform is the fact that differentiation
and integration in time domain are transformed into algebraic operations in frequency
domain. To find the Laplace transform of the time derivative of a function x(t), we start
with the right hand side of the definition (1.9) and integrate by parts

Z ∞
−st e−st Z ∞ d e−st
x(t)e dt = x(t) − x(t) dt
0 −s 0 0 dt −s
or
x(0) 1 Z ∞ d
X(s) = + x(t)e−st dt.
s s 0 dt
Observing that the last integral is the Laplace transform of the time derivative of x(t),
we have " #
d
L x(t) = sX(s) − x(0).
dt
d
Applying the above procedure to dt
x(t) instead of x(t) yields
" #
d2
L x(t) = s2 X(s) − sx(0) − ẋ(0),
dt2

and repeating this n times leads to

dn
" #
L x(t) = sn X(s) − sn−1 x(0) − sn−2 ẋ(0) − sn−3 ẍ(0) − . . . − x(n−1) (0). (1.13)
dtn

A formula for the Laplace transform of the integral of the time function x(t) can be
derived by integration of parts, similiar to the derivation of (1.13). We obtain
Z t 
1
L x(τ ) dτ = X(s). (1.14)
0 s

In practice, the initial values x(0), ẋ(0) etc are usually assumed to be zero. In that case,
the Laplace transform of the nth time derivative simplifies to

dn
" #
L x(t) = sn X(s). (1.15)
dtn

Transfer Functions
It is the property (1.15) of the Laplace transform that makes it possible to convert differ-
ential equations in time domain into algebraic equations in frequency domain; this leads
to the concept of a transfer function. Consider a plant with dynamics governed by a
differential equation of the form (1.8).
12 1. Linear Dynamic Systems

Taking the Laplace transform on both sides and using (1.15), we have

sn Y (s) + an−1 sn−1 Y (s) + . . . + a1 sY (s) + a0 Y (s) =


bm sm U (s) + bm−1 sm−1 U (s) + . . . + b1 sU (s) + b0 U (s)

or
   
sn + an−1 sn−1 + . . . + a1 s + a0 Y (s) = bm sm + bm−1 sm−1 + . . . + b1 s + b0 U (s).

Note that here we assumed zero initial values - this assumption is usually made when
working with transfer functions. Dividing by the polynomial in s on the left hand side
gives
bm sm + bm−1 sm−1 + . . . + b1 s + b0
Y (s) = U (s),
sn + an−1 sn−1 + . . . + a1 s + a0
and we see that in frequency domain, the output Y (s) to a given input U (s) is obtained
simply by multiplying the input with the rational function

bm sm + bm−1 sm−1 + . . . + b1 s + b0
G(s) = .
sn + an−1 sn−1 + . . . + a1 s + a0

The function G(s) represents the dynamic properties of a system and is called its transfer
function. In general we have
Y (s) = G(s)U (s). (1.16)

State Space Models and Transfer Functions


We can also use the the Laplace transform to obtain a transfer function from a given state
space model (1.6) and (1.7). Assuming that the initial values of the state variables are
zero, taking Laplace transforms in (1.6) we have

sX(s) = AX(s) + bU (s)

from which we obtain


X(s) = (sI − A)−1 bU (s).
Here X(s) is a n-dimensional column vector containing the Laplace transforms of the
state variables, and I represents the n by n identity matrix. Substituting the above in
the Laplace transform of the output equation yields then
 
Y (s) = c(sI − A)−1 b + d U (s).

Thus, the transfer function expressed in terms of a state space model is

G(s) = c(sI − A)−1 b + d. (1.17)


1.2. Laplace Transform and Transfer Functions 13

Final Value Theorem


If a signal x(t) converges to a finite, constant value as t → ∞, this value can be obtained
from the Laplace transform X(s). To see this, take the limit of the Laplace transform of
d
dt
x(t) as s → 0 !
Z ∞
d
lim x(t) e−st dt = lim(sX(s) − x(0))
s→0 0 dt s→0
or
x(t)|∞
0 = x(∞) − x(0) = lim sX(s) − x(0).
s→0
This result is known as the Final Value Theorem: assuming limt→∞ x(t) exists, we have
lim x(t) = lim sX(s). (1.18)
t→∞ s→0

It is important to keep in mind that (1.18) is meaningful only if the limit on the left hand
side exists, i.e. if x(t) converges to a finite, constant value as t → ∞.

Initial Value Theorem


There is a counterpart to the final value theorem: the Initial Value Theorem. It can be
used to find the value of x(t) as t → 0+ , i.e. the limit of x(t) when approaching zero from
the right. While we assume that all signals are zero for t < 0, we will encounter signals
that “jump” at t = 0 to non-zero values. To avoid the discontinuity at t = 0 when taking
the Laplace transform, we slightly modify the Laplace integral and consider
Z ∞
lim L+ [ẋ(t)] = lim ẋ(t)e−st dt
s→∞ s→∞ 0+

Now the left hand side can be obtained from (1.13), and the right hand side approaches
zero as s → ∞. Thus we have
lim sX(s) − x(0+ ) = 0
s→∞

or
x(0+ ) = s→∞
lim sX(s). (1.19)

Convolution Integral
Later in this section we will encounter the convolution integral
Z t
x1 (t) ∗ x2 (t) = x1 (τ )x2 (t − τ )dτ
0

for two given signals x1 (t) and x2 (t). If X1 (s) and X2 (s) are the Laplace transforms of
x1 (t) and x2 (t), respectively, one can show that
L[x1 (t) ∗ x2 (t)] = X1 (s)X2 (s). (1.20)
The proof is left to Problem 1.2.
Some important properties of Laplace transforms are summarized in Table 1.2.
14 1. Linear Dynamic Systems

Table 1.2: Properties of Laplace transforms

No. Time Function Laplace Transform Property

1 α1 x1 (t) + α2 x2 (t) α1 X1 (s) + α2 X2 (s) Linearity


2 x(t − d) e−sd X(s) Time delay

dn sn X(s) − sn−1 x(0)−


3 x(t) d dn−1 Differentiation
dtn sn−2 x(0) − . . . − n−1 x(0)
dt dt
Z t
4 x(τ ) dτ 1 Integration
X(s)
0 s

5 lim x(t) lim sX(s) Final-value theorem


t→∞ s→0

6 x(0+ ) lim sX(s) Initial-value theorem


s→∞

Poles of Transfer Functions


Consider a system that can be modelled by the transfer function
bm sm + bm−1 sm−1 + . . . + b1 s + b0
G(s) = .
sn + an−1 sn−1 + . . . + a1 s + a0
The values of s at which the denominator of G(s) takes the value zero, and therefore
at which G(s) becomes infinite, are called the poles of the transfer function G(s). The
locations of the poles in the complex plane determine the dynamic behaviour of the
system; for this reason the denominator polynomial of the transfer function is called
the characteristic polynomial. Setting the characteristic polynomial to zero yields the
characteristic equation. The following examples illustrate the effect of the pole locations
on the dynamic response of a system.

Example 1.4

Consider a system governed by the differential equation


ÿ(t) + 5ẏ(t) + 6y(t) = 6u(t).
Its transfer function is
6 6
G(s) = = ,
s2 + 5s + 6 (s + 2)(s + 3)
1.2. Laplace Transform and Transfer Functions 15

so the system has two poles, one at s = −2 and one at s = −3. We are interested in the
effect a sudden change in the value of the input u(t) will have on the output y(t); thus
we assume that the input is switched at time t = 0 from 0 to 1. This input signal can be
modelled by the unit step function σ(t). To compute the resulting output, we take the
Laplace transform of the input and use (1.16) to obtain
1 6
Y (s) = G(s) = .
s s(s + 2)(s + 3)

0.75
Amplitude

0.5

0.25

0 1 2 3 4 5 6
Time (sec)
Figure 1.4: Step response for Example 1.4

The last expression is not contained in the table of Laplace transforms, but we can expand
it into partial fractions
6 1 3 2
Y (s) = = − + .
s(s + 2)(s + 3) s s+2 s+3
The first term on the right hand side is again the Laplace transform of the unit step,
and the remaining terms are the Laplace transforms of exponential functions. Using the
Laplace table, we obtain the time domain expression of the plant response to a step change
at the input
1 − 3e−2t + 2e−3t , t ≥ 0,
(
y(t) = (1.21)
0, t < 0.
This response is plotted in Figure 1.4. To show how the poles of the transfer function
affect the response, the three components of the step response are shown separately in
Figure 1.5, where y1 (t) = σ(t), y2 (t) = 2e−3t σ(t) and y3 (t) = −3e−2t σ(t).
16 1. Linear Dynamic Systems

y1 (t)
1
y2 (t)
Amplitude

−1 y3 (t)

−2

−3

y1 (t)
1
Amplitude

y2 (t) + y3 (t)
−1

0 0.5 1 1.5 2 2.5 3


Time (sec)
Figure 1.5: Components of step response for Example 1.4

The step function y1 (t) is the steady state response of the plant to the step change, it
represents the steady state effect of the external input. The exponentials y2 (t) and y3 (t)
are components of the transient response, or the characteristic response of the system.
They represent the transition from one equilibrium to another, and are determined by
the location of the transfer function poles in the complex plane. Because the component
2e−3t decays faster than −3e−2t , we say that the pole at s = −3 is “faster” than the pole
at s = −2; the values 1/3 and 1/2 are called the time constants of the responses y2 (t)
and y3 (t), respectively.
In the previous example, both poles of the system are located on the real axis of the
complex plane. In the following example, the poles of the transfer function are form a
complex conjugate pair.
1.2. Laplace Transform and Transfer Functions 17

Example 1.5

Consider a system with transfer function


10
G(s) =
s2 + 2s + 17

The poles are located at s = −1 ± j4. Applying a unit step input, and expanding the
resulting output Y (s) in partial fractions yields
10 A B B̄
Y (s) = = + + ,
s(s + 1 − j4)(s + 1 + j4) s s + 1 − j4 s + 1 + j4
with A = 1/1.7, B = −0.2941 + j0.0735 and B̄ the complex conjugate of B. The above
can also be written as
A C ejϕ C e−jϕ
Y (s) = + + ;
s 2 s + 1 − j4 2 s + 1 + j4
with C = 2|B| = 0.6063 and ϕ = arg B = 2.8966. Using the Laplace table in the same

0.8

0.6
Amplitude

0.4

0.2

−1 0 1 2 3 4 5 6
Time (sec)
Figure 1.6: Step response for Example 1.5

way as in the previous example gives


C C
 
y(t) = A + ejϕ e−t ej4t + e−jϕ e−t e−j4t σ(t)
2 2
C −t j(4t+ϕ)
 
−j(4t+ϕ)
= A + e (e +e ) σ(t)

2 
= A + Ce−t cos(4t + ϕ) σ(t).
18 1. Linear Dynamic Systems

The step response of this system is shown in Figure 1.6; the steady state response y1 (t) =
Aσ(t) and the transient response y2 (t) = Ce−t cos(4t + ϕ)σ(t) are shown separately in
Figure 1.7. Note that the real part of the poles determines the rate of decay, whereas the
imaginary part determines the frequency of the damped oscillation.

0.75
y1 (t)

0.5

0.25
Amplitude

y2 (t)
0

−0.25

−0.5

−0.75
−1 0 1 2 3 4 5 6
Time (sec)
Figure 1.7: Steady state and transient response for Example 1.5

Static Gain
The last two examples can also be used to illustrate the final value theorem. The steady
state value of the step response in Example 1.4 is found from Figure 1.4 to be 1, whereas
in Example 1.5 it is 0.588. Evaluating sY (s) at s = 0 for both examples confirms these
values.
In general, we have for the step response
1
Y (s) = G(s)
s
and for its steady state value
1
lim y(t) = lim sG(s) = lim G(s).
t→∞ s→0 s s→0
Thus, the value of G(0) - if it exists - represents the static gain (also referred to as DC
gain ) of the system.

Transfer Function, Impulse Response and Step Response


The transfer function G(s) is a rational function of the complex variable s; it has the
same form as the Laplace transform of a time signal. One might ask whether the transfer
1.2. Laplace Transform and Transfer Functions 19

function itself represents the response to a particular input signal. This is indeed the case:
recall that the Laplace transform of the unit impulse function is 1, and use

Y (s) = G(s)U (s)

to compute the response to a unit impulse as

Y (s) = G(s)L[δ(t)] = G(s).

This shows that the transfer function is equal to the Laplace transform of the response
to a unit impulse - the impulse response of the system.

Superposition and Convolution


Recalling from Section 1.2 that multiplication in frequency domain is equivalent to con-
volution in time domain, we can transform equation (1.16) back into time domain to
obtain Z t
y(t) = g(τ )u(t − τ )dτ
0
or alternatively Z t
y(t) = u(τ )g(t − τ )dτ. (1.22)
0

An interpretation of these convolution integrals is that the system response y(t) to an


arbitrary input u(t) can be seen as the superposition of impulse responses weighted by
the values of u(t). This point is explored further in the Problem 1.12.

Pole Locations and Stability


We have seen that the transfer function G(s) contains information about both steady
state and transient behaviour: if it exists, the static gain is lims→0 G(s), and the transient
response is determined by the poles of the transfer function. The n poles of a plant
described by a nth order linear differential equation are either real or come in complex
conjugate pairs, so the transfer function can be written as a sum of n terms

C1 C2 Cν C̄ν
G(s) = + + ... + + + ...
s − p1 s − p2 s − pν s − p̄ν

The examples considered so far show that real poles give rise to exponentially decaying
components in the transient response, and the complex conjugate pole pairs give rise to
oscillating components. For a real, negative pole at p = σ < 0, the exponential function
ept decays with time constant 1/σ. If a real pole is however positive, the response grows
exponentially with time; a system having such a pole is said to be unstable . For a complex
pole pair at p = σ ± jω, the calculation in Example 1.5 shows that the transient response
has the form Aeσt cos(ωt + ϕ), it is an oscillation with frequency ω and a time-varying
amplitude. If the real part σ is negative, the amplitude of the oscillation decays with
20 1. Linear Dynamic Systems

Im(s)

Re(s)

Figure 1.8: Components of the transient response corresponding to different pole locations

time constant 1/σ, and if σ is positive, the amplitude grows exponentially with time and
again a system having such a pole pair is said to be unstable. If σ is zero, the amplitude
neither grows nor decays, and the system is said to be marginally stable .
We can summarize these results by stating that poles with a negative real part lead to
components in the transient response that die out in time, whereas poles with a positive
real part lead to a response that grows with time. In terms of pole locations in the complex
plane, we find that poles in the left half plane correspond to exponentially decaying
components in the transient response and poles in the right half plane to exponentially
growing ones. A system is said to be stable if and only if it has all its poles in the left
half plane.

Physical Realizability
The transfer function of a nth order system has the form

bm sm + bm−1 sm−1 + . . . + b1 s + b0
G(s) = .
sn + an−1 sn−1 + . . . + a1 s + a0

This system has n poles and m zeros, and we will now see that if it is physically realizable
we must have n ≥ m. To see why a physically realizable system cannot have more zeros
than poles, consider the step response

1
Y (s) = G(s)
s
1.2. Laplace Transform and Transfer Functions 21

From the initial value theorem it follows that


y(0+ ) = lim sY (s) = lim G(s)
s→∞ s→∞

For a system with more zeros than poles, i.e. m > n, we have
βn−1 sn−1 + . . . + β1 s + β0
!
+ m−n m−1−n
y(0 ) = lim bm s + αm−1 s + . . . + α0 + n
s→∞ s + an−1 sn−1 + . . . + a1 s + a0
where the αi and βi are obtained by polynomial division. Since y(0+ ) will be infinite as
s → ∞, this transfer function cannot represent a physically realizable system.
On the other hand, if n > m it is clear that
y(0+ ) = s→∞
lim G(s) = 0
which is a typical property of the step response of a physical system.
If n = m we have
bn s n + . . . + b0
y(0+ ) = s→∞
lim = bn .
s n + + . . . + a0
It is common in the literature to refer to a system as physically realizable when n = m.
Note however that, strictly speaking, the resulting step response is not realizable, because
the output variable of a physical system cannot “jump” instantaneously from zero to a
non-zero value bn . In practice, transfer functions with n = m are often used to describe
controller dynamics. This can be a reasonable approximation if the controller dynamics
are much faster than the plant dynamics - compared with the dominant time constant
of the plant response, the fast response of the controller at t = 0 may look like a step
change. We will in this course refer to systems as physically realizable when n ≥ m.
Systems with n ≥ m are called proper, and systems with n > m are called strictly proper.
A system with n = m is called bi-proper. The difference n − m between the number of
poles and zeros of a system is called its pole excess.

Transfer Functions and Block Diagrams

Controller Plant
-

Sensor

Figure 1.9: Typical control loop

Transfer functions are used to model the dynamic behaviour of the components in a
control system. Figure 1.9 shows a typical control loop represented by a block diagram.
22 1. Linear Dynamic Systems

Block diagrams are often used in analysis and design of control systems, and each block
in the diagram can be modelled by a transfer function. To be able to work with block
diagrams, we need to know how to combine blocks and their transfer functions. Three
basic configurations are series connection, parallel connection and a closed-loop structure.
A series connection of two transfer functions is shown in Figure 1.10. With Y1 (s) =
G1 (s)U1 (s) and Y2 (s) = G2 (s)U2 (s) we have U2 (s) = Y1 (s), and the overall transfer
function is the product of the two transfer functions G2 (s)G1 (s).

G1 (s) G2 (s) G1 (s)G2 (s)

Figure 1.10: Series connection

Figure 1.11 shows a parallel connection of two transfer functions. It is easy to see that
the overall transfer functions is the sum of the two transfer functions G1 (s) + G2 (s).

G1 (s)

G1 (s) + G2 (s)

G2 (s)

Figure 1.11: Parallel connection

Two transfer functions in a loop are shown in Figure 1.12, this configuration is important
for studying control loops. We have

Y1 (s) = G1 (s)U1 (s) = G1 (s)(R(s) + Y2 (s))

or
Y1 (s) = G1 (s)R(s) + G1 (s)G2 (s)Y1 (s).

Thus
(1 − G1 (s)G2 (s))Y1 (s) = G1 (s)R(s),
so we can write
Y1 (s) = Gcl (s)R(s),
where Gcl (s) is the closed-loop transfer function
G1 (s)
Gcl (s) = .
1 − G1 (s)G2 (s)
1.3. First and Second Order Systems 23

r(t) u1 (t) y1 (t) r(t) G1 (s) y1 (t)


G1 (s) 1−G1 (s)G2 (s)

y2 (t) u2 (t)
G2 (s)

Figure 1.12: Closed loop configuration

An easy way to remember this formula is


forward gain
closed loop transfer function = ,
1 − loop gain
where “forward gain” stands for the transfer function in the forward path, and “loop gain"
for the transfer function seen when traversing the loop.

1.3 First and Second Order Systems

The transfer functions in Examples 1.1 and 1.2 have the form
b0
G(s) = , (1.23)
s2 + a1 s + a0
whereas in Example 1.3 we encounter the transfer function
b0
G(s) = . (1.24)
s + a0
These transfer functions represent systems described by linear first and second order
differential equations. First and second order systems play an important role in feedback
design, because it is often possible to simplify the model of a plant with more complex
dynamic properties and to describe its dominant features by a first or second order model.
For this reason, in this section we will study the properties of first and second order
systems, and we will focus on the step response of these systems.

First Order Systems


First order systems are particularly simple to analyze. It is in fact straightforward to
show that a system with transfer function (1.24) has the step response shown in Figure
1.13. The response is characterized by the static gain b0 /a0 , and by the time constant
τ = 1/a0 , which is the time it takes the output to reach 63.2% of its steady state value;
see Exercise 1.3.
24 1. Linear Dynamic Systems

y(t)

b0
a0
b0
a0
(1-e-1 )

1 t
a0
Figure 1.13: Step response of a first order system

Second Order Systems


To investigate the properties of second order systems, we rewrite (1.23) in terms of new
parameters that are more directly related to the dynamic behaviour than the coefficients
of the differential equations. These parameters are

• the static gain K = G(0), which is easily seen to be b0 /a0 ,



• the natural frequency ωn , defined as ωn = a0 ,

• the damping ratio ζ, defined as ζ = a1 /(2ωn ).

With these definitions, (1.23) can be written as


ωn2
G(s) = K 2 . (1.25)
s + 2ζωn s + ωn2

The static gain has already been introduced, and we now discuss the influence of the
natural frequency and the damping ratio on the system dynamics by investigating the
step response of (1.25).

Damping Ratio
To study the effect of the damping ratio, we assume for simplicity that the natural fre-
quency is 1; thus we have
1
G(s) = K 2 . (1.26)
s + 2ζs + 1
The poles of this transfer function are the solutions of the characteristic equation

s2 + 2ζs + 1 = 0,

they are q
s1,2 = −ζ ± j 1 − ζ 2 .
1.3. First and Second Order Systems 25

For ζ = 0, we have a complex conjugate pole pair on the imaginary axis at s1,2 = ±j,
whereas for ζ = 1 both poles are at s1,2 = −1. For values of ζ between 0 and 1, the poles
are located on a circle of radius 1. As ζ is increased from 0 to 1, the poles move from
±j to -1 as shown in Figure 1.14. For ζ > 1, both poles are real and when ζ is increased
from 1 to ∞ one pole moves left towards −∞ and the other one moves right towards 0.
Im(s)
1

1 − ζ2

−1 −ζ Re(s)

−1

Figure 1.14: Poles of (1.26) when ωn = 1

Using the results of the previous section, we can infer the dynamic behaviour in time
domain from the pole locations.

• When the damping ratio is zero, the transient response is pure oscillation - corre-
sponding to a pole pair on the imaginary axis.

• When the damping ratio is greater than or equal to 1, we have exponential decay,
determined by a pair of real poles.

• For damping ratios between zero and one, the transient response contains both
oscillation and decay: the rate of decay is determined by the real part −ζ of the

poles, and the frequency of oscillation by the imaginary part ±j 1 − ζ 2 .

Figure 1.15 shows the step response of a plant with transfer function (1.26) for different
damping ratios.
The damping ratio ζ = 1 is called the critical damping ratio because it represents the
boundary between oscillatory response and pure exponential decay. In practice, a damping
ratio of 0.7 is often considered acceptable.
26 1. Linear Dynamic Systems

1.5
0.3
1.25 0.5
0.7
1 1
Amplitude

0.75

0.5

0.25

0
0 4 8 12 16
Time (sec)
Figure 1.15: Step response of (1.26) for different damping ratios (ωn = 1)

Natural Frequency
For simplicity, the natural frequency was assumed to be ωn = 1 so far. The general
situation where ωn takes any positive value can be transformed into this simpler form by
frequency scaling: in (1.25), divide numerator and denominator by ωn2 to get
1
G(s) = K  s 2

s
.
ωn
+ 2 ζ ωn + 1

This is the same transfer function as (1.26), except for the fact that the complex variable
s is replaced by the normalized variable s/ωn . Let s0 = s/ωn , then the results on the
damping ratio discussed above are valid for any value of ωn if in (1.26) we replace G(s)
by
1
G0 (s0 ) = K 02
s + 2ζs0 + 1
To revert from s0 to s we need to multiply s0 by ωn . Figure 1.16 shows the resulting
pole locations. Because everything is multiplied by ωn , the poles are now located on a
circle of radius ωn . The real part of the poles is −ωn ζ, and the imaginary part is now

ωd = ωn 1 − ζ 2 . The quantity ωd is the frequency of the damped oscillation, it is called
the damped natural frequency.
In time domain, the natural frequency determines the time scale of the response. Figure
1.15 shows the step responses of a plant with ωn = 1. For the lightly damped response
with ζ = 0.3, the damped natural frequency ωd is close to the natural frequency ωn = 1,
and from Figure 1.15 it can be seen that the time between the first and second peak
1.3. First and Second Order Systems 27

Im(s)
ωn

ωd

−ωn ζ Re(s)

Figure 1.16: Pole location with natural frequency ωn

is close to 2π. Figure 1.17 shows in comparison the response of a plant with the same
damping ratio ζ = 0.3 but ωn = 3. As is to be expected from the pole locations, decay
rate and frequency of oscillation are three times faster.
The damping ratio of a given complex pole pair is clearly related to the angle θ shown
in Figure 1.16: we have sin θ = ζ. The angle θ is often used to characterize the damping
ratio of a second order system.

Time Domain Specifiations


The above discussion has shown that rewriting a second order transfer function in terms
of steady state gain, natural frequency and damping ratio provides information about
the shape of the response. When designing controllers for second order systems, the
requirements are most often expressed in terms of the desired closed-loop step response.
Typical requirements are concerned with the speed of the response, the overshoot of the
response, and the time it takes for oscillation to die out. Three parameters that are often
used to measure these quantities are shown in Figure 1.18, they are

• the peak overshoot Mp

• the rise time tr

• the settling time ts .

The rise time is a measure of the initial speed of the response; peak overshoot and settling
time are measures of amplitude and decay rate of the oscillation in the transient response.
28 1. Linear Dynamic Systems

1.5
ωn = 3
ωn = 1
1.25

1
Amplitude

0.75

0.5

0.25

0
0 2 4 6 8 10
Time (sec)
Figure 1.17: Step response with natural frequencies 1.0 and 3.0 (damping ratio ζ = 0.3)

Peak Overshoot
The peak overshoot
ymax − yss
Mp =
yss
is a relative measure; for a system with transfer function (1.25) its value can be computed
by setting the time derivative of the response to zero (see Exercise 1.15). The result is

− pπζ
1−ζ 2
Mp = e . (1.27)

Figure 1.19 shows the value of the peak overshoot as a function of the damping ratio. For
a rough estimate of the peak overshoot, this formula is sometimes replaced by the linear
approximation
ζ
Mp ≈ 1 − . (1.28)
0.6

Rise Time
We define the rise time as the time it takes the output to move from 10% to 90% of its
steady state value. Note that other definitions are also used in the literature. A rough
estimate of the rise time can be obtained from Figure 1.15. For damping ratios of 0.7 and
less, the rise times do not vary significantly. The damping ratio 0.5 corresponds to a rise
1.3. First and Second Order Systems 29

Figure 1.18: Time-domain specifiations for the step response

time of approximately 1.7, and taking that as an average (and recalling that this value is
valid only for ωn = 1) leads to the estimate
1.7
tr ≈ . (1.29)
ωn

Settling Time
We define the settling time as the time ts at which the output oscillation has decayed to
a point where the deviation from its steady state value remains less than 1%, i.e.

y(t) − yss
< 0.01, ∀t ≥ ts .
yss

Note again that the settling time can be defined for different levels of steady state error; in
this course however we will use the 1% settling time throughout. To estimate the settling
time of a second order system, we observe that the oscillation in the transient response
decays as e−ωn ζt . Allowing a tolerance of 1%, the settling time ts can be estimated by
solving e−ωn ζts = 0.01 for ts , which gives
4.6 4.6
ts ≈ = .
ζωn σ
Example 1.6

Consider again Example 1.5 of Section 1.2 with


10
G(s) = .
s2 + 2s + 17
30 1. Linear Dynamic Systems

0.8

Peak overshoot MP 0.6

0.4

0.2

0
0 0.2 0.4 0.6 0.8 1
Damping ratio ζ
Figure 1.19: Peak overshoot vs. damping ratio and linear approximation

It is straightforward to rewrite this transfer function in the form of (1.25) as


1 17
G(s) =
1.7 s + 2 · 0.24 · 4.12s + 17
2

thus we have K = 0.59, ωn = 4.1 and ζ = 0.24. Using the above approximations yields
the estimates
Mp ≈ 60%, tr ≈ 0.41, ts ≈ 4.6,
which can be compared against the plot in Figure 1.6.
In this example, an estimate of the step response of the system has been extracted from
its transfer function. On the other hand, if the step response of a system (1.25) has been
measured, it can be used to estimate the transfer function.

Time Domain Specifications and Pole Regions


The above discussion shows that time domain conditions on a second order system such as
a minimum speed of response, a maximum peak overshoot and a maximum settling time
can be translated into regions in the complex plane where the poles should be located.
Since an upper bound on overshoot implies a lower bound on the damping ratio, the poles
must lie within a conic sector as shown in Figure 1.20. Conditions on settling time and
rise time translate into the requirement that the poles are to the left of a vertical line
and outside a circle, respectively. As we shall see in Chapter 4, poles too far the left are
undesirable; for this reason a desirable pole region is usually also bounded to the left and
has typically a shape as indicated in Figure 1.20.
More than Two Poles, Dominant Pole Pair
1.3. First and Second Order Systems 31

Im(s)

MP

Re(s)

tr

ts
Bandwidth

Figure 1.20: Design specifications expresses as desirable pole region (shaded)

The relationship between pole locations and shape of the step response discussed in this
section has been derived for second order systems with a transfer function of the form
(1.25). A natural question to ask is to what extent the above rules do still apply when
a system has more than two poles. In practice, these rules are often applied to higher
order systems. This will usually be a valid approximation when a higher order system is
dominated by second order dynamics. To illustrate this, consider a third order system
with the transfer function

K
G(s) = 
s
. (1.30)
(s2 + 2ζs + 1) α
+1

This system can be interpreted as a second order system in standard form (1.25) with an
additional pole at s = −α. The step response of the system (1.30) is shown in Figure
1.21 for ζ = 0.3 and different values of α; the dotted line shows the response of the
corresponding second order system without extra pole. It can be seen that additional
poles far to the left of the second order pole pair (see Figure 1.22) such as for α = 5
and α = 2 do not significantly change the behaviour of the system. Only when the extra
pole gets close to the second order pole pair, does the response change and displays a
significantly reduced overshoot, as can be seen for the response when α = 0.5. A system
of order greater than two is said to have a dominant pole pair if its behaviour is dominated
by a pair of complex conjugate poles and the remaining poles are sufficiently far to the
32 1. Linear Dynamic Systems

left. In this case - which occurs quite often in practise - all the rules discussed in this
section can be applied to the dominant pole pair.

1.5

1.25

1
Amplitude

0.75 y(t)
4
0.5 3
2
0.25 1

0
0 4 8 12 16
Time (sec)
Figure 1.21: Step response of second order system (y(t), dashed) and of third order
systems with extra poles as shown in Figure 1.22 (solid (1)-(4))

Transfer Function Zeros


So far we studied rational transfer functions by investigating the denominator polynomial:
the roots of the characteristic polynomial - the poles - determine the shape of the compo-
nents of the transient response. In the examples we considered until now, the numerator
of the transfer function was a constant. In general, however, the numerator of a transfer
function can also be a polynomial in the variable s, as the following example illustrates.

Example 1.7

The transfer function of the RLC network in Figure 1.23 can be derived as in Example
1.2; it is

Y (s) b 1 s + b0
G(s) = = 2 ,
U (s) s + a1 s + a0
where
1 R
a0 = b 0 = , a1 = b1 = .
LC L
1.3. First and Second Order Systems 33

Im(s)
ζ = 0.3
1

4 3 2 1

−5 −4 −3 −2 −1 −0.5 Re(s)

−1

Figure 1.22: Dominant pole pair and additional pole at different locations

i(t) L

R
u(t) y(t)

Figure 1.23: Electrical network with transfer function zero

The poles of the transfer function - the values of s at which the denominator is zero -
determine the components of the transient response. We will now investigate the effect
a zero of the transfer function - a value of s at which the numerator is zero - has on the
shape of the response. The above transfer function has a zero at s = −b0 /b1 .
The effect of a zero on the step response is now illustrated with a numerical example.
34 1. Linear Dynamic Systems

Example 1.8

Consider again the system of Example 1.4 with transfer function


6
G1 (s) = .
(s + 2)(s + 3)
The step response was computed in the previous section as
 
y1 (t) = 1 − 3e−2t + 2e−3t σ(t). (1.31)

A plot of the response is shown in Figure 1.4. With an additional zero at s = −1, the
transfer function becomes
6(s + 1)
G2 (s) = ,
(s + 2)(s + 3)
and the step response can be computed as
 
y2 (t) = 1 + 3e−2t − 4e−3t σ(t). (1.32)

Both responses are shown in Figure 1.24; it can be seen that the presence of the zero leads
to a significantly different shape.

1.25
y2 (t)
1
y1 (t)
Amplitude

0.75

0.5

0.25

0 1 2 3
Time (sec)
Figure 1.24: Step responses y1 (t) of G1 (s) and y2 (t) of G2 (s)

This example illustrates the different ways in which poles and zeros of a transfer function
influence the shape of the response. The poles determine the characteristic features of
the transient response: whether it is fast or slow, whether or not there is oscillation
in the response, and whether or not the system is stable. Each pole represents one of
1.3. First and Second Order Systems 35

1.25 y2 (t) = y1 (t) + ẏ1 (t)

1
y1 (t)
Amplitude

0.75

0.5

ẏ1 (t)
0.25

0 1 2 3
Time (sec)
Figure 1.25: Step response with left half plane zero (α = 1)

the components from which the transient response is formed. On the other hand, the
zeros have an effect on the relative weight of each component, on how much each pole
contributes to the response.
This can be seen when comparing the step response (1.31) with (1.32) in Example 1.8. In
this example, the main effect of adding a zero to the transfer function G1 (s) is that the
dominant (the slower) component e−2t becomes positive and the faster component e−3t
negative; this results in overshoot in the step response. Adding a zero in the left half
plane has in general a tendency to increase the overshoot. To see this, consider the two
transfer functions
s
b0 b0 ( α + 1)
G1 (s) = 2 , G2 (s) = .
s + a1 s + a0 s 2 + a1 s + a0
The transfer function G2 (s) has the same poles and the same static gain as G1 (s), but it
has an additional zero at s = −α. This zero is in the left half plane if α > 0. G2 (s) can
also be written as
b0 1 b0 1
G2 (s) = + s 2 = G1 (s) + sG1 (s).
s2 + a1 s + a0 α s + a1 s + a0 α

The Laplace transforms of the step responses are


1 1 1 1
Y1 (s) = G1 (s) and Y2 (s) = G1 (s) + sG1 (s) ,
s s α s
respectively, or
1
Y2 (s) = Y1 (s) + sY1 (s).
α
36 1. Linear Dynamic Systems

In time domain, the step response of the plant with an additional zero is therefore
1
y2 (t) = y1 (t) + ẏ1 (t).
α
Thus, the effect of adding a left half plane zero on the response is that its derivative -
scaled by 1/α - is added to the response. Figure 1.25 shows both responses together with
the derivative of y1 .
If an additional right half plane zero is included in the dynamics, i.e. if α < 0, the
derivative of the step response without zero is subtracted instead of added. This causes
undershoot in the step response, as illustrated in Figure 1.26, where the step response
y3 (t) of a transfer function G3 (s) with a zero at s = 1 (α = −1) is shown.

1
y1 (t)

0.5
y3 (t) = y1 − ẏ1 (t)
Amplitude

−0.5
−ẏ1 (t)

−1
0 1 2 3
Time (sec)
Figure 1.26: Step response with right half plane zero (α = −1)

1.4 Modelling a DC Motor

In this section we derive a simplified model of a DC motor, that will be used frequently
in this course to illustrate concepts and ideas.
The electric circuit of the armature of a DC motor is shown in Figure 1.27. To keep the
model simple, we will first neglect the inductance in the armature circuit as well as the
friction; this simplification and a more accurate model will be investigated in Exercises
1.5 and 1.6. We will however consider the effect of an external load torque on the motor
speed Ω = θ̇.
1.4. Modelling a DC Motor 37

i(t) R L

v(t) eb (t) θ(t)

Figure 1.27: DC motor

To control the motor speed, the armature voltage v is used. Under the simplifying as-
sumptions given above, the motor can be described by the equations

J Ω̇ = Tm + Tl
v = Ri + eb ,

where in the first equation J is the motor shaft inertia, Tm the motor torque generated
in the rotor, and Tl an external load torque. In the second equation R is the armature
resistance, i the armature current and eb the back emf. Assuming that the field is constant,
we have
Tm = Km i and eb = Kg Ω
where Km is the motor constant and Kg the generator constant.
Substituting for the back emf and solving for i yields
1
i= (v − Kg Ω).
R
When this expression is used in the torque equation, we obtain
Km K g Km
J Ω̇ + Ω= v + Tl ,
R R
or after dividing by the coefficient of Ω
JR 1 R
Ω̇ + Ω = v+ Tl .
Km Kg Kg Km K g

Introducing new constants


JR 1 R
τ= , Ko = , Kl = (1.33)
Km Kg Kg Km

and taking the Laplace transform, we have

τ sΩ(s) + Ω(s) = K0 (V (s) + Kl Tl (s))


38 1. Linear Dynamic Systems

Tl (t)

Kl

v(t) K0
Ω(t)
τ s+1

Figure 1.28: Model of a DC motor

or
Ko  
Ω(s) = V (s) + Kl Tl (s) . (1.34)
τs + 1
A block diagram of this model is shown in Figure 1.28. The plant has two inputs and one
output. The input voltage v is used to control the speed, it is called the control input. The
load torque Tl cannot be influenced and thus cannot be utilized for control; this input is
called a disturbance input.
Exercises for Chapter 1

Exercises
Problem 1.1

Compute the Laplace transform of the unit ramp function

x(t) = tσ(t) .

Hint: Use integration by parts.

Problem 1.2

Prove the convolution theorem

L[x1 (t) ∗ x2 (t)] = L[x1 (t)] · L[x2 (t)] .

Problem 1.3

Consider a dynamic system governed by the first order differential equation

ẏ(t) + a0 y(t) = b0 u(t)

a) Write down the transfer function and compute the response y(t) of the system to a
unit step u(t) = σ(t).

b) Sketch the step response.

c) Compute the slope ẏ(0) of the step response at t = 0.

d) The time constant τ of a first order system is defined as the time at which a tangent
fitted at y(0) reaches the steady state value of the step response. Compute τ for
the above system.

e) For a0 = 1 and b0 = 2, compare your sketch with the step response generated by
Matlab.
40 Exercises

Matlab file: Problem1_3_1stOrderStepResponse.mlx

Problem 1.4

Consider a system governed by the second order differential equation

ÿ(t) + 3ẏ(t) + 2y(t) = 2u(t)

a) Write down the transfer function and compute the step response.

b) Sketch the step response.

c) Compare your sketch with the step response generated by Matlab.


Try to find out what happens to the shape of the response when you vary the values
of the coefficients of the differential equation.

Matlab file: Problem1_4_2ndOrderStepResponse.mlx

Problem 1.5

i(t) R L

v(t) eb (t) θ(t)

Figure 1.29: DC motor

Table 1.3: List of variables

Variable Name Variable Name


v armature voltage Tm motor torque
i armature current θ shaft angle
R armature resistance Ω = θ̇ rotor speed
L armature inductance bv viscious friction coefficient
eb back emf voltage J inertia of the motor
Km motor constant Kg generator constant
Exercises for Chapter 1 41

Tm (t)
Tl (t) bv
θ̇(t)

Tf (t) = bv θ̇(t)
J

Figure 1.30: Mechanical subsystem of the DC motor

Figure 1.29 shows the electric circuit of the armature of a DC motor.


A simplified first order model has been derived in Section 1.4. In this problem the model
(1.34) will be extended to include the armature inductance as well as viscous friction.
Assume for now that there is no load torque, i.e. Tl = 0.
In order to form the equation of motion, you have to use the principle of angular momen-
tum, from which you obtain:

J θ̈ + bv θ̇ = Tm = Km i.

The electrical model can be described as follows:


di
L + Ri = v − eb = v − Kg θ̇
dt

a) From the given equations, derive a state space model:

ẋ(t) = Ax(t) + bu(t), y(t) = cx(t) + du(t)

Choose as input the armature voltage (u = v), as state vector x = [Ω i]T , and as
output the angular velocity (y = Ω).

b) Compute the transfer function corresponding to the state space model in (a).

c) We now define the plant output to be the shaft angle θ instead of the angular
velocity Ω = θ̇. Modify the transfer function and the state space model accordingly.

Problem 1.6

a) Verify that the model obtained in Problem (1.5.b) reduces to the simplified model
(1.34) when bv = 0 and L = 0. Assume Tl = 0.
42 Exercises

b) Assume again that bv is neglegible and therefore the electric power equals the me-
chanical power: Pe = eb · i = Pm = T · θ̇. Which relationship between the motor
and generator constants Km and Kg does this imply?

Problem 1.7 M

Introduction to Motor Experiments:

1) Download the Matlab/Simulink files from Stud.IP, unpack the files and save the
folder in Documents → Matlab

2) Start Matlab

3) The new folder with the Matlab files has to be in your current folder. Right-click
the folder within Matlab and choose the option ’Add to Path → Selected Folders
and Subfolders’

4) Open "Model_Problem1_7_OpenLoopStepInput.slx"

5) M Change the COM Port number (Look for this in the document DC Motor User’s
Guide in Stud.IP)

6) M Connect the motor with your PC and a power source

7) Start simulation

In the following task all unknown motor parameters - the motor constant Km , the electrical
resistance R and the moment of inertia J - will be identified experimentally. This will
determine the numerical values of the coefficients in the simplified transfer function model
(1.34).
To obtain the motor constant, one can exploit the relationships used already in Problem
1.5.a). By solving for Ω, neglecting the inductance L of the motor and assuming that
K = Km = Kg , one obtains
1 R·i
Ω=v· − . (1.35)
K K

The template "Model_Problem1_7_OpenLoopStepInput.slx" can be used to perform


experiments.

a) M Consider equation (1.35) in steady state, and assume that the current is constant.
With this assumption, Ω in (1.35) depends affinely on v. Apply different input
voltage steps (from 0 V to 6 V) and measure the corresponding steady state velocity
Ω. Fit a line to your data points to determine K = Km . Note the hint at the end
of the exercise.
Exercises for Chapter 1 43

b) M What is the unit of the static gain of the simplified transfer function model?
How can one determine the static gain experimentally? Measure the static gain.

c) Calculate the motor constant and compare it with the results obtained in a).

d) M Now the value of the electrical resistance R is to be be determined from equation


(1.35). In which case is it possible to obtain R easily by plotting the armature
current i against the armature voltage v? At which angular velocity can such
a measurement be carried out conveniently (e.g. by manually intervening in the
experiment)? Note the hint at the end of the excercise.
Determine R experimentally.

e) M To identify the moment of inertia J, consider the first order dynamics

Ω(s) K0
G(s) = = .
U (s) τs + 1

of the motor. Determine the time constant τ by experiments with step inputs.

f) Determine the numerical value of J from equation (1.33) using the values of the
electrical resistance R and the motor constant Km as well as the time constant τ
determined in the previous subtasks.

Hints:

- You can touch the disc or even stop it.

- In order to show a regression line use the basic fitting tool. Open the figure window
→ click ’tool’ → ’basic fitting’ and choose the figure which fits best. You can also
display the equation for the regression line.

Simulink files:
– Model_Problem1_7_OpenLoopRampInput.slx
– Model_Problem1_7_OpenLoopStepInput.slx

Problem 1.8 M

Validate the motor model obtained in Problem 1.7: Plot the simulated step response of
the model together with the experimental step response of the DC motor. Both plots are
shown in one figure. Compare the results.
Simulink file: Model_Problem1_8_ParameterTest.slx
44 Exercises

Problem 1.9

a) Compute a state-space model of the system given by the differential equation

ÿ(t) + 3ẏ(t) + 2y(t) = 2u(t)

Define state variables x1 = y, x2 = ẏ

b) Assuming zero initial values, simulate the step response of the state-space model.

Matlab file: Problem1_9_DifferentialEquationWithoutInitialConditions.mlx

Problem 1.10

Compute the output y(t) of the system in Problem 1.9 with the initial values:

y(0) = 3, ẏ(0) = 0, and u(t) = 2σ(t)

Sketch the solution and compare it with the step response in Problem 1.4.
Matlab file: Problem1_10_DifferentialEquationWithInitialConditions.mlx

Problem 1.11

Consider a system with transfer function


b0 b0
G(s) = =
s2 + a1 s + a0 (s − p1 )(s − p2 )

and two real poles p1 , p2 < 0.

a) Compute the steady state and the transient component of the step response.

b) Using your result in (a), show that y(0+ ) = 0, i.e. the output signal does not “jump”
at t = 0.

c) Use the initial value theorem to show the same result.

d) What can you say about ẏ(0+)?

e) What is ẏ(0+ ) for a system with an extra zero

b1 s + b0
H(s) = ?
s 2 + a1 s + a0
Exercises for Chapter 1 45

Problem 1.12

Consider the circuit in Figure 1.31.

i(t) R

vi (t) C vo (t)

Figure 1.31: Electrical circuit

The input voltage applied to this circuit is shown in Figure 1.32

a) Compute the response vo (t) of the circuit when the input voltage vi (t) is applied.

b) Show that the response to the rectangular pulse in Figure 1.32 approaches the
impulse response when  → 0.

vi (t)

1/ǫ

0 ǫ t
Figure 1.32: Input voltage for circuit

Matlab file: Problem1_12_RCModel.mlx

Problem 1.13 ∗

In this exercise we use the model of a DC motor derived in Problem 1.5.

a) Using the numerical values J = 0.01, b = 0.001, Km = Kg = 1, R = 10, L = 1, and


taking the motor speed θ̇ as output, simulate the response to rectangular inputs
u(t) = r (t) for  = 0.2,  = 0.1 and  = 0.05. Compare these responses with the
impulse response of the system.
46 Exercises

b) Using the approximated impulse response found in a) (for  = 0.2, 0.1, 0.05) find
the response of the system for the armature voltage as shown in Figure 1.33. (Hint:
Use convolution integral (1.22)).

c) Simulate the exact response to the armature voltage shown in Figure 1.33.

1
Armature voltage u(t)

0.75

0.5

0.25

0
0 0.25 0.5 0.75 1 1.25 1.5
Time (sec)
Figure 1.33: Armature voltage

Matlab file: Problem1_13_DiscreteConvolution.mlx

Problem 1.14

Consider the mass-spring-damper system in Figure 1.1. The equation of motion is given
in Equation (1.1).

a) Recalling the standard form of a second order system

ωn2
G(s) = K
s2 + 2ωn ζs + ωn2

express the natural frequency ωn , the static gain K and the damping ratio ζ in
terms of the system parameters k, m and b.

b) For the numerical values m = 1, k = 50 and b = 4, compute ωn , K and ζ. Simulate


the step response with Matlab. Vary the values of the physical parameters and
check by simulation how these changes affect gain, damping and natural frequency,
and how they influence the shape of the step response.

c) Repeat this exercise for the RLC circuit in Figure 1.2, and compare the results.
1.4. Modelling a DC Motor 47

Matlab file: Problem1_14_MassSpringDamperSystem.mlx

Problem 1.15

Consider a second order system with transfer function

ωn2
G(s) = where ζ < 1.
s2 + 2ζωn s + ωn2

a) Compute the response h(t) of the system to a unit step.


Hint: Rewrite the Laplace transform H(s) of the step response as

1 s + 2ζωn
H(s) = − 2
s s + 2ζωn s + ωn2
1 s + ζωn ζωn
= − −
s (s + ζωn )2 + ωd (s + ζωn )2 + ωd2
2

where ωd denotes the damped natural frequency


q
ωd = ωn 1 − ζ 2

and use the table of Laplace transforms.

b∗ ) Derive the Formula (1.27) for peak overshoot


− pπζ
1−ζ 2
Mp = e .

from ḣ(t) = 0. For this purpose, show first that the time tp at which the response
reaches its peak value is given by
π
tp =
ωd

Problem 1.16

The deviation y(t) of the spring-mass-damper system shown in Figure 1.34 after a step
change in the applied force u(t) = 5σ(t) at time t = 0 from 0 to 5 is plotted in Figure
1.35.
Use the step response to estimate the values of k, m and b. Validate your estimate by
simulation.
Matlab file: Problem1_16_MassSpringDamperSystemIdentification.mlx
48 1. Linear Dynamic Systems

y(t)

u(t)

k b
Figure 1.34: Mechanical system

3
Amplitude

0
0 10 20 30 40 50
Time (sec)
Figure 1.35: Response to u(t) = 5σ(t)
Chapter 2

Feedback Control

This chapter will introduce the idea of feedback and discuss the advantage of feedback
control over open-loop control. After discussing the basic types of feedback - proportional,
integral and derivative - we will study under what conditions a control loop can track a
given reference input with zero steady state tracking error. The last section presents a
way of checking whether a system is stable without computing the poles, which can also
be used to determine the range of gain values for which a control loop is stable.

2.1 Feedback Control and Sensitivity

We begin by illustrating the difference between open-loop control and closed-loop control
with a simple design example. The plant to be controlled is an armature controlled DC
motor. A model of a DC motor was derived in Section 1.4 in the previous chapter.
We will now compare an open-loop and a closed-loop approach to speed control. Consider
again the simplified motor model (1.34 and the block diagram in Figure 1.27. Let Ωd be
the desired motor speed. In this section, we consider only steady state behaviour of the
control system and ignore transient effects.

Open-Loop Control
An open-loop configuration is shown in Figure 2.1. The controller is connected in series
with the plant, and the controller input is the desired speed Ωr . We consider the simplest
possible type of controller: an adjustable gain Kc . The steady state gain of the plant
(obtained by setting s = 0) is K0 , therefore in steady state - assuming there is no load
torque (Tl = 0) - the motor speed is

Ω = K0 v.
50 2. Feedback Control

Setting the controller gain to


1
Kc =
K0
leads to the desired result Ω = Ωr .

Tl (t)

Kl

Ωr (t) v(t) K0
Ω(t)
Kc τ s+1

Figure 2.1: Open-loop control

Closed-Loop Control
The closed-loop configuration is shown in Figure 2.2; here the controller input is not
the desired speed, but the difference between desired and actual speed. Again assuming
Tl = 0, the closed-loop transfer function is

Ω(s) Kc K0
= ,
Ωr (s) τ s + 1 + K c K0

and letting G0 denote the steady state closed-loop gain, we have


Kc K0
G0 = .
1 + Kc K0
In steady state operation, the motor speed is
Kc K0
Ω= Ωr .
1 + Kc K0
Therefore, in contrast to open-loop control, the closed-loop controller cannot set the actual
speed exactly to its desired value. However, when the gain product Kc K0 is much larger
than 1, the steady state error Ω − Ωr will be small (Kc K0 = 100 for example leads to a
1% error).

Uncertain Plant Parameters, Sensitivity


At this point it seems that open-loop control is superior to closed-loop control, because
it can set the speed exactly. An important point to observe however is that this is
only possible when the steady state gain of the plant K0 is known exactly. In practical
applications, plant data are only known up to a given limit of accuracy. Moreover, plant
parameters often depend on operating conditions and may vary considerably. To study
2.1. Feedback Control and Sensitivity 51

Tl (t)

Kl

Ωr (t) v(t) K0 Ω(t)


Kc τ s+1

Figure 2.2: Closed-loop control

the effect of uncertainty and variation of plant parameters on the controlled output, we
now consider the situation where the designer assumes the steady state plant gain to be
K0 , whereas the actual gain is K0 + ∆K0 .
In the open-loop configuration, the motor speed under this assumption is
1
Ω = (K0 + ∆K0 ) Ωr .
K0
Introducing the speed error
∆K0
∆Ω = Ωr ,
K0
we find
∆Ω ∆K0
= .
Ωr K0
Thus, an error of say 10% in the plant gain would lead to a 10% error in motor speed.
In the closed-loop configuration, the closed loop steady state gain would change to
Kc (K0 + ∆K0 )
G0 + ∆G0 = .
1 + Kc (K0 + ∆K0 )
To compare the relative error with the open-loop configuration, we use a linear approxi-
mation: if ∆K0 is small,
dG0
∆G0 ≈ ∆K0
dK0
is a reasonable estimate of the change in steady state gain caused by the error in the plant
gain. It follows that the relative speed error is
!
∆Ω ∆G0 K0 dG0 ∆K0
= ≈ .
Ωr G0 G0 dK0 K0
The factor between the relative error in plant gain and the resulting relative error in
closed-loop steady state gain is called the sensitivity of the control system, denoted by S.
We have
K0 dG0
S= ,
G0 dK0
52 2. Feedback Control

and calculating the derivative yields


K0 Kc (1 + Kc K0 ) − Kc K0 Kc
S= Kc K0
1+Kc K0
(1 + K0 Kc )2
or
1
S= .
1 + Kc K0
When the gain product Kc K0 is large, the sensitivity S is small and the effect of an error
in the plant gain on the controlled output is reduced considerably; e.g. with Kc K0 = 100
a 10% error in plant gain leads to a 0.1% error in motor speed.

Disturbance Rejection
Now we consider the effect of a load torque on the motor speed. Ideally the controller
should maintain the desired speed independent of the load. In an open-loop control
scheme, when the load Torque Tl is nonzero, the motor speed is
1
Ω = K0 ( Ωr + Kl Tl ) = Ωr + K0 Kl Tl .
K0
Thus, the open-loop speed error due to the load torque is

∆Ωol = K0 Kl Tl .

In the closed-loop configuration of Figure 2.2, the transfer function from Tl to Ω is


Ω(s) Kl K0
= ,
Tl (s) τ s + 1 + Kc K0
and in steady state operation we have
Kc K0 Kl K0
Ω= Ωr + Tl .
1 + Kc K0 1 + Kc K0
The first term on the right hand side is the motor speed that would be reached when the
load torque is zero. The second term is the closed-loop speed error due the load torque
Kl K 0
∆Ωcl = Tl .
1 + Kc K0
Comparing this with the open-loop result, we find
1
∆Ωcl = ∆Ωol
1 + Kc K0
or
∆Ωcl = S∆Ωol .
Thus, in closed loop the effect of a disturbance load on the speed is reduced by the same
factor S as the effect of plant parameter errors; if the gain product Kc K0 is 100, the
closed-loop error is reduced to 1% of the open-loop error.
2.1. Feedback Control and Sensitivity 53

Open Loop vs. Closed Loop


We have compared the performance of open-loop and closed-loop control with respect to
two different control objectives:

a) the controlled output should follow a reference input as closely as possible (this is
called the tracking problem )

b) the controlled output should be held at its desired value in spite of external distur-
bances (this is the disturbance rejection problem).

Figure 2.3 shows the two configurations. The transfer functions from reference input and
disturbance input, respectively, to the controlled output are shown in the Table 2.1.

d(t) d(t)
r(t) y(t) r(t) e(t) y(t)
C(s) G(s) C(s) G(s)

Figure 2.3: Open-loop and closed-loop control

In a tracking problem, a large steady state gain of the controller C(s) in a closed-loop
configuration will bring the controlled output close to the reference input; the error will be
almost independent of changes in the plant transfer function G. In open loop, a relative
change in the plant gain will cause the same relative change in the controlled output.
In open loop, the controller cannot reduce the effect of an external disturbance on the
output, whereas in closed loop, a large controller gain leads to a significant reduction of
disturbance effects.
So far, only steady state behaviour was discussed. The transient behaviour of a closed-
loop system is studied in the next section. But from the transfer functions in Table 2.1
we observe the following. In open-loop control, the transient part of the output y is
partly determined by the poles of the plant transfer function G. Thus, if the plant has
slow or lightly damped poles, the corresponding transient responses will be present in the
output. In closed-loop control, the closed-loop poles are the zeros of 1 + GC; these can be
completely different from the plant poles, and the controller can be designed to achieve
desired pole locations and a desired transient response. This will be discussed in detail
in the following chapters.
54 2. Feedback Control

Table 2.1: Tracking and disturbance rejection in open and closed loop control

Objective Open loop Closed loop

GC
tracking (d = 0) Y = GCR Y = R
1 + GC

G
disturbance rejection (r = 0) Y = GD Y = D
1 + GC

2.2 Types of Feedback

In this section, three basic types of feedback are introduced: proportional feedback, deriva-
tive feedback and integral feedback.

r(t) e(t) u(t) y(t)


C(s) G(s)

Figure 2.4: Feedback loop

Proportional Feedback
The type of feedback employed in the previous section is proportional feedback: the
control input is linearly proportional to the control error. The control law is

u(t) = KP (r(t) − y(t)) = KP e(t).

The steady state behaviour of the closed-loop system with such a controller was already
discussed; we now turn to its transient behaviour. Assume that the plant in Figure 2.4 is
a second order system with transfer function
1
G(s) =
s2 + a1 s + a0
and the controller is a proportional gain, i.e. C(s) = KP . The closed-loop transfer function
is
Y (s) KP
Gcl (s) = = 2 , (2.1)
R(s) s + a1 s + a0 + K P
and comparison with the plant transfer function

s 2 + a1 s + a0 + K P = 0
2.2. Types of Feedback 55

shows the only difference is that a0 is replaced by a0 + KP . Comparing this with the
standard form of the characteristic equation of a second order system

s2 + 2ζωn s + ωn2 = 0

we see that the effect of KP apart from the steady state gain is a change of the natural
frequency ωn . It is also helpful to recall the mechanical example introduced in Section 1.1
and shown in Figure 1.1. The characteristic equation of this system is (compare equation
(1.1))
b k
s2 + s+ =0
m m
where k is the spring constant, b the damping coefficient and m the mass. The coefficient
k/m represents the force of the spring that restores the system to its equilibrium, whereas
the coefficient b/m represents the effect of the damper. In this example, using proportional
feedback to control the system is equivalent to changing its spring constant.
To study the effect of proportional feedback on the closed-loop poles, we initially make
the simplifying assumption a0 = 0 (in terms of the above example, that means the plant
itself has no spring and the spring represents the controller). The closed-loop poles are
then
s
2
a1 a1

s1,2 =− ± − KP .
2 2

Im(s)

−a1 Re(s)

Figure 2.5: Closed-loop pole locations when a0 = 0

The location of the poles for different values of KP is shown in Figure 2.5. When KP = 0,
the roots are s1 = 0 and s2 = −a1 , which are the open-loop poles of the plant without
control. (Note that as KP → 0, the closed-loop poles approach the open-loop poles but
at the same time the controller gain goes to zero.) When KP is increased, the poles
56 2. Feedback Control

move towards each other along the negative real axis, and for KP = a21 /4 they meet at
s = −a1 /2. When KP is further increased, the poles become complex
s
2
a1 a1

s1,2 = − ± j KP −
2 2

with real part −a1 /2, and imaginary part increasing with KP .When KP = a21 /2, the poles
are
a1 a1
s1,2 = − ± j ,
2 2
and the angle between the poles and the imaginary axis is 45o .
When we remove the assumption a0 = 0, we have to distinguish two cases: the open-loop
poles can be real or complex. In both cases, the behaviour of the closed-loop poles is
similar to that when a0 = 0; both cases are shown in Figure 2.6. The plots in Figures
2.5 and 2.6 are called root locus plots, the use of such plots for analysis and design of
controllers will be studied in Chapter 3.

Im(s) Im(s)

Re(s) Re(s)

Figure 2.6: Closed-loop pole locations with real open-loop pole pair (left) and complex
open-loop pole pair (right)

When we considered the steady state error under proportional feedback, we found that
from a steady state point of view, the feedback gain should be large in order to make
the error small. The present discussion shows that making the feedback gain large has
an undesired effect on the transient behaviour: as indicated in Figure 2.6, a higher gain
KP leads to a smaller angle θ between poles and imaginary axis. But from Section 1.3 we
know that sin θ = ζ, therefore a large proportional feedback gain leads to a poor transient
response with low damping ratio, large peak overshoot and oscillation. In terms of the
mechanical example cited above, this is a consequence of the fact that proportional feed-
back can only modify the stiffness of the spring, it cannot change the damping coefficient.
2.2. Types of Feedback 57

We will now see that the latter can be achieved by a combination of proportional feedback
and derivative feedback.

Proportional plus Derivative Feedback


The control law for proportional plus derivative feedback (also referred to as PD control)
is
u(t) = KP (e(t) + TD ė(t)),
where e = r − y is the control error. Taking Laplace transforms, we have

U (s) = KP (1 + TD s)E(s),

thus the controller transfer function is

C(s) = KP (1 + TD s). (2.2)

The parameter TD is called the derivative time .


To study the effect of PD control on the closed-loop poles, we consider again the plant
with transfer function
1
G(s) = 2 .
s + a1 s + a0
With this plant and the controller transfer function given above, the closed-loop transfer
function of the feedback system in Figure 2.4 is

KP (1 + TD s)
Gcl (s) = .
s2 + a1 s + a0 + KP (1 + TD s)

The characteristic equation is

s2 + (a1 + KP TD )s + a0 + KP = 0,

it shows an additional degree of freedom in design offered by PD control: the proportional


gain KP can still be used to reduce steady state error and to change the natural frequency
(recall the standard form of the characteristic equation for a second order system). In
addition, the parameter TD can be used to change the damping ratio independently of
the natural frequency.

Integral Feedback
The third type of feedback is integral feedback. The reason for using integral feedback is
to bring the steady state error to zero. This is best explained in frequency domain. The
steady state error is zero when the closed-loop steady state gain from r to y is 1; from
(2.1) we have
KP
Gcl (0) = → 1 as KP → ∞.
a0 + K P
58 2. Feedback Control

The steady state error under proportional feedback becomes zero only when the feedback
gain becomes infinite. Apart from not being realizable, a large proportional gain is also
undesirable because it can lead to a poor transient response. An important point to
observe here is that the gain needs to be infinite only in steady state, i.e. when s = 0. If
the gain is infinite for s = 0 but finite for s 6= 0, a zero steady state error can be achieved
while avoiding undesirable effects on the transient response. These considerations suggest
to include a factor 1/s in the controller transfer function. This factor has precisely the
required properties: in steady state it is infinite, and for nonzero values of s it is finite.
Thus, we consider the controller transfer function
1
C(s) = KP . (2.3)
TI s

which has the property C(0) = ∞. From

KP
U (s) = E(s).
TI s
we obtain
KP Z t
u(t) = e(τ ) dτ.
TI t0
The fact that the control input is generated by integrating the control error gives this
type of feedback its name. The parameter TI is called the integral time or reset time.
To study the effect of integral feedback on the closed-loop behaviour, we consider the first
order plant model
K0
G(s) = .
τs + 1
With the controller transfer function C(s) in (2.3), the closed-loop transfer function is

Y (s) KP K0
Gcl = = ,
R(s) TI s(τ s + 1) + KP K0

and setting s = 0 shows that


KP K 0
Gcl (0) = = 1,
KP K 0
thus y(t) = r(t) as t → ∞, i.e. the steady state error is indeed zero.
The characteristic equation is
1 KP K0
s2 + s + = 0.
τ TI τ

Increasing the controller gain KP /TI leads to a faster decay of the steady state error, but
the characteristic equation shows that increasing this gain also leads to a low damping
ratio. In conclusion, integral feedback brings the steady state error to zero, but on its
own produces poor transient behaviour.
2.2. Types of Feedback 59

In practice, the three types of feedback introduced here are used in combination, and the
resulting control law is known as PID control.

PID Control

e(t) 1 u(t)
KP TI s

TD s

Figure 2.7: PID controller

Combining proportional, integral and derivative feedback leads to the control law
1 Zt
 
u(t) = KP e(t) + e(τ ) dτ + TD ė(t) .
TI t0
The transfer function of this controller is
1
 
C(s) = KP 1 + TD s + . (2.4)
TI s
A block diagram of a PID controller is shown in Figure 2.7.
PID control was developed in the 1930s and has been widely used since. Most commer-
cially available industrial controllers today are of this type. There are three basic design
parameters: proportional gain, integral time and derivative time; these parameters are
the tuning knobs of a PID controller. Roughly speaking, a small integral time TI brings
the steady state error quickly to zero, but at the same time reduces the damping ra-
tio; increasing TD increases the damping ratio, and increasing KP increases the natural
frequency and thus the speed of the response.
A simple example that illustrates the effect of the three tuning parameters is shown in
Figure 2.8. A second order system with transfer function
1
G(s) =
s2 + 0.7s + 1
is subjected to a unit disturbance step at plant input at time t = 1. With proportional
feedback KP = 1, a steady state error of 0.5 remains, and there is a significant overshoot.
60 2. Feedback Control

0.8
P
0.6
PD
Output
0.4

0.2

PID
0

0 5 10 15 20
Time (sec)
Figure 2.8: Response to an input disturbance with P, PD and PID control. Desired is to
bring the output back to zero - this is achieved only by the PID controller.

Adding derivative feedback (TD = 1) reduces overshoot and oscillation, but leaves the
steady state error unaltered. Adding integral action (TI = 1) finally brings the steady
state error to zero, but slightly reduces the damping ratio.

PI Control
In practice, a combination of proportional and integral feedback only is also used, the
resulting control law is known as PI control. The controller has the transfer function
1
 
C(s) = KP 1+ . (2.5)
TI s
Note that this controller has in addition to the pole at s = 0 also a zero at s = −1/TI .

Implementation
The TD s block in Figure 2.7 represents a differentiator and is not physically realizable. A
step change in the input to this block would result in a delta impulse as output. Apart from
being not realizable, such a block has an undesired effect on the closed-loop performance,
because a differentiator amplifies high frequency measurement noise. In practice, this
block is replaced by a block with transfer function
TD s
(2.6)
1 + γTD s
where γ is a small positive constant. Here with a typical value of γ ≈ 0.1. The step
response of this block is an exponentially decaying pulse with pulse height 1/γ and time
2.2. Types of Feedback 61

constant γTD . For small values of gamma this is a good approximation of derivative
feedback. The pole at −1/(γTD ) has the effect of a low pass filter and attenuates high
frequency noise.
The transfer function of a PD controller where the TD s block has been replaced by (2.6
is then !
TD s
C(s) = KP 1 + . (2.7)
1 + γTD s
We will refer to a PD controller in this form as a real PD controller, whereas we call the
controller (2.2) an ideal PD controller.
Similarly, the PID controller (2.4) is referred to as an ideal PID controller, in order to
distinguish it from a real PID controller
!
1 TD s
C(s) = KP 1+ + . (2.8)
TI s 1 + γTD s

Ziegler-Nichols Tuning Rules


There are a number of simple, heuristic tuning rules for PID controllers. In process
control, the tuning rules developed by Ziegler and Nichols are widely used. We briefly
present two methods.

Ziegler-Nichols Method 1
The first method is based on the observation that many plants in process control systems
have a step response with the shape shown in Figure 2.9.

y(t)

L τ t
a

Figure 2.9: Parameters for Ziegler-Nichols tuning rules

If a plot of the step response is available, then one can fit a tangent at the inflection point
of the response. The shape of the response is characterized by the values of the steady
state gain K, the time lag L and the time constant τ . The value a is determined by the
slope of the tangent and by the time lag; note that a = KL/τ . Having read the values of
L and a from the plot, the table below provides the setting of a P, PI or PID controller.
62 2. Feedback Control

The rules in this table were not derived theoretically, but are the result of extensive
simulation trials. They provide a reasonable setting for controller parameters when 0.1 <
L/τ < 1. When the lag L is too large, a controller designed for large time delays is
required, and when L is too small, the values in the table lead to a very large proportional
gain.

Controller KP TI TD
P 1/a ∞ 0
PI 0.9/a 3L 0
PID 1.2/a 2L L/2

Ziegler-Nichols Method 2
A second method works as follows: if the plant is stable and has pole excess of at least
three, we close a proportional feedback loop around the plant. For sufficiently small gains
the closed-loop system will be stable. Increasing the gain will lead to a point where the
loop becomes unstable. The gain at which this happens is called the critical gain Kcr .
There will be a steady oscillation, and the period of that oscillation is called the critical
period Pcr . Having determined the critical gain and the critical period of a plant, the
controller gains can be obtained from the following table.

Controller KP TI TD
P 0.5 · Kcr ∞ 0
PI 0.45 · Kcr 0.83 · Pcr 0
PID 0.6 · Kcr 0.5 · Pcr 0.125 · Pcr

Controllers tuned according to these rules often result in lightly damped, oscillatory
closed-loop systems, but the parameter values are useful as starting values for subsequent
fine tuning. Ziegler-Nichols tuning is illustrated in Exercise 2.5.

Integrator Windup Effect


Every actuator in a control system has physical limits to the range of the control input
that can be applied to the plant. If the controller generates a control signal that exceeds
these limits, the actuator is driven into saturation. In that case the feedback loop is
effectively cut open. Moreover, if the control law includes integral action, the integrator
keeps integrating the control error and may charge up to high values until the error changes
sign. This can have a significant effect on the transient behavior of the closed-loop system.
A PID control loop with actuator saturation is shown in Figure 2.10.
2.2. Types of Feedback 63

PD
r(t) e(t) uc (t) u(t) y(t)
KP G(s)

1
TI s

Figure 2.10: PID control loop with actuator saturation

Actuator saturation is represented by a block between controller and plant. The control
signal uc is generated by the controller, and the signal u represents the control input that
is actually applied to the plant. The relationship between u and uc is shown in Figure 2.11.

u(uc )
umax

umin umax uc

umin

Figure 2.11: Actuator saturation

The effect that saturation has on the step response of a PID control loop is illustrated in
Figure 2.12. After a step change from 0 to 1 of the reference input, the controller generates
a control signal uc that exceeds the actuator range, which is limited to −1 < u < 1. The
integrator is being charged up (“winding up”) until the control error r − y changes sign
and becomes negative at t = 1.1, even though the control system is effectively running in
open loop. It takes a significant time for the negative error to wind down the integrator
and - supported by the PD component of the controller - to bring the control output back
to its physical limits. The result is a huge overshoot; this effect is referred to as integrator
windup.
The problem is that in the open-loop mode caused by saturation, the integrator represents
an unstable element. A variety of techniques can be used to overcome this problem; a
simple method of doing this is illustrated in Figure 2.13.
The difference between the control signal uc generated by the controller and the actual
control input u is used for feedback around the integrator. When the actuator is not sat-
64 2. Feedback Control

1.5

Controlled output
r(t)
1

0.5 y(t)

0
0 0.5 1 1.5 2 2.5 3 3.5 4

3
Control input

uc(t)
2

1
u(t)
0

−1

−2
0 0.5 1 1.5 2 2.5 3 3.5 4

Time (sec)
Figure 2.12: Step response with windup effect

urated the integrator operates normally. If saturation occurs, the feedback loop stabilizes
the integrator and makes it behave like a first order system, which can be tuned via the
feedback gain Kaw . Figure 2.14 illustrates how the step response shown in Figure 2.12
changes if the antiwindup configuration of Figure 2.13 is used. Tuning a PID controller
with antiwindup is explored in Exercise 2.7.

2.3 Steady State Tracking Error and System Types

In this section we further investigate the steady state tracking error of closed-loop systems
and classify feedback systems by their capability of tracking inputs with zero steady state
error. In addition to step inputs we will also consider tracking of ramp inputs.
We begin with a few examples. Consider the feedback system in Figure 2.15 with plant
transfer function
K0
G(s) =
τs + 1
and proportional feedback C(s) = KP . The closed-loop transfer function is

KP K0
Gcl (s) = ,
τ s + 1 + KP K0
2.3. Steady State Tracking Error and System Types 65

PD
e(t) uc (t) u(t)
KP
1
TI s

Kaw

Figure 2.13: Anti-windup configuration

and the closed-loop steady state gain is


KP K 0
Gcl (0) = 6= 1,
1 + KP K0
therefore there will be a non-zero steady state error in the response to a constant reference
input. When the plant transfer function is changed to
K0
G(s) = ,
s(τ s + 1)
the closed-loop transfer function becomes
KP K0
Gcl (s) = ,
s(τ s + 1) + KP K0
and the steady state gain is
KP K 0
Gcl (0) = = 1,
KP K 0
thus the steady state error is zero. Obviously this is due to the factor 1/s in the plant
transfer function which indicates integral behaviour of the plant. The effect is the same
as that of integral feedback discussed in the previous section, and the example illustrates
that a factor 1/s in the forward path enables the feedback system to reach a constant
setpoint with zero steady state error. Because it makes no difference whether this factor
appears in the plant transfer function or in the controller, we simplify the feedback system
in Figure 2.15 by combining plant and controller transfer function into the loop transfer
function L(s) = G(s)C(s), and consider the feedback system shown in Figure 2.16.

Steady State Error to a Ramp Input


So far we considered steady state errors to unit steps as reference inputs. A different type
of input that is also of practical interest is the unit ramp input r(t) = tσ(t). A ramp
input as reference occurs for example when a position control system is required to track
an object that is moving with constant velocity.
66 2. Feedback Control

1.5

r(t)

Controlled output
1

0.5 y(t)

0
0 0.5 1 1.5 2 2.5 3 3.5 4
Time [s]

uc(t)
1.5
Control input

1
u(t)
0.5

−0.5
0 0.5 1 1.5 2 2.5 3 3.5 4
Time [s]

Figure 2.14: Step response with anti-windup configuration

r(t) e(t) u(t) y(t)


C(s) G(s)

Figure 2.15: Feedback system

To compute the steady state error to a unit ramp input, we need to apply the final value
theorem of the Laplace transform to the steady state error; therefore we need to express
the steady state error e(t) in terms of the reference input r(t). We find the transfer
function from r to e in Figure 2.16 by applying the rule for closed-loop transfer functions
(forward gain divided by 1 minus loop gain) to be
E(s) 1
= .
R(s) 1 + L(s)
Now we return to the previous example. In terms of Figure 2.16 we have
K P K0
L(s) = KP G(s) = .
s(τ s + 1)
We saw that the feedback system can follow a step change with zero steady state error.
The Laplace transform of the unit ramp is 1/s2 , thus the error to a unit ramp input is
1 s(τ s + 1) 1
E(s) = R(s) = ,
1 + L(s) s(τ s + 1) + KP K0 s2
2.3. Steady State Tracking Error and System Types 67

r(t) e(t) y(t)


L(s)

Figure 2.16: Simplified representation of the feedback system in Figure 2.15

and in steady state

s(τ s + 1) 1
e∞ = lim sE(s) = s
s→0 s(τ s + 1) + KP K0 s2
or
1
e∞ = 6= 0.
KP K0
Hence, this feedback system can follow a ramp input only with a nonzero steady state
error, and the error is small when the gain product KP K0 is large.
Now consider a plant with transfer function

(s + 3)2
G(s) = .
s2 (s + 1)

With proportional feedback as before, we have

KP (s + 3)2 nL (s)
L(s) = 2
=
s (s + 1) dL (s)

and with
1 dL (s)
=
1 + L(s) dL (s) + nL (s)
we have
1
e∞ = lim sE(s) = lim s R(s)
s→0 1 + L(s)
s→0

s2 (s + 1) 1
= lim s 2
s→0 s (s + 1) + KP (s + 3) s2
2

or
e∞ = 0.

Because of the factor 1/s2 in the forward path, this feedback system can follow a ramp
input with zero steady state error. Obviously, the capability of tracking reference inputs
with zero steady state error is related to the power of the factor 1/s in the forward path,
and this observation leads to the following classification of feedback systems.
68 2. Feedback Control

Definition 2.1

Consider the feedback system shown in Figure 2.16. If k is the largest integer such that
the transfer function L(s) can be written in the form

nL (s)
L(s) = ,
sk dL (s)

i.e. if the denominator has a factor sk , then this feedback system is called a type k system .

With this definition, the examples considered in this section are a type 0 system, a type 1
system and a type 2 system, respectively. A useful measure of the capability of tracking
reference inputs is provided by the concept of error constants .

Position Error Constant


The position error constant of the feedback system in Figure 2.16 is defined as

nL (s)
Kpos = lim L(s) = lim .
s→0 s→0 sk dL (s)

Because the steady state error to a unit step input is given by


1 1 1
e∞ = lim sE(s) = lim s = ,
s→0 s→0 1 + L(s) s 1 + lims→0 L(s)

we can express the steady state error (in response to a unit step) in terms of the position
error constant as
1
e∞ = .
1 + Kpos
For type 0, type 1 and type 2 systems, it is straightforward to compute the following
position error constants and steady state errors (in response to a unit step).

Type Kpos e∞
1
0 L(0) 1+Kpos
1 ∞ 0
2 ∞ 0

Velocity Error Constant


The velocity error constant is defined as

nL (s)
Kvel = lim sL(s) = lim . (2.9)
s→0 s→0 sk−1 dL (s)
2.3. Steady State Tracking Error and System Types 69

Therefore the steady state error to a unit ramp input is


1 1
e∞ = lim sE(s) = lim s
s→0 s→0 1 + L(s) s2
1 1
= lim =
s→0 s + sL(s) lims→0 sL(s)
or
1
e∞ =
.
Kvel
The velocity error constants and the steady state errors to a unit ramp input for different
system types are shown in the following table.

Type Kvel e∞
0 0 ∞
1 nL (0)/dL (0) 1/Kvel
2 ∞ 0

These results are illustrated by the simulated response of the feedback systems in the
examples of this section to a ramp input, shown in Figure 2.17 (numerical values are
K0 = τ = 1).

10

7.5

Type 2
Output

5
Type 1

2.5
Type 0

0 2.5 5 7.5 10
Time (sec)
Figure 2.17: Responses of different system types to a unit ramp reference input (dashed)

Internal Model Principle


The fact that the number of integrators in the open-loop transfer function determines the
capability of tracking step or ramp inputs with zero steady state error, is a particular
70 2. Feedback Control

case of a more general principle: the open-loop transfer function must contain a model of
the input signal for the feedback system to be able to track it with a zero tracking error.
This can be achieved by including a model of the reference input in the controller.
Consider again the feedback system in Figure 2.15, and let
b(s) nc (s)
G(s) = , C(s) =
a(s) dc (s)
where nc (s) and dc (s) denote the numerator and denominator polynomial of the controller
transfer function, respectively. Also, let
nr (s)
R(s) =
dr (s)
be the Laplace transform of the reference input. The Laplace transform of the control
error e is then
1 dc (s)a(s) nr (s)
E(s) = R(s) = · (2.10)
1 + G(s)C(s) dc (s)a(s) + nc (s)b(s) dr (s)
C1 Cn Cn+1 Cn+q
= + ... + + + ... +
s − p1 s − pn s − r1 s − rq
where pi are the n closed-loop poles, and ri are the q roots of dr (s). Assuming that
the closed-loop system is stable, the first n terms in the above expansion represent the
transient response and will die out. However, if the reference input is such that dr (s) has
roots on the imaginary axis (as is the case for a step, ramp or sinusoid), the corresponding
terms in the partial fraction expansion will not die out but represent a steady state error.
The only way for these terms to disappear is to be cancelled in (2.10) by a factor of
dc (s)a(s). This can be achieved by including roots of dr (s) on the imaginary axis among
the controller poles. For example, if a sinusoidal reference input
A
R(s) =
s2 + ω 2
is to be tracked, the controller should include a pole pair at ±jω.

2.4 Routh’s Stability Test

The concepts of system type and error constants introduced in the previous section are
meaningful only when the closed-loop system is stable: they refer to the steady state, i.e.
the state when transient components of the response have died out. Feedback systems,
when not properly tuned, can easily become unstable, and when designing a feedback
system, it is important to know how to check its stability.
Stability was discussed in Chapter 1, where we stated that a system is stable if all its
poles are in the left half plane. Thus one can check the stability of a system by computing
2.4. Routh’s Stability Test 71

the poles of its transfer function. This is easily done for first or second order systems, but
is hardly possible by hand for high order systems. In this section we present a method
that can be used to check stability by simple calculations, without explicitly computing
the poles.
Consider the transfer function
bm sm + bm−1 sm−1 + . . . + b1 s + b0 b(s)
G(s) = n n−1
=
s + an−1 s + . . . + a1 s + a0 a(s)
where n > m. The stability of the system is determined by the roots of the characteristic
equation
a(s) = sn + an−1 sn−1 + . . . + a1 s + a0 = 0.
A simple test that can be performed by inspection is to check the sign of the coefficients
ai of the characteristic polynomial a(s). If G(s) is stable, all coefficients are positive,
and if one or more coefficients are negative or zero, the system is unstable. To make
this statement plausible, consider as an example a third order system with characteristic
polynomial a(s) and assume the poles are real. This polynomial can be factored so that
the characteristic equation is
(s + p1 )(s + p2 )(s + p3 ) = 0,
and the system will only be stable if all pi ’s are positive (the poles are at −pi ). Expanding
the product yields
s3 + (p1 + p2 + p3 )s2 + (p1 p2 + p1 p3 + p2 p3 )s + p1 p2 p3 = 0,
and because only addition and multiplication is involved, the only way for any of the
coefficients to become negative is that at least one of the pi ’s is negative, which in turn
implies that the system is unstable. The same result can be shown to hold for polynomials
of any order and with complex roots.
The condition that all coefficients of the characteristic polynomial must be positive is a
necessary condition for stability, but it is not sufficient: even when all coefficients are
positive, the system can be unstable. We now turn to a necessary and sufficient condition
for stability, the Routh criterion (developed in 1875 by the mathematician J. Routh).
The Routh criterion is based on the so-called Routh array: the coefficients of the charac-
teristic polynomial are arranged in two rows according to
sn 1 an−2 an−4 an−6 0
sn−1 an−1 an−3 an−5 an−7 0
c1 c2 c3 0
d1 d2 d3 0
e1 e2 0
f1 f2 0
g1 0
h1
72 2. Feedback Control

Here it is assumed that an−7 is the last coefficient (i.e. n = 7). From the first two rows,
the subsequent rows are computed as follows.

1 an−2

an−1 an−3 an−1 an−2 − an−3
c1 = =
an−1 an−1

1 an−4

an−1 an−5 an−1 an−4 − an−5
c2 = =
an−1 an−1
1 an−6

an−1 an−7 an−1 an−6 − an−7
c3 = =
an−1 an−1
1 0

an−1 0
c4 = = 0
an−1

an−1 an−3

c1 c2 c1 an−3 − c2 an−1
d1 = =
c1 c1
an−1 an−5

c1 c3 c1 an−5 − c3 an−1
d2 = =
c1 c1
The array terminates with n+1 rows, and a necessary and sufficient condition for stability
is that all elements in the first column are positive. If not all elements in the first column
are positive, then the number of unstable poles is equal to the number of sign changes.
The following example illustrates the procedure. To test a transfer function with denom-
inator polynomial
s3 + 2s2 + s + 4 = 0,
we form the Routh array
s3 1 1 0
s2 2 4 0
s 1 c1 0
s 0 d1
where
1 1

2 4 2−4
c1 = = = −1
2 2
2 4

−1 0 −4 − 0
d1 = = = 4.
−1 −1
2.4. Routh’s Stability Test 73

The elements in the first column (1, 2, −1, 4) show two sign changes (from 2 to -1
and from -1 to 4), indicating two unstable roots. (The roots are s1,2 = 0.16 ± j1.3 and
s3 = −2.3.)
As a second example, consider the polynomial

s3 + 2s2 + 4s + 4 = 0.

The Routh array is


s3 1 4 0
s2 2 4 0
s1 2 0
s0 4
All elements in the first column are positive, indicating that the system is stable. (The
roots are s1,2 = −0.35 ± j1.7 and s3 = −1.3.)
The Routh test was developed to check whether the roots of a polynomial are in the left
half plane, without having to explicitly compute them. The next example demonstrates
that the Routh array can also be used to calculate the stability range of feedback gains.
Consider the feedback system shown in Figure 2.18.

r(t) e(t) u(t) s+1


y(t)
KP s(s−1)(s+4)

Figure 2.18: Proportional feedback system

The closed-loop transfer function is

Y (s) KP (s + 1)
=
R(s) s(s − 1)(s + 4) + KP (s + 1)
The plant has an unstable pole at s = 1, and we are interested in the range of values of
KP that make the closed-loop system stable. From the characteristic equation

s3 + 3s2 + (KP − 4)s + KP

we form the Routh array


s3 1 KP − 4 0
s2 3 KP 0
1
s c1 0
0
s d1
with
3(KP − 4) − KP 2KP − 12
c1 = =
3 3
74 2. Feedback Control

c1 K P − 0
d1 = = KP .
c1
The closed-loop system is stable if and only if all elements in the first column are positive,
this requires KP > 0 and
2
KP − 4 > 0
3
therefore the closed-loop system is stable if and only if KP > 6.

Second and Third Order Systems


As discussed above, a necessary condition for a system to be stable is that all coefficients
of the characteristic polynomial are positive. When the Routh test is applied to a second
order system with the characteristic equation

s 2 + a1 s + a0 = 0

it is straightforward to check that this is also a sufficient condition for stability. For a
third order system with the characteristic equation

s 3 + a2 s 2 + a1 s + a0 = 0

applying this test shows that a sufficient condition is that all coefficients are positive and
satisfy a2 a1 > a0 .
Exercises for Chapter 2

Exercises
Problem 2.1

In this task the motor speed Ω = θ̇ is to be controlled using proportional feedback. The
closed–loop system is assumed to be as shown in Figure 2.4. The plant model

K0 JR
G(s) = with τ = and K0 = 1/K
τs + 1 K2

is taken as a first order model with parameter values obtained in Problem 1.7
(K ≈ 0.0476, R ≈ 24, τ ≈ 1.1).

a) Calculate the position error constant as a function of KP , and then the smallest
value of KP for which the steady state error is less than 10%.

b) Now assume that a steady state error of 10% is not acceptable, and that it must be
reduced to 5%. Calculate the required value of KP .

Problem 2.2 M

a) M Tune a P controller in simulation: open a new Simulink model and generate a


closed-loop system as in Figure 2.4 with the given plant transfer function. Choose
C(s) = KP = 0.1, and simulate the response to a reference step with a final value
of 47.75 (at this speed the inner dots on the rotating disc of the motor will stand
still). Find out for which values of KP the steady state error is less than 10%.

b) M Validate the controller obtained in (2.1 a) experimentally on the real motor: re-
place the transfer function block with the DC motor block or use the given template.
Compare the experimental step response with the simulated one.
76 Exercises

c) M Validate the P controller with the new value of KP obtained in (2.1 b) experi-
mentally on the real motor, and compare the steady state error with the expected
one. Can you observe effects in the experimental step response that you would not
expect of a proportional feedback loop with a first order plant model?

Simulink file: Model_Problem2_2_PControllerVelocity.slx

Problem 2.3 M

Now instead of the motor speed Ω = θ̇ the motor angle θ is to be controlled with a
proportional controller.

a) Adjust the numerical plant model of Problem 1.7

21
G(s) =
1.1s + 1

such that the output is the motor angle θ by using a free integrator.

b) M Use the given Simulink model to determine Kcr and Pcr for the Ziegler-Nichols
Method 2 [page 62] experimentally. Use your results to design a proportional con-
troller with gain KP .

c) M Validate the P controller with gain from b) experimentally: Apply a reference


step input r(t) = 2πσ(t), such that the motor is required to make a full 360° rotation.
Comment on steady state error and peak overshoot.
Hint: Be careful to reset the motor in each experiment to the zero initial position.

d) M Calculate the value of KP that is required to achieve the fastest possible response
but no overshoot. This can be achieved by using two real and identical poles.
Simulate the response of the motor with this gain.

e) M Validate the controller with KP from d) experimentally and compare exper-


imental and simulation results. Comment on the steady state error and explain
it.

f) M Since none of the results in c) and e) were convincing, we assume now that a
rise time tr of less than 0.5 s is desired. This chosen rise time is a trade-off between
both considered extreme cases. Calculate the value of KP that is required to achieve
this rise time. Simulate the step response with this gain. Perform an experiment to
obtain the step response of the real motor. Compare the simulated and experimental
response, and comment on the achieved performance. Comment on the overshoot.
Exercises for Chapter 2 77

Hint: The following equations can be useful:

KP K ωn2
Gcl (s) = =
JRs2 + K 2 s + KP K s2 + 2ζωn s + ωn2
1.7
ωn ≈
tr
Simulink file: Model_Problem2_3_PControllerAngle.slx

Problem 2.4 M

Consider again the model obtained in Problem 2.3.a)e designed to control the motor angle.

a) Try to improve the performance achieved with a P controller in Problem 2.3.f by


using an ideal PD controller with transfer function (2.2) C(s) = KP (1 + TD s). Use
KP = 0.44 from this problem, start with TD = 0.5 and fine-tune the derivative time
in the range TD ∈ [0.3, . . . , 0.8] by simulating the step response. Apply a reference
step input r(t) = 2πσ(t). How does the choice of TD affect the rise time and the
peak overshoot?
Hint: When simulating the closed-loop response, note that an ideal PD controller
is not realizable and cannot be implemented on its own; the product C(s)G(s) is
however realizable.

b) M Repeat the simulation in (a) but this time insert a saturation block with actuator
limits [−8 . . . 8] V before the motor input. What do you observe with regard to the
peak overshoot?
Furthermore, validate the controllers from (a) with different values for TD experi-
mentally. For this purpose you have to implement a real PD controller with trans-
fer function (2.7); choose γ = 0.01. You may use the template "Model_Problem2_
4_PDControllerAngle.slx". Compare simulated and experimental response and
comment on the difference.
Hint: Be careful to reset the motor in each experiment to the zero initial position.
Simulink files:
– Model_Problem2_4_PDControllerAngleut.slx
– Model_Problem2_4_PDControllerAngleWithSaturation.slx

Problem 2.5 M

In this problem a PID controller will be used to control the shaft angle of the DC motor.
The model used here is again the one obtained in Problem 2.3.a) with the transfer function
21
G(s) = .
s(1.1s + 1)
78 Exercises

a) Use the values of critical gain (Kcrit = 3.8) and critical period (Pcrit = 0.74s)
obtained in Problem 2.3.b) and the Ziegler-Nichols table [page 62] to determine
start values for the parameters KP , TI and TD of a real PID controller with transfer
function (2.8) . Choose γ = 0.1.

b) Fine-tune your PID controller by simulating the closed-loop step response. The
control objectives are

• peak overshoot less of than 20%,


• rise time below 0.3 s.

c) M

i) Validate your controller from b) experimentally by measuring the response to


reference step inputs r(t) = 2πσ(t) rad . You can use the Simulink template
"Model_Problem2_5_PIDControllerAngle.slx" for this purpose.
ii) Plot and compare the experimental and the simulated closed-loop response
y(t). Plot and compare also the control input signal u(t) used in simulation
and in the experiment.
iii) Do the simulated and the experimental responses match? Explain the differ-
ences.

Hint: Keep in mind that in the experiment only voltages from −8 V to 8 V can be
applied to the plant.

d) Now insert a ’Saturation’ block with appropriate limits in your Simulink model
for the simulation and compare again the simulated with the experimental response.

Simulink files:
• Model_Problem2_5_PIDControllerAngle.slx
• Model_Problem2_5_PIDControllerAngleWithSaturationt.slx

Problem 2.6

2
In this problem the limits of a given system with the transfer function G(s) = s2 +s
will
be considered.

a) Use the given Simulink model to design a control loop as in Figure 2.10 using:

• r(t) = σ(t)
• KP = 1
• TI = 1.25
Exercises for Chapter 2 79

8.6s+16.8
The saturation block has the limits −1 V and +1 V. Use the real PD block s+10
.

b) Use your Simulink model to discuss the relationship between control input u(t)
which is applied to the plant and the control signal uc (t) which is generated by the
controller. Also consider the control output y(t) and input r(t) and explain the
results.

c) Add a feedback gain Kaw to your Simulink model as shown in Figure 2.13. Tune
the gain block Kaw to improve the step response. Compare your result with the
results from part b) and describe the effect of Kaw .

Simulink file: Model_Problem2_6_IntegratorWindup.slx

Problem 2.7 M

In this problem an anti-windup scheme will be used to overcome the performance limita-
tions encountered in Problem 2.5 c).
Implement a PID controller with anti-windup function and test it experimentally by
simulating step responses. For this purpose, use the given Simulink template and your
controller parameters from Problem 2.5 b) (KP = 1.2, TI = 0.44 and TD = 0.38) as start
values. Set the anti-windup gain to Kaw = 0.8. Tune the controller parameters for good
performance (peak overshoot and rise time).
Compare the peak overshoot and the rise time obtained experimentally with that achieved
in Problem 2.5 c) (tr = 0.27s and Mp = 0.4).
Simulink file: Model_Problem2_7_PIDAntiWindup.slx

Problem 2.8

Consider the control system shown in Figure 2.19, where disturbances acting on plant
input and output are shown. Assume initially that proportional feedback is used, i.e.
C(s) = KP and the transfer function of the plant is given by
1
G(s) = .
s(s + 1)

du (t) dy (t)
r(t) e(t) u(t) y(t)
C(s) G(s)

Figure 2.19: Control loop with disturbances


80 2. Feedback Control

a) What is the steady state error e∞ when r(t) = σ(t) and du (t) = dy (t) = 0?

b) What is the steady state error in response to a step disturbance dy acting on the
plant output, when r(t) = du (t) = 0 and dy (t) = σ(t)? What is the steady state error
in response to a step disturbance du acting on the plant input, when r(t) = dy (t) = 0
and du (t) = σ(t)?

c) Propose a controller transfer function C(s) that achieves zero steady state error in
response to a ramp input disturbance (du (t) = tσ(t), r(t) = dy (t) = 0).

d) Propose a controller structure C(s) that achieves zero steady state error in response
to a sinusoidal disturbance du (t) = sin(ωd t)σ(t), by r(t) = dy (t) = 0 and ωd = 1.

• Try to design the controller with two poles. Is the system stable?
• Which form should have the numerator?

Hint: Use (5s2 +1s+5) for the numerator. You will do a full design of the controller
C(s) in the next chapter in Problem 3.6.

Simulink file: Model_Problem2_8_InternalModelPrincipleSin.slx

Problem 2.9

21
Consider again the angle control problem in Exercise 2.3, where G(s) = s(1.1s+1) . This
time the closed-loop system is required to track a unit ramp as reference input.

a) Design a P controller C(s) = KP for this purpose. Which value of KP is required


when r(t) = tσ(t), and a steady state error of less than 0.15 is desired?

b) Design a controller that achieves e(t) → 0, and simulate the closed-loop ramp
response.
Hint: You do not have to use a P controller.

Simulink files:
• Model_Problem2_9_PAngleRamp.slx
• Model_Problem2_9_PDAngleRamp.slx
• Model_Problem2_9_PIDAngleRamp.slx
Chapter 3

Root Locus Design

3.1 Root Locus Plots

In this chapter we present a graphical method that can be used to gain information about
the location of the closed-loop poles without computing them. The method consists of a
number of simple rules which can be applied step by step to sketch the root locus of the
closed-loop system. The root locus is the locus of the closed-loop poles in the complex
plane when one parameter - usually a proportional feedback gain - is varied from zero to
infinity.
The root locus of a feedback system was already introduced in the first example in Section
2.2, where the limitations of proportional feedback were discussed. Figure 2.5 shows the
trajectory of the poles of the closed-loop system (2.1), when the proportional gain KP
takes values between zero and infinity. This root locus plot was constructed by computing
the closed-loop poles as a function of KP . We now present a simple method for sketching
the root locus without solving the characteristic equation.
To find the locus of the closed-loop poles, it is not important to distinguish between the
transfer function of the plant and of the controller. In order to simplify the following
procedure, we assume that the feedback system under consideration has only one block in
the forward path as shown in Figure 3.1. The loop transfer function L(s) can be thought
of as the product of the plant transfer function G(s) and the controller transfer function
C(s), with a proportional gain K pulled out as a parameter that can be varied.
The purpose of the following procedure is to estimate the location of the closed-loop poles
of the feedback system in Figure 3.1 when K is changed from 0 to ∞. We start with the
characteristic equation
1 + KL(s) = 0,
which can also be written as
1
L(s) = − .
K
82 3. Root Locus Design

In general, the transfer function L(s) takes complex values; but the latter form of the
characteristic equation shows that if s is a closed-loop pole for some gain K, then L(s)
must be real and negative, because K is real and positive. Another way of saying that
L(s) is real and negative is to say that the phase angle arg L(s) is 180o . We conclude
that s can only be a closed-loop pole of the feedback system in Figure 3.1 for some gain
K between zero and infinity, if the transfer function L(s) has a phase angle of 180o . This
leads to the following definition of the root locus.

r(t) e(t) y(t)


KL(s)

Figure 3.1: Simplified feedback system

Definition 3.1 The root locus is the locus of points in the s-plane where

arg L(s) = 180o + l360o , l = 0, ±1, ±2, . . .

Note that adding or subtracting integer multiples of 360o does not change the phase angle.
We will use the above phase condition to identify points in the s-plane that can be closed-
loop poles for some positive value of K. For this purpose, we use the fact that the phase
angle of L(s) is equal to the sum of the phase angles of its zeros and the negative phase
angles of its poles. To illustrate this, consider an open-loop transfer function L(s) with
one zero and three poles
K0 (s − z)
L(s) = .
s(s − p1 )(s − p2 )
Assuming that K0 > 0, we have for the phase angle of L(s)

arg L(s) = arg(s − z) − arg s − arg(s − p1 ) − arg(s − p2 ).

This situation is shown in Figure 3.2. A test point s0 is marked, and the phase angle of
L(s0 ) is determined by the angles of the zero and the poles. We have

arg L(s0 ) = ψ − φ0 − φ1 − φ2 .

For example, with values estimated from the plot ψ ≈ 70o , φ0 ≈ 125o , φ1 ≈ 25o and
φ2 ≈ 40o , the phase angle of L(s0 ) is −120o . As a consequence, the test point s0 does not
belong to the root locus, it cannot be a closed-loop pole for any gain because the phase
angle is not 180o .
We will now use this idea to develop a four-step procedure for sketching the root locus of
the feedback system shown in Figure 3.1. The steps will be illustrated with an example.
3.1. Root Locus Plots 83

Im(s)
s0

φ1 (s0 )
p1
ψ(s0 ) φ0 (s0 )

z p0 Re(s)
φ2 (s0 )
p2

Figure 3.2: Checking the phase condition for a test point

Example 3.1

Consider the open-loop transfer function

1
L(s) = .
s(s2 + 4s + 8)

There are three open-loop poles: one at s = 0, and a pole pair at s = −2 ± j2.
Step 1
The first step is to mark the open-loop poles and zeros in the s-plane. For the above
example, the poles are shown in Figure 3.3. The only information needed in the following
steps for sketching the root locus is the location of the open-loop poles and zeros.
Note that formally the open-loop poles can be seen as the poles of the feedback loop when
K → 0, but in the feedback loop shown in Figure 3.1 the forward gain and therefore the
closed-loop transfer function from r to y will approach zero at the same time. The root
locus techniques discussed here apply in fact to feedback loops that are more general than
that in Figure 3.1, they provide information about the closed-loop poles and therefore
about the loop dynamics, independent of where input and output signals enter or leave
the loop, respectively.
Step 2
The second step is to determine which parts of the real axis belong the root locus. A
test point s0 is marked in Figure 3.3 on the positive real axis. The phase contribution
from the complex conjugate pole pair is zero, because the angles φ1 and φ2 add up to
zero. Since complex poles or zeros always come in conjugate pairs, it is clear that only
open-loop poles or zeros on the real axis contribute to the phase angle of L(s) along the
real axis.
84 3. Root Locus Design

Im(s)
2
φ1 (s0 )

−2 s0 Re(s)

φ2 (s0 )
−2

Figure 3.3: Test point on the real axis

To see how the open-loop poles and zeros on the real axis determine which parts of the
real axis belong to the root locus, consider the two cases shown in Figure 3.4. In the first
case, there are two poles on the real axis. For a test point to the right of both poles, the
phase angle is 0o because both pole angles are zero. Hence, points to the right of both
open-loop poles cannot be closed-loop poles and do not belong to the root locus. Between
the two-poles, the phase contribution from the left pole is still zero, but the angle with
the right pole is 180o . Thus, the phase contribution of that pole is −180o (which is the
same as 180o because adding multiples of 360o does not change the phase), and the part
of the real axis between the two poles belongs to the root locus. To the left of the left
pole, the phase contributions of both poles add up to 0o , therefore this part of the real
axis does not belong to the root locus.

Im(s)

Re(s)

Im(s)

Re(s)

Figure 3.4: Poles and zeros on the real axis


3.1. Root Locus Plots 85

In the second case, a zero is located between two poles. For the same reason as before,
points to the right of the right pole do not belong to the root locus: the phase contribution
from poles and the zero is 0o . The section between the zero and the right pole belongs to
the root locus, because the pole angle is 180o . The section between the zero and the left
pole is not on the root locus: both the angle to the right pole and to the zero are 180o ,
they add up to zero. Finally, to the left of the left pole, angles with the zero and with
both poles are 180o , so the phase angle is −180o , therefore the negative real axis to the
left of the left pole is part of the root locus.
The above examples show that whether or not a point on the real axis belongs to the root
locus is determined by the poles and zeros to the right of that point. A pole or a zero to
the right contributes 180o to the phase angle (it is not necessary to distinguish between
poles and zeros in this case), whereas a pole or a zero to the left contributes 0o . Because
two poles or zeros to the right add up to zero, we can summarize step 2 as follows:

• All points on the real axis to the left of an odd number of poles and zeros belong
to the root locus.

Applying this rule to Example 3.1, we find that the entire negative real axis belongs to
the root locus because there is only one pole on the real axis, located in the origin.
Step 3
The third step in constructing a root locus sketch is to determine the closed-loop poles as
K → ∞. The root locus consists of the n trajectories along which the closed-loop poles
move as K is varied from 0 to ∞. We know that for K = 0 the closed-loop poles coincide
with the open-loop poles, now we will find the opposite end of the trajectories. From the
characteristic equation
1
L(s) = − .
K
it is clear that
b(s)
K→∞ ⇒ L(s) = = 0.
a(s)
There are two ways for L(s) to become zero: either s is a zero of the numerator polynomial
b(s), or |s| → ∞ (recall that if deg a(s) = n, deg b(s) = m then n > m for physically
realizable systems).

Example 3.2

To illustrate this point, consider


s+1
L(s) =
s3 + 4s2 + 8s
This transfer function will be zero either if s = −1 or if |s| → ∞.
86 3. Root Locus Design

s0 Im(s)
φ3 (s0 )

ψ(s0 ) φ1 (s0 )

Re(s)
φ2 (s0 )

Figure 3.5: Test point for step 3

These two ways of L(s) to become zero indicate the two possibilities of where the n closed-
loop poles can go as K → ∞: they either approach one of the m zeros of the loop transfer
function, or they approach infinity. Because n > m, there will be n − m closed-loop poles
that go to infinity. Strictly speaking, it is the magnitude of s that becomes infinite, and
we are interested in the phase angle under which this happens. To illustrate how the root
locus phase condition can be used to find these angles, we return to Example 3.2. The
poles and zeros are shown in Figure 3.5, and for the test point s0 we have

arg L(s0 ) = ψ − φ1 − φ2 − φ3 .

For a test point far away from the origin, i.e. |s0 | very large, these angles are approximately
the same, and as |s0 | → ∞, we have

ψ = φ1 = φ2 = φ3 .

s0 Im(s)

φ∞ (s0 )

α Re(s)

Figure 3.6: Test point far away from origin


3.1. Root Locus Plots 87

This situation is illustrated in Figure 3.6; the poles and zeros now appear clustered at
one point α on the real axis, and φ∞ denotes the common angle. Because m zeros and n
poles are clustered in the same place, the phase contribution of m poles is cancelled by
that of the m zeros, and the net phase contribution is −(n − m)φ∞ . The phase condition
for s0 to be on the root locus is therefore

arg L(s0 ) = −(n − m)φ∞ = 180o + l360o

which can be solved for φ∞


l

180o 360o
φ∞
l = +l , l = 0, . . . , n − m − 1
n−m n−m
The fact that adding or subtracting multiples of 360o does not change anything in the
root locus phase condition, leads to n − m different possible values of φ∞
l for which s0
∞ o
can be on the root locus: for n − m = 1 we have φ0 = 180 , for n − m = 2 we have
φ∞ o ∞ o ∞ o ∞ o ∞
0 = 90 , φ1 = 270 , for n − m = 3 we have φ0 = 60 , φ1 = 180 , φ2 = 300 etc.
o

To draw the asymptotes of the trajectories as K → ∞, we also need to find the point α
where they emanate from the real axis. For this purpose we use the following property of
polynomials. A degree n polynomial (here the open loop characteristic polynomial a(s))
can be written as the product of n linear factors

sn + an−1 sn−1 + . . . + a1 s + a0 = (s − p1 )(s − p2 )(s − p3 ) . . . (s − pn ) =


sn + (−p1 − p2 − p3 − . . . − pn )sn−1 + . . .

Here the pi are the open loop poles, and comparing the last expression with the first shows
that n X
an−1 = − pi (3.1)
i=1
i.e. the coefficient an−1 equals the negative sum of the open loop poles.
Now consider the closed-loop characteristic equation
b(s)
1+K =0
a(s)
or
ā(s) = a(s) + Kb(s) = 0, (3.2)
where ā(s) denotes the closed-loop characteristic polynomial. Using again the above
property of polynomials, we obtain
n
X
ān−1 = − ri (3.3)
i=1

where the ri are the closed-loop poles. Now from (3.2) written as

sn + an−1 sn−1 + . . . + a1 s + a0 + K(sm + bm−1 sm−1 + . . . + b0 ) =


sn + ān−1 sn−1 + . . . + ā0
88 3. Root Locus Design

we see that if m < n−1, we have ān−1 = an−1 . Because of (3.1) and (3.3), this implies that
the sum of the closed-loop poles equals the sum of the open-loop poles. But as K → ∞,
the closed-loop poles are the m open-loop zeros zi together with n − m poles which go to
infinity and which add up to (n − m)α. Therefore we have
n
X n
X m
X
ri = pi = zi + (n − m)α
i=1 i=1 i=1

Solving for α yields Pn


pi − m
P
i=1 zi
i=1
α=
n−m
Because complex poles and zeros always come in conjugate pairs, the imaginary parts in
the sums add up to zero, and the above can be simplified to
Pn
Re pi − m
P
i=1 i=1 Re zi
α=
n−m

Im(s)
2

−2 α Re(s)

−2

Figure 3.7: Information obtained in step 2 and 3

To illustrate the application of step 3, we return to Example 3.1. We have n−m = 3−0 =
3, therefore the angles of the asymptotes are φ∞ o ∞ o ∞ o
0 = 60 , φ1 = 180 , φ2 = 300 . Using
the above formula to find α gives
−2 − 2 − 0
α= = −1.33
3
Figure 3.7 shows the information gathered so far. The three branches of the root locus
start at the open-loop poles, and as K → ∞ the closed-loop poles move towards infinity
along the asymptotes. One of these is the negative real axis, along which the pole at the
origin moves towards −∞, whereas the two complex conjugate poles move along the 60o
and the 300o asymptotes towards infinity. What is still missing at this point is information
about the root locus for small values of K, in particular we do not know yet under what
3.1. Root Locus Plots 89

angle the root locus departs from the two complex poles. This information is obtained in
step 4.
Step 4
To find the angles of departure , we choose a test point s0 in the vicinity of the open-loop
pole at −2 + j2, as shown in Figure 3.8. The phase condition for s0 to be on the root
locus is
arg L(s0 ) = −φ1 − φ2 − φ3 = 180o + l360o .
The angle φ3 is the angle of departure (denoted by φ03 ) when s0 is close to the pole. The
phase contribution of the other poles does not change significantly if we move the test
point along a small circle around the pole at −2 + j2. From Figure 3.8 we find

arg L(s0 ) = −135o − 90o − φ03 = 180o + l360o ,

and solving for φ03 gives


φ03 = −405o + l360o = −45o
if we take l = 1. Thus, the root locus departs at −45o as shown in Figure 3.8, and by
symmetry the locus at the lower pole departs at +45o . This information makes it possible
to sketch the complete root locus as shown in the same Figure.

Im(s)
s0
φ03 (s0 )
2

φ1 (s0 )

−2 Re(s)

φ2 (s0 )

−2

Figure 3.8: Root locus sketch

A comment is in order at this point: the four steps described so far do not give precise
information about the locus at small gains, they do not tell how exactly the branches of
the locus approach the asymptotes. If precise information is required, it can be taken from
a computer-generated root locus. The idea of the 4-step procedure presented here is to
gain qualitative information about the closed-loop system without computing closed-loop
poles; in fact with a little experience it is possible to guess the shape of the root locus
just from looking at the open-loop poles and zeros.
90 3. Root Locus Design

In some cases an additional step may give further useful information. Consider again the
example discussed in Section 2.2, where
1
L(s) =
s2 +s

Im(s)

K=0 K = 0.25 K=0

Re(s)

Figure 3.9: Breakaway point

The root locus is shown again in Figure 3.9 (now it can be easily sketched by applying the
four steps above without computing the roots). The closed-loop poles move from their
open-loop position towards each other, come together at s = −0.5, and depart from the
real axis. The branching point at -0.5 is called a break-away point ; if two symmetric
branches of the locus move back to the real axis it is called a break-in point . For low
order systems, the location of break points can be computed by hand using the following
observation. At s = −1 we have K = 0, and along the real axis towards the origin the
gain increases until s = −0.5, where K = 1/4 (see the discussion in Section 2.2). Moving
further towards the origin, the gain decreases back to K = 0 at the origin. Thus, the
gain has a maximum at the breakaway point (at a break-in point, it has a minimum).
This observation suggests to search for a break point by setting the derivative of K with
respect to s to zero. We have

1 a(s)
K=− =−
L(s) b(s)

Therefore ! !
dK d a(s) 1 da db
= − =− 2 b −a =0
ds ds b(s) b ds ds
or
da db
b −a =0
ds ds
is a condition for s to be a break point. In the present example
b(s) = 1 a(s) = s2 + s
db da
=0 = 2s + 1
ds ds
3.2. Root Locus Examples 91

and solving 2s + 1 = 0 yields s = −0.5, which is indeed the break point. Note however
that, in contrast to the four steps above, this step involves solving for the roots of a
polynomial, which may not be possible to do by hand for higher order systems.
Finally we summarize the steps for sketching a root locus.
Step 1
Mark open-loop poles and zeros in the s-plane.
Step 2
Mark real axis portion of the root locus to the left of an odd number of poles and zeros.
Step 3
Find asymptotes for the n − m root locus branches that go to infinity:
Pn
Re pi − m 180o 360o
P
i=1 Re zi
α= i=1
, φ∞
l = +l , l = 0, . . . , n − m − 1
n−m n−m n−m

Step 4
Use the phase condition on a test point along a small circle around an open-loop pole to
find the angle of departure:
m n
arg(s − pi ) = 180o + l360o
X X
arg L(s) = arg(s − zi ) −
i=1 i=1

If applicable: Step 5
Compute breakaway and break-in points from

da db
b −a =0
ds ds

3.2 Root Locus Examples

In this section, we show by way of examples how to apply the procedure for sketching a
root locus. In particular, we interpret the effect of PD control in terms of root locus plots.

Example 3.3

We want to sketch the root locus of a feedback system with the open loop transfer function

s+1
L(s) =
s2
92 3. Root Locus Design

Step 1 is to mark the two poles at s = 0 and the zero at s = −1. According to the rule
of step 2, the part of the negative real axis to the left of the point -1 belongs to the root
locus.
Because L(s) has two poles and one zero, we have n − m = 1, and step 3 yields

φ∞ o
1 = 180 .

In this case, there is only one asymptote that coincides with the negative real axis, and
we do not need to compute the intersection α with the real axis.

Im(s)

s0

ψ(s0 ) φ0 (s0 )
−1 Re(s)

Figure 3.10: Example 3.3, angle of departure

Step 4 is to compute the angles of departure from the two poles at the origin. The
information gathered so far is shown in Figure 3.10. A test point s0 close to the poles at the
origin is marked, with angle φ0 . The phase contribution ψ from the zero is approximately
0o . Because there are two poles, the phase contribution is −2φ0 , therefore the phase
condition is
arg L(s0 ) = ψ − 2φ0 = −2φ0 = 180o + l360o ,
and solving for φ0 yields

φ0 = −90o + l180o → φ00 = −90o , φ01 = 90o .

The two branches of the root locus leave the origin in the direction of the positive and
negative imaginary axis. This raises the question of stability: if the root locus stays on
the imaginary axis or moves into the right half plane, the closed-loop system becomes
unstable. We can form a Routh array to check stability: from the characteristic equation

s2 + Ks + K = 0,

the Routh array is


s2 1 K
s1 K 0
s 0 c1
3.2. Root Locus Examples 93

with
K2 − 0
c1 = = K.
K
This implies that for K > 0 the closed-loop system is stable, and we can conclude that
the root locus stays in the left half plane for all K > 0.
At this stage we know that the two branches of the root locus start at the origin with
departure angles ±90o , and that for large K both branches are on the negative real axis,
with one pole approaching the zero at -1 and the other pole approaching −∞. To complete
the root locus sketch, we need to know the shape of the locus branches before they return
to the real axis.

Im(z) Im(s)

1 1
z−1
Re(z) −1 Re(s)

Figure 3.11: Change of variables s → z

In fact the two root locus branches form a circle centered on the zero at -1. To see this,
we consider the characteristic equation
s2 + KP (s + 1) = 0.
At this point it is convenient to introduce a change of variables: we replace the variable
s by z = s + 1 and obtain
(z − 1)2 + KP z = z 2 + (KP − 2)z + 1 = 0
thus s
2
2 − KP 2 − KP

z1.2 = ± −1
2 2
or for KP ≤ 4 s
2
2 − KP 2 − KP

z1.2 = ±j 1− .
2 2
q
Since |z| = (Re z)2 + (Im z)2 , for 0 ≤ KP ≤ 4 the roots are located on the unit circle
in the complex plane. If we now reverse the change of variables, we see that the locus of
the roots is a circle with radius 1 centered on -1 (see Figure 3.11).
Similarly it can be shown that if a second order loop transfer function has a zero to the
left of two real poles, the root locus will take the form shown in Figure 3.12, where
q
r= |z − p1 ||z − p2 |.
94 3. Root Locus Design

This pattern occurs frequently in control applications and will be further discussed below.

Im(s)

z p1 p2 Re(s)

Figure 3.12: Root locus circle pattern

The complete root locus for Example 3.3 is shown in Figure 3.13. We can apply step 5 to
verify the breakpoints:
b(s) = s + 1 a = s2
db da
=1 = 2s
ds ds
therefore
da db
b− a = s2 + 2s = 0 → s1 = 0, s2 = −2
ds ds
where s1 is the breakaway point at the origin and s2 is the break-in point.

Im(s)

−1 Re(s)

Figure 3.13: Root locus for Example 3.3


3.2. Root Locus Examples 95

Example 3.4

We consider again the feedback system of Example 3.3, but with an additional pole at
s = −5 of the loop transfer function, thus
s+1
L(s) = .
s2 (s + 5)
Applying the rule of step 2 we find that not the entire negative real axis to the left of the
point -1, but only the section between -1 and -5 belongs to the root locus. Because there
are three poles and one zero (n − m = 2), two closed-loop poles must go to infinity as
K → ∞. Applying step 3 we find
−5 − (−1)
φ∞ o
0 = 90 , φ∞ o
1 = 270 , α= = −2
2
In step 4, the departure angles can be computed as in the previous example. Because
the additional pole at -5 contributes 0o to the phase angle of L(s0 ) for a test point close
to the origin, the departure angles are the same as before, i.e. ±90o . The complete root
locus sketch is shown in Figure 3.14; comparing it with Figure 3.13 shows that the effect
of the additional pole is to push the root locus towards the right.

Im(s)

−5 α −1 Re(s)

Figure 3.14: Root locus for Example 3.4

Example 3.5 (PD Control)

Consider the feedback system in Figure 3.15. The plant transfer function is
10
G(s) =
s(s + 3)
and a controller is to be designed for tracking and disturbance rejection. With propor-
tional feedback
C(s) = KP
96 3. Root Locus Design

d(t)
r(t) e(t) y(t)
C(s) G(s)

Figure 3.15: Feedback system in Example 3.5

the root locus is readily sketched as shown in Figure 3.16; here we take K = KP and
L(s) as the plant transfer function. The real axis portion of the root locus is the section
between 0 and -3, and applying step 3 gives with n − m = 2 the angles φ∞ o
0.1 = ±90 and
α = −1.5.

Im(s)

−3 Re(s)

Figure 3.16: Root locus for Example 3.5 with proportional feedback

The problem of using proportional feedback alone was already discussed in Section 2.2:
to make the steady state error due to a constant disturbance small requires a large gain,
but a large gain results in a low damping ratio with large overshoot. Adding derivative
feedback leads to the PD control law

C(s) = KP (1 + TD s),

and we have
10(1 + TD s)
C(s)G(s) = KP = KL(s)
s(s + 3)
where again the controller gain KP is taken as the root locus parameter K.
Adding derivative feedback is equivalent to adding a zero to the loop transfer function.
The zero is located at s = −1/TD , where TD is a parameter to be chosen by the designer.
We know from Example 3.3 in this section that a zero to the left of two poles will cause
the two root locus branches in Figure 3.13 to form a circle centered at the zero, thus
3.2. Root Locus Examples 97

pulling the root locus to the left and allowing large gains with a high damping ratio. We
choose (somewhat arbitrarily) to place a zero at s = −6, this corresponds to the choice
TD = 1/6. The resulting root locus is shown in Figure 3.17, the breakaway and break-in
points are
s1 = −1.8, s2 = −10.2

Im(s)

−6 −3 Re(s)

Figure 3.17: Root locus for Example 3.5 with PD control

As discussed in Section 2.2, a PD controller is not physically realizable, and in practice


one would replace the term TD s by the term

TD s
1 + γTD s

where γ is a small positive number. The resulting controller is


!
TD s 1 + (1 + γ)TD s
C(s) = KP 1+ = KP
1 + γTD s 1 + γTD s

and for γ  1, we have approximately

1 + TD s
C(s) = KP
1 + γTD s

As seen in Example 3.4, the effect of an additional pole is to push the root locus to the
right. To see what happens if the additional pole is not far enough to the left of the zero,
i.e. if γ is not small enough, assume the pole is located at s = −10 (this corresponds to
γ = 0.6). Applying step 3 yields

−10 − 3 − (−6)
φ∞ o
0.1 = ±90 , α= = −3.5
2
98 3. Root Locus Design

Im(s)

−10 −6 −3 Re(s)

Figure 3.18: Root locus sketch for PD control with additional pole at s = −10

and the root locus sketch in Figure 3.18 shows that the desired effect of PD control -
allowing a high gain and a large damping ratio - is lost. Obviously the problem is that
the pole at -10 is too close to the zero. Shifting it to -30, we obtain
−30 − 3 − (−6)
α= = −13.5
2
and shifting it further left to -60 we have
−60 − 3 − (−6)
α= = −28.5
2
Computer generated root locus plots for both case are shown in Figures 3.19 and 3.20,
respectively. They show that if the pole is far enough to the left, the root locus is close
to that of PD control for a large range of gains. However, placing the pole too far to the
left leads to amplification of measurement noise, and the choice of its location represents
a trade-off between a good transient response and low noise sensitivity.

Root Locus for Negative Gains (0o -Root Locus)


When root locus plots are generated using a computer, one may find situations where the
plots appear to contradict the rules for sketching a root locus introduced in this chapter.
This would happen for example if the controller zero in the previous example is pulled
into the right half plane. To see the reason for this apparent contradiction, we return to
the closed-loop characteristic equation
1
L(s) = −
K
from which the phase condition and the subsequent rules were derived. One important
assumption we made so far is that K > 0. Moreover, we assumed that in the loop transfer
function
bm s m + . . . + b0
L(s) = n
s + an−1 sn−1 + . . . + a0
3.2. Root Locus Examples 99

50

Im (s) 25

−25

−50
−30 −20 −10 0
Re (s)
Figure 3.19: Root locus plot for PD control with additional pole at s = −30 generated
with Matlab

20

10
Im (s)

−10

−20
−60 −30 0
Re (s)
Figure 3.20: Root locus plot for PD control with additional pole at s = −60 generated
with Matlab

we have bm > 0. In fact, the loop transfer function can be written as

bm (s − z1 )(s − z2 ) . . . (s − zm )
L(s) =
(s − p1 )(s − p2 ) . . . (s − pn )
100 3. Root Locus Design

and the phase condition for s to be on the root locus is


m n
arg (s − pi ) + arg bm = 180o ± l360o , l = 0, 1, 2, . . .
X X
arg L(s) = arg (s − zi ) −
i=1 i=1
o
If bm > 0 we have arg bm = 0 , and this condition is the same as the phase condition
used for the construction rules in the previous section. However, if bm < 0 we have
arg bm = 180o , and the graphical root locus construction must then use the condition
(s − z1 )(s − z2 ) . . . (s − zm )
arg = 0o ± l360o , l = 0, 1, 2, . . .
(s − p1 )(s − p2 ) . . . (s − pn )
The same is true if bm is positive but K < 0. Thus, the rules for constructing a root locus
need to be changed in these cases as follows.
Step 2
All points to the left of an even number of poles and zeros belong to the root locus (note
that 0 is considered even here, i.e. the positive real axis to the right of the rightmost pole
or zero is part of the root locus).
Step 3
o
The angles of the asymptotes for K → ∞ are Φ∞ 360
l = l n−m , l = 0, 1, . . . , n − m − 1.

Step 4
The phase condition for checking the angle of departure is
m n
arg(s − pi ) = 0o ± l360o , l = 0, 1, 2, . . .
X X
arg L(s) = arg(s − zi ) −
i=1 i=1

These rules must be used when Kbm < 0; the rules presented in the last section apply
when Kbm > 0.

3.3 Control of Time Delay Systems

Many practical control systems have a pure time delay in the loop, such cases arise for
example in process control applications where the plant may involve the movement of
material such as on a conveyer belt or in a pipeline. A typical step response is shown in
Figure 3.21: the process is described by a first order system with time constant T0 and
static gain K0 , and by a time delay Td that passes before any change of the plant output
in response to the step input can be observed.
From the properties of the Laplace transform discussed in Section 1.2 we know that the
transfer function of this process is
K0
G(s) = e−Td s .
T0 s + 1
3.3. Control of Time Delay Systems 101

u(t) y(t)
K0
1 u(t) y(t)
G(s)

t Td T0 t

Figure 3.21: Step response of first order system with time delay

We will now investigate the effect of the delay term e−Td s on the performance of a control
loop as shown in Figure 3.22. We will assume that proportional feedback is used, i.e.
C(s) = KP , and that K0 = T0 = 1.

r(t) e(t) u(t) y(t)


C(s) G(s)

Figure 3.22: Control of a time delay system

To see the effect of the time delay, we will compare the root locus of the feedback system
with and without time delay. If Td = 0 the root locus is that of a first order system shown
in Figure 3.23.
To construct the root locus plot of the feedback system when Td > 0, we consider the
closed-loop characteristic equation
e−Td s
1 + KP =0
s+1
or
e−Td s 1
=−
s+1 KP
where 0 ≤ KP < ∞. From this we obtain the phase condition

arg e−Td s − arg (s + 1) = 180o ± l360o , l = 0, 1, . . .

Substituting s = σ + jω in the first term on the left hand side yields


180o
arg e−Td (σ+jω) = arg e−jTd ω = −Td ω
π
The phase condition for s to be on the root locus is therefore
o o180o
arg (s + 1) = 180 ± l360 − Td ω , l = 0, 1, . . .
π
and taking l = 0 (the principal branch of the root locus) yields

arg (s + 1) = 180o − Td ω · 57o . (3.4)


102 3. Root Locus Design

Im(s)

−1 Re(s)

Figure 3.23: Root locus of first order system without delay

To illustrate this result, we construct the root locus for Td = 1. This can be done by
applying (3.4) at selected values of ω. First we observe that for ω = 0 we have

arg (s + 1) = 180o

which is precisely the phase condition of the system without time delay. Thus, the negative
real axis (ω = 0) from −1 to −∞ is part of the root locus. A second observation is that
if s → −∞, we have
e−Td s −Td e−Td s
lim = lim = −∞
s→−∞ s + 1 s→−∞ 1
where l’Hospital’s rule has been used. This shows that the delayed system has an open-
loop pole at −∞.


π

j2

j1

−1 σ

−π

Figure 3.24: Root locus of first order system with delay


3.3. Control of Time Delay Systems 103

For ω = 1 we obtain
arg (s + 1) = 180o − 57o = 123o
and for ω = 2
arg (s + 1) = 180o − 114o = 66o
Finally, for ω → π we have
180o
arg (s + 1) = 180o − π · = 0o
π
Combining this information, one can sketch the root locus shown in Figure 3.24.
Padé Approximation
For a computer-based generation of root locus plots for time delay systems, the method
just presented is not very efficient and a different approach is used. It is based on an
approximation of the term e−Td s by a rational function that was proposed by Padé and is
therefore called Padé approximation. The idea is to develop both e−Td s and the rational
function into a series and match a suitable number of terms. We have
(Td s)2 (Td s)3
e−Td s = 1 − Td s + − + ...
2! 3!
and choosing a first order rational function
β1 Td s + β0
= β0 + (β1 − β0 α1 )Td s + (. . .)(Td s)2 + . . .
α1 Td s + 1
values α1 , β0 and β1 can be obtained by comparing the coefficients of both series. Because
the rational function has polynomials of degree one, this is a first order Padé Approxi-
mation. If the polynomials have degree n the Padé Approximation is said to be of order
n.

Smith Predictor
One way of designing a controller for a time delay system is suggested in Figure 3.25. This
control scheme was proposed by O.J.M. Smith in 1958 and is known as a Smith predictor.
A controller C0 (s) is first designed for a plant model G0 (s) without time delay. The
controller C(s) that is actually implemented is then obtained by feedback around C0 (s)
as shown inside the dashed box in Figure 3.25. What makes a Smith predictor useful is
the fact that the closed-loop transfer function from r to y is
Y (s) C0 (s)G0 (s)
= e−Td s .
R(s) 1 + C0 (s)G0 (s)
This is shown in Exercise 3.8. The right hand side is the closed-loop transfer function from
r to y of the system shown in Figure 3.26, which is therefore an equivalent representation
of the closed-loop system shown in Figure 3.25. The controller C0 (s) can be designed as
if there was no time delay, using standard methods.
104 3. Root Locus Design

r(t) e(t) u(t) y(t)


C0 (s) G0 (s)e−Td s
− −

1 − e−Td s G0 (s)

Figure 3.25: Block diagram of a feedback loop with Smith predictor

r(t) y(t)
C0 (s) G0 (s) e−Td s

Figure 3.26: Equivalent representation of the feedback system in Figure 3.25

Note that the inner feedback loop in Figure 3.25 is feeding back the simulated response
of the delayed system in order to cancel the actual delayed plant response. The controller
C0 (s) sees only the simulated response of the plant without time delay, which is also fed
back in the inner loop. It is clear that this strategy depends heavily on the accuracy of the
plant model. Implementing a Smith predictor requires the simulation of the time delay.
This can be easily done if the controller is implemented digitally; if it is implemented on
analog hardware a Padé approximation has to be used.
Exercises for Chapter 3

Exercises
Problem 3.1

Sketch the root locus for KP > 0 of a feedback loop with open loop transfer function
s+4
L(s) = KP
s3 + 8s2 + 7s
Problem 3.2

The transfer functions of the plant and the controller in a feedback loop are given by
1 s+2
G(s) = , C(s) = KP
(s + 1)(s2+ 4s + 5) s+3

a) Sketch the root locus for KP > 0. Calculate the angles of departure.

b) Using your result from (a), show that the closed loop is not stable for all KP > 0.

c) Where can a real zero be placed to stabilize the closed loop system for all KP > 0?

d) Sketch the root locus for KP < 0. Calculate the angles of departure.

Problem 3.3

Consider the control loop shown in Figure 3.27. A valve with transfer function
3
G(s) =
s(s + 1)
is to be controlled using a controller with transfer function
!
TD s
C(s) = KP 1+ .
1 + γTD s

a) What kind of controller is C(s)?


106 Exercises

r(t) e(t) u(t) y(t)


C(s) G(s)

Figure 3.27: Closed loop

b) The given form of the controller C(s) is not practical for the root locus design.
Therefore bring it in the form
!
s−z
C(s) = K .
s−p

c) Sketch the root locus for γ = 0.5 and TD = 0.5


Assume that you want to design a controller that fulfills certain constraints. Can
this easily be done by the use of the sketch of the root locus?

Problem 3.4

This is the computer-based extension of Problem 3.3. In the following you will use the
Matlab function rltool to design a controller C(s).

a) By tuning the parameters K, z and p, try to achieve the fastest possible rise time,
subject to the constraints that in response to a unit step reference input the control
signal satisfies |u(t)| < 1 at all times, and that the peak overshoot is less than 5 %.

b) What is the steady state error with your controller designed in (a), when the refer-
ence input to be tracked is a unit ramp r(t) = tσ(t)? Use the prefilter block F to
realize a ramp input from the given step reference.

Hints for the use of the rltool:

• Enter the transfer function G of the plant in Matlab.

• Call rltool(G).

• Right-click the root locus plot → Edit Compensator to enter a controller.

• Use New Plot → New Step in the toolstrip in order to generate a step response.

Matlab file: Problem3_4_PDControlledValve.mlx


Exercises for Chapter 3 107

Problem 3.5

Given are the system G(s) from problem 3.3 and a possible controller C1 (s):
3 s + 1.5
G(s) = C1 (s) =
s(s + 1) s + 4.5

In the following a controller C2 (s) shall be designed which has the form
s−z
C2 (s) =
s−p
and is used in series with the controller C1 (s). The steady state error should reduce to
less than or equal to 0.1 in response to a unit ramp input. However, the compensator
should be designed such that the shape of the step response achieved with the controller
C1 (s) is not changed significantly.

a) Calculate the minimal static gain of the controller C2 (s).

b) Where should the pole and zero of C2 (s) be placed in order to not effect the rest of
the root locus plot?

c) Simulate the response to both step and ramp inputs with the help of the provided
Matlab file.

Matlab file: Problem3_5_RlocusLeadLag.mlx

Problem 3.6

This is a complement to Problem 2.8 d). Consider the control system shown in Figure 3.28,
where disturbances are acting on plant input and output. Assume initially that feedback
is used and the transfer function of the plant is given by
1
G(s) = .
s(s + 1)
In the following you will use the Matlab function rltool to design a controller

s2 + as + b
C(s) = K
s2 + p 2
with a sinusoidal disturbance du (t) = sin(ωd t)σ(t) where r(t) = dy (t) = 0 and ωd = 1 rad/s.

a) Where should the zeros of C(s) be placed in order to have a stable closed-loop
system?
Hint: Sketch the root locus of the system. Note that there are two possibilities for
choosing the zeros:
108 Exercises

du (t) dy (t)
r(t) e(t) u(t) y(t)
C(s) G(s)

Figure 3.28: Control loop with disturbances

• The complex pole pair moves to the zeros or


• The real pole pair moves to the zeros.

b) For which values of K are the two cases stable?

c) Now design the controller C(s) by tuning the parameters K, a, b and p. Try to
meet the following constraints:

• limt→∞ e(t) = 0
• |e(t)| < 0.05 for t ≥ 10s
• max |e(t)| < 0.25.

Hint: Use a Simulink model to plot the answer to the sinus disturbance.

Simulink file: Model_Problem3_6_InternalModelPrincipleSin.slx

Problem 3.7

a) Compute the first order Padé approximation of a pure time delay e−Td s , by com-
paring the first three coefficients of the series expansions
x x2
e−x = 1 − + − ...
1! 2!

β1 x + β0 f 0 (0) f 00 (0) 2
f (x) = = f (0) + x+ x + ...
α1 x + 1 1! 2!

b) Consider a plant that can be modelled as a first order system with time delay
K0
G(s) = e−Td s .
T0 s + 1
For K0 = T0 = 1, compare the step responses of the system when the following
approximations are used:

– e−Td s ≈ 1 − Td s
– e−Td s ≈ 1/(1 + Td s)
Exercises for Chapter 3 109

– first order Padé approximation


– second order Padé approximation
– third order Padé approximation

For Td = 0.1, Use Matlab to plot all step responses obtained with these approx-
imations together with the exact step response in one diagram. Repeat this for
Td = 0.2, 0.5, 1.

c∗ ) For the time delays Td = 0.1 and Td = 1, compare the root locus plots resulting from
the different approximations in (b) when proportional feedback is used to control
the system. There is no Matlab command for plotting the exact root locus; use
the phase condition for s = σ + jω, ω = 0.5, 1.0, 1.5, 2.0 instead to check the
accuracy of the approximated root locus plots.

Matlab file: Problem3_7_TimeDelayPadeCompare.mlx

Problem 3.8

a) Given the block diagramm of a feedback loop with Smith predictor in Figure 3.29.

i) Calculate the transfer function Gyr (s) from r to y. The dashed box can be
taken as the controller C(s).
ii) Calculate the transfer function C(s) = Gue (s) from e to u.
iii) Simplify the transfer function Gyr (s) from r to y with your result from part
ii).

b) Simplify the given block diagramm in Figure 3.29 with your results from part iii).

r(t) e(t) u(t) y(t)


C0 (s) G0 (s)e−Td s
− −

1 − e−Td s G0 (s)

Figure 3.29: Block diagram of a feedback loop with Smith predictor

Problem 3.9
110 Exercises

A plant with transfer function


1
G(s) = e−s
s+1
is to be controlled. The design objectives are

• fast tracking of step changes of the reference input with zero steady state error

• peak overshoot less than 5%

• |u(t)| < 5 at all times.

a) Use rltool to design a controller of the form


s−z
C0 (s) = KP
s
that meets the design specifications for the plant model without time delay.

b) Simulate the response of the system with time delay when the controller obtained
in a) is used. For that purpose, use a second order Padé approximation. Try to
modify the controller with the help of rltool such that the specifications are met.
Repeat your design with a 4th order Padé approximation.

Hint: See Exercise 3.7 for further detail on the Padé approximation.

c) Use the controller obtained in a) together with a Smith predictor to control the
plant, and simulate the step response. Compare the results with the one of b).

Matlab file: Problem3_9_RLToolSmithPredictor.mlx

Problem 3.10

Consider again the control problem of Exercise 3.9. Assume now that a step disturbance
is acting on the plant input, as shown in Figure 3.30.

a) Simulate the response of the closed-loop system with the controller of Exercise 3.9.c,
when a step disturbance d(t) = σ(t − 5) and a unit step reference input r(t) = σ(t)
are applied. Compare the speed with which the disturbance is suppressed, with
that of tracking the reference step input.

b) Simulate the closed-loop response to a reference unit step r(t) = σ(t) (assume
d(t) = 0) when the actual time delay of the plant is Td = 0.8, but the Smith
predictor is designed for Td = 1.

c∗ ) Compute the closed-loop transfer function Gd (s) = Y (s)/D(s) from disturbance


input to controlled output. Explain the effect observed in a).

Matlab file: Problem3.10_RLToolSmithPredictorDist.mlx


3.3. Control of Time Delay Systems 111

C(s)
d(t)

r(t) e(t) u(t) y(t)


C0 (s) G0 (s)e−Td s
− −

1 − e−Td s G0 (s)

Figure 3.30: Control loop with Smith predictor


Chapter 4

Frequency Response Design

4.1 The Frequency Response

The methods most widely used for the design of feedback systems are based on the
frequency response of the plant. The frequency response is the steady state response to
sinusoidal inputs over a range of frequencies. It can be obtained experimentally, and it
can be used for controller design without explicit knowledge of the transfer function of
the plant.
Consider a plant with transfer function G(s) = b(s)/a(s). We assume that G(s) has no
poles in the right half plane, and that we are interested in the steady state response to
sinusoidal inputs
u(t) = sin ωtσ(t).
The Laplace transform of this input is
ω ω
U (s) = 2 = .
s +ω 2 (s + jω)(s − jω)
Therefore
b(s) ω
Y (s) = G(s)U (s) = ·
(s − p1 )(s − p2 ) . . . (s − pn ) (s + jω)(s − jω)
where pi are the plant poles. Expanding the right hand side yields
A Ā B1 Bn
Y (s) = + + + ... +
s + jω s − jω s − p1 s − pn
and in time domain we have
y(t) = Ae−jωt + Āejωt + B1 ep1 t + . . . + Bn epn t .
Because G(s) is stable, the transient response B1 ep1 t + . . . + Bn epn t approaches zero as
t → ∞, thus the steady state response is
y(t) = Ae−jωt + Āejωt . (4.1)
114 4. Frequency Response Design

From the partial fraction expansion we can compute A and Ā as


ω 1
A = G(s) =− G(−jω)
s − jω s=−jω
2j

and
ω 1
Ā = G(s) = G(jω).
s + jω s=jω
2j
We can express G(jω) in polar form

G(jω) = |G(jω)|ejφ(jω)

where
Im G
φ(jω) = arg G(jω) = tan−1
Re G
and we also have
G(−jω) = |G(jω)|e−jφ(jω) .
Substituting these in the expressions for A and Ā gives
1 1
A=− |G|e−jφ , Ā = |G|ejφ .
2j 2j
From (4.1), the steady state response to a sinusoidal is therefore
1 1
y(t) = − |G|e−jφ e−jωt + |G|ejφ ejωt
2j 2j
j(ωt+φ) −j(ωt+φ)
e −e
= |G|
2j
or
y(t) = |G(jω)| sin(ωt + φ(jω)). (4.2)
This shows that the steady state response to a sinusoidal input is again a sinusoid of
the same frequency, but with the amplitude scaled by a gain factor |G(jω)|, and with a
phase shift of φ(jω). If the phase shift is positive, it is called a phase lead , and if it is
negative a phase lag . The significance of the magnitude |G(jω)| and the phase φ(jω) of
the frequency response at a given frequency ω is shown in Figure 4.1.

Example 4.1

Consider the plant shown in Figure 4.2. Substituting jω for s we have


1
G(jω) = .
jω + 1

Rewriting G(jω) as
1 − jω 1 ω
G(jω) = ⇒ Re G = , Im G = −
1 + ω2 1+ω 2 1 + ω2
4.1. The Frequency Response 115

1
u(t)

y(t)
0.5

Amplitude |G|
0
φ

−0.5

−1
−2 0 2 4 6
Time (sec)
Figure 4.1: Magnitude and phase of the frequency response

1
sin ωt s+1 y(t)

Figure 4.2: Response to sinusoidal inputs, Example 4.1

we find magnitude and phase

1
|G(jω)| = √ , φ(jω) = − tan−1 ω.
1 + ω2

The steady state response is therefore

1
y(t) = √ sin(ωt − tan−1 ω). (4.3)
1 + ω2

This equation gives amplitude and phase of the output signal for each frequency ω. For
very high and very low frequencies, the following approximations can be made. If ω  1,
the above expressions for magnitude and phase simplify to

|G(jω)| ≈ 1, φ(jω) ≈ 0o

and if ω  1, we have
1
|G(jω)| ≈ , φ(jω) ≈ −900 .
ω
For ω = 1, the exact values are

1
|G(jω)| = √ = 0.71, φ(jω) = −45o .
2
116 4. Frequency Response Design

For low frequencies, sinusoidal inputs pass the system almost unchanged, whereas at high
frequencies the amplitude decreases proportional to 1/ω and the output has a phase shift
of −90o . This is typical first order low pass behaviour .

Bode Diagram
The information about the frequency response contained in (4.3) can be displayed graph-
ically. The most widely used graphical representation of a frequency response is the Bode
diagram, developed in the Bell laboratories in the 1930s by H. Bode. Magnitude and
phase are plotted versus frequency in two separate plots, where a log scale is used for
magnitude and frequency and a linear scale for the phase. The log scale is useful because
the transfer function is composed of pole and zero factors which can be added graphically:
assume for example
g1 (jω)g2 (jω)
G(jω) = .
g3 (jω)
Using the notation
gi = |gi |ejϕi
this can be written as
|g1 ||g2 | j(ϕ1 +ϕ2 −ϕ3 )
G = |G|ejφ = e
|g3 |
thus
|g1 ||g2 |
|G| = , φ = ϕ1 + ϕ2 − ϕ3 .
|g3 |
|G(jω)|dB

−20 dB/dec
−20

−40

1 10 100 ω (rad/s)
Figure 4.3: Slope of -20dB

The phase of G is the sum of the phase angles of the factors (with a negative sign for pole
factors), and on a log scale we also have
log |G| = log |g1 | + log |g2 | − log |g3 |.
4.1. The Frequency Response 117

It is standard to measure the logarithmic gain log |G| in dB, the definition is

|G|dB = 20 log |G|.

For the above example, the gain approximations expressed in dB are

Frequency ω  1 ω=1 ω1


Gain 0 dB -3 dB -20 dB/dec

The advantage of plotting the frequency in a log scale is that the decreasing gain at high
frequencies appears as a straight line - in the example above with a slope of -20dB/dec;
this follows from
1
|G| = ⇒ log |G| = − log ω.
ω
See Figure 4.3. A Bode plot of this system is shown in Figure 4.4.

0
|G(jω)|dB

−20

−40
0
arg G(jω) (deg)

−45

−90
10−2 10−1 100 101 102
ω (rad/s)
Figure 4.4: Frequency response

The approximation outlined above can be used to sketch the bode plot by hand. The
frequency at which the real part and the imaginary part of the pole factor jω +1 are equal
(i.e. ω = 1), is called the corner frequency . Below the corner frequency, the magnitude
is approximately 0dB and the phase 0o ; above the corner frequency the magnitude falls
off at a rate of -20dB/dec and the phase is approximately −90o . Close to the corner
frequency, this approximation is not accurate, but for the magnitude the inaccuracy is
118 4. Frequency Response Design

at most 3dB. For the phase plot one can draw a tangent from 0o at a fifth of the corner
frequency to −90o at five times the corner frequency to achieve a more accurate sketch
(see Figure 4.5).

0
|G(jω)|dB

−20

−40
0
arg G(jω) (deg)

−45

−90
10−2 10−1 100 101 102
ω (rad/s)
Figure 4.5: Asymptotic approximation of the Bode plot

The log scale for magnitude and frequency makes it easy to sketch a Bode plot for transfer
functions with several poles and zeros: one can use the above method to sketch magnitude
and phase for each pole and zero, and simply add the curves.

Example 4.2

Consider the transfer function


s + 100
G(s) =
.
s+1
Substituting jω for s and normalizing the real part of the zero factor to 1 gives
jω + 100 j ω +1
G(jω) = = 100 100 .
jω + 1 jω + 1
The magnitude in dB is
ω
|G|dB = 20 log 100 + 20 log j + 1 − 20 log |jω + 1|.
100
The first term - the constant gain - is 40dB and independent of the frequency. For the
second and the third term, the corner frequencies are ω = 100 and ω = 1, respectively. For
4.1. The Frequency Response 119

the above approximation, the frequency ranges below, above and between the two corner
frequencies have to be considered. The approximate values in these frequency ranges are
given in the following table:

ω
Frequency 20 log 100 20 log j 100 +1 −20 log |jω + 1|
ω1 40dB 0dB 0dB
100  ω  1 40dB 0dB [-20dB/dec]
ω  100 40dB [+20dB/dec] [-20dB/dec]

Here values in square brackets indicate the slope of the magnitude curve. For the phase,
we have

ω
 
arg G = arg j + 1 − arg(jω + 1)
100
Note that the phase of the constant gain is zero. The approximate values are given in the
following table:

 
ω
Frequency arg j 100 +1 − arg(jω + 1)
ω1 0o 0o
100  ω  1 0o −90o
ω  100 90o −90o

The asymptotic approximations of the three factors of G(jω) are shown in Figure 4.6
together with the exact Bode plot (solid curve).
A pole at the origin indicates the presence of an integrator in the loop. The following
example illustrates this case.

Example 4.3

Consider the transfer function


10
G(s) = .
s(s + 10)
With s = jω we have
10 1
G(jω) = =  .
jω(jω + 10) ω
jω j 10 +1

The magnitude is
ω
|G|dB = −20 log ω − 20 log j +1 ,
10
120 4. Frequency Response Design

40

20
|G(jω)|dB

−20

−40
90
arg G(jω) (deg)

45

−45

−90
10−2 10−1 100 101 102 103 104
ω (rad/s)
Figure 4.6: Bode plot and asymptotic approximation for Example 4.2

and the phase is

ω
 
arg G = − arg(jω) − arg j + 1 .
10

To draw the straight line representing the term -20 log ω in the magnitude plot, we need a
single point on that line: for ω = 1 we obtain 0 dB. The Bode plot of the system together
with the asymptotic approximation is shown in Figure 4.7.

System Type
If the transfer function in the above example is the open loop transfer function in a
feedback system, then the feedback system is a type 1 system, i.e. it can track step
changes in the reference input with zero steady state error. The example illustrates that
the system type can be read off the magnitude plot of the open loop transfer function:
the presence of a factor 1/s is reflected by the slope of -20dB/decade at low frequencies
(this factor may be thought of as having its corner frequency at ω = 0). A type 2 system
has a factor 1/s2 or 1/(jω)2 with a slope of -40dB/decade at low frequencies, because

1
20 log = −40 log ω.
ω2
4.1. The Frequency Response 121

0
|G(jω)|dB

−50

−100
0
arg G(jω) (deg)

−45

−90

−135

−180
10−1 100 101 102 103
ω (rad/s)
Figure 4.7: Bode plot and asymptotic approximation for Example 4.3

The fact that the slope is negative means that the steady state gain is infinite, in contrast
to type 0 systems where the gain is constant at low frequencies. In Figure 4.8 magnitude
plots are sketched for the type 0 system
K
L(jω) =   ,
j ωω1 + 1 j ωω2 + 1

the type 1 system


K
L(jω) =  ,
jω j ωω1 + 1
and the type 2 system
K
L(jω) = .
(jω)2

Rules for Sketching a Bode Plot


In all previous examples, the first step of sketching a Bode plot is to rewrite a given
transfer function
b(s)
G(s) =
a(s)
as     
j ωωz1 + 1 j ωωz2 + 1 . . . j ωzm
ω
+1
G(s) = K  ω    . (4.4)
j ωp1 + 1 j ωωp2 + 1 . . . j ωωpn + 1
122 4. Frequency Response Design

|G(jω)|dB Type 0

20 log K −20 dB/dec

−40 dB/dec

ω1 ω2 ω (rad/s)

|G(jω)|dB Type 1 |G(jω)|dB Type 2


−20 dB/dec
−40 dB/dec
−40 dB/dec

ω1 ω (rad/s) ω (rad/s)

Figure 4.8: Magnitude plots for different system types

If the system has a pole or zero at the origin, a factor jω needs to be included in the
denominator or numerator, respectively. This form is sometimes referred to as Bode form.
Note that not every transfer function can be written in the form (4.4); the following
assumptions have been made:

• all poles and zeros are in the left half plane or at the origin,

• all poles and zeros are real.

Before we discuss systems with complex or right half plane poles and zeros, we summarize
the rules for sketching a Bode plot developed so far. “Sketching” here (and in the exercises)
means asymptotic approximations of the magnitude plot, and a rough indication of phase
increase or decrease, respectively, at corner frequencies.

1. Rewrite the transfer function in the form (4.4); include factors jω if necessary.

2. Sketch magnitude and phase for the low-frequency range. For systems with no pole
at the origin, the magnitude at low frequencies is constant and given by K; the
low-frequency phase is 0o (assuming K > 0, or −180o if K is negative). If the
system has k poles at the origin, the magnitude at low frequencies has slope −k · 20
dB/dec, and the low-frequency phase is −k · 90o .

3. Mark all corner frequencies ωzi and ωpi on the frequency axis. Draw the magnitude
and phase curves moving from low to high frequencies. At a corner frequency
4.1. The Frequency Response 123

associated with a pole, the magnitude slope drops by 20 dB/dec and the phase by
90o , at a corner frequency of a zero, magnitude and phase increase by the same
amounts.

Complex Conjugate Pole Pairs

20
ζ = 0.1
10
ζ = 0.3
|G(jω)|dB

0 ζ = 0.5
ζ = 1.0
−10

−20
0
ζ = 0.1
arg G(jω) (deg)

ζ = 0.3
ζ = 0.5
−90
ζ = 1.0

−180
10−2 10−1 100 101 102
ω (rad/s)
Figure 4.9: Frequency response of second order system with different damping ratios

The previous examples show how to sketch a Bode plot for a transfer function by adding
together asymptotic approximations of the pole and zero factors. However, it was assumed
so far that the poles and zeros are real. To investigate the frequency response of a system
with a complex conjugate pole pair, consider the second order system
K K
G(s) = = 2 .
(s + p)(s + p̄) s + (p + p̄)s + pp̄
In the notation introduced in Section 1.3, this can be written as
K 0 ωn2
G(s) =
s2 + 2ζωn s + ωn2
where ζωn = Re p and ωn = |p|. For simplicity, assume K 0 = 1 and ωn = 1 (see remarks
on the general case ωn 6= 1 in Section 1.3). Substituting jω for s we have
1
G(jω) = .
(jω)2 + j2ζω + 1
124 4. Frequency Response Design

We can again approximate this function for frequencies below and above the corner fre-
quency ω = 1. For low frequencies (ω  1) we obtain

G≈1 ⇒ |G| ≈ 1, φ ≈ 0o

and for high frequencies (ω  1)


1 1
G≈− ⇒ |G| ≈ , φ ≈ −180o .
ω2 ω2
At the corner frequency ω = 1 we have
1 1
G= =
−1 + j2ζ + 1 j2ζ
therefore
1
|G| = , φ = −90o .

This shows that for low damping ratios the frequency response can have large resonant
peaks at the corner frequency, e.g. a damping ratio of ζ = 0.1 leads to a magnitude of
|G| = 5. Bode plots of G(s) for different damping ratios are given in Figure 4.9; this plot
should be compared with Figure 1.15 which shows the effect of the damping ratio on the
step response.

Bandwidth
The first order system in Example 4.1 has a static gain of 0 dB, and at the corner frequency
the gain is reduced to -3 dB. For first order systems
b0
G(s) =
s + a0

y(t) |G(jω)|dB

b0 b0
a0 a0 dB 3 dB

1
a0
t ω b = a0 ω (rad/s)
Figure 4.10: Bandwidth of a first order system

it is generally true that the gain at the corner frequency is reduced by 3 dB, compared with
the static gain, see Figure 4.10. For systems with finite static gain, the lowest frequency
4.1. The Frequency Response 125

at which the gain drops 3 dB from its static value is referred to as the bandwidth ωb of
the system. The bandwidth is a measure of the systems ability to reproduce input signals
without significant distortion. If we let τ = 1/a0 denote the time constant of the above
first order system, we see that the bandwidth is the inverse of the time constant, i.e.
1
ωb = (4.5)
τ

For the second order system shown in Figure 4.9, we see that the bandwidth ωb (the
frequency at which the magnitude curve intersects the -3 dB line) depends on the damping
ratio, but lies for all damping ratios shown between 0.5 and 1.5. For a damping ratio of
0.5, the bandwidth is approximately equal to 1. Considering that the natural frequency
ωn of this system is 1, we conclude that for a general second order system
K
G(s) =
s2 + 2ζωn s + ωn2
we can take
ωb ≈ ωn (4.6)
as a reasonable approximation of the bandwidth. Using the estimate (1.29) of the rise
time tr of a second order system, we obtain the approximate relationship
1.7
ωb ≈ (4.7)
tr

between rise time and bandwidth.


The above discussion of first and second order systems suggests that the bandwidth is
roughly proportional to the speed of response of a system. This is also true for higher
order systems; in particular for systems that are dominated by a complex pole pair the
approximate relationship (4.7) will still be valid.

Unstable and Non-Minimum-Phase Systems


All examples discussed so far in this chapter have in common that both the poles and the
zeros are located in the left half plane (or at the origin in the case of an integrator). This
is a property shared by many, but not all systems that arise in practical control problems.
We shall now consider the frequency response of systems that have poles and/or zeros in
the right half plane, and we begin with the following definition.

Definition 4.1

A system with transfer function G(s) is called minimum phase if it has no pole or zero in
the right half plane.

This definition implies that a minimum-phase system is stable; in addition, there must
be no zeros in the right half plane. Conversely, a system is non-minimum phase if it has
126 4. Frequency Response Design

right half plane zeros or poles or both. Note that for unstable systems, the frequency
response is only a theoretical - but very useful - concept; it is not possible in practice
to measure it by applying sinusoidal inputs. Moreover, when we evaluate G(jω) for
an unstable system, we encounter a problem concering the region of convergence of the
Laplace transform as discussed in Section 1.2: The transfer function G(s) of a system is
the Laplace transform of its impulse response g(t), and if the system has right half plane
poles, the region of convergence of the Laplace transform does not include the imaginary
axis. It is however possible to extend the region of convergence to include the whole
complex plane by a technique known as analytic continuation, as shown in Exercise 4.5,
thus making it possible to evaluate G(jω) for unstable transfer functions.
Two examples will illustrate the difference it makes for the frequency response whether a
system is minimum or non-minimum phase.

Example 4.4

As an example of a minimum phase system, we take the system from Example 4.1
1 1
G(s) = , G(jω) = .
s+1 jω + 1
The asymptotic approximation for low and high frequencies was discussed earlier and is
repeated here for convenience

ω1: G≈1 ⇒ |G| ≈ 1, φ ≈ 0o

and
1 1 1
ω1: G≈ = −j ⇒ |G| ≈ , φ ≈ −90o .
jω ω ω

Example 4.5

As an example of a system that does not have the minimum-phase property, we take the
system with transfer function
1 1
G(s) = , G(jω) =
s−1 jω − 1

At low frequencies we have

ω1: G ≈ −1 ⇒ |G| ≈ 1, φ ≈ −180o

and at high frequencies


1 1 1
ω1: G≈ = −j ⇒ |G| ≈ , φ ≈ −90o .
jω ω ω
4.1. The Frequency Response 127

|G(jω)|dB |G(jω)|dB

0 0

1 ω (rad/s) 1 ω (rad/s)

arg G(jω) (deg) arg G(jω) (deg)


0 0

−90 −90

−180 −180
1 ω (rad/s) 1 ω (rad/s)
minimum phase non-minimum phase

Figure 4.11: Minimum and non-minimum phase system

Both frequency responses are shown in Figure 4.11. The magnitude plots are the same,
but the phase of the non-minimum phase system is below that of the minimum phase
system at low frequencies.
Bode’s Gain-Phase Theorem
For minimum phase systems, Bode showed that the phase of the frequency response is
uniquely determined by its magnitude. A simplified version of this result - the form in
which it is used for practical applications - is this:

If the magnitude plot has a constant slope of n· 20 dB/dec in a given frequency


range (constant means for practical purposes more than a decade away from a
corner frequency), then the phase angle in that frequency range is φ = n · 90o .

Minimum phase systems derive their name from the fact that the phase lag given by
the above rule is the smallest possible phase lag. The phase of a non-minimum phase
system is in some frequency range below that of the minimum phase system with the
same magnitude plot (as in Figure 4.11 at low frequencies).
Figure 4.12 shows an example of the phase gain relationship of a minimum phase system.
The above discussion shows that when sketching the Bode plot of a non-minimum phase
system, the rules for sketching the magnitude can be applied as before, but the rules for
sketching the phase must be modified: at a corner frequency associated with a right half
128 4. Frequency Response Design

0 dB/dec
|G(jω)|dB −20 dB/dec
−40 db/dec

ω (rad/s)

argG(jω) (deg)
0

−90

−180

ω (rad/s)
Figure 4.12: Gain and phase of minimum phase system

plane pole, the phase increases by 90o , whereas at the corner frequency of a right half
plane zero the phase drops by the same amount. Conversely, when given a Bode plot,
the gain phase relationship can be used to detect the presence of right half plane poles
or zeros. While a drop of the magnitude slope by 20 dB/dec indicates the presence of a
pole, an increase in phase at the same frequency reveals that this pole is in the right half
plane. Similarly, while an increase in magnitude slope indicates the presence of a zero, a
phase decrease at the same frequency shows that the zero is in the right half plane.

4.2 The Nyquist Stability Criterion

In this section we introduce an important test for closed-loop stability, based on the
frequency response of the open-loop system. The method was developed in 1932 by H.
Nyquist, who was studying stability problems of feedback amplifiers in the Bell Labora-
tories. We first present an alternative method of displaying the frequency response of a
system, known as Nyquist plot.

Nyquist Plots
In a Bode plot, magnitude and phase of the response are shown in two separate diagrams.
In a Nyquist plot, the frequency response is displayed in one diagram: the imaginary part
is plotted versus the real part of G(jω), and the frequency ω is taken as a parameter
4.2. The Nyquist Stability Criterion 129

that varies from zero to infinity. Even though negative frequencies do not have a physical
meaning, we will find it useful to extend the frequency axis and let the parameter ω vary
from −∞ to +∞.

|G(jω)|dB Im(G(s))
0 ω = −1
0.5

1 ω (rad/s) 0.5 ω=0


ω=∞
arg G(jω) (deg) φ Re(G(s))
0

−0.5
ω=1
−90
1 ω (rad/s)

Figure 4.13: Bode and Nyquist plot for Example 4.1

To illustrate the idea of a Nyquist plot, we consider again the transfer function

1 1
G(s) = or G(jω) = .
s+1 jω + 1

For ω = 0 we have G = 1, and for ω = ∞ we have G = 0. At the corner frequency ω = 1

1 1−j 1 1
G= = = −j .
1+j 2 2 2

A sketch of the Bode plot of G(s) is shown in the left hand side of Figure 4.13. The
magnitude and phase taken by G(jω) at the frequencies zero and infinity can be read
off the Bode plot as the limits of the magnitude and phase curves infinitely far to the
left and right, respectively. The values of the magnitude are 1 (or 0dB) and 0 (or −∞
dB) and the phase angles are 0o and −90o . At the corner frequency, the magnitude is

1/ 2 (-3dB) and the phase is −45o . The complex values at the frequencies 0, 1 and ∞
are marked in the G(s)-plane in the right half of Figure 4.13. In this way, magnitude
and phase for any frequency can be read off the Bode diagram and plotted as a point in
the G(s)-plane. Doing this for sufficiently many frequencies reveals that the points are
located on a semicircle centered at 1/2; this semicircular plot is the Nyquist plot of G(s)
for positive frequencies.
130 4. Frequency Response Design

Once the Nyquist plot for positive frequencies has been constructed, it can be extended to
include negative frequencies by adding the mirror image across the real axis to the plot;
this follows from
G(−jω) = Ḡ(jω).
The negative frequency part is shown as a dashed curve in Figure 4.13; the complete
Nyquist plot is a circle of radius 0.5 centered at 1/2.

|G(jω)|dB
Im(G(s))
0
ω = −1
0.5

ω=∞
1 ω (rad/s) Re(G(s))
−1 φ
arg G(jω) (deg)
−90 ω=1 −0.5

−180
1 ω (rad/s) ω=0

Figure 4.14: Bode and Nyquist plot for Example 4.2

As a second example, consider


1
G(s) = .
s(s + 1)
Evaluated on the imaginary axis
1 1
G(jω) = =
jω(jω + 1) −ω + jω
2
2
−ω − jω 1 1
= 4 2
=− 2 −j 2
ω +ω ω +1 ω(ω + 1)
We have

ω = 0 : G = −1 − j∞
1 1
ω =1: G=− −j
2 2
ω=∞: G=0

Bode plot and Nyquist plot are shown in Figure 4.14.

The Nyquist Stability Criterion


4.2. The Nyquist Stability Criterion 131

The Nyquist stability criterion is based on Cauchy’s principle; the idea is to use the
contour evaluation of an open-loop transfer function to determine the presence of unstable
closed-loop poles.
Assume we are given a transfer function L(s), say
s−z
L(s) = .
(s − p1 )(s − p2 )
The left side of Figure 4.15 shows the s-plane, and the right side the L(s)-plane, into
which the function L(s) maps its arguments (points in the s-plane). In the s-plane, two
poles and a zero are marked, together with a test point s0 which is moved clockwise along
a closed contour C. We are interested in the change of the phase angle of L(s0 ) when s0 is
moved around the closed contour C. The phase angle of L(s0 ) is the sum of the zero angle
and the negative pole angles indicated in the plot. It is clear that after a full traverse,
the change of the phase angle is zero. The function L(s) maps each point on C into the

Im(s) Im(L(s))
s0

C
Re(s) φ Re(L(s))

L(s0 )

Figure 4.15: Contour evaluation

L(s)-plane, and the point L(s0 ) moves along a closed contour which is the mapping of C
as s0 moves along C. Such a contour is shown in the right half of Figure 4.15, where φ
denotes the phase angle of L(s0 ). This plot also shows that the change of the phase angle
of L(s0 ) after a full traverse is zero, i.e. ∆φ = 0o .
Figure 4.16 shows a different example, where one of the poles of L(s) is enclosed by
C. In this case the phase change of L(s0 ) after a full traverse is not zero: the angle of
the enclosed pole undergoes a change of 360o . If s0 moves clockwise, then L(s0 ) moves
counterclockwise and we have ∆φ = 360o . The closed contour into which C is mapped is
shown in the right half of Figure 4.16; note that this contour must encircle the origin of
the L(s)-plane counterclockwise. If instead of a pole a zero is enclosed, ∆φ = −360o and
L(s0 ) encircles the origin clockwise.
In Figure 4.17 two poles are enclosed, and we have ∆φ = 720o after one traverse along
C. Therefore the mapping of C must encircle the origin of the L(s)-plane two times
counterclockwise.
132 4. Frequency Response Design

Im(s) Im(L(s))
s0

Re(s) φ Re(L(s))

L(s0 )

Figure 4.16: Contour evaluation with one pole enclosed

Im(s) Im(L(s))
s0

Re(s) φ Re(L(s))

L(s0 )
Figure 4.17: Contour evaluation with two poles enclosed

These examples illustrate Cauchy’s principle: the evaluation of L(s) along a closed contour
C encircles the origin only if C encircles poles or zeros of L(s). Because C is oriented
clockwise, an enclosed zero causes a clockwise encirclement of the origin, and an enclosed
pole a counterclockwise encirclement.
Nyquist’s idea was to use this fact to detect the presence of closed-loop poles in the right
half plane. For this purpose, the contour C must be chosen such that it encloses the whole
right half plane. Such a contour, known as the Nyquist path , is shown in Figure 4.18.
It consists of the imaginary axis and an infinitely large semicircle that encloses the right
half plane. Now consider the feedback system shown in Figure 4.19. The above idea will
now be applied to check the closed-loop stability of this system.
The closed-loop characteristic equation is

1 + KL(s) = 0

and an unstable zero of 1 + KL(s) indicates an unstable closed-loop pole. We could


evaluate this function along the Nyquist path; but before we proceed we make the following
simplification. Instead of evaluating 1+KL(s) and checking encirclements of the origin, we
4.2. The Nyquist Stability Criterion 133

Im(s)

Re(s)

−∞

Figure 4.18: Nyquist path

can equivalently evaluate the open-loop transfer function KL(s) and check encirclements
of the point -1, see Figure 4.20.

r(t) e(t) y(t)


KL(s)

Figure 4.19: Closed-loop system

To evaluate KL(s) along the Nyquist path means to evaluate along the jω-axis from
ω = −∞ to ω = ∞, and along the infinite arc. However, the transfer functions of physical
systems are zero at infinite frequency, and the infinite arc in the s-plane is mapped into
the origin of the L(s)-plane (as can be seen in Figure 4.13 and 4.14). Therefore, KL(s)
needs to be evaluated only from −j∞ to j∞, and this yields precisely the Nyquist plot
of KL(s) for positive and negative frequencies, as for example shown in Figure 4.13 and
4.14.
Note that the number of encirclements of the point -1 is not only influenced by the zeros
but also by poles of 1 + KL(s) in the right half plane. So far, we have established the
following:

If the right half plane contains a zero or a pole of 1 + KL(s), the Nyquist plot
of KL(s) encircles the point -1 (clockwise or counterclockwise, respectively).

To distinguish between poles and zeros of the function 1 + KL(s), we write L(s) =
b(s)/a(s) to obtain
a(s) + Kb(s)
1 + KL(s) = .
a(s)
This shows that
134 4. Frequency Response Design

Im(KL(s)) Im(1 + KL(s))

−1 Re(KL(s)) Re(1 + KL(s))

Figure 4.20: Shifting the evaluation of 1 + KL(s) to the left

• the zeros of the function 1 + KL(s) are the closed-loop poles, and

• the poles of the function 1 + KL(s) are the open-loop poles (the poles of L(s)).

We assume that if the open loop transfer function is unstable, the number of unstable poles
is known, so that these can be taken into account when checking closed-loop stability. If we
let Z denote the number of unstable closed-loop poles, and P the number of unstable open-
loop poles, then the above considerations show that the Nyquist plot of KL(s) encircles
N = Z − P times clockwise the point -1 (a negative value of N indicates counterclockwise
encirclements). Closed-loop stability can now be checked as follows.

Nyquist Stability Test

1) Draw the Nyquist plot of KL(s)

2) Determine the number N of clockwise encirclements of the point -1 and the number
P of unstable open-loop poles

3) The closed-loop system has Z = N + P unstable poles

If the open loop transfer function is stable, then the closed-loop system is stable if the
Nyquist plot does not encircle the point -1. If KL(s) has one unstable pole, then closed-
loop stability requires one counterclockwise encirclement of -1, etc.

Example 4.6

Consider
K
KL(s) = .
s+1
The Nyquist plot is shown in Figure 4.21, it is a circle centered at K/2 with radius K/2
(the Nyquist plot of Figure 4.13 scaled by the factor K). Because P = 0 (no unstable
4.2. The Nyquist Stability Criterion 135

poles of L(s)) and N = 0 (no encirclements of -1) for all K > 0, the closed-loop system
is stable for all positive K.

Im(KL(s))

−1 0.5K K Re(KL(s))

Figure 4.21: Nyquist stability test for Example 4.1

Example 4.7

The Nyquist plot of the open-loop transfer function


K
KL(s) =
s(s + 1)

is obtained by scaling the Nyquist plot of Figure 4.14 by the factor K. Apparently, that
Nyquist plot is not a closed contour even though it is the mapping of the Nyquist path,
which is a closed contour. This is due to the fact that the Nyquist path as shown in
Figure 4.18 passes through a pole of L(s) at the origin. At a pole, the value of the
transfer function is infinite, and the Nyqist plot is in fact closed by an arc at infinity. To
see why this is so, consider the path shown in Figure 4.22. The Nyquist path has been
modified to avoid the pole at the origin by making an infinitely small detour to the right.
It is this small arc that is mapped into an arc at infinity, and to determine whether or
not the Nyquist plot encircles the point -1, it is important to know whether this infinite
arc encloses the right half plane or the left half plane. On the small arc in Figure 4.22,
three test points si , i = 1, 2, 3, are marked. Because the radius of the semicircle around
the origin is infinitely small, the magnitude of KL(si ) is infinite, and the phase angles -
determined by the pole angles - are

arg KL(s1 ) = +90o , arg KL(s2 ) = 0o , arg KL(s3 ) = −90o

This shows that the Nyquist plot is completed by an infinite arc to the right, as shown in
Figure 4.23. Because the modified Nyquist path does not encircle the pole at the origin,
136 4. Frequency Response Design

Im(s)

s3

s2
−1 Re(s)
s1

−∞

Figure 4.22: Modified Nyquist path

we have P = 0, and from Figure 4.23 we conclude that there is no encirclement of -1 for
any positive value of K (i.e. N = 0), and therefore the closed-loop system is stable for
any positive gain.

KL(s1 ) Im(KL(s))

KL(s2 )
−K −1 Re(KL(s))

KL(s3 )

Figure 4.23: Nyquist stability test for Example 4.7

Example 4.8

Consider the transfer function


10 10
L(s) = = .
(s + 1)3 s3 + 3s2 + 3s + 1
4.2. The Nyquist Stability Criterion 137

Substituting jω for s gives


10
L(jω) = .
(jω)3 + 3(jω)2 + 3jω + 1
At low frequencies ω  1 we have

L ≈ 10 ⇒ |L| ≈ 10, φ ≈ 0o

and at high frequencies


10 10 10 10
L≈ = = j ⇒ |L| ≈ , φ ≈ −270o .
(jω)3 −jω 3 ω3 ω3
The Bode plot of this function is shown in Figure 4.24. The points where the phase plot
intersects the −90o line and the −180o line have been marked as A and B, respectively.
The Nyquist plot of the same function is shown in Figure 4.25. The points marked A

20
|L(jω)|dB

−20

−40

0
arg L(jω) (deg)

A
−90

B
−180

−270
10−1 100 101
ω (rad/s)
Figure 4.24: Bode plot of L(s) for Example 4.8

and B in the Bode plot correspond to the points where the Nyquist plot intersects the
negative imaginary and the negative real axis, respectively. The phase angle of −270o
that can be read off the Bode plot at high frequencies (where the magnitude approaches
zero) indicates that the Nyquist plot approaches the origin from above. The Nyquist plot
of L(s) (which is the same as the Nyquist plot of KL(s) when K = 1) encircles the critical
point -1 two times clockwise (N = 2). Because L(s) has no unstable poles (P = 0), this
implies that the closed-loop system has two unstable poles when K = 1.
138 8 4. Frequency Response Design

8
K=1
4
K = 0.5
4
Im(L(s))

Im(L(s))
−4 0
−8
−3 0 3 6 9
Re(L(s))
−4
Figure 4.25: Nyquist plot of L(s) for Example 4.8

Figure 4.25 shows the Nyquist plot with K = 0.5. The Nyquist plot of L(s) has been
“scaled down” to an extent that the critical point -1 is not encircled anymore. With this
gain, the closed-loop system is stable.
−8
−3 0
To determine closed-loop stability for different values of K, it is convenient to use the 3
Nyquist plot of L(s) instead of KL(s): the Nyquist plot of KL(s) encircles the point
-1 precisely if the Nyquist plot of L(s) encircles the point −1/K. Therefore closed-loop
stability can be assessed by counting the encirclements of the point −1/K by the Nyquist
Re(L(s)
plot of L(s). Figure 4.25 shows that the Nyquist plot of L(s) crosses the negative real
axis at -1.25, therefore the Nyquist plot of KL(s) does not encircle the critical point -1 if
the gain is less than 0.8, and the closed-loop system is stable for all 0 < K < 0.8.

4.3 Gain and Phase Margin

The last example shows that the Nyquist stability test does not only indicate whether
a closed-loop system is stable, it also gives information about the “distance” from the
stability boundary. Such a measure is called a stability margin, and in this section we in-
troduce two stability margins which play an important role in frequency response analysis
and design: the gain margin and the phase margin. Gain margin and phase margin are
useful when studying systems that behave like the system in the last example, i.e. they
are stable for small gain values and become unstable when the gain is increased beyond
a certain value. Such systems are typical for many practical applications.
4.3. Gain and Phase Margin 139

For an illustration of the stability margins, consider Figure 4.26. It shows part of the
Nyquist plot of the open-loop transfer function L(s) considered in the last example in the
previous section. Because the intersection with the negative real axis (marked B) is to

Im(L(s))

1
GM

−1 B
PM Re(L(s))
φ(ωc )

A ω = ωc

Figure 4.26: Definition of gain and phase margin

the right of the critical point -1, the closed-loop system in Figure 4.19 is stable if K = 1.
Moreover, the gain K can take values up to the inverse of the magnitude of L in point B
before the closed-loop system becomes unstable. This upper bound on K, above which
the closed-loop system becomes unstable, is called the gain margin (GM) of the system.
In a similiar way, the phase margin (PM) is defined as the maximum phase change of
L(s) that the closed-loop system can tolerate before it becomes unstable. A phase shift
means to rotate the Nyquist plot about the origin. The point on the Nyquist plot that
will hit the point -1 can be found by drawing a circle with radius 1 around the origin; in
Figure 4.26 the intersection is marked as point A. The maximum phase shift the system
can tolerate before becoming unstable is precisely the angle of rotation required to move
point A to the point -1, and it is this angle (marked PM) that is referred to as phase
margin.
The values of GM and PM can often be read off the Bode diagram, as shown in Figure
4.27. A more detailed discussion of when this is not possible can be found at the end
of this section. The points A and B are the intersection of the magnitude plot with the
0dB line and the intersection of the phase plot with the −180o line, respectively. The
frequency at which the magnitude curve intersects the 0dB-line is called the crossover
frequency ωc . A condition for closed-loop stability is that at the crossover frequency the
phase angle is above −180o , or - equivalently - that at the frequency where the phase is
−180o the magnitude is below 0 dB.
Returning to Example 4.8, we recall that the closed-loop system is stable when K = 0.5.
The Bode plot in Figure 4.28 gives a frequency domain interpretation of the effect of
140 4. Frequency Response Design

|G(jω)|dB

0
A GM
B

ω (rad/s)

arg G(jω)

PM B

−180

ω (rad/s)

Figure 4.27: Phase and gain margin in the Bode plot

reducing the gain: it leads to a lower crossover frequency and - because the phase remains
unchanged - to a positive phase margin and thus to a stable closed-loop system. The
phase margin of 17o is however rather small, the system is still close to instability. Figure
4.29 shows the closed-loop step response for this case; with considerable overshoot and
oscillation such a response would be unacceptable for most applications. A phase margin
of 30o is usually considered to be the minimum required for acceptable transient behaviour.
The root locus for this feedback system is shown in Figure 4.30, where the closed-loop
pole locations for K = 0.5 are marked. The poles are close to the imaginary axis, which
explains the oscillatory step response.
4.3. Gain and Phase Margin 141

|G(jω)|dB 20

−20

−40

0
K=1
arg G(jω) (deg)

K = 0.5
−90

−180
PM = 17◦

−270
10−1 100 101
ω (rad/s)
Figure 4.28: Phase margin with K = 0.5

1.25

1
Amplitude

0.75

0.5

0.25

0
0 10 20 30
Time (sec)
Figure 4.29: Closed-loop step response with K = 0.5

Second Order Approximation


142 4. Frequency Response Design

For a second order system, peak overshoot and oscillation in the transient response are
determined by the damping ratio ζ. A rule of thumb that relates the damping ratio to
the phase margin is
PM
ζ≈
100
In practice, this relation is often used as an approximation even for higher order systems.
This is partly justified when the response is dominated by a pole pair close to the imaginary
axis - as in Figure 4.30, where the “fast” pole to the left has only little effect on the
transient response.

Im(s)

K = 0.5

−1 Re(s)

Figure 4.30: Closed-loop pole locations for K = 0.5 (marked in red)

To illustrate how this rule of thumb can be used for a simple design, assume that the design
objective is to reduce the peak overshoot in the above example to 10%, i.e. Mp = 0.1. This
requires a damping ratio of about 0.6, so we design the system to have a phase margin of

PM ≈ 60o

The crossover frequency and gain required for a phase margin of 60o can be directly read
off the Bode plot, as shown in Figure 4.31. The crossover frequency required for a 60o
phase margin is approximately 0.8. The magnitude at this frequency is 15 dB (≈ 5.6
on a linear scale), so a gain of K ≈ 1/5 makes this frequency the crossover frequency of
KG(s). Figure 4.32 shows the closed-loop step response with K ≈ 1/5.
4.3. Gain and Phase Margin 143

20

0
|G(jω)|dB

|G|dB ≈ 15
−20

−40

−60
0
K=1
arg G(jω) (deg)

K ≈ 1/5
−90

PM = 60◦
−180

−270
10−1 100 101
ω (rad/s)
Figure 4.31: Design for a phase margin of 60o

0.75
Amplitude

0.5

0.25

0
0 4 8 12 16
Time (sec)
Figure 4.32: Step response with 60o phase margin (K ≈ 1/5)

Phase and Gain Margin can not Always be Obtained from Bode Plots
Obtaining phase and gain margins from Bode plots was discussed above for systems that
are stable for small gains and become unstable for large gains. It should be noted that
there are situations were these margins cannot be obtained from the Bode plot: for systems
144 4. Frequency Response Design

that are unstable for small gains, or for non-minimum phase systems, the rules discussed
above do not apply. Higher order systems may have several crossings of the 0 dB or -180
degree line; this requires a re-definition of the margins. A practical example of such a case
is studied in Exercises 4.15-4.17, where a system with a resonant peak is to be controlled.
The rules for asserting stability from gain and phase margins presented here are valid for
minimum phase systems where the magnitude has only a single (decreasing) crossover of
the 0-dB line. If this is not the case, a rigorous assessment of the stability range is always
possible by applying the Nyquist criterion directly.

4.4 Dynamic Compensation

Even though peak overshoot and oscillation have been reduced in the previous example,
the response in Figure 4.32 cannot be considered satisfactory: the steady state value in
the response to a unit step is 0.625, showing a steady state error of almost 40%. The
large steady state error is due to the low gain, which in turn is required for an acceptable
transient response. This problem has been discussed before; a satisfactory solution cannot
be obtained by proportional feedback alone. Additional dynamics - derivative and integral
feedback - have to be introduced. In terms of the root locus, additional zeros and poles are
required to change the shape of the root locus plot. In this section, we review the approach
discussed earlier and introduce a systematic design procedure based on the open-loop
frequency response. We consider feedback systems of the form shown in Figure 4.33, with
plant transfer function G(s) and controller transfer function C(s). The frequency response
on which the design is based is that of the open-loop transfer function L(s) = G(s)C(s).

L(s)

r(t) y(t)
C(s) G(s)

Figure 4.33: Closed-loop system

Closed-Loop Frequency Response


In the previous two sections, properties of the closed-loop system have been inferred from
the open-loop response. Now we consider the desired shape of the closed-loop frequency
response and the relationship between closed-loop and open-loop frequency response. For
tracking reference inputs, the ideal closed-loop transfer function would be Gcl (s) = 1,
which implies perfect tracking Y (s) = R(s) or y(t) = r(t). Such a closed-loop behaviour
4.4. Dynamic Compensation 145

is not physically realizable. This is obvious for high-frequency inputs: no physical system
can - due to inertia - respond arbitrarily fast to changes in the command input. On the
other hand, at low frequencies and in particular in steady state operation, a closed-loop
transfer function equal to or close to 1 would be a reasonable design objective. The
magnitude of a typical closed-loop frequency response is shown in Figure 4.34.

|Gcl (jω)|dB
0
−3

ωb ω (rad/s)

Figure 4.34: Desired closed-loop frequency response

In the low frequency region, the magnitude is approximately 1. At higher frequencies it


starts to roll off at some point; the frequency at which the magnitude is -3 dB is called the
closed-loop bandwidth ωb . The bandwidth represents the frequency range in which the
system is to be operated and where the closed-loop transfer function should be close to 1.
At high frequencies it will be mainly disturbances and measurement noise that will act
on the system. For this reason, the magnitude of the closed-loop response should be close
to 1 within the bandwidth, but roll off rapidly beyond the bandwidth such that noise and
high frequency disturbances are suppressed.
The closed-loop transfer function is

L(s)
Gcl (s) =
1 + L(s)

and its magnitude is


L
|Gcl | = .
1+L
Conditions for the open-loop transfer function L(s) to achieve the desired shape of the
closed-loop response are

ω  ωb : |L|  1 ⇒ |Gcl | ≈ 1

and
ω  ωb : |L|  1 ⇒ |Gcl | ≈ |L|.
The requirement that the open-loop gain be large at low frequencies is a generalization of
the result discussed in Section 2.3: that the steady state gain should be large in order to
146 4. Frequency Response Design

|L(jω)dB | |L(jω)|  1 |L(jω)|  1

ωb ≈ ωc ω (rad/s)
Figure 4.35: Typical open-loop frequency response

achieve a small steady state error. For the steady state error to be zero, the low frequency
gain should have a negative slope, i.e. the system should be of type 1 or higher.
A typical open-loop frequency response is shown in Figure 4.35. It is the response of
L(s) = G(s)C(s), where the plant transfer function G(s) is given, and the controller
transfer function C(s) is the design parameter that can be used to achieve the desired
shape of the closed-loop response.
It is clear from the above requirements (and from Figure 4.35) that the closed-loop band-
width ωb is in general close to the open-loop crossover frequency ωc . In order to achieve
the shape of the closed-loop response in Figure 4.34, one might conclude that the open-
loop response should have a steep negative slope (of say -40 dB/dec or -60 dB/dec) over
all frequencies. This is however impossible because of the phase lag associated with such
a slope, as discussed below.

Roll-Off and Phase Margin


We now return to the open-loop magnitude plot in Figure 4.35: for a small steady state
error and good rejection of high frequency noise, the open loop magnitude should have a
steep roll-off at low as well as at high frequencies. At the crossover frequency however,
the slope is limited by the requirement that for a reasonable phase margin, the phase
must be well above −180o . A constant slope of -40 dB/dec in the region of the crossover
frequency results in a phase margin of zero: the closed-loop system is on the boundary to
instability. For acceptable transient behaviour, the phase margin should be above 30o ; a
desirable phase margin is 90o which requires a constant slope at the crossover frequency
of -20 dB.
4.4. Dynamic Compensation 147

Phase-Lead Compensation
If the phase of the plant transfer function G(s) at the crossover frequency ωc does not
provide a sufficient phase margin, the controller transfer function C(s) can be used to com-
pensate for this phase lag. An additional zero with corner frequency below the crossover
frequency increases the phase angle by 90o . In fact, introducing an additional zero is
equivalent to introducing derivative feedback (see Section 2.2). The transfer function of
a PD controller is
C(s) = KP (1 + TD s).

Defining the corner frequency ωD = 1/TD and substituting jω for s this can be written
as
ω
 
C(jω) = KP 1 + j .
ωD

|C(jω)|dB

20 log KP

ωD ω (rad/s)

arg C(jω) (deg)

90

ωD ω (rad/s)
Figure 4.36: Frequency response of a PD controller

Figure 4.36 shows the frequency response of a PD controller: it achieves the desired phase
increase. However, as discussed in Section 2.2, such a controller is neither physically real-
izable, nor desirable in this form: the 20 dB/dec gain increase above the corner frequency
would make the system extremely sensitive to high frequency noise. An additional pole
at a higher frequency can be introduced to bring the slope of the magnitude curve back
148 4. Frequency Response Design

to zero; this also reduces the phase to 0o above the corner frequency associated with the
pole. The resulting controller is called a phase-lead compensator, its transfer function is
1 + TL s
C(s) = KP (4.8)
1 + αTL s
where α < 1. Introducing the corner frequency ωL = 1/TL , this can be written as
ω
1+j ωL
C(jω) = KP ω .
1+j ωL /α

|C(jω)|dB

20 log KP

ω (rad/s)

arg C(jω)

90◦

φm
0◦

ωL
ωL ωm α ω (rad/s)

Figure 4.37: Frequency response of a phase-lead compensator

Figure 4.37 shows the frequency response of the compensator. The phase maximum is
located at the frequency ωm , the phase angle at ωm depends on the “distance” between the
pole and the zero of the compensator. If the distance is large, say three decades (obtained
by taking α = 0.001), a phase increase of almost 90o can be achieved, however at the
expense of a 60 dB gain increase at high frequencies. The compensator design involves
a trade-off between phase increase and low noise sensitivity, and the distance between
ωL and ωL /α should just be large enough to obtain the desired phase margin, without
unnecessarily increasing the high frequency gain.
4.4. Dynamic Compensation 149

When designing a phase-lead compensator, there are three design parameters to be chosen:
the proportional gain KP , the corner frequency ωL and the parameter α. An exact
relationship between the maximum phase angle φm and the parameter α can be derived
from the Nyquist plot of the compensator. For simplicity, we assume KP = 1 (without
loss of generality, because KP has no effect on the phase).

Im(C(s))

ω = ωm
r
φm ω = 0 ω=∞
1
1 α Re(C(s))
Figure 4.38: Maximum phase lead at ωm

The Nyquist plot for this case is shown in Figure 4.38; it is a semicircle with its position
determined by

ω=0 ⇒ C=1
1
ω=∞ ⇒ C= >1
α
and the fact that the phase for frequencies 0 < ω < ∞ is positive. The point where the
phase attains its maximum φm is marked. The radius of the semicircle is
1 1
 
r= −1
2 α
and we have
r αr
sin φm = =
1+r α + αr
or
1−α
sin φm = .
1+α
Solving for α yields
1 − sin φm
α= . (4.9)
1 + sin φm

When the parameter α has been determined to achieve the desired phase lead φm , the
corner frequency ωL must be chosen such that the phase maximum is located at the
crossover frequency, i.e. ωm should be equal to the crossover frequency. Taking the log
scale of the frequency axis into account, we have
1 ωL
 
log ωm = log ωL + log
2 α
150 4. Frequency Response Design

which can be solved for



ωL = α ωm . (4.10)

Design Procedure for Phase Lead Compensation

We now outline a systematic design procedure for a lead compensator, i.e. a procedure for
choosing the values of KL , α and ωL to meet given design specifications. The procedure
is illustrated with an example: control design for a plant with double integral behaviour
1
G(s) =
s2
such that a specified bandwidth ωb is achieved whith a reasonable phase margin.

Initial Gain KL0

The first step is to choose an initial gain KL0 , based on design specifications for the
bandwidth (speed of response) and/or the steady state accuracy. The gain KL0 is chosen
such that it achieves the desired bandwidth or the desired steady state accuracy in a
purely proportional feedback design, i.e. assuming C(s) = KL0 . If design specifications
for both bandwidth and steady state accuracy are given, one needs to determine the
required gain for either condition and select the larger one. Figure 4.39 shows the Bode
plot of the open-loop plant G(s) (solid) and the magnitude of KL0 G(s) (dashed) required
for achieving a desired bandwidth, assuming ωb ≈ ωc . Note that in this example it is
assumed that the gain needs to be increased to achieve the specification.

Crossover Frequency ωc and the Parameters α and ωL

Choosing the initial gain KL0 determines the crossover frequency ωc . One can then obtain
the phase margin of the uncompensated loop (by checking the open-loop phase at that
frequency in the Bode plot), and determine the desired phase lead φm . With that, we can
from (4.9) calculate the parameter α, and by selecting ωm = ωc we find the frequency ωL
from (4.10). Now we can form an initial controller
1 + j ωωL
C 0 (s) = KL0
1 + j ωLω/α

that places the designed phase lead at ωc . This is illustrated in Figure 4.40. That figure
however also shows an undesired effect of the phase lead compensation: the compensator
zero leads to an increase in the gain above ωL , which in turn results in an increase of the
crossover frequency. In Figure 4.40 the new crossover frequency is denoted by ωc0 . The
phase margin in this example would thus be less than what the compensator was designed
to achieve.
4.4. Dynamic Compensation 151

|L(jω)|dB
G(s)
KL0 G(s)

0 dB

ωb ≈ ωc ω (rad/s)
arg L(jω)
−90◦

−180◦

ωb ≈ ωc ω (rad/s)
Figure 4.39: Bode plot of G(s) and KL0 G(s)

Calculate the Gain KL

To prevent the shift of the crossover frequency, one needs to calculate the gain KL from
KL0 . The gain KL0 was initially chosen to satisfy the condition

KL0 |G(jωc )| = 1 (4.11)

in order to make the frequency ωc the crossover frequency. Using a contoller

1 + j ωωLc
C(s) = KL
1 + j ωLω/α
c

with an adjusted gain KL , the gain condition at the cross-over frequency becomes

1 + j ωωLc
KL |G(jωc )| = 1. (4.12)
1 + j ωLω/α
c

Comparing (4.11) with (4.12), we thus need

KL0 = KL β,

where
1 + j ωωLc
β= .
1 + j ωLω/α
c
152 4. Frequency Response Design

|L(jω)|dB G(s)
KL0 G(s)

α C 0 (s)G(s)

0 dB

ωL ωm ωc0 ω (rad/s)
arg L(jω)
−90◦

−180◦

ωL ωm ωc0 ω (rad/s)
Figure 4.40: Increasing the phase margin


From (4.10) we have ωL = α ωc and thus

1 + j/ α
β= √ ,
1+j α
from which we obtain
q
1
s s
2+α+ α α+1 1
|β| = = = .
1+α α2 + α α
For the feedback loop to have the initially designed crossover frequency ωc , we therefore
need to reduce the initial gain KL0 to

KL = KL0 α. (4.13)

The Bode plot of the open-loop with the final controller C(s) using the adjusted gain KL
is shown in Figure 4.41.
The design procedure can be summarized as follows.

1. Fix an initial controller gain KL0 based on specifications for bandwidth and/or steady
state accuracy; this determines the crossover frequency ωc .

2. From the uncompensated phase at ωc and the desired phase margin, find the required
phase lead φm ; calculate α and ωL from (4.9) and (4.10), respectively.

3. Implement the compensator C(s) with gain KL = KL0 α.
4.4. Dynamic Compensation 153

|L(jω)|dB G(s)
KL0 G(s)
C(s)G(s)

0 dB

√ √
αωm ωm ωm / α ω (rad/s)
arg L(jω)
−90◦

−180◦
√ √
αωm ωm ωm / α ω (rad/s)
Figure 4.41: Adjusted gain

Note that if the initial gain KL0 was chosen to achieve a given steady state accuracy, this
design will end up slightly below the specification because the implemented gain KL is
reduced in step 3. To account for this, one can select KL0 in step 1 to achieve a slightly
higher accuracy than actually required.
Phase-Lag Compensation
Figure 4.42 shows the frequency response of a controller with transfer function
1 + TL s
C(s) = KP (4.14)
1 + αTL s
where α > 1. The only difference to a phase-lead compensator is that α is greater, not
less than 1. As a result, the corner frequency associated with the pole is lower than that
of the zero, and the effect on gain and phase is reversed. Because of the decrease in phase,
such a compensator is called a phase-lag compensator. Phase-lag compensation can be
used to increase the loop gain at low frequencies, or to reduce the gain at high frequencies.
Note that the desired effect of a phase-lag compensator is the change in the loop gain,
whereas the change in phase is an undesired side effect. This is in contrast to phase-lead
compensation, where the phase change is the desired effect and the gain change is an
undesired side-effect.
When designing a phase-lag compensator, care must thus be taken to locate the corner
frequencies well below (or well above) the crossover frequency such that the phase lag
does not reduce the phase margin (see Figure 4.43). It is possible to combine phase-lag
compensation with phase-lead compensation. This can be useful for example when a
154 4. Frequency Response Design

|C(jω)|dB

20 log KP

ω (rad/s)

arg C(jω)

0◦

−90◦

ωL
α
ωL ω (rad/s)

Figure 4.42: Frequency response of a phase-lag compensator

phase-lead design has already been carried out and an acceptable transient behaviour of
the closed loop has been achieved, but the steady state accuracy is still not satisfactory.
A lag compensator can then be added to increase low-frequency gain without destroying
the phase-lead design, see Exercise 4.11.
A Frequency Response Interpretation of PID Control
The review of PD control in this chapter revealed that - seen from a frequency response
point of view - the beneficial effect of PD control that leads to improved transient be-
haviour is the associated phase lead. Improving steady state accuracy, on the other hand,
requires an increase in the low-frequency gain, which will entail a phase lag, as is the
case with phase-lag compensation but also with integral control. It should therefore be
of interest to review the behaviour of PID control loops - as discussed in Chapter 2 - in
terms of their open-loop frequency response.
Thus, consider an ideal PID controller
1
 
C(s) = KP 1 + TD s + (4.15)
TI s
which can be rewritten as
1 1
TI s + TI TD s2 + 1 s2 + TD
s + TD TI
C(s) = KP = KP TD .
TI s s
4.4. Dynamic Compensation 155

|L(jω)|dB

−40 dB/dec

−20 dB/dec
0

ω (rad/s)

arg L(jω)
−90◦

PM
−180◦

ω (rad/s)

Figure 4.43: Increasing the low frequency gain by phase-lag compensation

This controller has two zeros at


s s
1 1 1 1 TI − 4TD
s1,2 = − ± 2
− = − ± .
2TD 4Td TD TI 2TD 4TD2 TI
Note that the controller zeros will be real if TI > 4TD .
To gain further insight, we introduce the following approximation. Using the fact that if
TD  TI (which is often the case) we have 1 + TD /TI ≈ 1, we can write the controller
transfer function (4.15) as
TD 1
 
C(s) ≈ KP 1 + + TD s +
TI TI s
KP TD s 1
 
2
= s+ + TD s +
s TI TI
KP 1
   
= TD s + 1 s + .
s TI
To sketch the frequency response of the controller, we note that
! !
KP ω 1 ω
C(jω) = j +1 j +1 .
s 1/TD TI 1/TI
A sketch of the frequency response is shown in Figure 4.44. It illustrates the different ways
in which a PID controller improves transient behaviour and the steady state accuracy:
the former is achieved by the phase lead resulting from the zero at 1/TD , whereas the
latter comes from the -20 dB/dec slope at low frequencies due to the pole at the origin.
Shown in Figure 4.44 by a dashed line is the frequency response that results when the
156 4. Frequency Response Design

physically not realizable term TD s is replaced by TD s/(1 + γTD s) with a small positive
constant γ as discussed in Chapter 2.

steady
|C(jω)|dB
state
accuracy

1 1 1 1
TI 2TD TD γTD
ω (rad/s)

arg C(jω) transient


behaviour
90◦

0◦

−90◦
ω (rad/s)
Figure 4.44: Frequency response of a PID controller; solid: ideal PID control, dashed:
with extra pole at −1/γTD

The frequency response interpretation of PID control is explored in Exercise 4.13.


Exercises for Chapter 4

Exercises
Problem 4.1

Sketch the Bode plot and the step response of the transfer functions in a) and b). Use
the bandwidth to estimate the speed of response.

a)
100
G(s) =
s + 10
b)
100
G(s) =
(s2 + 0.6s + 1)(s + 10)
c) Sketch the Bode plot of the transfer function
(10 + 100s)(s − 10)
G(s) = 10
s2 + 101s + 100
Use Matlab to verify your sketches.

Problem 4.2

a) Sketch the Bode diagram of a pure time delay, and also the Bode diagram of its first
order Padé approximation. Sketch magnitude and phase over the scaled frequency
ωTd , and mark on the frequency axis the points ωTd = 1 and ωTd = 10.

b) For Td = 1, use Matlab to plot the Bode diagram of the time delay together with
its 1st and 4th order Padé approximations in the frequency range 0.1 ≤ ω ≤ 10.

Matlab file: Problem4_4_BodePlotTimeDelay.mlx

Problem 4.3

Figure 4.45 shows the frequency response of a plant. Determine its transfer function from
the Bode plot.
158 Exercises

50

0
|G(jω)|dB

−50

−100

−150
270
arg G(jω) (deg)

180

90

0
10−3 10−2 10−1 100 101 102 103 104 105
ω (rad/s)
Figure 4.45: Frequency response

Problem 4.4

Assume that the frequency response shown in Figure 4.45 represents the open-loop transfer
function L(s) of the feedback loop in Figure 4.46. What is the steady state error when
r(t) = tσ(t)? How can you determine the velocity error constant Kvel directly from the
Bode diagram?

r(t) e(t) y(t)


L(s)

Figure 4.46: Feedback loop

Problem 4.5 ∗

This problem illustrates how the technique of analytic continuation can be used to extend
the domain of definition of the Laplace transform. Consider the signal

x(t) = Keat σ(t)

and assume that a > 0.


Exercises for Chapter 4 159

a) What is the region of convergence of the Laplace transform


Z ∞ K
X(s) = x(t)e−st dt =
0 s−a

in the sense discussed in Section 1.2? Does it include X(jω) on the imaginary axis?

b) For K = 1, show that for a given point s0 in the complex plane X(s) can be written
as !
1 s − s0 (s − s0 )2
X(s) = − + + + ...
a − s0 (a − s0 )2 (a − s0 )3
by expanding X(s) in a Taylor series about s0 .

c) Use the ratio test to show that the series converges if

|s − s0 | < |a − s0 |

What does this imply about the region of convergence, and in particular about
convergence of X(jω) along the imaginary axis?

Problem 4.6

An integral feedback controller C(s) = KP /s is to be designed for a plant with transfer


function
1000
G(s) =
(s + 1)(s + 100)

a) Sketch the Bode diagram of the open-loop transfer function for KP = 1.

b) With the help of a Nyquist sketch, find the range of values of KP for which the
closed-loop system is stable.
Hint: Sketch only the part of the Nyquist diagram that is required for applying the
Nyquist stability test.

Matlab file: Problem4_6_NyquistCriterion.mlx

Problem 4.7

How would a time delay of Td = 1 change the Bode and Nyquist diagrams of Problem
4.6? What about the phase margin and the gain margin?
Matlab file: Problem4_7_NyquistCriterionTdelay.mlx

Problem 4.8
160 Exercises

Use Matlab to plot the Bode and the Nyquist diagram of the system with transfer
function
(s + 1)2
G(s) = 2
s3
Discuss the stability margins when proportional feedback is used to control this plant.
Matlab file: Problem4_8_BodeNyquistInfGainMargin.mlx

Problem 4.9

Consider a plant with transfer function


10
G(s) =
s(s + 3)

a) Design a lead compensator to achieve a closed-loop bandwidth ωb ≈ 5 and a phase


margin P M = 70o using the procedure given in the lecture notes.

b) Retune the controller with SISO tool so that the magnitude of the control input in
response to a unit step reference input is less than 5 at all times. Find a good trade
off between all design requirements.

Matlab file: Problem4_9_LeadComp.mlx

Problem 4.10 M

In this problem the frequency response of the DC motor will be obtained experimentally
and compared with that of the motor model.

a) Consider the transfer function of the motor from input voltage to angular velocity
obtained in Problem 1.7.f
21
G(s) = .
1.1s + 1
Use Matlab to create the Bode plot for this model. What is the corner frequency?

b) M In the following the frequency response will be obtained experimentally by


applying sinusoidal input signals in a wide frequency range to the motor.

– Use the Simulink template Model_Problem4_10_BodeExp.slx to measure


data for the frequency response experimentally. The input to the motor is
a sinusoidal signal with an amplitude of 2 V and an offset of 3 V, such that
the maximum input of 6 V is not exceeded and the motor does not switch
direction of rotation (to avoid friction effects).
Exercises for Chapter 4 161

Table 4.1: Experimental bode plot


 
rad
ω s
TSim (s) |G| |G|dB Φ (◦ )
10 20
5 20
2 25
Measurements 1 25
0.5 50 ≈ 20.6 ≈ 26.3 ≈ −29.5
0.2 100 ≈ 22.9 ≈ 27.2 ≈ −13.5
0.1 200 ≈ 23.2 ≈ 27.3 ≈ −6.1

– The frequency ω of the sinusoidal input is set to the variable frequency, that
you have to assign in the command window.
– For each frequency ω determine the magnitude and the phase of the sys-
tem. To facilitate that procedure you can use the function Problem4_10_
PlotSinusComparison.m. Enter help Problem4_10_PlotSinusComparison
to use the Matlab help and get more information about this function.
– Use a table like 4.1 to record you measurements. Approximations of some
measurements are already given to save time.

c) M Now the frequency response obtained experimentally will be compared with that
of the model. The focus will be first on the magnitude and then on the phase plots.

i) Display the magnitude and phase information you obtained experimentally in


the form of a Bode plot and compare it to the Bode plot of the motor model.
For this you can use the function Problem4_10_BodeComparison.m.
ii) Concentrate on the magnitude plot first: If the corner frequency of the exper-
imentally obtained Bode plot does not match that of the model, adjust the
model to achieve a better match.
iii) The motor model in the form (1.34) used here was derived from physical prin-
ciples, and the numerical values of the model parameters were obtained exper-
imentally in Problem 1.7. Relate the adjustment that was required in (ii) to
match the corner frequencies to the physical parameters involved. For which
physical parameters is an adjustment meaningful and for which ones not?

d) M Now compare the phase plots of the experimental and the model frequency
response. It was already observed in Problem 1.8 and Problem 2.4 that a time
delay is present in the physical setup; this time delay is about 10 ms. When using
the function Problem4_10_BodeComparison.m, a time delay can be included in the
motor model when comparing it with the experimental results. Check if including a
time delay leads to a better match of the phase drop in simulation and experiment.
162 Exercises

Simulink file: Model_Problem4_10_BodeExp.slx Matlab files:


– Problem4_10_BodeComparison.m
– Problem4_10_PlotSinusComparison.m

Problem 4.11 M

a) Design a lead compensator to control the angle of the DC motor. The control
objectives are

• a rise time of tr = 0.45 s (or faster)


• and a phase margin of (at least) P M = 50°.

Use the transfer function of the motor from input voltage to angular velocity derived
in Problem 1.7.f
21
G(s) = .
1.1s + 1
and add a pole at the origin because the angle rather than the speed is to be
controlled. Use the Matlab command ’sisotool(G)’.

i) Calculate the controller parameters required to meet the objectives. What


peak overshoot can you expect? Check the closed-loop step response of your
design using the appropriate functions of the ’sisotool’.
ii) M Validate your controller from (i) experimentally; use the Simulink "Model_
Problem4_11_Lead.slx" template for this purpose. Apply the reference input
r(t) = 10σ(t) rad. Choose 10 ms as sampling time.
iii) Comment on the steady state error that can be observed in the experiments,
and compare it with that expected from the model. What would be the effect
of a step disturbance at plant input, and which physical effects could here be
interpreted as input disturbances?
iv) M Now use the Simulink template "Model_Problem4_11_LeadDist.slx"
and perform an experiment to measure the steady state error that results from
a step input disturbance. Set the final value of the disturbance step input to
1 rad.

b) In order to reduce the steady state errors resulting from input disturbances, an
additional lag compensator is to be designed.

i) Design an additional lag compensator that can be used in series with the
lead compensator, such that the steady state error is reduced by a factor of
10. Make sure that the lag compensator does not significantly change the
dynamic behaviour achieved by the lead compensator. Use the Matlab com-
mand ’sisotool(G,C)’. Check the closed-loop reference and disturbance step
responses of your design using the appropriate functions of the ’sisotool’.
Exercises for Chapter 4 163

ii) M Use the Simulink template Model_Problem4_11_LeadLag.slx with and


without an additional input disturbance of 1 rad and perform experiments to
validate the effect of the lead-lag compensator.
iii) How quickly does the lead-lag compensator suppress a step input disturbance?
By tuning your lag compensator, how fast can you make the disturbance re-
jection without significantly changing the tracking behaviour?

Simulink files:
– Model_Problem4_11_Lead.slx
– Model_Problem4_11_LeadDist.slx
– Model_Problem4_11_LeadLag.slx

Problem 4.12

Assume that for a given plant a controller is designed as


1 + 0.2s
C0 (s) = Kp
1 + 0.05s

a) Sketch the Bode and the Nyquist plots of the controller C0 (s). Mark the values of
magnitude and phase of C0 (jω) for ω = 0 and ω → ∞ on the Nyquist plot. What
is such a controller called?

b) The controller from (a) is not physically realisable. To implement the controller an
additional pole was added, resulting in a controller with transfer function
1
C(s) = C0 (s)
Tf s + 1

What should Tf be? Sketch the Bode and Nyquist plot of C(s). Mark the values
of magnitude and phase of C(jω) for ω = 0 and ω → ∞.

Problem 4.13

In this problem the heuristically tuned PID controller from Exercise 2.5 is compared with
the lead-lag compensator designed in Exercise 4.11.

a) Plot a Bode diagram of the PID controller that was designed in Exercise 2.5, and also
a Bode diagram of the open-loop transfer function of the corresponding angle control
loop. What effect do changes in TI and TD have on these frequency responses?

b) Compare the Bode diagram of the nominal PID controller with that of the lead-lag
compensator designed in Exercise 4.11. Do the same for the corresponding open-
loop transfer functions.
164 Exercises

c) Compare the simulated closed-loop step responses obtained with the lead-lag com-
pensator and the PID controller, respectively, and comment on your observations.

Problem 4.14

Assume that a lead-lag compensator was designed in order to control the DC motor’s
angle. The motor is modeled by the transfer function
21
G(s) =
1.1s2 + s
and controlled by the lead-lag compensator
1 + TL s s + TLlag 1 + 0.29s s + 0.3125
C(s) = Clead (s)Clag (s) = Kp = 0.56 .
1 + αTL s s + TLlag αlag 1 + 0.061s s + 0.03125
The design goals are a rise time tr = 0.45 s and phase margin P M = 50◦ . The computed
parameters are Kp = 0.56, TL = 0.29, α = 0.21, TLlag = 0.3125 and αlag = 0.1.
The Matlab tool Systune is used in order to tune a similar lead-lag compensator auto-
matically.

a) At first, the given system is to be analyzed.

i) Open the Matlab script "Problem_Systune.m". Complete the lead-lag com-


pensator by adding the lag part with tunable parameters and with initial values
according to the manually computed compensator.
ii) Evaluate section 1) and 2). Plot the system’s response for a step input at
r and the bode diagram of the system’s open-loop response. Determine the
phase margin P M and cross-over frequency ωc . Does the controller reject step
disturbances entering the system at d?
Hints: Access a single transfer function by T(’out’,’in’). Cut the system T
open by adjusting T.Blocks.X.Open.

b) The system T 0 is now supposed to be tuned automatically for better input distur-
bance rejection while maintaining its original performance goals. The tuning goal
for rejection is already defined.

i) Familiarize yourself with the goals TuningGoal.Tracking and TuningGoal.Margins


class in the Matlab help. Add a tuning goal of each kind to section 3) with a
target phase margin P M = 50◦ and an arbitrary small gain margin GM ≈ 5.
Chose appropriate values for the response time and steady state error. The
peak error can be left at its default value.
b.ii) Evaluate section 4). Familiarize with the function Systune in the Matlab
help. What is the effect of the option RandomStart? Try to explain why
the option seems to be necessary with respect to the information returned by
Systune in the command line.
Exercises for Chapter 4 165

c) The tuned system T 1 returned by Systune is to be compared to the manually tuned


lead-lag compensator.

i) Plot the step responses for the inputs r and d for both systems T 0 and T 1.
What is the tuned system’s rise time?
ii) Plot the bode diagram of the tuned system. Are the requirements for phase
margin and response time met?

Problem 4.15

Figure 4.47 shows the frequency response of a plant with the transfer function
100
G(s) = .
s(s2 + s + 1000)

a) Is the open-loop plant G(s) stable?

b) Sketch the Nyquist plot for both

i) positive frequencies; mark the points A, B and the point C where ω → ∞ and
ii) negative frequencies.

c) How is the Nyquist plot closed at infinity?


166 Exercises

0
see zoom below
|G(jω)|dB

−50

−100

−90
arg G(jω) (deg)

−135

−180

−225

−270
100 101 102 103
ω (rad/s)

−20 B
|G(jω)|dB

A
−40

−60

−90
arg G(jω) (deg)

−135

−180

−225

−270
10 20 30 40 50 60 70 80
ω (rad/s)
Figure 4.47: Frequency response of G(s)
Exercises for Chapter 4 167

Problem 4.16

Consider the closed-loop system in Figure 4.48 with the transfer function G(s) from
Problem 4.15 and C(s) = KP .

r(t) e(t) u(t) y(t)


C(s) G(s)

Figure 4.48: Feedback loop

a) Considering your answer from Problem 4.15 (b) and (c), find the range of values of
KP for which the closed-loop system is stable.

b) How can one determine from the Bode diagram in Problem 4.15 whether the loop
is stable?

c) Sketch the root locus plot and explain your answer to part (a).

Problem 4.17

Consider the closed-loop system in Figure 4.49 with the transfer function

s + 10
G(s) = 10000 · .
s2 (s2 + 0.2s + 10000)

r(t) e(t) u(t) y(t)


C(s) G(s)

Figure 4.49: Feedback loop

a) Sketch the Bode diagram of the transfer function G(s).

b) Determine a gain KP with C(s) = KP such that a closed-loop bandwidth of


ωb = 1 rad/s is achieved. Is the closed-loop system stable for C(s) = KP ?

c) Determine a phase lead compensator C(s) = C1 (s) such that a closed-loop phase
margin of P M = 60° is achieved without affecting the intended closed-loop band-
width from b).
168 4. Frequency Response Design

d) Determine approximately the gain of the controller C1 (s) at ω = 100 rad/s. What
follows for the stability of the closed loop? Give reasons.
K2
e) With the help of a compensator C2 (s) = s+a the gain of L(s) = G(s)C1 (s)C2 (s) is to
be decreased by 20 dB at ω = 100 rad/s without affecting significantly the intended
closed-loop bandwidth from b). Determine the parameters K2 and a of C2 . What
is the consequence regarding the closed-loop system?
Chapter 5

A Brief Look at Digital Control

5.1 Digital Control

All controllers discussed so far were modelled by differential equations or transfer func-
tions. These representations imply that the input and output signals of such controllers
are continuous-time signals, i.e. they are defined on the whole time axis. From an im-
plementation point of view, this assumes that controllers are implemented using analog
electronic devices. Today, most controllers are implemented digitally - the control law is
realized as code on a microprocessor. Microprocessors cannot handle continuous-time sig-
nals directly, they can only process sequences of numbers - these are called discrete-time
signals. In this chapter we will give a brief introduction to the topic of digital control.

C(s)

e(t) u(t)
r(t) D(z) zoh G(s) y(t)
- T

Figure 5.1: Continuous-time controller design

The block diagram in Figure 5.1 shows the structure of a control loop with a digital
controller. The plant - represented by the transfer function G(s) - has continuous-time
input and output signals. An analog-to-digital (A/D) converter takes samples of the
control error e(t) repeatedly every T seconds, where T is the sampling period, and converts
the sampled values into binary numbers. A control algorithm - denoted by D(z) - takes the
sampled control error as input and generates a sequence of values, which is then converted
into a continuous-time control signal u(t) by a digital-to-analog (D/A) converter and a
zero order hold (zoh) element. We assume that the operation of the A/D and D/A
170 5. A Brief Look at Digital Control

converters and of the sample and hold devices are synchronized. The components inside
the dashed box in Figure 5.1 together form a digital controller.
The operation of a digital controller involves two types of discretization: a discretization
of time, and a discretization of signal values due to the conversion into binary numbers
with finite word length. In this chapter we will concentrate on the consequences of the
discretization of time. We will assume that the resolution is sufficiently high such that
quantization effects can be neglected.

e(t) e(kT ) Difference u(kT ) D/A u(t)


A/D
T equations hold

e(t) e(kT ) u(kT ) u(t)

t kT kT t

Figure 5.2: Continuous-time and discrete-time signals in the loop

The conversion between continuous-time and discrete-time signals is shown again in more
detail in Figure 5.2. The signals entering and leaving the controller are continuous-time
signals, they represent plant input u(t) and output y(t). The control algorithm itself
operates on discrete-time signals, i.e. sequences of numbers u(kT ) and e(kT ), which are
the values of the continuous-time plant input and output sampled at time instants t = kT ,
where k = 0, 1, . . .

Difference Equations
The block labelled “difference equations” in Figure 5.2 represents the dynamic behaviour
of the controller. The input to this block is the sequence of numbers e(kT ), and the output
is the sequence of numbers u(kT ), where k = 0, 1, . . . The factor T in the time argument
reflects the fact that these sequences are generated by sampling continuous-time signals
every T seconds. The processor that generates the control action is only sequentially
processing incoming numbers - the sampling period itself has no effect on the sequence
of numbers that is produced as output. (We assume however that the sampling period
is longer than the computation time required for generating the next output value). We
will sometimes use a simplified notation and write y(k), e(k) and u(k) instead of y(kT ),
e(kT ) and u(kT ), but we will return to the latter notation when we are interested in the
interaction between discrete-time signals and continuous-time systems. Formally we let
5.1. Digital Control 171

the integer variable k run from −∞ to +∞, but - similar to our treatment of continuous-
time systems - we will assume that all signals x(k) satisfy

x(k) = 0, k < 0.

A linear difference equation has the form

y(k) + a1 y(k − 1) + . . . + an y(k − n) = b0 u(k) + b1 u(k − 1) + . . . + bn u(k − n) (5.1)

If b0 6= 0 the output y(k) at time k depends on the input u(k) at the same time - the
system responds instantaneously. Physical systems cannot do this, and when a discrete-
time model is used to represent a physical plant we will usually assume b0 = 0. However,
models with b0 6= 0 are used as an approximation - e.g. for controllers - when the response
is fast compared with the sampling period.
A comment is also in order about the number of samples involved in the above difference
equation. The integer n is used to denote the number of past input and output samples
that have an effect on the present value of the output - equation (5.1) is called a nth order
difference equation. In general, the number of past input samples and output samples
that determine the present output need not be the same, in that case we let n denote the
larger one of these values and set the coefficients that are not needed to zero.

Example 5.1

The use of difference equations for describing discrete-time dynamic behaviour is now
illustrated with an example. Thus, consider a system governed by

y(k) + 0.5y(k − 1) = u(k − 1) (5.2)

and assume that the input signal is u(k) = σ(k), where σ(k) is the discrete-time unit step
function
(
1, k≥0
σ(k) = (5.3)
0, k<0

Because input and output are zero for negative times we have y(0) = 0. The solution for
k > 0 is obtained by computing

y(k) = −0.5y(k − 1) + u(k − 1)

successively, this yields


172 5. A Brief Look at Digital Control

k u(k) y(k)
0 1 0
1 1 1
2 1 0.5
3 1 0.75
4 1 0.625
5 1 0.6875
... ... ...

The output is oscillating and appears to converge towards a value between 0.625 and
0.6875. If the difference equation (5.2) is changed to

y(k) − 0.5y(k − 1) = u(k − 1) (5.4)

we have to solve
y(k) = 0.5y(k − 1) + u(k − 1)
yielding

k u(k) y(k)
0 1 0
1 1 1
2 1 1.5
3 1 1.75
4 1 1.875
5 1 1.9375
... ... ...

Now the solution is monotonically increasing and appears to converge to a value around
2.

Digital Implementation of PID Control - Tustin approximation


We will now consider a digital implementation of a PID control law
1
 
U (s) = C(s)E(s) = KP 1+ + TD s E(s)
TI s
or in time domain
1 Zt
 
u(t) = KP e(t) + e(τ )dτ + TD ė(t) .
TI 0

We assume that a continuous-time PID controller C(s) has been designed that meets the
design specifications. The task is then to find a difference equation such that the system
5.1. Digital Control 173

in Figure 5.2 - which is a continuous-time system due to the presence of the sampler
and the hold - approximates C(s) sufficiently well so that the design specifications are
also met with a digital controller. There are various ways of constructing discrete-time
approximations of continuous-time transfer functions; here we will use a method known
as Tustin approximation.
We begin with the discrete-time approximation of one of the basic building blocks of the
PID controller, an integrator. Thus, consider a pure integral controller
Z t
u(t) = e(τ )dτ. (5.5)
0

At time t = kT + T we have
Z kT +T Z kT Z kT +T
u(kT + T ) = e(τ )dτ = e(τ )dτ + e(τ )dτ
0 0 kT

or Z kT +T
u(kT + T ) = u(kT ) + e(τ )dτ.
kT

e(t)

kT − T kT t
Figure 5.3: Sampling an integrator

The second term on the right hand side represents the area under e(t) marked in Figure
5.3. The Tustin method approximates the function e(t) between the last two samples by
a straight line. This yields the difference equation
T
u(kT + T ) = u(kT ) + (e(kT ) + e(kT + T )) (5.6)
2
which approximates the relationship (5.5).

Forward Shift Operator and Discrete-Time Transfer Functions


Working with discrete-time systems can be considerably simplified when difference equa-
tions are transformed into frequency domain - just as the Laplace transform simplifies
working with continuous-time systems. Here we will introduce a discrete-time equivalent
174 5. A Brief Look at Digital Control

to the Laplace transform simply by defining a forward shift operator z as its complex
variable: if X(z) is the transform of the discrete-time signal x(kT ), then zX(z) is the
transform of x(kT +T ). Similarly, z −1 X(z) is the transform of x(kT −T ). The underlying
idea is that of the z-transform, which will be studied in the course Control Systems 2.
Here we will use the shift operator and discrete-time transfer functions only as computa-
tional tools when working with difference equations; the results will then be transformed
back into the discrete time domain.
Applying the transformation defined above to the difference equation (5.6) for u(kT )
yields
T
zU (z) = U (z) + (E(z) + zE(z))
2
or
T
(z − 1)U (z) = (z + 1)E(z).
2
We can then define the discrete-time transfer function from e to u as
U (z) T z+1
= ·
E(z) 2 z−1
This is a discrete-time approximation of the continuous-time transfer function
C(s) = 1/s.
Next we consider the building block of derivative action, a differentiator

u(t) = ė(t).

Here the role of u and e are reversed compared with integration. Exchanging u and e in
(5.6) yields
T
e(kT + T ) = e(kT ) + (u(kT ) + u(kT + T ))
2
which in frequency domain leads to
U (z) 2 z−1
=
E(z) T z+1
This is a discrete-time approximation of the continuous-time transfer function
C(s) = s.
The proportional term u(t) = KP e(t) becomes in discrete time

u(kT ) = KP e(kT )

or
U (z) = KP E(z).
Combining these terms, we obtain the discrete-time approximation of a PID control law
U (z) T z + 1 2Td z − 1
 
D(z) = = KP 1 + · + ·
E(z) 2TI z − 1 T z+1
5.1. Digital Control 175

which can be transformed back into a difference equation in e(kT ) and u(kT ).
The construction of a discrete-time PID controller shows that, more generally, making
the substitution
2 1 − z −1
s= · (5.7)
T 1 + z −1
in every term of a controller transfer function C(s) that contains s, yields a discrete-
time transfer function D(z) that is based on the above trapezoidal approximation of an
integral.

Static Gain
To see how the static gain of a discrete-time system with transfer function D(z) can be
determined, consider the difference equation

y(k) + a1 y(k − 1) + . . . + an y(k − n) = b0 u(k) + b1 u(k − 1) + . . . + bn u(k − n).

In steady state, the signals u(k) and y(k) are constant, i.e.

u(k) = u(k − 1) = u(k − 2) = . . . = ū, y(k) = y(k − 1) = y(k − 2) = . . . = ȳ.

Thus, in steady state we have

ȳ + a1 ȳ + . . . + an ȳ = b0 ū + b1 ū + . . . + bn ū

or
(1 + a1 + . . . + an )ȳ = (b0 + b1 + . . . + bn )ū.
The static gain of this system is therefore
ȳ b0 + b1 + . . . + bn
= .
ū 1 + a1 . . . + an
In terms of the discrete-time transfer function
b0 + b1 z −1 + . . . + bn z −n b0 z n + b1 z n−1 + . . . + bn
D(z) = =
1 + a1 z −1 + . . . + an z −n z n + a1 z n−1 + . . . + an
the static gain is given by D(1).

Example 5.1 (continued)

Returning to Example 5.1, we have


z −1 1
G(z) = =
1 + 0.5z −1 z + 0.5
and thus G(1) = 0.67. For the system in (5.4) we obtain
1
G(z) =
z − 0.5
176 5. A Brief Look at Digital Control

u
u(kT )

Continuous control u(t)

Average u(t) Control from D/A

1 2 3 4 5 6 7 8 kT
Figure 5.4: Introduction of a time delay through the hold operation

and a static gain G(1) = 2, confirming our guess from the recursive solution.

Choice of Sampling Frequency


If a discrete-time controller D(z) is implemented in the control system in Figure 5.1, the
value of the control signal u(t) is held constant by the zero order hold block connected
to the controller output until the next value is available, so that the continuous-time
control input consists of steps as shown in Figure 5.2. Due to the fact that physical
systems have a limited bandwidth, the effect of this control input on the plant will have
the same effect as a low-pass filtered version of this step-shaped signal. This is illustrated
in Figure 5.4, where it can be seen that the hold operation introduces an effective time-
delay of approximately T /2. Thus, while the idea was to approximate the behaviour of
the continuous-time controller C(s) by a discrete-time controller, the discretized controller
D(z) is actually emulating the effect of a controller

T 2/T
C̃(s) ≈ C(s)e− 2 s ≈ C(s) .
s + 2/T

Taking this time delay into account when designing the continuous-time controller gives a
reasonable prediction of the effect of the zero-order hold when the sampling rate is slower
than 20ωb . To keep this effect small, the sampling frequency ωs = 2π/T should be much
higher than the system bandwidth ωb - experience suggests that the sampling frequency
should be at least 20 ∼ 30ωb . This point is illustrated in Exercise 5.2.
Exercises for Chapter 5

Exercises
Problem 5.1

The lead compensator designed in Exercise 4.9 is to be implemented digitally.


s+1
C(s) = 4
s+6

a) Find a difference equation that approximates the dynamic behaviour of the con-
troller when input and output are sampled with sampling period T . For this pur-
pose, use the Tustin approximation to determine a discrete-time transfer function
D(z).

b) Compare the static gain of the controller C(s) with that of its discrete-time approx-
imation D(z).

c) Use your result from a) to compute a discrete-time approximation of the controller


designed in Exercise 4.9 with sampling period T = 0.1 s. Check your result with
the Matlab function c2d (use the option ‘tustin’).

Matlab file: Problem5_1_TustinApprox.mlx

Problem 5.2

Simulate the step response of the closed-loop system in Exercise 4.9 both with a continuous-
time and a sampled-data controller.

a) Compare the step responses obtained with continuous-time and sampled-data con-
troller when T = 0.1 s.

b) Repeat the comparison with T = 0.01 s. Explain the effect of the sampling rate on
the dynamic behaviour of the closed-loop system.
178 Exercises

c) Repeat the comparison with T = 0.1 s, but replace the plant model G(s) with
G(s)e−T /2 when using the continuous-time controller.
(Hint: Note that you cannot simulate the time delay directly.)

Matlab file: Problem5_2_TustinSimulation.mlx


Simulink files:
– Model_Problem5_2_TustinSimulation_C.slx
– Model_Problem5_2_TustinSimulation_D.slx

Problem 5.3 M

In this problem the effect of undersampling on the performance of a digital control loop
is investigated experimentally. Consider again the transfer function of the DC motor
21
G(s) = .
1.1s2 + s

from input voltage to shaft angle, that was obtained in Problem 2.3a).

a) Convert the transfer function of the lead compensator designed in Problem 4.11a)
into a transfer function of a discrete-time system with the help of the Matlab func-
tion c2d (use the option ’tustin’). Use three different sampling times T0 = 10 ms,
T1 = 30 ms and T2 = 100 ms.

b) Build Simulink models and simulate four closed-loop step responses: one with the
continuous-time controller and three using discrete-time controllers with sampling
times T0 , T1 and T2 , respectively. Use in each case the continuous-time model of the
motor given above. Set the final value of the reference step to 2π rad, and compare
the responses.
Hint: You can place all control loops into a single Simulink diagram and just
replace the continous-time controller with the respective discrete-time counterpart
(use the ’discrete transfer function’ block and also set the correct sampling
time in its properties).

c) Simulate the closed-loop step response with the continuous controller as in b), but
replace the plant model G(s) with
Ti
G(s)e− 2 s

where Ti should correspond to the sampling time. Compare the result with the step
responses obtained by using the discretized controllers in b). Use the Simulink
template for comparing the different sampling times.
5.1. Digital Control 179

d) M Use the given Simulink templates to verify the results from b) and c) experi-
mentally.

Simulink files:
– Model_Problem5_3_Sampling10ms.slx
– Model_Problem5_3_Sampling30ms.slx
– Model_Problem5_3_Sampling100ms.slx
– Model_Problem5_3_SimLeadContinuousDiscreteComparison.slx
Appendix A

Solutions to Exercises
182 Solutions

A.1 Solutions for Chapter 1

Problem 1.1 (Laplace transformation)

We have for a unit ramp signal x(t) = tσ(t)


Z ∞ Z ∞
L[tσ(t)] = tσ(t)e−st dt = te−st dt
0 0

and using integration by parts

1 −st ∞ Z ∞ 1 −st
L[tσ(t)] = − e t − − e 1 dt
s 0 0 s

1 1 1
= 0 − 0 + − 2 e−st = 0 − (− 2 ) = 2 .
s 0 s s

This result can also be found in the Laplace Table 1.1.


Problem 1.2 (Convolution Theorem)

From
Zt
x1 (t) ∗ x2 (t) = x1 (τ )x2 (t − τ )dτ
0

we obtain

Z∞ " Zt #
L[x1 (t) ∗ x2 (t)] = x1 (τ )x2 (t − τ )dτ e−st dt
0 0

Z Z t

= x1 (τ )x2 (t − τ )e−st dτ dt.


0 0

Now the order of integration is changed. The effect of this change is shown in Figure A.1.
The left hand side of the figure shows the integration order as given above: the inner
integral is with constant t over τ , and the outer integral over t from 0 to ∞. Integration
over the same area can be obtained with exchanged order of integration: first integrate
with constant τ over t from τ to ∞ and then over τ from 0 to ∞.
Thus we obtain

Z∞ Z∞
L[x1 (t) ∗ x2 (t)] = x1 (τ )x2 (t − τ )e−st dtdτ
0 τ
Solutions for Chapter 1 183

R∞ Rt R∞ R∞
f (t, τ )dτ dt f (t, τ )dtdτ
t 0 0 t=τ t 0 τ t=τ

t′ Rt′ R∞
f (t′ , τ )dτ f (t, τ ′ )dt
0 τ′

0 τ 0 τ′ τ
Figure A.1: Bode plot and step response of the system in (b)

By including the factor e−sτ esτ and substituting λ = t − τ the convolution integral can
be expressed as
Z∞ Z∞
L[x1 (t) ∗ x2 (t)] = x1 (τ )x2 (t − τ )e−st e−sτ esτ dtdτ
0 τ
Z∞ Z∞
= x1 (τ )e−sτ x2 (t − τ )e−s(t−τ ) dtdτ
0 τ
Z∞ Z∞
= x1 (τ )e−sτ x2 (λ)e−sλ dλdτ
0 0
Z∞ Z∞
−sτ
= x1 (τ )e dτ x2 (λ)e−sλ dλ
0 0

= X1 (s)X2 (s).

Note that from t = λ + τ follows dt = dλ, and for t = τ the lower bound of the integral
becomes λ = 0.
Problem 1.3 (Step response 1st order differential equation)

a) Apply the Laplace transformation to obtain


Y (s) b0
sY (s) + a0 Y (s) = b0 U (s) ⇒ G(s) = =
U (s) s + a0
With U (s) = 1/s the transformed step response is then
b0
Y (s) = G(s)U (s) = ,
s(s + a0 )
and can be transformed into time domain by expansion into partial fractions
A B
Y (s) = + with the residues
s + a0 s
184 Solutions

b0 −b0 b0 b0
A= · (s + a0 ) = ; B= ·s =
s(s + a0 ) s=−a0
a0 s(s + a0 ) s=0
a0
The partial fractions are then transformed back
! !
−b0 /a0 b0 /a0 b0 b0 b0
Y (s) = + ⇒ y(t) = − e−a0 t + σ(t) = 1 − e−a0 t σ(t)
s + a0 s a0 a0 a0

b) The sketch can be obtained by the superposition of the two terms. See Figure A.2.

y(t)

b0
a0

1 t
τ= a0

- ab00
Figure A.2: Step response of first order system

c) The slope is calculated as ẏ(t) = b0 e−a0 t ⇒ ẏ(0) = b0 .

d) From the tangent with slope b0 and the static gain ks = b0 /a0 one obtains the time
constant τ = 1/a0 .

e) See (b)

Matlab file: Sol_Problem1_3_1stOrderStepResponse.mlx


Problem 1.4 (Step response 2nd order differential equation)

a) From

ÿ(t) + 3ẏ(t) + 2y(t) = 2u(t) ⇐⇒ s2 Y (s) + 3sY (s) + 2Y (s) = 2U (s)

we have
Y (s) 2 2
G(s) = = 2 = .
U (s) s + 3s + 2 (s + 1)(s + 2)
Solutions for Chapter 1 185

The transformed step response Y (s) is

2 A B C
Y (s) = G(s)U (s) = = + + with residues
s(s + 1)(s + 2) s s+1 s+2

2 2 2
A= = 1; B= = −2; C= =1
(s + 1)(s + 2) s=0
s(s + 2) s=−1
s(s + 1) s=−2

Thus
1 2 1
Y (s) = − + ⇒ (1 − 2e−t + e−2t )σ(t)
s s+1 s+2
b) The sketch can be obtained by the superposition of the three signals. See Figure A.3.

0
yi (t)

−1 1σ(t)
−2e−t σ(t)
e−2t σ(t)
Superposition
−2
0 2 4 6 8 10
Time (sec)
Figure A.3: Step response of second order system

c) Both, the static gain of the system and the speed of the response can be changed
by varying the parameters. There can even be an oscillation if the poles become
complex. The relevant Matlab commands and the step response can be found in
"Sol_Problem1_4_2ndOrderStepResponse.mlx".
186 Solutions

Problem 1.5 (Modelling the DC motor)

h iT
a) Choosing the state vector x = θ̇ i , one obtains

dθ̇ bv Km
= − θ̇ + i
dt J J
di Kg R 1
= − θ̇ − i + v
dt L L L
and thus
− bJv KJm
" # " #
0 h i
A= ; b= ; c= 1 0 ; d=0
− KLg − R
L
1
L

b) Substituting the state-space model from Task 1.5.a) in (1.17) yields


#−1 " # Km
bv
− KJm
"
h i s+ J
0 JL
G(s) = 1 0 Kg =
s+ R 1
 
bv R Km Kg +bv R
L L L s2 + J
+ L
s+ JL

c) If the angle shaft and not the angular velocity is the output of the system, the
transfer function is modifed to
KM
1 JL
Gθ (s) = G(s) = bv R 2 Km Kg +bv R
s 3
s + ( J + L )s + JL
s
because the shaft angle θ(t) can be obtained by simply integrating the angular
velocity θ̇(t), which
h
in Laplace
i
domain is done by multiplying by 1s . A possible new
state vector is θ θ̇ i and the corresponding matrices of the state-space model
are    
0 1 0 0 h i
bv Km 
   
A = 0 − J

J 
; b =  0
 
; c = 1 0 0 ; d=0
Kg R 1
0 − L −L L

which implies x˙1 = θ̇ = x2

Problem 1.6 (Simplify the System of the DC motor)

a) Follows directly from substituting L = 0 and bv = 0.

b) The equations

T = Km i and eb = Kg θ̇

lead then to

Kg = Km =: K.
Solutions for Chapter 1 187

Problem 1.7 (Identifying the real coefficients of the DC motor)

a) By repeating step input experiments using different final values for the input step
and reading out the final angular velocity values, Table A.1 can be obtained.

Table A.1: Experimental data for identifying the motor constant Km

Quantity Values
v (V) 1 2 3 4 5 6
θ̇ = Ω (rad/s) 14 36.5 58 80 102 124

A plot of the angular velocity θ̇ over the voltage v is shown in Figure A.4. When
using the linear basic fitting tool (Tools → Basic Fitting) (see Figure A.4), one
obtains the linear approximation
1 R
y = 22x − 7.8 for the equation θ̇ = ·v− · i,
Km Km
which means that
1 rad Vs
= 22 ⇒ Km ≈ 0.0455 .
Km Vs rad

y = 22 · x − 7.8
Angular velocity θ̇ (rad/s)

100

50

Experimental Points
Linear interpolation
0
1 2 3 4 5 6
Voltage v (V)
Figure A.4: left: Basic Fitting Tool, right: linear curve fitting on the behaviour between
v and θ̇

Note that the constant term is negative due to the friction. If the applied voltage is
too small to overcome the friction, the motor does not move. An idealized plot of
188 Solutions

velocity over voltage is shown in Figure A.5. The offset that can be seen in this plot
has been compensated in the Simulink motor block. Since the friction depends on
various parameters like the motor temperature, this offset does however not always
compensate the friction perfectly.

10
Angular velocity (rad/s)

−5

−10
−0.5 −0.25 0 0.25 0.5
Voltage (V)
Figure A.5: Idealised plot of angular velocity over voltage

b) The unit of the static gain is rad


Vs
. To obtain the static gain experimentally, one can
apply an input step signal to the plant and determine the final value of the step
response. Because of friction one obtains better results when applying large steps.
The response to a step from 0 V to 6 V is shown in Figure A.6.
The final value is about 124 rad/s, therefore the static gain is
124 rad rad
K0 = ≈ 21 .
6 Vs Vs

c) From (1.33) we have K0 = 1/K where K = Kg = Km . One thus obtains


1 Vs
Km = ≈ 0.0476 .
K0 rad
This confirms the result obtained in a).

d) Equation (1.35) can be rewritten as

v = R · i + Km · θ̇.

For θ̇ = 0 this describes a linear relationship between i and v with the unknown
resistance R as the slope. By manually stopping the motor such that θ̇ = 0, and
Solutions for Chapter 1 189

125

Angular velocity (rad/s) 100

75

50

25

0
0 2 4 6 8 10
Time (sec)
Figure A.6: Step response of the DC motor

Table A.2: Experimental data for identifying the unknown resistance R as the slope

Quantity Values
v (V) 1 2 3 4 5 6
i (A) 0.03 0.055 0.11 0.143 0.184 0.235

by changing the output from "Velocity" to "Electric Current" this linear relationship
can be experimentally verified. Experimental data showing v over i can be seen in
Figure A.7 together with a linear approximation. The slope and thus the resistance
is given by R ≈ 24 Ω. See Table A.2.

6 y = 24 · x + 0.47
Voltage v (V)

2 Experimental Points
Linear interpolation
0 0.05 0.1 0.15 0.2 0.25
Current i (A)
Figure A.7: Linear curve fitting for the plot of v over i
190 Solutions

e) From Figure 1.13 the time constant of a first order system can be determined as
the time at which 63.2% of its steady state value k are reached in response to a
step input. Measurements should give a value τ ≈ 1.1 s for the time constant. It
is advisable to conduct several experiments and take the mean value of the time
constants.

f) From τ = JR/K 2 and using the previously obtained parameter values


1 V
R ≈ 24 Ω and K =
21 rad
the inertia can be calculated as J = K τ /R = 1.0417 × 10−4 kg m2 . The resulting
2

transfer function is
21
G(s) = .
1.1 · s + 1
Simulink files:
• Model_Problem1_7_OpenLoopRampInput.slx
• Model_Problem1_7_OpenLoopStepInput.slx
Problem 1.8 (Validation of the transfer function)

Figure A.8 shows a Simulink model that generates the response to input steps from 0
to 6 volts, assuming that the model parameters K0 and tau are properly defined in the
Matlab workspace with the values determined in Problem 1.7. You can either use the
To Workspace block as a sink to for plotting in Matlab or you can use the given scope
to compare the results of the simulation and the experiment.

Figure A.8: Simulink model of the DC motor

Figure A.9 shows a plot of the step response of the simulation together with the step
response of the real DC motor. In this case we conclude that our simplifications were
reasonable.
Simulink file: Model_Problem1_8_ParameterTest.slx
Solutions for Chapter 1 191

125

Angular velocity (rad/s) 100

75

50

25
Simulation data
0 Experimental data
0 2 4 6 8 10
Time (sec)
Figure A.9: Simulated and experimental step response of the DC motor

Problem 1.9 (State-space form)

a) Defining x1 = y, x2 = ẏ, from ÿ(t) = −3ẏ(t) − 2y(t) + 2u(t) follows


" # " # " #" # " #
x˙1 ẏ 0 1 x1 0
= = + u
x˙2 ÿ −2 −3 x2 2
" #
h i x1
y = x1 = 1 0 + 0u
x2

b) In Matlab a ss model can be generated using the ss function and simulated using
step or lsim as shown in the Matlab script:
G2 = ss([0 1; -2 -3], [0; 2], [1 0], 0);
step(G2)
The step response is shown in A.10

Matlab file: Sol_Problem1_9_DifferentialEquationWithoutInitialConditions.mlx


192 Solutions

0.75
Amplitude

0.5

0.25

0 1 2 3 4 5 6
Time (sec)
Figure A.10: Step response of second order system

Problem 1.10 (2nd order differential equation with non-zero initial values)

The solution of the differential equation with non-zero initial values can be obtained as
the superposition of the free response yfree (t) and the forced response yforced (t)

y(t) = yfree (t) + yforced (t).

The free response describes the system behaviour, resulting from the initial values. The
forced response is the system response to external excitation. For the calculation of the
solution y(t) first the homogeneous solution will be derived and then, by variation of the
constants, the particular solution.
The solution can be obtained using the formulae for Laplace transformation of derivatives

L[ẏ(t)] = sY (s) − y(0)


L[ÿ(t)] = s2 Y (s) − sy(0) − ẏ(0) .

From

ÿ(t) + 3ẏ(t) + 2y(t) = 0 ⇐⇒ s2 Y (s) − 3s + 3(sY (s) − 3) + 2Y (s) = 0

we have
3s + 9 A B
Y (s) = = +
(s + 1)(s + 2) s+2 s+1
Solutions for Chapter 1 193

with residues
3s + 9 3s + 9
A= = −3 ; B= =6.
(s + 1) s=−2
(s + 2) s=−1

Thus
3 6  
Y (s) = − + ⇒ yfree = − 3e−2t + 6e−t σ(t)
s+2 s+1
Which will give the same result as above
 
y(t) = yfree (t) + yforced (t) = 2 + 2e−t − e−2t σ(t) .

The responses are shown in Figure A.11.

3
yfree (t)
yforced (t)
yfree (t) + yforced (t)
2
yi (t)

0
0 2 4 6 8
Time (sec)
Figure A.11: Free and forced response

Matlab file:
"Sol_Problem1_10_DifferentialEquationWithInitialConditions.mlx".
Problem 1.11 (Steady state and transient response of 2nd order system)

a) The step response y(t) can be divided into a stationary and a transient component

y(t) = yst (t) + ytr (t); yst (t) = Aσ(t); ytr (t) = Bep1 t + Cep2 t

From the partial fraction expansion

b0 b0 b0
A= ; B= ; C=
p1 p 2 p1 (p1 − p2 ) p2 (p2 − p1 )
194 Solutions

b) For t = 0+ the exponential terms as well as the step function σ(t) take the value 1;
thus we obtain
y(0+ ) = A + B + C = 0
c) From the initial value theorem follows
1 b0
y(0+ ) = lim s · · 2 =0
s→∞ s s + a1 s + a0
d) The derivation in the time domain corresponds to a multiplication with s in the
frequency domain. With the initial value theorem we obtain
1 b0
ẏ(0+ ) = lim s · s · · 2 =0
s→∞ s s + a1 s + a0
This shows that the step resposne of a second order system without any zeros
contains a horizontal slope at y(0+ ).

e) Again, the derivation in the time domain corresponds to a multiplication with s in


the frequency domain.
1 b1 s + b 0
ẏ(0+ ) = s→∞
lim s · s · · 2 = b1
s s + a1 s + a0
This shows that the steepness at y(0+ ) of the step resposne of a second order system
depends on the location of the zero.

Problem 1.12 (RC model)

a) Using the complex impedance of the capacitor


UC (s) 1
ZC (s) = =
IC (s) sC
one can compute the transfer function
1
Vo (s) ZC (s) sC 1
G(s) = = = 1 =
Vi (s) R + ZC (s) R + sC RCs + 1
The step response is h(t) = 1 − e−t/RC . For the period 0 ≤ t ≤  the input signal
is identical to a step with magnitude 1/, thus the output signal is
!
1
vo (t) = 1 − e−t/RC for 0 ≤ t ≤ 

After time t >  the input signal is again 0 and the output signal corresponds to
the free response to the system with initial condition
vo (t) = vo,max e−(t−)/RC for t ≥ 
where the initial values are computed as the final values of the first interval
1
vo,max = (1 − e−/RC )

The output signal is shown in Figure A.12.
Solutions for Chapter 1 195

 
1 v0,max = 1/ 1 − e−/RC

0.75

vo (t)
0.5

0.25

0 2 4 6 8
Time (sec)
Figure A.12: Output voltage vo,

b) By further reducing  the rectangular pulse will become shorter and higher, but
maintaining a constant area of 1. In the limit as  → 0 it converges to a unit
impulse and one might expect that the output voltage is the impulse response.
To show this, calculate the limit as  → 0 of the initial values of the second interval
1  1  1
vo,max = lim (1 − e− RC ) = lim (1 − 1 + + ···) =
→0  →0  RC RC
Thus
1 − t
vo (t) = e RC = g(t)
RC
which is exactly the impulse response. The results are shown in Figure A.13.

2
Impulse response
 in {1, 0.5, 0.1, 0.05 }
1.5
Amplitude

0.5

0
0 1 2 3
Time (sec)
Figure A.13: Responses to rectangular pulses and impulse response

Matlab file: "Sol_Problem1_12_RCModel.mlx"


196 Solutions

Problem 1.13 (Discrete convolution)


The Matlab code Problem1_13_DiscreteConvolution.mlx produces the plots shown
in Figures A.14 and A.15

20
Voltage u(t)

10

6  = 0.2
Velocity Ω(t)

4  = 0.1
 = 0.05
2
Impulse
0
−2
0 0.25 0.5 0.75 1 1.25
Time (sec)
Figure A.14: Block pulse responses and impulse response for part (a)

 = 0.2
Angular Velocity Ω(t)

1  = 0.1
 = 0.05
Impulse
0.5

0 0.5 1 1.5 2
Time (sec)
Figure A.15: Response to a trapezoidal input signal for part (b)

Problem 1.14 (Mass-spring-damper system)

a) The transfer function of the mass-spring-damper system is


1
1 m
Gs (s) = 2
= 2 b k
ms + bs + k s + m
s + m
Solutions for Chapter 1 197

where m is the mass, b is the damping coefficient and k is the spring constant. From
the standard form of a second order system one can easily find
q
k
natural frequency: ωn = m
static gain: K = k1
b
damping: ζ= m
= √b
2ωn 2 mk

b) The Matlab file "Sol_Problem1_14_MassSpringDamperSystem.mlx" can be used


to simulate the step response, see Figure A.16.

0.03

0.02
y (t)

0.01

0
0 0.5 1 1.5 2 2.5 3
Time (sec)
Figure A.16: Responses to rectangular pulses and impulse response

c) From the standard form of a second order system and from the transfer function of
an RLC system derived from (1.2), it is straightforward to compute
s s
1 R/L R C
ωn = ; K = 1; ζ= =
LC 2ωn 2 L

Problem 1.15 (Peak overshoot)

a) Rewriting the Laplace transform H(s) of the step response in the shown way and
using the Laplace transformation Table 1.1 one derives
!
−1 ζωn −ζωn t
−ζωn t
h(t) = L [H(s)] = 1 − e cosωd t − e sinωd t σ(t)
ωd
!!
−ζωn t ζ
= 1−e cosωd t + √ sinωd t σ(t)
1 − ζ2
198 Solutions

b∗ ) For the components can be derived


d  −ζωn t 
e cosωd t = −ζωn e−ζωn t cosωd t − ωd e−ζωn t sinωd t
dt !
d ζωn −ζωn t ζωn h i
e sinωd t = −ζωn e−ζωn t sinωd t + ωd e−ζωn t cosωd t
dt ωd ωd
(ζωn )2 −ζωn t
=− e sinωd t + ζωn e−ζωn t cosωd t
ωd
leading to

d (ζωn )2 −ζωn t
h(t) = ωd e−ζωn t sinωd t + e sinωd t
dt ωd
!
(ζωn )2 −ζωn t
= ωd + e sinωd t.
ωd

From the ḣ = 0 follows that sinωd t = 0, i.e.

ωd tp = nπ, n = 0, 1, 2, . . .

tp = .
ωd
π
Substituting the overshoot time tp = ωd
in the transfer function
!
ĥ − h(∞) −ζω π π ζωn π
Mp = = 1 − e n ωd cosωd + sinωd −1
h(∞) ωd ωd ωd
−ζωn π
=e ωd
.

Problem 1.16 (Identification of mass-spring-damper system)

The transfer function of the mass-spring-damper system was derived in Problem 1.14.
Using the standard form of a second order system (1.25) we can write
1
m ωn2
G(s) = b k =K
s2 + m
s + m
s2 + 2ζωn s + ωn2

The parameters are computed from


1 1
m
= Kωn2 m = Kω 2
n
b 2ζ
m
= 2ζωn ⇒ b = Kωn
k
m
= ωn2 k = K1

The steady state value of the given step response yields the static gain
y(∞) 2.5
K= = = 0.5
u(∞) 5
Solutions for Chapter 1 199

From the plot the peak time is tp = 7.5 and the peak overshoot is
3.25 − 2.5
Mp = = 0.3
2.5
From (1.27) it follows that
q
1 − ζ 2 ln Mp = −ζπ
v
(ln Mp )2
u
u
ζ= t
π 2 + (ln Mp )2

Substituting the peak overshoot value, the damping ratio can be calculated as ζ = 0.3579.
Moreover, from
π π
tp = = √
ωd ωn 1 − ζ 2
we obtain
π
ωn = √
tp 1 − ζ2
1.7 4.6
(Alternatively one can use the approximation for tr ≈ ωn
or ts ≈ ζωn
to compute ωn ; this
leads to slightly different values.)
Using the above numerical values yields ωn = 0.4486, which leads to

m ≈ 10 ; b ≈ 3; k≈2

Matlab solution: Sol_Problem1_16_MassSpringDamperSystemIdentification.mlx


200 Solutions

A.2 Solutions for Chapter 2

Problem 2.1 (Speed control of a DC motor with proportional feedback)

a) We have
KP K KP
Kpos = lim L(s) = lim =
s→0 s→0 JRs + K 2 K

and thus
1 K
e∞ = = .
1 + Kpos K + KP

A steady state accuracy e∞ ≤ 0.1 then requires KP ≥ 9K, where K ≈ 0.0476 from
Problem 1.7.a. The smallest value of KP that achieves this accuracy is therefore

KP = 9K ≈ 0.43.

b) The same calculation as in (a) yields as requirement on the gain KP ≈ 0.904.

Problem 2.2 (Speed control of a DC motor with proportional feedback)

a) In Figure A.17 the Simulink model of the model is shown.

K
Kp
J*R.s+K^2
Step Gain Transfer Fcn Scope

Figure A.17: Feedback loop with proportional controller

Figure A.18 shows the simulated step response for KP = 0.5. The static gain is
about 43.6 rad/s, which implies that the steady state error is less than 10%.
Solutions for Chapter 2 201

50

Angular velocity (rad/s)


40

30

20

10
r(t) = 47.75 · σ(t)
0 Simulation data
0 1 2 3 4 5 6
Time (sec)
Figure A.18: Simulated step response with P controller and KP = 0.5

b) For KP = 0.5 one obtains the step response shown in Figure A.19.

50
Angular velocity (rad/s)

40

30

20

10
r(t) = 47.75 · σ(t)
0 Experimental data
0 2 4 6 8 10
Time (sec)
Figure A.19: Experimental step response with P controller and KP = 0.5

A comparison of the simulated step response in Figure A.18 with the experimental
results in Figure A.19 shows that the static gain and consequently the steady state
error are almost equal. In simulation the system achieves a final value of 43.6 rad/s
as expected, whereas the experiments tend to a value of 43.2 rad/s. One significant
difference of the two responses is the noise in the measured response of the real
motor.
202 Solutions

c) The experimental results shown in Figure A.20 confirms the expected steady state
error. The step response shows a slight overshoot and oscillatory behavior. This
contradicts the assumption that the behavior of the motor is represented by a first
order system: with a P controller the closed-loop system is also first order, and
a first order system does not display overshoot. The observed behavior is in fact
caused by unmodeled effects such as a time delay and hardware low-pass filters,
which are implemented in the rotational speed sensor. The effect such filters can
have on the closed-loop performance will be discussed in Chapter 4.

50
Angular velocity (rad/s)

40

30

20

10
r(t) = 47.75 · σ(t)
0 Experimental data
0 2 4 6 8 10
Time (sec)
Figure A.20: Speed control, experimental step response with P controller and KP = 1.7

Simulink file: Model_Problem2_2_PControllerVelocity.slx


Solutions for Chapter 2 203

Problem 2.3 (Angle control of a DC motor with proportional feedback)

a) In Problem 1.5 the same task has already been solved for the second order motor
model: since θ is the integral of θ̇, it is necessary to integrate the output of G(s).
Thus the transfer function from u to θ is
21
G(s) = .
s(1.1s + 1)

b) As a starting point for the Ziegler-Nichols Method 2, the critical gain Kcr is needed.
To find this gain, closed loop proportional control is used. For small proportional
gains KP , the closed loop step response converges. If the gain is increased, the
closed loop step response starts to oscillate. The gain KP for which the system
starts oscillating is called Kcr . The gain Kcr for this problem is usually around 3.8,
varying slightly with the used motor and operating conditions. Figure A.21 shows
the experimental closed loop step response for KP = Kcr = 3.8.

12

Pcr
9
Angle (rad)

r(t) = 2πσ(t)
0 Experimental data
0 2 4 6 8 10
Time (sec)
Figure A.21: Oscillating step response for KP = Kcr = 3.8

According to the Ziegler-Nichols tuning rules, this leads to KP = K2cr = 1.9. This
gain is a good starting point for further tuning.
Note: From Figure A.21 one obtains the critical period Pcr ≈ 0.74 s. This can be
used to design a PI or PID controller.

c) Figure A.22 shows the step response with a P controller and KP = 1.9. The steady
state error is almost zero. The reason for this is the integral action in the plant
(the shaft angle is the integral of the motor speed), resulting in a type 1 system for
which the steady state error in the step response is zero.
204 Solutions

On the other hand, the peak overshoot of approximately 85% and the oscillatory
behaviour is undesirable.

12

9
Angle (rad)

r(t) = 2πσ(t)
0 Experimental data
0 2 4 6 8 10
Time (sec)
Figure A.22: Angle control, experimental step response with P controller and gain from
Ziegler-Nichols tuning

d) The fastest possible response without any overshoot is achieved, if the closed loop
system is critical damped (ζ = 1), i.e. if the two closed loop poles are real and
identical (see discussion in Section 1.3).
The closed loop transfer function is

21KP
Gcl (s) = ,
1.1s2 + s + 21KP

with poles

1 21KP
0 = s2 + s+
1.1 1.1

s
2
1 1 21KP

s1,2 =− ± − .
2 · 1.1 2 · 1.1 1.1
1 21KP
The damping ratio is therefore 1, if ( 2·1.1 )2 − 1.1
= 0, leading to KP = 0.011.
The simulated step response with this value of KP is shown in Figure A.23. There is
no steady state error due to integral action and no overshoot because KP has been
chosen to achieve the critical damping ratio. But in trade-off for the zero overshoot,
the rise time is very long.
Solutions for Chapter 2 205

Angular position (rad)


4

r(t) = 2πσ(t)
0 Simulation data
0 5 10 15 20
Time (sec)
Figure A.23: Angle control, simulated step response with P controller that achieves critical
damping

e) The experimental step response of the motor with the controller from (d) is shown
in Figure A.24. It does not behave as in the simulation. Although there is no
overshoot, the steady state angle is only a fraction of its desired value. This is
clearly due to friction effects: the motor moves very slowly because of the low
power in the input signal, because KP is that small, and is not able to overcome
friction. This shows that experimentally a P controller is due to friction not able to
achieve the desired steady state value without overshoot.

6
Angular position (rad)

0
0 2.5 5 7.5 10
Time (sec)
Figure A.24: Angle Control, experimental step response with P controller that achieves
critical damping
206 Solutions

f) In task (c) and (e) two extreme cases have been seen. In (c) a high value of KP
is used, resulting in very short rise time , but also high overshoot. In (e) KP has
been chosen that small, that no overshoot occurs but on the other hand the rise
time is very long. In addition in experiment the small KP leads to such a low input
power that friction cannot be overcome, such that steady state accuracy can not be
guaranteed. As a trade-off a rise time of 0.5 s is desired now.
With the closed-loop transfer function
KP K ωn2
Gcl (s) = =
JRs2 + K 2 s + KP K s2 + 2ζωn s + ωn2
we have
s
KP K 1.7
ωn = ≈
JR tr
and solving for KP gives
2
JR 1.7

KP = .
K tr
The desired rise time of tr ≤ 0.5 s leads to KP ≥ 0.6072. We choose KP = 0.61.
Figure A.25 indicates a good fit between simulation and real-time experiment, as
well as a confirmation of the expected rise time, but the overshoot is still too high.
In summary, we have seen that a P controller is always a trade-off between shorter
rise time or smaller overshoot. To improve both characteristics at once other control
strategies are needed.

12

9
Angle (rad)

3
r(t) = 2πσ(t)
Experimental data
0 Simulation data
0 2 4 6 8 10
Time (sec)
Figure A.25: Simulated (red) and experimental (blue) step response with P controller
and KP = 0.61.
Solutions for Chapter 2 207

Simulink file: Model_Problem2_3_PControllerAngle.slx


Problem 2.4 (Angle control of the DC motor with PD controller)

a) Figure A.26 shows simulated step responses with a PD controller and KP = 0.44
and TD ∈ [0.3, . . . , 0.8]. One can see that increasing TD reduces the overshoot as
well as the rise time.
Angular position (rad)

2 r(t) = 2πσ(t)
TD = 0.3
TD = 0.5
0 TD = 0.8
0 1 2 3 4 5
Time (sec)
Figure A.26: Angle control, simulated step responses with PD control, KP = 0.44 and
TD ∈ [0.3, . . . , 0.8]

b) The simulated and experimental responses in Figure A.27 show that higher values
for TD result in better damped transients, but in contrast to the simulation results
in (a), due to saturation the rise time is increased.
Figure A.28 shows an experimental step response (subject to saturation), together
with simulated step responses with and without saturation. With the selected pa-
rameter values for KP and TD and with the model from Problem 2.3.a, the closed-
loop poles are real. The overshoot in the simulated response without saturation
is due to the presence of a closed-loop zero in the left half plane. This overshoot
is reduced when saturation is included in the simulation. That the experimental
response also displays a slight overshoot is due to unmodelled effects, including a
time delay of about 30 ms in the physical set up.

Simulink files:
• Model_Problem2_4_PDControllerAngleut.slx
• Model_Problem2_4_PDControllerAngleWithSaturation.slx
208 Solutions

8
TD = 0.3
6
Angle (rad) TD = 0.5

4 TD = 0.8

0
0 1 2 3 4 5
Time (sec)
Figure A.27: Angle control, simulated step responses (smooth, blue) with saturation,
together with the corresponding experimental responses (serrated, red). The PD controller
parameters are KP = 0.44, TD ∈ [0.34, 0.5, 0.8].

6
Angle (rad)

2 r(t) = 2πσ(t)
Experimental data
Simulation with saturation
0
Simulation without saturation
0 1 2 3 4 5
Time (sec)
Figure A.28: Angle control, simulated step response with PD controller, together with
the experimental response. Controller parameters are KP = 1, TD = 0.34.

Problem 2.5 (Shaft angle control of a DC motor with PID controller)

a) With these values one obtains KP = 2.28, TI = 0.37 and TD ≈ 0.1.


Solutions for Chapter 2 209

b) After fine-tuning the controller in simulation, one possible parameter set is

KP = 1.2, TI = 0.44, TD = 0.38.

With these values a rise-time of about 0.11 s and a peak overshoot of just less than
20% is achieved.

c) i) In the experiment, the achieved rise time is tr = 0.27 s and there is a peak
overshoot Mp = 0.4, which violates the specifications.

ii) Experimental and simulated responses are shown in Figure A.29.

9 Experimental
75 Simulation
Control input
Angle (rad)

6 50

3 25

0
0
0 2 4 6 8 10 0 1 2 3 4
Time (sec) Time (sec)
Figure A.29: Left: shaft angle control with PID controller, right: control input; shown
are experimental (—) and simulated (—) responses

iii) Trying to reduce the overshoot to 20% by re-tuning the controller is not possi-
ble: one attempt might be to reduce the gain KP and to increase the derivative
time TD , but this does not give the desired closed-loop characteristics.
The reason for this is that the control signal at the step time t = 1 s is well
above the limit of the control input which can be applied to the plant. Actuator
saturation occurs and leads to a windup-effect.

d) A possible Simulink model is shown in Figure A.30. The simulated and experimen-
tal step response are presented in Figure A.31. Clearly now the responses match
well, thus confirming a windup-effect as main reason for the mismatch observed
before.
210 Solutions

Derivative
Td.s
Td*gamma.s+1

K
Kp
J*R.s2 +K^2.s
Step Proportional Integral Saturation First order motor model Scope
gain 1
Ti.s

Figure A.30: Simulink model of PID controlled motor with saturation

9
75 Experimental
Simulation

Control input
6
Angle (rad)

50

3 25

0 0
0 2 4 6 8 10 0 2 4 6 8 10
Time (sec) Time (sec)
Figure A.31: Left: Angle control with PID controller and saturation, right: control in-
put; shown are experimental (—) and simulated (—) response, the simulation includes
actuator saturation

Simulink files:
• Model_Problem2_5_PIDControllerAngle.slx
• Model_Problem2_5_PIDControllerAngleWithSaturation.slx
Problem 2.6 (Integrator windup effect)

a) Figure A.32 shows the general form of the Simulink model.

b) The effect that saturation has on the step response is illustrated in Figure A.33.
After a step change from 0 to 1 of the reference input, the controller generates a
control signal uc (t) that exceeds the actuator range, which is limited by the satura-
tion block to −1 < u < 1. The integrator is being charged up. It takes a significant
time for the negative error to wind down the integrator and to bring the control
output back to its physical limits. The result is a huge overshoot.
Solutions for Chapter 2 211

8.6s+16.8
s+10
σ(t) e(t) uc (t) u(t) 2
y(t)
1 s2 +s

1
1.25s

Figure A.32: PID control loop with actuator saturation

1.5
y(t)
r(t)
Amplitude

0.5

0
0 1 2 3 4 5 6 7 8 9 10

u(t)
4
uc (t)
Amplitude

0 1 2 3 4 5 6 7 8 9 10
Time (sec)
Figure A.33: Step response with windup effect

c) For a value of Kaw = 1.6 Figure A.34 illustrates the change of the step respone.
The huge overshoot is damped and the integrator can wind down faster.
212 Solutions

1 y(t)
r(t)
Amplitude

0.5

0
0 1 2 3 4 5 6 7 8 9 10

u(t)
4
uc (t)
Amplitude

0 1 2 3 4 5 6 7 8 9 10
Time (sec)
Figure A.34: Step response with anti-windup configuration

Simulink file: Sol_Model_Problem2_6_IntegratorWindup.slx

Problem 2.7 (PID Controller with anti-windup)

Using the Simulink model "Model_Problem2_7_PIDAntiWindup.slx" shown in Fig-


ure A.35 the values of KP , TI , TD and Kaw can be tuned.
Figure A.36 shows the experimental step response with KP = 2.8, TI = 1.0 and TD = 0.18
(top), together with the control input (bottom). One can see that saturation occurs at
t ≈ 3 s.
Now the peak overshoot is Mp = 0.06, which is significantly less than the overshoot
Mp = 0.4 obtained in Task 2.5 c). The achieved rise time of tr = 0.3 s, however, is not
much different from the one obtained before.
Simulink file: Model_Problem2_7_PIDAntiWindup.slx
Solutions for Chapter 2 213

Figure A.35: Simulink model for experimental angle control with PID controller and
anti windup function

12
200
9
Control input
Angle (rad)

6 100

3
0
0
0 2 4 6 8 10 0 1 2 3 4
Time (sec) Time (sec)
Figure A.36: Experimental step response with a PID Controller and anti-windup device
(top), and control input (bottom)

Problem 2.8 (Internal model principle)

a) Position error is considered and the feedback system is type 1 ⇒ e∞ = 0.

b) The transfer function from the output disturbance dy (t) to the control error e(t) is

−1
Gedy (s) = = −Ger ⇒ e∞ = 0
1 + G(s)C(s)

The transfer function from the input disturbance du (t) to the control error e(t) is

−G(s) −1 1
Gedu (s) = = ⇒ e∞ = lim Gedu (s) = −
1 + G(s)C(s) s(s + 1) + KP s→0 KP
214 Solutions

c) The input disturbance transfer function with the controller C(s) is


−1
Gedu (s) =
s(s + 1) + C(s)

Applying the final value theorem with L[tσ(t)] = 1/s2 leads to


" #
−1 1 −1 !
e∞du = lim s = lim =0
s→0 s(s + 1) + C(s) s2 s→0 sC(s)

thus C(s) must have a factor 1/s2 . Note however, that the numerator of the con-
troller has to be appropriately chosen, to guarantee system stability!

d) The Laplace transformation of du (t) is


ωd
Du (s) = .
s2 + ωd2

This can be used to obtain the error signal in the Laplace domain

−G(s) ωd
Edu (s) = · 2 .
1 + G(s)C(s) s + ωd2

Writing C(s) = nc (s)/dc (s) and G(s) = b(s)/a(s), where from the task description
b(s) = 1 and a(s) = s(s + 1) are known, leads to

−b(s)dc (s) ωd −dc (s) ωd


Edu (s) = · 2 2
= · 2 .
a(s)dc (s) + b(s)nc (s) s + ωd s(s + 1)dc (s) + nc (s) s + ωd2

The final value theorem to obtain the error e∞du as t → ∞ can only be used when
the limit exists, i.e. when the error converges to a static value. If the partial fraction
expansion of Edu (s) is considered, it becomes apparent from

C1 Cn Cωd C̄ωd
Edu (s) = + ... + + + ,
s + p1 s + pn s + jωd s − jωd
| {z } | {z }
Transient response, that dies out Undamped oscillation

|C |
that edu (t) will contain a term ωωdd sin(ωd t) which will not vanish unless Cωd =
C̄ωd = 0. This is guaranteed by the choice of the controller denominator dc (s) =
(s2 + ωd2 )d˜c (s) as this eliminates the imaginary roots of (s2 + ωd2 ). With this choice

−b(s)d˜c (s)ωd −d˜c (s)ωd


Edu (s) = = ,
a(s)d˜c (s)(s2 + ωd2 ) + b(s)nc (s) s(s + 1)d˜c (s)(s2 + ωd2 ) + nc (s)

is obtained and it is left to adequately choose d˜c (s) and nc (s), in order to obtain
a stable closed-loop. In fact, in practice the procedure would usually be the other
way round: First a stabilizing controller is designed (by the methods described
in Chapters 3 and beyond) and then the controller is eventually augmented by
Solutions for Chapter 2 215

including the roots of the disturbance signal’s Laplace transform denominator into
the denominator of the controller.

A controller that stabilises the system and achieves zero steady-state error for ωd = 1
is:
s2 + 0.2s + 1
C(s) = 5 .
s2 + 1

The way how to design such a controller is discussed in Problem 3.6.

Simulink file: Model_Problem2_8_InternalModelPrincipleSin.slx

Problem 2.9 (Ramp tracking)

a) Since we are interested in the error when tracking a ramp signal, we use the velocity
error constant

21
Kvel = lim sL(s) = lim sKP = 21KP .
s→0 s→0 s(1.1s + 1)

To achieve the required accuracy we need

1 1
e∞ = = KP < 0.15
Kvel 21

and thus
1 20
KP > = .
0.15 · 21 63

b) Obviously, the controller should exhibit integral action, i.e. PI and PID controllers
will achieve e(t) → 0.

Simulation results with P, PI and PID controllers and KP as in (a) are shown in
Figures A.37, A.38 and A.39, respectively. It is possible to achieve qualitatively
similar results with the experimental setup.
216 Solutions

Control error e (t) System response


10

5 Input r(t) = tσ(t)


Output y(t)
0

0.4

0.2

0
−0.2
0 2 4 6 8 10 12 14
Time (sec)
Figure A.37: Response to unit ramp with P controller
Control error e (t) System response

10

5 Input r(t) = tσ(t)


Output y(t)
0

0.5
0.25
0

0 2 4 6 8 10 12 14
Time (sec)
Figure A.38: Response to unit ramp with PI controller
Solutions for Chapter 2 217

Control error e (t) System response


10

5 Input r(t) = tσ(t)


Output y(t)
0
0.2

0.1

−0.1
0 2 4 6 8 10 12 14
Time (sec)
Figure A.39: Response to unit ramp with PID controller

Simulink files:
• Model_Problem2_9_PAngleRamp.slx
• Model_Problem2_9_PDAngleRamp.slx
• Model_Problem2_9_PIDAngleRamp.slx
218 Solutions

A.3 Solutions for Chapter 3

Problem 3.1 (Root locus)

Matlab function rlocus


Construction of the root-locus plot:

1. Draw all poles and zeros. The transfer function has one zero z1 = −4 and three
poles at p1 = 0, p2 = −1, p3 = −7, respectively.

2. Determine the sections on the real axis. Left of an odd number of poles and zeros
lie the intervals [−1, 0] and [−7, −4].

3. Determine the asymptotes. The pole excess n − m is 2, therefore there are two
asymptotes, with the angles ±90°. Calculating the asymptote intersection point
gives Pn Pm
i=1 pi − i=1 zi 0−1−7+4
α= = = −2
n−m 2
Draw the asymptotes.

4. Calculate the departure angles for small gains. From point 2 it is clear that the
poles will move first along the real axis. This can be easily checked, for example for
pole p2 = −1 we have
m
X n
X
arg(L(s)) = arg(s − zi ) − arg(s − pi )
i=1 i=1

= arg(s + 4) − arg(s) − arg(s + 1) − arg(s + 7)


or
0° − 180° − φ2 − 0° = 180° + l360°
It follows that for l = −1 the angle φ2 = 0°, i.e. the pole at p2 = −1 will move
towards the right along the real axis.

5. It is possible - even though not practical - to use the rule of step 5 to compute the
break point. With the numerator polynomial b(s) = s + 4 and the denominator
polynomial a(s) = s3 + 8s2 + 7s we obtain
da db
b − a = (s + 4)(3s2 + 16s + 7) − (s3 + 8s2 + 7s) · 1
ds ds
= 2s3 + 20s2 + 64s + 28 = 0
The only real root of the polynomial s3 +10s2 +32s+14 is at β = −0.5166 (Matlab
command roots), where the two branches break away from the real axis. Note
however that for a third order polynomial this is not easily done by hand.

The root-locus plot is shown in Figure A.40.


Solutions for Chapter 3 219

15

Im (s)

−15

−7 −6 −5 −4 −3 −2 −1 0
Re (s)
Figure A.40: Root locus

Problem 3.2 (Root locus with complex pole pair)

a) The open loop transfer function can be simplified as follows


s+2 s+2
L(s) = KP = KP .
(s2 2
+ 4s + 3)(s + 4s + 5) (s + 3)(s + 1)(s + 2 + i)(s + 2 − i)
Construction of the root-locus plot:

1. Draw zeros at z1 = −2 and poles at p1 = −3, p2 = −1, p3 = −2 − i and


p4 = −2 + i.
2. The sections on the real axis are (−∞, −3] and [−2, −1].
3. The pole excess n − m is 3. There will be three asymptotes: one with the angle
+60o , one with −60o and one with 180o . The asymptote intersection point is
−3 − 1 − 2 − 2 + 2
α= = −2 .
3
4. The angles of departure reveal to:

p1 = −3 : Φ1 = −180o − (+135o ) − 180o − (−135o ) + 180o + l · 360o = 180o


p2 = −1 : Φ2 = −180o − 0o − 45 − (−45o ) + 0o + l · 360o = 180o
p3 = −2 − i : Φ4 = −180o − (−45o ) − (−90o ) − (−135o ) + (−90o ) + l · 360o = 0o
p4 = −2 + i : Φ3 = −180o − 45o − 90o − 135o + 90o + l · 360o = 0o
220 Solutions

5. Calculating the intersection points is not applicable.

The root-locus plot is shown in Figure A.41.

3
Im (s)

−3

−5 −4 −3 −2 −1 0 1
Re (s)
Figure A.41: Root locus

b) Since there are 3 asymptotes, as KP becomes larger two closed loop poles will move
into the right half plane. This can be seen in Figure A.41. Therefore, the system
will become unstable for large Kp .

c) The pole excess will be 2 and there will be two asymptotes: One with +90o and one
with −90o . Let the location of the new zero be x, then the asymptote intersection
is
−3 − 1 − 2 − 2 + 2 − x x
α= = −3 − .
2 2
The asymptote intersection and the location of the zero must not be in the right
half plane. Therefore the location of the zero reveals to −6 < x < 0.

d) Construction of the root-locus plot:

1. Draw zeros at z1 = −2 and poles at p1 = −3, p2 = −1, p3 = −2 − i and


p4 = −2 + i.
2. The sections on the real axis are [−3, −2] and [−2, ∞].
3. The pole excess n − m is 3. There will be three asymptotes: one with the angle
+120o , one with −120o and one with 0o . The asymptote intersection point is

−3 − 1 − 2 − 2 + 2
α= = −2 .
3
Solutions for Chapter 3 221

4. The angles of departure reveal to:

p1 = −3 : Φ1 = −(+135o ) − 180o − (−135o ) + 180o + l · 360o = 0o


p2 = −1 : Φ2 = −0o − 45 − (−45o ) + 0o + l · 360o = 0o
p3 = −2 − i : Φ4 = −(−45o ) − (−90o ) − (−135o ) + (−90o ) + l · 360o = 180o
p4 = −2 + i : Φ3 = −45o − 90o − 135o + 90o + l · 360o = 180o

5. Calculating the intersection points is not applicable.

The root-locus plot is shown in Figure A.42.

3
Im (s)

−3

−5 −4 −3 −2 −1 0 1
Re (s)
Figure A.42: Root locus
222 Solutions

Problem 3.3 (PD controller for a valve)

a) This is a real PD controller.

b)
!
TD s
C(s) = KP 1+
1 + γTD s
!
1 + γTD s + TD s
= KP
1 + γTD s
 
1
γTD + TD  s + TD (γ+1) 
= KP
γTD s + γT1D
  
1
γ + 1  s − − TD (γ+1) 
= KP
γ s − (− γT1D )

Thus
γ+1 1 1
K = KP ; z=− ; p=−
γ TD (γ + 1) γTD

c) The root locus is shown in Figure A.43.


It is rather easy to see whether the closed-loop system is stable. Also, it is possible
to design controllers with the root locus by hand. However, it is much easier with
Matlab.

3
Im (s)

−3

−6
−4 −3 −2 −1 0
Re (s)
Figure A.43: Root locus of the valve with a PD controller
Solutions for Chapter 3 223

Problem 3.4 (PD controller for a valve, computer-based)

a) A possible controller - obtained with rltool - is given by K = 0.9889, z = −1.57


and p = −4.48, corresponding to parameter values

KP = 0.3466; TD = 0.4137; γ = 0.5396

The step response with this controller displays overshoot = 4.99%, umax = 0.989
and rise time = 1.64 s.
Matlab file: Sol_Problem3_4_PDControlledValve.mlx

b) A ramp input is not available in rltool; however, with the help of the prefilter
block F a step input r can be integrated to generate a ramp (F (s) = 1/s). This
can be done in rltool by clicking the block "F". From Analysis–Response to step
command the desired ramp signal can be obtained. The steady state error can be
obtained with the parameters chosen in (a) and with the help of the velocity error
constant
1
Kvel = KP K0 = 1.04 ⇒ e∞ = = 0.96
Kvel

Problem 3.5 (Controller design)

a) The static gain of the additional compensator is determined by the required steady
state error of less than or equal to 0.1:
1 1 ! 3 s + 1.5
Kvel = = = 10 ⇒ 10 ≤ lim s · · C2 (s) ⇒ lim C2 (s) ≥ 10
e∞ 0.1 s→0 s(s + 1) s + 4.5 s→0

Because the static gain is asked to be minimal,

lim C2 (s) = 10.


s→0

b) The pole-zero pair is then placed close to zero, in order to not affect the transient
behaviour achieved in Problem 3.3, for example by choosing
s + 0.1
C2 (s) = .
s + 0.01

c) The responses can be seen in Figure A.44 .


Matlab file: Sol_Problem3_5_RlocusLeadLag.mlx
224 Solutions

1
Amplitude

0.5

0 10 20 30
Time (sec)
10
r(t)
y(t)
7.5
u(t)
Amplitude

2.5

0
0 2.5 5 7.5 10
Time (sec)
Figure A.44: Simulated response to a step input (top) and simulated response to a ramp
input (bottom)

Problem 3.6 (Internal Model Principle)

a) To have a stable closed loop the zeros have to be placed in the left half plane. With
the help of the rltool you can see that the zeros can be located in an interval
[0, −0.45] so that the closed loop system remains stable.

b) Figure A.45 and A.46 show the two possibilities for choosing the zeros. Both Figures
show that for large values of K the system is stable.

c) Figure A.47 shows a Simulink model that can be used to find out how the system
behaves for different controller values. Figure A.48 shows the response of the loop
to the sinus disturbances with the controller C obtained from Figure A.49. This
controller meets all constraints.

Simulink file: Model_Problem3_6_InternalModelPrincipleSin.slx


Solutions for Chapter 3 225

2
Im (s)

−2

−4
−1 −0.75 −0.5 −0.25 0
Re (s)
Figure A.45: Complex pole pair moves to the zeros

2
Im (s)

−2

−4
−1 −0.75 −0.5 −0.25 0
Re (s)
Figure A.46: Real pole pair moves to the zeros
226 Solutions

Figure A.47: Simulink model with sinus as input

0.2
Amplitude

0.1

−0.1

0 10 20 30 40 50
Time (sec)
Figure A.48: Closed-loop response to the sinus disturbance

2
Im (s)

−2

−4
−1 −0.75 −0.5 −0.25 0
Re (s)
Figure A.49: Root locus design
Solutions for Chapter 3 227

Problem 3.7 (Time delay systems and approximation)

a) The first three coefficients from the series expansion are


Td s (Td s)2 T2
e−Td s = 1 − + − . . . = 1 − Td s + d s2 − . . .
1! 2! 2!
0 00
β1 s + β0 f (0) f (0) 2
f (s) = = f (0) + s+ s + ...
α1 s + 1 1! 2!
With the derivatives of f (s)
β1 (α1 s + 1) − (β1 s + β0 )α1 β1 − α1 β0
f 0 (s) = 2
=
(α1 s + 1) (α1 s + 1)2
−2α1 (β1 − α1 β0 )
f 00 (s) =
(α1 s + 1)3
comparing coefficients componentwise leads to
f (0) = β0 = 1
f 0 (0) = β1 − α1 β0 = −Td
f 00 (0) = 2α1 (α1 β0 − β1 ) = 2α1 Td = Td2
The coefficients can be calculated as α1 = T2d , β1 = − T2d . The first order Padé
approximation is then
−Td s − T2d s + 1 2 − Td s
e = Td s =
2
+1 2 + Td s
b) Matlab solution "Sol_Problem3_7_TimeDelayPadeCompare.mlx". See Figure A.50.

c) The characteristic equation is


e−Td s e−Td s −1
1 + KP =0 ⇒ =
s+1 s+1 KP
The phase condition gives
arg e−Td s − arg (s + 1) = 180o + l360o
The argument of the time delay is
(
−Td s −Td jω −Td ω (in rad)
arg e = arg e = 180o
−Td ω π (in degrees)
With l = −1 we have arg(s + 1) = 180o − Td ω 57o and thus
ω=1 : arg (s + 1) = 180o − 57o = 123o
ω=2 : arg (s + 1) = 180o − 114o = 66o
ω→π : arg (s + 1) → 0o
See Figure A.51.
228 Solutions
1
1

0.5
0.5
Amplitude

Amplitude
0 hTd
h1-Td s
h1/(1+Td s)
−0.5 0 hPade 1
hPade 2
hPade 3
−1
0 1 2 3 4 5

−0.5Time (sec)
Figure A.50: Time delay approximation for Td = 1s

0.5 4
h1/(1+Td s) hPade 1
h1-Td s −1
0.25 0 2 1 2
Im (s)

Im (s)

0 0 Time
−0.25 −2

−0.5 −4
−2 −1 0 1 2 −2 0 2 4 6 8
Re (s) Re (s)
4 20
hPade 2 hPade 3

2 10
Im (s)

Im (s)

0 0

−2 −10

−4 −20
−4 −2 0 2 4 −10 0 10 20 30 40
Re (s) Re (s)
Figure A.51: Root locus
Solutions for Chapter 3 229

Problem 3.8 (Smith predictor)

a) i) The transfer function from r input to y output is:


Y (s) C(s)G0 (s)e−Td s
Gyr (s) = =
R(s) 1 + C(s)G0 (s)e−Td s

ii) The transfer function C(s) = Gue (s) is:


U (s) C0 (s)
C(s) = Gue (s) = = −T
E(s) 1 + (1 − e d s )G0 (s)C0 (s)

iii) The transfer function Gyr (s) with part ii) is


Y (s) C0 (s)G0 (s)e−Td s
=
R(s) 1 + (1 − e−Td s )G0 (s)C0 (s) + C0 (s)G0 (s)e−Td s

which simplifies to
Y (s) C0 (s)G0 (s)
= e−Td s .
R(s) 1 + C0 (s)G0 (s)
b) With the results from part iii) the controller C0 (s) can be designed as if there was
no time delay. The simplified block diagramm is shown in Figure A.52.

r(t) y(t)
C0 (s) G0 (s) e−Td s

Figure A.52: Equivalent representation of the feedback system in Figure 3.29

Problem 3.9 (Smith predictor)

Matlab file: Sol_Problem3_9_RLToolSmithPredictor.mlx

a) • To define the transfer function without time delay use the Matlab command
G=tf(1, [1 1])
• Open the tool with rltool(G)
• To design a controller of the form
s−z
C0 (s) = KP
s
the tool settings must be selected correctly. This can be done under Preferences
→ Options in the toolstrip. See Figure A.53 for reference.
230 Solutions

Figure A.53: Tool preferences

• You can now add the integrator and a zero by double clicking the controller C
in sisotool.
• One possible controller which fulfills the design specifications is shown in Fig-
ure A.54.

1 1
Amplitude

0.75
Im (s)

0
0.5

0.25
−1

0
−4 −3 −2 −1 0 0 1 2 3
Re (s) Time (sec)
Figure A.54: One possible controller

b) Figure A.55 (i) shows the root locus and step response of the delayed system with the
controller from a). In (ii) the controller is modified to fulfill the design specifications.

c) Figure A.56 shows a possible composition of a Simulink model. You can use
the Matlab solution "Sol_Problem3_9_RLToolSmithPredictor.mlx". Reference
tracking with the Smith predictor is shown in Figure A.57.
Solutions for Chapter 3 231

·103
8
2 (i) (i)
6
1

Amplitude
4
Im (s)

0
2
−1
0
−2
−2
−10 −5 0 0 2 4 6 8
Re (s) Time (sec)

2 (ii) (ii)
1

1
Amplitude
Im (s)

0 0.5

−1

0
−2

−10 −5 0 5 0 2 4 6 8
Re (s) Time (sec)
Figure A.55: Root locus and response of the system with time delay

Figure A.56: Control loop with time delay


232 Solutions

Reference signal
r(t) 1

0.5

4 Control signal
u(t)

Output signal
1
y(t)

0.5

0
0 1 2 3 4 5 6
Time (sec)
Figure A.57: Reference step response with Smith predictor

Problem 3.10 (Smith predictor by input disturbance)

Matlab file: Sol_Problem3_10_RLToolSmithPredictorDist.mlx

a) Contained in the Matlab solution, see Problem 3.9. The responses to step distur-
bance entering the system at time 5 s is shown in Figure A.58.

b) The closed-loop response to a reference unit step when the actual time delay of the
plant is Td = 0.8, is shown in Figure A.59.

c) With the plant G(s) = G0 (s)e−Td s and the controller


C0
C(s) =
1 + (1 − e−Td s )G0 C0
the transfer function from disturbance input to output is
 
G(s) 1 + (1 − e−Td s )G0 C0 G0 e−Td s
Gyd = = 
1 + G(s)C(s) 1 + (1 − e−Td s )G0 C0 + G0 e−Td s C0
G0 C0 e−Td s
!
−Td s
= G0 e 1−
1 + G0 C0
Solutions for Chapter 3 233

1.5
Reference signal
1
r(t)

0.5

0
1.5
Output disturbance signal
1
d(t)

0.5

Control signal
4
u(t)

0
2
Output signal
1.5
y(t)

1
0.5
0
0 2 4 6 8 10
Time (sec)
Figure A.58: Disturbance step response with Smith predictor

Thus, the poles of the disturbance transfer function are not only the poles of the
closed loop transfer function from reference to output, but include also the open
loop poles.
234 Solutions

1.5
Reference signal
1
u(t)

0.5

1 Output disturbance signal


d(t)

0.5

Control signal
4
u(t)

1.5 Output signal

1
y(t)

0.5
0
0 2 4 6 8 10
Time (sec)
Figure A.59: Step response with Smith predictor
Solutions for Chapter 4 235

A.4 Solutions for Chapter 4

Problem 4.1 (System bandwidth)

a) Substituting jω for s and normalizing the real part of the pole factor to 1 gives

1
G(jω) = 10 .
1 + jω
10

The corner frequency is ω = 10 rad/s. For frequencies below the corner frequency the
gain is approximately 20 dB and for higher frequencies it rolls off with −20 dB/dec,
see Figure A.60. The system bandwidth ωb is the lowest frequency at which the
gain drops 3 dB from its static value, which in this case is exactly the corner fre-
quency ω = 10 rad/s. The speed of response is determined by the time constant
τ = 1/ωb = 0.1 s, see Figure A.61.

20

10
|G(jω)|dB

−10

−20
0
arg G(jω) (deg)

−45

−90
10−1 100 101 102 103
ω (rad/s)

Figure A.60: Bode plot of the system in (a)

b) The system can be seen as a combination of the above and a complex pole pair.
We have a pole at −10 and a pole pair at −0.3 ± j0.954. The complex pole pair is
dominant and thus ωb ≈ ωn = 1 rad/s and tr ≈ 1.7/ωb = 1.7 s. The actual rise-time
shown in the step response of Figure A.63 is tr = 1.34 s. For a hand-drawn sketch,
236 Solutions

τ = 0.1
10

6
y(t)

0
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9
Time (sec)

Figure A.61: Step response of the system in (a)

however, tr ≈ 1.7 s is sufficient. Take note of the resonant peak at ωn = 1 rad/s in


the magnitude plot of Figure A.62.
Hint: Pay attention to the steps on page 123 and following you have to take to find
out how large the resonant peak at the corner frequency is.

c) Bringing the system in the normal form one gets


(10 + 100s) (s − 10)
G(s) = 10
s2 + 101s + 100
jw
10(1 + 0.1 ) (−10)(1 − jw
10
)
G(jw) = 10 jw
(1 + jw) (100)(1 + 100 )
jw
(1 + 0.1 ) (1 − jw
10
)
G(jw) = −10 jw .
(1 + jw) (1 + 100 )

From this one can see that the static gain is -10 and there will be:
- a zero in the LHP at ω1 = 0.1 rad/s
- a pole in the LHP at ω2 = 1 rad/s
- a zero in the RHP at ω3 = 10 rad/s
- a pole in the LHP at ω4 = 100 rad/s.
The bode plot can be seen in Figure A.64. The system is proper and therefore
physically not realizable since there is no roll-off at high frequencies.
Solutions for Chapter 4 237

0
|G(jω)|dB

−50

−100
0
arg G(jω) (deg)

−90

−180

−270
10−1 100 101 102
ω (rad/s)

Figure A.62: Bode plot of the system in (b)

14

12

10
tr

8
y(t)

0
0 2 4 6 8 10 12 14 16 18
Time (sec)

Figure A.63: Step response of the system in (b)


238 Solutions

60

50
|G(jω)|dB

40

30

20
270
arg G(jω) (deg)

180

90

0
10−3 10−2 10−1 100 101 102 103 104
ω (rad/s)
Figure A.64: Bode plot of the system in (c)

Problem 4.2 (Bode plot for time delay)

a) A pure time delay is described by G(s) = e−Td s . The gain and the phase are
180◦
|e−Td jω | = 0 dB and arg(e−Td jω ) = −ωTd ≈ −ωTd · 57◦ ,
π
respectively. The magnitude and phase over scaled frequency are shown in Figure
A.65.

1 10

|G(jωTd )|dB −57 ωTd (deg)

0
−570
arg G(jωTd ) (deg)
1 10 ωTd (deg)
Figure A.65: Bode plot of pure time delay
Solutions for Chapter 4 239

The transfer function of a first order Padé approximation is


Td
1− 2
s
G(s) = Td
1+ 2
s
This transfer function represents an all-pass filter, thus the gain is 1 for all frequen-
cies
1 − j Td2ω
|G(jω)| = = 0dB
1 + j Td2ω
The pole in the left half plane and the zero in the right half plane lead to a phase
drop of −90◦ at the corner frequency ωk = 2/Td . Magnitude and phase are shown
in Figure A.66.

1 2 10
0
|G(jωTd )|dB ωTd (deg)
−90
0
−180
arg G(jωTd ) (deg)
1 10 ωTd (deg)
Figure A.66: Bode plot for 1st order Padé approximation of a pure time delay

b) Matlab solution: Sol_Problem4_4_BodePlotTimeDelay.mlx

800
Time Delay
600 Pade 1
Pade 4
400
arg G(jω) (deg)

200

−200

−400

−600 −1
10 100 101
ω (rad/s)
Figure A.67: Comparison of the phase plots of time delay approximations
240 Solutions

Problem 4.3 (Transfer function from Bode plot)

The information listed in the table can be obtained from the Bode plot.

Frequency Slope Phase


ω  0.1 -20 dB/dec −90◦
0.1 < ω < 10 0 dB/dec −180◦
10 < ω < 1000 -20 dB/dec −270◦
ω  1000 -40 dB/dec −360◦

From this the following can be concluded:

• For low frequencies -20 dB/dec ⇒ transfer function includes an integrator. The
−90◦ phase means that the gain is positive: Ks , K > 0;

• Increase in gain slope at ω = 0.1 rad/s means a zero.


s
The simultaneous phase drop
1− 0.1
means that the zero is in the right half plane: 1 ;

• Drop of gain slope by 20 dB/dec and phase shift of −90◦ at ω = 10 ⇒ left half
plane pole: 1+1 s ;
10

• Drop of gain slope by additional 20 dB/dec and phase shift of another −90◦ at
ω = 1000 ⇒ left half plane pole: 1+ 1 s ;
1000

Combining the above leads to the transfer function:


s
(1 − 0.1 )
G(s) = K s s
s(1 + 10 )(1 + 1000 )
where the gain K is yet to be determined. There are two ways to do this:

• Use the fact, that for low frequencies only the integrator is important, that is we
have only a slope of −20 dB/dec. An integrator 1/s has a gain of 1 when ω = 1.
An integrator with gain K/s has a gain of 1 when ω = K, that is in the amplitude
plot it will cross the 0 dB line at frequency ω = K. Thus to find the gain of G(jω)
we need to continue the integrator slope until it crosses the 0 dB line, readout the
frequency w0 = 10−2 at which this happens an get K = 10−2 .

• Compute the gain analytically by substituting for a particular ω in G(jω), compute


the gain and compare it with the gain on the Bode plot. For example, choosing ω =
10−3 we have |G(j10−3 )| = 20dB and arg(G(j10−3 )) = −90◦ , or G(j10−3 ) = −j10.
j10−3
−3 1− (1)
G(j10 ) = −j10 = K 0.1
j10−3 j10−3
≈K = −jK103
j10−3 (1 + 10
)(1 + 1000
) j10−3 (1)(1)
or K = 10−2 .
Solutions for Chapter 4 241

Substituting this gain yields


s
−2 (1 − 0.1 )
G(s) = 10 s s
s(1 + 10 )(1 + 1000 )

Problem 4.4 (Velocity error constant from Bode plot)

It follows from the definition of the velocity error constant (2.9) that for small ω the
open-loop function can be approximated as
Kvel
L(jω) ≈ .

The Bode plot shows that at low frequencies the open-loop system behaves like an integra-
tor. Combining this observation with the above approximation suggests that the velocity
error constant Kvel can be seen as the gain of a fictitious integrator. It can be read off the
Bode plot at the frequency ωc at which the straight line representing the low-frequency
magnitude crosses the 0 dB line. Thus, since the phase is −90◦ for low frequencies
Kvel
=1 ⇒ Kvel = ωc = 0.01 ⇒ e∞ = 100
jωc

Problem 4.5 (Analytic continuation)

a) Z ∞ Z ∞
X(s) = x(t)e−st dt = Keat σ(t)e−st dt
0 0
where, σ(t) is unit step, then,
Z ∞
X(s) = K e(a−s)t dt
0
whose domain of convergence includes the part of s-plane for which Re(s) > a. This
region will be on the right of a line passing through the point s = a as shown by
the shaded region in Figure A.68.
Since, a > 0 this region does not include the imaginary axis.

b) Taylor series expansion of X(s) about the point s = s0 is given by,


00 000
0 2X (s0 ) 3 X (s0 )
X(s) = X(s0 ) + (s0 − s)X (s0 ) + (s0 − s) + (s0 − s) + ···
2! 3!
where,
dX(s) −1 −1
X 0 (s0 ) := = =
ds s=s0
(s0 − a)2 (a − s0 )2
2
d X(s) 2 −2
X 00 (s0 ) := = =
ds2 s=s0
(s0 − a)3 (a − s0 )3
3
d X(s) −6 −3!
X 000 (s0 ) := = =
ds3 s=s0
(s0 − a)4 (a − s0 )4
242 Solutions

Im(s)

a Re(s)

Figure A.68: Domain of definition of x(t)

The series expansion of X(s) can thus be written as,


!
1 s − s0 (s − s0 )2
X(s) = − + + + ...
a − s0 (a − s0 )2 (a − s0 )3

X (s − s0 )n
= − n+1
n=0 (a − s0 )

c) If s = a, then

X 1
X(s) = − =∞
n=0 (a − s0 )

If s 6= a, then to prove the convergence of the series we have to use the ratio test.
Thus, the series is convergent if

(s − s0 )n+1 (s − s0 )n
,
<1
(a − s0 )n+2 (a − s0 )n+1
s − s0
<1
a − s0
|s − s0 | < |a − s0 |
Thus, the region of convergence is extended to a disk centered at s0 , but does not
touch, the pole s = a as shown in Figure A.69.
The approach of analytic continuation works by first expanding the function of
s ∈ C about all points in its domain of definition and then extending the domain
of definition to all the points for which this series expansion converges.
Above we have shown that the series expansion of an unstable transfer function
remains convergent in a disk centered at s0 and extended up to s = a. Using
the analytic continuation technique we can extend the domain of definition of an
unstable transfer function to the region which is the union of all such disks. It
can be seen that this extended region includes all the points in s-plane except the
point s = a. Hence, the imaginary axis is included in the domain of definition of an
unstable transfer function.
Solutions for Chapter 4 243

Im(s)

s0

a Re(s)

Figure A.69: Extended Domain of definition of x(t)

Problem 4.6 (Nyquist criterion)

a) The open loop transfer function is


1
L(jω) = 10   
jω 1 + j ω1 ω
1 + j 100

The Bode plot of this transfer function is constructed by superimposing the Bode
plots of all factors of the denominator as well as that of the constant gain 10. See
Figure A.70.

b) The Nyquist plot can be sketched by determining magnitude and phase at selected
frequencies from the Bode plot:

ω → 0: |L(jω)| → ∞ arg(L(jω)) = −90°


ωc : |L(jω)| = 1 −90° < arg(L(jωc )) < −180°
ωB : |L(jω)| ≈ −10 dB = 0.1 arg(L(jωB )) = −180°
ω → ∞: |L(jω)| → 0 arg(L(jω)) = −270°

The Nyquist diagram generated by Matlab is shown in Figure A.71. Note that
the Nyquist curve intersects the real axis at about −0.1 and approaches the origin
at an angle of −270° = +90°. To see this in the Matlab plot one has to zoom in
at the origin.
To check whether the infinite arc closes the Nyquist plot on the left or the right
hand side, modify the Nyquist path to take a small detour to the right to avoid the
open-loop pole at the origin. Checking the phase along the small semicircle reveals
that the Nyquist diagram is closed at +∞ (to the right). Thus the critical point
−1 is not encircled, i.e. N = 0. Since the open loop transfer function does not
have any poles in the right half plane, we have P = 0. With Z = P + N = 0 it
244 Solutions

|L(jω)|dB 100

−100

−200
−90
arg L(jω) (deg)

−180

−270
10−2 10−1 100 101 102 103 104
ω (rad/s)
Figure A.70: Bode plot

·10−2
1
Zoom
100
0.5
Im (L (s))

0 0

−0.5
−100
−1
−12 −8 −4 0 −0.1 0
Re (L (s)) Re (L (s))
Figure A.71: Nyquist plot

follows that the closed loop system with KP = 1 is stable. It will become unstable
as soon as the gain is increased to the point where the intersection with the real
axis is moved from s = −0.1 to the critical point s = −1. This requires a gain of
KP = 1/0.1 = 10; thus the closed loop is stable for 0 < KP < 10.

Matlab file: Sol_Problem4_6_NyquistCriterion.mlx


Solutions for Chapter 4 245

Problem 4.7 (Nyquist criterion for systems with time delay)

Matlab file: Sol_Problem4_7_NyquistCriterionTdelay.mlx


If the system has a time delay of Td = 1, an additional phase lag of

180°
arg(e−Td jω ) = arg(e−jω ) = −ω ≈ −ω · 57°
π

is introduced. For selected frequencies one can calculate

φT d (0.1) = −5.7° ; φT d (1) = −57° ; φT d (10) = −570° ;

The phase margin without time delay, determined at wb ≈ 3 rad/s, is approximately 16°.
Because of the time delay the phase at this frequency is reduced by φT d = 3 · 57° = 171°.
This means that the closed loop system with KP = 1 becomes unstable. Figure A.72 and
Figure A.73 show the Bode and Nyquist plots, respectively, generated with Matlab.

100
|G(jω)|dB

−100

−200
·105
0
arg G(jω) (deg)

−2

−4

10−2 10−1 100 101 102 103 104


ω (rad/s)
Figure A.72: Bode plot
246 Solutions

Zoom
100
Im (G (s)) 2

0 0

−2
−100

−20 −15 −10 −5 0 −20 −15 −10 −5 0


Re (G (s)) Re (G (s))
Figure A.73: Nyquist plot

Problem 4.8 (Conditionally stable system)

The open-loop Bode plot of the system is shown in Figure A.74. Trying to obtain the
stability margins from the Bode diagram (for K = 1) yields a phase margin of 44◦ ,
which indicates a stable closed-loop system, whereas the gain margin of −12 dB seems
to suggest that the system is unstable. This example illustrates the caveat that was
given when stability margins in a Bode diagram were discussed: the rules for inferring
closed-loop stability from the Bode diagram do not always apply.
To investigate the stability of the loop for the system given here, one should examine the
Nyquist plot, which is shown in Figure A.75 (i) and Figure A.76. This plot displays one
counterclockwise encirclement of -1. Checking the phase angle along a small semi-circle
around the origin reveals that there is also one clockwise encirclement by an infinite arc;
thus there is no net encirclement and the feedback loop is stable when the gain is 1.
However, it is clear that making the gain smaller than 0.25 will result in two clockwise
encirclements, indicating two unstable closed loop poles. A feedback system that looses
stability when the gain is reduced is called conditionally stable.
Information about closed-loop stability can also be obtained from the root locus plot
shown in Figure A.75 (ii): two root locus branches move from the left half plane into the
right half plane when the gain becomes smaller than 0.25.
Matlab file: Sol_Problem4_8_BodeNyquistInfGainMargin.mlx
Solutions for Chapter 4 247

150
GM = −12dB and P M = 44.1◦
100
|G(jω)|dB

50

−50
−90
arg G(jω) (deg)

−180

−270
10−2 10−1 100 101 102
ω (rad/s)
Figure A.74: Bode plot

2 2
i ii

1 1
Im (G (s))

Im (s)

0 0

−1 −1

−2 −2
−4 −2 0 −6 −4 −2 0
Re (G (s)) Re (s)
Figure A.75: Nyquist plot (i) and root locus plot (ii)
248 Solutions

ω → +∞ ω → 0+
Im(s) Im(L(s))

ω → −∞

Re(s) ω → +∞ Re(L(s))
−1

ω → −∞
ω → 0−

Figure A.76: Nyquist path


Solutions for Chapter 4 249

Problem 4.9 (Lead compensator)

Matlab file: Sol_Problem4_9_LeadComp.mlx


It is clear from Figures 4.34 and 4.35 that the closed-loop bandwidth ωb should be in
general close to the open-loop crossover frequency ωc to have a desirable closed-loop
response. Using the procedure given in the lecture notes, the controller C(s) can be
calculated as follows:

1) Determine the gain at the desired bandwidth |G(ωb ≈ ωc = 5)| = 0.34 from which
K 0 = |G|
1
= 2.9155 can be calculated. An increase of magnitude to 0 dB at this
frequency will make the closed-loop bandwidth close to 5.

2) Determine ωm = ωc and φm = P M −180−φ(ωm ). The phase angle at this frequency


is −149.04◦ . To achive PM = 70◦ the phase has to be raised by φm = 39.04◦ .

3) The controller parameters are therefore


1 − sin φm
α= = 0.2271,
1 + sin φm


ωL = α · ωc = 2.3829.
and

K= α · K 0 = 1.3895

The designed controller has this form:


s + 2.383
C(s) = 6.12 .
s + 10.49

In Figure A.77 the different bode plots for each step are shown.
Figure A.78 shows the Matlab sisotool view of this controller with three windows
showing the root locus, the open loop frequency response and the step-response of the
closed-loop system, respectively. One can see that the phase margin requirement and the
obtained crossover frequency are satisfied.
To check the condition that the control signal should have a magnitude of less than 5
in response to a unit step reference, use since Matlab 2017a New Plot – New Step –
IOTransfer_r2u. With the controller above the control input will not exceed 6. One can
now try to manually adjust the controller to meets the requirement |u| < 5.
By adjusting the zero, pole and gain of the controller (this can be done directly in the
Bode diagram or Root Locus with the left mouse button) one can try to find a controller
that satisfies all requirements or a good comprise. For example the controller
1 + 0.46s
C(s) = 1.12 ,
1 + 0.1s
250 Solutions

50

0
|G(jω)|dB

−50

−100
−90
G(s)
K 0 G(s)
arg G(jω) (deg)

C 0 (s) G(s)
C (s) G(s)
−135

−180
10−1 100 101 102 103
ω (rad/s)
Figure A.77: Bode plot of G(s), K 0 G(s), C 0 (s)G(s) and C(s)G(s)

Figure A.78: sisotool windows with plant and lead compensator


Solutions for Chapter 4 251

leads to the Bode plot and root locus shown in Figure A.78. Note that at Edit – SISOTool
Preferences under Options one can choose between different representations of transfer
functions.
252 Solutions

Problem 4.10 (Experimental generation of the frequency response)

a) • The Matlab command ’bode’ can be used to create the Bode plot shown in
Figure A.79.

20
|G(jω)|dB

−20
0
arg G(jω) (deg)

−45

−90
10−2 10−1 100 101 102
ω (rad/s)
Figure A.79: Bode plot of the motor model

• The corner frequency for this transfer function is obtained from |1.1jω + 1| =

2, thus ω = 0.9. This can also be read off the Bode plot, which shows at
ω = 0.9 a phase drop of −45°.

b) The use of "Problem4_10_PlotSinusComparison.m" is illustrated for ω = 1 rad/s


in Figure A.80. The left plot shows the determination of the magnitude. The
amplitude of the input signal is 2 and that of the output is approximately 24,
indicating a magnitude of the motor transfer function at this frequency of 24
2
= 12 ≈
21.6 dB. The right plot illustrates how the phase is obtained, which is ≈ −55°. This
needs to be repeated for all frequencies.

c) i) Create vectors that contain the tested frequencies and the corresponding mag-
nitudes and phases. With "Problem4_10_BodeComparison.m" the experimen-
tal Bode plot can be compared to that of the model; this is shown in Fig-
ure A.81
Solutions for Chapter 4 253

20 Output
Input
10
Amplitude

−10

−20

0 1 2 3 4 5 0 100 200 300


Time (sec) Degree
Figure A.80: Magnitude detection (left) and phase detection (right) of the motor transfer
function at ω = 1

30

20
|G(jω)|dB

10

−10
0
arg G(jω) (deg)

−45

−90
Simulation
−135 Experimental
10−1 100 101
ω (rad/s)
Figure A.81: Comparison of model and experimental Bode plot

ii) From Figure A.81 it can be seen that the corner frequencies do not match.
The experimental frequency response has a corner frequency of ≈ 0.76 rad/s.
Adjusting the model such that it has the same corner frequency leads to
21
G(s) = .
1.32 · s + 1
254 Solutions

Figure A.82 shows a good match between the experimental and the adjusted
model frequency response.

30
Simulation
Experimental
20
|G(jω)|dB

10

−10
10−1 100 101
0
Simulation
Simulation with 0.01 s delay
arg G(jω) (deg)

Experimental
−45

−90

10−1 100 101


ω (rad/s)
Figure A.82: Comparison of adjusted model and experimental Bode plot

iii) The motor model in (1.34), which was confirmed in Problem 1.6.b) under the
assumption K = Kg = Km is
1
K
G(s) = JR
K2
s +1

In Figure A.81 we see that the static gains in both Bode plots match well,
whereas the corner frequencies do not. The model transfer function has a
static gain of K0 = K1 , thus K should not be changed. The model mismatch
is apparently due to inaccurate values of J and/or R; this can have various
reasons.

d) Comparing the simulation and experimental results, it can be seen that the mag-
nitude plot and phase plot already are a good match. By introducing a time delay
of 10 ms to the simulation, the magnitude plot does not change, but the phase plot
matches better with the experimental results. Keep in mind that the time delay
Solutions for Chapter 4 255

needed depends on the experimental data. Every motor is slightly different and so
are the operating conditions.

Simulink file: Model_Problem4_10_BodeExp.slx


Problem 4.11 (Lead-lag compensator for shaft control of a DC motor)

Matlab file: Sol_Problem4_11_LeadLagComp.mlx

a) i) According to the rule of thumb, one obtains


1.7 1.7
tr ≈ ≈ ⇒ ωb ≈ 3.78.
ωn ωb
In order to design a lead compensator three parameters have to be determined:
the gain K, α and ωL .
• The gain K 0 is chosen such that the required bandwidth is met. The
Bode plot shows that the magnitude at a frequency of ωc = 3.78 rad/s is
approximately 2.3 dB ≈ 1.3. Alternatively, one gets exact result by typing
the command
[mag,phase]=bode(G,3.78).
Hence, the gain K 0 is taken as K 0 = |G(j3.78)|
1 1
≈ 1.3 ≈ 0.77.
• Here ωm is ωm = ωc = 3.78 rad/s.
• Now φm has to be determined such that a phase margin of 50° is obtained.
From the Bode plot one finds that the phase is φ(ωc ) ≈ −166.47°, which
means that the current phase margin is 13.53°. This results in φm =
50° − 13.53° = 36.47°. Using these values yields
1 − sin(φm )
α= ≈ 0.2544
1 + sin(φm )

ωL = α · ωm ≈ 1.9066 rad/s

and K = α · K 0 ≈ 0.388.
• The designed lead compensator is then
s
1+ ωL 1 + 0.524s
Clead (s) = K α·s = 0.388 . (A.1)
1+ ωL
1 + 0.133s
PM 1
With a phase margin PM = 50°, a damping of ζ ≈ 100
= 2
is obtained.
− pπζ
1−ζ 2
This leads to an expected overshoot of Mp = e ≈ 0.16 = 16 %.
Now call ’sisotool(G,Clead)’, where G is the transfer function G(s) =
21
1.1·s2 +s
and Clead is the lead compensator of equation (A.1). Figure A.83 shows
the resulting window. Right click the closed loop step response and choose
Characteristics → Rise T ime. The rise time of 0.317 s and the phase margin
of 50.1° which is shown in the phase plot are as requested in the task.
256 Solutions

Figure A.83: Matlab sisotool with plant and designed lead compensator

ii) An experimental step response with the values K = 0.388, TL = ω1L = 0.524
and α = 0.254 for the lead compensator is shown in Figure A.84. The expected
overshoot of about 16% is confirmed.

12

10

8
y(t)
Amplitude

6 r(t)

0
3.5 4 4.5 5 5.5 6 6.5 7 7.5 8
Time (sec)
Figure A.84: Angle control, experimental closed-loop step response with lead compensator
Solutions for Chapter 4 257

iii) The tracking steady state error should be zero as in the step response of Fig-
ure A.83, since there is integral action in the plant. However, one can observe
a slight steady state error of about 4% in Figure A.84.
If a step disturbance is added at the plant input, there will be a steady state
error, because there is no integral action in the controller but only in the plant.
A typical input disturbance is actuator friction, which for the DC motor control
problem can be treated similar to the external load torque Tl in model (1.34).
iv) Figure A.85 shows the response to a input step disturbance while using the
lead compensator designed in a)i).

y(t)
15 r(t)
Amplitude

10

4 4.5 5 5.5 6 6.5 7


Time (sec)
Figure A.85: Angle control, experimental closed-loop response to input step disturbance
with lead compensator

As one can see there is a significant steady state error.

b) i) The transfer function of a lag compensator (4.14) is the same as that of a lead
compensator, except that we have α > 1. Using the command ’sisotool(G,C)’
a lag compensator can be designed. The static gain of the lag compensator
R−Du G
has to be 10, because e∞ = lim 1+C lag Clead G
. The right corner frequency of
s→0
the lag compensator is chosen approximately one decade below the left corner
frequency of the lead compensator in order to not affect the previously tuned
phase margin.
The left corner frequency of the lag compensator is then chosen such that
the demanded change in magnitude is realized. In this case, the gain at low
frequencies shall be increased by 20 dB. Hence, the left corner frequency has
to be placed one decade below the right corner frequency, resulting in the
following lag compensator:
258 Solutions

1 + 5.3s
Clag (s) = 10 . (A.2)
1 + 53s
Even though the phase margin should not have been changed by the lag com-
pensator, it is reduced to 47.4°. While this will result in a slightly larger
overshoot, a similar tracking behavior can be expected.
To add a lag compensator to the controller that has already been designed
using the sisotool, right-click a plot, choose Edit Compensator... right click
the Dynamics field and select Add P ole/Zero and Lag (see Figure A.86).
To display the effect of an input disturbance step, right-click IOT ransf er_du2y
in the Responses window and select P lot → step. Figure A.87 shows that the
effect of a step disturbance is reduced by a factor of 10 by using the lag com-
pensator A.2.

Figure A.86: Lead-lag compensator design (sisotool)

3
Shaft angle (rad)

Shaft angle (rad)

2
2

1 1

0 0
0 1 2 3 0 10 20 30
Time (seconds) Time (seconds)
(a) Lead compensator (b) Lead-lag compensator
Figure A.87: Input step disturbance response with lead (left) and lead-lag (right) com-
pensator (sisotool)
Solutions for Chapter 4 259

ii) By using the given Simulink model with the values Klag = 10, TL,lag = 5.3 and
αlag = 10 of the lag compensator (A.2) along with the previously designed lead
compensator, the effect of the resulting lead-lag compensator can be verified. It
can be observed that the steady state performance of the lead-lag compensator
with an additional input disturbance (Figure A.88) is better than the lead
compensator performance (Figure A.85).

y(t)
r(t)
15
Amplitude

10

5 10 15 20 25 30 35
Time (sec)

Figure A.88: Experimental angle control with additional input disturbance

Figure A.89 shows the lead-lag compensator performance without an additional


input disturbance.

15 y(t)
r(t)
Amplitude

10

0
5 10 15 20 25 30
Time (sec)
Figure A.89: Experimental angle control

The result depends on the motor and operating conditions, moreover friction is
highly nonlinear. It has been assumed, however, that friction is just a constant
input disturbance.
260 Solutions

iii) If the pole-zero pair of the lag compensator is shifted to the right, the distur-
bance rejection will be faster. The larger the distance between the pole and the
zero is, the smaller will be the steady state error. A possible fast lag controller
is:
s+1
Clag (s) = . (A.3)
s + 0.01
Because the right corner frequency of this lag compensator is so close to the
left corner frequency of the lead compensator, the phase margin is reduced to
35.4°. This results in a greater overshoot. The speed and steady state error
are improved, however (see Figure A.90).

y(t)
15 r(t)
Amplitude

10

0
4 5 6 7 8 9
Time (sec)
Figure A.90: Experimental angle control without additional input disturbance and faster
lag compensator

Problem 4.12 (Realisable lead compensator)

a) The Bode and Nyquist diagrams of C0 (s) are sketched in Figure A.91. For ω → ∞
0.2
the system gain is Kp 0.05 = 4Kp . This controller is a lead compensator.

b) The extra pole has to be added at high frequency, so that it does not destroy the
phase increased achieved by the lead compensator. At the same time such high
frequency pole will reduce the sensitivity to noises, that are typically present at
high frequencies. Thus one could chose Tf such that the pole is several decades
after the pole of the lead compensator, e.g. Tf = 10−4 . Sketches of the Bode and
Nyquist diagrams are shown correspondingly in Figure A.92 and Figure A.93.
Solutions for Chapter 4 261

|4KP |dB
|C(jω)|dB

Im(C(jω))
|KP |dB

0.1 1 10 100 ω (rad/s)


KP 4KP
arg C(jω) (deg)
ω=0 ω → ∞ Re(C(jω))
90

−90
1 10 100 ω (rad/s)
Figure A.91: Bode and Nyquist plot of a lead compensator

|C(jω)|dB |4KP |dB

−20 dB/dec
|KP |dB

10 104 ω (rad/s)
arg C(jω) (deg)
90
0
−90
10 104 ω (rad/s)
Figure A.92: Bode plot of a lead compensator with roll-off

Im(C(jω))

KP 4KP
ω→∞ ω=0 Re(C(jω))

Figure A.93: Nyquist diagram of a lead compensator with roll-off

Problem 4.13 (Design of a PID controller for a DC motor using the Bode plot)
262 Solutions

a) Bode plots of C(s) and L(s) = G(s)C(s) for different values of TI and TD are
shown in Figure A.94 and A.95. Here the red curve shows the nominal controller as
designed in Exercise 2.5. The green curves represent the PID controller where the
respective value is decreased by up to 60% and for the blue curves it is increased
by up to 60/%, respectively. One can see that the integration time TI can be used
to move the lower corner frequency and the derivative time TD to move the higher
corner frequency of the controller. Starting values from Exercise 2.5 :

KP = 1.2, TI = 0.44, and TD = 0.38

40 40
1.6 · TI/D
1.3 · TI/D
30 1.0 · TI/D 30
|C(jω)|dB

0.7 · TI/D
20 0.4 · TI/D 20

10 10

0 0

90 90
arg C(jω) (deg)

45 45

0 0

−45 −45

−90 −90
10−1 100 101 102 103 10−1 100 101 102 103
ω (rad/s) ω (rad/s)
Figure A.94: Bode plot of C, variation of TI (left) and TD (right)

b) The lead-lag compensators C(s) = Clead (s)Clag (s) with


1 + 0.29s
Clead (s) = 0.56
1 + 0.0609s
and
s + 0.3125 s + 0.5
Clag,1 (s) = or Clag,2 (s) = ,
s + 0.03125 s + 0.005
Solutions for Chapter 4 263

100 100
1.6 · TI/D
1.3 · TI/D
50 1.0 · TI/D 50
|L(jω)|dB

0.7 · TI/D
0 0.4 · TI/D 0

−50 −50

−100 −100

−90 −90
arg L(jω) (deg)

−135 −135

−180 −180

−225 −225
10−1 100 101 102 103 10−1 100 101 102 103
ω (rad/s) ω (rad/s)
Figure A.95: Bode plot of L, variation of TI (left) and TD (right)

both discussed in Exercise 4.11, are compared with the PID controller from Exercise
2.5. In Figure A.96 the Bode plots of both controllers are shown.
While the lead-lag compensator has two real poles in the negative half plane, the
PID controller has a single pole at the origin. The latter means that the magnitude
plot of the PID controller has a slope of -20dB/dec and the phase starts at −90°.
The zeros of a lead-lag compensator can not become complex as can those of a PID
controller. For the given values here, the PID controller in fact has a complex zero
pair. That explains the fast increase of phase for 1 < ω < 10.
In Figure A.97, the open-loop transfer functions L(s) = G(s)C(s) for these con-
trollers are shown. It can be seen that the PID controller has a better phase margin
and a larger cross over frequency.

c) Figure A.98 shows the the step responses of the motor controlled by lead, lead-lag
compensator and PID controller. The PID controller shows better performance: it
rises faster with less overshoot. The better rise time can be explained by the Bode
264 Solutions

100 CPID (s)


Clead (s) · Clag,1 (s)
|C(jω)|dB

Clead (s) · Clag,2 (s)


50

90
arg C(jω) (deg)

45

−45

−90
10−4 10−3 10−2 10−1 100 101 102 103
ω (rad/s)
Figure A.96: Bode plot of lead-lag compensator (0.3125/0.03125), lead-lag compensator
(0.5/0.005) and PID controller (PID nominal)

plot, since ts ≈ 1.7


ωb
. This is reflected in the Bode plot by the larger bandwidth and
phase margin of the PID controller.
Solutions for Chapter 4 265

200 G(s) · CPID (s)


G(s) · Clead (s) · Clag,1 (s)
|L(jω)|dB

G(s) · Clead (s) · Clag,2 (s)


100

−100
−90
arg L(jω) (deg)

−135

−180

−225
10−4 10−3 10−2 10−1 100 101 102 103
ω (rad/s)
Figure A.97: Bode plot of L with lead-lag compensator (0.3125/0.03125), lead-lag com-
pensator (0.5/0.005) and PID controller (PID nominal)
266 Solutions

1.25

Amplitude 1

0.75

0.5
CPID (s)
0.25 Clead (s) · Clag,1 (s)
Clead (s) · Clag,2 (s)
0
0 1 2 3 4
Time (sec)
Figure A.98: Simulated step responses with lead-lag compensator (0.3125/0.03125), lead-
lag compensator (0.5/0.005) and PID controller (PID nominal)

Problem 4.14 (Systune)

a) i) The lag part of the compensator is defined in the same way as the lead part.
Taking the initial values from the given equation, the code to be added yields:

TLlag = realp(’TLlag’,0.3125);
alag = realp(’alag’,0.1);
Lag = tf([1 TLlag],[1 (TLlag*alag)]);

ii) Each section can be evaluated by rightclick → evaluate current section. The
system’s step responses can be directly plotted by step(T0) or for a better
overview by step(T0(’y’,’r’)) and step(T0(’y’,’d’)) in different plots.
It is obvious, that disturbances are not fully rejected. In order to plot the
open-loop response, the system needs to be cut open. This is achieved by
setting the loop switch X open, T0.Blocks.X.Open = 1. The phase margin
can be directly read of the plot created by margin(T0(’y’,’r’)). The phase
margin is P M = 48.9◦ .

b) i) The parameters for TuningGoal.Margins are already given in the task. Since
the goal is an open-loop requirement, the point-to-point measuring location
for the response should be X. The desired rise time is tr = 0.45 and thus ωc ≈
1.7/tr = 3.78. Therefore, the response time to be set for TuningGoal.Tracking
should be tresp = 2/ωc ≈ 2/4 = 0.5. The target steady state error does not
Solutions for Chapter 4 267

have much importance, since it is already implicitly demanded by input dis-


turbance rejection which forces the controller to have integral behavior. The
integral behavior leads to larger gains at low frequencies and leads to a low
steady state error. The steady state error for the tuning goal should be chosen
between 1 − 10 %. The goal is supposed to be a bound on the closed-loop
system, therefore the addressed transfer function must be r → y. The code for
both tuning goals can be defined as followed:
MargReq = TuningGoal.Margins(’X’,5,50);
TrackReq = TuningGoal.Tracking(’r’,’y’,0.5,0.1);
ii) After running Systune one should notice that ten sets of final values were re-
turned. The option RandomStart forces Systune to perform a defined number
of optimization runs. Using the Matlab help, it is clear that a value close
to 1 implies that the requirements were met. Moreover, the soft constraints
are minimized subject to the hard constraints being below 1. The hard con-
straint on the pole region is necessary in order to keep the controller in realistic
dimensions and maintain a reasonable comparison between the controllers.
Considering the returned values, one can see variations between each run. A
value close to 1 implies satisfied tuning goals and some runs return values high
above 1. Therefore, it seems reasonable to perform several runs since one might
receive a single bad result if only one run is performed. The reason for this
behavior is the algorithm used by Systune. It is based on local optimization
techniques and global optimality cannot be guaranteed. As seen in the exam-
ple, sometimes local solutions are found which aren’t satisfying. Therefore,
one should always perform several runs when using Systune.

c) i) The step responses can be plotted similar to a). E.g., by:


figure(1)
step(T0(’y’,’r’),T1(’y’,’r’))
figure(2)
step(T0(’y’,’d’),T1(’y’,’d’))
The rise time can be read off the plots by rightclick → Characteristics → rise
time. For the tuned system, the rise time should be approximately tr ≈ 0.2.
ii) The bode diagram can be plotted similar to a). By using margin() the phase
margin can be directly read off. The response time is calculated by tresp = 2/ωc .
The values should be approximately P M ≈ 70◦ and ωc ≈ 7. Subsequently,
the requirements are well met and better disturbance rejection was achieved,
as seen in c) i), without worsening the original goals.

Problem 4.15 (Resonance rise)


268 Solutions

a) The plant G(s) is stable, because the poles are in the left half plane.

b) i) Figure A.99 shows the Nyquist plot for positive frequencies.

·10−2
6

2
B C
Im (G(s))

0
A
−2

−4

−6
−0.1 −5 · 10−2 0
Re (G(s))
Figure A.99: Nyquist plot for positive frequencies

ii) Figure A.100 shows the Nyquist plot for positive and negative frequencies.

c) Checking the phase angle along a small semi-circle around the origin (Nyquist path)
reveals that the Nyquist plot is completed by an infinite arc to the right.
Solutions for Chapter 4 269

·10−2
6

2
B C
Im (G(s))

0
A
−2

−4

−6
−0.1 −5 · 10−2 0
Re (G(s))
Figure A.100: Nyquist plot for positive (blue) and negative (red) frequencies

Problem 4.16 (Resonance rise)

a) The range of values of KP for which the closed-loop system is stable is 0 < KP < 10

b) If the resonance peak crosses the 0dB-line the system becomes unstable.
100
c) The transfer function G(s) = has three poles. One pole is at the
s(s2 + s + 1000)
origin and the other poles are complex cojugate at −0.5±31.6i. Figure A.101 shows
the root locus; when KP increases the complex conjugate pole pair leaves the left
half plane and the system becomes unstable.
270 Solutions

50

Im (s)

−50

−80 −60 −40 −20 0 20 40


Re (s)
Figure A.101: Root locus

Problem 4.17 (Resonance peak)

a) The Bode plot of the transfer function G(s) with KP = 1 is shown in Figure A.102.

100
KP = 1.0
KP = 0.1
|L(jω)|dB

−100

−90
arg L(jω) (deg)

−135
−180

−40 −20
−225

60 −270
−315
0 20
10−1 100 101 102 103

Re (s)
ω (rad/s)
Figure A.102: Bode plot and L(s) with ωb = 1 rad/s
Solutions for Chapter 4 271

b) With KP = 0.1 the closed-loop bandwidth is ωb = ωc = 1 rad/s, which can be seen


in Figure A.102 (red curve).
G(s) can be separated into two systems

1002 s + 10
Ga (s) = and Gb (s) =
s2 + 2 · 100 · 0.001 + 1002 s2
where |Ga (j100)| = 1/2ζ = 500 and |Gb (j100)| ≈ 0.01. Together with KP = 0.1 it
follows |KP · G(j100)| ≈ 0.5. Hence, the closed-loop system is now stable, because
the resonance peak is not crossing the 0 dB-line anymore.

c) From b) we know KL0 = 0.1. From the Bode plot in Figure A.102 we can obtain
the desired increase in phase margin as the difference of desired and current phase
margin:
φm = 60° − (arg (L(j100)) − (−180°)) ≈ 55°
Now α can be determined as
1 − sin(φm )
α= ≈ 0.1 .
1 + sin(φm )
√ √
With ωm = ωc = 1 rad/s, ωL = α · ωm = 0.32 and KL = α · KL0 = 0.032 we get
s
1 + 0.32
C1 (s) = 0.032 s .
1 + 3.2

d) To determine C1 (j100), consider the frequency ω = 100 rad/s is more than one
decade above the pole of C1 (s). Thus we have
3.2
|C1 (j100)| ≈ ω→∞
lim C1 (jω) = 0.032 = 0.32
0.32
and subsequently
|C1 (j100) · G(j100)| ≈ 1.6 .
Figure A.103 shows the new Bode plot of L(s) = G(s)C1 (s) (red line). One can
see that the resonance peak of L(s) = G(s)C1 (s) is crossing the 0 dB-line and the
closed-loop system is again unstable.

e) One possible choice of a compensator is:


1 10
C2 (s) = s =
10
+1 s + 10

To not significantly effect the intended closed-loop bandwidth from b) the new pole
of C2 (s) is one decade above the crossover frequency. Figure A.103 shows the new
Bode plot for L(s) = G(s)C1 (s)C2 (s) (yellow line). The resonance peak is not
crossing the 0 dB-line anymore and the system is stable.
272 Solutions

40
|L(jω)|dB

−40 G(jω)
G(jω)C1 (jω)
−80 G(jω)C1 (jω)C2 (jω)

−90
arg(L(jω))(deg)

−180

−270

−360 −1
10 100 101 102 103
ω(rad/s)
Figure A.103: Bode plot of stepwise adjusted L(jω)
Solutions for Chapter 5 273

A.5 Solutions for Chapter 5

Problem 5.1 (Tustin approximation)

a) A possible solution of Problem 4.9 is a lead compensator with transfer function


s+1
C(s) = 4
s+6
Using the Tustin approximation (5.7) with

2 1 − z −1 2 z−1
s= · −1
= · ,
T 1+z T z+1
a discrete-time transfer function that approximates C(s) can be computed as
2
T
z−1
z+1
+1 (T + 2)z + (T − 2) T + 2 z + TT −2
+2
D(z) = 4 2 z−1 =4 =4· · −2
T z+1
+6 (6T + 2)z + (6T − 2) 6T + 2 z + 6T
6T +2

To find a difference equation that approximates the controller behaviour we consider

U (z) T + 2 z + TT −2
+2
D(z) = =4· · −2 .
E(z) 6T + 2 z + 6T
6T +2

Thus, we have

(6T + 2)u(kT + T ) + (6T − 2)u(kT ) = 4(T + 2)e(kT + T ) + 4(T − 2)e(kT ).

b) The static gains are


2
C(0) =
3
2T 2
D(1) = 4 = = C(0)
12T 3

c) For the sampling period T = 0.1 one gets


8.4z − 7.6 z − 0.905
D(z) = = 3.23
2.6z − 1.4 z − 0.538
See Matlab solution: Problem5_1_TustinApprox.mlx

Problem 5.2 (Tustin simulation and sampling time)

Matlab file: Problem5_2_TustinSimulation.mlx


The effect of undersampling is shown in Figures A.104, A.105 and A.106 .
274 Solutions

1
Output y(t)

0.5

0
20
continuous
Control signal u(t)

discrete
10

0 0.5 1 1.5 2 2.5 3 3.5 4


Time (sec)
Figure A.104: Comparison between continuous-time and sampled-data control with sam-
pling time T=0.1s

1
Output y(t)

0.5

0
20
continuous
Control signal u(t)

discrete
10

0 0.5 1 1.5 2 2.5 3 3.5 4


Time (sec)
Figure A.105: Comparison between continuous-time and sampled-data control with sam-
pling time T=0.01s
Solutions for Chapter 5 275

1
Output y(t)

0.5

0
20
continuous + delay
Control signal u(t)

discrete
10

0 0.5 1 1.5 2 2.5 3 3.5 4


Time (sec)
Figure A.106: Comparison between continuous-time and sampled-data control with sam-
pling time time T=0.1s and time delay

Problem 5.3 (Discrete-time control of the DC Motor)

a) The discretized ideal lead-controllers are:


for T0 = 10 ms
1.487z − 1.459
C0 (z) = ,
z − 0.9275
T1 = 30 ms
1.413z − 1.334
C1 (z) = ,
z − 0.7973
and for T2 = 100 ms
1.217z − 1.005
C2 (s) = .
z − 0.4536

b) In Figure A.107 the simulated closed-loop step responses with the continuous-time
as well as the discretized lead compensators are shown. They can be generated
using Model_Problem5_3_SimLeadContinuousDiscreteComparison.slx.
The effect of undersampling can be clearly seen. Also, step responses in dotted
lines are shown, which are the continuous-time step responses but with a time delay
276 Solutions

15
100 ms
30 ms
Angle (rad) 10
10 ms

0
0 1 2 3 4 5
Time (sec)
Figure A.107: Simulated closed-loop step responses with continuous-time and discrete-
time lead compensators: continuous-time (black,dashed), discrete-time with T0 = 10 ms
(green), T1 = 30 ms (red), and with T2 = 100 ms (blue)

of Ti /2, where i corresponds to the given sampling time. One can observe, that
T0 = 10 ms is a good choice for the sampling time and that the transient behaviour
deteriorates for an undersampled system.

c) When comparing the step responses obtained by using the discretized controllers
with the continuous-time responses, in which case a time delay of Ti /2 has been
added to the model, a rather close agreement can be observed (see Fig. A.107).
It might be useful to use the approximation to do stability analysis in frequency
domain before implementing a controller on a real plant in its discretized version.
This way, we can use all the tools from continuous-time control theory and still take
into account discrete-time implementation!

d) Figure A.108 shows the experimental closed-loop step responses for the sampling
times T0 , T1 and T2 .
As one can see, the effect observed in the simulation also occurs in the experiment:
the peak overshoot seen in Figure A.108 is similar to the simulated one with a
sampling time of 100 ms.

Simulink files:
• Model_Problem5_3_Sampling10ms.slx
• Model_Problem5_3_Sampling30ms.slx
• Model_Problem5_3_Sampling50ms.slx
• Model_Problem5_3_Sampling100ms.slx
• Model_Problem5_3_SimLeadContinuousDiscreteComparison.slx
Solutions for Chapter 5 277

12.5

100 ms
10
30 ms
Angle (rad)

7.5
10 ms
5

2.5

0
0 2 4 6 8
Time (sec)
Figure A.108: Experimental closed-loop step response with lead compensators imple-
mented with a sampling time of T0 = 10 ms (green), T1 = 30 ms (red) and of T2 = 100 ms
(blue)
280 B. Translation of Technical Terms

Appendix B

Translation of Technical Terms

English German
Actuator Aktuator
Bandwidth Bandbreite
Bi-proper sprungfähig
Bode Diagram Bode-Diagramm
Characteristic Equation charakteristische Gleichung
Closed-Loop System geschlossener (Regel-)Kreis
Continuous-Time zeitkontinuierlich
Control Error Regelfehler
Control Input / Controller Output Stellgröße
Control Loop Regelkreis
Controller Regler
Convolution Faltung
Corner Frequency Eckfrequenz
Damping Ratio Dämpfungsmaß
Denominator Nenner
Difference Equation Differenzengleichung
Differential Equation Differentialgleichung
Direct Feedthrough direkter Durchgriff
Discrete-Time zeitdiskret
Disturbance Rejection Störgrößenunterdrückung
Dominant Pole Pair dominantes Polpaar
Feedback Rückführung
Feedback Control Regelung
Feedforward Control Steuerung
Final Value Theorem Endwerttheorem
Frequency Response Frequenzgang
281

English German
Crossover Frequency Durchtrittsfrequenz
Gain Verstärkung
Gain Margin Amplitudenreserve
Impulse Response Impulsantwort
Initial Value Theorem Anfangswerttheorem
Input Disturbance Eingangsstörung
Internal Model Principle Internes-Modell-Prinzip
Laplace Transform Laplace Transformation
Linear Time Invariant linear-zeitinvariant
Magnitude Betrag
Minimum-Phase minimalphasig
Natural Frequency Eigenfrequenz
Numerator Zähler
Open-Loop System offener (Regel-)Kreis
Oscillation Schwingung
Output Disturbance Ausgangsstörung
Output / Measurement Equation Ausgangsgleichung / Messgleichung
Partial Fraction Expansion Partialbruchzerlegung
Peak Overshoot maximale Überschwingweite
Phase Condition Phasenbedingung
Phase Margin Phasenreserve
Phase-Lag Compensation nacheilende Phasenkorrektur
Phase-Lead Compensation vorauseilende Phasenkorrektur
Physical Realizability physikalische Realisierbarkeit
Plant Regelstrecke
Plant Output Regelstreckenausgang
Pole Polstelle
Reference Command Sollwert
Rise Time Anstiegszeit
Root Locus Wurzelortskurve
Sampling Frequency Abtastfrequenz
Sensitivity Empfindlichkeit
Settling Time Ausregelzeit
Stable stabil
Stability Criterion Stabilitätskriterium
State Equation Zustandsgleichung
282 B. Translation of Technical Terms

English German
State Space Model Zustandsraummodell
State Variables Zustandsvariablen
State Vector Zustandsvektor
Static Gain / DC Gain statische Verstärkung
Steady State Stationärer Zustand
Steady State Error bleibende Regelabweichung
Step Response Sprungantwort
Strictly Proper streng proper
System Response Systemantwort
Time Constant Zeitkonstante
Time Delay Totzeit
Time Domain Zeitbereich
Tracking Sollwertfolge
Tracking Error Führungsgrößenabweichung
Transfer Function Übertragungsfunktion
Transient Response Einschwingverhalten
Unstable instabil
Zero Nullstelle
Further Reading

[1] G. F. Franklin, J. D. Powell, A. Emami-Naeini, and J. D. Powell, Feedback control


of dynamic systems. Prentice hall Upper Saddle River, 2002, vol. 4.
[2] K. Ogata and Y. Yang, Modern control engineering. Prentice hall India, 2010, vol. 5.
[3] R. C. Dorf and R. H. Bishop, Modern control systems. Pearson, 2011, vol. 12.
[4] T. M. Inc., Get started with matlab, 2020. [Online]. Available: https://de.mathworks.
com/help/matlab/getting-started-with-matlab.html.
[5] ——, Get started with simulink, 2020. [Online]. Available: https://de.mathworks.
com/help/simulink/getting-started-with-simulink.html.
Index

A Critical damping ration 25


Angle of departure 89 Crossover frequency 139
Asymptote 87

B D
Bandwidth 124 Damped natural frequency 26
closed-loop 145 Damping ratio 24
Block diagram 21 DC gain see Static gain
Bode diagram 116 DC motor 36
complex conjugate pole pair 123 control input 38
corner frequency 117 disturbance input 38
system type 120 Derivative Feedback 57
Bode plot 121 Derivative time 57
bandwidth 124 Difference equation 170
Bode’s gain-phase theorem 127 Differential equation models 1
Break-away point 90 Digital Control 169
Break-in point 90 Digital implementation of PID Control
172
C Dirac delta function 9
Characteristic equation 14 Discrete-time signal 169
Characteristic polynomial 14 Discrete-time system
Characteristic response 16 static gain 175
Closed-loop bandwidth 145 Discrete-time transfer function 173
Closed-loop control 50, 53 Discrete-time unit step function 171
Closed-loop frequency response 144 Disturbance input 38
Closed-loop pole Disturbance rejection 52
root locus 81 Dominant pole pair 31
Closed-loop transfer function 22
Continuous-time signal 169
Control E
time delay system 100 Error constant 68
Control input 38 position 68
Convolution integral 13 velocity 68
Corner frequency 117 Exponential function 8
286 INDEX

F N
Feeback control 49 Natural frequency 26
Feedback damped 26
derivative 57 Negative gains
integral 57 root locus 98
proportional 54 Non-minimum-phase system 125
Final value theorem 13 Nyquist path 132
First order system 23 Nyquist plot 128
Forward shift operator 173 Nyquist stability criterion 130
Frequency response Nyquist stability test 134
PID control 154
O
Open-loop control 49, 53
G Output equation 6
Gain margin 138
limits of usefulness 143 P
Padé Approximation 103
I PD control 57
Impulse response 18 Peak overshoot 28
Initial value theorem 13 Phase angle
Integral feedback 57 root locus 82
Integral time 58 Phase contribution of poles and zeros 82
Integrator windup effect 62 Phase lag 114
Internal model principle 69 Phase lead 114
Phase margin 138
limits of usefulness 143
L
second order approximation 141
Laplace table 10
Phase-lag
Laplace transform 6
compensation 153
sinusoidal function 8
Phase-lead
differentiation and integration 11
compensation 147
exponential function 8
Physical realizability 20
time delay 8
PI control 60
unit impulse 9
PID control 59
unit step 7
digital implementation 172
Linear time invariant systems 2
frequency response 154
Linearity 2
PID controller
Low pass behaviour 116
ideal 61
LTI systems 2
real 61
Plant parameters, uncertain 50
M Pole 14
Marginally stable system 20 location 19
Measurement equation 6 Pole excess 21
Minimum-phase system 125 Pole region
Motor see DC motor second order system 30
INDEX 287

Position error constant 68 System matrix 6


Proper system 21 System type
Proportional feedback 54 from Bode diagram 120
Systems type 64
R
Reset time 58 T
Resonant peaks 124 Third order system 31
Rise time 28 stability 74
Roll-off 146 Time constant 16, 23
Phase 146 Time delay system
Root locus 56, 81 control of 100
angle of departure 89 Padé approximation 103
asymptote 87 Smith predictor 103
break-away point 90 Time domain specification 30
break-in point 90 second order system 27
closed-loop poles 81 Time invariance 3
negative gains 98 Tracking problem 53
phase angle 82 Trajectory of the poles 81
routh array 92 Transfer function 11
Routh array 92
block diagram 21
Routh’s stability test 70
conversion to state space model 12
discrete time 173
S
physical realizability 20
Sampling frequency 176
pole 14
Sampling period 169
zero 32
Second order system 24
Transient response 16
pole region 30
Tustin approximation 172
stability 74
Type k system 68
time domain specification 27
Sensitivity 50
Settling time 29 U
Sinusoidal function 8 Unit impulse 9
Smith predictor 103 Unit step 7
Stability 19 Unstable system 19, 125
Stability margin 138
State equation 6 V
State space model 5 Velocity error constant 68
conversion to transfer function 12
State vector 5 Z
Static gain 18, 24 Z-transform 174
discrete-time system 175 Zero
Steady state 58 transfer function 32
Steady state tracking error 64 Zero order hold 169
Step response 18 Ziegler-Nichols 61
Strictly proper system 21 Zoh see Zero order hold

View publication stats

You might also like