Bei der schnellen Fourier-Transformation (FFT) handelt es sich um einen Algorithmus zur Berechnung der DFT, der durch Anwendung des Divide and Conquer-Paradigmas eine Zeitkomplexität von erreicht. Im folgenden soll der iterative FFT-Algorithmus und seine Datenflußstruktur hergeleitet werden, da diese auch die Grundlage paralleler Implementierungen bilden.
Sei und .
Die Berechnung der Komponenten wird getrennt für gerade und ungerade Indizes betrachtet. Ziel ist jeweils, die Berechnung der Komponenten auf die Berechnung einer DFT der halben Länge zurückzuführen.
Für
gilt
(7) |
Um die beiden Summanden zusammenzufassen betrachten wir
(8) |
Analog erhalten wir für ungerade Indizes von y
(10) |
(11) |
Zum Zusammenfassen der Summanden benötigen wir noch, daß gilt
(12) |
Damit ergibt sich für diesen Fall
Die Gleichungen und zeigen, daß wir durch die DFT der Länge n von und durch die DFT von erhalten. Für läßt sich dieses Verfahren auf die beiden DFTs der Länge getrennt rekursiv anwenden.
Dieses Vorgehen führt zu einem Butterfly-Graph der Dimension zur Basis 2 als Datenflußgraph der FFT (Abbildung ).
Im ersten Schritt ergeben sich folgende Funktionen in den Knoten
(14) |
Auf die Datenflußstruktur haben die Gewichte keine Auswirkung, so daß es im Folgenden ausreicht nur die beiden Typen
zu unterscheiden.
Durch das in jedem Schritt vorgenommene Anordnen der Ergebnisse zu geraden Indizes in der oberen Hälfte des betrachteten Ausschnitts, befindet sich das Ergebnis der DFT in der letzten Spalte in der durch die gespiegelte -stellige Dualdarstellung von bestimmten Zeile (Bitreversal).