%   Script STORREG.M
%
%    Entwurf auf Störkompensation
%
% J. Lunze
% 14.12.1995
% für 2. Auflage: 6.11.1998
% für 3. Auflage: 2.4.2001
% für 4. Auflage: 18.9.2003
% für 5. Auflage: 18.4.2005
% für 6. Auflage: 4.12.2006
% für 7. Auflage: 28.4.2008
% für 8. Auflage: 29.12.2009
% für 9. Auflage: 16.2.2012
% für 10. Auflage: 5.5.2014
% für 12. Auflage: 15.07.2019
%
%   
clear
close all

%%  Untersuchung des Störverhaltens
%   
%  Störübergangsfunktion eines Regelkreises mit PT2-Verhalten [zk, nk]
%
figure(1);
T = 1;
d = 0.4;
zk = [T^2 2*d*T 0];
nk = [T^2 2*d*T 1];
Regelkreis=tf(zk, nk);
%  Störmodell PT1  [zstor, nstor]
zstor = [1];
k=0;
Zeit=[0:0.1:10];
for TSigma=[0, 0.5, 1, 1.5, 2, 3]
   k=k+1;
   nstor = [TSigma 1];
   Stoermodell=tf(zstor, nstor);
   Stoerverhalten=series(Regelkreis, Stoermodell);
   [Y, Zeit]=step(Stoerverhalten, Zeit);
   plot(Zeit, Y(:), 'b');
   latextext(3.1, max(Y)-0.045, num2str(TSigma));
   hold on;
end;
latextext(1, 0.9, '$$T_{\Sigma}=$$');
plot([0 10], [0 0], 'k:');
latextitle('St\"or\"ubergangsfunktion bei verz\"ogerter St\"orung $$(d=0,4)$$');
latexxlabel('$$t$$');
latexylabel('$$y$$');
rotateY;
axis([0 10 -0.3 1.05]);
xticks([0 2 4 6 8 10]);
yticks([-0.4 -0.2 0 0.2 0.4 0.6 0.8 1]);
grid('off');
hold off;


%%    maximale Störwirkung em und Überschwingen delta e
%
figure(2);
subplot(3,3,[1,2,4,5]);
k1=0;
Zeit=[0:0.1:10];
for d = 0.1:0.2:0.9
   k1=k1+1;
   zk = [T^2 2*d*T 0];
   nk = [T^2 2*d*T 1];
   Regelkreisneu=tf(zk, nk);
   Yd=step(Regelkreisneu, Zeit);
   deltah=abs(min(Yd));
   %  Störmodell PT1  [zstor, nstor]
   zstor = [1];
   k=0;
   for TSigma=0:0.05:4
      k=k+1;
      nstor = [TSigma 1];
      Stoermodellneu=tf(zstor, nstor);
      Stoerverhaltenneu=series(Regelkreisneu, Stoermodellneu);
      Y=step(Stoerverhaltenneu, Zeit);
      em(k, k1)=max(Y);
      deltaeh(k,k1)=abs(min(Y))/deltah;
      deltae(k,k1)=abs(min(Y));
      Trel(k,k1)=TSigma/T;
   end;
end;
plot(Trel, em, 'b');
latextitle(' Maximale St\"orwirkung $$e_m$$');
latexylabel('$$e_{\rm m}$$');
rotateY;
latexxlabel('$$T_{\rm r}$$');
latextext(4.1, 0.4, '$$d=$$');
latextext(4.04, 0.17, '0.1');
latextext(4.04, 0.29, '0.9');
grid('on');
axis([0 4 0 1]);
xticks([0 1 2 3 4]);
yticks([0 0.2 0.4 0.6 0.8 1]);
%
figure(3),
plot(Trel(:, 1:4), deltaeh(:, 1:4), 'b');
Tsize=size(Trel);
ktxt=Tsize(1)/8*3;
latextitle('\"Uberschwingweite der St\"or\"ubergangsfunktion');
latextext(1.55, 0.55, '0.1');
latextext(1.5, 0.33, '0.3');
latextext(1.5, 0.13, '0.5');
latextext(1.5, 0.06, '0.7');
latexxlabel('$$T_{\rm r}$$');
latexylabel('$$\frac{\Delta e}{\Delta h}$$');
rotateY;
grid('on');
axis([0 4 0 1]);
xticks([0 0.5 1 1.5 2 2.5 3 3.5 4]);
yticks([0 0.2 0.4 0.6 0.8 1]);
%
figure(4),
subplot(3,3,[1,2,4,5]);
plot(Trel(:, 1:4), deltae(:, 1:4), 'b');
Tsize=size(Trel);
ktxt=ceil(Tsize(1)/8*2);
latextitle('\"Uberschwingweite der St\"or\"ubergangsfunktion');
latextext(0.7, 0.7, '$$d=$$');
latextext(1.1, deltae(ktxt, 1)+0.03, '0,1');
latextext(1.1, deltae(ktxt, 2)+0.03, '0,3');
latextext(1.1, deltae(ktxt, 3)+0.03, '0,5');
latextext(0.3, deltae(ktxt, 4)+0.07, '0,7');
latexxlabel('$$T_{\rm r}$$');
latexylabel('$$\Delta e$$');
rotateY;
grid('on');
axis([0 4 0 1]);
xticks([0 1 2 3 4]);
yticks([0 0.2 0.4 0.6 0.8 1]);

%%     Bilder auf .EPS- und .PS-Dateien
%
Epsbildc15('storreg');
