Introduction: La poursuite des taux de données maximaux

Dans les systèmes de communication numérique, l'objectif fondamental est de transmettre le plus d'informations possible sur une bande passante limitée tout en veillant à ce que les données reçues soient exemptes d'erreurs. La limite supérieure théorique pour une communication fiable est connue sous le nom de capacité de canal, un concept défini d'abord par Claude Shannon dans son document de 1948. Cette capacité dépend de la puissance du signal, de la puissance sonore et de la bande passante. Cependant, les canaux du monde réel sont bruyants et imparfaits. Pour approcher cette limite théorique, les ingénieurs utilisent des techniques de codage sophistiquées.

Comprendre la capacité de la chaîne

Le théorème de la capacité du canal Shannon , qui indique que pour un canal de communication donné avec bande passante \(B\) et rapport signal-bruit (SNR), il existe un taux maximal \(C\) auquel l'information peut être transmise avec une faible probabilité d'erreur arbitraire. Ce taux, mesuré en bits par seconde, est donné par la formule bien connue:

\(C = B \log 2(1 + S/N)\)

où \(S/N\) est le rapport de puissance signal-bruit. Le théorème établit que la communication sans erreur est possible en dessous de cette limite mais pas au-dessus. Cependant, Shannon , la preuve était non-constructive; il n'a pas précisé comment pour atteindre la capacité. Le défi pour les ingénieurs de communication a été de concevoir des systèmes pratiques de codage et de modulation qui fonctionnent à proximité de cette liaison.

La capacité de la voie n'est pas un nombre fixe; elle dépend des conditions de la voie. Par exemple, dans les communications sans fil, la diminution, l'interférence et la propagation multipathale, le SNR varie au fil du temps. Les techniques de modulation et de codage adaptatifs (CMA) ajustent le taux de données en fonction de la qualité du canal, mais la stratégie de codage sous-jacente doit être suffisamment robuste pour traiter les conditions les plus défavorables.

Quelle est la correction d'erreur de renvoi?

La correction d'erreur de l'expéditeur (FEC) est une méthode de contrôle d'erreur dans laquelle l'expéditeur ajoute des bits redondants (parités) aux données originales avant la transmission. Ces bits redondants sont structurés de façon à ce que le récepteur puisse détecter et corriger un certain nombre d'erreurs sans demander de retransmission.

La FEC se distingue des protocoles de la Quête à répétition automatique (ARQ), qui se basent sur le récepteur pour détecter les erreurs et demander une retransmission. Bien que la RAQ soit plus simple, elle gaspille la bande passante sur les retransmissions et introduit la latence. La FEC échange l'efficacité de la bande passante (en raison du surcoût des bits redondants) pour une latence inférieure et un débit constant. La métrique clé pour un code FEC est son taux de code \(R = k/n\), où \(k\) est le nombre de bits d'information et \(n\) est le nombre total de bits dans un mot de code.

Comment fonctionne la FEC : étape par étape

Encodage

Le codeur prend un bloc ou un flux de bits de données d'entrée et les transforme en une séquence plus longue de bits (le mot de code) selon une règle mathématique spécifique. Cette règle garantit que les mots de code valides sont séparés par une distance minimale de Hamming, ce qui détermine la capacité de correction des erreurs. Par exemple, un code avec une distance minimale \(d {min}\) peut corriger jusqu'à \(\lfloor (d {min}-1)/2 \rfloor\). La redondance est introduite systématiquement.

Transmission et bruit

Le flux de bits codé est transmis sur le canal, où le bruit, l'interférence ou la perte de contenu peuvent corrompre certains bits. En pratique, la corruption est souvent modélisée comme un bruit gaussien blanc additif (AWGN), mais d'autres déficiences comme les erreurs de rupture ou le bruit de phase se produisent également.

Décodage

Le récepteur utilise la structure du code pour traiter la séquence de réception bruyante. Il existe deux approches principales de décodage :

  • Décodage de décision hard: Le récepteur prend d'abord une décision binaire (0 ou 1) pour chaque bit reçu, puis utilise des méthodes algébriques (par exemple, algorithme Berlekamp-Massey pour les codes Reed-Solomon) pour trouver le mot de code valide le plus proche.
  • Décodage de la décision de type «soft»: Le récepteur conserve les informations de fiabilité analogiques ou multiniveaux (soft bits) sur chaque symbole reçu. Ces informations sont transmises dans un décodeur qui effectue un traitement probabiliste, comme l'algorithme Viterbi pour les codes convolutionnels ou la propagation des croyances pour les codes LDPC. Le décodage de la décision de type «soft » donne généralement de meilleures performances (environ 2 dB d'amélioration) sur la décision de type « hard » au même taux de code.

