Pour Matlab et scilab
1- générer un vecteur qui contiendra ton signal (ici sinusoidal)
ex:
Code :
- t=0:0.1:10;
- x=sin(t);
|
2- appliquer une FFT à ton signal (non testé sous scilab mais il me semble que c'est la même syntaxe)
ex:
3- tracer le spectre
Par la suite, tu peux :
- améliorer la précision de la fft ( fft(x,N) avec N étant un nombre très grand)
- améliorer l'échantillonnage ( diminuer le pas (t=0:0.1:10 -> t=0:0.01:10))
- ajouter l'échelle des fréquences au graphique
tips : on a fe = 1/ Te (période d'échantillonnage)
Code :
- N=4096;
- k=-N/2:N/2-1;
- BF=k*fe/N;
|
- recadrer la FFT (i.e supprimer les fréquences négatives) via fftshift
Code :
- plot(BF,abs(fftshift(fft(x,N))))
|
Message édité par jlighty le 05-07-2006 à 21:39:09