previous parent next

5. Les codes polynômiaux

5.1. Présentation

Notation : tout vecteur peut être présenté sous une forme polynômiale :

Attention : les opérations sont binaires (construits sur le corps Z/2Z) : 1.x + 1.x = 0.x !

Définition : Un code polynômial est un code linéaire systématique dont chacun des mots du code est un multiple du polynôme générateur (noté g(x)).

Exemples de codes polynômiaux :

5.2. Capacité de détection

Capacité de détection des erreurs :

Un code polynômial (k, n) dont le polynôme générateur a plus d'un coefficient non-nul (donc il ne divise pas xi, i<n) permet de détecter toutes les erreurs simples.

Si le polynôme générateur d'un code polynômial (k, n) a un facteur irréductible de trois termes (il ne divise ni xi ni 1 + xj-i, i<j<n), le code permet de détecter les erreurs doubles.

Pour qu'un code polynômial détecte toutes les erreurs d'ordre impair, il suffit que son polynôme générateur ait (x+1) comme facteur.

Capacité de détection des paquets d'erreurs:

Un code polynômial (k, n) permet de détecter toutes les erreurs d'ordre l =< n-k (c'est-à-dire inférieur au degré du polynôme générateur).

Et la probabilité de ne pas détecter les erreurs d'ordre l>n-k est très faible et égale à : 2-(n-k)

5.3. Principe du codage

Le mot de code m(x) d'un code polynômial (k, n) de polynôme générateur g(x) associé au mot initial i(x) est défini par :

Remarques :

5.4. Principe du décodage

A la réception, chaque mot reçu m'(x) est divisé par le polynôme générateur g(x).

Attention : la réciproque est fausse ! Si le reste est nul cela ne veut pas dire qu'il n'y a pas eu d'erreurs --> subsistance d'erreurs dites résiduelles.

5.5. Schéma électronique d'un diviseur polynômial

La multiplication est réalisée par un ET logique, l'addition par un OU exclusif, plus des registres à décalage.

Le diviseur : g(x) = g0+g1.x+g2.x2+...+gn-k.xn-k

Procédé :

De nombreuses optimisations sont possibles :

previous parent next