[Fourier] Logiciel qui donne les composantes spectrales d'un signal.

Logiciel qui donne les composantes spectrales d'un signal. [Fourier] - Logiciels - Windows & Software

Marsh Posté le 04-07-2006 à 20:46:27    

Salut !
 
Je recherche un logiciel qui donne les différentes harmoniques d'un signal périodique.
 
Je rentre par ex. dans un tableau les différentes valeurs "y" en fonction du temps, le logiciel donnera la composition spectrale de ce signal périodique.
 
merci ! :hello:


Message édité par Profil supprimé le 04-07-2006 à 20:49:52
Reply

Marsh Posté le 04-07-2006 à 20:46:27   

Reply

Marsh Posté le 04-07-2006 à 21:15:28    

Tu peux utiliser des logiciels spécialisés :
Matlab, scilab ...  
PS: tu peux aussi générer un signal périodique (uniquement sinusoidale ?) avec audacity pour ensuite obtenir sa transformé dans le domaine fréquentiel.

Reply

Marsh Posté le 04-07-2006 à 23:19:53    

ok et c'est quoi la démarche à suivre dans mathlab ? (débutant).
 
Je veux générer TOUT type de signal périodique quelconque et par la suite savoir la valeur ou les composantes spectral de ce signal périodqieu quelconque.
 

Reply

Marsh Posté le 05-07-2006 à 07:24:40    

Pour Matlab et scilab
1- générer un vecteur qui contiendra ton signal (ici sinusoidal)
ex:

Code :
  1. t=0:0.1:10;
  2. 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:

Code :
  1. X=ABS(fft(x));


3- tracer le spectre

Code :
  1. plot(X)


 
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 :
  1. N=4096;
  2. k=-N/2:N/2-1;
  3. BF=k*fe/N;


- recadrer la FFT (i.e supprimer les fréquences négatives) via fftshift

Code :
  1. plot(BF,abs(fftshift(fft(x,N))))


Message édité par jlighty le 05-07-2006 à 21:39:09
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed