Discrete Fourier Transform (DFT)

From LNTwww

Argumente für die diskrete Realisierung der FT

Die Fouriertransformation gemäß der bisherigen Beschreibung im Kapitel Aperiodische Signale - Impulse weist aufgrund der unbegrenzten Ausdehnung des Integrationsintervalls eine unendlich hohe Selektivität auf und ist deshalb ein ideales theoretisches Hilfsmittel der Spektralanalyse. Sollen die Spektralanteile $X(f)$ einer Zeitfunktion $x(t)$ numerisch ermittelt werden, so sind die allgemeinen Transformationsgleichungen

$$\begin{align*}X(f) & = \int_{-\infty }^{+\infty}x(t) \cdot {\rm e}^{-{\rm j} \hspace{0.05cm}\cdot \hspace{0.05cm} 2 \pi f t}\hspace{0.1cm} {\rm d}t\hspace{0.5cm} \Rightarrow\hspace{0.5cm} {\boldsymbol {\rm Hintransformation}} \hspace{0.05cm},\\ x(t) & = \int_{-\infty }^{+\infty}\hspace{-0.15cm}X(f) \cdot {\rm e}^{\hspace{0.05cm}+{\rm j} \hspace{0.05cm}\cdot \hspace{0.05cm} 2 \pi f t}\hspace{0.1cm} {\rm d}f\hspace{0.35cm} \Rightarrow\hspace{0.5cm} {\boldsymbol {\rm R\ddot{u}cktransformation}} \hspace{0.05cm}\end{align*}$$

aus zwei Gründen ungeeignet:

  • Die Gleichungen gelten ausschließlich für zeitkontinuierliche Signale. Mit Digitalrechnern oder Signalprozessoren können jedoch nur zeitdiskrete Signale verarbeitet werden.
  • Für eine numerische Auswertung der beiden Fourierintegrale ist es erforderlich, das jeweilige Integrationsintervall auf einen endlichen Wert zu begrenzen.


Daraus ergibt sich folgende Konsequenz: Ein kontinuierliches Signal muss vor der numerischen Bestimmung seiner Spektraleigenschaften zwei Prozesse durchlaufen, nämlich

  • den der Abtastung zur Diskretisierung, und
  • den der Fensterung zur Begrenzung des Integrationsintervalls.


Im Folgenden wird ausgehend von einer aperiodischen Zeitfunktion $x(t)$ und dem dazugehörigen Fourierspektrum $X(f)$ eine für die Rechnerverarbeitung geeignete zeit– und frequenzdiskrete Beschreibung schrittweise entwickelt.


Zeitdiskretisierung - Periodifizierung im Frequenzbereich

Die folgenden Grafiken zeigen einheitlich links den Zeitbereich und rechts den Frequenzbereich. Ohne Einschränkung der Allgemeingültigkeit sind $x(t)$ und $X(f)$ jeweils reell und gaußförmig.

Diskretisierung im Zeitbereich – Periodifizierung im Frequenzbereich

Entsprechend dem Kapitel Zeitdiskrete Signaldarstellung kann man die Abtastung des Zeitsignals $x(t)$ durch die Multiplikation mit einem Diracpuls $p_{\delta}(t)$ beschreiben. Es ergibt sich das im Abstand $T_{\rm A}$ abgetastete Zeitsignal

$${\rm A}\{x(t)\} = \sum_{\nu = - \infty }^{+\infty} T_{\rm A} \cdot x(\nu \cdot T_{\rm A})\cdot \delta (t- \nu \cdot T_{\rm A} )\hspace{0.05cm}.$$

Das abgetastete Signal $\text{A}\{ x(t)\}$ transformieren wir nun in den Frequenzbereich. Der Multiplikation des Diracpulses $p_{\delta}(t)$ mit $x(t)$ entspricht im Frequenzbereich die Faltung von $P_{\delta}(f)$ mit $X(f)$. Es ergibt sich das periodifizierte Spektrum $\text{P}\{ X(f)\}$, wobei $f_{\rm P}$ die Frequenzperiode der Funktion $\text{P}\{ X(f)\}$ angibt:

