Als Hamming-Code bezeichnet man in der Kodierungstheorie einen von Richard Hamming entdeckten Code mit einem Mindest-Hamming-Abstand von 3.
Der einfachste Hamming-Code ist ein (7,4) Code, er hat also eine Länge von 7 Bits, wovon 4 Bits Nutzinformationen sind und die restlichen (7 Bit Codewort Länge - 4 Bit Nutzinformationen) = 3 Bits zur Fehlerkorrektur dienen. Im Allgemeinen gibt es einen Hamming-Code der Länge zu jedem , davon sind Bits Korrekturbits und die restlichen Bits Informations-Bits.
Hamming-Codes sind perfekt, d.h. jedes mögliche Wort ist entweder ein Codewort oder hat Hamming-Abstand 1 von einem Codewort des Codes.
setzt sich zusammen aus der Einheitsmatrix und einer 4 × 3 Matrix, die die Sicherungsinformationen erzeugt. Die zu übertragende Bitsequenz wird dann aus der Nutzinformation wie folgt berechnet:
ist die Kontrollmatrix des (7,4) Hamming-Codes. Ihre Spalten sind alle Bitvektoren der Länge 3 außer dem Nullvektor.
Ein Codewort gehört genau dann zum Hamming-Code, falls ist. Ist , heißt das, dass bei der Übertragung ein Bitfehler aufgetreten ist. Durch Vergleich von mit den Spalten von lässt sich (im Fall eines Ein-Bit-Fehlers, einem sogenannten Einzelfehler) zusätzlich ermitteln, welches Bit aus verfälscht wurde. Für Bit 3 wäre das z.B. .
| Nutzdaten | 1 | 0 | 0 | 1 | ||||
| Prüfbit 1 | 1 | 0 | 1 | => | 0 | |||
| Prüfbit 2 | 1 | 0 | 1 | => | 0 | |||
| Prüfbit 3 | 1 | 0 | 0 | => | 1 |
Die drei Prüfbits (dezimal 2, 2, 1) werden jeweils modulo 2 gerechnet, da eine Binärzahl benötigt wird. Das zu übermittelnde Wort lautet also 1 0 0 1 0 0 1
Angenommen als übermitteltes Wort ist 1 0 1 1 0 0 1 angekommen; der Fehler steckt im dritten Bit. Zur Prüfung wird diese Rechnung dann umgekehrt durchgeführt:
| Nutzdaten | 1 | 0 | 1 | 1 | |||||||
| Prüfung 1 | 0 | = | 1 | 1 | 1 | => | Fehler | ||||
| Prüfung 2 | 0 | = | 1 | 0 | 1 | ||||||
| Prüfung 3 | 1 | = | 1 | 0 | 1 | => | Fehler |
Taucht ein Fehler nur in einer der drei Prüfungen auf steckt der Fehler in dem jeweiligen Prüfbit.
Taucht ein Fehler in Prüfung 1 und 2 auf ist der Fehler in Bit Nr. 4
Taucht ein Fehler in Prüfung 1 und 3 auf ist der Fehler in Bit Nr. 3
Taucht ein Fehler in Prüfung 2 und 3 auf ist der Fehler in Bit Nr. 2
Taucht ein Fehler in allen Prüfungen auf ist der Fehler in Bit Nr. 1
Diskrete Mathematik | Informationstheorie | Zeichenkodierung Kodierungstheorie
Hamming code | Código Hamming | Code de Hamming | ハミング符号 | 해밍 부호 | Hamming-code
This article is licensed under the GNU Free Documentation License.
It uses material from the
"Hamming-Code".
Home Page • arts • business • computers • games • health • hospitals • home • kids & teens • news • physicians • recreation• reference • regional • science • shopping • society • sports • world