Full
Full
CONTROL SYSTEMS
Kamran Iqbal
University of Arkansas at Little Rock
University of Arkansas at Little Rock
Introduction to Control Systems
Kamran Iqbal
This text is disseminated via the Open Education Resource (OER) LibreTexts Project (https://LibreTexts.org) and like the
hundreds of other texts available within this powerful platform, it is freely available for reading, printing and
"consuming." Most, but not all, pages in the library have licenses that may allow individuals to make changes, save, and
print this book. Carefully consult the applicable license(s) before pursuing such effects.
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 14 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 info@LibreTexts.org. 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).
1 11/14/2021
6.4: CLOSED-LOOP FREQUENCY RESPONSE
BACK MATTER
INDEX
INDEX
GLOSSARY
2 11/14/2021
CHAPTER OVERVIEW
1: MATHEMATICAL MODELS OF PHYSICAL SYSTEMS
Learning Objectives
1 11/14/2021
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.
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) .
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
current 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
.
i.e., the across variable is obtained by differentiating the flow variable. Alternatively, the flow variable varies in
proportion to the accumulation of the across variable as:
1
q(t) = ∫ x(t)dt + q0 (1.1.5)
k
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
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] .
Examples
Example 1.2.1
A series RC network is connected across a constant voltage source, V (Figure 1.2.1). Kirchhoff’s voltage law (KVL)
s
In the above capital letters represent constant values and small letters represent time-varying quantities.
dv0
Let v = v define the circuit output; then, v = iR = RC
C 0 R , hence dt
dv0 (t)
RC + v0 (t) = Vs (1.2.2)
dt
Example 1.2.2
A parallel RL network is connected across a constant current source, I (Figure 1.2.2). The circuit is modeled by a
s
first-order ODE, where the variable of interest is the inductor current, i , and Kirchhoff’s current law (KCL) is applied
L
at a node to obtain: i + i = I .
R L s
diL
By substituting iR =
v
R
=
L
R dt
we obtain the ODE description of the RL circuit as:
L diL (t)
+ iL (t) = Is (1.2.3)
R dt
R
.
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.3). Let v (t) represent the velocity; then, the resultant force
on the mass element is: f − bv . Hence
dv(t)
m + bv(t) = f (t) (1.2.4)
dt
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.
Example 1.2.4
A model for room heating is developed as follows (Figure 1.2.4): let q , denote heat inflow, C denote the thermal
i r
capacity of the room, θ denote the room temperature, θ denote the ambient temperature, and R denote a thermal
r a w
resistance representing wall insulation; then, the heat energy balance equation is given as:
dθr θr − θa
Cr + = qi (1.2.5)
dt Rw
dy
By comparing with the generic first-order ODE model, τ + y = u , the thermal time constant is described as:
dt
measured 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.2.5).
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,
l in out
and g denote the gravitational constant; then, the base pressure in the reservoir is obtained as:
ρg
P = Patm + ρgh = Patm + V (1.2.7)
A
dP
=
A
ρg
; then, the governing equation for hydraulic flow through the
reservoir is given as:
dP P − Patm
Ch = qin − (1.2.8)
dt Rl
dy
By comparing with generic first-order ODE model, τ
dt
+y = u , the hydraulic time constant is described as:
τ =R C .
w r
ρg
, 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
s
] , hydraulic capacitance
5
is 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.
By applying the Laplace transform with initial conditions: y (0) = y , we obtain an algebraic equation:0
s
; then, the output is solved as:
1 τ y0
y (s) = + (1.2.12)
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 .
dy(t)
A first-order ODE model with input u(t) and output y(t) is described as: τ + y(t) = u(t) .
dt
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
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
Example 1.3.1
A series RLC circuit with voltage input V (t) and current output
s i(t) has a governing relationship obtained by
applying the Kirchoff’s voltage law to the mesh (Figure 1.3.1):
di(t) 1
L + Ri(t) + ∫ i(t)dt = Vs (t) (1.3.1)
dt C
The above integro-differential equation can by converted into a second-order ODE by expressing it in terms of the
electric charge, q(t), as:
2
d q(t) dq(t) 1
L +R + q(t) = Vs (t) (1.3.2)
2
dt dt C
Alternatively, the series RLC circuit can be described in terms of two first-order ODE’s involving natural variables, the
current, i(t), and the capacitor voltage, V (t) , as:
c
di(t) dVc
L + Ri(t) + Vc (t) = Vs (t), C = i(t) (1.3.3)
dt dt
Example 1.3.2
The motion of a mass element of weight, mg, pulled upward by a force, f (t), is described using position output, y(t),
by a second-order ODE:
2
d y(t)
m + mg = f (t) (1.3.4)
2
dt
The second-order ODE expresses the fact that the moving mass has both the kinetic and potential energies (Figure
1.3.2).
Example 1.3.3
A mass–spring–damper system includes a mass affected by an applied force, f (t); its motion is restrained by a
combination of a spring and a damper (Figure 1.8).
Let x(t) 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:
m ẍ + b ẋ + kx = f (1.3.6)
2
dx(t) d x(t)
where the dots above the variable represent time derivative, i.e., ẋ (t) = dt
, ẍ (t) = 2
.
dt
Using position, x(t), and velocity, v(t) as variables, the mass-spring-damper system is described by two first-order
equations (called state equations) given as:
dx dv 1
= v(t), = (−kx(t) − bv(t) + f (t)) (1.3.7)
dt dt m
In the absence of damping, the dynamic equation of the mass-spring system reduces to:
2
d x (t)
m + kx (t) = f (t) (1.3.8)
2
dt
Application of the Laplace transform, assuming the following initial conditions: y (0) = y0 , ẏ (0) = ẏ 0 , u(0) = 0 ,
gives:
2
(s + a1 s + a2 ) y (s) − (s + a1 ) y0 − ẏ 0 = (b1 s + b2 ) u (s) (1.3.11)
or,
1
y (s) = [(s + a1 ) y0 + ẏ 0 + (b1 s + b2 ) u (s)] (1.3.12)
2
s + a1 s + a2
Transfer Function
By applying Laplace transform assuming no initial conditions, we obtain: (s
2
+ a1 s + a2 ) y (s) = (b1 s + b2 )u(s) ; the
resulting input-output transfer function is given as:
y (s) b1 s + b2
= (1.3.13)
2
u (s) s + a1 s + a2
For the mass–spring–damper model described by: mẍ + bẋ + kx = f (Example 1.3.3), the transfer function
from force input to displacement output is given as:
x(s) 1
= (1.3.14)
2
f (s) ms + bs + k
Example 1.3.4
Consider the mass-spring-damper model (Example 1.3.3), where the following parameter values are assumed:
m = 1, k = 2, b = 3 . Then, the second-order ODE is given as:
The application of the Laplace transform assuming zero initial conditions gives:
2
(s + 3s + 2)y (s) = f (s) (1.3.16)
The characteristic equation of the model is given as: s + 3s + 2 = 0 . The equation has real roots at: s = −1, − 2 .
2
Next, let f (t) = 2u (t) , f (s) = ; then, the output is solved as:
2
2
x (s) = (1.3.17)
s (s + 1) (s + 2)
By applying the inverse Laplace transform, the output response of the spring-mass-damper system is obtained as
(Figure 1.9):
−t −2t
x (t) = (1 − 2 e +e ) u(t) (1.3.19)
Example 1.3.5
Consider the mass-spring-damper model (Example 1.3.3), with following parameter values: m = 1, k = 2, b = 2 .
Then, the second-order ODE is given as:
ẍ (t) + 2 ẋ (t) + 2x (t) = f (t) (1.3.20)
The application of the Laplace transform assuming zero initial conditions gives:
2
(s + 2s + 2)y (s) = f (s) (1.3.21)
The characteristic equation of the model is given as: s + 2s + 2 = 0 . The equation has complex roots at:
2
s = −1 ± j1 .
Let f (t) = 2u (t) , f (s) = 2/s ; then, the output is solved as:
2
x (s) = (1.3.22)
2
s (s + 2s + 2)
Figure 1.3.4 : Time response of second-order system models: characteristic equation with real roots (left); with complex
roots (right).
inductance and the coil resistance. The mechanical side inertia and friction are denoted as J and b , respectively. Let k t
denote 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:
second equation. Alternatively, we multiply the first equation by k , the second equation by (Ls + R) , and add them
t
together 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 (s) to the angular displacement θ (s) is given as:
a
θ(s) kt
= (1.4.8)
Va (s) s [(Ls + R)(Js + b) + kt kb ]
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) = , is applied to the motor, the motor speed is obtained as:
1
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.
By substituting i a (s) into the torque equation, the mechanical side equation is given as:
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: τ ≅97.6 ms, which approximates the slower mechanical time
m
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)
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, τ , τ } = {20, 0.5, 1}. The transfer function model
d
−s
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.
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,
c
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
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
☰ J
dt
+ bω(t) − kt ia (t) = 0 (1.6.8)
Let i (t), ω(t) serve as the state variables, and let ω(t) represent the output; then, the state variable model of the DC
a
ia
ω =[0 1][ ] (1.6.10)
ω
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)
ω
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
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 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
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
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
Example 1.7.2
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
∂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:
d θ 0 1 θ 0
∘
θe = 180 : [ ] =[ g ][ ]+[ ]T (1.7.18)
dt ω 0 ω 1
l
θ
The output equation in both cases is given as: θ (t) = [ 1 0][ ] .
ω
Histogram
hello world
A=randn(3,5);
[u,s,v]=svd(A)
Sampling example in R
x<-1:7
sample(x,2)
1· 5
Plot histogram in R
x<-rnorm(100)
hist(x)
1 11/14/2021
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
zero system response, are represented by the roots of numerator polynomial. The poles of the transfer function, i.e., those
frequencies where the system response is undefined, are represented by 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. The
natural response includes terms of the form e , where p is a pole of the transfer function. The natural response of a stable
pi t
i
The poles and zeros of first and second-order system models are described below.
First-Order System
A first-order system has a generic 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 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 with voltage input and angular velocity output (Example 1.4.3) is described by
the differential equation: τ ω̇(t) + ω(t) = V (t) .
a
τ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 with associated time constant of 0.098sec.
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 above is used in a position control system where the objective is to maintain a
certain shaft angle θ(t) . The motor equation is given as: τ θ¨(t) + θ˙(t) = V (t) ; its transfer function is given as:
a
G (s) =
K
s(τs+1)
.
Using the above parameter values in the reduced-order DC motor model, the system transfer function is given as:
The transfer function has no finite zeros and poles are located at: s = 0, −10.25.
Example 2.1.3
τm
and s 2 =−
1
τe
, where τ and τ e 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)
R
= 10 ms, τm ≅
J
b
= 100 ms .
Equivalently, the second-order transfer function with complex poles is expressed in terms of the damping ratio, ζ , and the
natural frequency, ω , of the complex poles as:
n
K
G(s) = (2.1.9)
2 2 2
(s + ζ ωn ) + ωn (1 − ζ )
−−−−−
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 pole, and
n ζ =
σ
ωn
= cos θ , where θ is the angle subtended
by the complex pole at the origin.
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
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 the response of a first-order system.
Specifically,
1. For Δ > 0, the system has real poles, located at:
−−−−−−−−−
2
b b k
s1,2 = − ± √( ) − .
2m 2m m
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
s
,ζ =
1
√2
.
Figure 2.1.1 : Second-order transfer function pole locations in the complex plane.
i=1
Ci e
pi t
. Further,
the natural response is reflected in the impulse response of a system.
Let u (t) = δ (t) , u (s) = 1 ; then, the impulse response is computed as: y (s) = G(s) ; in the time-domain, the impulse
response is given as: g(t) = L [G(s)] .
−1
To proceed further, let the system transfer function be represented in the factored form as:
n(s)
G (s) = n
(2.2.1)
∏ (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
i
include a 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 .
Example 2.2.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)
=
1
s
−
1
s+1
is given as: g(t) = (1 − e −t
)u(t) .
The impulse response begins at g(0) = 0 and asymptotically approaches g(∞) = 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
(s+1)(s+2)
is given as: g(t) = (e −t
−e
−2t
)u(t) .
The impulse response begins at g(0) = 0 and asymptotically approaches g(∞) = 0 .
{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 . The effective time constant of a second- −σt
The natural response is of the form: y (t) = (C cos ωt + C sin ωt )e
n can be alternatively expressed as:
1 2
−σt
−σt
yn (t) = C e sin (ωt + ϕ) (2.2.8)
−−−−−−−
where C = √C
2
1
+C
2
2
and tanϕ = C1
C2
.
Example 2.2.4
−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 impulse response begins at g(0) = cos(0) = 1 and asymptotically approaches g(∞) = 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.
The output of the system in time-domain is given in terms of the convolution integral:
∞
where g(t) is the impulse response of the system. Hence, a necessary condition for BIBO stability is that the impulse
response dies out with time, that is, lim g(t) = 0 .
t→∞
The impulse response contains the modes of system natural response and is given as:
n
pi t
g(t) = ∑ Ai e (2.3.2)
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, where the damping terms in the
i
Internal Stability
The notion of internal stability requires that all signals within a control system remain bounded for every bounded input. 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. It is so because the internal modes of system response may
include those modes not be reflected in the input-output transfer function.
In the case of linear system models involving feedback, the internal stability requirements are met if the closed-loop
characteristic polynomial is stable and any pole-zero cancelations appearing in the loop gains are restricted to the OLHP.
In particular, for a single-input single-output (SISO) feedback control system, the loop gain includes the product of the
plant and the controller transfer functions.
s+1
, and the controller is given as: K(s) = K (
s+1
s+10
) ; then,
K(s+1)
K(s)G(s) =
(s+1)(s+10)
, which includes an OLHP pole-zero cancelation. However, the closed-loop characteristic
polynomial: Δ(s) = s + 10 + K has stable roots for K > −10 . Hence, the closed-loop system is internally stable for
K > −10 .
defined by: f (x , u ) = 0 .
e e
In particular, the equilibrium point is said to be stable if a system trajectory, x (t), that starts in the vicinity of x stays
e
close to x . The equilibrium point is said to be asymptotically stable if a system trajectory x (t) that starts in the vicinity of
e
x converges to x .
e e
For linear system models, defined by: ẋ = Ax(t) + Bu(t) , the origin x = 0 serves as an equilibrium point. In such
e
cases, the asymptotic stability requires that the poles of the system transfer function (equivalently, the eigenvalues of the
system matrix) lie in the open left-half plane, or Re [p ] < 0 , and there are no RHP pole-zero cancelations.
i
0, x <0
u(x) = { (2.4.1)
1, x ≥0
s
.
Let G(s) describe the system transfer function; then, the unit-step response is obtained as: y(s) = G(s)
1
s
.
G(s)
Its inverse Laplace transform leads to: y (t) = L −1
[
s
] .
t
Alternatively, the step response can be obtained by integrating the impulse response: y(t) = ∫ g(t − τ )dτ . 0
The unit-step response of a stable system starts from some initial value: y (0) = y , and settles at a steady-state value: 0
Further, from the application of the final value theorem (FVT): y = G(s) | . ∞ s=0
τs+1
, u(s) =
1
s
; then, y(s) = K
s(τs+1)
=
K
s
−
Kτ
τs+1
.
The time-domain response is given as: y(t) = K(1 − e ) u(t) .
−t/τ
Assuming arbitrary initial conditions, y (0) = y , the step response of a first-order system is given as:
0
−t/τ
y (t) = y∞ + (y0 − y∞ ) e , t ≥ 0 (2.4.2)
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
−
2
2s+1
.
The time-domain response is given as: y(t) = (1 − e −t/2
) u(t) .
s(τs+1)
, u(s) =
1
s
; then, y(s) = 2
s (τs+1)
K
.
2
s
+
τ
τs+1
) . Hence,
−t/τ
g(t) = K (t − τ (1 − e )) u(t) (2.4.3)
Example 2.4.2
Let G(s) = 1
s(2s+1)
; then, the unit-step response is computed as: y(s) = 2
1
s (2s+1)
=
1
s
2
−
2
s
+
4
2s+1
.
The time-domain response is given as: y(t) = (t − 2 + 2e −t/2
) u(t) .
( τ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.4)
2 2
Kτ1 Kτ2
where A = K, B = − τ1 −τ2
, C =
τ2 −τ1
.
Example 2.4.3
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) = − +
1
2s
0.556
s+10
0.056
s+100
The time-domain response is given as: y (t) = (0.5 − 0.556e + 0.056 e ) u(t), which settles at y
−10t
= 0.5 .
−100t
∞
The natural response modes, e and e , reflect motor electrical and mechanical time constants: τ ≅0.01s and
−10t −100t
e
τm ≅0.1s . The slower mechanical time constant dominates the motor step response.
s
+
Bs+C
2 2
,
(s+σ) +ω (s+σ) +ω
d 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.5)
2 2
σ +ω ωd
d
Example 2.4.4
m
N
Its transfer function is given as: G (s) = = . The system has complex poles located at:
2
1
s +5s+25
1
2 2
(s+3) +4
s = −3 ± j4 .
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.7)
25 4
The first-order-plus-dead-time (FOPDT) model of an industrial process is given as: G(s) = , where {K, τ , t } Ke
τs+1
d
The step response of the FOPDT model is computed as: G(s) = , which translated into a time-domain response as:
Ke d
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
0.5s+1
.
−s
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)
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 p i, i = 1, … n , denote the poles of the transfer function; then, using PFE, the
i=1
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:
jω0 t
yss (t) = G (jω0 ) e (2.5.3)
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ω)
.
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; the response includes a phase contribution from the frequency response
function.
Examples
Example 2.5.1
(s+10)(s+100)
.
(0.01ω+1)(0.1ω+1)
.
Let u(t) = sin 10t ; then, in the steady-state, the sinusoidal response is given as: y ss (t) = 0.35 sin(10t − 50 )
∘
.
The sinusoidal response of the DC motor is plotted in Figure 2.5.1.
Example 2.5.2
s +2s+5
=
1
2 2
; the complex poles are located
(s+1) +2
at: s = −1 ± j2 .
Let u(t) = sin πt ; then, in the steady-state, we have: y ss (t) = 0.126 sin(πt − 128 )
∘
.
The response is plotted below and includes the transient response, which dies out in 4-5 sec.
Let G(s) = K
τs+1
; then G (jω) = 1+jωτ
K
; Hence,
−1
|G (jω)| = 20 log K − 20 log|1 + jωτ | , ∠G (jω) = −tan ωτ (2.5.7)
dB
Example 2.5.3
s+1
are plotted (Figure 2.5.3).
The magnitude plot is characterized by: G (j0) = 0 dB, G (j1) = −3 dB , and a −20 dB/decade slope for large ω.
s(τs+1)
; then G (jω) = jω(1+jωτ)
K
; Hence,
−1 ∘
∠G (jω) = −tan ωτ − 90 (2.5.9)
Example 2.5.4
s(s+1)
are plotted below.
The magnitude plot is characterized by an initial slope of −20 dB/decade that changes to −40 dB/decade for large
ω; at the corner frequency, G (j1) = −3 dB .
Figure 2.5.3 : Bode plot for Examples 2.5.3 (left) and 2.5.4 (right).
( τ1 s+1)( τ2 s+1)
; then G (jω) = K
(1+jω τ1 )(1+jω τ2 )
; Hence,
−1 −1
∠G (jω) = −tan ωτ1 − tan ωτ2 (2.5.11)
Example 2.5.5
(s+1)(s+2)
are plotted in Figure 2.5.4.
The magnitude plot is characterized by: G (j0) = 0 dB, G (j1) = −3 dB , an intermediate slope of
−20 dB/decade, G (j2) = −14 dB , and a slope of −40 dB/decade for large ω.
ratio. Hence,
⎛ ω
⎞
2ζ ( )
ωn
−1 ⎜ ⎟
ϕ (ω) = tan ⎜ ⎟ (2.5.13)
⎜ 2 ⎟
ω
[1 − ( ) ]
⎝ ωn ⎠
Example 2.5.6
s2 +2s+10
are plotted below.
The magnitude plot is characterized by: G (j0) = 0 dB, G (jωn ) = −20 log(2ζ) , and a −40 dB/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).
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
−−−−−− 1
2
ωr = ωn √ 1 − 2ζ , ζ < (2.5.14)
–
√2
1 1
Mpω = , ζ < (2.5.15)
− −−− − –
2
2ζ √ 1 − ζ √2
Example 2.5.7
−−
Let G(s) = 2
10
s +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).
s +2ζs+1
, where ωn = 1 ,
ζ ∈ {0.1, 0.3, 0.5, 0.7, 0.9} .
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.
Learning Objects
1 11/14/2021
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 3.0.1). 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.
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 . Thus, (1 + KGH ) e = r .
Let L (s) = KGH (s) denote the feedback loop gain; then, (1 + L) e = r .
The error transfer function from r to e is obtained as:
1 1
S(s) = = (3.1.1)
1 + L(s) 1 + KGH (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 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
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 .
H (s) = 1 is assumed.
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:
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) .
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:
where θ and θ denote the angles subtended by the controller pole and zero at a desired closed-loop pole location in the
z p
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
A phase-lead controller is characterized by z c < pc , and contributes a net positive phase to the loop transfer function.
Phase-Lag Controller
A 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.01
. The phase contribution from the controller is shown below.
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)
We may note that the phase-lag zero is placed at a frequency much lower than the dominant pole frequency, whereas the
phase-lead zero is placed in the vicinity of the dominant pole frequency.
Controller Design Example
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)
.
0.1s+1
Let a phase-lead controller for the model be defined by: K (s) = K ( 0.02s+1
) .
s(0.0.02s+1)
.
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.
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 and 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, which is desirable for disturbance rejection. The modified PD controller is described by the transfer
function:
The modified PD controller is very similar to a first-order phase-lead controller; it is similarly employed to improve the
transient response of the system.
Example 3.3.1
25s+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 + s
.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.
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 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. The zero location can be adjusted so that the contribution of the slow mode
to the overall system response stays small.
The PI-PD Controller
The PD and PI sections can be combined in a PI-PD controller as:
ki ki
K(s) = ( kp + ) (1 + kd s) or K(s) = (kp + kd s) (1 + ) (3.3.8)
s s
The PI-PD controller adds two zeros and an integrator pole to the loop transfer function. The zero from the PI part may be
located close to the origin; the zero from 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.9)
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.
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
(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.10)
s
The MATLAB tuned PID controller with filter (PIDF) is given as:
0.015s 54.2
K (s) = 3.26 + + (3.3.11)
0.005s + 1 s
The response of the closed-loop system for the two controllers (PID and PIDF) is shown below (Figure 3.3.3). The
response in both cases shows a settling time of 0.3sec with 7-8% overshoot and no steady-state error.
Figure 3.3.3 : Unit-step response of the DC motor model with PID and PIDF controllers.
where F (s) denotes the forward path gain from an input node to an output node, and ∑ Li (s) denotes sum of the loop
gains.
The loop gain includes a plant transfer function in cascade with a PD controller, where the controller zero is located at:
s =− . Hence rate feedback configuration is identical to placing a PD controller in the loop.
K
kf
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)
By using simple block diagram manipulation, the rate feedback configuration (Figure 3.4.1) 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
2
1
ms +bs+k
values 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)
Figure 3.4.3 : Step response of mass-spring-damper system with rate feedback controller.
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:
Figure 3.4.5 : Alternate structure for rate feedback with cascade PI controller.
Example 3.4.2
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.
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.
Learning Objects
1 11/14/2021 https://eng.libretexts.org/@go/page/28512
CHAPTER OVERVIEW
4: CONTROL SYSTEM DESIGN OBJECTIVES
Learning Objectives
1 11/14/2021
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. Hence we will discuss the ways to
achieve the following objectives in this chapter:
1. Closed-loop stability
2. Acceptable transient response
3. Acceptable steady-state error
4. Sensitivity and robustness
In control system design, 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.
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)
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:
Necessary Condition. A necessary condition for stability of the polynomial is that coefficients ai , i = 1, 2, ⋯ , n , are all
nonzero and are positive, i.e., a > 0 .
i
Sufficient Condition. 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
∣
s
1 …
∣
0 ∣ …
s
The first two rows in the Routh's array are filled by alternating the coefficients of the polynomial. 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.
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)
Hence 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:
∘
A positive value of PM denotes closed-loop stability. Additionally, PM represents a measure of dynamic stability; hence
adequate PM is desired to suppress oscillations in the output response.
To proceed further, assume that the loop transfer function, KGH (s) , has m zeros and n poles. Then,
1. For low-order models (n ≤ 2) , the loop gain, KGH (s) , displays an infinite GM.
2. GM is finite for n − m > 2 and may be so for n − m = 2 .
The gain crossover occurs when |KGH (j0)| dB
> 0dB ; hence PM become relevant only in that case.
Stability Determination on 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 Bode magnitude and phase plots for K = 1 are shown in Figure 4.1.2.
The Bode magnitude plot displays a 15.6 dB 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.
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.
∘
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).
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).
Figure 4.2.1 : Copy and Paste Caption here. (Copyright; author via source)
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: {e , e , … , e }.
p1 t p2 t pn t
k=1 k k
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.
−−−−−
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:
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, tr , is indicated by ωd tr + ϕ = π . Thus, tr =
ωd
; the rise time is bounded as:
π
2ωd
≤t ≤ r . π
ωd
ωd
.
ζωn
. 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
Settling time ts ≅
4.5
ζ ωn
We may note that the above step response quality indicators are all functions of the damping ratio, ζ , of the closed-loop
roots.
To clarify this relationship, 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
A low (≤ 10%) overshoot in the step response is often desired, which translates into ζ ≥ 0.6.
Example 4.2.1
s +6s+25
. The closed-loop poles are located at: p1,2 = −3 ± j4 ,
hence ω n =5
rad
s
and ζ = 0.6 .
Figure 4.2.1 : Step response of a prototype second-order system showing rise time, peak time and settling time.
overshoot (%OS ), are used to define desired root locations for the closed-loop characteristic polynomial.
In particular, assuming a root root location, −σ ± jω , the following restrictions are placed on the real and imaginary parts:
1. The settling time constraint places a bound on the real part of the roots: σ ≥ . 4.5
ts
2. The damping ratio constraint requires that: θ ≤ ± cos ζ , where θ is the angle of the desired root location from the
−1
tr
Example 4.2.2
We assume the following design specifications: 0.7 < ζ < 1 and t s < 2s . Then, 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
r s
specifications place the following constraints on the closed-loop pole locations: σ ≥ 1.5, ω ≥ 4, and ζ ≥ 0.6 . n
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 .
Suppose the design specifications are given as: OS ≤ 10% (ζ ≥ 0.6) , t s ≤ 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 tr ≅0.47 sec (ω n tr ≅3 ), and the settling time
t ≅1.06 sec .
s
Figure 4.2.3 : Step response of the closed-loop simplified DC motor model (Example 4.2.4).
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: % OS ≤ 5% (ζ = 0.7) and t 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
ts 2
Integral Square Error, I SE : ∫
0
|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.
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
−s
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
K = 0.54 .
Figure 4.3.1 : Copy and Paste Caption here. (Copyright; author via source)
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
s
) , is given as: e(∞) = 1
1+KG(0)
.
s
2
) , is given as: e(∞) = 1
sKG(s)| 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
2
.
K
.
We note that the presence of an integrator in the loop forces Kp → ∞ , and the steady-state error to a step input to go to
zero.
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
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−p1 )…(s−pn )
.
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
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 .
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 system output is expressed in the 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)
A large loop gain (large K ) reduces steady-state error in the presence of both reference and disturbance inputs. A large
p
controller gain, K , can be used to increase K , however, a large K would generate a large magnitude input signal to the
p
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 d (s) . For example, a
c
notch filter centered at 60 H z removes power line noise from the measured signal.
s2 +110s+1025
.
Since G (0) ≅0.5, with a static controller, the position error constant is: Kp = 0.5K . The steady-state error in the
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 DC motor.
For a static controller, the closed-loop characteristic polynomial is given as: Δ(s, K) = s
2
+ 110s + 1025 + 500K.
√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 results in the following steady-state error to reference and disturbance inputs:
1 1
e(∞) = r(∞) − d(∞).
8 16
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)
Example 4.5.1
Let KG(s) = K
s(s+a)
, H (s) = 1 ; then, we have: T (s) = s(s+a)+K
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 =−
s+a
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 K = 10 , we have S T
G
=
s +110s+1025
s2 +110s+6025
.
Suppose we want to compute the sensitivity of T (s) to motor torque constant, k ; then t
2
s + 110s + 1000
G
S = (4.5.4)
kt 2
s + 110s + 1000 + 500 kt
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.
1 11/14/2021
5.0: Prelude to Control System Design with Root Locus
The typical structure of a feedback control system (Figure 5.0.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
Figure 5.0.1 : Copy and Paste Caption here. (Copyright; author via source)
Assuming a static gain 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, r s
etc.); 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.
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 5.1.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) (5.1.1)
The roots of Δ(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 → ∞, constitutes the root locus plot of the loop transfer function.
Example 5.1.1
Let G(s) = 1
s+1
, H (s) = 1 ; the closed-loop characteristic polynomial is given as: Δ(s) = s + 1 + K. The
polynomial has a single root at s = −1 − K .
1
K 0 1 2 5 10
The root locus plot, as K varies from 0 to ∞, traces a line that proceeds from σ = −1 along the negative real-axis to
infinity (Figure 5.1.2). The overlaid grid shows the damping ratio of the closed-loop root (ζ = 1 in this case).
s+1
, H (s) = 1
Example 5.1.2
Let G(s) = 1
s(s+2)
, H (s) = 1 . The closed-loop characteristic polynomial is given as: Δ(s, K) = s 2
+ 2s + K.
−−−−−
The roots of the characteristic polynomial are given as: s 1,2 = −1 ± √1 − K for K ≤1 , and as
−−−−−
s = −1 ± j√K − 1
1,2 for K > 1 . The roots for selected values of K are tabulated below.
K 0 1 2 10
The loci of these roots, as K varies from 0 → ∞ , comprise two branches that commence at the open-loop (OL) poles
located at {0, −2}, proceed inward along the real-axis to meet at σ = −1 , then split and extend along the σ = −1
line to s = −1 ± j∞ (Figure 5.2). These directions are called the RL asymptotes.
The RL plot can be extended to negative values of K , i.e., K ∈ (−∞, ∞) , 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.
In the following, it is assumed that the loop transfer function, KGH (s) , is proper, has n open loop (OL) poles and m ≤ 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 → ∞ ); the remaining n − m
branches follow the RL asymptotes to infinity (as K → ∞ ).
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 (K > 0) , and to the right of an odd number of poles and zeros for (K < 0) .
σ−pi
−∑
1
σ−zi
=0 .
2k+1
4. The RL asymptotes, assume angles: ϕ = (180 ), k = 0, 1, ⋯ , n − m − 1 , (forK > 0 ), and angles:
a n−m
∘
(360 ) , k = 0, 1, ⋯ , n − m − 1 (for K < 0 ). These asymptotes intersect at a common point on the real-
2k+1 ∘
ϕ =
a
n−m
∑ pi −∑ zi
axis, given as: σ =a . 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.
Example 5.1.3
K(s+3)
Let KGH (s) =
s(s+2)
; hence, n = 2, m = 1 .The closed-loop characteristic polynomial is formed as:
Δ (s, K) = s
2
+ (K + 2) 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 → ∞ .
2. The real-axis locus lies in the intervals: σ ∈ [−2, 0] ∪ (−∞, −3] (for K > 0) .
3. The real-axis break points are defined by: + =
σ
1
, or σ + 6σ + 6 = 0 ; the solutions include:
1
σ+2
1
σ+3
2
4. The asymptote angle is given as: ±180 (for K > 0 ), with intersection at: σ = 1 .
∘
a
(s+3)
Figure 5.1.4 : The root locus plot for G(s) = s(s+2)
.
Root Locus of Gs
|-------------------------------------------------------
----------|
Example 5.1.4
s(s+1)(s+2)
; then, n = 3, m = 0 . The closed-loop characteristic polynomial is formed as:
Δ(s) = s
3 2
+ 3s + 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 → ∞ .
2. The real-axis locus lies along σ ∈ [−1, 0] (for K > 0) .
σ
+
1
= 0 , which reduces to: 3 σ + 6σ + 2 = 0 , and has
1 2
☰ solutions at σ = −0.38, −2.62. The first solution is a break-away point for K > 0 ; the second one is the break-in
σ+1 σ+2
= −1 .
3
σ =− a
3
s(s+1)(s+2)
Root Locus of Gs
|---------------------------------------------------------
----------|
| + + + +-------------
---**&&&-+|
2 |-+*****************************************|###?
###asymptote&&& +||
| * * * |%%%?%%%locus*
&&& ||
| * * * +---B---open
loop poles+|
1 |-
+****************************************************&&&********+-
|
| * * * * *** &&& *
|
| * * * * ** && *
|
0
Analytic RL Constraints
The analytic RL constraints are derived from the closed-loop characteristic polynomial, Δ(s, K) = 1 + KGH (s). that is
satisfied by the closed-loop roots of the feedback control system.
Thus, for a point s to lie on root locus, it must satisfy: KGH (s ) = −1 . Further, KGH (s ) is a complex number hence
1 1 1
To proceed further, we assume that the loop transfer function KGH (s) , is written in the factored form as:
K(s − z1 ) … (s − zm )
KGH (s) = ; n > m. (5.1.3)
(s − p1 ) … (s − pn )
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:
Similarly, the terms, ∠(s 1 − pi ) and ∠(s 1 − zi ) denote the angles ot the designated pole location.
Example 5.1.5
–
Let KGH (s) =
K
s(s+1)(s+2)
; then, assuming that a point, s1 = j√2 , lies on the root locus, it satisfies the following
conditions (Figure 5.1.6):
Magnitude condition: K
– – –
Angle condition: −∠(j√2) − ∠(1 + j√2) − ∠(2 + j√2) = −180
∘
Figure 5.1.6 : Displacements and angles from OL poles to a point on the RL.
Controller Design
| s1 −p1 |…| s1 −pn |
The magnitude condition, |KGH (s 1 )| =1 , can be solved for the static controller gain, K , to get: K = | s1 −z1 |…| s1 −zm |
.
Further, let θ , θ denote the angles from the open-loop zeros and poles to the point s ; then, the angle condition states
zi pi 1
The angle condition can be used to add poles and zeros to the feedback loop, i.e., design a dynamic controller that would
force an RL branch to pass through a desired closed-loop root location.
obtained from the magnitude condition, or from the MATLAB generated RL plot by clicking on that location.
Example 5.2.1
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.2.1), 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 + 0.76s + 0.29) , has dominant closed-loop roots at:
2
The step response of the closed-loop system (Figure 5.2.2) shows a 5% overshoot and a settling time of 11.5 sec.
Root Locus of Gs
|---------------------------------------------------------
----------|
| + + + +-------------
---**&&&-+|
2 |-+*****************************************|###?
###asymptote&&& +||
| * * * |%%%?%%%locus*
&&& ||
| * * * +---B---open
loop poles+|
1 |-
+****************************************************&&&********+-
|
| * * * * *** &&& *
|
| * * * * ** && *
|
0
|##%%%%%%%%%%%%%%%%%%%%%%%%%%%%B############B@@@@@@@&&&&&B********
|
| * * * * $$$ @ *
|
| * * * * $@@ *
|
| * * * * @@@ *
|
-1 |-
+****************************************************@@@********+-
|
| * * * *
@@@ |
| * * * * *
@@@$ |
-2 |-
+**********************************************************@@@$*+-
|
| + + + + +
the 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
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 + 3s + 2s + 6 , has roots at:
3 2
–
s = −3, ±j√2 .
–
The closed-loop system impulse response shows oscillates at the natural frequency of√2 rad/sec (Figure 5.2.3):
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.
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.
Let G(s) = 2
s(s+2)
; design a phase-lead controller to achieve the following specifications: ζ ≅0.7, ts ≤ 2 s .
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
∘
0.16
compensated system, the controller gain is found as: K = 6.29 ; hence, K (s) = 6.29 ( s+2
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:
Example 5.3.2: PD
Controller Design Figure 5.3.2 : Step response of closed-loop
system.
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
∘
0.66
s+55
; since K(s1 )G(s1 ) ≅0.012∠ 180
∘
, let K = 81.25 . Then, for K(s) = 81.25
s+4
s+55
, we
have K(s )G(s1 1) = −1 .
The step response of the PD controller and proposed phase-lead design are almost identical (Fig. 5.3.5).
Let G (s) = 10
s(s+2)(s+5)
; assume that the design specifications are given as: OS ≤ 10%, t s ≤ 2sec .
2. Using MATLAB ‘efalfr’ command, we get: G (s ) = 0.35∠92 ; the required controller phase contribution is:
1
∘
K (s ) = K∠88 .
∘
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
(s+22.6)( s2 +4.4s+10.62)
.
The step response of the closed-loop system shows a settling time of 1.8s.
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-outer-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 closed-minor-loop transfer function is: G ml (s) =
s(s+2+2 kf )
.
Alternatively, from the minor loop root locus (Figure 5.3.8), we select k f =1 for closed-loop root at s = −4 .
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).
s +4s+8
.
The step response of the closed-loop system shows a settling time of 2.1s.
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 k f s G(s) =
s(s+2)(s+5)
. From the minor loop root locus (Figure 5.3.11), we
may choose, e.g., k f =2 for the closed-minor-loop roots to be located at: s = −3.5 ± j4.2 (ζ ≅0.64) .
s[(s+2)(s+5)+kf ]
= 2
10K
s( s +7s+30)
.
(s+3)( s2 +4s+18)
.
The step response of the closed-loop system shows a settling time of 1.5s.
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 )
The PI controller, in particular, results in: K = ∞ , hence e(∞)| = 0 . By virtue of adding an integrator to the
′
p step
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 to boost the relevant error constant while not appreciably disturbing the existing
RL plot.
Let s denote a desired closed-loop pole location on the existing RL plot; then, the controller pole and zero are selected in
1
accordance with: p < z ≪ Re(s ) . This ensures that the adverse angle contribution from the controller stays small, i.e.,
c c 1
θ −θ ≈ 0 .
∘
z p
The actual pole-zero locations for phase-lag and zero location for PI can be arbitrarily selected.
The PI/phase-lag controller adds a pole-zero pair close to the origin to the loop transfer function. Hence a closed-loop pole
with a large time constant appears in the closed-loop transfer function. Nevertheless, the contribution of the added slow
mode to the overall system response remains small due to the close proximity of the pole to the controller zero.
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
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.
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.
(.01s+1)(.1s+1)
. The design specifications are given as:
ζ ≥ 0.6, ess |step ≤ 0.01.
K(s+zc )
We choose a PI controller, K(s) =
s
, with unity-gain feedback H (s) = 1 . The loop gain is given as:
.5K(s+zc )
K(s)G(s) =
s(.01s+1)(.1s+1)
.
As a rule, the transient response improvement is aimed first. The pole and zero selected for phase-lead or PD design steer
the root locus toward the desired closed-loop pole locations. The pole-zero pair in the phase-lag or PI part of the design is
located close to the origin in order to minimally disturb the existing root locus.
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. The phase-lead controller design (covered in Example 5.3.3) proceeds as follows: Let
s = −2.2 ± j2.4, ζ = 0.68, denote a desired closed-loop pole location; then, G (s ) = 0.35∠92 , i.e., the required
∘
1 1
s+22
) .
Phase-lag Design. For K (s)G(s) , the velocity error constant is given as: K
lead v = 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.
s+2 s+0.01
The lead-lag controller is formed as: K (s) = 25 ( s+24
)(
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.
PID Design
An alternate PID design is performed in the next example.
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
s+zc
PI design. The PI controller is given as: s
, where zc ≪ s1 is desired. 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) = (s+0.01005)(s+2)( s2 +4.99s+9.95)
.
The step response of the closed-loop system shows a settling time of t s = 1.8sec .
Phase-Lead with PI
We can also combine the phase-lead controller design with a PI controller to define the composite controller as shown
below.
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 . The phase-lead controller is defined as:
c c
Klead (s) = 24 (
s+2
s+22
) .
mode in the step response remains dominant, increasing the settling time.
A better strategy 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.38sec .
Let G (s) = 10
s(s+2)(s+5)
; then, the MATLAB tuned PID controller is obtained as:
The resulting closed-loop roots are located at: s = −0.34, − 1.16, − 2.73 ± 3.71.
Alternatively, 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 an overshoot of about 10% with a settling time of t ≅6sec . s
Cs
=
RC s+1
Cs
R/C s
Parallel RC circuit: Z par (s) = 1
=
R
RC s+1
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.
Phase-Lead/Phase-Lag Controllers
A first-order phase-lead or phase-lag controller can be realized with parallel RC circuits placed as input and feedback paths.
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)
Ri Ci
, and a pole at: p c =
1
Rf Cf
.
Hence we may choose R C i i > Rf Cf for the phase-lead and R C i i < Rf Cf for the phase-lag design.
Vo Rf
For static gain and sign correction, a resistive Op-Amp circuit can be employed. The circuit has a gain of: Vi
=−
Ri
.
Example 5.6.1
5(s+1) 0.5(s+1)
Let K(s) =
s+10
=
0.1s+1
; then, the transfer function realization involves the following constraints:
Ri Ci = 1, Rf Cf = 0.1, Rf / Ri = 0.5.
1/ Cf s 1 (Ri Ci s + 1)
GPI (s) = − =− (5.6.3)
Zpar (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:
1 11/14/2021
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 6.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.
Figure 6.0.1 : Copy and Paste Caption here. (Copyright; author via source)
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.
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).
Bode Plot
To proceed further, we assume that the loop transfer function is expressed using first and second order factors as:
m s
K∏ (1 + )
i=1 zi
n0 n1 s n2 s s2
s ∏ (1 + )∏ (1 + 2 ζi + )
i=1 pi i=1 ω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
0 1 2
number of complex pole pairs, and K is a scalar gain. Further, z and p represent the zero and pole frequencies for first-
i i
order factors; ω and ζ represent the natural frequency and damping ratio of second-order factors.
n,i i
It is customary to plot the magnitude of the frequency response function on the log scale as
|G(jω)|
dB
= 20 log10 |G(jω)| . The magnitude of the loop gain is given in dB as:
m jω
∣ ∣
|KGH (jω)|dB = 20 log K + ∑i=1 20 log ∣1 + ∣ − (20 n0 ) log ω
zi
(6.1.3)
n1 ∣ jω
∣ n2 ∣ ω
2
ω ∣
−∑ 20 log 1 + −∑ 20 log ∣1 − + j2 ζi ∣.
i=1 ∣ pi ∣ i=1
∣ ωn,i
2
ωn,i ∣
At low frequencies, the frequency response magnitude is a constant, i.e., lim ω→0 |KGH (jω)|
dB
= 20 log K .
For large ω, the magnitude plot is characterized by a slope: −20(n − m) dB/decade of ω, 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
In particular, for n−m = 3 , the Nyquist plot crosses the negative real-axis at the phase crossover frequency, ω . Let 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
Examples
Example 6.1.1
Let G(s) = 1
s+1
; then, G(jω) = 1+jω
1
=
1
∠ − tan
−1
ω .
√1+ω2
√2
∠ − 45
∘
, and G(j∞) = 0 ∘
∠ − 90 .
The Bode magnitude plot (Figure 6.1.1) starts at 0 dB with an initial slope of zero that gradually changes to −20 dB
per decade at high frequencies. An asymptotic Bode plot consists of two lines joining ar the corner frequency (1 rad/s).
The Bode 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, for K > 0 , the Nyquist plot of KG (jω) is
confined to the RHP; hence, by Nyquist stability criterion, the closed-loop system is stable for all K > 0 .
Figure 6.1.1:
Bode and Nyquist plots for G (s) = 1
s+1
.
Example 6.1.2
jω(1+jω)
=
1
ω
1
√1+ω2
∠ − 90
∘
− tan
−1
ω .
√2
The Bode magnitude plot (Figure 6.1.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
− +
s(s+1)
Example 6.1.3
Let G (s) = 2
1
s +s+1
; then, G (jω) = 1
2
1−ω +jω
=
1
2 2
∠ − tan
−1 ω
1−ω
2
.
√(1−ω2 ) +(ω)
The Bode magnitude plot (Figure 6.1.3) starts at 0 dB with an initial slope of 0; the slope changes to −40 dB per
decade for ω > 1 . The magnitude plot shows a resonance peak at the corner frequency due to the low value of
ζ = 0.5 .
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.1.3:
Bode and Nyquist plots for
1
G (s) =
s2 +s+1
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
√10
(−4dB) ∠ − 108
∘
, G (j1) =
1
5 √2
(−13dB) ∠ − 139
∘
, and
G (j∞) = 0dB∠ − 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 ω → ∞ ).
∘
The Nyquist plot, obtained by joining a reflection of the polar plot, includes a closed contour that includes a negative
real-axis crossing at 0.33∠180 . As the plot expands for K > 1 , it encloses the critical (−1 + j0 ) point. The closed-
∘
Figure 6.1.4:
Bode and Nyquist plots for
2
G (s) =
s(s+1)(s+2)
Further, the Nyquist plot for K = 3 passes through the critical point.
The Nyquist plot for K = 4 crosses the real axis to the left of the critical point as shown in the figure below. In
addition, the plot of KGH (jω) for s ∈ (0 , 0 ) subscribes a large circle in the complex plane (not shown in the
− +
figure). Hence the Nyquist plot completes two CW encirclements of the critical point, indicating two unstable closed-
loop roots.
Figure \(\
PageIndex
{5}\): Nyquist plots for K = 3 and K = 4 .
Relative Stability
In frequency domain design, the relative stability of the feedback loop is described in terms of the gain and the phase
margins.
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.
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
The phase margin (PM) is the maximum amount of phase that can be added to the feedback loop (by the controller)
without compromising stability.
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.
The return difference is described by one minus the loop gain. At the input to the plant, the return difference
is 1+KGH(j\omega). The minimum value of the return difference is min |1 + KGH (jω)| . ω
For minimum-phase plants, the closed-loop stability depends on the Nyquist plot keeping a finite distance from the
−1 + j0 point. The closest distance of KGH (jω) from the −1 + j0 point indicates the minimum return difference with
respect to G(s) . The minimum return difference is a measure of the robustness of the control loop to parameter variations
in G(s) .
Examples
Example 6.2.1
Let K G(s) = 1
s(s+1)
; then, from the bode plot, we have GM = ∞ and PM = 51.8 . ∘
Example 6.2.2
Let K G(s) = 2
1
s +s+1
; then, we have GM = ∞ dB and PM = 90 . ∘
s2 +s+1
.
Example 6.2.1
Let K G(s) = 2
s(s+1)(s+2)
; then, we have GM = 15.6 dB and PM = 53.4 . ∘
ts ωgc
.
The bandwidth is related to the rise time t of the closed-loop system step response as: ω
r B tr ≈1 or t r ≅1/ ωB .
3ζ
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.4
s +110s+1025
.
K(s+10)
Assume that a PI compensator for the model 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 with compensator in the loop displays a phase margin of ϕm = 65.8
∘
, which
corresponds to a closed-loop damping ratio of ζ = 0.7 .
The step response of the compensated system displays a rise time of tr = 0.028s and a settling time of ts = 0.077s .
The predicted value of the settling time is: t =
s
8
= 0.078s.
ωgc tan ϕ
m
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
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.
System Sensitivity
The sensitivity of the closed-loop transfer function, T (jω) , to variations 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ω)
Keeping the sensitivity small over a frequency band requires a high loop gain, KGH (jω) . In general, increasing the loop
gain decreases the stability margins, i.e., a trade-off exists between the sensitivity and relative stability requirements.
In the context of robust control, the closed-loop transfer function T (jω) is referred as complementary sensitivity function.
The sensitivity and the complementary sensitivity are fundamentally constrained as: S(jω) + T (jω) = 1 .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.
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:
GM = 3 (9.54 dB), ωpc = 1.41
rad
s
; PM = 32.6 ,
∘
ωgc = 0.749
rad
s
.
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.3.1).
Figure 6.3.1 : Gain compensation: uncompensated system (left); compensated system (right).
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 )
frequency.
Compensator Design. The phase-lag compensator design is summarized below:
1. Use gain compensation to adjust the dc gain |KGH (j0)| to the desired value to meet the steady-state error
requirement.
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, ω serves as the new gain crossover frequency, and 5 is a safety margin to compensate for an
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 ess |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 ω = 0.4 rad/s for ∠KG(jω 1 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 (Fig. 6.3.2).
∘
Figure 6.3.2 : Phase-lag compensator design: uncompensated system (left); compensated system (right).
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
) .
α+1
, or α = 1−sin θm
. Further, the compensator pole and zero locations
ωm −
−
are obtained as: ω z =
√α
; ωp = ω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 )|
.
ts tan ϕm
and ω where1
2. Compute the required compensator phase angle: θ = ϕ − ∠G(jω ) − 180 ; compute |GH (jω m gc
∘
gc )|.
4. Inspect the Bode plot of the compensated system and verify the design.
Example 6.3.3
Let G(s) =
s(s+1)(s+2)
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 =
2
tan ϕm
= 1.68
rad
s; then, θ = 50 ∘ ∘
+9 = 59
∘ ∘
≅60 .
Further, G(j1.68) = 0.23 ∠ − 189 . ∘
ωz = 0.45
rad
s
,ω p = 6.27
rad
s
, K = 16 ; thus K (s) = 16 ( s+0.45
s+6.27
)
s
(Figure 6.3.3).
Figure 6.3.3 : Phase-lead compensator design: uncompensated system (left); compensated system (right).
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).
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. Phase-Lag Design. Suppose we aim to raise the phase margin to PM ≈ 40 . From the Bode plot, let ∘
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 .
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.3.4).
Figure 6.3.4 : Lag-lead compensator design: phase lag compensation (left); phase-lead compensation (right).
The PI compensator zero is arbitrarily located close to the origin. The gain ki is selected to achieve a desired PM
improvement.
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:
ts tan ϕm
and ω1 , where ω1 is found from the Bode plot for
∠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.
∘
The compensator zero location may be selected as: ω z = 0.1 ωgc ; the compensator gain k is selected to meet the crossover
p
s(s+1)(s+2)
; assume that the design specifications are: ϕ m = 50
∘
,t
s =4 s , and e ss |ramp < 0.1 .
No gain adjustment is needed as the PI compensator will boost the position error constant K p → ∞ .
1. PI design. We aim to achieve P M = 30
∘
in the PI section. The Bode plot for G(jω) has
0.9(s+.05)
G(j0.8) = 0.9 ∠ − 150 . Let ω = 0.05; then K
∘
z PI (s) =
s
.
2. PD design. From the settling time requirement, ω gc =
2
tan ϕm
≅1.7
rad
s
; from the phase angle requirement,
ω1 = 2.5 ; hence, ω = 2.5
rad
s
PD (s) = 5(s + 0.2) .
4.5(s+0.05)(s+0.2)
4. The PID compensator is given as: K(s) = s
. The Bode plot of the compensated system has
= 53.4 at ω (Figure 6.3.5).
∘ rad
ϕm = 2.58
gc
s
Figure 6.3.5 : The PID compensator design: PI compensation (left), PD compensation (right).
To proceed further, we use rectangular form expression for the open loop frequency response:
KG(jω) = X(jω) + jY (jω) ; then,
X + jY jϕ
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
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 ω = ωr for ζ < 0.7 . In particular, for a prototype second-order
system, we have:
−−−− −−
Resonant frequency: ω r = ωn √1 − 2ζ
2
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ω) . The MATLAB Control System Toolbox 'grid' command adds constant M , N contours
r
Let KG(s) =
10
s(s+1.86)
, KG(jω) = 2
10
−ω +j1.86ω
;
then, the closed-loop frequency response has a peak M = 5 dB , as can be observed on both the Nyquist plot and
r
Nichol’s chart in Figure 6.4.1 (an imaginary 5dB circles touches the KG(jω) curve).
Figure 6.4.1 : Closed-loop frequency response evaluation on the Nyquist plot (left) and Nichol’s chart (right).
1 11/14/2021
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.0.1).
∗
r (t) = ∑ r(kT )δ(t − kT ) (7.1.1)
k=0
∗ −skT
r (s) = ∑ r(kT )e (7.1.2)
−k
r(z) = ∑ r(kT )z (7.1.3)
−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
jθ
.
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 − z −1
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.
jθ
Example 7.1.2
Let r(t) = e −at
u(t) ; then r(kT ) = {1, e
−aT
,e
−2aT
, …} . Hence,
∞
1
−akT −k −aT −1
r(z) = ∑ e z = ; |e z | <1 (7.1.6)
−aT −1
1 −e z
0
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 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)
z 2 − 2 cos(ωT ) e−aT + e−2aT
−aT
z z(z − e cos(ωT ))
−akT
e cos(kωT )↔ . (7.1.11)
2
z − 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)
k
.
+ 1.25 (0.6)
k
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
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
G(s)
where z { s
} denotes the z -transform of a sequence obtained by sampling ∫ g (t) dt .
s+a
; then G(z) = (1 − z −1
) z{
a
s(s+a)
} = (1 − z
−1
)z {
1
s
−
s+a
1
}.
−a T
z
(
z
z−1
−
z
z−e−a T
) =
1−e
z−e−a T
.
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
1/a 1/a
Let G(s) = s(s+a)
a
; then G(z) = (1 − z −1
) z{ 2
a
s (s+a)
} = (1 − z
−1
)z {
1
s
2
−
s
+
s+a
} .
−a T −a T
z−1 aT (z−e )−(z−1)(1−e )
By using the z-transform table, we obtain: G(z) = 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)
.
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
T ≪ 1/ ω , where ω
s n represents the natural frequency.
n
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:
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:
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) = 1
T
, hence g (kT ) = 1
T
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: z i, 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
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
Let G(s) = 1
; use T = 0.2s to obtain: G(z) =
s+1
. The sampled-data system is described by the following
0.181
z−0.819
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.1.
Figure 7.3.1 : Unit-pulse responses of continuous-time and sampled-data systems for Example 7.3.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:
Assuming u (k) = {5, 0, 0, …}, and zero initial conditions, the unit-pulse response is obtained as:
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.2. 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.2 : Unit-pulse responses of continuous-time and sampled-data systems for Example 7.3.4.
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.
1−z
−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)
.
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, …
Figure 7.3.3 : Unit-step responses of continuous-time and sampled-data systems for Example 7.3.5.
Example 7.3.6
Let G(s) =
1
s(s+1)
; use T = 0.2s to obtain: G(z) =
0.0187z+0.0175
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 step responses of the continuous and discrete systems are plotted alongside (Figure 7.3.4).
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.
Then, using an arbitrary input sequence: {u (k)} = {u (1) , u (2) , …}, the output sequence is given by the convolution
sum:
∞
i=0
Example 7.3.7
(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.3.5).
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.
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 (7.4.4)
∣ b0 bk+1 ∣
The sufficient conditions for stability, given by the Jury’s test, are:
a0 > | an |, | bn−1 | > | b0 |, | cn−2 | > | c0 |, … (n − 1)constraints. (7.4.6)
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.7)
∣
b1 b0
∣
∣ b0 b1
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.9)
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.10)
The above conditions are similar those obtained from the application of Jury’s stability test.
Example 7.4.1
Let G(s) = 1
s+1
,T = 0.2s ; then, the pulse transfer function is given as: G(z) = 0.181
z−0.819
.
The closed-loop characteristic 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)
.
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) .
Example 7.5.1
Let G(s) = 1
s+1
,T = 0.2 s ; then, we have G(z) = 0.181
z−0.819
z−0.819+0.181K
.
1−z
−1
; then, system response is obtained as: y(z) = 0.181z
(z−1)(z−0.638)
.
z−1
−
z
z−0.638
).
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.
Figure 7.5.1 : Step responses of the continuous-time and sampled-data systems for Example7.5.1.
Example 7.5.2
Let G(s) = 1
s(s+1)
,T = 0.2s ; then, we obtain: G(z) = 0.0187z+0.0175
(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
0.0187z+0.0175
Let K = 1; then, the closed-loop pulse transfer function is: T (z) = 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)
.
The step response sequence is given as: y(kT ) = {0, 0.368, 1, 1.4, 1.4, 1.15, …}
s2 +s+1
.
In particular, from the MATLAB ‘margin’ command, the continuous-time system has a PM of 52 at ω ∘
gc = 0.786
rad
s
.
Since T = 0.2 sec, the reduction is phase margin is: Δϕ = 4.5 . m
∘
The position and velocity error constants in the case of sampled-data system are defined as:
Kp = limG(z) (7.5.4)
z→1
(z − 1)
Kv = lim G(z) (7.5.5)
z→1 T
Using the error constants, the steady-state errors to step and ramp inputs are computed as:
1
ess | = (7.5.6)
step
1 + Kp
1
ess | = . (7.5.7)
ramp
Kv
Example 7.5.3
(z−1)(z−0.819)
(T = 0.2s) ; then, the error constants are given as K p =∞ and K
v =1 .
k=1 s−sk
Ak
controller is obtained as: K(z) = T ∑
n
k=1 1−p z −1
, pk = e
sk T
, that is, the controller poles are mapped to their
k
another n − m zeros 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 to the controller. 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 quite effective when used with a high sampling frequency. Using the BLT, an equivalent digital
controller is obtained as: K(z) = K(s)| .
s=
2 z−1
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)
A lead-lag controller for this example was designed earlier: K (s) = 25 ( s+2
s+24
)(
s+0.05
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.6.1.
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 vk denote the integrator output; then, the digital PID controller is implemented using the following update
rules:
1
uk = kp ek−1 + (ek − ek−1 ) + ki vk (7.6.3)
T
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
.
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.6.2. The
discrete PID controller with forward Euler approximation of derivative emulates the analog controller well. However,
pole-zero matching is seen to give the best result in this example.
ω
=∓ .
s +2ζωn s+ωn 2
√1−ζ
ζ
The constant ζ lines in the z-plane are obtained by: z = e Ts
=e
σT
e
±jωT
, where σ = ∓ ω and ωT ranges from 0 to
2
√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
n
(T ) 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π, ζ ≥ 0.6, which assumes a sampling frequency between 2 and10 times the natural
n
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.
The z -plane root locus is plotted using MATLAB 'rlocus' command and is shown in Fig. 7.7.1. From the z-plane RL
plot (Figure 7.7.1), we can choose, e.g., K = 0.46 , to have ζ = 0.7 for the closed-loop roots.
z = 0.9 ± j0.09. The use of MALTAB ‘damp’ command shows a damping ratio of ζ = 0.7 with a natural frequency
The step responses of analog and discrete systems are compared in Figure 7.7.2.
Figure 7.7.2 : Step response of the closed-loop continuous-time and sampled-data systems.
By separating into real and imaginary part gives two equations: ln r = −ζ ωn T and θ = ωd T , 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
Example 7.7.2
0.0187z+0.0175
Let G(z) =
(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
Example 7.7.3
s2 +110s+1025
; the design specifications are for the motor step response to
have: OS ≤ 10% (ζ ≥ 0.59), t s ≤ 100ms, e(∞) |
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
.
In order to obtain zero steady-state error, we may choose a PI controller, where the controller zero approximately
K(s+10)
cancels a plant pole, i.e., let K (s) = s
.
The s -plane and z -plane root locus plots are shown in Figure 7.7.3. From the plots, we may choose, e.g., K =8 for
the closed-loop system to achieve a time constant: τ ≅25ms .
Figure 7.7.3 : Root locus plot for the DC motor model: analog system design (left); sampled-data system design (right).
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
Discrete: T (z) = z
0.14 z
3
−2.13 z
−0.03z−0.089
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.7.4. As seen from the figure, both
analog and discrete systems meet the settling time and overshoot requirements.
Figure 7.7.4 : Step response of the DC motor for the analog and discrete PI controller design.
Example 7.7.4
Let G (s) = 2
500
s +110s+1025
; the design specifications are for the motor step response to have:
OS ≤ 10% (ζ ≥ 0.59), ts ≤ 100ms, e(∞) | = 0.
step
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
The ‘pidtune’ command is used to design a similar PID controller for the discrete model. The result is:
z−1
K (z) = 23.4 + 0.368 (
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.7.5.
Both controller achieve a settling time t < 0.1s with no steady-state error. However, in this case, the tuned digital
s
Figure 7.7.5 : Step response of the DC motor for the analog and discrete PID controller design.
1 11/14/2021
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.
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 T
state 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)
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
At
A t
e =∑ = I + At + … (8.1.9)
i!
i=0
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).
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)
In the case of a MIMO system, G (s) represents a p × m transfer matrix, given as:
−1
G(s) = C(sI − A ) B+D (8.1.21)
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
=
1
Δ(s)
[ ]; Δ(s) = s
2
+
b
m
s+
k
m
.
−k/m s
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 ω
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 s + 10 −5
−1 2
(sI − A ) = [ ]; Δ(s) = s + 110s + 1025 (8.1.27)
Δ(s) 5 s + 100
Impulse Response
Consider the state equation:
T
ẋ(t) = Ax(t) + bu(t), y(t) = c x (8.1.29)
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)
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
s
. Then, we have:
T −1
sx (s) = c (sI − A) b (8.1.34)
Alternatively, the step response represents the integral of the impulse response:
t
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 ω
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
where {e −99.72t
, e } represent the system’s natural response modes that correspond to the electrical and
−10.28t
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
Figure 8.1.1 : The DC motor model: impulse response (left); step response (right).
i !
of 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 of A, and 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)
The state-transition matrix can be computed from the modal matrix as:
At Λt −1
e = Me M (8.2.4)
Asymptotic Stability
The asymptotic stability refers to the long-term behavior of the natural response modes of the system. These modes are
also reflected in the state-transition matrix, e . At
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→∞
The computation of modal and state-transition matrices is illustrated separately when the characteristic polynomial, Δ(s) ,
has real or complex 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 , s = −1, −2 .
2
1 2
−1 0
Λ =[ ] .
0 −2
−t −2t −t −2t
2e −e e −e
Since A = MΛM −1
, we have: e At
= Me
Λt
M
−1
, which computes as: e At
=[
−2t −t −2t −t
] .
2e − 2e 2e −e
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: s , s = −1 ± j1 . The natural response modes are:
2
1 2
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
In this case, to avoid the complex algebra, we construct a modal matrix from the real and imaginary parts of the
1 0
eigenvectors. Accordingly, let M = [ ] .
−1 1
Further, lim e
At
=0 ; hence, the homogenous state equation is asymptotically stable.
t→∞
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 simulation diagram first realizes the highest derivative using a summing node and then uses a series of integrators to
obtain the lower order derivatives up to the output (Figure 8.3.1).
The transfer function can be expanded using partial fractions expansion (PFE) to obtain:
K1 K2
y(s) = u(s) + u(s) (8.3.5)
s + σ1 s + σ2
In parallel realization, the system output is expressed as: y (s) = y1 (s) + y2 (s) ; further, the two output components are
formed by ODEs that share a common input, u (t):
These ODEs are realized into a parallel simulation diagram (Figure 8.3.2).
To remove the derivatives of the input from state variables, an auxiliary variable, v(t) , is introduced to split the ODE as:
...
v (t) + a1 v̈ (t) + a2 v̇ (t) + a3 v(t) = u(t) (8.3.9)
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.3.3).
Figure 8.3.3 : Simulation diagram for controller form realization of the transfer function model.
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
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)
⎢ 0 0 1 … ⎥ ⎢ 0 ⎥
⎢ ⎥
A =⎢ ⎥, b =⎢ ⎥ (8.3.15)
⎢ ⎥ ⎢ ⎥
⎢ ⋮ ⋮ ⋱ 1 ⎥ ⎢ ⋮ ⎥
⎣ ⎦ ⎣ ⎦
−an −an−1 … −a1 1
Let n (s) = b s + b s
0
m
1
m−1
+ ⋯ + bm represent the numerator polynomial, where m = n−1 is assumed; 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 as shown in the following
example.
Example 8.3.1
y(s)
A mass–spring–damper system is described by transfer function model: G (s) = u(s)
=
1
s2 +2s+2
.
ẋ2 = x1
ẋ3 = x2
The alternate controller form is obtained by using 'ss' command after defining a transfer function in the MATLAB Control
Systems Toolbox.
s +2s+2
. 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, x represents the velocity and x the position of the inertial
1 2
mass.
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.
Example 8.3.3
y(s)
A mass–spring–damper system is described by the following transfer function: G (s) = u(s)
=
1
s2 +2s+2
. Its controller
form model was derived in Example 8.3.1. The alternate observer form state variable model is given as:
d x1 0 −2 x1 1 x1
[ ] =[ ] [ ]+[ ] u, y =[0 1][ ]. (8.3.23)
dt 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
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 of the transfer function is used to obtain first and second-order factors in the transfer function model.
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: A i =[ ] . Alternately, a second-order factor can be realized in the serial
−ω σ
Example 8.3.4
Consider the following third-order model with one real and two complex poles:
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)
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.
Example 8.3.5
s +10s+1025
.
s+10.28
−
1
s+99.72
] .
ẋ1 −99.72 0 x1 1 x1
[ ] =[ ][ ]+[ ] Va , ω = [ −5.59 5.59 ] [ ] (8.3.27)
ẋ2 0 −10.28 x2 1 x2
The decoupled state and output equations representing the DC motor model are given as:
ẋ1 (t) = −99.72 x1 (t) + Va (8.3.28)
We may note that the state variables in diagonal realization represent linear combinations of the original state
variables. This topic is discussed in the next section.
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)
Next, we explore the possibility to impart a desired structure to the system matrix through linear transformation of the state
variables.
First, define A
¯
= P AP
−1
,
¯
b = Pb ; the first equation is alternatively expressed as: A
¯
P = PA .
Then, 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.
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, G (s) = c (sI − A) b .
T −1
Next, assume that the controllability matrix, M , of pair (A, b) is of full rank. Let M denote the controllability matrix
C CF
be written by inspection.
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 ω
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
−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.
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
¯ −1
real 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: A
¯
= P AP
−1
=[ ] .
−1 1 −1 −1
Example 8.4.3
−0.9985 0.0556
We use MATLAB ‘eig’ command to obtain: V =P
−1
=[ ] .
0.0556 −0.9985
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)
ia x1
The original state variables are recovered as: [ ] =P
−1
[ ] , i.e.,
ω x2
1 11/14/2021
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.
where k = [k
T
1, k2 , … , kn ] is a vector of n feedback gains, one for each of the n state variables, and r(t) 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, Ab, … , A b] .
C C
n−1
By including control law in the state equations, the closed-loop system is given as:
T
ẋ(t) = ( A − bk )x(t) + br(t) (9.1.3)
The design problem, then, is to select the feedback gain vector k that multiplies the state vector x(t) , such that the
T
closed-loop system matrix A − bk has characteristic polynomial that aligns with a desired polynomial, i.e.,
T
T
∣s I − A + bk ∣ =Δ
∣ ∣ 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.
Closed-loop System
The closed-loop system model is given as:
where A cl = (A − bk
T
) . Assuming closed-loop stability, for a constant input r(t) = rss , the steady-state response, xss ,
obeys:
T
0 = Acl xss + b rss , yss = c xss (9.1.6)
Hence, y ss =c
T
A
−1
cl
b rss .
The motor model has a denominator polynomial Δ(s) = s + 110s + 1025 ; its roots are located at2
s = −10.28, −99.72 that are reciprocals of the motor time constants (τ ≅10 msec, τ
1,2 ≅100 msec) . e m
Assume that the design specifications require the closed-loop response to have a time constant of 20ms.
To reduce a time constants to 20 msec, we may choose to place the closed-loop poles at −50,−100. Then, the desired
characteristic polynomial is given as: Δ (s) = s + 150s + 5000 .
des
2
By comparing the coefficients of the two polynomials, we obtain the feedback gains: k1 = 0.4, k2 = 7.15 . The
resulting control law is given as:
Va (t) = −0.4 ia (t) − 7.15 ω(t) (9.1.10)
−140 −20
The closed-loop system system matrix is given as: [ ] .
5 −10
Figure 9.1.1 : The step response of the DC motor with pole placement controller: armature current (top); motor speed
(bottom).
⎣ ⎦ ⎣ ⎦
−an −an−1 … −a1 1
⎢ 0 0 1 … ⎥
T ⎢ ⎥
A − bk =⎢ ⎥. (9.1.12)
⎢ ⎥
⎢ ⋮ ⋮ ⋱ 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.13)
By comparing the coefficients, the desired feedback gains are computed as:
k1 = ān − an , k2 = ān−1 − an−1 , … , kn = ā1 − a1 . (9.1.15)
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
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] .
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.18)
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:
☰
The state feedback control law in the controller form is defined as:
T T
u = −kCF z(t) = −kCF P x(t). (9.1.20)
Example 9.1.3
4
100 −10
The controllability matrix of the model is formed as: M C = [b, Ab] = [ ] .
0 500
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 CF M MCF = [ 0.4
C
The resulting state feedback control law is given as: V a = −0.4 ia − 7.15ω .
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.26)
−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 Ackermann’s formula for pole placement
design. The command is invoked by entering the system matrix, the input vector, and a vector of desired roots of the
characteristic polynomial. The function returns the feedback gain vector that places the eigenvalues of A − bk , at the T
The matrix Λ is diagonal and contains the desired eigenvalues; it may be assumed in modal form for complex eigenvalues.
Let k T
X =g
T
; then, the Sylvester eqution is formulated as:
T
AX − XΛ = bg (9.1.30)
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
0 0
Let g
T
= [1 0] ; then, bg
T
=[ ] . The solution to Sylvester’s equation is obtained as:
1 0
−0.067 −0.082
X =[ ] .
0.333 0.0
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)
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 a a
law is revised to include a feedforward gain: V = −0.4i − 7.15ω + k r , where we want to choose k for zero
a a r r
steady-state 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 .
A plot of the motor response with feedforward compensation is shown in Fig. 9.2.1. As expected, the motor speed
asymptotically approaches unity in the steady-state.
Example 9.2.2
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: dt
d
[ ] =[ ][ ] + kr r .
v −10 −4 v
Figure 9.3.1 : State feedback with integrator in the loop for tracking a reference input.
A proportional-integral (PI) type 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 . The integral controller forces the
i
An augmented system model is formed by adding the integrator output to the set of 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) = ∣
T
∣, where I denotes an identity
∣ 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.
Examples
Example 9.3.1
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:
The control law for the augmented system is given as: u = −k 1x − k2 v + ki ∫ (r − x)dt .
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.3.1 for three different values of integral gain.
Figure \(\
PageIndex
{1}\): tep response of the mass-spring-damper system with integrator in the loop.
Example 9.3.2
Assume that design specifications call for a low overshoot to step response and a settling time, t s ≅0.1s .
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
1 11/14/2021
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.
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 t 0 = (k − 1)T ; then, assuming a constant input, u , the state at k t = kT
is given as:
kT
At AT
xk = e xk−1 + ∫ e B uk dτ (10.1.4)
(k−1)T
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
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
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 = −99.7, − 10.28
1,2 1,2
by the relation: z = e . Ts
Starting from an initial vector, x , and given an input sequence u {k}, an iterative solution to the discrete state equation is
0
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
k=0
Example 10.1.2
Assuming zero initial conditions and a unit-input sequence: uk = {1, 1, …}; the output sequence is iteratively
computed as:
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)
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
By using the 'tf' command in MATLAB, 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.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 in MATLAB. 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
For a desired characteristic polynomial: Δ (s) = s + 150 s + 5000 , a state feedback controller for the continous-
des
2
time state variable model was obtained as (Example 9.1.1): k = [ 0.4 7.15 ] .
T
We can use the same controller to control the corresponding sample-data system models.
The unit-step response of the closed-loop system is simulated in Figure 10.2.1, where both state variables, i a (t) and
ω (t) , are plotted.
Figure 10.2.1 : The step response of the DC motor model with analog controller emulation: armature current (top);
motor speed (bottom)
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 100 msec.
controller for the system can be designed using pole placement similar to that of the continuous-time system (Sec. 9.1.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
T
k
be obtained by equating the coefficients of the characteristic polynomial with those of a desired polynomial:
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
Closed-loop System
The closed-loop system model is given as:
T
xk+1 = Acl xk + bd rk , yk = c xk (10.2.7)
where A cl = (Ad − bd k
T
) .
Assuming closed-loop stability, for a constant input r k = rss , the steady-state response, x , of the system obeys:
ss
T
xss = Acl xss + bd rss , yss = c xss (10.2.8)
Hence, y ss =c
T
(Acl − I)
−1
bd rss .
Example 10.2.2
The desired s -plane root locations for the model are given as: s = −50, −100.
−0.080 −3.867
The closed-loop system matrix is given as: A d) =[ ] .
0.025 0.583
An update rule for implementation of the controller on computer is obtained as: u k = −0.247 ik − 4.435 ωk .
Example 10.2.3
−T
Let G(s) = 1
s+1
; then G(z) = 1−e
z−e−T
.
−T
Example 10.2.4
The discrete state variable model of a DC motor for T = 0.02 s is given as:
For pole placement design, let Δ (z) = z . By equating the polynomial coefficients, the deadbeat controller gains
des
2
The step response of the deadbeat controller (Figure 10.2.3) settles in two time periods. The response was scaled to
match that of the continuous-time system.
An approximate deadbeat design can be performed by choosing distinct closed-loop eigenvalues close to the origin,
e.g., z = ±10 , and using the 'place' command from the MATLAB Control Systems Toolbox.
−5
The feedback gains for the approximate design are obtained as: k1 = 0.509, k2 = 9.702 . The resulting closed-loop
system response is still deadbeat.
Figure 10.2.3 : The step response of the DC motor model with deadbeat controller.
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.18)
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.20)
d
T (1)
.
Example 10.2.5
A state feedback controller for the motor model was previously designed as: k
T
= [ k1 , k2 ] , where
k1 = 0.247, k2 = 4.435.
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.2.4.
Figure 10.2.4 : The step response of the tracking controllers for the DC motor model.
Example 10.2.6
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.2.5.
Figure 10.2.5 : The step response of the deadbeat tracking controller for the DC motor model.
The state feedback controller for the augmented system is defined as:
x(k)
T
u(k) = [ −k ki ] [ ] (10.2.26)
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.27)
T
v(k + 1) −c T 1 v(k) T
Example 10.2.6
where v = v
k + T (r − ω )
k−1 k describes the output of the integrator. The augmented system model for the pole
k
The desired z -plane pole locations for a desired ζ = 0.7 are selected as: z = e −1
, e
−1±j1
.
The controller gains, obtained using the MATLAB ‘place’ command, are given as:
k1 = 0.43, k2 = 15.44, ki = −297.79.
The step response of the closed-loop system is plotted in Figure 10.2.6. The step response of the continuous-time
system (Example 9.1.1) is plotted alongside. The output in both cases attains steady-state value of unity in about
0.12sec.
G tracking error
R 4.3: Steady-State Error Improvement
gain compensation Routh test transfer function
6.3: Frequency Response Design 4.1: Stability of the Closed-Loop System 2.1: System Poles and Zeros
Index
B H Ruth’s test
Hurwitz criterion 7.4: Stability of Sampled-Data Systems
Bode plot
4.1: Stability of the Closed-Loop System
2.5: Sinusoidal Response of a System
6.1: Frequency Response Plots
S
I Schur–Cohn stability test
C impulse response 7.4: Stability of Sampled-Data Systems
2.4: The Step Response sinusoidal response
controller form
ITAE index 2.5: Sinusoidal Response of a System
9.1: Controller Design in Sate-Space
4.2: Transient Response Improvement step function
2.4: The Step Response
D step response
damping ratio J
2.4: The Step Response
2.1: System Poles and Zeros Jury’s stability test
7.4: Stability of Sampled-Data Systems
Sylvester equation
DC motor 9.1: Controller Design in Sate-Space
1.4: An Electro-Mechanical System Model
N system poles
2.1: System Poles and Zeros
F Nichol’s chart system sensitivity function
final value theorem 6.4: Closed-Loop Frequency Response
4.5: Sensitivity and Robustness
7.5: Closed-Loop System Response
frequency response function P T
2.5: Sinusoidal Response of a System pole placement design tracking control system
6.1: Frequency Response Plots 9.1: Controller Design in Sate-Space
4.3: Steady-State Error Improvement
G tracking error
R 4.3: Steady-State Error Improvement
gain compensation Routh test transfer function
6.3: Frequency Response Design 4.1: Stability of the Closed-Loop System 2.1: System Poles and Zeros
Glossary