0% found this document useful (0 votes)
656 views179 pages

Introduce To Control System PDF

Uploaded by

zerocool86
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
656 views179 pages

Introduce To Control System PDF

Uploaded by

zerocool86
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 179

INTRODUCTION TO

CONTROL SYSTEMS

Kamran Iqbal
University of Arkansas at Little Rock
University of Arkansas at Little Rock
Introduction to Control Systems

Kamran Iqbal
This open text is disseminated via the Open Education Resource (OER) LibreTexts Project (https://LibreTexts.org) and like the
hundreds of other open texts available within this powerful platform, it is licensed to be freely used, adapted, and distributed.
This book is openly licensed which allows you to make changes, save, and print this book as long; the applicable license is
indicated at the bottom of each page.
Instructors can adopt existing LibreTexts texts or Remix them to quickly build course-specific resources to meet the needs of
their students. Unlike traditional textbooks, LibreTexts’ web based origins allow powerful integration of advanced features and
new technologies to support learning.

The LibreTexts mission is to unite students, faculty and scholars in a cooperative effort to develop an easy-to-use online
platform for the construction, customization, and dissemination of OER content to reduce the burdens of unreasonable
textbook costs to our students and society. The LibreTexts project is a multi-institutional collaborative venture to develop the
next generation of open-access texts to improve postsecondary education at all levels of higher learning by developing an
Open Access Resource environment. The project currently consists of 13 independently operating and interconnected libraries
that are constantly being optimized by students, faculty, and outside experts to supplant conventional paper-based books.
These free textbook alternatives are organized within a central environment that is both vertically (from advance to basic level)
and horizontally (across different fields) integrated.
The LibreTexts libraries are Powered by MindTouch® and are supported by the Department of Education Open Textbook Pilot
Project, the UC Davis Office of the Provost, the UC Davis Library, the California State University Affordable Learning
Solutions Program, and Merlot. This material is based upon work supported by the National Science Foundation under Grant
No. 1246120, 1525057, and 1413739. Unless otherwise noted, LibreTexts content is licensed by CC BY-NC-SA 3.0.
Any opinions, findings, and conclusions or recommendations expressed in this material are those of the author(s) and do not
necessarily reflect the views of the National Science Foundation nor the US Department of Education.
Have questions or comments? For information about adoptions or adaptions contact [email protected]. More information
on our activities can be found via Facebook (https://facebook.com/Libretexts), Twitter (https://twitter.com/libretexts), or our
blog (http://Blog.Libretexts.org).

This text was compiled on 10/11/2020


TABLE OF CONTENTS

1: MATHEMATICAL MODELS OF PHYSICAL SYSTEMS


1.0: PRELUDE TO MATHEMATICAL MODELS OF PHYSICAL SYSTEMS
1.1: MODEL VARIABLES AND ELEMENT TYPES
1.2: FIRST-ORDER ODE MODELS
1.3: SECOND-ORDER ODE MODELS
1.4: AN ELECTRO-MECHANICAL SYSTEM MODEL
1.5: INDUSTRIAL PROCESS MODELS
1.6: STATE VARIABLE MODELS
1.7: LINEARIZATION OF NONLINEAR MODELS
OCATVE EXAMPLES
R EXAMPLES
OCTAVE EXAMPLES

2: TRANSFER FUNCTION MODELS


2.0: PRELUDE TO TRANSFER FUNCTION MODELS
2.1: SYSTEM POLES AND ZEROS
2.2: SYSTEM NATURAL RESPONSE
2.3: SYSTEM STABILITY
2.4: THE STEP RESPONSE
2.5: SINUSOIDAL RESPONSE OF A SYSTEM
BLANK

3: FEEDBACK CONTROL SYSTEM MODELS


3.0: PRELUDE TO FEEDBACK CONTROL SYSTEM MODELS
3.1: STATIC FEEDBACK CONTROLLER
3.2: FIRST-ORDER DYNAMIC CONTROLLERS
3.3: PI, PD, AND PID CONTROLLERS
3.4: RATE FEEDBACK CONTROLLERS
BLANK

4: CONTROL SYSTEM DESIGN OBJECTIVES


4.0: PRELUDE TO CONTROL SYSTEM DESIGN OBJECTIVES
4.1: STABILITY OF THE CLOSED-LOOP SYSTEM
4.2: TRANSIENT RESPONSE IMPROVEMENT
4.3: STEADY-STATE ERROR IMPROVEMENT
4.4: DISTURBANCE REJECTION
4.5: SENSITIVITY AND ROBUSTNESS

5: CONTROL SYSTEM DESIGN WITH ROOT LOCUS


5.0: PRELUDE TO CONTROL SYSTEM DESIGN WITH ROOT LOCUS
5.1: ROOT LOCUS FUNDAMENTALS
5.2: STATIC CONTROLLER DESIGN
5.3: TRANSIENT RESPONSE IMPROVEMENT
5.4: STEADY-STATE ERROR IMPROVEMENT
5.5: TRANSIENT AND STEADY-STATE IMPROVEMENT
5.6: CONTROLLER REALIZATION

6: COMPENSATOR DESIGN WITH FREQUENCY RESPONSE METHODS


6.0: PRELUDE TO COMPENSATOR DESIGN WITH FREQUENCY RESPONSE METHODS
6.1: FREQUENCY RESPONSE PLOTS
6.2: MEASURES OF PERFORMANCE
6.3: FREQUENCY RESPONSE DESIGN

1 10/11/2020
6.4: CLOSED-LOOP FREQUENCY RESPONSE

7: DESIGN OF SAMPLED-DATA SYSTEMS


7.0: PRELUDE TO DESIGN OF SAMPLED-DATA SYSTEMS
7.1: MODELS OF SAMPLED-DATA SYSTEMS
7.3: SAMPLED-DATA SYSTEM RESPONSE
7.4: STABILITY OF SAMPLED-DATA SYSTEMS
7.5: CLOSED-LOOP SYSTEM RESPONSE
7.6: DIGITAL CONTROLLER DESIGN BY EMULATION
7.7: ROOT LOCUS DESIGN OF DIGITAL CONTROLLERS
7.2: PULSE TRANSFER FUNCTION

8: STATE VARIABLE MODELS


8.0: PRELUDE TO STATE VARIABLE MODELS
8.1: STATE VARIABLE MODELS
8.3: REALIZATION OF TRANSFER FUNCTION MODELS
8.4: LINEAR TRANSFORMATION OF STATE VARIABLES
8.2: STATE-TRANSITION MATRIX AND ASYMPTOTIC STABILITY

9: CONTROLLERS FOR STATE VARIABLE MODELS


9.0: PRELUDE TO CONTROLLERS FOR STATE VARIABLE MODELS
9.1: CONTROLLER DESIGN IN SATE-SPACE
9.2: TRACKING WITH FEEDFORWARD CONTROLLER
9.3: TRACKING PI CONTROLLER DESIGN

10: CONTROLLERS FOR DISCRETE STATE VARIABLE MODELS


10.0: PRELUDE TO CONTROLLERS FOR DISCRETE STATE VARIABLE MODELS
10.1: STATE VARIABLE MODELS OF SAMPLED-DATA SYSTEMS
10.2: CONTROLLERS FOR DISCRETE STATE VARIABLE MODELS

BACK MATTER
INDEX
INDEX
GLOSSARY

2 10/11/2020
CHAPTER OVERVIEW
1: MATHEMATICAL MODELS OF PHYSICAL SYSTEMS
Learning Objectives

Obtain a mathematical model of a physical system.


Obtain system transfer function from its differential equation model.
Obtain a physical system model in the state variable form.
Linearize a nonlinear dynamic system model about an operating point.

1.0: PRELUDE TO MATHEMATICAL MODELS OF PHYSICAL SYSTEMS


1.1: MODEL VARIABLES AND ELEMENT TYPES
1.2: FIRST-ORDER ODE MODELS
1.3: SECOND-ORDER ODE MODELS
1.4: AN ELECTRO-MECHANICAL SYSTEM MODEL
1.5: INDUSTRIAL PROCESS MODELS
1.6: STATE VARIABLE MODELS
1.7: LINEARIZATION OF NONLINEAR MODELS
OCATVE EXAMPLES
R EXAMPLES
OCTAVE EXAMPLES

1 10/11/2020
1.0: Prelude to Mathematical Models of Physical Systems
This chapter describes the process of obtaining the mathematical description of a dynamic system, i.e., a system whose
behavior changes over time. The system is assumed to be assembled from components. The system model is based on the
physical laws that govern the behavior of various system components.
Physical systems of interest to engineers include, for example, electrical, mechanical, electromechanical, thermal, and fluid
systems. By using lumped parameter assumption, their behavior is mathematically described in terms of ordinary differential
equation (ODE) models. These equations are nonlinear, in general, but can be linearized about an operating point for analysis
and design purposes.
Models of interconnected components are assembled from individual component describptions. The components in electrical
systems include resistors, capacitors, and inductors. The components used in mechanical systems include inertial masses,
springs, and dampers (or friction elements). For thermal systems, these include thermal capacitance and thermal resistance. For
hydraulic and fluid systems, these include reservoir capacity and flow resistance.
In certain physical systems, properties (or entities) flow in and out of a system boundary, e.g., a hydraulic reservoir, or thermal
chamber. The dynamics of such systems is described by conservation laws and/or balance equations. In particular, let Q
represent an accumulated property, q and q represent the inflow and outflow rates, then the model is described as:
in out

dQ
= qin − qout + g − c (1.0.1)
dt

where g and c denote the internal generation and consumption of that property.
The Laplace transform converts a linear differential equation into an algebraic equation, which can be manipulated to obtain an
input-output description described as a transfer function. The transfer function forms the basis of analysis and design of
control systems using conventional methods. In contrast, the modern control theory is established on time-domain analysis
involving the state equations, that describe system behavior as time derivatives of a set of state variables.
Linearization of nonlinear models is accomplished using Taylor series expansion about a critical point, where the linear
behavior is restricted to the neighborhood of the critical point. The linear systems theory is well-estabished and serves as the
basic tool for controller design.

9/13/2020 1.0.1 https://eng.libretexts.org/@go/page/24453


1.1: Model Variables and Element Types
Flow and Across Variables
Modeling of a physical system involves two kinds of variables: flow variables that ‘flow’ through the components, and across
variables that are measured across those components.
For example, in electric circuits, potential (voltage) is measured across elements, whereas electrical charge (current) flows
through the circuit elements.
In mechanical linkage systems, displacement and velocity are measured across elements, whereas force or effort ‘flows’
through the linkages.
In thermal and fluid systems, heat and mass serve as the flow variables, whereas temperature and pressure constitute the across
variables.
A physical element is characterized by the relationship between flow and across variables. The three basic types are the
resistive, inductive, and capacitive elements. The terminology, taken from electrical circuits, extends to other types of
physical systems as well.
While the resistive element dissipates energy, both the capacitive and inductive elements store energy. For example, a
capacitor stores electrical energy and a moving mass stores kinetic energy. The energy storage accords memory to the element
that accounts for it dynamic behavior modeled by an ODE.
Let q(t) denote a flow variable and x(t) denote an across variable associated with an element; then, the element type is
defined by their mutual relationships, described as follows:

Definition: Resistive Element


A resistive element is described by a proportional relationship:

x(t) = k q(t) (1.1.1)

Figure 1.1.1 : A resistive element.

For example, the voltage and current relationship through a resister is described by a proportional relationship called Ohm’s
law: V (t) = R i(t) .
Similarly, the force–velocity relationship though a linear mechanical damper is a proportional one: v(t) = 1

b
f (t) .

Definition: Capacitive Element


A capacitive element is described by the relation:

x(t) = k ∫ q(t)dt + x0 (1.1.2)

i.e., the across variable varies in proportion to the accumulated amount of the flow variable. Whereas, the flow variable
varies proportionally with the rate of change of the across variable:
1 dx (t)
q (t) = (1.1.3)
k dt

Figure 1.1.2 : A capacitive element.

Kamran Iqbal 9/13/2020 1.1.1 https://eng.libretexts.org/@go/page/24382


For example, the voltage and current relationship through a capacitor is given as: V (t) = ∫ i(t)dt + V . Since the current
1

C
0

integral represents the accumulation of electrical charge, we have: Q = C V . The inverse relationship is described as:
i (t) = C .
dV

dt

Similarly, the force–velocity relationship that governs the movement of an inertial mass is described as:
dv(t)
v(t) =
1

m
∫ f (t)dt + v0 . Its inverse is the familiar Newton’s second law of motion: f (t) = m dt
.

Definition: Inductive Element


An inductive element is described by the relationship:
dq(t)
x(t) = k (1.1.4)
dt

i.e., the flow variable is obtained by differentiating the across variable. Alternatively, the across variable varies in
proportion to the accumulation of the flow variable as:
1
q(t) = ∫ x(t)dt + q0 (1.1.5)
k

Figure 1.1.3 : An inductive element.

di(t)
For example, the voltage–current relationship through an inductive coil in an electric circuit is given as: V (t) = L
dt
. The
inverse relationship is described as: i(t) = ∫ V (t)dt + i .
1

L
0

df (t)
Similarly, the force–velocity relationship though a linear spring is given as: v(t) = 1

K dt
. The inverse relation is described
as: f (t) = K ∫ v (t) dt + f . 0

Kamran Iqbal 9/13/2020 1.1.2 https://eng.libretexts.org/@go/page/24382


1.2: First-Order ODE Models
1.2.1 First-Order ODE Models
Electrical, mechanical, thermal, and fluid systems that contain a single energy storage element are described by first-order
ODE models, as illustrated in the following examples.

Example 1.2.1
A series RC network is connected across a constant voltage source, Vs (Figure 1.2.1). Kirchhoff’s voltage law (KVL) is
used to model the circuit behavior as: v + v = V R C s

In the above capital letters represent constant values and small letters represent time-varying quantities.
dv0
Let vC = v0 define the circuit output; then, v R = iR = RC
dt
, hence

dv0 (t)
RC + v0 (t) = Vs (1.2.1)
dt

Figure 1.2.1 : A series RC circuit driven by a constant voltage source.

Example 1.2.2
A parallel RL network is connected across a constant current source, I (Figure 1.1). The circuit is modeled by a first-
s

order ODE, where the variable of interest is the inductor current, i , and Kirchhoff’s current law (KCL) is applied at a
L

node to obtain: i + i = I
R L s

diL
By substituting i R =
R
v
=
L

R dt
we obtain the ODE description of the RL circuit as:

L diL (t)
+ iL (t) = Is (1.2.2)
R dt

Figure 1.2.2 : A parallel RL circuit driven by a constant current source.

1.2.2 Generic First-Order Model


Let u(t) denote a generic input, y(t) denote a generic output, and τ denote the time constant; then, a generic first-order ODE
model is expressed as:
dy(t)
τ + y(t) = u(t) (1.2.3)
dt

The time constant, τ , denotes the time when the system response to a constant input rises to 63.2% of its final value. The time
constant is measured in [sec] .
For example, τ = RC for the RC circuit, and τ =
L

R
for the RL circuit.

Example 1.2.3
The motion of an inertial mass, m, acted by a force, f (t), in the presence of kinetic friction, represented by b , is governed
by Newton’s second law of motion (Figure 1.2). Let v (t) represent the velocity; then, the resultant force on the mass

Kamran Iqbal 9/13/2020 1.2.1 https://eng.libretexts.org/@go/page/24383


element is: f − bv . Hence
dv(t)
m + bv(t) = f (t) (1.2.4)
dt

The time constant for the mechanical model is: τ =


m

b
, which describes the rate at which the velocity builds up in
response to a constant force input.

Figure 1.2.3 : Motion of an inertial mass with applied force under surface friction.

Further examples of first-order models include the thermal and fluid systems. Theses systems are modeled by using balance
equations applied to a control volume as illustrated below.

Example 1.2.4
A model for room heating is developed as follows (Figure 1.3): let q , denote heat inflow, C denote the thermal capacity
i r

of the room, θ denote the room temperature, θ denote the ambient temperature, and R denote a thermal resistance
r a w

representing wall insulation; then, the heat energy balance equation is given as:
dθr θr − θa
Cr + = qi (1.2.5)
dt Rw

In terms of the temperature differential, Δθ = θ r − θa , the governing ODE is:


dΔθ
Rw Cr + Δθ = Rw qi (1.2.6)
dt

dy
By comparing with the generic first-order ODE model, τ + y = u , the thermal time constant is described as:
dt

τ = R C . Further, the temperature is measures in [ C ], heat flow is measured in [W ], thermal capacitance is measured

w r

in [ J

C
] , and thermal resistance is measured in [ W
C
] .

Figure 1.2.4 : A model of room heating with heat source and outflow through the walls.

Example 1.2.5
A cylindrical reservoir is filled with an incompressible fluid supplied from an inlet with a controlled exit through a
hydraulic valve at the bottom (Figure 1.4).
Let P denote the hydraulic pressure, A denote the area of the reservoir, h denote the height, V denote the volume, ρ
denote the mass density, R denote the valve resistance to the fluid flow, q , q denote the volumetric flow rates, and g
l in out

denote the gravitational constant; then, the base pressure in the reservoir is obtained as:
ρg
P = Patm + ρgh = Patm + V (1.2.7)
A

The reservoir capacitance is defined as: Ch =


dV

dP
=
A

ρg
; then, the governing equation for hydraulic flow through the
reservoir is given as:

Kamran Iqbal 9/13/2020 1.2.2 https://eng.libretexts.org/@go/page/24383


dP P − Patm
Ch = qin − (1.2.8)
dt Rl

In terms of the pressure difference, the equation is written as:


dΔP
Rl Ch + ΔP = Rl qin . (1.2.9)
dt

dy
By comparing with generic first-order ODE model, τ dt
+y = u , the hydraulic time constant is described as: τ = Rw Cr .
Further, by substituting: ΔP = ρgh and Ch =
ρg
A
, we can equivalently express the ODE in terms of the liquid height,
h (t) , in the reservoir as:
dh
ARl + ρgh = Rl qin (1.2.10)
dt

In the above, the hydraulic pressure is measures in [ m


N
2
] , volumetric flow is measured in [ m

s
] , hydraulic capacitance is
5

measured in [ m

N
] , and flow resistance is measured in [ Ns

m
5
] .

Figure 1.2.5 : A hydraulic reservoir with flow in and flow out through bottom valve.

1.2.2. Solving First-Order ODE Model


dy(t)
Consider the response of a first-order ODE model: τ dt
+ y (t) = u(t) to a step forcing function.
By applying the Laplace transform with initial conditions: y (0) = y , we obtain an algebraic equation: 0

τ (sy (s) − y0 ) + y(s) = u(s) (1.2.11)

We assume a unit step input u (t), where u (s) = 1

s
; then, the output is solved as:
1 τ y0
y (s) = + (1.2.12)
s (τ s + 1) τs + 1

We use partial fraction expansion (PFE) to express the output as:


1 τ τ y0
y (s) = − + (1.2.13)
s τs + 1 τs + 1

By using inverse Laplace transform, we obtain the time-domain solution to the ODE as:
−t/τ
y (t) = 1 + (y0 − 1) e ,   t ≥ 0 (1.2.14)

Let the steady-state value of the output be denoted as: y∞ = limt→∞ y(t)  ; then, the step response of a general first-order
ODE model is expressed as:
−t/τ
y (t) = [y∞ + (y0 − y∞ ) e ] u (t) (1.2.15)

In the above, u (t) denotes a unit step function, used to show causality, i.e., the response is valid for t ≥ 0 .
Transfer Function
The transfer function description of a dynamic system is obtained from the ODE model by the application of Laplace
transform assuming zero initial conditions. The transfer function describes the input-output relationship in the form of a
rational function, i.e., a ratio of two polynomials in the Laplace variable s .

Kamran Iqbal 9/13/2020 1.2.3 https://eng.libretexts.org/@go/page/24383


dy(t)
A first-order ODE model with input u(t) and output y(t) is described as: τ dt
+ y(t) = u(t) .
For the first-order model, application of Laplace transform with zero initial conditions gives: (τ s + 1)y(s) = u(s) .
The resulting input–output transfer function is given as:
y(s) 1
= (1.2.16)
u(s) τs + 1

Output Response
For zero initial conditions, y
0 =0 , the output is expressed as:
−t/τ
y (t) = (1 − e ) u (t) (1.2.17)

The system response for τ = 1 sec is plotted in Figure 1.5.


The output values at selected times, t = kτ ,   k = 0, 1, … are compiled in the following table. By convention, the output is
assumed to have reached steady-state when it attains 98% of its final value. Hence, the settling time of the system is expressed
as: t = 4τ .
s

Table 1.1: The step response of a first-order model at selected time instances.
Time Output value

0 y (0) = 0

1τ 1 −e
−1
≅0.632

2τ 1 −e
−2
≅0.865

3τ 1 −e
−3
≅0.950

4τ 1 −e
−4
≅0.982

5τ 1 −e
−5
≅0.993

Figure 1.2.6 : Response of a first-order ODE model (τ = 1sec ).

pkg load control


s=tf('s');
Gs=1/(s+1);
step(Gs), hold
plot(1:5,1-exp(-(1:5)),'x')

run restart

Kamran Iqbal 9/13/2020 1.2.4 https://eng.libretexts.org/@go/page/24383


1.3: Second-Order ODE Models
1.3.1 Second-Order ODE Models
A physical system that contains two energy storage elements is described by a second-order ODE. Examples of second-order
models are discussed below

Example 1.3.1
𝑉 (𝑡)
A series RLC circuit with voltage input 𝑠 and current output 𝑖(𝑡) has a governing relationship obtained by applying
the Kirchoff’s voltage law to the mesh (Figure 1.3.1):

𝐿 𝑑𝑖(𝑡) 1
𝑑𝑡 + 𝑅𝑖(𝑡)+ 𝐶 ∫ 𝑖(𝑡)𝑑𝑡 = 𝑉𝑠 (𝑡) (1.3.1)
The above integro-differential equation can by converted into a second-order ODE by expressing it in terms of the electric
charge, 𝑞(𝑡)
, as:

𝐿 𝑑𝑑𝑡𝑞(𝑡)2 + 𝑅 𝑑𝑞(𝑡) 1
2
𝑑𝑡 + 𝐶 𝑞(𝑡) = 𝑉𝑠 (𝑡) (1.3.2)
Alternatively, the series RLC circuit can be described in terms of two first-order ODE’s involving natural variables, the
current,𝑖(𝑡) 𝑉 (𝑡)
, and the capacitor voltage, 𝑐 , as:

𝐿 𝑑𝑖(𝑡)
𝑑𝑡 + 𝑅𝑖(𝑡)+ 𝑉𝑐 (𝑡) = 𝑉𝑠 (𝑡),     𝐶 𝑑𝑉𝑐 = 𝑖(𝑡)
𝑑𝑡 (1.3.3)

Figure 1.3.1: A series RLC circuit driven by a constant voltage source.

Example 1.3.2
The motion of a mass element of weight, 𝑚𝑔, pulled upward by a force, 𝑓(𝑡), is described using position output, 𝑦(𝑡), by a
second-order ODE:

𝑚 𝑑𝑑𝑡𝑦(𝑡)
2
2 + 𝑚𝑔 = 𝑓(𝑡) (1.3.4)
The second-order ODE expresses the fact that the moving mass has both the kinetic and potential energies (Figure 1.3.2).

Figure 1.3.2: Motion of an inertial mass under gravitational field.

Example 1.3.3
Kamran Iqbal 9/13/2020 1.3.1 https://eng.libretexts.org/@go/page/24385
A mass–spring–damper system includes a mass affected by an applied force, 𝑓(𝑡); its motion is restrained by a
combination of a spring and a damper (Figure 1.8).
Let 𝑥(𝑡)denote the displacement of the mass from a fixed reference; then, the dynamic equation of the system, obtained
by using Newton’s second law of motion, takes a familiar form:

𝑚 𝑑 𝑑𝑡𝑥(𝑡)2 + 𝑏 𝑑𝑥(𝑡)
2
𝑑𝑡 + 𝑘𝑥(𝑡) = 𝑓(𝑡) (1.3.5)
In compact notation, we may express the ODE as:

𝑚𝑥¨ + 𝑏𝑥˙ + 𝑘𝑥 = 𝑓 (1.3.6)


where the dots above the variable represent time derivative, i.e., 𝑥˙ (𝑡) = 𝑑𝑡 , 𝑥¨ (𝑡) = 𝑑𝑡2 .
𝑑𝑥(𝑡) 𝑑 𝑥(𝑡)
2

Using position, 𝑥(𝑡) , and velocity, 𝑣(𝑡) as variables, the mass-spring-damper system is described by two first-order
equations (called state equations) given as:
𝑑𝑥 = 𝑣(𝑡),      𝑑𝑣 = 1 (−𝑘𝑥(𝑡)− 𝑏𝑣(𝑡)+ 𝑓(𝑡)) (1.3.7)
𝑑𝑡 𝑑𝑡 𝑚
In the absence of damping, the dynamic equation of the mass-spring system reduces to:

𝑚 𝑑2𝑑𝑡𝑥(𝑡)
2 + 𝑘𝑥(𝑡) = 𝑓(𝑡) (1.3.8)
The above equation describes simple harmonic motion (SHM) with 𝜔20 = 𝑘/𝑚 . From elementary physics, the general
solution to the equation is given as:

𝑥(𝑡) = 𝐴𝑐𝑜𝑠𝜔0  𝑡 + 𝐵𝑠𝑖𝑛𝜔0 𝑡  (1.3.9)

Figure 1.3.3: A mass-spring-damper system model.

1.3.2 Solving Second-Order Models


A second-order ODE model can be solved by applying the Laplace transform to both sides of the differential equation. Let a
general second-order ODE model be described as:

𝑦¨ (𝑡)+ 𝑎1 𝑦˙ (𝑡)+ 𝑎2 𝑦(𝑡) = 𝑏1 𝑢˙ (𝑡)+ 𝑏2 𝑢(𝑡) (1.3.10)


Application of the Laplace transform, assuming the following initial conditions: 𝑦(0) = 𝑦0 ,  𝑦˙ (0) = 𝑦˙ 0 ,  𝑢(0) = 0 , gives:

(𝑠2 + 𝑎1 𝑠 + 𝑎2 ) 𝑦(𝑠)− (𝑠 + 𝑎1 ) 𝑦0 − 𝑦˙ 0 = (𝑏1 𝑠 + 𝑏2 )𝑢(𝑠) (1.3.11)


or,

𝑦(𝑠) = 𝑠2 + 𝑎11 𝑠 + 𝑎2 [(𝑠 + 𝑎1 ) 𝑦0 + 𝑦˙ 0 + (𝑏1 𝑠 + 𝑏2 )𝑢(𝑠)] (1.3.12)


Transfer Function
By applying Laplace transform with zero initial conditions, we obtain: (𝑠2 + 𝑎1 𝑠 + 𝑎2 ) 𝑦(𝑠) = (𝑏1 𝑠 + 𝑏2 )𝑢(𝑠) ; the input-
output transfer function is given as:
𝑦(𝑠) = 𝑏1 𝑠 + 𝑏2 (1.3.13)
𝑢(𝑠) 𝑠2 + 𝑎1 𝑠 + 𝑎2
Kamran Iqbal 9/13/2020 1.3.2 https://eng.libretexts.org/@go/page/24385
𝑠2 + 𝑎1 𝑠 + 𝑎2 = 0 .
The characteristic equation of the model is defined as:
For the mass–spring–damper model described by: 𝑚𝑥¨ + 𝑏𝑥˙ + 𝑘𝑥 = 𝑓 (Example 1.3.3), the transfer function from force
input to displacement output is given as:
𝑥(𝑠) 1
𝑓(𝑠) = 𝑚𝑠2 + 𝑏𝑠 + 𝑘 (1.3.14)
Transfer function of a physical systems is a proper fraction, i.e., the degree of the denominator polynomial is greater than the
degree of numerator polynomial.
The roots of its denominator polynomial characterize the response of the second-order ODE model. The response is monotonic
in the case of real roots, and oscillatory for complex roots.

Example 1.3.4
Consider the mass-spring-damper model (Example 1.3.3), where the following parameter values are assumed:
𝑚 = 1, 𝑘 = 2, 𝑏 = 3. Then, the second-order ODE is given as:

𝑥¨ (𝑡)+ 3𝑥˙ (𝑡)+ 2𝑥(𝑡) = 𝑓(𝑡) (1.3.15)


The application of the Laplace transform assuming zero initial conditions gives:

(𝑠2 + 3𝑠 + 2)𝑦(𝑠) = 𝑓(𝑠) (1.3.16)


The characteristic equation of the model is given as: 𝑠2 + 3𝑠 + 2 = 0 . The equation has real roots at: 𝑠 = −1,  − 2 .
Next, let 𝑓(𝑡) = 2𝑢(𝑡), 𝑓(𝑠) = 2𝑠 ; then, the output is solved as:
2
𝑥(𝑠) = 𝑠(𝑠 + 1)(𝑠 (1.3.17)
+ 2)
We use partial fraction expansion (PFE) to obtain:

𝑥(𝑠) = 1𝑠 − 𝑠 +2 1 + 𝑠 +1 2 (1.3.18)
By applying the inverse Laplace transform, the output response of the spring-mass-damper system is obtained as (Figure
1.9):

𝑥(𝑡) = (1 − 2𝑒−𝑡 + 𝑒−2𝑡 ) 𝑢(𝑡) (1.3.19)


where 𝑢(𝑡) represents the unit-step function.
Note: The solution of an ODE generally involves the PFE. We may use the online SimboLab partial fraction calculator for
this purpose (https://www.symbolab.com/solver/part...ns-calculator/).

Example 1.3.5
Consider the mass-spring-damper model (Example 1.3.3), with following parameter values: 𝑚 = 1, 𝑘 = 2, 𝑏 = 2 . Then,
the second-order ODE is given as:

𝑥¨ (𝑡)+ 2𝑥˙ (𝑡)+ 2𝑥(𝑡) = 𝑓(𝑡) (1.3.20)


The application of the Laplace transform assuming zero initial conditions gives:

(𝑠2 + 2𝑠 + 2)𝑦(𝑠) = 𝑓(𝑠) (1.3.21)


The characteristic equation of the model is given as: 𝑠 + 2𝑠 + 2 = 0 . The equation has complex roots at: 𝑠 = −1 ± 𝑗1 .
2
Let 𝑓(𝑡) = 2𝑢(𝑡), 𝑓(𝑠) = 2/𝑠 ; then, the output is solved as:

𝑥(𝑠) = 𝑠 𝑠2 +22𝑠 + 2 (1.3.22)


( )
Kamran Iqbal 9/13/2020 1.3.3 https://eng.libretexts.org/@go/page/24385
Next, a PFE of the output is carried out to obtain:

𝑥(𝑠) = 1𝑠 − 𝑠2 +𝑠 +2𝑠2+ 2 (1.3.23)


The quadratic factor is expressed as: (𝑠 + 1) 2 + 12 ; the quadratic term is split to obtain:

𝑥(𝑠) = 1𝑠 − (𝑠 +𝑠1)+21+ 12 − (𝑠 + 1)12 + 12 (1.3.24)


By applying the inverse Laplace transform, the output response of the spring-mass-damper system is obtained as (Figure
1.9):

𝑥(𝑡) = (1 − 𝑒−𝑡 cos𝑡 − 𝑒−𝑡 sin𝑡) 𝑢(𝑡) (1.3.25)


where 𝑢(𝑡) represents the unit-step function.

Figure 1.3.4: Time response of second-order system models: characteristic equation with real roots (left); with complex roots
(right).

load control
s=tf('s');
Gs1=1/(s^2+3*s+2);
Gs2=1/(s^2+2*s+2);
step(Gs1)
step(Gs2)

run restart

Hello world! Hello world!

Kamran Iqbal 9/13/2020 1.3.4 https://eng.libretexts.org/@go/page/24385


1.4: An Electro-Mechanical System Model
1.4.1 Model of a DC Motor
A electro-mechanical system converts electrical energy into mechanical energy or vice versa. A armature-controlled DC motor
(Figure 1.10) represents such a system, where the input is the armature voltage, V (t) , and the output is motor speed, ω(t) , or
a

angular position θ(t) .


In order to develop a model of the DC motor, let i (t) denote the armature current, and L and R denote the electrical side
a

inductance and the coil resistance. The mechanical side inertia and friction are denoted as J and b , respectively. Let k denotet

the torque constant and k the motor constant; then, the dynamic equations of the DC motor are given as:
b

dia (t)
L + Ria (t) + kb ω(t) = Va (t) (1.4.1)
dt

dω(t)
J + bω(t) − kt ia (t) = 0 (1.4.2)
dt

By using the Laplace transform, these equations are transformed into algebraic equations as:
(Ls + R)ia (s) + kb ω(s) = Va (s) (1.4.3)

(Js + b)ω(s) − kt ia (s) = 0 (1.4.4)

Figure 1.4.1 : Schematic of an armature-controlled DC motor.


Motor Transfer Function
In order to obtain an input-output relation for the DC motor, we may solve the first equation for i (s) and substitute in the
a

second equation. Alternatively, we multiply the first equation by k , the second equation by (Ls + R) , and add them together
t

to obtain:
(Ls + R)(Js + b)ω(s) + kt kb ω(s) = kt Va (s) (1.4.5)

Then, the transfer function of the DC motor with voltage input and angular velocity output is derived as:
ω(s) kt
= (1.4.6)
Va (s) (Ls + R)(Js + b) + kt kb

The denominator polynomial in the DC motor transfer function typically has real roots, which are reciprocals of the motor
time constants (τ , τ ). In terms of the time constants, the DC motor model is described as:
e m

ω(s) kt /JL
= (1.4.7)
Va (s) (s + 1/ τe )(s + 1/ τm )

The electrical constant represents the build up of electrical current in the armature circuit, whreas the mechanical constat
represents the build up of motor speed in response to the developed motor torque. Further, the slower mechanical time constant
dominates the overall motor response to a change in the armature voltage.
The angular position θ (s) of the shaft is obtained by integrating the angular velocity ω(s) ; the transfer function from V a (s) to
the angular displacement θ (s) is given as:
θ(s) kt
= (1.4.8)
Va (s) s [(Ls + R)(Js + b) + kt kb ]

Kamran Iqbal 9/13/2020 1.4.1 https://eng.libretexts.org/@go/page/24388


Example 1.4.1
A small DC motor has the following parameter values:
R = 1Ω, L = 0.01H , J = 0.01 kgm , b = 0.1
2 N −s

rad
, and kt = kb = 0.05 ; then, the motor transfer function from
armature voltage to angular velocity is obtained as:
ω(s) 500 500
= = (1.4.9)
Va (s) (s + 100)(s + 10) + 25 (s + 10.28)(s + 99.72)

The two motor time constants are given as: τ ≅1 0ms, τ ≅100 ms , where τ matches the time constant of an RL
e m e

circuit (τ = L/R ) and τ matches the time constant of inertial mass in the presence of friction (τ = J/b ).
e m m

Assuming a unit-step input, u(s) = 1

s
, is applied to the motor, the motor speed is obtained as:
500 0.488 0.544 0.056
ω (s) = = − + (1.4.10)
s (s + 10.28) (s + 99.72) s s + 10.28 s + 99.72

By applying the inverse Laplace transform, the time-domain output is given as (Figure 13a):
−10.28t −99.72t
ω (t) = [0.488 − 0.544 e + 0.056 e ] u (t) (1.4.11)

where u (t) denotes a unit-step function. The motor response is plotted in Figure 1.4.2.

1.4.2 Simplified Model of a DC motor


A simplified model of the DC motor is obtained by ignoring the coil inductance (L → 0 ). Then, the electrical side equation is
modified as:
Ria (s) + kb ω (s) = Va (s) (1.4.12)

By substituting i a (s) into the torque equation, the mechanical side equation is given as:
R(Js + b)ω(s) + kt kb ω(s) = kt Va (s) (1.4.13)

The resulting first-order motor transfer function is given as:


ω(s) kt /R
= (1.4.14)
Va (s) Js + b + kt kb /R

The first-order model has a single motor time constant (τ m =


JR

bR+kt kb
) , and is written as:

ω(s) kt /JR
= (1.4.15)
Va (s) s + 1/τm

Example 1.4.2
Using the parameter values for a small DC motor (Example 1.4.1), its reduced first-order transfer function is obtained as:
ω(s) 5
= (1.4.16)
Va (s) s + 10.25

The resulting motor time constant evaluates as: τ m ≅97.6 ms , which approximates the slower mechanical time constant
in the second-order model.
Assuming a unit-step input, the motor response is obtained as:
5 0.488 0.488
ω (s) = = − (1.4.17)
s (s + 10.25) s s + 10.25

By applying the inverse Laplace transform, the motor output is given as:
−10.25t
ω (t) = [0.488 − 0.488 e ] u (t) (1.4.18)

Kamran Iqbal 9/13/2020 1.4.2 https://eng.libretexts.org/@go/page/24388


The motor response to a unit-step input is plotted in Figure 1.4.2.

Figure 1.4.2 : DC motor response to unit-step input: second-order motor model (left); first-order motor model (right).

load control
R=1; L=.01; J=.01; b=.1; kt=.05; kb=.05;
s=tf('s');
Gs=kt/((L*s+R)*(J*s+b)+kt*kb)
step(Gs)
L=0;
Gs1=kt/((L*s+R)*(J*s+b)+kt*kb)
step(Gs1)

run restart

Kamran Iqbal 9/13/2020 1.4.3 https://eng.libretexts.org/@go/page/24388


1.5: Industrial Process Models
Industrial Process Models
Industrial processes comprise exchange of chemical, electrical or mechanical energy in the manufacturing of industrial
products. An industrial process model in its simplified form is represented by a first-order lag with a dead-time that represents
the time delay between the application of input and the appearance of the process output.
Let τ represent the time constant associated with an industrial process, τ represent the dead-time, and K represent the process
d

dc gain; then, simplified industrial process dynamics are represented by the following delay-differential equation:
dy(t)
τ + y(t) = Ku(t − td ) (1.5.1)
dt

Application of the Laplace transform produces the following first-order-plus-dead-time (FOPDT) model of an industrial
process:
−τd s
Ke
G(s) = (1.5.2)
τs + 1

where the process parameters {K, τ , τ }, can be identified from the process response to inputs. An rational process model is
d

obtained by using a Taylor series approximation of the delay term, e . Typical such approximations include:
−τd s

−τd s/2
1 1 e 1 − τd s/2
−τd s −τd s −τd s
e ≃ 1 − τd s,    e = ≃ ,    e = ≃ (1.5.3)
τd s τd s/2
e 1 + τd s e 1 + τd s/2

The last expression is termed as first-order Pade’ approximation and is often preferred. Higher order approximations can also
be used.

Example 1.5.1
The process parameters of a stirred-tank bioreactor are given as: {K, τ , τd } = {20, 0.5, 1} . The transfer function model
−s

of the process is formed as: G(s) = .20e

0.5s+1

By using a first-order Pade’ approximation, a rational transfer function model of the industrial process with delay is
20(1−0.5s)
obtained as: G(s) = 2
.
(0.5s+1)

The step response of the bioreactor transfer function with Pade’ approximation shows an undershoot due to the presence
of right half-plane (RHP) zero in the transfer function.

Figure 1.5.1 : Step response of the bioreactor model with Pade’ approximation.

load control
s=tf('s');
Gs=20*(1-.5*s)/(1+.5*s)^2;

Kamran Iqbal 9/13/2020 1.5.1 https://eng.libretexts.org/@go/page/24389


step(Gs)

run restart

Kamran Iqbal 9/13/2020 1.5.2 https://eng.libretexts.org/@go/page/24389


1.6: State Variable Models
State Variable Models
State variable models are time-domain models that express system behavior as time derivatives of state variables, i.e., the
variables to express the process state. The state variables are typically selected as the natural variables associated with the
energy storage elements in the process, but alternate variables can also be used. The state equations of the system describe the
time derivatives of the state variables. When the state equations are linear, they are expressed in a vector-matrix form.
In the case of electrical networks, capacitor voltages and inductor currents serve as natural state variables. In the case of
mechanical systems, positions and velocities of inertial masses serve as natural state variables. In thermal systems, heat flow is
a natural state variable. In hydraulic systems, the head (height of the liquid in the reservoir) is a natural state variable.
The number of state variables determines the system order, however, the choice of state variables for a system model is not
unique. For example, in a mechanical system model, position and momentum can serve as state variables in place of position
and velocity.

Example 1.6.1
A series RLC circuit driven by a constant voltage source contains two energy storage elements, an inductor and a
capacitor. Accordingly, let the inductor current, i(t), and the capacitor voltage, v (t) , serve as state variables. Then, the
c

circuit behavior is represented by the following equations:


dvc di
C = i, L = Vs − vc − Ri (1.6.1)
dt dt

In vector-matrix form, the state equations are represented as:


d vc 0 1/C vc 0
[ ] =[ ][ ]+[ ] Vs (1.6.2)
dt i −1/L −R/L i 1/L

Let v denote the circuit output; then, the output equation is formed as:
c

vc
vc = [ 1 0][ ] (1.6.3)
i

Example 1.6.2
The dynamic equation of the mass–spring–damper system is given as:
2
d x(t) dx(t)
m +b + kx(t) = f (t) (1.6.4)
2
dt dt

Let the position, x(t), and velocity, v(t) = ẋ(t) serve as the state variables, and let x(t) represent the output; then, the
state and output equations for the model are given as:
d x 0 1 x 0
[ ] =[ ][ ]+[ ]f (1.6.5)
dt v −k/m −b/m v 1/m

x
x =[1 0][ ] (1.6.6)
v

Example 1.6.3
The dynamic equations for the DC motor are given as:
dia (t)
L + Ria (t) + kb ω(t) = Va (t) (1.6.7)
dt

Kamran Iqbal 9/13/2020 1.6.1 https://eng.libretexts.org/@go/page/24390


dω(t)
J + bω(t) − kt ia (t) = 0 (1.6.8)
dt

Let i (t), ω(t) serve as the state variables, and let


a ω(t) represent the output; then, the state variable model of the DC
motor is given as:

d ia −R/L −kb /L ia 1/L


[ ] =[ ][ ]+[ ] Va (1.6.9)
dt ω kt /J −b/J ω 0

ia
ω =[0 1][ ] (1.6.10)
ω

For a small DC motor, let the following parameter values be assumed:


R = 1Ω, L = 1 mH ,
2
J = 0.01 kg ⋅ m , b = 0.1
N ⋅s

rad
, kt = kb = 0.05 . Then, the state variable model of the motor is
given as:
d ia −100 −5 ia 100
[ ] =[ ][ ]+[ ] Va (1.6.11)
dt ω 5 −10 ω 0

ia
ω =[0 1][ ] (1.6.12)
ω

State variable models are covered in more detail in Chapters 8-10.

Kamran Iqbal 9/13/2020 1.6.2 https://eng.libretexts.org/@go/page/24390


1.7: Linearization of Nonlinear Models
1.7.1 Linearization of Nonlinear Functions
The behavior of a nonlinear system, described by y = f (x) at a given operating point, x = x , can be approximated by 0

plotting a tangent line to the graph of f (x) at that point. Analytically, linearization of a nonlinear function involves first-order
Taylor series expansion about the operative point.
Let δx = x − x 0 represent the variation from the operating point; then the Taylor series of a function of single variable is
written as:
∂f (x0 )
f (x0 + δx) = f (x0 ) + δx + … (1.7.1)
∂x

The resulting first order model is described by:


∂f (x0 )
f (x) − f (x0 ) = (x − x0 ) (1.7.2)
∂x

Example 1.7.1
Consider a vehicle driven in cruise control are represented by the block diagram (Figure 1.7.1). The forces acting on the
car include its weight, driving force generated by engine torque applied to the wheels, aerodynamic drag, and tire to
surface rolling friction.
The vehicle weighs 1440kg and is driven at 20m/s (about 45 mph). The vehicle experiences aerodynamic drag:
ρv Ac . Assuming ρ = 1.2 kg/m (for air), A = 4m , and c = .25 , results in a nonlinear drag force:
1 2 3 2
F =
d d d
2

F = 0.6 v N .
2
d

A first-order Taylor series expansion of the drag force about the cruising speed (20 m/s) is given as:

Fd (v) = Fd (20) + F ∣ ∣ (v − 20). (1.7.3)
d v=20

Let δF = F − F (20) ,   δv = v − 20, denote the variations in the force and speed; then, the linearized model for the
d d d

drag force is given as:


δFd = 24δv. (1.7.4)

Further, the tires generate a friction force: F r = 0.015W , where W is the weight of the car. For m = 1440kg and
g = 9.8m/s , the tire friction is: F = 212N .
2
r

Let T = rF denote the engine torque, where


e e Fe is the force output and r = 0.33m is the wheel radius; then, the
dynamic equation of the vehicle is given as:
dv
Te /r − Fr − Fd = m (1.7.5)
dt

Substituting the above parameter values results in:


dv
2
m + 0.6 v = 3 Te − 212. (1.7.6)
dt

Let δT denote the variation in the engine torque; then, a linearized model of the vehicle cruising at 20m/s is given as:
e

dδv
1440 + 24δv = 3δTe (1.7.7)
dt

Kamran Iqbal 9/13/2020 1.7.1 https://eng.libretexts.org/@go/page/24391


Figure 1.7.1 : Block diagram of vehicle cruise control system.

1.7.2 Linearization of State Variable Models


Assume that nonlinear state variable model of a single-input single-output (SISO) system is described by the following
equations:

ẋ(t) = f (x, u) (1.7.8)

y(t) = g(x, u) (1.7.9)

where x is a vector of state variables, u is a scalar input, y is a scalar output, f is a vector function of the state and input
variables, and g is a scalar function of those variables.
A stationary point for the model is defined by: f (xe , ue ) = 0 . The deviations from the stationary point are expressed as:
x(t) = x (t) + δx(t); u(t) = u (t) + δu(t) .
e e

In terms of the variations: δx, δu, the linearized model of the system is expressed as:
˙
δ x(t) = [∂ fi /∂ xj ] |( x , ue )
δx(t) + [∂ fi /∂u] |( x , ue )
u(t) (1.7.10)
e e

y(t) = [∂g/∂ xj ] | δx(t) + [∂g/∂u] | δu(t), (1.7.11)


( xe , ue ) ( xe , ue )

where is a Jacobian matrix of partial derivatives; [∂ f /∂u], [∂g/∂ x ] are vectors of partial derivatives, and
[∂ fi /∂ xj ] i j

[∂g/∂u] is a scalar partial derivative; all derivatives are computed at the stationary point.
The linearized model is expressed in its familiar vector-matrix form as:
˙
δ x(t) = Aδx(t) + bu(t) (1.7.12)

T
y(t) = c δx(t) + dδu(t). (1.7.13)

In the above, A represents an n × n system matrix, b is a n × 1 column vector of input distributions, c is a 1 × n row vector T

of output contributions, and d is a scalar gain.

Example 1.7.2
Example 1.18: The model of a simple pendulum is described by the dynamic equation:
2 ¨
m l θ (t) + mgl sin θ(t) = T (t), (1.7.14)

where θ(t) is the pendulum angle, T (t) is the applied torque; m, l represent the mass and the length of the pendulum, and
g is the gravitational constant. By using (θ, ω) as the state variables for the pendulum, the nonlinear model is expressed

as:

d θ ω 0
( ) =( g ) +( ). (1.7.15)
dt ω − sin θ T (t)
l

The Jacobian matrix for the simple pendulum is expressed as:

∂f 0 1
[ ] =( g ). (1.7.16)
∂x − cos θ 0
l

Two equilibrium points in the case of a simple pendulum can be identified: θ e = 0 , 180
∘ ∘
. The linearized models defined
at the equilibrium points are given as:

Kamran Iqbal 9/13/2020 1.7.2 https://eng.libretexts.org/@go/page/24391


d θ 0 1 θ 0

θe = 0 : [ ] =[ g ][ ]+[ ] T (t) (1.7.17)
dt ω − 0 ω 1
l

d θ 0 1 θ 0

θe = 180 : [ ] =[ g ][ ]+[ ] T (t) (1.7.18)
dt ω 0 ω 1
l

θ
The output equation in both cases is given as: θ (t) = [ 1 0][ ] .
ω

Kamran Iqbal 9/13/2020 1.7.3 https://eng.libretexts.org/@go/page/24391


Ocatve examples
An NPV example in Octave

pkg load financial


r=.03/12;
p=(1:60)*1000;
npv(r,p)

run restart

Hello world! Hello world!

Histogram

run restart

A data smoothing example in Octave

pkg load data-smoothing


npts = 20;
x = rand(npts,1)*2*pi;
y = sin(x);
y = y + 1e-1*randn(npts,1);
xh = linspace(0,2*pi,200)';
[yh, lambda] = regdatasmooth (x, y, "d", 3, "xhat", xh);
lambda
plot(x,y,'o','markersize',10,xh,yh,xh,sin(xh))
title("y(x)")
legend("noisy","smoothed","sin(x)","location","northeast");

run restart

hello world

A linear algebra example in Octave

A=randn(3,5);
[u,s,v]=svd(A)

run restart

Kamran Iqbal 9/13/2020 1 https://eng.libretexts.org/@go/page/24384


R Examples
x<-1:10

run restart

Sampling example in R

x<-1:7
sample(x,2)

run restart

1· 5
Plot histogram in R

x<-rnorm(100)
hist(x)

run restart

Kamran Iqbal 9/13/2020 1 https://eng.libretexts.org/@go/page/24386


Octave examples
pkg load control
s=tf('s');
Gs=1/(s+1);
step(Gs)

run restart

pkg load control


s=tf('s');
Gs=2/(s^2+2*s+2);
step(Gs)

run restart

warning: the 'damp' function belongs to the control package from Octave Forge bu
has not yet been implemented.

Please read <http://www.octave.org/missing.html> to learn how you can


contribute missing functionality.
error: 'damp' undefined near line 1 column 1

Kamran Iqbal 9/13/2020 1 https://eng.libretexts.org/@go/page/24387


CHAPTER OVERVIEW
2: TRANSFER FUNCTION MODELS
Learning Objectives

Analyze transfer function models of dynamic systems.


Characterize the natural response of the system model.
Characterize the stability of the system model.
Obtain system response to step, impulse, and sinusoidal inputs.
Visualize the frequency response of the system.

2.0: PRELUDE TO TRANSFER FUNCTION MODELS


2.1: SYSTEM POLES AND ZEROS
2.2: SYSTEM NATURAL RESPONSE
2.3: SYSTEM STABILITY
2.4: THE STEP RESPONSE
2.5: SINUSOIDAL RESPONSE OF A SYSTEM
BLANK

1 10/11/2020
2.0: Prelude to Transfer Function Models
This chapter analyzes the transfer function models of physical systems developed in Chapter 1. The transfer function is
obtained by the application of Laplace transform to the linear differential equation description of the system. The transfer
function, denoted by G (s) , is a rational function of a complex frequency variable, s . Given the transfer function and an input,
u (s) , the response of the system can be computed as:

y (s) = G (s) u (s) . (2.0.1)

The transfer function is a ratio of two polynomials is s. The zeros of the transfer function, i.e., those frequencies that elicit no
system response, are the roots of numerator polynomial. The poles of the transfer function, i.e., those frequencies where the
system response is undefined, are the roots of denominator polynomial.
The system impulse response, i.e., its response to a unit-impulse input, contains the natural modes of system response. These
include terms of the form e , where p is a pole of the transfer function. The natural response of a stable system dies out with
p t
i
i

time.
The system step response, i.e., its response to a unit-step input, comprises both natural and forced responses, where the forced
response is a constant. Once its natural response dies out, the system output is assumed to reach a steady-state. The dc gain of
the system denotes its gain to a constant input.
System stability refers to the system being well-behaved and predictable under various operating conditions. The bounded-
input bounded-output (BIBO) stability refers to the system response staying finite to every finite input. The BIBO stability
requires that the poles of the system transfer function are located in the open left half of the complex s -plane.
The frequency response function of a system, obtained by substituting s = jω in the transfer function, characterizes its
response to sinusoidal inputs in the steady-state, which is a sinusoid at the input frequency. Further, the magnitude of the
response is scaled by the system gain at the input frequency, and has a phase contribution from the system transfer function.
The frequency response function can be visualized on a Bode plot.

9/13/2020 2.0.1 https://eng.libretexts.org/@go/page/24452


2.1: System Poles and Zeros
System Poles and Zeros
The transfer function, G(s) , is a rational function in the Laplace transform variable, s . It is expressed as the ratio of the
n(s)
numerator and the denominator polynomials, i.e., G(s) = d(s)
.

Definition: Transfer Function Zeros


The roots of the numerator polynomial, n(s) , define system zeros, i.e., those frequencies at which the system response is
zero. Thus, z is a zero of the transfer function if G (z ) = 0.
0 0

Definition: Transfer Function Poles


The roots of the denominator polynomial, d(s) , define system poles, i.e., those frequencies at which the system response
is infinite. Thus, p is a pole of the transfer function if G (p ) = ∞.
0 0

The poles and zeros of first and second-order system models are described below.
First-Order System. A first-order system has an ODE description: τ ẏ (t) + y (t) = u(t) , where u (t) and y (t) denote the
input and the output, and τ is the system time constant. By applying the Laplace transform, a first-order transfer function is
obtained as:
K
G(s) = (2.1.1)
τs + 1

The above transfer function has no finite zeros and a single pole located at s = − 1

τ
in the complex plane.

Example 2.1.1
The reduced-order model of a DC motor (Example 1.4.3) is described by: G(s) =
K

τm s+1
where τm is the motor time
constant.
N −s
For the following parameter values: R = 1Ω, L = 0.01H , J = 0.01 kgm , b = 0.1
2

rad
, and kt = kb = 0.05 , the
motor transfer function evaluates as:
ω(s) 5 0.49
G(s) = = = (2.1.2)
Va (s) s + 10.25 0.098s + 1

The transfer function has a single pole located at: s = −10.25 .

Second-Order System with an Integrator. A first-order system with an integrator is described by the transfer function:
K
G (s) = (2.1.3)
s(τ s + 1)

The system has no finite zeros and has two poles located at s = 0 and s = − 1

τ
in the complex plane.

Example 2.1.2
The DC motor modeled in Example 2.1.1 is used in a position control system where the objective is to maintain a certain
shaft angle. Let θ denote the shaft angle; then, its transfer function is given as: G (s) = . K

s(τs+1)

Using the above reduced-order motor model, the system transfer function is given as:
θ(s) 5 0.49
G(s) = = = (2.1.4)
Va (s) s(s + 10.25) s(0.098s + 1)

Kamran Iqbal 9/11/2020 2.1.1 https://eng.libretexts.org/@go/page/24393


The transfer function poles are located at: s = 0, −10.25.

Second-Order System with Real Poles. A second-order system with poles located at s = −σ1 ,   − σ2 is described by the
transfer function:
1
G (s) = (2.1.5)
(s + σ1 ) (s + σ2 )

Example 2.1.3
From Section 1.4, the DC motor transfer function is given as:
K
G(s) = (2.1.6)
(s + 1/ τe )(s + 1/ τm )

the system poles located at: s1 = −


1

τm
and s2 = −
τe
1
, where τe and τm represent the electrical and mechanical time
constants of the motor.
For the following parameter values: R = 1Ω, L = 0.01H , J = 0.01 2
kgm , b = 0.1
N −s

rad
, and kt = kb = 0.05 , the
transfer function from armature voltage to angular velocity is given as:
ω(s) 500 500
= = (2.1.7)
Va (s) (s + 100)(s + 10) + 25 (s + 10.28)(s + 99.72)

The transfer function poles are located at: s = −10.28, −99.72.


The motor time constants are given as: τ e ≅
L

R
= 10 ms, τm ≅
J

b
= 100 ms .

Second-Order System with Complex Poles. A second-order model with complex poles located at: s = −σ ± jω , is
described by the transfer function:
K
G (s) = . (2.1.8)
2
(s + σ) + ω2

A second-order transfer function with complex poles is equivalently expressed as:


K
G (s) = (2.1.9)
2 2
s + 2ζ ωn s + ωn

where ω refers to the natural frequency of the system and ζ is the damping ratio.
n

The damping ratio, ζ , is a dimensionless quantity that characterizes the decay of the oscillations in the system’s natural
response. The damping ratio is bounded as: 0 < ζ < 1 .
1. As ζ → 0 , the complex poles are located close to the imaginary axis at: s ≅±jω . The resulting impulse response n

displays persistent oscillations at system’s natural frequency, .


2. As ζ → 1 , the complex poles are located close to the real axis as s ≅−ζ ω . The resulting impulse response has no
1,2 n

oscillations and exponentially decays to zero resembling that of a first-order system.


−−−−−
The transfer function poles are located at: s 1,2 = −ζ ωn ± jωd , where ω d = ωn √1 − ζ
2
(Figure 2.1.1).

As seen from the figure, ω equals the magnitude of the complex poles, and ζ =
n
σ

ωn
= cosθ  , where θ is the angle subtended
by the complex poles at the origin.

Example 2.1.4
A spring–mass–damper system has a transfer function:
1
G(s) = . (2.1.10)
2
ms + bs + k

Kamran Iqbal 9/11/2020 2.1.2 https://eng.libretexts.org/@go/page/24393


Its characteristic equation is given as: ms s
+ bs + k = 0 , whose roots are characterized by the sign of the discriminant,
Δ = b − 4mk . Specifically,
2

1. For Δ > 0, the system has real poles, located at:


−−−−−−−−−
2
b b k
s1,2 = − ± √( ) − .
2m 2m m

2. For Δ < 0, the system has complex poles, located at:


−−−−−−−−−
2
b k b
s1,2 = − ± j√ −( ) .
2m m 2m

3. For Δ = 0 , the system has two real and equal poles, located at:
b
s1,2 = − .
2m

Next, assume that the mass-spring-damper has the following parameter values: m = 1, b = k = 2 ; then, its transfer
function is given as:
1 1
G(s) = = (2.1.11)
2 2
ms + bs + k s + 2s + 2

The transfer function has complex poles located at: s = −1 ± j1 .



Further, for the complex poles, we have: ω n = √2
rad

s
,ζ =
1

√2
.

Figure 2.1.1 : Second-order transfer function pole locations in the complex plane.

Kamran Iqbal 9/11/2020 2.1.3 https://eng.libretexts.org/@go/page/24393


2.2: System Natural Response
2.2.1 System Natural Response
The poles of the transfer function, G (s) , characterize the natural response of the system. Thus, if pi is a pole of the system
transfer function, then {e } constitutes a natural response mode.
pi t

A real pole: p = −σ , contributes a term e


i to system natural response.
−σt

A pair of complex poles: p = −σ ± jω , contributes oscillatory terms of the form e


i
−σt
e
jωt
to the natural response.
The natural response is a weighted sum of the modes of system natural response, i.e., y n (t) =∑
n

i=1
Ci e
pi t
.
The natural response is reflected in the impulse response of a system.

Definition: Impulse Response


The impulse response of a system is defined as system response to a unit-impulse input, δ (t) , when the initial conditions
are zero.

Let u (t) = δ (t) ,   u (s) = 1 ; then, the impulse response is computed as: y (s) = G(s) , that transforms into time-domain as:
[G(s)] .
−1
g(t) = L

To proceed further, let the system transfer function be represented as:


n(s)
G (s) = (2.2.1)
n
∏ (s − pi )
i=1

where n(s) is the numerator polynomial, and p ,  i = 1, … n , are the system poles, assumed to be distinct and may include a
i

single pole at the origin. Using partial fraction expansion (PFE), the impulse response is given as:
n
Ai
yimp (s) = ∑ (2.2.2)
s − pi
i

Using the inverse Laplace transform, the impulse response of the system is computed as:
n

pi t
yimp (t) = ( ∑ Ai e ) u(t) (2.2.3)

where u(t) represents the unit-step function, used here to indicate that the expression for g(t) is valid for t ≥ 0 .

2.2.2 Impulse Response of First and Second Order Systems


First-Order System. Let G(s) = ; then, the only response mode is:
1

τs+1
{e
−t/τ
} . The impulse response of the first-order
system is computed as:
1 −t/τ
g(t) = e u(t) (2.2.4)
τ

Example 2.2.1
The impulse response of G(s) = 1

s+1
is given as: g(t) = e −t
u(t) .
The response (Figure 2.2.1a), begins at g(0) = 1 and asymptotically approaches g(∞) = 0 .

Definition: System Time Constant


The time constant, τ , describes the time when, starting from unity, the natural response decays to e −1
≅0.37 , or 37% of
its initial value. For a first-order system, with a real pole, s = −σ , the time constant is given as: τ = 1

σ
.

Kamran Iqbal 9/13/2020 2.2.1 https://eng.libretexts.org/@go/page/24394


Second-Order System with an Integrator. Let: G(s) =
1

s(τs+1)
; then, the natural response modes are: {1,  e
−t/τ
} . The
transfer function is expanded using PFE as: G(s) = 1

s
+
τs+1
τ
. The impulse response is expressed as:

−t/τ
g(t) = (1 − e ) u(t) (2.2.5)

Example 2.2.2
The impulse response of G(s) = 1

s(s+1)
is given as: g(t) = (1 − e −t
)u(t) .

The response (Figure 2.2.1b) begins at g(0) = 0 and asymptotically approaches g(∞) = 1 .

Second-Order System with Real Poles. Let G (s) =


1

(s+σ1 )(s+σ2 )
; then, the system natural response modes are:
{e
−σ1 t
,  e
−σ2 t
} . Assuming σ2 ≥ σ1 , and using PFE followed by inverse Laplace transform, the system impulse response is
expressed as:
1 −σ1 t −σ2 t
g(t) = (e −e ) u(t) (2.2.6)
σ2 − σ1

Example 2.2.3
The impulse response of G(s) = 1

(s+1)(s+2)
is given as: g(t) = (e −t
−e
−2t
)u(t) .

The response (Figure 2.2.1c) begins at g(0) = 0 and asymptotically approaches g(∞) = 0 .

Second-Order System with Complex Poles. Let G (s) =


1
2 2
; then, by using Euler’s identity, its natural response
(s+σ) +ω

modes are given as: {e −σt


cos ωt ,   e
−σt
sin ωt } . Its impulse response is given as:
1 −σt
g(t) = e sin(ωt) u(t) (2.2.7)
ω

The oscillatory natural response is contained in the envelope defined by: ±e −σt
. The effective time constant of a second-order
system is given as: τ = . ef f
1

The natural response is of the form: y n (t) = (C1 cos ωt  + C2 sin ωt )e
−σt
can be alternatively expressed as:
−σt
yn (t) = C e sin (ωt + ϕ)   (2.2.8)

−−−−−−−
C1
where C = √C
2
1
+C
2
2
and tanϕ  = C2
.

Example 2.2.4
s+1−1
The impulse response of G(s) = s
2 2
= 2 2
is given as:
(s+1 ) +1 (s+1 ) +1

−t – ∘ – ∘
g(t) = (cos t − sin t)e u(t) = √2 sin(t + 135 )u(t) = √2 cos(t + 45 )u(t) (2.2.9)

The response (Figure 2.2.1d) begins at g(0) = 0 and asymptotically approaches g(∞) = 0 .

Kamran Iqbal 9/13/2020 2.2.2 https://eng.libretexts.org/@go/page/24394


Figure 2.2.1 : Impulse
response of transfer function models: (a) first-order system; (b) second-
order system with a pole at the origin; (c) second-order system with real poles; and, (d)
second-order system with complex poles.
From the figure, we may observe that:
1. While the impulse response of a first-order system starts from a value of unity, the impulse response of a second-order
system starts from zero.
2. The impulse response of a stable system with poles in the open left-half plane (OLHP), Re (p ) < 0 , asymptotically dies
i

out with time, i.e., lim


t→∞ g (t) = 0  .

3. ; the impulse response of a system with a pole at the origin approaches a constant value of unity in the steady-state (which
represents the integral of the delta function). Such systems are termed marginally stable.

Kamran Iqbal 9/13/2020 2.2.3 https://eng.libretexts.org/@go/page/24394


2.3: System Stability
Stability is a desired characteristic of any dynamic system. It refers to the system being well behaved and in control under
various operating conditions. Stability may be categorized in multiple ways, some of which are discussed below.

Bounded-Input Bounded-Output Stability (BIBO)


The bounded-input bounded-output (BIBO) stability implies that for every bounded input, u(t) : |u(t)| < M1 < ∞, the
output of the system stays bounded, that is, y(t) : |y(t)| < M < ∞ . 2

The output of the system given in terms of the convolution integral:


y(t) = ∫ g(t − τ )u(τ )dτ (2.3.1)


0

where g(t) is the impulse response of the system. Hence, a necessary condition for BIBO stability is that:

∣ ∣
∣∫ g(t)d(t)∣ = 0 (2.3.2)
∣ 0 ∣

The impulse response contains the modes of system natural response and is given as:
n

pi t
g(t) = ∑ Ai e (2.3.3)

i=1

where p is a pole of the system transfer function. Hence, a necessary condition for BIBO stability is: Re [p
i i] <0 .
Physically, the condition Re[p ] < 0 implies the presence of damping in the system. The damping terms in the transfer
i

function indicate dissipation of residual energy with time.

Marginal Stability
If the system model has simple poles located on the stability boundary, i.e., the imaginary axis, it is termed as marginally
stable. The impulse response of such systems does not meet the absolute integrability condition, but stays bounded in the
steady-state.
As an example, a simple harmonic oscillator is described by the ODE: ÿ + ω y = 0 , where 2
n ωn represents the natural
frequency and the system has no damping. The oscillator transfer function, G(s) = 2
1
2
includes simple poles
s +ωn

(p1,2 = ±jωn ) on the jω -axis. Its impulse response displays persisting oscillations at the natural frequency.

Internal Stability
The notion of internal stability requires that all signals within a control system remain bounded for all bounded inputs. It
further implies that all relevant transfer functions between input–output pairs in a feedback control system are BIBO stable.
Internal stability is a stronger notion than BIBO stability as internal modes of system response may not be reflected in the
input-output transfer function. In the case of linear system models, the internal stability requirements are met if the closed-loop
characteristic polynomial is stable and there are no right-half plane (RHP) pole-zero cancelations in concatenated transfer
functions.

Asymptotic Stability
For a general nonlinear system model, ẋ (t) = f (x, u) , stability refers to the stability of an equilibrium point defined by:
f (x , u ) = 0 . In particular, the equilibrium point is said to be stable if a system trajectory, x (t), that starts in the vicinity of
e e

xe stays close to x . The equilibrium point is said to be asymptotically stable if a system trajectory x (t) that starts in the
e

vicinity of x converges to x .
e e

For linear system models, the origin serves as an equilibrium point. In such cases, the asymptotic stability requires that the
poles of the system transfer function lie in the open left-half plane, or Re [p ] < 0 , and there are no RHP pole-zero
i

cancelations.

Kamran Iqbal 9/13/2020 2.3.1 https://eng.libretexts.org/@go/page/24396


2.4: The Step Response
Step Response

Definition: Step Response


The step response of a system is defined as its response to a unit-step input, u(t), u(s) = 1

s
.

Let G(s) describe the system transfer function; then, the unit-step response is obtained as: y(s) = G(s)
1

s
. The inverse
G(s)
Laplace transform leads to: y (t) = L −1
[
s
] .
t
Alternatively, the step response can be obtained by integrating the impulse response: y(t) = ∫ 0
g(t − τ )dτ .
The unit-step response of a system starts from an initial value: y (0) = y , and settles at a steady-state value: 0

y∞ = lim y (t)   . Further, from the application of the final value theorem (FVT): y
t→∞ = G(s) | . ∞ s=0

The unit step response in the case of the first- and second-order systems is described below.
First-Order System. Let G(s) = K

τs+1
, u(s) =
1

s
; then, y(s) = K

s(τs+1)
=
K

s

τs+1

.

The time-domain response is given as: y(t) = K(1 − e −t/τ


) u(t) .
Assuming arbitrary initial conditions, y (0) = y , the step response is given as:
0

−t/τ
y (t) = y∞ + (y0 − y∞ ) e ,   t ≥ 0 (2.4.1)

Example 2.4.1
Let G(s) = 1

2s+1
; then, the unit-step response is obtained as: y(s) = 1

s(2s+1)
=
1

s

2s+1
2
.

The time-domain response is given as: y(t) = (1 − e −t/2


) u(t) .

Figure 2.4.1 : Step response of first-order DC motor model.

First-Order System with an Integrator. Let G(s) = K

s(τs+1)
, u(s) =
1

s
; then, y(s) = 2
K

s (τs+1)
.
2

Using PFE, we obtain: y(s) = K ( 1

s
2

τ

s
+
τ

τs+1
) . Hence,

−t/τ
g(t) = K (t − τ (1 − e )) u(t) (2.4.2)

The step response grows out of bound as t → ∞ .

Example 2.4.2
Let G(s) = 1

s(2s+1)
; then, the unit-step response is computed as: y(s) = 1

s2 (2s+1)
=
1

s2

2

s
+
4

2s+1
.

The time-domain response is given as: y(t) = (t − 2 + 2e −t/2


) u(t) .

Kamran Iqbal 9/13/2020 2.4.1 https://eng.libretexts.org/@go/page/24395


Figure 2.4.2 : Step-response of a second-order model with a pole at the origin.

Second-Order System with Real Poles. Let G(s) =


K

( τ1 s+1)( τ2 s+1)
, τ1 > τ2 ; then, the step response is computed as:
y(s) =
K

s( τ1 s+1)( τ2 s+1)
=
A

s
+
B

τ1 s+1
+
C

τ2 s+1
. Hence,
−t/τ1 −t/τ2
y(t) = (A + Be + Ce )u(t) (2.4.3)

2 2
Kτ Kτ
where A = K, B = − 1

τ1 −τ2
,  C =
2

τ2 −τ1
.

Example 2.4.3
A small DC motor has the following parameter values:
N −s
R = 1 Ω, L = 10 mH , J = 0.01 kg − m
2
, b = 0.1
rad
, kt = kb = 0.05 .
The motor transfer function, from armature voltage to motor speed, is approximated as: G (s) = 500

(s+10)(s+100)
.

The step response of the motor is obtained as: y (s) = 2s


1

0.556

s+10
+
0.056

s+100

The time-domain response is given as: y (t) = (0.5 − 0.556e −10t


+ 0.056 e
−100t
, which settles at y
) u(t) ∞ = 0.5 .
The natural response modes, e and e , reflect motor electrical and mechanical time constants:
−10t −100t
τe ≅0.01s and
τm ≅0.1s . The slower mechanical time constant dominates the motor step response.

Figure 2.4.3 : Step response of DC motor model with real poles.

Second-Order System with Complex Poles. Let G(s) =


K
2 2
. Then, the unit-step response is computed as:
(s+σ) +ω
d

y(s) =
A

s
+
Bs+C
2 2
,
(s+σ) +ω
d

where A = G(0) = 2
K
2
, B = −A, C = −2Aσ . Hence,
σ +ω
d

K −σt
σ
y(t) = [1 − e (cos ωd t + sin ωd t)] u(t) (2.4.4)
2 2
σ +ω ωd
d

In the phase form, the unit-step response is given as:

Kamran Iqbal 9/13/2020 2.4.2 https://eng.libretexts.org/@go/page/24395


K −σt −1
σ
y(t) = [1 − e cos (ωd t − ϕ)] u(t), ϕ = tan (2.4.5)
2 2
σ +ω ωd
d

Example 2.4.4
A mass–spring–damper system has the following parameter values: m = 1 kg,  b = 6 Ns

m
,  k = 25
N

m
.
Its transfer function is given as: G (s) = 2
s +5s+25
1
=
1
2 2
. The system has complex poles located at: s = −3 ± j4 .
(s+3) +4

The unit-step response of the system is computed as: y (s) = 1

25
[
1

s

s+6

2 2
] .
(s+3) +4

By applying the inverse Laplace transform, the time-domain response is obtained as:
1 3
−3t
y (t) = [1 − e (cos (4t)   + sin (4t)  )] u(t) (2.4.6)
25 4

Figure 2.4.4 : Step response of mass–spring–damper model with complex poles.

−t s

System with Dead-time. The first-order-plus-dead-time (FOPDT) model of an industrial process is given as: G(s) = Ke
,
d

τs+1

where {K, τ , t } represent the process gain, time constant, and dead-time.
d

−t s

The step response of the FOPDT model is computed as: Ke


, which translated into a time-domain response as:
d

G(s) =
s(τs+1)

g(t) = (1 − e
−(t−td )/τ
)u(t − td ) .
K(1−td s/2)
An approximate process model, obtained by using Pade' approximation, is given as: G(s) =
(1+td s/2)(τs+1)
. This model is
termed as non-minimum phase due to the additional phase contributed by the right half-plane (RHP) zero.
K(1−td s/2)
The unit-step response of the approximate model is computed as: y(s) = s(1+td s/2)(τs+1)
.

Example 2.4.5
−s

The FOPDT model of a stirred-tank bio-reactor is given as: G(s) = 20e

0.5s+1
.
−s

The step response of the system is computed as: y(s) = 20e

s(0.5s+1)
.

The time-domain response is obtained as: y(t) = 20 (1 − e −2(t−1)


) u(t − 1) .
20(1−0.5s)
Using a first-order Pade’ approximation, an approximate process model is obtained as: G a (s) =
2
.
(0.5s+1)

20(1−0.5s)
The step response of the approximate model is computed as: y(s) = 2
, y(t) = 20 (1 − (1 − 4t)e −2t
) u(t) .
s(0.5s+1)

The two responses are compared below (Figure 2.4.5). The step response for the FOPDT model starts after the designated
delay. The step response for the Pade’ approximation starts with an undershoot due to the presence of RHP zero.

Kamran Iqbal 9/13/2020 2.4.3 https://eng.libretexts.org/@go/page/24395


Figure 2.4.5 : Step response of an industrial process model with dead-time.
We make the following observations based on the figure:
1. The step response of the process with dead-time starts after 1 s delay (as expected).
2. The step response of Pade’ approximation of delay has an undershoot. This behavior is characteristic of transfer
function models with zeros located in the right-half plane.

Kamran Iqbal 9/13/2020 2.4.4 https://eng.libretexts.org/@go/page/24395


2.5: Sinusoidal Response of a System
2.5.1 Frequency Response
Definition: Sinusoidal Response
The sinusoidal response of a system refers to its response to a sinusoidal input: u(t) = cos ω0 t or u(t) = sin ω0 t .

To characterize the sinusoidal response, we may assume a complex exponential input of the form:
G(s)
u (t) = e
jω0 t
,   u (s) =
1

s−jω0
. Then, the system output is given as:  y (s) = s−jω0
.
n(s)
To proceed, let G (s) =

n
(s−pi )
, where pi ,  i = 1, … n , denote the poles of the transfer function; then, using PFE, the
i=1

system response is given as:


n
A0 Ai
y (s) = +∑ (2.5.1)
s − jω0 s − pi
i=1

where A 0 = G (jω0 ) . The time response of the system is given as:


n

jω0 t pi t
y (t) = G (jω0 ) e + ∑ Ai e (2.5.2)

i=1

Assuming BIBO stability, i.e., Re [ pi ] < 0 , the transient response component dies out with time. Then, the steady-state
response is described as:
G (jω0 )
jω0 t
y (s) = , y (t) = G (jω0 ) e (2.5.3)
s − jω0

Definition: Frequency Response Function


The frequency response function, for a given transfer function G(s) is defined as: G(jω) = G(s)| s=jω
.

The frequency response function is described in the magnitude-phase form as: G(jω) = |G(jω)| e ∠G(jω)
.

When computed at a particular frequency, ω = ω , the frequency response function, G (jω


0 0) is a complex number. Further, the
steady-state response to a complex sinusoid u(t) = e is given as: jω0 t

jω0 t ∠G(jω) jω0 t


yss (t) = G(jω0 )e = |G(jω0 )| e e (2.5.4)

By Euler’s identity, we have: e


jω0 t
= cos(ω0 t) + j sin(ω0 t) ; therefore, the steady-state response to u(t) = cos ω0 t is given
as:
yss (t) = |G(jω0 )| cos(ω0 t + ∠G(jω0 )) (2.5.5)

Similarly, the steady-state response to u(t) = sin ω0 t is given as:


yss (t) = |G(jω0 )| sin(ω0 t + ∠G(jω0 )) (2.5.6)

Thus, the steady-state response to sinusoid of a certain frequency is a sinusoid at the same frequency, scaled by the magnitude
of the frequency response function, and includes a phase contribution from the frequency response function.

Example 2.5.1
A small DC motor model is approximated as: G (s) = 500

(s+10)(s+100)
.

Its frequency response function is given as: G (jω) = 0.5

(0.01ω+1)(0.1ω+1)
.

Kamran Iqbal 9/13/2020 2.5.1 https://eng.libretexts.org/@go/page/24397


Let u(t) = sin 10t ; then, in the steady-state: yss (t) = 0.35sin (10t − 50 )  

. The sinusoidal response of the DC motor
is plotted in Figure 2.5.1.

Figure 2.5.1 : Sinusoidal response of the DC motor model.

Example 2.5.2
The mode of a mass–spring–damper system is given as: G (s) = 2
1

s +2s+5
=
1
2 2
; the complex poles are located at:
(s+1) +2

s = −1 ± j2 .
Let u(t) = sin πt ; then, in the steady-state, we have: y ss (t) = 0.126sin (πt − 128 )  

.
The response is plotted below and includes the transient response, which dies out in 4-5 sec.

Figure 2.5.2 : Sinusoidal response of mass-spring-damper system.

Figure 2.6: Sinusoidal response of mass-spring-damper.

2.6.2 Visualizing the Frequency Response


The frequency response function is given in polar form as: G(jω) = |G(jω)|e jϕ(ω)
. As ω varies from 0 to ∞, both magnitude
and phase may be plotted as functions of ω.
It is customary to plot both magnitude and phase against log ω , which accords a high dynamic range to ω. Further, the
magnitude is plotted in decibels as: |G(jω)| = 20 log |G(jω)| . The phase ϕ(ω) is plotted in degrees. The resulting
dB 10

frequency response plots are commonly known as Bode plots.


The plotting of the frequency response in the case of first and second-order systems is illustrated below.
First-Order System. Let G(s) = K

τs+1
; then G (jω) = K

1+jωτ
; Hence,
−1
|G (jω)| dB = 20log K  − 20log|1 + jωτ | , ∠G (jω) = −tan ωτ   (2.5.7)

Example 2.5.3
The Bode magnitude and phase plots for G (s) = 1

s+1
are plotted (Figure 2.5.3).

Kamran Iqbal 9/13/2020 2.5.2 https://eng.libretexts.org/@go/page/24397


The magnitude plot is characterized by: G (j0) = 0dB,   G (j1) = −3dB , and a −20dB/decade slope for large ω.
The phase plot is characterized by:
∘ ∘ ∘
G (j0) = 0 ,  G (j0.1) = −5.7 ,  G (j1) = −45 ,   G (j10) = −84.3 ,  G (j∞) = −90

.

First-Order System with Integrator. Let G(s) = K

s(τs+1)
; then G (jω) = K

jω(1+jωτ)
; Hence,

|G (jω)| = 20logK  − 20logω  − 20log |1 + jωτ |   (2.5.8)


dB

−1 ∘
∠G (jω) = −tan ωτ   − 90 (2.5.9)

Example 2.5.4
The Bode magnitude and phase plots for G (s) = 1

s(s+1)
are plotted below.

The magnitude plot is characterized by an initial slope of −20dB/decade that changes to −40dB/decade for large
ω; at the corner frequency, G (j1) = −3dB .

The phase plot is characterized by:


∘ ∘ ∘
G (j0) = −90 ,  G (j0.1) = −96 ,  G (j1) = −135 ,   G (j10) = −174.3 ,  G (j∞) = −180

. ∘

Figure 2.5.3 : Bode plot for Examples 2.5.3 (left) and 2.5.4 (right).

Second-Order System with Real Poles. Let G(s) = K

( τ1 s+1)( τ2 s+1)
; then G (jω) = K

(1+jω τ1 )(1+jω τ2 )
; Hence,

|G (jω)| = 20logK  − 20log |1 + jωτ1 |   − 20log |1 + jωτ2 |   (2.5.10)


dB

−1 −1
∠G (jω) = −tan ωτ1   − −tan ωτ2   (2.5.11)

Example 2.5.5
The Bode magnitude and phase plots for G (s) = 2

(s+1)(s+2)
are plotted in Figure 2.5.4.

The magnitude plot is characterized by: G (j0) = 0dB,   G (j1) = −3dB , an intermediate slope of −20dB/decade ,
G (j2) = −14dB , and a slope of −40dB/decade for large ω.

The phase plot is characterized by: G (j0) = 0 ∘ ∘


,  G (j1) = −45 ,   G (j2) = −135 ,   G (j∞) = −180
∘ ∘
.

2 2
ωn ωn
Second-Order System with Complex Poles. Let G (s) =
2 2
; then G (jω) = 2 2
, where ωn and ζ
s +2ζωn s+ωn ωn −ω +j2ζω ωn

represent the natural frequency and the damping ratio. Hence,


2
∣ ω ω ∣
|G (jω)| = −20 log 10 ∣1 − ( ) + j2ζ ( )∣   (2.5.12)
dB
∣ ωn ωn ∣

Kamran Iqbal 9/13/2020 2.5.3 https://eng.libretexts.org/@go/page/24397


⎛ ω ⎞
2ζ ( )
ωn
−1 ⎜ ⎟
ϕ (ω) = tan ⎜ ⎟  (2.5.13)
⎜ 2 ⎟
ω
[1 − ( ) ]
⎝ ωn ⎠

Example 2.5.6
The Bode magnitude and phase plots for G(s) = 2
10

s +2s+10
are plotted below.

The magnitude plot is characterized by: G (j0) = 0dB,   G (jωn ) = −20log (2ζ)   , and a −40dB/decade slope for
large ω.
The phase plot is characterized by: ϕ (j0) = 0 ∘ ∘
,   ϕ (jωn ) = −90 ,   ϕ (j∞) = −180

.

Figure 2.5.4 : Bode plot for Examples 2.5.5 (left) and 2.5.6 (right).

Resonance Peak in the Frequency Response


The Bode magnitude plot of a transfer function with complex poles and low damping displays a distinctive peak in the Bode
magnitude plot at the resonant frequency, ω ; the resonant frequency and peak magnitude are computed as:
r

−−−−−−
2
1
ωr = ωn √ 1 − 2ζ , ζ < – (2.5.14)
√2

1 1
Mpω = − −−− −, ζ < – (2.5.15)
2 √2
2ζ √ 1 − ζ

Example 2.5.7
−−
Let G(s) =
10

s2 +2s+10
; then, we have:ω n = √10
rad

sec
, ζ =
1
, ωr = 8
rad

sec
, and Mpω = 1.67 or 4.44 dB (Figure
√10

2.5.4).

Relating the Time and Frequency Response


When the system transfer function has poles with a low damping ratio, the Bode magnitude plot displays a resonant peak.
Concurrently, the step response of the system displays oscillations.
To illustrate this relationship, we consider a prototype second-order systems: G(s) = 2
1

s +2ζs+1
, where ωn = 1 ,
ζ ∈ {0.1, 0.3, 0.5, 0.7, 0.9} .
The frequency response and the time-domain unit-step response for the second-order transfer functions with ωn = 1 for the
various values of ζ ∈ {0.1, 0.3, 0.5, 0.7, 0.9}are plotted below.

Kamran Iqbal 9/13/2020 2.5.4 https://eng.libretexts.org/@go/page/24397


Figure 2.5.5 : Bode magnitude and phase plots for selected damping ratios.

Figure 2.5.6 : Step response of the second-order system for selected damping ratios.

Kamran Iqbal 9/13/2020 2.5.5 https://eng.libretexts.org/@go/page/24397


Blank

Kamran Iqbal 9/13/2020 1 https://eng.libretexts.org/@go/page/27706


CHAPTER OVERVIEW
3: FEEDBACK CONTROL SYSTEM MODELS
Learning Objectives

Characterize the static controller in a feedback control system.


Characterize first-order dynamic controllers for feedback back control systems.
Characterize the PID controller in terms of the three basic control modes.
Characterize rate feedback controllers for single-input single-output systems.

3.0: PRELUDE TO FEEDBACK CONTROL SYSTEM MODELS


3.1: STATIC FEEDBACK CONTROLLER
3.2: FIRST-ORDER DYNAMIC CONTROLLERS
3.3: PI, PD, AND PID CONTROLLERS
3.4: RATE FEEDBACK CONTROLLERS
BLANK

1 10/11/2020
3.0: Prelude to Feedback Control System Models
Feedback, i.e., using observed outputs as another input to the system, is an important characteristic of automatic control
systems. In particular, negative feedback permits precise control of the overall system gain, and can compensate for signal
distortions and nonlinearities. Feedback makes the system robust against disturbance inputs and parameter variations.
The design of a single-input single-output (SISO) feedback control system involves the use of a comparator to generate an
error signal, e = r − y (Figure). The controller, K(s) , suitably conditions the error signal before it is input to the process,
G(s) . A sensor, H (s) , monitors the output and feeds it back to the input. Often a sensor gain H (s) = 1 is assumed.

A static, i.e., proportional gain controller, u = Ke , serves as baseline controller in a SISO feedback control system. The static
controller is simple to design and is effective in meeting the basic design objectives in output regulation and reference tracking
problems.
First-order phase-lead and phase-lag controller are used for transient and steady-state response improvements in feedback
control systems. The phase-lead controller is characterized by positive phase contribution to the Bode plot of loop transfer
function. The phase-lag controller, used for steady-state error improvement, adds negative phase to the Bode plot.
A proportional-integral-derivative (PID) controller comprises three basic modes of control that include the proportional, the
derivate, and the integral modes. The PID controller is popular in industrial process control for its ability to provide robustness
in designs involving simple models of complex processes.
The cascade controller design employs output feedback, which has a limited potential to affect the behavior of the closed-loop
control system. Pole placement using state feedback is a more powerful controller design method that may be employed with
state variable models of dynamic systems.
Rate sensors, such as rate gyros and tachometers, are used in position control applications to enhance the controller design
options. A rate feedback controller offers additional design flexibility and may be considered when static controller falls short
in meeting design objectives.
In this chapter, we will limit our discussion to the cascade and rate feedback controllers of the static and dynamic types. These
controller are described below.

9/13/2020 3.0.1 https://eng.libretexts.org/@go/page/24456


3.1: Static Feedback Controller
Feedback Control System
The standard block diagram of a single-input single-output (SISO) feedback control system includes a plant, G(s) , a
controller, K(s) , and a sensor, H (s) , where often H (s) = 1 is assumed.

Figure 3.1.1 : Feedback control system with plant, G(s), sensor, H (s), and controller, K(s).
The overall system transfer function from input, r(t) , to output, y(t), can be obtained by considering the error signal,
e = r − H y = r − KGH e.

The output is expressed as: y = KGH e , hence (1 + KGH ) e = r . Further, let L (s) = KGH (s) denote the gain of the
feedback loop; then, (1 + L) e = r .
The closed-loop transfer function from r to y is obtained as:
KG(s)
T (s) = (3.1.1)
1 + KGH (s)

The sensitivity transfer function from r to e is defined as:


1
S(s) = (3.1.2)
1 + KGH (s)

Further, we have: S (s) + T (s) = 1 , which serves as a fundamental constraint in the design of robust control systems.
Static Feedback Loop Controller
A static controller involves the use of an amplifier with a gain, K , in cascade with the plant, G(s) . The controller action is
represented as: u = Ke , where e represents the error signal and u is the input to the plant.

Figure 3.1.2 : Feedback control system with static gain controller.


Assuming H (s) = 1 , the closed-loop transfer function is given as:
y (s) KG(s)
= T (s) = (3.1.3)
r (s) 1 + KG (s)

n(s)
Let G (s) = d(s)
; then, the closed-loop transfer function is obtained as:

y (s) Kn (s)
= (3.1.4)
r (s) d (s) + Kn(s)

The closed-loop characteristic polynomial is defined as: Δ (s, K) = d(s) + Kn (s) .


From a controller design perspective, the gain K can be selected keeping in view the desired and achievable root locations of
the closed-loop characteristic polynomial. The design can be performed by comparing the coefficients of the characteristic
polynomial with a desired characteristic polynomial.

Example 3.1.1

Kamran Iqbal 9/13/2020 3.1.1 https://eng.libretexts.org/@go/page/24399


The model for an environmental control system is given as: G (s) = 20s+1
1
.
Assuming a static gain controller, the closed-loop characteristic polynomial is obtained as: Δ (s, K) = 20s + 1 + K .
Suppose a desired characteristic polynomial is selected as: Δdes (s) = 4(5s + 1) . Then, by comparing the coefficients,
we obtain the static controller as: K = 3 .

Example 3.1.2
The model for a position control system is given as: G (s) = 1

s(0.1s+1)
.

Assuming a static gain controller, the characteristic polynomial is obtained as: Δ (s, K) = s(0.1s + 1) + K .
Suppose a desired characteristic polynomial is selected as: Δdes (s) = 0.1(s
2
+ 10s + 50) . Then, by comparing the
coefficients, we obtain the static controller as: K = 5 .

Kamran Iqbal 9/13/2020 3.1.2 https://eng.libretexts.org/@go/page/24399


3.2: First-Order Dynamic Controllers
Dynamic Controllers
A dynamic controller is described by a controller transfer function, K(s) , that suitably conditions the error signal as
u(s) = K(s)e(s) to affect the closed-loop system response. A dynamic controller is a dynamic system in its own right. The

feedback control system configuration is shown below.

Figure 3.2.1 : Feedback control system with plant, G(s), sensor, H (s), and controller, K(s).
n(s)
To analyze the feedback control system, assume that the plant is described by G (s) =
d(s)
, and the dynamic controller is
nc (s)
described by K (s) =
dc (s)
; then, the closed-loop transfer function from the reference input to the plant output is given as:

y (s) n (s) nc (s)


= . (3.2.1)
r (s) d (s) dc (s) + n (s) nc (s)

The error transfer function from the reference input to the comparator output is given as:
e (s) 1
= . (3.2.2)
r (s) d (s) dc (s) + n (s) nc (s)

The closed-loop characteristic polynomial is given as: Δ (s) = d (s) d c (s) + n (s) nc (s) .

First-Order Dynamic Controllers


In particular, we consider a first-order dynamic controller, described by the transfer function:
s + zc
K (s) = K ( ) (3.2.3)
s + pc

The first-order controller adds a zero located at −z and a pole located at −p to the loop transfer function: KGH (s) .
c c

n(s)
Let G(s) =
d(s)
, H (s) = 1 ; then, the closed-loop characteristic polynomial with the controller in the loop is given as:
Δ(s) = d(s)(s + pc ) + n(s)(s + zc ) .
Traditionally, first-order controllers are characterized as of phase-lead or phase-lag type, where lead and lag terms refer to the
phase contribution from the controller to the Bode phase plot of the loop transfer function.
jω+zc
Let K (jω) = K ( jω+pc
) ; then, the phase angle contribution of the controller toward the loop transfer function is given as:

∠K(jω) = ∠(jω + zc ) − ∠(jω + pc ) = θz − θp (3.2.4)

where θ and θ denote the angles subtended by the controller pole and zero at a desired dominant closed-loop pole location
z p

in the complex plane.


The phase contribution is positive for phase-lead controller and negative for phase-lag controller (see Figures 3.2.2 and 3.2.3
below).
Phase-Lead Controller
The phase-lead controller is characterized by z c < pc , and contributes a net positive phase to the loop transfer function.

Example 3.2.1
A phase-lead controller is expressed as: K (s) = s+1

s+10
. The phase contribution from the controller is shown below.

Kamran Iqbal 9/13/2020 3.2.1 https://eng.libretexts.org/@go/page/24400


Figure 3.2.2 : Phase contribution from a first-order phase-lead controller.

Phase-Lag Controller
The phase-lag controller is characterized by z c > pc , and contributes a net negative phase to the loop transfer function.

Example 3.2.2
s+0.1
A phase-lead controller is expressed as: K (s) = s+0.01
. The phase contribution from the controller is shown below.

Figure 3.2.3 : Phase contribution from a first-order phase-lag controller.

Lead-lag controller
A lead-lag controller is a second-order controller that combines a phase-lead section with a phase-lag section; it thus has the
form:
K(s + z1 )(s + z2 )
K(s) = (3.2.5)
(s + p1 )(s + p2 )

K(s+0.1)(s+10)
As an example, a lead-lag controller is given as: K(s) = 2
.
(s+1)

Phase-Lead Controller Design


The controller gain selection for a phase-lead design is explored in the following example.

Example 3.2.3
The transfer function model for a position control system is given as: G (s) = 1

s(0.1s+1)
.

Let a phase-lead controller for the model be defined by: K (s) = K ( 0.1s+1

0.02s+1
) .

Assuming H (s) = 1 , the loop transfer function is formed as: KG (s) = K

s(0.0.02s+1)
.

The closed-loop characteristic polynomial is formulated as: Δ (s, K) = s(0.02s + 1) + K .


Let a desired characteristic polynomial be given as: Δ des (s) = 0.02(s
2
+ 50s + 1000) .
By comparing the coefficients, we obtain the controller gain as: K = 20 .

Hence, the dynamic controller for the system is given as: K (s) = 20 ( 0.1s+1

0.02s+1
) .

Kamran Iqbal 9/13/2020 3.2.2 https://eng.libretexts.org/@go/page/24400


3.3: PI, PD, and PID Controllers
The PID Controller
The PID controller is a general-purpose controller that combines the three basic modes of control, i.e., the proportional (P), the
derivative (D), and the integral (I) modes.
The PID controller in the time-domain is described by the relation:
d
u(t) = kp + kd e(t) + ki ∫ e(t)dt (3.3.1)
dt

The PID controller has a transfer function:


ki
K (s) = kp + kd s + (3.3.2)
s

The controller gains for the three basic modes of control are given as: {k ,  k ,   k } . Of these, the proportional term serves as
p d i

a static controller, the derivative term helps speed up the system response, and the integral term helps reduce the steady-state
error.

Figure 3.3.1 : Three basic control modes of control represented in the PID controller.

Closed-Loop Characteristic Polynomial


n(s)
Let G(s) = d(s)
; then the closed-loop characteristic polynomial with a PID controller in the loop is given as:
2
Δ(s) = s d(s) + (kd s + kp s + ki ) n(s) (3.3.3)

For noise suppression, a first-order filter may be added to the PID controller; the modified controller transfer function is given
as:
ki kd s
K(s) = kp + + (3.3.4)
s Tf s + 1

The filter additionally makes the controller transfer function proper hence realizable by a combination of a low-pass and high-
pass filters.
The control system design objectives may require using only a subset of the three basic controller modes. The two common
choices, the proportional-derivative (PD) controller and the proportional-integral (PI) controller are described below.
PD Controller
A PD controller is described by the transfer function:
kp
K(s) = kp + kd s = kd (s + ) (3.3.5)
kd

A PD controller thus adds a single zero to the loop transfer function. The closed-loop characteristic polynomial is given as:
The phase contribution of the PD controller increases from 0 at low frequencies to 90 at high frequencies.
∘ ∘

For practical reasons, a pole with a short time constant, T , may be added to the PD controller. The pole helps limit the loop
f

gain at high frequencies to aid in disturbance rejection. The modified PD controller is described by the transfer function:

9/13/2020 3.3.1 https://eng.libretexts.org/@go/page/28514


kd s
K(s) = kp + (3.3.6)
Tf s + 1

The modified PD controller is very similar to a first-order phase-lead controller and is similarly employed to improve the
transient response of the system.

Example 3.3.1
An environment control system is modeled as: G(s) = 25s+1
1
. The model has a time constant of 25 sec.

In order to speed up the response a PD controller with filter is designed as: K(s) = 10 + 1

.05s+1
.
The closed-loop system has an effective time constant τ ≅2.5 sec . The step response of the closed-loop system is plotted
below.

Figure 3.3.2 : Step response of the closed-loop environmental control system.

PI Controller
A PI controller is described by the transfer function:

ki kp (s + ki / kp )
K(s) = kp + = (3.3.7)
s s

The PI controller thus adds a pole at the origin (an integrator) and a finite zero to the feedback loop.
The presence of the integrator in the loop forces the error to a constant input to go to zero in steady-state; hence, the PI
controller is commonly used in designing servomechanisms.
The controller zero is normally placed close to the origin in the complex s-plane. The presence of a pole–zero pair adds a
closed-loop system pole with a large time constant. Hence, the contribution of the slow mode to the overall system response
should be kept small.
The PI-PD Controller
The PD and PI sections can be combined in a controller as:
ki ki
K(s) = (kp +
s
) (1 + kd s) or K(s) = (k p + kd s) (1 +
s
) .

The PI-PD controller adds two zeros and an integrator pole to the loop transfer function. The zero due to the PI part may be
located close to the origin; the zero due to the PD part is placed at a suitable location for desired transient response
improvement.
The PI-PD controller is similar to a regular PID controller that is described by the transfer function:
2
ki kd s + kp s + ki
K(s) = kp + kd s + = (3.3.8)
s s

The PID controller imparts both transient and steady-state response improvements to the system. Further, it delivers stability as
well as robustness to the closed-loop system.
PID Controller Tuning

9/13/2020 3.3.2 https://eng.libretexts.org/@go/page/28514


The PID controller tuning refers to the selection of the controller gains: {k , k , k } to achieve desired performance
p d i

objectives. Industrial PID controllers are often tuned using empirical rules, such as the Ziegler–Nicholas rules.
In the MATLAB Control System Toolbox, a PID controller object is created using the ‘pid’ command that can then be tuned
with the ‘pidtune’ command. The MATLAB PID tuning algorithm aims for a 60 phase margin that results in a moderate 10%

overshoot.

Example 3.3.2
For a small DC motor, the following parameter values are assumed:
2
R = 1 Ω , L = 10 mH, J = 0.01 kg ⋅ m , b = 0.1
N ⋅s

rad
, and kt = kb = 0.05 ; the transfer function of the DC motor
from armature voltage to motor speed is approximated as: G (s) = 500

(s+10)(s+100)
.

The MATLAB tuned PID controller for the motor is given as:
56.2
K (s) = 3.51 + 0.037s + (3.3.9)
s

The MATLAB tuned PID controller with filter (PIDF) is given as:
0.015s 54.2
K (s) = 3.26 + + (3.3.10)
0.005s + 1 s

The response of the closed-loop system for the two controllers (PID and PIDF) is shown below (Figure). The response
with both controllers shows a comparable settling time of 0.3sec with 7.5% overshoot and no steady-state error.

Figure 3.3.3 : Unit-step response of the DC motor model with PID and PIDF controllers.

9/13/2020 3.3.3 https://eng.libretexts.org/@go/page/28514


3.4: Rate Feedback Controllers
Rate Feedback Controllers
Rate feedback signal is often available from a tachometer or a rate gyro in position control applications. The signal can be
employed to improve the response of the feedback control system.
The basic rate feedback configuration (Figure 3.4.1) includes a rate constant kf that multiplies the velocity signal together
with a static controller, K , in the loop.
The closed-loop transfer function for the rate feedback configuration can be obtained by applying Mason’s gain rule, originally
defined for signal flow graphs. For simple block diagrams, the gain rule is stated as:
y (s) F (s)
= (3.4.1)
r (s) 1 − ∑ Li (s)

where F (s) denotes the forward path gain from an input node to an output node, and ∑ L i (s) denotes sum of the loop gains.

Figure 3.4.1 : The rate feedback configuration in feedback control system.


Rate Feedback as PD Controller
The effective loop gain in the case or rate feedback configuration with a static controller is computed as:

∑ Li (s) = −G (s) (kf s + K) (3.4.2)

The loop gain includes the plant transfer function in cascade with a PD controller, where the controller zero is located at:
s =−
K

kf
. Hence, rate feedback configuration is identical to placing a PD controller in the loop.
n(s)
Let G (s) = d(s)
; then, the closed-loop transfer function is obtained as:

y (s) Kn (s)
= , (3.4.3)
r (s) d (s) + (kf s + K) n (s)

The resulting closed-loop characteristic polynomial is given as:

Δ (s) = d (s) + (kf s + K) n (s) (3.4.4)

By using simple block diagram manipulation, the rate feedback configuration can be equivalently represented as a feedback
control system with a PD controller in the feedback path (Figure 3.4.2).

Figure 3.4.2 : Alternative structure for rate feedback configuration with static controller.

Example 3.4.1
The transfer function of a mass–spring–damper system is given as: G (s) = . The following parameter values
2
ms +bs+k
1

are assumed: m = 1, b = 2,  and k = 10 . It is desired to improve the transient response using rate feedback controller.
The closed-loop characteristic polynomial for the rate feedback configuration is:
2
Δ (s) = s + (kf + 2) s + K + 10 (3.4.5)

We assume that a desired characteristic polynomial is selected as: Δ des (s) = (s


2
+ 6s + 25) .

Kamran Iqbal 9/13/2020 3.4.1 https://eng.libretexts.org/@go/page/28513


By comparing the polynomial coefficients, the required controller gains are obtained as: K = 15,   k f =4 . The unit-step
response of the closed-loop system is shown in Figure 3.4.3.

Figure 3.4.3 : Step response of mass-spring-damper system with rate feedback controller.

Rate Feedback as PID Controller


The rate feedback can be used in conjunction with a PI controller to effectively implement a PID controller. A rate feedback
controller with cascade PID controller is shown in Figure 3.4.4.

Figure 3.4.4 : Rate feedback configuration with cascade PI controller.


ki
Let the cascade PI controller be defined as: KP I (s) = K +
s
; then, using gain rule (3.4.1), the effective loop gain is
obtained as:
ki
∑ Li (s) = − (K + + kf s) G (s) (3.4.6)
s

Hence, using a cascade PI controller with rate feedback amounts to placing a PID controller in the feedback loop (Figure
3.4.5).
n(s)
Assuming a plant transfer function: G (s) = d(s)
, the closed-loop transfer function is obtained as:

y (s) (Ks + ki ) n (s)


= , (3.4.7)
2
r (s) sd (s) + (kf s + Ks + ki) n (s)

The resulting closed-loop characteristic polynomial is given as:


2
Δ (s) = sd (s) + (kf s + Ks + ki ) n (s) (3.4.8)

Figure 3.4.5 : Alternate structure for rate feedback with cascade PI controller.

Example 3.4.2
The transfer function of a mass–spring–damper system is given as: G (s) =
1

ms2 +bs+k
. The following parameter values
are assumed: m = 1, b = 2,  and k = 10 . It is desired to improve the transient as well as steady-state response using rate
feedback with cascade PI controller.
The closed-loop characteristic polynomial for the rate feedback configuration with cascade PI controller is given as:

Kamran Iqbal 9/13/2020 3.4.2 https://eng.libretexts.org/@go/page/28513


3 2
Δ (s) = s + (kf + 2) s + (K + 10) s + ki . (3.4.9)

We assume that a desired closed-loop characteristic polynomial is selected as: Δ des (s) = (s
2
+ 10s + 25) (s + 5) .
Then, by comparing the polynomial coefficients, the controller gains are obtained as:
kf = 13,   K = 65,   and ki = 125 . The unit-step response of the closed-loop system is shown in Figure 3.4.6.

Figure 3.4.6 : Step response of mass-spring-damper system with rate feedback and cascade PI controllers.

By comparing the step responses in Examples 3.4.1 and 3.4.2, we observe that:
1. The rate feedback with cascade PI controller has a higher (18%) overshoot compared to rate feedback with static
controller (12%).
2. The rate feedback with cascade PI controller has a smaller rise time (0.3 sec) compared to rate feedback with static
controller (about 0.5 sec).
3. The rate feedback with cascade PI controller has no steady-state error compared to (40%) error in the case of rate feedback
with static controller.
4. The step response in both cases settles in about 1.5 sec.

Kamran Iqbal 9/13/2020 3.4.3 https://eng.libretexts.org/@go/page/28513


Welcome to the Engineering Library. This Living Library is a principal hub of the LibreTexts project, which is a multi-
institutional collaborative venture to develop the next generation of open-access texts to improve postsecondary education at
all levels of higher learning. The LibreTexts approach is highly collaborative where an Open Access textbook environment is
under constant revision by students, faculty, and outside experts to supplant conventional paper-based books.

Courses Bookshelves

9/13/2020 1 https://eng.libretexts.org/@go/page/28512
CHAPTER OVERVIEW
4: CONTROL SYSTEM DESIGN OBJECTIVES
Learning Objectives

Characterize closed-loop stability in a feedback control system model.


Characterize performance objectives for transient and steady-state improvement.
Characterize the disturbance rejection problem in feedback control systems.
Determine the sensitivity of the closed-loop system to parameter variations.

4.0: PRELUDE TO CONTROL SYSTEM DESIGN OBJECTIVES


4.1: STABILITY OF THE CLOSED-LOOP SYSTEM
4.2: TRANSIENT RESPONSE IMPROVEMENT
4.3: STEADY-STATE ERROR IMPROVEMENT
4.4: DISTURBANCE REJECTION
4.5: SENSITIVITY AND ROBUSTNESS

1 10/11/2020
4.0: Prelude to Control System Design Objectives
In a feedback control system, the controller is designed to achieve certain objective. The first and foremost among them is
closed-loop system stability. The next is good dynamic stability displayed by an acceptable transient response. In tracking
systems, the elimination of tracking error in desired. Further, the controlled system is required to mitigate disturbances
entering the system and guard it against parameter variations and unmodeled dynamics.
The stability of the closed-loop characteristic polynomial can be ascertained by algebraic methods, such as the Routh’s array.
These method can be applied toward the design of static controller. Stability can also be determined from the Bode plot of the
loop transfer function.
The transient response is commonly evaluated in terms of time-domain performance metrics applied to the step response of the
closed-loop system. The design specifications specify limits on the settling time of the system response and/or damping ratio
of closed-loop roots. A phase-lead or PD/PID controller can be employed to obtain transient response improvements.
The steady-state error to prototype (step and ramp) inputs is measured in terms of position and velocity error constants of the
loop transfer function. Generally speaking, high loop gain reduces steady-state error, but also makes the system prone to
oscillations. The steady-state error can be eliminated by placing a PI/PID controller in the feedback loop.
Disturbance inputs are unavoidable in the operation of physical systems. Common examples of disturbance inputs include road
bumps while driving, turbulence in the airplanes, and machinery vibrations in industrial plants, etc. Effective disturbance
rejection requires high loop gain in the frequency range of disturbance.
Aging in the physical system causes changes in the plant transfer function thus reducing the effectiveness of the controller. A
well-designed control system is desired to have robustness against unmodeled dynamics as well as low sensitivity to parameter
variations.
The control system design objectives involve inherent trade-offs. For example, a static controller cannot simultaneously
improve the transient response and reduce steady-state error to a constant input. Similarly, disturbance rejection and reference
tracking pose conflicting design objectives. When faced with such situations, it is not always easy to find the right balance in
meeting and prioritizing design objectives. Hence, the control system design is more of an art than an exact science, i.e., it
relies much on the skills of the designer.

9/13/2020 4.0.1 https://eng.libretexts.org/@go/page/24457


4.1: Stability of the Closed-Loop System
4.1.1 Closed-Loop Characteristic Polynomial
Ensuring the stability of the closed-loop is the first and foremost control system design objective. Even though the physical
plant, G(s) , may be stable, the presence of feedback can cause the closed-loop system to become unstable, as in the case of
higher order plant models.
The standard block diagram of a single-input single-output (SISO) feedback control system (Figure 4.1.1) includes a plant,
G(s) , a controller, K(s) , and a sensor, H (s) , where H (s) = 1 is assumed.

Figure 4.1.1 : Feedback control system with plant, G(s), sensor, H (s), and controller, K(s).
The overall system transfer function from input, r(t), to output, y(t), is given as:
KG(s)
T (s) = (4.1.1)
1 + KGH (s)

The determination of stability is based on the closed-loop characteristic polynomial:


Δ(s, K) = 1 + KGH (s). (4.1.2)

n(s)
In particular, let G (s) =
d(s)
; then, assuming a static controller: K(s) = K , the closed-loop characteristic polynomial is
given as:

Δ(s, K) = d(s) + Kn(s) (4.1.3)

nC (s)
Alternatively, assuming a dynamic controller, K (s) = dC (s)
, the characteristic polynomial is given as:

Δ(s) = d(s)dC (s) + n(s)nC (s) (4.1.4)

4.1.2 Stability Determination by Algebraic Methods


The stability of the characteristic polynomial is determined by algebraic methods that characterize its root locations based on
the coefficients of the polynomial. In the following, we assume that Δ(s) is an n th order polynomial expressed as:
n n−1
Δ(s) = s + a1 s + … + an−1 s + an (4.1.5)

A necessary condition for stability of the polynomial is that all coefficients of the polynomial are nonzero and are of same
sign.
A sufficient condition for polynomial stability is obtained through the application of the following equivalent criteria:
The Hurwitz Criterion
The n th order polynomial, s + a s
n
+⋯ +a
1
n−1
is stable, i.e., has its roots in the open left-half plane (OLHP), if and only
n

if the following determinants assume positive values:


∣ a1 a3 a5 ∣
∣ a1 a3 ∣ ∣ ∣
| a1 | , ∣ ∣, 1 a2 a4 ,… (4.1.6)
∣ 1 a2 ∣ ∣ ∣
∣ 0 a1 a3 ∣

The Routh’s Criterion


The Routh’s criterion involves construction of a Routh’s array, where the first two rows are filled by alternating the
coefficients of the polynomial.

Kamran Iqbal 9/13/2020 4.1.1 https://eng.libretexts.org/@go/page/24402


n
s
∣ 1 a2 …
n−1 ∣
s
a1 a3 …

∣ b b2 …
⋮ 1
∣ (4.1.7)
∣ c1 c2 …


s
1 …

0 ∣ …
s

The entries appearing in the third and subsequent rows are computed as follows:
∣ 1 a3 ∣ ∣ a2 a4 ∣ ∣ a1 a3 ∣
b1 = −
1

a1
∣ ∣, b2 = −
1

a3
∣ ∣, c1 = −
1

b1
∣ ∣ , etc.
∣ a1 a2 ∣ ∣ a3 a5 ∣ ∣ b1 b2 ∣

The Routh’s stability criterion states that the number of unstable roots of the polynomial equals the number of sign changes in
the first column of the Routh’s array.
Stability Determination for Low-Order Polynomials
Low-order polynomials (i.e., polynomials of degree n = 2, 3 ) are often encountered in model-based control system design.
The Routh or Hurwitz can be simplified when applied to such polynomials. The stability criteria for second and third-order
polynomials are given below:
Second-order polynomial: (n = 2 ): a1 > 0, a2 > 0 .
Third-order polynomial: (n = 3 ): a1 > 0, a2 > 0, a3 > 0, a1 a2 − a3 > 0.

Controller Gain Selection


The above stability conditions may be used to determine the range of controller gain, K , to ensure that the roots of the closed-
loop characteristic polynomial, Δ(s, K) , lie in the open left-half plane (OLHP).

Example 4.1.1
Let G (s) = K

s(s+2)
, H (s) = 1 ; then, Δ(s, K) = s 2
+ 2s + K . By using the above stability criteria, Δ(s) is stable for
K >0 .

Example 4.1.2
Let Δ(s, K) = s + 3s + 2s + K . By using the above stability criteria, Δ(s) is stable if the following conditions are
3 2

met: K > 0 and 6 − K > 0 . Accordingly, the range of K for closed-loop stablity is given as 0 < K < 6 .

Example 4.1.3
θ(s)
The simplified model of a small DC motor is given as: Va (s)
=
10

s(s+6)
.

kp
A PID controller for the motor model is defined as: K(s) = k p + kd s +
s
. The closed-loop characteristic polynomial is
given as:
2 2 3 2
Δ(s) = s (s + 6) + 10(kd s + kp s + ki ) = s + (6 + 10 kd )s + 10 kp s + 10 ki . (4.1.8)

The constraints on the PID controller gains to ensure the stability of the third-order polynomial are given as:
kp , ki , 6 + 10 kd > 0 (4.1.9)

kp (6 + 10 kd ) − ki > 0 (4.1.10)

We may choose, e.g., k p = 1, ki = 1, kd = 1 to meet the stability requirements.

4.1.3 Stability Determination from the Frequency Response Plots

Kamran Iqbal 9/13/2020 4.1.2 https://eng.libretexts.org/@go/page/24402


The frequency response function of the loop transfer function can be used to determine the stability of the closed-loop system
as follows: the closed-loop characteristic polynomial implies: 1 + KGH (jω) = 0 , or KGH (jω) = −1 .
Hence, the stability of the closed-loop system can be inferred from the frequency response of KGH (jω) , relative to the
1∠ ± 180 point on the complex plane. The stability determination is performed using the following relative stability criteria:

Definition: Gain Margin


The gain margin (GM) denotes the factor by which the loop gain,  |KGH (jω)| , can be increased without compromising
the closed-loop stability.

The GM is computed as: GM = −|KGH (jωpc )|


dB
, where ωpc denotes the phase crossover frequency, defined by
∠KGH (jω) = −180 .

A positive value of GM denotes closed-loop stability.

Definition: Phase Margin


The phase margin (PM) denotes the additional phase that can be added by the controller to ∠KGH (jω) without
compromising the closed-loop stability.

The PM is computed as: P M = ∠KGH (jωgc ) + 180 ,



where ωgc denotes the gain crossover frequency, defined by
|KGH (jω )| = 0dB .
gc
dB

A positive value of PM denotes closed-loop stability. Additionally, sine PM denotes a dynamic stability measure, an adequate
PM is desired to suppress oscillations in the system response.
To proceed further, assume that the loop transfer function, KGH (s) , has m zeros and n poles. Then, the GM is finite for
n − m > 2 and may be so for n − m = 2 . For low-order models (n ≤ 2) , the loop gain, KGH (s) , displays an infinite GM.

The gain crossover occurs only when |KGH (j0)| dB


> 0dB hence PM become relevant in that case.
Both gain and phase margins are required to be positive to ensure closed-loop stability. In addition, the phase margin should be
adequate to ensure dynamic stability, that is, to ensure that any oscillations in the system response die out in a reasonable time.
Stability Determination on the Bode Plot
On the Bode magnitude plot the gain crossover frequency, ω , is indicated as the magnitude plot crosses the
gc 0dB line. The
Bode phase plot at that frequency reveals the phase margin as: P M = ∠KGH (jω ) + 180 . gc

On the Bode phase plot, phase crossover frequency, ω , is indicated as the phase plot crosses the −180 line. The magnitude
pc

plot at that frequency reveals the gain margin as: GM = −|KGH (jω )| . pc
dB

The relative stability margins can be obtained in the MATLAB Control Systems Toolbox by using the ‘margin’ command.
When invoked the command produces a Bode plot with stability margins indicated.

Example 4.1.1
Let KG (s) = K

s(s+1)(s+2)
; the respective Bode plots for K = 1 are shown in Figure 4.1.2.

The Bode magnitude plot displays a 15.6dB gain margin, i.e., the controller gain can be increased by a factor of
6 (15.6 dB) before losing stability of the closed-loop system.

The Bode phase plot displays a 53.4 phase margin, which indicates closed-loop stability; further, it corresponds to

ζ ≅0.55 for the closed-loop system, which indicates adequate dynamic stability.

Kamran Iqbal 9/13/2020 4.1.3 https://eng.libretexts.org/@go/page/24402


Figure 4.1.2 : Bode gain and phase plots showing stability margins.

Stability Determination on the Nyquist Plot


On the Nyquist plot, the gain crossover is indicated when the Nyquist plot enters the unit circle, whereas phase crossover is
indicated when the Nyquist plot crosses the negative real-axis.
Thus, GM is positive if the real-axis crossing is to the right of −1 + j0 point. The PM is positive if KGH (jω) magnitude
drops below unity in the third quadrant.

Example 4.1.2
Let KG (s) = K

s(s+1)(s+2)
; the Nyquist plot for K = 1 is shown in Figure 4.1.3.

The Nyquist plot crosses the real axis at s = −0.165 , which corresponds to GM =6 .
The Nyquist plot enters the unit circle at an angle of 53 from the negative real axis that indicates the phase margin.

Figure 4.1.3 : Nyquist plot showing stability margins.

Example 4.1.3
ω(s)
The model of a small DC motor, including an amplifier with a gain of 3 is given as: Va (s)
=
1500

(s+100)(s+10)+25
.

The relative stability margins for the DC motor model are given as: GM = ∞; P M = 127

(Figure 4.1.4).

Kamran Iqbal 9/13/2020 4.1.4 https://eng.libretexts.org/@go/page/24402


Assume that the motor is used in a position control application, so that the plant transfer function is given as:
θ(s)

Va (s)
=
1500

s[(s+100)(s+10)+25]
.

The corresponding relative stability margins are given as: GM = 37.5 dB;  P M = 81.1

(Figure 4.1.4).

Figure 4.1.4 : Stability margins for the DC motor model (left); stability margins for the position control application (right).

Kamran Iqbal 9/13/2020 4.1.5 https://eng.libretexts.org/@go/page/24402


4.2: Transient Response Improvement
System Transient Response
We consider the feedback control system (Figure 4.1.1) with input r(s) and output y(s) .
KG(s)
The closed-loop system response is given as: y(s) = T (s)r(s) , where T (s) =
1+KGH (s)
.

The system response consists of transient and steady-state components, i.e., y(t) = ytr (t) + yss (t) .
In particular, for a constant input, r , the steady-state component of the system response is given as: y
ss ss = T (0)rss .
The transient response is characterized by the roots of the closed-loop characteristic polynomial, given as:
Δ(s) = 1 + KGH (s) .

These roots can be real or complex, distinct or repeated. Accordingly, the system natural response modes are characterized as
follows:
Real and Distinct Roots. Let Δ(s) = (s − p 1 )(s − p2 ) … (s − pn ). ; then, the system natural response modes are given as:
}.
p1 t p2 t pn t
{e ,e , … ,e

Real and Repeated Roots. Let Δm (s) = (s − s1 )


m
; then, the corresponding natural response modes is given as:
}.
s1 t s1 t m−1 s1 t
{e , te , …, t e

Complex Roots. Let Δc (s) = (s + σ )


2

2
; then, the corresponding natural response modes are given as:
{e
−σt
cos ωt , e
−σt
sin ωt} .
General Expression. Assume that for an n th order polynomial, the response modes are given as: ϕ k (t), k = 1, … , n . Then,
using arbitrary constants, c , the system natural response is given as: y(t) = ∑
k c ϕ (t) .
n

k=1 k k

Control System Design Specifications


The control system design specifications include desired characteristics for the transient and steady-state components of
system response with respect to a prototype input. A step input is used to define the desired transient response characteristics.
The qualitative indicators of the step response include the following:
1. The rise time (t ) r

2. The peak time (t ) p

3. The response peak (M ) and percentage overshoot (%OS),


p

4. The settling time (t ) s

Rise Time. For overdamped systems (ζ > 1 ), the rise time is the time taken by the response to reach from 10% to 90% of its
final value. For underdamped systems (ζ < 1 ), the rise time is the time when the response first reaches its steady-state value.
Peak Time. For underdamped systems, the peak time is the time when the step response reaches its peak.
Peak Overshoot. The peak overshoot is the overshoot above the steady-state value.
Settling Time. The settling time is the time when the step response reaches and stays within 2% of its steady-state value.
Alternately, 1% limits can be used.
Prototype Second-Order System
To illustrate the above characteristics, we consider a prototype second-order transfer function, given as:
2
ωn
T (s) = (4.2.1)
2 2
s + 2ζ ωn s + ωn

−−−−−
The poles for the prototype system are located at: s = −ζ ωn ± jωd , where ωd = ωn √1 − ζ
2
is the damped natural
frequency.
The impulse and the step response of the prototype system are given as:

Kamran Iqbal 9/13/2020 4.2.1 https://eng.libretexts.org/@go/page/24403


2
ωn −ζωn t
yimp (t) = e sin(ωd t) u(t) (4.2.2)
ωd

−ζωn t −1
ωd
ystep (t) = T (0) (1 − e sin (ωd t + ϕ)) u(t), ϕ = tan (4.2.3)
ζωn

π−ϕ
For the prototype system, the rise time, t , is indicated by ω
r d tr +ϕ = π . Thus, t r =
ωd
; further, the rise time is bounded as:
π

2ωd
≤t ≤ r . π

ωd

The peak time is indicated by ω d tp =π ; thus, t p =


π

ωd
.

The peak overshoot is given as: M p = 1 +e


−ζωn tp
; the percentage overshoot is given as: %OS = 100e −ζωn tp
.
The effective time constant of the prototype system is: τ =
ζωn
1
. The step response reaches and stays within 2% of its final
value in about 4τ , and within 1% of its final value in about 4.5τ.
These metrics are summarized in the Table below.
Table 2.1: Quality metrics used to measure second-order system response.
Quality indicator Expression

√1−ζ 2
Rise time tr =
π −ϕ
,   ϕ = tan
−1
 
ωd ζ

Peak time tp =
π
ωd

Peak overshoot Mp = 100 e


−ζ ωn tp
(%)

Settling time ts ≅
4.5

ζ ωn

The above step response quality indicators are all functions of damping ratio, ζ , of the closed-loop roots.
In particular, the variation in the step overshoot, %OS , and the normalized rise time, ωn tr , with ζ is tabulated below for
selected values of ζ .
Table 2.2: Percentage overshoot and rise time vs. damping ratio
ζ 0.9 0.8 0.7 0.6 0.5

%OS 0.2% 1.5% 4.6% 9.5% 16.3%

ωn tr 5.54 4.18 3.3 2.76 2.42

A low (≤ 10%) overshoot in the step response is often desired, which translates into ζ ≥ 0.6.

Example 4.2.1
For a prototype second-order system, let T (s) = 2
s +6s+25
25
. The closed-loop poles are located at: p 1,2 = −3 ± j4 , hence
ωn = 5
rad

s
and ζ = 0.6 .
The step response of the system displays: t r ≅0.47 sec, tp ≅0.78 sec, %OS = 9% , and t s ≅1.19 sec (2% threshold).

Figure 4.2.1 : Step response of a prototype second-order system showing rise time, peak time and settling time.

Kamran Iqbal 9/13/2020 4.2.2 https://eng.libretexts.org/@go/page/24403


Desired Characteristic Polynomial
The system design specifications, defined in terms of rise time (t ), settling time (t ), damping ratio (ζ ), and percentage
r s

overshoot (%OS ), are used to define desired root locations for the closed-loop characteristic polynomial.
In particular, assuming a root root location, −σ ± jω , the settling time constraint places a bound on the real part of the roots:
σ ≥
4.5

ts
.
The damping ratio constraint requires that: θ ≤ ± cos −1
ζ , where θ is the angle of the desired root location from the origin of
the complex plane.
The rising time constraint places a bound on the natural frequency of the closed-loop roots. These constraints are summarized
below:
4.5 2 −1
σ ≥ ,   ωn ≥ ,   θ = cos ζ (4.2.4)
ts tr

Example 4.2.2
Assuming the following design specifications: 0.7 < ζ < 1 and ts < 2s , the desired region for the closed-loop root
locations is bounded by: σ ≤ −2 and θ ≤ ±45 . ∘

Figure 4.2.2 : The desired region for closed-loop pole placement for 0.7 < ζ < 1 and t s < 2 s.

Example 4.2.3
Assume that the design specifications are specified as: t ≤ 0.5s , t ≤ 3.0s , and % %OS ≤ 10% . These specifications
r s

place the following constraints on the closed-loop pole locations: σ ≥ 1.5,  ω ≥ 4, and ζ ≥ 0.6 . n

To meet the constraints, we may choose, e.g., the desired closed-loop characteristic polynomial as:
Δ
2 2 2
(s) = (s + σ ) + ω = s + 6s + 20
des d
.

Controller Gain Selection


The closed-loop characteristic polynomial for a unity-gain feedback system: Δ(s, K) = 1 + KG(s) includes the controller
gain, K , as a parameter.
Given a desired characteristic polynomial, Δdes (s) , we may choose the controller gain by comparing the coefficients of the
two polynomials.

Example 4.2.4
θ(s)
The simplified model of a small DC motor is given as: G(s) = Va (s)
=
10

s(s+6)
. Assuming a static gain controller in unity-
gain feedback configuration, the closed-loop characteristic polynomial is given as: Δ (s) = s 2
+ 6s + 10K .

Kamran Iqbal 9/13/2020 4.2.3 https://eng.libretexts.org/@go/page/24403


Suppose the design specifications are given as: OS ≤ 10%  (ζ ≥ 0.6) ,  ts ≤ 1.5sec. Then, closed-loop root locations
may be selected as: s = −3 ± j4 .
The desired characteristic polynomial is formed as: Δ des (s) =s
2
+ 6s + 25 .
By comparing polynomial coefficients, we obtain: K = 2.5 .
The closed-loop system step response shows a rise time t r ≅0.47 sec (ω
n tr ≅3 ), and the settling time t s ≅1.06 sec .

Figure 4.2.3 : Step response of the closed-loop simplified DC motor model (Example 4.2.4).

The next example illustrates the design of rate feedback controller.

Example 4.2.5
The characteristic polynomial for rate feedback controller design is given as: Δ(s, K, K 1) =s
2
+ K1 s + K .
Assume that the design objectives are to choose K, K for % OS ≤ 5% (ζ = 0.7) and t
1 s ≤ 2.5s.

A desired characteristic polynomial for ζ = 0.7 and ζ ωn = 2 is given as: Δdes (s) = (s + 2 )
2 2
+2 . Accordingly, we
may choose: K = 4, K = 8 .
1

Optimal Performance Indices


An alternate way to characterize the transient response of the closed-loop system is to define a time-domain performance index
and choose a characteristic polynomial that controller gain K to minimize that index.
Toward this end, three popular performance indices have been defined:
ts
Integral Absolute Error, I AE : ∫
0
|e(t)| dt

ts
Integral Square Error, I SE : ∫
0
2
|e(t)| dt

ts
Integral Time Absolute Error, I T AE : ∫
0
t |e(t)| dt.

The ITAE index, in particular, is commonly used to evaluate system performance in industrial process control.
For a prototype second-order system model, driven by a step input, minimization of the ITAE index results in an optimal
design with ζ = 0.7 (%OS = 4.6%).
The optimum coefficients of the desired characteristic polynomials based on the ITAE index are given below:

s + ωn (4.2.5)

2 2
s + 1.4 ωn s + ωn (4.2.6)

3 2 2 3
s + 1.75 ωn s + 2.15 ωn s + ωn (4.2.7)

4 3 2 2 2 3
s + 2.1 ωn s + 3.4 ωn s + 2.7 ωn s + ωn . (4.2.8)

Example 4.2.6

Kamran Iqbal 9/13/2020 4.2.4 https://eng.libretexts.org/@go/page/24403


−s

The first-order-plus-dead-time (FOPDT) model of an industrial process is given as: G (s) =


e

s+1
. By using first-order
Pade’ approximation: e ≅
−s 2−s

2+s
, we obtain a rational approximation as: G (s) ≅ 2−s

(s+1)(s+2)
.

The closed-loop characteristic polynomial for a unity-gain feedback control system is:
Δ (s) = (s + 1) (s + 2) + K(2 − s) .
Using the ITAE index, a desired second-order polynomial is selected as: Δdes (s) =s
2
+ 1.4 ωn s + ωn
2
.
By comparing the polynomial coefficients, we obtain two equations that are solved to obtain: ωn = 1.76
rad

s
and the
corresponding controller gain K = 0.54 .

Kamran Iqbal 9/13/2020 4.2.5 https://eng.libretexts.org/@go/page/24403


4.3: Steady-State Error Improvement
4.3.1 Steady-State Tracking Error
A tracking control system is designed to have a low steady-state error in response to a constant (i.e., unit-step) or linearly
varying (i.e., unit-ramp) input. The desired error tolerance may be specified as percentage of the reference input. Additionally
the system response to a constant disturbance input should stays small.
We consider the feedback control system (Figure 4.1.1) with input r(s) and output y(s) . Let T (s) denote the closed-loop
transfer function; then y (s) = T (s) r(s) . The tracking error, e(s) , in response to a reference signal, r(s) , is defined as:
e (s) = (1 − T (s)) r (s) (4.3.1)

To characterize the tracking error, we consider a unity-gain feedback system (H (s) = 1 ). Then, the tracking error, e(s) , is
given as:
1
e(s) = r(s) (4.3.2)
1 + KG(s)

By using the final-value theorem (FVT), the steady-state tracking error is computed as: e(∞) = lim se(s)
s→0

The steady-state error to a step reference input, (r(s) = 1

s
) , is given as: e(∞) = 1

1+KG(0)
.

The steady-state error to a ramp reference input, (r(s) = 1


2
s
) , is given as: e(∞) = 1

sKG(s)|
.
s=0

4.3.2 System Error Constants


The steady-state tracking error in the case of a unity-gain feedback control system is characterized in terms of system position
and velocity error constants, which are defined as:
Kp = limKG(s) , (4.3.3)
s→0

Kv = limsKG(s). (4.3.4)
s→0

In terms of the error constants, the steady-state tracking error to a step or a ramp input is evaluated as:
1
e(∞)| = (4.3.5)
step
1 + Kp

1
e(∞)| = (4.3.6)
ramp
Kv

Example 4.3.1
Let KG(s) = s(s+2)
K
; then, we have: K p = ∞, Kv =
K

2
.

Hence e(∞)| step


= 0, e(∞)|
ramp
=
K
2
.

We note that the integrator in the feedback loop forces the steady-state error to a step input to zero.

Example 4.3.2
The approximate model of a small DC motor is given as:
500K
KG (s) = (4.3.7)
(s + 10) (s + 100)

Then, we have: K p = 0.5K , and K v =0 .

Kamran Iqbal 9/13/2020 4.3.1 https://eng.libretexts.org/@go/page/24404


Hence, e(∞)| step
=
2

K
, e(∞)|
ramp
= ∞.

ki
Integral control, K (s) = , is often employed to reduce the steady-state tracking error. The presence of an integrator in
s

the loop forces K → ∞ , and the steady-state error to a step input to go to zero.
p

Assuming that the feedback loop contains an integrator, an alternate expression for steady-state error to a ramp input can be
developed.

4.3.3 Steady-State Error to Ramp Input


The steady-state error to a ramp input is expressed as:
1
e(s) = [1 − T (s)] r(s); r(s) = . (4.3.8)
2
s

1−T (s)
The error is evaluated by the application of FVT: e(∞)| ramp
= lim
s
.
s→0

dT (s)
By using the L’ Hospital’s rule, we obtain: e(∞)| ramp
= lim (−
ds
) .
s→0

dT (s)
To evaluate the RHS, we use the natural logarithm to write: d

ds
ln T (s) =
1

T (s) ds
.

dT (s)
Since lim T (s) = 1 by the integrator assumption, we have: lim ds
d
ln T (s) = lim
ds
.
s→0 s→0 s→0

K(s−z1 )…(s−zm )
Next, assume that T (s) is expressed as: T (s) = (s−p )…(s−p )
.
1 n

Then, we have: ln T (s) = ln K + ∑ ln


(s − zi ) − ∑
ln
(s − pi ), and
d 1 1
ln T (s) = ln K + ∑ −∑ (4.3.9)
ds s − zi s − pi

It follows that:
1 1
e(∞)| =∑ −∑ (4.3.10)
ramp
pi zi

where z and p denote the zeros and poles of the closed-loop system.
i i

Example 4.3.3
Let KG(s) = K

s(s+2)
; then, the closed-loop characteristic polynomial is: Δ (s) = s 2
+ 2s + K .

Assuming a value of K = 1 , the closed-loop poles are located at: s 1,2 = −1,   − 1 .
The resulting steady-state error to a ramp input is given as: e(∞)| ramp
=∑
pi
1
=2 .

For verification, the closed-loop system response is plotted in Figure 4.3.1.

Figure 4.3.1 : Steady-state error to a ramp input (Example 4.3.3).

Kamran Iqbal 9/13/2020 4.3.2 https://eng.libretexts.org/@go/page/24404


Kamran Iqbal 9/13/2020 4.3.3 https://eng.libretexts.org/@go/page/24404
4.4: Disturbance Rejection
Disturbance Input
Disturbance inputs are unwanted signals entering into a feedback control system. Disturbance may act at the input or output of
the plant. Here we consider the effect of input disturbance.
To characterize the effect of a disturbance input on the feedback control system, we consider a modified block diagram, where
a disturbance input has been added (Figure 4.4.1).

Figure 4.4.1 : A feedback control system with reference and disturbance inputs.
Let r(t) denote a reference, and d(t) a disturbance input; then, the closed-loop system output is expressed in Laplace domain
as:
KG(s) G(s)
y(s) = r(s) + d(s) (4.4.1)
1 + KGH (s) 1 + KGH (s)

Assuming unity-gain feedback configuration (H (s) = 1) , the tracking error, e (s) , is computed as:

1 G(s)
e(s) = r(s) − d(s) (4.4.2)
1 + KG(s) 1 + KG(s)

By using the FVT, the steady-state error is expressed as:

1 G(0)
e(∞) = r(∞) − d(∞) (4.4.3)
1 + Kp 1 + Kp

where K is the position error constant.


p

A large loop gain (large K ) reduces steady-state error in the presence of both reference and disturbance inputs. A large
p

controller gain, however, generates a large magnitude input signal to the plant, which may cause saturation in the actuator
devices (amplifiers, mechanical actuators, etc.).
Simultaneous Tracking and Disturbance Rejection
To analyze the control requirements for simultaneous tracking and disturbance rejection, we consider a unity-gain feedback
control system (H (s) = 1 ).
n(s) nC (s)
Let G (s) = d(s)
represent the plant and K (s) = dC (s)
represent the controller; then, the output in the presence of reference
and disturbance inputs is given as:
d (s) dc (s) n (s) dc (s)
y (s) = r (s) − d (s) (4.4.4)
n (s) nc (s) + d (s) dc (s) n (s) nc (s) + d (s) dc (s)

The characteristic polynomial is given as: Δ(s) = n(s)n c (s) + d(s)dc (s) .
The requirements for asymptotic tracking and disturbance rejection are stated as follows:
Asymptotic tracking. For asymptotic tracking, d (s) d (s) should contain any unstable poles of
c r (s) . For example, an
integrator in the feedback loop ensures zero steady-state error to a constant reference input.
Disturbance Rejection. For disturbance rejection, n (s) d (s) should contain any unstable poles of
c d (s) . For example, a
notch filter centered at 60 H z removes power line noise from the measured signal.

Example 4.4.1

Kamran Iqbal 9/13/2020 4.4.1 https://eng.libretexts.org/@go/page/24405


A small DC motor has the following component values:
2 Ns
R = 1 Ω, L = 10 mH, J = 0.01 kg m , b = 0.1 , kt = kb = 0.05.
rad

The DC motor transfer function is given as: G(s) = 2


500

s +110s+1025
.

Since G (0) ≅0.5, the position error constant is: Kp = 0.5K . The steady-state error in teh presence of reference and
disturbance inputs is given as:
1 0.5
e(∞) = r(∞) − d(∞).
1 + 0.5K 1 + 0.5K

We may choose a large K to reduce the steady-state tracking error as well as improve the disturbance rejection. A large
value of K, however, reduces system damping and results in an oscillatory response of the motor.
For a static controller, the closed-loop characteristic polynomial is given as: Δ(s, K) = s 2
+ 110s + 1025 + 500K. The
resulting damping ratio is: ζ = 55
.
√1025+500K

In order to limit the damping to, say ζ ≤ 0.6 , the controller gain is limited to: K ≤ 14.75 . We may choose, for example,
K = 14 , which gives: e(∞) =
1 1
r(∞) − d(∞).
8 16

Kamran Iqbal 9/13/2020 4.4.2 https://eng.libretexts.org/@go/page/24405


4.5: Sensitivity and Robustness
The robustness refers to the ability of a control system to withstand parameter variations in the plant transfer function, and still
maintain the stability and performance goals.
Robustness is characterized in terms of the sensitivity of the closed-loop transfer function T (s) to variation in one or more of
the plant parameters.
System Sensitivity Function
The system sensitivity function is defined as the ratio of percentage change in the closed-loop transfer function to percentage
change in the plant transfer function, i.e., assuming unity feedback (H (s) = 1 ),
∂T /T ∂T G 1
T
S = = = (4.5.1)
G
∂G/G ∂G T 1 + KG(s)

Hence, increasing loop gain in a feedback control system by choosing a larger controller gain, K , reduces its sensitivity to
parameter variations.
It may be noted that the system sensitivity function, denoted as S(s) , is the same as the transfer function from the error, e(s) ,
to output, y(s) . The sensitivity function is thus a function of frequency.
Further, S(s) + T (s) = 1 , where T (s) denotes the closed-loop transfer function.
The sensitivity of the closed-loop transfer function, T (s) , to percentage change in a plant parameter, α , is given as:
T T G
Sα = S Sα (4.5.2)
G

Example 4.5.1
Let KG(s) = K

s(s+a)
, H (s) = 1 ; then, we have: T (s) = K

s(s+a)+K
.
s(s+a)
For unity-gain feedback, the system sensitivity function is computed as: S T
G
=
s(s+a)+K
.

Further, S G
a =−
a

s+a
; hence S T
a =−
as

s(s+a)+K
.

Thus, increasing the loop gain (by choosing a large K ) reduces the sensitivity of T (s) to variations in a . However,
increasing K reduces damping in the system and gives rise to output oscillations.

Example 4.5.2
kt
The model of a small DC motor is approximated as: G(s) = (Js+b)(Ls+R)+kt kb
=
500

s2 +110s+1025
.

For unity-gain feedback, the system sensitivity function is computed as: S T


G
=
1

1+0.5K
.
As an example, the sensitivity of the closed-loop transfer function, T (s) , to motor torque constant, kt , is given as:
S
T
kt
=S S
T
G
, which evaluates as:
G
kt

2
s + 110s + 1000
T
S = . (4.5.3)
kt 2
s + 110s + 500K + 1025

Kamran Iqbal 9/13/2020 4.5.1 https://eng.libretexts.org/@go/page/24406


CHAPTER OVERVIEW
5: CONTROL SYSTEM DESIGN WITH ROOT LOCUS
Learning Objectives

Sketch the root locus of a transfer function with respect to the controller gain K.
Use root locus technique to design a static controller for a transfer function model.
Use root locus technique to design first-order phase-lead and phase-lag controllers.
Realize the controller design using operational amplifiers and filters.

5.0: PRELUDE TO CONTROL SYSTEM DESIGN WITH ROOT LOCUS


5.1: ROOT LOCUS FUNDAMENTALS
5.2: STATIC CONTROLLER DESIGN
5.3: TRANSIENT RESPONSE IMPROVEMENT
5.4: STEADY-STATE ERROR IMPROVEMENT
5.5: TRANSIENT AND STEADY-STATE IMPROVEMENT
5.6: CONTROLLER REALIZATION

1 10/11/2020
5.0: Prelude to Control System Design with Root Locus
The typical structure of a feedback control system (Figure 6.1) includes the process to be controlled, represented by G(s) , a
sensor that measures the output, represented by H (s) , and a cascade controller, represented by K(s) . The plant is assumed to
be of single-input single-output (SISO) type.
Assuming a static controller is selected, the characteristic polynomial includes the controller gain, K , as a parameter. The root
locus (RL) refers to the locus of the closed-loop roots as the controller gain, K , varies from 0 → ∞ . The root locus technique
allows graphical representation of achievable closed-loop pole locations.
The RL plot in the case of low-order plant models can be sketched by hand following a set of rules; a computer generated plot
can be obtained from MATLAB. The controller gain needed to achieve a set of design specifications can be selected from the
RL plot. In MATLAB, the controller gain can be read by clicking on the RL plot.
The feedback control system is designed for closed-loop stability and the desired transient and/or steady-state response
improvements. The transient response improvements are measured in terms of step response parameters (t ,  t ,  %OS, etc.);
r s

the steady-state response improvements are measured in terms of relevant error constants (K ,  K ).
p v

The root locus plot of a given loop transfer function, KGH (s) , constitutes n branches in the complex s -plane, where n is the
order of the denominator polynomial. These branches commence at the open-loop (OL) poles and proceed towards finite zeros
of the loop transfer function, or asymptotically toward infinity. All root locus plots bear common characteristics that are
referred as root locus rules. These describe the location of real-axis locus, break points, asymptote directions, etc.
The root locus design technique can be extended to dynamic controllers of phase-lead, phase-lag, lead–lag, PD, PI, and PID
types. The dynamic controller introduces poles and zeros that modify the original RL to bring about the desired design
improvements. With the availability of a rate sensors (rate gyroscope and tachometer), rate feedback design that includes the
design of inner and outer feedback loops may be considered.
The static and dynamic controllers designed for process improvement can be implemented with electronic circuits built with
operational amplifiers, resistors, and capacitors. Alternatively, controller realization using microcontrollers can be considered.
This topic is addressed in the next chapter after introduction of the sampled-data systems.

9/13/2020 5.0.1 https://eng.libretexts.org/@go/page/24458


5.1: Root Locus Fundamentals
Root Locus
The root locus (RL) constitutes a graph of the closed-loop root locations, with variation in static feedback controller gain, \
(K\).
In order to develop the RL concepts, we consider a typical feedback control system (Figure 5.1), where \(K\) represents a
controller, \(G(s)\) is the plant transfer function, and \(H(s)\) is the sensor transfer function. Unless noted otherwise, unity-gain
feedback (\(H(s)=1\)) is assumed.

Figure \(\PageIndex{1}\): Feedback control system with plant \(G(s)\), sensor \(H(s)\), and a static gain controller represented
by \(K\).
The loop gain for the feedback loop includes the controller, the plant, and the sensor transfer functions, and is given as: \
[L(s)=KG(s)H(s)=KGH(s)\]
The characteristic polynomial of the closed-loop system is defined as: \[\Delta (s,K)=1+KGH(s)\]
The roots of \(\Delta (s,K)\) vary with the controller gain, \(K\), and are plotted for different values of \(K\). The loci of all
such roots locations, as \(K\) varies from \(0\to \infty ,\) constitutes the root locus plot of the loop transfer function.

Example \(\PageIndex{1}\)
Let \(G(s)=\frac{1}{s+1} ,\; H(s)=1\); the closed-loop characteristic polynomial is given as: \(\Delta (s)=s+1+K.\) The
polynomial has a single root at \(s_{1} =-1-K\).
A short table of closed-loop root for different values of \(K\) is given below:

\(K\) \(0\) \(1\) \(2\) \(5\) \(10\)

Closed-loop root \(-1\) \(-2\) \(-3\) \(-6\) \(-11\)

The root locus plot, as \(K\) varies from \(0\) to \(\infty\), traces a line that proceeds from \(\sigma =-1\) along the negative
real-axis to infinity (Figure 5.1.2). The overlaid grid shows the damping ratio of the closed-loop root (\(\zeta=1\) in this
case).

Figure \(\PageIndex{2}\): The root locus plot for \(G(s)=\frac{1}{s+1} ,\; H(s)=1\)

pkg load control


s=tf('s');
Gs=1/(s+1);
rlocus(Gs)

Kamran Iqbal 9/13/2020 5.1.1 https://eng.libretexts.org/@go/page/24408


run restart

pkg load control


s=tf('s')
Gs=1/(s+1)

run restart

Hello world! Hello world!

Example \(\PageIndex{2}\)
Let \(G(s)=\frac{1}{s(s+2)} ,\; \; H(s)=1\). The closed-loop characteristic polynomial is given as: \(\Delta (s,K)=s^{2}
+2s+K.\)
The roots of the characteristic polynomial are given as: \(s_{1,2}=-1\pm \sqrt{1-K}\) for \(K\le 1\), and as \(s_{1,2}
=-1\pm j\sqrt{K-1}\) for \(K>1\). The roots for selected values of \(K\) are tabulated below.

\(K\) \(0\) \(1\) \(2\) \(10\)

Closed-loop roots \(-1,-2\) \(-1,-1\) \(-1\pm j1\) \(-1\pm j3\)

The loci of these roots, as \(K\) varies from \(0\to \infty\), comprise two branches that commence at the open-loop (OL)
poles located at \(\{ 0,\; -2\}\), proceed inward along the real-axis to meet at \(\sigma =-1\), then split and extend along the
\(\sigma =-1\) line to \(s=-1\pm j\infty\) (Figure 5.2). These directions are called the RL asymptotes.

Figure \(\PageIndex{3}\): The root locus plot for \(G(s)=\frac{1}{s(s+2)} ,\; \; H(s)=1\).

pkg load control


s=tf('s');
Gs=1/s/(s+1);
rlocus(Gs)

run restart

The RL plot can be extended to negative values of \(K\), i.e., \(K\in (-\infty ,\; \infty )\), and is called generalized root locus.
Root Locus Rules
All RL plots share a few common properties, referred as the root locus rules. The prominent rules are described below.

Kamran Iqbal 9/13/2020 5.1.2 https://eng.libretexts.org/@go/page/24408


In the following, it is assumed that the loop transfer function, \(KGH(s)\), is proper, has \(n\) open loop (OL) poles and \(m\le
n\) finite OL zeros. The remaining \(n-m\) zeros are assumed to lie at infinity.
1. The RL has \(n\) branches and \(n-m\) asymptotes (assumed RL directions for large \(K\)). The RL branches commence at
the OL poles (for \(K=0\)); of these, \(m\) branches terminate at the OL zeros (as \(K\to \infty\)); the remaining \(n-m\)
branches follow the RL asymptotes to infinity (as \(K\to \infty\)).
2. The real-axis locus, indicating real roots of the characteristic polynomial, lies to the left of an odd number of poles and
zeros of \(KGH(s)\) for \(\left(K>0\right)\), and to the right of an odd number of poles and zeros for \(\left(K<0\right)\).
3. The real-axis locus separating a pair of OL poles contains a break-away point where the two RL branches split; the real-
axis locus separating two OL zeros, contains a break-in point where the two branches meet. The break points for both \
(K>0\) and \(K<0\) are found among the solutions to the equation: \(\sum \frac{1}{\sigma -p_{i} } -\sum \frac{1}{\sigma -
z_{i} } =0\).
4. The RL asymptotes, assume angles: \(\phi _{a} =\frac{2k+1}{n-m} (180^{\circ } ),\; k=0,\; 1,\cdots ,n-m-1\), (for\(K>0\)),
and angles: \(\phi _{a} =\frac{2k+1}{n-m} (360^{\circ })\), \(k=0,\; 1,\cdots ,n-m-1\) (for \(K<0\)). These asymptotes
intersect at a common point on the real-axis, given as: \(\sigma _a =\frac{\sum p_{i} -\sum z_{i} }{n-m}\).
5. The RL plot is symmetric with respect to the real-axis (this is a consequence of the fact that the complex roots of a real
polynomial occur in conjugate pairs).
The above rules suffice to sketch the RL plot for low-order plants. Additional rules for refining the RL plot may be added.
MATLAB Root Locus Plot
The MATLAB Control Systems Toolbox provides the ‘rlocus’ command to plot the root locus of the loop transfer function.
The ‘rlocus’ command is invoked after defining a dynamic system object using ‘tf’ or ‘zpk’ command.
The ‘grid’ command adds constant damping ratio and constant natural frequency contours to the RL plot. The contours assume
a prototype second-order transfer function: \(T(s)=\frac{\omega _{n}^{2} }{s^{2} +2\zeta \omega _{n} s+\omega _{n}^{2}
}\), with roots located at: \(s=-\zeta \omega _{n} \pm \omega _{n} \sqrt{1-\zeta ^{2} }\). The constant \(\zeta\) lines are
characterized by the relation: \(\frac{\sigma }{\omega } =\mp \frac{\zeta }{\sqrt{1-\zeta ^{2} } }\). In the \(s\)-plane, these
constitute radial lines at angles defined by \(\theta =\cos ^{-{ 1}} \zeta \;\).

Example \(\PageIndex{3}\)
Let \(KGH(s)=\frac{K(s+3)}{s(s+2)}\); hence, \(n=2,\ \ m=1\).The closed-loop characteristic polynomial is formed as: \
(\mathit{\Delta}\left(s,K\right)=s^2+\left(K+2\right)s+3K\).
The RL plot is sketched as follows:
1. The RL has two branches that commence at the OL poles at \(0,-2\) (for \(K=0)\); one branch terminates at the finite
OL zero at \(s=-3\); the other branch follows the RL asymptote as \(K\to \infty\).
2. The real-axis locus lies in the intervals: \(\sigma \in \left[-2,0\right]\cup (-\infty ,-3]\) (for \(K>0)\).
3. The real-axis break points are defined by: \(\frac{1}{\sigma } +\frac{1}{\sigma +2} =\frac{1}{\sigma +3}\), or \
({\sigma }^2+6\sigma +6=0\); the solutions include: \(\sigma =-1.27\) (break-away) and \(-4.73\) (break-in).
4. The asymptote angle is given as: \(\pm 180^{\circ }\) (for \(K>0\)), with intersection at: \(\sigma _{a} =1\).
The resulting RL plot (for \(K>0\)) is shown in Figure 5.1.4.

Kamran Iqbal 9/13/2020 5.1.3 https://eng.libretexts.org/@go/page/24408


Figure \(\PageIndex{4}\): The root locus plot for \(G(s)=\frac{(s+3)}{s(s+2)}\).

Example \(\PageIndex{4}\)
Let \(KGH(s)=\frac{K}{s(s+1)(s+2)}\); then, \(n=3,\ m=0\). The closed-loop characteristic polynomial is formed as: \
(\Delta (s)=s^{3} +3s^{2} +2s+K\).
The RL plot is sketched as follows:
1. The RL has three branches that commence at the OL poles at \(s=0,-1,-2\) (for \(K=0)\); the branches follow RL
asymptotes as \(K\to \infty\).
2. The real-axis locus lies along \(\sigma \in \left[-1,0\right]\) (for \(K>0)\).
3. The break points are given as the solution to: \(\frac{1}{\sigma } +\frac{1}{\sigma +1} +\frac{1}{\sigma +2} =0\),
which reduces to: \(3\sigma ^{2} +6\sigma +2=0\), and has solutions at \(\sigma =-0.38,\; -2.62\). The first solution is
a break-away point for \(K>0\); the second one is the break-in point for \(K<0\).
4. The asymptote angles are given as: \(\pm 60^{\circ } ,180^{\circ }\) (for \(K>0\)); their common intersection point is
at: \(\sigma _a =-\frac{3}{3} =-1\).
The resulting RL plot (for \(K>0\)) is shown in Figure 5.1.5.

Figure \(\PageIndex{5}\): The root locus plot for \(G(s)=\frac{1}{s(s+1)(s+2)}\).

Analytic RL Constraints
The analytic RL constraints are derived from the closed-loop characteristic polynomial, \(\Delta (s,K)=1+KGH(s).\) that is
satisfied by the closed-loop roots of the feedback control system.
Thus, for a point \(s_1\) to lie on root locus, it must satisfy: \(KGH\left(s_1\right)=-1\). Further, \(KGH\left(s_1\right)\) is a
complex number hence it must satisfy: \(KGH\left(s_1\right)=1\angle 180{}^\circ\).
To proceed further, we assume that the loop transfer function \(KGH(s)\), is written in the factored form as:

Kamran Iqbal 9/13/2020 5.1.4 https://eng.libretexts.org/@go/page/24408


\[KGH(s)=\frac{K(s-z_{1} )\ldots (s-z_{m} )}{(s-p_{1} )\ldots (s-p_{n} )} ;\; n>m.\]
Then, the corresponding magnitude and the angle conditions involve distances and angles from the OL poles and zeros to a
point on the RL. The conditions are given as:

Definition: Magnitude Condition


For a point to lie on root locus plot, the transfer function magnitude at that point is bounded as: \[\left|KGH(s_{1}
)\right|=\frac{K\left|s_{1} -z_{1} \right|\ldots \left|s_{1} -z_{m} \right|}{\left|s_{1} -p_{1} \right|\ldots |s_{1} -p_{n} |}
=1\]

Definition: Angle Condition


For a point to lie on root locus plot, the transfer function angle at that point is bounded as: \[\angle KGH(s_{1} )\; =\;
\angle (s_{1} -z_{1} )+\ldots +\angle (s_{1} -z_{m} )-\angle (s_{1} -p_{1} )-\ldots -\angle (s_{1} -p_{n} )=\pm
180^{\circ } \]

The individual terms, \(\left|s_1-p_i\right|\) and \(\left|s_1-z_i\right|\), in the magnitude condition represent the Euclidean
distances from the open-loop poles and zeros to the closed-loop pole location, \(s=s_1\).
Similarly, the terms, \(\angle(s_1-p_i)\) and \(\angle(s_1-z_i)\) denote the angles ot the designated pole location.

Example \(\PageIndex{5}\)
Let \(KGH(s)=\frac{K}{s(s+1)(s+2)}\); then, assuming that a point, \(s_1=j\sqrt{2}\), lies on the root locus, it satisfies the
following conditions (Figure 5.1.6):
Magnitude condition: \(\frac{K}{|j\sqrt{2}|\,|1+j\sqrt{2}|\,|2+j\sqrt{2}|}=1\)
Angle condition: \(-\angle(j\sqrt{2})-\angle(1+j\sqrt{2})-\angle(2+j\sqrt{2})=-180^\circ\)

Figure \(\PageIndex{6}\): Displacements and angles from OL poles to a point on the RL.

Controller Design
The magnitude condition, \(\left|KGH(s_{1} )\right|=1\), can be solved for the static controller gain, \(K\), to get: \
(K=\frac{\left|s_{1} -p_{1} \right|\ldots |s_{1} -p_{n} |}{\left|s_{1} -z_{1} \right|\ldots \left|s_{1} -z_{m} \right|}\).
Further, let \(\theta _{z_{i} } ,\theta _{p_{i} }\) denote the angles from the open-loop zeros and poles to the point \(s_{1}\);
then, the angle condition states that: \(\sum \theta _{z_{i} } -\sum \theta _{p_{i} } =\pm 180^{\circ }\) (for \(K>0\)).
Alternatively, \(\sum \theta _{z_{i} } -\sum \theta _{p_{i} } =0^{\circ }\) (for \(K<0\)).

Kamran Iqbal 9/13/2020 5.1.5 https://eng.libretexts.org/@go/page/24408


The angle condition can be used to design a dynamic controller that would force an RL branch to pass through a desired
closed-loop root location.

Kamran Iqbal 9/13/2020 5.1.6 https://eng.libretexts.org/@go/page/24408


5.2: Static Controller Design
5.2.1 Static Controller Design
The RL plot displays achievable root locations for the closed-loop characteristic polynomial, Δ(s) = 1 + KGH (s) , as the
controller gain K varies from 0 → ∞ .
n(s)
Assuming G(s) = d(s)
, the root locus plot displays root locations for the polynomial given as: Δ(s) = d(s) + Kn(s) .

The static controller design involves the selection of the controller gain, K , that marks a desired closed-loop root location on
the RL plot of the loop transfer function, KGH (s) .
Assuming that a RL branch passes through a desired closed-loop root location, s , the associated controller gain
1 K can be
obtained from the magnitude condition, or from the MATLAB generated RL plot by clicking on that location.

Example 5.2.1
Let KGH (s) = K

s(s+1)(s+2)
; then, the closed-loop characteristic polynomial is formulated as:
3 2
Δ(s) = s + 3s + 2s + K.

Assume that we desire the closed-loop system step response to have: ζ = 0.7 .
From the RL plot (Figure 5.3b), we may choose, e.g., K = 0.66 to satisfy this requirement. For K = 0.66, the closed-
loop transfer function is given as:
0.66
T (s) =
2
(s + 2.24) (s + 0.76s + 0.29)

The characteristic polynomial, Δ (s) = (s + 2.24) (s


2
+ 0.76s + 0.29) , has dominant closed-loop roots at:
−0.38 ± 0.38 (ζ = 0.7).

The step response of the closed-loop system (Figure 5.4a) shows a 5% overshoot and a settling time of 11.5 sec.

Figure 5.2.1 : Controller gain selection from RL plot.

Kamran Iqbal 9/13/2020 5.2.1 https://eng.libretexts.org/@go/page/24409


Figure 5.2.2 : Step response of the closed-loop system.

5.2.2 Stability Determination from Root Locus Plot


The range of K for closed-loop stability can be obtained from any RL branch intersection with the stability boundary, i.e., the
jω -axis. The RL branches are likely to cross the stability boundary for n − m > 2 .

In particular, for n − m = 3 , the RL asymptotes are along: θ = ±60 ,  180 . Hence, for high enough controller gains, the
a
∘ ∘

RL branches will cross the stability boundary leading to instability. The corresponding value of controller gain can be obtained
by clicking on the RL plot.

Example 5.2.2
Let KGH (s) = K

s(s+1)(s+2)
; then, the closed-loop characteristic polynomial is:
3 2
Δ(s) = s + 3s + 2s + K.

The stability conditions for the third-order polynomial are: K > 0, 6 −K = 0 . Thus, the range of K for stability is:
0 <K <6 .


Indeed for K = 6, the closed-loop characteristic polynomial, Δ (s) = s 3
+ 3s
2
+ 2s + 6 , has roots at: s = −3, ±j√2 .
For K = 6, the closed-loop transfer function is given as:
6
T (s) = (5.2.1)
2
(s + 3)(s + 2)


The closed-loop system impulse response shows oscillates at the natural frequency of√2 rad/sec (Figure 5.2.3):

Figure 5.2.3 : Impulse response for imaginary closed-loop roots (K = 6 ).

The static controller possesses only limited ability to a shape the response of the closed-loop system. In particular, the choice
of closed-loop roots is restricted to those locations on the available root locus plot.

Kamran Iqbal 9/13/2020 5.2.2 https://eng.libretexts.org/@go/page/24409


In the event that the existing root locus does not offer favorable pole locations, we may explore the possibility of adding a
dynamic controller to the feedback loop that would modify the existing RL and cause it to pass through a desired location in
the complex plane.

Kamran Iqbal 9/13/2020 5.2.3 https://eng.libretexts.org/@go/page/24409


5.3: Transient Response Improvement
Dynamic Controllers
A dynamic controller alters the root locus plot by adding poles and zeros to the loop transfer function. In general, addition of a
finite zero to the loop transfer function causes the RL branches to bend towards it, whereas, the presence of a closed-loop pole
repels the RL branch close to it.
K(s+zc )
In particular, we explore the effect of adding a first-order dynamic controller, defined by: K(s) =
s+pc
to the feedback
loop. A first-order controller adds a zero, −z , and a pole, −p , to the loop transfer function.
c c

Addition of a first-order phase-lead controller to the feedback loop improves the transient response of the system; addition of a
phase-lag or PI controller improves the steady-state tracking response.

5.3.1 Phase-Lead Controller Design


To bring about transient response improvements, a phase-lead or a PD controller may be added to the feedback loop. A phase-
lead controller is described by:
K (s + zc )
K (s) = ;  zc < pc (5.3.1)
s + pc

In the limiting case of p c → ∞ , the phase-lead controller changes into a PD controller, described by:
K (s) = K (s + zc ) (5.3.2)

The PD controller has unlimited gain at high frequencies, which would amplify high-frequency noise entering the system.
Thus, for effective noise suppression, a phase-lead design with p ≫ z is preferred to a PD controller.
c c

The locations of the controller pole and zero in the case of phase-lead and PD controllers are selected with the help of RL
angle condition. The general design procedure is given as follow:
1. Select a desired closed-loop pole location, s from design specifications.
1

2. Compute G (s ); the MATLAB ‘evalfr’ command can be used for this purpose.
1

3. Use the angle condition to determine the angle contribution required of the controller:

θz − θp = 180 − ∠G (s1 ) (5.3.3)

4. Select controller pole and zero locations to meet the angle contribution from the controller; since the angle condition
defines a single constraint among two variables, multiple designs are possible.
5. Use the MATLAB ‘evalfr’ command to verify controller angle contribution. Note that we may only need a 'ballpark'
design.
6. Plot the root locus for the compensated system and choose gain K to complete controller design.

Example 5.3.1 : Phase-Lead Design


Let G(s) = 2

s(s+2)
; design a phase-lead controller to achieve the following specifications: ζ ≅0.7, ts ≤ 2 s .

The phase-lead controller design proceeds as follows:


1. Let s = −2.5 ± j2.5 describe a desired closed-loop root location.
1

2. By using the MATLAB ‘efalfr’ command to evaluate the plant transfer function, we get: G(s ) = 0.222∠123.7 ; 1

hence, the required controller phase contribution to realize the desired pole location is: K (s ) = K∠56.3 .
1

3. Let z = 2,  p = 5 ; then, K (s ) = 0.72∠55 .


c c 1

4. Further, K(s )G(s ) ≅0.16∠ 180 ; hence, K =


1 1

≅6.3 . Alternatively, from the root locus plot of the
1

0.16

s+2
compensated system, the controller gain is found as: K = 6.29 ; hence, K (s) = 6.29 ( s+5
) .

The root locus plot for the phase-lead design is shown below (Fig. 5.3.1).
The closed-loop system is formed as:

Kamran Iqbal 9/13/2020 5.3.1 https://eng.libretexts.org/@go/page/24410


12.58(s + 2)
T (s) = (5.3.4)
2
(s + 2)(s + 5s + 12.58)

We note that the closed-loop transfer function T (s) includes a pole-zero


cancelation at s = −2 . Such cancelations are permitted as long as they are
restricted to the open left-half plane (OLHP). Moreover, component
inaccuracies make exact pole–zero cancelation an unlikely event in practice.
The step response of the closed-loop system is plotted in Fig. 5.3.2. From
the figure, the settling time is given as: t = 1.7s . s

We also note that alternate


phase-lead designs for this
example are possible,
Figure 5.3.1 : Root locus for the phase-lead
however, choosing design.
controller zero location
z < 2 is likely to increase
c

the settling time of the


closed-loop system.

Figure 5.3.2 : Step response of closed-loop


Example 5.3.2 : PD system.
Controller Design
Let G(s) = 2

s(s+2)
; design a PD controller to achieve the following specifications are: ζ ≅0.7, ts ≤ 2 s .

The PD controller design proceeds as follows:


1. Let s = −2.5 ± j2.5 describe a desired closed-loop root location.
1

2. By using the MATLAB ‘efalfr’ command to evaluate the plant transfer function, we get: G (s ) = 0.222∠123.7 ; 1

hence, the required controller phase contribution to realize the desired pole location is: K (s ) = K∠56.3 . 1

3. From trigonometry (Fig. 5.3.3), let z = 4.17 ; then, for K(s) = s + z , we have: K(s ) ≅3∠56.3 .
c c 1

4. Since K(s )G(s ) ≅0.66∠ 180 , we have K =


1 1

= 1.5 . Alternatively, from the RL plot of the compensated
1

0.66

system (Fig. 5.3.4), we obtain: K = 1.5 ; hence, K (s) = 1.5(s + 4.17) .


For
nois
e
supp
ressi
on
cons

Figure 5.3.4 : Root locus plot for the PD Figure 5.3.3 : Trigonometry to compute the required angle from
controller. controller zero.
iderations, it is preferable to replace the PD controller by a phase-lead design.
s+4 s+4
Accordingly, let K(s) = K s+55
; since K(s 1 )G(s1 ) ≅0.012∠ 180

, let K = 81.25 . Then, for K(s) = 81.25
s+55
, we
have K(s )G(s ) = −1 .
1 1

The step response of the PD controller and proposed phase-lead design are almost identical (Fig. 5.3.5).

Kamran Iqbal 9/13/2020 5.3.2 https://eng.libretexts.org/@go/page/24410


Figure 5.3.5 : Step response of the closed-loop systems.

A second-example of phase-lead design is presented below.

Example 5.3.3 : Phase-Lead Design


Let G (s) = 10

s(s+2)(s+5)
; assume that the design specifications are given as: OS ≤ 10%,   t s ≤ 2sec .

The phase-lead controller design proceeds as follows:


1. Let s = −2.2 ± j2.4 describe a desired closed-loop root location.
1

2. Using MATLAB ‘efalfr’ command, we get: G (s ) = 0.35∠92 ; the required controller phase contribution is:
1

K (s ) = K∠88 .

1

3. Let z = 2,  p = 22 ; then K (s ) = 0.11∠88 .


c c 1

4. From the gain consideration, let |K(s )G(s )| = 1 ; then, by using 'evalfr' command, we obtain K = 24 , hence the
1 1

24(s+2)
desired phase-lead controller is: K(s) = s+22
. The compensated system has, K(s 1 )G(s1 ) ≅−1 .

The resulting closed-loop system after pole-zero cancelation is given as: T (s) = 240
2
(s+22.6)( s +4.4s+10.62)
.

The step response of the closed-loop system shows a settling time of 1.8s.

Figure 5.3.6 : Step response of the closed-loop system.

Kamran Iqbal 9/13/2020 5.3.3 https://eng.libretexts.org/@go/page/24410


5.3.2 Rate Feedback Controller Design
The rate feedback configuration is shown in Figure 5.11. In this configuration, the rate feedback gain is kf , while K(s)

denotes the outer loop controller.

Figure 5.3.7 : Rate feedback configuration (top); equivalent diagram (bottom).


The rate feedback design is performed in two stages. First, the inner loop is designed for suitable closed-loop root locations.
The inner loop transfer function serves as a plant for the outer loop controller design.
n(s)
Minor Loop Design. The loop transfer function for the minor loop is given as: G(s)k f s . Let G(s) = d(s)
; then, the closed-
n(s)
minor-loop transfer function is: G ml (s) =
d(s)+n(s) kf s
.

Outer Loop Design. The loop transfer function for the outer loop is given as: K(s)G ml (s) .
Kn(s)
Let K (s) = K ; then, the closed-loop transfer function is obtained as: T (s) = d(s)+( kf s+K)n(s)
.

Example 5.3.4
Let G(s) = 2

s(s+2)
; assume that the design specifications are given as: OS ≤ 10%, ts ≤ 2s (ζ ≥ 0.6) .
2 kf s 2kf
Minor Loop Design. The minor loop gain is: s(s+2)
; the minor closed-loop transfer function is: G ml (s) =
s(s+2+2 kf )
.

We may select, e.g., k f =1 to obtain: G ml (s) =


s(s+4)
2
.

Alternatively, from the minor loop root locus (Figure 5.3.8), we select k f =1 .

Figure 5.3.8 : Minor loop root locus.


The minor loop root locus shows a pole-zero cancelation at the origin. The plant pole at the origin is, however, retained
and appears in the outer loop transfer function.
Outer Loop Design. The outer loop transfer function is given as: KG ml (s) =
2K

s(s+4)
.

From the closed-loop characteristic polynomial, Δ(s) = s(s + 4) + K , we may choose, e.g., K =4 , for closed-loop
roots to be located at: s = −2 ± j2 .
Alternatively, we may choose K = 4 from the outer loop root locus plot (Fig. 5.3.9).

Kamran Iqbal 9/13/2020 5.3.4 https://eng.libretexts.org/@go/page/24410


Figure 5.3.9 : Outer loop root locus.

The closed-loop transfer function is given as: T (s) = 8

s2 +4s+8
.

The step response of the closed-loop system shows a settling time of 2.1s.

Figure 5.3.10 : Step response of the closed-loop system.

Example 5.3.5
Let G(s) = 10

s(s+2)(s+5)
; assume that the step response specifications are: OS ≤ 10%,  t s ≤ 2sec (ζ ≥ 0.6) .
10 kf s
Minor Loop Design. The minor loop gain is kf s G(s) =
s(s+2)(s+5)
. From the minor loop root locus (Figure 6.12), we
may choose, e.g., k f =2 for the minor closed-loop roots to be located at: s = −3.5 ± j4.2 (ζ ≅0.64) .

Figure 5.3.11: Minor loop root locus.


Outer Loop Design. The outer loop gain is given as: KG ml (s) =
10K

s[(s+2)(s+5)+kf ]
= 2
10K

s( s +7s+30)
.

Kamran Iqbal 9/13/2020 5.3.5 https://eng.libretexts.org/@go/page/24410


From the outer loop root locus, we may choose, e.g., K = 5.4 for closed-loop roots located at:
s = −2 ± j3.75 (ζ ≅0.47) . Although ζ appears to be low, the step response of the closed-loop system has a small

overshoot due to the presence of a real pole at s = −3 .

Figure 5.3.12: Outer loop root locus.


The closed-loop transfer function is given as: T (s) =
54

(s+3)( s2 +4s+18)
.

The step response of the closed-loop system shows a settling time of 1.5s.

Figure 5.3.13: Step response of the closed-loop system.

Kamran Iqbal 9/13/2020 5.3.6 https://eng.libretexts.org/@go/page/24410


5.4: Steady-State Error Improvement
Steady-State Error Improvement
The steady-state tracking error to a step or ramp input is evaluated using the position and velocity error constants of the
system. These constants are defined as:
Kp = lim KGH (s) (5.4.1)
s→0

Kv = lim sKGH (s) (5.4.2)


s→0

In the case of unity-gain feedback configuration (H (s) = 1 ), the steady-state tracking error to step and ramp inputs is
computed as:
1
e(∞)| = (5.4.3)
step
1 + Kp

1
e(∞)| = (5.4.4)
ramp
Kv

where the MATLAB 'dcgain' command can be used to compute the relevant error constant.
The addition of a first-order PI or phase-lag controller to the feedback loop improves the relevant error constant. Both
controllers add a pole–zero pair to the loop transfer function, and are described by:
K(s + zc )
K(s) = , pc < zc (5.4.5)
(s + pc )

where p c =0 denotes the PI controller.


Assuming K = 1 , the position error constant is raised as: K .

p = (zc / pc )Kp > Kp

The PI controller, in particular, results in: K = ∞ , hence e(∞)|


p step
=0 . By virtue of adding an integrator to the feedback
loop, the steady state error to a step input is zero for the PI controller.
Phase-Lag and PI Design
The PI/phase-lag controller design aims not to appreciably disturb the existing RL plot.
Let s denote a closed-loop pole location on the existing RL plot; then, the controller pole and zero are selected in accordance
1

with: p < z ≪ s . The actual pole-zero locations for phase-lag and zero location for PI can be arbitrarily selected.
c c 1

This ensures that the adverse angle contribution from the controller stays small, i.e., θ z − θp ≈ 0

.
The PI/phase-lag controller adds a pole-zero pair close to the origin to the loop transfer function. This arrangement
adds a closed-loop pole with a large time constant to the closed-loop system. Nevertheless, the contribution of the slow mode
to the overall system response remains small due to the close proximity of the pole to the controller zero.

Example 5.4.1 : Phase-Lag Design


Let G (s) = 10

s(s+2)(s+5)
; assume that the design specifications are given as: ζ ≥ 0.6,   e ss |ramp ≤ 0.1.

Since transient response improvement is not aimed, we may use a static controller to satisfy the damping ratio
requirement.
As an example, let K = 0.7 ; then, the closed-loop system has dominant roots at: s = −0.8 ± j0.8 (ζ = 0.7) . The
characteristic polynomial is factored as: Δ (s) = (s + 5.38)(s + 1.62s + 1.3) .
2

9/13/2020 5.4.1 https://eng.libretexts.org/@go/page/28538


Figure 5.4.1 : Root locus plot for phase-lag design.
Next, the velocity error constant is evaluated as: K v = 0.7 .
In order to raise K v > 10 , we consider a phase-lag controller: K (s) = s+0.02

s+0.0012
, where ∠K(s 1) = −0.3

.
The compensated system has: K v = 11.67 hence e ss |ramp ≤ 0.1 .
The ramp response of the closed-loop system is plotted to confirm the results.

Figure 5.4.2 : Unit-ramp response of the closed-loop system.


With the addition of the phase-lag controller, the closed-loop transfer function is given as:
7(s + 0.02)
T (s) = (5.4.6)
2
(s + 0.0202)(s + 5.38)(s + 1.61s + 1.29)

The closed-loop root at s = −0.0202 is almost canceled by the presence of the zero at s = −0.02 . Hence, the slow mode
e
−0.0202t
has a very small coefficient and only minimally affects the system response. The dominant closed-loop roots
are also minimally affected.

Example 5.4.2 : PI Design


The model of a dc motor is given as: G(s) =
.5

(.01s+1)(.1s+1)
. The design specifications are given as:
ζ ≥ 0.6,   ess | ≤ 0.1.
step

K(s+zc )
We assume a PI controller, K(s) =
s
. For unity-gain feedback H (s) = 1 , the loop gain is given as:
.5K(s+zc )
K(s)G(s) =
s(.01s+1)(.1s+1)
.

The position error constant, K p =∞ . Hence {e_{ss}|}_{\rm step}=0.


The controller zero can be selected to cancel one of the plant poles. Hence let zc = 10 ; then from RL plot, we may
choose, e.g., K = 10 .
The closed-loop system transfer function is given as: T (s) = 5000

s2 +100s+5000
. The step response is plotted below.

9/13/2020 5.4.2 https://eng.libretexts.org/@go/page/28538


Figure 5.4.3 : Root locus plot for the PI controller.

Figure 5.4.4 : Step response of the closed-loop system.

9/13/2020 5.4.3 https://eng.libretexts.org/@go/page/28538


5.5: Transient and Steady-State Improvement
Lead–Lag and PID Designs
When control system design specifications require simultaneous improvement to the transient response and the steady-state
tracking error, a lead-lag or a PID controller may be considered.
A lead-lag controller combines phase-lead and phase-lag stages; as a rule, the the transient response is improved first, followed
by steady-state error improvement. The lead-lag controller is expressed as:
s + zc1 s + zc2
K(s) = K ( )( ), zc1 < pc1 , zc2 > pc2 (5.5.1)
s + pc1 s + pc2

a PID controller similarly combines PD and PI controllers. It is expressed as:


s + zc2
K(s) = K (s + zc1 ) ( ) (5.5.2)
s

The poles and zeros selected for the phase-lead and PD design steer the root locus toward the desired closed-loop pole
locations. The pole-zero pair in the phase-lag and PI sections is located close to the origin in order to minimally disturb the
existing root locus.

Example 5.5.1 : Lead-Lag Design


Let G (s) =
10

s(s+2)(s+5)
; assume that the design specifications are: %OS ≤ 10%, ts ≤ 2s, ess |
ramp
≤ 0.1. These
specifications translate into: ζ ≥ 0.6,  σ ≥ 2,  K v ≥ 10 .
Phase-Lead Design. Thephase-lead controller design (Example 5.3.3) proceeds as follows: Let
s1 = −2.2 ± j2.4 denote a desired closed-loop pole location; then, G (s
ζ = 0.68 1 ) = 0.35∠92

, i.e., the required
controller phase contribution is: K (s ) = K∠88 .
1

Let z c = 2,  pc = 22 ; then K (s 1) = 0.11∠88



. From the RL plot, a controller gain K = 24 is selected for closed-loop
roots at: s = −2.2 ± j2.4 . Hence, the phase-lead section is designed as: K lead (s) = 24 (
s+2

s+22
) .

Phase-lag Design. For K (s)G(s) , the velocity error constant is given as:
lead Kv = 2.2 . To boost the error constant to
K > 10 , a phase-lag controller, K is considered.
s+0.01
v = lag
s+0.002

The angle contribution of the phase-lag controller is: ∠ Klag (s1 ) = −0.1

hence the dominant closed-loop roots are
negligibly affected.

The lead-lag controller is formed as: K (s) = 25 ( s+2

s+24
)(
s+0.01

s+0.002
) .
240(s+0.01)
The closed-loop transfer function is obtained as: T (s) = 2
(s+0.01004)(s+22.6)( s +4.39s+10.58)
. The dominant closed-loop
roots are located at: s = −2.2 ± j2.4 (ζ = 0.68) .
The step and ramp responses of the closed-loop system are plotted below. The step response displays a settling time of
1.9sec.

9/13/2020 5.5.1 https://eng.libretexts.org/@go/page/28539


Figure 5.5.1 : Step response of the closed-loop system.

Figure 5.5.2 : Ramp response of the closed-loop system.

An alternate PID design is performed in the next example.

Example 5.5.2 : PID Design


Let G (s) =
10

s(s+2)(s+5)
; assume that the design specifications are: %OS ≤ 10%, ts ≤ 2s, ess |ramp ≤ 0.1. These
specifications translate into: ζ ≥ 0.6,  σ ≥ 2,  K v ≥ 10 .
PD design. The PD controller is given as: K (s) = K (s + z ) . We may arbitrarily choose the controller zero at
PD c

z = −2 , and use the root locus of the compensated system to select K = 1


c with closed-loop roots at:
s = −2.5 ± j1.95 .
1

s+zc
PI design. The PI controller is given as: s
, where z c ≪ s1 is recommended. We may arbitrarily select a zero location:
(s+0.01)(s+2)
zc = 0.01 to define the PID controller as: K P ID (s) =
s
.
10(s+0.01)
The closed-loop transfer function is given as: T (s) = 2
(s+0.01005)(s+2)( s +4.99s+9.95)
.

The step response of the closed-loop system shows a settling time of t s = 1.8sec .

Figure 5.5.3 : Step response of the closed-loop system.

9/13/2020 5.5.2 https://eng.libretexts.org/@go/page/28539


We can also combine the phase-lead controller design with a PI controller to define the composite controller.

Example 5.5.3 : Phase-Lead with PI


Let G (s) =
10

s(s+2)(s+5)
; assume that the design specifications are: %OS ≤ 10%, ts ≤ 2s, ess |
ramp
≤ 0.1. These
specifications translate into: ζ ≥ 0.6,  σ ≥ 2,  K v ≥ 10 .
Phase-Lead Design. Let s = −2.2 ± j2.4 ζ = 0.68 ; then, we may choose, as in Example 5.5.1 above,
1

z = 2,  p = 22 and K = 24 for closed-loop roots at: s = −2.2 ± j2.4 . Hence, the phase-lead controller is defined as:
c c

Klead (s) = 24 (
s+2

s+22
) .
s+zc
PI design. The PI controller is given as: . In this case, \(z_c=0.01) does not appear to be a good choice, as the slow
s

mode in the step response remains dominant thus increasing the settling time.
A better strategy in this case is to select the PI controller zero to cancel the second plant pole at s = −5 . The composite
controller is formed as: K (s) = 24 ( s+2

s+22
)(
s+5

s
) .

The resulting closed-loop transfer function after pole-zero cancelations is given as: T (s) = 2
240

( s +22s+240)
, which has
dominant closed-loop roots located at: s = −11 ± j11 (ζ = 0.7) .
The step response of the closed-loop system shows a short settling time of t s = 0.4sec .

Figure 5.5.4 : Step response of the closed-loop system.

MATLAB Tuning of PID Controller


The MATLAB Control Systems Toolbox offers the ‘pidtune’ command to design an optimal PID controller. The command can
be used to design a PID controller or a PID controller with a filter to reduce high frequency noise.

Example 5.5.4 : MATLAB PID Controller


Let G (s) = 10

s(s+2)(s+5)
; then, the MATLAB tuned PID controller is obtained as:

2.01 (s + 0.314) (s + 1.43)


K (s) = (5.5.3)
s

The resulting closed-loop roots are located at: s = −0.34,   − 1.16,   − 2.73 ± 3.71.
Alternatively, the MATLAB tuned PID controller with filter is obtained as:
727.25 (s + 0.302) (s + 1.41)
K (s) = (5.5.4)
s (s + 361.4)

The resulting closed-loop roots are located at: s = −0.34,   − 1.16,   − 2.73 ± 3.71,   − 361.5.
The closed-loop system responses for the MATLAB designed PID controllers are plotted below. The responses are almost
identical with a settling time of t ≅6sec . s

9/13/2020 5.5.3 https://eng.libretexts.org/@go/page/28539


Figure 5.5.5 : Step response of MATLAB tuned PID controllers.

9/13/2020 5.5.4 https://eng.libretexts.org/@go/page/28539


5.6: Controller Realization
Frequency Selective Filters
The dynamic controllers, including phase-lead, phase-lag, lead-lag, PD, PI, PID, represent frequency selective filters that may
be realized by electronic circuits built with operational amplifiers and resistor-capacitor networks.
A resister-capacitor (RC) circuit connected in series or parallel has the following impedance:
Series RC circuit: Z ser (s) = R+
1

Cs
=
RC s+1

Cs

R/C s
Parallel RC circuit: Z par (s) = 1
=
RC s+1
R

R+
Cs

An operational amplifier (Op-Amp) in the inverting configuration has an input–output transfer function:
V0 (s) Zf (s)
=− ,
Vi (s) Zi (s)

where Z (s) and Z


i f (s) denote the input and feedback path impedance.

Figure 5.6.1 : Operational amplifier in the inverting configuration

Phase-Lead/Phase-Lag Controllers
A first-order phase-lead or phase-lag controller can be realized with parallel RC circuits used as input and feedback
impedance. The resulting controller transfer function is given as:
Zf (s) Rf (Ri Ci s + 1)
K(s) = − =− . (5.6.1)
Zi (s) Ri (Rf Cf s + 1)

The controller transfer function has a zero located at: zc =


1

Ri Ci
, and a pole at: pc =
1

Rf Cf
. Hence, we may choose
Ri Ci > Rf Cf for the phase-lead and R C i i < Rf Cf for the phase-lag design.
For the sign correction, a resistive Op-Amp circuit, with Ri = Rf , can be employed. The circuit has a gain of:
V0 Rf
=− = −1 .
Vi Ri

Example 5.6.1
5(s+1)
Let K(s) =
s+10
; then, the transfer function involves the following constraints:
Ri Ci = 1, Rf Cf = 0.1, Rf / Ri = 0.5.

We may choose, for example, R i = 100KΩ . Then, Rf = 50K Ω, Ci = 10μ F, Cf = 2μ F.

PD, PI, PID Controllers


These controllers can be realized by combining the following impedance:
Rf Rf
GPD (s) = − =− (Ri Ci s + 1) (5.6.2)
Zpar (s) Ri

Kamran Iqbal 9/13/2020 5.6.1 https://eng.libretexts.org/@go/page/24411


1/ Cf s 1 (Ri Ci s + 1)
GPI (s) = − =− (5.6.3)
Zpar (s) Ri Cf s

Zf −ser (s) 1 (Ri Ci s + 1)(Rf Cf s + 1)


GPID (s) = − =− . (5.6.4)
Zi−par (s) Ri Cf s

For the PID controller, the controller gains are solved as functions of component values:
Rf Ci 1
kp = + , ki = Rf Ci , kd = (5.6.5)
Ri Cf Ri Cf

Example 5.6.2
(s+0.1)(s+10)
Let G PID (s) =
s
; then, to realize the transfer function with RC networks, we may choose, for example:
Ri = 100 KΩ, Rf = 1MΩ, Ci = 1 μ F, Cf = 10 μ F (5.6.6)

Kamran Iqbal 9/13/2020 5.6.2 https://eng.libretexts.org/@go/page/24411


CHAPTER OVERVIEW
6: COMPENSATOR DESIGN WITH FREQUENCY RESPONSE METHODS
Learning Objectives

Characterize and plot the frequency response of transfer function models.


State the performance criteria for controller design in the frequency domain.
Design compensators for dynamic system models using frequency response methods.
Characterize the closed-loop frequency response of the compensated system.

6.0: PRELUDE TO COMPENSATOR DESIGN WITH FREQUENCY RESPONSE


METHODS
6.1: FREQUENCY RESPONSE PLOTS
6.2: MEASURES OF PERFORMANCE
6.3: FREQUENCY RESPONSE DESIGN
6.4: CLOSED-LOOP FREQUENCY RESPONSE

1 10/11/2020
6.0: Prelude to Compensator Design with Frequency Response Methods
Frequency response methods for designing compensators for feedback control systems predate the root locus and the time-
domain (state variable) methods. They have been used effectively for designing amplifiers and filters in the case of electrical
networks, and vibration analysis in the case of mechanical systems.
Control systems design using the frequency response method requires knowledge of KGH (jω) . Strictly speaking, the
knowledge of the plant transfer function G(s) is not needed. In the absence of a mathematical model, the plant transfer
function can be identified from empirical measurements of the frequency response, G(jω) .
The frequency response of a system can be graphed in multiple ways. The two most common representations are:
[GrindEQ__1_] the Bode plot and [GrindEQ__2_] the Nyquist or Polar plot. The closed-loop frequency response may be
visualized on the Nichol’s chart.
The frequency response design seeks to impart a certain degree of relative stability, measured by gain and phase margins, to
the feedback control loop. The closed-loop system stability is alternatively ascertained by using the celebrated Nyquist
criterion.
The peak gain in the closed-loop frequency response is a measure of the relative stability; the higher the peak the lower the
relative stability. The crossover frequency on Bode magnitude plot and bandwidth on the closed-loop frequency response
define measures of speed of response in the time-domain.
We consider standard feedback control system configuration (Figure 4.1) that includes a plant G(s) , a sensor H (s) , and a
controller K(s) . Unless stated otherwise, unity-gain feedback (H (s) = 1 ) is assumed.
In the following, we first review the plotting of frequency response and the associated performance metrics. Later, we will
discuss the frequency response modification through adding phase-lead, phase-lag, lead–lag, PD, PI, and PID compensators to
the control loop.

9/13/2020 6.0.1 https://eng.libretexts.org/@go/page/24459


6.1: Frequency Response Plots
Frequency Response Function
The frequency response of the loop transfer function, KGH (s) , is represented as: KGH (jω) = KGH (s)| . For a s=jω

particular value of ω, the KGH (jω) is a complex number, which may be described in terms of its magnitude and phase as
KGH (jω) = |KGH (jω)|e .
jϕ(ω)

As ω varies from 0 to ∞, KGH (jω) can be plotted in the complex plane (the polar plot). Alternatively, both magnitude and
phase can be plotted as functions of ω (the Bode magnitude and phase plots).
To proceed further, we assume that the loop transfer function is expressed as:
m s
K ∏i=1 (1 + )
zi

KGH (s) = (6.1.1)


2
n1 s n2 s s
n0
s ∏i=1 (1 + ) ∏i=1 (1 + 2 ζi + )
pi ωn,i 2
ω
n,i

where m is the number of real zeros, n is the number of poles at the origin, n is the number of real poles, n is the number
0 1 2

of complex pole pairs, and K is a scalar gain. Then,


m ω
K ∏i=1 (1 + j )
zi

KGH (jω) = (6.1.2)


2
n1 ω n2 ω ω
(jω)n0 ∏ (1 + j )∏ (1 − + j2 ζi )
i=1 pi i=1 2 ωn,i
ω
n,i

Bode Plot
It is customary to plot the Bode magnitude plot on log scale as |G(jω)|
dB
= 20 log10 |G(jω)| . Thus, for the frequency
response function:
m jω
∣ ∣
|KGH (jω)| = 20 log K + ∑ 20 log 1 + − (20 n0 ) log ω
dB i=1 ∣ zi ∣
(6.1.3)
n1 jω n2 ∣ ω
2
ω ∣
∣ ∣
−∑ 20 log ∣1 + ∣ − ∑i=1 20 log ∣1 − + j2 ζi ∣.
i=1 pi 2 ωn,i
∣ ω
n,i

At low frequencies, the magnitude plot has: |KGH (jω)| = 20 log K . For large ω, the magnitude plot is characterized by a
dB

slope: −20(n − m) dB/decade, where n − m represents the pole excess of the loop transfer function.
The phase angle ϕ(ω) of the loop transfer function is computed as:
m n1 n1 2
jω jω ω ω

ϕ(ω) = ∑ ∠ (1 + ) − n0 (90 ) − ∑ ∠ (1 + ) − ∑ ∠ (1 − + j2 ζi ). (6.1.4)
2
zi pi ω ωn,i
i=1 i=1 i=1 n,i

The phase angle for large ω is given as: ϕ(ω) = −90 ∘


(n − m) .
Bode magnitude and phase plots for higher order transfer functions are composition of Bode plots of first and second order
factors, which facilitated their hand plotting in the past.
In the MATLAB Control Systems Toolbox, the Bode plot is obtained using the “bode” command, invoked after defining the
transfer function.
Nyquist Plot
The frequency response function KGH (jω) represents a function of a complex variable. A polar plot describes the graph of
KGH (jω) ω varies from 0 → ∞ . The Nyquist plot is a closed curve that describes a graph of KGH (jω) for ω ∈ (−∞,  ∞) .

The shape of the Nyquist plot depends on the poles and zeros of KGH (jω) ; it can be pictured by estimating magnitude and
phase of KGH (jω) at low and high frequencies. For example, if KGH (s) has no poles at the origin, then at low frequency,
KGH (j0) ≅K∠0 ; while, at high frequency, |KGH (j∞)| → 0 , and∠KGH (j∞) = −90 (n − m) , where n − m
∘ ∘

represents the pole excess of KGH (s) .

Kamran Iqbal 9/13/2020 6.1.1 https://eng.libretexts.org/@go/page/24413


In particular, for , the Nyquist plot crosses the negative real-axis at the phase crossover frequency, ω . Let
n−m = 3 pc

G (jωpc ) = g∠180 ; then, the gain margin is given as g . Further, for K = g , the Nyquist plot of KG (jω) passes
∘ −1 −1

through the −1 + j0 , described as the critical point for stability determination.

Definition: Nyquist Stability Criterion


The number of unstable closed-loop poles of Δ(s) = 1 + KGH (s) equals the number of unstable open-loop poles of
KGH (s) plus the number of clock-wise (CW) encirclements of the −1 + j0 point on the complex plane by the Nyquist

plot of KGH (s) .

In the MATLAB Control Systems Toolbox the Nyquist plot is obtained by invoking the ‘nyquist’ command, invoked after
defining the transfer function:

Example 6.1.1
Let G(s) = 1

s+1
; then, G(jω) = 1+jω
1
=
1
∠ − tan
−1
ω .
√1+ω2

In particular, G(j0) = 1 ∠0

, G (j1) = √2
1
∠ − 45

, and G(j∞) = 0 ∠ − 90

.

The Bode magnitude plot (Figure 6.1) starts at 0 dB with an initial slope of zero that gradually changes to −20 dB per
decade at high frequencies. The phase plot varies from 0 to −90 with a phase of   − 45 at the corner frequency.
∘ ∘ ∘

The Nyquist plot of G (s) is circle in the right-half plane (RHP). Further, the Nyquist plot of KG (jω) is confined to the
RHP for positive values of K ; hence the closed-loop system is stable for all K > 0 .

Figure 6.1: Bode and Nyquist plots for G (s) = 1

s+1

Example 6.1.2
Let G(s) = 1

s(s+1)
; then, G(jω) = 1

jω(1+jω)
=
1

ω
1
∠ − 90

− tan
−1
ω .
√1+ω2

In particular, G (j0) = ∞∠ − 90 , G (j1) = ∘ 1


(−3dB)∠ − 135

, G (j∞) = 0∠ − 180 . ∘

√2

The Bode magnitude plot (Figure 6.2) has an initial slope of −20 dB per decade that gradually changes to −40 dB per
decade at high frequencies. The phase plot shows a variation from −90 to −180 with a phase of   − 135 at the corner ∘ ∘ ∘

frequency.
The Nyquist plot is a closed curve that travels along negative jω -axis for ω ∈ (0, ∞) , along positive jω -axis for
ω ∈ (−∞, 0) , and scribes a semi-circle of a large radius for ω ∈ (0 , 0 ) . As the Nyquist plot of KG (jω) stays away
− +

from the critical point (−1 + j0 ) for positive values of K , the closed-loop system is projected to be stable for all K > 0.
Figure 6.2: Bode and Nyquist plots for G (s) = 1

s(s+1)

Example 6.1.3
Let G (s) = 2
s +s+1
1
; then, G (jω) = 1
2
1−ω +jω
=
1

2 2
∠ − tan
−1

1−ω
ω
2
.
√(1−ω2 ) +(ω)

In particular, G (j0) = 1 (0dB) ∠0 , G (j1) = 1 (0dB) ∠ − 90 , G (j∞) = 0∠ − 180 .


∘ ∘ ∘

The Bode magnitude plot (Figure 6.3) starts at 0 dB with an initial slope of 0; the slope changes to −40 dB per decade
for ω > 1 .
The Nyquist plot of G (jω) is a closed curve that has no crossing with the negative real-axis. As the Nyquist plot of
KG (jω) ,  K > 0 stays away from the critical point (−1 + j0 ), the closed-loop system is projected to be stable for all

K >0.

Figure 6.3: Bode and Nyquist plots for G (s) = 2


1

s +s+1
.

Kamran Iqbal 9/13/2020 6.1.2 https://eng.libretexts.org/@go/page/24413


Example 6.1.4
Let G(s) = 2

s(s+1)(s+2)
; then, G(jω) = 2

jω(1+jω)(2+jω)
=
1

ω
1 2
∠ − 90

− tan
−1 −1
ω − tan 2ω. .
√1+ω2 √2+ω2

In particular, G (j0) = ∞∠ − 90

, G (j1) =
2
(−4dB) ∠ − 108

, G (j1) =
1
(−13dB) ∠ − 139

, and
√10 5 √2

G (j∞) = 0dB∠ − 270



.
The Bode magnitude plot (Figure 6.4) has an initial slope of −20 dB per decade that changes first to −40 dB per decade
and then to −60 dB /decade at high frequencies. The phase plot shows a variation from −90 to −270 . ∘ ∘

The polar plot begins with a large magnitude along the negative jω -axis (for ω = 0 ), crosses the negative real-axis at
+

0.33∠180 (for ω = 3.32 ), and approaches the origin from the positive jω -axis (for ω = ∞ )(Figure 6.3). The Nyquist

plot further includes a reflection of the polar plot for ω ∈ (−∞, 0) .


The Nyquist plot includes a closed contour located in the left-half plane that includes a real-axis crossing at 0.33∠180 ,

the closed-loop system is stable for K < 3 .


Figure 6.4: Bode and Nyquist plots for G (s) = 2

s(s+1)(s+2)
.

Kamran Iqbal 9/13/2020 6.1.3 https://eng.libretexts.org/@go/page/24413


6.2: Measures of Performance
In the frequency response design methods, the measures of performance include relative stability, described in terms of gain
and phase margins, error constants, sensitivity and complementary sensitivity functions, etc. These are described below.

6.2.1 Relative Stability


In frequency domain design, the relative stability of the feedback loop is described in terms of the gain and the phase margins.
It is assumed that the loop transfer function KGH (jω) is minimum-phase, i.e., its poles and zeros are located in the left half-
plane (LHP) including the jω -axis.

Definition: Gian Margin


The gain margin (GM) is the maximum amount of loop gain that can be added to the feedback loop (by the controller)
without compromising stability.

Gain Margin. On the Bode magnitude plot, the GM is indicated as: GM = −|KGH (jωpc )|
dB
, where ωpc is the phase
crossover frequency, i.e., the frequency at which ϕ(ω ) = −180 .
pc

On the Nyquist plot, ωpc is marked by the negative real-axis crossing of KGH (jω) , i.e., let G (ωpc ) = g∠ − 180

; then,
GM = g .
−1

Definition: Phase Margin


The phase margin (PM) is the maximum amount of phase that can be added to the feedback loop (by the controller)
without compromising stability.

Phase Margin. On the Bode phase plot, the PM is indicated as: PM = 180

+ ϕ(ωgc ) , where ωgc is the gain crossover
frequency, i.e., the frequency defined by |G(jω )| = 1 .
gc

On the Nyquist plot, the PM is indicated when the plot enters the unit circle, i.e., assume that KGH (jω) = 1∠ − ϕ , then the
phase margin is given as: PM = 180 − ϕ .

A loop transfer function with pole excess (n − m ≥ 3 ) has a finite gain margin, i.e., 0 < GM < ∞ . The loop transfer
function with (n − m = 2 ) may have a finite GM.

Definition: Return Difference


The return difference is the minimum distance of the Nyquist plot from the critial point.

Return Difference. For minimum-phase plants, the closed-loop stability depends on the polar plot keeping a finite distance
from the −1 + j0 point. The minimum distance of the polar plot from the −1 + j0 point, as given by the minimum value of
max |1 + KGH (jω)| , is called the minimum return difference.
ω

The minimum return difference is a measure of the robustness of the control loop to parameter variations in the model.
In the MATLAB Control Systems Toolbox, the ‘margin’ command is used to obtain the GM and PM as well as the gain and
phase crossover frequencies on the Bode plot. The command is invoked after defining the loop transfer function using 'tf' or
'zpk' command.

Example 6.2.1
Let K G(s) = 1

s(s+1)
; then, from the bode plot, GM = ∞ and PM = 51.8 (Figure 6.5).

Let K G(s) = 2

s(s+1)(s+2)
; then, we have GM = 15.6 dB and PM = 53.4 (Figure 6.5).

Kamran Iqbal 9/13/2020 6.2.1 https://eng.libretexts.org/@go/page/24414


Figure 6.5: The relative stability from the Bode plot: a second-order transfer function (left); a third-order transfer function
(right).

6.2.2 Closed-Loop System Response


Damping ratio. The phase margin is related to the damping ratio of the dominant poles in the closed-loop transfer function.
2
ωn
In particular, for a prototype second-order transfer function: KGH (jω) =
jω (jω+2ζωn )
, the gain crossover occurs at:
−−−−− − −−−−− − −
−−− −−− 2ζ
ωgc = kωn , where k = √√4 ζ 4 + 1 − 2 ζ 2 , and ϕ m = tan
−1
(
k
) .
3.3−2ζ 6ζ
In the range of 0.5 < ζ < 0.9 , we have, k ≅
3
; hence, ϕm ≅tan
−1
(
3.3−2ζ
)  , 0.5 < ζ < 0.9 . As an example, in
order to have a ζ = 0.7 , we may design the system for a P M ≅65.6

.
Settling time. The phase margin is related to settling time of the closed-loop system step response. For a second order transfer
2ζωn
function, the settling time t and the phase margin ϕ are related as: tan ϕ
s m m =
ωgc
=
8

ts ωgc
.

Bandwidth. Assuming T (j0) = 0 dB. the bandwidth, ω , is the lowest frequency where |T (jω
B B )| = −3 dB.

The bandwidth is bounded as: ω n ≤ ωB ≤ 2 ωn . In particular, for systems with low damping, ω B ≅ωn .

The bandwidth is related to the rise time t of the closed-loop system step response as: ω
r B tr ≈1 or tr ≅1/ ωB .

In particular, in the case of second-order systems (0.6 < ζ < 0.9 ), the rise time can be approximated as: t r ≅
wn
.

Example 6.2.1
We consider the model of a small DC motor, given as: G(s) = 2
s +110s+1025
500
. Assume that a PI compensator for the model
K(s+10)
is defined as: K(s) = s
. Then, for K = 10 , we have closed-loop roots located at: s = − − 50 ± j50.4 .
The Bode plot of the loop gain for the compensated system (Figure 6.6) displays a phase margin of ϕm = 65.8

, which
corresponds to a damping ratio of ζ = 0.7 .
The step response of the compensated system displays a rise time of t r = 0.028s and a settling time of t s = 0.077s . The
predicted value of the settling time is: t = = 0.078s.
s
8

ωgc tan ϕm

Figure 6.6: The Bode plot of the DC motor model with a PI controller (left); step response of the compensated system
(right).

6.3.3 Error Constants and System Type


Error Constants. The position and velocity error constants for a unity-gain feedback control system are defined as:
Kp = limKG(s) , Kv = limsKG(s). (6.2.1)
s→0 s→0

These constants can be inferred from the Bode plot at follows: The position error constant is given by the low frequency
asymptote on the Bode magnitude plot, that is, K = lim |KG(jω)| . p
s→0

The velocity error constant is given as the slope of the low frequency asymptote on the Bode magnitude plot, that is,
Kv
lim |KG(jω)| = .
ω
s→0

System Type. The system type is inferred by the slope of the Bode magnitude plot in the low frequency region. Thus, a slope
of 0dB implies a type 0 system; a slope of −1, i.e., −20 dB /decade implies a type 1 system, etc.

6.2.4 System Sensitivity


The sensitivity of the closed-loop transfer function, T (jω) , to changes in the plant transfer function, G(jω) , is given as:
∂T /T 1
T
S (jω) = = (6.2.2)
G
∂G/G 1 + KGH (jω)

Kamran Iqbal 9/13/2020 6.2.2 https://eng.libretexts.org/@go/page/24414


The sensitivity and the complementary sensitivity, represented by the closed-loop transfer function, T (jω) , are fundamentally
constrained as: S(jω) + T (jω) = 1 .
The sensitivity over a frequency band is small when the loop gain, KGH (jω) , is high. In general, increasing the loop gain
decreases the stability margins, i.e., a trade-off exists between the sensitivity and relative stability requirements.
The control system designers generally aim for high loop gain at low frequencies to obtain T (jω) ≅1 . The loop gain is
reduced at high frequencies to raise the stability margins.
Loopshaping is a graphical technique that aims to impart a desired loop shape to the plot of KGH (jω) by adding compensator
poles and zeros to the loop.

Kamran Iqbal 9/13/2020 6.2.3 https://eng.libretexts.org/@go/page/24414


6.3: Frequency Response Design
The frequency response design involves the shaping of frequency response of the feedback loop on the Bode plot. The design
aims to achieve the following:
1. A desired degree of relative stability and indicated by the phase margin.
2. A desired speed of response as indicated by the gain crossover frequency.
3. A mild slope of −1 (−20dB/decade) at the crossover.
The choice of compensators in the frequency response design method includes the gain compensator, the phase-lag and phase-
lead compensators, and the PD, PI, and PID compensators. These are described next.
Gain Compensation
The gain compensation aims to add a static compensator, K(s) = K , to the feedback loop. The gain compensation raises the
loop gain by K ; the Bode magnitude plot is shifted up by 20 log K. The resulting change in the gain crossover frequency,
10

ω , affects the PM.


gc

The phase margin is reduced for (K > 1 ), and increased for (K < 1 ). Further, the system bandwidth increases for (K > 1 ),
which improves the transient response by reducing the settling time. This is illustrated in the following example.

Example 6.3.1
Let G(s) = 2

s(s+1)(s+2)
; assume that the performance specifications state a 50 phae margin. ∘

For K =1 , the GM, PM and the crossover frequencies are obtained from MATLAB as:
s.
rad ∘ rad
GM = 3 (9.54 dB), ωpc = 1.41 s; PM = 32.6 , ωgc = 0.749

The gain crossover frequency need to be reduced to increase the phase margin. We observe from the Bode plot that
|G(j0.49)| = 5 dB and ϕ (j0.49) = −130 .

Thus, reducing loop gain by 5dB will affect a crossover at ωgc = 0.49 rad/s and achieve a PM = 50

. The required
gain compensator is given as: K = 0.56 .
The design is verified by plotting the frequency response for the loop transfer function: KG(s) =
1.12

s(s+1)(s+2)
, which
shows P M = 50

at the new ω gc = 0.49
rad
s (Figure 6.7).
Figure 6.7: Gain compensation for phase margin improvement (Example 6.7).

Phase-Lag Compensation
In the frequency response design, the phase-lag compensator serves a dual purpose: it can improve the phase margin (a
measure of transient response), as well the DC gain (a measure of steady-state response). The phase-lag compensator is
described as:
K(1 + s/ ωz ) K(1 + jω/ ωz )
K(s) = , K(jω) = , ωz > ωp (6.3.1)
1 + s/ωp (1 + jω/ ωp )

In order to minimize the adverse phase contribution from the compensator, the compensator pole and zero locations for steady-
state error improvement must be selected in accordance with: ω < ω < 0.1ω , where ω is the gain crossover frequency.
p z gc gc

Phase Margin Improvement. For K =1 , the phase-lag compensator is characterized by: |KG (j0)| = 0dB and
ωz
|KG (j∞)| = −20log (
ωp
)  . Thus, the addition of the compensator to the feedback loop will lower the gain crossover
frequency and increase the phase margin.
ωz
Error Constant Improvement. Alternatively, let K =
ωp
; then, the phase-lag compensator is characterized by:
ωz
KG (j0) = 20log (
ωp
)  and KG (j∞) = 0dB . Since the DC gain of the compensator is greater than one, addition of the
compensator to the feedback loop will boost the relevant error constant by a factor of K = ω z / ωp .

Kamran Iqbal 9/13/2020 6.3.1 https://eng.libretexts.org/@go/page/24415


The phase-lag compensator design is summarized below:
1. Use gain compensation to adjust the dc gain |KGH (j0)| to the desired value.
2. On the Bode plot of KGH (jω) , select a frequency ω to satisfy ∠KGH (jω ) = −180 + ϕ + 5 , where ϕ is the
1 1

m

m

desired phase margin, ω is the new gain crossover frequency, and 5 is a safety margin to compensate for an estimated:
1

∠K(jω ) ≅−5 .

1

3. Select the compensator pole and zero frequencies as: ω = 0.1ω , ω = ω /|KGH(jω )| . z 1 p z 1

4. Draw the Bode plot for the compensated system and verify the design.

Example 6.3.2
Let G(s) = 2

s(s+1)(s+2)
; assume that the design specifications are: P M = 50

, and e ss |ramp (
< 0.1 Kv > 10 ). Then, the
phase-lag compensator proceeds as follows:
1. Choose K = 11 to meet the error constant requirement.
2. From the Bode plot for KG(jω) ; choose ω1 = 0.4 rad/s for ∠KG(jω1 ) = −123

; then,
|KG(jω )| = 24.9 (28 dB) .
1

11(1+s/0.04)
3. Choose ω z = 0.04, ωp = 0.0016 ; then, K(s) = 1+s/0.0016

4. The Bode plot of the compensated system shows ω gc = 0.4 rad/s and PM = 51 (Figure 6.8). ∘

Figure 6.8: Phase-lag compensator design (Example 6.8).

Phase-Lead Compensation
In the frequency response design, the phase-lead compensator serves to increase the closed-loop bandwidth, leading to
transient response improvements. The phase-lead compensator is described by the transfer function:
K(1 + s/ ωz ) K(1 + jω/ ωz )
K(s) = , K(jω) = , ωz < ωp (6.3.2)
1 + s/ωp (1 + jω/ ωp )

Bandwidth Improvement. For K =1 , phase-lead compensator response is characterized by: |KG (j0)| = 0dB and
ωp
|KG (j∞)| = 20log (
ωz
)  . Since the high frequency gain of the compensator is greater than one, its addition to the feedback
loop increases the crossover frequency and the bandwidth.
ωp
The compensator contributes maximum phase-lead θm at a frequency −−−−
ωm = √ωz ωp . To proceed, let α =
ωz
; then,
α−1 1+sin θm ωm −

sin θm =
α+1
, or α = 1−sin θm
. Further, the compensator pole and zero locations are obtained as: ω z =
√α
; ωp = ωm √α .

Practically, the maximum achievable value of θ is about 70 for √−



α ≅6 . m



The compensator transfer function at ωm is given as: K (jωm ) = K √α . Then, from the crossover condition:
√α
|KGH (jωgc )| = 1 , we obtain: K = |GH (jωgc )|
.

The phase-lead design involves the following steps:


1. Choose a desired crossover frequency, ω , as the greater of gc
8

ts tan ϕ
and ω where ∠KGH (jω
1 1) = −180

+ ϕm + 5

.
m

2. Compute the required compensator phase angle: θ = ϕ − ∠G(jω ) − 180 ; compute |GH (jω
m gc

gc )|.

3. Solve for ω and ω .


z p

4. Inspect the Bode plot of the compensated system and verify the design.

Example 6.3.3
Let G(s) =
2

s(s+1)(s+2)
; P M = 32.6

. The design specifications are: ϕm = 50

, ts = 4 s . Then, the phase-lead
compensator design steps are:
1. From the settling time requirement, we have, ωgc =
tan ϕm
2
= 1.68
rad
s; then, θ = 50 ∘
+9

= 59

≅60

. Further,

G(j1.68) = 0.23 ∠ − 189 .

2. For θ = 60 , we have α = 13.93; the phase-lead design is given as:


Kamran Iqbal 9/13/2020 6.3.2 https://eng.libretexts.org/@go/page/24415


ωz = 0.45
rad

s
,ω p = 6.27
rad

s
, K = 16 ; thus K (s) = 16 ( s+0.45

s+6.27
)

The Bode plot of the compensated system has ϕ m = 50.4



at ωgc = 1.69
rad

s
(Figure 6.9).
Figure 6.9: Phase-lead compensator design (Example 6.9).

Lead-Lag Compensation
A lead-lag compensator combines the phase-lead and phase-lag sections. The phase-lag section improves the phase margin and
the dc gain; the phase-lead section improves the bandwidth and the phase margin. Since both lead and lag sections can
contribute to the phase margin improvement, the desired PM improvement can be distributed among the two sections.
The lead-lag compensator transfer function is given as: K(s) = K lead (s)Klag (s).

The steps to design a lead-lag compensator are as follows:


1. Choose static gain K to meet the steady-state error requirement.
2. Design the phase-lag section to meet part of the phase margin requirement.
3. Design phase-lead section to meet the bandwidth/settling time requirement.

Example 6.3.4
Let G(s) = 2

s(s+1)(s+2)
; assume that the design specifications are: ϕm = 50

, ts = 4s , and ess |ramp < 0.1 . The design
steps for the lag-lead design are as follows:
1. DC Gain. Choose K = 10 to meet the e requirement. Draw the Bode plot for KG(s) . The plot has
ss

= 2.5 rad/s and PM = −30 .



ω gc

2. Phase-Lag Design. Suppose we aim to raise the phase margin to PM ≈ 40 . From the Bode plot, let ω = 0.5 rad/s, ∘
1

such that KG (j0.5) = 18.6 (25.8 dB)∠ − 130 . ∘

3. Complete the phase-lag design with: ω = 0.05, ω = 0.003. z p

4. Phase-Lead Design. From the Bode plot of K G(jω) choose ω = 1.7 rad/s to meet the t requirement. Then,
lag gc s


Klag G(j1.7) = 0.15 (−16.5 dB)∠ − 191 .

5. Compute the phase-lead compensator parameters: θ = 62



,
α = 16,  K = 26.7,  ωz = 0.425 rad/s,  ωp = 6.8 rad/s .
11(s+0.05)(s+0.24)
6. The lead-lag compensator is described as: K(s) =
(s+0.003)(s+4.7)
. The Bode plot for the compensated system has
PM = 50.2

at ω = 1.71 rad/s (Figure 6.10).
Figure 6.10: Lag-lead compensation (Example 6.10): phase lag compensation (left); phase-lead compensation (right).

The PID Compensator


The PID compensator is a combination of the PI and PD sections. The PI compensator adds an integrator to the feedback loop
that reduces the steady-state error to zero; the PI compensator can also realize the PM requirement. The PI compensator is
defined as:
ki ki (1 + jω/ ωz ) ki
K(s) = kp + , K(jω) = , ωz = (6.3.3)
s jω kp

The compensator zero is arbitrarily located close to the origin. The gain k is selected to achieve a desired PM improvement.
i

The PD compensator adds a first-order zero to the loop transfer function, which increases the bandwidth and hence the
transient response. The PD compensator is defined as:

K(s) = kd s + kp , K(jω) = kp (1 + jω/ ωz ) (6.3.4)

The desired gain crossover ωgc is selected as the greater of 8

ts tan ϕ
and ω1 , where ω1 is found from the Bode plot for
m

∠KGH (jω1 ) = −180



+ ϕm − 90

+5 ;

the 90 term in this expression refers to the phase added by the PD compensator,

and 5 is a safety margin.


Kamran Iqbal 9/13/2020 6.3.3 https://eng.libretexts.org/@go/page/24415


The compensator zero location may be selected as: ωz = 0.1 ωgc ; the compensator gain kp is selected to meet the crossover
condition: |KGH (jω )| = 1 .
gc

Example 6.3.5
Let G(s) = 2

s(s+1)(s+2)
; assume that the design specifications are: ϕ m

= 50 ,ts =4 s , and e ss |ramp < 0.1 .

1. PI design. We aim to achieve P M = 30 in the PI section. The Bode plot for G(jω) has G(j0.8) = 0.9 ∠ − 150 .
∘ ∘

Let ω = 0.05, K (s) = 0.9(s + .05)/s .


z PI

2. PD design. From the settling time requirement, ω = ≅1.7 gc s; from the phase angle requirement,
2

tan ϕ
rad

ω1 = 2.5
rad
hence, ω = 2.5
s; gc s; the Bode plot of K
rad
G(jω) shows G(j2.5) = 0.1 ∠ − 210 .
PI

3. The compensator is zero selected as: ω = 0.2 z, K (s) = 5(s + 0.2) .


rad

s
PD

4. The PID compensator is given as: K(s) = 4.5(s + 0.05)(s + 0.2)/s. The Bode plot of the compensated system has
= 53.4 at ω (Figure 9.11).
∘ rad
ϕm = 2.58
gc s

Figure 9.11: The PID compensator design: PI compensation (left), PD compensation (right).

Kamran Iqbal 9/13/2020 6.3.4 https://eng.libretexts.org/@go/page/24415


6.4: Closed-Loop Frequency Response
Closed-Loop Frequency Response
The closed-loop frequency response reveals important information about the relative stability and the speed of response in the
time-domain. For unity-gain feedback configuration (H (s) = 1) , the closed-loop frequency response is computed as:
KG(jω)
T (jω) = (6.4.1)
1 + KG(jω)

To proceed further, use rectangular form for the open loop frequency response: KG(jω) = X(jω) + jY (jω) ; then,
X + jY

T (jω) = = Me (6.4.2)
(1 + X) + jY

and
2 2
2
X +Y
2
|T (jω)| = =M . (6.4.3)
2
2
(1 + X) +Y

The latter can be rearranged to obtain:


2
2 2
M 2
M
(X + ) +Y = . (6.4.4)
2 2 2
M −1 (M − 1)

The above relation represents the equation of a circle with center at X =


M
2
, Y =0 , and radius r =
M
2
; these are
1−M 1−M

described as constant M circles on the frequency response plot.


Further, as M → 1, X =−
1

2
, which is a vertical line that separates the circles for M <1 from those with M >1 .
The phase relationship similarly reveals an equation for constant phase circles:
2 2 2
1 1 1 1
(X + ) + (Y − ) = +( ) (6.4.5)
2 2N 4 2N

−−−−−−−−−
2
where N = tan ϕ . The constant phase circles are centered at: X = − 1

2
, Y =
2N
1
, and have radius: r = √ 1

4
+(
1

2N
) .

Resonance Peak
The resonance peak in the frequency response occurs at ω = ω for ζ < 0.7 . For a prototype second-order system, we have:
r

−−−− −−
Resonant frequency: ω r = ωn √1 − 2ζ 2

Resonant peak: M r = |T (jωr )| =


1

2
2ζ√1−ζ

When the polar plot of the loop gain, KGH (jω) , is superimposed onto the constant M and constant N contours, it reveals the
magnitude peak M in T (jω).
r

The magnitude peak represents a measure of relative stability, while the resonant frequency associated with it is a measure of
speed of response in the time-domain. A value of M = 1.3 (or 2.5dB) is considered a good compromise between speed and
r

stability.
The MATLAB Control System Toolbox 'grid' command adds constant M , N contours on the Nyquist plot.
The Nichol’s Chart
The closed-loop frequency response can be alternately visualized on the Nichol’s chart, where the magnitude in dB is plotted
along the vertical axis, and the phase in degrees is plotted along the horizontal axis.
The ‘grid’ command can be similarly used with the Nichol’s chart to plot the constant M, N contours to aid in the
visualization of the closed-loop frequency response.

Kamran Iqbal 9/13/2020 6.4.1 https://eng.libretexts.org/@go/page/24416


Example 6.4.1
Let G(s) =
10

s(s+1.86)
, G(jω) = 2
10

−ω +j1.86ω
;

then, the closed-loop frequency response has a peak Mr = 5 dB , as can be observed on both the Nyquist plot and the
Nichol’s chart (Figure 9.12).
Figure 9.12: Closed-loop frequency response evaluation on the Nyquist plot (left) and the Nichol’s chart (right).

Kamran Iqbal 9/13/2020 6.4.2 https://eng.libretexts.org/@go/page/24416


CHAPTER OVERVIEW
7: DESIGN OF SAMPLED-DATA SYSTEMS
Learning Objectives

Understand and analyze the sampled-data systems models.


Solve difference equation models of sampled-data systems by iteration.
Analyze the stability of closed-loop sampled-data systems.
Design/emulate controllers for the sampled-data system models.

7.0: PRELUDE TO DESIGN OF SAMPLED-DATA SYSTEMS


7.1: MODELS OF SAMPLED-DATA SYSTEMS
7.3: SAMPLED-DATA SYSTEM RESPONSE
7.4: STABILITY OF SAMPLED-DATA SYSTEMS
7.5: CLOSED-LOOP SYSTEM RESPONSE
7.6: DIGITAL CONTROLLER DESIGN BY EMULATION
7.7: ROOT LOCUS DESIGN OF DIGITAL CONTROLLERS
7.2: PULSE TRANSFER FUNCTION

1 10/11/2020
7.0: Prelude to Design of Sampled-Data Systems
The sampled-data control systems include clock-driven elements and reflect the current trends in the design of feedback
control systems. In the contemporary control systems technology, data acquisition card (DAQ) is commonly used to sense,
sample, and process variables of interest. The controller is digitally implemented as a software routine on a programmable
logic controller (PLC), microcontroller, or digital signal processor (DSP).
The sampled-data control systems employ software-based controllers that work with discretized time. The discrete-time
system models are represented by difference equations, with input and output variables represented by number sequences. The
analog-to-digital (ADC) and digital-to-analog (DAC) converters are modeled as sampler and hold devices (Figure 7.1).
A continuous-time system model can be converted to a discrete system model by assuming a piece-wise constant input
generated by a zero-order hold (ZOH). In the MATLAB, the continuous-to-discrete conversion is handled by the ‘c2d’
function in the Control Systems Toolbox. The function allows a variety of input methods.
The z-transform for discrete-time systems serves as the equivalent of Laplace transform for continuous-time systems. Discrete
system models are represented by pulse transfer functions that are valid at sampling instances. The added phase angle due to
sampling adversely affects the dynamic stability of the closed-loop system. The discrete system stability is indicated by the
roots of the characteristic polynomial being restricted to inside of unit circle.
Analog controllers designed for transfer function models of continuous-time systems can be approximated for their application
toward sampled-data systems. Assuming a high enough sampling rate (five to ten times the system bandwidth), the digital
controller obtained by emulation gives comparable performance to the analog controller it mimics.
Root locus technique can be similarly used for controller design in the case of discrete systems. The design is performed on the
z-plane, keeping in view the stability boundary, i.e., the unit circle. The performance criteria defined in terms of settling time,
damping ratio, etc., can be reflected on the z-plane, as conveniently done by using the ‘grid’ command in MATLAB.
In this chapter, we will discuss models of sampled-data system, their properties, stability characterization, and the analysis and
controller design for such systems.

9/13/2020 7.0.1 https://eng.libretexts.org/@go/page/24460


7.1: Models of Sampled-Data Systems
7.1.1 Sampled-Data Systems
The sampled-data systems operate on discrete-time, represented as integral multiples of the sampling time (T ).
To model the sampled-data systems, we consider an ideal sampler that samples a physical signal r(t) every T seconds and
generates a series of impulses with weights r(kT ), k = 0, 1, … .
Mathematically, the sampler output, r ∗
(t) , represents multiplication of r(t) with an impulse train, given as:


r (t) = ∑ r(kT )δ(t − kT ) (7.1.1)

k=0

By applying the Laplace transform to the sampled signal r ∗


(t) , we obtain:

∗ −skT
r (s) = ∑ r(kT )e (7.1.2)

Since sampling time, T , is constant, we can change the variable to: z = e sT


, to represent the sampled signal as:

−k
r(z) = ∑ r(kT )z (7.1.3)

where r(z) defines the z -transform of the sampled signal, r(kT ).

7.1.2 The z-transform


The z -transform is the Laplace transform equivalent in the case of sampled-data systems. The domain of the z -transform
includes real- or complex-valued number sequences.
Assuming the number sequence, r(kT ), is obtained by sampling a real-valued signal r (t) , the time dependence may be
suppressed to represent the sequence as: r (k) = {r (0) , r (1) , …} . The z-transformed sequence is given as:

−k
r(z) = z[r(kT )] = ∑ r(k)z (7.1.4)

The transformed sequence, r(z) , represents a rational function of a complex variable z = |z| e

.

Example 7.1.1
The z -transform of a unit-step sequence: u(k) = {1, 1, …} is given as:

−k
1 −1
u(z) = ∑ z = ; |z | <1 (7.1.5)
−1
1 −z
0

The convergence of the above geometric series is conditioned on: |z | < 1 , or |z| > 1 which defines its region of −1

convergence (ROC); the ROC is outside of the unit-circle: e ,  0 ≤ θ < 2π in the complex z -plane.

Example 7.1.2
Let r(t) = e −at
u(t) ; then r(kT ) = {1, e
−aT
,e
−2aT
, …} . Hence,

−akT −k
1 −aT −1
r(z) = ∑ e z = ; |e z | <1 (7.1.6)
−aT −1
1 −e z
0

The ROC is outside of the circle of radius e −aT


in the complex z -plane.

Kamran Iqbal 9/13/2020 7.1.1 https://eng.libretexts.org/@go/page/24418


In digital signal processing (DSP) applications, the index 'n ' is commonly used to represent a real-valued sequenc, i.e., the z-
transform of a sequence, r(n) = a u(n) is given as: r(z) =
n
. 1−az −1
1

Example 7.1.3
Let r(t) = e jωt
u(t); then r(kT ) = {1, e jωT
,e
2jωT
, …} . Hence,

jkωT −k
1 jωT −1 −1
r(z) = ∑ e z = ; |e z | = |z | <1 (7.1.7)
jωT −1
1 −e z
0

The ROC is outside of the unit-circle in the complex z -plane.

The z -transforms of the sampled sinusoidal signals are obtained by applying the Euler’s identity to the above z -transform of
e
jkωT
and separating the real and imaginary parts. Thus
z sin(ωT ) z
sin(kωT ) ↔ (7.1.8)
2
z − 2 cos(ωT ) + 1

z z(z − cos(ωT ) )
cos(kωT )↔ (7.1.9)
2
z − 2 cos(ωT) + 1

−aT
z e sin(ωT )z
−akT
e sin(kωT )↔ (7.1.10)
2
z − 2 cos(ωT ) e−aT + e−2aT

−aT
z z(z − e cos(ωT ))
−akT
e cos(kωT )↔ . (7.1.11)
z 2 − 2 cos(ωT ) e−aT + e−2aT

The z -transforms of other complex signals may be obtained by using its properties of linearity, differentiation, and translation,
etc.
Inverse z-Transform
Given the z-transform of a composite signal, the underlying sequence can be recovered by long division. Alternatively, partial
fraction expansion (PFE) can be used to obtain first and second-order factors that can be inverse transformed with the help of
z-transform tables.

Example 7.1.4
0.2z(z+0.9)
Let y (z) =
(z−1)(z−0.6)(z−0.9)
represent the output of a feedback control system; then, the output sequence can be
recovered by the following methods:
y(z)
1. Expand z
in partial fractions to obtain: y (z) =
4.75z

z−1

6z

z−0.9
+
1.25

z−0.6
. Hence,
y (k) = 4.75 − 6 (0.9) + 1.25 (0.6) .
k k

2. Alternatively, use long division to obtain: y (z) = 0.1 z


−1
+ 0.34 z
−2
+ 0.65 z
−3
+ 0.98 z
−4
+… . Hence,
y (k) = {0,  0.1,  0.34,  0.65,  0.98,   …}.

Kamran Iqbal 9/13/2020 7.1.2 https://eng.libretexts.org/@go/page/24418


7.3: Sampled-Data System Response
The response of a sampled-data system, G (z) , to an input sequence, u (k), is the output sequence, y(k). In the z -domain, the
system response is given as: y (z) = G (z) u(z) .
Alternatively, we may use inverse z-transform to obtain an input–output description in the form of a difference equation that
can be solved by iteration.

7.3.1 Difference Equation Representation


n(z)
Let G (z) = d(z)
, where n (z) and d (z) are mth order and n th order polynomials, given as:
m n

m−i n n−i
n (z) = ∑ bi z ,   d (z) = z + ∑ ai z . (7.3.1)

i=0 i=1

Then d (z) y (z) = n (z) u (z) . By applying the inverse z -transform, we obtain a difference equation, described as:
n m

y (k + n) + ∑ ai y (k + n − i) + ∑ bi u (k + m − i) (7.3.2)

i=1 i=0

As the system is linear and time-invariant, we apply a time shift and rearrange the difference equation into and update rule:
n m

y (k) = − ∑ ai y (k − i) + ∑ bi u (k − i) (7.3.3)

i=1 i=0

The above rule can be programmed on a computer to solve for the response of the sampled-data system to an input sequence,
u (k), described as: as u (k) = u (t)| . t=kT

Example 7.3.1
y(z)
Let G(z) = u(z)
=
0.181

z−0.819
; then, the sampled-data system is described by the following input–output relation:

y (k) = 0.819y (k − 1) + 0.181u (k − 1) (7.3.4)

Example 7.3.2
0.0187(z+0.936)
Let G(z) = (z−1)(z−0.819)
; then, the sampled-data system is described by the following input–output relation:

y (k) = 1.819y (k − 1) − 0.819y (k − 2) + 0.0187u (k − 1) + 0.0175u(k − 2) (7.3.5)

7.3.2 Unit-Pulse Response


The unit-pulse response of a sampled-data system model, G(z) , is its response to a unit-pulse r(k) = δ(k) .
Using r (z) = 1 , the unit-pulse response is computed as: g (kT ) = z −1
[G(z)] , with an implicit sampling time T = 1s .
Unit-pulse response for sample time, T , is obtained by assuming δ (z) = T
1
, hence g (kT ) = T
1
z
−1
[G(z)] .
Alternatively, given the input–output description, the unit-pulse response can be computed by iteration.
The unit-pulse response comprises the natural response modes G (z) = n(z)/d (z) . These modes depend on the roots of d (z) ,
and are characterized as follows:
Real Roots. Assume that d (z) has real and distinct roots: zi , i = 1, … , n, then, the natural response modes are given as:
ϕ (k) = (z ) . These modes die out with time if | z | < 1.
k
i i i

Kamran Iqbal 9/13/2020 7.3.1 https://eng.libretexts.org/@go/page/24419


Complex Roots. Assume that d (z)has complex roots of the form: re ; then, its natural response modes are given as:
±jθ

sin kθ} . These modes similarly die out with time if |r| < 1 .
k k
ϕi (k) = { r cos kθ, r

Example 7.3.3
Let G(s) = 1

s+1
; use T = 0.2s to obtain: G(z) = . The sampled-data system is described by the following input-
0.181

z−0.819

output relation: y (k) = 0.819y (k − 1) + 0.181u (k − 1) .


As T = 0.2s , let δ (k) = {5,  0,  0, …}; then, assuming zero initial conditions, the unit-pulse response is obtained as:

y (k) = {0, 0.906,  0.742,  0.608,  0.497, 0.407,  0.333,   …} (7.3.6)

For comparison, the impulse response of the analog system is obtained as: g (t) = e −t
u(t) .
The impulse responses of continuous and discrete systems are compared in Figure 7.3.

Example 7.3.4
0.0187(z+0.936)
Let G(s) =
1

s(s+1)
; use T = 0.2s to obtain: G(z) =
(z−1)(z−0.819)
. The sampled-data system is described by the
following input-output relation:

y (k) = 1.819y (k − 1) − 0.819y (k − 2) + 0.0187u (k − 1) + 0.0175u(k − 2). (7.3.7)

Assuming u (k) = {5, 0, 0, …}, and zero initial conditions, the unit-pulse response is obtained as:

y (k) = {0, 0.0937,  0.258,  0.392,  0.502, 0.593,  0.667,   …} (7.3.8)

For comparison, the impulse response of the original analog system is obtained as: g (t) = (1 − e −t
)u(t) .
The impulse responses of continuous and discrete systems are compared in Figure 7.3. We note that the presence of
integrator in the transfer function causes the impulse response to asymptotically approach unity in the steady-state.

Figure 7.3: Impulse response of the sampled-data system: First-order system (left); Second-order system (right).
In the MATLAB Control Systems Toolbox, the ‘impulse’ command can be used to obtain or plot the unit-pulse response of a
sampled-data system.

7.3.3 Unit-Step Response


The unit-step response of a sampled-data system model, G (z) , is its response to the unit-step sequence:
G(z)
r{kT } = {1, 1, 1 …} r(z) = ; 1−z
1
−1
. In the z -domain, the unit-step response is obtained as: y(z) = 1−z
−1
.

Alternatively, using the input-output system description, the unit-step response can be obtained by iteration.

Example 7.3.5
Let G(s) = 1

s+1
; use T = 0.2s to obtain: G(z) = 0.181

z−0.819
. The unit-step response is computed as:y(z) = 0.181z

(z−1)(z−0.819)
.

We use PFE of y(z)/z to obtain: y(z) = ( z

z−1

z

z−0.819
). Using the inverse z -transform, the step response sequence is
obtained as: y(kT ) = 1 − (0.819) k
, k = 0, 1, …

Alternatively, we use the


input-output system description with zero initial conditions:
y (k) = 0.819y (k − 1) + 0.181u (k − 1) . The resulting unit-step sequence is given as:
y (k) = {0,  0.181,  0.329,  0.451,  0.55, …} .
For comparison, the unit-step response of continuous-time system is given as:y(t) = 1 − e −t
, t > 0. The step responses
of the continuous and discrete systems are plotted alongside (Figure 7.4).

Kamran Iqbal 9/13/2020 7.3.2 https://eng.libretexts.org/@go/page/24419


Example 7.3.6
0.0187z+0.0175
Let G(s) = 1

s(s+1)
; use T = 0.2s to obtain: G(z) =
z
2
−1.819z+0.819
. Using the time-domain relation (Example 6.8), the
unit-step response is given as: {0, 0.0187, 0.0702, 0.149, 0.249, 0.368, 0.501, 0.647, 0.802, 0.965, …}

z(0.0187z+0.0175)
Analytically, let r(z) = z

z−1
(unit-step); then, the system output is given as: y(z) =
(z−1)( z
2
−1.819z+0.819)
. By using long
division, we can express the quotient as:
−1 −2 −3 −4 −5
y(z) = 0.0187 z + 0.0703 z + 0.149 z + 0.249 z + 0.501 z +… (7.3.9)

The resulting output sequence matches the one obtained by iteration.


For comparison, continuous-time system step response is given as: y(t) = (t − 1 + e −t
)u(t).

The step responses of the continuous and discrete systems are plotted alongside (Figure 7.4).

Figure 7.4: Step response of sampled-data systems: First-order system (left); Second-order system (right).
In the MATLAB Control Systems Toolbox, the ‘step’ command can be used to obtain or plot the unit-step response of a
sampled-data system.

7.3.4 Response to Arbitrary Inputs


Given the unit-pulse response of the system, its response to an arbitrary input sequence is obtained by convolution.
Accordingly, let the unit-pulse response sequence be given as:

{g (k)} = {g (1) ,  g (2) ,   …} (7.3.10)

Then, using an arbitrary input sequence: {u (k)} = {u (1) ,  u (2) ,   …} , the output sequence is given by the convolution
sum:

y (k) = g (k) ∗ u (k) = ∑ g (k − i) u (i) (7.3.11)

i=0

As an example, we obtain the output for a sinusoidal input below.

Example 7.3.7
Let G(z) =
0.368z+0.264

(z−1)(z−0.368)
; we assume a sinusoidal input sequence, u (kT ) = sin (πkT )   . Then, the output response is
computed using the convolution sum is shown (Figure 7.5).

Figure 7.5: Sinusoidal response of a second-order sampled-data system preceded by a ZOH.

Kamran Iqbal 9/13/2020 7.3.3 https://eng.libretexts.org/@go/page/24419


7.4: Stability of Sampled-Data Systems
7.3.1 Stability Region in the Complex Plane
In continuous-time control system design, s = jω defines the stability boundary. The z -plane stability boundary is obtained
from the transform: z = e = 1∠ωT ; it maps the jω -axis to the unit circle and the open left-half plane to the inside of the
jωT

unit circle: |z| < 1 .


Thus, the sampled-data system is stable if and only if the pulse characteristic polynomial Δ(z) has its roots inside the unit
circle, i.e., |z | < 1. where z is the root of Δ(z) .
i i

The analytical conditions for a z -domain polynomial, A (z) , to have its roots inside the unit circle are given by the Schur–
Cohn stability test. When applied to real polynomials, the Schur–Cohn test results in a criterion similar to the Ruth’s test, and
is known as Jury’s stability test.

7.3.2 Jury’s Stability Test


Assume that the n th order z -domain polynomial to be investigated is given as:
n n−1
A(z) = a0 z + a1 z + … + an−1 z + an ; a0 > 0. (7.4.1)

For stability determination, the Jury’s table is built as follows:


∣ an an−1 … a0

a0 a1 … an

∣ b bn−2 … b0
n−1

∣ b0 b1 … bn−1 (7.4.2)

cn−2 cn−1 … c0

∣ c0 c1 … cn−2

∣ ⋮

where the first two rows reflect the coefficients of the polynomial; the coefficients of the third and subsequent rows are
computed as:
∣ an an−1−k ∣
bk = ∣ ∣, k = 0, … , n − 1 (7.4.3)
∣ a0 ak+1 ∣

∣ bn−1 bn−2−k ∣
ck = ∣ ∣, k = 0, … , n − 2 , etc.
∣ b0 bk+1 ∣

The necessary conditions for polynomial stability are:


n
A(1) > 0, (−1 ) A(−1) > 0. (7.4.4)

The sufficient conditions for stability, given by the Jury’s test, are:
a0 > | an |, | bn−1 | > | b0 |, | cn−2 | > | c0 |, … (n − 1 constraints)
Second-Order Polynomial. Let A(z) = z 2
+ a1 z + a2 ; then, the Jury’s table is given as:
∣ a2 a1 1

∣ 1 a1 a2
(7.4.5)

b1 b0

∣ b0 b1

The resulting necessary conditions are: 1 + a 1 + a2 > 0, 1 − a1 + a2 > 0.

The sufficient conditions are: |a 2| < 1, |1 + a2 | > | a1 | .

7.3.3 Stability Determination through Bilinear Transform

Kamran Iqbal 9/13/2020 7.4.1 https://eng.libretexts.org/@go/page/24420


The bilinear transform (BLT) defines a linear map between s -domain and z -domain. The BLT is based on the first-order Pade’
approximation of z = e , given as:
sT

sT /2
e 1 + sT /2 2 z−1
z = ≅ , s = (7.4.6)
−sT /2
e 1 − sT /2 T z+1

Since T has no impact on stability determination, we may use T = 2 for simplicity. Further, to differentiate from continuous-
time systems, a new complex variable, w, is introduced. Thus z = , w =
1+w

1−w
z−1

z+1

Let Δ(z) represent the polynomial to be investigated; application of BLT to Δ(z) returns a polynomial, Δ(w), whose stability
is determined through the application of Hurwitz criterion (Sec. 2.5).
Second-Order Polynomial. Let Δ(z) = z 2
+ a1 z + a2 ; then, application of BLT, ignoring the denominator term, results in:
2
Δ(w) = Δ(z)| 1+w = (1 − a1 + a2 )w + 2(1 − a2 )w + 1 + a1 + a2 (7.4.7)
z=
1−w

Application of the Hurwitz criterion results in the following stability conditions for Δ(z) :

a2 + a1 + 1 > 0, a2 − a1 + 1 > 0, 1 − a2 > 0 (7.4.8)

The above conditions are similar those obtained from the application of Jury’s stability test.

7.3.4 Stability of the Closed-Loop System


n(z)
Let the pulse transfer function be given as: G (z) =
d(z)
; then, for a static controller, the closed-loop pulse characteristic
polynomial is given as: Δ (z) = d (z) + Kn(z) .
The stability of the closed-loop characteristic polynomial can be determined by applying Jury’s stability test. Alternatively,
BLT can be used to determine stability through the application of Routh’s test to the transformed polynomial, Δ(w).

Example 7.4.1
Let G(s) = , T = 0.2s; then, the pulse transfer function is given as: G(z) =
1

s+1
. The closed-loop characteristic
0.181

z−0.819

polynomial is: Δ (z) = z − 0.819 + 0.181K . The polynomial is stable for |0.819 + 0.181K| < 1, or −1 < K < 10 for
stability.

Example 7.4.2
Let Δ(z) = z 2
+z+K ; then, Δ(w) = Δ(z)| z=
1+w = Kw
2
+ 2(1 − K)w + 1 + K
1−w

The application of the Hurwitz criteria to Δ(w) reveals 0 < K < 1 for stability.

Example 7.4.3
Let G(s) =
1

s(s+1)
, T = 0.2s ; then, the pulse transfer function is given as: G(z) =
0.0187z+0.0175

(z−1)(z−0.181)
. The characteristic
polynomial is:
2
Δ(z) = z + (0.0187K − 1.819)z + 0.0175K + 0.819. (7.4.9)

The w-polynomial obtained through BLT is given as:


2
Δ(w) = (3.637 − 0.0012K)w + (0.363 − 0.035K)w + 0.036K (7.4.10)

The application of the Hurwitz criteria to Δ(w) gives 0 < K < 10.34 for stability.

Kamran Iqbal 9/13/2020 7.4.2 https://eng.libretexts.org/@go/page/24420


Kamran Iqbal 9/13/2020 7.4.3 https://eng.libretexts.org/@go/page/24420
7.5: Closed-Loop System Response
7.5.1 Closed-Loop System Step Response
We consider a unity-gain feedback sampled-data control system (Figure 7.1), where an analog plant is driven by a digital
controller through a ZOH.
n(z)
Let the pulse transfer function be given as: G (z) = d(z)

Then, for a static controller, the closed-loop pulse transfer function in unity-feedback configuration is defined as:
Kn(z)
T (z) = . (7.5.1)
d(z) + Kn(z)

Given the closed-loop pulse transfer function, T (z) , we compute its response to a unit-step sequence, r (kT ) = {1, 1, …} .
The response can be obtained by iteration, or analytically from the expression:
y (z) = T (z) r (z) (7.5.2)

Example 7.5.1
Let G(s) = 1

s+1
,T = 0.2 s ; then, we have G(z) = 0.181

z−0.819

The closed-loop pulse transfer function is given as: T (z) = 0.6181K

z−0.819+0.181K
.

Let K = 1 , and assume r(kT ) = 1, r(z) =


1

1−z −1
; then, system response is obtained as: y(z) = 0.181z

(z−1)(z−0.638)
.

Using PFE, y(z) = 0.5 ( z

z−1

z

z−0.638
).

The resulting output sequence is given as: y(kT ) = 0.5(1 − 0.638 k


), k = 0, 1, …

or y (k) = {0, 0.632, 0.465, 0.509, 0.498, 0.501, 0.5, 0.5 …}.

For comparison, for K = 1 , the analog system response is given as: y(t) = 1

2
(1 − e
−2t
), t > 0.

The step responses are compared in Figure 7.6.

Example 7.5.2
0.0187z+0.0175
Let G(s) = 1

s(s+1)
,T = 0.2s ; then, we obtain: G(z) = (z−1)(z−0.819)
.

(0.0187z+0.0175)K
The closed-loop pulse transfer function is: T (z) = (z−1)(z−0.819)+(0.0187z+0.0175)K

Let K = 1; then, the closed-loop pulse transfer function is: T (z) = 0.0187z+0.0175

z 2 −1.8z+0.836
.

z(0.0187z+0.0175)
Let r(z) = z

z−1
(unit step); then, the closed-loop system response is given as: y(z) = (z−1)( z
2
−1.8z+0.836)
.

By using long division, we obtain: y(z) = 0.368z −1


+z
−2
+ 1.4 z
−3
+ 1.4 z
−4
+ 1.15 z
−5
+…

The step response sequence is given as: y(kT ) = {0, 0.368, 1, 1.4, 1.4, 1.15, …}

For comparison, the analog system has a closed-loop transfer function: T (s) = 1

s2 +s+1
.

Its unit-step response is obtained as: y(t) = (1 − 1.15e −0.5t


sin 0.866 t)u(t).

The step responses are compared in Figure 7.6.


From the comparison of step responses, we observe that the analog system response has a 16.3% overshoot, whereas the
discrete system response has a higher (18%) overshoot. The discrete system also has a higher settling time compared to
the analog system.

Kamran Iqbal 9/13/2020 7.5.1 https://eng.libretexts.org/@go/page/24421


The higher overshoot in the case of sampled-data system occurs due to the negative phase contributed by the ZOH that
ωgc T
reduces the available phase margin by an amount: Δϕ = m
2
In particular, from the MATLAB ‘margin’ command, the
.

continuous-time system has a PM of 52 at ω = 0.786 ∘


gc
rad
s; hence, the reduction is phase margin is: Δϕ = 4.5m

Figure 7.6: Step response of the sampled-data system: First-order system (left); Second-order system (right).

7.5.2 Steady-State Tracking Error


The tracking error, e(z), in response to a given reference input r(z), in the case of a unity-gain feedback sampled-data system
is computed as:
e(z) = r(z)(1 − T (z)). (7.5.3)

The final value theorem (FVT) in the z -domain is stated as:


lim e(k) = lim(z − 1)e(z). (7.5.4)
k→∞ z→1

The position and velocity error constants in the case of sampled-data system are defined as:
Kp = limG(z) (7.5.5)
z→1

(z − 1)
Kv = lim G(z) (7.5.6)
z→1 T

Using the error constants, the steady-state errors to step and ramp inputs are computed as:
1
ess | = (7.5.7)
step
1 + Kp

1
ess | = . (7.5.8)
ramp
Kv

Example 7.5.3
Let G(z) = 0.0187z+0.0175

(z−1)(z−0.819)
(T = 0.2s) ; then, the error constants are given as K p =∞ and K v =1 .

Accordingly, e ss |step = 0; ess |ramp = 0.2.

Example 7.5.4
Let G(z) = 0.368z+0.264

(z−1)(z−0.368)
with T = 1s ; then, we have K p = ∞, Kv = 1.

Accordingly, e ss |step = 0; ess |


ramp
= 1.

Kamran Iqbal 9/13/2020 7.5.2 https://eng.libretexts.org/@go/page/24421


7.6: Digital Controller Design by Emulation
7.6.1 Emulation of Analog Controller
The controller for a sampled-data control system can be designed by emulating (i.e., approximating) an available analog
controller design. Controller emulation aims to obtain an approximate digital controller, K (z) , whose response matches that
of the analog controller, K (s) . Popular controller emulation methods include:
Impulse Invariance. The impulse invariance method aims to match the impulse response of the analog controller. Assume
Ak
that the analog controller has a form: H (s) = ∑ . Then a digital controller is obtained as:
n

k=1 s−sk

n Ak
sk T
H (z) = T ∑ , pk = e .
k=1 1−p z −1
k

Pole–Zero Matching. In pole–zero matching, both the plant poles and zeros are mapped to their equivalent locations in the z -
plane using: z = e . If the analog transfer function has n poles and m finite zeros, to be matched, then another n − m zeros
i
si T

are added at z = 1 . Additionally, the dc gain of the digital controller is matched to that of the analog controller.
Zero-Order Hold (ZOH). The ZOH method assumes the presence of a ZOH at the input. The method is ineffective if the
analog controller has poles at the origin (as in the case of PI and PID controllers).
First-Order Hold (FOH). The FOH method assumes a piece-wise linear input to the controller.
1+T s/2
Bilinear Transform (BLT). The BLT method uses Tustin’s approximation (z ≅
1−T s/2
) to emulate an analog controller.
The BLT method is effective with a high sampling frequency. Using the BLT, an equivalent digital controller is obtained as:
K(z) = K(s)| 2 z−1 .
s=
T z+1

The ‘c2d’ command in the MATLAB Control Systems Toolbox allows controller emulation method to be specified. The
default method is ZOH.

Example 7.6.1
0.0095(z+0.18)(z+2.68)
Let G (s) = 10

s(s+2)(s+5)
,  T = 0.2s ; then, the pulse transfer function is obtained as: G (z) = (z−1)(z−0.67)(z−0.37)

s+2 s+0.05
A lead-lag controller for this example was designed earlier: K (s) = 25 ( s+24
)(
s+0.004
) .

We use MATLAB Control System Toolbox ‘c2d’ commands to obtain discrete approximations of the controller using the
following methods:
25(z−0.99)(z−0.925)
ZOH: K (z) = (z−0.999)(z−0.008)

6.86(z−0.99)(z−0.7)
FOH: K (z) = (z−0.999)(z−0.008)

8.86(z−0.99)(z−0.667)
BLT: K (z) = (z−0.999)(z−0.412)

−109.77z(z−0.999)
Impulse-invariance: K (z) = (z−0.999)(z−0.008)

6.3(z−0.99)(z−0.67)
Pole-zero matching: K (z) = (z−0.999)(z−0.008)

5.74(z−0.99)(z−0.542)
Least-squares: K (z) = (z−0.999)(z−0.376)

An analysis of the closed-loop systems shows that all except the impulse invariance approximation are stable with
damping in the range of ζ ∈ [0.72, 0.81]. The closed-loop responses are compared in Figure 7.8.
As seen from the figure and otherwise, the BLT method generally provides the best approximation of an analog controller.

Figure 7.8: Step response comparison for analog controller emulation methods (Example 7.22).

7.6.2 Emulation of Analog PID Controller

Kamran Iqbal 9/13/2020 7.6.1 https://eng.libretexts.org/@go/page/24422


An analog PID controller with input e(t) and output u(t) is described as:
de(t)
u(t) = kp e(t) + kd + ki ∫ e(t)dt. (7.6.1)
dt

An equivalent digital PID controller can be obtained by employing a forward Euler approximation of the derivative term:
−e ) .
d 1
e (t) ≈ (e k+1 k
dt T

The resulting z -domain transfer functions for the PID controller are given as:
z−1 T
K (z) = kp + kd ( ) + ki ( ) (7.6.2)
T z−1

Further, let v denote the integrator output; then, the digital PID controller is implemented using the following update rules:
k

1
uk = kp ek−1 + (ek − ek−1 ) + ki vk (7.6.3)
T

vk = vk−1 + T ek−1 (7.6.4)

Example 7.6.2
0.0095(z+0.18)(z+2.68)
Let G (s) = 10

s(s+2)(s+5)
,  T = 0.2s ; then, the pulse transfer function is obtained as: G (z) = (z−1)(z−0.67)(z−0.37)

1.2(s+0.05)(s+2)
A PID controller for this example was designed earlier as: K P ID (s) =
s
.

An approximate digital controller is obtained as: K P ID (z) = 2.46 + 1.2 (


z−1

T
) + 0.12 (
T

z−1
) .

The step response of the closed-loop system for analog and digital PID controllers is shown in Figure 7.9. The discrete
PID controller with forward Euler approximation of derivative emulates the analog controller well.

Figure 7.9: Comparison of the step response for analog and digital PID controllers.

Kamran Iqbal 9/13/2020 7.6.2 https://eng.libretexts.org/@go/page/24422


7.7: Root Locus Design of Digital Controllers
7.7.1 Static Controller Design
The root locus technique (Chapter 5) employs the open-loop transfer function, KGH (s) , to describe the locus of the roots of
the closed-loop characteristic polynomial: Δ (s) = 1 + KGH (s) , with variation in the controller gain, K .
The -plane root locus similarly describes the locus of the roots of closed-loop pulse characteristic polynomial,
z

Δ(z) = 1 + KG(z) , as controller gain K is varied. A suitable value of K can then be selected form the RL plot. To ensure
closed-loop stability, the closed-loop roots should be confined to inside the unit circle.
In the MATLAB Control Systems Toolbox, ‘rlocus’ command is used to plot both the s -plane and z -plane root loci. The RL
design of digital controller is described below.
Design for a Desired Damping Ratio. Assuming that the controller design specifications include a desired damping ratio, ζ, of
the closed-loop poles, we consider the z -plane root locus design based on the ζ requirement.
2
ωn ζ
For a prototype second-order transfer function: T (s) =
2 2
, the constant ζ lines are defined by: σ

ω
=∓ . The
s +2ζωn s+ωn 2
√1−ζ

ζ
constant ζ lines in the z-plane are obtained by: z = e Ts
=e
σT
e
±jωT
, where σ = ∓ 2
ω and ωT ranges from 0 to π.
√1−ζ

In the MATLAB Control Systems Toolbox, the ‘grid’ command displays the constant ζ lines in the complex z -plane. The grid
command additionally displays constant frequency (ω ) contours that are helpful in selecting a suitable sampling time (T )
n

given the natural frequency of the model. The desired region in the z -plane for closed-loop root locations may be specified as:
0.1π ≤ ω T ≤ 0.5π,
n ζ ≥ 0.6, which assumes a sampling frequency between 2 and10 times the natural frequency of the

analog system.

Example 7.7.1
Let G(s) =
1

s(s+1)
, T = 0.2s ; then, we have: G(z) =
0.0187z+0.0175

(z−1)(z−0.819)
. Assume that the design specifications call for
ζ = 0.7 .
The closed-loop pulse characteristic polynomial is obtained as:
2
Δ(z) = z + (0.0187 K − 1.819)z + 0.0175 K + 0.819.

From the z-plane RL plot (Figure 7.10), we can choose, e.g., K = 0.46 , to have ζ = 0.7 . The resulting pulse
characteristic polynomial is: Δ(z) = z − 1.81z + 0.827, with closed-loop roots located at: z = 0.9 ± j0.09. The use of
2

MALTAB ‘damp’ command shows a damping ratio of ζ = 0.7 with a natural frequency ω = 0.68 rad/s. n

For comparison, the continuous-time system has a characteristic polynomial: Δ(s) = s 2


+ s + K, ; for K = 0.46 , the
closed-loop roots are located at s = 0.5 ± j0.46 with ζ = 0.74 with ω = 0.68 rad/s. n

The step responses of analog and discrete systems are compared in Figure 7.10.

Figure 7.10: Root locus design in the z-plane (left); step response of the closed-loop system (right).
Design for Settling Time and Damping Ratio
The settling time and the damping ratio of the dominant closed-loop roots in the z -plane are related as:
−−−− −
±jθ −ζωn T ±jωd T 2
re =e e , ωd = ωn √1 − ζ .

By separating into real and imaginary part gives two equations: ln r = −ζ ωn T and θ = ω dT , which can be solved to obtain:
− −−−−−− −
√ 2 2
ζ = − ln r/ ln r + θ (7.7.1)

− −−−−−− −
√ 2 2
ωn = ln r + θ /T (7.7.2)

1 T
τ = =− . (7.7.3)
ζωn ln r

Kamran Iqbal 9/13/2020 7.7.1 https://eng.libretexts.org/@go/page/24423


Example 7.7.2
Let G(z) =
0.0187z+0.0175

(z−1)(z−0.819)
. The closed-loop pulse characteristic polynomial is obtained as:
2
Δ(z) = z + (0.0187 K − 1.819)z + 0.0175 K + 0.819.

For ζ = 0.7 , the z -plane closed-loop roots are located at: z = 0.905 ± j0.0875 = 0.91 e
±j0.096
. Then, from the above
relations, we obtain: ζ = 0.7, ω = 0.74, τ = 2.1 s, t = 4.6 τ = 9.5 s.
n s

7.7.3 A Comparison of Analog and Digital Controllers


In this section, we compare the root locus design of analog and digital controllers in the case of a DC motor model.

Example 7.7.3
A DC motor model is described as: G (s) = 2
500

s +110s+1025
; the design specifications are for the motor step response to
have: OS ≤ 10% (ζ ≥ 0.59),   t ≤ 100ms,   e(∞) | s step
= 0.

The sampling time is selected as: T = 0.01s ; then, from the MATLAB ‘c2d’ command, the motor pulse transfer function
is obtained as: G (z) = 0.0178z+0.0123

z 2 −1.27z+0.333
.

The s -plane root locus plot (Figure 7.11) shows a range of K < 8.55 for stability. We may choose, e.g., K = 8 , to obtain:
τ ≅24ms .

K(s+10)
Further, we choose a PI controller: K (s) = s
, to obtain zero steady-state error.
A comparable PI controller for the sampled-data system is obtained by using the transformation: z = e Ts
, and is given as:
K(z−0.905)
K (z) =
z−1
.
For K = 8 , the resulting closed-loop transfer functions for analog and discrete system are obtained as:
4000(s+10)
Analog: T (s) = 3 2
s +110 s +5025s+40,000

2
0.14 z −0.03z−0.089
Discrete: T (z) = z
3
−2.13 z
2
+1.57z−0.42

The use of the MATLAB ‘damp’ command shows a damping of ζ = 0.79 for the analog system and a damping of
ζ = 0.68 for the digital system.

The step responses of the analog and discrete systems are compared in Figure 7.12. As seen from the figure, both analog
and discrete systems meet the settling time and overshoot requirements.

Figure 7.11: Root locus design of the DC motor model: analog system design (left); sampled-data system design (right).
Figure 7.12: Step response of the DC motor for the analog and discrete controller design.
MATLAB Tuned PID Controller Design
The MATLAB ‘pidtune’ command can be used with both analog and discrete system models. The PID controller design in the
case of a DC motor is explored in the next example.

Example 7.7.4
Let G (s) = 2
s +110s+1025
500
; the design specifications are for the motor step response to have:
OS ≤ 10% (ζ ≥ 0.59),   ts ≤ 100ms,   e(∞) | step = 0.

Let T = 0.01s ; from the MATLAB ‘c2d’ command, the motor pulse transfer function is obtained as:
0.0178z+0.0123
 G (z) =
z
2
−1.27z+0.333
.

By using the MATLAB ‘pidtune’ command, an analog PID controller for the DC motor model with a crossover frequency
of 100rad/s is obtained as: K (s) = 25.1 + 0.189s + . 567

Kamran Iqbal 9/13/2020 7.7.2 https://eng.libretexts.org/@go/page/24423


The ‘pidtune’ command is used to design a similar PID controller for the discrete model. The result is:
K (z) = 23.4 + 0.368 (
z−1

T
) + 202 (
T

z−1
) .

The unit-step responses of the closed-loop systems for the analog and discrete models are compared in Figure 7.13. Both
controller achieve a settling time t < 0.1s with no steady-state error.
s

Figure 7.13: Step response of the DC motor for the analog and discrete PID controller design.

Kamran Iqbal 9/13/2020 7.7.3 https://eng.libretexts.org/@go/page/24423


7.2: Pulse Transfer Function
7.2.1 Zero-Order Hold
A zero-order hold (ZOH) reconstructs a piece-wise constant signal from a number sequence and represents a model of the
digital-to-analog converter (DAC).
Assuming that the input to the ZOH is a sampled signal, r(kT ) = r(t)| t=kT
, its output is given as:
r(t) = r((k − 1)T ) f or (k − 1)T ≤ t < kT (7.2.1)

The output of the ZOH to an arbitrary input, r (kT ), is a staircase reconstruction of the analog signal, r(t).
The impulse response of the ZOH is square pulse (Figure 7.2): g ZOH (t) = 1, 0 < t < 1 .
By applying Laplace transform to the ZOH impulse response, its transfer function is obtained as:
−sT −sT
1 e 1 −e
GZOH (s) = − = (7.2.2)
s s s

Further, the frequency response function of the ZOH is given as:


−jωT
1 −e sin(ωT /2)
−jωT /2
GZOH (ω) = =T e (7.2.3)
jω ωT /2

Thus, the frequency response of the ZOH is a sinc function with a phase delay. When placed in the feedback loop, the added
phase from the ZOH reduces the available phase margin, adversely impacting closed-loop stability.
Specifically, let ω gc denote the gain crossover frequency; then, the phase margin is reduced by ω gc T /2.

The acceptable degradation in the PM can be used to select the sample time, T . For example, if we want to limit the PM

degradation to 5 (0.087 rad), the sampling time may be selected as: T ≤



. 0.175

ωgc

Figure 7.2: Impulse response of the ZOH.

7.2.2 The Pulse Transfer Function


We use z -transform to obtain a transfer function description of the plant cascaded with the ZOH. The result is the pulse
transfer function, G(z) , that is valid at the sampling intervals.
The pulse transfer function of a continuous-time plant, G(s) , is obtained as:
−sT
1 −e G(s)
−1
G(z) = z { G(s)} = (1 − z )z { } (7.2.4)
s s

G(s)
where z { s
} denotes the z -transform of a sequence obtained by sampling ∫ g (t) dt .

Example 7.2.1
Let G(s) = a

s+a
; then G(z) = (1 − z −1
) z{
a

s(s+a)
} = (1 − z
−1
)z {
1

s

1

s+a
}.

−a T

By using the z -transform table, we obtain: G(z) = z−1

z
(
z

z−1

z−e
z
−a T
) =
1−e

z−e
−a T
.

As an example, let G(s) =


1

s+1
, T = 0.2s . Then, the pulse transfer function is obtained as: G(z) =
0.181

z−0.819
, or
−0.2

G(z) =
1−e

z−e
−0.2
.

Example 7.2.2

9/13/2020 7.2.1 https://eng.libretexts.org/@go/page/28725


1/a 1/a
Let G(s) = a

s(s+a)
; then G(z) = (1 − z −1
) z{ 2
a

s (s+a)
} = (1 − z
−1
)z {
1
2
s

s
+
s+a
} .
−a T −a T
aT (z−e )−(z−1)(1−e )
By using the z-transform table, we obtain: G(z) = z−1

z
[
Tz
2

1

a
(
z

z−1

z−e
z
−a T
)] =
a(z−1)(z−e
−a T
)
.
(z−1)

0.0187(z+0.936)
As an example, let G(s) = 1

s(s+1)
, T = 0.2s; then, the pulse transfer function is obtained as: G(z) = (z−1)(z−0.819)
.

From the above examples, we observe that:


1. The order of the pulse transfer function, i.e., the degree of the denominator polynomial inG(z) , matches that of the
continuous-time transfer function, G(s) .
2. The poles of the pulse transfer function are related to the transfer function poles as: z = e . i
si T

3. The pulse transfer functions of the second and higher order systems additionally includes finite zeros.
In the MATLAB Control Systems Toolbox, the pulse transfer function is obtained by using the “c2d” command and specifying
a sampling time (T ). The command is invoked after defining the continuous-time transfer function model.
s

The choice of the sampling time is guided by the natural frequency of the system. In particular, we may choose Ts ≪ 1/ ωn ,
where ω represents the natural frequency.
n

9/13/2020 7.2.2 https://eng.libretexts.org/@go/page/28725


CHAPTER OVERVIEW
8: STATE VARIABLE MODELS
Learning Objectives

Analyze the state variable models of single-input single-output dynamic systems.


Solve state equations in time-domain using the state-transition matrix.
Obtain the modal matrix and determine the stability of the model.
Obtain state-space realization of a transfer function model in alternate forms.

8.0: PRELUDE TO STATE VARIABLE MODELS


8.1: STATE VARIABLE MODELS
8.3: REALIZATION OF TRANSFER FUNCTION MODELS
8.4: LINEAR TRANSFORMATION OF STATE VARIABLES
8.2: STATE-TRANSITION MATRIX AND ASYMPTOTIC STABILITY

1 10/11/2020
8.0: Prelude to State Variable Models
This chapter discusses algebraic methods to analyze the state variable models of dynamic systems. These models comprise a
set of first-order linear differential equations that describe the system behavior using system state variables. A common choice
includes the natural variables associated with the energy storage elements present in the system. Alternate variables in equal
number can also be selected.
The state equations include a set of coupled first-order ODE’s that describe the behavior of the system. The state equations can
be collectively integrated using a matrix exponential, i.e., the state-transition matrix, as an integrating factor. The state-
transition matrix contains natural modes of system response and plays a fundamental role in the evolution of system
trajectories. The general solution to the homogeneous state equations is a weighted sum of the columns of the state-transition
matrix.
Given a state variable model of the system, a transfer function representation can be obtained by applying the Laplace
transform. Generally, the degree of the denominator polynomial in the transfer function model equals the number of state
variables used to represent it. A pole-zero cancellation in the transfer function would, however, cause some of the response
modes to be absent from the input-output system description.
A given transfer function model can be realized into a state variable model in multiple ways. Different choices of state
variables accord different structures to the system matrix. Specific realization structures may be preferred for ease of
computing the system response or determining its stability characteristics.
The modal realization reveals the natural modes of system response. The controller realization facilitates the controller design
using state variable methods. The diagonal representation decouples the system variables into a set of independent first-order
ordinary differential equations (ODEs) that can be easily integrated. The state variable vectors for these alternate models are
related through bilinear transformations.
This chapter describes the analysis techniques for state variable models of the continuous-time systems. The discrete-time
system models are covered later in Chapter 8. The analysis is restricted to the single-input single-output (SISO) systems, that
exhibit a rational transfer function, G (s) . The methods, however, can be generalized to include multi-input multi-output
(MIMO) systems.

9/13/2020 8.0.1 https://eng.libretexts.org/@go/page/24461


8.1: State Variable Models
8.1.1 The State Equations
The state variable model of a dynamic system comprises first-order ODEs that describe time derivatives of a set of state
variables. The number of state variables represents the order of the system, which is assumed to match the degree of the
denominator polynomial in its transfer function description.
The natural variables associated with the energy storing elements are commonly used as state variables, though alternate
variables can be selected. The natural variables include, for example, capacitor voltage and inductor current in the electrical
networks, and position and velocity of the inertial mass in the mechanical systems.
Let x(t) describe a vector of state variables, u(t) describe a scalar input, and y(t) describe a scalar output; then the state
variable model of a linear time-invariant (LTI) single-input single-output (SISO) system is written in its generic form as:
ẋ(t) = Ax(t) + bu(t) (8.1.1)

T
y(t) = c x(t) + du(t) (8.1.2)

In the above, A is an n × n matrix, b is a column vector that distributes the inputs, c is a row vector that combines the state T

variables to form the output, and d is a scalar feedforward term contributing to the output.
The state variable model of a multi-input multi-output (MIMO) system with m inputs and p outputs is described by the state
and output equations given as:

ẋ(t) = Ax(t) + Bu(t) (8.1.3)

T
y(t) = C x(t) + Du(t) (8.1.4)

In the above, the variable dimensions are: x ∈ R ,  u ∈ R


n m
,   and y ∈ R
p
; the matrices have the following dimensions:
A ∈ R
n×n n×m
,  B ∈ R ,  C ∈ R
p×n
,  and D ∈ R
p×m
.
In the following, we restrict our attention to models of SISO systems. Unless noted otherwise, d =0 is assumed, which
corresponds to a strictly proper transfer function description of the system.

8.1.2 Solution to the State Equations


In order to explore a time-domain solution to the state equations, we begin with a scalar differential equation:

ẋ(t) = ax(t) + bu(t). (8.1.5)

Using an integrating factor, e −at


, the equation is written as total differential:
d
−at −at
(e x(t)) = e bu(t) (8.1.6)
dt

Next, assuming an initial conditions: x (0) = x , we integrate from τ


0 =0 to τ =t to obtain:
τ
−at −aτ
e x(t) − x0 = ∫ e bu(τ )dτ (8.1.7)
0

Hence, the solution to the scalar ODE in terms of x(t) is obtained as:
τ
at a(t−τ)
x(t) = e x0 + ∫ e bu(τ )dτ (8.1.8)
0

Further, the solution to homogeneous equation: ẋ (t) = ax (t) is given as: x (t) = e at
x0 .

Next, we explore the possibility to generalize this solution to the matrix case. For this purpose, we define a matrix exponential
function as:
∞ i i
A t
At
e =∑ = I + At + … (8.1.9)
i!
i=0

Kamran Iqbal 9/13/2020 8.1.1 https://eng.libretexts.org/@go/page/24425


The infinite series converges in the case of systems that are well-behaved. Further, the matrix exponential obeys the matrix
differential equation:
d At At At
(e ) = Ae =e A (8.1.10)
dt

Using the matrix exponential, the solution to the matrix differential equation, ẋ(t) = Ax(t) + bu(t) , is written as:
τ
At A(t−τ)
x(t) = e x0 + ∫ e bu(τ )dτ (8.1.11)
0

The above solution has two parts: the first term describes the system response to initial conditions x0 , while the second term
describes the system response to an input, u(t).

8.1.3 Laplace Transform Solution


Consider the state equation:
ẋ(t) = Ax(t) + bu(t), x (0) = x0 ; (8.1.12)

Apply the Laplace transform to obtain:


sx(s) − x0 = Ax(s) + bu(s). (8.1.13)

The state variable vector is solved as:


−1 −1
x(s) = (sI − A ) x0 + (sI − A ) bu(s), (8.1.14)

where I denote an n × n identity matrix.


The n × n matrix (sI − A) is called the characteristic matrix of A. Its determinant defines the characteristic polynomial
of A, i.e., Δ(s) = |sI − A| . The roots of the characteristic polynomial are the eigenvalues of A.
The n × n matrix (sI − A) −1
is called the resolvent matrix of A. The resolvent of A can be computed as an infinite series:
−1 −1 −1
(sI − A ) =s (I + s A + …) (8.1.15)

By comparing the Laplace transform solution with the time-domain solution, we arrive at the following relations:
At −1
L[ e ] = (sI − A ) (8.1.16)

τ
A(t−τ) −1
L [∫ e bu(τ )dτ ] = (sI − A ) bu(s) (8.1.17)
0

The first equation above can be used to compute the matrix exponential:
At −1 −1
e =L [(sI − A ) ] (8.1.18)

The second equation is used to solve for the output response when initial conditions are zero:
T −1
y(s) = c (sI − A ) bu(s) (8.1.19)

The State-Transition Matrix


Consider the homogenous system of equations: ẋ(t) = Ax(t) and x(0) = x0 .
The solution to the homogenous state equation is given as: x(t) = e At
x0 .
The matrix exponential e that relates x to x(t) is termed as the state-transition matrix. The state-transition matrix contains
At
0

the natural modes of system response.


Transfer Function
The output response of the state variable model defines the transfer function: y(s) = G(s)u(s) , where
adj(sI − A)
T −1 T
G(s) = c (sI − A ) b =c b (8.1.20)
det(sI − A)

In the case of a MIMO system, G (s) represents a p × m transfer matrix, given as:

Kamran Iqbal 9/13/2020 8.1.2 https://eng.libretexts.org/@go/page/24425


−1
G(s) = C(sI − A ) B+D (8.1.21)

Alternatively, the transfer matrix of a MIMO system can be obtained as:


sI − A −B
det [ ]
C D
G(s) = (8.1.22)
det(sI − A)

Assuming no pole-zero cancelations in G (s) , the characteristic polynomial matches the denominator polynomial.In the event
of pole-zero cancelations, the order of the denominator polynomial, d (s) , is less than n , i.e., the zeros of d (s) form a subset
of the eigenvalues of A.

Example 8.1.1
Consider the mass–spring–damper model (Example 1.9.2), where mass position, x(t) , and velocity, v(t) = ẋ(t) are
selected as state variables; then, the state output equations are given as:

d x 0 1 x 0 x
[ ] =[ ][ ]+[ ] f, x =[1 0][ ] (8.1.23)
k b 1
dt v − − v v
m m m

s −1
The characteristic matrix of the model is given as: sI − A = [ k b
] .
s+
m m

s + b/m 1
The resolvent of A is computed as: (sI − A ) −1
=
Δ(s)
1
[ ]; Δ(s) = s
2
+
b

m
s+
k

m
.
−k/m s

The transfer function of the model is computed as:

1 s + b/m 1 1 1
G(s) = =[0 1][ ][ ] = (8.1.24)
1 2
Δ(s) −k/m s ms + bs + k
m

Example 8.1.2
Consider the model of a DC motor (Example 1.9.3), where armature current, i a (t) , and motor speed, ω(t) , are selected as
state variables; the state and output equations of the DC motor are given as:
d ia −R/L −kb /L ia 1/L ia
[ ] =[ ][ ]+[ ] Va , ω =[0 1][ ] (8.1.25)
dt ω kt /J −b/J ω 0 ω

Assume that the following parameter values be assumed:


R = 1Ω, L = 1 mH , J = 0.01 kg ⋅ m , b = 0.1
2 N ⋅s

rad
, kt = kb = 0.05 . Then, the state variable model of the motor is
given as:
d ia −100 −5 ia 100 ia
[ ] =[ ][ ]+[ ] Va , ω =[0 1][ ] (8.1.26)
dt ω 5 −10 ω 0 ω

The resolvent matrix and the motor transfer function is obtained as follows:

−1
1 s + 10 −5 2
(sI − A ) = [ ]; Δ(s) = s + 110s + 1025 (8.1.27)
Δ(s) 5 s + 100

500
T −1
G(s) = c (sI − A ) b = (8.1.28)
2
s + 110s + 1025

Impulse Response
Consider the state equation:
T
ẋ(t) = Ax(t) + bu(t), y(t) = c x (8.1.29)

Kamran Iqbal 9/13/2020 8.1.3 https://eng.libretexts.org/@go/page/24425


For x 0 =0 , the input response of the system is obtained as:
T −1
y (s) = G (s) u (s) = c (sI − A) bu(s) (8.1.30)

Let u (t) = δ (t) ,   u (s) = 1 ; then, the system response is given as:
T −1
yimp (s) = G(s) = c (sI − A) b (8.1.31)

The impulse response in the time-domain is obtained as:


−1 T At
g (t) = L [G(s)] = c e b (8.1.32)

In terms of the impulse response, the system output is given by the convolution integral:
t

y (t) = ∫ g (t − τ ) u (τ ) dτ (8.1.33)
0

Step Response
Let u (t) = 1 (t) ,   u (s) = 1

s
. Then, we have:
T −1
sx (s) = c (sI − A) b (8.1.34)

The unit-step response in time-domain is obtained as:


t
T A(t−τ)
ystep (t) = c (∫ e dτ ) b (8.1.35)
0

Alternatively, the step response represents the integral of the impulse response:
t

ystep (t) = ∫ g (t − τ ) dτ (8.1.36)


0

Exercise 8.1.3
The state and output equations for the model of a dc motor are:
d ia −100 −5 ia 100 ia
[ ] =[ ][ ]+[ ] Va , ω = [ 0 1][ ] (8.1.37)
dt ω 5 −10 ω 0 ω

The state-transition matrix for the dc motor model is obtained as:

At
1.003 0.056 −99.72t
−0.003 −0.056 −10.28t
e =[ ]e +[ ]e (8.1.38)
−0.056 −0.003 0.056 1.0003

The impulse response of the DC motor is computed as:


T At −99.7t −10.3t
g (t) = c e b = 5.6 (e −e ) (8.1.39)

where {e −99.72t
, e } represent the system’s natural response modes that correspond to the electrical and mechanical
−10.28t

time constants of the DC motor: τ ≅0.01s, τ ≅0.1s .


e m

Assuming V a (t) = u (t) , the step response of the DC motor is computed as:
t
−99.7t −10.3t
y (t) = ∫ g (t − τ ) dτ = 0.488 + 0.056 e − 0.544 e (8.1.40)
0

The impulse and the step responses are plotted below (Figures 8.1).

Figure 8.1: The DC motor model: impulse response; step response.

Kamran Iqbal 9/13/2020 8.1.4 https://eng.libretexts.org/@go/page/24425


8.3: Realization of Transfer Function Models
8.3.1 Simulation Diagrams
We consider the problem of realizing a given transfer function model as a state variable model. As the choice of state variables
is not unique, this can by done in multiple ways. The process is facilitated by first drawing a simulation diagram for the
system.
A simulation diagram realizes an ODE model into a block diagram representation using static gains, integrators, summing
nodes, and feedback loops. Historically, such diagrams were used to simulate dynamic system models on analog computers.
Given a transfer function, its two common realizations are described below.
Serial Realization
A serial chain of integrators can be used to realize the output of an ODE. To illustrate this idea, we consider a general second-
order system model described as:
y (s) K
= (8.3.1)
2 2
u (s) s + 2ζ ωn s + ωn

The transfer function is converted into an ODE representation by cross multiplying followed by inverse Laplace transform to
obtain:
2
ÿ (t) + 2ζ ωn ẏ (t) + ωn y (t) = Ku (t) (8.3.2)

The above equation is rearranged to form the highest derivative as:


2
ÿ (t) = −2ζ ωn ẏ (t) − ωn y (t) + Ku (t) (8.3.3)

The simulation diagram realizes the highest derivative using a summing node and uses a series of integrators to obtain the
lower order derivatives up to the output (Figure 8.3).
Parallel Realization
Consider a second-order transfer function with real roots:
y (s) K
= (8.3.4)
2
u (s) s + (σ1 + σ2 ) s + σ1 σ2

The transfer function is expanded into partial fractions expansion (PFE) to obtain:
K1 K2
y(s) = u(s) + u(s) (8.3.5)
s + σ1 s + σ2

Thus, in parallel realization, the output is expressed as: y (s) = y1 (s) + y2 (s) ; the two output components are formed by
ODEs that share a common input, u (t):
σi ẏ (t) + yi (t) = Ki u (t) ,   i = 1, 2 (8.3.6)
i

These ODEs are realized into a parallel simulation diagram (Figure 8.3).
Figure 8.3: Simulation diagrams to realize a second-order transfer function: serial realization (top); parallel realization
(bottom).
Having drawn a simulation diagram, we designate the outputs of the integrators as state variables and express integrator inputs
as first-order differential equations, referred as the state equations.
A serial realization acquires a controller form structure; a parallel realization acquires a modal structure. These are discussed
below.

8.3.2 Controller Form


A controller form state variable structure results from a serial realization of the transfer function model. This is illustrated
using a third-order transfer function model:

Kamran Iqbal 9/13/2020 8.3.1 https://eng.libretexts.org/@go/page/24426


2
b1 s + b2 s + b3
G(s) = (8.3.7)
3 2
s + a1 s + a2 s + a3

The above transfer function corresponds to the following ODE:


...
y (t) + a1 ÿ (t) + a2 ẏ (t) + a3 y(t) = b1 ü(t) + b2 u̇(t) + b3 u(t) (8.3.8)

To remove the derivatives of the input variable from the simulation diagram, an auxiliary variable, v(t) , is used to split the
ODE as:
...
v (t) + a1 v̈ (t) + a2 v̇ (t) + a3 v(t) = u(t) (8.3.9)

y(t) = b1 v̈ (t) + b2 v̇ (t) + b3 v(t) (8.3.10)

The highest derivative term in the first ODE is realized using a summing node:
...
v (t) = −a1 v̈ (t) − a2 v̇ (t) − a3 v(t) + u(t) (8.3.11)

The lower order derivative terms, v̈ (t) and v̇ (t) , and the output, v (t) , are realized using integrators.
The second ODE can be realized by summing the outputs of the integrators using coefficients as weights (Figure 8.4).
Next, the state variables are designated as: x 1 (t) = v(t), x2 (t) = v̇ (t), x3 (t) = v̈ (t) .
The resulting state equations are:
ẋ1 = x2 , (8.3.12)

ẋ2 = x3 ,

ẋ3 = −a3 x1 − a2 x2 − a3 x3 + u

The output equation is given as:


y = b1 x1 + b2 x2 + b3 x3 (8.3.13)

In vector–matrix form, the state variable model is given as:


x1 0 1 0 x1 0 x1
⎡ ⎤ ⎡ ⎤⎡ ⎤ ⎡ ⎤ ⎡ ⎤
d
⎢ x2 ⎥ = ⎢ 0 0 1 ⎥ ⎢ x2 ⎥ + ⎢ 0 ⎥ u, y = [ b1 b2 b3 ] ⎢ x2 ⎥ (8.3.14)
dt
⎣ ⎦ ⎣ ⎦⎣ ⎦ ⎣ ⎦ ⎣ ⎦
x3 −a3 −a2 −a1 x3 1 x3

Figure 8.4: Simulation diagram for controller form realization of the transfer function model.
Generalization to n Variables
n(s)
The controller form realization is generalized to n variables as follows: let G (s) =
d(s)
, where
d(s) = s
n
+ a1 s
n−1
+ … + an−1 s + an represents the denominator polynomial.
By selecting the output variable and its derivatives: y(t), ẏ (t), … , y
(n−1)
, as state variables, we obtain the following
(t)

controller form structure:

0 1 0 … 0
⎡ ⎤ ⎡ ⎤
⎢ 0 0 1 … ⎥ ⎢ 0 ⎥
⎢ ⎥
A =⎢ ⎥, b =⎢ ⎥ (8.3.15)
⎢ ⎥ ⎢ ⎥
⎢ ⋮ ⋮ ⎥ ⎢ ⋮ ⎥
⋱ 1
⎣ ⎦ ⎣ ⎦
−an −an−1 … −a1 1

Further, let n (s) = b 0s


m
+ b1 s
m−1
+ ⋯ + bm represent the numerator polynomial; then, the output matrix is formed as:
T
c = [ b0 b1 … bm ] (8.3.16)

In the above controller form structure, the coefficients of the characteristic polynomial appear in reverse order in the last row
of the system matrix, whereas the output matrix contains the coefficients of the numerator polynomial. Hence, given a proper
transfer function, G(s) , the controller form can be written by inspection.

Kamran Iqbal 9/13/2020 8.3.2 https://eng.libretexts.org/@go/page/24426


Example 8.3.1
y(s)
A mass–spring–damper system is described by the following transfer function: G (s) =
u(s)
= 2
s +2s+2
1
. The controller
form state variable model is given as:
d x1 0 1 x1 0 x1
[ ] =[ ] [ ]+[ ] u, y =[1 0] [ ] (8.3.17)
dt x2 −2 −2 x2 1 x2

Alternate Controller Form Structure


The integrator outputs in the simulation diagram can be alternatively numbered left to right; this reorders the state
variables whereby the coefficients of the characteristic polynomial appear in the first row of the matrix. For a third-order
model, the resulting equations are:

ẋ3 = −a1 x1 − a2 x2 − a3 x3 + u, (8.3.18)

ẋ2 = x1

ẋ3 = x2

The alternate controller form is obtained by using 'ss' command with a given transfer function in the MATLAB Control
Systems Toolbox.

Example 8.3.2
y(s)
A mass–spring–damper system is described by the following transfer function: G (s) =
u(s)
= 2
s +2s+2
1
. The controller
form state variable model is given as:
d x1 −2 −2 x1 1 x1
[ ] =[ ] [ ]+[ ] u, y =[0 1] [ ] (8.3.19)
dt x2 1 0 x2 0 x2

The state variables are numbered in reverse order. Hence, x1 represents the velocity and x2 the position of the inertial
mass.

8.3.3 Dual (Observer Form) Realization


Assume that a state variable realization of the transfer function model is given as:
T
ẋ(t) = Ax(t) + bu(t), y(t) = c x(t) (8.3.20)

Its dual realization is defined by the following state variable model:


T T
ż (t) = A z(t) + cu(t), y(t) = b z(t) (8.3.21)

Both the original and the dual models share the same scalar transfer function, i.e.,
−1
T −1 T T T
G(s) = c (sI − A) b =b (sI − A ) c =G (s) (8.3.22)

When the original state variable model is in controller form, its dual appears in the ‘observer form,’ named so because of its
use in the design of state observers.
In the MATLAB Control Systems Toolbox, the 'canon' command with 'companion' option is used to obtain the observer form
realization.
G=tf(num, den); % define plant transfer function
canon(G,’companion’) % transform into companion form

Example 8.3.3
y(s)
A mass–spring–damper system is described by the following transfer function: G (s) =
u(s)
= 2
s +2s+2
1
. The observer
form state variable model is given as:

Kamran Iqbal 9/13/2020 8.3.3 https://eng.libretexts.org/@go/page/24426


x1 0 −2 x1 1 x1
dt [ ] =[ ] [ ]+[ ] u, y =[0 1][ ]. (8.3.23)
d x2 1 −2 x2 0 x2

From the output equation, the state variable x represent the position of the inertial mass. From the first state equation,
2

ẋ = −2 x + u , the variable x includes an integral of position.


1 2 1

8.3.4 Modal Realization


A modal realization has a block diagonal structure consisting of 1 × 1 and 2 × 2 blocks that contain real and complex
eigenvalues. A PFE is used to isolate first and second-order factors in the transfer function model.
In the PFE, the denominator of a second-order factor, expressed as (s + σ ) 2

2
, can be realized as a 2 × 2 block containing
σ ω
the real and imaginary parts of the eigenvalue as: Ai = [ ] . Alternately, a second-order factor can be realized in the
−ω σ

serial form, as illustrated in the following example.


In the MATLAB Control Systems Toolbox, a modal realization is obtained by using the ‘canon’ command with 'modal' option.
G=tf(num, den); % define plant transfer function
canon(G,’modal’) % obtain modal form realization

Example 8.3.4
Consider the following third-order model with one real and two complex poles. Use the PFE to obtain:
2
2(s + s + 1) 3 s+2
G(s) = = − (8.3.24)
2 2
(s + 2)(s + 2s + 2) s+2 (s + 2s + 2)

A serial realization of the second-order term results in the following modal realization:

x1 −2 0 0 x1 1 x1
⎡ ⎤ ⎡ ⎤⎡ ⎤ ⎡ ⎤ ⎡ ⎤
d
⎢ x2 ⎥ = ⎢ 0 0 1 ⎥ ⎢ x2 ⎥ + ⎢ 0 ⎥ u, y =[3 −2 −1 ] ⎢ x2 ⎥ (8.3.25)
dt
⎣ ⎦ ⎣ ⎦⎣ ⎦ ⎣ ⎦ ⎣ ⎦
x3 0 −2 −2 x3 1 x3

Alternately, the modal realization includes the real and imaginary parts of the complex eigenvalue. The resulting state
variable model is given as:

x1 −2 0 0 x1 1 x1
⎡ ⎤ ⎡ ⎤⎡ ⎤ ⎡ ⎤ ⎡ ⎤
d
⎢ x2 ⎥ = ⎢ 0 −1 1 ⎥ ⎢ x2 ⎥ + ⎢ 0 ⎥ u, y =[3 −1 −1 ] ⎢ x2 ⎥ (8.3.26)
dt
⎣ ⎦ ⎣ ⎦⎣ ⎦ ⎣ ⎦ ⎣ ⎦
x3 0 −1 −1 x3 1 x3

We can verify that the two modal realizations share the same transfer function.

Diagonalization and Decoupling


When the denominator polynomial in the transfer function model has real and distinct roots, its modal matrix is a diagonal
matrix with eigenvalues on the main diagonal. The resulting state equations are described by a set of decoupled first-order
ODEs that can be easily integrated.

Example 8.3.5
The transfer function model of a small DC motor, given as: G (s) = 500

s2 +10s+1025
.

A PFE of the transfer function gives:  G (s) = 5.59 [ 1

s+10.28

s+99.72
1
] .

A modal realization is obtained as:


ẋ1 −99.72 0 x1 1 x1
[ ] =[ ][ ]+[ ] Va , ω = [ −5.59 5.59 ] [ ] (8.3.27)
ẋ2 0 −10.28 x2 1 x2

Kamran Iqbal 9/13/2020 8.3.4 https://eng.libretexts.org/@go/page/24426


The decoupled state and output equations representing the DC motor model are given as:
ẋ1 (t) = −99.72 x1 (t) + Va (8.3.28)

ẋ2 (t) = −10.28 x2 (t) + Va (8.3.29)

ω (t) = 5.59 (x2 (t) − x1 (t)) (8.3.30)

The state variables in the above diagonal realization represent linear combinations of the original variables.

Kamran Iqbal 9/13/2020 8.3.5 https://eng.libretexts.org/@go/page/24426


8.4: Linear Transformation of State Variables
8.4.1 Linear State Transformation
This section describes a general procedure to transform a state variable model into an alternate model using new state variables
that are linear combinations of the original variables.
Consider the general state variable model of a SISO system, described as:
ẋ(t) = Ax(t) + bu(t) (8.4.1)

T
y(t) = c x(t) (8.4.2)

Define a bilinear transformation of the state variable vector, x(t), by multiplying with a constant invertible matrix P , resulting
in a new set of state variables, z(t) :
−1
z = P x, x =P z (8.4.3)

Substitute the above relations in the state and output equations:


−1 −1 T −1
P ż = AP z + bu, y =c P z (8.4.4)

Multiplying on the left by P results in a new state variable model:


−1 T −1
ż = P AP z + P bu, y =c P z (8.4.5)

The two models share the same transfer function, i.e.,


T −1 −1 −1 T −1
G(s) = c P (sI − P AP ) Pb = c (sI − A) b (8.4.6)

Next, we explore the possibility to impart a desired structure to the system matrix through linear transformation of the state
variables.
Define A
¯
= P AP
−1
,
¯
b = Pb ; then, the first equation is expressed as: A
¯
P = PA .
Given A, b , and the desired structure of A ¯
, b̄ , the above relations may be used to define the transformation matrix, P . In
particular, the transformation to the controller and modal forms is explored below.

8.4.2 Transformation into Controller Form


A necessary condition to obtain a linear transformation matrix P to convert a state variable model into controller form is that
the model is controllable, i.e., the following n × n controllability matrix has full rank:
n−1
MC = [b, Ab, … , A b] (8.4.7)

The controllability matrix is guaranteed to be of full rank if the transfer function description of the model has the same order,
n , as the number of state variables used to describe the system, i.e., there are no pole-zero cancelations in the transfer function,

b .
T −1
G (s) = c (sI − A)

Next, assume that the controllability matrix, M , of pair (A, b) is of full rank. Let M denote the controllability matrix of
C CF

the controller form representation (A , b ), where M


¯ ¯
contains the coefficients of the characteristic polynomial and can be
CF

written by inspection. Then, the required transformation matrix is defined by:


−1 −1
Q =P = MC M (8.4.8)
CF

Example 8.4.1
The state and output equations for a small DC motor model are given as:
d ia −100 −5 ia 100 ia
[ ] =[ ][ ]+[ ] Va , ω =[0 1][ ] (8.4.9)
dt ω 5 −10 ω 0 ω

Kamran Iqbal 9/13/2020 8.4.1 https://eng.libretexts.org/@go/page/24427


4
100 −10
The controllability matrix for the model is formed as: M C = [b, Ab] = [ ] .
0 500

As the controllability matrix is of full rank, the dc motor model is controllable.


Next, from the transfer function description, G(s) = 2
500

s +110s+1025
, the controller form realization is obtained as:

0 1 0
ẋ = [ ]x +[ ] Va , ω = [ 500 0]x (8.4.10)
−1025 −110 1

0 1
The controllability matrix for the controller form realization is given as: M CF =[ ] .
1 −110

The state transformation matrix for the model is obtained as:

−1
1000 100 0 0.002
Q =P =[ ], P =[ ] (8.4.11)
500 0 0.01 −0.02

¯
¯¯¯
Indeed, A = P AQ matches the system matrix in the controller form.

8.4.3 Transformation into Modal Form


A matrix that has a full set of eigenvectors is diagonalizable by a linear transformation matrix when the eigenvectors of A are
selected as the columns of P . −1

In the event when A has complex eigenvalues, its eigenvectors are also complex. By placing the real and imaginary parts of
the complex eigenvector into separate columns of P , the resulting modal form matrix, A
−1 ¯
= P AP , b = P b , has real
¯ −1

entries.

Example 8.4.2
The state and output equations for a mass–spring–damper model are given as:
d x 0 1 x 0 x
[ ] =[ ] [ ]+[ ] u, y =[1 0][ ]. (8.4.12)
dt v −2 −2 v 1 v

1
The eigenvalues of the system matrix are: −1 ± j1 ; the complex eigenvectors are: [ ] .
1 ± j1

1 0 −1 1
By choosing P −1
=[ ] , the modal form system matrix is obtained as: P¯ = P AP −1
=[ ] .
−1 1 −1 −1

Example 8.4.3
The state variable model of a small DC motor is given as:
d ia −100 −5 ia 100 ia
[ ] =[ ][ ]+[ ] Va , ω = [ 0 1][ ] (8.4.13)
dt ω 5 −10 ω 0 ω

−0.9985 0.0556
We use MATLAB ‘eig’ command to obtain: V =P
−1
=[ ] . Then, the transformed state variable
0.0556 −0.9985

model has a diagonal structure.

ẋ1 −99.72 0 x1 −100.47 x1


[ ] =[ ][ ]+[ ] Va , ω = [ 0.056 −0.998 ] [ ] (8.4.14)
ẋ2 0 −10.28 x2 −5.6 x2

The decoupled system of equations can be easily integrated. Assuming a unit-step input, the state variables are solved as:
−t/99.72
x1 (t) = 1.0075 + (x10 − 1.0075)e (8.4.15)

−t/10.28
x2 (t) = 0.545 + (x20 − 0.545)e (8.4.16)

Kamran Iqbal 9/13/2020 8.4.2 https://eng.libretexts.org/@go/page/24427


where x 10 , x20 represent the initial conditions on state variables. The output is computed as:
ω(t) = 0.056 x1 (t) − 0.998 x2 (t) (8.4.17)

ia x1
The original state variables are recovered as: [ ] =P
−1
[ ] , i.e.,
ω x2

ia (t) = −0.9985 x1 (t) + 0.0556 x2 (t) (8.4.18)

ω (t) = 0.0556 x1 (t) − 0.9985 x2 (t) (8.4.19)

Kamran Iqbal 9/13/2020 8.4.3 https://eng.libretexts.org/@go/page/24427


8.2: State-Transition Matrix and Asymptotic Stability
8.2.1 State-Transition Matrix
Consider the homogenous state equation: ẋ(t) = Ax(t), x(0) = x0 .
The solution to the homogenous equation is given as: x(t) = e
At
x0 , where the state-transition matrix, e
At
, describes the
evolution of the state vector, x (t).
The state-transition matrix of a linear time-invariant (LTI) system can be computed in the multiple ways including the
following:
1. e At −1
=L [(sI − A )
−1
]
i i

2. e = ∑
At ∞

0
A t

i !

3. By using the modal matrix (see below)


4. By using the fundamental matrix
5. By using the Cayley–Hamilton theorem
Characteristic Polynomial of A
The characteristic polynomial of A is an n th order polynomial obtained as the determinant of (sI − A) , i.e.,
Δ(s) = |sI − A| . The roots of the characteristic polynomial are the eigenvalues of A .

The transfer function, G (s) , is expressed as:


adj (sI − A) n (s)
T
G (s) = c b = (8.2.1)
|sI − A| d (s)

Assuming no pole-zero cancelations in G (s) , the characteristic polynomial matches the denominator polynomial.In the event
of pole-zero cancelations, the order of the denominator polynomial, d (s) , is less than n , i.e., the zeros of d (s) form a subset
of the eigenvalues of A.
State-Transition Matrix in MATLAB
The state-transition matrix may be obtained by using the MATLAB Symbolic Math Toolbox. Assuming that an nxn matrix A
has been defined, the state-transition matrix can be obtained by issuing the following MATLAB commands:
syms t % declare symbolic variable t
eAt=expm(t*A) % get state-transition matrix

8.2.2 The Modal Matrix


Consider, again, the homogenous state equation: ẋ(t) = Ax(t), x(0) = x0 .
Assume that A has a full set of eigenvectors, that obey (λ iI − A) vi = 0,   i = 1, … , n , where λ denotes an eigenvalue of
i

A.

Let M = [v ,  v , ⋯ , v ] denote the modal matrix containing eigenvectors of A, e = diag ([ e , e , ⋯ , e ])


1 2 n
Λt λ1 t λ2 t λn t

define a diagonal matrix of the natural response modes, and let c denote a constant vector; then, the general solution to the
homogenous state equation is given as:
Λt
xh (t) = M e c (8.2.2)

Assuming a set of initial conditions: xh (0) = x0 = Mc ; we have, c =M


−1
x0 . Then, a particular solution to the
homogenous system is given as:
Λt −1
xh (t) = M e M x0 (8.2.3)

The state-transition matrix can be computed from the modal matrix as:
At Λt −1
e = Me M (8.2.4)

Modal Matrix in MATLAB

9/13/2020 8.2.1 https://eng.libretexts.org/@go/page/28736


The modal matrix is obtained by using the ‘eig’ command in MATLAB. The eigenvectors are normalized to unity. Further, the
state-transition matrix can be obtained from the modal matrix by issuing the following commands:
syms t real % declare symbolic variable t
[M,D]=eig(A); % modal matrix and eigenvalues
eAt=M*expm(t*D)/M % state-transition matrix

8.2.3 Asymptotic Stability


The asymptotic stability refers to the long-term behavior of the natural response modes of the system. These modes are
reflected in the state-transition matrix, e , . At

Consider the homogenous state equation: ẋ(t) = Ax(t), x(0) = x0 .

Definition: Asymptotic Stability


The homogenous state equation is said to be asymptotically stable if lim x(t) = 0 .
t→∞

Since x(t) = e At
x0 , the homogenous state equation is asymptotically stable if
lim e
At
=0 .
t→∞

Further, using modal decomposition, e At


= Me
Λt
M
−1
, the homogenous system is asymptotically stable if
lim e
Λt
=0 .
t→∞

Since e = diag ([ e , e , ⋯ , e ]), the above condition implies that


Λt λ1 t λ2 t λn t
Re [ λi ] < 0,  i = 1, … , n ,where λi

represents a root of the characteristic polynomial: Δ(s) = |sI − A| .

The computation of modal and state-transition matrices is illustrated for the cases when the characteristic polynomial, Δ(s) ,
has real or complex roots.

Example 8.2.1 : Polynomial with Real Roots


For the mass-spring-damper model, let m = 1, k = 2, and b = 3 ; then, the characteristic polynomial is:
Δ(s) = s + 3s + 2 , which has real roots: s .
2
1, s2 = −1, −2

−1 −1
The modal matrix of eigenvectors is obtained as: M =[ ] . The natural response modes are: {e −t
,e
−2t
.
}
1 2

−1 0
Let Λ =[ ] ; then, A = MΛM
−1
hence e
At
= Me
Λt
M
−1
, which computes as:
0 −2
−t −2t −t −2t
2e −e e −e
e
At
=[
−2t −t −2t −t
] .
2e − 2e 2e −e

Further, since lim e


At
=0 , the homogenous state equation is asymptotically stable.
t→∞

Example 8.2.2 : Polynomial with Complex Roots


For the mass-spring-damper model, , let m = 1, k = 2, and b = 2 ; then, the characteristic polynomial is:
Δ(s) = s + 2s + 2 , which has complex roots: . The natural response modes are:
2
s1 , s2 = −1 ± j1

cos t}.
−t −t
{e sin t, e

1 1 1
The complex eigenvectors are given as: [ ] . Let V = [ ] ; then, V −1
AV = diag(s1 , s2 ) .
1 ± j1 −1 + j −1 − j

9/13/2020 8.2.2 https://eng.libretexts.org/@go/page/28736


In this case, the complex algebra can be avoided by constructing a modal matrix from the real and imaginary parts of the
eigenvectors.
1 0 −1 1
Accordingly, let M = [ ] ; define M
−1
AM = [ ] =Γ ; then, A = MΓM
−1
and e
At
= Me
Γt −1
M ,
−1 1 −1 −1
−t −t
e (cos t + sin t) e sin t
which computes as: e At
=[
−t −t
] .
−2 e sin t e (cos t − sin t)

Further, lim e
At
=0 ; hence, the homogenous state equation is asymptotically stable.
t→∞

9/13/2020 8.2.3 https://eng.libretexts.org/@go/page/28736


CHAPTER OVERVIEW
9: CONTROLLERS FOR STATE VARIABLE MODELS
Learning Objectives

Perform controller design for state variable models.


Perform pole placement design using a variety of techniques.
Design reference tracking controllers for state variable models.

9.0: PRELUDE TO CONTROLLERS FOR STATE VARIABLE MODELS


9.1: CONTROLLER DESIGN IN SATE-SPACE
9.2: TRACKING WITH FEEDFORWARD CONTROLLER
9.3: TRACKING PI CONTROLLER DESIGN

1 10/11/2020
9.0: Prelude to Controllers for State Variable Models
The state variable models of dynamic systems comprises first-order differential equations that express the time derivatives of a
set of state variables. For linear time-invariant (LTI) systems, these equations are commonly expressed in vector-matrix form.
The controller design for the state variable models involves feeding back all the state variables using appropriate weights to
generate the error signal. State feedback allows arbitrary placement of roots of the closed-loop characteristic polynomial. It is
more powerful and offers greater flexibility than the output feedback that allows only selective placement of closed-loop roots.
State feedback assumes that the complete set of state variables are availabe for feedback.
The pole placement design refers to the selection of feedback gains for placing the roots of the closed-loop characteristic
polynomial at the desired locations in the complex plane. The pole placement design is performed with ease when the state
variable model is in the controller form. Alternately, Ackermann’s and Bass-Gura formulas, or the Sylvester’s equation can be
used for this purpose.
Output regulation refers to finding a control law to asymptotically track prescribed refernce signals and/or asymptotically
reject undesired disturbance inputs. It includes imparting desired degree of dynamic stability to the system through arbitrary
selection of the closed-loop characteristic polynomial.
The tracking system design involves reducing the steady-state error to a given reference input to zero. Though reference signal
can be used to cancel the tracking error, the design is not robust against parameter variations. A more robust design involves
integrating the error signal inside the feeback loop to form an augmented system model, which can used for pole placement.
The augmented model includes the differential equation describing the out put of the integrator.
The state-space design methods primarily cater to the design of multi-input multi-output (MIMO) systems. This chapter,
however, introduces the state-space design methods using examples from single-input single-output (SISO) systems.

9/13/2020 9.0.1 https://eng.libretexts.org/@go/page/24462


9.1: Controller Design in Sate-Space
9.1.1 State Feedback Controller
The state feedback controller refers to selection of individual feedback gains for the complete set of state variabes. It is
assumed that all the state variables are available for observation. The overall design goal remains to improve the transient
response of the system and reduce the steady-state tracking error.
Let x(t) denote a vector of n state variables, u(t) denote a scalar input, and y(t) denote a scalar output; then the state variable
model of a SISO system is given as:
T
ẋ(t) = Ax(t) + bu(t), y(t) = c x(t) (9.1.1)

where A is a n × n system matrix, b is a n × 1 column vector, and c is a T


1 ×n row vector. We note that the above state
variable model represents a strictly proper input-output transfer function.
Controller design in state-space involves selection of suitable feedback gain vector, k
T
, that imparts desired stability and
performance characteristics to the closed-loop system.
Pole Placement Design
Pole placement design refers to the selection of the feedback gain vector that places the poles of the characteristic polynomial
at the desired locations. The control law for the pole placement design is expressed as:
T
u(t) = −k x(t) + r(t), (9.1.2)

where k T
= [ k1 , k2 , … , kn ] is a vector of n feedback gains, one for each of the n state variables, and r is a reference input.
A necessary condition for pole placement using state feedback is that pair (A, b) is controllable, i.e., its controllability matrix,
M , is of full rank, where M b] .
n−1
C = [b, Ab, … , A
C

By including control law in the state equations, the closed-loop system is given as:
T
ẋ(t) = (A − b k )x(t) + br (9.1.3)

The design problem, then, is to select the feedback gains k that multiplies the state vector x(t), such that the closed-loop
system matrix A − bk has characteristic polynomial that aligns with a desired polynomial, i.e.,
T

T

∣sI − A + b k ∣
∣ = Δdes (s) (9.1.4)

The above equation relates two n th order polynomials; by equating the polynomial coefficients on both sides of the equation,
we obtain n linear equations that can be solved for the n feedback gains: k , i = 1, … , n. i

The desired characteristic polynomial for pole placement design is selected with root locations that meet the time-domain
performance criteria.

Example 9.1.1
The state and output equations for a DC motor model are given as:
d ia −100 −5 ia 100 ia
[ ] =[ ][ ]+[ ] Va , ω =[0 1][ ]. (9.1.5)
dt ω 5 −10 ω 0 ω

The motor model has a denominator polynomial Δ(s) = s + 110s + 1025 ; 2


its roots are located at
s = −10.28, −99.72 that are reciprocals of the motor time constants (τ ≅10 msec,
1,2 e τm ≅100 msec) .
Assume that the design specifications require a time constant of 20ms.
To achieve a time constants to 20 msec, we choose to place the closed-loop poles at ,
−50 −100 . The desired
characteristic polynomial is given as: Δ (s) = s + 150s + 5000 .
des
2

We may assume r = 0 , so the control law is given as: V a = −k


T
x , where k T
= [ k1 , k2 ] .
With the inclusion of state feedback, the closed-loop system matrix is given as:

Kamran Iqbal 9/13/2020 9.1.1 https://eng.libretexts.org/@go/page/24429


−100(1 + k1 ) −5(1 + 20 k2 )
T
A − bk =[ ] (9.1.6)
5 −10

The closed-loop characteristic polynomial is given as:


T

∣sI − A + b k ∣
∣ = (s + 10) [s + 100(1 + k1 )] + 25(1 + 20 k2 ). (9.1.7)

By comparing the coefficients of the two polynomials, we obtain the feedback gains: k 1 = 0.4, k2 = 7.15 . The resulting
control law is given as:
Va (t) = −0.4 ia (t) − 7.15 ω(t). (9.1.8)

The step response of the closed-loop system is plotted in Figure 9.1.1.

Figure 9.1.1 : The step respone of the DC motor with pole placement controller: armature current (top); motor speed
(bottom).

9.1.2 Pole Placement in Controller Form


The pole placement design is facilitated if the system model is in the controller form (Section 8.3.1). In the controller form
structure, the coefficients of the characteristic polynomial appear in reverse order in the last row of A matrix.
0 1 0 … 0
⎡ ⎤ ⎡ ⎤

⎢ 0 0 1 … ⎥ ⎢ 0 ⎥
⎢ ⎥
A =⎢ ⎥, b =⎢ ⎥. (9.1.9)
⎢ ⎥ ⎢ ⎥
⎢ ⋮ ⋮ ⋱ 1 ⎥ ⎢ ⋮ ⎥

⎣ ⎦ ⎣ ⎦
−an −an−1 … −a1 1

Then, using full state feedback through u = −k T


x +r , the closed-loop system matrix is given as:
0 1 0 …
⎡ ⎤

⎢ 0 0 1 … ⎥
T ⎢ ⎥
A − bk =⎢ ⎥. (9.1.10)
⎢ ⎥
⎢ ⋮ ⋮ ⋱ 1 ⎥

⎣ ⎦
−an − k1 −an−1 − kn−1 … −a1 − kn

The closed-loop characteristic polynomial can be written by inspection, and is given as:
n n−1
Δ(s) = s + (a1 + kn )s + … + an + k1 (9.1.11)

Let the desired characteristic polynomial be defined as:


n n−1
Δdes (s) = s + ā1 s + … + ān−1 s + ān . (9.1.12)

By comparing the coefficients, the desired feedback gains are computed as:

k1 = ān − an , k2 = ān−1 − an−1 , … , kn = ā1 − a1 . (9.1.13)

Since the state variables in the controller form include system output and its derivatives, pole placement using state feedback is
a generalization of proportional-derivative (PD) and rate feedback controllers.

Example 9.1.2
The state variable model of a mass–spring–damper is given as:

Kamran Iqbal 9/13/2020 9.1.2 https://eng.libretexts.org/@go/page/24429


d x 0 1 x 0 x
[ ] =[ ][ ]+[ ] f, x = [ 1 0][ ]. (9.1.14)
dt v −10 −1 v 1 v

Assume that the design specifications require raising the damping to ζ = 0.6 .
Since the system model is in controller form, its characteristic polynomial can be written by inspection, and is given as:
Δ(s) = s + s + 10 .
2

In order to improve the damping, a desired characteristic polynomial is selected as: Δ des (s) = s
2
+ 4s + 10 .
The desired feedback gains can be written by inspection, and are given as: k T
= [0 3] .

Example 9.2:

9.1.3 Pole Placement using Bass-Gura Formula


The Bass-Gura formula describes a simple expression to compute the state feedback controller gains from the coefficients of
the available and desired closed-loop characteristic polynomials. To proceed, let the state variable model be given as:
T
ẋ(t) = Ax(t) + bu(t), y(t) = c x(t) (9.1.15)

Assuming that pair (A, b) is controllable, its controllability matrix is given as: M C = [b, Ab, … , A
n−1
.
b]

The model is transformed into controller form by a linear transformation, z = P x ; the transformed model is described as:
T
ż (t) = ACF z(t) + bCF u(t), y(t) = c z(t) (9.1.16)
CF

The controllability matrix of the controller form representation is given as: M = [b , A b , … , A b CF CF CF CF CF


n−1
CF
]. The
matrix comprises the coefficients of the characteristic polynomial, Δ (s) = |sI − A| , and can be written by inspection.
The required linear transformation matrix is obtained from the following relation:
−1 −1 −1
P = MC M , P = MCF M . (9.1.17)
CF C

The state feedback control law in the controller form is defined as:
T T
u = −kCF z(t) = −kCF P x(t). (9.1.18)

In terms of plynomial coefficients, the controller gains are given as:k CF


T
= [ ān − an ān−1 − an−1 ⋯ ā1 − a1 ] .
The controller gains for the original state variable model are obtained as: k
T
= kCF
T
P . Hence, the Bass-Gura formula is
formed as:
T −1
k = [ ān − an ān−1 − an−1 ⋯ ā1 − a1 ] MCF M (9.1.19)
C

Example 9.1.3
The state equations for a DC motor model are given as:
d ia −100 −5 ia 100
[ ] =[ ][ ]+[ ] Va (9.1.20)
dt ω 5 −10 ω 0

Assume that the design specifications require a time constant of 20ms.


The characteristic polynomial of the model is: |sI − A| = s 2
+ 110s + 1025.

4
100 −10
The controllability matrix of the model is formed as: M C = [b, Ab] = [ ] .
0 500

The controller form representation for the model is developed as:


d x1 0 1 x1 0
[ ] =[ ][ ]+[ ] Va (9.1.21)
dt x2 −1025 −110 x2 1

Kamran Iqbal 9/13/2020 9.1.3 https://eng.libretexts.org/@go/page/24429


0 1
The controllability matrix for the controller form representation is: M CF =[ ] .
1 −110

Assume that the desired characteristic polynomial is selected as: Δ des (s) = s
2
+ 150s + 5000 .
The feedback gains for the controller form representation are obtained as: k CF
T
= [ 3975 40 ] .
Using the Bass-Gura formula, the state feedback controller gains for the DC motor model are computed as:
7.15 ] .
T T −1
k =k M
CF M = [ 0.4
CF C

The resulting state feedback control law is given as: V a = −0.4 ia − 7.15ω .

Example 9.3 (continued from Example 9.1):

9.1.4 Pole Placement using Ackermann’s Formula


The Ackermann’s formula is, likewise, a simple expression to compute the state feedback controller gains for pole placement.
To develop the formula, let an n -dimensional state variable model be given as:

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

The controllability matrix of the model is formed as: M C = [b, Ab, … , A


n−1
b].

Assume that a desired characteristic polynomial is given as: Δ des (s) = s


n
+ ā1 s
n−1
+ … + ān−1 s + ān .
Next, we evaluate the following matrix polynomial that involves the system matrix:
n n−1
Δdes (A) = A + ā1 A + … + ān−1 A + ān I . (9.1.23)

where I denotes an n×n identity matrix. The state feedback controller gains are obtained from the following Ackermann’s
formula:
T −1
k =[0 ⋯ 0 1 ] MC Δdes (A) (9.1.24)

Example 9.1.4
The state equations for a DC motor model are given as:
d ia −100 −5 ia 100
[ ] =[ ][ ]+[ ] Va (9.1.25)
dt ω 5 −10 ω 0

Let the desired characteristic polynomial be given as: Δ des (s) = s


2
+ 150s + 5000 .
4
100 −10
The controllability matrix for the model is computed as: M C = [b, Ab] = [ ] .
0 500

−25 −200
The matrix polynomial used in the formula is evaluated as: Δ des (A) = [ ] .
200 3575

Using the Ackermann’s formula, the pole placement controller is computed as: k T
= [ 0.4 7.15 ] .
The resulting state feedback control law is given as: V a = −0.4 ia − 7.15ω .

The MATLAB Control System Toolbox includes the ‘place’ command that uses the Ackermann’s formula for pole placement
design. The command is invoked by entering the system and input matrices, and a vector of desired roots of the characteristic
polynomial. The function returns the feedback gain vector that places the eigenvalues of the closed-loop system matrix,
A − bk , at the desired root locations.
T

Assuming that the state variable model (A, b) has been defined, let p denote a vector of the desired closed-loop pole locations;
then, the MATLAB ‘place’ command is invoked as: K=place(A, B, p).

9.1.5 Pole Placement using Sylvester’s Equation

Kamran Iqbal 9/13/2020 9.1.4 https://eng.libretexts.org/@go/page/24429


The Sylvester equation in algebra is a linear matrix equation, given as: AX + XB = C , where A and B are square matrices
of not necessarily equal dimensions, and C is a matrix of appropriate dimensions. The solution matrix X is of the same
demension as C .
In order to apply the Sylvester equation for pole placement design, let an n -dimensional state variable model be given as:

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

The pair (A, b) is assumed to be controllable.


Let A − bk T
represent the closed-loop system matrix; assume that a diagonalizing similarity transform is defined as:
−1 T
X (A − b k )X = Λ (9.1.27)

The matrix Λ is diagonal and contains the desired eigenvalues; it may be assumed in modal form for complex eigenvalues.
Further, let k T
X =g
T
; then, the Sylvester eqution is formulated as:
T
AX − XΛ = bg (9.1.28)

A unique solution X to the Sylvester’s equation exists if the eigenvalues of A and Λ are distinct, i.e., λ i (A) − λj (Λ) ≠ 0 .
The design procedure for pole placement using Sylvester’s equation is given as follows:
1. Choose a matrix Λ of desired eigenvalues in modal form. Choose any g and solve AX − XΛ = bg for X. T T

2. Recover the feedback gain vector from k = g X . If X is not invertible, choose a different g and repeat the
T T −1 T

procedure.

Example 9.1.5
The state equation for the mass–spring–damper model is described as:
d x 0 1 x 0
[ ] =[ ][ ]+[ ]f (9.1.29)
dt v −10 −1 v 1

Let a desired characteristic polynomial be selected as: Δdes (s) = s


2
+ 4s + 10 ; then, the modal matrix of the desired

−2 √6
eigenvalues is: Λ = [ – ] .
−√6 −2

0 0 −0.067 −0.082
Let g T
= [1 0] ; then, bg T
=[ ] . The solution to Sylvester’s equation is obtained as: X = [ ] .
1 0 0.333 0.0

The feedback controller gains are computed as: k T


= [0 3] .

Kamran Iqbal 9/13/2020 9.1.5 https://eng.libretexts.org/@go/page/24429


9.2: Tracking with Feedforward Controller
A tracking system is designed to asymptotically reach and maintain zero steady-state error with respect to a reference input,
r (t) . This can be achieved by using r (t) to cancel e (t) in the steady state.

Tracking with Feedforward Controller


The reference signal can be used with a feed forward gain to cancel the error signal.
Toward this end, let the state variable model be given as:
T
ẋ(t) = Ax(t) + bu(t), y(t) = c x(t) (9.2.1)

The asymptotic tracking control law is defined as:


T
u(t) = −k x(t) + kr r(t) (9.2.2)

where k is a scalar gain.


r

The closed-loop system is formed as:


T T
ẋ(t) = (A − b k ) x(t) + b kr r(t), y(t) = c x(t) (9.2.3)

Assuming the closed-loop system is stable, let ẋ(t) = 0 ; the steady-state values of the state variables are obtained as:
−1
T
xss = − (A − b k ) b kr rss . (9.2.4)

The steady-state output is given as:


−1
T T
yss = −c (A − b k ) b kr rss (9.2.5)

Define the closed-loop transfer function:


−1
T T
T (s) = c (sI − A + b k ) b (9.2.6)

Then, the steady-state output is: y ss = T (0)kr rss .


In order to ensure y = r , we may choose, k
ss ss r = T (0 )
−1
. Further, if y = x , then k may be selected as k
1 r r = k1 , to ensure
r − y = 0 in the steady-state.

Example 9.2.1
The state and output equations for a DC motor model are given as:
d ia −100 −5 ia 100 ia
[ ] =[ ][ ]+[ ] Va , ω = [ 0 1][ ]. (9.2.7)
dt ω 5 −10 ω 0 ω

A pole placement controller for the DC motor model was previously designed as: V = −0.4i − 7.15ω . The control law a a

is revised to include a feedforward gain: V = −0.4i − 7.15ω + k r , where we want to choose k for zero steady-state
a a r r

error.
By including the controller, the closed-loop system model is given as:
d ia −140 −720 ia 100
[ ] =[ ][ ]+[ ] kr r (9.2.8)
dt ω 5 −10 ω 0

ia,ss 0.2
The state variables assume the following values in steady-state: [ ] =[ ] kr rss .
ωss 0.1

The steady-state value of the output is given as: yss = 0.1 kr rss . Then, we may choose kr = 10 for zero steady-state
error.
The resulting conrol law is given as: V a = −0.4 ia − 7.15ω + 10r .

Kamran Iqbal 9/13/2020 9.2.1 https://eng.libretexts.org/@go/page/24430


A plot of the motor response with feedforward compensation is shown in Fig. 9.2. As expected, the motor speed
asymptotically approaches unity in the steady-state.

Example 9.6 (continued from Example 9.1): Figure 9.2: The step respone of the DC motor with pole placement controller and
with feedforward compensation: armature current (top); motor speed (bottom).

Example 9.2.1
The state variable model of a mass–spring–damper is given as:
d x 0 1 x 0 x
[ ] =[ ][ ]+[ ] f, x =[1 0][ ] (9.2.9)
dt v −10 −1 v 1 v

A pole placement controller for the model was previously designed as: f = −3v .
The control law is modified to include a feedforward gain as: f = −3v + kr r.

x 0 1 x
The closed-loop system model is given as: d

dt
[ ] =[ ][ ] + kr r .
v −10 −4 v

The steady-state output is: y = 0.1k


ss r rss . Hence, we may choose kr = 10 for error-free tracking. The resulting conrol
law is given as: f = −3v + 10 r.

Example 9.7 (continued from Example 9.2):

Kamran Iqbal 9/13/2020 9.2.2 https://eng.libretexts.org/@go/page/24430


9.3: Tracking PI Controller Design
Tracking PI Controller Design
The tracking system design by using a feedforward gain to cancel the tracking error is not robust to changes in plant
parameters. A robust tracking system design requires addition of an integrator to the feedback loop.
The integral controller (Figure 9.3) forces the error signal to zero in the steady-state.
A proportional-integral (PI) control law using state feedback is defined as:

T
u(t) = −k x(t) + ki ∫ (r − y)dt (9.3.1)

where k represents the integral gain. The integrator operates on the error signal: e = r − y .
i

Let xa (t) denote the integrator output; then, the integrator state equation is given as:
T
ẋa = r − y = r − c x (9.3.2)

An augmented system model is formed by adding the integrator output to the state variables; the resulting model with n+1

variables is described as:


ẋ A 0 x b 0
[ ] =[ ][ ]+[ ]u +[ ]r (9.3.3)
T
ẋa −c 0 xa 0 1

A state feedback control law for the augmented system model is defined as:
x
T
u = [− k ki ] [ ], (9.3.4)
xa

Substitution of the control law in the augmented system model defines the closed-loop system:
T
ẋ A − bk bki x 0
[ ] =[ ][ ]+[ ]r (9.3.5)
T
ẋa −c 0 xa 1

T
∣ sI − A + bk −bki ∣
The closed-loop characteristic polynomial is formed as: Δa (s) = ∣ ∣, where I denotes an identity
T
∣ c s ∣

matrix of order n .
Next, we choose a (n + 1) order desired characteristic polynomial, Δ (s) , and perform the pole placement design on the
des

augmented system. The location of the integrator pole may be adjusted by trial and error keeping in view the desired settling
time of the system.

Example 9.3.1
The state variable model of a mass-spring-damper system is given as:
d x 0 1 x 0 x
[ ] =[ ][ ]+[ ] f, x =[1 0][ ] (9.3.6)
dt v −10 −1 v 1 v

It is desired to have less than 10% overshoot and zero steady-state error to a step input.
In order to perform the integral control design, an augmented state variable model is formed as:
x 0 1 0 x 0 0
⎡ ⎤ ⎡ ⎤⎡ ⎤ ⎡ ⎤ ⎡ ⎤
d
⎢ v ⎥ = ⎢ −10 −1 0 ⎥ ⎢ v ⎥ + ⎢ 1 ⎥ u + ⎢ 0 ⎥ r. (9.3.7)
dt
⎣ ⎦ ⎣ ⎦⎣ ⎦ ⎣ ⎦ ⎣ ⎦
xa −1 0 0 xa 0 1

The control law for the augmented system is given as: u = −k 1x − k2 v + ki ∫ (r − x)dt .

Kamran Iqbal 9/13/2020 9.3.1 https://eng.libretexts.org/@go/page/24431


The closed-loop system characteristic polynomial is formed as: Δ(s) = s + (k + 1)s + (k 3
2
2
1 + 10)s + ki . Let a third-
order desired characteristic polynomial be selected as: Δ (s) = (s + 2)(s + 4s + 10) .
des
2

By comparing the polynomial coefficients, the controller gains are obtained as: k1 = 8, k2 = 5, ki = 20. The resulting
control law is given as: f = −8x − 5v + 20 ∫ (r − y) dt .
The step response of the closed-loop system is shown in Fig. 9.4.

Figure 9.4: Step response of the mass-spring-damper system with integrtor in the loop.

Example 9.3.2
The state variable model of a DC motor is given as:
d ia −100 −5 ia 100 ia
[ ] =[ ][ ]+[ ] Va , ω =[0 1][ ] (9.3.8)
dt ω 5 −10 ω 0 ω

The control law for the tracking PI controller is given as: u = −k 1 ia − k2 ω + ki ∫ (r − ω)dt .
The augmented system model for pole placement using integral control is obtained as:
ia −100 −5 0 ia 100 0
⎡ ⎤ ⎡ ⎤⎡ ⎤ ⎡ ⎤ ⎡ ⎤
d
⎢ ω ⎥ =⎢ 5 −10 0 ⎥⎢ ω ⎥+⎢ 0 ⎥u +⎢ 0 ⎥r (9.3.9)
dt
⎣ ⎦ ⎣ ⎦⎣ ⎦ ⎣ ⎦ ⎣ ⎦
xa 0 −1 0 xa 0 1

The resulting characteristic polynomial is given as:


3 2
Δ(s) = s + (100 k1 + 100) s + (1000 k1 + 500 k2 + 1025) s − 500 ki . (9.3.10)

We choose a desired characteristic polynomial as: Δ (s) = (s + 70.7) (s


des
2
+ 130.7s + 5, 000) . The closed-loop roots
are located along a circle at: s = −70.7, −65.3 ± j27 .
The tracking controller is defined as: V a (s) = −1.13 ia (t) − 27.2ω (t) + 707 ∫ (r − ω)dt .
The step response of the closed-loop system is shown in Fig. 9.5.

Figure 9.5: The step response of the DC motor model with integrator in the loop.

Kamran Iqbal 9/13/2020 9.3.2 https://eng.libretexts.org/@go/page/24431


CHAPTER OVERVIEW
10: CONTROLLERS FOR DISCRETE STATE VARIABLE MODELS
Learning Objectives

Analyze state variable models of sampled-data systems.


Solve discrete-time state equations by iteration.
Perform pole placement controller design for sampled-data systems.
Perform tracking controller desing for sampled-data systems.

10.0: PRELUDE TO CONTROLLERS FOR DISCRETE STATE VARIABLE MODELS


10.1: STATE VARIABLE MODELS OF SAMPLED-DATA SYSTEMS
10.2: CONTROLLERS FOR DISCRETE STATE VARIABLE MODELS

1 10/11/2020
10.0: Prelude to Controllers for Discrete State Variable Models
The state variable model of a dynamic system comprises a set of first-order differential equations that express the system
behavior as time derivatives of the selected variables. The controller design for state state variable model involves selecting
feedback gains for each (or a selection) of the state variables. The state feedback controller offers greater flexibility in system
design compared to the output feedback controllers designed with transfer function models.
The continuous-time state variable model of a linear time-invariant (LTI) system can be converted to a discrtete-time LTI
model by assuming a piece-wise constant input to the system. The conversion is easily done in MATLAB by using the ‘c2d’
command. The assumed sampling frequency should be five to ten times higher than the system bandwidth.
The control system design methods used with continuous-time systems can be extended to digital controller design of
sampled-data systems that include sample and hold elements. The time-domain description of a sampled-data system
comprisess a set of difference equations that can be easily solved by iteration.
The pole placement design using full state feedback can be similarly performed on discrete state variable models. The desired
characteristic polynomial in the discrete case should have its roots inside the unit circle to ensure the stability of the closed-
loop system. A discrete system model addionally allow the design of a deadbeat controller that places all roots of the closed-
loop characteristic polynomial at the origin. The deadbeat controller ensures that the system response reaches steady state in
exactly n iterations.
Compared to the root locus design that allows selective placement of the closed-loop poles of the characteristic polynomial,
arbitrary pole placement is made possible through the use of state feedback design in the case of state variable models. In the
following, we assume that the system to be controlled is of single-input single-output (SISO) type.

9/13/2020 10.0.1 https://eng.libretexts.org/@go/page/24463


10.1: State Variable Models of Sampled-Data Systems
10.1.1 Discretizing State Variable Models
System models described with state variable can be converted to their discrete-time equivalents by considering a zero-order
hold (ZOH) at the input of the model. The ZOH device converts the output of a digital controller (a number sequence) into a
piece-wise constant continuous-time signal by holding its output constant over successive time periods.
To develop this approach, let the continuous-time state variable model be given as:
ẋ(t) = Ax(t) + Bu(t) (10.1.1)

y(t) = C x(t) (10.1.2)

where A is the system matrix, B is the input matrix, and C is the output matrix.
In order to discretize the continuous-time state equations, we consider the time-domain solution to the state equation (Chapter
8) given in terms of a convolution integral:
τ
A(t−t0 ) A(t−τ)
x(t) = e x0 + ∫ e B u(τ ) dτ (10.1.3)
t0

It is assumed that the system state is available at t0 = (k − 1)T ; then, assuming a constant input, uk , the state at t = kT is
given as:
kT
At AT
xk = e xk−1 + ∫ e B uk dτ (10.1.4)
(k−1)T

A simple change of variables results in the following expression:


T
At AT
xk = e xk−1 +∫ e dτ B uk (10.1.5)
0

Let the system and input matrices appearing in the discrete-time model be defined as:
T
AT Aτ
Ad = e , Bd = ∫ e dτ B (10.1.6)
0

Then, after a time shift, the discrete-time state variable model is expressed as:
xk+1 = Ad xk + Bd uk , yk = Cd xk . (10.1.7)

where C d = C.

Assuming that system matrix A is invertible, the expression for B can be simplified as: d

T 2 2 2
A τ AT
−1 AT
Bd = [∫ (I + Aτ + + …) dτ ] = (I T + + …) B = A (e − I )B (10.1.8)
0 2! 2!

The system and input matrices (A , B ) appearing in the discrete-time model are parameterized by the sample time,
d d T .
Hence, changing T will change the discrete-time model.
In the MATLAB Control Systems Toolbox, ‘c2d’ command is used for the discretizing a state variable model; the presence of
a ZOH at the input is assumed, but other options are available.

Example 10.1.1
The state variable model of a DC motor is given as:
d ia −100 −5 ia 100 ia
[ ] =[ ][ ]+[ ] Va , ω =[0 1][ ] (10.1.9)
dt ω 5 −10 ω 0 ω

Kamran Iqbal 9/13/2020 10.1.1 https://eng.libretexts.org/@go/page/24433


Let T = 0.02 s, a value five times faster than the dominant motor time constant: τ m ≅0.1 s. ; then, the system and input
matrices for the discrete model are computed as:

At
0.134 −0.038 −1 At
0.863
Ad = e =[ ] , Bd = A (e − I) B = [ ] (10.1.10)
0.038 0.816 0.053

The resulting discrete state variable model is given as:


ik+1 0.134 −0.038 ik 0.863 ik
[ ] =[ ][ ]+[ ] Vk , yk = [ 0 1][ ] (10.1.11)
ωk+1 0.038 0.816 ωk 0.053 ωk

An alternate state variable model of the DC motor is obtained by using the ‘ss’ command in the MATLAB Control
Systems Toolbox to realize the motor transfer function; the model is given as:
ẋ1 −110 −32.03 x1 4 x1
[ ] =[ ][ ]+[ ] Va ,   ω = [ 0 3.906 ] [ ] (10.1.12)
ẋ2 32 0 x2 0 x2

By using the MATLAB ‘c2d’ command, the corresponding discrete-time model is obtained as:
x1, k+1 0.058 −0.243 x1, k 0.030 x1, k
[ ] =[ ][ ]+[ ] uk , yk = [ 0 3.91 ] [ ] (10.1.13)
x2, k+1 0.243 0.892 x2, k 0.013 x2, k

The two discrete-time state variables of the DC motor are equivalent, i.e., they both share the same z -plane eigenvalues:
 z = 0.814,  0.136; these values are related to the analog system eigenvalues: s
1,2 = −99.7,   − 10.28 by the relation:
1,2

z =e .Ts

Example 10.1:

10.1.2 Iterative Solution to State Equations


The discrete-time state equations constitute a set of first-order difference equations that can be easily solved by iteration.
Toward this end, let the discrete state equation be given as:
xk+1 = Ad xk + Bd uk , yk = Cd xk (10.1.14)

Starting from an initial vector, x0 , and given an input sequence u {k} , an iterative solution to the discrete state equation is
developed as follows:
x1 = Ad x0 + Bd u0 (10.1.15)

2
x2 = A x0 + Ad Bd u0 + Bd u1 (10.1.16)
d

⋮ (10.1.17)

n−1

n n−1−k
xn = A x0 + ∑ A Bd uk (10.1.18)
d d

k=0

Let Φ(k) = A define the discrete state-transition matrix; then, the solution is given as:
k
d

n−1

xn = Φ(n)x0 + ∑ Φ(n − 1 − k)Bd uk (10.1.19)

k=0

Example 10.1.2
The discrete state variable model of a dc motor (T = 0.02s ) is given as:

0.134 −0.038 0.863


Ad = [ ], Bd = [ ], Cd = [ 0 1] (10.1.20)
0.038 0.816 0.053

Assuming zero initial conditions and a unit input sequence: u k = {1, 1, …}; the output sequence is iteratively computed
as:

Kamran Iqbal 9/13/2020 10.1.2 https://eng.libretexts.org/@go/page/24433


y {k} = {0,  0.053,  0.128,  0.194,  0.249,  0.293,  0.329,  0.359,  0.383,  0.402,  0.418, …} (10.1.21)

Example 10.2:

10.1.3 The Pulse Transfer Function


The pulse transfer function, G(z) , of a sampled-data system can be obtained from discrete state equations by the application of
z -transform:

zx(z) − zx0 = Ad x(z) + Bd u(z) (10.1.22)

The above equation is solved assuming zero initial conditions to obtain:


−1
x(z) = (zI − Ad ) Bd u(z) (10.1.23)

The output equation is defined as:


−1
y(z) = Cd (zI − Ad ) Bd u(z) = G(z)u(z) (10.1.24)

Given the discrete state equations, the pulse transfer function is obtained as:
−1
G(z) = Cd (zI − Ad ) Bd (10.1.25)

The discrete state-transition matrix is obtained by taking the inverse z -transform of (zI − A d)
−1
as:
−1 −1 k
ϕ(k) = z {(zI − Ad ) } =A (10.1.26)
d

In terms of the state transition matrix, the unit pulse response the sampled-data system is obtained as:
k−1
gk = Cd A B, k ≥0 (10.1.27)
d

In the MATLAB Control System Toolbox, the pulse transfer function for a given discrete state variable model can be obtained
by invoking the ‘tf’ command.

Example 10.1.3
The discrete state variable model of a dc motor (T = 0.02s ) is given as:
0.134 −0.038 0.863
Ad = [ ], Bd = [ ], Cd = [ 0 1] (10.1.28)
0.038 0.816 0.053

By using the above commands, the motor pulse transfer function is obtained as:
0.053z + 0.0257
G (z) = . (10.1.29)
2
z − 0.95z + 0.111

Example 10.3:

Kamran Iqbal 9/13/2020 10.1.3 https://eng.libretexts.org/@go/page/24433


10.2: Controllers for Discrete State Variable Models
10.2.1 Emulating an Analog Controller
The pole placement controller designed for the continuous-time state variable model can be incorporated into derived sampled-
data system model. Successful controller emulation requires a high enough sampling rate that is at least ten times the
frequency of the dominant closed-loop poles of the system.
In the following we illustrate the emulation of pole placement controller designed for the previously designed DC motor model
(Example 8.4) for controlling the discrete-time model of the DC motor. The DC motor model is discretized at two different
sampling rates for comparison, assuming ZOH at the plant input.

Example 10.2.1
The state and output equations for a DC motor model are given as:
d ia −100 −5 ia 100 ia
[ ] =[ ][ ]+[ ] Va , ω =[0 1][ ]. (10.2.1)
dt ω 5 −10 ω 0 ω

The motor model is discretized at two different sampling rates. The results are:
0.367 −0.030 0.632
T = 0.01s : Ad = [ ], Bd = [ ], Cd = [ 0 1]. (10.2.2)
0.030 0.904 0.018

0.134 −0.038 0.863


T = 0.02s : Ad = [ ], Bd = [ ], Cd = [ 0 1]. (10.2.3)
0.038 0.816 0.053

For a desired characteristic polynomial: Δ (s) = s + 150s + 5000 , a state feedback controller for the continous-time
des
2

model was obtained as (Example 9.1): k = [ 0.4 7.15 ] . We can use the same controller to control the corresponding
T

sample-data system models.


The unit-step response of the closed-loop system is simulated in Figure 10.1, where both state variables, i a (t) and ω (t) ,
are plotted (Fig. 8.6).
We observe from the figure that the armature current has a higher overshoot at the lower sampling rate, though both
models display similar settling time of about 100msec.

Figure 10.1: The step response of the DC motor with analog controller emulation: armature current (top); motor speed
(bottom)

10.2.2 Pole Placement Design of Digital Controller


Given a discrete state variable model {A ,  B }, and a desired pulse characteristic polynomial Δ (z) , a state feedback
d d des

controller for the system can be designed using pole placement similar to that of the continuous-time system (Sec. 9.1).
Let the discrete-time model of a SISO system be given as:
T
xk+1 = Ad xk + bd uk , yk = c xk (10.2.4)

A state feedback controller for the discrete state variable model is defined as:
T
uk = −k xk + rk (10.2.5)

where k represents a row vector of constant feedback gains and r is a reference input sequence. The controller gains can be
T
k

obtained by equating the coefficients of the characteristic polynomial with those of a desired polynomial:
Δ(z) = |z I − A d | = Δdes (z) (10.2.6)

The Δ (z) above is a Hurwitz polynomial (in z ), with roots inside the unit circle that meet given performance (damping
des

ratio and/or settling time) requirements. Assuming that desired s -plane root locations are known, the corresponding z -plane
root locations can be obtained from the equivalence: z = e . Ts

Kamran Iqbal 9/13/2020 10.2.1 https://eng.libretexts.org/@go/page/24434


Example 10.2.2
The discrete state variable model of a DC motor (T = 0.02 s) is given as:
ik+1 0.134 −0.038 ik 0.863 ik
[ ] =[ ][ ]+[ ] Vk , yk = [ 0 1][ ] (10.2.7)
ωk+1 0.038 0.816 ωk 0.053 ωk

The desired s -plane root locations for the model are given as: s = −50, −100.

The corresponding z -plane roots (T = 0.02s ) are obtained as: z = e −1


, e
−2
.
The desired characteristic polynomial is given as: Δ des (z) = z
2
− 0.95z + 0.05.

The feedback gains k


T
= [ k1 , k2 ] , computed using the MATLAB ‘place’ command, are given as:
k1 = 0.247, k2 = 4.435.

An update rule for implementation of the controller on computer is obtained as: u k = 0.247 ik + 4.435 ωk .

The step response of the closed-loop system is plotted in Figure 10.2, where the discrete system response was scaled to
match the analog system response. The step response of the continuous-time system and that for the emulated controller
gains are plotted alongside.

Figure 10.2: Unit-step response of the DC motor model for the following choices: analog system; controller emulation; digital
controller.

10.2.3 Deadbeat Controller Design


A discrete-time system is called deadbeat if all closed-loop poles are placed at the origin (z = 0) .
A deadbeat system has the remarkable property that its response reaches steady-state in n -steps, where n represents the model
dimension.
The desired closed-loop pulse characteristic polynomial is selected as Δ des (z) = z
n
.
To design a deadbeat controller, let the closed-loop pulse transfer function be defined as:
K(z)G(z)
T (z) = (10.2.8)
1 + K(z)G(z)

The above equation is solved for K(z) to obtain:

1 T (z)
K(z) = (10.2.9)
G(z) 1 − T (z)

Let the desired T (z) = z −n


; then, the deadbeat controller is given as:
1
K(z) = (10.2.10)
n
G(z)(z − 1)

Example 10.2.3
−T
1−e
Let G(s) = 1

s+1
; then G(z) = z−e
−T
.
−T

A deadbeat controller for the model is obtained as: K(z) = z−e

−T
.
(1−e )(z−1)

Example 10.6:

Example 10.2.4
The discrete state varible DC motor model for T = 0.02 s is given as:

Kamran Iqbal 9/13/2020 10.2.2 https://eng.libretexts.org/@go/page/24434


ik+1 0.134 −0.038 ik 0.863 ik
[ ] =[ ][ ]+[ ] Vk , yk = [ 0 1][ ] (10.2.11)
ωk+1 0.038 0.816 ωk 0.053 ωk

For pole placement design, let Δ des (z) = z


2
.
The MATLAB ‘place’ command cannot be used due to the repeated poles. However, by defining a controller,
u = − [ k , k ] x , direct calculations results in the closed-loop characteristic polynomial:
k 1 2 k

2
Δ(z) = z + (0.863 k1 + 0.053 k2 − 0.95)z − 0.707 k1 + 0.026 k2 + 0.111 (10.2.12)

By equating the second and third term in the polynomial to zero, deadbeat controller gains are obtained as:
k = 0.501, k = 9.702.
1 2

The update rule for controller implementation is given as:

uk = 0.501 ik + 9.702 ωk (10.2.13)

The step response of the deadbeat controller (Figure 10.3) settles in two time periods. The step response of the
continuous-time system (scaled to match the discrete system response) is shown alongside for comparison.
An approximate deadbeat design can be performed in the MATLAB Control Systems Toolbox by choosing distinct
closed-loop eigenvalues close to the origin, e.g., z = ±10 . −5

The feedback gains for the approximate design are obtined as: k 1 = 0.509, k2 = 9.702 . The resulting closed-loop system
response is still deadbeat.

Figure 10.3: The step response of the DC motor model: analog system, deadbeat controller.

10.2.4 Feedforward Tracking System Design


A tracking system was previously designed by using feedforward cancelation of the error signal (Section 9.2.1). A similar
design can be performed in the case of discrete systems.
Towards this end, let the discrete state variable model be given as:
T
xk+1 = Ad xk + bd uk , yk = c xk (10.2.14)

A tracking controller for the model is defined as:


T
uk = −k xk + kr rk (10.2.15)

where k represents a row vector of feedback gains, k is a feedforward gain, and r is a reference input sequence.
T
r k

Assuming that a pole placement controller for the discrete system has been designed, the closed-loop system is given as:
T
xk+1 = (Ad − bd k ) xk + bd kr rk (10.2.16)

The closed-loop pulse transfer function is obtained as:


−1
T T
T (z) = c (z I − A d + bd k ) bd kr (10.2.17)
d

where I denotes an identity matrix. The condition for asymptotic tracking is given as:
−1
T T
T (1) = c ( I − A d + bd k ) bd kr = 1 (10.2.18)
d

The feedforward gain for error cancelation is obtained as: k r =


1

T (1)
.

Example 10.2.5
The discrete state variable model of a DC motor (T = 0.02 s) is given as:
ik+1 0.134 −0.038 ik 0.863 ik
[ ] =[ ][ ]+[ ] Vk , yk = [ 0 1][ ] (10.2.19)
ωk+1 0.038 0.816 ωk 0.053 ωk

Kamran Iqbal 9/13/2020 10.2.3 https://eng.libretexts.org/@go/page/24434


A state feedback controller for the motor model was previously designed as: k
T
= [ k1 , k2 ] , where
k1 = 0.247, k2 = 4.435.

The closed-loop system is defined as:


0.367z + 0.179
T (z) = kr (10.2.20)
2
z − 0.503z + 0.05

From the asymptotic condition, the feedforward gain is solved as: k r = 6.98 .
The step response of the closed-loop system is shown in Figure 10.6.

Figure

Example 10.2.6
The discrete state variable model of a DC motor (T = 0.02 s) is given as:
ik+1 0.134 −0.038 ik 0.863 ik
[ ] =[ ][ ]+[ ] Vk , yk = [ 0 1][ ] (10.2.21)
ωk+1 0.038 0.816 ωk 0.053 ωk

A dead-beat controller for the motor model was designed as: k T


= [ k1 , k2 ] , where k 1 = 0.501, k2 = 9.702 .
The closed-loop system is defined as:
0.672z + 0.328
T (z) = kr (10.2.22)
2
z

From the asymptotic condition, the feedforward gain is solved as: k r = 12.77 .
The step response of the closed-loop system is shown in Figure 10.4.

Figure 10.4: The step response of the tracking controllers for the DC motor model.

10.2.5 Tracking PI Controller Design


A tracking PI controller for the discrete state variable model is designed similar to the design of continuous-time system. The
tracking PI controller (Figure 9.3) places an integrator in the feedback loop, thus ensuring that the tracking error goes to zero
in the steady-state.
In the case of continuous-time system, the tracking PI controller is defined as: u = −k T
x + ki ∫ (r − y)dt .
The forward difference approximation to the integrator is given as: vk = vk−1 + T ek . An augmented discrete-time system
model including the integrator state variable is formed as:

x(k + 1) Ad 0 x(k) bd 0
[ ] =[ ][ ]+[ ]u +[ ]r (10.2.23)
T
v(k + 1) −c T 1 v(k) 0 T

The state feedback controller for the augmented system is given as:

x(k)
T
u(k) = [ −k ki ] [ ] (10.2.24)
v(k)

where k represents the integral gain. With the addition of the above controller, the closed-loop system is described as:
i

T
x(k + 1) Ad − bd k bd ki x(k) 0
[ ] =[ ][ ]+[ ] r(k) (10.2.25)
T
v(k + 1) −c T 1 v(k) T

The closed-loop characteristic polynomial of the augmented system is formed as:


T
∣ z I − A d + bd k −bd ki ∣
Δa (z) = ∣ ∣ (10.2.26)
T
∣ −c T z−1 ∣
d

Kamran Iqbal 9/13/2020 10.2.4 https://eng.libretexts.org/@go/page/24434


where I denotes an identity matrix of order n .
Next, we choose a desired characteristic polynomial of (n + 1) order, and perform pole placement design for the augmented
system. The location of the integrator pole in the z -plane may be selected keeping in view the desired peformance criteria for
the closed-loop system.

Example 10.2.6
The discrete state variable model of a DC motor (T = 0.02 s) is given as:
ik+1 0.134 −0.038 ik 0.863 ik
[ ] =[ ][ ]+[ ] Vk ,   ωk = [ 0 1][ ] (10.2.27)
ωk+1 0.038 0.816 ωk 0.053 ωk

The control law for the tracking PI controller is defined as:


uk = −k1 ik − k2 ωk + ki vk (10.2.28)

where v k = vk−1 + T (rk − ωk ) . The augmented system model for the pole placement design using integral control is
given as:
ik+1 0.134 −0.038 0 ik 0.863 0
⎡ ⎤ ⎡ ⎤⎡ ⎤ ⎡ ⎤ ⎡ ⎤

⎢ ωk+1 ⎥ = ⎢ 0.038 0.816 0 ⎥ ⎢ ωk ⎥ + ⎢ 0.053 ⎥ Vk + ⎢ 0 ⎥ rk (10.2.29)

⎣ ⎦ ⎣ ⎦⎣ ⎦ ⎣ ⎦ ⎣ ⎦
vk+1 0 −0.02 1 vk 0 0.02

The desired z -plane pole locations are seleced as: z = e −1


, e
−1±j1
. The controller gains, obtained using the MATLAB
‘place’ command, are given as: k = 0.43, k = 15.44, k
1 2 i = −297.79.

An update rule for controller implementation on computer is given as:


uk = −0.43 ik − 15.44 ωk + 297.8 vk (10.2.30)

vk = vk−1 + 0.02 (rk − ωk ) (10.2.31)

The step response of the closed-loop system is plotted in Figure 10.5. The step response of the continuous-time system
(Example 9.9) is plotted alongside. The output in both cases attains steady-state value of unity in about 0.12sec.

Example 10.10:
Figure 10.5: Tracking PI controllers for the DC motor model: closed-loop response for the analog and discrete systems.

Kamran Iqbal 9/13/2020 10.2.5 https://eng.libretexts.org/@go/page/24434


Index
B I S
Bode plot impulse response Schur–Cohn stability test
2.4: The Step Response 7.4: Stability of Sampled-Data Systems
2.5: Sinusoidal Response of a System
6.1: Frequency Response Plots ITAE index sinusoidal response
4.2: Transient Response Improvement 2.5: Sinusoidal Response of a System
C step function
controller form J 2.4: The Step Response
9.1: Controller Design in Sate-Space Jury’s stability test step response
7.4: Stability of Sampled-Data Systems 2.4: The Step Response
D Sylvester equation
damping ratio N 9.1: Controller Design in Sate-Space
2.1: System Poles and Zeros Nichol’s chart system poles
6.4: Closed-Loop Frequency Response 2.1: System Poles and Zeros
F system sensitivity function
final value theorem P 4.5: Sensitivity and Robustness
7.5: Closed-Loop System Response pole placement design
frequency response function 9.1: Controller Design in Sate-Space T
2.5: Sinusoidal Response of a System tracking control system
R 4.3: Steady-State Error Improvement
G Ruth’s test tracking error
gain compensation 7.4: Stability of Sampled-Data Systems 4.3: Steady-State Error Improvement
6.3: Frequency Response Design transfer function
2.1: System Poles and Zeros
Glossary
Sample Word 1 | Sample Definition 1

You might also like