Advertisement
Guest User

Untitled

a guest
Mar 21st, 2018
98
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.11 KB | None | 0 0
  1. // Calcul des coefficients de la fonction de transfert d'un filtre numerique
  2. //
  3. // Utiliser les filtres de Butterworth
  4. //
  5. clear
  6. stacksize('max')
  7.  
  8. // lp (passe bas), hp (passe haut) bp (passe bande) sb (coupe bande)
  9.  
  10. fil_type='lp' // type du filtre
  11. fil_ordre=4 // ordre du filtre
  12. fil_design='butt' // design : butt cheb1 cheb2 ellip
  13. Fs=44100 // frequence echantillonnage
  14. Fc1=3300 // frequence de coupure 1
  15. Fc2=0 // frequence de coupure 2, 0 si lp ou hp
  16.  
  17. Del1=0.0 // Delta for cheb1 ellip (0.1 - 0.9)
  18. Del2=0.0 // Delta for cheb2 ellip
  19.  
  20. Kc1=Fc1/Fs
  21. Kc2=Fc2/Fs
  22.  
  23. // Calcul de la fonction de transfert en z
  24. hz=iir(fil_ordre,fil_type,fil_design,[Kc1 Kc2],[Del1 Del2]);
  25.  
  26. // Calcul de la magnitude du filtre
  27. [hzm,fr]=frmag(hz,256);
  28.  
  29. // Trace la reponse en magnitude du filtre
  30. plot2d(fr',hzm')
  31. car_fil=fil_type+' '+string(Fc1)+' '+string(Fc2)
  32. xtitle('Filtre IIR : '+car_fil,' ',' ');
  33.  
  34. q=poly(0,'q'); // exprime avec l'operateur retard q=z^-1
  35. hzd=horner(hz,1/q)
  36.  
  37. // Affichage de la fonction de transfert
  38. format('e',16);
  39. disp(hzd)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement