lead
lead
ps
zsKsC
)(
Lead Controller Design
00 Kzp leadlead
lead
lead
pj
zjKjC
)(
0)(tan)(tan
)()()(
11
leadlead
leadlead
pz
pjzjjC
101520253035404550
Mag
nit
ud
e (d
B)
10-2
10-1
100
101
102
103
0
30
60
90
Ph
ase
(deg
)Bode Diagram
Frequency (rad/sec)
zlead
plead
leadlead zp
20log(Kzlead/plead)lead
leadz
p
)(tan)(tan 11max lead
lead
lead
lead
pz
zp
Lead Design • From specs => PMd and gcd
• From plant, draw Bode plot
• Find PMhave = 180 + angle(G(jgcd)
• PM = PMd - PMhave + a few degrees
• Choose =plead/zlead so that max =PM and it happens at gcd
1gcdgcdgcd
gcdgcd
max
max
)/()()(
*,/
sin1
sin1
leadlead
leadlead
pjjGzjK
pz
Lead design example
• Plant transfer function is given by:• n=[50000]; d=[1 60 500 0];
• Desired design specifications are:– Step response overshoot <= 16%– Closed-loop system BW>=20;
n=[50000]; d=[1 60 500 0];figure(1); margin(n,d);Mp = 16/100; zeta =0.5; PMd = 100*zeta + 3;BW=20;w_gcd = BW*0.7;PM = pi+angle(polyval(n,j*w_gcd)/polyval(d,j*w_gcd));phimax= PMd*pi/180-PM;alpha=(1+sin(phimax))/(1-sin(phimax));zlead= w_gcd/sqrt(alpha);plead=w_gcd*sqrt(alpha);K=sqrt(alpha)/(abs(polyval(n,j*w_gcd)/polyval(d,j*w_gcd)));ngc = conv(n, K*[1 zlead]);dgc = conv(d, [1 plead]);figure(1); hold on; margin(ngc,dgc);hold off;[ncl,dcl]=feedback(ngc,dgc,1,1);figure(2); step(ncl,dcl);figure(3); margin(ncl*1.414,dcl);
-100
-50
0
50M
agn
itu
de
(dB
)
10-1
100
101
102
103
-270
-225
-180
-135
-90
Ph
ase
(deg
)
Bode DiagramGm = 13.8 dB (at 38.3 rad/sec) , Pm = 53 deg (at 14 rad/sec)
Frequency (rad/sec)
Before designAfter design
-150
-100
-50
0
50M
agn
itu
de
(dB
)
10-1
100
101
102
103
104
-270
-180
-90
0
Ph
ase
(deg
)
Bode DiagramGm = 8.8 dB (at 38.3 rad/sec) , Pm = 40.6 deg (at 25.2 rad/sec)
Frequency (rad/sec)
Closed-loop Bode plot
Magnitude plot shifted up 3dBSo, gc is BW
0 0.1 0.2 0.3 0.4 0.5 0.6 0.70
0.2
0.4
0.6
0.8
1
1.2
1.4Step Response
Time (sec)
Am
plit
ud
e
n=[50]; d=[1/5 1 0];figure(1); clf; margin(n,d); grid; hold on;Mp = 20/100; zeta = sqrt((log(Mp))^2/(pi^2+(log(Mp))^2));PMd = zeta * 100 + 10;ess2ramp= 1/200; Kvd=1/ess2ramp;Kva = n(end)/d(end-1); Kzp = Kvd/Kva;figure(2); margin(Kzp*n,d); grid;[GM,PM,wpc,wgc]=margin(Kzp*n,d);w_gcd=wgc; phimax = (PMd-PM)*pi/180;alpha=(1+sin(phimax))/(1-sin(phimax));z=w_gcd/sqrt(alpha);p=w_gcd*sqrt(alpha);ngc = conv(n, alpha*Kzp*[1 z]); dgc = conv(d, [1 p]);figure(3); margin(tf(ngc,dgc)); grid;[ncl,dcl]=feedback(ngc,dgc,1,1);figure(4); step(ncl,dcl); grid;figure(5); margin(ncl*1.414,dcl); grid;
-40
-20
0
20
40
60M
agn
itu
de
(dB
)
10-1
100
101
102
-180
-135
-90
Ph
ase
(deg
)
Bode DiagramGm = Inf dB (at Inf rad/sec) , Pm = 18 deg (at 15.4 rad/sec)
Frequency (rad/sec)
-20
0
20
40
60
80M
agn
itu
de
(dB
)
10-1
100
101
102
-180
-135
-90
Ph
ase
(deg
)
Bode DiagramGm = Inf dB (at Inf rad/sec) , Pm = 9.04 deg (at 31.4 rad/sec)
Frequency (rad/sec)
-100
-50
0
50
100M
agn
itu
de
(dB
)
10-1
100
101
102
103
104
-180
-135
-90
Ph
ase
(deg
)
Bode DiagramGm = Inf dB (at Inf rad/sec) , Pm = 44.6 deg (at 63.3 rad/sec)
Frequency (rad/sec)
0 0.05 0.1 0.15 0.2 0.250
0.2
0.4
0.6
0.8
1
1.2
1.4Step Response
Time (sec)
Am
plit
ud
e
-80
-60
-40
-20
0
20M
agn
itu
de
(dB
)
100
101
102
103
104
-180
-135
-90
-45
0
Ph
ase
(deg
)
Bode DiagramGm = Inf dB (at Inf rad/sec) , Pm = 55.8 deg (at 104 rad/sec)
Frequency (rad/sec)
-100
-50
0
50
100M
agn
itu
de
(dB
)
10-1
100
101
102
103
104
-180
-135
-90
Ph
ase
(deg
)
Bode DiagramGm = Inf dB (at Inf rad/sec) , Pm = 44.6 deg (at 63.3 rad/sec)
Frequency (rad/sec)
n=[50]; d=[1/5 1 0];figure(1); clf; margin(n,d); grid; hold on;Mp = 20/100; zeta = sqrt((log(Mp))^2/(pi^2+(log(Mp))^2));PMd = zeta * 100 + 10;ess2ramp= 1/200; Kvd=1/ess2ramp;Kva = n(end)/d(end-1); Kzp = Kvd/Kva;figure(2); margin(Kzp*n,d); grid;[GM,PM,wpc,wgc]=margin(Kzp*n,d);w_gcd=wgc; phimax = (PMd-PM)*pi/180;alpha=(1+sin(phimax))/(1-sin(phimax));z=w_gcd/alpha^.25; %sqrt(alpha);p=w_gcd*alpha^.75; %sqrt(alpha);ngc = conv(n, alpha*Kzp*[1 z]); dgc = conv(d, [1 p]);figure(3); margin(tf(ngc,dgc)); grid;[ncl,dcl]=feedback(ngc,dgc,1,1);figure(4); step(ncl,dcl); grid;figure(5); margin(ncl*1.414,dcl); grid;
-40
-20
0
20
40
60M
agn
itu
de
(dB
)
10-1
100
101
102
-180
-135
-90
Ph
ase
(deg
)
Bode DiagramGm = Inf dB (at Inf rad/sec) , Pm = 18 deg (at 15.4 rad/sec)
Frequency (rad/sec)
-20
0
20
40
60M
agn
itu
de
(dB
)
10-1
100
101
102
-180
-150
-120
-90
Ph
ase
(deg
)
Bode DiagramGm = Inf dB (at Inf rad/sec) , Pm = 9.04 deg (at 31.4 rad/sec)
Frequency (rad/sec)
-50
0
50
Mag
nit
ud
e (d
B)
10-1
100
101
102
103
104
-180
-150
-120
-90
Ph
ase
(deg
)
Bode DiagramGm = Inf dB (at Inf rad/sec) , Pm = 52.3 deg (at 50.1 rad/sec)
Frequency (rad/sec)
0 0.02 0.04 0.06 0.08 0.1 0.12 0.14 0.160
0.2
0.4
0.6
0.8
1
1.2
1.4Step Response
Time (sec)
Am
plit
ud
e
-80
-60
-40
-20
0
20M
agn
itu
de
(dB
)
100
101
102
103
104
-180
-135
-90
-45
0
Ph
ase
(deg
)
Bode DiagramGm = Inf dB (at Inf rad/sec) , Pm = 77.5 deg (at 82.2 rad/sec)
Frequency (rad/sec)
-100
-50
0
50
Mag
nit
ud
e (d
B)
10-1
100
101
102
103
104
-180
-135
-90
Ph
ase
(deg
)
Bode DiagramGm = Inf dB (at Inf rad/sec) , Pm = 52.3 deg (at 50.1 rad/sec)
Frequency (rad/sec)
n=[1]; d=[1/5/200 1/5+1/200 1 0];figure(1); clf; margin(n,d); grid; hold on;zeta = 0.4; PMd = 100*zeta + 3;ess2ramp= 0.01; Kvd=1/ess2ramp;Kva = n(end)/d(end-1); Kzp = Kvd/Kva;figure(1); margin(Kzp*n,d); grid;[GM,PM,wgc,wpc]=margin(Kzp*n,d);w_gcd=wgc; phimax = (PMd-PM)*pi/180;alpha=(1+sin(phimax))/(1-sin(phimax));z=w_gcd/alpha^.25; %z=w_gcd/sqrt(alpha);p=w_gcd*alpha^.75; %p=w_gcd*sqrt(alpha);ngc = conv(n, alpha*Kzp*[1 z]); dgc = conv(d, [1 p]);figure(1); margin(tf(ngc,dgc)); grid;[ncl,dcl]=feedback(ngc,dgc,1,1);figure(4);step(ncl,dcl); grid;figure(5); margin(ncl*1.414,dcl); grid;
-200
-100
0
100M
agn
itu
de
(dB
)
10-1
100
101
102
103
104
-270
-225
-180
-135
-90
Ph
ase
(deg
)
Bode DiagramGm = 6.24 dB (at 31.6 rad/sec) , Pm = 6.51 deg (at 22 rad/sec)
Frequency (rad/sec)
-150
-100
-50
0
50
100M
agn
itu
de
(dB
)
10-1
100
101
102
103
104
-270
-225
-180
-135
-90
Ph
ase
(deg
)
Bode DiagramGm = 19.3 dB (at 113 rad/sec) , Pm = 36.1 deg (at 27 rad/sec)
Frequency (rad/sec)
0 0.1 0.2 0.3 0.4 0.50
0.2
0.4
0.6
0.8
1
1.2
1.4Step Response
Time (sec)
Am
plit
ud
e
-150
-100
-50
0
50M
agn
itu
de
(dB
)
100
101
102
103
104
-270
-180
-90
0
Ph
ase
(deg
)
Bode DiagramGm = 15.3 dB (at 113 rad/sec) , Pm = 49.9 deg (at 46.5 rad/sec)
Frequency (rad/sec)
-200
-100
0
100M
agn
itu
de
(dB
)
10-1
100
101
102
103
104
-270
-225
-180
-135
-90
Ph
ase
(deg
)
Bode DiagramGm = 19.3 dB (at 113 rad/sec) , Pm = 36.1 deg (at 27 rad/sec)
Frequency (rad/sec)
n=[1]; d=[1/5/200 1/5+1/200 1 0];figure(1); clf; margin(n,d); grid; hold on;zeta = 0.4; PMd = 100*zeta + 10;ess2ramp= 0.01; Kvd=1/ess2ramp;Kva = n(end)/d(end-1); Kzp = Kvd/Kva;figure(1); margin(Kzp*n,d); grid;[GM,PM,wgc,wpc]=margin(Kzp*n,d);w_gcd=wgc; phimax = (PMd-PM)*pi/180;alpha=(1+sin(phimax))/(1-sin(phimax));z=w_gcd/alpha^.25; %z=w_gcd/sqrt(alpha);p=w_gcd*alpha^.75; %p=w_gcd*sqrt(alpha);ngc = conv(n, alpha*Kzp*[1 z]); dgc = conv(d, [1 p]);figure(1); margin(tf(ngc,dgc)); grid;[ncl,dcl]=feedback(ngc,dgc,1,1);figure(4);step(ncl,dcl); grid;figure(5); margin(ncl*1.414,dcl); grid;
0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.40
0.2
0.4
0.6
0.8
1
1.2
1.4Step Response
Time (sec)
Am
plit
ud
e
-200
-100
0
100M
agn
itu
de
(dB
)
10-1
100
101
102
103
104
-270
-225
-180
-135
-90
Ph
ase
(deg
)
Bode DiagramGm = 20.1 dB (at 133 rad/sec) , Pm = 41.6 deg (at 28.3 rad/sec)
Frequency (rad/sec)