URL: https://linuxfr.org/forums/programmation-python/posts/numpy-vecteur-avec-valeurs-fausse-apres-in-ifft-fft Title: numpy: Vecteur avec valeurs fausse après in ifft(fft()) Authors: Yuul B. Alwright Date: 2023年05月03日T04:08:30+02:00 License: CC By-SA Tags: numpy et résolu Score: 0 Bonjour tout le monde. Je rencontre un comportement étrange avec les fonctions fft() et ifft() de numpy. Si je prends un vecteur de 1024 valeurs, que je lui applique une transformée de Fourrier discrète puis une transformée de Fourrier discrète inverse, je n'obtiens pas du tout les même valeurs. Petit exemple de code: ```python # Lecture des valeurs d'un fichier audio values = read_audio_file() # Limitation du vecteur au 1024 premiers samples values = values[0:1024] # Application de fft puis ifft values_t = np.fft.ifft(np.fft.fft(values)).real ``` Je n'obtiens pas les mêmes valeurs dans le vecteur `values` et le vecteur `values_t`. Exemple avec les 30 premières valeurs: ```python values[0:30] array([ 0, 0, 1, -2, 2, -2, 1, 1, -3, 4, -3, 0, 1, 0, 0, 0, -1, 1, 0, 0, 0, 0, -1, 2, -2, 2, -1, 1, -3, 5], dtype=int16) values_t[0:30] array([-2.77555756e-16, 1.66533454e-16, 1.00000000e+00, -2.00000000e+00, 2.00000000e+00, -2.00000000e+00, 1.00000000e+00, 1.00000000e+00, -3.00000000e+00, 4.00000000e+00, -3.00000000e+00, 2.22044605e-16, 1.00000000e+00, 4.44089210e-16, -2.22044605e-16, 2.22044605e-16, -1.00000000e+00, 1.00000000e+00, 3.33066907e-16, 0.00000000e+00, -9.99200722e-16, 6.66133815e-16, -1.00000000e+00, 2.00000000e+00, -2.00000000e+00, 2.00000000e+00, -1.00000000e+00, 1.00000000e+00, -3.00000000e+00, 5.00000000e+00]) ``` Même en indiquant n=1024 pour les fonctions fft() et ifft() j'ai le même résultat. Une idée ?