code correcteurs
Christophe Ritzenthaler
Sources. Le cours Codes correcteurs de Coste, Paugam et Quarez disponible sur le web
` l’adresse http://agreg-maths.univ-rennes1.fr/documentation/docs/codes.pdf. a Les livres ‘An introduction to error correcting codes with applications’ de Vanstone et van
Oorschot et ‘Error-correcting codes and finite fields’ de Pretzel.
Les codes correcteurs ont ´et´e introduits pour corriger les erreurs de transmission ou de lecture de donn´ees num´eriques, ou les erreurs survenant au cours de leur inscription sur un support physique (bande, CD) ou encore lorsque les donn´ees subissent une alt´eration sur le support de stockage. Voici quelques domaines o` u ils sont appliqu´es :
– transmissions spatiales ;
– minitel ;
– codes barres ;
– disque compact et DVD ;
– communications par internet.
1
Codes et distance de Hamming
Les messages transmis sont suppos´es d´ecoup´es en blocs (ou mots) de longueur n ´ecrits avec l’alphabet {0, 1}. Un code (binaire) est un sous-ensemble C de l’ensemble {0, 1}n de tous les mots possibles. On dit que n est la longueur de C.
La distance de Hamming entre deux mots x = (x1 , ..., xn ) et y = (y1 , ..., yn ), que l’on notera d(x, y), est le nombre d’indices i tels que xi = yi . C’est bien une distance sur {0, 1}n . La distance minimum du code C est le minimum des d(x, y) pour x et y des mots diff´erents de
C (on suppose que C a au moins 2 mots !). On la notera toujours d.
Exemple 1. Consid`ere C = {c0 , c1 , c2 , c3 } avec c0 = (00000),
c1 = (10110),
c2 = (01011),
c3 = (11101).
C’est un code de longueur 5 et de distance d = 3.
Le mot c ∈ C est ´emis et, apr`es d’´eventuelles erreurs de transmission, le mot r ∈ {0, 1}n est re¸cu. On d´ecode le mot r selon le principe du maximum de vraisemblance, c.-`a-d. qu’on le d´ecode comme un mot de C ` a distance minimum de r. On dit que C est t-correcteur (ou corrige t erreurs) quand toute erreur portant sur au plus t bits est corrig´ee correctement. On