Skip to main content

Qu'est-ce qu'un code Hamming?

Un code Hamming est une méthode pour détecter et corriger les erreurs dans une transmission binaire.Il le fait par l'inclusion de chiffres binaires supplémentaires dans la séquence qui sont utilisés pour la vérification, ainsi qu'un algorithme qui fournit la logique de détection.Un tel code est capable de trouver deux erreurs dans n'importe quelle séquence de bits et de réparer un bit qui peut être incorrect.Le code Hamming le plus couramment référencé est connu sous le nom de Hamming (7,4), où les quatre indiquent le nombre d'origine de bits de démarrage et les sept représentent le nombre total de bits dans la séquence après que les bits de vérification supplémentaires ont été inclus.

La technique a tiré son nom de son créateur, Richard Hamming, qui a publié la méthode en 1950. La façon dont le code Hamming fonctionne est de prendre une série de bits et d'insérer des bits de vérification supplémentaires, appelés bits de parité, dans la séquence.Les bits de vérification sont toujours injectés à une position qui est une puissance de deux, de sorte que n'importe quel nombre de bits peut être vérifié en incluant des bits de parité supplémentaires.Cela peut se poursuivre jusqu'à ce que le dernier bit de parité ajouté dans la séquence soit dans une position qui est une puissance de deux qui est inférieure ou égale à la position finale dans la séquence.

sont les bits de données réelles.Compte tenu de l'exemple à quatre bits, les positions bit, deux, deux et quatre seraient les bits de parité, tandis que les positions trois, cinq, six et sept sont les données.Une fois cette séquence établie, la logique du code de Hamming va fonctionner. Dans un code Hamming, chacun des bits de parité qui a été ajouté à la séquence est utilisé pour vérifier certaines des positions de bits dont ils sont proches,y compris eux-mêmes.Le bit de parité en position One vérifie toutes les autres bit, qui est essentiellement toutes les positions impairs de la séquence.Le deuxième bit de parité, en position deux, vérifie les positions deux et trois, puis saute deux positions, vérifie deux positions supplémentaires, en saute deux de plus, etc.S'il y a un bit de parité en position quatre, il agit de la même manière en ce qu'il vérifie les positions de quatre à sept, puis saute quatre positions, vérifie quatre de plus et en avant.Chaque bit de parité dans la séquence se poursuit de cette manière tout au long de la séquence. Le processus par lequel un code Hamming détecte et corrige une erreur est en additionnant les bits dans la séquence de vérification pour chaque vérification de parité, chacun doit sortirun nombre pair.Compte tenu de l'exemple sept bits, pour le premier contrôle de parité, les bits un, trois, cinq et sept sont additionnés.Si le total est un nombre pair, la parité vérifie, mais si le total est impair, il y a une erreur.Étant donné que les vérifications de parité se chevauchent, deux de ces erreurs apparaîtront.Lorsque les positions de bits à deux parités qui ne parviennent pas à trouver des totaux sont ajoutées, elle révèlera le bit qui doit être corrigé. Dans l'exemple de code Hamming sept bits, considérez que le bit dans le numéro cinq est incorrect.La somme des bits dans les positions un, trois, cinq et sept sortira comme un nombre impair, tout comme la somme des bits en positions quatre à sept.Cela indique que la parité vérifie les bits de vérification dans les positions une et quatre a échoué.Lorsque un et quatre sont ajoutés, le total est de cinq, ce qui est la position du bit incorrect dans la transmission qui doit être corrigée.