# Controller Design with Bode Plots

paul2211
I have two questions. One theoretical, and one pertaining to the homework question below.

The theoretical question for which I am having trouble. When designing a controller to compensate a process using Bode Plots, why does my book seem to just use the forward loop gain rather than the transfer function (of an unity feedback system)?

i.e. For a forward path of Gc(s) and G(s) with unity feedback, the book's example seems to just overlay these two bode plots to meet the design requirements. Why did it not find the transfer function, and instead just uses the forward loop gain? (Or I am totally misunderstanding what my book does)

1. Homework Statement

Design a phase lead / lag controller so that G(jω) = 300,000/s(s+360) will have a Phase Margin (PM) of 60 degrees and have high frequency (ω >= 1000 rad/s) gain <= -20 dB

## Homework Equations

L(s) = Gc(s)G(s), where Gc(s) = K(s+z)/(s+p) as a Lead/Lag compensator

The picture of the control system I am referring to is: http://wps.prenhall.com/wps/media/objects/1468/1503802/ch10mc3.gif
Please ignore the equations as this is not the question I am doing.

## The Attempt at a Solution

Solving for ωcrossover using the uncompensated system:

0 ≈ 20log(833.333/(ω^2/360)

Plugging into phase: Ang G(s) = 0 - 90 - atan(ω/360) = -146 degrees. PM uncompensated = -146 + 180 = +34 degrees.

Cannot use phase lead compensator with the phase peak at 548 rad/s because it will increase magnitude's gain at high frequencies. Uncompensated gain is at -13 dB at 1000 rad/s, so I must decrease high frequency gain.

This means I will need a phase lag compensator, which decreases the gain at high frequencies.

Now I am stuck. I cannot design a lag compensator at the original crossover ω = 548 rad/s because it will decrease the PM. So I essentially need to design something that will decrease the crossover frequency using the magnitude plot.

The way my professor does in class seems more like an art than science. I feel like this will need MATLAB to do. My prof hinted that these types of questions will be on the final, so are there any hints/systematic ways to design these controllers?

Thanks so much!

milesyoung
When designing a controller to compensate a process using Bode Plots, why does my book seem to just use the forward loop gain rather than the transfer function (of an unity feedback system)?
If ##G_f(s)## and ##H(s)## is everything in the forward and feedback path, respectively, then the open-loop function is defined as ##L(s) = G_f(s) H(s)##. In your case, you have:
$$L(s) = G_c(s) G(s), \quad G_f(s) = G_c(s) G(s), H(s) = 1$$
The gain and phase margin of ##L(s)## tells you something about how the open-loop system ##L(s)## behaves in closed loop. If you instead consider the gain and phase margin of the closed-loop system ##T(s) = \frac{G_f(s)}{1 + G_f(s) H(s)}##, then you're evaluating how ##T(s)## behaves if you put an outer feedback loop around this inner feedback system, i.e is the system ##\frac{T(s)}{1 + T(s)}## stable etc. You see the problem?

Design a phase lead / lag controller so that G(jω) = 300,000/s(s+360) will have a Phase Margin (PM) of 60 degrees and have high frequency (ω >= 1000 rad/s) gain <= -20 dB
Does the assignment not mention any requirement on the crossover frequency? Otherwise, you could solve it by just lowering the gain.

If you could include a picture of the problem as it's given to you, that would be very helpful.

Edit:
If you're asked to maintain the uncompensated crossover frequency and raise the phase margin, then you can solve it by putting the lag part at a sufficiently low frequency.

Also, the lead-lag compensator has the zero/pole/gain form:
$$G_c(s) = \frac{K (s + z_1) (s + z_2)}{(s + p_1) (s + p_2)}$$
where ##z_1 < p_1## and ##z_2 > p_2##.

Solving for ωcrossover using the uncompensated system:

0 ≈ 20log(833.333/(ω^2/360)

Plugging into phase: Ang G(s) = 0 - 90 - atan(ω/360) = -146 degrees. PM uncompensated = -146 + 180 = +34 degrees.
If ##G(s) = \frac{300000}{s (s + 360)}##, then that crossover frequency isn't right. Could you include a bit more detail?

Last edited:
paul2211
If ##G_f(s)## and ##H(s)## is everything in the forward and feedback path, respectively, then the open-loop function is defined as ##L(s) = G_f(s) H(s)##. In your case, you have:
$$L(s) = G_c(s) G(s), \quad G_f(s) = G_c(s) G(s), H(s) = 1$$
The gain and phase margin of ##L(s)## tells you something about how the open-loop system ##L(s)## behaves in closed loop. If you instead consider the gain and phase margin of the closed-loop system ##T(s) = \frac{G_f(s)}{1 + G_f(s) H(s)}##, then you're evaluating how ##T(s)## behaves if you put an outer feedback loop around this inner feedback system, i.e is the system ##\frac{T(s)}{1 + T(s)}## stable etc. You see the problem?

Wow! Thank you so much. That makes a lot of sense! So just to confirm, for a non unity feed back with ##H(s)##, I would still plot the Bode Plot with ##L(s) = G(s) G_c(s) H(s)## for finding GM and PM. And this just shows how the open loop Gc(s)G(s) behaves in a closed loop with feedback H(s)?

Also, do you have a suggestion of what to read to get a better, basic theoretical understanding of these things? My class and textbook isn't the best. I just know how to solve problems, but don't really understand what I am doing...

Does the assignment not mention any requirement on the crossover frequency? Otherwise, you could solve it by just lowering the gain.

This helped for me. I just found on the phase plot where it matched my required PM, and put a lag compensator at very low frequency to change my crossover frequency to the required phase location!

Thanks a lot

milesyoung
So just to confirm, for a non unity feed back with H(s)H(s), I would still plot the Bode Plot with L(s)=G(s)Gc(s)H(s)L(s) = G(s) G_c(s) H(s) for finding GM and PM. And this just shows how the open loop Gc(s)G(s) behaves in a closed loop with feedback H(s)?
Yes, in terms of stability and performance, we're ultimately interested in coercing the closed-loop transfer function into some form, but it's usually not directly obvious how to accomplish that by manipulating the controller. One of the great accomplishments in the early days of feedback system analysis is that we can predict, usually very accurately, how the closed-loop system behaves by just looking at the open-loop function, which we can very easily see how is affected by the controller (using, for instance, Bode plots). That's also very important since we can determine the frequency response of the open-loop function experimentally, i.e. we can design control systems based on simple tests.

Also, do you have a suggestion of what to read to get a better, basic theoretical understanding of these things?
I can recommend the book "Feedback Control Systems" by Phillips and Harbor. In my opinion, it explains the fundamentals of feedback systems in a very approachable fashion. Books on control theory can quickly devolve into texts on applied mathematics, but this one takes care not to include too much unnecessary detail. It's still rigorous, but it doesn't overdo it.

Also, if you have any specific questions, you're welcome to post them here on PF in, for instance, the EE forum.