Challenges
Datasets
Workspaces
Papers
Discussions
Leaderboard
Log inSign up
Challenges
Datasets
Workspaces
Papers
Discussions
Leaderboard
Blog
Job Board
Q3AS

© 2026 Aqora Quantum S.A.S.

TermsPrivacyLegal Notice

Contribution à la construction et au décodage des codes polaires

Ludovic Chandesris

Published Jan 23, 2019• 1 citation
Publisher

Abstract

Dans un monde où les flux de données sont toujours plus intenses et omniprésents, les codes correcteurs d’erreurs constituent une composante essentielle aux systèmes de télécommunications, en permettant de compenser l’altération inévitable du message lors de la transmission, grâce à l’ajout de redondance. Dernière famille de codes à avoir été découverte, en 2008, les codes polaires ont rapidement attiré l’attention des chercheurs par leur aptitude à garantir une probabilité d’erreur arbitrairement faible pour tout rendement inférieur ou égal à la capacité du canal de propagation – la limite théorique, définie par Shannon en 1948. Tout récemment, ces codes ont été adoptés pour être utilisés dans la Cinquième génération de standards pour la téléphonie mobile 5G. Cette thèse porte sur l’étude de cette famille de codes face aux contraintes applicatives rencontrées en pratiques, et notamment dans la 5G, à travers les deux axes principaux que sont la construction des codes et leur décodage en longueur finie.Après avoir passé en revue la définition et la caractérisation des codes polaires, ainsi que les aspects relatifs au spectre des distances, cette thèse explore la question de la flexibilité des codes en termes de longueurs, à l’aide des techniques de poinçonnage et de raccourcissement, et développe une méthodes pour optimiser le choix des motifs de sorte à minimiser le taux d’erreur pour le décodeur par annulation successive (SC, pour successive cancellation, en anglais). Dans un deuxième temps, un nouvel algorithme de décodage à inversion est introduit, permettant une amélioration significative des performances par rapport à l’état de l’art pour une complexité moyenne réduite et proche de celle du simple décodeur SC. Finalement, la question de l’utilisation des codes polaires avec les modulations d’ordre supérieur est abordée. Tout d’abord, les deux principales approches de modulations codées utilisant un code binaire, à savoir la modulation à entrelacement de bit et la modulation multi-niveaux, sont considérées, et il est mis en évidence le net avantage de la deuxième citée. Par suite, l’utilisation de codes polaires non-binaires est envisagée et il est montré qu’au prix d’une complexité de décodage supérieure, ceux-ci sont en mesure de surpasser leurs homologues binaires.

DOI
10.70675/00caaa41zf9fdz4b15z80f8ze8a14b94028f

Related papers

Application des réseaux de tenseurs pour l'étude du bruit avec mémoire dans les codes polaires et ses généralisations

Benjamin Bourassa

Les codes polaires sont une famille de codes de correction d'erreurs récemment développées. Leurs bonnes propriétés font en sorte qu'ils ont été sélectionnés pour être intégrés dans les nouveaux standards de télécommunication (5G) vers 2020. L'algorithme de décodage, connu sous le nom de décodeur par annulation successive, est une méthode de décodage itérative. Cet algorithme permet aux codes polaires d'atteindre le taux de transmission d'informations optimal qu'on peut transmettre pour un modèle de bruit donné. Ce mémoire présente une méthode de décodage graphique basée sur les réseaux de tenseurs, un outil très utilisé en physique des problèmes à N-corps. L'aspect innovant de ce mémoire est la prise en compte d'un modèle de bruit avec mémoire, une généralisation du décodeur par annulation successive. Il est possible d'étendre la famille des codes polaires en introduisant une structure interne convolutive. Ces codes ainsi obtenus sont nommés les codes polaires convolutifs. L'algorithme de décodage reste valide pour ces généralisations. Les résultats, obtenus par simulation numérique, montrent que la performance des codes polaires convolutifs est supérieure à celle des codes polaires standard pour les modèles de bruits considérés.

•Jan 1, 2019•0 citations

Polar decoding on programmable architectures.

Mathieu Léonardon

Les codes polaires constituent une classe de codes correcteurs d’erreurs inventés récemment qui suscite l’intérêt des chercheurs et des industriels, comme en atteste leur sélection pour le codage des canaux de contrôle dans la prochaine génération de téléphonie mobile (5G). Un des enjeux des futurs réseaux mobiles est la virtualisation des traitements numériques du signal, et en particulier les algorithmes de codage et de décodage. Afin d’améliorer la flexibilité du réseau, ces algorithmes doivent être décrits de manière logicielle et être déployés sur des architectures programmables. Une telle infrastructure de réseau permet de mieux répartir l’effort de calcul sur l’ensemble des noeuds et d’améliorer la coopération entre cellules. Ces techniques ont pour but de réduire la consommation d’énergie, d’augmenter le débit et de diminuer la latence des communications. Les travaux présentés dans ce manuscrit portent sur l’implémentation logicielle des algorithmes de décodage de codes polaires et la conception d’architectures programmables spécialisées pour leur exécution.Une des caractéristiques principales d’une chaîne de communication mobile est l’instabilité du canal de communication. Afin de remédier à cette instabilité, des techniques de modulations et de codages adaptatifs sont utilisées dans les normes de communication.Ces techniques impliquent que les décodeurs supportent une vaste gamme de codes : ils doivent être génériques. La première contribution de ces travaux est l’implémentation logicielle de décodeurs génériques des algorithmes de décodage "à Liste" sur des processeurs à usage général. En plus d’être génériques, les décodeurs proposés sont également flexibles.Ils permettent en effet des compromis entre pouvoir de correction, débit et latence de décodage par la paramétrisation fine des algorithmes. En outre, les débits des décodeurs proposés atteignent les performances de l’état de l’art et, dans certains cas, les dépassent.La deuxième contribution de ces travaux est la proposition d’une nouvelle architecture programmable performante spécialisée dans le décodage de codes polaires. Elle fait partie de la famille des processeurs à jeu d’instructions dédiés à l’application. Un processeur de type RISC à faible consommation en constitue la base. Cette base est ensuite configurée,son jeu d’instructions est étendu et des unités matérielles dédiées lui sont ajoutées. Les simulations montrent que cette architecture atteint des débits et des latences proches des implémentations logicielles de l’état de l’art sur des processeurs à usage général. La consommation énergétique est réduite d’un ordre de grandeur. En effet, lorsque l’on considère le décodage par annulation successive d’un code polaire (1024,512), l’énergie nécessaire par bit décodé est de l’ordre de 10 nJ sur des processeurs à usage général contre 1 nJ sur les processeurs proposés.La troisième contribution de ces travaux est également une architecture de processeur à jeu d’instructions dédié à l’application. Elle se différencie de la précédente par l’utilisation d’une méthodologie de conception alternative. Au lieu d’être basée sur une architecture de type RISC, l’architecture du processeur proposé fait partie de la classe des architectures déclenchées par le transport. Elle est caractérisée par une plus grande modularité qui permet d’améliorer très significativement l’efficacité du processeur. Les débits mesurés sont alors supérieurs à ceux obtenus sur les processeurs à usage général. La consommation énergétique est réduite à environ 0.1 nJ par bit décodé pour un code polaire (1024,512) avec l’algorithme de décodage par annulation successive. Cela correspond à une réduction de deux ordres de grandeur en comparaison de la consommation mesurée sur des processeurs à usage général.

•Dec 13, 2018•0 citations

Analyse et construction de codes LDPC non-binaires pour des canaux à evanouissement

Matteo Gorgoglione

Au cours des 15 dernières années, des progrès spectaculaires dans l'analyse et la conception des codes définis par des graphes bipartites et dé-codables par des algorithmes itératifs ont permis le développement de systèmes de correction d'erreurs, avec des performances de plus en plus proches la limite théorique de Shannon. Dans ce contexte, un rôle déterminant a été joué par la famille des codes à matrice de parité creuse, appelés codes LDPC (pour « Low-Density Parity-Check », en anglais), introduit par Gallager au début des années 60 et décrits plus tard en termes de graphes bipartites. Négligés pendant de longues années, ces codes ont été redécouverts à la fin des années 90, après que la puissance du décodage itératif a été mise en évidence grâce à l'invention des Turbo-codes. Ce n'est qu'au début des années 2000 que les techniques nécessaires à l'analyse et l'optimisation des codes LDPC ont été développées, techniques qui ont permis ensuite la construction des codes avec des performances asymptotiques proches de la limite de Shannon. Cette remarquable avancée a motivé l'intérêt croissant de la communauté scientifique et soutenu le transfert rapide de cette technologie vers le secteur industriel. Plus récemment, un intérêt tout particulier a été porté aux codes LDPC définis sur des alphabets non-binaires, grâce notamment à leur meilleure capacité de correction en « longueur finie ». Bien que Gallager ait déjà proposé l'utilisation des alphabets non-binaires, en utilisant l'arithmétique modulaire, les codes LDPC non-binaires définis sur les corps finis n'ont étés étudiés qu'à partir de la fin des années 90. Il a été montré que ces codes offrent de meilleures performances que leurs équivalents binaires lorsque le bloc codé est de longueur faible à modérée, ou lorsque les symboles transmis sur le canal sont eux-mêmes des symboles non-binaires, comme par exemple dans le cas des modulations d'ordre supérieur ou des canaux à antennes multiples.Cependant, ce gain en performance implique un coût non négligeable en termes de complexité de décodage, quipeut entraver l'utilisation des codes LDPC non binaires dans des systèmes réels, surtout lorsque le prix à payer encomplexité est plus important que le gain en performance.Cette thèse traite de l'analyse et de la conception des codes LDPC non binaires pour des canaux à évanouissements. L'objectif principal de la thèse est de démontrer que, outre le gain en performance en termes de capacité de correction, l'emploi des codes LDPC non binaires peut apporter des bénéfices supplémentaires,qui peuvent compenser l'augmentation de la complexité du décodeur. La « flexibilité » et la « diversité »représentent les deux bénéfices qui seront démontrées dans cette thèse. La « flexibilité » est la capacité d'unsystème de codage de pouvoir s'adapter à des débits (rendements) variables tout en utilisant le même encodeuret le même décodeur. La « diversité » se rapporte à sa capacité d'exploiter pleinement l'hétérogénéité du canal de communication.La première contribution de cette thèse consiste à développer une méthode d'approximation de l'évolution de densité des codes LDPC non-binaires, basée sur la simulation Monte-Carlo d'un code « infini ». Nous montrons que la méthode proposée fournit des estimations très fines des performances asymptotiques des codes LDPCnon-binaires et rend possible l'optimisation de ces codes pour une large gamme d'applications et de modèles de canaux.La deuxième contribution de la thèse porte sur l'analyse et la conception de système de codage flexible,utilisant des techniques de poinçonnage. Nous montrons que les codes LDPC non binaires sont plus robustes au poinçonnage que les codes binaires, grâce au fait que les symboles non-binaires peuvent être partialement poinçonnés. Pour les codes réguliers, nous montrons que le poinçonnage des codes non-binaires obéit à des règles différentes, selon que l'on poinçonne des symboles de

