Bonjour, je dois simuler un filtre sous Scilab. Le programme est le suivant :
clear
close()
f = [1:1E6:100E6];
w = 2*%pi*f;
fo = 20E6;
w_c = 2*%pi*fo;
p = %i*w/w_c;
H_p = 1.0./(((p.^2)+0.765.*p+1).*(p.^2+1. 848.*p+1));
moduleH_p=20.0*log10(abs(H_p)) ;
h=figure()
h.background=8;
subplot(411)
plot2d(f,moduleH_p)
a1=gca();
a1.log_flags="ln";
set(gca(),"grid",[1 1]*color('blue'))
subplot(412)
phase_rad = atan(imag(H_p),real(H_p)); // exprime en radians
phase=phase_rad.*180.0/%pi;
plot2d(f,phase)
a2=gca();
a2.log_flags="ln"
set(gca(),"grid",[1 1]*color('blue'))
TPG=diff(phase)/1E6
subplot(413)
plot2d(f(1:$-1),TPG)//on prend pas le dernier element de f pour bien se caler sur le graphique
a3=gca();
a3.log_flags="ln"
set(gca(),"grid",[1 1]*color('blue'))
subplot(414)
plot2d(f',phasemag(H_p,'m')')
a4=gca();
a4.log_flags="ln"
set(gca(),"grid",[1 1]*color('blue'))
La simulation du filtre fonctionne, on obtient bien les courbes demandées. Mon problème est le suivant; je voudrais étudier sa réponse à un échellon. Je débute en Scilab et je ne suis pas non plus un pro du traitement du signal, mais je dois étudier ça pour mon stage. Donc, pourriez vous m'expliquer comment appliquer à ce filtre un échelon unitaire? ou tout autre type de signal pour pouvoir étudier sa réponse?
Merci d'avance.
-----