EE 4343 Control System Design

Design of Phase-lead and Phase-lag compensators using Bode Plot Method
The University of Texas at Arlington, 1998

1. Phase-lead compensator design using Bode Plot Method
Goal: Design a phase-lead compensator for the system G  s  

1
, such that the steadys  s  1

state error is less than 0.1 for a unit ramp input and a % overshoot less than 25%.
Steady-state error specification
KV  lim sG  s   lim s
s 0

ess 

s 0

K 1
K
s  s  1

1
1

 0.1  K  10
KV
K

% overshoot specification
Recall the relationship between % overshoot and damping ratio (  ) which is given by

% Overshoot  100e



1  2

and is shown in Figure 1.
100
90
80

% Overshoot

70
60
50
40
30
20
10
0

0

0.1

0.2

0.3

0.4
0.5
damping ratio 

0.6

Figure1. % Overshoot vs. Damping Ratio.

-1-

0.7

0.8

0.9

3 0.7 Figure2.Then.2 0. Damping Ratio. -2- 0.8 0.1 0. the relationship between phase margin (PM) and damping ratio (  ) for the special  n2 G  s   case of open-loop transfer function which is given by s s  2 n      2 PM  tan 1   1  4  2  2 2    maintains that the phase margin of the compensated system should be greater than obtain a percent overshoot less than 25% and is shown in Figure 2.9 1 45  to .6 damping ratio  0. 80 70 Phase Margin (PM) 60 50 40 30 20 10 0 0 0.5 0. Phase Margin vs.4 0.

