Fehler erkennen und selbst korrigieren
Der Hamming-Code, 1950 von Richard Hamming veröffentlicht, ergänzt ein Datenwort um wenige Prüfbits. Damit lässt sich jeder einzelne Bitfehler nicht nur erkennen, sondern auch genau lokalisieren und korrigieren. Er steckt in ECC-Arbeitsspeicher, in Speicherchips von Satelliten und in vielen Übertragungsprotokollen. Im Informatikunterricht und im Studium ist er das Standardbeispiel für fehlerkorrigierende Codes.
Die Prüfbits stehen an den Positionen, die Zweierpotenzen sind: 1, 2, 4, 8 und so weiter. Jedes Prüfbit überwacht alle Positionen, in deren Binärdarstellung sein Bit gesetzt ist. Prüfbit 1 deckt also die Positionen 1, 3, 5, 7 ab, Prüfbit 2 die Positionen 2, 3, 6, 7. Es wird so gesetzt, dass die Zahl der Einsen in seiner Gruppe gerade ist.
Beim Empfänger wird jede Gruppe erneut geprüft. Das Ergebnis, das Syndrom, ist bei fehlerfreier Übertragung 0. Andernfalls nennt es als Binärzahl direkt die Position des falschen Bits. Der Rechner ermittelt das Syndrom als XOR-Summe aller Positionen, an denen eine 1 steht, kippt das betroffene Bit und gibt die Datenbits zurück.
Grenzen und Erweiterungen
Der einfache Hamming-Code hat einen Mindestabstand von drei. Er korrigiert einen Fehler je Codewort sicher. Bei zwei gleichzeitigen Fehlern zeigt das Syndrom auf eine falsche Stelle, und die Korrektur verschlimmert den Schaden. Liegt das Syndrom sogar hinter dem letzten Bit, meldet der Rechner einen nicht korrigierbaren Mehrfachfehler.
In der Praxis ergänzt man deshalb oft ein zusätzliches Paritätsbit über das ganze Wort. Dieser erweiterte Hamming-Code, auch SECDED genannt, korrigiert einen Fehler und erkennt zwei Fehler zuverlässig. ECC-Speicher arbeitet typischerweise mit 64 Datenbits und 8 Prüfbits nach diesem Prinzip.
Die Reihenfolge der Bits ist eine Konvention. Dieser Rechner zählt Positionen von links ab 1, wie in den meisten Lehrbüchern. Manche Darstellungen ordnen Prüfbits ans Ende oder zählen von rechts. Vergleichen Sie bei Übungsaufgaben deshalb, welche Anordnung verlangt ist, bevor Sie Ergebnisse gegenüberstellen.
Für längere Datenblöcke sind andere Codes effizienter, etwa Reed-Solomon auf CDs und in QR-Codes oder LDPC-Codes im Mobilfunk. Reine Fehlererkennung ohne Korrektur leisten Prüfsummen und CRC-Verfahren, die der CRC-Rechner berechnet.
Tipps und typische Fehler
Codes verstehen.
- Positionen: Ab 1 zählen.
- Prüfbits: Zweierpotenzen.
- Parität: Gerade.
- SECDED: Für zwei Fehler.
Mehr zum Thema Zahlensysteme, Logik und Prüfziffern
Häufige Fragen
Wie viele Prüfbits braucht ein Hamming-Code?
So viele, dass 2 hoch r mindestens Datenbits plus r plus 1 ergibt, bei 4 Datenbits also 3.
Was bedeutet Syndrom 0?
Alle Paritätsprüfungen stimmen, es wurde kein Einzelbitfehler erkannt.
Kann der Hamming-Code zwei Fehler korrigieren?
Nein, nur einen; mit zusätzlichem Paritätsbit erkennt er zwei Fehler.
Was ist Hamming(7,4)?
Ein Code mit sieben Bits, davon vier Daten- und drei Prüfbits.
Was ist der Hamming-Abstand?
Die Zahl der Stellen, an denen sich zwei Codewörter unterscheiden.
- Hamming-Code berechnen
- Hamming Code Rechner
- Prüfbits berechnen
- Hamming 7,4
- Syndrom berechnen
- Einzelbitfehler korrigieren
Alle Berechnungen erfolgen direkt in Ihrem Browser, Ihre Eingaben werden nicht übertragen oder gespeichert. Die Ergebnisse sind Orientierungswerte ohne Gewähr und ersetzen keine steuerliche, rechtliche oder finanzielle Beratung. Die Erklärtexte auf dieser Seite wurden mit KI erstellt. Letzte inhaltliche Änderung dieser Seite: . Mehr dazu: So entstehen und prüfen wir die Rechner.