Follow along with the video below to see how to install our site as a web app on your home screen.
Anmerkung: this_feature_currently_requires_accessing_site_using_safari
Der Hamming-Abstand oder Hamming-Distanz ist ein grundlegender Begriff der Codierungstheorie, benannt nach dem Mathematiker Richard Wesley Hamming (1915 - 1998). Der Hamming-Abstand zweier Blöcke von binären Daten mit fester Länge (so genannter Codewörter) kann ermittelt werden, indem man beide in binärer Form hinschreibt, diese Bit für Bit vergleicht und die Stellen zählt, die ungleich sind. Rechnerisch lässt sich der Vergleich durch eine XOR-Operation und das Abzählen der resultierenden Einsen realisieren.
Bsp.:
x = 00110
y = 00101
Der Hamming-Abstand ist hier 2, da sich die beiden Wörter x und y an genau zwei Stellen unterscheiden (nämlich die beiden Stellen ganz rechts).
Unter dem Hamming-Abstand eines kompletten Codes versteht man das Minimum aller Abstände zwischen Wörtern innerhalb des Codes.
Bsp.:
ein Code bestet aus folgenden drei Wörtern
x = 00110
y = 00101
z = 01110
Der Hamming-Abstand zwischen x und y ist 2;
Der Hamming-Abstand zwischen x und z ist 1;
Der Hamming-Abstand zwischen y und z ist 3;
Der kleinste der drei Abstände ist 1, also ist der Hamming-Abstand des Codes ebenfalls gleich 1.
Wichtig ist die Hamming-Distanz, wenn man Codes entwickeln möchte, die Fehler erkennen EDC oder Fehler korrigieren ECC könnnen. Für den Hamming-Abstand h können jeweils h-1 Bit Fehler erkannt werden. In dem Beispiel mit h=2 können somit alle 1-Bit Fehler erkannt werden. Um die Fehler auch korrigieren zu können, muss die Hamming-Distanz auf mindestens (2*r)+1 vergrößert werden, wobei r für die Anzahl der Bit Fehler steht. Bei h=3 können alle 1-Bit Fehler erkannt und korrigiert werden. Treten 2-Bit Fehler auf, können diese zwar erkannt, aber nicht mehr korrigiert werden.
Der Hamming-Abstand eines Codes ist notwendigerweise eine positive Ganzzahl >=1. Ein Code mit Hamming-Abstand 0 ist nicht möglich, da sich in diesem Fall zwei Codewörter nicht unterscheiden lassen.