Turbo code

Turbo code

Turbo code est le nom d'un type de code correcteur imaginé dans les années 1990, qui permet de s'approcher de la limite de Shannon (en) davantage que ses prédécesseurs. Les turbo codes sont actuellement incontournables lorsque l'on touche au codage de l'information ou aux télécommunications de pointe : ils sont un standard pour les systèmes de téléphonie mobile GSM (Global System of Mobile communication) de troisième génération.

Sommaire

Origine

Les turbo codes sont nés au sein de Télécom Bretagne, suite aux travaux de Claude Berrou, Alain Glavieux et Punya Thitimajshima, publiés en 1993 et présentés lors de l'International Conference on Communications de juin 1993 à Genève en Suisse.

Principe des turbo codes

Le principe des turbo codes, comme tout code correcteur d'erreur, est d'introduire une redondance dans le message afin de le rendre moins sensible aux bruits et perturbations subies lors de la transmission. Le codage consiste à utiliser deux (ou plus) de codeurs simples, dont les entrées ont été entrelacées; ainsi, chaque codeur voit une série d'informations différentes à son entrée. Le décodage, lui, est une collaboration entre les décodeurs, chacun donnant son "avis" (notion de confiance) sur chaque bit décodé. Cette information est ensuite fournie à l'entrée du prochain décodeur, et ainsi de suite. D'où l'appellation "turbo".

Codage

Un turbo codeur classique résulte de l'association de deux (ou plus) codeurs. Il s'agit souvent de codeurs convolutifs récursifs systématiques (RSC : Recursive Systematic Coder) car leur récursivité apporte des propriétés pseudo-aléatoires intéressantes.

Concrètement, le turbo codeur produira typiquement trois sorties à envoyer sur le canal de transmission (après modulation éventuelle) :

  1. la sortie ys dite systématique, c'est-à-dire l'entrée même du codeur (la séquence u)
  2. la sortie de parité 1 x_p^1 : la sortie du premier codeur
  3. la sortie de parité 2 x_p^2 : la sortie du deuxième codeur. La différence entre ces deux sorties vient du fait que la trame u est entrelacée avant d'entrer dans le deuxième codeur. Elle est mélangée.

Ce codage permet donc de répartir l'information apporté par un bit de la trame u sur ses voisins (avec le codage de parité 1) et même sur toute la longueur de la trame transmise (avec le codage de parité 2). Ainsi, si une partie du message est fortement abîmée pendant la transmission, l'information peut encore se retrouver ailleurs.

Décodage

Le décodage, nous l'avons dit, est le fruit de la collaboration des décodeurs. Ceux-ci vont s'échanger de l'information de manière itérative afin d'améliorer la fiabilité (valeur soft) de la décision qui sera prise pour chaque symbole. La trame arrive, rentre dans le premier décodeur, et donne des valeurs soft. Vous enlevez ce qui provient de la trame d'arrivée, pour ne garder que les informations extrinsèques apportées par le décodeur (sinon vous provoquez un effet d'avalanche ...). Puis les données d'arrivée et les données extrinsèques sont entrelacées et fournies à l'entrée du second décodeur. Une itération consiste à l'activation de chaque décodeur une fois. Ainsi, plus vous ferez d'itérations, plus le décodeur convergera vers la bonne solution; cependant effectuer plus d'itérations nécessitent souvent plus de temps et plus de hard.


Utilisation de turbo code

En raison de sa performance, turbo code a été adopté par plusieurs organismes pour être intégré dans leurs standards. C'est ainsi que la NASA a décidé d'utiliser les turbo codes pour toutes ses sondes spatiales, construites à partir de 2003.

De son côté, l'Agence spatiale européenne (ESA) a été la première agence spatiale à utiliser turbo code, avec sa sonde lunaire Smart 1.

Plus près de nous, turbo code est utilisé par l'UMTS et l'ADSL 2.

Les turbo-codes fonctionnent très bien avec l'OFDM car ils bénéficient ainsi des étalements en temps et en fréquence du système.

Lien externe


Wikimedia Foundation. 2010.

Contenu soumis à la licence CC-BY-SA. Source : Article Turbo code de Wikipédia en français (auteurs)

Игры ⚽ Нужна курсовая?

Regardez d'autres dictionnaires:

  • Turbo-Code — Turbo Codes sind eine Gruppe von fehlerkorrigierenden Block oder Faltungs Codes, welche in der digitalen Signalverarbeitung zur gesicherten Datenübertragung, beispielsweise auf Satelliten Übertragungsstrecken, verwendet werden. Sie wurden 1993… …   Deutsch Wikipedia

  • Turbo code — In electrical engineering and digital communications, turbo codes (originally in French Turbocodes ) are a class of high performance error correction codes developed in 1993 which are finding use in deep space satellite communications and other… …   Wikipedia

  • Turbo-Convolutional-Code — Turbo Codes sind eine Gruppe von fehlerkorrigierenden Block oder Faltungs Codes, welche in der digitalen Signalverarbeitung zur gesicherten Datenübertragung, beispielsweise auf Satelliten Übertragungsstrecken, verwendet werden. Sie wurden 1993… …   Deutsch Wikipedia

  • Code Correcteur — Un code correcteur est une technique de codage basée sur la redondance. Elle est destinée à corriger les erreurs de transmission d une information (plus souvent appelée message) sur une voie de communication peu fiable. La théorie des codes… …   Wikipédia en Français

  • Turbo código — Los turbo códigos son una nueva clase de códigos de corrección de errores (FEC), que se introdujeron, junto con un algoritmo de decodificación. La importancia de los turbo códigos es que permiten una comunicación fiable y su eficiencia energética …   Wikipedia Español

  • Turbo — Cette page d’homonymie répertorie les différents sujets et articles partageant un même nom.  Pour l’article homophone, voir Turbot. Sur les autres projets Wikimedia : « Turbo », sur …   Wikipédia en Français

  • Code correcteur — Un code correcteur est une technique de codage basée sur la redondance. Elle est destinée à corriger les erreurs de transmission d une information (plus souvent appelée message) sur une voie de communication peu fiable. La théorie des codes… …   Wikipédia en Français

  • Turbo Pascal — ist eine integrierte Entwicklungsumgebung der Firma Borland für die Programmiersprache Pascal. Inhaltsverzeichnis 1 Geschichte 1.1 Turbo Pascal 1.0 1.2 Folgeversionen …   Deutsch Wikipedia

  • Code Impénétrable — Le code impénétrable d un programme informatique est un code dont la compréhension est très difficile pour un humain tout en restant parfaitement compilable par un ordinateur. Appelé aussi assombrissement ou obfuscation, cette technique de… …   Wikipédia en Français

  • Code impenetrable — Code impénétrable Le code impénétrable d un programme informatique est un code dont la compréhension est très difficile pour un humain tout en restant parfaitement compilable par un ordinateur. Appelé aussi assombrissement ou obfuscation, cette… …   Wikipédia en Français

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”