francois:traitement_numerique_du_signal_avec_scilab
Ceci est une ancienne révision du document !
introduction au traitement du signal avec scilab
Transformation bilinéaire
- bilin.sce
clear // // définition des constantes Te=1e-3; Fcd=200; // // filtre analogique équivalent Ga=analpf(6,'cheb1',[.1,0],2*%pi*Fcd); // // filtre analogique pour le calcul teta=Fcd*(2*Te)*%pi; Fcad=(2/Te*tan(teta/2))/(2*%pi); Gad=analpf(6,'cheb1',[.1,0],2*%pi*Fcad); // // définition de la variable z z=poly(0,'z'); // // transformation bilinéaire Gd=horner(Gad,2/Te*(z-1)/(z+1)); // // calcul des points du filtre analogique équivalent fa=(100:10:300); Gain_a=freq(Ga(2),Ga(3),%i*2*%pi*fa); // // calcul des points du filtre numérique fd=(.1:.01:.3); Gain_d=freq(Gd(2),Gd(3),exp(%i*2*%pi*fd)); // // affichage xbasc(); xset("font size",4); // xsetech([0,0,1,.5]);plot2d(fa,20*log10(abs(Gain_a)), rect=[100, -60 300, 10]); xtitle("réponse fréquentielle du filtre analogique équivalent","fréquence", "gain en dB"); // xsetech([0,1/2,1,.5]);plot2d(fd,20*log10(abs(Gain_d)) ,rect=[0.1, -60 0.3, 10]); xtitle("réponse fréquentielle du filtre numérique","f normalisée","gain en dB");
francois/traitement_numerique_du_signal_avec_scilab.1365282980.txt.gz · Dernière modification : (modification externe)