Thus. Thus. Bode plot of uncompensated system K  G  s  .) to determine the amount of phase lead  m needed to realize the required phase margin so that the percent overshoot specification is met. Obtain the gain margin and phase margin plots of the uncompensated system along with the DC gain constant K found in (i.5 rad sec . Bode Diagrams Gm = Inf. one must determine the frequency at which the uncompensated system has a magnitude 10 log 0. From inspection of Figure 3. then the additional amount of phase lead  m  PM comp  PM uncomp  25 .3 which corresponds to a maximum phase lead of 33 .  m should equal this frequency so that it becomes the new 0-dB crossover frequency in the compensated system. The transfer function of a phase-lead compensator is given as -3- .Phase-lead design procedure: i. the magnitude of the uncompensated system equals –5. the parameter  of the phase-lead compensator can be chosen from Figure 2. The phase-lead compensator contributes a gain around  10 log 0.0842 rad/sec) 60 40 Phase (deg). Magnitude (dB) 20 0 -20 -100 -120 -140 -160 -180 -1 10 0 10 Frequency (rad/sec) Figure 3.) ii. the PM of the uncompensated system PM uncomp  20  .3  5.14 in Appendix A. therefore. From above.5 rad sec . which has been chosen to be   0.) Calculate the parameters of the phase-lead compensator based on the values obtained in steps (i. choosing the PM of the compensated system as PM comp  45 .2dB at the new  m . iii. Pm=17.3  5.. Let  m  4. so let K  10 .) The maximum phase lead  m must be added around the new gain-crossover frequency  m .964 deg.) Choose the DC gain constant K such that the steady-state error specification is met. From Figure 3. we know K must be greater than or equal to 10.2dB . (at 3. Now that  m has been determined. iv.2dB at the frequency   4.).) thru (iii.

T  0. gden = [1 1 0]. % Closed-loop sys [gnumc.cden). Thus. bode(cnum.gden). cden = [T*alpha 1].hden. hden = [1]. % Open-loop sys C(s)*G(s) numo = conv(cnum. % DC compensator gain % Phase-lead compensator C(s) cnum = K*[T 1].41s  1 C s  0.denc] = feedback(numo.gdenc] = feedback(K*gnum.deno.-1). wm = 4.C s  where T  1 s 1 T   s  1 T or C  j   j T  1 with   1 jT  1 1 . -4- .hnum.123s  1 Phase-lead compensator simulation results: Matlab Simulation clear all.41 sec . % phase-lead compensator time constant K = 10. [numc.3.hnum.hden. % gain-crossover frequency alpha = 0. % phase-lead compensator parameter T = 1/wm/sqrt(alpha).gden.-1). % Open-loop sys G(s) gnum = [1].3 .gnum). % Unity-Gain Feedback Loop H(s) hnum = [1].5. deno = conv(cden. for   0. This leads to a phase-lead m  compensator design of the following: 0.

-5- 2 10 . Magnitude (dB) 25 20 30 20 10 -1 10 0 10 1 10 Frequency (rad/sec) Figure 4. Bode plot of phase-lead compensator C  s  .Bode Diagrams 30 Phase (deg).

[mag1.logspace(-1. -6- .'r'.gden).'r'.ph1.'b'). 50 Bode Diagrams uncompensated compensated 0 -50 -100 -1 10 0 10 1 10 2 10 P h a s e (d e g ) -80 -100 uncompensated compensated compensated system -120 -140 uncompensated system -160 -180 -1 10 0 1 10 10 Frequency (rad/sec) 2 10 Figure 5.ph2.'b'). legend('uncompensated'.2. sys2 = tf(numo.M a g n itu d e (d B ) sys1 = tf(K*gnum. ylabel('Phase (deg)').20*log10(mag2).w]=bode(K*gnum.'compensated'. subplot(212). ylabel('Magnitude (dB)'). w.20*log10(mag1).logspace(-1. semilogx(w.ph2. w.500)). -1).ph1.'compensated'.gden. xlabel('Frequency (rad/sec)'). [mag2. legend('uncompensated'.deno.w]=bode(numo. subplot(211). Bode plots of uncompensated and compensated systems. title('Bode Diagrams').500)).2. -1). semilogx(w.deno).

'compensated'.figure. Step response of uncompensated and compensated system.-1).grid. sys2c = tf(numc.4 0. legend('uncompensated'.6 0. Step Response 1.4 uncompensated compensated A m p litu d e 1. step(sys1c. -7- .6 1.sys2c).) Figure 6.2 1 0. sys1c = tf(gnumc.denc).8 0.2 0 0 2 4 6 8 10 12 Time (sec.gdenc).

[1 0]). 'desired'. legend('uncompensated'.5 0 0 1 2 3 Time (sec) 4 5 Figure 7.5 4 uncompensated compensated desired 3. [y1.x2]=step(numc.conv(denc.5 1 0.y2. [y4.t).grid.'g').t. Unit Ramp Input response 5 4.denc.y1. [y2. -8- . y = t. 'compensated'.t.t).[1 0]).-1).x3]=step(numc.gdenc.01:5.5 2 1.'r'.5 3 2.y.x4]=step(gnumc.conv(gdenc.'b'.t=0:0. Response of uncompensated and compensated systems due to unit ramp input. xlabel('Time (sec)'). plot(t. [y3.t).x1]=step(gnumc.t). title('Unit Ramp Input response').

2. Obtain the gain margin and phase margin plots of the uncompensated system along with the DC gain constant K found in (i. Steady-state error specification As computed in (1.) Choose the DC gain constant K such that the steady-state error specification is met. From Figure 8. Phase-lag compensator design using Bode Plot Method Goal: Design a phase-lag compensator for the system G  s   1 .). Bode plot of uncompensated system K  G  s  .1 for a unit ramp input and a percent overshoot less than 25%. Magnitude (dB) i. we know K must be greater than or equal to 10. Bode Diagrams Gm = Inf. PM comp  45 .). such that the steady-state s  s  1 error is less than 0.) 0 -20 -100 -120 -140 m -160 -180 -1 10 0 10 Frequency (rad/sec) Figure 8. Phase-lag design procedure: ii. let  m  0. K  10 .) to estimate the frequency at which the PM of 50  occurs. so let K  10 . Pm=17. Denote this frequency as the new gain-crossover frequency  m . -9- .84 rad sec . (at 3.964 deg. Percent overshoot specification As obtained in (1. From above.0842 rad/sec) 60 40 20 Phase (deg)..

119 s  1 Phase-lead compensator simulation results: Matlab Simulation clear all. % Open-loop sys C(s)*G(s) numo = conv(cnum.hden. This leads to a phase-lag compensator where T  design of the following: C s  11.iii.9 sec . deno = conv(cden. % DC compensator gain % Phase-lead compensator C(s) cnum = K*[T 1]. % phase-lag compensator parameter T = 10/wm. hden = [1].) Determine the magnitude of uncompensated system at  m  0.-1).gnum).. wm = 0. % Unity-Gain Feedback Loop H(s) hnum = [1].84 rad sec is 20 dB.gdenc] = feedback(K*gnum. cden = [T*alpha 1].gden).10 - . % Closed-loop sys [gnumc. The transfer function of a phase-lag compensator is given as C s  1 s 1 T   s  1 T or C  j   jT  1 with   1 jT  1 10 1  11.). % Open-loop sys G(s) gnum = [1]. From Figure 8.84.-1).deno. gden = [1 1 0]. % phase-lead compensator time constant K = 10.hnum.) thru (iii. To bring the magnitude curve down to 0 dB at  m .hden.84 rad sec .) Calculate the parameters of the phase-lag compensator based on the values obtained in steps (i. [numc. % gain-crossover frequency alpha = 10. iv.denc] = feedback(numo.9 s  1 . the phase-lag compensator must provide 20 log    20 dB or  20  10 20  10 .gden. This is to ensure that the frequency at   is one decade m T below the new gain-crossover frequency  m . the magnitude of the uncompensated system at  m  0.hnum. .

.bode(cnum.11 - 0 10 . Magnitude (dB) 10 5 0 -10 -20 -30 -40 -50 -3 10 -2 -1 10 10 Frequency (rad/sec) Figure 9.cden). Bode Diagrams 20 15 Phase (deg). Bode plot of phase-lag compensator C  s  .

legend('uncompensated'.20*log10(mag1).500)).deno).ph1. [mag1.12 - .ph1.'compensated'.500)).gden. semilogx(w.'b'). xlabel('Frequency (rad/sec)'). [mag2.2. ylabel('Phase (deg)'). subplot(211). legend('uncompensated'. Bode plots of uncompensated and compensated systems. ylabel('Magnitude (dB)').gden).'r'. w.w]=bode(K*gnum.ph2. subplot(212). title('Bode Diagrams').2.logspace(-1.ph2.'b').deno.w]=bode(numo. Bode Diagrams 50 uncompensated compensated 0 -50 P h a s e (d e g ) -100 -1 10 0 10 1 10 2 10 -80 compensated system -100 uncompensated compensated uncompensated system -120 -140 -160 -180 -1 10 0 1 10 10 Frequency (rad/sec) 2 10 Figure 10.'r'.20*log10(mag2).'compensated'. w. -1). -1). . semilogx(w. sys2 = tf(numo.M a g n itu d e (d B ) sys1 = tf(K*gnum.logspace(-1.

13 - .2 1 0.6 1.denc).6 0.4 uncompensated compensated A m p litu d e 1. legend('uncompensated'.grid.2 0 0 5 10 15 20 25 30 35 Time (sec.-1). sys2c = tf(numc.) Figure 11.sys2c). Step Response 1.gdenc).4 0.8 0. 'compensated'. Step response of uncompensated and compensated system. . step(sys1c.sys1c = tf(gnumc.

x1]=step(gnumc. Unit Ramp Input response 5 4.14 - . y = t.x4]=step(gnumc.t.denc.[1 0]).conv(denc.grid. Response of uncompensated and compensated systems due to unit ramp input.t).t.t).t).'b'.01:5. 'compensated'. plot(t. [y3.y2.'g'). [y4.-1).[1 0]). .x3]=step(numc.t).gdenc.5 2 1.y1.5 1 0. [y1.x2]=step(numc. xlabel('Time (sec)').conv(gdenc.t=0:0. [y2. title('Unit Ramp Input response').'r'. 'desired'.y.5 0 0 1 2 3 Time (sec) 4 5 Figure 12.5 4 uncompensated compensated desired 3.5 3 2. legend('uncompensated'.