# MCOT

## Titre

**Correction d'erreurs sur canal bruité : approches basées sur les codes LDPC.**

---

## Motivation du choix du sujet

Pratiquant le pilotage de drones FPV, je suis confronté aux limites des transmissions numériques en milieu bruité et à faible latence. Les codes LDPC constituent une solution moderne et performante pour fiabiliser la transmission d’informations, motivant leur étude à la fois théorique et algorithmique.

---

## Ancrage au thème de l’année

L’implémentation des codes LDPC illustre l'optimisation des transmissions numériques face aux perturbations physiques. Cette étude analyse comment la gestion des cycles dans la structure des graphes de Tanner et les itérations de l'algorithme de propagation de croyance peuvent être exploitées pour restaurer l'intégrité de l'information.

---

**Positionnements thématiques :**

1. Informatique (Informatique Théorique, Algorithmique)

2. Mathématiques (Algèbre, Théorie des Graphes, Probabilités)

**Mots-clés (Français) :**

1. Codes LDPC

2. Graphe de Tanner

3. Propagation de Croyance

4. Corps finis

5. Canal bruité

**Mots-clés (Anglais) :**

1. LDPC Codes

2. Tanner Graph

3. Belief Propagation

4. Finite fields

5. Bit Error Rate (BER)

---

## Bibliographie commentée

La fiabilité des transmissions numériques constitue un enjeu central des télécommunications modernes. La théorie fondatrice de Claude Shannon établit qu’il existe une limite théorique, appelée capacité du canal, où une transmission peut être rendue arbitrairement fiable, indépendamment de la méthode de codage utilisée [1]. Toutefois, ce résultat est purement existentiel et ne fournit ni construction explicite de codes, ni algorithme de décodage exploitable en pratique.

Dans ce cadre théorique s’inscrivent les travaux de R. G. Gallager, qui introduit en 1963 les codes LDPC comme une famille de codes linéaires définis sur un corps fini [2]. Gallager montre que ces codes se distinguent par une matrice de contrôle de parité très clairsemée, ce qui permet de réduire énormement la complexité du décodage. Il propose également un principe de décodage itératif probabiliste, marquant une rupture avec les approches algébriques classiques. Malgré leurs performances théoriques, ces codes resteront longtemps peu exploités en raison des limitations de calcul de l’époque.

La compréhension moderne des codes LDPC repose sur leur représentation graphique, formalisée par R. M. Tanner [3]. Dans cet article, Tanner introduit les graphes bipartis associés aux codes linéaires, établissant un lien direct entre la structure algébrique de la matrice de parité et une représentation topologique. Cette modélisation permet de visualiser les interactions locales entre les variables binaires et les contraintes de parité, et constitue un outil essentiel pour analyser le comportement des algorithmes de décodage itératif.

Le décodage des codes LDPC repose sur l’algorithme de propagation de croyance (*Belief Propagation*), qui s’interprète comme un algorithme d’inférence probabiliste sur graphe. Une analyse théorique générale de cet algorithme est proposée par Kschischang, Frey et Loeliger, qui introduisent le formalisme des graphes de facteurs et démontrent que la propagation de messages permet de calculer efficacement des distributions marginales dans un graphe factorisé [4]. Ce travail fournit le cadre mathématique reliant probabilités, factorisation de fonctions et échanges de messages, et constitue une base théorique essentielle pour comprendre le fonctionnement du décodage LDPC.

L’ouvrage de D. J. C. MacKay s’appuie sur ce formalisme pour proposer une présentation appliquée aux codes LDPC, en mettant en évidence le rôle des messages échangés entre les noeuds du graphe de Tanner et leur interprétation probabiliste [5]. Il montre que, sur un graphe sans cycles, la propagation de croyance converge vers la solution optimale, et analyse les effets des cycles présents dans les graphes LDPC réels sur la qualité du décodage.

Une analyse mathématique plus poussée des performances des codes LDPC est proposée par Richardson et Urbanke [6]. Leur ouvrage introduit des outils tels que la densité d’évolution (*density evolution*), permettant de prédire le comportement moyen des algorithmes de décodage lorsque la longueur du code tend vers l’infini. Ils mettent en évidence l’influence critique de la structure du graphe, notamment la présence de cycles courts, sur la convergence du décodage itératif et le seuil de performance observé sur des canaux bruités.

Au-delà des aspects théoriques, les performances réelles dépendent des choix d'implémentation. La simulation standard sur un canal à bruit blanc gaussien additif (AWGN) permet de quantifier cette efficacité via le taux d’erreur binaire (BER), confrontant ainsi la zone de convergence empirique aux prédictions théoriques.

---

## Problématique

Comment utiliser les codes LDPC pour garantir la fiabilité d'une transmission en présence de bruit ?

---

## Objectifs du TIPE

1. **Étude Théorique :** Formaliser le lien entre matrice de parité creuse et graphe de Tanner, et comprendre la dynamique de l'algorithme de propagation de croyance.

2. **Implémentation :** Programmer de zéro la chaîne complète en Rust : encodeur, simulateur de canal (bruit gaussien) et décodeur.

3. **Analyse Expérimentale :** Tracer les courbes de performance pour évaluer l'efficacité de la correction en fonction du niveau de bruit.

4. **Application :** Valider le fonctionnement du code par la transmission et la reconstruction d'un fichier altéré par du bruit simulé.

---

## **Liste des références bibliographiques**

[1] C. E. Shannon, A Mathematical Theory of Communication, Bell System Technical Journal, 1948.
[2] R. G. Gallager, Low-Density Parity-Check Codes, M.I.T. Press, 1963.
[3] R. M. Tanner, A Recursive Approach to Low Complexity Codes, IEEE Transactions on Information Theory, 1981.
[4] F. R. Kschischang, B. J. Frey, H.-A. Loeliger, Factor Graphs and the Sum-Product Algorithm, IEEE Transactions on Information Theory, 2001.
[5] D. J. C. MacKay, Information Theory, Inference, and Learning Algorithms, Cambridge University Press, 2003.
[6] T. Richardson, R. Urbanke, Modern Coding Theory, Cambridge University Press, 2008.