Sunteți pe pagina 1din 229

11

Feedback Control Systems.

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 inuence the
value of the controlled variable.

DEFINITION:

Some applications:
Airplane autopilots that can land a plane in fog.
Space telescopes with pointing accuracy of 106 degrees.
Disk-drive read heads with < 1 micron accuracy.
Robots for various applications.
...

(see next page for a synopsis).

12

FEEDBACK CONTROL

Typical Feedback Applications


Categories

Specic Applications

Ecological

Wildlife management and control; control of plant chemical


wastes via monitoring lakes and rivers; air pollution abatement;
water control and distribution; ood control via dams and resevoirs; forest growth management.

Medical

Medical instrumentation for monitoring and control; articial 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 trafc ows 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;


re-control systems (artillery).

(reproduced from: J.R. Rowland, Linear Control Systems: Modeling, Analysis, and Design, John Wiley & Sons, (New York: 1986), p. 6.)

13

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 eld 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 youll 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.


Identies major components and omits details. Shows information/
energy ow.
Central component = PROCESS or PLANT, one of whose variables
we want to control. e.g., Plant =
; Variable =
.

14

FEEDBACK CONTROL

DISTURBANCE = some system input out of our direct control.


e.g., Disturbance =
.
ACTUATOR = device that inuences 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

Plant

Output

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.

15

16

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

10

y(t)

17

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))


= 10

r(t)
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 course materials 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.

10% Error. . . Not Good.

18

FEEDBACK CONTROL

4. Second attempt = Feedback controller


w(t)
0.5

Compensator
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 amplier.

19

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)


= 10r(t) 10ycl(t) 5w(t)
10r(t) 5w(t)
ycl(t) =
1 + 10
=

10
5
w(t)
r(t)
1 + 10
1 + 10
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 ush toilets!

Supply
Float

110

FEEDBACK CONTROL

Damper

1624: Drebbels incubator


Control temperature
using mechanical
feedback.

Riser
Eggs

Water

Float

Flue
Gasses
Mercury
Metal plate

Fire Alcohol

1787: Thomas Meads y-ball governor.


1788: James Watts y-ball governor.
Pivot
Sleeve
To engine
inlet

Butterfly
valve
Steam

Ball

Rotation

Pulley from engine

Both control a rotating shaft.


1840: Airys 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.

FEEDBACK CONTROL

111

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: Nyquists graphical stability criteria
(1945: Bodes simpler graphical method)
1936: PID Control.
1948: Evans root locus.
1960s: State variable (modern) control design.
1980s: Post Modern H Robust control. Adaptive control...?

FEEDBACK CONTROL

112

1624

Chronological History
of Feedback Control

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 amplier: Bush, Differential analyzer

1932
Nyquist, Nyquist stability criterion

1938
Bode, Frequency response methods

1942
Wiener, Optimal lter 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), yleaf.)

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 modelingwe focus on these methods.
2. Empirical system identication. (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) y(t) as
y(t) = [x(t)].

21

22

SYSTEM MODELING IN THE TIME DOMAIN

LINEAR :

A system is linear iff


[ax1(t) + bx2(t)] = a [x1(t)] + b [x2(t)].

a.k.a. superposition.
TIME INVARIANT :

A system is time invariant iff


y(t t0) = [x(t t0)] t0.

(Translation: If we input a specic 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 systems 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)

v(t)

Ohms 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.

23

SYSTEM MODELING IN THE TIME DOMAIN

Apply 1 Volt;
1 Amp of current is predicted to ow.
Power dissipated = V 2/R = 1 Watt.
Now apply 10 Volts.
10 Amps of current is predicted to ow.
Power dissipated = V 2/R = 100 Watts!
Model will no longer be accurate.
True behavior depends on input signal levelnonlinear.
Model is accurate in certain range of input-signal values.
Dynamics of Mechanical Systems I (translational)
Newtons 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 cars speed (viscous friction).
F = ma
.

or,

x(t)

..

u(t) b x(t) = m x(t)


b .
u(t)
..
x(t) + x(t) =
m
m

.
b x(t)

u(t)

24

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))

m2

x(t)
ks (y(t) x(t))

y(t)
.
.
b( y (t) x(t))

25

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.
F = ma
.

..

b y (t) x(t) + ks (y(t) x(t)) kw (x(t) r(t)) = m 1 x(t)


.

..

ks (y(t) x(t)) b y (t) x(t) = m 2 y (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
..
k
b .
.
y (t) +
y (t) x(t)) + s (y(t) x(t)) = 0
(
m2
m2

Important components for mechanical-translational systems:


m

1. Mass

x1 (t)

2. Spring

f (t) = k(x 1 (t) x 2 (t))

x2 (t)
x1 (t)

3. Damper

x2 (t)

.
.
f (t) = b(x 1 (t) x 2 (t))

Dynamics of Mechanical Systems II (rotational)


Newtons Law is modied 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. Lets consider one axis of rotation.

26

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 twicedouble-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: Viscous friction.

..

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

(t) = k(1(t) 2(t))

2 (t)
1 (t)

3. Damper

2 (t)

.
.
(t) = b( 1 (t) 2 (t))

27

SYSTEM MODELING IN THE TIME DOMAIN

EXAMPLE :

NONLINEAR Rotational Pendulum.


Moment of intertia: J = ml 2.
..
M = J (t)
l
..

(t), (t)
mg

J (t) = (t) mgl sin((t))


..
g
(t)
(t) + sin((t)) =
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
sufcient 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.
3. Apply Newtons laws:

F = ma,

M = J .

4. Combine the equations to eliminate internal forces.


5. The nal 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


Kirchhoffs Laws:
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.

28

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.

C2

R1

vi (t)

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(t) v (t) + R2C 2(v (t) v (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)

29

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
2
= (R1 R2 C 1C 2)v (t) + (R2 C 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
Amplier

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

210

SYSTEM MODELING IN THE TIME DOMAIN

EXAMPLE :

Op-amp circuit.
R2

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 amplier.)
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 eld windings (input), and rotor/armature windings
(output).
i f (t) R f

e f (t)

Ra
Lf

Field
circuit

L a i a (t)

eg (t)

Rotor
circuit

ea (t)

Zl

Load
circuit

211

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.


= ux, 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
eb (t)

Armature

b
(t), (t)

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

212

SYSTEM MODELING IN THE TIME DOMAIN

Combining these equations of motion, recall Newton:


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
..

J (t) + b +

K Ke .
K
ea (t)
(t) =
Ra
Ra

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 uid-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 Identication (SYS ID)


When we generate models of system dynamics, we are performing
system identications.

213

SYSTEM MODELING IN THE TIME DOMAIN

When we use known properties from physics and knowledge of the


systems 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 systemthe 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 rst-order


vector differential equation:
.

x = f (x, u) ;

x = vector, u = input.

If the system is linear, this will be of the form:


.

x = A x + Bu;

A and B are constant matrices.

EXAMPLE :

Torsional pendulum (pg. 226)


..
b.
k
(t)
(t) + (t) + (t) =
J
J
J
let

x1(t)
x2(t)

(t)
.
(t)

214

SYSTEM MODELING IN THE TIME DOMAIN

x 2(t) +

b
k
(t)
x 2(t) + x1(t) =
J
J
J
.

x 1(t)
.
x 2(t)

x 1(t)
x2(t)

0
1
k/J b/J

0
1/J

(t).

So, our model of the torsional pendulum is linear.


EXAMPLE : Rotational pendulum (pg. 227)
..
g
(t)
(t) + sin((t)) =
l
ml 2
let

x 1(t)
x2(t)

(t)
.
(t)
x 2(t)

0
+ 1 (t).
= g
sin(x 1(t))
l
ml 2
Not linear because we cannot make a constant A matrix.
x 1(t)
.
x 2(t)

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 ) + Ax + Bu

plus higher-order terms

215

SYSTEM MODELING IN THE TIME DOMAIN

Subtract out equillibrium (nominal) solution;


.
x = Ax + Bu,
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 ight 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.

216

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 specic examples of a very general
class of system. If we learn how to control the general class, we can
apply this knowledge to specic systems.

31

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? (specications)

KEY, ESSENTIAL, VITAL, TOOL: Laplace Transform

Some Important Input Signals


Several signals recur throughout this course.
The unit step function:
1(t) =

1, t 0;
0, otherwise.

The unit ramp function:


r(t) =

1(t)

t
r (t)

t, t 0;
0, otherwise.

The unit parabola function:


2
t
, t 0;
p(t) =
2

0, otherwise.

t
p(t)

32

DYNAMIC RESPONSE

The cosine/sine functions:


cos(t)

sin(t)

The impulse function, (t):


Very strange generalized function, only dened under an integral.
(t) = 0, t = 0
zero duration

(t) dt = 1.

unit area.
(t)

Symbol

Sifting property

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) = [x(t)]
= [
=

x( )(t ) d ]

(sifting)

x( ) [(t )] d.

(linear)

Let h(t, ) = [(t )]

33

DYNAMIC RESPONSE

x( )h(t, ) d

h(t, ) = h(t )

If the system is time invariant,


=

x( )h(t ) d

(time invariant)

= 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 rst-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 snow solve for A.
0+

y (t) dt + k
+

y(t)|0
0

0+

y(t) dt =

0+
0

(t) dt
1

y(0+) y(0) = 1
+

Aek0 0 = 1
A = 1.

34

DYNAMIC RESPONSE

Response to impulse: h(t) = ekt , t > 0.


h(t) = ekt 1(t).
Response of this system to general input:
y(t) =
=
=

h( )u(t ) d

ek 1( )u(t ) d
ek u(t ) d.

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
e + e j t
2
Break it Down: Response to Exponential?
A cos(t) =

Let u(t) = est , where s is complex.


y(t) =
=
=

h( )u(t ) d
h( )es(t ) d
h( )est es d

35

DYNAMIC RESPONSE

=e

st

h( )es d

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
H ( j)e j t + H ( j)e j t
y(t)=
2

H ( j) = Me j
H ( j) = Me j (can be shown for h(t) real)
AM j (t+)
y(t) =
+ e j (t+)
e
2
= AM cos(t + ).

The response of an LTI system to a sinusoid is a sinusoid! (of the


same frequency).

36

DYNAMIC RESPONSE

EXAMPLE :

Frequency response of our rst order system:


1
H (s) =
s+k
1
H ( j) =
j + k
1
M = |H ( j)| =
2 + k 2

= H ( j) = tan1
k

A
y(t) =
cos t tan1
.
2 + k2
k

Can we use these results to simplify convolution and get an easier


way to understand dynamic response?
The Laplace Transform
We have seen that if a system has an impulse response h(t), we can
compute a transfer function H (s),
H (s) =

h(t)est dt.

Since we deal with causal systems (possibly with an impulse at


t = 0), we can integrate from 0 instead of negative innity.
H (s) =

h(t)est dt.

This is called the one-sided (uni-lateral) Laplace transform of h(t).

37

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

eat sin(bt)1(t)

Damped cosine

eat 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

{a f1(t) + b f 2(t)} = a F1(s) + bF2(s).

Superposition:

{ f (t )} = es F(s).
1
s
Time Scaling: { 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:

f (t) = s F(s) f (0)


f (t) = s 2 F(s) s f (0) f (0)

..

f (m)(t) = s m F(s) s m1 f (0) . . . f (m1)(0).

38

DYNAMIC RESPONSE

1
= F(s).
s
0
Convolution: Recall that y(t) = h(t) u(t)

Integration:

f ( ) d

Y (s) = {y(t)} = {h(t) u(t)}


=
=
=

t
=0

h( )u(t ) d

t=0

=0

=0

t=

=t

h( )u(t ) d est dt
h( )u(t ) est dt d.

Multiply by es es
Y (s) =

Region of
integration

=0

Let t = t :
Y (s) =

h( )e

=0

h( )e

t=

u(t )es(t ) dt d.

t =0

u(t )est dt

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 wont need to do this often.

39

DYNAMIC RESPONSE

The main tool for ILT is partial-fraction-expansion.


b0s m + b1s m1 + + bm
Assume :
F(s) = n
s + aa s n1 + + an
m
i =1 (s z i )
n
i =1 (s pi )

(zeros)
(poles)
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

=k

ci = (s pi )F(s)|s= pi
n

f (t) =

ci e pi t 1(t)

since ekt 1(t) =

i =1

EXAMPLE :

1
.
sk

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) = (5et 5e2t )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)

s= p1

310

DYNAMIC RESPONSE

c1,2 =
c1,1
cx,ki
EXAMPLE :

d
(s p1 )3 F(s)
ds

s= p1

1 d2
(s p1)3 F(s)
=
2
2 ds
1 di
(s pi )k F(s)
=
i! ds i

Find ILT of

s= p1

.
s= pi

s +3
.
(s + 1)(s + 2)2

ans: f (t) = (2et 2e2t te2t )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.

311

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) = 2e2t 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

y (t)+5 y (t)+4y(t) = u(t),

2
1
From tables, y(t) = e2t + et + e4t 1(t).
3
3
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.

312

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]);

impulse([0 1],[1 1]);


1

0.8

0.8

0.6

0.4

y(t) K

h(t)

1
e

0.2

0
0

K (1 et/ )
System response. K = dc gain

0.6

0.4

Response to initial condition


0.

0.2

t =

Time (sec )

0
0

t =

Time (sec )

Time Response vs. Pole Locations: 2nd-Order Poles (stable)


2
b0
K n
H (s) = 2
=
2
s + a1s + a2 s 2 + 2 n s + n

(standard form).

= damping ratio.
n = natural frequency or undamped frequency.
n
h(t) =
e t (sin(d t)) 1(t),
1 2
where,

= n ,
d = n 1 2 = damped frequency.

313

DYNAMIC RESPONSE

(s)

= sin ( )

45

(s)
30

17.5

(s)

(s)

(s)

(s)

(s)

= 0.707
Impulse Response

(s)

= 0.5

= 0.3

h(t)

0.5

e t

Envelope of sinusoid decays as e t

e t

0.5

1
0

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

0.8

0.5

1.0
1
0

n t

10

12

0
0

n t

10

12

Low damping, 0, oscillatory; High damping, 1, no oscillations.

314

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 Specications


We have seen impulse and step responses for rst- 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

t
ts

315

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. 3313.) 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
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
=e

2
sin(d t) + d sin(d t) = 0.
d

316

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 =
=
.
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
en ts =
...
= 0.01, 0.02, or 0.05
EXAMPLE :

= 0.01
en 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
Specications 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 3316)


(for examplesettling to 1%)

1.0

317

DYNAMIC RESPONSE

(s)

(s)

(s)

sin1
(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 :

(s)

Designing motor compensator

Suppose a servo-motor system for a pen-plotter has transfer function


2
0.5K a
n
= 2
.
2
s 2 + 2s + 0.5K a
s + 2 n s + n
Only one adjustable parameter K a , so can choose only one spec: tr ,
ts or M p Allow NO overshoot.

318

DYNAMIC RESPONSE

M p = 0, = 1.
From transfer fn: 2 = 2 n
2
n = 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 rst-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).


Coefcient 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) =

(s/ n ) + 1
.
(s/n )2 + 2 s/n + 1

319

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.
2nd-order system with zero

Overshoot versus normalized zero loc.


2

1.5

1.5

=1
2
4
100

0.5

0
0

Mp

Step Response

= 0.3
0.5
0.7

0.5

n t

10

0
0

10

A little more analysis; set n = 1


s/ + 1
H (s) = 2
s + 2 s + 1
1
s
1
= 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.

320

DYNAMIC RESPONSE

2nd-order min-phase step resp.

2nd-order nonmin-phase step resp.

1.5

H (s)

1.5

Ho (s)

Ho (s)

y(t)

y(t)

0.5
1

H (s)

0.5
0.5
0

Hd (s)

0.5
0

Hd (s)

Time (sec)

10

1.5
0

Time (sec)

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.
2nd-order system with pole

Norm. rise time vs. norm. pole loc.


9

1.2

8
7

= 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

1.4

n t

5
4
3
2

1
0

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.

321

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)
Insignicant

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 rst 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.

322

DYNAMIC RESPONSE

Important tools: block diagram manipulation and Masons rule.


Block Diagram Manipulation
We have already seen block diagrams (see pg. 113).
Shows information/energy ow in a system.
When used with Laplace transforms, can simplify complex system
dynamics.
Four BASIC congurations:
U (s)

U (s)

H (s)

Y (s) = H (s)U (s)

Y (s)

H2 (s)

Y (s)

Y (s) = [H1(s)H2(s)] U (s)

Y (s)

H1 (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

R(s)
1 + H2(s)H1(s)
H1(s)
R(s)
1 + H2(s)H1(s)

323

DYNAMIC RESPONSE

H (s)

U (s)
H1(s)

U (s)

Y (s)
H2(s)

Y (s)

H1(s)
Y (s)

U (s)
H2(s)
H1(s)

R(s)

Y (s)

H2(s)
EXAMPLE :

Recall dc generator dynamics from page 2210


i f (t) R f
e f (t)

e f (t)

Field
circuit

Ra
Lf

Field
circuit
i f (t)

Kg

L a i a (t)

eg (t)

eg (t)

ea (t)

Rotor
circuit
Rotor
circuit

Zl

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

eg (t) = K g i f (t)
E g (s) = K g I f (s)
E g (s)
= Kg.
I f (s)

ea (t)

324

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)

Y (s)

U1 (s)

U2 (s)

R(s)

H1(s)

Y (s)

R(s)

H2(s)

H (s)

U2 (s)

H (s)

Y2 (s)

H (s)

1
H2 (s)

Unity Feedback

Y (s)

H2(s)

H1(s)

Y (s)

325

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)

H2 (s)

H5 (s)

Y (s)

H4 (s)

H1 (s)H2(s)
1H1 (s)H3 (s)
H (s)H2 (s)H4 (s)
1+ 1
1H1 (s)H3(s)

R(s)

H (s)

H5(s)+ H6(s)

H1 (s)H2(s)H5(s) + H1 (s)H6(s)
1 H1 (s)H3(s) + H1(s)H2(s)H4(s)

Y (s)

326

DYNAMIC RESPONSE

Masons Rule
If you dont care to simplify a block diagram using block diagram
manipulation, you can use Masons 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 ow, 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

G1

G2

G3

G4

H1

2 Loops: ,

G5

H2

Nontouching.

2 Forward paths: Touches both loops.


Does not touch rst loop, but touches second loop.

327

DYNAMIC RESPONSE

Masons Rule
p
1
T =
Mk

M1

+ M2

+ + Mp

k=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
k

= Value of

for that part of the ow 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 (L 1 + L 2) + L 1 L 2 = 1 + H1 G 2 + H2 G 4 + H1 H2 G 2 G 4.
k

is easiest determined by redrawing owgraph without path k.

328

DYNAMIC RESPONSE

G6
Path 1 removed. No loops.
1 =10
H1

G1

H2

G2

G3

Path 2 removed. One loop with


gain G 2 H1. 2 = 1 (G 2 H1 )

H1

T =

M1

H2
1

+ M2

G 1 G 2 G 3 G 4 G 5 + G 6 G 4 G 5(1 + H1 G 2)
.
1 + H1 G 2 + H2 G 4 + H1 H2 G 2 G 4

Masons rule may be shorter that block-diagram manipulation.


Use the method with which you are most comfortable.

41

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)

y(t)

Plant

Ctrlr

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 but add load
torque.
i a (t) Ra
ea (t)

La
eb (t)

Armature

b
(t), (t)

Load

Assume that we are trying to control motor speed:

l , load

42

BASIC PROPERTIES OF FEEDBACK

.
J + b = k i a + l let output y = ,
.
di a
disturbance w = l .
ke + L a
+ Ra i a = ea
dt

.
y + by = k i a + w
J
s J Y (s) + bY (s) = k Ia (s) + W (s)
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) + B W (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 nal value theorem:
If a signal has a constant nal value, it may be found as
yss = lim sY (s).
s0

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) =

43

BASIC PROPERTIES OF FEEDBACK

B
A

Dist. w(t)
r (t)

Ctrlr

Motor

ea (t)

A
(1s + 1)(2s + 1)

y(t)

Lets 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

Lets 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

44

BASIC PROPERTIES OF FEEDBACK

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


ADVANTAGE OF FEEDBACK:

1.

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
gain error
In relative terms:

G ol
A
A
=
= 1.0
.
G ol
A
A
sensitivity

Therefore, a 10% change in A 10% change in gain. Sensitivity=1.0.

45

BASIC PROPERTIES OF FEEDBACK

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 cl d A
A
sensitivity

S A cl

A
(1 + AK cl )K cl K cl ( AK cl )
AK cl /(1 + AK cl )
(1 + AK cl )2
1
=
.
1 + AK cl

G
S A 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 .

s=

(1 + 2)

(1 + 2)2 412(1 + AK cl )
.
212

46

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

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.

47

BASIC PROPERTIES OF FEEDBACK

Extremely popular. 90+% of all controllers are PID.


Doesnt 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,

s2 = 1/2.

With feedback,
s1 , s 2 =

(1 + 2)

(1 + 2)2 412 (1 + AK )
.
212

48

BASIC PROPERTIES OF FEEDBACK

(1 2 )2
K =
412 A
K =0
1

(s)

K =0
1

(s)

1 + 2
212

(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.
412 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


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).
K
EXAMPLE: Substitute: u(t) =
TI
equations.

t
0

(r( ) y( )) d into dc-motor

49

BASIC PROPERTIES OF FEEDBACK

..

K
12 y (t) + (1 + 2) y (t) + y(t) = A
TI

(r( ) y( )) d + Bw(t).

Differentiate,
AK
.
(r(t) y(t)) + B w(t)
TI
...
..
.
AK
AK
.
y (t) + (1 + 2) y (t) + y (t) +
12
y(t) =
r(t) + B w(t).
TI
TI
...

..

12 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.
t

u(t) = K e(t) +
0

K
e( ) d,
TI

D(s) = K 1 +

1
.
TI s

Poles are at
12s 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.

AK
= 0.
TI

(s)

410

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 12s 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

TD

(s)

Proportional Integral Derivative Control


1
+ TD s .
TI s
Need ways to design parameters K , TI , TD .

D(s) = K 1 +

In general (i.e., not always),


K , TI error , stability
TD stability

411

BASIC PROPERTIES OF FEEDBACK

For speed control problem,


1
u(t) = K (r(t) y(t)) +
TI

(r( ) y( )) d + TD (r(t) y (t)) .

(math happens). Solve for poles


12 TI s 3 + TI ((1 + 2) + AK TD )s 2 + TI (1 + AK )s + AK = 0
AK
1 + 2 + AK TD 2
1 + AK
s +
s+
s3 +
= 0.
12
12
12 TI
Three coefcients, 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 12s 3 + TI (1 + 2)s 2 + TI (1 + AK )s + AK
Y (s)
AK (TI s + 1)
=
.
R(s)
TI 12s 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

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 .

0.02

0.03

Time (sec)

0.04

0.05

412

BASIC PROPERTIES OF FEEDBACK

Not optimal in any sensejust provide good performance.


METHOD I :

If system has step response like this,


Slope, A/

Y (s)
Aed s
=
,
U (s) s + 1
(rst-order system plus delay)
d

We can easily identify A, d , from this step response.


Dont 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 :

PI

0.25

K =

METHOD II :

Ad

0.9
A
d d
TI =
0.3
K =

PID
1.2
K =
Ad
TI = 2d
TD = 0.5d

Congure system as
r (t)

Ku

Plant

y(t)

Turn up gain K u until system produces oscillations (on stability


boundary) K u = ultimate gain.

413

BASIC PROPERTIES OF FEEDBACK

Period, Pu

RESULTING TUNING RULES :

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.

414

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

Without antiwindup

0.8

With antiwindup

0.4
0.2
0

0.4

0.2

0.2

0.4

0
0

10

0.6
0

With antiwindup
2

Time (sec)

Time (sec)

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)

415

BASIC PROPERTIES OF FEEDBACK

= R(s) T (s)R(s)
= [1 T (s)] R(s).
Assume conditions of nal value theorem are satised (i.e., T (s) is
stable)
ess = lim e(t) = lim s[1 T (s)]R(s).
t

s0

tk
We use test inputs of the type: r(t) = 1(t);
k!
t 1(t)

1(t)

R(s) =
t2
1(t)
2

1
s k+1

As k increases, tracking is progressively harder.

0,
type > K ;
1 T (s)
ess = lim
= constant, type = K ;

s0
sk

,
type < K .
If system type = 0, constant steady-state error for step input, innite
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, innite 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:

416

BASIC PROPERTIES OF FEEDBACK

Type 0 System

Type 1 System

Type 2 System

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 simplications:


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) =

1
R(s).
1 + G ol (s)

417

BASIC PROPERTIES OF FEEDBACK

For the test inputs R(s) =

s k+1
ess = lim s E(s)
s0

1
s0 [1 + G ol (s)]s k

= lim
For type 0,

1
1
,
=
s0 1 + G ol (s)
1 + Kp

ess = lim

K p = lim G ol (s).
s0

For type 1,
1
1
1
1
,
= lim
=
s0 1 + G ol (s) s
s0 sG ol (s)
Kv

ess = lim

K v = lim sG ol (s).
s0

For type 2,
1
1
1
1
= lim 2
,
=
s0 1 + G ol (s) s 2
s0 s G ol (s)
Ka

ess = lim

K a = lim s 2 G ol (s).
s0

These formulas only meaningful for unity-feedback!


K p = lim G ol (s).
position error constant
s0

K v = lim sG ol (s).

velocity error constant

K a = lim s 2 G ol (s).

acceleration error constant

s0

s0

Steady-state tracking errors ess for unity-feedback case ONLY.


Sys. Type
Type 0

Step Input
1
1 + Kp

Ramp Input

Parabola Input

Type 1

1
Kv

Type 2

1
Ka

418

BASIC PROPERTIES OF FEEDBACK

EXAMPLES:

(1) Consider G ol (s) =

s+1
; System type?
(s + 2)(s + 3)

1
1
= .
23 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.
01
(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 =
=
.
31
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) =

419

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.

s0

So system is type 0, with s.s. error to step input of


agrees with prior results.)
EXAMPLE :

1
. (This
1+KA

DC-motor example with PI control

Controller: D(s) = K 1 +

1
.
TI s

D(s)G(s) =

KA+

KA
TI s

(1s + 1)(2s + 1)
lim D(s)G(s) =

s0

lim s D(s)G(s) =

s0

KA
.
TI

System is type 1, with s.s. error to ramp input of


EXAMPLE :

DC-motor with another integrator

TI
.
KA

420

BASIC PROPERTIES OF FEEDBACK

Controller: D(s) = K 1 +

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) =
.
s0
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 nd 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).
s0

Type 0 system (w.r.t. disturbance) has constant lim Tw (s).


s0

Tw (s)
.
s0
s
Tw (s)
Type 2 system (w.r.t. disturbance) has constant lim 2 .
s0 s
Type 1 system (w.r.t. disturbance) has constant lim

51

Feedback Control Systems.

STABILITY ANALYSIS
Many classications 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,
y(t) =
|y(t)| =

h( )u(t ) d

h( )u(t ) d

52

STABILITY ANALYSIS

K1
So if a system is BIBO stable,
u(t)

|h( )| |u(t )| d

|h( )| d.
|h( )| d < .
Note: (h(t) = 1(t)).

Stable?

y(t)

In the Laplace domain,


Y (s)
K
H (s) =
=
R(s)

m
1 (s

zi )
n
1 (s pi )

m n.

(assume poles unique)


n

h(t) =

ki e pi t
i =1

|h( )| d <

iff

( pi ) < 0 i.

(If poles are not distinct, h(t) will have terms


k
t m1e pi t
(m 1)!
for an mth order root.

|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.)

53

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
= 2
s 2 + 1 s 2 + 1 (s + 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 nd roots is tedious and
numerically not well conditioned.
Want other stability tests, and also MARGINS of stability.

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 coefcients 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 coefcients ai can be 0.

Does this trend continue?

54

STABILITY ANALYSIS

an1 = (1) sum of all roots.


an2 = sum of products of roots taken two at a time.
an3 = (1) sum of products of roots taken three at a time.
.
.
.
a0 = (1)n product of all roots.
Conclusions:
1. If any coefcient ai = 0, not all roots in LHP.
2. If any coefcient ai < 0, at least one root in RHP.
TEST:

If any coefcient 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 dont know yet if this system is stable or not.

1
j 15
Roots at s = 2, s =
. Unstable, but how do we nd out
2
2
without factoring?

55

56

STABILITY ANALYSIS

Case 1
Once we have determined that ai 0 i, we need to run the Routh
test.
Very mechanical, not intuitive. Proof difcult.
a(s) = s n + an1s n1 + + a1s + a0.
Form Routh Array.

s n1
s n2
s n3
.
.
.
s1
s0

TEST :

b2 =

j1
k1

1
an an4
an1 an1 an5

c1 =

an an2 an4
an1 an3 an5
b1
b2
c1
c2

1
an an2
an1 an1 an3

1 an1 an3
b1
b1
b2

c2 =

sn

b1 =

1 an1 an5
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,

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.

57

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

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 nd an element in rst column = 0 (!)
0
Replace with as 0.

58

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 2 10
0

b1 =

b2 =

s5
s4
s3
new s 3
s2
s1
s0
If
If

1
2
0
12

2 11
4 10
6
6

c1 =

c2 =

10

6
10

> 0, two sign changes.


< 0, two sign changes.
Two poles in RHP.

d1 =

12

1
e1 =
6

12

12

6
10

10

12

(12 4 )

12

(0 10 ) = 10

(10 +

72

)6

1
(0 60) = 10
6

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?

(s)

59

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.

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

510

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

0
0
0
4
4

da1(s)
= 4s 3.
ds

a1 (s) = s 4 + 4;

b1 =

1 1 0
4 4 0

= 0

b2 =

1 1 4
4 4 0

= 4

c1 =

1 4 0
4

Two sign changes. Therefore


2 RHP poles. Other two
poles are mirrors in LHP.

d1 =

16

16

4
0

16

= 4

Design Tool
Consider the system:
r (t)

s+1
s(s 1)(s + 6)

s+1
K s(s1)(s+6)
Y (s)
T (s) =
=
s+1
R(s) 1 + K s(s1)(s+6)

K (s + 1)
s(s 1)(s + 6) + K (s + 1)

a(s) = s(s 1)(s + 6) + K (s + 1)

y(t)

511

STABILITY ANALYSIS

= s 3 + 5s 2 + (K 6)s + K .
s3
s2
s

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

10

12

Time (sec.)
EXAMPLE :

r (t)

K 1+

1
TI s

1
(s + 1)(s + 2)

y(t)

512

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

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

K = 3, TI = 0.5

0.8

K = 1, TI = 0.25

0.6

K = 1, TI =

0.4
0.2
0
0

Time (sec.)

10

12

61

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 conguration is


r (t)

G(s)

Unity feedback, proportional gain.


We will generalize control conguration later.

y(t)

62

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 )

nm

(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.

63

ROOT-LOCUS ANALYSIS

For this simple system we can easily nd 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

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 .

64

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)
G(s) =

1
.
K

(6.1)
(6.2)

Since K is real and positive, K = 0.


Therefore, 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 nd 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 G(s) = 180 l360.
NOTES :

1. We will derive techniques so that we dont 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 :

For any point on the s-plane


G(s) =

EXAMPLE:

G(s) =

(due to zeros)

(s z 1)
.
(s p1)(s p2 )

(due to poles).

65

ROOT-LOCUS ANALYSIS

(s)
p2

z1

p1
(s)

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 G(s) = 0. NOT
ON THE LOCUS.
p2

(s)

p1

z1

Test point
s1
(s)

G(s) = z 1 p1 p2 p2

= 0 0 p2 p2

= 0.

p2

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.

66

ROOT-LOCUS ANALYSIS

If the test point s1 is to the left of


1 pole and 1 zero: G(s1) = 180 (180) = 360 = 0.
2 poles: G(s1) = 180 180 = 360 = 0.
2 zeros: 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)

67

ROOT-LOCUS ANALYSIS

Locus Not on the Real Axis


OBSERVATION :

Because we assume that system models are


rational-polynomial with real coefcients, 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 innite
magnitude and some angle.
To nd where the n m remaining poles go as K , consider that
the m nite 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 )nm
or n m poles clustered/centered at .
We need to determine , the center of the locus, and the directions
that the poles take.

68

ROOT-LOCUS ANALYSIS

Assume s1 = Re j is on the locus, R large and xed, 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 =
,
nm

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 nd the center, , reconsider our approximation


as |s| .

b(s)
1

a(s) (s )nm

b(s)
1
and match the top
and
a(s)
(s )nm
two coefcients of s, the dominant ones.

Divide (by long division)


An easier way...

69

ROOT-LOCUS ANALYSIS

Note that roots of denominator of G(s) satisfy:


s n + a1s n1 + a2s n2 + + an = (s p1)(s p2) (s pn )
a1 =

pi .

Note that the roots of the denominator of T (s) are


s n + a1s n1 + a2s n2 + + an + K (s m + b1s m1 + + bm ) = 0.
If n m > 1 then the (n 1)st coefcient of the closed loop system
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
(s )nm
sum of roots is (n m)
zi .
Putting this all together,
ri = (n m) +
or
=

zi =

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 =
nm
centered at
=

pi zi
.
nm

pi

610

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 , )

611

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

p1

(s)

Take a test point s0 very close to p1 . Compute G(s0).


If on locus

90 1 135 = 180 + 360l

l = 0, 1, . . .

612

ROOT-LOCUS ANALYSIS

where

1 = Angle from p1 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:
dep =

(zeros)

(remaining poles) 180 360l.

Multiple-pole departure rule: (multiplicity q 1)


qdep =

(zeros)

(remaining poles) 180 360l.

Multiple-zero arrival rule: (multiplicity q 1)


qarr =

(poles)

(remaining zeros) + 180 360l.

Note: The idea of adding 360l 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 nd value for K = K that causes
marginal stability.
Substitute K and nd roots of a(s) + K b(s) = 0.
Alternatively, substitute K , let s = j0, solve for
a( j0) + K b( j0) = 0. (Real and Imaginary parts)

613

ROOT-LOCUS ANALYSIS

Points with Multiple Roots


Sometimes, branches of the locus intersect. (see , on pg.
6610).
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.]

614

ROOT-LOCUS ANALYSIS

Some similar loci for which nding saddle points helps clarify
ambiguity ...
(s)

(s)

(s)

(s)

(s)

(s)

(s)

(s)

Finding K for a Specic Locus Point


Recall that the root locus is dened 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)
G(s) =

1
.
K

The phase equation is used to plot the locus.

615

ROOT-LOCUS ANALYSIS

The magnitude equation may be used to nd the value of K to get a


specic 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 Rules180 Locus
The steps in drawing a 180 root locus follow from the basic phase denition. This is the locus of
1+K

b(s)
= 0,
a(s)

K 0

phase of

b(s)
= 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)
=
l =

pi z i
a1 + b1
=
nm
nm
180 + (l 1)360
,
nm

l = 1, 2, . . . n m.

For n m > 0, there will be a branch of the locus approaching each asymptote and departing to
innity. For n m < 0, there will be a branch of the locus arriving from innity along each
asymptote.

STEP 4: Compare locus departure angles from the poles and arrival angles at the zeros where
qdep =

i 180 l360

qarr =

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 renement 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 .

616

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
innity.

STEP 8 Select the desired point on the locus that meets the specications (s0), then use the
magnitude condition to nd 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)

y(t)

(s)
(s)

This example is NOT a unity-feedback case, so we need to


be careful.

EXAMPLE :

r (t)

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)

617

ROOT-LOCUS ANALYSIS

Compute T (s) to determine the characteristic equation as a function


of K .
s+2
K s10
T (s) =
(s+2)(s+3)
1 + K (s+1)(s10)
=
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

618

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 zerotop row


becomes a factor of the characteristic equation. Imag.-axis crossings
where
9
9
+ 1 s 2 + 6 10 = 0
5
5
14s 2 + 4 = 0

...

s = j

2
.
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
= 2s 3 + 18s 2 + 20s 5s 2 + 45s + 50
2s 3 10s 2 12s + 9s 2 + 45s + 54 = 0

619

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

322 4(14)(4) 32 1248


s=
=
28
28
roots at {0.118, 2.40}. Now we can complete the locus:
32

(s)
(s)

EXAMPLE :

r (t)

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.

620

ROOT-LOCUS ANALYSIS

3) Asymptotes:
nm = 2
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.
=

2dep =

(zeros)

(remaining poles) 180 360l

= 0 0 180 360l
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)
K (s) =
ds
(s + 1)2

=0

= s 2s 2 + (a + 3)s + 2a = 0
breakaway at 0,

a + 3

(a + 3)2 4(2)(2a)
2(2)

sa={2,50,9} = 1.25 j 7/16, (2.04 and 24.46), 3 and 0


not on locus

621

ROOT-LOCUS ANALYSIS

a=2

(s)

a=9

(s)

a = 50

(s)

(s)

(s)

(s)

Matlab and Root Loci


b(s) b0s m + b1s m1 + + bm
If G(s) =
.
=
a(s)
a0s n + a1s n1 + + 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 specic 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);

622

ROOT-LOCUS ANALYSIS

6
4

Imag Axis

TAKE ME TO YOUR
LEADER!

0
2
4
6
6

2
1
Real Axis

Summary: Root-Locus Drawing Rules0 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
G(s) =

180, if K positive;
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 denition. This is the locus of
1+K

b(s)
= 0,
a(s)

K 0

phase of

b(s)
= 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.

623

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)
=

l =

pi z i
a1 + b1
=
nm
nm
(l 1)360
,
nm

l = 1, 2, . . . n m.

For n m > 0, there will be a branch of the locus approaching each asymptote and departing to
innity. For n m < 0, there will be a branch of the locus arriving from innity along each
asymptote.

STEP 4:

Compare locus departure angles from the poles and arrival angles at the zeros where

qdep =

i l360

qarr =

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 renement 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
innity.

STEP 8: Select the desired point on the locus that meets the specications (s0), then use the
magnitude condition to nd that the value of K associated with that point is
1
K =
.
|b (s0 ) /a (s0 )|

Extensions to Root Locus MethodTime Delay


A system with a time delay has the form
G(s) = ed s G (s)
where d is the delay and G (s) is the non-delayed system.

624

ROOT-LOCUS ANALYSIS

This is not in rational-polynomial form. We cannot use root locus


techniques directly.
METHOD

1:

Approximate ed s by

b0 s + b1
, a polynomial.
a0 s + 1

Pad approximation.
1 (d s/2)
ed s
1 + (d s/2)
1 d s/2 + (d s)2/12

1 + d s/2 + (d s)2/12
1

1 + d s

First-order approximation
Second-order approximation.
Very crude.

Extremely important for digital control!!!


METHOD

2:

Directly plot locus using phase condition.


i.e., G(s) = (d ) + G (s) if s = + j.
i.e., look for places where G (s) = 180 + d + 360l.
Fix , search horizontally for locus.

71

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
dynamicscompensator:
r (t)

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 (s) = D(s)G(s)
1 + K D(s)G(s)
K G (s)
=
We know how to draw this locus!
1 + K G (s)
Adding a compensator effectively adds dynamics to the plant.
What types of (1) compensation should we use, and (2) how do we
gure out where to put the additional dynamics?
Types of Compensator Dynamics
There are 3 classical types of controllers with some important
variations.

72

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) =

K
u(t) =
TI

e( ) d

K G(s)
TI s
.
K
+ TI 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)

73

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)

(s)

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)

(s)

Increasing K to increase the


speed of response pushes
the pole toward the
imaginary axis oscillatory.

74

ROOT-LOCUS DESIGN

Proportional-Integral (PI) Control


s + (1/TI )
1
. Both a pole and a zero.
Now, D(s) = 1 +
=
TI s
s
(s)

(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.

75

ROOT-LOCUS DESIGN

(s)

(s)

3) Derivative Feedback
D(s) = TD s,

Good steady-state error


without overow 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 benecial.
Used a lot!
EXAMPLE :

G(s) =

1
,
(s + a)(s + b)

D(s) = TD s.

(s)

(s)

No ringing. Very stable.

Proportional-Derivative (PD) Control


Often, proportional control and derivative control go together.
D(s) = 1 + TD s.

76

ROOT-LOCUS DESIGN

(s)

No more zero at s = 0.
Therefore better steady-state
response.

(s)

Phase-Lead Control
Derivative magnies 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 specied dc gain. (open-loop gain=K p , K v , . . .)
a1 s + a 0
G(s)
= dc gain.
b1 s + 1
s=0
|a0||G(0)| = dc gain.
a0 =

Desired dc gain
.
|G(0)|

77

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
Phase

a 1 s1 + a 0
+ 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()

EXAMPLE : G(s) =
. s1 = 2 2e j 135 = 2 + 2 j .
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

G(s1) = 2
= e j 270 .
s s=22e 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

78

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

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
TD =
, where s1 = |s1|e j and
+
|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. . .

79

ROOT-LOCUS DESIGN

(s)
(s)

K
s

1
K

V1

V2

(s)
(s)

1
K

K s

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

V1

V2

(s)

p1

(s)

K s
s + p1

V1

1/K

K
p1

1
V2

ROOT-LOCUS DESIGN

(s)
(s)

s + z1
K
s + p1
any p1 and z 1

or

710

K
p1
1
z1

1/K

V1

V2
1

(s)
(s)
or

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

1
K 1z1

K1
V1

K2
V2

1
K 2 p1

V1
1
1
p1

V2
1
z 1 p1

V1
1
z 1 p1

s + z1
s + p1

p1 > z 1

V2
1
1
p1

V1

K =

p1
z1

1
p1

LAG

LAG

V2
p1 z 1
z1

LEAD

711

ROOT-LOCUS DESIGN

(s)
(s)

s + z1
s + p1

p1 > z 1
K =

p1
z1

(s)
K (s + z 1 )
z 1

(s)

1
K =
z1

V1
p1 z 1
p1

V2
1
1
p1

V1
1
z1

LEAD

V2
1
LEAD

Feedback Control Systems.

81

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.


Difcult 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 (es ).
Graphical techniques (analysis/synthesis) are quite simple.
Frequency Response
We want to know how a linear system responds to sinusoidal input, in
steady state.

82

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
y(t) = 1ea1t + 2ea2t + + n ean t +2|0| sin(t + )
If stable, these decay to zero.
yss(t) = 2|0| sin(t + ),

= tan1

(0)
(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)|
(G( j))2 + (G( j))2;
=
= G(s)|s= j = G( j)

83

FREQUENCY-RESPONSE ANALYSIS

(G( j))
.
(G( j))

= tan1
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)

G(s) =

Y (s)

1
1 + RCs

Frequency response
1
(let RC = 1)
1 + j RC
1
=
1 + j
1
=
tan1().
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
(num)2 + (num)2
(den)2

(den)2

FREQUENCY-RESPONSE ANALYSIS

84

Phase = phase of numerator phase of denominator


(num)
(den)
tan1
tan1
.
(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.000 0.0
0.894 26.6
0.707 45.0
0.555 56.3
0.447 63.4
0.316 71.6
0.196 78.7
0.100 84.3
0.000 90.0

The polar plot is parametric in , so it is hard to read the


frequency-response for a specic 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.

85

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

0.4

30
40
50
60
70

0.2

80
0
0

Frequency, (rads/sec.)

90
0

Frequency, (rads/sec.)

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
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)

86

FREQUENCY-RESPONSE ANALYSIS

|G( j)| =

| j + 1|
| j/10 + 1|

log10 |G( j)| = log10

1+

log10

2
1+
.
10

Consider:
log10
For

1+
n

1+
n

1+
n

log10
KEY POINT:

n ,
log10

For

log10(1) = 0.

n ,
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.1n

10n

A transfer function is made up of rst-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.

87

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

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

10

20 dB

Both are straight lines, slope = 20 dB per decade of frequency.


Line intersects -axis at = 1.

88

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
20 log10 |G( j)| = 20 log10

1+
n

89

FREQUENCY-RESPONSE ANALYSIS

For
For

1+
n

20 log10 1 = 0.

20 log10

n ,

20 log10

n ,

1+
n

20 log10

.
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
G(s) =

s
1
n

1+
n

20 log10 |G( j)| = 20 log10

This is the same except for a minus sign.


1n

0.1n

10n

20 dB per
decade

20 dB
20 dB

20 dB per
decade
0.1n

1n

10n

Bode-Magnitude: Complex-Zero or Complex-Pole Pair


For a complex-zero pair (LHP or RHP) standard Bode form is
s
n

s
n

+ 1,

which has unity dc-gain.


If you start out with something like
2
s 2 2 n s + n ,

810

FREQUENCY-RESPONSE ANALYSIS

2
which we have seen before as a standard form, the dc-gain is n .
2
Convert forms by factoring out n

s 2 n s +
2

2
n

s
n

2
n

s
n

+1 .

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 = 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
G(s) =

s
n

s
n

+1

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.1n

20 dB

10n

40 dB

0.1n

Bode Mag: Complex poles


= 0.05
0.1
0.2
0.3
0.5
0.7
= 0.9
n

10n

811

FREQUENCY-RESPONSE ANALYSIS

Bode-Magnitude: Time Delay


G(s) = es

...

|G( j)| = 1.

20 log10 1 = 0 dB.
Does not change magnitude response.
EXAMPLE :
20000.5 s
+1
2000(s + 0.5)
G(s) =
= 1050 0.5 s
s
s(s + 10)(s + 50) s 10 + 1 50 + 1

G( j) =
j

j
10

j
0.5

+1

+1

j
50

+1

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

10

10

10

10

10

812

FREQUENCY-RESPONSE ANALYSIS

Bode-Phase Diagrams
Bode diagrams consist of the magnitude plots we have seen so far,
BUT, also phase plots. These are just as easy to draw.
BUT, they differ depending on whether the dynamics are RHP or LHP.

Finding the Phase of a Complex Number


Plot the location of the number as a vector in the complex plane.
Use trigonometry to nd the phase.
For numbers with positive real part,
(#)
.
(#) = tan1
(#)

p2

( p2 )

For numbers with negative real part,


(#)
(#) = 180 + tan1
.
(#)

p1
( p1 )

If you are lucky enough to have the atan2(y, x) function, then


(#) = atan2( (#), (#))
for any complex number.
Also note,
ab
= (a) + (b) (c) (d).
cd
Finding the Phase of a Complex Function of
This is the same as nding the phase of a complex number, if specic
values of are substituted into the function.

813

FREQUENCY-RESPONSE ANALYSIS

Bode-Phase: Constant Gain


G(s) = K .
(K ) =

K 0;
0 ,
.

180 , K < 0.

Constant phase of 0 or 180.

Bode-Phase: Zero or Pole at Origin


Zero: G(s) = s, . . . G( j) = j = 90.
1
1
j
1
Pole: G(s) = , . . . G( j) =
90.
=
=
s
j

Constant phase of 90.

Bode-Phase: Real LHP Zero or Pole


s
+1 .
i

j +1
G( j) =
i

90

Zero: G(s) =

= tan1

45 per
decade

.
0.1i

Pole: G(s) =

s
i

G(s) = (1)
= tan1

+1

10i

,
45 per
decade

j +1
i

10i

0.1i

90

814

FREQUENCY-RESPONSE ANALYSIS

Bode-Phase: Real RHP Zero or Pole


s
1 .
i

j 1
i

Zero: G(s) =
G( j) =

180
45 per
decade

= 180 + tan1
= 180 tan1

90

Pole: G(s) =

1
s
i

G(s) = (1)

0.1i

1
i

= 180 + tan1

10i

0.1i

i
i

10i

90
45 per
decade

180

= 180 + tan1
.
i
Bode-Phase: Complex LHP Zero Pair or Pole Pair

Complex LHP zeros cause phase to go from 0 to 180.


Complex LHP poles cause phase to go from 180 to 0.
Bode Phase: Complex LHP zeros
= 0.05
160
0.1
140
0.2
120
0.3
100
0.5
80
0.7
0.9
60
180

Bode Phase: Complex LHP poles


0
20
40
60
80
100
120

40

140

20

160

0.1n

180

10n

0.1n

= 0.9
0.7
0.5
0.3
0.2
0.1
0.05
n

10n

815

FREQUENCY-RESPONSE ANALYSIS

Bode-Phase: Complex RHP Zero Pair or Pole Pair


Complex RHP zeros cause phase to go from 360 to 180.
Complex RHP poles cause phase to go from 360 to 180.
Bode Phase: Complex RHP zeros

Bode Phase: Complex RHP poles

350

300

50

250

100

200

150

150

200

100

250
300

50

350

0.1n

10n

0.1n

Bode-Phase: Time Delay

0.1i

10i

G(s) = e ,
G( j) = e j = 1
G( j) = in radians.
= 56.3 in degrees.
Note: Linecurve in log scale.
EXAMPLE :

G( j) =

2 j 0.5 + 1

j j 10 + 1

j 50 + 1

Constant: K = +2. Zero phase contribution.


Pole at origin: Phase contribution of 90.
Two real poles: Phase from 0 to 90, each.
One real LHP zero: Phase from 0 to 90.

10n

816

FREQUENCY-RESPONSE ANALYSIS

90

90

180
2

10

10

10

EXAMPLE :

G(s) =

10

10

10

s
6 1+ 3
s
s 1 + 12

s
1 + 50

30
20
10
0
10
20 1
10

10

10

10

10

90
45
0
45
90
135
180 1
10

10

10

10

10

817

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

s+1
s + 10

zero at 1
pole at 10

minimum
phase

G 2(s) = 10

s1
s + 10

zero at + 1
pole at 10

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)), (G 2( j))

|G 1 ( j)|, |G 2 ( j)|

Bode-Magnitude Plot
20

15

10

0
2

10

10

10

10

10

Frequency, (rads/sec.)

10

Bode-Phase Plot

180
150

Non-minimum
Phase, G 2

120
90
60

Minimum
Phase, G 1

30
0
2
10

10

10

10

10

Frequency, (rads/sec.)

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

818

FREQUENCY-RESPONSE ANALYSIS

Non-minimum phase usually associated with delay.


s1
G 2(s) = G 1(s)
s+1
Delay
s1
is very similar to a rst-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. 4417)
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).
s0

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

819

FREQUENCY-RESPONSE ANALYSIS

K v = lim sG(s), and is nonzero for a type 1 system.


s0

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.


s0

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

10

10

Frequency, (rads/sec.)

10

0
2
10

10

10

Frequency, (rads/sec.)

10

820

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 nd 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)

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.

821

FREQUENCY-RESPONSE ANALYSIS

Recall that a point is on the root locus if |K G(s)| = 1 and


G(s) = 180.
If system is neutrally stable, j-axis will have a point (points) where
|K G( j)| = 1 and G( j) = 180.
Consider the Bode plot of
K G(s). . .

40
20

A neutral-stability condition from


Bode plot is: |K G( jo)| = 1 AND
K G( jo) = 180 at the same
frequency o .
In this case, increasing
K instability |K G( j)| < 1
at K G( j) = 180 =stability.

0
20
40
60

K = 0.1
K =2
K = 10

80 2
10

10

10

10

90
120
150
180
210

In some cases, decreasing


K instability |K G( j)| > 1
at K G( j) = 180 =stability.

240
270 2
10

10

10

10

KEY POINT:

We can nd neutral stability point on Bode plot, but dont


(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 RHPthe system is unstable.
Nyquist found way to count closed-loop poles in RHP.
If count is greater than zero, system is unstable.
Idea:

822

FREQUENCY-RESPONSE ANALYSIS

First, nd 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)

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

(F )

F(s0)

F (s)

(F )

823

FREQUENCY-RESPONSE ANALYSIS

EXAMPLE:

F(s) = 2s + 1 . . . map the four points: A, B, C, D


D

1
C
EXAMPLE:

(s)

(s)

1
j

Map a square contour (closed path) by F(s) =


j

(s)
j F(D)

1
j

s
.
s +2

F( A)
F (B)1

(s)

j F(C)

FORESHADOWING :

By drawing maps of a specic 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) = |v|e j
=

(zeros)

(poles).

824

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)

825

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: Cauchys
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 simplies Cauchys criterion for feedback
systems of the above form.

(s)

826

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 dont 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.

FREQUENCY-RESPONSE ANALYSIS

THE TEST:

N = # encirclements of 1 point when F(s) = D(s)G(s)H (s).


P = # poles of 1 + F (s) in RHP= # of open-loop unstable poles. (assuming that H (s) is stablereasonable).
Z = # of zeros of 1 + F (s) in RHP= # of closed-loop unstable poles.
Z=N+P
The system is stable iff Z = 0.

Be careful counting encirclements!


Draw line from 1 in any direction.
Count # crossings of line and diagram.
N = #CW crossings#CCW crossings.

Changing the gain K of F(s) MAGNIFIES the entire plot.


Loop transfer function is K D(s)G(s)H (s).
N = # encirclements of 1/K point when F(s) = D(s)G(s)H (s).

ENHANCED TEST:

Rest of test is the same.


Gives ranges of K for stability.

827

828

FREQUENCY-RESPONSE ANALYSIS

D(s) = H (s) = 1.
5
G(s) =
(s + 1)2
5
or, G( j) =
( j + 1)2

EXAMPLE :

(G( j))

(G( j))

0.0000

5.0000

0.0000

0.0019

4.9999

-0.0186

0.0040

4.9998

-0.0404

I: At s = 0, G(s) = 5.

0.0088

4.9988

-0.0879

5
.
(1 + j)2
III: At |s| = , G(s) = 0.

0.0191

4.9945

-0.1908

0.0415

4.9742

-0.4135

0.0902

4.8797

-0.8872

IV: At s =
5
.
(1 j)2

0.1959

4.4590

-1.8172

0.4258

2.9333

-3.0513

0.9253

0.2086

-2.6856

2.0108

-0.5983

-0.7906

4.3697

-0.2241

-0.1082

9.4957

-0.0536

-0.0114

20.6351

-0.0117

-0.0011

44.8420

-0.0025

-0.0001

97.4460

-0.0005

-0.0000

500.0000

-0.0000

-0.0000

II: At s = j, G( j) =

j,

G(s)

(s)

(s)

No encirclements of 1, N = 0.
No open-loop unstable poles P = 0.
Z = N + P = 0. Closed-loop system is stable.
No encirclements of 1/K for any K > 0.
So, system is stable for any K > 0.
Conrm by checking Routh array.

829

FREQUENCY-RESPONSE ANALYSIS

Routh array: a(s) = 1 + K G(s) = s 2 + 2s + 1 + 5K .


s2
1
1 + 5K
s1
2
s 0 1 + 5K
Stable for any K > 0.

-0.8008

4.4492

-1.8624

2.4428

-3.2725

1.2

-0.5621

-2.0241

2.9

-0.4764

-0.1933

7.1

-0.0737

0.0262

17.7

-0.0046

0.0064

43.7

-0.0002

0.0006

100.0

Note loop to left of origin. System


is NOT stable for all K > 0.

4.9053

0.5

IV: G( j) = G( j) .

0.2

5.0000

0.1

G(s) =

(G( j))

50
.
(s + 1)2(s + 10)
I: G(0) = 50/10 = 5.
50
II: G( j) =
.
( j + 1)2( j + 10)
III: G() = 0.
EXAMPLE :

(G( j))

-0.0000

0.0000

(s)

Zoom

(s)

EXAMPLE :

Pole(s) at origin. G(s) =

1
.
s( s + 1)

830

FREQUENCY-RESPONSE ANALYSIS

WARNING! We cannot blindly follow procedure!


Nyquist path goes through pole at zero! (Remember from Cauchys
theorem that the path cannot pass directly through a pole or zero.)
Remember: We want to count closed-loop poles inside a box that
encompases the RHP.
So, we use a slightly-modied Nyquist path.
(s)

(s)
III

II

(s)

Zoom

(s)

IV

The bump at the origin makes a detour around the offending pole.
Bump dened by curve: s = lim e j ,
0

0 90.

From above,
G(s)|s=e j =

1
,
e j (e j + 1)

0 90

Consider magnitude as 0
lim |G(s)|s=e j =

1
1
.
|e j + 1|

Consider phase as 0
lim G(s)|s=e j = (e j + 1).
0

831

FREQUENCY-RESPONSE ANALYSIS

So,
1
+
0

lim G(e j ) = lim

This is an arc of innite radius, sweeping from 0 to 90+ (a little


1
more than 90 because of contribution from
term).
( s + 1)
WE CANNOT DRAW THIS TO SCALE!
Z = N + P.
N = # encirclements of 1. N = 0.
P = # Loop transfer function poles
inside MODIFIED contour. P = 0.
Z = 0. Closed-loop system is stable.
EXAMPLE:

G(s) =

1
s 2(s + 1)

Use modied Nyquist path again


I: Near origin
G(s)|s=e j =
Magnitude: lim |G(e j )| =
0

1
.
2e j 2 (1 + e j )

1
1
2.
2|1 + e j |

Phase: lim G(e j ) = 0 [2 + (1 + e j )] 2 +. So,


0

1
2 +
0 2

lim G(e j ) = lim

0 90.

832

FREQUENCY-RESPONSE ANALYSIS

Innite arc from 0 to 180+ (a little


1
more than 180 because of
term.)
1+s
Z = N + P = 2 + 0 = 2. Unstable for
K = 1.
In fact, unstable for any K > 0!
Matlab for above
G(s) =

1
s 3 + s 2 + 0s + 0

num=[0 0 0 1];
den=[1 1 0 0];
nyquist1(num,den);
axis([xmin xmax ymin ymax]);
nyquist1.m is available on http://mocha-java.uccs.edu
under the ECE4510 home page.
It repairs the standard Matlab nyquist.m program, which doesnt
work when poles are on imaginary axis.
nyquist2.m is also available. It draws contours around poles on the
imaginary axis in the oposite way to nyquist1.m. Counting is
different.
Stability Margins
A large fraction of systems to be controlled are stable for small gain
but become unstable if gain is increased beyond a certain point.

833

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 magnies 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.

834

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!
Dene gain crossover as frequency where Bode magnitude is 0 dB.
Dene 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

10

10

10

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

10

10

10

10

Frequency, (rads/sec.)

We can also determine stability as K changes. Instead of dening


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.

835

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
2
n
G(s) =
s(s + 2 n )
with unity feedback,
2
n
T (s) = 2
.
2
s + 2 n + n

The relationship between PM and is: (for this system)

PM = tan1

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

Overshoot fraction versus PM

0.9

M p , overshoot

Damping ratio

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

Phase margin

60

70

80

836

FREQUENCY-RESPONSE ANALYSIS

Bodes 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)
1 dM
Relationship: G( jo) =
W (u) du
(in radians)
du
M = ln |G( j)|
u = ln

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, G( j) n 90
if slope of Bode magnitudeplot is constant in the decadeneighborhood of .

So, if G( j) 90 if n = 1.

3.5

W (u)

3
2.5
2
1.5
1
0.5
0
6

Normalized freq. u

So, if 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.

837

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
and |K D( j)G( j)|

for

c
c

where c is the cutoff frequency where open-loop magnitude


response crosses magnitude=1.
|T ( j)| =

K D( j)G( j)

1 + K D( j)G( j)

Note: c bw 2c .

1,

|K D( j)G( j)|,

c ;
c .

91

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

10
TD

0.1
TD

1
TD

10
TD

92

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 amplies high-frequency sensor noise.
Lead Compensation
Compensator D(s) = K

Ts + 1
,
T s + 1

< 1.

Approximate PD control for frequencies up to =


Magnitude and phase effect:

1
.
T

max
K

1
T

max

0.1
T

1
T

1
T

max

The phase contributed at frequency is


= tan1 (T ) tan1 (T ) .

1
T

The maximum phase is


max = sin1

1
1+

at max =

To nd to add a certain phase max


1 sin(max)
=
.
1 + sin(max)

1
.
T

10
T

93

FREQUENCY-RESPONSE DESIGN

1
1
We can show that max occurs mid-way between and
on a log
T
T
scale
1

1
= log
T

log(max) = log
T
=

1
1
log
2
T

+ log

1
T

1
+ log
T
.

90
80
70
60

max

How much can we


improve phase with a
lead network?

50
40
30
20
10
0 0
10

10

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 specication include:
Desired steady-state error.
Desired phase margin.

94

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
ess = lim s
s0

= lim

s0

1
R(s)
1 + D(s)G(s)
1
1
s + D(s) (s+1)

1
D(0)

Ts + 1
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.
D(s) = K

95

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)
D(s) = 10

2s/3 + 1
.
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

10

10

10

10

1.5
2

1.5

(rad/sec)

0.5

100

Imag Axis

110

Phase

Real Axis

90

120
130
140
150
160

2
0
2
4

170
180
2
10

0.5

10

10

(rad/sec)

10

10

6
7

Real Axis

Resulting PM = 44. Iterate if desired to meet specs.

96

FREQUENCY-RESPONSE DESIGN

Step Response

Ramp Response
3
2.5

Amplitude

Amplitude

1.2

0.8
0.6
0.4

1.5
1
0.5

0.2
0
0

0.5

1.5

2.5

0
0

0.5

Time (sec.)

1.5

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 specications
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( jc )|,

G = G( jc ).

Compute phase lead required


max = PM G 180.
Compute
=

1 sin(max)
.
1 + sin(max)

97

FREQUENCY-RESPONSE DESIGN

Compute T
1
T =
.
c
Compensation is
D(s) = K

Ts + 1
T s + 1

+1
+1

1
+1
= K
+1
K
= .

|D( jc )| = K

Open-loop gain at c is designed to be 1:


|D( jc )||G( jc )| = 1
K
|G( jc )| = 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)

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)
% rst 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:

98

99

FREQUENCY-RESPONSE DESIGN

Magnitude (dB)

Phaselead design (uncompensated=dashed; compensated=solid)


40
20
0
20
40
60
0.01

0.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.
D(s) = K 1 +

1
.
TI s

0.1TI
10K

90
TI

10TI

TI

10TI

910

FREQUENCY-RESPONSE DESIGN

Innite 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 overow.
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

90
1
T

1
T

Steady-state response improves with little effect on transient


response.

911

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.

+1

912

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 =
= .
T
10
5s + 1
D(s) = 2
.
10s + 1
Step Response
From: U(1)
1.4

To: Y(1)

Amplitude

1.2

0.8

0.6

0.4

0.2

0
0

10

15

20

25

Time (sec.)
2

10

Imag Axis

Magnitude

20

0
10
20

30
40 2
10

10

10

10

2
3.5

10

2.5

(rad/sec)

1.5

0.5

0.5

0.5

Real Axis
2

Imag Axis

30

Phase

60
90
120
150
180
210

240
270
2
10

10

10

(rad/sec)

10

10

2
3.5

2.5

1.5

0.5

Real Axis

913

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

10

10

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.

914

Sensor noise and plant


sensitivity boundary

Steady-state
Error Boundary

Magnitude of D(s)G(s)

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)
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)
Dene the sensitivity function S(s) to be
1
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).

915

FREQUENCY-RESPONSE DESIGN

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
T
SG =

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

916

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?

917

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()

918

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) ( 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
exibility is common.
Typical W2
700

Magnitude

600
500
400
300
200
100
0
0

500

1000

1500

2000

Frequency (rads/sec.)

( j) expresses uncertainty in phase. The only restriction is


| ( j)| 1.

Design
Assume design for nominal plant G n (s) is stable. Thus,
1 + D( j)G n ( j) = 0 .

919

FREQUENCY-RESPONSE DESIGN

For robust stability,

1 + D( j)G( j) = 0
1 + D( j)G n ( j)[1 + W2() ( j)] = 0
1 + D( j)G n ( j)
D( j)G n ( j)
W2() ( j) = 0
+
1 + D( j)G n ( j) 1 + D( j)G n ( j)
=0

by assumption
D( j)G n ( j)
,
1 + D( j)G n ( j)
[1 + T ( j)W2() ( j)] = 0
so, |T ( j)W2() ( 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.

920

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.

101

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
rst-order differential equation in an N -vector called the STATE. N
rst-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
..

Dene a state vector


x(t) =

y(t)
.
y (t)

STATE-SPACE MODELS

y (t)
..
y (t)

then, x(t) =

102

y (t)
.
= k
b .
1
y(t) y (t) + f (t)
m
m
m
.

We can write this in the form x(t) = A x(t) + B f (t), where A and B are
constant matrices.

A=

B=

Complete the picture by setting y(t) as a function of x(t). The general


form is:
y(t) = C x(t) + D f (t)
where C and D are constant matrices.
C=

D=

Fundamental form for linear state-space model:


.

x(t) = A x(t) + Bu(t)


y(t) = C x(t) + Du(t).
where u(t) is the input, x(t) is the state, A, B, C, D are constant
matrices. We usually assume that x(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.

103

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.
..

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
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)

104

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
poles of

..

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
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)
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)).

105

STATE-SPACE MODELS

Modal (Diagonal) Form


There are various canonical forms for representing the dynamics of
any particular system.
All related by linear algebrachange 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=

...

0
C=

r1

r2
B= .
.
.
rn

pn

1 1 1 ,

D=

Easily extends to handle complex poles s = + j.

106

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) = A X (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) =

[C(s I A)1 B + D]

U (s) +

response to initial conditions

transfer function of system


So,

C(s I A)1 x(0)

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 )

107

STATE-SPACE MODELS

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
C D

det
=
EXAMPLE :

det[s I A]

a1 a2 a3

A= 1
0
0
0
1
0

1

B=0
0

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).

108

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)]
= T 1 AT z(t) + T 1 B u(t)

y(t) = C T z(t) + D u(t)

so z (t) = Az(t) + Bu(t)

y(t) = C z(t) + Du(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 A)1 B + D


Need H1 (s) = H2(s).
H1 (s) = C(s I A)1 B + D

109

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 A)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?
9 = size
.
Time (Dynamic) Response
Develop more insight into the system response by looking at
time-domain solution for x(t).
Scalar case rst, 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).

1010

STATE-SPACE MODELS

Take Laplace. X (s) = (s I A)1 x(0).


x(t) = 1[(s I A)1]x(0).
But,
(s I A)

I
A2
A
= + 2 + 3 +
s s
s

so,

A2 t 2 A3t 3
[(s I A) ] = I + At +
+
+
2!
3!
1

= 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 = 1[(s I A)1] straightforward for 2 2.
EXAMPLE :

x = Ax,

A=

(s I A)1 =

s 1
2 s+3

s+3 1
2 s

0 1
2 3

1
(s + 2)(s + 1)

STATE-SPACE MODELS

1
1
1
2
s+1 s+2 s+1 s+2
= 2
2
2
1
+
+
s+1 s+2 s+1 s+2
e

At

2et e2t
et e2t
2et + 2e2t et + 2e2t

1(t)

This is the best way to nd e At if A 2 2.

Forced Solution (scalar)


.
x(t) = ax(t) + bu(t),
t

x(t) = e x(0) +
at

x(0)

ea(t )bu( ) d

convolution
Where did this come from?
.

1. x(t) ax(t) = bu(t)


.

2. eat [x(t) ax(t)] =


t

3.
0

d at
[e x(t)] = eat bu(t).
dt

d a
[e x( )] d = eat x(t) x(0) =
dt

ea bu( ) d.

Forced Solution (full solution)


.

Now, let x(t) = Ax(t) + Bu(t),

n1

m1

Follow three steps above to get


t

x(t) = e x(0) +
At

e A(t ) Bu( ) d

Clearly, if y(t) = C x(t) + Du(t),


t

y(t) = Ce x(0) +
At

initial resp.

Ce A(t ) Bu( ) d +

convolution

Du(t)
feedthrough

1011

1012

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 = =diagonal.
Then, e At = T e t T 1, and

1 t

0
e2 t

...
en t

Much simpler form for the exponential, but how to nd T,

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 nd all eigenvectors. Assume that v1, v2, . . . vn are linearly
independent.
Avi = i vi
i = 1, 2, . . . , n

0
1

...
A v1 v 2 . . . v n = v 1 v 2 . . . v n

1013

STATE-SPACE MODELS

AT = T

T 1 AT =

Not all matrices diagonalizable


A=

0 1
0 0

det(I A) = 2

One eigenvalue = 0. Solve for the eigenvectors


va
vb

0 1
0 0

=0

all vectors of the form

va
0

= 0.

Dynamic Interpretation
Write T 1 AT =

1
as T A = T 1 with

T 1

T
w1
T
w2
= .
.
.
T
wn

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 e t T 1

v1 v2 . . . v n

1 t

0
e2 t

...
en t

T
w1
T
w2

.
.
.
wn T

ei t vi wiT

=
i =1

Very simple form.


Can be used to develop intuition about dynamic response ei t .

1014

STATE-SPACE MODELS

Recall,

x(t) = Ax(t)
x(t) = e At x(0)
= T e t T 1 x(0)
n

ei t vi (wiT x(0)).

=
i =1

Solution (trajectory) can be expressed as a linear combination of


system modes: vi ei t .
Left eigenvectors decompose initial state x(0) into modal coordinates
wiT x(0).
ei t propagates mode forward in time. Stability?
vi corresponds to relative phasing of state contribution to the modal
response.
EXAMPLE :

with x(t)

Lets consider a specic system


.
x(t) = Ax(t)
y(t) = C x(t)
161

, y(t)

. (16-state, single output).

A lightly damped system.


Typical output to initial conditions:

1015

STATE-SPACE MODELS

Impulse Response
2
1.5

Amplitude

1
0.5
0
0.5
1
1.5
2

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 .
Dene new coordinates by x(t) = T x(t) so

x(t) = T 1 Ax(t) = T 1 AT x(t) =

x(t).

In new coordinate system, system is diagonal (decoupled).

1016

STATE-SPACE MODELS
1

50

100

150

200

250

50

100

150

200

250

50

100

150

200

250

50

100

150

200

250

50

100

150

200

250

50

100

150

200

250

50

100

150

200

250

50

100

150

200

250

0.5
0
0.5
1

0.5
0
0.5

0.5
0
0.5

1
0
1
1

0.5
0
0.5

1017

STATE-SPACE MODELS

1/s

x1

1/s

Trajectories consist of n independent modes; that is,


xi (t) = ei t xi (0)

xn

hence the name, modal form.

Can write
x(t) = e At x(0)
= T e t T 1 x(0)
n

ei 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).
ei t term propagates ith mode forward t seconds.
Reconstruct state as linear combination of right eigenvectors.
ZerosSISO 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 .

1018

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

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)

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


det

zi I A B
C
D

=0

Recall
det

s I A B
C D
det(s I A)

EXAMPLES :

We see that a specic frequency is blocked in the output by


a zero, BUT, the output does not need to be identically zero.

1019

STATE-SPACE MODELS
y1out
y1out
1

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.5

1.5

2.5

3.5

4.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.5

1.5

2.5

Time (sec.)

3.5

4.5

1020

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 1n .
r (t)

u(t)

A, B, C

y(t)

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?

1021

STATE-SPACE MODELS

EXAMPLE :

x(t) =

1 1
1 2

1
0

x(t) +

u(t).

det(s I A) = (s 1)(s 2) 1 = s 2 3s + 1.
(Note. The original system is unstable).
Let
u(t) = k1 k2 x(t) = K x(t)
ACL = A B K =
=

1 1
1 2

1
0

1 k1 1 k2
1
2

k1 k2
.

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,

K = [14 57].

k1 3 = 11,
1 2k1 + k2 = 30,

or, k1 = 14
or, k2 = 57.

1022

STATE-SPACE MODELS

So, with the n parameters in K , can we always relocate all n i ( ACL )?


Most physical systems, qualied 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) =

1 1
0 2

1
0

x(t) +

u(t)

u(t) = K x(t).
1 k1 1 k2
0
2

ACL = A B K =

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

1 0
0 2

1 1
0 1

V =

V 1 =

convert x(t) = Ax(t) + Bu(t) to


.
z (t) = z(t) + V 1 Bu(t)
V 1 B =

1 1
0 1

1
0

1
0

1 1
0 1

1023

STATE-SPACE MODELS

Therefore, modal dynamics


.

z (t) =

1 0
0 2

z(t) +

1
0

u(t).

Decoupled
Control input does not inuence second mode directly or indirectly.
System is NOT controllable.
Easier ways to test controllability. Is the (controllability) matrix
Mc =

B AB A2 B . . . An1 B

nn

full rank?
EXAMPLE :
Mc =

1 1
0 1

Rank =?

Mc =

1 1
0 0

Rank =?

EXAMPLE :

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
C=

b1 b2 b3

1024

STATE-SPACE MODELS

Note, K =

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.
Ackermanns formula does this entire process in one step.
1
K = [0 0 . . . 1]Mc d ( A)
where
Mc = [B AB A2 B . . . An1 B]
d ( A) = An + 1 An1 + + n I
where d (s) = s n + 1s n1 + . . . + n = 0
That is, d (s) is the characteristic equation of desired pole locations.

1025

STATE-SPACE MODELS

Revisit previous example. d (s) = s 2 + 11s + 30.


Mc =

1 1
0 1

K =

0 1

1 1
0 1

0 1

1 3
3 5

0 1

42 14
14 57

14 57 .

1 1
1 2
+

1 1
1 2

+ 11

1 1
1 2

+ 30

1 0
0 1

41 11
11 52

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.

1026

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 =

1 1
1 2

1 0 . Then

K =

14 57

Y (s)
= C(s I A + B K )1 B.
R(s)

Y (s)
=
R(s)
=

1
0

B=

s + 13 56
1 s 2

1 0

1
0

s2
.
s 2 + 11s + 30
2
=1!
30

Final value theorem for step input, y(t)


Partial statespace 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

K
K=[14 57]

Step Response

0.06

Amplitude

0.04

0.02

0.02

0.04

0.06

0.08

Time (sec.)

yout
yout

C=[1 0]

StateSpace

Kx(t)

y(t)

10

1027

STATE-SPACE MODELS

Modication: 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 = Nu rss
11

x ss = N x rss .
n1

How to nd 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
C D

Nx
Nu

0
1

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).

1028

STATE-SPACE MODELS

In our example

Nx
Nu

1
1

= 2
1

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 Nr(t)
y(t) = C x(t)
Therefore,

Y (s)
=
R(s) new

Y (s)

N
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.

1029

STATE-SPACE MODELS

r (t)

u(t)

Nu

A, B, C

y(t)

x
K

Nx

u(t)

r (t)

A, B, C

y(t)

K
Partial statespace model:
A=[1 1; 1 2], B=[1; 0],
C=[1 0; 0 1], D=[0; 0].
15
Gain

Sum

y(t)

yout
yout

C=[1 0]

StateSpace
Kx(t)

K
K=[14 57]

Step Response

1
0.8
0.6

Amplitude

Step

x(t)

x = Ax+Bu
y = Cx+Du

0.4
0.2
0
0.2
0.4
0.6
0.8

Time (sec.)

10

1030

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
2
s 2 + 2 n s + n

s = n jn 1 2

Put other poles so that the time response is much faster than this
dominant behavior.
Place them so that they are sufciently 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

Step Response: Constant Bandwidth


0.8

0.8

Amplitude

Amplitude

0.6
0.4

0.4
0.2

0.2
0
0

0.6

10

Time (sec.)

12

14

16

0
0

0.5

1.5

Time (sec.)

2.5

1031

STATE-SPACE MODELS

ITAE Prototype Systems


Step Response: Constant Bandwidth

Step Response: Constant ts


1

0.8

0.8

Amplitude

Amplitude

0.6
0.4
0.2
0
0

0.6
0.4
0.2

10

12

14

16

0
0

0.5

Time (sec.)

1.5

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

2.5

1032

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.


1:
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:

PROCEDURE :

1.0000

0.5385 0.9617 j

0.7998 0.5622 j

0.9093 0.1856 j

For nth-order systemdesired 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 systemdesired 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.

1033

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 exible systems. Why?
0

ITAE: , Bessel,

Magnitude

20

40

60

80

100

120

140
1
10

10

, (rads/sec.)

10

Feedback Control Systems.

111

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 specied via linear, constant-coefcient
ordinary differential equations (LCCODE).
Examples include:
Mechanical systems: Use Newtons laws.
Electrical systems: Use Kirchoffs laws.
Electro-mechanical systems (generator/motor).
Thermodynamic systems.
Fluid-dynamic systems.
EXAMPLE:

Second-order system:
..
.
2
2
y (t) + 2 n y (t) + n y(t) = n u(t).

u(t) is the input.


y(t) is the output.

112

REVIEW OF FEEDBACK CONTROL

dy(t)
.
dt
..
d 2 y(t)
y (t) =
.
dt 2
The Laplace Transform is a tool to help analyze dynamic systems.
Y (s) = H (s)U (s), where
y (t) =

Y (s) is Laplace transform of output, y(t);


U (s) is Laplace transform of input, u(t);
H (s) is transfer functionthe Laplace tx of impulse response, h(t).
.

y (t) = sY (s) for no initial conditions.


EXAMPLE:

Second-order system:
2
2
s 2Y (s) + 2 n sY (s) + n Y (s) = n U (s)
2
n
Y (s) = 2
U (s).
2
s + 2 n s + n

Transforms for systems with LCCODE representations can be written


as Y (s) = H (s)U (s), where
b0s m + b1s m1 + + bm1s + bm
H (s) =
,
a0s n + a1s n1 + + an1s + 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);

113

REVIEW OF FEEDBACK CONTROL

Can also represent these systems by factoring the polynomials into


zero-pole-gain form:
m
i =1 (s z i )
H (s) = K n
.
(s pi )
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
Matlabs impulse, step, and lsim commands can be used to
nd 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
nal, constant value,
lim x(t) = lim s X (s).
t

s0

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)

Y (s)

Y (s) = H (s)U (s)

114

REVIEW OF FEEDBACK CONTROL

U (s)

Y (s)

H2 (s)

Y (s) = [H1(s)H2(s)] U (s)

Y (s)

H1 (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 Masons 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)

Y (s)

H (s)

U2 (s)

U1 (s)

Y2 (s)

H (s)

1
H2 (s)

Unity Feedback

H2 (s)

H1 (s)

Y (s)

115

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]);

impulse([0 1],[1 1]);


1

0.8

0.8

0.6

0.4

y(t) K

h(t)

1
e

0.2

0
0

K (1 et/ )
System response. K = DC gain

0.6

0.4

Response to initial condition


0.

0.2

t =

Time (sec )

0
0

t =

Time (sec )

If a system has complex-conjugate poles, each may be written as:


2
n
H (s) = 2
.
2
s + 2 n s + n
We can extract two more parameters from this equation:
= n and d = n 1 2.

116

REVIEW OF FEEDBACK CONTROL

plays the same role as aboveit species


decay rate of the response.

(s)

= sin ( )

d is the oscillation frequency of the output.


Note: d = n unless = 0.

is the damping ratio and it also plays a


role in decay rate and overshoot.

(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

0.8

0.5

1.0
1
0

n t

10

12

0
0

n t

10

12

A summary chart of impulse responses and step responses versus


pole locations is:
(s)

(s)

(s)
Impulse responses vs. pole locations

(s)
Step responses vs. pole locations

117

REVIEW OF FEEDBACK CONTROL

Time-domain specications 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 nal value.

80

M p, %

70

Settling time ts = time until permanently within 1% of nal value.

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

118

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

s0

System type = 0 iff ess is nite for unit-step reference-input 1(t).


System type = 1 iff ess is nite for unit-ramp reference-input r(t).
System type = 2 iff ess is nite 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

s0

s0

s0

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

REVIEW OF FEEDBACK CONTROL

119

Types of Controllers
Proportional ctrlr: u(t) = K e(t).
D(s) = K .
K t
K
Integral ctrlr
u(t) =
e(t) dt.
D(s) =
TI
TI s
.
Derivative ctrlr.
u(t) = K TD e(t)
D(s) = K TD s
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
,
< 1 (approx PD)
T s + 1
Ts + 1
Lag:
D(s) = K
,
> 1 (approx PI;
T s + 1
often, K = )
(T1s + 1)(T2s + 1)
Lead/Lag:
D(s) = K
, 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

1110

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
denition. 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)
=
l =

pi z i
a1 + b1
=
nm
nm
180 + (l 1)360
,
nm

l = 1, 2, . . . n m

For n m > 0, there will be a branch of the locus approaching each asymptote and departing to
innity. For n m < 0, there will be a branch of the locus arriving from innity along each
asymptote.

STEP 4: Compare locus departure angles from the poles and arrival angles at the zeros where
qdep =

i 180 l360

qarr =

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.

1111

REVIEW OF FEEDBACK CONTROL

STEP 5: If further renement 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
innity.

STEP 8 Select the desired point on the locus that meets the specications (s0), then use the
magnitude condition to nd that the value of K associated with that point is
1
K =
.
|b (s0 ) /a (s0 )|

When K is negative, the denition of the root locus in terms of the


phase relationship is
0 locus denition: 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 modied 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
,
nm

l = 1, 2, . . . n m.

STEP 4: The locus departure and arrival angles are modied to


qdep =

i l360

qarr =

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 systems output sinusoid if the system
input is a sinusoid. [What about output frequency?]
If the plants transfer function is G (s), the open-loop frequency
response is G ( j).

1112

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 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

10

0.1

10

|K | > 1

0.1

10

|K | < 1

Delay; magnitude & phase

0.1

dB

0.1

10

Zero at origin; magnitude & phase


90

dB

0.1

10

10

1113

REVIEW OF FEEDBACK CONTROL


Pole at origin; magnitude & phase
dB

0.1

0.1

10

10

90
Zero on real axis; magnitude & mp-phase & nmp-phase
dB

180

90

90

0.1i

0.1i

10i

1i

10i

1i

0.1i

1i

10i

0.1i

1i

1i

10i

10i

Pole on real axis; magnitude & mp-phase & nmp-phase


0.1i
dB

1i

10i

0.1i

90

90

180

Complex zeros; magnitude & mp-phase & nmp-phase


180

40

360
270

20
90

180

90
20

0
0.1n
n
10n
0.1n
Complex poles; magnitude & mp-phase & nmp-phase

10n

90
90

180

20

270
0.1n

10n

10n

10n

40

0.1n

20

0.1n

180
0.1n

10n 360

1114

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 rst frequency break point, then
stepping the slope by 1 or2, depending on whether the break point is from a rst 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 rst order numerator breaks and decreasing it by a factor of 0.707 (-3dB)
at rst 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 rst 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.

1115

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)

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 modied 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, . . .

1116

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

Overshoot fraction versus PM

0.9

M p , overshoot

Damping ratio

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,


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.

S-ar putea să vă placă și