Un exemple :
%on importe les données du fichier mesure
%la première ligne représente le temps
temps=mesure(1,:)
%la deuxième ligne représente l'amplitude du signal
amplitude=mesure(2,:)
%on trace le signal
figure(1)
plot(temps,amplitude)
%en zoomant, on observe 2 composantes sinusoidales
%on va filtrer le signal
%calcul de le fréquence d'échantillonnage
Te=mesure(1,1024)/(length(mesure(1,:))-1)
Fe=1/Te
%tracé du spectre
N=1024
Fe=6500
f=[-N/2:N/2-1]*Fe/N
spectre=abs(fftshift(fft(amplitude,length(amplitude))))/1024
figure(2)
plot(f,spectre)
hold on
%détermination de la fréquence à extraire
%il faut identifier les fréquences des 2 signaux
%on a : - une composante sinusoidale à 480 Hz
% - une composante sinusoidale à 1200 Hz
% - du bruit blanc
%on ne s'occupera pas du bruit dans ce TP
%on veut extraire la deuxième composante
%on utilise pour cela un filtre passe-bande
%avec la méthode RII dans un premier temps
%puis avec la méthode RIF
%RII
%filtre de Butterworth passe-bande
%fc=(fc1+fc2)/2=1200
%BP=fc2-fc1=50
Fc=[1175 1225]/3250 %=[fc1 fc2]
[num,den]=butter(3,Fc) %ordre du filtre=3
%réponse fréquentielle du filtre
[h,w]=freqz(num,den,512)
B=abs(h)
frequence=[0:511]*3250/512
figure(2)
plot(frequence,B,'r')
hold off
%on applique le filtre sur le signal
y=filter(num,den,amplitude)
figure(1)
plot(amplitude) %on compare à l'amplitude
hold on
plot(y,'g')
hold off
%on regarde ensuite le spectre obtenu
spectre2=abs(fftshift(fft(y,length(y))))/1024
figure(3)
plot(f,spectre2)
%RIF
P=fir1(100,Fc) %polynome de degré 100
z=filter(P,1,amplitude)
figure(4)
plot(amplitude) %on compare à l'amplitude
hold on
plot(z,'y')
%on regarde ensuite le spectre obtenu
spectre3=abs(fftshift(fft(z,length(z))))/1024
figure(5)
plot(f,spectre3)
j'espère que ça t'aidera...