Advertisement
Guest User

EX3 BODE

a guest
Sep 21st, 2018
80
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
MatLab 1.06 KB | None | 0 0
  1. function bode(b,a,w)
  2. % b: coefficients du polynôme du numérateur [b_n b_n-1 ... b_0]
  3. % a: coefficients du polynôme du dénominateur [a_m a_m-1 ... a_0]
  4. % w: pulsations [w_k w_k-1 ... w_0]
  5. %% Initialisation
  6. dima=size(a,2); % nombre de coefficients polynomiaux du numérateur
  7. dimb=size(b,2); % nombre de coefficients polynomiaux du dénominateur
  8. dimw=size(w,2); % nombre de pulsations du diagramme de Bode
  9. cw=sqrt(-1)*w;
  10. %% Calcul des données du diagramme de Bode
  11. for i=1:dimw
  12.     % Valeur numérique du dénominateur à la pulsation w(i)
  13.     den=0;
  14.     for j=1:dima
  15.         den=den+a(j)*cw(i)^(dima-j);
  16.     end
  17.     % Valeur numérique du numérateur à la pulsation w(i)
  18.     num=0;
  19.     for j=1:dimb
  20.         num=num+b(j)*cw(i)^(dimb-j);
  21.     end
  22.     % Valeur numérique de la fraction
  23.     G(i)=num/den;
  24. end
  25. %% Tracé du diagramme de Bode
  26. figure
  27. subplot(2,1,1)
  28. semilogx(w,20*log10(abs(G)))
  29. ylabel('Gain (dB)')
  30. xlabel('Fréquence (rad/s)')
  31. grid
  32. subplot(2,1,2)
  33. semilogx(w,angle(G)/pi)
  34. ylabel('Phase/PI (sans unité)')
  35. xlabel('Fréquence (rad/s)')
  36. grid
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement