En tant normal, ifft(fft(s)) doit être strictement égal à s mais tu dois certainement tomber dans des problèmes d'arrondis et de conversion de type (tes entrées sont des int16, mais tes sorties sont sans doute des float)
Je ne suis pas un spécialiste de numpy ni des opérations de transformées de Fourrier, mais tes valeurs de sorties ne sont pas si différentes des valeurs d'entrées. En tout cas, pour les 5 premieres valeurs et pour les 5 dernieres :
De plus, la dynamique des tes valeurs d'entrées (l'écart entre la plus petite et la plus grande), est faible par rapport à la plage de valeur possible des echantillons. Si tes données sont des int16, il faut que tu utilises les valeurs possibles dans les int16, sinon tu perds en précisions. Dans l'exemple que tu indiques, si ce sont les vrais valeurs d'un fichier audio, ca parait cohérent d'avoir des valeurs entre -10 et +10 dans les premiers echantillons, alors que l'espace int16 est de -32000 à +32000.
# pas si different que ca
Posté par jemore . En réponse au message numpy: Vecteur avec valeurs fausse après in ifft(fft()). Évalué à 5. Dernière modification le 03 mai 2023 à 08:55.
Salut.
En tant normal,
ifft(fft(s))doit être strictement égal àsmais tu dois certainement tomber dans des problèmes d'arrondis et de conversion de type (tes entrées sont des int16, mais tes sorties sont sans doute des float)Je ne suis pas un spécialiste de numpy ni des opérations de transformées de Fourrier, mais tes valeurs de sorties ne sont pas si différentes des valeurs d'entrées. En tout cas, pour les 5 premieres valeurs et pour les 5 dernieres :
De plus, la dynamique des tes valeurs d'entrées (l'écart entre la plus petite et la plus grande), est faible par rapport à la plage de valeur possible des echantillons. Si tes données sont des int16, il faut que tu utilises les valeurs possibles dans les int16, sinon tu perds en précisions. Dans l'exemple que tu indiques, si ce sont les vrais valeurs d'un fichier audio, ca parait cohérent d'avoir des valeurs entre -10 et +10 dans les premiers echantillons, alors que l'espace int16 est de -32000 à +32000.