Theory and Use of the Bode Plots

advertisement
Bode Plots
1
(C) Copyright 2002 Richard R. Johnston, Ph.D., P.E.
The Bode magnitude and phase plots are tools for analyzing the frequency response of
linear circuits or systems that can be defined in terms of transfer functions. To construct the
bode plots, the transfer function H(s), must be given in factored form:
nz
K⋅
∏
(s + ωzi)
i= 1
np
H ( s) =
∏
=
(s + ωpi)
zero
\/
)(
) (
)
(s + ωp1) ⋅(s + ωp2) ⋅ .. ⋅(s + ωpnp)
(
K ⋅  s + ωz1 ⋅ s + ωz2 ⋅ .. ⋅ s + ωznz 
/\
pole
i= 1
where numerator terms are called zeros, denominator terms are called poles, ωpi and ωzi are
constants, nz is the number of zeros, and np is the number of poles. Bode's insight was to
realize that if we take the log of the magnitude of both sides of the above equation we have:
log (
H ( s)
)
=
 ( s + ωz1) ⋅ ( s + ωz2) ⋅ .. ⋅ ( s + ωznz)
log
 ( s + ωp1) ⋅ ( s + ωp2) ⋅ .. ⋅ ( s + ωpnp)

(
) + log( s + ωz2 ) + ..
(
) − log( s + ωp1 ) − ..
=
log s + ωz1
-
log s + ωp1



(
)
− log ( s + ωpnp )
+ log s + ωznz
This formulation allows us to deal with the right-hand side as a sum of terms, rather than as a
quotient of products of terms. The basic plan is to find the graph of each of the terms on the
right-hand side, and then to "add" the graphs together "by eye" (or by machine with Mathcad).
Decibels
Before we go into the details of this procedure, it is necessary to examine the term on the
left-hand side of the above equation. What Bode understood was that the quantity on the
left-hand side is, in fact, already in standard units. The units to which we refer, were
developed by telephone engineers to conveniently represent ratios of power as an aid to
analyzing the attenuation of telephone signals as they are propagated down the telephone
wire. The Bel (after Alexander Graham Bell) is defined as
2
Loss in Bels =
 Pin 
log 

P
 out 
Unfortunately the Bel (like the Farad) is too large a unit to be useful, so the deciBel, which is
one tenth of a Bel, is the usual unit.
Loss in DeciBels =
 Pin 
10 ⋅ log 

P
 out 
Now in most electronic and control work the transfer function represents not a ratio of powers,
but a ratio of voltages or currents. However, since we may write:
2
V
P =
R
we have:
=
2
I ⋅R
Loss in dB =
Gain in dB =
Loss in dB =
Gain in dB =
 Vin2 


R

10 ⋅ log 
  Vout 2  


R


 Vout2 


R

10 ⋅ log 
  Vin 2  


R


=
 Iout 2 ⋅ R 

10 ⋅ log 
 I 2 ⋅R 
 in

 Vout 
20 ⋅ log 

V
in


=
 Iin 2 ⋅ R 

10 ⋅ log 
 I 2 ⋅R 
 out

=
=
 Vin 
20 ⋅ log 

V
out


 Iin 
20 ⋅ log 

I
out


 Iout 
20 ⋅ log 

I
 in 
or
and
or
Point-by-Point Addition of Functions
3
To gain some insight into "adding graphs by eye" the reader is encouraged to examine the
examples given below. ( u(t) is the Heaviside unit step function.)
Recall that given a function f(t), then the graph of f(t-k) is simply the graph of f(t) shifted to
the right by k units.
t := −1 , −0.999 .. 5
u ( t) := if ( t > 0 , 1 , 0)
f2 ( t) := −1 ⋅ ( f1 ( t) )
f1 ( t) := t ⋅ u ( t)
f3 ( t) := u ( t − 2) − u ( t − 3)
g1 ( t) := t
g2 ( t) := −t
f4 ( t) := f1 ( t − 1) − 2 ⋅ f1 ( t − 2)
2
2
1
1
u ( t−2)
u ( t)
0
0
1
1
0
2
4
0
2
t
t
f1 ( t)
5
4
3
2
1
0
1
f1 ( t−1)
0
2
4
4
3
2
1
0
1
0
t
f2 ( t)
1
0
1
2
3
4
5
2
t
2
t
g1 ( t)
0
4
4
5
4
3
2
1
0
1
0
2
t
4
4
g2 ( t)
1
0
1
2
3
4
5
1
g1 ( t) +g2 ( t)
0
2
4
0
1
4
0
2
t
4
t
2
1
f1 ( t) +g2 ( t)
f2 ( t) +g1 ( t)
0
0
0
2
1
4
0
2
t
t
4
f1 ( t−1)
4
4
2
f1 ( t−2)
0
2
0
0
2
4
0
2
t
4
t
2
4
f1 ( t−1) ...
+ f1 ( t−2)
f1 ( t−1) ...
+ − f1 ( t−2)
2
1
0
0
0
2
t
4
1
0
5
t
2
5
1
1
0
f3 ( t)
f4 ( t)
0
1
1
0
2
4
2
6
0
2
t
4
t
Normalization
Before we proceed with the derivation of the magnitude plots of the individual terms of a
transfer function, we introduce an algebraic normalization of the transfer function that makes
the individual plots simpler to manipulate. The transfer function is usually given in factored
form as:
nz
K⋅
H ( s) =
∏ (s + ωz )
i= 1
np
∏
)(
) (
)
(s + ωp1) ⋅(s + ωp2) ⋅ .. ⋅(s + ωpnp)
(
i
K ⋅  s + ωz1 ⋅ s + ωz2 ⋅ .. ⋅ s + ωznz 
=
(s + ωpi)
i= 1
where the coefficients of s have been set to one. A more convenient normalization, for our
purposes, is to set the constant coefficients to one as shown below:
nz
K⋅
H ( s) =
∏(
i= 1
np
∏
i= 1
=
s + ωz
i
(s + ωpi)
nz
)
K⋅
=
∏
nz
ωzi
i= 1
np
∏
⋅
ωpi
i= 1
)(
) (
)
(s + ωp1) ⋅(s + ωp2) ⋅ .. ⋅(s + ωpnp)
(
∏
 s + 1
 ωz

i


∏
 s + 1
 ωp

 i

i= 1
np
i= 1
K ⋅  s + ωz1 ⋅ s + ωz2 ⋅ .. ⋅ s + ωznz 
so
  s + 1  ⋅  s + 1  ⋅ ..
  ωz

 K ⋅ ωz1 ⋅ ωz2 ⋅ .. ⋅ ωznz    ωz1
 2


⋅
 ωp1 ⋅ ωp2 ⋅ .. ⋅ wpn    s
  s + 1  ⋅ ..
+ 1  ⋅
p  


ωp
ωp
1
2





H ( s) =
For example:
H ( s) =
10 ⋅ ( s + 1) ⋅ ( s + 2) ⋅ ( s + 3)
( s + 5) ⋅ ( s + 6) ⋅ ( s + 7)
=
=
 s + 1 
⋅

ωz
n
z


 s + 1 
⋅

ωp
n
z


6
 ( s + 1) ⋅  s + 1  ⋅  s + 1  


 
10 ⋅ 2 ⋅ 3 
2
3




⋅

5 ⋅6 ⋅7
s
s
s






  + 1  ⋅ + 1  ⋅ + 1  
5
 6
 7

 ( s + 1) ⋅  s + 1  ⋅  s + 1  


 
2 
2
3




⋅

7 s
s
s





  + 1  ⋅ + 1  ⋅ + 1  
5
 6
 7

We now wish to find the magnitude plot for each of the terms of H(s), which we shall add
together to form the magnitude plot for the transfer function as a whole. The magnitude plot is
a graph of the magnitude of the transfer function (in dB) vs. log(ω). The transfer functions
shown above contain three distinct kinds of terms: constant terms (
(
2
), zeros (s + 1), and poles
7
s
+ 1).
5
Magnitude Plots of Constant Terms
Since the magnitude of a transfer function H(s) = K is not a function of ω, such transfer
functions have magnitude plots as shown below:
K1 :=
2
7
ω := 0.1 , 0.2 .. 10
20 ⋅ log ( K1) = −10.881
K2 := 15
20 ⋅ log ( K2) = 23.522
7
20 ⋅ log ( K1)
0
20 ⋅ log ( K2)
20
0
20
0.1
1
10
0.1
ω
1
10
ω
Magnitude Plots of First order Poles
To begin our study of individual terms of the general transfer function H(s), let us use as an
example a transfer function that has only one term. Consider the frequency response of the
circuit shown below. (This experiment is performed in virtually every undergraduate circuits
laboratory. ) The transfer function of this circuit is:
H(s) =
Vout ( s)
Vin ( s)
=
1
s
 1 + 1


s

=
1
s+1
Since we have agreed to deal with magnitudes in dB (in order to decouple the terms of the
transfer function from one another), we have plotted the magnitude of the response in dB
versus frequency by point-by-point calculation below.
8
1



 1 + ω ⋅i 
H ( ω ) := 20 ⋅ log 
ω := 0.01 , 0.02 .. 100
10
0
H(ω )
10
20
30
40
20
40
60
80
100
ω
We see that for large frequencies (ω > 50) the plot is nearly linear, but for small frequencies
the plot is strongly nonlinear. In fact the plot appears nearly exponential. Since exponential
functions have linear graphs when plotted against a logarithmic frequency axis, we plot |H(s)|
versus log(ω) below. (We obtain the semi-log plot by using Format X Y Axes, and changing the
x axis to a log scale.)
10
0
H(ω )
10
20
30
40
0.01
0.1
1
10
100
ω
We see that this plot is nearly linear over most of the frequency range. Our basic strategy is to
We see that this plot is nearly linear over most of the frequency range. Our basic strategy is to
find equations for the two different straight lines that describe the magnitude response and to 9
extend the straight lines until they intersect as shown below.
ω 0 := 1
(
HSL ( ω ) := if ω > ω 0 , −20 ⋅ log ( ω ) , 0
)
(We will derive this equation
for HSL presently.)
10
0
H(ω )
HSL ( ω )
10
20
30
40
0.01
0.1
1
10
100
ω
Consider a more general transfer function of the form:
H ( s) =
1
where ω o is a constant which we shall call the
break frequency for reasons that we shall
make clear presently. (ω without subscript is
the frequency variable over which we desire
the frequency response.)
 s + 1
ω

 o

The magnitude of this transfer function is:
H ( jω)
=
dB
1

 j⋅ ω + 1
 ω o
20 ⋅ log 



We seek a straight-line approximation to this magnitude for our magnitude plot. We proceed by
finding the limit of the magnitude function as ω approaches zero, and using that limit as an
approximation of the magnitude function for all "low" frequencies. We then find the limit of the
magnitude function as ω approaches positive infinity and use that limit as an approximation of
the magnitude function for all "high" frequencies. We shall define what we mean by "low"
frequencies and "high" frequencies presently.
1

 j ⋅ω + 1
 ω o



lim 20 ⋅ log 
ω→0
10
= 20 ⋅ log ( 1) − 20 ⋅ log ( 1)
= 0 dB
Since the limit of the magnitude function as ω approaches zero is 0 dB, we approximate the
magnitude function as 0 dB for all "low" frequencies. That is we approximate the magnitude
function as a horizontal straight line at 0 dB for all "low" frequencies.
For "high" frequencies we take the limit of H(jω) as ω approaches positive infinity.
lim
ω→∞
=
1

 j⋅ ω + 1
 ω o
20 ⋅ log 
 ωo 
lim 20 ⋅ log 

j
⋅
ω


ω→∞



=
=
lim
ω→∞
lim
ω→∞
 1
 j⋅ ω
 ω o
20 ⋅ log 



(20 ⋅log(ω o) − 20 ⋅log(ω ))
( )
= −20 ⋅ log ω
This is the magnitude approximation at high frequencies.
Decades
To understand the significance of this last function, consider the function f(t) = 5t. This is the
equation of a straight line in t, with a slope of 5, passing through the point t = 0, f(t) = 0.
Similarly the function f(log(ω)) = -20 log(ω) is a straight line in log(ω) with a slope of -20 dB
passing through 0 dB at ω = 1.
(-20 log(1) = 0) The question is a slope of -20 dB per what? Not -20 dB per radian since we
are plotting against log(ω) not against ω. To answer our question of the units for the slope of
our straight line, we must calculate two frequencies ω 1 and ω 2 , such that log(ω 2) - log(ω 1) = 1.
Since the slope is the "rise" over the "run", and we desire a slope of
-20 and a "run" of 1. So we have:
−20
we need a "rise" of
1
( )
( )
log ω 2 − log ω 1
=
 ω2 
log 

ω
 1
11
= 1
If we exponentiate (base 10) both sides of the right hand equation, we obtain:
 ω2 

ω
1

 = 10 1 or
log 
10
 ω2 
 
 ω1 
= 10
Two frequencies related in this way are said to be one decade apart. The slope of our "high"
frequency approximation is then -20 dB per decade. Of course simply specifying the slope
does not uniquely determine a straight line; there are infinitely many straight lines with slope
-20 dB per decade. Recalling our earlier analogy with straight lines f(t), we recognize that
f(t)=a t is not the most general equation of a straight line in t: it is the equation of the specific
straight line in t passing through (0,0). The most general equation of a straight line in t is
f(t) = a t + b. To uniquely specify our straight line we must specify one point on the line. The
question of which point to specify, and the question of what constitutes a "low" or "high"
frequency are considered together. Since the low frequency approximation holds when ω
approaches zero, i.e. when
ω
ωo
<< 1
We approximate the magnitude function by its low frequency approximation
for all ω such that
ω
ωo
< 1 (i.e. for all ω such that ω < ω o.)
That is, we use the low frequency approximation (asymptote) for all ω such that ω < ω o.
Similarly we use the high frequency approximation (asymptote) for all ω such that
ω
ωo
> 1 (i.e. for all ω such that ω > ω o.)
The question of what point on the -20 dB per decade line to specify is settled by the above
approximation strategy: we select the point ω = ω o. The magnitude of a transfer function of
the form:
H ( s) =
1
 s + 1
ω

 o

is approximated by a straight line of 0 dB for all ω < ω and a straight line of slope -20 dB per
is approximated by a straight line of 0 dB for all ω < ω o and a straight line of slope -20 dB per
decade passing through the point having magnitude 0 dB at ω = ω o, for all ω > ω o. That is, 12
|H(jω)| is approximated as 0 dB for
ω < ω o, and |H(jω)| is approximated by 20 log(ω) -20 log(ω o) for ω > ω o.
e.g.
1
H1 ( s) :=
H4 ( s) :=
H2 ( s) :=
s
+1
0.5
1
1
H3 ( s) :=
s
+1
1
1
s
+1
3
ω := 0.1 , 0.2 .. 100
s
+1
12


 ω  
 , 0
 0.5  
H1 ( ω ) := if  ω > 0.5 , −20 ⋅ log 


ω 
 , 0
3
  
H3 ( ω ) := if  ω > 3 , −20 ⋅ log 


ω 
 , 0
1 
H2 ( ω ) := if  ω > 1 , −20 ⋅ log 


ω 
 , 0
 12  
H4 ( ω ) := if  ω > 12 , −20 ⋅ log 
(We shall discuss these Mathcad functions for plotting straight-line magnitude
approximations later when we do the first "First Order Magnitude Example.")
0
H1 ( ω )
0
H2 ( ω )
20
40
0.1
1
10
ω
100
20
40
0.1
1
10
ω
100
0
H3 ( ω )
13
0
H4 ( ω )
20
20
40
40
0.1
1
10
100
0.1
1
10
100
ω
ω
These plots are constructed on semi-log paper by hand as follows. First locate the break
frequency ω o, then draw a straight line of slope -20 dB per decade (downward and to the right)
starting at ω o. In some cases, for instance when ω o= 12 as above, the frequency that is one
decade above ω o is not on the graph. In these cases it is helpful if one knows the equivalent of
-20 dB per decade in dB per octave.
Octaves
Frequencies ω 1 and ω 2 are said to be one octave apart if ω 2 = 2 ω 1. (This terminology results
from musical theory where notes that are separated by eight diatonic pitches are said to be one
octave apart. For example middle C and the C one reaches by playing
C D E F G A B C, are an octave apart. Two notes that are an octave apart have a
frequency ratio of 2:1.) To find the slope in dB per octave that is equivalent to -20 dB per
decade we need to know how many decades there are in an octave. For ω 1 and ω 2 to be x
decades apart we require:
 ω2 
log 

ω
 1
= x
We can check the above result for pairs of frequencies whose separation in decades is known,
for example:
Separation
ω1
ω2
in decades
10
100
1
10
1000
2
10
10000
3
Now if ω 2 = 2 ω 1, then
 ω2 
log 

ω
 1
=
 2 ⋅ω 1 
log 

ω
 1 
=
log ( 2) = 0.30103
So frequencies ω 1 and ω 2 that are one octave apart are 0.30103 decades apart, and
1
1 octave = 0.30103 decades, and 1 decade =
octaves.
0.30103
Then
−20 ⋅
dB
decade
−20
=
dB
decade
⋅ 0.30103 ⋅
decade
octave
−6.0206 ⋅
=
dB
octave
or, -20 dB per decade is approximately -6 dB per octave. Referring again to the example
1
H4 ( s) =
s
+1
12
while the decade related frequency ω = 120 is not on the graph, the octave related frequency
ω = 24 is on the graph. So in this case one would draw a straight line of slope -6 dB per
octave starting at ω = 12.
Magnitude Plots of First order Zeros
The situation for zeros is very similar. Consider a transfer function H(s) such that
 s + 1

ω
o


H ( s) = 
The low frequency approximation (ω < ω 0) is:
H ( jω)
dB
 j ⋅ω
lim 20 ⋅ log 
=
 ω0
ω→0
The high frequency approximation is:
H ( jω)
dB
=
=
lim
ω→∞
lim
ω→∞
 j ⋅ω
20 ⋅ log 
 ω0
 ω 

ω
 0
20 ⋅ log 

lim 20 ⋅ log ( 1) = 0 dB
+1  =
ω→0


+1 

=
=
lim
ω→∞
lim
ω→∞
  j ⋅ω  

ω
  0 
20 ⋅ log  
(20 ⋅log(ω 0) − 20 ⋅log(ω ))
14
H ( jω)
=
dB
20 ⋅ log ( ω ) ⋅
dB
decade
15
First order zeros with break frequency "ω 0", are handled in a manner similar to the manner in
which we handled first order poles with break frequency "ω 0". The magnitude plot is a
horizontal straight line through 0 dB for ω < "ω 0", and a straight line of slope + 20 dB per
decade (6 dB per octave) through "ω 0", for all ω > "ω 0".
e.g.


 ω  
 , 0
 0.5  
H5 ( s) =
s
+1
0.5
H5 ( ω ) := if  ω > 0.5 , 20 ⋅ log 
H6 ( s) =
s+1
H6 ( ω ) := if  ω > 1 , 20 ⋅ log 
H7 ( s) =
s
+1
3
H7 ( ω ) := if  ω > 3 , 20 ⋅ log 
H8 ( s) =
s
+1
12
H8 ( ω ) := if  ω > 12 , 20 ⋅ log 


ω 
 , 0
1 


ω 
 , 0
3 


40
H5 ( ω )
ω 
 , 0
 12  
40
H6 ( ω )
20
0
20
0
0.1
1
10
100
0.1
ω
100
40
H8 ( ω )
20
20
0
0
0.1
10
ω
40
H7 ( ω )
1
1
10
ω
100
0.1
1
10
ω
100
Magnitude Plots of First Order Zeros and Poles at s = 0
16
First order magnitude plots for transfer functions that include zeros or poles at s = 0, that is for
terms where ω 0 = 0, require special attention. Consider a transfer function having a zero at 0,
H(s) = s. The magnitude function H(ω) is H(ω) = |20 log(ω)| for all values of ω. The
magnitude plot is a straight line of slope 20 dB per decade (6 dB per octave), passing through
0 dB at the value of ω for which 20 log(ω) = 0. Since log(1) = 0, the magnitude function is a
straight line of slope 20 dB per decade (6 dB per octave) passing through ω = 1. While this
function is relatively easy to draw, it does complicate the process of adding the individual
graphs together since there is no frequency range where the slope of the function is zero: the
function contributes a slope of 20 dB per decade at ALL frequencies. Similarly transfer
functions containing poles at zero, i.e.,
H ( s) =
1
s
have magnitude plots that are straight lines of slope -20 dB per decade (6 dB per octave)
passing through ω = 1. e.g.
H9 ( ω ) := 20 ⋅ log ( ω )
H9 ( s) = s
H10 ( s) =
1
s
H10 ( ω ) := −20 ⋅ log ( ω )
40
H9 ( ω )
40
H10 ( ω )
0
40
0.1
1
10
100
0
40
0.1
ω
1
10
ω
Multiple poles and zeros
100
Multiple poles and zeros
Transfer functions having terms of the form
 s + 1
ω

 o

n
or
17
1
 s + 1
ω

o


n
are handled exactly
as above except that the slope of the magnitude plot of the term having multiplicity n is not 20
dB per decade (6 dB per octave), but 20 n dB per decade (6 n dB per octave). This is true for
both zeros and poles except of course that poles have negative slopes. The slope
multiplication is also correct when ω 0 = 0, i.e. for poles and zeros at the origin (s = 0).
First Order Magnitude Examples
#1. As an example of the technique, consider the transfer function:
H ( s) =


2
 ( s + 2) ⋅ ( s + 4) 
5 ⋅
s ⋅ ( s + 3)
First we normalize the transfer function as follows:
H ( s) =

s


s ⋅ + 1 


5 ⋅3 
3



⋅
2 
2
2 ⋅4
 s + 1  ⋅ s + 1 

 
2

 4
 
=

s


s ⋅ + 1 


15 
3



⋅
2
32  s
 + 1  ⋅ s + 1  

 
2

 4
 
This example has several features that make it useful as an easy first example.
1. There are no break-points ω 0 with magnitudes less than 1. (Control System Transfer
Functions commonly contain break-points smaller than ω 0 = 1.)
2. None of the break points is more than 1 or 2 decades away from ω 0 =1. (Electronic
Filter Transfer Functions commonly contain break-points 4, 5,6 or even 7 decades above
ω 0 =1.)
The transfer function has 5 terms: a constant term of
15
, a zero at zero, a zero at 3, a
32
pole at 2 and a pole of multiplicity 2 at 4. The individual term magnitude plots along with the
composite plot formed by the addition of the individual terms are given below.
Mathcad Functions for Magnitude Approximations
Consider the task of writing the equation of the linear function graphed below.
x := −10 , −9 × .9 .. 10
f ( x) := 2 ⋅ x
20
This is very easy, since the y intercept is
zero we may write f(x) = m⋅ x where m is
the easily calculated slope.
10
f ( x)
0
10
20
10 5
0
5
10
Contrast the previous equation with the
equation of the linear function graphed
below
x
g ( x) := 2 ⋅ x − 5
20
10
.
g ( x)
0
10
20
10 5
0
x
5
10
This is only slightly more difficult since
we must find the y intercept b as well as
the slope m, and the function is
g(x) = m⋅ x + b. However, notice that
when we plot | H(jω) | vs log(ω), we are
frustrated since there is no place on the
plot where log(ω) = 0. (However many
decades smaller than log(ω) = 1.0 we
go.)
The key to solving our problem is to note that the second fuction g(x) is merely the first
function f(x) shifted to the right by 2.5 units. By substitution of x -> (x - 2.5) in f(x) we have
g(x) = 2 ⋅ ( x − 2.5) = 2 ⋅ x − 5. We are then able to write the equation for g(x) without
knowing the y intercept.
18
1
First consider | H(jω) | vs log(ω), where H(s) =
s
(Note that in Mathcad we Format X Y Axes to set
the x axis to a log axis)
50
H10 ( ω )
19
0
50
0.1
1
10
100
ω
Now consider what happens when we replace
[log(ω)] in H10(ω) by [log(ω) -log(3)].
40
( ( ))
Since H10(ω) = −20 ⋅ log ω , when we replace
[log(ω)] by [log(ω) -log(3)] , we get
ω

3
−20 ⋅ ( log ( ω ) − log ( 3) )= −20 ⋅ log 
ω

3
H10 
20
0
20
40
1
which is | H(jω) | vs log(ω), where H(s) =
s
0.1
1
10
100
10
100
ω
shifted to the right by 2. (3 - 1 = 2)
Finally consider | H(jω) | vs log(ω), where
H(s) =
1
0
H3 ( ω )
s
+1
3
ω
for ω >3.
3
 
Note that H (ω) is 0 for ω < 3 and H10 
3
20
40
0.1
1
ω
The if statement in Mathcad is perfectly suited to generating piece-wise linear functions.
The syntax is if(condition,true,false), where condition is a logical (boolean) expression, true
is the expression to be returned if the condition is true, and false is the expression to be
returned if the condition is false. For example, the magnitude approximation of
H(s) =
1
s
+1
3


ω 
 , 0 . In general the magnitude
3 
is H(ω) = if  ω > 3 , −20 ⋅ log 
1
approximation in Mathcad for a term of the form H(s) =
s
+1
ω0

is
 ω  
 , 0 .
ω
 0 
H(ω) = if  ω > ω 0 , −20 ⋅ log 

The magnitude approximation for a term of the form H(s) =

s
+ 1 is
ω0
 ω  
 , 0 .
ω
 0 
if  ω > ω 0 , 20 ⋅ log 

For our example then, we have:
 15 

 32 
M1 ( ω ) := 20 ⋅ log 


ω 
 , 0
3
  
M2 ( ω ) := if  ω > 3 , 20 ⋅ log 
6.57
M1 ( ω ) 6.58
M2 ( ω )
20
0
6.59
0.1
1
10
100
0.1
1
ω
10
100
ω
M3 ( ω ) := 20 ⋅ log ( ω ) (See plot of H9 above.)


ω 
 , 0
2
  
M4 ( ω ) := if  ω > 2 , −20 ⋅ log 


ω 
 , 0
4
  
M5 ( ω ) := if  ω > 4 , −40 ⋅ log 
20
0
M4 ( ω )
21
0
M5 ( ω )
20
20
0.1
1
10
40
100
0.1
1
10
100
ω
ω
In Mathcad all we have to do to add these functions point-by-point is to
define MT ω as
( )
MT ( ω ) := M1 ( ω ) + M2 ( ω ) + M3 ( ω ) + M4 ( ω ) + M5 ( ω )
( )
and plot MT ω
5
0
5
MT ( ω )
10
15
20
25
30
0.1
1
10
100
ω
This is our composite Bode magnitude plot!
To proceed by hand with semi-log paper, we must first discuss some peculiarities of semi-log
paper.
Semi-log paper
Several remarks are in order concerning the use of semi-log paper. First, since the vertical
scale is linear, all magnitudes must be converted into dB. For example, the magnitude of the
constant term
15
 15  = -6.58 dB. Second, since the
must be converted to dB as 20 ⋅ log 

32
 32 
frequency scale is a log scale it is never necessary to take the log of any frequency: by
locating frequencies according to their values as described by the log scale, the curve is
automatically scaled horizontally according to log(ω). Finally the frequency scale must be
oriented so that the distance between successive numbers decreases as one proceeds
from left to right; this usually means placing the log scale markings on top. The log scale
runs from 1 to 1 three times on 3 cycle semi-log paper. The scale markings must be
identified as to their magnitudes as shown above in our composite Bode magnitude plot .
Using the scale in our example #1 abovee.g., the first cycle is 0.1, 0.2, 0.3, ... 0.9, 1.0, the
second cycle is 1.0, 2.0, 3.0, ... 9.0, 10.0, the third cycle is 10.0, 20.0, 30.0, 90.0, 100.0.
The frequency scale can be set to span any three decade frequency range that is desired.
We could have for example, 0.01 to 10.0, or 1 to 1000.0, or 1000 to 1000000, or any range
that is necessary to represent the magnitude plot of the transfer function at hand. To follow
the steps we now give, refer to the figure that follows the steps.
The composite drawing is produced on semi-log paper as follows:
1)
Add all the contributions to the magnitude at ω = 1. In the case of our present example
this would be:
-6.58 + 0 + 0 + 0 + 0 = -6.58 dB. Enter point #1.
2)
Determine the behavior of the composite function for frequencies smaller that ω = 1.
In our example the only contribution to the magnitude function for ω < 1 is the
contribution from the zero at zero ( the s term in the numerator). Therefore at ω = 0.1
the magnitude is 20 dB smaller than it is at ω = 1 since the slope of the magnitude
function is +20 dB per decade. So the Magnitude at ω = 0.1 = -6.58 - 20 = -26.58.
Enter point #2
3)
Determine the behavior of the composite function for ω > 1. Again in our example, for
1 < ω < 2, the only contribution to the magnitude function is from the zero at zero, so
extend the +20 dB per decade line to ω = 2 and enter point #3.
(-6.58 dB +
 log  2  ⋅ decades ⋅ 20 ⋅ dB  = -0.56 dB)
  

decade 
 1
22
4)
5)
For 2 < ω < 3, we have two contributions to the composite magnitude function: the
contribution of the zero at zero, and the contribution of the pole at 2. Since the zero at
zero contributes a slope of +20 dB per decade and the pole at 2 contributes a slope of
-20 dB per decade, the contributions cancel each other out and the composite
magnitude function does not change between ω = 1 and ω = 2, so draw a horizontal
line from point #3 to ω = 3. Enter point #4.
For ω > 3 we must add the contribution of the zero at 3. This adds another slope of
+20 dB per decade so we would like to draw a line with slope +20 dB per decade
between ω = 3 and ω = 30. Unfortunately the magnitude 19.5 dB is beyond the range
of our graph, so we draw a line with slope +6 dB per octave between ω = 3 and ω = 6,
 6  ⋅ 20 = 5.46dB)

3
giving us point #5. ( - 0.56 + log 
6)
At ω = 4, the composite function changes character again as we must add the
contribution of the double pole (pole of multiplicity 2) at 4. Enter point #6
(Point #6 is where the line we drew in step 5 intersects ω = 4)
 4  ⋅ 20 = 1.94dB)

3
(-0.56 + log 
7)
For ω > 4 the double pole at ω = 4 adds a slope of -40 dB per decade so the total
slope for ω > 4 is +20 - 20 + 20 - 40 = -20 dB per decade, so enter point #7.
(1.94 - 20 = -18.06)
This completes the straight-line approximation to the magnitude of the transfer function
H ( s) =
s ⋅ ( s + 3)


5 ⋅
2
(
s
+
2
)
⋅
(
s
+
4
)


L(ω) is the construction line in step 5.
ω

3
L ( ω ) := −0.56 + 20 ⋅ log 
 0.1
 1.0
 2.0

points :=  3.0
 4.0

 6.0
 40

−26.58 

−6.58 
−0.56 

−0.56 
1.94 

5.46 
−18.06 
23
24
10
0
MT ( ω )
( points)
⟨1⟩
L(ω )
10
20
30
40
Points
0.1
1
^
^
#2
#1
10
⟨ ⟩
ω , points 0 , ω
^ ^ ^ ^
Example #2
H ( s)
=
 s + 1  ⋅ ( s + 5)


4

1

s ⋅ s + 
2

=
=
ω := 0.1 , 0.15 .. 10
5
5
#3
#4 #6
#5
100
^
#7
 s + 1 ⋅  s + 1 

 1
 5
1





⋅5   
4
 4 

⋅
1
 s + 1
s
⋅
 1

2


 

2
 

 s + 1 ⋅  s + 1 

 1
 5




 

5  4 

⋅
2
 s + 1
s ⋅

1

 

2
 

5
M1 ( ω ) := 20 ⋅ log  
2

M2 ( ω ) := if ω >


5
20 ⋅ log   = 7.959
2
1
 ω  
, 20 ⋅ log 
 , 0
4
1

  
 4  
25


ω 
 , 0
5 
M3 ( ω ) := if  ω > 5 , 20 ⋅ log 

M5 ( ω ) := if ω >
M4 ( ω ) := −20 ⋅ log ( ω )


1
 ω  
, −20 ⋅ log 
 , 0
2
1
    
 2  
7.97
7.965
M1 ( ω ) 7.96
M2 ( ω )
7.955
7.95
0.1
20
0
1
10
0.1
ω
1
10
ω
10
20
M3 ( ω )
M4 ( ω )
0
0
0.1
1
10
ω
M5 ( ω )
20
1
ω
0.1
1
ω
0
0.1
20
10
10
MT ( ω ) := M1 ( ω ) + M2 ( ω ) + M3 ( ω ) + M4 ( ω ) + M5 ( ω )
26
 0.1 27.96 
 0.25 20 
points :=  0.5
20 


 1.0 13.98 
 5.0
0 

1
 1  = 12.0412 dB and
the contribution from the pole at ω = 0 is 20 ⋅ log 
4
1 

 
 4 
5
the contribution from the constant is 20 ⋅ log   = 7.959 dB. So the total contribution at
2
1
log(ω) =
is 20 dB => point #1. Since the magnitude response is -20 dB per decade for
4
 1 
 4 
1
   = 27.96. For
ω < , we may plot point #2 as ω = 0.1 and magnitude 20 + 20 ⋅ log 
4
 0.1 
1
1
1
<ω<
the zero at
cancels the pole at zero, and we draw a horizontal line to point #3
4
2
4
1
1
at ω = . For
< ω < 5, we have slope -20 dB per decade so we plot point #4 at ω = 1.0
2
2
 1  = 13.98 dB. Finally for 5 < ω , we have
and magnitude 20 - 20 ⋅ log 
1 

 
 2 
At log(ω) =
-20 + 20 - 20 + 20 = 0 dB, hence point #5 at ω = 5 and magnitude
 5  = 0dB.

1
13.98 - 20 ⋅ log 
30
27
25
20
MT ( ω )
15
⟨ ⟩
points 1
10
5
0
5
0.1
1
10
⟨ ⟩
ω , points 0
Points
^
^
^
^
^
#2
#1
#3
#4
#5
Example #3
H ( s) =
100000 ⋅ s
100000
=
⋅
( s + 10000) ⋅ ( s + 50000)
10000 ⋅ 50000 
s
s
  s + 1
+ 1  ⋅


 10000
  50000

ω := 100 , 200 .. 1000000
 100000 
8 
 5 ⋅ 10 
M1 ( ω ) := 20 ⋅ log 
M2 ( ω ) := 20 ⋅ log ( ω )


 ω  
 , 0
10000

 


 ω  
 , 0
50000

 
M3 ( ω ) := if  ω > 10000 , −20 ⋅ log 
M4 ( ω ) := if  ω > 50000 , −20 ⋅ log 
28
M1 ( ω ) 74
74.1
100
1 .10
3
1 .10
ω
4
1 .10
1 .10
5
6
200
M2 ( ω ) 100
0
100
M3 ( ω )
1 .10
1 .10
ω
1 .10
1 .10
1 .10
1 .10
ω
1 .10
1 .10
1 .10
1 .10
ω
1 .10
1 .10
3
4
5
6
0
20
100
M4 ( ω )
3
4
5
6
0
20
100
3
4
5
MT ( ω ) := M1 ( ω ) + M2 ( ω ) + M3 ( ω ) + M4 ( ω )
6
 100 −33.979 


4
6.021 
 10
points := 

4
5
⋅
10
6.021




5
 5 ⋅ 10 −13.979 
At log(ω) = 100 we have -73.979 from the constant term and 0dB +


( 2 ⋅ decades) ⋅  20 ⋅
dB 
 = 40 dB so the total magnitude at log(ω) = 100 is
decade 
4
40 - 73.979 = -33.979 => pont #1. For 100 < ω < 10 we have
+20 dB per dacade so point #2 at ω =
 10 4 

10 and magnitude -33.979 + 20 ⋅ log 
100


4
4
4
=6.021. For ω > 10 , the pole at 10 cancels the zero at 0 and we have a horizontal
4
line to point #3. For 5 ⋅ 10 < ω we have slope - 20 dB per decade, so point #4 at
5
ω = 5 ⋅ 10 and magnitude 6.021 - 20 dB = -13.979
10
0
MT ( ω )
⟨ ⟩
points 1
10
20
30
40
100
Points
1 .10
^
1 .10
⟨ ⟩
ω , points 0
^
^
^
#1
#2
#3
#4
3
4
1 .10
1 .10
5
6
29
First Order Magnitude Errors
30
It should be noted that there is an error associated with the straight-line approximation to the
first order magnitude function, and that the error is greatest at the break frequency "ω 0" where
the assumptions about "high" and "low" frequencies are the weakest. The highest "low"
frequency is ω = ω 0, and the lowest "high" frequency is also ω = "ω 0". The magnitude of the
error can be found by evaluating H(jω) at ω = ω 0. For pole terms, the error is given by the
difference between 0 dB and
1

 j⋅ ω + 1
 ω 0
20 ⋅ log 





2
2) 
(
1
+
1


1
evaluated at ω = ω 0, which is 20 ⋅ log 
= −20 ⋅ log
( 2)
= -3.103 dB
So for a pole the magnitude is actually at -3 dB rather than at 0 dB as predicted by the
straight-line approximation.
For zero terms the error is given by the difference between 0 dB and

ω

ω0
20 ⋅ log  j ⋅

+ 1  evaluated at ω = ω 0, which is

20 ⋅ log 
=
(1 2 + 1 2)
20 ⋅ log ( 2)
= 3.103 dB
So for a zero the magnitude is actually at +3 dB rather that at 0 dB as predicted by the
straight-line approximation.
First Order Phase Approximations
The first order phase response is the difference in phase angle between the input sinusoid
and the output sinusoid as a function of frequency for a system characterized by a transfer
function of the form:
H ( s) =
s + ωo
(First order zero at ω o)
where ω o is referred to as the break frequency for reasons that are apparent from our
investigation of the magnitude response, and which plays an important role in the phase
response as well.
The phase response as a function of frequency is:
 ω 

 ωo 
Φ ( ω ) = atan 
 ω  360
⋅
 1  2⋅ π
atan 
31
A plot of Φ vs. log(ω) for ω o= 1 is shown below:
ω := 0.01 , 0.02 .. 100
90
80
70
60
50
40
30
20
10
0
0.01
0.1
1
10
100
ω
Our first approach to a straight-line approximation might be to calculate the slope of the phase
function at ω = ω o and draw a line with that slope through the point on the phase function
where ω = ω o. This is the basis for the approach that Nilsson [1] takes to second order phase
approximations. The slope of the phase function at ω = ω o is found by evaluating the
derivative of the phase function at ω = ω o.
The derivative of Φ(ω), is
d
dω
 ω 

ω
o
 
atan 
Which evaluated at ω = ω o gives: slope =
1
=
2 
 
ω
ω o ⋅  1 +

2
 

ω
o
 

1
(2 ⋅ω o)
Unfortunately this is the slope in radians per radian, not radians per decade. To calculate the
slope in radians per decade we must calculate the "rise" over the "run" where the "rise" is in 32
radians and the "run" is in decades. Since we are interested in the slope at the point where
ω = ω o , we take as the rise, the limit as ∆ approaches 0 of:
( ω o + ∆ ) − ( ω o − ∆ ) ⋅
2 ⋅ω
(The difference in ω is 2 ∆ )
1
o
For the run we use the limit as ∆ approaches 0, of 2∆ expressed in decades. Since one
decade is defined as the distance between two frequencies ω 1 and ω 2, where ω 1 and ω 2 are
related as ω 2 = 10 ω 1, we have:
( )
( )
∆ω (in decades) = log ω 2 − log ω 1 =
 ω2 
log 

ω
 1
 ω2 
which gives log 
 = 1 decade if ω 2 = 10ω 1 as required.
ω
 1
The run is given then, by the
limit as ∆ approaches 0 of:
 ωo + ∆ 
log 

ω
−
∆
 o

The slope in radians per decade is given then as:
 ω + ∆ − ω − ∆  ⋅ 1 
) ( o ) 2 ⋅ω 
 ( o
o
lim 
 ωo + ∆ 

∆ω → 0 
log 



ω
−
∆
o




which simplifies to
1
⋅ ln ( 10)
2
(We must use L'Hopital's rule.)
An interesting aspect of this result is that the slope of the phase function (in radians per
decade) evaluated at the break frequency ω o is independent of the value of ω o. This is, of
course, one of the principle reasons for plotting the phase function against log (ω) rather than
against ω. Phase functions for various values of ω o are plotted below to demonstrate the
plausibility of the independence of the slope at ω = ω o from the value of ω o.
1
radians
=
⋅ ln ( 10) ⋅
2
decade
1
360 degrees
⋅ ln ( 10) ⋅
⋅
2
2 ⋅ π decade
 ω  360
⋅
0.1

 2 ⋅π
 ω  360
⋅
0.5

 2 ⋅π
Φ 1 ( ω ) := atan 
Φ 1(ω )
90
80
70
60
50
40
30
20
10
0
0.01 0.1
Φ 2 ( ω ) := atan 
Φ 2(ω )
1
10 100
90
80
70
60
50
40
30
20
10
0
0.01 0.1
ω
 ω  360
⋅
5
  2 ⋅π
Φ 3(ω )
 ω  360
⋅
10
  2 ⋅π
Φ 4 ( ω ) := atan 
Φ 4(ω )
1
10 100
ω
Φ 3 ( ω ) := atan 
90
80
70
60
50
40
30
20
10
0
0.01 0.1
1
10 100
90
80
70
60
50
40
30
20
10
0
0.01 0.1
1
10 100
ω
ω
First Straight-Line Approximation (Inadequate)
The slope of the phase function evaluated at the break frequency is
360 1
⋅ ⋅ ln ( 10) = 65.964
2 ⋅π 2
Deg
Dec
If we plot a straight line with this slope through the phase function at the break frequency we
obtain the following result. (We have normalized the break frequency ω o to 1)
L ( ω ) := 45 + 65.964 ⋅ log ( ω ) degrees per decade
33
L1 ( ω ) := 45 + 65.964 ⋅ log ( ω ) degrees per decade
90
80
70
60
50
40
30
20
10
0
0.01
 ω  360
⋅
 1  2⋅ π
atan 
L1 ( ω )
0.1
1
34
10
100
ω
We propose as our first straight-line approximation to the first order phase
function:
_
| 0
if ω < ω lo
Φ approx ω
| 45+65.964 log(w) if ω lo < ω < ω hi
=
|_90
if ω hi< ω
( )
where ω lo is the frequency where L1(ω) intersects 0 degrees, and ω hi is the frequency where
L1(ω) intersects 90 degrees. Since 45 + 64.964 log(ω hi )= 90 we have:
ω hi = 
 10
45 
64.964 
 ⋅ω o
or ω hi= 4.928 ⋅ ω o
Since 45 + 64.964 log( w) = 0 we have:
ω lo =
− 45 

 64.964 
 10
 ⋅ω o
or ω lo = 0.2029 ⋅ ω o
This approximation suffers from two principal shortcomings. The first disadvantage is that the
line L1(ω) underestimates the range of frequencies over which the phase function changes
with ω. In other words the error, i. e., the difference between Φ(ω) and Φ approx (ω) at ω lo and
at ω hi is too large. The second problem is the complexity of the expressions for ω lo and ω hi.
Let us devise a new straight-line approximation by applying one of the oldest, most
fundamental engineering rules of thumb to the selection of ω lo and ω hi. The rule of thumb in
question is the notion that if quantity a is less that
1
of quantity b, then compared to
10
quantity b, quantity a may be ignored to a first order approximation.
Standard Phase Approximation (Best)
Standard Phase Approximation (Best)
35
For small frequencies, i.e. for frequencies smaller than ω lo, Φ(ω) -> 0, so let us choose for ω lo
not .2029 ω , but
o
ω0
10
. Similarly for large frequencies, i.e. for frequencies larger than ω ,
hi
Φ(ω) −> 90, so let us choose not ω hi = 4.928 ω o, but ω hi = 10 ω o. The straight line resulting
from this selection changes value from 0 to 90 over a frequency range of
Since the distance between
ω0
10
ω0
10
to 10 ⋅ ω 0.
and ω is one decade and the distance between
o
ω0
10
and
10 ⋅ ω 0 is one decade, the slope of the line is 90 degrees per 2 decades or 45 degrees per
decade. (45 deg per decade = log ( 2) ⋅ 45 deg per octave = 13.56 deg per octave.) The new
straight-line approximation as well as the original straight-line approximation, are plotted below.
L2 ( ω ) := 45 + 45 ⋅ log ( ω )
L1 L2
 ω  360
⋅
 1  2⋅ π
atan 
L1 ( ω )
L2 ( ω )
90
80
70
60
50
40
30
20
10
0
0.01
0.1
1
10
100
ω
In general for a zero at ω 0, we have Φ(ω) =

ω0

 ω 

if  ω <
, 0 , if  ω < 10 ⋅ ω 0 , 45 + 45 ⋅ log 
,
90


10
ω
0


 

The line L (ω) is the familiar 45 degree per decade straight-line approximation to which all
The line L2(ω) is the familiar 45 degree per decade straight-line approximation to which all
undergraduate engineering students are introduced. The result is too often simply stated with 36
little or no explanation of the underlying derivation. In fact, well over 95% of the over 100
 ω 

ω
 0
electrical engineering students informally surveyed thought that the slope of atan 
evaluated at ω = ω o has a value of 45 degrees per decade. Before we demonstrate how this
same line of reasoning can be applied to the second order phase response, let us calculate the
errors of L1(ω) and L2(ω) at their respective ω lo and ω hi.
At ω lo we have:
atan ( 0.2029) ⋅
and
360
2 ⋅π
atan ( 0.1) ⋅
360
2 ⋅π
= 11.47
So the error at ω lo is 11.47 degrees for L1(ω)
= 5.711
So the error at ω lo is 5.711 degrees for L2(ω)
At ω hi we have:
atan ( 4.928) ⋅
and
360
2 ⋅π
atan ( 10) ⋅
= 78.529
360
2 ⋅π
= 84.289
So the error at ω hi is 90 - 78.529 = 11.47 degrees
for L1(ω)
So the error at ω hi is 90 - 84.289 = 5.711 degrees
for L2(ω)
A similar analysis for the related transfer function
gives the following result:
L3 ( ω ) := −45 − 65.964 ⋅ log ( ω )
L4 ( ω ) := −45 − 45 ⋅ log ( ω )
H ( s) =
1
s + ωo
L4 L3

 ω   360
 0−atan    ⋅

 1   2⋅ π
L3 ( ω )
L4 ( ω )
0
10
20
30
40
50
60
70
80
90
0.01
37
0.1
1
10
100
ω
In general for a pole at ω 0 we have Φ(ω) =

ω0

 ω 

if  ω <
, 0 , if  ω < 10 ⋅ ω 0 , −45 − 45 ⋅ log 
,
−
90


10
ω
0


 

For both transfer functions we see that the 45 degree per decade approximation better
represents the phase function because it distributes the error on both sides of the line,
whereas the 66 degree per decade approximation (the one based on the slope of the phase
function at the break frequency) puts all of the error on one side of the line. In other words the
45 degree per decade line is a better linear curve fit to the phase function. This results in the
smaller errors at ω lo and ω hi.
Phase Plots of First Order Poles and Zeros at s = 0
The phase function Φ(ω) for a tranfer function H(s) = s is found by taking the angle of H(jω)
as follows:
H ( jω) = jω = 0 + jω
The angle of such a complex number is
 Re ( H ( jω) ) 

 Im( H ( jω) ) 
Φ ( ω ) = atan 
θ := 0 ,
π
.. 2 ⋅ π
10
=
ω

0
atan 
= 90 Deg for all ω


f1 ( θ ) := if  θ =
π

, 1 , 0
2

120
100
90
150
f1 ( θ )
50
0
0.01
0.1
1
10
90
30
0.6
0.2
180
0
210
100
ω
38
60
330
240
270
θ
300
Plot of 0 + j 1 = 1 at angle 90 deg
in the complex plane
The phase function Φ(ω) for a tranfer function H(s) =
1
s
is found by taking the angle of H(jw) as follows:
H ( jω) =
1
jω
= 0−
j
ω
The angle of such a complex number is
 Re ( H ( jω) ) 

(
(
)
)
Im
H
jω


Φ ( ω ) = atan 
=
− 1 
 ω 


atan 
 0 
= -90 Deg for all ω


f2 ( θ ) := if  θ =
120
0
− 90
f2 ( θ )
50
100
0.01
0.1
1
ω
10
100
150
90
3 ⋅π

, 1 , 0
2

60
30
0.6
0.2
180
0
210
330
240
270
θ
300
Plot of 0 - j 1 = 1 at angle -90 deg in the complex plane
Phase Plots of Constant Terms
39
Constant terms K produce no phase shift at all if K > 0 since the angle of K + j0 = 0.
f3 ( θ ) := if ( θ = 0 , 1 , 0)
120
1
0
f3 ( θ )
0
1
0.01
0.1
1
10
150
90
60
30
0.6
0.2
180
0
210
100
330
240
ω
270
θ
300
Plot of 1 + j 0 = 1 at angle 0 deg in the
complex plane
Constant terms K such that K < 0 produce a phase shift of 180o for all ω, since the angle of
-K + j0 is 180o.
f4 ( θ ) := if ( θ = π , 1 , 0)
120
400
180
f4 ( θ )
200
0
0.01
0.1
1
10
100
ω
150
90
60
30
0.6
0.2
180
0
210
330
240
270
θ
300
Plot of -1 + j 0 = 1 at angle180 deg in
the complex plane
First Order Phase Approximation Examples
First Order Phase Approximation Examples
#1. H ( s) = −5 ⋅
s+1
s ⋅ ( s + 12)
ω := 0.01 , 0.02 .. 1000
Since the angle of
 s + 1


−5  1

⋅
H ( s) = 12
 s + 1
s ⋅

 12

−5
+ j0 = 180 degrees , the constant term contributes a phase of
12
180degrees for all ω. (A positive constant has angle = 0 and so would not produce any
phase contribution an all.) The pole at s = 0 contributes a phase of -90 degrees for all ω,
so the constant phase is 180 - 90 = 90 degrees. The zero at s = 1 contributes a phase
shift that varies from 0 degrees for ω < 0.1 to 90 degrees for ω > 10, varying linearly at
+ 45 degrees per decade for 0.1 < ω < 10. The pole at s = 12 contributes a phase shift
that varies from 0 degrees for ω < 1.2 to -90 degrees for ω > 120, varying linearly at -45
degrees per decade (-13.56 degrees per octave). We begin by calculating the phase shift
for all ω < 0.1 as 180 - 90 = 90 degrees, fixing point 1. The next step is to make an
auxiliary drawing like the one below, which assumes that all of the phase change
contributed by each pole and zero occurs suddenly at the break point ω o (the solid red line
with vertical segments). Next draw in the 45 degrees per decade lines at the proper
locations on the same drawing. (These are the blue dashed lines.) We now can see all
the contributing slopes at all frequencies. (The black line at 135 degrees help us
associate a blue line with a red vertical trasition as follows. The red vertical transition, the
black line at 135 degrees and the blue line associated with that red vertical trasition all
intersect at the same point.) The construction of the phase plot itself begins with a straight
line of +45 degrees per decade between ω = 0.1 and ω = 1.2 (point 2), fixing point 3.
Notice that for 1.2 < ω < 10 we have a slope of +45 -45 = 0 degrees, so construct a
horizontal line from point 3 to point 4. Finally we have a slope of -13.6 degrees per octave
(point 5) between ω = 12 and ω = 120, so construct a straight line of slope -45 degrees
per decade ( -13.6 degrees per octave) to point 6.
 0.01

 1
 1
A := 
 12
 12

 1000
90 

90 
180 

180 
90 

90 
 1 90 

B :=  10


 10 180 
 12 180 

C :=  10


 120 90 
 1
 10
 12
D := 
10

 10
 120




180 

180 
90 
90 
40
41
180
⟨ ⟩
A1
160
⟨ ⟩
B1
140
⟨ ⟩
C1
⟨ ⟩
D1
120
135
100
80
0.01
0.1
1
10
⟨ ⟩ ⟨ ⟩ ⟨ ⟩ ⟨ ⟩
A0 ,B 0 ,C 0 ,D 0 ,ω
100
1 .10
3
Auxilliary drawing


Φ 1 ( ω ) := if  ω <
Φ 2 ( ω ) := −90


Φ 4 ( ω ) := if  ω <
1

ω

, 0 , if  ω < 10 , 45 + 45 ⋅ log   , 90  
10

1

Φ 3 ( ω ) := 180
12

ω

, 0 , if  ω < 10 ⋅ 12 , −45 − 45 ⋅ log 
 , −90  
10

 12 

90
 0.01

 0.1

90


 1.2 138.563 
points := 

10 138.563


90
 120

 3

90
 10

Φ T ( ω ) := 0 + Φ 1 ( ω ) + Φ 2 ( ω ) + Φ 3 ( ω ) + Φ 4 ( ω )
42
100
Φ 1 ( ω ) 50
0
0.01
0.1
1
10
100
1 .10
100
1 .10
3
ω
0
Φ 4 ( ω ) 50
100
0.01
0.1
1
10
3
ω
140
Φ T( ω )
⟨ ⟩
points 1
Points
120
100
80
0.01
0.1
^
^
#1
#2
1
10
⟨ ⟩
ω , points 0
^
^
#3
#4
100
1 .10
3
^
^
#5
#6
At ω = 0.1 the contributions to the phase function are the constant -90 degrees from the
pole at ω = 0 and the 180 degress from the (-5) constant term so point #1.
For ω <
1
, the slope is 0 degrees per decade so point #2.
10
1
< ω < 1.2 we have slope +45 degrees per decade so point #3.
10
 1.2  =138.563 )
( 90 + 45 ⋅ log 

 0.1 
For 1.2 < ω < 10 the slope is + 45 + -45 = 0 degrees per decade so point #4.
For 10 < ω < 120 the slope is -45 degrees per decade so point #5.
 120  = 90 degrees.) For ω > 120 we have slope = 0 so point #6.
(138.563 - 45 ⋅ log 

 10 
For

s


s ⋅ + 1 


15 
3


 ω := 0.1 , 0.2 .. 100
⋅
2
32  s
 + 1  ⋅ s + 1  

 
2

 4
 
#2
H ( s) =


Φ 1 ( ω ) := if ( ω ) <


Φ 2 ( ω ) := if  ω <
3

ω

, 0 , if  ω < 3 ⋅ 10 , 45 + 45 ⋅ log   , 90 
10

3

2

ω

, 0 , if  ω < 2 ⋅ 10 , −45 − 45 ⋅ log   , −90  
10

2

100
0
Φ 1 ( ω ) 50
0
0.1
Φ 2 ( ω ) 50
1
10
100
100
0.1
1
ω


Φ 3 ( ω ) := if ( ω ) <
4

ω

, 0 , if  ω < 4 ⋅ 10 , −45 − 45 ⋅ log   , −90 
10

4

10
ω
100
43
0
Φ 3 ( ω ) 50
100
0.1
1
10
100
ω
 2 90 

B :=  10


 20 0 
 0.1

 2
 2

3
A := 
 3

 4
 4

 100
 3 0 

C :=  10


 30 90 
90 

90 
0 

0 
90 

90 
0 

0 






E := 






 4 90 

D :=  10


 40 0 
100
⟨ ⟩
A1
⟨ ⟩
B1
⟨ ⟩
C1
⟨ ⟩
D1
⟨ ⟩
E1
80
60
40
20
45
0
0.1
1
10
⟨ ⟩ ⟨ ⟩ ⟨ ⟩ ⟨ ⟩ ⟨ ⟩
A0 ,B 0 ,C 0 ,D 0 ,E 0 ,ω
Auxilliary Diagram
100
2
 44
90 
10
3
10
4
10
20
30
40


0 

90 


0

90 

0 
Φ T ( ω ) := 90 + Φ 1 ( ω ) + Φ 2 ( ω ) + Φ 3 ( ω )
 0.1

 0.2
 0.3

0.4
points := 
 20

 30
 40

 100


90 
82.076 

82.076 
5.622 

5.622 

0

0

90
100
Φ T( ω )
⟨ ⟩
points 1
50
0
0.1
1
10
100
⟨ ⟩
ω , points 0
^
Points
#1
^
^ ^
#2 #3 #4
^
^ ^
#5 #6 #7
^
#8
2
, the slope of Φ T ( ω ) is zero, and the only contribution is from the zero at
10
2
3
ω = zero, so point #1 and point #2. For
< ω <
, the slope is -45 degrees per
10
10
 0.3  = 82.076 degrees.) For 3 < ω < 4 , the
decade so point #3. ( 90 - 45 ⋅ log 

10
10
 0.2 
4
slope is -45 + 45 = 0 so point #4. For
< ω < 2 ⋅ 10 , the slope is -45 + 45 - 45 = -45
10
 20  = 5.622)
degrees per decade so point #5. (82.076 - 45 ⋅ log 

 0.4 
For all ω <
45
For 20 < ω < 30 , the slope is +45 - 45 = 0 degrees per decade so point #6.
46
 40 

 30 
For 30 < ω < 40 , the slope is -45 degrees per decade so point #7. (5.622 - 45 ⋅ log 
= 0) For all ω > 40 , the slope is 0 so point #8.
 s + 1 ⋅  s + 1 

 1
 3
1





⋅3   
4
 4 

⋅
1
 s + 1
s
⋅
 1

2


 

 2 

#3.
H ( s) =
 s + 1  ⋅ ( s + 3)


4

1

s ⋅ s + 
2

=
=
 s + 1 ⋅  s + 1 

 1
 3




 

3  4 

⋅
2
 s + 1
s ⋅

1

 

 2 

ω := 0.01 , 0.015 .. 100

1

 

4

1
 ω  

Φ 1 ( ω ) := if  ( ω ) <
, 0 , if ω < 10 ⋅ , 45 + 45 ⋅ log 
 , 90 
10
4
1



   


 4   
100
Φ 1 ( ω ) 50
0
0.01
0.1
1
ω
10
100

1




2

1
 ω 


Φ 2 ( ω ) := if  ( ω ) <
, 0 , if ω < 10 ⋅ , −45 − 45 ⋅ log 
 , −90 
10
2
1


   



 2 


3

ω

Φ 3 ( ω ) := if  ω <
, 0 , if  ω < 10 ⋅ 3 , 45 + 45 ⋅ log   , 90  
10


3

100
0
Φ 3 ( ω ) 50
Φ 2 ( ω ) 50
0
0.01
0.1
1
10
100
100
0.01
0.1
ω
 0.01

 1
 4
 1

 4
 1
A := 
2

 1
 2

 3
 3

 100
47
−90 

−90 


0 


0 


−90


−90 
0 

0 
1
10
ω



B := 



1

 

 4  −90 
10


1
⋅ 10 0 
4




C := 



1
 
2


0 
10


1
⋅ 10 −90 
2

 3 −90 

D :=  10


 30 0 








E := 









1

 

 4  −90 
10


1
 

2 0 
10


3
−90 
10


1
⋅ 10 0 
4

1
⋅ 10 −90 

2

30
0 
100
Φ T ( ω ) := −90 + Φ 1 ( ω ) + Φ 2 ( ω ) + Φ 3 ( ω )
48
0
⟨ ⟩
A1
⟨ ⟩
B1
⟨ ⟩
C1
20
40
⟨ ⟩
D1
⟨ ⟩
E1
60
− 90+45 80
100
0.01
 0.01







points := 









0.1
1
10
⟨ ⟩ ⟨ ⟩ ⟨ ⟩ ⟨ ⟩ ⟨ ⟩
A0 ,B 0 ,C 0 ,D 0 ,E 0 ,ω
−90 

−90 


1
−76.45 
20


3
−76.45 
10

10
−35.02 

4

10
−35.02 
2


30
0

100
0

1
40
Auxilliary Diagram
100
49
0
20
Φ T( ω )
40
⟨ ⟩
points 1
60
80
100
0.01
0.1
1
10
100
⟨ ⟩
ω , points 0
^
^
^
^
^
^
^
^
#1
#2
#3
#4
#5
#6
#7
#8
For ω < 0.01, the only contribution is from the pole at zero so point #1 and point #2.
1
1
degrees
4
2
For
< ω <
the slope is + 45
so point #3.
10
10


−90 + 45 ⋅ log 


point #4. For
1
20
1
40
decade


 = −76.454


For
1
2
10
< ω <
3
the slope is +45 -45 = 0 so
10
3
1
< ω < 10 ⋅ the slope is +45 -45 +45 = 45 so point #5.
10
4


−76.454 + 45 ⋅ log 


10
4
3
10
-45 +45 = 0 so point #6.


 = −35.017


For 10 ⋅
1
1
< ω < 10 ⋅ the slope is
4
2
1
< ω < 30 the slope is +45 so point #7.
2
 30  = 0. For ω > 30 the slope is 0 so point #8.
−35.017 + 45 ⋅ log 
1
 10 ⋅ 
2

For 10 ⋅
Example #4
H ( s) =
50
100000 ⋅ s
100000
=
⋅
( s + 10000) ⋅ ( s + 50000)
10000 ⋅ 50000 
s
s
  s + 1
+ 1  ⋅


 10000
  50000

ω := 100 , 200 .. 1000000


Φ1 ( ω ) := if  ω <
10000

 ω 

, 0 , if  ω < 10 ⋅ 10000 , −45 − 45 ⋅ log 
 , −90  
10

 10000 

0
Φ1 ( ω ) 50
100
100


Φ2 ( ω ) := if  ω <
1 .10
3
1 .10
ω
4
1 .10
5
1 .10
6
50000

 ω 

, 0 , if  ω < 10 ⋅ 50000 , −45 − 45 ⋅ log 
 , −90  
10

 50000 

0
Φ2 ( ω ) 50
100
100
1 .10
3
1 .10
ω
4
1 .10
5
1 .10
6
 100
 10000

 10000
A := 
50000

 50000

6
 10
90 


0 

0

−90 

−90 
90
 10000 90 

10
B := 


10
⋅
10000
0


 50000 90 

10
C := 


 10 ⋅ 50000 0 
 10000
10

 50000
D := 
10

 10 ⋅ 10000
 10 ⋅ 50000




90 

0 
0 
90 
51
100
⟨ ⟩
A1
50
⟨ ⟩
B1
⟨ ⟩
C1
⟨ ⟩
D1
0
50
100
100
1 .10
3
1 .10
⟨0⟩ ⟨0⟩ ⟨0⟩ ⟨0⟩
A ,B ,C ,D
4
1 .10
5
Auxilliary Diagram
90
 100



10000


90
10


 50000

58.546 
points := 
10


 10000 ⋅ 10 −58.546 


−90 
 50000 ⋅ 10


6
10
−
90


Φ T ( ω ) := 90 + Φ1 ( ω ) + Φ2 ( ω )
1 .10
6
100
52
50
Φ T( ω )
⟨ ⟩
points 1
0
50
100
100
1 .10
3
^
^
#1
#2
1 .10
⟨ ⟩
ω , points 0
^
1 .10
4
1 .10
5
#3
6
^
^
^
#4
#5
#6
For ω < 1000, the only contribution is from the zero at 0 so points #1 and #2.
For 1000 < ω < 5000, the slope is -45 deg per decade so point #3.
 50000 
 10 
5
90 − 45 ⋅ log 
= 58.546
For 5000 < ω < 10 , the slope is

10000


 10 
 10 ⋅ 10000  = −58.547

50000


10


-45 -45 = -90 deg per decade so point #4. 58.546 − 90 ⋅ log 
For 10
5
5
< ω < 5 ⋅ 10 , the slope is -45 deg per decade so point #5.
 5 ⋅ 10 5 
−58.547 − 45 ⋅ log
= -90.
 10 5 


5
For ω > 5 ⋅ 10 the slope is zero, so point #6.
Second Order Magnitude Approximations
Second Order Magnitude Approximations
53
When we gave the general form of the transfer function as:
nz
K⋅
(s + ωzi)
∏
i= 1
np
H ( s)
=
∏
=
(s + ωpi)
zero
|
\/
)(
) (
)
(s + ωp1) ⋅(s + ωp2) ⋅ .. ⋅(s + ωpnp)
(
K ⋅  s + ωz1 ⋅ s + ωz2 ⋅ .. ⋅ s + ωznz 
/\
|
pole
i= 1
We allowed for the possibility that some of the constants ωzi and ωpi might be complex
numbers as a result of second order terms that do not factor into real first order terms. To
make magnitude and phase approximations of such terms, the terms are not factored into
complex form but are left as second order terms of the form:
s
2
ωo
2
+ 2⋅
ζ
ωo
⋅s + 1
where ζ < 1, since if ζ = 1, the quadratic is a perfect square and is handled as a pole of
muliplicity 2, and if ζ >1 the quadratic is factorable into two real factors and the term is handled
as two distinct first order poles. The second order response has been normalized so that the
constant coefficient is one. Note that in the following discussions ω is a variable and ω o is the
name of a constant .
Magnitude Response of Second Order Poles
consider a transfer function of the form:
H( j ⋅ω ) =
1
H ( s) =
s
2
ωo
2
+ 2⋅
ζ
ωo
⋅s + 1
1
1−
ω
2
ω0
2
+
2 ⋅ζ ⋅ω
ω0
The low frequency asymptote is found by taking the limit as ω approaches zero of H(jω).
54
H( j ⋅ω )
dB

1
lim 20 ⋅ log 
=
 −ω 2

ζ
 
+ 2⋅
⋅ j ⋅ω + 1 
2
 

ωo
  ωo

ω→0





=
0 dB
The high frequency asymptote is found by taking the limit as ω approaches infinity of H(jω).
H( j ⋅ω )
dB
=
lim
ω→∞
=
=
=

1
20 ⋅ log 
lim
ω→∞
lim
ω→∞
 −ω 2

ζ
 
+ 2⋅
⋅ j ⋅ω + 1 
  2

ωo
  ωo


1
20 ⋅ log 
 −ω 2 
 

2
 

  ωo 










ω 2
 o 
lim 20 ⋅ log
 2
ω→∞
 ω 
=
(20 ⋅log(ω ) − 20 ⋅log(ω ))
2
2
o
( 2)
( )
−20 ⋅ log ω
= −40 ⋅ log ω
The approximation strategy is the same as with first order magnitude plots: The magnitude
function is approximated by a horizontal straight line of 0 dB for frequencies less than ω o and
by a straight line of slope -40 dB per decade passing through ω = ω o for all frequencies greater
than ω o. The main difference between the first order case and the second order case, is that
the error depends heavily on ζ and may not usually be ignored. Several second order
magnitude functions are plotted below for various values of ζ (ω o has been normalized to 1.0).

Ha ( ω ) := 20 ⋅ log 
(
  1 − ω
)
2



+ 2 ⋅ ω ⋅ ( 1) ⋅ i  
1
(ζ
= 1.0)
1


Hb ( ω ) := 20 ⋅ log 
 1 − ω 2 + 2 ⋅ ω ⋅  1  ⋅ i  



  


 2   
(

Hc ( ω ) := 20 ⋅ log 
)
(
)

6   


+ 2 ⋅ ω ⋅ 
 ⋅ i  

 10    
ζ = 6 


10 

)

1   


+ 2 ⋅ ω ⋅   ⋅ i  

2   
ζ = 1 


2






ζ = 1 


5

2
  1 − ω


He ( ω ) := 20 ⋅ log 
(
2
  1 − ω


Hd ( ω ) := 20 ⋅ log 
(
)
1
1
1
1
2
  1 − ω + 2 ⋅ ω ⋅   ⋅ i


5 

Hf ( ω ) := 20 ⋅ log 
(
  1 − ω


Hg ( ω ) := 20 ⋅ log 
(
)

1   


+ 2 ⋅ ω ⋅ 
 ⋅ i  

 10    
ζ = 1 


10 

)

1   


+ 2 ⋅ ω ⋅ 
 ⋅ i  

 100    
ζ = 1 


100 

2
2
  1 − ω

ω := 0.1 , 0.15 .. 100
ζ = 1 


2

1
1
55
56
40
20
Ha ( ω )
Hb ( ω )
0
Hc ( ω )
Hd ( ω ) 20
He ( ω )
Hf ( ω )
Hg ( ω )
40
60
80
0.1
1
10
ω
The above plot has been expanded around ω = ω o to expose the three distinct
characteristics that such transfer functions exhibit, depending on the value of ζ, and is shown
on the next page.
10
57
5
Hb ( ω )
Hc ( ω )
Hd ( ω )
0
He ( ω )
5
10
0.1
1
10
ω
We see that for 1 > ζ >
The case ζ =
1
1
the response does not peak. (Ha and Hb)
2
is the Butterworth maximally flat response. (Hb)
2
For all ζ such that 1 > ζ >
For values of ζ such that
1
2
1
2
the maximum of the magnitude response occurs at ω = 0.
> ζ >
1
the magnitude function peaks, but returns to 0
2
dB at a frequency smaller than ω o . (Hc)
For values of ζ such that
1
> ζ
2
the response peaks and returns to 0 dB at a frequency larger than ω o. (He, Hf,Hg)
For ζ =
1
the response peaks and returns to 0 dB at ω = ω (Hd)
o
2
58
Peaked Responses
For values of ζ such that ζ <
1
, we define ω o , ω p, ω c , ω 2 , Ao, Ap, and A2
2

( )
as shown in the plot below. Hp ω := 20 ⋅ log 
(
  1 − ω

( ω o = 1 in this example)
1
) + 2 ⋅ω ⋅ 103  ⋅i
2


 





Ao is the magnitude of the response at ω = ω o, Ap is the magnitude at ω p ,where the response
peaks , the response crosses through 0 dB at ω c , ω 2 is one half ω o , and A2 is the magnitude
of the response at ω 2 .
Ap := 4.85
Ao := 4.4
A2 := 1.9
(We'll give formulae for these presently.)
10
5
Hp ( ω )
0
Ap
Ao
5
A2
10
15
20
0.1
1
ω2
ω
ω pω o ω c
10
59
Derivation of ω p, ω c , ω 2 , Ao, Ap, and A2
H ( s) =
1
 s2

2 ⋅ζ ⋅s

+
+ 1
2
ω
ωo

 o

( H( jω) ) 2
1
=

2 2
2
ω

2
⋅
ζ
⋅
ω

 1 −

 +


2
ωo  

ω
o 


Now |H(jω)| reaches a peak at ω = ω p. Therefore:
d 
1


dω   
2 2
2 
ω

2
⋅
ζ
⋅
ω


 +
  1 −

2
ωo   
 

ω
o 
 

=
 
 2 ⋅ 1 −
 
 




= 0
ω = ωp
  −2 ⋅ ω 

 ⋅
 + 2 ⋅  2 ⋅ ζ ⋅ ω  ⋅  2 ⋅ ζ  
2
2
 ωo   ωo  
ω o   ω o 

=
2


2 2
2

  1 − ω  +  2 ⋅ζ ⋅ω  




2
ωo  

ω
o 


ω=ω
ω
2
The value of ω
that satisfies
this equation is
ωp
0
p
In order for this function to equal zero the numerator must equal zero (there is no combination
of positive ω, ω o, and ζ that could produce a zero denominator), so:
2

ω
 2 ⋅ζ ⋅ω p   2 ⋅ζ 
p   −2 ⋅ ω p 



2⋅ 1 −
⋅
+ 2 ⋅
 ⋅

2 
2 

ω
ω
o
o



ωo   ωo 

=
=
−
4 ⋅ω p
ωo
−1 +
2
+
ωp
2
ωo
2
4 ⋅ω p
ωo
3
+
4
+ 2 ⋅ζ
2
2
8 ⋅ζ ⋅ω p
ωo
=0
2
Therefore, the response peaks at a frequency ω p such that : ω p = ω o ⋅ 1 − 2 ⋅ ζ
2
60
The magnitude crosses back through 0 dB at ω = ω c, so
20 ⋅ log ( H ( jω)
1
)
= 0, and
H ( jω)
= 1
( H( jω) ) 2
so
= 1. As a result we have:
1
=
2
2
2

ω

2
⋅
ζ
⋅
ω

c
c
1 −
 +

2

ω
o


ωo 

 ω 2  ω 4 4 ⋅ζ 2 ⋅ω 2
c 
c
c
1 − 2 ⋅
+
+
2
4
2

ω
ω
ω
o 
o
o

2
4
2
2

ω
ω
4
⋅
ζ
⋅
ω
c
 −2 ⋅ c  + c +
2
4
2

ω
ω
ω
o 
o
o

ωc
= 1
= 0
So
and
2
ωo
2
− 2 + 4 ⋅ζ
2
= 0
(
Or ω c = ω o ⋅ 2 ⋅ 1 − 2 ⋅ ζ
)
2
Since
The transfer function has a magnitude Ao at ω = ω o , so

Ao = 20 ⋅ log 
1
2

ω
 2 ⋅ ζ ⋅ ω o  
o
 
+ i ⋅

 1 −
2
ω
o 

ωo
 

=
2 ⋅ω p
ω p = ω o ⋅ 1 − 2 ⋅ζ
2
=
=

20 ⋅ log 






20 ⋅ log ( 1) − 20 ⋅ log 


(
)
 0 + 4 ⋅ζ 2 

= −20 ⋅ log 
61


2
2
2

ω

2
⋅
ζ
⋅
ω

o
1 − o  + 


2

ωo  
ω
o

 

1
2 2
2


 1 − ω o  +  2 ⋅ ζ ⋅ ω o  
2

ωo  

ω
o



(
= −20 ⋅ log 2 ⋅ ζ
)
= Ao
At ω = ω p the magnitude is:

1
Ap = 20 ⋅ log 
2

ω
 2 ⋅ ζ ⋅ ω p  
p
 
+ i ⋅

 1 −
2
ω
o 

ωo
 

=

20 ⋅ log 




=
1
2

 ω ⋅ 1 − 2 ⋅ζ 2 
 2 ⋅ ζ ⋅  ω ⋅ 1 − 2 ⋅ ζ 2   

 + i ⋅
 o
 
1 −  o


2
ω

o


ωo



20 ⋅ log ( 1) − 20 ⋅ log 


2
2
2

2
2







ω o ⋅ 1 − 2 ⋅ζ  
2 ⋅ζ ⋅ ω o ⋅ 1 − 2 ⋅ζ  

1 −
 + 

2
ω


o

ωo

 
=
=

2 2
2
2
2

 ω ⋅ 1 − 2 ⋅ζ    2 ⋅ζ ⋅ ω ⋅ 1 − 2 ⋅ζ   
 o
  +
 o
 
−10 ⋅ log   1 −

 
2

ω

o
 
ωo

 
(
)
(
)

2 2
2
2 
−10 ⋅ log  1 − 1 − 2 ⋅ ζ  + 4 ⋅ ζ ⋅ 1 − 2 ⋅ ζ 
(
= −10 ⋅ log 4 ⋅ ζ
4
2
+ 4 ⋅ζ − 8 ⋅ζ
(
4
)
=
(
)
2
2
So Ap = −10 ⋅ log 
4 ⋅ ζ ⋅ 1 − ζ
When ω =
ωo
2

A2 = 20 ⋅ log 





=
=
the magnitude is:
1



1 −




−20 ⋅ log 


2
 ωo 

ωo  
 2 ⋅ζ ⋅

 
2 
 2  + i ⋅
 ωo  
2


ωo



1 −

 9 + ζ 2

 16

−10 ⋅ log 
2 2
 ωo 

ωo 

    2 ⋅ζ ⋅
2 
 2   +
 ωo 
2 


ωo 
(
= −10 ⋅ log ζ
)
2
2
−10 ⋅ log 4 ⋅ ζ ⋅ 1 − ζ 
2
2

+ 0.5625




)
62
1
In summary for ζ <
ω p = ω o ⋅ 1 − 2 ⋅ζ
we have:
2
Ao = −20 ⋅ log ( 2 ⋅ ζ )
(
)
2
2
Ap = −10 ⋅ log 4 ⋅ ζ ⋅ 1 − ζ 
2
ωc =
2 ⋅ω p
(
2
A2 = −10 ⋅ log ζ + 0.5625
63
)
For example when ζ = 0.3 and ω o = 1 (This is the value of ζ used in the illustration of the
definition of ω o , ω p, ω c , Ao, Ap, and A2.), we obtain ω p = 0.9055, ω c = 1.281, Ao = 4.437 dB,
Ap = 4.847 dB, and A2 = 1.854 dB.
Non-peaked Responses
For non-peaked responses, i.e. when ζ >
1
2
ω p, Ap, and ω c are not defined so we plot only Ao and A2. For example if ω o = 1 and ζ = 0.8,
we have:

Hnp ( ω ) := 20 ⋅ log 
(
  1 − ω

)
2

A0 := −20 ⋅ log ( 2 ⋅ 0.8)
8   


+ 2 ⋅ ω ⋅ 
 ⋅ i  

 10     A2 := −10 ⋅ log ( 0.8 2 + 0.563)
1
10
5
Hnp ( ω )
0
A0
5
A2
10
15
20
0.1
1
ω
10
Extraction of ζ and ω o from polynomial coefficients
2
s + a ⋅s + b
Suppose we are given the polynomial
Since
ωo =
2
s + a ⋅s + b
b
and
=
2
s + 2 ⋅ζ ⋅ω o + ω o
2 ⋅ζ ⋅ω o = a =
2
and we wish to calculate ζ and ω o.
we have
2 ⋅ζ ⋅ b
H(s) =
1
⋅
25  s 2
2⋅ b
1
2
s + 2 ⋅ s + 25
Find the Bode magnitude plot.
b := 25
a
ζ =
so
Example #1: suppose we are given the transfer function H(s) =
a := 2
64
ω 0 :=
ω0 = 5
b
1
ζ :=
a
ζ = 0.2
2⋅ b
(Notice that the normalization does not affect the
values of ω 0 and ζ , so ω 0 and ζ can be calculated

2

+
⋅s + 1 
 25 25

before the normalization.)
2
2
s
a
s
2 ⋅ζ
After the normalization we have H(s) =
+ ⋅s + 1 =
+
⋅ s + 1 and we get
2
b
b
ω0
ωo
precisely the same formulae for ω 0 and ζ as before, so the calculation of ω 0 and ζ can be
carried out either before or after the normalization.
ω0
2
= 2.5
ω p := ω 0 ⋅ 1 − 2 ⋅ ζ
A0 := −20 ⋅ log ( 2 ⋅ ζ )
(
2
A0 = 7.959
2
A2 := −10 ⋅ log ζ + 0.5625
ω := 0.1 , 0.15 .. 100
)
ω p = 4.796
ω c :=
2 ⋅ω p
(
ω c = 6.782
)
Ap := −10 ⋅ log 4 ⋅ ζ ⋅ 1 − ζ 
A2 = 2.2
2
2
Ap = 8.136
The resulting plot is shown below.
 ω 0
 10

 ω0
 2
Corr :=  ω
p


 ω0
 ω
c

 10 ⋅ ω 0

65
1 


K0 := 20 ⋅ log 
K0 = −27.959

K0
25





 ω 

(
)
L
ω
:=
if
ω
<
ω
,
K
,
K
−
40
⋅
log

0 0 0
 
K0 + A2


 ω0 

K0 + Ap 
1
1

 H ( ω ) := 20 ⋅ log  ⋅

K0 + A0
2 
25 

ω

ω


1 −
 + j ⋅ 2 ⋅ζ ⋅  

K0
2


ω0  

ω

0





K0 − 40 
Note that Ap and A0 are too close to resolve. This is
usually the case for small values of ζ .
10
20
30
L(ω )
⟨ ⟩
Corr 1
H(ω )
40
50
60
70
80
0.1
1
10
⟨ ⟩
ω , Corr 0 , ω
100
Example #2 H(s) =
1
2
s + 0.36 + 4
ω0
= 1 ω p := ω 0 ⋅ 1 − 2 ⋅ ζ
2
A0 := −20 ⋅ log ( 2 ⋅ ζ )
 ω 0
 10

 ω0
 2
Corr :=  ω
p


 ω0
 ω
c

 10 ⋅ ω 0

2
A0 = 14.895
ω 0 :=
4
ω0 = 2
ω p = 1.984
ζ :=
ω c :=
0.36
2⋅ 4
2 ⋅ω p
(
ω c = 2.805
)
Ap := −10 ⋅ log 4 ⋅ ζ ⋅ 1 − ζ 
2
(
ζ = 0.09
2
Ap = 14.93
)
2

A2 := −10 ⋅ log ζ + 0.5625 A2 = 2.437
K0

1
K
:=
20
⋅
log
K0 = −12.041
 
0

4


K0 + A2


 ω 
(
)
L
ω
:=
if
ω
<
ω
,
K
,
K
−
40
⋅
log

0 0 0
 

K0 + Ap 

 ω0 

K0 + A0
1
 H ( ω ) := 20 ⋅ log  1 ⋅
4 
2 
K0 
ω

1 −
 + j ⋅  2 ⋅ ζ ⋅ ω 

2


ω0 
K0 − 40 

ω
0








0
L(ω )
20
⟨ ⟩
Corr 1
H(ω )
40
60
80
0.1
1
10
⟨ ⟩
ω , Corr 0 , ω
1
66
100
Example #3 H(s) =
ω0
2
= 3.5
1
ω 0 :=
2
s + 8.4 ⋅ s + 49
ω p := ω 0 ⋅ 1 − 2 ⋅ ζ
A0 := −20 ⋅ log ( 2 ⋅ ζ )
2
49 ω 0 = 7
ω p = 3.704
ζ :=
ω c :=
8.4
2 ⋅ 49
2 ⋅ω p
(
)
Ap := −10 ⋅ log 4 ⋅ ζ ⋅ 1 − ζ 
2
A0 = −1.584
2
ζ = 0.6
67
ω c = 5.238
Ap = 0.355
Note that since ω c < ω 0 , their order in Corr is reversed.
 ω 0
 10

 ω0
 2
Corr :=  ω
p


 ωc
 ω
0

 10 ⋅ ω 0

(
)
2

A
:=
−
10
⋅
log
ζ
+ 0.5625 A2 = 0.35
2
K0


 1 
K0 := 20 ⋅ log 
K0 = −33.804


49
K0 + A2
 



 ω 
K0 + Ap  L ( ω ) := if  ω < ω 0 , K0 , K0 − 40 ⋅ log 

ω
0

 

K0

1
 1 ⋅

(
)
H
ω
:=
20
⋅
log
K0 + A0
 49 
2 

ω

1 −
 + j ⋅  2 ⋅ ζ ⋅ ω 

K0 − 40 
2


ω0 

ω
0 


35
L(ω )
40
⟨ ⟩
Corr 1
H(ω )
45
50
0.1
1
10
⟨ ⟩
ω , Corr 0 , ω
100





Example #4 H(s) =
ω0
2
= 4
1
2
s + 12.8 ⋅ s + 64
Since ζ >
A0 := −20 ⋅ log ( 2 ⋅ ζ )
1
2
ω 0 :=
64 ω 0 = 8
ζ :=
12.8
68
2 ⋅ 64 ζ = 0.8
, ω p , ω c , Ap are not defined
(
2
A0 = −4.082 A2 := −10 ⋅ log ζ + 0.5625
)
A2 = −0.801
 ω0


K0 
 1 
 10

K0 := 20 ⋅ log 
K0 = −36.124

 ω

64 

0

K0 + A2 
Corr :=
 2
 L ( ω ) := if  ω < ω , K , K − 40 ⋅ log  ω  

0 0 0
 



 ω0 
 ω 0 K0 + A0 
 10 ⋅ ω K − 40 
1
1
0
0

 H ( ω ) := 20 ⋅ log  ⋅
2 
64 
ω

1 −
 + j ⋅  2 ⋅ ζ ⋅ ω 
2


ω0 

ω
0



35
40
L(ω )
⟨ ⟩
Corr 1
H(ω )
45
50
55
60
0.1
1
10
⟨ ⟩
ω , Corr 0 , ω
100





Example #5 H(s) =
1
ζ :=
2
s + 4 ⋅s + 3
4
2⋅ 3
69
ζ = 1.155
Since ζ > 1, H(s) can be factored into two real factors.
s1 :=
−4
+
2
s2 :=
So
16 − 12
2
−4
−
2
1
2
s + 4 ⋅s + 3
16 − 12
2
=
s1 = −1
s2 = −3
1
( s + 1) ⋅ ( s + 3)


 ω 

 1 
M1 ( ω ) := if  ω < 1 , 0 , −20 ⋅ log 


 ω 

 3 
M2 ( ω ) := if  ω < 3 , 0 , −20 ⋅ log 
MT ( ω ) := M1 ( ω ) + M2 ( ω )
10
0
MT ( ω )
10
20
30
40
0.1
1
10
ω
100
Magnitude Response of Second Order Zeros
Transfer functions of the form H(s) =
s
2
ωo
2
+
2 ⋅ζ
ωo
⋅s + 1
70
(i.e. second order zeros)
are handled in a manner similar to the approach we used on second order poles. The
values of ω 0 , ω c , and ω p are as before, and
(
)
Ap := 10 ⋅ log 4 ⋅ ζ ⋅ 1 − ζ 
Ao := 20 ⋅ log ( 2 ⋅ ζ )
2
2
A2 := 10 ⋅ log ( ζ + 0.5625)
Note the change in sign for all the magnitudes.
ω 0 :=
2
Example #1 H(s) = s + 2 ⋅ s + 25
25
ω0 = 5
ω0
2
= 2.5
ω p := ω 0 ⋅ 1 − 2 ⋅ ζ
A0 := 20 ⋅ log ( 2 ⋅ ζ )
(
A0 = −7.959
2
A2 := 10 ⋅ log ζ + 0.5625
ω := 0.1 , 0.15 .. 100
 ω 0
 10

 ω0
 2
Corr :=  ω
p


 ω0
 ω
c

 10 ⋅ ω 0

2
)
2
ζ :=
2 ⋅ 25
ζ = 0.2
ω p = 4.796
ω c :=
2 ⋅ω p
(
ω c = 6.782
)
Ap := 10 ⋅ log 4 ⋅ ζ ⋅ 1 − ζ  Ap = −8.136
A2 = −2.2
2
2
 s2

2
H(s) = 25 ⋅ 
+
⋅s + 1 
 25 25

K0 := 20 ⋅ log ( 25)
K0 = 27.959

K0



 ω 

(
)
L
ω
:=
if
ω
<
ω
,
K
,
K
+
40
⋅
log

0 0 0
 
K0 + A2


 ω0 

K0 + Ap 
2 


ω
 + j ⋅  2 ⋅ ζ ⋅ ω 
 H ( ω ) := 20 ⋅ log  25 ⋅  1 −
K0 + A0
2


ω0 


ω
0



K0 

K0 + 40 




71
80
L(ω )
60
⟨ ⟩
Corr 1
H(ω )
40
20
0.1
1
10
100
⟨ ⟩
ω , Corr 0 , ω
2
Example #2 H(s) = s + 12.8 ⋅ s + 64
ω0
2
= 4
Since ζ >
A0 := 20 ⋅ log ( 2 ⋅ ζ )
1
2
ω 0 :=
64 ω 0 = 8
ζ :=
12.8
2 ⋅ 64
ζ = 0.8
, ω p , ω c , Ap are not defined
A0 = 4.082
(
2
A2 := 10 ⋅ log ζ + 0.5625
)
 ω0


K0 
 10

K0 := 20 ⋅ log ( 64)
K0 = 36.124
 ω

0

K0 + A2 
Corr :=
 2
 L ( ω ) := if  ω < ω , K , K + 40 ⋅ log  ω  

0 0 0
 


ω0 


ω0
K0 + A0


2 


 10 ⋅ ω K + 40 
ω
 + j ⋅  2 ⋅ ζ ⋅ ω 
0
0

 H ( ω ) := 20 ⋅ log  64 ⋅  1 −
2


ω0 

ω
0







60
72
55
L(ω )
50
⟨ ⟩
Corr 1
45
H(ω )
40
35
30
0.1
1
10
100
⟨ ⟩
ω , Corr 0 , ω
Second Order Phase Approximations
The second order phase response is the difference in phase between the input and the output
sinusoids of a system characterized by a transfer function of the form:
2
2
H(s) = s + 2 ⋅ ζ ⋅ ω o ⋅ s + ω o
 2 ⋅ζ ⋅ω o ⋅ω 

 ω 2 − ω2 
 o

The phase function is Φ(ω) = atan 
First Straight-Line Approximation (Inadequate)
We begin as with the first order case by finding the slope of the phase function at ω = ω 0
and passing a straight line with that slope through the phase funvtion at ω = ω 0. The slope
of the phase function is:
2

ωo
ω
 2 ⋅ζ ⋅
+ 4 ⋅ζ ⋅ω o ⋅
2
2

2
2
ωo − ω
ω
−
ω
o
d

Φ (ω ) =
2


dω
ω
2
2
 1 + 4 ⋅ζ ⋅ω o ⋅

2

2
2 
ω
−
ω
o


(
)
(
(
)
)


2

which simplifies to
2 ⋅ζ ⋅ω o ⋅
(ω
(ω
4
2
2
o +ω
2
4
)
2
73
2
2
o − 2 ⋅ω o ⋅ω + ω + 4 ⋅ζ ⋅ω o ⋅ω
)
2
Evaluating this expression at ω = ω o gives the slope of Φ(ω) at ω = ω o as
1
(ζ ⋅ω o)
radians
radian
To convert a slope of k radians per radian to an equivalent slope in radians per decade we
proceed as follows: the rise is the limit as ∆ -> 0 of , k ⋅ 
 ω + ∆ − ω − ∆  and the run is
 ωo + ∆ 
the limit as ∆ -> 0 of log 
.
ω
−
∆
 o

(
) (
(
) (
)
The slope in radians per decade is then:
)
k ⋅  ω o + ∆ω − ω o − ∆ω 
k ⋅ω o
lim
= k ⋅ ω o ⋅ ( ln ( 2) + ln ( 5) ) =
log ( e)

ω
+
∆ω

o
∆ω → 0
log 

ω
−
∆ω
 o

In our case the slope in radians per radian is k =
1
(
1
)
ζ ⋅ω o
which gives the slope at ω = ω 0 as
radians
360
131.92841 degrees
or as
=
⋅
decade
ζ ⋅ log ( e) decade
2 ⋅ π ⋅ ζ ⋅ log ( e)
ζ
⋅
The slope of the phase function Φ(ω) at ω = ω 0 is independent of ω o but depends on ζ .
Phase functions for various values of ζ are shown below along with the approximation
obtained by extending a line of slope 132 / ζ degrees per decade through the point on the
phase function where ω = ω 0 . (We have normalized ω o to 1.)
ω o := 1 ζ := 1
74
180
(
)
360
2
2
arg 2 ⋅ ζ ⋅ ω o ⋅ ω ⋅ i+ ω o −ω  ⋅
2⋅ π
90+
132
ζ
90
⋅ log ( ω )
0
0.1
1
10
100
10
100
10
100
ω
ζ := 0.8
180
(
)
360
2
2
arg 2 ⋅ ζ ⋅ ω o ⋅ ω ⋅ i+ ω o −ω  ⋅
2⋅ π
90+
132
ζ
90
⋅ log ( ω )
0
0.1
1
ω
ζ := 0.6
180
(
)
360
2
2
arg 2 ⋅ ζ ⋅ ω o ⋅ ω ⋅ i+ ω o −ω  ⋅
2⋅ π
90+
132
ζ
⋅ log ( ω )
90
0
0.1
1
ω
ω
ζ := 0.4
75
180
(
)
360
2
2
arg 2 ⋅ ζ ⋅ ω o ⋅ ω ⋅ i+ ω o −ω  ⋅
2⋅ π
90+
132
ζ
90
⋅ log ( ω )
0
0.1
1
10
100
10
100
10
100
ω
ζ := 0.2
180
(
)
360
2
2
arg 2 ⋅ ζ ⋅ ω o ⋅ ω ⋅ i+ ω o −ω  ⋅
2⋅ π
90+
132
ζ
90
⋅ log ( ω )
0
0.1
1
ω
ζ := 0.1
180
(
)
360
2
2
arg 2 ⋅ ζ ⋅ ω o ⋅ ω ⋅ i+ ω o −ω  ⋅
2⋅ π
90+
132
ζ
⋅ log ( ω )
90
0
0.1
1
ω
As can be seen from the above plots (and as we shall show by direct calculation), this
straight-line approximation suffers from the same shortcomings that made it useless for the
first order case. To demonstrate the large errors at ω lo and ω hi, we begin by calculating ω lo
the value of ω at which the straight line crosses 0o, and ω hi the value of ω at which the
straight line crosses 180o. ω lo is the frequency where
90 +
we have
so ω lo =
1
⋅
360
ζ ⋅ log ( e) 2 ⋅ π
−90 ⋅ 2 ⋅ π ⋅ ζ ⋅ log ( e)
=
360
 ω 

ω
o
 
⋅ log 
= 0 Then
 ω lo   −π 
log 
 =   ⋅ ζ ⋅ log ( e)
ω
 o  2 
=
 − π ⋅ζ 
 2 
log  e

 − π ⋅ζ 
 2 
−ζ
ω o ⋅ e
 = ω o ⋅ 4.81
Similarly for ω hi we have ω hi =
 π
 2
ω o ⋅ e 
ζ
= ω o ⋅ 4.81
ζ
The error at ω lo is given by substitution of ω lo into the expression for Φ(ω), which gives
Errorlo =
−ζ 

 π


 −1 ⋅ π ⋅ ζ  


exp
 2 ⋅ζ ⋅ω ⋅ω ⋅ e 2 


 

o o
2


 = −atan  2 ⋅ ζ ⋅
atan 

2
(
(
)
)
−
1
+
exp
−
π
⋅
ζ



−ζ

π



 



2 
 ω o −  ω o ⋅  e 2   
The errors (in degrees) at ω lo are shown below for various values of ζ .
ζ := 0.1 , 0.2 .. 1.0

 −1 ⋅ π ⋅ ζ  
exp

 

2

 ⋅ 360
Errorlo ( ζ ) := −atan  2 ⋅ ζ ⋅

(
(
)
)
−1 + exp −π ⋅ ζ  2 ⋅ π

76
Errorlo ( ζ ) =
32.375
32.058
31.536
30.82
29.924
28.868
27.672
26.359
24.955
23.487
Similarly for the error at ω hi we have: Errorhi =
ζ


 π   

 2 ⋅ ζ ⋅ ω ⋅ ω ⋅  e 2   
π
π
o o

 1 ⋅π ⋅ζ  
exp

 

2


  = atan  2 ⋅ ζ ⋅
−  + atan 

2 
2 2
(
(
)
)
−
1
+
exp
π
⋅
ζ



ζ

π 








2 
2

 ω o −  ω o ⋅  e    

 1 ⋅π ⋅ζ  
exp

 

2

 ⋅ 360
Errorhi ( ζ ) := atan  2 ⋅ ζ ⋅
(−1 + exp (π ⋅ζ ))  2 ⋅π

Errorhi ( ζ ) =
32.375
32.058
31.536
30.82
29.924
28.868
27.672
26.359
24.955
23.487
77
To extend our results for the first order phase approximation to the second order case, let us 78
consider the second order transfer function with ζ = 1. Proceeding as before we set ω hi to
10 ω and ω lo to
o
with the
132
ζ
10
ω0
o
, giving a straight line with slope 90 per decade shown below along
degrees per decade line.
ζ := 1
180
(
)
360
2
2
arg 2 ⋅ ζ ⋅ ω o ⋅ ω ⋅ i+ ω o −ω  ⋅
2⋅ π
90+
132
ζ
⋅ log ( ω )
90
90+90 ⋅ log ( ω )
0
0.1
1
10
100
ω
This new approximation is a better fit to the phase function Φ(ω) for the case ζ = 1 than the
approximation whose slope is
132
ζ
degrees per decade. To extend the result to the case
where ζ does not equal 1, let us examine the behavior of the phase function as ζ increases.
From the plots of Φ(ω) for various values of ζ , we see that as ζ decreases, the slope of the
phase function evaluated at ω 0 increases. To make our new approximation's slope
increase as ζ decreases, we take as the slope of our straight-line approximation
degrees per decade. The results are shown below (along with the
lines) for several values of ζ .
132
ζ
90
ζ
degree per decade
79
ζ := .8
180
(
)
360
2
2
arg 2 ⋅ ζ ⋅ ω o ⋅ ω ⋅ i+ ω o −ω  ⋅
2⋅ π
90+
132
90+
90
ζ
ζ
⋅ log ( ω )
90
⋅ log ( ω )
0
0.1
1
10
100
ω
ζ := .6
180
(
)
360
2
2
arg 2 ⋅ ζ ⋅ ω o ⋅ ω ⋅ i+ ω o −ω  ⋅
2⋅ π
90+
132
90+
90
ζ
ζ
⋅ log ( ω )
90
⋅ log ( ω )
0
0.1
1
10
ω
100
80
ζ := .4
180
(
)
360
2
2
arg 2 ⋅ ζ ⋅ ω o ⋅ ω ⋅ i+ ω o −ω  ⋅
2⋅ π
90+
132
90+
90
ζ
ζ
⋅ log ( ω )
90
⋅ log ( ω )
0
0.1
1
10
100
ω
ζ := .2
180
(
)
360
2
2
arg 2 ⋅ ζ ⋅ ω o ⋅ ω ⋅ i+ ω o −ω  ⋅
2⋅ π
90+
132
90+
90
ζ
ζ
⋅ log ( ω )
90
⋅ log ( ω )
0
0.1
1
10
ω
100
81
ζ := .1
180
(
)
360
2
2
arg 2 ⋅ ζ ⋅ ω o ⋅ ω ⋅ i+ ω o −ω  ⋅
2⋅ π
90+
132
90+
90
ζ
ζ
⋅ log ( ω )
90
⋅ log ( ω )
0
0.1
1
10
100
ω
In order to calculate the error at ω lo and ω hi, we must produce formulae for ω lo and ω hi in
terms of ζ . Since
180
 ω hi 
= 90 +
⋅ log 
 we have ω hi
ζ
ω
 o
90
 ω lo 
Similarly, since 0 = 90 +
⋅ log 

ζ
ω
 o
90
= ω o ⋅ 10
ζ
we have ω lo = ω o ⋅ 10
−ζ
Substituting these values into the phase function gives the error at ω lo and ω hi.
Error1lo =
=
(− ζ )


10
2

atan  2 ⋅ ζ ⋅ ω o ⋅
2
 2
2  ( − ζ )  

ω
−
ω
 
o ⋅ 10

 o
(− ζ )


10
−atan 2 ⋅ ζ ⋅

 −1 + 100 ( − ζ )  

ζ := 0.1 , 0.2 .. 1.0
(− ζ )


  360
10
Error1lo ( ζ ) := −atan 2 ⋅ ζ ⋅
(− ζ )    ⋅ 2 ⋅π





 −1 + 100
 
Error1lo ( ζ ) =
.
23.291
22.749
21.88
20.73
19.36
17.834
16.221
14.58
12.967
11.421

π π
2

Error1hi =
−
+ atan  2 ⋅ ζ ⋅ ω o ⋅
2 2



=



2
2
2
ζ)  
(
ω
−
ω
⋅
10
o
 o
 
ζ


10
atan 2 ⋅ ζ ⋅

(−1 + 100 ζ ) 

ζ

 360
10
Error1hi ( ζ ) := atan 2 ⋅ ζ ⋅
⋅

ζ )  2 ⋅π
(
−1 + 100 

Error1hi ( ζ ) =
23.291
22.749
21.88
20.73
19.36
17.834
16.221
14.58
12.967
11.421
10
ζ
82
Summary of Second Order Phase Approximations
We see that the error for the
90
and ω hi than the error for the
the fit to the
90
ζ
degree per decade line is considerably smaller at both ω lo
ζ
132
ζ
degree per decade line, demonstrating the superiority of
degree per decade line. We have shown a straight-line approximation to the
second order phase function that is easy to draw and has easily remembered intercepts. The
line passes through ω 0 at 90 and has a slope of
o
90
ζ
degrees per decade. The intercepts
ζ
−ζ
are: ω hi = ω o ⋅ 10 and ω lo = ω o ⋅ 10
 s2

2

= s + 2 ⋅ s + 25 = 25 ⋅
+
⋅s + 1 
25
25


2
Example #1: H(s)
The constant term is greater than zero and so contributes nothing to the phase plot.
ω0 = 5
ζ = 0.2
ω hi = 7.924
ω lo = 3.155 and the slope is
90
ζ
o
o
= 450 per decade.
ω := 0.01 , 0.02 .. 1000




ω
 
 , 180  , 0 
5
 
phase ( ω ) := if  ω > 3.155 , if  ω < 7.924 , 90 + 450 ⋅ log 
150
phase ( ω )
100
50
0
0.01
0.1
1
10
ω
100
1 .10
3
83
84
The situation for poles is analagous as shown below.
Example #2: H(s) =
1
(s 2 + 2 ⋅s + 25)
=
1
⋅
25  s 2
1

2

+
⋅s + 1 
 25 25

The constant term is greater than zero and so contributes nothing to the phase plot.
ω0 = 5
ζ = 0.2
ω hi = 7.924
ω lo = 3.155 and the slope is
90
o
o
= 450 per decade.
ζ
ω := 0.01 , 0.02 .. 1000




ω
 
 , −180  , 0 
5
 
phase ( ω ) := if  ω > 3.155 , if  ω < 7.924 , −90 − 450 ⋅ log 
0
50
phase ( ω )
100
150
0.01
0.1
1
10
ω
100
1 .10
3
85
Final Example Magnitude Response
H(s) =
 s + 1  ⋅ ( s 2 + 4.8 ⋅ s + 9)


5

(
2
( s + 80) ⋅ s + 8 ⋅ s + 400
)
=
2
 s + 1  ⋅  s + 4.8 + 1 
 1

1
9

⋅9

 9
5
 5

⋅
2
80 ⋅ 400
 s + 1  ⋅  s + 8 ⋅ s + 1 


 80
  400 400

 1 ⋅9 
 5

 K0 = −84.998
K0 := 20 ⋅ log 
 80 ⋅ 400 
ω := 0.01 , 0.02 .. 1000

M1 ( ω ) := if  ω <


1
 ω 
, 0 , 20 ⋅ log 

1
5
 



5

 ω 

 80  
M2 ( ω ) := if  ω < 80 , 0 , −20 ⋅ log 


 ω 

 3 
M3 ( ω ) := if  ω < 3 , 0 , 40 ⋅ log 


ω30 := 3
ζ3 :=
4.8
2⋅ 9
ζ3 = 0.8
 ω 
8
ζ4 = 0.2
  ω40 := 20 ζ4 :=
20
 
2 ⋅ 400
M4 ( ω ) := if  ω < 20 , 0 , −40 ⋅ log 
K0
 0.01



K0
 0.2



3


 3

K0 + 20 ⋅ log 

 0.2 

points := 

3 
20  


 20 K0 + 20 ⋅ log 
 + 60 ⋅ log   
0.2


 3 

 80

0


0
 1000

86
MT ( ω ) := K0 + M1 ( ω ) + M2 ( ω ) + M3 ( ω ) + M4 ( ω )
A30 := 20 ⋅ log ( 2 ⋅ ζ3)
A32 := −10 ⋅ log ( 0.ζ3) + 0.563
2
 0.3
 0.3 

K
+
20
⋅
log


0


0.2 





 1.5  + A3
1.5
K0 + 20 ⋅ log 

2


 0.2 
Corr3 := 

3


 3

K0 + 20 ⋅ log 
 + A30


 0.2 

3 
10  


 10 K0 + 20 ⋅ log 
 + 60 ⋅ log   

 0.2 
 3 
ω4p := ω40 ⋅ 1 − 2 ⋅ ζ4
2
ω4p = 19.183
A40 := −20 ⋅ log ( 2 ⋅ ζ4) A40 = 7.959
(
A4p = 8.136




Corr4 := 




2
ω4c :=
2
ω40
ω4c
2
2 ⋅ ω4p
= 10
ω4c = 27.129
(
)
A42 = 2.2

 3  + 60 ⋅ log  10  + A4


 
2
0.2
3


 


3 
20 


K0 + 20 ⋅ log 
 + 60 ⋅ log   + A40

 0.2 
 3 

 ω4c  
3 
20 



K0 + 20 ⋅ log 
 + 60 ⋅ log   + 20 ⋅ log 
0.2
3
20


 


K0 + 20 ⋅ log 
)
2
2
A4p := −10 ⋅ log 4 ⋅ ζ4 ⋅ 1 − ζ4 
A42 := −10 ⋅ log ζ4 + 0.5625
ω40
ω40
87
20
MT ( ω )
0
⟨ ⟩
points 1
20
⟨ ⟩
Corr3 1
40
⟨ ⟩
Corr4 1
60
80
100
0.01
0.1
1
10
100
⟨ ⟩
⟨ ⟩
⟨ ⟩
ω , points 0 , Corr3 0 , Corr4 0
1 .10
3
Final Example Phase Response
 0.01

 0.2
 0.2

 3
 3
points := 
 20
 20

 80
 80

 1000
0 

0 
90 

90 
270 

270 
90 

90 
0 

0 
 0.02 0 
A := 

2
90


ω3lo := ω30 ⋅ 10
− ζ3
ω3hi := ω30 ⋅ 10
ζ3
 ω3lo 90 

B := 
 ω3hi 270 


90
ζ3
= 112.5
ω4lo := ω40 ⋅ 10
− ζ4
ω4hi := ω40 ⋅ 10
ζ4
 ω4lo 270 

C := 
 ω4hi 90 


 8 90 
D := 

800
0


90
ζ4
= 450
88
300
250
⟨ ⟩
points 1
⟨ ⟩
A1
⟨ ⟩
B1
⟨ ⟩
C1
⟨ ⟩
D1
200
150
100
50
0
0.01
0.1
1
10
⟨ ⟩ ⟨ ⟩ ⟨ ⟩ ⟨ ⟩ ⟨ ⟩
points 0 , A 0 , B 0 , C 0 , D 0
1 .10
3
100
Auxilliary Drawing
For ω < 0.02 slope = 0, for 0.02 < ω < ω3lo slope = +45, for ω3lo < ω < 2 slope =
+45 +112.5 = 157.5, for 2 < ω < 8 slope = +112.5, for 8 < ω < ω4lo slope =
+112.5 -45 = 67.5, for ω4lo < ω < ω3hi slope = +112.5 -450 - 45 = -382.5, for
ω3hi < ω < ω4hi slope = -450 -45 = -495, for ω4hi < ω < 800 slope = -45
Point #1 = (0.01,0), point #2 = (0.02,0).
 ω3lo 
 = 61.924
0 + 45 ⋅ log 
 0.02 
 2  = 160.191

 ω3lo 
61.925 + 157.5 ⋅ log 
so point #4.
so point #3,
8
160.191 + 112.5 ⋅ log   = 227.923
2
89
so point #5,
 ω4lo 
 = 241.284
227.923 + 67.5 ⋅ log 
8


 ω3hi 
241.284 − 382.5 ⋅ log 
 = 173.929
ω4
 lo 
 ω4hi 
173.929 − 495 ⋅ log 
 = 63.094
 ω3hi 
so pint #6.
so point #7,
so point #8
 800  = 0 so point #9 = (800,0) and point #10 = (1000,0).

 ω4hi 
63.094 − 45 ⋅ log 
 0.01
 0.02

 ω3lo

 2
 8
points := 
 ω4lo

 ω3hi

 ω4hi
 800

 1000


0

61.924 

160.191 
227.933 

241.284 

173.929 

63.094 

0

0

0




90
 ω 

 , 90  
 0.2 

Φ1 ( ω ) := if  ω < 0.02 , 0 , if  ω < 2 , 45 + 45 ⋅ log 




ω

 , −90  
 80 

Φ2 ( ω ) := if  ω < 8 , 0 , if  ω < 800 , −45 − 45 ⋅ log 








 ω 

,
180


ω3
0



Φ3 ( ω ) := if  ω < ω3lo , 0 , if  ω < ω3hi , 90 + 112.5 ⋅ log 
 ω 

 , −180  
 ω40 

Φ4 ( ω ) := if  ω < ω4lo , 0 , if  ω < ω4hi , −90 − 450 ⋅ log 
Φ T ( ω ) := Φ1 ( ω ) + Φ2 ( ω ) + Φ3 ( ω ) + Φ4 ( ω )
250
200
Φ T( ω )
150
⟨ ⟩
points 1 100
50
0
0.01
0.1
1
10
100
1 .10
3
⟨ ⟩
ω , points 0
^
^
^
^
#1
#2
#3
#4
^
^ ^
^
#5 #6 #7 #8
^^
#9 #10
91
References
[1]
Nilsson, James W. Electric Circuits . 4th ed. Reading, Mass.: Addison Wesley
Publishing Company, 1993
Download