MATLAB: Asymptotic magnitude bode plot

bode plot

i want to find figure 2 for 'FRACTIONAL ZERO',i took the values as per the paper but both the graph is not crossing each other as shown in the figure,the code is given below
clc;
hold off;alpha=0.9;
Wcr=2.15845;a=2;
w1=logspace(-2,log10(Wcr),1000);w2=logspace(log10(Wcr),2,1000);
Mag1= (20*log10(abs(a)))*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')
clc;
clear
syms w alpha
alpha=0.9;a=2;w=logspace(-2,2,1000);
Mag1=@(w) (20*log10(abs(sqrt(((1j.*w).^alpha + a).^2))));
semilogx(w,Mag1(w));hold on;grid on;
xlabel('Frequency (rad/sec)');ylabel('Magnitude (dB)')

Best Answer

  • The graph in the paper is exaggerated to clarify the concepts about Asymptotes. But in fact, it is totally wrong. Asymptote is a line that comes infinitely closer to your curve as the frequency tends to infinity. The graph shown in the paper has started to move away from the Asymptote, and therefore, it is wrong. The graph generated by your code is correct.