Ich möchte einen Bode-Plot eines Buck-Boost-Wandlers mit Matlab anzeigen, also habe ich die unten gezeigte Abbildung erhalten. Wenn wir uns den Phasenplot genauer ansehen, sehen wir, dass er bei 360 ° beginnt. Mein Wunsch ist es, dass die Grafik bei 0° beginnt und nicht bei 360°, um mir das Lesen zu erleichtern.
Eine mögliche Lösung wäre, bodeplot zu verwenden und dann die PhaseMatchingValue-Eigenschaft zu ändern. Als Beispiel verwende ich :
sys = tf([1 0 0 0 1],[1 1]);
h = bodeplot(sys);
p = getoptions(h);
p.PhaseMatching = 'on';
p.PhaseMatchingFreq = 1;
p.PhaseMatchingValue = 0;
setoptions(h,p);
Daraus ergibt sich das folgende Bode-Diagramm
Eine andere (nicht sehr elegante) Lösung mit dem Befehl bode
sys = tf([1 0 0 0 1],[1 1]);
wout = logspace(-2,2,201);
[mag,phase,wout] = bode(sys,wout);
wout = squeeze(wout);
mag = squeeze(mag);
phase = squeeze(phase);
%adjusting the phase
phase = phase - 360;
subplot(2,1,1);
% plot amplitude response
semilogx(wout,20*log10(mag));
hold on;
%mark a point at wout(101)
semilogx(wout(101),20*log10(mag(101)),'xr');
text(wout(101),20*log10(mag(101)),'\omega = 1')
%plot phase response
subplot(2,1,2);
semilogx(wout,phase);
Hufi
Gestaltung lernen