Loading [MathJax]/jax/output/HTML-CSS/fonts/TeX/fontdata.js

Difference between revisions of "Applets:Zur Verdeutlichung der grafischen Faltung"

From LNTwww
Line 64: Line 64:
  
  
==Faltung im Frequenzbereich==
+
===Faltung im Frequenzbereich===
 
<br>
 
<br>
 
Die Dualität zwischen Zeit– und Frequenzbereich erlaubt auch Aussagen hinsichtlich des Spektrums des Produktsignals:
 
Die Dualität zwischen Zeit– und Frequenzbereich erlaubt auch Aussagen hinsichtlich des Spektrums des Produktsignals:

Revision as of 13:48, 3 July 2019

Open Applet in a new tab

Programmbeschreibung


Dieses Applet verdeutlicht die Quellencodierverfahren nach Huffman bzw. Shannon–Fano. Diese Verfahren komprimieren redundante wertdiskrete Quellen ohne Gedächtnis mit Stufenzahl  M, dem Symbolvorrat  {qμ}={A,B, ...} und den Symbolwahrscheinlichkeiten  pA,pB, ... .

Ziel der Quellencodierung und insbesondere der Klasse der Entropiecodierung – zu der „Huffman” und „Shannon–Fano” gehören – ist, dass die mittlere Codewortlänge  LM  des binären Codes – darstellbar durch unterschiedlich lange Folgen von Nullen und Einsen – möglichst nahe an die Quellenentropie

H=Mμ=1Pr(qμ)log21Pr(qμ)=Mμ=1Pr(qμ)log2Pr(qμ)[Einheit:bit/Quellensymbol]

heranreicht. Allgemein gilt  LMH, wobei das Gleichheitszeichen nicht für alle Symbolwahrscheinlichkeiten erreicht werden kann.

Dargestellt werden jeweils

  • das Baumdiagramm zur Herleitung des jeweiligen Binärcodes, und
  • eine simulierte Quellensymbolfolge der Länge  N=10000  (Entropie  HH)  und die dazugehörige Codesymbolfolge der Länge  LMN.


Auf die Einheiten „bit/Quellensymbol” für die Entropie und die mittlere Codewortlänge wird im Programm verzichtet.


Theoretischer Hintergrund


Faltung im Zeitbereich


Der  Faltungssatz  ist mit das wichtigste Gesetz der Fouriertransformation. Wir betrachten zunächst den Faltungssatz im Zeitbereich und setzen voraus, dass die Spektren zweier Zeitfunktionen x1(t) und x2(t) bekannt sind:

X1(f)x1(t),X2(f)x2(t).

Dann gilt für die Zeitfunktion des Produktes X1(f)X2(f):

X1(f)X2(f)+x1(τ)x2(tτ)dτ.

Hierbei ist τ eine formale Integrationsvariable mit der Dimension einer Zeit.

Definition:  Die obige Verknüpfung der Zeitfunktion x1(t) und x2(t) bezeichnet man als Faltung und stellt diesen Funktionalzusammenhang mit einem Stern dar:

x1(t)x2(t)=+x1(τ)x2(tτ)dτ=x2(t)x1(t).

Damit lässt sich obige Fourierkorrespondenz auch wie folgt schreiben:

X1(f)X2(f)x1(t)x2(t).

Beweis


Anmerkung:   Die Faltung ist kommutativ   ⇒   Die Reihenfolge der Operanden ist vertauschbar:   x1(t)x2(t)=x2(t)x1(t).


Zur Berechnung von Signal und Spektrum am LZI–Ausgang

Beispiel 1:  Ein jedes lineare zeitinvariante (LZI-) System kann sowohl durch den Frequenzgang H(f) als auch durch die Impulsantwort h(t) beschrieben werden, wobei der Zusammenhang zwischen diesen beiden Systemgrößen ebenfalls durch die Fouriertransformation gegeben ist.

Legt man an den Eingang ein Signal x(t) mit dem Spektrum X(f) an, so gilt für das Spektrum des Ausgangssignals:

Y(f)=X(f)H(f).

Mit dem Faltungssatz ist es nun möglich, das Ausgangssignal auch direkt im Zeitbereich zu berechnen:

y(t)=x(t)h(t)=+x(τ)h(tτ)dτ=+h(τ)x(tτ)dτ=h(t)x(t).

Aus dieser Gleichung geht nochmals hervor, dass die Faltungsoperation kommutativ  ist.


Faltung im Frequenzbereich


Die Dualität zwischen Zeit– und Frequenzbereich erlaubt auch Aussagen hinsichtlich des Spektrums des Produktsignals:

x1(t)x2(t)X1(f)X2(f)=+X1(ν)X2(fν)dν.

Dieses Resultat lässt sich ähnlich wie der Faltungssatz im Zeitbereich beweisen. Die Integrationsvariable ν hat aber nun die Dimension einer Frequenz.

Faltung im Frequenzbereich

Beispiel 2:  Die Zweiseitenband-Amplitudenmodulation (ZSB-AM) ohne Träger wird durch das skizzierte Modell beschrieben.

  • Bei der Zeitbereichsdarstellung (blau) ergibt sich das modulierte Signal s(t) als das Produkt aus dem Nachrichtensignal q(t) und dem (normierten) Trägersignal z(t).
  • Nach dem Faltungssatz folgt daraus für den Frequenzbereich (rot), dass das Ausgangsspektrum S(f) gleich dem Faltungsprodukt aus Q(f) und Z(f) ist.


Faltung einer Funktion mit einer Diracfunktion


Sehr einfach wird die Faltungsoperation, wenn einer der beiden Operanden eine Diracfunktion ist. Dies gilt für die Faltung im Zeit– und im Frequenzbereich gleichermaßen.

Wir betrachten beispielhaft die Faltung einer Funktion x1(t) mit der Funktion

x2(t)=αδ(tT)X2(f)=αej2πfT.

Für die Spektralfunktion des Signals y(t)=x1(t)x2(t) gilt dann:

Y(f)=X1(f)X2(f)=X1(f)αej2πfT.

Die komplexe Exponentialfunktion führt zur Verschiebung um T  ⇒  Verschiebungssatz, der Faktor α zu einer Dämpfung (α<1) bzw. Verstärkung (α>1 ). Daraus folgt:

x1(t)x2(t)=αx1(tT).

In Worten:   Die Faltung einer beliebigen Funktion mit einer Diracfunktion bei t=T ergibt die um T nach rechts verschobene Funktion, wobei noch die Gewichtung der Diracfunktion durch den Faktor α zu berücksichtigen ist.


Beispiel 3:  Ein Rechtecksignal x(t) wird durch ein LZI-System um eine Laufzeit τ=3 ms verzögert und um den Faktor α=0.5 gedämpft.

Faltung eines Rechtecks mit einer Diracfunktion

Verschiebung und Dämpfung erkennt man sowohl am Ausgangssignal y(t) als auch an der Impulsantwort h(t).


Grafische Faltung


Für die Beschreibungen auf dieser Seite wird von folgender Faltungsoperation ausgegangen:

Bildschirmabzug des Programms „Grafische Faltung”
y(t)=x1(t)x2(t)=+x1(τ)x2(tτ)dτ.

Die Lösung des Faltungsintegrals soll auf grafischem Wege erfolgen. Es wird vorausgesetzt, dass x1(t) und x2(t) zeitkontinuierliche Signale sind.


Dann sind die folgenden Schritte erforderlich:

  1.   Die Zeitvariablen der beiden Funktionen ändern:  
        x1(t)x1(τ),   x2(t)x2(τ).
  2.   Zweite Funktion spiegeln:   x2(τ)x2(τ).
  3.   Gespiegelte Funktion um t verschieben:   x2(τ)x2(tτ).
  4.   Multiplikation der beiden Funktionen x1(τ) und x2(tτ).
  5.   Integration über das Produkt bezüglich τ in den Grenzen von bis +.


Da die Faltung kommutativ ist, kann anstelle von x2(τ) auch x1(τ) gespiegelt werden.




Die Thematik wird auch durch das Interaktionsmodul Zur Verdeutlichung der grafischen Faltung veranschaulicht. Nebenstehende Grafik zeigt einen Bildschirmabzug.


Beispiel einer Faltungsoperation:
Sprungfunktion gefaltet mit Exponentialfunktion

Beispiel 4:  Die Vorgehensweise bei der grafischen Faltung wird nun anhand eines ausführlichen Beispiels erklärt:

  • Am Eingang eines Filters liege eine Sprungfunktion x(t)=γ(t) an.
  • Die Impulsantwort des RC-Tiefpasses sei h(t)=1/Tet/T.


Die Grafik zeigt rot das Eingangssignal x(τ), blau die Impulsantwort h(τ) und grau das Ausgangssignal y(τ). Die Zeitachse ist bereits in τ umbenannt.

Das Ausgangssignal kann zum Beispiel nach folgender Gleichung berechnet werden:

y(t)=h(t)x(t)=+h(τ)x(tτ)dτ.

Noch einige Anmerkungen zur grafischen Faltung:

  • Der Ausgangswert bei t=0 ergibt sich, indem man das Eingangssignal x(τ) spiegelt, dieses gespiegelte Signal x(τ) mit der Impulsantwort h(τ) multipliziert und darüber integriert.
  • Da es hier kein Zeitintervall gibt, bei dem sowohl die blaue Kurve h(τ) und gleichzeitig auch die rot gestrichelte Spiegelung x(τ) ungleich Null ist, folgt daraus y(t=0)=0.
  • Für jeden anderen Zeitpunkt t muss das Eingangssignal verschoben werden   ⇒   x(tτ), beispielsweise entsprechend der grün gestrichelten Kurve für t=T.
  • Da in diesem Beispiel auch x(tτ) nur die Werte 0 oder 1 annehmen kann, wird die Integration (allgemein von τ1 bis τ2) sehr einfach und man erhält hier mit τ1=0 und τ2=t :
y(t)=t0h(τ)dτ=1Tt0eτ/Tdτ=1et/T.

Die Skizze gilt für t=T und führt zum Ausgangswert y(t=T) = 1 – 1/\text{e} \approx 0.632.




Versuchsdurchführung

Exercises Entropie.png
  • Wählen Sie zunächst die Aufgabennummer. Eine Aufgabenbeschreibung wird angezeigt.
  • Alle Parameter sind angepasst. Alle Grafiken und Ergebniswerte sind aktualisiert.
  • Musterlösung nach Drücken des entsprechenden Buttons.
  • Nummer „0”:   Gleiche Einstellung wie beim Programmstart.


(1)   Wählen Sie die Parameter gemäß Voreinstellung  \text{(Gaußimpuls: }A_x = 1, \ \Delta t_x= 1, \ \tau_x = 1; \text{ Impulsantwort gemäß Tiefpass 2. Ordnung: }\Delta t_h= 1).
         Interpretieren Sie die dargestellten Grafiken. Wie groß ist der maximale Ausgangswert  y_{\rm max}? Zu welcher Zeit  t_{\rm max}  tritt dieser auf?

  •  Nach Umbenennung:  Eingangssignal  x(\tau)   ⇒   rote Kurve,  Impulsantwort  h(\tau)   ⇒   blaue Kurve, nach Spiegelung  h(-\tau)   ⇒   grüne Kurve.
  •  Verschiebt man die grüne Kurve um  t  nach rechts, so erhält man h(t-\tau). y(t)  ergibt sich durch Multiplikation und Integration bzgl. \tau:
y (t) = \int_{ - \infty }^{ +\infty } {x ( \tau ) } \cdot h ( {t - \tau } ) \hspace{0.1cm}{\rm d}\tau = \int_{ - \infty }^{ t } {x ( \tau ) } \cdot h ( {t - \tau } ) \hspace{0.1cm}{\rm d}\tau .
  •  Der Ausgangsimpuls  y_(t)  ist im vorliegenden Fall unsymmetrisch; der maximale Ausgangswert  y_{\rm max}\approx 0.67  tritt bei  t_{\rm max}\approx 1.5  auf.

(2)   Was ändert sich, wenn man die äquivalente Impulsdauer von  h(t)  auf  \Delta t_h= 1.5  erhöht?

  •  y_{\rm max}\approx 0.53  tritt nun bei  t_{\rm max}\approx 1.75  auf. Durch die ungünstigere Impulsantwort wird der Eingangsimpuls stärker verformt.
  •  Bei einem digitalen Nachrichtenübertragungssystem hätte dies stärkere Impulsinterenzen (Intersymbol Interference ) zur Folge.

(3)   Wählen Sie nun den symetrischen  \text{Rechteckimpuls: }A_x = 1, \ \Delta t_x= 1, \ \tau_x = 0  und die  \text{Impulsantwort gemäß Spalt–Tiefpass: }\Delta t_h= 1.
         Interpretieren Sie das Faltungsergebnis. Wie groß ist der maximale Ausgangswert  y_{\rm max}? Zu welchen Zeiten ist  y(t)>0? Beschreibt  h(t)  ein kausales System?

  •  Die Faltung zweier Rechtecke mit jeweiliger Dauer  1  ergibt ein Dreieck mit absoluter Dauer  2  ⇒   äquivalente Impulsdauer  \Delta t_y= 1.
  •  y(t)  ist im Bereich von  -0.5  bis  +1.5  von Null verschieden. Impulsmaximum  y_{\rm max} = 1  bei  t_{\rm max} = +0.5.
  •  h(t)  beschreibt ein kausales System, da  h(t) \equiv 0  für  t < 0  ⇒   die „Wirkung”  y(t)  kommt nicht vor der „Ursache”  x(t).

(4)   Was ändert sich, wenn man die äquivalente Impulsdauer von  h(t)  auf  \Delta t_h= 2  erhöht?

  •  Die Faltung zweier unterschiedlich breiten Rechtecke ergibt ein Trapez, hier zwischen  -0.5  und  +2.5 ⇒   äquivalente Impulsdauer  \Delta t_y= 2.
  •  Das Maximum  y_{\rm max} = 0.5  tritt im Bereich  0.5 \le t \le 1.5 auf. Bezüglich der Kausalität ändert sich nichts.

(5)   Wählen Sie nun den (unsymetrischen)  \text{Rechteckimpuls: }A_x = 1, \ \Delta t_x= 1, \ \tau_x = 0.5  und die  \text{ Impulsantwort eines Tiefpasses 1. Ordnung: }\Delta t_h= 1.
         Interpretieren Sie die Ergebnisse. Wie groß ist  y_{\rm max}? Zu welchen Zeiten ist  y(t)>0 ? Beschreibt  h(t)  ein kausales System?

  •  h(t)  hat für  t > 0  einen exponentiell abfallenden Verlauf. Für  t > 0  gilt stets  y(t) > 0, aber die Signalwerte können sehr klein werden.
  •  y_{\rm max} = 0.63  tritt bei  t_{\rm max} = +1 auf. Für   t < t_{\rm max} ist der Verlauf exponentiell ansteigend, für   t > t_{\rm max}  exponentiell abfallend.
  •  Der Tiefpass 1. Ordnung kann mit einem Widerstand und einer Kapazität realisiert werden. Jedes realisierbare System ist per se kausal.

(6)   Wählen Sie wie in  (3)  die rechteckförmige Impulsantwort  \text{(Spalt–Tiefpass; }\Delta t_h= 1). Mit welchem  x(t)  ergibt sich das gleiche  y(t)  wie bei  (5)?

  •  Das Signal  y(t)  in  (5)  ergab sich als Faltung zwischen dem rechteckigen Eingang  x(t)  und der Exponentialfunktion  h(t).
  •  Da die Faltungsoperation kommutativ ist, ergibt sich das gleiche Ergebnis mit der Exponentialfunktion  x(t) und der Rechteckfunktion  h(t).
  •  Die richtige Einstellung für das Eingangssignal  x(t)  ist somit  \text{Exponentialimpuls: }A_x = 1, \ \Delta t_x= 1, \ \tau_x = 0 .

