Definiere
Matrix mal Vektor,
d. h. pro Zeile N Multiplikationen in N Zeilen.
FFT (Fast Fourier Transformation) benötigt
nur
Multiplikationen
Prinzip: Darstellung von N als Produkt
,
dann Reduktion auf kleinere
Probleme der Größe Nm
Höchste Effizienz für N=2n mit n > 0 (ganz)
Verfahren: (Sande, Tukey 1966)
Definition:
(2.26)
Damit lassen sich die Koeffizienten schreiben:
(2.27)
wobei
Aufspaltung der Summen in geraden (j=2h) und ungeraden
Anteil (j=2h+1)
Zusammenfassung der ,,komplementären Terme''
und
wobei
mit
Man erhält Summen halber länge. Mit
und
erhält man:
(2.28)
(2.29)
Diese Summen lassen sich analog weiter verkürzen, so daß man
mit
und den Abkürzungen M:=2m-1
und R:= 2n-m:
(2.30)
mit
und
sowie der
rekursiven Definition der fr,k(m) ausgehend von den
Startwerten
f0,k(n) := fk
fr,k(m-1) = fr,k(m) + fr,k+M(m)
(2.31)
(2.32)
Die gesuchten Koeffizienten ergeben sich dann zu
(2.33)
Problem bei der konkreten Implementation: Das Arbeiten mit
zwei unabhängigen Arrays zur Speicherung aller Werte
f*,*(m) benötigt ausgesprochen viel Platz.
Effizientere Speicherverwaltung nötig! Man kann mit einem Array
auskommen. (S. Stoehr I, S. 87ff)