Sunteți pe pagina 1din 230

Lecture notes for EE250

(Control Systems Analysis)


Ramprasad Potluri
Department of Electrical Engineering, IIT Kanpur
January 2, 2012
EE250 (Control Systems Analysis) IITK Lecture Notes
January 2, 2012 ii of 218 Ramprasad Potluri
Contents
Preface ix
Notation xi
I Preliminaries 1
1 Introduction to the course 3
1.1 About the title of the course . . . . . . . . . . . . . . . . . . . . . 3
1.2 Denition of negative feedback control . . . . . . . . . . . . . . 3
1.3 Examples of control systems . . . . . . . . . . . . . . . . . . . . . 4
1.4 Videos of control systems . . . . . . . . . . . . . . . . . . . . . . 5
1.5 Appendix: History of control systems . . . . . . . . . . . . . . . 6
2 Dynamic systems, transfer functions, and block diagrams 7
2.1 Dynamic systems . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.2 Transfer functions, block diagrams . . . . . . . . . . . . . . . . . 8
2.3 Appendix: Detailed model of a DC motor . . . . . . . . . . . . . 10
3 Transfer functions and block diagrams revisted, state-space equa-
tions, an example of design in state space 13
3.1 Transfer functions revisited . . . . . . . . . . . . . . . . . . . . . 13
3.2 Block diagrams revisited . . . . . . . . . . . . . . . . . . . . . . . 14
3.3 State-space equations . . . . . . . . . . . . . . . . . . . . . . . . . 15
3.4 An example of design in the state-space domain . . . . . . . . . 17
4 An example of design in the classical domain, block diagram manip-
ulations 21
4.1 An example of design in the classical control domain . . . . . . 21
4.2 Rules of block diagram algebra . . . . . . . . . . . . . . . . . . . 22
4.3 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
4.4 Appendix: A little more on state-space theory . . . . . . . . . . . 25
4.5 Appendix: Similarities and differences between classical and LTI
state-space control . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
5 Signal ow graphs 27
5.1 Denitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
5.2 SFG Algebra . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
5.3 Appendix: Usage of these terms . . . . . . . . . . . . . . . . . . . 29
iii
EE250 (Control Systems Analysis) IITK Lecture Notes
6 Masons gain formula, properties desired from a control system 31
6.1 Masons gain formula . . . . . . . . . . . . . . . . . . . . . . . . . 31
6.2 A note on loop gain . . . . . . . . . . . . . . . . . . . . . . . . . . 32
6.3 Properties desired from a control system . . . . . . . . . . . . . . 33
7 Virtues of control systems: Disturbance rejection 35
8 Virtues of control systems: Improvement in performance and over-
coming deadzone 37
8.1 Improvement in speed of response . . . . . . . . . . . . . . . . . 37
8.2 Command feedforward . . . . . . . . . . . . . . . . . . . . . . . 39
II Bode Plots 41
9 Frequency response 43
9.1 Denition of Frequency Response . . . . . . . . . . . . . . . . . . 43
9.2 Problem statement . . . . . . . . . . . . . . . . . . . . . . . . . . 43
9.3 Solution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
9.4 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
9.5 Caution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
9.6 Appendix . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
10 Bode plots (Part 1) 47
10.1 Uses of frequency response in control systems . . . . . . . . . . 47
10.2 Convention in constructing Bode plots . . . . . . . . . . . . . . . 48
10.3 Types of Bode plots . . . . . . . . . . . . . . . . . . . . . . . . . . 50
10.4 Appendix: Angles in MATLAB . . . . . . . . . . . . . . . . . . . 50
10.5 Appendix: Angles in GNU Octave . . . . . . . . . . . . . . . . . 51
10.6 Appendix: Examples of departure of MATLAB fromthe conven-
tion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
11 Bode plots (Part 2) 55
11.1 First method for sketching an ABMP . . . . . . . . . . . . . . . . 55
11.2 Second method for sketching an ABMP . . . . . . . . . . . . . . 59
12 Bode plots (Part 3) 61
12.1 Comparison of the two methods for constructing ABMPs . . . . 61
12.2 Selecting an to vertically x an ABMP in the second method . 61
12.3 Examples of construction of ABPs . . . . . . . . . . . . . . . . . 62
12.4 BP and ABP of the second order TF . . . . . . . . . . . . . . . . . 62
12.5 Appendix: MATLAB codes . . . . . . . . . . . . . . . . . . . . . 63
13 Bode plots (Part 4) 65
13.1 Notes on the ABMP of second order TF . . . . . . . . . . . . . . 65
13.2 Complete BP of second order TF . . . . . . . . . . . . . . . . . . 65
13.3 Filter-related terminology used in BPs . . . . . . . . . . . . . . . 67
13.4 Minimum phase TF . . . . . . . . . . . . . . . . . . . . . . . . . . 67
13.5 Appendix: MATLAB codes . . . . . . . . . . . . . . . . . . . . . 67
January 2, 2012 iv of 218 Ramprasad Potluri
EE250 (Control Systems Analysis) IITK Lecture Notes
III Stability Theory 69
14 Stability theory (Part 1) 71
14.1 Minimum phase TFs (concluded) . . . . . . . . . . . . . . . . . . 71
14.2 Why practical rational TFs are proper . . . . . . . . . . . . . . . 71
14.3 BIBO stability of LTI systems** . . . . . . . . . . . . . . . . . . . 71
14.4 Discussion of the theorem and its proof** . . . . . . . . . . . . . 73
14.5 Appendix: Some literature that discusses BIBO stability . . . . . 74
15 Stability theory (Part 2) 75
15.1 A question of interest . . . . . . . . . . . . . . . . . . . . . . . . . 75
15.2 Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
15.3 An interesting example . . . . . . . . . . . . . . . . . . . . . . . . 78
16 Nyquist Stability Criterion (Part 1)* 79
16.1 A quick recap . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
16.2 Problem statement . . . . . . . . . . . . . . . . . . . . . . . . . . 79
16.3 Cauchys theorem (Principle of argument) . . . . . . . . . . . . . 80
17 Nyquist Stability Criterion (Part 2)* 83
17.1 Application of Cauchys theorem in Nyquists stability criterion 83
17.2 Discussion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
18 Nyquist Stability Criterion (Part 3) 87
18.1 Example 1: G(s) = K/s . . . . . . . . . . . . . . . . . . . . . . . . 87
18.2 Convention followed in sketching Nyquist plots . . . . . . . . . 88
18.3 Example: G(s) = K
_
(s + 1) . . . . . . . . . . . . . . . . . . . . . 90
18.4 Example: G(s) = K(s + 10)
2
_
s
3
. . . . . . . . . . . . . . . . . . 90
18.5 Appendix: A useful fact . . . . . . . . . . . . . . . . . . . . . . . 90
19 Nyquist Stability Criterion (Part 4) 91
19.1 Gain margin, phase margin . . . . . . . . . . . . . . . . . . . . . 91
19.2 When GM and PM are useful . . . . . . . . . . . . . . . . . . . . 92
19.3 Appendix: Dead-time element in MATLAB . . . . . . . . . . . . 93
20 Nyquist Stability Criterion (Part 5) 95
20.1 Demonstration of quick construction of Nyquist plots . . . . . . 95
20.2 Critical gain . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
20.3 Conditionally stable systems . . . . . . . . . . . . . . . . . . . . 96
20.4 Using
1
K
+ j0 instead of 1 + j0 . . . . . . . . . . . . . . . . . . 96
20.5 Nyquist plots in MATLAB and GNU Octave . . . . . . . . . . . 96
20.6 Rotation of a vector instead of encirclement . . . . . . . . . . . . 97
20.7 Discussion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
IV Design using bode plots-based loop-shaping for
minimum-phase plants 101
21 NST (concluded), Loop-shaping (Part 1) 103
21.1 Nyquist stability theory (conclusion) . . . . . . . . . . . . . . . . 103
21.2 Specications for control system design . . . . . . . . . . . . . . 103
January 2, 2012 v of 218 Ramprasad Potluri
EE250 (Control Systems Analysis) IITK Lecture Notes
21.3 Loop gain and shaping . . . . . . . . . . . . . . . . . . . . . . . . 104
21.4 BMP-BPP correspondence for minimum-phase TFs . . . . . . . 105
21.5 Appendix: Bodes theorem . . . . . . . . . . . . . . . . . . . . . . 105
21.6 Appendix: NST for SFG dention of loop gain . . . . . . . . . . 105
22 Loop-shaping (Part 2) 107
22.1 Recap of specications for control system design . . . . . . . . . 107
22.2 Gist of loop-shaping-based design . . . . . . . . . . . . . . . . . 107
22.3 Stability . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
22.4 Robustness to plant parameter variations . . . . . . . . . . . . . 108
22.5 Relation between OL and CL BMP . . . . . . . . . . . . . . . . . 108
23 Loop-shaping (Part 3) 111
23.1 Satisfaction of desired performance . . . . . . . . . . . . . . . . . 111
23.1.1 Steady-state error . . . . . . . . . . . . . . . . . . . . . . . 112
23.1.2 Settling time . . . . . . . . . . . . . . . . . . . . . . . . . . 112
23.1.3 Overshoot . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
23.2 Respecting constraints on control input . . . . . . . . . . . . . . 113
23.3 Appendix: Additional loop-shaping tips . . . . . . . . . . . . . . 113
24 Loop-shaping (Part 4) 115
24.1 Robustness to disturbances . . . . . . . . . . . . . . . . . . . . . 115
24.2 Robustness to noises . . . . . . . . . . . . . . . . . . . . . . . . . 115
24.3 Summary of loop-shaping recipe . . . . . . . . . . . . . . . . . . 116
24.4 MATLAB-based example of loop-shaping . . . . . . . . . . . . . 116
24.4.1 Problem . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116
24.4.2 Solution . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
24.4.3 How to use MATLAB . . . . . . . . . . . . . . . . . . . . 117
24.4.4 Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118
24.4.5 MATLAB code . . . . . . . . . . . . . . . . . . . . . . . . 118
25 Loop-shaping (Part 5): Information from lead/lag controllers 123
25.1 Background . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123
25.2 Lead and lag controllers . . . . . . . . . . . . . . . . . . . . . . . 123
25.3 How DD-
max
relationship for lead/lag controllers is useful in
loop-shaping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125
25.4 Appendix: Derivation of DD versus PM relationship . . . . . . . 126
26 Loop-shaping (Part 6): Relation between M
p
and PM 131
26.1 Relation between M
p
and PM for second order system . . . . . 131
26.2 Applying the second order relation to higher order . . . . . . . . 133
27 Loop-shaping (Part 7): A solved example 139
27.1 Problem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139
27.2 Solution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140
28 Metrics for steady-state accuracy of unity-feedback systems built
around minimum-phase systems 145
28.1 Error constants . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146
28.2 How to read K
p
, K
v
, K
a
off the BMPs . . . . . . . . . . . . . . . . 147
28.3 System type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147
January 2, 2012 vi of 218 Ramprasad Potluri
EE250 (Control Systems Analysis) IITK Lecture Notes
28.4 Appendix: Various denitions of the Laplace transform . . . . . 149
28.5 Appendix: Unit impulse function . . . . . . . . . . . . . . . . . . 150
28.6 Appendix: Care needed in using the one-sided LT . . . . . . . . 151
29 An example of application of loop-shaping in automobile control 153
V Digital implementation of controllers 155
30 State space realization of transfer function 157
30.1 Example of state space realization . . . . . . . . . . . . . . . . . . 157
30.2 Numerical integration of state space model . . . . . . . . . . . . 161
VI Pole-placement design using root locus 163
31 Unit step response of second order TF 165
31.1 State-space realization (concluded): Determining the response
of a transfer function to an arbitrary input . . . . . . . . . . . . . 165
31.2 Unit step response of standard second order TF . . . . . . . . . . 167
31.3 Appendix: MATLAB codes . . . . . . . . . . . . . . . . . . . . . 167
32 Second order TF with additional zero 171
32.1 Analysis of formulae developed for unit step response of stan-
dard second order system . . . . . . . . . . . . . . . . . . . . . . 171
32.2 The case of an additonal zero in a second order TF . . . . . . . . 171
32.3 Appendix: MATLAB codes . . . . . . . . . . . . . . . . . . . . . 174
33 Second order TF with additional pole; recipe for pole-placement 179
33.1 Additional pole in second order TF . . . . . . . . . . . . . . . . . 179
33.2 Recipe for placement of CL poles in a second order TF . . . . . . 180
33.3 Root locus: What it is . . . . . . . . . . . . . . . . . . . . . . . . . 181
33.4 Appendix: MATLAB codes . . . . . . . . . . . . . . . . . . . . . 181
34 Root locus (Part 1) 183
34.1 Rules of sketching root locus . . . . . . . . . . . . . . . . . . . . . 183
34.2 Appendix: An alternative way to see Rule 2 . . . . . . . . . . . . 183
35 Root locus (Part 2) 185
36 Root locus (Part 3) 187
36.1 Roots of multiplicity greater than 1 . . . . . . . . . . . . . . . . . 187
36.2 Angles of departure and angles of arrival . . . . . . . . . . . . . 189
37 Root contours 191
38 Design using root locus 195
38.1 Appendix: TA09 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195
January 2, 2012 vii of 218 Ramprasad Potluri
EE250 (Control Systems Analysis) IITK Lecture Notes
VII Addressing nonlinearities 197
39 Stability of nonlinear control systems: Circle criterion 199
40 Dealing with plant input constraints: An anti-windup scheme 203
VIII PID Control 205
41 PID Controllers 207
42 Ziegler-Nichols tuning of PID controllers 209
42.1 What is controller tuning? . . . . . . . . . . . . . . . . . . . . . . 209
42.2 What the two ZNT methods do . . . . . . . . . . . . . . . . . . . 209
42.3 First method . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 210
42.4 Second method . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212
42.5 Appendix: Further reading . . . . . . . . . . . . . . . . . . . . . 212
January 2, 2012 viii of 218 Ramprasad Potluri
Preface
These lecture notes adapt from the many good books available in the market
the minimum set of topics that I have found necessary to practically build and
operate a simple control system based on a 39-hour lecture course. These notes
evolved as I taught over the past 5 years the course numbered EE250, titled
Control Systems Analysis, which is a core course in the Department of Electri-
cal Engineering, IIT Kanpur.
These notes, along with some tutorial sessions on MATLAB and GNU Oc-
tave, and with background acquired in a basic electrical engineering course on
motors and a basic electrical engineering course on signals and systems, are
adequate to design and operate, for example, a permanent magnet dc motor
control system. Indeed the set of experiments that we introduced in a course
numbered EE380 in the Control Systems Laboratory in the Department of Elec-
trical Engineering at IIT Kanpur in 2009, and that the students performed in
2010 and 2011 also, are entirely organized around dc motor control.
The specic background needed from the course in signals and systems is
mainly only a comfort with the Laplace transformand the convolution integral.
The specic background needed from the course on motors is only a comfort
with Maxwells laws and how these laws explain how a motor works.
Students traditionally nd certain topics difcult to understand. Those of
these topics that I consider are not mandatory for a well-rounded introduction
to feedback control, but are needed to see the complete story, are marked by 2
stars (**). I deemphasize these topics on the examinations. An example of this
topic is the theorem-proof discussion of stability.
On the other hand, certain topics that the student nds difcult, but are
needed for a well-rounded introduction to controls, are marked by a single
star (*). An example of such a topic is Nyquist stability criterion. The lectures
on these topics go at a slower pace.
The appendices of these notes shed more light on their respective lectures.
These appendices usually contain material that I consider slightly advanced
for the course or of only special interest, and are not discussed in the lectures.
Each lecture note also contains some problems for practice. These problems
are named Problem 1, Problem 2, etc. These problems are not discussed in lec-
tures, and are in addition to the problems that the students see in the tutorials.
Where needed, the appropriate literature is cited. While many good text-
books are available that may be relevant to this course, the textbooks that I cite
are mainly those that are available in the Indian market.
The topics of this course are organized as shown in Table 1. The last column
of the table may or may not be replaced by state-space methods. The student
may visit this table occasionally to navigate through the course.
ix
EE250 (Control Systems Analysis) IITK Lecture Notes
T
a
b
l
e
1
:
H
o
w
t
h
e
t
o
p
i
c
s
o
f
t
h
i
s
c
o
u
r
s
e
a
r
e
o
r
g
a
n
i
z
e
d
.
W
e
w
i
l
l
p
r
o
g
r
e
s
s
t
h
r
o
u
g
h
t
h
e
c
o
u
r
s
e
f
r
o
m
l
e
f
t
t
o
r
i
g
h
t
a
l
o
n
g
t
h
i
s
t
a
b
l
e
.
B
a
c
k
g
r
o
u
n
d
T
h
e
o
r
y
o
f
s
t
a
b
i
l
-
i
t
y
A
n
a
l
y
s
i
s
a
n
d
d
e
s
i
g
n
u
s
i
n
g
B
o
d
e
p
l
o
t
s
D
i
g
i
t
a
l
i
m
p
l
e
-
m
e
n
t
a
t
i
o
n
o
f
c
o
n
t
r
o
l
l
e
r
s
T
u
n
i
n
g
o
f
P
I
D
c
o
n
t
r
o
l
l
e
r
s
A
n
a
l
y
s
i
s
a
n
d
d
e
-
s
i
g
n
u
s
i
n
g
r
o
o
t
l
o
-
c
u
s
A
d
d
r
e
s
s
i
n
g
t
h
e
n
o
n
l
i
n
e
a
r
i
-
t
i
e
s
i
n
p
r
a
c
t
i
c
a
l
h
a
r
d
w
a
r
e
N
e
g
a
t
i
v
e
f
e
e
d
-
b
a
c
k
,
L
T
I
d
y
-
n
a
m
i
c
s
y
s
t
e
m
s
,
L
a
p
l
a
c
e
t
r
a
n
s
-
f
o
r
m
s
,
t
r
a
n
s
f
e
r
f
u
n
c
t
i
o
n
s
(
T
F
s
)
,
s
t
a
t
e
-
s
p
a
c
e
e
q
u
a
-
t
i
o
n
s
,
b
l
o
c
k
d
i
a
g
r
a
m
a
l
g
e
-
b
r
a
,
s
i
g
n
a
l

o
w
g
r
a
p
h
a
l
g
e
b
r
a
,
M
a
s
o
n

s
g
a
i
n
f
o
r
m
u
l
a
,
v
i
r
t
u
e
s
o
f
a
n
e
g
a
t
i
v
e
f
e
e
d
b
a
c
k
c
o
n
t
r
o
l
s
y
s
t
e
m
,
f
r
e
q
u
e
n
c
y
r
e
s
p
o
n
s
e
,
B
o
d
e
p
l
o
t
s
H
o
w
t
h
e
l
o
c
a
t
i
o
n
o
f
p
o
l
e
s
a
n
d
z
e
r
o
s
i
n
t
h
e
s
-
p
l
a
n
e
d
e
-
t
e
r
m
i
n
e
s
t
h
e
n
a
-
t
u
r
e
o
f
r
e
s
p
o
n
s
e
o
f
a
s
y
s
t
e
m
,
B
I
B
O
s
t
a
b
i
l
i
t
y
o
f
L
T
I
s
y
s
t
e
m
s
,
C
a
u
c
h
y

s
t
h
e
o
-
r
e
m
o
f
a
r
g
u
m
e
n
t
,
N
y
q
u
i
s
t
s
t
a
b
i
l
i
t
y
c
r
i
t
e
r
i
o
n
L
o
o
p
-
s
h
a
p
i
n
g
,
p
e
r
f
o
r
m
a
n
c
e
s
p
e
c
i

c
a
t
i
o
n
s
,
l
e
a
d
a
n
d
l
a
g
c
o
m
p
e
n
s
a
t
o
r
s
,
e
r
r
o
r
c
o
n
-
s
t
a
n
t
s
,
s
y
s
t
e
m
t
y
p
e
,
e
x
a
m
-
p
l
e
s
o
f
d
e
s
i
g
n
u
s
i
n
g
s
e
m
i
l
o
g
g
r
a
p
h
p
a
p
e
r
s
S
t
a
t
e
-
s
p
a
c
e
r
e
-
a
l
i
z
a
t
i
o
n
o
f
a
t
r
a
n
s
f
e
r
f
u
n
c
-
t
i
o
n
,
E
u
l
e
r

s
a
p
p
r
o
x
i
m
a
t
i
o
n
-
b
a
s
e
d
d
i
s
c
r
e
t
i
z
a
-
t
i
o
n
o
f
a
s
t
a
t
e
-
s
p
a
c
e
e
q
u
a
t
i
o
n
,
d
i
g
i
t
a
l
i
m
p
l
e
-
m
e
n
t
a
t
i
o
n
,
u
s
e
o
f
s
t
a
t
e
-
s
p
a
c
e
r
e
a
l
i
z
a
t
i
o
n
t
o
d
e
t
e
r
m
i
n
e
t
h
e
r
e
s
p
o
n
s
e
o
f
a
T
F
t
o
a
r
b
i
t
r
a
r
y
i
n
p
u
t
P
I
D
c
o
n
-
t
r
o
l
l
e
r
s
,
t
w
o
Z
i
e
g
l
e
r
-
N
i
c
h
o
l
s
t
u
n
i
n
g
m
e
t
h
o
d
s
R
u
l
e
s
f
o
r
s
k
e
t
c
h
-
i
n
g
r
o
o
t
l
o
c
i
,
s
i
m
-
p
l
e
e
x
a
m
p
l
e
s
o
f
d
e
s
i
g
n
u
s
i
n
g
r
o
o
t
l
o
c
i
,
s
t
a
n
d
a
r
d
s
e
c
o
n
d
o
r
d
e
r
m
o
d
e
l
,
M
A
T
-
L
A
B

s
s
i
s
o
t
o
o
l
a
n
d
r
l
o
c
u
s
,
e
f
f
e
c
t
o
f
a
d
d
i
t
i
o
n
a
l
z
e
r
o
a
n
d
a
d
d
i
t
i
o
n
a
l
p
o
l
e
c
i
r
c
l
e
c
r
i
t
e
r
i
o
n
,
a
n
t
i
-
w
i
n
d
u
p
January 2, 2012 x of 218 Ramprasad Potluri
Notation
Is, by denition, equal to. For example, ???????
1 The set of all real numbers.
:= Denotes. For example, y
1
:= y reads y
1
denotes y, x :=
dx/dt reads x denotes dx/dt.
x

Transpose of the vector x.


a.k.a. Also known as.
xi
EE250 (Control Systems Analysis) IITK Lecture Notes
January 2, 2012 xii of 218 Ramprasad Potluri
Part I
Preliminaries
1
Lecture 1
Introduction to the course
This lecture begins with an overview of the syllabus and the preface.
1.1 About the title of the course
The title of this course is control system analysis. However, we will also
learn control system design.
Analysis involves evaluating how something works, and how well. Design
involves building something to work as well as we desire.
A control system is a mechanism by which a given plant works, in spite of
disturbances, as desired by the designer of the control system.
Under the title of control system, we are interested in this course in negative
feedback control systems. Exist other kinds of control systems; see Figure 1.1.
The terms control and feedback control are usually synonymous with negative
feedback control. We dene this last concept in the next section.
1.2 Denition of negative feedback control
To understand what a negative feedback control system is, we need to rst under-
stand what feedback and negative feedback are.
Figure 1.2 states the goal of a control problem. The goal is that the output
of a plant must follow a desired value z
ref
as closely as possible. For example,
if z is the actual speed of a motors shaft in rad/s, then z
ref
is a number that
represents the desired speed in rad/s.
z
ref
will need to be the input to, and z will be the output from, any system
that will achieve the above goal. Therefore, we call the direction from z
ref
to z
as the forward direction, and that from z to z
ref
as the backward direction.
Figure 1.3 shows how we can achieve the said goal using the concept of
negative feedback control. We use a sensor that outputs a quantity y that is
proportional to z, we take the negative of y, and we sum the quantity y with
y
ref
. The last is the output of a prelter. The prelter and the sensor are chosen
such that y
ref
and y are dimensionally consistent and comparable in magni-
tude. In the example of the motor, y
ref
and y are voltages, both of which may
be in the interval [0, 3] V. As y is taken from the output and fed towards the
3
EE250 (Control Systems Analysis) IITK Lecture Notes
Control Systems (CS)
Open-loop CS
(E.g., Household fan)
Closed-loop CS
(also known as feedback CS)
Automatic CS
Negative feedback CS
Positive feedback CS
Human-in-the-loop CS
(E.g., driver and automobile)
Figure 1.1: A classication of control systems. In this course, we are interested
in negative feedback control systems.
input, we say that y is fed back. The operation of taking y is called negative
feedback. The act of using the error e = y
ref
y to apply an input u to the plant
so that e is reduced is called negative feedback control. A control system built
using the concept of negative feedback control is called negative feedback control
system.
The element represented by the shaded circle is called summator or sum-
mer or summing element. If its inputs are a and b, then its output is the sum
a + b. given that the summator performs the operation of summation, the sys-
tem of Figure 1.3 may be called a positive feedback control system if y were to
be fed back without a minus sign, that is, if e = y
ref
+ y were the output of the
summator.
Feedback action can be contrasted with feedforward action. This distinction
is explained in lectures 6 and 7.
1.3 Examples of control systems
The applications of control systems are numerous. Listed below are some ex-
amples of where control systems are used in practice.
1. The read head of hard disc drive needs to be positioned at a desired track,
or needs to remain at the track in spite of any mechanical shocks that the
PC/laptop may receive.
z
ref
Plant
u z
Figure 1.2: Plant and goal. We have a plant whose input is u and output is z.
We want z to follow, as closely as possible, a quantity z
ref
that is dimensionally
consistent with z.
January 2, 2012 4 of 218 Ramprasad Potluri
EE250 (Control Systems Analysis) IITK Lecture Notes
2. The write head of an inkjet printer needs to be positioned at a desired loca-
tion with a tolerance of a few micrometers.
3. The speed of the shaft of a motor needs to be maintained at a given value in
spite of voltage uctuations.
4. In automobiles: antilock braking systems (ABS), cruise control systems, ac-
tive suspension, auxiliary steering, etc.
5. Aircraft autopilot.
6. Rockets need to be controlled so that they track a desired trajectory on their
ascent in spite of admissible wind gusts and variations in atmospheric pres-
sure.
7. The article [1] describes the many ways in which control theory is used in
digital imaging systems manufactured by Xerox.
1.4 Videos of control systems
www.youtube.com has many nice videos of control systems. Listed below are
some of these. All these videos existed on January 02, 2012.
1. Magnetic levitation. The concept of magnetic levitation is used in maglev,
as well as in magnetic bearings. The idea of using a control system is to keep
the magnet oating above/below another magnet at a desired distance.
http://www.youtube.com/watch?v=kXodf7WKiFs.
2. Sojourner. The 6 wheels need to be driven and steered such that the rover
moves along the desired path with the desired speed.
http://www.youtube.com/watch?v=zZWOGcdC_PI&feature=fvsr.
3. Inverted pendulum. Keep a pole upright on a movable cart. Simulates pole
balanced in the hand, and rocket launching.
http://www.youtube.com/watch?v=Ci_y14y3DU4.
Prelter
z
ref
y
ref +
Controller
e = y
ref
y
Plant
u z
Sensor

y
Figure 1.3: A block diagram representing the standard architecture of a nega-
tive feedback control system (NFCS). This NFCS is one way to make z follow
z
ref
as closely as possible. Underlying this control system are the concepts of
negative feedback and negative feedback control. z
ref
is called reference input or de-
sired output or command input, z is called actual output or regulated output, y is
called sensor output, e is called error, u is called control input. The block dia-
grams seen in control system theory satisfy two conditions. First, each block
conveys signals unidirectionally. Second, each block is non-loading, that is, it
does not load the preceding block.
January 2, 2012 5 of 218 Ramprasad Potluri
EE250 (Control Systems Analysis) IITK Lecture Notes
4. Two-wheeled inverted pendulum. This setup is a precursor to Segway.
http://www.youtube.com/watch?v=DDBkg1PfvFY.
5. Segway. This setup is an advanced inverted pendulum.
http://www.youtube.com/watch?v=BD-y8F1Fa7g&feature=fvst.
6. Ball on wheel. This setup is a cute one, though I have not yet imagined an
application for it.
http://www.youtube.com/watch?v=F9CuHVAp5k0.
7. Dual-motor ball-beam (DMBB). We developed this setup in the Networked
Control Systems Laboratory
1
. One application for this setup is as an inex-
pensive testbed for dual-manipulator coordination. If a certain analogue of
a control algorithm that coordinates two manipulators to handle a load to-
gether will not run successfully on the DMBB testbed, then most likely it
will not work on the actual manipulators. Details on dual-manipulator co-
ordination can be found in [2, 3, 4, 5].
http://www.youtube.com/watch?v=2KhvPT6935k and
http://www.youtube.com/watch?v=-tB6_CCJu_8.
1.5 Appendix: History of control systems
Most textbooks devote space in their rst chapters to a discussion of the history
of control systems. Besides textbooks, I found the discussion in [6, 7] to be
especially interesting and different. Prof. Chris Bissell of the Open University
of UK has written many easy-to-read articles on the history of control. These
articles may be available for free download on the web.
The explanation provided in Section 1.2 for negative feedback is consistent
with Harold Blacks statement that may explain why he called his amplier
the negative feedback amplier: Then came the morning of Tuesday, August 2,
1927, when the concept of the negative feedback amplier came to me in a
ash while I was crossing the Hudson River on the Lackawanna Ferry, on my
way to work. . . . I suddenly realized that if I fed the amplier output back to
the input, in reverse phase, and kept the device from oscillating (singing, as
we called it then), I could have exactly what I wanted: a means of canceling
out the distortion in the output. [8]. The section in [9] titled Two cultures of
feedback and stability describes the origins of the term negative feedback in more
detail, and states the modern meaning of negative feedback. The explanation
of Section 1.2 is consistent with this meaning.
Harold Black, Hendrik Bode, and Harry Nyquist of the Bell Laboratories are
credited by many textbooks for having laid the foundations of Control theory.
Black is credited for having invented the negative feedback amplier, while
Bode plots and Nyquist stability theory are stuff that we will see in this course.
The article [9] describes the historical context in which these men made their
contributions.
1
Western Labs 217 B, IIT Kanpur.
January 2, 2012 6 of 218 Ramprasad Potluri
Lecture 2
Dynamic systems, transfer
functions, and block diagrams
In this course, we will work with dynamic systems described only by linear
time-invariant (LTI) differential equations. Classical control theory uses the
Laplace transform to represent such systems through transfer functions. We ex-
plain these two concepts in this lecture.
2.1 Dynamic systems
A dynamic system is one whose state at the next time instant is dependant on
the state at the current instant, and on the stimulus at the current instant.
Traditionally, differential and difference equations, as well as algebraic
equations, are used to describe dynamic systems. There are two types of differ-
ential/difference equations that describe a dynamic system. Equations such as
m x = F, the relation between displacement x and force F causing this displace-
ment, and L
di
dt
= v, the relation between the EMF v across an inductor and the
current i that this EMF drives, are dynamic equations. Equations such as x = v,
the relation between displacement x and velocity v), x(1) = x(0) + v(0)t (re-
lation between current position x(0), current velocity v(0), next position x(1),
and time step t), and q = i (relation between charge q and current i), are
kinematic equations.
We see that not every differential equation is a dynamic equation. Only
those differential equations that include the causes or stimuli are dynamic
equations. Figure 2.1 summarizes the discussion of this section.
Note that the terms dynamic equations and kinematic equations are not be
confused with dynamics and kinematics, which are branches of mechanics
1
.
1
From Oxford English Dictionary: mechanics, n. b. The branch of applied mathematics that
deals with the motion and equilibrium of bodies and the action of forces, and includes kinematics,
dynamics, and statics. Now often distinguished as classical mechanics (as opposed to quantum
mechanics).
7
EE250 (Control Systems Analysis) IITK Lecture Notes
Dynamic system
Algebraic equations
Differential/Difference
equations
Dynamic
equations equations
Kinematic
Figure 2.1: The types of equations that describe a dynamic system [].
V(s)
+ 1
sL
a
+ R

K
t
I(s) T(s)
+
T
L
(s)

1
Js + B
(s)
K
b

E(s)
Figure 2.2: The block diagram of a PMDC motor.
2.2 Transfer functions, block diagrams
We will illustrate the development of transfer functions (TF) using the example
of a DC motor.
A dc motor is modeled by the equations listed in Table 2.1. Four of these
equations describe a permanent magnet dc (PMDC) motor. Table 2.2 shows
these equations and the corresponding TFs obtained using the Laplace trans-
form. Using these TFs, we can draw the block diagram of Figure 2.2.
The advantage of working with a block diagram over working with equa-
tions is that a picture speaks a thousand words.
Problem 1
Identify the algebraic and dynamic equations in the tables.
Problem 2
How will the motor block diagram change if you wish to include the kine-
matic equation

= ?
Problem 3
Table 2.2 shows the four elemental TFs of a PMDC motor. Work out the
composite TF of this motor from the input V(t) to the output (t).
January 2, 2012 8 of 218 Ramprasad Potluri
EE250 (Control Systems Analysis) IITK Lecture Notes
Table 2.1: The equations that describe how a dc motor works.
Equation Explanation
V(t) = L
a
di
dt
+ R
a
i +
E(t)
The voltage applied to the armature pushes a current
through the armature. A part of this voltage drops
across the resistance R and inductance L. The balance
of this voltage overcomes the back emf E(t) that is in-
duced by the rotation of the rotor.
T
M
(t) = K
f
(t)i(t) In a dc motor, the interaction between the current i
owing through the conductors of the motors arma-
ture and the magnetic ux produces torque T
M
.
T
M
(t) = K
M
i(t) In a PMDC motor is constant, resulting in K
f
being
a constant denoted K
M
.
T
M
(t) T
L
(t)
B = J
d
dt
The torque T
M
accelerates the rotor after overcoming
any load or disturbance torques T
L
that may act on the
motor shaft and the torque B due to viscous friction.
B is known as the coefcient of viscous friction.
E(t) = K
e
(t)(t) In a dc motor, the armatures motion through the eld
induces an EMF in the conductors of the armature.
E(t) = K
E
(t) In a PMDC motor, as is constant, K
e
is a constant
denoted K
E
.
Table 2.2: The transfer functions of a PMDC motor.
Time domain equation Equation in s domain Transfer function
V(t) E(t) = L
a
di
dt
+ R
a
i V(s) E(s) = L
a
sI(s)
L
a
i(0) + R
a
I(s)
I(s)
V(s)E(s)
=
1
sL
a
+R
a
T
M
(t) = K
M
i(t) T
M
(s) = K
M
I(s)
T
M
I(s)
= K
M
T
M
(t) T
L
(t) B =
J
d
dt
T
M
(s) T
L
(s) B(s) =
Js(s) J(0)
(s)
T
M
(s)T
L
(s)
=
1
sJ+B
E(t) = K
E
(t) E(s) = K
E
(s)
E(s)
(s)
= K
E
January 2, 2012 9 of 218 Ramprasad Potluri
EE250 (Control Systems Analysis) IITK Lecture Notes
N
S
+
V
i
Figure 2.3: Illustration for a conductor in a magnetic eld. The ap-
plied EMF V drives a current i through the conductor. The conduc-
tor turns about its axis due to the interaction of i and the eld. A
nice dynamic picture that explains the principle of working of DC mo-
tors can be found at http://www.sciencejoywagon.com/physicszone/lesson/
otherpub/wfendt/electricmotor.htm
2.3 Appendix: Detailed model of a DC motor
When a conductor is placed in a magnetic eld, and a current is sent through
the conductor, then the conductor experiences a thrust/force called Lorentz
force. The direction of this force relative to the directions of the eld and cur-
rent is given by Flemings left hand rule which says that if the rst nger, second
nger, and thumb were to be held mutually perpendicular, and the direction
of the field (from north pole to south pole is) indicated by the first nger, and
the direction of the current is indicated by the second nger, then the direction
of the thrust is indicated by the thumb:
field first nger
current second nger
thrust thumb
This phenomenon is utilized in motors: the current carrying conductor is
mounted on an axis and the thrust that the conductor experiences works as
a turning force (torque) that makes it rotate around the axis (Figure 2.3). If the
eld is variable (as, for example, when using an electromagnet), then we can
write the torque as follows:
T
M
(t) = K
f
i(t)
where K
f
is a constant of proportionality, i(t) is the current in the conductor
and is the ux. If a permanent magnet is used to provide the eld, then the
eld will be constant, and the motors torque can be written as
T
M
(t) = K
M
i(t) (2.1)
Another phenomenon comes into play. When the conductor turns in the
eld, it cuts through the eld, and an EMF is induced in it that is, by Faradays
January 2, 2012 10 of 218 Ramprasad Potluri
EE250 (Control Systems Analysis) IITK Lecture Notes
law, directly proportional to the rate of change of ux linkage (which in turn is
proportional to the ux and the angular velocity of the conductor ):
E(t) = K
e
(t)
If is a constant, as when produced by permanent magnets, then
E(t) = K
E
(t) (2.2)
By Lenzs law, the direction of this induced EMF is such that it tends to oppose
the ux change causing it. So, the current that eventually ows through the
conductor is the result of the net EMF V E, where V is the voltage applied to
the ends of the conductor as shown in Figure 2.3. This current causes a voltage
drop across the inductance L
a
and the resistance R
a
of the conductor:
V(t) E(t) = L
a
di
dt
+ R
a
i (2.3)
In the present lecture, we are interested in DC motors. Equations (2.1), (2.2),
(2.3) describe the operations of DC motors. A DC motor has not just one turn
of wire for a conductor, but many turns of wires, all distributed evenly around
a cylindrical core. This set of wires is called armature. The core is mounted on
an axis. The entire rotating component (core plus conductors) of the motor is
called rotor. The L
a
and R
a
in Equation (2.3) are in fact the net inductance and
the net resistance of the armature, not of a single conductor.
In order for the rotor to spin, the torque T generated by any motor (AC
or DC) has to overcome any externally applied disturbance torques (T
L
), the
moment of inertia (J, assumed constant, although can be variable too) of the
motor (which matters when there is a change in angular velocity ), and the
friction in the bearings as well as due to wind (summed up in B, the coefcient
of viscous friction), summarized by the fundamental torque equation:
T = T
L
+ J
d
dt
+ B
In the case of the DC motor that we have been discussing, this equation can be
written as follows:
T
M
(t) T
L
(t) = J
d
dt
+ B (2.4)
In case a load is mounted on the rotor shaft, then the moment of inertia
and the coefcient of viscous friction of the motor rotor-load combination will
be different from J and B mentioned above and will be equal to some

J and

B
which are called respectively equivalent moment of inertia (of the rotor-load combi-
nation) referred to the rotor shaft and equivalent coefcient of viscous friction (of the
rotor-load combination) referred to the rotor shaft.
January 2, 2012 11 of 218 Ramprasad Potluri
EE250 (Control Systems Analysis) IITK Lecture Notes
January 2, 2012 12 of 218 Ramprasad Potluri
Lecture 3
Transfer functions and block
diagrams revisted, state-space
equations, an example of
design in state space
In Lecture 2, we saw the concepts of transfer functions (TFs) and block dia-
grams. In this lecture, we make a few observations about these concepts. We
see block diagram algebra in a later lecture.
We also give a brief overview of state-space theory. In this theory, ordinary
differential equations (ODEs) are written as state-space equations.
3.1 Transfer functions revisited
Classical control theory depends on the concept of transfer function (TF). The
TF of an LTI system is dened as the ratio of the Laplace transform of the out-
put of this system to that of the input to this system. Note that this denition
ignores the initial conditions (ICs).
In classical control theory, the only properties of a control system that are
of interest are
1. the stability of the control system,
2. the systems speed of response, measured in terms of properties of the sys-
tems response to a unit step input such as rise time t
r
and settling time t
s
,
3. the systems tendency to oscillate, measured by the peak overshoot M
p
in
the systems response to a unit step input,
4. how closely the output tracks the input once the transient phase of the re-
sponse is over, measured by the steady-state error e
ss
to a unit step input,
and
5. the robustness of the above properties.
13
EE250 (Control Systems Analysis) IITK Lecture Notes
For LTI systems modeled by ODEs, the satisfaction of these properties by the
system is independent of ICs []. As classical control theory restricts itself to
such systems, there is no loss in ignoring ICs. On the other hand, for nonlinear
systems, these properties are in general IC-dependant. Classical control theory
is inadequate here.
[10, Page 42] provides additional interesting observations about TFs.
Problem 4
Draw a block diagram of a PMDC motor to include the initial conditions.
Do you see any advantages in such an inclusion?
3.2 Block diagrams revisited
Transfer functions are dened only for LTI systems represented by ODEs of the
form
a
n
d
n
y
dt
n
+ a
n1
d
n1
y
dt
n1
+ + a
1
dy
dt
+ a
0
y =
b
m
d
m
u
dt
m
+ b
m1
d
m1
u
dt
m1
+ + b
1
du
dt
+ b
0
u,
(3.1)
and by LTI algebraic equations. An example is the model of the PMDC motor
seen in Lecture 2.
In the block diagrams of such systems, only two blocks appear. These are
the summator and the gain block shown in Figure 3.1. For Equation 3.1, the
gain from u(t) to y(t) is the same as the TF from u(t) to y(t), and is the ratio of
Laplace transform of the output to the Laplace transform of the input as
Y(s)
U(s)
=
b
m
s
m
+ b
m1
s
m1
+ b
1
s + b
0
a
n
s
n
+ a
n1
s
n1
+ a
1
s + a
0
The Laplace transform handles the product of two time-domain signals as
follows [11, Page 837]:
Lf
1
(t) f
2
(t) =
1
2j
_
c+j
cj
F
1
()F
2
(s )d =
1
2j
F
1
(s) F
2
(s).
Y
1
(s)
+
Y
2
(s)
+
Y(s) = Y
1
(s) + Y
2
(s)
Gain
G(s)
U(s) Y(s)
Figure 3.1: Only two blocks appear in the block diagrams of systems modeled
by LTI ODEs and by LTI algebraic equations. These are the summator and the
gain block. Figure 2.2 shows a sample block diagram.
January 2, 2012 14 of 218 Ramprasad Potluri
EE250 (Control Systems Analysis) IITK Lecture Notes
Thus, we may wonder why we did not apply it to the nonlinear element
T
M
(t) = K
f
(t)i(t), obtain the s-domain expression T
M
(s) =
K
f
2j
(s) I(s),
and somehow incorporate this term in the block diagram of Figure 2.2. Note
that, once included in the block diagram, we may wonder how to work with
such a term.
As we see in the remainder of the course, even working with systems whose
block diagrams have only summators and gain blocks is sufciently challeng-
ing. Thus, classical control theory restricts itself to these systems.
Note that apart from LTI ODEs such as that of Equation 3.1, classical control
theory also works with LTI ODEs containing time delay elements. The TFs of
these elements too are gain blocks.
Problem 5
Prove, starting from the denition of linearity, that the equation T
M
(t) =
K
f
(t)i(t), representing a system with inputs and i and output T
M
, is a
nonlinear one.
Problem 6
Consider the following two examples:
1. In a thermal power plant, sensing of temperature x(t) in the path of super-
heated steam is done at a distance from where it is actually needed to be
sensed. This introduces a delay in sensing. Thus, as a rst approximation,
we can say that what the controller receives is a delayed version, y(t) of x(t).
Of course, more accurately speaking, even the actual temperature sensed
downstream may be slightly different from even the delayed version of x(t).
2. In a distributed control system, where the sensors, actuators, and controllers
are interconnected by a control network such as Controller Area Network
(CAN), even though the sensor may have sensed the variable of interest x(t)
immediately, there may be a delay introduced by the network in this sensed
value reaching the controller. Thus, the controller receives y(t) which is a
delayed version of x(t).
In such cases, y(t) is a time-shifted version of x(t) as shown in Figure 3.2. This
behavior is summarized by the equation y(t) = x(t t
d
)1(t t
d
). Applying
the Laplace transform on both sides of this equation gives Y(s) = X(s)e
t
d
s
.
Now consider the TF
Y(s)
U(s)
=
s + a
s + b
e
t
d
s
.
Write the corresponding ODE.
3.3 State-space equations
We call state-space equations of LTI systems LTI state-space equations, and the
control theory that uses these equations LTI state-space control theory.
January 2, 2012 15 of 218 Ramprasad Potluri
EE250 (Control Systems Analysis) IITK Lecture Notes
t
y(t)
x(t)
t
t
d
Figure 3.2: Illustration for time delay. y(t) is a delayed version of x(t).
As an example to illustrate the state-space framework, consider
d
2
y
dt
2
+ a
1
dy
dt
+ a
0
= u. (3.2)
This equation is a linear time invariant (LTI) second order ordinary differential
equation in one variable (y). This equation models a certain plant. Denoting
y
1
:= y and y
2
:= y
1
= y, we write this differential equation equivalently as
y
1
= y
2
,
y
2
+ a
1
y
2
+ a
0
y
1
= u,
which is a system of rst order differential equations in two variables (y
1
and
y
2
). This system is written as
_
y
1
y
2
_
=
_
0 1
a
0
a
1
_ _
y
1
y
2
_
+
_
0
1
_
u, y =
_
1 0
_
_
y
1
y
2
_
.
The vector z = [y
1
y
2
]

is called the state vector of the plant that this second


order ODE models. Thus,
z = Az + Bu, y = Cz, (3.3)
with
A =
_
0 1
a
0
a
1
_
, B =
_
0
1
_
, C =
_
1 0
_
,
is the state-space equation (a.k.a. state-space model) of this plant.
Rewriting the original ODE in the state-space form helps as follows. Note
that A contains the crucial information about the natural response of the origi-
nal second order ODE. If we construct u as
u = kx + y
ref
, (3.4)
January 2, 2012 16 of 218 Ramprasad Potluri
EE250 (Control Systems Analysis) IITK Lecture Notes
we have
z =

Az + By
ref
, y = Cz, (3.5)
where

A = (A Bk).
Thus, the state feedback control of Equation (3.4) helps us replace the input-
output behavior given by Equation (3.3) with the input-output behavior given
by Equation (3.5). As A is 2 2 and B is 2 1, k is 1 2. With k = [k
0
k
1
], we
have

A =
_
0 1
(a
0
+ k
0
) (a
1
+ k
1
)
_
.
With this

A, the state-space model of Equation (3.5) is equivalent to the LTI
ODE
d
2
y
dt
2
+ (a
1
+ k
1
)
dy
dt
+ (a
0
+ k
0
) = u
This k can be constructed algebraically without solving any ODEs or state-
space equations.
3.4 An example of design in the state-space domain
In the LTI ODE of Equation (3.2), let a
0
= 1, a
1
= 0.05. For a unit step input,
that is, for u(t) = 1(t), where 1(t) is a unit step function, a.k.a., Heaviside
function,
1(t) =
_
0, t < 0
1, t > 0,
the output of Equation (3.2) is shown in Figure 3.3. This response is highly
oscillatory, and it overshoots almost 100% the value of 1 that it is required to
settle to. Hence, this response is undesirable, and needs to be changed. Given
that we cannot modify the plant, we decide to use state feedback to create a
new system around this plant such that the input-output behavior of this new
system is desirable.
From prior experience with the solution of the equation
d
2
y
dt
2
+ 2
n
dy
dt
+
n
2
=
n
2
u, (3.6)
which is more general than Equation (3.2), we know that, for a given
n
, the
larger the value of , the less the overshoot and oscillations in the unit step
response of Equation (3.6). In the present example,
n
= 1, and = 0.025.
= 1/

2 with
n
= 1 give us an adequately damped response, that is, one
which has an overshoot of not more than about 10 15% and has only about
3 5 overshoots and undershoots before it settles to within about 95% of the
desired value of 1, as shown in Figure 3.4. is called the damping ratio and
n
is called the natural frequency of Equation (3.2).
We use this prior experience to decide that we want a
1
+ k
1
=

2 and
a
0
+ k
0
= 1. Thus, we obtain k
0
= 0 and k
1
=

2 1.
In the initial stages of developing this experience, we may need to go fre-
quently from the design in the state-space domain to solving the resulting
state-space equation in the time domain, and back, to see how well the design
January 2, 2012 17 of 218 Ramprasad Potluri
EE250 (Control Systems Analysis) IITK Lecture Notes
0 50 100 150 200 250
0
0.2
0.4
0.6
0.8
1
1.2
1.4
1.6
1.8
2
Unit step response of d
2
y/dt
2
+ 0.05 dy/dt + y = u
Time (sec)
y
(
t
)
Figure 3.3: The unit step response of the plant of Equation (3.2) with a
0
= 1
and a
1
= 0.05. This response is poorly damped as seen from the fact that it has
large overshoot and is very oscillatory.
performs in practice. With experience, however, the design can be performed
without needing to see how the resulting system performs in the time domain.
Problem 7
Develop the state-space model of the PMDC motor.
Problem 8
Paste the following code at the command prompt of either MATLAB or
GNU Octave, and hit the enter key.
num = 1; den = [1, 0.005, 1]; sys = tf(num,den); step(sys);
Without exiting the software, paste the following code at the command prompt
and hit the enter key.
title(Unit step response of d^2y/dt^2 + 0.05 dy/dt + y = u);
Observe the results. Modify the code to obtain the responses shown in g-
ures 3.3 and 3.4.
January 2, 2012 18 of 218 Ramprasad Potluri
EE250 (Control Systems Analysis) IITK Lecture Notes
0 1 2 3 4 5 6 7 8 9 10
0
0.2
0.4
0.6
0.8
1
1.2
1.4
Unit step response of d
2
y/dt
2
+ 1.414 dy/dt + y = u
Time (sec)
y
(
t
)
Figure 3.4: The unit step response of the plant of Equation (3.2) with a
0
= 1 and
a
1
=

2. This response is well-damped as seen from the fact that its overshoot
is low and it has very few overshoots and undershoots.
January 2, 2012 19 of 218 Ramprasad Potluri
EE250 (Control Systems Analysis) IITK Lecture Notes
Acknowledgment: The discussions with Mr. Manavaalan Gunasekaran,
Ph.D. student, helped formulate the ideas presented in Section 3.2.
January 2, 2012 20 of 218 Ramprasad Potluri
Lecture 4
An example of design in the
classical domain, block
diagram manipulations
4.1 An example of design in the classical control do-
main
Let us see how classical control theory would solve the design problem of Sec-
tion 3.4. Figure 4.1 shows the block diagram of a control system that we would
want to build around the given plant so that the closed-loop behavior is to our
satisfaction.
We see that if we select C(s) as equal to c
1
s + c
0
, then the closed-loop TF is
Y(s)
Y
ref
(s)
=
c
1
s + c
0
s
2
+ (a
1
+ c
1
)s + (a
0
+ c
0
)
(4.1)
We can plot the unit step response of this TF in GNU Octave or MATLAB
using the code
c0=30; c1=5; a0=1; a1=0.05; num=[c1,c0]; den=[1,a1+c1,a0+c0];
step(tf(num,den));
Through trial and error using this code, we determine that for the given
value of a
0
= 1 and a
1
= 0.05, the values c
0
= 30 and c
1
= 10 provide us a
response that is satisfactory in the sense described in Section 3.4. This response
is shown in Figure 4.2.
Classical control theory says that if the zero of this TF s = c
0
/c
1
is deep
in the left half plane in comparison to the poles of this TF, then the effect of this
zero will be negligible on the response of this TF to an input, and the nature of
the response will be determined by only the poles of this TF. Let us see if the
zero is much deeper than the poles with the above-selected values of c
1
and c
0
.
The following code provides us the values of these zero and poles.
c0=30; c1=5; a0=1; a1=0.05; num=[c1,c0]; den=[1,a1+c1,a0+c0];
-c0/c1, roots(den)
21
EE250 (Control Systems Analysis) IITK Lecture Notes
Y
ref
(s)
+
C(s)
1
s
2
+ a
1
s + a
0
U(s) Y(s)

Figure 4.1: Block diagram of the proposed control system that we wish to de-
sign in the classical control domain.
We see that the zero is at s = 3 and the poles are at 5.0250 + j2.3978 and
5.0250 j2.3978. We see that even though the poles are deeper than the zeros,
the response is still to our satisfaction. We explore the answer to this behavior
in the lectures on root locus.
0 0.2 0.4 0.6 0.8 1 1.2 1.4
0
0.2
0.4
0.6
0.8
1
1.2
1.4
Step Response
Time (sec)
A
m
p
l
i
t
u
d
e
Figure 4.2: The unit step response of the closed-loop system of Equation (4.1)
with a
1
= 0.05, a
1
= 1, c
0
= 30, and c
1
= 10. This response is well-damped as
seen from the fact that its overshoot is low and it has very few overshoots and
undershoots.
4.2 Rules of block diagram algebra
In our course, as we work with block diagrams, we will frequently have the
need to quickly determine the TF between a certain input and a certain output.
January 2, 2012 22 of 218 Ramprasad Potluri
EE250 (Control Systems Analysis) IITK Lecture Notes
As mentioned in Lecture 2, it is easier to work with block diagrams than with
the underlying equations. Figure 4.3 lists the few simple rules that enable us to
manipulate block diagrams.
4.3 Examples
Example 1
An example of block diagram manipulation.
Example 2
January 2, 2012 23 of 218 Ramprasad Potluri
EE250 (Control Systems Analysis) IITK Lecture Notes
Figure 4.3: Rules of block diagram algebra.
January 2, 2012 24 of 218 Ramprasad Potluri
EE250 (Control Systems Analysis) IITK Lecture Notes
Example 3
We can quickly understand the block diagram algebra through just a few
more examples. Note that this algebra was possible because we have restricted
our attention to systems that are LTI.
4.4 Appendix: A little more on state-space theory
State-space theory works with differential equations that are of the general
form x = f (x, u, t). This equation is called state-space equation. Here, x dx/dt,
with t the time. x and f are real-valued vectors with n components each, and
u is a real-valued vector of m components. In mathematics, this last statement
is compactly written as x, f 1
n
and u 1
m
.
4.5 Appendix: Similarities and differences between
classical and LTI state-space control
Classical control theory and LTI state-space control theory work with LTI ODEs
and design controllers without solving the underlying differential equations.
This thought is illustrated in more detail in Figure 4.4.
The difference is that, while classical control theory designs controllers us-
ing the Laplace transform and transfer functions, state-space control theory
designs in the state space. Further, while classical control uses graphical tech-
niques for analysis and design, state-space control theory uses linear algebra.
Additionally, while classical control can handle time delay in the ODEs, LTI
state-space theory cannot [].
January 2, 2012 25 of 218 Ramprasad Potluri
EE250 (Control Systems Analysis) IITK Lecture Notes
LTI ODE
TF or
LTI SS
form
Analysis
&
Design
LTI
ODE
Simulation
simulation
successful?
No
Exit
Yes
Figure 4.4: Illustration for the similarities between classical control theory and
LTI state-space control theory.
January 2, 2012 26 of 218 Ramprasad Potluri
Lecture 5
Signal ow graphs
Manipulation of block diagrams as demonstrated in Lecture 4 can be tedious
in the case of complex block diagrams.
Example 4
Example of a complex block diagram.
The difculty in manipulating this block diagram arises from the fact that
we may be forced to move the summators through the branches that are to
their right. See Rules 10 in table 1-3 of Lecture 4 about transfer of a summator
into branches.
For a block diagram that looks complicated, we can determine the input-
output gain by rst drawing a signal ow graph (SFG) that is equivalent to
this block diagram, and then applying a formula that has come to be known as
Masons gain formula (MGF). We see SFGs in this lecture and MGF in the next
one.
5.1 Denitions
Consider the SFG of Figure 5.1
Here are denitions of the various parts of this SFG.
Nodes represent signals. For example, x
1
, x
2
, x
3
, x
4
.
Transmittances / gains represent signal multipliers. For example, a, b, c, d.
Branches are directed line segments, each of which joins two nodes. Arrow
on a branch shows direction of signal ow. E.g. x
1
to x
2
, x
2
to x
3
, x
4
to x
3
, x
3
to
x
2
, x
3
to x
3
.
Input node / source has only outgoing branches. For example, x
1
, x
4
.
27
EE250 (Control Systems Analysis) IITK Lecture Notes
Figure 5.1: A sample signal ow graph.
Output node / sink has only incoming branches. For example, x
3
.
Mixed node has both incoming and outgoing branches. For example, x
2
, x
3
.
A mixed node can be converted into an output node by adding an outgoing
branch with a gain equal to 1.
A path is the traversal of connected branches in the direction of the arrows.
An open path is a path in which no node is crossed more than once. For
example, x
1
x
2
x
3
, x
4
x
3
, x
1
x
2
, x
4
x
3
x
2
.
A closed path is a path that ends at same node where it began and doesnt
cross any other node more than once. For example, x
2
x
3
x
2
, x
3
x
2
x
3
.
A path that is neither open nor closed crosses some node more than once but
ends at a different node from which it began. For example, x
1
x
2
x
3
x
2
,
x
4
x
3
x
2
x
3
, etc.
A loop is a closed path. For example, x
2
x
3
x
2
, x
3
x
2
x
3
.
Loop gain is the product of branch gains of a loop. For example, bc.
Nontouching loops do not possess common node. We dont have any in this
example.
Forward path is a path from input node to output node that does not cross
any node more than once. For example, x
1
x
2
x
3
x
3
, x
4
x
3
x
3
.
Forward path gain is the product of branch gains of a forward path. For
example, ab, d, dc.
Example 5
Draw an SFG that is equivalent to the following block diagram.
Answer:
From Example 5, we see that a node may either represent a signal or the
sum of two or more signals. In this example, we have the nodes corresponding
to the signals C and R, the node corresponding to the sum E
1
of signals N and
GE, and the node corresponding to the sum E of signals R and HC.
January 2, 2012 28 of 218 Ramprasad Potluri
EE250 (Control Systems Analysis) IITK Lecture Notes
5.2 SFG Algebra
Similarly as in block diagrams, we can list about 13 rules for manipulations
of SFGs. In fact, as block diagrams are same as SFGs, the 13 rules we saw for
block diagrams also apply to SFGs. However, we dont need to build that list
here all over, as we will not use SFGs in our course we will only use block
diagrams. However, we will try to develop a little familiarity with SFG algebra
through an example.
Example 6
Let us work out the following ve rules that we choose purely arbitrarily.
5.3 Appendix: Usage of these terms
An SFG conveys exactly the same information as a block diagram. In fact, a
search on the Web for signal ow graph shows that even block diagrams are
sometimes known as SFG in the European literature. Our usage of the term
SFG is in keeping with the US literature.
The difference between block diagrams and SFGs is only in the pictorial
representation and the domains where each is used. Block diagrams are pri-
marily used in the control systems community. SFGs are used in the commu-
nications community.
January 2, 2012 29 of 218 Ramprasad Potluri
EE250 (Control Systems Analysis) IITK Lecture Notes
January 2, 2012 30 of 218 Ramprasad Potluri
Lecture 6
Masons gain formula,
properties desired from a
control system
Samuel J. Mason of MIT published a paper each in the years 1953 and 1956 that
resulted in Masons gain formula. Mason developed his formula for signal
ow graphs (SFG).
6.1 Masons gain formula
The gain from the input R to the output Y in an SFG is given by the following
formula:
Y
R
=
1

k=1
P
k

k
Here,
is called graph determinant of the given SFG, and is given by the fol-
lowing expression:
= 1

loop gains of all loops taken one at a time


+

products of loop gains of all non-touching loops taken two at a time

products of loop gains of all non-touching loops taken three at a time


+ ...
N is the number of forward paths from R to Y.
P
k
is the k
th
forward path gain.

k
is the for that part of the SFG that doesnt touch the k
th
forward path.
31
EE250 (Control Systems Analysis) IITK Lecture Notes
Figure 6.1: A sample signal ow graph for which to nd the gain.
Example 7
Find x
5
/x
1
for the SFG of Figure 6.1.
x
5
x
1
=
1

k=1
P
k

k
with
N = 2
= 1 (G
23
G
32
+ G
23
G
34
G
42
+ G
23
G
34
G
45
G
52
+ G
23
G
32
G
44
+ G
23
G
35
G
52
G
44
)
+ (G
23
G
32
G
44
+ G
23
G
35
G
52
G
44
)
P
1
= G
12
G
23
G
34
G
45
P
2
= G
12
G
23
G
35

1
= 1 0 = 1

2
= 1 G
44
6.2 A note on loop gain
In classical control theory, we use the term loop gain frequently. This term is de-
ned slightly differently for SFGs and block diagrams. Figure 21.4 reproduces
the block diagram and the corresponding SFG from Example 5.
For an SFG, the loop gain for a given loop is dened as the prod-
uct of branch gains of the loop. By this denition, in Figure 21.4,
the loop gain is G(s)G
2
(s)H(s), and the gain from R(s) to C(s) is
G(s)G
2
(s)
_
(1 + G(s)G
2
(s)H(s)) .
For a block diagram the loop gain for a given loop is dened as the product
of the gains around the loop ignoring the signs at the summator. By this deni-
tion, in Figure 21.4, the loop gain is G(s)G
2
(s)H(s), and the gain from R(s) to
C(s) is G(s)G
2
(s)
_
(1 + G(s)G
2
(s)H(s)) . We note that this last expression has
accounted for the signs at the summator.
January 2, 2012 32 of 218 Ramprasad Potluri
EE250 (Control Systems Analysis) IITK Lecture Notes
Figure 6.2: A block diagram and the corresponding signal ow graph.
We often need to be able to quickly write the gain of a single-loop block
diagram from an input X to an output Y. We can write this gain easily as
Gain of the block diagram from X to Y =
Gain of the forward path from X to Y
1 + loop gain of this block diagram
Applying this formula, we can easily write
C(s)
R(s)
=
G
1
(s)G
2
(s)
G
1
(s)G
2
(s)H(s)
,
C(s)
N(s)
=
G
2
(s)
G
1
(s)G
2
(s)H(s)
.
6.3 Properties desired from a control system
A control system (CS) needs to have the following properties:
Stability: This is the most fundamental property desired of any CS.
Input amplitude constraints u(t) should remain within certain bounds so
that the approximation that the plant is linear remains valid.
r(t)
G(s) K(s)
u(t) y(t)

Disturbance rejection
Noise ltering
Low sensitivity to parameter variations
Good performance both in transient and in steady state.
January 2, 2012 33 of 218 Ramprasad Potluri
EE250 (Control Systems Analysis) IITK Lecture Notes
January 2, 2012 34 of 218 Ramprasad Potluri
Lecture 7
Virtues of control systems:
Disturbance rejection
We may decide that the nal CS may be a feedforward CS or a combined feed-
forward feedback CS.
Example 8
Disturbance rejection One of the main purposes of a CS is to obtain the
desired behavior from the plant/object in the face of disturbances that may be
acting on the object. A negative feedback CS helps in disturbance rejection as
follows:
y
d
P C
y

+
+ +
Plant
Here, C and P are gains for amplication factors of the controller, plant, sensor
respectively. The goal is to minimize the effect of on y. Let us see if the
feedback scheme shown achieves this goal.
Y(s) = (s) + PCE(s)
=Y(s) = (s) + PC(Y
d
(s) Y(s))
=Y(s)(1 + PC) = (s) + PCY
d
(s)
=Y(s) =
(s)
1 + PC
+
PC
1 + PC
Y
d
(s)
if PC 1, then we see that appears in y with a strength that is PC times less
than that with which y
d
appears as y.
Example 9
Disturbance feedforward.
35
EE250 (Control Systems Analysis) IITK Lecture Notes
In Example 8, we see that will need to be inside the control loop for it to
be attenuated. That is, it will need to be sent around the loop, and it will need
to create the error e between y
d
and y before its effect can be minimized. Is it
possible to reject the effect of without needing to rst create an error? In those
cases, where is measurable (by a sensor), we can reduce its effect as follows:
y

+
+
Plant
y
d
+
C P
G
ff
From the block diagram, we have
Y(s) = (s) + PC (Y
d
(s) + G
ff
(s))
That is,
Y(s) = (1 + PCG
ff
)(s) + PCY
d
(s)
We want Y(s) = Y
d
(s). We may choose G
ff
such that PCG
ff
= 1, that is,
G
ff
= 1/(PC). This is useful when the disturbance may be sensed almost
as quickly as it hits the plant.
Where is the feedforward action in the gure of Example 9? In fact, which
is the forward direction? In that example, it was probably difcult to see that
the forward direction is from the input side, and that the backward direction is
from the output to the input. But if adopt the convention that all inputs come
from left, and all outputs exit from the right, thus
System
Inputs Outputs
agree that the forward path is from input to output, and redraw the block dia-
gram in Example 9 thus
y

+
+
Plant
y
d
+
P C
+
G
ff
then, it is clear that the disturbance input is being injected along an alternative
forward path into that system. On the other hand, in Example 8, the output
was being fed back into the input channel.
January 2, 2012 36 of 218 Ramprasad Potluri
Lecture 8
Virtues of control systems:
Improvement in performance
and overcoming deadzone
In this lecture, we discuss how a control system can be employed to achieve
the goal of the output of a plant following a reference signal. The task of fol-
lowing a reference signal can be broken into two components. One, when the
reference signal changes to a new constant value y
ref
(), the output needs to
also eventually reach a new constant value y() which is as close as desired to
y
ref
(). Second, the while the output of the plant needs
8.1 Improvement in speed of response
We saw in the last lecture that, when we wanted a motors speed to quickly
reach a unit speed, a closed-loop conguration was more useful than an open-
loop conguration. We saw this as follows. We make the following assump-
tions:
The motor is powered from a power amplier, and a tachogenerator is
mounted on the motors shaft to measure the speed of the motor. The TF
from the power ampliers input to the tachogenerators output is
1
s+1
.
The signals r
OL
and y
OL
(and r
OL
and y
OL
) are dimensionally consistent and
of comparable magnitudes.
r
OL
(t) = r
CL
(t) = 1(t).
We see that y
OL
and y
CL
behave as shown in the following gure:
-
r
OL
(t) = u
OL
(t) 1
s + 1
-
y
OL
(t)
y
OL
(t) = (1 e
t/
)1(t)
-
r
CL
(t)
+
` -
e(t)
K
-
u
CL
(t) 1
s + 1
p -
y
CL
(t)
6

y
CL
(t) =
K
1+K
_
1 e
t/

1+K
_
1(t)
37
EE250 (Control Systems Analysis) IITK Lecture Notes
Apparently, the CL system provides faster settling time at the small cost of
a steady-state error e
ss
lim
t
e(t) equal to
1
1+K
. But how is the CL system
achieving this? Let us compare the control effort in the OL and CL cases.
While, u
OL
(t) = 1(t), u
CL
(t) can be obtained as follows:
U
CL
(s)
R
CL
(s)
=
K
1 +
K
s+1
Given that r
CL
(t) = 1(t), we have
u
CL
(t) = L
1

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

This gives
u
CL
(t) =
K
1 + K
_
1 + Ke
t/

K+1
_
1(t)
We see that, at t = 0
+
, u
CL
= K, and at t = , u
CL
=
K
1+K
. As we can see from
the following gure,
K
1+K
1
K
u
C
L
u
OL
y
C
L
y
OL
t
in order to provide the improved settling time, the CL system is applying a
greater control effort:
u
CL
(t) > u
OL
(t), for most t.
Thus, if we want a motor to settle as quickly as possible to 1000 rpm, we
drive it, using u
CL
(t), for example, towards 10000 rpm, and as it is tending
towards 10000 rpm, we ask it to go to 8000 rpm, 7000, 6000,...,1000. The idea
is that no matter what inertia the motor has, we can always supply sufcient
power to help it overcome the inertia quickly.
But, in practice, it is not possible to provide enough power to overcome any
inertia, mostly because the power source or the motor have their own limita-
tions. The power source may be able to apply only so much voltage, or only
so much current may be permitted to pass through the armature of the motor.
That is, in practice, there are always constraints on the inputs to the system, and
the input cannot exceed certain values. The feedback control system needs to
respect these input saturation constraints.
January 2, 2012 38 of 218 Ramprasad Potluri
EE250 (Control Systems Analysis) IITK Lecture Notes
8.2 Command feedforward
There is also what is known as command feedforward: For improving perfor-
mance through improving the shape of response.
p -
y
d
+
` -
C
1
-
+
` -
P
p -
y
6

-
C
2
?
+
Y(s)
Y
d
(s)
=
(C
1
+ C
2
)P
1 + PC
1
In the above scheme, we can use command feedforward to alter the zeros of
the TF from y
d
(t) to y(t). For this, we can modify the numerator of
(C
1
+C
2
)P
1+PC
1
to
obtain certain desirable properties of the response y to input y
d
(for example,
rise time). In the chapter on performance analysis of control systems, we will
see what effect the zeros of a TF have on its response.
Let us compare through an example the command feed-forward (CFF)
structure with the negative feedback (NFB) structure.
We saw that the NFB structure helps achieve a good speed of response. In
the following gure,
-
r
CL
(t)
+
` -
e(t)
K
-
u
CL
(t) 1
s + 1
p -
y
CL
(t)
6

y
CL
(t) =
K
1 + K
_
1 e
t/

1+K
_
1(t)
Thus, while the plant by itself has a speed of response governed by its time
constant , the closed-loop structure has a time constant /(1 + K), and thus
is faster by 1 + K times.
However, the steady-state value of y
CL
(t) is y
ss
= K/(1 + K), and is not
equal to 1.
On the other hand, the CFF scheme below
has the TF
Y
Y
d
=
K + C
2

1
s +
1+K

and, for y
d
(t) = 1(t), this gives
y(t) =
K + C
2
K + 1
_
1 e
t/

1+K
_
1(t)
This scheme, while allowing us to have the same speed of response as in the
case of the NFB conguration, allows us, for C
2
= 1, to have y
ss
= 1. That is,
this scheme also improves the steady-state error.
This is not the only advantage of the CFF structure. Note that, real-world
plants do not respond if their stimuli are not strong enough. That is, these
plants are said to have dead zone nonlinearities. For example, a DC motors
shaft will not turn unless the voltage applied to its armature is larger than a
certain minimum value. When the value is below this minimum, the power
supplied to the motor is not enough to help the shaft overcome the friction in
the bearings, and to overcome the losses in the electric and magnetic circuit
of the motor. The adjacent gure illustrates two nonlinearities that we nd in
January 2, 2012 39 of 218 Ramprasad Potluri
EE250 (Control Systems Analysis) IITK Lecture Notes
Input
O
u
t
p
u
t
0
Dead zone
Saturation
L
i
n
e
a
r
r
e
g
i
o
n
a power amplier-DC motor combination Power-amp DC motor . The
power amplier (such as an H-bridge circuit) and the DC motor may have both
a dead zone nonlinearity and a saturation nonlinearity. A saturation nonlinear-
ity is the situation where raising the magnitude of the stimulus beyond a point
does not help anymore.
In the given NFB scheme, the magnitude of the voltage applied to the
power-amplier depends on the error. If the error is small, then this voltage
will also be small, and may lie in the dead zone of the amplier. In the CFF
scheme, on the other hand, a certain minimum voltage is applied to the power
amplier thanks to feeding forward of the command input. This feature can be
utilized to stay out of the dead zone of the amplier.
January 2, 2012 40 of 218 Ramprasad Potluri
Part II
Bode Plots
41
Lecture 9
Frequency response
9.1 Denition of Frequency Response
Frequency response (FR) is the steady-state (SS) response of a system to a si-
nusoidal input. SS is when the transient response of the system has died out.
So, by denition, in the development of the concept of FR, we will talk about
systems where transient responses die out.
9.2 Problem statement
We will show that the SS value of y(t) y
SS
(t) in the following gure
r(t)=Asin t

R(s)
G(s)
y(t)

Y(s)
is given by
y
ss
(t) = [G(j)[Asin (t +G(j))
G(j) is called sinusoidal TF of the system
G(j) = G(s)[
s=j
(9.1)
9.3 Solution
We study systems modeled by LTI differential equations of the form of Equa-
tion (3.1) including a dead time component. As these differential equations
represent practical systems, they have real coefcients.
A corollary of the fundamental theorem of algebra is that every polynomial
with real coefcients can be expressed as the product of polynomials with real
coefcients of degrees 1 or 2.
The above two paragraphs mean that the TFs that we study in this course
are of the form
G(s) = a

n
1
i=0
(s + z
i
)
n
2
k=0
(s
2
+ 2
k

nk
s +
nk
2
)

d
1
i=0
(s + p
i
)
d
2
k=0
(s
2
+ 2
k

dk
s +
dk
2
)
e
t
d
s
(9.2)
43
EE250 (Control Systems Analysis) IITK Lecture Notes
where a, z
i
, p
i
,
nk
,
dk
, t
d
,
k
,
k
are all real.
In the TF of Equation (9.2), the part that does not include the exponential
term e
t
d
s
is said to be rational as it is the ratio of two terms. This part is said
to be proper if the order of the numerator is not more than the order of the
denominator, that is, if
n
1
+ 2n
2
d
1
+ 2d
2
and strictly proper if the order of the numerator is less than the order of the
denominator, i.e., if
n
1
+ 2n
2
< d
1
+ 2d
2
As we are interested in the SS response of G(s), G(s) will need to be stable.
Else, the SS value will not exist. We will discuss stability in the required detail
in a later lecture.
The term e
t
d
s
represents dead time or transportation lag.
We evaluate y
ss
(t) for r(t) = Asin t under the assumption that G(s) is
stable and that e
t
d
s
is absent.
Steps
1. R(s) =
A
s
2
+
2
.
2. Y(s) = G(s)R(s) can be written as follows:
Y(s) = G(s)
A
(s + j)(s j)
(9.3)
3. Split Y(s) into partial fractions:
Y(s) = (G(s)) +

1
s + j
+

2
s j
(9.4)
where (G(s)) represents all the partial fractions that G(s) generates.
4. Evaluate
1
&
2
using (9.3) & (9.4).
G(s)
A
(s + j)(s j)
= (G(s)) +

1
s + j
+

2
s j

1
and
2
can be evaluated as follows:

1
=
_
(s + j)G(s)
A
(s + j)(s j)
_

s=j

2
=
_
(s j)G(s)
A
(s + j)(s j)
_

s=+j
Therefore,

1
=
G(j)A
2j
,
2
=
G(+j)A
+2j
.
January 2, 2012 44 of 218 Ramprasad Potluri
EE250 (Control Systems Analysis) IITK Lecture Notes
5. Are G(j) & G(+j) related? In particular is G(j) = G(+j)

?
We can see that this is indeed so as all the constant in G(s) (i.e.,
a, z
i
, p
i
,
nk
,
dk
, t
d
,
k
,
k
) are all real numbers. If they were not real, then
in general G(j) would not be the complex conjugate of G(j). Since we
are dealing with real systems, these constants are real in our case.
6. Now, let us take the inverse LT of (9.4):
y(t) = L
1
(G(s)) +
1
e
jt
+
2
e
+jt
(9.5)
Here L
1
(G(s)) contains all the transient terms.
7. As we have assumed that G(s) is stable, then L
1
(G(s)) dies out even-
tually. Then,
y
ss
(t) =
1
e
jt
+
2
e
+jt
=
G(j)A
2j
e
jt
+
G(j)A
2j
e
jt
=
[G(j)[e
j
A
2j
e
jt
+
[G(j)[e
j
A
2j
e
jt
=
[G(j)[
2j
A
_
e
j(t+)
e
j(t+)
_
y
ss
(t) = [G(j)[Asin(t +G(j))
Problem 9
Evaluate y
ss
(t) assuming that e
t
d
s
is also present.
9.4 Conclusion
We have proved that the S.S. response of G(s) to an input r(t) = Asin t is
y
ss
(t) = [G(j)[Asin(t +G(j))
So, the term
G(j) = [G(j)[G(j) = [G(j)[e
jG(j)
fully characterizes the S.S. response of the stable TF G(s) to a sine input.
So, the output sine from G(s) is r(t) amplied [G(j)[ times and shifted
ahead by a phase of G(j).
9.5 Caution
While G(j) can be written as in Equation (9.1), and though G(s) =
Y(s)
R(s)
,
G(j) ,=
Y(s)
R(s)

s=j
=
Y(j)
R(j)
January 2, 2012 45 of 218 Ramprasad Potluri
EE250 (Control Systems Analysis) IITK Lecture Notes
For, while G(j) can be evaluated as done above, Y(j)/R(j) works out to
zero because
R(j) = R(s)[
s=j
=
A
(j)
2
+
2
=
A

2
+
2
=
9.6 Appendix
FR is developed in most books. My derivation is based on [10]. But, I have
taken care to avoid Ogatas errors.
Note that, as per Section 9.1, FR exists only for stable systems. We develop
the machinery of Bode plots on the basis of FR. However, Bode plots are drawn
for unstable systems too. I have not seen that the standard textbooks explain
this anomaly. Indeed, they do not even mention it.
January 2, 2012 46 of 218 Ramprasad Potluri
Lecture 10
Bode plots (Part 1)
10.1 Uses of frequency response in control systems
Frequency response (FR) G(j) of a system may be sketched with [G(j)[
against and G(j) against as shown in the Figure 10.1.
One value of an FR is that it allows us to compare the speed of response of
two systems. For example, from the Figure 10.2, we can say that system 2 with
TF G
2
(s) is faster than system 1 that has the TF G
1
(s).
This statement can be understood as follows. In order to amplify a signal,
the system needs to work, needs to put in energy. To amplify a fast sinusoid
(i.e., one that has a high frequency), the system needs to work fast, to put in
energy fast. If the system can process a fast sinusoid, then it can process any
other fast signal whose fastest sinusoidal component is this fast sinusoid. Sys-
tem 2 above is able to amplify with the same constant amplication factor as
system 1 more frequencies than system 1 is able to.
The speed of response of a system is measured in the time domain through
such quantities as time constant, rise time, settling time. For example, in Lec-
ture 7, we saw that the OL system had a slower response than the CL system.
In the real world, all physical quantities evolve in the time domain, and we
tend to think of speed of response of a system in the time domain. It may
not seem very intuitive to think in the frequency domain. But, the frequency
domain does have conveniences that we will exploit in this course. For exam-
ple, the frequency-domain quantity bandwidth is roughly the inverse of the
time-domain quantity time-constant of a system. Thus, in order to make a
system faster, we need to increase its bandwidth.
Here is how we can determine the frequency response of a system in prac-
tice. If it is an electrical circuit, input a sine voltage of a xed amplitude from
a function generator. Sweep the frequencies from 0 to some large value, say,
20 kHz or upto the frequency that the function generator will support. Take
readings of the output sines amplitude. Also, read the output sines phase
w.r.t. to the input by observing both on an oscilloscope. Overall, take about 10
- 15 readings of the amplitudes and the corresponding phases. Plot the ampli-
tude versus frequency, and the phase versus frequency. This is the frequency
response plot.
Catch: the readings must be logarithmically spaced. Otherwise, the plot
47
EE250 (Control Systems Analysis) IITK Lecture Notes
|G(j)|

G(j)
[rad]
, [rad/s]
, [rad/s]
0
0
linear scale
linear scale
l
i
n
e
a
r
s
c
a
l
e
l
i
n
e
a
r
s
c
a
l
e
2
0
l
o
g
1
0
|
G
(
j

)
|

G(j)
[rad]
, [rad/s]
, [rad/s]
0
log scale
log scale
l
i
n
e
a
r
s
c
a
l
e
l
i
n
e
a
r
s
c
a
l
e
[
d
B
]
Figure 10.1: Sample sketches of [G(j)[ and G(j) versus .
2
0
l
o
g
1
0
|
G
1
(
j

)
|
, [rad/s]
log scale
l
i
n
e
a
r
s
c
a
l
e
[
d
B
]
10
2
0
l
o
g
1
0
|
G
2
(
j

)
|
, [rad/s]
log scale
l
i
n
e
a
r
s
c
a
l
e
[
d
B
]
100
Figure 10.2: Magnitude versus frequency plots with different bandwidths.
will not be useful or even clear. How to logarithmically space readings? This
brings us to the topic of Bode plots (BPs).
Bode plots are convenient tools to display the FR of a system.
10.2 Convention in constructing Bode plots
Consider the general form of the TF of Equation (9.2). The FR of the system
whose TF G(s) is is given by the sinusoidal TF
G(j) = a

n
1
i=0
(j + z
i
)
n
2
k=0
_
(j)
2
+ 2
k

nk
j +
nk
2
_

d
1
i=0
(j + p
i
)
d
2
k=0
((j)
2
+ 2
k

dk
j +
dk
2
)
e
t
d
j
The magnitude of G(j) is
[G(j)[ = a

n
1
i=0
_

2
+ z
i
2

n
2
k=0
_
(
nk
2

2
)
2
+ (2
k

nk
)
2

d
1
i=0
_

2
+ p
i
2

d
2
k=0
_
(
dk
2

2
)
2
+ (2
k

dk
)
2
January 2, 2012 48 of 218 Ramprasad Potluri
EE250 (Control Systems Analysis) IITK Lecture Notes
The phase of G(j) is
_
G(j) =
n
1

i=0
_
j + z
i
+
n
2

k=0
_

nk
2

2
+ j2
k

nk
t
d

d
1

i=0
_
j + p
i

d
2

k=0
_

dk
2

2
+ j2
k

dk

While [G(j)[ is straightforward to evaluate, G(j) needs care. Here is


the convention that control systems theory follows in evaluating G(j):
1. (
k
+ j) can be in the interval [0, 2] rad. This restriction does not apply
to the exponential term e
jt
d
; here the angle is t
d
in radians.
2. Angles of complex numbers are measured in the counter clockwise sense.
Example 10
Determine G(j) given that
G(s) =
(s + z
1
)(s z
2
)e
t
d
s
(s + p
1
)(s p
2
)(s + p
2
)
Note that all the coefcients in the TF are positive
1
.
G(j) = (z
1
+ j) +(z
2
j) + (t
d
)
(p
1
+ j) (p
2
+ j) (p
2
j)
Let us calculate this angle for some xed value =
0
.

(z
1
+ j
0
)

4
Angle Location of complex number Value of angle

(z
2
j
0
)

(p
1
+ j
0
)

(p
2
+ j
0
)

(p
3
j
0
)
+

6

3


4
2

4
1
We talk of positiveness or negativeness of only real numbers, and not of complex numbers.
January 2, 2012 49 of 218 Ramprasad Potluri
EE250 (Control Systems Analysis) IITK Lecture Notes
Then,
G(j) =

4
+
_
+

6
_
(t
d

0
)

3

_


4
_

_
2

4
_
rad
The method demonstrated in this example to determine the angle of a com-
plex number can prove convenient in determining the phase of sinusoidal TFs.
For example, we can nd the phase of G(j) =
k

0
__
j

0
+ 1
_
by noting that
as goes from 0 to , the complex number 1 + j

0
goes from 1 + j0 to 1 + j,
and consequently, the angle of this complex number goes from 0 to 90

. There-
fore, the plot of G(j) versus lies between 0

and 90

.
10.3 Types of Bode plots
We will use the following tools in our course:
Bode plot (BP)
Bode magnitude plot (BMP)
Bode phase plot (BPP)
Asymptotic Bode plot (ABP)
Asymptotic Bode magnitude plot (ABMP)
Asymptotic Bode phase plot (ABPP)
The ABP is a straight line approximation to BP. The (A)BP has two compo-
nents: (A)BMP and (A)BPP.
10.4 Appendix: Angles in MATLAB
In MATLAB, to determine the angle of a complex number x + jy, we have
several functions. We discuss here the suitability of these functions for the
purpose of drawing Bode plots. Suppose we wish to determine the angle of
the complex number -10-j10.
atan x = -10, y = -10, atan(x+i*y) will not work. 270 -
atan(abs(y/x))*180/pi will work. That is, we have to gure out the
quadrant in which x + jy lies
2
. In this case, x + jy lies in the third quadrant.
atan2 Takes into account the quadrant. However, the solution, similar to
MATHEMATICAs arctan, is in the range [, +]. So, for example,
atan2(-10,-10)*180/pi returns 135, whereas for the purposes of plotting
BPPs, we would like to obtain the answer as +225.
2
On the other hand, in MATHEMATICA, ArcTan(x,y) will take into account the quadrant in
which x + jy lies.
January 2, 2012 50 of 218 Ramprasad Potluri
EE250 (Control Systems Analysis) IITK Lecture Notes
angle Takes into account the quadrant in which the complex number lies. For
example, angle(-10-j*10)*180/pi gives 135. That is, angle returns the
angle in the range [, +].
bode This function does not have the drawback of atan2 or
angle. For example, the commands sys = tf([10,10,0,0],1);
[mag,phase]=bode(sys,1) will return phase = 225.
10.5 Appendix: Angles in GNU Octave
GNU Octaves atan, atan2, angle seem to be behaving the same way as
their counterparts in MATLAB. The bode function in these two software be-
have differently from each other. While MATLAB seems to have implemented
its bode function to calculate angles as explained in Section 10.2, GNU Octaves
bode seems to be following a different convention to calculate angles. In this
connection, two observations about GNU Octave version 3.2.4 are
1. The commands sys = tf([10,10,0,0],1); [mag,phase]=bode(sys,1)
returns an error message that the number of poles is less than the number of
zeros. That is, GNU Octaves bode seems to work only with proper transfer
functions.
2. sys = tf(1,[10,10,0,0]); [mag,phase]=bode(sys,1) returns phase =
135. This command returns phase = -225 in MATLAB, which is in keep-
ing with the convention of Section 10.2.
My guess is that when x + jy is in the rst and second quadrants, GNU Oc-
tave 3.2.4s bode calculates its angle in keeping with the convention of Sec-
tion 10.2, while if the complex number is in the third and the fourth quad-
rants, a different convention is used.
10.6 Appendix: Examples of departure of MATLAB
from the convention
Problem 10
If you were to design a software that would draw the Bode plots as per
the convention of Section 10.2, sketch how the phase plot in response to the
following commands would look:
sys=tf([1],conv([1 1],[1 1 1])); bode(sys)
sys=tf([1],conv([1 1],[1 0 1])); bode(sys)
Figures 10.3 and 10.4 show the result generated by the rst line of commands
in GNU Octave 3.2.4 and MATLAB respectively. Figures 10.5 and 10.6 show
the result of the second line of commands generated by GNU Octave 3.2.4 and
MATLAB respectively.
January 2, 2012 51 of 218 Ramprasad Potluri
EE250 (Control Systems Analysis) IITK Lecture Notes
-250
-200
-150
-100
-50
0
10
-1
10
0
10
1
10
2
P
h
a
s
e
in
d
e
g
Frequency in rad/sec
phase([Y/U](jw)), u=u1, y=y1
-120
-100
-80
-60
-40
-20
0
10
-1
10
0
10
1
10
2
G
a
in
in
d
B
Frequency in rad/sec
|[Y/U](jw)|, u=u1, y=y1
Figure 10.3: Result of sys=tf([1],conv([1 1],[1 1 1])); bode(sys) from
GNU Octave version 3.2.4.
150
100
50
0
M
a
g
n
i
t
u
d
e

(
d
B
)
10
2
10
1
10
0
10
1
10
2
270
180
90
0
P
h
a
s
e

(
d
e
g
)
Bode Diagram
Frequency (rad/sec)
Figure 10.4: Result of sys=tf([1],conv([1 1],[1 1 1])); bode(sys) from
MATLAB.
January 2, 2012 52 of 218 Ramprasad Potluri
EE250 (Control Systems Analysis) IITK Lecture Notes
-40
-20
0
20
40
60
80
100
120
140
10
-1
10
0
10
1
10
2
P
h
a
s
e
in
d
e
g
Frequency in rad/sec
phase([Y/U](jw)), u=u1, y=y1
-100
-50
0
50
10
-1
10
0
10
1
10
2
G
a
in
in
d
B
Frequency in rad/sec
|[Y/U](jw)|, u=u1, y=y1
Figure 10.5: Result of sys=tf([1],conv([1 1],[1 0 1])); bode(sys) from
GNU Octave version 3.2.4.
200
150
100
50
0
50
100
150
200
M
a
g
n
i
t
u
d
e

(
d
B
)
10
2
10
1
10
0
10
1
10
2
450
360
270
180
P
h
a
s
e

(
d
e
g
)
Bode Diagram
Frequency (rad/sec)
Figure 10.6: Result of sys=tf([1],conv([1 1],[1 0 1])); bode(sys) from
MATLAB.
January 2, 2012 53 of 218 Ramprasad Potluri
EE250 (Control Systems Analysis) IITK Lecture Notes
January 2, 2012 54 of 218 Ramprasad Potluri
Lecture 11
Bode plots (Part 2)
11.1 First method for sketching an ABMP
As an example, let us sketch the BP and ABP of G(s) =
k
s+
0
.
Step 1 First convert G(s) into what we shall call in this course the Bode form:
G(s) =
k/
0
s

0
+ 1
This form is convenient for sketching BPs and ABPs.
Step 2 Write the sinusoidal TF corresponding to G(s).
G(j) =
k/
0
j
0

0
+ 1
; [G(j)[ =
k/
0
_
1 +
_

0
_
2
; G(j) =
_
1 + j

0
Step 3 To construct the BP, populate Table 11.1.
In the table, dB-gain is as follows:
dB-gain = 20 log
10
[G(j)[ = 20 log
10
k

0
. .
C1
+20 log
10

0
_
2
+ 1
. .
C2
Construct the BP using the data populated in Table 11.1.
Table 11.1: Table to populate to build the Bode plot of G(s) = k
_
(s +
0
) .
, [rad/s]

0
100

0
10

0
2

0
2
0
10
0
100
0
dB-gain, [dB]
G(j), [rad]
55
EE250 (Control Systems Analysis) IITK Lecture Notes
2
0
l
o
g
1
0
|
G
(
j

)
|
0
l
i
n
e
a
r
s
c
a
l
e
[
d
B
]
, [rad/s], if log scale
log
10

, [decades], if linear scale


log
10
, [decades], if linear scale
, [rad/s], if log scale
log
10

, [decades], if linear scale


log
10
, [decades], if linear scale

G
(
j

)
[
r
a
d
]
o
r
d
e
g
r
e
e
s
l
i
n
e
a
r
s
c
a
l
e
Figure 11.1: Setting up the axes on the graph paper on which we sketch the
Bode plot.
Step 4 To construct the ABMP, note that taking the logarithm of a product re-
sults in a sum, and that a sum is easier to sketch than a product. Thus, we
can sketch the ABMP of G(j) as the sum of the ABMP corresponding to C1
with that corresponding to C2.
Let us consider C2. We note the following about C2:
20 log
10

0
_
2
+ 1 =
_
0,

0
1 (i.e., when
0
/10)
20 log
10

0
,

0
1 (i.e., when 10
0
)
Step 5 Set up the axes as shown in Figure 11.1.
We can use either a linear-linear graph paper or a semilog graph paper. A
2-cycle semilog graph paper is shown in Figure 11.2 and a 5-cycle paper is
provided in a larger size at the end of this book.
Step 6 Sketch the straight line approximations corresponding to C1 and to
Step 4s approximation of C2 as shown in Figure 11.3.
Here is a brief explanation for howsection C2-2 is constructed in Figure 11.3.
C2-2 is the plot of 20 log
10
/
0
versus log
10
/
0
. Sketching this sec-
tion is equivalent to sketching y = 20x versus x for x 0 as shown in
January 2, 2012 56 of 218 Ramprasad Potluri
EE250 (Control Systems Analysis) IITK Lecture Notes
Figure 11.2: A 2-cycle semilog grid. The ordinate is graduated linearly. The
abscissa is graduated logarithmically meaning that within each cycle on the
abscicca from the left, the marks corresponding to 1, 2, 3, . . . , 10 are respectively
at log
10
1 = 0, log
10
2 = 0.30103, log
10
3 = 0.47712, . . . , 1 units.
2
0
l
o
g
1
0
|
G
(
j

)
|
,
[
d
B
]
0
C1
40
20
20

0
20 dB/dec


10
10
0
C2-1
C2-2
Figure 11.3: A sketch of the straight line approximations to C1 and C2.
January 2, 2012 57 of 218 Ramprasad Potluri
EE250 (Control Systems Analysis) IITK Lecture Notes
y
=

2
0
x
x 0 1 2 3 4
20
40
60
Figure 11.4: Sketching section C2-2 is equivalent to sketching y = 20x versus
x for x 0.
2
0
l
o
g
1
0
|
G
(
j

)
|
,
[
d
B
]
0
C1
40
20
20

0
20 dB/dec

10
10
0
C2-1
C2-2
ABMP
k
s
+

0
o
f
Figure 11.5: The nal asymptotic Bode magnitude plot of k
_
(s +
0
)
Figure 11.4. On a graph of 20 log
10
[G(j)[ versus log
10
/
0
, the 0 on
the abscissa is at =
0
. Therefore, beginning at =
0
, the ABMP of
20 log
10
/
0
is a straight line at a slope of 20 dB/dec.
Step 7 Add C1 and C2 point by point to obtain the ABMP of k
_
(s +
0
) as
shown in Figure 11.5.
The maximum difference between the BMP and the ABMP is 3 dB and oc-
curs at the corner frequency as shown in Figure 11.6.
Step 8 Draw the BPP using the data lled into the table of Step 3. The BPP
must be presented below the BP with the grids aligned vertically as shown
in Figure 11.6.
Step 9 Draw a straight line approximation to the BPP. There can be multiple
choices for this straight line approximation. See Figure 11.6 for the most
commonly used choice.
January 2, 2012 58 of 218 Ramprasad Potluri
EE250 (Control Systems Analysis) IITK Lecture Notes
40
35
30
25
20
15
10
5
0
M
a
g
n
i
t
u
d
e

(
d
B
)
10
2
10
1
10
0
10
1
10
2
90
45
0
P
h
a
s
e

(
d
e
g
)
Bode Diagram
Frequency (rad/sec)
45
deg/dec
3 dB
5.7
o
20
dB/dec
Figure 11.6: Bode plot and asymptotic bode plot of G(s) = 1
_
(s + 1) . The
straight line plot in the thick solid line is the asymptotic plot, while the smooth
line plot in the thin solid line is the Bode plot. The maximum difference be-
tween these plots is at the corner frequencies. The maximum error between
the magnitude plots is 3 dB, while that between the phase plots is 5.7

.
Examples of straight line approximations to BPPs are in [12] and [13].
11.2 Second method for sketching an ABMP
The procedure shown above constructs ABMPs as sum of elemental ABMPs.
In practice, however, a much simpler method exists to quickly sketch ABMPs,
and works as follows.
Step 1 The shape of the ABMP is visualized rst in terms of the slopes of its
various sections, and the corner frequencies. This step xes the horizontal
location of the ABMP.
Step 2 The vertical position of the ABMP can be xed by working out the value
of the dB-gain at any one frequency.
Thus, to sketch the ABMP of k
_
(s +
0
) , we note that the ABMP of this TF
has the shape 0 dB/dec, 20 dB/dec. The corner frequency is at =
0
. One
January 2, 2012 59 of 218 Ramprasad Potluri
EE250 (Control Systems Analysis) IITK Lecture Notes
point on this ABMP is 20 log
10
k/
0
at
0
, say =
0
/10. This point
xes the ABMP in the vertical direction.
As another example, to sketch the ABMP of k
_
s(s +
0
) , we note that the
ABMP of this TF has the shape 20 dB/dec, 40 dB/dec. The corner frequency
is at =
0
. One point on this ABMP is 20 log
10
10k/
0
2
at
0
, say
=
0
/10. This point xes the ABMP in the vertical direction.
January 2, 2012 60 of 218 Ramprasad Potluri
Lecture 12
Bode plots (Part 3)
12.1 Comparison of the two methods for construct-
ing ABMPs
Working out a few problems with the rst method helps develop a comfort
with the second method.
While the rst method is simplied by using the Bode form of the TF, the
second method does not need this form.
In practice, whenever there is any confusion in using the second method,
we can employ the rst method.
While the elemental ABMPs are constructed through an analytical approx-
imation and do not need the BMPs to be constructed rst, elemental ABPPs
are not as easy to construct analytically. Therefore, the elemental BPPs are con-
structed rst, and only then their approximations are constructed as ABPPs.
We memorize the elemental ABPPs and sum them up when a composite ABPP
is needed.
While ABMPs can be constructed easily using the second method, ABPPs
are more easy to construct by summing the elemental ABPPs.
Elemental BPs are those corresponding to the various elemental TFs in the
composite TF of (9.2).
12.2 Selecting an to vertically x an ABMP in the
second method
To x the vertical location of the ABMP, working out the dB-gain in the low-
frequency section of the ABMP is less error-prone than working out the dB-
gain near one of the corner frequencies.
For example, to x the ABMP of k
_
(s +
0
) , we use the expression for
magnitude k
_
_

2
+
0
2
. If we select =
0
as the frequency at which to
work out the magnitude, then we obtain the point
_

0
, 20 log
10
_
k
_

2
0
__
,
which lies on the BMP but not on the ABMP. Indeed, the ABMP at this
=
0
lies 3 dB above this point. We could instead use the point
61
EE250 (Control Systems Analysis) IITK Lecture Notes
_

0
/10 , 20 log
10
_
k
_

1.01
0
__
, which is only 0.04 dB below the point on
the ABMP
_

0
/10, 20 log
10
(k /
0
)
_
.
Indeed, to x the ABMP, it is convenient to use not just points from the low-
frequency section, but any points that are at least one decade away from their
closest corner frequency.
12.3 Examples of construction of ABPs
Consider the TF k
_
(s (s +
0
)) .
Consider the TF k
__
s
2
(s +
0
)
_
.
Consider the TF k
_
((s + 10)(s + 1000)) .
Consider the TF k
_
(s +
0
)
n
.
Consider the TF ke
s
_
(s(s + 10)(s + 1000)) .
Most of the time of the lecture was spent on this section. I will ll this
section soon.
12.4 BP and ABP of the second order TF
We consider the second order TF
n
2
__
s
2
+ 2
n
s +
n
2
_
for 0 < < 1.
The
n
2
in the numerator helps normalize the magnitude of this TF at low
frequencies to 1. is known as damping ratio.
The magnitude of the sinusoidal version of this TF is
[G(j)[ =

n
2
_
(
n
2

2
)
2
+ (2
n
)
2
=
1
_
_
1

2

n
2
_
2
+
_
2

n
_
2
(12.1)
and the phase is
G(j) =
__

n
2

2
_
+ j2
n
=
__
1

2

n
2
_
+ j2

n
We see that, as r =

n
goes from 0 to , the complex number (1 r
2
) + j2r
moves fromthe positive real axis to the rst quadrant, to the positive imaginary
axis, to the second quadrant, to the negative real axis. So, the phase of this
number goes from 0 to 180

. So, the phase of our 2nd order TF goes from 0

to
180

. The phase goes from 0

to 180

as goes from 0 to .
To obtain a straight line approximation to the BMP, we note that
20 log
10
[G(j)[ =
_
_
_
0,

0
1 (i.e., when
0
/10)
20 log
10
_

0
_
2
,

0
1 (i.e., when 10
0
)
This means that the ABMP has the slopes 0 dB/dec, 40 dB/dec, and that the
corner frequency is at =
n
.
While the ABMP of the second order TF is convenient, the difference be-
tween the BMP and the ABMP can be signicant for values of much smaller
than 1 as Figure 12.1 shows.
Problem 11
January 2, 2012 62 of 218 Ramprasad Potluri
EE250 (Control Systems Analysis) IITK Lecture Notes
10
1
10
0
10
1
40
30
20
10
0
10
20
=1.4142
r = /
n
d
B

g
a
i
n

o
f

2
n
d

o
r
d
e
r

T
F
=1.2571
=1.0999
=0.94281
=0.78567
=0.62854
=0.4714
=0.31427
=0.15713
=0
Figure 12.1: Bode magnitude plots of the second order transfer func-
tion
n
2
__
s
2
+ 2
n
s +
n
2
_
. This gure is generated using the m-le
order2tf.m.
Write a MATLAB code to plot the BMP of the second order TF for various
values of , and to mark the locus of the maxima of these BMPs.
12.5 Appendix: MATLAB codes
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% order2tf.m: m-file to evaluate the value of the dB-gain of
% the TF
% wn^2
% --------------------
% s^2 + 2*zeta*wn + wn^2
%
% at various frequencies and for various values of zeta.
%
% This task can be implemented using a FOR loop.
% There may be other ways too. This code works nicely in
% GNU Octave version 3.2.4 and in MATLAB.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
January 2, 2012 63 of 218 Ramprasad Potluri
EE250 (Control Systems Analysis) IITK Lecture Notes
clear all % Clears workspace of the values of all variables
% that have been evaluated.
close all % Closes all figure windows.
% Specify values of the damping ratio for which Bode plots
% will be drawn:
nzeta = 10;
zeta = linspace(sqrt(2),0,nzeta);
% Specify logarithmically-spaced frequencies at which dB-gain
% & phase will be evaluated:
nr = 150;
r = logspace(-3,+1,nr); % r = w/wn
for i = 1:nzeta
for j = 1:nr
dBgain(j,i) = -10*log10((1-r(j)^2)^2 + (2*zeta(i)*r(j))^2);
% What this is meant to generate is a matix of dB gains
% where each column corresponds to a given value of zeta and
% each row corresponds to a given value of r.
end
end
% Plot the Bode diagram for the first value of zeta:
a = [\zeta=,num2str(zeta(1))]
semilogx(r,dBgain(:,1)), grid, gtext(a);
axis([0.1,10,-40,+20]);
xlabel(r = \omega/\omega_n), ylabel(dB gain of 2nd order TF);
% Once the first diagram has been plotted, plot all
% subsequent diagrams on the same figure:
hold
for i = 2:nzeta
a = [\zeta=,num2str(zeta(i))]
semilogx(r,dBgain(:,i)); gtext(a);
end
% Next, show on the same plot, the locus of the peaks of each
% Bode magnitude plot:
zeta1 = linspace(sqrt(2),0,5*nzeta);
r = sqrt(1-2*zeta1.^2);
dBmax = -20*log10(2.*zeta1.*sqrt(1-zeta1.^2));
semilogx(r,dBmax,-.r)
print -depsc order2tf.eps
% -dbitmap, -depsc, -deps are available that are relevant
% to us.
January 2, 2012 64 of 218 Ramprasad Potluri
Lecture 13
Bode plots (Part 4)
13.1 Notes on the ABMP of second order TF
The following points are of interest about [G(j)[ of (12.1).
1. The maximum of [G(j)[ occurs at =
d
:=
n
_
1 2
2
.
2. dB-gain at =
d
is 20 log
10
1
2

1
2
.
3. At = 1/

2, dB-gain equals zero at =


d
. For < 1/

2, dB-gain at

d
is greater than zero. That is, a hump begins to appear in the BMP for
< 1/

2.
4. At = 1/

2, [G(j
n
)[ = 1/(2) = 1/

2. Therefore, dB-gain at =
n
for
= 1/

2 is 3 dB. Therefore, for = 1/

2, =
n
is the 3-dB frequency.
13.2 Complete BP of second order TF
The complete BP of the second order TF is shown in Figure 13.1 for values of
the damping ratio going from

2 to nearly 0 and is built using the m-le
order2bp.m.
Problem 12
Write a GNU Octave or MATLAB code to plot the BP of the second order
TF for various values of .
Problem 13
Run the m-le order2bp.m in MATLAB and modify it suitably if necessary
to plot a gure that reproduces the salient information provided by Figure 13.1.
65
EE250 (Control Systems Analysis) IITK Lecture Notes
-180
-160
-140
-120
-100
-80
-60
-40
-20
0
10
-2
10
-1
10
0
10
1
10
2
d
e
g
r
e
e
s
, rad/s
-100
-80
-60
-40
-20
0
20
40
10
-2
10
-1
10
0
10
1
10
2
d
B
-
g
a
in
, rad/s
Figure 13.1: The BP of the second order TF for values of the damping ratio
going from

2 to close to 0. The smaller the value of , the more pronounced


the hump in the BMP, and the more abrupt the transition from 0

to 180

.
January 2, 2012 66 of 218 Ramprasad Potluri
EE250 (Control Systems Analysis) IITK Lecture Notes
13.3 Filter-related terminology used in BPs
Review of ideal low pass, band pass, high pass lters.
Review of concepts of bandwidth and cut off frequency for ideal lters.
That we are talking about frequency response of control systems means that
we can treat control systems as lters.
In practical lters, as it is not possible to have sharp demarcations of pass-
band and stopband, the passband is dened as the frequency range where the
lters amplitude response is greater than some arbitrarily chosen minimum
value. Quite often, this minimum value is chosen as 1/

2 of the maximum
amplitude response [14, pages 178-179].
Certain frequency responses (e.g., those whose BMP has a non-zero rst
slope, or those whose BMP has a non-zero last slope) are not even non-ideal
versions of the ideal lters. So, for these, we cannot dene bandwidth and
cut-off frequency.
For example, for the TF

n
2
s
2
+2
n
s+
n
2
, the cutoff frequency is where the BMP
falls to 1/

2 of its low-frequency value (of 1).


13.4 Minimum phase TF
Example 11
Construct the Bode phase plots of the following TFs as sums of elemental
phase plots: G
1
(s) =
1+s
1
1+s
2
, G
2
(s) =
1s
1
1+s
2
, G
3
(s) =
1+s
1
1s
2
, G
4
(s) =
1s
1
1s
2
.
Note that the BPP of G
1
(s) is in the smallest interval of phases. In this sense,
G
1
(s) is a minimum-phase TF.
13.5 Appendix: MATLAB codes
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% order2bp: m-file to plot the complete Bode plot of the TF
%
% wn^2
% --------------------
% s^2 + 2*zeta*wn + wn^2
%
% for various values of zeta.
%
% This code works nicely in GNU Octave version 3.2.4, and
% in MATLAB.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
clear all % Clears workspace of the values of all variables
% that have been evaluated.
close all % Closes all figure windows.
January 2, 2012 67 of 218 Ramprasad Potluri
EE250 (Control Systems Analysis) IITK Lecture Notes
% Specify values of the damping ratio for which Bode plots
% will be drawn:
nzeta = 10;
zeta = linspace(sqrt(2),0.001,nzeta)
wn = 1;
w = logspace(log10(wn/100),log10(100*wn),500);
for i = 1:nzeta
[mag(i,:),ph(i,:),w] = bode(tf(wn^2,[1,2*zeta(:,i)*wn,wn^2]),w);
end
subplot(2,1,1), semilogx(w,20*log10(mag(:,:)));grid;
ylabel(dB-gain); xlabel(\omega, rad/s);
subplot(2,1,2), semilogx(w,ph(:,:));grid,
axis([1/100,100,-180,0]);
ylabel(degrees); xlabel(\omega, rad/s);
print -depsc order2bp.eps
January 2, 2012 68 of 218 Ramprasad Potluri
Part III
Stability Theory
69
Lecture 14
Stability theory (Part 1)
14.1 Minimum phase TFs (concluded)
We dene minimum-phase TFs as follows.
Denition 1 (Minimum-phase transfer function) Of all stable TFs, and those
that have the right-most poles only at the origin, that have the same BMP, the one that
has the phase plot spread over the smallest interval of phases is said to be minimum-
phase TF.
By Denition 1, of the TFs in Example 11 G
1
(s) and G
1
(s) are minimum-
phase TFs, while G
2
(s) and G
1
(s)e
t
d
s
are non-minimum phase TFs.
Some authors include unstable TFs too into the class of non-minimum
phase TFs. Denition 1 is in agreement with [15, pages 332-333], and allows us
to include the TFs that are not stable, for example, (s + 1)
_
s and (s + 1)
_
s
2
,
into the class of minimum phase TFs.
14.2 Why practical rational TFs are proper
If they were not, then the magnitude of their frequency response would go to
innity as . Real systems cannot provide such arbitrarily high gains;
their BMPs level off or drop after a certain frequency, meaning their TFs are
proper.
14.3 BIBO stability of LTI systems**
Denition 2 A signal r(t) is bounded if it is bounded from above and below by a
non-negative nite number M, meaning M r(t) M, 0 < M < , for all
t [0, ).
As signals could also be of bounded energy and bounded power, whereas
Denition 2 implies only bounds on the magnitude of the signal, to avoid con-
fusion, we use the term bounded in magnitude (BIM) for a bounded signal.
71
EE250 (Control Systems Analysis) IITK Lecture Notes
Denition 3 An LTI system is said to be bounded-input bounded-output (BIBO) sta-
ble if and only if every bounded-in-magnitude (BIM) input r(t) results in a BIM out-
put y(t).
Note that, for a time-domain scalar function r(t), the magnitude is simply
the absolute value of r(t), denoted [r(t)[ and equal to [r(t)[ = sgn(r(t))r(t).
Here, sgn() is the signum function that is dened in Equation (14.2).
Here, we develop a necessary and sufcient condition for the BIBO stability
of a causal LTI system that will helps us evaluate the BIBO stability of a given
TF G(s).
From a basic course on signals and systems, we know that the response y(t)
of a system to an arbitrary input r(t) (for t 0) can be expressed in terms of its
impulse response g(t) as
y(t) =
_

0
r()g(t )d
This is summarized in the following gure:
(t)

causal
LTI
plant
g(t)
=
r(t)=
_

0
r()(t)d

causal
LTI
plant
y(t)=
_

0
r()g(t)d

As (t ) ,= 0 only at t = 0, we see that the impulse response g(t )


is non-zero only beginning t 0
1
, that is only for t. Therefore, the
integral
_

0
r()g(t )d does not need to be evaluated for all 0, but
only for 0 t. Therefore,
_

0
r()g(t )d =
_
t
0
r()g(t )d
We shall use this result in order to develop the required condition.
Theorem 1 In a causal LTI system, for a BIM input r(t), the corresponding response
y(t) of the system is BIM if and only if
_

0
[g()[ d < .
Proof: Given that [r(t)[ M < , we have
[y(t)[ =

_
t
0
r()g(t )d


_
t
0
[r()g(t )[ d =
_
t
0
[r()[ [g(t )[ d
Therefore,
[y(t)[ M
_
t
0
[g(t )[ d = M
_
t
0
[g()[ d
Thus, for y(t) to be bounded for a bounded r(t), for all t [0, ), it is
sufcient that
_
t
0
[g()[ d be bounded for all t [0, ). That is,
For all t [0, ), for a BIM r(t), y(t) is BIM if
_

0
[g()[ d < .
1
Here, we are using the assumption of causality of the system. Real-world systems are causal.
January 2, 2012 72 of 218 Ramprasad Potluri
EE250 (Control Systems Analysis) IITK Lecture Notes
Next, to show that for y(t) to be BIM given r(t) is BIM it is necessary that
_

0
[g()[ d < , we only need to show an example where y(t) is not BIM for
a BIM r(t) because
_

0
[g()[ d ,< .
Consider, for example, the bounded input
r() = sgn (g(t ))
where the signum function sgn is dened as follows:
sgn (x) =
_

_
+1, x > 0
0, x = 0
1, x < 0
(14.1)
Then,
y(t) =
_
t
0
r()g(t )d =
_
t
0
[g(t )[ d =
_
t
0
[g()[ d
Thus, in this case, we see that if
_
t
0
[g()[ d ,< , then y(t) ,< . Thus, we
have a situation where, even though the input to the system is BIM, the output
is not. Thus, for y(t) to be BIM for a BIM r(t), for all t [0, ), it is necessary
that
_
t
0
[g()[ d be bounded for all t [0, ). That is,
For all t [0, ), for a BIM r(t), y(t) is BIM only if
_

0
[g()[ d < .
2
14.4 Discussion of the theorem and its proof**
The proof of Theorem 1 is not entirely convincing. In particular, the proof of
the statement
For all t [0, ), for a BIM r(t), y(t) is BIM only if
_

0
[g()[ d < .
is not convincing. Put another way, this statement says
For all t [0, ), for a BIM r(t), if
_

0
[g()[ d ,< , then y(t) is not BIM.
We may claim that we have not really proved this statement. We may claim
that we have only proved that if
_

0
[g()[ d ,< , then y(t) is not BIM only
for this particular r(t). For a different r(t), maybe even if
_

0
[g()[ d ,< ,
y(t) is BIM.
A careful survey of some literature shows that Theorem 1 is stronger than
what the literature claims. Theorem 2 summarizes what the literature says.
Theorem 2 A causal LTI system is BIBO stable if and only if
_

0
[g()[ d < ,
that is, its impulse response is absolutely integrable.
January 2, 2012 73 of 218 Ramprasad Potluri
EE250 (Control Systems Analysis) IITK Lecture Notes
Proof: Given that [r(t)[ M < , we have
[y(t)[ =

_
t
0
r()g(t )d


_
t
0
[r()g(t )[ d =
_
t
0
[r()[ [g(t )[ d
Therefore,
[y(t)[ M
_
t
0
[g(t )[ d = M
_
t
0
[g()[ d
Thus, for y(t) to be bounded for a bounded r(t), for all t [0, ), it is
sufcient that
_
t
0
[g()[ d be bounded for all t [0, ). That is,
For all t [0, ), for a BIM r(t), y(t) is BIM if
_

0
[g()[ d < .
Next, to show that if
_

0
[g()[ d ,< , then the sytem is not BIBO stable,
we need to show that exist some BIM signals for which the output is not BIM.
Consider, for example, the bounded input
r() = sgn (g(t ))
where the signum function sgn is dened as follows:
sgn (x) =
_

_
+1, x > 0
0, x = 0
1, x < 0
(14.2)
Then,
y(t) =
_
t
0
r()g(t )d =
_
t
0
[g(t )[ d =
_
t
0
[g()[ d
Thus, in this case, we see that if
_
t
0
[g()[ d ,< , then y(t) ,< . Thus, we
have a situation where, even though the input to the system is BIM, the output
is not. Thus, we have shown that when
_
t
0
[g()[ d ,< , there may be BIM
inputs for which the output is not BIM.
2
14.5 Appendix: Some literature that discusses
BIBO stability
Before I realized the ne difference between theorems 1 and 2, I investigated
[16, page 217], [17, pages 175176], [18, pages 113 114], [14, page 77], and [19,
page 38]. [17, pages 175176] guesses that [19] may have originated Theorem 2.
Problem 14
By the way, [19, page 54] says that
_

0
dg
1
()g
2
(t ) =
_

0
dg
1
(t )g
2
()
Prove or disprove this statement.
January 2, 2012 74 of 218 Ramprasad Potluri
Lecture 15
Stability theory (Part 2)
15.1 A question of interest
Question 1 Given that in our course we are studying systems modeled by the TF
(9.2) what is the effect of the poles and zeros of G(s) on whether or not the condition
_

0
[g(t)[d < is satised for [r(t)[ M < ? That is, how do the poles and
zeros of G(s) affect its BIBO stability?
We may wonder why Question 1 does not ask about the effect of e
t
d
s
on
the BIBO stability of G(s). The following example answers our question.
Example 12
Problem 6 of Section 3.2 stated that y(t) being a delayed-in-time version of
x(t) can be summarized by the equation
y(t) = x(t t
d
)1(t t
d
),
and taking LT on both sides of this equation gives Y(s) = X(s)e
t
d
s
. So, e
t
d
s
represents a time-delay. What is the effect of e
t
d
s
on the BIBOstability of G(s)?
Note that we can redraw the block diagram
r(t)

R(s)
G(s)
y(t)

Y(s)
as follows:
r(t)

R(s)

n
1
i=0
(s + z
i
)
n
2
k=0
(s
2
+ 2
k

nk
s +
nk
2
)

d
1
i=0
(s + p
i
)
d
2
k=0
(s
2
+ 2
k

dk
s +
dk
2
)
z(t)

Z(s)
e
t
d
s
y(t)

Y(s)
The time delay element only delays z(t). It does not change the nature of z(t)
in any other manner. Thus, if z(t) is BIM, then y(t) is also BIM, and if z(t) is not
BIM, y(t) is not BIM. That is, e
t
d
s
has no effect on the BIBO stability of G(s).
Problem 15
Can we not express the fact that y(t) is a delayed-in-time version of x(t) as
either y(t) = x(t t
d
) or y(t) = x(t)1(t t
d
)?
75
EE250 (Control Systems Analysis) IITK Lecture Notes
Table 15.1: Case of unrepeated poles. Impulse response of each term of G(s)
depending on the location of the poles of this term in the s-plane.
G
1
(s) =
A
1
s + B
1
(s + a
1
)
2
+ b
2
1
G
2
(s) =
c
1
s + d
1
g
1
(t) = Ae
a
1
t
cos(b
1
t +
1
) g
2
(t) = c
1
e
d
1
t
Poles
in left
half (LH)
s-plane
a
1
> 0
_

0
[g
1
()[d <
t
g
1
(t)
0
d
1
> 0
_

0
[g
1
()[d <
t
g
2
(t)
0
Poles on
j-axis
a
1
= 0
_

0
[g
1
()[d ,<
t
g
1
(t)
0
d
1
= 0
_

0
[g
1
()[d ,<
t
g
2
(t)
0
Poles
in right
half (RH)
s-plane
a
1
< 0
_

0
[g
1
()[d ,<
t
g
1
(t)
0
d
1
< 0
_

0
[g
1
()[d ,<
t
g
2
(t)
0
Example 12 showed why we may safely ignore any time delay elements in
G(s) in studying its BIBO stability.
To study Question 1, we considered 2 cases: case of G(s) containing unre-
peated poles, and case of G(s) containing repeated poles. In each of these two
cases, G(s) can be written as follows (ignoring the t
d
part):
Case of unrepeated poles: We assume that the number of distinct real poles
is q and that the number of pairs of distinct complex conjugate poles is r.
G(s) =
A
1
s + B
1
(s + a
1
)
2
+ b
1
2
+ +
A
r
s + B
r
(s + a
r
)
2
+ b
r
2
+
c
1
s + d
1
+ +
c
q
s + d
q
Table 15.1 shows the form of the impulse response of each term of G(s)
depending on the location of the poles of this term in the s-plane:
Case of repeated poles: For convenience, we shall assume that we have one
real pole and one pair of complex conjugate poles, and that the real pole is re-
peated k times, while the second is complex conjugate pole is repeated r times.
Then,
G(s) =
A
1k
(s + )
k
+ +
A
11
s +
. .
H
1
(s)
+
B
1r
[(s + )
2
+ b
2
]
r
+ +
B
11
(s + )
2
+ b
2
. .
H
2
(s)
January 2, 2012 76 of 218 Ramprasad Potluri
EE250 (Control Systems Analysis) IITK Lecture Notes
Table 15.2: Case of repeated poles. Impulse response of each term of H
1
(s) and
H
2
(s) of G(s) depending on the location of the poles of this term in the s-plane.
Response due to real roots of mul-
tiplicity k 2
Response due to complex conju-
gate root pairs of multiplicity r 2
Poles in
LH s-
plane
> 0
h
1
(t) =
k

i=1
D
i
t
i1
(i 1)!
e
t
Exponentially decaying response
_

0
[h
1
()[d <
> 0
h
2
(t) =
r

i=1
E
i
t
i1
cos(bt +
i
)
(i 1)!
e
t
Exponentially decaying response
_

0
[h
2
()[d <
Poles on
j-axis
= 0
h
1
(t) =
k

i=1
D
i
t
i1
(i 1)!
Growing response
_

0
[h
1
()[d ,<
= 0
h
2
(t) =
r

i=1
E
i
t
i1
cos(bt +
i
)
(i 1)!
e
t
Growing response
_

0
[h
2
()[d ,<
Poles in
RH s-
plane
< 0
h
1
(t) =
k

i=1
D
i
t
i1
(i 1)!
e
t
Exponentially growing response
_

0
[h
1
()[d ,<
< 0
h
2
(t) =
r

i=1
E
i
t
i1
cos(bt +
i
)
(i 1)!
e
t
Exponentially growing response
_

0
[h
2
()[d ,<
Table 15.2 shows the form of the impulse response of H
1
(s) and H
2
(s) of G(s)
depending on the location of the poles of this term in the s-plane:
15.2 Conclusions
1. When a TF has poles in the left half s-plane (LHP),
_

0
[g()[d < , and
the TF is BIBO stable.
2. When a TF has poles in the right half s-plane (RHP) or has repeated poles
on the j-axis, then
_

0
[g()[d ,< , and the TF is unstable.
3. When a TF has unrepeated poles on the j-axis, then
_

0
[g()[d ,< , and
the TF is not BIBO stable. However, the TFs response to signals excluding
only the following is BIM:
3.1. In the case of an unrepeated complex conjugate pole pair, if r(t) is a
sinusoid whose frequency coincides with that of the pole pair, then y(t)
is unbounded.
January 2, 2012 77 of 218 Ramprasad Potluri
EE250 (Control Systems Analysis) IITK Lecture Notes
For example, if G(s) = 1/
_
s
2
+
0
2
_
and the input is u(t) =
sin (
0
t), then, using the information from Table 15.2, the output is
E
1
cos (
0
t +
1
) + E
2
t cos (
0
t +
2
).
3.2. In the case of a pole at the origin, if r(t) is of the form t
i
1(t), where i 0
and integer, then y(t) is unbounded.
That is, a system with unrepeated poles on the j-axis is BIBO unstable for
a narrow class of signals. For this reason, a system with unrepeated poles
on the j-axis is called marginally stable. Marginal stability is the boundary
between stability and instability. We do not attach any more meaning to it
in this course.
15.3 An interesting example
Consider the TF G(s) = 1/(s 1). In the light of the preceding discussion in
this lecture, we see that this TF is unstable.
Which of the following is a correct statement?
1. This TF is unstable because the response of this TF to no BIM input is BIM.
2. This TF is unstable because the response of this TF to not every BIM input
is BIM.
If we select the rst one as the correct statement, then consider the BIM
input whose TF is R(s) =
s1
(s+1)
2
. It seems that the response to this BIM input
is BIM
1
. Let us examine this more carefully.
Indeed, in this case, the response to this R(s) is Y(s) = 1/(s + 1)
2
, that is,
y(t) = te
t
. So, the rst choice is not the correct one. Is the second choice a
correct one? Does the second choice followfromthe denition of BIBOstability
that we reproduce below from the previous lecture?
An LTI system is said to be bounded-input bounded-output (BIBO) stable
if and only if every bounded-in-magnitude (BIM) input r(t) results in a
BIM output y(t).
Yes, it does. This fact is an additional pointer to the fact that Theorem 2 is
all that we need to prove.
1
This input was constructed by Rohit Gupta, a Y8 student
January 2, 2012 78 of 218 Ramprasad Potluri
Lecture 16
Nyquist Stability Criterion
(Part 1)*
Nyquists original analysis was fairly complicated, but his main result had a
lasting value. It was later pointed out by MacColl [20] that the result can in fact
be easily obtained from a theorem of Cauchy or from the Argument Principle
of complex analysis [21].
16.1 A quick recap
We saw in the previous lecture that the stability of a system described by a TF
of the form (9.2) is determined by the location of the poles. In particular, if the
poles are not in the open LHP, the system is not stable.
Except in the case of unrepeated poles on the j axis, if the poles are any-
where other than in the open LHP, the system is unstable.
The systems that have unrepeated poles on the j axis and all the remaining
poles in the open LHP are said to be marginally stable as their response is
bounded for all signals except those in a narrow class.
16.2 Problem statement
When we want to close the loop around a controller-plant-sensor combination,
we are concerned if closing the loop may result in an unstable system.
The Nyquist stability criterion (NSC), part of Nyquist stability theory, pro-
vides us a way to discuss the stability of the CL systembased on the knowledge
of the location of the open loop poles.
Harry Nyquist developed this criterion in 1932. However, textbooks
present a version of the NSC that seems to be MacColls version, apparently
not realizing that credit is due to him. As MacColl apparently used Cauchys
princple of argument, we shall review this principle rst. But, we will present
MacColls version of Nyquists stability criterion.
79
EE250 (Control Systems Analysis) IITK Lecture Notes
16.3 Cauchys theorem (Principle of argument)
1. Suppose we have the TF Q(s) = (s +z)/(s + p). The pole is s = p and the
zero is s = z.
2. Suppose some closed contour
1

s
in the s-plane encloses p and z, as shown
in the following gure.

j
s-plane
z
p

s
Enclosing p and z means that the contour does not pass through p and
z.
3. Take a point s on
s
and consider the angles
z
and
p
made by the vectors
s + z and s + p.

j
s-plane
z
p

p

z
s
Then,
Q(s) = (s + z) (s + p) =
z

p
4. Suppose we traverse
s
in the clockwise direction. For one clockwise traver-
sal of
s
, the overall change in Q(s) is

s
Q(s) =

p
= 360

(360

) = 0

5. On the other hand, if


s
encloses only the zero and not the pole, as shown
below,
1
In this context, by closed we mean that the contour starts and ends at the same point.
January 2, 2012 80 of 218 Ramprasad Potluri
EE250 (Control Systems Analysis) IITK Lecture Notes

j
s-plane
z
p

p

z
s
then for one clockwise traversal of
s
, the overall change in Q(s) is

s
Q(s) =

p
= 360

(0

) = 360

6. In general, if the s-plane contour


s
encloses Z zeros and P poles of the TF
G(s) =

n
i=0
(s + z
i
)

d
i=0
(s + p
i
)
then for one clockwise traversal of
s
, the change in the angle of G(s) is

s
G(s) = (Z P)(2)
7. Another way of stating this is as follows.
Each point on
s
is mapped by G(s) to a point on a new complex plane. This
collection of points is a closed contour
G
. Note that this mapping may be
one-to-one or many-to-one, but not one-to-many. This is because G(s) is of
the form of (9.2).
We call this new complex plane the G(s)-plane, and label its axes ReG(s)
and ImG(s)) to emphasize that on this complex plane, we draw only the
map from
s
through G(s).
G(s)
Re {G(s)}

j s-plane
z
p

s
G(s)-plane
Re {G(s)}
0 0
For one complete clockwise traversal of
s
,
G
encircles the origin of the G(s)-
plane N = ZP times in the clockwise direction. For example, in the above
gure, N = 2.
Problem 16
Given the manner in which
s
has been constructed, can it be a contour that
is not closed?
January 2, 2012 81 of 218 Ramprasad Potluri
EE250 (Control Systems Analysis) IITK Lecture Notes
January 2, 2012 82 of 218 Ramprasad Potluri
Lecture 17
Nyquist Stability Criterion
(Part 2)*
17.1 Application of Cauchys theorem in Nyquists
stability criterion
Consider the unity feedback closed-loop system G
CL
(s) formed around a plant
with transfer function G(s).
G
CL
(s) =
G(s)
1 + G(s)
The stability of G
CL
(s) is decided by the location of its poles. We wish to deter-
mine if G
CL
(s) has any poles in the closed RHP.
NSC helps determine if there are any poles of G
CL
(s) in the open RHP using
only knowledge of G(s). The following two theorems are useful in the discus-
sion.
Theorem 3 The set of poles of G
CL
(s) equals the set of zeros of 1 + G(s).
Proof: 2
Theorem 4 The set of poles of 1 + G(s) equals the set of poles of G(s).
Proof: 2
Theorem 3 allows us to convert the problem of examining the poles of
G
CL
(s) into a problem of examining the zeros of 1 + G(s).
NSC involves the following procedure.
Construct an s-plane contour that encloses the entire closed RHP (i.e., the
RHP including the j-axis) while passing innitesimally to the right of any
poles of 1 + G(s) that are on the j-axis.
Construct the (1 + G(s))-plane contour corresponding to this s-plane con-
tour.
For one clockwise traversal of the s-plane contour, the (1 +G(s))-plane con-
tour encircles the origin N = Z P times in the clockwise direction. Here, Z is
83
EE250 (Control Systems Analysis) IITK Lecture Notes
the number of zeros, and P is the number of poles, of 1 + G(s) enclosed by the
s-plane contour.
Alternatively, this means that the G(s)-plane contour encircles the point
1 + j0 in the clockwise direction N = Z P times.
Therefore, by knowing P and N, we can determine Z. From Theorem 4 we
know P as the number of poles of G(s) enclosed by the s-plane contour.
17.2 Discussion
Theorems 3 and 4 may seem obvious and needing no proof. Then, why state
them and invoke them?
NSC was published in 1932. More than half a decade later since then, I nd
that the literature seems to have taken the NSC so much for granted that it
is stated rather imprecisely. Occassionally, this imprecision may lead us into
difculties as is illustrated by Example 13.
Example 13
In the previous lecture, I made one of the following statements (I dont re-
call which) about the closed-loop system G
CL
(s) = G(s)
_
(1 + G(s)H(s)) :
1. The poles of G
CL
(s) are the zeros of 1 + GH,
2. The zeros of 1 + GH are the poles of G
CL
(s).
My intention was to claim that, to discuss the stability of G
CL
(s), it is adequate
to examine the zeros of 1 + GH. If the rst statement were true, then it would
be appropriate for our purpose.
However, Anurag Dash (Y9115) showed that for G = 1/(s + 5) and H =
(s + 5)/(s 5) the closed-loop poles are 5 and +4, while the only zero of
1 + GH is +4. So, the rst statement is not true.
Siddharth Sharma (Y9584) showed that for G = (s 2)/(s 4) and H =
s/(s 2), there are no closed-loop poles, while the only zero of 1 + GH is +2.
So, neither the rst nor the second statement is true.
Yet, as seen in Table 17.1, certain famous textbooks do claim to the effect
that for closed-loop stability, all roots of 1 + GH must lie in the LHP.
While I do some investigation to settle the applicability of NSC to G
CL
(s)
of Example 13, we shall work with the case of H(s) = 1. The applicability of
NSC for this case is clear from Section 17.1.
January 2, 2012 84 of 218 Ramprasad Potluri
EE250 (Control Systems Analysis) IITK Lecture Notes
Table 17.1: Examples of the imprecision found in the literature in discussing
Nyquist stability criterion.
Statement and source Remarks
Consider the function F(s) = 1 +
G
0
(s)C(s). . . . the zeros of F(s) are the
closed-loop poles in a unity feedback con-
trol system [22, page 140].
Denote by : the set of zeros of F(s),
and by T the set of the closed-loop
poles of the unity feedback control sys-
tem (that is, G
0
C/(1 + G
0
C)).
Then, this statement only means that
: T, It does not mean that T :
or that T = :. To apply NSC, it would
have been better to have T :. Theo-
rem 3 shows that T = :, which is ade-
quate.
Also, the poles of F(s) are the open-loop
poles of plant and controller [22, page
140].
Denote by T
F
the set of poles of F(s),
and by T
OL
the set of open-loop poles.
Then, this statement only means that
T
F
T
OL
. Theorem 4 showed a
stronger result, namely that T
F
= T
OL
.
However, this statement is adequate
for use with NSC.
The closed-loop transfer function is
G/(1 + GH). For stability, all roots of the
characteristic equation 1 + GH = 0 must
lie in the left-half s plane.[10, page 462].
The tacit assumption here is that the set
of the roots (that is, zeros) of 1 + GH
is a superset of the set of poles of the
closed-loop transfer function. As we
see in Example 13, this may not always
be true.
the closed-loop transfer function of a SISO
system is M(s) = G(s)
_
(1 + G(s)H(s)) ,
where G(s)H(s) can assume the form (9.2).
Since the characteristic equation is obtained
by setting the denominator polynomial of
M(s) to zero, the roots of the characteristic
equation are also the zeros of 1 + G(s)H(s).
Or, the characteristic equation roots must
satisfy (s) = 1 + G(s)H(s) = 0. [23, page
557 558], [24, page 427]
The assumption is that the set of the
poles of the closed-loop transfer func-
tion equals the set of the zeros of 1 +
GH. As we see in Example 13, this may
not always be true.
we consider the closed-loop transfer func-
tion Y(s)/R(s) = G/(1 +GH) . . . The char-
acteristic equation of the closed-loop sys-
tem is obtained by setting the denominator
of Y/R to zero, which is the same as set-
ting the numerator of 1 + GH to zero. Thus,
the roots of the characteristic equation must
satisfy 1 + GH = 0. [16, page 375]
This version is the same as the one in
the previous row.
January 2, 2012 85 of 218 Ramprasad Potluri
EE250 (Control Systems Analysis) IITK Lecture Notes
January 2, 2012 86 of 218 Ramprasad Potluri
Lecture 18
Nyquist Stability Criterion
(Part 3)
We apply the Nyquist stability criterion (NSC) to three sample unity feedback
closed-loop systems.
The TF of the closed-loop system is G
CL
(s) = G(s)
_
(1 + G(s)) . For G(s)
we consider K/s, K/(s + 1), and K(s + 10)
2
_
s
3
.
18.1 Example 1: G(s) = K/s
Here are the steps in applying NSC.
1. Mark on the s-plane the poles of G(s) that are in the closed RHP. In this case,
G(s) has only one pole in the closed RHP, and this pole is at the origin.
2. Draw the s-plane contour as shown in Figure 18.1. Note that, for the contour
to not pass through the poles on the j-axis, it makes slight detours around
these poles at an innitesimally small distance away from them. In the g-
ure, the section of the s-plane contour near the origin has taken a detour to
the right of the pole. In practice, it can also take a detour to the left of the
pole.
3. Use the Bode plot (BP) of G(s) to map section C1 to the G(s)-plane.
Note that several textbooks map the j-axis to the G(s)-plane using a few
points taken from this axis. The reader may verify that this way of mapping
is tedious in comparison to the BP way of mapping.
4. The section at innity of the s-plane contour maps via G(s) into an innites-
imally small area around the origin of the G(s)-plane. As this area does not
affect the count of the encirclements, we say that the section at innity of
the s-plane contour of G(s) maps into the origin of the G(s)-plane.
5. The section of the s-plane contour around the origin maps into the section at
innity of the G(s)-plane contour (same as NP of G(s)). We can sketch this
contour with just 1 2 points.
87
EE250 (Control Systems Analysis) IITK Lecture Notes

s
0
R
C1
C2
C3
C4
C5
C6
R
e
j

e
j
s-plane
j

Figure 18.1: The s-plane contour for G(s) = K/s. This contour has six sections
of interest, C1 C6. Note that, by construction, the s-plane contours for any
G(s) are symmetric about the real axis. In this gure, the section of the s-plane
contour near the origin has taken a detour to the right of the pole, making
P = 0. If it had taken a detour to the left of the pole, then P = 1. To estimate the
location of the image of C6 under G(s), we select a convenient point, marked
by , which, in this case is e
j45

.
6. Here is another fact that simplies sketching NPs. As the s-plane contour is
symmetric about the -axis (i.e., Res-axis), then the NP too is symmetric
about the ReG(s)-axis.
The reason for this fact is that for the TFs of the form (9.2), G(s) = (G(s

))

,
where x

denotes the complex conjugate of x.


7. The complete G(s)-plane contour is shown in Figure 18.2.
18.2 Convention followed in sketching Nyquist
plots
Multiple poles are marked no matter what the multiplicity.
Sections of the s-plane contour are labeled C1, C2, .
The corresponding sections on the NP are identied by the labels
C1
/
, C2
/
, .
Points on the s-plane contour are labeled 1, 2, .
The corresponding points on the NP are labeled 1
/
, 2
/
, .
The section of the NP that maps from the j-axis section of the s-plane
contour is called polar plot. However, by polar plot some books refer to the
entire NP.
The sections of the NP that map from the sections of the s-plane contour
that are above the -axis (i.e., the Res-axis) are shown solid. Their mirror
images about the real axis are shown dashed.
January 2, 2012 88 of 218 Ramprasad Potluri
EE250 (Control Systems Analysis) IITK Lecture Notes
Re {G(s)}
Im{G(s)}

G
C1

C2

C3

C4

C5

C6

j
G(s)-plane
1 + j0
Figure 18.2: The Nyquist plot (NP) (also know as G(s)-plane contour) for
G(s) = K/s. This contour has six sections of interest, C1
/
C6
/
. Note that
the G(s)-plane contours are symmetric about the real axis. In this gure, the
sections C2
/
and C3
/
are at the origin. The on section C6
/
is the image of the
on section C6 in Figure 18.1. In our procedure, the section C1
/
is constructed
rst. This section is the polar plot of G(s), and for convenience is shown thicker
than the other sections. We note that the NP of K/s does not encircle 1 + j0.
Therefore, N = 0, and, consequently, Z = N + P = 0. This means that the
unity feedback closed-loop system built around K/s does not have any open
RHP poles for an K 0.
January 2, 2012 89 of 218 Ramprasad Potluri
EE250 (Control Systems Analysis) IITK Lecture Notes
18.3 Example: G(s) = K
_
(s + 1)
18.4 Example: G(s) = K(s + 10)
2
_
s
3
Problem 17
Sketch the NP of the TFs
K
s
2
(s
2
+ 2)
;
s
s + 1
;
18.5 Appendix: A useful fact
A necessary condition for a polynomial a
n
s
2
+a
n1
s
n1
+. . . +a
1
s +a
0
to have
roots only in the LHP is that a
i
> 0, i = 0, 1, . . . , n.
January 2, 2012 90 of 218 Ramprasad Potluri
Lecture 19
Nyquist Stability Criterion
(Part 4)
19.1 Gain margin, phase margin
The concept of relative stability is used to express how close a control system is
to instability.
To evaluate the relative stability of the unity-feedback CL system, the terms
gain margin (GM) and phase margin (PM) are used frequently with respect to
Nyquist plots (NPs) that have simple forms such as those shown in Figure 19.1.
Note that the transfer functions (TFs) corresponding to these NPs usually
have simple forms such as
K
m
j=1
(s + z
i
)
s
n
i=1
(s + p
i
)
e
t
d
s
where K, t
d
, p
i
and z
i
are real.
We dene GM and PM using Figure 19.2.
The GM of this TF is dened as the amount by which G(j) can be ampli-
ed at the phase crossover frequency
p
before G(j
p
) passes through 1 + j0.
From this denition, it follows that
GM = 1
_

G(j
p
)

.
The PM of this TF is the angle through which the polar plot needs to be
rotated in the clockwise direction before G(j
g
) passes through 1 + j0.
g
is
known as the gain crossover frequency of this TF. From this denition, it follows
that
PM =
_
G(j
g
) (180

).
It has been found for many systems that GM 1 and PM > 30

help keep
the CL system stable in the face of parameter variations.
The GM is also expressed in logarithmic terms as 20 log
10
(GM), in dB, as
shown in Figure 19.2.
91
EE250 (Control Systems Analysis) IITK Lecture Notes
Figure 19.1: Nyquist plots for which concepts of GM and PM are relevant.
Note that the transfer functions (TFs) corresponding to these NPs usually have
simple forms such as
K
m
j=1
(s+z
i
)
s
n
i=1
(s+p
i
)
e
t
d
s
, where K, t
d
, p
i
and z
i
are real.
19.2 When GM and PM are useful
Consider the minimum-phase TF [11]
85(s + 1)(s
2
+ 2s + 43.25)
s
2
(s
2
+ 2s + 82)(s
2
+ 2s + 101)
The polar plot of this TF is shown in Figure 19.3. The following GNU Octave
code generates this gure.
plot((-1:0.01:1),sqrt(1-(-1:0.01:1).^2),-r)
hold, plot((-1:0.01:1),-sqrt(1-(-1:0.01:1).^2),-r)
nyquist(tf(conv(85*[1,1],[1,2,43.25]),conv([1,2,82,0,0],[1,2,101])))
axis([-2,1,-1.5,1.5],"square")
We see that the multiple intersections of the polar plot with the unit circle
make it difcult to determine the PM of this transfer function.
When the NP has multiple crossings of the unit circle or of the 180

axis,
then we may not be able to convey much information by talking in terms of
GM and PM.
Other examples of situations where it is better to view the Nyquist plot as
a whole instead of discussing relative stability through GM and PM are the
January 2, 2012 92 of 218 Ramprasad Potluri
EE250 (Control Systems Analysis) IITK Lecture Notes
1 + j0

G(j
p
)

p
0 dB
90

180

270

g

p
20 log
10
|G(j)|
20 log
10

G(j
p
)

G(j)

G(j
g
)
Figure 19.2: Illustration for the concepts of PM and GM. The left subgure
shows the NP of a certain minimum phase TF, while the right gure shows
the approximate BP of the same TF. We see from the NP that, for the stability
of this closed-loop system, = 180

G(j
g
) > 0 and 1
_

G
_
j
p
_

>
1 are desirable. is the PM. From the BP, we see that, while the PM is still
expressed as 180

G(j
g
), the GM is expressed in dB. Specically, the
GM is 0 20 log
10

G(j
p
)

dB. In this gure, the GM in absolute terms works


out to a value greater than 1, and to a positive value in dB terms.
following TFs:
K(s + 1)
s(
s
10
1)
;
K(s + 10)
2
s
3
.
19.3 Appendix: Dead-time element in MATLAB
How to specify TF of a First-Order Plus Dead Time Model
in MATLAB is explained at http://www.mathworks.com/
products/control/demos.html?file=/products/demos/shipping/control/
January 2, 2012 93 of 218 Ramprasad Potluri
EE250 (Control Systems Analysis) IITK Lecture Notes
-1.5
-1
-0.5
0
0.5
1
1.5
-2 -1.5 -1 -0.5 0 0.5 1
I
m
(

G
(
j
w
)

)
Re( G(jw) )
Nyquist plot from u
1
to y
1
, w (rad/s) in [1.000000e-01, 1.000000e+03]
+w
-w
Figure 19.3: An example of a complicated Nyquist plot. The red circle is the
unit circle centered at the origin. Of the Nyquist plot, only the polar plot
(shown by the thin solid blue line) and its mirror image (shown by the +
line) are shown. The multiple intersections of the polar plot with the unit cir-
cle make it difcult to determine the PM of this transfer function. This TF is
85(s+1)(s
2
+2s+43.25)
s
2
(s
2
+2s+82)(s
2
+2s+101)
.
GSSpecifyingDelays.html#2.
January 2, 2012 94 of 218 Ramprasad Potluri
Lecture 20
Nyquist Stability Criterion
(Part 5)
20.1 Demonstration of quick construction of
Nyquist plots
Consider some sample transfer functions for G(s) of Figure 20.1
s 1
s(s 10)
;
s 1
s(s + 10)
;
(s + 10)
2
s
2
;
(s + 10)
2
s
3
.
20.2 Critical gain
The point 1 + j0 is known as critical point, and the value of K for which the
Nyquist plot of the system of Figure 20.1 passes through the critical point is
known as critical gain.
Example 14 shows how to evaluate the critical gain.
Example 14
Consider the TF
s1
s(s10)
.
Y
ref
(s)
+
KG(s)
E(s) Y(s)

Figure 20.1: Unity feedback closed-loop system. The parameter K is to be de-


signed through analysis such that this system is stable.
95
EE250 (Control Systems Analysis) IITK Lecture Notes
20.3 Conditionally stable systems
In practice, many plants are such that, the unity feedback closed-loop system
formed around them goes closer to instability as the controller gain K of Fig-
ure 20.1 increases. A PMDC motor is one such plant.
However, there are plants with TFs such as
K(s+10)
2
s
3
. The unity feedback CL
systems corresponding to these TFs are examples of conditionally stable systems.
They become more stable as K increases.
In the example of
K(s+10)
2
s
3
, we see that
N =
_
2 K is small
0 K is large.
Thus, as the number of open-loop poles P = 0, by NSC, the number of closed-
loop poles in the open RHP is
Z =
_
2 K is small
0 K is large.
20.4 Using
1
K
+ j0 instead of 1 + j0
From the examples, which we saw thus far, of applying NSC, we see that the
position of polar plot of KG(s) relative to 1 + j0 is the same as the position of
the polar plot of G(s) relative to
1
K
+ j0. This observation helps simplify using
NSC. We need to only sketch the polar plot of G(s), and not that of KG(s).
20.5 Nyquist plots in MATLAB and GNU Octave
Consider some sample transfer functions for G(s) of Figure 20.1
s 1
s(s 10)
;
s 1
s(s + 10)
;
(s + 10)
2
s
2
;
(s + 10)
2
s
3
.
The following code generates the Nyquist plots of these TFs in MATLAB
and GNU Octave. Figures 20.2 and 20.3 show the output of this code.
subplot(2,2,1), nyquist(tf([1,-1],[1,-10,0])),
xlim([-0.2,0.05]), ylim([-1,1]);
title((s-1)/(s(s-10)));
subplot(2,2,2), nyquist(tf([1,-1],[1,10,0])),
xlim([-0.1,0.2]), ylim([-0.5,0.5]);
title((s-1)/(s(s+10)));
subplot(2,2,3), nyquist(tf([1,20,100],[1,0,0])),
title((s+10)^2/s^2);
subplot(2,2,4), nyquist(tf([1,20,100],[1,0,0,0])),
xlim([-1.5,0.1]), ylim([-0.5,0.5]);
title((s+10)^2/s^3);
January 2, 2012 96 of 218 Ramprasad Potluri
EE250 (Control Systems Analysis) IITK Lecture Notes
0.2 0.15 0.1 0.05 0 0.05
1
0.5
0
0.5
1
(s1)/(s(s10))
Real Axis
I
m
a
g
i
n
a
r
y

A
x
i
s
0.1 0 0.1 0.2
0.5
0
0.5
(s1)/(s(s+10))
Real Axis
I
m
a
g
i
n
a
r
y

A
x
i
s
600 400 200 0 200
50
0
50
(s+10)
2
/s
2
Real Axis
I
m
a
g
i
n
a
r
y

A
x
i
s
1.5 1 0.5 0
0.5
0
0.5
(s+10)
2
/s
3
Real Axis
I
m
a
g
i
n
a
r
y

A
x
i
s
Figure 20.2: Nyquist plots of sample values of G(s) of Figure 20.1 generated by
MATLAB.
We see that in the name of Nyquist plots, we only have the polar plots and
their mirror images about the real axis. This picture may not seem enough to
talk about encirclements of the critical point. We may wonder how to use this
picture.
To use this picture, we need to perform one additional step. We need to
sketch the sections at innity of the Nyquist plots.
20.6 Rotation of a vector instead of encirclement
Instead of visualizing as the encirclement of the origin by the 1 + G(s) contour,
we can visualize as the turning of the vector 1 + G(s), with its tail at the origin
and head on the 1 + G(s) contour, around the origin.
Similarly, instead of visualizing as the encirclement of the origin by the G(s)
contour, we can visualize as the turning around 1 + j0 of a vector that has its
tail at 1 + j0 and head on the G(s) contour.
Such a visualization may help where we are unable to visualize encir-
clement.
January 2, 2012 97 of 218 Ramprasad Potluri
EE250 (Control Systems Analysis) IITK Lecture Notes
-0.4
-0.2
0
0.2
0.4
-1.4 -1.2 -1 -0.8 -0.6 -0.4 -0.2 0
I
m
(

G
(
jw
)

)
Re( G(jw) )
(s+10)
2
/s
3
+w
-w
-20
-15
-10
-5
0
5
10
15
20
-100 -80 -60 -40 -20 0
I
m
(

G
(
jw
)

)
Re( G(jw) )
(s+10)
2
/s
2
+w
-w
-0.4
-0.2
0
0.2
0.4
-0.1 -0.05 0 0.05 0.1 0.15 0.2
I
m
(

G
(
jw
)

)
Re( G(jw) )
(s-1)/(s(s+10))
+w
-w
-1
-0.5
0
0.5
1
-0.2 -0.15 -0.1 -0.05 0 0.05
I
m
(

G
(
jw
)

)
Re( G(jw) )
(s-1)/(s(s-10))
+w
-w
Figure 20.3: Nyquist plots of sample values of G(s) of Figure 20.1 generated by
GNU Octave.
January 2, 2012 98 of 218 Ramprasad Potluri
EE250 (Control Systems Analysis) IITK Lecture Notes
20.7 Discussion
For those TFs that have one or more poles at the origin, the section at innity of
the s-plane contour (this section is also known as the D-section) maps into an
innitisimally small section of a circle around the origin of the Nyquist plane.
This section does not affect the count of the encirclements. So, we can safely
assume that the D-section maps into the origin of the Nyquist plane in this
case.
When the OL TF does not have a pole at the origin, the D-section does not
map into the origin any more.
The Nyquist plane is also known as the G(s)-plane.
January 2, 2012 99 of 218 Ramprasad Potluri
EE250 (Control Systems Analysis) IITK Lecture Notes
January 2, 2012 100 of 218 Ramprasad Potluri
Part IV
Design using bode
plots-based loop-shaping for
minimum-phase plants
101
Lecture 21
NST (concluded),
Loop-shaping (Part 1)
21.1 Nyquist stability theory (conclusion)
Examples 15 and 16 wrap up our discussion of Nyquist stability theory.
Example 15
Sketch the NP of K/(s
2
) and discuss the stability of the unity feedback
closed-loop system formed around this TF.
Example 16
Sketch the NP of K/(s
2
+ 1) and discuss the stability of the unity feedback
closed-loop system formed around this TF.
When the NP passes through the critical point, then N is unknown.
21.2 Specications for control system design
The closed-loop (CL) system should
1. be stable,
2. be robust to plant parameter variations, disturbances (usually mechanical
such as wind gusts on vehicle, tyre-road friction, etc), noises (usually electro-
magnetic interference (EMI)),
3. demonstrate desired performance (such as fast rise time (t
r
), limited over-
shoot (M
p
), fast settling time (t
s
), and small steady-state error (e
ss
)), and
4. apply limited control input to the plant.
103
EE250 (Control Systems Analysis) IITK Lecture Notes
G
OL
(s)
+

R(s) E(s)
D(s)
Y(s)
+
+
+
+
N(s)
Figure 21.1: A unity feedback closed-loop system formed around the open-
loop transfer function G
OL
(s).
Cascade conguration
C(s)

R(s) E(s) U(s)


+
Y(s)
G(s)
Minor loop feedback

R(s) E(s)
+
C
1
(s)
U(s) Y(s)
G(s)
C
2
(s)
+
+
Figure 21.2: Two sample congurations of plant and controller.
21.3 Loop gain and shaping
In classical control theory, the design technique called loop-shaping provides a
collection of graphical tools by which we can design the CL systems properties
as desired by modifying the open-loop (OL) systems transfer function (TF).
This modication is called shaping because this TF is modied by shaping
the corresponding Nyquist/Bode/Nichols plot of this TF.
We already saw an instance of discussing the CL systems properties via the
OL systems TF in the form of Nyquist stability criterion (NSC).
Consider the CL system of Figure 21.1. G
OL
(s) is called the loop gain of the
control system. See Section 6.2 for details.
Given that the plant gain G(s) is xed, the loop gain can be as desired if
we design a controller for the plant. The plant-controller conguration can be
of many types. Two congurations are shown in Figure 21.2, ignoring distur-
bances and noises.
The congurations we can have are probably only limited by our creativity.
In this course, we will consider only cascade conguration. However, the
techniques developed may be applied to other congurations through a suit-
able modication of the block diagram.
January 2, 2012 104 of 218 Ramprasad Potluri
EE250 (Control Systems Analysis) IITK Lecture Notes
Slope:
20 dB/dec
270

90

180

1
2
3
1 decade
Figure 21.3: Illustration for Example 17.
21.4 BMP-BPP correspondence for minimum-phase
TFs
For minimum phase TFs, we can uniquely construct the BPP given the BMP.
A theorem by Hendrick Bode says that for a minimum-phase TF, if a section
of the BMP persists with a slope of n for at least one decade, then in the middle
of that section, the BPP has a value of n 90

[25, pages 291-293]. Here n =


. . . , 2, 1, 0, +1, +2, . . ., where 2 40 dB/dec, 1 20 dB/dec, etc.
Example 17
Consider the BMP and BPPs shown in Figure 21.3 for a certain minimum-
phase TF. Which of the three BPPs are valid candidates?
21.5 Appendix: Bodes theorem
21.6 Appendix: NST for SFG dention of loop gain
Applying the discussion of Section 6.2 to the SFG equivalent shown in Fig-
ure 21.4 of the block diagram of Figure 21.1, the loop gain is bc.
Thus, if we used the signal ow graph denition, we should have called
G
OL
(s) the loop gain. Then NSC would have been modied to examine the
January 2, 2012 105 of 218 Ramprasad Potluri
EE250 (Control Systems Analysis) IITK Lecture Notes
Figure 21.4: The signal ow graph equivalent of the block diagram of Fig-
ure 21.1.
encirclement of the point +1 + j0 by the Nyquist plot of G
OL
(s). Indeed,
the critical point in Nyquists paper is +1 instead of 1 as is commonly used
today [21].
January 2, 2012 106 of 218 Ramprasad Potluri
Lecture 22
Loop-shaping (Part 2)
22.1 Recap of specications for control system de-
sign
The following properties are desired of a CL system
1. Stability,
2. Robustness to plant parameter variations,
3. Robustness to disturbances,
4. Robustness to sensor noise,
5. Demonstration of desired performance (transient as well as steady-state),
and
6. Respect for constraints on control input to the plant.
22.2 Gist of loop-shaping-based design
As we will consider only cascade conguration in our course, G
OL
(s) =
C(s)G(s), where C(s) is the controller TF, and G(s) is the plant TF. C(s) needs
to be designed, and G(s) is xed.
Loop-shaping using Bode plots for minimum-phase TFs involves the fol-
lowing simple steps:
1. Draw the ABMP of the plant (G) on a semilog graph paper.
2. Draw the ABMP of the desired OL TF (G
OL
) on the same semilog graph
paper
3. Subtract the rst ABMP from the second. This gives the ABMP of the con-
troller.
4. Write the TF of the controller.
107
EE250 (Control Systems Analysis) IITK Lecture Notes
22.3 Stability
For minimum-phase TFs with simple-looking Nyquist plots (NPs), we sawthat
gain margin (GM) and phase margin (PM) were adequate measures of how far
the NP was from encircling the 1 + j0 point. Thus, PM and GM are adequate
measures of stability.
For minimum-phase TFs that do not have second order elements, taking
care of PM takes care of CL stability.
Problem 18
Cook up a minimum-phase TF that includes a second order component
such that the unity-feedback closed-loop system built around this TF has BP
and NP that show adequate PM but not adequate GM.
22.4 Robustness to plant parameter variations
Plant parameters variations may bring the CL system closer to instability. Pro-
vide adequate PM so that the CL system remains stable in spite of coming
closer to instability.
How much PM is adequate? A value of 60

has been found to be adequate


for many systems occurring in practice. A PM greater than this makes the
system relatively more stable but also sluggish.
How to obtain a PM less than 90

? Though the statement of Section 21.4


talks in terms of phases which are integral multiples of 90

, Bodes theorem
says more. For example, if a section of the BMP persists with a slope of n for a
certain fraction of a decade, then in the middle of that the BPP has a value that
is proportional to this fraction of 90

, as illustrated in Figure 22.1.


Loop-shaping Recipe 1 From Bodes theorem discussed in Section 21.4, it follows
that, to have adequate PM, make the BMP of G
OL
(s) have a 20 dB/dec section that
is centered at
g
and has appropriate width. Doing so provides the CL system both
stability and robustness to plant parameter variations.
22.5 Relation between OL and CL BMP
The closed-loop (CL) TF from input r(t) to output y(t) is
G
CL
(s) =
G
OL
(s)
1 + G
OL
(s)
The G
OL
(j) designed by loop-shaping usually has a high low-frequency
gain and a low high-frequency gain, while being minimum-phase. It follows
that
[G
CL
(j)[ =
_
1,
g
[G
OL
(j)[,
g
January 2, 2012 108 of 218 Ramprasad Potluri
EE250 (Control Systems Analysis) IITK Lecture Notes
Slope:
20 dB/dec
270

90

180

1 decade
1
2
Figure 22.1: If a section of the BMP persists with a slope of 20 dB/dec for
less than a decade, then in the middle of that section, the phase is appropri-
ately away from90

. This gure shows the ABMPs in contrast to Figure 21.3,


which showed the BMP. Note that if a section of the BMP has to persist for a
decade with a slope of, for example, 20 dB/dec, then the same section on the
ABMP needs to persist for more than a decade with a slope of 20 dB/dec.
ABMP 1 of this gure corresponds to the BMP of Figure 21.3. Note that the
PM shown by phase plot 1 is +90

, while that shown by phase plot 2 is about


+50

.
For a minimum-phase TF, in the vicinity of the gain crossover frequency

g
, where [G
OL
(j
g
)[ = 1, [G
CL
(j
g
)[ depends heavily on the phase mar-
gin (PM)[25, pages 295-296], as illustrated by Example 18. The form of
20 log
10
[G
CL
[ for two values of PM (45

and 90

) is shown in the following


gure (for the moment, ignore the Low , Mid , and Hi bands).

g
PM= 45

PM= 90

G
OL
G
CL 0 dB
d
B
-
g
a
i
n

(log scale)
Low Mid Hi
January 2, 2012 109 of 218 Ramprasad Potluri
EE250 (Control Systems Analysis) IITK Lecture Notes
Example 18
Evaluate

G
CL
(j
g
)

for PM = 90

and PM = 45

.
We have
G
CL
(j) =
G
OL
(j)
1 + G
OL
(j)
Note that

G
OL
(j
g
)

= 1. Thus, we only need to evaluate


1 + G
OL
(j
g
)

.
The following gure shows 1 + G
OL
(j) graphically for the case of PM =
90

(left subgure) and PM = 45

(right subgure).
G
O
L
(
j

g
)
1
G(s)-plane
0
1
+
G
O
L
(
j

g
)
G
O
L
(
j

g
)
1
G(s)-plane
0
1
+
G
O
L
(
j

g
)

1 + G
OL
(j
g
)

1 + G
OL
(j
g
)

0.75

G
CL
(j
g
)

= 1/

2 = 0.7

G
CL
(j
g
)

= 1/0.75 = 1.33
More accurately,

1 + G
OL
(j
g
)

=
_
_
1

2
_
2
+
_
1
1

2
_
2
0.77
Historically, through calculations such as done in Example 18, [G
CL
(j)[
were found around
g
, and the BMPs of G
CL
(s) were sketched.
January 2, 2012 110 of 218 Ramprasad Potluri
Lecture 23
Loop-shaping (Part 3)
23.1 Satisfaction of desired performance
The Performance of a control system is expressed through how well the control
system tracks the test signals 1(t), t1(t), t
2
1(t), etc. Which of these signals is
used to measure the performance depends on which signals the control system
most frequently encounters in practice.
The control system does not actually encounter any of these test signals in
practice. However, for a given plant, one or more of these test signals serve to
compare the performance of one control system built around this plant with
the peformance of another control system built around this plant. These test
signals are usually idealized versions of the signals that the control system will
encounter in practice.
The unit step response presents the most pretty and clear picture of the per-
formance of a control system. So, this is most often shown in books. Once we
become comfortable with the unit step response, talking about the performance
to a ramp or parabolic input is not very difcult.
The unit step response of a general control system is shown in Figure 23.1.
The parameters of this response that are of interest to us are
Percent overshoot M
p
dened as
M
p

y(t
p
) y()
y()
100%
Settling time t
s
is the time taken by the system to enter the x% tube with the
intention of remaining in it. Here, x% of y() is the radius of the tube. The
tube is centered about the steady-state value y() of the unit step response.
Steady state error e
ss
= 1 y() is a measure of the steady-state accuracy
of the control system. For example, in a position control system, if, after the
transients die out, the position achieved is different from what was needed
to be achieved, we say that this control system has a non-zero e
ss
.
Rise time t
r
.
How do loop-shaping techniques help meet these performance specs? The
following subsections answer this question.
111
EE250 (Control Systems Analysis) IITK Lecture Notes
1
0 t
y(t)
t
p
t
r
y()
e
ss
t
s
D
i
a
m
e
t
e
r
=
2
x
%
x% tube
Figure 23.1: The unit step response of a control system. First order response
and second order responses are special cases of this response.
23.1.1 Steady-state error
Consider the following equation:
E(s) =
1
1 + G
OL
(s)
R(s)
1
1 + G
OL
(s)
D(s)
1
1 + G
OL
(s)
N(s)
When R(s) = 1/s (that is, r(t) is unit step), we can write the following using
nal value theorem:
e
ss
lim
t
e(t) = lim
s0
sE(s) = lim
s0
s
1
1 + G
OL
(s)
1
s
=
1
1 + G
OL
(0)
Therefore, G
OL
(0) 1/e
ss
. Therefore, to reduce e
ss
, increase the LF value of
[G
OL
[. We can dene k
lf
20 log
10
[G
OL
(0)[. Then, k
lf
can dene the LF forbid-
den zone seen in the earlier gure.
23.1.2 Settling time
Consider the unit impulse response of the rst order TF
1
s+1
. This has the
equation
y(t) =
1

e
t/
1(t)
where, is the time constant of this response. This response reaches x% of its
initial value of 1 in time t
x%
. Therefore,
t
x%
= ln
100
x
For a x% tube centered about the y = 0 line, t
x%
is the settling time t
s
. The
following table summarizes the settling time t
s
for standard values of the tube:
x 1 2 5 10
t
s
4.6 3.9 3 2.3
January 2, 2012 112 of 218 Ramprasad Potluri
EE250 (Control Systems Analysis) IITK Lecture Notes
From the table, we can say that transients in a rst order system die out in
approximately 5, that is, in ve time constants. Therefore, for a rst order
system, t
s
5.
For a rst order system, the TF
1
s+1
shows that
b
= 1/. Therefore,

b
5/t
s
.
We can carry this approximation to higher order systems too, and say that
transients in any system die out if they die out in approximately ve
times the largest time constant
max
. Then, assuming that
b
1/
max
, the
bandwidth of any system can be dened roughly as being related to the sys-
tems t
s
as
b
5/t
s
.
The inequality
g

b
2
g
, implies that
g

b
. Therefore, in order
to provide the desired t
s
, we need to set
g
5/t
s
.
23.1.3 Overshoot
The rule of thumb is, the closer the systemis to instability, the more oscillatory
its step response becomes, and the more will be its overshoot. Of course, this
statement may not be applicable to a rst order system. But, most practical
systems are not purely rst order. If they are modeled as of rst order, then
that may be because their higher order dynamics have been neglected.
To limit the value of M
p
, provide suitable PM. We will see soon the relation
between the desired maximum M
p
and the appropriate PM.
The measures we adopted in subsections 22.3 and 22.4 and are also ade-
quate to limit M
p
.
23.2 Respecting constraints on control input
We have the following equation for the cascade conguration of the controller:
U(s) =
C(s)
1 + G
OL
(s)
R(s)
C(s)
1 + G
OL
(s)
D(s)
C(s)
1 + G
OL
(s)
N(s)
This equation shows that, to keep the initial spike in u(t) within limits, keep
20 log
10
[C(j)[ small at the appropriate frequencies. What are these appropri-
ate frequencies? Section 23.3 provides an answer to this question.
23.3 Appendix: Additional loop-shaping tips
This appendix starts where subsection 23.2 left off. These additional loop-
shaping tips use the following facts:
1. The nal value theorem relates the low-frequency section of the loop-gain
to the area of the time-domain response that is near t =
lim
t
y(t) = lim
s0
sY(s)
2. The initial value theorem relates the high-frequency section of the loop-gain
to the area of the step response that is near t = 0+
lim
t0+
y(t) = lim
s
sY(s)
January 2, 2012 113 of 218 Ramprasad Potluri
EE250 (Control Systems Analysis) IITK Lecture Notes
3. From the previous two points, I am conjecturing that, as we travel right to
left on the axis, we travel left to right on the t axis of the time-domain
response. We summarize this idea through the following rule of thumb:
lim
t0++
y(t) = lim
s
sY(s).
Here, t = 0+ is the time instant immediately to the right of t = 0, while
t = 0 + +, t = 0 + ++, etc are time instants progressively further to the right
of t = 0+. s = , s = , etc carry similar meaning.
How the loop
gain affects
M
p
of x(t) and
magnitude of
u(0+). Here
u
x
= u.
x(t)
x
d
t
u
x
t

g
l

u
2
0
l
o
g
1
0
|
G
d
e
s
(
j

)
|
Finally, the additional tips are as follows:
1. To reduce [u(0+)[ reduce [G
des
(j)[ immediately after
u
, as shown in the
above gure, while also keeping the loop gain at higher frequencies small
as shown.
This can be seen using initial value theorem as follows:
u(0+) =
C()
1 + C()G()
assuming R(s) = 1/s. So, making [C()[ small will make [u(0+)[ small.
Note that, the choice of
u
and
l
itself involves trial and error in practice.
2. To reduce M
p
(that occurs at t = 0 + +) of x reduce [G
des
(j) in the region
much belowhigh frequencies, but above the lowfrequency region, as shown
in the above gure.
This can be seen using the above-mentioned conjecture as follows:
lim
t0++
y(t) lim
s
C(s)G(s)
1 + C(s)G(s)
assuming R(s) = 1/s. So, making [C()[ small will make M
p
small.
3. To reduce t
s
of x, we have two options:
3.1. Increase
g
.
3.2. Decrease M
p
as mentioned in item 2 above.
January 2, 2012 114 of 218 Ramprasad Potluri
Lecture 24
Loop-shaping (Part 4)
24.1 Robustness to disturbances
Any undesired phenomenon acting on the plant can be modeled as disturbance
irrespective of whether it is electrical, mechanical or chemical in nature. Dis-
turbances are usually relatively slow phenomena.
Disturbance needs to be processed quickly. So, the system needs to be
quicker than the disturbance. So, have the bandwidth of the CL system much
larger than disturbance frequencies. So, design so that disturbance lies in the
low frequency (LF) region of the CL systems passband. So, designate the fre-
quencies in which the disturbances lie as the Low frequencies as shown in
Figure 24.1. Processing the disturbance involves suppressing its effect on the
output y(t). This can be done as follows.
Consider the following the equation:
Y(s) =
G
OL
(s)
1 + G
OL
(s)
R(s) +
1
1 + G
OL
(s)
D(s)
G
OL
(s)
1 + G
OL
(s)
N(s)
We see that in order to reject disturbances, we need to make [G
OL
(j)[ large in
the Low region. How large? Keep the low frequency (LF) loop gain above a
certain LF forbidden zone that lies in the interval [0,
d
].
24.2 Robustness to noises
Noises are usually electrical in nature, such as the high frequency EMI induced
by transistors switching in a AC-DC or DC-DC converter circuit. They are also
of much higher frequencies than disturbances.
We see from the last equation above that keeping the noises within the
bandwidth of the CL system will not be the right thing to do, because the noise
n(t) will then appear unmitigated in the output y(t). So, the strategy adopted
is to select
b
smaller than the noise frequencies. That is, keep the noises out-
side the passband of the CL system. The inequality
g

b
2
g
, implies
that
g

b
. This means that [G
OL
(j)[ needs to be small in the Hi re-
gion. How small? Keep the high frequency (HF) loop gain below a certain HF
forbidden zone that lies in the interval [
n
, ).
115
EE250 (Control Systems Analysis) IITK Lecture Notes

g
20 dB/dec
H
F
f
o
r
b
i
d
d
e
n
z
o
n
e
L
F
f
o
r
b
i
d
d
e
n

n
k
lf
k
hf
z
o
n
e
Figure 24.1: Summary of loop-shaping. The width of the 20 dB/dec section
centered at
g
accounts for the CL properties of stability, robustness to distur-
bance rejection. This width, and, consequently, these properties are related to
the phase margin (PM). The height of the low frequency (LF) forbidden zone
accounts for steady-state accuracy of tracking an input signal, and for rejecting
disturbances. The right side boundary of this zone is at a frequency
d
that is
sufciently small in comparison to
b
(the closed-loop bandwidth), and, conse-
quently, to
g
. This way, disturbances are tackled quickly. The high frequency
(HF) forbidden zone accounts for sensor noise. The lower level of this zone is
at a value of k
hf
dB; the amplication of the sensor noise does not rise above
this level.
24.3 Summary of loop-shaping recipe
The loop-shaping technique we developed in these lectures is valid for
minimum-phase G
OL
(s).
The loop-shaping tips developed thus far are summarized by Figure 24.1
[25, pages 322].
Note that
g
being in the center of the 20 dB/dec section implies that

g
=

u
because
l
and
u
are logarithmically spaced.
Note that, if the 20 dB/dec section centered at
g
is at least one decade
wide on the BMP, then the PM will be 90

. If the section is one decade wide on


the ABMP, then the PM will be 60

.
Problem 19
Why are we not using GM in our design?
24.4 MATLAB-based example of loop-shaping
24.4.1 Problem
Design the TF G
OL
(s) such that the unity-feedback closed-loop systems unit
step response satises the following specs:
M
p
30%; e
ss
0.05; t
s
= 5 s for a 2% tube.
January 2, 2012 116 of 218 Ramprasad Potluri
EE250 (Control Systems Analysis) IITK Lecture Notes
24.4.2 Solution
e
ss
0.05 implies that k
lf
= 20 log
10
[G
OL
(0)[ 20 log
10

1
e
ss

= 26 dB.
t
s
= 5 s for a 2% tube can be achieved with
g

5
t
s
1 rad/s.
M
p
30% can be achieved with a PM 60

. This translates into a 20


dB/dec section that is approximately one decade wide centered at
g
.
Next, we will use MATLAB to generate a BMP that will have these three
features.
24.4.3 How to use MATLAB
1. In MATLAB, we cd to the directory that contains the les a.m and cleanup.m
that are shown below.
2. We type the word magshape at the command prompt. This launches the GUI
tool MAGSHAPE. Note that MAGSHAPE presents us a semilog grid where
the x-axis represents frequencies in rad/s, and y-axis represents dB-gain.
3. In MAGSHAPE
3.1. We declare a lter named test.
3.2. We select the add point radio button and add points on the GUIs grid
approximately along the desired BMP that we have in mind.
3.3. We specify the lter order as 3. We could have specied other lter
orders too. We want to have a lter of the smallest order that will match
our desired BMP.
3.4. We press the fit data button. This generates a lter of order 3 that best
approximates the lter that we specied through the points.
3.5. If the generated lter does not t the specied lter properly, then select
the move point or delete point radio button, move or delete the points,
and fit data once again. Repeat this cycle until MAGSHAPE generates
a lter that whose BMP resembles what we want.
4. The lter generated by MAGSHAPE is now in MATLABs workspace. Run
the m-le a.m that I wrote. a.m does the following:
4.1. Converts the lter generated by MAGSHAPE into a TF form using the
function ltitf provided by MATLAB.
4.2. Plots this lters BP.
4.3. Plots the unit step response of the CL systemcorresponding to this lter.
5. If the step response does not satisfy the problems specs, then repeat the
entire exercise beginning with step 3.
January 2, 2012 117 of 218 Ramprasad Potluri
EE250 (Control Systems Analysis) IITK Lecture Notes
24.4.4 Results
A few trials of the above algorithm gave us the lter shown in the MAGSHAPE
window of Figure 24.2. Figure 24.3 shows the Bode plot of G
OL
(s). Figure 24.4
shows the unit step response of the unity-feedback CL system built around
G
OL
(s). The step response approximately satises the three specs given by the
problem.
24.4.5 MATLAB code
% a.m: File to capture results from MAGSHAPE
% and plot various plots. This file is to
% be used after using MAGSHAPE.
%
% What I did in MAGSHAPE: I declared a filter
% named "test". Having selected the radio
% button corresponding to "test", I added
% many points that I wanted my Gol (which is
% the desired loop gain) to fit, and gave 3
% as the filter order (I could have given
% other numbers too). Then, I clicked on
% "fit data" button. This generated the
% filter named "test" that I am using in
% the following.
%-------------------------------------------
close all % Close any open figure windows
% (except MAGSHAPE window).
[num,den]=ltitf(test);
% I found that num or den may contain some
% terms that are about 0.0001 or less times
% less in absolute value compared to the
% largest-in-absolute-value term of num (den).
% These terms caused Gol (earlier obtained
% as Gol=tf(num,den)) to contain high-order
% nondominating terms that made it a non-proper
% TF. So, I wrote a little function "cleanup"
% that helps remove the non-dominating high
% order terms from the TF of "test".
[n,d]=cleanup(num,den);
gol=tf(n,d);
gcl=feedback(gol,1,-1);
% Plot the OL and CL BPs,
% and the CL step response.
%
January 2, 2012 118 of 218 Ramprasad Potluri
EE250 (Control Systems Analysis) IITK Lecture Notes
F
i
g
u
r
e
2
4
.
2
:
S
n
a
p
s
h
o
t
o
f
M
A
G
S
H
A
P
E
s
h
o
w
i
n
g
t
h
e
B
M
P
o
f
G
O
L
t
h
a
t
g
i
v
e
s
t
h
e
d
e
s
i
r
e
d
C
L
r
e
s
p
o
n
s
e
.
January 2, 2012 119 of 218 Ramprasad Potluri
EE250 (Control Systems Analysis) IITK Lecture Notes
t = linspace(0,18,200);
%
% The above line was absent in the a.m
% mailed to the students immediately after the
% lecture. I addded it later because I found
% that the step reponse plotted by MATLAB was
% jagged. Jagged responses are not natural.
% Adding the above line gives a smooth response.
%
step(gcl,t), grid
print -depsc step.eps
% figure,
% bode(gcl), grid, title(BP of Gcl)
figure,
bode(gol), grid, title(BP of Gol)
print -depsc OLbode.eps
% cleanup.m
function [n,d]=cleanup(num,den)
numerr = 0.0001;
denerr = 0.0001;
% In future, we can specify the values of
% numerr \& denerr based on various factors
% such as the orders of the numerator and
% denominator, and maybe others that I am
% not seeing at the moment.
for i=1:size(num,2)
if abs(num(i))/abs(max(den)) < numerr
num(i) = 0;
end
end
for j=1:size(den,2)
if abs(den(j))/abs(max(den)) < denerr
den(j) = 0;
end
end
n = num; d = den;
Problem 20
Construct an ordinary differential equation of the smallest order possible
so that the solution of this differential equation to a unit step forcing function
has the form shown in Figure 23.1. Assume M
p
30%, e
ss
0.04, t
s
1
January 2, 2012 120 of 218 Ramprasad Potluri
EE250 (Control Systems Analysis) IITK Lecture Notes
150
100
50
0
50
M
a
g
n
i
t
u
d
e

(
d
B
)
10
3
10
2
10
1
10
0
10
1
10
2
10
3
10
4
180
135
90
45
0
P
h
a
s
e

(
d
e
g
)
BP of Gol
Frequency (rad/sec)
Figure 24.3: BP of G
OL
. The PM is what we expected based on the width of the
section of slope 20 dB/dec centered at
g
.
s. The permitted tolerance for your solution is 5%. Multiple overshoots and
undershoots are not mandatory.
January 2, 2012 121 of 218 Ramprasad Potluri
EE250 (Control Systems Analysis) IITK Lecture Notes
0 2 4 6 8 10 12 14 16 18
0
0.2
0.4
0.6
0.8
1
1.2
1.4
Step Response
Time (sec)
A
m
p
l
i
t
u
d
e
Figure 24.4: Unit step response of the CL system. The step response approxi-
mately satises the three specs given by the problem.
January 2, 2012 122 of 218 Ramprasad Potluri
Lecture 25
Loop-shaping (Part 5):
Information from lead/lag
controllers
25.1 Background
We are interested in designing a controller C(s) for the cascade combination
shown in Figure 21.2. Figure 25.1 shows the steps, which are involved in the
design and deployment of a controller.
In the ow chart, Step7 involves tuning. Tuning is required because the
controller may have been designed for an idealized model of the plant. The
model may have ignored nonlinearties and certain dynamics of the plant. So,
the controller may not work right unless it is tuned. The fewer the number of
parameters to be tuned in practice, the easier the tuning, as we can track the
effect of each parameter on the control system.
The simplest controller is a proportional controller. But, a proportional con-
troller is limited in what it can help the closed-loop system achieve. When a
controller is more than a proportional controller, we call it a compensator. A
transfer function (TF) that does not contain terms in s is called a static TF. A TF
that has terms in s is called a dynamic TF. A compensator contains terms in s;
so it is dynamic. Some of the simplest controllers are shown in Table 25.1
In this lecture, we study lead and lag controllers. We look at the PID con-
troller and its special cases (that is, PI and PD) after the second midsemester
exam.
25.2 Lead and lag controllers
The lead controller provides a positive phase, while the lag controller provides
a negative phase as shown in Figure 25.2.
We can develop the relationship between the maximum positive phase

max
(or the minimum negative phase
min
) provided by a lead (or lag) con-
troller and the corresponding decade distance (DD) between the corner fre-
123
EE250 (Control Systems Analysis) IITK Lecture Notes
Start
Step1
Mathematically
model the plant
as LTI ODE
Step2
Analysis of the
plant model (Is it
minimum phase?
Is it proper or
strictly proper?
What is its order?
What are its
poles and zeros?)
Step3
Formulate design
goals in terms of
which signals to
track, with what
accuracy, what
disturbances to
reject & how much,
how much to reject
sensor noises & at
what frequencies?
Step4
Convert design
goals into loop-
shaping spec-s
such as PM,
g
,
forbidden zones
Step5
Design & simulate
controller until sat-
isfactory on paper
Step6
Program the con-
troller in C / DSP
Step7
Tune the controller
so that CL system
behaves as desired
CL system
behaves as
desired?
Review the steps
that lead here
Step8
Deploy the control
system in the full
mechanism whose
component it is
YES
Mechanism
behaves well?
Review step 3
Exit
YES
Figure 25.1: Flow chart of the design and deployment of a controller.
January 2, 2012 124 of 218 Ramprasad Potluri
EE250 (Control Systems Analysis) IITK Lecture Notes
Table 25.1: Some of the simplest controllers.
Proportional k
p
Proportional plus derivative (PD) k
p
+ k
d
s
Proportional plus integral (PI) k
p
+ k
I
/s
Proportional plus integral plus derivative (PID) k
p
+ k
d
s + k
I
/s
Lead K
Ts + 1
Ts + 1
, < 1
Lag K
Ts + 1
Ts + 1
, > 1
+20 dB/dec
0

90

1
T
1
T

max

max
20 dB/dec
90

1
T
1
T

min

max
Figure 25.2: Bode plots of lead and lag controllers. The lead controller provides
a positive phase, while the lag controller provides a negative phase.
quencies of the controller through the steps shown in Figure 25.3. See Sec-
tion 25.4 for details.
Table 25.2 tabulates the required DD () between the corner frequencies
of the lead (or lag) controller and the corresponding
max
(or
min
) that the
controller needs to provide for certain commonly occuring values of
max
(or

min
).
25.3 How DD-
max
relationship for lead/lag con-
trollers is useful in loop-shaping
We can use the insights obtained so far for the lead/lag controller in our loop-
shaping techniques. Specically, I claim that if the desired minimum-phase
loop gain is as shown in Figure 24.1, with
g
=

u
, then the desired phase
margin (PM) in radians can be provided by choosing the DD between
l
and

u
as
= log
10
1 + sinPM
1 sinPM
decades, (25.1)
with PM expressed in degrees. Thus, for a given PM, we can choose the re-
quired DD between
l
and
u
from the above table by replacing
max
with
PM.
January 2, 2012 125 of 218 Ramprasad Potluri
EE250 (Control Systems Analysis) IITK Lecture Notes
Determine
max
as a function
of T and
Determine
max
as a function of
using
max
Determine as a
function of
max
Determine as
a function of
Determine as a
function of
max
Figure 25.3: Steps in the development of the relation between the decade dis-
tance (DD, ) and
max
. See Section 25.4 for details.
Table 25.2: The required DD () between the corner frequencies of the lead (or
lag) controller and the corresponding
max
(or
min
) that the controller needs
to provide for certain commonly occuring values of
max
(or
min
). Note that
the DD is the same on the BMP and the AMBP.

max
(
min
) needed 90

(90

) 60

(60

) 45

(45

) 30

(30

)
DD between corner 1.1439 0.76555 0.47712
freq-s of BP in decades 1.144 0.766 0.477
Aplot of versus PM can be generated using the code shown in Figure 25.4
and is shown in Figure 25.5. This code uses Equation 25.1.
Example 19
Design using loop-shaping techniques on the 5-cycle semilog paper pro-
vided a controller of the minimum order possible to control the speed of a mo-
tor with the transfer function (TF)
(s)
V(s)
=
100
s+20
for the following time domain
specications: steady-state error to a step input e
ss
2%, settling time t
s
0.5
s, peak overshoot M
p
20%.
Label your axes appropriately. Show how the specications are reected in
your loop-shaping construction. Mark
g
suitably.
The solution is shown in Figure 25.6.
25.4 Appendix: Derivation of DD versus PM rela-
tionship
January 2, 2012 126 of 218 Ramprasad Potluri
EE250 (Control Systems Analysis) IITK Lecture Notes
% ddpm.m: Plots DD verus PM.
% Works in GNU Octave and Matlab.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
clear all, close all,
pm = linspace(0,pi/2,100);
D = log10((1+sin(pm))./(1-sin(pm)));
plot(pm*180/pi,D); grid;
xlabel(PM (in degrees));
ylabel(Decade Distance (in decades));
Figure 25.4: The code that generates Figure 25.5.
0 10 20 30 40 50 60 70 80 90
0
0.5
1
1.5
2
2.5
3
3.5
4
4.5
PM (in degrees)
D
e
c
a
d
e

D
i
s
t
a
n
c
e

(
i
n

d
e
c
a
d
e
s
)
Figure 25.5: Decade distance (DD) versus phase margin (PM). We note that
the DD is fairly proportional to the PM upto about 60

with a relationship of
DD = PM/60.
Derivation of DD versus PM relationship
Lead compensator Lag compensator
C(s) = K
Ts + 1
Ts + 1
, < 1
=
K

s +
1
T
s +
1
T
C(j) = K
jT + 1
jT + 1
= arctan T arctan T

d
d
=
T
1 + T
2

2

T
1 +
2
T
2

2
_

d arctan y
dx
=
dy/dx
1 + y
2
_
To determine
max
, set
d
d
= 0. This
gives:
T
1 + T
2

2
=
T
1 +
2
T
2

2
1 +
2
T
2

2
= + T
2

2

2
T
2

2
T
2

2
= 1
( 1)(T
2

2
) = 1
T
2

2
= 1

max
=
1
T

We see that
max
is the geometric
mean (GM) of
1
T
and
1
T
.
C(s) = K
Ts + 1
Ts + 1
, > 1
=
K

s +
1
T
s +
1
T
C(j) = K
jT + 1
jT + 1
= arctan T arctan T

d
d
=
T
1 + T
2

2

T
1 +
2
T
2

2
d
d
= 0 implies
T
1 + T
2

2
=
T
1 +
2
T
2

2
1 +
2
T
2

2
= + T
2

2
( 1)(T
2

2
) = 1
T
2

2
= 1

min
=
1
T

min
is the GM of
1
T
and
1
T
.
January 2, 2012 127 of 218 Ramprasad Potluri
EE250 (Control Systems Analysis) IITK Lecture Notes
F
i
g
u
r
e
2
5
.
6
:
T
h
e
s
o
l
u
t
i
o
n
o
f
E
x
a
m
p
l
e
1
9
.
January 2, 2012 128 of 218 Ramprasad Potluri
EE250 (Control Systems Analysis) IITK Lecture Notes
Derivation of DD versus PM relationship (concluded)
Lead compensator Lag compensator
Plugging the expression for
max
in
that for , we obtain

max
= arctan T
max
arctan T
max

max
= arctan
1

arctan

max
= arctan[
1

1 +
1

]
= arctan
1
2

tan
max
=
1
2

Using the relation sin =


tan

1+tan
2

,
we can write
max
alternatively as
follows:
sin
max
=
1
1 +
=
1 sin
max
1 + sin
max
The DD () between
1
T
and
1
T
is
= log
10
1
T
log
10
1
T
= log
10
1

> 0, < 1
= log
10
1 + sin
max
1 sin
max
E.g., for
max
= +60

, needs to be
= log
10
1+

3
2
1

3
2
= log
10
1+0.877
10.877
= 1.1439 decades.

min
= arctan T
min
arctan T
min

min
= arctan
1

arctan

min
= arctan
1
2

tan
min
=
1
2

sin
min
=
1
1 +
=
1 sin
min
1 + sin
min
The DD () between
1
T
and
1
T
is
= log
10
1
T
log
10
1
T
= log
10
> 0, > 1
= log
10
1 sin
min
1 + sin
min
E.g.,
min
= 60

: = log
10
1+

3
2
1

3
2
= 1.1439 decades
January 2, 2012 129 of 218 Ramprasad Potluri
EE250 (Control Systems Analysis) IITK Lecture Notes
January 2, 2012 130 of 218 Ramprasad Potluri
Lecture 26
Loop-shaping (Part 6):
Relation between M
p
and PM
In this lecture, for the closed-loop (CL) system of Figure 21.2, we see the rela-
tion between the desired overshoot M
p
in the systems unit step response and
the phase margin (PM) that would provide this M
p
. For this purpose, we de-
velop this relationship for a second order system, and assume this relationship
as being approximately valid for systems of higher order.
26.1 Relation between M
p
and PM for second order
system
Consider the standard second order TF
G(s) =

n
2
s(s + 2
n
)
(26.1)
Sample Bode and polar plots that correspond to this standard second order
TF, for
n
= 1 rad/s and = 0.5, plotted using the m-le ord2.m included
in this lecture note are shown in gures 26.1 and 26.2 respectively. We show
these plots so that the PM of this TF is clear. The CL system is, of course, a
unity-feedback one.
Let us work out the PM of this TF. For this, we rst determine the gain
crossover frequency
g
by setting the magnitude of G(j) = 1 at
g
.

G(j
g
)

n
2

g
2
+ j2
n

= 1
This gives

g
=
n
_
_
4
4
+ 1 2
2
As
G(j) =

2
arctan

2
n
131
EE250 (Control Systems Analysis) IITK Lecture Notes
100
50
0
50
M
a
g
n
it
u
d
e

(
d
B
)
10
2
10
1
10
0
10
1
10
2
180
135
90
P
h
a
s
e

(
d
e
g
)
Bode Diagram
Frequency (rad/sec)
PM
Figure 26.1: Bode plot of the standar open-loop second order system G(s) =

n
2
s(s+2
n
)
. The item of interest in this plot is the phase margin of this open-loop
system.
1
2
3
4
30
210
60
240
90
270
120
300
150
330
180 0
Figure 26.2: Polar plot of the standar open-loop second order system G(s) =

n
2
s(s+2
n
)
. The item of interest in this plot is the phase margin of this open-loop
system.
January 2, 2012 132 of 218 Ramprasad Potluri
EE250 (Control Systems Analysis) IITK Lecture Notes
we have
G(j
g
) =

2
arctan

g
2
n
The famililar expression
PM = +G(j
g
).
gives us, using the fact that

2
arctan x = arctan
1
x
,
PM = arctan
2
_
_
4
4
+ 1 2
2
(26.2)
Let us see how this PM is related to the peak overshoot M
p
(expressed as M
p
=
y(t
p
)y()
y()
100%) of the unit step response of the unity-feedback CL system
G(s) =

n
2
s
2
+ 2
n
s +
n
2
.
that corresponds to the above OL TF.
Problem 21
Show that, for the second order unity-feedback CL system built around the
TF of (26.1), M
p
is given by the expression:
M
p
= e

1
2
100% (26.3)
A plot of M
p
versus using Equation (26.3) and a plot of PM versus
using Equation (26.2) is shown in Figure 26.3, and a plot of PM versus M
p
based on the plot of Figure 26.3 is shown in Figure 26.4, using the m-le pmmp.m
that is included in this lecture note. Also, plotted in Figure 26.3 is the linear
approximation (denoted PM)
PM 100 , for 0 0.707
to the PM vs. curve.
In the gure, we see that PM 100 is a reasonable approximation to PM
given by Equation (26.2) only for 0 0.707. This approximation provides
us the PM-to-M
p
approximate correspondence of Table 26.1 and Figure 26.4 for
a second order system.
Finally, we are interested in the DD-to-M
p
correspondence. This correspon-
dence is shown in Figure 26.5 by putting together information fromgures 26.3
and 26.4.
26.2 Applying the second order relation to higher
order
Henceforth in our loop-shaping methodology, we will use the approximate cor-
respondence of Figure 26.5 as a guideline to choosing the width of the 20
January 2, 2012 133 of 218 Ramprasad Potluri
EE250 (Control Systems Analysis) IITK Lecture Notes
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
0
10
20
30
40
50
60
70
80
90
100

P
M
,

M
p
,

P
M



PM (in )
M
p
(in %)
PM (in )
Figure 26.3: Relationship between M
p
and and PM and . Note that the
approximation shown by PM is only valid for 0 0.707.
0 10 20 30 40 50 60 70 80 90 100
0
10
20
30
40
50
60
70
80
90
100
M_p (in \%)
P
M
,

P
M


(
i
n

d
e
g
r
e
e
s
)


PM
PM
Figure 26.4: Relationship between M
p
and PM. Note that the PM versus M
p
relationship is only valid for PM between 0 and 70

.
January 2, 2012 134 of 218 Ramprasad Potluri
EE250 (Control Systems Analysis) IITK Lecture Notes
0 10 20 30 40 50 60 70 80 90 100
0
0.2
0.4
0.6
0.8
1
1.2
1.4
1.6
1.8
2
Peak overshoot M
p
(in %)
D
D

(
i
n

d
e
c
a
d
e
s
)

&

P
M

(
i
n

d
e
g
r
e
e
s
)

PM/100
Figure 26.5: Plot of DD versus M
p
constructed from gures 26.3 and 26.4. Also
reproduced is the information from Figure 26.4 of PM versus M
p
.
Table 26.1: The approximate correspondence of PM to M
p
of the standard sec-
ond order system.
PM 25

40

60

70

M
p
45% 25% 10% 5%
dB/dec section centered about
g
. This gure is constructed from gures
26.3 and 26.4. Note that this approximation seemed to have worked in the
MATLAB-based example given in Section 24.4. There we have a PM of about
60

giving an M
p
of about 10%. See gures 24.3 and 24.4.
Note that this approximation is only an approximation. It may work very
well if the system is close to second order. It may not work very well for higher
order systems. For example, in Section 23.3 we mention that the section of the
Bode magnitude plot of G
des
(j) in the region much below high frequencies,
but above the low frequency region, also has a bearing on M
p
.
Problem 22
Verify that the design of Example 19 meets its specications, and see what
information you could have applied to that design from this lecture.
% ord2.m: m-file to plot Bode and polar plot of
January 2, 2012 135 of 218 Ramprasad Potluri
EE250 (Control Systems Analysis) IITK Lecture Notes
% the 2nd second order system open-loop system.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
clear all;
close all;
clc;
% Define the standard OL 2nd order systems
% coefficients:
wn = 1; zeta = 0.5;
s=tf(s);
g=(wn^2)/(s*(s+2*zeta*wn));
% Plot the BP of the OL 2nd order system:
bode(g); grid;
% Plot the polar plot of the OL 2nd order system:
n=1000;
w = logspace(-0.6,2,n);
[mag,ph] = bode(g,w);
%
% The mag and phase outputs of bode command in MATLAB
% even when the system is Single Input Single Output,
% are 3-D arrays. The polar command of Matlab is unable
% to handle these arrays. So we convert them into 1-D
% arrays as follows:
%
for i=1:n
mag1(i) = mag(:,:,i) ;
ph1(i) = ph(:,:,i)*pi/180;
% converted degrees to radians
end
%
figure; polar(ph1,mag1)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% pmmp.m: m-file to see the relationship
% between PM of the second order system
% $\frac{{\omega_n}^2}{s(s+2\xi\omega_n)}$,
% and the peak overshoot $M_p$ of the unit
% step response of the corresponding
% closed-loop system.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
clear all; close all;
xi = linspace(0,1,40);
% Declare an array of values of xi at which to
% evaluate
pm = atan(2*xi./sqrt(sqrt(4*xi.^4+1)-2*xi.^2));
January 2, 2012 136 of 218 Ramprasad Potluri
EE250 (Control Systems Analysis) IITK Lecture Notes
% This gives PM in radians. Convert this into
% degrees:
pm = pm*180/pi;
% Note the construct "./". The dot preceding
% the arithmetic operations *, /, and ^ allows
% to perform elementwise multiplication, division,
% and raising to a power respectively.
% For example, [1, 2].*[2, 3] gives [2, 6].
% [1,2]./[2,5] gives [0.5,0.4], and [1,2].^2
% gives [1,4].
mp = exp(-pi*xi./sqrt(1-xi.^2))*100;
% This gives the peak overshoot in percent
% Peak overshoot is defined as
% $M_p = \frac{y(t_p)-y(\infty)}{y(\infty)}\times 100\%$.
pmapprox = 100*xi;
plot(xi,pm,xi,mp,xi,pmapprox)
xlabel(\xi); ylabel(PM, M_p, PM\sim)
legend(PM (in \circ),M_p (in %),PM\sim (in \circ))
grid
print -depsc pm-zeta-mp.eps
figure
plot(mp,pm,mp,pmapprox)
xlabel(M_p (in \%)); ylabel(PM, PM\sim (in degrees));
legend(PM,PM\sim); grid
print -depsc mppm.eps
Problem 23
If necessary, edit ord2.m and pmmp.m so that these les run successfully in
GNU Octave, giving the same results that they gave in MATLAB.
January 2, 2012 137 of 218 Ramprasad Potluri
EE250 (Control Systems Analysis) IITK Lecture Notes
January 2, 2012 138 of 218 Ramprasad Potluri
Lecture 27
Loop-shaping (Part 7): A
solved example
27.1 Problem
Consider the control system of Figure 27.1. We wish to design a compensator
D(s) that satises the following design specications:
(a) K
v
= 100.
(b) PM 60

.
(c) Sinusoidal inputs of up to 1 rad/sec to be reproduced with 2% error.
(d) Sinusoidal inputs with a frequency of greater than 100 rad/sec to be atten-
uated at the output to 5% of their input value.
1. Determine K
1
and K
2
of Figure 27.2.
2. Write the numerical values of
1
and
2
of Figure 27.2.
3. What is the decade distance needed between the corner frequencies
l
and

h
for the desired Bode plot of Figure 27.2?
4. Is this DD the distance on the BMP or on the ABMP or both?
5. On the semilog grid provided, draw the ABMPs of the desired D(s)G(s)
and of G(s). Your gure must contain all the necessary labels.
6. On the semilog grid provided, show the ABMP of the resulting D(s). Write
the TF of D(s).
7. For the resulting CL system, given that
B
[
min
,
max
], where
B
is the
bandwidth, what are the values of
min
and
max
?
139
EE250 (Control Systems Analysis) IITK Lecture Notes
Y
ref
(s)
+
D(s)
G(s) =
10
s
_
s
10
+ 1
_
U(s) Y(s)

Figure 27.1: Control system to be designed.

g
20
dB/dec

1

2
20 log
10
(K
1
)
20 log
10
(K
2
)

l

h
Figure 27.2: Parameters for loop-shaping for the problem.
27.2 Solution
We rst translate the specications into actionable information.
(a) K
v
= 100.
At this point in the course, we have not yet seen the concept of K
v
. We will
do so soon. In the meanwhile, it sufces to know that for a unity-feedback
control system built around the TF G
OL
(s) that contains a single integrator,
K
v
is the frequency where the left-most asymptote of the ABMP of G
OL
(s)
has a value of 0 dB. K
v
has the units of rad/s.
In this problem, K
v
= 100 implies that the left most asymptote of the BMP
of D(s)G(s) has a slope of 20 dB/decade and passes through the point
{ = 100 rad/s, dB-gain = 0 dB }.
(b) PM 60

.
This specication can give us the decade distance (DD) between the
l
and

h
of Figure 27.2. Table 25.2 says that a DD of 1.144 decades between
l
and
h
with a 20 dB/decade decline between them implies PM 60

.
We have from this specication:
log
10

h
log
10

l
= 1.144
January 2, 2012 140 of 218 Ramprasad Potluri
EE250 (Control Systems Analysis) IITK Lecture Notes
(c) Sinusoidal inputs of up to 1 rad/sec to be reproduced with 2% error.
G
e
(s)
E(s)
R(s)
=
1
1 + D(s)G(s)
G
e
(j) =
1
1 + D(j)G(j)
Let us dene e(t) r(t) y(t). For an input sinusoid r(t) = Asin t,
the steady-state value of e(t) is e
ss
(t) = [G
e
(j)[Asin(t +G
e
(j)). It
is given that e
ss
(t) 2% when r(t) is upto 1 rad/s in frequency. Is this
a specication for the magnitude and phase of e
ss
(t), or is it only for the
phase of e
ss
(t)? Note that, the frequency responses of even ideal lters are
dened as having phases changing linearly with frequency. So, most likely,
we are not being asked to constrain the phase as well as magnitude of a
practical lter within 2%. This guess is veried by looking at specication
(d). So, the 2% specication can only be on the magnitude of e
ss
(t). So,
we shall constrain the magnitude of e
ss
(t) within 2%. This can be done as
follows:
[G
e
(j)[ =
1
[1 + D(j)G(j)[
2%,
1 rad/s.
[D(j)G(j)[ 50, 1 rad/s.
So, K
1
50 and
1
= 1 rad/sec.
(d) Sinusoidal inputs with a frequency of greater than 100 rad/sec to be atten-
uated at the output to 5% of their input value.
G
CL
(s)
Y(s)
R(s)
=
D(s)G(s)
1 + D(s)G(s)
G
CL
(j) =
D(j)G(j)
1 + D(j)G(j)
Want [G
CL
(j)[ 5% (wanting to keep G
CL
(j) 5% is unrealistic).
This can be achieved thus:
[D(j)G(j)[ 5%, 100 rad/s
So, K
2
0.05 and
2
= 100 rad/s.
Now that we have actionable information, we answer the questions.
1. Determine K
1
and K
2
of Figure 27.2.
K
1
= 50, K
2
= 0.05
2. Write the numerical values of
1
and
2
of Figure 27.2.

1
= 1 rad/sec,
2
= 100 rad/sec
January 2, 2012 141 of 218 Ramprasad Potluri
EE250 (Control Systems Analysis) IITK Lecture Notes
3. What is the decade distance needed between the corner frequencies
l
and

h
for the desired Bode plot of Figure 27.2?
1.144 decades.
4. Is this DD the distance on the BMP or on the ABMP or both?
Both.
5. On the semilog grid provided, draw the ABMPs of the desired D(s)G(s)
and of G(s). Your gure must contain all the necessary labels.
See graph of Figure 27.3.
5.1. From the values of K
1
, K
2
and
1
,
2
we get the forbidden regions. The
BMP of D(s)G(s) cannot lie in this region.
5.2. Draw the left-most asymptote of the BMP of D(s)G(s). For this, using
K
v
= 100, draw a straight line at a slope of 20 dB/decade and passing
through 100 rad/sec at 0 dB.
5.3. As no data is given to x
g
, we choose
g
to be approximately equidis-
tant, on logarithmic scale, from
1
and
2
. That is,
g

2
. This
gives
g
= 10 rad/sec.
5.4. We draw a 1.144 decade-wide 20 dB/decade straight line centered at

g
.
5.5. We connect the left end of this 20 dB/decade section to the asymptote
of step 5.2 via a straight line while being careful that this line does not
intersect the LF forbidden region.
This line will need to have a slope that is integer multiple of 20
dB/decade. We get this slope as 60 dB /dec in our case.
5.6. From the right end of the 20 dB/decline (of step 5), we draw a straight
line at a slope of 40 dB/dec (integral multiple of 20), that passes below
the HF forbidden zone.
The ABMP of the desired D(s)G(s) is shown in the graph of Figure 27.3.
Also shown on the same graph is the ABMP of G(s).
6. On the semilog grid provided, show the ABMP of the resulting D(s). Write
the TF of D(s).
See graph of Figure 27.3.
6.1. Subtract the ABMP of G(s) from that of D(s)G(s) to obtain the ABMP
of D(s) as shown on the graph.
6.2. The TF of D(s) is
D(s) =
10
_
s
2.5
+ 1
_
2
_
s
10
+ 1
_
_
s
0.7
+ 1
_
2
_
s
40
+ 1
_
.
January 2, 2012 142 of 218 Ramprasad Potluri
EE250 (Control Systems Analysis) IITK Lecture Notes
7. For the resulting CL system, given that
b
[
min
,
max
], where
b
is the
bandwidth, what are the values of
min
and
max
?
Since
g

b
2
g
, we have
min
=
g
= 10 rad/s, and
max
= 2
g
=
20 rad/s.
Figure 27.3: Solution to the problem. D(s) =
10
_
s
2.5
+ 1
_
2
_
s
10
+ 1
_
_
s
0.7
+ 1
_
2
_
s
40
+ 1
_
.
January 2, 2012 143 of 218 Ramprasad Potluri
EE250 (Control Systems Analysis) IITK Lecture Notes
January 2, 2012 144 of 218 Ramprasad Potluri
Lecture 28
Metrics for steady-state
accuracy of unity-feedback
systems built around
minimum-phase systems
Consider the closed-loop system of Figure 21.1. Assuming that d(t) and n(t)
are absent, the error in tracking a reference input R(s) is given by E(s) =
R(s)
_
(1 + G(s)).
How accurately a control system tracks, for example, a step or a ramp input
is of interest in the design. More generally, test signals of the form r(t) =
t
n
1(t)
_
n! may be used to evaluate the performance of a control system. Note
that L

t
m
_
m! = 1
_
s
m+1
. So, R(s) = 1
_
s
m+1
. See Section 28.4 for the
denition of L

.
The steady-state error e
ss
is a measure of this accuracy, and is dened as
e
ss
lim
t
e(t).
We can use the nal value theorem (FVT) to calculate e
ss
as follows:
e
ss
= lim
t
e(t) = lim
s0
sE(s) = lim
s0
s
1
1 + G(s)
R(s)
Note that the FVT works only if e
ss
to a given input r(t) exists and is nite.
Equivalently, FVT requires all poles of sE(s) to be in the open left half s-plane.
Problem 24
In practice, where is a step or a ramp used as a test signal for a control
system?
The TFs that we study in this course are of the form shown in (9.2). Assume
that G(s) of (9.2) is minimum-phase. This means that all the constants in G(s)
are non-negative, and that G(s) is rational. In the remainder of this lecture, we
145
EE250 (Control Systems Analysis) IITK Lecture Notes
study the concepts of error constants and system type, which are used to discuss
the steady-state accuracy of minimum-phase systems.
28.1 Error constants
Example 20
Evaluate e
ss
for the case of a minimum-phase G(s) having 2 poles at the
origin and the CL system tracking a parabolic input.
Note that, though G(s) has 2 poles at the origin, if we wish to apply
FVT, then G(s) is not permitted to be, for example, of the form 1/s
2
. For
R(s) = 1
_
s
m+1
, G(s) = 1
_
s
2
would result in sE(s) having a pair of com-
plex conjugate poles on the j-axis, disqualifying this sE(s) for FVT. In the rest
of this example, we assume that G(s) is such that sE(s) is amenable to FVT.
e
ss
= lim
s0
s
1
1 + G(s)
1
s
3
= lim
s0
1
s
2
+ s
2
G(s)
=
1
lim
s0
s
2
G(s)
As G(s) has exactly two poles at the origin and is minimum-phase, s
2
G(s) will
have all poles and zeros in the open left half s-plane. Therefore, lim
s0
s
2
G(s)
is a positive nite constant.
We summarize in Table 28.1 calculations similar to those in Example 20 for
the cases of r(t) being a step, ramp, and parabola, and G(s) having up to 2
poles at the origin, while being such that sE(s) has all poles in the open LHP.
Problem 25
Show a G(s), which is minimum-phase, but the sE(s) corresponding to
which has some poles that are not in the open left half s-plane.
In Table 28.1, K
p
, K
v
, K
a
are called error constants or error coefcients (ECs).
K
p
is called position (or step) constant or position (or step) error constant, K
v
is called velocity (or ramp) (error) constant, and K
a
is called acceleration (or
parabolic) (error) constant.
We may wonder why control engineers would want to talk about steady-
state error as the inverse of some quantity. We provide an answer to this ques-
tion here.
ECs are attributes of the loop gain of a control system when this loop gain is
minimum-phase. They relate the loop gain of a unity feedback control system
to the steady-state error of the control system under various inputs such as
step, ramp, parabola, etc. ECs are especially obvious on the Bode magnitude
plot (BMP) of the loop gain. Indeed, their importance stems from the fact that
they can be read easily off the BMP []. Control system design specications on
the steady state error are provided through ECs, particularly when designing
using Bode plots[]. Given the frequency response of the open loop system, we
can t a TF to this frequency response, and an important parameter in this TF
is an EC. Therefore, an EC is a nite quantity.
January 2, 2012 146 of 218 Ramprasad Potluri
EE250 (Control Systems Analysis) IITK Lecture Notes
Table 28.1: Calculations of the steady-state error (e
ss
) in tracking step, ramp,
and parabolic inputs by a unity-feedback closed-loop system whose loop gain
has upto 2 poles at the origin.
Number of poles of G(s) at origin
0 1 2
1
s
lim
s0
s
1
1+G(s)
1
s
=
1
1+lim
s0
G(s)
. Here,
0 < lim
s0
G(s) <
G(s) is
minimum-phase.
Denote it by K
p
.
Then, e
ss
=
1
1+K
p
.
Here,
lim
s0
G(s) = .
e
ss
= 0.
Here,
lim
s0
G(s) = .
e
ss
= 0.
R
(
s
)
1
s
2
Cannot use FVT
to evalute e
ss
( sE(s) has 1 pole
at origin). Deter-
mine y(t). Then,
e(t) = r(t) y(t)
gives e
ss
= .
lim
s0
s
1
1+G(s)
1
s
2
=
1
lim
s0
sG(s)
. Here,
0 < lim
s0
sG(s) <
. Denote it by K
v
.
Then, e
ss
=
1
K
v
.
Here,
lim
s0
sG(s) = .
e
ss
= 0.
1
s
3
Cannot use FVT to
evalute e
ss
. Deter-
mine y(t). Then,
e(t) = r(t) y(t)
gives e
ss
= .
Cannot use FVT to
evalute e
ss
. Deter-
mine y(t). Then,
e(t) = r(t) y(t)
gives e
ss
= .
lim
s0
s
1
1+G(s)
1
s
3
=
1
lim
s0
s
2
G(s)
. Here,
0 < lim
s0
s
2
G(s) <
. Denote it by K
a
.
Then, e
ss
=
1
K
a
.
28.2 How to read K
p
, K
v
, K
a
off the BMPs
The ECs can be read off BMPs easily as shown in the Figure 28.1 and as justied
by Table 28.2.
28.3 System type
As we saw, e
ss
depends on the input that the CL system is trying to track, as
well as the number of integrators (that is, poles at the origin) present in G(s).
The latter number is assigned the special name system type.
Denition 4 [23, page 371] The unity-feedback CL system built around G(s) is type
i (i = 0, 1, 2, . . .) if G(s) contains i integrators, i.e., if G(s) contains the element 1/s
i
.
Thus, we have type 0, type 1, type 2, etc systems. The denition of system
type is much confused in literature[]. For example, which system is type i, G(s)
or its CL version? Books also dene the system as type 0 if its position error
constant is nite, as type 1 if its velocity error constant is nite, etc. In my view,
these denitions are roundabout versions of Denition 4.
January 2, 2012 147 of 218 Ramprasad Potluri
EE250 (Control Systems Analysis) IITK Lecture Notes
T
a
b
l
e
2
8
.
2
:
E
x
p
l
a
n
a
t
i
o
n
f
o
r
w
h
y
t
h
e
e
r
r
o
r
c
o
n
s
t
a
n
t
s
c
a
n
b
e
r
e
a
d
o
f
f
t
h
e
B
o
d
e
m
a
g
n
i
t
u
d
e
p
l
o
t
s
.
E
C
s
c
a
l
c
u
l
a
t
e
d
f
o
r
t
h
e
m
i
n
i
m
u
m
-
p
h
a
s
e
v
e
r
-
s
i
o
n
o
f
G
(
s
)
o
f
(
9
.
2
)
u
s
i
n
g
T
a
b
l
e
2
8
.
1
I
n
f
o
r
m
a
t
i
o
n
f
r
o
m
t
h
e
B
M
P
o
f
t
h
e
m
i
n
i
m
u
m
-
p
h
a
s
e
v
e
r
s
i
o
n
o
f
G
(
s
)
o
f
(
9
.
2
)
O
L
T
F
h
a
s
n
o
p
o
l
e
s
o
r
z
e
r
o
s
a
t
t
h
e
o
r
i
g
i
n
I
f
a
u
n
i
t
s
t
e
p
i
s
i
n
p
u
t
t
o
t
h
e
C
L
s
y
s
t
e
m
,
t
h
e
n
w
e
s
a
y
e
s
s
=
1
_
(
1
+
K
p
)
,
w
h
e
r
e
K
p
=
G
(
0
)
=

n
1
i
=
0
(
z
i
)

n
2
k
=
0
(

n
k
2
)

d
1
i
=
0
(
p
i
)

d
2
k
=
0
(

d
k
2
)
O
n
t
h
e
B
M
P
o
f
G
(
s
)
,
t
h
e
e
q
u
a
t
i
o
n
d
B
-
g
a
i
n
=
2
0
l
o
g
1
0
_

n
1
i
=
0
(
z
i
)

n
2
k
=
0
(

n
k
2
)

d
1
i
=
0
(
p
i
)

d
2
k
=
0
(

d
k
2
)
_
d
e
s
c
r
i
b
e
s
t
h
e
l
e
f
t
-
m
o
s
t
a
s
y
m
p
t
o
t
e
.
T
h
i
s
o
b
s
e
r
v
a
t
i
o
n
h
e
l
p
s
i
n
r
e
a
d
i
n
g
K
p
o
f
f
t
h
e
B
M
P
a
s
e
q
u
a
l
t
o
G
(
0
)
.
O
L
T
F
h
a
s
e
x
-
a
c
t
l
y
o
n
e
p
o
l
e
a
t
t
h
e
o
r
i
g
i
n
I
f
a
u
n
i
t
r
a
m
p
i
s
i
n
p
u
t
t
o
t
h
e
C
L
s
y
s
t
e
m
,
t
h
e
n
w
e
s
a
y
e
s
s
=
1
/
K
v
,
w
h
e
r
e
K
v
=
l
i
m
s

0
s
G
(
s
)
=

n
1
i
=
0
(
z
i
)

n
2
k
=
0
(

n
k
2
)

d
1
i
=
1
(
p
i
)

d
2
k
=
0
(

d
k
2
)
O
n
t
h
e
B
M
P
o
f
G
(
s
)
,
t
h
e
e
q
u
a
t
i
o
n
d
B
-
g
a
i
n
=
2
0
l
o
g
1
0
_
1

n
1
i
=
0
(
z
i
)

n
2
k
=
0
(

n
k
2
)

d
1
i
=
1
(
p
i
)

d
2
k
=
0
(

d
k
2
)
_
d
e
s
c
r
i
b
e
s
t
h
e
l
e
f
t
-
m
o
s
t
a
s
y
m
p
t
o
t
e
.
T
h
i
s
a
s
y
m
p
t
o
t
e
i
n
t
e
r
s
e
c
t
s
t
h
e

-
a
x
i
s
a
t

n
1
i
=
0
(
z
i
)

n
2
k
=
0
(

n
k
2
)

d
1
i
=
1
(
p
i
)

d
2
k
=
0
(

d
k
2
)
,
t
h
a
t
i
s
,
a
t

=
K
v
.
O
L
T
F
h
a
s
e
x
-
a
c
t
l
y
t
w
o
p
o
l
e
s
a
t
t
h
e
o
r
i
g
i
n
I
f
a
u
n
i
t
p
a
r
a
b
o
l
a
i
s
i
n
p
u
t
t
o
t
h
e
C
L
s
y
s
t
e
m
,
t
h
e
n
w
e
s
a
y
e
s
s
=
1
/
K
a
,
w
h
e
r
e
K
a
=
l
i
m
s

0
s
2
G
(
s
)
=

n
1
i
=
0
(
z
i
)

n
2
k
=
0
(

n
k
2
)

d
1
i
=
2
(
p
i
)

d
2
k
=
0
(

d
k
2
)
O
n
t
h
e
B
M
P
o
f
G
(
s
)
,
t
h
e
e
q
u
a
t
i
o
n
d
B
-
g
a
i
n
=
2
0
l
o
g
1
0
_
1

n
1
i
=
0
(
z
i
)

n
2
k
=
0
(

n
k
2
)

d
1
i
=
2
(
p
i
)

d
2
k
=
0
(

d
k
2
)
_
d
e
s
c
r
i
b
e
s
t
h
e
l
e
f
t
-
m
o
s
t
a
s
y
m
p
t
o
t
e
.
T
h
i
s
a
s
y
m
p
t
o
t
e
i
n
t
e
r
s
e
c
t
s
t
h
e

-
a
x
i
s
a
t

2
=

n
1
i
=
0
(
z
i
)

n
2
k
=
0
(

n
k
2
)

d
1
i
=
2
(
p
i
)

d
2
k
=
0
(

d
k
2
)
,
t
h
a
t
i
s
,
a
t

2
=
K
a
,
t
h
a
t
i
s
,
a
t

K
a
.
January 2, 2012 148 of 218 Ramprasad Potluri
EE250 (Control Systems Analysis) IITK Lecture Notes
40

K
a
20 log
10
K
p
20
K
v

Figure 28.1: How to read K
p
, K
v
, K
a
off the BMPs.
28.4 Appendix: Various denitions of the Laplace
transform
To what extent do we use the Laplace transform (LT) in our course? For us,
the LT is only a tool, not the focus of our course. But, like any tool, we need to
learn this one just enough to use it wisely.
Firstly, the purpose of the LT in classical control theory is only mathematical
rigor. Before the second world war, classical control used to be done using the
Heaviside operator p instead of the LT []. Though it worked, the Heaviside
operator was not supported by rigorous mathematics [26].
There are two kinds of LT we encountered in our earlier courses: one-sided
LT and two-sided LT.
For the function f (t), the various pairs of the denitions of the one-sided
LT and the corresponding inverse LT are shown in Table 28.3.
Here, c is any real number greater than the abscicca of convergence, , of
the LT. Given that s = + j, the smallest value of for which the LT exists
is called the absicca of convergence of the LT [17]. In our course, we will not
need to use the inverse LT. Instead, we will use tables of LT, where needed.
The two-sided LT is as follows:
Lf (t)
_

f (t)e
st
dt
But, we will not use this in our course because we will work with signals that
are zero always but abruptly acquire non-zero value at some point in time,
and this value of time can be arbitrarily chosen as t = 0. So, one-sided LT is
appropriate in this case.
Even when the signals may have non-zero values before t = 0, we assume
that we know their effect upto either t = 0

(immediately before t = 0), or


t = 0, or t = 0
+
(immediately after t = 0) in the form of initial conditions of
differential equations at these time instants. So, one-sided LT is appropriate in
this case too.
Distinction between the three denitions of one-sided LT is needed when
an impulse is involved at the origin [25, page 62]. So, in the next section, we
will recap our knowledge of the unit impulse function.
January 2, 2012 149 of 218 Ramprasad Potluri
EE250 (Control Systems Analysis) IITK Lecture Notes
Table 28.3: Pairs of denitions of the one-sided Laplace Transform.
Denition Source
F

(s) = L

f (t)
_

0

f (t)e
st
dt
L
1

(s)
1
2j
_
c+j
cj
F

(s)e
st
ds = f (t) , t > 0

[17]
F(s) = Lf (t)
_

0
f (t)e
st
dt
L
1
F(s)
1
2j
_
c+j
cj
F(s)e
st
ds = f (t) , t > 0
F
+
(s) = L
+
f (t)
_

0
+
f (t)e
st
dt
L
1
+
F
+
(s)
1
2j
_
c+j
cj
F
+
(s)e
st
ds = f (t) , t > 0
+
[17]
28.5 Appendix: Unit impulse function
A unit impulse function (a.k.a Dirac delta function), denoted (t), has the fol-
lowing properties among others that are familiar to us and that we may use in
this course:
1. ( t) = 0, ,= t [27].
2. (t) =
d1(t)
dt
, where 1(t) is a unit step function, a.k.a., Heaviside function,
1(t) =
_
0 t < 0
1 t > 0
The Heaviside function has a jump discontinuity at t = 0. Its value at t = 0 is
usually taken to be 1/2. Sometimes, its value is taken equal to some constant
c, where 0 < c < 1 [27].
3.
_
+

( t)d =
_
+

(t )d =
_
0
+
0

(t )d =
_
0
+
0

()d = 1.
4.
_
+

( t) f ()d = f (t), if f () is continuous at = t. In other words,


the impulse is so short and so intense that no value of f matters except over
the short range where the occurs [25, page 53].
We can work this property out as follows. The product f ()( t) is illus-
trated in Figure 28.2.
January 2, 2012 150 of 218 Ramprasad Potluri
EE250 (Control Systems Analysis) IITK Lecture Notes
t

0
0

f
0
t
f

Figure 28.2: Graphical illustration of the product f ()( t).


We see that this product is equal to zero everywhere, except at = t where
it equals the unit impulse multiplied by f (t). Similarly,
_
+

(t ) f ()d =
_
+

(t ) f (t)d = f (t)
_
+

(t )d = f (t)
The unit impulse function is not a function in the classical sense. For a
classical function r(t) that is dened as zero everywhere except at nitely many
points, the integral
_
+

r(t)dt evaluates to zero. Functions such as are called


generalized functions and are studied in the theory of distributions or measure
theory (see, for example, [27]).
28.6 Appendix: Care needed in using the one-sided
LT
It is the transform of the unit-impulse function that led us to choose the L

transform rather than the L


+
transform [25, page 64].
Much confusion exists in literature about the denition of the one-sided
LT and the delta function. The book [17] was probably the rst to notice this
confusion. The paper [28] presents a survey of this confusion, and also lists the
literature that does not have this confusion. The book [25] is cited in [28] as
treating the one-sided LT and the delta function in a consistent manner.
January 2, 2012 151 of 218 Ramprasad Potluri
EE250 (Control Systems Analysis) IITK Lecture Notes
January 2, 2012 152 of 218 Ramprasad Potluri
Lecture 29
An example of application of
loop-shaping in automobile
control
153
EE250 (Control Systems Analysis) IITK Lecture Notes
January 2, 2012 154 of 218 Ramprasad Potluri
Part V
Digital implementation of
controllers
155
Lecture 30
State space realization of
transfer function
30.1 Example of state space realization
Consider the following TF
G(s) =
Y(s)
U(s)
=
a
1
s + a
0
s
2
+ b
1
s + b
0
We wish to nd a state space model whose input and output are u(t) and y(t)
respectively, and whose TF is G(s). The following is one way to accomplish
this goal:
1. Introduce an intermediate variable X(s) thus:
G(s) =
Y(s)
U(s)
=
Y(s)
X(s)
X(s)
U(s)
2. Let
X(s)
U(s)
=
1
s
2
+ b
1
s + b
0
and
Y(s)
X(s)
= a
1
s + a
0
3. From the last step above, we can write the following:
s
2
X(s) = U(s) b
1
sX(s) b
0
X(s)
Y(s) = a
1
sX(s) + a
0
X(s)
4. Using this last step, we can construct the simulation diagram of Figure 30.1.
Note that here, the block containing the 1/s represents integration opera-
tion. Books show either of the two equivalent blocks shown in Figure 30.2.
The 1/s is more appropriate when the block diagram is in the Laplace Trans-
form domain, while the
_
is more appropriate when the block diagram is in
time domain.
157
EE250 (Control Systems Analysis) IITK Lecture Notes
a
0
1
s
1
s
b
1
b
0
U(s)
+

a
1
+
+
Y(s) X(s) sX(s) s
2
X(s)
Figure 30.1: Simulation diagram for Step 4.
1
s

=
Figure 30.2: The two equivalent blocks that represent an integrator. The 1/s is
more appropriate when the block diagram is in the Laplace Transform domain,
while the
_
is more appropriate when the block diagram is in time domain.
a
0
1
s
1
s
b
1
b
0
U(s)
+

a
1
+
+
Y(s) X(s) sX(s) s
2
X(s)
x
1
x
2
= x
1
x
2 y(t) u(t)
Figure 30.3: Writing in the time-domain quantities into the simulation diagram
of Figure 30.1.
January 2, 2012 158 of 218 Ramprasad Potluri
EE250 (Control Systems Analysis) IITK Lecture Notes
a
0
1
s
1
s
b
1
b
0
U(s)
+

a
1
+
+
Y(s) X(s) sX(s) s
2
X(s)
x
2
x
1
= x
2
x
1
y(t) u(t)
Figure 30.4: An alternative ssignment of state variables to the outputs of the
integrators of the simulation diagram of Figure 30.1.
5. In the block diagram, write the time-domain quantities u(t) and y(t) as
shown in Figure 30.3.
Also, assign a state variable to the output of each integrator block. In the
above case, we started the assignment at the output of the right-most inte-
grator block, going left.
6. Write the differential equations based on the time-domain quantities in the
simulation diagram
x
1
= x
2
x
2
= b
0
x
1
b
1
x
2
+ u
y = a
0
x
1
+ a
1
x
2
This system of rst order differential equations gives us the state-space (SS)
model
x =
_
0 1
b
0
b
1
_
x +
_
0
1
_
u with x =
_
x
1
x
2
_
Problem 26
Assign a state variable to the output of each integrator block starting from
the left-most integrator, going right as shown in Figure 30.4.
Verify that the SS model is as follows:
x =
_
b
1
b
0
0 1
_
x +
_
1
0
_
u, with x =
_
x
1
x
2
_
In Example 26 and the disucssion preceding it, we illustrated two sepa-
rate SS realizations for a given TF. In practice, to each TF correspond an innite
number of SS realizations. The dimension of a SS model is the dimension of
the space from which the state vector (also known as state) x comes. In our
example, x comes from a 2-D space.
The simulation diagram approach shown here is not the only simulation
diagram approach for obtaining the SS realization. Also, a simulation diagram
approach is not the only approach for obtaining a SS realization.
January 2, 2012 159 of 218 Ramprasad Potluri
EE250 (Control Systems Analysis) IITK Lecture Notes
Power amplier

+
Integral controller

+
Summator

+
Signal inversion
D
C
m
o
t
o
r
Tachogenerator
or potentiometer
Desired output
Figure 30.5: An example of an op-amp circuit for controlling a DC motor.
The above diagram is called a simulation diagram because it can be built
using hardware and simulates the behavior of the TF G(s) and of the corre-
sponding differential equation.
Simulation diagrams can be implemented for LTI systems using only opera-
tional ampliers, capacitors, resistors, and, of course, power supplies. Indeed,
every LTI state-space equation can be implemented using an op-amp circuit
[29, page 16].
A simulation diagram represents an analog computer. Analog computers
for LTI systems implement the operations of integration, summation, and am-
plication. Analog computers used to be used for simulation before the days
of simulation on digital computers.
An op-amp circuit can be built for controlling the speed or position of the
shaft of a DC motor as shown in Figure 30.5.
In this gure, each of the op-amp-based blocks has been built in a inverting
feedback conguration. We need to be aware that this conguration introduces
a phase shift of 180

. An alternative is to build the op-amp-based blocks using


a non-inverting feedback conguration. The integral controller has the transfer
function
1
sCR
. The above gure does not show the power supply to each op-
amp.
Why did we build the circuit using op-amps? For example, a capacitor too
has the transfer function of an integrator. Then why not use a simple capacitor
in place of an op-amp based implementation of an integrator? Note that, as
mentioned in Lecture 1, each block in a block diagram needs to be non-loading.
Only then are our manipulations with block diagrams, the way we have been
doing them so far, valid. An op-amp has an almost innite input impedance
and an almost zero output impedance. The rst means that an op-amp will
not load the block that preceds it in a circuit. The second means that it keeps
a minimal share of the signal (voltage) that it outputs. On the other hand, a
January 2, 2012 160 of 218 Ramprasad Potluri
EE250 (Control Systems Analysis) IITK Lecture Notes
simple capacitor, if used as replacement for an op-amp based integrator, would
load the preceding block.
Op-amps, in either inverting or non-inverting feedback conguration, can
be used to build arbitrary rational TFs.
30.2 Numerical integration of state space model
A SS model has more than one use. We can design in the SS framework a
control system for a given plant. In this sense, the SS modeling framework is
an alternative to the TF modeling framework.
Another use of the SS model is illustrated in the next section. In preparation
for that section, let us see how we can numerically integrate the differential
equation that a SS model represents.
Suppose we have the following SS model:
x = Ax + Bu
y = Cx + Du
Example 21
Which of the following two denitions of a derivative do we use in our
differential equations, and why?
x lim
t0
x(t +t) x(t)
t
or x lim
t0
x(t) x(t t)
t
The rst one is sometimes called right derivative in order to contrast with the
left derivative which is the second one. The concept of a left derivative is used
when talking about the differentiability of a function, where we say that for
the function to be differentiable at a point the left derivative needs to be equal
to the right derivative at that point. The left and right derivatives are thus
mathematical artefacts that are used mainly to talk about differentiability of
functions.
For all other purposes, the derivative is dened only in the rst manner,
and has the following two well-known physical interpretations:
(a) the slope of the function at each point, the slope being calculated by looking
ahead from the point;
(b) as estimating the value of the variable at the next time instant, given its
value at the current instant and its rate of change at the current instant:
y(t +t) = y(t) + v(t)t.
In fact, the second interpretation is actually the origin of the derivative opera-
tion [30, page 112].
The derivative as a forward-looking element is the meaning and purpose
with which it is used in control systems. We will see evidence of this statement
when we talk about derivative control.
Digital implementation of a controller is necessarily constrained by the
speed of the processor. So, t cannot be made arbitrarily small. This means
January 2, 2012 161 of 218 Ramprasad Potluri
EE250 (Control Systems Analysis) IITK Lecture Notes
that in a digital implementation of the derivative action, using the left deriva-
tive may not give the same result as does using the right derivative.
Now let us return to the SS model. Eulers approximation of the derivative
is
x
x(t +t) x(t)
t
, for small t.
Using Eulers approximation, we can write the state space model as
x(t +t) x(t)
t
Ax(t) + Bu(t), for small t.
y(t) = Cx(t) + Du(t)
which can be rewritten as
x(t +t) (At + I)x(t) + Btu(t),
y(t) = Cx(t) + Du(t)
We denote by x(k) the state at the k-th instant. The k-th instant is the time kt
starting from t = 0. Then the state at the instant (k + 1)t is x(k + 1). Using
this notation, the SS model can be written as follows:
x(k + 1) = (At + I)x(k) + Btu(k),
y(k) = Cx(k) + Du(k)
In the literature, this system of equations is also written as
x
k+1
= (At + I)x
k
+ Btu
k
,
y
k
= Cx
k
+ Du
k
This system of equations is called discrete-time state-space model, and is conve-
nient for numerical integration of the continuous-time version. The numeri-
cal integration can be made sufciently accurate by reducing t. In situations
where there is a lower bound on t, there are other methods of discretizing a
continuous-time SS model that are more accurate than the one resulting from
Eulers approximation. See, for example, the chapter on ordinary differential
equations in [31].
Apart from numerical integration of the continuous-time SS model, another
use of the discrete-time version is that it can be used for the digital implemen-
tation of a controller. We design a controller, for example, using Bode plots.
We have the TF of the controller. We convert this TF into a SS model. We dis-
cretize it and program it in a microcontroller/microprocessor/DSP. We see this
process in more detail in EE380.
In the next section, we see how a discrete-time version of a SS model can be
used to numerically simulate the response of a control system to an arbitrary
input.
January 2, 2012 162 of 218 Ramprasad Potluri
Part VI
Pole-placement design using
root locus
163
Lecture 31
Unit step response of second
order TF
31.1 State-space realization (concluded): Determin-
ing the response of a transfer function to an ar-
bitrary input
MATLAB provides us the step function to plot the unit step response of an
arbitrary TF. However, if we wish to plot the reponse of the same TF to an
arbitrary input, then MATLAB does not yet have any ready-made functions.
We have the following way out.
1. Convert the TF into a SS model.
2. Discretize this model, for example, using Eulers approximation.
3. Numerically integrate this model using the chosen input.
As an example that illustrates the above three steps, consider the control
system we designed in Section 27.2.
Example 22
The plant TF was
G(s) =
10
s
_
s
10
+ 1
_
and the controller TF was
D(s) =
10
_
s
2.5
+ 1
_
2
_
s
10
+ 1
_
_
s
0.7
+ 1
_
2
_
s
40
+ 1
_
We wish to see if the following two design specs are satised by our design:
1. Sinusoidal inputs of up to 1 rad/sec to be reproduced with 2% error.
165
EE250 (Control Systems Analysis) IITK Lecture Notes
2. Sinusoidal inputs with a frequency of greater than 100 rad/sec to be atten-
uated at the output to 5% of their input value.
The m-le simul.m that uses the m-le cleanup.m (that we used earlier in
Lecture 24) implements the three steps that we listed above. We see from
gures 31.1 and 31.2 that both the specs are satised.
Problem 27
Peform the minimum needed modications in the m-le simul.m so that
this le executes successfully in GNU Octave.
Problem 28
Which of the two methods of realization that we saw in this lecture does
the MATLAB function tf2ss perform?
0 1 2 3 4 5 6 7 8 9 10
1.5
1
0.5
0
0.5
1
1.5


y
u
Figure 31.1: Results for Example 22: Response y of the control system designed
in Lecture 27 to a sinusoidal input u with = 1 rad/s, T = 0.001 s, N = 10000.
January 2, 2012 166 of 218 Ramprasad Potluri
EE250 (Control Systems Analysis) IITK Lecture Notes
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
1
0.8
0.6
0.4
0.2
0
0.2
0.4
0.6
0.8
1


y
u
Figure 31.2: Results for Example 22: Response y of the control system designed
in Lecture 27 to a sinusoidal input u with = 100 rad/s, T = 0.001 s, N =
1000.
31.2 Unit step response of standard second order TF
31.3 Appendix: MATLAB codes
% simul.m: generates the response of the CL system
% designed in Lecture 27 to a sinusoidal input.
% This file runs in MATLAB.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
clear all, close all
s = tf(s);
% Define G(s) and D(s) from Lecture 27:
G = 10/s/(s/10+1);
D = 10*(s/2.5+1)^2*(s/10+1)/(s/0.7+1)^2/(s/40+1);
% Form the closed-loop (CL) TF:
Gcl = D*G/(1+D*G);
% Extract the numerator and denominator of this
% CL TF for use with tf2ss:
[num,den] = tfdata(Gcl,v);
January 2, 2012 167 of 218 Ramprasad Potluri
EE250 (Control Systems Analysis) IITK Lecture Notes
0 0.5 1 1.5 2 2.5 3
0
0.5
1
1.5
2
2.5
t (in s)
y
(
t
)
t
se
t
sa
Figure 31.3: The unit step response of the standard second order TF. t
sa
and t
se
are respectively the actual settling time of the response and the settling time of
the envelope of the response.
January 2, 2012 168 of 218 Ramprasad Potluri
EE250 (Control Systems Analysis) IITK Lecture Notes
[n,d] = cleanup(num,den);
% Use tf2ss to convert the TF model into a state
% space (SS) model:
[A,B,C,D] = tf2ss(n,d);
% Define the step size T and the number of time
% steps N over which we wish to compute the
% sinusoidal response:
w = 1; T = 0.001; N = 10000;
% Define an identify matrix whose order is that of A.
I = eye(size(A,1),size(A,2));
% Declare and initialize variables x and y:
x(:,1) = zeros(size(A,1),1);
y(:,1) = zeros(size(C,1),1);
% Compute the sinusoidal response using the discret
% version of the SS model (we discretize using
% Eulers approximation):
for k = 1:N
u(k) = sin(w*k*T);
x(:,k+1) = (A*T + I)*x(:,k) + B*T*u(k);
y(:,k) = C*x(:,k) + D*u(k);
end
% Plot y versus t and u versus t on one plot:
t = (1:N)*T;
plot(t,y,-,t,u,--);
legend(y,u); grid
print -depsc sineresp.eps
% ord2sys.m: Plot the step response and envelopes of the 2nd
% order system seen in Lecture 7.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
close all
clear all
zeta = 0.1;
omegad = 20;
tau = 1/(zeta*omegad);
timelen = 6*tau;
numsteps= 1000;
t = linspace(0.001,timelen,numsteps);
y = 1 - exp(-zeta*omegad*t).*sin(omegad*t+acos(zeta))/sqrt(1-zeta^2);
January 2, 2012 169 of 218 Ramprasad Potluri
EE250 (Control Systems Analysis) IITK Lecture Notes
% Equations of the upper and lower envelopes:
yeu = 1 + exp(-zeta*omegad*t)/sqrt(1-zeta^2);
yel = 1 - exp(-zeta*omegad*t)/sqrt(1-zeta^2);
% Specify the x% tube:
x = 5;
xl = (1-x/100)*ones(1,numsteps);
xu = (1+x/100)*ones(1,numsteps);
plot(t,y,t,yeu,t,yel,t,xl,--,t,xu,--), grid
xlabel(t); ylabel(y(t));
January 2, 2012 170 of 218 Ramprasad Potluri
Lecture 32
Second order TF with
additional zero
32.1 Analysis of formulae developed for unit step
response of standard second order system
Figure 32.1 shows the plots.
32.2 The case of an additonal zero in a second order
TF
The m-le addzero.m plots the responses due to the additional zeros in the
second-order transfer function. This le calculates the derivative dy/dt using
the ve point numerical differentiation method given by the expression
1
f
/
(x)
f (x + 2h) + 8f (x + h) 8f (x h) + f (x 2h)
12h
1
See wikipedia.org.
171
EE250 (Control Systems Analysis) IITK Lecture Notes
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
0
50
100
t
r
*
o
m
e
g
a
n
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
0
50
100
t
p
*
o
m
e
g
a
n
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
0
0.5
1
M
p
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
0
2000
4000
t
s
*
o
m
e
g
a
n
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
0
1
2
xi
e
s
s
*
o
m
e
g
a
n
Figure 32.1: Plot of the formulae developed for the unit step response of the
standard second order system.
Note that addzero.m implements this formula without using a FOR loop.
Problem 29
Figure 32.2 shows the results from executing addzero.m. Identify the vari-
ous curves in this gure.
January 2, 2012 172 of 218 Ramprasad Potluri
EE250 (Control Systems Analysis) IITK Lecture Notes
0 0.5 1 1.5 2 2.5 3
4
2
0
2
4
6
8
Figure 32.2: Results from executing addzero.m. Can you identify each curve?
January 2, 2012 173 of 218 Ramprasad Potluri
EE250 (Control Systems Analysis) IITK Lecture Notes
Problem 30
In the example discussed in Section 4.1, we see that even though the poles
are deeper in the left half s-plane than the zero, the response is to our satisfac-
tion. We intended to revisit this example in our lectures on root locus. Here,
we revisit this example.
Are there an contradications or errors in that section?
32.3 Appendix: MATLAB codes
% allinone.m: m-file to plot tr, tp, Mp,
% ts, essr vs zeta.
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
close all
clear all
zeta = linspace(0.001,0.999,1000);
%Rise time:
tromn = (pi-acos(zeta))./sqrt(1-zeta.^2);
%tromn is the product of tr and omega_n.
% Peak time:
tpomn = pi./sqrt(1-zeta.^2);
% Peak overshoot:
Mp = exp(-pi*zeta./sqrt(1-zeta.^2));
% Settling time of envelope (x% tube):
x = 2;
tsomn = (1./zeta).*log(100./(x.*sqrt(1-zeta.^2)));
% Exact expression for ess*omega_n|ramp:
essomnr = 2*zeta;
subplot(5,1,1),
plot(zeta,tromn), ylabel(t_r*omega_n), grid
January 2, 2012 174 of 218 Ramprasad Potluri
EE250 (Control Systems Analysis) IITK Lecture Notes
subplot(5,1,2),
plot(zeta,tpomn), ylabel(t_p*omega_n), grid
subplot(5,1,3),
plot(zeta,Mp), ylabel(Mp), grid
subplot(5,1,4),
plot(zeta,tsomn), ylabel(t_s*omega_n|env),
grid,
subplot(5,1,5),
plot(zeta,essomnr), xlabel(zeta),
ylabel(ess*omega_n|ramp), grid
% addzero.m: plots the responses due to additional zeros in the
% second-order transfer function.
% The TF with the additional zero is the following:
%
% wn^2*(s+alpha)
% Gaz = ----------------------------
% alpha*(s^2+2*zeta*wn*s+wn^2)
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
clear all
close all
alpha = -5;
zeta = 0.2;
wn = 10;
tau = 1/(zeta*wn);
steps = 2500;
t = linspace(0,6*tau,steps);
% 6*tau because the transient will die out in about 4-5 tau.
% Evaluate y(t) and its envelopes yel(t) & yeh(t):
yel = 1 - exp(-zeta*wn*t)/sqrt(1-zeta^2);
yeh = 1 + exp(-zeta*wn*t)/sqrt(1-zeta^2);
ysin = sin(wn*sqrt(1-zeta^2).*t+acos(zeta));
y = 1 - exp(-zeta*wn*t)/sqrt(1-zeta^2).*ysin;
% Numerically differentiate y using the five point method
% method described at
% http://en.wikipedia.org/wiki/Numerical_differentiation
% I want to realize this formula using matrix manipulations
% alone, and not using a FOR loop. Here is how I am doing it:
yleftleft = [0,0,y(1,1:size(y,2)-2)];
yleft = [0,y(1,1:size(y,2)-1)];
yright = [y(1,2:size(y,2)),0];
yrightright = [y(1,3:size(y,2)),0,0];
January 2, 2012 175 of 218 Ramprasad Potluri
EE250 (Control Systems Analysis) IITK Lecture Notes
h = t(1,2)-t(1,1);
dybydt = (yleftleft - 8*yleft + 8*yright - yrightright)/(12*h);
% The last point of dybydt comes out to be pretty large in
% comparison to the previous points. My guess is that the first
% point should also turn out to be large for the same reason that
% the last point is large (my guess turned out to be incorrect;
% dont know why). As our dybydt was computed by prefixing two
% zeros and suffixing two zeros, the correct dybydt will be the
% one obtained by dropping the first 2 and the last 2 points. The
% slight gap at the origin resulting from this will not be so
% visible if we take sufficiently large number of steps. The
% following commands implements these thoughts:
tnet = t(1,3:size(t,2)-2);
ynet = y(1,3:size(y,2)-2);
yelnet = yel(1,3:size(yel,2)-2);
yehnet = yeh(1,3:size(yeh,2)-2);
dybydtnet = dybydt(1,3:size(dybydt,2)-2);
yaznet = ynet+dybydtnet/alpha;
% Specify the x% tube:
x = 5;
xl = (1-x/100)*ones(1,steps-4);
xu = (1+x/100)*ones(1,steps-4);
realpartofcomplexpole = -zeta*wn
realzero = -alpha
% Plot the y(t), yaz(t), envelopes of y(t), and x% tube:
plot(tnet,ynet,tnet,dybydtnet,tnet,yaznet,tnet,yelnet,tnet,yehnet,tnet,xl,tnet,xu),
grid
legend(ynet,dybydtnet,yaznet,yelnet,yehnet,xl,xu)
% The default grid created by GNU Octave may not be dense enough
% for our purpose. We can have control over the location of the
% xticks and yticks as shown by the following code. If these
% commands do not work in MATLAB, then they can be commented out
% and analogous commands can be written for MATLAB.
% set(gca(),"xtick", (linspace(min(tnet),max(tnet),10)));
% all = [ynet,yelnet,yehnet,yaznet];
% set(gca(),"ytick", linspace(min(all),max(all),10));
% How can we achieve a similar control over the xticks and yticks
% in MATLAB?
% Finally, I tried to increase the thickness of the lines using
% the following command:
%
January 2, 2012 176 of 218 Ramprasad Potluri
EE250 (Control Systems Analysis) IITK Lecture Notes
% set(gca,"linewidth",1)
%
% This command is returning the message:
% warning: set: invalid property linewidth
% Maybe "linewidth" has not yet been implemented in Octave.
print -depsc addzero.eps
January 2, 2012 177 of 218 Ramprasad Potluri
EE250 (Control Systems Analysis) IITK Lecture Notes
January 2, 2012 178 of 218 Ramprasad Potluri
Lecture 33
Second order TF with
additional pole; recipe for
pole-placement
33.1 Additional pole in second order TF
179
EE250 (Control Systems Analysis) IITK Lecture Notes
The m-le addpole.m helps us verify the assertions made in this section.
33.2 Recipe for placement of CL poles in a second
order TF
January 2, 2012 180 of 218 Ramprasad Potluri
EE250 (Control Systems Analysis) IITK Lecture Notes
+
G(s)
K

+
K G(s)

Figure 33.1: Two block diagrams for which exist software support for the de-
termination of root loci.
33.3 Root locus: What it is
For the CL systems shown in Fig 37.1, the root locus is the set of values of s
for which 1 +KG(s) = 0 is satised as the real parameter K varies from 0 to
[11, page 295]. Alternatively, the root locus is the graph of all possible roots of
1 + KG(s) = 0 relative to parameter K . . . [11, page 290].
The MATLAB and GNU Octave function rlocus helps plot root loci. MAT-
LABs rlocus function works with the left hand block diagram of Figure 37.1,
while GNU Octaves rlocus function works with the right hand block dia-
gram.
Example 23
Let G(s) = 1/(s(s + 2)). Determine the root locus.
33.4 Appendix: MATLAB codes
% addpole.m: Helps see the effect an additional pole
% in the standard second order TF.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
clear all
close all
wn = 10;
alpha = 1;
zeta = 0.2;
Gap = tf(wn^2*alpha,conv([1,alpha],[1,2*zeta*wn,wn^2]));
realpartofcomplexpole = -zeta*wn
realpole = -alpha
[gap,tap] = step(Gap);
[g,t] = step(tf(wn^2,[1,2*zeta*wn,wn^2]));
plot(tap,gap,*,t,g), grid on, legend(gap,g)
January 2, 2012 181 of 218 Ramprasad Potluri
EE250 (Control Systems Analysis) IITK Lecture Notes
January 2, 2012 182 of 218 Ramprasad Potluri
Lecture 34
Root locus (Part 1)
For
G(s) =

m
i=1
(s + z
i
)

n
i=1
(s + p
i
)
, where m n,
the equation that describes the root locus is the characteristic equation
1 + K

m
i=1
(s + z
i
)

n
i=1
(s + p
i
)
= 0 (34.1)
stated the magnitude criterion (MC) and phase criterion (PC).
Note that all the s that satisfy the PC also satisfy the MC in the sense that
for each s that satises the PC, we can determine a real non-negative K from
the MC.
On the other hand, not all points s that satisfy the MC satisfy the PC.
G(s) shown above has m nite zeros and n m zeros at innity. This is
because the TF approaches zero as s approaches innity.
34.1 Rules of sketching root locus
Root Locus Rule 1 The RL has n branches.
Root Locus Rule 2 The RL starts at K = 0 at the poles and ends at K = on the m
zeros, and n m of its branches end at .
Root Locus Rule 3 On the real axis, the RL exists only on those segments to the
right of which the sum of the number of poles and the number of zeros is odd.
34.2 Appendix: An alternative way to see Rule 2
Chirag Gupta (Y9186) showed the following way of arriving at Rule 2.
Rewrite (34.1) as

n
i=1
(s + p
i
)

m
i=1
(s + z
i
)
= K
We see that when K = 0, the roots of (34.1) are at the open-loop poles.
183
EE250 (Control Systems Analysis) IITK Lecture Notes
Rewrite (34.1) as

m
i=1
(s + z
i
)

n
i=1
(s + p
i
)
=
1
K
We see that when K = , the roots of (34.1) are at the open-loop zeros.
This way seems to be more convincing than simply saying that Rule 2 fol-
lows from (34.1).
January 2, 2012 184 of 218 Ramprasad Potluri
Lecture 35
Root locus (Part 2)
Root Locus Rule 4 The RL is symmetric about the real axis.
Root Locus Rule 5 As K , n m branches of the RL go asymptotically along
rays that emanate from the centroid s = =

n
i=1
p
i

m
i=1
z
i
nm
.
Root Locus Rule 6 The angles that these rays form with the real axis are
180

(2q+1)
nm
, q = 0, 1, 2, . . ..
185
EE250 (Control Systems Analysis) IITK Lecture Notes
January 2, 2012 186 of 218 Ramprasad Potluri
Lecture 36
Root locus (Part 3)
36.1 Roots of multiplicity greater than 1
Consider the root locus shown in Figure 36.1. The point where the root locus
breaks away fromthe real axis is called the break away point, and where it breaks
in to the real axis is called the break in point. While this is the meaning which
much of the literature associates with these two terms, a root locus can also
break away or break in at points not on the real axis as shown in Figure 36.2.
Note that where the root locus breaks away, or where it breaks in, the char-
acteristic equation 1 + KG(s) = 0 has roots of multiplicity greater than 1, for
the appropriate value of K. Therefore, we are interested in nding such roots.
Root Locus Rule 7 The roots of multiplicity greater than one occur on the RL where
s satises dG/ds = 0, or, equivalently, dK/ds = 0.
To determine the multiplicity of a root of the characteristic equation 1 +
KG(s) = 0, we can utilize the following observation. Suppose s = r is a root
of 1 + KG(s) of multiplicity 2. Then,
1 + KG(s) can be written as (s + r)
2
M
0
(s), where M
0
(s) does not contain
the factor s + r.
d1+KG(s)
ds
= K
dG
ds
; dG/ds can be written as (s + r)
1
M
1
(s). Here, M
1
(s)
does not contain the factor s + r.
d
2
1+KG(s)
ds
2
= K
d
2
G
ds
2
; d
2
G/ds
2
can be written as (s + r)
0
M
1
(s).
Thus, we see that both 1 + KG(s) and dG/ds evaluate to zero at s = r,
and that d
2
G/ds
2
does not evaluate to zero at s = r.
This reasoning shows that if s = r is a root of multiplicity q of 1 + KG(s)
for some value of K (0, ). Then, at s = r,
dG
ds
has q 1 roots,
d
2
G
ds
2
has q 2
roots, ,
d
(q1)
G
ds
(q1)
has 1 root, and
d
q
G
ds
q
has no roots.
We can use the above result to determine the roots of the characteristic
equation of multiplicity greater than 1 as follows.
Step 1 Determine the roots of dG/ds by setting dG/ds = 0.
187
EE250 (Control Systems Analysis) IITK Lecture Notes
9 8 7 6 5 4 3 2 1 0 1
2
1.5
1
0.5
0
0.5
1
1.5
2
Root Locus
Real Axis
I
m
a
g
i
n
a
r
y

A
x
i
s
Break in point
Break away point
Figure 36.1: A root locus with break away and break in points on the real axis.
Step 2 Plug each of these roots into 1 + KG(s) = 0 and identify the root that
results in a K that is real and non-negative. Suppose s = s is such a root.
Step 3 Evaluate d
i
G/ds
i
at s = s beginning i = 2 until we nd an i for which
this derivative does not go to zero at s = s. Let this value of i be

i.
Step 4 The characteristic equation has

i roots at s = s.
An alternative to the algorithm shown in the above steps is to work with
dK/ds instead of with dG/ds. The justication for this alternative is as follows.
Suppose G(s) is of the form N(s)/D(s). Then dG/ds =
N
/
DND
/
D
2
, where N
/
=
dN/ds and D
/
= dD/ds. Step 1 above is equivalent to solving N
/
DND
/
= 0.
On the other hand, the characteristic equation can be written as K = 1/G =
D/N. Setting dK/ds = 0 gives N
/
D ND
/
= 0. Thus, both dG/ds = 0 and
dK/ds = 0 are equivalent to N
/
D ND
/
= 0.
Problem 31
1. In the above algorithm, can we also use d
i
K/ds
i
instead of d
i
G/ds
i
, for i =
2, . . . ,

i?
2. In the rst algorithm, in working with dG/ds and higher derivates, our as-
sumption is that K is independent of s. On the other hand, in the alternative
algorithm, we are working with dK/ds, thus seemingly contradicting the
assumption. Explain.
January 2, 2012 188 of 218 Ramprasad Potluri
EE250 (Control Systems Analysis) IITK Lecture Notes
36.2 Angles of departure and angles of arrival
Root Locus Rule 8 To determine the angle of departure from a pole, use the PC along
with a point s = s that is innitesimally close to the pole the angle of departure from
which needs to be calculated.
To determine the angle of arrival at a zero, use the PC along with a point s = s that
is innitesimally close to the zero the angle of arrival at which needs to be calculated.
We can use the idea presented in Example 24 to determine the angle of
departure of the RL of 1 +
K
s(s+2)
= 0 from the two roots that are at s = 1.
Example 24
Demonstrate that the locus of the roots of the equation 1 +
K
s(s+2)
= 0 begin-
ning from the roots s = 1 is the same as the locus of the roots of the equation
1 +
K
(s+1)
2
= 0 for K [0, ).
Consider the characteristic equation 1 +
K
s(s+2)
= 0, which is equivalent to
the equation s
2
+ 2s + K = 0, which is equivalent to s
2
+ 2s + 1 + K 1 = 0,
8 6 4 2 0 2 4 6
8
6
4
2
0
2
4
6
8
Root Locus of 1/(s(s+2)(s
2
+2s+5))
Real Axis
I
m
a
g
i
n
a
r
y

A
x
i
s
Break away points
Figure 36.2: A root locus with break away points not only on the real axis.
January 2, 2012 189 of 218 Ramprasad Potluri
EE250 (Control Systems Analysis) IITK Lecture Notes
which is equivalent to 1 +
K1
(s+1)
2
= 0.
Therefore, both the equations 1 +
K
s(s+2)
= 0 and 1 +
K1
(s+1)
2
= 0 have the
same RL even when K is varied only on a subset of [0, ).
Therefore, the RL of 1 +
K
s(s+2)
= 0, K [1, ), and the RL of 1 +

K
(s+1)
2
= 0,

K(= K 1) [0, ), are the same.


The above method can be applied to any other characteristic equation too.
If 1 + K

m
i=1
(s+z
i
)

n
i=1
(s+p
i
)
= 0 has the roots p
1
, p
2
, . . . , p
n
for some value K
0
of K, then
the RL of 1 + K

m
i=1
(s+z
i
)

n
i=1
(s+p
i
)
= 0, K [K
0
, ), and the RL of 1 +

K

m
i=1
(s+z
i
)

n
i=1
(s+ p
i
)
= 0,
where

K(= K K
0
) [0, ), are the same.
Using this idea, we see that the angle of departure of the root locus from
the root s = 1 can be calculated from the phase criterion as
2/ s + 1 = 180

(2q + 1)
where, s = s is a point that is innitesimally close to s = 1. We can set q = 0
as this RL has only two branches that emanate from s = 1, and 180

is
enough to calculate them.
Thus, / s + 1 = 90

are the angles of departure of the RL from s = 1.


This conclusion leads to the fact that a RL that departs from s = 1 perpendic-
ular to the real axis is the only valid RL of 1 +
K
s(s+2)
= 0.
This completes the example started in Section 34.1.
January 2, 2012 190 of 218 Ramprasad Potluri
Lecture 37
Root contours
Consider, for example, the equation
s
3
+ s
2
+ s + = 0 (37.1)
We wish to study how the roots of this equation behave with change in
(0, ) and (0, ).
We could write (37.1) as
1 +
s
s
3
+ s
2
+
= 0 (37.2)
and determine the roots of s
3
+ s
2
+ for various values of , thus generating
the locus of the roots of s
3
+ s
2
+ , as shown in the upper subgure of Fig-
ure 37.1. Then, keeping xed at a certain value, we could generate the root
locus of (37.2). The upper subgure of Figure 37.2 shows a collection of root
loci of (37.2) generated in this manner. Such a collection is called root contour of
(37.2).
We could write (37.1) also as
1 +

s
3
+ s
2
+ s
= 0 (37.3)
and determine the roots of s
3
+ s
2
+ s for various values of , thus generating
the locus of the roots of s
3
+ s
2
+ s, as shown in the lower subgure of Fig-
ure 37.1. Then, keeping xed at a certain value, we could generate the root
locus of (37.3). The lower subgure of Figure 37.2 shows a collection of root
loci of (37.3) generated in this manner. This collection is the root contour of
(37.3).
Problem 32
What are some possible applications of root contours?
Problem 33
See Figure 37.2. It seems that the root contour of the upper subgure shows
that even though the roots of (37.1) are unstable for large values of , they are
stabilized by a corresponding increment in the value of . On the other hand,
191
EE250 (Control Systems Analysis) IITK Lecture Notes
5 4 3 2 1 0 1 2
4
3
2
1
0
1
2
3
4
rlocus(tf(1,[1,1,0,0]))
Real Axis
I
m
a
g
i
n
a
r
y

A
x
i
s
1.2 1 0.8 0.6 0.4 0.2 0 0.2
0.8
0.6
0.4
0.2
0
0.2
0.4
0.6
0.8
rlocus(tf([1,0],[1,1,0,0]))
Real Axis
I
m
a
g
i
n
a
r
y

A
x
i
s
Figure 37.1: The locus of the roots of s
3
+ s
2
+ (upper subgure), and the
locus of the roots of s
3
+ s
2
+ s (lower subgure).
January 2, 2012 192 of 218 Ramprasad Potluri
EE250 (Control Systems Analysis) IITK Lecture Notes
5 4 3 2 1 0 1 2
15
10
5
0
5
10
15
rlocus(tf(1,[1,1,0,0])); hold; for alpha = 1:11, rlocus(tf([1,0],[1,1,0,alpha])); end;
Real Axis
I
m
a
g
i
n
a
r
y

A
x
i
s
10 8 6 4 2 0 2 4 6 8 10
10
8
6
4
2
0
2
4
6
8
10
rlocus(tf([1,0],[1,1,0,0])); hold; for beta = 0.1:21, rlocus(tf(1,[1,1,beta,0])); end;
Real Axis
I
m
a
g
i
n
a
r
y

A
x
i
s
Figure 37.2: The root contour (upper subgure) of (37.1) rewritten as (37.2),
and the root contour (lower subgure) of (37.1) rewritten as (37.3).
January 2, 2012 193 of 218 Ramprasad Potluri
EE250 (Control Systems Analysis) IITK Lecture Notes
the root locus of the lower subgure seems to show that even for large values
of , a slight increment in the value of could make the complex conjugate
pole pair unstable.
There probably is some error in this observation as both the root contours
eventually represent the same equation (37.1). Find this error.
January 2, 2012 194 of 218 Ramprasad Potluri
Lecture 38
Design using root locus
Consider the control system of Figure 38.1. Discuss ways to improve its speed
of response while maintaining its overshoot at a value determined by the
damping ratio of = 0.5.
38.1 Appendix: TA09
Solve the problems of TA06 using root locus based design.
Demonstration of the use of MATLABs SISOTOOL for solving problem 1
of TA06 using root locus.
Y
ref
(s)
+
K
1
s(s + 1)(s/5 + 1)
U(s) Y(s)

Figure 38.1: A control system whose speed of response we wish to improve


while maintaining the damping ratio at = 0.5.
195
EE250 (Control Systems Analysis) IITK Lecture Notes
January 2, 2012 196 of 218 Ramprasad Potluri
Part VII
Addressing nonlinearities
197
Lecture 39
Stability of nonlinear control
systems: Circle criterion
Assume that G(s) in Figure 39.1 has no poles in the RHP and that the nonlin-
earity f is sector-bounded as dened in Figure 39.2. A sufcient condition for
input-output (from r
1
, r
2
to e
1
, e
2
, y
1
, y
2
) stability of the system in Figure 39.1
is that the polar plot (i.e., G(j), 0 ) does not enter or enclose the
circle that lies in the interval [1/k
1
, 1/k
2
] with center on the real axis in the
Nyquist plane (see Figure 39.3).
When the loop has nonlinearities in the forward path, instead of in the
feedback path as in Figure 39.1, we can use the block diagram transformations
shown in Figure 39.4 and then apply the circle criterion.
G(s)
f ()

r
1
r
2
e
1
e
2
y
2
y
1
Figure 39.1: Block diagram for the circle criterion[32].
199
EE250 (Control Systems Analysis) IITK Lecture Notes
f (y)
k
2
y
k
1
y
y
0
Figure 39.2: A sector-bounded nonlinearity[32]. For such a nonlinearity, the
following holds: f (0) = 0, k
1
f (y)/y k
2
for y ,= 0.
Re

1
k
1

1
k
2
G(j)
Im
0
Figure 39.3: Illustration of the circle criterion. The circles center is on the real
axis and radius equals
1/k
1
1/k
2
2
.
January 2, 2012 200 of 218 Ramprasad Potluri
EE250 (Control Systems Analysis) IITK Lecture Notes
Figure 39.4: Block diagram transformations for the circle criterion[32].
January 2, 2012 201 of 218 Ramprasad Potluri
EE250 (Control Systems Analysis) IITK Lecture Notes
January 2, 2012 202 of 218 Ramprasad Potluri
Lecture 40
Dealing with plant input
constraints: An anti-windup
scheme
The problem we are interested in this lecture is as follows. In designing con-
trollers in this course, we have assumed that the plant behaves more or less lin-
early. However, all real-world plants are nonlinear to lesser or greater extent.
In some cases, the performance we see with our linear design and simulation
may not be realizable when we deploy the controller on the actual plant. In
such cases, we want to have techniques that help us design controllers for non-
linear plants. Such techniques are the subject of a course on nonlinear control.
In our course, we adopt the simpler path of designing controllers assuming
the plants are linear, and then modifying the control architecture to do the best
we can with the linear controller. To simplify the discussion, we focus our
attention on only a saturation nonlinearity.
Figure 40.1 shows one possible solution. C(s) is a biproper transfer func-
tion. While [22] recommends selecting c

such that C(s) = c

+ C(s), where
C(s) is a strictly proper transfer function, the results of the simulink le
test1.mdl show seem to suggest that c

can be any constant.


r(t)
+
e(t)
+
c
Lim
u(t)
Lim
[C(s)]
1
[c

]
1

G(s)
u(t) y(t)

Figure 40.1: This anti-wind-up scheme is taken from [22]. The controller C(s)
needs to be a biproper transfer function.
203
EE250 (Control Systems Analysis) IITK Lecture Notes
January 2, 2012 204 of 218 Ramprasad Potluri
Part VIII
PID Control
205
Lecture 41
PID Controllers
207
EE250 (Control Systems Analysis) IITK Lecture Notes
January 2, 2012 208 of 218 Ramprasad Potluri
Lecture 42
Ziegler-Nichols tuning of PID
controllers
42.1 What is controller tuning?
Figure 42.1 shows PID control of a plant.
If a mathematical model of the plant can be derived, then it is possible to
apply various design techniques for determining parameters of the controller
that will meet the transient and steady-state specications of the closed-loop
(CL) system. However, if the plant is so complicated that its mathematical
model cannot be easily obtained, then an analytical approach to the design of a
PID controller is not possible. Then we must resort to experimental approaches
the tuning of PID controllers.[33].
The process of selecting the controller parameters to meet given perfor-
mance specications is known as controller tuning.[33].
In practice, tuning is used in the following three situations:
1. We have designed a controller and analyzed its performance on paper and
using simulation tools such as Matlab. We wish to deploy this controller on
the actual plant. We nd that this controller does not give us the kind of
behavior in practice that it gave in simulation. The design has only brought
us roughly near what we want. Tuning of the parameters of the controller is
needed to obtain the behavior that we saw in simulation.
2. The plant model may not be known; so we may not have designed a con-
troller. We may use on-line estimation and tuning to stabilize the CL system.
3. We know that the plant belongs to a class of plants, and that for these plants
a certain kind of controller will work. So, we bypass the design stage and
go straight to tuning for a plant in this class. This is the situation that is
addressed by the two Ziegler-Nichols tuning (ZNT) techniques.
42.2 What the two ZNT methods do
The design specications for both the ZNT methods is quarter amplitude decay
(QAD) [34]. What this means is that the tuned controller will impart the CL
209
EE250 (Control Systems Analysis) IITK Lecture Notes
r +
k
p
_
1 +
1
T
I
s
+
T
D
s
s + 1
_
Plant
u
y

Figure 42.1: The CL system. The ZNT methods help tune k


p
, T
I
, T
D
. The time
constant has two purposes. Firstly, it makes implementing the derivative
controller possible. Secondly, it helps create a low pass lter for high frequency
noise. is selected to be between 0.1T
D
and 0.2T
D
[22, page 161].
unit step response a second overshoot whose ratio to the rst overshoot is 25%
[11, page 240, Figure 4.14]
1
.
The ZNT rules suggest a set of k
p
, T
I
, and T
D
that will give a stable oper-
ation of the system. However, the resulting system may exhibit a large maxi-
mum overshoot in the step response, which is unacceptable. In such a case we
need a series of ne tunings until an acceptable result is obtained. In fact, the
ZNT tuning rules give an educated guess for the parameter values and provide
a starting point for ne tuning, rather than giving the nal settings for k
p
, T
I
and T
D
. [33].
The rst method is a time-domain method, while the second is a frequency
domain method[34]. In the remainder of this section, we will describe these
methods based on [33].
Though [22, page 162] only says that the second method is valid only for
open-loop stable plants, we can see in the following that, as an S curve can
be obtained for only such plants, the rst method too is valid only for such
plants.
42.3 First method
This method applies to plants whose step response looks approximately like
an S.
Step 1: Obtain the unit step response of the open-loop (OL) plant as shown in
Figure 42.2.
Step 2: Determine T and L as shown, by drawing a tangent as shown to the
step response through the point of inexion. Alternatively draw a tangent
to this curve of maximum slope.
Step 3: The approximate transfer function (TF) of the OL plant is
(s)
U(s)
=
Ke
Ls
Ts + 1
Step 4: Tune the PID controller parameters according to Table 42.1.
1
Interestingly, the fth edition of this book does not have a chapter on ZNT.
January 2, 2012 210 of 218 Ramprasad Potluri
EE250 (Control Systems Analysis) IITK Lecture Notes
L T
Point of inexion
K
U
n
i
t
s
t
e
p
r
e
s
p
o
n
s
e
o
f
O
L
s
y
s
t
e
m
0
t
Figure 42.2: Unit step response of the plant is needed for the rst ZNT method.
This response is also known as the reaction curve of the plant. As the rst ZNT
method uses these curves, the rst method is also known as reaction curve
method. See [22, page 167] for an alternative way of obtaining the reaction
curve.
Table 42.1: ZNT rules for the First ZNT method [33, 34].
Type of controller k
p
T
i
T
D
P
T
LK
0
PI
0.9T
LK
L
0.3
0
PID
1.2T
LK
2L 0.5L
January 2, 2012 211 of 218 Ramprasad Potluri
EE250 (Control Systems Analysis) IITK Lecture Notes
Table 42.2: ZNT rules for the Second ZNT method [33, 34].
Type of controller k
p
T
i
T
D
P 0.5k
cr
0
PI 0.45k
cr
(1/1.2)P
cr
0
PID 0.6k
cr
0.5P
cr
0.125P
cr
42.4 Second method
This method is also called the ultimate gain method. This method applies to
plants that exhibit sustained oscillations in CL under proportional control for
some value of k
p
> 0.
Step 1: Form the CL system with k
p
> 0, T
I
= , and T
D
= 0.
Step 2: Apply a step input to the CL system and observe its response.
Step 3: With the step input on, increase the value of k
p
from 0 to some value
k
cr
(called the critical gain or ultimate gain) at which the CL system will
exhibit sustained oscillations.
Step 4: Determine the period P
cr
of these oscillations.
Step 5: Tune the PID controller parameters according to Table 42.2.
Example 25
Take the plant transfer function as 1/(s +1)
3
, but assuming that you do not
know what it is, use the ultimate gain method to tune the three controllers.
The results are shown in Figure 42.3
Problem 34
Consider the rst of the two simulink les that I gave you,
goodwin_ex_ultimate_gain.mdl and goodwin_ex_reaction_curve.mdl.
Theoretically determine the value of the critical gain, the value of the critical
period, and the values of the closed-loop poles corresponding to this critical
period.
42.5 Appendix: Further reading
Chapter 6 of [22] and the works by Karl Astrom are recommended for further
reading on PID control, including tuning methods.
January 2, 2012 212 of 218 Ramprasad Potluri
EE250 (Control Systems Analysis) IITK Lecture Notes
0 2 4 6 8 10 12 14 16 18 20
0
1
2
Output from loop to identify Kc
0 2 4 6 8 10 12 14 16 18 20
0
1
2
Output from loop with Pcontroller
0 2 4 6 8 10 12 14 16 18 20
0
1
2
Output from loop with PIcontroller
0 2 4 6 8 10 12 14 16 18 20
0
1
2
Time
Output from loop with PID controller
Figure 42.3: Results from tuning using the ultimate gain method.
January 2, 2012 213 of 218 Ramprasad Potluri
EE250 (Control Systems Analysis) IITK Lecture Notes
January 2, 2012 214 of 218 Ramprasad Potluri
Bibliography
[1] Lalit mestha [people in control]. Control Systems Magazine, IEEE, 30(6):38
41, December 2010.
[2] Eric Paljug and Xiaoping Yun. Experimental study of two robot arms ma-
nipulating large objects. IEEE Transactions on Control Systems Technology,
3(2):177188, June 1995.
[3] Dong Sun, James K. Mills, and Yunhui Liu. Position control of robot ma-
nipulators manipulating a exible payload. The International Journal of
Robotics Research, 18(3):319 332, March 1999.
[4] H. Osumi and T. Arai. Cooperative control between two position-
controlled manipulators. In Proceedings of the IEEE International Conference
on Robotics and Automation, volume 2, pages 15091514, 1994.
[5] M. Uchiyama, N. Lwasawa, and K. Hakomori. Hybrid position/force
control for coordination of a two-arm robot. In Proceedings of IEEE In-
ternational Conference on Robotics and Automation, volume 4, pages 1242
1247, 1987.
[6] Tamer Basar. Preface. In Tamer Basar, editor, Con-
trol Theory: Twenty-Five Seminal Papers (1932-1981).
Wiley-IEEE Press, 2000. This chapter is available at
http://as.wiley.com/WileyCDA/WileyTitle/productCd-0780360214.html.
[7] Christopher Bissell. A history of automatic control. In Shimon Y. Nof,
editor, Springer handbook of automation, Springer handbook series (LXXVI).
Springer Verlag, Heidelberg, Germany, 2009. This chapter is available on
the web through a search using the authors name and the title of the
book.
[8] Harold S. Black. Inventing the negative feedback amplier. IEEE Spec-
trum, pages 55 60, December 1977.
[9] David A. Mindell. Opening blacks box: Rethinking feedbacks
myth of origin. Technology and Culture, 41(3):405 434, July 2000.
http://www.jstor.org/stable/25147536.
[10] Katsuhiko Ogata. Modern Control Engineering. Prentice-Hall, Inc., 2
nd
edi-
tion, 1990. Later editions available in India.
[11] Gene F. Franklin, J. David Powell, and Abbas Emami-Naeini. Feedback
Control of Dynamic Systems. Pearson Education, fourth edition, 2002.
215
EE250 (Control Systems Analysis) IITK Lecture Notes
[12] William G. Vogt and Mohamed I. Younis. Straight-line approximations
for phase-angle plots. IEEE Tranasactions on Education, pages 249 252,
December 1968.
[13] Jr. Thomas F. Schubert. A quantitative comparison of three bode straight-
line phase approximations for second-order, underdamped systems. IEEE
Tranasactions on Education, 40(2):135 138, May 1997.
[14] Rodger E. Ziemer, William H. Tranter, and D. R. Fannin. Signals and Sys-
tems: Continuous and Discrete. Prentice Hall, fourth edition, 1998.
[15] Issac M. Horowitz. Synthesis of Feedback Systems. Academic Press Inc.,
1963.
[16] Madan Gopal. Control Systems Principles and Design. Tata McGraw-Hill,
3
rd
edition, 2008.
[17] Thomas Kailath. Linear Systems. Prentice-Hall, Inc., 1980.
[18] Alan V. Oppenheim and Alan S. Willsky. Signals and Systems. Prentice
Hall of India, 2
nd
edition, 1997.
[19] Hubert M. James, Nathaniel B. Nichols, and Ralph S. Phillips, editors. The-
ory of servomechanisms. McGraw-Hill Book Company, 1947.
[20] L.A. MacColl. Fundamental theory of servomechanisms. Van Nostrand,
Princeton, NJ, USA, 1945.
[21] K.J. Astrom. Regeneration Theory: H. Nyquist. In Tamer Basar, editor,
Control Theory: Twenty-Five Seminal Papers (1932-1981). Wiley-IEEE Press,
2000.
[22] Graham C. Goodwin, Stefan F. Graebe, and Mario E. Salgado. Control
System Design. Prentice-Hall, 2001.
[23] Benjamin C. Kuo. Automatic Control Systems. Prentice-Hall, 7
th
edition,
1995.
[24] Farid Golnaraghi and Benjamin C. Kuo. Automatic Control System. John
Wiley & Sons, Inc., 2010.
[25] Gene F. Franklin, J. David Powell, and Abbas Emami-Naeini. Feedback
Control of Dynamic Systems. Pearson Education, fth edition, 2006.
[26] Paul J. Nahin. Behind the Laplace transform. IEEE Spectrum, pages 60
60, March 1991.
[27] RamP. Kanwal. Generalized functions: theory and technique. Academic press,
Inc. (London) Ltd., 1983.
[28] Kent H. Lundberg, Haynes R. Miller, and David L. Trumper. Initial con-
ditions, generalized functions, and the Laplace transform: Troubles at the
origin. IEEE Control Systems Magazine, pages 22 35, February 2007.
[29] Chi-Tsong Chen. Linear system theory and design. Oxford University Press,
Inc., 3
rd
edition, 1999.
January 2, 2012 216 of 218 Ramprasad Potluri
EE250 (Control Systems Analysis) IITK Lecture Notes
[30] Feynman, Leighton, and Sands. The Feynmann Lectures on Physics. Narosa,
India, 2003. Copyright c _1963 by Addison-Wesley Publishing Company,
Inc.
[31] Cleve Moler. Numerical Computing with MATLAB. Society for Industrial
and Applied Mathematics, 2004. The electronic version of this book can be
downloaded from http://www.mathworks.com/moler/chapters.html.
[32] Torkel Glad and Lennart Ljung. Control Theory: Multivariable and Nonlinear
methods. Taylor & Francis, 2000.
[33] Katsuhiko Ogata. Modern Control Engineering. Pearson Education, fourth
edition, 2002. Available in India.
[34] Tore Hgglund and Karl J. strm. Automatic tuning of PID controllers.
In William S. Levine, editor, The Control Handbook, pages 817 826. CRC
Press LLC, 1996.
January 2, 2012 217 of 218 Ramprasad Potluri
EE250 (Control Systems Analysis) IITK Lecture Notes
January 2, 2012 218 of 218 Ramprasad Potluri

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