• Aucun résultat trouvé

D´ ecodage des codes LDPC

Dans le document The DART-Europe E-theses Portal (Page 168-174)

R´ esum´ e ´ etendu

A.2 D´ ecodage des codes LDPC

A.1.1 Contributions

Dans cette th`ese, l’accent est mis sur les aspects et d´efis pour la conception des d´ecodeurs VLSI `a basse consommation destin´es `a la communication sans fil. Nous consid´erons les aspects des d´ecodeurs LDPC. Nos contribu-tions sont principalement r´eparties entre trois niveaux d’abstraction:

Niveau algorithmique

Au niveau algorithmique nous ´etudions les compromis entre la performance, l’efficacit´e ´energ´etique et la surface pour les diff´erents algorithmes de traite-ment de la contrainte de parit´e. Ceci correspond aux Chapitres 3 et 4.

Niveau architecture

Au niveau de l’architecture nous consid´erons la conception des m´emoires.

Ce point est particuli`erement important pour la consommation et la sur-face finale du d´ecodeur. Nous pr´esentons l’impl´ementation d’un d´ecodeur multi-mode efficace en termes d’´energie consomm´ee. Ceci correspond aux Chapitre 4, 5 et 6.

Niveau syst`eme

Nous proposons des strat´egies pour la gestion dynamique de la puissance pour les d´ecodeurs Turbo et LDPC. Ces strat´egies sont bas´ees sur le contrˆole au niveau de l’it´eration et de la pr´ediction du nombre d’it´erations. Ce sujet est d´evelopp´e dans le Chapitre 7.

Le Chapitre 1 introduit la probl´ematique de la th`ese et sert d’introduction.

Le deuxi`eme chapitre introduit les notions de capacit´e du canal et du codage de canal pour comprendre le concept de d´ecodage it´eratif. Le Chapitre 8 propose une ouverture vers des d´ecodeurs unifi´es pouvant traiter `a la fois les codes Turbo et LDPC. Le Chapitre 9 conclut la th`ese.

A.2 D´ ecodage des codes LDPC

Les codes LDPC, invent´es par Gallager [2], sont des codes lin´eaires d´efinis par une matrice de parit´e creuse HM×N sur F2. Cette matrice d´efinit M contraintes de parit´e sur N symboles de code. Un mot de code satisfait:

HcT =S =0, (A.1)

o`uS est le syndrome.

Le code peut ˆetre d´efini par un graphe de Tanner. Dans un graphe de Tanner chaque symbole du mot de code est repr´esent´ee par un nœudde vari-able et chaque contrainte de parit´e est repr´esent´e par un nœud de parit´e.

Les ´el´ements non nuls dans H d´eterminent la connexion (arˆetes) entre les nœuds. Les codes utilis´es dans les standards de communication adoptent une caract´eristique structurelle pour r´eduire la complexit´e introduite par le car-act`ere al´eatoire de la matrice de parit´e. Les codesarchitecture-aware [13] et les codes LDPC quasi-cycliques [26] (QC-LDPC) sont constitu´es de couches form´ees par des sous-matrices de dimensions Z ×Z. Z est un facteur d’expansion qui montre le degr´e de parall´elisme disponible. La sous-matrice peut ˆetre une matrice nulle ou une matrice identit´e d´ecal´ee. La Figure A.2 montre une matrice de parit´e structur´ee et le graphe correspondant.

Chaque arˆete dans le graphe regroupeZ nœuds. Cette caract´eristique per-met l’utilisation d’architectures semi-parall`eles.

Hn×ki Hn×np

Z Z

block-columns

block-rows mb

nb

(a) Matrice de parit´e

... ... ...

...

Edge Permutations ...

... ... ...

...

...

systematic nodes

z

...

z z variable nodes

cluster of

parity nodes nodes

z check cluster of

(b) Graphe de Tanner

Figure A.2: Exemple de code LDPC structur´e.

A.2 ecodage des codes LDPC 149

A.2.1 Algorithmes de d´ecodage

Les codes LDPC sont g´en´eralement d´ecod´es de mani`ere it´erative par l’algori-thmesum-product[24]. Pendant le processus de d´ecodage, des messages sont

´echang´es entre les nœuds de variable et de parit´e. Cet ´echange est illustr´e dans la Figure A.3.

L1 L2 L3

L4

L1 L2 L3 L4

Variable nodes Check nodes

Lch

Figure A.3: Exemple d’´echange de messages sur les noeuds d’un graphe.

Chaque nœud effectue un calcul et g´en`ere un nouveau message. En g´en´eral les nœuds de variable font une somme de messages. D’autre part, les nœuds de parit´e font le traitement des contraintes de parit´e. Il y a plusieurs algorithmes de diff´erents niveaux de complexit´e: sum-product (SP) [24], min-sum (MS),offset-MS (OMS) etnormalized-MS (NMS) [28]. L’algorith-meself-corrected-MS (SCMS) [14] pr´esente un bon compromis entre la com-plexit´e et la performance. La Figure A.4 montre la performance (taux d’erreur ou bit-error-rate BER) de chaque algorithme pour le d´ecodage des codes LDPC dans le standard IEEE 802.11n `a travers le canal AWGN avec une modulation QPSK; la taille des mots utilis´ee est 1944 avec un taux de codage 1/2 et 60 it´erations maximum.

La Figure A.5 montre les r´esultats d’une impl´ementation d’int´egration

`

a tr`es grande ´echelle (VLSI) des diff´erents algorithmes de faible complexit´e dans une technologie CMOS de 65nm. L’impl´ementation correspond `a un processeur s´erie avec une quantification de message sur 6-bits. Les r´esultats incluent la surface et la consommation moyenne d’´energie par it´eration.

L’algorithme avec la plus grande surface et consommation d’´energie est le BCJR [20] [13] [27]. Cet algorithme pr´esente des calculs de haute complexit´e.

D’autre part, l’algorithme MS pr´esente la surface la plus faible en raison de calculs de faible complexit´e. Toutefois, l’algorithme SCMS pr´esente une r´eduction de la consommation d’´energie en raison d’une r´eduction du nom-bre de messages ´echang´es `a chaque it´eration. Effectivement l’algorithme

0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2 2.2 10−8

10−7 10−6 10−5 10−4 10−3 10−2 10−1 100

Eb/No in dB

BER

SP MS SCMS NMS BCJR OMS

Figure A.4: Taux d’erreur des algorithmes.

A.2 ecodage des codes LDPC 151

3000 3500 4000 4500 5000 5500 6000

2 4 6 8 10 12 14

Cell area [µm2]

Energy [nJ]

MS NMS OMS SCMS BCJR

Figure A.5: Comparaison des algorithmes dans une impl´ementation VLSI.

SCMS pr´esente un compromis int´eressant entre consommation d’´energie, surface et performance. Nous avons propos´e de geler le processeur SCMS de parit´e d`es que deux, ou plus, de ses entr´ees sont effac´ees. Un gain de consommation moyenne de 10% est realis´e.

Nous examinons le taux de convergence des algorithmes. Ce taux est affect´e par le nombre de messages par it´eration et leur pr´ecision. La Fi-gure A.6a montre le taux de convergence pour les algorithmes de la FiFi-gure A.4. L’algorithme SCMS a une vitesse de convergence lente en raison de la r´eduction du nombre de messages, mais en g´en´eral cet algorithme a la consommation d’´energie la plus faible. La Figure A.6b montre les donn´ees de la Figure A.5 (l’´energie) combin´ees avec les taux de convergence.

Apr`es cette analyse, nous pouvons choisir l’algorithme de d´ecodage op-timal. Jusqu’`a pr´esent nous avons consid´er´e que les processeurs de parit´e.

Nous avons fait l’impl´ementation compl`ete des d´ecodeurs LDPC pour la norme IEEE 802.11n [5] avec plusieurs algorithmes. La Figure A.7 mon-tre la surface d’impl´ementation et consommation moyenne par it´eration (SNR=1dB) de chaque module du d´ecodeur (processeurs, m´emoires et en-trelaceur). Le d´ecodeur SCMS pr´esente la meilleure performance en termes d’efficacit´e ´energ´etique.

0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2 2.2 0

5 10 15 20 25 30 35

Eb/No in dB

Avg. iterations

SP SCMS NMS BCJR OMS

(a) Nombre moyen d’it´erations

0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2 2.2

0 50 100 150 200 250 300

Eb/No in dB

Avg. Energy nJ

SCMS NMS BCJR OMS

(b) Consommation moyenne d’´energie

Figure A.6: Taux de convergence et consommation d’´energie des algo-rithmes.

Dans le document The DART-Europe E-theses Portal (Page 168-174)