Conception Avancée des Codes LDPC Binaires pour des Applications Pratiques

par Madiagne Diouf

Thèse de doctorat en STIC - Cergy

Sous la direction de David Declercq et de Samuel Ouya.

Thèses en préparation à Cergy-Pontoise en cotutelle avec l'Université Cheikh Anta DIOP , dans le cadre de ED SI - Sciences et Ingénierie , en partenariat avec Equipes Traitement de l'Information et Systèmes (laboratoire) depuis le 27-01-2011 .


  • Résumé

    Les codes LDPC (Low-Density Parity-Check codes pour codes à faible densité) forment une classe de codes en bloc qui se caractérisent par une matrice de contrôle creuse. Ils ont été décrits pour la première fois dans la thèse de Gallager au début des années 60. Outre le décodage à entrée ferme des codes LDPC, cette thèse proposait déjà un décodage itératif basé sur la propagation de croyance (en anglais BP pour Belief Propagation). Ces travaux ont été oubliés pendant 30 ans. Seules quelques rares études y font référence durant cette période de sommeil, notamment, celle de Tanner qui proposa une généralisation des codes de Gallager et une représentation par graphe bipartite. Après l'invention des Turbo-codes, les codes LDPC furent redécouverts au milieu des années 90 par MacKay et al., Wilberg et Sipser et al. Depuis, des progrès considérables sur les règles de construction de bons codes LDPC, sur les techniques d'encodage et de décodage, ont permis aux codes LDPC d'être utilisés, tout comme les Turbo-codes, dans des applications pratiques. L'objectif visé dans cette thèse est le développement d'outils automatiques pour la construction de codes LDPC en s'inspirant de l'expertise et des résultats publiés sur la conception de bons codes LDPC. Décrivons tout d'abord quels sont les critères de choix d'un « bon » code LDPC. Un « bon » code dépend avant tout des contraintes visées par l'application visée, et la façon dont le codec de correction d'erreur est utilisé : En termes de capacité de correction d'erreur, il y a principalement 2 critères : [Perf1] bonnes performances dans la zone de convergence, c'est-à-dire obtenir le plus faible rapport signal sur bruit (SNR) pour des taux d'erreur trame autour de 10-2 à 10-3. C'est le cas typique des communications sans fils du type téléphonie (3G, 3G+, 4G). [Perf2] un taux d'erreur garanti (ou faible plancher d'erreur), c'est-à-dire le taux d'erreur trame le plus bas possible pour un SNR pouvant assurer une transmission dite « quasi-error free ». Les taux d'erreurs visés peuvent être de l'ordre de 10-7 à 10-9 suivant le type d'application visé. Les applications utilisant des taux d'erreur si bas comprennent les communications satellitaires, ainsi que les transmissions filaires, sur câble ADSL ou fibre optique. En termes de complexité d'implémentation des fonctions de codage et de décodage, il y a 3 critères à prendre en compte : [Comp1] Encodage linéaire rapide (en principe, l'encodage trivial des codes LDPC est quadratique en la taille du mot de code). [Comp2] Grand facteur de parallélisme pour le décodeur, puisque généralement, c'est le décodage qui représente la complexité dominante des codes LDPC. [Comp3] Une faible latence, c'est-à-dire le plus petit nombre d'itérations de décodage pour atteindre les performances voulues. Dans l'état de l'art sur les études des codes LDPC, on peut trouver beaucoup de références et de règles de conceptions concernant les critères que nous venons de décrire. Par exemple, des études théoriques permettent de traiter les critères [Perf1], [Perf2], et [Comp1], [Comp2], [Comp3], et de les relier à des propriétés structurelles des codes LDPC. Cependant il est aussi prouvé que certaines structures de codes sont bonnes pour un critère, mais mauvaises pour un autre critère, ce qui rend le problème de la conception efficace de codes LDPC en principe très difficile. Cependant, très peu de travaux se sont concentrés sur la réalisation de la contrainte [Perf2], à savoir la conception de codes sans plancher d'erreur. La principale raison est que cette contrainte est antinomique avec les contraintes [Perf1] et [Comp1] en particulier. La question que nous proposons de résoudre dans cette thèse est donc de trouver le meilleur compromis quand à la réalisation simultanée de ces 3 contraintes, sans faire une étude détaillé et spécifique pour chaque type de code (différents rendements, différentes tailles), mais de façon générique, à l'aide d'outils qui s'adapteront aux critères de sélection et guideront la conception des codes. On utilisera en particulier les travaux présentés dans les articles suivant pour développer nos outils et concevoir notre algorithme de construction générique [1]-[10]. Quant au déroulement de la thèse dans le temps, elle se fera au travers de trois étapes : 1ère Etape : faire un choix de la famille de protographes, servant de codes mère pour la construction des codes LDPC pour les nouvelles normes. Ce choix est pour le développement d'outils d'évolution de densité discrète et détaillée, avec comme paradigme le décodage "pratique" utilisé dans les réalisations hardware. Cette étape implique l'étude de l'état de l'art des familles de protographes en se focalisant sur l'évolution de la densité. 2ème Etape : établir des contraintes sur les choix de protographes permettant de minimiser le risque de construire des topologies mauvaises pour le décodage telles que les Stopping Sets ou les Trapping sets, application de ces contraintes à l'étape1. 3ème Etape : développement d'algorithme efficaces de "lifting" ou d'extension du protographe avec fonction de coût dynamique permettant de maximiser la pseudo-distance du code ou de maximiser la taille des trapping sets dominants.

  • Titre traduit

    Advanced Design of Binary LDPC Codes for Practical Applications


  • Résumé

    LDPC (Low-Density Parity-Check Codes for low density codes) codes are a class of block codes that are characterized by a low density control matrix. They were described for the first time in the thesis of Gallager in the early 60s Besides the farm input decoding LDPC codes, this thesis already proposed an iterative decoding based on belief propagation (BP English for Belief Propagation) . This work was forgotten for 30 years. Only a few studies refer to it during this period of sleep, including that of Tanner, who proposed a generalization of Gallager codes and a bipartite graph representation. After the invention of turbo codes, LDPC codes were rediscovered in the mid-90s by MacKay et al. Wilberg and Sipser et al. Since then, significant progress on the construction rules of good LDPC codes, the encoding and decoding technology, enabled LDPC codes to be used, like the Turbo-codes, in practical applications. The goal in this thesis is the development of automated tools for building LDPC codes drawing on the expertise and research on designing good LDPC codes results. Describe first of all what are the criteria for choosing a "good" LDPC code. A "good" code depends primarily on the constraints specified by the intended application, and how the codec error correction is used: In terms of error correction capability, there is mainly two criteria: [Perf1] good performance in the convergence zone, that is to say get the lowest signal to noise ratio (SNR) for the frame error rate around 10-2 to 10-3. This is the typical case of communications without the son-telephony (3G, 3G +, 4G). [Perf2] a guaranteed rate of error (or low error floor), that is to say, the lowest rate possible for an error frame SNR can ensure transmission called "quasi-error free." The error rate can be specified in the order of 10-7 to 10-9 depending on the type of application described. Applications using such low error rates include satellite communications, as well as wired transmissions on ADSL or optical fiber cable. In terms of implementation complexity functions of encoding and decoding, there are 3 criteria to take into account: [Comp1] Fast linear encoding (in principle, trivial encoding of LDPC codes is quadratic in the size of the codeword). [Comp2] Grand parallelism factor for the decoder, since generally, the decoding complexity is the dominant LDPC codes. [Comp3] A low latency, that is to say the least number of decoding iterations to achieve the desired performance. In the state of the art in studies of LDPC codes, one can find many references and rules visions about the criteria described above. For example, theory can process criteria [Perf1], [Perf2] and [Comp1], [Comp 2], [Comp3], and relate them to the structural properties of LDPC codes. However there is also evidence that some code structures are good for a test, but bad for another criterion, which makes the problem of the efficient design of LDPC codes in principle very difficult. However, very few studies have focused on the implementation of the constraint [Perf2], namely the design codes without error floor. The main reason is that this constraint is antithetical to the constraints [Perf1] and [Comp1] in particular. The question we propose to solve in this thesis is to find the best compromise when the simultaneous achievement of these three constraints, without a detailed and specific studies for each type of code (different yields, different sizes), but so generic, with tools that adapt to the selection criteria and guide the design codes. The work presented in the following sections will be used in particular to develop our tools and design our generic construction algorithm [1] - [10]. As for the progress of the thesis in time, it will be through three stages: Step 1: Choosing the Family protographs serving as mother codes for the construction of LDPC codes for the new standards. This choice is for the development of discrete and evolution detailed density tools, as with the paradigm "practice" used in the decoding hardware embodiments. This step involves studying the state of the art protographs families by focusing on the evolution of the density. Step 2: establish constraints on the choice of protographs to minimize the risk of building bad topologies for decoding such as Stopping Sets or Trapping sets, applying these constraints to step 1. Stage 3: development of efficient algorithm "lifting" or extension of protographe with dynamic cost function to maximize the pseudo-distance code or maximize the size of the dominant trapping sets.