Control Theory – Simple Bode Plots

Minor edits 10/28/12: replaced “poles -1/tau” by “poles s = -1/tau” and at least one -1/tau by the absolute value of -1/tau.

We’re going to be looking at multiple Bode plots in one image. Despite everything I’ve shown you, it seems impossible to set both the color and the thickness. I believe this is a bug.

Here’s what happens if I try. (This happens to be a second-order system.)

So, we lost the color spec in the phase plots. I’ve tried a few other possibilities, but they don’t work either.

Let me show you why I expected it to work… here’s a screenshot from Control System Professional in Mathematica version 7, showing that it worked there.

… and we might as well settle for what we can get: thicker curves with the default color sequence.

I’ll remind us that the default color sequence comes from

so the order is blue, red, yellow, green….


As I’ve said before, and as I expect to show you as we keep going, Bode plots are drawn the way they are because we can add the contributions from the individual factors in a transfer function. Of course, since it’s awfully easy to have our computers just draw them, we don’t need to know how to rough out a Bode plot by hand, from its components. On the other hand, if you use Bode plots at all often, you might want to develop the associated intuition.

I, an amateur, like to do it in reverse, too: break out the components so I can see what did what to a given plot.

So let’s look at components.

Just to make sure I get this in here…. Let’s consider 3 constant transfer functions. (Ultimately these are “proportional control”.) The effect of a constant factor in a transfer function is to raise or lower the rest of the transfer function.

We see three horizontal lines on the amplitude plot, at 0, 20, 40. We see only the last of the three on the phase plot because all three have zero phase shift at all frequencies. So, does the third (gold) line on the amplitude plot at 40 dB translate to an amplitude ratio of 100? Yes:

Similarly, a magnitude ratio of 10 translates to 20 dB, and a ratio of 1 translates to 0 dB.

linear denominator

Here is the general first-order system… and this is the usual form in which they write it.

We might note even before we specialize to numerical examples that the pole is at

s = – 1 /\tau .

So let’s pick a range of values for \tau , and get a list of transfer functions… and their poles. (As usual, I want the bare transfer function h1 as well as the Transfer Function Models tf.)

Here are the Bode plots, all in one.

Let’s Look at the amplitude curves. The breakpoint – the change in slope – for the blue curve occurs at a frequency of 10, which is the absolute value of its pole. The red one certainly occurs in the middle of the 0.1 to 1 decade, and I can believe it’s at 0.5, which is (the absolute value of) its pole. The yellow one looks to be around 0.03, and the green one looks to be around .002, as they should.

To the left of its breakpoint, the slope of the amplitude curve quickly becomes zero. To the right of its breakpoint, the slope becomes -20 decibels per decade.

The key to roughing out such a curve is to draw two straight lines. First get the breakpoint – the absolute value of the pole. Then draw a line with a slope of zero from the left up to the breakpoint, and then a slope of -20 dB per decade from the breakpoint out to the right. Then you could sketch in a smooth transition between the two lines.

Alas, I don’t have much to say about the phase curves yet.

We really should look at some output response… I think the impulse response will suffice for now. For that, I just get the Inverse Laplace Transforms of the bare transfer functions:

Now would be a good time to notice that the time constants in our solutions are the poles s = -1 /\tau = -10, -1/2, etc.

We can tell even before we plot anything that the scales are way too different:

Let’s get a closer look at each one.

Oh, I will want to set the color of each curve, so I’m going to type… and then click on the three colors I want. Here’s the first output, after I click on the leftmost red. (That is, enter this command. After I get the panel output, I click in the panel, and that gets me the RGBColor line.)

… and after I click on the leftmost yellow:

Now let me do all three, clickety-clack:

The point is that the three outputs are in reverse order.

Now I ask for the second curve (out[[2]])… and I copy the third color from the previous outputs… and I chose to use a With command, so set the maximum time span. I didn’t really need to do that, since it only occurs in one place in the command.

The third curve:

The fourth curve:

And all of them laid out:

Maybe that was far more detail than we needed… but that’s how to get it.

(In one respect it’s less than we need: I forgot to show the input, namely the unit impulse.)

linear denominator to a power

Now, let me set \tau = 1, but consider higher powers of our linear term. Here’s the general case… and the first four powers…

As we would expect, I hope, we see repeated poles all at \tau = -1. So all the breakpoints will be at a frequency of 1, right?


But now the slopes have changed. Oh, they’re still zero to the left of the breakpoint, but the slope gets steeper (but they’re negative, so getting more negative) as we raise the power.

Look at a frequency of about 300. The blue line has dropped 50 db… the red has dropped 100, the yellow 150, and the green line 200: the slope goes as the power, doubling with every integer increase in exponent.

(The horizontal span was from 1 to 300, i.e. considerably more than a decade. Those slopes are in fact -20, -40, -60, and -80 dB/decade. It was just easier to read the 50 dB crosses.)


  • changing \tau shifts the breakpoint, which is at |-1 /\tau |.
  • changing the exponent changes the high-frequency slope.

Let’s look at the impulse responses again. (And, again, I forgot to show the inputs. Sorry.)

