avancée+
This commit is contained in:
181
main.typ
181
main.typ
@ -35,19 +35,20 @@
|
||||
#v(1fr)
|
||||
]
|
||||
|
||||
#myslide("Plan")[
|
||||
#design_plan((
|
||||
[Introduction],
|
||||
[Codes linéaires],
|
||||
[LDPC],
|
||||
[Codage],
|
||||
[Décodage],
|
||||
[Analyse],
|
||||
))
|
||||
]
|
||||
#myslide("Plan")[
|
||||
#grid(
|
||||
columns: (auto, 1fr),
|
||||
align: horizon,
|
||||
place(center + horizon, dx: 11.8cm, dy: 0.7cm)[#decor_matrice_etoilee()],
|
||||
design_plan((
|
||||
[Introduction], [Codes linéaires], [LDPC],
|
||||
[Codage], [Décodage], [Analyse],
|
||||
))
|
||||
)
|
||||
]
|
||||
|
||||
#myslide("Introduction : Transmission Numérique")[
|
||||
#align(center + horizon)[
|
||||
#myslide("Introduction : Communication Numérique")[
|
||||
#place(center + horizon, dy: 8cm)[
|
||||
#canal_shannon_intro()
|
||||
]
|
||||
]
|
||||
@ -132,7 +133,7 @@
|
||||
]
|
||||
]
|
||||
|
||||
#myslide("Définition: Matrice Génératrice")[
|
||||
#myslide("Définition : Matrice Génératrice")[
|
||||
#definition(titre: "Matrice Génératrice")[
|
||||
$G in cal(M)_(k,n)(FF_2)$ dont les lignes sont une base de $cal(C)$
|
||||
]
|
||||
@ -162,7 +163,7 @@
|
||||
]
|
||||
]
|
||||
|
||||
#myslide("Défniition: Matrice de Contrôle")[
|
||||
#myslide("Définition : Matrice de Contrôle")[
|
||||
#definition(titre: "Matrice de Contrôle")[
|
||||
$
|
||||
H = mat(
|
||||
@ -199,7 +200,6 @@
|
||||
#let col-u = blue
|
||||
#let col-p = orange
|
||||
|
||||
|
||||
#underline(offset: 3pt)[Exemple d'un code $(5,2)$]
|
||||
|
||||
|
||||
@ -248,8 +248,7 @@
|
||||
#let colu = blue
|
||||
#let colp = orange
|
||||
|
||||
#v(0.5em)
|
||||
|
||||
#place(dx: 0cm, dy: 2.0cm)[
|
||||
#set text(size: 1.1em)
|
||||
Enfin
|
||||
|
||||
@ -283,11 +282,11 @@
|
||||
$
|
||||
]
|
||||
]
|
||||
]
|
||||
|
||||
// A REMPLACER AVEC DE VRAI DONNE SUR DE VRAI CODE LDPC ET HAMMING PAR EXEMPLE
|
||||
#myslide("Approcher la Limite de Shannon")[
|
||||
#limite_shannon_graphique()
|
||||
|
||||
]
|
||||
|
||||
// #myslide("Redondance et limite théorique")[
|
||||
@ -299,16 +298,136 @@
|
||||
// $=>$ gros bloc (moyenne du bruit aléatoire)
|
||||
// ]
|
||||
|
||||
#myslide("Décodage par Maximum de Vraisemblance")[
|
||||
Trouver le message envoyer le + probable sachant le message recu : NP-COMPLET (Max)
|
||||
Decodage par syndrome d'une code lin'aire général est NP-Complet
|
||||
Complexité $O(2^k)$
|
||||
#myslide("Le Mur de la Complexité")[
|
||||
#set text(size: 19pt)
|
||||
#definition(titre: [Décodage par Maximum de Vraisemblance (MDL)], accent: black)[
|
||||
Chercher le mot de code $bold(c) in cal(C)$ le plus probable sachant $bold(r)$ reçu :
|
||||
$ hat(bold(c)) = arg min_(bold(c) in cal(C)) d_H (bold(r), bold(c)) $
|
||||
]
|
||||
|
||||
- Équivalent à chercher l'erreur $bold(e)$ de poids minimal tel que $bold(H) bold(e)^top = bold(s)$.
|
||||
|
||||
#v(0.5em)
|
||||
|
||||
#definition(titre: "Le Problème du décodage par Syndrome")[
|
||||
NP-Difficile et pour $H$ quelconque : $cal(O)(2^k)$
|
||||
]
|
||||
|
||||
- Pour $k=100$ bits, $2^100 approx 10^30$ opérations nécessaires.
|
||||
]
|
||||
|
||||
#myslide("LDPC")[
|
||||
Matrice $H$ clairsemée(low density) donc complexité mointre, pas de produit de matrice mais algorithme itératif efficace quasi linéaire
|
||||
Graphique d'un H très grand clairesemée avec plein de 0, généré en rust par exemple où les 1 sont des points noir et le reste du blanc
|
||||
Défniition avec (w_r,w_c)
|
||||
#myslide("Définition des Codes LDPC")[
|
||||
#definition(titre: [Formalisation des Codes LDPC Réguliers])[
|
||||
Code linéaire en bloc avec une matrice de contrôle $bold(H)$ est *clairsemée*.
|
||||
]
|
||||
|
||||
- *Poids de Colonne $w_c$*
|
||||
|
||||
- *Poids de Ligne $w_r$*
|
||||
|
||||
#v(0.5em)
|
||||
|
||||
#definition(titre: "Conditions de Faible Densité", accent: black)[
|
||||
#set align(center)
|
||||
$w_c << n - k $ #h(2cm) $w_r << n$
|
||||
]
|
||||
|
||||
#definition(titre : "Rendement")[
|
||||
$ display(R = (n - op("rg")(H)) / n >= 1 - m / n) $
|
||||
]
|
||||
]
|
||||
|
||||
#myslide([Matrice de contrôle])[
|
||||
#definition(titre : [Code LDPC $(6, 3)$])[
|
||||
$m w_r = n w_c$ donc $H in cal(M)_(15, 30)(FF_2)$ et $display(R = 1 - m / n = 1/2)$
|
||||
]
|
||||
|
||||
#v(2cm)
|
||||
|
||||
#place(center + horizon, dx: 0cm, dy: 7.3cm)[
|
||||
#scale(140%)[#hldpc()]
|
||||
]
|
||||
]
|
||||
|
||||
#myslide("De la Matrice aux Équations de Parité")[
|
||||
#set text(size: 17pt)
|
||||
|
||||
#let v_space = 2.83cm
|
||||
|
||||
#align(center)[
|
||||
#scale(115%)[
|
||||
#grid(
|
||||
columns: (auto, auto),
|
||||
gutter: -15pt,
|
||||
align: horizon,
|
||||
[#hldpc_dual(row1: 0, row2: none)],
|
||||
[
|
||||
// #set math.mat(gap: 24.5pt)
|
||||
#move(dy: 13.8pt)[
|
||||
$ underbrace(
|
||||
mat(r_0; r_1;#v(v_space);dots.v; r_29; delim: "["),
|
||||
#text()[Mot reçu] r space in space FF_2^30
|
||||
) $
|
||||
]
|
||||
]
|
||||
)
|
||||
]
|
||||
]
|
||||
|
||||
#v(0.5cm)
|
||||
|
||||
#set text(size: 1.1em)
|
||||
|
||||
- Chaque ligne $j$ de $H$ définit une équation de parité $f_j$.
|
||||
- Pour $r$, on vérifie le syndrome : $H r^top = 0$.
|
||||
|
||||
#v(0.2cm)
|
||||
|
||||
#definition(titre: [Équations de Parité], accent: orange)[
|
||||
#set text(size: 1em)
|
||||
#text(fill: orange)[$ f_0 : r_7 plus.o r_10 plus.o r_15 plus.o r_22 plus.o r_24 plus.o r_29 = 0 $]
|
||||
]
|
||||
|
||||
#v(0.3cm)
|
||||
#text(size: 1.1em)[- Si $f_j = 1$, un nombre impair de bits a été inversé par le canal.]
|
||||
]
|
||||
|
||||
#myslide("L'Entrelacement des Contraintes")[
|
||||
#set text(size: 17pt)
|
||||
|
||||
#align(center)[
|
||||
#move(dx: -1.2cm)[
|
||||
#scale(115%)[#hldpc_dual(row1: 0, row2: 14)]
|
||||
]
|
||||
]
|
||||
|
||||
#v(1cm)
|
||||
|
||||
#set text(size: 1.1em)
|
||||
- Chaque bit $r_i$ participe à $w_c = 3$ équations distinctes
|
||||
|
||||
#v(1cm)
|
||||
|
||||
// --- Étage 2 : Système et Décision ---
|
||||
#set align(center + horizon)
|
||||
#scale(115%)[
|
||||
#block(fill: gray.lighten(95%), inset: 10pt, stroke: 0.5pt + gray, radius: 4pt)[
|
||||
$ cases(
|
||||
#text(fill: orange)[$r_7 plus.o r_10 plus.o r_15 plus.o r_22 plus.o bold(r_24) plus.o r_29 &= 0$],
|
||||
|
||||
#h(4.5cm) #text(size : 20pt)[$bold(dots.v)$],
|
||||
|
||||
#text(fill: blue)[$r_1 plus.o r_3 plus.o r_12 plus.o bold(r_24) plus.o r_25 plus.o r_28 &= 0$]
|
||||
) $
|
||||
]
|
||||
]
|
||||
|
||||
#v(1cm)
|
||||
|
||||
#set align(left)
|
||||
#set text(size: 1.1em)
|
||||
- *$r_24$* : Surveillé par #text(fill: orange)[$f_0$] et #text(fill: blue)[$f_14$].
|
||||
- Si #text(fill: orange)[$f_0 = 1$] et #text(fill: blue)[$f_14 = 1$], $r_24$ est suspect
|
||||
]
|
||||
|
||||
#myslide("Graphe de Tanner")[
|
||||
@ -361,3 +480,13 @@
|
||||
#myslide("Théorie deriere la définition des codes linaires")[
|
||||
Poser les notations algebriques etc...
|
||||
]
|
||||
|
||||
#myslide("Decodage par maximum de vraisemblance")[
|
||||
Expliquer, quelle distance ? etc
|
||||
]
|
||||
|
||||
#myslide("Code LDPC non régulier")[
|
||||
|
||||
]
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user