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).