pense-bête de bruno sanchiz

Accueil > Mathématiques > espaces de fonction > transformée de fourier discrète

transformée de fourier discrète

Publié le 17 août 2015, dernière mise-à-jour le 17 août 2015, 1 visites, visites totales.

  • N points forment une fonction f ( f(0) , f(1)...f(N-1) ). On suppose que la fonction est périodique ( on rajoute une infinité de blocs identiques de N points à gauche et à droite).
    Alors cette fonction est égale à N sommes de fonctions sinusoïdales An
  • Analyse d’un son
    • fichier wav :
      import wave
      f=wave.open(_NomFich,'r')
      _params=f.getparams()   # ((1, 2, 44100, 18, 'NONE', 'not compressed'))
      N=_params[3]
      s=f.readframes(N) #16b : 2 char/donnee
      fe = _params[2]*1.0

      on crée alors

      tt = np.arange(0.0,0.0+N, dtype=np.float64)/fe
      X=[S16b2Valeur([ord(s[i]),ord(s[i+1])]) for i in range(0,2*N,2)]
      _valeurs=numpy.array(list(X), dtype=np.float64)
      fourier = fftpack.fft(sinux)/np.size(_valeurs)
      resultat=np.fft.fftshift(fourier)+0j
      
      _coefficients=[[(0.0+i-N/2)*fe/N,resultat[i]] for i in range(len(resultat)) ] # [ [fq1,c1] , [fq2,c2] ... ]

      La fonction intiale est alors égale à\sum_{n=0}^{N-1} c_n e^{j 2 \pi t fq_1}

[bruno sanchiz]