Die Diskrete Fourier-Transformation oder DFT ist die Fourier-Transformation eines zeitdiskreten endlichen oder periodischen Signals und somit ein Spezialfall der Z-Transformation mit Werten auf dem Einheitskreis für . Die DFT ist das wichtigste Werkzeug in der Praxis der digitalen Signalverarbeitung, da es schnelle Algorithmen zum Durchführen der Transformation gibt. Am bekanntesten ist die FFT (Fast Fourier Transformation), die schnelle Fourier-Transformation.
Die DFT wird in der Signalverarbeitung für viele Aufgaben verwendet, so z. B.
Mit der inversen DFT (iDFT) kann aus den Frequenzanteilen wiederum das Ausgangssignal rekonstruiert werden. Durch Kopplung von DFT und iDFT kann ein Signal im Frequenzbereich manipuliert werden (Equalizer, Filter).
Definition
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 ein kommutativer unitärer Ring, in dem die Zahl (das ist die -fache Summe der ) eine Einheit ist. Des weiteren gebe es in eine primitive -te Einheitswurzel . Zu einem „Vektor“ ist dann die diskrete Fouriertransformierte durch
- für
erklärt.
Unter den getroffenen Voraussetzungen existiert damit zu auch die diskrete inverse Fouriertransformierte mit den Koeffizienten
- für .
Spezialfall: DFT und iDFT über den komplexen Zahlen
Im überaus wichtigen Spezialfall
wird für die DFT üblicherweise die
-te Einheitswurzel
benutzt.
Die DFT von hat dann die Koeffizienten
- für .
Die inverse DFT (iDFT) von hat die Koeffizienten
- für .
Sonderfall: DFT für einen reellen Vektor
Wegen der
Eulerschen Identität und wegen
gilt im
reellen Fall
:
\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}
,
d.h.
ist zwar nicht reell, aber unter den
Real- und Imaginärteilen der komplexen Koeffizienten von
gibt es nur
unabhängige Werte.
Umgekehrt gilt entsprechend: Erfüllt die Bedingung für alle , so ist die inverse DFT ein reeller Vektor .
Verschiebung und Skalierung in Zeit und Frequenz
In den Berechnungsformeln von DFT und iDFT kann die Summation (Indexvariable oben) statt über ebenso auch über einen verschobenen Bereich laufen, wenn der Vektor periodisch auf alle ganzzahligen Indizes fortgesetzt wird, denn es gilt . 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,
- , 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,
- , n=1-K,..., N-K,
K in der Nähe von
N/2.
Eine zu den gewählten Zeitpunkten "gemessene" Funktion ergibt den Beobachtungsvektor mit den Koeffizienten , dessen DFT in der Fourier-Analyse betrachtet wird. Dann ist
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)
und
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)
.
Beispiele
Die
Fourier-Transformation transformiert eine Funktion von einer Zeitdarstellung in einen "reziproken"
Frequenzraum. Dies gilt auch für Ortsfunktionen, die auf zwei 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. Nur bei der
Holographie wird sie durch einen Trick mit aufgezeichnet.
Einfache Blenden
twod_fourier_1.jpg
Wir zeigen Beispiele für eine zweidimensionale Fourier-Transformation an geometrischen Mustern, gerechnet für Quadrate der diskreten Größe von 256x256 Pixeln. Das erste Bild oben links zeigt einen Spalt der Größe 8x32 Pixel, daneben die Intensitätsverteilung des Beugungsbildes. Die Ortsvariable r wird überführt in reziproke (und komplexe) Werte r*. Bei den gewählten Größen wird 1 Pixel auf den reziproken Wert von 512
reziproken Pixeln überführt. Die Breite des Spalts von 8 Pixeln erscheint im Reziprok-Raum als Wert der Größe
r*=512/8="64," die Höhe
r*=512/32="16," mit harmonischen Frequenzen höherer Ordnung.
Die Intensitätsverteilung einer Schnittlinie durch den Bildmittelpunkt reduziert die zweidimensionale Fouriertransformation auf eine eindimensionale. Das Einschub-Bild im unteren Drittel der oberen Bildreihe misst die Intensität entlang einer horizontalen Linie. Links sehen wir die Rechteckfunktion, den Wechsel von Schwarz auf Weiß auf Schwarz. Im Transformationsbild erkennen wir periodische Peaks. Sie entsprechen den Ortsfrequenzen höherer Ordnung eines Rechtecksignals, die unter dem Stichwort
Fourieranalyse genauer beschrieben werden (siehe auch das Bild einer kontinuierlichen Rechteck-
Fouriertransformation unter
Beugungsscheibchen).
Im zweiten Bild 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, wirkt sich nur in der Phasenbeziehung aus, die in der gewählten Darstellung als Intensitätsverteilung nicht zu erkennen ist.
Das untere Bild zeigt rechts das gerechnete Beugungsmuster eines Dreiecks. Auf den ersten Blick glaubt man ebenfalls eine 6-zählige Symmetrie zu erkennen, wenn man nicht die fehlende Modulation der Beugungslinien beachten würde.
twod_fourier_2.jpg
Der nächste Bildblock vergleicht die Beugung zweier Kreisöffnungen. Ein großer Kreis erzeugt ein kleines Beugungsmuster, und umgekehrt.
Die Lichtbeugung an der Linsenöffnung begrenzt die Auflösung eines Fernrohrs. Je größer der Durchmesser ist, desto kleiner ist das Beugungsbild eines Sterns, desto besser können nahe beieinander liegende Sterne von einander unterschieden werden.
Das untere Bild ist ein Beispiel für eine Beugung an einer Kreis-Struktur ohne scharfe Begrenzung. Die Beugungen höherer Ordnung, die Obertöne, sind deutlich abgeschwächt.
Bild mit periodischen Strukturen
Sarwaterp.jpg-Bild des indischen Ozeans]]
Sarwaterfftp.jpg
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. 500m. 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. 150m (langer Pfeil) und 160m (etwas kürzerer Pfeil).
Mathematische Grundlage
Die in der diskreten Fouriertransformation auftretenden komplexen Zahlen
sind
N-te
Einheitswurzeln, d.h. sie sind Lösungen der Gleichung
.
Sei die „kleinste“, also primitive Wurzel im ersten Quadranten.
Diese genügt folgender Identität geometrischer Summen von Einheitswurzeln:
- , n=0,...,N-1,
denn
- für .
Dies ist der „tiefe Grund“, weshalb die inverse DFT funktioniert.
Definieren wir in die Vektoren , n=0,...,N-1, so bilden diese eine orthonormale Basis zum Skalarprodukt
- .
Es gilt
- .
Jeder Vektor kann in der Orthonormalbasis dargestellt werden:
-
Die Koeffizienten
heißen (auch allgemein bei beliebigem Orthonormalsystem)
Fourier-Koeffizienten, die DFT ordnet also einem
Vektor
x den Vektor
X=DFT(x) der Fourier-Koeffizienten zu (bis auf konstante Faktoren).
Ist Y=DFT(y) mit einem weiteren Vektor , so gilt die Parsevalsche Gleichung für Fourier-Koeffizienten:
-
Interpretationen der DFT
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:
- .
Eine wichtige Erkenntnis der Fourier-Theorie ist, dass die Amplitude
sich ähnlich bestimmen lässt zu
-
Wählen wir einen Radius R so groß, dass außerhalb des Intervalls * nur noch ein unwesentlicher Teil von f liegt, ist f außerdem stetig und eine Zahl N so groß gewählt, dass T:=R/N klein genug ist, um f sinnvoll singulär, d.h. durch Funktionswerte f(kT), abzutasten, so kann das Fourier-Integral in der Transformationsformel sinnvoll durch eine Summe ersetzt werden:
\hat f(\omega)\approx F(\omega)=\frac{1}{\sqrt{2 \pi}} \sum_{k=-N}^N e^{-i \omega kT}f(kT) \,T
.
Das entspricht, bis auf einen konstanten Faktor
, der Berechnungsformel der DFT. Der Vektor
x=( f(-NT), ... ,f(NT) ) hat
2N+1 Elemente. Wir wissen bereits, dass es ausreicht, die Frequenzkoeffizienten für die
2N+1 Frequenzen
, n=-N,...,-1,0,1,...,N, zu bestimmen, um die Funktionswerte im Vektor
x zu rekonstruieren. Mit der notwendigen Anpassung der Konstanten in der iDFT erhalten wir
f(nT)=\frac{1}{\sqrt{2 \pi}}\sum_{k=-N}^N e^{i \omega_k nT}F(\omega_k)\,\frac{2\pi}{(2N+1)T}
Der Diskretisierungsabstand im Frequenzbereich ist proportional zu
1/R, also nach Voraussetzung ebenfalls klein, so dass diese Berechnung der Diskretisierung der inversen Fourier-Transformation entspricht.
Beim Übergang von der Fourier-Transformation zur DFT sind also folgende Veränderungen zu bemerken:
- Das Signal liegt zu diskreten, äquidistanten Zeitpunkten vor (T: Abstand zweier aufeinanderfolgender Zeitpunkte), 0 ist einer dieser Zeitpunkte.
- Das Signal hat eine endliche Länge (2N+1: Anzahl der Werte), welche als Werte innerhalb eines großen Intervalls * interpretiert werden.
- Die Integrale bei der Berechnung der Fourier-Koeffizienten werden bei der DFT zu Summen.
- Das Spektrum wird nur für eine endliche Anzahl von (Kreis-)Frequenzen berechnet (ω = (2 π)·n/((2N+1)·T); n = -N,...,-1,0, 1, 2,...,N) und ist periodisch in der Frequenz, wobei die Periode (2 π)/T nach Voraussetzung (T klein) sehr groß ist.
Jede periodische Funktion mit reellem Argument (und wieder Einschränkungen wie: Integrabilität, keine Polstellen) und Periode
L kann als Funktionenreihe mit Sinoiden, die Bruchteile von
L als Periode haben, dargestellt werden:
- , .
Brechen wir die Reihenentwicklung bei großen Grenzen 1-M unten und N-M oben ab, so erhalten wir mit T:=L/N
- ,
d. h. wir erhalten eine Form der inversen DFT. Damit können die Koeffizienten mittels DFT approximiert werden zu
-
Im Grenzfall eines unendlich großen N ergeben sich die bekannten Koeffizientenintegrale der Fourier-Reihen:
-
Eigenschaften
Spektrum abgetasteter Funktionen
Dft_spektrum.jpg
Die diskrete Fourier-Transformation besitzt ein periodisches Spektrum, es wiederholt sich mit der Abtastfrequenz und ist symmetrisch zur Abtastfrequenz.
Es gilt:
-
- (Denn für natürliche Zahlen m und k gilt: e-i2π m k=1)
-
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.
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 (sampling-theorem) nicht verletzt wurde. Für Signale im
Basisband muss gelten, dass die Abtastfrequenz mehr als doppelt so groß (
Nyquist-Frequenz) sein muss, wie die maximal auftretende 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.
Rechteckfenster Spektrum.jpg
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.
-
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(ω).
-
Dft spektrum fenster.jpg
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.
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 Rechtecksfunktion gleich und bedeutet im Frequenzbereich eine Faltung mit sin(x)/x (Si-Funktion: Spektrum eines Rechtecks). Dies ist eine andere Betrachtungweise um den Leck-Effekt zu erklären. Das gilt natürlich auch im Falle anderer Fensterfunktionen. (Hamming, von Hann, Gauss etc.). 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 von 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.
Das heißt:
-
oder anders ausgedrückt:
-
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
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
Weblinks
Digitale Signalverarbeitung
تحويل فوريي المنقطع | Discrete Fourier transform | Transformée de Fourier discrète | Trasformata di Fourier discreta | 離散フーリエ変換 | Discrete fouriertransformatie | Dyskretna transformata Fouriera | Дискретна Фуријеова трансформација | 离散傅里叶变换