Qu'est-ce que le FEC et comment l'utiliser ?

Dec 28, 2021

Laisser un message

Qu'est-ce que le FEC et comment l'utiliser ?

Dans les systèmes de communication, la théorie de l'information et la théorie du codage, la correction d'erreur directe (FEC) est une technique utilisée pour contrôler les erreurs de transmission de données sur des canaux de communication peu fiables ou bruyants. Le FEC doit ses débuts aux travaux pionniers de Claude Shannon en 1948 sur la communication fiable sur des canaux de transmission bruyants. Le thème central de Shannon était que si le débit de signalisation du système est inférieur à la capacité du canal, une communication fiable peut être obtenue si l'on choisit des techniques de codage et de décodage appropriées.

FEC-2

La figure 1 montre un modèle simplifié d'un système codé. Les données de transmission brutes sont représentées sous la forme d'une séquence de messagesu. L'encodeur FEC transforme le messageudans un mot de codeen ajoutant des données redondantes, avant d'entrer dans le canal non fiable ou bruyant. La redondance ajoutée permet au décodeur récepteur de détecter un nombre limité d'erreurs susceptibles de se produire dans le message, et souvent de corriger ces erreurs sans retransmission, dans le but que la séquence de message d'origineuest récupéré avec succès à la sortie du décodeur.

 

Types de codes FEC

Deux types de codes structurellement différents sont couramment utilisés aujourd'hui : les codes en blocs et les codes convolutifs. L'encodeur d'un code en bloc divise la séquence d'informationsudans les blocs de message dekbits d'information (symboles) chacun et transforme chaque messageuindépendamment dans un mot de code,n-bit (symboles)v. Le rapportR = k/nest appelé le taux de code. Les bits redondants (symboles),n-k, fournissent au code la capacité de lutter contre le bruit du canal.

Un paramètre important d'un code de bloc est la distance minimale,dmin, il s'agit de la distance entre deux mots de code les plus proches, qui représente le nombre minimum de modifications de données nécessaires pour transformer un mot de code valide en un autre. Ce paramètre détermine les capacités de détection et de correction d'erreurs d'un code. Normalement, un code FEC est capable de détecterdmin-1 erreurs par mot de passe et corrigez jusqu'à (dmin-1)/2 erreurs par mot de passe. Par exemple, code Reed Solomon, RS (544, 514,t=15, m=10), est un code en bloc avec 514 symboles d'information et 30 symboles redondants. Chaque symbole a 10 bits. Sa distance minimale estdmin=31 de sorte qu'il puisse corriger jusqu'à (dmin-1)/2=15 erreurs de symbole par mot de code.

L'encodeur pour un code convolutif accepte également k-blocs de bits de la séquence d'informationsuet produit une séquence codéevden-blocs de symboles. Cependant, chaque bloc encodé dépend non seulement de lak-blocage de message de bit dans la même unité de temps mais aussi surmblocs de messages précédents. Outre les bits redondants,n-k, plus de redondance est ajoutée en augmentant l'ordre de la mémoiremdu code pour obtenir une transmission fiable sur un canal bruyant.

Basé sur la théorie de Shannon [1], plus le mot de code est long, plus la capacité de correction d'erreurs qu'il fournit est puissante. Cependant, la complexité du codage augmente également avec la longueur du mot de code. Pour obtenir un meilleur compromis entre la complexité et les performances de codage, il existe quelques techniques pour construire des codes longs puissants à partir de codes de composants courts, tels que des codes de produit, des codes concaténés et des codes entrelacés.

La figure 2 montre un code produit bidimensionnel formé de deux codes C1(n1, k1) et C2(n2, k2) avec distance minimaledmin1etdmin2, respectivement. Chaque ligne du code produit C1 x C2est un mot de code en C1et chaque colonne est un mot de code en C2. Le code produit est capable de corriger n'importe quelle combinaison de (dmin1dmin2-1)/2 erreurs.

FEC-3

La figure 3 montre un code concaténé à un niveau avec un code externe C1(n1, k1) avec distance minimaledmin1et un code interne C2(n2, k2) avec distance minimaledmin2. La distance minimale de leur concaténation est d'au moinsdmin1dmin2.

FEC-4

La figure 4 montre la transmission d'un code entrelacé. Etant donné un code bloc (n,k) C, il est possible de construire un code bloc (λn, λk) par entrelacement, c'est-à-dire simplement en arrangeant λ mots de code dans C en λ lignes d'un tableau rectangulaire puis en transmettant la colonne du tableau par colonne. Même si la distance minimale du code entrelacé est toujoursdminen tant que code individuel C, il peut décomposer les longues rafales d'erreurs en λ mots de code différents.

figure4

Des codes FEC plus avancés, tels que les turbocodes et les codes de contrôle de parité à faible densité (LDPC), ont été inventés par des universitaires et adoptés par l'industrie au cours des dernières décennies pour approcher la limite de Shannon (ou capacité de canal) . Cependant, leurs excellents gains de performances sont normalement payés par une complexité et une latence d'encodage/décodage importantes.

Il y a quatre facteurs critiques à prendre en compte lors de la sélection d'un code FEC et d'un schéma de codage appropriés pour un système de communication particulier. Pour maintenir un débit élevé ou éviter d'augmenter considérablement le taux de liaison,taux de codedoit être élevé. Pour compenser la perte de canal ou assouplir les exigences de rapport signal sur bruit (SNR) ou de taux d'erreur sur les bits (BER) au niveau des trancheuses de décision dans le récepteur, un grandgain de codageest souhaitable. Cependant, les inconvénients du FEC sont leslatence de codageetcomplexité du codagecela augmentera le temps de transmission et la puissance/le coût du système.

Applications FEC aux systèmes de liaison série

Le paysage de la technologie FEC pour les systèmes de communication filaire est illustré à la figure 5 et comprend à la fois des liaisons électriques et optiques. Pour les liaisons électriques, l'industrie a récemment intégré des mises à jour du format de signalisation du format de signalisation à deux niveaux (NRZ) au format de signalisation à quatre niveaux (PAM4) lors de la transition des débits de données de liaison de 25 Gb/s à 50 Gb/s.

L'un des principaux défis de conception de PAM4 SerDes est la pénalité de détection de PAM4 sur NRZ, d'environ 9,54 dB ou même plus si l'on considère la dégradation de la marge horizontale due aux croisements de signaux à plusieurs niveaux. Par conséquent, FEC devient une partie importante de la solution du système PAM4 pour compenser cette pénalité de détection. RS (544, 514, 15) FEC, également connu sous le nom de KP4 FEC, a été largement adopté dans les liaisons PAM-4. Il fournit des systèmes Ethernet 200/400G avec un gain de codage allant jusqu'à 7 dB, tout en ajoutant une pénalité de latence de centaines de nanosecondes (ns) comme coût. Les codes FEC à gain élevé tels que les codes de contrôle de parité à faible densité (LDPC) et les codes de produit turbo (TPC) sont normalement pris en compte pour les systèmes de transmission optique longue distance avec le coût d'une latence et d'une complexité de codage plus importantes. Pour les applications à faible latence, des codes courts simples en blocs avec un gain et une complexité de codage modérés pourraient être utilisés.

FEC-5

Envoyez demande