Codierung nach Huffman

Huffman Codierung reduziert die zu Übermittelnde Datenmenge einer Quelle mit endlicher Symbolzahl und bekannten Wahrscheinlichkeiten.
Das Applet ist in 3 Seiten mit verschiedenen Funktionen eingeteilt.

Auf der ersten Seite lässt sich eine solche Symbolliste eintragen. Die Summe aller Wahrscheinlichkeiten sei 1. Um ein Symbol zu verändern wählen Sie dieses einfach mit der Maus aus. Dieses wird daraufhin aus der Liste entfernt und in die Eingabefelder übertragen, wo es verändert werden kann.

Nach einem Click auf "Weiter" erscheint die nächste Seite, die diese Symbolliste in einen Codierbaum nach Huffman umwandelt. Dazu werden die Symbole der Wahrscheinlichkeit nach sortiert und die untersten beiden Symbole durch ein Ersatzsymbol ausgetauscht, welches danach maximal aufrückt, so dass die Tabelle jedoch weiterhin sortiert bleibt. Dieser Vorgang wird wiederholt bis nur noch ein letztes Ersatzsymbol als Wurzel des Codebaums in der Liste vorhanden ist. Clicken Sie auf eine beliebige Stelle in dem Applet um den Vorgang zu beschleunigen. Ist der Codebaum bereits vollständig erstellt worden, bewirkt ein Click auf das Applet den Aufruf der Codierungsseite.

Auf der Codierungsseite können Sie die Übertragung einer Nachricht von einer Quelle zu einem Empfänger nachvollziehen. Tragen Sie zunächst eine Nachricht bestehend aus den Symbolen des Codebaums in das Textfeld der oberen linken Ecke ein. Durch die Schaltfläche "Codieren" wird diese Klartextnachricht in einen Binärcode umgewandelt, welchen Sie mit der Schaltfläche "Kanalcodierung" in einen Kanal übertragen können. Hierbei können Sie vorher auswählen, ob ein einfacher Mechanismus zur Fehlerkontrolle (Wiederholungscode) verwendet werden soll. Um Kanalfehler zu simulieren ändern Sie den Binärcode in dem Kanaltextfeld. Durch betätigen der Schaltflächen "Kanaldecodierung" wird der Binärcode zum Empfänger übertragen, welchen Sie dann durch drücken der Schaltfläche "Decodieren" wieder in Klartext umwandeln können. Clicken Sie auf eine beliebige Stelle in dem Applet um den Decodiervorgang zu beschleunigen!



(c) Institut für Kommunikationsakustik, Ruhr-Universität-Bochum, 2004