Oui, il est possible de représenter les résultats du domaine fréquentiel de la FFT d'une entrée strictement réelle en utilisant uniquement des nombres réels.
Ces nombres complexes dans le résultat de la FFT sont simplement deux nombres réels, qui sont tous deux nécessaires pour vous donner les coordonnées 2D d'un vecteur de résultat qui a à la fois une longueur et un angle de direction (ou une magnitude et une phase). Et chaque composante de fréquence dans le résultat de la FFT peut avoir une amplitude unique et une phase unique (par rapport à un point quelconque de l'ouverture de la FFT).
Un seul nombre réel ne peut pas représenter à la fois la magnitude et la phase. Si vous éliminez les informations de phase, vous risquez de déformer massivement le signal si vous essayez de le recréer à l'aide d'un iFFT (et le signal n'est pas symétrique). Un résultat FFT complet nécessite donc 2 nombres réels par case FFT. Ces deux nombres réels sont regroupés dans certaines FFT dans un type de données complexe par convention commune, mais le résultat de la FFT pourrait facilement (et certaines FFT le font) produire simplement deux vecteurs réels (un pour les coordonnées du cosinus et un pour les coordonnées du sinus).
Il existe également des routines FFT qui produisent directement la magnitude et la phase, mais elles fonctionnent plus lentement que les FFT qui produisent un résultat vectoriel complexe (ou deux réels). Il existe également des routines FFT qui ne calculent que la magnitude et jettent les informations de phase, mais elles ne s'exécutent généralement pas plus vite que si vous pouviez le faire vous-même après une FFT plus générale. Peut-être qu'elles permettent au codeur d'économiser quelques lignes de code au prix de ne pas être inversibles. Mais beaucoup de bibliothèques ne prennent pas la peine d'inclure ces formes plus lentes et moins générales de FFT, et laissent simplement le codeur convertir ou ignorer ce dont il a besoin ou non.
De plus, beaucoup considèrent que les mathématiques impliquées sont une lot plus élégant en utilisant l'arithmétique complexe (où, pour une entrée strictement réelle, la corrélation cosinus ou la composante paire d'un résultat FFT est placée dans la composante réelle, et la corrélation sinus ou la composante impaire du résultat FFT est placée dans la composante imaginaire d'un nombre complexe).
(Ajouté :) Et, comme autre option, vous pouvez considérer les deux composantes de chaque bin de résultat FFT, au lieu d'être des composantes réelles et imaginaires, comme des composantes paires et impaires, toutes deux réelles.