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 souvent 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 obtenu son nom à partir de son créateur, Richard Hamming, qui a publié la méthode en 1950. bits, appelé bits de parité, dans la séquence. Les bits de vérification sont toujours injectés à une position qui est une puissance de deux, donc n'importe quel nombre de bits peuvent être vérifiés par incluDing 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.
Avec tous les bits de parité en place, les positions restantes sont les bits de données réels. 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 Hamming va fonctionner.
Dans un code Hamming, chacun des bits de parité qui a été ajouté à la séquence sont utilisés 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 position deux et troisE, alors saute deux positions, vérifie deux autres positions, 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 consiste à additionner les bits dans la séquence de vérification pour chaque vérification de la parité, chacune dont il faut sortir un numéro 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 de Hamming sept bits, contreIDER que le bit en position 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.