Diskrete Fouriertransformation und Inverse
!!! Diese App wird gerade entwickelt. Entwicklungsstufe 0. Hat mit dem angekündigten Thema noch nichts zu tun!!!
Inhaltsverzeichnis
Programmbeschreibung
Das Applet verdeutlicht die Eigenschaften zweidimensionaler Gaußscher Zufallsgrößen XY, gekennzeichnet durch die Standardabweichungen (Streuungen) σX und σY ihrer beiden Komponenten sowie den Korrelationskoeffizienten ρXY zwischen diesen. Die Komponenten werden als mittelwertfrei vorausgesetzt: mX=mY=0.
Das Applet zeigt
- die zweidimensionale Wahrscheinlichkeitsdichtefunktion ⇒ 2D−WDF fXY(x,y) in dreidimensionaler Darstellung sowie in Form von Höhenlinien,
- die zugehörige Randwahrscheinlichkeitsdichtefunktion ⇒ 1D−WDF fX(x) der Zufallsgröße X als blaue Kurve; ebenso fY(y) für die zweite Zufallsgröße,
- die zweidimensionale Verteilungsfunktion ⇒ 2D−VTF FXY(x,y) als 3D-Plot,
- die Verteilungsfunktion ⇒ 1D−VTF FX(x) der Zufallsgröße X; ebenso FY(y) als rote Kurve.
Das Applet verwendet das Framework Plot.ly
Theoretischer Hintergrund
Diskrete Fouriertransformation
Aus dem herkömmlichen „ersten Fourierintegral”
- X(f)=∫+∞−∞x(t)⋅e−j⋅2π⋅f⋅tdt
entsteht durch Diskretisierung (dt→TA, t→ν⋅TA, f→μ⋅fA, TA⋅fA=1/N) die abgetastete und periodifizierte Spektralfunktion
- P{X(μ⋅fA)}=TA⋅N−1∑ν=0P{x(ν⋅TA)}⋅e−j⋅2π⋅ν⋅μ/N.
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 ν=0, ... , N−1:
- d(ν)=P{x(t)}|t=ν⋅TA.
- Die N Frequenzbereichskoeffizienten seien mit der Laufvariablen μ=0, ... , N – 1:
- D(μ)=fA⋅P{X(f)}|f=μ⋅fA.
- Abkürzend wird für den von N abhängigen komplexen Drehfaktor geschrieben:
- w=e−j⋅2π/N=cos(2π/N)−j⋅sin(2π/N).
Definition:
Unter dem Begriff Diskrete Fouriertransformation (kurz DFT) versteht man die Berechnung der N Spektralkoeffizienten D(μ) aus den N Signalkoeffizienten d(ν):
- D(μ)=1N⋅N−1∑ν=0d(ν)⋅wν⋅μ.
In der Grafik erkennt man an einem Beispiel
- die N=8 Signalkoeffizienten d(ν) an der blauen Füllung,
- die N=8 Spektralkoeffizienten D(μ) an der grünen Füllung.
Inverse Diskrete Fouriertransformation
Die Inverse Diskrete Fouriertransformation (IDFT) beschreibt das „zweite Fourierintegral”
- x(t)=∫+∞−∞X(f)⋅ej⋅2π⋅f⋅tdf
in diskretisierter Form: d(ν)=P{x(t)}|t=ν⋅TA.
Definition:
Unter dem Begriff Inverse Diskrete Fouriertransformation (kurz IDFT) versteht man die Berechnung der Signalkoeffizienten d(ν) aus den Spektralkoeffizienten D(μ):
- d(ν)=N−1∑μ=0D(μ)⋅w−ν⋅μ.
Mit den Laufvariablen ν=0,...,N−1 und μ=0,...,N−1 gilt auch hier:
- d(ν)=P{x(t)}|t=ν⋅TA,
- D(μ)=fA⋅P{X(f)}|f=μ⋅fA,
- w=e−j⋅2π/N.
Ein Vergleich zwischen DFT und IDFT zeigt, dass genau der gleiche Algorithmus verwendet werden kann. 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.
Versuchsdurchführung
- Wählen Sie zunächst die Nummer (1, ...) der zu bearbeitenden Aufgabe.
- Eine Aufgabenbeschreibung wird angezeigt. Die Parameterwerte sind angepasst.
- Lösung nach Drücken von „Musterlösung”.
- Bei der Aufgabenbeschreibung verwenden wir ρ anstelle von ρXY.
- Für die „1D-WDF” gilt: fX(x)=√1/(2π⋅σ2X)⋅e−x2/(2⋅σ2X).
Die Nummer 0 entspricht einem „Reset”:
- Gleiche Einstellung wie beim Programmstart.
- Ausgabe eines „Reset–Textes” mit weiteren Erläuterungen zum Applet.
(1) Neue Einstellung: DFT von Signal (a): Gleichsignal. Interpretieren Sie das Ergebnis im Frequenzbereich. Wie lautet das Analogon der herkömmlichen FT?
- Im Zeitbereich sind alle d(ν)=1. Dann sind alle D(μ)=0 mit Ausnahme von Re[D(0)]=1.
- Dies entspricht bei der herkömmlichen (zeitkontinuierlichen) Fouriertransformation: x(t)=A∘−−−∙X(f)=A⋅δ(f=0) mit A=1.
(2) Gehen Sie vom erhaltenen D(μ)–Feld aus und verschieben Sie alle Koeffizienten um eine Stelle nach unten. Welche Zeitfunktion liefert die IDFT?
- Nun sind alle D(μ)=0 mit Ausnahme von Re[D(1)]=1. Das Zeitbereichsergebnis ist eine komplexe Exonentialfunktion.
- Der Realteil des d(ν)–Feldes zeigt einen Cosinus und der Imaginärteil eine Sinusfunktion. Bei beiden Funktionen erkennt man jeweils eine Periode.
(3) Ergänzen Sie das aktuelle D(μ)–Feld um den Koeffizienten Im[D(1)]=1. Welche Unterschiede erkennt man gegenüber (2) im Zeitbereich?
- Zum einen erkennt man nun bei Realteil und Imaginärteil eine Phasenverschiebung um zwei Stützwerte. Dies entspricht der Phase φ=45∘.
- Zudem wurden die Amplituden von Real– und Imaginärteil jeweils um den Faktor √2 vergrößert.
(4) Setzen Sie das D(μ)–Feld auf Null mit Ausnahme von Re[D(1)]=1. Durch welchen zusätzlichen D(μ)–Koeffizienten erhält man ein reelles d(ν)–Feld?
- Durch Probieren oder Nachdenken erkennt man, dass auch Re[D(15)]=1 gesetzt werden muss. Dann beschreibt das d(ν)–Feld einen Cosinus.
- Für die herkömmliche (zeitkontinuierliche) Fouriertransformation gilt: x(t)=2⋅cos(2π⋅f0⋅t)∘−−−∙X(f)=δ(f−f0)+δ(f+f0).
- Das Feld D(1) steht für die Frequenz f0 und aufgrund der Periodizät mit N=16 wird die Frequenz −f0 durch D(15)=D(−1) ausgedrückt.
(5) Mit welchem D(μ)–Feld erhält man nach der IDFT im d(ν)–Feld eine reelle Cosinusfunktion mit der Amplitude A=1?
- Die Diskrete Fouriertransformation ist ebenso wie die herkömmliche Fouriertransformation linear ⇒ D(1)=D(15)=0.5.
(6) Neue Einstellung: DFT von Signal (e): Cosinussignal und anschließende Signalverschiebungen. Was bewirken diese Verschiebungen im Frequenzbereich?
- Eine Verschiebung im Zeitbereich verändert das Cosinussignal zu einer „Harmonischen Schwingung” mit beliebiger Phase.
- Das D(μ)–Feld ist weiterhin Null bis auf D(1) und D(15). Die Beträge |D(1)| und |D(15)| bleiben ebenfalls gleich.
- Die alleinige Veränderung betrifft die Phase, also die unterschiedliche Aufteilung der Beträge auf Real– und Imaginärteil.
(7) Neue Einstellung: DFT von Signal (f): Sinussignal. Interpretieren Sie das Ergebnis im Frequenzbereich. Wie lautet das Analogon der herkömmlichen FT?
- Das Sinussignal ergibt sich aus dem Cosinussignal durch vier Zeitverschiebungen. Deshalb gelten alle Aussagen von (6) weiterhin.
- Für die herkömmliche (zeitkontinuierliche) Fouriertransformation gilt: x(t)=sin(2π⋅f0⋅t)∘−−−∙X(f)=j/2⋅[δ(f+f0)−δ(f−f0)].
- Der Koeffizient D(1) ⇒ (Frequenz: +f0) ist imaginär und hat den Imaginärteil −0.5. Entsprechend gilt Im[D(15)]=+0.5 ⇒ (Frequenz: −f0).
(8) Neue Einstellung: DFT von Signal (g): Cosinussignal (zwei Perioden). Interpretieren Sie das Ergebnis im Vergleich zur Aufgabe (5).
- Hier lautet die zeitkontinuierliche Fouriertransformation: x(t)=cos(2π⋅(2f0)⋅t)∘−−−∙X(f)=0.5⋅δ(f−2f0)+0.5⋅δ(f+2f0).
- Für die Frequenz 2f0 steht das Feld D(2) und für die Frequenz −2f0 aufgrund der Periodizät das Feld D(14)=D(−2) : D(2)=D(14)=0.5.
(9) Untersuchen Sie nun den Fall DFT von Sinussignal (zwei Perioden). Welche Einstellung müssen Sie vornehmen? Interpretieren Sie das Ergebnis.
- Zum gewünschten Signal kommt man von DFT von Signal (g): Cosinussignal (zwei Perioden) mit zwei Verschiebungen. Bei (7): Vier Verschiebungen.
- Das DFT–Ergebnis lautet dementsprechend: Im[D(2)]=−0.5 und Im[D(14)]=+0.5.
(10) Neue Einstellung: DFT von (h) Alternierende Zeitkoeffizienten. Interpretieren Sie das DFT–Ergebnis.
- Hier lautet die zeitkontinuierliche Fouriertransformation: x(t)=cos(2π⋅(8f0)⋅t)∘−−−∙X(f)=0.5⋅δ(f−8f0)+0.5⋅δ(f+8f0).
- 8f0 ist die höchste mit N=16 in der DFT darstellbare Frequenz. Pro Periodendauer gibt es nur zwei Abtastwerte, nämlich +1 und −1.
- Unterschied zur Teilaufgabe (5): Aus D(1)=0.5 wird nun D(8)=0.5. Ebenso verschiebt sich D(15)=0.5 auf D(8)=0.5. Endergebnis: D(8)=1.
(11) Welche Unterschiede erhält man mit den beiden Einstellungen IDFT von Spektrum (C) sowie DFT von Signal (c) ?
- Im ersten Fall ⇒ Re[D(μ=1)]=1 ergibt sich im Zeitbereich die komplexe Exponentialfunktion ⇒ x(t)=e+j⋅2π⋅f0⋅t mit positivem Vorzeichen.
- Im zweiten Fall ⇒ Re[d(ν=1)]=1 ergibt sich im Frequenzbereich die komplexe Exponentialfunktion ⇒ X(f)=e−j⋅2π⋅f/f0 mit negativem Vorzeichen.
- Für Re[d(ν=15)]=1 würde sich im Frequenzbereich die komplexe Exponentialfunktion ⇒ X(f)=e+j⋅2π⋅f/f0 mit positivem Vorzeichen ergeben.
(12) Neue Einstellung: DFT von Signal (k) Dreieckimpuls. Interpretieren Sie die d(ν)–Belegung und das DFT–Ergebnis.
- Wählen Sie die Betragsdarstellung. x(t) ist symmetrisch um t=0 und erstreckt sich von −T/2 bis +T/2. Es gilt TA=T/16. d(ν)–Belegung:
- d(0)=x(0)=1, d(1)=x(TA)=0.875, ... , d(8)=x(8TA)=0, d(9)=x(−7TA)=0.125, ..., d(15)=x(−TA)=0.875.
- Im Frequenzbereich: Erst Gleichanteil ⇒ D(0), dann positive Frequenzen ⇒ D(1), ... ,D(8), dann negative Frequenzen (gespiegelt) ⇒ D(9), ... ,D(15).
Zur Handhabung des Applets
(A) Parametereingabe per Slider: σX, σY und ρ
(B) Auswahl: Darstellung von WDF oder VTF
(C) Reset: Einstellung wie beim Programmstart
(D) Höhenlinien darstellen anstelle von „1D-WDF”
(E) Darstellungsbereich für „2D-WDF”
(F) Manipulation der 3D-Grafik (Zoom, Drehen, ...)
(G) Darstellungsbereich für „1D-WDF” bzw. „Höhenlinien”
(H) Manipulation der 2D-Grafik („1D-WDF”)
( I ) Bereich für die Versuchsdurchführung: Aufgabenauswahl
(J) Bereich für die Versuchsdurchführung: Aufgabenstellung
(K) Bereich für die Versuchsdurchführung: Musterlösung einblenden
( L) Bereich für die Versuchsdurchführung: Musterlösung
Werte–Ausgabe über Maussteuerung (sowohl bei 2D als auch bei 3D)
Über die Autoren
Dieses interaktive Berechnungstool wurde am Lehrstuhl für Nachrichtentechnik der Technischen Universität München konzipiert und realisiert.
- Die erste Version wurde 2003 von Ji Li im Rahmen ihrer Diplomarbeit mit „FlashMX–Actionscript” erstellt (Betreuer: Günter Söder).
- 2019 wurde das Programm von Carolin Mirschina im Rahmen einer Werkstudententätigkeit auf „HTML5” umgesetzt und neu gestaltet (Betreuer: Tasnád Kernetzky).
Die Umsetzung dieses Applets auf HTML 5 wurde durch Studienzuschüsse der Fakultät EI der TU München finanziell unterstützt. Wir bedanken uns.