Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
978 connectés 

  FORUM HardWare.fr
  Programmation
  Python

  Transformée de Fourier

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Transformée de Fourier

n°2255965
-silveryni​ght-
Posté le 16-04-2015 à 20:00:03  profilanswer
 

Bonjour, j'ai vraiment besoin d'aire pour un programme dont je ne comprends pas l'erreur:  
 

Code :
  1. from numpy import linspace, mean
  2. from scipy.fftpack import fft, fftfreq
  3. import matplotlib.pyplot as plt
  4. from scipy.io.wavfile import read
  5. # nom du fichier à étudier
  6. nomfile = open('7991.wav','r')
  7. # lecture du fichier son 8 Khz mono
  8. rate,signal = read(nomfile)
  9. # définition du vecteur temps
  10. dt = 1./rate
  11. FFT_size = 2**18
  12. NbEch = signal.shape[0]
  13. t = linspace(0,(NbEch-1)*dt,NbEch)
  14. t = t[0:FFT_size]
  15. signal = signal[0:FFT_size]# soustraction de la valeur moyenne du signal
  16. signal = signal - mean(signal)# la fréquence nulle ne nous intéresse pas
  17. signal_FFT = abs(fft(signal))  # on ne récupère que les composantes réelles
  18. signal_freq = fftfreq(signal.size, dt)
  19. signal_FFT = signal_FFT[0:len(signal_FFT)//2]
  20. signal_freq = signal_freq[0:len(signal_freq)//2]
  21. #affichage du signal
  22. plt.subplot(211)
  23. plt.title('Signal reel et son spectre')
  24. plt.plot(t,signal)
  25. plt.xlabel('Temps (s)'); plt.ylabel('Amplitude')
  26. #affichage FFT
  27. plt.subplot(212)
  28. plt.plot(signal_freq,signal_FFT)
  29. plt.xlabel('Frequence (Hz)'); plt.ylabel('Amplitude')
  30. plt.show()


 
J'obtiens ceci comme erreur:
 
File "/media/A620-A5CF/Raspberry Pi/Programmation/ProjetISN.py", line 50, in <module>
plt.plot(signal_freq,signal_FF T)
File "/usr/lib/pymodules/python2.7/matplotlib/pyplot.py", line 2467, in plot
ret = ax.plot(*args, **kwargs)
File "/usr/lib/pymodules/python2.7/matplotlib/axes.py", line 3893, in plot
for line in self._get_lines(*args, **kwargs):
File "/usr/lib/pymodules/python2.7/matplotlib/axes.py", line 322, in _grab_next_args
for seg in self._plot_args(remaining, kwargs):
File "/usr/lib/pymodules/python2.7/matplotlib/axes.py", line 300, in _plot_args
x, y = self._xy_from_xy(x, y)
File "/usr/lib/pymodules/python2.7/matplotlib/axes.py", line 240, in _xy_from_xy
raise ValueError("x and y must have same first dimension" )
ValueError: x and y must have same first dimension
 
Merci d'avance, bonne soirée.

mood
Publicité
Posté le 16-04-2015 à 20:00:03  profilanswer
 

n°2256362
Krakramill​e
Posté le 22-04-2015 à 12:41:51  profilanswer
 

le code que tu nous as copié vient du fichier ProjetISN.py ?
D'après la trace, l'erreur est ligne 50...
 
D'après l'exception soulevée, c'est un problème de taille de deux tableaux qui ne matchent pas.
 
Que te donne l'affichage suivant ?
 

Code :
  1. print len( signal_freq )
  2. print len( signal_FFT)


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Python

  Transformée de Fourier

 

Sujets relatifs
Interpolation de Fourier avec numpy[Matlab] Transformée de Fourier
langage C transformée de Houghtransformée de fourier avec simulink
[Scilab] Convolution et transformée de FourierTransformee de Census
Envoi de mail HTML - Balise STYLE transformée en DEFANGED_STYLEExpliquer la transformee de fourier/digitalisation
Plus de sujets relatifs à : Transformée de Fourier


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR