La détection d'erreur peut parfois s'accompagner d'une correction
d'erreur. Pour arriver à une expression analytique des erreurs qui
peuvent être corrigées, il convient de disposer d'une table reliant
la valeur du syndrome à l'erreur
correspondante.
On obtient cette table en construisant une table à double entrée comprenant tous les mots codés possibles ainsi que toutes les vecteurs d'erreur (voir le tableau 8.3). Chaque ligne contient un vecteur d'erreur ainsi que le résultat de la superposition de ce message d'erreur sur l'ensemble des mots de code.
|
Au total, le tableau contient 2n n-uples de l'espace vectoriel
à n dimensions. Un calcul simple permet d'obtenir les syndromes
de toutes ces combinaisons vectorielles. En effet, soit le vecteur
=
+
obtenu
à la réception. Le syndrome de ce vecteur vaut
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
(8.30) |
Mais comme
est un mot codé,
HT =
.
Dès lors,
![]() ![]() ![]() ![]() ![]() ![]() |
(8.31) |
Autrement dit, le syndrome dépend de l'erreur et non pas de la valeur de message. De plus, cette relation montre que tous les éléments d'une même ligne du tableau 8.3 ont un syndrome identique. De cette manière, il y a une correspondance entre un syndrome et un vecteur d'erreur. On en déduit l'algorithme de correction d'erreur suivant: