Les codes de vérification de la parité de faible densité (LDPC) sont devenus une pierre angulaire des systèmes de communication numérique modernes, permettant une transmission fiable des données près de la limite de Shannon. D'abord introduits par Robert Gallager dans sa thèse de doctorat de 1963 et redécouverts dans les années 1990, ces codes font désormais partie intégrante de normes telles que DVB-S2, Wi-Fi (IEEE 802.11n/ac/ax), 5G NR et communications en espace profond. La capacité d'ajuster le taux de code — c'est-à-dire le rapport des bits d'information au total des bits transmis — est essentielle pour s'adapter aux conditions de canaux variables et aux exigences de qualité de service.

Principes fondamentaux des codes LDPC

Hm. La sparosité de [[FLT:][FLT:][FLT:][FLT:][FLT:][FLT:][FLT:][FLT:][FLT:][FLT:][FLT:][FLT:][FLT:][FLT:][FLT:][FLT:][FLT:][FLT:][FLT:][FLT:][FLT:][FLT:][F=][F=][F=F][F=F][F]

Le taux de code R est donné par [n – [m) / n pour une matrice pleine range, représentant la fraction d'un mot de code qui contient des informations originales. Un taux de code plus élevé signifie moins de redondance (plus de débit), tandis qu'un taux de code plus bas fournit une correction d'erreur plus forte (plus de fiabilité).

Pourquoi ajuster les taux de codes?

Un seul taux de code ne peut pas répondre de manière optimale à toutes les conditions : dans de bonnes conditions, un taux élevé maximise le débit des données ; dans de mauvaises conditions, un taux faible assure une réception fiable. Les systèmes de codage et de modulation adaptatifs (ACM) ont donc besoin de codes compatibles avec les taux. La ponctuation et la réduction permettent au même encodeur et décodeur de prendre en charge plusieurs taux, réduisant ainsi la complexité matérielle et les besoins en mémoire.

La technique de la ponctuation

La ponctuation est une méthode pour augmenter[ le taux de code effectif en supprimant (sans transmettre) de façon sélective certains bits d'un mot de code après encodage. Généralement, un code mère à taux élevé est généré en utilisant une matrice LDPC; puis un sous-ensemble des bits de parité (ou parfois des bits systématiques) est rejeté avant la transmission. Le récepteur, conscient du motif de ponctuation, traite les bits manquants comme des effacements et tente de récupérer le mot de code original en utilisant les bits restants et la matrice de vérification de parité complète.

Mathématiquement, si le code mère a une longueur n et k, les bits d'information (taux [k/n), la ponctuation p donnent un mot de code transmis de longueur n – p, ce qui donne un taux effectif de k / (n – p), qui est supérieur au taux de code mère. Le décodeur, cependant, fonctionne toujours sur le plein n]-bit variable node set – les noeuds variables poncturenés sont initialisés avec des rapports de probabilité de log zéro (LLR), ce qui indique une incertitude maximale (c.-à-d. une effacement). Pendant le décodage itératif, les messages provenant de noeuds peuvent fournir des informations relatives à la récupération des noeuds non effacé

Patterns de ponctuation et considérations de conception

La performance d'un code LDPC perforé dépend fortement de la taille des bits. La ponctuation aléatoire peut dégrader les performances car elle peut briser la structure du code, en particulier pour les courtes longueurs de blocs.

  • Ponction régulière:[ Enlever les bits selon un motif périodique fixe. Ceci est simple mais peut ne pas être optimal.
  • Ponction fondée sur le poids de la colonne: Prioriser la ponctuation des nœuds variables avec un poids de colonne inférieur (raccordement plus faible pour vérifier les nœuds) parce qu'ils contribuent moins au décodage.
  • Concevoir le motif de façon à pouvoir récupérer rapidement les nœuds perforés – typiquement en s'assurant que chaque noeud perforé est connecté à au moins un noeud de contrôle dont les autres voisins sont tous transmis (c.-à-d. un noeud de récupération).

Un concept important est l'arbre de récupération: après un certain nombre d'itérations de décodage, le LLR d'un noeud variable perforé peut devenir non nul en raison de l'information extrinsèque des nœuds de vérification. Plus l'arbre de récupération est profond, plus il faut d'itérations. Pour les familles compatibles avec les taux, les «niveaux de ponctuation» sont souvent précalculés pour atteindre une gamme de taux cibles avec une dégradation minimale des performances.

Impact sur la complexité du décodage

La ponctuation n'augmente pas la complexité de décodage par itération car le même nombre de nœuds variables et de cochez est présent dans le graphique Tanner. Cependant, le nombre d'itérations nécessaires à la convergence peut augmenter en raison des effacements initiaux. De plus, le décodeur doit connaître le modèle de ponctuation pour initialiser adéquatement les LLR.

La technique de raccourcissement

Le raccourcissement est utilisé pour diminuer le taux de code effectif, rendant le code plus robuste. Dans le raccourcissement, certains bits d'information sont définis à une valeur connue (généralement zéro) avant l'encodage, et ces bits ne sont pas transmis. Seuls les bits d'information restants et tous les bits de parité sont envoyés. Le récepteur, sachant quelles positions ont été raccourcies, traite les bits connus comme des informations secondaires supplémentaires pendant le décodage.

Considérez un code mère avec k bits d'information et n bits totaux (taux [k/n. Si nous raccourcissons s bits, le mot de code transmis réel se compose de k – s bits d'information et n – k bits de parité, pour un total de n – s bits transmis. Le taux effectif devient [k – s]] / n – s], qui est inférieur au taux de code mère.

Mise en œuvre et résultats

Le raccourcissement est simple dans la pratique : l'encodeur définit simplement les positions de bits d'information choisies à zéro (ou toute valeur connue) et encode comme d'habitude. Au décodeur, les LLR de ces nœuds variables sont réglés à +--- (pour un zéro connu en clé binaire de changement de phase) ou à l'équivalent de grande magnitude.

Un avantage clé de raccourcissement est qu'il ne nécessite aucune modification de la matrice de contrôle de parité ou de l'algorithme de décodage. La structure du code reste intacte, mais le taux de code est effectivement abaissé. Contrairement à la ponctuation, qui introduit des effacements qui doivent être résolus, raccourcissement ajoute une information parfaite.

Échanges et interactions avec la ponctuation

Par exemple, un système peut utiliser un code mère avec taux 1/2, puis appliquer la ponctuation pour augmenter le taux vers 2/3 ou 3/4, et appliquer simultanément la raccourcissement pour réduire le taux vers 1/3 ou 1/4. Cette double approche permet à un décodeur unique de couvrir une large gamme de taux. Cependant, la combinaison doit être conçue avec soin : si de nombreux bits sont à la fois raccourcis et perforés (ce qui serait redondant), la performance peut en souffrir.

Un scénario commun où les deux techniques sont utilisées est dans la redondance progressive (IR) demande de répétition automatique hybride (HARQ). Initialement, un code-word perforé à haut taux est envoyé. Si le décodage échoue, des bits de parité supplémentaires (qui étaient auparavant perforés) sont transmis dans les retransmissions subséquentes – c'est essentiellement un schéma IR basé sur la ponctuation.

Comparaison de la ponctuation et de la réduction des effectifs

AspectPuncturingShortening
Effect on code rateIncreases rate (less redundancy)Decreases rate (more redundancy)
Bits removed/not transmittedParity (or systematic) bits are omittedInformation bits are set to known value and omitted
State at decoderPunctured bits are erasures (LLR=0)Shortened bits have perfect LLR (large magnitude)
Performance trade-offHigher rate → less error correction; may need more iterationsLower rate → stronger error correction; increased overhead
ComplexitySame decoder graph; increased iterations possibleSame decoder graph; no extra iterations needed
Design challengePuncturing pattern must be optimized to avoid error floorMinimal design effort; works well for small shortening amounts
Common useAdaptive rate increase, ARQ, rate-compatible familiesFine rate reduction, code shortening for specific block sizes

Applications dans les normes modernes

Dans DVB-S2 et son extension DVB-S2X, les codes de taux LDPC 1/4 à 9/10 sont supportés. Ils sont dérivés d'un ensemble commun de codes mères utilisant la ponctuation et la réduction. La norme définit des modèles spécifiques pour atteindre chaque taux cible, assurant une performance quasi optimale. De même, 5G NR[ utilise les codes LDPC pour le canal de données, avec des graphiques de base (BG1 et BG2) conçus pour soutenir la compatibilité des taux. La ponctuation est utilisée pour atteindre les taux les plus élevés, tandis que la réduction (combinée avec la répétition) aide à atteindre les taux les plus bas. La norme 5G emploie également un ----CCR et HARQ qui utilise une redondance progressive en utilisant des bits de parité perforés.

Dans Wi-Fi 802.11n/ac/ax, les codes LDPC sont facultatifs mais largement appliqués.La norme définit un ensemble de taux de code (1/2, 2/3, 3/4, 5/6) pour chaque longueur de bloc. Ces taux sont obtenus en commençant par un code mère de taux 1/2 et en se perçant pour obtenir des taux plus élevés, ou en raccourcissant pour obtenir des taux plus bas (bien que le raccourcissement soit moins fréquent dans ce contexte).

Les missions de l'espace profond, comme celles de la NASA utilisant la norme CCSDS, reposent également sur des codes LDPC avec ponctuation et raccourcissement pour la télémétrie et les liaisons de commande. La capacité d'ajuster le taux de code sans changer le décodeur matériel est inestimable pour les missions de longue durée où les conditions de canal sont imprévisibles.

Mesure des performances et optimisation

Lors de la conception d'un système compatible avec la vitesse en utilisant la ponctuation et la réduction, les ingénieurs évaluent la vitesse d'erreur de bits (BER) et la vitesse d'erreur de cadre (FER) comme fonction du rapport signal-bruit (SNR). L'objectif est d'approcher la limite Shannon pour chaque vitesse effective. La ponctuation introduit généralement une petite pénalité par rapport à un code mère dédié du même taux, mais la pénalité peut être minimisée par une conception soignée de motifs.

Une autre mesure importante est le plancher d'erreur , la région à forte NRS où le taux d'erreur s'aplatit en raison des ensembles de piégeage ou de petits cycles dans le graphique Tanner. La ponctuation peut élever le plancher d'erreur si elle est mal conçue, surtout pour les codes LDPC avec des longueurs modérées de blocs.

Les chercheurs ont proposé de nombreux algorithmes pour optimiser conjointement les modèles de ponctuation, y compris l'évolution de la densité, les diagrammes de transfert d'information extrinsèque (EXIT) et les algorithmes génétiques. Par exemple, le travail de Ha, Kim et McLaughlin ("Codes de vérification de la parité de la densité de faible densité ponctionnable avec longueurs courtes de blocs", Transactions IEEE sur la théorie de l'information, 2004) fournit un cadre fondamental pour la conception de bons modèles de ponctuation.

Conclusion

La ponctuation et le raccourcissement sont des outils essentiels pour ajuster le taux de code des codes LDPC sans exiger de multiples implémentations distinctes de codeurs et de décodeurs. La ponctuation augmente le taux effectif en omettant des bits, en les transformant en effacements au décodeur, tandis que le raccourcissement diminue le taux en fixant des bits d'information à des valeurs connues et en ne les transmettant pas. Les deux méthodes préservent la structure de base de la matrice LDPC, permettant une compatibilité de taux flexible pour les systèmes de communication adaptatifs.