Exercise 5.5: Fast Fourier Transform

From LNTwww
Revision as of 14:36, 1 September 2020 by Javier (talk | contribs) (Text replacement - "Signal_Representation/Fast-Fouriertransformation_(FFT)" to "Signal_Representation/Fast_Fourier_Transform_(FFT)")

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 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  $w^{2} = -{\rm j}$  kann verzichtet werden, da im Signalflussplan die entsprechenden Eingangsgrößen Null 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}$.