D´
ecodage des codes LDPC par l’algorithme λMin
Fr´
ed´
eric GUILLOUD1, Emmanuel BOUTILLON2, Jean-Luc DANGER1
1LTCI Telecom Paris
46, rue Barrault, 75634 Paris Cedex 13, France
2LESTER, Universit´
e de Bretagne Sud
BP 92116, 56321 LORIENT Cedex, France
R´
esum´
e – Le d´
ecodage optimal des codes LDPC met en oeuvre un algorithme it´
eratif qui propage les informations extrins`
eques et les informa-
tions a priori dans le graphe bipartite reliant les variables aux ´
equations de parit´
e. Nous proposons dans cet article tout d’abord une simplification
du calcul de parit´
e, qui facilite le d´
ecodage et son implementation architecturale, sans d´
egradation significatives des performances du d´
ecodage.
Nous proposons aussi une architecture adapt´
ee `
a cet algorithme qui permet d´
ecoder une grande classe de codes r´
eguliers ou irr´
eguliers.
Abstract – Optimal LDPC codes decoding is performed using an iterative algorithm : it propagates extrinsic and a priori information through the
bipartite graph which is the link between variable nodes and parity check nodes. In this article, a simplification of the parity check processing is
proposed, which makes the decoding and its architectural design easier, without any significant loss of performance. A new decoding architecture
is also proposed which is well suited to the λmin algorithm. Both regular and irregular codes can be decoded by this architecture.
Introduction
Les codes LDPC (low density parity check) sont des codes
en blocs dont la matrice de parit´
e comporte un faible nombre
de 1 [6]; ils ont ´
et´
e bien ´
etudi´
es d’un point de vu th´
eorique
depuis leur red´
ecouverte en 1995 [7], et les probl`
emes pos´
es
par leur int´
egration mat´
erielle commencent `
aˆ
etre abord´
es. Le
choix d’un code LDPC pour la norme DVB-S2 rend le su-
jet de tr`
es grande actualit´
e. Dans cet article, nous proposons
une simplification du calcul des parit´
es par un algorithme nou-
veau que nous avons appel´
e algorithme λmin. Cet algorithme
permet de r´
eduire significativement la taille de la m´
emoire re-
quise par le d´
ecodeur LDPC, et ce, sans d´
egradation significa-
tive de la performance. De plus, nous d´
ecrivons un mode de
r´
ealisation s´
erie du traitement des parit´
es tr`
es bien adapt´
e avec
l’algorithme λmin et permettant naturellement le d´
ecodage
de codes LDPC irr´
eguliers.
Apr`
es avoir rappel´
e le principe du d´
ecodage it´
eratif optimal,
nous pr´
esenterons l’algorithme λmin et ses performances.
Enfin, nous pr´
esenterons un processeur de parit´
e r´
ealisant l’al-
gorithme λmin selon un mode s´
erie. Les gains de m´
emorisation
seront aussi donn´
es.
1 D´
ecodage it´
eratif optimal et notations
Les codes LDPC peuvent ˆ
etre mod´
elis´
es par des graphes bi-
partites (figure 1): il s’agit de graphes dont on peut s´
eparer
les noeuds en deux groupes: pour les codes LDPC, il y a d’une
part Nbits (variables) vnet d’autre part Mparit´
es cm(checks).
Lorsqu’un bit apparaˆ
ıt dans une parit´
e, les deux noeuds corres-
pondants sont reli´
es.
En utilisant les notations de Fossorier et al. [5], [3], on pose
N(m) = {vn:Hmn = 1}l’ensemble des bits impliqu´
es dans
la parit´
ecmet soit N(m)\nce mˆ
eme ensemble sans le bit vn.
eeee e e
ZZZZ
Z
Z
Z
Z
Z
Z
.
J
J
J
J
J
J
J
J
6
?
L(i)
mn
Z(i)
mn
c0c1c2c3
v5
v4
v3
v2
v1
v0
 -
?
6
Nvariables
Mparit´
esH=
111000
101010
011001
000111
Mot rec¸u: y= (y0y1· · · yN1)
tel que yn=(1)xn+bno`
ubn N (0, σ2)
Mot de code ´
emis: x= (x0x1· · · xN1)
tel que Hx0= 0
|N (m)|: poids de la parit´
em.
ici, |N (m)|= 3 ,m.
FIG. 1: Exemple d’un graphe bipartite et de sa matrice de pa-
rit´
e
De mˆ
eme, soit M(n) = {cm:Hmn = 1}l’ensemble des pa-
rit´
es dans lesquelles le bit vnest impliqu´
e, et soit M(n)\mce
mˆ
eme ensemble sans la parit´
ecm. La cardinalit´
e d’un ensemble
Aest not´
e|A|.
Le d´
ecodage it´
eratif des codes LDPC est bas´
e sur la propaga-
tion de l’information des variables vn`
a travers les parit´
es cm.
Soit Z(i)
mn le logarithme du rapport de vraissemblance (LLR) du
message allant du bit vn`
a la parit´
ecmlors de la i`
eme it´
eration
(information a priori). Soit de mˆ
eme L(i)
mn le LLR du message
allant de la parit´
ecmau bit vn(information extrins`
eque).
·Initialisation: Le d´
ecodage est initialis´
e par le LLR de
chaque bit n:
L(0)
n=2yn
σ2, σ2=No/2.(1)
·It´
erations: Les it´
erations icomportent 2´
etapes:
1. la mise `
a jour des informations a priori: pour tout vnet
pour tout cm∈ M(n):
Z(i)
mn =Z(i)
nL(i1)
mn (2)
o`
uZ(i)
n=L(0)
n+X
m∈M(n)
L(i)
mn repr´
esente la valeur souple
du bit vn. Le mot de code rec¸u est ˆxi=nsZ(i)
no1nN,
o`
us(a)repr´
esente le signe de a. On calcule aussi le syn-
drome ξi(ˆxi) = Hˆx0
i.
2. la mise `
a jour des infomations extrins`
eques: pour tout
cmet pour tout vn∈ M(n):
L(i)
mn =S(i)
mn ×M(i)
mn (3)
avec S(i)
mn =sZ(i)
mn×p(i)
m(4)
o`
up(i)
m=Y
n∈N (m)
sZ(i)
mnd´
esigne la parit´
e de l’´
equa-
tion cm, et
M(i)
mn =M
n0∈N (m)\n
Z(i)
mn0
(5)
o`
uest la fonction commutative et associative telle que
[1]:
I0I1= ln exp(I0) + exp(I1)
1 + exp(I0+I1)(6)
L’algorithme it´
eratif est termin´
e d`
es que le syndrˆ
ome calcul´
e
`
a la premi`
ere ´
etape est nul, ou bien si le nombre maximum
pr´
ed´
efini d’it´
erations est atteint.
Le calcul de la parit´
e est complexe cat il n´
ecessite des LUT
(look up table) pour les fonctions non-lin´
eaires. L’algorithme
BP-Based propos´
e par M.P.C Fossorier et al. [5] simplifie l’´
equation
(5) par:
M(i)
mn = min
n0∈N (m)\n
Z(i)
mn0
.(7)
Pour compenser la perte importante de performance introduite
par cette simplification, une am´
elioration est apport´
ee par l’ajout
d’un coefficient correctif ([3] puis [4]). Mais la perte de perfor-
mance introduite reste importante pour les codes plus proches
de la limite de Shannon (codes irr´
eguliers et de grandes tailles).
2 L’algorithme λmin
Nous proposons dans cette partie l’algorithme λmin. Cet
algorithme permet diff´
erents compromis performances-complex-
it´
es entre l’algorithme optimal et l’algorithme BP.
2.1 Pr´
esentation
L´
equation (6) est modifi´
ee afin de simplifier sa quantifica-
tion:
I0I1=s(I0)s(I1)min(|I0|,|I1|) + f(I0I1)f(I0+I1)
(8)
On peut noter que la fonction f:x7→ log(1+exp(−|x|)) est ex-
ponentiellement d´
ecroissante. Ainsi, la valeur de
L(i)
mn
est for-
tement d´
etermin´
ee par les
Z(i)
mn0
les plus faibles. D’o`
u l’id´
ee
de simplifier le calcul des parit´
es en ne prenant en compte que
les λ(λ > 1) informations a priori de plus faibles modules.
Soit N(i)
λ(m) = {n0,· · · , nλ1}le sous-ensemble de N(m)
qui contient les λindices des bits de la parit´
ecmayant les
plus faibles informations a priori (en module) `
a l’it´
eration i.
On note aussi (i)
λ(m) = {|Z(i)
mn|, n N (i)
λ(m)}l’ensemble
des λvaleurs absolues minimales des informations a priori re-
latives `
a la parit´
emlors de l’it´
eration i. On note de mˆ
eme
S(i)(m) = {s(L(i)
mn), n N (m)}l’ensemble des signes de
ces mˆ
emes informations. Alors on approxime (5) par:
M(i)
mn =M
n0∈Nλ(m)\n
Z(i)
mn0
(9)
Notons que l’´
equation (9) g´
en´
ere seulement λ+ 11valeurs
distinctes, contre |N (m)|pour l’´
equation (5). En effet, tous
les bits n’appartenant pas `
aNλ(m), rec¸oivent la mˆ
eme valeur
extrins`
eque calcul´
ee par (9). On note E(i)
λ(m) = {ej, j
(0,1,· · · , λ)}l’ensemble des λ+ 1 informations extrins`
eques
calcul´
ees lors de la mise `
a jour des parit´
es.
2.2 R´
esultats
2 2.5 3 3.5 4 4.5
10−7
10−6
10−5
10−4
10−3
10−2
10−1 Influence of the nb of minimum for IRREGULAR 816x408 matrix (Epfl)
Eb/No
BER
Exacte
2 min
3 min
4 min
0 5 10
0
100
200
300
400
500 Edge distribution (variables)
variable degree
number
5 10 15
0
50
100
150
200
250 Edge distribution (checks)
check degree
number
FIG. 2: Comparaison des taux d’erreurs par mot et par bit se-
lon le nombre de minima pris en compte, dans le cas d’une
matrice irr´
eguli`
ere construite `
a l’aide des degr´
es fournis par
le programme LdpcOpt [8]
La figure 2 montre l’influence de λsur les performances,
pour une matrice irr´
eguli`
ere dont les coefficients ont ´
et´
e obtenu
grˆ
ace au programme LdpcOpt [8]. La proportion du nombre
de bit impliqu´
es dans une parit´
e (check distribution) ainsi que
la proportion du nombre de parit´
es impliquant un bit (variable
distribution) sont repr´
esent´
ees `
a droite de la figure. A un taux
d’erreurs binaire de 104, l’algorithme 2min apporte une perte
de 0.17 dB et de 0.36 dB pour respectivement 5et 50 it´
erations.
1. On peut remarquer que le cas λ= 2 diff´
ere de l’algorithme BP-based
pour les bits n /∈ N2(m) = {n0, n1}: le premier renvoie Z(i)
mn0Z(i)
mn1et
le second simplement Z(i)
mn0.


66 6
?
6
??
?
?
?
-
?
? ?
666
-
?
S(i1)
λ
n
N(i1)
λE(i1)
λ
FIFOQ
Zn
L(i1)
mn
Z(i)
mn
N(i)
λ
n0
L(i)
mn
N(i)
λE(i)
λ
λ+ 1
extrins`
eques
Calcul des
Synth`
ese 1
Synth`
ese 2
(i)
λS(i)
nPr´
e-traitement
FIG. 3: Description d’un processeur de parit´
e
Pour λ4, aucune perte n’est mesurable entre l’algorithme
BP et le λmin.
3 Architecture
Seule l’architecture de processeur de parit´
e (PCP, pour Parity
Check Processor) est d´
ecrite dans cet article. De nombreuses
architectures d´
ej`
a propos´
ees peuvent ˆ
etre modifi´
ees pour uti-
liser avantageusement le PCP propos´
e. On peut citer en par-
ticulier les architectures d´
ecrites dans [2] et [9]. Nous ferons
juste l’hypoth`
ese que PPCP travaillent en parall`
ele. Ainsi, le
calcul des Mparit´
es d’une it´
eration demande Q=M/P ma-
crocycles. Autrement dit, un PCP traitera Qparit´
es `
a chaque
it´
eration.
3.1 Description du PCP
La simplification que nous avons apport´
ee au calcul de la
parit´
e permet de r´
eduire la complexit´
e architecturale du PCP.
Son synoptique est repr´
esent´
e sur la figure 3 et se divise en 5
´
etapes, ex´
ecut´
ees en pipe-line:
1. Soustracteur: G´
en´
eration des Z(i)
mn selon l’´
equation (2).
Les L(i1)
mn sont g´
en´
er´
es comme `
a l’´
etape 4grˆ
ace aux
informations sauvegard´
ees lors de l’´
etape 5.
2. Pr´
e-Processing: tri en s´
erie des λplus petits modules
|Z(i)
mn|et calcul du signe.
3. Calcul des (λ+1) informations extrins`
eques2de l’´
equation
(9).
4. Synth`
ese: elle permet de g´
en´
erer les informations ex-
trins`
eques L(i)
mn `
a partir de N(i)
λ(m),E(i)
λ(m)et de S(i)(m).
5. FIFO : Sauvegarde des donn´
ees N(i)
λ(m),E(i)
λ(m)et S(i)(m)
dans la pile de taille Qpour pouvoir reg´
en´
erer les L(i)
mn `
a
l’it´
eration i+ 1.
2. pour λ > 2; si λ= 2 il n’y a qu’un seul calcul `
a faire.
(a) 

?
C
C
C??
?
-
?
-
-
?
-@
@
?
n=n0n=n1
Mmn
Smn
n /Nλ
?
nNλ
e0e1· · · eλ
Eλ
S n Nλ
Lmn
(b)


XOR


XOR
Min 0 n0
n1
Min 1
n2
Min 2
?
? ??
?
?
?
?
?
?
- 
-
?
??
FIFO de
taille
|N (m)|Parit´
e
p(i)
m
sZ(i)
mn
bits
S(i)
mn
Z(i)
mn, n
|Z(i)
mn|, n
(i)
λ(mn), N(i)
λ(m)
FIG. 4: (a): Le bloc synth`
ese. (b): Le bloc Pr´
e-traitement pour
l’algorithme 3min.
La figure 4-(a) d´
ecrit le bloc synth`
ese qui permet de g´
en´
erer
les informations extrins`
eques de tous les bits. Les index des
bits sont compar´
es aux ´
el´
ements de l’ensemble N(i)
λ(m). Se-
lon le r´
esultat de la comparaison, le module de l’information
extrins`
eque ad hoc est choisi parmi les λ+ 1 valeurs de l’en-
semble E(i)
λ(m), puis multipli´
e par le signe correpondant de
l’ensemble S(i)(m).
Le bloc pr´
e-traitement est repr´
esent´
e sur la figure 4-(b) (cas
λ= 3). Il permet de faire un tri par insertion des nouvelles
informations dans une succession de λcellules ”comparateur
- m´
emoire”: `
a chaque coup d’horloge, la valeur courante de
|Z(i)
mn|est compar´
ee aux λpr´
ec´
edentes valeurs stock´
ees; se-
lon le r´
esultat de la comparaison, elle est ins´
er´
ee dans l’ordre
d´
ecroissant et la valeur la plus grande est perdue. Ce bloc per-
met aussi simultan´
ement de m´
emoriser les signes des informa-
tions dans une pile FIFO et de calculer la parit´
ep(i)
m.
Le chronogramme de la figure 5 d´
ecrit l’enchaˆ
ınement des
´
etapes du PCP lors du traitement du q`
eme macrocycle. Toutes
ces ´
etapes durent |N (m)|cycles, sauf celle du calcul qui peut
se faire en Tc=λ+ 1 cycles. La contrainte du fonctionne-
ment en pipe-line est que le temps de calcul des informations
extrins`
eque ne doit pas d´
epasser celui des autres ´
etapes, soit
|N (m)|cycles. Pour d´
ecoder des codes irr´
eguliers, il suffit de
traiter les parit´
es dans l’ordre croissant de leur poids. Si ce
n’´
etait pas le cas, il se pourrait que l’´
etape kd’un macrocycle
qne soit pas termin´
ee au moment d’ex´
ecuter l’´
etape kdu ma-
crocycle q+ 1. On serait alors obliger d’introduire des signaux
d’attente qui diminuraient le d´
ebit.
 -
-
 -
 -
- -
--
-
- -
-
Calcul extrins`
eque
Pr´
e-Processing
Synth`
ese 1
q+ 1qq 1
Synth`
ese 2
cycles
|N (m)|
Tc<|N (m)|
FIG. 5: S´
equencement des op´
erations d’un PCP
3.2 Impact sur la m´
emoire
Pour cette partie, on note Nb+ 1 le nombre de bits permet-
tant de coder les donn´
ees (Nbpour le module et 1bit de signe).
Lors du calcul exact de chaque parit´
e, il est n´
ecessaire de sto-
cker |N (m)|informations extrins`
eques Z(i)
mn qui sont cod´
ees
sur Nb+ 1 bits. Cela donne au total (Nb+ 1)|N (m)|bits `
a
sauvegarder.
La simplification du calcul de parit´
e apport´
ee par l’algo-
rithme λmin permet de r´
eduire la quantit´
e de m´
emoire interne
des processeurs de parit´
e et c’est le bloc synth`
ese de la figure
3 qui se charge de la d´
ecompression. Avec cette simplification
, il sera n´
ecessaire de stocker:
λ+ 1 r´
esultats de l’´
equation (9) soit (λ+ 1)Nbbits.
λpointeurs sur λ´
el´
ements de l’ensemble Nλ(m)soit:
λlog2(|Nλ(m)|)bits
|N (m)|signes ainsi que le produit des signes (parit´
e
p(i)
m), soit |N (m)|+ 1 bits.
Le rapport entre la quantit´
e de m´
emoire n´
ecessaire pour stocker
les informations relatives aux informations extrins`
eques dans
le cas de l’ algorithme λmin et dans le cas de l’algorithme
classique, pour une parit´
ecmest donc de:
(λ+ 1)Nb+λlog2(|Nλ(m)|) + |N (m)|+ 1
(Nb+ 1)|N (m)|.(10)
La figure 6 illustre ce rapport en fonction de λet de |N (m)|. On
constate par exemple que pour une parit´
ecmde poids |N (m)|=
20 et dans le cas de l’algorithme 2min, la m´
emoire n´
ecessaire
au stockage des donn´
ees relatives aux information extrins`
eques
n’occupe que 30% de la m´
emoire qui serait n´
ecessaire si l’on
utilisait l’algorithme classique.
Conclusion
Dans cet article, un nouvel algorithme sous-optimal, l’algo-
rithme λmin, a ´
et´
e pr´
esent´
e. Il permet la simplification de
la mise `
a jour des parit´
es lors du d´
ecodage it´
eratif des codes
LDPC, sans d´
egradation significative des performances de d´
ecodage.
Une architecture de processeur de parit´
e utilisant cet algo-
rithme a ´
et´
e propos´
ee. Elle permet une compression impor-
tante de la m´
emoire n´
ecessaire au stockage des informations
extrins`
eques associ´
ee `
a chaque entr´
ee non nulle de la matrice
de parit´
e du code.
L’utilisation d’un tel processeur de parit´
e dans une architec-
ture utilisant des bancs m´
emoires permet un parall`
elisme plus
10 20 30 40
0
0.2
0.4
0.6
0.8
1
|N(m)|
Memory reduction factor
λ = 4
λ = 3
λ = 2
BP−Based
FIG. 6: Gain m´
emoire obtenu en passant de l’algorithme BP `
a
l’algorithme λmin, avec Nb= 5.
important qu’avec un processeur de parit´
e classique; c’est-`
a-
dire que pour un mˆ
eme nombre de blocs m´
emoires, le nombre
de parit´
es trait´
ees simultan´
ement est plus important. Cette as-
sociation permet ´
egalement un d´
ecodage des codes r´
eguliers
et irr´
eguliers, sans trop contraindre leur matrice de parit´
e. Une
telle architecture de d´
ecodeur est en cours de d´
eveloppement
dans notre laboratoire.
R´
ef´
erences
[1] G. Battail and A. H. M. El-Sherbini. Coding for radio chan-
nels. Annales des T´
el´
ecommunications, 37:75–96, 1982.
[2] E. Boutillon, J. Castura, and F.R. Kschichang. Decoder-
first code design. In Proceedings of the 2nd Internatio-
nal Symposium on Turbo Codes and Related Topics, pages
459–462, Brest, France, 2000.
[3] J. Chen and M.P.C. Fossorier. Near optimum universal
belief propagation based decoding of low-density parity-
check codes. Transactions on Communications, 50:406–
414, March 2002.
[4] J. Chen and M.P.C. Fossorier. Density evolution for two
improved bp-based decoding algorithms of ldpc codes.
IEEE Communication Letters, 6:208–210, May 2002.
[5] M.P.C. Fossorier, M. Mihaljevi´
c, and I. Imai. Reduced
complexity iterative decoding of low-density parity-check
codes based on belief propagation. Transactions on Com-
munications, 47:673–680, May 1999.
[6] R.G. Gallager. Low-Density Parity-Check Codes. PhD the-
sis, MIT, 1963.
[7] D.J.C MacKay and R.M. Neal. Near shannon limit per-
formance of low-density parity-check codes. Electronic
Letter, 32:1645–1646, 1996.
[8] R. Urbanke. Ldpcopt. Available at
http://lthcwww.epfl.ch/research/ldpcopt/.
[9] T. Zhang and K.K. Parhi. Vlsi implementation-oriented
(3,k)-regular low-density parity-check codes. In Worshop
on Signal Processing Systems 2001, SIPS, Sept. 2001.
1 / 4 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !