The Frequency Domain
One of the most commonly used test functions for a circuit or system is the sine wave. This is not because sine waves are a particularly common signal. They are in fact quite rare - the transmission of electricity (a 60 Hz sine wave in the U.S., 50 Hz in much of the rest of the world) is one example. The reason sine waves are important is complex and involve a branch of Mathematics called Fourier Theory. Briefly put: any signal going into a circuit can be represented by a sum of sine waves of varying frequency and amplitude (often an infinite sum). As a simple example, consider the graphs shown below. The top graph shows a triangle wave. The middle graph shows a number of sine waves of varying frequency and amplitude. The bottom graph shows the sum of the sine waves (red) and the original triangle wave (dotted black).

Clearly even just a few sine waves are sufficient in this case to closely approximate the original function. Fourier states that any function (with some very minor restrictions that won't concern us), can be represented in this way.
This is why sine waves are important. Not because they are common, but because we can represent arbitrarily complex functions using only these very simple function.
Given that sine waves are important, how can we analyze the response of a circuit or system to sinusoidal inputs? There are many ways to do this, depending on your mathematical sophistication. Let's use a fairly basic explanation that uses phasors. If you are unfamiliar with phasors, you can find a description in almost any circuits or systems textbook.
Using complex impedances it is possible to find the transfer function of a circuit. For example, the circuit below is described by the transfer function, H(s), where s=jω.
| Circuit | Transfer Function |
|---|---|
|
|
![]() |
Consider the case where R=1 and C=0.1. In that case:

Generally we know the input Vi and want to find the output Vo. We can do this by simple multiplication

If we have a phasor representation for the input and the transfer function, the multiplication is simple (multiply magnitudes and add phases). Finding the output becomes easy. Let's look at some examples:

Change input phase

Change input frequency

Cosine Input

Note that all angles are given in degrees. They should be changed to radians before evaluation by calculator or computer.
This document explained briefly why sine waves are important and how to find the output of a system given a sinusoidal input (i.e., represent input and transfer function as phasors and multiply to determine output as a phasor).
Back
Why use Magnitude
and Phase?
© Copyright 2005-2007
Erik Cheever This page may be freely used for educational
purposes.
Erik Cheever Department of Engineering Swarthmore College
Why choose the Bode Plot representation?
The previous document made the case that the study of sinusoidal inputs is important, and showed how phasor representations of the input and the system transfer function can be used to easily determine system output. This document will explain why the standard way of representing the transfer function is with two plots: magnitude vs. frequency and phase vs. frequency.
The difficulty in representing the transfer function comes about because we need to plot a complex number, H(s) or H(jω), as a function of frequency. Consider the transfer function

To graph this, the most straightforward way (with a computer) might be to plot the value of H(s) as the frequency changes. This yields the blue line in the three-dimensional plot shown below.

It would obviously be hard to get accurate information about the real and imaginary parts of H(s) from such a plot. It is easier if we plot the real and imaginary parts as a function of frequency (the red and green projections of the blue line). Clearly, in this case, two 2-dimensional graphs (one for real and one for imaginary) are superior to a single 3-dimensional graph.
However, in the last document we showed that to easily determine the output given the input, we would like to have the transfer function in phasor notation. This means that we should make a plot of magnitude and phase. Again, we could make a single 3-dimensional plot (the blue line), but it would be easier to interpret the results if we make two 2-dimensional plots (the magenta and cyan lines).

To clarify further, lets make separate plots of the magnitude and phase.

Note: Standard Bode plots are logarithmic on the frequency axis, and plot the magnitude in dB's (deciBels). We'll explore that in the next installment.
Consider the examples from the previous document.

Change input phase

Change input frequency

Cosine input

By examining the plots above, the magnitude and phase from the diagrams, the phasor representation of the transfer function at any frequency is immediately obvious.

Bode diagrams are presented as two graphs: one showing magnitude and one showing phase. The phasor representation of the transfer function can then be easily determined at any frequency.
Back
How are approximations
made?
© Copyright 2005-2007
Erik Cheever This page may be freely used for educational
purposes.
Erik Cheever Department of Engineering Swarthmore College
How the Piecewise Linear Approximations are Derived
Given a transfer function, such as

the question naturally arises: "How can we display this function?" In the previous document the argument was made that the most useful way to display this function is with two plots, the first showing the magnitude of the transfer function and the second showing its phase. One way to do this is by simply entering many values for the frequency, calculating the magnitude and phase at each frequency and displaying them. This is what a computer would naturally do. For example if you use MATLAB® and enter the commands
>> MySys=tf(100*[1 1],[1 110 1000])
Transfer function:
100 s + 100
------------------------------
s^2 + 110 s + 1000
>> bode(MySys)
you get a plot like the one shown below. The asymptotic solution is given elsewhere.

However, there are reasons to develop a method for drawing Bode diagrams manually. By drawing the plots by hand you develop an understanding about how the locations of poles and zeros effect the shape of the plots. With this knowledge you can predict how a system behaves in the frequency domain by simply examining its transfer function. On the other hand, if you know the shape of transfer function that you want, you can use your knowledge of Bode diagrams to generate the transfer function.
The first task when drawing a Bode diagram by hand is to rewrite the transfer function so that all the poles and zeros are written in the form (1+s/ω0). The reasons for this will become apparent when deriving the rules for a real pole. A derivation will be done using the transfer function from above, but it is also possible to do a more generic derivation. Let's rewrite the transfer function from above.

Now lets examine how we can easily draw the magnitude and phase of this function when s=jω.
First note that this expression is made up of four terms, a constant (0.1), a zero (at s=-1), and two poles (at s=-10 and s=-100). We can rewrite the function (with s=jω) as four individual phasors.

We will show (below) that drawing the magnitude and phase of each individual phasor is fairly straightforward. The difficulty lies in trying to draw the magnitude and phase of H(jω). We can write H(jω) as a single phasor:

Drawing the phase is fairly simple. We can draw each phase term separately, and then simply add them. The magnitude term is not so straightforward because of the fact that the magnitude terms are multiplied, it would be much easier if they were added - then we could draw each term on a graph and just add them. A method for doing this is outlined below.
One way to transform multiplication into addition is by using the logarithm. Instead of using a simple logarithm, we will use a deciBel (named for Alexander Graham Bell). (Note: Why the deciBel?) The relationship between a quantity, Q, and its deciBel representation, X, is given by:
![]()
So if Q=100 then X=40; Q=0.01 gives X=-40; X=3 gives Q=1.41; and so on.
If we represent the magnitude of H(s) in deciBels we get

The advantage of using deciBels (and of writing poles and zeros in the form (1+s/ω0)) are now revealed. The fact that the deciBel is a logarithmic term transforms the multiplication of the individual terms to additions. Another benefit is apparent in the last line that reveals just two types of terms, a constant term and terms of the form 20log10(|1+jω/ω0|). Plotting the constant term is trivial, however the other terms are not so straightforward. These plots will be discussed below. However, once these plots are drawn for the individual terms, they can simply be added together to get a plot for H(s).
If we look at the phase of the transfer function, we see much the same thing:
The phase plot is easy to draw if we take our lead from the magnitude plot. First note that the transfer function is made up of four terms. If we want
![]()
Again there are just two types of terms, a constant term and terms of the form (1+jω/ω0). Plotting the constant term is trivial; the other terms are discussed below.
The discussion above dealt with only a single transfer function. Another derivation that is more general, but a little more complicated mathematically is here.
Following the discussion above, the way to make a Bode Diagram is to split the function up into its constituent parts, plot the magnitude and phase of each part, and then add them up. The following gives a derivation of the plots for each type of constituent part. Examples, including rules for making the plots follow in the next document, which is more of a "How to" description of Bode diagrams.
Consider a constant term,
![]()
Clearly the magnitude is constant
![]()
The phase is also constant. If K is positive, the phase is 0° (or any even multiple of 180°). If K is negative the phase is -180°, or any odd multiple of 180°. We will use -180° because that is what MATLAB® uses. Expressed in radians we can say that if K is positive the phase is 0 radians, if K is negative the phase is -π radians.
![]() |
![]() |
Consider a simple real pole

The frequency ω0 is called the break frequency, the corner frequency or the 3 dB frequency (more on this last name later).
The magnitude is given by
Let's consider three cases for the value of the frequency:
Case 1) ω<<ω0. This is the low frequency case. We can write an approximation for the magnitude of the transfer function
The low frequency approximation is shown in blue on the diagram below.
Case 2) ω>>ω0. This is the high frequency case. We can write an approximation for the magnitude of the transfer function
The high frequency approximation is at shown in green on the diagram below. It is a straight line with a slope of -20 dB/decade going through the break frequency at 0 dB. That is, for every factor of 10 increase in frequency, the magnitude drops by 20 dB.
Case 3) ω=ω0. The break frequency. At this frequency
This point is shown as a red circle on the diagram.
To draw a piecewise linear approximation, use the low frequency asymptote up to the break frequency, and the high frequency asymptote thereafter.
The resulting asymptotic approximation is shown highlighted in pink. The maximum error between the asymptotic approximation and the exact magnitude function occurs at the break frequency and is approximately 3 dB.
The rule for drawing the piecewise linear approximation for a real pole can be stated thus:
For a simple real pole the piecewise linear asymptotic Bode plot for magnitude is at 0 dB until the break frequency and then drops at 20 dB per decade (i.e., the slope is -20 dB/decade).
The phase of a single real pole is given by is given by
Let us again consider three cases for the value of the frequency:
Case 1) ω<<ω0. This is the low frequency case. At these frequencies We can write an approximation for the phase of the transfer function
The low frequency approximation is shown in blue on the diagram below.
Case 2) ω>>ω0. This is the high frequency case. We can write an approximation for the phase of the transfer function
The high frequency approximation is at shown in green on the diagram below. It is a straight line with a slope at -90º.
Case 3) ω=ω0. The break frequency. At this frequency
This point is shown as a red circle on the diagram.
A piecewise linear approximation is not as easy in this case because the high and low frequency asymptotes don't intersect. Instead we use a rule that follows the exact function fairly closely, but is also arbitrary. Its main advantage is that it is easy to remember. The rule can be stated as
Follow the low frequency asymptote until one tenth the break frequency (0.1 ω0) then decrease linearly to meet the high frequency asymptote at ten times the break frequency (10 ω0).
This line is shown above. Note that there is no error at the break frequency and about 5.7º of error at one tenth and ten times the break frequency.


The second example shows a double pole at 30 radians per second. Note that the slope of the asymptote is -40 dB/decade and the phase goes from 0 to -180º.


The piecewise linear approximation for a zero is much like that for a pole Consider a simple zero:
![]()
The development of the magnitude plot for a zero follows that for a pole. Refer to the previous section for details. The magnitude of the zero is given by
Again there are three cases:
At low frequencies, ω<<ω0, the gain is approximately zero.
At high frequencies, ω>>ω0, the gain increases at 20 dB/decade and goes through the break frequency at 0 dB.
At the break frequency, ω=ω0, the gain is about 3 dB.
The rule for drawing the piecewise linear approximation for a real zero can be stated thus:
For a simple real zero the piecewise linear asymptotic Bode plot for magnitude is at 0 dB until the break frequency and then increases at 20 dB per decade (i.e., the slope is +20 dB/decade).
The phase of a simple zero is given by:
The phase of a single real zero also has three cases:
At low frequencies, ω<<ω0, the phase is approximately zero.
At high frequencies, ω>>ω0, the phase is 90º.
At the break frequency, ω=ω0, the phase is 45º.
The rule for drawing the phase plot can be stated thus:
Follow the low frequency asymptote until one tenth the break frequency (0.1 ω0) then increase linearly to meet the high frequency asymptote at ten times the break frequency (10 ω0).
This example shows a simple zero at 30 radians per second. The low frequency asymptote is the dashed blue line, the exact function is the solid black line, the cyan line represents 0.
![]()

A pole at the origin is easily drawn exactly. Consider

The magnitude is given by
This function is represented by a straight line on a Bode plot with a slope of -20 dB per decade and going through 0 dB at 1 rad/ sec. It also goes through 20 dB at 0.1 rad/sec, -20 dB at 10 rad/sec...
The rule for drawing the magnitude for a pole at the origin can be thus:
For a pole at the origin draw a line with a slope of -20 dB/decade that goes through 0 dB at 1 rad/sec.
The phase of a simple zero is given by:
The rule for drawing the phase plot for a pole at the origin an be stated thus:
The phase for a pole at the origin is -90º.
This example shows a simple pole at the origin. The black line is the Bode plot, the cyan line indicates a zero reference (dB or °).

A zero at the origin is just like a pole at the origin but the magnitude increases, and the phase is positive.
The magnitude and phase plots of a complex conjugate (underdamped) pair of poles is more complicated than those for a simple pole. Consider the transfer function:

The magnitude is given by
Let's consider three cases for the value of the frequency:
Case 1) ω<<ω0. This is the low frequency case. We can write an approximation for the magnitude of the transfer function
The low frequency approximation is shown in red on the diagram below.
Case 2) ω>>ω0. This is the high frequency case. We can write an approximation for the magnitude of the transfer function
The high frequency approximation is at shown in green on the diagram below. It is a straight line with a slope of -40 dB/decade going through the break frequency at 0 dB. That is, for every factor of 10 increase in frequency, the magnitude drops by 40 dB.
Case 3) ω≈ω0. It can be shown that a peak occurs in the magnitude plot near the break frequency. The exact height and location can be determined by differentiating the expression for the magnitude of the transfer function with respect to frequency and setting it to zero (to make life easier, square the function before differentiating, since the peak will be in the same place for a function or its square). The resulting differentiation shows a peak at the frequency given by
The peak has a magnitude of
The actual peak frequency is not important when drawing Bode diagrams by hand because if the peak is large enough to draw, the peak frequency is very near the break frequency. This point is shown as a blue circle on the diagram.
Note that the peak only exists for
and the frequency of the peak is typically very near the break frequency. For ζ=0, the peak is exactly at the resonant frequency but the peak frequency drops as ζ increases. However even for a fairly large ζ=0.3 (a small peak of only 5 dB), the resonant frequency is
which is only a 9% deviation from the break frequency. It is generally accurate enough to put the peak at the resonant frequency.
To draw a piecewise linear approximation, use the low frequency asymptote up to the break frequency, and the high frequency asymptote thereafter. Draw a smooth curve between the low and high frequency asymptote that goes through the peak value.
For the curve shown below,
The peak will have an amplitude of 5.02 or 14 dB.
The resulting asymptotic approximation is shown as a black dotted line, the exact response is a black solid line.
The rule for drawing the piecewise linear approximation for a complex conjugate pair of poles can be stated thus:
For the magnitude plot of complex conjugate poles draw a 0 dB at low frequencies, go through a peak of height,
.
at the break frequency and then drop at 40 dB per decade (i.e., the slope is -40 dB/decade). The high frequency asymptote goes through the break frequency.
The phase of a complex conjugate pole is given by is given by
Let us again consider three cases for the value of the frequency:
Case 1) ω<<ω0. This is the low frequency case. At these frequencies We can write an approximation for the phase of the transfer function
The low frequency approximation is shown in red on the diagram below.
Case 2) ω>>ω0. This is the high frequency case. We can write an approximation for the phase of the transfer function
The high frequency approximation is at shown in green on the diagram below. It is a straight line at -180º.
Case 3) ω=ω0. The break frequency. At this frequency
This point is shown as a blue circle on the diagram.
For the curve shown below
A piecewise linear approximation is not easy in this case, and there are no hard and fast rules for drawing it. The most common way is to look up a graph in a textbook with a chart that shows phase plots for many values of ζ. Another way is to use connect the low frequency asymptote to the high frequency asymptote starting at
and ending at
If ζ<0.02, the approximation can be simply a vertical line at the break frequency.
The rule for drawing phase of an underdamped pair of poles can be stated as
Follow the low frequency asymptote at 0º until
then decrease linearly to meet the high frequency asymptote at -180º at
.
![]()


Not surprisingly a complex pair of zeros yields results similar to that for a complex pair of poles. The differences are that the magnitude has a dip instead of a peak, the magnitude increases above the break frequency and the phase increases rather than decreasing.
The graph below corresponds to a complex conjugate zero with

The dip in the magnitude plot will have a magnitude of 0.2 or -14 dB.

.
![]()


Brief review of page: This document derived piecewise linear approximations that can be used to draw different elements of a Bode diagram. A synopsis can be found in a separate document.
© Copyright 2005-2007
Erik Cheever This page may be freely used for educational
purposes.
Erik Cheever Department of Engineering Swarthmore College
How the Piecewise Linear Plots are Made
This document will discuss how to actually draw Bode diagrams. It consists mostly of examples.
A transfer function is normally of the form:

As discussed in the previous document, we would like to rewrite this so the lowest order term in the numerator and denominator are both unity.
Some examples will clarify:

Note that the final result has the lowest (zero) order power of numerator and denominator polynomial equal to unity.

Note that in this example, the lowest power in the numerator was 1.

In this example the denominator was already factored. In cases like this, each factored term needs to have unity as the lowest order power of s (zero in this case).
The next step is to split up the function into its constituent parts. There are seven types of parts:
A constant
Poles at the origin
Zeros at the origin
Real Poles
Real Zeros
Complex conjugate poles
Complex conjugate zeros
We can use the examples above to demonstrate again.

This function has
a constant of 6,
a zero at s=-10,
and complex conjugate poles at the roots of s2+3s+50.
The complex conjugate poles are at s=-1.5 ± j6.9 (where j=sqrt(-1)). A more common (and useful for our purposes) way to express this is to use the standard notation for a second order polynomial

In this case
![]()

This function has
a constant of 3,
a zero at the origin,
and complex conjugate poles at the roots of s2+3s+50, in other words

This function has
a constant of 2,
a zero at s=-10, and
poles at s=-3 and s=-50.
The rules for drawing the Bode diagram for each part are summarized on a separate page. Examples of each are given later.
After the individual terms are drawn, it is a simple matter to add them together. See examples, below.
© Copyright 2005-2007
Erik Cheever This page may be freely used for educational
purposes.
Erik Cheever Department of Engineering Swarthmore College
Several examples of the construction of Bode Plots are included in this file. Click on the transfer function in the table below to jump to that example.
Draw the Bode Diagram for the transfer function:
![]()
Make both the lowest order term in the numerator and denominator unity. The numerator is an order 0 polynomial, the denominator is order 1.
![]()
The transfer function has 2 components:
A constant of 3.3
A pole at s=-30
This is done in the diagram below.
The constant is the cyan line (A quantity of 3.3 is equal to 10.4 dB). The phase is constant at 0 degrees.
The pole at 30 rad/sec is the blue line. It is 0 dB up to the break frequency, then drops off with a slope of -20 dB/dec. The phase is 0 degrees up to 1/10 the break frequency (3 rad/sec) then drops linearly down to -90 degrees at 10 times the break frequency (300 rad/sec).
The overall asymptotic plot is the translucent pink line, the exact response is the black line.

© Copyright 2005-2007
Erik Cheever This page may be freely used for educational
purposes.
Erik Cheever Department of Engineering Swarthmore College
Draw the Bode Diagram for the transfer function:

Make both the lowest order term in the numerator and denominator unity. The numerator is an order 1 polynomial, the denominator is order 2.
The transfer function has 4 components:
A constant of 0.1
A pole at s=-10
A pole at s=-100
A zero at s=-1
This is done in the diagram below.
The constant is the cyan line (A quantity of 0.1 is equal to -20 dB). The phase is constant at 0 degrees.
The pole at 10 rad/sec is the green line. It is 0 dB up to the break frequency, then drops off with a slope of -20 dB/dec. The phase is 0 degrees up to 1/10 the break frequency (1 rad/sec) then drops linearly down to -90 degrees at 10 times the break frequency (100 rad/sec).
The pole at 100 rad/sec is the blue line. It is 0 dB up to the break frequency, then drops off with a slope of -20 dB/dec. The phase is 0 degrees up to 1/10 the break frequency (10 rad/sec) then drops linearly down to -90 degrees at 10 times the break frequency (1000 rad/sec).
The zero at 1 rad/sec is the red line. It is 0 dB up to the break frequency, then rises at 20 dB/dec. The phase is 0 degrees up to 1/10 the break frequency (0.1 rad/sec) then rises linearly to 90 degrees at 10 times the break frequency (10 rad/sec).
The overall asymptotic plot is the translucent pink line, the exact response is the black line.

© Copyright 2005-2007
Erik Cheever This page may be freely used for educational
purposes.
Erik Cheever Department of Engineering Swarthmore College
Draw the Bode Diagram for the transfer function:
![]()
Make both the lowest order term in the numerator and denominator unity. The numerator is an order 1 polynomial, the denominator is order 2.
![]()
The transfer function has 4 components:
A constant of 33.3
A pole at s=-3
A pole at s=0
A zero at s=-10
This is done in the diagram below.
The constant is the cyan line (A quantity of 33.3 is equal to 30 dB). The phase is constant at 0 degrees.
The pole at 3 rad/sec is the green line. It is 0 dB up to the break frequency, then drops off with a slope of -20 dB/dec. The phase is 0 degrees up to 1/10 the break frequency (0.3 rad/sec) then drops linearly down to -90 degrees at 10 times the break frequency (30 rad/sec).
The pole at the origin. It is a straight line with a slope of -20 dB/dec. It goes through 0 dB at 1 rad/sec. The phase is -90 degrees.
The zero at 10 rad/sec is the red line. It is 0 dB up to the break frequency, then rises at 20 dB/dec. The phase is 0 degrees up to 1/10 the break frequency (1 rad/sec) then rises linearly to 90 degrees at 10 times the break frequency (100 rad/sec).
The overall asymptotic plot is the translucent pink line, the exact response is the black line.

Please contact me with any comments, positive or negative. Erik Cheever's home page.
© Copyright 2005-2007
Erik Cheever This page may be freely used for educational
purposes.
Erik Cheever Department of Engineering Swarthmore College
Draw the Bode Diagram for the transfer function:
![]()
Make both the lowest order term in the numerator and denominator unity. The numerator is an order 1 polynomial, the denominator is order 3.
![]()
The transfer function has 4 components:
A constant of -10
A pole at s=-10
A doubly repeated pole at s=-1
A zero at the origin
This is done in the diagram below.
The constant is the cyan line (A quantity of 10 is equal to 20 dB). The phase is constant at -180 degrees (constant is negative).
The pole at 10 rad/sec is the blue line. It is 0 dB up to the break frequency, then drops off with a slope of -20 dB/dec. The phase is 0 degrees up to 1/10 the break frequency then drops linearly down to -90 degrees at 10 times the break frequency.
The repeated pole at 1 rad/sec is the green line. It is 0 dB up to the break frequency, then drops off with a slope of -40 dB/dec. The phase is 0 degrees up to 1/10 the break frequency then drops linearly down to -180 degrees at 10 times the break frequency. The magnitude and phase drop twice as steeply as those for a single pole.
The zero at the origin is the red line. It has a slope of +20 dB/dec and goes through 0 dB at 1 rad/sec. The phase is 90 degrees.
The overall asymptotic plot is the translucent pink line, the exact response is the black line.

Please contact me with any comments, positive or negative. Erik Cheever's home page.
© Copyright 2005-2007
Erik Cheever This page may be freely used for educational
purposes.
Erik Cheever Department of Engineering Swarthmore College
Draw the Bode Diagram for the transfer function:
![]()
Make both the lowest order term in the numerator and denominator unity. The numerator is an order 1 polynomial, the denominator is order 2.
![]()
The transfer function has 4 components:
A constant of 6
A zero at s=-10
Complex conjugate poles at the roots of s2+3s+50,
with
This is done in the diagram below.
The constant is the cyan line (A quantity of 6 is equal to 15.5 dB). The phase is constant at 0 degrees.
The zero at 10 rad/sec is the green line. It is 0 dB up to the break frequency, then rises with a slope of +20 dB/dec. The phase is 0 degrees up to 1/10 the break frequency then rises linearly to +90 degrees at 10 times the break frequency.
The plots for the complex conjugate poles are shown in blue. They cause a peak of
at a frequency of
.
This is shown by the blue circle. The phase goes from the low frequency asymptote (0 degrees) at
to the high frequency asymptote at
The exact response is the black line.

Please contact me with any comments, positive or negative. Erik Cheever's home page.
© Copyright 2005-2007
Erik Cheever This page may be freely used for educational
purposes.
Erik Cheever Department of Engineering Swarthmore College
Draw the Bode Diagram for the transfer function:
![]()
Make both the lowest order term in the numerator and denominator unity. The numerator is an order 2 polynomial, the denominator is order 3.
![]()
The transfer function has 4 components:
A constant of 1
A pole at s=-100
A repeated pole at the origin (s=0)
Complex conjugate zeros at the roots of s2+s+25,
with
This is done in the diagram below.
The constant is the cyan line (A quantity of 1 is equal to 0 dB). The phase is constant at 0 degrees.
The pole at 100 rad/sec is the green line. It is 0 dB up to the break frequency, then falls with a slope of -20 dB/dec. The phase is 0 degrees up to 1/10 the break frequency then falls linearly to -90 degrees at 10 times the break frequency.
The repeated poles at the origin are shown with the blue line. The slope is -40 dB/decade (because pole is repeated), and goes through 0 dB at 1 rad/sec. The slope is -180 degrees (again because of double pole).
The complex zero is shown by the red line. The zeros give a dip in the magnitude plot of
at a frequency of 5 rad/sec. This is shown by the red circle. The phase goes from the low frequency asymptote (0 degrees) at
to the high frequency asymptote at
The exact response is the black line.

Please contact me with any comments, positive or negative. Erik Cheever's home page.
© Copyright 2005-2007
Erik Cheever This page may be freely used for educational
purposes.
Erik Cheever Department of Engineering Swarthmore College
© Copyright 2005-2007
Erik Cheever This page may be freely used for educational
purposes.
Erik Cheever Department of Engineering Swarthmore College
A Tool for Generating Piecewise Linear Asymptotic Bode Diagrams
BodePlotGui is a graphical user interface written in the MATLAB® programming language. It takes a transfer function and splits it into its constituent elements, then draws the piecewise linear asymptotic approximation for each element. It is hoped that the BodePlotGui program will be a versatile program for teaching and learning the construction of Bode diagrams from piecewise linear approximations.
Files for the program are found here
Consider the transfer function:

This function has three terms to be considered when constructing a Bode diagram, a constant (100), a pole at ω=10 rad/sec, and a zero at the origin. The following MATLAB® commands begin execution of the GUI:
>>MySys=tf(1000*[1 0],[1 10]); %define Xfer function >>BodePlotGui(MySys) %Invoke GUI
The GUI generates a window as shown below.

