- Diskrete Fourier-Transformation
-
Die Diskrete Fourier-Transformation oder 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, welches auch als Bildbereich bezeichnet wird. Die DFT besitzt zur Signalanalyse große Bedeutung in der digitalen Signalverarbeitung, wo optimierte Varianten in Form der schnellen Fourier-Transformation (englisch Fast Fourier Transformation, FFT) und ihrer Inversen Anwendung finden.
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 (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 verwandeten Fouriertransformation für zeitdiskrete Signale (englisch Discrete-Time Fourier Transform, DTFT) zu unterscheiden, welche aus zeitdiskreten Signal ein kontinuierliches Frequenzspektrum bildet.
Inhaltsverzeichnis
Definition
Die diskrete Fourier-Transformation verarbeitet eine Folge von Zahlen a = (a0,...,aN − 1), die zum Beispiel als Messwerte aus einer Periode eines periodischen Signals entstanden sind. Die Einträge der Folge werden als Werte ak = A(zk) eines Polynoms
mit komplexen Koeffizienten dargestellt. Als Argumente werden N Punkte auf dem Einheitskreis der komplexen Zahlenebene gewählt, die gleichmäßig verteilt sind, d. h. die N–ten Einheitswurzeln
- .
Wird nun das Polynom A(z) mit einer gleichmäßig den Einheitskreis umlaufenden Funktion verknüpft, so ergibt sich eine zeitkontinuierliche periodische Funktion
die zu den Zeiten gerade die Funktionswerte ak annimmt. Die Potenzen von z(t) haben die Gestalt
und daher die Periode T/k und die Frequenz k/T bzw. die Kreisfrequenz 2kπ / T. Somit ist die Folge der Messwerte durch die Superposition eines konstanten Pegels bei k=0, einer Grundschwingung bei k=1 und Oberschwingungen bei k>1 dargestellt und interpoliert worden.
Diese oben angegebene Interpolationsfunktion ist nicht die einzige, die sich auf diese Art konstruieren lässt. Jede der Funktionen
hat diese Interpolationseigenschaft.
DFT und iDFT für einen komplexen Vektor
Die diskrete Fourier-Transformierte eines komplexen Vektors hat die Koeffizienten
- für .
Dabei nennt man die auch Fourierkoeffizienten oder Fourierkomponenten.
Die inverse DFT (iDFT) a von hat die Koeffizienten
- für .
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 () im Frequenzraum:
Dies bedeutet, dass im Frequenzraum nur N / 2 unabhängige komplexe Koeffizienten 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 N (wie bei der vollen DFT), sondern nur N / 2 komplexe Zahlen nötig. Die anderen N / 2 komplexen Zahlen können durch elementare Rechnung rekonstruiert werden (siehe Formel oben). Die hermitesche Symmetrie bezieht sich auf das mittlere Element k = N / 2 des Signals .
-
- Beweis: Wegen der Eulerschen Identität e2πi = 1 und wegen gilt im reellen Fall :
- Umgekehrt gilt entsprechend: Erfüllt die Bedingung für alle , so ist die inverse DFT ein reeller Vektor .
- Beweis: Wegen der Eulerschen Identität e2πi = 1 und wegen gilt im reellen Fall :
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 R ein kommutativer unitärer Ring, in dem die Zahl N (das ist die N-fache Summe der 1) eine Einheit ist. Des Weiteren gebe es in R eine primitive N-te Einheitswurzel w. 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 a mit den Koeffizienten
- für .
Im überaus wichtigen Spezialfall wird für die DFT üblicherweise die N-te Einheitswurzel 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:
für und
Die Rücktransformation lautet entsprechend:
für und
Verschiebung und Skalierung in Zeit und Frequenz
In den Berechnungsformeln von DFT und iDFT kann die Summation (Indexvariable j 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 f ergibt den Beobachtungsvektor mit den Koeffizienten , dessen DFT in der Fourier-Analyse betrachtet wird. Dann ist
und
- .
Beispiele
Die Fourier-Transformation transformiert eine Funktion f(t) nach g(ν)* von einer Zeitdarstellung t in den reziproken Frequenzraum ν:=1/t. 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 Holographie wird die Phasenbeziehung durch eine Überlagerung mit einem Referenzstrahl mit aufgezeichnet.
Einfache Blenden
Die Bilder rechts veranschaulichen zweidimensionale Fourier-Transformationen (2D FFT) an geometrischen Mustern, gerechnet für Quadrate der diskreten Größe von a x a Pixeln. Das Bild oben links zeigt einen Spalt der Größe e x f Pixel, daneben die Intensitätsverteilung des Beugungsbildes. Die Ortsvariable r wird überführt in reziproke komplexe Werte r*. 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 r*=a/e, die Höhe r*=a/f, mit harmonischen Frequenzen höherer Ordnung. Die berechneten Beugungsbilder geben die Intensitätsverteilungen der komplexen Größe r* 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 gerechnete 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
sind N-te Einheitswurzeln, d. h. sie sind Lösungen der Gleichung qN − 1 = 0. Sei die „kleinste“, also primitive Wurzel im ersten Quadranten. Diese genügt folgender Identität geometrischer Summen von Einheitswurzeln:
denn: für .
Dieses 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 bis auf eine additive Konstante den Vektor X=DFT(x) der Fourier-Koeffizienten zu.
Ist Y=DFT(y) mit einem weiteren Vektor , so gilt die Parsevalsche Gleichung für Fourier-Koeffizienten:
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:
- .
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 [-R,R] 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:
- .
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
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 [-NT,NT] 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.
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):
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
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.
Alias-Effekt
Siehe auch Hauptartikel: 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.
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(ω).
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)
Siehe auch Hauptartikel: 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 Rechteckfunktion gleich und bedeutet im Frequenzbereich eine Faltung mit sin(x)/x (Si-Funktion: Spektrum eines Rechtecks). Dies ist eine andere Betrachtungsweise 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 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 1kHz gewünscht muss das Zeitfenster mindestens 1ms 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
Kategorien:- Digitale Signalverarbeitung
- Diskrete Transformation
Wikimedia Foundation.