Professional Documents
Culture Documents
Jean-Yves Chouinard
25 avril 2013
Plan de la présentation
1 Introduction
4 Graphes de Tanner
6 Références
Introduction
Les codes à faible densité de parité, appelés codes LDPC 1 ont été
découverts en 1962 par Robert Gallager [Gal62]. Les codes LDPC
sont des codes binaires caractérisés par une matrice de parité H
ayant un faible nombre, ou une faible densité, de “1”. L’utilisation
des codes LDPC permet de s’approcher, en terme de performance,
de la limite théorique de la capacité de Shannon [Sha48]. Même s’il
n’a pas proposé de méthode de construction systématique des
codes LDPC, Gallager a toutefois présenté une méthode pour
construire des codes LDPC pseudoaléatoires.
Introduction
Introduction
GH| = 0
wr wc
δLDPC = =
N L
On peut considérer que la densité de H est faible lorsque [Bla03] :
δLDPC ≤ log2 N
Construction de Gallager
1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1
1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0
0 1 0 0 0 1 0 0 0 1 0 0 0 0 0 0 1 0 0 0
H= 0 0 1 0 0 0 1 0 0 0 0 0 0 1 0 0 0 1 0 0
0 0 0 1 0 0 0 0 0 0 1 0 0 0 1 0 0 0 1 0
0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1
1 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0
0 1 0 0 0 0 1 0 0 0 1 0 0 0 0 1 0 0 0 0
0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 1 0
0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 1 0 0 0
0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1
Graphes de Tanner
On peut représenter graphiquement la relation entre les bits de données et
les bits de parité d’un code linéaire afin de montrer leur interdépendance
lors du décodage à l’aide d’un graphe de Tanner [Tan81, Mac99].
z1 z2 z3 z4 z5
Jean-Yves Chouinard Codes à faible densité de parité LDPC
Introduction
Codes à faible densité de parité
Construction des codes à faible densité de parité
Graphes de Tanner
Décodage des codes LDPC
Références
1 0 0 0 1 1 1 0 0 0
0 1 0 0 1 0 0 1 1 0
H0 =
0
0 1 0 0 1 0 1 0 1
0 0 0 1 0 0 1 0 1 1
Introduction
z1 z2 z3 z4 z5 z6
et S = {c7 , c8 , c12 }.
Donc S = {c4 }.
Le calcul
du syndrôme est cette fois-ci nul :
s = 0 0 0 0 0 0 et le vecteur est maintenant un
mot-code valide, c̃, (idéalement le bon) qui peut être maintenant
décodé en un message.
1 Calcul des probabilités a posteriori que les N bits reçus soient “1” ou
“0” :
p0 = {p10 , . . . , pi0 , . . . , pN
0
} et p1 = {p11 , . . . , pi1 , . . . , pN
1
}
i = 1, . . . , N
4 Normaliser {pi0 } et {pi1 } : pi0 + pi1 = 1, i = 1, . . . , N.
0 1
1 sur {pi } et {pi } pour déterminer le vecteur c̃ :
Décision ferme
6
pi
λ (ci ) = ln p0
i
c = mG
1 0 0 0 0 0 0 1 1 0 1 0
0 1 0 0 0 0 0 1 1 1 1 1
0 0 1 0 0 0 1 1 0 0 1 0
c = 1 0 1 0 0 0
0 0 0 1 0 0 0 1 0 1 1 0
0 0 0 0 1 0 1 1 1 0 1 1
0 0 0 0 0 1 1 0 0 1 0 1
c = 1 0 1 0 0 0 1 0 1 0 0 0
0.70 0.10 0.00 0.10 0.00 0.00 0.00 0.00 0.80 0.10 0.00 0.10
0.70 0.10 0.40 0.10 0.10 0.00 0.00 0.20 0.00 0.00 0.00 0.00
0.70 0.00 0.40 0.00 0.10 0.60 0.00 0.00 0.00 0.10 0.10 0.00
0.00 0.00 0.00 0.10 0.10 0.60 0.90 0.00 0.80 0.00 0.10 0.00
0.00 0.10 0.40 0.00 0.00 0.00 0.90 0.20 0.00 0.00 0.10 0.10
0.00 0.00 0.00 0.00 0.00 0.60 0.90 0.20 0.80 0.10 0.00 0.10
0
La probabilité Pi,j que le j e„ me bit soit égal à 0 est :
0.30 0.90 0.00 0.90 0.00 0.00 0.00 0.00 0.20 0.90 0.00 0.90
0.30 0.90 0.60 0.90 0.90 0.00 0.00 0.80 0.00 0.00 0.00 0.00
0.30 0.00 0.60 0.00 0.90 0.40 0.00 0.00 0.00 0.90 0.90 0.00
0.00 0.00 0.00 0.90 0.90 0.40 0.10 0.00 0.20 0.00 0.90 0.00
0.00 0.90 0.60 0.00 0.00 0.00 0.10 0.80 0.00 0.00 0.90 0.90
0.00 0.00 0.00 0.00 0.00 0.40 0.10 0.80 0.20 0.90 0.00 0.90
−0.40 0.80 0.00 0.80 0.00 0.00 0.00 0.00 −0.60 0.80 0.00 0.80
−0.40 0.80 0.20 0.80 0.80 0.00 0.00 0.60 0.00 0.00 0.00 0.00
−0.40 0.00 0.20 0.00 0.80 −0.20 0.00 0.00 0.00 0.80 0.80 0.00
0.00 0.00 0.00 0.80 0.80 −0.20 −0.80 0.00 −0.60 0.00 0.80 0.00
0.00 0.80 0.20 0.00 0.00 0.00 −0.80 0.60 0.00 0.00 0.80 0.80
0.00 0.00 0.00 0.00 0.00 −0.20 −0.80 0.60 −0.60 0.80 0.00 0.80
QN
Calcul de ∆Qi,j = l =1 ∆Pl,j , j = 1, . . . , L :
l 6=i
−0.25 0.12 0.00 0.12 0.00 0.00 0.00 0.00 −0.16 0.12 0.00 0.12
0.06 −0.03 −0.12 −0.03 −0.03 0.00 0.00 −0.04 0.00 0.00 0.00 0.00
−0.02 0.00 0.04 0.00 0.01 −0.04 0.00 0.00 0.00 0.01 0.01 0.00
0.00 0.00 0.00 −0.06 −0.06 0.25 0.06 0.00 0.08 0.00 −0.06 0.00
0.00 −0.06 −0.25 0.00 0.00 0.00 0.06 −0.08 0.00 0.00 −0.06 −0.06
0.00 0.00 0.00 0.00 0.00 0.18 0.05 −0.06 0.06 −0.05 0.00 −0.05
0.38 0.56 0.00 0.56 0.00 0.00 0.00 0.00 0.42 0.56 0.00 0.56
0.53 0.48 0.44 0.48 0.48 0.00 0.00 0.48 0.00 0.00 0.00 0.00
0.49 0.00 0.52 0.00 0.51 0.48 0.00 0.00 0.00 0.51 0.51 0.00
0.00 0.00 0.00 0.47 0.47 0.62 0.53 0.00 0.54 0.00 0.47 0.00
0.00 0.47 0.38 0.00 0.00 0.00 0.53 0.46 0.00 0.00 0.47 0.47
0.00 0.00 0.00 0.00 0.00 0.59 0.52 0.47 0.53 0.48 0.00 0.48
1
et Qi,j = 21 (1 − ∆Qi,j ) :
0.62 0.44 0.00 0.44 0.00 0.00 0.00 0.00 0.58 0.44 0.00 0.44
0.47 0.52 0.56 0.52 0.52 0.00 0.00 0.52 0.00 0.00 0.00 0.00
0.51 0.00 0.48 0.00 0.49 0.52 0.00 0.00 0.00 0.49 0.49 0.00
0.00 0.00 0.00 0.53 0.53 0.38 0.47 0.00 0.46 0.00 0.53 0.00
0.00 0.53 0.62 0.00 0.00 0.00 0.47 0.54 0.00 0.00 0.53 0.53
0.00 0.00 0.00 0.00 0.00 0.41 0.48 0.53 0.47 0.52 0.00 0.52
0.08 0.20 0.00 0.20 0.00 0.00 0.00 0.00 0.06 0.22 0.00 0.20
0.06 0.24 0.12 0.24 0.21 0.00 0.00 0.17 0.00 0.00 0.00 0.00
0.06 0.00 0.10 0.00 0.20 0.15 0.00 0.00 0.00 0.24 0.20 0.00
0.00 0.00 0.00 0.24 0.22 0.11 0.03 0.00 0.04 0.00 0.21 0.00
0.00 0.24 0.14 0.00 0.00 0.00 0.03 0.18 0.00 0.00 0.21 0.24
0.00 0.00 0.00 0.00 0.00 0.12 0.03 0.18 0.05 0.26 0.00 0.24
1
QL
et Pi,j = pi1 × k=1
1
Qi,k :
k6=j
0.17 0.03 0.00 0.03 0.00 0.00 0.00 0.00 0.17 0.03 0.00 0.03
0.22 0.02 0.12 0.02 0.03 0.00 0.00 0.06 0.00 0.00 0.00 0.00
0.20 0.00 0.14 0.00 0.03 0.09 0.00 0.00 0.00 0.02 0.03 0.00
0.00 0.00 0.00 0.02 0.03 0.13 0.20 0.00 0.22 0.00 0.03 0.00
0.00 0.02 0.11 0.00 0.00 0.00 0.20 0.06 0.00 0.00 0.03 0.02
0.00 0.00 0.00 0.00 0.00 0.12 0.20 0.06 0.21 0.02 0.00 0.02
0.32 0.88 0.00 0.88 0.00 0.00 0.00 0.00 0.25 0.89 0.00 0.88
0.20 0.91 0.50 0.91 0.89 0.00 0.00 0.75 0.00 0.00 0.00 0.00
0.23 0.00 0.42 0.00 0.88 0.62 0.00 0.00 0.00 0.91 0.88 0.00
0.00 0.00 0.00 0.92 0.90 0.47 0.12 0.00 0.17 0.00 0.89 0.00
0.00 0.92 0.56 0.00 0.00 0.00 0.12 0.77 0.00 0.00 0.89 0.91
0.00 0.00 0.00 0.00 0.00 0.50 0.12 0.76 0.17 0.92 0.00 0.91
1
et Pi,j :
0.68 0.12 0.00 0.12 0.00 0.00 0.00 0.00 0.75 0.11 0.00 0.12
0.80 0.09 0.50 0.09 0.11 0.00 0.00 0.25 0.00 0.00 0.00 0.00
0.77 0.00 0.58 0.00 0.12 0.38 0.00 0.00 0.00 0.09 0.12 0.00
0.00 0.00 0.00 0.08 0.10 0.53 0.88 0.00 0.83 0.00 0.11 0.00
0.00 0.08 0.44 0.00 0.00 0.00 0.88 0.23 0.00 0.00 0.11 0.09
0.00 0.00 0.00 0.00 0.00 0.50 0.88 0.24 0.83 0.08 0.00 0.09
Les valeurs
1de rapport de vraisemblance logarithmique (LLR) sont
p
λ(c) = ln p0
:
1.27 −2.26 0.26 −2.26 −2.03 −0.39 1.86 −1.02 1.43 −2.37 −1.97 −2.23
R.E. Blahut.
Algebraic Codes for Data Transmission.
Cambridge University Press, Cambridge, UK, 2003.
R.G. Gallager.
Low Density Parity Check Codes.
MIT Press, Cambridge, Massachusetts, 1963.
(monographie).
T.K. Moon.
Error Correction Coding : Mathematical Methods and Algorithms.
Wiley-Interscience, Hoboken, New-Jersey, 2005.
R.G. Gallager.
Low Density Parity Check Codes.
IEEE Transactions on Information Theory, IT-8 :21–28, janvier 1962.
C.E. Shannon.
A Mathematical Theory of Communication.
Bell System Technical Journal, 27 :379–423 et 623–656, 1948.
R.M. Tanner.
A Recursive Approach to Low Complexity Codes.
IEEE Transactions on Information Theory, IT-27 :533–547, septembre
1981.