Diskrete Fourier-Transformation
Die Diskrete Fourier-Transformation (DFT) ist eine Transformation aus dem Bereich der Fourier-Analysis. Sie bildet ein zeitdiskretes, endliches Signal, welches periodisch fortgesetzt wird, auf ein diskretes, periodisches Frequenzspektrum ab, das auch als Bildbereich bezeichnet wird. Die DFT besitzt in der digitalen Signalverarbeitung zur Signalanalyse große Bedeutung. Hier werden optimierte Varianten in Form der schnellen Fourier-Transformation (englisch fast Fourier transform, FFT) und ihrer Inversen angewendet.
Die DFT wird in der Signalverarbeitung für viele Aufgaben verwendet, so z. B.
- zur Bestimmung der in einem abgetasteten Signal hauptsächlich vorkommenden Frequenzen,
- zur Bestimmung der einzelnen Amplituden zu diesen Frequenzen
- zur Implementierung digitaler Filter mit großen Filterlängen
Mit der inversen DFT, kurz iDFT kann aus den Frequenzanteilen wiederum das Signal im Zeitbereich rekonstruiert werden. Durch Kopplung von DFT und iDFT kann ein Signal im Frequenzbereich manipuliert werden, wie es beim Equalizer angewendet wird. Die Diskrete Fourier-Transformation ist von der verwandten Fouriertransformation für zeitdiskrete Signale (engl. discrete-time Fourier transform, DTFT) zu unterscheiden, die aus zeitdiskreten Signalen ein kontinuierliches Frequenzspektrum bildet.
Inhaltsverzeichnis
Definition
Die diskrete Fourier-Transformation verarbeitet eine Folge von Zahlen <math>a=(a_0,\dotsc,a_{N-1})</math>, die zum Beispiel als Messwerte aus einer Periode eines periodischen Signals entstanden sind. Die Einträge der Folge werden als Werte <math>a_k=A(z_k)</math> eines Polynoms
- <math>A(z)=\tfrac1N\left(\hat a_0+\hat a_1z+\dots+\hat a_{N-1}z^{N-1}\right)</math>
mit komplexen Koeffizienten dargestellt. Als Argumente <math>z_0,z_1,\dotsc,z_{N-1}</math> werden <math>N</math> Punkte auf dem Einheitskreis der komplexen Zahlenebene gewählt, die gleichmäßig verteilt sind, d. h. die <math>N</math>–ten Einheitswurzeln
- <math>z_k=e^{\frac{2\pi \mathrm{i}}{N}k}=\cos \left(\tfrac{2\pi}{N}k \right)+\mathrm{i}\,\sin \left(\tfrac{2\pi}{N}k \right)</math>.
Wird nun das Polynom <math>A(z)</math> mit einer gleichmäßig den Einheitskreis umlaufenden Funktion <math>z(t)=e^{\mathrm{i}2\pi\frac{t-t_0}T}</math> verknüpft, so ergibt sich eine zeitkontinuierliche periodische Funktion
- <math>
f(t)=A(z(t)) =\tfrac1N\left(\hat a_0+\hat a_1e^{\mathrm{i}2\pi\frac{t-t_0}T}+\hat a_2e^{2\cdot \mathrm{i}2\pi\frac{t-t_0}T} + \dots
+ \hat a_{N-1}e^{(N-1)\cdot \mathrm{i}2\pi\frac{t-t_0}T}\right) \,
</math> die zu den Zeiten <math>t_k=t_0+\tfrac{k}{N}T</math> gerade die Funktionswerte <math>a_k=A(z_k)</math> annimmt. Die Potenzen von <math>z(t)</math> haben die Gestalt
- <math>
z(t)^k=e^{k\cdot \mathrm{i}2\pi\frac{t-t_0}T}=\cos(2k\pi\tfrac{t-t_0}T)+\mathrm{i}\,\sin(2k\pi\tfrac{t-t_0}T) </math> und daher die Periode <math>T/k</math> und die Frequenz <math>k/T</math> bzw. die Kreisfrequenz <math>2k\pi/T</math>. Somit ist die Folge der Messwerte durch die Superposition eines konstanten Pegels bei <math>k=0</math>, einer Grundschwingung bei <math>k=1</math> und Oberschwingungen bei <math>k > 1</math> dargestellt und interpoliert worden.
Diese oben angegebene Interpolationsfunktion ist nicht die einzige, die sich auf diese Art konstruieren lässt. Jede der Funktionen
- <math>
\begin{matrix} f(t) =\frac1N&\left(\hat a_0+\hat a_1e^{\mathrm{i}2\pi\frac{t-t_0}T}+\hat a_2e^{2\cdot \mathrm{i}2\pi\frac{t-t_0}T}+\dots+\hat a_{M-1}e^{(M-1)\cdot \mathrm{i}2\pi\frac{t-t_0}T}\right.\\
&\left.+ \hat a_{M}e^{(M-N)\cdot \mathrm{i}2\pi\frac{t-t_0}T}+\dots+\hat a_{N-1}e^{(N-1-N)\cdot \mathrm{i}2\pi\frac{t-t_0}T}\right)
\end{matrix} </math> hat diese Interpolationseigenschaft.
DFT und iDFT für einen komplexen Vektor
Die diskrete Fourier-Transformierte <math>\hat a=(\hat a_0,\dotsc,\hat a_{N-1})\in\Bbb C^N</math> eines komplexen Vektors <math>a=(a_0,\dotsc,a_{N-1})\in \C^N</math> hat die Koeffizienten
- <math>\hat a_k = \sum_{j=0}^{N-1} e^{-2\pi \mathrm{i}\cdot\frac{jk}{N}}\cdot a_j</math> für <math>k=0,\dotsc,N-1</math>.
Dabei nennt man die <math>\hat a_k</math> auch Fourierkoeffizienten oder Fourierkomponenten.
Die inverse DFT (iDFT) <math>a</math> von <math>\hat a\in\Bbb C^N</math> hat die Koeffizienten
- <math>
a_k=\frac 1 N \sum_{j=0}^{N-1} e^{2\pi \mathrm{i}\cdot\frac{jk}{N}}\cdot \hat a_j</math> für <math>k=0,\dots,N-1 \, </math>.
Sonderfall: DFT für einen reellen Vektor
Wie bei der Fourier-Transformation gelten auch für die DFT gewisse Symmetriegesetze. So wird ein reelles Signal im Zeitraum zu einem hermiteschen Signal (<math>g(-\vec x)=\overline{g(\vec x)}</math>) im Frequenzraum:
- <math>
\hat a_{N-k}=\overline{\hat a_k}
</math> Dies bedeutet, dass im Frequenzraum nur <math>N/2</math> unabhängige komplexe Koeffizienten <math>\hat a_k</math> vorliegen. Diese Tatsache kann bei der Implementierung der DFT ausgenutzt werden, wenn bekannt ist, dass das Eingangssignal rein reell ist. Für die Darstellung des Ergebnisses sind dann keine <math>N</math> (wie bei der vollen DFT), sondern nur <math>N/2</math> komplexe Zahlen nötig. Die anderen <math>N/2</math> komplexen Zahlen können durch elementare Rechnung rekonstruiert werden (siehe Formel oben). Die hermitesche Symmetrie bezieht sich auf das mittlere Element <math>k=N/2</math> des Signals <math>\hat a_k</math>.
- Beweis: Wegen der Eulerschen Identität <math>e^{2\pi i}=1</math> und wegen <math>\overline{e^{\mathrm{i}\phi}}=e^{-\mathrm{i}\phi}</math> gilt im reellen Fall <math>a\in\R^N</math>:
- <math>
- Beweis: Wegen der Eulerschen Identität <math>e^{2\pi i}=1</math> und wegen <math>\overline{e^{\mathrm{i}\phi}}=e^{-\mathrm{i}\phi}</math> gilt im reellen Fall <math>a\in\R^N</math>:
\hat a_{N-k} =\sum_{j=0}^{N-1}e^{-2\pi \mathrm{i}\cdot\frac{Nj}{N}}e^{2\pi \mathrm{i}\cdot\frac{jk}{N}}\cdot a_j =\sum_{j=0}^{N-1}\overline{e^{-2\pi \mathrm{i}\cdot\frac{jk}{N}}\cdot a_j} =\overline{\hat a_k} \, </math> Umgekehrt gilt entsprechend: Erfüllt <math>\hat a\in\C^N</math> die Bedingung <math>\hat a_{N-k}=\overline{\hat a_k}</math> für alle <math>k=1,\dots,N-1</math> sowie <math>\hat a_0 \in \R</math>, so ist die inverse DFT ein reeller Vektor <math>a\in\R^N</math>.
Verallgemeinerung: Mathematische Definition der DFT
In der Mathematik wird die diskrete Fouriertransformation in einem sehr allgemeinen Kontext betrachtet. Sie findet unter anderem in der Computer-Algebra bei einer Vielzahl von effizienten Algorithmen zur exakten Arithmetik Anwendung, so zum Beispiel bei der schnellen Multiplikation ganzer Zahlen mit dem Schönhage-Strassen-Algorithmus.
Sei <math>R</math> ein kommutativer unitärer Ring, in dem die Zahl <math>N</math> (das ist die <math>N</math>-fache Summe der <math>1</math>) eine Einheit ist. Des Weiteren gebe es in <math>R</math> eine primitive <math>N</math>-te Einheitswurzel <math>w</math>. Zu einem Tupel <math>a=(a_0,\dotsc,a_{N-1})\in R^N</math> ist dann die diskrete Fouriertransformierte <math>\hat a</math> durch
- <math>
\hat a_k = \sum_{j=0}^{N-1} w^{\,j\cdot k}\cdot a_j</math> für <math>k=0,\dots,N-1 \, </math>
erklärt. Unter den getroffenen Voraussetzungen existiert damit zu <math>\hat a\in R^N</math> auch die diskrete inverse Fouriertransformierte <math>a</math> mit den Koeffizienten
- <math>
a_k = {1\over N}\sum_{j=0}^{N-1} w^{-j\cdot k}\cdot \hat a_j</math> für <math>k=0,\dots,N-1 \, </math>.
Im überaus wichtigen Spezialfall <math>R= \C</math> wird für die DFT üblicherweise die <math>N</math>-te Einheitswurzel <math>\exp\left(2\pi\,\mathrm{i}/N\right)</math> benutzt. Dies ergibt die Formel im ersten Abschnitt.
Mehrdimensionale DFT
Die DFT kann leicht auf mehrdimensionale Signale erweitert werden. Sie wird dann je einmal auf alle Koordinatenrichtungen angewendet. Im wichtigen Spezialfall von zwei Dimensionen (Bildverarbeitung) gilt etwa:
- <math>
\hat a_{k,l} = \sum_{m=0}^{M-1}\sum_{n=0}^{N-1}a_{m,n}\cdot \mathrm{e}^{-2\pi \mathrm{i}\cdot\frac{mk}{M}} \mathrm{e}^{-2\pi \mathrm{i}\cdot\frac{nl}{N}} \, </math> für <math>k=0,\dots,M-1</math> und <math>l=0,\dotsc,N-1 </math>.
Die Rücktransformation lautet entsprechend:
- <math>
a_{m,n} = \frac{1}{MN} \sum_{k=0}^{M-1}\sum_{l=0}^{N-1}\hat a_{k,l}\cdot e^{2\pi \mathrm{i}\cdot\frac{mk}{M}} e^{2\pi \mathrm{i}\cdot\frac{nl}{N}} \, </math> für <math>m=0,\dots,M-1</math> und <math>n=0,\dotsc,N-1</math>.
Verschiebung und Skalierung in Zeit und Frequenz
In den Berechnungsformeln von DFT und iDFT kann die Summation (Indexvariable <math>j</math> oben) statt über <math>0,\dots,N-1</math> ebenso über einen verschobenen Bereich <math>k,\dots,N-1+k</math> laufen, wenn der Vektor <math>\textstyle a=(a_0,\ldots,a_{N-1})</math> periodisch auf alle ganzzahligen Indizes fortgesetzt wird, denn es gilt <math>\textstyle w^{N+k} = w^k</math>. Wir können also die Summationsgrenzen beliebig verschieben, solange ein Segment der Länge N in den ganzen Zahlen überstrichen wird.
Wenden wir uns nun wieder dem komplexen Fall zu. In praktischen Anwendungen möchte man die Indizes mit einer äquidistanten Folge von Zeitpunkten verbinden,
- <math>\displaystyle t_n:=nT</math>, n=1-M,…,N-M,
die ebenfalls die Länge N hat. Auch ist es wünschenswert, den berechneten Koeffizienten Frequenzen zuzuordnen, die um 0 zentriert sind,
- <math>\displaystyle \omega_n:=2\pi\frac{n}{NT}</math>, n=1-K,…, N-K,
K in der Nähe von N/2.
Eine zu den gewählten Zeitpunkten „gemessene“ Funktion <math>f</math> ergibt den Beobachtungsvektor <math>\textstyle x\in\Bbb C^N</math> mit den Koeffizienten <math>\textstyle x_n=f(t_n)</math>, dessen DFT <math>\textstyle y_n=\hat f(\omega_n)=F(\omega_n)</math> in der Fourier-Analyse betrachtet wird. Dann ist
- <math>
F(\omega_n)=\sum_{k=1-M}^{N-M}e^{-2\pi \mathrm{i}\frac{nkT}{NT}}x_k =\sum_{k=1-M}^{N-M}e^{-\mathrm{i}\,\omega_n\cdot t_k}f(t_k) \, </math> und
- <math>
f(t_n)=x_n=\frac1N \sum_{k=1-K}^{N-K}e^{2\pi \mathrm{i}\frac{nkT}{NT}}y_k =\frac1N \sum_{k=1-K}^{N-K}e^{\mathrm{i}\omega_k\cdot t_n}F(\omega_k) \, </math>.
Beispiele
Die Fourier-Transformation transformiert eine Funktion <math>f(t)</math> nach <math>g(v)^*</math> von einer Zeitdarstellung <math>t</math> in den reziproken Frequenzraum <math>v:=1/t</math>. Dies gilt auch für Ortsfunktionen, die auf ein (1D), zwei (2D) oder mehr Raumrichtungen definiert sind. Diese werden durch die Fouriertransformation, nacheinander in jeder Richtung, in Raumfrequenzen überführt. Beugungserscheinungen in der Optik oder Röntgenanalyse können unmittelbar als die Intensitätsverteilung einer Fouriertransformierten interpretiert werden. Die Phasenbeziehung geht bei der Fotografie normalerweise verloren. Lediglich bei der Holografie wird die Phasenbeziehung durch eine Überlagerung mit einem Referenzstrahl mit aufgezeichnet.
Einfache Blenden
Datei:Twod fourier 1.png Berechnete 2D Fourier-Transformationen. Links Ausgangsbild, rechts Intensitätsverteilung der Fourier-Transformation. |
Datei:Twod fourier 2.png Berechnete 2D Fourier-Transformationen. Links Ausgangsbild, rechts Intensitätsverteilung der Fourier-Transformation. |
Die Bilder rechts veranschaulichen zweidimensionale Fourier-Transformationen (2D FFT) an geometrischen Mustern, gerechnet für Quadrate der diskreten Größe von a×a Pixeln. Das Bild oben links zeigt einen Spalt der Größe e×f Pixel, daneben die Intensitätsverteilung des Beugungsbildes. Die Ortsvariable <math>r</math> wird überführt in reziproke komplexe Werte <math>r^*</math>. Bei den gewählten Größen wird ein Pixel auf den reziproken Wert von 1/a reziproken Pixeln überführt. Die Breite des Spalts von e Pixeln erscheint im Reziprok-Raum als Wert der Größe <math>r^*=a/e</math>, die Höhe <math>r^*=a/f</math>, mit harmonischen Frequenzen höherer Ordnung. Die berechneten Beugungsbilder geben die Intensitätsverteilungen der komplexen Größe <math>r^*</math> wieder. Dass sie nur die Hälfte der Bildinformation tragen, erkennt man an ihrer Rotationssymmetrie.
Die periodischen Peaks entsprechen den Ortsfrequenzen höherer Ordnung eines Rechtecksignals. Ähnliche Beispiele finden sich unter den Stichworten Fourier-Analyse, Fourier-Transformation, oder Beugungsscheibchen.
Im zweiten Teilbild wird ein regelmäßiges Sechseck gebeugt. Wieder erscheint die Größe der Figur als Periode im Beugungsbild rechts. Die 6-zählige Symmetrie ist deutlich zu erkennen. Eine Verschiebung des Ausgangsbildes – im Gegensatz zu einer Drehung – würde sich nur in der Phasenbeziehung auswirken, die in der gewählten Darstellung als Intensitätsverteilung nicht zu erkennen ist.
Das untere Teilbild zeigt rechts das berechnete Beugungsmuster eines Dreiecks. Die 6-zählige Symmetrie ist nur vorgetäuscht, was an der fehlenden Modulation der Beugungssterne zu erkennen ist.
Die zweite Bildserie vergleicht die Beugung zweier Kreisöffnungen. Ein großer Kreis erzeugt ein kleines Beugungsmuster, und umgekehrt. Bei einem Fernrohr begrenzt die Lichtbeugung an der Linsenöffnung die Auflösung. Je größer der Durchmesser ist, desto kleiner ist das Beugungsbild eines Sterns, desto besser können nahe beieinander liegende Sterne voneinander unterschieden werden.
Das untere Bild ist ein Beispiel für eine Beugung an einer Kreis-Struktur ohne scharfe Begrenzung. Bei einer sinusförmigen Intensitätsabnahme am Rad treten keine Beugungen höherer Ordnung auf (siehe auch Zonenplatte).
Bild mit periodischen Strukturen
Die Aufnahme links zeigt eine SAR-Aufnahme des indischen Ozeans mit Wasserwellen unterschiedlicher Wellenlänge. Die internen Wellen oben rechts haben eine Wellenlänge von ca. 500 m. Die durch Wind erzeugten Oberflächenwellen sind in der verkleinerten Darstellung nicht erkennbar. Im gerechneten Beugungsbild geben die beiden dunklen Reflexe (siehe kurzer Pfeil) sowohl die Richtung, als auch die mittlere Wellenlänge der regelmäßigen langperiodischen Wasserwellen an. Die Wellenlängen der Oberflächenwellen variieren stärker, weshalb sie keine scharfen Reflexe liefern. Es liegen zwei ausgezeichnete Richtungen für die Wellenausbreitung vor, die im Direktbild nur undeutlich zu sehen sind. Die Wellenlängen betragen ca. 150 m (langer Pfeil) und 160 m (etwas kürzerer Pfeil).
Mathematische Grundlage
Die in der diskreten Fouriertransformation auftretenden komplexen Zahlen
- <math>
e^{i\,2\pi \frac{n}N} \, </math>
sind N-te Einheitswurzeln, d. h. sie sind Lösungen der Gleichung <math>q^N=1</math>. Sei <math>q:=e^{2\pi\,i/N}</math> die „kleinste“, also primitive Wurzel im ersten Quadranten. Diese genügt folgender Identität geometrischer Summen von Einheitswurzeln:
- <math>
\displaystyle \sum_{k=0}^{N-1} q^{nk}=N\delta_{0,n} \qquad\text{mit } n=0,\ldots,N-1 </math>
denn: <math> \displaystyle \sum_{k=0}^{N-1} x^k=\frac{x^N-1}{x-1} \, </math> für <math>x\ne1</math>.
Dieses ist der „tiefe Grund“, weshalb die inverse DFT funktioniert.
Definieren wir in <math>\mathbb C^N</math> die Vektoren <math>f_n:=(e^{i2\pi\frac{nk}N})_{k=0,\dots,N-1}</math>, n=0,...,N-1, so bilden diese eine orthonormale Basis zum Skalarprodukt
- <math>
\langle x,y\rangle = \frac1N\sum_{k=0}^{N-1}x_k\bar y_k \, </math>.
Es gilt
- <math>
\langle f_n,f_m\rangle = \frac1N\sum_{k=0}^{N-1}e^{i2\pi\frac{(n-m)k}N}=\delta_{n,m}=\begin{cases}1&n=m\\0&n\ne m\end{cases} \, </math>.
Jeder Vektor <math>x=(x_0,\dots,x_{N-1})\in\mathbb C^N</math> kann in der Orthonormalbasis dargestellt werden:
- <math>
\displaystyle x=\sum_{n=0}^{N-1} \langle x,f_n \rangle \cdot f_n \, </math>
Die Koeffizienten <math>\langle x,f_n\rangle</math> heißen (auch allgemein bei beliebigem Orthonormalsystem) Fourier-Koeffizienten, die DFT ordnet also einem Vektor x bis auf eine additive Konstante den Vektor X=DFT(x) der Fourier-Koeffizienten zu.
Ist Y=DFT(y) mit einem weiteren Vektor <math>y=(y_0,\dots,y_{N-1})\in\mathbb C^N</math>, so gilt die Parsevalsche Gleichung für Fourier-Koeffizienten:
- <math>
\langle x,y\rangle=\sum_{n=0}^{N-1}\langle x,f_n\rangle\langle f_n,y\rangle=\sum_{n=0}^{N-1}X_n\bar Y_n \, </math>
Interpretationen der DFT
Diskretisierung der Fourier-Transformation
Die Fourier-Transformation erlaubt es, sich Funktionen mit reellem Argument (und diversen Einschränkungen wie: Integrabilität, Abfall im Unendlichen) aus Schwingungen zusammengesetzt zu denken:
- <math>
f(t)= \frac{1}{\sqrt{2 \pi}} \int_{-\infty}^\infty \hat f(\omega) e^{i \omega t} \, \mathrm d \omega \, </math>. Eine wichtige Erkenntnis der Fourier-Theorie ist, dass die Amplitude <math>\hat f(\omega)</math> sich ähnlich bestimmen lässt zu
- <math>
\hat f(\omega)= \frac{1}{\sqrt{2 \pi}} \int_{-\infty}^\infty f(t) e^{-i \omega t} \, \mathrm d t \, </math>
Wählen wir einen Radius R so groß, dass außerhalb des Intervalls interpretiert werden.
Diskretisierung von Fourier-Reihen
Jede periodische Funktion mit reellem Argument (und wieder Einschränkungen wie: Integrabilität, keine Polstellen) und Periode L kann als Funktionenreihe mit Sinusoiden, die Bruchteile von L als Periode haben, dargestellt werden (so genannte Fourier-Reihen):
- <math>
f(t)=\sum_{n\in\mathbb Z} c_n(f)e^{\mathrm{i}\cdot \omega_nt} \quad \text{mit} \quad
\omega_n=\frac{2\pi n}{L}
</math>
Brechen wir die Reihenentwicklung bei großen Grenzen 1-M unten und N-M oben ab, so erhalten wir mit T:=L/N
- <math>
f(t_k)=f(kT)\approx \sum_{n=1-M}^{N-M} c_n(f)e^{2\pi \mathrm{i}\cdot \frac{nk}{N}} \, </math>
, d. h. wir erhalten eine Form der inversen DFT. Damit können die Koeffizienten mittels DFT approximiert werden zu
- <math>
c_n(f)\approx\frac{1}{L}\sum_{k=0}^{N-1} f(kT)e^{-\mathrm{i}\cdot \frac{2\pi nk}{N}}\cdot \frac{L}{N}=\frac{1}{L}\sum_{k=0}^{N-1} f(t_k)e^{-\mathrm{i}\cdot \frac{2\pi n}{L}t_k}\cdot T \, </math>
Im Grenzfall eines unendlich großen N ergeben sich die bekannten Koeffizientenintegrale der Fourier-Reihen:
- <math>
c_n(f)=\frac{1}{L}\int_0^L f(t)e^{-\mathrm{i}\cdot \frac{2\pi n}{L}t}\, \mathrm d t \, </math>
Eigenschaften
Spektrum abgetasteter Funktionen
Die diskrete Fourier-Transformation besitzt ein periodisches Spektrum, es wiederholt sich mit der Abtastfrequenz und ist symmetrisch zur Abtastfrequenz. Es gilt:
- <math>
F\left(\omega+\frac{2 \pi}{T} m\right)= C\sum_{k = 0}^{N - 1} f(kT) e^{-\mathrm{i} \omega kT}e^{-\mathrm{i} \frac{2 \pi}{T}mkT}= F(\omega) \, </math>
- (Denn für natürliche Zahlen m und k gilt: e−i2π m k=1)
- <math>
F\left(\frac{2 \pi}{T}-\omega\right)= C\sum_{k = 0}^{N - 1} f(kT) e^{-\mathrm{i} \frac{2\pi}{T} kT} e^{+\mathrm{i} \omega kT}= F^{*}(\omega) \, </math>
Enthält das abgetastete Signal Frequenzanteile oberhalb der halben Abtastfrequenz, überlappen sich die Spektren des ursprünglichen Signals mit den an der Abtastfrequenz gespiegelten Signalanteilen, und es kommt zum Alias-Effekt.
Alias-Effekt
In der Regel entsteht das zeitdiskrete Signal durch Diskretisierung eines kontinuierlichen Signals. Die durch die DFT entstehenden Spektren sind nur dann mit den Spektren des zugrundeliegenden kontinuierlichen Signals identisch, wenn bei der Abtastung das Abtasttheorem nicht verletzt wurde. Für Signale im Basisband muss gelten, dass die Abtastfrequenz mehr als doppelt so groß sein muss wie die maximal auftretende Frequenz (Nyquist-Frequenz). Bei Verletzung des Abtasttheorems tritt eine Verfälschung des Originalsignals auf (Aliasing im Zeitbereich). Eine Möglichkeit des Anti-Aliasing ist die Bandbegrenzung des Signals am Eingang des Systems, um diesen Effekt zu vermeiden.
DFT einer zeitbegrenzten Funktion
Für periodische Funktionen ergibt sich (analog zur kontinuierlichen Fourier-Transformation) ein Linienspektrum mit einem Frequenzlinienabstand von 1/Periodenlänge.
Eine zeitbegrenzte diskrete Funktion g(kT) kann man aus einer periodischen diskreten Funktion f(kT) ableiten, indem man über ein Zeitfenster w(t) genau eine Periode herausschneidet.
- <math>
g(kT) = f(kT) \cdot w(t) \, </math>
Da bei der Fourier-Transformation eine Multiplikation von Funktionen im Zeitbereich einer Faltung der Fourier-Transformierten im Frequenzbereich entspricht, ergibt sich die DFT der zeitbegrenzten Funktion G(ω) durch die Faltung der DFT der periodischen Funktion F(ω) mit der Fourier-Transformierten des Zeitfensters W(ω).
- <math>
G(\omega) = F(\omega) \star W(\omega) \, </math>
Als Ergebnis erhält man ein Linienspektrum, das durch die Fourier-Transformierte des Zeitfensters verschmiert ist. In Abb.3 rechts gestrichelt dargestellt ist der Einfluss des Zeitfensters auf die DFT der periodischen Funktion (dicke Linien). Durch die Zeitbegrenzung kommen Frequenzanteile zwischen den analysierten Frequenzlinien hinzu.
Durch den Übergang von einer periodischen Funktion auf eine zeitbegrenzte Funktion muss nicht das Rechenverfahren zur Bestimmung des Spektrums verändert werden. Es werden weiterhin diskrete Frequenzlinien berechnet, als ob eine periodische Funktion dahinterstände. Als Effekt des Zeitfensters steht nun jede berechnete Frequenzlinie stellvertretend für einen ganzen Frequenzbereich, nämlich dem Frequenzbereich der durch die Fourier-Transformierte des Zeitfensters hinzugekommen ist. Dieses Verhalten bezeichnet man auch als Leck-Effekt.
Leck-Effekt (Leakage effect)
Aufgrund der zeitlichen Begrenzung des Signals kann es dazu kommen, dass das Eingangssignal abgeschnitten wird. Ein abgeschnittenes Eingangssignal kann nur dann korrekt mit der DFT transformiert werden, wenn es periodisch fortsetzbar ist. Falls das Signal nicht periodisch fortsetzbar ist, enthält es Frequenzen, die nicht zu den von der DFT berechneten diskreten Frequenzen gehören. Die DFT „nähert“ diese Frequenzen durch die benachbarten Frequenzen an, dabei wird die Energie auf diese Frequenzen verteilt. Dies wird als Leck-Effekt (engl. leakage effect) bezeichnet.
Die zeitliche Begrenzung kommt einer Multiplikation mit einer Rechteckfunktion gleich und entspricht einer Faltung mit der si-Funktion im Frequenzbereich. Dies ist eine andere Betrachtungsweise um den Leck-Effekt zu erklären. Das gilt natürlich auch im Falle anderer Fensterfunktionen (z. B. Hamming, von Hann, Gauss). Somit ist das Spektrum der Fensterfunktion (bzw. die Breite des Spektrums) ausschlaggebend für das Leck. Die Amplitudengenauigkeit ist das andere Kriterium einer Fensterfunktion.
Gleitende DFT als Bandfilterbank
Eine DFT einer zeitbegrenzten Funktion kann man auch als Bandfilterbank ansehen.
- Die Mittenfrequenzen dieser Bandfilter entsprechen den Frequenzlinien der Funktion, die entsteht, wenn man den betrachteten Zeitabschnitt periodisch wiederholt (Vielfache von 1/Fensterbreite).
- Die Breite und Flankensteilheit der Bandfilter wird durch die Fourier-Transformierten des Zeitfensters bestimmt.
(siehe Abb.3)
Durch die Wahl einer geeigneten Zeitfenster-Funktion kann man die Eigenschaften der Bandfilter verändern.
- Bei einem Rechteck-förmigen Zeitfenster mit Unstetigkeits-Stellen an den Fenster-Grenzen werden Frequenzen außerhalb des Übertragungs-Bereichs des Bandfilters mit 1/Frequenz abgeschwächt; man erzielt Flankensteilheiten von 6 dB/Oktave (siehe Abb.2)
- Ist die Fenster-Funktion stetig, werden Frequenzen außerhalb des Übertragungs-Bereichs des Bandfilters mit 1/Frequenz2 abgeschwächt; man erzielt Flankensteilheiten von 12 dB/Oktave
- Ist die 1.Ableitung der Fenster-Funktion stetig, werden Frequenzen außerhalb des Übertragungs-Bereichs des Bandfilters mit 1/Frequenz3 abgeschwächt; die Flankensteilheit beträgt 18 dB/Oktave
- usw.
Bestimmt man die Fourier-Transformierte von jeweils aufeinander folgenden Zeitabschnitten, erhält man die gleitende Fourier-Transformation. Mit der Analyse eines neuen Zeitabschnitts erhält man dann neue Abtastwerte für den Zeitverlauf der Spektrallinien (das heißt den Zeitverlauf der Signale an den Ausgängen der „Bandfilter“).
Unschärfe-Relation der gleitenden DFT
Zeit- und Frequenz-Auflösung der gleitenden DFT können nicht unabhängig voneinander gewählt werden.
- Will man Signale mit hoher Frequenzauflösung analysieren, muss man die Zeitfenster sehr groß machen, man erhält eine geringe Zeitauflösung.
- Benötigt man eine hohe Zeitauflösung, muss man die Breite der Zeitfenster sehr kurz machen, dann kann man aber nur wenige Frequenzlinien bestimmen.
- Es gilt: Frequenz-Auflösung ≈ 1/Zeitfensterbreite (wird eine Frequenzauflösung von 1 kHz gewünscht muss das Zeitfenster mindestens 1 ms lang sein).
FFT
Für Blocklängen N, die sich als Potenz von 2 darstellen lassen, kann die Berechnung mit dem Algorithmus der schnellen Fourier-Transformation (FFT) erfolgen. Allgemein gilt: Kann die Blocklänge faktorisiert werden, N=KM, so gibt es eine Zerlegung der DFT der Länge N in ein Produkt von DFTs der Längen K und M sowie zweier einfacher Matrizen.
Goertzel-Algorithmus
Für beliebige Blocklängen N und zur Bestimmung einer einzigen oder einiger weniger spektraler Komponenten kann auch der Goertzel-Algorithmus verwendet werden. Der Vorteil besteht in einer sehr effizienten Implementierung in Computersystemen, da die Berechnung pro Spektralkomponente nur eine komplexe Multiplikation und zwei komplexe Additionen umfasst.
Anwendungen
- Berechnung der Fourier-Transformierten eines Signals
- Signalanalyse
- Schwingungsanalyse und Modalanalyse
- Bearbeitung von Signalen
- Berechnung von Korrelationen
- Berechnung von Polynomprodukten in O(n*Log(n))
Bei der Berechnung von Oberflächenwellenfiltern (= OFW-Filter = SAW-Filter = surface acoustic wave - filter) wird die invers - Fouriertransformierte der Übertragungsfunktion benötigt (stellt die Impulsantwort dar). Diese Aufgabe wird von Rechnern übernommen.
Siehe auch
- Faltung
- Gabor-Transformation
- Laplace-Transformation
- Diskrete Kosinustransformation
- Wavelet-Transformation
- Fensterfunktion
- Fourierreihe
- Short-Time-Fourier-Transformation
Literatur
- Tilman Butz: Fouriertransformation für Fußgänger. 7. Auflage. Vieweg+Teubner Verlag, Wiesbaden 2011, ISBN 978-3-8348-0946-9, Kapitel 4.
- M. W. Wong: Discrete Fourier Analysis. Birkhäuser Verlag, Basel 2011, ISBN 978-3-0348-0115-7.cs:Fourierova transformace#Diskrétní Fourierova transformace
fi:Fourier'n muunnos#Diskreetti Fourier'n muunnos pt:Transformada de Fourier#Transformada discreta de Fourier