SlideShare une entreprise Scribd logo
1  sur  56
Télécharger pour lire hors ligne
7 Avril 2005
E. Boutillon1/54
http://lester.univ-ubs.fr/
Architecture génériqueArchitecture générique
de décodage de code LDPCde décodage de code LDPC
F. GUILLOUD
E. BOUTILLON
guilloud@enst-bretagne.fr
emmanuel.boutillon@univ-ubs.fr
0 1 2 3 4 5 6
7 Avril 2005
E. Boutillon2/54
http://lester.univ-ubs.fr/
Prédiction de Shannon (année 50)
zone de couverture potentiel
Importance du codage...
Invention des turbo-codes
1993 (Berrou Glavieux)
Situation en 1990
zone de couverture
de l'émetteur
Emetteur
1995 : Redécouverte des codes LDPC
(Gallager 1960)
Compétition LDPC-Turbo-Code...
7 Avril 2005
E. Boutillon3/54
http://lester.univ-ubs.fr/
Low Density Parity Check Code
Gallager LDPC 1962
Berrou, Glavieux Turbo Codes 1993
MacKay LDPC 1995
Wiberg Graphes 1995
Richardson, Urbanke Density Evolution 2001
Premières architectures de décodeurs 2001
Standard DVB-S2 2003
Inventé en 1961 par Gallager (thèse MIT), oublié, redécouvert en 1995
(MacKay, Ritchardson).
7 Avril 2005
E. Boutillon4/54
http://lester.univ-ubs.fr/
Code de parité
Principe des codes LDPC
Architecture de décodeur LDPC
En guise de conclusion
PLAN
7 Avril 2005
E. Boutillon5/54
http://lester.univ-ubs.fr/
Parity check
Parity check (3,2,1) :
(b0, b1, b2) codeword <=> Sum of 1 = 0 mod 2.
CP(3,2,1) = {(0, 0, 0) ; (0, 1, 1) ; (1, 1, 0) ; (1, 0, 1)}
b0 b1 b2
bits
CP
Generalization: Parity Check (n, n-1, 1)
7 Avril 2005
E. Boutillon6/54
http://lester.univ-ubs.fr/
Décodage d'un code de Parité
bj∈ {0,1}
Mod.
xj∈{-1,+1}
N(0,σ)
Démod.
xj yj = xj +wj
wj
L'observation yj donne l'information intrinsèque ij du bit bj:
ij = (p(bj=0/yj) , p(bj=1/yj))
que l'on exprime aussi par le "log likelihood ratio":
ij = ln(p(bj=1/yj)/p(bj=0/yj)) = 2yj/σ2
Note: sign(ij) => décision dure, | ij | fiabilité de la décision
7 Avril 2005
E. Boutillon7/54
http://lester.univ-ubs.fr/
Décodage d'un code de Parité
Quelle information i1 et i2
donnent sur la valeur b0 ?
En utilisant:
p(b0=0/y1 ,y2) = p(b1=0/y1). p(b2=0/y2) + p(b1=1/y1) . p(b2=1/y2)
p(b0=1/y1 ,y2) = p(b1=0/y1). p(b2=1/y2) + p(b1=1/y1) . p(b2=0/y2)
on obtient une observation e0 de la valeur de b0 indépendante de i0 :
)
1
ln(
21
21
210 ii
ii
ee
ee
iie
+
⋅+
=⊕=
e0 est appelé information extrinsèque
? b1 b2
bits
CP
i1 i2e0
7 Avril 2005
E. Boutillon8/54
http://lester.univ-ubs.fr/
Décodage d'un code de parité
Enfin, i0 et e0 sont additionnés pour obtenir la valeur finale.
Le processus est symétrique pour tous les bits.
b0 b1 b2
y0 y1 y2
2.92.2ij
b0 b1 b2
1.4
ij
ej -1.0-1.2-1.7
2,92,21,4
1.91-0.32.92.21.4
Mot de code
7 Avril 2005
E. Boutillon9/54
http://lester.univ-ubs.fr/
Conseil : éviter les auto-confirmations
Jean et Claire… 80%
Pierre
Paul
Jean et Claire… 80%
Jean et Claire… 80%
90%
Jacques Jean et Claire… 80%
7 Avril 2005
E. Boutillon10/54
http://lester.univ-ubs.fr/
Note: itération
Si le processus itère de nouveau, il y a autoconfirmation
b0 b1 b2
1,91Ij
b0 b1 b2
-0,3
Tj
Ej 0,10,2-0,8
1,91-0,3
21,2-1,1
1,91-0,3
Et le système diverge...
7 Avril 2005
E. Boutillon11/54
http://lester.univ-ubs.fr/
Code de parité
Principe des codes LDPC
Architecture de décodeur LDPC
En guise de conclusion
PLAN
7 Avril 2005
E. Boutillon12/54
http://lester.univ-ubs.fr/
LDPC Code
Peut être défini par un graph bi-partite
0 1 2 3 4 5 6 Bit bi
Parity checks
(PC)
Branches
(b0, b1, … , b6) mot de code <=> toutes les PC sont respectées
7 Avril 2005
E. Boutillon13/54
http://lester.univ-ubs.fr/
Pourquoi le nom de LDPC ?
Représentation algébrique :
X = (x0, x1, …, x6)T mot de code si H.X = 0
0 1 1 1 1 0 0
1 0 1 1 0 1 0
1 1 0 1 0 0 1
H =
0 1 2 3 4 5 6
Matrice de parité
Nombre de 1 sur une ligne = dc=nombre de bit associé au PC
Nombre de 1 sur une ligne = dv=nombre de PC associé à la bit
N=nombre de bits
P=nombre de PC
Moins de 1% des bits de H sont égaux à 1
7 Avril 2005
E. Boutillon14/54
http://lester.univ-ubs.fr/
Exemple de matrice LDPC
Matrice de parité H de taille (1024, 512), (dv,dc)=(3,6)
Question : rendement du code ? Nombre de 1 de la matrice ?
7 Avril 2005
E. Boutillon15/54
http://lester.univ-ubs.fr/
Comment construire un bon code
LDPC ?
Application => taille du code et rendement
Sélection de la répartition optimale des spectres de répartition
des poids des branches (en utilisant des EXIT Chart [ref]):
exemple:
90 % bits => dv =3 branches, 10 % bits dv=> 12 branches
70 % PC => dc = 6 branches, 30 % PC => dc = 8 branches
et on choisi le code aléatoirement... en évitant juste les cycles :
bi bj
…et on obtient un bon code
7 Avril 2005
E. Boutillon16/54
http://lester.univ-ubs.fr/
Algorithme à propagation de
croyance
Step1: calcul du LLR des bits reçus (information
intrinsèque)
Step2: Message bit->parité + traitement parité
Step3: Message parité->bit + traitement bit
Step4: répéter 2 et 3 jusqu'au décodage correct ou
"max iteration".
7 Avril 2005
E. Boutillon17/54
http://lester.univ-ubs.fr/
Décodage itératif
0 1 2 3 4 5 6 8 9 10 11 12 13 147
y1 y2y0 y13 y14y12y10 y11y9y7 y8y6y4 y5y3
Première itération: message bit-> parité
7
7 Avril 2005
E. Boutillon18/54
http://lester.univ-ubs.fr/
Décodage itératif
0 1 2 3 4 5 6 8 9 10 11 12 13 147
y1 y2y0 y13 y14y12y10 y11y9y7 y8y6y4 y5y3
7
0 1 2 3 4 5 6 8 9 10 11 12 13 147
Première itération: message parité-> bit
7 Avril 2005
E. Boutillon19/54
http://lester.univ-ubs.fr/
Décodage itératif
0 1 2 3 4 5 6 8 9 10 11 12 13 147
y1 y2y0 y13 y14y12y10 y11y9y7 y8y6y4 y5y3
7
0 1 2 3 4 5 6 8 9 10 11 12 13 147
Deuxième itération: message parité -> bit
7 Avril 2005
E. Boutillon20/54
http://lester.univ-ubs.fr/
Calcul d'un nœud de variable
∑
≠
−=+=
imm
iini ateia
,
∑+=
m
mn eit
Bit Node
bn
yn
in
e0 e1 e2 e3
Bit Node
bn
in
a0= t-e0
a1 a2 a3
yn
t
t
7 Avril 2005
E. Boutillon21/54
http://lester.univ-ubs.fr/
Calcul d'un nœud de parité
dciii
ij
i aaaaaae ⊕⊕⊕⊕== +−
≠
⊕ ...... 1121
Check Node
b0 b1 b2 b3 b4
a0 a1 a2 a3 a4
Check Node
b0 b1 b2 b3 b4
e0 e1 e2 e3 e4
Deux méthodes de calcul : directe ou fréquentielle
7 Avril 2005
E. Boutillon22/54
http://lester.univ-ubs.fr/
Calcul parité: méthode fréquentielle
a) calcul du signe
XOR
XOR XOR XOR XOR
sign(a1) sign(a2) sign(a3) sign(a4)
sign(e1) sign(e2) sign(e3) sign(e4)
7 Avril 2005
E. Boutillon23/54
http://lester.univ-ubs.fr/
Calcul parité: méthode fréquentielle
b) calcul du module
∑≠
−
ΦΦ=
ji
kk ae ))((1
avec
))2/ln(tanh()( xx −=Φ
LUT φ LUT φ LUT φ LUT φ
+
LUT φ−1 LUT φ−1 LUT φ−1 LUT φ−1
- - - -
1a 4a
1e 4e
2e 3e
2a 3a
7 Avril 2005
E. Boutillon24/54
http://lester.univ-ubs.fr/
0 1 2 3 4 5
0
1
2
3
4
5
6
x
-ln(tanh(x/2)
Fonction Φ(x)= Φ−1(x)
On obtient : e = min(a1,a2,a3) - offset
a1=0.5
a2=1,2
a3=1,9
e=0,3
a1 a2 a3e
∑≠
−
ΦΦ=
ji
kk ae ))((1
7 Avril 2005
E. Boutillon25/54
http://lester.univ-ubs.fr/
Exercice
Processeur de parité
b0 b1 b2 b3 b4
-6 8 3 -2 4
Processeur de parité
b0 b1 b2 b3 b4
?
La sous-optimalité engendre une perte de 0,5 dB en convergence.
=> solution : on soustrait une constante pour compenser la sur-évaluation
de l'extrinsèque : min(ek-β, 0)
=> CONVERGENCE PLUS RAPIDE !!!! (Fossorier)
2 -2 -2 3 -2
7 Avril 2005
E. Boutillon26/54
http://lester.univ-ubs.fr/
Traitement des parités










ΦΦ=
∑∈
−
nmNn
nmnm ae
)('
',
1
, )(
Traitement des variables
∑∈
+=
−=
mnMm
nmn
nmnnm
ei
eta
)('
,'
,,
• Algorithme BP
Propagation de croyance
(Belief Propagation)
Initialisation :
In = 2yn/σ²
Extrinsèque branche : Em,n=0
Fiabilités : Tm,n=0
Itérations : tous les
messages sont traités
Propagation V → P
Propagation P → V
7 Avril 2005
E. Boutillon27/54
http://lester.univ-ubs.fr/
Performances DVB-S2
64k
50 itérations
LDPC + BCH
7 Avril 2005
E. Boutillon28/54
http://lester.univ-ubs.fr/
Sequencement par inondation
(Méthode classique)
0 1 2 3 4 5
Flooding
0
=> postulat faux : unique séquencement efficace
0 1 2 3 4 5
7 Avril 2005
E. Boutillon29/54
http://lester.univ-ubs.fr/
Sequencement horizontal
(Mansour)
011110
101101
110101
Matrice LDPC
0 1 2 3 4 5
7 Avril 2005
E. Boutillon30/54
http://lester.univ-ubs.fr/
Sequencement horizontal
(Mansour)
011110
101101
110101
Matrice LDPC
0 1 2 3 4 5
7 Avril 2005
E. Boutillon31/54
http://lester.univ-ubs.fr/
Sequencement horizontal
(Mansour)
011110
101101
110101
Matrice LDPC
0 1 2 3 4 5
7 Avril 2005
E. Boutillon32/54
http://lester.univ-ubs.fr/
Sequencement horizontal
(Mansour)
2 3
011110
101101
110101
Matrice LDPC
0 1 2 3 4 5
Convergence en moitiée moins d'itération
7 Avril 2005
E. Boutillon33/54
http://lester.univ-ubs.fr/
Sequencement vertical
(Fossorier)
0 1 2 3 4 5
011110
101101
110101
Matrice LDPC
7 Avril 2005
E. Boutillon34/54
http://lester.univ-ubs.fr/
Sequencement vertical
(Fossorier)
0 1 2 3 4 5
011110
101101
110101
Matrice LDPC
7 Avril 2005
E. Boutillon35/54
http://lester.univ-ubs.fr/
Sequencement vertical
(Fossorier)
0 1 2 3 4 5
011110
101101
110101
Matrice LDPC
7 Avril 2005
E. Boutillon36/54
http://lester.univ-ubs.fr/
0 1 2 3 4 5
011110
101101
110101
Matrice LDPC
De nouveau, convergence en moitiée moins d'itération !
Sequencement vertical
(Fossorier)
7 Avril 2005
E. Boutillon37/54
http://lester.univ-ubs.fr/
Problème séquencement H et V
Trouver une architecture adaptée...
7 Avril 2005
E. Boutillon38/54
http://lester.univ-ubs.fr/
Code de parité
Principe des codes LDPC
Architecture de décodeur LDPC
En guise de conclusion
PLAN
7 Avril 2005
E. Boutillon39/54
http://lester.univ-ubs.fr/
Architecture parallèle
Exemple
Blanksby, Howland, « A 690-mW
1-Gb/s 1024-b Rate-1/2 Low-
Density Parity-Check Code
Decoder » (IEEE Trans. on
Solid-State Circuits, 2002.)
Avantages
performance: 1Gb/s 64
iterations
Power dissipation : 690mW
PER=2 10-4 @ 2,5 dB
Drawback
Complex routing =>add oc
CAD tool
Fixed code
Size : 52.5mm2 , 0.16µ
Techno
(3)Architecture:introduction
7 Avril 2005
E. Boutillon40/54
http://lester.univ-ubs.fr/
Architecture série-parallèle
Puissance de calcul Pc : nombre de branche à traiter/ cycle d’horloge.
Pc dépend de : code (3,6)
N nombre de symboles du code ;
E nombre de branche du code 3N
R rendement du code ; 1/2
D débit d’information (bit/s) ; 10 Mbit/s
Nit nombre moyen d’itération ; 20
fclk réquence d’horloge . 100 MHz
[ ] [ ]
[ ]yclebranches/c12
5,010
10
203
yclevariable/cariablebranches/v
8
7
=
×
××=
×=
Rf
D
N
EN
P
clk
it
c
7 Avril 2005
E. Boutillon41/54
http://lester.univ-ubs.fr/
Degré de parallélisme
P processeurs de
parités
(α cycles)
Processeurs de
variables
(β cycles)
Parallèle :
P=M, α=1, β=1
Série :
P=1, α=dc, β=dv
Entrelacement
direct
Entrelacement
inverse
……
……
Contrôle
Processeurs
de variables
Processeurs
de parités
Permutations
spatiales
βvv dd ='
'vdd = 'vdd =
1 P.dc’/dv’…
…
'vd'vd
1 P
…
…
'cdd ='cdd =
'cd αcc dd =' 'cd
7 Avril 2005
E. Boutillon42/54
http://lester.univ-ubs.fr/
Position du réseau d'interconnection
( )xf
Σ
( )xf 1−
Σ
×
signe
signes)des(produit×
Processeur
de parité
Processeur
de variableOpérateur
générique
Position du réseau
Σof
Σ−
o1
f
2
2
ff oo Σ−1
Σ
1
1
foΣ
1−
Σ fo
3
3
1−
Σ ff oo
Σ
4
4
⊗
Note : Φ=f=f-1
7 Avril 2005
E. Boutillon43/54
http://lester.univ-ubs.fr/
Opérateur Σ ou x
a) Mode compact
a) Mode compact et parallèle
(α ou β = 1)
a) Mode compact et série
(α ou β = d)
7 Avril 2005
E. Boutillon44/54
http://lester.univ-ubs.fr/
Opérateur Σ ou x
b) Mode distribué mise à jours différée
)()(
1
)(
0
)(
... i
d
iii
eeet +++=
)1(
1
)1(
0
)1(
... +
−
++
++= i
k
ii
eet
ancien nouveau
)(i
ks
)(i
ke
)(i
t )1( +i
t
Réseau de permutation
)1( +i
ke
)1( +i
ke
t
itération i
-
7 Avril 2005
E. Boutillon45/54
http://lester.univ-ubs.fr/
Opérateur Σ ou x
b) Mode distribué mise à jours immédiate
)()()1(
1
)1(
0
)1(
... i
d
i
k
i
k
ii
eeeet +++= +
−
++nouveau
)(i
ks
)(i
ke
)1( +i
t
Réseau de permutation
t
Itération i)1( +i
ke
)1( +i
ke
)()1()1(
1
)1(
0
)1(
... i
d
i
k
i
k
ii
eeeet +++= ++
−
++
-
7 Avril 2005
E. Boutillon46/54
http://lester.univ-ubs.fr/
Modèle générique
Paramètres :
Processeurs de nœuds:
Architecture
Position du réseau
d’interconnexion
(1,2,3,4)
Parallélisme : P, α, β
Contrôle des
processeurs
Toutes les
combinaisons
sont possibles
7 Avril 2005
E. Boutillon47/54
http://lester.univ-ubs.fr/
Séquencement
vertical
InondationInondation (parités)
• Combinaison des Contrôles
Inondation
Inondation
parités
Inondation
variables
séquencement
horizontal
Contrôle
des branches
Compacte
Distribué
Mise à jour
différée
Mise à jour
immédiate
VARIABLES
P
A
R
I
T
E
S
Compacte
Distribué
Mise à jour
différée
Mise à jour
immédiate
Entrelacement (vertical)
7 Avril 2005
E. Boutillon48/54
http://lester.univ-ubs.fr/
Mansour
Nouveau
(algo Fossorier)
• Etat de l’art
Blanksby
(parallèle)
Boutillon,
Chen, Zhang,
Nouveau
-
Compacte
Distribué
Mise à jour
différée
Mise à jour
immédiate
VARIABLES
P
A
R
I
T
E
S
Compacte
Distribué
Mise à jour
différée
Mise à jour
immédiate
7 Avril 2005
E. Boutillon49/54
http://lester.univ-ubs.fr/
N+ f(E)
N + M + E
• Etat de l’art : taille mémoire
N + E 3N+ f(E)
N + 2M + E
-
Compacte
Distribué
Mise à jour
différée
Mise à jour
immédiate
VARIABLES
P
A
R
I
T
E
S
Compacte
Distribué
Mise à jour
différée
Mise à jour
immédiate
E : Nombre de
branches
F( ) : compression
7 Avril 2005
E. Boutillon50/54
http://lester.univ-ubs.fr/
Code de parité
Principe des codes LDPC
Architecture de décodeur LDPC
En guise de conclusion
PLAN
7 Avril 2005
E. Boutillon51/54
http://lester.univ-ubs.fr/
Conclusion
Présentation d'un modèle d'architecture générique
=> classement des architectures existantes
Proposition d'architectures nouvelles pour des séquencements
verticaux ou horizontaux
=> convergence en 1/2 moins d'itération
=> architecture requiérant moins de mémoire.
7 Avril 2005
E. Boutillon52/54
http://lester.univ-ubs.fr/
Conclusion sur LDPC
Pour les codes de taille importante (n > 104) les LDPCs irréguliers
ont des meilleures équivalentes à celle des Turbo-Codes
- moins de 0,1 dB de la limite de Shannon pour n = 106
(travaux de Mac-Kay, Richardson).
De rapide progrès dans la construction des matrices et des algorithmes de décodage.
Travaux en cours:
LDPC sur GF(2q)
Digital fountain
7 Avril 2005
E. Boutillon53/54
http://lester.univ-ubs.fr/
LDPC vs Turbo-Code
bits d’informationsredondance
codeur 1
redondance
codeur 2
Entrelaceur
Une autre vision d'un turbo-code
LDPC et Turbo-code sont aux deux extrémités du spectre des graphes de Tanner
Il existe des solutions intermédiaires (turbo-code produit par exemple)
Compromis performances-complexité : un débat complexe et non tranché (DVB-S2)
7 Avril 2005
E. Boutillon54/54
http://lester.univ-ubs.fr/
Nouvelle technique de décodage
Utilisation de décodeur purement analogique :
- propagation des messages de façon continue
- faible sensibilité des décodeurs à la précision
- les équations du transistor identiques à celle du MAP !
Gain en consommation et vitesse de décodage d'un facteur 10 à 1000 !
=> Solution très prometteuse...
7 Avril 2005
E. Boutillon55/54
http://lester.univ-ubs.fr/
Exemple construction
matrice/architecture conjoint
(3)Architecture:introduction
Matrice prototype : Hi =
1 0 0 1 1 0 0 0
0 1 1 0 1 1 0 0
1 0 1 0 0 1 1 0
0 1 0 1 0 0 1 1
Πi,j(Ip ) =
0 0 1 0 0 0
0 0 0 1 0 0
0 0 0 0 1 0
0 0 0 0 0 1
1 0 0 0 0 0
0 1 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0
P
P
N = nP
M=mP
Très peu d'information pour mémoriser la matrice
7 Avril 2005
E. Boutillon56/54
http://lester.univ-ubs.fr/
Exemple construction
matrice/architecture conjoint
(3)Architecture:introduction
Matrice prototype : Hi =
1 0 0 1 1 0 0 0
0 1 1 0 1 1 0 0
1 0 1 0 0 1 1 0
0 1 0 1 0 0 1 1
N = nP
M=mP
rotation
m
P
t=1..E
ind rot
Processeurs de parité : calcul série
add
Mémoires

Contenu connexe

Tendances

cours1_courtellemont.ppt
cours1_courtellemont.pptcours1_courtellemont.ppt
cours1_courtellemont.pptTITANIUMALFREDO
 
ELE2611 Classe 4 - Filtres analogiques linéaires II
ELE2611 Classe 4 - Filtres analogiques linéaires IIELE2611 Classe 4 - Filtres analogiques linéaires II
ELE2611 Classe 4 - Filtres analogiques linéaires IIJerome LE NY
 
chap3 numerisation_des_signaux
chap3 numerisation_des_signauxchap3 numerisation_des_signaux
chap3 numerisation_des_signauxBAKKOURY Jamila
 
MIPI DevCon 2016: MIPI D-PHY - Physical Layer Test & Measurement Challenges
MIPI DevCon 2016: MIPI D-PHY - Physical Layer Test & Measurement ChallengesMIPI DevCon 2016: MIPI D-PHY - Physical Layer Test & Measurement Challenges
MIPI DevCon 2016: MIPI D-PHY - Physical Layer Test & Measurement ChallengesMIPI Alliance
 
Design of High Performance 8,16,32-bit Vedic Multipliers using SCL PDK 180nm ...
Design of High Performance 8,16,32-bit Vedic Multipliers using SCL PDK 180nm ...Design of High Performance 8,16,32-bit Vedic Multipliers using SCL PDK 180nm ...
Design of High Performance 8,16,32-bit Vedic Multipliers using SCL PDK 180nm ...Angel Yogi
 
Warping Concept (iir filters-bilinear transformation method)
Warping Concept  (iir filters-bilinear transformation method)Warping Concept  (iir filters-bilinear transformation method)
Warping Concept (iir filters-bilinear transformation method)ZunAib Ali
 
INTRODUCTION A LA LOGIQUE SEQUENTIELLE
INTRODUCTION A LA LOGIQUE SEQUENTIELLEINTRODUCTION A LA LOGIQUE SEQUENTIELLE
INTRODUCTION A LA LOGIQUE SEQUENTIELLEsarah Benmerzouk
 
FiltrageNumérique.pptx
FiltrageNumérique.pptxFiltrageNumérique.pptx
FiltrageNumérique.pptxAyoubELJAFRY1
 
شرح مهم حول Asservissement et régulation
شرح مهم حول Asservissement et régulationشرح مهم حول Asservissement et régulation
شرح مهم حول Asservissement et régulationelectrolouhla
 
Signal Compression and JPEG
Signal Compression and JPEGSignal Compression and JPEG
Signal Compression and JPEGguest9006ab
 
Lecture Notes: EEEC6440315 Communication Systems - Digital Modulation
Lecture Notes:  EEEC6440315 Communication Systems - Digital ModulationLecture Notes:  EEEC6440315 Communication Systems - Digital Modulation
Lecture Notes: EEEC6440315 Communication Systems - Digital ModulationAIMST University
 
Cours8 Introduction à la représentation d'état
Cours8 Introduction à la représentation d'étatCours8 Introduction à la représentation d'état
Cours8 Introduction à la représentation d'étatsarah Benmerzouk
 
DIGITAL SIGNAL PROCESSING BASED ON MATLAB
DIGITAL SIGNAL PROCESSING BASED ON MATLABDIGITAL SIGNAL PROCESSING BASED ON MATLAB
DIGITAL SIGNAL PROCESSING BASED ON MATLABPrashant Srivastav
 
DSP_2018_FOEHU - Lec 02 - Sampling of Continuous Time Signals
DSP_2018_FOEHU - Lec 02 - Sampling of Continuous Time SignalsDSP_2018_FOEHU - Lec 02 - Sampling of Continuous Time Signals
DSP_2018_FOEHU - Lec 02 - Sampling of Continuous Time SignalsAmr E. Mohamed
 
Companding & Pulse Code Modulation
Companding & Pulse Code ModulationCompanding & Pulse Code Modulation
Companding & Pulse Code ModulationYeshudas Muttu
 
Convolutional Error Control Coding
Convolutional Error Control CodingConvolutional Error Control Coding
Convolutional Error Control CodingMohammed Abuibaid
 

Tendances (20)

cours1_courtellemont.ppt
cours1_courtellemont.pptcours1_courtellemont.ppt
cours1_courtellemont.ppt
 
ELE2611 Classe 4 - Filtres analogiques linéaires II
ELE2611 Classe 4 - Filtres analogiques linéaires IIELE2611 Classe 4 - Filtres analogiques linéaires II
ELE2611 Classe 4 - Filtres analogiques linéaires II
 
chap3 numerisation_des_signaux
chap3 numerisation_des_signauxchap3 numerisation_des_signaux
chap3 numerisation_des_signaux
 
FILTER BANKS
FILTER BANKSFILTER BANKS
FILTER BANKS
 
Traitement du signal
Traitement du signalTraitement du signal
Traitement du signal
 
MIPI DevCon 2016: MIPI D-PHY - Physical Layer Test & Measurement Challenges
MIPI DevCon 2016: MIPI D-PHY - Physical Layer Test & Measurement ChallengesMIPI DevCon 2016: MIPI D-PHY - Physical Layer Test & Measurement Challenges
MIPI DevCon 2016: MIPI D-PHY - Physical Layer Test & Measurement Challenges
 
Design of High Performance 8,16,32-bit Vedic Multipliers using SCL PDK 180nm ...
Design of High Performance 8,16,32-bit Vedic Multipliers using SCL PDK 180nm ...Design of High Performance 8,16,32-bit Vedic Multipliers using SCL PDK 180nm ...
Design of High Performance 8,16,32-bit Vedic Multipliers using SCL PDK 180nm ...
 
Warping Concept (iir filters-bilinear transformation method)
Warping Concept  (iir filters-bilinear transformation method)Warping Concept  (iir filters-bilinear transformation method)
Warping Concept (iir filters-bilinear transformation method)
 
INTRODUCTION A LA LOGIQUE SEQUENTIELLE
INTRODUCTION A LA LOGIQUE SEQUENTIELLEINTRODUCTION A LA LOGIQUE SEQUENTIELLE
INTRODUCTION A LA LOGIQUE SEQUENTIELLE
 
FiltrageNumérique.pptx
FiltrageNumérique.pptxFiltrageNumérique.pptx
FiltrageNumérique.pptx
 
شرح مهم حول Asservissement et régulation
شرح مهم حول Asservissement et régulationشرح مهم حول Asservissement et régulation
شرح مهم حول Asservissement et régulation
 
Signal Compression and JPEG
Signal Compression and JPEGSignal Compression and JPEG
Signal Compression and JPEG
 
Lecture Notes: EEEC6440315 Communication Systems - Digital Modulation
Lecture Notes:  EEEC6440315 Communication Systems - Digital ModulationLecture Notes:  EEEC6440315 Communication Systems - Digital Modulation
Lecture Notes: EEEC6440315 Communication Systems - Digital Modulation
 
Cours8 Introduction à la représentation d'état
Cours8 Introduction à la représentation d'étatCours8 Introduction à la représentation d'état
Cours8 Introduction à la représentation d'état
 
DIGITAL SIGNAL PROCESSING BASED ON MATLAB
DIGITAL SIGNAL PROCESSING BASED ON MATLABDIGITAL SIGNAL PROCESSING BASED ON MATLAB
DIGITAL SIGNAL PROCESSING BASED ON MATLAB
 
DSP_2018_FOEHU - Lec 02 - Sampling of Continuous Time Signals
DSP_2018_FOEHU - Lec 02 - Sampling of Continuous Time SignalsDSP_2018_FOEHU - Lec 02 - Sampling of Continuous Time Signals
DSP_2018_FOEHU - Lec 02 - Sampling of Continuous Time Signals
 
Companding & Pulse Code Modulation
Companding & Pulse Code ModulationCompanding & Pulse Code Modulation
Companding & Pulse Code Modulation
 
Ch 04
Ch 04Ch 04
Ch 04
 
Speech encoding techniques
Speech encoding techniquesSpeech encoding techniques
Speech encoding techniques
 
Convolutional Error Control Coding
Convolutional Error Control CodingConvolutional Error Control Coding
Convolutional Error Control Coding
 

Similaire à Conf scee ldpc

Ch1 circuits logiques_p1_combinatoire-v4
Ch1 circuits logiques_p1_combinatoire-v4Ch1 circuits logiques_p1_combinatoire-v4
Ch1 circuits logiques_p1_combinatoire-v4linuxscout
 
Chapitre-2_SYSTEMES DE NUMERATION ET CODAGE.pdf
Chapitre-2_SYSTEMES DE NUMERATION ET CODAGE.pdfChapitre-2_SYSTEMES DE NUMERATION ET CODAGE.pdf
Chapitre-2_SYSTEMES DE NUMERATION ET CODAGE.pdfRazaneLAMARA
 
Ch1 circuits logiques_p3_combinatoire-v1
Ch1 circuits logiques_p3_combinatoire-v1Ch1 circuits logiques_p3_combinatoire-v1
Ch1 circuits logiques_p3_combinatoire-v1linuxscout
 
Electronique-Numérique-TD-7.pdf
Electronique-Numérique-TD-7.pdfElectronique-Numérique-TD-7.pdf
Electronique-Numérique-TD-7.pdfYassine Sabri
 
ch4_circuitscombinatoires.ppt
ch4_circuitscombinatoires.pptch4_circuitscombinatoires.ppt
ch4_circuitscombinatoires.pptamine17157
 
Les circuits combinatoires
Les circuits combinatoires Les circuits combinatoires
Les circuits combinatoires wafawafa52
 
Chapitre ii circuits combinatoires
Chapitre ii circuits combinatoiresChapitre ii circuits combinatoires
Chapitre ii circuits combinatoiresSana Aroussi
 
Prestation innovante en soudure pour cartes électroniques
Prestation innovante en soudure pour cartes électroniquesPrestation innovante en soudure pour cartes électroniques
Prestation innovante en soudure pour cartes électroniquesMinnovarc
 
upload_Série d'exercices N°1-4tech-Logique combinatoire-Correction2014-2015.pdf
upload_Série d'exercices N°1-4tech-Logique combinatoire-Correction2014-2015.pdfupload_Série d'exercices N°1-4tech-Logique combinatoire-Correction2014-2015.pdf
upload_Série d'exercices N°1-4tech-Logique combinatoire-Correction2014-2015.pdfNadia Fezai
 
Tp transcodage logique combinatoire
Tp transcodage logique combinatoireTp transcodage logique combinatoire
Tp transcodage logique combinatoirebilal001
 
Ch4 circuitscombinatoires
Ch4 circuitscombinatoiresCh4 circuitscombinatoires
Ch4 circuitscombinatoiresmickel iron
 
Cour d'informatique c++
Cour d'informatique c++Cour d'informatique c++
Cour d'informatique c++AHMADELHADDADI
 

Similaire à Conf scee ldpc (13)

Ch1 circuits logiques_p1_combinatoire-v4
Ch1 circuits logiques_p1_combinatoire-v4Ch1 circuits logiques_p1_combinatoire-v4
Ch1 circuits logiques_p1_combinatoire-v4
 
Chapitre-2_SYSTEMES DE NUMERATION ET CODAGE.pdf
Chapitre-2_SYSTEMES DE NUMERATION ET CODAGE.pdfChapitre-2_SYSTEMES DE NUMERATION ET CODAGE.pdf
Chapitre-2_SYSTEMES DE NUMERATION ET CODAGE.pdf
 
Ch1 circuits logiques_p3_combinatoire-v1
Ch1 circuits logiques_p3_combinatoire-v1Ch1 circuits logiques_p3_combinatoire-v1
Ch1 circuits logiques_p3_combinatoire-v1
 
Electronique-Numérique-TD-7.pdf
Electronique-Numérique-TD-7.pdfElectronique-Numérique-TD-7.pdf
Electronique-Numérique-TD-7.pdf
 
Projet 3
Projet 3Projet 3
Projet 3
 
ch4_circuitscombinatoires.ppt
ch4_circuitscombinatoires.pptch4_circuitscombinatoires.ppt
ch4_circuitscombinatoires.ppt
 
Les circuits combinatoires
Les circuits combinatoires Les circuits combinatoires
Les circuits combinatoires
 
Chapitre ii circuits combinatoires
Chapitre ii circuits combinatoiresChapitre ii circuits combinatoires
Chapitre ii circuits combinatoires
 
Prestation innovante en soudure pour cartes électroniques
Prestation innovante en soudure pour cartes électroniquesPrestation innovante en soudure pour cartes électroniques
Prestation innovante en soudure pour cartes électroniques
 
upload_Série d'exercices N°1-4tech-Logique combinatoire-Correction2014-2015.pdf
upload_Série d'exercices N°1-4tech-Logique combinatoire-Correction2014-2015.pdfupload_Série d'exercices N°1-4tech-Logique combinatoire-Correction2014-2015.pdf
upload_Série d'exercices N°1-4tech-Logique combinatoire-Correction2014-2015.pdf
 
Tp transcodage logique combinatoire
Tp transcodage logique combinatoireTp transcodage logique combinatoire
Tp transcodage logique combinatoire
 
Ch4 circuitscombinatoires
Ch4 circuitscombinatoiresCh4 circuitscombinatoires
Ch4 circuitscombinatoires
 
Cour d'informatique c++
Cour d'informatique c++Cour d'informatique c++
Cour d'informatique c++
 

Conf scee ldpc

  • 1. 7 Avril 2005 E. Boutillon1/54 http://lester.univ-ubs.fr/ Architecture génériqueArchitecture générique de décodage de code LDPCde décodage de code LDPC F. GUILLOUD E. BOUTILLON guilloud@enst-bretagne.fr emmanuel.boutillon@univ-ubs.fr 0 1 2 3 4 5 6
  • 2. 7 Avril 2005 E. Boutillon2/54 http://lester.univ-ubs.fr/ Prédiction de Shannon (année 50) zone de couverture potentiel Importance du codage... Invention des turbo-codes 1993 (Berrou Glavieux) Situation en 1990 zone de couverture de l'émetteur Emetteur 1995 : Redécouverte des codes LDPC (Gallager 1960) Compétition LDPC-Turbo-Code...
  • 3. 7 Avril 2005 E. Boutillon3/54 http://lester.univ-ubs.fr/ Low Density Parity Check Code Gallager LDPC 1962 Berrou, Glavieux Turbo Codes 1993 MacKay LDPC 1995 Wiberg Graphes 1995 Richardson, Urbanke Density Evolution 2001 Premières architectures de décodeurs 2001 Standard DVB-S2 2003 Inventé en 1961 par Gallager (thèse MIT), oublié, redécouvert en 1995 (MacKay, Ritchardson).
  • 4. 7 Avril 2005 E. Boutillon4/54 http://lester.univ-ubs.fr/ Code de parité Principe des codes LDPC Architecture de décodeur LDPC En guise de conclusion PLAN
  • 5. 7 Avril 2005 E. Boutillon5/54 http://lester.univ-ubs.fr/ Parity check Parity check (3,2,1) : (b0, b1, b2) codeword <=> Sum of 1 = 0 mod 2. CP(3,2,1) = {(0, 0, 0) ; (0, 1, 1) ; (1, 1, 0) ; (1, 0, 1)} b0 b1 b2 bits CP Generalization: Parity Check (n, n-1, 1)
  • 6. 7 Avril 2005 E. Boutillon6/54 http://lester.univ-ubs.fr/ Décodage d'un code de Parité bj∈ {0,1} Mod. xj∈{-1,+1} N(0,σ) Démod. xj yj = xj +wj wj L'observation yj donne l'information intrinsèque ij du bit bj: ij = (p(bj=0/yj) , p(bj=1/yj)) que l'on exprime aussi par le "log likelihood ratio": ij = ln(p(bj=1/yj)/p(bj=0/yj)) = 2yj/σ2 Note: sign(ij) => décision dure, | ij | fiabilité de la décision
  • 7. 7 Avril 2005 E. Boutillon7/54 http://lester.univ-ubs.fr/ Décodage d'un code de Parité Quelle information i1 et i2 donnent sur la valeur b0 ? En utilisant: p(b0=0/y1 ,y2) = p(b1=0/y1). p(b2=0/y2) + p(b1=1/y1) . p(b2=1/y2) p(b0=1/y1 ,y2) = p(b1=0/y1). p(b2=1/y2) + p(b1=1/y1) . p(b2=0/y2) on obtient une observation e0 de la valeur de b0 indépendante de i0 : ) 1 ln( 21 21 210 ii ii ee ee iie + ⋅+ =⊕= e0 est appelé information extrinsèque ? b1 b2 bits CP i1 i2e0
  • 8. 7 Avril 2005 E. Boutillon8/54 http://lester.univ-ubs.fr/ Décodage d'un code de parité Enfin, i0 et e0 sont additionnés pour obtenir la valeur finale. Le processus est symétrique pour tous les bits. b0 b1 b2 y0 y1 y2 2.92.2ij b0 b1 b2 1.4 ij ej -1.0-1.2-1.7 2,92,21,4 1.91-0.32.92.21.4 Mot de code
  • 9. 7 Avril 2005 E. Boutillon9/54 http://lester.univ-ubs.fr/ Conseil : éviter les auto-confirmations Jean et Claire… 80% Pierre Paul Jean et Claire… 80% Jean et Claire… 80% 90% Jacques Jean et Claire… 80%
  • 10. 7 Avril 2005 E. Boutillon10/54 http://lester.univ-ubs.fr/ Note: itération Si le processus itère de nouveau, il y a autoconfirmation b0 b1 b2 1,91Ij b0 b1 b2 -0,3 Tj Ej 0,10,2-0,8 1,91-0,3 21,2-1,1 1,91-0,3 Et le système diverge...
  • 11. 7 Avril 2005 E. Boutillon11/54 http://lester.univ-ubs.fr/ Code de parité Principe des codes LDPC Architecture de décodeur LDPC En guise de conclusion PLAN
  • 12. 7 Avril 2005 E. Boutillon12/54 http://lester.univ-ubs.fr/ LDPC Code Peut être défini par un graph bi-partite 0 1 2 3 4 5 6 Bit bi Parity checks (PC) Branches (b0, b1, … , b6) mot de code <=> toutes les PC sont respectées
  • 13. 7 Avril 2005 E. Boutillon13/54 http://lester.univ-ubs.fr/ Pourquoi le nom de LDPC ? Représentation algébrique : X = (x0, x1, …, x6)T mot de code si H.X = 0 0 1 1 1 1 0 0 1 0 1 1 0 1 0 1 1 0 1 0 0 1 H = 0 1 2 3 4 5 6 Matrice de parité Nombre de 1 sur une ligne = dc=nombre de bit associé au PC Nombre de 1 sur une ligne = dv=nombre de PC associé à la bit N=nombre de bits P=nombre de PC Moins de 1% des bits de H sont égaux à 1
  • 14. 7 Avril 2005 E. Boutillon14/54 http://lester.univ-ubs.fr/ Exemple de matrice LDPC Matrice de parité H de taille (1024, 512), (dv,dc)=(3,6) Question : rendement du code ? Nombre de 1 de la matrice ?
  • 15. 7 Avril 2005 E. Boutillon15/54 http://lester.univ-ubs.fr/ Comment construire un bon code LDPC ? Application => taille du code et rendement Sélection de la répartition optimale des spectres de répartition des poids des branches (en utilisant des EXIT Chart [ref]): exemple: 90 % bits => dv =3 branches, 10 % bits dv=> 12 branches 70 % PC => dc = 6 branches, 30 % PC => dc = 8 branches et on choisi le code aléatoirement... en évitant juste les cycles : bi bj …et on obtient un bon code
  • 16. 7 Avril 2005 E. Boutillon16/54 http://lester.univ-ubs.fr/ Algorithme à propagation de croyance Step1: calcul du LLR des bits reçus (information intrinsèque) Step2: Message bit->parité + traitement parité Step3: Message parité->bit + traitement bit Step4: répéter 2 et 3 jusqu'au décodage correct ou "max iteration".
  • 17. 7 Avril 2005 E. Boutillon17/54 http://lester.univ-ubs.fr/ Décodage itératif 0 1 2 3 4 5 6 8 9 10 11 12 13 147 y1 y2y0 y13 y14y12y10 y11y9y7 y8y6y4 y5y3 Première itération: message bit-> parité 7
  • 18. 7 Avril 2005 E. Boutillon18/54 http://lester.univ-ubs.fr/ Décodage itératif 0 1 2 3 4 5 6 8 9 10 11 12 13 147 y1 y2y0 y13 y14y12y10 y11y9y7 y8y6y4 y5y3 7 0 1 2 3 4 5 6 8 9 10 11 12 13 147 Première itération: message parité-> bit
  • 19. 7 Avril 2005 E. Boutillon19/54 http://lester.univ-ubs.fr/ Décodage itératif 0 1 2 3 4 5 6 8 9 10 11 12 13 147 y1 y2y0 y13 y14y12y10 y11y9y7 y8y6y4 y5y3 7 0 1 2 3 4 5 6 8 9 10 11 12 13 147 Deuxième itération: message parité -> bit
  • 20. 7 Avril 2005 E. Boutillon20/54 http://lester.univ-ubs.fr/ Calcul d'un nœud de variable ∑ ≠ −=+= imm iini ateia , ∑+= m mn eit Bit Node bn yn in e0 e1 e2 e3 Bit Node bn in a0= t-e0 a1 a2 a3 yn t t
  • 21. 7 Avril 2005 E. Boutillon21/54 http://lester.univ-ubs.fr/ Calcul d'un nœud de parité dciii ij i aaaaaae ⊕⊕⊕⊕== +− ≠ ⊕ ...... 1121 Check Node b0 b1 b2 b3 b4 a0 a1 a2 a3 a4 Check Node b0 b1 b2 b3 b4 e0 e1 e2 e3 e4 Deux méthodes de calcul : directe ou fréquentielle
  • 22. 7 Avril 2005 E. Boutillon22/54 http://lester.univ-ubs.fr/ Calcul parité: méthode fréquentielle a) calcul du signe XOR XOR XOR XOR XOR sign(a1) sign(a2) sign(a3) sign(a4) sign(e1) sign(e2) sign(e3) sign(e4)
  • 23. 7 Avril 2005 E. Boutillon23/54 http://lester.univ-ubs.fr/ Calcul parité: méthode fréquentielle b) calcul du module ∑≠ − ΦΦ= ji kk ae ))((1 avec ))2/ln(tanh()( xx −=Φ LUT φ LUT φ LUT φ LUT φ + LUT φ−1 LUT φ−1 LUT φ−1 LUT φ−1 - - - - 1a 4a 1e 4e 2e 3e 2a 3a
  • 24. 7 Avril 2005 E. Boutillon24/54 http://lester.univ-ubs.fr/ 0 1 2 3 4 5 0 1 2 3 4 5 6 x -ln(tanh(x/2) Fonction Φ(x)= Φ−1(x) On obtient : e = min(a1,a2,a3) - offset a1=0.5 a2=1,2 a3=1,9 e=0,3 a1 a2 a3e ∑≠ − ΦΦ= ji kk ae ))((1
  • 25. 7 Avril 2005 E. Boutillon25/54 http://lester.univ-ubs.fr/ Exercice Processeur de parité b0 b1 b2 b3 b4 -6 8 3 -2 4 Processeur de parité b0 b1 b2 b3 b4 ? La sous-optimalité engendre une perte de 0,5 dB en convergence. => solution : on soustrait une constante pour compenser la sur-évaluation de l'extrinsèque : min(ek-β, 0) => CONVERGENCE PLUS RAPIDE !!!! (Fossorier) 2 -2 -2 3 -2
  • 26. 7 Avril 2005 E. Boutillon26/54 http://lester.univ-ubs.fr/ Traitement des parités           ΦΦ= ∑∈ − nmNn nmnm ae )(' ', 1 , )( Traitement des variables ∑∈ += −= mnMm nmn nmnnm ei eta )(' ,' ,, • Algorithme BP Propagation de croyance (Belief Propagation) Initialisation : In = 2yn/σ² Extrinsèque branche : Em,n=0 Fiabilités : Tm,n=0 Itérations : tous les messages sont traités Propagation V → P Propagation P → V
  • 27. 7 Avril 2005 E. Boutillon27/54 http://lester.univ-ubs.fr/ Performances DVB-S2 64k 50 itérations LDPC + BCH
  • 28. 7 Avril 2005 E. Boutillon28/54 http://lester.univ-ubs.fr/ Sequencement par inondation (Méthode classique) 0 1 2 3 4 5 Flooding 0 => postulat faux : unique séquencement efficace 0 1 2 3 4 5
  • 29. 7 Avril 2005 E. Boutillon29/54 http://lester.univ-ubs.fr/ Sequencement horizontal (Mansour) 011110 101101 110101 Matrice LDPC 0 1 2 3 4 5
  • 30. 7 Avril 2005 E. Boutillon30/54 http://lester.univ-ubs.fr/ Sequencement horizontal (Mansour) 011110 101101 110101 Matrice LDPC 0 1 2 3 4 5
  • 31. 7 Avril 2005 E. Boutillon31/54 http://lester.univ-ubs.fr/ Sequencement horizontal (Mansour) 011110 101101 110101 Matrice LDPC 0 1 2 3 4 5
  • 32. 7 Avril 2005 E. Boutillon32/54 http://lester.univ-ubs.fr/ Sequencement horizontal (Mansour) 2 3 011110 101101 110101 Matrice LDPC 0 1 2 3 4 5 Convergence en moitiée moins d'itération
  • 33. 7 Avril 2005 E. Boutillon33/54 http://lester.univ-ubs.fr/ Sequencement vertical (Fossorier) 0 1 2 3 4 5 011110 101101 110101 Matrice LDPC
  • 34. 7 Avril 2005 E. Boutillon34/54 http://lester.univ-ubs.fr/ Sequencement vertical (Fossorier) 0 1 2 3 4 5 011110 101101 110101 Matrice LDPC
  • 35. 7 Avril 2005 E. Boutillon35/54 http://lester.univ-ubs.fr/ Sequencement vertical (Fossorier) 0 1 2 3 4 5 011110 101101 110101 Matrice LDPC
  • 36. 7 Avril 2005 E. Boutillon36/54 http://lester.univ-ubs.fr/ 0 1 2 3 4 5 011110 101101 110101 Matrice LDPC De nouveau, convergence en moitiée moins d'itération ! Sequencement vertical (Fossorier)
  • 37. 7 Avril 2005 E. Boutillon37/54 http://lester.univ-ubs.fr/ Problème séquencement H et V Trouver une architecture adaptée...
  • 38. 7 Avril 2005 E. Boutillon38/54 http://lester.univ-ubs.fr/ Code de parité Principe des codes LDPC Architecture de décodeur LDPC En guise de conclusion PLAN
  • 39. 7 Avril 2005 E. Boutillon39/54 http://lester.univ-ubs.fr/ Architecture parallèle Exemple Blanksby, Howland, « A 690-mW 1-Gb/s 1024-b Rate-1/2 Low- Density Parity-Check Code Decoder » (IEEE Trans. on Solid-State Circuits, 2002.) Avantages performance: 1Gb/s 64 iterations Power dissipation : 690mW PER=2 10-4 @ 2,5 dB Drawback Complex routing =>add oc CAD tool Fixed code Size : 52.5mm2 , 0.16µ Techno (3)Architecture:introduction
  • 40. 7 Avril 2005 E. Boutillon40/54 http://lester.univ-ubs.fr/ Architecture série-parallèle Puissance de calcul Pc : nombre de branche à traiter/ cycle d’horloge. Pc dépend de : code (3,6) N nombre de symboles du code ; E nombre de branche du code 3N R rendement du code ; 1/2 D débit d’information (bit/s) ; 10 Mbit/s Nit nombre moyen d’itération ; 20 fclk réquence d’horloge . 100 MHz [ ] [ ] [ ]yclebranches/c12 5,010 10 203 yclevariable/cariablebranches/v 8 7 = × ××= ×= Rf D N EN P clk it c
  • 41. 7 Avril 2005 E. Boutillon41/54 http://lester.univ-ubs.fr/ Degré de parallélisme P processeurs de parités (α cycles) Processeurs de variables (β cycles) Parallèle : P=M, α=1, β=1 Série : P=1, α=dc, β=dv Entrelacement direct Entrelacement inverse …… …… Contrôle Processeurs de variables Processeurs de parités Permutations spatiales βvv dd =' 'vdd = 'vdd = 1 P.dc’/dv’… … 'vd'vd 1 P … … 'cdd ='cdd = 'cd αcc dd =' 'cd
  • 42. 7 Avril 2005 E. Boutillon42/54 http://lester.univ-ubs.fr/ Position du réseau d'interconnection ( )xf Σ ( )xf 1− Σ × signe signes)des(produit× Processeur de parité Processeur de variableOpérateur générique Position du réseau Σof Σ− o1 f 2 2 ff oo Σ−1 Σ 1 1 foΣ 1− Σ fo 3 3 1− Σ ff oo Σ 4 4 ⊗ Note : Φ=f=f-1
  • 43. 7 Avril 2005 E. Boutillon43/54 http://lester.univ-ubs.fr/ Opérateur Σ ou x a) Mode compact a) Mode compact et parallèle (α ou β = 1) a) Mode compact et série (α ou β = d)
  • 44. 7 Avril 2005 E. Boutillon44/54 http://lester.univ-ubs.fr/ Opérateur Σ ou x b) Mode distribué mise à jours différée )()( 1 )( 0 )( ... i d iii eeet +++= )1( 1 )1( 0 )1( ... + − ++ ++= i k ii eet ancien nouveau )(i ks )(i ke )(i t )1( +i t Réseau de permutation )1( +i ke )1( +i ke t itération i -
  • 45. 7 Avril 2005 E. Boutillon45/54 http://lester.univ-ubs.fr/ Opérateur Σ ou x b) Mode distribué mise à jours immédiate )()()1( 1 )1( 0 )1( ... i d i k i k ii eeeet +++= + − ++nouveau )(i ks )(i ke )1( +i t Réseau de permutation t Itération i)1( +i ke )1( +i ke )()1()1( 1 )1( 0 )1( ... i d i k i k ii eeeet +++= ++ − ++ -
  • 46. 7 Avril 2005 E. Boutillon46/54 http://lester.univ-ubs.fr/ Modèle générique Paramètres : Processeurs de nœuds: Architecture Position du réseau d’interconnexion (1,2,3,4) Parallélisme : P, α, β Contrôle des processeurs Toutes les combinaisons sont possibles
  • 47. 7 Avril 2005 E. Boutillon47/54 http://lester.univ-ubs.fr/ Séquencement vertical InondationInondation (parités) • Combinaison des Contrôles Inondation Inondation parités Inondation variables séquencement horizontal Contrôle des branches Compacte Distribué Mise à jour différée Mise à jour immédiate VARIABLES P A R I T E S Compacte Distribué Mise à jour différée Mise à jour immédiate Entrelacement (vertical)
  • 48. 7 Avril 2005 E. Boutillon48/54 http://lester.univ-ubs.fr/ Mansour Nouveau (algo Fossorier) • Etat de l’art Blanksby (parallèle) Boutillon, Chen, Zhang, Nouveau - Compacte Distribué Mise à jour différée Mise à jour immédiate VARIABLES P A R I T E S Compacte Distribué Mise à jour différée Mise à jour immédiate
  • 49. 7 Avril 2005 E. Boutillon49/54 http://lester.univ-ubs.fr/ N+ f(E) N + M + E • Etat de l’art : taille mémoire N + E 3N+ f(E) N + 2M + E - Compacte Distribué Mise à jour différée Mise à jour immédiate VARIABLES P A R I T E S Compacte Distribué Mise à jour différée Mise à jour immédiate E : Nombre de branches F( ) : compression
  • 50. 7 Avril 2005 E. Boutillon50/54 http://lester.univ-ubs.fr/ Code de parité Principe des codes LDPC Architecture de décodeur LDPC En guise de conclusion PLAN
  • 51. 7 Avril 2005 E. Boutillon51/54 http://lester.univ-ubs.fr/ Conclusion Présentation d'un modèle d'architecture générique => classement des architectures existantes Proposition d'architectures nouvelles pour des séquencements verticaux ou horizontaux => convergence en 1/2 moins d'itération => architecture requiérant moins de mémoire.
  • 52. 7 Avril 2005 E. Boutillon52/54 http://lester.univ-ubs.fr/ Conclusion sur LDPC Pour les codes de taille importante (n > 104) les LDPCs irréguliers ont des meilleures équivalentes à celle des Turbo-Codes - moins de 0,1 dB de la limite de Shannon pour n = 106 (travaux de Mac-Kay, Richardson). De rapide progrès dans la construction des matrices et des algorithmes de décodage. Travaux en cours: LDPC sur GF(2q) Digital fountain
  • 53. 7 Avril 2005 E. Boutillon53/54 http://lester.univ-ubs.fr/ LDPC vs Turbo-Code bits d’informationsredondance codeur 1 redondance codeur 2 Entrelaceur Une autre vision d'un turbo-code LDPC et Turbo-code sont aux deux extrémités du spectre des graphes de Tanner Il existe des solutions intermédiaires (turbo-code produit par exemple) Compromis performances-complexité : un débat complexe et non tranché (DVB-S2)
  • 54. 7 Avril 2005 E. Boutillon54/54 http://lester.univ-ubs.fr/ Nouvelle technique de décodage Utilisation de décodeur purement analogique : - propagation des messages de façon continue - faible sensibilité des décodeurs à la précision - les équations du transistor identiques à celle du MAP ! Gain en consommation et vitesse de décodage d'un facteur 10 à 1000 ! => Solution très prometteuse...
  • 55. 7 Avril 2005 E. Boutillon55/54 http://lester.univ-ubs.fr/ Exemple construction matrice/architecture conjoint (3)Architecture:introduction Matrice prototype : Hi = 1 0 0 1 1 0 0 0 0 1 1 0 1 1 0 0 1 0 1 0 0 1 1 0 0 1 0 1 0 0 1 1 Πi,j(Ip ) = 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 1 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 P P N = nP M=mP Très peu d'information pour mémoriser la matrice
  • 56. 7 Avril 2005 E. Boutillon56/54 http://lester.univ-ubs.fr/ Exemple construction matrice/architecture conjoint (3)Architecture:introduction Matrice prototype : Hi = 1 0 0 1 1 0 0 0 0 1 1 0 1 1 0 0 1 0 1 0 0 1 1 0 0 1 0 1 0 0 1 1 N = nP M=mP rotation m P t=1..E ind rot Processeurs de parité : calcul série add Mémoires