Uploaded by Umair

Control system lectures

advertisement
ECE4510: Feedback Control Systems.
1–1
FEEDBACK CONTROL
• Control is a very common concept.
e.g., Human-machine interaction: Driving a car.
➤ MANUAL CONTROL.
e.g., Independent machine: Room temperature control. Furnace in
winter, air conditioner in summer. Both controlled (turned “on”/“off”)
by thermostat.
➤ AUTOMATIC CONTROL.
Control is the process of causing a system variable to
conform to some desired value, called a reference value. (e.g.,
variable=temperature)
DEFINITION:
Feedback is the process of measuring the controlled
variable (e.g., temperature) and using that information to influence the
value of the controlled variable.
DEFINITION:
• Some applications:
– Airplane autopilots that can land a plane in fog.
– Space telescopes with pointing accuracy of 10−6 degrees.
– Disk-drive read heads with < 1 micron accuracy.
– Robots for various applications.
– ...
(see next page for a synopsis).
Lecture notes prepared by Dr. Gregory L. Plett
1–2
ECE4510, FEEDBACK CONTROL
Typical Feedback Applications
Categories
Specific Applications
Ecological
Wildlife management and control; control of plant chemical
wastes via monitoring lakes and rivers; air pollution abatement;
water control and distribution; flood control via dams and resevoirs; forest growth management.
Medical
Medical instrumentation for monitoring and control; artificial limbs
(prosthesis).
Home
Home heating, refrigeration, and airconditioning via thermostatic
appliances
control; electronic sensing and control in clothes dryers; humidity
controllers; temperature control of ovens.
Power/energy
Power system control and planning; feedback instrumentation in
oil recovery; optimal control of windmill blade and solar panel surfaces; optimal power distribution via power factor control.
Transportation
Control of roadway vehicle traffic flows using sensors; automatic
speed control devices on automobiles; propulsion control in rail
transit systems; building elevators and escalators.
Manufacturing
Sensor-equipped robots for cutting, drilling die casting, forging,
welding, packaging, and assembling; chemical process control;
tension control windup processes in textile mills; conveyor speed
control with optical pyrometer sensing in hot steel rolling mills.
Aerospace and Missile guidance and control; automatic piloting; spacecraft conmilitary
trol; tracking systems; nuclear submarine navigation and control;
fire-control systems (artillery).
(reproduced from: J.R. Rowland, “Linear Control Systems: Modeling, Analysis, and Design,” John Wiley & Sons, (New York: 1986), p. 6.)
Lecture notes prepared by Dr. Gregory L. Plett
1–3
ECE4510, FEEDBACK CONTROL
• Rube Goldberg showed that a knowledge of feedback control was
even useful to budding cartoonists!
Rube Goldberg walks in his sleep, strolls through a cactus field in his bare feet, and screams out an idea for self-operating
napkin: As you raise spoon of soup (A) to your mouth it pulls string (B), thereby jerking ladle (C) which throws cracker (D) past
parrot (E). Parrot jumps after cracker and perch (F) tilts, upsetting seeds (G) into pail (H). Extra weight in pail pulls cord (I),
which opens and lights automatic cigar lighter (J), setting off sky-rocket (K) which causes sickle (L) to cut string (M) and allow
pendulum with attached napkin to swing back and forth thereby wiping off your chin. After the meal, substitute a harmonica for
the napkin and you’ll be able to entertain the guests with a little music.
Simple Feedback System Example
Heat Loss (Q out)
Desired
Temp.
Thermostat
Gas
Valve
Furnace
Q in
House
Room
Temp.
“Block Diagram” of furnace-controlled room temperature controller.
Identifies major components and omits details. Shows information/
energy flow.
• Central component = PROCESS or “PLANT”, one of whose variables
we want to control. e.g., Plant =
; Variable =
.
Lecture notes prepared by Dr. Gregory L. Plett
1–4
ECE4510, FEEDBACK CONTROL
• DISTURBANCE = some system input out of our direct control.
e.g., Disturbance =
.
• ACTUATOR = device that influences controlled variable.
e.g., Actuator =
.
• REFERENCE SENSOR measures desired system output.
• OUTPUT SENSOR measures actual system output.
• * COMPENSATOR/ CONTROLLER = device that computes the
“control effort” to apply the the actuator, based on sensor readings.
e.g.,
combines the last three functions.
A More Abstract Block Diagram:
Disturbance
error
Ref.
Value
Reference
Sensor
Compensator
Actuator
Output
Plant
Output
Sensor
“Negative Feedback”
An Even More Abstract Block Diagram:
Disturbance
Ref.
Value
Compensator
Lecture notes prepared by Dr. Gregory L. Plett
Plant
Output
ECE4510, FEEDBACK CONTROL
The Control Problem:
• ‘Reject’ disturbance.
• Acceptable steady state errors.
• Acceptable transient response.
• Minimize sensitivity to parameter changes in the plant.
Solution Reached By:
1. Choosing output sensors.
2. Choosing actuators.
*3. Developing plant, actuator, sensor equations (models).
*4. Designing compensator based on the models and design criteria.
*5. Evaluating design analytically, with simulation and prototype.
*6. Iteration!!
A First Analysis: Auto Cruise Control
• Want to control speed of automobile.
1. Output sensor = speedometer.
2. Actuator = throttle and engine.
Lecture notes prepared by Dr. Gregory L. Plett
1–5
1–6
ECE4510, FEEDBACK CONTROL
• Block diagram:
Road Grade
Desired
Speed
Control
Variable
Compensator
Throttle
Actuator
Engine
Plant
Actual
Speed
Auto Body
Speedometer
Measured
Speed
Output
Sensor
Sensor Noise
3. Model of system:
1. Operate system ≈ 55 MPH. Assume linear response near 55 MPH.
2. Measure: 1% change in throttle ➠ 10 MPH change in speed.
3. Measure: 1% change in grade ➠ 5 MPH change in speed.
4. Measure: Speedometer accurate to a fraction of 1 MPH, so is
assumed exact.
5. Functional block diagram:
r (t)—reference speed, MPH.
w(t)
u(t)—throttle posn., %.
y(t)—actual speed, MPH.
w(t)—road grade, %.
0.5
r (t)
Compen- u(t)
sator
Lecture notes prepared by Dr. Gregory L. Plett
10
y(t)
1–7
ECE4510, FEEDBACK CONTROL
4. Design compensator/controller
– First attempt = “open loop” controller.
w(t)
0.5
r (t)
Compensator
u(t)
1/10
yol(t)
10
yol(t) = 10 (u(t) − 0.5w(t))
r(t)
= 10
− 0.5w(t)
10
= r(t) − 5w(t).
5. Evaluate design.
– r(t) = 55, w(t) = 0% ➠ yol(t) = 55.
No Error. . . Good.
– r(t) = 55, w(t) = 1% ➠ yol(t) = 50.
10% Error. . . Not Good.
– r(t) = 55, w(t) = 2% ➠ yol(t) = 45.
20% Error. . . Not Good.
– Suppose you load the trunk with all your ECE4510 notes and the
car becomes more sluggish.
e.g., the gain “10” becomes “9”
– r(t) = 55, w(t) = 0% ➠ yol(t) = 49.5.
– r(t) = 55, w(t) = 1% ➠ yol(t) = . . .
6. Iterate design. Go to step #4.
Lecture notes prepared by Dr. Gregory L. Plett
10% Error. . . Not Good.
1–8
ECE4510, FEEDBACK CONTROL
4. Second attempt = Feedback controller
w(t)
0.5
Compensator
z
}|
{
r (t)
100
u(t)
ycl(t)
10
– Multiply your output error by 100; FEEDBACK GAIN = 100
ycl(t) = 10u(t) − 5w(t)
u(t) = 100(r(t) − ycl(t))
so, ycl(t) = 1000r(t) − 1000ycl(t) − 5w(t)
1001ycl(t) = 1000r(t) − 5w(t)
ycl(t) = 0.999r(t) − 0.005w(t)
5. Evaluate design.
– r(t) = 55, w(t) = 0% ➠ ycl(t) = 54.945
– r(t) = 55, w(t) = 1% ➠ ycl(t) = 54.94
– r(t) = 55, w(t) = 2% ➠ ycl(t) = 54.935
– r(t) = 55, w(t) = 10% ➠ ycl(t) = 54.895
...
0.2% Error!
➤ Feedback system rejects disturbances.
➤ Feedback system has steady state error.
– r(t) = 55, w(t) = 0%, plant=“9”, not “10” ➠ ycl(t) = 54.939
➤ Feedback system less sensitive to system parameter
values.
NOTE! High feedback gain = good performance here. Not always
true! e.g., Public address amplifier.
Lecture notes prepared by Dr. Gregory L. Plett
1–9
ECE4510, FEEDBACK CONTROL
4. Third attempt. Try to get rid of steady state error.
w(t)
0.5
Compensator
r (t)
α
u(t)
10
ycl(t)
β
ycl(t) = 10 α (r(t) − βycl(t)) − 5w(t)
= 10αr(t) − 10αβycl(t) − 5w(t)
10αr(t) − 5w(t)
ycl(t) =
1 + 10αβ
10α
5
=
r(t) −
w(t)
1 + 10αβ
1 + 10αβ
|
{z
}
1
set to 1: β=1− 10α
5
w(t).
10α
• Best results yet! (Try for yourself with α = 100.)
= r(t) −
A Brief History of Control
• 2nd century B.C.: Fluid level/Flow
rate control. Still used to flush toilets!
Lecture notes prepared by Dr. Gregory L. Plett
Supply
Float
1–10
ECE4510, FEEDBACK CONTROL
Damper
• 1624: Drebbel’s incubator
➠ Control temperature
using mechanical
feedback.
Riser
Eggs
Water
Float
Flue
Gasses
Mercury
Metal plate
Fire Alcohol
• 1787: Thomas Mead’s fly-ball governor.
• 1788: James Watt’s fly-ball governor.
Pivot
Sleeve
To engine
inlet
Butterfly
valve
Steam
Ball
Rotation
Pulley from engine
➤ Both control a rotating shaft.
• 1840: Airy’s telescope controller. “and the machine (if I may so
express myself) became perfectly wild.”
➤ Discovery of instability in a feedback control system.
➤ Analysis of system with differential equations.
➤ Beginnings of feedback control theory.
Lecture notes prepared by Dr. Gregory L. Plett
ECE4510, FEEDBACK CONTROL
1–11
• 1868: Maxwell found stability criteria for second and third order
(simple) systems.
• 1877: Routh found stability criteria for more complex (general) linear
systems.
• 1893: Lyapunov: stability of nonlinear systems.
• 1932: Nyquist’s graphical stability criteria
• (1945: Bode’s simpler graphical method)
• 1936: PID Control.
• 1948: Evan’s root locus.
• 1960’s: State variable (“modern”) control design.
• 1980’s: “Post Modern” H∞ Robust control. Adaptive control...?
Lecture notes prepared by Dr. Gregory L. Plett
1–12
ECE4510, FEEDBACK CONTROL
Chronological History
of Feedback Control
1624
Drebble, Incubator
1728
Watt, Flyball governor
1868
Maxwell, Flyball stability analysis
1877
Routh, Stability
1890
Liapunov, Nonlinear stability
1910
Sperry, Gyroscope and autopilot
1927
Black, Feedback electronic amplifier: Bush, Differential analyzer
1932
Nyquist, Nyquist stability criterion
1938
Bode, Frequency response methods
1942
Wiener, Optimal filter design: Ziegler-Nichols PID tuning
1947
Hurewicz, Sampled data systems; Nichols, Nichols chart
1948
Evans, Root locus
1950
Kochenberger, Nonlinear analysis
1956
Pontryagin, Maximum principle
1957
Bellman, Dynamic programming
1960
Draper, Inertial navigation; Kalman, Optimal estimation
1969
Hoff, Microprocessor
(reproduced from: G.F. Franklin, J.D. Powell, A. Emami-Naeini, “Feedback Control of Dynamic Systems,” 3rd edition,
Addison Wesley, (Reading, Mass: 1994), flyleaf.)
Lecture notes prepared by Dr. Gregory L. Plett
ECE4510: Feedback Control Systems.
SYSTEM MODELING IN THE TIME DOMAIN
• Model = Set of equations used to represent a physical system,
relating output to input.
• Required to:
1. Understand system behavior (analysis).
2. Design a controller (synthesis).
• Developing the model ≈ 80%–90% of the effort in designing a
controller. Methods:
1. Analytic system modeling—we focus on these methods.
2. Empirical system identification. (In practice, there is always an
empirical component to system modeling).
• No model is exact! Inaccuracies due to:
1. Unknown parameter values.
2. Unmodeled dynamics (to make simpler model).
LTI Systems
• This course teaches methods to control linear time invariant (LTI)
systems.
• None exist! But, many are “close enough.”
• In the following, suppose a system maps x(t) 7→ y(t) as
y(t) = T [x(t)].
Lecture notes prepared by Dr. Gregory L. Plett
2–1
2–2
ECE4510, SYSTEM MODELING IN THE TIME DOMAIN
LINEAR :
A system is linear iff
T [ax1(t) + bx2(t)] = a T [x1(t)] + bT [x2(t)].
a.k.a. “superposition.”
TIME INVARIANT :
A system is time invariant iff
y(t − t0) = T [x(t − t0)] ∀ t0.
(Translation: “If we input a specific signal x(t) and record the output
y(t), then input a shifted version of the signal x(t), the output will be a
shifted version of y(t), with the same shift.)
If a system is LTI, then it has an “impulse response.” This
entirely characterizes the system’s dynamics. The Laplace transform
of the impulse response is the “transfer function.” Working with the
transfer function eliminates the need to mess around with trying to
solve complicated differential equations.
KEY POINT:
A Simple Model
• Consider a resistor:
i(t)
R
v(t)
• Ohm’s Law (model) says: v(t) = i(t) · R.
• Is the resistor LTI?
• Is the model of the resistor LTI?
EXAMPLE :
Consider a 1 Ohm, 2 Watt resistor.
Lecture notes prepared by Dr. Gregory L. Plett
2–3
ECE4510, SYSTEM MODELING IN THE TIME DOMAIN
• Apply 1 Volt;
1 Amp of current is predicted to flow.
Power dissipated = V 2/R = 1 Watt.
• Now apply 10 Volts.
10 Amps of current is predicted to flow.
Power dissipated = V 2/R = 100 Watts!
➤ Model will no longer be accurate.
➤ True behavior depends on input signal level—nonlinear.
➤ Model is accurate in certain range of input-signal values.
Dynamics of Mechanical Systems I (translational)
X
• Newton’s Law:
F = ma. Vector sum of forces = mass of object
times inertial acceleration.
• “Free-body diagrams” are a tool to apply this law.
EXAMPLE :
Cruise control model.
• Write the equations of motion for the speed and forward motion of a
car assuming that the engine imparts a forward force of u(t).
1. Assume rotational inertia of wheels is negligible.
2. Assume that friction is proportional to car’s speed (viscous friction).
X
F = ma
.
or,
..
u(t) − b x(t) = m x(t)
b .
u(t)
..
x(t) + x(t) =
m
m
Lecture notes prepared by Dr. Gregory L. Plett
x(t)
.
b x(t)
m
u(t)
2–4
ECE4510, SYSTEM MODELING IN THE TIME DOMAIN
.
If the variable of interest is speed (v(t) = x(t)), not position,
u(t)
b
.
v(t) + v(t) =
m
m
• Notice that the differential equation has “output variables” on the left
of “=”, and “input variables” on the right.
IMPORTANT POINT:
All of our models of dynamical systems will be
differential equations involving the input (e.g., u(t)) and its derivatives
and the output (e.g., y(t)) and its derivatives. No other signals
(intermediate variables) are allowed in our solutions.
EXAMPLE :
Car suspension.
Each wheel in a car suspension system has a tire, shock absorber
and spring. Write the one-dimensional (vertical) equations of
motion for the car body and wheel.
m2
ks
“Quarter-car model”
y(t)
b
m1
x(t)
kw
r (t)
Free-body diagram:
Road Surface
Inertial Reference
.
.
b( y (t) − x(t))
ks (y(t) − x(t))
m1
kw (x(t) − r (t))
Lecture notes prepared by Dr. Gregory L. Plett
m2
x(t)
ks (y(t) − x(t))
y(t)
.
.
b( y (t) − x(t))
2–5
ECE4510, SYSTEM MODELING IN THE TIME DOMAIN
The force from the spring is proportional to its stretch. The force from the
shock absorber is proportional to the rate-of-change of its stretch.
X
F = ma
.
.
..
b y (t) − x(t) + ks (y(t) − x(t)) − kw (x(t) − r(t)) = m 1 x(t)
.
..
.
y
y
−ks (y(t) − x(t)) − b (t) − x(t) = m 2 (t)
Re-arrange:
..
x(t) +
.
kw
kw
b .
ks
( x(t) − y (t)) +
(x(t) − y(t)) +
x(t) =
r(t)
m1
m1
m1
m1
..
ks
b .
.
y (t) +
y
x(t))
( (t) −
(y(t) − x(t)) = 0
+
m2
m2
Important components for mechanical-translational systems:
m
1. Mass
x1 (t)
2. Spring
k
f (t) = k(x 1 (t) − x 2 (t))
x2 (t)
x1 (t)
3. Damper
b
x2 (t)
.
.
f (t) = b(x 1 (t) − x 2 (t))
Dynamics of Mechanical Systems II (rotational)
X
• Newton’s Law is modified to be:
M = J α (or I α)
Vector sum of moments = moment of inertia times angular
acceleration. (“moment”=“torque”).
EXAMPLE :
Satellite control.
Satellites require attitude control so that sensors, antennas, etc., are
properly pointed. Let’s consider one axis of rotation.
Lecture notes prepared by Dr. Gregory L. Plett
2–6
ECE4510, SYSTEM MODELING IN THE TIME DOMAIN
θ (t)
moment = Fc (t) · d, so,
..
Fc (t)d = J θ (t)
d
..
Fc (t)d
θ (t) =
J
Note: Output of system θ(t) integrates
Gas jet
Fc (t)
torques twice—“double-integrator plant.”
EXAMPLE : Torsional pendulum.
A torsional pendulum is used, for example, in clocks enclosed in glass
domes. A similar device is the read-write head on a hard-disk drive.
k: “Springiness” of suspension wire.
k
J
b
b: Viscous friction.
τ, θ
X
..
M = J θ (t)
..
.
J θ (t) = τ (t) − bθ (t) − kθ(t)
..
b.
k
τ (t)
(t)
+
(t)
+
θ(t)
=
θ
θ
J
J
J
Important components for mechanical rotational systems:
1. Inertia
J
θ1 (t)
2. Spring
k
τ (t) = k(θ1(t) − θ2(t))
θ2 (t)
θ1 (t)
3. Damper
Lecture notes prepared by Dr. Gregory L. Plett
b
θ2 (t)
.
.
τ (t) = b(θ 1 (t) − θ 2 (t))
2–7
ECE4510, SYSTEM MODELING IN THE TIME DOMAIN
EXAMPLE :
NONLINEAR Rotational Pendulum.
Moment of intertia: J = ml 2.
X
..
(t)
M
=
J
θ
l
..
θ (t), τ (t)
mg
J θ (t) = τ (t) − mgl sin(θ(t))
..
g
τ (t)
=
θ (t) + |sin(θ(t))
{z }
l
ml 2
Nonlinear!
If motion is “small,” sin (θ(t)) ≈ θ(t).
..
g
τ (t)
θ (t) + θ(t) =
l
ml 2
This is a preview of linearization.
Linear.
Summary of Developing Models for Rigid Bodies:
1. Assign variables such as x(t) and θ (t) that are both necessary and
sufficient to describe and arbitrary position of the object.
2. Draw a free-body diagram of each component, and indicate all forces
acting on each body and the accelerations of the center of mass with
respect to an inertial reference.
X
X
3. Apply Newton’s laws:
F = ma,
M = J α.
4. Combine the equations to eliminate internal forces.
5. The final form must be in terms of ONLY the input to the system and
its derivatives, and the output of the system and its derivatives.
Dynamics of Electrical Circuits
• Kirchhoff’s Law’s:
– Current Law (KCL): The algebraic sum of currents entering a node
equals the algebraic sum of currents leaving the node.
– Voltage Law (KVL): The algebraic sum of all voltages taken around
a closed path in a circuit is zero.
Lecture notes prepared by Dr. Gregory L. Plett
2–8
ECE4510, SYSTEM MODELING IN THE TIME DOMAIN
• “Node analysis” is a tool to apply these laws. (i.e., select one node as
reference (e.g., ground) and assume all other voltages are unknown.
Write equations for the unknowns using KCL. KVL must be used for
voltage sources.)
EXAMPLE :
Bridged-Tee circuit.
➀
vi (t)
C2
➁
R1
R2
➂
C1
➃
• Select reference = ➃.
– KVL at ➀: v➀(t) = vi (t).
v➀(t) − v➁(t) v➁(t) − v➂(t)
.
– KCL at ➁:
−
− C 1v ➁ (t) = 0.
R1
R2
v➁(t) − v➂(t)
.
.
– KCL at ➂:
+ C 2(v ➀(t) − v ➂ (t)) = 0.
R2
.
.
.
.
v➁(t) − v➂(t) + R2C 2(v ➀ (t) − v ➂(t)) = 0
v➂(t) + R2C 2(v ➂ (t) − v ➀(t)) = v➁(t)
.
.
v
v
v➀(t) − v➂ (t) + R2C 2( ➂ (t) − ➀(t))
−
R1
.
.
v➂(t) + R2C 2(v ➂(t) − v ➀ (t)) − v➂ (t)
−
R2
.
..
..
C1 v ➂ (t) + R2C 2(v ➂(t) − v ➀ (t)) = 0
.
.
R2 v➀ (t) − v➂(t) + R2C 2(v ➂ (t) − v ➀(t)) −
.
.
R1 v➂ (t) + R2C 2(v ➂(t) − v ➀ (t)) − v➂ (t) −
Lecture notes prepared by Dr. Gregory L. Plett
ECE4510, SYSTEM MODELING IN THE TIME DOMAIN
.
..
..
R1 R2C 1 v ➂ (t) + R2C 2(v ➂(t) − v ➀ (t)) = 0.
..
.
2
2
R1 R2 C 1C 2 v ➂(t) + R2 C 2 + R1 R2C 2 + R1 R2C 1 v ➂(t) + (R2 ) v➂ (t)
..
.
2–9
= (R1 R22C 1C 2)v ➀(t) + (R22C 2 + R1 R2C 2)v ➀ (t) + (R2)v➀(t)
Important components for electrical systems:
1. Resistor
v(t)
i(t)
v(t) = Ri(t)
2. Capacitor
v(t)
i(t)
i(t) = C
d v(t)
dt
3. Inductor
v(t)
i(t)
v(t) = L
d i(t)
dt
4. Voltage source
v(t)
vs
v(t) = vs
5. Current source
is
i(t)
i(t) = i s
6. Operational
Amplifier
i − (t)
vd (t)
i + (t)
vd (t) = 0
i − (t) = i +(t) = 0
vo (t)
vo (t) = Ao (v+ (t) − v− (t))
as Ao → ∞
Lecture notes prepared by Dr. Gregory L. Plett
2–10
ECE4510, SYSTEM MODELING IN THE TIME DOMAIN
EXAMPLE :
Op-amp circuit.
R2
C
vi (t)
R1
vo (t) = −R2i(t) − vc (t).
i(t) =
R1
vi (t)
vo (t)
dvo(t)
di(t) dvc (t)
= −R2
−
dt
dt
dt
R2 dvi (t) i(t)
=−
−
R1 dt
C
R2 dvi (t)
1
=−
−
vi (t)
R1 dt
R1 C
.
.
R1C v o (t) = −R2C v i (t) − vi (t)
(as C → ∞, we get an inverting amplifier.)
Dynamics of Electro-Mechanical Systems
• These are systems that convert energy from electrical to mechanical,
or vice versa.
EXAMPLE :
DC Generator.
• Assume generator is driven at constant speed.
• Generator has field windings (input), and rotor/armature windings
(output).
i f (t) R f
e f (t)
|
Ra
eg (t)
Lf
{z
Field
circuit
Lecture notes prepared by Dr. Gregory L. Plett
L a i a (t)
}
|
{z
Rotor
circuit
ea (t)
Zl
} | {z }
Load
circuit
2–11
ECE4510, SYSTEM MODELING IN THE TIME DOMAIN
• e f (t) = R f i f (t) + L f
• eg (t) = K φ
di f (t)
dt
e f (t) is input, i f (t) is output.
dθ(t)
dt
K depends on generator structure.
= K g i f (t).
dθ(t)/dt = angular velocity = cst.
φ = flux, proportional to i f (t).
• eg (t) = Ra i a (t) + L a
di a (t)
+ ea (t).
dt
eg (t) is input, i a (t) is output.
• ea (t) = Z l i a (t).
e f (t)
Field
circuit
i a (t) is input, ea (t) is output.
i f (t)
eg (t)
Kg
Rotor
circuit
i a (t)
Zl
ea (t)
This is a preview of a “block diagram” used to simplify our understanding
of the system dynamics.
EXAMPLE : DC Motor (servo-motor).
• Directly generates rotational motion.
• Indirectly generates translational motion.
i a (t) Ra
ea (t)
|
La
b
θ (t), τ (t)
eb (t)
{z
Armature
}
J
| {z }
Load
• Mechanical resistance of load is translated into an electrical
“resistance” called the “back e.m.f.”
dθ(t)
• eb (t) = K e
K e = K φ, as with generator.
dt
di a (t)
• ea (t) = Ra i a (t) + L a
+ eb (t)
dt
• τ (t) = K τ i a (t)
K τ = K 1φ
Lecture notes prepared by Dr. Gregory L. Plett
2–12
ECE4510, SYSTEM MODELING IN THE TIME DOMAIN
• Combining these equations of motion, recall Newton:
X
M = Jα
..
.
J θ (t) = τ (t) − bθ (t)
.
= K τ i a (t) − bθ (t)
• Assume (FOR NOW ONLY) electrical response is faster than
mechanical. L a ≈ 0.
..
.
ea (t) − eb (t)
J θ (t) = K τ
− bθ (t)
Ra
..
Kτ Ke .
Kτ
J θ (t) + b +
ea (t)
θ (t) =
Ra
Ra
|
{z
}
back emf indistinguishable from friction!
Dynamics of Heat Flow/ Dynamics of Fluid Flow
• These two subjects will not be covered here. Refer to texts on
thermodynamics or fluid-dynamics.
Transformers and Gears
• Ideally, both of these devices simply scale their input value.
Transformer :
Gears :
N1
e1 i 2
=
=
N2
e2 i 1
r1
θ2 τ1
=
=
r2
θ1 τ2
r1
r2
System Identification (SYS ID)
• When we generate models of system dynamics, we are performing
“system identifications.”
Lecture notes prepared by Dr. Gregory L. Plett
2–13
ECE4510, SYSTEM MODELING IN THE TIME DOMAIN
• When we use known properties from physics and knowledge of the
system’s structure (as we have done here) we are performing “white
box system ID.”
• If the system is very complex, or if the physics are not well
understood, we need to use input/output data to generate a system
model: “black-box system ID.”
• A topic for the whole course!
Linearization
• We will study how to control linear systems.
• Linear systems are rare.
• We can “linearize” a non-linear system—the controller designed for
linearized model will work on the true nonlinear system (but not as
well as a controller designed directly for the non-linear system.)
KEY POINT:
We can convert any differential equation into a first-order
vector differential equation:
.
xE = f (E
x , u) ;
xE = vector, u = input.
Iff the system is linear, this will be of the form:
.
xE = A xE + Bu;
EXAMPLE :
A and B are constant matrices.
Torsional pendulum (pg. 2–2–6)
..
b.
k
τ (t)
θ (t) + θ (t) + θ(t) =
J
J
J
"
#
# "
x1(t)
θ(t)
let
= .
x2(t)
θ (t)
Lecture notes prepared by Dr. Gregory L. Plett
2–14
ECE4510, SYSTEM MODELING IN THE TIME DOMAIN
.
x 2(t) +
b
k
τ (t)
x 2(t) + x1(t) =
J
J
J
" .
# "
#"
# "
#
x 1(t)
x 1(t)
0
1
0
τ (t).
=
+
.
x 2(t)
x2(t)
−k/J −b/J
1/J
|
| {z }
{z
}
A
B
So, our model of the torsional pendulum is linear.
EXAMPLE : Rotational pendulum (pg. 2–2–7)
..
g
τ (t)
θ (t) + sin(θ(t)) =
l
ml 2
"
#
# "
x 1(t)
θ(t)
let
= .
x2(t)
θ (t)

 
" .
# 
0
x 2(t)
x 1(t)
 +  1  τ (t).
= g
.
− sin(x 1(t))
x 2(t)
l
ml 2
Not linear because we cannot make a constant A matrix.
Small Signal Linearization
• Uses a Taylor-series expansion of the differential equation around
some operating condition. (Equilibrium value where
.
x 0 = 0 = f (x 0, u 0 )).
let x = x0 + δx
u = u 0 + δu
.
x0 = operating state
u 0 = nominal control value.
x = f (x, u).
• Taylor-series expansion:
.
.
.
x = x 0 + δ x ≈ f (x 0, u 0 ) + Aδx + Bδu
Lecture notes prepared by Dr. Gregory L. Plett
plus higher-order terms
ECE4510, SYSTEM MODELING IN THE TIME DOMAIN
2–15
• Subtract out equillibrium (nominal) solution;
.
δ x = Aδx + Bδu,
which is linear. This is exactly how we linearized the rotational
pendulum before, with τ0 = 0; θ0 = 0.
θ3 θ5
sin(θ) = θ − + − · · ·
3! 5!
≈ θ.
Feedback Linearization (computed torque)
..
• For rotational pendulum, ml 2θ (t) + mgl sin(θ(t)) = τ (t).
– COMPUTE: τ (t) = mgl sin(θ(t)) + u(t).
..
– THEN: ml 2 θ (t) = u(t), no matter how large θ(t) becomes!
– Sometimes used in robotics and airplane flight control, but very
computationally intensive.
Analogous Systems
• The linearized differential equations of many very different physical
systems appear identical.
• One would suppose they behave in similar ways (dynamic response)
and can be controlled with similar controllers.
Lecture notes prepared by Dr. Gregory L. Plett
2–16
ECE4510, SYSTEM MODELING IN THE TIME DOMAIN
..
.
Mechanical Translational m x(t) + b x(t) + kx(t) = u(t)
..
.
Mechanical Rotational
J θ (t) + bθ (t) + kθ(t) = τ (t)
..
Satellite
J θ (t) = f (t) · d ..
kτ ke .
kτ
DC Motor (for L a = 0)
(t)
=
J θ (t) + b +
ea (t)
θ
Ra
Ra
..
.
Generator
(L a L f )ea (t) + (L f (Ra + Rl ) + L a R f )ea (t)+
R f (Ra + Rl ) = (k g Rl )e f (t)
• These are all of the form
..
.
..
.
a2 x(t) + a1 x(t) + a0 x(t) = b2u(t) + b1u(t) + b0u(t)
which is called a second-order form.
• Therefore, we have seen very specific examples of a very general
class of system. If we learn how to control the general class, we can
apply this knowledge to specific systems.
Lecture notes prepared by Dr. Gregory L. Plett
3–1
ECE4510: Feedback Control Systems.
DYNAMIC RESPONSE
• We can now model dynamic systems with differential equations.
• What do these equations mean?
• How does this system respond to certain inputs?
• If we add dynamics (a controller) how will the system respond?
• How SHOULD the system respond? (specifications)
∗∗∗
∗∗∗
KEY, ESSENTIAL, VITAL, TOOL: Laplace Transform
Some Important Input Signals
• Several signals recur throughout this course.
• The unit step function:
(
1, t ≥ 0;
1(t) =
0, otherwise.
• The unit ramp function:
(
t, t ≥ 0;
r(t) =
0, otherwise.
• The unit parabola function:
 2
t
, t ≥ 0;
p(t) =
2

0, otherwise.
Lecture notes prepared by Dr. Gregory L. Plett
1(t)
t
r (t)
t
p(t)
t
3–2
ECE4510, DYNAMIC RESPONSE
• The cosine/sine functions:
cos(t)
sin(t)
t
t
• The impulse function, δ(t):
– Very strange “generalized” function, only defined under an integral.
δ(t) = 0, t 6= 0
zero duration
Z ∞
δ(t) dt = 1.
unit area.
−∞
δ(t)
Symbol
– Sifting property
Z
∞
−∞
t
x(τ )δ(t − τ ) dτ = x(t).
Response of Linear Time Invariant System
• Let y(t) be the output of an LTI system with input x(t).
y(t) = T [x(t)]
Z ∞
= T[
x(τ )δ(t − τ ) dτ ]
Z
=
−∞
∞
−∞
x(τ )T [δ(t − τ )] dτ.
Let h(t, τ ) = T [δ(t − τ )]
Lecture notes prepared by Dr. Gregory L. Plett
(sifting)
(linear)
ECE4510, DYNAMIC RESPONSE
3–3
Z
=
If the system is time invariant,
∞
−∞
x(τ )h(t, τ ) dτ
h(t, τ ) = h(t − τ )
Z ∞
=
x(τ )h(t − τ ) dτ
−∞
(time invariant)
4
= x(t) ∗ h(t).
• The output of an LTI system is equal to the convolution of its “impulse
response” with the input.
• This makes life EASY (TRUST me!)
EXAMPLE :
Finding an impulse response:
.
• Consider a first-order system, y (t) + ky(t) = u(t).
• Let y(0−) = 0, u(t) = δ(t).
.
• For positive time we have y (t) + ky(t) = 0. Recall from your
differential-equation math course: y(t) = Aest , solve for A, s.
.
y (t) = Asest
Asest + k Aest = 0
s+k = 0
s = −k.
• We have solved for s—now solve for A.
Z 0+
Z 0+
Z 0+
.
y (t) dt + k
y(t) dt =
δ(t) dt
−
−
−
| 0 {z
} | 0 {z
} | 0 {z }
+
y(t)|00−
0
1
y(0+) − y(0−) = 1
+
Ae−k0 − 0 = 1
A = 1.
Lecture notes prepared by Dr. Gregory L. Plett
3–4
ECE4510, DYNAMIC RESPONSE
• Response to impulse: h(t) = e−kt , t > 0.
• h(t) = e−kt 1(t).
• Response of this system to general input:
Z ∞
y(t) =
h(τ )u(t − τ ) dτ
Z
−∞
∞
Z
−∞
∞
=
=
e−kτ 1(τ )u(t − τ ) dτ
e−kτ u(t − τ ) dτ.
0
Transfer Function
• Response to impulse = “impulse response” h(t).
• Response to general input = messy convolution: h(t) ∗ u(t).
Response to Sinusoid? Cosinusoid?
A j ωt
− j ωt
A cos(ωt) =
e +e
2
Break it Down: Response to Exponential?
• Let u(t) = est , where s is complex.
Z ∞
y(t) =
h(τ )u(t − τ ) dτ
−∞
∞
Z
=
−∞
∞
Z
=
Lecture notes prepared by Dr. Gregory L. Plett
−∞
h(τ )es(t−τ ) dτ
h(τ )est e−sτ dτ
ECE4510, DYNAMIC RESPONSE
Z
=e
st
3–5
∞
h(τ )e−sτ dτ
| −∞ {z
}
Transfer function, H (s)
= est H (s).
• An input of the form est decouples the convolution into two
independent parts: a part depending on est and a part depending on
h(t). [Complex exponentials are eigenfunctions of all LTI systems.]
EXAMPLE :
.
y (t) + ky(t) = u(t) = est :
but , y(t) = H (s)e ,
st
.
y (t) = s H (s)est ,
s H (s)est + k H (s)est = est
1
H (s) =
s+k
est
y(t) =
.
s+k
Response to Cosinusoid (revisited)
Let s= jω
s=− jω
u(t)=e j ωt
u(t)=e− j ωt
u(t)=A cos(ωt)
Now,
(I never integrated!)
y(t)=H ( jω)e j ωt
y(t)=H (− jω)e− j ωt
A
j ωt
− j ωt
y(t)=
H ( jω)e + H (− jω)e
2
4
H ( jω) = Me j φ
H (− jω) = Me− j φ (can be shown for h(t) real)
AM j (ωt+φ)
− j (ωt+φ)
y(t) =
+e
e
2
= AM cos(ωt + φ).
• The response of an LTI system to a sinusoid is a sinusoid! (of the
same frequency).
Lecture notes prepared by Dr. Gregory L. Plett
3–6
ECE4510, DYNAMIC RESPONSE
EXAMPLE :
Frequency response of our first order system:
1
H (s) =
s+k
1
H ( jω) =
jω + k
1
M = |H ( jω)| = √
ω2 + k 2
ω −1
φ = 6 H ( jω) = − tan
k
A
−1 ω
y(t) = √
cos ωt − tan
.
2
2
k
ω +k
• Can we use these results to simplify convolution and get an easier
way to understand dynamic response?
The Laplace L− Transform
• We have seen that if a system has an impulse response h(t), we can
compute a transfer function H (s),
Z ∞
H (s) =
h(t)e−st dt.
−∞
• Since we deal with causal systems (possibly with an impulse at
t = 0), we can integrate from 0− instead of negative infinity.
Z ∞
H (s) =
h(t)e−st dt.
0−
• This is called the one-sided (uni-lateral) Laplace transform of h(t).
Lecture notes prepared by Dr. Gregory L. Plett
3–7
ECE4510, DYNAMIC RESPONSE
Laplace Transforms of Common Signals
Name
Time function, f (t)
Laplace tx., F(s)
Unit impulse
δ(t)
Unit step
1(t)
Unit ramp
t · 1(t)
nth order ramp
t n · 1(t)
Sine
sin(bt)1(t)
Cosine
cos(bt)1(t)
Damped sine
e−at sin(bt)1(t)
Damped cosine
e−at cos(bt)1(t)
Diverging sine
t sin(bt)1(t)
Diverging cosine
t cos(bt)1(t)
1
1
s
1
s2
n!
s n+1
b
s 2 + b2
s
s 2 + b2
b
(s + a)2 + b2
s+a
(s + a)2 + b2
2bs
(s 2 + b2)2
s 2 − b2
(s 2 + b2)2
Properties of the Laplace Transform
L {a f1(t) + b f 2(t)} = a F1(s) + bF2(s).
• Superposition:
L { f (t − τ )} = e−sτ F(s).
1 s • Time Scaling: L { f (at)} =
F
.
• Time delay:
|a|
a
(useful if original equations are expressed poorly in time scale. e.g.,
measuring disk-drive seek speed in hours).
• Differentiation:
n
L
.
o
f (t) = s F(s) − f (0−)
n .. o
.
L f (t) = s 2 F(s) − s f (0−) − f (0−)
(m)
L f (t) = s m F(s) − s m−1 f (0−) − . . . − f (m−1)(0−).
Lecture notes prepared by Dr. Gregory L. Plett
ECE4510, DYNAMIC RESPONSE
Z
t
3–8
1
= F(s).
s
0−
• Convolution: Recall that y(t) = h(t) ∗ u(t)
• Integration:
L
f (τ ) dτ
Y (s) = L {y(t)} = L {h(t) ∗ u(t)}
Z t
=L
h(τ )u(t − τ ) dτ
Z
=
=
τ =0−
∞ Z t
t=0−
Z ∞
τ =0−
Z ∞
τ =0−
t=τ −
t
τ =t
h(τ )u(t − τ ) dτ e−st dt
h(τ )u(t − τ ) e−st dt dτ.
• Multiply by e−sτ esτ
Y (s) =
τ
Region of
integration
Z
∞
h(τ )e
τ =0−
Let t 0 = t − τ :
Y (s) =
Z
∞
τ =0−
−sτ
h(τ )e
Z
∞
t=τ −
−sτ
u(t − τ )e−s(t−τ ) dt dτ.
Z
dτ
∞
t 0 =0−
0
u(t 0)e−st dt 0
Y (s) = H (s)U (s).
• The Laplace transform “unwraps” convolution for general input
signals. Makes system easy to analyze.
The Inverse Laplace Transform
• The inverse Laplace Transform converts F(s) → f (t).
• Once we get an intuitive feel for F(s), we won’t need to do this often.
Lecture notes prepared by Dr. Gregory L. Plett
3–9
ECE4510, DYNAMIC RESPONSE
• The main tool for ILT is partial-fraction-expansion.
b0s m + b1s m−1 + · · · + bm
Assume :
F(s) = n
s + aa s n−1 + · · · + an
Qm
(s − zi )
(zeros)
= k Qni =1
(poles)
i =1 (s − pi )
c1
c2
cn
=
+
+··· +
if { pi } distinct.
s − p1 s − p2
s − pn
c2(s − p1)
cn (s − p1 )
so, (s − p1 )F(s) = c1 +
+··· +
s − p2
s − pn
let s = p1 :
c1 = (s − p1)F(s)|s= p1
➠
ci = (s − pi )F(s)|s= pi
f (t) =
n
X
ci e pi t 1(t)
since L ekt 1(t) =
i =1
EXAMPLE :
1
.
s−k
5
5
=
.
s 2 + 3s + 2 (s + 1)(s + 2)
5
c1 = (s + 1)F(s)
=
=5
s=−1
s + 2 s=−1
5
c2 = (s + 2)F(s)
=
= −5
s=−2
s + 1 s=−2
F(s) =
f (t) = (5e−t − 5e−2t )1(t).
• If F(s) has repeated roots, we must modify the procedure. e.g.,
repeated three times:
k
F(s) =
(s − p1)3(s − p2) · · ·
c1,1
c1,2
c1,3
c2
=
+
+
+
+ ···
s − p1 (s − p1)2 (s − p1)3 s − p2
c1,3 = (s − p1)3 F(s)
Lecture notes prepared by Dr. Gregory L. Plett
s= p1
3–10
ECE4510, DYNAMIC RESPONSE
d
(s − p1 )3 F(s)
ds
s= p1
2
1 d
3
=
)
F(s)
(s
−
p
1
2 ds 2
s= p1
i
1 d
k
(s
−
p
=
)
F(s)
.
i
i! ds i
s= pi
c1,2 =
c1,1
cx,k−i
EXAMPLE :
Find ILT of
s +3
.
(s + 1)(s + 2)2
−2t
• ans: f (t) = (2e−t − 2e−2t − |te{z
})1(t).
from repeated root.
• TEDIOUS.
• Use Matlab. e.g., F(s) =
5
.
s 2 + 3s + 2
Example 1.
Example 2.
>> Fnum = [0 0 5];
>> Fnum = [0 0 1 3];
>> Fden = [1 3 2];
>> Fden = conv([1 1],conv([1 2],[1 2]));
[r,p,k] = residue(Fnum,Fden);
[r,p,k] = residue(Fnum,Fden);
r = -5
5
p = -2
-1
k = []
r = -2
-1
2
p = -2
-2
-1
k = []
• When you use “residue” and get repeated roots, BE SURE to type
“help residue” to correctly interpret the result.
Lecture notes prepared by Dr. Gregory L. Plett
3–11
ECE4510, DYNAMIC RESPONSE
Using the Laplace Transform to Solve Problems
• We can use the Laplace transform to solve both homogeneous and
forced differential equations.
EXAMPLE :
..
.
y(0−) = α, y (0−) = β.
s 2Y (s) − αs − β + Y (s) = 0
y (t) + y(t) = 0,
Y (s)(s 2 + 1) = αs + β
αs + β
Y (s) = 2
s +1
αs
β
= 2
+ 2
.
s +1 s +1
From tables, y(t) = [α cos(t) + β sin(t)]1(t).
• If initial conditions are zero, things are very simple.
EXAMPLE :
..
.
−
.
y(0 ) = 0, y (0−) = 0, u(t) = 2e−2t 1(t).
2
s 2Y (s) + 5sY (s) + 4Y (s) =
s+2
2
Y (s) =
(s + 2)(s + 1)(s + 4)
−1
2/3
1/3
=
+
+
.
s+2 s+1 s+4
2
1
From tables, y(t) = −e−2t + e−t + e−4t 1(t).
3
3
y (t)+5 y (t)+4y(t) = u(t),
Time Response vs. Pole Locations: 1st-Order Pole(s) (stable)
• Pole = root of denominator of H (s) = b(s)/a(s).
• Poles qualitatively determine the behavior of the system.
Lecture notes prepared by Dr. Gregory L. Plett
3–12
ECE4510, DYNAMIC RESPONSE
• Zeros quantify this relationship.
1
➠ h(t) = e−σ t 1(t).
s+σ
• If σ > 0, pole is at s < 0, STABLE i.e., impulse response decays, and
any bounded input produces bounded output.
EXAMPLE :
H (s) =
• If σ < 0, pole is at s > 0, UNSTABLE.
• σ is “time constant” factor: τ = 1/σ .
step([0 1],[1 1]);
1
0.8
0.8
0.6
e
−σ t
0.4
←−
y(t) × K
h(t)
impulse([0 1],[1 1]);
1
1
e
0.2
0
0
K (1 − e−t/τ )
System response. K = dc gain
0.6
0.4
Response to initial condition
−→ 0.
0.2
1
t =τ
2
3
4
5
Time (sec × τ )
0
0
1
t =τ
2
3
4
Time (sec × τ )
Time Response vs. Pole Locations: 2nd-Order Poles (stable)
b0
K ωn2
H (s) = 2
=
s + a1s + a2 s 2 + 2ζ ωn s + ωn2
(standard form).
ζ = damping ratio.
ωn = natural frequency or undamped frequency.
ωn
h(t) = p
e−σ t (sin(ωd t)) 1(t),
1 − ζ2
where,
σ = ζ ωn ,
p
ωd = ωn 1 − ζ 2 = damped frequency.
Lecture notes prepared by Dr. Gregory L. Plett
5
3–13
ECE4510, DYNAMIC RESPONSE
=(s)
−1
θ = sin (ζ )
45
ωn
σ
ωd
◦
=(s)
30
◦
=(s)
17.5
<(s)
<(s)
◦
=(s)
<(s)
ζ = 0.707
Impulse Response
<(s)
ζ = 0.5
ζ = 0.3
1
h(t)
0.5
e−σ t
0
Envelope of sinusoid decays as e−σ t
−e−σ t
−0.5
−1
0
5
10
15
20
25
30
Time (sec)
Impulse Responses of 2nd-Order Systems
1
Step Responses of 2nd-Order Systems
2
ζ =0
ζ =0
0.2
0.5
0.2
1.5
0.4
0.4
y(t)
y(t)
0.6
0
ζ =1
0.8
−0.5
0.6
1
0.8
0.5
1.0
−1
0
2
4
6
ωn t
8
10
12
0
0
2
4
6
ωn t
8
10
12
• Low damping, ζ ≈ 0, oscillatory; High damping, ζ ≈ 1, no oscillations.
Lecture notes prepared by Dr. Gregory L. Plett
3–14
ECE4510, DYNAMIC RESPONSE
=(s)
=(s)
<(s)
Impulse responses vs. pole locations
<(s)
Step responses vs. pole locations
• 0 < ζ < 1 underdamped.
•ζ =1
critically damped, ζ > 1 overdamped.
Time Domain Specifications
• We have seen impulse and step responses for first- and second-order
systems.
• Our control problem may be to specify exactly what the response
SHOULD be.
• Usually expressed in terms of the step response.
Mp
tp
1
0.9
0.1
tr
Lecture notes prepared by Dr. Gregory L. Plett
t
ts
3–15
ECE4510, DYNAMIC RESPONSE
• tr = Rise time = time to reach vicinity of new set point.
• ts = Settling time = time for transients to decay (to 5%, 2%, 1%).
• M p = Percent overshoot.
• t p = Time to peak.
Rise Time
• All step responses rise in roughly the same amount of time (see
pg. 3–3–13.) Take ζ = 0.5 to be average.
➠ time from 0.1 to 0.9 is approx ωn tr = 1.8:
1.8
tr ≈
.
ωn
• We could make this more accurate, but note:
– Only valid for 2nd-order systems with no zeros.
– Use this as approximate design “rule of thumb” and iterate design
until spec. is met.
Peak Time and Overshoot
• Step response can be found from ILT of H (s)/s.
σ
y(t) = 1 − e−σ t cos(ωd t) +
sin(ωd t) ,
ωd
p
ωd = ωn 1 − ζ 2, σ = ζ ωn .
.
• Peak occurs when y (t) = 0
.
σ
y (t) = σ e−σ t cos(ωd t) +
sin(ωd t) − e−σ t (−ωd sin(ωd t) + σ cos(ωd t))
ωd
2
σ
= e−σ t
sin(ωd t) + ωd sin(ωd t) = 0.
ωd
Lecture notes prepared by Dr. Gregory L. Plett
3–16
ECE4510, DYNAMIC RESPONSE
100
• So,
• (common values: M p = 16% for
ζ = 0.5; M p = 5% for ζ = 0.7).
80
70
M p, %
ωd t p = π,
π
π
tp =
= p
.
2
ωd
ωn 1 − ζ
√
−ζ π/ 1−ζ 2
• Mp = e
× 100.
90
60
50
40
30
20
10
0
0
0.2
0.4
ζ
0.6
0.8
Settling Time
• Determined mostly by decaying exponential
e−ωn ζ ts = . . .
= 0.01, 0.02, or 0.05
EXAMPLE :
= 0.01
e−ωn ζ ts = 0.01
ωn ζ ts = 4.6
4.6
4.6
ts =
=
ζ ωn
σ
ts
0.01 ts = 4.6/σ
0.02 ts = 3.9/σ
0.05 ts = 3.0/σ
Design Synthesis
• Specifications on tr , ts , M p determine pole locations.
• ωn ≥ 1.8/tr .
• ζ ≥ fn(M p ).
• σ ≥ 4.6/ts .
(read off of ζ versus M p graph on page 3–3–16)
(for example—settling to 1%)
Lecture notes prepared by Dr. Gregory L. Plett
1.0
3–17
ECE4510, DYNAMIC RESPONSE
=(s)
=(s)
=(s)
σ
ωn
sin−1 ζ
<(s)
EXAMPLE :
=(s)
<(s)
<(s)
<(s)
Converting specs. to s-plane
• Specs: tr ≤ 0.6, M p ≤ 10%, ts ≤ 3 sec. at 1%
• ωn ≥ 1.8/tr = 3.0 rad/sec.
• From graph of M p versus ζ, ζ ≥ 0.6.
• σ ≥ 4.6/3 = 1.5 sec.
3
2
=(s)
1
0
−1
−2
−3
−5
EXAMPLE :
−4
−3
−2
<(s)
−1
0
1
Designing motor compensator
• Suppose a servo-motor system for a pen-plotter has transfer function
0.5K a
ωn2
= 2
.
s 2 + 2s + 0.5K a
s + 2ζ ωn s + ωn2
• Only one adjustable parameter K a , so can choose only one spec: tr ,
ts or M p ➠ Allow NO overshoot.
Lecture notes prepared by Dr. Gregory L. Plett
3–18
ECE4510, DYNAMIC RESPONSE
• M p = 0, ζ = 1.
• From transfer fn: 2 = 2ζ ωn
• ωn2 = 12 = 0.5K a ,
➠
ωn = 1.
K a = 2.0
• Note: ts = 4.6 seconds. We will need a better controller than this for a
pen plotter!
Time Response vs. Pole Locations: Higher Order Systems
• We have looked at first-order and second-order systems without
zeros, and with unity gain.
Non-unity gain
• If we multiply by K , the dc gain is K . tr , ts , M p , t p are not affected.
Add a zero to a second-order system
2(s + 1.1)
H2(s) =
1.1(s
+ 1)(s + 2) 0.1
2
0.9
=
+
1.1 s + 1 s + 2
0.18
1.64
=
+
s+1 s+2
2
H1(s) =
(s + 1)(s + 2)
2
2
=
−
s+1 s +2
• Same dc gain (at s = 0).
• Coefficient of (s + 1) pole GREATLY reduced.
• General conclusion: a zero “near” a pole tends to cancel the effect of
that pole.
• How about transient response?
H (s) =
Lecture notes prepared by Dr. Gregory L. Plett
(s/αζ ωn ) + 1
.
(s/ωn )2 + 2ζ s/ωn + 1
3–19
ECE4510, DYNAMIC RESPONSE
– Zero at s = −ασ.
– Poles at <(s) = −σ.
• Large α, zero far from poles ➠ no effect.
• α ≈ 1, large effect.
• Notice that the overshoot goes up as α → 0.
Overshoot versus normalized zero loc.
2
1.5
1.5
1
α=1
2
4
100
0.5
0
0
Mp
Step Response
2nd-order system with zero
2
2
4
ζ = 0.3
0.5
0.7
1
0.5
ωn t
6
8
10
0
0
2
4
α
6
8
10
• A little more analysis; set ωn = 1
s/αζ + 1
H (s) = 2
s + 2ζ s + 1
1
1
s
= 2
+
s + 2ζ s + 1 αζ s 2 + 2ζ s + 1
= Ho (s) + Hd (s).
• Ho (s) is the original response, without the zero.
• Hd (s) is the added term due to the zero. Notice that
1
Hd (s) =
s Ho (s).
αζ
The time response is a scaled version of the DERIVATIVE of the time
response of Ho (s).
• If any of the zeros in RHP, system is NONMINIMUM PHASE.
Lecture notes prepared by Dr. Gregory L. Plett
3–20
ECE4510, DYNAMIC RESPONSE
2nd-order min-phase step resp.
2nd-order nonmin-phase step resp.
2
1.5
H (s)
1.5
1
Ho (s)
Ho (s)
y(t)
y(t)
0.5
1
H (s)
0
0.5
−0.5
0
Hd (s)
−0.5
0
2
Hd (s)
−1
4
6
8
Time (sec)
10
−1.5
0
2
4
6
Time (sec)
8
10
Add a pole to a second order system
H (s) =
1
.
(s/αζ ωn + 1)[(s/ωn )2 + 2ζ s/ωn + 1]
• Original poles at <(s) = −σ = −ζ ωn .
• New pole at s = −αζ ωn .
• Major effect is an increase in rise time.
Norm. rise time vs. norm. pole loc.
9
1.2
8
7
1
ζ = 1.0
0.7
0.5
6
0.8
100
5
2
α=1
0.6
0.4
0.2
0
0
ωn tr
Step Response
2nd-order system with pole
1.4
1
2
3
4
ωn t
5
5
4
3
2
6
7
8
1
0
2
4
α
6
8
10
Summary of Higher-Order Approximations
• Extra zero in LHP will increase overshoot if the zero is within a factor
of ≈ 4 from the real part of complex poles.
Lecture notes prepared by Dr. Gregory L. Plett
3–21
ECE4510, DYNAMIC RESPONSE
• Extra zero in RHP depresses overshoot, and may cause step
response to start in wrong direction. DELAY .
• Extra pole in LHP increases rise-time if extra pole is within a factor of
≈ 4 from the real part of complex poles.
=(s)
Insignificant
Dominant
Unstable
region
<(s)
• MATLAB ‘step’ and ‘impulse’ commands can plot higher order system
responses.
• Since a model is an approximation of a true system, it may be all right
to reduce the order of the system to a first or second order system. If
higher order poles and zeros are a factor of 5 or 10 time farther from
the imaginary axis.
– Analysis and design much easier.
– Numerical accuracy of simulations better for low-order models.
– 1st- and 2nd-order models provide us with great intuition into how
the system works.
– May be just as accurate as high-order model, since high-order
model itself may be inaccurate.
Changing Dynamic Response
• Topic of the rest of the course.
Lecture notes prepared by Dr. Gregory L. Plett
3–22
ECE4510, DYNAMIC RESPONSE
• Important tools: block diagram manipulation and Mason’s rule.
Block Diagram Manipulation
• We have already seen block diagrams (see pg. 1–1–3).
• Shows information/energy flow in a system.
• When used with Laplace transforms, can simplify complex system
dynamics.
• Four BASIC configurations:
U (s)
U (s)
H (s)
H1 (s)
Y (s) = H (s)U (s)
Y (s)
H2 (s)
Y (s)
Y (s) = [H1(s)H2(s)] U (s)
Y (s)
Y (s) = [H1(s) + H2 (s)] U (s)
H1 (s)
U (s)
H2 (s)
U1 (s) = R(s) − Y2 (s)
R(s)
U1 (s)
Y2 (s) = H2(s)H1(s)U1(s)
H1 (s)
Y (s)
so, U1 (s) = R(s) − H2(s)H1(s)U1(s)
=
Y2 (s)
H2 (s)
U2 (s)
Y (s) = H1(s)U1 (s)
=
• Alternate representation
Lecture notes prepared by Dr. Gregory L. Plett
R(s)
1 + H2(s)H1(s)
H1(s)
R(s)
1 + H2(s)H1(s)
3–23
ECE4510, DYNAMIC RESPONSE
H (s)
U (s)
H1(s)
U (s)
Y (s)
H2(s)
Y (s)
H1(s)
U (s)
Y (s)
H2(s)
H1(s)
R(s)
Y (s)
−H2(s)
EXAMPLE :
Recall dc generator dynamics from page 2–2–10
i f (t) R f
e f (t)
|
e f (t)
Field
circuit
Ra
eg (t)
Lf
{z
Field
circuit
i f (t)
L a i a (t)
}
Kg
|
eg (t)
ea (t)
{z
Rotor
circuit
Rotor
circuit
Zl
}| {z }
Load
circuit
i a (t)
Zl
• Compute the transfer functions of the four blocks.
d
if
dt
E f (s) = R f I f (s) + L f s I f (s)
ef = Rfif + L f
I f (s)
1
=
.
E f (s)
Rf + L fs
Lecture notes prepared by Dr. Gregory L. Plett
eg (t) = K g i f (t)
E g (s) = K g I f (s)
E g (s)
= Kg.
I f (s)
ea (t)
3–24
ECE4510, DYNAMIC RESPONSE
d
i a (t) + ea (t)
dt
E g (s) = Ra Ia (s) + L a s Ia (s) + E a (s)
eg (t) = Ra i a (t) + L a
ea (t) = i a (t)Z l
E a (s) = Z l Ia (s)
E a (s)
= Zl .
Ia (s)
= (Ra + L a s + Z l ) Ia (s)
Ia (s)
1
.
=
E g (s)
L a s + Ra + Z l
• Put everything together.
E a (s)
E a (s) Ia (s) E g (s) I f (s)
=
E f (s)
Ia (s) E g (s) I f (s) E f (s)
=
K g Zl
.
L f s + R f (L a s + Ra + Z l )
Block Diagram Algebra
U (s)
H (s)
Y1 (s)
U (s)
⇐⇒
Y1 (s)
H (s)
1
H (s)
Y2 (s)
U1 (s)
H (s)
Y (s)
⇐⇒
U2 (s)
R(s)
H1(s)
Y (s)
R(s)
⇐⇒
H2(s)
Lecture notes prepared by Dr. Gregory L. Plett
U1 (s)
H (s)
U2 (s)
H (s)
1
H2 (s)
“Unity Feedback”
Y2 (s)
Y (s)
H2(s)
H1(s)
Y (s)
3–25
ECE4510, DYNAMIC RESPONSE
EXAMPLE :
Simplify:
H6 (s)
H1 (s)
R(s)
H2 (s)
Y (s)
H5 (s)
H3 (s)
H4 (s)
H6 (s)
H1(s)
1 − H1 (s)H3(s)
R(s)
H2 (s)
Y (s)
H5 (s)
H4 (s)
H6(s)
H2(s)
H1(s)
1 − H1 (s)H3(s)
R(s)
H5 (s)
H2 (s)
Y (s)
H4 (s)
|
R(s)
{z
H1 (s)H2 (s)
1−H1 (s)H3 (s)
H1(s)H2(s)H4 (s)
1+
1−H1 (s)H3(s)
}|
H (s)
H5(s)+ H6(s)
2
H1 (s)H2(s)H5(s) + H1 (s)H6(s)
1 − H1 (s)H3(s) + H1(s)H2(s)H4(s)
Lecture notes prepared by Dr. Gregory L. Plett
{z
Y (s)
}
3–26
ECE4510, DYNAMIC RESPONSE
Mason’s Rule
• If you don’t care to simplify a block diagram using block diagram
manipulation, you can use Mason’s Rule.
• “Node” = Common input to several blocks, or output of summing
junction.
H1 (s)
U (s)
Y (s)
H2(s)
• “Path” = Sequence of connected blocks, from one variable to another,
in the direction of signal flow, without including any variable more than
once.
• “Forward Path” = Path from input to output.
• “Loop” = Path from node back to itself.
• “Path Gain” = Product of all transfer functions in a path.
• “Loop Gain” = Product of all transfer functions in a loop.
• “Nontouching” = Two loops are nontouching if they have no nodes in
common.
G6
R
G1 ➁
G2
➂ G3
G4
➃
➀
−H1
• 2 Loops: ➁➂➁, ➃➄➃
➄
G5
➅
Y
−H2
Nontouching.
• 2 Forward paths: ➀➁➂➃➄➅ Touches both loops.
➀➃➄➅ Does not touch first loop, but touches second loop.
Lecture notes prepared by Dr. Gregory L. Plett
ECE4510, DYNAMIC RESPONSE
3–27
• Mason’s Rule
p
1X
1
T =
Mk 1k =
M1 11 + M212 + · · · + M p 1 p
1 k=1
1
1 = 1 − (sum of ALL (touching or not) individual loop gains)
+(sum of the products of loop gains of all possible
combinations of nontouching loops taken two at a time)
−(sum of the products of loop gains of all possible
combinations of nontouching loops taken three at a time) + · · ·
Mk = Path gain of kth forward path
1k = Value of 1 for that part of the flow graph not touching the kth
forward path.
• Key to using rule = organization!
• Above example:
– Find the loop- and the forward path-gains.
– Loops:
∗ L 1 : ➁➂➁; Gain=−H1 G 2.
∗ L 2 : ➃➄➃; Gain=−H2 G 4.
– Forward Paths:
∗ M1 : ➀➁➂➃➄➅; Gain=G 1 G 2 G 3 G 4 G 5
∗ M2 : ➀➃➄➅; Gain=G 6 G 4 G 5.
• 1 = 1 − (L 1 + L 2) + L 1 L 2 = 1 + H1 G 2 + H2 G 4 + H1 H2 G 2 G 4.
• 1k is easiest determined by redrawing flowgraph without path k.
Lecture notes prepared by Dr. Gregory L. Plett
3–28
ECE4510, DYNAMIC RESPONSE
G6
Path 1 removed. No loops.
11 = 1 − 0
−H1
G1
G2
−H2
G3
−H1
T =
Path 2 removed. One loop with
gain −G 2 H1. 12 = 1 − (−G 2 H1 )
−H2
M1 11 + M212
G 1 G 2 G 3 G 4 G 5 + G 6 G 4 G 5(1 + H1 G 2)
.
=
1
1 + H1 G 2 + H2 G 4 + H1 H2 G 2 G 4
• Mason’s rule may be shorter that block-diagram manipulation.
• Use the method with which you are most comfortable.
Lecture notes prepared by Dr. Gregory L. Plett
4–1
ECE4510: Feedback Control Systems.
BASIC PROPERTIES OF FEEDBACK
• Two basic types of control systems:
OPEN LOOP :
Disturbance
r (t)
y(t)
Plant
Ctrlr
CLOSED LOOP :
Disturbance
r (t)
Plant
Ctrlr
y(t)
Sensor
• We will compare these systems in a number of ways: disturbance
rejection, sensitivity, dynamic tracking, steady state error and stability.
DC Motor Speed Control
• Recall equations of motion for a dc motor (pg. 2–2–11) but add load
torque.
i a (t) Ra
ea (t)
|
La
b
θ (t), τ (t)
eb (t)
{z
Armature
}
J
| {z }
Load
• Assume that we are trying to control motor speed:
Lecture notes prepared by Dr. Gregory L. Plett
τl , load
4–2
ECE4510, BASIC PROPERTIES OF FEEDBACK

J θ + bθ = kτ i a + τl  let output y = θ. ,
.
di a
4
 disturbance w =
τl .
ke θ + L a
+ Ra i a = ea
dt

.
y
J + by = kτ i a + w  s J Y (s) + bY (s) = k I (s) + W (s)
τ a
di a
 ke Y (s) + s L a Ia (s) + Ra Ia (s) = E a (s)
ke y + L a
+ Ra i a = ea
dt
..
.
(J L a s s + bL a s + J Ra s + b Ra + kτ ke )Y (s) = kτ E a (s) + (Ra + L a s)W (s)
• This can be re-written as (magic happens)
(τ1s + 1)(τ2s + 1)Y (s) = AE a (s) + BW (s)
τ1 ≈ Ra J/(kτ ke ) = mechanical time constant
τ2 ≈ L a /Ra = electrical time constant
A = kτ /(b Ra + kτ ke )
B = Ra /(b Ra + kτ ke )
• So,
Y (s) =
A
B
E a (s) +
W (s).
(τ1s + 1)(τ2s + 1)
(τ1s + 1)(τ2s + 1)
• If ea (t) = ea · 1(t) (constant) and w(t) = w · 1(t) (constant), What is
steady state output?
– Recall Laplace-transform final value theorem:
If a signal has a constant final value, it may be found as
yss = lim sY (s).
s→0
– So,
ea
w
, W (s) = , yss = Aea + Bw.
s
s
• This is the response of the open-loop system (without a controller).
E a (s) =
Lecture notes prepared by Dr. Gregory L. Plett
4–3
ECE4510, BASIC PROPERTIES OF FEEDBACK
B
A
Dist. w(t)
r (t)
Ctrlr
Motor
ea (t)
A
(τ1s + 1)(τ2s + 1)
y(t)
• Let’s make a simple controller for the open-loop system.
ea (t) = K ol r(t),
(gain of K ol )
• Choose K ol so that there is no steady-state error when w = 0.
yss = AK ol rss + Bwss
⇒ K ol = 1/A.
• Is closed-loop any better?
B
A
Dist. w(t)
r (t)
Ctrlr
ea (t)
A
(τ1s + 1)(τ2s + 1)
y(t)
1
Tachometer
• Let’s make a similar controller for the closed-loop system (with the
possibility of a different value of K .)
ea (t) = K cl (r(t) − y(t))
• The transfer function for the closed-loop system is:
AK cl
B
Y (s) =
W (s)
(R(s) − Y (s)) +
(τ1s + 1)(τ2s + 1)
(τ1s + 1)(τ2s + 1)
AK cl
B
=
R(s) +
W (s)
(τ1s + 1)(τ2s + 1) + AK cl
(τ1s + 1)(τ2s + 1) + AK cl
AK cl
yss =
rss ,
assuming w = 0.
1 + AK cl
Lecture notes prepared by Dr. Gregory L. Plett
ECE4510, BASIC PROPERTIES OF FEEDBACK
4–4
• If AK cl 1, yss ≈ rss .
• Open-loop with load:
yss = AK ol rss + Bwss = rss + Bwss
δy = Bwss .
• Closed-loop with load:
AK cl
B
rss +
wss
1 + AK cl
1 + AK cl
B
δy ≈
wss .
1 + AK cl
yss =
which is much better than open-loop since AK cl 1.
ADVANTAGE OF FEEDBACK:
Better disturbance rejection (by factor of
1 + AK cl ).
Sensitivity
• The steady-state gain of the open-loop system is: 1.0
• How does this change if the motor constant A changes?
A → A + δA
G ol + δG ol = K ol ( A + δ A)
1
= ( A + δ A)
A
δA
= 1+
.
A
|{z}
gain error
• In relative terms:
δG ol
δA
δA
=
= |{z}
1.0
.
G ol
A
A
sensitivity
• Therefore, a 10% change in A ➠ 10% change in gain. Sensitivity=1.0.
Lecture notes prepared by Dr. Gregory L. Plett
ECE4510, BASIC PROPERTIES OF FEEDBACK
4–5
AK cl
.
1 + AK cl
( A + δ A)K cl
G cl + δG cl =
.
1 + ( A + δ A)K cl
• Steady-state gain of closed-loop system is:
• From calculus (law of total differential)
dG cl
δG cl =
δA
dA
or
δG cl
A dG cl
δA
=
G cl
G dA
A
| cl{z
}
sensitivity S GA cl
A
(1 + AK cl )K cl − K cl ( AK cl )
AK cl /(1 + AK cl )
(1 + AK cl )2
1
=
.
1 + AK cl
S AG cl =
ADVANTAGE OF FEEDBACK :
Lower sensitivity to modeling error (by a
factor of 1 + AK cl )
Dynamic Tracking
• Steady-state response of closed-loop better than open-loop: Better
disturbance rejection, better (lower) sensitivity.
• What about transient response?
• Open-loop system: Poles at roots of (τ1s + 1)(τ2s + 1)
➠ s = −1/τ1, s = −1/τ2.
• Closed-loop system: Poles at roots of (τ1s + 1)(τ2s + 1) + AK cl .
p
−(τ1 + τ2) ± (τ1 + τ2)2 − 4τ1τ2(1 + AK cl )
➠ s=
.
2τ1τ2
Lecture notes prepared by Dr. Gregory L. Plett
4–6
ECE4510, BASIC PROPERTIES OF FEEDBACK
• FEEDBACK MOVES POLES
– System may have faster/slower response
– System may be more/less damped
– System may become unstable!!!
– Often a high gain K cl results in instability. We need design tools to
help us design the dynamic response of the closed-loop system.
– For this dc motor example, we can get step responses of the
following form:
1.5
y(t)
High K cl
1
0.5
0
0
Low K cl
2
4
6
8
10
Time (sec)
PID Control
• General control setup:
R(s)
Disturbance
D(s)
G(s)
Y (s)
• Need to design controller D(s).
• One option is PID (Proportional Integral Derivative) control design.
Lecture notes prepared by Dr. Gregory L. Plett
4–7
ECE4510, BASIC PROPERTIES OF FEEDBACK
• Extremely popular. 90+% of all controllers are PID.
– Doesn’t mean that they are great, just popular.
• We just saw proportional control where u(t) = K e(t), or D(s) = K .
• Proportional control allows non-zero steady state error.
– Increases speed of response.
– Larger transient overshoot.
• Integral control eliminates steady state error. D(s) =
KI
.
s
– Dynamic response gets worse.
• Derivative control damps dynamic response. D(s) = K D s.
Proportional Control
• u(t) = K (r(t) − y(t)) = K e(t)
...
D(s) = K .
• May have steady state error, may not be able to completely reject a
constant disturbance.
EXAMPLE:
Determine behavior of closed loop poles for the dc motor.
Y (s)
AK
=
.
R(s) (τ1s + 1)(τ2s + 1) + AK
• Poles are roots of (τ1s + 1)(τ2s + 1) + AK .
• Without feedback, K → 0.
s1 = −1/τ1,
• With feedback,
s1 , s 2 =
−(τ1 + τ2) ±
Lecture notes prepared by Dr. Gregory L. Plett
p
s2 = −1/τ2.
(τ1 + τ2)2 − 4τ1τ2 (1 + AK )
.
2τ1τ2
4–8
ECE4510, BASIC PROPERTIES OF FEEDBACK
(τ1 − τ2 )2 =(s)
K =
4τ1τ2 A
K =0
1
−
τ2
K =0
1
−
τ1
−
<(s)
τ1 + τ2
2τ1τ2
• (We will see many root-locus plots in this course!)
(τ1 − τ2)2
• After a certain gain K =
, the poles go straight up and down.
4τ1τ2 A
Settling time remains the same, rise time decreases, damping
decreases (more overshoot.)
• For larger systems increasing K leads to instability.
• How do we improve accuracy, but keep stability?
Integral and Proportional Integral Control
Z
K t
K
• Pure integral control: u(t) =
e(τ ) dτ,
D(s) =
.
TI 0
TI s
• TI = “Integral time” = time for output = K with input = 1.
• Integral feedback can give nonzero control even if e = 0 because of
“memory.” No steady state error, and constant disturbances can be
canceled (completely).
Z
K t
EXAMPLE: Substitute: u(t) =
(r(τ ) − y(τ )) dτ into dc-motor
TI 0
equations.
Lecture notes prepared by Dr. Gregory L. Plett
4–9
ECE4510, BASIC PROPERTIES OF FEEDBACK
..
.
K
τ1τ2 y (t) + (τ1 + τ2) y (t) + y(t) = A
TI
Z
t
(r(τ ) − y(τ )) dτ + Bw(t).
0
• Differentiate,
AK
.
(r(t) − y(t)) + B w(t)
TI
...
..
.
AK
AK
.
y
y
y
τ1τ2 (t) + (τ1 + τ2) (t) + (t) +
y(t) =
r(t) + B w(t).
TI
TI
...
..
.
τ1τ2 y (t) + (τ1 + τ2) y (t) + y (t) =
.
• If r(t) = cst, w(t) = cst, w(t) = 0,
AK
AK
yss =
rss
TI
TI
➠
no error.
• Steady-state improves
=(s)
• Dynamic response degrades.
– Very oscillatory.
K =0K =0
1
1
−
−
τ2
τ1
– Possibly unstable.
• Can be improved by adding proportional term to integral term.
Z t
K
u(t) = K e(t) +
e(τ ) dτ,
T
I
0
1
D(s) = K 1 +
.
TI s
• Poles are at
τ1τ2s 3 + (τ1 + τ2)s 2 + (1 + AK )s +
Two degrees of freedom.
Derivative and Proportional Derivative Control
.
• u(t) = K TD e(t),
D(s) = K TD s.
Lecture notes prepared by Dr. Gregory L. Plett
AK
= 0.
TI
<(s)
4–10
ECE4510, BASIC PROPERTIES OF FEEDBACK
• TD = “Derivative time”.
• PURE DERIVATIVE CONTROL IMPRACTICAL SINCE DERIVATIVE
MAGNIFIES SENSOR NOISE!
• Practical version = “Lead control,” which we will study later.
• Stabilizes system.
.
• Does nothing to reduce constant error! If e(t) = 0, then u(t) = 0.
• Motor Control: Poles at roots of τ1τ2s 2 + (τ1 + τ2 + AK TD )s + 1 = 0.
– TD enters ζ term, can make damping better.
• PD = Proportional plus derivative control
D(s) = K (1 + TD s)
• Root locus for dc motor, PD control.
=(s)
1
−
τ2
1
−
TD
1
−
τ1
<(s)
Proportional Integral Derivative Control
1
• D(s) = K 1 +
+ TD s .
TI s
• Need ways to design parameters K , TI , TD .
• In general (i.e., not always),
K , TI ↑ ⇐⇒ error ↓, stability ↓
TD ↑ ⇐⇒ stability ↑
Lecture notes prepared by Dr. Gregory L. Plett
4–11
ECE4510, BASIC PROPERTIES OF FEEDBACK
• For speed control problem,
Z
.
1 t
.
u(t) = K (r(t) − y(t)) +
(r(τ ) − y(τ )) dτ + TD (r(t) − y (t)) .
TI 0
(math happens). Solve for poles
τ1τ2 TI s 3 + TI ((τ1 + τ2) + AK TD )s 2 + TI (1 + AK )s + AK = 0
AK
+
τ
+
AK
T
τ
1
+
AK
1
2
D
s2 +
s+
s3 +
= 0.
τ1τ2
τ1τ2
τ1τ2 TI
• Three coefficients, three parameters. We can put poles anywhere!
Complete control of dynamics in this case.
• Entire transfer functions are:
Y (s)
TI Bs
=
.
W (s)
TI τ1τ2s 3 + TI (τ1 + τ2)s 2 + TI (1 + AK )s + AK
Y (s)
AK (TI s + 1)
=
.
R(s)
TI τ1τ2s 3 + TI (τ1 + τ2)s 2 + TI (1 + AK )s + AK
• We can plot responses in MATLAB:
num = [TI*B 0];
den = [TI*TAU1*TAU2 TI*(TAU1+TAU2) TI*(1+A*K) A*K];
step(num, den)
Step Reference Response
1.6
PI
P
1.2
1.4
y(t) (rad/sec)
1.4
y(t) (rad/sec)
Step Disturbance Response
1.6
1
0.8
PID
0.6
0.4
0.2
0
0
P
1.2
1
0.8
PI
PID
0.6
0.4
0.2
0.01
0.02
0.03
0.04
0.05
0
0
0.01
Time (sec)
Ziegler - Nichols Tuning of PID Controllers
• “Rules of Thumb” for selecting K , TI , TD .
Lecture notes prepared by Dr. Gregory L. Plett
0.02
0.03
Time (sec)
0.04
0.05
4–12
ECE4510, BASIC PROPERTIES OF FEEDBACK
• Not optimal in any sense—just provide good performance.
METHOD I :
If system has step response like this,
Slope, A/τ
A
Y (s)
Ae−τd s
=
,
U (s) τ s + 1
(first-order system plus delay)
τd
τ
• We can easily identify A, τd , τ from this step response.
• Don’t need complex model!
• Tuning criteria: Ripple in impulse response decays to 25% of its value
in one period of ripple
1
Period
RESULTING TUNING RULES :
P
PI
0.25
K =
METHOD II :
τ
Aτd
0.9τ
Aτ
τd d
TI =
0.3
K =
PID
1.2τ
K =
Aτd
TI = 2τd
TD = 0.5τd
Configure system as
r (t)
Ku
Plant
y(t)
• Turn up gain K u until system produces oscillations (on stability
boundary) K u = “ultimate gain.”
Lecture notes prepared by Dr. Gregory L. Plett
4–13
ECE4510, BASIC PROPERTIES OF FEEDBACK
Period, Pu
1
RESULTING TUNING RULES :
P
PI
K = 0.5K u
K = 0.45K u
1
TI =
Pu
1.2
PID
K = 0.6K u
TI = 0.5Pu
Pu
TD =
8
Practical Problem: Integrator Overload
• Integrator in PI or PID control can cause problems.
• For example, suppose there is saturation in the actuator.
– Error will not decrease.
– Integrator will integrate a constant error and its value will “blow up.”
• Solution = “integrator anti-windup.” Turn off integration when actuator
saturates.
K
e(t)
u(t)
K
TI s
Ka
u min
u max
• Doing this is NECESSARY in any practical implementation.
• Omission leads to bad response, instability.
Lecture notes prepared by Dr. Gregory L. Plett
4–14
ECE4510, BASIC PROPERTIES OF FEEDBACK
Step Response
Control Effort
1.6
1
1.4
Without antiwindup
1.2
0.6
0.6
u(t)
y(t)
1
0.8
With antiwindup
0.4
0.2
0
0.4
−0.2
0.2
−0.4
0
0
Without antiwindup
0.8
2
4
6
8
10
−0.6
0
With antiwindup
2
Time (sec)
4
6
Time (sec)
8
10
Steady-State Error
• System error is any difference between r(t) and y(t).
• Two sources:
1. Imprecise tracking of r(t).
2. Disturbance affecting the system output.
Steady-State Error (w.r.t. Reference Input)
• We have already seen examples of CL systems that have some
tracking error (proportional ctrl) or not (integral ctrl) to a step input.
We will formalize this concept here.
• Start with very general control structure:
r (t)
T (s)
y(t)
• The closed-loop transfer function for the whole system,
Y (s)
T (s) =
.
R(s)
• The error is
E(s) = R(s) − Y (s)
Lecture notes prepared by Dr. Gregory L. Plett
4–15
ECE4510, BASIC PROPERTIES OF FEEDBACK
= R(s) − T (s)R(s)
= [1 − T (s)] R(s).
• Assume conditions of final value theorem are satisfied (i.e., T (s) is
stable)
ess = lim e(t) = lim s[1 − T (s)]R(s).
t→∞
s→0
tk
• We use test inputs of the type: r(t) = 1(t);
k!
t · 1(t)
1(t)
t
R(s) =
t2
· 1(t)
2
t
1
s k+1
.
t
• As k increases, tracking is progressively harder.

 0,
type > K ;
1 − T (s) 
ess = lim
= constant, type = K ;

s→0
sk

∞,
type < K .
• If system type = 0, constant steady-state error for step input, infinite
s.s. error for ramp or parabolic input.
• If system type = 1, no steady-state error for step input, constant s.s.
error for ramp input, infinite s.s. error for parabolic input.
• If system type = 2, no steady-state error for step or ramp inputs,
constant s.s. error for parabolic inputs.
• And so forth, for higher-order system types.
• Ramp responses of different system types:
Lecture notes prepared by Dr. Gregory L. Plett
4–16
ECE4510, BASIC PROPERTIES OF FEEDBACK
t
Type 0 System
t
Type 1 System
t
t
Type 2 System
t
t
• DANGER : Higher order sounds better but they are harder to stabilize
and design. Transient response may be poor.
UNITY FEEDBACK: SPECIAL CASE
• NOTE : The following method is a special case of the above general
method. Be careful to use the apropriate method for the problem at
hand!
• Unity-feedback is when the control system looks like:
r (t)
G ol (s)
y(t)
• There are some important simplifications:
G ol (s)
T (s) =
1 + G ol (s)
1 + G ol (s)
G ol (s)
1 − T (s) =
−
1 + G ol (s)
1 + G ol (s)
1
=
.
1 + G ol (s)
So,
E(s) =
Lecture notes prepared by Dr. Gregory L. Plett
1
R(s).
1 + G ol (s)
4–17
ECE4510, BASIC PROPERTIES OF FEEDBACK
• For the test inputs R(s) =
1
s k+1
ess = lim s E(s)
s→0
1
s→0 [1 + G ol (s)]s k
= lim
• For type 0,
1
1
,
=
s→0 1 + G ol (s)
1 + Kp
ess = lim
K p = lim G ol (s).
s→0
• For type 1,
1
1
1
1
,
= lim
=
s→0 1 + G ol (s) s
s→0 sG ol (s)
Kv
ess = lim
K v = lim sG ol (s).
s→0
• For type 2,
1
1
1
1
=
lim
,
=
s→0 1 + G ol (s) s 2
s→0 s 2 G ol (s)
Ka
ess = lim
K a = lim s 2 G ol (s).
s→0
These formulas only meaningful for unity-feedback!
K p = lim G ol (s).
“position error constant”
s→0
K v = lim sG ol (s).
“velocity error constant”
K a = lim s 2 G ol (s).
“acceleration error constant”
s→0
s→0
Steady-state tracking errors ess for unity-feedback case ONLY.
Sys. Type
Type 0
Step Input
1
1 + Kp
Ramp Input
∞
∞
∞
Type 1
0
1
Kv
Type 2
0
0
Lecture notes prepared by Dr. Gregory L. Plett
Parabola Input
1
Ka
ECE4510, BASIC PROPERTIES OF FEEDBACK
EXAMPLES:
(1) Consider G ol (s) =
s+1
; System type?
(s + 2)(s + 3)
1
1
= .
2·3 6
1
6
Therefore, type= 0, ess to unit step=
= .
1 + 1/6 7
G ol (0) =
(s + 1)(s + 10)(s − 5)
(2) Consider G ol (s) = 2
; System type?
(s + 3s)(s 4 + s 2 + 1)
1 · 10 · (−5)
=∞
➠Type > 0.
0·1
(s + 1)(s + 10)(s − 5)
sG ol (s) =
(s + 3)(s 4 + s 2 + 1)
1 · 10 · (−5) −50
sG ol (s)|s=0 =
=
.
3·1
3
−3
Therefore, type= 1, ess to unit ramp=
.
50
s 2 + 2s + 1
(3) Consider G ol (s) = 4
; System type?.
s + 3s 3 + 2s 2
1
G ol (0) = = ∞
➠Type > 0
0
s 2 + 2s + 1
sG ol (s) = 3
s + 3s 2 + 2s
1
sG ol (s)|s=0 = = ∞
➠Type > 1
0
s 2 + 2s + 1
2
s G ol (s) = 2
s + 3s + 2
1
s 2 G ol (s) s=0 =
➠Type = 2.
2
G ol (0) =
Lecture notes prepared by Dr. Gregory L. Plett
4–18
4–19
ECE4510, BASIC PROPERTIES OF FEEDBACK
Therefore, type= 2, ess to unit parabola= 2.
Open-loop G(s) = G ol (s) tells us about closed-loop s.s.
response.
KEY POINT:
EXAMPLE:
DC-motor example with Proportional control.
r (t)
Ctrlr
A
(τ1s + 1)(τ2s + 1)
y(t)
• Controller: D(s) = K .
D(s)G(s) =
KA
,
(τ1s + 1)(τ2s + 1)
lim D(s)G(s) = K A.
s→0
So system is type 0, with s.s. error to step input of
agrees with prior results.)
1
. (This
1+KA
EXAMPLE :
DC-motor example with PI control
1
• Controller: D(s) = K 1 +
.
TI s
D(s)G(s) =
KA+
KA
TI s
(τ1s + 1)(τ2s + 1)
lim D(s)G(s) = ∞
.
s→0
lim s D(s)G(s) =
s→0
KA
.
TI
System is type 1, with s.s. error to ramp input of
EXAMPLE :
DC-motor with another integrator
Lecture notes prepared by Dr. Gregory L. Plett
TI
.
KA
ECE4510, BASIC PROPERTIES OF FEEDBACK
• Controller: D(s) = K 1 +
4–20
1
1
.
+
TI s TI s 2
D(s)G(s) =
KA+
KA
TI s
+
KA
TI s 2
(τ1s + 1)(τ2s + 1)
KA
lim s 2 D(s)G(s) =
.
s→0
TI
System is type 2, with s.s. error to parabolic input of
TI
.
KA
Steady State Error (w.r.t. Disturbance)
• Recall, system error is any difference between r(t) and y(t).
• One source of system error is disturbance.
• Can find system type with respect to disturbance.
Y (s)
= Tw (s)
W (s)
such that
Y (s) = T (s)R(s) + Tw (s)W (s).
• We do not wish the output to have ANY disturbance term in it, so the
output error due to the disturbance is equal to the output due to the
disturbance.
ess = yss = lim sTw (s)W (s).
s→0
• Type 0 system (w.r.t. disturbance) has constant lim Tw (s).
s→0
Tw (s)
.
s→0
s
Tw (s)
• Type 2 system (w.r.t. disturbance) has constant lim 2 .
s→0 s
• Type 1 system (w.r.t. disturbance) has constant lim
Lecture notes prepared by Dr. Gregory L. Plett
5–1
ECE4510: Feedback Control Systems.
STABILITY ANALYSIS
• Many classifications of stability in system analysis.
• For LTI systems, all are basically the same ➠ “BIBO.”
Stable
Neutral
Unstable
• If input is bounded: |u(t)| < K 1, then output is also bounded
|y(t)| < K 2.
• In the time domain,
Z
y(t) =
∞
h(τ )u(t − τ ) dτ
−∞
∞
Z
|y(t)| =
Lecture notes prepared by Dr. Gregory L. Plett
−∞
h(τ )u(t − τ ) dτ
ECE4510, STABILITY ANALYSIS
Z
≤
5–2
∞
−∞
|h(τ )| |u(t − τ )| dτ
Z
≤ K1
Z
• So if a system is BIBO stable,
u(t)
C
∞
−∞
∞
−∞
|h(τ )| dτ.
|h(τ )| dτ < ∞.
Note: (h(t) = 1(t)).
Stable?
y(t)
• In the Laplace domain,
Q
Y (s)
(s − zi )
K m
H (s) =
= Qn 1
R(s)
1 (s − pi )
m ≤ n.
(assume poles unique)
h(t) =
n
X
ki e pi t
i =1
Z
∞
−∞
|h(τ )| dτ < ∞
iff <( pi ) < 0 ∀ i.
(If poles are not distinct, h(t) will have terms
k
t m−1e pi t
(m − 1)!
for an mth order root.
Z
∞
−∞
|h(τ )| dτ < ∞
iff <( pi ) < 0;
Same condition.)
• Laplace-domain condition for stability: All poles in the transfer
function must be in the open left hand plane. (i.e., none on jω axis.)
Lecture notes prepared by Dr. Gregory L. Plett
5–3
ECE4510, STABILITY ANALYSIS
EXAMPLE :
T (s) =
2
. Is T (s) stable?
s 2 + 3s + 2
2
T (s) =
,
(s + 1)(s + 2)
• Roots at s = −1, s = −2. Stable!
10s + 24
EXAMPLE : T (s) =
. Is T (s) stable?
s 3 + 2s 2 − 11s − 12
10(s + 2.4)
T (s) =
,
(s + 1)(s − 3)(s + 4)
• Roots at s = −1, s = +3, s = −4. Unstable!
s
EXAMPLE: T (s) =
. Is T (s) stable?
s2 + 1
s
T (s) =
,
(s − j)(s + j)
• Roots at s = ± j. MARGINALLY stable.
• Use input = sin(t).
s
1
s
=
s 2 + 1 s 2 + 1 (s 2 + 1)2
y(t) = t sin(t) . . . unbounded.
Y (s) =
• MARGINALLY stable = unstable (bounded impulse response, but
unbounded output for some inputs.)
Routh Hurwitz Stability Criterion
• Factoring high-degree polynomials to find roots is tedious and
numerically not well conditioned.
• Want other stability tests, and also MARGINS of stability.
Lecture notes prepared by Dr. Gregory L. Plett
ECE4510, STABILITY ANALYSIS


(1) Routh test



 Can you tell this is
(2) Root locus

an important topic?
(3) Nyquist test



(4) Bode stability margins 
• In 1868, Maxwell found conditions on the coefficients of a transfer
function polynomial of 2nd and 3rd order to guarantee stability.
• It became the subject of the 1877 Adams Prize to determine
conditions for stability for higher-order polynomials.
• Routh won this prize, and the method is still useful.
“Case 0”
• Consider the denominator a(s).
2nd order:
a(s) = s 2 + a1s + a0 = (s − p1 )(s − p2) = s 2 − ( p1 + p2)s + p1 p2.
3rd order:
a(s) = s 3 + a2s 2 + a1s + a0
= (s − p1 )(s − p2)(s − p3 )
= s 2 − ( p1 + p2)s + p1 p2 s − p3
= s 3 − ( p1 + p2 + p3 )s 2 + ( p1 p2 + p1 p3 + p2 p3)s − p1 p2 p3 .
TREND :
Stability ➠ none of the coefficients ai can be ≤ 0.
Does this trend continue?
Lecture notes prepared by Dr. Gregory L. Plett
5–4
ECE4510, STABILITY ANALYSIS
an−1 = (−1)× sum of all roots.
an−2 = sum of products of roots taken two at a time.
an−3 = (−1)× sum of products of roots taken three at a time.
...
a0 = (−1)n × product of all roots.
• Conclusions:
1. If any coefficient ai = 0, not all roots in LHP.
2. If any coefficient ai < 0, at least one root in RHP.
TEST:
If any coefficient ai ≤ 0, system is unstable.
EXAMPLE :
a(s) = s 2 + 0s + 1.
• From conclusion (1), not all roots in LHP.
• Roots at s = ± j.
• “Marginally” stable.
EXAMPLE :
a(s) = s 3 + 2s 2 − 11s − 12.
• From conclusion (2), at least one root is in RHP.
• Roots at s = −1, s = −4, s = +3.
• Unstable.
EXAMPLE :
a(s) = s 3 + s 2 + 2s + 8.
• We don’t know yet if this system is stable or not.
√
1
j 15
• Roots at s = −2, s = ±
. Unstable, but how do we find out
2
2
without factoring?
Lecture notes prepared by Dr. Gregory L. Plett
5–5
5–6
ECE4510, STABILITY ANALYSIS
“Case 1”
• Once we have determined that ai ≥ 0 ∀ i, we need to run the Routh
test.
• Very mechanical, not intuitive. Proof difficult.
• a(s) = s n + an−1s n−1 + · · · + a1s + a0.
• Form “Routh Array”.
sn
s n−1
s n−2
s n−3
...
s1
s0
TEST :
an an−2 an−4 · · ·
an−1 an−3 an−5 · · ·
b1
b2 · · ·
c1
c2
···
j1
k1
b1 =
−1
an an−2
an−1 an−1 an−3
b2 =
−1
an an−4
an−1 an−1 an−5
c1 =
−1 an−1 an−3
b1
b1
b2
c2 =
−1 an−1 an−5
b1
b1
b3
···
···
Number of unstable roots = number of sign changes in left column.
EXAMPLE :
a(s) = s 3 + s 2 + 2s + 8.
s3 1 2
s2 1 8
s 1 −6
s0 8
b1 =
c1 =
• Two sign changes (1 → −6,
Lecture notes prepared by Dr. Gregory L. Plett
−1 1 2
1 1 8
−1 1 8
−6 −6 0
= −(8 − 2) = −6
=
1
(0 + 68) = 8
6
−6 → 8) Two roots in RHP.
5–7
ECE4510, STABILITY ANALYSIS
EXAMPLE :
a(s) = s 2 + a1s + a0.
s 2 1 a0
s 1 a1
s 0 a0
b1 =
−1 1 a0
a1 a1 0
=
−1
(0 − a0 a1) = a0
a1
• Stable iff a1 > 0, a0 > 0.
EXAMPLE :
s3
s2
s
1
s0
a(s) = s 3 + a2s 2 + a1s + a0.
1
a2
a0
a1 −
a2
a0
a1
a0
• Stable iff a2 > 0, a0 > 0, a1 >
b1 =
−1 1 a1
a2 a2 a0
=
−1
(a0 − a1 a2)
a2
= a1 −
c1 =
−1 a2 a0
b1 b1 0
=
a0
a2
−1
(−a0b1 ) = a0.
b1
a0
.
a2
“Case 2”
0
• Sometimes find an element in first column = 0 ➠ (!)
0
• Replace with ± as → 0.
Lecture notes prepared by Dr. Gregory L. Plett
5–8
ECE4510, STABILITY ANALYSIS
EXAMPLE :
a(s) = s 5 + 2s 4 + 2s 3 + 4s 2 + 11s + 10.
−1 1 2
2 2 4
=
−1
(4 − 4) = 0
2
−1 1 11
2 2 10
=
−1
(10 − 22) = 6
2
−1 2 4
6
=
−1
−12
(12 − 4) ≈
c2 =
−1 2 10
0
=
−1
(0 − 10) = 10
d1 =
12
6
−12
10
=
72
(10 + ) ≈ 6
12
−1
e1 =
6
−12
10
6
0
=
−1
(0 − 60) = 10
6
b1 =
b2 =
s5
s4
s3
new s 3
s2
s1
s0
1 2 11
2 4 10
0 6
6
−12
10
6
10
If > 0, two sign changes.
If < 0, two sign changes.
➠ Two poles in RHP.
c1 =
“Case 3”
• Sometimes an entire row in Routh array = 0.
• This means that polynomial factors such that one factor has
conjugate-MIRROR-roots.
=(s)
=(s)
<(s)
=(s)
<(s)
• In any case, system is unstable. But how many RHP roots?
Lecture notes prepared by Dr. Gregory L. Plett
<(s)
5–9
ECE4510, STABILITY ANALYSIS
• Complete Routh array by making polynomial a1(s) from last non-zero
row in array. Poly has even orders of s only!!
• a1(s) is a factor of a(s). It is missing some orders of s, so IS NOT
STABLE (by “case 0”.)
• We want to see if it has roots in the RHP or only on the jω-axis.
da1(s)
• Replace zero row with
and continue.
ds
EXAMPLE :
s4
s3
s2
s1
new s 1
s0
1
1
1
0
2
2
a(s) = s 4 + s 3 + 3s 2 + 2s + 2.
3
2
2
2
0
No sign changes in Routh
array. So, no RHP roots.
√
Roots of a1(s) at s = ± j 2.
Marginally stable.
Lecture notes prepared by Dr. Gregory L. Plett
b1 =
−1 1 3
1 1 2
= 1
b2 =
−1 1 2
1 1 0
= 2
−1 1 2
c1 =
1 1 2
= 0
−1 1 2
2 2 0
= 2
d1 =
a1(s) = s 2 + 2
da1(s)
= 2s
ds
5–10
ECE4510, STABILITY ANALYSIS
EXAMPLE :
s4
s3
new s 3
s2
new s 2
s1
s0
a(s) = s 4 + 4 (Hard).
1
0
4
0
−16
4
0
0
0
4
4
4
da1(s)
= 4s 3.
ds
a1 (s) = s 4 + 4;
Two sign changes. Therefore
2 RHP poles. Other two
poles are mirrors in LHP.
b1 =
−1 1 0
4 4 0
= 0
b2 =
−1 1 4
4 4 0
= 4
c1 =
−1 4 0
4
=
d1 =
16
4
−16
0
−16
= 4
Design Tool
• Consider the system:
r (t)
s+1
s(s − 1)(s + 6)
K
s+1
K s(s−1)(s+6)
Y (s)
T (s) =
=
s+1
R(s) 1 + K s(s−1)(s+6)
=
K (s + 1)
s(s − 1)(s + 6) + K (s + 1)
a(s) = s(s − 1)(s + 6) + K (s + 1)
Lecture notes prepared by Dr. Gregory L. Plett
y(t)
5–11
ECE4510, STABILITY ANALYSIS
= s 3 + 5s 2 + (K − 6)s + K .
s3
s2
s
1
s0
1
K −6
5
K
4K − 30
5
K
b1 =
−1 1 K − 6
5 5
K
=
−1
(K − 5(K − 6))
5
= (4K − 30)/5.
c1 =
For stability of the
closed-loop system, K > 0,
and K > 30/4.
−1 5 K
b1 b1 0
=
−1
(−b1 K ) = K
b1
• Step response for different values of K .
2.5
K =25
K =13
K =7.5
Amplitude
2
1.5
1
0.5
0
−0.5
0
2
4
6
8
10
12
Time (sec.)
EXAMPLE :
r (t)
1
K 1+
TI s
Lecture notes prepared by Dr. Gregory L. Plett
1
(s + 1)(s + 2)
y(t)
5–12
ECE4510, STABILITY ANALYSIS
K TI s+K
Y (s)
s(s+1)(s+2)
T (s) =
=
K TI s+K
R(s) 1 + s(s+1)(s+2)
=
K TI s + K
.
s(s + 1)(s + 2) + K TI s + K
• a(s) = s 3 + 3s 2 + (2 + K TI )s + K .
s3
s2
s1
s
0
1
2 + K TI
3
K
6 + 3K TI − K
3
K
b1 =
−1 1 2 + K TI
3 3
K
=
−1
(K − 3(2 + K TI ))
3
−1 3 K
b1 b1 0
=
−1
(−b1 K ) = K
b1
c1 =
• For stability of the closed-loop system, 0 < K <
1
K > 0 for TI > .
3
6
1
for TI < or
1 − 3TI
3
1.2
Amplitude
1
K = 3, TI = 0.5
0.8
K = 1, TI = 0.25
0.6
K = 1, TI = ∞
0.4
0.2
0
0
2
4
6
Time (sec.)
Lecture notes prepared by Dr. Gregory L. Plett
8
10
12
Root Locus: Construction and Design
Plant
R( s )
+
K
_
Gp ( s )
Y( s )
K is a positive parameter
that can be changed
K .Gp ( s )
Y( s )
R ( s ) 1 K .Gp ( s )
s
Gp ( s )
N( s )
and
D( s )
m
s
am
n
bn
1
1
.s m
.s n
1
}
......
1
.......
are polynomials where
m n
K.
N( s )
D( s )
Y( s )
R( s )
1
Closed Loop Transfer Function
a0 N ( s )
b D( s )
}
General Form for the
Transfer Function
0
K .N( s )
N( s ) D ( s ) K .N( s )
K.
D( s )
The closed loop poles are the roots of the characteristic equation
∆ ( s ) D( s )
The location of the roots of
∆( s)
K .N( s ) 0
in the s-plane change as
K
is varied from 0 to
A "Locus" of these roots plotted in the s-plane as a function of K is called the
Different ways to write the same thing
∆( s) 1
K.
N( s )
D( s )
D( s )
K .N( s ) 0
Gives the roots of the closed loop system
∞
Root Locus
Root Locus Rules
1. Starting points
(K = 0)
The root loci start at the open-loop poles.
2. Termination
points
The root loci terminate at the open-loop zeros. The
open loop zeros include those at infinity.
3. Number of
distinct root loci
There will be as many root loci as the largest number
of finite open loop poles or zeros. For the majority of
systems, the number of finite open-loop poles will be
greater than the number of finite open-loop zeros.
4. Symmetry of
root loci
The root loci are symmetrical with respect to the
real axis.
5. Asymptote
intersection
The asymptotes intersect the real axis at a point
given by
centroid
formula
{
σi =
∑ open −
loop poles −
∑ open −
loop zeros
n− m
6. Root Locus
locations on the
real axis
The root loci may be found on portions of the real
axis to the left of an odd number of open-loop poles
and zeros.
7. Rool locus
asymptotes
The root loci are asymptotic to straight lines, for
large values of s, with angles given by
θ=
(1 + 2k )π
n− m
Let RD (relative degree) = n - m
k = 0,1,..., n − m − 1
n = no. of finite open loop poles
m = no. of finite open loop zeros
Asymptote Chart in the s plane
X
RD 1
X
RD 2
120
RD 3
The centroids are marked
x
X
90
RD 4
in the asymptote charts above
X
72
RD 5
Example
Plant
+
R( s )
Gp ( s )
Y( s )
R( s )
K
_
1
2 ) .( s
s .( s
K.
1
K.
∆( s) 1
K.
}
4)
1
2 ) .( s
s .( s
}
2 ) .( s
s 0, 2, 4
Closed Loop Transfer Function
4)
1
s .( s
Y( s )
Open loop poles are at
4)
1
2 ) .( s
s .( s
Gp ( s )
Locus Form
} Root
for the Denominator
4)
Step 1. Pole Zero Plot
Step 2. Real Axis
jω
X X
-4
jω
X
X X
σ
-2
-4
Step 3. Centroid / Asymptotes
centroid
0
2
4
0
3
X X
-4
X
-2
σ
jω
centroid
2
X
-2
σ
RD 3
6
Step 4. Draw the Root Locus
Imag Axis
4
a. Locus must be symmetric about real axis
b. Open loop zeros at infinity = 3
c. Locus starts at open loop poles and
goes to the open loop zeros
2
0
-2
Note: Locus is symmetric about
the real axis because complex
poles always come in conjugate pairs
-4
-6
-6
-5
-4
-3
-2
-1
Real Axis
0
1
2
Example
Plant
+
R( s )
Gp ( s )
Y( s )
R( s )
K
_
s 2
3 3j) .( s
1 ) .( s
(s
K.
1 ) .( s
(s
1
K.
∆( s) 1
K.
(s
Gp ( s )
1 ) .( s
1 ) .( s
3
s 2
3 3j) .( s
3
}
3j)
s 2
3 3j) .( s
s
(s
3
Y( s )
|
3j)
3
2
3j) .( s
oX
3
3j)
|
3
1
2
Root Locus Form
for the Denominator
jω
( 2)
σ
X
jω
X
5
2
oX
-3 -2 -1
centroid
Step 3. Centroid / Asymptotes
3
}
Step 2. Real Axis
σ
X
=
Closed Loop
Transfer Function
X
-3 -2 -1
s=−2
s = − 3 ± j3
3j)
jω
Centroid
Open loop poles
}
Step 1. Pole Zero Plot
X
Open loop zero
oX
σ
-3 -2 -1
X
RD 2
10
8
6
a. Locus must be symmetric about real axis
b. Open loop zeros at infinity = 2
c. Locus starts at open loop poles and
goes to the open loop zeros
Imag Axis
Step 4. Draw the Root Locus
4
2
0
-2
-4
-6
-8
-10
-4
-3
-2
-1
Real Axis
0
1
2
Example
+
R( s )
Gp ( s )
Y( s )
R( s )
K
_
1
1 ) .( s
(s
Gp ( s )
}
3)
1
( s 1 ) .( s 3 )
1
K.
( s 1 ) .( s 3 )
K.
∆( s) 1
1
1 ) .( s
(s
}
3)
}
1, 3
s
Open loop poles
K.
1
Y( s )
Closed Loop Transfer Function
Root Locus Form
for the Denominator
Step 1. Pole Zero Plot
Step 2. Real Axis
jω
jω
X X
-3
X X
σ
-1
-3
σ
-1
centroid
Step 3. Centroid / Asymptotes
=
3
1
2
2
RD 2
X X
-3
-1
Step 4. Draw the Root Locus
2.5
σ
2
1.5
Imag Axis
Centroid
jω
1
0.5
0
-0.5
a. Locus must be symmetric about real axis
b. Open loop zeros at infinity = 2
c. Locus starts at open loop poles and
goes to the open loop zeros
-1
-1.5
-2
-2.5
-4
-3
-2
-1
Real Axis
0
1
2
Example - Continued
R( s )
Open Loop System
Gp ( s )
1
1 ) .( s
(s
Y( s )
Gp ( s )
3)
Step Response
Let
R(s) = Unit step
0.3
Y( s )
1
2
s
0.25
1
6
1
s
Amplitude
1
3
s
3
0.2
0.15
0.1
0.05
0
0
1
2
3
4
5
6
Time (sec.)
Closed Loop System
Y( s )
+
_
R( s )
K
Gp ( s )
Let R(s) = unit step
Step Response
1.2
1
K 30
K 10
Amplitude
0.8
}
K 4
0.6
0.4
as K changes it is
clear that the transient
response can be "shaped"
K 1
0.2
0
0
2
4
6
8
10
Time (sec.)
Note: Higher values of K speed up the closed-loop response when compared to the
open-loop response
Example
+
_
R( s )
Gp ( s )
Y( s )
R( s )
K
s .( s
K.
3 ) .( s
s .( s
1
K.
∆( s) 1
K.
Gp ( s )
1
j .7.4 ) .( s
3
3 ) .( s
3
s .( s
3 ) .( s
s .( s
3 ) .( s
j .7.4 )
3
1
j .7.4 ) .( s
Y( s )
}
j .7.4 )
3
3
1
j .7.4 ) .( s
3
j .7.4 )
3
1
j .7.4 ) .( s
3
j .7.4 )
Step 1. Pole Zero Plot
X
Locus Form
} Root
for the Denominator
Step 2. Real Axis
jω
X
Closed-Loop
Transfer Function
jω
X
X
X
σ
-3X
X
σ
-3
X
centroid
Step 3. Centroid Asymptotes
Centroid
=
RD 4
3
3
3
4
0
9
4
2.25
jω
X
X
-3
X
X
σ
Step 4. Draw the Root Locus
a. Locus must be symmetric about real axis
b. Open loop zeros at infinity = 4
c. Locus starts at open loop poles and
goes to the open loop zeros
8
6
Imag Axis
4
2
0
-2
-4
-6
-8
-4
-3
-2
-1
Real Axis
0
1
2
Magnitude and Angle Conditions
K .Gp ( s )
Y( s )
R ( s ) 1 K .Gp ( s )
Y( s )
+
R( s )
K
_
Gp ( s )
Poles are determined by
K .Gp ( s )
∆( s) 1
∆( s)
}
characteristic equation
}
=0
clp denotes closed-loop pole
s clp
Magnitude Condition
∆( s) 1
K .Gp ( s )
K .Gp ( s )
=0
s clp
K . Gp ( s )
}
1
=
s clp
}
=1
s clp
K .Gp ( s )
=>
= -1
s clp
}
Expression for
finding clps
Take the magnitude of
both sides
(Note K is a real number)
Magnitude Condition
Angle Condition
K .Gp ( s )
}
= -1
Expression for finding clps
s clp
Angle K .Gp ( s )
Angle Gp ( s )
Angle Gp ( s )
=
Angle( 1 )
}
Take the angle of both sides
s clp
= -180
s clp
= -180
s clp
}
Use -180 degrees as opposed
to 180 degrees by convention
(only here)
(Note K is a real number)
}
Angle Condition
Example
Find the value of K which places a closed loop pole at -5
Gp ( s )
s 2
1 ) .( s
(s
Y( s )
+
R( s )
K
_
Gp ( s )
4)
Find the transfer function
K.
Y( s )
R( s )
(s
K.
1
s 2
1 ) .( s
4)
s 2
1 ) .( s
(s
}
closed loop TF
4)
1
0.8
Imag Axis
0.6
0.4
0.2
}
0
Draw the Root Locus
-0.2
-0.4
-0.6
Note that -5 lies on the root
locus
-0.8
-1
-6
-5
-4
-3
-2
-1
0
1
2
Real Axis
Magnitude Condition
K . Gp ( s )
=
s
K.
5
=
s 2
1 ) .( s
(s
K.
3
.
( 4) ( 1 )
4)
=1
s
1
5
K
=>
4
3
Angle Condition
Angle Gp ( s )
=
Angle( 3 )
=
s
Angle( s
2)
Angle( s
4)
Angle( s
5
( Angle( 1 ) )
Angle( 4 ) 180
( 180
180 )
180
1)
s
= - 180
5
Condition
} Angle
is satisfied
6–1
ECE4510: Feedback Control Systems.
ROOT-LOCUS ANALYSIS
• Recall step response: we have seen that pole locations in the system
transfer function determine performance characteristics; such as rise
time, overshoot, settling time.
• We have also seen that feedback can change pole locations in the
system transfer function and therefore performance is changed.
• Suppose that we have one variable parameter in our control system.
Then, we make a parametric plot of pole locations as that parameter
changes. The poles are the roots of the denominator of the transfer
function (a.k.a. the “characteristic equation.”) This plot is a plot of the
locus of the roots or the “ROOT LOCUS PLOT” (First suggested by
Evans.)
VERY IMPORTANT NOTE :
Root locus is a parametric plot (vs. K ) of the
roots of an equation
1+ K
b(s)
= 0.
a(s)
• A common control configuration is
r (t)
K
G(s)
– Unity feedback, proportional gain.
– We will generalize control configuration later.
Lecture notes prepared by Dr. Gregory L. Plett
y(t)
6–2
ECE4510, ROOT-LOCUS ANALYSIS
– Closed-loop transfer function
T (s) =
K G(s)
.
1 + K G(s)
– Poles = roots of 1 + K G(s) = 0.
• Assume plant transfer function G(s) is rational polynomial:
b(s)
G(s) =
,
such that
a(s)
b(s) = (s − z 1)(s − z 2) · · · (s − z m )
a(s) = (s − p1)(s − p2 ) · · · (s − pn )
n≥m
(b(s) is monic.)
(a(s) is monic.)
[a(s) may be assumed monic without loss of generality. If b(s) is not
monic, then its gain is just absorbed as part of K in 1 + K G(s) = 0]
• zi are zeros of G(s), the OPEN-LOOP transfer function.
• pi are poles of G(s), the OPEN-LOOP transfer function.
• CLOSED-LOOP poles are roots of equation
1 + K G(s) = 0
a(s) + K b(s) = 0,
which clearly move as a function of K .
• Zeros are unaffected by feedback.
1
. Find the root locus.
s(s + 2)
• a(s) = s(s + 2); b(s) = 1.
EXAMPLE :
G(s) =
• Locus of roots: (aside, stable for all K > 0 .)
s(s + 2) + K = 0
s 2 + 2s + K = 0.
Lecture notes prepared by Dr. Gregory L. Plett
6–3
ECE4510, ROOT-LOCUS ANALYSIS
• For this simple system we can easily find the roots.
√
−2 ± 4 − 4K
s1,2 =
2
√
= −1 ± 1 − K .
• Roots are real and negative for 0 < K < 1.
• Roots are complex conjugates for K > 1.
=(s)
K =1
s1 , K = 0
s2 , K = 0
<(s)
• Suppose we want damping ratio=0.707. We can recall that

2
2
s + 2ζ ωn s + ωn = 0 

K =2
m


s 2 + 2s + K = 0
or we can locate the point on the root locus where
|<{poles}| = |={poles}|.
√
| − 1| = | 1 − K |
2 = K.
(or, K = 0, not an appropriate solution).
How to Plot a Root Locus
• A value s = s1 is on the (180◦) root locus iff 1 + K G(s1) = 0 for some
real value of K , 0 ≤ K ≤ ∞.
Lecture notes prepared by Dr. Gregory L. Plett
ECE4510, ROOT-LOCUS ANALYSIS
• [A value of s = s1 is on the (0◦) complementary root locus iff
1 + K G(s1) = 0 for some REAL value of K , −∞ < K < 0.]
−1
• So, K =
G(s)
• Note, G(s) is complex, so this is really two equations!
1
|K | =
G(s)
−1
6 G(s) = 6
.
K
6–4
(6.1)
(6.2)
• Since K is real and positive, 6 K = 0.
Therefore, 6 G(s) = 180◦ ± l360◦,
l = 0, 1, 2, . . .
• So once we know a point on the root locus, we can use the
magnitude equation 6.1 to find the gain K that produced it.
• We will use the angle equation 6.2 to plot the locus. i.e., the locus of
the roots = all points on s-plane where 6 G(s) = 180◦ ± l360◦.
NOTES :
1. We will derive techniques so that we don’t need to test every point on
the s-plane!
2. The angle criteria explains why the root locus is sometimes called the
180◦ root locus.
3. Similarly, the complementary root locus is also called the 0◦ root
locus.
KEY TOOL :
6
EXAMPLE:
For any point on the s-plane
X
X
6
6 (due to poles).
G(s) =
(due to zeros) −
G(s) =
(s − z 1)
.
(s − p1)(s − p2 )
Lecture notes prepared by Dr. Gregory L. Plett
6–5
ECE4510, ROOT-LOCUS ANALYSIS
=(s)
θ p2
θz1
θ p1
<(s)
6
G(s1) = θz1 − θ p1 − θ p2 .
Test point
s1
Locus on the Real Axis
• Consider a test point s1 on the real axis.
• If the point is right of all poles and zeros of G(s), then 6 G(s) = 0. NOT
ON THE LOCUS.
p2
=(s)
p1
z1
Test point
s1
<(s)
6
G(s) = 6 z 1 − 6 p1 − 6 p2 − 6 p̄2
= 0 − 0 − 6 p2 − 6 p̄2
= 0.
p̄2
If the test point is on the real axis, complex-conjugate
roots have equal and oposite angles which cancel and may be
ignored.
OBSERVATION :
• If the test point is to the left of ONE pole or zero, the angle will be
−180◦ or +180◦ (= −180◦) so that point is on the locus.
Lecture notes prepared by Dr. Gregory L. Plett
6–6
ECE4510, ROOT-LOCUS ANALYSIS
• If the test point s1 is to the left of
– 1 pole and 1 zero: 6 G(s1) = 180◦ − (−180◦) = 360◦ = 0◦.
– 2 poles: 6 G(s1) = −180◦ − 180◦ = −360◦ = 0◦.
– 2 zeros: 6 G(s1) = 180◦ + 180◦ = 360◦ = 0◦.
➠ NOT ON THE LOCUS.
GENERAL RULE #1
All points on the real axis to the left of an odd number of poles and zeros
are part of the root locus.
EXAMPLE:
G(s) =
1
.
s(s + 4 + 4 j)(s + 4 − 4 j)
=(s)
<(s)
EXAMPLE :
G(s) =
s+8
.
s+1
=(s)
<(s)
Lecture notes prepared by Dr. Gregory L. Plett
ECE4510, ROOT-LOCUS ANALYSIS
6–7
Locus Not on the Real Axis
OBSERVATION :
Because we assume that system models are
rational-polynomial with real coefficients, all poles must be either real
or complex conjugate pairs. Therefore, THE ROOT LOCUS IS
SYMMETRICAL WITH RESPECT TO THE REAL AXIS.
• What happens at K = 0, ∞?
(s − z 1)(s − z 2 ) · · · (s − z m )
=0
(s − p1)(s − p2) · · · (s − pn )
(s − p1)(s − p2 ) · · · (s − pn ) + K (s − z 1)(s − z 2) · · · (s − z m ) = 0.
1 + K G(s) = 1 + K
• At K = 0 the closed loop poles equal the open-loop poles.
• As K approaches ∞
(s − p1)(s − p2 ) · · · (s − pn )
+ (s − z 1 )(s − z 2) · · · (s − z m ) = 0;
K
the n poles approach the zeros of the open-loop transfer function,
INCLUDING THE n − m ZEROS AT C ∞.
• Plug s = ∞ into G(s) and notice that it equals zero if m < n.
• The idea of ∞ in the complex plane is a number with infinite
magnitude and some angle.
• To find where the n − m remaining poles go as K → ∞, consider that
the m finite zeros have canceled m of the poles. Looking back at the
remaining n − m poles (standing at C ∞), we have approximately
1
1+K
,
(s − α)n−m
or n − m poles clustered/centered at α.
• We need to determine α, the center of the locus, and the directions
that the poles take.
Lecture notes prepared by Dr. Gregory L. Plett
6–8
ECE4510, ROOT-LOCUS ANALYSIS
• Assume s1 = Re j φ is on the locus, R large and fixed, φ variable. We
use geometry to see what φ must be for s1 to be on the locus.
• Since all of the open-loop poles are at approximately the same place
α, the angle of 1 + K G(s1) is 180◦ if the n − m angles from α to s1 sum
to 180.
(n − m)φl = 180◦ + l360◦,
l = 0, 1, . . . , n − m − 1
or
180◦ + 360◦(l − 1)
φl =
,
n−m
l = 1, 2, . . . , n − m.
• So, if
n − m = 1;
φ = +180◦.
There is one pole going to C ∞
along the negative real axis.
n − m = 2;
φ = ±90◦.
There are two poles going to
C ∞ vertically.
n − m = 3;
φ = ±60◦, 180◦.
(etc)
One goes left and the other two
go at plus and minus 60◦.
• To find the center, α, reconsider our approximation
as |s| → ∞.
b(s)
1
≈
a(s) (s − α)n−m
b(s)
1
and match the top
and
a(s)
(s − α)n−m
two coefficients of s, the dominant ones.
– Divide (by long division)
– An easier way...
Lecture notes prepared by Dr. Gregory L. Plett
6–9
ECE4510, ROOT-LOCUS ANALYSIS
– Note that roots of denominator of G(s) satisfy:
s n + a1s n−1 + a2s n−2 + · · · + an = (s − p1)(s − p2) · · · (s − pn )
X
➠ a1 = −
pi .
– Note that the roots of the denominator of T (s) are
s n + a1s n−1 + a2s n−2 + · · · + an + K (s m + b1s m−1 + · · · + bm ) = 0.
If n − m > 1 then the (n − 1)st coefficient of the closed loop system
X
is such that a1 = −
ri where ri are the closed-loop poles.
– We know that m poles go to the zeros of G(s), and assume the
1
other n − m are clustered at
. Therefore, the asymptotic
n−m
(s
−
α)
X
sum of roots is −(n − m)α −
zi .
– Putting this all together,
X
X
X
ri = (n − m)α +
zi =
pi
or
P
P
pi − zi
.
(n − m)
α=
GENERAL RULE #2
• All poles go from their open-loop locations at K = 0 to:
– The zeros of G(s), or
– To C ∞ .
• Those going to C ∞ go along asymptotes
180◦ + 360◦(l − 1)
φl =
n−m
centered at
P
α=
Lecture notes prepared by Dr. Gregory L. Plett
P
pi − zi
.
n−m
6–10
ECE4510, ROOT-LOCUS ANALYSIS
EXAMPLES :
➀
➁
➂
➃
➄
Additional Techniques
• The two general rules given, plus some experience are enough to
sketch root loci. Some additional rules help when there is ambiguity.
(As in examples ➁, ➄)
Lecture notes prepared by Dr. Gregory L. Plett
6–11
ECE4510, ROOT-LOCUS ANALYSIS
Departure Angles, Arrival Angles
• We know asymptotically where poles go, but need to know how they
start, and how they end up there.
• Importance: One of the following systems is stable for all K > 0, the
other is not. Which one?
=(s)
=(s)
<(s)
<(s)
• We will soon be able to answer this. Consider an example:
EXAMPLE:
G(s) =
1
.
s(s + 4 + 4 j)(s + 4 − 4 j)
=(s)
p1
φ2
p2
p̄1
<(s)
φ̄1
• Take a test point s0 very close to p1 . Compute 6 G(s0).
• If on locus
−90◦ − φ1 − 135◦ = 180◦ + 360◦l
Lecture notes prepared by Dr. Gregory L. Plett
l = 0, 1, . . .
6–12
ECE4510, ROOT-LOCUS ANALYSIS
where
φ̄1 = Angle from p̄1 to s0 ≈ 90◦.
φ1 = Angle from p1 to s0.
φ2 = Angle from p2 to s0 ≈ 135◦.
➠ φ1 = −45◦.
• Can now draw “departure of poles” on locus.
• Single-pole departure rule:
X
X
6
6 (remaining poles) − 180◦ ± 360◦l.
φdep =
(zeros) −
• Multiple-pole departure rule: (multiplicity q ≥ 1)
X
X
6
6 (remaining poles) − 180◦ ± 360◦l.
qφdep =
(zeros) −
• Multiple-pole arrival rule: (multiplicity q ≥ 1)
X
X
6 (poles) −
6 (remaining zeros) + 180◦ ± 360◦l.
qψarr =
• Note: The idea of adding 360◦l is to add enough angle to get the
result within ±180◦. Also, if there is multiplicity, then l counts off the
different angles.
Imaginary Axis Crossings
• Routh stability test can be run to find value for K = K 0 that causes
marginal stability.
• Substitute K 0 and find roots of a(s) + K 0b(s) = 0.
• Alternatively, substitute K 0, let s = jω0, solve for
a( jω0) + K 0b( jω0) = 0. (Real and Imaginary parts)
Lecture notes prepared by Dr. Gregory L. Plett
6–13
ECE4510, ROOT-LOCUS ANALYSIS
Points with Multiple Roots
• Sometimes, branches of the locus intersect. (see ➁, ➄ on pg.
6–6–10).
• Computing points of intersection can clarify ambiguous loci.
• Consider two poles approaching each other on the real axis:
=(s)
<(s)
• As two poles approach each other gain is increasing.
• When they meet, they break away from the real axis and so K
increases only for complex parts of the plane.
• Therefore gain K along a branch of the locus is maximum at
breakaway point.
• Gain K is minimum along a branch of the locus for arrival points.
• Both are “saddle points” in the s-plane.
• So,
dK
= 0,
ds
where 1 + K G(s) = 0
−1
K =
G(s)
−1
d
or,
= 0 ➠ multiple root at s0.
ds G(s) s=s0
[must verify that s0 is on the root locus. May be an extraneous result.]
Lecture notes prepared by Dr. Gregory L. Plett
6–14
ECE4510, ROOT-LOCUS ANALYSIS
• Some similar loci for which finding saddle points helps clarify
ambiguity ...
=(s)
=(s)
<(s)
=(s)
<(s)
=(s)
<(s)
Finding K for a Specific Locus Point
• Recall that the root locus is defined by the equation
1 + K G(s) = 0,
which can be broken up into a magnitude-equation and a
phase-equation (Eqs: 6.1 and 6.2).
−1
|K | =
G(s)
−1
6 G(s) = 6
.
K
• The phase equation is used to plot the locus.
Lecture notes prepared by Dr. Gregory L. Plett
<(s)
6–15
ECE4510, ROOT-LOCUS ANALYSIS
• The magnitude equation may be used to find the value of K to get a
specific set of closed-loop poles.
−1
• That is, K =
is the gain to put a pole at s0, if s0 is on the locus.
G(s0)
Summary: Root-Locus Drawing Rules—180◦ Locus
• The steps in drawing a 180◦ root locus follow from the basic phase definition. This is the locus of
b(s)
1+K
= 0,
a(s)
K ≥0
b(s)
◦
phase of
= −180 .
a(s)
• They are
– STEP 1: On the s-plane, mark poles (roots of a(s)) by an × and zeros (roots of a(s)) with an ◦.
There will be a branch of the locus departing from every pole and a branch arriving at every zero.
– STEP 2: Draw the locus on the real axis to the left of an odd number of real poles plus zeros.
– STEP 3: Draw the asymptotes, centered at α and leaving at angles φ, where
n − m = number of asymptotes.
n = order of a(s)
m = order of b(s)
P
P
pi − z i
−a1 + b1
α =
=
n−m
n−m
φl =
180◦ + (l − 1)360◦
,
n−m
l = 1, 2, . . . n − m.
For n − m > 0, there will be a branch of the locus approaching each asymptote and departing to
infinity. For n − m < 0, there will be a branch of the locus arriving from infinity along each
asymptote.
– STEP 4: Compare locus departure angles from the poles and arrival angles at the zeros where
qφdep =
qψarr =
X
X
ψi −
φi −
X
X
φi − 180◦ ± l360◦
ψi + 180◦ ± l360◦,
where q is the order of the pole or zero and l takes on q integer values so that the angles are
between ±180◦ . ψi is the angle of the line going from the i th zero to the pole or zero whose
angle of departure or arrival is being computed. Similarly, φi is the angle of the line from the i th
pole.
– STEP 5: If further refinement is required at the stability boundary, assume s0 =
j ω0 and
compute the point(s) where the locus crosses the imaginary axis for positive K .
– STEP 6: For the case of multiple roots, two loci come together at 180◦ and break away at ±90◦.
Three loci segments approach each other at angles of 120◦ and depart at angles rotated by 60◦ .
Lecture notes prepared by Dr. Gregory L. Plett
6–16
ECE4510, ROOT-LOCUS ANALYSIS
– STEP 7 Complete the locus, using the facts developed in the previous steps and making
reference to the illustrative loci for guidance. The loci branches start at poles and end at zeros or
infinity.
– STEP 8 Select the desired point on the locus that meets the specifications (s0), then use the
magnitude condition to find that the value of K associated with that point is
1
K =
.
|b (s0 ) /a (s0 )|
EXAMPLE :
r (t)
(s + 1)(s + 2)
s(s + 4)
K
y(t)
=(s)
<(s)
This example is NOT a unity-feedback case, so we need to
be careful.
EXAMPLE :
r (t)
K
s+2
s − 10
y(t)
s+3
s+1
• Recall that the root-locus rules plot the locus of roots of the equation
b(s)
1+ K
= 0.
a(s)
Lecture notes prepared by Dr. Gregory L. Plett
6–17
ECE4510, ROOT-LOCUS ANALYSIS
• Compute T (s) to determine the characteristic equation as a function
of K .
s+2
K s−10
T (s) =
(s+2)(s+3)
1 + K (s+1)(s−10)
=
• Poles of T (s) at
K (s + 2)(s + 1)
(s + 1)(s − 10) + K (s + 2)(s + 3)
(s + 1)(s − 10) + K (s + 2)(s + 3) = 0
or
1+K
(s + 2)(s + 3)
= 0.
(s + 1)(s − 10)
=(s)
<(s)
1) “Open loop” poles and zeros:
2) Real axis
3) Asymptotes
4) Departure angles
5) Stability boundary: Note, characteristic equation
= (s + 1)(s − 10) + K (s + 2)(s + 3)
= s 2 − 9s − 10 + K s 2 + 5K s + 6K
= (K + 1)s 2 + (5K − 9)s + 6K − 10
Lecture notes prepared by Dr. Gregory L. Plett
6–18
ECE4510, ROOT-LOCUS ANALYSIS
Routh Array
s2 K + 1
6K − 10
s 1 5K − 9
s 0 6K − 10
K > −1
9
K > = 1.8 ←
5
10
K >
= 1.66
6
stability criterion
When K = 9/5, the s 1 row of the Routh array is zero—top row
becomes a factor of the characteristic equation. Imag.-axis crossings
where 9
9
+ 1 s 2 + 6 − 10 = 0
5
5
r
2
14s 2 + 4 = 0
...
s = ±j
.
7
=(s)
<(s)
6) Breakaway points
−(s + 1)(s − 10)
K (s) =
(s + 2)(s + 3)
−(s 2 − 9s − 10)
=
s 2 + 5s + 6
d
−(s + 1)(s − 10)(2s + 5) − (−2s + 9)(s + 2)(s + 3)
=0
K (s) =
ds
(den)2
3
2
2
= −2s + 18s + 20s − 5s + 45s + 50 −
3
2
2
−2s − 10s − 12s + 9s + 45s + 54 = 0
Lecture notes prepared by Dr. Gregory L. Plett
6–19
ECE4510, ROOT-LOCUS ANALYSIS
= (−2 + 2)s 3 + (18 − 5 + 10 − 9)s 2 +
(20 + 45 + 12 − 45)s + (50 − 54) = 0
= 14s 2 + 32s − 4 = 0
p
√
−32 ± 322 − 4(14)(−4) −32 ± 1248
s=
=
28
28
roots at {0.118, −2.40}. Now we can complete the locus:
=(s)
<(s)
EXAMPLE :
r (t)
K
1
s+a
s+1
s2
y(t)
• Two design parameters: K , pole location −a.
s+1
G(s) = 2
.
s (s + a)
• Test a = 2, a = 50, a = 9.
1) Poles and zeros of G(s).
=(s)
<(s)
2) Real axis.
Lecture notes prepared by Dr. Gregory L. Plett
ECE4510, ROOT-LOCUS ANALYSIS
3) Asymptotes:
n−m = 2
P
P
pi − zi
0 + 0 + (−a) − (−1) 1 − a
α=
=
=
2
2
2
α = {−0.5, −24.5, −4}
180◦ + 360◦(l − 1)
φl =
= ±90◦.
2
4) Departure angles for two poles at s = 0.
X
X
6 (zeros) −
6 (remaining poles) − 180◦ − 360◦l
2φdep =
= 0 − 0 − 180◦ − 360◦l
360◦
◦
φdep = −90 −
l = ±90◦.
2
5) Will always be stable for K > 0.
6) Breakaway points:
−s 2(s + a)
K (s) =
s+1
d
(s + 1)(3s 2 + 2as) − s 2(s + a)(1)
=0
K (s) = −
ds
(s + 1)2
2
= s 2s + (a + 3)s + 2a = 0
(
)
p
2
−a + 3 ± (a + 3) − 4(2)(2a)
breakaway at 0,
2(2)
p
sa={2,50,9} = −1.25 ± j 7/16, (−2.04 and − 24.46), −3 and 0
|
{z
}
not on locus
Lecture notes prepared by Dr. Gregory L. Plett
6–20
6–21
ECE4510, ROOT-LOCUS ANALYSIS
a=2
=(s)
a=9
<(s)
a = 50
=(s)
<(s)
=(s)
<(s)
Matlab and Root Loci
b(s) b0s m + b1s m−1 + · · · + bm
• If G(s) =
.
=
a(s)
a0s n + a1s n−1 + · · · + an
b = [b0 b1 b2 . . . bm];
a = [a0 a1 a2 . . . an];
rlocus(b,a);
% plots the root locus
• Also, k=rlocfind(b,a); returns the value of K for a specific point on the
root locus (graphical, with a mouse).
• Matlab is also able to draw space aliens!
z=[-5+5j -5-5j -4.8+2j -4.8-2j 0.35+0.2j 0.35-0.2j ...
2j -2j 2j -2j 0.7 0.7 1.0+1.5j 1.0-1.5j 1.0+1.5j 1.0-1.5j 2.2];
p=[-4.5+3.2j -4.5-3.2j -0.15+0.8j -0.15-0.8j 0.3j -0.3j 0.4+0.3j ...
0.4-0.3j 0.45+0.6j 0.45-0.6j 1+1.3j 1-1.3j 1+1.3j 1-1.3j 2+0.15j ...
2-0.15j 2];
num=poly(z); den=poly(p); rlocus(num,den);
Lecture notes prepared by Dr. Gregory L. Plett
6–22
ECE4510, ROOT-LOCUS ANALYSIS
6
4
Imag Axis
2
“TAKE ME TO YOUR
LEADER!”
0
−2
−4
−6
−6
−5
−4
−3
−2
−1
Real Axis
0
1
2
3
Summary: Root-Locus Drawing Rules—0◦ Locus
• We have assumed that 0 ≤ K < ∞, and that G(s) has monic b(s) and
a(s). If K < 0 or a(s)/b(s) has a negative sign preceding it, we must
change our root-locus plotting rules.
• Recall that we plot
1 + K G(s) = 0
−1
G(s) =
K
(
180◦, if K positive;
6 G(s) =
0◦ ,
if K negative.
• In the following summary of drawing a 0◦ root locus, the steps which
have changed are highlighted.
• The steps in drawing a 0◦ root locus follow from the basic phase definition. This is the locus of
b(s)
= 0,
1+K
a(s)
K ≤0
b(s)
◦
phase of
=0 .
a(s)
• They are
– STEP 1: On the s-plane, mark poles (roots of a(s)) by an × and zeros (roots of a(s)) with an ◦.
There will be a branch of the locus departing from every pole and a branch arriving at every zero.
– STEP 2:
Draw the locus on the real axis to the left of an even number of real poles plus zeros.
Lecture notes prepared by Dr. Gregory L. Plett
6–23
ECE4510, ROOT-LOCUS ANALYSIS
– STEP 3:
Draw the asymptotes, centered at α and leaving at angles φ, where
n − m = number of asymptotes.
n = order of a(s)
m = order of b(s)
P
P
pi − z i
−a1 + b1
α =
=
n−m
n−m
➠
φl =
(l − 1)360◦
,
n−m
l = 1, 2, . . . n − m.
For n − m > 0, there will be a branch of the locus approaching each asymptote and departing to
infinity. For n − m < 0, there will be a branch of the locus arriving from infinity along each
asymptote.
– STEP 4:
Compare locus departure angles from the poles and arrival angles at the zeros where
X
X
➠ qφdep =
ψi −
φi ± l360◦
X
X
➠ qψarr =
φi −
ψi ± l360◦,
where q is the order of the pole or zero and l takes on q integer values so that the angles are
between ±180◦ . ψi is the angle of the line going from the i th zero to the pole or zero whose
angle of departure or arrival is being computed. Similarly, φi is the angle of the line from the i th
pole.
– STEP 5: If further refinement is required at the stability boundary, assume s0 =
j ω0 and
compute the point(s) where the locus crosses the imaginary axis for positive K .
– STEP 6: For the case of multiple roots, two loci come together at 180◦ and break away at ±90◦.
Three loci segments approach each other at angles of 120◦ and depart at angles rotated by 60◦ .
– STEP 7: Complete the locus, using the facts developed in the previous steps and making
reference to the illustrative loci for guidance. The loci branches start at poles and end at zeros or
infinity.
– STEP 8: Select the desired point on the locus that meets the specifications (s0), then use the
magnitude condition to find that the value of K associated with that point is
1
K =
.
|b (s0 ) /a (s0 )|
Extensions to Root Locus Method—Time Delay
• A system with a time delay has the form
G(s) = e−τd s G 0(s)
where τd is the delay and G 0(s) is the non-delayed system.
Lecture notes prepared by Dr. Gregory L. Plett
6–24
ECE4510, ROOT-LOCUS ANALYSIS
• This is not in rational-polynomial form. We cannot use root locus
techniques directly.
METHOD
1:
b
s
+
b
0
1
• Approximate e−τd s by
, a polynomial.
a0 s + 1
• Padé approximation.
1 − (τd s/2)
e−τd s ≈
First-order approximation
1 + (τd s/2)
1 − τd s/2 + (τd s)2/12
≈
1 + τd s/2 + (τd s)2/12
1
≈
1 + τd s
Second-order approximation.
Very crude.
• Extremely important for digital control!!!
METHOD
2:
• Directly plot locus using phase condition.
• i.e., 6 G(s) = (−τd ω) + 6 G 0(s) if s = σ + jω.
• i.e., look for places where 6 G 0(s) = 180◦ + τd ω + 360◦l.
• Fix ω, search horizontally for locus.
Lecture notes prepared by Dr. Gregory L. Plett
7–1
ECE4510: Feedback Control Systems.
ROOT-LOCUS DESIGN
• We have seen how to draw a root locus for a given plant dynamics.
• We include a variable gain K —proportional control.
• What if desired pole locations are not on this locus?
• We need to modify the locus itself by adding extra
dynamics—compensator:
r (t)
K
D(s)
G(s)
y(t)
• We redraw the locus and pick K in order to put the poles where we
want them. HOW?
K D(s)G(s)
T (s) =
let G 0(s) = D(s)G(s)
1 + K D(s)G(s)
K G 0(s)
=
➠ We know how to draw this locus!
1 + K G 0(s)
• Adding a compensator effectively adds dynamics to the plant.
• What types of (1) compensation should we use, and (2) how do we
figure out where to put the additional dynamics?
Types of Compensator Dynamics
• There are 3 classical types of controllers with some important
variations.
Lecture notes prepared by Dr. Gregory L. Plett
7–2
ECE4510, ROOT-LOCUS DESIGN
1) Proportional Feedback
D(s) = 1.
u(t) = K e(t)
K G(s)
.
1 + K G(s)
• Same as what we have already looked at. Controller only consists of
a “gain knob.” We have to take the locus “as given” since we have no
extra dynamics to modify it.
T (s) =
• Usually a very limited approach, but a good place to start.
2) Integral Feedback
1
D(s) =
TI s
T (s) =
1
K
u(t) =
TI
Z
t
e(τ ) dτ
0
K G(s)
TI s
.
+ TKI G(s)
s
• Usually used to reduce/eliminate steady-state error. i.e., if e(t)
constant, u(t) will become very large and hopefully correct the error.
• Penalty: Steady-state response improves, but often transient
response degrades.
Steady-State Response
• We apply a step (ramp, parabola) input. How well does our (closed
loop) system track this?
• Ultimately, we would like zero error. e(t) = 0. (Maybe 1%–2% in
reality)
• Recall: For a unity-feedback control system as drawn above, the
steady-state error to a unit-step input is:
1
ess =
.
1 + K D(0)G(0)
Lecture notes prepared by Dr. Gregory L. Plett
7–3
ECE4510, ROOT-LOCUS DESIGN
If we make D(s) =
1
, then as s → 0, D(s) → ∞
TI s
1
ess →
= 0.
1+∞
• So by adding the integrator into the compensator, the error has been
1
reduced from
to zero for systems that do not have any free
1 + Kp
integrators.
1
EXAMPLE : G(s) =
,
a > b > 0.
(s + a)(s + b)
1
1
• Proportional feedback, D(s) = 1, G(0) = , ess =
.
K
ab
1 + ab
=(s)
−a
<(s)
−b
• Integral feedback, D(s) =
• We can make ess small by
making K very large, but this
often leads to poorly-damped
behavior and often requires
excessively large actuators.
1
, ess = 0.
TI s
=(s)
−a
−b
Lecture notes prepared by Dr. Gregory L. Plett
<(s)
• Increasing K to increase the
speed of response pushes
the pole toward the
imaginary axis ➠ oscillatory.
7–4
ECE4510, ROOT-LOCUS DESIGN
Proportional-Integral (PI) Control
s + (1/TI )
1
• Now, D(s) = 1 +
=
. Both a pole and a zero.
TI s
s
=(s)
−a
−b
<(s)
• Combination of proportional
and integral (PI) solves many
of the problems with just (I)
integral.
Phase-Lag Design
• The integrator in PI control can cause some practical problems.
“Integrator windup” due to actuator saturation.
• PI control is often approximated by “lag control.”
(s − z 0)
D(s) =
,
| p0| < |z 0|.
(s − p0 )
That is, the pole is closer to the origin than the zero.
• Because |z 0| > | p0 |, the phase φ added to the open-loop transfer
function is negative. . . “phase lag”
• Pole often placed very close to zero. e.g., p0 ≈ 0.01.
• Zero is placed near pole. e.g., z 0 ≈ 0.1.
Lecture notes prepared by Dr. Gregory L. Plett
7–5
ECE4510, ROOT-LOCUS DESIGN
=(s)
−a
<(s)
−b
3) Derivative Feedback
D(s) = TD s,
• Good steady-state error
without overflow problems.
Very similar to proportional
control.
.
u(t) = K TD e(t).
• Does not do much (anything?) to help the steady-state error.
• Derivative control provides feedback that is proportional to the
rate-of-change of e(t) ➠ control response ANTICIPATES future errors.
– Very beneficial.
– Used a lot!
EXAMPLE :
G(s) =
1
,
(s + a)(s + b)
D(s) = TD s.
=(s)
−a
−b
<(s)
• No ringing. “Very” stable.
Proportional-Derivative (PD) Control
• Often, proportional control and derivative control go together.
D(s) = 1 + TD s.
Lecture notes prepared by Dr. Gregory L. Plett
7–6
ECE4510, ROOT-LOCUS DESIGN
=(s)
−a
−b
• No more zero at s = 0.
Therefore better steady-state
response.
<(s)
Phase-Lead Control
• Derivative magnifies sensor noise.
• Instead of D-control or PD-control use “lead control.”
(s − z 0)
D(s) =
,
|z 0| < | p0 |.
(s − p0 )
That is, the zero is closer to the origin than the pole.
• Lag control does not change locus much since p0 ≈ z 0 ≈ 0.
Lag control improves steady-state error.
• Lead control DOES change locus. Pole and zero locations chosen so
that locus will pass through some desired point s = s1.
• Design may be done analytically: Let
a1 s + a0
D(s) =
.
b1 s + 1
• Choose a0 to get specified dc gain. (open-loop gain=K p , K v , . . .)
a1 s + a 0
= dc gain.
G(s)
b1 s + 1
s=0
|a0||G(0)| = dc gain.
a0 =
Lecture notes prepared by Dr. Gregory L. Plett
Desired dc gain
.
|G(0)|
7–7
ECE4510, ROOT-LOCUS DESIGN
• a1 and b1 are chosen to make locus go through s = s1,
a1 s1 + a 0
G(s1) = −1
b 1 s1 + 1
for that point to be on the root locus.
a 1 s1 + a 0
|G(s1)| = 1
➠ Magnitude
b 1 s1 + 1
a 1 s1 + a 0
➠ Phase 6
+ 6 G(s1) = 180◦.
b 1 s1 + 1
(math happens)

sin(β) + a0|G(s1)| sin(β − ψ) 

a1 =

s1 = |s1|e jβ
|s1||G(s1)| sin(ψ)
sin(β + ψ) + a0|G(s1)| sin(β)  G(s1) = |G(s1)|e j ψ .

b1 =

−|s1| sin(ψ)
√ j 135◦
1
EXAMPLE : G(s) =
.
s
=
2
2e
= −2 + 2 j .
1
s2
The point s1 is chosen to achieve ζ = 0.707 and τ = 0.5 sec.
• a0: We cannot compute a0 since
a0 = 2.
1
s2
→ ∞. So, arbitrarily choose
s=0
• a1: Note, β = 135◦, ψ = −270◦ because
1
1 − j 270◦
G(s1) = 2
=
.
e
s s=2√2e j 135◦ 8
√
sin(135◦) + 2(1/8) sin(45◦) (1/ 2)(1 + 1/4) 5
a1 =
=
= .
√
√
◦
2
(2 2)(1/8) sin(−270 )
2/4
• b1 :
√
sin(−135 ) + 2(1/8) sin(135 ) −(1/ 2)(1 − 1/4)
3
b1 =
=
= .
√
√
16
−(2 2) sin(−270◦)
−2 2
◦
Lecture notes prepared by Dr. Gregory L. Plett
◦
7–8
ECE4510, ROOT-LOCUS DESIGN
• So, the compensator is:
D(s) =
(5/2)s + 2
.
(3/16)s + 1
Example locus passing through (-2,2)
4
3
Imag Axis
2
1
0
−1
−2
−3
−4
−6
−5
−4
−3
−2
−1
0
1
Real Axis
Proportional-Integral-Derivative (PID) Control
• Most common type of control, even though often approximated by
Lead-Lag control.
1
• D(s) = K 1 +
+ TD s .
TI s
− sin(β + ψ)TI |s1|
•K =
|G(s1)| sin(β)[TI |s1| + 2 cos(β)]
sin(ψ)
K
jβ
• TD =
,
where
s
=
|s
|e
and
+
1
1
|s1||G(s1)| sin(β) TI |s1|2
G(s1) = |G(s1)|e j ψ for both cases.
• TI chosen to match some design criteria. e.g., Steady-state error.
Compensator Implementation
• Analog compensators commonly use op-amp circuits.
• See the following pages. . .
Lecture notes prepared by Dr. Gregory L. Plett
7–9
ECE4510, ROOT-LOCUS DESIGN
=(s)
<(s)
1
−
K
s
1
K
V1
V2
=(s)
<(s)
1
K
−K s
1
V1
V2
=(s)
1
K
−z 1
<(s)
−K (s + z 1 )
V1
V2
1/(K z 1)
K
p1
=(s)
− p1
<(s)
−K
s + p1
1
V1
V2
=(s)
− p1
<(s)
Lecture notes prepared by Dr. Gregory L. Plett
−K s
s + p1
V1
1/K
K
K
p1
1
V2
ECE4510, ROOT-LOCUS DESIGN
=(s)
<(s)
s + z1
−K
s + p1
any p1 and z 1
or
7–10
K
p1
1
z1
1/K
V1
V2
1
=(s)
<(s)
or
−K
s + z1
s + p1
K1
K =
K2
any p1 and z 1
=(s)
<(s)
s + z1
s + p1
z 1 > p1
=(s)
<(s)
=(s)
<(s)
s + z1
s + p1
z 1 > p1
V1
K2
V1
1
1
p1
V2
1
z 1 − p1
V1
1
z 1 − p1
p1 > z 1
1
p1
z1
V2
1
K 2 p1
V1
K =
Lecture notes prepared by Dr. Gregory L. Plett
K1
s + z1
s + p1
K
1
K 1z1
1
p1
LAG
V2
1
1
p1
LAG
V2
p1 − z 1
z1
LEAD
7–11
ECE4510, ROOT-LOCUS DESIGN
=(s)
<(s)
K
s + z1
s + p1
p1 > z 1
K =
p1
z1
=(s)
K (s + z 1 )
−z 1
<(s)
Lecture notes prepared by Dr. Gregory L. Plett
1
K =
z1
V1
p1 − z 1
p1
V2
1
1
p1
V1
1
z1
LEAD
V2
1
LEAD
Lead Compensator (Using Magnitude and Angle Condition)
+
1
Gc ( s )
R( s )
s .( s
-
Gc ( s )
Find
such that the dominant closed loop poles are at
Gc ( s ) K
K.
∆ cl ( s ) 1
− 3 ± j3
3
1
2
s .( s
Imag Axis
Let
Y( s )
1)
1)
}
1
0
-1
Root Locus
does not
go through
− 3 ± j3
-2
-3
-3.5
-3
-2.5
-2
-1.5
-1
-0.5
0
0.5
1
Real A xis
Gc ( s ) K .
(s
(s
a)
b)
K.
(s
(s
a) .
1
b ) s .( s 1 )
∆ cl ( s ) 1
Centroid
b
RD 2
0
1
}
Lead Compensation =>
a
2
Root Locus goes
through
− 3 ± j3
{
Imag Axis
If
b> a> 0
-3+j3
-b
-c
0
-a
-3-j3
Real Axis
Note: a closed loop pole at "-c" has been injected
By moving "a" and "b" around we can change the centroid
and hence bend the root locus to go through− 3 ± j 3
Note:
− 3 ± j3
are more dominant that "-c"
How do we find the values for a, b and K which ensure that
− 3 ± j3
are the closed-loop poles ?
73
Find Closed Loop Transfer Function
Y( s )
R( s )
K( s a )
s .( s b ) .( s 1 )
s a
1 K.
( s b ) .s .( s 1 )
K.
∆ ( s) 1
( s a)
.
s ( s b ) .( s
}
From the Block Diagram
=0
s
1)
3
}
Achieves the desired result
j3
Angle Condition: Find "a" and "b"
Angle K .
Angle
s .( s
(s
(s
Angle ( s
1)
a) .
1
.
b) s ( s 1)
b)
tan
Note :
( s a)
b ) .( s
s
1
b
A
Angle
B
Angle ( α
3
3
3
s
s
3
11.3 deg
Angle ( A)
jβ ) tan
1
}
Angle s .
=>
Angle ( B )
One Equation
Two Unknowns
}
One Equation
Two Unknowns
}
= - 180
180
=
j .3
j .3
j .3
3
= -180
(s
(s
1)
3)
s
Angle
Conditions
Let
3
a 3
j .3
b 18
Angle ( AB ) Angle ( A)
Angle ( B )
β
α
Selection of "a"
1) "a" is not unique
2) If "a" is picked too big, "b" will not exist (i.e., b may become negative)
3) If "a" is picked too small, the system might not exhibit the right dominant behavior
(i.e., closed loop pole at -c might dominate the behavior)
74
Magnitude Condition - Find "K"
K.
K.
K.
(s
15
s 3
18 ) .( s ) .( s
s
1)
j .3
j .3 . 3 j .3 . 2
3
1
( 15.3 ) .( 4.24 ) .( 3.65 )
Gc ( s ) 79 .
s 3
s 18
}
j .3
3
=
1
1
j .3
K 79 ( approximately)
answer
75
Lead Compensator (Using Coefficient Matching)
+
Gc ( s )
R( s )
Gp ( s )
Y( s )
-
Gc ( s )
Find
so that the dominant closed loop poles are at
1
Gp ( s )
s .( s
s
s
Gc ( s ) K .
1)
K .( s a )
Y( s )
s .( s b ) .( s 1 )
R( s )
( s a)
s .( s
1 K.
( s b ) .s .( s 1 )
a
b
− 3 ± j3
Select a Lead
Compensator
for the same
reason as before
}
K .( s a )
1 ) .( s b ) K .( s
a)
}
closed loop TF
Note: There are three closed loop poles given by the characteristic equation
∆ cl ( s ) s .( s
1 ) .( s
K .( s
b)
a)
}
}
Still need to draw the
root locus to understand
the problem
actual closed loop
denominator
Imag Axis
jω
-3+j3
0
-a
-c
-b
-3-j3
σ
Real Axis
∆ cl ( s ) s
3
(b
1 ) .s
2
∆ dcl ( s ) ( s
c ) .( s
∆ dcl ( s ) ( s
c) . s
2
(6
c) s
∆ dcl ( s ) s
3
K) .s
(b
j .3 ) .( s
3
6 .s
2
a .K
3
j .3 )
}
}
desired closed loop denominator
}
18
( 18
actual closed loop denominator
6 c) s
simplification
18 c
76
Equate the desired denominator to the actual denominator
∆ dcl ( s ) ∆ cl ( s )
6
c b
18
1
6c b
}
K
aK 18 c
3 equations, 4 unknowns (cannot solve)
Let
c b
b 6c
b 18
18
c 13
(same reason as before)
}
K 6c
5
a 3
K
}
K 78
1
0
6
K
0
0
1
1
. b
5
1
1
6
c
18
checks with previous answer
Note we have discovered the third closed loop pole in the process (i.e., s = - 13)
Interesting Side Note
Previous equation can be used to determine how big ’’a’’ can get
5
c b
5
c 6 .c
18
18 .
c
a
18
a
13
}
c
b 6c
5
18
}
K
K
18 .
c
a
}
eliminate K and b
one equation and two unknowns
simplified expression
From root locus, "c" must be a positive number for the problem to make sense
so if
c> 0
then
18
a
5> 0
therefore
a<
18
5
Any other selection of "a" forces "b" to be negative, and hence, the compensator
would have an unstable pole.
77
Find the Structure of the Time Response For the Previous Problem Quickly
Y( s )
R( s ) ( s
y( t ) A
78 .( s
13 ) . ( s
B .e
13 t
3)
3)
2
R( s )
C .e
( 3)
2
3 t.
cos ( 3 t )
1
s
where
D .e
3 t.
y( t )
}
r( t)
sin ( 3 t )
is a step input
}
write this
immediately
A, B,C, D can be found with the PFE tool
How can we find A ?
lim sY ( s )
s
0
lim
t
y( t )
78 .( 3 )
1
( 13 ) .( 18 )
A 1
so
lim
t
∞
final value theorem
A 1
∞
}
Closed Loop
Step Response
78
Example
Find the range of K which ensures closed loop stability
r( t)
y( t )
+
P( s )
-
K
s 1
( s 4 ) .( s 2 )
Y( s )
P( s )
R ( s ) 1 P ( s ) .H ( s ) K
H( s )
∆ cl ( s ) 1
H( s )
P( s )
}
s 3
s 0.1
Closed-loop Transfer Function
K .P ( s ) .H( s ) 1
K.
s 3 .
s 0.1 ( s
s 1
2 ) .( s
}
4)
Denominator in
Root Locus Form
Draw the Root Locus
1.5
j .a
Imag Axis
1
0.5
c
0
-0.5
j .a
-1
-1.5
-6
Use coefficient matching to find the
value of K which places closed loop poles at
∆ cl ( s ) ( s
0.1 ) .( s
∆ cl ( s ) ( s
0.1 ) . s
∆ cl ( s ) s
3
∆ cl ( s ) s
3
6.1 s
( 6.1
2
2 ) .( s
2
6s
8.6 s
K) s
2
4)
K. s
0.8
Ks
2
-2
0
2
4
Real Axis
± j.a
K .( s
8
( 8.6
-4
3 ) .( s
2
4s
4 .K .s
4 .K) .s
( 0.8
1)
}
3
3 .K
3 .K)
Denominator in
Polynomial Form
}
Simplification
79
∆ cl ( s ) s
3
( 6.1
c) . s
∆ dcl ( s ) ( s
∆ dcl ( s ) s
K) s
3
cs
2
2
a
2
}
2
2
2
a s
4 .K) .s
( 8.6
a c
3 .K)
( 0.8
}
actual denominator
desired denominator (see root locus)
}
simplified
After equating the coefficients, we obtain
6.1
K c
2)
8.6
2
4 .K a
3)
0.8
3 .K a c
1)
}
3 equations
3 unknowns
2
After multiplying equation 1) by equation 2), and equating the result to
equation 3), we obtain one equation for K
K) .( 8.6
( 6.1
4K
4K
(K
2
2
4 K) 0.8
24.4 ) .K
( 8.6
K 1.94
52.46 0.8
3K
51.66 0
}
simplified
6.657 ) 0
}
factored
18.8 K
1.94 ) .( K
2
3K a c
or
K
6.657
Since K cannot be negative
}
roots
K 1.94
is the answer
1.5
0 < K< 1.94
, the system is stable
1
Imag Axis
For
0.5
0
-0.5
-1
-1.5
-6
-4
-2
0
2
4
Real Axis
80
Lead Compensator: Design Example
R( s )
+
s .( s
-
Design
Gc ( s )
Gc ( s ) K .
Y( s )
R( s )
2)
so that the dominant closed loop poles are at
s
2
j .2 3
and
s
2
j .2 3
s
s
a
b
}
Lead
Compensator
a) .
4
b ) s .( s 2 )
( s a) .
4
K.
( s b ) s .( s 2 )
K.
1
Y( s )
4
Gc ( s )
(s
(s
}
Closed Loop
Transfer Function
Imag Axis
∆ cl ( s ) 1
j2 3
-b
-a
-c
− j2 3
K.
s
s
a .
4
.
b s ( s 2)
}
Draw the
Root Locus
Real Axis
81
Method I Angle/Magnitude Condition
Angle Condition
}
a 2.9
Let
s 2.9 .
s b
(s
Angle
Angle ( s
1
4
2 ) .( s )
b)
s
tan
Do you know why ?
2 3
b 2
s
45
2
180
=
j .2 3
2
180
=
j .2 . 3
Angle
4 .( s 2.9 )
s .( s 2 )
s
2
j .2 3
b 5.46
=>
Magnitude Condition
K.
s 2.9 .
4
s 5.46 s .( s 2 )
1
=
s
2
=>
K 4.68
j2 3
Method II: Coefficient Matching
Y( s )
R( s )
a)
4
.
b) s ( s 2)
s a . 4
s .( s
K.
s b s( s 2)
K.
1
∆ cl ( s ) s
(s
(s
3
(2
∆ dcl ( s )
s
∆ dcl ( s ) s
3
2
(4
b ) .s
2
c) s
2
4 K) .s
(2 b
j .2 3 . s
( 16
4 K (s
b ) .( s 2 )
2
4 Ka
j .2 3 .( s
4 .c ) .s
16 .c
a)
( Ks
}
c)
}
Ka ) 4
}
Closed-Loop
Transfer Function
simplified actual denominator
}
desired denominator
(see root locus)
simplified
82
4
c 2
2 .b
b
4 .K 16
16 .c 4 .K .a
Let
3 equations
}
4 .c
4 unknowns
}
a 2.9
1
1
0
c
2
4
2
4
. b
16
16
0
11.6
K
0
c
3.4
b
5.4
K
4.68
}
Do you know why ?
}
3 equations
3 unknowns
Use calculator to solve (same answer as before)
Imag Axis
Note: "c" is between "a" and "b"
j2 3
-b
-a
-c
− j2 3
Real Axis
83
ECE4510: Feedback Control Systems.
8–1
FREQUENCY-RESPONSE ANALYSIS
• Advantages and disadvantages to root-locus design approach:
ADVANTAGES :
– Good indicator of transient response.
– Explicitly shows location of closed-loop poles. ➠ Tradeoffs are
clear.
DISADVANTAGES :
– Requires transfer function of plant be known.
– Difficult to infer all performance values.
– Hard to extract steady-state response (sinusoidal inputs).
• Frequency-response methods can be used to supplement root locus:
– Can infer performance and stability from same plot.
– Can use measured data when no model is available.
– Design process is independent of system order (# poles).
– Time delays handled correctly (e−sτ ).
– Graphical techniques (analysis/synthesis) are “quite simple.”
Frequency Response
• We want to know how a linear system responds to sinusoidal input, in
steady state.
Lecture notes prepared by Dr. Gregory L. Plett
8–2
ECE4510, FREQUENCY-RESPONSE ANALYSIS
• Consider system
Y (s)
= G(s).
U (s)
• Consider the input:
u(t) = u 0 sin(ωt)
u 0ω
U (s) = 2
.
s + ω2
• With zero initial conditions,
u 0ω
Y (s) = G(s) 2
.
s + ω2
• Do a partial-fraction expansion (assume distinct roots)
α0∗
α1
α2
αn
α0
Y (s) =
+
+ ···+
+
+
s − a1 s − a2
s − an s + jω s − jω
t
y(t) = |α1ea1t + α2ea2{z
+ · · · + αn ean}t +2|α0| sin(ωt + φ)
If stable, these decay to zero.
=(α
)
0
yss(t) = 2|α0| sin(ωt + φ),
φ = tan−1
<(α0)
= u 0 A sin(ωt + φ).
• Important LTI-system fact: If the input to an LTI system is a sinusoid,
the “steady-state” output is a sinusoid of the same frequency but
different amplitude and phase.
• Amplitude gain: A; Phase shift: φ.
• “A” and “φ” may be found from α0, which is found using partial-fraction
expansion techniques.
A = |G(s)|s= j ω = |G( jω)|
p
= <(G( jω))2 + =(G( jω))2;
φ = 6 G(s)|s= j ω = 6 G( jω)
Lecture notes prepared by Dr. Gregory L. Plett
ECE4510, FREQUENCY-RESPONSE ANALYSIS
= tan−1
8–3
=(G( jω))
.
<(G( jω))
FORESHADOWING :
Transfer function along jω-axis tells us response to a
sinusoid...but also tells us about stability since jω-axis is stability
boundary!
Plotting a Frequency Response
• There are two common ways to plot a frequency response ➠ the
magnitude and phase for all frequencies.
EXAMPLE:
R
U (s)
Y (s)
C
G(s) =
1
1 + RCs
• Frequency response
1
(let RC = 1)
1 + jω RC
1
=
1 + jω
1
6 − tan−1 (ω).
=√
1 + ω2
G( jω) =
• We will need to separate magnitude and phase information from
rational polynomials in jω.
– Magnitude = magnitude of numerator / magnitude of denominator
p
<(num)2 + =(num)2
p
.
2
2
<(den) + =(den)
Lecture notes prepared by Dr. Gregory L. Plett
ECE4510, FREQUENCY-RESPONSE ANALYSIS
8–4
– Phase = phase of numerator − phase of denominator
=(num)
=(den)
tan−1
− tan−1
.
<(num)
<(den)
Plot Method #1: Polar Plot in s -plane.
• Evaluate G( jω) at each frequency for 0 ≤ ω < ∞.
• Result will be a complex number at each frequency: a + jb or Ae j φ .
• Plot each point on the complex plane at (a + jb) or Ae j φ for each
frequency-response value.
• Result = polar plot.
• We will later call this a “Nyquist plot”.
ω
0
0.5
1.0
1.5
2.0
3.0
5.0
10.0
∞
G( jω)
1.0006 0.0◦
0.8946 − 26.6◦
0.7076 − 45.0◦
0.5556 − 56.3◦
0.4476 − 63.4◦
0.3166 − 71.6◦
0.1966 − 78.7◦
0.1006 − 84.3◦
0.0006 − 90.0◦
• The polar plot is parametric in ω, so it is hard to read the
frequency-response for a specific frequency from the plot.
• We will see later that the polar plot will help us determine stability
properties of the plant and closed-loop system.
Lecture notes prepared by Dr. Gregory L. Plett
8–5
ECE4510, FREQUENCY-RESPONSE ANALYSIS
Plot Method #2: Magnitude and Phase Plots
• We can replot the data by separating the plots for magnitude and
phase making two plots versus frequency.
1
0
−10
0.8
G( jω)
|G( jω)|
−20
0.6
6
0.4
−30
−40
−50
−60
−70
0.2
−80
0
0
1
2
3
4
5
Frequency, (rads/sec.)
6
−90
0
1
2
3
4
5
Frequency, (rads/sec.)
6
• The above plots are in a natural scale, but usually a log-log plot is
made ➠ This is called a “Bode plot” or “Bode diagram.”
Bode Diagrams
• Simplest way to display the frequency response of a
rational-polynomial transfer function is to use a Bode Plot.
• Logarithmic ω versus logarithmic |G( jω)|, and logarithmic ω versus
6 G( jω).
REASON :
log10
ab
cd
= log10 a + log10 b − log10 c − log10 d.
➤ The polynomial factors that contribute to the transfer function can
be split up and evaluated separately.
(s + 1)
G(s) =
(s/10 + 1)
( jω + 1)
G( jω) =
( jω/10 + 1)
Lecture notes prepared by Dr. Gregory L. Plett
8–6
ECE4510, FREQUENCY-RESPONSE ANALYSIS
| jω + 1|
| jω/10 + 1|
r
ω 2
p
2
log10 |G( jω)| = log10 1 + ω − log10 1 +
.
10
|G( jω)| =
• Consider:
s
log10
• For ω ωn ,
s
log10
• For ω ωn ,
log10
KEY POINT:
ω
1+
ωn
ω
1+
ωn
s
ω
1+
ωn
2
.
2
≈ log10(1) = 0.
2
≈ log10
ω
.
ωn
Two straight lines on a log-log plot; intersect at ω = ωn .
• Typically plot 20 log10 |G( jω)|; that is, in dB.
20dB
Approximation
Exact
0.1ωn
ωn
10ωn
• A transfer function is made up of first-order zeros and poles, complex
zeros and poles, constant gains and delays. We will see how to make
straight-line (magnitude- and phase-plot) approximations for all these,
and combine them to form the appropriate Bode diagram.
Lecture notes prepared by Dr. Gregory L. Plett
8–7
ECE4510, FREQUENCY-RESPONSE ANALYSIS
Bode-Magnitude Diagrams
Bode-Magnitude: Constant Gain
dB
• dB = 20 log10 |K |.
|K | > 1
• Not a function of frequency.
Horizontal straight line. If
|K | < 1, then negative, else
positive.
0.1
10
1
|K | < 1
Bode-Magnitude: Zero or Pole at Origin
20 dB
• For a zero at the origin,
G(s) = s
dB = 20 log10 |G( jω)|
20 dB per
decade
0.1
1
10
= 20 log10 | jω| dB.
−20 dB
• For a pole at the origin,
1
G(s) =
s
dB = 20 log10 |G( jω)|
= −20 log10 | jω| dB.
20 dB
−20 dB per
decade
0.1
1
10
−20 dB
• Both are straight lines, slope = ±20 dB per decade of frequency.
– Line intersects ω-axis at ω = 1.
Lecture notes prepared by Dr. Gregory L. Plett
8–8
ECE4510, FREQUENCY-RESPONSE ANALYSIS
• For an nth-order pole or zero at the origin,
dB = ±20 log10 |( jω)n |
= ±20 log10 ωn
= ±20n log10 ω.
– Still straight lines.
– Still intersect ω-axis at ω = 1.
– But, slope = ±20n dB per decade.
Bode-Magnitude: Zero or Pole on Real Axis, but not at Origin
• For a zero on the real axis, (LHP or RHP), the standard Bode form is
s
G(s) =
±1 ,
ωn
which ensures unity dc-gain.
• If you start out with something like
G(s) = (s + ωn ),
then factor as
G(s) = ωn
s
+1 .
ωn
Draw the gain term (ωn ) separately from the zero term (s/ωn + 1).
• In general, a LHP or RHP zero has standard Bode form
s
G(s) =
±1
ωn
ω
G( jω) = ±1 + j
ωn
s
2
ω
20 log10 |G( jω)| = 20 log10 1 +
ωn
Lecture notes prepared by Dr. Gregory L. Plett
8–9
ECE4510, FREQUENCY-RESPONSE ANALYSIS
s
√
ω 2
20 log10 1 +
≈ 20 log10 1 = 0.
ωn
s
2
ω
ω
.
20 log10 1 +
≈ 20 log10
ωn
ωn
• For ω ωn ,
• For ω ωn ,
• Two straight lines on a log scale which intersect at ω = ωn .
• For a pole on the real axis, (LHP or RHP) standard Bode form is
−1
s
G(s) =
±1
ωn
s
2
ω
20 log10 |G( jω)| = −20 log10 1 +
.
ωn
This is the same except for a minus sign.
0.1ωn
1ωn
10ωn
−20 dB per
decade
20 dB
−20 dB
20 dB per
decade
0.1ωn
1ωn
10ωn
Bode-Magnitude: Complex-Zero or Complex-Pole Pair
• For a complex-zero pair (LHP or RHP) standard Bode form is
2
s
s
+ 1,
± 2ζ
ωn
ωn
which has unity dc-gain.
• If you start out with something like
s 2 ± 2ζ ωn s + ωn2 ,
Lecture notes prepared by Dr. Gregory L. Plett
8–10
ECE4510, FREQUENCY-RESPONSE ANALYSIS
which we have seen before as a “standard form,” the dc-gain is ωn2 .
• Convert forms by factoring out ωn2
#
" 2
s
s
+1 .
s 2 ± 2ζ ωn s + ωn2 = ωn2
± 2ζ
ωn
ωn
• Complex zeros do not lend themselves very well to straight-line
approximation.
2
s
• If ζ = 1, then this is
±1 .
ωn
• Double real zero at ωn ➠ slope of 40 dB/decade.
• For ζ 6= 1, there will be overshoot or undershoot at ω ≈ ωn .
– At ω = ωn , magnitude value = 20 log10 2ζ dB.
• We write complex poles (LHP or RHP) as
" #−1
2
s
s
G(s) =
+1
± 2ζ
.
ωn
ωn
– At ω = ωn , peak magnitude value = −20 log10 2ζ dB.
– For ω ωn , magnitude ≈ 0 dB.
– For ω ωn , magnitude slope = −40 dB/decade.
Bode Mag: Complex zeros
20 dB
40 dB
20 dB
ζ = 0.9
0.7
0.5
0 dB
0.3
0.2
0.1
0.05
0 dB
−20 dB
0.1ωn
ωn
Lecture notes prepared by Dr. Gregory L. Plett
−20 dB
10ωn
−40 dB
0.1ωn
Bode Mag: Complex poles
ζ = 0.05
0.1
0.2
0.3
0.5
0.7
ζ = 0.9
ωn
10ωn
8–11
ECE4510, FREQUENCY-RESPONSE ANALYSIS
Bode-Magnitude: Time Delay
• G(s) = e−sτ
...
|G( jω)| = 1.
• 20 log10 1 = 0 dB.
• Does not change magnitude response.
EXAMPLE :
2000·0.5 s
+1
10·50
0.5
s
s
+
1
+
1
10
50
2000(s + 0.5)
=
s(s + 10)(s + 50) s
jω
2 0.5 + 1
.
G( jω) =
jω
jω
jω 10 + 1 50 + 1
G(s) =
• Components:
– DC gain of 20 log10 2 ≈ 6 dB;
– Pole at origin;
– One real zero not at origin, and
– Two real poles not at origin.
80
60
40
20
0
−20
−40
−60 −2
10
−1
10
Lecture notes prepared by Dr. Gregory L. Plett
0
10
1
10
2
10
3
10
Bode Plot Construction
H( s ) K .
(s
s n .( s
a) ( s
c ) .( s
Typical Transfer Function
b)
d ) .( s
}
e)
a ,b ,c ,d ,e
are
real positive numbers
Bode Form : Let
ab .
H( s ) K .
ecd
s jω
and normalize
jω
1 .
b
jω
a
n jω
( jω ) .
c
jω
1 .
d
}
1
jω
1 .
e
1
Bode Form
Magnitude Plot
1) Curve breaks { up / down } by 20 dB/dec at { a,b / c,d,e}
Angle Plot
2) Curve breaks { up / down } by 45 degrees one decade before { a,b / c,d,e } and
breaks { down / up } by 45 degrees one decade after { a,b / c,d,e }
Initial Magnitude Plot
Case 1: n=0
Calculate
H( jω )
ω 0
and then convert to dB i.e.,
Case 2: n > 0
Calculate the ω - intercept
Calculate the initial slope
ω
20 .n
Final Magnitude Slope = -20 . RD
intercept
Kab
cde
20 .log( H( jω ) )
ω 0
1
n
dB / dec
dB / dec
95
Initial and Final Phase Plot
1) Plot a pole / zero plot for the original transfer function
2) Calculate the angle from the picture at ω
0
Illustrative Example
Angle
s
s
a
c
Initial Angle =
( Angle ( jω
a)
Angle ( jω
c) )
Final Angle =
( Angle ( jω
a)
Angle ( jω
c) )
ω 0
= 0 degrees
= 90 - 90 = 0 degrees
ω ∞
1
0.8
Imag Axis
0.6
0.4
c
}
a
0.2
0
-0.2
Pole / Zero Plot
-0.4
-0.6
-0.8
-1
-10
-8
-6
-4
-2
0
Real Axis
96
Example - Bode Plot Construction
s 1
H( s )
s 10
1 . jω
10 1
H( jω )
jω
1
}
Bode Form
1
10
Magnitude Plot
1) Initial Magnitude => n = 0 =>
Initial Magnitude =
20 .log
H( jω )
1
10
=
ω 0
}
20 dB
1
10
dB Conversion
2) Plot the negative of the poles and the zeros on the jω axis
zero at -1
3)
pole at -10
Use an "up" arrow to denote a slope of +20 dB/dec and a "down" arrow to denote
a slope of -20 dB/dec
RD 0
H( jω )
10−1
100
Final Slope =
0 dB / dec
102
101
dB
-20
}
-40
( use semilog paper )
Initial Magnitude
Decade
ω
4) Start at the initial magnitude and use arrows to draw the asymptotic plot
H( jω )
10−1
101
100
102
dB
-20
+ 20 dB/dec
-40
ω
97
Phase Plot
for
s 1
H( s )
s 10
H( jω )
1 . jω
10 1
jω
10
1
1
}
Bode Form
1
0.8
Imag Axis
0.6
0.4
}
0.2
0
-0.2
10
1
Pole / Zero Plot
-0.4
-0.6
-0.8
-1
-10
-8
-6
-4
-2
0
Real Axis
1) Initial Phase
Angle ( H( jω ) )
=
Angle
ω 0
Note :
jω
1
= 0-0=0
}
1
Angle
jω
10
1
ω 0
see picture
Final Angle
Angle ( H( jω ) )
=
Angle
ω ∞
Note :
= 90 - 90 = 0
jω
1
1
}
Angle
jω
10
1
ω ∞
see picture
98
2) Plot the negative of the poles and the zeros on the jω axis
zero at -1
pole at -10
3) Use an "up" arrow to denote a slope of +45 deg/dec and a "down" arrow to denote
a slope of - 45 deg/dec
Angle ( H( jω) )
deg
Decade
90
Initial Phase
45
10 −1
4)
Final Phase
101
10 0
10 2
Frequency (rad/sec)
Start at the initial phase and use arrows to draw the asymptotic plot
ω
Angle ( H( jω) )
deg
D ecade
90
Initial Phase
F inal P hase
45
45 deg/dec
10 − 1
- 45 deg/dec
10 0
10 1
ω
10 2
F requency (rad/sec)
Use the Asymptotic Plots to draw the actual Bode Plot free hand (rough out the edges)
B o d e D i a g ra m s
0
Phase (deg); Magnitude (dB)
-5
-1 0
-1 5
-2 0
50
40
30
20
10
10
-1
10
0
10
1
10
2
F re q u e n c y (ra d /s e c )
99
Example Bode Plot Construction
H( s )
10 ( s 10 )
s ( s 1 ) ( s 100 )
jω
10 ( 10 ) .
H( jω )
100
10
jω
jω
1
1
1
jω
100
1
}
Bode Form
Magnitude Plot
1) Initial Magnitude => n = 1 => Calculate the ω intercept
1
n
10 ( 10 )
0
ωI
1 10
n 1
100
ωI
}
Initial slope = -20.n dB / dec = -20 dB / dec
}
n 1
100
2) Plot the negative of the poles and the zeros on the jω axis
zero at -10
3)
poles at 0 , -1 and -100
Use an "up" arrow to denote a slope of +20 dB/dec and a "down" arrow to denote
a slope of -20 dB/dec
H( jω )
20
0
dB
-20 dB/dec
}
-20
-20 dB/dec
-40
( use semilog paper )
ωI
-60
101
100
102
Frequency (rad/sec)
4) Use the initial slope and the arrows to draw the asymptotic plot
H( jω )
20
dB 0
-20 dB/dec
-20
-40 dB/dec
-40
-20 dB/dec
-60
-40 dB/dec
100
101
10
2
ω
101
Phase Plot
for
H (s) =
10 ( s 10 )
s ( s 1 ) ( s 100 )
jω
H (s) =
10 ( 10 )
100
10
jω
jω
1
1
1
jω
100
1
}
Bode Form
1
0 .8
Imag Axis
0 .6
0 .4
}
0 .2
0
100
-0 .2
10
1
Pole / Zero Plot
-0 .4
-0 .6
-0 .8
-1
R e a l A x is
1) Initial Phase
Angle ( H( jω ) )
Angle
=
ω 0
jω
1
10
= 0° − 90° − 0° − 0°
Angle ( jω )
Angle
Angle ( jω )
Angle
jω
1
1
Angle
1
Angle
jω
100
1
ω 0
1
ω ∞
= −90°
Final Angle
Angle ( H( jω ) )
=
Angle
ω ∞
jω
10
1
jω
1
jω
100
= 90° − 90° − 90° − 90°
= −180°
102
2) Plot the negative of the poles and the zeros on the j ω axis
zero at -10
poles at 0 , -1 and -100
3) Use an "up" arrow to denote a slope of +45 deg/dec and a "down" arrow to denote
a slope of - 45 deg/dec
Angle ( H( jω ) )
10 − 1
10 0
10 3 ω
10 2
10 1
90
0
deg
-90
-180
Initial Phase
Final Phase
-270
Decade
4)
Start at the initial phase and use arrows to draw the asymptotic plot
Angle ( H( jω ) )
ω
-45
-90
deg
Initial Phase
Final Phase
-135
- 45 deg/dec
-180
- 45 deg/dec
-225
10 −1
10 0
101
10 2
10 3
Frequency (rad/sec)
103
Use the Asymptotic Plots to draw the actual Bode Plot free hand (rough out the edges)
Bode Diagrams
Phase (deg); Magnitude (dB)
0
-50
-100
-100
-120
-140
-160
-2
-1
10
0
10
1
10
2
10
10
3
10
Frequency (rad/sec)
Bode Plots for Repeated Roots
1
H (s) =
ωn
s
H (s) =
2
1
ωn
1
2
jω
ωn
1
jω
1
ωn
}
Bode Form
Magnitude Plot
1
1) Initial Magnitude => n = 0 => Calculate initial magnitude
Initial Magnitude =
20 .log
H( jω )
ω 0
=
ωn
2
1
ωn
2
dB
}
dB Conversion
104
2) Plot the negative of the poles on the jω axis
2 poles at - ωn
3)
Use an "up" arrow to deonte a slope of +20 dB/dec and a "down" arrow to denote
a slope of -20 dB/dec
H ( jω )
20
ωn /10
ωn
10ωn
100ωn
ω
0
dB
-20
-40
Decade
105
Phase Plot
for
1
H (s) =
2
ωn
s
1
H (s) =
1
ωn
2
jω
jω
1
ωn
ωn
}
1
Bode Form
1
0.8
}
Imag Axis
0.6
0.4
0.2
Pole / Zero Plot
0
-0.2
ωn
-0.4
-0.6
-0.8
Real Axis
1) Initial Phase
Angle ( H( jω ) )
=
ω 0
Angle
= −0° − 0°
jω
1
ωn
Angle
jω
ωn
1
ω 0
= 0°
Final Angle
Angle ( H( jω ) )
=
ω ∞
Angle
jω
ωn
1
Angle
jω
ωn
1
ω ∞
= −90° − 90°
= −180°
106
2) Plot the negative of the poles and the zeros on the j ω axis
2 poles at -ωn
3) Use an "up" arrow to denote a slope of +45 deg/dec and a "down" arrow to denote
a slope of - 45 deg/dec
Angle ( H( jω ) )
ωn
10
ωn
100 ω n
10ω n
90
ω
deg 0
-90
Final Phase
Initial Phase
-180
-270
4)
Start at the initial phase and use arrows to draw the asymptotic plot
ωn
90
10
ωn
100ωn
10ωn
0
-90
Final Phase
Initial Phase
-180
-270
107
Use the Asymptotic Plots to draw the actual Bode Plot free hand (rough out the edges)
In the following plot
ωn 1
Bode Diagrams
0
Phase (deg); Magnitude (dB)
-10
-20
-30
-40
-50
-100
-150
-1
10
0
10
1
10
Frequency (rad/sec)
108
8–17
ECE4510, FREQUENCY-RESPONSE ANALYSIS
Nonminimum-Phase Systems
• A system is called a nonminimum-phase if it has pole(s) or zero(s) in
the RHP.
• Consider
G 1(s) = 10
G 2(s) = 10
s+1
s + 10
s−1
s + 10
zero at − 1
pole at − 10
zero at + 1
pole at − 10
)
minimum
phase
)
nonminimum
phase
• The magnitude responses of these two systems are:
√
ω2 + 1
| jω + 1|
|G 1( jω)| = 10
= 10 √
| jω + 10|
ω2 + 100
√
| jω − 1|
ω2 + 1
|G 2( jω)| = 10
= 10 √
| jω + 10|
ω2 + 100
which are the same!
• The phase responses are very different:
(G 1( jω)), 6 (G 2( jω))
15
10
5
0
−2
10
−1
10
0
10
1
10
2
10
Frequency, (rads/sec.)
3
10
6
|G 1 ( jω)|, |G 2 ( jω)|
Bode-Magnitude Plot
20
Bode-Phase Plot
180
150
Non-minimum
Phase, G 2
120
90
60
Minimum
Phase, G 1
30
0
−2
10
−1
10
0
10
1
10
2
10
Frequency, (rads/sec.)
3
10
• Note that the change in phase of G 1 is much smaller than change of
phase in G 2. Hence G 1 is “minimum phase” and G 2 is
“nonminimum-phase”
Lecture notes prepared by Dr. Gregory L. Plett
8–18
ECE4510, FREQUENCY-RESPONSE ANALYSIS
• Non-minimum phase usually associated with delay.
s−1
G 2(s) = G 1(s)
+ 1}
|s {z
Delay
s−1
is very similar to a first-order Padé approximation to a
s+1
delay. It is the same when evaluated at s = jω.
• Note:
• Consider using feedback to control a nonminimum-phase system.
What do the root-locus plotting techniques tell us?
Steady-State Errors from Bode-Magnitude Plot
• Recall our discussion of steady-state errors to step/ramp/parabolic
inputs versus “system type” (summarized on pg. 4–4–17)
• Consider a unity-feedback system.
• If the open-loop plant transfer function has N poles at s = 0 then the
system is “type N ”
• K p is error constant for type 0.
• K v is error constant for type 1.
• K a is error constant for type 2...
• For a unity-feedback system, K p = lim G(s).
s→0
– At low frequency, a type 0 system will have G(s) ≈ K p .
– We can read this off the Bode-magnitude plot directly!
– Horizontal y-intercept at low freqency = K p .
1
➠ ess =
for step input.
1 + Kp
Lecture notes prepared by Dr. Gregory L. Plett
8–19
ECE4510, FREQUENCY-RESPONSE ANALYSIS
• K v = lim sG(s), and is nonzero for a type 1 system.
s→0
– At low frequency, a type 1 system will have G(s) ≈
Kv
.
s
Kv
. Slope of −20 dB/decade.
ω
– Use the above approximation to extend the low-frequency
asymptote to ω = 1. The asymptote (NOT THE ORIGINAL
|G( jω)|) evaluated at ω = 1 is K v .
1
➠ ess =
for ramp input.
Kv
– At low frequency, |G( jω)| ≈
• K a = lim s 2 G(s), and is nonzero for a type 2 system.
s→0
– At low frequency, a type 2 system will have G(s) ≈
Ka
.
s2
Ka
. Slope of −40 dB/decade.
ω2
– Again, use approximation to extend low-frequency asymptote to
ω = 1. The asymptote evaluated at ω = 1 is K a .
1
➠ ess =
for parabolic input.
Ka
– At low frequency, |G( jω)| ≈
• Similar for higher-order systems.
20
Example 1
60
50
Magnitude
Magnitude
10
0
−10
−20
−30
−40
−2
10
Example 2
40
30
20
10
−1
10
0
10
Frequency, (rads/sec.)
Lecture notes prepared by Dr. Gregory L. Plett
1
10
0
−2
10
−1
10
0
10
Frequency, (rads/sec.)
1
10
8–20
ECE4510, FREQUENCY-RESPONSE ANALYSIS
EXAMPLE
1:
➤ Horizontal as ω → 0, so we know this is type 0.
➤ Intercept = 6 dB. . .K p = 6 dB = 2 [linear units].
EXAMPLE
2:
➤ Slope = -20 dB/decade as ω → 0, so we know this is type 1.
➤ Extend slope at low frequency to ω = 1.
➤ Intercept=20 dB. . . K v = 20 dB = 10 [linear units].
Stability Revisited
• If we know the closed-loop transfer function of a system in rationalpolynomial form, we can use Routh to find stable ranges for K .
• Motivation: What if we only have open-loop frequency response?
A Simple Example
• Consider, for now, that we know the transfer-function of the system,
and can plot the root-locus.
EXAMPLE :
=(s)
r (t)
K
1
s(s + 1)2
K =2
y(t)
<(s)
• We see neutral stability at K = 2. The system is stable for K < 2 and
unstable for K > 2.
Lecture notes prepared by Dr. Gregory L. Plett
8–21
ECE4510, FREQUENCY-RESPONSE ANALYSIS
• Recall that a point is on the root locus if |K G(s)| = 1 and
6 G(s) = −180◦ .
• If system is neutrally stable, jω-axis will have a point (points) where
|K G( jω)| = 1 and 6 G( jω) = −180◦.
• Consider the Bode plot of
K G(s). . .
40
20
• A neutral-stability condition from
Bode plot is: |K G( jωo)| = 1 AND
6 K G( jωo ) = −180◦ at the same
frequency ωo .
• In this case, increasing
K →instability ➠ |K G( jω)| < 1
at 6 K G( jω) = −180◦ =stability.
0
−20
−40
−60
K = 0.1
K =2
K = 10
−80 −2
10
−1
10
0
10
1
10
−90
−120
−150
−180
−210
• In some cases, decreasing
K →instability ➠ |K G( jω)| > 1
at 6 K G( jω) = −180◦ =stability.
−240
−270 −2
10
−1
10
0
10
1
10
KEY POINT:
We can find neutral stability point on Bode plot, but don’t
(yet) have a way of determining if the system is stable or not. Nyquist
found a frequency-domain method to do so.
Nyquist Stability
• Poles of closed-loop transfer function in RHP—the system is unstable.
• Nyquist found way to count closed-loop poles in RHP.
• If count is greater than zero, system is unstable.
• Idea:
Lecture notes prepared by Dr. Gregory L. Plett
8–22
ECE4510, FREQUENCY-RESPONSE ANALYSIS
– First, find a way to count closed-loop poles inside a contour.
– Second, make the contour equal to the RHP.
• Counting is related to complex functional mapping.
Interlude: Complex Functional Mapping
• Nyquist technique is a graphical method to determine system stability,
regions of stability and MARGINS of stability.
• Involves graphing complex functions of s as a polar plot.
EXAMPLE:
Plotting f (x), a real function of a real variable x.
f (x)
x
• This can be done.
EXAMPLE:
Plotting F(s), a complex function of a complex variable s.
F (s)
?
NO! This is wrong!
s
• Must draw mapping of points or lines from s-plane to F(s)-plane.
jω
s
s0
mapping
σ
Lecture notes prepared by Dr. Gregory L. Plett
=(F )
F (s0)
F (s)
<(F)
8–23
ECE4510, FREQUENCY-RESPONSE ANALYSIS
EXAMPLE:
F(s) = 2s + 1 . . . “map the four points: A, B, C, D”
D
−1
C
EXAMPLE:
=(s)
A
j
<(s)
1
−j
B
Map a square contour (closed path) by F(s) =
j
D
−1
C
−j
j =(s)
F (D)
A
1
B
s
.
s +2
−1
F ( A)
F (B)1 <(s)
− j F(C)
FORESHADOWING :
By drawing maps of a specific contour, using a
mapping function related to the plant open-loop frequency-response,
we will be able to determine closed-loop stability of systems.
Mapping Function: Poles of the Function
• When we map a contour containing (encircling) poles and zeros of
the mapping function, this map will give us information about how
many poles and zeros are encircled by the contour.
• Practice drawing maps when we know poles and zeros.
• Evaluate G(s)|s=so .
G(so) = |E
v |e j α
X
X
6
6 (poles).
α=
(zeros) −
Lecture notes prepared by Dr. Gregory L. Plett
8–24
ECE4510, FREQUENCY-RESPONSE ANALYSIS
EXAMPLE :
F(c1)
=(s)
c1
<(s)
α
• In this example, there are no zeros or poles inside the contour. The
phase α increases and decreases, but never undergoes a net change
of 360◦ (does not encircle the origin).
EXAMPLE :
=(s)
F(c2)
c2
<(s)
α
• One pole inside contour. Resulting map undergoes 360◦ net phase
change. (Encircles the origin).
EXAMPLE :
=(s)
F (c3)
c3
<(s)
Lecture notes prepared by Dr. Gregory L. Plett
8–25
ECE4510, FREQUENCY-RESPONSE ANALYSIS
• In this example, there are two poles inside the contour, and the map
encircles the origin twice.
• These examples give heuristic evidence of the general rule: Cauchy’s
theorem
“Let F(s) be the ratio of two polynomials in s. Let the closed
curve C in the s-plane be mapped into the complex plane
through the mapping F(s). If the curve C does not pass through
any zeros or poles of F(s) as it is traversed in the CW direction,
the corresponding map in the F(s)-plane encircles the origin
N = Z − P times in the CW direction,” where
Z = # of zeros of F(s)in C,
P = # of poles of F(s) in C.
• Consider the following feedback system:
r (t)
D(s)
G(s)
y(t)
T (s) =
H (s)
• For closed-loop stability, no poles of T (s)
in RHP.
D(s)G(s)
.
1 + D(s)G(s)H (s)
=(s)
R→∞
– No zeros of 1 + D(s)G(s)H (s) in RHP.
– Let F(s) = 1 + D(s)G(s)H (s).
– Count zeros in RHP using Cauchy
theorem! (Contour=entire RHP).
• The Nyquist criterion simplifies Cauchy’s criterion for feedback
systems of the above form.
Lecture notes prepared by Dr. Gregory L. Plett
<(s)
8–26
ECE4510, FREQUENCY-RESPONSE ANALYSIS
• Cauchy: F(s) = 1 + D(s)G(s)H (s).
• Nyquist: F(s) = D(s)G(s)H (s).
=(s)
N = # of encirclements of origin.
N = # of encirclements of −1.
Cauchy
=(s)
Nyquist
<(s)
<(s)
• Simple? YES!!!
• Think of Nyquist path as four parts:
=(s)
I. Origin. Sometimes a special case (later
examples).
II. + jω-axis. FREQUENCY-response of
O.L. system! Just plot it as a polar plot.
III
II
<(s)
I
IV
III. For physical systems=0.
IV. Complex conjugate of II.
• So, for most physical systems, the Nyquist plot, used to determine
CLOSED-LOOP stability, is merely a polar plot of LOOP frequency
response D( jω)G( jω)H ( jω).
• We don’t even need a mathematical model of the system. Measured
data of G( jω) combined with our known D( jω) and H ( jω) are
enough to determine closed-loop stability.
Lecture notes prepared by Dr. Gregory L. Plett
Nyquist Plots/Nyquist Stability Criterion
Y( s )
R( s ) +
K
_
Y( s )
R( s )
∆( s)
KGp ( s )
=
1
=
KGp ( s )
1
KGp ( s )
Gp ( s )
}
Closed loop TF
}
Denominator Form for
Nyquist Analysis
Im K .Gp ( jω )
1) Plot Nyquist Plot (i.e., a Polar Plot) for
versus
Re K .Gp ( jω )
using the Nyquist contour. (Assume K = 1)
2) Apply the Nyquist Criterion to the Nyquist Plot and then
determine the stability of the closed-loop system.
Nyquist Criterion
P0
denotes the number of poles of
Gp ( s )
inside s-plane contour.
N denotes the net number CW encirclements of the point
1∠ − 180
If the contour in the s-plane is CW, then CW is the positive direction.
i.e., 1 CW
⇒ N =1
1 CCW
⇒ N =−1
If the contour in the s-plane is CCW, then CCW is the positive direction.
i.e., 1 CCW
Zc
⇒ N =1
1 CW
⇒ N =−1
denotes the number of closed-loop poles inside the s-plane contour.
Zc N
P0
}
Formula for calculation purposes
122
Example
Im {s}
H( s )
Draw the Nyquist Plot for
Nyquist Contour
1
s
1
for the following s-plane contour.
Step 1) Let
H( j .ω )
s jω
1
j .ω
1
R
R→ ∞
Step 2) Plot a pole/zero plot for H(s) on the s-plane
contour picture and include measurement
scheme to the j ω - axis along with the
necessary critical points.
Re{s}
Step 3) Enter a magnitude/phase table entry for each critical point.
r
mag
θ
Phase
A
1
0
B
0
90
C
0
0
Point
1
H ( jω )
jω
Angle( H ( jω ) )
Im {s}
κ
β
A
-1
r
1
B
C
Re{s}
1
κ
Angle( jω
1) θ
β
Step 4) Use critical points to draw Nyquist Plot.
Step 5) Nyquist plot is symmetric about real axis. Draw other half.
Im{H(jω )}
B,C
θ
A
r
Re{H(jω )}
}
Draw a Polar
plot on a
rectangular
coordinate
system
123
Example
H( s )
Draw the Nyquist Plot for
for the following s-plane contour.
s jω H( j .ω )
Step 1) Let
Nyquist Contour
Im{s}
1
s( s
1)
1
jω ( j .ω
ε
1)
Step 2) Plot a pole/zero plot for H(s) on the s-plane contour
jω
picture and include measurement scheme to the
axis
R
R→ ∞
Re{s}
ε→ 0
along with the necessary critical points.
Step 3) Enter a magnitude/phase table entry for
each critical point.
Point
r
mag
Im{s}
θ
Phase
A
∞
0
B
∞
90
B
"Blow-up"
0
180
D
0
0
H ( jω )
Angle( H ( jω ) )
Re{s}
B
90
o
A
Re{s}
ε
1
jω . jω
D
A
-1
Im {s}
C
C
1
Angle( jω )
Angle( jω
1)
Im{H(jω)}
Step 4) Use critical points to draw Nyquist Plot.
Step 5) Nyquist plot is symmetric about real axis.
Draw other half.
-1
C,D
θ
A
r
Re{H(jω)}
r=∞
B
124
Example - Determine stability with Nyquist Plot
R( s )
Y( s )
+
K
_
Gp ( s )
Gp ( s )
s .( s
1
1 ) .( s
10 )
R
Re{s}
Im{s}
Use Nyquist Plot, Contour and Criterion to discuss
quantitatively how the control gain K affects
closed-loop stability.
K .Gp ( s )
Y( s )
R ( s ) 1 K .Gp ( s )
K.
∆( s) 1
s .( s
Closed Loop
Transfer Function
ε
R→ ∞
ε → 0
Nyquist Form
1
1 ) .( s
10 )
the
} for
denominator
K .Gp ( jω )
s jω
Step 1) Let
}
Nyquist Contour
Step 2) Plot a pole/zero plot for
K
( jω ) .( jω
Gp ( s )
1 ) .( jω
}
10 )
Assume K = 1
on the s-plane contour
picture and include measurement scheme to the
jω
axis
along with the necessary critical points.
Im{s}
C
Step 3) Enter a magnitude/phase table entry for
each critical point.
point
A
r
θ
mag
phase
∞
0
B
∞
90
C
0
270
D
0
0
Gp ( jω )
B
A
"Blow-up"
-10
-1
D
Re{s}
Im {s}
B
90
o
A
Re{s}
ε
1
jω . jω
Angle Gp ( jω )
1 . jω
Angle( jω )
10
Angle( jω
1)
Angle( jω
10 )
125
Step 4) Use critical points to draw Nyquist Plot.
Step 5) Nyquist plot is symmetric about real axis.
Draw other half.
Im{Gp(jω )}
C,D
θ
A
Re{Gp(jω )}
r
r
θ
point
mag
phase
A
∞
0
B
∞
90
C
0
270
D
0
0
}
Nyquist Plot with
K=1
r=∞
B
Im{KGp(jω)}
-1
C,D
θ
A
r
Re{KGp(jω)}
}
Nyquist Plot for
different values
of K
r=∞
Larger K
B
As K is increased, the shape of the Nyquist plot
does not change because K is a real number
(i.e., K only affects the magnitude (size);
K does NOT affect the phase (shape))
126
Nyquist Contour
Im{KGp(jω)}
Im {s}
C,D
θ
-1
A
CW +
CCW -
-1
-10
Re{s}
Re{KGp(jω)}
r
r=∞
B
Nyquist Criterion
1) Find
P0
P0 0
=>
( Number of poles of
Gp ( s )
inside the contour)
2) Determine the sign notation for the encirclements.
Contour is CW so, CW encirclements are positive and CCW encirclements are negative
3) Find N (i.e., the number of encirclements of (-1,0) for different values of K
Also compute
Zc
Zc N
P0
N
Zc
Stability
small K
0
0
Yes
big K
2
2
No
}
}
Number of closed loop
poles inside the contour
Nyquist Criterion
table
4) Understanding the above table:
For small K, no closed loop poles are inside the s-plane contour. From the contour,
we can see that this means that for small K the closed loop system is stable
For big K, two closed loop poles are inside the s-plane contour; hence, for big K,
the closed loop system is unstable
127
Root Locus agrees with the Nyquist Criterion
15
Gp ( s )
Imag Axis
10
s .( s
1
1 ) .( s
10 )
5
}
0
Root Locus
for
∆( s) 1
K .Gp ( s )
-5
small K: closed loop system
is stable
-10
-15
-12
-10
-8
-6
-4
-2
0
2
Real Axis
N
Zc
Stability
small K
0
0
Yes
big K
2
2
No
}
4
big K: closed loop system
is unstable
Nyquist Criterion
table
128
Example - Clockwise Contour
R ( s )+
Im{s}
Nyquist
Contour
Y( s )
K
_
H( s )
R
R→ ∞
Use Nyquist Plot, Contour and Criterion to discuss
quantitatively how the control gain K affects
closed-loop stability.
Y( s )
K .H ( s )
R ( s ) 1 K .H ( s )
}
H( s )
s
s
Re{s}
1
1
Closed Loop
Transfer Function
We can see from the root locus
that the system goes unstable
1
Step 1) Let
K.
s
1
s
1
Nyquist Form
0.8
the
} for
denominator
0.6
Imag Axis
∆( s) 1
s jω
K .( jω 1 )
K .H ( s )
( jω 1 )
0.4
0.2
0
-0.2
}
Assume
K=1
-0.4
-0.6
-0.8
-1
-2
Step 2) Plot a pole/zero plot for
H ( s)
Step 3) Enter a magnitude/phase table entry for
each critical point.
θ
point
mag
phase
A
1
-0.5
jω
0
0.5
1
1.5
2
Real Axis
axis
Im {s}
B
Nyquist
Contour
A
C
180
B
1
0
C
1
0
H ( jω )
-1
on the s-plane contour
picture and include measurement scheme to the
r
-1.5
jω
1
jω
1
-1
Angle( H ( jω ) ) Angle( jω
1
1)
Angle( jω
Re{s}
1)
130
Step 4) Use critical points to draw Nyquist Plot.
Step 5) Nyquist plot is symmetric about real axis.
Draw other half.
r
θ
point
mag
phase
A
1
180
B
1
0
C
1
0
Im{H(jω)}
K 1
A
B,C
θ
-1
Re{H(jω)}
r
Im{s}
B
CW +
CCW -
Nyquist
Contour
C
A
-1
1
As K is decreased below 1, the Nyquist Plot
intersects the Re{j ω } axis before -1
Re{s}
As K is increased beyond 1, the Nyquist Plot
intersects the Re{j ω } axis beyond -1
Nyquist Criterion
1) Find
P0
P0 0
=>
( Number of poles of
H ( s)
inside the contour)
2) Determine the sign notation for the encirclements.
Contour is CW so, CW encirclements are positive and CCW encirclements are negative
3) Find N (i.e., the number of encirclements of (-1,0) for different values of K
Also compute
Zc
Zc N
P0
N
Zc
Stability
small K
0
0
Yes
big K
1
1
No
}
Number of closed loop
poles inside the contour
}
Nyquist Criterion
table
4) Understanding the above table:
For small K, no closed loop pole is inside the s-plane contour. From the contour,
we can see that this means that for small K the closed loop system is stable
For big K, one closed loop pole is inside the s-plane contour; hence, for big K,
the closed loop system is unstable
131
Same Example - Counterclockwise Contour
R ( s )+
Im {s}
Y( s )
K
_
H( s )
Nyquist
Contour
Use Nyquist Plot, Contour and Criterion to discuss
quantitatively how the control gain K affects
H( s )
closed-loop stability.
R
s
s
1
1
s jω
Step 1) Let
K .( jω
K .H ( s )
( jω
1)
1)
Step 2) Plot a pole/zero plot for
Assume
} K=1
H ( s)
on the s-plane contour
picture and include measurement scheme to the
jω
axis
Step 3) Enter a magnitude/phase table entry for
each critical point.
r
θ
point
mag
phase
A
1
180
B
1
0
C
1
0
H ( jω )
Re{s}
R→ ∞
B
Nyquist
Contour
C
jω
1
jω
1
Angle( H ( jω ) ) Angle( jω
Im {s}
1)
Angle( jω
-1
A
1
Re{s}
1)
Note: Numbers in the table are exactly the same as before
132
r
θ
point
mag
phase
A
1
180
B
1
0
C
1
0
Step 4) Use critical points to draw Nyquist Plot.
Step 5) Nyquist plot is symmetric about real axis.
Draw other half.
Im{H(jω)}
K 1
A
B,C
θ
-1
Re{H(jω)}
r
CW CCW +
Im {s}
Nyquist
Contour
As K is decreased below 1, the Nyquist Plot
intersects the Re{j ω } axis before -1
-1
1
Re{s}
As K is increased beyond 1, the Nyquist Plot
intersects the Re{j ω } axis beyond -1
Nyquist Criterion
1) Find
P0
P0 1
=>
( Number of poles of
H ( s)
inside the contour)
2) Determine the sign notation for the encirclements.
Contour is CCW so, CW encirclements are negative and CCW encirclements are positive
3) Find N (i.e., the number of encirclements of (-1,0) for different values of K
Also compute
small K
big K
Zc
Zc N
P0
N
Zc
Stability
0
1
Yes
0
No
1
}
Number of closed loop
poles inside the contour
}
Nyquist Criterion
table
4) Understanding the above table:
For small K, one closed loop pole is inside the s-plane contour. From the contour,
we can see that this means that for small K the closed loop system is stable
For big K, no closed loop pole is inside the s-plane contour; hence, for big K,
the closed loop system is unstable
133
Im{s}
Example - Clockwise Contour
R ( s )+
Nyquist
Contour
Y( s )
K
_
H( s )
ε
R
R→ ∞
ε→ 0
Use Nyquist Plot, Contour and Criterion to discuss
quantitatively how the control gain K affects
closed-loop stability.
Y( s )
K .H ( s )
R ( s ) 1 K .H ( s )
K.
∆( s) 1
}
1 ) .( s
Step 2) Plot a pole/zero plot for
s .( s
Assume
K
( jω ) .( jω
H ( s)
1 ) .( jω
2)
jω
axis
Step 3) Enter a magnitude/phase table entry for
each critical point.
θ
point
mag
phase
A
∞
0
B
∞
90
} K=1
on the s-plane contour
picture and include measurement scheme to the
r
Im{s}
0
270
D
0
0
"Blow-up"
-2
-1
Nyquist
Contour
D
Re{s}
B
90
o
A
Re{s}
ε
H ( jω )
C
B
A
Im {s}
C
2)
Nyquist Form
for the
denominator
}
2)
K .H ( s )
s jω
Step 1) Let
1
1 ) .( s
Closed Loop
Transfer Function
1
s .( s
H( s )
Re{s}
1
jω . jω
Angle( H ( jω ) )
1 . jω
2
Angle( jω ) Angle( jω
1)
Angle( jω
2)
134
r
θ
point
mag
phase
A
∞
0
B
∞
90
C
0
270
D
0
0
Step 4) Use critical points to draw Nyquist Plot.
Step 5) Nyquist plot is symmetric about real axis. Draw other half.
Im{Gp(jω)}
K 1
C,D
θ
-1
A
Re{Gp(jω)}
r
r=∞
Im{s}
C
CW +
CCW -
Nyquist
Contour
B
B
A
-2
-1
D
Re{s}
Nyquist Criterion
1) Find
P0
P0 0
=>
( Number of poles of
H ( s)
inside the contour)
2) Determine the sign notation for the encirclements.
Contour is CW so, CW encirclements are positive and CCW encirclements are negative
3) Find N (i.e., the number of encirclements of (-1,0) for different values of K
Also compute
Zc
Zc N
P0
N
Zc
Stability
small K
0
0
Yes
big K
2
2
No
}
Number of closed loop
poles inside the contour
}
Nyquist Criterion
table
4) Understanding the above table:
For small K, no closed loop pole is inside the s-plane contour. From the contour,
we can see that this means that for small K the closed loop system is stable
For big K, two closed loop poles are inside the s-plane contour; hence, for big K,
the closed loop system is unstable
135
Same Example - Counterclockwise Contour
R ( s )+
Im {s}
Y( s )
K
_
Nyquist
Contour
H( s )
ε
Re{s}
R
Use Nyquist Plot, Contour and Criterion to discuss
quantitatively how the control gain K affects
closed-loop stability.
H( s )
Step 1) Let
K .H ( s )
s jω
K
( jω ) .( jω
1
1 ) .( s
2)
H ( s)
} K=1
on the s-plane contour
picture and include measurement scheme to the
jω
axis
Im {s}
Step 3) Enter a magnitude/phase
table entry for each critical point.
r
θ
point
mag
phase
A
∞
0
B
∞
90
C
0
270
D
0
540
2)
Assume
1 ) .( jω
Step 2) Plot a pole/zero plot for
s .( s
R→ ∞
ε → 0
C
Nyquist
Contour
B
D
-2 -1
A
Re{s}
"Blow-up"
Im {s}
B
90
ε
H ( jω )
o
A
Re{s}
1
jω . jω
Angle( H ( jω ) )
1 . jω
2
Angle( jω ) Angle( jω
1)
Angle( jω
2)
136
r
θ
point
mag
phase
A
∞
0
B
∞
90
C
0
270
D
0
540
Step 4) Use critical points to draw Nyquist Plot.
Step 5) Nyquist plot is symmetric about real axis. Draw other half.
Im{Gp(jω)}
K 1
C,D
θ
-1
A
Re{Gp(jω)}
r
Im {s}
CW CCW +
r=∞
B
Nyquist
Contour
-2 -1
Re{s}
Nyquist Criterion
1) Find
P0
P0 3
=>
( Number of poles of
H ( s)
inside the contour)
2) Determine the sign notation for the encirclements.
Contour is CCW so, CW encirclements are negative and CCW encirclements are positive
3) Find N (i.e., the number of encirclements of (-1,0) for different values of K
Also compute
small K
big K
Zc
Zc N
P0
N
Zc
Stability
0
3
Yes
1
No
2
}
Number of closed loop
poles inside the contour
}
Nyquist Criterion
table
4) Understanding the above table:
For small K, all three closed loop poles are inside the s-plane contour. From the contour,
we can see that this means that for small K the closed loop system is stable
For big K, only one closed loop pole is inside the s-plane contour; hence, for big K,
the closed loop system is unstable
137
Example: Using Nyquist Plots to Draw Root Loci
Given the Nyquist Plot and the Transfer Function draw the Root Locus
Y( s )
R( s ) K
B
H ( s)
2
s .( s
K 1
Im{H(jω)}
2 ) .( s
(s
H( s )
1 ) .( s
4)
3 ) .( s
5)
Im{s}
}
Nyquist
Contour
The Nyquist
Plot is given
ε
θ
Re{H(jω)}
r
-1/a
-b
-1
R
R→∞
ε → 0
Re{s}
r=∞
5
Stable region
4
This is how you might be
tempted to draw the
root locus without the
Nyquist plot
{
Imag Axis
3
2
1
0
-1
-2
-3
-4
Does the Nyquist Plot concur ?
1) Find
P0
-5
-7
; the number of poles inside the contour
-6
-5
-4
-3
-2
-1
0
1
2
Real Axis
P0 0
2) Determine the sign notation for the encirclements.
Contour is CW so, CW encirclements are positive and CCW encirclements are negative
3) Find N (i.e., the number of encirclements of (-1,0) for different values of K
Also compute
small K
medium K
big K
Zc
Zc N
N
Zc
2
2
P0
Stability
No
0
0
Yes
2
2
No
}
Nyquist Criterion
table
=>
The above
root locus
is wrong
138
N
Zc
small K
2
2
No
medium K
0
0
Yes
2
2
No
big K
Stability
}
Nyquist Criterion
table
4) Understanding the above table:
For small K, two closed loop poles are inside the s-plane contour. From the contour,
we can see that this means that for small K the closed loop system is unstable
For medium K, no closed loop poles are inside the s-plane contour. From the contour,
we can see that this means that for medium K the closed loop system is stable
For big K, two closed loop poles are inside the s-plane contour; hence, for big K,
the closed loop system is unstable
The above table assists in the Root Locus sketch
5
4
Imag Axis
}
K2*
3
2
medium K
1
large K
{
} small K
0
*
1
K
-1
-2
-3
-4
-5
-7
-6
-5
-4
-3
-2
-1
0
1
2
Real Axis
From the above root locus, we can conclude that the system is stable for
K1* < K < K 2*
The above result matches that of the Nyquist criterion
K1* =
1
b
and
K 2* = a
-1 /a
-b
-1
139
8–33
ECE4510, FREQUENCY-RESPONSE ANALYSIS
• The distance between the current (stable) system and an unstable
system is called a “stability margin.”
• Can have a gain margin and a phase margin.
GAIN MARGIN :
Factor by which the gain is less than the neutral stability
value.
• Gain margin measures “How much can we increase the gain of the
loop transfer function L(s) = D(s)G(s)H (s) and still have a stable
system?”
• Many Nyquist plots are like this one.
Increasing loop gain magnifies the
plot.
• GM =1/(distance between origin and
place where Nyquist map crosses
real axis).
1
GM
PM
• If we increase gain, Nyquist map
“stretches” and we may encircle −1.
• For a stable system, GM > 1 (linear units) or GM > 0 dB.
PHASE MARGIN :
Phase factor by which phase is greater than neutral
stability value.
• Phase margin measures “How much delay can we add to the loop
transfer function and still have a stable system?”
• PM = Angle to rotate Nyquist plot to achieve neutral stability =
intersection of Nyquist with circle of radius 1.
Lecture notes prepared by Dr. Gregory L. Plett
8–34
ECE4510, FREQUENCY-RESPONSE ANALYSIS
• If we increase open-loop delay, Nyquist map “rotates” and we may
encircle −1.
• For a stable system, PM > 0◦.
IRONY:
This is usually easiest to check on Bode plot, even though
derived on Nyquist plot!
• Define gain crossover as frequency where Bode magnitude is 0 dB.
• Define phase crossover as frequency where Bode phase is −180◦.
30
• GM = (− Bode gain at
phase-crossover
frequency) [dB] if Bode
gain measured in dB.
• PM = Bode phase at
gain-crossover −(−180◦).
Magnitude
20
10
0
−10
−20
−30 −2
10
−1
10
0
10
1
10
2
10
Frequency, (rads/sec.)
−90
−120
Phase
• GM = 1/(Bode gain at
phase-crossover
frequency) if Bode gain is
measured in linear units.
−150
−180
−210
−240
−270
−2
10
−1
10
0
10
1
10
2
10
Frequency, (rads/sec.)
• We can also determine stability as K changes. Instead of defining
gain crossover where |G( jω)| = 1, use the frequency where
|K G( jω)| = 1.
• You need to be careful using this test.
– It works if you apply it blindly and the system is minimum-phase.
Lecture notes prepared by Dr. Gregory L. Plett
8–35
ECE4510, FREQUENCY-RESPONSE ANALYSIS
– You need to think harder if the system is nonminimum-phase.
– Nyquist is the safest bet.
PM and Performance
• A bonus of computing PM from the open-loop frequency response
graph is that it can help us predict closed-loop performance of the
system.
• PM is related to damping. Consider open-loop 2nd -order system
ωn2
G(s) =
s(s + 2ζ ωn )
with unity feedback,
ωn2
T (s) = 2
.
s + 2ζ ωn + ωn2
• The relationship between PM and ζ is: (for this system)



PM = tan−1  qp
2ζ
1 + 4ζ 4 − 2ζ 2


PM
.
100
• For this system we can also infer M p from PM.
• For PM ≤ 60◦, ζ ≈
Damping ratio versus PM
1
Overshoot fraction versus PM
0.9
M p , overshoot
Damping ratio ζ
1
0.8
0.6
0.4
0.2
0.8
0.7
0.6
0.5
0.4
0.3
0.2
0.1
0
10
20
30
40
50
60
Phase margin
Lecture notes prepared by Dr. Gregory L. Plett
70
80
0
0
10
20
30
40
50
Phase margin
60
70
80
8–36
ECE4510, FREQUENCY-RESPONSE ANALYSIS
Bode’s Gain-Phase Relationship
• “For any stable minimum-phase system (that is, one with no RHP
zeros or poles), the phase of G( jω) is uniquely related to the
magnitude of G( jω)”
Z 1 ∞ dM
• Relationship: 6 G( jωo) =
W (u) du
(in radians)
π −∞ du
M = ln |G( jω)|
ω
u = ln
ωo
dM
≈ slope n of log-mag curve at ω = ωo
du
W (u) = weighting function = ln(coth |u|/2)
π
• W (u) ≈ δ(u). Using this re2
lationship, 6 G( jω) ≈ n × 90◦
if slope of Bode magnitudeplot is constant in the decadeneighborhood of ω.
4
2
• So, if 6 G( jω) ≈ −90◦ if n = −1.
3.5
W (u)
3
2.5
2
1.5
1
0.5
0
−6
−4
−2
0
2
4
6
Normalized freq. u
• So, if 6 G( jω) ≈ −180◦ if n = −2.
Want crossover |G( jω)| = 1 at a slope of about −1 for good
PM. We will soon see how to do this (design!).
KEY POINT:
Closed-Loop Frequency Response
• Most of the notes in this section have used the open-loop frequency
response to predict closed-loop behavior.
Lecture notes prepared by Dr. Gregory L. Plett
8–37
ECE4510, FREQUENCY-RESPONSE ANALYSIS
• How about closed-loop frequency response?
K D(s)G(s)
T (s) =
.
1 + K D(s)G(s)
• General approximations are simple to make. If,
|K D( jω)G( jω)| 1
for ω ωc
and |K D( jω)G( jω)| 1
for ω ωc
where ωc is the cutoff frequency where open-loop magnitude
response crosses magnitude=1.
(
K D( jω)G( jω)
1,
ω ωc ;
|T ( jω)| =
≈
1 + K D( jω)G( jω)
|K D( jω)G( jω)|, ω ωc .
• Note: ωc ≤ ωbw ≤ 2ωc .
Lecture notes prepared by Dr. Gregory L. Plett
9–1
ECE4510: Feedback Control Systems.
FREQUENCY-RESPONSE DESIGN
• The frequency-response methods we have seen so far largely tell us
about stability and stability margins of a closed-loop system based on
open-loop response.
• Now, we look at frequency-response based design methods which
primarily aim at improving stability margins.
• Also, given the relationship between PM and performance, we have
some idea of transient response as well.
• Start thinking of Bode-magnitude and Bode-phase plots as “LEGO” to
make the frequency response we want.
PD Compensation
• Compensator D(s) = K (1 + TD s).
• We have seen from root-locus that this has a stabilizing effect.
• Magnitude and phase effect:
90◦
10K
K 0.1
TD
1
TD
Lecture notes prepared by Dr. Gregory L. Plett
10
TD
0.1
TD
1
TD
10
TD
9–2
ECE4510, FREQUENCY-RESPONSE DESIGN
• PD controller increases phase for frequencies over ω ≈ 0.1/TD . So,
locate 1/TD < crossover so that phase margin at crossover is better.
• Problem: Magnitude response continues to increase as frequency
increases. This amplifies high-frequency sensor noise.
Lead Compensation
Ts + 1
• Compensator D(s) = K
,
αT s + 1
α < 1.
• Approximate PD control for frequencies up to ω =
• Magnitude and phase effect:
1
.
αT
K
α
φmax
K
1
T
ωmax
0.1
T
1
αT
1
T
ωmax
• The phase contributed at frequency ω is
φ = tan−1 (T ω) − tan−1 (αT ω) .
• The maximum phase is
φmax = sin−1
1−α
1+α
at ωmax =
• To find α to add a certain phase φmax
1 − sin(φmax)
α=
.
1 + sin(φmax)
Lecture notes prepared by Dr. Gregory L. Plett
1
αT
1
√ .
T α
10
αT
9–3
ECE4510, FREQUENCY-RESPONSE DESIGN
1
1
• We can show that ωmax occurs mid-way between and
on a log
T
αT
scale
!
√1
1
1
log(ωmax) = log √ T
+ log √
= log √
αT
αT
T
1
1
1
=
log
+ log
.
2
T
αT
90
80
70
60
φmax
• How much can we
improve phase with a
lead network?
50
40
30
20
10
0 0
10
1
10
2
10
1/α
• If we need more phase improvement, we can use a double-lead
compensator:
Ts + 1 2
D(s) = K
.
αT s + 1
• Need to compromise between good phase margin and good sensor
noise rejection at high frequency.
Design Method #1 for Lead Controllers
• Design specification include:
– Desired steady-state error.
– Desired phase margin.
Lecture notes prepared by Dr. Gregory L. Plett
9–4
ECE4510, FREQUENCY-RESPONSE DESIGN
• Compute steady-state error of compensated system. Set equal to
desired steady-state error by computing K .
• Evaluate the PM of the uncompensated system using the value of K
from above. ωmax initially set to crossover frequency.
• Add a small amount of PM (5◦ to 12◦) to the needed phase lead.
(Lead network moves crossover point, so need to design
conservatively): Gives φmax.
1 − sin(φmax)
• Determine α =
.
1 + sin(φmax)
1
• Determine T =
√ .
ωmax α
• Iterate if necessary (choose a slightly different ωmax or φmax).
EXAMPLE :
Plant G(s) =
1
s(s + 1)
• Want steady-state error for ramp input < 0.1,
• Want overshoot M p < 25%.
• Steady-state error
1
R(s)
ess = lim s
s→0
1 + D(s)G(s)
"
#
1
1
= lim
=
s→0 s + D(s) 1
D(0)
(s+1)
Ts + 1
• D(s) = K
so D(0) = K .
αT s + 1
1
1
• So,
=
= 0.1 . . . K = 10. This gives ωmax = 3 rads/sec.
D(0)
K
• Overshoot spec. M p < 25% gives PM > 45◦.
Lecture notes prepared by Dr. Gregory L. Plett
9–5
ECE4510, FREQUENCY-RESPONSE DESIGN
• Evaluating Bode diagrams of |K G(s)| at crossover, we see we have a
phase margin of 18◦. Need about 27◦ more to meet spec.
• Note, addition of pole and zero from lead network will shift crossover
frequency somewhat. To be safe, design for added phase of 37◦
instead of 27◦.
1 − sin(37)
1
•α=
= 0.25.
T =√
= 0.667
1 + sin(37)
0.25(3)
2s/3 + 1
• D(s) = 10
.
2s/12 + 1
60
1.5
1
40
Imag Axis
Magnitude
50
30
20
10
0
−10
−20
0.5
0
−0.5
−1
−30
−40 −2
10
−1
10
0
10
1
10
2
10
−1.5
−2
−1.5
−1
ω (rad/sec)
0.5
1
6
−100
4
Imag Axis
−110
Phase
0
Real Axis
−90
−120
−130
−140
−150
−160
2
0
−2
−4
−170
−180
−2
10
−0.5
−1
10
0
10
1
10
ω (rad/sec)
2
10
−6
−7
−6
−5
−4
−3
−1
Real Axis
• Resulting PM = 44◦. Iterate if desired to meet specs.
Lecture notes prepared by Dr. Gregory L. Plett
−2
0
1
2
9–6
ECE4510, FREQUENCY-RESPONSE DESIGN
Step Response
Ramp Response
3
2.5
1
Amplitude
Amplitude
1.2
0.8
0.6
0.4
1.5
1
0.5
0.2
0
0
2
0.5
1
1.5
2
2.5
0
0
0.5
Time (sec.)
1
1.5
2
2.5
Time (sec.)
• Summary of design example.
1. Determine dc-gain so that steady-state errors meet spec.
2. Select α and T to achieve an acceptable PM at crossover.
Design Method #2 for Lead Controllers
• Design specifications
– Bandwidth requirements.
– PM requirements, rather than ess and PM requirements.
• Choose open-loop crossover frequency ωc to be half the desired
closed-loop bandwidth.
• Evaluate
K G = |G( jωc )|,
φG = 6 G( jωc ).
• Compute phase lead required
φmax = PM − φG − 180.
• Compute α
α=
Lecture notes prepared by Dr. Gregory L. Plett
1 − sin(φmax)
.
1 + sin(φmax)
3
9–7
ECE4510, FREQUENCY-RESPONSE DESIGN
• Compute T
1
T =√
.
αωc
• Compensation is
D(s) =
|D( jωc )| =
=
=
Ts + 1
K
αT s + 1
s
1
+1
α
K
α+1
s
√
α α1 + 1
K√
α α+1
K
√ .
α
• Open-loop gain at ωc is designed to be 1:
|D( jωc )||G( jωc )| = 1
K
√ |G( jωc )| = 1
α
√
α
K =
.
KG
• Our design is now complete.
EXAMPLE :
Desired gain crossover frequency of 10 radians per second.
1
Desired PM of 60◦. G(s) =
.
s(s + 1)
1
• KG =
= 0.01,
φG = −174.3◦.
j10( j10 + 1)
• φmax = 60◦ + 174.3◦ − 180◦ = 54.3◦.
1 − sin(φmax)
•α=
= 0.1037.
1 + sin(φmax)
Lecture notes prepared by Dr. Gregory L. Plett
ECE4510, FREQUENCY-RESPONSE DESIGN
1
•T =√
= 0.3105.
α10
√
α
• KD =
= 32.36.
KG
• Matlab code to automate this procedure:
% [K,T,alpha]=bod_lead(np,dp,wc,PM) computes the lead compensation of the plant np/dp to have
% phase margin PM at crossover frequency wc. e.g., [K,T,alpha]=bod_lead([1],[1 1 0],5,60);
function [K,T,alpha]=bod_lead(np,dp,wc,PM)
% first compute the plant response at wc.
[magc,phc]=bode(np,dp,wc);
% now, compute the needed phase lead at wc and convert to radians for use with "sine"
phir=(-180+PM-phc)*pi/180;
if abs(phir)>pi/2,
disp(’A simple phase lead/lag cannot change the phase by more than +/- 90 degrees.’);
error(’Aborting.’);
end;
% the required alpha is
alpha=(1-sin(phir))/(1+sin(phir));
% compute the needed gain change K and the time constant T.
T=1/(wc*sqrt(alpha)); K=sqrt(alpha)/magc;
% compute the new open-loop system by convolving the plant polynomials with the compensator.
nol=conv(np,K*[T 1]); dol=conv(dp,[alpha*T 1]);
% check the solution by plotting the Bode plot for the new open-loop polynomials. Include the frequency w=1
% to get the full resonance response to show the gain margin. Also, plot the uncompensated Bode response.
w=logspace(-2,1)*wc; w(34)=wc; clf;
[mag1,ph1]=bode(np,dp,w); [mag2,ph2]=bode(nol,dol,w);
subplot(211);
semilogx(w/wc,20*log10(mag1),’–’); hold on; semilogx(w/wc,20*log10(mag2)); grid; plot(w/wc,0*w+1,’g-’);
ylabel(’Magnitude (dB)’); title(’Phase-lead design (uncompensated=dashed; compensated=solid)’);
subplot(212);
semilogx(w/wc,ph1,’–’); hold on; semilogx(w/wc,ph2); grid; plot(w/wc,0*w-180+PM,’g-’);
ylabel(’Phase’); xlabel(’Frequency/wc (i.e., "1"=wc)’);
• Matlab results:
Lecture notes prepared by Dr. Gregory L. Plett
9–8
9–9
ECE4510, FREQUENCY-RESPONSE DESIGN
Magnitude (dB)
Phase−lead design (uncompensated=dashed; compensated=solid)
40
20
0
−20
−40
−60
0.01
0.1
1
10
Phase
−90
−120
−150
−180
0.01
0.1
1
Frequency/wc (i.e., "1"=wc)
10
PI Compensation
• In many problems it is important to keep bandwidth low, and also
reduce steady-state error.
• PI compensation used here.
1
D(s) = K 1 +
.
TI s
0.1ωTI
10K
K
−90◦
ωTI
10ωTI
Lecture notes prepared by Dr. Gregory L. Plett
ωTI
10ωTI
9–10
ECE4510, FREQUENCY-RESPONSE DESIGN
• Infinite gain at zero frequency
– Reduces steady-state error to step, ramp, etc.
– But also has integrator “anti-windup” problems.
• Adds phase below breakpoint.
– We want to kep breakpoint frequency very low to keep from
destabilizing system.
1
ωc .
TI
Lag Compensation
• Approximates PI, but without integrator overflow.
Ts + 1
α > 1.
D(s) = α
αT s + 1
• Primary objective of lag is to add 20 log10 α dB gain to low frequencies
without changing PM.
1
1
αT
T
α
1
−90◦
1
αT
1
T
• Steady-state response improves with little effect on transient
response.
Lecture notes prepared by Dr. Gregory L. Plett
9–11
ECE4510, FREQUENCY-RESPONSE DESIGN
Typical process
• Assumption is that we need to modify (increase) the dc-gain of the
loop transfer function.
– If we apply only a gain, then ωc typically increases and the phase
margin decreases. NOT GOOD.
– Instead, use lag compensation to lower high-frequency gain.
• Assume plant has gain K (adjustable), or that we insert a gain K into
the system. Adjust the open-loop gain K to meet phase margin
requirements (plus about 5◦ slop factor) at crossover without
additional compensation.
• Draw Bode diagram of system using the gain K from above. Evaluate
low-frequency gain.
• Determine α to meet low-frequency gain requirements.
1
• Choose one corner frequency ω = (the zero) to be about one
T
decade below crossover frequency. (This way, the phase added by
the lag compensator will minimally affect PM. The phase added at
crossover will be about 5◦, hence our previous slop factor).
1
• The other corner frequency is at ω =
.
αT
• Iterate design to meet spec.
EXAMPLE :
G(s) =
K
1
s + 1 (s + 1)
0.5
1
s
2
• Design compensator for PM ≥ 25◦, K p = 9.
Lecture notes prepared by Dr. Gregory L. Plett
+1
.
9–12
ECE4510, FREQUENCY-RESPONSE DESIGN
1. Set K = 4.5 for PM = 30◦. This gives crossover at ωc ≈ 1.2
rads/sec.
2. Low-frequency gain now = 4.5.
3. Should be raised by a factor of 2 to get K p = 9. So, α = 2.
1
4. Choose corner frequency at ω = 0.2 rads/sec. = 0.2, or T = 5.
T
1
1
5. We then know other corner frequency ω =
= .
10
αT
5s + 1
D(s) = 2
.
10s + 1
Step Response
From: U(1)
1.4
1
To: Y(1)
Amplitude
1.2
0.8
0.6
0.4
0.2
0
0
5
10
15
20
25
Time (sec.)
2
10
Imag Axis
Magnitude
20
0
−10
−20
1
0
−1
−30
−40 −2
10
−1
10
0
10
1
10
−2
−3.5
2
10
−3
−2.5
−2
ω (rad/sec)
−1.5
−1
−0.5
0
0.5
1
0
0.5
1
Real Axis
2
0
Imag Axis
−30
Phase
−60
−90
−120
−150
−180
−210
1
0
−1
−240
−270
−2
10
−1
10
0
10
1
10
ω (rad/sec)
Lecture notes prepared by Dr. Gregory L. Plett
2
10
−2
−3.5
−3
−2.5
−2
−1.5
−1
−0.5
Real Axis
9–13
ECE4510, FREQUENCY-RESPONSE DESIGN
• Many other aproaches exist.
• Typically require both lead and lag to meet specs.
• Many “recipes” . . . most require iteration.
Design Based on Sensitivity
• Develop conditions on Bode plot of loop transfer function
D(s)G(s)H (s) that will ensure good performance with respect to
sensitivity, steady-state errors and sensor noise.
• Steady-state performance = lower bound on very-low-frequency gain
of system.
• Sensor noise = upper bound on high-frequency gain.
• Unmodeled system resonance:
Magnitude
0
−20
−40
−60
−80
−100 −1
10
0
10
1
10
2
10
Frequency
• Magnitude may go over 1. Can cause instability. Must ensure that
high-frequency gain is low so magnitude does not go over 1.
Lecture notes prepared by Dr. Gregory L. Plett
9–14
Sensor noise and plant
sensitivity boundary
Steady-state
Error Boundary
Magnitude of D(s)G(s)
ECE4510, FREQUENCY-RESPONSE DESIGN
Sensitivity Functions
• Consider
w(t)
r (t)
D(s)
G(s)
y(t)
v(t)
Y (s) = W (s) + G(s)D(s)[R(s) − V (s) − Y (s)]
[1 + G(s)D(s)] Y (s) = W (s) + G(s)D(s)[R(s) − V (s)]
1
G(s)D(s)
or, Y (s) =
W (s) +
[R(s) − V (s)].
1 + G(s)D(s)
1 + G(s)D(s)
4
• Tracking error = R(s) − Y (s)
1
G(s)D(s)
E(s) = R(s) −
W (s) −
[R(s) − V (s)]
1 + G(s)D(s)
1 + G(s)D(s)
1
1
=
[R(s) − W (s)] −
G(s)D(s)V (s)
1 + G(s)D(s)
1 + G(s)D(s)
• Define the “sensitivity function” S(s) to be
1
4
S(s) =
1 + G(s)D(s)
which is the transfer function from r(t) to e(t) and from w(t) to −e(t).
Lecture notes prepared by Dr. Gregory L. Plett
ECE4510, FREQUENCY-RESPONSE DESIGN
9–15
• The “complementary sensitivity function” T (s) = 1 − S(s)
G(s)D(s)
1 − S(s) =
= T (s)
1 + G(s)D(s)
which is the transfer function from r(t) to y(t).
• If V = 0, then
Y (s) = S(s)W (s) + T (s)R(s)
and
E(s) = S(s)[R(s) − W (s)].
• The sensitivity function here is related to the one we saw several
weeks ago
∂T G
SGT =
·
∂G T
1 + D(s)G(s) − D(s)G(s) G(s)[1 + D(s)G(s)]
=
·
2
[1 + D(s)G(s)]
G(s)
1
=
= S(s)
1 + D(s)G(s)
So S(s) is equal to the sensitivity of the transfer function to plant
perturbations.
• Recall that T (s) + S(s) = 1
– Regardless of D(s)
– Regardless of G(s)
• We would like T (s) = 1. Then S(s) = 0; Disturbance is cancelled,
design is insensitive to plant perturbation, steady-state error ≈ 0.
• BUT, for physical plants, G(s) → 0 for high frequencies. Furthermore,
the transfer function between V (s) and E(s) is T (s). To reduce high
Lecture notes prepared by Dr. Gregory L. Plett
9–16
ECE4510, FREQUENCY-RESPONSE DESIGN
frequency noise effects, T (s) → 0 as frequency increases, and
S(s) ≈ 1.
Stability Spec.
|T ( jω)|
Performance Spec.
|S( jω)|
• Typical sensitivity and complementary sensitivity (closed-loop
transfer) functions are:
=(s)
1 + D( jω)G( jω)
<(s)
• Another view of sensitivity:
D( jω)G( jω)
• So, 1 + D( jω)G( jω) is the distance between the Nyquist curve to the
1
−1 point. S( jω) =
.
1 + D( jω)G( jω)
• A large value of |S( jω)| indicates a Nyquist plot that is nearly
unstable.
• The maximum value of |S| is a more accurate measure of stability
than PM or GM. So, we want max |S( jω)| small. How small?
Lecture notes prepared by Dr. Gregory L. Plett
9–17
ECE4510, FREQUENCY-RESPONSE DESIGN
• Note: E( jω) = S( jω)R( jω)
|E( jω)| = |S( jω)R( jω)| ≤ |S( jω)||R( jω)|
put a frequency-based error bound
|E( jω)| ≤ |S( jω)||R( jω)| ≤ eb
• Let W1(ω) = R( jω)/eb . Then,
|S( jω)| ≤
1
.
W1(ω)
EXAMPLE :
A unity-feedback system is to have an error less than 0.005
for all unity-amplitude sinusoids below 500 rads/sec. Draw |W1( jω)|
for this design.
• Spectrum of R( jω) is unity for 0 ≤ ω ≤ 500. Since eb = 0.005,
1
W1(ω) =
= 200 for this range.
0.005
Magnitude
200
150
100
50
0
0
500
1000
1500
2000
Frequency (rads/sec.)
• We can translate this requirement into a loop-gain requirement. When
1
errors are small, loop gain is high, so |S( jω)| ≈
and
|D( jω)G( jω)|
1
1
≤
|D( jω)G( jω)| W1(ω)
or, |D( jω)G( jω)| ≥ W1(ω)
Lecture notes prepared by Dr. Gregory L. Plett
9–18
ECE4510, FREQUENCY-RESPONSE DESIGN
Robustness
• Typically there is some uncertainty in the plant transfer function. We
want our design to be robustly stable, and to robustly give good
performance (often called H∞ design).
• Uncertainty often expressed as multiplicative
G( jω) = G n ( jω)[1 + W2( jω)1( jω)]
• W2(ω) is a function of frequency expressing uncertainty, or size of
possible error in transfer function as a function of frequency.
• W2(ω) is almost always small at low frequencies.
• W2(ω) increases at high frequencies as unmodeled structural
flexibility is common.
• “Typical W2”
700
Magnitude
600
500
400
300
200
100
0
0
500
1000
1500
2000
Frequency (rads/sec.)
• 1( jω) expresses uncertainty in phase. The only restriction is
|1( jω)| ≤ 1.
Design
• Assume design for nominal plant G n (s) is stable. Thus,
1 + D( jω)G n ( jω) 6= 0 ∀ ω.
Lecture notes prepared by Dr. Gregory L. Plett
9–19
ECE4510, FREQUENCY-RESPONSE DESIGN
• For robust stability,
1 + D( jω)G( jω) 6= 0 ∀ ω
1 + D( jω)G n ( jω)[1 + W2(ω)1( jω)] 6= 0
1 + D( jω)G n ( jω)
D( jω)G n ( jω)
W2(ω)1( jω) 6= 0
+
1| + D( jω)G
(
jω)
1
+
D(
jω)G
(
jω)
n
{z n
}
6 =0
by assumption
D( jω)G n ( jω)
,
1 + D( jω)G n ( jω)
[1 + T ( jω)W2(ω)1( jω)] 6= 0
so, |T ( jω)W2(ω)1( jω)| < 1
or, |T ( jω)|W2(ω) < 1.
recall, T ( jω) =
• For high freqencies D( jω)G n ( jω) is typically small, so
T ( jω) ≈ D( jω)G n ( jω). Thus
|D( jω)G n ( jω)|W2(ω) < 1
1
|D( jω)G n ( jω)| <
.
W2(ω)
EXAMPLE :
The uncertainty in a plant model is described by a function
W2(ω) which is zero until ω = 3000 rads/sec, and increases linearly
from there to a value of 100 at ω = 10, 000 rads/sec. It remains
constant at 100 for higher frequencies. Plot constraint on
D( jω)G n ( jω).
• Where W2(ω) = 0, there is no constraint on the magnitude of the loop
gain. Above ω = 3000, 1/W2(ω) is a hyperbola from ∞ to 0.01 at
10, 000.
Lecture notes prepared by Dr. Gregory L. Plett
9–20
ECE4510, FREQUENCY-RESPONSE DESIGN
8
Magnitude
7
6
5
4
3
2
1
0
0
2000
4000
6000
8000
10000
Frequency (rads/sec.)
• Combining W1(ω) and W2(ω) requirements,
100
Log Magnitude
80
60
40
20
0
−20
−40
−60
−80
0
2000
4000
6000
8000
10000
Frequency (rads/sec.)
• Limitation: Crossover needs to be with slope ≈ −1. So, cannot make
constraints too strict, or design will be unstable.
Lecture notes prepared by Dr. Gregory L. Plett
10–1
ECE4510: Feedback Control Systems.
STATE-SPACE MODELS
1. What are they?
2. Why use them?
3. How do we formulate them?
4. How are they related to the transfer functions we have used already?
What are They?
• Representation of the dynamics of an N th-order system as a
first-order differential equation in an N -vector called the STATE. ➠ N
first-order equations.
• Classic example: 2nd-order E.O.M.
k
f (t)
m
b
y(t)
..
.
m y (t) = f (t) − b y (t) − ky(t)
➠
.
f (t) − b y (t) − ky(t)
y (t) =
.
m
..
• Define a state vector"
xE(t) =
y(t)
.
y (t)
Lecture notes prepared by Dr. Gregory L. Plett
#
ECE4510, STATE-SPACE MODELS


.
" .
#
y
(t)
.
y (t)
.

then, xE(t) = ..
=
k
b .
1
y (t)
− y(t) − y (t) + f (t)
m
m
m
10–2
.
• We can write this in the form xE(t) = A xE(t) + B f (t), where A and B are
constant matrices. 



A=
,
B=
.
• Complete the picture by setting y(t) as a function of xE(t). The general
form is:
y(t) = C xE(t) + D f (t)
where C and D are constant
h imatrices.
C=
,
D=
h i
• Fundamental form for linear state-space model:
.
xE(t) = A xE(t) + Bu(t)
y(t) = C xE(t) + Du(t).
where u(t) is the input, xE(t) is the “state”, A, B, C, D are constant
matrices. We usually assume that xE(t) is a vector, so simplify notation
by simply using x(t).
Why Use Them?
• Transfer functions provide: u → G(s) → y. That is, only an
input-output mapping. State variables provide easy access to what is
going on inside the system (homogeneous dynamics).
• Convenient way to express E.O.M. The matrix format is great for
computers.
Lecture notes prepared by Dr. Gregory L. Plett
10–3
ECE4510, STATE-SPACE MODELS
• Allows new analysis and synthesis tools.
• GREAT for multi-input, multi-output systems. These are very hard to
work with transfer functions.
How do we Formulate Them?
• A variety of ways. e.g., from E.O.M.
• Also from transfer functions.
• Three cases:
1] Transfer function is only made up of poles.
G(s) =
...
..
1
Y (s)
=
s 3 + a1 s 2 + a2 s + a3
U (s)
.
➠ y (t) + a1 y (t) + a2 y (t) + a3 y(t) = u(t)
– Choose output and derivatives as the state.
iT
h ..
.
x(t) = y (t) y (t) y(t) . Then
  ..   
 ...  
y (t)
y (t)
1
−a1 −a2 −a3
..
.
.

  
 

x(t) =  y (t)  =  1
0
0   y (t)  +  0  u(t)
.
y (t)
0
1
0
y(t)
0
h
i
h i
y(t) = 0 0 1 x(t) + 0 u(t).
2] Transfer function has poles and zeros, but is strictly proper.
b1 s 2 + b2 s + b3
Y (s)
G(s) = 3
=
s + a1s 2 + a2s + a3 U (s)
Lecture notes prepared by Dr. Gregory L. Plett
10–4
ECE4510, STATE-SPACE MODELS
Break up transfer function into two parts.
V (s)
contains all of the
U (s)
Y (s)
. Then, Y (s) = [b1s 2 + b2s + b3]V (s). Or,
U
(s)
..
.
y(t) = b1v(t) + b2v(t) + b3v(t).
But, V (s)[s 3 + a1s 2 + a2s + a3] = U (s), or,
...
..
.
v(t) + a1v(t) + a2v(t) + a3v(t) = u(t). The representation for this is
h ..
iT
.
the same as in Case [1]. Let x(t) = v(t) v(t) v(t) . Then
 ...  
  ..   
v(t)
v(t)
1
−a1 −a2 −a3
.
 ..  
 .
  
x(t) =  v(t)  =  1
0
0   v(t)  +  0  u(t)
.
v(t)
0
1
0
v(t)
0
poles of
represents the dynamics of v(t). All that remains is to couple in the
zeros of the system.
Y (s) = [b1s 2 + b2s + b3]V (s)
h
i
h i
y(t) = b1 b2 b3 x(t) + 0 u(t)
3] Non-proper transfer function.
b0 s 3 + b1 s 2 + b2 s + b1
G(s) = 3
s + a1 s 2 + a2 s + a3
β1 s 2 + β2 s + β3
= 3
+ D,
s + a1 s 2 + a2 s + a3
where the βi terms are computed via long division. The remainder
D is the feedthrough term.
• Matlab command tf2ss(num,den) converts a transfer function
form to state-space form.
• We will see that we have a lot of freedom when making our
state-space models (i.e., in choosing the components of x(t)).
Lecture notes prepared by Dr. Gregory L. Plett
10–5
ECE4510, STATE-SPACE MODELS
Modal (Diagonal) Form
• There are various “canonical” forms for representing the dynamics of
any particular system.
• All related by linear algebra—change of basis.
• Diagonal form very useful. . .
N (s)
• Assume G(s) =
, D(s) has distinct roots pi (real).
D(s)
N (s)
G(s) =
(s − p1)(s − p2) · · · (s − pn )
r1
r2
rn
=
+
+ ···+
.
s − p1 s − p2
s − pn
Now, let
X 1(s)
r1
=
U (s)
s − p1
...
X n (s)
rn
=
U (s)
s − pn
Or,
.
➠
x 1(t) = p1 x 1(t) + r1u(t)
➠
x n (t) = pn x n (t) + rn u(t).
.
.
x(t) = Ax(t) + Bu(t)
y(t) = C x(t) + Du(t)

0
p1


p2
A=

...

C=
h
0
i
pn
1 1 ··· 1 ,



,



r1

 r2
B=
 ...

rn
h i
D= 0
• Easily extends to handle complex poles s = σ + jω.
Lecture notes prepared by Dr. Gregory L. Plett






10–6
ECE4510, STATE-SPACE MODELS
• Convenient for keeping track of system poles. . . they are right on the
diagonal!
• Good representation to use. . . numerical robustness.
State-Space to Transfer Function
• Start with the state equations
.
x(t) = Ax(t) + Bu(t)
y(t) = C x(t) + Du(t)
• Laplace transform
or
s X (s) − x(0) = AX (s) + BU (s)
Y (s) = C X (s) + DU (s)
(s I − A)X (s) = BU (s) + x(0)
X (s) = (s I − A)−1 BU (s) + (s I − A)−1 x(0)
and
Y (s) =
• So,
−1
−1
[C(s
I
−
A)
U
(s)
+
C(s
I
−
A)
B
+
D]
{z
}
{z x(0)}
|
|
response to initial conditions
transfer function of system
Y (s)
= C(s I − A)−1 B + D,
U (s)
but
(s I − A)−1 =
adjoint(s I − A)
.
det(s I − A)
adjoint(s I − A) = [γi, j ]T
where γi, j = (−1)i + j det(Mi, j )
Lecture notes prepared by Dr. Gregory L. Plett
ECE4510, STATE-SPACE MODELS
10–7
where Mi, j = matrix (s I − A) with ith row and jth col. removed.
• Slightly easier to compute (for SISO systems)
Y (s)
= C(s I − A)−1 B + D
U (s)
"
#
sI − A B
det
−C D
=
det[s I − A]
EXAMPLE :


 
−a1 −a2 −a3
1


 
A= 1
B=0
0
0 
0
1
0
0
i
h
C = b1 b2 b3


s + a1 a2 a3 1


 −1

s
0
0

det 
 0
−1 s 0 


−b1 −b2 −b3 0
G(s) =


s + a1 a2 a3


det  −1
s 0 
0
−1 s
b3 + b2 s + b1 s 2
=
det[s I − A]
b1 s 2 + b2 s + b3
= 3
s + a1 s 2 + a2 s + a3
• Example makes clear that the characteristic equation for the system
(Denominator of transfer function=0) is det[s I − A] = 0. (eigenvalues).
Lecture notes prepared by Dr. Gregory L. Plett
10–8
ECE4510, STATE-SPACE MODELS
• Poles of system are roots of det[s I − A] = 0.
Transformations
• State-space representations are not unique. Selection of state x are
quite arbitrary.
• Analyze the transformation of
.
x(t) = Ax(t) + Bu(t)
y(t) = C x(t) + Du(t)
Let x(t) = T z(t), where T is an invertible (similarity) transformation
matrix.
.
.
z (t) = T −1 x(t)
= T −1[Ax(t) + Bu(t)]
= T −1[AT z(t) + Bu(t)]
−1
= |T −1
{zAT} z(t) + |T {z B} u(t)
Ā
B̄
y(t) = |{z}
C T z(t) + |{z}
D u(t)
C̄
D̄
.
so z (t) = Āz(t) + B̄u(t)
y(t) = C̄ z(t) + D̄u(t).
• Argue that we should be able to use either model.
• Are they going to give the same transfer function?
H1 (s) = C(s I − A)−1 B + D
H2 (s) = C̄(s I − Ā)−1 B̄ + D̄
• Need H1 (s) = H2(s).
H1 (s) = C(s I − A)−1 B + D
Lecture notes prepared by Dr. Gregory L. Plett
10–9
ECE4510, STATE-SPACE MODELS
= C T T −1(s I − A)−1 T T −1 B + D
= (C T )[T −1(s I − A)T ]−1(T −1 B) + D
= C̄(s I − Ā)−1 B̄ + D̄ = H2 (s).
Transfer function not changed by similarity transform.
EXAMPLE :
b1 s 2 + b2 s + b3
H (s) = 3
s + a1 s 2 + a2 s + a3
• Only six parameters in transfer function. But, A has 3 × 3, B has
3 × 1, C has 1 × 3: a total of 15 parameters.
• Appears that we have 9 degrees of freedom in state-space model.
Contradiction?
h i
9 = size
.
Time (Dynamic) Response
• Develop more insight into the system response by looking at
time-domain solution for x(t).
• Scalar case first, then many states and MIMO.
Homogeneous Part (scalar)
.
• x(t) = ax(t),
x(0).
• Take Laplace. X (s) = (s − a)−1 x(0).
• Inverse Laplace. x(t) = eat x(0).
Homogeneous Part (full solution)
.
• x(t) = Ax(t),
x(0).
Lecture notes prepared by Dr. Gregory L. Plett
10–10
ECE4510, STATE-SPACE MODELS
• Take Laplace. X (s) = (s I − A)−1 x(0).
• x(t) = L−1[(s I − A)−1]x(0).
• But,
(s I − A)
−1
I
A2
A
= + 2 + 3 + ···
s s
s
so,
L
−1
A2 t 2 A3t 3
[(s I − A) ] = I + At +
+
+ ···
2!
3!
−1
4
= e At
matrix exponential
x(t) = e At x(0).
• e At : “Transition matrix” or “state-transition matrix.”
• Matrix exponential
• e(A+B)t = e At e Bt
expm.m
A B = B A.
iff
• Will say more about this form (e At ) when we discuss the structure of
A.
• Computation of e At = L−1[(s I − A)−1] straightforward for 2 × 2.
EXAMPLE :
"
.
x = Ax,
"
(s I − A)−1 =
"
=
Lecture notes prepared by Dr. Gregory L. Plett
A=
s −1
2 s+3
s+3 1
−2 s
0 1
−2 −3
#
#−1
#
1
(s + 2)(s + 1)
ECE4510, STATE-SPACE MODELS

e At

1
1
1
2
 s+1− s+2 s+1− s+2 
=  −2
2
2 
−1
+
+
s+1 s+2 s+1 s+2
#
"
−t
−2t
−t
−2t
2e − e
e −e
1(t)
=
−2e−t + 2e−2t −e−t + 2e−2t
• This is the best way to find e At if A 2 × 2.
Forced Solution (scalar)
.
x(t) = ax(t) + bu(t), x(0)
Z t
ea(t−τ )bu(τ ) dτ
x(t) = eat x(0) +
|0
{z
}
convolution
• Where did this come from?
.
1. x(t) − ax(t) = bu(t)
.
d
2. e−at [x(t) − ax(t)] = [e−at x(t)] = e−at bu(t).
dt
Z t
Z t
d −aτ
3.
e−aτ bu(τ ) dτ.
[e x(τ )] dτ = e−at x(t) − x(0) =
0 dt
0
Forced Solution (full solution)
.
• Now, let x(t) = Ax(t) + Bu(t),
• Follow three steps above to get
x ∈ <n×1 ,
Z
t
x(t) = e x(0) +
At
u ∈ <m×1.
e A(t−τ ) Bu(τ ) dτ
0
• Clearly, if y(t) = C x(t) + Du(t),
Z t
At
A(t−τ )
y(t) = Ce
x(0)
+
Ce
Bu(τ ) dτ +
Du(t)
| {z }
{z }
|
0
|
{z
}
initial resp.
feedthrough
convolution
Lecture notes prepared by Dr. Gregory L. Plett
10–11
10–12
ECE4510, STATE-SPACE MODELS
More on the Matrix Exponential
• Have seen the key role of e At in the solution for x(t). Impacts the
system response, but need more insight.
• Consider what happens if the matrix A is diagonalizable, that is, there
exists a matrix T such that T −1 AT = 3 =diagonal.
• Then, e At = T e3t T −1, and
e3t



=


e

λ1 t
0
eλ2 t
0
...
eλn t





• Much simpler form for the exponential, but how to find T, 3?
• Eigenvalues/eigenvectors.
Eigenvalues and Eigenvectors
• λ is an eigenvalue of A if det(λI − A) = 0 which is true iff there exists
a nonzero vector v so that
(λI − A)v = 0 ➠ Av = λv
v = eigenvector.
• Repeat to find all eigenvectors. Assume that v1, v2, . . . vn are linearly
independent.
Avi = λi vi
i = 1, 2, . . . , n


0
λ
1
h
i h
i


...
A v1 v 2 . . . v n = v 1 v 2 . . . v n 

|
{z
}
0
λn
T
|
{z
}
3
Lecture notes prepared by Dr. Gregory L. Plett
10–13
ECE4510, STATE-SPACE MODELS
• AT = T 3
➠
T −1 AT = 3.
• Not all matrices diagonalizable
"
#
0 1
A=
0 0
det(λI − A) = λ2
• One eigenvalue λ = 0. Solve for the eigenvectors
" #
"
#" #
va
0 1
va
=0
➠ all vectors of the form
6= 0.
0 0
vb
0
Dynamic Interpretation
−1
• Write T −1 AT = 3 as T 
A =3T −1 with
T −1
w1T
 T
 w2
=
 ...

wnT


,


i.e., rows of T −1.
wiT A = λi wiT , so wi is a left eigenvector of A and note that wiT v j = δi, j .
• How does this help?
e At = T e3t T −1

i
h

= v1 v2 . . . v n 


e
=
0
eλ2 t
0
n
X

λ1 t
...
eλn t
w1T
w2T







  ... 


wn T
eλi t vi wiT
i =1
• Very simple form.
• Can be used to develop intuition about dynamic response≈ eλi t .
Lecture notes prepared by Dr. Gregory L. Plett
10–14
ECE4510, STATE-SPACE MODELS
• Recall,
.
x(t) = Ax(t)
x(t) = e At x(0)
= T e3t T −1 x(0)
n
X
=
eλi t vi (wiT x(0)).
i =1
• Solution (trajectory) can be expressed as a linear combination of
system modes: vi eλi t .
• Left eigenvectors decompose initial state x(0) into modal coordinates
wiT x(0).
• eλi t propagates mode forward in time. Stability?
• vi corresponds to “relative phasing” of state contribution to the modal
response.
EXAMPLE :
Let’s consider a specific system
.
x(t) = Ax(t)
y(t) = C x(t)
with x(t) ∈ <16×1, y(t) ∈ <. (16-state, single output).
• A lightly damped system.
• Typical output to initial conditions:
Lecture notes prepared by Dr. Gregory L. Plett
10–15
ECE4510, STATE-SPACE MODELS
Impulse Response
2
1.5
Amplitude
1
0.5
0
−0.5
−1
−1.5
−2
0
50
100
150
200
250
300
Time (sec.)
• Output waveform is very complicated. Looks almost random or
unpredictable.
• However, such a solution can be decomposed into much simpler
modal components.
• How? Diagonalize A to form an equivalent system.
– Assume A is diagonalizable by T .
– Define new coordinates by x(t) = T x̃(t) so
.
x̃(t) = T −1 Ax(t) = T −1 AT x̃(t) = 3x̃(t).
– In new coordinate system, system is diagonal (decoupled).
Lecture notes prepared by Dr. Gregory L. Plett
10–16
ECE4510, STATE-SPACE MODELS
1
0
−1
0
50
100
150
200
250
0
50
100
150
200
250
0
50
100
150
200
250
0
50
100
150
200
250
0
50
100
150
200
250
0
50
100
150
200
250
0
50
100
150
200
250
0
50
100
150
200
250
0.5
0
−0.5
1
0
−1
0.5
0
−0.5
0.5
0
−0.5
1
0
−1
1
0
−1
0.5
0
−0.5
Lecture notes prepared by Dr. Gregory L. Plett
10–17
ECE4510, STATE-SPACE MODELS
1/s
x̃ 1
λ1
1/s
Trajectories consist of n independent modes; that is,
x̃i (t) = eλi t x̃i (0)
x̃ n
hence the name, “modal form.”
λn
• Can write
x(t) = e At x(0)
= T e3t T −1 x(0)
n
X
=
eλi t vi (wiT x(0)).
i =1
Thus, trajectory can be expressed as linear combination of modes.
Interpretation.
• Left eigenvectors decompose initial state x(0) into modal components
wiT x(0).
• eλi t term propagates ith mode forward t seconds.
• Reconstruct state as linear combination of right eigenvectors.
Zeros—SISO System
• Seen eigenvalues of A are the poles. Zeros of transfer function?
• What is a zero?
• Put in u(t) = u 0e zi t and you get a zero output at “frequency” e zi t .
Lecture notes prepared by Dr. Gregory L. Plett
10–18
ECE4510, STATE-SPACE MODELS
• State space: Have input and state contributions
u(t) = u 0e zi t ,
x(t) = x 0e zi t . . . y(t) = 0.
.
x(t) = Ax(t) + Bu(t) ➠ zi e zi t x(0) = Ax(0)e zi t + Bu 0e zi t


h
i x(0)


➠ zi I − A −B  . .  = 0
u0
y(t) = C x(t) + Du(t) ➠ C x(0)e zi t + Du 0e zi t=0


x(0)
h
i


➠ C D  ..  = 0
u0
• Put the two together
"
zi I − A −B
−C
−D
#"
x(0)
u0
#
=0
• Zero at frequency zi if there exists a nontrivial solution of
"
#
zi I − A −B
det
=0
−C
−D
• Recall
"
det
s I − A −B
−C −D
det(s I − A)
EXAMPLES :
#
.
We see that a specific frequency is blocked in the output by
a zero, BUT, the output does not need to be identically zero.
Lecture notes prepared by Dr. Gregory L. Plett
10–19
ECE4510, STATE-SPACE MODELS
y1out
y1out
1
0
du/dt
s+1
Constant
y2out
s
Transfer Fcn
(with initial states)
s+1
y2out
1
1
Intermediate output: –, Final output: – –
1
0.9
Amplitude
0.8
0.7
0.6
0.5
0.4
0.3
0.2
0.1
0
0
0.5
1
1.5
2
2.5
3
3.5
4
4.5
5
Time (sec.)
y1out
y1out
1
s+1
s+1
s+10
Transfer Fcn
(with initial states)
Transfer Fcn
0
Constant
y2out
y2out
Intermediate output: –, Final output: – –
1
0.9
Amplitude
0.8
0.7
0.6
0.5
0.4
0.3
0.2
0.1
0
0
0.5
1
1.5
2
2.5
3
Time (sec.)
Lecture notes prepared by Dr. Gregory L. Plett
3.5
4
4.5
5
10–20
ECE4510, STATE-SPACE MODELS
Feedback Control
• System dynamics
.
x(t) = Ax(t) + Bu(t)
y(t) = C x(t)
• System poles given by eigenvalues of A.
• Want to use input u(t) to change the dynamics.
• Will assume the form of LINEAR STATE FEEDBACK.
u(t) = r(t) − K x(t), K ∈ <1×n .
r (t)
u(t)
A, B, C
y(t)
x
K
• Full state feedback with gain vector K .
• Substitute:
.
x(t) = Ax(t) + B(r(t) − K x(t))
= ( A − B K )x(t) + Br(t)
y(t) = C x(t)
If r = 0 . . . regulation.
• Design objective: Pick K so that ACL = A − B K has some nice
properties. For example,
– A unstable, ACL stable.
– Put two poles at −2 ± j. (Pole placement).
• There are n parameters in the gain vector K and n eigenvalues of A.
So, what can we achieve?
Lecture notes prepared by Dr. Gregory L. Plett
10–21
ECE4510, STATE-SPACE MODELS
EXAMPLE :
"
.
x(t) =
1 1
1 2
#
"
x(t) +
1
0
#
u(t).
det(s I − A) = (s − 1)(s − 2) − 1 = s 2 − 3s + 1.
(Note. The original system is unstable).
• Let
h
i
u(t) = − k1 k2 x(t) = −K x(t)
"
# " #
i
1 1
1 h
ACL = A − B K =
−
k1 k2
1 2
0
"
#
1 − k1 1 − k2
=
.
1
2
• So, det(s I − A) = s 2 + (k1 − 3)s + (1 − 2k1 + k2).
• By choosing k1 and k2, we can put λi ( ACL ) ANYWHERE in the
complex plane (in complex-conjugate pairs, that is!)
• Poles at −5, −6?
• Compare desired closed-loop characteristic equation
(s + 5)(s + 6) = s 2 + 11s + 30
with
det(s I − A) = s 2 + (k1 − 3)s + (1 − 2k1 + k2)
• So,
k1 − 3 = 11,
1 − 2k1 + k2 = 30,
• K = [14 57].
Lecture notes prepared by Dr. Gregory L. Plett
or, k1 = 14
or, k2 = 57.
10–22
ECE4510, STATE-SPACE MODELS
• So, with the n parameters in K , can we always relocate all n λi ( ACL )?
– Most physical systems, qualified yes.
– Mathematically, EMPHATIC NO!
• Boils down to whether or not the system is controllable. That is, if
every internal system mode can be excited by inputs, either directly or
indirectly.
EXAMPLE :
"
.
x(t) =
ACL
1 1
0 2
#
"
x(t) +
1
0
#
u(t)
u(t) = −K x(t).
"
#
1 − k1 1 − k2
= A − BK =
0
2
det(s I − ACL ) = (s − 1 + k1)(s − 2).
Feedback of the state cannot move the pole at s = 2. System cannot be
stabilized via state feedback.
• Reason? Modal form:
"
AV = V 3
3=
1 0
0 2
.
#
"
,
V =
1 1
0 1
#
"
,
convert x(t) = Ax(t) + Bu(t) to
.
z (t) = 3z(t) + V −1 Bu(t)
"
#" # " #
1 −1
1
1
V −1 B =
=
0 1
0
0
Lecture notes prepared by Dr. Gregory L. Plett
V −1 =
1 −1
0 1
#
10–23
ECE4510, STATE-SPACE MODELS
Therefore, modal dynamics
"
.
z (t) =
1 0
0 2
#
"
z(t) +
1
0
#
u(t).
– Decoupled
– Control input does not influence second mode directly or indirectly.
– System is NOT controllable.
• “Easier” ways to test controllability. Is the (controllability) matrix
i
h
2
n−1
Mc = B AB A B . . . A B
n×n
full rank?
EXAMPLE :
"
Mc =
EXAMPLE :
"
Mc =
1 1
0 1
1 1
0 0
#
,
Rank =?
,
Rank =?
#
• Design tedious as shown for more than 2 × 2 since we need symbolic
det(s I − ACL ).
• Much easier to work with control canonical form of the state-space
representation.


 
−a1 −a2 −a3
1


 
A= 1
B=0
0
0 ,
0
1
0
0
h
i
C = b1 b2 b3
Lecture notes prepared by Dr. Gregory L. Plett
10–24
ECE4510, STATE-SPACE MODELS
• Note, K =
h
i
k1 k2 k3 , so


k1 k2 k3


BK =  0 0 0 .
0 0 0
• Useful because characteristic equation obvious.


−a1 − k1 −a2 − k2 −a3 − k3


ACL = A − B K = 
1
0
0

0
1
0
• φCL = det(s I − ACL ) = s 3 + (a1 + k1)s 2 + (a2 + k2)s + (a3 + k3) = 0.
• Compare φCL with desired φCL , and compute K .
Summary of Design Procedure
1. Transform arbitrary ( A, B) representation to control-canonical form
( Ac , Bc ): x(t) = T z(t).
2. Solve for gains K c (by inspection).
3. Convert K c to K (for A, B) with K = K c T −1.
• Ackermann’s formula does this entire process in one “step.”
K = [0 0 . . . 1]Mc−1φd ( A)
where
Mc = [B AB A2 B . . . An−1 B]
φd ( A) = An + α1 An−1 + · · · + αn I
where φd (s) = s n + α1s n−1 + . . . + αn = 0
That is, φd (s) is the characteristic equation of desired pole locations.
Lecture notes prepared by Dr. Gregory L. Plett
ECE4510, STATE-SPACE MODELS
10–25
• Revisit previous example. φd (s) = s 2 + 11s + 30.
"
#
1 1
Mc =
0 1
"
# ("
#"
#
"
#
"
#)
h
i 1 −1
1 1
1 1
1 1
1 0
K = 0 1
+ 11
+ 30
0 1
1 2
1 2
1 2
0 1
("
# "
#)
h
i
1 3
41 11
= 0 1
+
3 5
11 52
"
#
h
i 42 14
= 0 1
14 57
h
i
= 14 57 .
✓ same as before.
• acker.m ➠ Very easy in Matlab, but numerical issues.
• place.m
➠ Use this instead, unless you have repeated roots.
• polyvalm.m ➠ To compute φd ( A).
Reference Input
• So far, we have looked at how to pick K to get homogeneous
dynamics that we want.
λi ( ACL) − fast/slow/real poles ...
How does this improve our ability to track a reference?
• Started with u(t) = r(t) − K x(t).
• Want y(t) ≈ r(t) for good tracking.
Y (s)
• Frequency domain, want
≈ 1. Usually only get this performance
R(s)
at low frequencies.
Lecture notes prepared by Dr. Gregory L. Plett
10–26
ECE4510, STATE-SPACE MODELS
• Problem is that u(t) = r(t) − K x(t) is simple, but it gives steady-state
errors.
EXAMPLE :
"
A=
• Let C =
h
1 1
1 2
#
"
,
B=
1
0
#
,
K =
h
i
14 57
i
Y (s)
= C(s I − A + B K )−1 B.
1 0 . Then
R(s)
"
#−1 " #
h
i
Y (s)
1
s + 13 56
= 1 0
R(s)
0
−1 s − 2
=
s−2
.
s 2 + 11s + 30
−2
6= 1 !
30
• Final value theorem for step input, y(t) →
Partial state−space model:
A=[1 1; 1 2], B=[1; 0],
C=[1 0; 0 1], D=[0; 0].
x(t)
x’ = Ax+Bu
y = Cx+Du
Step
Sum
C=[1 0]
State−Space
Kx(t)
y(t)
K
yout
K
K=[14 57]
Step Response
0.06
Amplitude
0.04
0.02
0
−0.02
−0.04
−0.06
−0.08
0
1
2
3
4
5
6
Time (sec.)
Lecture notes prepared by Dr. Gregory L. Plett
7
8
9
yout
10
10–27
ECE4510, STATE-SPACE MODELS
• Modification: Need steady-state values for x(t) and u(t) that are
nonzero. . . Then, regulate around them.
(u(t) − u ss ) = −K (x(t) − x ss )
• u ss and x ss related to rss .
u ss = |{z}
Nu rss
1×1
x ss = |{z}
N x rss .
n×1
• How to find N u and N x ? Use equations of motion.
.
x(t) = Ax(t) + Bu(t)
y(t) = C x(t) + Du(t)
• At steady state,
.
x(t) = 0 = Ax ss + Bu ss
y(t) = rss = C xss + Du ss .
• Two equations and two unknowns.
"
#"
# " #
A B
Nx
0
=
C D
1
Nu
• Control signal is now
u(t) = Nu r(t) − K (x(t) − N x r(t))
= −K x(t) + (Nu + K N x )r(t)
= −K x(t) + N̄ r(t)
• N̄ computed without knowing r(t). It works for any r(t).
Lecture notes prepared by Dr. Gregory L. Plett
10–28
ECE4510, STATE-SPACE MODELS
• In our example
"
Nx
Nu
#

1
 1

=  −2
 1
−
2





• Nu + K N x = −15.
• New equations:
.
x(t) = Ax(t) + B(Nu + K N x )r(t) − B K x(t)
= ( A − B K )x(t) + B N̄r(t)
y(t) = C x(t)
• Therefore,
Y (s)
Y (s)
=
× N̄
R(s) new
R(s) old
−15(s − 2)
= 2
s + 11s + 30
−15s + 30
= 2
s + 11s + 30
which has zero steady-state error to a unit-step.
Lecture notes prepared by Dr. Gregory L. Plett
10–29
ECE4510, STATE-SPACE MODELS
r (t)
u(t)
Nu
A, B, C
y(t)
x
K
Nx
r (t)
u(t)
N̄
A, B, C
y(t)
x
K
Partial state−space model:
A=[1 1; 1 2], B=[1; 0],
C=[1 0; 0 1], D=[0; 0].
−15
Step
x(t)
x’ = Ax+Bu
y = Cx+Du
Gain
Sum
yout
C=[1 0]
State−Space
Kx(t)
y(t)
K
yout
K
K=[14 57]
Step Response
1
0.8
Amplitude
0.6
0.4
0.2
0
−0.2
−0.4
−0.6
−0.8
0
1
2
3
4
5
6
Time (sec.)
Lecture notes prepared by Dr. Gregory L. Plett
7
8
9
10
10–30
ECE4510, STATE-SPACE MODELS
Pole Placement
• Classical question: Where do we place the closed-loop poles?
• Dominant second-order behavior, just as before.
• Assume dominant behavior given by roots of
o
n
p
2
2
s + 2ζ ωn s + ωn ➠ s = − ωn ± jωn 1 − ζ 2
• Put other poles so that the time response is much faster than this
dominant behavior.
• Place them so that they are “sufficiently damped.”
– Real part < −4ζ ωn .
– Keep frequency same as open loop.
• Be very careful about moving poles too far. Takes a lot of control
effort.
• Can also choose closed-loop poles to mimic a system that has
performance that you like. Set closed-loop poles equal to this
prototype system.
• Scaled to give settling time of 1 sec. or bandwidth of ω = 1 rad/sec.
Bessel Prototype Systems
Step Response: Constant ts
1
1
0.8
0.8
Amplitude
Amplitude
Step Response: Constant Bandwidth
0.6
0.4
0.4
0.2
0.2
0
0
0.6
2
4
6
8
10
12
Time (sec.)
Lecture notes prepared by Dr. Gregory L. Plett
14
16
0
0
0.5
1
1.5
2
Time (sec.)
2.5
3
10–31
ECE4510, STATE-SPACE MODELS
ITAE Prototype Systems
Step Response: Constant ts
1
1
0.8
0.8
Amplitude
Amplitude
Step Response: Constant Bandwidth
0.6
0.4
0.2
0
0
0.6
0.4
0.2
2
4
6
8
10
12
14
16
0
0
0.5
1
Time (sec.)
1.5
2
Time (sec.)
ITAE pole locations for ts = 1 sec.
1:
−4.6200
2:
−4.6598 ± 4.6598 j
3:
−4.3503 ± 8.9178 j
−5.9126
4:
−4.2358 ± 12.6174 j
−6.2537 ± 4.139 j
5:
−3.9484 ± 13.5531 j
−6.0401 ± 5.6006 j
−9.3938
6:
−2.9905 ± 12.1918 j
−5.6018 ± 7.5540 j
−7.0889 ± 2.7724 j
Bessel pole locations for ts = 1 sec.
1:
−4.6200
2:
−4.0530 ± 2.3400 j
3:
−3.9668 ± 3.7845 j
−5.0093
4:
−4.0156 ± 5.0723 j
−5.5281 ± 1.6553 j
5:
−4.1104 ± 6.3142 j
−5.9268 ± 3.0813 j
−6.4480
6:
−4.2169 ± 7.5300 j
−6.2613 ± 4.4018 j
−7.1205 ± 1.4540 j
Lecture notes prepared by Dr. Gregory L. Plett
2.5
3
10–32
ECE4510, STATE-SPACE MODELS
ITAE pole locations for ωo = 1 rad/sec.
1:
−1.0000
2:
−0.7071 ± 0.7071 j
3:
−0.5210 ± 1.0680 j
−0.7081
4:
−0.4240 ± 1.2630 j
−0.6260 ± 0.4141 j
5:
−0.3764 ± 1.2920 j
−0.5758 ± 0.5339 j
−0.8955
6:
−0.3099 ± 0.9617 j
−0.5805 ± 0.7828 j
−0.7346 ± 0.2873 j
Bessel pole locations for ωo = 1 rad/sec.
PROCEDURE :
1:
−1.0000
2:
−0.8660 ± 0.5000 j
3:
−0.7455 ± 0.7112 j
−0.9420
4:
−0.6573 ± 0.8302 j
−0.9047 ± 0.2711 j
5:
−0.5906 ± 0.9072 j
−0.8516 ± 0.4427 j
−0.9264
6:
−0.5385 ± 0.9617 j
−0.7998 ± 0.5622 j
−0.9093 ± 0.1856 j
For nth-order system—desired bandwidth.
1. Determine desired bandwidth ωo .
2. Find the nth-order poles from the table of constant bandwidth, and
multiply pole locations by ωo .
3. Use Acker/place to locate poles. Simulate and check control effort.
PROCEDURE :
For nth-order system—desired settling time.
1. Determine desired settling time ts .
2. Find the nth-order poles from the table of constant settling time, and
divide pole locations by ts .
3. Use Acker/place to locate poles. Simulate and check control effort.
Lecture notes prepared by Dr. Gregory L. Plett
10–33
ECE4510, STATE-SPACE MODELS
EXAMPLE :
1
s(s + 1)(s + 4)


−5 −4 0


A =  1 0 0 ,
0 1 0
G(s) =


1
 
B=0
0
want ts = 2, and 3rd-order Bessel.
−5.0093
• s1 =
= −2.5047.
2
−3.9668 ± 3.7845 j
• s2,3 =
= −1.9834 ± 1.8922 j
2
• Bessel model has no overshoot, but is slow compared with ITAE.
• NOT a good idea for flexible systems. Why?
0
ITAE: –, Bessel, ’– –’
Magnitude
−20
−40
−60
−80
−100
−120
−140
−1
10
0
10
ω, (rads/sec.)
Lecture notes prepared by Dr. Gregory L. Plett
1
10
ECE4510: Feedback Control Systems.
11–1
REVIEW OF FEEDBACK CONTROL
Goals of Feedback Control
• Change dynamic response of a system to have desired properties.
• Output of system tracks reference input.
• Reject disturbances.
Dynamic Response
• We wish to control linear-time invariant (LTI) systems.
• These dynamics may be specified via linear, constant-coefficient
ordinary differential equations (LCCODE).
• Examples include:
– Mechanical systems: Use Newton’s laws.
– Electrical systems: Use Kirchoff’s laws.
– Electro-mechanical systems (generator/motor).
– Thermodynamic systems.
– Fluid-dynamic systems.
EXAMPLE:
Second-order system:
..
.
y (t) + 2ζ ωn y (t) + ωn2 y(t) = ωn2 u(t).
• “u(t)” is the input.
• “y(t)” is the output.
Lecture notes prepared by Dr. Gregory L. Plett
11–2
ECE4510, REVIEW OF FEEDBACK CONTROL
.
dy(t)
.
dt
2
..
4 d y(t)
• y (t) =
.
dt 2
• The Laplace Transform is a tool to help analyze dynamic systems.
Y (s) = H (s)U (s), where
4
• y (t) =
– Y (s) is Laplace transform of output, y(t);
– U (s) is Laplace transform of input, u(t);
– H (s) is transfer function—the Laplace tx of impulse response, h(t).
n. o
• L y (t) = sY (s) for no initial conditions.
EXAMPLE:
Second-order system:
s 2Y (s) + 2ζ ωn sY (s) + ωn2 Y (s) = ωn2U (s)
ωn2
Y (s) = 2
U (s).
s + 2ζ ωn s + ωn2
• Transforms for systems with LCCODE representations can be written
as Y (s) = H (s)U (s), where
b0s m + b1s m−1 + · · · + bm−1s + bm
H (s) =
,
a0s n + a1s n−1 + · · · + an−1s + an
where n ≥ m for physical systems.
• These can be represented in Matlab using vectors of numerator and
denominator polynomials:
num=[b0 b1 . . . bm];
den=[a0 a1 . . . an];
sys=tf(num,den);
Lecture notes prepared by Dr. Gregory L. Plett
11–3
ECE4510, REVIEW OF FEEDBACK CONTROL
• Can also represent these systems by factoring the polynomials into
zero-pole-gain form:
Qm
(s − zi )
H (s) = K Qni =1
.
(s
−
p
)
i
i =1
sys=zpk(z,p,k);
% in Matlab
• Input signals of interest include the following:
=
=
=
=
k δ(t)
k 1(t)
kt 1(t)
kt 2/2 1(t)
...
...
...
...
U (s)
U (s)
U (s)
U (s)
k
impulse
k/s
step
k/s 2
ramp
k/s 3
parabola
kω
u(t) = k sin(ωt) 1(t) . . . U (s) = 2
sinusoid
s + ω2
• Matlab’s “impulse,” “step,” and “lsim” commands can be used to
find output time histories.
u(t)
u(t)
u(t)
u(t)
=
=
=
=
• The Final Value Theorem states that if a system is stable and has a
final, constant value,
lim x(t) = lim s X (s).
t→∞
s→0
This is useful when investigating steady-state errors in a control
system.
Block Diagrams
• Useful when analyzing systems comprised of a number of sub-units.
U (s)
H (s)
Lecture notes prepared by Dr. Gregory L. Plett
Y (s)
Y (s) = H (s)U (s)
11–4
ECE4510, REVIEW OF FEEDBACK CONTROL
U (s)
H1 (s)
H2 (s)
Y (s)
Y (s) = [H1(s)H2(s)] U (s)
Y (s)
Y (s) = [H1(s) + H2 (s)] U (s)
H1 (s)
U (s)
H2 (s)
R(s)
U1 (s)
H1 (s)
Y (s)
Y (s) =
Y2 (s)
H2 (s)
H1 (s)
R(s)
1 + H2(s)H1(s)
U2 (s)
• Block-diagram algebra (or Mason’s rule) may be used to reduce block
diagrams to a single transfer function.
U (s)
H (s)
Y1 (s)
⇐⇒
U (s)
H (s)
Y1 (s)
1
H (s)
Y2 (s)
U1 (s)
H (s)
Y (s)
⇐⇒
U2 (s)
R(s)
H1 (s)
Y (s)
R(s)
⇐⇒
H2 (s)
Lecture notes prepared by Dr. Gregory L. Plett
U1 (s)
H (s)
U2 (s)
H (s)
1
H2 (s)
“Unity Feedback”
Y2 (s)
Y (s)
H2 (s)
H1 (s)
Y (s)
11–5
ECE4510, REVIEW OF FEEDBACK CONTROL
Dynamic Response versus Pole Locations
• The poles of H (s) determine (qualitatively) the dynamic response of
the system. The zeros of H (s) quantify the relationship.
• If the system has only real poles, each one is of the form:
1
H (s) =
.
s+σ
• If σ > 0, the system is stable, and h(t) = e−σ t 1(t). The time constant
is τ = 1/σ, and the response of the system to an impulse or step
decays to steady-state in about 4 or 5 time constants.
step([0 1],[1 1]);
1
0.8
0.8
0.6
e
−σ t
0.4
←−
y(t) × K
h(t)
impulse([0 1],[1 1]);
1
1
e
0.2
0
0
K (1 − e−t/τ )
System response. K = DC gain
0.6
0.4
Response to initial condition
−→ 0.
0.2
1
t =τ
2
3
Time (sec × τ )
4
5
0
0
1
t =τ
2
3
4
Time (sec × τ )
• If a system has complex-conjugate poles, each may be written as:
ωn2
H (s) = 2
.
s + 2ζ ωn s + ωn2
We can extract two more parameters from this equation:
p
σ = ζ ωn and ωd = ωn 1 − ζ 2.
Lecture notes prepared by Dr. Gregory L. Plett
5
11–6
ECE4510, REVIEW OF FEEDBACK CONTROL
• σ plays the same role as above—it specifies
decay rate of the response.
−1
θ = sin (ζ )
• ωd is the oscillation frequency of the output.
Note: ωd 6= ωn unless ζ = 0.
=(s)
ωn
σ
• ζ is the “damping ratio” and it also plays a
role in decay rate and overshoot.
ωd
<(s)
• Impulse response h(t) = ωn e−σ t sin(ωd t) 1(t).
σ
• Step response y(t) = 1 − e−σ t cos(ωd t) +
sin(ωd t) .
ωd
Impulse Responses of 2nd-Order Systems
1
Step Responses of 2nd-Order Systems
2
ζ =0
ζ =0
0.2
0.5
0.2
1.5
0.4
0.4
y(t)
y(t)
0.6
0
ζ =1
0.8
−0.5
0.6
1
0.8
0.5
1.0
−1
0
2
4
6
ωn t
8
10
12
0
0
2
4
6
ωn t
8
10
12
• A summary chart of impulse responses and step responses versus
pole locations is:
=(s)
=(s)
<(s)
Impulse responses vs. pole locations
Lecture notes prepared by Dr. Gregory L. Plett
<(s)
Step responses vs. pole locations
11–7
ECE4510, REVIEW OF FEEDBACK CONTROL
• Time-domain specifications determine where poles SHOULD be
placed in the s-plane. (step-response).
Mp
tp
1
0.9
0.1
tr
t
ts
100
90
• Rise time tr = time to go from 10%
to 90% of final value.
80
M p, %
70
• Settling time ts = time until permanently within ≈ 1% of final value.
Lecture notes prepared by Dr. Gregory L. Plett
50
40
30
20
• Overshoot M p = maximum PERCENT overshoot.
tr ≈ 1.8/ωn
ts ≈ 4.6/σ
√
−π ζ / 1−ζ 2
Mp ≈ e
60
10
0
0
...
...
...
0.2
0.4
ζ
0.6
ωn ≥ 1.8/tr
σ ≥ 4.6/ts
ζ ≥ f n(M p )
0.8
1.0
11–8
ECE4510, REVIEW OF FEEDBACK CONTROL
Basic Feedback Properties
r (t)
D(s)
G(s)
y(t)
Y (s)
D(s)G(s)
=
= T (s).
R(s) 1 + D(s)G(s)
• Stability depends on roots of denominator of T (s): 1 + D(s)G(s) = 0.
• Routh test used to determine stability.
• Steady-state error found from (for unity feedback)
E(s)
1
=
.
R(s) 1 + D(s)G(s)
• ess = lim e(t) = lim s E(s) if the limit exists.
t→∞
s→0
– System type = 0 iff ess is finite for unit-step reference-input 1(t).
– System type = 1 iff ess is finite for unit-ramp reference-input r(t).
– System type = 2 iff ess is finite for unit-parabola ref.-input p(t). . .
• For unity-feedback systems,
K p = lim D(s)G(s).
“postion error constant”
K v = lim s D(s)G(s).
“velocity error constant”
K a = lim s 2 D(s)G(s).
“acceleration error constant”
s→0
s→0
s→0
• Steady-state errors versus system type for unity feedback:
Step input Ramp input Parabola input
1
Type 0
∞
∞
1 + Kp
1
Type 1
0
∞
Kv
1
Type 2
0
0
Ka
Lecture notes prepared by Dr. Gregory L. Plett
11–9
ECE4510, REVIEW OF FEEDBACK CONTROL
Types of Controllers
“Proportional” ctrlr: u(t) = K e(t).
Z
K t
“Integral” ctrlr
u(t) =
e(t) dt.
TI −∞
.
“Derivative” ctrlr.
u(t) = K TD e(t)
1
Combinations:
PI: D(s) = K (1 +
);
TI s
PD: D(s) = K (1
+ TD s) ;
1
PID: D(s) = K 1 +
+ TD s .
TI s
Ts + 1
Lead:
D(s) = K
,
αT s + 1
Ts + 1
Lag:
D(s) = K
,
αT s + 1
Lead/Lag:
...
D(s) = K
D(s) = K .
K
D(s) =
TI s
D(s) = K TD s
α < 1 (approx PD)
α > 1 (approx PI;
often, K = α)
(T1s + 1)(T2s + 1)
, α1 < 1, α2 > 1.
(α1 T1 s + 1)(α2 T2 s + 1)
Root Locus
• A root locus plot shows (parametrically) the possible locations of the
roots of the equation
b(s)
1+ K
= 0.
a(s)
• For a unity-gain feedback system,
D(s)G(s)
T (s) =
.
1 + D(s)G(s)
• The poles of the closed-loop system T (s) depend on the open-loop
transfer functions D(s)G(s). Suppose D(s) = K D0(s).
closed-loop poles at 1 + K (D0(s)G(s)) = 0
Lecture notes prepared by Dr. Gregory L. Plett
11–10
ECE4510, REVIEW OF FEEDBACK CONTROL
which is the root-locus form.
• Drawing the root locus allows us to select K for good pole locations.
Intuition into the root-locus helps us design D0(s) with lead/ lag/ PI/
PID. . . controllers.
Root-Locus Drawing Rules
• The steps in drawing a 180◦ root locus follow from the basic phase
definition. This is the locus of
b(s)
b(s)
1+K
= 0,
K ≥0
phase of
= −180◦
a(s)
a(s)
• They are
– STEP 1: On the s-plane, mark poles (roots of a(s)) by an × and zeros (roots of a(s)) with an ◦.
There will be a branch of the locus departing from every pole and a branch arriving at every zero.
– STEP 2: Draw the locus on the real axis to the left of an odd number of real poles plus zeros.
– STEP 3: Draw the asymptotes, centered at α and leaving at angles φ, where
n − m = number of asymptotes.
n = order of a(s)
m = order of b(s)
P
P
pi − z i
−a1 + b1
α =
=
n−m
n−m
φl =
180◦ + (l − 1)360◦
,
n−m
l = 1, 2, . . . n − m
For n − m > 0, there will be a branch of the locus approaching each asymptote and departing to
infinity. For n − m < 0, there will be a branch of the locus arriving from infinity along each
asymptote.
– STEP 4: Compare locus departure angles from the poles and arrival angles at the zeros where
qφdep =
qψarr =
X
X
ψi −
φi −
X
X
φi − 180◦ − l360◦
ψi + 180◦ + l360◦
where q is the order of the pole or zero and l takes on q integer values so that the angles are
between ±180◦ . ψi is the angle of the line going from the i th zero to the pole or zero whose
angle of departure or arrival is being computed. Similarly, φi is the angle of the line from the i th
pole.
Lecture notes prepared by Dr. Gregory L. Plett
11–11
ECE4510, REVIEW OF FEEDBACK CONTROL
– STEP 5: If further refinement is required at the stability boundary, assume s0 =
j ω0 and
compute the point(s) where the locus crosses the imaginary axis for positive K .
– STEP 6: For the case of multiple roots, two loci come together at 180◦ and break away at ±90◦.
Three loci segments approach each other at angles of 120◦ and depart at angles rotated by 60◦ .
– STEP 7 Complete the locus, using the facts developed in the previous steps and making
reference to the illustrative loci for guidance. The loci branches start at poles and end at zeros or
infinity.
– STEP 8 Select the desired point on the locus that meets the specifications (s0), then use the
magnitude condition to find that the value of K associated with that point is
1
K =
.
|b (s0 ) /a (s0 )|
• When K is negative, the definition of the root locus in terms of the
phase relationship is
0◦ locus definition: The root locus of b(s)/a(s) is the set of points
in the s-plane where the phase of b(s)/a(s) is 0◦.
• For this case, the steps above are modified as follows:
– STEP 2: Draw the locus on the real axis to the left of an even number of real poles plus zeros.
– STEP 3: The asymptotes depart at
φl =
(l − 1)360◦
,
n−m
l = 1, 2, . . . n − m.
– STEP 4: The locus departure and arrival angles are modified to
qφdep =
qψarr =
X
X
ψi −
φi −
X
X
φi − l360◦
ψi + l360◦ .
Note that the 180◦ term has been removed.
Frequency Response
• The frequency response of a system directly tells us the relative
magnitude and phase of a system’s output sinusoid if the system
input is a sinusoid. [What about output frequency?]
• If the plant’s transfer function is G (s), the open-loop frequency
response is G ( jω).
Lecture notes prepared by Dr. Gregory L. Plett
11–12
ECE4510, REVIEW OF FEEDBACK CONTROL
• We can plot G( jω) as a function of ω in three ways:
– Bode Plot.
– Nyquist Plot.
– Nichols Plot (we did not cover this).
Bode Plots
• A ‘Bode plot’ is really two plots: 20 log10 |G ( jω)| versus ω and 6 G( jω)
versus ω. The Bode-magnitude plot is plotted on a log-log scale. The
Bode-phase plot is plotted linear-log scale.
• The transfer function G(s) is broken up into its component parts, and
each part is plotted separately.
Gain of K ; magnitude & phase
dB
0.1
1
1
10
0.1
1
10
|K | > 1
0.1
1
10
|K | < 1
Delay; magnitude & phase
0.1
dB
0.1
1
10
Zero at origin; magnitude & phase
90◦
dB
0.1
1
Lecture notes prepared by Dr. Gregory L. Plett
10
10
11–13
ECE4510, REVIEW OF FEEDBACK CONTROL
Pole at origin; magnitude & phase
dB
0.1
0.1
10
1
10
1
−90◦
Zero on real axis; magnitude & mp-phase & nmp-phase
dB
180◦
90◦
90◦
0.1ωi
1ωi
0.1ωi
10ωi
1ωi
10ωi
1ωi
10ωi
0.1ωi
1ωi
10ωi
0.1ωi
1ωi
10ωi
Pole on real axis; magnitude & mp-phase & nmp-phase
0.1ωi
dB
1ωi
10ωi
0.1ωi
−90◦
−90◦
−180◦
Complex zeros; magnitude & mp-phase & nmp-phase
180◦
40
360◦
270◦
20
90◦
180◦
0
90◦
−20
0◦
0.1ωn
ωn
10ωn
0.1ωn
Complex poles; magnitude & mp-phase & nmp-phase
ωn
0◦
20
10ωn
0◦
−90◦
−90◦
−180◦
−20
−270◦
0.1ωn
ωn
10ωn
−180◦
Lecture notes prepared by Dr. Gregory L. Plett
ωn
10ωn
0.1ωn
ωn
10ωn
0◦
0
−40
0.1ωn
0.1ωn
ωn
◦
10ωn −360
11–14
ECE4510, REVIEW OF FEEDBACK CONTROL
Bode Plot Techniques
• It is useful to be able to plot the frequency response of a system by
hand in order to
– Design simple systems without the aid of a computer,
– Check computer-based results, and
– Understand the effect of compensation changes in design
iterations.
• H.W. Bode developed plotting techniques in the 1930s that enabled
quick hand potting of the frequency response. His rules are:
– STEP 1: Manipulate the transfer function into the Bode form
K G( j ω) = K o ( j ω)n
( j ωτ1 + 1)( j ωτ2 + 1...)
( j ωτa + 1)( j ωτb + 1...)
– STEP 2: Determine the value of n for the K o ( j ω)n term. Plot the low-frequency magnitude
asymptote through the point K o at ω = 1 rad/sec with the slope of n (or n × 20 dB per decade).
– STEP 3: Determine the break points where ω=1/τi . Complete the composite magnitude
asymptotes by extending the low frequency asymptote until the first frequency break point, then
stepping the slope by ±1 or±2, depending on whether the break point is from a first or second
order term in the numerator or denominator, and continuing through all break points in
ascending order.
– STEP 4: Sketch in the approximate magnitude curve by increasing from the asymptote by a
factor of 1.4 (+3dB) at first order numerator breaks and decreasing it by a factor of 0.707 (-3dB)
at first order denominator breaks. At second order break points, sketch in the resonant peak (or
valley) using the relation that |G( j ω)| = 1/(2ζ ) at the break.
– STEP 5: Plot the low frequency asymptote of the phase curve, φ = n × 90◦ .
– STEP 6: As a guide, sketch in the approximate phase curve by changing the phase gradually
over two decades by ±90◦ or ±180◦ at each break point in ascending order. For first order terms
in the numerator, the gradual change of phase is +90◦ ; in the denominator, the change is ±180◦ .
– STEP 7: Locate the asymptotes for each individual phase curve so that their phase change
corresponds to the steps in the phase from the approximate curve indicated by Step 6. Sketch in
each individual phase.
– STEP 8 Graphically add each phase curve. Use dividers if an accuracy of about ±5◦ is desired.
If lessor accuracy is acceptable, the composite curve can be done by eye, keeping in mind that
the curve will start at the lowest frequency asymptote and end on the highest frequency
asymptote, and will approach the intermediate asymptotes to an extent that is determined by the
proximity of the break points to each other.
Lecture notes prepared by Dr. Gregory L. Plett
11–15
ECE4510, REVIEW OF FEEDBACK CONTROL
Nyquist Plots
• Nyquist plot is a mapping of loop transfer function D(s)G(s) along the
Nyquist path to a polar plot.
• Think of Nyquist path as four parts:
=(s)
I: Origin. Sometimes a special case.
II: + jω axis. FREQUENCY
response of O.L. system! Just
plot it as a polar plot.
III
II
<(s)
I
III: For many physical systems, zero.
Some counter-examples.
IV
IV: Complex conjugate of II.
• The test:
– N = #CW encirclements of −1/K point when F(s) = D(s)G(s).
– P = # of OPEN-LOOP unstable poles.
– Z = # of CLOSED-LOOP unstable poles.
–Z=N+P
• The system is stable iff Z = 0.
• For poles on the jω-axis, use modified Nyquist path.
Bode Plot Performance
• At low frequency, approximate Bode plot with K G( jω) = K 0( jω)n .
– n = system type . . . slope = −20n dB/decade.
– K 0 = K p for type 0, = K v for type I, . . .
Lecture notes prepared by Dr. Gregory L. Plett
11–16
ECE4510, REVIEW OF FEEDBACK CONTROL
• Gain margin (for systems which become unstable with increasing
gain) = factor by which gain is less than 0dB when phase = −180◦.
• Phase margin (for same systems) = amount phase is greater than
−180◦ when gain = 1.
• PM related to damping. ζ ≈ PM/100 when PM < 70◦.
• PM therefore related to M p .
Damping ratio versus PM
1
Overshoot fraction versus PM
0.9
M p , overshoot
Damping ratio ζ
1
0.8
0.6
0.4
0.2
0.8
0.7
0.6
0.5
0.4
0.3
0.2
0.1
0
10
20
30
40
50
60
Phase margin
70
80
0
0
10
20
30
40
50
60
70
80
Phase margin
• Gain-phase relationship: For minimum-phase systems,
6 G( jω) ≈ n × 90◦ where n = slope of log-log plot of gain. (n = −1 if
slope = −20dB/decade, n = −2 if slope = −40dB/decade . . . )
• Therefore want slope at gain crossover ≈ −20dB/decade for decent
phase margin.
Lecture notes prepared by Dr. Gregory L. Plett
Download