Exercise 5.5: Fast Fourier Transform
Die Grafik zeigt den Signalflussplan der FFT für N=8. Aus den Zeitkoeffizienten d(0),...,d(7) werden die dazugehörigen Spektralkoeffizienten D(0),...,D(7) ermittelt. Für diese gilt mit 0≤μ≤7:
- D(μ)=1N⋅N−1∑ν=0d(ν)⋅wν⋅μ,
wobei der komplexe Drehfaktor w=e−j⋅2π/N zu verwenden ist, also w=e−j⋅π/4 für N=8.
- Am Eingang wird die alternierende ±1–Folge ⟨d(ν)⟩ angelegt.
- Nach der Bitumkehroperation ergibt sich daraus die Folge ⟨b(κ)⟩.
Es gilt b(κ)=d(ν), wenn man ν als Dualzahl darstellt und die resultierenden drei Bit als κ in umgekehrter Reihenfolge geschrieben werden. Beispielsweise
- folgt aus ν=1 (binär 001) die Position κ=4 (binär 100),
- verbleibt d(2) an der gleichen Position 2 (binär 010).
Der eigentliche FFT–Algorithmus geschieht für das Beispiel N=8 in log2N=3 Stufen, die mit L=1, L=2 und L=3 bezeichnet werden. Weiter gilt:
- In jeder Stufe sind vier Basisoperationen – so genannte Butterflies – durchzuführen.
- Die Werte am Ausgang der ersten Stufe werden in dieser Aufgabe mit X(0),...,X(7) bezeichnet, die der zweiten mit Y(0),...,Y(7).
- Nach der dritten und letzten Stufe sind alle Werte noch durch N zu dividieren. Hier liegt dann das endgültige Ergebnis D(0),...,D(7) vor.
Hinweis:
- Die Aufgabe gehört zum Kapitel Fast-Fouriertransformation (FFT).
Fragebogen
Musterlösung
- 8⋅D(3)=w0−w3+w6−w9+w12−w15+w18−w21=w0−w3+w2−w1+w4−w7+w6−w5.
- Hierbei ist berücksichtigt, dass aufgrund der Periodizität w9=w1, w12=w4, w15=w7, w18=w2 und w21=w5 ist.
- Nach Umsortieren gilt in gleicher Weise:
- 8⋅D(3)=(w0+w4)−(w1+w5)+(w2+w6)−(w3+w7)=(1+w+w2+w3)⋅(w0+w4).
- Wegen w0=1 und w4=e−jπ=−1 erhält man somit D(3)=0_.
(2) In analoger Weise zur Teilaufgabe (1) ergibt sich nun:
- 8⋅D(4)=w0−w4+w8−w12+w16−w20+w24−w28=4⋅(w0−w4)=8⇒D(4)=1_.
(3) Richtig ist der Lösungsvorschlag 2:
- Der Term w0=1 muss nicht berücksichtigt werden.
- Alle Ausgangswerte mit ungeraden Indizes sind durch die Subtraktion zweier identischer Eingangswerte Null.
- Die erste Aussage trifft nicht zu: Es gilt X(0)=X(2)=+2 und X(4)=X(6)=−2.
(4) Auf die Multiplikation mit w2=−j kann verzichtet werden, da im Signalflussplan die entsprechenden Eingangsgrößen Null sind.
- Man erhält somit Y(0)=4_ und Y(4)=−4_.
- Alle anderen Werte sind Null.
(5) Wegen Y(5)=Y(6)=Y(7)=0 spielen auch in der dritten Stufe die Multiplikationen mit w, w2 und w3 keine Rolle. Alle Spektralkoeffizienten D(μ) ergeben sich deshalb zu Null mit Ausnahme von
- D(4)_=1/N⋅[Y(0)−Y(4)]=1_.
Dieses Ergebnis stimmt mit den Ergebnissen aus (1) und (2) überein.
(6) Nachdem sowohl die Zeitkoeffizienten d(ν) als auch alle Spektralkoeffizienten D(μ) rein reell sind, besteht kein Unterschied zwischen der FFT und der IFFT.
- Das bedeutet gleichzeitig: Die Eingangs– und Ausgangswerte können vertauscht werden.
- Die Teilaufgabe (5) hat das folgende Ergebnis geliefert:
- d(geradesν)=+1,d(ungeradesν)=−1
- ⇒D(μ=4)=1,D(μ≠4)=0.
- Durch Vertauschen der Eingangs– und Ausgangswerte kommt man zur Aufgabenstellung (6):
- d(ν=4)=1,d(ν≠4)=0⇒D(geradesμ)=+1,D(ungeradesμ)=−1.
- Insbesondere ergibt sich sich D(3)=−1_ und D(4)=+1_.