Mastodon

Hier soll es gar nicht um die eigentliche Betriebsart der Telegrafie gehen, sondern um den dort genutzten Morsecode. Die Zeichen im Code sind unterschiedlich lang. Wenn wir das mit anderen Codes wie Baudot oder ASCII vergleichen, erscheint das erst mal ungewöhnlich. Heute ist das allerdings wie bei UTF-8 wieder üblich. Wozu dient nun diese Codierung in unterschiedlichen Code-Längen?

Tatsächlich ist das eine geniale Idee, auf der auch viele Kompressionsalgorithmen beruhen. Das funktioniert besonders gut, wenn die einzelnen Zeichen im Code sehr unterschiedlich häufig vorkommen. Und genau das ist in unserer Sprache der Fall. Vokale kommen häufiger vor als Konsonanten. Und entsprechend umgekehrt haben Vokale die kürzeren Codes. Diese Idee ist also nicht erst in neuerer Zeit mit der Komprimierung von Daten entstanden, sondern schon viel früher, um dem Telegrafen die Arbeit zu erleichtern.

Wie kommt man darauf, wie die Codelängen optimal zugeordnet werden? Dazu sammelt man die Häufigkeiten der zu kodierenden Zeichen in den üblichen Texten zusammen. Das hängt natürlich von der Sprache ab. Genau wie später beim ASCII-Code beruht die Codierung zum Morsen auch auf der englischen Sprache. Die meisten Buchstaben sind dann auch für die anderen europäischen Sprachen passend. Aber Umlaute und Buchstaben mit Akzent fallen so unter den Tisch und können entweder gar nicht kodiert werden oder sie bekommen Codes, die für ihre Häufigkeit eigentlich zu lang sind. Diesen Kompromiss geht man ein, damit der Code international benutzbar ist.

Wie geschieht das genau? Die Häufigkeit eines Zeichens wird wie ein Gewicht betrachtet. Man kennt das auch aus anderen Zusammenhängen, bei denen eine Gewichtung nicht unbedingt als ein Synonym für die Masse genutzt wird. Hier kann man es sich aber wirklich wie eine Masse vorstellen und hängt die Buchstaben in ein Mobile, sodass alle Äste sich die Waage halten. Auf diese Weise bekommen alle Buchstaben die ihrer Gewichtung entsprechenden Länge ihrer Codierung.

Diese Art, einen Code zu komprimieren, wurde 1952 von David A. Huffman genauer beschrieben. Morsen unterscheidet sich von der Huffman-Codierung dadurch, dass es unterschiedlich lange Pausen gibt. Die Codierung wird dadurch komplizierter, aber für Menschen besser lesbar. Durch die verschiedenen Pausen kann auch der eigentliche Code kürzer werden. In einem Huffman-Code könnte es unter anderem den Code kurz-lang für A nicht geben, weil das kurz schon vom E benutzt wird. Eine ähnliche Codierung kennen wird von Telefonnummern. Wenn 1234 eine gültige Telefonnummer ist, dann kann 12345 keine gültige sein.

Die Pausen haben noch einen weiteren Vorteil. Die Codes für die einzelnen Zeichen können sauber voneinander getrennt werden. Das ist nützlich, wenn die Übertragung unsauber ist, weil sie beispielsweise durch QRN, QRM oder QSB unterbrochen wurde. Eine Huffmann-Codierung muss sich nach einem Übertragungsfehler erst wieder neu synchronisieren, sodass mehr Zeichen von der Störung betroffen sind.

Teilen