Comment calculer le code de Hamming

Auteur: Helen Garcia
Date De Création: 22 Avril 2021
Date De Mise À Jour: 14 Peut 2024
Anonim
Hamming code  exemple
Vidéo: Hamming code exemple

Contenu

Les codes de Hamming sont utilisés pour insérer des informations de correction d'erreur dans les flux de données. Les codes sont conçus pour qu'une erreur soit non seulement détectée, mais également corrigée. L'ajout d'informations de correction d'erreur augmente la quantité de données, mais augmente également la fiabilité des communications sur des supports présentant des taux d'erreur élevés.

Le codage de Hamming peut être compliqué à implémenter, mais il peut être fait très rapidement en utilisant des astuces arithmétiques au niveau du bit. Cela permet la création d'un système de correction d'erreurs utile et rapide, à utiliser dans les applications embarquées.

Étape 1

Créez le mot de données. Tout bit avec une position qui est une puissance de deux (premier, deuxième, quatrième, etc.) doit être réservé pour les informations de parité. Utilisez aussi longtemps que nécessaire pour que le mot contienne les données et les bits de parité d'origine.


Exemple:

1 1 0 1 0 0 1 0 devient _ _ 1 _ 1 0 1 _ 0 0 1 0

Les bits d'origine restent dans le même ordre, mais ont été étalés pour insérer les bits de parité.

Étape 2

Calculez le premier bit de parité. En commençant par le premier bit, un bit est lu, puis un bit est ignoré et la procédure est répétée jusqu'à la fin. En attendant, le nombre de ceux trouvés est compté. Les bits de parité ne comptent pas dans ce processus.

Si le nombre de uns est pair, définissez le premier bit sur zéro. Sinon, réglez-le sur un.

Exemple:

Les bits 1, 3, 5, 7, 9 et 11 de _ _ 1 _ 1 0 1 _ 0 0 1 0, _11101, en contiennent quatre. C'est pair, donc le premier bit est mis à zéro: 0 _ 1 _ 1 0 1 _ 0 0 1 0

Étape 3

Calculez les bits de parité restants. En commençant par le deuxième bit, deux bits sont lus, puis deux bits sont sautés et la procédure est répétée jusqu'à la fin. Le quatrième bit lit quatre bits, en saute quatre autres, en commençant par le bit quatre. Le même modèle est suivi par tous les bits de parité, jusqu'à ce qu'ils soient tous calculés.


Exemple:

Bit 2: 0 _ 1 _ 1 0 1 _ 0 0 1 0 vérifie _1, 01, 01, qui contiennent trois uns, le bit 2 est donc mis à un. Bit 4: _ 0 1 1 1 0 1 _ 0 0 1 0 vérifie _101, 0, qui contient deux uns, donc le bit 4 est mis à zéro. Bit 8: 0 1 1 0 1 0 1 _ 0 0 1 0 vérifie _0010, qui n'en contient qu'un, donc le bit 8 est mis à un.

Le mot est donc codé comme 011010110010.

Étape 4

Confirmez le mot. Si un mot est corrompu, les bits de parité ne correspondront pas à ce qui est attendu. Pour confirmer que le mot n'est pas corrompu, calculez simplement les bits de parité en utilisant les étapes deux et trois. Si les bits ne sont pas les mêmes, enregistrez leurs positions.

Étape 5

Corrigez le mauvais bit. Si vous trouvez des bits de parité incorrects, ajoutez simplement les positions des bits. La valeur de somme est la position du bit incorrect. Modifiez la valeur de bit dans cette position.

Par exemple, si les bits de parité incorrects sont un et quatre, la modification de la valeur du cinquième bit corrigera l'erreur.