Вы находитесь на странице: 1из 206

Lecture notes for EE250

(Control Systems Analysis)


Ramprasad Potluri
Department of Electrical Engineering, IIT Kanpur
March 30, 2011
EE250 (Control Systems Analysis) IITK Lecture Notes
March 30, 2011 ii of 190 Ramprasad Potluri
Contents
Preface xi
Notation xv
1 Introduction to the course 1
1.1 About the title of the course . . . . . . . . . . . . . . . . . . . . . 1
1.2 Denition of negative feedback control . . . . . . . . . . . . . . 1
1.3 Examples of control systems . . . . . . . . . . . . . . . . . . . . . 3
1.4 Appendix: History of control systems . . . . . . . . . . . . . . . 4
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 . . . . . . . . . . . . . . . . . . . . . . . . . 16
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 23
4.1 An example of design in the classical control domain . . . . . . 23
4.2 Rules of block diagram algebra . . . . . . . . . . . . . . . . . . . 24
iii
EE250 (Control Systems Analysis) IITK Lecture Notes
4.3 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
4.4 Appendix: A little more on state-space theory . . . . . . . . . . . 28
4.5 Appendix: Similarities and differences between classical and LTI
state-space control . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
5 Signal ow graphs 29
5.1 Denitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
5.2 SFG Algebra . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
5.3 Appendix: Usage of these terms . . . . . . . . . . . . . . . . . . . 32
6 Masons gain formula, properties desired from a control system 33
6.1 Masons gain formula . . . . . . . . . . . . . . . . . . . . . . . . . 33
6.2 A note on loop gain . . . . . . . . . . . . . . . . . . . . . . . . . . 34
6.3 Properties desired from a control system . . . . . . . . . . . . . . 35
7 Virtues of control systems: Disturbance rejection 37
8 Virtues of control systems: Improvement in performance and over-
coming deadzone 41
8.1 Improvement in speed of response . . . . . . . . . . . . . . . . . 41
8.2 Command feedforward . . . . . . . . . . . . . . . . . . . . . . . 43
9 Frequency response 45
9.1 Denition of Frequency Response . . . . . . . . . . . . . . . . . . 45
9.2 Problem statement . . . . . . . . . . . . . . . . . . . . . . . . . . 45
9.3 Solution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
9.4 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
9.5 Caution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
9.6 Appendix . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
10 Bode plots (Part 1) 49
10.1 Uses of frequency response in control systems . . . . . . . . . . 49
10.2 Convention in constructing Bode plots . . . . . . . . . . . . . . . 50
10.3 Types of Bode plots . . . . . . . . . . . . . . . . . . . . . . . . . . 52
10.4 Appendix: Angles in MATLAB . . . . . . . . . . . . . . . . . . . 53
March 30, 2011 iv of 190 Ramprasad Potluri
EE250 (Control Systems Analysis) IITK Lecture Notes
10.5 Appendix: Angles in GNU Octave . . . . . . . . . . . . . . . . . 53
10.6 Appendix: Examples of departure of MATLAB fromthe conven-
tion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
11 Bode plots (Part 2) 57
11.1 First method for sketching an ABMP . . . . . . . . . . . . . . . . 57
11.2 Second method for sketching an ABMP . . . . . . . . . . . . . . 61
12 Bode plots (Part 3) 63
12.1 Comparison of the two methods for constructing ABMPs . . . . 63
12.2 Selecting an to vertically x an ABMP in the second method . 63
12.3 Examples of construction of ABPs . . . . . . . . . . . . . . . . . 64
12.4 BP and ABP of the second order TF . . . . . . . . . . . . . . . . . 64
12.5 Appendix: MATLAB codes . . . . . . . . . . . . . . . . . . . . . 65
13 Bode plots (Part 4) 69
13.1 Notes on the ABMP of second order TF . . . . . . . . . . . . . . 69
13.2 Complete BP of second order TF . . . . . . . . . . . . . . . . . . 69
13.3 Filter-related terminology used in BPs . . . . . . . . . . . . . . . 70
13.4 Minimum phase TF . . . . . . . . . . . . . . . . . . . . . . . . . . 71
13.5 Appendix: MATLAB codes . . . . . . . . . . . . . . . . . . . . . 71
14 Stability theory (Part 1) 73
14.1 Minimum phase TFs (concluded) . . . . . . . . . . . . . . . . . . 73
14.2 Why practical rational TFs are proper . . . . . . . . . . . . . . . 73
14.3 BIBO stability of LTI systems** . . . . . . . . . . . . . . . . . . . 73
14.4 Discussion of the theorem and its proof** . . . . . . . . . . . . . 75
14.5 Appendix: Some literature that discusses BIBO stability . . . . . 77
15 Stability theory (Part 2) 79
15.1 A question of interest . . . . . . . . . . . . . . . . . . . . . . . . . 79
15.2 Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
15.3 An interesting example . . . . . . . . . . . . . . . . . . . . . . . . 81
16 Nyquist Stability Criterion (Part 1)* 85
March 30, 2011 v of 190 Ramprasad Potluri
EE250 (Control Systems Analysis) IITK Lecture Notes
16.1 A quick recap . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
16.2 Problem statement . . . . . . . . . . . . . . . . . . . . . . . . . . 85
16.3 Cauchys theorem (Principle of argument) . . . . . . . . . . . . . 86
17 Nyquist Stability Criterion (Part 2)* 89
17.1 Application of Cauchys theorem in Nyquists stability criterion 89
17.2 Discussion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
18 Nyquist Stability Criterion (Part 3) 93
18.1 Example 1: G(s) = K/s . . . . . . . . . . . . . . . . . . . . . . . . 93
18.2 Convention followed in sketching Nyquist plots . . . . . . . . . 94
18.3 Example: G(s) = K
_
(s + 1) . . . . . . . . . . . . . . . . . . . . . 96
18.4 Example: G(s) = K(s + 10)
2
_
s
3
. . . . . . . . . . . . . . . . . . 96
18.5 Appendix: A useful fact . . . . . . . . . . . . . . . . . . . . . . . 96
19 Nyquist Stability Criterion (Part 4) 97
19.1 Gain margin, phase margin . . . . . . . . . . . . . . . . . . . . . 97
19.2 When GM and PM are useful . . . . . . . . . . . . . . . . . . . . 98
19.3 Appendix: Dead-time element in MATLAB . . . . . . . . . . . . 100
20 Nyquist Stability Criterion (Part 5) 103
20.1 Demonstration of quick construction of Nyquist plots . . . . . . 103
20.2 Critical gain . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
20.3 Conditionally stable systems . . . . . . . . . . . . . . . . . . . . 103
20.4 Using
1
K
+ j0 instead of 1 + j0 . . . . . . . . . . . . . . . . . . 104
20.5 Nyquist plots in MATLAB and GNU Octave . . . . . . . . . . . 104
20.6 Rotation of a vector instead of encirclement . . . . . . . . . . . . 107
20.7 Discussion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
21 NST (concluded), Design using loop-shaping for minimum-phase
plants (Part 1) 109
21.1 Nyquist stability theory (conclusion) . . . . . . . . . . . . . . . . 109
21.2 Specications for control system design . . . . . . . . . . . . . . 110
21.3 Loop gain and shaping . . . . . . . . . . . . . . . . . . . . . . . . 110
March 30, 2011 vi of 190 Ramprasad Potluri
EE250 (Control Systems Analysis) IITK Lecture Notes
21.4 BMP-BPP correspondence for minimum-phase TFs . . . . . . . 111
21.5 Appendix: Bodes theorem . . . . . . . . . . . . . . . . . . . . . . 111
21.6 Appendix: NST for SFG dention of loop gain . . . . . . . . . . 111
22 Design using loop-shaping for minimum-phase plants (Part 2) 113
22.1 Recap of specications for control system design . . . . . . . . . 113
22.2 Gist of loop-shaping-based design . . . . . . . . . . . . . . . . . 113
22.3 Stability . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114
22.4 Robustness to plant parameter variations . . . . . . . . . . . . . 114
22.5 Relation between OL and CL BMP . . . . . . . . . . . . . . . . . 115
23 Design using loop-shaping for minimum-phase plants (Part 3) 117
23.1 Satisfaction of desired performance . . . . . . . . . . . . . . . . . 117
23.1.1 Steady-state error . . . . . . . . . . . . . . . . . . . . . . . 118
23.1.2 Settling time . . . . . . . . . . . . . . . . . . . . . . . . . . 119
23.1.3 Overshoot . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
23.2 Respecting constraints on control input . . . . . . . . . . . . . . 120
23.3 Appendix: Additional loop-shaping tips . . . . . . . . . . . . . . 120
24 Design using loop-shaping for minimum-phase plants (Part 4) 123
24.1 Robustness to disturbances . . . . . . . . . . . . . . . . . . . . . 123
24.2 Robustness to noises . . . . . . . . . . . . . . . . . . . . . . . . . 123
24.3 Summary of loop-shaping recipe . . . . . . . . . . . . . . . . . . 124
24.4 MATLAB-based example of loop-shaping . . . . . . . . . . . . . 125
24.4.1 Problem . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125
24.4.2 Solution . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125
24.4.3 How to use MATLAB . . . . . . . . . . . . . . . . . . . . 125
24.4.4 Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126
24.4.5 MATLAB code . . . . . . . . . . . . . . . . . . . . . . . . 126
25 Design using loop-shaping for minimum-phase plants (Part 5): Infor-
mation from lead/lag controllers 131
25.1 Background . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131
25.2 Lead and lag controllers . . . . . . . . . . . . . . . . . . . . . . . 133
March 30, 2011 vii of 190 Ramprasad Potluri
EE250 (Control Systems Analysis) IITK Lecture Notes
25.3 How DD-
max
relationship for lead/lag controllers is useful in
loop-shaping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133
25.4 Appendix: Derivation of DD versus PM relationship . . . . . . . 137
26 Design using loop-shaping for minimum-phase plants (Part 6): Rela-
tion between M
p
and PM 139
26.1 Relation between M
p
and PM for second order system . . . . . 139
26.2 Applying the second order relation to higher order . . . . . . . . 143
27 Design using loop-shaping for minimum-phase plants (Part 7): A
solved example 147
27.1 Problem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147
27.2 Solution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148
28 Metrics for steady-state accuracy of unity-feedback systems built
around minimum-phase systems 153
28.1 Error constants . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154
28.2 How to read K
p
, K
v
, K
a
off the BMPs . . . . . . . . . . . . . . . . 155
28.3 System type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156
28.4 Appendix: Various denitions of the Laplace transform . . . . . 156
28.5 Appendix: Unit impulse function . . . . . . . . . . . . . . . . . . 159
28.6 Appendix: Care needed in using the one-sided LT . . . . . . . . 160
29 An example of application of loop-shaping in automobile control 161
30 State space realization of transfer function 163
30.1 Example of state space realization . . . . . . . . . . . . . . . . . . 163
30.2 Numerical integration of state space model . . . . . . . . . . . . 167
31 Pole-placement design of control systems (Part 1) 169
31.1 State-space realization (concluded): Determining the response
of a transfer function to an arbitrary input . . . . . . . . . . . . . 169
31.2 Unit step response of standard second order TF . . . . . . . . . . 170
31.3 Appendix: MATLAB codes . . . . . . . . . . . . . . . . . . . . . 170
32 Pole-placement design of control systems (Part 2) 175
March 30, 2011 viii of 190 Ramprasad Potluri
EE250 (Control Systems Analysis) IITK Lecture Notes
32.1 Analysis of formulae developed for unit step response of stan-
dard second order system . . . . . . . . . . . . . . . . . . . . . . 175
32.2 The case of an additonal zero in a second order TF . . . . . . . . 175
32.3 Appendix: MATLAB codes . . . . . . . . . . . . . . . . . . . . . 178
33 Pole-placement design of control systems (Part 3) 183
33.1 Additional pole in second order TF . . . . . . . . . . . . . . . . . 183
33.2 Recipe for placement of CL poles in a second order TF . . . . . . 184
33.3 Root locus: What it is . . . . . . . . . . . . . . . . . . . . . . . . . 185
33.4 Appendix: MATLAB codes . . . . . . . . . . . . . . . . . . . . . 185
March 30, 2011 ix of 190 Ramprasad Potluri
EE250 (Control Systems Analysis) IITK Lecture Notes
March 30, 2011 x of 190 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 Octave,
and with background acquired in a basic electrical engineering course on mo-
tors and a basic electrical engineering course on signals and systems, are ade-
quate to design and operate, for example, a permanent magnet dc motor con-
trol system. Indeed the set of experiments that we introduced in a course num-
bered EE380 in the Control Systems Laboratory in the Department of Electrical
Engineering at IIT Kanpur in 2008, and that the students performed in 2009
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 transform. The specic background
needed from the course on motors is only a comfort with Maxwells laws and
how these 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 may 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 are named
Problem 1, Problem 2, etc. These problems are not discussed in lectures, and
are in addition to the problems that the students see in the tutorials.
xi
EE250 (Control Systems Analysis) IITK Lecture Notes
Where needed, the appropriate literature is cited. While many good textbooks
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 have a feel for where we are and where we
are headed in this course.
March 30, 2011 xii of 190 Ramprasad Potluri
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
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
T
u
n
i
n
g
o
f
P
I
D
c
o
n
t
r
o
l
l
e
r
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
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
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
c
i
r
c
l
e
c
r
i
t
e
r
i
o
n
,
March 30, 2011 xiii of 190 Ramprasad Potluri
EE250 (Control Systems Analysis) IITK Lecture Notes
March 30, 2011 xiv of 190 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.
xv
EE250 (Control Systems Analysis) IITK Lecture Notes
March 30, 2011 xvi of 190 Ramprasad Potluri
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 dis-
turbances, 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 as mentioned in
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
1
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 Human-in-the-loop CS
(E.g., a driver driving)
an automobile)
Negative feedback CS
Positive feedback CS
Figure 1.1: A classication of control systems. In this course, we are interested
in negative feedback control systems.
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 neg-
ative feedback control. We use a sensor that outputs a quantity y that is pro-
portional 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 magnitude. 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 fromthe output and fed towards the input, we say
that y is fed back. The operation of taking y is called negative feedback. The act
of using the error e = r 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 summer
or summing element. If its inputs are a and b, then its output is the sum a + b. If,
instead, this element performed the subtraction operation, and if e still equals
y
ref
+ y in Figure 1.3, then the control system of Figure 1.3 may have been
called a positive feedback control system. However, given that the summator
performs the operation of summation, the system 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.
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.
March 30, 2011 2 of 190 Ramprasad Potluri
EE250 (Control Systems Analysis) IITK Lecture Notes
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.
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.
www.youtube.com has many nice videos of control systems. Listed below are
some of these.
Prelter
z
ref
y
ref +
Controller
e = r 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.
March 30, 2011 3 of 190 Ramprasad Potluri
EE250 (Control Systems Analysis) IITK Lecture Notes
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=fYYpCvlSq5c.
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=H7QxuSu5UIA.
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.4 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
1
Western Labs 217 B, IIT Kanpur.
March 30, 2011 4 of 190 Ramprasad Potluri
EE250 (Control Systems Analysis) IITK Lecture Notes
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.
March 30, 2011 5 of 190 Ramprasad Potluri
EE250 (Control Systems Analysis) IITK Lecture Notes
March 30, 2011 6 of 190 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 equa-
tions, are used to describe dynamic systems. There are two types of differen-
tial/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 equa-
tions. 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,
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)
+
h -
1
sL
a
+ R
a
-
I(s)
K
M
-
T
M
(s)
+
h -
1
sJ + B
q -
(s)

K
E
6
E(s)

?
T
L
(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 equa-
tions describe a permanent magnet dc (PMDC) motor. Table 2.2 shows these
equations and the corresponding TFs obtained using the Laplace transform.
Using these TFs, we can draw the block diagram of Figure 2.2.
The advantage of working with a block diagram over working with equations
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 kinematic
dynamics, and statics. Now often distinguished as classical mechanics (as opposed to quantum
mechanics).
March 30, 2011 8 of 190 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
March 30, 2011 9 of 190 Ramprasad Potluri
EE250 (Control Systems Analysis) IITK Lecture Notes
equation

= ?
Problem 3
Table 2.2 shows the four elemental TFs of a PMDC motor. Work out the com-
posite TF of this motor from the input V(t) to the output (t).
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 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)
March 30, 2011 10 of 190 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
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 mo-
ment 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 vis-
cous 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)
March 30, 2011 11 of 190 Ramprasad Potluri
EE250 (Control Systems Analysis) IITK Lecture Notes
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 dif-
ferent 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 combination)
referred to the rotor shaft and equivalent coefcient of viscous friction (of the rotor-load
combination) referred to the rotor shaft.
March 30, 2011 12 of 190 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,
13
EE250 (Control Systems Analysis) IITK Lecture Notes
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.
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 fol-
lows [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).
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),
March 30, 2011 14 of 190 Ramprasad Potluri
EE250 (Control Systems Analysis) IITK Lecture Notes
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
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.
March 30, 2011 15 of 190 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).
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.
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
March 30, 2011 16 of 190 Ramprasad Potluri
EE250 (Control Systems Analysis) IITK Lecture Notes
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 original
second order ODE. If we construct u as
u = kx + y
ref
, (3.4)
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
March 30, 2011 17 of 190 Ramprasad Potluri
EE250 (Control Systems Analysis) IITK Lecture Notes
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
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.
March 30, 2011 18 of 190 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.
March 30, 2011 19 of 190 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.
March 30, 2011 20 of 190 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.
March 30, 2011 21 of 190 Ramprasad Potluri
EE250 (Control Systems Analysis) IITK Lecture Notes
March 30, 2011 22 of 190 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
23
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.
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)
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.
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.
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.
March 30, 2011 24 of 190 Ramprasad Potluri
EE250 (Control Systems Analysis) IITK Lecture Notes
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.
March 30, 2011 25 of 190 Ramprasad Potluri
EE250 (Control Systems Analysis) IITK Lecture Notes
Figure 4.3: Rules of block diagram algebra.
March 30, 2011 26 of 190 Ramprasad Potluri
EE250 (Control Systems Analysis) IITK Lecture Notes
Example 2
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.
March 30, 2011 27 of 190 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.
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 using
the Laplace transform and transfer functions, state-space control theory de-
signs 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 [].
March 30, 2011 28 of 190 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 diagramthat 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
29
EE250 (Control Systems Analysis) IITK Lecture Notes
Figure 5.1: A sample signal ow graph.
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
.
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,
March 30, 2011 30 of 190 Ramprasad Potluri
EE250 (Control Systems Analysis) IITK Lecture Notes
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.
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.
March 30, 2011 31 of 190 Ramprasad Potluri
EE250 (Control Systems Analysis) IITK Lecture Notes
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 repre-
sentation and the domains where each is used. Block diagrams are primarily
used in the control systems community. SFGs are used in the communications
community.
March 30, 2011 32 of 190 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.
33
EE250 (Control Systems Analysis) IITK Lecture Notes
Figure 6.1: A sample signal ow graph for which to nd the gain.

k
is the for that part of the SFG that doesnt touch the k
th
forward path.
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)) .
March 30, 2011 34 of 190 Ramprasad Potluri
EE250 (Control Systems Analysis) IITK Lecture Notes
Figure 6.2: A block diagram and the corresponding signal ow graph.
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.
We often need to be able to quickly write the gain of a single-loop block dia-
gram 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
March 30, 2011 35 of 190 Ramprasad Potluri
EE250 (Control Systems Analysis) IITK Lecture Notes
Low sensitivity to parameter variations
Good performance both in transient and in steady state.
March 30, 2011 36 of 190 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.
37
EE250 (Control Systems Analysis) IITK Lecture Notes
Example 9
Disturbance feedforward.
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
March 30, 2011 38 of 190 Ramprasad Potluri
EE250 (Control Systems Analysis) IITK Lecture Notes
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.
March 30, 2011 39 of 190 Ramprasad Potluri
EE250 (Control Systems Analysis) IITK Lecture Notes
March 30, 2011 40 of 190 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:
41
EE250 (Control Systems Analysis) IITK Lecture Notes
-
r
OL
(t) = u
OL
(t)
1
s + 1
-
y
OL
(t)
y
OL
(t) = (1 e
t/
)1(t)
-
r
CL
(t)
+
h -
e(t)
K
-
u
CL
(t)
1
s + 1
q -
y
CL
(t)
6

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

1+K
_
1(t)
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
March 30, 2011 42 of 190 Ramprasad Potluri
EE250 (Control Systems Analysis) IITK Lecture Notes
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 in-
ertia, mostly because the power source or the motor have their own limitations.
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 in-
put cannot exceed certain values. The feedback control system needs to respect
these input saturation constraints.
8.2 Command feedforward
There is also what is known as command feedforward: For improving perfor-
mance through improving the shape of response.
q -
y
d
+
h-
C
1
-
+
h -
P
q -
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) struc-
ture 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)
+
h -
e(t)
K
-
u
CL
(t)
1
s + 1
q -
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.
March 30, 2011 43 of 190 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
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 min-
imum 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 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 nonlinearity is the sit-
uation 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.
March 30, 2011 44 of 190 Ramprasad Potluri
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.
45
EE250 (Control Systems Analysis) IITK Lecture Notes
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)
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 denomi-
nator, 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
March 30, 2011 46 of 190 Ramprasad Potluri
EE250 (Control Systems Analysis) IITK Lecture Notes
Therefore,

1
=
G(j)A
2j
,
2
=
G(+j)A
+2j
.
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).
March 30, 2011 47 of 190 Ramprasad Potluri
EE250 (Control Systems Analysis) IITK Lecture Notes
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)
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.
March 30, 2011 48 of 190 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. System 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
49
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.
- 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 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
March 30, 2011 50 of 190 Ramprasad Potluri
EE250 (Control Systems Analysis) IITK Lecture Notes
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
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
.
1
We talk of positiveness or negativeness of only real numbers, and not of complex numbers.
March 30, 2011 51 of 190 Ramprasad Potluri
EE250 (Control Systems Analysis) IITK Lecture Notes

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

. Therefore,
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)
March 30, 2011 52 of 190 Ramprasad Potluri
EE250 (Control Systems Analysis) IITK Lecture Notes
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 components:
(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.
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
On the other hand, in MATHEMATICA, ArcTan(x,y) will take into account the quadrant in
which x + jy lies.
March 30, 2011 53 of 190 Ramprasad Potluri
EE250 (Control Systems Analysis) IITK Lecture Notes
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 con-
vention 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.
March 30, 2011 54 of 190 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.
March 30, 2011 55 of 190 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.
March 30, 2011 56 of 190 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]
57
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
March 30, 2011 58 of 190 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.
March 30, 2011 59 of 190 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.
March 30, 2011 60 of 190 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.
March 30, 2011 61 of 190 Ramprasad Potluri
EE250 (Control Systems Analysis) IITK Lecture Notes
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
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 fre-
quency 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.
March 30, 2011 62 of 190 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 sec-
ond 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 approxima-
tion 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 com-
posite 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.
63
EE250 (Control Systems Analysis) IITK Lecture Notes
For example, to x the ABMP of k
_
(s +
0
) , we use the expression for mag-
nitude 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
_

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
March 30, 2011 64 of 190 Ramprasad Potluri
EE250 (Control Systems Analysis) IITK Lecture Notes
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 between
the BMP and the ABMP can be signicant for values of much smaller than 1
as Figure 12.1 shows.
Problem 11
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.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
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);
March 30, 2011 65 of 190 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.
March 30, 2011 66 of 190 Ramprasad Potluri
EE250 (Control Systems Analysis) IITK Lecture Notes
% 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.
March 30, 2011 67 of 190 Ramprasad Potluri
EE250 (Control Systems Analysis) IITK Lecture Notes
March 30, 2011 68 of 190 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
69
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