Le décodeur produit soit un bloc de données corrigé, soit, si le motif d'erreur dépasse la capacité de correction du code, une détection d'erreurs non corrigées (qui peut déclencher une requête de retransmission à une couche de protocole supérieure).

Types de codes de correction d'erreur de renvoi

Au cours de plusieurs décennies de recherche, de nombreuses familles de codes FEC ont été élaborées, chacune présentant des caractéristiques distinctes adaptées à différentes applications.

Codes de blocs

Les codes-blocs fonctionnent sur des blocs de données d'entrée de taille fixe, notamment :

  • Codes Reed-Solomon (RS) : Ces codes BCH non binaires fonctionnent sur des symboles (souvent des octets de 8 bits).Ils sont excellents pour corriger les erreurs de rupture parce que les erreurs d'un symbole affectent plusieurs bits.
  • Codes BCH :[ Une grande classe de codes cycliques correcteurs d'erreurs avec des paramètres flexibles. Ils sont utilisés dans les systèmes de communications et de stockage par satellite.
  • Des codes de localisation : Des codes simples à correction unique, à double détection d'erreur, utilisés historiquement dans la mémoire d'ordinateur ancienne (RAM ECC).

Codes convolutionnels

Contrairement aux codes de blocs, les codes convolutionnels traitent un flux continu de bits d'entrée par des registres de décalage. La sortie dépend non seulement de l'entrée courante, mais aussi des entrées précédentes (mémoire). Ils sont généralement décodés à l'aide de l'algorithme Viterbi, qui effectue une détection de séquence de probabilité maximale. Les codes convolutionnels sont largement utilisés dans les normes sans fil (p. ex. GSM, 3G, et comme codes internes dans de nombreux systèmes).

Codes Turbo

Introduit en 1993, le turbocode révolutionne le champ en obtenant des performances dans un délai de 0,5 dB de la limite Shannon. Il se compose de deux encodeurs convolutionnels ou plus séparés par un interleaver et un processus itératif de décodage (soft-input soft-output) qui échange des informations extrinsèques entre décodeurs. Les codes Turbo sont utilisés dans les communications cellulaires 3G/4G (UMTS, LTE) et par satellite. Leur nature itérative introduit la latence, les rendant moins adaptés aux applications très peu latentes.

Codes de contrôle de la parité de faible densité (LDPC)

Les codes LDPC ont été inventés par Robert Gallager en 1963 mais n'ont pratiquement été réalisés que dans les années 90 en raison de limitations informatiques. Ils sont des codes de blocs linéaires définis par une matrice de contrôle de parité clairsemée. Ils sont décodés à l'aide de la propagation itérative des croyances sur un graphique bipartite (graphique Tanner), qui s'écaille efficacement.

Codes polaires

Les codes polaires, introduits par Erdal Arıkan en 2009, sont les premiers codes qui ont permis d'atteindre la capacité symétrique des canaux discrets sans mémoire binaires avec un faible encodage et une complexité de décodage (O(N log N)). Ils sont basés sur la polarisation des canaux et utilisent le décodage d'annulation successif.

FEC et capacité d'approche de la voie

La question fondamentale est : Quelle est la proximité de la FEC pour atteindre la limite Shannon ? Avec les codes modernes – en particulier les codes turbo, LDPC et polaire – l'écart a été réduit à des fractions de décibels. Par exemple, les codes DVB-S2 LDPC fonctionnent à moins de 0,7 à 1,0 dB de capacité, et certaines implémentations en laboratoire des codes LDPC atteignent à moins de 0,04 dB de la limite.

Pour approcher la capacité, les codes FEC doivent être longs et avoir des propriétés quasi aléatoires. Les codes simples de blocs comme Hamming sont loin de la capacité, tandis que les codes LDPC longs avec distributions irrégulières de degrés peuvent approcher la limite. Cependant, la longueur du code implique également le décodage du retard et de la mémoire.

Dans la pratique, pour atteindre la capacité, il faut aussi une modulation prudente et une adaptation des canaux. Par exemple, modulation codée entrelacée (BICM) combine FEC avec modulation à haut ordre (QAM, PSK) et est optimisée à l'aide de démappage et de décodage itératifs (BICM-ID), ce qui permet au système de fonctionner à des rendements spectraux supérieurs à 10 bits/s/Hz tout en restant à 1-2 dB de capacité.

Applications pratiques et compromis

La FEC est omniprésente dans les systèmes de communication modernes. Voici les domaines clés où la FEC est indispensable:

  • Les câbles sous-marins long-courriers utilisent des codes puissants de LDPC et d'escalier pour corriger les déficiences causées par le bruit de l'amplificateur, les non-linéarités et la dispersion.
  • Communications sans fil:[ 4G LTE utilise des codes turbo pour les canaux de données; 5G NR utilise des codes LDPC pour les données et des codes polaires pour le contrôle. Wi-Fi 6 (802.11ax) utilise des codes LDPC.
  • Communications spatiales et satellites: Le CCSDS (Comité consultatif des systèmes de données spatiales) recommande des codes turbo, LDPC et Reed-Solomon pour les missions dans l'espace profond. Les rovers Mars comptent sur des codes concaténés (Reed-Solomon + convolutional) pour transmettre des images haute définition sur des millions de kilomètres.
  • Systèmes de stockage:[ Les disques durs, les disques SSD et la mémoire flash utilisent une CFE forte (p. ex., CDPL avec décodage de décision dure) pour corriger les erreurs dues à l'usure et au bruit de lecture.

La FEC offre d'immenses avantages, mais elle introduit des compromis :

  • Overhead: Les bits redondants réduisent le taux de données effectif. Un code avec un taux 1/2 double la largeur de bande brute requise pour le même débit de charge utile.
  • Complexité: Le codage est généralement simple, mais le décodage, surtout la décision soft itérative, peut être coûteux en calcul, nécessitant du matériel dédié (ASIC ou GPU).
  • Latence: Les codes de blocs et le décodage itératif introduisent des retards de tamponnage et de traitement. Pour les applications à faible latence comme la conduite autonome (URLLC en 5G), les longueurs courtes des blocs et les codes simples sont préférés.
  • Étage d'erreur : Certains codes, en particulier le CDPL, peuvent présenter un plancher d'erreur à très faible taux d'erreur en raison des ensembles de piégeage.

Défis dans la conception de la FEC

Malgré des progrès remarquables, plusieurs défis subsistent pour rapprocher la performance de la limite de Shannon :

  • Performance de longueur finale:[ Les codes d'atteinte de la capacité sont asymptotiques; pour les longueurs de blocs finies pratiques, il y a un écart appelé régime de longueur de blocsfinite. Les chercheurs utilisent l'approximation normale pour caractériser les taux réalisables pour une longueur de blocs donnée et une probabilité d'erreur.
  • Correction d'erreur de burst: Les canaux du monde réel ont souvent des erreurs de brouillage (p. ex., affaiblissement, bruit d'impulsion). Les codes FEC traditionnels conçus pour les erreurs aléatoires peuvent fonctionner mal. L'interlaquage se propage mais augmente la latence.
  • Efficacité du logiciel :[ Lorsque les taux de données atteignent des centaines de gigabits par seconde (p. ex., Ethernet 800G), le débit de décodeur et la consommation d'énergie deviennent critiques.
  • L'intégration avec des couches supérieures:[La conception entre couches – où la FEC interagit avec l'allocation des ressources, la QAR et l'établissement de calendrier – exige un réglage attentif pour éviter la redondance et réaliser des gains de performance de bout en bout.

Orientations futures de la recherche FEC

Le champ de correction des erreurs continue d'évoluer. Les principales tendances sont les suivantes :

  • Correction d'erreur quantique :[ Pour rendre possible le calcul quantique tolérant aux défauts, des codes quantiques FEC (par exemple, codes de surface, codes de couleur) sont en cours de développement.
  • Les décodeurs en réseau neuronaux, comme le développement profond de la propagation des croyances, sont prometteurs pour améliorer les performances à proximité de la capacité, surtout pour les codes courts. Cependant, ils ne sont pas encore pratiques pour les systèmes à haut débit.
  • Codes spinaux et codes sans taux:[ Ces codes flexibles s'adaptent aux conditions de canaux sans taux de codes fixes, offrant des performances quasi optimales pour les canaux avec SNR inconnu ou variable dans le temps.
  • Les codes LDPC non binaires : En opérant sur des champs Galois d'ordre supérieur, les codes LDPC non binaires peuvent fournir des performances de cascade plus abruptes et une meilleure manipulation des modulations d'ordre supérieur, bien que la complexité du décodage augmente.
  • Codage mixte de canaux source:[ Au lieu de séparer la compression et la correction d'erreur, les schémas conjoints peuvent théoriquement approcher la limite Shannon plus étroitement en exploitant la redondance résiduelle.

Au début de la recherche 6G, la FEC devra supporter des taux de données extrêmement élevés (Tbps), des communications ultra-fiables à faible latence et une connectivité massive de type machine. De nouvelles familles de codes, peut-être basées sur la géométrie algébrique ou le décodage de liste, peuvent émerger.

Conclusion

La correction d'erreur avancée est une pierre angulaire de la communication numérique moderne, permettant une transmission fiable des données à des vitesses qui s'approchent des limites fondamentales fixées par Shannon. Des simples codes de hamming en mémoire précoce aux codes LDPC sophistiqués et polaires en 5G, la FEC a évolué pour combler l'écart entre la capacité théorique et les systèmes pratiques. Bien que les défis de complexité, de latence et de performance de longueur finie persistent, la recherche continue de repousser les limites.