clear // // paramètres de l’acquisition // nombre de points, fenetre d'observation c=11;N=128; Tobs=20e-3 ; A=1 ; Fs1=(c*60)+30;Fs2=(c+2)*60-30 Te=Tobs/N; Fe=1/Te; Ntotal=128; M=Ntotal-N; // nbre de '0' à rojouter // échelle des temps et fréquence numérique tn=Te*(0:N-1) ; tn_total=Te*(0:Ntotal-1) ;kn=(0 :Ntotal-1) ; fn=Fe/Ntotal*kn;fn=fn-Fe/2; // échantillonnage du signal temporel sn=[(A*sin(2*%pi*Fs1*tn)+A*sin(2*%pi*Fs2*tn)) zeros(1:M)]; // paramètre de l’échelle analogique : nombre de points Na=16*Ntotal; // définition du vecteur temps 'analogique' et du vecteur fréquence normalisé à N ta=Ntotal*Te/Na*(0 :Na-1) ; ka=Ntotal/Na*(0 : Na-1) ; fa=Fe/Ntotal*ka;fa_sym=fa-Fe/2; // définition du signal temporel 'analogique' sa= A*sin(2*%pi*Fs1*ta)+A*sin(2*%pi*Fs2*ta); // FFT Sfn=abs(fft(sn,-1)); Sfnshift=fftshift(Sfn); //courbes theoriques freq analogique Sfa1=A*Tobs*sinc (%pi*(fa-Fs1)*Tobs)+A*Tobs*sinc (%pi*(fa+Fs1)*Tobs); Sfa2=A*Tobs*sinc (%pi*(fa-Fs2)*Tobs)+A*Tobs*sinc (%pi*(fa+Fs2)*Tobs); // précision sur l’échelle des fréquences des points affichables pts=zeros(1, N) ; // // affichage xset("window", 0) ; clf(0) ; xset ("font size", 4) ; xsetech([ 0, 0, 1, 1/3]);//sous-fenêtre est définie par wrect=[x,y,w,h] ici haut gauche + pleine largeur et 1/2 hauteur => demi-fenetre haute plot2d(ta, real(sa), style=0,rect=[0, 0, 1.2*N/Fe, 1.1*A], style=0) ; // Les échelles sont fixées par rect =[xmin,ymin,xmax,ymax] plot2d3(tn_total,real(sn)) ; xtitle("signal analogique et échantillons temporels" ,"temps(s)", "amplitude (V)") ; xsetech([ 0, 1/3, 1, 1/3]) ; plot2d(fa, abs(Sfa1)*Fe/2,style=0, rect=[500, 0, Fe/2, max(abs(Sfa1)*Fe/2)]) ; plot2d(fa, abs(Sfa2)*Fe/2,style=0, rect=[500, 0, Fe/2, max(abs(Sfa2)*Fe/2)]) ; plot2d3(fn, Sfnshift,rect=[500, 0, Fe/2, max(abs(Sfa2)*Fe/2)]) ; //plot2d(fn, pts, style=-3) ; xtitle("transformée de Fourier théorique et calculée","frequence", "amplitude(V.s)") ; xsetech([ 0, 2/3, 1, 1/3]) ; //plot2d(fa, Sfa,style=0, rect=[-Fe/2, 0, Fe/2, 0.02]) ; plot2d3(kn, Sfn,rect=[0, 0, Ntotal/2, max(Sfn)])) ; //plot2d(fn, pts, style=-3) ;