Exercise 5.5: Fast Fourier Transform

From LNTwww
Revision as of 09:21, 16 October 2019 by Guenter (talk | contribs)

FFT-Algorithmus für  $N=8$

Die Grafik zeigt den Signalflussplan der FFT 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}^{\hspace{0.03cm}\nu \hspace{0.05cm} \cdot \hspace{0.05cm}\mu}\hspace{0.05cm},$$

wobei der komplexe Drehfaktor  $w = \text{e}^{-\text{j}\hspace{0.05cm} \cdot \hspace{0.05cm}2\pi /N}$  zu verwenden ist, also  $w = \text{e}^{-\text{j}\hspace{0.05cm} \cdot \hspace{0.05cm}\pi /4}$  für  $N = 8$.

  • Am Eingang wird die alternierende $±1$–Folge  $\langle\hspace{0.05cm} d(ν)\hspace{0.05cm}\rangle$  angelegt.
  • Nach der Bitumkehroperation ergibt sich daraus die Folge  $\langle \hspace{0.05cm}b(\kappa)\hspace{0.05cm}\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.




Hinweis:



Fragebogen

1

Berechnen Sie den DFT–Koeffizienten  $D(3)$.

$D(3) \ = \ $

2

Berechnen Sie den DFT–Koeffizienten  $D(4)$.

$D(4) \ = \ $

3

Ermitteln Sie die Ausgangswerte  $X(0)$, ... , $X(7)$  der ersten Stufe. Welche der folgenden Aussagen sind zutreffend?

Alle  $X$–Werte mit geradzahligen Indizes sind gleich  $2$.
Alle  $X$–Werte mit ungeradzahligen Indizes sind gleich  $0$.

4

Ermitteln Sie die Ausgangswerte  $Y(0)$, ... , $Y(7)$  der zweiten Stufe. Geben Sie zur Kontrolle die Werte  $Y(0)$  und  $Y(4)$  ein.

$Y(0) \ = \ $

$Y(4) \ = \ $

5

Berechnen Sie alle  $N$  Spektralwerte  $D(\mu)$, insbesondere

$D(\mu = 4) \ = \ $

$D(\mu \neq 4) \ = \ $

6

Welche Spektralkoeffizienten würden sich für  $d(ν = 4) = 1$  und  $d(ν \neq 4) = 0$  ergeben?
Geben Sie zur Kontrolle die Werte  $D(3)$  und  $D(4)$  ein.

$D(\mu = 3) \ = \ $

$D(\mu = 4) \ = \ $


Musterlösung

(1)  Entsprechend der auf dem Angabenblatt gegebenen allgemeinen DFT–Gleichung gilt mit $w = \text{e}^{-\text{j}\hspace{0.05cm} \cdot \hspace{0.05cm}\pi /4}$ unter Berücksichtigung der alternierenden Zeitkoeffizienten:

$$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}.$$

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:

$$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}.$$

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:

$$ 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}.$$
Beispiel für den FFT-Algorithmus

(3)  Richtig ist der Lösungsvorschlag 2:

  • Der Term $w_0 = 1$ muss nicht berücksichtigt werden.
  • Alle Ausgangswerte mit ungeraden Indizes sind durch die Subtraktion zweier identischer Eingangswerte $0$.
  • Die erste Aussage trifft nicht zu:   Es gilt $X(0) = X(2) = +2$ und $X(4) = X(6) = - 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 Null.


(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 deshalb zu Null 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$$
$$\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 ergibt sich sich $D(3) \; \underline{= -1}$ und $D(4) \; \underline{= +1}$.