Exercise 5.5: Fast Fourier Transform
Die Grafik zeigt den Signalflussplan der DFT für $N = 8$. Aus den Zeitkoeffizienten $d(0), \hspace{0.03cm}\text{...} \hspace{0.1cm}, d(7)$ werden die dazugehörigen Spektralkoeffizienten $D(0), \hspace{0.03cm}\text{...} \hspace{0.1cm} , D(7)$ ermittelt. Für diese gilt mit $0 ≤ μ ≤ 7$:
- $$D(\mu) = \frac{1}{N}\cdot \sum_{\nu = 0 }^{N-1} d(\nu) \cdot {w}^{\nu \hspace{0.03cm} \cdot \hspace{0.05cm}\mu}\hspace{0.05cm},$$
wobei der komplexe Drehfaktor $w = \text{e}^{-\text{j}2\pi /N}$ zu verwenden ist, also $w = \text{e}^{-\text{j}\pi /4}$ für $N = 8$.
Am Eingang wird die alternierende $±1$–Folge $\langle d(ν)\rangle$ angelegt. Nach der Bitumkehroperation ergibt sich daraus die Folge $\langle b(\kappa)\rangle$.
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 $\log_2 N = 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),\hspace{0.03cm}\text{...} \hspace{0.1cm} , X(7)$ bezeichnet, die der zweiten mit $Y(0), \hspace{0.03cm}\text{...} \hspace{0.1cm} , 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), \hspace{0.03cm}\text{...} \hspace{0.1cm} , D(7)$ vor.
Hinweise:
- Die Aufgabe gehört zum Kapitel Fast-Fouriertransformation (FFT).
- Sollte die Eingabe des Zahlenwertes „0” erforderlich sein, so geben Sie bitte „0.” ein.
Fragebogen
Musterlösung
$$\begin{align*}8 \cdot D(3) & = w^0 - w^3 + w^6- w^9+ w^{12}- w^{15}+ w^{18}- w^{21} \\ & = w^0 - w^3 + w^2- w^1+ w^{4}- w^{7}+ w^{6}- w^{5}\hspace{0.05cm}.\end{align*}$$
Hierbei ist berücksichtigt, dass aufgrund der Periodizität $w_9 = w_1$, $w_{12} = w_4$, $w_{15} = w_7$, $w_{18} = w_2$ und $w_{21} = w_5$ ist. Nach Umsortieren gilt in gleicher Weise:
$$\begin{align*} 8 \cdot D(3) & = (w^0 + w^4) - (w^1 + w^5)+ (w^2 + w^6) - (w^3 + w^7) = \\ & = (1 + w + w^2+ w^3) \cdot (w^0 + w^4)\hspace{0.05cm}.\end{align*}$$
Wegen $w_0 = 1$ und $w_4 = \text{e}^{–\text{j}\pi } = \hspace{0.08cm} - \hspace{-0.08cm}1$ erhält man somit $\underline {D(3) = 0}$.
2. In analoger Weise zur Teilaufgabe ( 1) ergibt sich nun:
$$\begin{align*} 8 \cdot D(4) & = w^0 - w^4 + w^8- w^{12}+ w^{16}- w^{20}+ w^{24}- w^{28}= \\ & = 4 \cdot (w^0 - w^4)= 8 \hspace{0.3cm} \Rightarrow \hspace{0.3cm}\hspace{0.15 cm}\underline{D(4) = 1}\hspace{0.05cm}.\end{align*}$$
3. Der Term $w_0 = 1$ muss nicht berücksichtigt werden. Alle Ausgangswerte mit ungeraden Indizes sind somit durch die Subtraktion zweier identischer Eingangswerte gleich $0$. Die erste Aussage trifft nicht zu: Es gilt $X(0) = X(2) = +2,$ $X(4) = X(6) = - 2$ ⇒ Vorschlag 2.
4. Auf die Multiplikation mit $w^{2} = -{\rm j}$ = kann verzichtet werden, da im Signalflussplan die entsprechenden Eingangsgrößen $0$ sind.
Man erhält somit $Y(0) \;\underline{= 4}$ und $Y(4) \;\underline{= - \hspace{-0.03cm}4}$. Alle anderen Werte sind $0$.
5. Wegen $Y(5) = Y(6) =Y(7) = 0$ spielen auch in der dritten Stufe die Multiplikationen mit $w$, $w^2$ und $w^3$ keine Rolle. Alle Spektralkoeffizienten $D(\mu)$ ergeben sich zu 0 mit Ausnahme von
$$\hspace{0.15 cm}\underline{D(4)} = {1}/{N}\cdot \left[Y(0) - Y(4) \right ] \hspace{0.15 cm}\underline{= 1} \hspace{0.05cm}.$$
Dieses Ergebnis stimmt mit den Ergebnissen aus (1) und (2) überein.
6. Nachdem sowohl die Zeitkoeffizienten $d(ν)$ als auch alle Spektralkoeffizienten $D(\mu)$ 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({\rm gerades}\hspace{0.15cm}\nu) = +1, \hspace{0.2cm}d({\rm ungerades}\hspace{0.15cm}\nu)= -1 \hspace{0.3cm} \Rightarrow \hspace{0.3cm}D(\mu = 4)= 1,\hspace{0.2cm}D(\mu \ne 4)= 0.$$
Durch Vertauschen der Eingangs– und Ausgangswerte kommt man zur Aufgabenstellung (6):
$$d(\nu = 4)= 1, \hspace{0.2cm}d(\nu \ne 4)= 0 \hspace{0.3cm} \Rightarrow \hspace{0.3cm}D({\rm gerades}\hspace{0.15cm}\mu) = +1, \hspace{0.2cm}D({\rm ungerades}\hspace{0.15cm}\mu)= -1 \hspace{0.05cm}.$$
Insbesondere egibt sich sich $D(3) \; \underline{= \ –1}$ und $D(4) \; \underline{= +1}$.