(7)   Für den Rest dieser Versuchsdurchführung betrachten wir stets den Gauß–Tiefpass. Die äquivalente Dauer der Impulsantwort  h(t)  sei zunächst  \Delta t_h= 0.8.
         Analsyieren und interpretieren Sie dieses „System” im Hinblick auf Kausalität und die entstehenden Verzerrungen für ein Rechtecksignal.

  •  Der Tiefpass ist nicht kausal (realisierbar): für  t < 0  gilt nicht  h(t) \equiv 0  gilt. Geeignetes Modell, wenn man die unendliche Laufzeit außer Acht lässt.
  •  Je größer  \Delta t_h  ist, desto breiter wird der Ausgangsimpuls und um so stärker die Degradation eines Digitalsystems durch Impulsinterferenzen.
  •  Der Tiefpass–Frequenzgang  H(f)  ist die Fouriertransformierte von  h(t). Je größer  \Delta t_h  ist, desto kleiner ist  \Delta f_h = 1/\Delta t_h.

(8)   Wählen Sie nun den  \text{Gaußimpuls: }A_x = 1, \ \Delta t_x= 1.5, \ \tau_x = 0  und den  \text{Gauß–Tiefpass: }\Delta t_h= 2. Welche Form hat der Ausgangsimpuls  y(t)?
         Wie groß ist die äquivalente Dauer  \Delta t_y  des Ausgangsimpulses und der maximale Ausgangswert  y_{\rm max}? Zu welcher Zeit  t_{\rm max}  tritt dieser auf?

  •  y(t)  ist ebenfalls (exakt) gaußförmig. Merksatz:  Gauß gefaltet mit Gauß ergibt immer Gauß.
  •  Äquivalente Dauer:  \Delta t_y =\sqrt{\Delta t_x^2+ \Delta t_h^2} = 2.5. Impulsmaximum (bei t=0):  y_{\rm max} = A_x \cdot \Delta t_x/\Delta t_y = 1 \cdot 1.5/2.5 = 0.6.

(9)   Wählen Sie nun den  \text{Dreieckimpuls: }A_x = 1, \ \Delta t_x= 1.5, \ \tau_x = 0  und den  \text{Gauß–Tiefpass: }\Delta t_h= 2. Welche Form hat der Ausgangsimpuls  y(t)?
         Wie groß ist die äquivalente Dauer  \Delta t_y  des Ausgangsimpulses und der maximale Ausgangswert  y_{\rm max}? Zu welcher Zeit  t_{\rm max}  tritt dieser auf?

  •  y(t)  ist gaußähnlich, aber nicht exakt gaußförmig. Merksatz:  Gauß gefaltet mit Nicht–Gauß ergibt niemals exakt Gauß.
  •  Die abgefragten Kenngrößen des Ausgangsimpules  y(t)  unterscheiden sich nur geringfügig gegenüber  (8):  \Delta t_y \approx 2.55,  y_{\rm max} \approx 0.59.



Zur Handhabung des Applets

Anleitung Entropie.png


    (A)     Auswahl:   Gedächtnislose Quelle / Markovquelle

    (B)     Parametereingabe per Slider (Beispiel Markovquelle)

    (C)     Markovdiagramm (falls Markovquelle)

    (D)     Eingabe der Folgenlänge  N  zur Berechnung der  \hat H_k

    (E)     Ausgabe einer simulierten Symbolfolge

    (F)     Ausgabe des Entropiewertes  H

    (G)     Ausgabe der Entropienäherungen  H_k

    (H)     Ausgabe der numerisch ermittelten Entropienäherungen  \hat H_k

    (I)     Grafikfeld zur Darstellung der Funktion  H(p_{\rm A})  bzw.  H(p_{\rm A}|p_{\rm B})

    (J)     Bereich für die Versuchsdurchführung:   Aufgabenauswahl

    (K)     Bereich für die Versuchsdurchführung:   Aufgabenstellung

    (L)     Bereich für die Versuchsdurchführung:   Musterlösung

Über die Autoren

Dieses interaktive Applet wurde am Lehrstuhl für Nachrichtentechnik der Technischen Universität München konzipiert und realisiert.

  • Die erste Version wurde 2006 von  Markus Elsberger  im Rahmen seiner Bachelorarbeit 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.

Nochmalige Aufrufmöglichkeit des Applets in neuem Fenster

Open Applet in a new tab