Vous êtes sur la page 1sur 17

CODE DE HAMMING

DANS LE RÉSEAU
INFORMATIQUE
Réalisé par:
- GOUBRAIM Naima
- CHAIOUI Khalil

1
Références

■ Article écrit par Harshita Pandey et traduit par Acervo Lima de


Hamming Code in Computer Network. Licence: CCBY-SA
■ https://fr.acervolima.com/code-de-hamming-dans-le-reseau-informatique/

2
Définition

■ Le code de Hamming est un ensemble de codes de


correction d’erreurs qui peuvent être utilisés pour détecter
et corriger les erreurs qui peuvent se produire lorsque les
données sont déplacées ou stockées de l’expéditeur au
destinataire.
■ C’est une technique développée par « Richard Wesley
Hamming » pour la correction d’erreurs .

3
Bits redondants
■ Les bits redondants sont des bits binaires supplémentaires qui
sont générés et ajoutés aux bits porteurs d’informations du
transfert de données pour garantir qu’aucun bit n’a été perdu
pendant le transfert de données.
■ Le nombre de bits redondants peut être calculé à l’aide de la
formule suivante :
2^r ≥ m + r + 1
where, r = redundant bit, m = data bit

4
Bits redondants

■ Supposons que le nombre de bits de données soit 7, alors le


nombre de bits redondants peut être calculé en utilisant :

= 2^4 ≥ 7 + 4 + 1

Ainsi, le nombre de bits redondants = 4

5
Bits de parité

■ Un bit de parité est un bit ajouté à une donnée de bits binaires


pour garantir que le nombre total de 1 dans les données est pair
ou impair. Les bits de parité sont utilisés pour la détection
d’erreurs. Il existe deux types de bits de parité :
– Bit de parité paire
– Bit de parité impaire

6
Bits de parité
Bit de parité paire Bit de parité impaire
pour un ensemble de bits donné, le pour un ensemble donné de bits, le
nombre de 1 est compté. Si ce nombre de 1 est compté. Si ce
nombre est impair, la valeur du bit nombre est pair, la valeur du bit
de parité est définie sur 1, faisant de parité est définie sur 1, faisant
du nombre total d’occurrences de du nombre total d’occurrences de
1 un nombre pair. Si le nombre 1 un nombre impair. Si le nombre
total de 1 dans un ensemble donné total de 1 dans un ensemble donné
de bits est déjà pair, la valeur du de bits est déjà impair, la valeur
bit de parité est 0. du bit de parité est 0.

7
ALGORITHME
GÉNÉRAL DU CODE
DE HAMMING
Le code de Hamming est simplement l’utilisation de bits de parité
supplémentaires pour permettre l’identification d’une erreur.

8
Algorithme général du code de Hamming
1. Écrivez les positions des bits à partir de 1 sous forme binaire (1, 10, 11, 100, etc.).
2. Toutes les positions de bits qui sont une puissance de 2 sont marquées comme bits de parité (1, 2, 4, 8, etc.).
3. Toutes les autres positions de bits sont marquées comme bits de données.
4. Chaque bit de données est inclus dans un ensemble unique de bits de parité, tel que déterminé sa position de bit sous forme binaire.
a) Le bit de parité 1 couvre toutes les positions de bits dont la représentation binaire comprend un 1 en position de poids faible
(1, 3, 5, 7, 9, 11, etc.).
b) Le bit de parité 2 couvre toutes les positions de bits dont la représentation binaire comprend un 1 en deuxième position à
partir du bit de poids faible (2, 3, 6, 7, 10, 11, etc.).
c) Le bit de parité 4 couvre toutes les positions de bits dont la représentation binaire comprend un 1 en troisième position à
partir du bit le moins significatif (4-7, 12-15, 20-23, etc.).
d) Le bit de parité 8 couvre toutes les positions de bits dont la représentation binaire comprend un 1 en quatrième position de
les bits de poids faible (8-15, 24-31, 40-47, etc.).
e) En général, chaque bit de parité couvre tous les bits où le ET au niveau du bit de la position de parité et de la position du bit
est différent de zéro.
5. Puisque nous vérifions la parité paire, définissez un bit de parité sur 1 si le nombre total de uns dans les positions qu’il vérifie est
impair.
6. Définissez un bit de parité sur 0 si le nombre total de uns dans les positions qu’il vérifie est pair.

9
10
Détermination de la
position des bits de
redondance
Ces bits de redondance sont placés aux
positions qui correspondent à la
puissance de 2. Comme dans l’exemple
ci-dessus :
■ Supposons que la donnée à transmettre soit
1. Le nombre de bits de données = 7
1011001, les bits seront placés comme suit :
2. Le nombre de bits redondants = 4
3. Le nombre total de bits = 11
4. Les bits redondants sont placés aux
positions correspondant à la puissance
de 2 à 1, 2, 4 et 8
11
Détermination des
bits de parité

1) Le bit R1 est calculé en utilisant le contrôle


de parité à toutes les positions de bits dont la ■ Pour trouver le bit redondant R1, nous
représentation binaire comprend un 1 dans la vérifions la parité paire. Étant donné que le
position la moins significative. R1 : bits 1, 3, nombre total de 1 dans toutes les positions de
5, 7, 9, 11 bit correspondant à R1 est un nombre pair, la
valeur de R1 (valeur du bit de parité) = 0

12
Détermination des
bits de parité

2) Le bit R2 est calculé en utilisant le contrôle


de parité à toutes les positions de bits dont la ■ Pour trouver le bit redondant R2, nous
représentation binaire comprend un 1 dans la vérifions la parité paire. Étant donné que le
deuxième position à partir du bit le moins nombre total de 1 dans toutes les positions de
significatif. R2 : bits 2,3,6,7,10,11 bit correspondant à R2 est impair, la valeur
de R2 (valeur du bit de parité) = 1

13
Détermination des
bits de parité

3) Le bit R4 est calculé en utilisant le contrôle


de parité à toutes les positions de bits dont la
représentation binaire comprend un 1 dans la ■ Pour trouver le bit redondant R4, nous
troisième position à partir du bit le moins vérifions la parité paire. Étant donné que le
nombre total de 1 dans toutes les positions de
significatif. R4 : bits 4, 5, 6, 7
bit correspondant à R4 est impair, la valeur
de R4 (valeur du bit de parité) = 1

14
Détermination des
bits de parité

4) Le bit R8 est calculé en utilisant le contrôle ■ Pour trouver le bit redondant R8, nous
de parité à toutes les positions de bits dont la vérifions la parité paire. Étant donné que le
nombre total de 1 dans toutes les positions de
représentation binaire comprend un 1 à la
bit correspondant à R8 est un nombre pair, la
quatrième position à partir du bit le moins valeur de R8 (valeur du bit de parité) = 0.
significatif. R8 : bits 8,9,10,11
■ Ainsi, les données transférées sont :

15
Détection et correction
d’erreurs
Supposons dans l’exemple ci-dessus
que le 6e bit passe de 0 à 1 lors de la
transmission de données, puis il
donne de nouvelles valeurs de parité
dans le nombre binaire :

■ Les bits donnent le nombre binaire 0110 dont la


représentation décimale est 6. Ainsi, le bit 6 contient une
erreur. Pour corriger l’erreur, le 6ème bit est modifié de 1 à
0.
16
FIN

17

Vous aimerez peut-être aussi