Zur Verdeutlichung der grafischen Faltung
Contents
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 LM≥H, 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 H′≈H) und die dazugehörige Codesymbolfolge der Länge LM′⋅N.
Auf die Einheiten „bit/Quellensymbol” für die Entropie und die mittlere Codewortlänge wird im Programm verzichtet.
Theoretischer Hintergrund
Der Huffman–Algorithmus
Versuchsdurchführung
- 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 von „Hide solution”.
- Nummer „0”: Gleiche Einstellung wie beim Programmstart.
(1) Wählen Sie die Parameter gemäß Voreinstellung (Gaußimpuls: Ax=1, Δtx=1, τx=1; Impulsantwort gemäß Tiefpass 2. Ordnung: Δth=1).
Interpretieren Sie die dargestellten Grafiken. Wie groß ist der maximale Ausgangswert ymax? Zu welcher Zeit tmax tritt dieser auf?
- Dargestellt sind nach Umbenennung: Eingangssignal x(τ) ⇒ rote Kurve, Impulsantwort h(τ) ⇒ blaue Kurve, nach Spiegelung h(−τ) ⇒ grüne Kurve.
- Verschiebt man die grüne Kurve um t nach rechts, so erhält man h(t−τ). Der Ausgangswert y(t) ergibt sich durch Multiplikation und Integration bzgl. τ:
- y(t)=∫+∞−∞x(τ)⋅h(t−τ)dτ=∫t−∞x(τ)⋅h(t−τ)dτ.
- Der Ausgangsimpuls ymax ist im vorliegenden Fall unsymmetrisch; der maximale Ausgangswert ymax≈0.67 tritt bei tmax≈1.5 auf.
- y(t)=∫+∞−∞x(τ)⋅h(t−τ)dτ=∫t−∞x(τ)⋅h(t−τ)dτ.
(2) Was ändert sich, wenn man die äquivalente Impulsdauer von h(t) auf Δth=1.5 erhöht?
- Der maximale Ausgangswert ymax≈0.53 tritt nun bei tmax≈1.75 auf. Durch die ungünstigere Impulsantwort wird der Eingangsimpuls stärker verformt.
- Bei einem Nachrichtenübertragungssystem hätte dies stärkere Verzerrungen (Intersymbol Interference ) zur Folge.
(3) Wählen Sie nun den symetrischen Rechteckimpuls: Ax=1, Δtx=1, τx=0 und die Impulsantwort gemäß Spalt–Tiefpass: Δth=1.
Interpretieren Sie das Faltungsergebnis. Wie groß ist der maximale Ausgangswert ymax? 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 Δty=1.
- y(t) ist im Bereich von −0.5 bis +1.5 von Null verschieden. Impulsmaximum ymax=1 bei tmax=+0.5.
- h(t) beschreibt ein kausales System, da h(t)≡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 Δth=2 erhöht?
- Die Faltung zweier unterschiedlich breiten Rechtecke ergibt ein Trapez, im vorliegenden Fall zwischen −0.5 und +2.5 ⇒ äquivalente Impulsdauer Δty=2.
- Das Maximum ymax=0.5 tritt im Bereich 0.5≤t≤1.5 auf. Bezüglich der Kausalität ändert sich nichts.
(5) Wählen Sie nun den (unsymetrischen) Rechteckimpuls: Ax=1, Δtx=1, τx=0.5 und die Impulsantwort eines Tiefpasses 1. Ordnung: Δth=1.
Interpretieren Sie die Ergebnisse. Wie groß ist der maximale Ausgangswert ymax? Zu welchen Zeiten ist y(t)>0? Beschreibt h(t) ein kausales System?
- Die Impulsantwort h(t) hat für t>0 einen exponentiell abfallenden Verlauf. Füt t>0 gilt stets y(t)>0, aber die Signalwerte können sehr klein werden.
- Das Impulsmaximum ymax=0.63 tritt bei tmax=+1 auf. Für t<tmax ist der Verlauf exponentiell ansteigend, für t>tmax 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 (Spalt–Tiefpass; Δth=1). Mit welchem Eingang 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 Gaußimpuls: Ax=1, Δtx=1, τx=0 .
(7) Für den Rest dieser Versuchsdurchführung betrachten wir stets den Gauß–Tiefpass; äquivalente Dauer der Impulsantwort h(t): Δth=1.
Analsyieren und interpretieren Sie dieses „System” im Hinblick auf Kausalität und.
- Die Ternärquelle ist nahezu redundanzfrei: H≈log2 3≈1.585. Mit A →0, B →10, C →11 ist LM=1.66>H.
- „Günstige Wahrscheinlichkeiten” wären zum Beispiel pA=0.5, pB=pC=0.25 wie bei „Quelle 1”. Dann ist LM=H=1.5 (bit/Quellensymbol).
(8) Wählen Sie „Huffman” und die „Quelle 5” (M=6, pA=pB=0.25, pC=pD=pE=pF=0.125). Sind dies „günstige Wahrscheinlichkeiten”?
- JA. Alle Wahrscheinlichkeiten sind 2−2 oder 2−3 ⇒ Symbole werden mit zwei oder drei Bit dargestellt ⇒ LM=H=2.5 (bit/Quellensymbol).
(9) Wie unterscheiden sich demgegenüber die Ergebnisse für „Quelle 6” (M=6, pA=0.26, pB=0.24, pC=pD=0.13, pE=pF=0.12)?
- Bereits durch geringfügige Wahrscheinlichkeitsabweichungen ergeben sich ein anderer Baum und damit auch andere Symbolzuordnungen.
- A und B werden mit zwei Bit codiert, die anderen mit drei Bit. LM=[pA+pB]⋅2+[pC+pD+pE+pF]⋅3=2.5 (bit/Quellensymbol).
- Die geänderten pA, ... verändern hier nicht die mittlere Codewortlänge, aber H=2.499 wird (geringfügig) kleiner ⇒ LM>H (bit/Quellensymbol).
(10) Betrachten Sie die „Quelle 9” (M=8, pA=0.8, pB=pC=pD=0.02, pE=0.01, ... , pH=0.01) ⇒ H=0.741 (bit/Quellensymbol). Interpretation.
- Es ergibt sich mit LM=1.28 ein sehr viel größerer Wert als H=0.741 – sowohl für „Huffman” als auch für „Shannon–Fano”.
- Beide Verfahren sind also zur Quellenkomprimierung nicht geeignet, wenn eine Symbolwahrscheinlichkeit deutlich größer ist als 50%.
(11) Die Komprimierung der „Quelle 9” (M=8,H=2.481) mit „Huffman” ergibt LM=2.58. Welches Ergebnis liefert „Shannon–Fano”? Interpretation.
- Bei „Huffman” wird ein Symbol mit einem Bit codiert, zwei mit drei Bit, drei mit vier Bit und zwei mit fünf Bit ⇒ LM=2.58 (bit/Quellensymbol).
- Entsprechend gilt für „Shannon–Fano”: zweimal zwei Bit, dreimal drei Bit, einmal vier Bit, zweimal fünf Bit ⇒ LM=2.61 (bit/Quellensymbol).
- Fazit: „Huffman” ist die optimale Entropiecodierung. „Shannon–Fano” erreicht meist das gleiche Ergebnis. Aber nicht immer!
Zur Handhabung des Applets
(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 ˆHk
(E) Ausgabe einer simulierten Symbolfolge
(F) Ausgabe des Entropiewertes H
(G) Ausgabe der Entropienäherungen Hk
(H) Ausgabe der numerisch ermittelten Entropienäherungen ˆHk
(I) Grafikfeld zur Darstellung der Funktion H(pA) bzw. H(pA|pB)
(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 Xiaohan Liu (Bachelorarbeit, Betreuer: Tasnád Kernetzky ) auf „HTML5” umgesetzt und neu gestaltet.