Mathe & Statistik

Hamming-Code berechnen und prüfen

Kodieren Sie ein Datenwort mit Hamming-Prüfbits oder prüfen Sie ein empfangenes Codewort. Der Rechner zeigt Syndrom, Fehlerposition und korrigierte Daten.

Datenwort oder Codewort
1 bis 57 Bits aus 0 und 1.
3 bis 63 Bits, Prüfbits an den Positionen 1, 2, 4, 8 …
Ergebnis

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.

Anzahl Pru¨fbits r: kleinste Zahlmit 2r≥k+r+1; Pru¨fbit p2j=XOR aller Bits , deren Position Bit j entha¨lt; Syndrom=XOR aller Positionenmit Wert 1\text{Anzahl Prüfbits r}:\ \text{kleinste Zahl}\quad \text{mit}\ 2^{r} \ge k + r + 1;\ \text{Prüfbit p}_{2^{j}} = \text{XOR aller Bits}\,{,}\ \text{deren Position Bit j enthält};\ \text{Syndrom} = \text{XOR aller Positionen}\quad \text{mit}\ \text{Wert}\,1

Beispiel: Das Datenwort 1011 braucht drei Prüfbits, denn 2³ = 8 ≥ 4 + 3 + 1. Die Daten stehen an den Positionen 3, 5, 6 und 7. Prüfbit 1 ergibt sich aus 1, 0 und 1 zu 0, Prüfbit 2 aus 1, 1 und 1 zu 1, Prüfbit 4 aus 0, 1 und 1 zu 0. Das Codewort lautet 0110011, die Coderate 57,1 Prozent. Wird es als 0110111 empfangen, ist das Syndrom 2 XOR 3 XOR 5 XOR 6 XOR 7 = 5. Bit 5 wird gekippt, die Daten 1011 sind wiederhergestellt.

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.

Auch gesucht als:
  • Hamming-Code berechnen
  • Hamming Code Rechner
  • Prüfbits berechnen
  • Hamming 7,4
  • Syndrom berechnen
  • Einzelbitfehler korrigieren
Diesen Rechner auf Ihrer Website einbinden

Kostenlos für Blogs, Vereine, Schulen und Unternehmen. Fügen Sie den Code in Ihre Seite ein, zum Beispiel als HTML-Block in WordPress.

Der Rechner läuft in einem Rahmen, setzt keine Cookies und speichert keine Eingaben. Bitte lassen Sie den Quellenlink unter dem Rahmen stehen. Höhe bei Bedarf anpassen.

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.