CSD Lab-Exp 5
CSD Lab-Exp 5
Aim: To design a lag-lead compensator for the given unity feedback system to meet desired
performance specifications
Problem statement: A unity feedback control system has open loop transfer function
K
G ( s )=
s (s+1)(s+ 4)
Design a passive lag-lead compensator using Bode diagram to yield 13.5 % overshoot, peak time
of 2 sec and Kv = 12.
Design steps:
1. Determine bandwidth required for peak time of 2 sec. using following equation.
MATLAB Program:
pos=input ('Type %0S ') ;
Tp=input ('Type peak time ') ;
Kv=input ('Type value of Kv ')
numg=[1];
deng=poly ([0 -1 -4]) ;
G=tf(numg,deng);
s=tf ([1 0],1);
sG=s*G;
sG=minreal(sG);
K=dcgain(Kv/sG);
'G(s)'
G=tf(K*numg,deng);
G=zpk(G)
z=(-log(pos/100))/(sqrt(pi^2+log(pos/100)^2));
Pmreq=atan(2*z/(sqrt (-2*z^2+ sqrt(1+4*z^4))))*(180/pi);
wn=pi/(Tp*sqrt(1-z^2));
wBW=wn*sqrt ( (1-2*z^2)+sqrt(4*z^4-4*z^2+2) ) ;
wpm=0.8*wBW;
[M, P]=bode (G,wpm) ;
Pmreqc=Pmreq-(180+P)+5;
beta=(1-sin(Pmreqc*pi/180))/(1+sin(Pmreqc*pi/180));
zclag=wpm/10;
pclag=zclag*beta;
Kclag=beta;
'Lag compensator, Glag(s)'
Glag=tf (Kclag*[1 zclag],[1 pclag]) ;
Glag=zpk(Glag)
zclead=wpm*sqrt(beta) ;
pclead=zclead/beta;
Kclead=1/beta;
'Lead compensator'
Glead=tf (Kclead*[1 zclead],[1 pclead]) ;
Glead=zpk(Glead)
'Lag-Lead Compensated Ge (s)'
Ge=G*Glag*Glead
sGe=s*Ge;
sGe=minreal(sGe);
Kv=dcgain(sGe)
T=feedback(Ge, 1) ;
step(T)
title ('Lag-Lead-Compensated Step Response')
pause
Result:
Type %0S 13.5
Type peak time 2
Type value of Kv 12
Lead compensator
Kv = 12.0000
Lag-Lead-Compensated Step Response
1.4
1.2
0.8
Amplitude
0.6
0.4
0.2
0
0 2 4 6 8 10 12 14 16 18
Time (seconds)