Hamming-Code

Die Hamming-Codierung ist ein Fehlerreduktionsverfahren, das überall dort eingesetzt wird, wo nicht mit klassischer Fehlerkorrektur gearbeitet und fehlerbehaftete Datensätze vom Empfänger erneut angefordert werden können. In diesen Fällen werden hohe Ansprüche an das Fehlerreduktionsverfahren gestellt.


Beim Hamming-Code ist der Unterschied im Bit-Aufbau von Zeichen zu Zeichen besonders groß, damit bei fehlerhafter Datenübertragung die Wahrscheinlichkeit einer vollständigen Korrektur des Zeichens maximiert wird. Im Unterschied zu anderen Fehlererkennungsverfahren arbeitet der Hamming-Code mit mehreren Prüfbits und kann mehrere gleichzeitig auftretende Fehler erkennen. Generell hängt die Anzahl der Prüfbits, die zur Redundanz eines Datenpaketes hinzugefügt werden, von der Anzahl der übertragenen Datenbits ab. Zur Reduzierung der Fehlerwahrscheinlichkeit wird beim Hamming-Code die Anzahl an Paritätsbits möglichst groß gewählt. Diese Paritätsbits, die sendeseitig zu den Datenbits hinzugefügt werden, werden so gewählt, dass die Bitsumme eine gerade oder ungerade Parität ergibt.

Hamming-Code

Hamming-Code

Die Anzahl der hinzuzufügenden Paritätsbits ist abhängig von der Anzahl an Datenbits. So benötigt man beispielsweise für die sichere Übertragung von acht Datenbits vier Prüfbits. Bei 16 Datenbits sind es 5 Prüfbits, bei 32 Datenbits sind es 6 Prüfbits usw. Die zu übertragenden Codewörter entsprechen der Summe aus Datenbits und Paritätsbits. So ergibt sich bei 8 Datenbits und 4 Prüfbits eine Codewortlänge von 12 Bit. Die Differenz aus Codewort - im Beispiel 12 - und den Paritätsbits (4) ergibt sich die Hamming-Distanz. Mit einem solchen Hamming-Code (12,8) können fehlerhafte Datenpakete erkannt werden, die bis zu vier fehlerhafte Bits enthalten, und zwei Bitpositionen können korrigiert werden. Zu diesem Zweck wird nur ein Teil der Informationsstellen im Codewort auf gerade Parität ergänzt.

Mit dem Hamming-Code, bei dem Prüfstellen aus unterschiedlichen Paritätsprüfungen gewonnen werden, ist es grundsätzlich möglich, Codes zur Fehlerkorrektur von mehr als einem Fehler zu konstruieren.

Informationen zum Artikel
Deutsch: Hamming-Code
Englisch: hamming code
Veröffentlicht: 02.08.2019
Wörter: 313
Tags: #Grundlagen der Datenkommunikation
Links: Bit (binary digit), Code, Codewort, Datenpaket, Datensatz