Vous êtes sur la page 1sur 55

C . L . I .

e n c a d r p a r M e s s | e u r s n u s s o n e t A n t o | n e
lnmaculada 8eLamar - nlcolas de larcy - Alexls SpyraLos
ro[eL de decodeur LuC dans la norme uv8-S2 commandlLe par la SocleLe Zodlac uaLa SysLems
novembre 2009 - Mars 2010
Cpt|on CNL

ro[eL angolln - CompLe rendu flnal
2

Somma|re
Introduct|on....................................................................................................................... 3
1. ketour sur |es acqu|s de |a prem|re phase.................................................................. 4
"# $%&% '( )*&+% '(, -.'(, /012################################################################################################################################## 3
4# 1+5,( (6 7&56 '( )& 6.+7(################################################################################################################################### ""
2. ketour sur |es acqu|s de |a seconde phase ................................................................. 20
"# 85,( (6 9)&-( '*:6 -.'( '( 9(%5%( %&5))(######################################################################################################### 4;
4# <)=.+5%>7(, ,.:,?.9%57&:@ ############################################################################################################################### 44
3. M|se en p|ace des a|gor|thmes sur une matr|ce n de pet|te ta|||e............................... 33
"# A:5B5 '( )*CB.):%5.6 '(, //D################################################################################################################################ EE
4# 1(+F.+7&6-(, '( 'C-.'&=(################################################################################################################################# EG
4. M|se en p|ace du dcodeur dans |a norme DV8-S2 .................................................... 39
"# $)C7(6%, 6C-(,,&5+(, &: 'C-.'&=(################################################################################################################## EH
4# 85,( (6 9)&-( '( %&I)(, ######################################################################################################################################### EH
S. Ltude et compara|son des performances................................................................... 42
"# 1(+F.+7&6-(, '( )*&)=.+5%>7( J1##################################################################################################################### 34
4# <6&)K,( '( )*.9C+&%(:+ ########################################################################################################################################## 33
E# /*&)=.+5%>7( 856A:7 (% ,(, &7C)5.+&%5.6, ################################################################################################# 3L
Conc|us|on : ..................................................................................................................... S4
8|b||ograph|e.................................................................................................................... SS







3
Introduct|on

Ce pro[eL a eu pour ob[ecLlf la reallsaLlon du bloc de decodage LuC de la norme uv8-S2 decrlLe par
l'L1Sl. Son deroulemenL s'esL effecLue en Lrols phases :
- eLaL de l'arL des codes LuC eL prlse en maln de la norme
- reallsaLlon d'un decodeur LuC sur un code de peLlLe Lallle
- mlse en place de ce decodeur sur le code de la norme uv8-S2
nous rappellerons lcl dans une premlere parLle les acquls des deux premleres phases eL nous nous
eLendrons ensulLe sur l'eLude du decodeur dans la norme eL de ses performances.
4
1. ketour sur |es acqu|s de |a prem|re phase

1. Ltat de |'art des codes LDC

reambule:
La slgnlflcaLlon de LuC esL Low uenslLy arlLy Check , pour codes a falble denslLe . Les codes
LuC sonL des codes en blocs qul se caracLerlsenL par une maLrlce de conLrle P creuse, c'esL a dlre
conLenanL peu de 1. uecrlLs pour la premlere fols dans les annees 60, lls onL eLe praLlquemenL
oublles pendanL 30 ans avanL d'Lre redecouverLs dans les annees 90 apres l'lnvenLlon des
Lurbocodes. uepuls, des progres conslderables onL eLe effecLues sur les regles de consLrucLlon, sur
les Lechnlques d'encodage eL de decodage de bons codes LuC, qul onL condulL a leur uLlllsaLlon dans
des appllcaLlons praLlques, Lelles que l'lmagerle spaLlale.
nous allons nous lnLeresser dans ceLLe parLle a l'eLude du prlnclpe de foncLlonnemenL
des codes LuC eL de leur decodage, alnsl qu'a la reallsaLlon maLerlelle de decodeurs.


1. rlnclpe des codes LuC :

Les codes LuC sonL consLrulLs a parLlr du code de parlLe, donL nous allons expllquer le
foncLlonnemenL. une equaLlon de parlLe relle n donnees blnalres enLre elles par l'operaLeur ou
excluslf , noLe
!
". Llles esL verlflee sl le nombre de 1 dans l'equaLlon esL palr (ou nul). La flgure 1
lllusLre graphlquemenL ce Lype d'equaLlons. Les
!
c
i
sonL les varlables, eL le recLangle esL la conLralnLe
de parlLe.


llgure1 : represenLaLlon graphlque d'une equaLlon de parlLe



3
2. Code de parlLe a n blLs :
Cn deflnlL le L8v (logarlLhme du rapporL de vralsemblance) de la varlable
!
c
j
de la faon sulvanLe :
!
L(c
j
) = ln(
P(c
j
=1)
P(c
j
= 0)
).
A l'alde de l'expresslon du L8v, on peuL exprlmer les probablllLes sulvanLes :
!
P(c
j
=1) =
exp(L(c
j
))
1+exp(L(c
j
)
eL
!
P(c
j
= 0) =
1
1+exp(L(c
j
)

Cn consldere que les varlables blnalres
!
c
1
,..,c
n
sonL llees par l'equaLlon de parlLe
!
c
1
"... "c
n
= 0.
Cn suppose connu le L8v des varlables
!
c
j
, [ = 1..n eL [
!
"l, eL on cherche celul de la varlable
!
c
i
(car
c'esL ce qul va permeLLre d'esLlmer la varlable
!
c
i
).
- Les L8v sonL relles par l'equaLlon :
- en appllquanL la foncLlon Lanh
!
(
x
2
) a ceLLe equaLlon, on obLlenL :
!
tanh(
L(c
i
)
2
) = tanh(
L(c
j
)
2
)
j "i
#

- en separanL le slgne eL le module (praLlque eL frequenL), on a :

!
sgn(L(c
i
)) = sgn(L(c
j
)
j "i
#
eL apres calcul
!
L(c
i
) = f
"1
( f ( L(c
j
)
j #i
$
))
Cu la foncLlon f esL deflnle par
!
f (x) = ln(tanh(
x
2
)) eL verlfle
!
f
"1
(x) = f (x).
Ces eLapes permeLLenL d'obLenlr
!
L(c
i
), eL donc d'en dedulre la probablllLe
!
P(c
j
=1) (eL donc blen
sr
!
P(c
j
= 0) ).

3. Codes en blocs llnealres :
La flgure 2 esL la represenLaLlon graphlque d'un code en bloc llnealre par sa maLrlce de conLrle P eL
le graphe blparLlLe assocle. C'esL lcl un code de Pammlng P(7,4).

6
llgure 2 : represenLaLlon graphlque du code de Pammlng P(7,4)

Chaque branche du graphe blparLlLe esL rellee a 2 nouds apparLenanL a 2 classes dlfferenLes :
- les nouds de varlable correspondenL aux blLs des moLs de code
!
c
j
, [=1..n, eL donc aux colonnes
de P.
- les nouds de parlLe correspondenL aux equaLlons de parlLe
!
e
p
, p=1..m, donc aux llgnes de P.
A chaque branche rellanL le noud de varlable
!
c
j
au noud de parlLe
!
e
p
correspond le 1 qul se slLue a
l'lnLersecLlon de la [-leme colonne eL de la p-leme llgne de la maLrlce P. Cn noLera ([)
(respecLlvemenL !(p)) l'ensemble des lndlces des nouds de parlLe relles a la varlable d'lndlce [
(respecLlvemenL a la parlLe d'lndlce p). ([)/p (respecLlvemenL !(p)/[) deslgne l'ensemble ([) prlve de
l'lndlce p (respecLlvemenL !(p) prlve de [).
un cycle sur le graphe blparLlLe esL un chemln permeLLanL de parLlr d'un noud eL d'y revenlr sans
passer par la mme branche, eL la Lallle d'un cycle esL le nombre de branches de ce chemln. La
presence de cycles dans le graphe enLraine une degradaLlon des performances de decodage par un
phenomene d'auLo-conflrmaLlon lors de la propagaLlon des messages.
ueux cycles de Lallle 4 eL 6 presenLs dans le graphe blparLlLe precedenL sonL mls en evldence par la
flgure 3.

llgure3 : cycles dans un graphe blparLlLe
4. Codes LuC :
La parLlcularlLe des codes LuC par rapporL aux auLres codes en blocs llnealres esL leur falble denslLe,
c'esL a dlre le peLlL nombre de valeurs non nulles conLenues dans la maLrlce de conLrle P : c'esL une
maLrlce creuse. Le graphe blparLlLe assocle conLlenL donc un falble nombre de branches. Cela se
LradulL par le falL que l'augmenLaLlon de la longueur n d'un moL de code enLraine une augmenLaLlon
du nombre de 1 dans la maLrlce en C(n), alors que le nombre d'elemenLs de la maLrlce augmenLe en
C(
!
n
2
) sl le rendemenL k/n esL lnchange. Cn dlsLlngue deux sous classes de codes LuC :
? les codes LuC regullers
? les codes LuC lrregullers
7

un code esL reguller sl P conLlenL un nombre consLanL
!
d
c
de 1 dans chaque llgne eL
!
d
v
dans chaque
colonne. Alors les varlables sonL de degre
!
d
v
eL les parlLes de degre
!
d
c
. Le code esL un code LuC
reguller (
!
d
v
,
!
d
c
). La flgure 4 presenLe un exemple de code reguller (3,6) avec n=236. ll y a seulemenL
!
3 " 256 valeurs non nulles, solL envlron 2,3 du nombre LoLal de valeurs. Lorsqu'a rendemenL flxe,
la Lallle du code Lend vers l'lnflnl, ce pourcenLage Lend vers zero.
Sl le code ne conLlenL pas un nombre consLanL de 1 par llgne eL par colonne, alors ll esL lrreguller, eL
on peuL caracLerlser les proflls d'lrregularlLe des varlables alnsl que ceux des parlLes a l'alde de
polynmes donL les coefflclenLs fonL lnLervenlr des rapporLs enLre nombres de 1 dans cerLalnes
llgnes ou colonnes eL nombre LoLal de 1 dans la maLrlce P :
- pour les varlables :
!
"(x) = "
j
x
j #1
$

- pour les parlLes :
!
"(x) = "
p
x
p#1
$

ar exemple,
!
"(x) = 0,2x
4
+0,8x
3
lndlque un code ou 20 des 1 sonL assocles a des varlables (ou
colonnes) de degre 3 eL 80 des 1 a des varlables de degre 4. Le ralsonnemenL esL le mme pour les
parlLes.
Les codes lrregullers onL plus de degres de llberLes que les codes regullers, ce qul rend leur
opLlmlsaLlon plus efflcace eL amellore alnsl leurs performances asympLoLlques. (Les codes decrlLs
dans la norme uv8-S2 sonL lrregullers).

3. 8endemenL du code :
uans une maLrlce de parlLe P de Lallle (m,n), chacune des llgnes correspond a un blL de redondance
(seul un blL esL conLralnL eL correspond a de la redondance). Sl les m llgnes sonL lndependanLes, ll y a
m blLs de redondance, eL donc n-m = k blLs d'lnformaLlon. Le rendemenL esL alors : 8 = k/n = (n-m)/n
= 1- m/n. Sl les m llgnes ne sonL pas lndependanLes, ll y a molns de blLs conLralnLs (un de molns sl 2
llgnes sonL ldenLlques par exemple), donc plus de blLs d'lnformaLlon : 8 > 1-m/n.
- pour un code LuC reguller, on a
!
nd
v
= md
c
= nombre LoLal de 1 dans P. uonc le rendemenL
verlfle :
!
R "1#
d
v
d
c

- pour un code lrreguller, on a
!
R "1#
$
p
/ p
%
&
j
/ j
%

L'egallLe esL aLLelnLe sl la maLrlce P esL de rang m.

8
6. uecodage des codes LuC
Le decodage d'un code LuC s'effecLue par un algorlLhme lLeraLlf dlL algorlLhme a
propagaLlon de croyance (ou 8).
- chaque noud de varlable envole a ses nouds de parlLe assocles un message sur la valeur esLlmee
de la varlable (lnformaLlon a prlorl)
- l'ensemble des messages a prlorl reus permeL a la conLralnLe de parlLe de calculer eL reLourner les
lnformaLlons exLrlnseques
- le LralLemenL successlf des nouds de varlable eL de parlLe consLlLue une lLeraLlon
- a chaque lLeraLlon, ll y a donc un echange bllaLeral de messages enLre les nouds de parlLe eL de
varlable, sur les branches du graphe blparLlLe.

Le decodage (a enLree souple) uLlllse la probablllLe a prlorl des symboles reus. Cn uLlllse le
logarlLhme du rapporL de vralsemblance (L8v) a prlorl des echanLlllons x[ :
!
L(X
j
c
j
) = ln(
P(X
j
c
j
=1)
P(X
j
c
j
= 0)
) ou
!
X
j
= c
j
+b
j
(
!
b
j
: brulL)

Cn deflnlL les grandeurs sulvanLes :

- l'lnformaLlon lnLrlnseque :
!
I
j
= L(X
j
c
j
)
- l'lnformaLlon exLrlnseque LoLale
!
Z
j
= Z
j, p
p"P( j )
#
, somme des lnformaLlons exLrlnseques de branche
- l'lnformaLlon LoLale du blL [ (L8v) :
!
L
j
= I
j
+ Z
j


L'algorlLhme 8 esL opLlmal sl le graphe blparLlLe du code ne conLlenL aucun cycle. Mals les codes
LuC comporLenL des cycles, eL leur decodage par l'algorlLhme 8 peuL enLrainer des phenomenes
d'auLo-conflrmaLlon qul degradenL la convergence. Ces phenomenes sonL neanmolns llmlLes sl la
Lallle des cycles esL assez grande.
Le sequencemenL par lnondaLlon conslsLe a LralLer successlvemenL LouLes les parlLes puls LouLes les
varlables, eL c'esL celul que nous allons lllusLrer. Les lLeraLlons sonL repeLees [usqu'a ce que le
nombre d'lLeraLlons maxlmum
!
N
it
solL aLLelnL. Cn peuL s'arrLer avanL lorsque LouLes les equaLlons
de parlLe sonL saLlsfalLes, ce qul permeL de gagner en deblL moyen ou de llmlLer la consommaLlon.

9
AlgorlLhme de sequencemenL par lnondaLlon :
- lnlLlallsaLlon :
!
n
it
= 0, Z
j, p
(0)
= 0"p, I
j
(0)
= L
c
r
j
"j
- lLeraLlons
!
n
it
= 1,2,..., N
it
:
calcul des messages parlLe vers varlable :
- calcul de
!
Z
j, p
(n
it
)
a parLlr de
!
L
j'
(n
it
"1)
eL de
!
Z
j', p
(n
it
"1)
avec
!
j'"J( p) / j

calcul des messages varlable vers parlLe :

- calcul de
!
Z
j
(n
it
)
a parLlr des
!
Z
j, p
(n
it
)

- calcul de
!
L
j
(n
it
)
a parLlr de
!
L
j
(n
it
"1)
eL de
!
Z
j
(n
it
)


- decodage des blLs
!
c
j
a parLlr de
!
L
j
(n
it
)

Cn repeLe [usqu'a ce que
!
n
it
= N
it
ou que le sysLeme alL converge vers un moL de code, c'esL a dlre
que le syndrome esL nul.
La complexlLe du decodage esL en C(n) pour chaque lLeraLlon.
Cn peuL noLer qu'll esL posslble de modlfler l'algorlLhme en ordonnanL le sequencemenL par
lnondaLlon sulvanL les nouds de parlLe, ou sulvanL les nouds de varlable (calcul dlsLrlbue).
10
La consLrucLlon d'une famllle de codes LuC dolL Lre effecLuee dans une demarche d'opLlmlsaLlon
des performances LouL en mlnlmlsanL la complexlLe maLerlelle du decodeur. our consLrulre un code
LuC qul solL efflcacemenL decode par l'algorlLhme 8, ll fauL proceder a une opLlmlsaLlon en Lrols
eLapes :
? opLlmlsaLlon a prlorl des proflls d'lrregularlLe des nouds de parlLe eL de varlable
(opLlmlsaLlon des caracLerlsLlques asympLoLlques)
? consLrucLlon de maLrlces P de Lallle flnle respecLanL les proflls d'lrregularlLe eL maxlmlsanL la
longueur des cycles
? selecLlon des codes selon la dlsLance mlnlmale ou les performances calculees par slmulaLlon

Les codes LuC onL des performances Lheorlques Lres bonnes, mals ll s'aglL aussl en praLlque de
slmpllfler la mlse en ouvre maLerlelle. C'esL pour cela que l'on s'lnLeresse aux archlLecLures des
decodeurs LuC dans la parLle sulvanLe.

7. ComplexlLe du decodage
La complexlLe de decodage esL dlrecLemenL llee au nombre de branches dans le graphe blparLlLe du
code (c'esL a dlre au nombre de 1 de la maLrlce de conLrle). Ln effeL, a chaque eLape de l'algorlLhme
a propagaLlon de croyance, on calcule l'lnformaLlon assoclee a la branche rellanL la varlable [ a la
parlLe p.
SolL 8 le nombre de branches du graphe blparLlLe : pour un code reguller
!
(d
v,
d
c
) de Lallle n, on a
8
!
= d
v
" n = d
c
" (n # k) .
La pulssance de calcul necessalre au decodage esL deflnle comme le nombre de branches a LralLer
par cycle d'horloge, eL depend des parameLres sulvanLs :

- nombre k de blLs d'lnformaLlon par moL de code
- nombre de branches 8
- deblL u d'lnformaLlon souhalLe
- nombre maxlmum d'lLeraLlons
!
N
it

- frequence d'horloge
!
f
clk


11
our avolr un deblL (nombre de blLs/seconde) u, ll fauL LralLer
!
D
k
moLs de code par seconde. Au plre,
le decodage d'un moL necesslLe le calcul de
!
B " N
it
branches.
Le nombre de branches a LralLer par seconde esL donc :
!
B " N
it
"
D
k
.
La pulssance de calcul
!
P
c
a fournlr esL donc :
!
P
c
= B " N
it
"
D
k
"
1
f
clk
branches/cycle.
8emarque : pour une archlLecLure enLleremenL parallele dans laquelle chaque noud du graphe esL
assocle a un processeur, LouLes les branches sonL LralLees en un seul cycle d'horloge :
!
(P
c
)
max
= B

2. r|se en ma|n de |a norme

1. CaracLerlsLlques Lechnlques

Les speclflcaLlons de la norme uv8-S2 LournenL auLour de Lrols concepLs cles qul sonL:
? La mellleure performance de Lransmlsslon s'approchanL de la llmlLe de Shannon,
? llexlblllLe LoLale
? ComplexlLe ralsonnable du recepLeur.

our les reallser ll a eLe necessalre de meLLre en appllcaLlon des nouvelles Lechnlques Lelles que :
? Modes de ModulaLlon : ll y a 4 modes de modulaLlon : CSk, 8Sk peuvenL Lre uLlllsees
pour des appllcaLlons de radlodlffuslon dans des repeLeurs saLelllLes non-llnealres porLes a
quasl-saLuraLlon 16ASk eL 32ASk sonL plus adapLees pour des appllcaLlons professlonnelles
exlgeanL des repeLeurs seml-llnealres. Le dernler compromls d'arrangemenLs rend l'efflcaclLe
pour la sorLle beaucoup plus grande.
? La largeur de bande eL 8oll-off: our la formaLlon de bande de plus falble largeur, uv8-S2
uLlllse aussl des facLeurs o=0.23 eL o=0.20 en plus du o=0.33 uLlllse par la uv8-S LradlLlonnel
? CorrecLlon d'Lrreur : uv8-S2 uLlllse un sysLeme lLC pulssanL base sur la concaLenaLlon de
8CP (8ose-Chaudhurl-Pocquenghem) avec LuC (le ConLrle de parlLe de lalble uenslLe) le
codage lnLerleur. Le resulLaL esL la performance qul esL de Lemps en Lemps a seulemenL
0.7d8 de la llmlLe de Shannon. Le cholx de parameLres lLC depend des pre-requls
Lechnlques. Avec vCM eL ACM, les raLlos de code peuvenL Lre changes dynamlquemenL, sur
un cadre par la base de cadre.
12
? La sLrucLure de cadrage (framlng sLrucLure) LlenL compLe de la flexlblllLe maxlmale dans un
sysLeme polyvalenL eL aussl de la synchronlsaLlon dans les plus mauvalses conflguraLlons de
cas (des rapporLs slgnal-a-brulL falbles).
? Le codage eL la modulaLlon adapLaLlf (ACM), quand lls sonL uLlllses dans des llalsons polnL a
polnL, permeLLenL ensulLe l'opLlmlsaLlon des parameLres de Lransmlsslon pour chaque
uLlllsaLeur lndlvlduel, personne a charge sur des condlLlons de Lransmlsslon (paLh). ues
modes reLrocompaLlbles sonL aussl dlsponlbles, permeLLanL l'exlsLence dans uv8-S des
decodeurs de recepLeurs lnLegres conLlnuanL a foncLlonner pendanL la perlode LranslLolre.
? our Lre capable de couvrlr Lous les secLeurs d'appllcaLlon en gardanL Lou[ours le decodeur
de puce seule a des nlveaux de complexlLe ralsonnables, uv8-S2 esL sLrucLuree comme un
LoolklL, permeLLanL alnsl aussl l'uLlllsaLlon de produlLs grand publlc pour dlfferenLes
appllcaLlons ou pour le professlonnel.

2. Le dlagramme bloc sysLeme

Le SysLeme esL deflnl comme le bloc foncLlonnel d'equlpemenL execuLanL l'adapLaLlon des slgnaux
numerlques bande de base, de la producLlon d'un slmple mulLlplexeur de couranL de LransporL de
MLC, ou de la producLlon d'une seul (ou mulLlple) la source de donnees generlque, aux
caracLerlsLlques de chaine saLelllLe. Les servlces de donnees peuvenL Lre LransporLes dans le formaL
de CouranL de 1ransporL (uLlllsanL par exemple l'LncapsulaLlon de MulLl-proLocole) de CouranL
Cenerlque.
Le sysLeme de Lransmlsslon uv8-S2 esL sLrucLure comme un ordre de blocs foncLlonnels.


13
La generaLlon de slgnal esL basee sur deux nlveaux d'encadrer des sLrucLures :
? -88l8AML a la bande de base (88) le nlveau, porLanL une varleLe de slgnaler des blLs, pour
conflgurer le recepLeur avec souplesse selon le scenarlo d'appllcaLlon,
? -Ll8AML a la couche physlque (L) le nlveau, porLanL peu des blLs de slgnallsaLlon
forLemenL proLeges, pour fournlr la synchronlsaLlon robusLe eL la slgnallsaLlon a la couche
physlque.

3. Mode adapLaLlon
Selon l'appllcaLlon, uv8-S2 des ordres d'enLree peuL Lre le MLC seul ou mulLlple 1Ss, des couranLs
generlques slmples ou mulLlples, packeLlzed ou conLlnu. Le mode eL des blocs d'adapLaLlon de
couranL sLream adapLaLlon blocks fournlssenL l'lnLeraffronLemenL de couranL d'enLree, la
synchronlsaLlon eL d'auLres ouLlls faculLaLlfs exlges pour ACM eL C8C codanL pour la deLecLlon
d'erreur dans le recepLeur au nlveau de paqueL (non acLlf pour des couranLs conLlnus).
ll fournlra :
! lnpuL sLream lnLerfaclng
! lnpuL SLream SynchronlzaLlon
! null-packeL deleLlon
! C8C-8 codlng
! merglng of lnpuL sLreams
! sllclng lnLo uA1A llLLus

o our le Codage ConsLanL eL la ModulaLlon (CCM) eL le CouranL de 1ransporL d'enLree
slmple(slngle lnpuL LransporL sLream), l'AdapLaLlon de Mode conslsLera en uv8-ASl
"LransparenL" (ou uv8-A8ALLLLL) a la converslon de blL loglque eL le codage de
C8C-8.
o our le Codage AdapLaLlf eL la ModulaLlon (ACM), l'AdapLaLlon de Mode sera selon
"ACM Command", la slgnallsaLlon de l'enLree permeLLra de meLLre, par un exLerne
"l'unlLe de commande de mode de Lransmlsslon", des parameLres de Lransmlsslon a
Lre adopLe par le modulaLeur uv8-S2, pour une parLle speclflque de donnees en
enLree.
o un Peader de 8ande de base (88PLAuL8) de longueur flxe de 10 ocLeLs sera a[ouLe
devanL le Champ de uonnees (uaLa lleld), noLlfler le recepLeur du formaL de couranL
d'enLree eL le Lype d'AdapLaLlon de Mode(la perLe d'efflcaclLe maxlmale presenLee
par le 88PLAuL8 esL 0,23 pour nldpc = 64800 eL 1 pour nldpc = 16200 code
lnLerleur assumanL evalue 1/2).
14






4. SLream adapLaLlon
L'adapLaLlon de couranL fournlL la rempllssage pour compleLer une longueur consLanLe (kbch blLs)
88l8AML eL la ruee. kbch depend du Laux(8A1L) de lLC. La rempllssage peuL Lre appllquee dans
des clrconsLances quand les donnees d'uLlllsaLeur dlsponlbles pour la Lransmlsslon ne sonL pas
sufflsanLes de compleLemenL rempllr un 88l8AML, ou quand un numero d'enLler d'uS dolL Lre
alloue(reparLl) dans un 88l8AML.Le couranL d'enLree sera un 88PLAuL8 sulvl par un CPAM uL
uCnnLLS. Le couranL de sorLle sera un 88l8AML
13


? AuulnC
(kbch-ulL-80) des blLs zero sera a[ouLe apres le uA1A llLLu. 88l8AML resulLanL aura une longueur
consLanLe de blLs= kbch.
? 88 SC8AM8LlnC
88l8AML compleL sera randomlse. L'ordre de randomlsaLlon sera synchrone avec le 88l8AML,
commenanL du MS8 eL flnlssanL apres kbch des blLs avec le 88S: seudo 8andom 8lnary Sequence.

Source : L1Sl Ln 302 307 v1.2.1 (2009-08)

3. lLC encodlng
La correcLlon d'erreur dlrecLe (lLC) esL le soussysLeme fondamenLal pour obLenlr d'excellenLes
performances par saLelllLe, avec des nlveaux de brulL eL de broulllage parLlculleremenL eleves. Le
sysLeme reLenu, base sur le codage LuC, offralL l'ecarL mlnlmal par renLree a la llmlLe de Shannon
sur le canal llnealre AWCn (c'esL-a-dlre affecLe d'un brulL blanc gausslen addlLlf)
16
Les codes LuC selecLlonnes uLlllsenL des longueurs de bloc Lres lmporLanLes (64 800 blLs pour des
appllcaLlons peu senslbles aux delals, eL 16 200 blLs). ues deblLs de code de 1/4, 1/3, 2/3, 1/2, 3/3,
2/3, 3/4, 4/3, 3/6, 8/9 eL 9/10 sonL dlsponlbles en foncLlon de la modulaLlon eL de la conflguraLlon du
sysLeme selecLlonnees. ues deblLs de codage de 1/4, 1/3 eL 2/3 foncLlonnenL con[olnLemenL avec la
modulaLlon MuC lorsque les condlLlons de llalson sonL parLlculleremenL mauvalses, c'esLa- dlre
lorsque le nlveau du slgnal esL lnferleur au nlveau de brulL. ues codes 8CP (8ose Chaudhurl
Pocquenghem) exLernes concaLenes permeLLenL d'evlLer les effeLs de seull dans le cas de falble Laux
d'erreur blnalre (1L8).



Ce sous-sysLeme execuLera le codage exLerleur (8CP), le Codage lnLerleur (LuC) eL l'lnLercalaLlon de
blL. Le couranL d'enLree sera compose de 88l8AMLS (kbch des blLs) eL le couranL de sorLle de
lLCl8AMLS (nldpc blLs). une L-erreur 8CP (nbch, kbch) corrlgeanL le code sera appllquee a chaque
88l8AML (kbch) pour produlre une erreur le paqueL proLege.
Les blLs de conLrle de parlLe (8CPlLC) du code exLerleur 8CP sysLemaLlque seronL a[ouLes apres que
le 88l8AML eL les blLs de conLrle de parlLe (LuClLC) de l'encodeur LuC lnLerleur seronL a[ouLes
apres le champ 8CPlLC.


our chacune des longueurs (64800 8lLs pour le frame normal eL 16200 blLs pour le frame courL), ll
exlsLe quelques parameLres deLermlnes dans les Lables sulvanLes

88l8AML
lLCl8AML
17

.


Source : L1Sl Ln 302 307 v1.2.1 (2009-08)

? 8lL lnLerleaver

our 8Sk, 16ASk eL 32ASk les formaLs de modulaLlon, la producLlon de l'encodeur LuC seronL le
blL pour l'uLlllsaLlon d'un bloc lnLerleaver. Les donnees sonL en serle ecrlLes dans l'lnLerleaver par
colonne eL lue par llgnes

La conflguraLlon du bloc lnLerleaver pour chaque formaL de modulaLlon esL speclflee dans la Lable
sulvanLe:


Alnsl nous avons pour schema pour 8Sk eL lLCl8AML normal (excepLe 3/3)
18



LL pour schema pour 8Sk eL lLCl8AML normal (excepLe un 3/3)


6. 8l1 mapplng
Chaque lLCl8AML sera converLl serle-a-parallele (le nlveau de parallellsme = 2 pour CSk, 3 pour
8Sk, 4 pour 16ASk, 3 pour 32ASk), le MS8 du lLCl8AML esL mapped dans le MS8 du premler
ordre parallele. A chaque ordre parallele sera dresse la carLe dans la consLellaLlon, produlsanL un (l,
C) l'ordre de longueur varlable selon l'efflcaclLe de modulaLlon cholsle.
L'ordre d'enLree sera un lLCl8AML, l'ordre de producLlon sera un xlLCl8AML (le complexe
lLCl8AML), compose de 64 800/ (xlLCl8AML normal) ou 16 200/ (xlLCl8AML courL) des
symboles de modulaLlon. Chaque symbole de modulaLlon sera un vecLeur complexe dans le formaL (l,
C) (l le composanL dans-phase eL C le composanL de quadraLure)

19


20
2. ketour sur |es acqu|s de |a seconde phase

1. M|se en p|ace d'un code de pet|te ta|||e

La parLle cenLrale de noLre eLude conslsLe a lmplemenLer le decodeur LuC a l'alde de l'algorlLhme a
propagaLlon de croyance (ou 8). AvanL d'adapLer celul-cl aux codes LuC de la norme uv8-S2, nous
allons l'lmplemenLer eL le LesLer sur une maLrlce P de peLlLe Lallle (4x8), en commenanL par renLrer
le moL 'LouL zero' (sans erreur..), puls en renLranL des moLs du 'peLlL code' comporLanL des erreurs
afln de volr sl elles sonL corrlgees correcLemenL. une fols ce LesL reallse avec succes, nous adapLerons
l'algorlLhme a la norme uv8-S2, en effecLuanL les modlflcaLlons necessalres, en parLlculler les
approxlmaLlons llees aux operaLlons effecLuees aux nouds de parlLe.

1. rlnclpe :
- chaque noud de varlable envole a ses nouds de parlLe assocles un message sur la valeur esLlmee
de la varlable (lnformaLlon a prlorl)
- l'ensemble des messages a prlorl reus permeL a la conLralnLe de parlLe de calculer eL reLourner les
lnformaLlons exLrlnseques
- le LralLemenL successlf des nouds de varlable eL de parlLe consLlLue une lLeraLlon
- a chaque lLeraLlon, ll y a donc un echange bllaLeral de messages enLre les nouds de parlLe eL de
varlable, sur les branches du graphe blparLlLe.

2. 8appel des grandeurs uLlllsees :
- l'lnformaLlon lnLrlnseque :
!
I
j
= L(X
j
c
j
)
- l'lnformaLlon exLrlnseque LoLale
!
Z
j
= Z
j, p
p"P( j )
#
, somme des lnformaLlons exLrlnseques de branche
- l'lnformaLlon LoLale du blL [ (L8v) :
!
L
j
= I
j
+ Z
j

Le sequencemenL par lnondaLlon, que nous allons lllusLrer lcl, conslsLe a LralLer successlvemenL
LouLes les parlLes puls LouLes les varlables. Les lLeraLlons sonL repeLees [usqu'a ce que le nombre
d'lLeraLlons maxlmum
!
N
it
solL aLLelnL. Cn peuL s'arrLer avanL lorsque LouLes les equaLlons de parlLe
sonL saLlsfalLes, ce qul permeL de gagner en deblL moyen ou de llmlLer la consommaLlon.


3. LLapes de calcul :
- lnlLlallsaLlon :
- lLeraLlons :
Calcul des messages parlLe vers varlable
- calcul de a parLlr de eL de avec :


Avec

Calcul des messages varlable vers parlLe
calcul de a parLlr des :
calcul de a parLlr de eL de :
decodage des blLs a parLlr de




22
L'operaLlon cle eL la plus complexe esL le calcul des messages parlLe vers varlable falsanL lnLervenlr la
foncLlon 'arcLanh' :

C'esL auLour de ceLLe operaLlon qu'll faudra effecLuer des approxlmaLlons eL uLlllser des algorlLhmes
lssus du 8 pour pouvolr decoder des messages encodes a l'alde de la maLrlce de conLrle P de la
norme uv8-S2. Cecl esL l'ob[eL de la sulLe de noLre eLude, dans laquelle nous allons eLudler eL
comparer les dlfferenLs algorlLhmes correspondanLs.

Comme nous l'avons evoque au debuL de noLre eLude, les codes LuC onL eLe 'redecouverLs' dans
les annees 90, eL leurs performances Lheorlques sonL au[ourd'hul lndlscuLables. neanmolns, leur
lmplemenLaLlon, donL l'algorlLhme de reference eL le plus uLlllse esL le 8ellef ropagaLlon, esL
complexe eL ll esL lndlspensable de porLer une aLLenLlon parLlcullere aux operaLlons de decodage
effecLuees. La norme uv8-S2 requlerL des moLs de code Lres longs eL un grand nombre d'lLeraLlons sl
on veuL s'approcher le plus posslble de la llmlLe de Shannon. our un code de raLlo , la norme
recommande des moLs de 64800 blLs eL envlron 70 lLeraLlons. un Lel nombre d'lLeraLlons pour le
decodage de moLs aussl longs necesslLe par deflnlLlon un Lres grand nombre d'operaLlons, donc une
pulssance de calcul Lres grande eL un Lemps de decodage exLrmemenL long (sl le decodage esL
reallsable). ll esL donc necessalre de Lrouver des moyens de redulre la complexlLe de decodage,
LouL en gardanL de bonnes performances. Les algorlLhmes que nous presenLons dans ceLLe parLle
apporLenL des slmpllflcaLlons plus ou molns lmporLanLes aux operaLlons de decodage, dans le buL de
dlmlnuer la complexlLe LoLale (resulLanL de l'ensemble des operaLlons eL lLeraLlons). nous verrons
que les dlfferenLes performances de ces algorlLhmes seronL des crlLeres de cholx de l'un d'enLre eux.

2. A|gor|thmes sous-opt|maux

1. L'algorlLhme mln-sum eL ses amelloraLlons
Comme nous l'avons menLlonne precedemmenL, l'algorlLhme 8 dolL Lre slmpllfle car l'operaLlon
des nouds de parlLe falsanL lnLervenlr la foncLlon 'arcLanh' esL d'une Lrop grande complexlLe. La
premlere slmpllflcaLlon que nous allons eLudler esL celle uLlllsee dans l'algorlLhme Mln-Sum , qul
redulL de faon Lres lmporLanLe la complexlLe de decodage pour l'lmplemenLaLlon (mals qul enLraine
une degradaLlon des performances).
nous noLerons eL les L8v obLenus respecLlvemenL avec l'algorlLhme 8 eL l'algorlLhme
Mln-Sum.
Le module de s'ecrlL :

23
une slmpllflcaLlon de ceLLe expresslon condulL a l'expresslon du module de :

Le module de esL cependanL Lou[ours blen superleur a celul de , eL alnsl les sorLles des
nouds de parlLe sonL suresLlmees par rapporL a celles obLenues avec le 8 non approxlme. ar
consequenL, deux algorlLhmes mln-sum amellores onL eLe lnLrodulLs afln de corrlger ceL ecarL. Le
premler esL lssu d'une slmpllflcaLlon par normallsaLlon, dans laquelle le module de esL dlvlse par
un facLeur d'echelle superleur a 1. Cn obLlenL alnsl une nouvelle valeur corrlgee :

Le second algorlLhme effecLue une amelloraLlon par 'offseL', ou la flablllLe du module de esL
corrlgee par sousLracLlon d'une consLanLe :


La flgure 1 lllusLre les sorLles des calculs des nouds de parlLe pour les Lrols algorlLhmes precedenLs :

llgure 1
Les courbes en dessous de la courbe lllusLrenL des amelloraLlons de l'algorlLhme Mln-Sum en
redulsanL les suresLlmaLlons consLaLees dans ce dernler.
24

La degradaLlon de performance de l'algorlLhme Mln-Sum peuL aLLelndre [usqu'a 1 d8 pour des codes
longs, ce qul le rend blen sr lnuLlllsable sans amelloraLlon.
La flgure 2 represenLe le Laux d'erreur bloc en foncLlon du rapporL slgnal sur brulL pour les 3 mmes
algorlLhmes, appllques au code sulvanL :
? code lrreguller avec (n,k) = (4608,2304)
? 200 lLeraLlons maxlmum
? profll d'lrregularlLe des varlables :

? profll d'lrregularlLe des parlLes :

our le Mln-Sum normallse :
our le Mln-Sum amellore par CffseL :


llgure 2
Cn consLaLe sur ceLLe flgure un ecarL de performance de 1.1 d8 enLre le Mln-Sum eL le 8.
Le Mln-Sum normallse esL peu performanL en Lermes de Laux d'erreur bloc
Le Mln-Sum amellore par CffseL esL performanL eL n'esL qu'a 0.13 d8 du 8.
23
La flgure 3 represenLe la reparLlLlon du nombre d'erreurs blL reslduels au seln des blocs errones pour
le Mln-Sum normallse : on consLaLe que la grande ma[orlLe des blocs errones conLlenL Lres peu
d'erreurs blL (lcl le Sn8 esL de 1.6 d8).


llgure 3
La pluparL des blocs errones conLlenL molns de 10 erreurs blL, eL cecl esL vral egalemenL pour le Mln-
Sum amellore par CffseL.
Lnfln, ces deux algorlLhmes convergenL vers un message flxe : apres un cerLaln nombre d'lLeraLlons,
les messages eL le Laux d'erreur blL n'evoluenL plus (ce n'esL pas le cas pour le decodage des codes
regullers).
ll esL aussl lmporLanL de remarquer la chose sulvanLe : pour les messages longs, les Mln-Sum
amellores (normallsaLlon eL CffseL) donnenL lleu a des valeurs sous-esLlmees des modules de
eL de . ll esL alors posslble d'amellorer ces algorlLhmes pour redulre ce phenomene. our
l'CffseL, on peuL meLLre l'offseL a 0 au bouL d'un cerLaln nombre d'lLeraLlons, permeLLanL au module
de de croiLre. Ln ce qul concerne le Mln-Sum normallse, on peuL [ouer sur la valeur de facLeur
en foncLlon du degre des nouds de varlable. Cela permeL d'amellorer les Laux d'erreur bloc,
comme lllusLre dans la flgure 4.
26

llgure 4
(le code esL lrreguller avec (n,k) = (4608,2304)

Les sous-esLlmaLlons engendrees par les Mln-Sum amellores enLrainenL donc des balsses de
performance en Lermes d'erreurs bloc, qul peuvenL Lre Lres lmporLanLes pour le Mln-Sum
normallse. ll fauL alors [ouer sur les parameLres de normallsaLlon (eL d'offseL) pour llmlLer ces
phenomenes.
2. AlgorlLhme -mln

un algorlLhme a eLe developpe dans 1 en remarquanL dans l'operaLeur du 8 donne un polds Lres
forL aux valeurs proche de 0 (en valeur absolue) eL un polds Lres falble aux auLres (volr flgure cl-
dessous la courbe de ceLLe foncLlon).
27

L'algorlLhme -mln conslsLe donc a modlfler le calcul reallse par l'operaLeur en ne prenanL en compLe
que les plus peLlLs argumenLs. CeLLe meLhode necesslLe molns de memolre eL malnLlenL une assez
bonne efflcaclLe, comme on le verra plus loln.

Cn cholslL avanL LouL un , c'esL-a-dlre le nombre de varlables a prendre en compLe dans l'operaLeur.
A chaque mlse a [our des
!
Z
j, p
(n
it
)
de parlLe vers varlables on ne va prendre en compLe que l'ensemble
!
J
"
( p) des elemenLs plus peLlLs elemenLs. uls on reallse l'algorlLhme comme sulL, de manlere Lres
slmllalre au 8 :
28
LLapes de calcul :
- lnlLlallsaLlon :
!
n
it
= 0, Z
j, p
(0)
= 0"p, I
j
(0)
= L
c
r
j
"j
- lLeraLlons
!
n
it
= 1,2,..., N
it
:
calcul des messages parlLe vers varlable
Calcul de
!
Z
j, p
(n
it
)
a parLlr de
!
L
j'
(n
it
"1)
eL de
!
Z
j', p
(n
it
"1)
avec
!
j'"J
#
( p) / j :
!
Z
j, p
(n
it
)
= "
j'
(L
j'
(n
it
#1)
# Z
j', p
(n
it
#1)
)

Avec
!
"
j'
(L
j'
(n
it
#1)
# Z
j', p
(n
it
#1)
) = f
#1
( f (L
j'
(n
it
#1)
# Z
j', p
(n
it
#1)
)
j'$J
%
( p)
&


calcul des messages varlable vers parlLe
calcul de
!
Z
j
(n
it
)
a parLlr des
!
Z
j, p
(n
it
)
:
!
Z
j
(n
it
)
=
p"P( j )
#
Z
j, p
(n
it
)

calcul de
!
L
j
(n
it
)
a parLlr de
!
L
j
(n
it
"1)
eL de
!
Z
j
(n
it
)
:
!
L
j
(n
it
)
= I
j
+ Z
j
n
it

decodage des blLs
!
c
j
a parLlr de
!
L
j
(n
it
)




















29
Les graphiques ci-dessous donnent une bonne ide des performances des codes !-min, sur
plusieurs ! et avec deux nombres ditrations diffrents :


En conclusion nous pouvons dire que lalgorithme !-min semble trs intressant. En effet les
trs bonnes performances observes ici vont trs probablement nous inciter essayer une
implmentation de cette mthode pour notre dcodeur.


30
3. CpLlmlsaLlon d'un algorlLhme de decodage LuC de complexlLe redulLe par evoluLlon de
denslLe ou uenslLy LvoluLlon

Dans cette section nous allons prsenter, conformment larticle [5] de notre bibliographie,
un algorithme de dcodage LDPC de complexit rduite, utilisant une linarisation de la
partie logarithmique contenue dans lexpression quivalente celle de lopration des nuds
de parit o la fonction "arcth" intervient. L'optimisation des paramtres de linarisation est
effectue par density evolution .

Lopration complexe de l'algorithme BP est :

Cette expression peut se calculer de faon itrative. On prend au dpart les deux premires
variables associes au nud de parit que lon calcule. Lexpression peut se simplifier
mathmatiquement et scrire de la faon suivante :

On recombine ensuite le rsultat obtenu avec la 3me variable, et ainsi de suite de faon
itrative.
Dans lalgorithme du Min-Sum, nous avons vu que seuls le 1er terme est pris en compte, et
que les termes logarithmiques sont ngligs. Ici, nous allons tenir compte de ces 2 termes, et
les simplifier en linarisant la fonction log de la faon suivante :

Les paramtres de linarisation m et t sont optimiss par density evolution . La figure
suivante reprsente cette linarisation (pour x>0) avec les valeurs suivantes des paramtres :
m = 0.25 et t = 0.7
m = 0.24 et t = 0.6

31

Avec des profils dirrgularit que lon fait varier, il est montr que lvolution de densit
conduit choisir les valeurs suivantes pour les paramtres : m = 0.24 et t = 0.6 (on peut
remarquer cela sur la courbe).


Performances

Les courbes suivantes tires du mme article comparent les performances de lalgorithme
exact (thorique), du Min-Sum et de lalgorithme que nous venons de dcrire, pour diffrentes
valeurs des paramtres de linarisation. Ces comparaisons sont effectues pour une longueur
de mots de n = 1000, n = 10000 et n = 100000.

On constate que pour n = 1000, les performances de lapproximation linaire sont trs proches
des performances thoriques , alors que le Min-Sum est bien moins performant (environ 0.4
dB dcart pour un FER de ). De plus, plus la longueur des mots est importante, plus les
diffrentes approximations sont influentes et plus les performances des algorithmes diffrent.
Pour n = 100000, lapproximation linaire est trs proche des performances thoriques, et le
Min-Sum est 0.8 dB de celles-ci pour un FER de .

32


En conclusion, nous constatons que les nombreuses simulations effectues dans plusieurs
articles montrent que cet algorithme dapproximation linaire optimise a de trs bonnes
performances, qui mme pour des codes longs (LDPC de la norme DVB-S2) ne sont
pratiquement pas dgrades par rapport la thorie.

33
3. M|se en p|ace des a|gor|thmes sur une matr|ce n de pet|te
ta|||e
1. Su|v| de |'vo|ut|on des LLk

our lmplemenLer l'algorlLhme a propagaLlon de croyance (8), nous avons commence par
Lravalller sur un code de peLlLe Lallle, afln de pouvolr observer en deLall le foncLlonnemenL du
decodeur eL de pouvolr deLecLer les erreurs sur des moLs de peLlLe Lallle. nous Lravallllons d'abord
sur une maLrlce P de Lallle (4,8) d'un code LuC, puls nous avons declde d'uLlllser pour les
performances la maLrlce de conLrle P du code de Pammlng P(7,4). Ce cholx esL slmplemenL d a
des ralsons praLlques : nous dlsposons en effeL grce a noLre cours de codage canal de courbes de
performances de reference en Lc/n0 eL en Lb/n0 pour les codes de Pammlng. Cela nous a permls de
comparer Lres preclsemenL nos courbes a celles de reference, eL d'a[usLer l'echelle des absclsses
(rapporL slgnal a brulL).
Le code P(7,4) esL deflnl par sa maLrlce de conLrle P :


Le graphe de 1anner assocle a ceLLe maLrlce esL le sulvanL :



AvanL de Lracer les performances de noLre decodeur, nous avons observe l'evoluLlon des
valeurs des LL8 au cours des lLeraLlons, afln d'eLudler leurs convergences eL les valeurs vers
lesquelles lls convergenL. nous avons Lrace quelques courbes represenLanL l'evoluLlon de chacun des
sepL LL8 en foncLlon des lLeraLlons, eL ce pour des moLs brulLes dlfferenLs, comporLanL des erreurs
sur dlfferenLs blLs. Le moL code esL le moL LouL zero, eL nous effecLuons 10 lLeraLlons dans
34
l'algorlLhme 8. La flgure 1 represenLe une de ces courbes, avec un moL brulLe sans erreur (Lous les
LL8 sonL poslLlfs). Les vralsemblances lnlLlales sonL {0.1,0.8,0.1,1.2,1.5,0.6,0.2}.


llgure 1 : LvoluLlon des LL8 au cours des lLeraLlons pour un moL sans erreur

Cn consLaLe que les LL8 convergenL Lres LL vers leurs valeurs flnales, eL que c'esL sur le dernler blL,
lnlLlallse a 0.2, que le LL8 croiL le plus des la 1
ere
lLeraLlon. Le moL decode esL donc le moL 0000000.
La flgure 2 esL obLenue avec un moL brulLe comporLanL une erreur sur le dernler blL. Le vecLeur des
vralsemblances lnlLlales esL {0.1,0.8,0.3,1.2,1.5,0.6,-0.2}.
33

llgure 2 : LvoluLlon des LL8 au cours des lLeraLlons pour un moL avec une erreur sur le dernler blL

Cn consLaLe que les LL8 convergenL Lou[ours des les 1
eres
lLeraLlons, eL surLouL que l'erreur esL
corrlgee pulsque la valeur du 7
eme
LL8, de -0.2 au deparL, devlenL poslLlve. Le moL decode esL donc
Lou[ours le moL 0000000.
Cn renLre malnLenanL un moL brulLe conLenanL une erreur, mals sur le premler blL. Le vecLeur lnlLlal
des vralsemblances esL {-0.1,0.8,0.3,1.2,1.5,0.6,0.2}.
Cn obLlenL les courbes de la flgure 3.
36

llgure 3 : LvoluLlon des LL8 au cours des lLeraLlons pour un moL conLenanL une erreur sur le premler
blL

Les LL8 convergenL Lou[ours rapldemenL, eL celul du dernler blL esL Lou[ours le plus grand. Ln
revanche, l'erreur, pourLanL plus falble que sur le moL precedenL (-0.1), n'esL pas corrlgee : le LL8 du
1
er
blL converge mals vers une valeur negaLlve. Le moL decode esL ceLLe fols 1000000, eL ll y a donc
une erreur reslduelle. La poslLlon de l'erreur a donc une forLe lnfluence sur le decodage, eL
cecl esL d au graphe de 1anner du code de Pammlng P(7,4), qul comporLe de nombreux
cycles car la maLrlce P n'esL pas creuse (chaque parlLe esL rellee a quaLre varlables). Le
dernler noud de varlable esL relle aux 3 parlLes, alors que le premler n'esL relle qu'a la
Lrolsleme parlLe. ll esL donc plus dlfflclle de le corrlger car la propagaLlon de croyance esL
molns bonne.
Cn remarque que les LL8 poslLlfs au deparL augmenLenL lors du decodage, conflrmanL le blL
'0', eL que les LL8 negaLlfs se rapprochenL de 0 (sans forcemenL devenlr poslLlfs), dlmlnuanL
alnsl la flablllLe du blL '1'.
Lnfln, lorsque l'erreur esL corrlgee (le LL8 du 7
eme
blL devlenL poslLlf), les LL8 n'augmenLenL
pas, eL mme dlmlnuenL legeremenL en resLanL poslLlfs, car celul negaLlf au deparL dolL
beaucoup augmenLer pour devenlr poslLlf : la correcLlon de l'erreur se repercuLe sur
l'evoluLlon des auLres LL8.
37
2. erformances de dcodage

Apres avolr observe l'evoluLlon des LL8 au cours des lLeraLlons, nous avons Lrace les performances de
noLre decodeur (decllne avec les dlfferenLs algorlLhmes). Les courbes obLenues dans ceLLe parLle
monLrenL l'evoluLlon du Laux d'erreur blL (1L8) en foncLlon du rapporL Lb/n0. nous avons Lrace
quelques courbes de reference :
- la courbe Lheorlque obLenue lorsqu'll n'y a pas de codage :
- la courbe experlmenLale correspondanLe obLenue en falsanL passer un moL non code dans un
canal 88AC, sulvl d'un deLecLeur a seull
- la courbe Lheorlque approxlmee de decodage du code P(7,4) : ou

nous avons compare ces courbes a celles de nos quaLre algorlLhmes : le 8, le Mlnsum, le Mlnsum
CffseL eL le Mlnsum normallse, comme lllusLre sur la flgure 4.

llgure 4 : erformances des dlfferenLs algorlLhmes

38
Les courbes sonL obLenues avec les donnees sulvanLes :
- 20 lLeraLlons de decodage pour chacun des algorlLhmes
- our chaque valeur de Lb/n0, le 1L8 esL esLlme en generanL 100 000 moLs, solL 700 000 blLs
Les quelques observaLlons uLlles que l'on peuL falre sur ces courbes sonL les sulvanLes :
- La courbe 88AC, correspondanL a une successlon de blLs a[ouLes a du brulL
gausslen eL passanL dans un deLecLeur a seull a la recepLlon, esL quaslmenL confondue avec
la courbe Lheorlque 'non codee', ce qul esL conforme a nos aLLenLes
- La courbe du 8, confondue [usqu'a envlron Lb/n0=1 avec la courbe 88AC,
s'en elolgne ensulLe , pour un 1L8 de , elle esL 1.2d8 en dessous, eL pour un 1L8 de
elle se slLue envlron 1.7d8 en dessous : le decodage semble donc efflcace
- Les algorlLhmes Mlnsum amellores onL des performances Lres proches du
Mlnsum, avec un avanLage pour le Mlnsum CffseL (decalage de 0.3d8 pour un 1L8 de
). L'avanLage semble mme plus lmporLanL pour des 1L8 plus falbles, mals le falL de
falre passer blLs ne nous permeL d'avolr des lnformaLlons flables pour des 1L8 blen
lnferleurs a .

Ces courbes ne donnenL evldemmenL pas d'lnformaLlons sur les performances de noLre decodeur
flnal, pulsque le code de Pammlng P(7,4) n'esL pas un code LuC, eL la dlfference de longueur des
moLs enLre ce code eL les codes LuC de la norme uv8-S2 esL Lelle qu'on ne peuL pas evaluer les
performances a parLlr de ces courbes. Cn peuL noLer en parLlculler que les courbes ne presenLenL pas
les penLes parLlculleremenL forLes caracLerlsLlques des decodeurs LuC.
neanmolns, c'esL une eLape lnconLournable qul nous a permls de corrlger les erreurs
d'lmplemenLaLlon, eL de consLaLer que le decodeur foncLlonne correcLemenL. ll esL en effeL
lnenvlsageable de Lravalller avec la vrale maLrlce P uv8-S2 sans avolr LesLe le decodeur avanL sur une
'peLlLe' maLrlce, car les erreurs d'lmplemenLaLlon seralenL quaslmenL lmposslbles a deLecLer eL
corrlger.
nous allons malnLenanL meLLre en place les lnformaLlons lssues de la maLrlce P uv8-S2 qul nous
seronL lndlspensables pour le decodage, puls adapLer noLre decodeur a la grande maLrlce. une fols ce
Lravall reallse, nous pourrons observer eL comparer les performances de nos dlfferenLs algorlLhmes
de decodage.
39
4. M|se en p|ace du dcodeur dans |a norme DV8-S2

1. L|ments ncessa|res au dcodage

Au cours de l'algorlLhme de decodage du LuC par propagaLlon de croyance deux operaLlons sonL
effecLuees.
uans le passage varlable vers parlLe, la mlse a [our des LL8 d'une varlable lmpllque l'ensemble des
lnformaLlons exLrlnseques de branche rellees a ceLLe varlable. Ln effeL .
uans le passage parlLe vers varlable, la mlse a [our de l'lnformaLlon exLrlnseque de branche d'une
branche rellee a une parlLe p lmpllque la connalssance des auLres branches rellees a ceLLe parlLe.
Au flnal nous nous rendons compLe qu'll n'esL pas necessalre de connaiLre exacLemenL la maLrlce P
du code a parLlr du momenL ou l'on a acces facllemenL a ces deux lnformaLlons :
- arlLes rellees a une varlable
- varlables rellees a une parlLe

2. M|se en p|ace de tab|es


MaLlce P


uans la norme uv8-S2 l'analyse de la maLrlce nous permeL de meLLre en places deux Lables.
- arlLes rellees a une varlable :
!
L
j
= I
j
+ Z
jp
p
"
40
Cela revlenL a connaiLre les 1 de la colonne correspondanL a la varlable en quesLlon. La
maLrlce P esL consLlLuee de blocs de 360 colonnes pour lesquelles la poslLlon des 1 esL
deflnle par decalage par rapporL a la poslLlon des 1 de la premlere colonne du bloc. our
Lrouver les 1 d'une colonne, ll sufflL donc de connaiLre son bloc, puls connaiLre sa poslLlon
dans le blocs, eL enfln de decaler le moLlf de 1 de la premlere colonne auLanL de fols que
necessalre. ll sufflL donc de connaiLre le moLlf de chaque premlere colonne de chaque
bloc pour connaiLre les parlLes rellees a LouLe varlable, eL cela esL donne par des Lables de la
norme. Ces Lables donnenL l'lndlce des llgnes conLenanL des 1. Ln volcl un exemple :

LL volcl le code que nous avons uLlllse pour reLourner le vecLeur des parlLes :

//Fonction qui retourne le vecteur des indices des parite reliees a la variable "variable" dans le graphe
de Tanner
int* fct_parite(int variable, int table_variable[120][15])
{
int k=0;
int q=60;
int i;
int* parite=(int*) malloc(15*sizeof(int));
for (k=0; k<15; k++)
{
parite[k]=-1;
}

if (variable<n_info)
{
int bloc=variable/360;
int decalage=(int) fmod(variable, 360);




for (i=0;table_variable[bloc][i]!=-1; i++)
{
parite[i]=(int) fmod((table_variable[bloc][i]+q*decalage), n_parite);
}
}
else
{
if (variable==n_variables-1)
{
parite[0]=n_parite-1;
}
else
{
parite[0]=variable-n_info;
parite[1]=variable-n_info+1;
41
}
}
free(parite);
return parite;

}


- 1able des varlables rellees a une parlLe :
our Lrouver les parlLes assoclees a une varlable, la maLrlce ne presenLanL pas de sLrucLure
parLlcullere, nous avons prls le parLl de reallser une Lable plus exhausLlve. Ln effeL nous
avons parcouru LouLes les varlables pour Lrouver les cordonnees de Lous les 1 en consLrulsanL
une Lable lnLermedlalre, puls nous avons reclasse ces coordonnees en foncLlon des parlLes.
nous obLenons donc une Lable possedanL auLanL de llgnes qu'll y a de parlLes, chaque llgne
conLenanL le numero des varlables rellees a ceLLe parlLe.


Au flnal nous dlsposons donc de la connalssance du graphe de 1anner sans Lre passes par la
reallsaLlon de la maLrlce P. nous pouvons alnsl reallser les operaLlons de decodage.


42
S. Ltude et compara|son des performances

noLre decodeur esL a presenL adapLe a la maLrlce P de la norme uv8-S2 (pour le code de la
norme de rendemenL 2/3), eL nous allons dans ceLLe parLle pouvolr eLudler ses performances, en
LraanL l'evoluLlon du 1L8 en foncLlon du rapporL Lb/n0. nous eLudlerons dans un premler Lemps les
courbes lssues de l'algorlLhme 8, pour un nombre d'lLeraLlons allanL de 0 a 30. nous nous
pencherons ensulLe sur l'operaLeur 'cle' en lul-mme, eL sur les posslblllLes de slmpllfler son
lmplemenLaLlon en gardanL les mellleures performances posslbles : c'esL la mlse en place des
algorlLhmes sous-opLlmaux eL l'eLude de leurs performances. Lnfln, nous comparerons pour des
nombres d'lLeraLlons donnes les performances des dlfferenLs algorlLhmes, afln de pouvolr eLabllr des
recommandaLlons sur le cholx de l'algorlLhme opLlmal.

1. erformances de |'a|gor|thme 8

Les courbes represenLees dans ceLLe parLle sonL reallsees pour un nombre d'lLeraLlons allanL
de 0 a 30. our chaque valeur de Lb/n0, on falL passer au maxlmum 30 moLs de 64800 blLs, solL
blLs. nous avons lmplemenLe le programme de Lelle sorLe que le nombre de moLs generes
a chaque valeur de Lb/n0 depende du nombre d'erreurs Lrouve : le programme passe a la valeur
sulvanLe de Lb/n0 des qu'll a deLecLe 100 erreurs, ou des qu'll a genere 30 moLs (mme s'll a molns
de 100 erreurs). nous avons procede de ceLLe faon en conslderanL qu'une courbe represenLanL
l'evoluLlon d'un 1L8 esL flable lorsque le nombre d'erreurs deLecLe esL envlron 100. La flgure 3
represenLe les courbes que nous avons obLenues.
43
llgure 3 : performances de l'algorlLhme 8

nous pouvons falre les observaLlons sulvanLes :
- Les courbes ressemblenL beaucoup plus a celles d'un decodeur LuC : les penLes Lres lmporLanLes
eL les chuLes bruLales de penLes sonL clalremenL vlslbles
- l'augmenLaLlon des performances du decodeur en foncLlon du nombre d'lLeraLlons esL evldenLe eL
Lres lmporLanLe
- pour n=23 lLeraLlons : rupLure de penLe a Lb/n0 = 1.8d8 , 0 erreur a Lb/n0 = 2.2d8.
- pour n=30 lLeraLlons : rupLure de penLe a Lb/n0= 1.6d8 , 0 erreur a Lb/n0= 2.0d8

Afln d'evaluer les performances absolues de noLre decodeur, nous devons Lenlr compLe de la llmlLe
flxee par le deuxleme Lheoreme de Shannon, donL le buL esL de connaiLre les llmlLes d'une
Lransmlsslon en Lermes de probablllLe d'erreur eL de quanLlLe d'lnformaLlon Lransmlse. La llmlLe
donnee par ce Lheoreme peuL Lre formulee alnsl : ll esL posslble de LransmeLLre, avec une
probablllLe d'erreur aussl falble que l'on veuL, une lnformaLlon moyenne par symbole aussl proche
que l'on veuL de la capaclLe du canal (en ayanL un code de rendemenL 8 proche de la capaclLe du
canal C eL en falsanL Lendre le nombre de blLs n des moLs du code vers l'lnflnl). Le Lheoreme de
Shannon ne dlL pas commenL consLrulre un Lel code, mals ll permeL de consLrulre des courbes
donnanL, en foncLlon du rendemenL 8, la valeur mlnlmale de Lb/n0 pour laquelle on peuL obLenlr
zero erreur. uans noLre cours de codage canal esL represenLee une de ces courbes, pour un canal
Lb/n0
1L8
44
88AC avec une source blnalre. nous nous plaons donc au rendemenL correspondanL (8=2/3), eL
nous relevons le Lb/n0 mlnlmal assocle : 1d8.
ll esL donc lmposslble de consLrulre un code de rendemenL 2/3 qul permeLLe d'obLenlr un 1L8 nul
pour un Lb/n0 lnferleur a 1d8.
Sur la courbe correspondanL a 30 lLeraLlons, on observe qu'll resLe des erreurs a Lb/n0 = 1.8d8 (12
erreurs, c'esL-a-dlre un 1L8 de
!
4 "10
#6
), eL qu'll n'y en a plus a 2d8. L'annulaLlon du 1L8 se slLue
donc enLre 1.8d8 eL 2d8.
Cn esL donc a molns de 1d8 de la llmlLe de Shannon (enLre 0.8 eL 1d8).
Comparalson avec les performances Lheorlques :
1enLons malnLenanL de comparer nos resulLaLs avec ceux fournls par la norme eL les dlvers arLlcles
relaLlfs a sa mlse en place. uans le cadre de noLre lmplemenLaLlon les references sonL des lL8 (Laux
d'erreur bloc) pour une modulaLlon 8Sk dans un 8aLlon de 2/3. uans ces condlLlons nous devons
obLenlr des moLs Lous decodes sans erreur a parLlr de 1,86db. nous n'avons malheureusemenL pas la
pulssance de calcul necessalre a la reallsaLlon de Lels LesLs mals sl nous pouvons esLlmer noLre lL8 a
parLlr de noLre 1L8. Ln effeL nous decodons sans erreur/blL a parLlr de 1,8db, donc nous pouvons
lnLulLer assez leglLlmemenL que les blocs seronL decodes sans erreurs avanL 2db. nous pouvons donc
esLlmer que noLre decodeur esL assez correcL, mme sl cela dolL Lre conflrme par des slmulaLlons
plus approfondles.

2. Ana|yse de |'oprateur

1. ueflnlLlon de la foncLlon f

Comme nous l'avons de[a menLlonne a plusleurs reprlses, l'algorlLhme 8 repose sur le LralLemenL
des calculs 'parlLe vers varlable', en parLlculler le calcul des lnformaLlons exLrlnseques de branches,
effecLue selon l'operaLeur :

Cn peuL ecrlre ceLLe egallLe auLremenL, en falsanL lnLervenlr la foncLlon f deflnle
par :

Cr la foncLlon f esL lnvoluLlve, c'esL-a-dlre verlfle la relaLlon .
43

L'operaLeur peuL donc s'ecrlre :
Les slmpllflcaLlons effecLuees dans les algorlLhmes sous-opLlmaux sonL bases sur des approxlmaLlons
de ceLLe foncLlon f. La represenLaLlon graphlque de la foncLlon f esL :



llgure 6: represenLaLlon graphlque de la foncLlon
!
f (x) = "ln(tanh(
x
2
))

? La foncLlon f n'esL pas deflnle en 0 (asympLoLe verLlcale)
? C'esL une foncLlon palre
? Les valeurs de forL polds sonL concenLrees auLour de 0 (eL Lres proches de 0)

2. ApproxlmaLlons de la foncLlon f

Le calcul des lnformaLlons exLrlnseques, qul necesslLe pour chaque deux calculs de la foncLlon
f, esL d'une grande complexlLe. our le slmpllfler, nous avons songe a approxlmer la foncLlon f par
dlfferenLes meLhodes, par des foncLlons qul necesslLenL des calculs blen molns compllques.
La premlere eL la plus slmple esL l'approxlmaLlon par une foncLlon en escaller, prenanL les valeurs de
la foncLlon f en dlfferenLs polnLs. L'a[usLemenL du pas esL ce qul deLermlne la preclslon de
46
l'approxlmaLlon. nous avons reallse ceLLe approxlmaLlon a l'alde de MaLlab, d'abord avec un pas de 1
(ce qul slmpllfle enormemenL les calculs mals ne consLlLue pas une bonne approxlmaLlon), puls avec
un pas de 0.1, qul amellore neLLemenL la foncLlon. La flgure 7 represenLe la parLle poslLlve de la
foncLlon f avec ses approxlmaLlons en escaller.

llgure 7: ApproxlmaLlon de f par une foncLlon en escaller avec un pas de 0,1

une auLre posslblllLe esL d'approcher la foncLlon f par des foncLlons polynomlales, en a[usLanL
les coefflclenLs pour obLenlr l'approxlmaLlon la plus preclse posslble. nous avons remarque que
l'allure de la foncLlon f esL slmllalre a celle d'une foncLlon lnverse. A l'alde de MaLlab, nous avons
donc approxlme l'lnverse de f par une foncLlon polynomlale, d'abord de degre 1, puls de degre 3.
uls nous avons Lrace l'lnverse du polynme alnsl obLenu. La foncLlon polyflL de MaLlab permeL de
reallser ceLLe approxlmaLlon : pour cela elle uLlllse la meLhode de mlnlmlsaLlon des molndres carres
sur une cerLalne plage de valeurs. Le polynme de degre 3 obLenu avec MaLlab esL :
!
0, 438x
3
"0, 7051x
2
+1, 4119x +0,1582
La flgure 8 represenLe la parLle poslLlve de la courbe de f, eL son approxlmaLlon par l'lnverse
d'un polynme de degre 3.
47
llgure 8 : ApproxlmaLlon de f a l'alde d'un polynme de degre 3

L'operaLeur eLanL slmpllfle, on peuL malnLenanL observer les performances de ces algorlLhmes sous-
opLlmaux. our la foncLlon en escaller de pas 0.1, nous avons Lrace l'evoluLlon du 1L8 en foncLlon de
Lb/n0, pour un nombre d'lLeraLlons allanL de 0 a 30. CeLLe courbe esL represenLee sur la flgure 9
L'approxlmaLlon polynomlale de degre 3 donne des resulLaLs peu probanLs, eL nous n'avons pas [uge
uLlle de represenLer ses performances.

llgure 9 : performances des algorlLhmes d'approxlmaLlon de la foncLlon f
Lb/n0
1L8
48
nous pouvons consLaLer que les performances presenLenL un polnL de rupLure caracLerlsLlque du
LuC mals ce polnL de rupLure lnLervlenL blen plus Lard qu'avec le 8, aux alenLours de 2,4db pour 30
lLeraLlons.

3. L'a|gor|thme M|nSum et ses am||orat|ons

1. rlnclpe
L'ob[ecLlf de ce paragraphe esL d'apporLer une [usLlflcaLlon maLhemaLlque a l'approxlmaLlon
falLe dans l'algorlLhme du MlnSum, eL de comprendre en quol la normallsaLlon eL l'CffseL sonL des
amelloraLlons de ceL algorlLhme.
uans l'operaLeur 8, lnLrodulsons la grandeur :
Ln ralsonnanL en Lermes de modules, l'operaLeur peuL alors s'ecrlre :
!
Z
j, p
= f f L
j', p ( )
j' " j
#
$
%
&
&
'
(
)
)
LLanL donne que la foncLlon f decroiL Lres rapldemenL (eL symeLrlquemenL) lorsqu'on s'elolgne de 0,
l'lmage par f de la valeur (ou des quelques valeurs) la plus proche de 0 sera largemenL superleure a
celles des valeurs superleures (plus loln de 0). ar consequenL, on peuL falre l'approxlmaLlon
sulvanLe :
!
f L
j', p ( )
j' " j
#
$ f
j' " j
Min
L
j', p
%
&
'
(
)
*
Cr la foncLlon f verlfle l'egallLe .
Ln appllquanL f a la relaLlon precedenLe, on obLlenL donc :
!
Z
j, p
= f f L
j', p ( )
j' " j
#
$
%
&
&
'
(
)
)
*
j' " j
Min
L
j', p
: c'esL l'operaLeur du MlnSum.

La flgure 10 expllque ce prlnclpe :
49

llgure 10 : Comparalson des operaLlons de l'operaLeur MlnSum eL 8

Mals en reallLe, on a
!
f L
j', p ( )
j' " j
#
> f
j' " j
Min
L
j', p
$
%
&
'
(
) , eL donc comme le monLre la flgure 10,

!
f f L
j', p ( )
j' " j
#
$
%
&
&
'
(
)
)
< f f
j' " j
Min
L
j', p
$
%
&
'
(
)
$
%
&
'
(
) =
j' " j
Min
L
j', p
car f esL decrolssanLe pour les x
poslLlfs.
u'ou : les modules des lnformaLlons exLrlnseques calcules avec l'operaLeur
MlnSum sonL suresLlmes.
our amellorer ceL algorlLhme, ll fauL donc Lrouver un moyen de dlmlnuer la valeur des sorLles des
nouds de parlLe , c'esL sur ce prlnclpe que reposenL les algorlLhmes amellores du MlnSum.
Le Mlnsum normallse reallse une dlvlslon par un facLeur d'echelle superleur a 1 :

Le MlnSum CffseL reallse un decalage d'une consLanLe :
!
Z
j, p
OFF
= max Z
j, p
MS
" #,0
$
%
&
'
(
)

Ces deux algorlLhmes reallsenL des approxlmaLlons blen plus preclses que celle du MlnSum, eL
onL donc de mellleures performances Lheorlques. nous allons conflrmer cela dans la parLle
sulvanLe.

30
2. erformances
Apres de nombreuses modlflcaLlons eL correcLlons d'lmplemenLaLlon, nous sommes parvenus a
lmplemenLer les algorlLhmes du MlnSum eL ses amelloraLlons, en ayanL de bonnes performances.
nous avons Lrace sur la flgure 11 les performances du MlnSum slmple, Lou[ours en Lermes de 1L8, eL
pour les mmes nombres d'lLeraLlons que precedemmenL. ue la mme faon que pour le 8, nous
avons falL en sorLe qu'a chaque valeur de Lb/n0, la valeur du 1L8 solL obLenue pour 100 erreurs (eL
molns de 30 moLs).

llgure 11 : erformances de l'algorlLhme MlnSum

L'allure des courbes esL LouL a falL conforme a nos aLLenLes. Les rupLures de penLe sonL marquees, eL
l'evoluLlon en foncLlon du nombre d'lLeraLlons esL Lres forLe.
A 23 eL 30 lLeraLlons l'algorlLhme MlnSum semble Lres performanL pulsqu'll n'y a que 0,2 db de
dlfference avec le 8 pour les dernleres erreurs deLecLees

Lb/n0
1L8
31
1ou[ours avec la mme meLhode eL les mmes parameLres, nous avons Lrace les performances du
MlnSum normallse, avec un facLeur d'echelle de 1,2.

llgure 12: erformances de l'algorlLhme normallse
ConformemenL a la Lheorle, nous observons que les performances sonL un peu mellleures que
celles du MlnSum eL resLenL Lres proches du 8. L'evoluLlon en foncLlon du nombre d'lLeraLlons esL
slmllalre a celle des courbes precedenLes.
Lnfln, la flgure 13 presenLe les performances du MlnSum CffseL.

llgure 13 : erformances de l'algorlLhme du MlnSum CffseL

Lb/n0
1L8
Lb/n0
1L8
32
nos courbes sonL blen en accord avec les documenLs auxquels nous nous sommes referes : le
MlnSum CffseL esL celul des Lrols dernlers algorlLhmes qul semble avolr les mellleures performances.
Ln effeL, celles-cl sonL Lres proches de celles du 8 pour une complexlLe Lres redulLe.

llgure 14 : Comparalson des dlfferenLs algorlLhmes MlnSum a 23 lLeraLlons

!usqu'lcl, nous avons Lrace pour chaque algorlLhme des courbes de performances (1L8 en
foncLlon de Lb/n0) en foncLlon du nombre d'lLeraLlons de decodage. Les courbes les plus perLlnenLes
sonL blen sr celles pour 23 eL 30 lLeraLlons, qul nous permeLLenL d'evaluer les performances de nos
algorlLhmes par rapporL a la llmlLe de Shannon d'une parL, eL par rapporL a des courbes slmllalres
que l'on Lrouve dans la llLLeraLure d'auLre parL. ll s'aglL malnLenanL de comparer enLre eux ces
dlfferenLs algorlLhmes, eL donc les dlfferenLes approxlmaLlons de l'operaLeur du 8, afln de pouvolr
declder de l'uLlllsaLlon prlvlleglee d'un d'enLre eux, ayanL le mellleur compromls
erformances/complexlLe de decodage. our 23 eL 30 lLeraLlons, nous avons compare les
performances de nos algorlLhmes :
33

llgure 13 : comparalson des dlfferenLs algorlLhmes pour 23 lLeraLlons


llgure 16 : comparalson des dlfferenLs algorlLhmes pour 30 lLeraLlons


Lb/n0
1L8
Lb/n0
1L8
34
Conc|us|on :

La reallsaLlon de ce Lravall a comporLe de nombreuses eLapes, au cours desquelles nous avons
reallse dlfferenLs Lypes de Lravaux (eLaL de l'arL, prlse en maln du C, lmplemenLaLlon, approxlmaLlons
maLhemaLlques, analyse des performances,), eL avons eLe confronLes a des dlfflculLes dlverses.
nous sommes parvenus a obLenlr les courbes de performances des dlfferenLs algorlLhmes que nous
avlons evoques dans les premleres phases, ce qul eLalL noLre ob[ecLlf prlnclpal. PeureusemenL, ces
courbes sonL bonnes, eL nous sommes Lres saLlsfalLs des resulLaLs que nous avons flnalemenL
obLenus.
1ouL au long de ceLLe eLude, cerLalns polnLs nous onL plus parLlculleremenL marques, par leur
orlglnallLe eL par le falL qu'lls onL falL appel a un cerLaln esprlL creaLlf eL lnLulLlf. u'abord, la
comprehenslon de la maLrlce P, de son rle dans le decodeur, nous onL permls d'lmplemenLer a
noLre manlere les Lables necessalres a noLre decodeur. Ln effeL, l'analyse de l'algorlLhme 8 nous a
permls de volr que les lnformaLlons prlnclpales donL nous avlons besoln eLalenL la connalssance des
varlables assoclees a chaque parlLe, eL des parlLes assoclees a chaque varlable. La confronLaLlon de
ceLLe donnee eL de la Lable de la norme uv8-S2 nous a permls de consLrulre pas a pas nos propres
Lables. Les dlfferenLes approxlmaLlons maLhemaLlques de l'operaLeur 8 onL egalemenL eLe un polnL
parLlculleremenL lnLeressanL, de par les demarches que cela necesslLalL : analyse de la foncLlon f, des
posslblllLes d'approxlmaLlon, comprehenslon du MlnSum eL ses derlves, avanLages,
Lnfln, noLre Lravall esL a un polnL ou beaucoup d'evoluLlons sonL encore posslbles. 1ouL
d'abord, l'adapLaLlon du decodeur aux dlfferenLs raLlos de la norme resLe a reallser. ar manque de
Lemps, nous n'avons pu nous concenLrer que sur le raLlo 2/3. Cela necesslLe quelques modlflcaLlons
du code, en ce qul concerne les Lables de la maLrlce en parLlculler, mals le prlnclpe resLe le mme.
ue plus, ll resLe aussl a reallser un encodeur, ce sur quol nous avons eu le Lemps de reflechlr
rapldemenL mals pas de reallser une lmplemenLaLlon. ar consequenL, les courbes que nous avons
obLenues onL eLe reallsees en passanL le moL 'LouL zero', mals noLre decodeur dolL gerer le passage
de n'lmporLe quel moL du code uv8-S2
33
8|b||ograph|e

1 lrederlc Cullloud : Ceoetlc Atcbltectote fot lulc coJes uecoJloq, Ioly, 2004
2 Claude 8errou : Codes eL Lurbocodes, 2007, pp.283-319
3 Llonel Pusson : Codage deLecLeur eL correcLeur d'erreurs, codes en blocs (LransparenLs)
4 lrederlc Cullloud, Lmmanuel 8ouLlllon, !acky 1ousch, !ean-Luc uanger: Ceoetlc Jesctlptloo ooJ
syotbesls of lulc JecoJets
3 C. 8lchLer, C. SchmldL, and M. 8osserL: unlverslLy of ulm(ueparLmenL of 1Al1), L. CosLa:
Optlmlzotloo of o keJoceJ-complexlty uecoJloq Alqotltbm fot lulc coJes by ueoslty volotloo
5lemeos AC
6 !lnghu Chen, 8. Mlchael 1anner (ueparLmenL of CompuLer Sclence unlverslLy of llllnols aL
Chlcago), ChrlsLopher !ones (!eL ropulslon LaboraLory), an Ll(ueparLmenL of LCL unlverslLy of
Arlzona): lmptoveJ Mlo-5om uecoJloq Alqotltbms fot ltteqolot lulc coJes
7 L1Sl Ln 302 307:v1.2.1 (2009-08) : ulqltol vlJeo 8tooJcostloq (uv8), 5ecooJ qeoetotloo ftomloq
sttoctote, cboooel coJloq ooJ moJolotloo systems fot 8tooJcostloq, lotetoctlve 5etvlces, News
Cotbetloq ooJ otbet btooJbooJ sotelllte oppllcotloos.
8 L1Sl 18 102 376 v1.1.1 (2003-02) : 1ecbolcol kepott ulqltol vlJeo 8tooJcostloq (uv8) uset
qolJelloes fot tbe secooJ qeoetotloo system fot 8tooJcostloq, lotetoctlve 5etvlces, News Cotbetloq
ooJ otbet btooJbooJ sotelllte oppllcotloos (uv8-52)
9 AlberLo Morello and vlLLorla Mlgnone 8Al : koJlotelevlslooe ltolloooulCl1Al vluO
8kOAucA51lNC 8u 1cnNlcAl kvlw - Octobet 2004 1 / 10
10 A. Morello and v. Mlgnone : uv8-52. tbe secooJ qeoetotloo stooJotJ fot sotelllte btooJ-booJ
setvlces,. ltoceeJloqs of tbe l, vol. 94, oo. 1, 2006, pp. 210-227