Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // Calcul des coefficients de la fonction de transfert d'un filtre numerique
- //
- // Utiliser les filtres de Butterworth
- //
- clear
- stacksize('max')
- // lp (passe bas), hp (passe haut) bp (passe bande) sb (coupe bande)
- fil_type='lp' // type du filtre
- fil_ordre=4 // ordre du filtre
- fil_design='butt' // design : butt cheb1 cheb2 ellip
- Fs=44100 // frequence echantillonnage
- Fc1=3300 // frequence de coupure 1
- Fc2=0 // frequence de coupure 2, 0 si lp ou hp
- Del1=0.0 // Delta for cheb1 ellip (0.1 - 0.9)
- Del2=0.0 // Delta for cheb2 ellip
- Kc1=Fc1/Fs
- Kc2=Fc2/Fs
- // Calcul de la fonction de transfert en z
- hz=iir(fil_ordre,fil_type,fil_design,[Kc1 Kc2],[Del1 Del2]);
- // Calcul de la magnitude du filtre
- [hzm,fr]=frmag(hz,256);
- // Trace la reponse en magnitude du filtre
- plot2d(fr',hzm')
- car_fil=fil_type+' '+string(Fc1)+' '+string(Fc2)
- xtitle('Filtre IIR : '+car_fil,' ',' ');
- q=poly(0,'q'); // exprime avec l'operateur retard q=z^-1
- hzd=horner(hz,1/q)
- // Affichage de la fonction de transfert
- format('e',16);
- disp(hzd)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement