Vous êtes sur la page 1sur 3

4- Codes correcteurs d’erreurs

Généralement, la transmission de données se fait en utilisant une ligne de transmission qui


n’est pas entièrement fiable. Ainsi, il est possible d’avoir des erreurs lors de réception de
données. Pour cela, il faut utiliser des mécanismes de détection et de correction d’erreurs.
Le rôle des codes détecteurs et correcteurs d’erreurs est de détecter les erreurs de transmission
et de les corriger. Le principe consiste à ajouter des bits au message initial qui ne rajoute pas
de sens mais qui permettant de détecter les erreurs et de les corriger.

Codage du Décodage
Source Canal du Destinataire
Canal
Canal

Bruit

4-1 Code binaire (code de parité) :


Le principe consiste à rajouter un bit de parité après le caractère. Ce bit est égal à 1 s’il y a un
nombre impair de 1 et 0 sinon. Ainsi, le bit de parité est calculé de telle sorte que le nombre
total de 1 soit toujours pair. Le mécanise consiste à vérifier si on a reçu le même nombre de
1envoyés au départ ou non.
Exemple :
 Information : 1001011 bits envoyés : 10010110
 Information : 1011011 bits envoyés : 10110111
Défaut :
Ce code permet seulement de détecter l’erreur mais il ne permet pas de détecter sa position et
la corriger.
4-2 Code par répétition :
Le principe consiste à répéter plusieurs fois le message envoyé. Ainsi pour détecter et corriger
l’erreur, le message envoyé est constitué du triple du message initial.
Exemple :
 Information : 1011001
Le message envoyé : 101100110110011011001
La correction du message est effectuée par identification avec les deux exemplaires
Défaut :
 Ce code ne permet pas de détecter l’erreur si les exemplaires ont la même erreur
 Si le code détecte une erreur différente sur au moins deux exemplaire, l’erreur ne peut
pas être corrigée.
 Ce code nécessite plus de redondance pour corriger les erreurs
4-3 Parité longitudinale et transversale (LRC : Longitudinal Redundancy Check)
Le principe consiste à disposer le message envoyé sous forme matricielle tout en appliquant la parité
(pair) sur chaque ligne et chaque colonne.
Exemple :
Si on veut transmettre le mot suivant :
« HELLO » : 1001000 1000101 1001100 1001100 1001111
1 0 0 1 0 0 0 0
1 0 0 0 1 0 1 1
1 0 0 1 1 0 0 1
1 0 0 1 1 0 0 1
1 0 0 1 1 1 1 1
LRC 1 0 0 0 0 1 0 0

Si une erreur intervienne :


1 0 0 1 0 0 0 0
1 0 0 0 1 0 1 1
1 0 0 1 1 0 0 1
1 0 0 0 1 0 0 1
1 0 0 1 1 1 1 1
LRC 1 0 0 0 0 1 0 0

 L’erreur modifier simultanément la parité d’une ligne et d’une colonne


 La correction du message est effectuée par l’inversion du bit situé à l’intersection de la ligne et
de la colonne ayant une parité incorrecte.
4-4 Codes cycliques CRC :
Le principe consiste à ajouter une clé (code CRC) à la fin du message envoyé.

Message envoyé : suite de bits Clé : CRC

Trame de données

Pour déterminer le CRC, le message envoyé est considéré comme un polynôme P(X). Ce
polynôme P(X) va être divisé par un autre polynôme générateur G(X) qui est déjà connue par
l’émetteur et le récepteur. Ainsi, le reste de la division R(X) constitue le CRC. Par la suite, le CRC
va être transmis à la fin du message envoyé. En réception, le récepteur va effectuer la même
opération sur le message reçu Si le reste de la division est nul le message est correcte. Sinon une
erreur est signalée.
***Procédure de codage
Soit P(X) le polynôme associe à la séquence de bits à protéger et g(x) le polynôme
générateur de degré k.
 Calculer P’(X) = P(X).XK
 Diviser P’(X) par g(x) : P’(X)=Q(X).g(X) + R(X)
 Le message envoyé est : P’(X) +R(X)
Exemple :
Soit la séquence 1101 à envoyer
g(x) = x3+x+1
P(x)=x3+x2+1
P ’(x)=P(x).x3=x6+x5+x3

R(X) =1
Message envoyé: P’(X) + R(X) = 1101001

Vous aimerez peut-être aussi