asymptotic magnitude bode plot for PI^alpha controller
11 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Irshad Baruah
am 26 Apr. 2020
Kommentiert: Ameer Hamza
am 27 Apr. 2020

how do i add the first three plot to get the forth plot
individual plot
a) for fractional zero
close all;hold off;alpha=0.8;Wcr=3.948;ki=3;w1=logspace(-2,log10(Wcr),1000);w2=logspace(log10(Wcr),2,1000);
Mag1= (20*log10(abs(ki)))*ones(1,numel(w1));Mag2=@(w2) 20*alpha*log10(w2);semilogx(w1,Mag1);hold on;
semilogx(w2,Mag2(w2));grid on;xlabel('Frequency');ylabel('Magnitude dB');
b)fractional pole at origin
clear all;hold off;alpha=0.8;Wcr=1;w1=logspace(-2,log10(Wcr),1000);w2=logspace(log10(Wcr),2,1000); Mag1= 0;Mag2=@(w2) -(20*alpha*log10(w2));
semilogx(w1,Mag1);hold on;semilogx(w2,Mag2(w2));grid on;xlabel('Frequency(rad/sec)');ylabel('Magnitude dB');
4 Kommentare
Akzeptierte Antwort
Ameer Hamza
am 27 Apr. 2020
Try this
Kp = 1;
Ki = 2;
alpha = 1.5;
w_cr = abs(Ki)^(1/alpha);
w = logspace(-1, 3, 1000);
mask = w < w_cr;
term1 = 20*log(Kp)*ones(size(w));
term2 = mask.*(20*log(Ki)) + (~mask).*(20*alpha*log(w));
term3 = -20*alpha*log(w);
combined = term1 + term2 + term3;
subplot(4,1,1);
semilogx(w, term1)
subplot(4,1,2);
semilogx(w, term2)
subplot(4,1,3);
semilogx(w, term3)
subplot(4,1,4);
semilogx(w, combined)

4 Kommentare
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Dynamic System Models finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!

