Hamming-Codes (systematischer Aufbau, Auswertung Prüfmatrix)
k = (h - 1)/2 = e/2
k = Anzahl der korrigierbaren Fehler
e = Anzahl der erkennbaren Fehler
Hamming-Codes haben viel mehr Bits als notwendig und sind nach
einem bestimmten System aufgebaut. So benötigen z. B. Codes mit
2, 3 und 4 Nutzbits noch zusätzliche 3 Prüfbits zur Korrektur
eines Fehlers.
Ein System zum Aufbau von Haming-Codes zur Korrektur eines Fehlers verwendet
4 Nutzbits (n1 - n4) + 3 Prüfbits (p1 - p3) --> 7 Bits:
Berechnung der Prüfbits (Addition modulo 2):
Beispiel: 8421-Code mit Hammingzusatz (h = 3):
Wert | p1 p2 n1 p3 n2 n3 n4
-----+---------------------
0 | 0 0 0 0 0 0 0
1 | 1 1 0 1 0 0 1
2 | 0 1 0 1 0 1 0
3 | 1 0 0 0 0 1 1
4 | 1 0 0 1 1 0 0
5 | 0 1 0 0 1 0 1
6 | 1 1 0 0 1 1 0
7 | 0 0 0 1 1 1 1
8 | 1 1 1 0 0 0 0
9 | 0 0 1 1 0 0 1
Gesendet wird: 1 0 0 0 0 1 1
Empfangen wird: 1 0 0 0 0 0 1
Am Empfangsort wird berechnet:
empfangene Prüfbits: 1 0 0
berechnete Prüfbits: 1 1 1
Daraus ergibt sich:
1 0 0
1 1 1
-------
(Antivalenz): 0 1 1
LSB MSB
"von rückwärts" gelesen: 1 1 0
--> Stelle 6 ist zu korrigieren.