Académique Documents
Professionnel Documents
Culture Documents
Springer
Paris
Berlin
Heidelberg
New York
Hong Kong
Londres
Milan
Tokyo
Ouvrage crit sous la direction de
Claude Berrou
Codes et turbocodes
Claude Berrou
cole Nationale Suprieure des Tlcommunications de Bretagne
CS 83818
29238 Brest Cedex 3
Cet ouvrage est soumis au copyright. Tous droits rservs, notamment la reproduction et la reprsentation, la traduc-
tion, la rimpression, lexpos, la reproduction des illustrations et des tableaux, la transmission par voie denregistre-
ment sonore ou visuel, la reproduction par microfilm ou tout autre moyen ainsi que la conservation des banques
donnes. La loi franaise sur le copyright du 9 septembre 1965 dans la version en vigueur nautorise une reproduction
intgrale ou partielle que dans certains cas, et en principe moyennant les paiements des droits. Toute reprsentation,
reproduction, contrefaon ou conservation dans une banque de donnes par quelque procd que ce soit est sanctionne
par la loi pnale sur le copyright.
Lutilisation dans cet ouvrage de dsignations, dnominations commerciales, marques de fabrique, etc., mme sans
spcification ne signifie pas que ces termes soient libres de la lgislation sur les marques de fabrique et la protection
des marques et quils puissent tre utiliss par chacun.
La maison ddition dcline toute responsabilit quant lexactitude des indications de dosage et des modes demplois.
Dans chaque cas il incombe lusager de vrifier les informations donnes par comparaison la littrature existante.
SPIN: 11682165
Karine Amis,
Matthieu Arzel,
Catherine Douillard,
Alain Glavieux ,
Frdric Guilloud,
Michel Jzquel,
Sylvie Keroudan,
Charlotte Langlais,
Christophe Laot,
Raphal Le Bidan,
meric Maury,
Samir Saoudi,
Yannick Saouter,
tous de lcole nationale suprieure des tlcommunications de Bretagne,
Grard Battail,
de lcole nationale suprieure des tlcommunications,
Emmanuel Boutillon,
de lUniversit de Bretagne Sud,
Cest un double big bang qui a ouvert ce que lon appelle communment au-
jourdhui lre de linformation. Nous sommes en 1948 et les tats-Unis dAm-
rique continuent dinvestir massivement dans la recherche de haute technologie,
dont ils ont tir les premiers bnces durant le conit mondial. Dans les Bell
Telephone Laboratories, installs dans le New Jersey, au sud de New York,
plusieurs quipes se sont constitues autour de brillants chercheurs, pour beau-
coup forms au MIT (Massachusetts Institute of Technology). Cette anne-l se
produisent deux dcouvertes exceptionnelles, lune technologique, lautre tho-
rique, qui vont profondment marquer le 20me sicle. Cest en eet quelques
mois dintervalle et dans le mme tablissement que John Bardeen, Walter
Brattain et William Shockley inventent le transistor et que Claude Elwood
Shannon tablit la thorie de linformation et des communications numriques.
Prodigieuse concidence qui fait natre comme presque jumeaux le composant
semi-conducteur qui, suivant son tat de conduction (ouvert ou ferm), est
capable de reprsenter matriellement une information binaire (0 ou 1) et le
shannon ou bit (contraction de binary unit), unit de mesure de linformation.
On mesure bien aujourdhui toute limportance de ces deux inventions qui
ont permis le formidable essor de linformatique et des tlcommunications,
entre autres. Depuis 1948, les fulgurants progrs de llectronique, puis de la
micro-lectronique, ont oert aux ingnieurs et chercheurs du monde des t-
lcommunications le support de leurs innovations, pour accrotre, toujours et
toujours, les performances de leurs systmes. Qui aurait pu imaginer, il y a
peu, quun programme de tlvision pourrait tre transmis par une paire de ls
tlphoniques ? En somme, Shockley et ses collgues, travers la loi de Gordon
Moore (doublement, tous les 18 mois, du nombre de transistors dans une mme
surface de silicium), ont apport petit petit les moyens de rpondre aux ds
lancs par Shannon, grce des algorithmes qui ne pouvaient tre que de plus
en plus complexes. Un exemple typique en est linvention, plutt tardive, des
turbocodes et des traitement itratifs dans les rcepteurs, qui ne purent tre
imagins que parce que les dizaines ou centaines de milliers de transistors requis
taient disponibles.
x Codes et turbocodes
Nota Bene : tout commentaire sur le contenu de cet ouvrage peut tre envoy
ladresse lectronique suivante : turbocode@mlistes.enst-bretagne.fr
Sommaire
Avant-propos ix
1 Introduction 1
1.1 Messages numriques . . . . . . . . . . . . . . . . . . . . . . . 3
1.2 Un premier code . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.3 Dcodage entre ferme et dcodage entre souple . . . . . . 8
1.4 Dcodage sortie ferme et dcodage sortie souple . . . . . . 11
1.5 La mesure de performance . . . . . . . . . . . . . . . . . . . . 12
1.6 Quest-ce quun bon code ? . . . . . . . . . . . . . . . . . . . . 15
1.7 Les familles de codes . . . . . . . . . . . . . . . . . . . . . . . 17
2 Communications numriques 19
2.1 Modulations Numriques . . . . . . . . . . . . . . . . . . . . . 19
2.1.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . 19
2.1.2 Modulations Linaires Sans Mmoire . . . . . . . . . . . 22
2.1.3 Modulations de frquence sans mmoire M tats : MDF-
M . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
2.1.4 Modulations avec mmoire par dplacement de frquence
phase continue : MDF-M PC . . . . . . . . . . . . . . 31
2.2 Structure et performances du rcepteur optimal sur canal gaussien 37
2.2.1 Structure du rcepteur cohrent . . . . . . . . . . . . . . 38
2.2.2 Performances du rcepteur cohrent . . . . . . . . . . . 42
2.3 Transmission sur canal bande limite . . . . . . . . . . . . . 59
2.3.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . 59
2.3.2 Linterfrence entre symboles . . . . . . . . . . . . . . . 60
2.3.3 Condition dabsence dIES : critre de Nyquist . . . . . 63
2.3.4 Expression de la probabilit derreur en prsence de l-
trage de Nyquist . . . . . . . . . . . . . . . . . . . . . . 68
2.4 Transmission sur canal vanouissements . . . . . . . . . . . . 70
2.4.1 Caractrisation dun canal vanouissements . . . . . . 70
xiv Codes et turbocodes
3 Limites thoriques 83
3.1 La thorie de linformation . . . . . . . . . . . . . . . . . . . . 83
3.1.1 Canal de transmission . . . . . . . . . . . . . . . . . . . 83
3.1.2 Un exemple : le canal binaire symtrique . . . . . . . . 84
3.1.3 Aperu sur le thorme fondamental du codage . . . . . 86
3.1.4 Interprtation gomtrique . . . . . . . . . . . . . . . . 88
3.1.5 Codage alatoire . . . . . . . . . . . . . . . . . . . . . . 88
3.2 Limites thoriques de performance . . . . . . . . . . . . . . . . 91
3.2.1 Canal entre binaire et sortie relle . . . . . . . . . . . 91
3.2.2 Capacit dun canal de transmission . . . . . . . . . . . 92
3.3 Limites pratiques de performance . . . . . . . . . . . . . . . . 96
3.3.1 Canal gaussien entre binaire . . . . . . . . . . . . . . 97
3.3.2 Canal gaussien entre continue . . . . . . . . . . . . . 98
3.3.3 Quelques exemples de limites . . . . . . . . . . . . . . . 100
3.4 Distances minimales requises . . . . . . . . . . . . . . . . . . . 101
3.4.1 DMH requise avec la modulation MDP-4 . . . . . . . . 101
3.4.2 DMH requise avec la modulation MDP-8 . . . . . . . . 103
3.4.3 DMH requise avec la modulation MAQ-16 . . . . . . . . 105
3.5 Bibliographie . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
Annexe : Notions sur les corps de Galois et sur les polynmes minimaux159
Index 394
Chapitre 1
Introduction
mettre le mot plus de deux fois. matin satin matin pourra, sans grand
risque derreur, tre traduit en matin .
Un codage plus labor consiste transmettre le message original accompa-
gn, non plus du mme mot mais dun synonyme ou dun quivalent : matin
aube par exemple. Si lon reoit matin auge ou latin aube , la cor-
rection est possible, en se rfrant un dictionnaire dquivalence. La rgle de
dcodage serait alors la suivante : en cas derreur (si les deux mots reus ne
sont pas directement quivalents) et si lon trouve deux quivalents en modi-
ant une lettre, au plus, dans le message reu, alors la correction est adopte
( auge devient aube ) et le premier des deux mots ( matin ) est ac-
cept comme message original. Il en serait de mme avec la rception de latin
aube , o la correction porterait cette fois sur le premier mot. Bien sr, si de
nombreuses erreurs altrent la transmission et si lon reoit latin auge , on
ny comprendra probablement plus rien. Il existe ainsi une limite au pouvoir
de correction. Cest la fameuse limite de Shannon, quaucun code correcteur ne
peut en thorie dpasser.
Par rapport la simple rptition, le codage par quivalence, plus ecace,
utilise un eet de diversit. Dans cette analogie de la conversation, cette diver-
sit est porte par une proprit lexicographique : deux mots distincts, lorsquils
sont voisins dans leur orthographe (matin et satin), ont peu de chance davoir
deux quivalents ( aube et tissu par exemple) galement proches dans
leur orthographe. La diversit, telle quelle vient dtre introduite, consiste donc
construire un message redondant sous une forme qui minimise, en cas der-
reurs, les ambiguts en rception. On lappelle aussi diversit temporelle car
les mots quivalents dans le message sont transmis des instants dirents
et subissent des perturbations dintensits ingales. Par exemple, matin et
aube peuvent tre mis lors du passage dune moto et dune bicyclette,
respectivement.
Dans les systmes de tlcommunications, des eets de diversit compl-
mentaires peuvent tre recherchs. La diversit frquentielle consiste dcou-
per et envoyer le message dans des bandes de frquences qui ne sont pas, un
mme instant, perturbes de la mme manire. Lutilisation de plusieurs an-
tennes dmission et/ou de rception ore, quant elle, de la diversit spatiale
car les trajets entre antennes nont pas le mme comportement. Lexploita-
tion conjointe des trois types de diversit : temporelle, frquentielle et spatiale,
conduit des systmes de communications trs performants.
Enn, le souci de parcimonie, ou dconomie, est impos par la limitation des
ressources, temporelles ou frquentielles, de la transmission. Le choix de ma-
tin aube est ainsi certainement plus judicieux, du point de vue de la concision,
que matin potron-minet . En contre-partie, on pressent que le dernier mes-
sage pourrait tre plus rsistant aux erreurs multiples car plus redondant (la
rception et la rsolution de mutin potion-minet nest pas problmatique si
lon utilise la loi de dcodage nonce plus haut et en tendant le pouvoir de
correction deux erreurs). La recherche de performance, travers le taux de
redondance et la contrainte de parcimonie sopposent donc compltement.
1. Introduction 3
k1
XOR(b0 , b1 , ..., bk1 ) = b0 b1 ... bk1 = bp modulo 2 (1.2)
p=0
Cest donc tout simplement 0 si le nombre des uns logiques apparaissant dans
la squence considre est pair et 1 dans le cas contraire. Dans la suite, lorsque
des additions modulo 2 porteront sur des valeurs binaires et sil ny a pas
dambigut dans la notation, le terme modulo 2 pourra tre lud. Le mot
somme devra tre lui-mme tre compris dans le sens dune addition modulo
2.
Le codeur transforme le message contenant quatre bits de donnes : d =(d0 ,
d1 , d2 , d3 ) en un mot de huit bits : c = (d0 , d1 , d2 , d3 , r0 , r1 , r2 , r3 ), appel mot
de code. Le mot de code est donc sparable en une partie qui est linformation
provenant de la source, dite partie systmatique 1 et une partie ajoute par le
codeur, dite partie redondante. Tout code produisant des mots de code sous
cette forme est dit code systmatique. La plupart des codes, en pratique, sont
systmatiques mais il existe une exception importante dans la famille des codes
convolutifs (chapitre 5).
La loi de construction de la partie redondante, par le codeur particulier de
la gure1.1, peut tre crite simplement sous la forme :
3
rj = dj dp (j = 0, ..., 3) (1.3)
p=0
d0 d1 d2 d3 r0 r1 r2 r3 d0 d1 d2 d3 r0 r1 r2 r3
0 0 0 0 0 0 0 0 1 0 0 0 0 1 1 1
0 0 0 1 1 1 1 0 1 0 0 1 1 0 0 1
0 0 1 0 1 1 0 1 1 0 1 0 1 0 1 0
0 0 1 1 0 0 1 1 1 0 1 1 0 1 0 0
0 1 0 0 1 0 1 1 1 1 0 0 1 1 0 0
0 1 0 1 0 1 0 1 1 1 0 1 0 0 1 0
0 1 1 0 0 1 1 0 1 1 1 0 0 0 0 1
0 1 1 1 1 0 0 0 1 1 1 1 1 1 1 1
Table 1.1 Les seize mots de code que peut produire le codeur de la gure 1.1.
k 1
R= = (1.6)
n 1+
Le produit Rdmin apparatra dans la suite comme un facteur de mrite essen-
tiel vis--vis dune perturbation apporte par un bruit additif distribution
gaussienne.
8 Codes et turbocodes
besoin dtre lev : 3, 4 ou 5 bits susent pour reprsenter nement les chan-
tillons analogiques. Une fois sur deux en moyenne, le bruit est favorable car il
est de mme signe que la valeur mise. Dans lautre cas, lamplitude du signal
est attnue et, lorsque ce bruit dfavorable est important, le signe peut sin-
verser. Une prise de dcision immdiate par seuil (cest--dire est-ce plus grand
ou plus petit que le zro analogique ?) conduirait alors dlivrer une valeur
binaire errone.
1 (u )2
p(u) = exp( ) (1.8)
2 2 2
Le BABG est une perturbation qui produit, aprs ltrage adapt et chantillon-
nage priodique (voir chapitre 2), des chantillons indpendants dont lampli-
tude suit la loi de densit de probabilit (1.8)de moyenne nulle et de variance :
N0
2 = (1.9)
2
slectionne donc :
3
2
3
2
c = c {c} tel que (xj Xj ) + (yj Yj ) est minimum (1.10)
j=0 j=0
Puisque les valeurs mises sont toutes telles que x2j = 1 ou yj2 = 1 et que
toutes les distances euclidiennes contiennent Xj2 et Yj2 , la loi prcdente peut
se simplier sous la forme :
3
3
c = c {c} tel que 2xj Xj 2yj Yj est minimum
j=0 j=0
soit encore :
3
3
c = c {c} tel que xj Xj + yj Yj est maximum (1.11)
j=0 j=0
o [Vmax , Vmax ] est lintervalle des valeurs que peuvent prendre les chantillons
dentre Xj et Yj du dcodeur aprs lopration dcrtage.
En gure 1.4, le mot de code tout 0 a t mis et reu avec trois altra-
tions aux trois premires positions. Ces trois altrations ont invers les signes
des symboles mais leurs amplitudes sont plutt de faible niveau : 0, 2, 0, 4 et
0, 1. Le dcodage entre ferme produit un rsultat erron car le mot de code
le plus proche en terme de distance de Hamming est (1, 1, 1, 0, 0, 0, 0, 1). En
revanche, le dcodage entre souple selon (1.11) dlivre bien le mot tout
0 , auquel correspond le produit scalaire maximum :
(1)(0, 2) + (1)(0, 4) + (1)(0, 1) + (1)(1)
+ (1)(1) + (1)(1) + (1)(1) + (1)(1) = 4, 3
comparer avec :
(+1)(0, 2) + (+1)(0, 4) + (+1)(0, 1) + (1)(1)
+ (1)(1) + (1)(1) + (1)(1) + (+1)(1) = 3, 7
1. Introduction 11
pour le mot concurrent (1, 1, 1, 0, 0, 0, 0, 1). Cet exemple simple illustre lintrt
de conserver, lorsque cela est possible, les informations de abilits dans les
prises de dcision.
lev qui corresponde un mot de code concurrent dans lequel le bit dinfor-
mation en question est oppos celui de la dcision binaire. Le poids associ
cette dcision binaire est alors la dirence du produit scalaire maximum et du
produit scalaire correspondant au mot concurrent. Une division par 2 suppl-
mentaire met la sortie pondre lchelle de lentre. Ce procd est optimal
pour une perturbation BABG. En reprenant lexemple de la gure 1.4 (qui
nest pas typique dun BABG), les poids associs aux dcisions sur les trois
premiers bits seraient identiques et gaux (4,3 3,7)/2 = 0,3.
Dun point de vue historique, les premires mthodes de dcodage ont t
du type entre et sortie fermes. Cest lalgorithme de Viterbi, dtaill dans le
chapitre 5, qui a popularis lide de dcodage entre souple. Puis les turbo-
codes, qui sont dcods par traitements rpts et qui requirent des valeurs
pondres tout niveau de ce traitement, ont mis la mode les dcodeurs
entre et sortie souples. Le sigle gnrique pour qualier de tels dcodeurs est
de langue anglaise : SISO pour Soft-Input/Soft-Output.
w TEB
e = = (1.13)
k TEP
o w = ke est le nombre moyen de bits dinformation errons dans la partie
systmatique dun bloc mal dcod.
La gure 1.5 donne un exemple typique de reprsentation graphique de
performance de codage et dcodage correcteur derreurs. Lordonne donne le
Eb
TEB en chelle logarithmique et labscisse porte le rapport signal bruit N0
,
exprim en dcibels (dB). N0 est dni par (1.9) et Eb est lnergie reue par
1. Introduction 13
bit dinformation. Si Es est lnergie reue pour chacun des symboles du mot
de code, Es et Eb sont relis par :
Es = REb (1.14)
Figure 1.5 Pouvoir de correction derreurs des codes de Hamming (8, 4, 4) et (7, 4, 3)
sur canal gaussien, avec dcodage entre ferme et dcodage entre souple. Alors
que le code (7,4,3) est plus performant lorsque lentre est ferme, le code (8,4,4) est
prfrable lorsque lentre est souple.
Sur la gure 1.5, sont traces les courbes de correction derreurs des codes
de Hamming (8, 4, 4) et (7, 4, 3) dont il a t question tout au long de cette
introduction, sur un canal gaussien. Le dcodage entre ferme selon (1.4) et
le dcodage entre souple selon (1.11) sont considrs. Dans le diagramme est
aussi reprsente la courbe de probabilit derreur binaire Pe que lon obtient
sur ce canal sans utiliser de codage3 . Cette courbe est relie la fonction
derreur complmentaire erfc(x) donne par la relation (2.66) du chapitre 2 :
3 La distinction entre Pe et TEB nest que formelle : la valeur de Pe est donne par une
quation tandis que le TEB est obtenu par mesure ou simulation.
14 Codes et turbocodes
Eb
Pe = 12 erfc N 0
. Pour Eb /N0 grand, le comportement asymptotique de Pe est
approch par :
1 exp Eb
N0
Pe (1.15)
2 Eb
N0
exp Rd Eb
1 Eb 1 min N0
Pe,mot = N (dmin )erfc Rdmin N (dmin ) (1.16)
2 N0 2 Eb
Rdmin N0
1 exp Rd Eb
min N0
Pe,bit e N (dmin ) (1.17)
2 Eb
Rdmin N 0
la lecture de la table 1.1, on observe que le nombre moyen derreurs dans les
14 mots de poids 4, concurrents la distance minimale du mot tout 0 , est
2. La formule (1.17) applique au code de Hamming tendu est donc :
1 2 exp 1
2 4 Eb
N0 exp 2 Eb
N0
Pe,bit 14 = 3, 5
2 4 2 4 N0
1 Eb Eb
2 N0
Si e N (dmin ) nest pas trop loign de lunit, cette relation peut tre simplie
sous la forme :
Eb Eb
Rdmin 0
N0 C N0 N C
Eb Eb
Le gain asymptotique, exprim en dB, fournit lcart entre N 0
et N0 :
NC C
Eb
N0
Ga = 10 log C 10 log (Rdmin )
N
(1.19)
Eb
N0
C
Comme annonc plus haut, Rdmin apparat comme un facteur de mrite qui,
dans un bilan de liaison et faible taux derreurs, xe le gain que peut apporter
un procd de codage sur canal gaussien quand le dcodeur est entre souple.
Cest un paramtre majeur pour les concepteurs de systmes de communica-
tions. Pour dautres types de canal que le canal gaussien (Rayleigh, Rice ...),
le gain asymptotique est toujours suprieur celui qui est approximativement
donn par (1.19).
Dans la gure 1.5, le dcodage entre souple du code de Hamming (8, 4,
4) donne le meilleur rsultat, avec un gain asymptotique observ de lordre de
2,4 dB, conforme la relation (1.18) plus prcise que (1.19). Le code (7, 4, 3)
est lgrement moins performant car le produit Rdmin est de 12/7 au lieu de 2
pour le code (8, 4, 4). En revanche, le dcodage entre ferme est dfavorable
au code tendu car il nore pas un pouvoir de correction plus grand malgr un
taux de redondance plus lev. Cet exemple est atypique : dans la trs grande
majorit des cas pratiques, la hirarchie des codes que lon peut tablir en se
basant sur leur performance sur canal gaussien, avec dcodage entre souple,
est respecte pour dautres types de perturbations.
est en question mais le dcodeur qui ne peut pas exploiter toute linformation
disponible en rception.
La recherche du couple codeur/dcodeur idal, depuis les travaux de Shan-
non, a toujours d faire face ce dilemme : bonne convergence versus DMH le-
ve. Dexcellents codes algbriques tels que les codes BCH (voir paragraphe 4.1.7)
ou de Reed-Solomon (voir paragraphe 4.2.1) furent assez rapidement labors
dans lhistoire du codage correcteur (voir chapitre 4). Les DMH sont leves (et
mme parfois optimales) mais il nest pas toujours facile de mettre en uvre un
dcodage entre souple. Par ailleurs, les codes algbriques sont gnralement
taills pour une longueur de mot de code et un rendement de codage bien
spciques, ce qui en limite le champ des applications. Malgr cela, les codes
algbriques rendent des services essentiels dans les applications qui requirent
des taux derreurs trs faibles, notamment les mmoires de masse et/ou lorsque
linformation pondre nest pas disponible.
Ce nest que rcemment, avec lintroduction du dcodage probabiliste itra-
tif (turbo-dcodage), que lon a pu obtenir une correction derreurs ecace prs
de la limite thorique. Et cest encore plus rcemment que des DMH susantes
ont pu tre obtenues pour viter un changement de pente dfavorable dans la
courbe de performance.
Il nest pas facile de rpondre simplement la question qui fait le titre
de cette section. La performance est, bien sr, le premier critre : pour un
taux derreurs donn, compt soit en TEB soit en TEP et pour un rendement
de codage x, un bon code est dabord celui dont le dcodeur ore un bon
pouvoir de correction prs de la limite thorique correspondante. Une condition
pralable en est videmment lexistence dun algorithme de dcodage (les codes
alatoires nont pas de dcodeur, par exemple) et que cet algorithme ne soit
pas exagrment complexe, dans ses ralisations logicielles et/ou matrielles.
En outre, lutilisation dentres souples est un impratif qui peut ne pas tre
simple satisfaire.
Dautres critres comme la vitesse de dcodage (qui xe le dbit de linfor-
mation dcode), la latence (le retard apport par le dcodage) ou la exibilit
(laptitude du code pouvoir tre dni pour des longueurs de mots et des ren-
dements de codage varis) sont galement prendre en compte dans le contexte
de lapplication vise.
Enn, des facteurs non techniques peuvent galement tre trs importants.
La maturit technologique (existe-t-il dj des applications, des standards ?),
les cots des composants, les ventuels droits de proprit intellectuelle, les
prfrences stratgiques ou les habitudes sont des lments qui peuvent peser
dans le choix dune solution de codage.
applications : les codes algbriques (encore appels codes en bloc) et les codes
convolutifs. Cette distinction tait principalement fonde sur trois observations :
les codes algbriques sont appropris la protection de blocs de donnes
indpendants les uns des autres, les codes convolutifs conviennent la
protection de donnes en ot continu,
les rendements de codage des codes algbriques sont plutt proches de
lunit, alors que les codes convolutifs ont des rendements plus faibles,
le dcodage des codes en bloc est plutt du type entre ferme, celui des
codes convolutifs presque toujours entre souple.
Aujourdhui, ces distinctions tendent sestomper. Les codes convolutifs
peuvent aisment tre adapts pour coder des blocs et la plupart des dcodeurs
de codes algbriques acceptent des entres souples. Par lintermdiaire de la
concatnation (chapitre 6), les rendements des codes algbriques peuvent tre
abaisss des valeurs comparables celles des codes convolutifs. Une dirence
demeure cependant entre les deux sous-familles : le nombre dtats logiques
possibles des codeurs algbriques est gnralement trs lev, ce qui en empche
le dcodage par des mthodes dtat exhaustives. Les algorithmes de dcodage
sappuient sur des techniques propres chaque code. Les codeurs convolutifs ont
un nombre restreint dtats, de 2 256 en pratique et leur dcodage utilise une
reprsentation dtats complte, dite en treillis (chapitre 5). Pour cette raison,
cet ouvrage a conserv la structuration classique qui distingue, provisoirement,
codes algbriques et codes convolutifs.
Le codage moderne fait appel des structures concatnes ou composites,
qui utilisent plusieurs codeurs lmentaires et dont le dcodage seectue par
passages rpts dans les dcodeurs associs et par change dinformations de
nature probabiliste. Les turbocodes (1993) ont ouvert la voie ce type de trai-
tement itratif et, depuis, de nombreuses structures composites qui sappuient
sur le dcodage itratif, ont t imagines (ou retrouves). Trois dentre elles
sont approfondies dans cet ouvrage : les turbocodes, dans leur version originale
et dans leur volution rcente, les codes produits dcods itrativement et les
LDPC (Low Density Parity Check ). Tous ces codes ont t adopts dans des
normes internationales et la comprhension de leurs procds de codage et de
leurs algorithmes de dcodage est une base largement susante pour aborder
tout autre principe de codage distribu et de dcodage itratif associ.
Chapitre 2
Communications numriques
celui-ci est analogique. Dans le cas dun signal numrique, le signal modulant est
une suite dlments dun ensemble ni, ou symboles, appliqus au modulateur
des instants discrets qui seront dits instants signicatifs. Cette suite sera dite
message numrique et on supposera que les symboles sont des donnes binaires
appliques priodiquement lentre du modulateur, toutes les Tb secondes,
donc avec un dbit binaire D = 1/Tb bits par seconde. Les donnes binaires de
cette suite seront supposes indpendantes et identiquement distribues (iid).
Un message numrique donn, par exemple binaire, peut tre remplac par sa
m-ime extension obtenue en groupant les symboles initiaux par paquets
de m. Alors les symboles sont des nombres m chires binaires (ou m-uples),
dont le nombre total est M = 2m , appliqus au modulateur des instants
signicatifs de priode mTb . Si la m-ime extension est entirement quivalente
au message (dont elle nest quune description dirente), le signal modul
par le message dorigine et celui qui lest par sa m-ime extension nont pas les
mmes proprits, notamment en ce qui concerne sa largeur de bande, dautant
plus troite que m est grand. Le choix du paramtre entier m permet donc de
faire varier les caractristiques du message modul.
Une modulation numrique implique de dnir un ensemble discret de va-
leurs pouvant tre prises par a et chacun des instants signicatifs, en nombre
gal celui des symboles possibles, soit M = 2m pour la m-ime extension dun
message binaire, et en correspondance bijective avec eux. Cet ensemble est ap-
pel constellation pour des raisons qui vont tre dites un peu plus loin. Alors un
message quelconque sera reprsent par un lment (point) de la constellation.
On remarquera que les lments du message numrique transmettre sont de
nature abstraite (par exemple un chire binaire, 0 ou 1, ou le m-uple qui re-
prsente les symboles de la m-ime extension dun message binaire) tandis que
les paramtres a et reprsentent des grandeurs physiques qui ne peuvent tre
ajustes ou connues quavec une prcision nie. Il faut supposer que lcart entre
ces paramtres et leurs valeurs nominales dans la constellation reste ngligeable
par rapport au bruit qui aecte la transmission.
Considrons le signal complexe :
plan de Fresnel. Le signal modul (2.1) est la partie relle du signal complexe
(t) dni par (2.3).
Si la correspondance tablie entre le signal modulant et les paramtres va-
riables est instantane, la modulation est dite sans mmoire. Il peut tre utile
que cette correspondance soit tablie entre les paramtres variables et une fonc-
tion des valeurs prises antrieurement par le signal modulant. Par exemple, si
celui-ci est analogique, un procd classique de modulation (dit de frquence)
consiste faire varier proportionnellement lintgrale du signal modulant
par rapport au temps. Dans le cas dune modulation numrique, de mme, le
point de la constellation peut tre choisi pour reprsenter le symbole prsent
linstant considr, et la modulation est alors dite sans mmoire, ou bien
un symbole obtenu en le combinant avec dautres symboles antrieurs. Une
modulation peut donc tre analogique ou numrique, avec ou sans mmoire.
Nous nous restreindrons dans toute la suite aux modulations numriques qui
direront les unes des autres par la forme et le nombre de points de leur
constellation, ainsi quventuellement par un eet de mmoire. Quand celui-ci
est obtenu en combinant le symbole appliqu avec des symboles antrieurs, il
peut tre interprt comme une transformation prliminaire du message num-
rique. Par ailleurs, il est souvent ncessaire dassurer la continuit de la phase
pour amliorer la forme du spectre des signaux moduls, ce qui implique un
eet de mmoire.
Le choix dun systme de modulation dpend de nombreux facteurs. Les
signaux moduls seront mis sur un canal imparfait, perturb par laddition
de signaux parasites nomms collectivement bruit et souvent, en radiolectri-
cit, aects de variations de lamplitude du signal reu dues par exemple
un changement rapide des conditions de propagation, phnomne nomm va-
nouissement. Malgr ces dfauts du canal, on souhaite recevoir les messages
modulants avec une faible probabilit derreur, ce qui implique que les signaux
qui leur sont associs soient aussi dirents que possible. Dautre part, quil
sagisse de radiolectricit ou de multiplexage, le spectre radiolectrique est
commun plusieurs utilisateurs dont chacun perturbe les autres. On souhaite
donc concentrer la puissance mise dans un intervalle de frquence aussi bien
dlimit que possible, ce qui implique de choisir les paramtres de la modu-
lation pour doter le spectre de la forme la mieux approprie. Le spectre dun
signal de la forme gnrale (2.3) se compose dun lobe principal centr sur f0
qui concentre la plus grande partie de la puissance mise et de queues ou lobes
secondaires o la densit spectrale dcrot plus ou moins vite par rapport la
frquence centrale f0 . Quel que soit le systme de modulation, la largeur du lobe
principal est proportionnelle la rapidit de modulation R = D/m = 1/mTb ,
exprime en bauds. La dcroissance de la densit spectrale susamment loin
de la frquence centrale ne dpend que des discontinuits du signal modulant
et de ses drives. Elle varie en 1/(f f0 )2(d+1) o d est lordre le plus petit
dune drive du signal discontinue (d = 0 si le signal modul lui-mme est dis-
continu). On remarquera quil nest possible daugmenter la valeur de d quen
22 Codes et turbocodes
o les {ai } sont une suite de symboles M -aires, appels symboles de modulation,
qui prennent les valeurs (2j 1 M ), j = 1, 2, , M . Dans lexpression du
signal modul, i est lindice temporel.
Le signal S(t) peut encore se mettre sous la forme :
S(t) = e {se (t) exp (j(2f0 t + 0 ))} (2.11)
o se (t) est lenveloppe complexe du signal S(t) avec :
se (t) = A ai h(t iT ) (2.12)
i
En tenant compte du fait que les donnes di dlivres par la source dinfor-
mation sont iid, les symboles de modulation ai sont indpendants, moyenne
nulle et de variance gale (M 2 1)/3.
Il peut tre montr que la densit spectrale de puissance (dsp) du signal
S(t) est gale :
1 1
S (f ) = s (f f0 ) + se (f + f0 ) (2.13)
4 e 4
avec : 2
M2 1 2 sin f T
se (f ) = A T (2.14)
3 f T
La dsp de se (t) exprime en dB est reprsente dans la gure 2.3 en fonction
de la frquence normalise f T , pour M = 4 et A2 T = 1.
La dsp de S(t) est centre sur la frquence porteuse f0 et son enveloppe
dcrot en f 2 . Elle est constitue dun lobe principal de largeur 2/T et de lobes
secondaires qui sannulent priodiquement en f0 k/T .
Remarque
La bande occupe est, en toute rigueur innie. Pratiquement, on peut dcider
de ne transmettre quun pourcentage de la puissance du signal S(t) et dans ce
cas, la bande occupe est nie. Si, par exemple, on dcide de transmettre 99%
de la puissance du signal modul, ce qui ninduit quune faible distorsion du
signal S(t), alors la bande occupe est denviron 8/T o 1/T est la rapidit de
modulation. On verra dans la section 2.3 quil est possible de rduire fortement
cette bande sans dgrader les performances de la modulation. Cette remarque
est valable pour toutes les modulations linaires.
2. Communications numriques 25
Figure 2.3 Densit spectrale de puissance (dsp) de lenveloppe complexe dun signal
MDA-4, avec A2 T = 1.
Sous cette forme, le signal MDP-M peut sexprimer comme la somme de deux
porteuses, cos(2f0 t + 0 ) et sin(2f0 t + 0 ) en quadrature, modules en
amplitude par cos j et sin j avec cos2 j + sin2 j = 1. On peut vrier que
lorsque M est un multiple de 4, les valeurs possibles de lamplitude des deux
porteuses sont identiques.
Dans la gure 2.4 nous avons reprsent deux constellations dun signal
modul en phase avec codage de Gray. Les constellations sont deux dimensions
26 Codes et turbocodes
et les dirents tats du signal modul sont sur un cercle de rayon A. On dit
que la constellation est circulaire.
T
A2 T
Es = A2 cos2 (2f0 t + 0 + j )dt = si f0 >> 1/T (2.18)
2
0
Lnergie Es est toujours la mme quel que soit ltat de phase mis. Lnergie
utilise pour transmettre une donne binaire est Eb = Es / log2 (M ).
Pour une transmission ot continu de donnes, le signal modul peut
scrire sous la forme :
S(t) = A ai h(t iT ) cos(2f0 t + 0 )
i (2.19)
bi h(t iT ) sin(2f0 t + 0 )
i
En tenant compte du fait que les donnes di dlivres par la source dinfor-
mation sont iid, les symboles de modulation ci sont indpendants, moyenne
nulle et de variance unit.
La dsp du signal S(t) est encore gale :
1 1
S (f ) = s (f f0 ) + se (f + f0 )
4 e 4
2. Communications numriques 27
Lorsque m est impair, le signal modul MAQ-M ne peut plus tre obtenu
comme une combinaison de deux porteuses en quadrature modules en am-
plitude. Toutefois, on peut construire le signal MAQ-M partir dun signal
MAQ-N modul classiquement sur deux porteuses en quadrature, o N est un
carr immdiatement suprieur M en interdisant (N M ) tats. Par exemple,
la modulation MAQ-32 peut tre obtenue partir dune modulation MAQ-36
o Acj et Asj prennent les valeurs (A, 3A, 5A) en interdisant les quatre
28 Codes et turbocodes
tats damplitude (5A, 5A) pour les couples (Acj et Asj ). La constellation de
la modulation MAQ-32 est reprsente dans la gure 2.6.
avec : Asj
Vj = (Acj )2 + (Asj )2 j = arctan
Acj
Sous cette forme, la modulation MAQ-M peut tre considre comme une mo-
dulation combine de phase et damplitude. En supposant que la phase prenne
M1 = 2m1 tats et lamplitude M2 = 2m2 tats, le signal modul transmet
log2 (M1 M2 ) = m1 + m2 donnes toutes les T secondes. La gure 2.7 repr-
sente la constellation dune modulation combine de phase et damplitude pour
M = 16 (M1 = 4, M2 = 4).
0.5
1
Phase (rad)
1.5
2.5
3.5
0 T 2T 3T 4T 5T 6T 7T 8T 9T 10T
En utilisant les expressions (2.37) et (2.42), le signal MSK peut scrire sous
la forme :
ai !
S(t) = A cos 2(f0 + )t i ai + i + 0 iT t < (i + 1)T (2.43)
4T 2
avec :
i1
i = ai (2.44)
2 n=
Le signal MSK utilise deux frquences instantanes pour transmettre les sym-
boles binaires ai = 1.
1
f1 = f0 + 4T si ai = +1
(2.45)
f2 = f0 1
4T si ai = 1
34 Codes et turbocodes
q(t) = t
2LT 1
4 sin 2t
LT 0 t LT
(2.52)
1
= 2 t > LT
2
(t) = Bg exp(2 2 Bg2 t2 )/ ln 2 (2.54)
ln 2
Aprs calcul du produit de convolution, la fonction g(t) peut scrire sous la
forme :
" # $ # $%
1 2 T 2 T
g(t) = erf Bg (t + ) erf Bg (t ) (2.55)
2T ln 2 2 ln 2 2
i
iL
(t) = an q(t nT )+ an (2.56)
2 n=
n=iL+1
o L = 3 si BN = 0, 3 et L = 2 si BN = 0, 2.
Ainsi sur un intervalle [iT, (i + 1)T [, la phase (t) du signal GMSK dpend du
symbole ai mais aussi des symboles antrieurs au symbole ai (ai1 , ai2 ,
, aiL+1 ). Cette modulation non linaire prsente un eet de mmoire qui lui
confre de bonnes proprits spectrales. La modulation GMSK, avec une bande
passante normalise BN = 0, 3 a t retenue pour le systme de tlphonie
mobile GSM (Groupe Spcial Mobile et plus tard Global System for Mobile
communication). Prcisons quil nexiste pas dexpression simple de la densit
spectrale de puissance dun signal GMSK. Pour des valeurs de la bande pas-
sante normalise de 0,3 ou de 0,2, la densit spectrale de puissance du signal
GMSK ne prsente pas de lobes secondaires et sa dcroissance en fonction de
la frquence est trs rapide. Ainsi -10 dB la bande occupe par le signal
GMSK est approximativement de 200 kHz, et -40 dB de 400 kHz pour le
dbit normalis D = 271 kbit/s.
o sjp est un scalaire gal la projection du signal sj (t) sur la fonction p (t).
T
sjp = sj (t)p (t)dt
0
Le bruit peut aussi tre reprsent sous forme dune srie de fonctions orthonor-
mes mais de longueur innie (dveloppement de Karhunen Loeve). Lorsque le
bruit est blanc, on montre que les fonctions orthonormes peuvent tre choisies
de faon arbitraire. Nous allons donc prendre les mmes fonctions orthonormes
que celles utilises pour reprsenter les signaux sj (t), mais aprs extension
linni de cette base de fonctions :
N
b(t) = bp p (t) = bp p (t) + b (t)
p=1 p=1
T
bp = b(t)p (t)dt
0
T
N0 N0
E {bp bn } = p (t)n (t)dt = n,p (2.57)
2 2
0
2. Communications numriques 39
En utilisant les reprsentations des signaux sj (t) et du bruit b(t) par leur
srie respective, on peut crire :
N
N
r(t) = (sjp + bp )p (t) + bp p (t) = rp p (t)+b (t)
p=1 p=N +1 p=1
En tenant compte du fait que les variables bn , quel que soit n, sont moyenne
nulle et non corrles, on obtient :
E {rp b (t)} = E {bp bn } n (t) = 0 p = 1, 2, , N (2.58)
n=N +1
T
rp = r(t)p (t)dt (2.59)
0
Exemple
Considrons une modulation MDP-M pour laquelle les signaux sj (t) sont
de la forme :
sj (t) = Ah(t) cos(2f0 t + 0 + j )
Les signaux sj (t) engendrent un espace N = 2 dimensions si M > 2. Les
fonctions p (t) p = 1, 2 orthonormes ont respectivement pour expressions :
2
1 (t) = cos(2f0 t + 0 )
T
2
2 (t) = T sin(2f0 t + 0 )
40 Codes et turbocodes
En chantillonnant en t = T , on obtient :
T
sj (t)j (t) h(T t) |t=T = sj ( )j ( )d
0
Aprs simplication :
N
N
sj (t) si rp sjp + Cj > rp snp + Cn n = j n = 1, 2, , M (2.60)
p=1 p=1
Ej
N
o Cj = N0
2 ln(j ) 2 avec Ej = (sjp )2 .
p=1
En remarquant que :
T T
N
N
r(t)sj (t)dt = rp p (t) sjm m (t)dt
0 0 p=1 m=1
De la mme faon :
T T
N
N
s2j (t)dt = sjp p (t) sjm m (t)dt
0 0 p=1 m=1
42 Codes et turbocodes
et nalement :
T
N
s2j (t)dt = s2jp
0 p=1
T T
sj (t) si r(t)sj (t)dt + Cj > r(t)sn (t)dt + Cn
0 0
(2.61)
n = j n = 1, 2, , M
Ej T
o Cj = N0
2 ln(j ) 2 avec Ej = s2j (t)dt.
0
Si tous les signaux sj (t) sont mis avec la mme probabilit (j = 1/M ),
le terme Cj se rduit Ej /2. De plus, si tous les signaux sj (t) ont de plus
la mme nergie Ej = E (cas des modulations par dplacement de la phase
ou de la frquence), alors la rgle de dcision du maximum de vraisemblance a
posteriori se simplie et devient :
T T
sj (t) si r(t)sj (t)dt > r(t)sn (t)dt n = j n = 1, 2, , M (2.62)
0 0
T
r= r(t)(t)dt
0
avec (t) = T2 cos(2f0 t + 0 ).
Pour une transmission ot continu de donnes, lestimation des sym-
boles ai se fait en intgrant le produit r(t)(t) sur chaque intervalle de temps
[iT, (i + 1)T [. Si un ltre adapt est utilis plutt quun intgrateur, lchan-
tillonnage en sortie du ltre est ralis aux instants (i + 1)T .
2. Communications numriques 43
Exemple
Considrons une modulation MDA-4, les trois seuils tant 2A T2 , 0, 2A T2 .
Les dcisions sont les suivantes :
Aj = 3A si r < 2A T2
Aj = A si 2A T2 < r < 0
Aj = A si 0 < r < 2A T2
Aj = 3A si r > 2A T2
La probabilit derreur moyenne sur les symboles, note P es, est gale :
1
M
P es = P e2j1M
M j=1
TYPE 2 : Probabilits que lobservation ne soit pas comprise entre deux seuils
) *
P e2j1M = Pr Aj = (2j 1 M )A | Aj = (2j 1 M )A
)
P e2j1M = 1 Pr (2j 2 M )A T2 < r < (2j M )A T2 |
Aj = (2j 1 M )A}
,
A2 T
P e(2j1M ) = erfc
2N0
+
2
erfc(x) = 1 erf(x) = exp(u2 )du (2.66)
x
2. Communications numriques 45
2 2
En introduisant lnergie moyenne Es = A2T (M 31) reue par groupe de don-
nes, la probabilit derreur moyenne est encore gale :
M 1 3 Es
P es = erfc
M M 2 1 N0
avec :
T T 1
sj1 = A cos j et sj2 = A sin j si f0 >> (2.71)
2 2 T
En tenant compte des expressions de sj1 et de sj2 , la rgle de dcision peut
encore scrire :
j si r1 cos j + r2 sin j > r1 cos n + r2 sin n n = j (2.72)
2. Communications numriques 47
Le rcepteur cohrent pour une modulation MDP-M est reprsent en gure 2.15.
Il est constitu
+ de deux voies dites en phase (projection du signal reu sur
1 (t) = +2/T cos(2f0 t + 0 )) et en quadrature (projection du signal reu sur
2 (t) = 2/T sin(2f0 t + 0 )) et dun circuit de dcision.
j = 0 d i = 1 j = d i = 0
Lobservation r2 nest pas utilise pour le dcodage des donnes di car lespace
engendr par les signaux moduls deux tats de phase est de dimension N = 1.
1 1
P eb = Pr {r1 > 0|j = } + Pr {r1 < 0|j = 0}
2 2
La sortie r1 du dmodulateur est :
+
r1 = Eb + b
11
P eb = 2 N0 exp( N10 (r1 + Eb )2 )dr1
0
0
+ 12 N
1
exp N10 (r1 Eb )2 dr1
0
Pour cette modulation, la phase j prend quatre valeurs /4, 3/4, 5/4, 7/4.
chaque tat de la phase sont associes deux donnes binaires. Pour des tats
de phase quiprobables, la rgle du maximum de vraisemblance a posteriori
conduit aux dcisions suivantes :
j = 4 si r1 > 0; r2 > 0
3
j = 4 si r1 < 0; r2 > 0
5
j = 4 si r1 < 0; r2 < 0
7
j = 4 si r1 > 0; r2 < 0
3 5 7
11 01 00 10
4 4 4 4
2. Communications numriques 49
P es = 1 (1 P eb)2
P es
P eb = (2.83)
log2 (M )
sin = si M 8
M M
52 Codes et turbocodes
la probabilit derreur par donne binaire pour une modulation MDP-M peut
scrire :
,
1 2 Eb Eb
P eb = erfc log2 (M ) 2 si >> 1 (2.84)
log2 (M ) M N0 N0
M
M
sj (t) si rp sjp > rp snp n = j (2.87)
p=1 p=1
Les bruits tant non corrls et donc indpendants puisque gaussiens, nous
avons :
rj M 1
2
1 b
Pr {b1 < rj , , bp < rj , , bM < rj } = exp db
N0 N0
La probabilit de dcision correcte est la mme quel que soit le signal mis. Les
signaux sj (t) tant quiprobables, la probabilit de dcision correcte moyenne
54 Codes et turbocodes
Lvolution de la phase (t) peut tre reprsente par un treillis dont les tats
sont dnis par (aiL+1 , aiL+2 , , ai1 ; iL ) soit :
(M L1 p) tats si m pair
(2.97)
(M L1 2p) tats si m impair
noter que la complexit du treillis augmente trs rapidement avec les para-
mtres M et L. Par exemple, pour une modulation symboles quaternaires
(M = 4) rponse partielle dindice de modulation h = 1/2 et de paramtre
L = 4, le treillis possde 256 tats. Pour la MSK et la GMSK, les symboles ai
(i+1)T
o r(t) = s(t) + b(t) est le signal reu par le rcepteur et b(t) est un BABG, de
moyenne nulle et de densit spectrale de puissance gale N0 /2. La quantit
2. Communications numriques 57
o les signaux rc (t) et rs (t) sont obtenus aprs transposition en bande de base de
r(t)(multiplication de r(t) respectivement par cos(2f0 t + 0 ) et sin(2f0 t +
0 ) puis ltrage passe-bas).
i
l
cos i (t) = cos 2h an q(t nT ) + iL
l l
n=iL+1
(2.99)
i
sin li (t) = sin 2h aln q(t nT ) + iL
l
n=iL+1
En posant :
i
il (t) = 2h aln q(t nT )
n=iL+1
(i+1)T
h(t) = 1 si t [T, T [
= 0 ailleurs
Le rcepteur cohrent pour la MSK est reprsent dans la gure 2.21. Il com-
prend deux ltres adapts h(t) de rponse impulsionnelle h(2T t). Les
symboles c2i1 et c2i sont dcods en comparant des chantillons prlevs en
sortie des ltres adapts respectivement aux instants 2iT et (2i + 1)T .
Il est facile de montrer que les probabilits derreur sur les symboles binaires
c2i1 et c2i sont identiques et gaux :
1 Eb
P eci = erfc (2.103)
2 N0
o Eb est lnergie utilise pour transmettre un symbole ci .
Pour obtenir les donnes binaires ai partir des symboles ci il faut utiliser
en sortie du rcepteur cohrent un dcodeur direntiel rgi par les quations
suivantes :
a2i = c2i c2i1 et a2i1 = c2i1 c2I2
La probabilit derreur P eb sur ai est :
P eb = 1 (1 P eci )2
ainsi pour P eci << 1, la probabilit derreur P eb est bien approche par :
P eb 2P eci (2.104)
MDA-M ci = ai bi = 0
ou de manire quivalente :
o ge (t) = gc (t) + jgs (t) est la rponse quivalente en bande de base du ltre
dmission. La sortie e(t) du ltre dmission est gale :
e(t) = A ci z(t iT ) (2.108)
i
o z(t) = h(t) ge (t) est, dans le cas gnral, une forme donde complexe alors
que h(t) est rel.
o :
x(t) = z(t) gr (t)
b (t) = b(t) gr (t)
En chantillonnant le signal y(t) linstant t0 + nT , on obtient :
y(t0 + nT ) = A ci x(t0 + (n i)T ) + b (t0 + nT ) (2.111)
i
En considrant que dans le cas gnral x(t) = p(t) + jq(t) est une forme donde
complexe, lchantillon y(t0 + nT ) peut encore scrire sous la forme :
y(t0 + nT ) = Acn p(t0 ) + A cni p(t0 + iT )
i=0
(2.112)
+jA cni q(t0 + iT ) + b (t0 + nT )
i
On dit parfois quil existe de la diaphonie entre les deux voies du rcepteur.
Bien entendu lIES est un phnomne qui ne peut que dgrader la qualit
de la transmission. Cest la raison pour laquelle il est important de dnir la
condition satisfaire pour annuler lIES. Mais avant cela, nous allons indiquer
une manire simple de caractriser lIES en traant le diagramme de lil,
appel ainsi par analogie avec la forme de lil humain, en sortie du ltre de
rception des voies en phase et en quadrature du rcepteur.
Le diagramme de lil est la gure obtenue en superposant toutes les traces ou
ralisations du signal yc (t) non bruit o yc (t) est la partie relle de y(t). On
obtient galement le diagramme de lil partir de ys (t) non bruit o ys (t)
est la partie imaginaire de y(t).
yc (t) = A ai p(t iT ) A bi q(t iT )
i i
(2.113)
ys (t) = A bi p(t iT ) + A ai q(t iT )
i i
Figure 2.22 Diagramme de lil dune modulation MDP-2 avec (a) et sans (b) IES.
En tenant compte du fait que la plus grande valeur prise par les symboles ai
et bi est M 1, la condition prcdente devient :
# $
|p(t0 + iT )| + |q(t0 + iT )|
i=0 i
Dmax = ( M 1) 1 (2.117)
|p(t0 )|
La quantit Dmax est appele distorsion maximale. Lorsque la distorsion maxi-
male est suprieure lunit, le diagramme de lil est ferm aux instants de
dcision et des erreurs sont possibles, mme en labsence de bruit.
2. Communications numriques 63
p(t0 + iT ) = 0 i = 0 (2.118)
q(t0 + iT ) = 0 i (2.119)
ce qui peut encore scrire en utilisant le signal complexe x(t) = p(t) + jq(t).
En posant :
X(f )
X t0 (f ) = exp(j2f t0 )
p(t0 )
64 Codes et turbocodes
X t0 (f ) = T |f | W
(2.128)
= 0 ailleurs
soit encore :
X(f ) = T p(t0 ) exp(j2t0 ) |f | W
(2.129)
= 0 ailleurs
Cette solution correspond une rponse x(t) en toute rigueur non causale.
Toutefois, dans la mesure o la fonction sin y/y dcrot assez rapidement
en fonction de son argument y, il est possible, en choisissant t0 susant
grand, de considrer x(t) comme pratiquement causale. Avec cette solu-
tion, le diagramme de lil a une ouverture horizontale qui tend vers zro
et ainsi, toute imprcision sur linstant dchantillonnage peut conduire
des erreurs mme en labsence de bruit. En conclusion, cette solution est
purement thorique et na donc pas dapplication pratique.
3. X t0 (f ) occupe une bande de frquences W > 1/2T . Dans ce cas, il existe
de nombreuses solutions qui permettent de vrier le critre de Nyquist.
Parmi ces solutions, la plus utilise est la fonction en cosinus surlev
dnie par :
2. Communications numriques 65
X t0 (f ) = T si 0 |f | 1
2T
- .
( 2T |f |) |f |
T
2 1 + sin T 1
si 1
2T
1+
2T
(2.131)
0 si |f | > 1+
2T
soit encore :
X(f ) = p(t0 )X t0 (f ) exp(j2f t0 ) (2.132)
dont la rponse temporelle est :
sin (tt
T
0)
cos (tt
T
0)
Figure 2.24 Diagrammes de lil pour des modulations symboles binaires (MDP-2
ou MDP-4) pour direntes valeurs du facteur de retombe (0.2, 0.5, 0.8).
Gr (f ) = Z (f ) exp(j2f t0 ) (2.135)
o dsigne la conjugaison.
Bien entendu la rponse globale de la chane de transmission doit vrier le
critre de Nyquist, ce qui se traduit par :
Nous avons obtenu le module des rponses en frquences des ltres dmission
et de rception. Ces ltres sont donc dnis une phase arbitraire prs. En
rpartissant le retard t0 entre les ltres dmission et de rception, on obtient :
+ +
Gr (f ) = p(t0 ) CS (f ) exp(j2f t1 )
(2.142)
p(t0 ) CS (f )
Ge (f ) = H(f ) exp(j2f (t0 t1 ))
(M 1) A2
e (f ) = 2 p(t0 )CS (f ) (2.144)
3 T
68 Codes et turbocodes
En considrant le signal modul sur frquence porteuse, sa dsp est donne par
lexpression (2.13) :
1 1
(f ) = e (f f0 ) + e (f + f0 )
4 4
En conclusion, la bande de frquences occupe par le signal modul sur fr-
quence porteuse stend de f0 (1 + )/2T f0 + (1 + )/2T , soit une bande
de largeur 2W = (1 + )/T ou encore (1 + )Rm o Rm est la rapidit de mo-
dulation. Lecacit spectrale de la modulation MAQ-M exprime en bit/s/Hz
est alors gale :
D Rm log2 (M ) log2 (M )
= = = (2.145)
2W (1 + )Rm (1 + )
P ean = 1
2 Pr {yc (t0 + nT ) > 0|an = 1}
(2.147)
2 Pr {yc (t0 + nT ) < 0|an = +1}
1
1 Ap(t0 )
P ean = erfc (2.148)
2 bc 2
2. Communications numriques 69
+
+
2
b2c = N0 |Gr (f )| df = N0 p(t0 )CS (f )df = N0 p(t0 ) (2.149)
+
+
+
1 1 1
P = e (f f0 )df + e (f + f0 )df = e (f )df (2.150)
4 4 2
+
A2 A2
P = p(t0 )CS (f )df = p(t0 ) (2.151)
T T
Eb = P Tb (2.153)
M
r(t) = n exp j2(fnd + f )(t n ) (2.155)
n=1
M
r(t) = n exp j2(fnd t (fnd + f )n )) s(t) (2.156)
n=1
M
c(f, t) = n exp j2(f n fnd t + fnd n ) (2.157)
n=1
avec = 2 /1 .
Deux paramtres sont maintenant introduits : la bande de cohrenceBc et
le temps de cohrence tc qui permettent de caractriser le canal de transmission
vis--vis de la slectivit en frquences et de sa vitesse dvolution.
2. Communications numriques 71
Bande de cohrence
Il existe plusieurs dnitions de la bande de cohrence mais la dnition la
plus courante est :
1
Bc (2.159)
Tm
o Tm est lcart type du prol de densit de puissance du canal en fonction
des retards n des dirents trajets.
Deux signaux moduls dont les frquences porteuses sont spares dune
quantit suprieure la bande de cohrence du canal sont attnus par celui-ci
de manire non corrle. Ainsi, un instant donn, si lun des deux signaux
est fortement attnu par le canal, lautre sera, avec une forte probabilit, peu
aect par celui-ci.
Lorsque que la bande B occupe par un signal modul est infrieure la bande
de cohrence, le canal est non slectif en frquences vis--vis de ce signal. Il
prsente une rponse en frquences plate et une phase linaire sur la bande B
occupe par le signal modul. Le signal modul subit juste une attnuation et un
dphasage en traversant le canal. Nous allons illustrer ce point en considrant
la transmission dun signal MAQ-M par un canal non slectif en frquences.
Soit s(t) le signal MAQ-M plac lentre du canal trajets multiples non
slectif en frquences.
" %
s(t) = A ai h(t iT ) cos 2f0 t bi h(t iT ) sin 2f0 t
i i
72 Codes et turbocodes
Pour un canal non slectif en frquences, nous avons B < Bc . En notant que
la bande B est proportionnelle 1/T , cela entrane T > Tm soit encore T >>
n n. Dans lexpression de r(t), nous pouvons donc ngliger n devant T ce
qui donne :
M
r(t) = A n ai h(t T ) cos(2f0 t + n (t))
n=1 i
bi h(t T ) sin(2f0 t + n (t))
i
avec :
n (t) = fnd t (f0 + fnd )n
En posant :
M
M
ac (t) = n cos n (t) et as (t) = n sin n (t)
n=1 n=1
et :
ac (t) as (t)
cos (t) = + et sin (t) = +
a2c (t) + a2s (t) a2c (t) + a2s (t)
le signal r(t) peut encore scrire :
r(t) = A(t) ai h(t iT ) cos(2f0 t + (t))
i (2.160)
bi h(t iT ) sin(2f0 t + (t))
i
+
avec (t) = a2c (t) + a2s (t).
Pour un canal trajets multiples non slectif en frquences, le signal mo-
dul MAQ-M subit uniquement une attnuation (t) et un dphasage (t). En
modlisant les attnuations n , les retards n , et les frquences doppler fnd par
des variables alatoires mutuellement indpendantes alors, pour M susam-
ment grand et pour t donn, ac (t) et as (t) tendent vers des variables alatoires
gaussiennes non corrles (thorme de la limite centrale). Lattnuation (t),
pour t donn, suit une loide Rayleigh et la phase (t) est quirpartie sur
[0, 2[. En posant 2 = E 2 , la densit de probabilit scrit :
2 2
p() = 2 exp 2 0 (2.161)
2. Communications numriques 73
Lattnuation (t) peut prendre des valeurs trs infrieures lunit et, dans
ce cas, le signal non bruit reu par le rcepteur est trs attnu. Son niveau
est alors comparable, voire infrieur, celui du bruit. On dit que le canal de
transmission prsente un vanouissement profond de Rayleigh.
Si la bande B occupe par le signal modul est suprieure la bande de
cohrence, le canal est slectif en frquences. Sa rponse en frquence, sur la
bande B, nest plus plate et certaines composantes spectrales du signal modul
peuvent tre trs attnues. Le canal introduit une distorsion du signal mo-
dul qui se traduit notamment par lapparition du phnomne de lInterfrence
Entre Symboles (IES). En prsence dIES, le signal un instant de dcision est
fonction de ltat du signal modul cet instant mais aussi des tats antrieurs
et postrieurs cet instant. LIES intervient comme un bruit qui sajoute au
bruit additif blanc gaussien et, bien sr, dgrade les performances de la trans-
mission.
Temps de cohrence
Le temps de cohrence tc dun canal vanouissement est dni par :
1
tc (2.162)
Bd
d
o Bd est la bande doppler du canal qui est bien approche par fmax dni
par :
d
fmax = Maxfnd (2.163)
Le temps de cohrence du canal est une mesure de sa vitesse dvolution au
cours du temps. Si tc est trs suprieur la dure T dun tat du signal modul,
le canal est dit vanouissement lent. Pour un canal non slectif en frquences
et vanouissement lent, lattnuation (t) et la phase (t) sont pratiquement
constantes sur la dure T voire sur quelques dures T .
Un canal est non slectif en frquences et vanouissement lent sil vrie
la condition suivante :
TM Bd < 1 (2.164)
,
1 2 Eb
Modulation MDF-2 P eb() = erfc (2.166)
2 2N0
On obtient la probabilit derreur P eb en moyennant P eb() sur les direntes
ralisation de (t).
P eb = P eb()p()d (2.167)
0
Pour Eb /N0 grand, les probabilits derreurs peuvent tre approches par :
1
MDP-2 ou MDP-4 P eb (2.171)
4E/N0
1
MDF-2 P eb (2.172)
2E/N0
Sur un canal vanouissement de Rayleigh, les performances des dirents
rcepteurs sont fortement dgrades par rapport celles obtenues sur canal
gaussien ( Eb /N 0 identique en entre). En eet, sur canal gaussien, les proba-
bilits derreur P eb dcroissent de manire exponentielle en fonction du rapport
signal bruit Eb /N0 alors que sur canal vanouissement de Rayleigh, la d-
croissance de la probabilit P eb est proportionnelle linverse du rapport signal
bruit moyen Eb /N0 .
Pour amliorer les performances sur canal vanouissement de Rayleigh,
on utilise deux techniques, que lon peut ventuellement combiner, la diversit
et bien sr le codage de canal (qui est en fait de la diversit dinformation).
2. Communications numriques 75
L
Zi = rin in
n=1
1 1
P eb = Pr (Zi > 0|i = ) + Pr (Zi < 0|i = 0) (2.174)
2 2
Conditionnellement une ralisation des L attnuations in , la variable de
dcision Zi est gaussienne de moyenne :
L
E {Zi } = Eb (in )2 si i = 0
n=1
(2.175)
L
E {Zi } = Eb (in )2 si i =
n=1
76 Codes et turbocodes
et de variance :
N0 n 2
L
2
Z = ( ) (2.176)
2 n=1 i
1
P eb() = erfc (2.177)
2
avec :
Eb n 2
L
= ( )
N0 n=1 i
1
p() = L1 exp (2.178)
(L 1)!mL m
o m est gal :
Eb n 2
m = E (j )
N0
Aprs intgration, la probabilit derreur par donne binaire est gale :
L L1 n
1 L1+n 1+
P eb = (2.179)
2 n 2
n=0
avec : ,
Eb /LN0 L1+n (L 1 + n)!
= et =
1 + Eb /LN0 n n!(L 1)!
o Eb est lnergie moyenne totale utilise pour transmettre une donne binaire
dinformation (Eb = LEb ).
fort rapport signal bruit, la probabilit derreur P eb est bien approche
par :
L
2L 1 1 Eb
P eb pour >> 1 (2.180)
L 4Eb /LN0 LN0
par :
L
2L 1 1 Eb
P eb pour >> 1 (2.182)
L 2Eb /LN0 LN0
Notons que la diversit telle que prsente ici est une forme de codage qui
utiliserait un code rptition et un dcodage pondr en rception. La gure
( 2.26) fournit les performances des modulations MDP-2 et MDF-2 en prsence
de diversit.
+ N 1
s(t) = A {cn,i h(t iT ) exp(j2fn t)} (2.183)
i= n=0
o cn,i = an,i + jbn,i est un symbole complexe de modulation, h(t) une porte
damplitude unit et de dure T et N est le nombre de porteuse de frquence
fn .
Plaons-nous sur lintervalle de temps [iT, (i + 1)T [, le signal s(t) est gal
:
N 1
s(t) = A {cn,i exp(j2fn t)} t [iT, (i + 1)T [ (2.184)
n=0
N 1 2
sin (f n/T )T
OFDM (f ) (2.186)
n=0
(f n/T )T
2(N 1)
fe (2.187)
T
80 Codes et turbocodes
On peut choisir fe = 2N/T et ainsi le signal s(t) chantillonn aux instants lTe
avec Te = 1/fe est gal :
N 1 / 0
nl
sl = s(lTe ) = A cn,i exp j2 l = 0, 1, , (2N 1) (2.188)
n=0
2N
Sous cette forme, sl nest pas une transforme de Fourier discrte inverse. En
introduisant des symboles virtuels de la manire suivante :
La seconde consquence est que lorthogonalit des porteuses doit tre assure
de faon pouvoir sparer ces porteuses en rception, cest--dire en les espa-
ant dune quantit 1/ts . La bande de frquences occupe par le signal OFDM
avec intervalle de garde est donc de :
N 1
B= (2.193)
ts
soit une expansion de bande par rapport un systme sans intervalle de garde
de 1 + /ts .
En prsence dintervalle de garde on a donc intrt choisir de faon
minimiser les dgradations du rapport signal bruit et de lecacit spectrale,
cest--dire choisir le plus petit possible par rapport la dure ts .
Limites thoriques
Une autre description du mme canal peut tre donne de la manire sui-
vante : soit E une variable alatoire binaire prenant la valeur 1 avec une proba-
bilit p < 1/2 et la valeur 0 avec la probabilit 1p. Lhypothse que p < 1/2 ne
restreint pas la gnralit du modle car lchange des signes arbitraires 0 et 1
conduit remplacer une probabilit derreur initiale p > 1/2 par 1p < 1/2. Le
comportement du canal peut tre dcrit par lexpression algbrique Y = X E,
o X et Y sont les variables binaires respectivement lentre et la sortie du
canal, E une variable binaire derreur, et reprsente laddition modulo 2.
Muni de laddition modulo 2 et de la multiplication ordinaire (avec 0b = 0
et 1 b = b, o b est un symbole binaire quelconque), lensemble binaire
{0, 1} acquiert la structure mathmatique dun corps : chacun de ses lments
a un inverse pour laddition, il existe un lment neutre pour laddition (0),
tout lment non nul (rduit ici au seul lment 1) a un inverse multiplicatif,
puisque 1 est son propre inverse et constitue aussi llment neutre pour la
3. Limites thoriques 85
multiplication. Le corps binaire {0, 1} est le corps qui contient le plus petit
nombre possible dlments.
y =xe (3.1)
Dans cette expression, les sommes sont tendues toutes les valeurs discrtes
que peuvent prendre X et Y dans un alphabet donn. Pr(X, Y ) dsigne la
probabilit conjointe de X et de Y , Pr(X|Y ) la probabilit de X condition-
nellement Y (cest--dire quand Y est donne), Pr(X) et Pr(Y ) sont les
probabilits marginales de X et Y (cest--dire de chacune des variables X
et Y quelle
que soit la valeur prise par lautre : Pr(X) = Y Pr(X, Y ) et
Pr(Y ) = X Pr(X, Y )). Ces direntes probabilits sont relies selon la rgle
de Bayes :
Pr(X, Y ) = Pr(X |Y ) Pr(Y ) = Pr(Y |X ) Pr(X) (3.5)
La premire galit dans (3.4) dnit I(X; Y ) comme laccroissement logarith-
mique de la probabilit de X qui rsulte en moyenne de la donne Y , cest--dire
la quantit dinformation moyenne que la connaissance de Y apporte celle de
X. La deuxime galit dans (3.4), dduite de la premire en utilisant (3.5),
montre que cette grandeur est symtrique en X et en Y . La quantit dinfor-
mation que la donne de Y apporte sur X est donc gale celle que X apporte
sur Y , ce qui justie le nom dinformation mutuelle.
Linformation mutuelle ne sut pas caractriser le canal, car elle dpend
aussi de lentropie de la source, cest--dire de la quantit dinformation quelle
produit en moyenne par symbole mis plus prcisment le nombre moyen de
bits ncessaires pour reprsenter chaque symbole est donn par :
H(X) = Pr (X) log2 (Pr (X))
X
Cette capacit est maximale pour p = 0 (elle vaut alors 1 Sh, comme lentropie
de la source : le canal est alors transparent ) et nulle pour p = 1/2, comme
on pouvait sy attendre puisqualors lincertitude est totale.
souple. Par exemple, transmettre deux fois le mme symbole en allouant cha-
cun deux la moiti de lnergie disponible et reconstituer le symbole mis par
addition ne fournit pas de meilleur rsultat que transmettre un seul symbole
avec toute lnergie disponible. Le vote majoritaire, quant lui, ne peut senvi-
sager qu partir dune mission triple et dans tous les cas, sur canal gaussien,
ce procd dgrade le bilan de liaison par rapport la solution non code. Il
faut cependant noter que la rptition de messages est une technique largement
rpandue, non pas en tant que procd de codage correcteur, mais en tant que
technique de rcupration de paquets de messages errons ou perdus durant la
transmission. Cette technique dite ARQ (Automatic Repeat reQuest)ne peut
pas tre mise en uvre dans tous les systmes, notamment les liaisons point
multipoint (e.g. diusion de tlvision).
Les codes ne sont idalement ecaces que si leurs mots sont longs, en ce sens
que la probabilit derreur ne peut tre rendue arbitrairement petite que si la
longueur de ces mots tend vers linni. Par ailleurs, un bon code doit conserver
un taux dmission ou rendement R = k/n non nul quand le nombre k des bits
dinformation tend vers linni. Quune communication sans erreurs soit eec-
tivement possible asymptotiquement pour un taux dmission non nul est un
rsultat majeur de la thorie de linformation, appel thorme fondamental du
codage de canal, qui a prcd les tentatives de construire des codes pratiques,
donc de longueur nie. Ce thorme a constitu une puissante incitation la
recherche de nouveaux codes, toujours plus ecaces les uns que les autres. Il
posait de plus un d aux ingnieurs dans la mesure o la preuve du thorme
reposait sur le codage alatoire, dont le dcodage est bien trop complexe pour
tre envisag en pratique.
log2 (Mmax )
C = lim
n n
mesure en shannons la plus grande quantit dinformation par symbole qui peut
tre communique sans erreur travers le canal, et elle se trouve concider avec
la capacit du canal dnie dans la section 3.1. Aucune procdure explicite
permettant de dterminer Mmax points dans Hn en maintenant la distance
entre ces points suprieure 2np nest en gnral connue, sinon dans quelque
cas simples et peu utiles.
le code tant tirs de la mme faon indpendamment les uns des autres. La
probabilit dun mot particulier c est Pc = 2n . On obtient ainsi des mots
dont les poids suivent une distribution de Bernoulli et la probabilit dobtenir
un mot quelconque de poids w est donne par (3.3) pour p = 1/2, soit :
n
Pw = 2n (3.7)
w
k
1 H2 (d/n) (3.9)
n
Cest la forme asymptotique de la borne de Gilbert-Varshamov qui relie la dis-
tance minimale d du code ayant la plus grande distance minimale possible ses
paramtres k et n. Cest une borne infrieure mais, sous sa forme asymptotique,
elle est trs proche de lgalit. Un code dont la distance minimale vrie cette
borne avec galit est considr comme bon pour le critre de distance mini-
male. Cela montre quun code construit avec une distribution de poids voisine
de celle du codage alatoire est aussi bon pour ce critre.
1 1
pa = = (3.11)
exp ((1)x a) + 1 exp (|a|) + 1
des probabilits de x et de y :
+
+
p (y |x )
I (X; Y) = p (x) p (y |x ) log2 dxdy (3.13)
p (y)
1 23 4
2N fois
Pour dterminer C, il faut donc maximiser (3.13) dont lcriture est valide pour
tous types dentres (continues, discrtes) de dimension N quelconque. Dautre
part, le maximum est atteint pour des entres quiprobables (voir section 3.1),
pour lesquelles on a :
1
M
p (y) = p (y |xi )
M i=1
M +
+ # M $
1 j=1 p (y |xj )
C = log2 (M ) p (y |xi ) log2 dy (3.14)
M i=1 p (y |xi )
1 23 4
N fois
5
N
p(x) = p(xn )
n=1
Cette formule est modie pour faire apparatre lnergie moyenne Eb de chacun
des bits formant le symbole x et par voie de consquence le rapport signal
Eb
bruit N :
0
Eb
Cc = log2 1 + R (3.15)
N0
la capacit tant exprime en bit/seconde/Hz. En prenant R = 1, cette criture
permet de borner le rapport Eb /N0 par la limite de Shannon normalise, de la
manire reprsente en gure 3.2.
capacit dun canal gaussien entre discrte, pour tout type de modulation :
C = log2 (M )
" %
M
+ +
M
1
( )N
2 2
M exp |t| log2 exp 2tdij |dij | dt
i=1 j=1
1 23 4
N fois
(3.16)
C tant exprime en bit/symbole. On remarque que dij augmente quand le
rapport signal bruit augmente (N0 diminue) et la capacit tend vers log2 (M ).
Les direntes modulations possibles napparaissent que dans lexpression de
dij . Les sommes discrtes de 1 M reprsentent les entres discrtes possibles.
Pour le calcul nal, on exprime dij en fonction de Eb /N0 selon la modulation
et la capacit du canal peut tre dtermine de faon numrique. La gure 3.3
donne le rsultat du calcul pour quelques modulations MDP et MAQ.
+
p(y |xi ) = p()p(y |xi , )d
+ - . 2
= 1
2 2
2 exp 2 exp |yx
2 2
i|
d
0
M +
1 p (y |xi , )
C = p (y |xi , ) log2 dy
M i=1 p (y | )
+
C= C p () d = E [C ]
0
borne suprieure de Gallager sur le TEP dun canal entre binaire est alors :
+ # # + $$1+ k
E
exp y 2 y 4RE /N
k Nb b 0
e 0 min01 2R+1 cosh dy (3.18)
1+
0
Figure 3.4 Assimilation dune pyramide un cne dans lapproche dite sphere-
packing de Shannon.
Il peut tre montr que la probabilit que le signal reste dans le cne est
suprieure la probabilit quil reste dans la pyramide de mme angle solide. En
consquence, la probabilit derreur peut tre borne de la manire suivante :
k
1
2
Pr (e) k Q (i ) (3.19)
2 i=1
Ces expressions relient sous la forme dune borne infrieure du TEP, la taille k
des paquets, le rapport signal bruit Eb /N0 et le rendement du code R. Pour
100 Codes et turbocodes
Figure 3.5 Pnalits en Eb/N 0 pour la transmission de paquets de taille nie pour
le canal entre continue et le canal entre binaire en fonction de la taille k (bits
dinformation), pour un code de rendement 5/6 et dirents TEP.
3. Limites thoriques 101
Figure 3.6 Distances minimales requises pour une modulation MDP-4 et un ca-
nal gaussien en fonction de la taille des paquets, pour quelques rendements et taux
derreurs de paquets (TEP).
Les trois hypothses, prises sparment, sont plus ou moins ralistes. Les hy-
pothses 1 et 3 sont quelque peu pessimistes sur la quantit de mots de code
la distance minimale. Lhypothse 2 est quant elle lgrement optimiste. Les
3. Limites thoriques 103
Cette relation permet donc dtablir une relation entre le rapport signal
bruit, la taille des blocs dinformation et le TEP. De la mme faon quen
section 3.4, nous pouvons combiner ce rsultat avec les limites sur le rapport
signal bruit pour obtenir les DMH cibles pour une modulation MDP-8 code
selon lapproche pragmatique. La gure 3.9 prsente quelques rsultats obtenus
partir de cette mthode.
3. Limites thoriques 105
Figure 3.9 Distances minimales requises pour une modulation MDP-8 et un ca-
nal gaussien en fonction de la taille des paquets, pour quelques rendements et taux
derreurs de paquets (TEP).
La mme mthode que prcdemment, base sur les mmes quatre hypo-
thses, peut tre applique au cas de la modulation MAQ-16 avec codage prag-
matique. La constellation est une constellation de Gray classique 16 tats.
Pour
+75% des bits constituant les symboles, la distance+ euclidienne minimale
est 2Es /5 et pour les 25% restants, cette distance est 3 2Es /5. Lestimation
106 Codes et turbocodes
du TEP donne :
dmin dmin j
3 dmin 1 1 Es
TEP k erfc (8j + dmin ) (3.25)
4 j=0
j 3 2 10N0
Comme pour les modulations MDP-4 et MDP-8, cette relation utilise conjoin-
tement avec les limites en rapport signal bruit permet dobtenir des valeurs
de DMH cibles pour la modulation MAQ-16 (gure 3.10).
Figure 3.10 Distances minimales requises pour une modulation MAQ-16 et un ca-
nal gaussien en fonction de la taille des paquets, pour quelques rendements et taux
derreurs de paquets (TEP).
Quelques observations peuvent tre faites partir des rsultats obtenus dans
la section 3.4. Par exemple, dans le cas particulier dune modulation MDP-4,
3. Limites thoriques 107
3.5 Bibliographie
[3.1] C.E. Shannon, A Mathematical Theory of Communication , Bell
Systems Technical Journal, vol. 27, July and Oct. 1948.
[3.2] R.E. Gallager, Information Theory and Reliable Communications, John
Wiley & Sons, 1968.
[3.3] C.E. Shannon, Probability of Error for Optimal Codes in a Gaussian
Chanel , Bell Systems Technical Journal, vol. 38, 1959.
[3.4] C. Berrou, E. Maury et H. Gonzalez, Which Minimum Hamming
Distance Do We Really Need ? , Proc. 3rd international symposium on turbo
codes & related topics, pp. 141-148, Brest, Sept. 2003.
Chapitre 4
Codes en bloc
Un code en blocs de paramtres (n, k), que nous noterons C(n, k), est li-
naire si les mots de code constituent un sous-espace vectoriel de Fnq , cest--dire
si g est une application linaire. Une consquence directe de la linarit est que
la somme de deux mots de code est un mot de code, et que le mot nul constitu
de n symboles zro est toujours un mot de code.
Nous allons maintenant considrer les codes en blocs linaires symboles
binaires. Les codes en blocs linaires symboles non binaires seront traits
ensuite.
k1
d= dj ej (4.1)
j=0
Exemple 4.1
Considrons un code en blocs linaire de parit C(n, k) avec k = 2 et n =
k + 1 = 3 (pour un code de parit la somme des symboles dun mot de code est
gale zro). Nous avons quatre mots de code :
Nous venons de voir, sur cet exemple, que la matrice gnratrice dun code en
blocs nest pas unique. En permutant les lignes ou les colonnes dune matrice
gnratrice ou encore en ajoutant une ligne une ou plusieurs autres lignes,
ce qui revient considrer une nouvelle base dans Fn2 , il est toujours possible
dcrire une matrice gnratrice dun code en blocs sous la forme suivante :
1 0 0 p0,1 p0,l p0,nk
0 1 0 p1,1 p1,l p1,nk
G = Ik P = . . .. .. .. .. (4.6)
.. .. . . . .
0 0 ... 1 pk1,1 ... pk1,l ... pk1,nk
ciq = dq , q = 0, 1, , k 1.
4. Codes en bloc 113
n1
xy x, y = xj yj = 0
j=0
chaque code en blocs linaire C(n, k), on peut associer un code en blocs
linaire dual, qui vrie que tout mot du code dual est orthogonal tout mot
du code C(n, k). Le dual du code C(n, k) est donc un sous-espace vectoriel de
Fn2 constitu de 2nk mots de code de n symboles. Ce sous-espace vectoriel est
lorthogonal du sous-espace vectoriel constitu des 2k mots du code C(n, k).
Il en rsulte que tout mot c du code C(n, k) est orthogonal aux lignes de la
matrice gnratrice H de son code dual.
cHT = 0 (4.8)
o T dsigne la transposition.
Un vecteur y appartenant Fn2 est donc un mot du code C(n, k) si, et
seulement si, il est orthogonal aux mots de son code dual cest--dire si :
yHT = 0
Le dcodeur dun code C(n, k) peut utiliser cette proprit pour vrier que
le mot reu est un mot de code et dtecter ainsi la prsence derreurs. Cest
pourquoi la matrice H est appele la matrice de contrle de parit du code
C(n, k).
Il est facile de voir que les matrices G et H sont orthogonales (GHT = 0).
Ainsi, lorsque le code est systmatique et que sa matrice gnratrice est de la
forme G = [Ik P], nous avons :
Exemple 4.2
Soit deux mots u = [1101001] et v = [0101101]. La distance de Hamming
entre u et v est de 2. Leur somme u + v = [1000100] a pour poids de Hamming
2.
La distance minimale dmin dun code en blocs est gale la plus petite
distance de Hamming entre ses mots de code.
En tenant compte du fait que la distance entre deux mots de code est gale au
poids de leur somme, la distance minimale dun code en blocs est aussi gale
au poids minimal de ses mots de code non nuls.
dmin n k + 1 (4.12)
Une autre borne de la distance minimale, appele borne de Plotkin, peut tre
obtenue en remarquant que la distance minimale est ncessairement infrieure
au poids moyen des mots de code non nuls. Si on considre lensemble des mots
de code, il est facile de voir quil y a autant de symboles 0 que de symboles
1. Ainsi la somme des poids de tous les mots de code est gale n2k1 . Le
nombre de mots de code non nuls tant de 2k 1, la distance minimale peut
tre borne par :
n2k1
dmin k (4.13)
2 1
4. Codes en bloc 115
Figure 4.1 Code produit ralis partir de la concatnation srie de deux codes en
blocs systmatiques.
k1
c= d0 d1 dk2 dk1 cn1 avec cn1 = dj
j=0
o d = d0 d1 dk1 reprsente les symboles de donnes. La distance
minimale de ce code est de 2.
Exemple 4.3
Une matrice gnratrice G de ce code pour n = 5, k = 4 est gale :
1 0 0 0 1
0 1 0 0 1
G= 0
= I4 P
0 1 0 1
0 0 0 1 1
4. Codes en bloc 117
Code rptition
Pour ce code de paramtres k = 1 et n = 2m + 1, chaque donne binaire
issue de la source dinformation est rpte un nombre impair de fois. La dis-
tance minimale de ce code est 2m + 1. Le code rptition C(2m + 1, 1) est le
code dual du code de parit C(2m + 1, 2m).
Exemple 4.4
La matrice gnratrice et la matrice de contrle de parit de ce code, pour
k = 1, n = 5, peuvent tre les suivantes :
G= 1 1 1 1 1 = I1 P
1 1 0 0 0
1 0 1 0 0
H= = PT I4
1 0 0 1 0
1 0 0 0 1
Code de Hamming
Pour un code de Hamming les colonnes de la matrice de contrle de pa-
rit sont les reprsentations binaires des nombres de 1 n. Chaque colonne
tant constitue de m = (n k) symboles binaires, les paramtres du code de
Hamming sont donc :
n = 2m 1 k = 2m m 1
Les colonnes de la matrice de contrle de parit tant constitues par toutes les
combinaisons possibles de (n k) symboles binaires sauf (00 0), la somme
de deux colonnes est gale une colonne. Le nombre minimal de colonnes li-
nairement dpendantes est de 3. La distance minimale dun code de Hamming
est donc gale 3, quelle que soit la valeur des paramtres n et k.
Exemple 4.5
Soit un code de Hamming de paramtre m = 3. Les mots de code et les blocs
de donnes sont alors respectivement constitus de n = 7 et k = 4 symboles
binaires. La matrice de contrle de parit peut tre la suivante :
1 1 1 0 1 0 0
H = 1 1 0 1 0 1 0 = PT I 3
1 0 1 1 0 0 1
118 Codes et turbocodes
Code de Hadamard
Les mots de code dun code de Hadamard sont constitus par les lignes
dune matrice de Hadamard et de sa matrice complmentaire. Une matrice de
Hadamard comprend n lignes et n colonnes (n entier pair) dont les lments
sont des 1 et des 0. Chaque ligne dire des autres lignes sur n/2 positions. La
premire ligne de la matrice est constitue uniquement de 0, les autres lignes
possdant n/2 0 et n/2 1.
Pour n = 2, la matrice de Hadamard est de la forme :
0 0
M2 =
0 1
Exemple 4.6
Si n = 4 M4 et M4 sont de la forme :
0 0 0 0 1 1 1 1
0 1 0 1 1 0 1 0
M4 =
0 0
M4 =
1 1 1 1 0 0
0 1 1 0 1 0 0 1
4. Codes en bloc 119
Codes de Reed-Muller
On peut montrer que le code RMmr1,m est le code dual du code RMr,m
cest--dire que la matrice gnratrice du code RMmr1,m est la matrice de
contrle de parit du code RMr,m . Pour certaines valeurs de r et de m, la
matrice gnratrice du code RMr,m est aussi sa matrice de contrle de parit.
On dit alors que le code RMr,m est self dual. Le code RM1,3 , par exemple, est
un code self dual.
o cj (x) est aussi un mot de code obtenu par j permutations circulaires droite
des symboles de c(x) .
Les mots de code dun code cyclique sont des multiples dun polynme g(x)
normalis de degr (n k) appel polynme gnrateur.
g(x) = g0 + g1 x + + gj xj + + xnk
g(x)h(x) = xn + 1 (4.15)
Nous allons maintenant montrer que les mots de code vriant la relation (4.16)
satisfont aux proprits des codes cycliques. Pour cela rcrivons la relation
(4.14) sous la forme :
xj g(x) j = k 1, k 2, . . . , 1, 0.
Soit d(x) la reprsentation polynomiale dun bloc de donnes quelconque. Les
k mots de code engendrs par les polynmes xj g(x) ont pour expression :
cj (x) = xj g(x)d(x) j = k 1, k 2, , 1, 0
et les k lignes de la matrice G ont pour lments les coecients binaires des
monmes de cj (x).
Exemple 4.7
Soit le code C(7, 4) de polynme gnrateur g(x) = 1 + x2 + x3 . Prenons
pour bloc de donnes d(x) = 1. Les 4 lignes de la matrice gnratrice G sont
obtenues partir des 4 mots de code cj (x).
c3 (x) = x3 + x5 + x6
c2 (x) = x2 + x4 + x5
c1 (x) = x + x3 + x4
c0 (x) = 1 + x2 + x3
Une matrice gnratrice du code C(7, 4) est gale :
0 0 0 1 0 1 1
0 0 1 0 1 1 0
G= 0
1 0 1 1 0 0
1 0 1 1 0 0 0
4. Codes en bloc 123
Exemple 4.8
Pour illustrer le calcul dun mot de code crit sous forme systmatique,
prenons lexemple dun code C(7,4) de polynme gnrateur g(x) = 1 + x + x3
et dterminons le mot de code c(x) associ au message d(x) = 1 + x2 + x3 , soit :
c(x) = 1 + x3 + x5 + x6
n = 2m 1; k 2m 1 mt; dmin 2t + 1
Exemple 4.9
Dterminons le polynme gnrateur dun code BCH ayant pour para-
mtres m = 4 et n = 15, t = 2 et l = 1. Pour cela, nous allons utiliser
un corps de Galois q = 24 lments construit partir dun polynme
primitif de degr m = 4(4 + + 1). Les lments de ce corps sont donns
dans lannexe 2.
Nous devons dabord dterminer les polynmes minimaux m (x) et m3 (x)
associs respectivement aux lments et 3 du corps F16 .
Nous avons vu dans lannexe 2 que si est racine du polynme m (x)
alors 2 , 4 , 8 sont aussi des racines de ce polynme (llvation de
aux puissances 16, 32 etc. . . redonne, modulo 4 + + 1, les lments
, 2 , 4 , 8 ). Nous pouvons donc crire :
m (x) = x4 + x + 1
m3 (x) = x4 + x3 + x2 + x + 1
En dveloppant, on obtient :
g(x) = x8 + x7 + x6 + x4 + 1
m = 4; n = 15; n k = 8; k = 7; t = 2
Les valeurs numriques des paramtres (n, k, t) des principaux codes BCH
ainsi que les polynmes gnrateurs associs ont t tabuls et peuvent
tre trouvs dans [4.1]. titre dexemple, nous donnons dans la table 4.2
les paramtres et les polynmes gnrateurs, exprims en octal, de quelques
codes BCH de pouvoir de correction t = 1 (codes de Hamming).
n k t g(x)
7 4 1 13
15 11 1 23
31 26 1 45
63 57 1 103
127 120 1 211
255 247 1 435
511 502 1 1021
1023 1013 1 2011
2047 2036 1 4005
4095 4083 1 10123
1. Code de parit
Considrons un code BCH avec l = 0 et t = 0. Son polynme gn-
rateur, g(x) = (x + 1) possde une racine unique 0 = 1. Ce code
utilise un seul symbole de redondance et les mots c(x) de ce code
vrient la condition :
c(0 ) = c(1) = 0
n = 2m 1; (n k) = m + 1; k = 2m m 2
Les codes CRC les plus utiliss ont pour paramtres m = 12, 16,
32 et leurs polynmes gnrateurs sont donns, en octal, dans la
table 4.3.
Note : g(x) = 14017 en octal correspond 1 100 000 001 111 en
binaire soit :
Code m g(x)
CRC-12 12 14017
CRC-16 16 300005
CRC-CCITT 16 210041
CRC-32 32 40460216667
Exemple 4.10
Soit un corps de Galois Fq avec m = 6 et q = 64. La quantit 2m 1 =
63 nest pas gale un nombre premier, elle est divisible par 3, 7, 9, 21 et
63. Les lments non primitifs de ce corps sont donc 3 , 7 , 9 , 21 , 63 =
1. Construisons par exemple un code BCH non primitif ayant un pouvoir de
correction au moins gal t = 2 sur le corps F64 et prenons pour lment
non primitif = 3 . Nous avons deux polynmes minimaux calculer m (x)
et m 3 (x). En tenant compte du fait que 21 = 63 = 1, les racines de ces
polynmes sont :
m (x) : racines , 2 , 4 , 8 , 16 , 32 = 11
m 3 (x) : racines 3 , 6 , 12
Le polynme gnrateur de ce code est gal :
g(x) = m (x)m 3 (x)
ce qui aprs dveloppement et simplication donne :
g(x) = x9 + x8 + x7 + x5 + x4 + x + 1
Les paramtres de ce code BCH non primitif sont :
n = 21; (n k) = 9; k = 12
130 Codes et turbocodes
Code de Golay
Parmi les codes BCH non primitifs, le plus connu est certainement le code
de Golay construit sur un corps de Galois Fq avec m = 11, q = 2048. En
remarquant que 2m 1 = 2047 = 23 89, llment non primitif utilis
pour construire un code de Golay est = 89 . Le calcul du polynme
gnrateur de ce code construit sur le corps F2048 conduit lexpression
suivante :
g(x) = x11 + x9 + x7 + x6 + x5 + x + 1
On peut montrer que la distance minimale dmin dun code de Golay est
de 7 et ainsi, son pouvoir de correction est de 3 erreurs dans un bloc de 23
symboles binaires ( 23 = 2047 = 1). Les paramtres dun code de Golay
sont donc :
n = 23; (n k) = 11; k = 12; t = 3
Notons que le polynme rciproque de g(x), gal g(x) = x11 g(x1 )
permet galement dengendrer un code de Golay.
n = q 1; n k = dmin 1 = 2t; k = n 2t
Exemple 4.11
Dterminons le polynme gnrateur dun code de Reed-Solomon construit
partir dun corps de Galois 16 lments ayant un pouvoir de correction
de t = 2 erreurs. La distance minimale de ce code est donc de dmin = 5. En
prenant par exemple l = 1, le polynme gnrateur de ce code est donc de la
forme :
g(x) = (x + )(x + 2 )(x + 3 )(x + 4 )
En dveloppant lexpression prcdente, on obtient :
En utilisant les reprsentations binaires des lments du corps F16 (annexe 2),
le polynme g(x) aprs dveloppement et simplication est gal :
g(x) = x4 + 3 x3 + 6 x2 + 3 x + 10
o e est un mot dont les symboles non nuls reprsentent les erreurs. Un symbole
non nul de e indique la prsence dune erreur sur la position correspondante de
c.
La dtection des erreurs se fait en utilisant la proprit dorthogonalit de la
matrice de contrle de parit avec les mots de code et en calculant la quantit
s appele syndrome derreur.
Le syndrome s est nul si, et seulement si, r est un mot de code. Un syndrome
non nul implique la prsence derreurs. Notons toutefois quun syndrome nul
ne signie pas ncessairement labsence derreurs car le mot r peut appartenir
aux mots du code tout en tant dirent de c. Il sut pour cela que le mot
e soit un mot de code. En eet, pour un code en blocs linaire, la somme de
deux mots de code est encore un mot de code.
Retenons nalement que pour tout code en blocs linaire, il existe des con-
gurations derreurs non dtectables.
4. Codes en bloc 133
Pouvoir de dtection
Soit cj le mot de code mis et cl son plus proche voisin, nous avons lingalit
suivante :
dH (cj , cl ) dmin
En introduisant le mot reu r, nous pouvons crire :
n
Aj = 2k 1
j=dmin
Dcodage ferme
Dcodage maximum de vraisemblance a posteriori
Pour le dcodage ferme le mot reu r est de la forme :
r=c+e
o c et e sont des mots symboles binaires.
Le dcodage selon le maximum de vraisemblance a posteriori consiste
rechercher le mot de code c tel que :
Pr {c/r} > Pr {ci /r} ci = c C(n, k)
o Pr dsigne la probabilit davoir . En utilisant la rgle de Bayes et en
supposant que tous les mots de code sont quiprobables, la rgle de dcision
prcdente peut encore scrire :
c = ci Pr (r |c = ci ) > Pr (r |c = cj ) , cj = ci C (n, k)
En reprenant lexemple dun canal binaire symtrique de probabilit derreur p
et en notant dH (r, c) la distance de Hamming entre r et c, la rgle de dcision
est :
ndH (ci ,r) ndH (cj ,r)
c = ci pdH (ci ,r) (1 p) > pdH (cj ,r) (1 p) , cj = ci
En prenant le logarithme des deux membres de lingalit prcdente et en
considrant p < 0.5, la rgle de dcision du maximum de vraisemblance a
posteriori peut nalement scrire :
c = ci dH (r, ci ) dH (r, cj ), cj = ci C(n, k)
4. Codes en bloc 135
Supposons que le mot de code mis soit c = [0101101] et que le mot reu
r = [0111101] soit entach dune erreur en position 3 . Le syndrome est alors
gal s = [101] et, daprs la table, e = [0010000]. Le mot de code dcod est
c = r + e = [0101101] et lerreur est corrige.
Si le nombre de congurations du syndrome est encore trop lev pour
appliquer cette procdure de dcodage, on utilise des algorithmes de dcodage
spciques certaines classes de codes mais qui, malheureusement, nexploitent
pas toujours toute la puissance de correction du code. Ces algorithmes sont pr-
sents dans un paragraphe ultrieur.
Pouvoir de correction
Soit cj le mot de code mis et cl son plus proche voisin, nous avons lingalit
suivante :
dH (cj , cl ) dmin
En introduisant le mot reu r et en supposant que la distance minimale
dmin soit gale 2t + 1 (t entier), nous pouvons crire :
2t + 1 dH (cj , cl ) dH (cj , r) + dH (cl , r)
Nous voyons que si le nombre derreurs est infrieur ou gal t, cj est le
mot de code le plus vraisemblable car plus voisin de r que de cl et ainsi les
t erreurs pourront tre corriges. Si maintenant la distance minimale est de
(2t + 2), en utilisant le mme raisonnement, on aboutit au mme pouvoir de
correction. En conclusion, le pouvoir de correction dun code en blocs linaire
de distance minimale dmin avec dcodage ferme est gale :
dmin 1
t= (4.23)
2
o x est la partie entire de x par valeur infrieure (par exemple 2.5 = 2).
On peut galement dterminer la probabilit derreur binaire Pe,bit sur les don-
nes dinformation aprs dcodage. En prsence de dcodage erron, le dcodeur
maximum de vraisemblance a posteriori rajoute au plus t erreurs en choisis-
sant le mot de code la distance minimale du mot reu. La probabilit derreur
est donc borne par :
1
n
n
Pe,bit < (j + t) pj (1 p)nj (4.25)
n j
j=t+1
4. Codes en bloc 137
Dcodage pondr
En considrant un canal bruit additif blanc gaussien et une transmission en
modulation de phase symboles binaires (MDP-2 ou MDP-4), les composantes
rj , j = 0, 1, , n 1 du mot reu r sont de la forme :
+
rj = Es cj + bj , cj = 2cj 1
n1
n1
c = c rj cj > rj c j , c = c C(n, k)
j=0 j=0
Le mot de code dcod est celui qui maximise le produit scalaire r, c. On
pourrait aussi montrer que le motB de code
B2dcod est celui qui minimise le
B
carr de la distance euclidienne r Es cB .
Cette procdure de dcodage est applicable dans la mesure o le nombre de
mots de code nest pas trop lev. En prsence dun grand nombre de mots de
code on peut utiliser un algorithme d Chase dont le principe est dappliquer
la procdure prcdente de dcodage en restreignant lespace de recherche un
sous-ensemble de mots de code.
Algorithme de Chase
Lalgorithme de Chase est une procdure de dcodage sous-optimale qui uti-
lise le critre du maximum de vraisemblance a posteriori mais en considrant un
sous-ensemble trs rduit des mots de code. Pour dterminer ce sous-ensemble
des mots de code, lalgorithme de Chase procde de la manire suivante.
tape 1 : Le mot reu r, constitu de symboles analogiques, est transform
en un mot symboles binaires z0 = (z00 z0j z0n1 ) par seuillage.
z0j = sgn(rj )
4. Codes en bloc 139
zi = z0 + ei
Exemple 4.13
Soit un code C(n, k) de pouvoir de correction t = 3. Le sous ensemble des
mots de code est constitu de 8 mots de code dont 7 sont labors partir des
mots ei . Les mots ei sont des mots de longueur n dont les composantes sont
nulles sauf ventuellement aux places j1 , j2 et j3 (voir tableau ci-dessous).
Le code tant linaire, on peut, sans nuire la gnralit, supposer que le mot
de code mis est le mot nul soit c0,j = 0 pour j = 0, 1, , n 1.
La probabilit de dcodage erron Pe,mot dun mot de code est alors gale
:
n1
n1
Pe,mot = Pr rj c1,j > 0 ou . . . rj cl,j > 0 ou . . .
j=0 j=0
(n + 1)Aw1 = wAwtendu
wAw = (n + 1 w)Aw1
o n est la longueur des mots du code non tendu.
Pour le code de Hamming (7,4), par exemple, les quantits Aw sont :
8A3 = 4Atendu
4 A3 = 7
4A4 = 4A3 A4 = 7
8A7 = 8Atendu
8 A7 = 1
Pour les codes de Golay et Golay tendu, les quantits Aw sont donnes dans
la table 4.6.
Poids Aw (23,12) Aw (24,12)
0 1 1
7 253 0
8 506 759
11 1288 0
12 1288 2576
15 506 0
16 253 759
23 1 0
24 0 1
fort rapport signal bruit, la probabilit derreur Pe,mot est bien appro-
che par le premier terme de la srie :
1 Rdmin Eb Eb
Pe,mot = Admin erfc si >> 1 (4.30)
2 N0 N0
Il en va de mme pour la probabilit derreur Pe,bit sur les symboles din-
formation.
dmin Eb
Pe,bit
= Pe,mot si >> 1 (4.31)
n N0
En labsence de codage, la probabilit derreur sur les symboles binaires est
gale :
1 Eb
p = erfc
2 N0
142 Codes et turbocodes
Ga = 10 log(Rdmin )(dB)
c(i ) = 0; i = 1, 2, , 2t
Le dcodage des codes RS et des codes BCH binaires peut tre ralis partir
dun vecteur 2t composantes S = [S1 Sj S2t ], appel syndrome.
t
d (Zl ) = Zlt + j Zltj = 0, l = 1, 2, , t (4.34)
j=1
t
el Zlt+q + j el Zlt+qj = 0, l = 1, 2, , t (4.35)
j=1
4. Codes en bloc 145
1 S2 + 2 S1 = S3
1 S3 + 2 S2 = S4
2 = S22 + S1 S3
Enn, pour un code RS corrigeant trois erreurs (t = 3), la relation (4.36) avec
t = 3 et q = 1, 2, 3 conduit au systme de trois quations suivant :
1 S3 + 2 S2 + 3 S1 = S4
1 S4 + 2 S3 + 3 S2 = S5
1 S5 + 2 S4 + 3 S3 = S6
Exemple 4.14
Pour illustrer le dcodage dun code RS suivant la mthode directe, nous
allons maintenant traiter un exemple en considrant un code RS corrigeant
jusqu trois erreurs (t = 3) et ayant les paramtres suivants :
m = 4 q = 16 n = 15 n k = 6
Supposons par exemple que le mot du code mis soit c(x) = 0 et que le mot
reu soit entach de deux erreurs.
r(x) = 7 x3 + 3 x6
1. Calcul des composantes du syndrome
S1 = 10 + 9 = 13 S4 = 19 + 27 = 6
S2 = 13 + 15 = 6 S5 = 22 + 33 = 4
S3 = 16 + 21 = 11 S6 = 25 + 39 = 13
4. Codes en bloc 147
3 = 0 2 = 8
d (x) = x2 + 2 x + 9
c(x) = (7 x3 + 3 x6 ) + (7 x3 + 3 x6 ) = 0
Le mot de code mis est le mot nul, les deux erreurs sont donc bien
corriges.
1 = S1
S12 S3 +S5
2 = S 3 +S3 (4.40)
1
S 2 S3 +S5
3 = (S13 + S3 ) + S1 S1 3 +S 3
1
148 Codes et turbocodes
1 = S1
S3 +S13 (4.41)
2 = S1
Exemple 4.15
Considrons un code BCH corrigeant deux erreurs (t = 2) dans un bloc de
n = 15 symboles de polynme gnrateur gal :
g(x) = x8 + x7 + x6 + x4 + 1
Supposons que le mot de code mis soit c(x) = 0 et que le mot reu r(x) soit
entach de deux erreurs.
r(x) = x8 + x3
Le dcodage va se faire en trois tapes : calcul du syndrome S, dtermination
des coecients l du polynme localisateur derreur et recherche de ses racines
dans le corps F16 .
1. Calcul du syndrome S : nous avons uniquement besoin de calculer les
composantes dindice impair S1 et S3 du syndrome S. En utilisant les
reprsentations binaires des lments du corps F16 donnes dans lannexe
2, et en tenant compte du fait que 15 = 1, nous avons :
S1 = r() = 8 + 3 = 13
S3 = r(3 ) = 24 + 9 = 9 + 9 = 0
1 = S1 = 13
S +S 3
2 = 3S1 1 = S12 = 26 = 11 (15 = 1)
d (x) = x2 + 13 x + 11
Algorithme de Chien
Pour rechercher les racines du polynme localisateur derreur pour des codes
symboles binaires, on peut viter de passer en revue tous les lments du corps
Fq en utilisant un algorithme itratif d Chien.
En divisant le polynme d (x) par xt , nous obtenons :
d (x)
d (x) = = 1 + 1 x1 + + j xj + + t xt
xt
Les racines du polynme d (x) qui sont aussi les racines de d (x) sont de la
forme nj o j = 1, 2, . . ., n 1 et n = q 1.
Ainsi nj est racine de d (x) si :
1 n+j + + p xnp+jp + + t xnt+jt = 1
En tenant compte du fait que n = 1, la condition satisfaire pour que nj
soit racine du polynme localisateur derreur est :
t
p jp = 1; j = 1, 2, , (n 1) (4.42)
p=1
t
(x)
(x) = ei Zi x (4.44)
i=1
1 + Zi x
Le polynme localisateur derreur dont les racines sont Zj1 permet de dter-
miner la position des erreurs et le polynme valuateur derreur de dterminer
la valeur de lerreur ej . En eet, en tenant compte du fait que (Zj1 ) = 0, le
polynme (x) pris en Zj1 est gal :
(
(Zj1 ) = ej (1 + Zp Zj1 )
p=j
= ej Zj1 (Zj1 )
o (x) = d
dx (x).
La valeur de lerreur ej est alors donne par lalgorithme de Forney :
(Zj1 )
ej = Zj (4.45)
(Zj1 )
En introduisant le polynme S(x) dni par :
2t
S(x) = Sj xj (4.46)
j=1
4. Codes en bloc 151
Conditions initiales :
L0 = 0
(0) (x) = 1 (0) (x) = 1
(0) (x) = 0 (0) (x) = 1
Rcursion : 1 p 2t
(p1)
p = j Spj
j
p = 1 si p = 0 et 2Lp1 p 1
= 0 sinon
Lp = p (p Lp1 ) + (1 p )Lp1
(p) (p) 1 p x (p1) (p1)
=
(p) (p) 1
p p (1 p )x (p1) (p1)
Terminaison :
(x) = (2t) (x)
(x) = (2t) (x)
Exemple 4.16
Pour illustrer le dcodage dun code RS partir de lalgorithme de Berlekamp-
Massey, considrons un code RS corrigeant jusqu deux erreurs (t = 2) et ayant
les paramtres suivants :
m = 4; q = 16; n = 15; nk =4
152 Codes et turbocodes
Supposons par exemple que le mot de code mis soit c(x) = 0 et que le mot
reu soit entach de deux erreurs.
r(x) = 7 x3 + 3 x6
Lensemble des calculs eectus pour dcoder ce code RS sera fait dans le corps
F16 dont les lments sont donns dans lannexe 2.
1. Calcul du syndrome S = (S1 , S2 , S3 , S4 )
S1 = 10 + 9 = 13 S3 = 16 + 21 = 11
S2 = 13 + 15 = 6 S4 = 19 + 27 = 6
S(x) = 13 x + 6 x2 + 11 x3 + 6 x4
Dans le tableau ci-dessus, tous les calculs sont faits dans le corps F16 et
en tenant compte du fait que 15 = 1.
Les polynmes localisateur derreur et valuateur derreur sont :
(x) = 1 + 2 x + 9 x2
(x) = 13 x + 13 x2
e(x) = e3 x3 + e6 x6
4. Codes en bloc 153
e6 = 6 2 = 3
e(x) = 7 x3 + 3 x6
et le mot de code estim est c(x) = r(x) + e(x) = 0. Les deux erreurs de
transmission sont corriges.
Algorithme dEuclide
Lalgorithme dEuclide permet de rsoudre lquation cl du dcodage cest-
-dire de dterminer les polynmes (x) et (x).
Conditions initiales :
Rcursion :
Calculer Qj (x), Rj+1 (x) et Uj+1 (x) partir des deux expressions suivantes :
Exemple 4.17
Reprenons le code RS utilis pour illustrer lalgorithme de Berlekamp-
Massey. En supposant que le mot reu est toujours r(x) = 7 x3 + 3 x6 lorsque
le mot du code mis est c(x) = 0, lalgorithme de dcodage est le suivant :
1. Calcul du syndrome S = (S1 , S2 , S3 , S4 )
S1 = 10 + 9 = 13 S3 = 16 + 21 = 11
S2 = 13 + 15 = 6 S4 = 19 + 27 = 6
S(x) = 13 x + 6 x2 + 11 x3 + 6 x4
154 Codes et turbocodes
j = 0 j = 1
R1 (x) = x5 R0 (x) = S(x)
R0 (x) = S(x) R1 (x) = 5 x3 + 13 x2 + 12 x
Q0 (x) = 9 x + 14 Q1 (x) = x + 5
R1 (x) = 5 x3 + 13 x2 + 12 x R2 (x) = 14 x2 + 14 x
U1 (x) = 9 x + 14 U2 (x) = 10 x2 + 3 x +
(x) = U2 (x) = + 3 x + 10 x2 = (1 + 2 x + 9 x2 )
(x) = R2 (x) = 14 x + 14 x2 = (13 x + 13 x2 )
e(x) = 7 x3 + 3 x6
1 + xn n
S (x) = (x) = Sj xj (4.48)
(x) j=1
nj(n1)
S (i ) = (i )
(j )
4. Codes en bloc 155
Exemple 4.18
En reprenant lexemple du code RS (q = 16 ; n = 15 ; k = 11 ; t = 2) uti-
lis pour illustrer lalgorithme de Berlekamp-Massey, dterminons le syndrome
prolong.
15
S (x) = Sj xj
j=1
avec :
S1 = 13 S3 = 11
S2 = 6 S4 = 6
Lquation (4.50) nous fournit la relation suivante :
S1 x + (2 S1 + S2 )x2
15
+ (9 Sk2 + 2 Sk1 + Sk )xk
k=3
+(2 S15 + 9 S14 )x16 + 9 S15 x17 = 13 (x + x2 + x16 + x17 )
Sk = 2 Sk1 + 9 Sk2 , k = 3, 4, , 15
S5 = 4 , S6 = 13 , S7 = 6 , S8 = 11 , S9 = 6 , S10 = 4
S11 = 13 , S12 = 6 , S13 = 11 , S14 = 6 , S15 = 4
L1 = 0
(1) (x) = 1 (1) (x) = x1
Rcursion : 0 p t 1
(2p1)
2p+1 = j S2p+1j
j
= 0 sinon
Terminaison :
(x) = (2t1) (x)
Exemple 4.19
Reprenons le code BCH qui a t utilis pour illustrer le calcul du polynme
localisateur derreur avec la mthode directe. Supposons que le mot reu soit
r(x) = x8 + x3 lorsque le mot de code mis est c(x) = 0.
4. Codes en bloc 157
j = 0 j = 1
R1 (x) = x5 R0 (x) = S(x)
R0 (x) = S(x) R1 (x) = 4 x3 + 6 x2
Q0 (x) = 8 x Q1 (x) = 3 x + 5
R1 (x) = x + 6 x2
4 3
R2 (x) = 13 x
U1 (x) = 8 x U2 (x) = x + 13 x + 1
11 2
Le mot dcod est donc c(x) = r(x) + e(x) = 0 et les deux erreurs sont bien
corriges.
158 Codes et turbocodes
4.5 Bibliographie
[4.1] J. G. Proakis, Digital Communications, 4th edition. McGraw-Hill, New-
York, 2000.
[4.2] R.H. Morelos-Zaragoza, The Art of Error Correcting Coding, John
Wiley & sons, 2005.
Annexe
Exemple 1
Considrons un polynme irrductible (x) dans le corps F2 de degr m = 2.
(x) = x2 + x + 1
a + b o a, b F2
soit :
F4 = {0, 1, , + 1}
On peut remarquer que si on lve llment aux puissances successives 0, 1
et 2 on obtient tous les lments du corps F4 lexception de llment 0. En
eet, 2 est encore gal ( + 1) modulo (). Llment est appel lment
primitif du corps F4 .
160 Codes et turbocodes
Les lments du corps F4 peuvent aussi tre reprsents sous forme binaire :
Les couples binaires correspondent aux quatre valeurs prises par les coecients
a et b.
Notons que dans un tel corps de Galois le signe - est quivalent au signe
+ soit :
j = j j {0, 1, , (q 2)}
+ 0 1 2
0 0 1 2
1 1 0 1 + = 2 1 + 2 =
1 + = 2 0 + 2 = 1
2 2 1 + 2 = + 2 = 1 0
0 1 2
0 0 0 0 0
1 0 1 2
0 2 3
=1
2 0 2 3 = 1 4 =
Ainsi si est racine du polynme f (x) alors 2 , 4 , sont aussi des racines
de ce polynme. Le polynme minimal coecients dans F2 ayant comme
racine peut donc scrire sous la forme :
Exemple 2
Calculons le polynme minimal associ llment primitif du corps de
Galois F4 .
F4 : 0, 1, , 2
Le polynme minimal associ llment a donc pour racines et 2 (m = 2)
et a pour expression :
m (x) = (x + )(x + 2 ) = x2 + x( + 2 ) + 3
m (x) = x2 + x + 1
Polynme primitif
Un polynme coecients dans F2 est primitif si il est le polynme mini-
mal associ un lment primitif dun corps de Galois. Un polynme primitif
est donc irrductible dans F2 et peut par consquent tre utilis pour engen-
drer un corps de Galois. Lorsquun polynme primitif est utilis pour engendrer
un corps de Galois, tous les lments du corps sont obtenus en levant ll-
ment primitif, racine du polynme primitif, des puissances successivement
croissantes. Les principaux polynmes primitifs tant rpertoris dans la litt-
rature, la construction dun corps de Galois q = 2m lments peut alors se
faire simplement en utilisant un polynme primitif de degr m. La table 4.9
donne quelques polynmes primitifs.
9 9 + 4 + 1
10 10 + 3 + 1
a3 + b2 + c + d
Exemple 3
Quelques calculs dans le corps F16 :
+ 2 4
8 0100 + 0101 = 0001 = 1 0011 + 0101 = 0110 = 5
10 0100 + 0111 = 0011 = 4 0011 + 0111 = 0100 = 2
2 6
8 10 14
14 16 = car 15 = 1 20 = car 15 = 1
5
2 12
6
8 = car 15 = 1
9
4
14 12 = 3 car 15 = 1 2 = car 15 = 1
13
5.1 Historique
Cest en 1955 que Peter Elias introduit la notion de code convolutif [5.1].
Lexemple de codeur dcrit dans la publication est reproduit dans la gure 5.1.
Il sagit dun codeur systmatique, cest--dire que le message cod contient le
message transmettre, auquel est ajout de linformation redondante. Le mes-
sage est de longueur innie, ce qui premire vue limite le champ dapplication
de ce type de codes. Il est cependant ais de les adapter pour des transmissions
de paquets grce des techniques de fermeture de treillis.
di
di d i1 d i 2 d i 3 d i ,r i
D D D Mux
ri
Le codeur prsent en gure 5.1 est conu autour dun registre dcalage de
trois lments mmoire. Le bit de redondance linstant i, not ri est construit
laide dune somme modulo 2 de la donne linstant i, di et des donnes
prsentes aux instants i 1 et i 3 (di1 et di3 ). Un multiplexeur joue le rle
dun convertisseur parallle-srie et fournit le rsultat du codage un dbit
double de celui de lentre. Le rendement de ce codeur est de 1/2 car, chaque
instant i, il reoit une donne di et dlivre deux lments en sortie : di (partie
systmatique) et ri (partie redondante).
166 Codes et turbocodes
r (1)
i
di d i1 r (1)
, r (2)
i i
D D D Mux
d i2 d i3
r (2)
i
Lorsque Berrou et al prsentent leurs travaux sur les turbocodes [5.7], ils
rhabilitent les codes convolutifs systmatiques en les utilisant sous une forme
5. Les codes convolutifs et leur dcodage 167
rcursive. Lintrt des codes rcursifs est prsent dans les sections 5.2 et 5.3.
La gure 5.3 donne un exemple de codeur de code convolutif systmatique
rcursif. Le message dorigine tant transmis (di ), le code est donc bien sys-
tmatique. Une boucle de rtroaction apparat, la structure du codeur tant
maintenant analogue celle des gnrateurs de squences pseudo-alatoires.
Ce rapide historique a permis de prsenter les trois familles de codes convo-
lutifs les plus courantes : systmatique, non-systmatique, systmatique rcur-
sif. Les deux sections suivantes abordent la reprsentation et la performance
des codes convolutifs. Elles donnent loccasion de comparer les proprits de ces
trois familles. Les algorithmes de dcodage les plus couramment utiliss dans
les systmes actuels sont prsents dans la section 5.4. Enn, la section 5.5
aborde les principales techniques de fermeture de treillis et depoinonnage.
di d i ,r i
ri Mux
di s (1)
i
D D D
s (0)
i
s (2)
i s (3)
i
d (1)
i c
d (1)
i
d (2)
i c
d (2)
i
(m)
d i c
d (m)
i
a(1)
1
a(2)
1
a(m)
1
a(1)
2
a(2)
2
a2(m) a(1)
a(2) a(m)
D D D
s (1)
i s (2)
i s ()
i
b1 b2
d (1)
i
d (1), d (2),ri
d (2)
i Mux
i i
ri
D D D
Pour dnir un codeur, il nest cependant pas ncessaire den faire une
reprsentation graphique puisque la connaissance des paramtres prsents en
gure 5.4 est susante. Une reprsentation condense de ces paramtres est
connue sous le nom de polynmes gnrateurs. Cette notation est prsente
dans le paragraphe suivant.
170 Codes et turbocodes
(1) (2)
Prenons le cas du codeur dni en gure 5.2. Les sorties ri et ri sexpriment
en fonction des donnes d successives de la manire suivante :
(1)
ri = di + di2 + di3 (5.2)
o G(1) (D) et G(2) (D) sont les polynmes gnrateurs du code reprsent en
gure 5.2, ce qui conduit :
d(D)
s(D) = G(2) (D)
(5.8)
G(1) (D)
r(D) = G(2) (D)
d(D)
est tiquete par la valeur des sorties du codeur lors de la transition associe.
Ce principe est itr pour chacun des tats ls et ainsi de suite. Le diagramme
en arbre associ au codeur systmatique de la gure 5.1 est illustr en gure 5.6.
Ce type de diagramme ne sera pas utilis dans la suite, la seule utilisation qui
en est faite concernant un algorithme de dcodage squentiel(lalgorithme de
Fano) non trait dans cet ouvrage.
di ri di=0
di ri di=1
Figure 5.7 Diagramme en treillis dun code de polynmes gnrateurs [1, 1+D+D3 ].
Figure 5.8 Sections en treillis des codes des polynmes gnrateurs (a) [1, 1+D+D3 ],
(b) [1 + D2 + D3 , 1 + D + D3 ], (c) [1, (1 + D2 + D3 )/(1 + D + D3 )].
11
00 (000) 10 (010) 00 (101) 01 (111) 11
01 00 10 00
(001) 01 (011)
di ri di=0
di ri di=1
10
11 (100) (110) 00
01 01
01
00 (000) 00 (010) 10 (101) 11 (111) 11
11 10 10 00
(001) 01 (011)
ri(1) ri(2) di=0
ri(1) ri(2) di=1
Figure 5.10 Machine tat pour un code de polynmes gnrateurs [1+D2 +D3 , 1+
D + D3 ].
compares.
Figure 5.12 Squence RTZ (en gras) dnissant le distance libre du code de poly-
nmes gnrateurs [1, 1 + D + D3 ].
00 00 00 00 00 00
(000)
11 11 11 11
11 11 11
(001)
00 00 00
11 11
10 10 10 10
(010)
01 01 01 01
01 01 01
(011) 01
10 10 10
01
01 01 01
(100)
10 10 10 10
10 10 10 10
(101) 01 01 01
11
11 11 11
(110) 00 00 00 00
00 00 00
(111) 11 11 11
Figure 5.13 Squences RTZ (en gras) dnissant la distance libre du code de poly-
nmes gnrateurs [1 + D2 + D3 , 1 + D + D3 ].
00 00 00 00 00 00
(000)
11 11 11 11
11 11 11
(001)
00 00 00
11 11
01 01 01 01
(010)
10 10 10 10
10 10 10
(011) 10
01 01 01
10
10 10 10
(100)
01 01 01 01
01 01 01 01
(101) 10 10 10
11
11 11 11
(110) 00 00 00 00
00 00 00
(111) 11 11 11
di ri(2) di=0
di ri(2) di=1
Figure 5.14 Squences RTZ (en gras) dnissant la distance libre du code de poly-
nmes gnrateurs [1, (1 + D2 + D3 )/(1 + D + D3 )].
erreur si une telle squence RTZ est dcode. Dans le cas du code systmatique
rcursif, les squences RTZ de poids minimal ont un poids dentre de 3.
La connaissance de la distance minimale de Hamming et du poids den-
tre qui lui est associ nest pas susante pour valuer nement la probabilit
derreur en sortie du dcodeur dun code convolutif simple. Lnumration des
distances, au del de la distance minimale de Hamming, et de leurs poids est
ncessaire cette valuation. Cette numration porte le nom de spectre des
distances.
(000)
ae
OI
OI
(100) (110) OI
e O OI g
OI
OI (010) 1 (101) O (111) OI
c f h
1 OI 1
(001) O (011)
b d
O
(000)
as
b = c + Od
c = Oe + f
d = h + Dg
e = O2 Iae + OIb
(5.10)
f = O2 Ic + OId
g = OIe + O2 If
h = O2 Ih + OIg
as = Ob
laide dun outil de calcul formel, il est ais daboutir au rsultat suivant :
I 4 O12 +(3I 4 +I 3 )O10 +(3I 4 3I 3 )O8 +(I 4 +2I 3 )O6 +IO4
T (O, I) = (5.11)
I 4 O10 +(3I 4 I 3 )O8 +(3I 4 +4I 3 )O6 +(I 4 3I 3 )O4 3IO2 +1
5. Les codes convolutifs et leur dcodage 179
T (O, I) = IO4
+ (I 4 + 2I 3 + 3I 2 )O6
+ (4I 5 + 6I 4 + 6I 3 )O8
(5.12)
+ (I 8 + 5I 7 + 21I 6 + 24I 5 + 17I 4 + I 3 )O10
+ (7I 9 + 30I 8 + 77I 7 + 73I 6 + 42I 5 + 3I 4 )O12
+
Cette criture permet dobserver quune squence RTZ de poids 4 est produite
par une squence en entre de poids 1, que des squences RTZ de poids 6 sont
produites par une squence de poids 4, par deux squences de poids 3 et par
trois squences de poids 2, etc.
Dans le cas du code classique prcdemment cit, la fonction de transfert
est :
T (O, I) = (I 3 + I)O6
+ (2I 6 + 5I 4 + 3I 2 )O8
+ (4I 9 + 16I 7 + 21I 5 + 8I 3 )O10
(5.13)
+ (8I 12 + 44I 10 + 90I 8 + 77I 6 + 22I 4 )O12
+ (16I 15 + 112I 13 + 312I 11 + 420I 9 + 265I 7 + 60I 5 )O14
+
telle squence est plus faible avec un code classique quavec un code systma-
tique rcursif, ce qui explique que le premier sera lgrement meilleur fort
rapport signal bruit. Il en va gnralement autrement lorsque les codes sont
poinonns (cf. section 5.5) pour disposer de rendements plus levs [5.9].
Pour comparer les performances des codes faible rapport signal bruit,
il faut considrer lensemble des monmes. Prenons lexemple du monme en
O12 respectivement pour le code systmatique non-rcursif, le classique et le
systmatique rcursif :
Si 12 erreurs sont introduites par le bruit sur le canal, 232 squences RTZ
sont disponibles en erreur pour le premier code, 241 pour le deuxime
et encore 241 pour le troisime. Il est donc (un peu) moins probable quune
squence RTZ apparaisse si le code employ est le code systmatique non-
rcursif. De plus, lesprance derreur par squence RTZ des trois codes est
respectivement 6, 47, 7, 49 et 6 : le code systmatique rcursif introduit donc en
moyenne moins derreurs de dcodage que le code classique sur des squences
de RTZ de 12 erreurs sur la trame code. Ceci se vrie aussi pour les monmes
de plus haut degr. Les codes systmatiques rcursif et non-rcursif sont donc
plus performants faible rapport signal bruit que le code classique. En outre,
nous retrouvons dans la fonction de transfert du code rcursif les monmes
I 2 O8+4c , o c est un entier. Cette innit de monmes de ce type est due
lexistence du cycle sur une squence en entre nulle dirent de la boucle sur
ltat 0. Un tel code ne fournit dailleurs pas de monmes de la forme IOc ,
contrairement aux codes non-rcursifs. Ces conclusions rejoignent celles issues
de ltude des machines tats en section 5.2.
Cette notion de fonction de transfert est donc ecace pour tudier les per-
formances dun code convolutif. Une version drive est par ailleurs essentielle
la classication des codes vis--vis de leurs performances. Il sagit du spectre
de distance (d) dont la dnition est la suivante :
T (O, I)
( )I=1 = (d)Od (5.15)
I
d=df
d 6 8 10 12 14 ...
(d) 6 40 245 1446 8295 ...
tats seront suprieures ou gales celles des gures prcdentes. Ceci conduit
des fonctions de transfert avec des puissances de O plus leves cest--dire
des squences RTZ de poids de Hamming plus importants. Les codes de
rendements faibles ont donc un pouvoir de correction suprieur.
1e+00
1e01
1e02
1e03
Taux derreur
1e04
1e05
Figure 5.16 Comparaison des performances (Taux dErreurs Binaire et Taux dEr-
reurs Paquet) simules des trois catgories de codes convolutifs aprs transmission de
paquets de 53 octets sur un canal gaussien (dcodage selon lalgorithme MAP ).
5.3.4 Performances
La performance dun code est dnie par la probabilit derreur au dcodage
aprs transmission sur un canal bruit. La section prcdente nous a permis de
comparer de manire intuitive les codes non-systmatique non-rcursif, syst-
matique non-rcursif et systmatique rcursif de mme longueur de contrainte.
Toutefois, pour estimer les performances absolues dun code, il faut pouvoir
estimer la probabilit derreur de dcodage en fonction du bruit, ou du moins
la borner. La littrature, par exemple [5.10], dnit ainsi de nombreuses bornes
qui ne seront pas dtailles ici et nous nous limiterons comparer les trois
catgories de codes convolutifs. Pour ce faire, une transmission sur canal gaus-
182 Codes et turbocodes
1e+00
1e01
1e02
1e03
Taux derreur
1e04
1e05
Figure 5.17 Comparaison des performances simules des trois catgories de codes
convolutifs aprs transmission de blocs de 200 octets sur un canal gaussien.
sien de blocs de 53 puis 200 octets cods selon dirents schmas a t simule
(gures 5.16 et 5.17) : classique (non-systmatique non-rcursif), systmatique
non-rcursif et systmatique rcursif.
Les blocs ont t construits suivant la technique de fermeture de treillis clas-
sique pour les codes non-rcursifs alors que le code rcursif est de terminaison
circulaire (voir section 5.5). Lalgorithme de dcodage utilis est le MAP.
Les courbes de TEB sont en parfaite concordance avec les conclusions tires
lors de lanalyse de la distance libre des codes et de leur fonction de transfert :
le code systmatique est nettement moins bon que les autres fort rapport
signal bruit et le code classique est alors lgrement meilleur que le rcursif.
faible rapport signal bruit, la hirarchie est dirente : le code rcursif et
le code systmatique sont quivalents et meilleurs que le code classique.
La comparaison des performances en fonction de la taille de la trame (53
et 200 octets) montre que la hirarchie de performance des codes nest pas
modie. De plus les taux derreurs bit sont quasiment identiques. Ceci tait
prvisible car les tailles des trames sont susamment importantes pour que les
fonctions de transferts des codes ne soient pas aectes par des eets de bord.
Par contre, le taux derreurs paquet est aect par la longueur des blocs puisque
si la probabilit derreur bit est constante, la probabilit derreur paquet croit
avec sa taille.
Les comparaisons prcdentes ne concernent que des codes 8 tats. Il
est cependant facile de remarquer que les performances dun code convolutif
sont lies sa capacit fournir une information sur la succession des donnes
5. Les codes convolutifs et leur dcodage 183
1e+00
1e01
1e02
1e03
Taux derreur
1e04
1e05
Les taux derreurs rsiduelles sont dautant plus faibles que le nombre
dtats du code est important. Pour un TEB de 104 , 0,6dB sont ainsi gagns
lors du passage du 4 tats au 8 tats et 0.5dB lors du passage du 8 tats au
16 tats. Cette remarque est cohrente avec la justication qualitative de lin-
trt dun grand nombre dtats. Il semblerait alors logique de choisir un code
convolutif avec un grand nombre dtats pour assurer la protection souhaite.
Dautant plus que de tels codes orent la possibilit de produire une redondance
sur bien plus que deux composantes, et donc de fournir une protection encore
bien suprieure. Ainsi, le projet du Big Viterbi Decoder du Jet Propulsion La-
boratory de la NASA utilis pour des transmissions avec des sondes spatiales fut
conu pour traiter des trames encodes avec des codes convolutifs de 2 16384
tats et des rendements bien infrieurs 1/2 (16384 tats et R = 1/6 pour les
184 Codes et turbocodes
Figure 5.20 Structure du code convolutif systmatique rcursif (7,5) et treillis asso-
ci.
(0)
(1)
(2)
(i , 2 ) = min ( (i, s ) )
s {0, 1, 2, 3}
(3)
i 15 i 14 i 13 i 2 i 1 i
^d
i 15
Figure 5.21 Opration de remonte du chemin survivant (en gras) dans le treillis
partir de linstant i et dtermination de la dcision binaire linstant i 15.
m
(l) (l)
n
(l) (l)
d (T (i, si1 , si )) = xi Xi + yi Yi
l=1 l=1
1e+00
1e01
1e02
Taux derreur binaire
1e03
1e04
1e05
Transmission noncode
1e06 Dcodage entres fermes
Dcodage entres pondres
0 1 2 3 4 5 6 7 8 9 10
Eb/No (dB)
La gure 5.22 fournit les performances des deux variantes, entres fermes
et entres pondres, dun dcodeur utilisant lalgorithme de Viterbi pour
le code CSR(7,5) pour une transmission sur un canal bruit additif blanc
gaussien. On observe en pratique un gain denviron 2 dB lorsque lon substitue
un dcodage entres pondres un dcodage entres fermes.
di di , r i
ri Mux
di s (1)
i
1 D D D s (3)
i
2
s (0)
i s (2)
i
Fermeture circulaire
(000)
(001)
(010)
(011)
(100)
(101)
(110)
(111)
Si le codeur est initialis ltat 0 (s0 = 0), ltat nal s0k obtenu la n dune
trame de longueur k est :
k
s0k = Aj1 Bdkj (5.17)
j=1
Lorsquil est initialis dans un tat quelconque sc , ltat nal sk sexprime de
la manire suivante :
k
sk = Ak sc + Aj1 Bdkj (5.18)
j=1
Pour que cet tat sk soit gal ltat de dpart sc et que celui-ci devienne donc
ltat de circulation, il faut et il sut que :
- .
k
I Ak sc = Aj1 Bdkj (5.19)
j=1
5.5.2 Poinonnage
Certaines applications ne peuvent allouer que peu de place la partie redon-
dante des mots de code. Hors, par construction, le rendement naturel dun code
convolutif systmatique est m/(m + n), o m est le nombre de bits de lentre
di du codeur et n est le nombre de bits de sortie. Il est donc maximum lorsque
n = 1 et devient R = m/(m + 1). Des rendements levs ne peuvent donc tre
obtenus quavec des valeurs importantes de m. Malheureusement, le nombre de
194 Codes et turbocodes
Figure 5.25 Poinonnage dun code systmatique pour obtenir un rendement 2/3.
di ri di=0
di ri di=1
a priori non connues. Dans le cas usuel dune transmission utilisant une si-
gnalisation antipodale (+1 pour le 1 logique, -1 pour le 0 logique), la valeur
nulle (0 analogique) simpose comme valeur neutre.
Lintroduction dun poinonnage augmente le rendement du code mais di-
minue bien videmment son pouvoir de correction. Ainsi, dans lexemple de la
gure 5.26, la distance libre du code est rduite de 6 4 (une squence RTZ
associe est mise en vidence sur la gure). De mme la gure 5.27, o sont re-
prsentes les courbes de taux derreurs du code [1, (1+D2 +D3 )/(1+D +D3 )]
pour des rendements de 1/2, 2/3, 3/4 et 6/7, montre lvidence une diminu-
tion du pouvoir de correction avec laugmentation du rendement du code.
1e+00
1e01
1e02
1e03
Taux derreur
1e04
Figure 5.27 Performance simule dun code CSRC 8 tats poinonn, en fonction
de son rendement.
5.6 Bibliographie
[5.1] P. Elias, Coding for Noisy Channels , IRE conv. Rec., vol. 3, pt. 4,
pp. 37-46, 1955.
[5.2] J. M. Wozencraft, Sequential Decoding for Reliable Communica-
tion , IRE Nat. Conv. Rec., vol. 5, pt. 2, pp. 11-25, 1957.
[5.3] R. M. Fano, a Heuristic Discussion of Probabilistic Decoding , IEEE
Transaction on Information Theory, vol. IT-9, pp. 64-74, April 1963.
[5.4] A. J. Viterbi, Error bounds for convolutional codes and an asymp-
totically optimum decoding algorithm , IEEE Transaction on Information
Theory, vol. IT-13, pp. 260-269, Apr. 1967.
[5.5] L. R. Bahl, J. Cocke, F. Jelinek and J. Raviv, Optimal Decoding
of Linear Codes for Minimizing Symbol Error Rate , IEEE Transactions on
Information Theory, vol. IT-20, pp. 284-287, March 1974.
[5.6] G. D. Forney., Convolutional codes I : Algebraic structure , IEEE
Transactions on Information Theory, vol. IT-16, pp. 720-738, November 1970.
[5.7] C. Berrou, A. Glavieux and P. Thitimajshima, Near Shannon li-
mit error-correcting coding and decoding : turbo-codes , Proceedings of IEEE
ICC93, Geneva, pp. 1064-1070, 1993.
[5.8] R. Johanneson and K. Sh. Zigangirov, Fundamentals of Convolutional
Coding , IEEE Press.
[5.9] P. Thitimajshima, Les codes convolutifs rcursifs systmatiques et leur
application la concatnation parallle, thse de doctorat en lectronique, n
dordre 284, Universit de Bretagne Occidentale, Dcembre 1993.
[5.10] A. Glavieux, Codage de canal, des bases thoriques aux turbocodes,
Herms-Science, 2005.
[5.11] G. D. Forney, The Viterbi algorithm , Proceedings of the IEEE,
vol. 61, n3, pp. 268-278, March 1973.
[5.12] G. Battail, Pondration des symboles dcods par lalgorithme de
Viterbi , Annales des Tlcommunications, vol. 42, n 1-2, pp. 31-38, Jan.-
Fv. 1987.
[5.13] J. Hagenauer and P. Hoeher, A Viterbi algorithm with soft-decision
outputs and its applications , IEEE Global Communications Conference, Glo-
becom89, Dallas, Texas, Nov. 1989, pp. 1680-1686.
[5.14] C. Berrou, P. Adde, E. Angui and S. Faudeuil, A low complexity soft-
output Viterbi decoder architecture , Proceedings of IEEE ICC93, Geneva,
pp. 737-740, 1993.
[5.15] H. H. Ma and J. K. Wolf, On tail biting convolutional codes , IEEE
Transactions on Communications, vol. COM-34, pp. 104-111, Feb. 1986.
Chapitre 6
Concatnation de codes
Dans les chapitres prcdents, des lois lmentaires de codage telles que
BCH, Reed-Solomon ou CSRC ont t prsentes. La plupart de ces codes
lmentaires sont asymptotiquement bons, en ce sens que leurs distances mini-
males de Hamming (DMH) peuvent tre rendues aussi grandes que lon veut, en
augmentant susamment le degr des polynmes gnrateurs. La complexit
des dcodeurs est malheureusement rdhibitoire pour les degrs de polynmes
qui garantiraient les DMH requises par les applications pratiques.
Un moyen simple de disposer de codes grande DMH et nanmoins aisment
dcodables est de combiner plusieurs codes lmentaires de taille raisonnable,
de telle sorte que le code global rsultant possde un pouvoir de correction lev.
Le dcodage seectue par tapes, chacune dentre elles correspondant une
des tapes de codage lmentaire. Le premier schma de codage composite fut
propos par Forney durant son travail de thse en 1965, et appel concatnation
de codes [6.1]. Dans ce schma, un premier codeur, dit codeur extrieur, fournit
un mot de code qui est ensuite recod par un deuxime codeur, dit codeur
intrieur. Si les deux codes sont systmatiques, le code concatn est lui-mme
systmatique. Dans la suite de ce chapitre, seuls des codes systmatiques seront
considrs.
La gure 6.1(a) reprsente un code concatn, tel quimagin par Forney,
et le dcodeur par tapes correspondant. Le choix le plus judicieux des codes
constituants se porte sur un code algbrique, typiquement Reed-Solomon, pour
le code extrieur, et un code convolutif pour le code intrieur. Le dcodeur
intrieur est alors le dcodeur de Viterbi, qui tire aisment prot des valeurs
souples fournies par le demodulator, et le dcodeur extrieur, qui travaille sur
des symboles de plusieurs bits (par exemple 8 bits), peut saccommoder der-
reurs en rafales la sortie du premier dcodeur. Une fonction de permutation
ou dentrelacement insre entre les deux codeurs, et sa fonction inverse place
entre les deux dcodeurs, peuvent augmenter trs nettement la robustesse du
code concatn (gure 6.1(b)). Un tel schma de codage a rencontr beaucoup
de succs dans des applications aussi varies que les transmissions en espace
198 Codes et turbocodes
Figure 6.1 Code concatn en srie, (a) sans et (b) avec permutation intercalaire.
Dans les deux cas, la sortie du codeur extrieur est entirement recode par le codeur
intrieur.
de 1/2, une partie de la redondance doit tre poinonne. On peut choisir, par
exemple, de ne pas transmettre les 16 symboles prsents dans les deux dernires
colonnes et les deux dernires lignes du tableau de la gure 6.4(a). La DMH
chute alors la valeur 3, cest--dire moins que la DMH du code lmentaire.
La CP na donc pas dintrt dans ce cas.
Toujours partir du code de Hamming tendu, une concatnation double-
ment srie peut tre labore sous la forme dun code produit (gure 6.5(a)).
Dans ce schma, les parties redondantes des mots de code horizontaux et verti-
caux sont elles-mmes recodes par des codes lmentaires, qui produisent des
symboles de redondance nots wi,j . Une proprit algbrique avantageuse de
202 Codes et turbocodes
[6.6], observer quun turbocode est un code LDPC. Un code CSR de polynmes
gnrateurs GX (D) (rcursivit) et GY (D) (redondance), dont lentre est X
et la sortie redondante Y , est caractrise par la relation de parit glissante :
deviennent alors erreurs isoles pour le dcodeur qui suit, avec des eets de
corrlation bien amoindris. Cette technique de dispersion des erreurs est utilise
dans un cadre plus large que celui du codage de canal. On lutilise avec prot
par exemple pour rduire les eets des attnuations plus ou moins longues
dans les transmissions aectes dvanouissements, et plus gnralement dans
des situations o des perturbations peuvent altrer des symboles conscutifs.
Dautre part, en liaison troite avec les caractristiques des codes composants,
la permutation est conue pour que la DMH du code concatn soit la plus
grande possible. Cest une problmatique de pure mathmatique qui associe
gomtrie, algbre et combinatoire et qui na pas encore, dans la plupart des
cas, trouv de rponse dnitive. Les sections 7.3.2 et ?? dveloppent le thme
de la permutation pour les turbocodes et du graphe pour les codes LDPC,
respectivement.
Figure 6.7 Une grille de mots croiss dont le contenu est erron et dont les dnitions
sont correctes.
6.5 Bibliographie
[6.1] G. D. Forney Jr., Performance of concatenated codes , Key papers in
the development of coding theory edited by E. R. Berlekamp, pp. 90-94, IEEE
Press, 1974.
[6.2] DVB-Terrestrial, ETSI EN 302 296 V1.1.1 (2004-04).
[6.3] S. Benedetto, D. Divsalar, G. Montorsi and F. Pollara, Serial conca-
tenation of interleaved codes : performance analysis, design, and iterative de-
coding , IEEE Trans. Info. Theory, vol. 44, no. 3, pp. 909-926, May 1998.
[6.4] K. R. Narayanan and G. L. Stber, Selective serial concatenation of
turbo codes , IEEE Comm. Letters, vol. 1, no. 5, pp. 136-139, Sept. 1997.
[6.5] P. Adde, R. Pyndiah and C. Berrou, Performance of hybrid turbo
codes , Elect. Letters, vol. 32, no. 24, pp. 2209-2210, Nov. 1996.
[6.6] D. J. C. MacKay, Good error-correcting codes based on very sparse
matrices , IEEE Trans. Info. Theory, vol. 45, no. 2, pp. 399-431, March 1999.
Chapitre 7
Turbocodes convolutifs
Tanner [7.6], Robert Gallager [7.7], etc. avaient imagin plus tt des procds
de codage et de dcodage prcurseurs des turbocodes.
Dans un laboratoire de lcole nationale suprieure des tlcommunications
(ENST) de Bretagne, Claude Berrou et Patrick Adde cherchaient transcrire
lalgorithme de Viterbi sortie pondre (SOVA : Soft-Output Viterbi Algo-
rithm), propos dans [7.2], en transistors MOS, de la manire la plus simple
possible. Une solution convenable [7.8] fut trouve aprs deux annes qui per-
mirent ces chercheurs de se forger une opinion sur le dcodage probabiliste.
Claude Berrou, puis Alain Glavieux poursuivirent ltude et observrent, la
suite de Grard Battail, quun dcodeur entre et sortie pondres pouvait
tre considr comme un amplicateur de rapport signal bruit et cela les en-
couragea mettre en uvre des concepts communment utiliss dans les am-
plicateurs, principalement la contre-raction. La mise au point des turbocodes
passa par de nombreuses tapes trs pragmatiques et aussi par lintroduction de
nologismes, comme concatnation parallle ou information extrinsque ,
aujourdhui communs dans le jargon de la thorie de linformation. Le dpt
du brevet en 1991 [7.9], et surtout la publication en 1993 [7.10] dmontrant une
performance 0,5 dB de la limite de Shannon, secoua la communaut du co-
dage. Un gain de prs de 3 dB, par rapport aux solutions alors existantes, venait
dtre apport par une petite quipe inconnue, franaise de surcrot (France,
pays de la rigueur mathmatique versus turbocodes, invention pour le moins
empirique). Il sensuivit une trs sensible volution des habitudes, comme le
souligne Calderbank dans [7.11, p. 2573] : It is interesting to observe that
the search for theoretical understanding of turbo codes has transformed coding
theorists into experimental scientists [ Il est intressant dobserver que la
recherche de justication thorique des turbocodes a conduit les experts de la
thorie des codes se tourner vers lexprimentation ].
7. Turbocodes convolutifs 209
On trouvera dans [7.12] une chronologie dtaille des ides successives qui
apparurent dans la mise au point des turbocodes. Cette nouvelle technique de
codage et de dcodage fut dabord baptise turbo-code, avec le tiret pour si-
gnier quil sagissait dun code dcod la manire turbo (par analogie avec
le moteur turbo qui utilise les gaz dchappement pour en augmenter sa puis-
sance). Le tiret tant peu usit dans la langue anglaise, cela devint turbo code,
cest--dire le code turbo , ce qui na pas beaucoup de sens. En franais
aujourdhui, turbocode scrit en un seul mot.
p1 = 2 (7.1)
appeles RTZ (Return To Zero, voir chapitre 5), sont des combinaisons linaires
de la squence RTZ minimale, qui est donne par le polynme de rcursivit
du gnrateur (1 + D + D3 dans le cas de la gure 7.2).
Figure 7.3 Un turbocode binaire mmoire = 3 utilisant des codeurs CSR lmen-
taires identiques (polynmes 15, 13). Le rendement de codage naturel du turbocode,
sans poinonnage, est 1/3.
par exemple une permutation rgulire). Pour un taux derreurs cible faible
ou trs faible, la performance est dicte par la distance minimale du code
et celle-ci est trs dpendante de la permutation .
d Le motif de poinonnage doit tre le plus rgulier possible, limage de ce
qui se pratique pour les codes convolutifs classiques. Toutefois, il peut tre
avantageux davoir un motif de poinonnage faiblement irrgulier quand on
recherche de trs faibles taux derreurs et lorsque la priode de poinonnage
est un diviseur de la priode du polynme gnrateur de rcursivit ou de
parit.
Le poinonnage seectue classiquement sur les symboles de redondance.
Il peut tre envisag de plutt poinonner les symboles dinformation, pour
augmenter la distance minimale du code. Cela se fait au dtriment du seuil de
convergence du turbo dcodeur. De ce point de vue, en eet, poinonner des
donnes partages par les deux dcodeurs est plus pnalisant que poinonner
des donnes qui ne sont utiles qu lun des dcodeurs.
Ce qui sera considrer de prs dans la construction dun turbocode et dans
son dcodage, ce sont les squences RTZ, dont les poids de sortie limitent la
7. Turbocodes convolutifs 215
seconde peut conduire de meilleurs rsultats car le degr de libert est gn-
ralement plus grand dans le travail de conception de la permutation.
La permutation rgulire
Le point de dpart dans la conception dun entrelacement est la permutation
rgulire, qui est dcrite en gure 7.5 sous deux formes direntes. La premire
suppose que le bloc contenant k bits peut tre organis comme un tableau de
M lignes et N colonnes. Lentrelacement consiste alors crire les donnes
dans une mmoire ad hoc, ligne par ligne, et les lire colonne par colonne
(gure 7.5(a)). La seconde sapplique sans hypothse sur la valeur de k. Aprs
criture des donnes dans une mmoire linaire (adresse i, 0 i k 1), le
bloc est assimil un cercle, les deux extrmits (i = 0 et i = k 1) tant alors
contigus (gure 7.5(b)). Les donnes binaires sont alors extraites de telle sorte
que la j-ime donne lue ait t pralablement crite la place i, de valeur :
Figure 7.5 Permutation rgulire sous formes rectangulaire (a) et circulaire (b).
o :
k1
d(D) = aj Dj (7.11)
j=0
o aj peut prendre la valeur binaire 0 (pas derreur) ou 1 (une erreur) et, avant
permutation :
k1
k1
i
d(D) = ai D = a(j) D(j) (7.12)
i=0 j=0
Notons jmin et jmax les indices j correspondant aux premire et dernire valeurs
aj non nulles dans d(D). Nous dnissons de la mme manire imin et imax pour
la squence d(D). Alors, la permutation rgulire satisfaisant (7.9) et (7.10)
garantit la proprit :
(jmax jmin ) + (imax imin ) > 2k (7.13)
Cela vient de ce que d(D) et d(D), toutes deux considres entre les indices
min et max, contiennent au moins 2 bits dont la distance
spatiale cumule, telle
que dnie par (7.5), est maximale et gale 2k. Il nous faut maintenant
considrer deux cas :
les squences d(D) et d(D) sont toutes deux du type RTZ simple, cest-
-dire quelles dbutent dans ltat 0 du codeur et y reviennent une seule
fois, la n. Les bits de parit produits par ces squences sont des 1, une
fois sur deux statistiquement. Compte tenu de (7.13), pour des valeurs
usuelles de k (k > 100), les poids de la redondance sont levs et ces
squences RTZ ne contribuent pas la DMH du turbocode.
7. Turbocodes convolutifs 219
lune au moins des squences d(D) et d(D) est du type RTZ multiple,
cest--dire quelle correspond plusieurs passages par ltat 0 du codeur.
Si ces passages par ltat 0 sont longs, la parit associe la squence peut
tre de poids rduit et la distance associe faible. Gnralement, dans ce
type de situation, les squences avant et aprs permutation sont toutes
deux RTZ multiples.
La performance dun turbocode, faible taux derreurs, est intimement lie
la prsence de motifs RTZ multiples et la permutation rgulire nest pas une
bonne rponse pour liminer ces motifs.
Ncessit du dsordre
En admettant toujours que les motifs derreurs qui ne sont pas RTZ ont
des poids susamment levs pour ne pas avoir dincidence sur la performance,
une permutation idale pour un turbocode pourrait tre dnie par la rgle
suivante :
Si une squence est du type RTZ avant permutation, alors elle ne
lest plus aprs permutation et vice-versa.
220 Codes et turbocodes
leve. Une bonne permutation ne peut tre trouve indpendamment des pro-
prits des codes lmentaires, de leurs motifs RTZ, de leurs priodicits, etc.
Le dsordre intra-symbole
Lorsque les codes lmentaires sont des codes m-binaires, on peut introduire
un certain dsordre dans la permutation dun turbocode sans pour autant lui
enlever son caractre rgulier ! Pour ce faire, on met en uvre, outre une clas-
sique permutation inter-symbole, une permutation intra-symbole, cest--dire
une modication non-rgulire du contenu des symboles de m bits, avant co-
dage par le second code [7.23]. Nous dveloppons brivement cette ide sur
lexemple de turbocodes double-binaires (m = 2).
Figure 7.7 Motifs derreurs possibles avec des turbocodes binaire (a) et double-
binaire (b) et une permutation rgulire.
Figure 7.9 Les couples des cases grises sont inverss avant le second codage (vertical).
1 devient 2, 2 devient 1 ; 0 et 3 restent inchangs. Les motifs de la gure 7.7(b),
redessins en (a), ne sont plus des motifs derreurs possibles. Ceux de (b) le sont
toujours, avec des distances 24 et 26 pour un rendement de codage 1/2.
Supposons par exemple que les couples soient inverss (1 devient 2 et rci-
proquement), une fois sur deux, avant dtre appliqus au codeur vertical. Alors
les motifs derreurs reprsents en gure 7.9(a) nexistent plus ; par exemple,
si 30002 reprsente bien une squence RTZ pour le codeur considr, 30001
7. Turbocodes convolutifs 223
ne lest plus. Ainsi, beaucoup des motifs derreurs, en particulier les plus pe-
tits, disparaissent grce au dsordre introduit lintrieur des symboles. La -
gure 7.9(b) donne deux exemples de motifs que linversion priodique ne modie
pas. Les distances correspondantes sont susamment leves (24 et 26 pour une
rendement 1/2) pour ne pas poser problme pour des tailles de blocs petites ou
moyennes. Pour des blocs longs (plusieurs milliers de bits), un dsordre suppl-
mentaire inter-symbole, de faible intensit, peut tre ajout la non-uniformit
intra-symbole, pour obtenir des distances minimales encore plus leves.
Figure 7.10 Permutation de type DRP. Cest une permutation circulaire rgulire
laquelle des permutations locales avant criture et aprs lecture sont ajoutes.
Permutations irrgulires
Nous ne ferons pas, dans cette section, une description de toutes les per-
mutations irrgulires qui ont pu tre imagines jusqu ce jour et qui ont fait
lobjet de nombreuses publications ou de plusieurs chapitres douvrages (voir
[7.24, 7.25] par exemple). Nous avons plutt retenu de prsenter ce qui semble
tre, pour le moment, le type de permutation la fois le plus simple et le
plus performant. Il sagit de permutations circulaires presque rgulires, ap-
pelesARP (almost regular permutation , [7.26]) ou DRP (dithered relatively
prime, [7.27]) suivant les auteurs. Dans tous les cas, lide est de ne pas trop
sloigner de la permutation rgulire, bien adapte aux motifs derreurs RTZ
simples et dinstiller un petit dsordre contrl pour contrer les motifs derreurs
RTZ multiples.
La gure 7.10 donne un exemple, tir de [7.27], de ce que peut tre ce petit
dsordre. Avant que soit eectue la permutation circulaire rgulire, les bits
subissent une permutation locale. Cette permutation seectue par groupes de
CW bits. CW , qui est le cycle du dsordre lcriture (writing cycle), est un
diviseur de la longueur k du message. De mme, une permutation locale de
cycle CR (reading cycle) est applique avant la lecture dnitive.
224 Codes et turbocodes
Pour que la permutation soit bien une bijection, les paramtres A(j) et B(j)
ne sont pas quelconques. Une condition susante pour assurer lexistence de la
permutation est que les paramtres soient tous multiples de C. Cette condition
nest pas trs contraignante vis--vis de lecacit de la permutation. (7.15)
peut alors tre rcrit sous la forme :
Q(j) = C((j)P + (j)) (7.16)
o (j) et (j) sont le plus souvent de petits entiers, de valeurs 0 8. Par
ailleurs, puisque les proprits dune permutation circulaire ne sont pas modi-
es par une simple rotation, lune des valeurs Q(j) peut tre systmatiquement
0.
Deux jeux typiques de valeurs Q, avec un cycle 4 et = 0 ou 1, sont donns
ci-dessous :
comme :
LRVsortie (d) = LRVentre (d) + z(d) (7.19)
o z(d) est linformation extrinsque propre d. Le LRV est amlior quand z
est ngative et d est un 0, ou quand z est positive et d est un 1.
Aprs p itrations, la sortie de DEC1 est :
Si le processus itratif converge vers une solution stable, z1p (d) z1p1 (d) et
z2p (d) z2p1 (d) tendent vers zro lorsque p tend vers linni. En consquence,
les deux LRV relatifs d deviennent identiques, satisfaisant ainsi le critre
fondamental de commune probabilit nonc plus haut. Quant la preuve de
la convergence, elle fait toujours lobjet de travaux approfondis et on peut
consulter ce propos, par exemple [7.28, 7.29].
Outre les fonctions de permutation et de permutation inverse, la gure 7.13
dtaille les oprations eectues lors du turbo-dcodage :
Notations
Une squence de donnes d est dnie par d dk1 0 = (d0 di dk1 ),
o di est le vecteur de donnes m-binaires appliqu lentre du codeur
linstant i : di = (di,1 di,l di,m ). La valeur de di pourra galement tre
m
reprsente par la grandeur scalaire entire j = 2l1 di,l , comprise entre 0 et
l=1
2m 1 et lon crira alors di j.
Dans le cas dune modulation deux ou quatre tats de phase (MDP-2,
MDP-4), la squence code et module u uk1 0 = (u0 ui uk1 ) est
constitue de vecteurs ui de taille m + m : ui = (ui,1 ui,l ui,m+m ), o
ui,l = 1 pour l = 1 m + m et m est le nombre de bits de redondance
ajouts aux m bits dinformation. Le symbole ui,l est donc reprsentatif dun
bit systmatique pour l m et dun bit de redondance pour l > m.
La squence observe en sortie du dmodulateur est note v v0k1 =
(v0 vi vk1 ), avec vi = (vi,1 vi,l vi,m+m ). La suite des tats du
codeur entre les instants 0 et k est note S = Sk0 = (S0 Si Sk ). Ce qui
suit sappuie sur les rsultats prsents dans le chapitre sur les codes convolutifs.
230 Codes et turbocodes
et :
2 1
i (s) = i+1 (s ) gi (s, s ) pour i = k 1 0 (7.26)
s =0
Li (j) peut alors scrire, par rfrence (7.20) et (7.21), de la manire suivante :
1
Li (j) = (Ai (j) Bi ) (7.34)
2
Les expressions (7.32) et (7.33) peuvent tre simplies en appliquant lapproxi-
mation dite Max-Log :
ln(exp(a) + exp(b)) max(a, b) (7.35)
On obtient pour Ai (j) :
Ai (j) min
Mi+1 (s) + Mi (s ) + Mi (s , s) (7.36)
(s ,s)/di (s ,s)j
7. Turbocodes convolutifs 233
et pour Bi :
Bi min M i+1 (s) + M i (s ) + M i (s , s) = min Ai (l) (7.37)
(s ,s) l=02m 1
et lon a nalement :
1
Li (j) = Ai (j) min Ai (l) (7.38)
2 l=02m 1
Les mtriques avant et arrire sont alors calcules partir des relations de
rcurrence suivantes :
m+m
Mi (s) = min Mi1
(s ) vi1,l ui1,l + 2Lai1 (d(s , s)) (7.42)
s =0, ,2 1
l=1
m+m
Mi (s) = min Mi+1
(s ) vi,l ui,l + 2Lai (d(s, s ) (7.43)
s =0, ,2 1
l=1
1
Li (j) = [Ai (j) Ai (j0 )] pour j = 0 2m 1 (7.45)
2
On notera que la prsence du coecient 2 dans la dnition (7.30) de Li (j)
permet de saranchir de la connaissance de ce paramtre pour le calcul des
mtriques et par consquent pour tout le dcodage. Cest un avantage important
de la mthode Max-Log-MAP sur la mthode MAP.
Dans le contexte du dcodage itratif, le terme Lai (j) est modi an de
prendre en compte linformation extrinsque Li (j) en provenance de lautre
dcodeur lmentaire :
L@ a
i (j) = Li (j) + Li (j) (7.46)
Dautre part, linformation extrinsque produite par le dcodeur est obtenue
en liminant dans Li (j) les termes contenant linformation directe sur di , cest-
-dire les informations intrinsques et a priori :
" #
$
m+m
Li (j) = 21
min Mi+1 (s) + Mi (s ) vi,l ui,l
(s ,s)/di (s ,s)j
# l=m+1
$% (7.47)
m+m
min Mi+1 (s) + Mi (s )
vi,l ui,l
(s ,s)/di (s ,s)j0 l=m+1
1
m
Li (j) = Li (j) + vi,l [ ui,l |di j ui,l |di j0 ] + L@
i (j) Li (j0 )
@
(7.48)
2
l=1
Figure 7.15 Droulement des rcursions avant et retour dans la mise en uvre de
lalgorithme MAP par fentre glissante.
tre remplace aussitt aprs par une autre donne, qui peut tre linformation
extrinsque sortante du mme dcodeur. La gure 7.17 illustre ce procd qui
impose une hypothses lgre : les indices de travail i et j ont mme parit et
la permutation i = (j) inverse la parit. Par exemple, avec la permutation
dnie par (7.4), cette hypothse est satisfaite si lindice de dpart i0 est impair
et la longueur du message k paire.
avanant dune place chaque fois, les congruences modulo 4 des adresses sont
toujours direntes. travers un aiguilleur qui dirige les quatre processeurs vers
quatre pages de mmoire correspondant aux quatre congruences possibles, les
conits dadressage sont carts. Si k/4 nest pas un multiple de 4, les adresses
de dpart ne sont plus exactement 0, k/4 + 1, k/2 + 2, 3k/4 + 3 mais le procd
est toujours applicable.
Quelle que soit la valeur du cycle C, des degrs de paralllisme plus levs,
de valeur pC, peuvent tre mis en uvre. En eet, un quelconque multiple de
C, cycle de base de la permutation, est aussi un cycle de la permutation, la
condition que pC soit un diviseur de k. Cest--dire que j modulo pC et (j)
modulo pC sont priodiques sur le cercle de longueur k, qui peut alors tre
dcoup en pC fractions dgales longueurs. Par exemple, un paralllisme de
degr 64 est possible pour une valeur de k gale 2048.
Toutefois, quel que soit le degr de paralllisme, une latence minimale est
incontournable : le temps de rception et de mise en mmoire tampon dun
paquet reu. Pendant que ce paquet est rang en mmoire, le dcodeur travaille
sur les informations contenues dans le paquet prcdent. Si ce dcodage est
ralis en un temps au plus gal au temps de mmorisation, alors la latence
totale de dcodage est au maximum deux fois ce temps de mmorisation. Le
niveau de paralllisme dans le dcodeur est ajust en fonction de cet objectif,
qui peut tre contraignant dans certains cas.
Pour en savoir plus sur limplmentation des turbo-dcodeurs et parmi
toutes les publications sur ce sujet, [7.32] constitue un bon prolongement de
cette section.
7. Turbocodes convolutifs 239
Figure 7.19 Structure gnrale dun codeur CSR m-binaire de mmoire de code .
Lindice temporel nest pas reprsent.
condition que :
RT G1 C 0 (7.52)
Lexpression (7.50) assure dune part que le poids de Hamming du vecteur
(d1,i , d2,i , , dm,i , yi ) est au moins gal deux quand on scarte du chemin
de rfrence (chemin tout zro ), dans le treillis. En eet, inverser une
seule composante de di modie la valeur de yi . Dautre part, lexpression (7.51)
indique que le poids de Hamming du mme vecteur est aussi au moins gal
deux lorsque lon rejoint le chemin de rfrence. En conclusion, les relations
(7.50) et (7.51) ensemble garantissent que la distance libre du code, dont le
rendement est R = m/(m + 1), est au moins gale 4, quel que soit m.
un code m-binaire :
2k
sup Smin = (7.53)
m
Pour un rendement de codage R, le nombre de bits de parit produits par
la squence de longueur cumule sup Smin est :
1R m 1R mk
nparit (sup Smin ) = sup Smin = (7.54)
R 2 R 2
Ainsi, en remplaant un turbocode binaire (m = 1) par un code double-
binaire (m = 2), le nombre de bits de parit dans la squence considre
est multipli par 2, bien que la distance spatiale cumule ait t rduite
dans le mme rapport. Parce que les bits de parit sont des informa-
tions locales pour les deux dcodeurs lmentaires (et ne sont donc pas
source de corrlation entre ceux-ci), en augmenter le nombre amliore la
convergence. Augmenter m au del de 2 amliore encore un peu le com-
portement vis--vis de la corrlation mais les eets sont moins visibles
que lors du passage de m = 1 m = 2.
Plus grandes distances minimales. Comme expliqu ci-dessus, le
nombre de bits de parit produits par des squences RTZ de poids den-
tre 2 est augment en utilisant des codes m-binaires. Il en est de mme
pour toutes les squences RTZ simples telles que dnies dans la sec-
tion 7.3.2. Le nombre de bits de parit pour ces squences est au moins
gal nparit (sup Smin ). Les distances de Hamming correspondantes sont
donc encore plus leves que celles qui sont obtenues avec des codes bi-
naires et contribuent dautant moins la DMH du turbocode. Quant aux
distances associes aux motifs RTZ multiples, qui sont gnralement ceux
qui xent la DMH, elles sont fonction de la qualit de la permutation mise
en uvre (voir section 7.3.2).
Moindre poinonnage. Pour obtenir des rendements de codage sup-
rieurs m/(m + 1) partir du codeur de la gure 7.20, il nest pas
ncessaire de supprimer autant de symboles de redondance quavec un
codeur binaire. La performance des codes lmentaires en est amliore
242 Codes et turbocodes
comme le montre la gure 7.21. Dans cette gure sont compars le pou-
voir de correction de codes convolutifs de rendements 2/3 et 6/7, dans la
version binaire (m = 1) et double-binaire (m = 2).
Figure 7.22 (a) Performance en TEP dun turbocode double-binaire 8 tats pour
des blocs de 12, 14, 16, 53 et 188 octets. MDP-4, bruit BABG et rendement 2/3.
Dcodage Max-Log-MAP avec des chantillons dentre de 4 bits et 8 itrations. (b)
Performance en TEP dun turbocode double-binaire 16 tats pour des blocs de 188
octets (MDP-4 et MDP-8) et 376 octets (MDP-8), bruit BABG et rendement 2/3.
Dcodage Max-Log-MAP avec des chantillons dentre de 4 bits (MDP-4) ou 5 bits
(MDP-8) et 8 itrations.
Cette mthode, propose par Berrou et al [7.38], nest pas base sur lanalyse
des proprits du code mais sur la capacit de correction du dcodeur. Son
principe, illustr par la gure 7.23, consiste superposer la squence dentre
du dcodeur une impulsion derreur dont on fait crotre lamplitude Ai jusqu
ce le dcodeur ne sache plus la corriger.
Figure 7.24 TEP mesur et estim (UB ) du turbocode DVB-RCS pour la trans-
mission de blocs MPEG (188 octets) avec des rendements de codage 2/3 et 4/5.
Modulation MDP-4 et canal gaussien.
7.6.3 Convergence
Hypothses :
Hyp. 1 : lorsque lentrelacement est de taille susamment grande, la
distribution de linformation extrinsque dentre peut tre approche
par une distribution gaussienne aprs quelques itrations.
Hyp. 2 : la densit de probabilit f (z|x) vrie la condition de symtrie
exponentielle, savoir f (z|x) = f (z|x)exp(z).
La premire hypothse permet de modliser le LRV a priori ZA dun dcodeur
SISO par une variable aecte dun bruit gaussien indpendant nz , de variance
z et desprance z , applique au symbole dinformation transmis x selon
lexpression :
ZA = z x + nz
La seconde hypothse impose z2 = 2z . Lamplitude de linformation extrin-
sque est donc modlise par la distribution suivante :
" %
2
1 ( z x)
f ( | x) = exp (7.58)
4z 4z
De (7.57) et (7.58), en remarquant que f ( z| 1) = f ( z| 1), on dduit lin-
formation mutuelle moyenne a priori :
+ " %
2
1 ( z ) 2
IA = exp log2 d
4z 4z 1 + exp ()
soit encore :
+ " - C .2 %
1 z2 2
IA = 1 exp log2 [1 + exp ()] d (7.59)
2z 2z2
7. Turbocodes convolutifs 251
e. Un exemple
Diagramme EXIT
Figure 7.28 Diagrammes EXIT pour dirents Eb /N0 dans le cas de turbocodes
binaires, rendement 2/3, entrelacement pseudo-alatoire de 20000 bits, dcodage MAP
(a) 16 tats et (b) 8 tats.
Lorsque le rapport signal bruit est trop faible, les courbes prsentent
comme dans le cas Eb /N0 = 1, 4 dB dans la gure 7.28(b) des points dinter-
section autres que le point (1,1). Le processus itratif dmarrant dune IMM
nulle en entre ne pourra donc pas aboutir une dtermination parfaite du
message. Le rapport signal bruit minimal pour lequel il nexiste pas dinter-
section autre que le point (1,1) est le seuil de convergence du turbocodeur. Dans
lexemple simul, cette convergence peut tre estime autour de 1,4 dB pour
les turbocodes binaires 16 tats (gure 7.28(a)) et 8 tats (gure 7.28(b)).
254 Codes et turbocodes
Figure 7.29 Taux derreurs binaire dun turbocode binaire 16 tats (a) et 8 tats
(b) de rendement 2/3, avec entrelacement pseuso-alatoire de 20000 bits. Dcodage
MAP avec 1, 3, 6, 10, 15 et 20 itrations et comparaison avec le seuil de convergence
estim par la mthode EXIT.
7.7 Bibliographie
[7.1] G. Battail, Coding for the Gaussian channel : the promise of weighted-
output decoding , International Journal of Satellite Communications, Vol. 7,
pp. 183-192, 1989.
[7.2] G. Battail, Pondration des symboles dcods par lalgorithme de
Viterbi , Ann. Tlcommun., Fr., 42, N 1-2, pp. 31-38, Jan. 1987.
[7.3] J. Hagenauer and P. Hoeher, A Viterbi algorithm with soft-decision
outputs and its applications , Proc. Globecom 89, Dallas, Texas, pp. 47.11-
47-17, Nov. 1989.
[7.4] J. Hagenauer and P. Hoeher, Concatenated Viterbi-decoding , Proc.
Int. Workshop on Inf. Theory, Gotland, Sweden, Aug-Sep. 1989.
[7.5] P. Elias, Error-free coding , IEEE Trans. Info. Theory, vol. 4, N
4, pp. 29-39, Sept. 1954.
[7.6] R. M. Tanner, A recursive approach to low complexity codes , IEEE
Trans. Inform. Theory, Vol. IT-27, pp. 533-547, Sept. 1981.
[7.7] R. G. Gallager, Low-density parity-check codes , IRE Trans. Inform.
Theory, Vol. IT-8, pp. 21-28, Jan. 1962.
[7.8] C. Berrou, P. Adde, E. Angui and S. Faudeil, A low complexity soft-
output Viterbi decoder architecture , Proc. of ICC 93, Geneva, pp. 737-740,
May 1993.
[7.9] C. Berrou, Procd de codage correcteur derreurs au moins deux co-
dages convolutifs systmatiques en parallle, procd de dcodage itratif, mo-
dule de dcodage et dcodeur correspondants, brevet France dpt N91 05280,
Europe N92 460013.3, USA N07/870,814, France Tlcom et TDF, avril 1992
[7.10] C. Berrou, A. Glavieux and P. Thitimajshima, Near Shannon limit
error-correcting coding and decoding : turbo-codes , Proc. ICC 93, Geneva,
pp. 1064-1070, May 1993.
[7.11] A. R. Calderbank, The art of signaling : fty years of coding
theory , IEEE Trans. Info. Theory, vol. 44, N 6, pp. 2561-2595, Oct. 1998.
[7.12] C. Berrou and A. Glavieux, Reections on the Prize paper : Near
optimum error correcting coding and decoding : turbo-codes , IEEE IT Society
Newsletter, Vol. 48, N 2, June 1998, galement disponible
www.ieeeits.org/publications/nltr/98_jun/reections.html.
[7.13] C. Berrou, C. Douillard and M. Jzquel, Multiple parallel conca-
tenation of circular recursive convolutional (CRSC) codes , Ann. Tlcomm.,
Tome 54, N 3-4, pp. 166-172, March-April 1999.
[7.14] Consultative Committee for Space Data Systems, Recommendations
for Space Data Systems. Telemetry Channel Coding, BLUE BOOK, May 1998.
[7.15] 3GPP Technical Specication Group, Multiplexing and Channel Co-
ding (FDD), TS 25.212 v2.0.0, June 1999.
[7.16] C. Berrou and M. Jzquel, Frame-oriented convolutional turbo-
codes , Electronics letters, Vol. 32, N 15, pp. 1362-1364, July 1996.
[7.17] C. Weiss, C. Bettstetter, S. Riedel and D.J. Costello, Turbo decoding
with tail-bitting trellises , Proc. Signals, Systems and Electronics, URSI Intl
256 Codes et turbocodes
Turbocodes produits
8.1 Historique
En vertu de la borne de Gilbert-Varshamov, il est ncessaire davoir des
codes longs pour obtenir des codes en blocs ayant une distance minimale de
Hamming (DMH)importante et donc un fort pouvoir de correction. Or, sans
structure particulire, il est presque impossible de dcoder ces codes.
Linvention des codes produits, due Elias [8.1], se place dans cette pro-
blmatique : il sagit dun moyen simple dobtenir des codes haut pouvoir
de correction aisment dcodables partir de codes lmentaires simples. Ces
codes produits peuvent tre vus comme une ralisation particulire du principe
de concatnation (chapitre 6).
Le premier algorithme de dcodage dcoule immdiatement de la construc-
tion de ces codes. Il sagit de lalgorithme alternant le dcodage, en dcision
dure, des codes lmentaires sur les lignes et les colonnes. Malheureusement
cet algorithme ne permet pas datteindre le pouvoir de correction maximum de
ces codes. Lalgorithme de Reddy-Robinson [8.2] permet de latteindre. Mais
sans doute en raison de sa complexit, il na jamais t implant dans des
applications pratiques.
Ce chapitre a pour but de faire une prsentation assez complte des algo-
rithmes de dcodage des codes produits, que ce soit les algorithmes sur donnes
dures ou sur donnes souples.
Dnition :
Soit C1 (resp. C2 ) un code linaire de longueur n1 (resp. n2 ) et de dimen-
sion1 k1 (resp. k2 ). Le code produit C = C1 C2 est lensemble des matrices
M de taille n1 n2 telles que :
Chaque ligne est un mot de code de C1 ,
Chaque colonne est un mot de code de C2 .
Ce code est un code linaire de longueur n1 n2 et de dimension k1 k2 .
Exemple 8.1 :
Soit H le code de Hamming de longueur 7 et P le code de parit de longueur
3. La dimension de H est 4 et la dimension de P est 2. Le code C = H P
est donc de longueur 21 = 7 3 et de dimension 8 = 4 2. Soit coder le mot
dinformation suivant :
0 1 1 0
I=
1 0 1 0
Chaque ligne dun mot de code de C doit tre un mot de code de H. Donc
pour coder I, on commence par multiplier chaque ligne de I par la matrice
gnratrice du code H :
1 0 0 0 1 1 1
0 1 0 0 1 1 0
0 1 1 0
0
= 0
1 1 0 0 1 1
0 1 0 1 0 1
0 0 0 1 0 1 1
1 0 0 0 1 1 1
0 1 0 0 1 1 0
1 0 1 0
0
= 1
0 1 0 0 1 0
0 1 0 1 0 1
0 0 0 1 0 1 1
Chaque colonne du mot de code nal doit maintenant tre un mot du code
de parit P . Le mot de code nal sobtient donc en ajoutant une troisime ligne
forme par les bits de parit de chaque colonne. Le mot de code complet est :
0 1 1 0 0 1 1
1 0 1 0 0 1 0
1 1 0 0 0 0 1
Pour que le mot de code soit valide, il faut encore vrier que la troisime ligne
du mot est bien un mot de code de H. Il faut donc multiplier ce vecteur ligne
par la matrice de contrle de parit de H :
1
1
1 1 1 0 1 0 0 0
0
1 1 0 1 0 1 0 0 = 0
1 0 1 1 0 0 1 0
0
0
1
En fait, cette vrication est inutile : elle est assure par construction puisque les
codes H et P sont linaires. De plus, lordre dencodage na pas dimportance :
si on code dabord par colonnes puis par lignes, le mot de code obtenu est le
mme.
Proprit :
Le dcodage ligne-colonne est born par un pouvoir de correction de (t1 +1)
(t2 + 1) erreurs. En dautres termes, le dcodage ligne-colonne dcode tout mot
ayant au plus (t1 + 1) (t2 + 1) erreurs (mme sil peut ventuellement dcoder
certains motifs ayant plus derreurs) et il existe des mots ayant exactement
(t1 + 1) (t2 + 1) erreurs qui ne seront pas dcods.
En eet, supposons que lon ait un motif avec un nombre derreurs stricte-
ment infrieur (t1 + 1) (t2 + 1). Puisque lalgorithme de dcodage en ligne
262 Codes et turbocodes
Exemple 8.2 :
On suppose que lon a un code produit dont le code en ligne et le code
en colonne ont tous les deux une distance minimale gale 5. Ils sont donc
tous les deux 2-correcteurs. Le code produit, daprs ce qui prcde, peut donc
corriger tout mot ayant au plus 8 erreurs. La gure 8.1 montre un mot ayant
10 erreurs (reprsentes par les points) et pourtant corrigible par le dcodage
ligne-colonne. La gure 8.2 montre un motif ayant le mme nombre derreurs
mais non corrigible.
eaant les symboles les moins srs (i.e. ceux qui ont le poids de ligne
le plus lev). On a donc au plus d1 /2 dcodages par ligne. chaque
n
dcodage on attribue un poids W tel que W = wi o wi = li si le
i=1
symbole de la ligne i est inchang par le dcodage et wi = d2 /2 sinon.
tape 3 : Comme dcodage nal, on choisit pour chaque colonne, le mot
dcod donnant le poids W le plus petit.
Le dcodage de Reddy-Robinson permet de corriger tout motif derreurs
dont le poids est infrieur strictement d1 d2 ([8.2]).
Exemple 8.3 :
Reprenons lexemple prcdent avec le mot de la gure 8.2. Au cours de la
premire tape, les lignes ayant 3 erreurs ne pourront pas tre corriges par le
code ligne car celui-ci ne peut corriger que 2 erreurs au maximum (DMH de
5). Elles se verront donc attribuer un poids gal 2,5. La ligne avec une erreur
aura un poids gal 1, tandis que toutes les lignes restantes auront un poids
gal 0. La conguration est alors comme illustr en gure 8.3.
Figure 8.3 Calcul des poids de ligne issus de la premire tape de lalgorithme de
Reddy-Robinson.
Exemple 8.4 :
Soit r = (0, 5; 0, 7; 0, 9; 0, 2; 0, 3; 0, 1; 0, 6) un chantillon reu dun mot
de code de Hamming(7, 4, 3) et le nombre de places de lalgorithme de Chase
est gal t = 3. On choisit = 0, 6. Lalgorithme prcdent donne alors :
tape 1 : P1 = 6, P2 = 4, P3 = 5.
tape 2 :
I hi
0 (1 ;1 ;0 ;1 ;0 ;1 ;1)
1 (1 ;1 ;0 ;1 ;0 ;0 ;1)
2 (1 ;1 ;0 ;0 ;0 ;1 ;1)
3 (1 ;1 ;0 ;0 ;0 ;0 ;1)
4 (1 ;1 ;0 ;1 ;1 ;1 ;1)
5 (1 ;1 ;0 ;1 ;1 ;0 ;1)
6 (1 ;1 ;0 ;0 ;1 ;1 ;1)
7 (1 ;1 ;0 ;0 ;1 ;0 ;1)
tape 3 : Les bits avec une toile dans la colonne des mots concurrents
ci correspondent aux places corriges par le dcodeur ferme dans le mot
hi .
I hi ci
0 (1 ;1 ;0 ;1 ;0 ;1 ;1) (1 ;1 ;0 ;1 ;0 ;1 ;0*)
1 (1 ;1 ;0 ;1 ;0 ;0 ;1) (1 ;1 ;0 ;0* ;0 ;0 ;1)
2 (1 ;1 ;0 ;0 ;0 ;1 ;1) (1 ;1 ;0 ;0 ;0 ;0* ;1)
3 (1 ;1 ;0 ;0 ;0 ;0 ;1) (1 ;1 ;0 ;0 ;0 ;0 ;1)
4 (1 ;1 ;0 ;1 ;1 ;1 ;1) (1 ;1 ;1* ;1 ;1 ;1 ;1)
5 (1 ;1 ;0 ;1 ;1 ;0 ;1) (0* ;1 ;0 ;1 ;1 ;0 ;1)
6 (1 ;1 ;0 ;0 ;1 ;1 ;1) (1 ;0* ;0 ;0 ;1 ;1 ;1)
7 (1 ;1 ;0 ;0 ;1 ;0 ;1) (1 ;1 ;0 ;0 ;0* ;0 ;1)
tape 4 :
I ci Mi
0 (1 ;1 ;0 ;1 ;0 ;1 ;0*) -(0.5)-(0.7)+(-0.9)-(0.2)+(-0.3)-(0.1)+(0.6)=-2,1
1 (1 ;1 ;0 ;0* ;0 ;0 ;1) -(0.5)-(0.7)+(-0.9)+(0.2)+(-0.3)+(0.1)-(0.6)=-2,7
2 (1 ;1 ;0 ;0 ;0 ;0* ;1) -(0.5)-(0.7)+(-0.9)+(0.2)+(-0.3)+(0.1)-(0.6)=-2,7
3 (1 ;1 ;0 ;0 ;0 ;0 ;1) -(0.5)-(0.7)+(-0.9)+(0.2)+(-0.3)+(0.1)-(0.6)=-2,7
4 (1 ;1 ;1* ;1 ;1 ;1 ;1) -(0.5)-(0.7)-(-0.9)-(0.2)-(-0.3)-(0.1)-(0.6)=-0,9
5 (0* ;1 ;0 ;1 ;1 ;0 ;1) +(0.5)-(0.7)-(-0.9)-(0.2)-(-0.3)+(0.1)-(0.6)=0,3
6 (1 ;0* ;0 ;0 ;1 ;1 ;1) -(0.5)+(0.7)+(-0.9)+(0.2)-(-0.3)-(0.1)-(0.6)=-0,9
7 (1 ;1 ;0 ;0 ;0* ;0 ;1) -(0.5)-(0.7)+(-0.9)+(0.2)+(-0.3)+(0.1)-(0.6)=-2,7
j Fj Ej
1 ((0,3)-(-2,7))/4=0,75 0,75-0,5=0,25
2 ((-0,9)-(-2,7))/4=0,475 0,475-0,7=-0,225
3 ((-0,9)-(-2,7))/4=0,475 -0,475-(-0,9)=0,525
4 ((-0,9)-(-2,7))/4=0,475 -0,475-0,2=-0,675
5 ((-2,1)-(-2,7))/4=0,15 -0,15-(-0,3)=0,15
6 ((-0,9)-(-2,7))/4=0,475 -0,475-0,1=-0,575
7 ((-2,1)-(-2,7))/4=0,15 0,15-0,6=-0,4
268 Codes et turbocodes
tape 3 : la dcision dure sur les n k = 4 valeurs reues les plus fortes
donne s = (0, 1, 1, 1). La matrice H sans les k dernires colonnes, permet
de retrouver les valeurs de redondance manquantes :
0
1 1 0 1 0
1
1 0 1 1 = 0
1
1 1 1 0 0
1
Le vecteur dcod initial est donc (0, 1, 1, 1, 0, 0, 0) qui donne aprs per-
mutation inverse le vecteur (1, 1, 0, 0, 0, 0, 1). La mtrique initiale est M =
M1 + M2 = 2, 7 car M1 = (0, 9) 0, 7 0, 6 0, 5 = 2, 7 et
M2 = (0, 3) + 0, 2 + 0, 1 = 0, 0.
tape 4 : pour numrer les concurrents, on applique des masques din-
version aux n k premier bits (on peut avoir de 1 4 inversions au
maximum). Chaque masque dinversion va accrotre la partie M1 de la
mtrique. Pour une inversion, le bonus est au minimum de 1,0 et au maxi-
mum de 1,8. Le bonus minimum pour deux inversions est au minimum
de 2 (0, 6 + 0, 5) = 2, 2. Les premiers concurrents considrer sont donc
tous ceux correspondant une seule inversion. De plus, les modications
8. Turbocodes produits 271
j FP (j)
1 ((-0,9)-(-2,7))/4=0,475
2 ((-1,1)-(-2,7))/4=0,4
3 ((-2,1)-(-2,7))/4=0,15
4 ((-1,5)-(-2,7))/4=0,3
5 ((-1,5)-(-2,7))/4=0,3
6 ((-1,5)-(-2,7))/4=0,3
7 ((-2,1)-(-2,7))/4=0,15
J EJ
1 0,3-0,5=-0,2
2 0,4-0,7=-0,3
3 -0,475-(-0,9)=0,525
4 -0,3-0,2=-0,5
5 -0,3-(-0,3)=0,0
6 -0,15-0,1=-0,25
7 0,15-0,6=-0,4
272 Codes et turbocodes
nk1
m est le m-ime bit de la reprsentation binaire de lentier ( = m 2m ),
m=0
et :
5
n1
D (l) = (l )t (l)
l=0
t (l) tant le l-ime bit du -ime vecteur du dual du code, soit donc :
#nk1 $
t (l) = m hml mod 2 = , hl mod 2
m=0
8. Turbocodes produits 273
n1
F (w) = ln (|l |) exp {jtw (l)}
l=0
n1
avec en particulier, F (0) = ln (|l |).
l=0
1exp{jt} F (0)F ()
n1
Dautre part, si t = 0 ou 1, alors 2 = t et(t (l) ln |l |).
2 =
/ 0 l=0
n1
nk1
De mme, si on pose Fq (w) = ql exp j wm hml , on a :
l=0 m=0
Fq (0) Fq ()
n1
= (ql ln |l |)
2
l=0
et donc :
1 1
D (l) = exp (F (0) F ()) exp j (Fq (0) Fq ())
2 2
Les deux termes F ()et Fq () ont une expression commune de la forme :
& nk1 '
n1
F (w) = fl exp j wm hml
l=0 m=0
On dnit la fonction g sur lensemble 0, , 2nk 1 valeurs relle
par :
nk1
fl si l, p = hml 2m
g(p) =
m=0
0 sinon
La fonction g est bien dnie car les colonnes de H sont linairement indpen-
dantes et donc a fortiori deux deux distinctes. La transforme de Hadamard
de G est alors une fonction valeurs relles dnie sur lintervalle 0..2nk 1
par :
1
2nk
G(w) = g(p)(1)<p,w>
p=0
nk1
Or la fonction g est nulle sauf pour les points pl = hml 2m pour l
l=0
[0, , n 1]. Il vient alors :
P
# $
nk1
n1 n1 nk1
< hml 2m ,w>
G(w) = fl (1) m=0 = fl exp j wm hml = F (w)
l=0 l=0 m=0
Le produit scalaire < i, j > est comme prcdemment le produit scalaire bit
bit des dveloppements binaires de i et j. On crit aussi sous forme vectorielle,
R = RH2n o H2n est la matrice de Hadamard dordre 2n dont le coecient
(H2n )i,j = (1)<i,j> .
Soit A une matrice de taille a1 a2 et B une matrice de taille b1 b2
coecients rels. Alors le produit de Kronecker de A par B, not A B,
est une matrice de taille (a1 b1 ) (a2 b2 ) telle que (A B)i,j = Aq1 q2 Br1 r2 o
i = b1 q1 + r1 et j = b2 q2 + r2 avec 0 r1 < b1 et 0 r2 < b2 .
Si N = 2n , on montre que ([8.9]) :
8. Turbocodes produits 275
5
n
- .
HN = I2i1 H2 IN/2i
i=1
Exemple 8.6 :
Soit calculer la transforme de Hadamard du vecteur :
R = [0, 2; 0, 5; 0, 7; 1, 3; 0, 1; 1, 1; 0, 8; 0, 3]
On a R = RH8 avec :
1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1
H8 =
1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1
R = [0, 8; 0, 0; 1, 4; 1, 8; 1, 8; 4, 6; 1, 6; 1, 6]
1 0 1 0
1 0 1 1 1 0 1 0 0 1 0 1
G2 = =
1
0 1 1 1 0 1 0 1 0 1 0
0 1 0 1
1 0 1 0 0 0 0 0
0 1 0 1 0 0 0 0
1 0 1 0 0 0 0 0
0 1 0 1 0 0 0 0
=
0 0 0 0 1 0 1 0
0 0 0 0 0 1 0 1
0 0 0 0 1 0 1 0
0 0 0 0 0 1 0 1
1 1 0 0 0 0 0 0
1 1 0 0 0 0 0 0
1 0 0 0 0 0 1 1 0 0 0 0
0 1 0 0 1
G3 = 1 1
=
0 0 1 0 0 0 0
0 0 1 0 1 1 0 0 0 0 1 1 0 0
0 0 0 1 0 0 0 0 1 1 0 0
0 0 0 0 0 0 1 1
0 0 0 0 0 0 1 1
R = [0, 8; 0, 0; 1, 4; 1, 8; 1, 0; 1, 8; 0, 0; 3, 2] G1 G2 G3
= [0, 8; 0, 0; 1, 4; 1, 8; 1, 8; 4, 6; 1, 6; 1, 6]
Les matrices Gi sont des matrices creuses ayant seulement deux lments non
nuls par colonnes. De plus la factorisation de la matrice de Hadamard HN est de
longueur proportionnelle log(N ). Le cot total du calcul est donc en N log(N )
par la transforme rapide, au lieu de N 2 par la mthode directe. La gure 8.6
reprsente le graphe des calculs pour la transforme rapide de Hadamard dans
le cas N = 8. En termes de performance de correction derreurs, larticle [8.10]
montre que lon obtient les mmes performances que lalgorithme de Chase-
Pyndiah pour deux fois moins ditrations.
minimisation dune fonction de cot global ayant pour variables les bits din-
formation du mot. Cette optimisation doit se faire thoriquement en nombre
entier ce qui rend le problme trs dicile. La technique utilise est de rem-
placer ces variables entires par des variables relles. Le problme nest alors
plus strictement quivalent au problme initial mais il devient possible duti-
liser des techniques classiques doptimisation non linaires comme la mthode
du gradient pour rechercher le minimum de la fonction de cot.
Une autre approche introduite par Kschischang et al [8.12] consiste utili-
ser le fait que la plupart des codes en blocs utiliss dans les turbocodes produits
sont en fait des codes en treillis. Il est alors possible dutiliser les algorithmes
classiques (MAP, Max-Log-MAP, . . . ) de dcodage des codes en treillis pour
obtenir les dcisions souples du dcodeur. Ce type dalgorithme est une appli-
cation au cas des turbocodes produits des algorithmes de dcodage maximum
de vraisemblance de Wolf [8.13].
Un autre algorithme plus rcemment invent est celui de Ktter et al [8.14].
Cet algorithme nest applicable qu des codes trs spciques dont essentiel-
lement les codes de Reed-Solomon et les codes algbriques. Il est bas sur lal-
gorithme de Sudan [8.15] qui est capable de dterminer les mots de codes dans
un voisinage proche du mot reu. Il est alors possible dutiliser les techniques
de pondrations classiques. Si la version initiale de cet algorithme est relative-
ment coteuse en calcul, des amliorations thoriques ont t apportes et cet
algorithme est dautant plus prometteur que les codes de Reed-Solomon sont
largement utiliss dans le domaine des tlcommunications. Il existe aussi des
algorithmes de dcodage base de sous-codes [8.16]. Bien quun peu complexe
au niveau de limplmentation, ces algorithmes donnent dexcellentes perfor-
mances. Enn, des travaux rcents ont montr que les algorithmes de dcodage
base de propagation de croyance peuvent tre appliqus aux codes linaires
en gnral [8.17].
278 Codes et turbocodes
6 bits) mais le cot matriel dun vrai multiplieur est prohibitif, et on prfre
gnralement lui substituer une simple table.
Le dcodeur SISO, dcrit par la gure 8.9, ralise les tapes de lalgorithme
de Chase-Pyndiah. Le dcodeur est form de cinq parties :
Le module de traitement squentiel des donnes calcule de manire paral-
lle le syndrome du mot de code entrant et les positions les moins ables
de la trame.
Le module de dcodage algbrique eectue le dcodage algbrique des mots
construits partir des donnes Rk entrantes et de la connaissance des
places les moins ables.
Le module de slection dtermine le mot de code le plus probable ainsi
que le ou les mots concurrents les plus proches.
Le module de calcul des pondrations dtermine la abilit des bits dco-
ds.
Le module mmoire stocke les pondrations totales entrantes qui sont
utilises pour le calcul des pondrations.
Le module de traitement des donnes reoit les bits dchantillons les uns
aprs les autres. Si le code est cyclique (BCH, par exemple) le calcul du syn-
drome se fait alors de manire trs simple en utilisant la factorisation du poly-
nme gnrateur suivant le schma de Hrner. La dtermination des positions
les moins ables se fait souvent en grant de manire squentielle la liste des
positions peu ables dans une petite RAM locale. Il existe aussi dautre solu-
280 Codes et turbocodes
8.6 Bibliographie
[8.1] P. Elias, Error-free coding , IEEE Transactions on Information Theory,
vol. IT-4, 1954, pp. 29-37.
[8.2] S.M. Reddy and J.P. Robinson, Random error and burst corrections
by iterated codes , IEEE Transactions on Information Theory, vol. 18, No 1,
1972, pp. 182-185.
[8.3] N. Sendrier, Codes correcteurs haut pouvoir de correction, Thse de
lUniversit Paris VI, 1991.
[8.4] C. Berrou , A. Glavieux and P. Thitimajshima, Near Shannon limit
error correcting coding and decoding : Turbo-codes , Intl. Conf. on Commu-
nications, vol. 2, 1993, Geneva, Switzerland, pp. 1064-1070.
[8.5] R. Pyndiah, A. Glavieux , A. Picart and S. Jacq , Near optimum
decoding of product codes , IEEE GLOBECOM94, San Francisco, 1994.
[8.6] C.R.P. Hartmann and L.D. Rudolph , An optimum symbol-by-symbol
8. Turbocodes produits 281
decoding rule for linear codes , IEEE Transactions on Information Theory, vol.
IT-22, 1974, pp. 514-517.
[8.7] J. Hagenauer, E. Oer and L. Papke , Iterative decoding of binary
block and convolutional codes , IEEE Transactions on Information Theory,
vol. IT-42, 1996, pp. 429-445.
[8.8] L.E. Nazarov and V.M. Smolyaninov, Use of fast Walsh-Hadamard
transformation for optimal symbol-by-symbol binary block-code decoding ,
Electronics Letters, vol. 34, 1998, pp. 261-262.
[8.9] M. Lee and M. Kaveh, Fast Hadamard transform based on a simple
matrix factorization , IEEE Transactions on Acoustics, Speech, and Signal
Processing, vol. 34, 1986, pp. 1666- 1667.
[8.10] A. Goalic , K. Cavalec-Amis and V. Kerbaol , Real-Time Turbo
Decoding of Block Turbo Codes using the Hartmann-Nazarov algorithm on
the DSP TEXAS TMS320C6201 , Intl. Conf. on Communications, New-York,
2002.
[8.11] K. Farrell , L. Rudolph , C. Hartmann and L. Nielsen , Decoding
by local optimisation , IEEE Trans. Info. Theory, vol. 29, N 5, pp 740-743,
Sept. 1983.
[8.12] V. Sorokine , F.R. Kschischang and V. Durand , Trellis based de-
coding of binary linear block codes , Lecture Notes in Computer Science, vol.
793, Springer-Verlag Publisher, 1994, pp. 270-286.
[8.13] J. Wolf , Ecient maximum likelihood decoding of linear block codes
using a trellis ,IEEE Transactions on Information Theory, vol. 24, 1978, pp.
76-80.
[8.14] R. Kotter and A. Vardy , Algebraic soft-decision decoding of Reed-
Solomon codes , IEEE International Symposium on Information Theory, 2000,
p. 61.
[8.15] M. Sudan , Decoding of Reed-Solomon codes beyond the error cor-
rection bound , Journal of Complexity, vol. 12, 1997, pp. 180-193.
[8.16] C.Y. Liu and S. Lin , Turbo encoding and decoding of Reed-Solomon
codes through binary decomposition and self-concatenation ,IEEE Transac-
tions on Communications,vol. 52, issue 9, Sept. 2004, pp. 1484 1493.
[8.17] A. Kothiyal , O.Y. Takeshita , A comparison of adaptative belief
propagation and the best graph algorithm for the decoding of linear block
codes , IEEE International Symposium on Information Theory, 2005, pp. 724-
728.
[8.18] P. Adde, R. Pyndiah and O. Raoul, Performance and complexity of
block turbo decoder circuits , Third International Conference on Electronics,
Circuits and System ICECS96, Rodos, Greece, 1996, pp. 172-175.
[8.19] J. Cuevas, P. Adde and S. Kerouedan, Turbo decoding of product
codes for Gigabit per second applications and beyond , European Tansactions
on Telecommunications, vol.17, N1, Jan. 2006, pp. 45-55.
Chapitre 9
Codes LDPC
Les codes LDPC (Low Density Parity Check codes pour codes faible den-
sit) forment une classe de codes en bloc qui se caractrisent par une matrice
de contrle creuse. Ils ont t dcrits pour la premire fois dans la thse de
Gallager au dbut des annes 60 [9.1]. Outre le dcodage entre ferme des
codes LDPC, cette thse proposait dj un dcodage itratif bas sur la pro-
pagation de croyance (en anglais BP pour Belief Propagation). Ces travaux
ont t oublis pendant 30 ans. Seules quelques rares tudes y font rfrence
durant cette priode de sommeil, notamment, celle de Tanner qui proposa une
gnralisation des codes de Gallager et une reprsentation par graphe bipartite
[9.2].
Aprs linvention des turbocodes, les codes LDPC furent redcouverts au
milieu des annes 90 par MacKay et al [9.3], Wilberg [9.4] et Sipser et al
[9.5]. Depuis, des progrs considrables sur les rgles de construction de bons
codes LDPC, sur les techniques dencodage et de dcodage, ont permis aux
codes LDPC dtre utiliss, tout comme les turbocodes, dans des applications
pratiques.
Le principe de fonctionnement des codes LDPC et de leur dcodage font
lobjet de ce chapitre qui considre galement les ralisations matrielles.
Les codes LDPC sont des codes construits partir du code lmentaire
le plus simple : le code de parit. Nous commencerons donc ce chapitre en
dtaillant le code de parit et son dcodage entre et sortie souples avant de
poursuivre la construction des codes LDPC.
284 Codes et turbocodes
il vient :
1 + exp(L(c2 ) + L(c1 ))
L(c3 ) = ln L(c1 ) L(c2 ) (9.3)
exp(L(c2 )) + exp(L(c1 ))
Lquation (9.3) permet de dnir loprateur commutatif entre les deux
LRV des variables c1 et c2 .
En appliquant la fonction tanh (x/2) = exp(x)1
exp(x)+1 lquation (9.3), celle-ci
devient :
1
o la fonction f, vriant f (x) = f (x), est dnie par :
Exemple pratique
Supposons que Pr(c1 = 1) = 0, 8 et Pr(c2 = 1) = 0, 1. On a alors,
Pr(c1 = 0) = 0, 2 et Pr(c2 = 0) = 0, 9
Pr(c3 = 0) = 0, 26 et Pr(c3 = 1) = 0, 74
c3 est donc plus probablement gal 1, ce qui intuitivement est justi puisque
le nombre de 1 arrivant la parit doit tre pair. Lutilisation de la formule
(9.3) donne
|L(ci )| = f 1 f (|L(cj )|) (9.14)
j=i
Figure 9.2 Reprsentation graphique dun code en bloc : exemple du code de Ham-
ming de taille 7.
Les codes faible densit (LDPC ) sont des codes en blocs linaires, le
terme faible densit venant du fait que la matrice de contrle H contient un
faible nombre de valeurs non nulles : cest une matrice creuse. Dans le cas
particulier des codes LDPC binaires, tudis ici, la matrice de contrle contient
un faible nombre de 1. Autrement dit, le graphe bipartite associ contient un
faible nombre de branches. Le qualicatif faible signie mathmatiquement
que lorsque la longueur n dun mot de code augmente, le nombre de 1 dans
la matrice augmente en O(n) (contre une augmentation en O(n2 ) du nombre
dlments de la matrice si le rendement reste xe).
La classe des codes LDPC engendre un trs grand nombre de codes. Il est
commode de les distinguer en deux sous-classes :
les codes LDPC rguliers
les codes LDPC irrguliers
Un code LDPC est dit rgulier dans le cas particulier o la matrice de
contrle H contient un nombre constant dc de 1 dans chaque ligne, et un nombre
constant dv de 1 dans chaque colonne. On dit alors que les variables sont de
degr dv et que les parits sont de degr dc . Le code est not code LDPC
rgulier (dv ,dc ). Par exemple, la matrice de contrle dun code LDPC rgulier
(3,6) contient seulement 3 valeurs non nulles dans chaque colonne, et 6 valeurs
non nulles dans chaque ligne. La gure 9.4 prsente un exemple de code rgulier
(3,6) de taille n = 256 obtenu par tirage alatoire. Sur les 256x128 entres de la
matrice, seules 3x256 sont non nulles, soit environ 2, 3%. Ce pourcentage tend
vers 0 si la taille du code, pour un rendement x, tend vers linni.
Le prol dirrgularit des variables dun code LDPC irrgulier est dni
par le polynme (x) = j xj1 o le coecient j est gal au rapport entre
le nombre cumul de 1 des colonnes (ou variable) de degr j et le nombre total
E de 1 de la matrice H. Par exemple, (x) = 0, 2x4 + 0, 8x3 indique un code
o 20% des 1 sont associs des variables de degr 5 et 80% des variables de
degr 4. Notons que, par dnition, (1) = j = 1. De plus, la proportion
9. Codes LDPC 289
120
100
80
60
40
20
Figure 9.4 Matrice de contrle dun code LDPC rgulier (3,6) de taille n = 256 et
de rendement R = 0, 5.
De faon symtrique,
le prol dirrgularit des parits est reprsent par le
polynme (x) = p xp1 , avec le coecient p gal au rapport entre le
de degr p et le nombre total de 1
nombre cumul de 1 des lignes (ou parit)
not E. De mme, on obtient (1) = j = 1. La proportion p de colonnes
de degr p de la matrice H est donne par
p /p
p =
k /k
k
Les codes irrguliers possdent plus de degrs de libert que les codes rgu-
liers et il est ainsi possible de les optimiser plus ecacement : leurs performances
asymptotiques sont meilleures que celles des codes rguliers.
Rendement du code
Considrons une quation de parit de degr dc . Il est possible de xer arbi-
trairement les valeurs des dc 1 premiers bits, seul le dernier bit est contraint
et correspond de la redondance. Ainsi, dans une matrice de parit H de
taille (m,n), chacune des m lignes correspond 1 bit de redondance. Si les m
lignes de H sont indpendantes, le code possde alors m bits de redondance.
Le nombre total de bits du code tant de n, le nombre de bits dinformation
est alors k = n m et le rendement du code est R = (n m)/n = 1 m/n.
Notons que dans le cas o les m lignes ne sont pas indpendantes (par exemple
deux lignes identiques), le nombre de bits contraints est infrieur m. On a
alors R > 1 m/n.
290 Codes et turbocodes
Dans le cas dun code LDPC rgulier (dv ,dc ), chacune des m lignes possde
dc valeurs non nulles, soit un total de E = mdc valeurs non nulles dans la
matrice H. De faon symtrique, chacune des n colonnes contient dv valeurs
non nulles. On en dduit que E vrie E = ndv = mdc , soit m/n = dv /dc . Le
rendement dun tel code vrie alors R (1 dv /dc ).
Dans le cas dun code irrgulier, lexpression du rendement se gnralise en
tenant compte de chaque degr pondr par son poids :
p p /p
R1 (9.15)
j j /j
9.1.3 Encodage
Lencodage dun code LDPC peut se rvler relativement complexe si la
matrice H na pas de structure particulire. Il existe des solutions gnriques
dencodage, dont un algorithme de complexit en O(n), ncessitant un prtrai-
tement complexe sur la matrice H. Une autre solution consiste construire
directement la matrice H de faon obtenir un code systmatique trs simple
encoder. Cest notamment cette solution qui a t adopte pour le code du
standard DVB-S2 de transmission numrique de tlvision par satellite.
Encodage gnrique
Encodage par matrice gnratrice
Les codes LDPC tant des codes linaires en bloc, lencodage peut se faire
par le biais de la matrice gnratrice G de taille k n du code, telle que d-
nie dans le chapitre 4. Comme nous lavons vu, les codes LDPC se dnissent
partir de leur matrice de contrle H, qui nest gnralement pas systma-
tique. Une transformation de H en matrice systmatique Hsys est possible, par
exemple avec lalgorithme dlimination gaussienne. Cette technique, relative-
ment simple, a cependant un inconvnient majeur : la matrice gnratrice Gsys
du code systmatique nest gnralement
- . pas creuse. La complexit dencodage
augmente rapidement en O n2 , ce qui rend cette opration trop complexe
pour des codes de taille usuelle.
cHT = 0 (9.16)
Constructions spciques
Encodage par matrice gnratrice creuse
Une ide propose par Oenning et al [9.9] consiste construire directement
une matrice gnratrice creuse et systmatique, ainsi lencodage est ralis par
simple multiplication et la matrice de contrle reste creuse. Ces codes sont
292 Codes et turbocodes
Encodage cyclique
Les classes de codes LDPC dnies par la gomtrie nie ou par la gomtrie
projective [9.14, 9.16-9.19] permettent dobtenir des codes cycliques ou pseudo
cycliques. Les codes ainsi obtenus peuvent tre encods de faon ecace laide
de registres dcalages. Ils orent en outre de bonnes proprits en terme de
distribution de longueur de cycle ( 6). Linconvnient principal est que le
cardinal de ces classes de code est relativement petit. Ces classes norent
donc quun nombre trs restreint de combinaisons taille rendement prol
dirrgularit possibles.
9. Codes LDPC 293
Rcapitulatif
La table 9.1 rcapitule les dirents types dencodage possibles rencontrs
dans la littrature. En pratique, lencodage classique des codes en blocs par
matrice gnratrice nest pas utilis pour les codes LDPC en raison de la taille
importante des mots de codes. Les codes obtenus par gomtrie projective ou
nie ne peuvent pas tre optimiss (conception optimale des prols dirrgu-
larit). Il ne reste donc que les codes construits pour faciliter lencodage par
rsolution de lquation cH T = 0 par substitution, tel que celui choisi pour la
norme DVB-S2.
Figure 9.7 Reprsentation dun turbocode sous forme dun graphe bipartite.
La similitude entre turbocodes et codes LDPC est encore plus profonde que
ne le laisse supposer les reprsentations sous forme de graphes bipartites. En
eet, il est montr dans [9.10], [9.20] et dans la section 6.2 quil est possible
de reprsenter un turbocode sous forme dune matrice LDPC. La ressemblance
sarrte ici. En eet, la matrice de contrle H dun turbocode contient de
nombreux motifs rectangulaires (quatre 1 formant un rectangle dans la matrice
H), cest--dire de nombreux cycles de longueur 4, qui rendent inecaces les
algorithmes de dcodage des codes LDPC qui seront dcrits ci-aprs.
Il ne sont mis en uvre que pour des applications trs particulires comme les
communications par bre optique par exemple [9.21]. Ces algorithmes ne seront
pas considrs dans la suite du chapitre.
5- p P (j) :
(n )
(n 1) (nit ) (n 1)
Lj,pit = Ij + Zj,pit = Ij + Zj Zj,pit
p P (j)/p
(n )
Les bits dcods sont alors estims par sgn Lj it .
Il est intressant de noter quil est possible de modier lalgorithme en ordon-
nant le squencement par inondation suivant les noeuds de parit. Ceux-ci
sont alors traits en srie, et lalgorithme devient :
(nit +1)
3. j {1, , n} : Zj =0
4. p {1, , m} faire :
5. calcul des messages dentres
(n ) (nit ) (n 1)
j J(p) Lj,pit = Ij + Zj Zj,pit
1 On entend par squencement lordre dans lequel est eectu le traitement de chaque parit
et de chaque variable.
9. Codes LDPC 297
(n )
E (n )
j J(p) Zj,pit = Lj,pit
p P (j)/p
Une organisation similaire des calculs pour les nuds de variable sera appe-
le calcul distribu car les calculs lis un nud de variable seront distribus
pendant une itration. Dans la section 9.2, les dirents types de squencement
seront dtaills puis gnraliss.
Il faut aussi noter que la notion ditration (le calcul de tous les messages
du graphe en une et une seule fois) nest pas stricte. Ainsi, Mao et al [9.23] ont
propos une variante du squencement par inondation an de limiter limpact
de leet des cycles sur la convergence. Cette variante appele squencement
probabiliste (probabilistic scheduling) consiste omettre de traiter certaines
variables chaque itration. Le choix de ces variables est alatoire et dpend
de la taille du cycle le plus petit associ cette variable : plus celui-ci est
petit, plus la probabilit de traiter la variable est faible. Cette mthode limite
ainsi les phnomnes dauto-conrmation introduits par les cycles courts. Elle
permet dobtenir une convergence plus rapide que celle du squencement par
inondation. Les architectures lies ce squencement ne seront pas abordes.
(0) 2Xj - .
Lj,p = avec Xj N 1, 2 (9.26)
2
(0) 2 4
donc Lj,p N ,
2 2
On note :
(0)
mj = 22 la moyenne de la densit de probabilit gaussienne consistante
envoye de la variable cj de degr dv vers les parits ep de degr dc qui y
sont connectes,
(nit ) (n )
p la moyenne des message Zj,pit .
(nit )
Pour suivre lvolution de la moyenne mj au cours des itrations nit , il
sut alors de prendre lesprance mathmatique des quations (9.22) et (9.23)
relatives au traitement des variables et des parits, ce qui donne :
(n )
(n )
dc 1
avec (x) = E [tanh (x/2)] , x N (m, 2m) (9.27)
it it
p = mj
(nit +1) 2
mj = + (dv 1) p(nit ) (9.28)
2
Ainsi pour un code LDPC rgulier (dv , dc ) et pour un bruit donn de va-
riance 2 , les quations (9.27) et (9.28) permettent, par un calcul itratif, de
9. Codes LDPC 299
savoir si la moyenne des messages tend vers linni ou pas. Si tel est le cas,
un dcodage sans erreur avec un mot de code de taille innie et un nombre
inni ditration est possible. Dans le cas dun code irrgulier, il sut de faire
la moyenne pondre sur les dirents degrs des quations (9.27) et (9.28).
La valeur maximale de pour laquelle la moyenne tend vers linni, et
donc pour laquelle la probabilit derreur tend vers 0, est le seuil du code
(threshold en anglais). Par exemple, le seuil dun code rgulier (3,6), obtenu avec
lalgorithme dvolution de densit, est max = 0.8809 [9.26], ce qui correspond
Eb
un rapport signal sur bruit minimum de N 0 min
= 1.1dB.
Une autre technique drive des diagrammes de transfert dinformation ex-
trinsque(EXIT charts 2 ) proposs par Ten Brink [9.27, 9.28] permet deectuer
une optimisation des prols dirrgularit. Si lalgorithme dvolution de densit
sintresse lvolution au cours des itrations des densits de probabilit des
messages, ces diagrammes sintressent quant eux au transfert dinformation
mutuelle entre lentre et la sortie des dcodeurs des codes constituants [9.28].
Le principe de ces diagrammes a t aussi utilis avec dautres paramtres que
linformation mutuelle, comme le rapport signal sur bruit ou la probabilit
derreur [9.29, 9.30]. Il a aussi t appliqu dautres types de canaux [9.31].
petites tailles nont pas la mme inuence et suppriment uniquement les plus
pnalisants.
R=1/2
R=3/4
R=4/5
0.1 R=5/6
R=8/9
R=9/10
0.01
0.001
FER
0.0001
1e05
1e06
1e07
1 2 3 4 5
Eb/No
Figure 9.8 Taux derreur paquet (FER : Frame Error Rate) obtenu pour des tailles
de mot de code de 64 kbits et dirents rendements de la norme DVB-S2 (50 itrations,
virgule xe). Avec la permission de TurboConcept S.A.S, France.
sj = ei (9.31)
i=j
op_1
tecture srie, g = d.
Notons que dans toutes les architectures de PNG prsentes, nous avons
fait implicitement lhypothse que toutes les entres taient disponibles et que
toutes les sorties devaient tre gnres soit simultanment (architecture paral-
lle), soit de faon groupe dans le temps (architecture srie). Un tel mode de
contrle du PNG est appel mode compact .
(n 1)
E (nit 1) = E (nit 1) ei it inv ei it
(n )
(9.32)
Position du rseau 1 2 3 4
PNV f f f f
PNP Fourier f F
f f f
module Direct
PNP signe Produit des signes
Table 9.2 Valeur de loprateur gnrique associ aux processeurs de variables (PNV)
et de parit (PNP) en fonction de la position du rseau dinterconnexion.
Processeurs de nuds :
3 architectures possibles (directe, treillis, somme totale)
4 positions possibles du rseau dinterconnexion (voir gure 9.11)
3 modes de contrle dentres-sorties (compact, distribu avec mise
jour dire ou immdiate)
9. Codes LDPC 309
PNV
Distribu
Compact Mise jour Mise jour
dire immdiate
Inondation Inondation Entrelacement
Compact
(parit) (horizontal)
Mise jour Inondation
PNP
dire (variable)
Distribu Branches
Mise jour Entrelacement
immdiate (vertical)
Table 9.3 Squencements associs aux direntes combinaisons des contrles des
processeurs de nuds.
Dans le cas o les contrles sur les deux processeurs sont de types ot
compact dentres-sorties, le squencement ralis est de type inondation : tous
les PNP sont traits puis tous les PNV. Ce squencement se prte volontiers
aux architectures entirement parallles (P = m). Pour les architectures mixtes
(P < m), le traitement de toutes les parits ne peut pas se faire entirement
avant celui des variables. Le contrle des PNV en mode distribu avec mise
jour dire permet de le faire car elle garantit que le calcul des nouvelles
sorties ne se fera que lorsque toutes les parits auront t traites. Ce mode
de contrle est not par inondation selon les parits. De faon symtrique, on
fait apparatre un squencement par inondation selon les variables, lorsque les
PNP sont en mode distribu et que les PNV sont en mode compact. Ces trois
types de squencements convergent vers les mme valeurs : ils ne changent pas
le droulement de la propagation de linformation.
Lorsque lun des deux type de processeur est contrl en mode compact et
lautre en mode distribu avec mise jour immdiate, on met en uvre un
squencement de type entrelacement (shue) horizontal ou vertical. Lordre
dactivation des processeurs est analogue au squencement par inondation se-
lon les variables ou les parits. Seule la mise jour des informations change
puisquelle se fait ds quune nouvelle entre est arrive, acclrant ainsi la
convergence du code.
Le cas o les deux processeurs PNV et PNP sont contrls en mode distribu
nest pas trs intressant. Il correspondrait en fait au contrle du dcodage
branche par branche.
310 Codes et turbocodes
PNV
Distribu
Compact Mise jour Mise jour
dire immdiate
Compact B+n 3n + g(B, dc ) 2n + g(B, dc )
Mise jour
B + n + 2m 3n + 2m + B 2n + 2m + B
dire
PNP Distribu
Mise jour
B+n+m 3n + m + B 2n + m + B
immdiate
Table 9.4 Quantit de mmoire ncessaire en fonction des combinaisons des dirents
contrles de processeurs de nuds.
Paramtres Valeurs
Architecture de propagation de message (p = 1, v = dv = 3, P = 3)
Position du rseau dinterconnexion 1
Contrle Distribu, mise jour dire
PNV
Chemin de donnes Somme totale, srie
Contrle Compact
PNP
Chemin de donnes Treillis, parallle
Figure 9.14 Exemple darchitecture pour un squencement par inondation (selon les
parits).
sont reprsents sur la gure). Notons que la puissance de calcul dune telle
architecture est de 12 branches par cycle.
Larchitecture des PNP est de type treillis, avec une implantation parallle.
Le chronogramme en bas de la gure 9.14 indique quau temps T1 , dv = 4
messages Lj,p (T1 ) sont dlivrs chaque PNP. Aprs une latence de T2 T1
cycles dhorloge les messages sortant Zj,p (T2 ) sont envoys aux PNV. Cette
312 Codes et turbocodes
opration est reproduite m/P fois pour eectuer une itration complte. Le
chemin de donnes des PNV est de type somme totale, avec une implantation
srie. La mise jour dire sillustre par lutilisation de deux blocs de m-
moire, un pour linformation extrinsque en cours daccumulation (Lacc), et
un autre pour linformation extrinsque totale de litration prcdente (Lold).
la n de chaque itration, le rle de ces deux mmoires est chang. Dans
cette architecture, les informations extrinsques de branches Zj,p peuvent tre
sauvegardes aussi bien du ct des PNV (en trait continu sur la gure) que
du ct des PNP (en pointill sur la gure), comme dans les architectures de
Chen et al [9.41] et de Guilloud et al [9.42].
Paramtres Valeurs
Architecture de propagation de message (p = dc = 4, v = dv = 3, P = 3)
Position du rseau dinterconnexion 4
Contrle Compact
PNV
Chemin de donnes Somme totale, srie
Contrle Distribu, mise jour immdiate
PNP
Chemin de donnes Somme totale, srie
Il sagit ici de lalgorithme le plus simple puisque toutes les sorties du pro-
cesseur de nud (variable ou parit) sont aectes par une unique et mme
valeur chaque tape du processus itratif.
PNV avec = 1
Dans cette technique, le PNV renvoie simplement Lj aux contraintes de
parits auxquelles il est connect. Ainsi, il nest plus ncessaire de mmoriser
les messages Zj,p puisque ceux-ci ne sont plus utiliss par le PNV. Il en dcoule
une conomie de mmoire signicative. Cet algorithme a t propos pour la
314 Codes et turbocodes
premire fois par Fossorier et al dans [9.44] (APP algorithm), et repris par E.
Yeo et al dans [9.45].
Notons que lhypothse dindpendance entre les messages sortant et entrant
dun nud de parit nest absolument pas vrie. Cest pourquoi lalgorithme
de dcodage itratif diverge trs rapidement car sujet au phnomne dauto-
conrmation : la propagation de linformation se droule comme si des cycles
de longueur 2 existaient dans le graphe.
PNP avec = 1
Il sagit de lalgorithme symtrique du prcdent : le PNP renvoie une unique
valeur. Cette technique, trs ecace en terme de complexit, permet lalgo-
rithme datteindre sa capacit de correction en trs peu ditrations, typique-
ment 5. Mme si sa capacit de correction est trs faible par rapport lalgo-
rithme BP, il est intressant de noter que pour 5 itrations, un tel algorithme
est plus performant que lalgorithme BP aprs ce mme nombre ditrations.
Ainsi, de tels procds peuvent sappliquer avec succs pour les applications
hauts dbits o seul un nombre rduit ditration peut tre eectu.
Il existe dans ltat de lart trois algorithmes pour >1 concernant le PNP.
Seul le calcul du module change : il est approxim par excs par le minimum des
modules des messages entrant dans le PNP. Le traitement dans le PNP consiste
donc uniquement calculer le signe et trier les deux plus faibles module des
messages entrant. Notons que cette approximation rend le traitement itratif de
dcodage indpendant de la connaissance du niveau de bruit 2 du le canal. La
perte de performance est de lordre de 1 dB environ par rapport lalgorithme
BP.
Cette approximation par excs de lalgorithme Min-Sum peut cependant
tre compense par des mthodes simples. Il est ainsi possible de rduire la
valeur de |Zj,p | en laectant dun facteur multiplicatif A strictement infrieur
1. Il est aussi possible de lui soustraire un oset B (B>0), en prenant toutefois
la prcaution de saturer le rsultat zro si le rsultat de |Zj,p | B est ngatif.
9. Codes LDPC 315
c
La valeur de |Zj,p | corrige |Zj,p | est donc :
& c
|Zj,p | = A max(|Z
( j,p | B, 0)
sign (Zj,p ) = sign (Lj ,p ) (9.34)
j J(p)/j
Algorithme min( = + 1)
Cet algorithme a t prsent initialement par Hu et al [9.47, 9.48] puis
reformul indpendamment par Guilloud et al [9.42]. Lallure de la fonction
f dnie quation (9.35) est telle que f (x) est grand pour x faible, et faible
lorsque x est grand. Ainsi, la somme dans (9.35) peut tre approxime par ses
plus fortes valeurs, cest--dire par les plus faibles valeurs de |Lj,p |. Une
fois que lensemble not J (p) des minima est obtenu, le PNP va calculer
= + 1 modules distincts :
x
En eet, si j est lindice dun bit ayant envoy une des valeurs de lensemble
des minimum, le module est calcul sur tous les 1 autres minima ( calculs
sur 1 valeurs). Par contre pour tous les bits le mme module est renvoy
(un calcul sur valeurs). Il faut noter que les performances de lalgorithme
min peuvent tre amliores par lajout de facteur de correction A et B
comme dni dans lquation (9.34).
Algorithme A min ( = 2)
Le dernier algorithme sous optimal publi ce jour est dnomm algorithme
A min et a t propos par Jones et al [9.51]. Ici aussi il sagit tout
dabord de trouver lindice j0 du bit ayant le message de plus faible module :
j0 = Arg MinjJ(p) (|Lj,p |). Ensuite, deux messages distincts sont calculs :
Si j = j0 : |Zj0 ,p | = f f |Lj,p | (9.36)
jJ(p)/j0
Sinon j = j0 : |Zj,p | = f f |Lj,p | (9.37)
jJ(p)
1.00E+00
LDPC (50 it)
BP
Amin*
1.00E01 lambda=4
lambda=3
lambda=2
BPBased
1.00E03
1.00E04
1.00E05
1.00E06
1 1.5 2 2.5 3 3.5 4 4.5 5
Eb/No
Figure 9.16 Comparaison des performances entre les algorithmes 3min et Amin
dans le cas du dcodage dun code irrgulier C3 .
pas forcment dnie dans les nq bits, ou bien autrement dit que la dynamique
de codage nest pas forcment une puissance de deux. Ainsi, le bit de poids le
plus faible vaudra :
qLSB = nq 1 (9.38)
2
et lon passe dune donne quantie aq une donne non quantie a par les
relations : & n 1
q
aq = trunc a 2 + 0.5 ,
(9.39)
a = aq 2nq1
o trunc dsigne lopration de troncature.
Ces deux paramtres peuvent inuencer les performances de dcodage. Une
dynamique trop faible laisse apparatre un plancher derreur sur les courbes
de taux derreurs. Ce plancher apparat beaucoup plus tt que celui li la
distance minimale du code.
Cependant il est important de noter quaugmenter la dynamique sans aug-
menter le nombre de bits de quantication augmente la valeur du bit de poids
le plus faible, et par consquent diminue la prcision des calculs faits dans le
PNP. Augmenter la dynamique sans augmenter le nombre de bits dgrade les
performances de dcodage dans la zone de convergence.
Les performances de dcodage obtenues en pratique sont trs proches de
celles obtenues en virgule ottante pour des quantications sur 4 6 bits (voir
le tableau gure 9.17). Linuence des paramtres peut tre tudie par lalgo-
rithme dvolution de densit [9.31, 9.52].
9.3 Bibliographie
[9.1] R. G. Gallager, Low-Density Parity-Check Codes, Cambridge, MA,
MIT Press, 1963.
[9.2] R. Tanner, A recursive approach to low complexity codes , IEEE
Trans. Inform. Theory, vol. 27, pp. 533-547, Septembre 1981.
[9.3] D.J.C MacKay and R.M. Neal, Good Codes Based on Very Sparse
Matrices , 5th IMA Conference on Cryprography and Coding, Berlin, Germany,
Springer, 1995.
[9.4] N. Wiberg, Codes and Decoding on General Graphs, Ph.D. diss., Link-
ping University, Sweden, 1996.
[9.5] M. Sipser and D.A. Spielman, Expander Codes , IEEE Trans. In-
form. Theory, vol. 42, pp. 1710-1722, November 1996.
[9.6] X.-Y.Hu , E. Eleftheriou, D.-M. Arnold and A. Dholakia, Ecient
Implementations of the Sum-Product Algorithm for Decoding LDPC Codes ,
Proc. IEEE Global Telecommunications Conference, GLOBECOM01, pp. 1036-
1036, Nov. 2001.
[9.7] F. Guilloud, Generic Architecture for LDPC codes decoding, Thse de
Doctorat ENST Paris, 2 juillet 2004.
[9.8] T.J. Richardson and R.L Urbanke, Ecient Encoding of Low-Density
Parity-Check Codes , IEEE Trans. Inform. Theory, vol. 47, pp. 638-656, Fe-
bruary 2001.
[9.9] T.R. Oenning and Jaekyun Moon, A low-density generator matrix
interpretation of parallel concatenated single bit parity codes , IEEE Trans.
Magn., vol. 37, pp. 737- 741, March 2001.
[9.10] D.J.C. Mackay, Good Error-Correcting Codes Based on Very Sparse
Matrices , IEEE Trans. Inform. Theory, vol. 45, pp. 399-431, March 1999.
[9.11] J. Garcia-Frias and Wei Zhong, Approaching Shannon performance
by iterative decoding of linear codes with low-density generator matrix , IEEE
Commun. Lett., vol. 7, pp. 266-268, June 2003.
320 Codes et turbocodes
[9.12] D.J.C MacKay, S.T. Wilson and M.C. Davey, Comparison of Cons-
tructions of Irregular Gallager Codes , IEEE Trans. Commun., vol. 47, pp.
1449-1454, October 1999.
[9.13] J.W. Bond, S. Hui and H. Schmidt, Constructing low-density parity-
check codes , EUROCOMM 2000. Information Systems for Enhanced Public
Safety and Security, IEEE AFCEA, May 2000.
[9.14] X.Y. Hu, E. Eleftheriou and D.-M. Arnold, Progressive edge-growth
Tanner graphs , Proc. IEEE Global Telecommunications Conference, GLOBE-
COM01, Nov. 2001.
[9.15] D. Haley, A. Grant and J. Buetefuer, Iterative encoding of low-
density parity-check codes , Proc. IEEE Global Telecommunications Confe-
rence, GLOBECOM02, Nov. 2002.
[9.16] T. Okamura, Designing LDPC codes using cyclic shifts , Proc.
IEEE Int. Symp. Inform. Theory, July 2003.
[9.17] Y. Kou, S. Lin and M.P.C. Fossorier, Low-Density Parity-Check
Codes Based on Finite Geometries : A Rediscovery and New Results , Trans.
Inform. Theory, vol. 47, pp. 2711-2736, November 2001.
[9.18] B. Ammar, B. Honary, Y. Kou, and S. Lin, Construction of low
density parity check codes : a combinatoric design approach , Proc. IEEE Int.
Symp. Inform. Theory, July 2002.
[9.19] B. Vasic, Combinatorial constructions of low-density parity check
codes for iterative decoding , Proc. IEEE Int. Symp. Inform. Theory, July
2002.
[9.20] R. J. McEliece, D. J. C. MacKay and J.-F. Cheng, Turbo Decoding
as an Instance of Pearls Belief Propagation Algorithm , IEEE J. Select. Areas
Commun., Vol. 16, pp. 140-152, February 1998.
[9.21] I.B. Djordjevic, S. Sankaranarayanan and B.V. Vasic, Projective-
Plane Iteratively Decodable Block Codes for WDM High-Speed Long-Haul
Transmission Systems , J. Lightwave Technol., Vol. 22, March 2004.
[9.22] F.R. Kschischang and B.J. Frey, Iterative Decoding of Compound
Codes by Probability Propagation in Graphical Models , IEEE J. Select. Areas
Commun., Vol. 16, pp. 219-230, 1998.
[9.23] Y. Mao and A.H. Banihashemi, Decoding Low-Density Parity-Check
Codes With Probabilistic Scheduling , IEEE Commun. Lett., Vol. 5, pp. 414-
416, October 2001.
[9.24] T.J. Richardson, M.A. Shokrollahi and R.L. Urbanke, Design of
Capacity-Approaching Irregular Low-Density Parity-Check Codes , IEEE Trans.
Inform. Theory, Vol. 47, pp. 619-637, February 2001.
[9.25] S.-Y. Chung, T.J. Richardson, and R.L. Urbanke, Analysis of Sum-
Product Decoding of Low-Density Parity-Check Codes Using a Gaussian Ap-
proximation , IEEE Trans. Inform. Theory, vol. 47, February 2001.
[9.26] S.-Y. Chung, On the construction of some capacity-approaching coding
schemes, Ph. D. Dissertation, MIT, Cambridge, MA, 2000.
[9.27] S. Ten Brink, Convergence of iterative decoding , IEE Electronics
Lett., Vol. 35, pp. 806-808, May 1999.
9. Codes LDPC 321
Turbocodes et transmissions
grande ecacit spectrale
(a)
(b)
Figure 10.2 Exemples de codes CSR lmentaires utiliss dans [10.1, 10.2] pour la
construction dune turbo-MDP-8 en treillis (a) et dune turbo-MAQ-16 en treillis (b).
Les gures 10.3 et 10.4 montrent les performances de ces deux TMCT en
terme de taux derreurs binaires (TEB) en fonction du rapport signal bruit
pour une transmission sur canal gaussien. Aux taux derreurs forts et moyens,
ces schmas achent des performances de correction proches de la capacit : un
TEB de 104 est atteint environ 0,65 dB de la limite thorique de Shannon
pour la transmission de paquets de 5000 symboles cods et moduls. En re-
vanche, la fonction dentrelacement de la TMCT nayant pas fait lobjet dune
optimisation particulire dans [10.1, 10.2], les courbes de taux derreurs pr-
sentes font apparatre des changements de pente prcoces (TEB 105 ) et
prononcs.
Une variante de cette technique, propose par Benedetto et al [10.4] a per-
mis den amliorer les performances asymptotiques. Une mthode alternative
pour construire une TMCT decacit spectrale q bit/s/Hz consiste, en eet,
utiliser deux codes CSR de rendement q/(q + 1) et poinonner pour chacun
deux q/2 bits dinformation (q est suppos pair). On ne transmet ainsi, pour
328 Codes et turbocodes
Figure 10.3 Taux derreurs binaires (TEB) en fonction du rapport signal bruit
Eb /N0 de la turbo-MDP-8 en treillis 8 tats utilisant le code CSR de la gure 10.2(a).
Transmission sur canal gaussien. Ecacit spectrale = 2 bit/s/Hz. Blocs de 10 000
bits dinformation, 5000 symboles moduls. Algorithme de dcodage MAP. Courbes
extraites de [10.2].
chaque code lmentaire que la moiti des bits dinformation et la totalit des
bits de redondance. Les bits en sortie de chaque codeur sont associs une mo-
dulation 2(q/2)+1 points. La mme opration est ralise pour les deux codes
CSR en veillant ce que chaque bit systmatique soit transmis une fois et une
seule, an que le turbocode rsultant soit systmatique. Cette technique fait
dautre part appel un entrelacement au niveau bit et non au niveau symbole
comme dans lapproche prcdente.
Le critre doptimisation de la TMCT propose dans [10.4] repose sur la
maximisation de la distance euclidienne eective, dnie comme la distance
euclidienne minimale entre deux squences codes dont les squences dinfor-
mation ont un poids de Hamming gal 2. Les gures 10.5 et 10.6 montrent
deux exemples de TMCT construites sur ce principe.
Figure 10.5 Construction dune turbo-MAQ-16 selon la mthode dcrite dans [10.4].
Ecacit spectrale = 2 bit/s/Hz.
Les performances de correction de ces deux TMCT sur canal gaussien sont
prsentes dans les gures 10.7 et 10.8. Aux taux derreurs forts et moyens,
elles sont proches de celles aches par le schma de Robertson et Wrz ;
en revanche, lutilisation dentrelaceurs oprant sur les bits plutt que sur les
symboles a permis damliorer de manire signicative le comportement faible
taux derreurs.
Les TMCT conduisent dexcellentes performances de correction sur canal
gaussien, car elles constituent une approche ad hoc des modulations turboco-
des. Elles prsentent, en revanche, le dsavantage majeur dune exibilit trs
limite : un nouveau code doit tre dni pour chaque rendement de codage
et chaque modulation considrs. Cet inconvnient est lourd dans tout sys-
330 Codes et turbocodes
Figure 10.6 Construction dune turbo-MDP-8 selon la mthode dcrite dans [10.4].
Ecacit spectrale = 2 bit/s/Hz
taux derreurs en sortie du dcodeur dans le cas dune transmission sur canal
gaussien. En revanche, dans le cas de canaux vanouissements, lentrelace-
ment est ncessaire car il sagit dviter que les bits issus dun mme instant
de codage nappartiennent pas un mme symbole mis sur le canal, an de
ne pas tre aects simultanment par un vanouissement. Les tudes menes
dans ce domaine [10.6-10.9] ont montr que dans le cas des canaux vanouisse-
ments, les meilleures performances sont obtenues en utilisant des entrelaceurs
indpendants au niveau bit. Cette technique est appele modulation code
bits entrelacs ou BICM (Bit-Interleaved Coded Modulation). Lorsque lentre-
laceur est plac au niveau des symboles de modulation, lordre de diversit de
la modulation code est gal au nombre minimal de symboles dirents entre
deux squences codes et modules. Avec des entrelaceurs indpendants placs
au niveau de chaque sortie du codeur, il peut idalement atteindre la distance
de Hamming du code. En consquence, les schmas de transmission utilisant
le principe BICM prsentent en pratique de meilleures performances sur les
canaux vanouissements que les TMCT.
Le code et la modulation ntant pas conjointement optimiss, la di-
rence dun schma TMCT, on choisit un codage binaire signal des points de
la constellation qui minimise le taux derreurs binaires moyen lentre du d-
codeur. Un codage de Gray, lorsquil est envisageable, satisfait cette condition.
Par souci de simplicit de mise en uvre du modulateur et du dmodulateur,
dans le cas des modulations damplitude en quadrature ou MAQ carres (q
pair), les voies en phase et en quadrature, I et Q, sont codes indpendam-
ment.
Dans la gure 10.9, le bloc Multiplexage / mise en forme des symboles
a pour rle de rpartir les bits cods, aprs entrelacement pour les canaux
vanouissements, dans les symboles de modulation. Ce bloc, charnire entre le
code et la modulation, autorise un certain niveau dajustement de la modulation
code en fonction des performances vises. Cet ajustement est possible car le
code et la modulation ne jouent pas le mme rle vis--vis de lensemble des
bits transmis.
Dune part, on peut distinguer en sortie du codeur deux familles distinctes
de bits cods : les bits systmatiques et les bits de redondance. Ces deux familles
de bits jouent un rle dirent dans le processus de dcodage : les bits syst-
matiques, directement issus de la source, sont utiliss par les deux dcodeurs
lmentaires en rception tandis que les bits de redondance, issus dun des deux
codeurs lmentaires, sont utiliss par lun des deux dcodeurs seulement.
Dautre part, les lments binaires contenus dans un symbole modul ne
sont pas, en gnral, tous protgs de manire identique par la modulation. Par
exemple, dans le cas des modulations MDP ou MAQ avec codage de Gray, seules
les modulations deux ou quatre points orent le mme niveau de protection
tous les bits dun mme symbole. Pour les modulations dordre suprieur,
certains bits sont mieux protgs que dautres.
334 Codes et turbocodes
Figure 10.11 Diagramme des signaux dune modulation MDA-4 avec codage de
Gray.
On peut montrer que, pour une transmission sur un canal gaussien, les
probabilits derreur sur les positions binaires s1 et s2 , connaissant le symbole
transmis (3 ou 1), sexpriment sous la forme :
1 3
Peb (s2 | 3 ) = erfc
2 2
1 1
Peb (s2 | 1 ) = erfc
2 2
(10.1)
1 1 1 5 1 1
Peb (s1 | 3 ) = erfc erfc erfc
2 2 2 2 2 2
1 3 1 1 1 1
Peb (s1 | 1 ) = erfc + erfc erfc
2 2 2 2 2 2
o erf c reprsente la fonction derreur complmentaire et 2 dsigne la variance
de bruit sur le canal. On observe que la position binaire s2 est en moyenne mieux
protge par la modulation que la position s1 .
Il est par consquent possible de dnir plusieurs stratgies de construction
des symboles de la modulation en associant en priorit les bits systmatiques
ou redondants aux positions les mieux protges par la modulation. Deux stra-
tgies extrmes peuvent dans tous les cas tre dnies :
schma dit systmatique : les bits les mieux protgs par la modulation
sont associs en priorit aux bits systmatiques ;
schma dit redondant : les bits les mieux protgs par la modulation
sont associs en priorit aux bits de redondance.
Des modulations dordres plus levs que la MAQ-16 orent plus de deux
niveaux de protection pour les direntes positions binaires. La modulation
MAQ-64, par exemple, ache trois niveaux de protections dirents, si les voies
en phase et en quadrature sont codes indpendamment et de manire analogue
en utilisant un code de Gray. Dans ce cas, dautres schmas intermdiaires, entre
les schmas systmatique et redondant , peuvent tre dnis.
Le schma de rception correspondant lmetteur de la gure 10.9 est
dcrit dans la gure 10.10. Un turbo-dcodeur standard est utilis, ce qui n-
10. Turbocodes et transmissions grande ecacit spectrale 335
cessite le calcul dune estimation pondre de chacun des bits contenus dans
les symboles en sortie du dmodulateur avant deectuer le dcodage.
Lestimation pondre de chaque bit est obtenue par le calcul du Logarithme
du Rapport de Vraisemblance (LRV) dni par :
2 Pr( si = 1 | r) 2 Pr( si = 1 | I, Q)
si = (si ) = ln = ln (10.2)
2 Pr( si = 0 | r) 2 Pr( si = 0 | I, Q)
Figure 10.12 TEB en fonction du rapport signal bruit Eb /N0 dune turbo-MDP-
8 pragmatique utilisant un code double-binaire 16 tats. Transmission sur canal
gaussien. Ecacit spectrale = 2 bit/s/Hz. Blocs de 10 000 bits dinformation,
5000 symboles moduls. Algorithme de dcodage MAP. Schma systmatique .
aux taux derreurs plus faibles est d, dune part lutilisation de codes l-
mentaires 16 tats et dautre part une conception soigne de lentrelaceur
du turbocode.
Les courbes de la gure 10.14 mettent en vidence linuence de la stratgie
de construction des symboles sur les performances de la modulation turbocode.
Elles montrent le comportement de lassociation dun turbocode double-binaire
seize tats et dune MAQ-16 code indpendamment sur les voies en phase
et en quadrature laide du code de Gray. Les deux stratgies extrmes de
construction des symboles dcrites prcdemment y ont t simules. La taille
des blocs, 54 octets, et les rendements simuls, 1/2 et 3/4, sont reprsentatifs
dapplications concrtes dans le secteur des technologies sans l (norme IEEE
802.16, Wireless Metropolitan Area Network ). La gure 10.14 ache galement
les limites thoriques de la transmission tudie. Ces limites prennent en compte
la taille des blocs transmis ainsi que le taux derreurs de paquets (TEP) vis.
Elles sont obtenues partir de la valeur de la capacit du canal, laquelle on
ajoute un terme correctif obtenu laide de la borne dite dempilement de
sphres (sphere packing, voir section 3.3).
On observe quaux taux derreurs forts et moyens, la convergence du pro-
cessus itratif de dcodage est favorise par une meilleure protection des bits
systmatiques. Ce rsultat peut tre expliqu par le fait que, dans le processus
de dcodage, chaque donne systmatique est utilise en entre des deux dco-
deurs. Par consquent, une erreur sur un bit systmatique en sortie du canal
10. Turbocodes et transmissions grande ecacit spectrale 337
Figure 10.13 TEB en fonction du rapport signal bruit Eb /N0 dune turbo-MAQ-
16 pragmatique utilisant un code double-binaire 16 tats. Transmission sur canal
gaussien. Ecacit spectrale = 3 bit/s/Hz. Blocs de 15 000 bits dinformation, 5000
symboles moduls. Algorithme de dcodage MAP. Schma systmatique .
provoque une erreur sur lentre des deux dcodeurs lmentaires, alors quune
redondance errone naecte lentre que dun des deux dcodeurs lmentaires.
En consquence, un renforcement de la protection des bits systmatiques prote
simultanment aux deux dcodeurs lmentaires.
Lcart de performance entre les deux schmas est dautant plus important
que la proportion de bits de redondance transmis est leve, cest--dire que le
rendement de codage est faible. A titre dexemple, un taux derreurs binaires
de 104 , on observe un cart de 0,9 dB pour un rendement de codage R = 1/2,
et de 0,2 dB pour R = 3/4.
Pour les faibles et trs faibles taux derreurs, le schma favorisant la protec-
tion de la redondance procure les meilleures performances. Ce comportement
est dicile mettre en vidence par simulation pour les rendements les plus
faibles, car le point suppos de croisement des courbes est situ un taux
derreurs dicile obtenir par simulation (T EP 108 pour R = 1/2). Lin-
terprtation de ce rsultat fait appel lanalyse des chemins errons dans les
treillis fort rapport signal bruit. Nous avons observ que, dans la majorit
des cas, les squences errones contiennent un nombre plutt faible de bits sys-
tmatiques errons et un nombre plutt lev de bits de redondance errons.
Autrement dit, les squences errones prsentent en gnral un poids dentre
faible. En particulier, les chemins errons en question correspondent pour la
plupart des motifs derreurs rectangulaires (voir section 7.3.2). Il en rsulte
338 Codes et turbocodes
Figure 10.14 Performance en taux derreurs binaires (TEB) et taux derreurs paquets
(TEP) de lassociation pragmatique dune MAQ-16 et dun turbocode double-binaire
16 tats, pour la transmission de blocs de 54 octets sur canal gaussien. Rendements
de codage 1/2 et 3/4. Dcodage Max-Log-MAP, entres du dcodeur codes sur 6
bits, 8 itrations de dcodage.
10.3 Bibliographie
[10.1] P. Robertson and T. Wrz, Coded modulation scheme employing
turbo codes , Electronics Letters, vol. 31, n 2, pp. 1546-47, Aug. 1995.
[10.2] P. Robertson and T. Wrz, Bandwidth-ecient turbo trellis-coded
modulation using punctured component codes , IEEE Journal on Selected
Areas in Communications, vol. 16, n 2, pp. 206-218, Feb. 1998.
[10.3] G. Ungerboeck, Channel coding with mutilevel/phase signals ,
IEEE Transactions on Information Theory, vol. IT-28, n1, pp. 55-67, Jan.
1982.
[10.4] S. Benedetto, D. Divsalar, G. Montorsi and F. Pollara, Parallel
10. Turbocodes et transmissions grande ecacit spectrale 339
11.1 La turbo-galisation
Les canaux multi-trajets possdent la particularit de transformer un signal
transmis en un ensemble de copies de ce signal. Ainsi, la sortie du canal, le
rcepteur ne voit pas uniquement le signal mis mais une superposition de ces
direntes copies ou chos. La turbo-galisation est une technique numrique
de rception qui permet de traiter des donnes dtriores par les canaux de
transmission de type multi-trajets. Elle combine le travail dun galiseur et dun
dcodeur de canal selon le principe turbo. Schmatiquement ce systme num-
rique de rception consiste donc en une rptition de la chane de traitement
galisation-entrelacement-dcodage. Dans un premier temps, lgalisation ra-
lise une premire estimation des donnes mises. Dans un second temps, celle-ci
est transmise au module de dcodage qui actualise cette information. Puis lin-
formation actualise par le dcodeur est fournie au module dgalisation. Ainsi,
au l des itrations, les traitements dgalisation et de dcodage vont mutuali-
ser leurs informations an datteindre les performances dune transmission sur
un canal trajet unique.
Lobjectif de cette section consiste prsenter le principe de la turbo-
galisation et sa mise en uvre suivant deux versions : la turbo-galisation
selon le critre du Maximum A Posteriori (MAP ) et la turbo-galisation selon
le critre de la Minimisation de lErreur Quadratique Moyenne (MEQM). Nous
dtaillerons les algorithmes associs ces deux techniques, ainsi que leur com-
plexit respective. Ceci nous amnera prsenter les architectures possibles et
donner des exemples dimplmentation. Enn, des applications potentielles
et existantes pour ces techniques seront exposes.
L1
yi = hk (i)xik + wi (11.1)
k=0
L1
h(z) = hk (i)z ik (11.2)
k=0
L1
yi = hk xik + wi (11.3)
k=0
Figure 11.1 Reprsentation du canal discret quivalent sous forme de ltre num-
rique.
(a) (b)
Figure 11.2 Illustration du phnomne dIES dans le cas dun canal fortement slectif
en frquence 5 trajets, pour un rapport signal sur bruit de 20 dB.
Dans un article clbre datant de 1972 [11.5], Forney a not quun canal s-
lectif en frquence prsente un eet de mmoire dont le contenu caractrise son
tat un instant donn. Plus prcisment, ltat s du canal linstant i est par-
faitement dni par la connaissance des L 1 symboles prcdents, ce que lon
note s = (xi , . . ., xiL+2 ). Ce constat sappuie sur la reprsentation du canal
sous forme de registre dcalage (voir la gure 11.1). Lvolution de ltat du
canal au cours du temps peut alors tre reprsente par un diagramme en treillis
comportant M L1 tats, o M dsigne le nombre de symboles discrets dans
lalphabet de modulation. titre dillustration, nous avons reprsent dans la
gure 11.4 le treillis associ un canal L = 3 coecients h = (h0 , h1 , h2 )
dans le cas dune modulation deux tats de phase.
Figure 11.4 Exemple de reprsentation en treillis pour une transmission MDP-2 sur
un canal slectif en frquence L = 3 trajets.
prsente un temps de calcul rdhibitoire pour une application temps rel. Une
stratgie alternative consiste alors combattre lIES laide dgaliseurs de
moindre complexit, mettant en uvre des ltres numriques.
Dans cette optique, la solution la plus simple consiste appliquer un ltre
linaire transverse la sortie du canal. Ce ltre est optimis de manire
compenser ( galiser ) les irrgularits de la rponse frquentielle du canal,
dans le but de convertir le canal slectif en frquence en un canal quivalent
idalement sans IES, perturb uniquement par un bruit additif. Lestimation du
message transmis est alors eectue grce une simple opration de dcision
symbole par symbole (dtecteur seuil) la sortie de lgaliseur, optimale
sur canal bruit additif blanc gaussien (BABG). Cet galiseur, dcrit dans la
gure 11.5, est appel galiseur linaire (Linear Equalizer, ou LE en anglais).
Si lon suppose maintenant que lon dispose dune estimation xi+l sur les
donnes mises la fois antrieures (l < 0) et postrieures (l > 0) au symbole
considr linstant i, on peut alors envisager de retrancher lintgralit de
lIES la sortie du canal. La structure dgalisation obtenue est appele annu-
leur dinterfrence (Interference Canceller, ou IC ) [11-6,11-7]. Elle est dcrite
dans la gure 11.7. Cette structure est constitue de deux ltres transverses
numriques, de rponses impulsionnelles nies : un ltre avant (ltre adapt au
canal) visant maximiser le rapport signal bruit avant la dcision, et un ltre
annuleur, en charge de reconstruire lIES prsente en sortie du ltre adapt.
Signalons que par construction, le coecient central du ltre annuleur est n-
cessairement nul an dviter la soustraction du signal utile. Sous rserve que
les donnes estimes xi+l soient gales aux donnes mises, on peut montrer
que cet galiseur limine toute lIES, sans remonte du niveau de bruit. On
atteint ainsi la borne du ltre adapt, qui reprsente ce que lon peut faire de
mieux avec un galiseur sur un canal slectif en frquence. Bien videmment, on
ne connat jamais a priori les donnes mises en pratique. Toute la dicult
consiste alors construire une estimation des donnes qui soit susamment
able pour conserver des performances proches de loptimal.
Toutes les structures dgaliseurs prsentes jusqu prsent ne tiennent
pas compte de la prsence dun ventuel code correcteur derreur lmission.
Voyons maintenant de quelle faon on peut combiner au mieux les fonctions
dgalisation et de dcodage pour amliorer les performances globales du r-
cepteur.
11. Le principe turbo appliqu lgalisation et la dtection 349
de mise en uvre, puisque la complexit totale est alors donne par la somme
des complexits individuelles de lgaliseur et du dcodeur. En contrepartie,
elle conduit ncessairement une perte de performance par rapport au r-
cepteur optimal puisque lopration dgalisation nexploite pas lintgralit de
linformation disponible. Plus prcisment, lestimation dlivre par lgaliseur
ne correspondra pas ncessairement une squence code valide car lgaliseur
ne tient pas compte des contraintes imposes par le code. Les performances de
la solution disjointe peuvent tre amliores lorsque lon instaure un passage
dinformation pondre (probabiliste) au lieu dun change de donnes binaires
entre lgaliseur et le dcodeur. En propageant une mesure de abilit sur les
dcisions de lgaliseur, le dcodeur prote ainsi dune information supplmen-
taire pour produire sa propre estimation du message, et lon bncie dun
gain de correction gnralement de lordre de plusieurs dB (voir par exemple
[11.10,11.11] ou le chapitre 3 de [11.12]). Malgr cela, cette solution conserve
le dsavantage de norir quune communication sens unique entre lgaliseur
et le dcodeur.
Existe t-il donc une stratgie ralisant en quelque sorte le meilleur des deux
mondes, capable de concilier la fois les bonnes performances du rcepteur
optimal conjoint avec la simplicit de mise en uvre du rcepteur sous-optimal
disjoint ? Il est aujourdhui possible de rpondre par larmative, grce ce
que lon a appel la turbo-galisation .
2 Notons qu strictement parler, la transmission sur un canal slectif ne constitue pas une
opration de codage en soi, en dpit de son caractre convolutif, car elle napporte aucun gain.
Bien au contraire, elle ne fait que dgrader les performances. Cette analogie prend nanmoins
tout son sens du point de vue du dcodage itratif.
352 Codes et turbocodes
entrelac. Ce vecteur Le (x) est ensuite dsentrelac pour donner une nouvelle
squence La (c), qui constitue linformation a priori sur la squence code pour
le dcodeur SISO. Ce dernier en dduit alors deux informations : une dcision
ferme sur le message dinformation transmis, note ici d, ainsi quune nouvelle
information extrinsque sur le message cod, note Le (c). Cette information
est ensuite r-entrelace puis renvoye lgaliseur SISO o elle est exploi-
te comme une information a priori pour une nouvelle tape dgalisation
litration suivante.
Le schma de turbo-galisation que nous venons de prsenter correspond
une structure dmission du type modulation code entrelacement bit. Il
est toutefois important de noter que le principe de la turbo-galisation sap-
plique galement dans le cas dun systme mettant en uvre une modulation
code traditionnelle, cest--dire un systme o les oprations de codage et de
modulation sont conjointement optimises, condition toutefois dentrelacer
les symboles transmettre avant de les moduler et de les envoyer sur le canal
(gure 11.10). La dirence principale avec le schma prcdent rside alors
dans la mise en uvre de lgaliseur et du dcodeur SISO. En eet, ces der-
niers changent des informations probabilistes non plus au niveau binaire mais
au niveau symbole, que ce soit sous forme de LRV ou bien directement sous
forme de probabilit. Le lecteur intress trouvera davantage de dtails ce
sujet dans [11.15] par exemple.
Figure 11.10 Schma dmission dans le cas dune modulation code traditionnelle.
dtats et pour des transmissions sur des canaux prsentant des retards tem-
porels importants. On doit alors se tourner vers des solutions alternatives, de
moindre complexit mais qui seront ncessairement sous-optimales par nature.
Une stratgie envisageable dans ce contexte peut consister rduire le nombre
de branches examiner chaque instant dans le treillis. Cette approche est
communment appele turbo-galisation MAP complexit rduite . On
connat direntes mthodes pour arriver ce rsultat, qui seront brivement
prsentes dans la section suivante. Une autre solution sinspire des mthodes
classiques en galisation et met en uvre un galiseur SISO optimis suivant
le critre de la minimisation de lerreur quadratique moyenne (MEQM). On
obtient ainsi un turbo-galiseur MEQM, schma que nous dcrirons en sec-
tion 11.1.6 et qui constitue aujourdhui une solution trs prometteuse pour les
transmissions haut dbits sur canaux fortement slectifs en frquence.
La gure 11.12 illustre les conventions de notation retenues ici. Les quantits
i (s ) = i (s , s)i+1 (s) (11.10)
(s ,s)
Ces deux tapes portent les noms respectifs de rcursion aller (forward
recursion) et rcursion retour (backward recursion). Les sommations portent
sur lensemble des couples dtats dindices (s,s) pour lesquels il existe une
transition valide entre deux instants conscutifs dans le treillis. La rcursion
aller utilise la condition initiale suivante :
Cette condition traduit le fait que ltat de dpart dans le treillis (dindice 0 par
convention) est parfaitement connu. En ce qui concerne la rcursion retour, on
aecte habituellement le mme poids chaque tat en n de treillis car ltat
darrive nest gnralement pas connu a priori :
1
N (s) = , s (11.12)
M L1
En pratique, on constate que la dynamique des grandeurs i1 (s ) et i (s)
crot au fur et mesure de la progression dans le treillis. Par consquent,
ces quantits doivent tre normalises intervalles rguliers an dviter des
problmes de dbordement numrique dans les calculs. Une solution naturelle
consiste diviser ces mtriques chaque instant par des constantes K et K
choisies de manire satisfaire la condition de normalisation suivante :
1 1
i (s) = 1 et i (s) = 1 (11.13)
K s K s
les sommes portant ici sur lensemble des tats possibles s du treillis linstant
i.
Pour complter la description de lalgorithme, il nous reste dvelopper
lexpression du terme i1 (s , s). Ce dernier est assimilable une mtrique de
branche. On peut montrer quil se dcompose en un produit de deux termes :
5
m
Pa (Xl ) = Pr(xi = Xl ) = Pa (Xl,j ) (11.15)
j=1
11. Le principe turbo appliqu lgalisation et la dtection 357
Quant au second terme P (yi |s , s), il reprsente tout simplement la vraisem-
blance P (yi |zi ) de lobservation yi relative ltiquette de branche zi associe
la transition considre. Celle-ci correspond au symbole que lon aurait observ
en sortie du canal en labsence de bruit :
L1
zi = hk xik (11.18)
k=0
On peut alors factoriser le terme dinformation a priori relatif au bit xi,j consi-
dr, la fois au numrateur (Xl,j = 1) et au dnominateur (Xl,j = 0), ce qui
donne :
L(xi,j ) = La (xi,j ) # $
|yi zi |2
i1 (s ) exp 2 + Xl,k La (xi,k ) i (s)
(s ,s)/xi,j =1 w
k=j
+ ln # $
(11.22)
|y z | 2
i1 (s ) exp 2 +
i i
Xl,k La (xi,k ) i (s)
w
(s ,s)/xi,j =0 k=j
1 23 4
Le (xi,j )
Exemple de performances
An dillustrer les bonnes performances oertes par la turbo-galisation
MAP, nous avons choisi de simuler le scnario de transmission suivant : une
source binaire gnre des messages de 16382 bits dinformation, qui sont ensuite
protgs par un code convolutif non rcursif non systmatique de rendement
R = 1/2 4 tats, de polynmes gnrateurs (5,7) en octal. Deux bits nuls sont
insrs la n du message an de forcer la fermeture du treillis dans ltat 0.
On obtient ainsi une squence de 32768 bits cods, qui sont ensuite entrelacs
par bloc suivant une permutation gnre de manire pseudo-alatoire, puis
convertis en symboles MDP-2. Ces symboles sont transmis sur un canal discret
quivalent 5 trajets, invariant dans le temps, de rponse impulsionnelle :
0
10
Sans IES
TurboEgaliseur MAP
1
10
2
10
TEB
3
10
4
10
5
10
6
10
0 2 4 6 8 10 12
Eb/No (dB)
les performances obtenues aprs dcodage sur un canal BABG non slectif en
frquence. Cette courbe reprsente les performances optimales du systme. On
constate quau del dun rapport signal bruit de 5 dB, le turbo-galiseur
supprime toute lIES aprs 5 itrations, et lon atteint les performances idales
du canal BABG. Dautre part, pour un taux derreur binaire cible de 105 , le
processus itratif apporte un gain de lordre de 6.2 dB par rapport aux per-
formances du rcepteur conventionnel ralisant lgalisation et le dcodage de
manire disjointe, donnes par la courbe la 1re itration. Ces performances
sont trs semblables celles prsentes dans la rfrence [11.14].
Ces rsultats appellent un certain nombre de remarques car lexemple consi-
dr ici prsente un comportement caractristique des systmes Turbo. On
constate ainsi que le gain apport par le processus itratif napparat qu par-
tir dun certain rapport signal bruit (seuil de convergence, gal 3 dB ici). Au
del de ce seuil, il se produit une convergence rapide du turbo-galiseur vers les
performances asymptotiques du systme, donnes par la probabilit derreur
aprs dcodage sur canal BABG non slectif. Pour amliorer les performances
globales du systme, on peut envisager lutilisation dun code correcteur der-
reur plus puissant. Lexprience montre que lon se heurte alors la ncessit
dun compromis, trouver dans le choix du code, entre convergence rapide du
processus itratif et bonnes performances asymptotiques du systme ( fort
rapport signal bruit). Plus la capacit de correction du code est grande, plus
le seuil de convergence est lev. Signalons ce sujet quil existe aujourdhui
des outils semi-analytiques tels que les diagrammes EXIT (EXtrinsic Informa-
tion Transfer ) [11.18], permettant de prdire avec prcision la valeur du seuil
de convergence ainsi que le taux derreur aprs dcodage pour un scnario de
transmission donn, sous lhypothse dun entrelacement idal (de taille in-
nie). Une seconde solution consiste introduire un eet de contre-raction au
niveau du canal discret quivalent par linsertion dun schma de prcodage
adquat lmission. La mise en cascade du prcodeur avec le canal produit
un nouveau modle de canal, rcursif par nature, conduisant un gain de per-
formance dautant plus important que lentrelaceur considr est de grande
dimension. Ce phnomne est connu sous le nom de gain dentrelacement
dans la littrature consacre aux turbocodes en srie. Sous rserve de choisir ju-
dicieusement le prcodeur, on peut alors surpasser les performances du schma
de turbo-galisation non rcursif classique comme cela a t montr dans [11.19]
et [11.20].
Toutes les stratgies que nous venons de citer entrent dans la catgorie des
turbo-galiseurs MAP complexit rduite . Dune manire gnrale, ces
solutions sont intressantes lorsque le nombre dtats de la modulation nest pas
trop lev. En revanche, dans le cas de transmissions haut dbit sur des canaux
fortement slectifs en frquence, il est prfrable denvisager des solutions de
type turbo-galiseur MEQM.
362 Codes et turbocodes
Architectures et applications
Lorsque les systmes base de turbo-galisation MAP requirent un trai-
tement temps rel avec des dbits relativement levs (de lordre de plusieurs
Mbits/s), une mise en uvre logicielle nest pas envisageable. Dans ce cas, on
doit faire appel une ralisation sous forme de circuit spcique. Limplmen-
tation circuit dun turbo-galiseur MAP pose des problmes semblables ceux
rencontrs dans le cadre de la mise en uvre matrielle dun turbo-dcodeur.
Deux solutions architecturales peuvent tre envisages :
La premire fait appel une ralisation du turbo-dcodeur sous forme de
pipeline par la mise en cascade de plusieurs modules lmentaires, chaque
module ralisant une itration de dtection et de dcodage.
La seconde fait appel un module matriel unique, ralisant les itrations
successives de manire squentielle, en re-bouclant sur lui mme.
La premire architecture prsente une latence moins grande, elle est donc mieux
adapte aux applications ncessitant des dbits levs. En revanche, la seconde
solution permet dconomiser le nombre de transistors et donc la surface sili-
cium. An de rduire davantage la surface utilise, certains auteurs ont propos
des architectures sophistiques permettant un partage dune partie de lalgo-
rithme SISO entre lgaliseur et le dcodeur, en dpit de la structure dirente
des treillis concerns [11.25]. Cette approche permet galement de rduire la
longueur du chemin critique, et donc la latence globale du systme. Ce der-
nier facteur reprsente un obstacle majeur la mise en uvre pratique de
la turbo-galisation (et plus gnralement des systmes Turbo) car toutes les
applications ne tolrent pas une augmentation du retard de restitution en r-
ception. Le recours llectronique analogique permettra peut-tre de lever cet
obstacle prochainement. Une implmentation analogique dun turbo-galiseur
MAP simpli a ainsi t reporte en [11.26] avec des rsultats prometteurs.
Du point de vue algorithmique, lapplication de la turbo-galisation MAP
au systme GSM a fait lobjet de plusieurs tudes [11.12, 11.27-11.29]. Le
schma traditionnel de turbo-galisation doit alors tre revu an de prendre
en compte les spcicits du standard (entrelacement inter-trame, dirents
niveaux de protection appliqus aux bits en sortie du codeur parole, modula-
tion GMSK, . . . ). Les rsultats de simulation montrent des gains de perfor-
mance gnralement mitigs, en contrepartie dune augmentation importante
de la complexit du rcepteur. Ceci peut sexpliquer en partie par le fait que le
systme GSM classique ne prsente quun niveau limit dIES sur la majorit
des canaux de test dnis dans le standard. En revanche, lintroduction de la
modulation MDP-8dans le cadre de lvolution Enhanced Data for GSM Evo-
lution (EDGE) du GSM augmente sensiblement le niveau dinterfrence. Ce
scnario semble donc plus propice lemploi de la turbo-galisation, ce qui a
suscit plusieurs contributions. En particulier, les auteurs de [11.30]3 ont tu-
di la mise en uvre dun systme complet de turbo-galisation reposant sur
un galiseur SISO de type DDFSE avec prltrage, coupl un estimateur
3 Consulter galement les rfrences cites dans cet article.
11. Le principe turbo appliqu lgalisation et la dtection 363
de canal. Ils ont ainsi obtenu des gains de lordre de plusieurs dB, en fonction
du schma de modulation et codage considr, en comparaison avec les perfor-
mances du rcepteur classique. Dautre part, ils ont galement mis en vidence
le fait que le principe dgalisation et dcodage itratif pouvait tre judicieu-
sement exploit dans le cadre du protocole de retransmissionARQ dni dans
EDGE (schma Incremental Redundancy) pour amliorer la qualit globale de
service en rception.
Figure 11.14 Schma de principe dun galiseur linaire entres et sorties pond-
res, optimis suivant le critre MEQM.
estim xi :
La (xi )
xi = tanh (11.27)
2
Dans la situation classique o lon fait lhypothse dquiprobabilit sur les
symboles mis, nous avons La (xi,j ) = 0 et xi tend vers 0. En revanche, dans
le cas idal dune information a priori parfaite, La (xi,j ) et la donne
estime xi est alors strictement gale la donne mise. En rsum, la valeur de
la donne estime xi volue en fonction de la qualit de linformation a priori
dlivre par le dcodeur. Ceci justie lappellation destimation pondre
(ou probabiliste) pour xi . Par construction, les donnes estimes xi sont des
variables alatoires. On peut notamment montrer (voir [11.38] par exemple)
quelles vrient les proprits statistiques suivantes :
E {xi } = 0 (11.28)
E xi xj = E xi xj = x2 ij (11.29)
Le paramtre x2 dsigne ici la variance des donnes estimes xi . En pratique,
cette quantit peut tre estime sur lhorizon dune trame de N symboles
comme suit :
N 1
1 2
x2 = |xi | (11.30)
N i=0
la sortie du canal jusqu linstant i sous forme dun vecteur colonne yi , nous
pouvons crire :
yi = Hxi + wi (11.31)
T T
avec yi = (yi , . . . , yiF +1 ) , xi = (xi , . . . , xiF L+2 ) et wi = (wi , . . . ,
wiF +1 )T . La matrice H, de dimensions F (F + L 1), est une matrice de
Toeplitz5 dcrivant la convolution par le canal :
h0 hL1 0 0
..
0 h0 hL1 .
H= . (11.32)
. .
.. .. .. 0
0 0 h0 hL1
yi = yi Hxi (11.33)
Dautre part,
E yi yiH = HE (xi xi )(xi xi )H HH + w
2
I
(11.39)
= (x2 x2 )HHH + x2 h hH 2
+ w I
Par un jeu de calcul faisant intervenir une forme simplie du lemme dinversion
matricielle8 , la solution prcdente peut encore scrire :
x2
f = f (11.41)
1 + x2
une structure riche puisquil sagit dune matrice de Toeplitz symtrie hermi-
tienne. Par consquent, lopration dinversion peut tre ralise ecacement
laide dalgorithmes spcialement optimiss, avec un cot de calcul en O(F 2 )
(voir au chapitre 4 de [11.39] par exemple). An de rduire encore davantage
la complexit de la dtermination des coecients, les auteurs de [11.38] ont
propos une mthode sous-optimale mais nanmoins performante, utilisant la
transforme de Fourier rapide (Fast Fourier Transform, ou FFT ), prsentant
un cot en O(F log2 (F )). En contrepartie, le nombre de coecients F doit tre
une puissance de 2.
Il est particulirement instructif dtudier la forme limite prise par lgali-
seur dans le cas classique o les symboles mis sont supposs quiprobables (ce
qui correspond la 1re itration du turbo-galiseur). Dans ce cas, x2 = 0 et
les coecients de lgaliseur scrivent :
!1
f = x2 HHH + w
2
I h x2 (11.43)
x2
L1
h
2 2
f= 2 avec h = hH
h = |hk | (11.44)
x2 h + w
2
k=0
x2 h
2
- .
zi = 2 xi + hH
wi (11.45)
x2 h + 2
w
Demapping SISO
Le rle de ce module consiste convertir les donnes galises zi en LRV
extrinsques sur les bits cods et entrelacs, qui seront ensuite transmis au
dcodeur de canal. Dune manire gnrale, on peut toujours dcomposer lex-
pression de zi comme la somme de deux quantits :
zi = g xi + i (11.46)
(11.49)
# P
P (zi |xi =Xl )Pa (Xl )
$
Xl /Xl,j =1
= ln P
P (zn |xi =Xl )Pa (Xl )
Xl /Xl,j =0
X /X =1 exp 2 + X L (x
l,k a i,k )
l l,j
k=1
L(xi,j ) = ln (11.51)
|zi g Xl |2 m
exp 2 + Xl,k La (xi,k )
Xl /Xl,j =0 k=1
4
L(xi ) = Re {zi } (11.54)
1 g
fi+1 = fi (zi xi ) yi
(11.56)
gi+1 = gi (zi xi ) xi
2
E |zi | = g x2 (11.58)
En supposant que la variance des donnes mises est normalise lunit, les-
timation de g sobtient par :
N 1
1 2
g = |zi | (11.59)
N i=0
2 = x2 g (1 g ) (11.60)
Exemples de performances
des ns de comparaison, les performances du turbo-galiseur MEQM
ont t simules en considrant le mme scnario de transmission que pour le
turbo-galiseur MAP.
0
10
Sans IES
TurboEgaliseur MEQM
1
10
2
10
3
10
TEB
4
10
5
10
6
10
7
10
0 5 10 15
Eb/No (dB)
sur un canal pourtant rput dicile galiser. Il constitue donc une solution
alternative srieuse au turbo-galiseur MAP lorsque ce dernier ne peut tre
utilis pour raisons de complexit.
0
10
Sans IES
TurboEgaliseur MEQM adaptatif
1
10
2
10
3
10
TEB
4
10
5
10
6
10
7
10
0 5 10 15
Eb/No (dB)
r = SAb + n (11.61)
o :
11. Le principe turbo appliqu lgalisation et la dtection 379
Rcepteur standard
Le dtecteur le plus simple (dtecteur conventionnel ou standard) est ce-
lui qui fonctionne comme si chaque utilisateur tait seul sur le canal. Le r-
cepteur est tout simplement form du ltre adapt la signature de luti-
380 Codes et turbocodes
y = ST r = RAb + ST n (11.62)
- .
- .
2
Maxb fyb (y) Minb yRAbR1 Maxb 2bT AybTARAb (11.64)
Dtecteur dcorrlateur
Dtecteur Itratif
avec :
5
K
- .
K = I sj sTj (11.69)
j=1
11.2.3 Turbo-CDMA
Plusieurs techniques de type turbo-CDMA ont t proposes pour traiter
conjointement la multi-dtection et le dcodage de canal :
Varanasi et al [11.50] ont propos de dcoder (estimation dure) et de reco-
der immdiatement chaque utilisateur avant de soustraire cette contribu-
tion au signal reu. La mme opration est eectue sur le signal rsiduel
pour dcoder les informations du deuxime utilisateur et ainsi de suite
jusquau dernier utilisateur.
11. Le principe turbo appliqu lgalisation et la dtection 385
Dtecteur Turbo-SIC
Dans ce paragraphe, le dcodage de canal est introduit dans une nouvelle
structure dannulation dinterfrences successives (SIC ). La gure 11.23 reste
valable, seule les units ICUm,k changent. Chaque unit dannulation dinter-
frence ICUm,k , relative au k-ime utilisateur et litration m, est donne par
la gure 11.26. Loriginalit rside dans la faon dont cette unit est conue :
le signal derreur rsiduel em,k est dstal (par sk ) puis dsentrelac (k1 )
avant addition de lestimation pondre des donnes bm1,k du mme utilisa-
teur calcules litration prcdente. Le signal ainsi obtenu, ym,k , passe par
le dcodeur de canal qui fournit le logarithme du rapport de vraisemblance a
386 Codes et turbocodes
Quelques simulations
Pour donner une ide des performances du dcodeur turbo-SIC, des s-
quences de Gold de taille 31 sont gnres. Le turbocodeur de canal (de ren-
dement R = 1/3) normalis pour lUMTS [11.8] est utilis. On considre des
11. Le principe turbo appliqu lgalisation et la dtection 387
trames de 640 bits par utilisateur. Les entrelaceurs externes des dirents uti-
lisateurs sont produits de faon alatoire. Les TEB et TEP sont moyenns sur
lensemble des utilisateurs. Pour le turbo-dcodeur de canal, lalgorithme Max-
Log-MAP est utilis avec un nombre ditrations internes au turbo-dcodeur
de 8. La gure 11.27(a) donne les performances du dcodeur turbo-SIC pour
une, deux et trois itrations avec K = 31 utilisateurs (soit 100% de taux de
charge) de mme puissance. Les performances du dtecteur mono-utilisateur
et du dtecteur conventionnel y sont galement indiques. La gure 11.27(b)
fournit les performances en terme de TEP.
11.3 Conclusions
Dans ce chapitre, nous avons prsent les deux premiers systmes avoir b-
nci de lapplication du principe turbo un contexte autre que le codage cor-
recteur derreurs. Dans la premire partie, nous nous sommes attachs dcrire
le principe de la turbo-galisation. Il sagit dun change rciproque et itratif
dinformation probabiliste entre lgaliseur SISO et le dcodeur SISO. Lgali-
seur SISO peut prendre direntes formes selon le critre doptimisation choisi.
Nous avons prsent deux types dgaliseurs SISO : lgaliseur BCJR-MAP,
bas sur la reprsentation en treillis du canal, et lgaliseur MEQM, qui utilise
le ltrage linaire. Sous sa forme BCJR-MAP, lgaliseur conduit dexcellentes
performances du turbo-galiseur comparativement au rcepteur conventionnel.
Cependant, cette approche est souvent carte en pratique car elle conduit un
cot de calcul trs important. Nous avons cit diverses techniques de rduction
de la complexit de lgaliseur BCJR-MAP. Le turbo-galiseur MEQM quant
lui ore un bon compromis performance-complexit. Pour de nombreuses
congurations de transmission il conduit des performances proches de celles
oertes par le turbo-galiseur BCJR-MAP, et cela pour une complexit raison-
nable. De plus, contrairement au turbo-galiseur BCJR-MAP, il est possible de
mettre en uvre une version adaptative du turbo-galiseur MEQM qui ralise
conjointement lgalisation et la poursuite des variations de canal.
Dans la deuxime partie, nous nous sommes intresss lapplication du
principe turbo au domaine des communications multi-utilisateurs. Nous avons
prsent un tat de lart des techniques conventionnelles de dtection multi-
utilisateurs. Notamment, les mthodes PIC et SIC dannulation successives
des interfrences multi-utilisateurs on t dcrites. Leurs structures particu-
lires conduisent une exploitation relativement aise du principe turbo dans le
contexte dune transmission multi-utilisateurs. Comme pour la turbo-galisation,
dirents dtecteurs peuvent tre mis en uvre bass sur des ltres MEQM ou
des bancs de ltres adapts, par exemple.
Dans ce chapitre, nous nous sommes volontairement restreints la prsen-
tation de deux systmes particuliers exploitant le principe Turbo. Cependant,
de manire plus gnrale, tout problme de dtection de symboles ou destima-
tion des paramtres de transmission peut tirer parti du principe turbo. Ainsi,
lventail de solutions permettant de traiter les interfrences apportes par un
systme multi-antennes lmission et la rception (MIMO) a t enrichi de
techniques itratives telles que le turbo-BLAST (Bell Labs layered space time)
[11.54]. Le challenge consiste proposer des dtecteurs SISO de complexit rai-
sonnable sans sacrier le dbit et/ou les performances importantes potentielles
de tels systmes.
Nous pouvons galement citer les eorts ddis la synchronisation des
rcepteurs. En eet, les gains de puissance apports par le principe turbo
conduisent dcaler le point de fonctionnement des systmes vers de faibles rap-
ports signal bruit. Or, les moyens conventionnels de synchronisation ntaient
pas initialement prvus pour fonctionner dans ces conditions diciles [11.55].
11. Le principe turbo appliqu lgalisation et la dtection 389
11.4 Bibliographie
[11.1] J. G. Proakis, Digital Communications, 4th edition. McGraw-Hill,
New-York, 2000.
[11.2] S. U. H. Qureshi, Adaptive Equalization , Proc. IEEE, vol. 73,
n9, pp. 1349-1387, Sept. 1985.
[11.3] G. M. Vitetta, B. D. Hart, A. Mmmel and D. P. Taylor, Equa-
lization Techniques for Single-Carrier Unspread Digital Modulations , Wide-
band Wireless Digital Communications, A. F. Molish, Ed. Prentice-Hall, Upper
Saddle River, NJ, 2001, pp. 155-308.
[11.4] J.-M. Brossier, Signal et Communication Numrique Egalisation et
Synchronisation, Collection Traitement du Signal, Herms, Paris, 1997.
[11.5] G. D. Forney Jr, Maximum-Likelihood Sequence Estimation of Di-
gital Sequences in the Presence of Intersymbol Interference , IEEE Trans.
Inform. Theory, vol. IT-18, n3, pp. 363-378, May 1972.
[11.6] M. S. Mueller and J. Salz, A Unied Theory of Data-Aided Equa-
lization , Bell Sys. Tech. J., vol. 60, n11, pp. 2023-2038, Nov. 1981.
[11.7] A. Gersho and T. J. Lim, Adaptive Cancellation of Intersymbol
Interference for Data Transmission , Bell Sys. Tech. J., vol. 60, n11, pp.
1997-2021, Nov. 1981.
[11.8] ETSI Digital Cellular Telecommunication System (Phase 2+). GSM
05 Series, Rel. 1999.
[11.9] P. R. Chevillat and E. Eleftheriou, Decoding of Trellis-Encoded
Signals in the Presence of Intersymbol Interference and Noise , IEEE Trans.
Commun., vol. 37, n7, pp. 669-676, July 1989.
[11.10] W. Koch and A. Baier, Optimum and Sub-Optimum Detection
of Coded Data Disturbed by Time-Varying Intersymbol Interference , Proc.
IEEE. Global Telecommun. Conf. GLOBECOM90, San Diego, CA, 2-5 Dec.
1990, vol. 3, pp. 1679-1684.
[11.11] J. Hagenauer, Soft-In / Soft-Out The Benets of Using Soft
Decisions in all Stages of Digital Receivers , Proc. 3rd Int. Symposium on DSP
390 Codes et turbocodes
Workshop on Signal Processing Systems, SIPS 2003, pp. 87-92, Seoul, Korea,
Aug. 2003.
[11.26] J. Hagenauer, E. Oer, C. Measson and M. Mrz, Decoding and
Equalization with Analog Non-Linear Networks , European Trans. Telecom-
mun., pp. 107-128, Oct. 1999.
[11.27] A. Picart, P. Didier and A. Glavieux, Turbo-Detection : A New
Approach to Combat Channel Frequency Selectivity , Proc. IEEE Int. Conf.
Commun. ICC97, Montral, pp. 1498-1502, Canada, June 1997.
[11.28] G. Bauch and V. Franz, Iterative Equalization and Decoding for
the GSM System , Proc. IEEE Veh. Technol. Conf., VTC98, pp. 2262-2266,
Ottawa, Canada, May 1998.
[11.29] V. Franz, Turbo-Detection for GSM Systems Channel Estimation,
Equalization and Decoding, Ph.D. Thesis, Lehrstuhl fr Nachrichten Technik,
Mnich, Germany, Nov. 2000.
[11.30] N. Nefedov, M. Pukkila, R. Visoz and A. O. Berthet, Iterative
Receiver Concept for TDMA Packet Data Systems , European Trans. Tele-
commun., vol. 14, n5, pp. 457-469, Sept.-Oct. 2003.
[11.31] A. Glavieux, C. Laot and J. Labat, Turbo Equalization over a Fre-
quency Selective Channel , Proc. Int. Symposium on Turbo Codes & Related
Topics, pp. 96-102, Brest, France, Sept. 1997.
[11.32] C. Laot, Egalisation Auto-didacte et Turbo-Egalisation Application
aux Canaux Slectifs en Frquence, Thse de lUniversit de Rennes I, Rennes,
France, July 1997.
[11.33] C. Laot, A. Glavieux and J. Labat, Turbo-Equalization : Adaptive
Equalization and Channel Decoding Jointly Optimized , IEEE J. Select. Areas
Commun., vol. 19, n9, pp. 1744-1752, Sept. 2001.
[11.34] X. Wang and H. V. Poor, Iterative (Turbo) Soft Interference Can-
cellation and Decoding for Coded CDMA , IEEE Trans. Commun., vol. 47,
n7, pp. 1046-1061, July 1999.
[11.35] D. Reynolds and X. Wang, Low-Complexity Turbo-Equalization
for Diversity Channels , Signal Proc., vol. 81, n5, pp. 989-995, May 2001.
[11.36] M. Tchler, A. C. Singer and R. Ktter, Minimum Mean-Squared
Error Equalization Using A Priori Information , IEEE Trans. Signal Proces-
sing, vol. 50, n3, pp. 673-683, Mar. 2002.
[11.37] M. Tchler, R. Ktter and A. C. Singer, Turbo-Equalization :
Principles and New Results , IEEE Trans. Commun., vol. 50, n5, pp. 754-
767, May 2002.
[11.38] C. Laot, R. Le Bidan and D. Leroux, Low-Complexity MMSE
Turbo Equalization : A Possible Solution for EDGE , IEEE Trans. Wireless
Commun., VOL. 4, NO.3, May 2005.
[11.39] G. H. Golub and C. F. Van Loan, Matrix Computations, 3rd edition.
The Johns Hopkins University Press, Baltimore, 1996.
[11.40] A. Dejonghe and L. Vandendorpe, Turbo-Equalization for Mul-
tilevel Modulation : An Ecient Low-Complexity Scheme , Proc. IEEE Int.
392 Codes et turbocodes
Conf. on Commun., ICC 2002, vol. 3, pp. 1863-1867, New-York City, NY, 28
Apr.-2 May 2002.
[11.41] C. Langlais and M. Hlard, Mapping optimization for turbo-equalization
improved by iterative demapping , Electronics Letters, vol. 38, n2, oct. 2002.
[11.42] F. Volgelbruch and S. Haar, Improved Soft ISI Cancellation for
Turbo Equalization using Full Soft Output Channel Decoders Information ,
Proc. Globecom 2003, pp. 1736-1740, San Francisco, USA, December 2003.
[11.43] M. Hlard, P.J. Bouvet, C. Langlais, Y.M. Morgan, I. Siaud, On
the performance of a turbo equalizer including Blind Equalizer over Time and
Frequency Selective Channel. Comparison with an OFDM system , Proc. Int.
Symposium on Turbo Codes & Related Topics, pp. 419-422, Brest, France, Sept.
2003.
[11.44] R. Le Bidan, C. Laot and D. Leroux, Real-Time MMSE Turbo-
Equalization on the TMS320C5509 Fixed-Point DSP , Proc. IEEE Int. Conf.
on Accoustics, Speech and Signal Processing, ICCASP 2004, vol. 5, pp. 325-328,
Montreal, CA, 17-21 May 2004.
[11.45] C. Langlais, Etude et amlioration dune technique de rception nu-
mrique itrative : Turbo-Egalisation, Thse de lINSA de Rennes, Rennes,
France, Nov. 2002.
[11.46] R. Otnes, Improved receivers for digital High Frequency communica-
tions : iterative channel estimation, equalization, and decoding (adaptive turbo
equalization), Doctor Engineer Thesis of the Norwegian university of science
and technology, 2002.
[11.47] S. Verdu, Multiuser detection. Cambridge University Press, 1998.
[11.48] L.K. Rasmussen, T.J. Lim and A.L. Johanson, A matrix-algebraic
approach to successive interference cancellation in CDMA , IEEE Transac-
tions on Communications, vol. 48, n1, pp. 145-151, January 2000.
[11.49] G. Dongning, L.K. Rasmussen and T.J. Lim, Linear parallel inter-
ference cancellation in long-code CDMA multiuser detection , IEEE Journal
on Selected Areas In Communications, vol. 17, n12, pp. 2074-2081, December
1999.
[11.50] M.K. Varanasi and T. Guess, Optimum decision feedback multiuser
equalization with successive decoding achieves the total capacity of the gaus-
sian multiple-access channel , Conference Record of the Thirty-First Asilomar
Conference on Signals, Systems & Computers, 2 :1405-1409, 2-5 Nov.1997.
[11.51] A. Tarable, G. Montorsi and S. Benedetto, A linear Front End
for Iterative Soft Interference Cancellation and Decoding in Coded CDMA ,
Proc. ICC01, International Conference on Communications, June 11-14 2001.
[11.52] M.C. Reed and P.D. Alexander, Iterative Multiuser detection using
antenna arrays and FEC on Multipath channels , IEEE Journal on Selected
Areas in Communications, vol. 17, n12, pp. 2082-2089, December 1999.
[11.53] Third Generation Partnership Project (3GPP) Technical Specica-
tion Group (TSG) Radio Access Network Working Group. Multiplexing and
channel coding (FDD), Technical report 3GPP, 2002.
11. Le principe turbo appliqu lgalisation et la dtection 393
interfrence entre symboles, 60, 64, 343, mtrique de branche, 56, 185, 232, 326,
361 356
irrgularit (prol d), 288, 298 mtrique de nud, 186
MLSD (Maximum Likelihood Sequence
LDPC (Low Density Parity Check ), 18, Detection), 345
83, 202, 283 MMSE (Minimum Mean Square Er-
limite de Shannon, 2, 93, 208 ror ), voir MEQM
LMS (Least Mean Square), 364 modulation code bits entrelacs, voir
Log-MAP, 326, 353 BICM
logarithme du rapport de vraisemblance, modulation code en treillis, 325
92, 225, 285, 295, 335, 352 modulation turbocode, 331
longueur de contrainte, 168 Morse, 3
LRC (Raised Cosine pulse), 35 mot de code, 5, 109, 209, 260, 302
LRV, voir logarithme du rapport de mots croiss (turbo), 204
vraisemblance MSK (minimum shift keying), 32
multiplicit, 14, 89, 176, 247
m-binaire, voir code m-binaire multiporteuses, 78
machine tats, 174
MAP, voir maximum a posteriori niveau de protection, 333
mapping entre et sortie pondres Nyquist (critre de), 63
(SISO), 365 OFDM (Orthogonal Frequency Division
MAQ-16, 27, 105, 334 Multiplexing), 78, 344
MAQ-M (modulation damplitude en OOK (On O Keying), 22
quadrature), 27, 49 ou-exclusif, 5
matrice de contrle, 113, 202, 270, 287
matrice gnratrice, 110, 290, 291 papillon, 173
Max-Log-MAP, 226, 232, 277, 326, 353 permutation, 5, 203, 209, 216, 217, 223,
maximum a posteriori, 166, 189, 230, 290, 332
277, 326, 353, 354 Peterson (algorithme de), 144
maximum de vraisemblance, 6, 97, 134, PIC (Parallel Interference Cancellation),
185, 243, 265, 350 383
MCT, voir modulation code en treillis PNP (processeur de nud de parit),
MDA-M (modulation par dplacement 302, 314
damplitude M tats), 22 PNV (processeur de nud de variable),
MDF-M (modulation de frquence 302, 313
M tats), 29 poids de Hamming, 6, 113, 175
MDP-2, 25, 47, 97, 137, 229, 365 poinonnage, 167, 202, 241, 332
MDP-4, 48, 97, 101, 137, 229, 244, 377 polynme gnrateur, 121, 125, 130,
MDP-8, 103, 244, 362 169
MDP-M (modulation par dplacement processeur de traitement de signal (DSP),
de phase M tats), 25 10, 364
mmoire de code, 187, 207 processeurs de traitement de signal (DSP),
MEQM (Minimisation de lErreur Qua- 235
dratique Moyenne), 342, 347, produit scalaire, 10
363, 382 propagation de croyance, 277, 283
Index 397
tail-biting, 191
taux de redondance, 2
TEB (taux derreurs binaires), 12
temps de cohrence, 73
TEP (taux derreurs de paquets), 12
terminaison, 192, 215
TMCT, voir turbo-modulation code
en treillis
tout 0 (squence), 5, 176, 200, 246, 298
treillis, 18, 56, 172, 302, 346
turbo-CDMA, 384
turbo dcodage de codes produits, 268
turbo-dtection, 353
turbo-dtection multi-utilisateurs, 378
turbo-galisation, 342, 351
turbo-galisation selon la Minimisation
de lErreur Quadratique Moyenne
(MEQM), 363
turbo-MAQ-16, 327
Collection IRIS
Dirige par Nicolas Puech
Ouvrages parus :
Algorithmes dapproximation
V. Vazirani, Springer-Verlag France, 2006
paratre :