CODE HAMMMING
Les codes correcteurs et les codes détecteurs
Claude Duvallet
Matrise Informatique
Ann´ee 2003-2004
Ann´ee 2003-2004 – p.1/22
Présentation (1)
Pourquoi ?
Des canaux de transmission imparfait entraînant des erreurs lors des échanges de données.
Probabilité d’erreur sur une ligne téléphonique : P=10−4 (cela peut même atteindre 10−7 ).
⇒ Utilisation de méthodes de détection des erreurs et éventuellement de correction des erreurs.
Méthodes mises en place au niveau de la couche 2
OSI ("liaison de données").
Principe général :
Chaque suite de bits (trame) à transmettre est augmentée par une autre suite de bit dite de redondance ou de contrôle.
Pour chaque suite de k bits transmis, on ajoute r bits. On dit alors que l’on utilise un code C(n, k) avec n = k + r.
Ann´ee 2003-2004 – p.2/22
Présentation (2)
Principe général (suite) :
À la réception, on effectue l’opération inverse et les bits ajoutés permettent d’effectuer des contrôles à l’arrivée.
Il existe deux catégories de code : les codes détecteurs d’erreurs, les codes correcteurs d’erreurs.
Le code de Hamming : un code détecteur et correcteur d’erreurs.
Le CRC (Cycle Redundancy Check) : un code détecteur d’erreurs.
Ann´ee 2003-2004 – p.3/22
Le code de Hamming (1)
Structure d’un mode de code de Hamming les m bits du message à transmettre et les n bits de contrôle de parité. longueur totale : 2n − 1 longueur du messages : m = (2n − 1) − n
⇒ on parle de code x − y où x = n + m et y = m.
Exemple de code de Hamming : un mot de code 7 − 4 a un coefficient d’efficacité de 4/7 = 57 %, un mot de code 15 − 11 a un coefficient d’efficacité de 11/15 = 73 %, un mot de code 31 − 26 a un coefficient d’efficacité de 26/31 = 83 %,
Les bits de contrôle de parité Ci sont en position 2i pour i=0,1,2,...
Les bits du message Dj occupe le reste du message.
D3
D2
D1
C2
D0
C1
C0
Ann´ee 2003-2004 – p.4/22
Le code de Hamming (2)
Retrouver l’erreur dans un mot de Hamming
Si les bits de contrôle de réception C2