%   Script PHRAND.M
%
%  Phasenrandkriterium für D-Ketten
%
% J. Lunze
% für 2. Auflage: 14.12.1998
% für 3. Auflage: 3.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 9. Auflage: 16.2.2012
% für 10. Auflage: 27.1.2014
% für 12. Auflage: 5.08.2019
%
%   
clear
close all
z=[0.0005 0 0 0];
n=poly([-0.1 -0.1 -0.1 -0.1 -0.1 -0.1 -0.1 -0.1]);
W=logspace(-3, 1, 800);
System=tf(z, n);

%%  Ortskurve der D-Kette
%
figure(1)
[Real, Imag]=nyquist(System, W);
plot(Real(:), Imag(:), 'b', Real(:), -Imag(:), 'b--');
hold on
plot([-4 4],[0 0],'k:', [0,0], [-4 4], 'k:');
latextitle('Ortskurve einer D-Kette');
latexxlabel('Re');
latexylabel('Im');
rotateY;
axis([-3.7 3.7 -3.7 3.7]);
xticks([-2 0 2]);
yticks([-2 0 2]);
axis('square');
grid('on');
hold off

%%  Bodediagramm der D-Kette
%
figure(2)
[Betrag, Phase]=bode(System, W);
subplot(2,1,1);
semilogx(W, 20*log10(Betrag(:)), 'b');
hold on
semilogx([0.001 1],[0 0],'b--');
grid on;
yticks([-40 0 ]);
xleer;
latexylabel('$$|G|_{\rm dB}$$');
rotateY;
latextitle('Bodediagramm einer D-Kette');
axis([0.001, 1, -70, 20]);
hold off;
subplot(2,1,2);
semilogx(W, Phase(:), 'b');
hold on;
latexxlabel('$$\omega$$ in rad/s');
axis([0.001, 1, -400, 300]);
xticks([0.001 0.01 0.1 1]);
yticks([-540 -360 -180 0 180]);
latexylabel('$$\phi\quad$$');
rotateY;
%semilogx([0.001 10],[-540 -540],'b--');
semilogx([0.001 10],[-180 -180],'b--');
grid('on');

%%    Bilder in .EPS und .PS-Dateien
%
Epsbildc15('phrand');