•Oct 25, 2012•1 citation

Analyse et construction de codes LDPC non-binaires pour des canaux à évanouissement

Gorgoglione, Matteo

Au cours des 15 dernières années, des progrès spectaculaires dans l'analyse et la conception des codes définis par des graphes bipartites et décodables par des algorithmes itératifs ont permis le développement de systèmes de correction d'erreurs, avec des performances de plus en plus proches la limite théorique de Shannon. Dans ce contexte, un rôle déterminant a été joué par la famille des codes à matrice de parité creuse, appelés codes LDPC (pour " Low-Density Parity-Check ", en anglais), introduit par Gallager au début des années 60 et décrits plus tard en termes de graphes bipartites. Négligés pendant de longues années, ces codes ont été redécouverts à la fin des années 90, après que la puissance du décodage itératif a été mise en évidence grâce à l'invention des Turbo-codes. Ce n'est qu'au début des années 2000 que les techniques nécessaires à l'analyse et l'optimisation des codes LDPC ont été développées, techniques qui ont permis ensuite la construction des codes avec des performances asymptotiques proches de la limite de Shannon. Cette remarquable avancée a motivé l'intérêt croissant de la communauté scientifique et soutenu le transfert rapide de cette technologie vers le secteur industriel. Plus récemment, un intérêt tout particulier a été porté aux codes LDPC définis sur des alphabets non-binaires, grâce notamment à leur meilleure capacité de correction en " longueur finie ". Bien que Gallager ait déjà proposé l'utilisation des alphabets non-binaires, en utilisant l'arithmétique modulaire, les codes LDPC non-binaires définis sur les corps finis n'ont étés étudiés qu'à partir de la fin des années 90. Il a été montré que ces codes offrent de meilleures performances que leurs équivalents binaires lorsque le bloc codé est de longueur faible à modérée, ou lorsque les symboles transmis sur le canal sont eux-mêmes des symboles non- binaires, comme par exemple dans le cas des modulations d'ordre supérieur ou des canaux à antennes multiples. Cependant, ce gain en performance implique un coût non négligeable en termes de complexité de décodage, qui peut entraver l'utilisation des codes LDPC non binaires dans des systèmes réels, surtout lorsque le prix à payer en complexité est plus important que le gain en performance. Cette thèse traite de l'analyse et de la conception des codes LDPC non binaires pour des canaux à évanouissements. L'objectif principal de la thèse est de démontrer que, outre le gain en performance en termes de capacité de correction, l'emploi des codes LDPC non binaires peut apporter des bénéfices supplémentaires, qui peuvent compenser l'augmentation de la complexité du décodeur. La " flexibilité " et la " diversité " représentent les deux bénéfices qui seront démontrées dans cette thèse. La " flexibilité " est la capacité d'un système de codage de pouvoir s'adapter à des débits (rendements) variables tout en utilisant le même encodeur et le même décodeur. La " diversité " se rapporte à sa capacité d'exploiter pleinement l'hétérogénéité du canal de communication. La première contribution de cette thèse consiste à développer une méthode d'approximation de l'évolution de densité des codes LDPC non-binaires, basée sur la simulation Monte-Carlo d'un code " infini ". Nous montrons que la méthode proposée fournit des estimations très fines des performances asymptotiques des codes LDPC non-binaires et rend possible l'optimisation de ces codes pour une large gamme d'applications et de modèles de canaux. La deuxième contribution de la thèse porte sur l'analyse et la conception de système de codage flexible, utilisant des techniques de poinçonnage. Nous montrons que les codes LDPC non binaires sont plus robustes au poinçonnage que les codes binaires, grâce au fait que les symboles non-binaires peuvent être partialement poinçonnés. Pour les codes réguliers, nous montrons que le poinçonnage des codes non-binaires obéit à des règles différentes, selon que l'on poinçonne des symboles de degré 2 ou des symboles de degré plus élevé. Pour les codes irréguliers, nous proposons une procédure d'optimisation de la " distribution de poinçonnage ", qui spécifie la fraction de bits poinçonnés par symbole non-binaire, en fonction du degré du symbole. Nous présentons ensuite des distributions de poinçonnage optimisées pour les codes LDPC non binaires, avec des performances à seulement 0,2 - 0,5 dB de la capacité, pour des rendements poinçonnés variant de 0,5 à 0,9. La troisième contribution de la thèse concerne les codes LDPC non binaires transmis sur un canal de Rayleigh à évanouissements rapides, pour lequel chaque symbole modulé est affecté par un coefficient d'évanouissement différent. Dans le cas d'une correspondance biunivoque entre les symboles codés et les symboles modulés (c.-à-d. lorsque le code est définit sur un corps fini de même cardinalité que la constellation utilisée), certains symboles codés peuvent être complètement noyés dans le bruit, dû aux évanouissements profonds du canal. Afin d'éviter ce phénomène, nous utilisons un module d'entrelacement au niveau bit, placé entre l'encodeur et le modulateur. Au récepteur, le module de désentrelacement apporte de la diversité binaire en entrée du décodeur, en atténuant les effets des différents coefficients de fading. Nous proposons un algorithme d'entrelacement optimisé, inspirée de l'algorithme " Progressive Edge-Growth " (PEG). Ainsi, le graphe bipartite du code est élargi par un nouvel ensemble de nœuds représentant les symboles modulés, et l'algorithme proposé établit des connections entre les nœuds représentant les symboles modulés et ceux représentant les symboles codés, de manière à obtenir un graphe élargi de maille maximale. Nous montrons que l'entrelaceur optimisé permet d'obtenir un gain de performance par rapport à un entrelaceur aléatoire, aussi bien en termes de capacité de correction que de détection d'erreurs. Enfin, la quatrième contribution de la thèse consiste en un schéma de codage flexible, permettant d'atteindre la diversité maximale d'un canal à évanouissements par blocs. La particularité de notre approche est d'utiliser des codes Root-LDPC non binaires couplés avec des codes multiplicatifs non binaires, de manière à ce que le rendement de codage puisse facilement s'adapter au nombre de blocs d'évanouissement. Au niveau du récepteur, une simple technique de combinaison de diversité est utilisée en entrée du décodeur. Comme conséquence, la complexité du décodage reste inchangée quel que soit le nombre de blocs d'évanouissement et le rendement du code utilisé, tandis que la technique proposée apporte un réel bénéfice en termes de capacité de correction.

•Oct 25, 2012•0 citations

Channel coding for future wireless networks

Charles Pillet

Codage canal pour les réseaux sans-fils du futur Récemment adoptés dans la 5G, les décodeurs des codes polaires ne répondent pas aux exigences de la 6G. Cette thèse étudie donc les décodeurs à faible latence des codes polaires. La première solution considère le décodage itératif de longs codes produits utilisant des codes polaires constituants plus courts. Les contributions se portent aussi sur le codage des codes polaires produits (CPPs). Une nouvelle construction des codes polaires est proposée, prenant en compte la nature itérative du décodage, amorçant plus rapidement la cascade et retardant la zone du plancher d’erreur. Un schéma complet pour l’ajustement du rendement de codage des CPPs est proposé. Un décodage itératif performant et à faible latence se basant sur le décodage souple SCAN est proposé. L’étude du décodeur SCAN à faible latence, préservant l’information extrinsèque, est réalisée. La performance de correction de SCAN est améliorée en implémentant un décodage à plusieurs permutations nommée plSCAN. plSCAN préserve la latence initiale en décodant en parallèle plusieurs séquences bruitées et permutées avec SCAN. Les automorphismes du code améliore plSCAN, dorénavant nommé automorphism ensemble (AE) ; une construction de code produisant un large groupe affine d’automorphismes est proposée. De plus, nous classons les automorphismes en fonction de leur réaction dans le décodage à permutation. Ces contributions, proposées pour améliorer le codage et le décodage itératif des CPPs, peuvent aussi être utilisées dans la construction et le décodage des codes polaires. Grâce aux contributions, le décodeur AE a les mêmes performances que certains codes polaires 5G tout en ayant une plus faible latence.

•May 13, 2022•0 citations

Etude des décodeurs LDPC non-binaires

Oussama Abassi

Les codes binaires à matrices creuses (Low-Density Parity-Check, LDPC) et les turbo-codes ont une capacité s’approchant de la limite de Shannon pour des trames de grande taille. Cependant, ces codes ont le désavantage d’être moins efficaces pour les faibles tailles. De plus, l’association de codes binaires avec des modulations d’ordre élevé oblige à une étape de marginalisation pour passer d’un symbole aux fiabilités des bits associés à ce symbole. Ce calcul s’accompagne d’une perte d’information qui peut être récupérée par démodulation itérative au prix d’une plus grande complexité. Les codes LDPC définis sur des corps de Galois d’ordre q > 2 permettent de résoudre ces problèmes. Toutefois, lesdécodeurs optimaux associés ont une complexité très importante qui rend leur utilisation problématique.L’objectif de cette thèse est de valoriser les codes LDPC non binaires en proposant d’une part une architecture d’un décodeur à complexité réduite et en montrant d’autre part l’intérêt de les associer à des modulations d’ordre élevé. Dans la première partie de notre thèse, nous proposons de simplifier l’algorithme de décodage Extended Min-Sum (EMS) en considérant un nombre limité n_α << n_m des fiabilités intrinsèques lors de la mise à jour des messages par les nœuds de variable. Cette approche permet de réduire la taille de la mémoire dédiée au stockage des messages intrinsèques. De plus, pour améliorer l’effcacité des nœuds de parité nous proposons une variante simplifiée de l’algorithme L-Bubble Check et l’architecture associée. Enfin, nous montrons par l’intermédiaire d’un prototype sur une carte FPGA (Field Programmable Gate Array) que notre décodeur possède une faible complexité en le comparant avec un ancien décodeur EMS conçu par notre laboratoire de recherche dans le cadre du projet européen DAVINCI. Dans la deuxième partie, nous étudions l’association des codes LDPC non binaires avec une modulation par décalage cyclique de code (Cyclic Code-shift Keying, CCSK) de même ordre. Nous avons choisi cette modulation pour ses propriétés qui permettent de réduire la complexité du démodulateur. En effet, nous montrons qu’il est possible dans le cas d’un système de transmission mono-porteuse avec préfixe cyclique de fusionner le démodulateur et l’égaliseur dans un même bloc comportant une seule transformée de Fourier rapide et une seule transformée de Fourier rapide inverse. Les simulations montrent que ce système possède des performances comparables à un système de transmission multiporteuses de type OFDM (Orthogonal Frequency-Division Multiplexing). Elles montrent aussi que la modulation CCSK donne des performances meilleures que la modulation de Hadamard dans un canal en environnement intérieur sélectif en fréquence. Enfin, les simulations montrent que les codes LDPC non binaires sont nettement plus effcaces avec la modulation CCSK que les codes LDPC binaires même en considérant une démodulation itérative.

•Jun 27, 2014•0 citations
Dans un monde où les flux de données sont toujours plus intenses et omniprésents, les codes correcteurs d’erreurs constituent une composante essentielle aux systèmes de télécommunications, en permettant de compenser l’altération inévitable du message lors de la transmission, grâce à l’ajout de redondance. Dernière famille de codes à avoir été découverte, en 2008, les codes polaires ont rapidement attiré l’attention des chercheurs par leur aptitude à garantir une probabilité d’erreur arbitrairement faible pour tout rendement inférieur ou égal à la capacité du canal de propagation – la limite théorique, définie par Shannon en 1948. Tout récemment, ces codes ont été adoptés pour être utilisés dans la Cinquième génération de standards pour la téléphonie mobile 5G. Cette thèse porte sur l’étude de cette famille de codes face aux contraintes applicatives rencontrées en pratiques, et notamment dans la 5G, à travers les deux axes principaux que sont la construction des codes et leur décodage en longueur finie.Après avoir passé en revue la définition et la caractérisation des codes polaires, ainsi que les aspects relatifs au spectre des distances, cette thèse explore la question de la flexibilité des codes en termes de longueurs, à l’aide des techniques de poinçonnage et de raccourcissement, et développe une méthodes pour optimiser le choix des motifs de sorte à minimiser le taux d’erreur pour le décodeur par annulation successive (SC, pour successive cancellation, en anglais). Dans un deuxième temps, un nouvel algorithme de décodage à inversion est introduit, permettant une amélioration significative des performances par rapport à l’état de l’art pour une complexité moyenne réduite et proche de celle du simple décodeur SC. Finalement, la question de l’utilisation des codes polaires avec les modulations d’ordre supérieur est abordée. Tout d’abord, les deux principales approches de modulations codées utilisant un code binaire, à savoir la modulation à entrelacement de bit et la modulation multi-niveaux, sont considérées, et il est mis en évidence le net avantage de la deuxième citée. Par suite, l’utilisation de codes polaires non-binaires est envisagée et il est montré qu’au prix d’une complexité de décodage supérieure, ceux-ci sont en mesure de surpasser leurs homologues binaires.
Les codes polaires sont une famille de codes de correction d'erreurs récemment développées. Leurs bonnes propriétés font en sorte qu'ils ont été sélectionnés pour être intégrés dans les nouveaux standards de télécommunication (5G) vers 2020. L'algorithme de décodage, connu sous le nom de décodeur par annulation successive, est une méthode de décodage itérative. Cet algorithme permet aux codes polaires d'atteindre le taux de transmission d'informations optimal qu'on peut transmettre pour un modèle de bruit donné. Ce mémoire présente une méthode de décodage graphique basée sur les réseaux de tenseurs, un outil très utilisé en physique des problèmes à N-corps. L'aspect innovant de ce mémoire est la prise en compte d'un modèle de bruit avec mémoire, une généralisation du décodeur par annulation successive. Il est possible d'étendre la famille des codes polaires en introduisant une structure interne convolutive. Ces codes ainsi obtenus sont nommés les codes polaires convolutifs. L'algorithme de décodage reste valide pour ces généralisations. Les résultats, obtenus par simulation numérique, montrent que la performance des codes polaires convolutifs est supérieure à celle des codes polaires standard pour les modèles de bruits considérés.
Les codes polaires constituent une classe de codes correcteurs d’erreurs inventés récemment qui suscite l’intérêt des chercheurs et des industriels, comme en atteste leur sélection pour le codage des canaux de contrôle dans la prochaine génération de téléphonie mobile (5G). Un des enjeux des futurs réseaux mobiles est la virtualisation des traitements numériques du signal, et en particulier les algorithmes de codage et de décodage. Afin d’améliorer la flexibilité du réseau, ces algorithmes doivent être décrits de manière logicielle et être déployés sur des architectures programmables. Une telle infrastructure de réseau permet de mieux répartir l’effort de calcul sur l’ensemble des noeuds et d’améliorer la coopération entre cellules. Ces techniques ont pour but de réduire la consommation d’énergie, d’augmenter le débit et de diminuer la latence des communications. Les travaux présentés dans ce manuscrit portent sur l’implémentation logicielle des algorithmes de décodage de codes polaires et la conception d’architectures programmables spécialisées pour leur exécution.Une des caractéristiques principales d’une chaîne de communication mobile est l’instabilité du canal de communication. Afin de remédier à cette instabilité, des techniques de modulations et de codages adaptatifs sont utilisées dans les normes de communication.Ces techniques impliquent que les décodeurs supportent une vaste gamme de codes : ils doivent être génériques. La première contribution de ces travaux est l’implémentation logicielle de décodeurs génériques des algorithmes de décodage "à Liste" sur des processeurs à usage général. En plus d’être génériques, les décodeurs proposés sont également flexibles.Ils permettent en effet des compromis entre pouvoir de correction, débit et latence de décodage par la paramétrisation fine des algorithmes. En outre, les débits des décodeurs proposés atteignent les performances de l’état de l’art et, dans certains cas, les dépassent.La deuxième contribution de ces travaux est la proposition d’une nouvelle architecture programmable performante spécialisée dans le décodage de codes polaires. Elle fait partie de la famille des processeurs à jeu d’instructions dédiés à l’application. Un processeur de type RISC à faible consommation en constitue la base. Cette base est ensuite configurée,son jeu d’instructions est étendu et des unités matérielles dédiées lui sont ajoutées. Les simulations montrent que cette architecture atteint des débits et des latences proches des implémentations logicielles de l’état de l’art sur des processeurs à usage général. La consommation énergétique est réduite d’un ordre de grandeur. En effet, lorsque l’on considère le décodage par annulation successive d’un code polaire (1024,512), l’énergie nécessaire par bit décodé est de l’ordre de 10 nJ sur des processeurs à usage général contre 1 nJ sur les processeurs proposés.La troisième contribution de ces travaux est également une architecture de processeur à jeu d’instructions dédié à l’application. Elle se différencie de la précédente par l’utilisation d’une méthodologie de conception alternative. Au lieu d’être basée sur une architecture de type RISC, l’architecture du processeur proposé fait partie de la classe des architectures déclenchées par le transport. Elle est caractérisée par une plus grande modularité qui permet d’améliorer très significativement l’efficacité du processeur. Les débits mesurés sont alors supérieurs à ceux obtenus sur les processeurs à usage général. La consommation énergétique est réduite à environ 0.1 nJ par bit décodé pour un code polaire (1024,512) avec l’algorithme de décodage par annulation successive. Cela correspond à une réduction de deux ordres de grandeur en comparaison de la consommation mesurée sur des processeurs à usage général.
Au cours des 15 dernières années, des progrès spectaculaires dans l'analyse et la conception des codes définis par des graphes bipartites et dé-codables par des algorithmes itératifs ont permis le développement de systèmes de correction d'erreurs, avec des performances de plus en plus proches la limite théorique de Shannon. Dans ce contexte, un rôle déterminant a été joué par la famille des codes à matrice de parité creuse, appelés codes LDPC (pour « Low-Density Parity-Check », en anglais), introduit par Gallager au début des années 60 et décrits plus tard en termes de graphes bipartites. Négligés pendant de longues années, ces codes ont été redécouverts à la fin des années 90, après que la puissance du décodage itératif a été mise en évidence grâce à l'invention des Turbo-codes. Ce n'est qu'au début des années 2000 que les techniques nécessaires à l'analyse et l'optimisation des codes LDPC ont été développées, techniques qui ont permis ensuite la construction des codes avec des performances asymptotiques proches de la limite de Shannon. Cette remarquable avancée a motivé l'intérêt croissant de la communauté scientifique et soutenu le transfert rapide de cette technologie vers le secteur industriel. Plus récemment, un intérêt tout particulier a été porté aux codes LDPC définis sur des alphabets non-binaires, grâce notamment à leur meilleure capacité de correction en « longueur finie ». Bien que Gallager ait déjà proposé l'utilisation des alphabets non-binaires, en utilisant l'arithmétique modulaire, les codes LDPC non-binaires définis sur les corps finis n'ont étés étudiés qu'à partir de la fin des années 90. Il a été montré que ces codes offrent de meilleures performances que leurs équivalents binaires lorsque le bloc codé est de longueur faible à modérée, ou lorsque les symboles transmis sur le canal sont eux-mêmes des symboles non-binaires, comme par exemple dans le cas des modulations d'ordre supérieur ou des canaux à antennes multiples.Cependant, ce gain en performance implique un coût non négligeable en termes de complexité de décodage, quipeut entraver l'utilisation des codes LDPC non binaires dans des systèmes réels, surtout lorsque le prix à payer encomplexité est plus important que le gain en performance.Cette thèse traite de l'analyse et de la conception des codes LDPC non binaires pour des canaux à évanouissements. L'objectif principal de la thèse est de démontrer que, outre le gain en performance en termes de capacité de correction, l'emploi des codes LDPC non binaires peut apporter des bénéfices supplémentaires,qui peuvent compenser l'augmentation de la complexité du décodeur. La « flexibilité » et la « diversité »représentent les deux bénéfices qui seront démontrées dans cette thèse. La « flexibilité » est la capacité d'unsystème de codage de pouvoir s'adapter à des débits (rendements) variables tout en utilisant le même encodeuret le même décodeur. La « diversité » se rapporte à sa capacité d'exploiter pleinement l'hétérogénéité du canal de communication.La première contribution de cette thèse consiste à développer une méthode d'approximation de l'évolution de densité des codes LDPC non-binaires, basée sur la simulation Monte-Carlo d'un code « infini ». Nous montrons que la méthode proposée fournit des estimations très fines des performances asymptotiques des codes LDPCnon-binaires et rend possible l'optimisation de ces codes pour une large gamme d'applications et de modèles de canaux.La deuxième contribution de la thèse porte sur l'analyse et la conception de système de codage flexible,utilisant des techniques de poinçonnage. Nous montrons que les codes LDPC non binaires sont plus robustes au poinçonnage que les codes binaires, grâce au fait que les symboles non-binaires peuvent être partialement poinçonnés. Pour les codes réguliers, nous montrons que le poinçonnage des codes non-binaires obéit à des règles différentes, selon que l'on poinçonne des symboles de
Au cours des 15 dernières années, des progrès spectaculaires dans l'analyse et la conception des codes définis par des graphes bipartites et décodables par des algorithmes itératifs ont permis le développement de systèmes de correction d'erreurs, avec des performances de plus en plus proches la limite théorique de Shannon. Dans ce contexte, un rôle déterminant a été joué par la famille des codes à matrice de parité creuse, appelés codes LDPC (pour " Low-Density Parity-Check ", en anglais), introduit par Gallager au début des années 60 et décrits plus tard en termes de graphes bipartites. Négligés pendant de longues années, ces codes ont été redécouverts à la fin des années 90, après que la puissance du décodage itératif a été mise en évidence grâce à l'invention des Turbo-codes. Ce n'est qu'au début des années 2000 que les techniques nécessaires à l'analyse et l'optimisation des codes LDPC ont été développées, techniques qui ont permis ensuite la construction des codes avec des performances asymptotiques proches de la limite de Shannon. Cette remarquable avancée a motivé l'intérêt croissant de la communauté scientifique et soutenu le transfert rapide de cette technologie vers le secteur industriel. Plus récemment, un intérêt tout particulier a été porté aux codes LDPC définis sur des alphabets non-binaires, grâce notamment à leur meilleure capacité de correction en " longueur finie ". Bien que Gallager ait déjà proposé l'utilisation des alphabets non-binaires, en utilisant l'arithmétique modulaire, les codes LDPC non-binaires définis sur les corps finis n'ont étés étudiés qu'à partir de la fin des années 90. Il a été montré que ces codes offrent de meilleures performances que leurs équivalents binaires lorsque le bloc codé est de longueur faible à modérée, ou lorsque les symboles transmis sur le canal sont eux-mêmes des symboles non- binaires, comme par exemple dans le cas des modulations d'ordre supérieur ou des canaux à antennes multiples. Cependant, ce gain en performance implique un coût non négligeable en termes de complexité de décodage, qui peut entraver l'utilisation des codes LDPC non binaires dans des systèmes réels, surtout lorsque le prix à payer en complexité est plus important que le gain en performance. Cette thèse traite de l'analyse et de la conception des codes LDPC non binaires pour des canaux à évanouissements. L'objectif principal de la thèse est de démontrer que, outre le gain en performance en termes de capacité de correction, l'emploi des codes LDPC non binaires peut apporter des bénéfices supplémentaires, qui peuvent compenser l'augmentation de la complexité du décodeur. La " flexibilité " et la " diversité " représentent les deux bénéfices qui seront démontrées dans cette thèse. La " flexibilité " est la capacité d'un système de codage de pouvoir s'adapter à des débits (rendements) variables tout en utilisant le même encodeur et le même décodeur. La " diversité " se rapporte à sa capacité d'exploiter pleinement l'hétérogénéité du canal de communication. La première contribution de cette thèse consiste à développer une méthode d'approximation de l'évolution de densité des codes LDPC non-binaires, basée sur la simulation Monte-Carlo d'un code " infini ". Nous montrons que la méthode proposée fournit des estimations très fines des performances asymptotiques des codes LDPC non-binaires et rend possible l'optimisation de ces codes pour une large gamme d'applications et de modèles de canaux. La deuxième contribution de la thèse porte sur l'analyse et la conception de système de codage flexible, utilisant des techniques de poinçonnage. Nous montrons que les codes LDPC non binaires sont plus robustes au poinçonnage que les codes binaires, grâce au fait que les symboles non-binaires peuvent être partialement poinçonnés. Pour les codes réguliers, nous montrons que le poinçonnage des codes non-binaires obéit à des règles différentes, selon que l'on poinçonne des symboles de degré 2 ou des symboles de degré plus élevé. Pour les codes irréguliers, nous proposons une procédure d'optimisation de la " distribution de poinçonnage ", qui spécifie la fraction de bits poinçonnés par symbole non-binaire, en fonction du degré du symbole. Nous présentons ensuite des distributions de poinçonnage optimisées pour les codes LDPC non binaires, avec des performances à seulement 0,2 - 0,5 dB de la capacité, pour des rendements poinçonnés variant de 0,5 à 0,9. La troisième contribution de la thèse concerne les codes LDPC non binaires transmis sur un canal de Rayleigh à évanouissements rapides, pour lequel chaque symbole modulé est affecté par un coefficient d'évanouissement différent. Dans le cas d'une correspondance biunivoque entre les symboles codés et les symboles modulés (c.-à-d. lorsque le code est définit sur un corps fini de même cardinalité que la constellation utilisée), certains symboles codés peuvent être complètement noyés dans le bruit, dû aux évanouissements profonds du canal. Afin d'éviter ce phénomène, nous utilisons un module d'entrelacement au niveau bit, placé entre l'encodeur et le modulateur. Au récepteur, le module de désentrelacement apporte de la diversité binaire en entrée du décodeur, en atténuant les effets des différents coefficients de fading. Nous proposons un algorithme d'entrelacement optimisé, inspirée de l'algorithme " Progressive Edge-Growth " (PEG). Ainsi, le graphe bipartite du code est élargi par un nouvel ensemble de nœuds représentant les symboles modulés, et l'algorithme proposé établit des connections entre les nœuds représentant les symboles modulés et ceux représentant les symboles codés, de manière à obtenir un graphe élargi de maille maximale. Nous montrons que l'entrelaceur optimisé permet d'obtenir un gain de performance par rapport à un entrelaceur aléatoire, aussi bien en termes de capacité de correction que de détection d'erreurs. Enfin, la quatrième contribution de la thèse consiste en un schéma de codage flexible, permettant d'atteindre la diversité maximale d'un canal à évanouissements par blocs. La particularité de notre approche est d'utiliser des codes Root-LDPC non binaires couplés avec des codes multiplicatifs non binaires, de manière à ce que le rendement de codage puisse facilement s'adapter au nombre de blocs d'évanouissement. Au niveau du récepteur, une simple technique de combinaison de diversité est utilisée en entrée du décodeur. Comme conséquence, la complexité du décodage reste inchangée quel que soit le nombre de blocs d'évanouissement et le rendement du code utilisé, tandis que la technique proposée apporte un réel bénéfice en termes de capacité de correction.
Codage canal pour les réseaux sans-fils du futur Récemment adoptés dans la 5G, les décodeurs des codes polaires ne répondent pas aux exigences de la 6G. Cette thèse étudie donc les décodeurs à faible latence des codes polaires. La première solution considère le décodage itératif de longs codes produits utilisant des codes polaires constituants plus courts. Les contributions se portent aussi sur le codage des codes polaires produits (CPPs). Une nouvelle construction des codes polaires est proposée, prenant en compte la nature itérative du décodage, amorçant plus rapidement la cascade et retardant la zone du plancher d’erreur. Un schéma complet pour l’ajustement du rendement de codage des CPPs est proposé. Un décodage itératif performant et à faible latence se basant sur le décodage souple SCAN est proposé. L’étude du décodeur SCAN à faible latence, préservant l’information extrinsèque, est réalisée. La performance de correction de SCAN est améliorée en implémentant un décodage à plusieurs permutations nommée plSCAN. plSCAN préserve la latence initiale en décodant en parallèle plusieurs séquences bruitées et permutées avec SCAN. Les automorphismes du code améliore plSCAN, dorénavant nommé automorphism ensemble (AE) ; une construction de code produisant un large groupe affine d’automorphismes est proposée. De plus, nous classons les automorphismes en fonction de leur réaction dans le décodage à permutation. Ces contributions, proposées pour améliorer le codage et le décodage itératif des CPPs, peuvent aussi être utilisées dans la construction et le décodage des codes polaires. Grâce aux contributions, le décodeur AE a les mêmes performances que certains codes polaires 5G tout en ayant une plus faible latence.
Les codes binaires à matrices creuses (Low-Density Parity-Check, LDPC) et les turbo-codes ont une capacité s’approchant de la limite de Shannon pour des trames de grande taille. Cependant, ces codes ont le désavantage d’être moins efficaces pour les faibles tailles. De plus, l’association de codes binaires avec des modulations d’ordre élevé oblige à une étape de marginalisation pour passer d’un symbole aux fiabilités des bits associés à ce symbole. Ce calcul s’accompagne d’une perte d’information qui peut être récupérée par démodulation itérative au prix d’une plus grande complexité. Les codes LDPC définis sur des corps de Galois d’ordre q > 2 permettent de résoudre ces problèmes. Toutefois, lesdécodeurs optimaux associés ont une complexité très importante qui rend leur utilisation problématique.L’objectif de cette thèse est de valoriser les codes LDPC non binaires en proposant d’une part une architecture d’un décodeur à complexité réduite et en montrant d’autre part l’intérêt de les associer à des modulations d’ordre élevé. Dans la première partie de notre thèse, nous proposons de simplifier l’algorithme de décodage Extended Min-Sum (EMS) en considérant un nombre limité n_α << n_m des fiabilités intrinsèques lors de la mise à jour des messages par les nœuds de variable. Cette approche permet de réduire la taille de la mémoire dédiée au stockage des messages intrinsèques. De plus, pour améliorer l’effcacité des nœuds de parité nous proposons une variante simplifiée de l’algorithme L-Bubble Check et l’architecture associée. Enfin, nous montrons par l’intermédiaire d’un prototype sur une carte FPGA (Field Programmable Gate Array) que notre décodeur possède une faible complexité en le comparant avec un ancien décodeur EMS conçu par notre laboratoire de recherche dans le cadre du projet européen DAVINCI. Dans la deuxième partie, nous étudions l’association des codes LDPC non binaires avec une modulation par décalage cyclique de code (Cyclic Code-shift Keying, CCSK) de même ordre. Nous avons choisi cette modulation pour ses propriétés qui permettent de réduire la complexité du démodulateur. En effet, nous montrons qu’il est possible dans le cas d’un système de transmission mono-porteuse avec préfixe cyclique de fusionner le démodulateur et l’égaliseur dans un même bloc comportant une seule transformée de Fourier rapide et une seule transformée de Fourier rapide inverse. Les simulations montrent que ce système possède des performances comparables à un système de transmission multiporteuses de type OFDM (Orthogonal Frequency-Division Multiplexing). Elles montrent aussi que la modulation CCSK donne des performances meilleures que la modulation de Hadamard dans un canal en environnement intérieur sélectif en fréquence. Enfin, les simulations montrent que les codes LDPC non binaires sont nettement plus effcaces avec la modulation CCSK que les codes LDPC binaires même en considérant une démodulation itérative.