This time the scales are pretty close. But we see that there are powers of time t in the outputs of the n > 1 transfer functions – each of which will eventually be overcome by the exponential decay.

linear denominator, RHP pole

Now, let’s see what happens to our first-order transfer function if the poles are in the right half plane (RHP), i..e they are positive instead of negative.

Here’s our general case… and our numerical examples… but I deliberately retain one LHP pole, the first.

Get the Transfer Function Models and the poles:

Now the Bode plots:

So: each breakpoint occurs at the absolute value of the pole, just as they did when the poles were all negative. And the slopes are still -20 dB/decade. The phase response, however, is reversed.

Let’s look at the impulse responses.

The time constants in our solutions are still the poles – and three of them are positive, so our solutions will explode.

As before, the scales are way too different to show all four on one graph.

Let’s get a closer look at each one.

This time, I’ve just copied over the entire section… so my colors are set already. Here’s the second curve:

The third curve:

The fourth curve:

Let me remind you that the Bode plot says that the forced response tends to zero very quickly at high frequencies. But the positive poles mean that the natural response explodes. That the Bode plot looks nice is almost irrelevant when we have an RHP pole.

linear numerator

What it says: a linear polynomial in the numerator instead of in the denominator. Here’s the general case… and the numerical examples:

The Transfer Function Models… and their zeros (not poles, of course. what poles?)…

The Bode plots:

We see that a breakpoint occurs at the absolute value of the zero. As before, at lower frequencies, the slope is zero… at higher frequencies, the slope is +20 dB per decade of frequency.


Those amplitude curves say that whatever this is should shake itself to pieces at high frequencies.

These are said to be physically unrealizable.

It should seem reasonable that a device is physically unrealizable if its response is infinite at any frequency. We will see this soon for resonance in a second-order system… and down the road I think we will see it for ideal PI and PD controllers, too. In fact, we will see an example of it by the end of this post.

But in this case, it just boils down to our having a higher degree polynomial (degree 1) in the numerator than in the denominator (degree 0). That’s a no-no, if you to actually build something.

I think they also use the term physically unrealizable for a device which requires future information… I don’t imagine that’s an infinite response, anywhere….

two distinct poles

This time I’m going to do it differently. For the first time, I want to see the components of one transfer function, instead of the variation in one kind of component. Here is a list: two first-order transfer functions, followed by their product…

Here are the Transfer Function Models and the poles:

The poles for the product are the two poles of the components.

Since the third transfer function is the product of the first two, I expect that the gold lines are the sum of the red and blue lines, in each graph.

Those both look plausible to me. The gold amplitude line has two breaks of slope, at 0.01 and at 1.

pole and zero

Let’s try another combination. Here is a list of three transfer functions – one numerator, one denominator, and the product of the two:

Since I have both numerator and denominator, I want both zeros and poles:

Of course, the second and third have poles… the first and third have zeros.

As before, since the third transfer function is the product, I expect the gold lines are the sum of the red and blue lines.

Those both look plausible to me. I don’t like the blue amplitude line, but it’s not the final result – that’s the gold line. As the frequency goes to infinity, the output amplitude ratio remains +40 dB. But it does not go to infinity.

Let’s switch numerator and denominator:

The poles are now much closer to the imaginary axis than the poles are. I still expect that the gold lines are the sum of the red and blue lines, in each graph.

Once again, those both look plausible to me. This time the gold amplitude line levels of at -40 dB.

powers of s

The general case and the numerical examples:

The Transfer Function Models and the poles:

The Bode plots:

And there you are: the amplitude ratios go to infinity as the frequency goes to zero.

Zero frequency? In Fourier transform terminology, that’s a DC component, no?

I wanted to say these will shake themselves to pieces while they’re sitting on a shelf… but that’s not true: they will shake themselves to pieces if we apply a constant force. OK, we really need to see the unit-step responses – that is, a zero-frequency driving force… we divide the transfer functions by s (since 1/s is the Laplace Transform of the Unit Step):

We have polynomial, rather than exponential, growth, but these outputs grow without bound in response to a Unit Step input.


We saw Bode plots for

  • a constant
  • a linear denominator raised to a power, possibly including a RHP pole
  • a linear numerator
  • two distinct poles
  • a pole and a zero
  • powers of s in the denominator

For the two distinct poles, and for the pole-and-zero, we saw that the Bode plot of the product was indeed the sum of the Bode plots of the two components.

  • We saw that the absolute value of a pole or zero corresponds to the location of a breakpoint in slope.
  • The phase plot goes the other way for RHP poles, although the amplitude plot looks the same as for LHP poles.
  • Repeated factors change the nonzero slope to multiples of ±20 dB/decade.
  • If the numerator polynomial is of higher degree than the denominator, then the amplitude plot goes to infinity as frequency goes to infinity.
  • For powers of s in the denominator, the amplitude ratio goes to infinity as the frequency goes to zero – i.e. when we have a constant driving force.

One Response to “Control Theory – Simple Bode Plots”

  1. rip Says:

    Let me note that there is one specific open question from this post:

    Are ideal PI and PD controllers unrealizable?

    And there is a general question:

    What is a phase plot telling us?

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s

%d bloggers like this: