Sie sind auf Seite 1von 12

Drawing Bode Plots

(The Last Bode Plot You Will Ever Make)


Charles Nippert
This set of notes describes how to prepare a Bode plot using Mathcad. Follow these
instructions to draw Bode plot for any transfer function. In these notes we will draw the
Bode plots of a second order transfer function. However, after you have created the
sample program, you can easily modify it to plot any transfer function. Therefore, this is
the last Bode plot you need to draw from scratch! Another alternative is that you can use
these notes to prepare Bode plots of any function merely by using that function, adjusting
the scale factors for frequency and the coefficient in the Margin Response.

The transfer function you will plot is:


0.2
G (s ) =
(10s + 1)(0.02s + 1)
These notes will use an array of values of frequency to generate arrays of values of
amplitude ratio, magnitude ratio and, phase shift. In order to produce a curve that appears
smooth, you will use a large number of values of frequency in the arrays. You will then
use Mathcad’s plotting feature to draw graphs. You will make log-log plots and log plots
that are the customary forms of Bode plots.

Begin by Opening Mathcad

1. Open Mathcad in the usual fashion.

Create a Range Variable

2. You will now create a Mathcad "range variable". A “range variable” is a variable
containing integer values ranging from a low value to an upper value, such as the
integers 0, 1, 2, 3, … 50. In you Bode plot, the range variable will be used to
create arrays and access the values in individual elements in those arrays as you
create the plots. Name your range variable “i”. Type “i” about a half an inch
below the top of your work page. The next step is to create the arithmetic
assignment sign, (the ":=” symbol). Do this in one of two ways: either:

1. Select "View/Toolbars/Calculator" from the menu. A toolbar will appear.


Click on the button. Alternatively, you can

2. Type ":".

A small black, rectangle should appear to the right of the “:=” symbol as shown in
figure 1. This rectangle is a placeholder and indicates that Mathcad is waiting for
more information.
Figure 1

2. Next, indicate the range of the integers. Do this by first typing the lower limit of
the range, in this case 0. Next, create the range symbol “…” by doing one of the
following:

1. Select "View/Toolbars/Matrix". A toolbar will appear. Click on the


button. Alternatively you can

2. Type ";"

Finally, finish the range variable by typing the upper limit, in this case 100.
Should look like figure 2
Figure 2

You have now defined a range variable called "i" that contains all the integers
from zero to 100.
Create an Array of Frequencies

3. You will now enter the equation that defines the range of frequencies to be used
in the Bode plot. Frequency is generally represented by the Greek letter ω.
Move the cursor somewhere below the range variable that you have already
created. You can do this by moving the mouse cursor just below the range
variable and clicking your left mouse button. You can create Greek letters by
selecting "View/Toolbars/Greek" from the menu. A toolbar with Greek letters
appears. Type the Greek letter that you wish, in this case “ω”.

4. The value ω will represent an array of numbers. Each number will be


represented by a subscript, the value of the first subscript in the array will be zero,
the value of the next subscript will be one and, the value of the last (the hundred
and first) will be 100. Now create a subscript in one of two ways:

1. Click the button from the Matrix toolbar

2. Type “[“

in either case, your screen should now resemble Figure 3


Figure 3

5. The black rectangle is a placeholder a little lower than the Greek letter ω and
slightly to the right. Type the letter ”i” and then enter of the “:=” symbol as you
did in step 1 of these notes. The horizontal axis of a bode plot is generally a
logarithmic scale. In order to have values of frequency regularly spaced a
logarithmic axis, use the following formula:

Where min = the smallest power of 10 on the Bode plot


span = the range of the powers of ten.
In this sample program, the smallest value of ω will be 10-5 and the largest value
will be 105. Type the number 10. Remember to use the “^” symbol to create a
superscript. In this case we will use a minimum value of -5 and a span of 10.
Enter those numbers in the formula in place of the names so that your finished
formula should look like Figure 4
Figure 4

Change the values of the minimum and the span if you wish to change the
values of the horizontal axis.

6. You will now enter the transfer function given on the first page of these notes.
Mathcad allows functions that written in the form of

function_name(variable1, varaible2, …. variableN) = mathematical expression

Therefore it should be easy to enter the transfer function.


0.2
G (s ) =
(10s + 1)(0.02s + 1)
Move the mouse cursor just below the formula for frequency. Begin typing the
equation. Start with the left side, create the “:=” symbol and type “0.2”. Use the
“/” key to create the division. Remember to use an “*” to indicate every
multiplication (between the 10 and the “s”, the 0.02 and the “s” and between
“)(“. The finished equation is shown in Figure 5.
Figure 5

7. Bode plots are generated from the transfer function by replacing the s terms with
iω. You will not compute the complex values of the transfer function for each
frequency, placing them in an array that you will name g. This entire action is
done with one equation that define each element in the array g. Use the mouse
cursor to move to an area just below the transfer function. Click on the left mouse
button and type “g”. Then create a subscript using either the button or the “[“
key. Type “i”. Next, create the “:=” symbol using either the button or the “:”
key. Finally, type the formula; type “G(“. You will find the square root symbol
all on the calculator toolbar that you can make visible using the
"View/Toolbars/Calculator" menu option. Type “-1” under the square root sign.
Your formula should look like figure 6a. The frequency symbol must appear
outside the square root sign and multiplies the square root of minus one. Tap
right arrow key twice to move the inverted L cursor from under the square root
symbol. The inverted L. cursor embraces the entire square root symbol as shown
in figure 6b. Next hit the Asterix. Then hit the “ω” button on the toolbar. Create
a subscript and type “i”. Finish with a “)”. The final equation is shown in figure
6c

Figure 6a Figure 6b Figure 6c


After typing -1 Tap Right Arrow Key Finished!
Twice to Move the Cursor
OUT OF the Square Root

Make sure that the frequency is outside of the square root symbol. If you make a
mistake, erase the equation and start over.

8. The amplitude response of a transfer function is simply the magnitude of the


complex value of transfer function. The array g contains the complex values of
the transfer function of evaluated at the wavelengths. We will now use Mathcad's
functions to obtain both the magnitude and the angle of the phaser given by gi.
Mathcad uses the absolute value symbol to return the magnitude of a complex
number. Therefore, finding the amplitude response is simple. Underneath the
formula for g create an array named AR to contain the amplitude response for the
values of frequency given in the ω array. Press the absolute value button after
creating the “:=” symbol. The button is found on both the Calculator and
Matrix toolbars. Move the inverted L. inside the absolute value symbol and type
the rest of the letter g. and the subscript i. The finished equation is shown in
figure 7
Figure 7
9. The Margin Response is the Amplitude Response divided by the process gain
which is merely the coefficient of the transfer function when it is written with the
constant terms will polynomial factors set to one, as illustrated by the sample
transfer function. The process gain in this example is 0.2 so the margin response
is obtained by dividing the amplitude response by 0.2. This equation is shown in
figure 8.
Figure 8

10. The equation for phase shift shown in figure 9 uses several Mathcad functions.
The functions Re(x) and Im(x) return the real and imaginary components of a
complex number, respectively. The atan2(x, y) function returns the angle from
the x-axis to a line containing the origin and the point (x,y). Results are in radians
between –π and π, excluding –π. Multiply the values returned by atan2 by 180/π to
convert to degrees. Enter this equation just below the Margin Response.
Figure 9

Draw the Graph

11. Press “Enter” to leave the last equation. Move the Red Cross cursor to a spot
below your last equation. From the menu bar choose "View/Toolbars/Graph”.
The graph toolbar shown in figure 10 will appear.
Figure 10
The Graph Toolbar

12. The two-dimensional graph is created by clicking the button in the upper left-hand
corner of the toolbar. The button looks like a 2-D graph, . Click that button
and a graph object will replace the Red Cross cursor. The object is shown in
figure 11. The black rectangles on the outer border are "handles" you can "grab"
by pressing and holding them with the mouse cursor to change the size and shape
of the graph. . The inner, large, empty rectangle shows the size of the graph
itself. The solid rectangles that are not attached to any shape our placeholders for
the horizontal and vertical axes. The inverted L cursor appears at the horizontal
axis.
Figure 11
The Graph Object

Plot area

Vertical axis

“Handle” to change the


size of the graph.

Horizontal axis

13. You will make the elements of the array, ω, the values for the horizontal axis. If
the inverted L cursor is not on the horizontal axis placeholder, move the mouse
cursor over that placeholder and click the left mouse button. Type ωi to enter the
horizontal axis. Be sure to use the real subscript (the button or the “[“key).
Next, click on the vertical axis placeholder to move the inverted all cursor over it.
Mathcad allows you to plot either arrays that have been calculated already or
values that are calculated "in place". The vertical axes will disoplay the arrays
AR and MR. On the vertical axis type “ARi”, when you are finished, Mathcad
will display a line using the 101 values from AR array and pair them with the
appropriate values of ωi to plot a line. Your graph object should now resemble
figure 12.
Figure 12
After Entering the Horizontal and Vertical Axes

14. Mathcad only allows one set of values on the horizontal axis. You can plot as
many arrays on the vertical axis as you wish. If the inverted L. cursor is not at the
end of the variable AR, move the mouse cursor over the “AR”, click the left
mouse button and, press the right arrow key until the cursor looks like the one
shown in Figure 12. When the inverted L cursor is at the end of the ARi line, type
“,” to create a new placeholder just below it. Your screen should look like figure
13. Then enter the second variable MRi and press “Enter”. The graph should
resemble figure 13b

Figure 13a Figure 13b


The Vertical Axis The Finished Graph

Modify the Graph

13. You will now make the plot look like a Bode plot by changing the axes from
Cartesian axis to logarithmic axes. Move the mouse cursor over the graph and
click on it once. The border with the handles should appear. Grab the handle in
the lower right hand corner with the mouse and drag it down into the right to
make the graph larger. Then double-click on the graph with the mouse cursor to
call up the graph dialog box that a shown me in figure 14. When the box appears,
the "grid lines" and “Log Scale” options are not checked. Check them now as
shown in the figure.
Figure 14
X-Y Traces on the Graph Dialog Box

14. Click the "Traces" tab. This tab allows you to specify the appearance of the lines
drawn on the screen. Move the mouse cursor over the line labeled "traced two"
and click. The default setting for this line is a role dots. Move the mouse cursor
to the pull down tab labeled “line” and click on "solid”. Your screen should
appear like figure 15 before you click on “solid".
Figure 15
The Traces Tab

15. Click OK to close the dialog. The completed graphic shown in figure 16
Figure 16
Completed Bode Plot
16. Now plot the phase angle below your first plot by modifying the steps you used to
plot the Margin Response and the Amplitude Response as outlined below:

1. Only plot φi on the vertical axis


2. In step 14, on the “Y-Axis list of check boxes. leave the “Log Axis” box
UNCHECKED

The phase angle plot is shown in Figure 15


Figure 15
Phase Plot

Modifying Your Bode Plots for New Functions

SAVE THIS FILE! You can modify your file to give you Bode plots of any transfer
function. Here are the things you must do to modify this file.

17. Change the function G(s). Click on this formula and enter your new formula.
Click on this function. Move the mouse cursor over the equation near the lower
right hand side. Press and hold the left mouse button as you drag the cursor to the
left until the entire right hand side of the equation up to the “:=” sign is shown in
reverse video, as shown in Figure 16. Press delete to remove the old transfer
function. Enter the transfer function you want to plot. If you mess up, just erase
the old equation reenter your equation/
Figure 16

18. Change the gain in the Margin Response equation to the process gain of your
transfer function. Click on the equation and use the arrow keys to move the
inverted L cursor to the gain. Use the backspace key to remove the old gain.
Then type the new gain.
19. Change the range of wavelengths. Recall the formula used to calculated is

Edit this function by clicking on it and using the arrow keys to move the cursor to
the parts of the equation you want to change.

19, The atan2 function returns values between –π and π. A plot of


G(s) = 0.2 exp(-2s) is shown in figure 16. The breaks in this function are artifacts
of the atan2 function. The actual function continues down without any breaks.
You can either leave the program as it is and just remember that any breaks in
phase angles are artifacts or you can use Mathcad’s programming feature to write
your own function. The programming feature is described in other notes
elsewhere. Some of my Bode plots use code to correctly plot phase angle.
Figure 16

Das könnte Ihnen auch gefallen