Les turbocodes
Les turbocodes ont envahi les télécoms et les transmissions spatiales. Ils corrigent les erreurs dans des conditions difficiles de transmission.
01net.
le 02/03/06 à 07h00
Interférences, bruit des composants, imperfection de la ligne filaire ou hertzienne : toute transmission introduit des erreurs dans le message. Pour restituer le message d'origine, les équipements comportent des mécanismes
correcteurs. La limite de correction d'erreurs dans les systèmes numériques a été calculée, dès 1948, par Claude Elwood Shannon, chercheur des Bell Labs.
Elle a longtemps paru inaccessible. Jusqu'à l'arrivée, en 1993, des turbocodes, inventés par deux chercheurs français à l'ENST Bretagne : Claude Berrou et Alain Glavieux. A ce jour, ils sont employés, dans les réseaux 3G, les
réseaux satellites (DVB), WiMAX ou les agences spatiales.
Une grille de mots croisés
Le principe : deux codeurs simples travaillant de concert fonctionnent mieux qu'un système unique et complexe. Ils ?"uvrent à la manière d'une grille de mots croisés. Le codeur n?'1 génère les définitions horizontales et le
codeur n?'2 les définitions verticales. Le message d'origine est aussi transmis. Le second point-clé des turbocodes provient de l'utilisation du phénomène de contre-réaction. Les décodeurs échangent leurs informations et, à partir de celles-ci, l'un
recalcule les lignes, l'autre les colonnes. D'où le nom de turbocode, par analogie avec les moteurs turbo qui utilisent les gaz d'échappement pour augmenter leur puissance.
Ici, le résultat des calculs est réinjecté dans les décodeurs pour affiner l'analyse. Les turbocodes aident à atteindre pratiquement la limite de Shannon. D'un taux d'erreur de 1 bit sur 10 ou sur 5, on restitue quasiment le
message d'origine.
Deux décodeurs travaillant de concert
1. Le codage
Les données à transmettre sont dupliquées pour former trois messages. Deux passent dans des codeurs et le troisième est envoyé tel quel. Avant de passer dans le codeur 2, les données sont entrelacées selon une règle précise : le
but consiste à ne pas coder deux séquences dans un ordre identique afin que les décodeurs puissent faire des recoupements.
Les deux codeurs appliquent les mêmes algorithmes pour introduire sur chaque chaîne des bits redondants de parité qui serviront à la correction d'erreurs dans le décodeur. Les trois séquences sont envoyées en même temps dans un
bloc unique.
2. Le décodage
Les trois chaînes sont reconstituées. La chaîne initiale est envoyée aux deux décodeurs. La chaîne passée par le codeur 1 est aiguillée vers le décodeur 1 et la chaîne 2 vers le décodeur 2, après avoir subi un entrelacement avec le
même algorithme qu'au moment du codage. Les algorithmes de décodage sont appliqués.
3. Un procédé itératif
Les deux décodeurs échangent leurs résultats, avec un coefficient de probabilité sur la certitude de ce résultat. Chaque décodeur applique alors de nouveau l'algorithme de décodage. Selon le taux d'erreur, de 5 à 20 passages par
les algorithmes sont ainsi effectués, jusqu'à une convergence correcte entre les résultats des deux décodeurs.
Le nombre de ces passages doit être limité pour ne pas introduire de retard excessif. Les procédés antérieurs mettaient en ?"uvre un codeur et un décodeur uniques, très complexes, et il n'était pas possible de comparer des
résultats.