Comment calculer le Code de Hamming

Codes de Hamming sont utilisées pour insérer les informations d'erreur de correction en flux de données. Les codes sont conçus de telle sorte qu'une erreur ne peut pas être détecté seulement, mais corrigées. Ajout d'informations de correction d'erreur augmente la quantité de données, mais augmente la fiabilité des communications sur les médiums avec des taux d'erreur élevés.


Codage de Hamming peut être difficile à mettre en œuvre, mais peut être fait très rapidement en utilisant des astuces arithmétiques niveau bit. Cela en fait un système utile de correction d'erreur pour la grande vitesse et les applications embarquées.

Instructions

  1. Créer le mot de données. Tous les bits à une position qui est une puissance de deux (première, deuxième, quatrième, etc.) doit être réservé pour les informations de parité. Utilisez aussi longtemps d'un mot que vous avez besoin pour adapter les données source et les bits de parité.

    Exemple:

    1 1 0 1 0 0 1 0 devient 1 1 0 1 0 0 1 0

    Les bits restent dans le même ordre, mais ont été répartis en fonction des bits de parité.




  2. Calculer le premier bit de parité. En commençant par le premier bit, lire un peu, puis sauter un peu et répéter, tout en comptant le nombre de celles rencontrées. Les bits de parité comptent comme des zéros.

    Si le nombre de ceux qui est encore, le premier état à zéro. Autrement, la mettre à un.

    Exemple:

    Les bits 1, 3, 5, 7, 9 et 11 de 1 1 0 1 0 0 0 1, 11101, contiennent quatre petits. Ceci est d'autant, de sorte que le premier bit est mis à zéro: 0 1 1 0 1 0 0 1 0

  3. Calculer les bits de parité restants. Bit deux lit deux bits à partir de deux bits, puis saute deux et répétitions. Bit quatre lit quatre bits puis saute quatre et commence avec quatre bits. Continuer avec ce modèle jusqu'à ce qu'il n'y pas de parité des morceaux laissés à calculer.




    Exemple:

    Bit 2: 0 1 1 0 1 _ 0 0 1 0 chèques 1, 01, 01, qui contient les trois, de sorte que le bit 2 est mis à un.
    Bit 4: 0 1 1
    1 0 1 _ 0 0 1 0 chèques 101, 0, qui contient les deux, si le bit 4 est mis à zéro.
    Bit 8: 0 1 1 0 1 0 1
    0 0 1 0 chèques _0010, avec juste un un, le bit 8 à un.

    Le mot codé est donc 011010110010.

  4. Confirmez le mot. Si un mot est corrompu, les bits de parité ne sera pas correspondre à ce que l'on attend. Pour confirmer qu'un mot ne soit pas corrompu, calculer simplement les bits de parité en utilisant étapes deux et trois. Si les morceaux ne correspondent pas, enregistrer leurs positions.

  5. Corriger le mauvais bit. Si vous trouvez bits de parité incorrects, résumer simplement les positions des bits. La somme est la position du bit incorrect. Retourner la valeur du bit dans cette position.

    Par exemple, si la parité des bits un et quatre sont incorrectes, en feuilletant la valeur de la cinquième bit va corriger l'erreur.

Conseils & Avertissements

  • L'ajout d'un bit de parité supplémentaire qui calcule le nombre de zéros dans le mot entier, il est possible de détecter des erreurs de deux bits. Codes de Hamming normales fourniront le mauvais résultat dans le cas d'erreur de deux bits.
» » » » Comment calculer le Code de Hamming