Starting in the upper left and going counterclockwise, the windows show:
The magnitude plot, both the piecewise linear approximation for all three terms as well as the asymptotic plot for the complete transfer function and the exact Bode diagram for magnitude. Also shown is a zero reference line.
The phase plot.
The legend identifying individual terms on the plot.
A box that shows elements excluded from the plot. This box is empty in this display because the diagram displays all three elements of the transfer function.
A 'Legend' box that shows elements displayed in the plot.
Above the legend box is a check-box that determines whether or not to display the asymptotic plot for the complete transfer function; sometimes it gets in the way of seeing the other plots, so you may want to hide it.
Several check-boxes that allow the user to display how the plots are displayed.
Two buttons that allow the user to close the GUI, or to go to a web page (this one) that describes Bode Plots.
Also shown in the upper right hand corner is the transfer function, H(s).
The function displayed can be manipulated term by term to illustrate the effect of each term. For example, the zero at the origin can be excluded simply by clicking on it in the lower left hand box. The figure below shows the result.

Note that the zero at the origin is no longer included in the plot. Each term can be likewise included or excluded by simply clicking on it.
The next plot shows the plot modified to have thicker lines, a grid, phase in radians and without the asymptotic plot of the complete transfer function. In the previous graph, the phase of the asymptotic plot obscured that of the real pole; this is an example when it is convenient not to show the asymptotic approximation.

Underdamped poles (and zeros) present a difficulty because they cause a peak (dip) in the magnitude plot. The program show this with a simple circle showing the peak height. For example the transfer function

yields the output shown below. The peak due to the underdamped pole is clearly shown.

The example below is more complicated. It shows underdamped terms, repeated poles, and a pole at the origin.


The software has known limitations. It does not calculate the phase associate with a time delay. It only decomposes transfer functions with up to 20 separate terms (a limit only of the number of colors used). Repeated poles and zeros are treated as a single term (i.e., it is not possible to move only one pole of a repeated pair from the “Elements included in plot” window to the “Elements excluded from plot” window of the GUI).
© Copyright 2005-2007
Erik Cheever This page may be freely used for educational
purposes.
Erik Cheever Department of Engineering Swarthmore College
When making Bode plots one needs two pieces of semi-logarithmic paper, one for the magnitude plot and one for the phase. The program described here, BodePaper.m, can be used to make paper. Download it and save it so that MatLab can find it (from the Matlab menu you can go to File->Set Path and include the directory where you stored the BodePaper.m file.)
The syntax for calling is given by the function's help file.
>> help BodePaper BodePaper is Matlab code to generate graph paper for Bode plots. It generates two semilog graphs for making Bode plots. The top plot is for magnitude, the units on the vertical axis is set to dB. The bottom plot shows phase. The units on the phase plot can be radians or degrees, at the discretion of the user. The default is degrees. The correct calling syntax is: BodePaper(om_lo, om_hi, dB_lo, dB_hi, ph_lo, ph_hi, UseRad) om_lo the low end of the frequency scale. This can be either rad/sec or Hz. No units are displayed on the graph. om_hi the high end of the frequency scale. dB_lo the bottom end of the dB scale. dB_hi the top end of the dB scale. ph_lo the bottom end of the phase scale. ph_hi the top end of the phase scale. UseRad an optional argument. If this argument is non-zero the units on the phase plot are radians. If this argument is left off or set to zero, the units are degrees.
To make paper that goes from 0.1 Hz to 100 Hz, with the magnitude scale going from -60 to 40 dB and the phase from -180 to 90 degrees, the function call would be
>> BodePaper(0.1,100,-60,40,-180,90)
and the paper looks like:

To change the units on phase the function call would be:
BodePaper(0.1,100,-60,40,-pi,pi/2,1)
and the paper now looks like this:

© Copyright 2005-2007
Erik Cheever This page may be freely used for educational
purposes.
Erik Cheever Department of Engineering Swarthmore College
© Copyright 2005-2007
Erik Cheever This page may be freely used for educational
purposes.
Erik Cheever Department of Engineering Swarthmore College