Ja, es ist möglich, die FFT-Frequenzbereichsergebnisse einer streng reellen Eingabe nur mit reellen Zahlen darzustellen.
Diese komplexen Zahlen im FFT-Ergebnis sind einfach nur zwei reelle Zahlen, die beide erforderlich sind, um die 2D-Koordinaten eines Ergebnisvektors zu erhalten, der sowohl einen Längen- als auch einen Richtungswinkel (oder eine Größe und eine Phase) aufweist. Und jede Frequenzkomponente im FFT-Ergebnis kann eine eindeutige Amplitude und eine eindeutige Phase haben (relativ zu einem bestimmten Punkt in der FFT-Apertur).
Eine reelle Zahl allein kann nicht sowohl Größe als auch Phase darstellen. Wenn Sie die Phaseninformationen wegwerfen, kann dies das Signal leicht massiv verzerren, wenn Sie versuchen, es mit einer iFFT neu zu erstellen (und das Signal ist nicht symmetrisch). Ein vollständiges FFT-Ergebnis erfordert also 2 reelle Zahlen pro FFT-Bin. Diese 2 reellen Zahlen werden in einigen FFTs in einem komplexen Datentyp nach allgemeiner Konvention gebündelt, aber das FFT-Ergebnis könnte leicht (und einige FFTs) nur 2 reelle Vektoren erzeugen (einen für Cosinuskoordinaten und einen für Sinuskoordinaten).
Es gibt auch FFT-Routinen, die Größe und Phase direkt erzeugen, aber sie laufen langsamer als FFTs, die ein komplexes (oder zwei reelle) Vektorergebnis erzeugen. Es gibt auch FFT-Routinen, die nur die Größe berechnen und nur die Phaseninformationen wegwerfen. Sie werden jedoch normalerweise nicht schneller ausgeführt, als wenn Sie dies nach einer allgemeineren FFT selbst tun. Vielleicht sparen sie einem Codierer ein paar Codezeilen, um nicht invertierbar zu sein. Viele Bibliotheken machen sich jedoch nicht die Mühe, diese langsameren und weniger allgemeinen Formen der FFT einzuschließen, und lassen den Codierer einfach konvertieren oder ignorieren, was sie benötigen oder nicht benötigen.
Darüber hinaus halten viele die Mathematik mit komplexer Arithmetik für viel eleganter (wobei für eine streng reale Eingabe die Kosinuskorrelation oder die gerade Komponente eines FFT-Ergebnisses in die reale Komponente und die Sinuskorrelation oder die ungerade Komponente der Das FFT-Ergebnis wird in die imaginäre Komponente einer komplexen Zahl eingefügt.)
(Hinzugefügt :) Und als weitere Option können Sie die beiden Komponenten jedes FFT-Ergebnisbereichs betrachten, anstatt als reale und imaginäre Komponenten, als gerade und ungerade Komponenten, beide real.