.
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.
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
March 30, 2011 70 of 190 Ramprasad Potluri
EE250 (Control Systems Analysis) IITK Lecture Notes
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 fre-
quency.
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.
% Specify values of the damping ratio for which Bode plots
% will be drawn:
nzeta = 10;
March 30, 2011 71 of 190 Ramprasad Potluri
EE250 (Control Systems Analysis) IITK Lecture Notes
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
March 30, 2011 72 of 190 Ramprasad Potluri
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, ).
73
EE250 (Control Systems Analysis) IITK Lecture Notes
As signals could also be of bounded energy and bounded power, whereas Def-
inition 2 implies only bounds on the magnitude of the signal, to avoid confu-
sion, we use the term bounded in magnitude (BIM) for a bounded signal.
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
1
Here, we are using the assumption of causality of the system. Real-world systems are causal.
March 30, 2011 74 of 190 Ramprasad Potluri
EE250 (Control Systems Analysis) IITK Lecture Notes
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 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
March 30, 2011 75 of 190 Ramprasad Potluri
EE250 (Control Systems Analysis) IITK Lecture Notes
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.
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
March 30, 2011 76 of 190 Ramprasad Potluri
EE250 (Control Systems Analysis) IITK Lecture Notes
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.
March 30, 2011 77 of 190 Ramprasad Potluri
EE250 (Control Systems Analysis) IITK Lecture Notes
March 30, 2011 78 of 190 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).
79
EE250 (Control Systems Analysis) IITK Lecture Notes
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
)?
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 unrepeated
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) de-
pending 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)
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:
March 30, 2011 80 of 190 Ramprasad Potluri
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
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.
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.
March 30, 2011 81 of 190 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 ,<
March 30, 2011 82 of 190 Ramprasad Potluri
EE250 (Control Systems Analysis) IITK Lecture Notes
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
March 30, 2011 83 of 190 Ramprasad Potluri
EE250 (Control Systems Analysis) IITK Lecture Notes
March 30, 2011 84 of 190 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 anywhere
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, provides
us a way to discuss the stability of the CL system based on the knowledge of
the location of the open loop poles.
Harry Nyquist developed this criterion in 1932. However, textbooks present a
85
EE250 (Control Systems Analysis) IITK Lecture Notes
version of the NSCthat 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.
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

1
In this context, by closed we mean that the contour starts and ends at the same point.
March 30, 2011 86 of 190 Ramprasad Potluri
EE250 (Control Systems Analysis) IITK Lecture Notes
5. On the other hand, if
s
encloses only the zero and not the pole, as shown
below,

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.
March 30, 2011 87 of 190 Ramprasad Potluri
EE250 (Control Systems Analysis) IITK Lecture Notes
Problem 16
Given the manner in which
s
has been constructed, can it be a contour that is
not closed?
March 30, 2011 88 of 190 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.
89
EE250 (Control Systems Analysis) IITK Lecture Notes
Construct the (1 + G(s))-plane contour corresponding to this s-plane contour.
For one clockwise traversal of the s-plane contour, the (1 +G(s))-plane contour
encircles the origin N = Z P times in the clockwise direction. Here, Z is 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?
NSCwas 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 recall
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.
March 30, 2011 90 of 190 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.
March 30, 2011 91 of 190 Ramprasad Potluri
EE250 (Control Systems Analysis) IITK Lecture Notes
March 30, 2011 92 of 190 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.
93
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

.
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.
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
/
, .
March 30, 2011 94 of 190 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.
March 30, 2011 95 of 190 Ramprasad Potluri
EE250 (Control Systems Analysis) IITK Lecture Notes
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.
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.
March 30, 2011 96 of 190 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 amplied
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.
97
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.
The GM is also expressed in logarithmic terms as 20 log
10
(GM), in dB, as
shown in Figure 19.2.
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")
March 30, 2011 98 of 190 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.
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 fol-
March 30, 2011 99 of 190 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)
.
lowing 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/
March 30, 2011 100 of 190 Ramprasad Potluri
EE250 (Control Systems Analysis) IITK Lecture Notes
products/control/demos.html?file=/products/demos/shipping/control/
GSSpecifyingDelays.html#2.
March 30, 2011 101 of 190 Ramprasad Potluri
EE250 (Control Systems Analysis) IITK Lecture Notes
March 30, 2011 102 of 190 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)
.
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-
103
EE250 (Control Systems Analysis) IITK Lecture Notes
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.
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]);
March 30, 2011 104 of 190 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.
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);
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.
March 30, 2011 105 of 190 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.
March 30, 2011 106 of 190 Ramprasad Potluri
EE250 (Control Systems Analysis) IITK Lecture Notes
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 encirclement.
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.
March 30, 2011 107 of 190 Ramprasad Potluri
EE250 (Control Systems Analysis) IITK Lecture Notes
March 30, 2011 108 of 190 Ramprasad Potluri
Lecture 21
NST (concluded), Design
using loop-shaping for
minimum-phase plants (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.
109
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).
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.
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 tech-
niques developed may be applied to other congurations through a suitable
modication of the block diagram.
March 30, 2011 110 of 190 Ramprasad Potluri
EE250 (Control Systems Analysis) IITK Lecture Notes
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.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
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].
March 30, 2011 111 of 190 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.
Figure 21.4: The signal ow graph equivalent of the block diagram of Fig-
ure 21.1.
March 30, 2011 112 of 190 Ramprasad Potluri
Lecture 22
Design using loop-shaping
for minimum-phase plants
(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 following
simple steps:
113
EE250 (Control Systems Analysis) IITK Lecture Notes
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.
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.
March 30, 2011 114 of 190 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, 90

, then the same section on the ABMP


needs to persist for more than a decade with a slope of 90

. 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

.
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
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
March 30, 2011 115 of 190 Ramprasad Potluri
EE250 (Control Systems Analysis) IITK Lecture Notes
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
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.
March 30, 2011 116 of 190 Ramprasad Potluri
Lecture 23
Design using loop-shaping
for minimum-phase plants
(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 systemdoes not actually encounter any of these test signals in prac-
tice. However, for a given plant, one or more of these test signals serve to com-
pare the performance of one control system built around this plant with the
peformance of another control system built around this plant. These test sig-
nals 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
117
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.
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 fol-
lowing subsections answer this question.
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.
March 30, 2011 118 of 190 Ramprasad Potluri
EE250 (Control Systems Analysis) IITK Lecture Notes
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
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 tran-
sients 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 band-
width of any system can be dened roughly as being related to the systems 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 adequate
to limit M
p
.
March 30, 2011 119 of 190 Ramprasad Potluri
EE250 (Control Systems Analysis) IITK Lecture Notes
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)
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

)
|
March 30, 2011 120 of 190 Ramprasad Potluri
EE250 (Control Systems Analysis) IITK Lecture Notes
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.
March 30, 2011 121 of 190 Ramprasad Potluri
EE250 (Control Systems Analysis) IITK Lecture Notes
March 30, 2011 122 of 190 Ramprasad Potluri
Lecture 24
Design using loop-shaping
for minimum-phase plants
(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 fre-
quency (LF) region of the CL systems passband. So, designate the frequencies
in which the disturbances lie as the Low frequencies as shown in Fig-
ure 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
123
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.
of much higher frequencies than disturbances.
We see from the last equation above that keeping the noises within the band-
width 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 outside
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 region. How
small? Keep the high frequency (HF) loop gain below a certain HF forbidden
zone that lies in the interval [
n
, ).
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


March 30, 2011 124 of 190 Ramprasad Potluri
EE250 (Control Systems Analysis) IITK Lecture Notes
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.
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 fea-
tures.
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.
March 30, 2011 125 of 190 Ramprasad Potluri
EE250 (Control Systems Analysis) IITK Lecture Notes
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.
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).
March 30, 2011 126 of 190 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
.
March 30, 2011 127 of 190 Ramprasad Potluri
EE250 (Control Systems Analysis) IITK Lecture Notes
[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.
%
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
March 30, 2011 128 of 190 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
.
% 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
March 30, 2011 129 of 190 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.
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
s. The permitted tolerance for your solution is 5%. Multiple overshoots and
undershoots are not mandatory.
March 30, 2011 130 of 190 Ramprasad Potluri
Lecture 25
Design using loop-shaping
for minimum-phase plants
(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 con-
troller 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 pa-
rameters 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 controller
and its special cases (that is, PI and PD) after the second midsemester exam.
131
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.
March 30, 2011 132 of 190 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.
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) controller
and the corresponding decade distance (DD) between the corner frequencies
of the controller through the steps shown in Figure 25.3. See Section 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
March 30, 2011 133 of 190 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
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.
A plot 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 provided a
controller of the minimum order possible to control the speed of a motor with
the transfer function (TF)
(s)
V(s)
=
100
s+20
for the following time domain specica-
tions: 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.
March 30, 2011 134 of 190 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.
March 30, 2011 135 of 190 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
.
March 30, 2011 136 of 190 Ramprasad Potluri
EE250 (Control Systems Analysis) IITK Lecture Notes
25.4 Appendix: Derivation of DD versus PM rela-
tionship
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
.
March 30, 2011 137 of 190 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
March 30, 2011 138 of 190 Ramprasad Potluri
Lecture 26
Design using loop-shaping
for minimum-phase plants
(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
139
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.
March 30, 2011 140 of 190 Ramprasad Potluri
EE250 (Control Systems Analysis) IITK Lecture Notes
This gives

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

2
arctan

2
n
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 approxi-
mation (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 from gures
26.3 and 26.4.
March 30, 2011 141 of 190 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

.
March 30, 2011 142 of 190 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%
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
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
.
March 30, 2011 143 of 190 Ramprasad Potluri
EE250 (Control Systems Analysis) IITK Lecture Notes
Problem 22
Verify that the design of Example 19 meets its specications, and see what in-
formation you could have applied to that design from this lecture.
% ord2.m: m-file to plot Bode and polar plot of
% 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
March 30, 2011 144 of 190 Ramprasad Potluri
EE250 (Control Systems Analysis) IITK Lecture Notes
% 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));
% 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.
March 30, 2011 145 of 190 Ramprasad Potluri
EE250 (Control Systems Analysis) IITK Lecture Notes
March 30, 2011 146 of 190 Ramprasad Potluri
Lecture 27
Design using loop-shaping
for minimum-phase plants
(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
?
147
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
March 30, 2011 148 of 190 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
March 30, 2011 149 of 190 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
_
.
March 30, 2011 150 of 190 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
_
.
March 30, 2011 151 of 190 Ramprasad Potluri
EE250 (Control Systems Analysis) IITK Lecture Notes
March 30, 2011 152 of 190 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?
153
EE250 (Control Systems Analysis) IITK Lecture Notes
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
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 complex 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 question
here.
ECs are attributes of the loop gain of a control system when this loop gain is
March 30, 2011 154 of 190 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
.
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.
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.
March 30, 2011 155 of 190 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.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.
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
March 30, 2011 156 of 190 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
.
March 30, 2011 157 of 190 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]
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.
March 30, 2011 158 of 190 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).


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.
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)
March 30, 2011 159 of 190 Ramprasad Potluri
EE250 (Control Systems Analysis) IITK Lecture Notes
The unit impulse function is not a function in the classical sense. For a clas-
sical 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.
March 30, 2011 160 of 190 Ramprasad Potluri
Lecture 29
An example of application of
loop-shaping in automobile
control
161
EE250 (Control Systems Analysis) IITK Lecture Notes
March 30, 2011 162 of 190 Ramprasad Potluri
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.
163
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.
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)
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.
March 30, 2011 164 of 190 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.
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 separate 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 di-
agram approach for obtaining the SS realization. Also, a simulation diagram
approach is not the only approach for obtaining a SS realization.
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 corresponding
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 ampli-
March 30, 2011 165 of 190 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.
cation. 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
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.
March 30, 2011 166 of 190 Ramprasad Potluri
EE250 (Control Systems Analysis) IITK Lecture Notes
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 differ-
ential 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.
March 30, 2011 167 of 190 Ramprasad Potluri
EE250 (Control Systems Analysis) IITK Lecture Notes
Digital implementation of a controller is necessarily constrained by the speed
of the processor. So, t cannot be made arbitrarily small. This means that in
a digital implementation of the derivative action, using the left derivative 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.
March 30, 2011 168 of 190 Ramprasad Potluri
Lecture 31
Pole-placement design of
control systems (Part 1)
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 sys-
tem 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
_
169
EE250 (Control Systems Analysis) IITK Lecture Notes
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.
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?
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);
March 30, 2011 170 of 190 Ramprasad Potluri
EE250 (Control Systems Analysis) IITK Lecture Notes
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.
% 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);
[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);
March 30, 2011 171 of 190 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.
% 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
March 30, 2011 172 of 190 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.
March 30, 2011 173 of 190 Ramprasad Potluri
EE250 (Control Systems Analysis) IITK Lecture Notes
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);
% 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));
March 30, 2011 174 of 190 Ramprasad Potluri
Lecture 32
Pole-placement design of
control systems (Part 2)
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
175
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.
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
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 various
curves in this gure.
1
See wikipedia.org.
March 30, 2011 176 of 190 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?
March 30, 2011 177 of 190 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 satisfaction.
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:
March 30, 2011 178 of 190 Ramprasad Potluri
EE250 (Control Systems Analysis) IITK Lecture Notes
essomnr = 2*zeta;
subplot(5,1,1),
plot(zeta,tromn), ylabel(t_r*omega_n), grid
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:
March 30, 2011 179 of 190 Ramprasad Potluri
EE250 (Control Systems Analysis) IITK Lecture Notes
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];
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
March 30, 2011 180 of 190 Ramprasad Potluri
EE250 (Control Systems Analysis) IITK Lecture Notes
% in MATLAB?
% Finally, I tried to increase the thickness of the lines using
% the following command:
%
% 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
March 30, 2011 181 of 190 Ramprasad Potluri
EE250 (Control Systems Analysis) IITK Lecture Notes
March 30, 2011 182 of 190 Ramprasad Potluri
Lecture 33
Pole-placement design of
control systems (Part 3)
33.1 Additional pole in second order TF
183
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
March 30, 2011 184 of 190 Ramprasad Potluri
EE250 (Control Systems Analysis) IITK Lecture Notes
33.3 Root locus: What it is
The MATLAB and GNU Octave function rlocus helps plot root loci.
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)
March 30, 2011 185 of 190 Ramprasad Potluri
EE250 (Control Systems Analysis) IITK Lecture Notes
March 30, 2011 186 of 190 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.
187
EE250 (Control Systems Analysis) IITK Lecture Notes
[11] Gene F. Franklin, J. David Powell, and Abbas Emami-Naeini. Feedback
Control of Dynamic Systems. Pearson Education, fourth edition, 2002.
[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. Published in India by Prentice-Hall of
India Pvt. Ltd.
[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.
March 30, 2011 188 of 190 Ramprasad Potluri
EE250 (Control Systems Analysis) IITK Lecture Notes
[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.
[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.
March 30, 2011 189 of 190 Ramprasad Potluri
EE250 (Control Systems Analysis) IITK Lecture Notes
March 30, 2011 190 of 190 Ramprasad Potluri

Вам также может понравиться