asymptotic magnitude bode plot for PI^alpha controller

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 comentarios

darova
darova el 26 de Abr. de 2020
Do you have better code and better picture? Hard to read
darova
darova el 27 de Abr. de 2020
What about this?
that is PI^alpha final equation,as per the above image they plot separately each plot 1)Kp, 2)s^alpha+ki and 3)1/s^alpha, from the PI^alpha equation and add the three plots to get the final plot
1) constant gain magnitude equation |T(jw)|= 20log|Kp|
2)fractional zero magnitude equation, a) w<Wcr,|T(jw)|= 20log|Ki|
b) w>Wcr,|T(jw)|= 20*alphalog*w
here Wcr=|Ki|^(1/alpha)
and 3) for fractional pole, 1/s^alpha,magnitude equation |T(jw)|=- 20*alphalog*w,here w=1
i plotted fractional zero and fractional pole separetly (as the code given above),as per the paper it says when you add the first three it result the final graph

Iniciar sesión para comentar.

 Respuesta aceptada

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 comentarios

mask = w < Wcr only this condition is used
is w>Wcr condition in fractional zero not required???
I also used inverted mask (~mask) which is is equivalent to w>Wcr.
ok thanks
Glad to be of help.

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Dynamic System Models en Centro de ayuda y File Exchange.

Etiquetas

Preguntada:

el 26 de Abr. de 2020

Comentada:

el 27 de Abr. de 2020

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by