Code de répétition - Repetition code

Dans la théorie du codage , le code de répétition est l'un des codes de correction d'erreur les plus élémentaires . Afin de transmettre un message sur un canal bruyant qui peut corrompre la transmission à quelques endroits, l'idée du code de répétition est de simplement répéter le message plusieurs fois. L'espoir est que la chaîne ne corrompt qu'une minorité de ces répétitions. De cette façon, le récepteur remarquera qu'une erreur de transmission s'est produite puisque le flux de données reçu n'est pas la répétition d'un seul message, et de plus, le récepteur peut récupérer le message d'origine en regardant le message reçu dans le flux de données qui se produit le plus souvent.

En raison des mauvaises performances de correction d'erreur et du faible rapport entre les symboles d'information et les symboles réellement transmis, d'autres codes de correction d'erreur sont préférés dans la plupart des cas. Le principal attrait du code de répétition est la facilité de mise en œuvre.

Paramètres de code

Dans le cas d'un code de répétition binaire, il existe deux mots de code - tous des uns et tous des zéros - qui ont une longueur de . Par conséquent, la distance de Hamming minimale du code est égale à sa longueur . Cela donne au code de répétition une capacité de correction d'erreur de (c'est-à-dire qu'il corrigera jusqu'à des erreurs dans n'importe quel mot de code).

Si la longueur d'un code de répétition binaire est impaire, alors c'est un code parfait . Le code de répétition binaire de longueur n est équivalent au ( n , 1) - code de Hamming .

Exemple

Considérons un code de répétition binaire de longueur 3. L'utilisateur veut transmettre les bits d'information 101 . Ensuite, le codage mappe chaque bit soit sur le mot de code tous les uns, soit sur tous les zéros, nous obtenons donc le 111 000 111 , qui sera transmis.

Disons que trois erreurs corrompent les bits transmis et la séquence reçue l'est 111 010 100 . Le décodage est généralement effectué par une décision à la majorité simple pour chaque mot de code. Cela nous amène aux 100 bits d'information décodés, car dans le premier et le deuxième mot de code, moins de deux erreurs se sont produites, de sorte que la majorité des bits sont corrects. Mais dans le troisième mot de code, deux bits sont corrompus, ce qui entraîne un bit d'information erroné, car deux erreurs se trouvent au-dessus de la capacité de correction d'erreur.

Applications

Malgré leurs performances médiocres en tant que codes autonomes, l'utilisation dans des schémas de codage concaténés décodés itérativement comme du code Turbo , tels que les codes de répétition-accumulation (RA) et d'accumulation-répétition-accumulation (ARA), permet des performances de correction d'erreur étonnamment bonnes.

Les codes de répétition sont l'un des rares codes connus dont le débit de code peut être automatiquement ajusté à une capacité de canal variable , en envoyant plus ou moins d'informations de parité selon les besoins pour surmonter le bruit de canal, et c'est le seul code connu pour les canaux sans effacement . Des codes adaptatifs pratiques pour les canaux d'effacement n'ont été inventés que récemment et sont connus sous le nom de codes de fontaine .

Certains UART , tels que ceux utilisés dans le protocole FlexRay , utilisent un filtre majoritaire pour ignorer les brèves pointes de bruit. Ce filtre de rejet de pic peut être vu comme une sorte de décodeur de répétition.

Les références

  1. ^ Bossert, Martin (1999). Codage des canaux pour les télécommunications . Wiley. ISBN   9780471982777 .