clear close all s=tf('s'); % Planta continua Gpc=exp(-2*s)/(1+10*s); sysc=ss(Gpc); syslc=feedback(sysc,1); figure; step(syslc); spec=stepinfo(syslc); tr_sc=spec.RiseTime; ts_sc=spec.SettlingTime; tp_sc=spec.PeakTime; Mp_sc=spec.Overshoot; % Planta discreta % Nm=10; % T=tr_sc/Nm; T=1; z=tf('z',T); Gpd=c2d(Gpc,T); t=0:T:6; % 0.09516 % z^(-2) * ---------- % z - 0.9048 sysd=ss(Gpd); Gpdlc=feedback(sysd,1); hold on step(Gpdlc) % Para la realizabilidad del compensador Gcd(z), la diferencia entre polos % y ceros de P(z) tiene que ser por lo menos igual a la diferencia entre % polos y ceros de Gpd(z). % P(z)=z^-m; Función de transferencia de lazo cerrado deseada m=3; % Diferencia entre el numero de polos y ceros de Gpd(z) Gcd=(z^(-m)/(1 - z^(-m)))*((1 - 0.904*z^(-1))/(0.095*z^(-3))); Gcdm=minreal(Gcd); Glad=Gcdm*Gpd; syslad=ss(Glad); Glcd=feedback(syslad,1); % Glcd=feedback(Glad,1); figure; step(Glcd,t) [y,Td]=step(Glcd,t); r=ones(length(y),1); e=r-y; figure; lsim(Gcdm,e,Td); u=lsim(Gcdm,e,Td); figure stairs(t,e) figure stairs(t,u)