Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function bode(b,a,w)
- % b: coefficients du polynôme du numérateur [b_n b_n-1 ... b_0]
- % a: coefficients du polynôme du dénominateur [a_m a_m-1 ... a_0]
- % w: pulsations [w_k w_k-1 ... w_0]
- %% Initialisation
- dima=size(a,2); % nombre de coefficients polynomiaux du numérateur
- dimb=size(b,2); % nombre de coefficients polynomiaux du dénominateur
- dimw=size(w,2); % nombre de pulsations du diagramme de Bode
- cw=sqrt(-1)*w;
- %% Calcul des données du diagramme de Bode
- for i=1:dimw
- % Valeur numérique du dénominateur à la pulsation w(i)
- den=0;
- for j=1:dima
- den=den+a(j)*cw(i)^(dima-j);
- end
- % Valeur numérique du numérateur à la pulsation w(i)
- num=0;
- for j=1:dimb
- num=num+b(j)*cw(i)^(dimb-j);
- end
- % Valeur numérique de la fraction
- G(i)=num/den;
- end
- %% Tracé du diagramme de Bode
- figure
- subplot(2,1,1)
- semilogx(w,20*log10(abs(G)))
- ylabel('Gain (dB)')
- xlabel('Fréquence (rad/s)')
- grid
- subplot(2,1,2)
- semilogx(w,angle(G)/pi)
- ylabel('Phase/PI (sans unité)')
- xlabel('Fréquence (rad/s)')
- grid
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement