Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Royale Militaire
partement CISS
De
Chaire de TELECOMMUNICATIONS
30, Avenue de la Renaissance
1000 Bruxelles
Belgique
TRANSMISSION DE
SIGNAUX NUMERIQUES DE
TELECOMMUNICATIONS
Patrick Verlinde
TE541
Edition 2005
NOTES PROVISOIRES
1 Codage de source
1.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.2 Le codage de Shannon-Fano . . . . . . . . . . . . . . . . . .
1.3 Le codage de Huffman . . . . . . . . . . . . . . . . . . . . .
1.3.1 Generalites . . . . . . . . . . . . . . . . . . . . . . .
1.3.2 Proprietes des codes optimaux . . . . . . . . . . . .
1.3.3 Principe du codage binaire de Huffman . . . . . . .
1.3.4 Exemple . . . . . . . . . . . . . . . . . . . . . . . . .
1.3.5 Codes de Huffman Q-aire . . . . . . . . . . . . . . .
1.4 Codes du type run-length . . . . . . . . . . . . . . . . . . .
1.4.1 Code de Huffman code pour la transmission de fax .
1.4.2 Le codage Lempl-Ziv . . . . . . . . . . . . . . . . . .
1.5 La modulation par impulsions et codage (PCM) . . . . . . .
1.5.1 Introduction . . . . . . . . . . . . . . . . . . . . . .
1.5.2 Modulation par impulsions et codage . . . . . . . . .
1.5.3 Le bruit de quantification . . . . . . . . . . . . . . .
1.5.4 Principe de realisation dun syst`eme PCM . . . . . .
1.5.5 Rapport signal-bruit `a la sortie dun decodeur PCM
1.5.6 Avantages de la PCM . . . . . . . . . . . . . . . . .
1.6 La PCM differentielle . . . . . . . . . . . . . . . . . . . . .
1.6.1 La quantification differentielle . . . . . . . . . . . . .
1.6.2 La modulation . . . . . . . . . . . . . . . . . . . .
1.6.3 La modulation . . . . . . . . . . . . . . . . . . .
1.7 Le codage parametrique . . . . . . . . . . . . . . . . . . . .
1.7.1 Introduction . . . . . . . . . . . . . . . . . . . . . .
1.7.2 Generalites sur le signal vocal . . . . . . . . . . . . .
1.8 La quantification vectorielle (codage) . . . . . . . . . . . . .
1.8.1 Introduction . . . . . . . . . . . . . . . . . . . . . .
1.8.2 Formulation de la quantification vectorielle . . . . .
1.8.3 Mesures de la distorsion (du bruit de quantification)
1.8.4 Elaboration
du dictionnaire . . . . . . . . . . . . . .
1.8.5 Quantification vectorielle adaptative . . . . . . . . .
1.9 Introduction `a la compression dimages et de video . . . . .
i
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
3
3
4
5
5
5
6
7
8
8
8
9
10
10
11
14
29
33
39
40
40
42
54
56
56
57
63
63
63
67
68
79
81
1.9.1
1.9.2
1.9.3
1.9.4
Rappels . . . . . . . . . . . . . . . . . . . . . .
Compression dimages numeriques: lalgorithme
Ondelettes et codage sous-bande . . . . . . . .
Codage video MPEG . . . . . . . . . . . . . . .
. . . .
JPEG
. . . .
. . . .
2 Cryptographie
2.1 Generalites . . . . . . . . . . . . . . . . . . . . . . . . . .
2.2 Les syst`emes (symetriques) `a cle secr`ete . . . . . . . . . .
2.2.1 Un peu dhistoire . . . . . . . . . . . . . . . . . . .
2.2.2 Syst`emes bases sur des sequences pseudo-aleatoires
2.2.3 Registre `a decalage `a reaction lineaire . . . . . . .
2.2.4 Data Encryption Standard (DES) . . . . . . . . .
2.2.5 Advanced Encryption Standard (AES: Rijndael) .
2.2.6 Introduction . . . . . . . . . . . . . . . . . . . . .
2.2.7 Bases mathematiques . . . . . . . . . . . . . . . .
2.2.8 Les idees conceptuelles . . . . . . . . . . . . . . . .
2.2.9 Specification . . . . . . . . . . . . . . . . . . . . .
2.3 Les syst`emes (asymetriques) `a cle publique . . . . . . . .
2.3.1 Introduction . . . . . . . . . . . . . . . . . . . . .
2.3.2 Definitions . . . . . . . . . . . . . . . . . . . . . .
2.3.3 Principes generaux des syst`emes `a cle publique . .
2.3.4 Le syst`eme cryptographique RSA . . . . . . . . . .
3 Codage de canal
3.1 Introduction . . . . . . . . . . . . . . . . . . . . .
3.2 Complements sur les codes par blocs lineaires . .
3.2.1 Les codes etendus . . . . . . . . . . . . .
3.2.2 Le code de Golay etendu . . . . . . . . . .
3.2.3 Le code de Golay . . . . . . . . . . . . . .
3.2.4 Les codes cycliques . . . . . . . . . . . . .
3.2.5 Les codes BCH . . . . . . . . . . . . . . .
3.3 Complements sur les codes convolutifs lineaires .
3.3.1 Decodage optimal des codes convolutifs .
3.3.2 Lalgorithme de decodage Viterbi . . . . .
3.3.3 Proprietes des codes convolutifs . . . . . .
3.4 Comparaison entre codes par blocs et convolutifs
3.5 Entrelacement (Interleaving) . . . . . . . . . . .
3.5.1 Introduction . . . . . . . . . . . . . . . .
3.5.2 Lentrelacement par bloc . . . . . . . . . .
3.5.3 Lentrelacement convolutif . . . . . . . . .
3.5.4 Les codes enchanes . . . . . . . . . . . .
3.6 Turbocodes . . . . . . . . . . . . . . . . . . . . .
3.6.1 Introduction . . . . . . . . . . . . . . . .
3.6.2 Concept . . . . . . . . . . . . . . . . . . .
ii
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
81
82
87
91
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
97
97
101
101
102
104
110
116
116
117
120
121
125
125
126
126
129
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
135
135
135
135
136
139
139
150
178
178
184
196
202
202
202
205
206
207
210
210
210
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
215
215
217
220
220
223
223
225
227
227
229
231
235
235
235
236
236
236
236
237
237
237
239
239
241
242
242
242
243
243
243
243
243
245
247
247
249
252
252
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
et damplitude
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
253
253
253
254
254
256
258
261
270
274
274
274
7 R
ecepteur optimal
7.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7.2 Regenerateur optimal . . . . . . . . . . . . . . . . . . . . . . . . .
7.2.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . .
7.2.2 Calcul du filtre optimal . . . . . . . . . . . . . . . . . . . .
7.2.3 Cas dun bruit blanc - Filtre adapte . . . . . . . . . . . . .
7.2.4 Probabilite derreur pour un filtre adapte . . . . . . . . . .
7.2.5 Reception par correlation . . . . . . . . . . . . . . . . . . .
7.3 Performances de quelques modulations . . . . . . . . . . . . . . . .
7.3.1 Modulation de phase binaire (BPSK) . . . . . . . . . . . .
7.3.2 Modulation de frequence binaire (BFSK) . . . . . . . . . .
7.3.3 Modulation de phase differentielle pour des signaux binaires
(DPSK) . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7.3.4 Comparaison des syst`emes de transmissions numeriques . .
7.3.5 Transmission en bande de base . . . . . . . . . . . . . . . .
7.4 Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
285
285
286
286
287
289
290
291
292
292
293
8 Synchronisatie
8.1 Inleiding . . . . . . . . . . . . . . . . . . . . . . .
8.1.1 Acquisitie en training . . . . . . . . . . .
8.1.2 De fasevergrendelingslus (PLL) . . . . . .
8.2 Recuperatie van de drager . . . . . . . . . . . . .
8.2.1 De kwadraterende lus (E: Squaring loop)
8.2.2 De hermodulator (E: Remodulator) . . .
8.2.3 De Costas lus (E: Costas loop) . . . . . .
8.3 Recuperatie van de klokfrequentie . . . . . . . .
301
301
302
306
310
311
311
312
312
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
Bibliographie
295
297
298
300
315
A Annexe math
ematique
A.1 Rappels de la theorie des ensembles .
A.1.1 Groupe commutatif ou abelien
A.1.2 Anneau, champ, champ fini . .
A.2 Espace vectoriel Zpn . . . . . . . . . .
A.2.1 Definition . . . . . . . . . . . .
iv
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
317
317
317
318
322
322
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
322
323
324
324
324
327
327
327
328
328
328
330
331
331
332
332
332
333
333
334
334
334
335
336
336
337
337
337
337
338
338
339
339
340
340
340
340
340
341
341
341
341
341
341
341
342
342
. . . . .
applique
. . . . .
. . . . .
. .
au
. .
. .
. . . . 344
calcul
. . . . 344
. . . . 345
347
vi
Avant-propos
Les notes de ce cours ne sont que provisoires, puisque lannee academique 2003-2004
est la premi`ere dans laquelle ce cours est donne sous sa forme actuelle. En fonction du
feedback des el`eves, ces notes vont sans doute etre adaptees dans les annees `
a venir.
Ces notes sont basees sur les oeuvres suivantes: [15, 25, 26, 27].
Elles ont cependant ete retravaillees et completees (les telecommunications forment en
effet une mati`ere en evolution rapide), ce qui peut se remarquer dans la longueur de la
bibliographie.
Pour terminer cette petite introduction, jaimerais remercier les Professeurs Vloeberghs et
Peetermans pour toute laide quils mont donnee. Enfin je voudrais egalement remercier
le capitaine-commandant Scheers et le dr. ir. Pigeon pour leur aide dans lorganisation
des TP.
Chapitre 1
Codage de source
1.1
Introduction
Le but du codage de source reste evidemment de reduire une caracteristique jugee importante pour la transmission ou la memorisation de linformation emise par la source. Cette
caracteristique peut etre selon les cas un volume physique dune memoire, un intervalle
de temps (la duree de la transmission du message code), un intervalle de frequence (la
largeur spectrale du signal utilise pour transmettre le message code). Un terme souvent
utilise `
a ce propos est celui de reduction de donnees ou compression de donnees. Nous
utiliserons invariablement celui de codage de source.
Il est impossible dans le cadre limite de ce cours daborder toutes les techniques qui ont
ete developpees pour realiser le codage de source. La necessite de transmettre un flux
dinformation de plus en plus important sur des voies de transmission `
a capacites limitees
a constitue un aiguillon favorable `
a un tel developpement.
Dans ce chapitre nous etudierons dabord deux methodes classiques. La premi`ere, invente
par Shannon et Fano, repose sur une procedure tr`es intuitive, mais elle est sub-optimale.
La seconde, due `
a Huffman, qui permet dobtenir un codage optimum dune source
discr`ete. Pour ces deux methodes il est cependant necessaire de connatre les probabilites demission des differents symboles de source a priori. Lorsque cette connaissance
manque, il est impossible dutiliser ces methodes. Une autre methode qui elle na pas
besoin de cette connaissance a priori, est le codage Lempl-Ziv. Le reste de ce chapitre
sera consacre `
a letude des divers types de conversions analogiques-numeriques utilisees
dans les syst`emes de transmission ou de stockage dinformation. Certains de ces procedes
portent abusivement le nom de modulation (comme par exemple la modulation par impulsion codees ou la modulation delta). Elles constituent en fait un procede de conversion
dun signal utile de nature analogique en un signal numerique. Il nest donc pas question
ici de modulation dune porteuse en vue de transposer le spectre du signal `
a transmettre
dans la bande passante de la voie de transmission.
1.2
Le codage de Shannon-Fano
Le codage de Shannon-Fano fournit une methode qui permet dobtenir des codes
separables relativement efficaces. Lefficacite optimale de 100 % nest obtenue que
lorsque les probabilites demission des differents symboles de source sont des puissances
negatives de deux.
La procedure pour lencodage est la suivante:
1. Classez les symboles de source dans lordre descendant de leur probabilite
demission;
2. Divisez lensemble des symboles de source en deux sous-ensembles qui doivent avoir
(presque) la meme probabilite totale demission (cumulee sur tous les symboles de
source present dans un tel sous-ensemble). Attribuez un 0 comme premier bit de
chaque mot-code des membres du premier sous-ensemble et un 1 comme premier
bit de chaque mot code pour les membres du deuxi`eme sous-ensemble;
3. Repetez ce processus de facon iterative sur chaque sous-ensemble jusquau moment
o`
u les deux nouveaux sous-ensembles obtenus ne poss`edent plus quun seul symbole.
Exemple
Supposons une source dont lalphabet et les probabilites demission associees des symboles
respectives sont les suivantes:
Symboles:
1
2
3
4
5
6
7
Probabilites: 0,4 0,1 0,1 0,1 0,1 0,1 0,1
On effectue les divisions en sous-ensembles successives.
Premi`ere division:
1,2 3,4,5,6,7
Symboles:
Probabilites: 0,5 0,5
Codes:
0
1
Deuxi`eme division:
1
2
Symboles:
Probabilites: 0,4 0,1
Codes:
00 01
Troisi`eme division:
3,4,5 6,7
Symboles:
Probabilites: 0,3
0,2
Codes:
10
11
Cinqui`eme division:
Sixi`eme division:
Symboles:
Probabilites:
Codes:
Symboles:
Probabilites:
Codes:
Symboles:
Probabilites:
Codes:
1:
2:
3:
4:
5:
6:
7:
3,4
0,2
100
5
0,1
101
3
0,1
1000
4
0,1
1001
6
0,1
110
7
0,1
111
00
01
1000
1001
101
110
111
1.3
1.3.1
Le codage de Huffman
G
en
eralit
es
On suppose ici que lon souhaite coder un par un les symboles dune source discr`ete sans
memoire. Le probl`eme est de trouver une methode de codage qui conduise `
a un code
separable (instantane) optimal pour toutes les distributions de probabilite. Autrement
dit, il ne peut exister un autre procede de codage (toujours symbole par symbole) fournissant une meilleure efficacite. Ce procede general a ete trouve par Huffman. Avant
de le presenter, deux proprietes generales sont necessaires. Elles seront donnees ici sans
demonstration.
1.3.2
Propri
et
es des codes optimaux
1.3.2.1
Propri
et
e1
Donne: une source S avec son alphabet de source A = {a1 ,a2 , . . . ,am }, o`
u les symboles
sont ranges dans un ordre de probabilite dapparition non-croissant:
p(a1 ) p(a2 ) . . . p(am ).
Propriete 1: Il existe un code separable optimum K0 tel que les longueurs li des motscodes satisfassent `
a:
l1 l2 . . . lm
6
1.3.2.2
Donne: une source S avec son alphabet de source A = {a1 ,a2 , . . . ,am }, o`
u les symboles
sont ranges dans un ordre de probabilite dapparition non-croissant:
p(a1 ) p(a2 ) . . . p(am ).
Propriete 2: Il existe un code separable optimum K1 tel que les mots-codes:
cm1 = K1 (am1 )
en
cm = K1 (am )
1.3.2.3
Propri
et
e3
Donne: une source S avec son alphabet de source A = {a1 ,a2 , . . . ,am }, o`
u les symboles
sont ranges dans un ordre de probabilite dapparition non-croissant:
p(a1 ) p(a2 ) . . . p(am ).
Propriete 3: A partir de cette source S on peut construire une source S dite reduite,
dont lalphabet est A = {a1,a2 , . . . ,am1,m }. Le nouveau symbole am1,m remplace les
deux symboles am1 et am de A.
Les probabilites associees `
a A sont
p(a1 ),p(a2 ), . . . ,p(am2 )
(les memes que pour A) pour les m 2 premiers symboles et
p(am1,m ) = p(am1 ) + p(am )
pour le nouveau symbole am1,m .
Si on trouve un code separable optimum K pour A , dont les mots-codes sont notes
c1 ,c2 , . . . ,cm2 ,cm1,m , alors le code K suivant est un code separable optimum de A.
1.3.3
A:
K:
a1
c1
a2
c2
am2
cm2
am1
cm1 0
am
cm1 1
1.3.4
Exemple
E
0,2
B
0,1
C
0,1
Deuxi`eme reduction:
Troisi`eme reduction:
Symboles:
Probabilites:
Quatri`eme reduction:
A
0,4
Symboles:
Probabilites:
BC
0,2
A
0,4
Symboles:
Probabilites:
DF
0,2
DEF
0,4
ABC
0,6
E
0,2
BC
0,2
DEF
0,4
On obtient un alphabet `
a deux symboles (ABC et DEF) que lon code 0 et 1. On remonte
ensuite vers lalphabet original en appliquant la propriete 3 iterativement: chaque motcode w correspondant `
a une somme de probabilites engendre deux mots-codes: w0 et
w1.
Dans le cas de lexemple precedent, on effectue les quatre decompositions suivantes:
Point de depart:
Symboles:
ABC DEF
Mots-codes: 0
1
Premi`ere decomposition:
Deuxi`eme decomposition:
Symboles:
Mots-codes:
A
00
Symboles:
Mots-codes:
Troisi`eme decomposition:
Symboles:
Mots-codes:
Quatri`eme decomposition:
Symboles:
Mots-codes:
A
00
A
00
A
00
E
11
DEF
1
BC
01
DF
10
B
010
lmin = 2,4
BC
01
DF
10
E
11
E
11
B
010
C
011
C
011
D
100
F
101
E
10
B
1100
C
1101
D
1110
F
1111
est egalement separable et optimum car la longueur moyenne de ses mots-codes est
egalement 2,4.
Ceci prouve quil existe plusieurs codes separables optimaux pour un meme alphabet de
source (avec son jeu de probabilites).
Remarque
Si nous appliquons le code de Huffman sur lexemple donne dans le paragraphe concernant
le code de Shannon-Fano code, alors nous obtenons une longueur moyenne des mots-codes
egale `
a 2,6 bits. Avec une entropie de la source egale `
a 2,529 bits, ceci donne lieu `
a une
efficacite de 97,4 % pour le codage de Huffman, `
a comparer avec les 93,8 % quon avait
obtenu dans le meme exemple avec le codage de Shannon-Fano.
1.3.5
Prenons lexemple dun alphabet de code ternaire: B = {0,1,2}. Le principe est le meme
que dans le cas binaire, mais les reductions sont effectuees par groupement des 3 (q)
symboles les moins probables jusqu`
a lobtention dun alphabet reduit ternaire.
Toutefois, lors de la premi`ere reduction, il faut grouper 2 ou 3 symboles selon m, le
nombre de symboles de lalphabet de source, est pair ou impair. Ce faisant, le nombre de
symboles des alphabets reduits est toujours impair.
On attribue les mots-codes 0, 1 et 2 `
a lalphabet reduit final et on proc`ede ensuite aux
decompositions en constituant `
a partir de w (le mot-code correspondant `
a un groupement
lors de la reduction) les mots-codes w0, w1 et w2.
De mani`ere generale, pour un alphabet de code q-aire, on proc`ede aux reductions par
groupement des q symboles les moins probables. La seule exception est la premi`ere
reduction o`
u lon groupe q0 = 2,3, . . . ,q symboles de facon telle que q 1 soit diviseur de
m q0 .
1.4
1.4.1
La transmission de facsimile (fax) est le processus de transmission dune image bidimensionnelle comme une sequence de scans lignes successifs. Les images les plus utilisees sont en fait des documents qui contiennent du texte et des figures. La position des
1.4.2
Le codage Lempl-Ziv
Une grande difficulte lors de lutilisation du code de Huffman reside dans le fait que
les probabilites demission des symboles doivent soit etre connues, soient etre estimees.
Lalgorithme Lempl-Ziv avec ses multiples variantes utilise le fichier `
a comprimer meme
pour generer de facon iterative une sequence de mots-codes de longueur variable.
Cette technique de codage suppose quil existe dej`
a un dictionnaire qui contient des segments dej`
a codes de sequences de symboles dalphabet. Les donnees `
a comprimer sont
alors codees en recherchant dans le dictionnaire existant le segment de longueur maximale
qui est identique au debut de la sequence restante `
a coder. Lorsqu une telle correspondance a ete identifiee, alors ce codage utilise la philosophie suivante: puisque le recepteur
a ce segment de code dej`
a dans sa memoire, il nest pas necessaire de retransmettre ce
segment une nouvelle fois; nous ne devons identifier que ladresse memoire exacte afin de
rechercher ce segment. Le code ref`ere donc `
a la localisation de ce segment particulier et il
rajoute apr`es le symbole suivant de la sequence `
a coder pour creer ainsi un nouveau (en
effet, car le segment precedent etait le plus long quon ait pu trouver dans le dictionnaire
et maintenant on vient dy rajouter un symbole supplementaire) segment avec lequel il
completera alors le dictionnaire.
Le code demarre avec un dictionnaire vide de facon `
a ce que les premiers elements rencontres sont repris dans le dictionnaire, sans quon ait la possibilite dutiliser des segments
dej`
a rencontres. Dans une variante possible de lalgorithme Lempl-Ziv, nous formons de
mani`ere recursive une sequence dadresses courantes et le segment de symboles de lalphabet qui sont stockes `
a cet adresse. Les donnees codees consistent donc en des mots-code
composes de deux parties qui ont la forme suivante: (adresse dans le dictionnaire, symbole
10
suivant `
a coder). Un exemple de ce codage est donne ci-apr`es.
Exemple
La sequence `
a coder est la suivante:
[abaababbbbbbbabbbbba]
Les paquets codes sont alors les suivants:
Paquets: 0,a 0,b 1,a 2,a 2,b
5,b
5,a
6,b
4,Adresse:
1
2
3
4
5
6
7
8
Contenu:
a
b
aa
ba
bb bbb bba bbbb
Le paquet initial (0,a) montre une adresse egale `
a 0, puisquil ny a pas encore des
segments qui ont ete rentres dans le dictionnaire. Dans ce paquet, le symbole a est le
premi`ere dans la sequence `
a coder et il se voit attribue ladresse numero 1. Le paquet
suivant (0,b) contient le deuxi`eme caract`ere `
a coder b, ce qui napparat pas encore non
dans le dictionnaire (et `
a cause de ca, la partie adresse est de nouveau egale `
a 0); b
est attribue ladresse 2. Le paquet suivant (1,a) represente le codage des deux caract`eres
suivants (aa), en rappelant ladresse 1 pour le premier symbole a (premi`ere partie du motcode) et puis de rajouter le deuxi`eme caract`ere a (deuxi`eme partie du mot-code). La paire
de caract`eres `
a coder aa est alors attribuee ladresse 3. Le paquet suivant (2,a) represente
de la meme facon le codage des deux suivants caract`eres ba `
a coder, etc. Remarquons
maintenant comment le codage run-length est obtenu. Le huiti`eme paquet est compose
de ladresse 6 (qui contient trois caract`eres b) suivi par un autre caract`ere b. Dans cet
exemple les donnees codees peuvent etre decrites `
a laide dune adresse composee de 3
bits (8 emplacements memoire) et un seul bit 0/1 pour identifier le caract`ere `
a coder
suivant.
Dans la sequence codee nous retrouvons une sequence de 9 symboles, ce qui revient `
a un
total de 36 bits (9* (3 + 1)) afin de coder les donnees qui consistent en une sequence
de 20 caract`eres (a ou b) et qui pourrait donc etre codee en direct avec une sequence de
seulement 20 bits. Comme cest le cas pour beaucoup dalgorithmes de compression, on
voit egalement ici quon obtient pas de gain de codage pour des sequences courtes; ce
gain nest obtenu que pour des sequences longues.
Le decodage se passe de facon analogue. Au debut de la sequence, le dictionnaire est
encore vide mais il se voit rempli systematiquement `
a laide de linformation transmise.
De cette facon lemetteur et le recepteur disposent des memes dictionnaires et le decodage
ne pose donc pas de probl`emes.
Remarque
Ce codage populaire est utilise sous lune ou lautre forme dans presque tous les algorithmes de compression de donnees (gzip et compress sous UNIX/LINUX, winzip sous
Windows).
1.5
1.5.1
Rappelons pour commencer que, malgre son nom, la PCM (Pulse Code Modulation) nest
pas un procede de modulation mais bien un procede de conversion analogique-numerique.
Puisque les signaux utiles sont `
a spectre limite ( < 0 ), ils ne presentent pas de variations tr`es importantes sur un intervalle de temps inferieur `
a 2/0 ; il peut donc sembler
superflu demettre les valeurs de ce signal en continu. Comme la theor`eme de Shannon le
11
prouve, il suffit, pour pouvoir reconstruire ce signal sans erreur, de disposer dechantillons
du signal `
a des instants discrets et periodiques suffisamment proches.
Puisque le temps necessaire pour transmettre un echantillon est en general inferieur
`
a la periode dechantillonnage, il est possible durant cette periode de transmettre des
echantillons dautres signaux. On obtient de la sorte un nouveau procede de multiplexage
appele multiplexage par division temporelle.
La valeur dun echantillon peut etre traduite de diverses facons:
Analogique: par lamplitude, la duree, la position dune impulsion (PAM, PDM, PPM).
Ces modulations analogiques dimpulsions ne sont plus utilisees aujourdhui.
Num
erique: si on souhaite traduire la valeur de lechantillon analogique par un nombre
binaire (de longueur finie), il faut dabord quantifier les echantillons. Si on introduit
2n niveaux de quantification, chaque echantillon quantifie pourra etre traduit par
un mot binaire de longueur n.
1.5.2
1.5.2.1
Principe
En PCM on admet que la transmission exacte des valeurs des echantillons est superflue
car illusoire si on tient compte des imperfections de toute voie de transmission.
On accepte donc volontairement dintroduire une faute tout en veillant quelle reste dans
des limites acceptables. Plus precisement, on repartit dans le domaine de variation du
signal dinformation v(t) une serie N de niveaux vi o`
u i = 1,2, . . . ,N = 2n .
La difference:
qi = vi+1 vi
entre deux niveaux successifs est appelee intervalle ou pas de quantification. Ces niveaux
peuvent etre repartis uniformement (quantification uniforme ou lineaire) ou non (quantification non uniforme).
En PCM on ne transmet pas la valeur exacte des echantillons v(kTb ) (o`
u kTb represente
les moments dechantillonnage successifs) mais bien le numero de lintervalle de quantification dans lequel se situe lechantillon.
On remplace donc la transmission dune fonction v(t) par celle dune serie de nombres.
Ces nombres sont la plupart du temps representes dans une base binaire. On utilise donc
un nombre de niveaux N egal `
a une puissance de 2:
N = 2n
A la Figure 1.1 on a pris n = 7, cest-`
a-dire 128 niveaux.
Il est evident que lon introduit de la sorte une erreur darrondi ou de quantification. Au
mieux le recepteur ne pourra que reconstituer un signal w(t) de spectre fini passant aux
instants dechantillonnage kTb par les valeurs quantifiees du signal. La difference:
(t) = w(t) v(t)
apparat comme un bruit qui se superpose au signal exacte; on lappelle bruit de quantification. On peut le limiter en augmentant le nombre N de niveaux de quantification, ce
qui inevitablement augmentera egalement la largeur spectrale du signal PCM.
1.5.2.2
Terminologie
Chacun des N niveaux est represente par un mot-code binaire de longueur n. Ces motscodes doivent, pour etre transmis, etre traduits par un signal electrique fonction du temps.
A chaque symbole binaire du mot-code on fait correspondre un intervalle de temps T
12
13
appele intervalle unitaire et une representation electrique prise dans un alphabet binaire
de fonctions.
Dans ce type de representation, chaque symbole binaire correspond `
a ce que lon appelle
un moment. On parle ainsi dun code `
a n-moments.
On appelle vitesse (ou rapidite) de semation (ou de modulation) la grandeur R = 1/T
(en Baud).
Le signal ainsi obtenu est appele signal binaire; lextension au cas dun alphabet plus
etendu (M -aire) est immediate.
Citons `
a titre dexemple quelques types de moments binaires:
une tension constante V
une sinusode modulee en amplitude, frequence ou phase
une magnetisation dun materiel
etc. . .
En guise de conclusion, rappelons quun signal PCM sobtient apr`es trois operations:
echantillonnage du signal utile `
a une frequence appropriee
quantification uniforme ou non des echantillons
codage des echantillons quantifies dans une base donnee (souvent 2)
1.5.2.3
Largeur spectrale
On distingue les signaux binaires dont le spectre est centre autour de la pulsation = 0
et ceux dont le spectre est centre autour dune pulsation plus elevee 0 . Ces derniers sont
obtenus par modulation dune porteuse `
a la pulsation 0 .
Pour les signaux en bande de base que nous considererons ici, on peut demontrer que leur
largeur spectrale est theoriquement infinie. Nous definissons donc une largeur spectrale
pratique B comme etant la bande passante dun filtre passe-bas ideal qui laisse passer
un certain pourcentage (par exemple 99%) de la puissance totale du signal PCM. Ceci
suppose quon puisse calculer la densite spectrale de la variance du signal utilise. Dans le
cas dun signal module, une notion analogue peut etre introduite mais il convient cette
fois dutiliser un filtre passe-bande centre sur 0 . Letude detaillee des densites spectrales
de la variance des signaux en bande de base sera menee au chapitre 5.
Soit F0 la frequence maximale du signal utile v(t); la frequence dechantillonnage est
donc 2F0 et Tb = 1/(2F0 ) est la periode dechantillonnage. On suppose quil ny a pas
de multiplexage par division temporelle si bien que lintervalle unitaire T est egal (motscodes `
a n moments) `
a:
T = Tb /n = 1/(2nF0 )
Pour certains signaux binaires (voir chapitre 5) on peut admettre que leur largeur spectrale pratique est egale `
a B = 1/T (en Hz), avec T lintervalle unitaire.
Il sensuit que la largeur spectrale dun signal PCM (en Hz) est dans ces hypoth`eses egale
`
a:
B = 2nF0
Pour coder par exemple un simple signal telephonique (largeur spectrale de 300 `
a 3400
Hz), on utilise une frequence dechantillonnage de 8 kHz. Si on admet que le nombre de
moments utilises par echantillon est n = 8, on obtient B = 64 kHz. On constate que ce
type de codage necessite une bande passante elevee de la voie de transmission, surtout si
on utilise un procede de multiplexage par division temporelle.
Le choix du type de signal binaire utilise pour representer linformation binaire determine
fortement la largeur spectrale du signal PCM. Dans ce choix il faut tenir compte des
elements suivants:
largeur spectrale
14
1.5.3
Le bruit de quantification
1.5.3.1
Introduction
Letude du bruit de quantification est utile, non seulement pour le choix du nombre de
niveaux de quantification mais aussi pour leur repartition (quantification non-uniforme).
Ce qui importe, ce nest pas le niveau du bruit de quantification en soi mais bien le
rapport signal-bruit de quantification (le rapport des puissances moyennes du signal et
du bruit de quantification).
On sait que la puissance moyenne dun signal de telecommunication (calculee sur un intervalle de temps o`
u le signal est stationnaire) peut varier dans une tr`es large proportion.
Ainsi, la puissance moyenne dun signal de parole peut varier de 20 `
a 30 dB selon la
distance, letat de lappareil telephonique, le locuteur, linstant dans la phrase, . . .
Si on utilise une quantification uniforme, le niveau du bruit de quantification reste
constant quelle que soit la puissance du signal utile. Les signaux faibles presenteront d`es
lors un rapport signal-bruit de quantification de loin inferieur `
a celui correspondant aux
signaux forts. On souhaite en general obtenir un rapport signal-bruit de quantification
independant de la puissance du signal utile; ceci implique une repartition non uniforme
des niveaux de quantification avec une concentration des niveaux de quantification pour
les petits signaux au detriment des grands signaux.
Une autre approche du probl`eme consiste `
a rendre la densite des niveaux de quantification
proportionnelle `
a la densite de probabilite T (v) du signal utile. On prevoit donc beaucoup
de niveaux dans les domaines o`
u v(t) est tr`es probable.
Pour un signal audio, ce sont les petits signaux qui sont les plus probables et cette seconde
approche conduit aux memes conclusions que lapproche precedente. Ceci peut se realiser
de deux facons.
Ou bien on utilise un etage de quantification uniforme precede dun element non-lineaire
sans memoire dont la caracteristique de transfert est telle que la densite de probabilite
de Y devient constante (voir Figure 1.2).
15
Ou bien la quantification non-lineaire est integree dans lorgane de quantification (convertisseur A/N non-lineaire).
La Figure 1.3 represente un exemple de densite de probabilite (Gaussienne) Tv (v), la
fonction de repartition correspondante Fv (v) et lerreur de quantification en fonction
de v pour une quantification uniforme dans lintervalle (Vc ,Vc ).
1.5.3.2
1.5.3.2.1 Traitement du signal dans un codeur PCM Le schema fonctionnel dun codeur PCM est repris `
a la Figure 1.4. Ce dernier reste valable quil y ait
compression ou non. La fonction Y = f (X) de la Figure 1.5 devient simplement une
droite en cas de quantification uniforme.
On peut egalement imaginer que X est applique directement (apr`es echantillonnage) `
a
un etage de quantification non uniforme (de pas Qi ), la relation entre et Qi etant
donne par la relation Y = f (X).
16
17
Formule g
en
erale du rapport signal-bruit de quantification
Xi
Qi
2
X < Xi +
Qi
2
1
;
Qi
(t) est donc une fonction aleatoire stationnaire de valeur moyenne 0 et de variance (sur
lintervalle i):
Z
Rqi = E[2 ] =
Si:
+ 2i
Q
2i
1 2
Q2
d = i
Qi
12
(fonction de i)
Z X i + Qi
2
Qi
Qi
P i = P Xi
X < Xi +
=
T (X)dX T (Xi )Qi
Q
2
2
Xi i
2
alors, lesperance mathematique de la variance de (pour tous les intervalles) est donne
par:
X
1 X
Rq =
Rki Pi =
Pi Q2i
12
i
i
Remarque:
Si i : Qi = Q (quantification uniforme), on a que:
Q2
Rq =
12
!
Pi = 1
X
;
Xn
y=
Y
;
Yn
1 x +1;
1 y +1
2
1 X
1 X
dx
Pi Q2i =
P
i
12 i
3N 2 i
dy x=xi
18
19
et donc:
R +1
x2 T (x)dx
(S/Rq ) = 3N R 1
2
+1
T (x) dx
dx
dy
1
2
= Kx,
K = constante
3N 2
K2
independant du signal et de sa densite de probabilite.
La loi de compression optimale est donc:
(S/Rq ) =
y = K 1 ln x + C
La condition y = 1 pour x = 1 permet de determiner C et il vient:
y = 1 + K 1 ln x
Remarque:
x doit etre positif dans lexpression ci-dessus. Nous prendrons la loi anti-symetrique
pour x < 0:
y = (1 + K 1 ln |x|)
pour
x<0
ln x diverge si x 0 si bien que cette loi optimale nest pas utilisable.
20
1.5.3.2.4 Rapport signal-bruit de quantification pour la loi de compression A Pour eviter la divergence de la loi de compression ideale, on utilise souvent une
des lois sous-optimales suivantes: loi de compression A ou loi de compression . Nous
presenterons ici la loi de compression A.
Dans cette loi, la loi logarithmique est remplacee dans les environs de lorigine par une
loi lineaire (voir Figure 1.8).
=
=
Ax
1+ln A
1+ln Ax
1+ln A
0x
1
A
1
A
x1
(A 100)
K
A
Kx
0x
1
A
1
A
x1
21
si bien que:
Rq
S
R +1
1
3N 2
dx
dy
T (x)
R +1
1
2
dx
x2 T (x)dx
#
"
Z 1
K2
1 +A
2
2
1+
T (x)(A x )dx
3N 2
S 1
1.5.3.2.5
1
+A
1
A
T (x)(A
1
x )dx 2
A
K2
Rq
K2
2
3N
S
3N 2
1+
1
A
1
A2 S
1
+A
K2
3N 2
T (x)dx
1
A2
A2 S + 1
A2 S
1
+A
1
A
Z
T (x)(A2 x2 )dx
+1
Z
T (x)(A2 x2 )dx
Z
=
T (x)(A2 x2 )dx
S
NC
avec:
NC =
Pour x NC :
1,
1
1
,1
A
A
Z
T (x)(A2 x2 )dx 0
NC
et donc:
1
+A
1
A
Il sensuit:
T (x)(A2 x2 )dx A2 S
Rq
K2
S
3N 2
1+
A2 S
S
S<
T (x)(A2 x2 )dx
NC
3N 2 A2 S
K 2 A2 S + 1
1
A2
22
1
A2
pour S >
1
A2
(S/Rq )
3N 2 2
A S
K2
(S/Rq )
3N 2
K2
Pour une densite de probabilite donnee dun signal, la courbe correspondante de (S/Rq )
se trouve dans le domaine delimite `
a la Figure 1.9.
1
T (x) = e
S 2
x
S
2
2
=
S
T (x) = e
S 2
2x
S
avec x2 = S
Pour calculer (S/Rq ) en fonction de S, il suffit de remplacer T (x) par sa valeur dans
lexpression de Rq /S. On obtient respectivement les expressions suivantes pour le rapport
23
=
1
+
2
1
+
K2 S
A2 S
A S
A S
A S
Ru
avec (u) = ()d et:
3N 2 Rq
2
1
2
A S
=
e
+ 2
1
+
K2 S
A S
A S
1.5.3.2.7
dx
=1
dy
au lieu de:
dx
dy
et donc:
K
A
Kx
0x
1
A
1
A
x1
(S/Rq ) = 3N 2 S
A la Figure 1.10, cette loi est representee par une droite. Pour S > SC la loi de quantification uniforme est meilleure que la loi non uniforme (quelle que soit la densite de probabilite du signal). Noublions toutefois pas que cette conclusion suppose que la puissance
S du signal RESTE superieure `
a SC . En realite un signal audio nest pas stationnaire et
sa variance nest pas constante.
Remarque:
Nous avons toujours suppose:
|X(t)| Xn
Si |X(t)| devient superieur `
a Xn , apparat un phenom`ene dit de surcharge et S/Rq devient
alors tr`es mauvais!
1.5.3.3
1.5.3.3.1
Quantification adaptative
Introduction Pour un nombre donne 2n de niveaux de quantification,
24
25
1.5.3.3.2 Repr
esentation par pas variable ou par amplification Deux
points de vue peuvent etre adoptes pour realiser une quantification adaptative:
le pas de quantification Q est adapte selon les variations de la variance du signal
utile,
le pas de quantification Q est maintenu constant mais le signal `
a quantifier est
applique, avant quantification, `
a un amplificateur `
a gain variable. Le gain de cet
amplificateur est inversement proportionnel `
a la variance du signal. Le signal ainsi
amplifie a donc une variance relativement constante dans le temps.
Ces deux procedes sont representes respectivement aux Figures 1.11 et 1.12.
1.5.3.3.3
1.5.3.3.3.1 G
en
eralit
es Un autre choix est `a poser lors de la realisation dune
quantification adaptative. Lestimation de la variance peut etre basee sur les echantillons
(adaptation amont) ou sur leurs valeurs quantifiees Xq (n) (adaptation aval).
On remarquera que dans ce dernier cas, il est equivalent de dire que lestimation de
la variance a lieu `
a partir des mots-codes c(n). Il existe en effet une correspondance
bi-univoque entre chaque valeur quantifiee et le mot-code correspondant.
26
1.5.3.3.3.2
Adaptation amont Dans ce type dadaptation, represente `a la Figure 1.13, le pas de quantification Q(n) utilise `
a letape n doit etre transmis au recepteur
avec les mots-codes c(n). Des erreurs de reconstruction par le regenerateur entranent
donc parfois c(n) 6= c0 (n) ou Q(n) (Q(n) 6= Q0 (n), avec dans les deux cas une erreur dans
la restitution du signal.
Pn1
m=
X 2 (m)nm1
(0 < < 1)
ou de facon equivalente:
2 (n) = 2 (n 1) + X 2 (n 1)
Une loi dadaptation possible est alors:
Q(n) = Q0 (n)
Dans une representation `
a gain variable, le gain `
a linstant n est donne par:
G(n) = G0 /(n)
Le choix du param`etre determine lintervalle de temps qui contribue `
a lestimation de
la variance. Si par exemple = 0,99, ladaptation sera relativement lente par rapport `
a
celle obtenue avec = 0,9. Dans le premier cas on aurait une adaptation syllabique sur
quelques dizaines de ms tandis quelle aurait lieu sur 1 ms dans le second cas.
Remarquons toutefois que lemploi du mot syllabique peut entraner une confusion car
la duree dune syllabe est de plusieurs centaines de ms. Ce nest toutefois que sur un
intervalle de quelques dizaines de ms que lon peut admettre que ce signal est quasistationnaire.
Pour etre transmises, les fonctions Q(n) ou G(n) doivent elles-memes etre quantifiees et
codees; toutefois ces fonctions sont lentement variables (par rapport au signal) et leur
echantillonnage peut avoir lieu `
a un rythme plus bas que celui du signal X(t).
Ajoutons que ce principe de quantification adaptative peut etre appliquee dans le cas
dune quantification uniforme ou non uniforme. Dans ce dernier cas, la repartition des
niveaux nest determine qu`
a une constante pr`es qui obeit elle `
a la loi dadaptation.
Exemple comparatif:
27
Le tableau 1.1 compare le rapport signal-bruit (en dB) dans les cas suivants:
Quantification non uniforme et non adaptative Elle utilise une loi de compression
(equivalent americain de la loi de compression A etudiee precedemment: Figure 1.8) definie comme suit:
|x|
log 1 + xmax
signx
y = xmax
log (1 + )
Loi de quantification optimale, adaptative ou non Si la variance dun signal est
connue, il est possible de trouver une repartition des niveaux de quantification qui
minimalise le bruit de quantification. Ce calcul peut etre effectue dans le cadre
dune quantification uniforme ou non.
Il exige toutefois la connaissance de la densite de probabilite du signal X.
Les densites de probabilite utilisees sont les suivantes (voir Figure 1.14):
Gaussienne: N (0,x )
Loi Gamma:
1/2
3|x|
3
TX (x) =
e 2x
8x |x|
Loi de Laplace:
TX (x) =
e
2x
2|x|
x
28
Il faut en outre noter que la quantification basee sur une loi ou A fournit de meilleurs
resultats lorsque seul le bruit de fond est present (pas de signal: idle channel).
Lestimation de la variance se fait par:
x2 (n) =
1
M
n+M
X1
X 2 (m)
m=n
et Q(n) (ou G(n)) est estime et transmis tous les M echantillons, ce qui exige un tampon
pouvant contenir M echantillons afin de baser levaluation sur les echantillons `
a venir
plut
ot que sur les echantillons passes.
Les mots-codes sont des mots `
a 3 moments.
Lexamen du tableau 1.1 fait apparatre le gain evident quapporte la quantification
adaptative au point de vue rapport signal-bruit de quantification; gain pouvant atteindre
8 dB.
Non uniforme
Loi ( = 100)
Optimal Gauss
Optimal Laplace
Uniforme
Optimal Gauss
Optimal Laplace
non adaptative
9,5
7,3
9,9
non adaptative
6,7
7,4
adaptative (M = 128)
15,0
13,3
adaptative (M = 128)
14,7
13,4
adaptative (M = 1.024)
12,1
12,8
adaptative (M = 1.024)
11,3
11,5
1.5.3.3.3.3 Adaptation aval Ce type dadaptation (voir Figure 1.15) utilise une
estimation de la variance `
a partir de la sortie du syst`eme de quantification ou de facon
equivalente `
a partir des mots-codes. Dans ce cas, il ne faut evidemment plus transmettre
Q(n) ou G(n) puisquils sont determines `
a partir de donnees disponibles `
a la reception.
Le desavantage dun tel syst`eme est une sensibilite accrue aux erreurs de restitution des
mots-codes puisque de telles erreurs impliquent egalement une reconstitution erronee
Q(n) ou de G(n).
1.5.3.3.4 Commentaires sur la quantification adaptative De nombreuses
lois dadaptation du pas de quantification (ou des pas de quantification dans le cas dune
quantification non uniforme) peuvent etre imaginees; nous renvoyons le lecteur interesse
`
a la litterature specialisee dans ce domaine.
Il convient, quelle que soit la loi dadaptation choisie, de fixer une limite superieure et
inferieure `
a Q(n) et G(n).
Gmin G(n) Gmax
Qmin Q(n) GQmax
Cest le rapport de ces limites qui fixe, avec n, le domaine de variation du signal pour
lequel il ny a pas surcharge (cest-`
a-dire que X ne depasse pas le niveau extreme avec
le plus grand pas de quantification) et pour lequel le signal reste superieur au niveau le
plus petit (avec le plus petit pas de quantification). En dautres termes, ce rapport fixe
ce que lon appelle la dynamique du syst`eme.
29
1.5.4
Principe de r
ealisation dun syst`
eme PCM
1.5.4.1
Sch
ema g
en
eral
La realisation dun syst`eme PCM doit etre vue, dun point de vue moderne, en tenant
compte des circuits integres actuellement disponibles. Cette etude sort du cadre de ce
cours et nous nous contenterons de commenter le schema fonctionnel de la Figure 1.16).
Dans lemetteur le signal passe, apr`es compression, dans un circuit dechantillonnage et
de maintien (sample and hold) pour etre applique `
a un convertisseur A/N. La sortie
parall`ele du convertisseur est transformee en un signal en serie via le registre de decalage
RD1. Toutes ces operations sont coordonnees par un moniteur demission dont lelement
essentiel est une horloge.
A la reception, un regenerateur doit restituer le signal binaire. Cela peut par exemple se
realiser par une bascule de Schmitt mais nous etudierons au chapitre 7 la forme optimale
de ce regenerateur.
Lhorloge du recepteur doit evidemment etre synchronisee sur celle de lemetteur.
Apr`es etre mis sous forme parall`ele par un registre `
a decalage, le signal est applique `
a
un convertisseur N/A. Apr`es filtrage passe-bas (filtre de reconstruction) et expansion, on
retrouve le signal utile.
Les divers blocs de ce schema ont ete etudies dans les divers cours delectronique (registre
`
a decalage, convertisseurs A/N et N/A, bascule de Schmitt,. . . ).
Le schema de la Figure 1.16 suppose une transmission en bande de base du signal PCM.
Ce dernier peut aussi, si les caracteristiques de la voie de transmission lexigent, moduler
une porteuse (PSK, FSK, . . . ). A la reception, on trouve dans ce cas evidemment le
demodulateur correspondant qui fournit le signal numerique en bande de base.
30
31
=
=
Ax
1+ln A
1+ln Ax
1+ln A
0x
1
A
1
A
x1
32
1.5.4.3
Nous avons `
a plusieurs reprises evoque le probl`eme de la synchronisation dune horloge
locale par une sequence binaire incidente.
Ceci se realise souvent `
a laide dune boucle de verrouillage de phase (PLL).
Si par exemple on utilise des signaux binaires du type RZ (voir Chapitre 5), leur densite
spectrale de la variance presente une composante spectrale discr`ete `
a la frequence f = 1/T
(et `
a ses multiples), sur laquelle on peut accrocher un PLL. Toutefois une telle sequence
presente une largeur spectrale double de celle dun signal NRZ (qui lui par contre ne
poss`ede pas ce spectre discret).
Le spectre continu dun signal NRZ suffit toutefois pour synchroniser un signal dhorloge
`
a la reception (Figure 1.18). Dans ce schema, le but du derivateur est de reperer les
transitions entre moments (si elles existent). Chaque transition engendre en effet une
impulsion positive ou negative que lon redresse.
On peut montrer que ce signal redresse presente une composante spectrale discr`ete `
a la
frequence T1 sur laquelle on peut synchroniser un PLL. Il faut evidemment eviter dans
ce cas de longues sequences binaires sans transitions.
1.5.4.4
Dans les transmissions qui utilisent des signaux echantillonnes, on dispose dune periode
dechantillonnage pour transmettre 1 echantillon. Si la bande passante de la voie de
transmission est suffisante, on peut concentrer les moments relatifs `
a un echantillon dans
une partie Tb /p de la periode dechantillonnage Tb et consacrer le reste de cette periode
`
a la transmission des echantillons de p autres signaux.
33
1.5.5
Rapport signal-bruit `
a la sortie dun d
ecodeur PCM
1.5.5.1
Introduction
34
Nous allons ici etudier leffet dun bruit additif et stationnaire qui est `
a lorigine derreurs
dans le regenerateur; ces derni`eres sont caracterisees par une probabilite Pf dune erreur
sur chaque moment, independante des erreurs sur les moments precedents.
1.5.5.2
1.5.5.2.1 Sch
ema de la voie de transmission - Hypoth`
eses Le syst`eme
etudie est repris `
a la Figure 1.19. Le signal `
a transmettre X est quantifie (Xq ) ce qui
engendre une erreur de quantification (t). Ce signal quantifie est ensuite echantillonne
`
a la frequence:
1
fb =
= 2F0
Tb
=
=
X(t)
X
k
(t kTb ) +
(t kTb )
X +
Chaque impulsion est ensuite codee et les mots-codes sont transmis soit en bande de
base soit par modulation dune porteuse. Nous supposerons quun bruit blanc, additif,
Gaussien n(t) se superpose `
a ce signal durant la transmission.
Dans le recepteur, le signal est traite par le regenerateur qui reproduit la sequence binaire;
q (t). Cette derni`ere serait
le convertisseur N/A fournit une suite dimpulsions notee X
egale `
a Xq (t) si le regenerateur ne commettait aucune faute.
35
1
;
NQ
et donc:
() =
i2
T
36
donc en general beaucoup plus large que celui de X(t) (plus large que F0 ). Une frequence
dechantillonnage egale `
a 2F0 ne permet donc pas de reconstruire (t).
nq (t) 6= (t)
Pour calculer la puissance du bruit de quantification, nous supposerons que le bruit additif
est nul et donc que le regenerateur ne commet aucune erreur:
q (t) = Xq (t)
X
q (t) du bruit de quantification `
La contribution `
aX
a la sortie du decodeur est donne par:
(t) = (t)
+
X
(t kTb )
Pour calculer la variance de cette fonction aleatoire filtree par le filtre passe-bas, nous
devons connatre la densite spectrale de la variance (). Nous pouvons ici appliquer le
theor`eme precedent avec T = Tb , la periode dechantillonnage (impulsions equidistantes):
() =
Nous avons dej`
a vu que:
2 = Rq =
2
Tb
Q2
12
et donc:
Q2
12Tb
Il sensuit, si H est la transmittance du filtre passe-bas (suppose ideal et de frequence de
coupure F0 ):
Z +
1
Q2
Rq = n2 q =
|H()|2
d
2
12Tb
Z +2F0
Q2
2F0 Q2
1
d =
=
2 2F0 12Tb
12Tb
() =
et puisque Tb =
1
:
2F0
Rq =
Q2
12Tb2
(t kTb )
2
X
Tb
+N Q/2
2
X
=
x2
N Q/2
37
1
N 2 Q2
dx =
NQ
12
Il sensuit:
X () =
N 2 Q2
12Tb
et donc:
S
1
2
|H()|2
N 2 Q2
d =
12Tb
+F0
F0
N 2 Q2
df
12Tb
2F0 N Q
N Q
=
12Tb
12Tb2
: la variance de ;
on ecrit ensuite:
2
() =
T
Calcul de Tf :
Il y a en moyenne 1 moment errone tous les 1/Pf moments. Chaque mot comporte m
moments et il y a donc 1 mot faux en moyenne tous les 1/(mPf ) mots. Puisquun mot
38
T =
2
Calcul de
:
Si un mot-code est faux, tous ses moments ont la meme probabilite 1/m detre faux.
Les valeurs possibles de | | sont donc Q,2Q, . . . ,2m1 Q et elles ont toutes la meme
probabilite 1/m.
Il sensuit:
2 i
1 h 2
2
=
Q + (2Q)2 + . . . + 2m1 Q
m
La somme des m termes de la serie geometrique:
a,aq, . . . ,aq m1
est:
S=a
qm 1
q1
Q2 22m 1
m 22 1
Q2 2m
2
si m est suffisamment grand.
3m
22m Q2 mPf
22m Q2 Pf
=
3mTb
3Tb
1.5.5.2.6
22m Q2 Pf
3Tb2
avec
22m = N 2
Rapport signal-bruit `
a la sortie du d
ecodeur PCM
S
(S/R)0 =
=
Rq + R0
N 2 Q2
12Tb2
Q2
12Tb2
22m Q2 Pf
3Tb2
N2
1 + 4Pf N 2
Il est donc utile daugmenter le nombre de niveaux (ce qui va de paire avec une augmentation de la bande passante necessaire) et de reduire la probabilite derreur dans la
reconstruction de la sequence binaire.
Au Chapitre 7, nous verrons que cette derni`ere condition implique lutilisation dun filtre
adapte comme regenerateur (dans le cas dun bruit additif, blanc et Gaussien).
Nous verrons aussi que dans ces conditions; la probabilite Pf dune erreur par le filtre
adapte depend de lalphabet utilise (bande de base, FSK, PSK) pour la transmission des
signaux binaires et du rapport Es /, o`
u Es est lenergie du signal binaire calculee sur
39
r
1
0,6Es
(Pf )FSK coherente =
erc
2
avec:
2
erc(z) =
ex dx
Calculons Es . Si Tb est la duree entre deux echantillons (1/Tb = 2F0 ) et si chaque motcode comporte m moments de duree Tb /m, alors lenergie par moment est egale `
a:
Es = Si
Tb
1
= Si
m
2mF0
22m
q
Si
1 + 2(2m+1) erc
2mF0
22m
1 + 2(2m+1) erc
q
0,3Si
mF0
1.5.6
Avantages de la PCM
Ces avantages resultent de la nature numerique des signaux PCM; le recepteur doit
seulement estimer `
a chaque intervalle unitaire lequel des deux signaux de lalphabet
(connu) a ete emis.
Les avantages de la PCM sont:
Si on consid`ere une liaison de grande longueur, il faut, que ce soit dans une liaison
analogique ou numerique, prevoir des amplificateurs de ligne (repeteurs) `
a distances
reguli`eres.
En PCM, la fonction du repeteur est de reconstruire la sequence binaire (dont les
signaux sont noyes dans le bruit et deformes par une voie de transmission dispersive
et `
a bande passante limitee) et de la reemettre. On ne reconstruit donc pas le signal
analogique.
40
Si la distance entre repeteurs est choisie de facon telle que la probabilite derreur
du regenerateur est tr`es faible, on peut etendre la cascade des regenerateurs sans
limite, tout en conservant inchangee la valeur du rapport signal-bruit quasiment
egale `
a sa limite superieure, `
a savoir le rapport signal-bruit de quantification.
La distance maximale entre repeteurs est fixee par la valeur de Si /F0 a
` partir de
laquelle la probabilite derreur augmente rapidement (seuil).
La situation est certainement toute autre dans le cas dune transmission analogique
o`
u le rapport signal-bruit ne fait que degrader avec laugmentation de la longueur
de la liaison;
En tant que methode de transmission numerique, la PCM permet lutilisation de
codes detecteurs et correcteurs derreurs;
Pour la meme raison, lutilisation de procedes de chiffrement est grandement facilitee;
La gestion de lensemble du reseau de transmission peut etre assuree par un calculateur (commutation, signalisation);
La realisation technique des procedes utilises en PCM repose sur lutilisation de
circuits integres numeriques performants;
La possibilite de multiplexage par division temporelle (TDM) diminue la necessite
demploi de filtres frequentiels lourds et encombrants (transformateurs, bobines)
qui en technique de multiplexage par division frequentielle (FDM) sont indispensables.
1.6
1.6.1
La PCM diff
erentielle
La quantification diff
erentielle
predite X(n)
pour fournir une version quantifiee de lentree, `
a savoir Xq (n), appliquee
1.6. LA PCM DIFFERENTIELLE
41
42
au predicteur:
Xq (n)
X(n)
+ dq (n) = X(n)
+ d(n) + (n) = X(n)
+ X(n) X(n)
+ (n)
Xq (n)
X(n) + (n)
X(n)
=
p
X
k Xq (n k)
k=1
1.6.2
La modulation
1.6.2.1
Introduction
1.6. LA PCM DIFFERENTIELLE
43
resulte que les echantillons adjacents sont hautement correles, ce qui permet de realiser
une bonne prediction et donc dobtenir une variance de lerreur de prediction assez petite
(cest-`
a-dire en fait une valeur elevee de Gp , le gain d
u`
a la configuration differentielle).
Ceci permet de se contenter dune quantification elementaire sans compromettre la valeur
du rapport signal-bruit de quantification global.
La modulation utilise en effet une quantification `
a deux niveaux codee par un seul
moment. Le debit binaire est donc, en modulation , egal `
a la frequence dechantillonnage
(m = 1).
1.6.2.2
La modulation lin
eaire
1.6.2.2.1
G
en
eralit
es La quantification se fait par deux niveaux et le pas de quantification est fixe. A la Figure 1.22 on a:
dq (n) = Q,
dq (n) = Q,
c(n) = 0
c(n) = 1
Levolution de X(n)
et de Xq (n) est reprise `
a la Figure 1.23 pour = 1.
On constate que la pente maximale de Xq (n) est fixee par le rapport Q/T et que lorsque
c(n) prend plusieurs fois la meme valeur successivement, les points Xq (n) se trouvent sur
une droite de pente Q/T (do`
u le nom de modulation lineaire.
1.6.2.2.2 Caract
eristique de surcharge Dans le cas de la modulation PCM
on dit quil y a surcharge lorsque le signal dentree depasse le niveau de quantification
44
Q
T
Q
1
T 2800
1.6.2.2.3
1.6. LA PCM DIFFERENTIELLE
45
La Figure 1.24 est le resultat dune etude fournissant le rapport signal-bruit de quantification S/Bq en fonction du pas de quantification normalise:
p
Q
E[X(n) X(n 1)]2
F
Fs
o`
u F = 1/T est la frequence dechantillonnage reellement utilisee tandis que Fs est la
frequence dechantillonnage requise par le theor`eme de Shannon.
46
On peut voir `
a la Figure 1.24 que, si = 32, on peut obtenir un S/Bq de 35 dB (pour un
signal `
a spectre limite `
a 3 kHz, Fs = 6 kHz et le debit binaire est de 200.103 moments
par seconde). Vu lallure de ces courbes (pic tr`es aigu), on ne peut maintenir cette valeur
optimale du rapport signal-bruit (`
a Q fixe) que si le niveau dentree ne varie pas trop.
Le principal avantage de la modulation lineaire est sa simplicite. Elle peut se realiser
avec des circuits electroniques assez simples. Puisquun seul moment est transmis `
a chaque
echantillonnage, il nest pas necessaire de realiser une synchronisation entre emetteur et
recepteur comme cela etait le cas en PCM.
Les limitations des performances de ce type de modulation provient de la quantification assez grossi`ere qui est utilisee pour d(n). On pense donc tout naturellement `
a une
quantification adaptative pour augmenter ces performances!
1.6.2.3
Modulation adaptative
1.6.2.3.1 G
en
eralit
es De nombreux algorithmes ont ete proposes pour realiser
ladaptation du pas de quantification, la plupart dentres-eux etant du type aval (cesta
`-dire que ladaptation de Q(n) se fait sur base de la succession des mots-codes).
1.6.2.3.2
avec:
M =P >1
M =Q<1
PQ 1
et:
Qmin Q Qmax
En cas de surcharge, le pas de quantification va donc augmenter tandis quil diminuera
lorsque le bruit de granulation devient important.
Les param`etres de cet algorithme (P,Q,Qmin ,Qmax ) peuvent etre choisis pour obtenir un
bon rapport signal-bruit de quantification dans un grand domaine de variation du signal
dentree (cest-`
a-dire presenter une dynamique suffisante) et minimaliser le bruit de fond
en labsence de signal (idle channel noise).
La Figure 1.25 fournit une comparaison entre les modulations lineaire et adaptative
et la PCM et ce, en fonction du debit binaire.
En ce qui concerne la modulation PCM, le S/Bq renseigne est la valeur maximale obtenue
avec une loi de compression du type ( = 100) et une frequence dechantillonnage du
signal de parole de 6,6 kHz. Ce rapport signal-bruit est fournit en dB par:
"
2
#
Xmax
Xmax
(S/Bq )P CM = 6m + 4,77 20 log[ln(1 + )] 10 log 1 +
+ 2
x
x
Pour la modulation adaptative, on utilise la loi dadaptation decrite ci-dessus avec
P = 1/Q = 1,5. On constate que:
la modulation adaptative fournit une valeur du rapport signal-bruit de quantification S/Bq superieure de 8 dB `
a 20.103 moments par seconde (et de 14 dB `
a
60.103 moments par seconde), `
a celle obtenue en modulation lineaire;
a 40.103 moments par seconde, la modulation PCM
Pour un debit binaire superieur `
offre un S/Bq superieur `
a celui de la modulation . Ainsi, un S/Bq de plus ou
moins 35 dB est obtenu avec une modulation PCM `
a 7 moments ( = 100), ce qui
correspond `
a un debit binaire de 46.103 moments par seconde alors que ce rapport
1.6. LA PCM DIFFERENTIELLE
47
1.6.2.3.3
1.6.2.4
Pr
edicteurs dordre sup
erieur en modulation
X(n)
= Xq (n 1)
48
ce qui a conduit `
a un signal reconstruit de la forme:
Xq (n) = Xq (n 1) + dq (n)
Il sagit en fait de la forme numerique dun integrateur (strictement si = 1). On parle
de leaky integrator lorsque < 1.
On peut egalement utiliser un predicteur du deuxi`eme ordre de la forme:
X(n)
= 1 Xq (n 1) + 2 Xq (n 2)
et donc:
Xq (n) = 1 Xq (n 1) + 2 Xq (n 2) + dq (n)
On appelle ce predicteur un double integrateur et il peut dans certaines conditions amener
une amelioration de 4 dB du rapport signal-bruit de quantification.
1.6.2.5
Rapport signal-bruit `
a la sortie dun d
ecodeur
1.6.2.5.1
Sch
ema de la voie de transmission Une facon simple de representer
un syst`eme de modulation est reprise `
a la Figure 1.26.
1.6. LA PCM DIFFERENTIELLE
49
Le codeur inverse (ou non) la polarite de limpulsion si (t) est negatif (ou positif) et
forme ainsi le train dimpulsions p0 (t).
Le signal (t) est obtenu par comparaison du signal utile avec son estimation X 0 (t)
obtenue par decodage local (integration) de p0 (t). La Figure 1.26 montre un exemple
devolution de X(t),X 0 (t)) et p0 (t).
En pratique, il suffit de transmettre le signe de limpulsion (mot-code `
a 1 moment).
1.6.2.5.2 Bruit de quantification La Figure 1.27 represente le signal `a transmettre X(t), son approximation X 0 (t) fournie par lintegrateur local et lerreur de quantification (t).
=
2
2Q
3
Q
50
Q
= 6F
b
=0
()
Q2
3
La puissance du bruit de quantification `
a la sortie du filtre passe-bas est donc:
2
=
Rq = n2 q =
1
2
nq ()d
avec:
Q
= 6F
b
=0
nq () = |H|2 ()
et donc:
Rq =
Q2 F0
Q2 Tb F0
=
3 Fb
3
A=
Q
T b 0
Q2
202 Tb2
Cette condition est tr`es stricte et bien souvent on choisit Q/Tb egal `
a la racine carree de
la valeur quadratique moyenne de la pente de X(t).
1.6. LA PCM DIFFERENTIELLE
1.6.2.5.4
51
(S/Rq )0
Q2
2T 2
20
b
Q2 Tb F0
3
3
8 2 (F0 Tb )3
3
80 (F0 Tb )3
3
64 (F0 Tb )3
Pour comparer les codages PCM - , nous supposerons que le signal PCM est represente
par des impulsions positives et negatives de duree 0 = 1/(2F0 m).
En modulation avec maintien, la duree des impulsions est (sil ny a pas de multiplexage) = Tb .
Ce sont les valeurs de 0 et qui fixent la bande passante necessaire. Si on exige que les
largeurs spectrales des deux types de signaux soient identiques, on a:
0 = =
1
= Tb
2F0 m
3
(2F0 m)3 = 0,3m3
80F03
au dessus du seuil
1.6.2.5.5 Calcul de la puissance de bruit R0 due aux erreurs de reconstruction Suite aux erreurs de reconstruction de la sequence binaire, lintegrateur
traitera la sequence suivante:
p00 (t) = p0 (t) + pe (t)
o`
u pe (t) est une suite non periodique dimpulsions dintensite 2 (si on suppose les impulsions de p0 e p00 unitaires: voir Figure 1.28).
La duree moyenne entre deux impulsions de pe (t) est PTfb si Pf est la probabilite derreur
lors de la reconstruction de la sequence binaire.
52
4Pf
Tb
4Pf
|HI |2
Tb
o`
u:
HI =
Q
j
4Pf Q2
Tb 2
1.6. LA PCM DIFFERENTIELLE
53
2 Tb
F1
F0
2Q2 Pf
2 F1 T b
car F0 >> F1
1.6.2.5.6
Rapport signal-bruit `
a la sortie du d
ecodeur
(S/R)0
S0
Rq + R 0
Q2
2T 2
20
b
Q2 Tb F0
3
1+
2Q2 Pf
2 F1 Tb
3
(0 Tb )3
24Pf
[(0 Tb )(1 Tb )]
1.6.2.6
3
(0 Tb )3
q
12erc Es
[(0 Tb )(1 Tb )]
Comparaison PCM -
Nous allons `
a nouveau supposer pour cette comparaison que les largeurs spectrales des
deux signaux sont identiques:
0 = =
1
= Tb
2mF0
3m3
2
r
Si
12merc 2mF
[(1 Tb )]
54
F1
mF0
et pour un signal telephonique F1 = 300 Hz, F0 = 3400 Hz, do`
u il vient que 1 Tb = 0,04.
Si
Pour F
>
22
dB
on
a:
0
1 Tb =
(S/R)0 (P CM ) = (S/R)0 () + 26 dB
Le seuil est plus petit en modulation ( 2) dB. On constate donc qu`
a bande passante
egale, la PCM livre des meilleurs resultats que la modulation . La simplicite de cette
derni`ere est son principal atout.
Signalons pour conclure que la modulation est bien adaptee pour la transmission
numerique de signaux dont la puissance est concentree autour des basses frequences.
On constate en effet que le rapport signal-bruit de quantification est inversement proportionnel `
a la troisi`eme puissance de F0 .
Cest le cas pour un signal de parole dont on a vu quil est bien represente par une
sinusode `
a 800 Hz (voir aussi sa densite spectrale de la variance). Pour un tel signal, on
a:
Q2
S0 =
2 2 Tb2
avec = 2f = 2800;
et dans ces conditions:
(S/Rq )0 =
3
8 2 Tb3 f 2 F0
1.6.3
La modulation
Nous avons vu que la modulation etait bien adaptee pour la transmission dun signal de parole qui ne contient pas de composante continue et dont la densite spectrale
1.6. LA PCM DIFFERENTIELLE
55
de la variance est concentree vers les basses frequences. Elle nest pas adaptee pour la
transmission de signaux `
a large spectre.
Un autre desavantage de la modulation est la presence dun integrateur dans le
recepteur, ce qui entrane une accumulation des fautes dans le signal reconstruit lorsque
le bruit additif est trop important.
La modulation a ete developpee pour permettre la transmission de signaux `
a spectre
uniforme et composante continue dans une voie de transmission tr`es bruyante. Cette
modulation peut etre abordee depuis un certain nombre de points de vue differents.
Le point de vue que nous adopterons dans ce cours est celui o`
u la modulation est
consideree comme un modulateur DPCM modifie. Regardons ce cas dun peu plus pr`es.
Comme dans le cas dun modulateur lineaire, on a besoin dune grande correlation entre
les echantillons successifs pour le bon fonctionnement du modulateur . Cette condition
est realisee comme avant par effectuer un sur-echantillonnage important. Maintenant il
se fait que nous pouvons egalement augmenter la correlation des donnees echantillonnees
qui sont appliquees au modulateur, en filtrant ces donnees auparavant en performant
une integration. On doit alors bien evidemment compenser ce pre-filtrage en introduisant un post-filtrage en appliquant une differenciation. Cette structure est montree `
a la
Figure 1.30, o`
u les integrations, la differenciation et les delais sont exprimes en termes
de la transformee en z.
Nous pouvons alors rearranger les blocs qui representent la succession des etapes que
le signal parcourt, pour ainsi arriver `
a une economie dans limplementation. En effet,
a
` lentree du codeur se trouvent deux sorties dintegrateurs numeriques, qui sont additionnees apr`es et appliquees au module de quantification dans la boucle. Notre premi`ere
adaptation est que nous pouvons partager un seul integrateur numerique, en glissant les
deux integrateurs `
a travers le noeud, dans le codeur. Notre deuxi`eme adaptation `
a ce codeur est que le post-filtre peut etre transfere vers le c
ote du decodeur, qui annule l`
a-bas
alors lintegration numerique `
a lentree du decodeur. Tout ce qui reste du decodeur est
le filtre passe-bas de reconstruction.
Cette forme simplifiee du schema DPCM modifie est representee dans la Figure 1.31
Cette forme, appelee modulateur , contient un integrateur (le ) et un modulateur
DPCM (le ).
56
1.7
1.7.1
Le codage param
etrique
Introduction
Ce type de codage, bien quutilisable pour des signaux quelconques, a surtout ete
developpe dans le cadre des signaux de parole. La presentation de ce type de codage sera
ici faite dans cet esprit.
Les signaux vocaux peuvent evidemment etre codees par les procedes vus precedemment:
PCM, DPCM, DELTA.
A chaque procede correspond un debit binaire ainsi quune qualite de la reproduction, le
defi etant dobtenir la meilleure qualite pour un debit binaire et une complexite technique
les plus reduits possibles.
Partant de la notion de qualite du signal reconstitue, il faut bien admettre que le classique
rapport signal-bruit (qui a le grand avantage detre bien defini et quantifiable) ne permet
pas toujours de definir ce que lauditeur appelle intuitivement (et subjectivement) un
signal de qualite.
Selon le but poursuivi, la notion de qualite dun signal vocal peut recouvrir une ou
plusieurs des notions suivantes:
intelligibilite (intelligibility);
reconnaissance du locuteur;
caract`ere naturel de la voix, . . .
Par les methodes de codage classiques, il est difficile de realiser un codage de la parole pour
une qualite de communication confortable avec un debit binaire inferieur `
a 5 kbit/seconde.
La technique dites des vocodeurs (voice-coders) repose sur un principe totalement
different. Elle nest plus basee sur le codage du signal emis par la source, en loccurrence
le syst`eme phonatoire, mais bien sur une modelisation de ce dernier.
Cette modelisation conduit `
a assimiler le syst`eme phonatoire `
a un filtre (dont la transmittance depend dun certain nombre de param`etres) auquel est applique un signal dexcitation. Ces param`etres ainsi que le mode dexcitation sont estimes sur des periodes
danalyse du signal de lordre de la dizaine de ms (duree durant laquelle le signal vocal
peut etre considere comme stationnaire et donc o`
u le filtre est `
a param`etres fixes) et ce
sont ces donnees qui sont transmises. A la reception, on effectue la synth`ese du signal
emis en realisant un filtre dont les param`etres sont ceux transmis par lemetteur et en
1.7. LE CODAGE PARAMETRIQUE
57
appliquant `
a ce filtre une excitation appropriee au type de phon`eme transmis (phon`eme
voise ou non-voise).
Ce procede de codage (qui est en fait un codage parametrique), permet datteindre des
debits binaires de lordre de quelques kbit/seconde avec toutefois parfois une qualite de
voie dite synthetique qui rend malaisee la reconnaissance du locuteur. Ces techniques de
codage concernent des applications particuli`eres (par exemple les applications militaires).
Remarquons pour conclure que les idees presentees dans ce chapitre ne sappliquent pas
uniquement aux probl`emes de transmission `
a bas debit binaire de signaux vocaux
De mani`ere generale, les techniques de traitement de la parole abordent dautres aspects
du probl`eme tels que:
la synth`ese dun signal vocal;
la reconnaissance de la parole (mots isolees, parole continue);
lidentification du locuteur.
Ces aspects sont abondamment traites dans la litterature specialisee [4, 5, 6, 11, 14].
Puisque les procedes presentes ici ont ete developpes specifiquement dans le cadre du
traitement de la parole, il convient dabord dexposer les fondements du mecanisme de
production de la parole et les caracteristiques du signal emis.
1.7.2
G
en
eralit
es sur le signal vocal
1.7.2.1
M
ecanisme de la phonation (voir Figure 1.32)
Lenergie necessaire `
a la phonation provient de lair expulse des poumons par la trachee
art`ere. Au sommet de cette derni`ere se trouve le larynx o`
u la pression dair est modulee
par les cordes vocales. Lair pen`etre ensuite dans le conduit vocal qui setend du pharynx
jusquau l`evres.
Les cordes vocales sont en fait deux membranes symetriques qui peuvent soit fermer le
larynx soit, en secartant, presenter une ouverture triangulaire appelee glotte. Lair y
passe librement lors de la respiration et lorsque la parole est chuchotee. Il en est de meme
pendant la phonation de sons sourds encore appeles non voises.
Lors de lemission de sons voises les cordes vocales sont fermees et ne souvrent de facon
periodique que durant de courts instants. Des impulsions periodiques de pression sont
donc appliquees au conduit vocal. La frequence fondamentale de ce phenom`ene periodique
(appelee pitch en anglais) depend `
a la fois de la personne et de lintonation. Elle se situe
entre 70 et 200 Hz pour lhomme, 150 et 400 Hz pour la femme, 200 et 600 Hz pour
lenfant.
Le conduit vocal comporte en serie la cavite pharyngienne et la cavite buccale et en
derivation la cavite nasale. Ces diverses cavites constituent des resonateurs. La forme
de la cavite buccale peut etre modifiee par la position de la langue et de la m
achoire
inferieure. Les l`evres modifient louverture de la cavite buccale. Pour certains sons dits
nasalises (an, in, un, m, n, gn, . . . ) lair passe egalement par la cavite nasale qui est mise
en communication avec le dessus du pharynx par louverture du voile du palais.
Cet ensemble de cavites resonantes constitue en quelque sorte un filtre acoustique variable
dans le temps creant, `
a la sortie de lorgane phonatoire, une onde acoustique qui est la
version filtree du flux dair provenant des cordes vocales.
On serait tente de croire que ce filtre ne varie pas durant lemission dun son determine.
En realite on assiste `
a un phenom`ene de co-articulation o`
u la cavite buccale se modifie
en continu; cette variation depend du son qui prec`ede et de celui qui suit le son en cours
demission.
Au lieu de parles de sons, il est plus precis dutiliser la notion de phon`eme. Chaque
langue est caracterisee par un certain nombre de phon`emes. Un phon`eme est en fait la
58
1.7. LE CODAGE PARAMETRIQUE
59
plus petite unite de parole susceptible par sa presence de changer la signification dun
mot.
On consid`ere par exemple que la langue francaise poss`ede 36 phon`emes. Ces phon`emes
sont classes en voyelles, consonnes et semi-consonnes.
1.7.2.2
Propri
et
es statistiques du signal vocal
Un signal vocal est une realisation dune fonction aleatoire non stationnaire. On peut
donc obtenir, `
a partir des echantillons, des donnees statistiques moyennes mesurees soit
sur plusieurs dizaines de secondes et sur plusieurs locuteurs (statistique `
a long terme)
soit sur des tranches temporelles de duree de 10 `
a 30 ms pendant lesquelles le signal est
quasi stationnaire (statistiques `
a court terme).
Loi Gamma:
3
e
8x
Loi de Laplace:
e
2x
3|x|
2x
2|x|
x
La densite de probabilite `
a long terme du signal vocal presente une valeur importante
pour x = 0; cela correspond aux intervalles de silence dans la parole.
60
1.7.2.2.2
Fonction dautocorr
elation et densit
e spectrale de puissance
N
k
X
1
x(l)x(l + k)
N k
l=0
2
2 = 1 PN x2 (n) = X
avec evidemment X (0) = X
, la valeur quadratique moyenne
n=0
N
calculee sur N echantillons.
On definit aussi un coefficient dautocorrelation X (k):
X (k) =
X (k)
2
X
avec 1 X (k) 1
1.7.2.2.4 Densit
e spectrale `
a court terme La densite spectrale `a court terme
presente une allure tr`es differente selon que le son emis est voise ou non.
Un son voise est quasi periodique et poss`ede un spectre presentant des raies qui correspondent aux harmoniques de la frequence fondamentale (pitch). De plus, si on consid`ere
(Figure 1.35) lenveloppe de ces raies, elle presente une serie de maxima (propre au
phon`eme prononce) aux frequences de resonance du conduit vocal (propre au locuteur).Ces maxima portent le nom de formants.
1.7.2.3
Mod`
ele de la production de la parole
1.7.2.3.1 Remarque pr
eliminaire Le traitement de la parole etant une discipline de traitement numerique du signal, tous les signaux sont toujours consideres comme
etant echantillonnes (signaux `
a temps discrets, suites). Le probl`eme de la quantification
nest pas pris en compte ici. La variable temporelle est donc lindice n tel que t = nTb . Il
sera egalement fait abondamment usage de la transformee en z.
1.7.2.3.2 Mod`
ele de la production de la parole Plusieurs mod`eles ont ete
proposes pour simuler le fonctionnement de de lappareil phonatoire. Celui qui est le plus
approprie pour les developpements theoriques ulterieurs est repris `
a la Figure 1.36.
Le generateur dimpulsions produit, dans le cas dun son voise, un train dimpulsions
idealisees (cest-`
a-dire un train dimpulsions de Dirac):
X
u(n) =
(n kP )
k
1.7. LE CODAGE PARAMETRIQUE
61
62
G
ai z i
i=0
avec a0 = 1.
Ce mod`ele de production du signal est dit autoregressif; il correspond en effet, dans le
domaine temporel `
a une recurrence lineaire de la forme:
x(n) +
p
X
ai x(n i) = Gu(n)
i=1
Les coefficients ai sont appeles coefficients de prediction. En effet, si u(n) etait nul, ils
permettraient de predire x(n) `
a partir des p valeurs precedentes des echantillons de X.
G est le gain du mod`ele.
Ce sont ces param`etres qui, avec la nature voisee ou non du phon`eme emis, doivent
etre estimes sur un intervalle temporel o`
u le signal vocal peut etre considere comme
stationnaire.
Les limitations de ce mod`ele sont les suivantes:
Pour les phon`emes nasalises(m, n, . . . ) la transmittance devrait plut
ot etre de la forme:
H=
GC(z)
A(z)
Ceci signifie quil faut tenir compte pour calculer x(n) de lexcitation concomitante
mais egalement de quelques echantillons precedents du signal dexcitation.
63
1
1 + az 1 + a2 z 2 + . . .
1.7.2.4
Lestimation du mod`
ele
Ceci ne sera pas etudie dans le cadre de ce cours. En effet, ce sujet est traite en long et
en large dans le cours TE545 du Professeur Vloeberghs.
1.8
1.8.1
1.8.2
64
65
On realise
lhyper-espace de dimension N contenant toutes les valeurs possibles de X.
une partition de NX en L sous-ensembles (regions ou cellules), notes Ci (i = 1, . . . ,L) et
un vecteur Yi est associe `
a chaque cellule Ci . Ce vecteur Yi , associe `
a la cellule Ci , est
appele le representant de la cellule en question.
Lensemble des vecteurs Yi ,i = 1, . . . ,L, constitue le dictionnaire du processus de quantification vectorielle.
Ce dictionnaire est note Y . Loperation de quantification vectorielle (notee Q) consiste `
a
Ci , le vecteur Yi , representant de la cellule Ci :
associer `
a tout vecteur X
= Yi
Q(X)
si et seulement si
Ci
X
Yi de lhexagone representant Ci .
66
L
1X
li
L i=1
Nous supposerons toutefois dans la suite que les longueurs des mots-codes sont identiques.
Le debit de symboles par seconde est alors:
R = lFX
a
o`
u FX represente le nombre de vecteurs X
` coder par seconde.
est donc:
Le nombre moyen de symboles binaires transmis par composante scalaire de X
R =
l
N
La constitution dun dictionnaire se fait lors dune phase dapprentissage (training). Lobjectif suivi est de minimaliser le debit de symboles transmis pour un taux de distorsion
considere.
Remarque
Le representant dune cellule nest pas forcement un vecteur de grandeur discr`ete. Ce
qui est important et qui justifie la denomination quantification vectorielle, cest qu`
a un
on fait correspondre un nombre fini de vecteurs dans le
ensemble infini de vecteurs X,
dictionnaire.
1.8.3
67
1.8.3.1
X dX
D = E d(X,Q(
X))
=
d[X,Q(
X)]T
NX
o`
u d(X,Q(
X))
On decompose ce calcul en considerant les diverses cellules Ci , o`
u dans chaque cellule i,
= Yi .
on a que Q(X)
Il vient:
D
L
X
Ci )E d(X,
Yi )|X
Ci
p(X
i=1
L
X
Z
Ci )
p(X
Yi )TX|i
d(X,
dX
Ci
i=1
avec:
Ci ) la probabilite que le vecteur X
tombe dans la cellule Ci (encore notee
p(X
pi );
sachant que X
Ci ;
TX|i
e de probabilite de X
(x1 , . . . ,xN ) la densit
Yi ) une mesure de lecart entre le vecteur X
et sa valeur quantifiee Yi .
d(X,
En bref, on ecrit:
D=
pi Di
avec:
Yi )|X
Ci
Di = E d(X,
et sa valeur
La mesure la plus utilisee de cet ecart entre le vecteur echantillon reel X
quantifiee Yi (ecart encore appele bruit ou erreur de quantification), est la moyenne des
ecarts quadratiques entre les N composantes des deux vecteurs:
Yi ) =
d(X,
N
X
1
Yi )) = 1
(X Yi ))0 (X
(xk yik )2
N
N
k=1
et Yi respectivement.
avec xk et yik les composantes de X
Dans certains applications, il convient de ponderer les differentes composantes du vecteur
On utilise alors une moyenne quadratique ponderee des composantes des vecteurs:
X.
Yi ))0 W (X
Yi ))
Yi ) = 1 (X
dW (X,
N
avec W une matrice de ponderation semi-definie positive.
Remarque
68
Cette notion de ponderation ne semble pas a priori utile si on consid`ere que le vecteur
constitue un bloc dechantillons provenant de lechantillonnage dun signal scalaire.
X
Toutefois, la methode de quantification vectorielle peut aussi etre appliquee `
a des vecteurs
constitues dun ensemble de param`etres (differents) extraits du signal scalaire.
X
Pensons au codage de source parametrique (vocodeurs). Dans ce contexte,on peut comprendre que les composantes du jeu de param`etres, representant un segment de signal (en
loccurrence vocal), ne contribuent pas toutes de la meme facon `
a la distorsion globale et
quil convient donc de ponderer la contribution de chacune delles.
1.8.3.2
Les mesures de distorsion objectives correspondent en general assez bien avec la notion
subjective de bruit de quantification, surtout lorsque la quantification nest pas trop
brutale (cest-`
a-dire que beaucoup de cellules Ci sont constituees, ce qui entrane un
debit binaire eleve).
Toutefois, lorsque la quantification est plus radicale (par exemple dans les liaisons vocales
`
a tr`es bas debit) cest-`
a-dire que la distorsion augmente fortement, les mesures de distorsion objectives ne correspondent plus `
a la notion subjective de qualite de perception.
Certaines applications ont, dans ces conditions, utilise des crit`eres subjectifs de mesure
de la qualite dun dictionnaire. Ceci sort toutefois du cadre de ce cours.
1.8.4
Elaboration
du dictionnaire
1.8.4.1
Caract
eristiques dun dictionnaire
log2 L
l
=
N
N
Pour que le quantificateur presente un interet quelconque, il faut que le debit soit inferieur
au debit original. Prenons lexemple de la quantification dune image fixe en noir et blanc.
Les echantillons successifs sont les niveaux de gris des pixels successifs de limage. Dans
une quantification scalaire (N = 1) o`
u lon suppose quil y a 28 niveaux de gris, le debit
est evidemment de 8 symboles binaires par pixel.
La taille maximale dun dictionnaire de dimension N sera donc:
L 28N
En cas degalite, le debit obtenu par le quantificateur vectoriel est identique `
a celui
que lon obtiendrait en quantification scalaire. Ainsi, si N = 16 (blocs de 16 pixels), le
dictionnaire doit etre de taille inferieure `
a 2128 . Il faut toutefois tenir compte du probl`eme
de stockage dun tel dictionnaire.
Un autre aspect est celui de luniversalite du dictionnaire. Ce dernier etant cree `
a partir
dune base de donnees dentranement, il convient de verifier quil est utilisable pour la
quantification dun signal nappartenant pas `
a cette base de donnees.
69
Position du probl`
eme
si et seulement si
Yi ) d(X,
Yj ),j 6= i,1 j L
d(X,
Q(X) qui ne respecte pas cette r`egle du plus proche voisin, cest-`
a-dire tel que:
min d(X,
Yj )
d[X,Q(
X)]
i
, on a:
X dX
d[X,Q(
X)]T
D=
NX
Yi )TX dX
d(X,
NX
XC
i
Yi )TX|i
d(X,
dX
70
1.8.4.3
Algorithme de Lloyd g
en
eralis
e
Etape
1: Poser m = 0 et choisir un ensemble de vecteurs Yim o`
u i = 1, . . . ,L, formant
le dictionnaire `
a letape m = 0.
k o`
u k = 1, . . . ,M en L
Etape
2: Repartir lensemble des M vecteurs dapprentissage X
groupes Cim o`
u i = 1, . . . ,L, en respectant la r`egle doptimalite suivante (r`egle du
plus proche voisin):
k Cim
X
si et seulement si
k ,Yim ) d(X,
Yjm ),j 6= i
d(X
Etape
3: Calculer la distorsion moyenne Dm ainsi obtenue `
a letape m. Si |Dm1
Dm |/Dm est inferieure `
a un seuil fixe, arreter literation, sinon continuer.
Etape
4: Incrementer m de 1 et reactualiser les vecteurs Yim du dictionnaire. Chaque
vecteur Yim est choisi comme etant le centrode de la cellule Cim1 , determinee `
a
letape 2. On demontre que si d est la distance Euclidienne (ponderee ou non) et
si la repartition dans la cellule est uniforme, le centrode se calcule par:
Mi
1 X
k de Ci
Yim =
Xk ,Xk Ci ,Mi = nombre de vecteurs X
Mi
k=1
Retourner `
a letape 2
Lapplication de cet algorithme ne peut que conduire `
a une evolution non croissante de
Dm comme nous lavons demontre lors de lintroduction des deux r`egles doptimalite
(plus proche voisin et centrode).
A chaque etape, la distorsion moyenne ne peut que diminuer ou rester inchangee. Le
dictionnaire vers lequel converge cet algorithme sera toujours meilleur (au moins aussi
bon en toute generalite) que le dictionnaire initial (celui de letape 1).
Si on consid`ere lensemble des partitions possibles des vecteurs dapprentissage, il y correspond un nombre fini de mesures de la distorsion moyenne. Cette distorsion moyenne
peut presenter plusieurs minima locaux. Lalgorithme conduira vers lun ou lautre de ces
minima selon le dictionnaire initial choisi. En ce sens, il est suboptimal.
Cette constatation met en evidence limportance du choix du dictionnaire initial.
1.8.4.4
1.8.4.4.1
Initialisation al
eatoire On choisit L vecteurs (aleatoirement ou par
exemple les L premiers) dans les M vecteurs dentranement (M >> L).
Ces vecteurs ne sont peut-etre pas tr`es representatifs de la suite dapprentissage et le
resultat est en general mediocre.
1.8.4.4.2 Initialisation `
a seuil Au lieu de prendre L vecteurs aleatoirement, on
fixe une distance minimale entre les vecteurs du dictionnaire initial. Cette methode fournit
en general de meilleurs resultats que la precedente mais pose le choix du seuil. Ce dernier
est difficile `
a determiner car il depend de la complexite de la sequence dapprentissage.
71
1.8.4.4.3
Etape
1: Initialisation
Initialiser le dictionnaire Y en prenant Y0 = {Y0 } o`
u Y0 est le centrode de
lensemble de la sequence dapprentissage;
Noter u
le vecteur 1xN [1,1, . . . ,1] de <N ;
Choisir un scalaire appele perturbation;
Fixer un seuil de distorsion moyenne et une taille L (puissance de 2);
Prendre m = 0.
Etape
2:
Perturber le dictionnaire courant Ym = {Yi ,i = 0, . . . ,2m1 } en prenant
i = 0, . . . ,2m1
Y2i+1
Y2i
=
=
Yi
u
Yi +
u
Incrementer m.
Etape
3:
Appliquer lalgorithme de Lloyd generalise sur Ym ;
Effectuer un test darret sur le dictionnaire obtenu (distorsion moyenne `
a
letape m : Dm < o`
u 2m = L;
Si ce test est satisfait, retenir le dictionnaire Ym ;
Sinon retourner `
a letape 2.
1.8.4.5
Les diff
erents types de dictionnaires et les m
ethodes de recherche du repr
esentant
La quantification vectorielle peut presenter des avantages substantiels sur la quantification scalaire, surtout `
a tr`es bas debit binaire. Ceci est possible moyennant la mise en
ouvre de moyens de calcul et de stockage dinformation important.
Afin dobtenir un compromis entre (le co
ut de) ces deux derniers elements et les performances du syst`eme de quantification, divers types de dictionnaires ont ete developpes.
Certains dentre eux sont precalcules et restent inchanges durant leur utilisation.
Dautres, du type adaptatif, sont remis `
a jour en cours dutilisation.
Loptimalisation porte surtout sur la complexite de la recherche du representant corres donne.
pondant `
a un vecteur X
1.8.4.5.1
Dictionnaire `
a recherche exhaustive Dans ce type de recherche, le
vecteur `
a quantifier est compare `
a tous les representants du dictionnaire, le representant
utilise etant celui correspondant `
a une distance minimale.
Calculons les exigences dun tel procede au point de vue calcul et stockage.
Le nombre de representants du dictionnaire est donne par:
L = 2l = 2RN
o`
u:
`
N est la dimension des vecteurs X
a quantifier;
R est le nombre moyen de symboles binaires par echantillon scalaire (par compo
sante van X).
72
Pour calculer la charge de calcul dans ce type de strategie de recherche, supposons que
et le representant.
lon calcule pour chaque representant possible la distance entre X
Comme charge de calcul CCRE on prend le nombre de produits-additions a
` effectuer
dans cette recherche exhaustive:
CCRE = N L = N 2RN
Le volume de stockage V SRE (exprimee en nombre de scalaires `
a stocker) vaut:
V SRE = N L = N 2RN
On constate donc que dans ce type de strategie de recherche, la charge augmente exponentiellement avec l = RN , la longueur moyenne des mots-codes (binaires) exprimant les
representants du dictionnaire.
Autrement dit, la complexite crot exponentiellement avec:
la dimension N des vecteurs `
a debit R fixe,
le debit R `
a dimension N fixe.
Ceci est en general prohibitif si bien quil a ete necessaire de developper de nouvelles
techniques permettant datteindre une qualite acceptable avec une complexite raisonnable
des syst`emes.
1.8.4.5.2
Dictionnaire `
a recherche arborescente (tree search codebook)
Cette methode de recherche suppose quune structure arborescente est associee au dictionnaire. Deux cas se presentent en pratique:
La construction de larbre est associee `
a celle du dictionnaire. Cette solution, la
plus frequente, porte le nom darborescence descendante. Un exemple est celui de
la creation du dictionnaire par dichotomie vectorielle.
a partir dun dictionnaire dej`
a forme (par une
Larborescence est determinee `
methode quelconque). On pratique ce que lon appelle une arborescence ascendante. Ce cas ne sera pas traite ici.
Figure 1.40 reprend un exemple de dictionnaire (L = 8) et larborescence associee.
Le principe du codage consiste `
a demarrer la recherche `
a partir du tronc pour atteindre
les feuilles (le dictionnaire) en log2 L = l etapes. A chaque etape, on calcule la distance
du vecteur `
a coder `
a chacun des deux candidats possibles (les deux branches qui partent
du noeud considere). On selectionne evidemment celui dont la distance est minimale et
la recherche se poursuit dans le sous-arbre ayant ce candidat choisi comme tronc.
Si on admet quil faut N additions-multiplications pour le calcul dune distance, la charge
de calcul CCArb secrit:
CCArb = 2N log2 L = 2N l
Prenons le cas dun dictionnaire comportant 1024 elements (cest-`
a-dire l = 10, L =
1024 = 210 ).
Le nombre de calculs de distances sera reduit `
a 20 dans le cas dune recherche arborescente
alors quil serait de 1024 dans le cas dune recherche exhaustive!
Le volume de stockage V SArb a lui approximativement double par rapport au cas de la
recherche exhaustive:
l
X
V SArb = N
2i = 2N (L 1)
i=1
73
74
75
Exemple
l = 10,N = 4,l1 = 5,l2 = 5
V Scasc
CCcasc
25 + 2 5
64
=
=
=
V SRE
CCRE
210
1024
La diminution de la charge de calcul et du volume de stockage augmente avec le nombre
K de dictionnaires en cascade.
La methode presentee ci-dessus suppose une recherche independante du meilleur
representant dans les differents dictionnaires successifs. Plus precisement cette procedure
sequentielle suppose, lors de la recherche du meilleur representant dans le dictionnaire
i, que les vecteurs qui seront quantifies dans les etages i + 1,i + 2, . . . ,K de la cascade,
sont tous nuls, ce qui est evidemment en general faux.
Il est en effet tout `
a fait possible que la combinaison dun vecteur plus mal quantifie dans
un premier dictionnaire avec une plus grande correction appliquee aux quantificateurs
suivants conduise finalement `
a un meilleur resultat global que celui fournit par la meilleure
quantification `
a chaque niveau de la cascade.
Theoriquement, toutes les combinaisons possibles des representants des differents dictionnaires devraient etre utilisees, ce qui annulerait tout avantage par rapport `
a la recherche
exhaustive en ce qui concerne la charge de calcul.
Une amelioration de la procedure de recherche se base sur une recherche arborescente
dans les differents dictionnaires. Son deroulement est le suivant:
Partant du premier niveau de larbre, T vecteurs fournissant les distorsions les plus
faibles sont choisis et T vecteurs differences sont calcules;
Au niveau du deuxi`eme etage, chaque vecteur difference est compare au dictionnaire de letage et T meilleurs representants sont `
a nouveau retenus sur base de la
distorsion globale, (etages 1 et 2).
La procedure est repetee jusquau K-`eme etage de la cascade. Le mot-code retenu
correspondant au chemin optimal (cest-`
a-dire celui fournissant la distorsion globale
la plus faible) est obtenu par agregation du mot-code de chaque etage (Figure 1.42).
La charge de calcul dans un dictionnaire avec K etages en cascade avec recherche arborescente est donnee (si on suppose comme de coutume que le calcul dune distance exige
N additions-multiplications)par:
Gain =
arb
CCcasc
= N [L1 + T L2 + . . . + T LK ] = N
si on suppose:
Li =
1.8.4.5.4
L
[1 + (K 1)T ]
K
L
,i = 1,2, . . . ,K
K
76
77
N
(L1 + . . . + LP )
P
1.8.4.6
Dans la quantification scalaire, nous avons montre quil etait souhaitable de tenir compte
de la correlation entre les echantillons successifs. Ceci a conduit `
a la DPCM o`
u cest la
difference entre les echantillons successifs (ou entre un echantillon et son estimation basee
sur les echantillons precedents) qui est quantifiee et codee.
La structure meme de la quantification vectorielle sugg`ere quil est possible de prendre en
compte la correlation entre les differentes composantes en augmentant la dimension du
vecteur soumis `
a la quantification vectorielle ou, ce qui est equivalent, en codant ensemble
plusieurs vecteurs successifs.
Toutefois, cette facon de faire entrane inevitablement une augmentation de la complexite.
78
1 et X
2
Une premi`ere structure differentielle consiste `
a coder deux vecteurs successifs X
en quantifiant le premier par exemple par une structure produit (QV1 et QV2) et le
second differentiellement par rapport au premier (Figure 1.44).
par exemple par une structure produit (QV1 et QV2). Soit Yi,i+1 le representant de cette
moyenne. On calcule la difference entre le representant du vecteur moyenne et chacun des
i et X
i+1 . Ces differences sont codees dans des quantificateurs QV3 et QV4.
vecteurs X
On constate que dans ce type de quantification, tous les vecteurs successifs sont quantifies
de la meme facon, cest-`
a-dire avec la meme qualite.
Ce type de codage est utilise avec quelques adaptations dans le cadre du codage parametrique de la parole (vocodeurs).
Il existe divers jeux de param`etres qui peuvent etre utilises. Pour certains jeux de param`etres,on constate que toutes les composantes du vecteur nexigent pas la meme
precision lors de la quantification. Nous admettrons ici que les param`etres du vecteur
`
a coder qui peuvent etre representes plus grossi`erement sont groupes dans la partie du
vecteur notee avec lindice h. Ceci conduit `
a la structure de la Figure 1.46.
79
Figure 1.46 Exemple dun codage moyenne-difference dans le cas dun vocodeur.
h
Seul le vecteur
di,l
di+1,l
1.8.5
1.8.5.1
Introduction
1.8.5.2
Les signaux non-stationnaires presentent une variance qui evolue dans le temps. On peut
toutefois souvent admettre que cette variance reste quasiment constante sur un intervalle
de temps bien choisi.
Si on utilise un dictionnaire classique, il faut repartir le nombre L de representants dans
tout le sous-espace de <N o`
u le vecteur `
a coder peut apparatre, quelle que soit la variance
instantanee.
Pour contourner cette difficulte, on peut normer les vecteurs `
a coder par lestimation de
la valeur quadratique moyenne (non centree et elle meme quantifiee) de N echantillons
80
u
N
u1 X
X = Q t
x2
N i=1 i
o`
u Q() signifie la valeur quantifiee de . . . .
Le dictionnaire a donc ete constitue pour des vecteurs `
a variance unitaire. Lors de la
2
(de variance
N
X
(xj
X yij )2
1iL
j=1
o`
u yij ,j = 1,2, . . . ,N sont les composantes de Yi .
Il faut evidemment transmettre `
a la fois le mot-code de Yi et la valeur de la variance
quantifiee utilisee.
On comprend `
a present la terminologie anglosaxonne utilisee pour designer ce dictionnaire;
X joue en quelque sorte le r
ole de gain dun amplificateur qui adapte le niveau
des representants `
a celui du vecteur `
a coder.
2
Ce processus peut etre ameliore en ne calculant pas a priori la valeur de
X
mais
en incluant la determination de sa valeur dans le processus de recherche du meilleur
on recherche les granrepresentant. En dautres termes, pour tout vecteur `
a coder X,
N
X
(xj i yij )2
1iL
j=1
i = 1, . . . ,L
Le premier terme de cette expression est independant de i et nintervient donc pas dans
la recherche du representant. Cette derni`ere se base donc sur la recherche de Yi qui
maximalise le second terme. Ayant determine le meilleur Yi , on peut calculer la valeur
correspondante de i . On transmet le mot-code de Yi et la valeur de i quantifiee.
1.8.5.3
Dictionnaire adaptatif
Le dictionnaire utilise ci-dessus nest pas vraiment adaptatif. On utilise en fait une sorte
de mise `
a lechelle. Afin de mieux suivre levolution des caracteristiques du vecteur `
a
coder, on peut utiliser un veritable dictionnaire adaptatif. Comme dans le cas de la
quantification scalaire, ladaptation peut etre amont ou aval.
Dans le cas de ladaptation amont, le dictionnaire est mis `
a jour `
a partir du vecteur `
a
coder (avant quantification) tandis que dans le cas aval, la mise `
a jour nutilise que des
1.9. INTRODUCTION A
81
1.9
Introduction `
a la compression dimages et de
vid
eo
Quelques references utiles pour celui qui veut en apprendre davantage: [19, 28, 33]
1.9.1
Rappels
1.9.1.1
Les algorithmes de compression de donnees peuvent etre classes en deux grandes familles
distinctes, `
a savoir les algorithmes de compression dits sans perte (lossless, en anglais)
82
1.9.1.2
1.9.2
Compression
JPEG
1.9.2.1
Pr
eambule
dimages
num
eriques:
lalgorithme
1.9. INTRODUCTION A
83
Pour la suite de ce paragraphe, nous nous restreindrons au traitement dimages monochromes, le traitement des autres composantes de couleur seffectuant de facon semblable.
1.9.2.2
Diagramme g
en
eral
Raw image
DCT
Quantize
Run-length
Huffman
image.jpg
1.9.2.3
DCT
JPEG effectue sa compression dans un domaine transforme base sur la Discrete Cosine
Transform (DCT). La transformation DCT etabli une equivalence entre N echantillons
du signal de depart et N coefficients correspondant `
a des amplitudes de cosinus `
a
frequences croissantes. Le signal de depart peut alors etre parfaitement reconstruit par
combinaison lineaire de ces cosinus ponderes.
Pour un signal `
a une dimension X(i) compose de N echantillons, i = 0 . . . N 1, les
coefficients DCT notes C(u), u = 0 . . . N 1 se calculent de la facon suivante:
C(o)
N 1
1 X
X(i)
N i=0
C(u)
N 1
(2i + 1)u
2 X
X(i) cos{
}
2N
N i=0
u 6= 0
Lextension `
a deux dimensions necessaire pour pouvoir traiter des images `
a N N
echantillons, se derive alors comme suit:
C(u,v)
w(o)
w(k)
N
1 N
1
X
X
(2i + 1)u
(2j + 1)v
2
w(u)w(v)
X(i,j) cos{
} cos{
}
2N
2N
N
i=0 j=0
2
1
k 6= 0
Dans le cas de la compression JPEG, limage est divisee en blocs de 8*8 pixels, et
cest individuellement sur chaque bloc que seffectuera la DCT bidimensionnelle. La
Figure 1.49 nous illustre les 64 motifs DCT de base dans le cas de tels blocs 8*8. Le premier motif represente par exemple la composante continue presente dans le bloc original,
84
Figure 1.49 Les 64 motifs DCT de base dans le cas de blocs 8*8
1.9.2.4
Passons `
a present `
a la premi`ere des trois etapes de compression que compte lalgorithme
JPEG. Et pour commencer, fixons nous arbitrairement 64 valeurs de luminance que lon
aurait pu observer au sein dun bloc 8*8 de limage `
a traiter:
118
100
94
104
119
83
97
99
91
93
101
82
93
119
85
86
123
88
78
83
99
104
90
85
125
85
99
78
104
92
100
105
124
87
112
92
76
111
106
81
114
100
87
118
111
76
125
99
117
115
109
124
86
112
123
115
104
105
115
88
112
100
86
119
1.9. INTRODUCTION A
85
Ces donnees etant codees sur 8 bits, elles varient de 0 `
a 255. La premi`ere operation
consiste `
a centrer le signal autour de zero, en lui retranchant la constante 128.
-10
-28
-34
-24
-9
-45
-31
-29
-37
-35
-27
-46
-35
-9
-43
-42
-5
-40
-50
-45
-29
-24
-38
-43
-3
-43
-29
-50
-24
-36
-28
-23
-4
-41
-16
-36
-52
-17
-22
-47
-14
-28
-41
-10
-17
-52
-3
-29
-11
-13
-19
-4
-42
-16
-5
-13
-24
-23
-13
-40
-16
-28
-42
-9
-217.625
15.022
21.737
23.404
12.124
14.610
10.343
13.292
-32.686
5.594
-8.150
24.748
4.600
-9.347
6.876
6.131
15.582
-3.423
-13.483
-19.724
4.754
-27.242
-4.990
-5.968
16.972
3.416
-6.075
-10.992
4.605
27.260
-29.439
-2.067
-1.376
7.983
6.168
-5.045
6.875
-9.347
16.523
20.673
21.802
-1.074
13.366
-3.321
20.625
7.631
-18.653
1.179
-7.132
3.717
-0.490
7.425
30.096
-4.987
-24.266
14.921
2.729
10.550
3.289
9.585
-12.687
14.890
11.388
-16.733
8
7
13
15
28
44
48
61
6
7
12
20
28
35
49
56
6
9
11
29
32
28
52
50
7
9
11
26
36
28
52
60
6
8
12
31
46
40
52
46
5
10
25
30
39
55
31
51
8
12
18
29
32
41
39
52
7
20
19
26
34
44
57
50
86
-27
2
1
1
0
0
0
0
-5
0
0
1
0
0
0
0
2
0
-1
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1.9.2.5
Run-length Encoding
1.9.2.6
Huffman
Finalement, ces 21 entiers sont convertis en une sequence binaire, elle-meme comprimee
par un encodage probabilistique de type Huffman.
1.9. INTRODUCTION A
87
-27 -5
0 -1
Exemple et artefacts
La compression JPEG etant basee sur une decomposition en blocs 8*8, lutilisation dune
quantification trop elevee (facteur de compression trop grand) peut faire apparatre la
structure en blocs sous-jacente `
a la decomposition, comme illustre `
a la Figure 1.51. Cette
structure devient visible pour des facteurs de compression avoisinant 10 dans le cas
dimages monochromes, et pour autant que lon agrandisse limage de facon `
a pouvoir
discerner ses pixels.
1.9.3
Malgre le fait que le standard JPEG offre dexcellentes performances en termes de compromis debit-distorsion `
a moyen et haut debits, les degradations encourues (effets de
blocs) deviennent inacceptables `
a bas debit, cest-`
a-dire en dessous de 0.25 bit/pixel.
Cest une des raisons pour laquelle une nouvelle norme de compression est en cours
delaboration, la norme JPEG2000. Celle-ci ne se base non plus sur la transformee DCT,
mais la DWT (Discrete Wavelet Transform), la transformee en ondelettes discr`ete. Son
implementation se fait au moyen dun codage sous-bande, dont le principe est repris dans
cette section ci-dessous.
1.9.3.1
Codage sous-bande
88
Original - 8bit/pixel
JPEG - 2bit/pixel
JPEG - 1bit/pixel
Dtail - 1bit/pixel
Transform
ee en ondelettes
(1.3)
1.9. INTRODUCTION A
89
CODER_hh
CODER_hl
CODER_lh
CODER_ll
x(n)
|()|2
d < +
||
(1.4)
o`
u () represente la transformee de Fourier de (t). Cette condition implique que la
transformee de Fourier de (t) doive sannuler en zero, ce qui revient `
a imposer que
(t) nait pas de composante continue. Cest cet aspect oscillatoire qui donna dailleurs
naissance `
a lappellation ondelette!
La transformee en ondelettes telle que decrite dans lequation (1.1) est hautement redondante, balayant de facon continue la double infinite des valeurs possibles pour s et
(en dautres mots, lensemble des fonctions decrites `
a lequation (1.3) ne forme pas une
base orthogonale). Afin de reduire cette redondance, les param`etres s et peuvent etre
discretises de la facon suivante:
t k0 sj0
1
)
j,k (t) = q (
sj0
sj0
(1.5)
90
1.9.3.3
Dans les annees 80, les travaux de notre compatriote Isabelle Daubechie ont permis de
montrer comment le codage sous-bande et la transformation en ondelettes etaient lies: et
de fait, le codage sous-bande nest rien dautre que limplementation dune transformee
en ondelettes particuli`ere. Cette equivalence sillustre au niveau spectral comme suit: les
facteurs de dilatation dyadiques qui decoulent de lequation (1.5) (s0 = 2), engendrent des
glissements et des compressions au niveau du spectre de londelette generatrice, comme
illustres `
a la Figure 1.53.
4 3
Figure 1.53 Influence des differents facteurs dechelle temporels sur le spectre de
londelette generatrice
Une decomposition spectrale equivalente peut etre obtenue par lintermediaire dun banc
de filtres passe-haut/passe-bas pour lequel chaque signal basse-frequence subit `
a son tour
une decomposition similaire. Cette equivalence est illustree `
a la Figure 1.54.
H
L
h
lh
llh
lll
2
2
lll llh
lh
1.9. INTRODUCTION A
91
1.9.3.4
Compression sous-bande
Original
Subband Coding
1.9.4
Codage vid
eo MPEG
1.9.4.1
G
en
eralit
es
Le format video tel que celui affiche par un ecran de television est defini par une succession de 25 images par seconde, chacune de ces images etant divisee en deux trames,
affichees `
a 1/50s dintervalle pour eviter des probl`emes de scintillement `
a lecran. Chaque
image poss`ede une resolution de 576*720. Le premier standard de video digitale CCIR601
date de 1982 et definissait `
a lepoque un flux de donnees non compresse `
a 216 Mbit/s!
Ce standard etait tout naturellement inimaginable pour la transmission de signaux TV
chez les particuliers, voire pire encore pour les teledistributeurs charges dacheminer des
92
1.9.4.2
Redondance et pr
ediction
1.9.4.3
Codage diff
erentiel
1.9.4.4
Compensation de mouvement
Dans le cas de mouvements de plus grande amplitude, soit de la camera, soit presents
dans la sc`ene que lon filme, lerreur de prediction peut etre fortement reduite en
travaillant par blocs de pixels. Pour chaque bloc de limage courante, lencodeur cherche
alors celui qui, dans limage precedente, lui correspond le mieux. Ce dernier sera alors
utilise comme predicteur. Afin que le decodeur puisse reconstruire de facon parfaite le
bloc courant, lencodeur doit lui fournir `
a present un vecteur de mouvement - cest-`
a-dire
la position relative du bloc predicteur par rapport au bloc courant - ainsi que lerreur
residuelle commise, si erreur il y a. Dans le meilleur des cas, cest `
a dire lorsque le
mouvement est une translation uniforme et que lencodeur `
a pu calculer le mouvement
exact du bloc entre deux images successives, lerreur de prediction est nulle. En general,
comme aucun mouvement nest rigoureusement uniforme, ou quun objet peut changer
daspect tout au long de son mouvement (differences declairage, par exemple), une
erreur de prediction non nulle sera transmise.
Lerreur de prediction - obtenue en soustrayant le bloc courant et sa meilleure prediction
- se presente sous la forme dun bloc egalement. Ce bloc derreur est comprime de facon
semblable `
a JPEG, cest-`
a-dire par la mise en cascade dune transformation DCT, un
1.9. INTRODUCTION A
93
quantificateur, un encodage run-length et Huffman. Tel est donc le principe sousjacent `
a
la norme MPEG.
1.9.4.5
Lerreur de prediction est primordiale pour pouvoir reconstruire le bloc courant. A priori,
cette reconstruction se doit detre parfaite, car rien nexclut que le bloc courant puisse `
a
son tour servir de predicteur dans limage qui suit. Sans reconstruction parfaite, une erreur se transmettrait dimage en image et, pire, samplifierait inexorablement. Or, lerreur
de prediction subit bel et bien une compression avec pertes, la cause en etant la quantification DCT, et la reconstruction du bloc courant nest pas parfaite. La parade `
a ce
probl`eme est heureusement relativement simple et consiste `
a implementer au sein meme
de lencodeur, un decodeur. Le codeur effectuera dorenavant sa recherche des meilleurs
blocs predicteurs non plus sur base de limage originale qui prec`ede, mais sur base de
celle telle que reconstruite par son decodeur interne, image identique `
a celle generee au
recepteur. Un tel codeur est schematise `
a la Figure 1.56.
VIDEO STREAM
ENCODER
quantized
DCT coef.
++
-
DCT
QUANT
RUN-LENGTH
HUFFMAN
MPEG STREAM
EMBEDDED DECODER
INV
QUANT
MOTION VECTORS
ESTIMATION
INV
DCT
MOTION
COMPENSATION
IMAGE MEM
(PREV. IMAGE)
+
+
+
motion vectors
1.9.4.6
Images I, P et B
94
vocable I (intra picture). A des fins de re-synchronisation du flux de donnees, les images
I sont generalement transmises deux fois par seconde mais leur nombre et leur frequence
peut donc varier pour accommoder les changements de sc`ene. Les images I necessitent
considerablement plus de bande passante que les images predites `
a partir dune image
passee precedemment decrites, ces derni`eres etant appelees images P (predicted pictures).
Un troisi`eme et dernier type dimages permet de solutionner le probl`eme de lapparition
de nouveaux objets. Il sagit des images B (bi-directionnaly predicted pictures) dont les
predictions au niveau de chaque bloc peuvent se faire non plus uniquement `
a partir dun
bloc passe mais egalement `
a partir dun bloc futur si besoin en est. Un resume de ces
differentes fonctionnalites est presente ci-dessous:
Images de type I: tous les blocs sont codes sans prediction, afin de permettre
au recepteur de se re-synchroniser apr`es une interruption de programme ou un
changement de sc`ene.
Images de type P: tous les blocs sont codes sur base dune prediction effectuee `
a
partir de blocs issus de limage I ou P qui prec`ede, mais peuvent egalement etre
codes localement en intra, si besoin en est.
Images de type B: les blocs sont codes sur base dune prediction effectuee `
a partir
de blocs issus de limage I ou P qui prec`ede, de limage I ou P qui suit, voire
une combinaison des deux. Ils peuvent egalement etre codes en intra si aucune
prediction valable na pu etre trouvee.
Un agencement possible dimages I, P et B illustre `
a la Figure 1.57.
B B P
B B P
B B P
B B I
1.9. INTRODUCTION A
95
1.9.4.7
Performance
Lalgorithme MPEG1 etait utilise dans les tout premiers Video CD, il y a une dizaine
dannees, et encodait la video sous un debit binaire `
a 1,5Mbit/s. La qualite dimage etait
mediocre - moins bonne quun enregistrement VHS - mais necessaire `
a lepoque pour
pouvoir commercialiser des films sur un support CD. Aujourdhui, la norme MPEG2
a pris la rel`eve et, `
a 2Mbit/s, offre une qualite comparable au Super-VHS. Les DVDs
utilisent la norme MPEG2 egalement, mais travaillent `
a debits binaires plus eleves. A 9.8
MBit/s, le debit maximal enregistre sur DVD, la qualite perceptive devient indiscernable
de la norme digitale originale CCIR601 echantillonnee `
a 216 MBit/s, soit ceci malgre un
facteur de compression de plus de 20!
97
Chapitre 2
Cryptographie
2.1
G
en
eralit
es
Letude generale des syst`emes de chiffrement sappelle la cryptologie. Cette science comporte deux disciplines: la cryptographie qui traite de la conception des syst`emes cryptographiques et la cryptanalyse qui elle, essaie de briser le secret introduit par le chiffrement.
Nous aborderons ici uniquement la cryptographie.
Les deux objectifs principaux de la cryptographie sont les suivants:
Le secret (Privacy): Il sagit de proteger les donnees transmises ou stockees afin de ne
les rendre accessibles quaux personnes autorisees (Figure 2.1). Le cryptanalyste
est `
a lecoute des messages transmis et essaie den connatre le contenu (de les
decrypter) sans y apporter de modification. (cryptanalyse passive: voir Figure 2.2).
Lauthentification et la signature (Authentication): Le but dun mecanisme
dauthentification est de deceler que le message recu provient bien de lexpediteur
presume mais aussi quil na pas ete modifie durant sa transmission. Ces deux
aspects portent en toute rigueur le nom dauthenticite (Figure 2.3) et dintegrite
du message recu (Figure 2.4) mais ils sont le plus souvent regroupes sous le vocable
unique dauthenticite.
Ceci est lie `
a la notion de cryptanalyse active par opposition `
a la cryptanalyse
passive: voir ci-apr`es.
Le cryptanalyste actif peut adopter deux attitudes:
envoyer un message illegitime dans lespoir quil sera considere comme authentique
(mascarade, impersonation). Il doit dejouer les mesures dauthentification;
intercepter un message legitime et y substituer un message different dans lespoir
que lalteration ne sera pas detectee (substitution). Il doit dejouer les mesures
dintegrite.
Bien quun mecanisme dauthentification permette de sassurer que le message recu provient de lexpediteur attendu, il ne permet pas den convaincre un tiers. Ceci conduit `
a
la notion de signature numerique.
Cette propriete est lequivalent de la signature manuscrite dun document. Elle permet,
`
a la reception dun message, de prouver que ce message a bien ete emis par la personne
presumee (et non par quelquun dautre) et ce, meme si la personne ayant emis ce message
nie lavoir fait!
Les militaires et les services diplomatiques sont `
a lorigine de lutilisation de la cryptographie. La generalisation dans les domaines aussi bien civils que militaires des syst`emes
98
CHAPITRE 2. CRYPTOGRAPHIE
ERALIT
2.1. GEN
ES
99
100
CHAPITRE 2. CRYPTOGRAPHIE
` CLE
SECRETE
`
2.2. LES SYSTEMES
(SYMETRIQUES)
A
101
2.2
2.2.1
Les syst`
emes (sym
etriques) `
a cl
e secr`
ete
Un peu dhistoire
2.2.1.1
Syst`
eme de Julius Caesar
2.2.1.2
Syst`
eme Vigen`
ere (cryptographe du XVI-`
eme si`
ecle)
La cle est un mot de r lettres. On utilise le meme procede que celui de Caesar mais
on utilise successivement `
a chaque pas de chiffrement les lettres du mot de la cle (aussi
considere comme cyclique).
Exemple
102
CHAPITRE 2. CRYPTOGRAPHIE
Texte en clair:
Cle:
Texte chiffre:
pape
sots
hsiw
On a:
Espace des cles: Zrq = Zr26 ;
1 cle = k0 k1 . . . kr1 ;
Ek0 k1 ...kr1 (m0 m1 . . .) = c0 c1 . . .;
cl = (ml + kl mod r ) mod 26.
2.2.1.3
Syst`
eme Vernam (one-time pad)
2.2.2
Syst`
emes bas
es sur des s
equences pseudo-al
eatoires
2.2.2.1
Principe
Il sagit en fait dune application du syst`eme Vernam mais avec un alphabet binaire
(streamcipher). On ajoute (modulo 2) `
a la sequence `
a chiffrer une sequence aleatoire
binaire. Si m est la sequence binaire en clair et k une sequence binaire aleatoire, le
message chiffre c est simplement:
c=mk
A la reception, la meme operation permet de retrouver m:
ck =m
Lutilisation dune cle k constituee dune suite binaire aleatoire de longueur egale `
a celle
du message presente de serieuses difficultes pratiques.
Le probl`eme de la longueur de la cle est contourne en engendrant cette derni`ere `
a laide
dun syst`eme logique base sur un registre `
a decalage (et donc deterministe). Ce syst`eme
logique engendre une sequence binaire (qui sera utilisee comme cle) `
a partir dun etat
initial choisi du registre aleatoire. Cet etat initial constitue en fait une esp`ece de germe
(appele cle de base) permettant dengendrer une cle de chiffrement beaucoup plus longue.
Nous appellerons cette derni`ere la sequence de chiffrement.
On obtient donc un fonctionnement schematise `
a la Figure 2.6
On comprend aisement que ce syst`eme necessite une synchronisation parfaite entre les
sequences (de chiffrement et de dechiffrement).
Le probl`eme se ram`ene donc `
a construire un syst`eme logique permettant dengendrer
`
a partir dune cle de base k0 de longueur m, une sequence binaire beaucoup plus
longue et ayant les caracteristiques aleatoires necessaires. Ces derni`eres seront precisees
ulterieurement. Etant
donne que le syst`eme logique est un automate fini,il ne peut
occuper quun nombre fini detats et donc la sequence de chiffrement ne pourra etre que
periodique. Cest pour cette raison que nous la qualifierons de pseudoaleatoire.
On constate en outre que le probl`eme de distribution des cles se reduit `
a celui de la
distribution des cles de base.
` CLE
SECRETE
`
2.2. LES SYSTEMES
(SYMETRIQUES)
A
103
Figure 2.6 Syst`eme de chiffrement base sur lutilisation dune sequence pseudoaleatoire.
2.2.2.2
Caract
eristiques dune suite p
eriodique pseudoal
eatoire
Avant de definir ces caracteristiques (enoncees par Golomb) precisions les notations et la
terminologie utilisees. Une suite (sequence) infinie (semi-infinie) est notee {si }i0 . Cette
suite est dite periodique (de periode p), si p est le plus petit entier fini tel que:
si+p = si
i 0
104
CHAPITRE 2. CRYPTOGRAPHIE
si p est pair
si p est impair
Remarque
Pour k = 0 on a que (k) = 1.
Si k 6= 0 et non multiple de p et si p est grand, alors on a que (k) 0.
Dun point de vue cryptographique, une suite pseudoaleatoire doit egalement presenter
dautres proprietes :
C1: la periode p de {si }i0 doit etre tr`es grande (par exemple 1050 );
C2: la suite {si }i0 doit pouvoir etre facilement engendree;
C3: la connaissance dune partie du texte en clair et de son correspondant chiffre (cest`
a-dire une partie de la suite {si }i0 ) ne doit pas permettre au cryptanalyste dengendrer lenti`erete de la suite {si }i0 .
2.2.3
Registre `
a d
ecalage `
a r
eaction lin
eaire
2.2.3.1
Introduction
Les registres `
a decalage `
a reaction lineaire (Linear Feedback Shift Register ou simplement LFSR) constituent un moyen simple de realiser des sequences pseudoaleatoires qui
presentent les caracteristiques G1 `
a G3 ainsi que les proprietes C1 et C2. Nous verrons egalement que la caracteristique C3 nest malheureusement pas satisfaite et quil
convient dutiliser des elements non-lineaires pour y remedier. La theorie des registres `
a
decalage `
a reaction non-lineaire est toutefois beaucoup moins bien etablie que celle de
leurs homologues lineaires.
2.2.3.2
Registre `
a d
ecalage avec r
eaction
Soit un registre `
a decalage `
a m cellules dont le contenu est note si . Ce nombre m na
evidemment rien `
a voir avec le symbole m representant le message `
a chiffrer; le texte ne
presente aucune ambigute `
a ce propos.
Le contenu de chaque cellule est utilise comme entree dune fonction f dont la valeur
constitue lentree de la cellule m 1. Cette fonction f sappelle fonction de retroaction.
La Figure 2.7 represente le registre `
a decalage avec sa fonction de retroaction `
a linstant
initial.
A chaque top dhorloge, il y a decalage du contenu du registre vers la gauche et la sortie
du circuit qui realise la fonction f devient le contenu de la cellule m 1.
La suite ainsi engendree est constituee par les contenus successifs de la cellule 0. Elle est
notee comme precedemment {si }i0 .
Si la fonction f est du type:
f = c0 sk c1 sk+1 . . . cm1 sk+m1 =
m1
X
i=0
ci sk+i
k 0,ci {0,1}
` CLE
SECRETE
`
2.2. LES SYSTEMES
(SYMETRIQUES)
A
105
m1
X
ci sk+i ,
k0
i=0
ci sk+i = 0,
k0
i=0
On remarquera que lon doit egalement supposer c0 = 1 sinon la cellule 0 naurait aucune
fonction si ce nest introduire un retard dune periode dhorloge.
Letat du syst`eme `
a letape k est constitue par le m-uple
s(k) = {sk ,sk+1 , . . . ,sk+m1 }
A titre dexemple, considerons le registre `
a 4 cellules (m = 4) de la Figure 2.9, avec
c0 = c1 = 1 en c2 = c3 = 0.
La suite des etats `
a partir de letat initial {1000} est reprise ci-dessous: On constate
dans cet exemple que le registre occupe tous les etats non nuls possibles (avec 4 cellules:
24 1 = 15) pour revenir `
a son etat initial et donc repartir pour une nouvelle periode
(p = 15).
106
CHAPITRE 2. CRYPTOGRAPHIE
Etape
k
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Contenu cellule 0
1
0
0
0
1
0
0
1
1
0
1
0
1
1
1
1
Dans cette suite detats, chaque etat est toujours suivi et precede des memes etats;
autrement dit chaque etat a toujours le meme predecesseur et le meme successeur. La
suite {si }i0 est lue dans la colonne 0.
Dans lexemple traite ici, la periode p = 2m 1 est maximale. Nous verrons ulterieurement
la condition sur la fonction f (lineaire) pour quil soit ainsi.
2.2.3.3
D
efinition dun g
en
erateur de s
equence pseudoal
eatoire
On parle de generateur de sequence pseudoaleatoire lorsque la suite {si }i0 engendree par
le registre `
a decalage (comportant m cellules) `
a reaction lineaire est de periode maximale
2m 1.
La consequence de cette definition est quun tel generateur parcourt cycliquement les
2m 1 etats non nuls differents quil est possible de former avec m bits.
Toute suite {si }i0 correspondant `
a un etat initial peut sobtenir par un simple decalage
`
a partir dune autre suite correspondant `
a un autre etat initial.
` CLE
SECRETE
`
2.2. LES SYSTEMES
(SYMETRIQUES)
A
2.2.3.4
107
Polyn
ome caract
eristique dun registre `
a d
ecalage `
a r
eaction
lin
eaire
Il est clair que ce sont les coefficients ci qui fixent les proprietes du syst`eme logique. Cest
pourquoi on definit le polyn
ome caracteristique du syst`eme comme etant:
h(x) = c0 c1 x c2 x2 . . . cm1 xm1 cm xm =
m
X
ci xi
i=0
avec c0 = cm = 1.
On definit egalement le polyn
ome caracteristique reciproque:
1
h (x) = xm h
= c0 xm c1 xm1 . . . cm1 x cm
x
De mani`ere general, pour tout polyn
ome f (x) = f1 (x).f2 (x), on a:
f (x) = [f1 (x).f2 (x)] = f1 (x).f2 (x)
On appelle serie de puissance ou fonction generatrice associee `
a la suite {si }i0 la serie:
S(x) =
+
X
si xi
i=0
2.2.3.5
ci sk+i = 0,
k0
i=0
o`
u les coefficients ci ,i = 1,2, . . . ,m definissent un polyn
ome caracteristique h(x).
Les differentes suites de (h) sont donc toutes caracterisees par le meme polyn
ome caracteristique h(x) et ne diff`erent que par les conditions initiales (s0 ,s1 , . . . ,sm1 ).
On demontre aisement que cet ensemble constitue un espace vectoriel `
a m dimensions.
Une base de cet espace vectoriel est constituee par les suites:
{si }
Position
0
0
...
...
0
i-1
1
i
0
i+1
...
...
0
m-1
sm
...
sm+1
...
o`
u i = 0,1, . . . ,m 1 et les sk (k m) sont determines par la relation de recurrence.
Ces suites sont manifestement lineairement independantes et toute suite de (h) peut
sexprimer par une combinaison lineaire de cette base. Les coefficients de la combinaison
lineaire `
a considerer sont ceux qui permettent dengendrer le vecteur (s0 ,s1 , . . . ,sm1 )
des conditions initiales de la suite en question `
a partir des vecteurs:
Vector
Position
o`
u i = 0,1, . . . ,m 1.
0 ...0 1 0 ...0
.........i .........
108
CHAPITRE 2. CRYPTOGRAPHIE
2.2.3.6
2.2.3.6.1
P
eriode dun polyn
ome h(x) Pour tout polynome h(x) tel que
h(0) = 1, il existe un entier positif s tel que h(x) divise xs 1 (que lon peut aussi ecrire
xs 1 si les polyn
omes sont definis sur Z2 ).
La plus petite valeur de s satisfaisant `
a cette propriete sappelle la periode de h(x).
2.2.3.6.2 Cas du polyn
ome irr
eductible (d
efini sur Z2 ) Si h(x) est
irreductible et de degre m, sa periode divise 2m 1. Si elle est egale `
a 2m 1, le
polyn
ome h(x) est appele primitif.
2.2.3.6.3 Nombre de polyn
omes primitifs de degr
e m Le nombre de polyn
omes de degre m est donne par (2m 1)/m, o`
u (x) est la fonction dEuler.
2.2.3.6.4 Relations entre la p
eriode dune suite engendr
ee par un
LFSR et la p
eriode de son polyn
ome caract
eristique
Th
eor`
eme 1
Si la periode du polyn
ome caracteristique h(x) (de degre m) dun registre `
a decalage `
a
reaction lineaire est egale `
a s, alors toute suite {si }i0 (h) a une periode qui divise s.
Th
eor`
eme 2
Si le polyn
ome caracteristique h(x) dun registre `
a decalage `
a reaction lineaire est un
polyn
ome irreductible de degre m et de periode s, alors toute suite {si }i0 (h) a une
periode egale `
a s.
Commentaire
Si h(x) est un polyn
ome primitif (cest-`
a-dire s = 2m 1), le registre `
a decalage `
a
reaction lineaire constitue un generateur de sequence pseudoaleatoire;
On demontre egalement le theor`eme inverse du theor`eme 2, ce qui conduit `
a la
conclusion generale suivante:
Un registre `
a decalage `
a reaction lineaire constitue un generateur de sequences
pseudoaleatoires si et seulement si son polyn
ome caracteristique h(x) est un polyn
ome primitif.
Il sensuit quil existe (2m 1)/m registres `
a decalages (comportant m cellules)
`
a reaction lineaire differents capables dengendrer des sequences pseudoaleatoires.
2.2.3.7
V
erification des crit`
eres de stochasticit
e dune s
equence pseudoal
eatoire
` CLE
SECRETE
`
2.2. LES SYSTEMES
(SYMETRIQUES)
A
109
mot nul napparat pas dans la sequence pseudoaleatoire). La periode p est ici egale `
a
2m 1 (impaire).
Do`
u, le nombre de 1 sur une periode de la sequence, soit (N1 ), vaut:
N1 =
(p + 1)
1 m
2m 1
1
2 =
+ =
2
2
2
2
2.2.3.7.3
(p 1)
2m
2m 1
1
1=
+ 1=
2
2
2
2
Crit`
ere G2 Nous ne verifierons pas explicitement ce crit`ere; il est ce-
pendant satisfait.
2.2.3.7.4 Crit`
ere G3 Si la suite {si }i0 (h), la suite {si+k }i0 appartient
egalement `
a (h) (k entier non multiple de la periode p de la suite). (h) etant un
espace vectoriel, {si si+k }i0 appartient aussi `
a (h).
Le nombre A de concordances sur une periode entre les elements des suites {si }i0 et
{si+k }i0 est donne par le nombre de 0 de la suite {si si+k }i0 sur cette meme periode,
`
a savoir 2m1 1.
De la meme facon le nombre D de discordances est donne par le nombre de 1 de la suite
{si si+k }i0 , `
a savoir 2m1 .
Donc:
AD
1
(k) =
=
pour k non multiple de p.
p
p
2.2.3.8
V
erification des crit`
eres cryptographiques dune s
equence
pseudoal
eatoire
2.2.3.8.1
Crit`
ere C1 A titre dexemple, notons quun registre `a m = 166 cellules
fournit une periode de lordre de 1050 . On peut donc considerer que ce crit`ere est satisfait.
2.2.3.8.2
Crit`
ere C2 Ce crit`ere est egalement satisfait.
2.2.3.8.3
Crit`
ere C3 Ce crit`ere nest malheureusement pas satisfait. La connaissance de 2m symboles successifs de la sequence (cest-`
a-dire dune toute petite partie de la
periode, `
a savoir 332 symboles sur 1050 dans lexemple ci-dessus) permet au cryptanalyste
de determiner les coefficients de reaction ci et donc toute la sequence pseudoaleatoire.
Supposons en effet connus les 2n elements suivants de la sequence pseudoaleatoire :
sk ,sk+1 , . . . ,sk+2n1
Le cryptanalyste peut donc ecrire le syst`eme suivant de n equations `
a n inconnues:
sk
sk+1
..
.
sk+n1
sk+1
sk+2
...
...
sk+n
...
sk+n1
sk+n
sk+2n2
c0
c1
..
.
cn1
sk+n
sk+n+1
=
..
.
sk+2n1
Comme n etats successifs quelconques sont des etats independants, ces n equations sont
independantes et le syst`eme peut etre resolu pour determiner les n coefficients ci .
110
CHAPITRE 2. CRYPTOGRAPHIE
2.2.4
2.2.4.1
Historique
2.2.4.2
2.2.4.3
Description de lalgorithme
2.2.4.3.1 Transformation de la cl
e secr`
ete en 16 sous-cl
es de 48 symboles La clef est constituee par un mot binaire de 64 symboles binaires dont (seulement) 56 sont choisis arbitrairement. La difference entre 64 et 56 est constitue par 8
symboles de parite.
La clef compl`ete k est donc constituee de 8 groupes de 7 symboles + 1 symbole de parite.
Ce dernier est choisi de facon telle que le poids de chaque byte (un mot de 8 moments
binaires) soit impair.
Cette clef est utilisee pour engendrer 16 mots binaires de 48 moments (les 16 sous-clefs),
notees k1 ,k2 , . . . ,k16 . La methode utilisee pour cela est reprise `
a la Figure 2.10.
Etape
1
La cle k constituee des 56 symboles utiles (cest-`
a-dire hors symboles de parite) subit
des permutations selon les r`egles de permutation (notees a(k)) du Tableau 2.1 (lire: le
symbole 57 de lentree vient en premi`ere position de la sortie, le symbole 49 de lentree
vient en deuxi`eme position de la sortie, etc. . . ).
` CLE
SECRETE
`
2.2. LES SYSTEMES
(SYMETRIQUES)
A
49
58
2
11
55
62
6
13
41
50
59
3
47
54
61
5
33
42
51
60
39
46
53
28
25
34
43
52
31
38
45
20
17
26
35
44
23
30
37
12
9
18
27
36
15
22
29
4
111
112
CHAPITRE 2. CRYPTOGRAPHIE
Etape
2
Cette etape fournit les 16 mots (de longueur 48) k1 ,k2 , . . . ,k1 6. Chaque mot ki est obtenu
en appliquant la fonction b definie au Tableau 2.2 au mot de 56 symboles note (li ri ).
17
28
19
7
52
40
49
42
11
15
12
27
31
51
39
50
24
6
4
20
37
45
56
36
1
21
26
13
47
33
34
29
5
10
8
2
55
48
53
32
2.2.4.3.2
s0
s1
s2
s3
14
0
4
15
4
15
1
12
13
7
14
8
1
4
8
2
2
14
13
4
15
2
6
9
11
13
2
1
8
1
11
7
3
10
15
5
10
6
12
11
6
12
9
3
12
11
7
14
5
9
3
10
9
5
10
0
0
3
5
6
7
8
0
13
` CLE
SECRETE
`
2.2. LES SYSTEMES
(SYMETRIQUES)
A
113
2.2.4.3.3 La fonction f (ri1 ,ki ) Une autre transformation notee f doit encore
etre definie prealablement `
a la presentation de lalgorithme complet.
Cette fonction f est appliquee comme suit sur un mot note ri1 de longueur 32 bit et
sur la sous-cle ki de longueur 48 bits (Figure 2.11). Elle fournit un mot de longueur 32
bits note f (ri1 ,ki ).
Etape
1
Transformer le mot ri1 de longueur 32 par la fonction g (voir Tableau 2.4) qui fournit un
mot g(ri1 ) de longueur 48 bits. Ceci implique que certains symboles de ri1 se rep`etent
(par exemple le symbole numero 32 de ri1 vient en positions 1 et 47 de g(ri1 )).
114
CHAPITRE 2. CRYPTOGRAPHIE
Table 2.4 Fonction g.
32
4
8
12
16
20
24
28
1
5
9
13
17
21
25
29
2
6
10
14
18
22
26
30
3
7
11
15
19
23
27
31
4
8
12
16
20
24
28
32
5
9
13
17
21
25
29
1
Etape
2
Calculer g(ri1 ) ki (addition dans Z248 ) et diviser le mot resultant de longueur 48 en 8
blocs de longueur 6 notes bi (avec i = 1,2, . . . ,8).
Etape
3
Appliquer `
a chaque bloc bi (de longueur 6) la transformation S avec la matrice Si o`
u
i = 1,2, . . . ,8. Le resultat est un mot de longueur 32 bits (8 x 4 bits).
Etape
4
Appliquer `
a ce mot de 32 bits la permutation h definie par le Tableau 2.5.
7
15
8
13
20
23
24
30
21
26
14
6
29
5
32
22
12
18
27
11
28
31
3
4
17
10
9
25
2.2.4.3.4
de
chiffrement
est
Etape
1
Appliquer sur v la permutation e reprise au Tableau 2.6. Le symbole 58 de v vient en
position 1, le symbole 50 de v en position 2, etc. . .
Le resultat (un mot de longueur 64) note e(v) est separe en 2 mots de 32 symboles notes
l0 et r0 :
e(v) = l0 r0
Etape
2
` CLE
SECRETE
`
2.2. LES SYSTEMES
(SYMETRIQUES)
A
115
116
CHAPITRE 2. CRYPTOGRAPHIE
Table 2.6 La permutation e.
58
60
62
64
57
59
61
63
50
52
54
56
49
51
53
55
42
44
46
48
41
43
45
47
34
36
38
40
33
35
37
39
26
28
30
32
25
27
29
31
18
20
22
24
17
19
21
23
10
12
14
16
9
11
13
15
2
4
6
8
1
3
5
7
Etape
3
Permuter les deux moities du dernier mot l16 r16 obtenu et appliquer `
a r16 l16 la permutation e1 definie au Tableau 2.7.
8
7
6
5
4
3
2
1
48
47
46
45
44
43
42
41
16
15
14
13
12
11
10
9
56
55
54
53
52
51
50
49
24
23
22
21
20
19
18
17
64
63
62
61
60
59
58
57
32
31
30
29
28
27
26
25
Le mot de longueur 64 bit ainsi obtenu est le mot chiffre correspondant au mot en clair
v (egalement de longueur 64).
2.2.5
2.2.6
Introduction
Dans ce paragraphe nous allons decrire lalgorithme Rijndael. Dabord les bases
mathematiques necessaires `
a une bonne comprehension des specifications sont presentees,
suivi par les idees conceptuelles et la description meme.
` CLE
SECRETE
`
2.2. LES SYSTEMES
(SYMETRIQUES)
A
2.2.7
117
Bases math
ematiques
2.2.7.1
Le champ GF(28 )
Les elements dun champ fini peuvent etre representes de facons differentes. Pour chaque
puissance dun nombre premier, il nexiste quun seul champ fini; cest pour cette raison
l`
a que toutes les representations de GF(28 ) sont isomorphes. Nous avons opte ici pour la
representation polyn
omiale.
Un byte b, consistant des bits b7 b6 b5 b4 b3 b2 b1 b0 , est considere comme un polyn
ome avec
coefficients en {0,1}:
b7 x7 + b6 x6 + b5 x5 + b4 x4 + b3 x3 + b2 x2 + b1 x + b0
Exemple
Le byte avec valeur hexadecimale 57 (representation binaire 01010111), correspond au
polyn
ome:
x6 + x4 + x2 + x + 1
118
CHAPITRE 2. CRYPTOGRAPHIE
x13 + x11 + x9 + x8 + x7 +
x7 + x5 + x3 + x2 + x +
x6 + x4 + x2 + x + 1
x13 + x11 + x9 + x8 + x6 + x5 + x4 + x3 + 1
x13 + x11 + x9 + x8 + x6 + x5 + x4 + x3 + 1
modulo
=
x8 + x4 + x3 + x + 1
x7 + x6 + 1
2.2.7.1.3
nous obtenons:
b7 x8 + b6 x7 + b5 x6 + b4 x5 + b3 x4 + b2 x3 + b1 x2 + b0 x
xb(x) est obtenu en reduisant le resultat obtenu ci-dessus modulo m(x). Si b7 = 0,
alors cette reduction ne modifie en rien le polyn
ome original. Si b7 = 1, alors il faut
soustraire m(x) du polyn
ome original (cest-`
a-dire executer un XOR). Il sensuit que la
multiplication par x (ce qui est equivalent au 02 hexadecimale), peut etre implementee
au niveau du byte comme une operation de decalage vers la gauche, suivi par un XOR
conditionnel (dependant de la valeur de b7 ) au niveau du bit avec la valeur hexadecimale
1B. Nous noterons cette operation comme suit:
b = xtime(a)
Dans un hardware specifique, xtime necessite que 4 XORs. En additionnant des resultats
intermediaires, une multiplication par une constante arbitraire peut etre implementee.
Exemple: 57.13 = F E
57.02 = xtime(57) = AE
57.04 = xtime(AE) = 47
57.08 = xtime(47) = 8E
57.10 = xtime(8E) = 07
57.13 = 57.(01 02 10) = 57 AE 07 = F E
` CLE
SECRETE
`
2.2. LES SYSTEMES
(SYMETRIQUES)
A
2.2.7.2
119
Polyn
omes avec des coefficients en GF(28 )
b(x) = b3 x3 + b2 x2 + b1 x + b0
a0 b0
c1
a1 b0 a0 b1
c2
a2 b0 a1 b1 a0 b2
c3
a3 b0 a2 b1 a1 b2 a0 b3
c4
a3 b1 a2 b2 a1 b3
c5
a3 b2 a2 b3
c6
a3 b3
Il est clair que c(x) ne peut plus etre represente par un vecteur de 4 bytes. En reduisant
c(x) modulo un polyn
ome de degre 4, le resultat peut etre reduit `
a un polyn
ome de degre
inferieur `
a 4. En Rijndael ceci seffectue moyennant le polyn
ome:
M (x) = x4 + 1
Puisque
xj mod x4 + 1 = xj
mod 4
le produit modulaire de a(x) et b(x), note comme d(x) = a(x) b(x), peut sexprimer
comme suit:
d(x) = d3 x3 + d2 x2 + d1 x + d0
avec:
d0
a0 b0 a3 b1 a2 b2 a1 b3
d1
a1 b0 a0 b1 a3 b2 a2 b3
d2
a2 b0 a1 b1 a0 b2 a3 b3
d3
a3 b0 a2 b1 a1 b2 a0 b3
d0
a0 a3 a2 a1
b0
d1 a1 a0 a3 a2 b1
d2 = a2 a1 a0 a3 b2
d3
a3 a2 a1 a0
b3
120
CHAPITRE 2. CRYPTOGRAPHIE
REMARQUE:
x4 + 1 nest pas un polyn
ome irreductible sur le champ fini GF(28 ), de facon `
a ce que
la multiplication avec un polyn
ome (quelconque) fixe nest pas necessairement inversible!
Dans lalgorithme Rijndael on a opte pour un polyn
ome qui permet un inverse.
2.2.7.2.1
nous obtenons:
b3 x4 + b2 x3 + b1 x2 + b0 x
x b(x) est obtenu en reduisant le resultat obtenu ci-dessus modulo x4 + 1. Ceci donne:
b2 x3 + b1 x2 + b0 x + b3
La multiplication par x est equivalent avec la multiplication par une matrice comme
presentee ci-dessus, o`
u tous les ai = 00, sauf a1 = 01. Supposons que c(x) = x b(x).
Nous avons alors:
c0
00 00 00 01
b0
c1 01 00 00 00 b1
c2 = 00 01 00 00 b2
c3
00 00 01 00
b3
Ceci signifie donc que la multiplication par x, ou par des puissances de x, revient `
a une
decalage cyclique des bytes `
a linterieur du vecteur.
2.2.8
Les id
ees conceptuelles
Les trois crit`eres utilises lors du concept de Rijndael sont les suivants:
resistance contre toutes les attaques connues;
vitesse et compacite du code pour un eventail tr`es large de machines;
simplicite du concept.
Dans le plupart des algorithmes de chiffrement la transformation de ronde (cest le nom
pour une seule iteration) poss`ede une structure de type Feistel (cest par exemple le
cas pour DES). Dans cette structure on passe typiquement une partie des bits des etats
intermediaires sans pour autant quils soient modifiesvers une autre position. La transformation de ronde de lalgorithme Rijndael na pas de structure Feistel. A la place, la transformation de ronde en Rijndael consiste en trois transformations differentes reversibles
uniformes qui sont appelees les couches. Avec uniform on veut dire ici que chaque bit
dun certain etat est traite de facon similaire (et ceci est different de ce qui se passe dans
une structure de type Feistel).
Les choix specifiques pour les differentes couches reposent pour une tr`es large partie sur
lapplication de ce quon appelle la strategieWide Trail, une methode conceptuelle qui
est capable de resister `
a la cryptanalyse lineaire et differentielle. Dans la strategie Wide
Trail, chaque couche a sa propre fonction:
La couche de melange lineaire: garantit une large diffusion sur plusieurs rondes;
La couche non-lineaire: application parall`ele de transformations S qui ont des proprietes non lineaires optimales worst-case;
La couche daddition de cle: un XOR simple de la cle de ronde avec letat intermediaire.
Avant lexecution de la premi`ere ronde on effectue dej`
a une addition avec la cle de la
ronde. La motivation en est la suivante. Chaque couche apr`es laddition avec la derni`ere
cle dans lalgorithme de chiffrement (ou avant la premi`ere dans le context dune attaque
avec un texte clair connu) peut simplement etre enlevee, sans la connaissance de la cle et
` CLE
SECRETE
`
2.2. LES SYSTEMES
(SYMETRIQUES)
A
121
de ce fait l`
a, une telle couche ne contribue pas `
a la securite de lalgorithme de chiffrement
(un exemple de ce genre de couches inutiles sont les permutations initiales et finales dans
lalgorithme DES).
Afin de rendre lalgorithme de chiffrement et son inverse plus semblable en structure, la
couche de melange lineaire de la derni`ere ronde est differente que la couche de melange
utilisee dans les autres rondes. On peut demontrer que ceci ninfluence en aucun cas
les performances de lalgorithme de chiffrement. Ceci est comparable avec labsence de
loperation dans le DES qui consiste en lechange `
a la fin de la derni`ere ronde entre la
partie gauche et la partie droite du mot de 64-bit.
2.2.9
Sp
ecification
2.2.9.1
L
etat, la cl
e de chiffrement et le nombre de rondes
Les differentes transformations op`erent sur le resultat intermediaire que lon appelle letat.
Letat peut etre represente comme un tableau rectangulaire de bytes. Ce tableau se
compose de quatre lignes; le nombre de colonnes est note N b et est egal `
a la longueur de
bloc divise par 32 (voir Tableau 2.8).
a0,1
a1,1
a2,1
a3,1
a0,2
a1,2
a2,2
a3,2
a0,3
a1,3
a2,3
a3,3
a0,4
a1,4
a2,4
a3,4
a0,5
a1,5
a2,5
a2,5
La cle de chiffrement peut de facon analogue etre representee comme un tableau rectangulaire composee de quatre lignes. Le nombre de colonnes est ici note N k et est egal `
a
la longueur de cle divise par 32 (voir Tableau 2.9).
k0,1
k1,1
k2,1
k3,1
k0,2
k1,2
k2,2
k3,2
k0,3
k1,3
k2,3
k3,3
A certains instants ces blocs sont egalement consideres comme des suites unidimensionnelles de vecteurs composes de 4 bytes, o`
u chaque vecteur se compose de
la colonne correspondante de la representation avec le tableau rectangulaire. Ces suites
uni-dimensionnelles peuvent donc avoir des longueurs de4, 6, ou 8 vecteurs de 4-bytes et
les indices correspondantes sont alors (0 . . . 3, 0 . . . 5, 0 . . . 7). Un vecteur `
a 4-byte est
parfois appele mot.
122
CHAPITRE 2. CRYPTOGRAPHIE
2.2.9.2
Nb = 4
10
12
14
Nb = 6
12
12
14
Nb = 8
14
14
14
La transformation de ronde
` CLE
SECRETE
`
2.2. LES SYSTEMES
(SYMETRIQUES)
A
123
y0
y1
y2
y3
y4
y5
y6
y7
1
1
1
1
1
0
0
0
0
1
1
1
1
1
0
0
0
0
1
1
1
1
1
0
0
0
0
1
1
1
1
1
1
0
0
0
1
1
1
1
1
1
0
0
0
1
1
1
1
1
1
0
0
0
1
1
1
1
1
1
0
0
0
1
x0
x1
x2
x3
x4
x5
x6
x7
1
1
0
0
0
1
1
0
2.2.9.2.2
C1
1
1
1
C2
2
2
3
C3
3
3
4
2.2.9.2.3
124
CHAPITRE 2. CRYPTOGRAPHIE
b0
02 03
b1 01 02
=
b2 01 01
b3
03 01
01
03
02
01
01
a0
01
a1
03 a2
02
a3
2.2.9.2.4
2.2.9.3
Le sch
ema de cl
e
2.2.9.3.1
Extension de la cl
e de chiffrement La cle etendu est une suite unidimensionnelle de mots de 4-bytes et est notee W [N b (N r + 1)]. Les N k premiers mots
contiennent la cle de chiffrement. Tous les autres mots sont defini de facon recursive en
termes de mots dindices plus petits. En effet, chaque mot successif W [i] est egal `
a lXOR
du mot precedent W [i 1] et du mot W [i N k] qui venait N k positions avant.
La fonction dextension de la cle depend de la valeur de N k: il existe une version pour
N k 6 et une version pour N k > 6.
2.2.9.3.2
S
election de la cl
e de ronde La cle de ronde i est donnee par le
2.2.9.4
Algorithme de chiffrement
` CLE
PUBLIQUE
2.3. LES SYSTEMES
(ASYMETRIQUES)
A
2.3
2.3.1
125
Les syst`
emes (asym
etriques) `
a cl
e publique
Introduction
126
CHAPITRE 2. CRYPTOGRAPHIE
2.3.2
D
efinitions
2.3.3
Principes g
en
eraux des syst`
emes `
a cl
e publique
2.3.3.1
Chiffrement - d
echiffrement
` CLE
PUBLIQUE
2.3. LES SYSTEMES
(ASYMETRIQUES)
A
127
D [E(m,ki ),li ] = m
ki est la cle publique cest-`
a-dire quelle est publiee et disponible pour tous (fichier des
cles publiques).
Si un utilisateur Uj souhaite envoyer un message chiffre `
a lutilisateur Ui , il utilise la
procedure suivante:
Uj recherche dans le fichier des cles publiques la clef ki de Ui ;
Uj chiffre son message m en utilisant lalgorithme de chiffrement E assorti de la
cle ki . Le cryptogramme envoye sur la voie de transmission non protegee est:
c = E(m,ki )
A la reception, Ui utilise lalgorithme de dechiffrement D et sa cle secr`ete li pour
dechiffrer c:
D(c,li ) = D [E(m,ki ),li ] = m
La securite du syst`eme repose sur les proprietes suivantes des fonctions E et D (outre la
propriete P1).
Propri
et
e P2a:
m et ki etant donnes, il est aise de calculer c = E(m,ki ).
Propri
et
e P2b:
c et li etant donnes, il est aise de calculer m = D(c,li ).
Propri
et
e P3:
Si seul c est connu, il est pratiquement impossible de trouver m.
Les proprietes P2a et P3 impliquent lutilisation dune fonction pratiquement non inversible. Lajout de la propriete P2b implique cependant quil faille trouver une fonction
conditionnellement inversible!
2.3.3.2
Signature num
erique
Au lieu de la propriete P1, on exige ici la propriete suivante qui devra permettre lauthentification.
Propri
et
e P4:
E [D(m,lj ),kj ] = m j
Si un utilisateur Uj veut envoyer un message m `
a Ui , message muni de sa signature, il
proc`ede comme suit.
Uj utilise sa cle secr`ete lj et lalgorithme de dechiffrement D pour realiser le message
c. Le message envoye sur la voie de transmission non protegee est alors:
c = D(m,lj )
A la reception, Ui utilise lalgorithme de chiffrement E et la cle publique kj de Uj
afin de retrouver m:
E(c,kj ) = E [D(m,lj ),kj ] = m
La validite de la signature vient de la propriete P5 suivante, qui remplace la propriete
P3.
Propri
et
e P5:
128
CHAPITRE 2. CRYPTOGRAPHIE
Etant
donne m et lj , il est aise de calculer c = D(m,lj ).
Propri
et
e P2b:
Etant
donne c et kj , il est aise de calculer m = E(c,kj ).
2.3.3.3
2.3.3.4
Conclusion
Les principes generaux exposes ci-dessus mettent en evidence les points suivants.
Le probl`eme de la distribution dune cle secr`ete est inexistant puisque chaque
utilisateur fabrique sa propre cle secr`ete;
Le probl`eme de la signature numerique peut etre inclus harmonieusement dans un
algorithme general de chiffrement et de signature.
Plusieurs applications de ces principes generaux ont ete proposees depuis 1976. Citons:
Le code RSA (1978) qui utilise la difficulte de factoriser un nombre tr`es grand en
un produit de 2 nombres premiers;
Le syst`eme de Mc Eliece (1978) qui se base sur lutilisation dun code detecteur
et correcteur derreurs, le code de Goppa (derives des codes BCH: voir chapitre
suivant);
` CLE
PUBLIQUE
2.3. LES SYSTEMES
(ASYMETRIQUES)
A
129
2.3.4
Le syst`
eme cryptographique RSA
2.3.4.1
Proc
edure de chiffrement - d
echiffrement
Etape
1:
Chaque utilisateur Ui choisit deux grands nombres premiers pi et qi et calcule ni = pi .qi
(grand signifie ici 100 chiffres decimaux pour chaque nombre premier). On note (ni ) la
fonction dEuler qui, puisque pi et qi sont premiers, vaut:
(ni ) = (pi 1)(qi 1)
Etape
2:
Chaque utilisateur Ui doit trouver un entier ei (grand) qui soit premier avec lentier
(ni ). Le plus grand diviseur commun de ei et de (ni ) doit donc etre egal `
a 1 et en plus
nous avons comme condition supplementaire que:
1 < ei < (ni )
Etape
3:
Chaque utilisateur Ui doit trouver lentier unique di tel que:
ei .di = 1 [mod (ni )]
o`
u:
1 < di < (ni )
La cle publique ki est constituee par ki = {ni ,ei } et la cle secr`ete li est alors li = di .
Les nombres premiers pi et qi ninterviennent plus mais ne peuvent bien s
ur ne pas etre
publies.
2.3.4.1.2 Proc
edure de chiffrement Si lutilisateur Uj souhaite envoyer un
message chiffre `
a lutilisateur Ui , il proc`ede comme suit.
a savoir ki = {ni ,ei };
1. Il recherche la cle publique de Ui , `
2. Il represente son message m (eventuellement des blocs successifs de m) par un
entier de lensemble {1,2, . . . ,ni }. Soit mb la representation dun bloc de m;
3. Il envoie le texte code:
c = mebi (mod ni )
130
2.3.4.1.3
CHAPITRE 2. CRYPTOGRAPHIE
Proc
edure de d
echiffrement Lutilisateur Ui dechiffre le message
recu en calculant:
2.3.4.2
mb = cdi (mod ni )
Exemple
Supposons que nous elaborons notre propre cle en choisissant une paire de nombres
premiers (beaucoup trop petits pour assurer la securite cryptographique mais choisis tels
pour la convenance).
2.3.4.2.1
Elaboration
de cl
e
Etape
1:
p = 47,q = 59 n = pq = 2773
do`
u:
(n) = (p 1)(q 1) = 2668
Etape
2:
Trouver un entier e, (1 < e < (n)), premier avec (n) = 2668; soit e = 157.
Etape
3:
Trouver lunique entier d, (1 < d < (n)), tel que:
e.d = 1 [mod (n) = 2668]
soit: d = 17.
Notre cle publique k est donc k = {2773; 157} et notre cle secr`ete est l alors l = 17.
2.3.4.2.2
Proc
edure de chiffrement Soit `a chiffrer le message m suivant:
m = Ceci est du chinois
2.3.4.2.3
Proc
edure de d
echiffrement Le premier bloc c1 par exemple est
dechiffre en calculant:
` CLE
PUBLIQUE
2.3. LES SYSTEMES
(ASYMETRIQUES)
A
2.3.4.3
131
La plupart des notions mathematiques utilisees dans ce chapitre rel`event dune branche
des mathematiques appelee theorie des nombres.
2.3.4.3.1
Probl`
eme 1 Trouver deux nombres premiers p et q comprenant une
centaine de chiffres. Ceci peut seffectuer par une procedure dessais et erreurs et par
application de lalgorithme de Solovay et Strassen (pm).
On peut se demander si la probabilite dobtenir un nombre premier en choisissant au
hasard un nombre de 100 chiffres (evidemment impair!) est grande. La reponse `
a cette
question est fournie par le theor`eme suivant.
Th
eor`
eme
Soit la fonction (x) = |{1 p x|p = priemgetal}| o`
u |A| signifie la cardinalite de
lensemble A. (x) est donc le nombre de nombres premiers inferieurs ou egaux `
a x. On
a:
(x) ln x
lim
=1
x
x
Pratiquement, pour x grand:
x
(x) '
ln x
Calculons par exemple la fraction de nombres premiers parmi les nombres impairs de 100
chiffres:
(10100 ) (1099 )
10100 / ln 10100 1099 / ln 1099
1
'
'
nombre de nombres impaires de 100 chiffres
(10100 1099 )/2
115
Il faudra donc en moyenne verifier 115 fois si le nombre choisi de 100 chiffres (pris au
hasard) est premier.
2.3.4.3.2 Probl`
eme 2 Trouver un entier e premier avec (n) = (p 1)(q 1). Il
suffit de choisir e premier et superieur `
a max(p,q).
2.3.4.3.3
Probl`
eme 3 Trouver lunique entier d tel que:
e.d = 1 [mod (n)]
Cet entier est unique et peut se calculer par application de lalgorithme dEuclide etendu.
Rappelons que lalgorithme dEuclide permet de calculer le plus grand commun diviseur
(PGCD) de deux entiers a et b.
De plus, a,b N, des entiers et uniques tels que::
a + b = PGCD(a,b)
Lalgorithme dEuclide etendu permet, en outre le calcul du PGCD (a,b), dobtenir et
(voir annexe A).
Dans le cas present nous avons la correspondence suivante:
a
(n)
PGCD(a,b)
PGCD(e,(n)) = 1
Il vient donc:
a + b = de + (n) = 1
ou encore:
de = 1 [mod (n)] avec d unique
132
CHAPITRE 2. CRYPTOGRAPHIE
2.3.4.4
Propri
et
es de lalgorithme
2.3.4.4.1
Propri
et
e P1 On peut demontrer (pm) que:
D cd mod n = mb indien c = meb mod n
cest-`
a-dire que les operations de chiffrement et de dechiffrement sont bien inverses lune
de lautre.
2.3.4.4.2 Propri
et
e P2 Les algorithmes de chiffrement et de dechiffrement sont
aises `
a calculer si la cle publique (n,e) et la cle secr`ete (n,d) sont connues.
2.3.4.4.3 Propri
et
e P3 La fonction conditionnellement inversible fz (x) est ici
c = fz (mb ) = meb mod n.
On peut demontrer que, moyennant la connaissance de la cle secr`ete (n,d), cette fonction
sinverse aisement en calculant fz1 (c) = cd mod n.
d peut se calculer si e et (n) sont connus, cest-`
a-dire puisque (n) = (p 1)(q 1), si
e, p, et q le sont.
La connaissance indispensable pour pouvoir inverser fz (la trappe ou la br`eche) est donc
constituee par:
z = {e,p,q}
Le probl`eme du cryptanalyste est donc (puisque e et n = pq sont des donnees publiques)
de factoriser n en un produit de deux nombres premiers. On a demontre que le meilleur
algorithme de factorisation necessite un nombre doperations de lordre de:
e ln n. ln(ln n)
Le Tableau 2.12 donne une idee du nombre doperations necessaires.
2.3.4.5
Signature num
erique
` CLE
PUBLIQUE
2.3. LES SYSTEMES
(ASYMETRIQUES)
A
133
134
CHAPITRE 2. CRYPTOGRAPHIE
Ceci suppose que pour lensemble des utilisateurs, les messages m soient tels que: 0
m mini n1i .
En cas de conflit entre Uj et Ui quant `
a la signature du message, Ui sadresse `
a un arbitre
1
2
et lui donne m et s = cdi mod n2i = mdj mod n1j .
Ce dernier calcule:
1
m0 = sej mod n1j
et verifie que m = m0 .
Sil en est ainsi, il declare que le message ne peut provenir que de Uj . Sinon il declare le
contraire.
135
Chapitre 3
Codage de canal
3.1
Introduction
Dans le cours TE401 nous avons introduit le probl`eme du codage de canal et nous avons
etudie le FEC `
a travers les codes par bloc et les codes convolutifs lineaires.
Dans ce cours, nous allons etendre notre etude des FEC vers les codes par bloc cycliques.
Ceci necessite cependant une bonne connaissance des principes de lalg`ebre dans des
champs finis, exposes dans lannexe A.
3.2
Compl
ements sur les codes par blocs lin
eaires
3.2.1
Les codes
etendus
3.2.1.1
D
efinition
10010
G = 01001
00111
136
H=
10
01
11
10
01
100100
G = 010010
001111
et
H =
3.2.1.2
101
011
111
101
011
001
wt(v ) =
wt(v) + 1 si wt(v) est impair
Si donc la distance d de C est impaire, la distance de C est d = d + 1. Lutilisation
dun code etendu ne sav`ere donc interessante que si la distance d est impaire, auquel cas
le code etendu permet daugmenter la capacite de detection dune unite sans toutefois
modifier la capacite de correction.
Exemple
Si un code C a une distance d = 5, le code etendu a la distance d = 6. Le code C
pourra donc detecter les configurations derreurs de poids 4 et corriger celles de poids
E[(d1)/2] = 2 (E[x] signifiant la valeur enti`ere de x) tandis que la capacite de detection
du code etendu C sera egale `
a 5, sa capacite de correction restant egale `
a E[(61)/2] = 2.
3.2.2
Le code de Golay
etendu
3.2.2.1
D
efinition et propri
et
es
Ce code fut utilise au debut des annees 1980 lors de la mission spatiale Voyager qui
ramena les magnifiques photos de saturne et jupiter.
3.2. COMPLEMENTS
SUR LES CODES PAR BLOCS LINEAIRES
Soit B la matrice suivante:
B=
110111000101
101110001011
011100010111
111000101101
110001011011
100010110111
000101101111
001011011101
010110111001
101101110001
011011100011
111111111110
137
Le code etendu de GOLAY note C24 poss`ede la matrice generatrice G (12.24) suivante:
G = [E12 ,B]
On remarquera que la matrice B qui est symetrique poss`ede une structure systematique
si on supprime sa derni`ere ligne et sa derni`ere colonne; chaque ligne est alors obtenu de
la precedente par un glissement cyclique vers la droite.
Les proprietes de ce code sont les suivantes:
n = 24 et k = 12 si bien que ce code poss`ede 4.096 mots-codes;
la matrice de contr
ole de parite de ce code est la matrice (24.12):
H=
ou encore:
H=
B
E12
E12
B
3.2.2.2
D
ecodage du code de GOLAY
etendu
Nous noterons v le mot-code emis, w le mot recu et u = [u1 ,u2 ] la configuration derreurs
correspondants (ce mot de 24 moments binaires ayant ete scinde en deux sous-mots de
12 moments binaires).
Le but est dobtenir une methode de decodage rapide qui nutilise pas le tableau de
decodage.
Vu la capacite de correction de C24 , nous supposerons que wt(u) 3. Ceci implique que
wt(u1 ) 1 ou wt(u2 ) 1.
138
3.2.2.2.1
Hypoth`
ese I: wt(u2 ) 1 Nous utiliserons la matrice de controle de
parite H:
H=
E12
B
Si s1 est le syndrome de w, on a:
s1 = u1 u2 B
3.2.2.2.1.1
wt(s1 ) 3. Il sensuit:
u = [s1 ,0]
3.2.2.2.1.2
3.2.2.2.2
u1
s1 bi
u2
Hypoth`
ese II: wt(u1 ) 1 Le syndrome s2 est, si on utilise la matrice
de contr
ole de parite H:
H=
B
E12
s2 = u1 B u2
et des conclusions identiques peuvent etre tirees sur s2 .
a celui presente pour s1 . Il est possible de ne pas
Lalgorithme utilisant s2 est identique `
introduire la seconde matrice H si on remarque que:
s2 = u1 B u2 = (u1 u2 B)B = s1 B
puisque B 2 = E12 .
3.2.2.2.3
Algorithme de d
ecodage Lalgorithme de decodage est donc:
E12
B
3.2. COMPLEMENTS
SUR LES CODES PAR BLOCS LINEAIRES
139
3.2.3
Le code de Golay
3.2.4
3.2.4.1
Remarque pr
eliminaire
140
Dans cette notation, nous conviendrons de ne pas ecrire les termes du polyn
ome correspondant `
a ai = 0. Ainsi, `
a v = 1010 correspond le polyn
ome v(x) = 1 x2 . Tout mot de
n moments binaires peut donc etre vu comme un element de Z2n ou de Rn .
Si on multiplie par x un polyn
ome v(x) correspondant `
a un mot v, le polyn
ome xv(x)
modulo xn +1 correspond au mot (v) obtenu `
a partir de v par une permutation cyclique.
Exemple
Considerons R5
v = 10110 correspond `
a f (x) = 1 x2 x3
(v) = 01011 correspond `
a xf (x) = x x3 x4
De meme,
v = 01111 correspond `
a f (x) = x x2 x3 x4
(v) = 10111 correspond `
a xf (x) = x2 x3 x4 x5 modulo x5 1 = 1 x2 x3 x4 .
On notera que loperation de permutation cyclique est une operation lineaire en ce sens
que:
(v + w) = (v) + (w)
(av) = a(v), o`
u a Z2 et v,w Z2n
s
Nous noterons (v) le mot obtenu par s permutations cycliques successives.
3.2.4.2
D
efinitions
Un code lineaire C est dit cyclique si toute permutation cyclique dun mot-code constitue
egalement un mot-code.
3.2.4.3
Remarques
3.2. COMPLEMENTS
SUR LES CODES PAR BLOCS LINEAIRES
3.2.4.4
141
Th
eor`
eme
a(x)v(x) modulo 1 xn
appartient `
a C (les ai Z2 ).
3.2.4.5
Polyn
ome g
en
erateur
3.2.4.5.1 Pr
eliminaires Si on consid`ere les mots-codes non nuls dun code cyclique C, il y a parmi ces mots-codes un mot-code unique note g tel que le polyn
ome
correspondant g(x) soit de degre minimum.
Il est en effet evident quil existe au moins un polyn
ome de degre minimum dans C.
Supposons quil en existe 2, note g et g 0 , de degre minimum t. Il sensuit de la linearite
que g(x) g 0 (x) = c(x) C. Or le degre de c(x) est inferieur `
a t (puisque xt xt = 0).
0
Ceci implique que c(x) est le polyn
ome nul et donc que g = g ou que g est unique.
Tout mot-code c(x) de C peut etre obtenu `
a partir de g(x) par multiplication par un
polyn
ome a(x):
c(x) = a(x)g(x)
En effet, le degre de c(x) etant `
a celui de g(x), on a:
c(x) = q(x)g(x) r(x)
ou
r(x) = q(x)g(x) c(x)
Mais c(x) et q(x)g(x) etant des mots-codes, il sensuit que r(x) lest egalement. De plus,
ou bien r(x) = 0, ou bien le degre de r(x) est inferieur `
a celui de g(x). r(x) appartenant
`
a C, cette derni`ere possibilite est `
a rejeter et r(x) = 0.
Nous concluons donc que g(x) est diviseur de tout mot-code c(x) de C. Ces remarques
nous am`enent `
a definir g(x) comme etant le polyn
ome generateur de C.
3.2.4.5.2
D
efinition On appelle polynome generateur g(x) dun code cyclique C
lunique polyn
ome non nul de C de degre minimum.
3.2.4.5.3
Th
eor`
eme 1 Si C est un code cyclique de longueur n et si son polynome
generateur g(x) et de degre n k, alors:
la dimension de C est k;
les mots-codes g(x),xg(x), . . . ,xk1 g(x) forment une base de C;
142
D
emonstration
Le 3-`eme point de ce theor`eme a ete demontre ci-dessus.
On verifie sans peine que si g(x) est de degre n k, g(x),xg(x), . . . ,xk1 g(x) sont
lineairement independants. Il suffit en effet decrire g(x) sous la forme:
a0 a1 x a2 x2 . . . ank xnk 0xnk+1 . . . 0xn1
et de constater que toute multiplication par x deplace un terme non nul vers la droite `
a
partir de la position correspondant `
a la puissance n k + 1 pour arriver `
a la puissance
n 1.
Puisque g(x) divise tout mot-code, il existe un polyn
ome a(x) tel que pour tout mot-code
c(x), on ait:
c(x) = a(x)g(x) = a0 g(x) a1 xg(x) . . . ak1 xk1 g(x)
Il sensuit que c(x) appartient `
a lespace sous-tendu par g(x),xg(x), . . . ,xk1 g(x),
lineairement independants. Ceci implique que {g(x),xg(x), . . . ,xk1 g(x)} constitue une
base de C et donc que la dimension de C est k.
Exemple
Soit n = 7 et g(x) = 1 x x3 le polyn
ome generateur dun code cyclique C (n k =
3,k = 4).
Une base de C est:
g(x)
1 x x3 > 1101000
xg(x)
x x2 x4 > 0110100
x g(x)
x2 x3 x5 > 0011010
x3 g(x)
x3 x4 x6 > 0001101
Remarque
La methode presentee au paragraphe 3.2.4.3 point 2 permet de construire un code cyclique. Ayant trouve lensemble des mots-codes, il est possible de trouver le polyn
ome
generateur g(x) de ce code. Ce nest toutefois pas une methode aisee car elle exige detablir
la liste compl`ete de tous les mots-codes. Le theor`eme suivant presente donc toute son
importance.
3.2.4.5.4 Th
eor`
eme 2 et corollaires g(x) est le polynome generateur dun code
cyclique C de longueur n, si et seulement si il divise 1xn (cest-`
a-dire 1xn = g(x)h(x)).
D
emonstration
On peut toujours ecrire 1 xn = g(x)h(x) r(x) avec r(x) = 0 ou degre r(x) degre
g(x). Ceci implique r(x) = g(x)h(x) (1 xn ). Mais r(x) = [g(x)h(x) (1 xn )] modulo
(1 xn ) = g(x)h(x) modulo (1 xn ).
r(x) est donc un mot-code engendre par g(x) et son degre ne peut etre inferieur `
a celui
de g(x). On conclut donc que r(x) = 0 et donc que g(x) divise 1 xn .
Corollaire 1
3.2. COMPLEMENTS
SUR LES CODES PAR BLOCS LINEAIRES
143
Le polyn
ome generateur g(x) du code cyclique defini selon la procedure du paragraphe 3.2.4.3 point 2 `
a partir dun mot-code v est le Plus Grand Commun Diviseur
(PGCD) de v(x) et de 1 xn .
D
emonstration
g(x) etant le polyn
ome generateur, il divise v(x) et 1 xn . De plus, selon lalgorithme du
paragraphe 3.2.4.3 point 2 , g(x) etant un mot-code, il < v(x),xv(x), . . . ,xn1 v(x) >.
Il sensuit que:
g(x) = a(x)v(x) modulo 1 xn
ou encore que:
g(x) = a(x)v(x) b(x)(1 xn )
Ceci implique que tout diviseur de v(x) et de 1 xn divise egalement g(x).
Ce dernier est donc le PGCD de v(x) et de (1 xn ).
Exemple
n = 8 et v = 11011000 cest-`
a-dire v(x) = 1 x x3 x4 .
Le PGCD de v(x) et de 1 x8 est 1 x2 qui est donc le polyn
ome generateur du code
engendre par v. Ce code est de dimension 6.
Corollaire 2
Une matrice generatrice dun code C de polyn
ome generateur g(x) est:
g(x)
xg(x)
G=
..
.
k1
x
g(x)
Cette matrice devant etre (k.n), elle secrit:
g0 g1 . . . gnk 00 . . . 0
0g0 . . . gnk 0 . . . 0
G=
..
.
00 . . . g0 g1 . . . gnk
Remarque
Le theor`eme precedent montre quil est utile de disposer des tables de factorisation de
1 xn en polyn
omes irreductibles.
Cette table est fournie en annexe B pour 1 n 31, pour n impair.
Pour trouver tous les codes cycliques de longueur n, il faut considerer tous les polyn
omes
generateurs possibles diviseurs de 1 xn . Parmi ceux-ci, les facteurs g(x) = 1 et g(x) =
0 = (1 xn ) modulo 1 xn sont sans interet car ils engendrent respectivement les codes
Z2n et {0} qui sont appeles codes impropres.
A titre dexemple, considerons le cas n = 3. Les facteurs de 1 x3 a
` prendre en
consideration sont 1 x et 1 x x2 . Soit g(x) = 1 x dont la matrice generatrice
est:
110
G=
011
et qui correspond au code cyclique C = {000,110,011,101}. Lautre code propre est celui
correspondant au polyn
ome generateur 1 x x2 dont la matrice generatrice est:
G = 111
et qui contient les mots-codes suivants: C = {000,111}.
144
3.2.4.6
Une des proprietes importantes des codes cycliques est la facilite de leur encodage. Il y
a en pratique deux methodes qui peuvent etre utilisees.
Lune directe mais ne fournissant pas un encodage systematique (cest-`
a-dire o`
u on retrouve le mot `
a coder comme partie du mot-code) est basee sur une multiplication par
le polyn
ome generateur.
Lautre fournissant un encodage systematique est basee sur la division par le polyn
ome
generateur.
g(x)
xg(x)
k1
)g(x)
(u0 u1 . . . uk1 )
= (u0 u1 x . . . uk1 x
..
.
xk1 g(x)
Le mot `
a coder u est donc considere comme un polyn
ome u(x) et le mot-code u(x)g(x)
est emis. Cette operation se realise sans peine par un registre `
a decalage comme le montre
la Figure 3.1.
3.2.4.6.2
Encodage syst
ematique Le principe consiste `a modifier la correspondance mot binaire - polyn
ome en ce sens que le symbole binaire de gauche correspond
cette fois `
a la puissance la plus elevee du polyn
ome. Les k symboles dinformation correspondent donc au polyn
ome:
u(x) = un1 xn1 un2 xn2 . . . unk xnk
3.2. COMPLEMENTS
SUR LES CODES PAR BLOCS LINEAIRES
145
3.2.4.7
Le polyn
ome de v
erification de parit
e
3.2.4.7.1
D
efinition Tout polynome generateur dun code de longueur n etant
diviseur de 1 xn , on peut ecrire:
h(x) =
1 xn
g(x)
Ce polyn
ome h(x) sappelle polyn
ome de verification (ou de contr
ole) de parite du code
cyclique C engendre par g(x). Le degre de ce polyn
ome est donc k, le degre de g(x) etant
n k.
Exemple
146
3.2.4.7.2
Th
eor`
eme Un code cyclique dont le polynome de controle de parite est
h(x) = h0 h1 x h2 x2 . . . hk1 xk1 hk xk
H0 =
00 . . . 000hk hk1 . . . h2 h1 h0
00 . . . 00hk hk1 . . . h1 h0 0
..
.
hk hk1 . . . 00 . . . 000
Commentaire
On remarquera que le polyn
ome generateur est lu `
a lenvers (cest-`
a-dire des plus hautes
puissances vers les plus petites) pour constituer H. Ceci est `
a mettre en relation avec la
remarque ci-dessous.
Exemple
Le code de Hamming cyclique de longueur 7 dont le polyn
ome generateur est g(x) =
1 x x3 a comme polyn
ome de contr
ole de parite h(x) = x4 x2 x 1. Sa matrice
de contr
ole de parite (3.7) est donc:
0010111
0
H = 0101110
1011100
Remarque
On peut demontrer que:
le code dual C dun code cyclique est egalement un code cyclique;
le polyn
ome generateur de ce code dual C est le polyn
ome h(x) mais lu `
a lenvers.
Plus precisement, si h(x) est le polyn
ome de contr
ole de parite du code cyclique
C:
h(x) = h0 h1 x h2 x2 . . . hk1 xk1 hk xk
le polyn
ome generateur de C est g (x):
g (x) = hk hk1 x . . . h1 xk1 h0 xk
3.2.4.8
D
ecodage des codes cycliques
Nous avons vu que lelement de base du decodage des codes lineaires est le syndrome. Dans
le cas des codes cycliques, il est plus expedient dutiliser un polyn
ome appele polyn
ome
syndrome.
3.2. COMPLEMENTS
SUR LES CODES PAR BLOCS LINEAIRES
147
3.2.4.8.1
D
efinition Soit C un code cyclique de longueur n et de polynome
generateur g(x). On appelle polyn
ome syndrome s(x) associe `
a un mot recu w (n-uple)
le reste de la division par g(x) du polyn
ome w(x) correspondant au mot recu w.
s(x) = w(x) modulo g(x)
3.2.4.8.2
Propri
et
es
3.2.4.8.3 D
ecodeur de MEGGIT (1960) Loperation la plus longue dans le
type de decodage presente ci-dessus est letablissement du tableau de correspondance
entre configurations derreurs et polyn
omes syndromes ainsi que la recherche de ce dernier
dans le tableau `
a chaque correction.
Une simplification importante de lalgorithme de decodage peut etre obtenu si on tient
compte de la nature cyclique du code.
On se preoccupe initialement du moment binaire de degre le plus eleve du mot recu w,
que lon corrige ou pas selon son syndrome. On op`ere ensuite de meme avec (w), puis
avec les autres permutations cycliques de w. On rep`ete donc n fois la meme operation.
Lavantage de cette methode reside dans le fait quil nest pas necessaire detablir le tableau de correspondance entre configurations derreurs et polyn
omes syndromes que pour
148
s(x)
0
1
x
x2
x1
x2 x
x2 x 1
x2 1
De plus, e1 (x) modulo g(x) fournit le syndrome de (e) et puisque g(x) divise (xn 1),
le reste de la division de e1 (x) par g(x) est simplement xs(x) modulo g(x). Ce resultat
nest rien dautre que (s(x)).
Commentaires - exemples
Ce dernier theor`eme facilite le calcul des polyn
omes syndromes des permutations
de w a
` laide dun registre `
a decalage;
Code `
a capacite de correction unitaire:
Supposons initialement que le code ne peut corriger quune erreur. Les seules configurations derreurs `
a considerer sont donc celles de poids 1. Les permutations cycliques successives de w am`enent le moment binaire errone `
a lextreme droite du
mot apr`es au plus n 1 permutations. Le syndrome correspondant permet de
detecter cette configuration derreurs et le comptage du nombre de permutations
3.2. COMPLEMENTS
SUR LES CODES PAR BLOCS LINEAIRES
149
3.2.4.9
Nous avons presente ce code precedemment: il sagit dun code (23, 12), parfait et de
distance 7.
Ce meme code peut etre considere comme etant le code cyclique obtenu `
a laide du
polyn
ome generateur suivant:
g(x) = 1 x2 x4 x6 x10 x11
3.2.4.10
150
3.2.4.10.1
Th
eor`
eme 1 Le code de Hamming binaire de longueur n = 2r 1 est
equivalent `
a un code cyclique.
D
emonstration
Le polyn
ome p(x) etant irreductible, lanneau Z2 /p(x) est un champ dordre 2r . Tout
champ poss`ede un element primitif. Soit cet element. Les elements du champ sont
donc:
r
r
{0, 0 = 1, 1 = 2 1 , 2 , . . . , 2 2 }
Si on note un element quelconque du champs:
a0 a1 x . . . ar1 xr1
et si on lidentifie avec le vecteur colonne des ai , on peut former la matrice r.2r 1
suivante:
r
H = [1 2 . . . 2 2 ]
Soit C le code lineaire de matrice de contr
ole de parite H. Puisque cette matrice est
constituee de tous les vecteurs non nuls de Z2r , C est un code de Hamming. Si on pose
n = 2r 1, on a:
C
Si f (x) C et r(x) Rn , alors r(x)f (x) C car r()f () = r()0 = 0. Ce code est
donc cyclique.
3.2.4.10.2 Th
eor`
eme 2 Si p(x) est un polynome primitif de degre r sur Z2 , alors
le code cyclique < p(x) > est un code de Hamming de longueur 2r 1.
Exemple
Le polyn
ome x3 x 1 est irreductible sur Z2 et Z2 (x)/(x3 x 1) est un champ dordre
3
2 = 8:
{0,1,x,x2 ,x3 = x 1,x4 = x2 x,x5 = x2 x 1,x6 = x2 1}
3.2.5
3.2.5.1
Introduction
Une classe importante de codes cycliques est celle des codes BCH (Bose - Chaudhuri Hocquenghame). Leur capacite de correction peut etre elevee et leur decodage est assez
aise. De plus, cette classe est relativement vaste.
Ces codes sont en general des codes binaires, mais un cas particulier important des codes
BCH est le code de Reed-Solomon (utilise par exemple dans les disques numeriques
CD) qui est un code non binaire presentant dexcellentes proprietes en cas derreurs par
paquets. Les codes de Hamming peuvent etre consideres comme des codes BCH (nous
avions dej`
a signale que les codes de Hamming peuvent etre mis sous forme dun code
cyclique equivalent).
Il existe egalement une generalisation des codes BCH, `
a savoir les codes de Goppa qui
presentent un interet en cryptographie.
La difficulte detude des codes BCH provient de la mani`ere dont ils sont definis. Cette
definition exige la connaissance de la theorie des champs dextension presentee `
a lannexe A consacre aux complements mathematiques.
3.2. COMPLEMENTS
SUR LES CODES PAR BLOCS LINEAIRES
3.2.5.2
151
Exemple
1 x x4
m3 (x)
1 x x2 x3 x4
Le polyn
ome generateur de ce code est donc:
g(x) = 1 x4 x6 x7 x8
Ce polyn
ome peut etre un polyn
ome generateur car tout polyn
ome minimum m associe
`
a un element dun CG(2m ) est facteur de:
m
1 x2
Ici 1 x2 1 = 1 x15 .
g(x) est donc facteur de 1 x15 , ce qui est une condition necessaire et suffisante pour
etre un polyn
ome generateur.
De mani`ere plus generale, nous verrons que les codes BCH de capacite de correction
tc = 2 et de longueur 2m 1 sont des codes cycliques de polyn
ome generateur g(x) =
u est un element primitif de CG(2m ),m 4.
m (x)m 3 (x) o`
3.2.5.3
3.2.5.3.1
D
efinition Soit un element quelconque dordre n dun CG(2m ) (cest-
`
a-dire = 1). On consid`ere tous les polyn
omes w(x) de degre < n ayant comme racine
(zero). Les mots-codes (n-uples) associes `
a ces polyn
omes constituent un code cyclique.
On ecrit en bref:
C = {w : w() = 0}
Il sagit l`
a dune nouvelle facon de definir un code.
3.2.5.3.2
Th
eor`
eme 1 Le code C est un code cyclique de polynome generateur
m (x), polyn
ome minimum de .
D
emonstration
m divise xn 1.
En effet, n = 1 et donc est un zero de f (x) = xn 1. Par un theor`eme du
paragraphe A, m divise xn 1;
152
Cas particulier
Si est un element primitif (note ) de CG(2m ) (cest-`
a-dire si n = 2m 1), on obtient
un code cyclique de longueur n = 2m 1 et de polyn
ome generateur g(x) = m (x).
3.2.5.3.3
Th
eor`
eme 2 Si est un element primitif de CG(2m ), alors le code
..
.
[w0 w1 . . . wn1 ]
wH = 0
n1
La matrice colonne H (H 0 = [1 . . . n1 ]) definie sur CG(2m ) constitue donc une matrice
de verification de parite de C . Cette matrice H correspond `
a une matrice de verification
de parite dont les elements appartiennent `
a Z2 et qui se construit comme suit:
Tout element de CG(2m ) correspond `
a un polyn
ome de degre inferieur `
a m et
donc `
a 1 m-uple;
La matrice H definie sur Z2 sobtient donc en remplacant chaque element i par
le m-uple associe ecrit horizontalement. On obtient donc une matrice n.m avec
n = 2m 1. Ces m-uples sont distincts et non nuls.
La matrice H ainsi obtenue correspond bien `
a la matrice de verification de parite dun
code de Hamming telle quelle a ete definie avant (m etant remplace par r).
g(x) = m = x3 x 1
Sa matrice de verification de parite est:
H=
2
3
4
5
6
100
010
001
110
011
111
101
3.2. COMPLEMENTS
SUR LES CODES PAR BLOCS LINEAIRES
153
0
1
x
x2
x1
x2 x
x2 x 1
x2 1
0
0
1
2
3
4
5
6
3.2.5.4.1
D
efinition Soit un champ CG(2m ) et un element dordre n de ce
3.2.5.4.2
Remarques
154
3.2.5.4.3
Cas de l
el
ement primitif Si est un element primitif (note ) de
CG(2m ) (m 4), alors n = 2m 1 et la matrice H [(2m 1).2m] est:
0
0
3
6
2
H=
..
..
.
.
m
3(2
2)
3.2.5.4.4
polyn
ome primitif h(x) = 1 x x4 . Puisque lelement choisi est primitif, on a:
n = 2m 1 = 24 1 = 15
La condition w() = w(3 ) = 0 implique pour tout mot-code:
1
1
3
( 3 )2
[w0 w1 . . . w14 ]
= [00]
.
..
..
.
14
3 14
( )
La matrice de verification de parite H15 de ce code note C15 secrit donc:
1000 1000
1
1
0100 0001
3
2
6
0010 0011
3
9
0001 0101
4
1100 1111
12
15 = 1
0110 1000
6
18
3
0011 0001
7
21
1101 0011
6
=
H15 =
8 =
1010 0101
9
9
12
0101 1111
10
1110 1000
1
0111 0001
11
3
1111 0011
12
6
13
9
1011 0101
14
12
1001
1111
Le polyn
ome generateur est:
g(x)
m1 (x)m3 (x)
(x4 x 1)(x4 x3 x2 x 1)
x8 x7 x6 x4 1
Il est de degre n k = 8 k = 7.
Il sagit donc dun code C(15,7). La distance de ce code est au moins 5 puisque
nous demontrerons quil peut corriger toutes les erreurs doubles. Comme le polyn
ome
generateur (qui correspond `
a un mot du code) est de poids 5, la distance du codes est
au maximum 5.
Des deux assertions precedentes, on conclut que d = 5. Il sagit en conclusion dun code
C(15,7,5).
3.2. COMPLEMENTS
SUR LES CODES PAR BLOCS LINEAIRES
155
3.2.5.4.5 Codes BCH primitifs et non primitifs Nous avons vu aux paragraphes 3.2.5.3 et 3.2.5.4 que les codes BCH peuvent etre construits `
a partir delements
quelconques de CG(2m ). On parle alors de code BCH non primitifs. Si (alors note )
est un element primitif, le code BCH est dit primitif. Ces derniers sont les plus utilises.
3.2.5.4.6 D
ecodage des codes BCH binaires `
a capacit
e de correction
egale `
a 2 Supposons que lon recoive un mot w = w0 w1 . . . wn1 (auquel correspond
le polyn
ome w(x)) et que sa configuration derreurs soit au maximum de poids 2 (cest`
a-dire quelle contient au maximum deux 1 que lon suppose etre localise en positions i
et j).
Le syndrome S de w est:
0
0
S = wH = [w0 w1 . . . wn1 ]
..
..
.
.
n1
3(n1)
0
n1
=
w0 w1 . . . wn1
w0 0 w1 3 . . . wn1 3(n1)
w() w( 3 ) = s1 s3
=
o`
u les si sont des m-uples.
S est aussi le syndrome de la configuration derreurs.
Cas 1
Si aucune erreur ne sest produite, S = 0 et s1 = s3 = 0.
Cas 2
Si une seule erreur sest produite, par exemple en position i, la configuration derreurs
e est: [0 . . . 010 . . . 0] (o`
u le 1 se trouve en i-`eme position) et e(x) = xi est le polyn
ome
correspondant.
Il vient:
S = wH = eH = i 3i = s1 s3
Il sensuit que s31 = s3 .
Cas 3
Si deux erreurs se sont produites, la configuration derreurs e est: [0 . . . 010 . . . 010 . . . 0]
(o`
u les deux 1 se trouvent respectivement en i-`eme et j-`eme position) et e(x) = xi xj
est le polyn
ome correspondant.
Il vient:
S = wH = eH = i j 3i 3j = s1 s3
On obtient donc dans ce cas le syst`eme:
i
j = s1
3i 3j = s3
o`
u s1 et s3 sont connus.
Soit les factorisations suivantes:
3i 3j
( i j )( 2i i+j 2j )
( i j )2
2i 2j
156
Il sensuit:
s3 = s1 (s21 i+j )
et donc:
1
2
i+j = i j = (s3 s31 )s1
1 = s3 s1 s1
Il est donc possible de trouver les positions i et j des deux erreurs en resolvant cette
equation. La connaissance de i et de j implique celle de i et j. Comme le code est
binaire, il suffit dinverser ces elements i et j pour corriger.
Exemple
Pour le code C15 defini plus haut, on suppose que le 16-uple recu w fournit le syndrome:
s1 = 0111 s3 = 1010
Du tableau definissant CG(24 ) on tire:
s1 11
s3 8
2
8 11
Donc s3 s1
22 = 12 7 = 2 .
1 s1 =
On forme le polyn
ome:
x2 11 x 2
dont on cherche les racines sur CG(24 ). Par substitution on trouve 4 et 13 et donc les
2 erreurs les plus probables sont en position 4 et 13 (e(x) = x4 x13 ).
Algorithme de correction du code BCH `
a capacit
e de correction
egale `
a2
1. Calculer le syndrome S = s1 s3 = wH = w() w( 3 )
2. Si s1 = s3 = 0, conclure que le mot recu est correct;
3. Si s1 = 0 et s3 6= 0, annoncer que plus de 2 erreurs se sont produites (et par
exemple demander une retransmission);
4. Si s31 = s3 , corriger lelement binaire en i-`eme position, i etant tel que i = s1 ;
2
5. Former lequation x2 s1 x (s3 s1
1 s1 ) = 0;
3.2. COMPLEMENTS
SUR LES CODES PAR BLOCS LINEAIRES
157
3.2.5.4.7
Th
eor`
eme La definition du code BCH `a capacite de correction egale
`
a 2 presente quelques incertitudes: quelle champ dextension choisir, quel element `
a
selectionner? Le theor`eme suivant repond `
a ces questions.
Th
eor`
eme
Si 1 et 2 sont deux elements de meme ordre n de 2 champs dextension differents de
Z2 , alors les codes BCH correspondants, C1 definie par 1 et 31 et C2 definie par 2 et
23 , sont equivalents.
3.2.5.4.8
Remarques finales
0
0
3
6
2
H=
..
..
.
.
n1
3(n1)
3.2.5.5
3.2.5.5.1 Introduction Apr`es avoir presente deux cas particuliers des codes BCH,
`
a savoir la forme cyclique des codes de Hamming et les codes BCH binaires `
a capacite
de correction egale `
a 2, nous abordons maintenant la forme generale des codes BCH.
Rappelons `
a ce propos que pour tout champ F de cardinalite q, il existe un champ dextension de F possedant un element dordre n, `
a condition que n et q soient premiers
entre eux. Nous traitons le cas o`
u lalphabet nest pas forcement binaire (champ quelconque F au lieu de Z2 ) car nous verrons quun code tr`es utilise, celui de Reed-Solomon,
nest pas un code binaire.
Rappelons en outre que la notation F (x) designe lensemble des polyn
omes `
a coefficients
dans F .
3.2.5.5.2
D
efinition Soit un champ F de cardinalite q et un nombre n, qui est
premier avec q. On appelle code BCH q-aire `
a capacite de correction egale `
a t et de
longueur n(n > 2t + 1) lensemble des n-uples w dont les polyn
omes associes (de degre
< n) w(x) F (x) satisfont aux equations:
w() = w(2 ) = w(3 ) = . . . = w(2t ) = 0
158
o`
u est un element dordre n dun certain champ dextension de F .
Si lelement choisi est primitif, n = q m 1 et le code est un code BCH primitif.
3.2.5.5.3
Exemples
x4 x 1
m3 (x)
x4 x3 x2 x 1
m5 (x)
x2 x 1
Un polyn
ome binaire admet , 3 et 5 comme zero sil peut etre divise par m1 (x),m3 (x)
et m5 (x). Comme ces polyn
omes minimums sont toujours irreductibles, les polyn
omes
associes aux mots-codes doivent etre divisibles par leur produit et le polyn
ome generateur
de ce code est:
g(x)
g(x) est de degre 10 (degre n k avec n = 24 1 = 15). Il sagit donc dun code BCH
primitif binaire C(15,5).
Exemple 3: alphabet ternaire avec (tc = t = 2)
Soit un code ternaire de capacite de correction (tc = 2) et de longueur n = 26, obtenu
en considerant = = element primitif de CG(33 ) = CG(27). A titre dexercice on
construira le CG(33 ) avec comme polyn
ome primitif h(x) = x3 2x2 1.
Ce code de longueur n = 26, et defini par lensemble des polyn
omes de degre inferieur `
a
n = 26, dont les coefficients appartiennent `
a Z3 = {0,1,2} et tels que:
w() = w( 2 ) = w( 3 ) = w( 2t=4 ) = 0
Par le meme theor`eme que lon a utilise avant (en tenant compte que cette fois-ci p = 3),
lon a que si est une racine dun polyn
ome, alors p=3 est egalement une racine de ce
polyn
ome. Il sensuit que lon peut reduire les conditions ci-dessus en negligeant:
w( 3 ) = 0
Les polyn
omes minimum de , 2 et 4 sont:
m1 (x)
m2 (x)
m4 (x)
(x 4 )(x 12 )(x 10 ) = x3 2x 2
3.2. COMPLEMENTS
SUR LES CODES PAR BLOCS LINEAIRES
159
Les polyn
omes associes aux mots-codes sont divisibles par ces 3 polyn
omes irreductibles
et donc par leur produit. Le polyn
ome generateur est donc:
g(x) = m1 (x)m2 (x)m4 (x) = (x3 2x2 1)(x3 2x2 2x 2)(x3 2x 2)
Il est de degre n k = 9, do`
u k = n 9 = 26 9 = 17, et on obtient donc un code
ternaire C(26,17) de capacite de correction egale `
a 2.
3.2.5.5.4
Polyn
ome g
en
erateur Le code BCH defini ci-dessus poss`ede comme
polyn
ome generateur g(x) le plus petit commun multiple des polyn
omes minimums mi (x)
correspondant aux elements i , (i = 1,2, . . . ,2t) choisis pour la definition du code:
g(x) = PPCM [m1 (x),m2 (x), . . . ,m2t (x)]
D
emonstration
Le polyn
ome g(x) est un polyn
ome correspondant `
a un mot-code puisque
mi () = 0 implique g(i ) = 0 pour i = 1,2, . . . ,2t.
Lordre de etant n, on a n = 1 et donc (i )n = (n )i = 1. Ceci implique que
i est un zero de xn 1 pour i = 1,2, . . . ,2t. Il sensuit que xn 1 est un commun
multiple de tous les mi (x),i = 1,2, . . . ,2t. g(x) est donc diviseur de xn 1 et peut
donc effectivement etre polyn
ome generateur dun code cyclique.
a demontrer que le code BCH est bien celui engendre par g(x). Ceci est
Il reste `
evident puisque tout w(x) multiple de g(x)(w(x) = q(x)g(x) est telle que:
w(i ) = q(i ) = 0 pour i = 1,2, . . . ,2t
et w(x) correspond bien `
a un mot-code du code BCH. Inversement si w(x)
correspond `
a un mot-code du code BCH, il est divisible par mi (x),i = 1,2, . . . ,2t
et en vertu du theor`eme de factorisation unique (les mi (x) etant irreductibles),
w(x) est divisible par q(x), le PPCM des polyn
omes mi (x). Il sensuit que le code
BCH tel que defini et le code cyclique engendre par g(x) sont identiques.
Remarques
Pourquoi parler de PPCM des mi (x) alors que les mi (x) sont irreductibles?
Noublions pas que certains polyn
omes minimums sont identiques (par exemple
m1 (x) et m2 (x) dans CG(2m )). Le PPCM se reduit tout simplement au produit
des mi (x) dans lequel on supprime les facteurs repetant un facteur precedent.
Le code cyclique presente netant pas forcement binaire, la propriete de divisibilite
de xn 1 par le polyn
ome generateur (valable pour les codes cycliques binaires)
devient la divisibilite de xn 1 par le polyn
ome generateur.
3.2.5.5.5 Matrice de v
erification de parit
e Par une demonstration analogue
`
a celle presentee dans le cas du code BCH binaire `
a capacite de correction egale `
a 2, on
trouve que la matrice de verification de parite (n.2t) secrit:
0
0
...
0
2
2t
...
2 2
2t 2
2
(
)
.
.
.
(
)
H=
..
..
..
.
.
...
.
n1
(2 )n1
...
(2t )n1
160
Pour etre utilisable, cette matrice doit etre transformee par la correspondance entre les
elements de lextension exprimes sous forme de m-uples (ecrits en lignes) delements de
F . Plus precisement si lextension de F o`
u a ete choisi est formee par les elements de
F (x)/p(x) (o`
u p(x) est un polyn
ome de degre m dont les coefficients appartiennent `
a F ),
les elements i de la matrice H correspondent `
a des polyn
omes determines de degre < m
et donc `
a des m-uples delements de F .
La matrice H resultante est donc une matrice (n.2tm). La dimension de code est donc
n 2tm. Si est un element primitif, n = q 1, q etant la cardinalite de F .
3.2.5.5.6
Capacit
e de correction
Th
eor`
eme
Le code BCH tel que defini dans cette section a une distance superieure ou egale `
a 2t + 1.
La capacite de correction tc est donc au moins egale `
a t.
Terminologie
= 2t + 1 sappelle la distance construite ou distance de projet du code BCH.
Rappel: D
eterminant de Vandermonde
Un determinant de Vandermonde defini sur un champ donne F a la forme suivante et est
non nul:
1
1
...
1
a1
a2
...
an
Y
2
2
2
a1
a2
...
an =
(ai aj ),ai F,ai 6= aj ,i,j
.
.
.
..
.. i>j
..
.
.
.
an1 an1 . . . an1
1
D
emonstration
Nous allons demontrer que tout mot-code w dont le poids 2t est forcement le mot
w = 0. Ceci implique que le poids du mot-code non nul de poids minimum est au moins
egal `
a 2t + 1.
Soit un mot-code w = (w1 w2 . . . wn ) de poids 2t. Il est donc possible de trouver 2t
indices notes i1 ,i2 , . . . ,i2t tels que wi = 0i 6= i1 ,i2 , . . . ,i2t . A remarquer que si le poids de
w est inferieur `
a 2t, certains wi sont nuls pour certains indices de lensemble (i1 ,i2 , . . . ,i2t ),
mais cela nintervient pas dans la demonstration.
Puisque w appartient au code, on a:
wH = 0
Si on reecrit ces equations en tenant compte des
i1
(2 )i1
i
2
(2 )i2
wi1 wi2 wi3 . . . wi2t .
..
..
.
i2t
ou, en transposant:
i1
(2 )i1
..
.
(2t )i1
i2
(2 )i2
..
.
(2t )i2
...
...
...
...
(2 )i2t
. . . (2t )i1
2t i2
. . . ( )
= 0 0 0 ...
..
...
.
. . . (2t )i2t
i2t
(2 )i2t
..
.
(2t )2t
wi1
wi2
..
.
wi2t
0
0
..
.
0
3.2. COMPLEMENTS
SUR LES CODES PAR BLOCS LINEAIRES
161
puisque ces elements sont tous differents ( est dordre n > 2t + 1) et non nuls. On en
deduit que la solution de ce syst`eme est w = 0.
3.2.5.5.7
H=
1
b
2b
..
.
1
b+1
2(b+1)
..
.
(n1)b
(n1)(b+1)
...
...
...
...
...
1
b+2
2(b+2)
..
.
(n1)(b+2)
3.2.5.6
3.2.5.6.1
...
...
...
...
1
i2t
..
.
(i2t )2t1
162
3.2.5.6.2
D
efinition Un code de Reed-Solomon de capacite de correction egale `a
t, est un code BCH primitif q-aire, dont le polyn
ome generateur est:
g(x) = (x )(x 2 ) . . . (x 2t )
o`
u est un element primitif du champ F (de cardinalite q) definissant lalphabet du
code. Le degre de ce polyn
ome generateur est egal `
a n k = 2t.
3.2.5.6.3
Propri
et
es
3.2.5.6.4
lyn
ome primitif de degre 3: h(x) = 1 x x3 . Comme on la dej`
a montre, ce champ
comporte 23 = 8 elements. Il est encore une fois represente ci-dessous sous ses 3 formes
possibles:
000
0
0
100
1
0
010
x
1
2
001
x
2
110
x1
3
2
011
x x
4
2
111 x x 1 5
101
x2 1
6
Le code de Reed-Solomon `
a alphabet octal et `
a capacite de correction t = 1 a comme
polyn
ome generateur:
g(x) = (x )(x 2 ) = 3 4 x x2
de degre n k = 2.
La longueur de ce code est n = 23 1 = 7. Sa dimension k est egale `
a 5 (code C8 (7,5)).
Il poss`ede donc 85 mots-codes.
Sa matrice generatrice est:
1
0
0
0 0
g(x)
0 3 4 1
0
0 0
xg(x)
3
4
1
0 0
G=
0 0
..
3
4
0 0
.
0
1 0
xk1 g(x)
0 0
0
0 3 4 1
3.2. COMPLEMENTS
SUR LES CODES PAR BLOCS LINEAIRES
163
est:
3
3.2.5.6.5
3.2.5.7
D
ecodage rapide des codes BCH
164
On remarquera que dans le cas q > 2, il ne suffit plus de connatre la position des elements
non nuls de e. La valeur de ces elements non nuls est egalement necessaire `
a la correction.
Se pose donc non seulement un probl`eme de localisation mais egalement devaluation des
composantes non nulles de e.
Nous introduirons tout dabord les notions de polyn
ome localisateur derreurs (note (x))
et de polyn
ome evaluateur derreurs (note (x)). Nous montrerons que la connaissance de
ces polyn
omes permet la correction des erreurs (dans la limite de la capacite de correction
du code).
Nous presenterons ensuite des algorithmes permettant de trouver ces deux polyn
omes
(x) et (x) `
a partir du polyn
ome syndrome (methode matricielle, methode de
Berlekamp-Massey, methode basee sur lalgorithme dEuclide).
3.2.5.7.2
Localisation et
evaluation des erreurs Notons ei1 ,ei2 , . . . ,eis les s
w(b+1 )
w(b+2 )
...
s0
...
s2
s1
b1 a1 b + 1) b2 a2 b + 1) . . . bs a(s b + 1)
..
.
si
b1 a1 b + i) b2 a2 b + i) . . . bs a(s b + i)
..
.
s2
b1 a1 b + 2) b2 a2 b + 2) . . . bs as( b + 2)
s
X
j=1
bj ab+i
0i2
j
3.2. COMPLEMENTS
SUR LES CODES PAR BLOCS LINEAIRES
165
w = 3 4 5 0 0 0 0
4 0 = 5
Le localisateur est a2 = 2 indiquant que cest le 3-`eme symbole qui est faux et
levaluateur (correcteur) est b2 = 4 .
Nous verrons que la connaissance du syndrome permet de determiner les deux polyn
omes
(x) et (x).
(x)
(x)
(1 a1 x)(1 a2 x) . . . (1 as x)
s
X
bk abk (1 a1 x) . . . (1 ak1 x)(1 ak+1 x) . . . (1 as x)
k=1
s
X
k=1
s
Y
bk abk (1 aj x)
j=1
j6=k
Il suffit pour connatre les localisateurs ak de determiner les zeros de (x) qui ne sont rien
1
1
dautre que a1
etermination de ces zeros peut se faire par substitution
1 ,a2 , . . . ,as . La d
puisque le champ des valeurs possibles est fini.
Pour la determination des bk , on demontre le theor`eme suivant.
3.2.5.7.3
Th
eor`
eme Les evaluateurs bk sont donnes par:
0 1 1
bk = a1b
(a1
k
k ) (ak )
o`
u 0 (x) represente la derivee formelle (voir annexe A) de (x).
D
emonstration
k = 1,2, . . . ,s, on a:
b
1
1
1
1
1
(a1
k ) = bk ak (1 a1 ak )(1 a2 ak ) . . . (1 ak1 ak )(1 ak+1 ak ) . . . (1 as ak )
166
Il sensuit que:
1
1
1
1
1
0 (a1
k ) = ak (1 a1 ak )(1 a2 ak ) . . . (1 ak1 ak )1 ak+1 ak ) . . . (1 as ak )
Il vient que:
(b1)
ak
1
bk 0 (a1
k ) = (ak )
3.2.5.7.4
Equations
cl
es Le polynome localisateur (x) peut encore secrire:
(x) =
s
Y
(1 aj x) = 0 1 x . . . s xs
j=1
avec:
0
(a1 a2 . . . as )
2
..
.
+(a1 a2 a2 a3 . . . as1 as )
(1)s a1 a2 . . . as )
s
X
bj ab+i
j , i 0
j=1
X
1
aij xi =
1
aj x
i=0
Il vient donc:
s (x)
X
s
X
i
bj ab+i
j x =
i=0 j=1
s
X
bj abj
j=1
s
X
bj abj
j=1
j=1
l=1
j=1
aij xi
i=0
1
1 aj x
s
Y
b
b j aj
l=1
l6=j
1
1 aj x
(1 al x) = (x)
3.2. COMPLEMENTS
SUR LES CODES PAR BLOCS LINEAIRES
167
Introduisons ensuite une notation qui permet de designer une partie dun polyn
ome.
Si B(x) est un polyn
ome (de degre fini L ou infini), on definit:
P
j
l
j0
l=i Bl x
j
[B(x)]i
0
j<0
Si en outre j > L, on prend BL+1 = BL+2 = . . . = 0.
On appelle polyn
ome syndrome le polyn
ome suivant:
2
s(x) = s(x) 0 = s0 s1 x . . . s2 x2
Puisque les termes de s(x) de degre superieur `
a 2 interviennent dans le produit
(x)s (x) sous forme de termes dun degre superieur `
a 2, on peut ecrire:
[(x)s (x)]2
= [(x)s(x)]2
= [(x)]2
= (x)
0
0
0
La derni`ere egalite resulte du fait que (x) est de degre inferieur `
a s < 2.
Cette meme remarque implique:
[(x)s(x)]2
=0
s
cest-`
a-dire que les coefficients des termes en xl du produit (x)s(x) sont nuls pour
s l 2.
Plus explicitement on obtient un syst`eme dequations lineaires:
ss
ss+1
.
..
s2
ss1
ss
..
.
s3
...
...
...
...
s0
s1
..
.
s2s
1
2
..
.
s
0
0
..
.
0
3.2.5.7.5 Algorithme g
en
eral Lalgorithme de decodage rapide est donc le suivant:
1. Calculer les syndromes s0 , . . . ,s2 `
a partir du mot recu w;
2. Determiner le polyn
ome localisateur (x) `
a partir des equations developpees
ci-dessus;
3. Trouver les racines de ce polyn
ome et les inverser. Ceci fournit les localisateurs (ak );
4. Si le code est q-aire, trouver les evaluateurs bk .
Plusieurs methodes ont ete developpees pour resoudre letape 2 qui constitue le point
delicat de lalgorithme.
Citons:
la methode matricielle qui, bien que conceptuellement simple, presente une complexite algorithmique plus grande que les autres methodes;
168
La difficulte provient du fait que s, le nombre derreurs dans le mot recu w, est inconnu lors de la resolution du syst`eme dequations lineaires. Le theor`eme suivant affirme
toutefois que (x) peut etre trouve de facon unique meme sans connatre s.
3.2.5.7.6
Th
eor`
eme Soit (x) le polynome localisateur correspondant aux s erreurs entachant le mot recu, avec:
s ( 1)/2
Soit s le plus petit entier pour lequel un polyn
ome
(x) existe tel que:
(x) est de degre s;
0 = 1;
(x) satisfait `
a [
(x)s(x)]2
.
s
Alors s = s et
(x) = (x).
3.2.5.7.7
La m
ethode matricielle
sv1
sv
..
.
s2v2
...
s0
1
sv
sv+1
...
s1
2
.. .. =
..
...
.
.
.
. . . sv1
v
s2v1
v
X
j=1
bj ab+i
0i
j
3.2. COMPLEMENTS
SUR LES CODES PAR BLOCS LINEAIRES
M =
1
a1
..
.
a1v1
1
a2
..
.
av1
2
...
...
...
...
1
av
..
.
av1
v
b1 ab1
0
..
.
0
0
b2 ab2
..
.
0
ai 6= 0
...
...
...
...
0
0
..
.
bs abs
169
v1
a1
.
..
av1
s
av2
1
..
.
av2
s
...
...
...
1
..
.
1
ai 6= aj
i,j
Si v > s, cela signifie que bk = 0 pour k > s et donc que M est singuli`ere.
Si v = s, toutes les conditions sont remplies pour que M soit reguli`ere.
3.2.5.7.7.2
Algorithme de la m
ethode matricielle Lalgorithme particulier
de la methode matricielle est donc le suivant. Il utilise en pratique une matrice notee M 0
qui nest rien dautre que la matrice M bordee du second membre du syst`eme dequations
en i .
sv1 sv . . .
s0
sv
..
..
..
..
M0 =
.
.
...
.
.
s2v2
...
...
sv1
s2v1
ab1
ab+1
1
..
.
ab+s1
1
ab2
ab+1
2
..
.
ab+s1
2
...
...
...
...
abs
ab+1
s
..
.
ab+s1
s
b1
b2
..
.
bs
s0
s1
..
.
ss1
3.2.5.7.7.3
Exemple dapplication de la m
ethode matricielle Soit un
code de Reed-Solomon primitif qui utilise CG(23 ) construit `
a partir de polyn
ome primitif
170
0
1
2 3 4 5 6
0
0
1
2 3 4 5 6
1
1
0
3 6
5 4 2
3
0
4
1
2 6 5
2
2
6
4
5
3
1
3
3
5
6
2 4
4
4 5 2
6
0
1
3
5
5
4
6
3
2
1
0
6
6 2 5
1
4 3
0
Le polyn
ome generateur du code de Reed-Solomon est, si est lelement primitif:
g(x) = (1 x)( x)( 2 x)( 3 x) = 6 5 x 5 x2 2 x3 x4
On remarquera que cet exemple correspond au cas:
b
tc
23 1 = 7
nk
4k=3
w( 0 ) = 6 5 2 1 0 2 = 1
s1
w( 1 ) = 6 2 0 5 4 0 1 = 3
s2
w( 2 ) = 6 3 2 1 1 0 0 = 3
s3
w( 2 ) = 6 4 4 4 2 5 0 6 = 1
M0 =
=
s2 s1 s3
3
et, sous forme en echelon par les lignes:
3
M0 =
0
1
3
3
1
3.2. COMPLEMENTS
SUR LES CODES PAR BLOCS LINEAIRES
171
1
=
0
2
3 1
3 1
=
= ( 3 )1 = 4 = 5
3
0 = 1,1 = 5 ,2 = 1
Le polyn
ome localisateur est:
(x) = 1 5 x x2
a02
a2
1
6
1
0
1
4
b1
b2
b1
b2
b1
b2
=
=
=
s0
s1
1
3
1
6
et donc:
b2 = 6 ( 4 )1 = 6 3 = 9 = 2
b1 b2 = 1 b1 = 1 2 = 1 2 = 6
La configuration derreurs la plus probable est donc:
e = (0, 6 ,0,0,0,0, 2 )
Si bien que le mot-code le plus probable est:
v = w e = ( 6 , 5 , 5 , 2 ,1,0,0)
172
M
ethode de Berlekamp-Massey (1968)
3.2.5.7.8.1 Introduction Nous avons montre precedemment que si le mot recu est
entache de ( 1)/2 erreurs au maximum, le polyn
ome localisateur (x) peut sobtenir
`
a partir du polyn
ome syndrome s(x) en trouvant le polyn
ome (x) de degre minimum
(avec 0 = 1) qui soit solution de:
[(x)s(x)]2
=0
s
Ce probl`eme est equivalent `
a un autre probl`eme qui se presente dans letude de la cryptographie, `
a savoir celui de la synth`ese dun registre `
a decalage `
a reaction lineaire (LFSR:
Linear Feedback Shift Register) permettant dengendrer une suite finie determinee
delements dun champ donne.
3.2.5.7.8.2 Probl`
eme
equivalent du registre `
a d
ecalage `
a r
eaction
lin
eaire Soit un registre `a decalage `a l cellules charge initialement par une sequence
delements s0 ,s1 , . . . ,sl1 dun champ F donne (voir Figure 3.3).
3.2. COMPLEMENTS
SUR LES CODES PAR BLOCS LINEAIRES
173
On definit le polyn
ome de connexion du LFSR:
h(x) = C0 C1 x C2 x2 . . . cl xl , C0 = 1
Ce polyn
ome, associe `
a un jeu de conditions initiales, definit compl`etement la suite
{si }i0 .
Si une cellule i nintervient pas dans la retroaction, cela se traduit par la nullite du
coefficient Cli correspondant.
Un tel LFSR de longueur l et de polyn
ome de connexion h(x) est designe par [h(x),l].
P
Etant
donne un polyn
ome s(x) = i0 si xi , on dit quun LFSR [h(x),l] engendre [s(x)]L
0
si et seulement si, le registre etant initialement charge par s0 ,s1 , . . . ,sl1 , les autres
elements de la suite {si }il definis par la relation de recurrence caracterisant le LFSR,
sont les coefficients restants sl , . . . ,sL du polyn
ome s(x).
On consid`ere ensuite le produit s(x)h(x):
s(x)h(x) =
sj x
1 C1 x C2 x2 . . . cl xl
j0
3.2.5.7.8.3
174
ln
X
Cni sni
i=1
o`
u:
les Cni proviennent de lexpression de hn (x):
hn (x) = 1 Cn1 x Cn2 x2 . . .
Lanomalie de rang n exprime donc la difference entre la veritable valeur s0n , fournie par
le LFSR [hn (x),ln ] et la valeur souhaitee sn :
dn = sn s0n
Si dn = 0 le LFSR reste inchange `
a cette etape de lalgorithme. Si dn 6= 0, un terme
correctif est ajoute au polyn
ome de connexion afin que le LFSR [hn+1 (x),ln+1 ] engendre
correctement sn .
La r`egle detaillee de lalgorithme prevoit qu`
a chaque etape n, le LFSR [hn+1 (x),ln+1 ]
est defini `
a partir du LFSR [hn (x),ln ] et dun LFSR precedent [hkn (x),lkn ] avec kn < n.
La valeur de kn se determine comme suit:
kn1
si ln = ln1
kn =
n1
si ln > ln1
De plus, hn+1 et ln+1 sont donnes par:
hn+1 (x)
ln+1
avec evidemment:
dn nkn
hn (x)
x
hkn (x)
dkn
ln
max [ln ,n (kn lkn )]
Pln
dkn = skn
Pkn
i=1
Ckn i skn i
si dn = 0
si dn =
6 0
3.2. COMPLEMENTS
SUR LES CODES PAR BLOCS LINEAIRES
175
h0 (x) = h1 (x)
l0 = l1
k0
d1
n
-1
0
sn
1
ln
0
0
hn (x)
1
1
dn
1
1
kn
-1
lkn
0
hkn
1
dkn
1
n
-1
0
1
2
3
4
5
6
7
8
sn
1
1
1
0
1
1
0
1
ln
0
0
1
1
1
3
3
3
3
3
hn (x)
1
1
1x
1x
1x
1 x x3
1 x x3
1 x x2
1 x x2
1 x x2
dn
1
1
0
0
1
0
1
0
0
kn
-1
0
0
0
3
3
3
3
lkn
0
0
0
0
1
1
1
1
hkn
1
1
1
1
1x
1x
1x
1x
dkn
1
1
1
1
1
1
1
1
Le LFSR `
a 3 cellules qui engendre la sequence {1,1,1,0,1,1,0,1} est celui de la Figure 3.4.
Les etats successifs de ce registre sont:
1
1
1
0
1
1
0
1
1
1
0
1
1
0
1
1
1
0
1
1
0
1
1
0
et la premi`ere colonne fournit la sequence de sortie qui est bien celle attendue.
176
Calcul des
evaluateurs Le calcul du polynome evaluateur peut
aisement etre integre dans celui du polyn
ome localisateur. Au lieu dutiliser la formule:
(x) = [(x)s(x)]2
0
il suffit en effet dutiliser la formule suivante dans la meme procedure iterative que celle
qui a ete decrite dans lalgorithme de Berlekamp et Massey:
n1 (x) = n (x)
dn nhn
x
hn (x), n 0
dhn
avec:
comme conditions initiales 1 (x) = x1 et 0 (x) = 0;
dn et kn les valeurs obtenues dans lalgorithme de calcul de (x).
La demonstration de ceci sera omise tout comme pour lalgorithme de Berlekamp et
Massey. Lorsque (x) est connu, la determination des evaluateurs bk est immediate.
3.2.5.7.8.7
Enonce
Nous traiterons par cette methode la meme exemple qui a servi `
a illustrer la methode
matricielle.
Remarque
Pour lapplication de lalgorithme de Berlekamp et Massey nous utiliserons les notations
relatives au probl`eme de la synth`ese dun LFSR.
Solution
Le syndrome est s0 = 1,s1 = 3 ,s2 = 3 ,s3 = 1;
Le calcul de (x) et (x):
3.2. COMPLEMENTS
SUR LES CODES PAR BLOCS LINEAIRES
n
-1
0
1
2
3
4
sn
1
3
3
1
ln
0
0
1
1
2
2
hn (x)
1
1
1x
1 3x
1 3 x 4 x2
1 5 x x2
dn
1
1
4
6
kn
-1
0
0
2
lkn
0
0
0
1
hkn
1
1
1
1 3x
dkn
1
1
1
4
kn
x1
0
0
1
177
n
x1
0
1
1
1
1 2x
bk = ak
0 1 1
(a1
k )[ (ak )]
avec:
a1 =
a2 = 6
6
(a1
1 = )
1
(a2 = )
0 = 5
Do`
u:
b1
b2
1 26
1
3
= 5 = 4 = 1 = 6
5
2
3
6 10 1
61
( )
=
= 2
5
5
10
3.2.5.7.9
D
ecodage bas
e sur lalgorithme dEuclide
Algorithme de d
ecodage
178
Remarque
Les etapes 1 et 3 decoulent de ce qui a ete vu precedemment.
Letape 2 suppose deux conditions:
1. k 3 degre ak (x) < t
2. uk (0) 6= 0
On peut demontrer que ces deux conditions dapplicabilite de lalgorithme sont vraies si
le nombre derreurs s est inferieur ou egal `
a t (cest-`
a-dire que la capacite de correction
nest pas depassee).
Si ces deux conditions ne sont pas remplies, il convient de declarer que les erreurs ne
peuvent etre corrigees et par exemple de demander une retransmission.
3.3
Compl
ements sur les codes convolutifs lin
eaires
3.3.1
D
ecodage optimal des codes convolutifs
3.3.1.1
Mod`
eles du canal: d
ecisions dures ou souples
3.3. COMPLEMENTS
SUR LES CODES CONVOLUTIFS LINEAIRES
Informatie
Convolutieve
bron
codegenerator
179
Modulator
{si(t)}
AWGN
Kanaal
Informatie
Convolutieve
bestemmeling
decoder
{si(t)}
Demodulator
bruit. Cette composante bruit est une variable aleatoire gaussienne centree, ce qui signifie
que z(T ) est egalement une variable aleatoire gaussienne centree, mais avec une valeur
moyenne qui est egale `
a a1 ou a2 , suivant quun 1 ou un 0 a ete envoye, respectivement. Ensuite, il faut decider dans un deuxi`eme etage quel signal a ete envoye, par la
comparaison de z(T ) avec une valeur plancher. Les probabilites conditionnelles de z(T ),
cest-`
a-dire p(z|s1 ) et p(z|s2 ), sont representes dans la Figure 3.6. La forme gaussienne des
deux fonctions de densite de probabilite resulte naturellement directement de lhypoth`ese
que le bruit n(t) represente un bruit gaussien centre.
Le demodulateur transforme donc lensemble des variables aleatoires {z(T )} dans une
sequence de codes Z, qui sont envoyes au decodeur. La sortie du demodulateur peut
maintenant etre configure de deux mani`eres differentes. Soit le demodulateur prend un
decision dure relative au fait que z(T ) represente un 1 ou plut
ot un 0. Dans ce cas, la
sortie du demodulateur est quantifiee en deux niveaux 0 en 1 et est envoyee au decodeur.
Si le decodeur ne travaille quavec les decisions dures prises dans le demodulateur, cette
forme de decodage est aussi appelee decodage sur base de decision dure.
Le demodulateur peut cependant encore etre configure de telle facon que z(T ) est quantifie en plus de deux niveaux et envoye au decodeur. Dans ce cas, on parle de decodage
sur base de decision souple. Lorsque le demodulateur envoie une decision dure vers le
decodeur, il le fait `
a laide dun seul bit par intervalle elementaire de temps. Dans le cas
dune decision souple, quantifiee `
a laide de huit niveaux differents ainsi que represente `
a
la Figure 3.6, il faut envoyer trois bits par intervalle elementaire de temps. En fait, lenvoi
de 3 bits au lieu dun seul peut etre considere comme lenvoi dune sorte de mesure de
confiance avec le mot-code. En reference `
a la Figure 3.6, on peut constater que lorsque le
demodulateur envoie la sequence 111 vers le decodeur, cela revient `
a dire, avec une tr`es
grande confiance, que le mot-code est 1. Lenvoi de la sequence 100, revient de la meme
180
Likelihood van s2
p(z | s2)
Likelihood van s1
p(z | s1)
z(T)
000 001 010 011 100 101 110 111
0
mani`ere `
a dire, avec une tr`es faible confiance, que le mot-code est 1. Noublions tout de
meme pas que la decision finale `
a la sortie du decodeur doit etre une decision binaire.
Lidee de ne pas encore prendre dans le demodulateur de decision dure doit donc etre vue
comme lenvoi de plus dinformation au decodeur afin de pouvoir prendre l`
a de meilleures
decision. Dans le cas dun decodage sur base de decisions souples, le decodeur recoit donc
plus dinformation, do`
u une probabilite derreur inferieure au cas de decisions dures. Le
prix `
a payer pour cette probabilite derreur plus faible est le besoin de plus de memoire
dans le decodeur et egalement un fonctionnement qui peut etre ralenti.
Pour un canal gaussien, cette quantification en huit niveaux en une amelioration des
performances denviron 2 dB sur le plan du rapport signal-bruit, en comparaison avec
une quantification en deux niveaux. Cela signifie quun decodeur qui utilise des decisions
souples basees sur huit niveaux peut garantir la meme probabilite derreur quun decodeur
a
` decision dures, mais quil se contente pour cela dun rapport signal `
a bruit 2 dB inferieur.
Une demodulation analogique (ou autrement dit, une quantification avec un nombre
infini de niveaux) resulte dans une amelioration de la performance par rapport `
a une
quantification `
a deux niveaux denviron 2,2 dB. Cela signifie donc que la difference entre
une quantification utilisant huit niveaux et une quantification utilisant un nombre infini
de niveaux (analogiques) nest que de 0,2 dB [12].
Des algorithmes de decodage en bloc et des algorithmes de decodage convolutifs ont ete
developpes pour pouvoir travailler aussi bien avec des decisions dures que des decision
souples. Cependant, le decodage sur base de decision souple nest pas employe dans le cas
des codes en blocs etant donne que cette implementation est beaucoup plus difficile que
dans le cas de decodage sur base de decision dures. Lemploi le plus repandu de decodage
sur base de decisions souples est relie `
a lemploi dalgorithmes de decodage convolutif
Viterbi, etant donne que dans ce cas, la presence de decisions souples nexige quune
augmentation marginale de la charge de calcul.
3.3. COMPLEMENTS
SUR LES CODES CONVOLUTIFS LINEAIRES
3.3.1.2
181
Canal sym
etrique binaire (CSB) - d
ecisions dures
Un canal symetrique binaire (CSB) est un canal discret sans memoire, avec alphabets
dentree et de sortie binaires et des probabilites de transition symetriques. Le CSB peut
etre decrit par les grandeurs conditionnelles suivantes:
P (0|1) = P (1|0) = p;
(3.1)
P (1|1) = P (0|0) = 1 p.
(3.2)
Cela signifie que la probabilite que la sortie diff`ere de lentree (et donc quune erreur de
transmission se soit produite), est egale `
a p, et que la probabilite que la sortie soit la
meme que lentree, est egale `
a 1 p.
Le CSB est un exemple de canal o`
u des decisions dures sont prises. Cela signifie que meme
dans le cas o`
u des signaux variant contin
ument sont recus par le demodulateur , le CSB
nautorise que des decisions dures, de sorte que la sortie du demodulateur zji ne peut
prendre que les valeurs binaires 0 ou 1. Ceci est montre `
a la Figure 3.7. Lindexation de
zji indique le j`eme bit du i`eme mot. Le demodulateur envoie cette sequence Z = {Zi }
au decodeur.
Overgangswaarschijnlijkheden
0
1-p
0
p
Uitgezonden
Ontvangen
p
Signalen
1
1-p
Signalen
1
`
a dm . Etant
donne que le canal CSB est sans memoire, on peut decrire de la mani`ere
suivante la probabilite que la sequence envoyee U (m) aie ete transformee en la sequence
recue Z:
P (Z|U (m) ) = pdm (1 p)Ldm ,
(3.3)
o`
u L represente le nombre de bits dentree.
La fonction log-likelihood est alors:
log P (Z|U (m) ) = dm log
1p
p
+ L log(1 p).
(3.4)
182
Si nous calculons ces valeurs pour chaque sequence pouvant etre envoyee U (m) , alors le
deuxi`eme terme dans cette fonction log-likelihood sera toujours le meme. Sans perte de
generalite on peut de plus aussi supposer que p < 0.5. Lequation (3.4) peut alors etre
reecrite comme suit:
log P (Z|U (m) ) = Adm B,
(3.5)
0
o`
u A en B sont des constantes positives. Cela signifie que le choix du mot-code U (m ) ,
pour lequel la distance de Hamming par rapport `
a la sequence recue Z est minimale
correspond au maximum de la fonction likelihood ou la fonction log-likelihood. Suite `
a
cette constatation, le calcul de la valeur log-likelihood est remplacee dans le cas du CSB
par le calcul de la distance de Hamming. Un decodeur maximum likelihood choisira dans
0
larborescence ou le treillis ,le chemin pour lequel le mot-code correspondant U (m ) se
trouve `
a la distance de Hamming minimale par rapport `
a la sequence recue Z.
3.3.1.3
o`
u n represente le nombre de bits de sortie.
0
Cela revient `
a choisir le mot-code U (m ) qui est le plus proche de Z, si lon utilise une
norme Euclidienne. Bien que les canaux de decisions souples et dures exigent des normes
differentes (respectivement Hamming et Euclidienne), le concept de choix du mot-code
0
U (m ) situe le plus pr`es de la sequence recue Z reste le meme dans les deux cas. Pour
implementer exactement lequation (3.6), le decodeur devrait etre en etat de pouvoir
executer ses traitements analogiques. Ce qui nest pas tr`es realiste etant donne que
le decodeur est toujours implemente sous forme digitale dans la pratique. Il sera donc
necessaire de quantifier les symboles recus zji . Le canal gaussien quantifie, auquel on fait
typiquement reference en tant que canal de decision souple, est le mod`ele de canal qui
etait suppose lors des discussions anterieures du decodage base sur des decisions souples.
3.3.1.4
D
ecodage avec probabilit
e maximale (Maximum de vraisemblance)
Lorsque toutes les sequences dentree (i.e. messages) sont equiprobables, on peut montrer
que le decodeur `
a probabilite derreur minimale est celui qui se base sur la comparaison
des differentes probabilites conditionnelles, dont celle de valeur maximale est choisie. Ces
fonctions de densite de probabilite conditionnelles sont de la forme P (Z|U (m) ), o`
u Z
represente la sequence recue dans le decodeur, et U (m) est lune des sequences transmises
possibles. Ces fonctions sont tr`es souvent designees par leur appellation anglosaxonne
likelihood functions. Le decodeur `
a maximum de vraisemblance choisit comme sequence
0
U (m ) celle qui est la plus probable:
0
(3.7)
3.3. COMPLEMENTS
SUR LES CODES CONVOLUTIFS LINEAIRES
183
(3.8)
et s2 (t) a ete envoye dans lautre cas. Le param`etre z represente z(T ), les etats possibles
`
a lentree de lorgane de decision aux moments t = T , o`
u T est la duree dun symbole.
Remarquons que cest ce quon fait egalement dans le decodage des codes en blocs.
Mais lors de lapplication de cette strategie du maximum de vraisemblance dans le cadre
du decodage de codes convolutifs, il y a typiquement un grand nombre de mots-codes
autorises qui pourraient avoir ete envoyes. Pour etre plus concret on peut poser quun
mot-code compose de L bits est un element dun ensemble de 2L sequences possibles
de L bits. Dans ce cas, on peut dire que la strategie du maximum de vraisemblance
0
conduit `
a un decodeur, qui considerera une sequence bien definie U (m ) comme etant
0
la sequence reellement envoyee lorsque la probabilite conditionnelle P (Z|U (m ) ) est plus
grande que les probabilites conditionnelles de toutes les autres sequences qui auraient pu
etre envoyees. Un tel decodeur optimal qui minimalise la probabilite derreur (cest bien
le cas particulier que nous etudions ici, cest-`
a-dire le cas o`
u nous supposons que toutes
les sequences possibles ont la meme probabilite detre envoyees), est connu sous le nom
decodeur `
a maximum de vraisemblance. Les fonctions de densite de probabilite doivent
soit etre donnees soit etre calculees en tenant compte des caracteristiques du canal de
transmission.
Dans ce qui suit, nous supposerons toujours que le bruit dans le canal de transmission
est additif, blanc, centre (i.e. la moyenne est nulle) et Gaussien. De plus nous supposons
que le canal de transmission est sans memoire, ce qui signifie que le bruit alt`ere chaque
symbole envoye independamment des autres symboles. Pour un code convolutif avec un
rendement de codage de n1 , cela signifie que la probabilite conditionnelle P (Z|U (m) ) peut
etre exprimee de cette mani`ere:
P (Z|U (m) ) =
(m)
P (Zi |Ui
)=
i=1
Y
n
Y
(m)
P (zji |uji ),
(3.9)
i=1 j=1
(m)
o`
u Zi est le i`eme mot de la sequence recue Z, Ui est le i`eme mot dune certaine sequence
de mots-codes U (m) , zji le j`eme symbole-code du mot Zi , et uji est le j`eme symbole-code
(m)
du mot-code Ui , o`
u chaque mot est toujours compose de n symboles-codes.
Le probl`eme du decodage consiste alors en le choix dun chemin (chaque chemin consiste
(m)
en un mot-code Ui ) `
a travers larborescence ou `
a travers le treillis, de sorte que:
Y
n
Y
(m)
(3.10)
i=1 j=1
Sur le plan de la charge de calcul il est en general plus interessant dutiliser le logarithme
des fonctions de vraisemblance, car ceci transforme les produits dans les equations ( 3.9)
et ( 3.10) en des additions plus simples `
a realiser. Il est autorise dutiliser cette transformation vu que le logarithme est une fonction monotone croissante, ce qui donnera le meme
184
X
i=1
(m)
)=
X
n
X
(m)
(3.11)
i=1 j=1
3.3.2
Lalgorithme de d
ecodage Viterbi
3.3.2.1
G
en
eralit
es
Lalgorithme de decodage Viterbi a ete decouvert et analyse par Viterbi en 1967 [36].
Comme dit precedemment, lalgorithme de decodage Viterbi implemente un decodeur
maximum likelihood. La charge de calcul est toutefois reduite par lemploi de la structure particuli`ere du treillis. Le gros avantage du schema de decodage Viterbi par rapport
a
` la methode de decodage exhaustive est que la complexite dun decodeur Viterbi ne
depend pas de la longueur L de la sequence `
a decoder. Lalgorithme est base sur le calcul
dune norme entre le signal recu au moment ti , et tous les chemins dans le treillis qui
se presentent dans chaque etat possible `
a ce moment ti . Lalgorithme de Viterbi elimine
dans le treillis les chemins qui ne peuvent plus etre candidats au choix maximum likelihood. Lorsque deux chemins surviennent dans le meme etat au meme moment ti , cest le
chemin ayant la plus petite norme qui est choisi. Ce chemin est appele le chemin survivant. Cette selection de chemins survivants est effectuee pour tous les etats. Le decodeur
progresse de cette mani`ere dans le treillis en eliminant au fur et `
a mesure les chemins les
moins probables. Lelimination rapide de ces chemins improbables reduit la complexite du
decodeur. En 1969 Omura demontra que lalgorithme de Viterbi nest en fait rien dautre
quun decodeur maximum likelihood [24]. Remarquons que la formalisation de la selection
du chemin optimal peut etre exprime de deux mani`eres differentes equivalentes: dune
3.3. COMPLEMENTS
SUR LES CODES CONVOLUTIFS LINEAIRES
185
part comme le choix du mot-code de likelihood maximal, dautre part comme le choix du
mot-code de norme minimale. Cet algorithme est aussi une application de la methode
de programmation dynamique de Bellman (voir aussi le cours Syst`emes de Regulation
enseigne par le Professeur Acheroy).
3.3.2.2
D
ecodage optimal de codes convolutifs
Lors du decodage dun code en bloc dans le cas dun canal sans memoire, la distance (de
Hamming dans le cas dun decodeur base sur des decisions souples et Euclidienne dans le
cas dun decodeur base sur des decisions souples) est calculee entre le mot recu de L bits
et les 2k mots-codes ayant pu etre envoyes. Le mot-code le plus proche de la sequence
envoyee est ensuite choisi. On peut demontrer que cette r`egle de decision est optimale
dans le sens o`
u elle m`ene `
a une probabilite minimale derreur pour le Canal Symetrique
Binaire avec p < 12 et pour le canal avec bruit blanc additif gaussien (AWGN).
Contrairement `
a un code en bloc, qui a une longueur fixe, le code convolutif est en fait
une machine `
a etat fini (E: finite-state machine). Ce concept a dej`
a ete expose auparavant
Ingangssequentie
2
Uitgangssequentie
186
Toestand
a
000
000
111
111
000
000
011
011
111
000
111
011
b
100
111
001
110
001
110
010
100
100
001
110
001
110
010
010
d
101
101
101
Legende
Input bit 0
Input bit 1
Toestand
a
000
000
000
011
b
111
001
c
d
Legende
Input bit 0
Input bit 1
Figure 3.10 Deux chemins qui partent de letat a et qui se rejoignent apr`es trois
branches.
3.3. COMPLEMENTS
SUR LES CODES CONVOLUTIFS LINEAIRES
187
1, 2, 3 et m = 1, 2, 3, o`
u lindex j determine la j-`eme branche et lindex m le m-`eme bit
dans la branche consideree. De la meme mani`ere nous utiliserons `
a partir de maintenant
pour les bits recus (`
a la sortie du demodulateur) la notation rjm , avec j = 1, 2, 3 et
m = 1, 2, 3. Si le detecteur est base sur des decision dures, sa sortie pour chaque bit
envoye est soit 0 soit 1.
Dans le cas o`
u le decodeur est base sur des decision souples et si la sequence codee est
envoyee par exemple `
a laide de PSK binaire coherente alors la sortie du decodeur est:
c (2cjm 1) + njm ,
(3.12)
o`
u njm represente le bruit additif et c lenergie du signal envoye par bit de code.
La determination de la probabilite associee `
a la j`eme branche du i`eme chemin au travers
du treillis, se fait via le calcul du logarithme de la probabilite combinee de la sequence
rjm , avec m = 1, 2, 3, conditionne par la sequence envoyee cjm , avec m = 1, 2, 3 pour le
i`eme chemin. Cela signifie:
rjm =
(i)
(i)
j = 1, 2, 3, . . .
(3.13)
B
X
(i)
j .
(3.14)
j=1
(1)
= 4 log(1 p) + 5 log p
(3.15)
(3.16)
o`
u p est la probabilite de recevoir un bit errone. Dans lhypoth`ese o`
u p < 12 , on trouve
(0)
que la probabilite associee P M
est plus grande que la probabilite associee P M (1) . Ce
resultat est coherent avec lobservation que le chemin compose uniquement de zeros se
trouve `
a une distance de Hamming d = 3 de la sequence recue, tandis que le chemin i = 1
se trouve `
a une distance de Hamming d = 5 de la sequence recue. Cela signifie aussi que
la distance de Hamming est une norme equivalente dans le cas de decodage base sur des
decisions dures.
Considerons de la meme mani`ere que le decodage a lieu sur base de decisions souples et
que le canal est caracterise par du bruit gaussien additif qui sajoute au signal. Dans ces
circonstances, la sortie du demodulateur est decrite statistiquement par la fonction de
densite de probabilite suivante:
h
i2
rjm c (2c(i)
1)
jm
1
(i)
p(rjm |cjm ) =
exp
,
(3.17)
2 2
2
188
o`
u 2 = 12 N0 est la variance du bruit additif gaussien. Si lon neglige les termes des
probabilites associees qui sont identiques pour toutes les branches, la probabilite associee
pour la j`eme branche du i`eme chemin peut etre exprimee comme:
(i)
j =
n
X
(i)
(3.18)
m=1
o`
u, dans notre exemple, n = 3. Cela signifie que les mesures de correlation (voir la theorie
du recepteur optimal) pour les deux chemins consideres sont les suivantes:
CM (0) =
3 X
3
X
(0)
(3.19)
(1)
(3.20)
j=1 m=1
CM (1) =
3 X
3
X
j=1 m=1
Apr`es avoir defini la norme de branche et la norme de chemin ainsi quelle est calculee
par le decodeur, nous considerons maintenant lemploi de lalgorithme de Viterbi pour le
decodage optimal de la sequence dentree codee de mani`ere convolutive. Nous considerons
pour cela les deux chemins decrits precedemment et qui se rejoignent dans letat a apr`es
trois transitions. Remarquons que nimporte quel chemin issu de cet etat ajoutera des
termes identiques aux normes de chemin CM (0) et CM (1) . Il en decoule que si CM (0) >
CM (1) au noeud o`
u les deux chemins se rejoignent apr`es trois transitions, CM (0) restera
(1)
superieur `
a CM
pour tout chemin issu de ce noeud. Cela signifie aussi que le chemin
qui correspond `
a CM (1) nentre plus en consideration. Le chemin appartenant `
a la norme
CM (0) est alors appele le chemin survivant. On peut eliminer de la meme mani`ere lun des
deux chemins qui se rejoignent dans letat b, sur base des deux normes correspondantes.
La meme procedure est alors repetee pour les etats c et d. Comme resultat de cette
elimination, il ne reste apr`es les trois premi`eres transitions que quatre chemins survivants:
un par etat. Cette procedure est repetee `
a chaque pas dans le treillis lorsque les nouveaux
signaux sont recus dans les intervalles de temps suivants.
En general, lorsquun code binaire convolutif avec k = 1 de longueur de memoire K est
decode par lalgorithme de Viterbi , il y a 2K1 etats. Cela signifie qu`
a chaque pas il y a
2K1 chemins survivants, avec eventuellement des normes correspondantes. Dans le cas
o`
u nous utilisons un code binaire convolutif o`
u k bits sont decales simultanement dans
le registre `
a decalage `
a Kk cellules, un treillis `
a 2k(K1) etats est genere. Cela signifie
que le decodage dun tel code `
a laide de lalgorithme de Viterbi requiert la mise en
memoire de 2k(K1) chemins survivants et autant de normes correspondantes. A chaque
pas dans le treillis il y a 2k chemins qui se rejoignent `
a chaque noeud. Vu que chaque
chemin arrivant en un noeud commun exige le calcul dun norme, 2k normes doivent etre
calculees pour chaque noeud. De ces 2k chemins qui se rejoignent en chaque noeud, un
seul survit. Ce chemin est le chemin le plus probable (celui `
a la plus petite distance). Cela
signifie que le nombre de calculs `
a chaque pas augmente exponentiellement avec k et K.
Cette augmentation exponentielle de la charge de calcul limite lemploi de lalgorithme
de Viterbi `
a des valeurs relativement petites de k et K.
Le ralentissement du decodage qui survient lors du decodage dune longue sequence
dentree codee de mani`ere convolutive, est bien trop grand pour la plupart des applications pratiques. Une solution `
a ce probl`eme (qui limite par la meme occasion
considerablement la memoire requise), est dadapter lalgorithme de Viterbi de facon
a
` introduire un ralentissement du decodage fixe , sans que la performance optimale
de lalgorithme soit fondamentalement alteree. Cette modification de lalgorithme de
3.3. COMPLEMENTS
SUR LES CODES CONVOLUTIFS LINEAIRES
189
Viterbi consiste `
a ne retenir `
a chaque moment t dans chaque chemin survivant que les
bits dentree (symboles) les plus recents. Lors de la reception de chaque bit dentree
(symbole), une decision definitive est prise concernant le bit (symbole) qui a ete recu
pas plus t
ot dans le treillis. Cette decision est prise en comparant les normes des chemins
survivants et en decidant `
a lavantage du bit pour lequel la sequence correspondante a la
plus grande norme. Lorsque est choisi suffisamment grand, toutes les sequences survivantes contiendront le meme bit code (symbole) positions en arri`ere. Cela signifie avec
une grande probabilite que toutes les sequence survivantes au moment t sont issues du
meme noeud au moment t . On a constate experimentalement `
a laide de simulations
par ordinateur quun ralentissement de 5K entrane une degradation negligeable de
la performance par rapport `
a lalgorithme de decodage Viterbi optimal [26].
3.3.2.3
Application de lalgorithme de d
ecodage Viterbi `
a un exemple
simple
input bit
1e gecodeerde bit
Uitgangssequentie
2e gecodeerde bit
190
Toestand
t1
a = 00
00
00
t2
11
t4
00
t3
00
11
00
10
t6
11
11
11
b = 10
t5
00
11
11
11
00
00
Tak codewoord
10
10
10
c = 01
01
01
01
01
01
d = 11
10
10
10
01
01
Legende
Input bit 0
Input bit 1
Toestand
t1
a = 00
t2
t4
t3
1
b = 10
t5
t6
1
1
Tak afstand
1
c = 01
0
d = 11
2
0
1
Inputsequentie m:
Tx codewoord U:
11
01
01
00
01
Rx sequentie Z:
11
00
01
00
01
3.3. COMPLEMENTS
SUR LES CODES CONVOLUTIFS LINEAIRES
191
Dans la Figure 3.13 on voit dans la sequence Z que les codes symboles recus au moment
t1 sont 11. Afin de pouvoir etiqueter les branches dans le decodeur au moment t1 avec
la distance de Hamming correcte, nous regardons le treillis de la Figure 3.11. On y voit
quun passage de letat 00 `
a letat 00 produit le mot code 00. Mais nous avons en fait recu
11. Pour cette raison, le passage de letat 00 vers letat 00 dans le decodeur est etiquete
par la distance de Hamming entre ces deux symboles, cest-`
a-dire 2. De retour dans le
generateur de code, nous voyons quun passage de letat 00 vers un etat 10 engendre le
mot code 11, ce qui correspond exactement `
a la sequence recue. Le passage de letat 00
vers letat 10 dans le decodeur est donc etiquete avec une distance de Hamming de 0.
Chacune des branches du treillis sont donc etiquetees de cette mani`ere au fur et `
a mesure
que les codes symboles sont recus `
a chaque moment ti . Lalgorithme de decodage utilise
alors ces distances de Hamming afin de trouver le chemin le plus probable (distance de
Hamming la plus petite) `
a travers le treillis.
A la base du decodage Viterbi se trouve la constatation suivante: chaque fois que deux
chemins quelconques se rencontrent dans un etat commun, on peut toujours en supprimer un dans la recherche dun chemin optimal. En guise dillustration, on montre `
a la
Figure 3.14 le cas de deux chemins qui se rencontrent dans letat 00 au moment t5 .
Pad afstand = 2
Toestand
t1
a = 00
t4
t3
t2
t5
0
1
b = 10
1
Pad afstand = 3
c = 01
1
d = 11
192
Pad afstanden
a = 00
t1
t2
D=2
0
D=0
b = 10
t1
t2
0
t3
D=2
2
D=4
b = 10
1
c = 01
d = 11
D=1
D=1
3.3. COMPLEMENTS
SUR LES CODES CONVOLUTIFS LINEAIRES
t1
a = 00
t2
t3
t4
1
1
b = 10
2
0
c = 01
1
d = 11
Pad afstanden
a = 00
t1
t4
t3
t2
0
b = 10
D=2
D=1
c = 01
1
d = 11
Uitgang:
D=2
0
2
D=3
193
194
t1
t4
t3
t2
t5
0
1
b = 10
2
0
1
1
c = 01
0
1
d = 11
a = 00
t1
t4
t3
t2
t5
D=2
0
1
b = 10
D=1
0
1
1
1
c = 01
1
D=3
D=3
d = 11
3.3. COMPLEMENTS
SUR LES CODES CONVOLUTIFS LINEAIRES
a = 00
t1
t4
t3
t2
t5
195
t6
1
b = 10
1
1
c = 01
d = 11
a = 00
t1
t4
t3
t2
t5
t6
D=3
1
1
b = 10
D=3
0
1
2
D=3
c = 01
1
0
0
D=1
d = 11
196
3.3.2.4
Les exigences en memoire du decodeur Viterbi croissent exponentiellement avec la longueur de memoire K. Dans le cas dun code de rendement de codage n1 , le decodeur
conserve un ensemble de 2K1 chemins apr`es chaque etape de decodage. On peut dire
avec une grande probabilite que tous ces 2K1 chemins auront un tronc commun et que
ce nest qu`
a la fin quils se ramifient en les differents etats [12]. Si le decodeur conserve
suffisamment la prehistoire de ces chemins, tous les bits les plus anciens seront les memes
sur chaque chemin. Il est d`es lors possible dimplementer un decodeur elementaire, qui ne
retient quune prehistoire fixe des chemins et qui ajoute le bit le plus ancien dun chemin
quelconque `
a la sequence dej`
a codee chaque fois quil avance dune etape dans le treillis.
La longueur de memoire u necessaire pour retenir tous les chemins serait alors egale `
a
[12]:
u = h2K1 ,
(3.21)
o`
u h represente la prehistoire fixe des chemins par etat. Une amelioration supplementaire,
qui permet de minimaliser la valeur de h, utilise le bit le plus ancien du chemin le plus
probable, au lieu du bit le plus ancien dun chemin quelconque. On a pu prouver quune
valeur pour h egale `
a 4 ou 5 fois la longueur de memoire K est suffisante pour une
performance quasi optimale du decodeur [12]. Lexigence en memoire u est la limitation principale `
a limplementation dun decodeur Viterbi. La longueur de memoire des
decodeurs actuels reste le plus souvent limitee `
a K = 10. Les efforts faits pour continuer
`
a augmenter le gain de codage en utilisant des longueurs de memoire encore plus grandes,
sont decourages par laugmentation exponentielle de la complexite du decodeur et par
lexigence en memoire telle que decrite dans lequation (3.21).
3.3.3
Propri
et
es des codes convolutifs
3.3.3.1
input bit
1e gecodeerde bit
Uitgangssequentie
2e gecodeerde bit
3.3. COMPLEMENTS
SUR LES CODES CONVOLUTIFS LINEAIRES
Toestand
t1
a = 00
00
11
t2
00
t4
00
t3
11
b = 10
10
t5
00
11
11
11
11
00
00
Tak codewoord
10
10
10
t6
11
11
00
00
197
c = 01
01
01
01
d = 11
10
01
01
10
01
01
10
Legende
Input bit 0
Input bit 1
Nous voulons maintenant evaluer la distance entre toutes les paires possibles de sequences
de mots-code. Ce qui nous interesse, cest la distance minimale entre toutes les paires de
telles sequences de mots-code, etant donne que cette distance minimale est determinante
pour la capacite de correction derreur du code. Un code convolutif est un code lineaire
et pour de tels codes on peut montrer quon ne perd aucune generalite lorsquon calcule
cette distance minimale entre toutes les paires possibles de sequences de mots-code en
calculant tout simplement la distance entre chaque sequence de mots-code et une sequence
consistant en des zeros uniquement. Dans lhypoth`ese o`
u une sequence ne contenant que
des zeros est envoyee, les chemins qui nous interessent alors sont ceux qui commencent et
terminent dans letat 00 et qui ne reviennent pas entre temps dans letat 00. Une erreur
se produira chaque fois que la distance de nimporte quel autre chemin qui aboutit `
a
letat a = 00 au moment ti sera plus petite que la distance du chemin qui consiste en
des zeros uniquement jusquau moment ti . Cela signifierait effectivement que le chemin
qui consiste en zeros au moment ti est ecarte du processus de decodage. Le fait que
le chemin consistant en zeros ne survit pas signifie naturellement aussi immediatement
quune erreur va se produire. La distance minimale pour commettre une telle erreur peut
etre trouvee en examinant de mani`ere exhaustive tous les chemins qui partent de et
aboutissent `
a letat 00. Pour calculer cette distance minimale nous allons tout dabord
re-dessiner le treillis de la figure precedente. Dans la Figure 3.25 chaque branche du treillis
a ete representee avec ses distances de Hamming respectives jusquau chemin consistant
en zeros, et non jusquau mot-code correspondant comme cetait le cas `
a la Figure 3.24.
Considerons maintenant tous les chemins qui partent de letat 00 et qui y re-aboutissent
ensuite (plus tard) en un noeud quelconque. Avec linformation disponible dans la Figure 3.25 on peut maintenant calculer la distance de chacun de ces chemins jusquau
chemin consistant en zeros. Il existe un chemin de distance 5 par rapport au chemin
consistant en zeros: ce chemin quitte le chemin consistant en zeros au moment t1 , pour
sy refondre au moment t4 . De la meme mani`ere on peut voir quil y a deux chemins qui
se trouvent `
a une distance 6: un premier qui part en t1 et arrive en t5 , et un autre qui
part en t1 et arrive en t6 . Ce meme raisonnement peut etre suivi pour des chemins de plus
grande distance (encore). Utilisant linformation contenue dans le type de trait (plein ou
pointille), on peut facilement verifier que les bits dentree pour le chemin de norme de
distance 5 sont les bits 100. Cette sequence dentree ne diff`ere de la sequence dentree
correcte 000 que dun seul bit. De la meme mani`ere on peut verifier que les bits dentree
198
Toestand
t1
a = 00
0
2
t2
t4
t3
b = 10
t5
t6
c = 01
1
d = 11
1
1
1
1
1
df 1
,
2
(3.22)
o`
u bxc represente le plus grand entier qui nest pas plus grand que x. Avec une distance
libre df = 5 nous voyons que le code convolutif represente `
a la Figure 3.23 peut corriger nimporte quelle paire derreur de canal. En passant des codes en bloc aux codes
convolutifs nous devons interpreter lequation (3.22) avec la prudence necessaire. La seule
mani`ere correcte de faire cela est de poser que le code convolutif, dans le cas dun decodage
Viterbi, peut corriger tc erreurs de canal en quelques longueurs de memoire, o`
u quelques
signifie ici 3 `
a 5. La longueur exacte depend de la distribution des erreurs. Dans le cadre
de ce cours nous ninsisterons pas davantage l`
a-dessus.
3.3.3.2
Un code convolutif systematique est un code dans lequel les k bits dentree apparaissent
non codes comme une partie des n bits de sortie. La figure 3.26 montre un generateur
de code convolutif binaire systematique de rendement de codage 12 et de longueur de
memoire K = 3.
Pour les codes en bloc lineaires, tout code non systematique peut etre transforme en
un code equivalent systematique (i.e. avec les memes proprietes de distance et donc les
memes capacites de detection et de correction derreur). Ce nest cependant pas le cas des
codes convolutifs. La raison en est que le fait de rendre systematique un code convolutif
a en general comme consequence que la distance libre de ce code diminue, pour une
longueur de memoire et un rendement de codage donnes.
Le tableau 3.3 montre la distance libre maximale pour des codes systematiques et non
systematiques de rendement de codage 21 et pour une longueur de memoire K qui va
3.3. COMPLEMENTS
SUR LES CODES CONVOLUTIFS LINEAIRES
199
input bit
1e gecodeerde bit
Uitgangssequentie
2e gecodeerde bit
Figure 3.26 Schema dun generateur de code convolutif systematique de rendement de codage 12 et de longueur de memoire K = 3.
de 2 `
a 8. Pour des longueurs de memoire plus longues, les valeurs divergent davantage
encore [37].
Table 3.3 Comparaison de la distance libre pour des codes systematiques et non
systematiques.
Longueur de memoire K
2
3
4
5
6
7
8
3.3.3.3
Code systematique
3
4
4
5
6
6
7
g2 (X) = 1 + X .
(3.23)
(3.24)
200
input bit
1e gecodeerde bit
Uitgangssequentie
2e gecodeerde bit
Figure 3.27 Schema dun generateur de code convolutif qui presente un comportement de propagation derreur catastrophique.
Les polyn
omes de connexion g1 (X) et g2 (X) ont le polyn
ome 1 + X comme facteur
commun, vu que en Z2 :
1 + X 2 = (1 + X)(1 + X).
(3.25)
Compte tenu de la condition necessaire et suffisante mentionnee plus haut cela signifie que le generateur de code convolutif represente `
a la figure 3.27 peut presenter un
comportement de propagation derreur catastrophique.
Une autre mani`ere de constater si une propagation catastrophique derreur peut se produire est dexaminer le diagramme detat du generateur de code considere. On peut en
effet montrer quun comportement de propagation derreur catastrophique ne peut se
produire que sil existe une boucle dans le diagramme detat, dont le poids (i.e. la distance au chemin consistant en zeros) est nul. Pour illustrer ceci, on a represente `
a la
figure 3.28 le diagramme detat du generateur de code convolutif de la figure 3.27.
10
a
00
11
10
10
01
c
01
01
e
00
11
11
00
Figure 3.28 Diagramme detat dun generateur de code convolutif qui presente
un comportement de propagation derreur catastrophique.
Dans ce diagramme detat, letat a = 00 est divise en deux noeuds a = 00 et e = 00,
3.3. COMPLEMENTS
SUR LES CODES CONVOLUTIFS LINEAIRES
201
o`
u a represente lentree du diagramme detat et e la sortie. Ceci nous permet de suivre
facilement chaque chemin qui part de letat 00 (i.e. noeud a) et qui revient `
a letat 00
(i.e. noeud e). Lorsque nous considerons `
a nouveau que le chemin compose de zeros est le
chemin correct, nous constatons que le chemin errone a b d d . . . d c e contient exactement
6 uns, independamment du nombre de fois que nous parcourons la boucle presente au
noeud d.
u chaque additionneur
Remarquons que dans le cas dun code de rendement de codage n1 , o`
modulo-2 a un nombre pair de connexions, la boucle fermee qui correspond `
a letat
compose uniquement de uns aura un poids egal `
a zero. Cela signifie quun tel code
presentera un comportement de propagation derreur catastrophique.
Le seul avantage dun code systematique comme nous lavons decrit est quun tel code
ne presente jamais un comportement de propagation derreur catastrophique. Cest une
consequence directe du fait que chaque boucle fermee doit contenir au minimum une
branche qui a ete generee par un bit dentree non nul, ce qui signifie donc que chaque
boucle fermee doit avoir un symbole code non nul.
3.3.3.4
Gain de codage
Le gain de codage est defini comme la diminution, le plus souvent exprimee en decibel,
du rapport signal-bruit requis pour obtenir une certaine probabilite derreur, lorsquon
compare les performances dun syst`eme code par rapport `
a celles dun syst`eme non code,
tous les autres param`etres etant identiques (type de modulation, caracteristiques de canal,
. . .). Dans le tableau 3.4 est donnee une limite superieure du gain de codage qui peut
etre obtenu par lemploi dun code convolutif de rendement de codage 12 dans le cas
dune modulation BPSK dans un canal gaussien, si lon utilise un decodeur base sur des
decision dures. Ce gain de codage est donne pour differentes longueur de memoire K et
pour plusieurs distances libres df .
Table 3.4 Limite superieure du gain de codage dun code convolutif de rendement
de codage egal `
a 12 .
Longueur de memoire K
3
4
5
6
7
8
9
Distance libre df
5
6
7
8
10
10
12
Dans le tableau 3.4, la meme chose est faite, mais pour un code convolutif plus robuste
de rendement de codage 13 .
Ces tableaux montrent quil est possible dobtenir des gains de codage significatifs, meme
avec des codes convolutifs elementaires. On peut demontrer que le gain de codage reel
depend de la probabilite derreur requise [2].
202
Table 3.5 Limite superieure du gain de codage pour un code convolutif de rendement de codage egal `
a 13 .
Longueur de memoire K
3
4
5
6
7
8
9
3.3.3.5
Distance libre df
8
10
12
13
15
16
18
3.4
Dans cette section nous comparerons (ulterieurement) les avantages relatives des codes
par blocs et convolutifs dans des applications pratiques [21].
3.5
3.5.1
Entrelacement (Interleaving)
Introduction
Dans ce chapitre nous avons toujours suppose que le canal etait sans memoire, puisque
nous avons toujours considere des codes qui sont developpes pour combattre des erreurs
independantes qui sont distribuees de mani`ere aleatoire. Un canal avec memoire est un
canal pour lequel les erreurs successives introduites lors de la transmission presentent
une dependance mutuelle. Un exemple de ce genre de canal est un canal qui presente
un phenom`ene que lon appelle le fading, surtout si ce fading varie de mani`ere lente
en comparaison avec la duree dun symbole. Un autre exemple, appele multi-trajet, de
ce genre de canal est du `
a larrivee `
a lentree du recepteur de signaux qui se sont propages sur plusieurs trajets de longueurs differentes. Leffet de ceci est que ces signaux
203
A B C D E
G A B C D E
Noise spike
G A B C D E
XXXXXXX
3
G A B C D E
G A B C D E
D
E
A A A A A A A B B B B B B B C C C C C C C D D D D D D D E
E
1
F
2
F
3
F
5
G A B C D E
G G G G G G G
G A B C D E
204
CHAPITRE 3. CODAGE DE CANAL
205
envergure dune duree de sept symboles. La sequence entrelacee est alors utilisee pour
moduler une forme donde, qui est alors emise sur le canal de transmission. Comme
represente `
a la Figure 3.29, linfluence dune impulsion de bruit de sept moments est dans
ce cas specifique limitee `
a seulement un symbole de code par mot-code! A la reception
la sequence de donnees passe dabord par une operation de des-entrelacement, apr`es
laquelle elle ressemble `
a nouveau `
a la sequence codee originale. Cest seulement apr`es
que les donnees sont decodees. Et puisque chaque mot-code poss`ede une capacite de
correction derreurs de 1 et comme il ny a quun seul symbole errone par mot-code, ce
genre dimpulsion de bruit na pas deffets degradants sur la sequence de donnees finales,
gr
ace au mecanisme de lentrelacement.
Les techniques dentrelacement se sont averees utiles pendant lutilisation de tous les
types de codes en blocs et convolutifs decrits ci-dessus. On utilise en general deux types
dentrelacement: lentrelacement par bloc et lentrelacement convolutif. Ils sont tous les
deux decrits ci-apr`es.
3.5.2
Dans un entrelacement par bloc, les symboles codes sont recus par blocs, puis sont permutes. La permutation dun bloc est en general obtenue en remplissant les colonnes
dune matrice de M lignes et N colonnes avec la sequence codee. Lorsque cette matrice
est compl`etement remplie, les symboles sont lus ligne par ligne, envoyes vers le modulateur et emis sur la voie de transmission. Du c
ote du recepteur, loperation inverse de
des-entrelacement est effectuee sur les symboles qui proviennent du demodulateur. Pour
un des-entrelacement, les symboles sont alimentes ligne par ligne dans la meme matrice
et lus colonne par colonne. Ces symboles sont alors envoyes vers le decodeur. Figure 3.30
presente un exemple simple dun entrelacement par bloc, o`
u M = 4 lignes et N = 6
colonnes. Les chiffres dans cette matrice donnent lordre dans laquelle les 24 symboles de
IN
N = 6 Columns
M = 4 Rows
OUT
1
13
17
21
10
14
18
22
11
15
19
23
12
16
20
24
206
codes ont ete rentres (colonne par colonne). La sequence de sortie vers lemetteur consiste
en les symboles de code qui ont ete lus dans la matrice, ligne par ligne. Les caracteristiques
les plus importantes de ce genre dentrelacement par bloc sont les suivantes:
1. chaque paquet de N erreurs adjacentes, resulte dans des erreurs isolees apr`es desentrelacement, qui sont espacees dau moins M symboles;
2. une sequence periodique derreurs isolees qui sont espacees de N symboles, resulte
dans une seule sequence derreurs de longueur M apr`es des-entrelacement;
3. le retard d
u `
a lutilisation de la combinaison entrelacement/ des-entrelacement
est approximativement egal `
a 2M N fois la duree dun symbole. Pour etre plus
exacte, seuls M (N 1) + 1 cellules memoire doivent etre remplies, avant que la
transmission peut commencer (cest-`
a-dire que la transmission peut commencer `
a
partir du moment que le premier symbole de la derni`ere colonne de la matrice M.N
a ete rentre). Un nombre correspondant de cellules doivent etre remplies du c
ote du
recepteur, avant de pouvoir commencer le decodage. Donc le retard minimal d
u`
a
lutilisation dun entrelacement et un des-entrelacement est de (2M N 2M +2) fois
la duree dun symbole, sans tenir compte deventuels retards dus `
a la propagation
sur la voie de transmission;
4. la capacite de memoire requise est de M N symboles, et ceci aussi bien pour lentrelacement que pour le des-entrelacement. Pourtant, en pratique, on prevoit dhabitude le double en espace memoire par entrelacement/des-entrelacement, puisque
chaque matrice M.N doit etre remplie presque compl`etement avant de pouvoir etre
utilisee. De cette facon, une matrice peut etre remplie, pendant que lautre est en
train detre lue, et vice versa.
En cas dutilisation dun code qui dispose dune capacite de correction derreurs egale `
a
1, les param`etres de lentrelacement sont typiquement selectionnes de telle facon que le
nombre de colonnes N depasse la longueur attendue du paquet derreurs. Le choix du
nombre de lignes M depend du schema de codage utilise. Pour des codes en blocs, M doit
etre plus grand que la longueur des mots-codes, tandis que pour des codes convolutifs,
M devrait etre plus grand que la contrainte de memoire. De cette mani`ere un paquet
derreurs de longueur N donne lieu `
a maximum une seule erreur dans un mot-code
arbitraire. De la meme facon il y aura, dans le cas des codes convolutifs, quune seule
erreur dans une contrainte de memoire de decodage arbitraire. Pour des codes ayant une
capacite de correction derreurs egale `
a t, avec (t > 1), le choix de N ne doit depasser
que la longueur attendue du paquet derreurs divisee par t.
3.5.3
Lentrelacement convolutif
Lentrelacement convolutif `
a ete propose par Ramsey et Forney. La structure presentee
par Forney est presentee `
a la Figure 3.31. Les symboles de code sont rentres
sequentiellement dans un banc de N registres `
a decalage. Chaque registre successif
peut stocker (memoire) J symboles en plus que le registre precedent. Le registre dordre
0 na pas de memoire (le symbole est transmis immediatement). A chaque nouveau
symbole de code les commutateurs se positionnent sur le registre o`
u le nouveau symbole de code est entre. Le symbole de code le plus vieux present dans ce registre est
sorti vers le modulateur/emetteur. Apr`es le (N 1)-i`eme registre les commutateurs se
repositionnent `
a nouveau sur le registre dordre 0 et le processus redemarre. Au desentrelacement loperation inverse est appliquee; les commutateurs `
a lentree et `
a la sortie,
aussi bien pour lentrelacement que pour le des-entrelacement, doivent evidemment etre
synchronises.
Figure 3.32 presente un exemple dun entrelacement convolutif simple, `
a laide de quatre
registres et avec J = 1. La sortie du des-entrelacement synchronise vers le decodeur est
207
(N1)J
Commutator
switches
J
(N2)J
2J
2J
From
Channel
encoder
To
decoder
(N2)J
(N1)J
Interleaver
Deinterleaver
3.5.4
Un code enchane est un code qui utilise deux niveaux de codage: un code externe et un
code interne. La Figure 3.33 presente lordre de codage et decodage.
Le code interne, cest-`
a-dire celui qui realise linterface avec le modulateur/demodulateur,
208
Interleaver
Deinterleaver
1
Channel
8 4
5 1
9 5 1
10
10
11
Channel
To
decoder
1
11
Commutator
switches
1
Channel
12
12 8 4
13
14
15
16
14
15
13
13 9 5
10
10
11
16 12 8
Channel
Outer
Interleave
encoder
209
Inner
encoder
Interference
Decoded
data
Outer
De
Inner
decoder
interleaver
decoder
Modulator
Channel
De
modulator
Figure 3.33 Schema dune voie de transmission avec utilisation de codes enchanes.
210
3.6
Turbocodes
3.6.1
Introduction
Des schemas de codage concatenes ont dabord ete introduits pour atteindre des grands
gains de codage en combinant deux ou plus de codes-constituants relativement simples.
Les codes resultants avaient la capacite de correction de codes beaucoup plus longues et
ils etaient dotes dune structure qui permettait de decoder dune mani`ere relativement
simple `
a moyennement complexe. Une concatenation serielle de codes est la plupart du
temps utilisee dans le cas de syst`emes `
a puissance limitee, comme cest par exemple le
cas des emetteurs des soit-disant deep-space probes.
Un turbocode peut etre considere comme un raffinement du schema de codage concatene
avec en plus un algorithme iteratif pour le decodage de la sequence de code associee.
Les turbocodes ont ete introduit pour la premi`ere fois en 1993 par Berrou, Glavieux et
Thitimajshima dans une publication o`
u un schema etait decrit qui permettait datteindre
une probabilite derreur de 105 , en utilisant un code de rendement 1/2, sur un canal
AWGN avec une modulation BPSK pour un rapport signal-bruit de 0,7 dB. Les codes
sont construits en utilisant deux ou plus de codes-constituants sur differentes versions entrelacees de la meme sequence dinformation. L`
a o`
u, dans le cas de codes conventionnels,
la derni`ere etape dans le decodeur prend des decisions dures pour arriver aux bits decodes
(ou plus generalement aux symboles decodes), nous avons dans le cas dun schema concatene comme pour un turbocode que, afin de pouvoir travailler correctement, lalgorithme
de decodage ne peut pas se limiter `
a echanger des decisions dures entre les differents
decodeurs.
En effet, afin dutiliser linformation en provenance de lautre decodeur de la meilleure
facon, lalgorithme de decodage doit echanger des decisions souples au lieu de dures entre
les decodeurs. Pour un syst`eme `
a deux codes-constituants, le concept derri`ere le turbodecodage est de passer des informations souples de la sortie de ce premier decodeur vers
lentree de lautre decodeur et de parcourir ce processus de facon iterative, afin dobtenir
des decisions plus fiables.
3.6.2
Concept
3.6.2.1
Fonctions Likelihood
Les fondements mathematiques pour les tests dhypoth`ese sont bases sur le theor`eme de
Bayes (voir cours TE401). En telecommunications, o`
u beaucoup dapplications supposent
que le canal utilise est un canal AWGN, la forme la plus utilisable du theor`eme de Bayes
exprime la probabilite a posteriori (a posteriori probability: APP) dune decision en
termes dune variable continue stochastique x comme ceci:
P (d = i|x) =
p(x|d = i)P (d = i)
p(x)
et
p(x) =
M
X
i = 1,2, . . . ,M
(3.26)
p(x|d = i)P (d = i)
i=1
o`
u P (d = i|x) est lAPP et d = i signifie que la donnee d appartient `
a la i-`eme classe de
signaux dun ensemble de M classes de signaux. En plus, p(x|d = i) represente la fonction
de densite de probabilite (probability density function: PDF) dun signal continu recu,
qui consiste aussi bien de donnees utiles que de bruit, en supposant que le signal utile
appartient `
a la i-`eme classe de signaux. En outre on a que P (d = i), quon appelle la
probabilite a priori, represente la probabilite dapparition de la i-`eme classe de signaux.
3.6. TURBOCODES
211
x est typiquement une variable stochastique observable ou une statistique de test, qui
est obtenue `
a la sortie dun demodulateur ou de lun ou lautre module de traitement de
signal. Cest pour cette raison que p(x) est la PDF du signal recu x, qui fournit la statistique de test sur lespace compl`ete de toutes les M classes de signaux. Dans lequation
(3.26), p(x) joue le role de facteur de normalisation pour une observation determinee,
puisque son expression est obtenue en moyennant sur toutes les classes de signaux possibles. On utilise le p minuscule pour la PDF dune variable continue stochastique et le
P majuscule pour la probabilite (APP et a priori).
La determination de lAPP dun signal recu `
a laide de lequation (3.26) peut etre
consideree comme le resultat dune experimentation. Avant lexperimentation il existe
en general une certaine probabilite a priori P (d = i) (ou sinon on peut lestimer).
Lexperimentation consiste alors `
a calculer lAPP P (d = i|x), en utilisant lequation
(3.26), ce qui peut en fait etre considere comme un raffinement de la connaissance a
priori des donnees, apportee en examinant le signal recu x.
3.6.2.2
212
et l2 = p(xk |dk = 1). Une r`egle de decision dure tr`es populaire, connue sous le nom de
maximum likelihood, est de choisir la donnee dk = +1 ou dk = 1 laquelle est associee
`
a la plus grande valeur des deux valeurs likelihood obtenues, respectivement l1 ou l2 .
Pour chaque bit dinformation `
a linstant k, cette r`egle de decision revient en pratique
`
a decider que dk = +1 si xk tombe du c
ote droite de la ligne 0 et dans lautre cas de
decider que dk = 1.
Une r`egle de decision analogue, connue sous le nom maximum a posteriori (MAP), pour
laquelle on peut demontrer que cest une r`egle qui rend la probabilite derreur minimale,
tient egalement compte de la probabilite a priori des donnees. Lexpression generale pour
la r`egle MAP en termes dAPPs est:
P (d = +1|x)
H1
>
<
H2
P (d = 1|x)
(3.27)
Lequation (3.27) dit que lon doit choisir lHypoth`ese H1 ,(d = +1), lorsque lAPP P (d =
+1|x) est plus grand que lAPP P (d = 1|x). En utilisant le theor`eme de Bayes de
lequation (3.26), les APPs dans lequation (3.27) peuvent etre remplacees par leurs
expressions respectives. Ceci donne alors:
p(x|d = +1)P (d = +1)
H1
>
<
H2
p(x|d = 1)P (d = 1)
(3.28)
o`
u la PDF p(x), qui intervient dans les deux membres de linegalite de lequation (3.27),
a ete annulee. Lequation (3.28) est en general exprimee sous forme dun rapport, ce qui
donne lieu au test suivant, appele likelihood ratio test:
p(x|d = +1)
p(x|d = 1)
H1
>
<
H2
P (d = 1)
P (d = +1)
(3.29)
ou
p(x|d = +1)P (d = +1)
p(x|d = 1)P (d = 1)
3.6.2.3
H1
>
<
H2
(3.30)
P (d = +1)
p(x|d = +1)
+ log
p(x|d = 1)
P (d = 1)
(3.32)
ou:
L(d|x) = L(x|d) + L(d)
(3.33)
o`
u L(x|d) est le LLR du statistique de test x, obtenues en mesurant la sortie du canal
de transmission sous les conditions alternatives que d = +1 ou d = 1 peuvent etre
3.6. TURBOCODES
213
transmises. L(d) est le LLR a priori du bit dinformation d. Afin de simplifier la notation,
lequation (3.33) peut etre reecrite comme:
= Lc (x) + L(d)
L0 (d)
(3.34)
o`
u la notation Lc (x) insiste sur le fait que ce terme LLR est le resultat dune mesure de
la sortie du canal, executee dans le recepteur.
Les equations (3.26) jusqu`
a (3.34) ont ete developpees avec rien quun detecteur de
donnees en tete. Si on introduit maintenant egalement un decodeur de donnees, cela
donnera alors typiquement des ameliorations dans le processus de decision. Pour un code
systematique on peut demontrer que le LLR (sortie souple) du decodeur est egale `
a:
= L0 (d)
+ Le (d)
L(d)
(3.35)
L(d)
(3.36)
trois termes peuvent alors simplement etre additionnes pour generer le LLR final L(d)
`
a la sortie du decodeur, parce que ces trois termes sont statistiquement independants.
est un nombre reel qui ne donne pas quune decision
Cette sortie du decodeur souple L(d),
donne
dure, mais egalement une mesure de confiance dans cette decision. Le signe de L(d)
3.6.2.4
Principes du d
ecodage it
eratif (turbo)
Dans un recepteur typique, le demodulateur est souvent concu pour fournir des decisions
souples, qui sont passees apr`es au decodeur. On peut demontrer que des syst`emes qui
utilisent dans un canal AWGN des decisions souples au lieu de decisions dures, montrent
une amelioration de la performance derreurs de pratiquement 2 dB. Un tel decodeur peut
etre appele decodeur `
a entree souple et sortie dure, car la sortie finale du decodage doit
bien evidemment etre exprimee en bits (decisions dures). Dans les turbocodes, o`
u deux
ou plus de codes-constituants sont utilises et o`
u le decodage passe de mani`ere iterative la
sortie dun decodeur `
a lentree des autres decodeurs, un decodeur avec une sortie basee
sur des decisions dures ne pourrait pas satisfaire. Ceci est due au fait que les decisions
dures degradent la performance dans un decodeur (en comparaison avec des decisions
souples). Cest pourquoi dans le cas des turbocodes, nous avons besoin de decodeurs
a
` des entrees et des sorties souples. Pour la premi`ere iteration dans le decodage dun
tel decodeur entree souple/sortie souple (represente dans la Figure 3.35), on suppose
dhabitude que les donnees binaire sont equiprobables. Ceci m`ene `
a une valeur initiale
du LLR a priori de L(d) = 0 pour le troisi`eme terme dans lequation (3.32).
214
215
Chapitre 4
Transmissions en bande
restreinte
4.1
Position du probl`
eme
ck r(t kT ), ck M
o`
u ck correspond `
a la valeur du symbole transmis `
a linstant t = kT (l alphabet M des
symboles comporte m elements).
Le signal recu au recepteur (note sr (t)) sera different de se (t) vu la limitation de bande
passante du canal. Il nest pas genant que sr (t) soit different de se (t) si toutefois linformation numerique contenue dans se (t) peut etre extraite de sr (t). Il sera alors toujours
possible de regenerer localement `
a partir de ces informations un signal identique `
a se (t).
Ce resultat sera facilement obtenu si le signal sr (t) est tel quen echantillonnant `
a la
frequence 1/T on trouve des valeurs damplitudes egales `
a celles que lon aurait obtenues
si le signal se (t) avait ete recu sans deformation. Si p est le delai de transmission dans
le canal, la condition ci-dessus sexprime par:
sr (kT + p ) = se (kT ) = ck
216
4.2. INTERFERENCE
ENTRE SYMBOLES
4.2
217
Interf
erence entre symboles
Le probl`eme `
a resoudre peut senoncer comme suit: quelles caracteristiques le filtre L
equivalent `
a la voie de transmission (voir Figure 4.1) doit-il posseder pour que linegalite
precedente soit verifiee?
La solution sobtient aisement par application de la theorie des syst`emes lineaires.
Vu la linearite du canal de transmission (assimile `
a un filtre de transmittance L), le signal
sr (t) peut secrire:
X
sr (t) =
ck lr (t kT )
k
o`
u lr (t) est la reponse du filtre L a
` limpulsion rectangulaire r(t).
La forme de lr (t) (et donc de sr (t)) depend donc directement des caracteristiques du
filtre et en particulier de sa bande passante. La Figure 4.3 fournit lallure de lr (t) pour
diverses frequences de coupures fc dun canal assimile `
a un filtre passe-bas ideal. On peut
y constater que la largeur de la reponse et lamplitude relative des ondulations laterales
augmentent lorsque la bande passante du filtre diminue.
Lorsquon applique au filtre L un signal se (t) constitue dune suite de moments, on obtient
en sortie le signal sr (t) constitue `
a chaque instant de la somme des reponses individuelles
`
a cet instant (voir Figure 4.4).
Il est clair que le chevauchement des impulsions de reponse a pour consequence que les
echantillons du signal sr (t) preleves aux instants t0 +kT +p ont des amplitudes differentes
de celles des impulsions correspondantes. Le phenom`ene de brouillage des valeurs damplitude d
u aux impulsions voisines est appele interference entre symboles ou interference
intersymbole (ISI: Inter Symbol Interference). On peut quantifier ce phenom`ene en calculant la valeur dun echantillon sr (kT + p ):
X
sr (kT + p ) =
ci lr (kT + p iT )
(4.1)
i
ck lr (p ) +
ci lr (kT iT + p )
i6=k
et si on prend lr (p ) = 1:
sr (kT + p ) = ck +
ckn lr (nT + p )
n6=0
218
4.2. INTERFERENCE
ENTRE SYMBOLES
219
220
4.3
Diagramme de loeil
La mesure directe de linterference intersymbole peut etre realisee au moyen dun oscilloscope de la facon suivante. On transmet une suite de symboles aleatoires et lon observe le
signal sr sur lecran de loscilloscope. La base de temps de loscilloscope est synchronisee
sur le rythme dechantillonnage de frequence 1/T , de sorte quaux instants kT + p , le
spot occupe toujours la meme position horizontale sur lecran.
Nous supposerons que cette position concide avec laxe vertical central du reticule.
A linstant dechantillonnage kT + p , lamplitude du signal sr est:
sr (kT + p ) = ck + Ik , ck M
o`
u M est lensemble des valeurs de symboles.
Si loscilloscope poss`ede une remanence suffisante, un grand nombre de traces sont visibles
simultanement sur lecran. Limage obtenue est designee sous le nom de diagramme de
loeil. La Figure 4.5 donne un exemple de diagramme de loeil dans le cas dun signal `
a
3 niveaux (ternaire, m = 3).
La distance d est appelee ouverture verticale de loeil. Elle sexprime en pourcentage de
louverture maximale correspondant `
a une interference intersymbole nulle. La distance e
est louverture horizontale de loeil.
En labsence de bruit, il suffit que louverture de loeil soit superieure `
a zero pour quil
soit possible de distinguer sans erreur deux valeurs de symbole voisines. En presence de
bruit, d/2 represente lamplitude de bruit correspondant au seuil dapparition des erreurs.
La demi-ouverture horizontale e/2 represente le decalage maximal tolerable de linstant
dechantillonnage en labsence de bruit. En presence de bruit, cette tolerance est reduite.
4.4
Suppression de linterf
erence intersymbole
4.4. SUPPRESSION DE LINTERFERENCE
INTERSYMBOLE
221
222
`
4.5. PREMIER CRITERE
DE NYQUIST
223
Ce signal s
esente la suite des echantillons de se (t) preleves aux instants kT .
e repr
X
s
=
se (t)(t kT )
e
k
se (t)
(t kT )
Si G(f ), L(f ) et H(f ) sont les fonctions de transfert des filtres G, L et H, il vient:
H(f ) = G(f )L(f )
La transmittance G(f ) est la transformee de Fourier de limpulsion g(t) choisie pour
representer un symbole. Dans le cas o`
u g(t) est limpulsion rectangulaire r(t), G(f ) a
pour valeur:
Z +
G(f ) =
r(t)ej2f t dt
Z
+T /2
ej2f t dt
T /2
=
=
i
1 h j2f T
e
e+j2f T
j2f
sin f T
f T
f T
H(f )
sin f T
4.5
4.5.1
Premier crit`
ere de Nyquist
Introduction
Les conditions auxquelles doit satisfaire le filtre equivalent H pour que linterference
intersymbole soit nulle ont ete enoncees pour la premi`ere fois par Nyquist et constituent
le premier crit`ere de Nyquist. Ces conditions peuvent senoncer dans le domaine temporel
ou dans le domaine frequentiel.
Dans le domaine temporel, elles sappliquent `
a la reponse impulsionnelle h(t) du filtre:
h(0) = 1
h(nT ) = 0, n entier 6= 0
Linstant du maximum de h(t) est pris dans cette expression comme origine des temps.
Lexpression du premier crit`ere de Nyquist dans le domaine frequentiel determine la
transmittance H du filtre. Elle sobtient de la facon suivante.
224
h(t)
(t nT ),
En prenant la transformee de Fourier des deux membres de lexpression ci-dessus, on obtient la condition dannulation de linterference entre symbole dans le domaine frequentiel:
H(f ) P (f ) = 1
o`
u
P (f ) represente la transformee de Fourier de la distribution p(t) =
(plus couramment appelee peigne de Dirac);
P
n
(t nT )
avec:
k
1
T
1
T
1
T
=
=
Z
Z
Par consequent:
p(t) =
+T /2
p(t)ej2k/T dt
T /2
+T /2
(t)ej2k/T dt
T /2
1 X j2k/T
e
T
k
et:
P (f ) =
1 X
(f k/T ).
T
k
Il vient donc:
H(f )
1 X
(f k/T ) = 1
T
k
ou encore:
H(f k/T ) = T.
`
4.5. PREMIER CRITERE
DE NYQUIST
4.5.2
225
(0 f < 1/T )
sin t/T
;
t/T
226
`
`
4.6. DEUXIEME
CRITERE
DE NYQUIST
4.6
4.6.1
227
Deuxi`
eme crit`
ere de Nyquist
Introduction
Le premier crit`ere de Nyquist indique les caracteristiques que doit posseder le filtre passebas equivalent H pour que lon puisse extraire du signal recu sr (t), par echantillonnage,
les valeurs successives des symboles transmis, sans interference intersymbole.
Cela suppose toutefois que le rythme dechantillonnage soit parfaitement synchronise en
frequence et en phase avec le signal recu; lannulation de linterference nest realisee en
effet quaux instants t = kT , linstant t = 0 etant celui du maximum de limpulsion de
reponse correspondant au premier symbole.
La generation du rythme dechantillonnage est lun des probl`emes essentiels qui se pose
lors de la realisation dun recepteur de signaux numeriques. La solution generalement
adoptee consiste `
a asservir en phase un oscillateur local en utilisant les changements
detats ou transitions du signal recu sr (t). Par transition, on entend linstant o`
u lamplitude du signal traverse le seuil de discrimination qui separe deux valeurs de symboles
successives. La Figure 4.10 donne un exemple de signal numerique binaire et le rythme
dechantillonnage associe.
228
1/2ejf T + 1/2e+jf T
cos f T
avec:
H (f )
H(f ) 1/T
1/T
(f k/T )ejf T
`
`
4.6. DEUXIEME
CRITERE
DE NYQUIST
4.6.2
229
Dans lhypoth`ese o`
u la frequence de coupure du filtre H est inferieure ou egale `
a 1/T ,
cette expression se ram`ene `
a:
H(f ) H(f 1/T ) = T cos f T.
Si, de plus, largument de H(f ) est nul, il vient:
H(f ) H(1/T f ) = T cos f T
On concoit linteret dun filtre qui satisfait `
a la fois le premier et le deuxi`eme crit`ere de
Nyquist. Si un tel filtre existe, sa transmittance satisfait `
a la fois `
a:
H(f ) + H(1/T f )
H(f ) H(1/T f )
T cos f T
En additionnant membre `
a membre on obtient:
H(f ) = T /2(1 + cos f T )
La courbe representative de |H(f )| est la cosinusode surelevee de la Figure 4.12.
f T
|H(f )|
sin f T
230
Figure 4.13 Reponse impulsionnelle dun filtre satisfaisant aux deux crit`eres de
Nyquist.
EMENTS
4.7. EL
CONSTITUTIFS DUNE LIAISON NUMERIQUE
231
T pour 0 f < 1
2T
f < 1+
|H(f )| =
T /2 1 + cos T
f 1
pour 1
2T
2T
2T
f
0 pour 1+
2T
La reponse impulsionnelle de ces filtres est de la forme:
h(t) =
La Figure 4.16 donne lallure du module de leur transmittance et de leur reponse impulsionnelle pour les valeurs de : 0,1/2,1. est appele coefficient darrondi (E: roll-off
factor).
Bien que toutes ces reponses impulsionnelles passent par zero aux instants dechantillonnage
t = kT , k 6= 0, la valeur de linterference intersymbole, si lon secarte des instants
dechantillonnage ideaux, nest pas le meme. Plus la bande passante est large, plus
linterference intersymbole est faible (there is no free lunch!).
4.7
232
EMENTS
4.7. EL
CONSTITUTIFS DUNE LIAISON NUMERIQUE
233
o`
u xi [a, + a] represente la valeur du i-`eme symbole binaire et est lintervalle
elementaire.
La rapidite de semation et le debit dinformation de ce signal binaire sont egaux `
a 1/.
Si cette rapidite de semation est inferieure au maximum autorisee,
R 2fc
le signal z(t) peut etre applique directement `
a la voie de transmission; dans le cas
contraire, le signal z(t) doit etre transforme en un signal numerique se (t) de rapidite
R = 1/T , inferieure `
a 1/, cest le r
ole du codeur C represente sur la Figure 4.17. Le
signal se (t) comporte un nombre de niveaux m donne par la formule:
m = 2T /
o`
u T / entier.
En reception, le signal recu sr (t) est echantillonne au rythme dun signal periodique
e(t). Cependant, pour que les valeurs des echantillons representent bien les valeurs des
symboles transmis, il faut que le premier crit`ere de Nyquist soit respecte. Cela implique
pour la voie de transmission des caracteristiques precises quelle ne poss`ede generalement
pas. Il est donc necessaire dajouter en serie dans la voie de transmission, un filtre egaliseur
ajustable. Legaliseur est regle pour que le filtre constitue par la mise en serie du filtre
generateur implicite G dependant de la forme des impulsions contenues dans se (t), de
la voie de transmission et de legaliseur, constitue un filtre equivalent H conforme au
premier crit`ere de Nyquist. Legaliseur peut etre situe en amont ou en aval de la voie
de transmission. Le filtre constitue de la mise en serie de la voie de transmission et de
legaliseur est le filtre L de la Figure 4.17.
Apr`es echantillonnage, un decodeur reconstitue un signal binaire identique au signal z(t).
En labsence de bruit, le debit de la liaison est limite seulement par la precision de
legaliseur. Cependant, en pratique, toute voie de transmission est affecte de bruit. Le
bruit est generalement de type aleatoire et ses proprietes statistiques peuvent varier dune
voie de transmission `
a une autre. En labsence dune connaissance precise du type de bruit
rencontre sur une voie de transmission particuli`ere, on utilise comme approximation de
la realite le mod`ele dun bruit blanc gaussien n(t) ajoute au signal s(t) `
a lentree du
recepteur.
Le bruit superpose au signal modifie la valeur des echantillons preleves aux instants
dechantillonnage et peut provoquer des erreurs.
On reduit la probabilite derreur en utilisant comme regenerateur un filtre optimal appele
filtre adapte (voir chapitre 7).
235
Chapitre 5
Transmissions en bande de
base
On appelle transmission en bande de base un mode de transmission numerique selon
lequel les rapports harmoniques entre composantes spectrales du signal transmis sont
conserves et utilises au cours de le transmission et de la reception. En dautres termes,
un signal de bande de base est un signal qui na pas subi de translation dans le domaine
des frequences.
La transmission en bande de base est possible sur certains supports de transmission. Elle
conduit `
a des realisations simples et economiques.
5.1
Il resulte de la definition ci-dessus que les voies de transmission utilisables pour la transmission en bande de base sont celles qui nintroduisent pas decart de frequence entre
signaux emis et signaux recus. Le canal telephonique, dans le cas general, ne repond pas
`
a cette exigence. Par contre, un c
able dun reseau local est utilisable. Pour cette raison,
la transmission en bande de base est surtout utilisee en zone urbaine, o`
u les lignes sont
essentiellement constituees de paires de cuivre.
La transmission directe dun signal numerique sur une paire de cuivre se heurte en pratique aux difficultes suivantes.
5.1.1
236
5.1.2
elev
ees
5.1.3
Transparence vis-`
a-vis des donn
ees
Le syst`eme de transmission doit etre concu de telle sorte que le rythme dhorloge associe
aux donnees puisse etre correctement reconstitue dans le recepteur, quelle que soit la
sequence de moments transmise.
5.1.4
5.2
G
en
eralit
es sur la repr
esentation dun message num
erique
Un message est une suite de mots dinformation constituee de symboles M -aires (cest-`
adire utilisant un alphabet M -aire). Le plus souvent M = 2. Pour pouvoir separer differents
blocs dinformation, il faut introduire periodiquement dans le message des mots particuliers (motifs) ayant une structure determinee connue davance et aisement identifiable.
Ce sont des mots de synchronisation qui permettent la synchronisation au niveau des
mots ou densembles de mots. Ajoutons `
a ceci la presence de mots de service destines `
a
gerer le syst`eme de telecommunications.
Cette structure ordonnee de mots dinformation, de synchronisation et de service porte le
nom de trame. La structure de la trame est propre `
a chaque norme de telecommunications.
Citons `
a titre dexemple la structure de la trame du syst`eme PCM 30.
Rappelons ici quelques definitions.
Intervalle unitaire (
el
ementaire)
Nous avons defini lintervalle unitaire T comme etant la duree dun moment. Cest la
duree de lintervalle unitaire qui definit la rapidite de semation.
Rapidit
e de s
emation (vitesse ou rapidit
e de transmission)
R=
1
Baud
T
D
ebit dinformation (bits/s ou Shannon/s)
Le bit a ete defini comme etant lunite dinformation. Si le signal numerique est binaire et
si les probabilites doccurrence des 2 moments sont egales, les moments successifs etant
independants, la connaissance de la valeur dun moment fournit une information egale `
a
1 bit (1 Shannon). Le debit dinformation est souvent donne dans ces hypoth`eses. Il est
alors exprime par un nombre egal `
a la rapidite de semation.
On distingue dans certains cas le debit net du debit brut. Dans le debit brut tous les moments de la trame sont consideres comme moments dinformation tandis que dans le debit
`
` GEN
ERAL
5.3. THEOR
EME
TRES
237
5.3
5.3.1
Th
eor`
eme tr`
es g
en
eral
Introduction
Le choix de la representation dun message est essentiellement base sur des crit`eres spectraux. Il importe donc de calculer la densite spectrale de la variance du signal emis.
Nous verrons que la densite spectral des signaux presentes dans ce chapitre se situe aux
environs de la frequence zero (do`
u le nom de transmission en bande de base).
Nous pourrons ainsi calculer la largeur spectrale du signal et donc la bande passante
requise de la voie de transmission.
Nous definirons la largeur spectrale pratique dun signal comme etant la bande passante
dun filtre passe-bas laissant passer un certain pourcentage (par exemple 99%) de la
puissance totale du signal.
Il existe un theor`eme tr`es general permettant de calculer la densite spectrale de la variance
dune sequence aleatoire de signaux M -aires emis par une source Markovienne (dordre
1). Cette source emet donc des signaux elementaires de duree T (pris parmi un alphabet
comportant M signaux) et la probabilite quun signal soit emis ne depend que du signal
emis durant lintervalle precedent (source discret `
a memoire de capacite 1).
Lenonce de ce theor`eme sort du cadre de ce cours. Toutefois, il nous apprend que la
densite spectrale de la variance dune telle sequence aleatoire depend `
a la fois de la forme
des signaux elementaires choisis mais aussi de la correlation entre les divers moments
successifs.
Il est donc possible de modeler la densite spectrale en agissant sur ces deux aspects des
choses.
Dans un premier temps nous considererons que les moments successifs sont independants
et binaires (M = 2).
5.3.2
Densit
e spectrale dune s
equence al
eatoire binaire `
a
moments ind
ependants
5.3.2.1
Signaux unipolaires
Soit une sequence aleatoire binaire composee de signaux s0 (t) et s1 (t) de duree T . Notons
p0 et p1 la probabilite doccurrence de s0 et s1 respectivement durant une intervalle unitaire. Ces probabilites sont invariantes dans le temps et les intervalles unitaires successifs
sont independants.
238
+
1 X
2n
2n 2
2n
|p
S
+
p
S
|
0
0
1
1
T 2 n=
T
T
T
+
1
p0 p1 |S0 () S1 ()|2
T
avec:
Si () = F[si (t)] i = 0,1
Cette densite spectrale comporte donc deux termes:
le premier represente un spectre de raies;
le second represente un spectre dit continu.
5.3.2.1.1
* Signaux antipodaux: s0 = s1 = s
Il vient:
() =
+
(p0 p1 )2 X
2n 2
2n
4
|S
|
+ p0 p1 |S()|2
T2
T
T
T
n=
2n
T
= 0 n (meme si p1 6= p0 !).
4
p0 p1 |S()|2
T
+
(p1 )2 X
2n 2
2n
p0 p1
|S
|
+
|S()|2
T 2 n=
T
T
T
5.3.2.2
Signaux bipolaires
Soit une sequence logique binaire constituee des symboles logiques 0 et 1. On represente
cette sequence logique par une sequence de signaux selon les r`egles suivantes:
0 s0
1 s1 et s1 alternativement.
239
La densite spectrale de la variance du signal (dit bipolaire), ainsi obtenu est, si on suppose
`
a nouveau que les symboles successifs sont independants:
+
1
1 X
2n
2n 2
() = p0 p1 2 |S0 ()|2 + p20 2
|
|S0
T
T n=
T
T
+4p0 p1
sin2 T
1
2
|S1 ()|2
T
1 + (p1 p0 )2 2(p0 p1 ) cos T
5.4
5.4.1
Codes unipolaires
5.4.1.1
5.4.1.2
Le codage retour `
a z
ero unipolaire (RZ-L)
5.4.1.3
240
241
5.4.1.5
+V 0 t T /2
V T /2 < t T
1 s1 = V
0 t T alternativement.
0 s0 =
5.4.2
Codes bipolaires
Un des soucis dans le choix dun code est dannuler la composante continue du signal.
Dans le cas dun code biphase-L par exemple, ceci peut se realiser en autorisant une
transition en milieu dintervalle et entre deux niveaux opposes (+V, V ).
Un autre procede peut consister `
a introduire un troisi`eme niveau. Ceci conduit `
a une
famille de codes dits bipolaires (Figure 5.2).
242
5.4.2.1
0tT
0 t T alternativement.
5.4.2.2
Tant que la sequence logique ne comporte pas plus de n 0 successifs, le code HDBn est
identique au code AMI.
Chaque succession de (n + 1)0 est remplacee par le motif 00 . . . 0V ou 10 . . . 0V o`
u V
represente un moment en violation avec la r`egle de la bipolarite. Le choix entre les eux
motifs permet de respecter une r`egle dalternance entre ces violations de bipolarite, r`egle
qui garantit la nullite de la composante continue du signal obtenu.
5.4.2.3
Toute sequence de N zeros est traduite par une sequence bipolaire de N signaux comportant des violations de bipolarite. Par exemple, le code B6ZS remplace toute sequence
de six 0 par la sequence B0V B0V (parfois 0V B 0V B) o`
u:
0 est traduit par s0 = 0, 0 t T ;
B est traduit par s1 alternativement selon la r`egle de bipolarite;
V est traduit par s1 avec violation de la r`egle de bipolarite;
s1 est un signal determine, par exemple: s1 = V , 0 t T .
Les codes B3ZS et B8ZS sont egalement utilises.
5.5
Crit`
eres de choix dun type de codage
Le choix du codage utilise depend evidemment des caracteristiques de la voie de transmission. Les points `
a considerer sont les suivants.
5.5.1
5.5.2
Une largeur spectrale reduite constitue evidemment un avantage de plus en plus important `
a une epoque o`
u la demande en capacite de communication crot exponentiellement.
ES
DE CERTAINS CODES
5.6. ANALYSE DES PROPRIET
5.5.3
243
Pr
esence dune raie spectrale `
a la fr
equence dhorloge
5.5.4
Possibilit
e de d
etection de certaines erreurs `
a la restitution du signal
5.6
5.6.1
s0 (t) = +V
s1 (t) = s0 (t)
0tT
T
2
5.6.2
De:
Code RZ unipolaire
s0 (t) = +0
s1 (t) = V
=0
0 t T /2
T /2 < t T
244
ES
DE CERTAINS CODES
5.6. ANALYSE DES PROPRIET
S1 () =
() =
VT
2
sinc
2
p0 p1 V 4 T
ejT /4 h
2
sinc T
+ p21 V4 () +
4
T
4
245
V
2
1
n0 2n0 +1
2 2nT+1
i
5.6.3
Soit:
s0 = s
s1
= +V
= V
= s0
0 t T /2
T /2 < t T
=
=
=
VT
sinc
2
T
4
ejT /4
VT
sinc
2
T
4
ejT /4 ejT /2
VT
T
sinc
ejT /4 1 ejT /2
2
4
+jT /4
T
e
ejT /4
V T sinc
ejT /2
4
2
et donc:
sin2 (T /4) jT /2
e
(T /4)
Pour le spectre de raies, il faut calculer:
4 n
2n 2
1
2 sin
2
|S
|
= V
n 2
T2
T
2
n
n
sin2
= V 2 sinc2
2
2
S = jV T
246
2 (2n0
4p0 p1 V T sinc
(p0 p1 )2
4V 2
2
T
4
+
X
n0 =
sin
T
4
1
2
0
(2n
+
1)
(2n0 + 1)2
T
ES
DE CERTAINS CODES
5.6. ANALYSE DES PROPRIET
247
Ce code exige un reperage de fils de ligne. En effet, un croisement des fils provoque
une permutation des 1 et 0 `
a la reception. Pour pallier cet inconvenient, on le remplace
souvent par une variante: le code biphase differentiel.
Il sagit dun code `
a memoire o`
u le codage dun symbole binaire depend du codage du
symbole precedent selon la r`egle suivante.
Un 1 durant lintervalle i est traduit par pas de transition au debut de lintervalle i et
une transition au milieu de ce meme intervalle.
Un 0 lui, est traduit par une transition au debut de lintervalle i et une seconde transition
dans ce meme intervalle.
Ce code presente les memes proprietes que le precedent mais est insensible au croisement
des fils. Il suffit en effet de decoder en verifiant sil y a transition ou pas au debut de
lintervalle, linversion des fils ne modifiant pas la presence de ces transitions.
Ce code differentiel est analogue aux codes biphase-M et -S presentes ci-dessus.
5.6.4
Code CMI
s0 = s
s1
= +V
= V
= V
0 t T /2
T /2 < t T
0tT
sin2 (T /4) jT /2
e
(T /4)
sin4 (T /4)
sin4 (T /2)
+ 4p0 p1 V 2 T
2
2
(T /4)
(T /4) [1 + (p0 p1 )2 2(p0 p1 ) cos T ]
+
X
2
1
0
(2n + 1)
(2n0 + 1)2
T
0
p0 p1 V 2 T
p20
4V 2
2
n =
5.6.5
Code de MILLER
Le code biphase presente linconvenient (tout comme le code CMI) de necessiter une
bande passante relativement large. Le code Miller (ou DM de Delay Modulation) le remplace souvent lorsque la bande passante de la voie de transmission est reduite.
La densite spectrale de la variance est (Figure 5.7):
248
ES
DE CERTAINS CODES
5.6. ANALYSE DES PROPRIET
"
2
() = V T
249
2 #
1 + 4 cos(T /2) + 4 cos2 (T /2) 4 cos3 (T /2)
T
sinc
1 8 cos2 (T /2) + 32 cos4 (T /2)
4
Elle se caracterise par une forte concentration de puissance autour de la frequence 2/(5T ).
Il ny a pas annulation compl`ete de la densite spectrale en = 0.
La portion de la densite spectrale de puissance superieure `
a 1/(2T ) est faible.
La polarite du signal code nintervenant pas, il nest pas necessaire de reperer les fils.
La presence dune transition au moins tous les deux moments permet une synchronisation
dhorloge aisee.
5.6.6
Code AMI
2
T
T
sin2
() = V 2 T sinc
2
2
On constate `
a la Figure 5.9 que le contenu BF est reduit (annulation stricte `
a = 0),
quil ny a pas de composante DC et que la largeur spectrale pratique est B = 1/T (Hz).
Le maximum de la densite spectrale de la variance est obtenu pour f = 0,45/T .
Le signal AMI ne presente pas de raie `
a la frequence 1/T . Cest pourquoi on utilise parfois
un signal AMI-RZ dans lequel le signal correspondant au 1 est:
1 s1 = V 0 t T /2 alternativement
=0
T /2 < t T
Si on redresse ce signal, on obtient un signal RZ unipolaire qui lui presente une raie `
a la
frequence 1/T .
La densite spectrale de la variance dun signal AMI-RZ est, si p0 = p1 (Figure 5.10):
2
V 2T
T
T
sinc
sin2
4
4
4
Une longue sequence de 0 entrane temporairement un signal code `
a energie nulle et sans
aucune transition, ce qui pose probl`eme pour la synchronisation de lhorloge de reception
(voir code HDBn).
() =
250
ES
DE CERTAINS CODES
5.6. ANALYSE DES PROPRIET
251
252
5.6.7
Code HDBn
5.7
Les codes `
a r
eponse partielle
Ulterieurement
253
Chapitre 6
Transmissions en bande
transpos
ee
6.1
Introduction
6.2
Composantes en quadrature
254
A remarquer que les signaux en bande de base, A(t) cos (t) et A(t) sin (t), peuvent etre
consideres comme les composantes dun vecteur dont la representation complexe est:
u(t) = A(t)ej(t)
Lexpression du signal module reel est alors:
h
i
y(t) = <e u(t)ej0 t
Le vecteur u(t) est appele enveloppe complexe ou encore equivalent basse-frequence. Les
deux composantes en quadrature de u(t) sont classiquement designes par I (en phase) et
Q (en quadrature):
I = A(t) cos (t)
Q = A(t) sin (t)
On demontre aisement que:
Y () = F (y) =
1
[U ( 0 ) + U ( 0 )]
2
1
[u ( 0 ) + u ( 0 )]
2
Remarquons que puisque u est reel, on ne doit pas prendre le conjugue dans le deuxi`eme
terme entre crochets.
Les notions precedentes sont tout `
a fait generales et valables pour des signaux modulants
analogiques ou numeriques.
6.3
6.3.1
Modulation damplitude
6.3.1.1
Introduction
Soit une sequence binaire {an } emise par la source numerique avec un debit binaire de
Rb moments par seconde. Lintervalle unitaire relatif aux ai est donc egal `
a Tb = 1/Rb .
En modulation damplitude `
a porteuse supprimee, cette sequence est transformee en une
sequence dont lequivalent basse-frequence est:
X
u(t) =
In g(t nT )
n
avec:
{In } une sequence discr`ete obtenue en faisant correspondre `
a chaque bloc de k
moments de la sequence {an } un niveau preleve dans un alphabet de M niveaux
(M = 2k );
g(t) une impulsion damplitude unitaire et de duree T dont la forme est choisie
par des considerations relatives `
a la largeur spectrale du signal module et donc `
a
la bande passante de la voie de transmission. La duree de cette impulsion est de
T = kTb .
6.3. APPLICATION AUX SIGNAUX MODULANTS NUMERIQUES
255
Cest-`
a-dire que seule une des deux porteuses en quadrature est modulee par le signal I.
Pour des raisons de largeur spectrale, on nutilise en general pas ce type de modulation
et on lui pref`ere la modulation `
a bande laterale unique (BLU).
Pour ecrire la forme analytique dun signal BLU, il convient de repeter la notion de
transformee de Hilbert.
6.3.1.2
La transform
ee de Hilbert dune fonction g(t)
j > 0
1/2 = 0
H() =
+j < 0
Ce filtre, non-causal, introduit donc le meme dephasage de 90 (+90 ) pour toutes les
frequences positives (negatives).
Si on forme le signal
z(t) = g(t) + jg (t)
appele signal analytique associe `
a g(t) et si G() et Z() sont les transformees de Fourier
respectivement de g(t) et de z(t), alors:
2G() > 0
G()
=0
Z() =
0
<0
Cette derni`ere propriete fait comprendre lutilite de la transformee de Hilbert pour lexpression dun signal BLU.
6.3.1.3
Application de la transform
ee de Hilbert `
a un signal BLU
o`
u z(t) = g(t) jg (t).
256
=
In g(t nT ) cos 0 t
In g (t nT ) sin 0 t
n
sa transformee de Hilbert
e
n In g (t nT ). Cest dailleurs ce principe qui est utilis
pour la realisation de la modulation BLU appelee par dephasage (avec deux modulateurs
en anneaux), o`
u toute la difficulte consiste `
a realiser au mieux cette transformation de
Hilbert (filtre non-causal).
Il existe, dans le cadre de la modulation damplitude numerique, un autre procede que
la BLU permettant la meme diminution de largeur spectrale; il sagit de la modulation
de deux porteuses en quadrature par deux sequences differentes (QAM: Quadrature Amplitude Modulation). Ce procede a dej`
a ete evoque dans le cours TE401. Voici un petit
rappel des principes.
La sequence {In } est decomposee en deux sequences {In1 } et {In2 }, formees en prelevant
selon une certaine r`egle des elements de {In }, et chaque sequence est utilisee pour moduler
une des deux porteuses en quadrature:
"
# "
#
X 1
X 2
y(t) =
In g(t nT ) cos 0 t
In g(t nT ) sin 0 t
n
et donc:
u(t) =
Ainsi, dans le cas M = 2, on constitue des groupes de deux moments successifs et chaque
moment de ce groupe module une des deux porteuses en quadrature. Si R est le debit
binaire relatif `
a {an }, la vitesse de transmission de y(t) est R/2 Baud. Et si M = 2k ,
alors la vitesse de transmission de y(t) est R/(2k) Baud. On constate que ce type de
modulation est en fait une combinaison de modulation damplitude et de phase.
6.3.2
Modulation de phase
o`
u {n } est une sequence de dephasages obtenue en faisant correspondre `
a chaque bloc
de k moments de {an } un angle preleve parmi un alphabet de M = 2k angles:
n =
2(i 1)
M
avec i = 1,2,3, . . . ,M .
On distingue ainsi par exemple les modulations BPSK (Binary PSK, M = 2) et QPSK
(Quadriphase PSK, M = 4).
Il est expedient de representer les divers types de modulation par ce qui est appele une
constellation. On represente en fait dans le plan complexe les affixes de u(t) (pour g(t) =
6.3. APPLICATION AUX SIGNAUX MODULANTS NUMERIQUES
257
258
1
y(t) = cos(0 t + )
2
o`
u prend les valeurs 45 , 135 selon la valeur du couple de moments binaires
considere. On obtient donc bien de la sorte une modulation QPSK. La Figure 6.3
represente le modulateur QPSK.
Lorsque lon passe dun couple de bits au couple suivant, un ou deux bits peuvent changer
de valeur et on peut donc obtenir toutes les transitions possibles entre les quatre points
de la constellation (ce qui est represente `
a la Figure 6.4.(b)).
Ces sauts de phase importants (180 ) entranent un certain nombre de probl`emes
(probl`eme de la constance de lenveloppe) dont la presentation sort du cadre de ce cours
si bien que lon a cherche `
a les limiter en utilisant une modulation de phase decalee
(OQPSK: Offset QPSK).
Dans ce type de modulation on utilise les deux sequences {dI } et {dQ } definies ci-dessus,
mais on decale la sequence {dQ } dun intervalle de temps egal `
a T /2 (= Tb , lintervalle
unitaire relatif `
a un bit). Les transitions de (1,1) vers (-1,-1) ou de (1,-1) vers (-1,1) sont
d`es lors exclues et les sauts de phase sont reduits `
a 90 . La constellation ainsi que les
transitions autorisees de ce type de modulation sont reprises `
a la Figure 6.4.(a).
6.3.3
La sequence {an } peut egalement etre transmise en utilisant une combinaison dune modulation damplitude et de phase. On peut par exemple utiliser M niveaux en modulation
damplitude et N dephasages en modulation de phase. Il y correspond N M points possibles dans la constellation. Si M = 2k et N = 2l , ce type de modulation combinee
conduit `
a la transmission dun bloc de l + k moments binaires durant chaque intervalle
unitaire T . La vitesse de transmission 1/T (en Baud), est alors liee au debit binaire R
(en moments par seconde) par:
1/T = R/(l + k)
Lequivalent basse-frequence u(t) est donne par:
u(t) =
X
n
Jn ejn g(t nT )
6.3. APPLICATION AUX SIGNAUX MODULANTS NUMERIQUES
259
260
6.3. APPLICATION AUX SIGNAUX MODULANTS NUMERIQUES
261
Figure 6.4 Transitions possibles dans une constellation (a) OQPSK et (b) QPSK.
o`
u les Jn sont preleves dans un alphabet de M niveaux, tandis que les n le sont dans
un alphabet de N angles.
On verifie aisement que la modulation damplitude `
a porteuses en quadrature (QAM)
peut etre consideree comme un cas particulier de ce type de modulation.
Le cas (d) de la Figure 6.1 fournit un exemple dune modulation combinee `
a 16 etats
correspondant `
a 8 dephasages possibles combines `
a 2 amplitudes. Ce type de modulation
est utilise dans certains modems avec un debit binaire de 9600 moments par seconde
auquel correspond une vitesse de transmission de 1/T = 2400 Baud.
6.3.4
Modulation de fr
equence
6.3.4.1
Modulation de fr
equence sans continuit
e de phase
o`
u:
g(t) est une impulsion rectangulaire unitaire;
{In } est une sequence dentiers (In = 1, 3, . . . , (M 1)), obtenue en faisant
correspondre un bloc de k moments de {an } `
a lune de ces M entiers;
Il sensuit evidemment:
h
i
y(t) = <e u(t)ej0 t
X
f
=
g(t nT ) cos 2 f0 +
In t
2
n
Pour realiser ce signal module, il suffit de commuter un des M oscillateurs de frequence
f0 f /2,f0 3f /2, . . . toutes les T secondes en fonction de la valeur prise par le bloc
de k moments.
Ce type de signal module presente `
a chaque changement doscillateur un saut de phase
abrupt qui entrane un elargissement prohibitif de la largeur spectrale du signal module.
CHAPITRE 6. TRANSMISSIONS EN BANDE TRANSPOSEE
262
6.3.4.2
Modulation de fr
equence avec continuit
e de phase
Pour definir un signal module en frequence avec continuite de phase, on part dun signal
module en amplitude:
X
d(t) =
In g(t nT )
n
o`
u:
les amplitudes {In } sont obtenues en faisant correspondre `
a kde la sequence binaire
{an }, une amplitude de lalphabet {1, 3, . . . , (M 1)};
g(t) est une impulsion rectangulaire damplitude 0,5.T et de duree T .
6.3. APPLICATION AUX SIGNAUX MODULANTS NUMERIQUES
263
Ce signal d(t) module une porteuse en frequence de facon telle que lequivalent bassefrequence soit:
R +
u(t) = Aej (4T f d( )d +0 )
o`
u:
f est la deviation de frequence;
0 est la phase initiale de la porteuse.
Le signal module (multiplication avec ej0 t ) secrit donc:
y(t) = A cos [0 t + (t,I) + 0 ]
avec (t,I) lecart de phase de la porteuse defini par:
Z t
d( )d
(t,I) = 4T f
Z
=
4T f
In g( nT )d
On remarquera que lintegrale de d(t) est continue meme si d(t) presente des discontinuites.
On obtient par lintegration:
(t,I)
2T f
n1
X
Ik + 2f (t nT )In
met nT t (n + 1)T
k=
n + 2hIn q(t nT )
avec:
appele indice de modulation;
h = 2f T = 2f
Pn1 R
n = h k= Ik ;
t<0
0
t/(2T ) 0 t T
q(t) =
1/2
t>T
On verifie sans peine quil y a continuite de phase `
a chaque kT .
Ce type de modulation est, `
a la difference des modulations precedentes, une modulation
`
a memoire en ce sens que, le signal module depend sur un intervalle unitaire non seulement de la valeur de Ik sur cet intervalle mais aussi de toutes les valeurs precedentes
Ik1 ,Ik2 , . . . et n le terme qui assure cette fonction de memoire.
6.3.4.3
Exprime sous la forme ci-dessus, la modulation CPFSK peut etre consideree comme un
cas particulier dune classe plus generale de modulations avec continuite de phase definie
par un ecart de phase de la forme:
(t,I) = 2
n
X
Ik hk q(t kT )
pour nT t (n + 1)T
k=
o`
u:
{Ik } est defini comme dans le cas de la CPFSK;
{hk } est une sequence dindices de modulation;
CHAPITRE 6. TRANSMISSIONS EN BANDE TRANSPOSEE
264
q(t) est une fonction definie par lintegrale dune fonction (impulsion) g(t):
Z t
q(t) =
g(s)ds
0
On parle de CPM `
a reponse compl`ete si g(t) = 0 pour t > T , et de CPM `
a reponse
partielle dans le cas contraire. La Figure 6.6 presente quelques cas particuliers de fonctions
g et q.
6.3.4.4
Considerons une modulation CPFSK binaire (In = 1). La Figure 6.7 montre les
evolutions possibles de (t,I) `
a partir de t = 0.
Cette representation sappelle arbre de phase. Levolution est lineaire par section parce
que g(t) est une impulsion rectangulaire. On peut realiser des evolutions plus douces
(sans points anguleux) en choisissant pour g(t) par exemple une des formes reprises
`
a la Figure 6.6 (par exemple le cosinus sureleve: raised cosine). On obtient alors une
modulation du type CPM avec reponse partielle ou compl`ete. La trajectoire de phase
obtenue pour une sequence +1, 1, 1, 1, + 1, + 1, 1, + 1 est reprise `
a la Figure 6.8
dans le cas dune impulsion g(t) rectangulaire (pointille) et dune impulsion en cosinus
sureleve de longueur 3T (CPM `
a reponse partielle).
Il est aussi possible de donner une representation sous forme dune constellation mais il
faut toutefois bien observer que le point representatif de u(t) evolue pendant un intervalle
unitaire.
On a en effet:
u(t) = Aej(t,I)
et les composantes en quadrature sont:
I = A(t) cos (t,I)
Q = A(t) sin (t,I)
On nobtient donc plus une constellation au sens propre mais des trajectoires du type de
celles representees `
a la Figure 6.9 (CPFSK avec h = 1/4,1/3,1/2,2/3).
Les fins des trajectoires sont representees par un point. On remarquera que la longueur
de ces trajectoires de phase augmente avec h, ce qui ira de pair avec une augmentation
de la largeur spectrale du signal module.
Dans une representation sous forme dune arbre des phases, cette derni`ere crot avec le
temps et sort de lintervalle [0,2].
Si on fait une representation modulo 2 de la valeur de lecart de phase, on obtient ce que
lon appelle une representation en treillis de lecart de phase. Un tel treillis est represente
a
` la Figure 6.10 (dans le cas CPFSK binaire avec h = 1/2).
Il faut remarquer que les segments de droites qui joignent deux points (cest-`
a-dire deux
etats de phases en fin dintervalle unitaire) ne sont PAS les trajectoires de phase reelles
mais indiquent simplement des transitions.
Si on admet que h est rationnel:
h = m/p
(m et p premiers)
les etats de phase en fin dintervalles unitaires sont pour une modulation du type CPM
`
a reponse compl`ete (cest-`
a-dire entre autres pour une modulation CPFSK):
si m est pair:
0,m/p,2m/p, . . . ,(p 1)m/p
(cest-`
a-dire p etats)
6.3. APPLICATION AUX SIGNAUX MODULANTS NUMERIQUES
265
266
6.3. APPLICATION AUX SIGNAUX MODULANTS NUMERIQUES
267
CHAPITRE 6. TRANSMISSIONS EN BANDE TRANSPOSEE
268
(cest-`
a-dire 2p etats)
Une derni`ere representation possible est celle sous forme dun diagramme detat qui
reprend les etats de phases possibles en fin dintervalle unitaire ainsi que les transitions
possibles entre ces etats. La Figure 6.11 represente un tel diagramme detats.
6.3.4.5
Modulation de fr
equence `
a continuit
e de phase et `
a indice de
modulation h = 0,5
Dans ce type de modulation appele en anglais Minimum Shift Keying (MSK) ou encore
Fast Frequency Shift Keying (FFSK), lecart de phase sur lintervalle nT t (n + 1)T
est:
(t,I)
n1
X
Ik + In q(t nT )
2
k=
n +
t nT
In
2
T
1
4T
pour nT t (n + 1)T
6.3. APPLICATION AUX SIGNAUX MODULANTS NUMERIQUES
269
270
en
f2 = f0 +
1
4T
i = 1,2
La separation de frequence entre les deux frequences utilisees est donc egale `
a 1/(2T )
(valeur minimale pour que les deux signaux yi soient orthogonaux sur un intervalle unitaire T , do`
u la denomination). MSK est utilise dans le GSM (Global System for Mobile
communications).
FSK et MSK produisent des signaux pour lesquels la porteuse modulee presente une enveloppe constante (cest-`
a-dire sans variations damplitude). Ceci est une caracteristique
souhaitable en vue daugmenter le rendement des emetteurs. En effet, des variations
damplitude peuvent, en combinaison avec une caracteristique de transfert non-lineaire
dun amplificateur, donner lieu `
a une puissance (de bruit) dans les canaux adjacents.
Pour cette raison, on peut donc utiliser des amplificateurs plus efficaces (moins lineaires)
dans le cas de signaux pour lesquels lenveloppe est constante, ce qui m`ene `
a son tour `
a
une diminution de la puissance necessaire.
La Figure 6.12 presente les trois types de signaux modules suivants: MSK, OQPSK et
QPSK.
6.4
avec M = 2k
Dans cette formule, T est la duree dun symbole M-air transmis. Pour comparer les
differents types de PSK, il faut normaliser cette formule par rapport au debit binaire en
remplacant T en fonction de Tb (duree dun moment binaire).
BPSK: T = Tb ;
QPSK: T = 2Tb ;
M-PSK: T = kTb (M = 2k ).
Signalons en outre que:
les densites spectrales de la variance des signaux QPSK et OQPSK sont identiques;
les densites spectrales de la variance des signaux QAM et M-PSK sont identiques
(pour un meme nombre de points dans la constellation).
Pour un signal MSK la densite spectrale de la variance vaut:
2
cos 2f T
16A2 T
avec T = Tb
(f ) =
2
1 16f 2 T 2
La Figure 6.13 represente ces diverses densites spectrales (avec un axe des ordonnees en
dB).
6.4. SPECTRES DES SIGNAUX MODULES
271
272
1
2LT
1 cos
2t
LT
0<t<T
ailleurs
6.4. SPECTRES DES SIGNAUX MODULES
273
274
6.5
6.5.1
Deze combinatie van een (convolutieve) codering en een (numerieke) modulatie wordt
hoe langer hoe meer gebruikt in datacommunicatie (bijvoorbeeld in alle recente hogesnelheids modems). De bedoeling van deze gecombineerde techniek is om een betere
ruisbestendigheid te verwerven dan diegene die men kan bekomen in het geval van een niet
gecodeerde transmissie, doch zonder het informatiedebiet te wijzigen. TCM is inderdaad
een gecombineerd coderings- en modulatieschema, dat toelaat de betrouwbaarheid van
een numeriek transmissiesysteem te verbeteren, zonder toename van het uitgezonden
vermogen of van de benodigde bandbreedte.
6.5.2
TCM
Les codes detecteurs et correcteurs derreur permettent dameliorer la probabilite derreur, au prix dune bande passante necessaire plus importante. en effet, tant dans le cas
des codes en bloc que dans le cas des codes convolutifs, la bande passante est augmentee
par le remplacement de chaque message dinformation consistant en k bits par un mot
code consistant en n bits, o`
u n > k. Dans le cas de syst`emes limites en bande passante,
une telle augmentation de la bande passante nest pas possible. Cela explique pourquoi
dans le passe ces codes nont jamais ete tr`es populaires dans les canaux de transmission
`
a bande limitee comme les canaux telephoniques. Plus recemment un veritable interet
est apparu pour lemploi de certains types de techniques combinees de codage et de modulation. Ces techniques sont souvent designees sous le vocable TCM ou Trellis Coded
Modulation et elles atteignent un gain de codage sans aucune augmentation de la bande
passante necessaire. Comme dhabitude il y a cependant un prix `
a payer, et il sagit dans
ce cas dune augmentation de la complexite du decodeur.
TCM combine un schema de modulation multiniveaux/phases avec un schema de codage
en treillis oriente etat. Les schemas de modulation multiniveaux/phases presentent des
constellations qui consistent en plusieurs amplitudes, plusieurs phases ou une combinaison
des deux. Un code en treillis est un code qui peut etre caracterise `
a laide dun treillis. Les
codes convolutifs decrits ci-avant sont des codes en treillis lineaires. Nous nous limiterons
ici `
a lemploi de ces codes en treillis-l`
a, compte tenu de la disponibilite de lalgorithme
de decodage Viterbi.
Afin de pouvoir obtenir un gain de codage, il est naturellement indispensable dintroduire
de facon contr
olee de la redondance. Dans ce cas, la redondance necessaire est introduite
par lemploi dun alphabet du signal plus grand, ce qui est obtenu par lutilisation de
schemas de modulation multiniveaux/phases, mais dune facon telle que la bande passante
necessaire naugmente pas.
275
Lid
ee derri`
ere TCM
La performance derreur dun schema de modulation q-aire non code (comme ASK, PSK
ou QAM) depend de la distance entre les points les plus proches dans la constellation.
Cette distance minimale est determinee par la puissance demission moyenne et par le
nombre et la position des points representatifs dans la constellation. Pour une puissance
demission moyenne constante, cette distance minimale entre les points de la constellation diminue, lorsque le nombre de ces points augmente. Cela signifie aussi que dans
lhypoth`ese o`
u le debit de symbole et la puissance demission moyenne restent constants,
la performance derreur sera moins bonne pour les syst`emes qui essaient daugmenter le
debit binaire en augmentant le nombre de points dans la constellation. Le but de TCM
est precisement daugmenter la distance minimale entre les points de la constellation
qui peuvent etre le plus facilement confondus entre eux, sans pour cela augmenter la
puissance demission moyenne.
TCM peut etre realise en utilisant un generateur de code convolutif, o`
u les k bits actuels
et les K 1 bits precedents sont utilises pour produire n = k + m bits codes, et o`
u
K represente la longueur de memoire du generateur de code et m le nombre de bits
redondants. Il est evident que les n bits codes requi`erent 2n symboles de canal binaires
pour la transmission. Nous remarquons que lemploi dun generateur de code convolutif
augmente le nombre de points de la constellation de 2k `
a 2n . La figure 6.16 montre un
signal ASK 4-aire non code, avant et apr`es codage au moyen dun code de rendement de
codage de 32 . Ceci transforme le schema de modulation original ASK 4-aire en un schema
de modulation ASK 8-aire. On montre de la meme mani`ere `
a la figure 6.17 un signal PSK
(QPSK) 4-aire non code, avant et apr`es le codage au moyen dun code de rendement de
codage de 23 . Ceci transforme le schema de modulation original PSK 4-aire en un schema
de modulation PSK 8-aire. Dans chacun de ces exemples, la meme puissance demission
moyenne est utilisee avant et apr`es le codage.
276
La figure 6.18 illustre larrivee dune erreur dans un code en treillis: la figure montre une
sequence emise U = U1 , U2 , U3 , . . . et une sequence alternative V = V1 , V2 , V3 , . . ..
Dabord la sequence alternative diverge, mais elle rejoint ensuite la sequence emise. Dans
lhypoth`ese o`
u nous utilisons un decodeur base sur des decisions souples, nous pouvons
dire quune faute apparat d`es quun symbole recu se trouve plus pr`es, en distance Euclidienne, quune sequence alternative V que de la sequence emise U . Cela signifie que
la divergence entre U et V decrit lapparition dun erreur. Cela implique que des codes
pour les syst`emes multiniveaux/phases doivent etre developpes pour maximaliser la distance libre Euclidienne et non pour maximaliser la distance libre de Hamming. En effet,
dans un decodeur base sur des decisions souples, une plus grande distance Euclidienne
correspond `
a une probabilite derreur plus faible. Cest pourquoi la determination de la
relation entre des points representatifs dans la constellation dune part et des bits codes
dautre part, de telle facon que la distance Euclidienne est maximalisee, est la cle de
loptimalisation de TCM. Ungerboeck a etudie ce probl`eme de la relation entre les bits
et les symboles [30, 31, 32] et il a imagine une procedure dattribution speciale qui assure
toujours un gain de codage si les etats dans le treillis sont bien choisis.
Les r`egles heuristiques pour la resolution du probl`eme qui consiste `
a trouver la bonne correspondance entre bits et symboles sont basees sur la methode de la division densembles.
Elles peuvent etre resumees comme suit:
1. Toutes les transitions parall`eles dans le treillis doivent etre separees par la plus
grande distance Euclidienne possible. Des transitions parall`eles correspondent avec
les mots-code qui resultent de la transmission simultanee de bits non codes et
U2
277
U3
a = 00
V1
b = 10
V3
V2
c = 01
d = 11
Uitgezonden sequentie U
Alternatieve sequentie V
de bits codes (voir plus loin dans lexemple traite). Le raisonnement sousjacent est
base sur le fait que des transitions parall`eles signifient que des erreurs non multiples
peuvent survenir.
2. Toutes les transitions qui divergent depuis ou qui convergent vers un etat unique
dun treillis doivent etre separees par la distance Euclidienne immediatement
superieure la plus grande.
3. Les differents points de signaux devraient survenir avec la meme frequence.
Les deux premi`eres r`egles garantissent que la distance Euclidienne, dans un schema de
modulation codee (par exemple 8-PSK), associee `
a des chemins multiples ou non qui
divergent depuis un etat quelconque pour y re-converger plus tard, est plus grande que
la distance Euclidienne du schema de modulation non code correspondant (par exemple
4-PSK). La derni`ere r`egle garantit que le treillis aura une structure reguli`ere [26].
En resume, on peut dire que dans le cas de canaux limites en bande passante TCM
utilise un alphabet plus etendu en faisant appel `
a des schemas de modulation multiniveaux/phases, de sorte que la bande passante necessaire naugmente pas. Meme lorsque
cet alphabet de signaux plus etendu couple `
a une puissance demission constante signifie que la distance minimale entre points de la constellation diminue, lutilisation de la
distance Euclidienne libre entre les sequences codees sur-compense le fait que les points
de la constellation se rapprochent les uns des autres. Le resultat est alors un gain net en
termes de performance derreurs qui peut varier entre 3 et 6 dB, sans augmentation de la
bande passante necessaire. Ces principes seront illustres dans la section suivante `
a laide
dun exemple.
CHAPITRE 6. TRANSMISSIONS EN BANDE TRANSPOSEE
278
6.5.2.3
Exemple de TCM
1e gecodeerde bit: u1
2e data bit: k2
2e gecodeerde bit: u2
Uitgangssequentie
3e gecodeerde bit: u3
279
k1 = u1, u2, u3
Toestand
00
Toestand
000
00
0
00
11
1
10
01
1
100
01
1
11
1
10
0
10
010
110
01
00
01
1
10
1
00
1
10
11
010
11
110
280
Dans le signal code 8-PSK, les points de signal se trouvent sur un cercle de rayon E,
do`
u resulte que la distance minimale entre deux points de signal est donnee par:
q
(6.1)
Lors de la premi`ere partition, les 8 points de signal sont repartis (ensemble A) en deux
sous-ensembles B0 et B1 de chacun 4 points de signaux, de mani`ere telle que
la distance Euclidienne minimale entre deux points de signal augmente jusque d1 = 2E. Des
schemas de modulation non codee 4-PSK (qui servent de reference lors de la determination
de la valeur ajoutee du codage) utilisent soit les points de signal du sous-ensemble B0 ,
ou du sous-ensemble B1 . La distance Euclidienne minimale
entre deux points de signal
de cette modulation 4-PSK non codee est alors egale `
a 2E.
Au deuxi`eme niveau de partition, chacun des sous-ensembles B0 et B1 sont `
a nouveau
divises en deux sous-ensembles (respectivement C0 , C2 et C1 , C3 ), de sorte que ladistance
Euclidienne minimale entre deux points de signal sel`eve maintenant `
a d2 = 2 E. Ceci
resulte en 4 sous-ensembles de deux points de signal chacun. La derni`ere partition possible
m`ene alors `
a 8 sous-ensembles differents (D0 jusque D7 ), consistant chacun en un seul
point de signal.
A = 8PSK
d0 = 0,765 E
B0
B1
d1 = 2E
C0
001
C1
C2
010
D6
D0
D4
101
111 D1
D5 011
D2
C3
000
D3
D7
110
100
d2 = 2 E
281
qui correspondent aux bits (010, 110), C1 contient les deux points de signal qui correspondent avec les bits (101, 001) et C3 contient les deux points de signal correspondant
aux bits (111, 011). En consequence, chaque transition detat dans le treillis `
a 4 etats
contient deux chemins parall`eles.
Remarquons quentre deux chemins quelconques qui divergent depuis un certain etat
et qui y reviennent apr`es plus dune transition il existe une distance Euclidienne au
carre de (d0 )2 + 2(d1 )2 = (d0 )2 + (d2 )2 . Ainsi, la distance entre dune part le chemin de signal C0 , C0 , C0 et le chemin de signal C2 , C1 , C2 dautre part vaut en effet
(d0 )2 + (d2 )2 = 4,585E. Par contre, la distance Euclidienne au carre entre des transitions
parall`eles (d2 )2 = 4E. Il sensuit que la distance minimale dans le treillis `
a 4 etats entre
des chemins qui divergent
depuis
un
e
tat
quelconque
et
y
reviennent
ensuite
est egale
est egale `
a d2 = 2 E. Cette distance minimale dans le treillis est appelee la distance
Euclidienne libre.
Dans le treillis `
a 4 etats de la Figure 6.20, la distanceEuclidienne libre vaut 2 E. Lorsque
nous comparons cela `
a la distance Euclidienne de 2E pour la 4-PSK non codee, nous
constatons que le treillis `
a 4 etats gen`ere un gain de codage de 3 dB.
Nous devons remarquer que le treillis `
a 4 etats de la Figure 6.20 est optimal, dans le sens
o`
u il livre la distance Euclidienne libre la plus grande possible. Il est clair que lon peut
encore construire beaucoup dautres treillis `
a 4 etats , mais on peut demontrer quaucun
de ces autres treillis ne poss`ede un distance Euclidienne libre plus grande [26]. Rappelons
que que treillis optimal `
a 4 etats a ete obtenu par lapplication des r`egles heuristiques
mentionnees plus haut.
Dans lexemple ci-dessus la partition des points de signal a ete effectuee jusquau cas
limite o`
u chaque sous-ensemble ne consiste plus quen un seul point de signal. En general,
ceci nest pas indispensable. La constellation PSK `
a 8 valeurs peut par exemple etre
divisee deux fois afin de generer 4 sous-ensembles de deux points de signal. Le niveau des
partitions est determine par les caracteristiques du code (convolutif) utilise.
Le cas le plus general dun generateur de code convolutif utilise dans une application
TCM est represente `
a la Figure 6.22.
k2 input data bits
1
2
k2
n gecodeerde bits
1
2
Convolutieve
Selecteer
subset
codegenerator
n
n
{1, 2, ..., 2 }
Signaalpunt
1
2
Selecteer
punt
uit
k1
subset
k
{1, 2, ..., 2 1 }
CHAPITRE 6. TRANSMISSIONS EN BANDE TRANSPOSEE
282
6.5.2.4
111
110
100
001
011
010
000
-7
-5
-3
-1
+1
+3
+5
+7
(6.2)
o`
u di est la distance Euclidienne entre le i`eme signal et le milieu de lespace de signal et
q represente le nombre de mots code. Pour le signal de la Figure 6.23, o`
u M = 8, lemploi
de la formule (6.2) livre une puissance de signal moyenne Sav = 21.
La Figure 6.24 montre le signal 4-ASK qui correspond au schema de modulation non
codee. Les distances Euclidiennes dans cette figure sont choisies de telle sorte que la
puissance moyenne du signal est ici aussi egale `
a Sav = 21.
00
01
10
11
-6,15
-2,05
+2,05
+6,15
283
La Figure 6.25 illustre larrivee dune erreur de distance minimale pour le generateur de
code represente `
a la Figure 6.19. La sequence emise est le chemin consistant en zeros
uniquement. Chaque mot-code le long de ce chemin a une distance de 7 unites jusquau
milieu de lespace de signal. Lerreur qui survient fait diverger le chemin par rapport `
a
celui qui consistait en zeros uniquement, dabord en passant `
a letat 10, ensuite `
a letat
01, pour finalement revenir `
a letat 00. Pour chaque branche le long du chemin alternatif,
la distance Euclidienne jusquau milieu de lespace de signal est donnee dans lhypoth`ese
o`
u le bit non code est m1 = 0. Cette hypoth`ese nous garantit que la distance entre le
chemin consistant en zeros uniquement et le chemin alternatif est minimale.
a = 00
3
3
b = 10
5
c = 01
d = 11
Figure 6.25 Arrivee dune erreur de distance minimale dans le cas dun
generateur de code convolutif de rendement de codage 23 .
Pour comparer les performances de la modulation non codee 4-ASK avec celle du treillis
8-ASK, il est necessaire de comparer les puissances recues dans le cas o`
u la puissance
demission moyenne est la meme pour les deux schemas de modulation. Cela signifie que
nous devons comparer le carre de la distance minimale (dmin )2 , qui est obtenu dans le
cas dune erreur, dans les deux cas mentionnes ci-dessus. Le gain de codage G est alors
determine comme suit:
(dmin )2gecodeerd
G=
(6.3)
(dmin )2ongecodeerd
Dans le cas de lexemple que nous traitons ici, la valeur (dmin )2 pour chaque erreur qui
survient est calculee comme suit:
(dmin )2gecodeerd = (7 3)2 + (7 5)2 + (7 3)2 = 36
(dmin )2ongecodeerd = (6,15 2,05)2 = 16,8
Dapr`es lequation (6.3), le gain de codage G est obtenu comme suit:
G=
ou en decibel = 3,31 dB.
36
= 2,14
16,8
284
Table 6.1 Gain de codage (gain moyen de puissance) en dB, obtenu dans le cas
8-ASK avec un codage en treillis de rendement 23 .
Nombre detats du treillis
4
8
16
32
64
128
256
Longueur de memoire K
3
4
5
6
7
8
9
Du c
ote de lemetteur, il ny a quune petite augmentation de la complexite suite `
a
ladjonction du generateur de code en treillis. Par contre, la complexite de lemetteur
a considerablement augmente, de sorte que le jugement qui doit etre porte consiste `
a
rapporter le gain de codage obtenu `
a laugmentation de complexite dans le decodeur.
En conclusion, on peut encore remarquer quil est possible dobtenir davantage de gain
de codage par lintroduction dasymetrie dans les constellation [3, 9, 10], ou en travaillant
avec des constellations multidimensionnelles [8, 38]. Letude de ces variantes plus sophistiquees de TCM sort toutefois du cadre de ce cours.
285
Chapitre 7
R
ecepteur optimal
7.1
Introduction
s2 = V
(bande de base)
s1 = +V
s1 = A cos 0 t
s2 = A cos 0 t
(PSK)
s1 = A cos(0 + )t s2 = A cos(0 )t
(FSK)
Nous supposerons que ces deux fonctions sont emises de facon independante durant des
intervalles unitaires successifs de T secondes et qu`
a chaque intervalle, leurs probabilites
doccurrence sont egales.
A lentree du recepteur, ce sont des versions deformees de ces fonctions qui sont appliquees. Toute voie de transmission est en effet imparfaite:
sa bande passante est limitee;
elle est soumise `
a leffet de bruits (additifs et/ou multiplicatifs).
Nous supposerons ici que la voie de transmission est `
a bande passante infinie (ce probl`eme
a ete etudie au chapitre 4) mais quelle est soumise `
a leffet dun bruit additif (stationnaire,
centre et gaussien). Noublions toutefois pas quen realite les deux effets sont `
a prendre
simultanement en consideration.
Le premier etage du recepteur est le regenerateur qui, `
a la fin de chaque intervalle unitaire
doit determiner lequel des deux signaux de lalphabet etait present `
a son entree sur cet
intervalle. En dautres mots, il doit toutes les T secondes et apr`es traitement du signal
dentree prendre la decision suivante: s1 ou s2 a ete emis durant le dernier intervalle
unitaire.
Le signal recu etant noye dans le bruit, le regenerateur prendra parfois une decision
erronee; sa decision est assortie dune probabilite derreur Pf . On dit en effet quil y a
erreur lorsque le regenerateur decide que le symbole s1 a ete emis alors quil sagissait de
s2 et inversement.
Nous supposerons ici que le recepteur dispose de toute linformation de synchronisation necessaire (restitution du signal dhorloge: voir chapitre 8); il est donc `
a meme de
determiner le debut et la fin de chaque intervalle unitaire.
CHAPITRE 7. RECEPTEUR
OPTIMAL
286
Si les signaux emis sont le resultat dune modulation dune porteuse nous supposerons
egalement que le recepteur dispose dune replique de cette porteuse (qui a donc la bonne
frequence et la bonne phase; detection coherente). Les divers syst`emes de modulation
seront compares entre-eux avec comme crit`ere la probabilite derreur Pf .
Le but de ce chapitre est de determiner le regenerateur optimum cest-`
a-dire celui dont
la probabilite derreur Pf est minimale. Cette etude nous conduira `
a la notion de filtre
adapte et `
a celle de reception par correlation.
7.2
7.2.1
R
eg
en
erateur optimal
Introduction
Nous supposerons (Figure 7.1) que le regenerateur est constitue dun filtre (dont nous
devons determiner la transmittance) suivi dun etage dechantillonnage et dun organe
de decision qui decide si s1 ou s2 ont ete emis. Cette decision est prise durant chaque
intervalle unitaire, independamment des intervalles precedent. Il sagit dun regenerateur
a
` decision ferme (par opposition aux regenerateurs `
a decision souple). Un bruit additif
stationnaire et gaussien n(t) de densite spectrale de la variance n () se superpose aux
signaux s1 et s2 .
EN
ERATEUR
7.2. REG
OPTIMAL
287
La r`egle adoptee par lorgane de decision est donc la suivante: si a ete emis si v0 (T ) est
le plus proche de s0i (T ) (i = 1,2). En dautres termes, la decision du regenerateur prend
en compte une valeur de seuil:
v0 (T ) =
s01 (T ) + s02 (T )
2
Si on suppose que s01 (T ) > s02 (T ), le regenerateur decidera que s1 (t) a ete emis si
v0 (T ) > v0 (T ) et prendra la decision inverse dans le cas contraire.
Calculons la probabilite dune decision fautive. Supposons pour cela que s2 (t) a ete emis
durant lintervalle unitaire considere. Le regenerateur prendra une decision fautive (cesta
`-dire decider que s1 (t) a ete emis) si:
n0 (T )
s01 (T ) s02 (T )
2
+
s01 (T )s02 (T )
2
e
20
n2
0 (T )
2
20
dn0 (T )
20
s01 (T ) s02 (T )
2 20
Puisque erc(z) est une fonction monotone decroissante de z, on constate que Pf diminue
si s01 (T ) s02 (T ) augmente et si la variance du bruit filtre diminue.
Le filtre optimal est donc celui qui maximalise:
Pf =
1
erc
2
7.2.2
s01 (T ) s02 (T )
0
On constate que cest la difference entre les deux signaux qui est `
a prendre en
consideration; cest pourquoi on definit:
p(t) s1 (t) s2 (t)
et si on suppose que p(t) est applique `
a lentree du filtre, sa sortie est notee:
p0 (t) s01 (t) s02 (t)
CHAPITRE 7. RECEPTEUR
OPTIMAL
288
=
=
1
2
1
2
n0 ()d
|F ()|2 n ()d
Lexpression `
a maximaliser (par le choix de F ()) est donc:
2
=
=
p20 (T )
02
R +
1
| 2
F ()P () ejT d|2
R
+
1
|F ()|2 n ()d
2
Linegalite de Schwartz nous dit que, pour deux fonctions quelconque X() et Y () de
la variable reelle , on peut ecrire:
Z +
2 Z +
Z +
2
|X()| d
|Y ()|2 d
X()Y ()d
X() = KY ()
o`
u K est une constante quelconque.
Posons:
p
X() n ()F ()
1
Y () p
P () ejT
n ()
et 2 secrit:
1
| 2
1
2
1
2
R +
X()Y ()d|2
R +
1
2
Z +
|X()|2 d
|Y ()|2 d
Z +
|P ()|2
d
n ()
EN
ERATEUR
7.2. REG
OPTIMAL
289
"
1
n ()F () = K p
P () ejT
n ()
ou encore pour:
P () jT
e
n ()
La valeur maximale de ainsi realisee est:
2
Z +
p (T )
|P ()|2
1
2
= 0 2
max
d
=
0 max
2 n ()
F () = K
On constate que la transmittance du filtre doit etre adaptee aux signaux emis (par P ())
et `
a la densite spectrale de la variance du bruit:
(
|F ()| = n|K|
|P ()|
puisque n () est reelle
()
arg F () = arg K arg P () T
Pour chaque frequence, le module de la transmittance du filtre doit etre proportionnel
au module de la transformee de Fourier de la difference des signaux si (t) (i = 1,2);
le coefficient de proportionnalite est pondere par linverse de la densite spectrale de la
variance du bruit `
a cette frequence (plus le bruit `
a cette frequence est faible, plus le filtre
doit transmettre cette frequence si les signaux sont bien differencies toujours `
a cette
meme frequence).
7.2.3
la transmittance du filtre (alors appele filtre adapte - matched filter), est donne par:
F () = K
P () jT
e
/2
=
=
=
F 1 [F ()]
Z +
2K 1
P () ejT e+jt d
2
Z +
K
P () ej(tT ) d
CHAPITRE 7. RECEPTEUR
OPTIMAL
290
et donc:
2K
[s1 (T t) s2 (T t)]
Pour obtenir la reponse impulsionnelle du filtre optimal, on doit donc construire successivement p(t) et p(t) (symetrique de p(t) par rapport `
a laxe dordonnees); cette
derni`ere subit ensuite une translation de longueur T vers les t positifs. On conclut de
cette construction que le filtre adapte est realisable si si (t) est nulle en dehors de lintervalle [0,T ]. La Figure 7.2 nous montre un exemple dune telle construction.
w(t) =
7.2.4
Probabilit
e derreur pour un filtre adapt
e
T
0
EN
ERATEUR
7.2. REG
OPTIMAL
291
on obtient:
2
max
=
=
Z
2 T
[s1 (t) s2 (t)]2 dt
0
2
[Es1 + Es2 2Es12 ]
RT
RT
avec Esi = 0 s2i (t)dt (i = 1,2): energie de si sur [0,T ] et Es12 = 0 s1 (t)s2 (t)dt.
Si on suppose en outre que s2 (t) = s1 (t) (signaux antipodaux), on obtient:
Es1 = Es2 = Es12 Es
et:
2
=
max
p20 (T )
02
=
max
8Es
si bien que:
(Pf )min
=
=
=
p0 (T )
2 20 max
"s
#
p0 (T )
1
erc
2
802
max
r
1
Es
erc
2
1
erc
2
Cette formule montre clairement que la probabilite derreur Pf ne depend que de lenergie
des signaux et non pas de leurs formes, `
a condition evidemment dutiliser un filtre adapte
et que s1 = s2 .
Rappelons que nous avons en outre suppose que les signaux si (t) ne subissent pas de
deformation durant la transmission, si ce nest laddition du bruit blanc n(t). En realite, la
bande passante limitee de la voie de transmission causera inevitablement une deformation
des signaux si (t). Ce sont en fait ces signaux deformes qui devraient etre pris en compte
pour la determination de la transmittance du filtre (qui eventuellement pourrait devenir
non causal).
7.2.5
R
eception par corr
elation
CHAPITRE 7. RECEPTEUR
OPTIMAL
292
Z
v0 (t)
vi ( )w(t )d
Z T
vi ( )w(t )d
=
0
et donc:
v0 (t) =
2K
vi ( ) [p(T (t ))] d
0
2K
vi ( )p( )d
0
Ceci montre que le regenerateur de la Figure 7.3 (en loccurrence un filtre adapte) est
equivalent au correlateur represente `
a la Figure 7.4.
7.3
7.3.1
s1 = A cos 0 t
s2 = A cos 0 t
293
Le correlateur realise donc une demodulation coherente en ce sens quun signal local doit
etre engendre avec une frequence et une phase bien determinee.
Puisque s1 (t) = s2 (t), la probabilite dune erreur est donne par:
r
1
Es
Pf =
erc
2
o`
u Es est lenergie du signal si (t) sur lintervalle [0,T ]. Si T est un multiple de 1/f0 ou
par approximation si T f0 , alors:
Es =
1 2
A T
2
et donc:
s
1
Pf =
erc
2
A2 T
2
s
1
A2 T
erc
cos2
=
2
2
ce qui augmente la probabilite derreur.
Ces conclusions justifient les techniques developpees pour restituer la porteuse dun signal
module. En telecommunications, on exige selon les applications:
107 < Pf < 104
et dans ce domaine une valeur de = 25 correspond `
a une multiplication de Pf par un
facteur 10 par rapport au cas = 0.
7.3.2
On a:
Modulation de fr
equence binaire (BFSK)
s1 = A cos(0 + )t
s2 = A cos(0 )t
CHAPITRE 7. RECEPTEUR
OPTIMAL
294
Si on suppose que:
0 et 0 T 1
(ce qui est en general realise), on obtient:
2
max
=
2A2 T
1
sin 2T
2T
2
On peut encore maximaliser max
en choisissant:
2T =
3
2
Ceci conduit `
a:
A2 T
A2 T
= 4,84
2
La probabilite derreur est donc fournie par:
r
2
1
max
Pf =
erc
2
8
s
1
A2 T
erc
0,6
2
2
2
= 2,42
max
On constate donc que lon obtient la meme valeur de la probabilite derreur quen PSK
`
a condition que lenergie du signal PSK (calculee sur [0,T]) soit 0,6 celle du signal FSK!
Cette difference (`
a lavantage de la PSK) vient du fait que s2 6= s1 en FSK.
Puisque la demodulation dun signal FSK par un correlateur exige egalement un contr
ole
stricte de loscillateur local (cest-`
a-dire une realisation technique elaboree) et ce pour
une performance moins bonne, ce type de modulation est peu utilise dans des conditions
de reception critiques.
Si on utilise toutefois une modulation FSK, le regenerateur utilise est du type noncoherent en ce sens quil utilise tout simplement un discriminateur de frequence classique
ou deux filtres passe-bande. Dans ce dernier cas, represente `
a la Figure 7.5, un des deux
filtres est centre sur 0 tandis que lautre lest sur 0 + , et la bande passante des
filtres est choisie de facon telle que la sortie est maximale sur le filtre dont la frequence
centrale correspond `
a celle du signal emis.
295
On doit sattendre `
a des performances reduites (no free lunch!); on trouve en fait:
Pf =
7.3.3
1 E2s
e
2
Nous avons vu que la detection par correlation dun signal PSK suppose lexistence dun
oscillateur local fournissant une replique coherent de londe porteuse.
Si on souhaite simplifier la realisation technique, on peut utiliser une modulation de
phase differentielle (DPSK) au prix toutefois dune leg`ere augmentation de la probabilite
derreur.
Dans ce type de modulation, cest la presence ou labsence dune transition de phase dun
moment par rapport au precedent qui contient linformation binaire.
Par exemple:
1 pas de modification de phase
0 changement de phase par rapport au moment precedent
Message:
1 1 0 1 0 1
Phase:
0 0 0 0 0
o`
u la valeur de la premi`ere phase (ici zero) est choisie de mani`ere arbitraire.
Un syst`eme de modulation et de detection est represente `
a la Figure 7.6.
296
CHAPITRE 7. RECEPTEUR
OPTIMAL
297
7.3.4
On constate `
a la Figure 7.8 que les energies necessaires pour
derreur de 105 satisfont `
a:
= (Es )PSK +
(Es )DPSK
(Es )FSK coherente
= (Es )PSK +
CHAPITRE 7. RECEPTEUR
OPTIMAL
298
7.3.5
s1 = V
s2 = V
w(t)
=
=
2K
[s1 (T t) s2 (T t)]
2K
2V [u(t) u(t T )]
p
p
299
=
=
=
s0 (T ) + n0 (T )
Z
Z
1 T
1 T
s(t)dt +
n(t)dt
T 0
T 0
Z
V T
1 T
+
n(t)dt
T
T 0
On constate que cette procedure favorise grandement le signal par rapport au bruit. Dans
le cas dun bruit blanc additif et gaussien, on obtient:
r
1
Es
Pf =
erc
2
avec:
Es =
V 2 dt = V 2 T
si bien que:
s
1
erc
Pf =
2
V 2T
CHAPITRE 7. RECEPTEUR
OPTIMAL
300
7.4
Conclusions
301
Chapitre 8
Synchronisatie
8.1
Inleiding
A1 cos[2f0 t + 1 (t)]
(8.1)
z2 (t)
A2 cos[2f0 t + 2 (t)]
(8.2)
waarbij elke i (t) een random proces is met i (0) = 0, gemiddelde gelijk aan 0 (i.e.
gecentreerd) en variantie gelijk aan ti , i = 1,2. Dit random proces is een niet-stationair
Gausiaans proces, gedefinieerd in het interval (0,). De variantie van het random proces
dat het fazeverschil tussen de twee oscillatoren voorstelt, wordt dan gegeven door:
E[1 (t) 2 (t)]2 =
t
t
1 + 2 4 t
+
=t
=
1
2
1 2
12
(8.3)
waar we de gemeenschappelijke coherentietijd 12 van de twee oscillatoren hebben gedefinieerd als de tijd die ze nodig hebben om te komen tot een eenheidsvariantie van hun
fazeverschil. Vemits de variantie in de vergelijking (8.3) toeneemt met de tijd t, kunnen we daaruit besluiten dat twee onafhankelijke oscillatoren nooit oneindig lang hun
302
CHAPITRE 8. SYNCHRONISATIE
(initiele) synchronisatie kunnen behouden. Om de synchronisatie toch te kunnen behouden moeten ze wederzijds sommige informatie uitwisselen, i.e. ze moeten in zekere zin
vergrendeld zijn. Het is de bedoeling van deze notas om de basisbegrippen van klok- en
draaggolf-synchronisatie te onderzoeken en te verduidelijken. Teneinde dit doel te verwezenlijken dienden er enkele keuzes gemaakt te worden. De belangrijkste keuze is deze
van het onderwerp te behandelen in het analoge domein, in plaats van in het numerieke
domein. De reden hiervoor is dat de werking van de basis synchronisatie kringen (en in
het bijzonder de fazevergrendelingslus PLL: Phase Lock Loop) gemakkelijker te begrijpen
is in het analoge domein.
Moderne implementaties (althans voor laag- tot middelhoog-frequente draaggolven) streven echter steeds meer naar het plaatsen van een analoog-numeriek omvormer (uitgerust
met een anti-aliasing filter) aan de ingang van de ontvanger, waarna alle verdere operaties (waaronder synchronisatie) uitgevoerd worden in het numerieke domein. De lezers die
meer informatie wensen in verband met synchronisatie in het numerieke domein, worden
verwezen naar volgende referentiewerken [22, 23].
8.1.1
Acquisitie en training
Tot nu toe hebben we verondersteld dat 1 (0) 2 (0) = 0. Dit is heel zeker niet juist
wanneer we bijvoorbeeld twee modems aanschakelen om de transmissie te starten. De
twee oscillatoren zijn dan compleet niet-coherent en we hebben nood aan een initiele
tijdsperiode om de oscillatoren te synchroniseren, vooraleer de transmissie van data kan
gestart worden. Deze tijdsperiode staat meestal bekend als acquisitie tijd of acquisitie
faze. Aan het einde van de acquisitie faze zijn de twee oscillatoren vergrendeld en de datatransmissie start. Gedurende de datatransmissie zelf, moeten we het fazeverschil tussen
de twee oscillatoren ook binnen zekere grenzen houden. Deze operatie staat bekend als
de tracking faze. Deze faze is enkel noodzakelijk wanneer de transmissietijd beduidend
groter is dan de gemeenschappelijke coherentietijd 12 van de oscillatoren. Veelal zijn
verschillende niveaus van synchronisatie nodig in een systeem. Beschouwen we als voorbeeld het geval van een TDM PCM-systeem voor het overbrengen van de stem, gebruik
makende van binaire CPSK modulatie. Hier hebben we de vier niveaus van synchronisatie nodig zoals ze getoond worden in Figuur 8.1: raster, woord, symbool (of klok)
en draaggolf-synchronisatie. Hier zullen we ons enkel bezig houden met de twee laatste:
draaggolf- en klok-synchronisatie.
De locatie van draaggolf- en klok-synchronisatie kringen in een mogelijke structuur van
een ontvanger worden voorgesteld in Figuur 8.2.
Een spectrale analyse van de gemoduleerde signalen toont aan dat de meest efficiente numerieke modulatietechnieken de draaggolf volledig onderdrukken: al het zendvermogen
wordt dan immers gestoken in het continue gedeelte van het spectrum en er wordt geen
vermogen verspild aan een spectrale lijn op de frequentie van de draaggolf. Bovendien,
in de veronderstelling dat de informatie-dragende random veranderlijken onafhankelijk
en identiek verdeeld (i.i.d.) zijn, is het spectrum van het numerieke signaal continu en
bevat het geen spectrale lijnen op de klokfrequentie. Bijgevolg zal elke draaggolf- of
klok-synchronisatie kring bestaan uit twee conceptueel verschillende onderdelen: (1) een
geschikte niet-lineaire kring die de draaggolf- of de klokfrequentie regenereert vanuit het
datasignaal dat geen van beide bevat, en (2) een kring met een smalle doorlaatband (typisch een aangepaste filter of een fazevergrendelingslus, PLL) die de aldus geregenereerde
draaggolf- of klokfrequentie van de achtergrond scheidt.
Teneinde een theoretisch gegronde verrechtvaardiging te kunnen geven van de structuur
van een PLL (wat de meest gebruikte kring is in synchronisatie toepassingen), zullen
we een vereenvoudigde situatie beschouwen in dewelke de geregenereerde draaggolf enkel
8.1. INLEIDING
303
304
CHAPITRE 8. SYNCHRONISATIE
(8.4)
waar de random veranderlijke is die de schatting van voorstelt. De optimale nietgebiaste schatter = van volgens het maximum-likelihood (ML) criterium is degene
die het rechterlid van vergelijking (8.5) minimaliseert of, wat equivalent is, degene die de
volgende vergelijking oplost:
Z nT0
d
cos(2f0 t + )
d
(8.7)
(8.8)
Wanneer we nu rekening houden met het feit dat n(t) een witte Gaussiaanse ruis is
met spectrale densiteit van het vermogen gelijk aan N20 , dan kunnen we de volgende
uitdrukking bekomen voor de variantie van de schatter:
E( )2 '
N0
A2 nT0
(8.9)
Uit vergelijking (8.9) kunnen we besluiten dat de variantie van de schatter omgekeerd
A2
en met de lengte van het observatie-interval
evenredig is met de signaalruisverhouding N
0
nT0 . Figuur 8.3 toont eveneens dat de optimale estimator een open-lus structuur heeft.
In de praktijk echter is de oplossing voorgesteld in Figuur 8.3 veelal niet realiseerbaar.
8.1. INLEIDING
305
In feite is een estimatie van de onbekende faze slechts beschikbaar op het einde van
het observatie-interval. Vermits de schatting van de faze gebruikt dient te worden voor
de coherente demodulatie, met als ultieme doel de beslissing i.v.m. de verzonden data,
zou deze data gestockeerd moeten worden gedurende een duur gelijk aan nT0 , teneinde
de beslissing aangaande deze data uit te stellen. Deze procedure zou ook periodiek herhaald moeten worden, teneinde trage variaties van de faze van de draaggolf gedurende
de tracking periode te kunnen volgen.
Een mogelijke manier om deze moeilijkheden te overkomen bestaat in het bekomen van
de gewenste schatting, gebruik makende van een iteratieve procedure. Veronderstel dat
we op het einde van de k-de periode van de draaggolf een schatting k hebben bekomen en
dat we deze schatting wensen aan te passen, op basis van de observatie van het ontvangen
signaal tijdens de daaropvolgende periode van de draaggolf. Beschouw het gemiddelde
van de grootheid uit het linkerlid van vergelijking (8.6) in een observatie-interval van
lengte T0 en geconditioneerd op de waarde k , bekomen in het vorige tijdsinterval:
(Z
)
(k+1)T0
d()
E
= k
= E
z(t,) cos(2f0 t + k )
(8.10)
d
kT0
=
AT0
sin(k )
2
(8.11)
In Figuur 8.4 wordt het gedrag van dit gemiddelde getoond in functie van k .
e(k ) =
d()
= k
d
(8.13)
306
CHAPITRE 8. SYNCHRONISATIE
Terloops kan worden opgemerkt dat het algoritme voorgesteld in vergelijking (8.12) grote
gelijkenissen vertoont met de zogeheten gradient-algoritmes.
Vermits we niet in staat zijn om het statistische gemiddelde uit het rechterlid van vergelijking (8.12) te berekenen, lijkt het aangewezen om deze grootheid in het voorgestelde
recursieve algoritme te vervangen door een tijdsgemiddelde. Zo bekomen we het volgende
recursieve algoritme:
k
1X
k+1 = k
i e(k )
(8.14)
k i=0
waarin we de invloed van de vorige schattingen hebben uitgebreid tot het ganse tijdsinterval (0, kT0 ).
8.1.2
De fasevergrendelingslus (PLL)
Een praktische implementatie van het recursieve algoritme (8.14) wordt voorgesteld in
de kring van Figuur 8.5, die PLL (E: Phase-Locked Loop) wordt genoemd.
d(t)
= k2 e(t)
dt
(8.15)
In het geval van aanvaardbare vereenvoudigingen kan men aantonen dat een PLL een
relatie tussen de opeenvolgende schattingen van implementeert zoals beschreven in
vergelijking (8.14).
Laat ons nu het gedrag van de PLL een beetje meer in detail analyseren, vermits deze
kring het hart vormt van vele synchronisatie kringen. Veronderstellen we voor het ogenblik dat het ontvangen signaal ruisvrij is. Laten we de impulsresponsie van de laagdoorlaatfilter uit Figuur 8.5 voorstellen door h(t), en veronderstellen we dat deze filter de
hoogfrequente component uit de output van de vermenigvuldiger haalt. Wanneer we nu
1. Merk
op dat we hier de magnitude van het ontvangen signaal vermenigvuldigd hebben met
een factor 2, teneinde de uitdrukkingen die volgen te vereenvoudigen.
8.1. INLEIDING
307
(8.16)
dan bekomen we de volgende niet-lineaire vergelijking, die het gedrag van de PLL beschrijft:
Z t
d
d
=
Ak1 k2
h(t ) sin ( )d
(8.17)
dt
dt
0
In Figuur 8.6 wordt een blokschema getoond, waarin de niet-lineaire vergelijking (8.17)
functioneel voorgesteld wordt.
Figure 8.6 Equivalent blokschema van een niet-lineaire PLL waarin de relatie
tussen de fazen wordt getoond.
De analyse van een PLL in het algemene geval is behoorlijk moeilijk, maar deze analyse
wordt drastisch vereenvoudigd in het geval dat de fasefout (t) klein genoeg is om de
benadering sin ' te rechtvaardigen. Deze benadering lineariseert de betrekking uit
(8.17) en leidt tot het blokschema van de Figuur 8.7.
Figure 8.7 Equivalent blokschema van een lineaire PLL waarin de relatie tussen
de fazen wordt getoond.
De analyse van deze lineaire PLL is triviaal, gebruik makende van de Laplace getransformeerde. We bekomen inderdaad de volgende transfertfunctie:
4
Heq =
(s)
Ak1 k2 H(s)
=
(s)
s + Ak1 k2 H(s)
(8.18)
308
CHAPITRE 8. SYNCHRONISATIE
8.1.2.1
De orde van de PLL wordt gedefinieerd aan de hand van de graad van de noemer van
de globale transfertfunctie Heq (s), die op zijn beurt afhangt van de transfertfunctie H(s)
van de filter in de lus. We hebben dus:
Eerste-orde PLL:
Ak1 k2
H(s) = 1 Heq (s) =
(8.19)
s + Ak1 k2
Tweede-orde PLL:
H(s) =
4fn s + (2fn )2
1 + s2
Heq (s) = 2
s1
s + 4fn s + (2fn )2
(8.20)
8.1. INLEIDING
309
zijn, terwijl derde- en hogere-orde PLLs stabiel kunnen zijn onder bepaalde voorwaarden.
Naast de stabiliteitsoverwegingen is het belangrijk om het regimegedrag van de PLL (i.e.
de regime faze- en frequentie-fouten in de aanwezigheid van specifieke inputs) te kennen.
We zullen hier twee verschillende gevallen van input-fazen behandelen:
A (t)
B (t)
=
=
2t(f ) +
(8.23)
t (f ) + 2t(f ) +
(8.24)
Het eerste geval is het belangrijkste in datatransmissie tussen vaste punten, vermits het
refereert naar een situatie waarin de ontvangen draaggolf een frequentieverplaatsing f
heeft ondergaan (bijvoorbeeld te wijten aan FDM) en een initiele fazeverschuiving .
Het tweede geval kan voorkomen wanneer er een relatieve beweging bestaat tussen de
zender en de ontvanger, zoals dat het geval is in een mobiel radiocommunicatiesysteem.
Gebruik makende van de Laplace transformatie kan men de waarden bekomen van de
regimefouten, zoals die getoond worden in Tabel 8.1, waarin fA,B en A,B respectievelijk de frequentie- en fazefouten voorstellen.
Table 8.1 Regime faze- en frequentiefouten voor PLLs van verschillende ordes.
Fouten
1e-orde PLL
A
B
fA
fB
2f
Ak1 k2
0
f
Ak1 k2
2e-orde PLL
3e-orde PLL
0
0
0
0
2f 1
Ak1 k2
0
0
Alle voorgaande resultaten waren gebaseerd op de veronderstelling dat de fazefout voldoende klein is, waardoor de werking van de lus als lineair kon beschouwd worden. Deze
veronderstelling wordt geleidelijk aan minder nuttig naarmate de fouten toenemen, totdat uiteindelijk de lus niet langer vergrendeld blijft en die veronderstelling niet langer
gerechtvaardigd is. Door de analyse van het niet-lineaire model van de PLL kan men belangrijke parameters identificeren, zoals het vergrendelingsgebied (E: hold-in range) (i.e.
het input frequentie gebied waarover de lus vergrendeld blijft), of de acquisitietijd (i.e. de
tijd die de lus nodig heeft om de fazefout te reduceren tot onder een bepaalde drempel).
Een gedetailleerde analyse van het gedrag van de PLL zonder de lineariteitshypothese,
kan gevonden worden in [18, 35].
Wanneer een Gaussiaanse ruis onder additieve vorm aanwezig is aan de ingang van de
PLL, dan is een benaderde lineaire analyse nog altijd mogelijk indien de signaalruisverhouding voldoende hoog is. Dit leidt [35] tot het functioneel blokdiagram van de
Figuur 8.9.
In die figuur is n0 (t) een Gaussiaans ruisproces dat onafhankelijk is van n(t), met dezelfde
spectrale eigenschappen als de input ruis, i.e. met spectrale densiteit van het vermogen
Gn0 = N0 . Om het effect van de ruis te evalueren, veronderstellen we dat de input
faze (t) constant is, zodanig dat de fluctuaties in de faze van het signaal van de VCO
volledig op rekening van de ruis geschreven kunnen worden. Uit Figuur 8.9 kunnen we
Hn (s) =
k1 k2 H(s)
(s)
1
=
= Heq (s)
N 0 (s)
s + Ak1 k2 H(s)
A
(8.25)
310
CHAPITRE 8. SYNCHRONISATIE
Figure 8.9 Equivalent blokschema van een gelineariseerde PLL inclusief ruis.
De vermogen bijdrage van de ruis tot (t) is dan gelijk aan:
Z +
N0
1
2 = 2
Gn0 (f ) |Heq (j2f )|2 df = 2 Beq
A
A
(8.26)
waar Beq de equivalente ruisbandbreedte van de PLL voorstelt. Voor eerste- en tweedeorde PLLs wordt ze gegeven door de volgende uitdrukkingen:
Beq
Beq
Ak1 k2
(first order PLL)
4
r
1
fn +
(second order PLL)
4
(8.27)
(8.28)
Als we (8.27) vergelijken met Tabel 8.1, dan zien we dat voor een eerste-orde PLL de vereisten voor het bekomen van een kleine fazefout in regime en een kleine ruisbandbreedte
in tegenstrijd met elkaar zijn. Voor en tweede-orde PLL wordt een goed compromis bereikt voor de waarde = 0,707.
In essentie gedraagt de PLL zich als een smalbandige filter waarvan de centrale frequentie
de frequentie van het ontvangen signaal (8.4) volgt binnen een redelijk bereik, zonder zijn
ruisbandbreedte aan te tasten. Zoals reeds vermeld vereist dit de aanwezigheid van een
spectrale lijn op de te volgen frequentie, die bevat dient te zijn in het signaal aan zijn ingang. Dit betekent dus dat er, naast de PLL, geschikte niet-lineaire kringen integraal deel
dienen uit te maken van een synchronisatiekring. In wat volgt zullen we in een zekere mate
van detail sommige van de meest voorkomende draaggolf- en klok-synchronisatiekringen
onderzoeken. Er zal volstaan worden met een kwalitatieve beschrijving van hun gedrag.
8.2
an uT (t nT )
(8.29)
(8.30)
waarin uT (t) de unitaire trapfunctie voorstelt die gelijk is aan 1 voor 0 t T en gelijk
aan 0 overal anders, en waarin de informatiesymbolen an de waarden 1 aannemen.
311
8.2.1
Het blokdiagram van de kwadraterende lus wordt voorgesteld in Figuur 8.10. De gebruikte
Figure 8.10 Blokdiagram van een kwadraterende lus voor recuperatie van de
draaggolf van een binair PSK signaal.
niet-lineariteit is een kring die een kwadratische wet implementeert, zodanig dat aan de
uitgang y(t) van die niet-lineaire kring een spectrale lijn op de frequentie 2f0 vervat zit,
die dan gevolgd kan worden door een conventionele PLL. De uitgang y(t) wordt gegeven
door:
1
4
y(t) = v 2 (t) = [1 + cos(4f0 t + 2)]
(8.31)
2
De uitgang van de VCO wordt door 2 gedeeld, teneinde de gewenste draaggolf op frequentie f0 te bekomen. Bij die frequentiedeling door 2, onstaat er een onbepaaldheid van
de faze, waardoor het onmogelijk is te beslissen of het huidige symbool nu 1 of 1 is. Deze
faze ambiguteit, inherent aan alle Phase Shift (PS) modulatietechnieken, kan opgelost
worden door een speciale codering (zoals bijvoorbeeld een differentiele codering).
8.2.2
Een synchronisatiekring van het hermodulatietype wordt voorgesteld in Figuur 8.11. Het
ontvangen signaal wordt gedemoduleerd en het bericht vP (t) wordt gerecupereerd. Dit
bericht wordt gebruikt om het ontvangen signaal te hermoduleren om de modulatie te
verwijderen. Als de basisband golfvormen opgelijnd zijn in de tijd, dan bezit de output van de gebalanceerde modulator een zuivere draaggolf component, die dan gevolgd
kan worden door de PLL. De vertraging in de Figuur 8.11 is noodzakelijk teneinde
te compenseren voor de vertraging opgelopen in de laagdoorlaatfilter die na de demodulator volgt. In de figuur worden eveneens de relaties getoond die het gedrag van de
synchronisatiekring uitleggen, in de afwezigheid van ruis.
312
CHAPITRE 8. SYNCHRONISATIE
Figure 8.11 Blokdiagram van een hermodulator voor recuperatie van de draaggolf
van een binair PSK signaal.
8.2.3
Een blokdiagram van de Costas lus wordt getoond in Figuur 8.12. Het gedrag van de
Figure 8.12 Blokdiagram van een Costas lus voor recuperatie van de draaggolf
van een binair PSK signaal.
Costas lus blijkt duidelijk uit de relaties opgegeven in de figuur, geldig in de afwezigheid
van ruis.
8.3
We veronderstellen dat de draaggolf en de klok gerecupereerd worden in twee onderscheiden stappen: eerst wordt de faze van de draaggolf geschat; daarna wordt de timing golf
geextraheerd uit het signaal in basisband. Met andere woorden, we zullen hier de aanpak
van de gelijktijdige schatting van de draaggolf en de klok niet beschouwen. Deze bewuste
313
weglating houdt geen veroordeling in van de kwaliteit van een dergelijke aanpak, vermits
in sommige gevallen dergelijke gezamelijke schattingsmethodes superieure performantie
kunnen vertonen.
Beschouwen we nu het baisband signaal komende van de demodulator:
X
rD (t) =
an h(t nT )
(8.32)
n
warbij (an ) de boodschap sequentie voorstelt. Deze wordt verondersteld een discreet
stationair random proces met gemiddelde gelijk aan nul te zijn, gevormd door iid (independent identically distributed) random veranderlijken. De doelstelling van de timing
synchronisatiekring is om uit rD (t) een periodieke golfvorm te extraheren met periode
T (het symbool interval) en een eigen faze, die het bemonsteringsogenblik weergeeft binnen elke periode. Klok-synchronisatiekringen kunnen gecatalogeerd worden naargelang de
bandbreedte van het communicatiesysteem als breeddbandig of smalbandig. Wij interesseren ons voor de meest voorkomende, en kritischer vanuit het oogpunt van de timing
1
synchronisatie, situaties waarbij de ingenomen bandbreedte de Nyquist limiet van 2T
in basisband benadert. Meer in het bijzonder veronderstellen wij dat de bandbreedte
1
niet overschrijdt. In dit specifieke geval wordt de puls h(t) gespreid over verschillende
T
symbool-intervallen, wat aanleiding geeft tot de zogeheten ISI: Inter Symbol Interference.
Teneinde deze ISI tegen te gaan, geeft men gewoonlijk een Nyquist vorm aan de pulsen.
Dit verzekert de eliminatie van ISI op de nominale bemonsteringstijdstippen, maar dit
is niet voldoende om de effecten van ISI op de klok synchronizer te elimineren. Over het
algemeen wordt de gerecupereerde klok aangetast door een jitter component, de zogeheten self-noise of data-noise, veroorzaakt door ISI. In vele toepassingen is deze self-noise
predominerend met betrekking tot de Gaussiaanse ruis. Om die reden werd de additieve
Gaussiaanse ruis niet opgenomen in het rechterlid van vergelijking (8.32).
Zoals in het geval van draaggolf acquisitie, heeft het beschikbare signaal rD (t) geen spectrale lijn(en) op de frequentie T1 . Men kan in feite aantonen dat rD (t) een cyclostationair
random proces is met periode T , gemiddelde nul, en gemiddelde kwadratische waarde
gelijk aan:
X 2
2
E{rD
(t)} = E{a2 }
h (t nT )
(8.33)
n
Vergelijking (8.33) toont dat het kwadraat van rD (t) een periodieke gemiddelde waarde
bezit.
Gebruik makende van de zogeheten Poisson som formule kan men aantonen dat het mogelijk is om vergelijking (8.33) te schrijven onder de meer geschikte vorm van een Fourier
reeks, waarbij de coefficienten bekomen worden van H(f ), de Fourier-getransformeerde
van h(t):
E{a2 } X
2lt
2
E{rD
(t)} =
l exp j
(8.34)
T
T
l
met
l =
l
H f
H(f )df
T
(8.35)
1 =
1
H(f )df
H f
T
(8.36)
314
CHAPITRE 8. SYNCHRONISATIE
BIBLIOGRAPHIE
315
Bibliographie
[1] S. Benedetto and E. Biglieri. Principles of Digital Transmission with Wireless Applications. Kluwer Academic / Plenum Publishers, 1999.
[2] V. K. Bhargava, D. Haccoun, R. Matyas, and P. Nuspl. Digital Communications by
Satellite. John Wiley & Sons, 1981.
[3] E. Biglieri, D. Divsalar, P. J. McLane, and M. K. Simon. Introduction to TrellisCoded Modulation with Applications. Macmillan Publishing Company, New York,
1991.
[4] R. Boite and M. Kunt. Traitement de la parole. Presses Polytechniques Romandes,
1987.
[5] H. Bourlard and N. Morgan. Connectionist Speech Recognition: A Hybrid Approach.
Kluwer Academic Publishers, 1994.
[6] J. P. Campbell. Speaker Recognition: A Tutorial. Proceedings of the IEEE, Vol.
85, no. 9, pp. 14371462, September 1997.
[7] G. C. Clark and J. B. Cain. Error-Correction Coding for Digital Communications.
Plenum Press, New-York, 1981.
[8] D. Divsalar and M. K. Simon. Multiple trellis-coded modulation (MTCM). IEEE
Transactions on Communications, Vol. 36, no. 4, pp. 410419, April 1988.
[9] D. Divsalar, M. K. Simon, and J. H. Yuen. Trellis Coding with Asymmetric Modulations. IEEE Transactions on Communications, Vol. 35, no. 2, February 1987.
[10] D. Divsalar and J. H. Yuen. Asymmetric MPSK for Trellis Coding. In GLOBECOM84, November 1984.
[11] S. Furui. Automatic speech and speaker recognition: advanced topics, chapter An
overview of speaker recognition technology, pages 3156. Kluwer Academic publishers, 1996.
[12] J. A. Heller and I. W. Jacobs. Viterbi Decoding for Satellite and Space Communication. IEEE Transactions on Communication Technology, Vol. 19, no. 5, pp.
835848, October 1971.
[13] G. R. Iversen. Bayesian statistical inference. SAGE publications, 1984.
[14] C.-H. Lee, F. K. Soong, and K. K. Paliwal. Automatic speech and speaker recognition:
advanced topics. Kluwer Academic publishers, 1996.
[15] E. A. Lee and D. G. Messerschmitt. Digital Communication. Kluwer Academic
Publishers, 2 edition, 1994.
[16] P. M. Lee. Bayesian statistics: An introduction. Arnold, second edition, 1997.
[17] D. V. Lindley. Making Decisions. Wiley, second edition, 1985.
[18] W. C. Lindsey. Synchronous Systems in Communication and Control. Prentice-Hall,
1972.
[19] S. Mallat. A Wavelet Tour of Signal Processing. Academic Press, 1998.
316
BIBLIOGRAPHIE
[20] J. L. Massey and M. K. Sain. Inverse of Linear Sequential Circuits. IEEE Transactions on Computers, Vol. 17, pp. 330337, April 1968.
[21] R. J. McEliece. The Theory of Information and Coding. Cambridge University
Press, second edition, 2002.
[22] U. Mengali and A. N. DAndrea. Synchronization Techniques for Digital Receivers.
Plenum Press, 1997.
[23] M. H. Meyr, M. Moeneclaey, and S. A. Fechtel. Digital Communication Receivers:
Synchronization, Channel Estimation, and Signal Processing. J. Wiley & Sons, 1997.
[24] J. K. Omura. On the Viterbi Decoding Algorithm. IEEE Transactions on Information Theory, Vol. 15, pp. 177179, January 1969.
[25] P. Peetermans. Numerieke transmissie van telecommunicatiesignalen. Technical
Report TE-541-11, Koninklijke Militaire School, 1996.
[26] J. G. Proakis. Digital Communications. McGraw-Hill, Inc., 3 edition, 1995.
[27] B. Sklar. Digital Communications - Fundamentals and Applications. Prentice-Hall
International, Inc., 1988.
[28] S. W. Smith. The Scientist and Engineers Guide to Digital Signal Processing.
California Technical Publishing, 1999.
[29] H. L. Van Trees. Detection, Estimation and Modulation Theory, volume 1. John
Wiley & Sons, New York, 1968.
[30] G. Ungerboeck. Channel Coding with Multilevel/Phase Signals. IEEE Transactions on Information Theory, Vol. 28, pp. 5567, January 1982.
[31] G. Ungerboeck. Trellis-Coded Modulation with Redundant Signal Sets, Part I.
Introduction. IEEE Comunications Magazine, Vol. 25, no. 2, pp. 511, February
1987.
[32] G. Ungerboeck. Trellis-Coded Modulation with Redundant Signal Sets, Part II.
State of the Art. IEEE Comunications Magazine, Vol. 25, no. 2, pp. 1221, February
1987.
[33] M. Vetterli and J. Kovacevic. Wavelets and Subband Coding. Penctice Hall, 1995.
[34] A. Viterbi. Convolutional Codes and their Performance in Communication Systems. IEEE Transactions on Communication Technology, Vol. 19, no. 5, pp. 751772,
October 1971.
[35] A. J. Viterbi. Principles of Coherent Communications. McGraw-Hill, 1966.
[36] A. J. Viterbi. Error Bounds for Convolutional Codes and an Asymptotically Optimum Decoding Algorithm. IEEE Transactions on Information Theory, Vol. 13,
pp. 260269, April 1967.
[37] A. J. Viterbi and J. K. Omura. Principles of Digital Communication and Coding.
McGraw-Hill, 1979.
[38] L.-F. Wei. Trellis-coded modulation with multidimensional constellations. IEEE
Transactions on Information Theory, Vol. 33, no. 4, pp. 483501, July 1987.
317
Annexe A
Annexe math
ematique
A.1
A.1.1
Rappels de la th
eorie des ensembles
Groupe commutatif ou ab
elien
si a + b p
si a + b > p
ANNEXE A. ANNEXE MATHEMATIQUE
318
A.1.2
A.1.2.1
D
efinitions
Un ensemble R est un anneau sil poss`ede deux lois de composition notees et . telles
que:
R est un groupe abelien pour ;
x,y R : x.y R (fermeture pour loperation .);
loperation . est associative et distributive `
a gauche et `
a droite par rapport `
a .
Si loperation . est commutative, lanneau est dit commutatif.
Un champ est un anneau commutatif muni dun element unite pour loperation . (note
1 et tel que x R : x.1 = x) et tel que tout element x de R \ {0} poss`ede un inverse
(note x1 ) pour loperation . (x.x1 = 1). [R \ {0},.] constitue donc un groupe abelien.
Aux operations notees et . et que nous appellerons respectivement addition et multiplication, on peut associer les operations appelees soustraction (notee -) et division (notee
) qui sont definies comme suit:
a b = a (b), b etant loppose de b;
a b = a.(b1 ), b1 etant linverse de b.
Un champ est dit fini si le nombre delements qui le constituent est fini. Ce nombre
delements est appele lordre du champ ou sa cardinalite.
Nous allons construire une classe de champs finis `
a partir de lensemble Z des entiers en
faisant appel `
a la notion de congruence.
A.1.2.2
Soit p un entier positif. Deux entiers a et b sont dits congruents (modulo p) si un entier
k tel que:
a = kp + b
En arithmetique classique, on dirait que a b est divisible par p.
On note:
a
= b (mod p)
Chaque entier, divise par p, a un reste r dit principal (ou residu) qui appartient `
a lensemble Zp = {0,1, . . . ,p 1}. On ecrit:
a
= r (mod p)
La congruence etablit une relation entre les elements de lensemble des entiers Z. Lensemble de depart et celui darrivee sont identiques.
Cette relation est une relation dequivalence car elle est reflexive, symetrique et transitive.
On demontre en effet les proprietes suivantes:
a
= a (mod p) (reflexivite);
a
= b (mod p) implique b
= a (mod p) (symetrie);
a
= b (mod p) et b
= c (mod p) impliquent a
= c (mod p) (transitivite).
A.1. RAPPELS DE LA THEORIE
DES ENSEMBLES
319
Soit un element a quelconque de Z. Lensemble des elements de Z qui lui sont congruents
(modulo p) sappelle une classe dequivalence et est notee a.
Lensemble des classes dequivalence defini sur Z par la relation de congruence (modulo
p) forme une partition de Z. On dit que lensemble de ces classes dequivalence constitue
un ensemble quotient de Z par la relation de congruence R. Cet ensemble quotient est
note symboliquement Z/R.
Les p classes dequivalence de Z/R sont:
0
{. . . , p,0,p,2p, . . .}
1
..
.
{. . . , p + 1,1,p + 1,2p + 1, . . .}
p1
{. . . , 1,p 1,2p 1, . . .}
a0 + b0 (mod p)
a0 .b0 (mod p)
0
1
0
0
1
1
1
0
. 0 1
0 0 0
1 0 1
On peut demontrer que les classes dequivalence modulo p constituent un anneau commutatif pour les operations daddition et de multiplication definies ci-dessus.
Il est egalement possible de definir des operations daddition et de multiplication dans
Zp :
addition (notee )
a b = a + b (mod p)
multiplication (notee .) a.b = a b (mod p)
ANNEXE A. ANNEXE MATHEMATIQUE
320
0
0
1
1
1
0
.
0
1
0
0
0
1
0
1
On retrouve donc exactement, au soulignage pr`es, les tables daddition et de multiplication dans Z/R (modulo 2).
Dans la suite, nous ignorerons le soulignage lorsquaucune confusion nest possible, ce qui
revient `
a assimiler chaque classe dequivalence `
a lelement de Zp quelle contient.
A.1.2.3
Th
eor`
emes
A.1.2.3.1
Th
eor`
eme 1 Zp est un champ si et seulement si p est un entier premier.
On peut se demander sil existe un champ `
a q elements lorsque q nest pas premier. Si
q = ph (p etant premier), un tel champ existe. Il sappelle champ dextension du champ
de base `
a p elements.
Le mathematicien francais Evariste Galois a, en effet, demontre le theor`eme suivant.
A.1.2.3.2 Th
eor`
eme 2 Un champ dordre q ne peut exister que si q est une puissance dun nombre premier (q = ph o`
u p est premier et h 1).
Un champ dordre q est encore appele un champ de Galois et est note CG(q). Dans
certains cas nous ne considererons que le cas h = 1 (cest-`
a-dire q = p, nombre premier).
Dans ces conditions, CG(p) nest rien dautre que lensemble Zp = {0,1, . . . ,p 1} muni
des operations et . de larithmetique modulo p.
On peut demontrer que deux champs finis F et F 0 de meme ordre sont isomorphes. On
dit aussi que tout champ CG(q) est unique `
a un isomorphisme pr`es.
Rappelons quun isomorphisme etablit une correspondance bi-univoque entre les
elements de F et F 0 telle que laddition et la multiplication sont conservees:
Si et F,( ) = () () et (.) = ().().
A.1.2.4
Exemples
A.1. RAPPELS DE LA THEORIE
DES ENSEMBLES
A.1.2.5
321
Ordre dun
el
ement dun champ - primitive dun champ
A.1.2.5.1 D
efinitions Lordre dun element dun champ est le plus petit entier
positif r tel que r = 1 (de mani`ere generale r = e, lelement unite de la multiplication).
Un element dordre r a donc r puissances distinctes:
,2 , . . . ,r1 ,r = 0 = 1
De plus, k = 1 si et seulement si r est un diviseur de k.
Plus generalement on a:
k (k mod r )
A.1.2.5.2
Th
eor`
eme On demontre que lordre de tout element dun champ fini
CG(q) divise lordre du champ moins 1 cest-`
a-dire (q 1). Inversement, tout diviseur de
(q 1) est lordre dau moins un element du champ.
A.1.2.5.3
maximal (cest-`
a-dire q 1) sappelle un element primitif (ou une primitive).
Si est une primitive dun champ, tout element non nul du champ peut sexprimer
comme etant une puissance de .
A.1.2.5.4
Th
eor`
eme On demontre que tout champ fini poss`ede au moins une
primitive.
A.1.2.5.5
ANNEXE A. ANNEXE MATHEMATIQUE
322
A.2
A.2.1
Soit un ensemble Zpn dont les elements (appeles vecteurs) sont des n-uples de nombres
appartenant au champ Zp (dont les elements sont appeles des scalaires). Cet ensemble
est un espace vectoriel defini sur le champ Zp car il satisfait aux axiomes suivants:
Zpn est un groupe abelien pour loperation ;
pour tout vecteur x de Zpn et tout scalaire c de Zp , c.x appartient `
a Zpn ;
pour x et y de Zpn et c de Zp , c.(x y) = c.x c.y;
pour c et d de Zp et x de Zpn , (c d).x = c.x d.x;
pour c et d de Zp et x de Zpn , (c.d).x = c.(d.x);
pour tout vecteur x de Zpn , 1.x = x.
Dans cette definition, les operations daddition de deux vecteurs ou de deux scalaires
(notees ), de multiplication de deux scalaires ou dun vecteur par un scalaire, seffectuent
comme de coutume sauf que les resultats sont `
a prendre modulo p.
Dans le cas p = 2, les operations et . sont alors identiques aux operations logiques ou
exclusif et et.
Lespace vectoriel Z2n contient tous les mots binaires de n moments binaires; il constitue
lespace vectoriel de base de la theorie des codes detecteurs et correcteurs derreurs.
On appelle combinaison lineaire de k vecteurs x1 ,x2 , . . . ,xk le vecteur z defini par:
z=
k
X
ai .xi
i=1
P
o`
u les ai Zp (le symbole
a le sens classique mais avec loperation ).
Les k vecteurs xi sont lineairement dependants si et seulement si il existe des scalaires
ai non tous nuls tel que:
k
X
ai .xi = 0
i=1
Sils ne sont pas lineairement dependants, ils sont lineairement independants. On dit
quun ensemble de vecteurs sous-tend lespace vectoriel si tout vecteur de lespace peut
sexprimer par une combinaison lineaire des vecteurs de cet ensemble. Le nombre minimum de vecteurs lineairement independants qui sous-tendent lespace vectoriel est la
dimension de lespace vectoriel. Cet ensemble minimum sappelle une base de lespace
vectoriel. Pour Z2n , la base la plus facile `
a trouver est constituee par tous les vecteurs de
n symboles binaires dont le poids est egal `
a 1 (cest-`
a-dire quils ne contiennent quun
seul 1).
A.2.2
Sous-espace de Zpn
Soit un ensemble S de vecteurs de Zpn : S = {v1 ,v2 , . . . ,vk }. On note < S > lensemble
constitue par toutes les combinaisons lineaires des vecteurs vi . Cet ensemble constitue
323
un sous-espace de Zpn ; on dit quil est engendre par S. On remarquera que le vecteur 0
appartient `
a < S >.
Ce sous-espace est egalement sous-tendu par une base constituee par le nombre minimum
de vecteurs lineairement independants du sous-espace qui permettent par combinaison
lineaire dengendrer tout lensemble < S >. On demontre en effet que tout ensemble
generateur S contient une base de < S >. Cette base nest pas unique mais toutes les
bases ont le meme nombre de vecteurs. Ce nombre sappelle la dimension du sous-espace.
On demontre quun sous-espace de Z2n de dimension k poss`ede un nombre de bases donne
par:
k1
1 Y k
(2 2i )
k! i=0
Un sous-espace de Z2n de dimension k contient exactement 2k vecteurs. En effet, si
[v1 ,v2 , . . . ,vk ] constitue une base de ce sous-ensemble, tout vecteur w du sous-ensemble
peut sexprimer par:
w = a1 .v1 a2 .v2 . . . ak .vk
Puisque les ai sont egaux soit `
a 0 soit `
a 1, il y a 2k combinaisons possibles des ai .
Exemple:
S = {0100,0011,1100} et < S >= {0000,0100,0111,1011,1100,0011,1000,1111}.
Un tel sous-ensemble constitue, comme il est explique dans le cours TE401, un code
detecteur et correcteur derreurs.
Deux vecteurs de Zpn sont orthogonaux si leur produit scalaire est nul. Le produit scalaire
de deux vecteurs u et v de Zpn se definit comme le produit vectoriel classique mais en
utilisant les operations et . modulo p.
On dit quun vecteur v est orthogonal `
a lensemble S sil est orthogonal `
a tout vecteur de
S. Lensemble de tous les vecteurs orthogonaux `
a S sappelle le complement orthogonal
de S et se note S . On demontre que S appartient `
a Zpn . Si dans lespace vectoriel Zpn ,
on definit un code C =< S >, le code correspondant `
a S sappelle le code dual de C et
se note C .
En ce qui concerne la dimension du sous-espace dual, on peut enoncer le theor`eme suivant.
Th
eor`
eme:
La dimension dun sous-espace < S > de Zpn plus celle de son dual est egale `
a n. En
terme de code lineaire, si C =< S >, on a:
dimension de C + dimension de C = n
A.2.3
Exemples
Exemple 1:
Soit un code (sous-ensemble de Z24 ) defini par S = {0100,0101}. Lensemble orthogonal
est constitue de tous les vecteurs v = (x,y,z,w) tels que les produits scalaires avec les
elements de S sont nuls:
v.0100
v.0101
ANNEXE A. ANNEXE MATHEMATIQUE
324
Il sensuit:
S = {0000,0010,1000,1010}
Exemple 2:
Demontrer que S = {110,011,101,111} ne constitue pas une base car ces vecteurs ne
sont pas lineairement independants et que par exemple 101 peut sexprimer par une
combinaison lineaire des autres vecteurs et que ces derniers constituent une base de
< S >. On remarquera que cette base {110,011,111} nest pas unique et que par exemple
{110,101,111} constitue une autre base.
A.3
Matrices (dans Z2 )
A.3.1
D
efinitions
Les r`egles matricielles utilisees dans les reels restent valables dans Z2 avec les operations
et . definies plus haut. Les matrices 0 et En se definissent de la meme facon.
On appelle operations elementaires sur les lignes dune matrice:
la permutation de deux lignes;
le remplacement dune ligne par la somme () de cette ligne et de tout autre ligne.
Deux matrices sont dites equivalentes (selon les lignes) si elles peuvent devenir identiques
par une succession doperations elementaires sur leurs lignes.
Soit une matrice M (definie sur Z2 ). Un 1 est dit en tete dune ligne (leading 1) si la ligne
ne comporte aucun autre 1 `
a sa gauche (nous noterons ce 1 en tete L1). Une colonne
contenant un 1 en tete de ligne sappelle une colonne en tete (leading column: notee LC).
Une matrice est en echelon par les lignes (row echelon form: note REF) si toutes ses
lignes enti`erement constituees de 0 sont dans le bas de la matrice et si pour les autres
lignes, chaque L1 est situe `
a droite du L1 de la ligne superieure. Si en outre chaque LC
poss`ede exactement un 1, la matrice est dite sous forme reduite en echelon par les lignes
(reduced row echelon form: note RREF).
Toute matrice M peut se mettre sous forme REF ou RREF par une succession
doperations elementaires sur les lignes. Une matrice poss`ede plusieurs REF mais une
seule RREF.
Exemple:
La matrice M suivante peut se mettre sous les formes REF et RREF suivantes:
1011
1010
1011
M = 1010 REF 0110 RREF 0110
1101
0001
0001
A.3.2
Dans letude des codes lineaires, il est important de pouvoir trouver une base dun sousespace < S > de Z2n definissant un code C.
Le but de ce paragraphe est de fournir des algorithmes permettant de resoudre ce
probl`eme.
325
Algorithme I
Soit un ensemble de vecteurs S definissant < S >. Avec ces vecteurs on forme une matrice
M (un vecteur = une ligne de la matrice). Par une serie doperations elementaires sur
les lignes de M , on met cette derni`ere sous forme REF. Les lignes non nulles de cette
derni`ere constituent une base de < S >.
La demonstration de cet algorithme est immediate. On peut montrer que la matrice M
engendre le code C. La suite des operations elementaires sur les lignes effectuees pour
mettre la matrice sous forme REF ne fait que remplacer un mot de C (cest-`
a-dire une
ligne de M ) par un autre (dans un code lineaire, toute combinaison lineaire de mots-codes
est un mot-code).
Lorsque la matrice est sous forme REF, les lignes non nulles sont de toute evidence
lineairement independantes et constituent donc une base de < S >.
Exemple:
Soit S = {11101,10110,01011,11010}. Une base de C =< S >
11101
11101
01011
10110
M =
01011 REF 00111
11010
00000
Une base de C est donc: {11101,01011,00111}. On remarquera que la base de < S >
nest pas necessairement dans S.
A.3.2.2
Algorithme II
Avec les elements de S, on forme une matrice M (un vecteur = une colonne). Par des
operations elementaires sur les lignes, on met M sous forme REF. On determine les LC
de cette derni`ere. Les colonnes de la matrice M (de depart) portant le meme numero que
ces LC forment une base de C =< S >. On remarquera que cette base est formee par
des vecteurs de S.
Exemple:
Soit S = {11101,10110,01011,11010}. Une base de C =< S > sobtient comme suit:
1101
1101
0110
1011
M = 1100 REF
0001
0000
0111
0000
1010
Les colonnes 1,2 et 4 sont LC et donc les colonnes correspondantes de M forment une
base de < S >. Base = {11101,10110,11010}.
Lalgorithme suivant permet de trouver une base de C .
A.3.2.3
Algorithme III
Construire une matrice M dont les lignes sont constituees par les vecteurs de S et mettre
cette matrice sous forme RREF. Soit G la matrice k.n formee par toutes les lignes non
nulles de cette derni`ere.
G
M RREF
0
ANNEXE A. ANNEXE MATHEMATIQUE
326
Ek ,
H 00 =
X
Enk
11101
10110
M =
01011
11010
10001
11101
00111
00000
00000
On consid`ere les lignes non nulles de cette derni`ere matrice que lon met sous la forme
[Ek ,X].
100 01
00
G = G = 010 11
001 11
avec k = 3 et
01
X = 11
11
Les LC de G sont en position 1,2 et 3 et les 3 lignes de X sont donc utilisees pour former
les lignes 1,2 et 3 de la matrice H [5.(5 3)]; le reste de cette matrice H est constituee
par la matrice E2 :
01
11
H=
11
10
01
Les deux colonnes de H forment une base de C . On notera que par lalgorithme
precedent, les lignes de G constituent une base de C =< S >.
A
` UN CODE C
A.4. ENSEMBLES ASSOCIES
A.4
327
Ensembles associ
es `
a un code C
Pour le decodage dun code C (qui, rappelons le, nest rien dautre quun sous-ensemble
< S > de Z2n ), il est utile dintroduire une partition de Z2n qui sobtient en considerant
des ensembles associes `
a C (on les appelle aussi varietes lineaires de C; par facilite nous
les appellerons cosets, selon la terminologie anglo-saxonne).
Pour bien comprendre cette notion, il faut se rappeler quun code constitue un sousensemble ferme pour loperation (cest-`
a-dire que si deux vecteurs v et w C qui sont
donc des mots-codes, v w constitue aussi un mot-code de C (cest-`
a-dire un vecteur de
C =< S >).
A.4.1
D
efinition
Soit un code C defini sur lespace vectoriel Z2n . On consid`ere un vecteur u quelconque de
a u (on le note C u) lensemble des vecteurs
Z2n . On appelle coset de C correspondant `
obtenus en ajoutant () `
a u tous les vecteurs de C.
C u = {v u|v C}
Exemple:
Soit C = {000,111} defini dans Z23 . On consid`ere u = 101. Il sensuit que le coset associe
`
a u est C 101 = {101,010}. On notera que si u = 111 (cest-`
a-dire C), C 111 = C.
De plus si u = 010 (cest-`
a-dire C 101), C 010 = C 101.
Lexemple ci-dessus montre quil est faux de croire quil y a 2n cosets associes `
a u (puisque
dans Z2n on peut trouver 2n vecteurs u differents). Le theor`eme suivant montre que lensemble des cosets associes `
a un code C constitue une partition de Z2n . Plus precisement:
A.4.2
Th
eor`
eme
ANNEXE A. ANNEXE MATHEMATIQUE
328
A.4.3
Tableau normalis
e
1011
0011
1111
1001
0101
1101
0001
0111
1110
0110
1010
1100
On remarque que dans ce tableau, chaque mot est la somme () du mot-code en tete de
la meme colonne et du CL en tete de la meme ligne.
A.5
A.5.1
Les polyn
omes associ
es aux vecteurs dun
code cyclique
Lanneau Zp (x)
Il est expedient de representer les mots des codes cycliques par des polyn
omes. Rappelons
quun code cyclique est un code dans lequel tout mot obtenu par une permutation cyclique
des symboles binaires dun mot-code est egalement un mot-code. Plus precisement, si v
est un mot-code et si on note (v) le mot obtenu en ramenant le dernier symbole devant
le premier, alors w = (v) est egalement un mot-code.
Un polyn
ome de degre n defini sur Zp est de la forme:
f (x) = a0 a1 x1 a2 x2 . . . an xn
o`
u les ai Zp .
On remarquera que lensemble de definition Zp est relatif aux coefficients ai du polyn
ome.
Si an = 1, le polyn
ome est dit monique (ou normalise ou unitaire).
AUX VECTEURS DUN CODE CYCLIQUE329
A.5. LES POLYNOMES
ASSOCIES
Ces polyn
omes ne doivent pas etre considere comme des fonctions de x. Ainsi, sur Z2 ,
les polyn
omes suivants sont differents puisquils ont des degres differents:
f (x) = 1 x x2
g(x) = 1 x2 x4
Si on consid`ere ces expressions comme des fonctions de x, x appartenant `
a Z2 , elles
sont identiques car elles valent toutes deux la valeur constante 1. Les notations de type
f (x) nont donc pas de signification particuli`ere; elles servent simplement `
a nommer le
polyn
ome. Le domaine de definition de x nest dailleurs pas defini `
a ce stade.
On note Zp (x) lensemble des polyn
omes definis sur Zp . Les elements de Zp (x) sont notes
f (x),g(x), . . .. Les polyn
omes de Zp (x) sadditionnent () et se multiplient (.) comme les
polyn
omes classiques mais il faut tenir compte par exemple du fait que:
xk xk = xk .(1 1) = 0
On verifiera sans peine que pour deux polyn
omes de Z2 (x), on a:
(f g)2 = f 2 g 2
et que le degre de [f (x).g(x)] = degre f (x) + degre g(x).
Exemple:
Soit f (x) = 1 x x3 x4 et g(x) = x x2 x3 definis sur Z2 (on ne note pas le terme
si ai = 0, ni le 1 si ai = 1,i > 0).
Verifiez que:
f g = 1 x2 x4
f.g = x x7
Zp (x) muni des deux operations daddition et de multiplication definies ci-dessus constitue un anneau mais non un champ car les polyn
omes de degre superieur `
a 0 nont pas
dinverse (par rapport `
a la multiplication).
Le processus de division de deux polyn
omes est egalement analogue `
a celui utilise pour
les polyn
omes habituels mais on doit `
a nouveau utiliser larithmetique modulo p pour les
coefficients.
Exemple:
Soit f (x) = x x2 x6 x7 x8 et h(x) = 1 x x2 x4 definis sur Z2 .
On verifie que le quotient est q(x) = x3 x4 et que le reste est r(x) = x x2 x3 . On a
evidemment que:
f = h.q + r
et que le degre de r(x) = 3 < degre de h(x) = 4.
Lanneau Zp (x) des polyn
omes definis sur Zp est analogue `
a lanneau des entiers. Ce
dernier nest pas non plus un champ car il nexiste pas dinverse pour la multiplication.
ANNEXE A. ANNEXE MATHEMATIQUE
330
A.5.2
Tout comme nous avons introduit les r`egles de larithmetique modulo p pour construire
lensemble Zp , il est possible de definir des polyn
omes de Zp (x) modulo un certain polyn
ome h(x).
Il faut pour cela introduire la notion de congruence modulo h(x) de deux polyn
omes de
Zp (x).
On dit que deux polyn
omes p(x) et f (x) de Zp (x), sont congruents modulo h(x) si
f (x) p(x) est divisible par h(x). On ecrit:
f (x)
= p(x) modulo h(x)
Il sagit dune relation dequivalence entre les polyn
omes de Zp (x) qui partitionne Zp (x).
Pour chaque classe dequivalence, il existe un polyn
ome de cette classe de degre inferieur
a
` celui de h(x), soit r(x). Chaque polyn
ome de la classe est congruent avec ce dernier
polyn
ome. On a:
r(x)
f (x)
g(x).h(x) r(x)
Exemple:
Soit h(x) = 1 x2 x5 et f (x) = 1 x2 x6 x9 x11 definis sur Z2 . Verifiez que
x x4
= f (x) mod h(x). Demontrez que p(x) = x2 x8 nest pas congruent avec
f (x) mod h(x).
Si par contre h(x) = 1 x5 , f (x) = 1 x4 x9 x11 et p(x) = 1 x6 , demontrez que:
p(x)
= f (x) mod h(x) = 1 x
Laddition et la multiplication de polyn
ome conserve la congruence comme le prouve le
theor`eme suivant:
Th
eor`
eme
Si f (x)
= g(x) mod h(x), alors:
f (x) p(x)
f (x).p(x)
AUX VECTEURS DUN CODE CYCLIQUE331
A.5. LES POLYNOMES
ASSOCIES
A.5.3
Exemples
Exemple 1:
Calculez (x 1)2 dans Z2 (x)/(x2 x 1). On a:
2
(x 1)2 = x2 1
= x mod (x x 1)
et donc (x 1)2
= x dans Z2 (x)/(x2 x 1).
Exemple 2:
Soit Z2 (x)/(x2 x 1). Les 4 elements de cet ensemble sont 0,1,x et x 1.
On demande detablir le tableau daddition et de multiplication dans cet ensemble et
de montrer quil constitue non seulement un anneau mais un champ. Il sagit en fait du
champ CG(22 ) = CG(4).
Exemple 3:
Soit Z2 (x)/(x2 1). Cet ensemble poss`ede les memes elements que celui de lexemple
precedent mais est muni des operations daddition et de multiplication modulo x2 1.
On demande detablir le tableau daddition et de multiplication dans cet ensemble et de
verifier quil ne constitue cette fois plus un champ.
A.5.4
Les exemples precedents ont montre que certains ensembles Zp (x)/h(x) sont des champs
et que dautres ne le sont pas. La propriete qui conf`ere `
a Zp (x)/h(x) les caracteristiques
dun champ, est lirreductibilite de h(x).
A.5.4.1
Polyn
omes irr
eductibles
D
efinition 1:
Un polyn
ome h(x) de Zp (x) est dit reductible si:
h(x) = a(x).b(x)
avec a(x) et b(x) Zp (x) et degre a(x) < degre h(x) et degre b(x) < degre h(x).
Si h(x) nest pas reductible, il est irreductible.
D
efinition 2:
Un element a de Zp est un zero de f (x), polyn
ome de Zp (x), si f (a) = 0.
Propri
et
es des polyn
omes irr
eductibles
Tout polyn
ome lineaire est irreductible;
Pour les polyn
omes de degre 2, le caract`ere irreductible dun polyn
ome entrane
quil ne poss`ede pas de zeros. Autrement dit, un element a de Zp est un zero dun
polyn
ome f (x) si et seulement si le polyn
ome x a divise f (x). Linverse nest
pas forcement vrai. Par exemple, le polyn
ome f (x) = (x2 x 1)2 est reductible,
bien quil nait pas de zeros sur Z2 . Toutefois, pour les polyn
omes de degre 2 et 3,
cette proposition inverse est vraie, `
a savoir que tout polyn
ome qui nadmet pas de
zero sur Zp est irreductible;
ANNEXE A. ANNEXE MATHEMATIQUE
332
Tout polyn
ome f (x) non nul admet une factorisation unique:
f (x) = a.f1 (x).f2 (x). . . . .fs (x)
avec a un scalaire et fi (x) des polyn
omes moniques irreductibles.
A.5.4.2
Th
eor`
eme
A.6
Extension alg
ebrique dun champ
A.6.1
Introduction
Cette notion dextension algebrique est bien connue dans le cas du champ des reels R. Le
polyn
ome x2 + 1 ne presente pas de zero sur ce champ R. On decide toutefois detendre
ce champ en y ajoutant un nouvel element note symboliquement i (auquel aucune valeur
nest donne, la notation i = (1)1/2 ) ne lui conferant aucune valeur). Cette extension
engendre lensemble des complexes dont R constitue un sous-ensemble.
Nous allons de facon analogue etendre un champ fini Zp en y ajoutant une racine < beta
dun polyn
ome h(x) irreductible cest-`
a-dire, rappelons le, qui ne poss`ede pas de racine
appartenant `
a Zp .
A.6.2
Exemple
/ {0,1,}.
On obtient de la sorte un ensemble de 4 elements {0,1,, = 1} appele extension
algebrique de Z2 = {0,1}.
Il reste `
a definir sur cet ensemble les operations daddition et de multiplication:
Addition
=1 =1
A.6. EXTENSION ALGEBRIQUE
DUN CHAMP
333
0
1
0
0
1
1
1
0
0
1
1
0
.
0
1
0
0
0
0
0
1
0
1
A.6.3
Premi`
ere d
efinition du champ dextension CG(pm ) de
Zp
Nous avons defini un anneau Zp (x)/h(x) qui, si h(x) est irreductible et de degre m,
constitue un champ de pm elements. Ce champ, construit par une partition de lensemble
des polyn
omes definis sur Zp (par la definition de classes dequivalence `
a partir de la
notion de congruence modulo h(x)), sappelle champ dextension algebrique de Zp et est
note CG(pm ) (champ de Galois).
On demontre aisement que ce champ est egalement un espace vectoriel defini sur Zp dont
une base est 1,x,x2 , . . . ,xm1 . Ce champ dextension comprend le champ `
a partir duquel
il est construit, soit Zp = CG(p).
A.6.4
Deuxi`
eme d
efinition du champ dextension CG(pm ) de
Zp
ai i ,ai CG(p)
i=0
m
On demontre que les p elements de cet ensemble sont differents et que cet ensemble
constitue un champ que nous noterons provisoirement K(). Les operations daddition
et de multiplication se definissent comme cela a ete fait dans lexemple ci-dessus.
On remarquera que ce champ contient le champ CG(p) dont il est lextension.
ANNEXE A. ANNEXE MATHEMATIQUE
334
A.6.5
elements de K()
1
2
..
.
p1
2
..
.
m1
..
.
a0 a1 . . . am1 m1
Ces deux champs sont identiques et constituent la meme extension CG(pm ) du champ
de base CG(p).
A.7
A.7.1
Nous considererons le plus souvent le cas p = 2 qui, dans la theorie des codes correcteurs
derreurs, constitue le cas le plus frequent.
Nous avons dej`
a vu linteret des elements particuliers dun champ appeles elements primitifs. Ces elements sont tels que tout element du champ peut sexprimer comme une de
leur puissance.
Considerons par exemple le champ CG(24 ) construit `
a partir du polyn
ome h(x) = x4
x 1, irreductible sur Z2 .
Le tableau ci-dessous reprend les 16 elements de ce champ exprimes soit sous la forme
EMENT
A.7. EL
PRIMITIF ET POLYNOME
PRIMITIF DE CG(2M )
335
Polyn
ome de Z2 (x)/x4 x 1
0
1
x1
x2
x3
1x
x x2
x2 x3
1 x x3
1 x2
x x3
1 x x2
x x2 x3
1 x x2 x3
1 x2 x3
1 x3
Puissance de
0
0 = 15
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Les elements de ce champ peuvent egalement sexprimer par une puissance de , la racine
du polyn
ome qui a servi `
a construire le champ. En effet, puisque est racine de h(x), on
a:
4 1 = 0 4 = 1
puis successivement:
5
3 2
4 3 = 1 3
..
.
A.7.2
Polyn
ome primitif
A.7.2.1
Probl`
eme
ANNEXE A. ANNEXE MATHEMATIQUE
336
A.7.2.2
D
efinition
Un polyn
ome h(x) de degre m et irreductible sur Zp est dit primitif sil ne divise aucun
des polyn
omes 1 xs ,s < 2m1 .
Ajoutons que tout polyn
ome irreductible de degre m divise 1 xs pour s = 2m1 .
A.7.2.3
Exemple
Le polyn
ome h(x) = 1 x x4 est un polyn
ome primitif (m = 4,2m1 = 16 1 = 15).
n
Lannexe B fournit la factorisation de 1 x en polyn
omes irreductibles (1 n 31).
On verifie que h(x) est un polyn
ome primitif car il ne divise aucun polyn
ome 1 xs pour
s inferieur `
a 15.
Cest ce polyn
ome que nous avons utilise pour construire le champ dextension, ce qui a
implique que , racine de h(x), soit un element primitif du champ.
A.7.3
1 s = h().g() = 0.g() = 0
Ceci impliquerait que s = 1 et lordre de serait s < 2m1 ; ne serait donc pas un
element primitif de CG(2m ).
A.7.4
Remarque
1 2 3
2 3 4 = 1
..
.
Les puissances successives de nengendrent pas tous les elements non nuls de ce champ;
on a la succession 0 = 1, 1 = , 2 , 3 , 4 , puis `
a nouveau 5 = 1, . . ..
EMENT
A.8. POLYNOME
MINIMUM DUN EL
DE CG(2M )
A.7.5
337
Extension alg
ebrique dun champ F quelconque
A.8
A.8.1
Polyn
ome minimum dun
el
ement de CG(2m )
Introduction
A.8.2
Polyn
ome minimum associ
e`
a un
el
ement de CG(2m )
A.8.2.1
D
efinition et existence
Le polyn
ome (non nul) de degre minimum de Z2 (x) qui admet un element de CG(2m )
comme racine est le polyn
ome minimum associe `
a ; il sera note m (x).
Un tel polyn
ome existe toujours.
Soit en effet s lordre de cet element (ce qui implique que s = 1). est donc racine
de xs 1, ce qui, `
a son tour, implique que soit racine dun certain polyn
ome de Z2 (x).
On sait que s divise lordre du champ moins 1 cest-`
a-dire que s 2m1 .
Si s = 2m1 , lelement considere est une primitive du champ. Le degre de m (x) est donc
toujours inferieur `
a 2m1 .
ANNEXE A. ANNEXE MATHEMATIQUE
338
A.8.2.2
Exemple
A.8.3
Th
eor`
eme
le polyn
ome minimum m (x) est facteur de 1 x2
le polyn
ome minimum m (x) sexprime comme suit:
2
A.8.4
Exemple
EMENT
A.8. POLYNOME
MINIMUM DUN EL
DE CG(2M )
Il sensuit
339
a0 0 a1 3 a2 6 a3 9 a4 12 = 0
Si on substitue `
a s la representation `
a laide du mot de Z24 correspondant, on obtient:
0000 = a0 (1000) a1 (0001) a2 (0011) a3 (0101) a4 (1111)
Ceci conduit `
a un syst`eme de 4 equations `
a 4 inconnues dont la solution est:
a0 = a1 = a2 = a3 = a4 = 1
Le polyn
ome minimum cherche est donc:
m3 (x) = 1 x x2 x3 x4
Les racines de m3 (x) sont {,2 ,4 ,8 } = { 3 , 6 , 12 , 9 }.
Il sensuit que m3 (x) = m6 (x) = m9 (x) = m12 (x).
Un autre procede consiste `
a utiliser directement la derni`ere propriete du theor`eme
presente ci-dessus. Il vient dans cet exemple:
m3 (x) = (x 3 ).(x 6 ).(x 9 ).(x 12 )
En effectuant ceci et en tenant compte des r`egles de multiplication et daddition dans
CG(24 ), on retrouve le meme polyn
ome minimum que celui trouve ci-dessus.
On remarquera que dans CG(2m ), les signes et sont equivalents.
On peut de la sorte etablir le tableau suivant:
ements de CG(24 )
El
0
, 2 , 4 , 8
3 , 6 , 9 , 12
5 , 10
7 11 13 14
, , ,
A.8.5
Polyn
ome minimum
1x
1 x x4
1 x x2 x3 x4
1 x x2
1 x3 x4
Th
eor`
eme
Le polyn
ome minimum m (x) est un polyn
ome primitif si et seulement si est une
primitive de CG(2m ).
Ceci se verifie si on examine la seconde ligne du tableau ci-dessus.
A.8.6
G
en
eralisation au cas dun champ quelconque
ANNEXE A. ANNEXE MATHEMATIQUE
340
Tout polyn
ome minimum est irreductible;
Ce polyn
ome minimum divise tout polyn
ome admettant comme racine;
Le polyn
ome minimum de tout element dun champ de Galois CG(pm ) peut se
calculer par la formule:
i
A.9
A.9.1
Existence dun
el
ement dordre donn
e
Introduction
Lors de letude des codes BCH, le probl`eme se pose de trouver une extension dun champ
de cardinalite q possedant un element dun ordre donne n.
A.9.2
A.9.3
Fonction dEULER
Cette fonction, definie sur les entiers positifs (n = 1,2, . . .) et notee (n) fournit le nombre
dentiers i, 1 i n, qui sont premiers avec n (voir tableau ci-dessous):
n
(n)
A.9.4
1
0
2
1
3
2
4
2
5
4
6
2
7
6
8
4
9
6
10
4
11
10
Th
eor`
eme dEULER-FERMAT
A.10. CARACTERISTIQUE
DUN CHAMP
A.9.5
341
Exemples
A.10
Caract
eristique dun champ
A.10.1
D
efinition
A.10.2
Exemple
A.10.3
Th
eor`
emes
A.10.4
Exemple
A.11
ANNEXE A. ANNEXE MATHEMATIQUE
342
x y
Un autre exemple (qui sera utilise dans le cadre des codes BCH) est la recherche des
racines dune equation du second degre. Par exemple dans CG(24 ):
f (x) = x2 7 x = 0
La formule de resolution classique nest pas applicable. Si f (x) admet des zeros dans
CG(24 ), ils peuvent etre trouves par substitution successives des elements de CG(24 ).
On trouve ainsi que 6 et 10 sont les zeros de f (x) et donc:
f (x) = (x 6 )(x 10 )
A.12
Algorithme dEUCLIDE
A.12.1
Algorithme
343
s0 = b
s1 = a (b > a)
u0 = 0
u1 = 1
v0 = 1
v1 = 0
n=1
Tant que sn > 0, calculer:
n
n+1
sn
un
qn un1 + un2
vn
qn vn1 + vn2
35
s1 = a
30
n = 1:
u0 = 0
u1 = 1
v0 = 1
v1 = 0
n = 2:
q2 = E
35
=1
30
u2
s2 = 35 1.30 = 5 > 0
1.1 + 0 = 1
v2
1.0 + 1 = 1
n = 3:
30
q3 = E
=6
5
PGCD (35,30)
s3 = 30 6.5 = 0 STOP
sn2 = s2 = 5
(1)3 u2 = 1
(1)2 v2 = 1
ANNEXE A. ANNEXE MATHEMATIQUE
344
A.12.2
<
A.12.3
u0 (x) = 0
u1 (x) = 1
et
vk+1 = qk (x)vk (x) vk1 (x)
avec
v0 (x) = 1
v1 (x) = 0
alors le polyn
ome ak (x) peut sexprimer `
a partir de a0 (x) et a1 (x) par:
ak (x) = (1)k [vk (x).a0 (x) uk (x).a1 (x)]
Dans lexemple precedent, il vient:
u0 (x) = 0
u1 (x) = 1
u2 (x) = q1 (x).1 0 = 1
u3 (x) = q2 (x).1 1 = x
et donc:
v0 (x) = 1
v1 (x) = 0
v2 (x) = q1 (x).0 1 = 1
v3 (x) = q2 (x).1 0 = x2 x
a2 (x) = (1)2 1.(x2 x) 1.(x2 2) = x
1
3
2
a3 (x) = (1) (x 2).(x x) x.(x2 2) = 0
ce qui correspond aux resultats trouves.
FORMELLE DUN POLYNOME
A.13. DERIV
EE
A.13
D
eriv
ee formelle dun polyn
ome
Soit un polyn
ome a(x):
a(x) = a0 a1 x a2 x2 . . . an xn
On appelle derivee formelle dun polyn
ome (notee a0 (x)) le polyn
ome:
a0 (x) = a1 2a2 x . . . nan xn1
avec:
2 = 1 1 etc . . .
On demontre les r`egles suivantes.
Si a(x) et b(x) sont deux polyn
omes:
[a(x) b(x)]0
a0 (x) b0 (x)
a0 (x).b(x) b0 (x).a(x)
[a(x).b(x)]
345
347
Annexe B
Factorisation de 1 xn
n
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
Facteurs
(x 1)
(x 1)2
(x 1)(x2 x 1)
(x 1)4
(x 1)(x4 x3 x2 x 1)
(x 1)2 (x2 x 1)2
(x 1)(x3 x 1)(x3 x2 1)
(x 1)8
(x 1)(x2 x 1)(x6 x3 1)
(x 1)2 (x4 x3 x2 x 1)2
(x 1)(x10 x9 x8 x7 x6 x5 x4 x3 x2 x 1)
(x 1)4 (x2 x 1)4
(x 1)(x12 x11 x10 x9 x8 x7 x6 x5 x4 x3 x2 x 1)
(x 1)2 (x3 x 1)2 (x3 x2 1)2
(x 1)(x2 x 1)(x4 x 1)(x4 x3 1)(x4 x3 x2 x 1)
(x 1)16
(x 1)(x8 x5 x4 x3 1)(x8 x7 x6 x4 x2 x 1)
(x 1)2 (x2 x 1)2 (x6 x3 1)2
(x 1)(x18 x17 x16 x15 x14 x13 . . . x4 x3 x2 x 1)
(x 1)4 (x4 x3 x2 x 1)4
(x 1)(x2 x 1)(x3 x 1)(x3 x2 1)(x6 x4 x2 x 1)(x6 x5 x4 x2 1)
(x 1)2 (x10 x9 x8 x7 x6 x5 x4 x3 x2 x 1)2
(x 1)(x11 x9 x7 x6 x5 x 1)(x11 x10 x6 x5 x4 x2 1)
(x 1)8 (x2 x 1)8
(x 1)(x4 x3 x2 x 1)(x20 x15 x10 x5 1)
(x 1)2 (x12 x11 x10 x9 x8 x7 x6 x5 x4 x3 x2 x 1)2
(x 1)(x2 x 1)(x6 x3 1)(x18 x9 1)
(x 1)4 (x3 x 1)4 (x3 x2 1)4
(x 1)(x28 x27 x26 x25 x24 x23 . . . x4 x3 x2 x 1)
(x 1)2 (x2 x 1)2 (x4 x 1)2 (x4 x3 1)2 (x4 x3 x2 x 1)2
(x 1)(x5 x2 1)(x5 x3 1)(x5 x3 x2 x 1)(x5 x4 x2 x 1)(x5 x4 x3 x 1)(x5 x4 x3 x2 1)