$${\rm A}\{x(t)\} \hspace{0.2cm}\circ\!\!-\!\!\!-\!\!\!-\!\!\bullet\, \hspace{0.2cm} {\rm P}\{X(f)\} = \sum_{\mu = - \infty }^{+\infty} X (f- \mu \cdot f_{\rm P} )\hspace{0.5cm} {\rm mit }\hspace{0.5cm}f_{\rm P}= {1}/{T_{\rm A}}\hspace{0.05cm}.$$

Dieser Zusammenhang wurde ebenfalls bereits im Kapitel Zeitdiskrete Signaldarstellung hergeleitet, jedoch mit etwas anderer Nomenklatur. Diese Nomenklaturänderung wird auf den nachfolgenden Seiten begründet:

  • Das abgetastete Signal $\text{A}\{ x(t)\}$ anstelle von $x_{\rm A}(t)$.
  • Die Frequenzperiode $f_{\rm P}$ = $1/T_{\rm A}$ anstelle von $f_{\rm A} = 1/T_{\rm A}$.


Die Grafik zeigt den hier beschriebenen Funktionalzusammenhang. Hierzu ist anzumerken:

  • Die Frequenzperiode $f_{\rm P}$ wurde hier aus Darstellungsgründen bewusst klein gewählt, so dass die Überlappung der zu summierenden Spektren deutlich zu erkennen ist.
  • In der Praxis sollte $f_{\rm P}$ aufgrund des Abtasttheorems mindestens doppelt so groß sein wie die größte im Signal $x(t)$ enthaltene Frequenz.
  • Ist dies nicht erfüllt, so muss mit Aliasing gerechnet werden – siehe Kapitel Fehlermöglichkeiten bei Anwendung der DFT.


Frequenzdiskretisierung - Periodifizierung im Zeitbereich

Die Diskretisierung von $X(f)$ lässt sich ebenfalls durch eine Multiplikation mit einem Diracpuls beschreiben. Es ergibt sich das im Abstand $f_{\rm A}$ abgetastete Spektrum:

$${\rm A}\{X(f)\} = X(f) \cdot \sum_{\mu = - \infty }^{+\infty} f_{\rm A} \cdot \delta (f- \mu \cdot f_{\rm A } ) = \sum_{\mu = - \infty }^{+\infty} f_{\rm A} \cdot X(\mu \cdot f_{\rm A } ) \cdot\delta (f- \mu \cdot f_{\rm A } )\hspace{0.05cm}.$$

Transformiert man den hier verwendeten Frequenz–Diracpuls (mit Impulsgewichten $f_{\rm A}$) in den Zeitbereich, so erhält man mit $T_{\rm P} = 1/f_{\rm A}$:

$$\sum_{\mu = - \infty }^{+\infty} f_{\rm A} \cdot \delta (f- \mu \cdot f_{\rm A } ) \hspace{0.2cm}\bullet\!\!-\!\!\!-\!\!\!-\!\!\circ\, \hspace{0.2cm} \sum_{\nu = - \infty }^{+\infty} \delta (t- \nu \cdot T_{\rm P } ) \hspace{0.05cm}.$$

Die Multiplikation mit $X(f)$ entspricht im Zeitbereich der Faltung mit $x(t)$. Man erhält das im Abstand $T_{\rm P}$ periodifizierte Signal $\text{P}\{ x(t)\}$:

$${\rm A}\{X(f)\} \hspace{0.2cm}\bullet\!\!-\!\!\!-\!\!\!-\!\!\circ\, \hspace{0.2cm} {\rm P}\{x(t)\} = x(t) \star \sum_{\nu = - \infty }^{+\infty} \delta (t- \nu \cdot T_{\rm P } )= \sum_{\nu = - \infty }^{+\infty} x (t- \nu \cdot T_{\rm P } ) \hspace{0.05cm}.$$

Dieser Zusammenhang ist in der Grafik veranschaulicht. Aufgrund der groben Frequenzrasterung ergibt sich in diesem Beispiel für die Zeitperiode $T_{\rm P}$ ein relativ kleiner Wert, so dass sich das periodifizierte Zeitsignal $\text{P}\{ x(t)\}$ aufgrund von Überlappungen deutlich von $x(t)$ unterscheidet.

Diskretisierung im Frequenzbereich – Periodifizierung im Zeitbereich


Finite Signaldarstellung

Zur finiten Signaldarstellung kommt man, wenn sowohl die Zeitfunktion $x(t)$ wie auch die Spektralfunktion $X(f)$ ausschließlich durch ihre Abtastwerte angegeben werden.

Finite Signale der DFT

Diese Grafik ist wie folgt zu interpretieren:

  • Im linken Bild blau eingezeichnet ist die Funktion $\text{A}\{ \text{P}\{ x(t)\}\}$. Diese ergibt sich durch Abtastung der periodifizierten Zeitfunktion $\text{P}\{ x(t)\}$ mit äquidistanten Diracimpulsen im Abstand $T_{\rm A} = 1/f_{\rm P}$.
  • Im rechten Bild grün eingezeichnet ist die Funktion $\text{P}\{ \text{A}\{ X(f)\}\}$. Diese ergibt sich durch Periodifizierung (mit $f_{\rm P}$) der abgetasteten Spektralfunktion $\{ \text{A}\{ X(f)\}\}$.
  • Zwischen dem blauen finiten Signal und dem grünen finiten Signal besteht eine Fourierkorrespondenz:
$${\rm A}\{{\rm P}\{x(t)\}\} \hspace{0.2cm}\circ\!\!-\!\!\!-\!\!\!-\!\!\bullet\, \hspace{0.2cm} {\rm P}\{{\rm A}\{X(f)\}\} \hspace{0.05cm}.$$
  • Die Diraclinien der periodischen Fortsetzung $\text{P}\{ \text{A}\{ X(f)\}\}$ der abgetasteten Spektralfunktion fallen allerdings nur dann in das gleiche Frequenzraster wie diejenigen von $\text{A}\{ X(f)\}$, wenn die Frequenzperiode $f_{\rm P}$ ein ganzzahliges Vielfaches ($N$) des Frequenzabtastabstandes $f_{\rm A}$ ist.
  • Deshalb muss bei Anwendung der finiten Signaldarstellung stets gelten, wobei für die natürliche Zahl $N$ in der Praxis meist eine Zweierpotenz verwendet wird (der obigen Grafik liegt der Wert $N = 8$ zugrunde):
$$f_{\rm P} = N \cdot f_{\rm A} \hspace{0.5cm} \Rightarrow\hspace{0.5cm} {1}/{T_{\rm A}}= N \cdot f_{\rm A} \hspace{0.5cm} \Rightarrow\hspace{0.5cm} N \cdot f_{\rm A}\cdot T_{\rm A} = 1\hspace{0.05cm}.$$
  • Bei Einhaltung der Bedingung $N \cdot f_{\rm A} \cdot T_{\rm A} = 1$ ist die Reihenfolge von Periodifizierung und Abtastung vertauschbar. Somit gilt:
$${\rm A}\{{\rm P}\{x(t)\}\} = {\rm P}\{{\rm A}\{x(t)\}\}\hspace{0.2cm}\circ\!\!-\!\!\!-\!\!\!-\!\!\bullet\, \hspace{0.2cm} {\rm P}\{{\rm A}\{X(f)\}\} = {\rm A}\{{\rm P}\{X(f)\}\}\hspace{0.05cm}.$$

Die Zeitfunktion $\text{P}\{ \text{A}\{ x(t)\}\}$} besitzt die Periode $T_{\rm P} = N \cdot T_{\rm A}$ und die Periode im Frequenzbereich ist $f_{\rm P} = N \cdot f_{\rm A}$. Zur Beschreibung des diskretisierten Zeit– und Frequenzverlaufs reichen somit jeweils $N$ komplexe Zahlenwerte in Form von Impulsgewichten aus.

Es liegt ein impulsartiges Signal $x(t)$ in abgetasteter Form vor, wobei der Abstand zweier Abtastwerte $T_{\rm A} = 1\,\text{μs}$ beträgt. Nach einer diskreten Fouriertransformation mit $N$ = 512 liegt das Spektrum $X(f)$ in Form von Abtastwerten im Abstand $f_{\rm A} = (N \cdot T_{\rm A})^{–1} \approx 1.953\,\text{kHz} $ vor. Vergrößert man $N$ auf 2048, so ergibt sich ein feineres Frequenzraster mit $f_{\rm A} \approx 488\,\text{Hz}$.


Von der kontinuierlichen zur diskreten Fouriertransformation

Aus dem herkömmlichen ersten Fourierintegral

$$X(f) =\int_{-\infty }^{+\infty}x(t) \cdot {\rm e}^{-{\rm j} \hspace{0.05cm}\cdot \hspace{0.05cm} 2 \pi f \hspace{0.05cm}t}\hspace{0.1cm} {\rm d}t$$

entsteht durch Diskretisierung ($\text{d}t \to T_{\rm A}$, $t \to \nu \cdot T_{\rm A}$, $f \to \mu \cdot f_{\rm A}$, $T_{\rm A} \cdot f_{\rm A} = 1/N$) die Summe

$${\rm P}\{X(\mu \cdot f_{\rm A})\} = T_{\rm A} \cdot \sum_{\nu = 0 }^{N-1} {\rm P}\{x(\nu \cdot T_{\rm A})\}\cdot {\rm e}^{-{\rm j} \hspace{0.05cm}\cdot \hspace{0.05cm} 2 \pi \hspace{0.05cm} \cdot \hspace{0.05cm}\nu \hspace{0.05cm} \cdot \hspace{0.05cm}\mu /N} \hspace{0.05cm}.$$

Es ist berücksichtigt, dass aufgrund der Diskretisierung jeweils die periodifizierten Funktionen einzusetzen sind. Aus Gründen einer vereinfachten Schreibweise nehmen wir nun die folgenden Substitutionen vor:

  • Die $N$ Zeitbereichskoeffizienten seien mit der Laufvariablen $\nu$ = 0, ... , $N - 1$:
$$d(\nu) = {\rm P}\left\{x(t)\right\}{\big|}_{t \hspace{0.05cm}= \hspace{0.05cm}\nu \hspace{0.05cm}\cdot \hspace{0.05cm}T_{\rm A}}\hspace{0.05cm}.$$
  • Die $N$ Frequenzbereichskoeffizienten seien mit der Laufvariablen $\mu$ = 0, ... , $N$ – 1:
$$D(\mu) = f_{\rm A} \cdot {\rm P}\left\{X(f)\right\}{\big|}_{f \hspace{0.05cm}= \hspace{0.05cm}\mu \hspace{0.05cm}\cdot \hspace{0.05cm}f_{\rm A}}\hspace{0.05cm}.$$
  • Abkürzend wird für den von $N$ abhängigen komplexen Drehfaktor geschrieben:
$$w = {\rm e}^{-{\rm j} \hspace{0.05cm}\cdot \hspace{0.05cm} 2 \pi /N} = \cos \left( {2 \pi}/{N}\right)-{\rm j} \cdot \sin \left( {2 \pi}/{N}\right) \hspace{0.05cm}.$$

Die Gleichung der Diskreten Fouriertransformation (kurz DFT) lautet:

$$D(\mu) = \frac{1}{N} \cdot \sum_{\nu = 0 }^{N-1} d(\nu)\cdot {w}^{\hspace{0.05cm}\nu \hspace{0.03cm} \cdot \hspace{0.05cm}\mu} \hspace{0.05cm}. $$

Oder in Worten: Unter dem Begriff „Diskrete Fouriertransformation” versteht man die Berechnung der $N$ Spektralkoeffizienten $D(\mu)$ aus den $N$ Signalkoeffizienten $d(\nu)$.


In der Grafik erkennt man die $N = 8$ Signalkoeffizienten $d(\nu)$ an der blauen Füllung und die $N = 8$ Spektralkoeffizienten $D(\mu)$ an der grünen Füllung.

Zur Definition der DFT


Inverse Diskrete Fouriertransformation

Die Inverse Diskrete Fouriertransformation (IDFT) beschreibt das zweite Fourierintegral

$$\begin{align*}x(t) & = \int_{-\infty }^{+\infty}X(f) \cdot {\rm e}^{\hspace{0.05cm}{\rm j} \hspace{0.05cm}\cdot \hspace{0.05cm} 2 \pi f \hspace{0.05cm} t}\hspace{0.1cm} {\rm d}f\end{align*}$$

in diskretisierter Form. Man erhält mit dem Übergang $\text{d}f \to f_{\rm A}$:

$$d(\nu) = {\rm P}\left\{x(t)\right\}{\big|}_{t \hspace{0.05cm}= \hspace{0.05cm}\nu \hspace{0.05cm}\cdot \hspace{0.05cm}T_{\rm A}}\hspace{0.05cm},\hspace{1.55cm} \nu = 0, ... \hspace{0.05cm}, N-1\hspace{0.05cm},$$

Die Gleichung der Inversen Diskreten Fouriertransformation (kurz IDFT) lautet:

$$d(\nu) = \sum_{\mu = 0 }^{N-1} D(\mu) \cdot {w}^{-\nu \hspace{0.03cm} \cdot \hspace{0.05cm}\mu} \hspace{0.05cm}.$$

In anderen Worten: Unter dem Begriff „Inverse Diskrete Fouriertransformation” versteht man die Berechnung der Signalkoeffizienten $d(\nu)$ aus den Spektralkoeffizienten $D(\mu)$.


Es gelten auch hier die Definitionen: $$d(\nu) = {\rm P}\left\{x(t)\right\}{\big|}_{t \hspace{0.05cm}= \hspace{0.05cm}\nu \hspace{0.05cm}\cdot \hspace{0.05cm}T_{\rm A}}\hspace{0.05cm},\hspace{1.55cm} \nu = 0, ... \hspace{0.05cm}, N-1\hspace{0.05cm},$$

$$D(\mu) = f_{\rm A} \cdot {\rm P}\left\{X(f)\right\}{\big|}_{f \hspace{0.05cm}= \hspace{0.05cm}\mu \hspace{0.05cm}\cdot \hspace{0.05cm}f_{\rm A}} \hspace{0.05cm},\hspace{0.3cm} \mu = 0, ... \hspace{0.05cm}, N-1\hspace{0.05cm},$$

$$w = {\rm e}^{-{\rm j} \hspace{0.05cm}\cdot \hspace{0.05cm} 2 \pi /N} \hspace{0.05cm}.$$


Ein Vergleich zwischen der DFT und IDFT zeigt, dass genau der gleiche Algorithmus verwendet werden kann.

Zur Definition der IDFT

Die einzigen Unterschiede der IDFT gegenüber der DFT sind:

  • Der Exponent des Drehfaktors ist mit unterschiedlichem Vorzeichen anzusetzen.
  • Bei der IDFT entfällt die Division durch $N$.


Interpretation von DFT und IDFT

Die folgende Grafik zeigt nochmals die diskreten Koeffizienten im Zeit– und Frequenzbereich zusammen mit den periodifizierten zeitkontinuierlichen Funktionen.

Zeit- und Frequenzbereichskoeffizienten der DFT

Bei Anwendung von DFT bzw. IDFT ist zu beachten:

  • Nach obigen Definitionen besitzen die DFT–Koeffizienten $d(ν)$ und $D(\mu)$ stets die Einheit der Zeitfunktion.
  • Dividiert man $D(\mu)$ durch $f_{\rm A}$, so erhält man den Spektralwert $X(\mu \cdot f_{\rm A})$.
  • Die Spektralkoeffizienten $D(\mu)$ müssen stets komplex angesetzt werden, um auch ungerade Zeitfunktionen berücksichtigen zu können.
  • Aus Symmetriegründen verwendet man meist komplexe Zeitkoeffizienten $d(\nu)$, um auch Bandpass–Signale im äquivalenten Tiefpassbereich transformieren zu können.
  • Als Grundintervall für $\nu$ und $\mu$ definiert man meist – wie in obiger Grafik – den Bereich von 0 bis $N - 1$.
  • Mit den komplexwertigen Zahlenfolgen
$$\langle d(\nu)\rangle = \langle d(0), ... , d(N-1) \rangle \hspace{0.2cm}{\rm sowie}\hspace{0.2cm} \langle D(\mu)\rangle = \langle D(0), ... , D(N-1) \rangle$$
werden DFT und IDFT ähnlich wie die herkömmliche Fouriertransformation symbolisiert:
$$\langle D(\mu)\rangle \hspace{0.2cm}\bullet\!\!-\!\!\!-(N)\!-\!\!\!-\!\!\hspace{0.05cm}\circ\, \hspace{0.2cm} \langle d(\nu)\rangle \hspace{0.05cm}.$$
  • Ist die Zeitfunktion $x(t)$ bereits auf den Bereich $0 \le t \lt N \cdot T_{\rm A}$ begrenzt, dann geben die Zeitkoeffizienten direkt die Abtastwerte der Zeitfunktion an:
$$d(\nu) = x(\nu \cdot T_{\rm A}).$$
  • Ist das Zeitsignal $x(t)$ gegenüber dem Grundintervall verschoben, so muss man die im folgenden Beispiel gezeigte Zuordnung zwischen $x(t)$ und den Koeffizienten $d(\nu)$ wählen.


Die obere Grafik zeigt den unsymmetrischen Dreieckimpuls $x(t)$, dessen absolute Breite kleiner ist als $T_{\rm P} = N \cdot T_{\rm A}$.

Zur Belegung der DFT-Koeffizienten

Die untere Skizze zeigt die zugeordneten DFT–Koeffizienten für das Beispiel $N = 8$

  • Für die Zeitindizes $\nu = 0, ... , N/2 = 4$ gilt $d(\nu) = x(\nu \cdot T_{\rm A})$:
$$d(0) = x (0)\hspace{0.05cm}, \hspace{0.15cm} d(1) = x (T_{\rm A})\hspace{0.05cm}, \hspace{0.15cm} d(2) = x (2T_{\rm A})\hspace{0.05cm}, \hspace{0.15cm} d(3) = x (3T_{\rm A})\hspace{0.05cm}, \hspace{0.15cm} d(4) = x (4T_{\rm A})\hspace{0.05cm}.$$
  • Dagegen sind die Koeffizienten $d(5)$, $d(6)$ und d$(7)$ wie folgt zu setzen:
$$d(\nu) = x ((\nu\hspace{-0.05cm} - \hspace{-0.05cm} N ) \cdot T_{\rm A}) \hspace{0.2cm}\Rightarrow \hspace{0.2cm} d(5) = x (-3T_{\rm A})\hspace{0.05cm}, \hspace{0.15cm} d(6) = x (-2T_{\rm A})\hspace{0.05cm}, \hspace{0.15cm} d(7) = x (-T_{\rm A})\hspace{0.05cm}.$$

Aufgaben zum Kapitel

Aufgabe 5.2:   Inverse DFT

Zuusatzaufgabe 5.2Z:   DFT eines Dreieckimpulses