Está en la página 1de 355

Ecole

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

Table des mati`


eres
Avant-propos

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

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

4 Transmissions en bande restreinte


4.1 Position du probl`eme . . . . . . . . . . . . . . . . . . . .
4.2 Interference entre symboles . . . . . . . . . . . . . . . .
4.3 Diagramme de loeil . . . . . . . . . . . . . . . . . . . .
4.4 Suppression de linterference intersymbole . . . . . . . .
4.5 Premier crit`ere de Nyquist . . . . . . . . . . . . . . . . .
4.5.1 Introduction . . . . . . . . . . . . . . . . . . . .
4.5.2 Cas dun filtre de frequence de coupure fc 1/T
4.6 Deuxi`eme crit`ere de Nyquist . . . . . . . . . . . . . . . .
4.6.1 Introduction . . . . . . . . . . . . . . . . . . . .
4.6.2 Cas dun filtre de frequence de coupure fc 1/T
ements constitutifs dune liaison numerique . . . . . .
4.7 El

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

5 Transmissions en bande de base


5.1 Voies de transmission utilisables et contraintes associees . . . . . .
5.1.1 Limitation de la bande passante vers les frequences basses .
5.1.2 Limitation de la bande passante vers les frequences elevees
5.1.3 Transparence vis-`a-vis des donnees . . . . . . . . . . . . . .
5.1.4 Distorsions damplitude et de phase . . . . . . . . . . . . .
5.2 Generalites sur la representation dun message numerique . . . . .
5.3 Theor`eme tr`es general . . . . . . . . . . . . . . . . . . . . . . . . .
5.3.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . .
5.3.2 Densite spectrale dune sequence aleatoire binaire `a moments independants . . . . . . . . . . . . . . . . . . . . . .
5.4 Quelques exemples de codes frequemment utilises . . . . . . . . . .
5.4.1 Codes unipolaires . . . . . . . . . . . . . . . . . . . . . . . .
5.4.2 Codes bipolaires . . . . . . . . . . . . . . . . . . . . . . . .
5.5 Crit`eres de choix dun type de codage . . . . . . . . . . . . . . . .
5.5.1 Transmission de la composante continue et contenu spectral
en basses frequences . . . . . . . . . . . . . . . . . . . . . .
5.5.2 Largeur spectrale occupee . . . . . . . . . . . . . . . . . . .
5.5.3 Presence dune raie spectrale `a la frequence dhorloge . . .
5.5.4 Possibilite de detection de certaines erreurs `a la restitution
du signal . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.6 Analyse des proprietes de certains codes . . . . . . . . . . . . . . .
5.6.1 Code NRZ unipolaire . . . . . . . . . . . . . . . . . . . . .
5.6.2 Code RZ unipolaire . . . . . . . . . . . . . . . . . . . . . .
5.6.3 Code biphase - L unipolaire . . . . . . . . . . . . . . . . . .
5.6.4 Code CMI . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.6.5 Code de MILLER . . . . . . . . . . . . . . . . . . . . . . .
5.6.6 Code AMI . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.6.7 Code HDBn . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.7 Les codes `a reponse partielle . . . . . . . . . . . . . . . . . . . . .
iii

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

6 Transmissions en bande transpos


ee
6.1 Introduction . . . . . . . . . . . . . . . . . . . .
6.2 Composantes en quadrature . . . . . . . . . . .
6.3 Application aux signaux modulants numeriques
6.3.1 Modulation damplitude . . . . . . . . .
6.3.2 Modulation de phase . . . . . . . . . . .
6.3.3 Combinaison dune modulation de phase
6.3.4 Modulation de frequence . . . . . . . . .
6.4 Spectres des signaux modules . . . . . . . . . .
6.5 Trellis Coded Modulation (TCM) . . . . . . . .
6.5.1 Introduction . . . . . . . . . . . . . . .
6.5.2 TCM . . . . . . . . . . . . . . . . . . .

. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
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

A.2.2 Sous-espace de Zpn . . . . . . . . . . . . . . . . . . . . . .


A.2.3 Exemples . . . . . . . . . . . . . . . . . . . . . . . . . . .
A.3 Matrices (dans Z2 ) . . . . . . . . . . . . . . . . . . . . . . . . . .
A.3.1 Definitions . . . . . . . . . . . . . . . . . . . . . . . . . .
A.3.2 Base pour C =< S > et C . . . . . . . . . . . . . . . . .
A.4 Ensembles associes `a un code C . . . . . . . . . . . . . . . . . . .
A.4.1 Definition . . . . . . . . . . . . . . . . . . . . . . . . . . .
A.4.2 Theor`eme . . . . . . . . . . . . . . . . . . . . . . . . . . .
A.4.3 Tableau normalise . . . . . . . . . . . . . . . . . . . . . .
A.5 Les polynomes associes aux vecteurs dun code cyclique . . . . .
A.5.1 Lanneau Zp (x) . . . . . . . . . . . . . . . . . . . . . . . .
A.5.2 Congruence modulo un polynome . . . . . . . . . . . . . .
A.5.3 Exemples . . . . . . . . . . . . . . . . . . . . . . . . . . .
A.5.4 Conditions dexistence du champ Zp (x)/h(x) . . . . . . .
A.6 Extension algebrique dun champ . . . . . . . . . . . . . . . . . .
A.6.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . .
A.6.2 Exemple . . . . . . . . . . . . . . . . . . . . . . . . . . . .
A.6.3 Premi`ere definition du champ dextension CG(pm ) de Zp
A.6.4 Deuxi`eme definition du champ dextension CG(pm ) de Zp
A.6.5 Comparaison des champs Zp (x)/h(x) et K() . . . . . . .
ement primitif et polynome primitif de CG(2m ) . . . . . . . .
A.7 El
A.7.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . .
A.7.2 Polynome primitif . . . . . . . . . . . . . . . . . . . . . .
A.7.3 Lien avec la notion dordre dun element . . . . . . . . . .
A.7.4 Remarque . . . . . . . . . . . . . . . . . . . . . . . . . . .
A.7.5 Extension algebrique dun champ F quelconque . . . . . .
A.8 Polynome minimum dun element de CG(2m ) . . . . . . . . . . .
A.8.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . .
A.8.2 Polynome minimum associe `a un element de CG(2m ) .
A.8.3 Theor`eme . . . . . . . . . . . . . . . . . . . . . . . . . . .
A.8.4 Exemple . . . . . . . . . . . . . . . . . . . . . . . . . . . .
A.8.5 Theor`eme . . . . . . . . . . . . . . . . . . . . . . . . . . .
A.8.6 Generalisation au cas dun champ quelconque . . . . . . .
A.9 Existence dun element dordre donne . . . . . . . . . . . . . . .
A.9.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . .
A.9.2 Rappel sur lordre dun champ . . . . . . . . . . . . . . .
A.9.3 Fonction dEULER . . . . . . . . . . . . . . . . . . . . . .
A.9.4 Theor`eme dEULER-FERMAT . . . . . . . . . . . . . . .
A.9.5 Exemples . . . . . . . . . . . . . . . . . . . . . . . . . . .
A.10 Caracteristique dun champ . . . . . . . . . . . . . . . . . . . . .
A.10.1 Definition . . . . . . . . . . . . . . . . . . . . . . . . . . .
A.10.2 Exemple . . . . . . . . . . . . . . . . . . . . . . . . . . . .
A.10.3 Theor`emes . . . . . . . . . . . . . . . . . . . . . . . . . .
A.10.4 Exemple . . . . . . . . . . . . . . . . . . . . . . . . . . . .
A.11 Calculs dans CG(pm ) . . . . . . . . . . . . . . . . . . . . . . . .
A.12 Algorithme dEUCLIDE . . . . . . . . . . . . . . . . . . . . . . .
A.12.1 Algorithme . . . . . . . . . . . . . . . . . . . . . . . . . .
v

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

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

A.12.2 PGCD de deux polynomes . . . . . . . .


A.12.3 Remarque: algorithme dEuclide etendu
du PGCD de deux polynomes . . . . . .
A.13 Derivee formelle dun polynome . . . . . . . . .
B Factorisation de 1 xn

. . . . .
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

Les theor`emes fondamentaux de Shannon (de la theorie de linformation) relatifs au


codage de source ne se sont pas beaucoup preoccupes de la realisation pratique du codage
de source. Ils avaient pour but de fixer les objectifs `
a atteindre et les limites ultimes
realisables.
Ce chapitre par contre sera lui consacre aux procedes pratiques de codage de source.
Ces derniers sont en general classes en deux categories selon quils sont reversibles ou
non. Un codage est dit reversible si le message de source peut etre retrouve sans perte
dinformation `
a partir du message code. Certains auteurs utilisent le terme de codage avec
reduction de redondance (cest-`
a-dire reversible) ou avec reduction dentropie (cest-`
a-dire
irreversible).
Un exemple de codage irreversible est celui o`
u, au lieu de transmettre la valeur dun
echantillon, on transmet sa position par rapport `
a un seuil (par exemple 0 sil est inferieur
au seuil et 1 sil lui est superieur).
Un exemple de codage reversible est celui dune source binaire dont on sait quelle emet
souvent de longues suites de symboles identiques. Ce codage consiste `
a transmettre le
nombre de symboles identiques aux instants o`
u ces suites se modifient.
Exemple
Source: 00000 11111 000 1111
Codage: 5 0, 5 1, 3 0, 4 1

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.

CHAPITRE 1. CODAGE DE SOURCE

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

1.3. LE CODAGE DE HUFFMAN


Quatri`eme division:

Cinqui`eme division:

Sixi`eme division:

Symboles:
Probabilites:

Codes:

Symboles:
Probabilites:

Codes:

Symboles:
Probabilites:

Codes:

Codage finale (un des codages possibles):

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

La longueur moyenne des mots-codes est dans cet exemple egale `


a 2,7 bits (2*0,4 + 2*0,1
+ 4*0,1 + 4*0,1 + 3*0,1 + 3*0,1 + 3*0,1= 2.7). Si nous comparons cela avec lentropie
de la source qui est egale `
a 2,529 bits, on obtient une efficacite de 93,8 % pour le code
de cet exemple.

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

CHAPITRE 1. CODAGE DE SOURCE


Propri
et
e2

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 )

aient la meme longueur (lm1 = lm ) et ne diff`erent que par le dernier symbole. On


suppose ici que cm1 et cm sont les deux derniers mots-codes de K1 apr`es rangement des
mots-codes par longueur non-decroissante.

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

Principe du codage binaire de Huffman

Partant de lalphabet A, ordonne selon lordre des probabilites p(ai ) non-decroissant, on


cherche un code separable optimum de lalphabet reduit A . Si on le trouve, on obtient
le code separable optimum pour A en appliquant la propriete 3.
Si on ne trouve pas un tel code, on proc`ede `
a une nouvelle reduction, cette fois de A et
ainsi de suite eventuellement jusqu`
a lobtention dune source reduite `
a deux symboles,
pour laquelle le code separable optimum est constitue des 2 mots-codes 0 et 1 (
lmin = 1).
Il convient evidemment, avant chaque nouvelle reduction, de replacer le nouveau symbole
introduit lors de la reduction precedente dans la position correspondant `
a sa probabilite
dans lordre non-decroissant des probabilites.

1.3. LE CODAGE DE HUFFMAN

1.3.4

Exemple

Soit une source dont lalphabet et les probabilites associees sont:



Symboles:
A
E
B
C
D
F
Probabilites: 0,4 0,2 0,1 0,1 0,1 0,1
On proc`ede aux reductions successives suivantes.
Premi`ere reduction:

Symboles:
A
DF
Probabilites: 0,4 0,2

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

La longueur moyenne des mots-codes est:

lmin = 2,4

BC
01

DF
10

E
11

E
11

B
010

C
011

C
011

D
100

F
101

CHAPITRE 1. CODAGE DE SOURCE

On remarquera que le code suivant:



Symboles:
A
Mots-codes: 0

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

Codes de Huffman Q-aire

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

Codes du type run-length

Dans maintes applications, de longues suites (runs) de symboles specifiques caracterisent


une sequence de symboles qui doit etre transmise ou stockee. Au lieu de maintenant coder
chaque symbole dune si longue suite de facon independante, il est indique de decrire toute
cette suite avec un code de substitution efficace. Ainsi, par exemple, de longues suites de
blancs (le blanc, qui est dailleurs le symbole qui est le plus utilise dans un texte) sont
codes dans beaucoup de protocols de communication par un caract`ere de contr
ole, suivi
par le nombre de symboles dans cette suite.
Le code de substitution denomme run-length, peut etre applique `
a lalphabet de symboles original ou `
a la representation binaire de cet alphabet. Les codes run-length sont
tr`es attractifs pour des alphabets binaires provenant de sources specifiques. Lexemple
commercial le plus important est le codage fax, utilise pour la transmission de documents.

1.4.1

Code de Huffman code pour la transmission de fax

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. CODES DU TYPE RUN-LENGTH

scans lignes et la position `


a linterieur dun scan ligne sont quantifiees en localisations
spatiales qui definissent une grille bi-dimensionnelle de points (pixels). Dans le standard
ITU la quantification spatiale en resolution normale est de 1728 pixels/ligne et de 1188
lignes/document (i.e. 2.052.864 pixels). Le standard definit egalement une quantification en resolution accrue avec les memes 1728 pixels/lignes mais cette fois-ci avec 2376
lignes/document (i.e. deux fois le nombre de pixels quen resolution normale). A titre de
comparaison, le nombre de pixels dans le standard commercial americain de television
NTSC (National Television Standards Committee) est de 480*640 ou 307.200 pixels. Ceci
veut don dire que le fax est dote dune resolution de 6,7 `
a 13,4 fois superieure `
a celle
dune image TV standard.
La luminescence relative de limage echantillonnee est quantifiee pour chaque pixel `
a
laide de (seulement) deux niveaus: N (noir) et B (blanc). Il est alors facile de voir que
lechantillonnage dune ligne horizontale sur un document typique, montrera un motif
qui sera constitue de longues suites de niveaux N ou B. Le schema de codage run-length
standard de lITU pour comprimer de longues sequences de N et/ou B est base sur un
code de Huffman de longueur variable modifie. Dans ce code, deux types de suites (runs)
sont identifiees: des suites-N et des suites-B. Chaque longueur de suite individuelle est
decrite par un mot-code compose de deux parties. La premi`ere partie du mot-code (la
partie MSB) identifie des runs avec une longueur qui est un multiple de 64. La deuxi`eme
partie du mot-code identifie apr`es la longueur du run residuel. A chaque suite-N ou suiteB de longueur variante entre 0 jusqu`
a 63 inclus, un mot-code Huffman a ete attribue;
la meme chose a ete fait pour les 27 premiers multiples de 64. En outre, un code endof-line (EOL) unique a ete defini, qui indique quil ny a plus de pixels noirs dans le
reste de la suite; cest pourquoi on peut passer directement `
a la ligne en cas de reception
de ce mot-code EOL (ceci fonctionne comme le retour chariot sur une machine `
a ecrire
classique).

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

CHAPITRE 1. CODAGE DE SOURCE

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

La modulation par impulsions et codage


(PCM)
Introduction

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

1.5. LA MODULATION PAR IMPULSIONS ET CODAGE (PCM)

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

Modulation par impulsions et codage

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

CHAPITRE 1. CODAGE DE SOURCE

Figure 1.1 Modulation par impulsions et codage (n = 7).

1.5. LA MODULATION PAR IMPULSIONS ET CODAGE (PCM)

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

CHAPITRE 1. CODAGE DE SOURCE

presence ou absence dune composante continue


contenu spectral en basses frequences
presence ou absence dune composante spectrale discr`ete `
a une frequence egale ou
multiple de 1/T , ceci en vue de la restitution du signal dhorloge `
a la reception du
signal PCM.
Cette etude sera menee au chapitre 5.

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).

Figure 1.2 Codeur PCM `


a quantification non uniforme.
Un tel element non-lineaire porte le nom dorgane de compression; sa caracteristique de
transfert (Y = f (X)) doit etre judicieusement choisie (voir plus loin). A la reception on
doit evidemment effectuer loperation inverse (avec comme caracteristique de transfert
f 1 ) qui est appelee expansion.

1.5. LA MODULATION PAR IMPULSIONS ET CODAGE (PCM)

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 ).

Figure 1.3 Signal Gaussien et erreur de quantification.

1.5.3.2

Rapport signal-bruit dans un codeur PCM

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

CHAPITRE 1. CODAGE DE SOURCE

Figure 1.4 Schema fonctionnel dun codeur PCM.

Figure 1.5 Exemple dune loi de compression.

1.5. LA MODULATION PAR IMPULSIONS ET CODAGE (PCM)


1.5.3.2.2

17

Formule g
en
erale du rapport signal-bruit de quantification

Notons le rapport signal-bruit de quantification S/Rq . Soit Xi la valeur centrale de


lintervalle i.
Un echantillon X qui appartient `
a cet intervalle est remplace par la valeur quantifiee
Xi . Lerreur de quantification est donc:
|| = |X Xi |
Soit T (X) la densite de probabilite de X dans lintervalle [Xn ,Xn ] (la fonction aleatoire
X(t) est supposee stationnaire).
Si Qi est suffisamment petit, on peut supposer:
T (X) = constante = T (Xi );

Xi

Qi
2

X < Xi +

Qi
2

Il sensuit (Figure 1.6):


T = constante =

Q2i < < + Q2i

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

Soit y = f (x) la loi de compression, avec:


x=

X
;
Xn

y=

Y
;
Yn

1 x +1;

1 y +1

Sil y a N intervalles, les intervalles uniformes de laxe des y sont egaux `


a 2/N (voir
Figure 1.7).
Il sensuit:
 
2 dx
Qi
N dy x=xi
donc:
Rq =

 2
1 X
1 X
dx
Pi Q2i =
P
i
12 i
3N 2 i
dy x=xi

et si le nombre dintervalles est suffisamment grand, on peut remplacer la sommation par


une integrale:
 2
Z +1
dx
1
T
(x)
dx
Rq =
3N 2 1
dy

18

CHAPITRE 1. CODAGE DE SOURCE

Figure 1.6 Approximation de la densite de probabilite.

1.5. LA MODULATION PAR IMPULSIONS ET CODAGE (PCM)

19

Figure 1.7 Relation entre la loi de compression et le pas de quantification.


La puissance moyenne du signal est donne par:
Z +1
S=
x2 T (x)dx
1

et donc:

R +1

x2 T (x)dx
(S/Rq ) = 3N R 1
 2
+1
T (x) dx
dx
dy
1
2

1.5.3.2.3 La loi de compression logarithmique Le but dune quantification


non uniforme est dobtenir un rapport signal-bruit de quantification independant de la
densite de probabilite du signal et de sa puissance.
Ce resultat sera atteint si on choisit y = f (x) de facon telle que:
dx
dy

= Kx,

K = constante

avec comme resultat:

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

CHAPITRE 1. CODAGE DE SOURCE

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).

Figure 1.8 Loi de compression A.

=
=

Ax
1+ln A
1+ln Ax
1+ln A

0x
1
A

1
A

x1

(A 100)

La relation entre les constantes K et A est:


K = 1 + ln A
De plus:
dx
dy

K
A

Kx

0x
1
A

1
A

x1

1.5. LA MODULATION PAR IMPULSIONS ET CODAGE (PCM)

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

Limites pour le rapport signal-bruit de quantification Si


on utilise la loi de compression A, le rapport signal-bruit de quantification nest plus
independant du signal et il convient de lui trouver des limites qui elles le sont!
Le premier terme de Rq /S correspond `
a la loi de compression logarithmique; pour le
second il vient:
Z
0
et donc:

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

Ces limites sont independantes de la densite de probabilite du signal. Il est cependant


possible dencore restreindre le domaine car:
Z

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

Cette borne sera plus sev`ere que la precedente si:


A2 S
>0
S

S<

La limite inferieure de (S/Rq ) est donc (Figure 1.9):


(S/Rq )

T (x)(A2 x2 )dx
NC

3N 2 A2 S
K 2 A2 S + 1

1
A2

22

CHAPITRE 1. CODAGE DE SOURCE

Figure 1.9 Limites du rapport (S/Rq ).


Les limites superieures de (S/Rq ) sont:
pour S <

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.5.3.2.6 Rapport signal-bruit de quantification pour une densit


e de
probabilit
e donn
ee du signal Deux exemples de densites de probabilite sont:
La loi de Gauss:
!2

1
T (x) = e
S 2

x
S
2

2
=
S

La loi exponentielle (parole):




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

1.5. LA MODULATION PAR IMPULSIONS ET CODAGE (PCM)

23

bruit de quantification - signal:


 





3N 2 Rq
1
1
2
1

=
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

Comparaison avec le cas de la quantification uniforme Pour

une quantification uniforme:

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,

nous sommes confrontes au dilemme suivant:


dune part, le pas de quantification doit etre suffisamment grand pour couvrir le
domaine de variation maximal du signal (afin deviter le phenom`ene de surcharge);
dautre part une reduction du bruit de quantification implique une reduction du
pas de quantification.
Ce dilemme est encore amplifie par la nature non-stationnaire du signal audio. La puissance dun signal de parole peut varier de plusieurs dizaines de dB selon le locuteur, son
environnement et durant le discours (il y a 30 dB de difference entre parole et silence).
Nous avons vu que la quantification non uniforme offre une premi`ere solution `
a ce
probl`eme.
Une autre solution consiste `
a adapter les caracteristiques de quantification au niveau du
signal dentree. On parle alors de quantification adaptative et elle conduit `
a la modulation
par impulsions et codage adaptative (APCM).

24

CHAPITRE 1. CODAGE DE SOURCE

Figure 1.10 Comparaison avec le cas de la quantification uniforme.

1.5. LA MODULATION PAR IMPULSIONS ET CODAGE (PCM)

25

Lidee fondamentale est dadapter le pas de quantification Q (ou de mani`ere generale


les niveaux de quantification) `
a la variance du signal utile. Cette derni`ere doit donc etre
estimee sur un intervalle de temps o`
u le signal peut etre considere comme stationnaire
(quelques dizaines de ms pour un signal de parole).

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.

Figure 1.11 Adaptation par pas variable.

Figure 1.12 Adaptation par gain variable.


Dans les deux cas, il faut disposer dune estimation de la variance du signal utile. Ladaptation de la quantification peut se passer `
a un rythme plus ou moins eleve. On parle ainsi
dune adaptation syllabique lorsque le rythme dadaptation correspond `
a celui des syllabes dans le discours.

1.5.3.3.3

Adaptation amont ou aval

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

CHAPITRE 1. CODAGE DE SOURCE

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.

Figure 1.13 Quantification adaptative amont.


Une estimation de la variance peut se calculer par:
2 (n) =

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:

1.5. LA MODULATION PAR IMPULSIONS ET CODAGE (PCM)

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

Figure 1.14 Differentes densites de probabilite dun signal de parole.


Bien que cette quantification optimale minimalise la variance du bruit de quantification
lorsque la variance du signal est connue, le caract`ere non stationnaire de la parole est tel
que ce syst`eme de quantification, sil nest pas adaptatif, fournit des resultats en general
inferieurs `
a ceux obtenus avec une loi de compression du type A ou . Cest pourquoi il
ne sutilise quaccompagne dune loi dadaptation.

28

CHAPITRE 1. CODAGE DE SOURCE

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.

Table 1.1 Rapport signal-bruit de differents methodes de quantification (en 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.

1.5. LA MODULATION PAR IMPULSIONS ET CODAGE (PCM)

29

Figure 1.15 Quantification adaptative aval.


La plupart des lois dadaptation fournissent un rapport signal-bruit de quantification
superieur `
a celui obtenu avec une loi de compression de type ou A. Ceci se solde
cependant par une complexite accrue du syst`eme.
Il nest toutefois pas vrai que lutilisation dune loi dadaptation de plus en plus sophistiquee conduit `
a une reduction supplementaire du debit binaire necessaire pour realiser
un certain rapport signal-bruit (ou, ce qui est equivalent, ameliore davantage le rapport
signal-bruit de quantification pour un debit binaire fixe).
Lorsque lon a exploite au mieux les avantages lies `
a ladaptation de la loi de quantification, il convient, pour prolonger lamelioration du syst`eme, de se tourner vers une autre
approche qui exploite mieux les proprietes statistiques du signal `
a transmettre.
Il sagit de la quantification differentielle qui sera etudiee plus loin dans ce cours.

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

CHAPITRE 1. CODAGE DE SOURCE

Figure 1.16 Schema general dune liaison PCM.

1.5. LA MODULATION PAR IMPULSIONS ET CODAGE (PCM)


1.5.4.2

31

Normes ITU-T pour un syst`


eme PCM `
a 30 canaux

Dans le schema de le Figure 1.16 on a:


frequence dechantillonnage: 8 kHz (un echantillon toutes les 125s)
nombres de moments par echantillon: 8 (dont 1 pour le signe et 7 pour caracteriser
128 niveaux. Ces 8 moments forment un intervalle de temps (IT)
32 IT forment une trame.
IT0: synchronisation de la trame
IT1-IT15: 15 canaux
IT16: signalisation
IT17-IT31: 15 canaux
longueur de la trame: 32 8 = 256 moments (en 125 s)
3
256
debit binaire: 125.10
6 = 2048.10 bits/s
16 trames forment une multitrame
synchronisation de trame: (x0011011 avec x = bit quelconque). Ceci est emis une
trame sur deux; si elle nest pas emise, le deuxi`eme bit doit etre un 1.
par multitrame (2 ms), chaque canal dispose de 4 moments pour la signalisation (in
IT16). On appelle signalisation lechange dinformation qui permet letablissement
et la conduite du reseau de telecommunications ainsi que sa gestion.
loi de compression: Il sagit dune loi de compression de type A avec A = 87,6,
approchee par 13 segments dont les coefficients angulaires sont dans le rapport 2.
Si x et y sont respectivement les signaux dentree et de sortie de (normes `
a 1) de
lorgane de compression, la loi A est (Figure 1.17:
y

=
=

Ax
1+ln A
1+ln Ax
1+ln A

0x
1
A

1
A

x1

Figure 1.17 Approximation par segments de la loi de compression.

32
1.5.4.3

CHAPITRE 1. CODAGE DE SOURCE


Probl`
emes de synchronisation

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.

Figure 1.18 Recuperation du signal dhorloge.

1.5.4.4

Multiplexage par division temporelle (TDM)

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.

1.5. LA MODULATION PAR IMPULSIONS ET CODAGE (PCM)

33

On transmet donc sequentiellement durant la periode Tb les echantillons de p signaux


differents; cest ce que lon appelle du multiplexage par division temporelle (Time Division
Multiplexing: TDM). Ce principe peut evidemment etre applique dans le cas de la PCM.
Les p mots binaires doivent toutefois etre completes par des informations de synchronisation. Lensemble des mots binaires relatifs aux divers canaux multiplexes, des mots
de synchronisation et des informations de service constitue une trame. Linformation de
synchronisation sert `
a reperer le debut de chaque trame, ce qui permet ensuite de reperer
chaque mot de la trame. Ce mot de synchronisation peut etre un mot convenu de longueur
suffisante pour que la probabilite quil apparaisse dans la suite des moments dinformation soit faible. En fait, cest dans la repetition de ces mots de synchronisation que lon
trouve capacite de synchronisation. Nous ne traiterons pas ces probl`emes en detail.
dans un syst`eme PCM avec multiplexage par division temporelle, on peut utiliser soit un
codeur rapide qui traite successivement les echantillons des signaux multiplexes, soit des
codeurs plus lents repartis sur les differents canaux qui, une fois codes, seront multiplexes.
Ce sont des considerations economiques qui determinent le choix entre ces deux options.
Il se peut egalement que lon doive multiplexer des signaux provenant de sources
differentes; ceci pose un probl`eme si les horloges des differentes source ne sont pas
synchronisees.
On voit que les probl`emes sont nombreux, mais leur etude sort du cadre de ce cours.

1.5.5

Rapport signal-bruit `
a la sortie dun d
ecodeur PCM

1.5.5.1

Introduction

Nous avons dej`


a vu que le bruit de quantification etait le prix `
a payer pour obtenir un
signal PCM. Ceci a permis de transformer une transmission analogique en une transmission de type numerique. Ceci presente un avantage certain lors de la reception. En
effet, au lieu de devoir determiner la valeur exacte du signal analogique, le recepteur doit,
toutes les T secondes, faire un choix entre deux signaux de forme connue (dans le cas
dun codage binaire).
Si la voie de transmission etait parfaite, le regenerateur pourrait sans ambigute reconstruire exactement la sequence binaire et le seul bruit affectant le signal reconstruit serait
le bruit de quantification.
En realite, les signaux presentes au regenerateur sont deformes et ce dernier commettra
quelques fautes dans la reconstruction de la sequence binaire.
Plus generalement, le regenerateur doit `
a la fin de chaque intervalle unitaire decider quel
signal q-aire a ete transmis et ce, sur base dune version deformee dun signal preleve dans
un alphabet q-aire. Les causes de ces deformations sont multiples: bande passante limitee
de la voie de transmission, bruit provenant de la voie de transmission et des premiers
etages du recepteur,. . .
Si la voie de transmission est dispersive, le signal binaire setale en dehors de lintervalle
unitaire qui lui est reserve ce qui engendre une interference entre symboles et augmente
la probabilite derreurs. Cette derni`ere ne depend en outre plus seulement du symbole
considere mais aussi de ceux des intervalles unitaires voisins.
Ce probl`eme sera etudie au Chapitre 4.
Meme si la bande passante de la voie de transmission peut etre consideree comme infinie,
le signal recu est en general noye dans le bruit. Plusieurs hypoth`eses peuvent etre faites
en ce qui concerne le bruit. En general, on le consid`ere comme etant additif, blanc et
Gaussien. Toutefois, la voie de transmission peut egalement etre soumise `
a un bruit de
nature impulsionnelle `
a lorigine de fautes par paquets (par exemple bruit de commutation
sur les lignes telephoniques).

34

CHAPITRE 1. CODAGE DE SOURCE

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

Calcul du rapport signal-bruit `


a la sortie du d
ecodeur

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

Figure 1.19 Calcul du rapport signal-bruit `


a la sortie dun decodeur PCM.
Nous supposerons que cet echantillonnage est represente mathematiquement par la multiplication de Xq par une sequence dimpulsions de Dirac. Le signal echantillonne est
donc:
X
Xq = Xq
(t kTb )
k

=
=

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.

A la sortie du filtre passe-bas, suppose ideal, on retrouve le signal X(t)


qui est different de
X(t). Il est en effet toujours entache du bruit de quantification nq (t) et parfois du bruit
de reconstruction (de la sequence binaire) n0 (t) quand cette derni`ere nest pas parfaite.
Nous calculerons le rapport signal-bruit `
a la sortie du filtre passe-bas dans les conditions
suivantes:
quantification uniforme par N intervalles de pas Q;

1.5. LA MODULATION PAR IMPULSIONS ET CODAGE (PCM)

35

densite de probabilite stationnaire de X(t):


TX (x) =

1
;
NQ

une seule faute par mot-code (dans le regenerateur).


Pour mener `
a bien ce calcul, nous devons calculer la densite spectrale de la variance dun
signal constitue dune suite dimpulsions. Ceci est donne par le theor`eme suivant.

1.5.5.2.2 Calcul de la densit


e spectrale de la variance dun signal
al
eatoire form
e dune suite dimpulsions de forme donn
ee Soit un signal
constitue dune suite dimpulsions; la forme des impulsions est quelconque (mais fixee),
seule leur amplitude varie de facon aleatoire. Lintervalle de temps entre deux impulsions
est egalement aleatoire.
On montre que la densite spectrale de la variance dune telle fonction aleatoire (qui
peut etre consideree comme la representation mathematique dun bruit de grenaille (shot
noise)) est donne par:
1
() = |P ()|2
T
avec:
T duree moyenne entre deux impulsions;
P () = F[p(t)], la transformee de Fourier de la forme de limpulsion p(t);
|P ()|2 lesperance mathematique (calculee sur le domaine de variation des amplitudes des impulsions) du carre du module de la transformee de Fourier des
impulsions.
Cas particulier:
Sequence dimpulsions de Dirac dintensite I, une variable aleatoire de domaine de
definition NI et de densite de probabilite TI (i).
On a ici que p(t) = I(t), o`
u I est caracterise par:
NI ;
TI (i);
E(I) = 0.
Nous avons alors en appliquant le theor`eme precedent:
Z
|P ()|2 =
i2 TI (i)di = i2
NI

et donc:
() =

i2
T

(bruit blanc: pas de fonction de )

1.5.5.2.3 Calcul du rapport signal-bruit de quantification `


a la sortie
du filtre passe-bas
Remarque pr
eliminaire:
Precedemment, nous avons dej`
a calcule la variance du bruit de quantification . Rien
ne nous dit que cette variance est egale `
a celle de nq (t), qui ne sera en effet pas une
replique de (t). Le choix de la frequence dechantillonnage fb = 2F0 a en effet ete base
sur la frequence la plus elevee du signal X(t). La Figure 1.3 nous montre que (t) passe
par 0 chaque fois que X(t) croise un niveau de quantification. Le spectre de (t) sera

36

CHAPITRE 1. CODAGE DE SOURCE

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

1.5.5.2.4 Calcul de la puissance S du signal `


a la sortie du filtre passebas Nous supposerons ici encore que n(t) = 0, cest-`a-dire que:
q (t) = Xq (t)
X
Nous pouvons donc ecrire:
X (t) = X(t)

(t kTb )

Cest la contribution du signal utile `


a Xq . Toujours par le theor`eme precedent, on obtient:
X () =

2
X
Tb

1.5. LA MODULATION PAR IMPULSIONS ET CODAGE (PCM)


met:

+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

On obtient finalement le rapport signal-bruit de quantification `


a la sortie du decodeur
en labsence derreurs commises par le decodeur:
(S/Rq )0 = N 2 = (2m )2 = 22m

1.5.5.2.5 Calcul de la puissance de bruit d


u aux erreurs de reconstruction des mots-codes La seconde contribution au bruit `a la sortie du decodeur
provient des erreurs commises par le regenerateur lors de la reconstruction de le sequence
binaire.
Pour calculer la puissance de ce bruit de reconstruction, nous supposerons que les 2m
niveaux de quantification sont codes par leur numero dordre (exprime en base 2). Le
niveau le plus bas est code par 000 . . . 0 et le plus eleve par 11 . . . 1. Une erreur sur le
moment de poids le plus faible (LSB: least significant bit) conduit `
a une erreur de valeur
Q lors de la reconstruction des impulsions de sortie du decodeur; une erreur sur le moment
suivant conduit `
a une erreur 2Q et ainsi de suite.
Nous admettrons en outre que la probabilite dune erreur Pf est suffisamment faible
(105 par exemple) pour pouvoir admettre quil ny a pas plus dun moment faux par
mot-code.
Ceci implique que des mesures ont ete prises pour rejeter les erreurs par paquets (entrelacement, interleaving).
Chaque fois quun mot-code est errone, limpulsion de sortie du decodeur nest plus Xq
mais:
q
Xq + = X
est une sequence aleatoire dimpulsions dont loccurrence est irreguli`erement distribuee dans le temps. Le bruit n0 (t) est la version filtree de (t).
Pour pouvoir appliquer le theor`eme permettant le calcul de la densite spectrale de la
variance de (t), nous devons calculer les grandeurs suivantes:
Tf : duree moyenne entre deux impulsions (de ), cest-`
a-dire entre deux mots
erronees;
2


: 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

CHAPITRE 1. CODAGE DE SOURCE

dure Tb secondes (pas d multiplexage), il y a en moyenne 1 mot faux (cest-`


a-dire une
impulsion de ) toutes les T secondes avec:
Tb
mPf

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

Il sensuit: a = Q2 et q = 22 . Le resultat est:


2

Q2 22m 1
m 22 1
Q2 2m
2
si m est suffisamment grand.
3m

La densite spectrale de la variance de la fonction aleatoire est donc:


() =

22m Q2 mPf
22m Q2 Pf
=
3mTb
3Tb

Finalement, la puissance de bruit due `


a une reconstruction fautive de la sequence binaire
est donnee par:
Z +2F0 2m 2
1
2 Q Pf
R0 = n2 0 =
d
2 2F0
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

1.5. LA MODULATION PAR IMPULSIONS ET CODAGE (PCM)

39

lintervalle unitaire [O,T ] et /2 est la densite spectrale de la variance du bruit blanc


additif:
r 
1
Es
(Pf )PSK = (Pf )bande de base =
erc
2

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

avec Si la puissance du signal recu.


Le rapport signal-bruit `
a la sortie du decodeur PCM est donc egale `
a:
((S/R)0 )PSK = ((S/R)0 )bande de base

((S/R)0 )FSK coherente

22m
q

Si
1 + 2(2m+1) erc
2mF0
22m
1 + 2(2m+1) erc

q

0,3Si
mF0

On peut demontrer que pour Si /(F0 ) suffisamment grand et pour m = 8, correspondant


aux 28 niveaux, on a que:
((S/R)0 )PSK = ((S/R)0 )bande de base = ((S/R)0 )FSK coherente = 10 log 216 = 48 dB
Ceci signifie que le bruit de reconstruction est negligeable et la limite ultime des performances est fixee par le rapport signal-bruit de quantification. On constate egalement la
presence dun seuil qui est situe 2,2 dB plus bas en PSK (et en bande de base) quen
FSK.
Si les prestations du regenerateur sont insuffisantes, la seule solution pour augmenter
le rapport signal-bruit `
a la sortie du recepteur est dutiliser un code de detection et
correction derreurs.

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

CHAPITRE 1. CODAGE DE SOURCE

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

Dans la modulation dimpulsions codee habituelle `


a m moments (PCM), la valeur du
signal analogique est susceptible de changer du tout au tout `
a chaque echantillon. Or, il
est bien peu probable que cela arrive. Figure 1.20 montre en effet quil y a une correlation
considerable entre echantillons adjacents et meme quil y a une correlation importante
entre echantillons separes de plusieurs periodes dechantillonnage.
Ceci signifie que le signal ne varie pas enormement dechantillon `
a echantillon si bien
que la difference entre echantillons adjacents doit presenter une variance inferieure `
a la
variance du signal proprement dit. Ce fait justifie lutilisation dune quantification dite
differentielle dont le principe est representee `
a la Figure 1.21.
Dans ce schema, cest la difference entre le signal utile echantillonne X(n) et une estima
tion (une prediction) de ce signal X(n)
qui est applique au syst`eme de quantification:

d(n) = X(n) X(n)

Cette prediction X(n)


est la sortie dun predicteur (estimateur) P . Cest la difference
d(n), appelee erreur de prediction, qui est quantifiee et codee. Cette quantification peut
etre uniforme ou non, fixe ou adaptative, mais de toute facon, ses param`etres doivent
etre adaptes aux proprietes de d(n) et non `
a ceux de X(n)!
La difference d(n) peut etre representee par:
dq (n) = d(n) + (n)
o`
u (n) est le bruit de quantification sur d(n).
Conformement `
a la Figure 1.21, la difference quantifiee dq (n) est ajoutee `
a la valeur

predite X(n)
pour fournir une version quantifiee de lentree, `
a savoir Xq (n), appliquee


1.6. LA PCM DIFFERENTIELLE

41

Figure 1.20 (a) Estimation de la fonction dautocorrelation dun signal de parole;


(b) Estimation de la densite spectrale de la variance par TFD.

Figure 1.21 Modulation par impulsions et codage differentielle.

42

CHAPITRE 1. CODAGE DE SOURCE

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)

On constate donc que, independamment des proprietes du syst`eme de prediction P ,


Xq (n) ne diff`ere de X(n) que par le bruit de quantification du signal difference d(n). Si
la prediction est bonne, la variance de d(n) sera inferieure `
a celle de X(n) si bien que, pour
une longueur de mot code determinee m, le syst`eme de quantification peut etre mieux
ajuste pour reduire le bruit de quantification ou, ce qui est equivalent, `
a un rapport
signal-bruit de quantification fixe, il est possible de reduire m par une quantification
differentielle.
A la reception, on utilise le meme predicteur P que celui utilise `
a lemission et si c(n) =
c0 (n), cest-`
a-dire si aucune erreur nest commise lors de la reconstitution des mots-codes,
on obtient:
Xq0 (n) = Xq (n)
qui ne diff`ere de X(n) que par le bruit de quantification qui entache d(n).
Le rapport signal-bruit de quantification du syst`eme secrit:
S/Bq = x2 /2 = (x2 /d2 )(d2 /2 ) = Gp (S/Bq )d
o`
u (S/Bq )d = d2 /2 est fixe par la qualite du syst`eme de quantification de d(n);
tandis que Gp = x2 /d2 est le gain d
u`
a la configuration differentielle.
Ce gain Gp > 1 depend du type de predicteur utilise, ce dernier devant minimaliser d2
(x2 est fixe par le signal).
Une approche possible consiste `
a choisir un predicteur de la forme:

X(n)
=

p
X

k Xq (n k)

k=1

Les i sont determines pour minimaliser d2 .


Il existe de nombreux algorithmes doptimalisation dont letude sort du cadre de ce cours,
mais dans tous les cas on peut tirer les conclusions suivantes:
La quantification differentielle presente toujours une amelioration par rapport `
a la
quantification directe;
Le degre damelioration depend de la correlation existant entre les echantillons
successifs;
Un predicteur determine et fixe ne peut etre optimum pour tous les locuteurs.
Ces considerations ont conduit au developpement de syst`emes qui combinent:
une quantification fixe ou adaptative;
une prediction fixe ou adaptative.
Un exemple extreme de modulation numerique differentielle est la modulation DELTA
() qui fait lobjet du paragraphe suivant.

1.6.2

La modulation

1.6.2.1

Introduction

Lapplication la plus elementaire de la quantification differentielle est la modulation .


Dans ce type de modulation, la frequence dechantillonnage (1/T avec T la periode
dechantillonnage) est de loin superieure `
a celle fixee par le theor`eme de Shannon. Il en


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

si d(n) est positif


si d(n) est negatif

Figure 1.22 Modulation lineaire.


Le fonctionnement du predicteur est tel que:
Xq (n) = Xq (n 1) + dq (n)
et cest cette valeur de Xq (n) que lon retrouve dans le recepteur si c0 (n) = c(n).

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

CHAPITRE 1. CODAGE DE SOURCE

Figure 1.23 Evolution


de X(n)
et de Xq (n) dans une modulation lineaire.
extreme, ce qui entrane un bruit de quantification inadmissible. Il sagit donc dune
surcharge en amplitude qui est independant de la frequence du signal utile X(t).
En modulation , la surcharge est due `
a une variation trop rapide du signal utile X(t)
comme il apparat `
a la Figure 1.23.
Il existe evidemment dans ce cas aussi une limitation damplitude fixee par les tensions
dalimentation des elements actifs utilises.
Considerons `
a titre dexemple que X(t) = A sin 0 t.
Pour eviter la surcharge en modulation lineaire, il faut:
A0

Q
T

On a demontre experimentalement que pour un signal de parole, il ny a pas de surcharge


si lamplitude Xmax de ce signal ne depasse pas la valeur de lamplitude A determinee
par linegalite ci-dessus pour un signal sinusodal `
a 800 Hz:
Xmax <

Q
1
T 2800

En modulation , on utilise souvent comme signal de test une sinusode `


a 800 Hz.

1.6.2.2.3

Bruit de granulation Lorsque X(t) = constante, on constate que la


sequence des moments emis est 0,1,0,1,0,1,. . . , si bien que la sequence reconstituee Xq (n)
oscille autour dune valeur constante. Ceci donne naissance `
a un bruit appele bruit de
granulation (granular noise). Ce bruit est entre autres present lorsquil ny a pas de signal
(idle noise).
Le choix du pas de quantification resulte donc dun compromis entre deux exigences
contradictoires:
eviter la surcharge, cest-`
a-dire augmenter Q `
a T fixe;
reduire le bruit de quantification, cest-`
a-dire diminuer Q.


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

avec comme param`etre un indice de sur-echantillonnage :


=

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.

Figure 1.24 Rapport signal-bruit de quantification S/Bq en fonction du pas de


quantification normalise et du facteur de surechantillonnage.
On constate que pour une valeur donne de , S/Bq augmente tout dabord lorsque Q
augmente (diminution de la surcharge) pour ensuite diminuer lorsque Q devient trop
grand et que le bruit de quantification devient prohibitif.
Cette meme etude fournit une valeur experimentale du pas de quantification optimum:
p
E[X(n) X(n 1)]2
Qopt =
ln 2
On constate egalement que S/Bq de plus ou moins 9 dB chaque fois que lon double
(cest-`
a-dire que lon double le debit binaire).
Remarque:
En PCM, laddition dun moment au mot-code augmente le S/Bq de 6 dB; laugmentation
du debit binaire est donc beaucoup plus efficace en PCM quen modulation en ce qui
concerne le rapport signal-bruit de quantification.

46

CHAPITRE 1. CODAGE DE SOURCE

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

Exemple 1 Ladaptation du pas de quantification se fait selon la loi:


Q(n) = M Q(n 1)

avec:

M =P >1
M =Q<1
PQ 1

als c(n) = c(n 1)


als c(n) 6= c(n 1)
pour des raisons de stabilite.

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

Figure 1.25 Comparaison des modulations lineaire, adaptative et la PCM.


signal-bruit de quantification nest obtenu en modulation adaptative quavec un
debit binaire de 60.103 moments par seconde.
La realisation de la modulation adaptative restant relativement simple, elle est parfois
utilisee au lieu de la PCM meme si le rapport signal bruit exige est eleve, `
a la condition
toutefois que le debit binaire (cest-`
a-dire la bande passante du canal) ne soit pas limitatif.

1.6.2.3.3

Exemple 2 Un second type dalgorithme, connu sous le nom de CVSD


(Continuously Variable Slope -modulation) est utilise par exemple dans le poste radio
VHF ECCM BAMS de la composante terrestre.
Lalgorithme dadaptation du pas de quantification est:
Q(n) = Q(n 1) + D2
Q(n) = Q(n 1) + D1

si c(n) = c(n 1) = c(n 2)


autrement

avec 0 < < 1,D2 D1 > 0.


Cet algorithme nexige pas de borner levolution de Q(n) par une valeur maximale ou
minimale du pas de quantification.
Le choix de fixe la vitesse dadaptation: lente si 1 et plus rapide si << 1.
Ce syst`eme a ete developpe pour des situations exigeant une relative insensibilite aux
erreurs dues au bruit dans le canal de transmission. La qualite est toutefois assez mediocre
en labsence derreurs de reconstruction.

1.6.2.4

Pr
edicteurs dordre sup
erieur en modulation

Le predicteur utilise jusquici etait, par raison de simplicite:

X(n)
= Xq (n 1)

48

CHAPITRE 1. CODAGE DE SOURCE

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.

Figure 1.26 Un codeur-decodeur tr`es simple.


Le generateur dimpulsions fournit une sequence dimpulsions damplitude et de polarite
fixe.


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).

Le recepteur doit determiner le signe de limpulsion recue et reconstruire le signal X(t),


approximation en escalier de X(t).

Par filtrage de X(t)


on obtient X(t),
approximation de X(t) qui en diff`ere pour deux
raisons:
Cest une approximation en escalier qui est transmise (et qui est donc soumise `
a
un bruit de quantification);
Le recepteur peut commettre une erreur lors de la determination de la polarite des
impulsions (p00 (t) 6= p0 (t)).

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).

Figure 1.27 Allure du bruit de quantification.


On constate que sil ny a pas de surcharge:
Q < (t) < +Q
et si on admet que est une variable aleatoire sur lintervalle [Q, + Q], la variance de
vaut:
Z +Q
Q2
1
2
d =

=
2
2Q
3
Q

50

CHAPITRE 1. CODAGE DE SOURCE

Si on neglige provisoirement le bruit de reconstruction, on retrouve:


X 0 (t) = X(t) (t)
`
a la sortie de lintegrateur du recepteur et le bruit de quantification `
a la sortie du filtre
passe-bas est en fait la variance de (t) apr`es passage dans le filtre, cest-`
a-dire n2 q .
On peut prouver que (t) est un bruit blanc dans le domaine frequentiel [ T1b = Fb , +
1
= +Fb ], et donc:
Tb
2

Q
= 6F
b
=0

()

2Fb < < +2Fb


ailleurs

Cela fournit bien une variance:

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 =

2Fb < < +2Fb


ailleurs

Q2 F0
Q2 Tb F0
=
3 Fb
3

1.6.2.5.3 Puissance du signal `


a la sortie du d
ecodeur Nous nous placerons
dans le cas le plus defavorable o`
u le signal utile est une sinusode de frequence F0 (cest`
a-dire que nous supposons que la puissance du signal est concentree `
a la plus haute
frequence de la bande de base).
X(t) = A sin 0 (t)
avec: 0 = 2F0 .
La puissance du signal est donc:
A2
2
Nous avons vu que si le signal atteint la limite de surcharge (en pente):
S0 =

A=

Q
T b 0

Il sensuit pour la puissance du signal:


S0 =

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

Rapport signal-bruit de quantification `


a la sortie du d
ecodeur

(S/Rq )0

Q2
2T 2
20
b

Q2 Tb F0
3

3
8 2 (F0 Tb )3
3
80 (F0 Tb )3

Une analyse plus precise fournit:


(S/Rq )0 =

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

Et lon obtient pour la modulation :


(S/Rq )0 =

3
(2F0 m)3 = 0,3m3
80F03

En PCM on avait obtenu:


(S/Rq )0 = 22m

au dessus du seuil

Il sensuit que pour une bande passante donnee:


((S/Rq )0 ) < ((S/Rq )0 )P CM
Exemple: m = 8
Pour m = 8 on a que:
((S/Rq )0 ) = 22 dB
((S/Rq )0 )P CM = 48 dB

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

CHAPITRE 1. CODAGE DE SOURCE

Figure 1.28 Allure des impulsions emises, recues et derreur.

Il sensuit que la densite spectrale de la variance de pe est:


pe =

4Pf
Tb

A la sortie de lintegrateur, cette densite spectrale devient:


s =

4Pf
|HI |2
Tb

o`
u:
HI =

Q
j

est la transmittance de lintegrateur.


Il vient:
s =

4Pf Q2
Tb 2

Pour obtenir la puissance `


a la sortie du filtre passe-bas, il faut integrer s de 2F0 `
a
+2F0 . Cette integrale diverge car s(0) = . Il faut donc supposer que le filtre passe-bas
ne laisse pas passer la composante continue et est en fait un filtre passe-bande [F1 ,F0 ].


1.6. LA PCM DIFFERENTIELLE

53

Nous avons alors lexpression suivante pour la puissance de bruit:


Z 2F1

Z +2F0
1
4Pf Q2
4Pf Q2
R0 = n2 0 =
d
+
d
2 2F0 Tb 2
Tb 2
+2F1


2
2Q Pf
1
1
=

2 Tb
F1
F0

2Q2 Pf
2 F1 T b

car F0 >> F1

On constate que la puissance de bruit consecutive aux erreurs de reconstruction depend


de la frequence de coupure basse du filtre F1 et non de la frequence de coupure haute F0 .

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 )]

Si on utilise une transmission en bande de base ou si on module une porteuse en PSK,


on obtient:
r
1
Es
Pf = erc
2

avec Es lenergie du signal sur un intervalle unitaire, liee `


a la puissance Si du signal recu
par:
Es = Si Tb
La probabilite derreur donnee ci-dessus suppose que la reconstruction de la sequence
binaire se fait `
a laide dun filtre adapte (voir chapitre 7).
Dans ces conditions, il vient:
(S/R)0 () =
1+

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

Dans ces conditions:


(S/R)0 () =
1+

3m3
2
r
Si
12merc 2mF

[(1 Tb )]

La Figure 1.29 represente (S/R)0 (P CM ) et (S/R)0 () dans le cas m = 8 en 1 Tb = 0,04.

54

CHAPITRE 1. CODAGE DE SOURCE

Figure 1.29 Representation de (S/R)0 (P CM ) et (S/R)0 () dans le cas m = 8


en 1 Tb = 0,04.
On a en effet:

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

avec f = 800 Hz (et pas f = 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.

Figure 1.30 Structure modifiee dun modulateur DPCM general.

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

CHAPITRE 1. CODAGE DE SOURCE

Figure 1.31 Structure dun modulateur .

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

CHAPITRE 1. CODAGE DE SOURCE

Figure 1.32 Appareil phonatoire.


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).

Figure 1.33 Les differentes densites de probabilite dun signal de parole.


1.7.2.2.1 Densit
e de probabilit
e`
a long terme La Figure 1.33 represente la
densite de probabilite experimentale (normalisee `
a moyenne nulle et variance unitaire)
relevee sur une duree de 50 s ainsi que diverses lois theoriques.
On constate que la distribution Gamma est la plus proche de la loi experimentale. On
utilise parfois la loi de Laplace dont lexpression est plus simple `
a lusage.
s

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

CHAPITRE 1. CODAGE DE SOURCE

1.7.2.2.2

Valeur moyenne et variance La moyenne sera supposee nulle. La


variance, estimee sur des tranches de 10 ms par exemple, varie tr`es fortement meme au
cours de lemission dun seul mot.
1.7.2.2.3

Fonction dautocorr
elation et densit
e spectrale de puissance

La fonction dautocorrelation calculee sur un nombre fini de N echantillons (cest-`


a-dire
en fait une estimation de cette derni`ere) sexprime par:
X (k) =

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

La densite spectrale de la valeur quadratique moyenne est la transformee de Fourier de


la fonction dautocorrelation:
X
X () =
X (k)ejkTb
k

La Figure 1.34 represente une allure typique dune fonction dautocorrelation `


a long terme
et de sa transformee de Fourier.
On constate que la correlation est grande entre echantillons adjacents et decrot rapidement lorsque k augmente. En ce qui concerne la densite spectrale de la valeur quadratique
moyenne, elle est maximale entre 250 et 500 Hz.

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

Figure 1.34 Allure typique dune fonction dautocorrelation `


a long terme et de
sa transformee de Fourier.

Figure 1.35 Signal vocal voise et sa densite spectrale de la variance.

62

CHAPITRE 1. CODAGE DE SOURCE

Figure 1.36 Mod`ele pour la production de la parole.


o`
u P est la periode correspondant `
a la frequence fondamentale.
En realite, les impulsions glottiques ne sont pas aussi ideales et il conviendrait, pour les
simuler, dajouter un filtre de mise en forme directement en cascade avec le generateur
dimpulsions. La transmittance de ce filtre est ici incluse dans le filtre `
a param`etres
variables representant le conduit phonatoire.
Pour les sons non voises, le generateur dexcitation fournit un bruit blanc.
La transmittance:
G
H=
A(z)
relie le signal de sortie X(z) au signal dexcitation U (z). Elle caracterise un filtre polyn
omial (encore appele tout p
oles) cest-`
a-dire quelle est de la forme:
H = Pp

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.

1.8. LA QUANTIFICATION VECTORIELLE (CODAGE)

63

Il sagit alors dun mod`ele dit autoregressif `


a moyenne variable dont lestimation
est beaucoup plus delicate.
Toutefois, se basant sur lapproximation:
1 az 1 =

1
1 + az 1 + a2 z 2 + . . .

on voit que lon peut substituer `


a un zero en z = a, deux ou trois p
oles. On se
contente donc en general de surestimer (cest-`
a-dire que lon utilise un plus grand
nombre de p
oles que necessaire) lordre dun mod`ele autoregressif au lieu dutiliser
un mod`ele autoregressif `
a moyenne variable.
Les sources dexcitation sont assez elementaires. Ainsi, les fricatives voises (v, z, . . . ) ne
peuvent etre bien simules par ce mod`ele.

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

La quantification vectorielle (codage)


Introduction

La quantification des echantillons presentee dans le cadre de la PCM consistait en une


operation reductrice qui associait un niveau `
a un intervalle de valeurs de la grandeur
echantillonnee.
Loperation de quantification etait relative `
a une grandeur scalaire. Dans la Figure 1.37,
chaque intervalle xi de la grandeur scalaire quantifiee x correspond `
a un element dun
ensemble discret de valeurs yi . En dautres termes, la quantification avait lieu echantillon
par echantillon.
La theorie de linformation nous apprend quil est possible de realiser un meilleur codage de linformation en codant des blocs dechantillons plut
ot que des echantillons
separes. Ceci est dej`
a vrai si la source dechantillons est sans memoire. Si en outre, les
echantillons successifs sont statistiquement dependants (source `
a memoire, echantillons
correles), lavantage dune quantification basee sur un groupe dechantillons apparat encore comme plus evident. Rappelons que lobjectif est en effet toujours de diminuer le
debit de symboles par bit dinformation.
La methode de quantification basee sur ce principe porte le nom de quantification vectorielle. Elle a connu un developpement important dans les domaines de la transmission
et de larchivage des signaux video et de parole (ces signaux etant caracterises par une
redondance forte, ils permettent donc une compression importante).
La quantification vectorielle est un processus dapproximation (irreversible) dun signal
vectoriel damplitude connue par un vecteur damplitude discr`ete. Loptimalisation du
processus (de compression) vise `
a extraire une information maximale en ne creant quun
minimum de distorsions (bruit de quantification) par rapport au signal original.

1.8.2

Formulation de la quantification vectorielle

= [x1 , . . . ,xN ] correspondant `


Soit un vecteur X
a un bloc de N echantillons. Chaque
echantillon xi constitue une variable aleatoire `
a amplitude continue definie sur un do est caracterise
maine Nxi (en principe Nxi est independant de i; Nxi = Nx ). Le vecteur X
par une densite de probabilite mutuelle TX (x1 , . . . ,xN ). Notons NX le sous-ensemble de

64

CHAPITRE 1. CODAGE DE SOURCE

Figure 1.37 Quantification scalaire.

1.8. LA QUANTIFICATION VECTORIELLE (CODAGE)

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

Tout le probl`eme de la quantification vectorielle se ram`ene `


a la determination optimale
des cellules Ci et des representants Yi en vue de minimaliser un crit`ere de distorsion
choisi.
Considerons, `
a titre dexemple, la quantification vectorielle de vecteurs de dimension
= [x1 ,x2 ]. Lespace bidimensionnel est partitionne en cellules representees `
n=2:X
a la
Figure 1.38 (et choisis arbitrairement de forme hexagonale).

Figure 1.38 Exemple de quantification vectorielle.


appartenant `
Tout vecteur X
a la cellule Ci est quantifie en etant remplace par le centre

Yi de lhexagone representant Ci .

66

CHAPITRE 1. CODAGE DE SOURCE

Le principe de la compression est evident. Le codeur recherche dans le dictionnaire Y


ladresse du vecteur Yi correspondant `
a la cellule Ci `
a laquelle appartient le vecteur
`
X
a coder. Cest cette adresse qui est transmise ou stockee (do`
u la compression). Le
decodeur dispose dune replique du dictionnaire Y . A la reception de ladresse transmise,

le decodeur consulte son dictionnaire Y et restitue le vecteur Yi , valeur quantifiee de X


(Figure 1.39).

Figure 1.39 Principe de la quantification vectorielle.


Nous utiliserons indifferemment le vocable adresse ou mot-code pour designer le mot
(generalement binaire) qui represente Yi . En toute generalite, la longueur li de ces motscodes peut varier avec i.
On designe alors par l, la longueur moyenne des mots-codes:
l=

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

(symboles par seconde)

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

(symboles par echantillon scalaire)

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. LA QUANTIFICATION VECTORIELLE (CODAGE)

1.8.3

67

Mesures de la distorsion (du bruit de quantification)

Il faut distinguer les mesures de distorsion objectives et subjectives. Les premi`eres


presentent lavantage dun emploi aise mais, dans certains conditions, elles ne sont pas
toujours en accord avec les mesures subjectives.

1.8.3.1

Les mesures objectives

On definit tout dabord une distorsion moyenne D:


Z



X dX

D = E d(X,Q(
X))
=
d[X,Q(
X)]T
NX

est une mesure de la distance entre X


et Q(X).

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

CHAPITRE 1. CODAGE DE SOURCE

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 subjectives

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

Un dictionnaire, independamment de sa construction et du mode de recherche employe


(ces modes seront presentes ulterieurement), est defini par deux param`etres principaux:
sa taille L, cest-`
a-dire le nombre de vecteurs representants dont il est constitue;
la dimension N des representants, cest-`
a-dire aussi celle des blocs dechantillons
consideres.
La taille du dictionnaire est liee `
a la notion de debit:
R=

log2 L
l
=
N
N

symboles binaire par echantillon

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.

1.8. LA QUANTIFICATION VECTORIELLE (CODAGE)


1.8.4.2

69

Position du probl`
eme

Pour constituer lors de la phase dapprentissage un dictionnaire `


a L elements, il faut
partitionner un espace `
a N dimensions en L cellules Ci ,i = 1, . . . ,L et dans chaque
cellule, choisir un vecteur representant Yi et ce, de facon `
a minimaliser la mesure de
distorsion moyenne D. Il y a deux conditions doptimalisation `
a respecter.
1. La premi`ere dite du plus proche voisin est que le quantificateur choisisse le
representant du dictionnaire qui minimalise lerreur de quantification:
= Yi
Q(X)

si et seulement si

Yi ) d(X,
Yj ),j 6= i,1 j L
d(X,

Cette r`egle permet, `


a partir dun dictionnaire Y , de definir la partition optimale
Ci ,i = 1, . . . ,L. Il sagit dune r`egle necessaire.
En effet, D provient dune sommation (integrale) de contributions positives. Pour
un representant
une loi de quantification qui fait correspondre `
a un vecteur 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

2. La seconde r`egle, dite du centrode, exprime que le representant Yi de la cellule Ci


minimalise une mesure moyenne de distorsion Di , calculee sur cette cellule Ci :


Yi )|X
Ci =
Di = E d(X,

XC
i

Yi )TX|i

d(X,
dX

Le vecteur Yi ainsi defini porte le nom de centrode de la cellule Ci . Si la premi`ere


r`egle doptimalite permettait de definir les cellules Ci optimales pour un dictionnaire donne Y , cette derni`ere fixe la position optimale de Yi pour chaque cellule
Ci determinee. Il sagit `
a nouveau dune r`egle necessaire.
Supposons en effet que, pour une partition donnee, on choisisse des centrodes qui
ne la respectent pas. Cest-`
a-dire que Di Dimin pour certaines valeurs de i.
Il vient alors:
X
D=
pi Di pi Dimin
i

La determination des centrodes depend evidemment de la mesure choisie pour


exprimer lerreur de quantification. Leffet de la densite de probabilite est egalement
evident. On sattend en effet `
a trouver une concentration des centrodes dans les
est elevee.
regions o`
u la probabilite de trouver un vecteur X
Si la densite de probabilite TX (x1 , . . . ,xN ) etait connue, on pourrait imaginer une solution
theorique au probl`eme.
En pratique, ce nest pas le cas et il faut utiliser une phase dapprentissage dej`
a evoquee
pour elaborer le dictionnaire. Le principe doptimalite nous a toutefois permis de deduire
deux r`egles necessaires que nous allons obligatoirement retrouver dans les methodes pratiques de creation dun dictionnaire.
Un des algorithmes le plus connu pour realiser cette apprentissage (et donc pour realiser
le dictionnaire) est lalgorithme de Lloyd generalise, encore appele K-means algorithm.
Cet algorithme est presente ci-apr`es.

70

CHAPITRE 1. CODAGE DE SOURCE

1.8.4.3

Algorithme de Lloyd g
en
eralis
e

k ,k = 1, . . . ,M . LalgoOn dispose de M vecteurs dapprentissage (M >> L), notes X


rithme subdivise iterativement les M vecteurs dapprentissage en L groupes de facon telle
que les deux conditions doptimalite evoquees ci-dessus soient satisfaites.
Notons m lindice diteration: Cim represente donc la cellule Ci `
a letape m et Yim est
son centrode.

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

Choix du dictionnaire initial

Un certain nombre de methodes ont ete proposees.

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.

1.8. LA QUANTIFICATION VECTORIELLE (CODAGE)

71

1.8.4.4.3

Extension dun dictionnaire de taille inf


erieure On part dun
dictionnaire de taille reduite et on etend ce dictionnaire par ajout de nouveaux centrodes.
La version la plus connue de ce principe est celle de la dichotomie vectorielle (splitting).
Le procede utilise en fait une combinaison du principe dextension dun alphabet de taille
inferieure et de lalgorithme de Lloyd generalise.

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

CHAPITRE 1. CODAGE DE SOURCE

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

On remarquera que la contrepartie `


a la diminution drastique de la charge de calcul est
que lalgorithme de recherche arborescente ne fournit pas le representant le plus proche
du vecteur `
a coder mais bien un representant en moyenne proche.

1.8. LA QUANTIFICATION VECTORIELLE (CODAGE)

Figure 1.40 Exemple de dictionnaire (L = 8) et darborescence associee.

73

74

CHAPITRE 1. CODAGE DE SOURCE

Larbre utilise nest pas forcement `


a division binaire; cest-`
a-dire quune branche peut
donner naissance `
a plus de 2 sous-branches. Dans ce cas, la profondeur de larborescence
est differente du nombre l de symboles binaires des mots-codes.
Ceci conduit `
a une solution de compromis entre larborescence binaire (charge de calcul
minimale mais volume de stockage maximum) et le dictionnaire `
a recherche exhaustive
(charge de calcul maximale mais volume de stockage minimum).

1.8.4.5.3 Quantification vectorielle par dictionnaires en cascade Le dictionnaire `


a recherche arborescente se solde par une diminution importante de la charge de
calcul au prix dune leg`ere degradation des performances et dun doublement du volume
de stockage (par rapport au dictionnaire `
a recherche exhaustive).
La quantification vectorielle en cascade suppose lexistence de K dictionnaires (Figure 1.41).

Figure 1.41 Quantification vectorielle par dictionnaires en cascade.


Une premi`ere quantification est effectuee sur le vecteur dentree `
a laide dun premier
dictionnaire. Un second dictionnaire assure ensuite la quantification du signal derreur
resultant de la premi`ere quantification etc. . .
Le mot-code transmis est constitue de la succession des mots-codes correspondant `
a
chaque quantification partielle (l = l1 + l2 + . . .).
Calculons la charge de calcul CCcasc et le volume de stockage V Scasc en supposant quil y
a K dictionnaires en cascade et que dans chaque dictionnaire, on effectue une recherche
exhaustive. Nous supposerons `
a nouveau quun calcul de distance exige N additionsmultiplications:
CCcasc = V Scasc = N (L1 + L2 + . . . + LK )
avec Li = 2li ,i = 1,2, . . . ,K.

1.8. LA QUANTIFICATION VECTORIELLE (CODAGE)

75

Il y aura un gain par rapport au cas du dictionnaire unique `


a recherche exhaustive
puisque:
K
X
2li < 2l
met
l = l1 + l2 + . . . + lK
i=1

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

La quantification vectorielle par sous-vecteurs (QV produit)

Dans ce type de quantification vectorielle, le vecteur `


a quantifier ( dimension N ) est
decompose en P sous-vecteurs. Chaque sous-vecteur est quantifie separement par un
dictionnaire (de dimension Lp ,p = 1,2, . . . ,P ) qui lui est propre `
a laide dun mot-code
de longueur lp ,p = 1,2, . . . ,P (Figure 1.43).

76

CHAPITRE 1. CODAGE DE SOURCE

Figure 1.42 Recherche arborescente.

1.8. LA QUANTIFICATION VECTORIELLE (CODAGE)

77

Figure 1.43 Quantification vectorielle par sous-vecteurs.


La charge de calcul CCSV et le volume de stockage V SSV se calculent comme suit (N
additions-multiplications par calcul de distance):
CCSV = V SSV =

N
(L1 + . . . + LP )
P

avec Lp = 2lp ,p = 1,2, . . . ,P .


Lavantage de ce procede est sa souplesse dans le choix de la dimension Lp de chaque
dictionnaire!
On peut en effet imaginer que si le vecteur `
a coder est constitue de composantes de
natures differentes (par exemple les differents param`etres qui sont envoyes dans le cas
dun vocodeur), on puisse attribuer un dictionnaire comportant plus ou moins delements
`
a certains sous-groupes de composantes en fonction de la finesse avec laquelle on veut les
representer (effet perceptuel de lerreur de quantification).

1.8.4.6

Quantification vectorielle diff


erentielle

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

CHAPITRE 1. CODAGE DE SOURCE

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).

Figure 1.44 Quantification vectorielle differentielle.


Linteret de ce codage differentiel se base sur lhypoth`ese que les variations du vecteur
difference sont relativement faibles suite `
a la correlation entre les vecteurs successifs. Ce
vecteur difference peut donc etre represente `
a laide dun dictionnaire plus simple.
Ce principe a ete utilise pour le codage des param`etres dun vocodeur, chaque vecteur
i etant constitue par ces param`etres.
X
On constate toutefois que cette methode de codage differentiel conduit, dans cette application, `
a un effet de tremolo de la voix assez desagreable. Cet effet est cause par la
difference de qualite du codage des deux vecteurs successifs.
Une facon de remedier `
a ceci est de realiser un codage moyenne-difference tel que repris
`
a la Figure 1.45.

Figure 1.45 Exemple dun codage moyenne-difference.


i + X
i+1 )/2 est codee
Dans ce type de codage, la moyenne des deux vecteurs successifs (X

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.

1.8. LA QUANTIFICATION VECTORIELLE (CODAGE)

79

Figure 1.46 Exemple dun codage moyenne-difference dans le cas dun vocodeur.
h
Seul le vecteur

di,l
di+1,l

subit la quantification vectorielle QV3. Pour les composantes des

sous-vecteurs Xi,h et Xi+1,h , on utilise les composantes correspondantes du representant


h
de la moyenne Yi,i+1 , soit Yi,i+1
.
Sur la partie decodage de la Figure 1.46, on note i,l et i+1,l les representants de di,l et
di+1,l respectivement.

1.8.5

Quantification vectorielle adaptative

1.8.5.1

Introduction

Dans le cas de la quantification scalaire, nous avons etudie le probl`eme de ladaptation du


pas de quantification `
a la valeur quadratique moyenne du signal calculee sur un intervalle
de temps determine. Deux solutions ont ete proposees pour tenir compte de la nonstationnarite du signal. La premi`ere consistait `
a amplifier le signal avant quantification en
utilisant un gain inversement proportionnel `
a la valeur quadratique moyenne calculee afin
dobtenir un signal de puissance constante qui puisse etre quantifie par un quantificateur
non adaptatif.
La seconde approche consiste `
a adapter reguli`erement le pas de quantification pour tenir
compte de levolution de la valeur quadratique moyenne du signal `
a quantifier.
Ces memes approches peuvent etre utilisees dans le cadre de la quantification vectorielle.

1.8.5.2

Quantification par dictionnaire `


a gain variable (gain-shape codebook)

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

CHAPITRE 1. CODAGE DE SOURCE

successifs (qui sont en fait ses composantes):


v

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

recherche du representant dun vecteur X


X
), on recherche le vecteur Yi
du dictionnaire qui minimalise:
di =

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,

deurs (Yi ,i |Yi Y,i <) telles que:


di =

N
X

(xj i yij )2

1iL

j=1

Afin de trouver i en fonction de Yi , on calcule la valeur de di . Il vient:


PN
j=1 (xj yij )
i = PN 2
i=1 yij
En substituant dans lexpression de di , on obtient:
2
P
N
N
xj yij
X
j=1
di =
x2j
PN 2
i=1 yij
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

` LA COMPRESSION DIMAGES ET DE VIDEO

1.9. INTRODUCTION A
81

Figure 1.47 Exemple de quantification vectorielle adaptative aval.


vecteurs quantifies. Rappelons que le premier cas necessite la transmission simultanee de
linformation necessaire `
a la mise `
a jour du dictionnaire du decodeur.
Un exemple de codeur adaptatif aval est repris `
a la Figure 1.47.
Ce codeur utilise une quantification vectorielle en cascade, le premier dictionnaire etant
Yi , est fixe.
adaptatif tandis que le second, utilise pour le vecteur difference di = X
La comparaison des vecteurs Yi + i et Yi est `
a la base de lalgorithme dadaptation du
dictionnaire (i est la version quantifiee de di ). Seuls les mots-codes de Yi et i sont
transmis.

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

Commencons par un rappel de quelques principes generaux lies `


a la compression de
donnees.

1.9.1.1

Avec ou sans perte?

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

CHAPITRE 1. CODAGE DE SOURCE

et ceux avec pertes (lossy).


Dans un schema de compression sans perte, les donnees obtenues apr`es decompression,
sont rigoureusement identiques aux donnees originales. Cette condition est necessaire
dans de nombreuses applications telles que, par exemple, la compression de tableaux de
donnees, de fichiers textes, de code informatique, etc.
Dans dautres applications, les donnees que lon desire comprimer, peuvent etre entachees
de certaines erreurs de mesure. Il en est ainsi, par exemple, du bruit inherent au capteur
CCD dune camera digitale, dans le cadre des images numeriques que nous traiterons
par la suite. Dans de tels cas, et si la compression ne modifie les donnees originales que
de facon negligeable par rapport au bruit dej`
a present `
a la source, lutilisateur ne pourra
deceler aucune difference apr`es decompression. Tel est le principe sur lequel se basent
les techniques de compression dites avec pertes, techniques qui permettent dobtenir de
taux de compression de loin plus eleves que ceux relatifs au codage sans perte. Notons
que plus le facteur de compression est grand, plus le bruit ajoute aux donnees originales
sera eleve et donc susceptible de devenir perceptible.

1.9.1.2

Compression dans le domaine transform


e

Une premi`ere facon de comprimer des donnees revient `


a agir directement sur les donnees
originales. Ainsi, en prenant lexemple de signaux sonores echantillonnes sur 16 bits, on
peut gagner 25% de la bande passante en ne transmettant que les 12 bits les plus significatifs de chaque echantillon (codage avec pertes). Une alternative plus efficace, consiste
a
` passer par un domaine transforme avant deffectuer la compression proprement dite.
En reprenant lexemple ci-dessus, nous pourrions alors faire le detour par la transformee
de Fourier du signal (spectre) et choisir de ne quantifier que les coefficients relatifs `
a la
moitie superieure du spectre, en les codant sur 8 bits au lieu des 16 initiaux. Nous obtenons alors le meme facteur de compression que celui atteint precedemment, `
a savoir 25%,
`
a cette difference pr`es que cette fois, les pertes naffecteront que les hautes frequences, l`
a
o`
u le contenu du signal original est moins critique et loreille moins sensible. Lalgorithme
JPEG de compression dimages decrit au paragraphe suivant, fait lui aussi appel `
a une
compression dans un domaine transforme base sur une decomposition du spectre.

1.9.2

Compression
JPEG

1.9.2.1

Pr
eambule

dimages

num
eriques:

lalgorithme

Une image numerique monochrome peut etre vue comme un tableau `


a deux dimensions,
dont le contenu represente la valeur de lintensite de limage en chacun de ses points.
En couleur, trois tableaux sont necessaires pour definir les coefficients des trois couleurs
primaires que sont le rouge, le vert et le bleu, et qui par combinaison, engendrent
lensemble des couleurs du spectre.
Typiquement, les trois composantes de couleurs sont codees sur 8 bits chacune, et pour
une image contenant 1200*1800 elements (soit la resolution dune photo au format
10*15cm), il en resulte une taille de 6,5 MBytes. Apr`es codage JPEG, cette taille pourra
etre aisement reduite par un facteur 10.

` LA COMPRESSION DIMAGES ET DE VIDEO

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

Lalgorithme JPEG (Joint Photographic Expert Group, du nom du comite `


a lorigine
de ce standard) resulte de la mise en serie dun codeur DCT et de trois modules de
compression, comme illustre `
a la Figure 1.48 et detaille dans les sections qui suivent. Cet
agencement, tr`es efficace, permet dobtenir des taux de compression eleves avant que ne
deviennent perceptibles les degradations encourues.

Raw image

DCT

Quantize

Run-length

Huffman

image.jpg

Figure 1.48 Mise en cascade des differentes methodes de compression au sein de


lalgorithme JPEG

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

CHAPITRE 1. CODAGE DE SOURCE

tandis que le tout dernier (en bas `


a droite) est representatif de ses plus hautes frequences
tant verticales quhorizontales. Pour rappel, tout bloc 8*8 peut etre reconstruit `
a partir
dune combinaison de ces 64 motifs de base. Les coefficients de la decomposition etant
obtenus par les equations precedemment mentionnees.

Figure 1.49 Les 64 motifs DCT de base dans le cas de blocs 8*8

1.9.2.4

Quantification des coefficients DCT

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

Table 1.2 Valeurs de luminance au sein dun bloc 8*8

` LA COMPRESSION DIMAGES ET DE VIDEO

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

Table 1.3 Valeurs de luminances centrees autour de 0


En appliquant les equations de decomposition vue precedemment, ce bloc 8x8 est ensuite
transforme en ses composantes DCT:

-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

Table 1.4 Coefficients DCT


Vient `
a present letape de compression proprement dite. Celle-ci consiste `
a quantifier
lensemble de ces coefficients plus ou moins fort, voire en mettre certains `
a zero, et ce
selon une table de quantification qui tient compte du compromis compression/qualite
desire par lutilisateur. Une telle table de quantification est reprise ci-dessous.

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

Table 1.5 Table de quantification


Cette table de quantification etant stockee dans len-tete du fichier .jpg, elle peut etre
librement choisie par lencodeur. On comprend alors pourquoi certains encodeurs JPEG
peuvent deboucher sur des images offrant une meilleure qualite perceptive, et ce `
a taux
de compression egal.

86

CHAPITRE 1. CODAGE DE SOURCE

Apr`es quantification, le tableau des coefficients DCT se simplifie de facon impressionnante


(chaque element de ce nouveau tableau est un entier qui, multipliant le quantificateur
correspondant, approche au mieux la valeur initiale du coefficient). Celui-ci est repris au
Table 1.6.

-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

Table 1.6 Coefficients DCT apr`es quantification


Outre la quantification brutale de certains coefficients, on remarquera que tous les coefficients hautes-frequences ont disparu. Il est en effet rare que dans une image naturelle, on
puisse trouver des frequences telles que celle, par exemple, associee au dernier coefficient
DCT (voir damier en bas `
a droite de la Figure 1.49). Et si les coefficients associees `
a de
telles frequences ne sont pas nuls, il est vraisemblable quils aient ete engendres par du
bruit additif. Ceci explique pourquoi il est naturel de supprimer de tels coefficients en
priorite.
Notons toutefois que si de telles hautes frequences etaient belles et bien presentes dans la
sc`ene photographiee (p.ex. une personne portant une chemise `
a fins carreaux), les coefficients DCT auraient alors probablement ete suffisamment eleves pour ne pas etre quantifies `
a zero. La compression JPEG ne supprime donc pas forcement les hautes frequences,
mais elle quantifie leur dynamique, et ce de facon extreme parfois.

1.9.2.5

Run-length Encoding

La seconde etape de compression consiste `


a transformer le tableau bidimensionnel 8*8
des coefficients DCT quantifies, en un vecteur. En commencant par les coefficients basses
frequences et en terminant avec les frequences les plus hautes, on esp`ere grouper le plus
de coefficients nuls possibles. Ce rearrangement est illustre `
a la Figure 1.50, et dans le
cas de lexemple precedent, debouche sur la serie suivante: -27 -5 2 1 0 2 2 0 0 1 0
1 -1 0 0 4 0 0 0 0 0 0 0 0 ...
Cette serie est ensuite compactee en utilisant le code run-length suivant: -27 0 -5 0
2 0 1 1 2 0 2 2 1 1 1 0 -1 2 4 0 0, qui se decode de la facon suivante: -27 est le
coefficient DC, suivi daucun zero, puis -5, puis aucun zero, 2 suivi daucun zero, 1
suivi daucun zero, 2 suivi de deux zeros, 1 suivi dun zero, et ainsi de suite. Deux
zeros consecutifs mettent fin `
a la transmission du bloc et signifient que lensemble des
coefficients restants sont nuls. Ainsi, dans notre exemple, les 64 coefficients DCT de
depart, se reduisent `
a 21 entiers.

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.

` LA COMPRESSION DIMAGES ET DE VIDEO

1.9. INTRODUCTION A
87

-27 -5

0 -1

Figure 1.50 Rearrangement des coefficients DCT


1.9.2.7

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

Ondelettes et codage sous-bande

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

Le concept fondamental lie au codage sous-bande, consiste `


a diviser le spectre du signal
en differentes bandes, puis de coder chaque bande dune facon qui lui est propre et donc
adaptee `
a ses statistiques propres. Un exemple dune telle decomposition est presente `
a la
Figure 1.52. A N echantillons dentree, correspond un nombre equivalent dechantillons
en sortie. Ces derniers sont repartis en flux distincts, sous-echantillonnes et representatifs
dune bande de frequence particuli`ere.
En choisissant convenablement les filtres de decomposition H et L ainsi que les facteurs
de sous-echantillonnage utilises, le signal original peut etre reconstruit `
a partir de lensemble de ses composantes. Pour ce faire, au recepteur, les signaux sous-bande sont tout
dabord decodes, sur-echantillonnes, puis filtres au travers de filtres de reconstruction
pour finalement etre sommes et aboutir au signal original.

88

CHAPITRE 1. CODAGE DE SOURCE

Original - 8bit/pixel

JPEG - 2bit/pixel

JPEG - 1bit/pixel

Dtail - 1bit/pixel

Figure 1.51 Resultats de differents facteurs de compression JPEG


1.9.3.2

Transform
ee en ondelettes

Mathematiquement, la transformee en ondelettes (s, ) dune fonction f (t) se definit


comme suit:
Z
(s, ) = f (t)s, (t)dt
(1.1)
Cette equation nous montre comment une fonction f (t) se decompose en un ensemble de
fonctions s, appelees ondelettes. Les variables s et representent les deux dimensions
du domaine transforme, et sont communement referencees comme respectivement facteur
dechelle (scale) et translation. La relation inverse permet de reconstruire une fonction `
a
partir dun ensemble dondelettes:
Z Z
f (t) =
(s, )s, (t)d ds
(1.2)
Les ondelettes ont la particularite detre construites `
a partir dune unique ondelette
appelee generatrice, et ce uniquement en lui faisant subir des changements dechelle et
de translation:
1
t
)
s, (t) = (
s
s

(1.3)

` LA COMPRESSION DIMAGES ET DE VIDEO

1.9. INTRODUCTION A
89

CODER_hh

CODER_hl

CODER_lh

CODER_ll

x(n)

Figure 1.52 Exemple de codage sous-bande


Notez qu`
a linstar de la transformee de Fourier ou que dautres transformations, les
fonctions de base ne sont pas specifiees. Les ondelettes representent ainsi une famille de
fonctions, famille quil reste `
a particulariser selon lapplication envisagee.
Comme decrit plus haut, la transformee en ondelettes debouche sur un espace `
a deux
dimensions. Integrant les aspects temporel (translation) et frequentiel (echelle), cette
transformee permet de calculer non seulement le contenu frequentiel dun signal, mais
egalement de localiser ces frequences dans le temps. Pour rappel, la transformee de
Fourier F () fournit une information exclusivement spectrale et est de ce fait incapable
par exemple, de faire la difference entre un evenement infiniment periodique ou limite
dans le temps.
Toutes les ondelettes ne sont cependant pas capables de decomposer un signal sans
perdre dinformation. Et si lon veut beneficier dune reconstruction parfaite, la fonction generatrice doit satisfaire la condition suivante:
Z

|()|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)

j et k sont entiers et s0 represente un facteur de dilatation fixe superieur `


a 1. Habituellement, s0 = 2 ce qui debouche sur une repartition dyadique des facteurs dechelles.
Malgre la discretisation des param`etres s et , leur nombre est toujours illimite. Dans le
cas discret de signaux echantillonnes, on peut neanmoins se restreindre `
a un nombre fini

90

CHAPITRE 1. CODAGE DE SOURCE

de ses param`etres et beneficier, sous certaines conditions, dune reconstruction parfaite.

1.9.3.3

Lien entre le codage sous-bande et la transform


ee en ondelettes

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

Figure 1.54 Banc de filtre equivalent

` LA COMPRESSION DIMAGES ET DE VIDEO

1.9. INTRODUCTION A
91
1.9.3.4

Compression sous-bande

Appliquee au codage dimages, la decomposition sous-bande seffectue tel quillustre `


a
la Figure 1.55. Les decompositions hautes- et basses-frequences se calculent `
a present
dans les deux directions horizontale et verticale. Limage originale est alors divisee en
quatre quartiers: le premier quartier est representatif des basses-frequences tant horizontales que verticales, le dernier quartier represente les hautes frequences dans ces deux
meme directions, les deuxi`eme et troisi`eme quartiers nous fournissent alors les combinaisons hybrides, `
a savoir basses-frequences selon une orientation, hautes dans lautre. La
decomposition se poursuit alors dans les basses-frequences, et le premier quartier est `
a
son tour subdivise de la meme facon.
La compression proprement dite seffectue de facon similaire `
a JPEG, les differences
principales etant lutilisation de la DWT au lieu de la DCT, et labsence de blocs.

Original

Subband Coding

Figure 1.55 Exemple de codage sous-bande

1.9.4

Codage vid
eo MPEG

La norme de codage MPEG (Motion Picture Expert Group) est `


a la video, ce que la
norme JPEG est `
a limage fixe. La video netant en fait quune succession dimages fixes,
la compression video aurait tr`es bien pu seffectuer par lintermediaire de compressions
JPEG effectuees sur chacune des images prises individuellement. Cest lidee sous-jacente
au M-JPEG (Motion-JPEG), une norme simple `
a mettre en oeuvre, mais de loin sousoptimale comparee `
a la norme MPEG decrite ci-dessous.

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

CHAPITRE 1. CODAGE DE SOURCE

dizaines de canaux TV simultanement. Depuis, bien du chemin `


a ete parcouru, et aujourdhui, la compression de donnees permet de transmettre plusieurs canaux digitaux au
sein de la meme bande passante que cette requise pour transmettre un canal analogique
unique (soit 5.5 MHz).

1.9.4.2

Redondance et pr
ediction

A linstar de la norme M-JPEG, MPEG exploite la redondance contenue dans le signal


video. Une fois cette redondance identifiee, elle pourra etre mise `
a profit pour predire
le signal futur. D`es lors, seule une erreur de prediction sera transmise. Pour autant que
la prediction soit bonne, lerreur de prediction sera faible et - combinee `
a un encodage
entropique - hautement compressible.

1.9.4.3

Codage diff
erentiel

La redondance inherente au signal video et son exploitation `


a des fins de codage, se
comprend aisement dans le cas dune sc`ene sans mouvement apparent. Dans ce cas, une
meme image est repetee 25 fois par seconde. Le schema de codage optimal revient `
a
effectuer un codage differentiel dans lequel un pixel est predit par sa valeur au sein de
limage precedente.
Dans le cas ou limage actuelle diff`ere de la precedente, en presence dun leger mouvement
par exemple, une erreur de prediction sera alors commise. Cette erreur qui contient
linformation pertinente (non-redondante), est transmise au decodeur par lintermediaire
dun code entropique.
Ce codage est appele differentiel car il revient `
a soustraire deux images consecutives et `
a
ne transmettre que leur difference. Au recepteur, limage courante est obtenue par sommation de limage difference (lerreur de prediction) avec limage precedemment affichee
(le predicteur).

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

` LA COMPRESSION DIMAGES ET DE VIDEO

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

Danger potentiel dune reconstruction imparfaite

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

Figure 1.56 Schema bloc dun codeur-decodeur MPEG

1.9.4.6

Images I, P et B

Les choses se compliquent lorsque linformation contenue dans limage `


a encoder, ne se
trouve pas dans limage precedente. Tel est le cas lors dun changement de sc`ene, lorsque
lon decouvre un nouvel objet en provenance des bords de limage, ou lorsque celui-ci
etait precedemment occulte par un autre objet present dans limage.
Dans le cas dun changement de sc`ene, tout comme au debut de la sequence video
dailleurs, il nest pas possible de mettre en oeuvre un codage differentiel compense en
mouvement. Le codeur na pas dautre choix que de transmettre la totalite de limage et
ce sous un mode semblable au codage JPEG. De telles images sont referencees sous le

94

CHAPITRE 1. CODAGE DE SOURCE

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

Figure 1.57 Agencement des trames I, P et B: exemple


Avant de pouvoir decoder les trames B intermediaires, le recepteur doit ainsi attendre que
soient transmises les deux images I ou P utilisees lors de la prediction bi-directionnelle.
Aussi, afin de limiter la memoire au recepteur, ces trames I et P sont reordonnees de telle
facon `
a ce quelles se suivent dans la sequence binaire. Ainsi
I1 B2 B3 P4 B5 B6 P7 B8 B9 P10 B11 B12 I13
se transmet en fait dans lordre suivant:
I1 P4 B2 B3 P7 B5 B6 P10 B8 B9 I13 B11 B12 .

` LA COMPRESSION DIMAGES ET DE VIDEO

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

Figure 2.1 Chiffrement.

Figure 2.2 Confidentialite des donnees.

ERALIT

2.1. GEN
ES

99

Figure 2.3 Authenticite.

Figure 2.4 Integrite des donnees.

100

CHAPITRE 2. CRYPTOGRAPHIE

de communication commandes par ordinateur a entrane un besoin etendu de protection


des donnees par voie cryptographique.
Le message `
a chiffrer est emis par une source qui utilise un alphabet A (par exemple
Zq , classiquement Z2 ). A laide de cet alphabet, la source emet un message en clair
(plaintext).
On note Zqn lensemble de tous les n-uples delements de A et Zq lunion des Zqn pour
n 0.
La transformation cryptographique ou chiffrement (notee E, Encryption ou Enciphering)
consiste `
a transformer par une correspondance bi-univoque un n-uple delements de Zq
(note m) en un p-uple (note c) delements de Zq0 . La plupart du temps p = n et q = q 0 .
Le texte obtenu est le texte chiffre. Cette transformation est effectuee par un algorithme
dependant dun certain nombre de param`etres. Ces param`etres forment une cle notee k.
Lensemble des cles constitue lespace des cles K. on ecrit:
c = Ek (m)
o`
u Ek est la transformation cryptographique caracterisee par la cle k.
Un syst`eme cryptographique E est lensemble des transformations Ek :
E = {Ek |k K}
Chaque transformation Ek etant bi-univoque, elle `
a une transformation inverse notee Dk
(D provenant de Decryption, Deciphering).
On a donc:
m en k K : Dk [Ek (m)] = m
Loperation de dechiffrement suppose evidemment la connaissance de la clef k utilisee
lors du chiffrement, soit quelle a ete transmise par une voie dont la securite est suffisante
soit quelle resulte dune convention.
Un tel syst`eme cryptographique est dit `
a cle secr`ete ou encore syst`eme cryptographique
`
a cle unique ou symetrique, la meme cle etant utilisee `
a lemission et `
a la reception.
Ceci pose le probl`eme de la distribution des cles. Un syst`eme cryptographique peut etre
utilise durant une periode longue. Cest le changement frequent de la cle qui lui conf`ere
son degre de securite (outre la resistance intrins`eque du syst`eme `
a la cryptanalyse).
Afin de contourner le probl`eme de distribution des cles on a introduit des syst`emes cryptographiques dits `
a cle publique dont nous parlerons egalement dans ce chapitre. Nous
presenterons en effet un syst`eme cryptographique nomme RSA, ce qui nous permettra
egalement daborder le probl`eme de la signature ou de lauthentification.
Reprenant ce qui a dej`
a ete dit ci-dessus, le cryptanalyste qui est connecte sur la voie de
transmission (Figure 2.5) peut avoir deux attitudes:
Passive (eavesdropping): il essaie de trouver m (ou mieux encore k) `
a partir de c
(et de toute autre connaissance quil puisse avoir).
Active (tampering): il essaie de manipuler les donnees transmises (par exemple en
transmettant son propre texte chiffre, un vieux texte chiffre, . . . ).
On distingue classiquement 3 types dattaques de la part du cryptanalyste. Cette distinction repose sur linformation dont il dispose:
1. Texte chiffre seul (ciphertext only attack);
2. Texte chiffre quelconque et texte en clair correspondant (known-plaintext attack);
3. Texte chiffre et texte en clair correspondant, ce dernier ayant ete choisi par le
cryptanalyste (chosen-plaintext attack).
On admet actuellement que tout syst`eme cryptographique doit au minimum resister au
deuxi`eme type dattaque.
Remarque

` CLE
SECRETE
`
2.2. LES SYSTEMES
(SYMETRIQUES)
A

101

Figure 2.5 Syst`eme cryptographique.


Il faut distinguer les deux termes dechiffrer
qui consiste `
a retrouver le message en clair
lalgorithme de dechiffrement etant connus.
sans disposer de la cle de chiffrement et/ou
est secret

2.2
2.2.1

et decrypter. Le premier decrit loperation


m `
a partir du message chiffre, la cle k et
Le second decrit la meme operation mais
de lalgorithme de dechiffrement si celui-ci

Les syst`
emes (sym
etriques) `
a cl
e secr`
ete
Un peu dhistoire

Afin dillustrer le principe des syst`emes cryptographiques `


a cle secr`ete, nous presentons
quelques syst`emes simples.

2.2.1.1

Syst`
eme de Julius Caesar

Il sagit dun syst`eme o`


u chaque lettre est remplacee par la lettre se trouvant k positions
(la cle) plus loin dans lalphabet. On imagine lalphabet comme etant cyclique (la lettre
a suit la lettre z).
Selon notre terminologie, si on assimile chaque lettre `
a sa position dans lalphabet
(numerotee `
a partir de 0):
Lespace des cles K = Z26 = {0,1, . . . ,25};
Ek (i) = (i + k) mod 26, 0 i 25;
E = {Ek |0 i < 25}.

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)

Cest un syst`eme Vigen`ere avec une cle egale `


a la longueur du texte en clair. La cle doit
etre choisie de facon compl`etement aleatoire et ne peut etre utilisee quune seule fois. Ce
syst`eme presente la securite inconditionnelle (ou parfaite) cest-`
a-dire que linformation
fournie par le texte chiffre sur le texte en clair est nulle.
Linconvenient de ce type de syst`eme cryptographique est evidemment la longueur de la
cle. Il nest donc utilise que dans des cas exceptionnels (par exemple en son temps la
ligne rouge entre Washington et Moscou.

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

Cette suite periodique peut donc secrire:


s0 ,s1 , . . . ,sp1 ,s0 ,s1 , . . . ,sp1 ,s0 ,s1 , . . .
Nous appellerons bloc de 1 (0) de longueur k un ensemble delements consecutifs de la
suite constitue de k 1 (0) consecutifs, cet ensemble etant precede et suivi dun 0 (1).
Lexpression bloc de longueur k designe indifferemment un bloc de 1 ou de 0.
La fonction dautocorrelation (k) de la suite {si }i0 , periodique de periode p, est definie
par:
AD
(k) =
p
o`
u A(D) est le nombre de concordances (discordances) entre les elements dune periode
de {si }i0 et ceux de {si+k }i0 qui est la meme suite decalee de k positions vers la droite:
A = |{0 i < p|si = si+k }|
D = |{0 i < p|si 6= si+k }|
o`
u le symbole |E| designe la cardinalite de lensemble E.
On a evidemment:
1 (k) +1
Les caracteristiques de stochasticite dune suite periodique pseudoaleatoire sont, selon
Golomb:
G1: les nombres de 0 et de 1 de la suite sont aussi egaux que possible, `
a savoir p/2 si p
est pair et (p 1)/2 si p est impair;
G2: parmi tous les blocs, la moitie est de longueur 1, un quart est de longueur 2, etc. . . .
De mani`ere generale 1/(2i) des blocs sont de longueur i = 1,2,3, . . .. De plus, la
moitie des blocs dune longueur i est constituee de 1, lautre moitie etant constituee
de 0;

104

CHAPITRE 2. CRYPTOGRAPHIE

G3: la fonction dautocorrelation a une valeur constante k si k nest pas multiple de p


(0 etant multiple de p).
Th
eor`
eme
Si les conditions G1 et G2 sont satisfaites, la valeur de la fonction dautocorrelation (k)
vaut (k non multiple de p):
(k) = 1/(p 1)
(k) = 1/p

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

Figure 2.7 Registre `


a decalage avec reaction.

Figure 2.8 Registre `


a decalage `
a reaction lineaire.
alors on parle de registre `
a decalage `
a reaction lineaire. Cette somme modulo 2 peut etre
realisee par des portes OU Exclusif (XOR) en cascade, la connexion vers la cellule i ayant
lieu si Ci = 1 (Figure 2.8). Ces coefficients ci sont appeles coefficients de retroaction.
La suite {si }i0 est compl`etement determinee par letat initial du registre (s0 ,s1 , . . . ,sm1 )
et par les relations de recurrence suivantes
sk+m =

m1
X

ci sk+i ,

k0

i=0

que lon peut encore ecrire, si on pose cm = 1 :


m
X

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

Figure 2.9 Exemple dun registre `


a decalage `
a 4 cellules.

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

Contenu cellules 1,2 et 3


000
001
010
100
001
011
110
101
010
101
011
111
111
110
100
000

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

Lespace vectoriel (h)

Soit lensemble de toutes les suites dont les elements appartiennent `


a CG(2).
Designons par (h) lensemble de toutes les suites qui satisfont `
a la relation de recurrence:
m
X

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

Condition pour quun registre `


a d
ecalage `
a r
eaction lin
eaire
constitue un g
en
erateur pseudoal
eatoire

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

2.2.3.7.1 Introduction Nous avons defini une sequence pseudoaleatoire et nous


avons montre comment il est possible de lengendrer `
a laide dun registre `
a decalage `
a
reaction lineaire. Il reste `
a montrer quune telle sequence satisfait aux crit`eres de stochasticite enonces par Golomb.
2.2.3.7.2 Crit`
ere G1 Par periode, le registre `a decalage de longueur m occupe 1
fois chaque etat non nul quil est possible de former avec un mot de m symboles binaires.
Le i-`eme symbole de la sequence est le symbole de gauche du i-`eme etat. Parmi tous les
2m mots de m symboles, la moitie dentre-eux a le bit de gauche egal `
a 0 (toutefois, le

` 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

Le nombre de 0 sur une periode de la sequence, soit (N0 ), vaut lui:


N0 =

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

Data Encryption Standard (DES)

2.2.4.1

Historique

En 1974, le bureau de normalisation US (NBS) demanda `


a lindustrie de developper un
syst`eme cryptographique qui pourrait devenir le syst`eme normalise pour les applications
non classifiees du gouvernement US. IBM developpa un syst`eme appele Lucifer qui, apr`es
modification et simplification donna naissance en 1977 au syst`eme DES (Data Encryption
Standard).
Cet algorithme a ete adopte et rendu publique bien que les principes theoriques utilises
par IBM dans cet algorithme aient ete classifies par le NSA (National Security Agency)
(surtout en ce qui concerne la transformation en S qui sera definie plus loin).
Cet algorithme a ete conteste d`es le debut (par exemple pour la longueur de sa clef
limitee `
a 56 symboles binaires) et de nombreuses tentatives ont ete entreprises (du moins
au niveau theorique) pour le craquer. A ce jour il semble que cest fait.
Vu la generalisation de son utilisation, lalgorithme DES a ete implante sur un circuit
integre, le meme module pouvant servir au chiffrement et au dechiffrement.

2.2.4.2

Principe de diffusion et de confusion

Dans un article de 1949 consacre `


a la cryptographie, Shannon suggerera deux principes
generaux (quil appela diffusion et confusion), qui pourraient servir de guide lors du
developpement dun syst`eme cryptographique.
Par diffusion, il entend la repartition, la diffusion de linfluence dun chiffre du texte
clair sur un grand nombre de chiffres du texte chiffre, ceci afin de masquer la structure
statistique du texte en clair. Une extension de cette idee est de repartir egalement leffet
dun chiffre de la clef sur plusieurs chiffres du texte chiffre.
Par confusion, Shannon designe lutilisation de transformations cryptographiques qui
rendent malaisees la determination de la relation entre la statistique du texte chiffre et
celle du texte en clair.
Le but du chiffrement est de rendre la cryptanalyse aussi difficile que possible. Il ne faut
cependant pas toutefois negliger la facilite du chiffrement. Aussi, Shannon sugg`ere-t-il
de realiser diffusion et confusion par une succession (un produit) doperations cryptographiques simples.
Le syst`eme DES semble etre une application fid`ele de ces principes directeurs.

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

Figure 2.10 Generation des 16 sous-clefs de 48 bits.


Table 2.1 Fonction a.
57
1
10
19
63
7
14
21

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

Apr`es permutation, le resultat a(k) est separe en 2 mots de 28 symboles:


a(k) = l0 r0

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 ).

Table 2.2 Fonction b.


14
3
23
16
41
30
44
46

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

La fonction b transforme un mot de longueur 56 en un mot ki de longueur 48. Le mot


ki est obtenu en placant en position 1 le symbole numero 14 de (li ri ), en position 2 le
symbole 17 de (li ri ), etc. . .
Le mot (li ri ) de longueur 56 sur lequel la fonction b est appliquee sobtient `
a partir du
mot (li1 ri1 ) en appliquant `
a li1 et ri1 separement ni decalages cycliques vers la
gauche avec: ni = 1, si i = 1,2,9,16 et ni = 2, si i 6= 1,2,9,16.
La valeur de depart de (li1 ri1 ) est evidemment (l0 r0 ) trouve `
a letape 1.

2.2.4.3.2

Les transformations S (S-boxes) Avant de decrire lalgorithme de


chiffrement proprement dit, il convient de definir une transformation non lineaire (appelee
traditionnellement S).
Elle se base sur une matrice S (4 x 16) dont chaque ligne si (i = 0,1,2,3) est composee
des nombres 0,1,. . . ,15 dans un ordre quelconque (voir Tableau 2.3 o`
u une matrice S est
representee).
Table 2.3 Exemple dune matrice S: S1 .

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

La transformation S transforme un mot v de 6 bits (v1 v2 . . . v6 ) en un mot w de 4 bits,


de la facon suivante:
les 2 symboles v1 v6 de v definissent un nombre decimal i : 0 i 3;
les 4 symboles v2 v3 v4 v5 de v definissent un nombre decimal j : 0 j 15;

` CLE
SECRETE
`
2.2. LES SYSTEMES
(SYMETRIQUES)
A

113

le mot complet (v1 v2 . . . v6 ) definit donc deux indices i et j, auxquels correspond


un element sij de la matrice S;
cet element sij : 0 sij 15, traduit sous forme binaire, donne le mot w de 4
bits.
Exemple
Prenons la matrice S = S1 .
v = 100001
v1 v6 = 11 i = 3
v2 v3 v4 v5 = 0000 j = 0
sij = s30 = 15
w = 1111

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 ).

Figure 2.11 Presentation de la fonction f .

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.

Table 2.5 La permutation h.


16
1
2
19

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

Le resultat est un mot de longueur 32 note f (ri1 ,ki ).

2.2.4.3.4

Algorithme de chiffrement Lalgorithme


represente `
a la Figure 2.12.
Le message binaire en clair est divise en mots v de 64 symboles.

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

Figure 2.12 Algorithme de chiffrement.

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

Calculer les mots li ri (avec i = 1,2, . . . ,16) comme suit `


a partir de l0 r0 :
la partie gauche de li est la partie droite du mot precedent:
li = ri1

avec i = 1,2, . . . ,16

la partie droite du mot i sobtient en appliquant la fonction f :


ri = li1 f (ri1 ,ki )

addition dans Z232

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.

Table 2.7 La permutation e1 .


40
39
38
37
36
35
34
33

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

Advanced Encryption Standard (AES: Rijndael)

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

Differentes operations en Rijndael sont definies au niveau du byte, o`


u des bytes
representent des elements du champ fini GF(28 ). Dautres operations sont definies
sur des mots consistant de 4 bytes. Dans cette section nous introduisons les concepts
mathematiques necessaires pour la suite de ce paragraphe.

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

2.2.7.1.1 Additionner Dans la representation polynomiale la somme de deux


elements est egale au polyn
ome avec coefficients donnes par la somme modulo 2 des
coefficients des deux termes de cette somme.
Exemple
En notation hexadecimale: 57 + 83 = D4, ou en utilisant la representation polyn
omiale:
(x6 + x4 + x2 + x + 1) + (x7 + x + 1) = x7 + x6 + x4 + x2
En notation binaire nous avons (01010111) + (10000011) = (11010100). De ceci li sensuit
clairement que laddition au niveau des bytes correspond `
a loperation logique simple du
OU-exclusif (XOR) (notee comme ) executee bit par bit.
Toutes les conditions necessaires pour avoir un groupe Abelien sont satisfaites: intern,
associatif, element neutre (00), element inverse (chaque element est son propre element
inverse par rapport `
a laddition) et commutatif. Puisque chaque element est son propre
element inverse par rapport `
a laddition, laddition et la soustraction sont identiques.

2.2.7.1.2 Multiplication Dans la representation polynomiale la multiplication en


GF(28 ) correspond `
a la multiplication de polyn
omes modulo un polyn
ome irreductible
binaire de degre 8. Un polyn
ome est irreductible sil na pas dautres diviseurs en dehors
de 1 et lui-meme. Pour Rijndael ce polyn
ome se note m(x) et est donne par:
m(x) = x8 + x4 + x3 + x + 1
ou 11B en notation hexadecimale.
Exemple

118

CHAPITRE 2. CRYPTOGRAPHIE

En notation hexadecimale: 57 . 83 = C1, ou avec la representation polyn


omiale:
(x6 + x4 + x2 + x + 1).(x7 + x + 1)

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

Le resultat sera clairement un polyn


ome binaire de rang inferieur `
a 8. Contrairement au
cas de laddition, pour la multiplication il nexiste pas doperation simple au niveau du
byte.
La multiplication definie ci-dessus est associative et il existe un element neutre (01). Pour
chaque polyn
ome binaire b(x) de degre inferieur `
a 8, lalgorithme etendu dEuclide peut
etre utilise pour determiner les polyn
omes a(x) et c(x), tel que:
b(x)a(x) + m(x)c(x) = 1
Il sensuit que a(x)b(x) mod m(x) = 1, ou encore:
b1 (x) = a(x) mod m(x)
On a en outre que legalite suivante est satisfaite:
a(x)[b(x) + c(x)] = a(x)b(x) + a(x)c(x)
Il sensuit que lensemble de toutes les 256 valeurs possibles des bytes, avec loperation
XOR comme addition et avec la multiplication definie ci-dessus, poss`ede la structure du
champ fini GF(28 ).

2.2.7.1.3

Multiplication par x Si nous multiplions b(x) avec le polynome x,

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 )

On peut definir des polyn


omes avec des coefficients en GF(28 ). Ainsi un vecteur compose
4 bytes correspond avec un polyn
ome de degre inferieur `
a 4.
Des polyn
omes peuvent simplement etre additionnes en additionnant leurs coefficients
correspondants. Puisque cette addition en GF(28 ) est lXOR au niveau du bit, laddition
de deux vecteurs est un XOR normal au niveau du bit.
La multiplication est plus compliquee. Supposons que nous avons deux polyn
omes avec
des coefficients definis en GF(28 ):
a(x) = a3 x3 + a2 x2 + a1 x + a0
et

b(x) = b3 x3 + b2 x2 + b1 x + b0

Leur produit c(x) = a(x)b(x) est donne par:


c(x) = c6 x6 + c5 x5 + c4 x4 + c3 x3 + c2 x2 + c1 x + c0
avec:
c0

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

Loperation consistant en la multiplication dun polyn


ome fixe a(x) peut secrire comme
une multiplication matricielle, o`
u la matrice est une matrice circulante. Nous obtenons
alors:

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

Multiplication par x Si nous multiplions b(x) avec le polynome x,

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

Rijndael est un algorithme de chiffrement en bloc iteratif `


a longueur de bloc et longueur de cle variable. La longueur de blocs et la longueur de cle peuvent etre specifiees
independamment comme etant 128, 192 ou 256 bits.

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).

Table 2.8 Exemple dun etat avec N b = 6.


a0,0
a1,0
a2,0
a3,0

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).

Table 2.9 Exemple dune cle de chiffrement avec N k = 4.


k0,0
k1,0
k2,0
k3,0

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

Lorsquil est necessaire de specifier quatre bytes individuels dun vecteur `


a 4-bytes (ou
mot), la notation (a,b,c,d) sera utilisee, o`
u a represente le byte `
a la position 0, b le byte
`
a la position 1, etc. . . , de la colonne, vecteur ou mot considere.
Le input et output utilise par Rijndael consiste en des suites uni-dimensionnelles de (8bit) bytes, numerotes de 0 `
a 4N b 1 inclus. Ces blocs ont donc une longueur de 16, 24
ou 32 bytes et les indices correspondantes sont alors (0 . . . 15, 0 . . . 23, 0 . . . 31).
La cle de chiffrement est consideree comme une suite uni-dimensionnelle, composee de
(8-bit) bytes numerotes de 0 `
a 4N k 1 inclus. Ces blocs ont donc egalement une longueur
de 16, 24 ou 32 bytes et les indices correspondantes sont donc bien s
ur egalement (0 . . . 15,
0 . . . 23, 0 . . . 31).
Les input bytes de lalgorithme de chiffrement (le texte en clair en dautres mots)
sont projetes sur les bytes de letat dans lordre a0,0 ,a1,0 ,a2,0 ,a3,0 ,a0,1 ,a1,1 ,a2,1 ,a3,1 , . . .
et les bytes de la cle de chiffrement sont lus de facon semblable dans lordre suivant:
k0,0 ,k1,0 ,k2,0 ,k3,0 ,k0,1 ,k1,1 ,k2,1 ,k3,1 , . . .. A la fin du chiffrement le resultat est lu `
a partir
de letat dans le meme ordre.
En consequence, lorsque lindice uni-dimensionnelle dun byte au sein dun bloc est egal
`
a n et lindic bi-dimensionnelle est represente par (i,j), alors nous avons les relations
suivantes:
i = n mod 4
jnk
j=
4
n = i + 4j
En outre, lindice i est egalement le numero du byte `
a linterieur dun vecteur `
a 4-bytes
(ou mot), et j est lindice pour le vecteur (ou le mot) `
a linterieur du bloc.
Le nombre de rondes est note N r et depend des valeurs de N b et de N k (voir Tableau).

Table 2.10 Determination du nombre de rondes N r en fonction de la longueur


de bloc N b et la longueur de la cle N k.
Nr
Nk = 4
Nk = 6
Nk = 8

2.2.9.2

Nb = 4
10
12
14

Nb = 6
12
12
14

Nb = 8
14
14
14

La transformation de ronde

La transformation de ronde se compose de quatre transformations (fonctions) differentes:


1. ByteSub
2. ShiftRow
3. MixColumn
4. AddRoundKey
La derni`ere ronde de lalgorithme de chiffrement est leg`erement differente (la transformation MixColumn a ete enlevee ici):
1. ByteSub
2. ShiftRow
3. AddRoundKey
Ces differentes transformations sont commentees ci-apr`es.

` CLE
SECRETE
`
2.2. LES SYSTEMES
(SYMETRIQUES)
A

123

2.2.9.2.1 La transformation ByteSub La transformation ByteSub est une


substitution non-lineaire de bytes, qui est appliquee `
a chaque byte de letat separement.
Le tableau de substitution (ou S-box) est reversible et est obtenu par la combinaison de
deux transformations:
1. Dabord on calcule linverse par rapport `
a la multiplication en GF(28 ) en utilisant
la representation specifiee ci-dessus. Le byte 00 est projete sur lui-meme;
2. Apr`es on applique une transformation affine qui est definie sur le champ fini GF(2):

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

Linverse de ByteSub est la substitution de byte o`


u le tableau inverse est applique. Ceci
sobtient en appliquant linverse de la transformation affine, suivi par le calcul de linverse
par rapport `
a la multiplication dans le champ fini GF(28 ).

2.2.9.2.2

La transformation ShiftRow En ShiftRow les lignes de letat sont


decalees cycliquement sur differentes distances. La ligne 0 nest pas decalee, la ligne 1 est
decalee sur C1 bytes, la ligne 2 est decalee sur C2 bytes et la ligne 3 sur C3 bytes. Les
distances de decalage C1,C2,C3 dependent de la longueur de bloc N b. Les differentes
valeurs sont specifiees dans le Tableau 2.11.
Table 2.11 Determination de la distance de decalage Ci en fonction de la longueur de bloc N b.
Nb
4
6
8

C1
1
1
1

C2
2
2
3

C3
3
3
4

Linverse de ShiftRow est un decalage cyclique des 3 derni`eres lignes de respectivement


N b C1, N b C2, et N b C3 bytes, de facon `
a decaler le byte en position j dans la
ligne i vers la position (j + N b Ci) mod N b.

2.2.9.2.3

La transformation MixColumn En MixColumn les colonnes de


letat sont considerees comme des polyn
omes sur le champ fini GF(28 ) qui sont multiplies
4
modulo x + 1 avec un polyn
ome fixe c(x), donne par:
c(x) = 03x3 + 01x2 + 01x + 02
Ce polyn
ome est mutuellement premier x4 +1 et il est pour cette raison inversible! Comme
dej`
a mentionne auparavant ceci peut egalement secrire comme une multiplication ma-

124

CHAPITRE 2. CRYPTOGRAPHIE

tricielle. Supposons que b(x) = c(x) a(x):


b0
02 03
b1 01 02

=
b2 01 01
b3
03 01

01
03
02
01

01
a0

01
a1
03 a2
02
a3

Linverse de MixColumn est equivalent `


a MixColumn. Chaque colonne est transformee
en la multipliant par un polyn
ome d(x) specifique pour la multiplication, defini comme
suit:
(03x3 + 01x2 + 01x + 02) d(x) = 01
Il sensuit que:
d(x) = 0Bx3 + 0Dx2 + 09x + 0E

2.2.9.2.4

La transformation AddRoundKey Dans cette operation une cle de


ronde est appliquee `
a letat par un simple XOR au niveau du bit. La cle de ronde est
deduite de la cle de chiffrement `
a laide du schema de cle (voir ci-dessous). La longueur
de la cle de ronde est egale `
a la longueur de bloc N b.
AddRoundKey est son propre inverse.

2.2.9.3

Le sch
ema de cl
e

Les cles de ronde sont deduites de la cle de chiffrement `


a laide du schema de cle. Ce
schema se compose de deux composantes: lexpansion de cle et la selection de la cle de
ronde. Le principe de base est le suivant:
Le nombre total de bits dans une cle de ronde est egal `
a la longueur de bloc (N b),
multiplie par le nombre de rondes plus 1 (N r + 1). Ceci signifie que pour une
longueur de bloc de 128 bits et 10 rondes, il faut 1408 bits dans la cle de ronde;
La cle de chiffrement est etendue `
a une cle etendue;
Les cles de ronde sont extraites de la facon suivante de la cle etendue: la premi`ere
cle de ronde se compose des N b premiers mots, la deuxi`eme des N b mots suivants,
etc. . . .

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

contenu des mots W [N b i] `


a W [N b (i + 1)].

2.2.9.4

Algorithme de chiffrement

Lalgorithme de chiffrement Rijndael consiste en:


une addition initiale avec la cle de ronde;
N r 1 rondes;
une ronde finale.

` CLE
PUBLIQUE
2.3. LES SYSTEMES
(ASYMETRIQUES)
A

2.3
2.3.1

125

Les syst`
emes (asym
etriques) `
a cl
e publique
Introduction

Comme nous lavons dej`


a dit precedemment, les syst`emes cryptographiques `
a cle secr`ete
posent deux probl`emes:
celui de la distribution des cles qui impose de disposer dun grand nombre de voies
de transmission presentant une securite suffisante (porteur, etc. . . ).
celui de lauthentification et de la signature numerique.
En 1976, Deffie et Hellman ont propose une solution enti`erement originale appelee
syst`eme cryptographique `
a cle publique (voir Figure 2.13).

Figure 2.13 Distribution des cles dans un syst`eme asymetrique.


Pour bien comprendre loriginalite de cette nouvelle orientation il convient dintroduire les
notions de fonction pratiquement non inversible (fonction `
a sens unique, one-way function) et de fonction conditionnellement inversible (fonction pratiquement non inversible
`
a trappe, fonction `
a br`eche, trap-door one-way function).
Apr`es avoir defini ces notions, nous presenterons les principes des syst`emes de cryptographie `
a cle publique (chiffrement et signature numerique).
Nous donnerons ensuite lexemple du syst`eme RSA introduit en 1978 par Rivest, Shamir
et Adleman.

126

CHAPITRE 2. CRYPTOGRAPHIE

2.3.2

D
efinitions

Une fonction y = f (x) definie sur S et `


a valeurs dans T est pratiquement non inversible
si:
x S,f (x) se calcule aisement;
connaissant y T presque quelconque, il nest pas possible de calculer x avec les
moyens de calcul actuels dans un temps raisonnable.
On constate que cette definition ne rel`eve pas strictement des mathematiques. Elle rel`eve
en fait dune discipline relativement nouvelle qui traite le probl`eme de la complexite dun
calcul (theory of computational complexity) ou dun circuit (circuit complexity). Ces
theories sortent du cadre de ce cours).
Afin toutefois declairer cette notion et une utilisation possible, citons lexemple de la
fonction:
y = f (pq) = p.q
o`
u p et q sont deux nombres premiers tr`es grands.
Calculer y a
` partir de p et q est evidemment aise mais factoriser y en un produit de
deux nombres premiers rel`eve du defi (du moins avec les moyens de calcul disponibles
actuellement et letat publiquement avere des connaissances actuelles)! Ainsi, trouver p
et q a
` partir dun nombre y de 200 chiffres exigerait un temps de calcul superieur `
a 106
annees pour un ordinateur dont la duree d1 instruction est de 1 s.
Un exemple theorique dapplication de cette notion est celui du mot de passe dans un
syst`eme dordinateur. Pour y avoir acc`es, chaque utilisateur doit sidentifier par un mot
de passe (secret) qui lui est propre. Il est evidemment tr`es peu judicieux de stocker un
fichier contenant les noms des utilisateurs potentiels et leurs mots de passe. Toute fuite
serait catastrophique. Lutilisation dune fonction f pratiquement non inversible resout
le probl`eme.
le mot de passe de lutilisateur Ui est constitue de deux grands nombres premiers
pi et qi ;
le fichier des mots de passe comporte les couples (Ui ,pi .qi ), i = 1,2, . . ..
Lutilisateur autorise annonce son nom Ui et les nombres premiers pi et qi . Lordinateur
calcule pi .qi et verifie la correspondance avec le deuxi`eme element du couple determine
par Ui .
Lintrus qui aurait connaissance dun couple (Ui ,pi .qi ), serait pratiquement dans limpossibilite de trouver (calculer) pi et qi et donc de donner le mot de passe.
Une fonction conditionnellement inversible est en fait une famille de fonctions y = fz (x)
indexees en la variable z. Si z est connu, il existe des algorithmes aises Ez et Dz permettant de calculer respectivement fz (x) et fz1 (y).
Par contre, si z nest pas connu, il est pratiquement impossible de calculer fz1 (y) meme
si Ez est connu. Nous verrons un exemple concret de ceci dans la presentation du syst`eme
RSA.

2.3.3

Principes g
en
eraux des syst`
emes `
a cl
e publique

2.3.3.1

Chiffrement - d
echiffrement

Tous les utilisateurs du syst`eme utilisent le meme algorithme de chiffrement E et de


dechiffrement D. Chaque utilisateur Ui poss`ede une paire de cles (ki ,li ) telle que pour
tout message m on ait les proprietes suivantes.
Propri
et
e P1:

` 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

Il est pratiquement impossible, sans connatre lj , de trouver un algorithme D(m,lj ) tel


que:
E [D(m,lj ),kj ] = m
Ce ne peut donc etre que le detenteur de la cle secr`ete lj (`
a savoir Uj ) qui a expedie le
message c.
Le message c nest evidemment pas chiffre puisque la cle kj est publique et permet
dobtenir le message original m.
Les proprietes P2a en P2b doivent etre leg`erement adaptees pour la signature numerique.
Propri
et
e P2a:

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

Combinaison de chiffrement et de signature num


erique

Si lutilisateur Uj souhaite envoyer `


a lutilisateur Ui un message m muni de sa signature
(numerique), il proc`ede comme suit (ceci suppose que les proprietes P1 `
a P5 soient
satisfaites).
Uj utilise sa cle secr`ete lj et la cle publique ki de Ui pour expedier:
c = E [D(m,lj ),ki ]
A la reception de c, Ui retrouve m en utilisant sa cle secr`ete li et la cle publique
kj de Uj pour calculer successivement:
c0 = D(c,li )
E(c0 ,kj ) = m
En effet:
c0 = D{E[D(m,lj ),ki ],li } = D(m,lj )
par la propriete P1, et:
E(c0 ,kj ) = E[D(m,lj ),kj ] = m
par la propriete P4.

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

Le syst`eme Knapsack (sac-`


a-dos) propose en 1978 par Merhle et Hellman et qui se
base sur la difficulte de resoudre, pour n grand, le probl`eme dit du Knapsack:
Si a1 ,a2 , . . . ,an sont n entiers et si S est un autre entier, lequation
x1 a1 + x2 a2 + . . . + xn an = S
a-t-elle une solution pour xi {0,1}, avec i = 1,2, . . . ,n?

2.3.4

Le syst`
eme cryptographique RSA

Nous commencerons par decrire la procedure de chiffrement et de dechiffrement pour


ensuite la justifier. Les bases mathematiques necessaires sont reprises `
a lannexe A mais
seront presentees bri`evement ici.

2.3.4.1

Proc
edure de chiffrement - d
echiffrement

2.3.4.1.1 Elaboration des cl


es

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

Nous decidons des r`egles suivantes:


A = 01, B = 02, C = 03, . . . , Z = 26, blanc = 00
Le message devient, si nous formons des blocs de 4 chiffres qui seront donc inferieurs `
a
2626 (ZZ = 2626):
m

mb1 mb2 mb3 . . .

0305 0309 0004 . . .

Le chiffrement du bloc mb1 par exemple donne:


c1 = 0305157 (mod 2773) = a
et ainsi de suite, bloc par bloc.

2.3.4.2.3

Proc
edure de d
echiffrement Le premier bloc c1 par exemple est

dechiffre en calculant:

a17 (mod 2773) = 0305

` CLE
PUBLIQUE
2.3. LES SYSTEMES
(ASYMETRIQUES)
A
2.3.4.3

131

Les notions math


ematiques sous-jacentes

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

Il convient de verifier si le syst`eme RSA repond aux proprietes P1 `


a P3 des syst`emes
cryptographiques `
a cle publique.

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.

Table 2.12 Nombres doperations necessaires pour factoriser n en deux nombres


premiers.
Nombres de chiffres de n
50
100
200

Nombres doperations pour factoriser n


1,42.1010
2,34.1015
1,20.1023

On admet que si le nombre de chiffres de n est de lordre de 200, la cryptanalyse du


syst`eme RSA est actuellement impossible.

2.3.4.5

Signature num
erique

Examinons tout dabord la signature simple sans chiffrement de texte. La procedure `


a
suivre est resumee ci-dessous.
Cle publique: ei et ni , utilisateur Ui ;
Cle secr`ete: di , utilisateur Ui ;
Propriete: ei .di = 1 [mod (ni )]

` CLE
PUBLIQUE
2.3. LES SYSTEMES
(ASYMETRIQUES)
A

133

Message de Uj vers Ui : (0 < m < nj ) et c = mdj mod nj


Dechiffrement: m = cej mod nj
Signature: la paire (m,c).
Pour sassurer que la propriete P4 est verifiee, `
a savoir que:
iej
h
mdj mod nj
mod nj = m,
il suffit de constater que les fonctions de chiffrement et de dechiffrement ont exactement
la meme forme que celles utilisees dans le probl`eme precedent.
Supposons maintenant que Uj doive expedier vers Ui un texte m a
` la fois chiffre et signe.
Il devra proceder comme suit:
Avec m < nj , Uj calcule pour la signature:
s = mdj mod nj
Puis il chiffre s en envoyant:
h
iei
c = sei mod ni = mdj mod nj
mod ni
Ici se pose un probl`eme car pour chiffrer s, il faut que s soit inferieur `
a ni , ce qui implique
que nj ni . Sil nen etait pas ainsi, plusieurs messages (differentes) s pourraient donner
le meme cryptogramme c, ce qui est bien s
ur inadmissible.
De la meme facon si Ui expedie un message signe et chiffre `
a Uj , il faudrait ni nj ! Il
sensuit que ni = nj , ce qui reduit fortement la securite du syst`eme.
Une solution `
a ce probl`eme consiste `
a adopter une valeur dite de seuil h valable pour
tous les utilisateurs du syst`eme (par exemple h = 10200 ).
Chaque utilisateur Ui dispose de deux jeux de cles differenciees ici par un indice superieur:
(n1i ,e1i ,d1i ) et (n2i ,e2i ,d2i )
avec:
n1i < h < n2i
Le jeu 1 (indice superieur) sert `
a la signature tandis que le jeu 2 sert au chiffrement.
Autrement dit, si Uj sadresse `
a Ui , il utilise le jeu 1 comme etant son propre jeu de
param`etres et il consid`ere que le jeu de Ui est le jeu 2. La procedure est donc:
Avec m < n1j , Uj doit calculer pour la signature:
1

s = mdj mod n1j


Apr`es il chiffre s en effectuant loperation suivante:
2

c = sei mod n2i


avec forcement n1j < n2i .
A la reception Ui doit calculer:
pour dechiffrer:
2

s = cdi mod n2i


pour enlever la signature numerique:
1

m = sej mod n1j

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

Soit un code lineaire C de longueur n. On appelle code etendu `


a partir de C, le code C
obtenu `
a partir de C en ajoutant `
a chaque mot-code de C un chiffre supplementaire de
facon telle que le poids de chaque nouveau mot-code ainsi obtenu soit pair (et pas impair
car le mot-code pair 0 doit rester un mot-code!).
Si le code original C est caracterise par une matrice generatrice G(k.n), alors le code
etendu C poss`ede une matrice generatrice G = [G,b], o`
u la colonne b est choisie de
facon telle que chaque ligne de G soit de poids pair.
On demontre aussi que la matrice de contr
ole de parite H du code etendu est donnee
par:


Hj
H =
01
o`
u j est un vecteur colonne constitue de n chiffres 1.
La matrice H est donc une matrice [(n + 1).(n + 1 k)]. Puisque H est de rang (n - k), la
derni`ere ligne de H assure que H soit de rang (n-k+1). On verifie aussi que G H = 0.
Exemple
Soit C un code lineaire avec sa matrice generatrice:

10010
G = 01001
00111

136

CHAPITRE 3. CODAGE DE CANAL

Une matrice de contr


ole de parite de ce code est:

H=

10
01
11
10
01

Le code etendu C correspondant est donc caracterise par:

100100
G = 010010
001111
et

H =

3.2.1.2

101
011
111
101
011
001

Distance dun code


etendu

Si v est un mot-code du code original et si v est le mot correspondant du code etendu


C , on a:

wt(v)
si wt(v) est pair

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

une autre matrice generatrice de C24 est:


G = [B,E12 ]

C24 est auto-dual en ce sens que C24 = C24


;

la distance de C24 est egale `


a 8;
a 3.
la capacite de correction de C24 est egale `

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

CHAPITRE 3. CODAGE DE CANAL

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

Cas 1: wt(u2 ) = 0 et donc wt(u1 ) 3 u2 = 0,s1 = u1 et donc

wt(s1 ) 3. Il sensuit:
u = [s1 ,0]

3.2.2.2.1.2

Cas 2: wt(u2 ) = 1 et donc wt(u1 ) 2 Si on appelle i la position

de lunique 1 de u2 et bi la i-`eme ligne de B:


u2 B = b i
Il sensuit que s1 est identique `
a bi `
a maximum 2 moments binaires pr`es (car s1 = u1 bi
avec wt(u1 ) 2).
Au vu de bi , ceci implique que wt(s1 ) 3, ce qui rend ce cas exclusif au cas 1. De plus,
wt(s1 bi ) = wt(u1 ) 2.
Ayant identifie bi par le calcul successif de wt(s1 bj ), j = 1,2, . . . et verification de
wt(s1 bj ) 2, on trouve u comme suit:

3.2.2.2.2

u1

s1 bi

u2

vecteur de poids 1 avec un 1 en position i

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:

calculer le syndrome s = wH avec



H=

E12
B

si wt(s) 3, alors u = [s,0]


sinon, trouver une ligne bi de B telle que wt(s bi ) 2 et prendre u = [s, bi ei ],
ei etant un vecteur forme de 0 sauf `
a la i-`eme position o`
u se trouve un 1

3.2. COMPLEMENTS
SUR LES CODES PAR BLOCS LINEAIRES

139

si aucun resultat nest obtenu, calculer le second syndrome sB


si wt(sB) 3, alors u = [0,sB]
sinon trouver une ligne bi de B telle que wt(sB bi ) 2 et prendre u = [ei ,sB bi ]
si aucun resultat nest obtenu de la sorte, lalgorithme ne peut corriger et on peut
par exemple demander une retransmission.
Lorsque u est determine, la correction se fait evidemment par:
v =wu
Lapplication de lalgorithme presente ci-dessus, requiert au maximum le calcul de 26
poids wt().

3.2.3

Le code de Golay

Soit B 00 la matrice (12.11) obtenue `


a partir de B en supprimant la derni`ere colonne. Le
code de GOLAY est caracterise par une matrice generatrice G00 :
G00 = [E12 ,B 00 ]
Ce code est note C23 . Sa longueur est n = 23 et sa dimension k = 12. On notera que sa

forme etendue C23


nest rien dautre que C24 . La distance de C23 est donc egale `
a 7.
Le code de GOLAY C23 est un code parfait qui peut corriger toutes les configurations
derreurs de poids 3 et aucune autre. Tout mot recu est donc `
a une distance 3 dun
mot-code.
Le decodage du code C23 se fait de la facon suivante:
avec le mot recu w, former w0 ou w1 pour obtenir un mot de poids pair;
decoder le mot wi (i = 1 ou 0) selon lalgorithme du code de GOLAY etendu; soit
vi (i = 1 ou 0) le mot decode;
supprimer le dernier moment binaire de vi: v est le mot decode.

3.2.4

Les codes cycliques

3.2.4.1

Remarque pr
eliminaire

La theorie des codes cycliques repose sur celle des polyn


omes exposee dans la section A.
Dans cette section, on introduit lanneau Z2 (x) des polyn
omes definis sur Z2 ainsi que,
de facon plus generale, lanneau F (x) des polyn
omes definis sur un champ F .
On definit ensuite lanneau F (x)/h(x) des polyn
omes definis sur F modulo h(x) qui est
lensemble des polyn
omes de degre inferieur `
a celui de h(x).
Dans ce qui suit, nous considererons le cas particulier o`
u h(x) = xn 1 et F = Z2 . Nous
n
designerons par Rn lensemble F (x)/(x 1).
Dans la theorie des codes cycliques, tout mot v = a0 a1 a2 . . . an1 de longueur n dans Z2n
correspond `
a un polyn
ome v(x) par la relation:
v(x) = a0 a1 x a2 x2 . . . an1 xn1

140

CHAPITRE 3. CODAGE DE CANAL

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

1. Puisque loperation de permutation cyclique est lineaire, pour demontrer quun


code lineaire C est cyclique, il suffit de demontrer que (v) C pour tout vecteur
v dune base de C.
2. Pour construire un code cyclique, il suffit donc de choisir un mot quelconque v et
de former un ensemble S de mots obtenus par n 1 permutations cycliques:
S = {v,(v), 2 (v), . . . , n1 (v)}
C est alors defini comme etant lespace vectoriel sous-tendu par S et note:
C =< S >
On notera que S nest pas forcement une base de C mais on sait quil en contient
une et la propriete du point 1 ci-dessus peut donc sappliquer.
Exemple
n = 4,v = 0101.
Il sensuit que S = {0101,1010} et donc:
C = {0000,0101,1010,1111}

3.2. COMPLEMENTS
SUR LES CODES PAR BLOCS LINEAIRES
3.2.4.4

141

Th
eor`
eme

Si C est un code cyclique et si v C, alors, pour tout polyn


ome a(x) Rn ,c(x) =
a(x)v(x) modulo xn 1 est egalement un mot-code.
D
emonstration
Soit v un mot-code de C auquel correspond le polyn
ome v(x). Les polyn
omes
xv(x),x2 v(x), . . . ,xn1 v(x), correspondant aux n 1 permutations cycliques de v
appartiennent egalement `
a C. Toute combinaison lineaire de ces permutations appartient egalement `
a C puisque C est un code lineaire et donc le polyn
ome:
c(x)

(a0 v(x) a1 xv(x) . . . an1 xn1 v(x)) modulo 1 xn

((a0 a1 x . . . an1 xn1 )v(x)) modulo 1 xn

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

CHAPITRE 3. CODAGE DE CANAL


c(x) C si et seulement si c(x) = a(x)g(x) avec a(x) un polyn
ome de degre k.

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

CHAPITRE 3. CODAGE DE CANAL


Encodage des codes cycliques

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.

3.2.4.6.1 Encodage non syst


ematique Le mot `a coder est de longueur k et le
mot-code correspondant sobtient par multiplication par la matrice generatrice G:

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.

Figure 3.1 Encodage non systematique dun code cyclique.


Exemple
A titre dexemple, citons une forme cyclique du code de Hamming de longueur n = 7
dont le polyn
ome generateur est g(x) = 1 x x3 et dont lencodeur est represente `
a la
Figure 3.2.
Le mot `
a coder 1001 est donc code comme suit:
u(x)g(x) = (1 x3 )(1 x x3 ) = 1 x x4 x6
Le mot code est donc 1100101. Le codage est en effet non systematique.

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

Figure 3.2 Encodage non systematique cyclique de Hamming.


On divise u(x) par le polyn
ome generateur g(x) (de degre n k) avec q(x) le quotient
(non utilise) et r(x) le reste:
u(x) = q(x)g(x) r(x)
et le degre de r(x) < n k.
Le mot-code envoye est:
u(x) r(x)
Ce dernier est un mot-code car cest un multiple de g(x):
u(x) r(x) = q(x)g(x)
On remarquera que le terme de degre le plus eleve de r(x) est au maximum xnk1 tandis
que le terme de degre le plus faible de u(x) est au minimum xnk . Les deux polyn
omes
u(x) et r(x) ne se melangent donc pas (ce qui explique que lencodage soit systematique).
Exemple
Reprenant lexemple du code de Hamming cyclique evoque ci-dessus, le mot dinformation
1001 est code comme suit. La division de u(x) = x6 x3 par g(x) = 1 x x3 fournit un
reste r(x) = x2 x. Le mot-code correspondant est donc u(x) r(x) = x6 x3 x2 x
cest-`
a-dire 1001110 (la lecture se faisant `
a nouveau de la gauche vers la droite en partant
de la puissance la plus elevee).
La division des polyn
omes seffectue aussi facilement que leur multiplication `
a laide de
registres `
a decalage.

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

CHAPITRE 3. CODAGE DE CANAL

Si on consid`ere les codes cycliques de longueur n = 7, les polyn


omes generateurs possibles
sobtiennent `
a partir des facteurs de 1 x7 :
1 x7 = (x 1)(x3 x 1)(x3 x2 1)
Si on choisit comme polyn
ome generateur (x 1)(x3 x2 1), le polyn
ome de contr
ole
3
de parite est h(x) = x x 1.

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

poss`ede comme matrice de contr


ole de parite H la matrice H 0 [(n k).n]:

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

Si le degre de g(x) est n k, celui de s(x) sera inferieur `


a n k et correspondra `
a
un mot de longueur n k;
a
Lors de letude des codes lineaires, nous avons montre que le syndrome s associe `
un mot recu w etait egalement le syndrome de la configuration derreurs e correspondant au mot recu w.
Cette propriete est conserve pour les polyn
omes-syndromes. Plus precisement, si
le mot-code envoye est q(x)g(x) et si le mot recu est w(x) = q(x)g(x) e(x), e(x)
etant le polyn
ome correspondant `
a la configuration derreurs e, on a:
e(x) modulo g(x) = [w(x)q(x)g(x) modulo g(x) = w(x) modulo g(x) = s(x)]
Le decodage `
a laide du polyn
ome syndrome est base sur cette propriete. Lensemble
des polyn
omes syndromes est constitue par tous les polyn
omes de degre inferieur
`
a n k. A chaque polyn
ome syndrome s(x) correspond une configuration derreurs
e(x) (de poids minimum) telle que s(x) = e(x) modulo g(x). Il convient donc
detablir un tableau fournissant pour chaque configuration derreurs, le polyn
ome
syndrome associe. Le calcul du polyn
ome syndrome se fait aisement `
a laide dun
registre `
a decalage.
Exemple
Soit C le code de Hamming cyclique de longueur 7 dont le polyn
ome generateur est
g(x) = 1 x x3 . Le syndrome du mot recu 1011001 est le reste de la division:
(x6 x3 x2 1) : (1 x x3 )
soit
s(x) = x 1
Puisque les codes de Hamming ne corrigent quune seule erreur, nous devons etablir un
tableau de correspondance entre les configurations derreurs de poids 1 et les polyn
omes
syndromes associes.
La consultation de ce tableau nous indique que la configuration derreurs la plus probable
est 0001000 et donc que le mot-code le plus probable est 1010001.

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

CHAPITRE 3. CODAGE DE CANAL

Table 3.1 Correspondance entre configurations derreurs et polyn


omes syndromes.
e(x)
0
1
x
x2
x3
x4
x5
x6

s(x)
0
1
x
x2
x1
x2 x
x2 x 1
x2 1

les configurations derreurs corrigibles de degre n 1. Ainsi, dans lexemple precedent,


seule la derni`ere ligne du tableau presente un interet.
De plus, le calcul du syndrome ne doit pas etre refait `
a chaque permutation cyclique
comme le montre la proposition suivante:
Th
eor`
eme
Soit un code lineaire cyclique C de polyn
ome generateur g(x). Si le polyn
ome syndrome
dun mot w est s(x), alors le polyn
ome syndrome de (w) est le reste s1 (x) de la division
de xs(x) par le polyn
ome generateur g(x).
D
emonstration
Le syndrome ne depend que de la configuration derreurs et non du mot-code transmis (si
deux mots-codes differents parviennent de facon erronee suite `
a la meme configuration
derreurs, les mots recus seront caracterises par le meme syndrome). On a:
e(x) = a(x)g(x) s(x)
o`
u a(x) est un polyn
ome, quotient de la division de e(x) par g(x). Si on note en1 le
coefficient de xn1 dans e(x), alors (e(x)), note e1 (x), sobtient par:
(e(x)) = e1 (x)

xe(x) en1 (xn 1)

xa(x)g(x) en1 (xn 1) xs(x)

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

effectuees pour arriver `


a cette detection permet de retrouver la position de lerreur
dans w.
Exemple
Soit un code cyclique C de longueur 7 et de polyn
ome generateur g(x) = 1xx3 .
Ce code corrige toutes les configurations derreurs de poids 1 (t = 1). Du tableau 3.1
nous ne devons conserver que le polyn
ome syndrome x2 1.
Soit w(x) = 1 x2 x3 x6 le polyn
ome correspondant au mot recu 1011001. Le
syndrome est s(x) = w(x) modulo g(x) = 1 x qui ne correspond pas `
a lelement
de notre tableau.
On calcule successivement:
s1 (x) = xs(x) modulo g(x) = x x2
s2 (x) = x2 s(x) modulo g(x) = 1 x x2
s3 (x) = x3 s(x) modulo g(x) = 1 x2
et ce dernier resultat correspond au seul polyn
ome syndrome de notre tableau.
Le moment binaire `
a corriger est donc le coefficient de la troisi`eme puissance et le
mot decode est donc 1010001.
Code `
a capacite de correction egale `
a 2:
Pour un code cyclique de longueur n = 15 permettant la correction de deux erreurs,
le decodage classique necessiterait une table de correspondance entre les configurations derreurs et les polyn
omes syndromes de 121 lignes (configuration derreurs
2
de poids 0,1 et 2, dont le nombre est de 1, 15 et C15
= 105 respectivement).
Pour le decodage par la methode de MEGGIT, il ne faut retenir que les lignes
correspondant `
a e(x) = x14 et e(x) = xi x14 avec i = 0,1, . . . ,13.
Lors de la reception du mot w, on calcule son syndrome. Si ce dernier est dans
la table, on corrige le moment binaire w14 . On calcule ensuite les syndromes des
permutations cycliques de w et on corrige successivement les moments binaires
w13 ,w12 , . . . ,w0 si le syndrome correspondant `
a la permutation est dans le tableau.

3.2.4.9

Le code de GOLAY cyclique

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

Les codes de HAMMING cycliques

Rappelons tout dabord quun polyn


ome irreductible p(x) de degre r est appele polyn
ome
primitif si x est un element primitif du champ F (x)/p(x).
On peut demontrer les theor`emes suivants.

150

CHAPITRE 3. CODAGE DE CANAL

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

{f0 f1 . . . fn1 Z2n |f0 f1 . . . fn1 n1 }

{f (x)|f () = 0 dans Z2 /p(x)}

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

Les codes BCH

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

Soit un element primitif de CG(24 ) construit `


a laide du polyn
ome primitif 1 x x4 .
Le code BCH de capacite de correction tc = 2 et de longueur 15 est engendre par le
polyn
ome generateur suivant:
g(x) = m (x)m 3 (x) = m1 (x)m3 (x)
o`
u mi (x) est le polyn
ome minimal de i .
Nous avons vu (annexe A) que les polyn
omes minimum de et 3 sont:
m1 (x)

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

Les codes de HAMMING en tant que codes cycliques

Les codes de Hamming ont ete definis `


a partir de la forme de leur matrice de verification
de parite. Ces codes ne sont pas cycliques. Nous allons maintenant definir des codes
cycliques equivalents (via la notion de zero dun polyn
ome) et nous montrerons ensuite
que les codes ainsi definis sont des codes de Hamming. Cette vue particuli`ere des codes
de Hamming constitue un prelude interessant `
a letude des codes BCH.

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

CHAPITRE 3. CODAGE DE CANAL


m est donc le polyn
ome generateur dun code cyclique de longueur n;
Tout polyn
ome w(x) de degre inferieur `
a n a comme zero si et seulement si il est
un multiple de m (x), ce qui constitue le mode de generation dun code cyclique
de polyn
ome generateur g(x) = m (x).

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

C = {w : w() = 0} est un code de Hamming de longueur n = 2m 1.


D
emonstration
Pour tout mot-code de C , note w = [w0 w1 . . . wn1 ], on a:
w0 w1 . . . wn1 n1 = 0
ou encore:

..
.

[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).

Exemple Le champ CG(23 ) peut etre engendre par le polynome primitif


h(x) = x3 x 1. Ce champ comporte 23 = 8 elements. Il est represente ci-dessous sous
ses 3 formes possibles:
avec h() = 0.
est un element primitif de ce champ. Son polyn
ome minimum est m = h(x) = x3 x1.
Le code de Hamming de longueur n = 7 est donc engendre par:
3.2.5.3.4

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

Table 3.2 Les trois formes du champ CG(23 ).


000
100
010
001
110
011
111
101
3.2.5.4

0
1
x
x2
x1
x2 x
x2 x 1
x2 1

0
0
1
2
3
4
5
6

Codes BCH binaires `


a capacit
e de correction
egale `
a2

Nous avons considere aux paragraphe precedent un code forme `


a partir des polyn
omes
de degre inferieur `
a n ayant un element dordre n de CG(2m ) comme racine. On
pourrait ensuite envisager les codes formes `
a partir des polyn
omes admettant et i
2
(i > 1) comme racine. Le couple et nest pas un bon choix car si est racine dun
polyn
ome de Z2 (x), 2 lest aussi. On est donc amene `
a choisir le couple et 3 . Nous
allons montrer que cela conduit `
a des proprietes interessantes.

3.2.5.4.1

D
efinition Soit un champ CG(2m ) et un element dordre n de ce

champ. Le code BCH binaire `


a capacite de correction egale `
a 2 est defini `
a partir de tous
les polyn
omes w(x) de degre inferieur `
a n (n-uples) ayant et 3 comme racines. En
bref:
C3 = {w : w() = w(3 ) = 0}

3.2.5.4.2

Remarques

La demonstration de la propriete selon laquelle la capacite de correction tc = 2


sera fournie lors de la presentation de lalgorithme de decodage;
Le code ainsi engendre est cyclique et de polyn
ome generateur:
g(x) = m (x)m3 (x) = m1 (x)m3 (x)
o`
u mi (x) est le polyn
ome minimum de i .
En effet, m1 (x) et m3 (x) divisent tous deux f (x) = 1 xn . Nous lavons demontre
au paragraphe 3.2.5.3 pour m1 (x).
Pour m3 (x), on a:
(3 )n = (n )3 = 13 = 1
3 est donc racine de f (x) = 1 xn . Il sensuit, toujours par le meme theor`eme,
que m3 (x) divise f (x).
Comme m1 (x) et m3 (x) sont irreductibles, g(x) = m1 (x)m3 (x), divise f (x) et
peut donc etre un polyn
ome generateur. Tout polyn
ome w(x) de degre inferieur
`
a n a et 3 comme zero si et seulement si il est multiple de m1 (x) et m3 (x) et
donc de g(x); ce qui montre que g(x) est le polyn
ome generateur;
La longueur n du code BCH peut etre nimporte quel nombre impair. On montre
en effet que n impair, il existe un champ CG(2m ) ayant un element dordre n.

154

CHAPITRE 3. CODAGE DE CANAL

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)

La longueur du code est n = 2m 1 et sa dimension est 2m 1 2m.

3.2.5.4.4

Exemple Soit = lelement primitif de CG(24 ) defini `a partir du

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

CHAPITRE 3. CODAGE DE CANAL

Il sensuit:
s3 = s1 (s21 i+j )
et donc:
1
2
i+j = i j = (s3 s31 )s1
1 = s3 s1 s1

On connat donc la somme et le produit de i et de j . i et j sont donc les racines de:


x2 ( i j )x i+j = 0
ou encore de:
2
x2 s1 x (s3 s1
1 s1 ) = 0

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;

6. Si cette equation admet deux racines distinctes i et j de CG(2m ), corriger les


positions i et j de w;
7. Si cette equation na pas 2 racines distinctes sur CG(2m ), conclure que la capacite
de correction du code est depassee et par exemple demander une retransmission.

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

Pour tout n impair il existe un code BCH (binaire) `


a capacite de correction egale
`
a 2 et de longueur n. Il suffit de trouver un element dordre n dans un certain
champ dextension CG(2m );
On peut utiliser indifferemment le polyn
ome generateur g(x) = m (x)m3 (x) ou
la matrice de verification de la parite.

0
0
3

6
2

H=

..
..

.
.
n1
3(n1)

Le code BCH defini ici a une capacite de correction egale `


a 2, cest-`
a-dire que la
distance est de 5. En fait, il sagit dune valeur minimale de la distance. Cette
valeur minimale de la distance est appelee distance construite ou distance de projet;
Puisque la longueur des codes BCH est impaire, il faut penser `
a lutilisation de la
forme etendue de ces codes.

3.2.5.5

Les codes BCH

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

CHAPITRE 3. CODAGE DE CANAL

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

Exemple 1: alphabet binaire (F = Z2 )


Dans ce cas, si est un zero de w(x), 2i lest aussi et lon peut exclure les puissances
paires de de la definition. Pour t = 2, on retrouve le code BCH precedent (code BCH
`
a capacite de correction egale `
a tc = t = 2).
Exemple 2: alphabet binaire avec (tc = t = 3)
Les mots-codes satisfont `
a:
w() = w(3 ) = w(5 ) = 0
On prend par exemple = = element primitif de CG(24 ).
Les polyn
omes minimums de , 3 et 5 sont:
m1 (x)

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)

m1 (x)m3 (x)m5 (x)

(x4 x 1)(x4 x3 x2 x 1)(x2 x 1)

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)

(x )(x 3 )(x 9 ) = x3 2x2 1

m2 (x)

(x 2 )(x 6 )(x 18 ) = x3 2x2 2x 2

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

CHAPITRE 3. CODAGE DE CANAL

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

composantes nulles de w, il vient:

. . . (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

Le determinant de la matrice de ce syst`eme homog`ene de 2t equations lineaires `


a 2t
inconnues est non nul.



i1

1
1
i2
...
i2t


i
2
i
2
i
2
2
2t

( 1 )

i1
i2
(
)
.
.
.
(
)




i1 i2 . . . i2t

=
..
..
..
..
..



.
.
.
.
...
.



(i1 )2t (i2 )2t . . . (i2t )2t
(i1 )2t1 (i2 )2t1
 Y ip
=
i1 i2 . . . i2t
( iq ) 6= 0
p>q

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.

Remarque finale Etant


donne 2 nombres t et n (n > 2t + 1), on peut
construire un code BCH `
a alphabet q-aire (q premier avec n), de longueur n et `
a capacite
de correction au moins egale `
a t. Ce code est determine par le choix des zeros ,2 , . . . ,2t
des polyn
omes associes aux mots-codes, etant un element dordre n dans une certaine
extension du champ F constituant lalphabet.
Le choix de est sans importance, pourvu quil soit dordre n. Un choix different conduit
`
a un code equivalent. On aurait egalement pu definir un code BCH en utilisant les zeros
b ,b+1 , . . . ,b+2t1 (b entier et 0). Nous avons choisis b = 1 par souci de simplicite.
Une generalisation de la definition dun code BCH est donc la suivante.
On definit, en toute generalite, un code BCH comme etant un code cyclique de longueur
n defini sur CG(q) de distance construite dont, pour un certain b entier:

3.2.5.5.7

g(x) = PPCM [mb (x),mb+1 (x), . . . ,mb+2 (x)]


est le polyn
ome generateur.
Ceci signifie que g(x) est le polyn
ome monique de degre minimum defini sur CG(q) ayant
b ,b+1 , . . . ,b+2 comme zero.
Il sensuit que v(x) est un mot-code si et seulement si:
v(b ) = v(b+1 ) = . . . = v(b+2 ) = 0
La matrice de verification de parite de ce code est:

H=

1
b
2b
..
.

1
b+1
2(b+1)
..
.

(n1)b

(n1)(b+1)

...
...
...
...
...

1
b+2
2(b+2)
..
.

(n1)(b+2)

La distance reelle d de ce code est au moins egale `


a la distance construite .
Le cas b = 1, = 2t+1 que nous avons considere, sappelle parfois un code BCH restreint.
Il reste `
a presenter un algorithme de decodage aise. Cela fera lobjet du paragraphe 3.2.5.7, mais avant cela nous definirons les codes de Reed-Solomon.

3.2.5.6
3.2.5.6.1

Les codes de REED-SOLOMON

Introduction Ces codes qui appartiennent `a la famille des codes BCH


ne font pas appel `
a un alphabet binaire mais `
a un alphabet q-aire. Ceci peut paratre
etrange puisquils sont en general destines `
a etre utilises dans des voies de transmission

...
...
...
...

1
i2t
..
.
(i2t )2t1

162

CHAPITRE 3. CODAGE DE CANAL

binaires. Nous verrons `


a ce propos quils poss`edent une representation binaire qui conduit
dailleurs `
a des proprietes interessantes de correction derreurs par paquets.
Dans un code BCH, les i , zeros des polyn
omes associes aux mots-codes, appartiennent
`
a lextension du champ F constituant lalphabet des mots-codes. Les codes de ReedSolomon sont des cas particuliers des codes BCH o`
u les i sont choisis dans F meme et
non pas dans son extension. Rappelons `
a ce propos quun champ algebrique dextension
contient le champ F dont il est lextension (par exemple CG(pm ) contient CG(p)).
Ceci a comme consequence que le polyn
ome minimum (qui appartient `
a F (x)) associe `
a
un element i choisi, nest rien dautre que (x i ). De plus, un code de Reed-Solomon
est un code BCH primitif; sa longueur vaut donc n = q 1.

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

La distance minimale du code defini ci-dessus est 2t + 1 = n k + 1;


La dimension k de ce code est n 2t = q 1 2t.

3.2.5.6.4

Exemple Soit un alphabet F = CG(23 ) construit en utilisant le po-

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

Le mot-code correspondant au mot `


a coder
1

est:
3

3.2.5.6.5

Transformation du code q-aire en un code binaire Soit un code


de Reed-Solomon C defini sur un alphabet F = CG(2m ) = CG(q). A chaque symbole
de lalphabet correspond un m-uple de Z2m . Le code q-aire C de longueur n = 2m 1
peut donc engendrer un code binaire C de longueur nm en remplacant chaque symbole
q-aire du mot-code par sa representation binaire (1 symbole q-aire est remplace par m
elements binaires).
Exemple
Le mot q-aire
3

de lexemple precedent donne donc naissance au mot-code binaire:



110 000 011 010 101 100 110
Le code q-aire C8 (7,5) devient donc un code binaire C2 (21,15).
Cette transformation du code q-aire en un code binaire introduit une propriete tr`es
importante des codes de Reed-Solomon, `
a savoir celle de permettre la correction derreurs
par paquets.
Nous avons en effet suppose jusquici que les erreurs etaient distribuees de facon aleatoire.
Certains voies de transmission sont telles que les erreurs se produisent de facon groupee.
On parle alors dun paquet continu derreurs.
Les codes de Reed-Solomon presentent une capacite de correction elevee contre ce type
derreurs et ceci suite `
a la transformation du code q-aire en un code binaire. Si la capacite
de correction du code q-aire C est t et si le champ F utilise est CG(2m ), le code binaire
derive C peut corriger un paquet derreurs de (t1)m+1 elements binaires. Ceci garantit
en effet quau maximum t symboles q-aires adjacents sont entaches derreurs. Ceci suppose
evidemment que les paquets derreurs soient separe par des intervalles exempts derreurs
suffisamment longs pour que deux paquets successifs ne se situent pas dans le meme mot.

3.2.5.7

D
ecodage rapide des codes BCH

3.2.5.7.1 Introduction Nous avons presente une methode tr`es elegante de


decodage des codes BCH binaires `
a capacite de correction egale `
a 2. Nous aborderons
maintenant une methode generale de decodage rapide des codes BCH q-aires, le cas des
codes binaires en etant un cas particulier.
Nous considerons donc un code BCH q-aire de longueur n de distance construite defini
sur un champ fini F de cardinalite q.
Les mots-codes sont designes par v et les polyn
omes associes v(x)( F (x)) sont tels que
v(b+i ) = 0 pour i = 0,1, . . . ,( 2). Le mot recu correspondant est note w et la distance
de Hamming entre v et w est telle que:
d(v,w) = s t
Il y a donc s symboles differents entre v et w. La configuration derreurs est un mot q-aire
e tel que:
w =ve

164

CHAPITRE 3. CODAGE DE CANAL

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

elements non nuls de e (eij F ).


Le polyn
ome e(x) associe `
a e est donc:
e(x) = ei1 xi1 ei2 xi2 . . . eis xis
Le syndrome S est egal `
a:

S = wH = w(b )

w(b+1 )

w(b+2 )

...

s0

...

s2

Ses composantes sont donc si = w(b+i ) (i = 0,1, . . . , 2) et sont connues.


De plus w(b+i ) = v(b+i ) e(b+i ) = e(b+i ).
Si on note:
ik = ak
et
eik = bk
il vient:
s0

s1

ei1 bi1 ei2 bi2 . . . eis bis

b1 ab1 b2 ab2 . . . bs abs

ei1 (b+1)i1 ei2 (b+1)i2 . . . eis (b+1)is

b1 a1 b + 1) b2 a2 b + 1) . . . bs a(s b + 1)

..
.
si

ei1 (b+i)i1 ei2 (b+i)i2 . . . eis (b+i)is

b1 a1 b + i) b2 a2 b + i) . . . bs a(s b + i)

..
.
s2

ei1 (b+2)i1 ei2 (b+2)i2 . . . eis (b+2)is

b1 a1 b + 2) b2 a2 b + 2) . . . bs as( b + 2)

Soit de facon condensee:


si =

s
X
j=1

bj ab+i
0i2
j

3.2. COMPLEMENTS
SUR LES CODES PAR BLOCS LINEAIRES

165

Le probl`eme est de trouver les valeurs des bk = eik et des ak = ik .


La connaissance des ak permet par comparaison avec k de determiner ik cest-`
a-dire la
localisation des erreurs. Pour cette raison, les ak sont appeles les localisateurs. Les valeurs
des corrections `
a apporter ne sont rien dautre que les bk = eik . Les bk sont donc appeles
les evaluateurs.
A titre dexemple considerons le code de Reed-Solomon presente au paragraphe 3.2.5.6
( ). Soit le mot transmis:
v = 3 4 0 0 0 0 0
et le mot recu:

w = 3 4 5 0 0 0 0

La configuration derreurs est donc:


e = 0 0 4 0 0 0 0
car

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 )

De plus, la derivee formelle de (x) est une somme de polyn


omes de la forme:
ak (1 a1 x)(1 a2 x) . . . (1 ak1 x)1 ak+1 x) . . . (1 as x)
pour k = 1,2, . . . ,s.

166

CHAPITRE 3. CODAGE DE CANAL

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 )

ce qui demontre le theor`eme.


A ce stade, nous savons comment corriger les erreurs si les polyn
omes (x) et (x) sont
connus.
Il reste `
a montrer comment ces polyn
omes peuvent etre obtenus `
a partir du syndrome
S = (si ,i = 0,1, . . . ,s 2).

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 )

On definit ensuite un polyn


ome note s par:
s (x) = s0 s1 x s2 x2 . . .
avec par definition:
si =

s
X

bj ab+i
j , i 0

j=1

Rappelons que les coefficients si sont connus pour 0 i 2.


On verifie que:

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

Le produit (x)s (x) presente des proprietes interessantes:


" s
# s
Y
X
(x)s (x) =
(1 al x)
b j aj
s
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

Tout procede permettant de resoudre ce syst`eme de s 1 equations lineaires en


1 , . . . ,s fournit (x).

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

CHAPITRE 3. CODAGE DE CANAL


lalgorithme de Berlekamp et Massey;
lalgorithme dEuclide.

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

3.2.5.7.7.1 Principe Soit:


s : le poids de la configuration derreurs, a priori inconnu;
t : la capacite de correction
construite, deduite de la distance construite (supposee


impaire): t = 1
;
2
a-dire la valeur estimee
v : la valeur courante du poids de la configuration derreurs, cest-`
de s `
a un stade determine du calcul.
Du syst`eme dequations clefs,

sv1
sv

..

.
s2v2

on extrait le syst`eme suivant de v equations `


a v inconnues:

...
s0
1
sv

sv+1
...
s1
2

.. .. =
..

...
.
.
.
. . . sv1
v
s2v1

La matrice en facteur du vecteur des inconnues (1 , . . . ,v ) est notee M (v.v).


Le decodeur ignorant la valeur de v, son premier choix raisonnable est de choisir v = t et
ensuite, eventuellement, de diminuer cette valeur. Le probl`eme est de trouver un crit`ere
permettant de determiner si la valeur de v choisie est egale `
a s.
Crit`
ere
La matrice M est singuli`ere si v > s et reguli`ere d`es que v = s.
Pour demontrer ceci, il suffit de reecrire M sous la forme suivante en utilisant:
si =

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

La matrice M est reguli`ere si:

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

1. Calculer les syndromes sj = w(b+i ) avec i = 0,1, . . . , 2;


2. Partant de v = t, construire la matrice M 0 et en trouver le rang s en la mettant
sous forme en echelon par les lignes (voir annexe A);
3. Resoudre le syst`eme en 1 , . . . ,s (0 = 1);
4. Trouver par simple substitution (des elements successifs de CG(2m )) les racines
du polyn
ome localisateur (x). Les inverses de ces racines sont les localisateurs
a1 , . . . ,as .
5. Pour un code q-aire, trouver les evaluateurs bk . Pour cela, il suffit de resoudre le
syst`eme:

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

On remarquera que lutilisation de la matrice M 0 pour trouver le rang s de la


matrice M `
a letape 2 (ce qui implique une mise sous forme en echelon par les
lignes) facilite la resolution du syst`eme `
a letape 3.
Nous allons illustrer cette methode matricielle par un exemple o`
u le code BCH
considere est un code de Reed-Solomon (qui est donc necessairement q-aire).

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

CHAPITRE 3. CODAGE DE CANAL

h(x) = x3 x 1. 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
1
010
x
1
001
x2
2
110
x1
3
2
011
x x
4
2
111 x x 1 5
101
x2 1
6
La table daddition est:

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

Il sagit donc dun code C(7,3,5) `


a alphabet octal.
Supposons que le mot recu soit w = ( 6 ,, 5 , 2 ,1,0, 2 ). Le decodage seffectue comme
suit:
1. Calculer les 4 composantes du syndrome:
s0

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

2. Soit v = t = 2. La matrice M 0 secrit:



  3
s1 s0 s2

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

Cette matrice est de rang 2 do`


us=2
3. Le syst`eme `
a resoudre est donc:





s1 s0
1
s2
=
s2 s1
2
s3
On peut utiliser la forme en echelon de M 0 et ecrire:
 3


 3 
1

1
=
0
2

La seconde equation donne directement 2 :


2 = 1 = 6 = 7 = 1
La premi`ere equation permet ensuite dobtenir 1 :
3 1 2 = 3 1 =
Donc:

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

4. Par substitutions des elements successifs de CG(23 ), on trouve que () = ( 6 ) =


0.
Par exemple:
1 5 2 = 1 6 2 = 2 2 = 0
Les localisateurs sont donc:
a1 = ( 6 )1 = et a2 = ()1 = 6
La configuration derreurs e(x) la plus probable comporte donc 2 elements non
nuls aux degres 1 et 6.
5. Le syst`eme en b1 ,b2 est donc:
 0
a1
a1
Soit:
ou:




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

CHAPITRE 3. CODAGE DE CANAL

3.2.5.7.7.4 Conclusion Comme nous lavons dej`a signale, la methode matricielle


est relativement lourde lors de sa mise en oeuvre.
Plus precisement elle est limitee aux cas o`
u la capacite de correction tc est faible ((1)/2
petit). On peut en effet montrer que sa complexite algorithmique crot en t3c alors que
celle de la methode de Berlekamp-Massey crot en t2c .
3.2.5.7.8

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).

Figure 3.3 Registre `


a decalage `
a l cellules charge initialement par une sequence
delements s0 ,s1 , . . . ,sl1 dun champ F .
Le contenu initial du registre est multiplie par les elements de F notes respectivement
C1 , . . . , Cl ; les resultats des multiplications sont additionnes pour fournir:
sl = sl1 C1 sl2 C2 . . . s0 Cl
Le registre subit alors un decalage vers la gauche, la valeur sl etant introduite par la
droite. La sequence de sortie notee {si }i0 du LFSR est constituee par le contenu de la
cellule 0.
A chaque etape, lelement calcule et introduit dans le registre est donne par lequation
aux recurrences suivante:
si = si1 C1 si2 C2 . . . sil Cl i 1

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

Dans le produit, le coefficient de xi , (i l), est:


si C1 si1 C2 si2 . . . Cl sil
Il en resulte que lequation de recurrence caracterisant le LFSR exprime tout simplement
que, dans le produit h(x)s(x), les coefficients de xi (i l) sont nuls.
En dautres termes, le LFSR [h(x),l] engendre [s(x)]L
0 si et seulement si:
[s(x)h(x)]L
l = 0
Dans un probl`eme de synth`ese dun LFSR, on donne une suite {si }i0 de longueur L
et on demande de determiner la valeur minimale de l et le polyn
ome de connexion h(x)
(cest-`
a-dire le LFSR [h(x),l] de longueur minimale) tels que:
[s(x)h(x)]L
l = 0
La similitude entre le probl`eme de synth`ese dun LFSR et celui de la recherche du polyn
ome localisateur (x) apparat maintenant clairement.
La correspondance des notions est la suivante:
LFSR
Decodage dun code BCH
l : longueur du registre
s : poids de la configuration derreurs
h(x) : polyn
ome de connexion avec C0 = 1
(x) : polyn
ome localisateur avec 0 = 1
s(x) : polyn
ome deduit `
a la suite `
a engendrer s(x) : polyn
ome syndrome
Lalgorithme de Berlekamp et Massey que nous presenterons sans demonstration permet
donc de resoudre ces deux probl`emes equivalents.

3.2.5.7.8.3

Algorithme de Berlekamp et Massey Grossi`erement lalgo-

rithme est base sur la methode iterative suivante:


Trouver le LFSR de longueur minimale qui engendre s0 ;
Verifier si ce LFSR peut engendrer s0 s1 x. Dans la negative, le modifier, et
cetera,...

174

CHAPITRE 3. CODAGE DE CANAL

Plus precisement, si on note [hn (x),ln ] le LFSR qui engendre [s(x)]n1


, lalgorithme teste
0
n
si [hn (x),ln ] peut aussi engendrer [s(x)]n
cest-`
a
-dire
si
[h
(x)s(x)]
=
0.
n
0
ln
Les etapes precedentes garantissent en effet que [hn (x)s(x)]n1
,
coefficient
de xn dans
ln
hn (x)s(x) est nul.
On appelle la valeur de ce coefficient anomalie de rang n.
dn = sn

ln
X

Cni sni

i=1

o`
u:
les Cni proviennent de lexpression de hn (x):
hn (x) = 1 Cn1 x Cn2 x2 . . .

sn est le coefficient de xn dans s(x).

La veritable valeur fournie par le LFSR [hn (x),ln ] satisfait `


a lequation de recurrence
suivante:
ln
X
s0n =
Cni sni
i=1

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

dn = sn i=1 Cni sni

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

Lalgorithme demarre avec:


n

h0 (x) = h1 (x)

l0 = l1

k0

d1

et il est expedient dutiliser le tableau suivant:

n
-1
0

sn
1

ln
0
0

hn (x)
1
1

dn
1
1

kn
-1

lkn
0

hkn
1

dkn
1

La demonstration de cet algorithme sort du cadre de ce cours.

3.2.5.7.8.4 Exemple de lapplication de lalgorithme `


a la synth`
ese dun
registre `
a d
ecalage `
a r
eaction lin
eaire Appliquons cet algorithme `a un cas
simple o`
u le champ est CG(2) et o`
u la sequence est:
{si }i0 = {1,1,1,0,1,1,0,1}
On compl`ete le tableau ci-dessus en appliquant les r`egles de lalgorithme:

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

CHAPITRE 3. CODAGE DE CANAL

Figure 3.4 LFSR `


a 3 cellules qui engendre la sequence {1,1,1,0,1,1,0,1}.
3.2.5.7.8.5 Remarque Le polynome de connexion utilise dans ce chapitre est
lequivalent du polyn
ome caracteristique reciproque qui est utilise dans le chapitre
consacre `
a la cryptographie.
3.2.5.7.8.6

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

Exemple dapplication de lalgorithme

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

On retrouve (x) = 1 5 xx2 dont les racines sont et 6 cest-`


a-dire que a1 = ( 6 )1
1
6
et a2 = () = .
On trouve = 1 2 x.
On verifie que:
(x) = [(x)s(x)]30 = [(1 5 x x2 )(1 3 x 3 x2 x3 )]30
Calcul des
evaluateurs
(1b)

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

Cette solution correspond exactement `


a celle obtenue par la methode matricielle.

3.2.5.7.9

D
ecodage bas
e sur lalgorithme dEuclide

3.2.5.7.9.1 Algorithme dEuclide Cet algorithme permet de trouver le PGCD


de deux polyn
omes a0 (x) et a1 (x) definis sur un champ donne F .
3.2.5.7.9.2

Algorithme de d
ecodage

1. Calculer le syndrome S [si = w(i )] du mot recu w(x);


2. Appliquer lalgorithme dEuclide sur les polyn
omes a0 (x) = x2t et a1 (x) = s(x).
On notera k lindice du premier polyn
ome tel que:
degre ak (x) < t
Pour cette valeur de k, on pose:
d = [uk (0)]1

178

CHAPITRE 3. CODAGE DE CANAL


o`
u les ui (x) ont ete definis dans letude de lalgorithme dEuclide (voir annexe A).
On definit alors les polyn
omes:

(x) = d.uk (x)
(x) = (1)k+1 d.ak (x)
On peut demontrer que les polyn
omes ainsi definis concident avec les polyn
omes
de localisation et devaluation derreurs presentes precedemment.

3. Corriger les i-`emes symboles wi , i = 0,1, . . . ,n 1 pour lequel:


( i ) = 0
Ceci determine les valeurs de i a
` corriger. La valeur correcte est, i, ainsi definie:
1
vi = wi = ai w(ai )1 [ 0 (a1
i )]

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

Avant de discuter un algorithme qui determinera le maximum likelihood, nous allons


dabord considerer quelques concepts importants en relation avec le canal de transmission.
La sequence de mots-codes U (m) consiste en une suite de mots et chaque mot consiste `
a
son tour en n symboles-codes. Ceci peut etre considere comme un debit infini de donnees,
qui dans le cas le plus general est envoye vers le modulateur (au sens large du terme), o`
u
les symboles-codes sont transformes en signaux physiques. Le modulateur combine des
groupes de l symboles-codes, o`
u l est un nombre entier, en M signaux physiques si (t),
o`
u i = 1, 2, . . . , M = 2l . Dans le cas particulier o`
u l = 1, le modulateur transforme
chaque symbole-code en un signal physique. Le canal dans lequel ce signal physique est
alors envoye est suppose soumis `
a linfluence de bruit additif gaussien. Dans le recepteur,
ce signal deforme par le bruit est dabord demodule (au sens large du terme), et ensuite
seulement envoye au decodeur. Cette sequence est representee `
a la Figure 3.5.
Considerons quun signal binaire, envoye pendant lintervalle de temps elementaire [0,T],
represente par s1 (t) pour un 1 binaire, et par un s2 (t) pour un 0 binaire. Le signal recu
r(t) = si (t) + n(t), o`
u n(t) represente un bruit gaussien centre.
Dans une premi`ere etape, r(t) est dabord transforme dans le recepteur en un nombre
z(T ) = ai + n0 , o`
u ai est la composante signal de z(T ), et n0 represente la composante

3.3. COMPLEMENTS
SUR LES CODES CONVOLUTIFS LINEAIRES

Informatie

Convolutieve

bron

codegenerator

m = m1, m2, ...,mi,..


ingangssequentie

179

Modulator

U = G(m) = U1, U2, ..., Ui,...


codewoordsequentie

{si(t)}

AWGN
Kanaal

m = m1, m2, ..., mi, ...


uitgangssequentie

Z = Z1, Z2, ..., Zi, ...


waarbij Zi = z1i, ..., zji, ..., zni
en zji is de j-de demodulator output

Informatie

Convolutieve

bestemmeling

decoder

{si(t)}

Demodulator

Figure 3.5 Ensembles de (de)codage et de (de)modulation dun chemin de communication.

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

CHAPITRE 3. CODAGE DE CANAL

Likelihood van s2
p(z | s2)

Likelihood van s1
p(z | s1)

z(T)
000 001 010 011 100 101 110 111
0

zachte beslissing bestaande uit 8 niveaus


harde beslissing bestaande uit 2 niveaus

Figure 3.6 Decisions dures et souples.

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

Figure 3.7 Canal binaire symetrique (canal avec decisions dures).


Dans le cas dun CSB, lapplication dune strategie maximum likelihood dans le decodeur
0
se ram`ene `
a trouver le mot-code (probable) U (m ) ayant la plus petite distance de Hamming par rapport `
a la sequence recue Z. La distance de Hamming entre deux sequences
de longueur identiques nest en effet rien dautre que le nombre de bits differents entre
ces deux sequences. En voici la demonstration.
Supposons que la distance de Hamming entre un mot-code quelconque U (m) et Z est egal

`
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

CHAPITRE 3. CODAGE DE CANAL

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

Canal gaussien (CG) - d


ecisions souples

Dans le cas dun canal gaussien, chaque symbole zji `


a la sortie du demodulateur est issu
dun alphabet continu. Le symbole zji ne peut donc pas etre vu comme une decision
(binaire) correcte ou fautive de detection. On peut prouver [34] que la maximalisation de
P (Z|U (m) ) est equivalent `
a la maximalisation du produit de la sequence de mots-codes
envoyes U (m) (compose de symboles binaires) avec la sequence des valeurs analogiques
0
recues Z. Cela signifie que le decodeur choisit le mot-code U (m ) qui maximalise lexpression suivante:
X
n
X
(m)
zji uji ,
(3.6)
i=1 j=1

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

P (Z|U (m ) ) = max P (Z|U (m) ).


U (m)

(3.7)

3.3. COMPLEMENTS
SUR LES CODES CONVOLUTIFS LINEAIRES

183

Le concept de maximum de vraisemblance, comme il est formalise `


a lequation (3.7), est
un resultat fondamental de la theorie de la decision [13, 16, 17, 29]. Cest une methode de
decision sur les differentes possibilites o`
u on fait appel au bon sens lorsque de linformation
statistique est disponible.
Par exemple, dans le cas simple dune modulation binaire, on ne peut envoyer que deux
signaux (s1 (t) en s2 (t), qui sont supposes equiprobables). Dans ce cas particulier lapplication du principe du maximum de vraisemblance conduit `
a la prise de decision suivante
dans le recepteur; s1 (t) a ete envoye dans le cas o`
u:
p(z/s1 ) > p(z/s2 ),

(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)

P (zji |uji ) soit maximal.

(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

CHAPITRE 3. CODAGE DE CANAL

mot-code lors de la maximalisation. Nous pouvons donc definir la fonction log-likelihood


U (m) comme suit:
U (m) = log P (Z|U (m) ) =

X
i=1

(m)

log P (Zi |Ui

)=

X
n
X

(m)

log P (zji |uji ).

(3.11)

i=1 j=1

Le probl`eme du decodage (transforme) consiste maintenant en le choix dun chemin `


a
travers larborescence ou `
a travers le treillis, de sorte que la fonction log-likelihood U (m)
soit maximale. On peut theoriquement utiliser aussi bien larborescence que le treillis pour
le decodage de codes convolutifs. Lors de lutilisation dune arborescence, on nutilise pas
le fait que sa structure se rep`ete et que les memes chemins se representent. Si le nombre de
mots-codes pouvant etre envoyes pour une sequence qui compte L bits est 2L , le decodage
dune sequence de L bits `
a laide dune arborescence necessite la comparaison exhaustive
de 2L valeurs log-likelihood cumulees. Ces 2L valeurs log-likelihood cumulees representent
dailleurs les 2L mots-codes qui auraient pu etre envoyes. Il en decoule clairement que
dans la pratique les decodeurs maximum likelihood ne peuvent pas travailler avec une
arborescence.
Au contraire, le gros avantage de la representation en treillis est quil est possible avec ce
mode de representation de realiser un decodeur qui elimine les chemins qui ne peuvent
certainement plus etre des candidats pour la sequence `
a maximum de vraisemblance. Le
chemin code est donc choisi dans une liste de chemins survivants. Un tel decodeur est de
plus encore toujours optimal, dans le sens o`
u le chemin decode est exactement le meme
que le chemin que lon obtiendrait par lapproche exhaustive decrite ci-avant. Le rejet
rapide de chemins improbables reduit donc considerablement la complexite du decodeur.
Il existe plusieurs algorithmes qui offrent des solutions approchees pour le probl`eme du
decodage par maximum de vraisemblance. Ces methodes approchees sont toutes suboptimales. Au contraire, lalgorithme de decodage Viterbi implemente un veritable decodeur
`
a maximum de vraisemblance et est donc optimal. Cela ne signifie toutefois pas que lalgorithme de Viterbi est la meilleure solution `
a chaque application, etant donne que cet
algorithme impose des exigences elevees sur le plan de la complexite hardware.

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

dans le cours Electronique


Numerique dans le cadre des compteurs.
On peut montrer dans ce cas que le decodeur optimal revient `
a la recherche de la sequence
la plus probable dans le treillis. Selon que le decodeur soit base sur des decision dures
ou souples, la norme correspondante devant etre utilisee sera respectivement la norme
de Hamming ou la norme Euclidienne. Voici un exemple detaille dun decodeur optimal,
base sur le generateur de code convolutif represente `
a la Figure 3.8 et le treillis de ce
generateur de code represente `
a la Figure 3.9.

Ingangssequentie
2
Uitgangssequentie

Figure 3.8 Schema dun generateur de code convolutif `


a K = 3, k = 1, n = 3.
Considerons les deux chemins dans le treillis qui debutent `
a la situation initiale a et qui
terminent en a apr`es trois changements detat (trois branches). Ces deux chemins correspondent respectivement aux deux sequences dentree 000 et 100 et aux deux sequences
envoyees 000 000 000 et 111 001 011, ainsi que le montre la Figure 3.10.
A partir de maintenant nous utiliserons pour les bits envoyes la notation cjm , avec j =

186

CHAPITRE 3. CODAGE DE CANAL

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

Figure 3.9 Diagramme en treillis dun generateur de code convolutif `


a K = 3,
k = 1, n = 3.

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 = log P (Yj |Cj ),

j = 1, 2, 3, . . .

(3.13)

La probabilite associee au i`eme chemin, consistant en B branches `


a travers le treillis, est
definie comme:
P M (i) =

B
X

(i)

j .

(3.14)

j=1

Le crit`ere pour choisir entre deux chemins `


a travers le treillis est de choisir celui auquel
est associe la plus grande probabilite. Cette r`egle maximalise la probabilite dune decision
correcte ou, ce qui est equivalent, minimalise la probabilite dune erreur dans la sequence
recue de bits dentree. Supposons un instant que le decodeur est du type decisions dures
et supposons que la sequence recue est la suivante: 101 000 100. Soit i = 0 le chemin
consistant en trois branches ne contenant que des zeros et soit i = 1 le deuxi`eme chemin
`
a trois branches qui debute en letat a et qui rejoint dans le meme etat a le chemin ne
contenant que des zeros apr`es trois pas. La probabilite associee `
a ces deux chemins sera
alors:

P M (0) = 6 log(1 p) + 3 log p


PM

(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

CHAPITRE 3. CODAGE DE CANAL

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)

rjm (2cjm ) 1),

(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

rjm (2cjm ) 1),

(0)

(3.19)

(1)

(3.20)

j=1 m=1

CM (1) =

3 X
3
X

rjm (2cjm ) 1).

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

Pour la simplicite, considerons un Canal Symetrique Binaire: le distance de Hamming


est donc la norme appropriee. Le generateur de code elementaire pour cet exemple est
represente `
a la Figure 3.11 et le treillis de ce generateur de code est represente `
a la
Figure 3.12. Un treillis similaire peut etre utilise pour representer le decodeur, ainsi
quon peut le voir `
a la Figure 3.13.

input bit
1e gecodeerde bit
Uitgangssequentie

2e gecodeerde bit

Figure 3.11 Generateur de code elementaire de rendement de codage 21 .


Lidee qui est `
a la base de la procedure de decodage se comprend le mieux en comparant
le treillis du generateur de code de la Figure 3.12 au decodeur de la Figure 3.13. Pour
le treillis du decodeur, il est indique detiqueter chaque branche au moment ti avec la
distance de Hamming entre le symbole-code recu et la branche correspondante du treillis
du decodeur. Lexemple de le Figure 3.13 montre une sequence de message m, la sequence
de mots codes envoyes correspondante U = 11 01 01 00 01 . . ., et une sequence recue
Z = 11 00 01 00 01 . . . alteree par du bruit. Les mots-codes qui sont relies aux branches
du treillis du generateur de code caracterisent compl`etement le generateur de code de la
Figure 3.11 et ils sont donc aussi a priori connus aussi bien par le generateur de code que
par le decodeur. Ces mots-codes apparaissent `
a la sortie du generateur de code suite aux
transitions detat respectives. Les etiquettes liees aux branches du treillis du decodeur
sont immediatement accumulees par le decodeur. Cela implique que lors de la reception
des symboles-codes, chaque branche du treillis du decodeur est etiquetee par une norme
de similarite (in casu la distance de Hamming) entre le symbole code recu et chacun des
mots codes (ayant pu etre envoyes) dans cet intervalle de temps.

190

CHAPITRE 3. CODAGE DE CANAL

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

Figure 3.12 Treillis du generateur de code convolutif precedent.

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

Figure 3.13 Exemple dun treillis pour un decodeur convolutif K = 3, k = 1,


n = 2.

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

Figure 3.14 Distance de (Hamming) pour deux chemins se rencontrant.


Nous definissons la distance de chemin de Hamming cumulee pour un chemin donne au
moment ti comme la somme des distances de Hamming de toutes les branches qui font
partie du chemin considere. La partie superieure de la Figure 3.14 a une distance de
chemin de 2, tandis que la partie inferieure a une distance de chemin de 3. Cela signifie
que le chemin inferieur ne peut pas faire partie du chemin optimal (au sens de la distance
la plus petite), etant donne que le chemin superieur qui arrive dans le meme etat a une
mesure de distance inferieure. A chaque moment ti il y a 2K1 etats dans le treillis, o`
u
K represente la longueur de memoire. En regime chaque etat peut etre atteint via deux
chemins. Le decodage Viterbi consiste `
a determiner pour ces deux chemins la mesure de
distance et `
a ecarter lun dentre eux. Ce calcul des distances de chemin est fait pour
chacun des 2K1 noeuds au moment ti ; ensuite le decodeur passe au moment ti+1 et
recommence tout le processus. Les premiers pas dans notre exemple se passent comme
suit (voir Figures 3.15 `
a 3.22).
Nous supposons que la sequence de donnees dentree m, les mots codes U et la sequence
recue Z sont ceux de la Figure 3.13. Nous supposons egalement que le decodeur connat
la situation initiale correcte du treillis. Au moment t1 les symboles codes recus sont 11.
Les seules transitions possibles depuis letat 00 sont celles vers letat 00 ou vers letat 10,
ainsi que le montre la Figure 3.15. La transition de 00 vers 00 a une mesure de distance
2 et la transition de 00 vers 10 a une mesure de distance 0.

192

CHAPITRE 3. CODAGE DE CANAL

Pad afstanden
a = 00

t1

t2

D=2

0
D=0

b = 10

Figure 3.15 Chemins restants au moment t2 .


Au moment t2 , deux branches possibles partent de chaque etat, ainsi que le montre la
Figure 3.16. Les distances de chemin cumulees correspondantes sont mentionnees `
a c
ote
des noeuds darrivee respectifs.
Pad afstanden
a = 00

t1

t2
0

t3

D=2

2
D=4

b = 10
1
c = 01

d = 11

D=1

D=1

Figure 3.16 Chemins restants au moment t3 .


Au moment t3 , represente `
a la Figure 3.17, deux branches partent `
a nouveau de chaque
etat. Suite `
a quoi deux chemins aboutissent dans le meme etat au moment t4 . Ainsi
que dej`
a mentionne precedemment, on peut ecarter un chemin entrant par etat, celui
possedant la plus grande distance de chemin cumulee. Si les distances de chemin de deux
chemins se rencontrant sont egales, il faut alors choisir lun deux au moyen dune r`egle de
decision quelconque. Le chemin restant pour chaque etat est represente `
a la Figure 3.18.
A ce moment dans le processus de decodage il ne reste plus quun seul chemin entre les
moments t1 et t2 . Cela permet au decodeur de decider que le changement detat survenu
entre les moments t1 et t2 etait la transition de 00 vers 10. Si cette transition a ete causee
par un bit dentree egal `
a 1, le decodeur fournit un 1 comme premier bit decode. Ici
nous voyons que le decodage de la branche survivante a ete simplifiee par le dessin du
treillis en traits pleins pour les bits dentree egaux `
a 0 et en traits pointilles pour les
bits dentree egaux `
a 1. Remarquons que le premier bit na ete decode quapr`es le calcul
des distances de chemin, beaucoup plus loin dans le treillis. Pour une implementation
de decodeur typique, cela entrane un retard de decodage qui peut selever `
a 5 fois la
longueur de memoire en bits.
A chaque nouvelle etape dans le processus de decodage, il y a toujours deux chemins
possibles qui arrivent dans chaque etat; `
a chaque fois lun dentre eux sera ecarte en
comparant les distances de chemin respectives. Dans la Figure 3.19, letape suivante

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

Figure 3.17 Comparaisons des distances au moment t4 .

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

Figure 3.18 Chemins restants au moment t4 .

193

194

CHAPITRE 3. CODAGE DE CANAL

du processus de decodage est representee. Comme dej`


a mentionne il y a au moment
t5 deux chemins qui aboutissent `
a chaque etat possible, et un de chacun dentre eux
peut toujours etre ecarte. Les chemins survivants au moment t5 sont representes `
a la
Figure 3.20. Remarquons que dans notre exemple aucune decision ne peut encore etre
prise concernant le deuxi`eme bit de donnee, etant donne quil y a encore deux chemins
qui quittent letat 10 au moment t2 .
a = 00

t1

t4

t3

t2

t5

0
1

b = 10

2
0

1
1

c = 01
0

1
d = 11

Figure 3.19 Comparaisons des distances au moment t5 .

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

Figure 3.20 Chemins survivants au moment t5 .


Au moment t6 dans la Figure 3.21 nous remarquons `
a nouveau le meme schema (deux
chemins aboutissant `
a chaque etat) et `
a la Figure 3.22 on a represente les chemins survivants au moment t6 .
Le decodeur poursuit ainsi son chemin dans le treillis et prend des decisions concernant
les bits dentree (possibles) en eliminant tous les chemins sauf un.
Remarquons quau moment t6 aucune decision definitive ne peut encore etre prise concernant le deuxi`eme bit dentree, etant donne quil reste encore deux chemins entre les moments t2 et t3 . On peut cependant dej`
a voir que le chemin de plus petite distance (i.e. le
chemin le plus probable), in casu le chemin de mesure de distance D = 1, est le chemin
o`
u la sequence decodee est identique `
a la sequence codee, cest-`
a-dire: 1 1 0 1 1. On peut
verifier que ce chemin est effectivement le chemin qui restera lorsque le decodeur aura
progresse plus avant dans le treillis et lon voit donc que lerreur qui setait introduite
entre t2 et t3 a bien ete corrigee.

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

Figure 3.21 Comparaison des distances au moment t6 .

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

Figure 3.22 Chemins survivants au moment t6 .

196
3.3.2.4

CHAPITRE 3. CODAGE DE CANAL


Remarque concernant lespace m
emoire n
ecessaire

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

La distance (libre) dun code convolutif

Considerons les proprietes de distance des codes convolutifs dans le contexte du


generateur de code elementaire que nous avons dej`
a etudie et qui, pour la simplicite,
est de nouveau represente `
a la Figure 3.23. Le treillis correspondant est repris `
a la
Figure 3.24.

input bit
1e gecodeerde bit
Uitgangssequentie

2e gecodeerde bit

Figure 3.23 Schema dun generateur de code elementaire de rendement de codage


1
emoire K = 3.
2 et de longueur de m

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

Figure 3.24 Treillis du generateur de code elementaire.

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

CHAPITRE 3. CODAGE DE CANAL

0
2

t2

t4

t3

b = 10

t5

t6

c = 01
1

d = 11
1

1
1

1
1

Figure 3.25 Treillis mentionnant la distance de Hamming par rapport au chemin


consistant en zeros uniquement.
pour les deux chemins situes `
a la distance 6 sont respectivement 1100 et 10100. Ces
sequences dentree diff`erent chacune de deux positions de la sequence dentree correcte.
La distance minimale dans lensemble de tous les longs chemins qui dabord divergent et
ensuite convergent vers letat 00, appelee la distance libre minimale ou tout simplement
distance libre est egale `
a 5 dans notre cas. Pour le calcul de la capacite de correction
derreur tc dun code convolutif nous utilisons la meme formule que dans le cas de codes
en bloc, mais o`
u la distance d du code en bloc est remplacee par la distance libre df du
code convolutif:

tc =


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

Codes convolutifs syst


ematiques et non syst
ematiques

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

Code non systematique


3
5
6
7
8
10
10

Propagation catastrophique derreur dans les codes convolutifs

Une erreur catastrophique est definie comme un evenement o`


u un nombre fini derreurs
dans les symboles de code donnent lieu `
a un nombre infini derreurs dans la sequence
de bits decodee. On peut montrer [20] quil existe une condition necessaire et suffisante
pour quun code convolutif presente un comportement de propagation derreur catastrophique. Pour les codes de rendement de codage n1 , avec des embranchements du registre `
a
decalage dont lemplacement est determine par des polyn
omes generateurs, la condition
necessaire et suffisante pour une propagation derreur catastrophique est que ces polyn
omes generateurs aient un facteur polyn
omial commun (du premier degre au moins).
On donne dans la figure 3.27 un exemple de generateur de code convolutif de rendement
de codage 12 et de longueur de memoire K = 3.
Ce generateur de code convolutif peut etre caracterise par les polyn
omes de connexion
suivants:
g1 (X) = 1 + X
2

g2 (X) = 1 + X .

(3.23)
(3.24)

200

CHAPITRE 3. CODAGE DE CANAL

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

Limite superieure (dB)


3,97
4,76
5,43
6,00
6,99
6,99
7,78

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

CHAPITRE 3. CODAGE DE CANAL

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

Limite superieure (dB)


4,26
5,23
6,02
6,37
6,99
7,27
7,78

Optimalisation du rendement de codage

La capacite de correction derreur dun code convolutif augmente lorsque le nombre de


symboles n par k bits dentree augmente, ce qui revient `
a une diminution du rendement
de codage nk . Le probl`eme est par ailleurs quaussi bien la bande passante necessaire que
la complexite du decodeur augmentent avec n. Lavantage de lemploi de codes convolutifs de faible rendement de codage reside dans le fait que le rapport signal-bruit requis
devient plus petit, ce qui permet datteindre soit de plus hauts debits binaires pour
une puissance donnee, soit dutiliser moins de puissance pour atteindre un debit binaire
donne. Des etudes ont montre que pour une longueur de memoire fixe K, une diminution
du rendement de codage de 21 vers 31 entrane une diminution du rapport signal-bruit
denviron 0,4 dB. Laugmentation correspondante de complexite du decodeur sel`eve toutefois `
a environ 17%. Pour des rendements de codage inferieurs, laugmentation relative
de performance diminue rapidement en fonction de laugmentation de complexite du
decodeur [7].

3.4

Comparaison entre codes par blocs et convolutifs

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

3.5. ENTRELACEMENT (INTERLEAVING)

203

arrivent dephases lun par rapport `


a lautre et que le signal recu cumule est de par ce
fait perturbe. Les canaux radio qui font appel `
a la propagation tropospherique ou `
a des
canaux HF presentent ce genre de phenom`enes. Dautres types de canaux sont soumis `
a
des bruits impulsionnels (comme par exemple le canal telephonique). Tous ces probl`emes
lies au temps resultent en une dependance statistique entre les symboles emis successivement. En dautres termes, ceci signifie que ce genre de perturbations est responsable du
fait que les erreurs se produisent par paquets, au lieu darriver comme des evenements
isoles. Remarquons que cette dependance statistique na rien `
a voir avec une eventuelle
dependance statistique des signaux emis.
En supposant que le canal dispose dune memoire, les erreurs ne peuvent plus etre
caracterisees comme des erreurs distribuees de mani`ere stochastique, qui arrivent
independamment `
a chaque bit. Le plupart des codes en blocs ou convolutifs sont
construits pour combattre des erreurs independantes distribuees de mani`ere stochastique. Le resultat de lutilisation dun canal `
a memoire dans le cas des signaux qui ont
ete code de cette facon-l`
a, est que la capacite de correction derreurs sera diminuee. Des
techniques de codages speciales pour des canaux `
a memoire ont ete proposees, mais le
plus grand probl`eme avec ce genre de codes est la difficulte dobtenir des mod`eles precis
de ces canaux, qui ont souvent des caracteristiques qui varient dans le temps. Un autre
technique souvent utilisee, qui ne necessite que la connaissance de la grandeur ou de
lenvergure de la memoire du canal, et non de ses caracteristiques statistiques exactes,
consiste `
a utiliser la diversite dans le temps. Elle est plus souvent appele entrelacement
(interleaving).
Lentrelacement du message code avant la transmission et le des-entrelacement apr`es
reception, font que, dans le cas ideal, les erreurs qui arrivent par paquets soient dispersees dans le temps dune mani`ere telle quelles peuvent etre traitees par le decodeur
comme sil sagissait derreurs distribuees de mani`ere stochastique. Puisque en pratique,
leffet de la memoire du canal diminue avec laugmentation de la separation temporelle
entre symboles, lidee de base de lentrelacement est de separer dans le temps les symboles
qui constituent un mot-code. Les moments de temps entre les differents constituants dun
meme symboles sont alors remplis avec des elements constituants dautres symboles (pour
des raisons defficacite, comme cetait le cas pour le multiplexage temporelle). La distribution des elements constituants dun mot-code dans le temps a effectivement comme
effet de transformer un canal `
a memoire en un canal sans memoire, ce qui permet `
a son
tour dutiliser les codes de detection et correction derreurs pour des erreurs distribuees
de mani`ere stochastique, definis ci-dessus, dans un canal caracterise par des erreurs qui
arrivent par paquets.
Lentrelacement distribue les symboles du code sur une envergure de plusieurs longueurs
de blocs (dans le cas des codes en blocs) ou sur plusieurs longueurs de contrainte (dans
le cas des codes convolutifs). Lenvergure requise depend de la duree de la sequence
derreurs. Les details du schema de redistribution des bits doivent etre connus dans le
recepteur, afin de pouvoir proceder au des-entrelacement de la sequence de symboles
recus avant le decodage. Figure 3.29 presente un exemple simple dentrelacement.
En haut de la Figure 3.29 on voit sept mots-codes (A jusqu`
a G) sans entrelacement.
Chaque mot-code est compose de sept symboles de code. Supposons maintenant que
le code poss`ede une capacite de correction derreurs de 1 (la distance est par exemple
de 3) `
a linterieur de chaque sequence de sept symboles. Si lenvergure de la memoire
du canal est egale `
a la duree dun mot-code, alors une telle impulsion de bruit qui est
presente pendant sept moments peut detruire linformation qui est present dans un `
a
deux mots-codes. Supposons cependant que, apr`es avoir code les donnees, on entrelace
les symboles de code, comme cest presente en bas de la Figure 3.29. Ceci signifie que
chaque symbole de code de chaque mot-code est separe de son voisin original, par une

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

Figure 3.29 Exemple simple dentrelacement.

3.5. ENTRELACEMENT (INTERLEAVING)

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

Lentrelacement par bloc

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

Output Sequence: 1,5,9,13,17,21,2,6,10,...


Figure 3.30 Exemple simple dun entrelacement par bloc.

206

CHAPITRE 3. CODAGE DE CANAL

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

3.5. ENTRELACEMENT (INTERLEAVING)

207
(N1)J

Commutator
switches
J

(N2)J

2J
2J
From

Channel

encoder

To
decoder

(N2)J

(N1)J
Interleaver

Deinterleaver

Figure 3.31 Realisation dun entrelacement convolutif `


a laide de registres `
a
decalage.
egalement montree ici. Dans la premi`ere partie de la Figure 3.32 on montre comment les 4
premiers symboles sont charges. Les x representent des etats inconnus. La deuxi`eme partie
de la Figure 3.32 montre comment les 4 premiers symboles avancent dans les registres et
montre egalement lentree des symboles 5 `
a 8 dans lentrelacement. La troisi`eme partie
de la Figure 3.32 montre lentree des symboles 9 `
a 12 dans lentrelacement. Les registres
de des-entrelacement sont maintenant rempli de symboles, mais rien dutile nest envoye
`
a ce moment au decodeur. Enfin, dans la quatri`eme partie de la Figure 3.32 on montre
comment les symboles de 13 jusqu`
a 16 sont entres dans lentrelacement, et `
a la sortie des
registres de des-entrelacement apparaissent maintenant les symboles de 1 jusqu`
a 4 qui
sont envoyes vers le decodeur. Le processus continue de cette mani`ere, jusquau moment
o`
u la sequence compl`ete du mot-code `
a ete transmise au decodeur, sous sa forme originale,
cest-`
a-dire dans la forme quelle avait avant lentrelacement.
La performance dun entrelacement convolutif est tr`es comparable avec celle dun entrelacement par bloc. Lavantage principal dun entrelacement convolutif par rapport `
a un
entrelacement par bloc, est quavec un entrelacement convolutif le retard total est egal `
a
M (N 1) symboles, o`
u M = N J, et la capacite memoire requise est egale `
a M (N 1)/2
aux deux extremites du canal de transmission. Ceci signifie quon peut obtenir aussi bien
dans le retard que dans la capacite memoire une diminution de 50 % par rapport aux
valeurs quon avait trouvees pour lentrelacement par bloc.

3.5.4

Les codes enchan


es

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

CHAPITRE 3. CODAGE DE CANAL


From
encoder
1

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

Figure 3.32 Exemple simple dun entrelacement convolutif avec 4 registres `


a
decalage et J = 1.

3.5. ENTRELACEMENT (INTERLEAVING)


Input
data

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.

est dhabitude regle de facon `


a corriger la plupart des erreurs de canal. Le code externe,
qui normalement est un code avec un bon rendement (et donc une faible redondance),
diminue la probabilite derreur de facon `
a atteindre le taux derreurs residuel souhaite.
La raison principale dutilisation dun code enchane est dobtenir une faible probabilite
derreur, tout en maintenant la complexite dimplementation totale plus basse que celle
qui serait necessaire pour obtenir cette meme probabilite derreur dans le cas dun codage
unique. Dans le schema de la Figure 3.33 on utilise un entrelacement entre les deux
codages. Ceci est la plupart du temps obligatoire, afin de distribuer les erreurs qui arrivent
par paquets avant de passer au codage interne.
Un des codes enchanes le plus populaire utilise un code interne (applique en dernier,
enleve en premier) convolutif (avec decodage de Viterbi) et un code de Reed-Solomon
comme code externe (applique en premier, enleve en dernier), un entrelacement adequat
etant utilise entre les deux codes. Dans ce syst`eme, le demodulateur fournit les symboles
quantifies sur plusieurs bits (decisions souples) au decodeur interne convolutif, qui `
a son
tour transmet des symboles quantifies sur un bit (decisions dures), entaches derreurs
qui se manifestent par paquets, au decodeur externe de Reed-Solomon. Ce code ReedSolomon externe est forme partant de segments `
a m-bit de la sequence binaire de donnees.
La performance dun tel code (non-binaire) ne depend que du nombre de symboles errones
dans un bloc, et non pas du nombre de bits errones! En effet, un code Reed-Solomon nest
pas perturbe par larrivee de paquets derreurs au sein meme dun symbole de m-bits.
Ceci signifie que, pour un debit determine de symboles errones, la performance dun tel
code est la meme, peu importe si les symboles errones sont maintenant dus `
a un seul bit
errone ou `
a m bits errones par symbole! La performance du syst`eme enchane est par
contre serieusement mise en echec par lapparition derreurs correlees dans de symboles
successifs. Cest pour cela que lentrelacement doit se faire au niveau du symbole et non
pas au niveau du bit.

210

CHAPITRE 3. CODAGE DE CANAL

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

Le cas de deux classes de signaux

Supposons que les elements binaires logiques 1 et 0 soient representes de facon


electronique par des tensions de respectivement +1 V et -1 V. La variable d est utilisee pour representer le bit dinformation transmis, sans faire une distinction entre la
representation logique ou la representation electronique. Parfois une representation est
plus parlante quune autre; le lecteur (attentif) devrait etre en meme de deduire la
difference du context.
Supposons que le 0 binaire (ou la tension de -1 V) soit lelement neutre pour laddition.
Pour la transmission dun signal sur un canal AWGN, la Figure 3.34 represente les PDFs
conditionnelles, que nous avons appelees ci-dessus les fonctions likelihood.

Figure 3.34 Fonctions likelihood.


La fonction la plus `
a droite p(x|d = +1) montre la PDF de la variable stochastique x,
en supposant que d = +1 a ete transmis. La fonction la plus `
a gauche p(x|d = 1)
montre la PDF de la variable stochastique x, en supposant que d = 1 a ete transmis.
Labscisse represente la gamme compl`ete de valeurs possibles pour la statistique de test
x, qui peuvent etre obtenues dans le recepteur. Dans la Figure 3.34 est montree une de ces
valeurs quelconque xk , o`
u lindice k ref`ere `
a une observation faite dans le k-`eme intervalle
de temps. Une ligne verticale partant de xk presente deux points dintersection avec les
deux fonctions likelihood, ce qui donne lieu `
a deux valeurs likelihood: l1 = p(xk |dk = +1)

212

CHAPITRE 3. CODAGE DE CANAL

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)

Log-Likelihood Ratio (LLR)

En prenant le logarithme du likelihood ratio developpe dans les equations (3.27) `


a (3.30),
nous obtenons une mesure utilisable qui est appelee le log-likelihood ratio (LLR). Cest
un nombre reel qui represente la decision souple `
a la sortie dun detecteur et qui est
indiquee par:




P (d = +1|x)
p(x|d = +1)P (d = +1)
L(d|x) = log
= log
(3.31)
P (d = 1|x)
p(x|d = 1)P (d = 1)
de facon `
a ce que:

L(d|x) = log




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)

est le LLR dun bit dinformation `


o`
u L0 (d)
a la sortie du demodulateur (et donc `
a
appele LLR extrins`eque, represente la connaissance
lentree du decodeur) et Le (d),
supplementaire que lon extrait du decodage. La sequence de sortie dun decodeur
systematique est composee de valeurs qui representent les bits dinformation et les bits
redondants. En partant des equations (3.34) et (3.35), nous pouvons maintenant ecrire
le LLR `
a la sortie du decodeur de la mani`ere suivante:
= Lc (x) + L(d) + Le (d)

L(d)

(3.36)

Lequation (3.36) montre que le LLR `


a la sortie dun decodeur systematique peut etre
represente comme une somme de trois elements LLR: une mesure-canal, la connaissance a
priori concernant les donnees et un LLR extrins`eque qui ne provient que du decodage. Ces

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)

la decision dure (cest-`


a-dire pour des valeurs positives de L(d), decider que d = +1 et
fournit une mesure de la
pour des valeurs negatives que d = 1). La grandeur de L(d)
due au decodeur, est
confiance dans cette decision. Souvent la valeur du LLR de Le (d),
soit amelioree.
du meme signe que Lc (x) + L(d) et fait en sorte que la confiance 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

CHAPITRE 3. CODAGE DE CANAL

Figure 3.35 Decodeur `


a entree souple et sortie souple (pour un code
systematique).
La valeur du LLR canal Lc (x) est mesuree en prenant le logarithme du ratio des valeurs
de l1 et l2 pour une valeur specifique de x (voir Figure 3.34), qui intervient comme
deuxi`eme terme dans lequation (3.32).
du decodeur de la Figure 3.35 est composee du LLR L0 (d)
du detecteur
La sortie L(d)
qui represente la connaissance que lon arrive `
et du LLR extrins`eque Le (d),
a extraire
du processus de decodage. Comme on le montre dans la Figure 3.35 on va, dans le
cas dun decodage iteratif, de nouveau injecter le likelihood extrins`eque `
a lentree (dun
autre decodeur-constituant), o`
u il fera office de raffinement de la probabilite a priori des
donnees pour literation suivante.

215

Chapitre 4

Transmissions en bande
restreinte
4.1

Position du probl`
eme

Le canal de transmission considere jusquici etait un canal soumis `


a un bruit additif
gaussien. Les moments binaires recus `
a lentree du recepteur netaient entaches que de
cette seule perturbation. Sur cette base, il est possible de determiner le recepteur optimum
(regenerateur) de facon telle que la probabilite derreur resultante soit minimale (voir
chapitre 7).
Les canaux de transmission reels sont en outre caracterises par une bande passante limitee
si bien que, meme en labsence de bruit additif (ce que nous supposerons par la suite), le
signal presente au recepteur nest pas le signal emis!
Le probl`eme general `
a resoudre est donc celui de la transmission `
a travers un filtre passebas de frequence de coupure fc dun signal numerique qui de mani`ere generale peut etre
un signal M -aire tel que represente `
a la Figure 4.1).
Cette figure montre le signal emis et le signal presente au recepteur.
Si r(t) represente une impulsion rectangulaire damplitude 1 centree sur lorigine et de
duree T (intervalle unitaire, voir Figure 4.2), on peut representer le signal numerique
emis par lexpression:
se (t) =

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

CHAPITRE 4. TRANSMISSIONS EN BANDE RESTREINTE

Figure 4.1 Transmission numerique synchrone `


a travers un filtre passe-bas.

Figure 4.2 Limpulsion rectangulaire unitaire r(t).


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

Pour bien comprendre cette formule, il faut voir que:


lr (t) est une impulsion centree sur t = p ;
lr (t iT )est la meme impulsion centree sur t = iT + p .
et on calcule `
a linstant kT + p dechantillonnage du k-`eme moment la contribution de
limpulsion principale (`
a savoir ck lr (p )) et celles indesirees de toutes les autres impulsions
(`
a savoir les valeurs des ci lr (t iT ) `
a linstant t = kT + p , i 6= k).
Posons n = k i. On obtient:
X
sr (kT + p ) = ck lr (p ) +
ckn lr (nT + p )
n6=0

et si on prend lr (p ) = 1:
sr (kT + p ) = ck +

ckn lr (nT + p )

n6=0

Le second terme de lexpression ci-dessus represente linterference intersymbole qui


sajoute `
a la contribution principale du k-`eme moment pour donner la valeur reellement
mesuree sr (kT + p ).
Les consequences de cette interference peuvent etre annulees si:
X
Ik =
ckn lr (nT + p ) = 0, k
n6=0

218

CHAPITRE 4. TRANSMISSIONS EN BANDE RESTREINTE

Figure 4.3 Representation de lr (t) en fonction de la frequence de coupure fc .


4.2. INTERFERENCE
ENTRE SYMBOLES

Figure 4.4 Representation de sr (t).

219

220

4.3

CHAPITRE 4. TRANSMISSIONS EN BANDE RESTREINTE

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

Leffet dinterference intersymbole peut etre reduit en augmentant la bande passante du


filtre L ou en reduisant la rapidite de transmission R. Dans les deux cas, il y a mauvaise
utilisation de la bande passante disponible. Lexpression de Ik sugg`ere une autre mani`ere
de proceder.
Le terme dinterference Ik est nul quel que soit k si la reponse lr (t) du filtre satisfait les
conditions suivantes:
lr (p ) = 1
lr (nT + p ) = 0, n entier 6= 0
La courbe lr (t) de la Figure 4.6 satisfait `
a ces conditions.
Pour obtenir une reponse lr (t) de ce type, on peut agir sur deux elements:
1. les caracteristiques du filtre;
2. la forme de limpulsion associee `
a un symbole dans le signal van sr (t).
Comme il existe une infinite de formes dimpulsion possibles, il est difficile de formuler
une solution generale au probl`eme. On peut cependant y parvenir en remarquant que
limpulsion associee `
a un symbole peut etre consideree comme la reponse impulsionnelle
dun filtre generateur G auquel on applique une impulsion de Dirac (dont lintensite est
egale `
a la valeur du symbole `
a transmettre). La reponse lr (t) peut alors etre consideree
comme la reponse impulsionnelle dun filtre unique H constitue des deux filtres G et L
branches en serie (voir Figure 4.7).
Le signal sr (t) peut etre considere comme la reponse du filtre equivalent H `
a un signal numerique s
e dune suite dimpulsions de Dirac ponderees par les valeurs
e constitu


4.4. SUPPRESSION DE LINTERFERENCE
INTERSYMBOLE

221

Figure 4.5 Representation de diagramme de loeil typique pour un signal `


a 3
niveaux.

222

CHAPITRE 4. TRANSMISSIONS EN BANDE RESTREINTE

Figure 4.6 Reponse sans interference intersymbole.

Figure 4.7 Mise en serie des filtres G et L.

`
4.5. PREMIER CRITERE
DE NYQUIST

223

successives ck des symboles `


a transmettre:
X
s
ck (t kT )
e =
k

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

Le filtre L a alors une transmittance L(f ) de la forme:


L(f ) =

f T
H(f )
sin f T

Dune facon generale, il est toujours possible de calculer G(f ) `


a partir de la forme dimpulsion choisie pour representer un symbole. Si la forme souhaitee de H(f ) est connue,
on peut alors en deduire lexpression de L(f ).

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

CHAPITRE 4. TRANSMISSIONS EN BANDE RESTREINTE

Si h (t) est la suite des echantillons de h(t) preleves aux instants t = nT :


X
h (t) =
h(nT )(t nT )
n

h(t)

(t nT ),

les conditions precedentes peuvent secrire sous la forme:


X
(t nT ) (t).
h(t)
n

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 )

represente loperation de convolution.


La fonction p(t) etant periodique de periode T , elle peut etre developpee en serie de
Fourier:
X
p(t) =
k ej2k/T
k

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.

Lequation ci-dessus est lexpression frequentielle du premier crit`ere de Nyquist. Son


premier membre est periodique de periode 1/T , il suffit donc que legalite soit satisfaite
pour une periode, par exemple:
0 f < 1/T

`
4.5. PREMIER CRITERE
DE NYQUIST

4.5.2

225

Cas dun filtre de fr


equence de coupure fc 1/T

Dans le cas particulier o`


u on consid`ere un filtre de frequence de coupure fc 1/T , on a
H(f ) = 0 pour |f | 1/T .
Le crit`ere de Nyquist se limite donc `
a:
H(f ) + H(f 1/T ) = T

(0 f < 1/T )

Si H (f ) est le conjugue de H(f ), cette expression secrit aussi:


H(f ) + H (1/T f ) = T
ou encore, si H(f ) est reel (argument nul):
H(f ) + H(1/T f ) = T
La condition dargument nul pour H(f ) est liee au choix de lorigine des temps. Si lorigine
des temps ne concide pas avec le maximum de la reponse impulsionnelle h(t), cette
condition se transforme en lexigence que largument de H(f ) doit evoluer lineairement
en fonction de la frequence et la condition secrit:
|H(f )| + |H(1/T f )| = T
o`
u |H(f )| est le module de H(f ).
Cette expression montre que la courbe representative de |H(f )| en fonction de f pour
0 f < 1/T presente une symetrie impaire par rapport au point dabscisse 1/2T et
dordonnee T /2.
Le premier crit`ere de Nyquist peut donc senoncer dans le domaine frequentiel de la facon
suivante.
Un filtre passe-bas H de frequence de coupure 1/T
P nintroduit pas dinterference
intersymbole lors de la transmission dun signal s
e =
k ck (t kT ) si sa transmittance
H(f ) satisfait deux conditions:
1. largument de H(f ) est une fonction lineaire de la frequence;
2. le module de H(f ) est symetrique par rapport au point (1/2T,T /2) pour
0 f < 1/T .
On obtient ainsi une famille de courbes representatives de |H(f )| dont la Figure 4.8 donne
quelques exemples.
Les courbes de la Figure 4.8 correspondent `
a des filtres de frequences de coupures
differentes.
Le filtre de frequence de coupure la plus basse satisfaisant le premier crit`ere de Nyquist
est le filtre passe-bas rectangulaire de frequence de coupure fc = 1/2T . La reponse
impulsionnelle correspondante est de la forme:
h(t) =

sin t/T
;
t/T

elle est representee `


a la Figure 4.9.
On peut deduire de ce qui prec`ede une relation entre la frequence de coupure du filtre
equivalent H et la rapidite de semation (transmission) maximale R = 1/T des signaux
numeriques que lon peut transmettre `
a travers ce filtre sans interference intersymbole:
R 2fc
Il est important de souligner que cette inegalite fixe une limite `
a la rapidite de transmission des symboles par seconde (en Baud).

226

CHAPITRE 4. TRANSMISSIONS EN BANDE RESTREINTE

Figure 4.8 Famille de courbes representatives de |H(f )|.

Figure 4.9 Reponse impulsionnelle du filtre passe-bas rectangulaire de frequence


de coupure fc = 1/2T .

`
`
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.

Figure 4.10 Exemple de signal numerique binaire et le rythme dechantillonnage


associe.
Dans lexemple de cette figure, linstant dune transition est celui o`
u lamplitude du
signal passe par zero. Idealement, les transitions sont equidistantes des deux instants
dechantillonnage qui les encadrent. En pratique, linterference intersymbole et le bruit
modifient la position des transitions. Pour eviter un deplacement equivalent des instants
dechantillonnage, le mecanisme dasservissement du rythme e(t) comporte une certaine
inertie de mani`ere `
a synchroniser les fronts montants de e(t) avec la position moyenne
des transitions. La synchronisation est cependant dautant meilleure que les ecarts des
transitions par rapport `
a leur position moyenne sont plus faible.
Le deuxi`eme crit`ere de Nyquist donne les conditions que doit satisfaire le filtre passe-bas
equivalent H pour que linterference intersymbole soit nulle aux instants correspondant
aux transitions du signal recu sr (t).

228

CHAPITRE 4. TRANSMISSIONS EN BANDE RESTREINTE

Lexpression temporelle du deuxi`eme crit`ere de Nyquist est:



1/2 pour n = 0 et n = 1,
h(nT T /2) =
0 n entier 6= 0 et 6= 1
o`
u lorigine des temps concide avec le maximum de h(t).
Cela revient `
a imposer `
a la reponse h(t) les points de passage entoures dun cercle sur la
Figure 4.11.

Figure 4.11 Reponse impulsionnelle repondant au deuxi`eme crit`ere de Nyquist.


On peut egalement exprimer ce crit`ere de la facon suivante:
h (t) 1/2(t T /2) + 1/2(t + T /2)
o`
u h (t) est la reponse h(t) echantillonnee:
X
h (t) = h(t)
(t nT T /2).
n

Lexpression du second crit`ere de Nyquist dans le domaine des frequences sobtient en


calculant les transformees de Fourier des deux membres de lexpression ci-dessus:
H (f )

1/2ejf T + 1/2e+jf T

cos f T

avec:
H (f )

H(f ) 1/T

1/T

(f k/T )ejf T

H(f k/T )ejk

Lexpression cherchee est donc:


X
H(f k/T )ejk = T cos f T.
k

`
`
4.6. DEUXIEME
CRITERE
DE NYQUIST

4.6.2

229

Cas dun filtre de fr


equence de coupure fc 1/T

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.

Figure 4.12 Representation de la cosinusode surelevee.


La reponse impulsionnelle h(t) passe par tous les points entoures dun cercle sur la Figure 4.13.
Cette reponse sannule pour un grand nombre de valeurs de t; elle presente de ce fait des
extremes de tr`es faible amplitude `
a lexterieur de lintervalle [T,T ].
Dans le cas usuel o`
u les symboles emis sont de forme rectangulaire, le filtre L a une
transmittance dont le module est:
|L(f )| =

f T
|H(f )|
sin f T

230

CHAPITRE 4. TRANSMISSIONS EN BANDE RESTREINTE

Figure 4.13 Reponse impulsionnelle dun filtre satisfaisant aux deux crit`eres de
Nyquist.

Figure 4.14 Transmittance du filtre L en utilisant des impulsions rectangulaires.

EMENTS

4.7. EL
CONSTITUTIFS DUNE LIAISON NUMERIQUE

231

On obtient alors la courbe de la Figure 4.14.


La courbe en cosinusode surelevee et celle du filtre rectangulaire de frequence de coupure
fc = 1/2T constituent les deux extremes dune famille de transmittances tr`es utilisees
en pratique. Il sagit des filtres de Nyquist. Le module de la transmittance dun de ces
filtres est representee par la Figure 4.15

Figure 4.15 Module de la transmittance dun filtre de Nyquist.


En posant = (fc 1/2T )/(1/2T ), ces filtres sont definis de la facon suivante:

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) =

sin t/T cos t/T


t/T 1 42 t2 /T 2

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

ements constitutifs dune liaison num


El
erique

Le schema dune liaison numerique se deduit directement des considerations qui


prec`edent. Il comporte les elements representes sur la Figure 4.17.

232

CHAPITRE 4. TRANSMISSIONS EN BANDE RESTREINTE

Figure 4.16 Module de la transmittance et reponse impulsionnelle pour les filtres


de Nyquist avec : 0,1/2,1.

ements dune liaison numerique.


Figure 4.17 El

EMENTS

4.7. EL
CONSTITUTIFS DUNE LIAISON NUMERIQUE

233

z(t) est un signal binaire representant les donnees numeriques `


a transmettre:
X
z(t) =
xi r(t i)
i

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

Voies de transmission utilisables et contraintes


associ
ees

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

Limitation de la bande passante vers les fr


equences
basses

Cette limitation est due `


a la presence eventuelle sur la ligne de transformateurs: adaptateurs dimpedance entre c
ables charges et non-charges, et surtout, transformateurs
disolement `
a lentree et `
a la sortie des equipements terminaux.

236

5.1.2

CHAPITRE 5. TRANSMISSIONS EN BANDE DE BASE

Limitation de la bande passante vers les fr


equences

elev
ees

Cette limitation est progressive dans le cas des c


ables non-charges (non-pupinises), elle
peut etre au contraire tr`es rapide dans le cas de c
ables charges, de canaux MIC (PCM)
ou de certains circuits amplifies.

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

Distorsions damplitude et de phase

Le syst`eme de transmission doit etre capable de corriger ces distorsions de mani`ere `


a
satisfaire au premier crit`ere de Nyquist avec une approximation suffisante.

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

net, on neglige les moments destines aux besoins de cryptographie, de synchronisation et


de service.
On a donc toujours:
debit brut debit net
Si linformation est representee par des signaux M -aires (M > 2), le debit dinformation
(brut) est toujours different de la rapidite de semation.
Dans un syst`eme quaternaire par exemple, loccurrence dun moment de duree T fournit
2 bits dinformation (toujours dans lhypoth`ese dequiprobabilite des symboles de lalphabet et dindependance des moments successifs) et le debit dinformation brut est le
double de la rapidite de semation. Loperation qui consiste `
a representer une suite de symboles M -aires (le message logique) par un signal constitue dune succession de signaux
elementaires sappelle improprement codage (parfois codage en ligne). Nous sacrifierons
a
` cette habitude.

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

CHAPITRE 5. TRANSMISSIONS EN BANDE DE BASE

La densite spectrale de la variance de cette sequence aleatoire est:


()







+
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

Deux cas particuliers importants

* 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=

Le spectre de raies est inexistant si:


1. p0 = p1 = 1/2;
2. ou S

2n
T

= 0 n (meme si p1 6= p0 !).

Dans ces conditions:


() =

4
p0 p1 |S()|2
T

* Un signal nul: s0 = 0,s1 = s


Il vient:
() =





+
(p1 )2 X
2n 2
2n
p0 p1
|S
|

+
|S()|2
T 2 n=
T
T
T

On constate donc quil existe en general un spectre de raies meme si p0 = p1 . Ce dernier


ne disparat que si:


2n
S
= 0 n
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.

5.4. QUELQUES EXEMPLES DE CODES FREQUEMMENT


UTILISES

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

avec T la duree des signaux elementaires s0 et s1 .


On constate donc `
a nouveau lexistence dun spectre de raies et dun spectre continu, ce
dernier comportant deux termes.

5.4

Quelques exemples de codes fr


equemment
utilis
es

5.4.1

Codes unipolaires

Dans ce type de representation, seuls deux niveaux sont utilises.


Dans la Figure 5.1 on distingue les codes suivants.

5.4.1.1

Les codes non retour `


a z
ero (NRZ) unipolaires

* NRZ-L (NRZ-Level): Un 1 est represente par un niveau et un 0 par un autre niveau;


* NRZ-M (NRZ-Mark): Il sagit dun codage differentiel o`
u 1 (Mark) est represente
par un changement de niveau au debut de lintervalle unitaire tandis quil ny a
pas de transition pour un 0;
* NRZ-S (NRZ-Space): Meme codage differentiel que NRZ-M en permutant les r
oles
de 0 et 1;

5.4.1.2

Le codage retour `
a z
ero unipolaire (RZ-L)

Un 0 est traduit par un niveau de reference tandis quun 1 correspond `


a un passage `
a
un autre niveau durant T /2 s suivi dun retour au niveau de reference durant le reste de
lintervalle unitaire.

5.4.1.3

Les codes biphases unipolaires

* Biphase-L (split-phase ou Manchester): Un 1 est represente par:



+V 0 t T /2
s1 =
V T /2 < t T
tandis quun 0 est represente par s0 = s1 ;
* Biphase-M: Chaque moment debute par une transition. Pour un 1 il y a une seconde
transition en t = T /2 tandis que pour un 0 il ny en a pas;
oles de 0 et 1;
* Biphase-S: Meme codage que pour le biphase-M en permutant les r

240

CHAPITRE 5. TRANSMISSIONS EN BANDE DE BASE

Figure 5.1 Codes unipolaires.

5.4. QUELQUES EXEMPLES DE CODES FREQUEMMENT


UTILISES
5.4.1.4

241

Le code MILLER (Delay code)

Il sagit ici dun codage avec memoire.


Un 1 est represente par une transition entre deux niveaux au milieu du moment.
Pour un 0, il ny a pas de transition sauf si ce 0 est immediatement suivi dun autre 0,
auquel cas il y a transition en fin de moment.

5.4.1.5

Code CMI (Coded Mark Inversion)

La r`egle de codage est:




+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).

Figure 5.2 Codes bipolaires.

242

CHAPITRE 5. TRANSMISSIONS EN BANDE DE BASE

5.4.2.1

Code AMI (Alternate Mark Inversion)

La r`egle de representation est la suivante:


0 s0 = 0
1 s1 = V

0tT
0 t T alternativement.

Ce code peut conduire `


a un signal nul durant de longues periodes, ce qui peut creer des
difficultes dextraction du rythme dhorloge `
a la reception (absence de transitions).
Cest la raison pour laquelle on utilise souvent le code HDBn.

5.4.2.2

Code HDBn (High Density Bipolar)

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

Code BNZS (Bipolar N-z


ero Substitution)

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

Transmission de la composante continue et contenu


spectral en basses fr
equences

Si la voie de transmission utilisee transmet mal (cest-`


a-dire avec distorsions lineaires) les
frequences situees autour de 0 et/ou si la composante DC du signal ne peut etre transmise
(presence dun transformateur, . . . ), il convient danalyser le contenu basse-frequence de
la densite spectrale de la variance et la presence dune raie spectrale en = 0.

5.5.2

Largeur spectrale occup


ee

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

La synchronisation dune horloge `


a la reception se base en general sur la restitution
du rythme dhorloge `
a partir du signal incident. Cette restitution seffectue aisement
(boucle `
a verrouillage de phase `
a bande etroite) si ce signal presente une raie spectrale
`
a la frequence 1/T . Dans le cas contraire, cette operation reste possible mais est techniquement plus complexe.
On examinera egalement si le signal peut presenter de longues sequences o`
u aucune
transition napparat, ce qui risque dentraner des pertes de synchronisation dhorloge `
a
la reception.

5.5.4

Possibilit
e de d
etection de certaines erreurs `
a la restitution du signal

La voie de transmission etant le plus souvent bruitee, le recepteur doit, `


a chaque intervalle
unitaire, retrouver le signal elementaire emis, ce dernier etant noye dans le bruit. Cette
decision (choix dun signal parmi M signaux possibles et connus) est entachee dune
certaine probabilite derreur, do`
u linteret de pouvoir detecter ces erreurs.

5.6
5.6.1

Analyse des propri


et
es de certains codes
Code NRZ unipolaire

Les signaux sont antipodaux:




s0 (t) = +V
s1 (t) = s0 (t)

0tT

Il vient successivement (Figure 5.3):



 jT /2
e
S = F[s0 = s] = V T sinc T
2
() = V 2 (p0 p1 )2 () + 4p0 p1 V 2 T sinc2

T
2

Le spectre de raies se reduit `


a la composante continue (si p1 6= p0 ) car:

|S 2n
| = |V T sinc(n)| = 0
n = 1,2, . . .
T
=VT n=0
Lessentiel de la puissance du spectre est contenu dans la bande [1/T, + 1/T ] (en Hz).
Le contenu energetique BF est important et il y a une composante DC si p0 6= p1 .
Il ny a pas de composante spectrale discr`ete `
a la frequence dhorloge 1/T .
Le nombre de transitions entre les 2 niveaux est egal au nombres de transitions 0 1
ou 1 0 et de longues sequences sans transitions sont donc possibles.
Il est toutefois possible de recuperer le rythme dhorloge en soumettant le signal `
a une
operation non lineaire (voir chapitre 8).

5.6.2
De:

Code RZ unipolaire

s0 (t) = +0
s1 (t) = V

=0

on tire successivement (Figure 5.4):

0 t T /2
T /2 < t T

244

CHAPITRE 5. TRANSMISSIONS EN BANDE DE BASE

Figure 5.3 Densite spectrale de la variance dun code NRZ.

Figure 5.4 Densite spectrale de la variance dun code RZ.

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

Le spectre presente des raies car:




 n 
2n T
sinc
= sinc
6= 0
T 4
2
pour n = 0 et pour n = 2n0 + 1.
Meme en cas degalite des probabilites (p0 = p1 ), on constate la presence dune composante continue et dune raie `
a la frequence 1/T . Cette derni`ere est evidemment favorable
`
a la restitution du signal dhorloge.
Une succession de 0 se traduit toutefois par une absence de transitions, ce qui peut
`
a nouveau creer des probl`emes temporaires de perte de synchronisme de lhorloge de
reception.
En ce qui concerne le spectre continu, le contenu spectral BF reste important. De plus,
la largeur spectrale pratique a double (2/T ) par rapport au cas NRZ.

5.6.3

Code biphase - L unipolaire

Soit:

s0 = s

s1

= +V
= V
= s0

0 t T /2
T /2 < t T

On calcule aisement S() = F[s] en ecrivant que: s = s0 + s00 avec:



+V 0 t T /2
s0 =
0
T /2 < t T

0
0 t T /2
s00 =
V T /2 < t T
Il vient:
S

=
=
=

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

CHAPITRE 5. TRANSMISSIONS EN BANDE DE BASE

Cette expression est nulle pour n = 0,2,4,6, . . . et differente de 0 pour n = 2n0 + 1 =


1,3,5,7, . . .. Pour n = 2n0 + 1, ce terme vaut:
4V 2
+ 1)2

2 (2n0

Il vient, pour la densite spectrale de la variance (Figure 5.5):

Figure 5.5 Densite spectrale de la variance dun code biphase-L.



()

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

On constate donc quil ny a jamais de composante DC discr`ete (meme si p0 6= p1 ).


Si p0 = p1 , le spectre de raies disparat totalement. Dans le cas contraire, il y a presence
de raies aux frequences 1/T,3/T, . . ..
En ce qui concerne
le spectre continu, la presence du facteur sin2 (T /4), (multiplicatif

de sinc2 T
),
rend
le contenu spectral BF negligeable. Vers les hautes frequences, la
4
largeur spectrale pratique setend jusque 2/T comme pour le signal RZ.
Quelle que soit la suite logique, ce code garantit la presence dau moins une transition
par moment, ce qui permet la synchronisation dune horloge meme en labsence de raie
a
` la frequence 1/T .
Remarque

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

Il sagit dun code bipolaire.


Nous avons:

s0 = s
s1

= +V
= V
= V

0 t T /2
T /2 < t T
0tT

et nous pouvons calculer les transformees de Fourier respectives:


S0 (j) = jV T

sin2 (T /4) jT /2
e
(T /4)

S1 (j) = V T sinc(T /2)ejT /2


et donc:
()

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 =

Ce spectre (Figure 5.6) comporte toujours (meme si p0 = p1 ) une raie `


a la frequence
f = 1/T . Il ny a pas de composante continue et le contenu spectral est limite en bassefrequence.
La puissance moyenne du message vaut (si p0 = p1 ):
Pm = p0 V 2 + p1 V 2 = V 2
La partie discr`ete du spectre contient le quart de la puissance moyenne totale.
La largeur spectrale pratique est egale `
a 2/T (Hz).

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

CHAPITRE 5. TRANSMISSIONS EN BANDE DE BASE

Figure 5.6 Densite spectrale de la variance dun code CMI.

Figure 5.7 Densite spectrale de la variance dun code de Miller.

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

Ce codage est aise `


a obtenir `
a partir dun codage C1 o`
u:

0 V 0tT
1 0 0tT
Il suffit pour obtenir un code AMI, dappliquer `
a la sequence ainsi codee la transformation
de la Figure 5.8.
Les equations de cette transformation sont:

Yk = Xk Yk1
Zk = Yk Yk1
avec Xk les moments correspondants au code C1 et avec Zk les moments en code AMI.
Lapplication du theor`eme vu ci-dessus fournit, avec:

S0 () = 0

S1 () = V T ejT /2 sinc T
2
2 2 T 

sin
4p0 p1 V 2 T sinc T
2
2
() =
1 + (p0 P1 )2 2(p0 p1 ) cos T
Si p0 = p1 , il vient:




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

CHAPITRE 5. TRANSMISSIONS EN BANDE DE BASE

Figure 5.8 Realisation possible dun code AMI.

ES
DE CERTAINS CODES
5.6. ANALYSE DES PROPRIET

Figure 5.9 Densite spectrale de la variance dun code AMI.

Figure 5.10 Densite spectrale de la variance dun code AMI-RZ.

251

252

CHAPITRE 5. TRANSMISSIONS EN BANDE DE BASE

Figure 5.11 Exemple de la capacite de detection derreurs dun code AMI-RZ.


Ce code permet en outre la detection de fautes de reconstruction isolees.
Considerons par exemple le cas de la Figure 5.11.
Une erreur de reconstruction peut etre detectee car le principe de bipolarite nest plus
respecte.

5.6.7

Code HDBn

La densite spectrale de la variance de ce signal ternaire (bipolaire) diff`ere tr`es peu de


celle dun signal AMI.
Ce type de code existe comme le code AMI en version RZ et NRZ. Il presente en
outre lavantage deviter toute sequence de plus de n signaux nuls (pour des raisons
dej`
a evoquees de synchronisation dhorloge `
a la reception).
Il poss`ede une capacite de detection derreurs isolees lorsque celles-ci conduisent au nonrespect de la r`egle dalternance des violations de bipolarite (Figure 5.12).

Figure 5.12 Exemple de la capacite de detection derreurs dun code HDBn.

5.7

Les codes `
a r
eponse partielle

Ulterieurement

253

Chapitre 6

Transmissions en bande
transpos
ee
6.1

Introduction

La plupart des voies de transmission et en particulier le canal telephonique usuel ne


permettent pas la transmission directe dun signal numerique en bande de base.
Il y a `
a cela plusieurs raisons; il est entre autres necessaire de faire concider la bande de
frequence occupee par le signal transmis avec la bande passante de la voie de transmission.
Les probl`emes peuvent etre resolus en modulant une porteuse sinusodale de frequence
convenable par le signal `
a transmettre.
Loperation de modulation equivaut en effet `
a une translation du spectre du signal dans
le domaine des frequences et permet de la sorte de centrer son spectre `
a linterieur de la
bande passante du support.
Les differentes techniques de modulation utilisees en transmissions numeriques sont exposees ci-dessous; elles consistent `
a manipuler soit lamplitude (modulation damplitude),
soit la phase de la porteuse (modulation de frequence ou de phase), soit ces deux grandeurs `
a la fois (modulation combinee de phase et damplitude, modulation de deux porteuses en quadrature, modulation en bande laterale unique BLU, etc . . .

6.2

Composantes en quadrature

De mani`ere generale, le signal module peut secrire:


y(t) = A(t) cos(0 t + (t))
ou encore,
y(t) = [A(t) cos (t)] cos 0 t [A(t) sin (t)] sin 0 t
Dans cette equation, linformation contenue dans le signal modulant, se retrouve dans
les facteurs entre crochets qui multiplient deux porteuses en quadrature.
Cette approche permet de considerer dans une seule formulation les differentes techniques
de modulation. Le signal modulant est transforme en deux nouveaux signaux en bande
de base qui `
a leur tour modulent (modulation damplitude `
a porteuse supprimee) deux
porteuses en quadrature. La forme de A(t) et (t) determine les caracteristiques de la
modulation obtenue.

254

CHAPITRE 6. TRANSMISSIONS EN BANDE TRANSPOSEE

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

avec U () = F [u(t)] et avec F () la representation de la transformation de Fourier.


Pour des signaux aleatoires, la relation equivalente est:
y () =

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

Application aux signaux modulants num


eriques

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

A remarquer que la vitesse de transmission (ou de semation) est:


R = Rb /k = 1/T Baud
o`
u T est lintervalle unitaire relatif `
a u(t).
On passe en fait dune transmission numerique binaire `
a une transmission M -aire. Si
k = 1, on reste evidemment dans le cas binaire (T = Tb ). On constate que u(t) est reel
et donc que (t) = 0, ou encore que u(t) = A(t).
Le signal module y(t) devient donc:
"
#
X
y(t) =
In g(t nT ) cos 0 t
n

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)

La fonction g (t) est la transformee de Hilbert de g(t), si:


Z
1 + g( )
d
(valeur principale au sens de Cauchy)
g (t) =
t
On demontre que g est la reponse `
a g dun filtre de transmittance:

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

En modulation BLU, lequivalent basse-frequence sexprime par:


X
u(t) =
In z(t nT )
n

o`
u z(t) = g(t) jg (t).

256

CHAPITRE 6. TRANSMISSIONS EN BANDE TRANSPOSEE

Le choix du signe + ou correspond au choix de la bande laterale conservee. Le signal


module reel devient donc:
h
i
y(t) = <e u(t)ej0 t
"
# "
#
X
X

=
In g(t nT ) cos 0 t
In g (t nT ) sin 0 t
n

On constate donc quen BLU, les deux porteuses en quadrature


P sont modulees (modulation damplitude `
a porteusePsupprimee), lune par le signal n In g(t nT ), lautre pas

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) =

(In1 + jIn2 )g(t nT )

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

En modulation de phase, la sequence {an } est transformee en un equivalent bassefrequence:


X j
u(t) =
e n g(t nT )
n

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

Figure 6.1 Exemples de constellations.

257

258

CHAPITRE 6. TRANSMISSIONS EN BANDE TRANSPOSEE

1). La Figure 6.1 reprend diverses constellations: modulation damplitude `


a porteuse
supprimee (`
a 2 et 4 etats), modulation de phase (`
a 4 et 8 etats), QAM (`
a 4 et 16 etats).
Il faut evidemment, pour diminuer la probabilite derreur lors de la detection en presence
de bruit, que la distance entre les divers points de la constellation soit la plus grande
possible (pour une puissance fixee du signal emis).
Une facon de realiser un signal QPSK consiste `
a proceder comme il a ete fait dans le cas
de la modulation de deux porteuses en quadrature. Les bits successifs emis par la source
sont groupes deux par deux et on peut de la sorte definir deux sequences binaires telles
que celles representees `
a la Figure 6.2 (o`
u les 0 et les 1 sont representees respectivement
par -1 V et +1 V). La sequence {dI } est formee `
a partir des bits impaires tandis que la
sequence {dQ } lest `
a partir des bits paires .
On remarquera que la vitesse de transmission de ces deux sequences {dI } et {dQ } (en
Baud), est la moitie du debit binaire R de la source. Ces deux sequences sont alors
utilisees pour moduler deux porteuses en quadrature (modulation damplitude `
a porteuse
supprimee):

y(t) = 2dI cos(0 t) + 2dQ sin(0 t)


ou encore:

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

Combinaison dune modulation de phase et damplitude

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

Figure 6.2 Formation de deux sequences `


a partir dune sequence binaire.

259

260

CHAPITRE 6. TRANSMISSIONS EN BANDE TRANSPOSEE

Figure 6.3 Modulateur QPSK.


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

La sequence {an } est transformee en un equivalent basse-frequence:


X jf tI
n
u(t) =
e
g(t nT )
n

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

Ce phenom`ene est evite si on utilise une modulation de phase dite `


a continuite de phase
(Continuous Phase FSK of CPFSK). La Figure 6.5 met en evidence ce phenom`ene de
(dis)continuite de phase.

Figure 6.5 Phenom`ene de (a) discontinuite de phase et (b) continuite de phase.

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

Modulation avec continuit


e de phase (CPM)

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

Arbre de phases, treillis de phases, constellation et diagramme


d
etat

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

Figure 6.6 Quelques cas particuliers de fonctions g et q.

265

266

CHAPITRE 6. TRANSMISSIONS EN BANDE TRANSPOSEE

Figure 6.7 Arbre de phases en modulation CPFSK.


6.3. APPLICATION AUX SIGNAUX MODULANTS NUMERIQUES

267

Figure 6.8 Trajectoire de phase obtenue pour une sequence +1, 1, 1, 1, +


1, + 1, 1, + 1.

Figure 6.9 Trajectoires dans la constellation.


CHAPITRE 6. TRANSMISSIONS EN BANDE TRANSPOSEE

268

Figure 6.10 Representation en treillis de lecart de phase.


si m est impair:
0,m/p,2m/p, . . . ,(2p 1)m/p

(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

et le signal module secrit:




t nT
y(t) = A cos 0 t + n + In
2
T
 


1
n
= A cos 2 f0 +
In t
In + n
4T
2
Si on definit les grandeurs suivantes:
f1 = f0

1
4T

pour nT t (n + 1)T


6.3. APPLICATION AUX SIGNAUX MODULANTS NUMERIQUES

269

Figure 6.11 Exemple dune representation sous forme de diagramme detat.

270

CHAPITRE 6. TRANSMISSIONS EN BANDE TRANSPOSEE

en
f2 = f0 +

1
4T

le signal module (CPFSK binaire) secrit:


h
i
n
yi (t) = A cos 2fi t + n +
(1)i1
2

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

Spectres des signaux modul


es

Nous nous contenterons de presenter des resultats generaux. Nous comparerons


bri`evement les modulations les plus utilisees, et notamment la BPSK, la QPSK et
la MSK.
Les expressions donnees sont celles des densites spectrales de la variance centrees sur
f = 0 au lieu de f = f0 .
La densite spectrale de la variance des signaux M-PSK est (pour des impulsions g(t) de
forme rectangulaire):
(f ) = kA2 T (sin kf T )2

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

Figure 6.12 Presentation de MSK, OQPSK et QPSK.

271

272

CHAPITRE 6. TRANSMISSIONS EN BANDE TRANSPOSEE

Figure 6.13 Representation des densites spectrales de la variance.


Le fait que la BPSK exige une bande passante double de celle necessaire en QPSK ou
OQPSK sexplique sans peine. La MSK presente des lobes lateraux plus petits que ceux
de la (O)QPSK, ce qui constitue evidemment un avantage. Cette reduction de largeur
spectrale est due `
a la continuite de phase realisee en MSK.
Toutefois, le lobe principal en modulation MSK est plus large que celui de la (O)QPSK; la
MSK ne doit donc pas sutiliser dans des voies de transmission `
a bande passante etroite.
La modulation MSK est un cas particulier de la modulation CPFSK (h = 0,5) qui elle
meme est un cas particulier de la CPM.
En ce qui concerne la modulation CPFSK, la forme de la densite spectrale de la variance
depend de la valeur de lindice de modulation h = 2f T . Ceci apparat nettement `
a la
Figure 6.14 (M = 2).
Lorsque h approche lunite, le spectre presente deux pics importants et si h depasse 1, il
selargit fortement. Cest pourquoi h est en general choisi 0,7.
En ce qui concerne la CPM, la densite spectrale de la variance depend de lindice de
modulation h (ici suppose constant), de la forme et de la duree des impulsions g(t) et
du nombre de signaux M . Comme en CPFSK, la largeur spectrale des signaux CPM
augmente avec h.
Pour une valeur fixe de h,lutilisation dimpulsions g(t) plus douces que limpulsion rectangulaire utilisee en CPFSK permet egalement de reduire la largeur spectrale.
La Figure 6.15 fournit la densite spectrale de la variance dun signal CPM qui utilise
comme impulsion g(t) un cosinus sureleve.

g(t)) =

1
2LT

1 cos

2t
LT

0<t<T
ailleurs

Dans cette formule L = 1 pour une modulation CPM `


a reponse compl`ete et L > 1 pour
une modulation `
a reponse partielle.


6.4. SPECTRES DES SIGNAUX MODULES

273

Figure 6.14 Presentation de la densite spectrale de la variance dans le cas dun


signal CPFSK.

Figure 6.15 Presentation de la densite spectrale de la variance dun signal CPM


avec des impulsions g(t) en cosinus sureleve.

274

CHAPITRE 6. TRANSMISSIONS EN BANDE TRANSPOSEE

Dans cette figure (representee avec h = 0,5 et M = 2) le cas de la modulation MSK a


ete repris `
a titre de comparaison. On constate que si L augmente, la largeur spectrale
diminue. Ajoutons que pour une forme dimpulsion g(t) fixee et M donne, la largeur
spectrale augmente avec h.
Il ne faut toutefois pas perdre de vue que le choix de h doit non seulement tenir compte
de la largeur spectrale du signal module mais aussi de la probabilite derreur lors de la
detection! Cette etude sort toutefois du cadre de ce cours.

6.5
6.5.1

Trellis Coded Modulation (TCM)


Introduction

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.

6.5. TRELLIS CODED MODULATION (TCM)


6.5.2.1

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.

Uncoded 4ary ASK

8ary ASK, coded with a rate of 2/3

Figure 6.16 Constellations ASK codees et non codees.


Ces exemples montrent lidee qui est `
a la base de TCM: dans chacun des exemples
consideres, le nombre de points utilises dans les constellations respectives a ete augmente
de 2k avant codage, `
a 2k+1 apr`es codage. Ce doublement du nombre de symboles codes
par rapport au nombre de symboles non codes nous fournit la redondance necessaire.
Nous remarquons toutefois que lintroduction de la redondance ne saccompagne pas ici
dune augmentation de la bande passante necessaire. Laugmentation du nombre de points
dans la constellation codee entrane cependant, pour une puissance demission constante,
une diminution de la distance minimale entre points proches. Mais par lintroduction
de redondance via le code convolutif ce nest plus la distance minimale entre points
proches dans la constellation qui importe pour la performance derreur! Au lieu de cela
cest maintenant la distance libre, cest-`
a-dire la distance minimale entre des membres
de lensemble des sequences autorisees de symboles code, qui determine la performance
derreur.

276

CHAPITRE 6. TRANSMISSIONS EN BANDE TRANSPOSEE

Uncoded 4ary PSK

8ary PSK, coded with a rate of 2/3

Figure 6.17 Constellations PSK codees et non codees.


6.5.2.2

Une erreur survient

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

6.5. TRELLIS CODED MODULATION (TCM)


U1

U2

277
U3

a = 00

V1
b = 10
V3
V2
c = 01

d = 11

Uitgezonden sequentie U
Alternatieve sequentie V

Figure 6.18 Illustration de larrivee dune erreur.

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

La Figure 6.19 represente un generateur de codes convolutifs de rendement de codage


global 23 et une longueur de memoire K = 3. Le rendement de codage de 23 est obtenu en
envoyant le premier des deux bits dentree non code et en codant le deuxi`eme bit `
a laide
de deux bits de canal `
a laide dun generateur de code de rendement de codage local 12 .
1e data bit: k1

1e gecodeerde bit: u1

2e data bit: k2
2e gecodeerde bit: u2
Uitgangssequentie

3e gecodeerde bit: u3

Figure 6.19 Generateur de code convolutif de rendement de codage 23 .


Le treillis resultant consistant en quatre etats est represente `
a la Figure 6.20, o`
u les
transitions parall`eles sont dues au bit non code k1 qui est represente comme le bit le
plus `
a gauche sur chaque branche du treillis. Les deux branches superieures qui partent
depuis chaque etat representent des transitions (parall`eles) qui sont dues aux deux valeurs
possibles 0 et 1 pour k1 , o`
u k2 = 0 est retenu. Les deux branches inferieures qui partent
depuis chaque etat representent des transitions (parall`eles) qui sont dues aux deux valeurs
possibles pour 0 et 1 pour k1 , o`
u cette fois k2 egal `
a 1 est retenu. Une branche en trait
plein correspond avec k2 = 0 et une branche en pointille avec k2 = 1.
Les quatre etats possibles du treillis sont evidemment determines par le contenu des deux
cellules memoire les plus `
a gauche et sont 00 10 01 11.
La technique de decodage Viterbi est ici `
a nouveau utilisee pour trouver le chemin le
plus probable `
a travers le treillis. Les points specifiques `
a noter dans cet exemple sont
le fait quil y a ici deux fois plus de branches que dans un generateur de codes normal
de longueur de memoire K = 3 et le fait que lors du decodage, le premier bit decode est
seulement une copie du bit le plus `
a gauche du mot code envoye. Le deuxi`eme bit decode
correspond avec le bit dentree k2 qui occasionne la transition detat de la branche qui
est decodee.
La Figure 6.21 montre enfin comment la constellation de la modulation (codee) PSK `
a
8 valeurs qui utilise ce code convolutif de rendement de codage 32 , est divise en sousensembles de distance Euclidienne croissante par lapplication de la r`egle de Ungerboeck.
Nous devons faire remarquer ici que lemploi de ces r`egles heuristiques ne conduit pas `
a
un correspondance unique entre les points de signal et les mots-code. En effet, dautres
associations peuvent etre obtenues par des permutation des sous-ensembles telles que

6.5. TRELLIS CODED MODULATION (TCM)

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

Figure 6.20 Treillis du generateur de codes convolutifs de rendement de codage


2
esente ci-dessus.
3 repr

280

CHAPITRE 6. TRANSMISSIONS EN BANDE TRANSPOSEE

la propriete principale daugmentation de la distance Euclidienne avec des niveaux de


partitions croissants est maintenue.

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

d0 = 2 E sin = (2 2)E = 0,765 E.


8

(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

Figure 6.21 Division de la constellation dune modulation PSK `


a 8 valeurs suivant
les r`egles de Ungerboeck.
Pour lexplication detaillee concernant cette modulation codee 8-PSK nous pouvons utiliser le treillis `
a 4 etats de la Figure 6.20. Remarquons que chaque branche dans le treillis
correspond `
a un des sous-ensembles C0 , C1 , C2 ou C3 . Pour la constellation 8-PSK, chacun des sous-ensembles C0 , C1 , C2 et C3 contiennent deux points de signal. Il en decoule
que la transition detat C0 contient les deux points de signal qui correspondent aux bits
(000, 100). De la meme mani`ere, la transition detat C2 contient les deux points de signal

6.5. TRELLIS CODED MODULATION (TCM)

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

k ongecodeerde input data bits


1

1
2

Selecteer
punt
uit

k1

subset
k
{1, 2, ..., 2 1 }

Figure 6.22 Structure generale dun generateur de code/modulateur combine.


Dans cette Figure 6.22 nous voyons quun bloc de k bits dentree sont divises en deux
groupes de longueur respective k1 et k2 . Via un generateur de code convolutif, les k2
bits sont transformes en n bits, tandis que les k1 bits restent non codes. Ensuite les n
bits provenant du generateur de code convolutif sont utilises pour la selection dun des
2n sous-ensembles possibles dans le signal partitionne, tandis que les k1 bits sont utilises
pour choisir un des 2k1 points de signal du sous-ensemble concerne. Si k1 = 0, alors nous


CHAPITRE 6. TRANSMISSIONS EN BANDE TRANSPOSEE

282

nous trouvons dans le cas o`


u tous les k bits dentree sont codes. Si k1 = 1, alors nous nous
trouvons dans le cas de lexemple de notre PSK `
a 8 valeurs de la Figure 6.21 (pour le cas
specifique o`
u k = 2, k1 = 1, k2 = 1, n = 2), o`
u nous arrivons `
a une partition de quatre
sous-ensembles, chacune consistant en deux points de signal. Le premier bit dentree est
alors transforme, via le generateur de code convolutif de rendement de codage local egal
`
a 21 , en deux bit qui permettent de choisir un des quatre sous-ensembles possibles. Le
choix de lun des deux points de signal du sous-ensemble concerne est alors fait par le bit
non code restant.
Un codage alternatif consisterait `
a coder ensemble les deux bits dentree, `
a laide dun
generateur de code convolutif de rendement de codage local egal `
a 23 . On peut verifier que
cette forme de codage m`ene `
a un treillis comportant 8 etats. On montre que ceci resulte
en de meilleures performances, mais au prix dune complexite croissante du decodeur [26].

6.5.2.4

Rendement de codage pour TCM

Analysons le gain de codage possible du treillis du generateur de code represente dans


lexemple precedent. Nous supposons que nous travaillons dans un simple espace de signal unidimensionnel, ainsi que nous lobtiendrions avec un schema de modulation ASK
multiniveaux ainsi que represente `
a la Figure 6.23.
101

111

110

100

001

011

010

000

-7

-5

-3

-1

+1

+3

+5

+7

Figure 6.23 Constellation ASK `


a 8 valeurs.
Dans cette figure, la constellation dun signal 8-ASK est representee. Si nous supposons
travailler sur base de decisions souples, la distance Euclidienne est la mesure de distance
appropriee. La distance Euclidienne entre chaque signal et le milieu de lespace de signal
est donnee en unites quelconques. La Figure 6.23 montre aussi la conversion bit-symbole,
executee suivant les r`egles de partitions densembles mentionnees ci-dessus. On peut
verifier que toutes les transitions parall`eles sont separees par une distance de huit unites
et que toutes les autres branches qui divergent depuis un etat donne du treillis sont
separees par une distance de minimum quatre unites. La puissance moyenne du signal
Sav est calculee comme suit:
Sav =

(d1 )2 + (d2 )2 + . . . + (dq )2


,
q

(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

Figure 6.24 constellation 4-ASK.

6.5. TRELLIS CODED MODULATION (TCM)

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

CHAPITRE 6. TRANSMISSIONS EN BANDE TRANSPOSEE

Nous voyons que meme dans ce simple exemple, o`


u K = 3, un gain de codage appreciable
peut etre obtenu et ce, sans aucune augmentation de la bande passante necessaire. Des
gains de codage plus grands peuvent etre obtenus en utilisant des treillis comportant
davantage detats, ce qui revient `
a utiliser des generateurs de codes convolutifs de longueur de memoire plus grande K. Cette augmentation du gain de codage saccompagne
cependant dune augmentation de la complexite du decodeur. Dans la Table 6.1 le gain
de codage est represente en fonction du nombre detats dans le treillis pour un generateur
de code 8-ASK de rendement de codage 32 . Le gain de codage a ete calcule par rapport
`
a une modulation 4-ASK non codee [7].

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

Gain de codage (dB)


3,31
3,77
4,18
4,56
5,23
5,23
5,83

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

De mani`ere generale, on appelle transmissions de signaux numeriques celles o`


u linformation est representee par une sequence discr`ete de symboles, ces derniers etant puises dans
un ensemble fini de symboles appele alphabet. Nous supposerons ici que cet alphabet ne
contient que deux symboles (alphabet binaire).
Ces deux symboles ou signaux binaires sont transmis sur la voie de transmission sous
une forme designee par les fonctions s1 (t) et s2 (t).

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 .

Figure 7.1 Structure dun regenerateur optimum.


Le regenerateur filtre donc le signal si (t) + n(t), (i = 1,2), echantillonne le resultat de ce
filtrage en fin dintervalle unitaire et presente les valeurs suivantes `
a lorgane de decision:
v0 (T ) = s01 (T ) + n0 (T )
ou
v0 (T ) = s02 (T ) + n0 (T )
La notation f (T ) represente la valeur de la fonction f (t) `
a la fin dun quelconque intervalle dechantillonnage. Lindice 0 indique quil sagit dun signal filtre. Puisque comme
nous lavons signale, les intervalles unitaires successifs sont traites independamment, les
conditions initiales du filtre sont ramenees `
a zero au debut de chaque intervalle unitaire.
Le regenerateur ne tient donc pas compte dans sa decision dune correlation possible
entre les divers symboles successifs.
En labsence de bruit, on aurait que v0 (T ) est egal `
a s01 (T ) (s02 (T )) si s1 (t) (respectivement s2 (t)) a ete emis.

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

Puisque le filtrage (traitement lineaire) conserve le caract`ere stationnaire et gaussien du


bruit, la probabilite dune faute est donc:
Z
Pf =

+
s01 (T )s02 (T )
2

e
20

n2
0 (T )
2
20

dn0 (T )

avec 02 la variance de n0 (T ) et avec la valeur moyenne de n0 (T ) 0.


On pose:
n0 (T )
x
20
et donc:
Z +
2
1
Pf =
ex dx
s01 (T)s02 (T )
2

20

Si on definit la fonction derreur complementaire par:


Z +
2
2
erc(z) =
ex dx
z
on obtient:


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

Calcul du filtre optimal

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

Si P () et P0 () sont les transformees de Fourier de p(t) et de p0 (t), on peut ecrire:


P0 () = F ()P ()
o`
u F () est la transmittance inconnue du filtre.
En outre:
Z +
1
p0 (t) =
F ()P () ejt d
2
et `
a linstant dechantillonnage on a:
Z +
1
p0 (T ) =
F ()P () ejT d
2
La densite spectrale de la variance de bruit `
a la sortie du filtre est donne par:
n0 () = |F ()|2 n ()
si bien que la variance du bruit `
a la sortie du filtre est egale `
a:
02

=
=

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

avec le signe egalite si:

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

La valeur maximale de 2 sobtient pour:


X() = KY ()
cest-`
a-dire:

"
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

Cas dun bruit blanc - Filtre adapt


e

Si la densite spectrale de la variance du bruit est:


n () =

la transmittance du filtre (alors appele filtre adapte - matched filter), est donne par:
F () = K

P () jT
e
/2

Ceci signifie que sa reponse impulsionnelle est:


w(t)

=
=
=

F 1 [F ()]
Z +
2K 1
P () ejT e+jt d
2
Z +
K
P () ej(tT ) d

Puisque w(t) est une fonction reelle, on peut ecrire:


Z +
K
w(t) =
P () ej(T t) d

2K
p(T t)
=


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) =

Figure 7.2 Exemple dune reponse impulsionnelle dun filtre realisable.

7.2.4

Probabilit
e derreur pour un filtre adapt
e

Dans le cas dun bruit blanc, on a:



 2
Z
p (T )
1 2 +
2
=
max
= 0 2
|P ()|2 d
0 max
2
et par lidentite de Parseval:
Z +
Z +
Z
|P ()|2 d =
p2 (t)dt =

T
0

p2 (t)dt puisque p(t) = 0 en dehors de [0,T ]

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

Supposons un recepteur construit comme indique `


a la Figure 7.3:

Figure 7.3 Construction du recepteur.


CHAPITRE 7. RECEPTEUR
OPTIMAL

292

Z
v0 (t)

vi ( )w(t )d

Z T

vi ( )w(t )d

=
0

puisque nous ne nous interessons qu`


a la reponse du filtre `
a un signal nul en dehors de
lintervalle [0,T ].
En outre:
2K
[p(T t)]
w(t) =

et donc:
v0 (t) =

2K

vi ( ) [p(T (t ))] d
0

Si on pose t = T dans lequation precedente, on obtient:


v0 (T ) =

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.

Figure 7.4 Correlateur.


Remarque
Ce correlateur fournit toutes les T secondes une valeur de v0 (T ) qui est egale `
a la valeur
echantillonnee du signal de sortie du filtre adapte. Sur lintervalle ]0,T [ les signaux de
sortie du correlateur et du filtre adapte sont differents.

7.3
7.3.1

Performances de quelques modulations


Modulation de phase binaire (BPSK)


s1 = A cos 0 t
s2 = A cos 0 t

7.3. PERFORMANCES DE QUELQUES MODULATIONS

293

Le signal local du correlateur est donc:


2K
[2A cos 0 t]

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

Si le signal local est 2A cos(t + ) au lieu de 2A cos(t), on verifie aisement que:


r
1
Es
Pf =
erc
cos2
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

et le signal local du correlateur est proportionnel `


a:
A [cos(0 + )t cos(0 )t]
Lhypoth`ese s1 (t) = s2 (t) nest plus valable ici et on ne peut plus utiliser lexpression
de Pf precedente.
On doit donc retourner `
a lexpression:
Z
2 T
2
max
=
[s1 (t) s2 (t)]2 dt
0
2
[Es1 + Es2 2Es12 ]
=


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.

Figure 7.5 Detection non-coherente dun signal FSK.


Ce type de regenerateur nutilise nullement la phase du signal recu; on parle donc dun
recepteur non-coherent.

7.3. PERFORMANCES DE QUELQUES MODULATIONS

295

On doit sattendre `
a des performances reduites (no free lunch!); on trouve en fait:
Pf =

7.3.3

1 E2s
e
2

Modulation de phase diff


erentielle pour des signaux
binaires (DPSK)

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.

Figure 7.6 Syst`eme DPSK.


Le syst`eme de detection a la structure dun correlateur. Toutefois, le signal de reference local pour la detection de phase provient du signal incident de lintervalle unitaire precedent.
A ce titre il est perturbe par la presence de bruit. Ceci permet toutefois deviter la
realisation dun oscillateur local sev`erement contr
ole en phase.
La probabilite derreur realise par ce type de regenerateur sera toutefois plus elevee que
celle obtenue en PSK classique, comme le montre le raisonnement elementaire suivant.
Supposons que le recepteur recoive trois signaux successifs correspondants `
a trois 1. Il
recoit donc en labsence de bruit trois signaux de phase nulle. Suite `
a la presence du
bruit, il recoit les signaux representes par les vecteurs de la Figure 7.7.
Puisque 12 < 90 , le recepteur decidera quil ny a pas de changement de phase entre
les moments 1 et 2 mais puisque 23 > 90 , il decidera que le troisi`eme moment est un 0
et la sequence recue sera 110 au lieu de 111.

296

CHAPITRE 7. RECEPTEUR
OPTIMAL

Figure 7.7 Influence du bruit en DPSK.

7.3. PERFORMANCES DE QUELQUES MODULATIONS

297

En dautres termes, le correlateur utilise un oscillateur local bruyant.


Il nest donc pas etonnant que lon trouve pour la probabilite derreur un resultat inferieur
`
a celui obtenu en PSK:
1 Es
Pf =
e
2

7.3.4

Comparaison des syst`


emes de transmissions num
eriques

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 +

(Es )FSK non-coherente = (Es )PSK +

Figure 7.8 Probabilites derreur.

realiser une probabilite


1 dB
2 dB
4 dB


CHAPITRE 7. RECEPTEUR
OPTIMAL

298

7.3.5

Transmission en bande de base

Nous supposerons ici par exemple:




s1 = V
s2 = V

La reponse impulsionnelle du filtre adapte est donc (Figure 7.9):

Figure 7.9 Reponse impulsionnelle.

w(t)

=
=

2K
[s1 (T t) s2 (T t)]

2K
2V [u(t) u(t T )]

avec u(t) la fonction de Heaviside.


La transmittance isomorphe (transformee de Laplace!) correspondante est:


4KV 1
epT
F (p) =

p
p

7.3. PERFORMANCES DE QUELQUES MODULATIONS

299

Figure 7.10 Filtre adapte pour un signal en bande de base.


En pratique, ceci se realise par un simple integrateur (Figure 7.10).
A linstant t = kT + , juste apr`es lechantillonnage, on decharge le condensateur C a
` laide
de linterrupteur electronique (independance des decisions successives).
Les anglophones parlent dun Integrate and dump filter.
v0 (T )

=
=
=

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

Nous sommes maintenant en etat de realiser un regenerateur optimal. La probabilite


derreur ne peut etre rendue nulle mais peut toutefois etre rendue tr`es petite si le rapport signal-bruit `
a lentree du recepteur est suffisamment grand (puissance demission
suffisante ou distance reduite entre emetteur et recepteur).
Si toutefois la probabilite derreur ainsi obtenue est jugee trop elevee, il convient dutiliser
un code detecteur et correcteur derreurs (voir chapitre 3).

301

Chapitre 8

Synchronisatie
8.1

Inleiding

Bij de bespreking van de performantie van een numeriek communicatiesysteem wordt


meestal impliciet verondersteld dat dezelfde klok zowel de zend- als de ontvangst-operaties
controleert. Dit betekent dat overeenstemmende gebeurtenissen in de zender en de ontvanger synchroon verlopen (i.e. ze gebeuren ofwel op hetzelfde tijdstip, ofwel op tijdstippen die slechts van elkaar verschillen door een vaste en constante vertraging). De
uiteenzetting die hierna volgt is grotendeels gebaseerd op de referentiewerken [1, 26, 27].
In hoofdstuk 6 wordt gewezen op het feit dat de meest efficiente modulatieschemas
coherent zijn; ze maken gebruik van de faze informatie van de draaggolf. Optimale demodulatie vereist dan een lokale draaggolf aan de kant van de ontvanger, waarvan de
frequentie en de faze in perfecte overeenstemming zijn met deze van het uitgezonden
signaal. In principe zouden twee identieke ideale oscillatoren (een aan de kant van de
zender en een aan de kant van de ontvanger) de nodige synchronisatie en coherentie voor
de goede werking van het systeem moeten kunnen verzekeren. Maar in de praktijk is het
zo dat de signalen uitgezonden door twee oscillatoren met dezelfde nominale frequentie, van elkaar zullen beginnen af te wijken door hun fysische onmogelijkheid om die
gemeenschappelijke nominale frequentie met oneindig grote precisie te behouden.
Een goed model, geldig voor de signalen uitgezonden door twee onafhankelijke oscillatoren
met dezelfde nominale frequentie f0 en gesynchroniseerd op t = 0, is het volgende:
z1 (t)

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

Figure 8.1 Verschillende synchronisatie niveaus in numerieke transmissie.

Figure 8.2 Ontvanger structuur met de locatie van de verschillende synchronisatie


kringen.

304

CHAPITRE 8. SYNCHRONISATIE

aangetast werd door de toevoeging van Gaussiaanse ruis; dit betekent:


z(t,) = A sin(2f0 t + ) + n(t)

(8.4)

We willen de beste schatting bekomen van de onbekende faze , gebaseerd op de observatie


van z(t) gedurende een tijdsinterval van lengte nT0 , met T0 = f10 en n een willekeurig
geheel getal. Een onmiddellijke toepassing van de detectietheorie in het continue geval
leidt tot de volgende uitdrukking voor de log-likelihood functie:
Z nT0
() =
[z(t,) A sin(2f0 t + )]2 dt
(8.5)
0

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

z(t,) cos(2f0 t + )dt


= 0.
(8.6)
0

Een blokschema van de ML estimator van wordt gegeven in Figuur 8.3.

Figure 8.3 Maximum-likelihood estimator voor de faze van de draaggolf.


Teneinde een benaderde uitdrukking te bekomen van de variantie van de estimator
beschouwen we dat het ruisvermogen laag is (wat tot gevolg heeft dat de schattingsfout
laag is), zo dat we het volgende kunnen schrijven:
' cos(2f0 t + ) + ( )
cos(2f0 t + )

d
cos(2f0 t + )
d

Substitutie van (8.4) en (8.7) in (8.6) leidt tot:


R nT0
n(t) cos(2f0 t + )dt
' 0 R nT0
A 0 sin2 (2f0 t + )dt

(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 .

Figure 8.4 Indicatorfunctie van de schattingsfout voor recursieve faze estimatie.


Als we een waarde van k hebben die dicht gelegen is bij , wat een redelijke veronderstelling is op het einde van de acquisitiefaze, dan is het gemiddelde uit vergelijking (8.11) een
goede foutindicator voor de gebruikte schatting. Wanneer de indicatorfunctie in de buurt
van positief is, dan weten we dat k groter is dan ; en wanneer de indicatorfunctie in
de buurt van negatief is, dan weten we dat k kleiner is dan . Bovendien, nog steeds
in de buurt van , is de magnitude van de indicatorfunctie een maat voor de afwijking
van onze vorige schatting t.o.v. . Een redelijk recursief algoritme voor het updaten van
onze schatting, is dan ook het volgende:
n
o
k+1 = k k E e(k )
(8.12)
waarbij e(k ) gedefinieerd wordt als:
4

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.

Figure 8.5 Blokschema van een PLL.


In dit schema wordt het ontvangen signaal z(t,) 1 vermenigvuldigd met de uitgang van
een VCO
(E: Voltage-Controlled Oscillator): een sinusvormig signaal met magnitude
gelijk aan 2k1 . Een VCO genereert een draaggolf waarvan de frequentie lineair varieert
met de amplitude van een controle signaal. Het aldus bekomen product wordt dan door
een laagdoorlaatfilter gestuurd en na filtering aangelegd aan de ingang van de VCO,
waarvan de ogenblikkelijke hoekfrequentie (pulsatie) varieert volgens:

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

de fasefout als volgt definieren:


4

(t) = (t) (t)

(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)

waarin (s) de Laplace getransformeerde is van (t).

(8.18)

308

CHAPITRE 8. SYNCHRONISATIE

8.1.2.1

Orde van de PLL

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)

waarin de twee parameters fn en , respectievelijk de natuurlijke frequentie en de


dempingsfactor van de lus genoemd, gegeven worden door:
r
Ak1 k2
1
fn =
(8.21)
2
1
r
2 Ak1 k2
=
(8.22)
2
1
We merken op dat de orde van de PLL overeenstemt met het aantal perfecte integratoren
in de lus. Voor een eerste-orde PLL kunnen we slechts een parameter (namelijk Ak1 k2 ,
wat de 3-dB bandbreedte van Heq (s) is) controleren, terwijl een tweede-orde PLL ons de
twee parameters fn en geeft.
De magnitude van de frequentieresponsie Heq (j2f ) van een tweede-orde PLL is voorgesteld voor verschillende waarden van in Figuur 8.8.

Figure 8.8 Frequentieresponsie van een tweede-orde PLL.


Men kan op deze Figuur zien dat de lus een laagdoorlaatfiltering doorvoert op de fazeinputs. Men kan eveneens aantonen dat eerste-orde en tweede-orde PLLs altijd stabiel

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

de transfertfunctie bekomen tussen de ruis n0 (t) en de gerecupereerde faze (t):


4

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

Recuperatie van de drager

Teneinde de zaken te vereenvoudigen beschouwen we initieel een binair CPSK signaal


geschreven in zijn banddoorlaat vorm:
v(t) = vP (t) cos(2f0 t + )
waarbij
vP (t) =

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.

8.2. RECUPERATIE VAN DE DRAGER

311

Er bestaan drie belangrijke types draaggolf-synchronisatiekringen: (1) de kwadraterende


lus, (2) de hermodulator, en (3) de Costas lus. Ze verschillen in de positie van de nietlineariteit, die bijvoorbeeld volledig van de PLL gescheiden is in de kwadraterende lus,
terwijl ze net in de fazedetector inbegrepen is bij de hermodulator en de Costas lus.

8.2.1

De kwadraterende lus (E: Squaring loop)

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

De hermodulator (E: Remodulator)

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

De Costas lus (E: Costas loop)

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

Recuperatie van de klokfrequentie

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

8.3. RECUPERATIE VAN DE KLOKFREQUENTIE

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)

Te wijten aan de veronderstelling aangaande de beperking van de bandbreedte voor H(f ),


zijn slechts de eerste drie termen met l = 0, 1 in de sommatie uit vergelijking (8.34)
verschillend van nul. De eerste term stemt overeen met een DC-component, terwijl de
twee andere een sinusvormig signaal geven met frequentie T1 en amplitude:
Z

1 =



1
H(f )df
H f
T

(8.36)

314

CHAPITRE 8. SYNCHRONISATIE

Noteer dat de sinusvormige component op de klokfrequentie verdwijnt wanneer H(f )


1
1
in bandbreedte strikt beperkt is tot het interval [ 2T
, 2T
]. Dus, ook in dit geval, voor
signalen die een extra bandbreedte vertonen bovenop de Nyquist frequentie, kunnen we
een niet-lineariteit gebruiken (bvb. een kwadratische wet gelijkrichter) om de gewenste
spectrale lijn te herstellen, gevolgd door een afgestemde filter (een smalbandige filter
gecentreerd rond de timing frequentie T1 ) of door een PLL die de gereconstrueerde timing golfvorm volgt. Alternerende nuldoorgangen van de referentie golfvorm w(t) worden
gebruikt door de pulsgenerator van Figuur 8.13 als indicaties van de correcte bemonsteringstijdstippen.

Figure 8.13 Blokdiagram van een klok-synchroniser.


Via de spectrale analyse van een cyclostationair proces kan men aantonen dat het spec2
trum van y(t) = rD
(t) een continu deel bevat, naast het discrete deel dat aanleiding geeft
tot de gewenste spectrale lijn. Dus, zelfs in de afwezigheid van additieve Gaussiaanse
ruis, hebben we een eigen-ruis die de afgestemde filter (of de PLL) voorgesteld in de Figuur 8.13 binnenkomt en die een fluctuatie veroorzaakt van de nuldoorgangen van w(t)
rond de nominale bemonsteringsogenblikken, de zogeheten timing jitter.

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

Un ensemble G = {x,y,z, . . .} muni dune loi de composition notee est un groupe


commutatif (note (G,)) si,
x,z G : (x z) G;
la loi est associative et commutative;
un element neutre note 0 tel que x G : x 0 = x;
x G a un oppose note x tel que: x (x) = 0.
Exemple 1
Zp = {0,1,2, . . . ,p 1} muni de loperation appelee addition et definie sur Zp comme
suit a,b Zp :
ab=a+b
ab=a+bp

si a + b p
si a + b > p

que lon ecrit encore:


a b = a + b mod p (modulo p)
(Zp ,) constitue un groupe abelien.
En particulier, Z2 = {0,1} muni de loperation (qui nest alors rien dautre que
loperation logique ou exclusif) constitue un groupe abelien. Dans ce groupe, 1 est son
propre oppose (1 1 = 0).
Exemple 2
Si on note Z2n lensemble de tous les mots binaires de longueur n (encore appeles vecteurs ou n-uples), alors (Z2n ,) constitue aussi un groupe abelien. Dans cette definition,
loperation entre vecteurs nest rien dautre que loperation appliquee `
a chacune des
composantes des vecteurs 0011 1110 = 1101.


ANNEXE A. ANNEXE MATHEMATIQUE

318

A.1.2

Anneau, champ, champ fini

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

Notion de congruence - Classes d


equivalences

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, . . .}

Les operations daddition et de multiplication habituelles (notees + et .) sont dites stables


vis-`
a-vis de la relation de congruence, ce qui signifie:
Si a
= a0 (mod p) et b
= b0 (mod p), alors:
a+b
a.b

a0 + b0 (mod p)
a0 .b0 (mod p)

(a0 )n (mod p), pour tout entier n positif.


Il sensuit que an =
Cette stabilite permet dinduire deux lois de composition (notees de facon analogue + et
.) sur lensemble quotient Z/R.
Soit en effet deux elements a et b quelconques de Z. Il leur correspond 2 classes
dequivalence (eventuellement identiques) a et b. La loi de composition notee (qui
represente indifferemment + ou .) fait correspondre `
a a et b un element c (c = a b) qui
appartient `
a la classe dequivalence c.
La stabilite de implique que c ne depend aucunement du choix de a et b dans a et b.
La loi de composition associe donc sans aucune ambigute c a
` a et b; on ecrit donc:
c = a b
soit:
c=a+b
et
c = a.b
La table daddition et de multiplication dans Z/R secrit par exemple pour p = 2:

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

(+ et etant les operations daddition et de multiplication classiques).


Les resultats des operations et . sont donc les residus des operations daddition et de
multiplication classiques apr`es division par p, ce qui garantit leur appartenance `
a Zp .
Les tables daddition et de multiplication dans Z2 (p = 2) sont donc:
+
0
1

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.2.4.1 Exemple 1: CG(2) = Z2 . Les operations et . ne sont rien dautre


que les operations logiques OU exclusif et ET.
1 constitue son propre inverse et son propre oppose. Loppose de 0 est 0. Il sensuit que
dans Z2 :
ab=ab
A.1.2.4.2 Exemple 2: Montrer que Z3 = {0,1,2} muni des operations et .
constitue un champ qui nest rien dautre que CG(3).
A.1.2.4.3

Exemple 3: Montrer que Z4 muni des operations et . ne constitue


pas un champ (verifier que 2 na pas dinverse).
Il sensuit donc que CG(22 ) nest pas (Z4 , ,.).


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

ement primitif Un element dun champ CG(q) dont lordre est


El

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

Exemple Dans Z5 = {0,1,2,3,4}, demontrer que 3 est une primitive.


30 = 1,31 = 3,32 = 4,33 = 2,34 = 1,35 = 3, . . .

Lordre de 3 est donc 4 (cest-`


a-dire q 1 = 5 1) et chaque element non nul du
champ sexprime par une puissance de 3 (modulo 5). La succession 1,3,4,2 se reproduit
indefiniment.
2 est egalement une primitive du champ Z5 , car:
20 = 1,21 = 2,22 = 4,23 = 3,24 = 1, . . .
Lordre de 4 est 2 car:
40 = 1,41 = 4,42 = 1,43 = 4,44 = 1, . . .

A.1.2.5.6 Table de multiplication et inverses La notion de primitive permet


deffectuer aisement la multiplication dans un champ fini et de determiner linverse de
tout element non nul du champ.
Si on consid`ere par exemple le champ CG(5) presente ci-dessus, 2 est une primitive de
ce champ. Soit `
a effectuer le produit 3.4. Il suffit dexprimer ces deux elements comme
une puissance dune primitive:
3.4 = 23 .22 = 25 = 24 .21 = 1.2 = 2
En effet, lordre de 2 est 4 et 24 = 1.
De mani`ere generale pour calculer linverse dun element dun champ CG(q), il suffit
decrire, si est une primitive de ce champ:
= t et t . (q1)t = q1 = 1
Il sensuit que linverse de = t est (q1)t .


ANNEXE A. ANNEXE MATHEMATIQUE

322

A.2
A.2.1

Espace vectoriel Zpn


D
efinition

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

A.2. ESPACE VECTORIEL ZPN

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

On trouve y = 0 et y w = 0, ce qui implique que y = w = 0.


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

Base pour C =< S > et C

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.

A.3. MATRICES (DANS Z2 )


A.3.2.1

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

sobtient comme suit:

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

Soit X la matrice obtenue `


a partir de G en supprimant les LC. Ceci peut se faire en
permutant les colonnes de G pour la mettre sous la forme:
G RREF G00 =

Ek ,

On note les permutations effectuees.


Former une matrice H [n.(n k)] comme suit:
placer dans lordre, les lignes de X dans les lignes de H correspondant aux LC de G;
dans les n k lignes restantes de H, placer la matrice unite Enk .
Ceci peut se faire de la facon suivante.
On forme la matrice:

H 00 =

X
Enk

puis on en deduit H en effectuant les permutations inverses de celles effectuees pour


obtenir G00 .
Les colonnes de H forment une base de C .
Exemple:
Soit le code C defini par
comme suit:

11101
10110

M =
01011
11010

S = {11101,10110,01011,11010}. Une base de C sobtient

10001
11101

REF 01011 RREF 01011


00111

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

Soit C un code lineaire de longueur n et u et v deux vecteurs de Z2n .


1. Si u C v, alors C u = C v (le coset associe `
a un vecteur dun coset est ce
meme coset);
2. Le vecteur u C u;
3. Si u v C, alors u et v appartiennent au meme coset;
4. Si u v
/ C, alors u et v appartiennent `
a des cosets differents;
a un et un seul coset; cest-`
a-dire ou bien C u =
5. Chaque mot de Z2n appartient `
C v ou bien C u et C v sont disjoints;
6. Le nombre de vecteurs de C u est egal au nombre de vecteurs de C (ceci se note
|C| = |C u|);
7. Si C est de dimension k, il y a exactement 2nk cosets differents associes `
a C et
chaque coset contient exactement 2k vecteurs;
8. Le sous-ensemble C est lui meme un de ces cosets.
Exemple:
Soit le code C = {0000,1011,0101,1110}. C constitue lui meme un coset. Pour obtenir un
autre coset, on doit considerer un vecteur u qui
/ C. Pour des raisons qui apparaissent
dans la theorie du decodage des codes lineaires, il convient de considerer des vecteurs u
de poids minimum (et qui
/ C). Soit u = 1000.
C 1000 = {1000,0011,1101,0110}


ANNEXE A. ANNEXE MATHEMATIQUE

328

Pour continuer, on choisit encore un vecteur u de poids minimum et qui


/ des cosets
precedents. Soit u = 0100. Il sensuit:
C 0100 = {0100,1111,0001,1010}
On rep`ete le procede avec u = 0010 et on obtient:
C 0010 = {0010,1001,0111,1100}
Le code C etant de dimension k = 2, il y a 2nk = 22 = 4 cosets de 2k = 4 vecteurs et
chaque vecteur de Z24 appartient `
a un et un seul des cosets ci-dessus. On verifiera `
a titre
dexercice que les 8 proprietes presentees dans le theor`eme sont bien respectees dans cet
exemple.

A.4.3

Tableau normalis
e

On represente souvent lensemble des cosets associes `


a un code sous une forme normalisee
qui se prete bien `
a loperation de decodage. Il sagit dun tableau (appele standard array
par les anglo-saxons) dans lequel:
la premi`ere ligne est constituee par les mots-codes, le mot 000 . . . 000 etant en
premi`ere position;
u u est un mot de Z2n de
les autres lignes sont chacune formees par un coset C u o`
poids minimum et qui nappartient pas aux cosets precedents (il porte le nom de
coset leader et est note CL). Le CL occupe dans chaque coset la premi`ere position.
Ce type de tableau serait dans lexemple ci-dessus:
0000
1000
0100
0010

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

Congruence modulo un polyn


ome

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) mod h(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)

g(x) p(x) mod h(x)


g(x).p(x) mod h(x)

Cette notion de congruence modulo h(x) permet de faire correspondre `


a tout polyn
ome
f (x) de Zp (x) un polyn
ome r(x) de degre inferieur `
a celui de h(x). Nous noterons
Zp (x)/h(x) lensemble des polyn
omes de Zp (x) de degre inferieur `
a celui de h(x) (ou
encore lensemble des classes dequivalence des polyn
omes modulo h(x)). Les polyn
omes
de cet ensemble sont additionnes () et multiplies (.) modulo h(x). Plus precisement,
si a(x) et b(x) Zp (x)/h(x),a(x) b(x) se calcule comme dans Zp (x) car cette somme
Zp (x)/h(x). Le degre de a(x) b(x) est en effet inferieur `
a celui de h(x). Le produit
a(x).b(x) dans Zp (x)/h(x) est lunique polyn
ome de ce dernier ensemble auquel le produit
a(x).b(x), calcule dans Zp (x), est congruent modulo h(x).
Le nombre delements de cet ensemble Zp (x)/h(x) est egal `
a pm si m est le degre de h(x).
On peut, tout comme on la fait avant, dire que la congruence modulo h(x) definit une
partition de Zp (x) dont chaque classe dequivalence contient un polyn
ome de Zp (x)/h(x)
et tous les polyn
omes de Zp (x) qui lui sont congruents modulo h(x).
Cet ensemble constitue un anneau de pm elements. Dans certaines conditions, cet anneau
peut devenir un champ comme le montrent les exemples suivants.


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

Conditions dexistence du champ Zp (x)/h(x)

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

Lanneau Zp (x)/h(x) est un champ si h(x) est irreductible dans Zp (x).

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

Construisons une extension du champ Z2 a


` laide du polyn
ome h(x) = x2 x 1
irreductible sur Z2 .
On veut ajouter `
a Z2 des elements de telle mani`ere que la structure algebrique elargie soit
un champ qui contienne Z2 et une racine de x2 x 1. A cette fin, combien delements
faut-il ajoute `
a Z2 et comment faut-il definir laddition et la multiplication dans ce nouvel
ensemble?
Notons symboliquement la racine du polyn
ome x2 x 1. On a donc:
2 1 = 0
ou
2 = 1
Cet element doit donc etre ajoute `
a Z2 .
On a en outre evidemment que 1 6= (puisque 1 = entranerait 1=0), 1 6= 1
(sinon = 0) et 1 6= 0 (puisque 1 = 0 et 2 1 = 0 entranent 2 = 0 et
donc, dans un champ, = 0). Il faut donc certainement introduire un quatri`eme element

/ {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

si on veut maintenir la caracteristique egale `


a 2 (voir plus loin pour la definition de la
caracteristique).
1 = 1 1 = , . . .
Multiplication
. = ( 1). = 2 = 1 = 1, . . .
Ceci conduit aux tableaux suivants:

0
1

0
0
1

1
1
0

0
1

1
0

.
0
1

0
0
0
0
0

1
0
1

Linverse de est donc et inversement.


Ce champ de 4 elements, note CG(22 ), est different de lensemble Z4 qui, comme nous
lavons dej`
a vu, ne constitue pas un champ.

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

Nous avons introduit la notion de racine dun polyn


ome h(x), defini et irreductible sur
CG(p) = Zp . Cette racine qui
/ CG(p) et dont la valeur nest pas connue satisfait `
a
h() = 0.
A partir de CG(p) et de cette racine , on peut construire un nouvel ensemble comportant
pm elements; il est constitue de lensemble des combinaisons lineaires de :
m1
X

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

Comparaison des champs Zp (x)/h(x) et K()

Ces deux champs de pm elements definis `


a partir du meme polyn
ome irreductible h(x)
sont isomorphes, la correspondance bi-univoque etant:

Classes residuelles de Zp (x)/h(x)


1
2
..
.
p1
x
x2
..
.
xm1
..
.
a0 a1 x . . . am1 xm1

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

ement primitif et polyn


El
ome primitif de
CG(2m )
Introduction

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

dun mot de Z24 , soit sous forme dun polyn


ome de Z2 (x)/x4 x 1 (colonnes 1 et 2).
Mot de Z24
0000
1000
0100
0010
0001
1100
0110
0011
1101
1010
0101
1110
0111
1111
1011
1001

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

..
.

On retrouve donc lensemble des polyn


omes en introduits avec la deuxi`eme definition
du champ dextension CG(pm ).
Rappelons que cette representation `
a laide dun element primitif facilite les operations
de multiplication dans le champ. Ainsi:
(1111).(1011) = 12 . 13 = 25 = 10 = 1110
car 15 = 0 = 1.

A.7.2

Polyn
ome primitif

A.7.2.1

Probl`
eme

Un champ dextension CG(2m ) peut se definir `


a partir de nimporte quel polyn
ome
irreductible sur Z2 .
Si est une racine de h(x) ( CG(2m )), `
a quelle condition est-il un element primitif
de CG(2m )?
Exiger que soit une primitive de CG(2m ) implique une condition supplementaire `
a h(x)
(outre lirreductibilite), `
a savoir quil soit un polyn
ome dit primitif.


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

Lien avec la notion dordre dun


el
ement

La condition ci-dessus imposee `


a un polyn
ome primitif garantit en fait que lordre de ,
racine de h(x), soit 2m1 (m etant le degre de h(x)).
En effet, si h(x) divisait 1 xs ,s < 2m1 , on pourrait ecrire:
1 xs = h(x).g(x)
et donc:

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

Si h(x) est un polyn


ome irreductible mais non primitif, il est possible de construire un
champ dextension avec ce polyn
ome mais la racine de h(x) ne serait pas une primitive
de ce champ. Tout champ fini ayant toutefois au moins une primitive, il existe donc au
moins un autre element de ce champ dextension qui soit primitif.
A titre dexemple, considerons le polyn
ome h(x) = 1 x x2 x3 x4 , irreductible sur
5
Z2 mais qui divise 1 x . Le polyn
ome h(x) nest donc pas primitif car lordre de est
5 < 24 1 = 15.
Le champ Z2 (x)/1xx2 x3 x4 comprend les memes polyn
omes que Z2 (x)/1xx4
decrit ci-dessus, mais la troisi`eme colonne ne peut plus etre ecrite.
On a en effet:
4

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

Soit un champ quelconque F comportant q elements. A partir de ce champ, on peut


definir un ensemble de polyn
omes F (x) qui est lensemble des polyn
omes de tous degres
dont les coefficients appartiennent `
a F.
Soit egalement un polyn
ome h(x) de degre m 1 de F (x).
On appelle extension algebrique du champ F lanneau, note F (x)/h(x), constitue par
tous les polyn
omes de F (x) de degre inferieurs `
a m. Les operations sur les elements de
cet anneau sentendent comme suit:
f (x) et g(x) F (x)/h(x) :
f (x) + g(x) = t(x) avec degre de t(x) < m et application des r`egles classiques
daddition des polyn
omes en respectant lalg`ebre de F ;
f (x).g(x) = s(x) o`
u s(x) est le reste de la division de f (x).g(x) par h(x).
Cette extension contient le champ de depart F .
Si le polyn
ome choisi pour construire lextension est un polyn
ome irreductible sur F ,
alors lextension F (x)/h(x) est un champ.
Nous avons precedemment detaille les extensions du champ Z2 . La generalisation
presentee ici sapplique aux extensions de Zp (p premier), ou `
a toute extension dun
autre champ quelconque.

A.8
A.8.1

Polyn
ome minimum dun
el
ement de CG(2m )
Introduction

Nous venons de definir les elements (des polyn


omes) du champ CG(2m ) construit `
a partir
dun polyn
ome h(x) irreductible sur CG(2). On remarquera que les coefficients de ces
polyn
omes appartiennent `
a CG(2) tandis que leurs racines appartiennent `
a CG(2m ) (qui
contient dailleurs CG(2)).
Un concept important resulte du probl`eme suivant: etant donne un element de CG(2m ),
quels sont les polyn
omes de Z2 (x) dont est un zero?
Ce probl`eme conduit `
a la notion de polyn
ome minimum associe `
a un element dun
champ.

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

Soit le champ CG(23 ) = Z2 (x)/x3 x 1 (ce dernier polyn


ome est irreductible sur Z2 ).
Prenons comme element la racine de x3 x 1. Le polyn
ome minimum associe `
a
lelement de CG(23 ) nest rien dautre que x3 x 1 lui-meme car on verifie quaucun
polyn
ome de degre inferieur `
a 3 nadmet un zero en x = (sauf le polyn
ome nul que
nous rejetons).
Dans ce meme champ dextension, lelement 1 a comme polyn
ome minimum x 1, tandis
que celui associe `
a lelement 0 est le polyn
ome x.

A.8.3

Th
eor`
eme

Soit un element de CG(2m ) et m le polyn


ome minimal qui lui est associe. Alors:
m (x) est irreductible sur Z2 ;
si f (x) est un polyn
ome quelconque de Z2 (x) tel que f () = 0, alors m (x) est
facteur de f (x);
le polyn
ome minimum m (x) est unique;
m

le polyn
ome minimum m (x) est facteur de 1 x2

le polyn
ome minimum m (x) sexprime comme suit:
2

m (x) = (x ).(x 2 ).(x 2 ). . . . .(x 2 )


avec i le plus petit entier tel que:
i+1

Ce dernier point implique que le degre de m (x) est i + 1. De plus, 2 ,4 ,8 , . . . sont


egalement des racines de m (x) qui est donc egalement le polyn
ome minimum de ces
elements.

A.8.4

Exemple

Soit le champ dextension CG(24 ) construit `


a laide du polyn
ome h(x) = 1 x x4 . Ce
champ a ete decrit au paragraphe A.7.1.
Determinons le polyn
ome minimum associe `
a lelement = 3 de ce champ. Il sera note
m3 (x) pour des raisons evidentes.
Le degre de ce polyn
ome est obtenu en considerant la suite:
= 3 ,2 = 6 ,4 = 12 ,8 = 24 = 9 ,16 = 48 = 3 =
Il sensuit que 2i+1 = 16 et donc i = 3. Le degre de m3 (x) est donc i + 1 = 4.
Soit:
m3 (x) = a0 a1 x a2 x2 a3 x3 a4 x4
On exprime que
m3 () = m3 ( 3 ) = 0


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

Soit un champ F et un element quelconque dune certaine extension de F . On appelle


polyn
ome minimum associe `
a le polyn
ome monique de F (x) (cest-`
a-dire choisi parmi
les polyn
omes `
a coefficients dans F ) de degre minimum ayant comme racine.
Il est important de remarquer que lon impose au polyn
ome minimum dappartenir `
a
F (x). Si on definissait le polyn
ome minimum sur lextension de F , il serait evidemment
le polyn
ome (x ).
Le fait dexiger que le polyn
ome minimum soit monique exclut le polyn
ome nul et garantit
son unicite.
On demontre un theor`eme analogue `
a celui presente ci-dessus:
Tout element dune extension dun champ F poss`ede un polyn
ome minimum
unique m (x);


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

m (x) = (x ).(x p ).(x p ). . . . .(x p )


o`
u i est le plus petit entier tel que:
i+1

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

Rappel sur lordre dun champ

Dans un champ de q elements (cest-`


a-dire de cardinalite q):
Lordre de chaque element divise q 1;
Chaque diviseur de q 1 est lordre dau moins un element.

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

Si p et n sont des naturels premiers entre-eux, n est diviseur de p(n) 1.


Corollaires
1. Le champ dextension CG(p(n) ) contient un element dordre n si p et n sont
premiers entre-eux. Ce champ contient en effet q = p(n) elements. Si p et n sont
premiers entre-eux, n divise q 1 et est donc lordre dau moins un element de
CG(p(n) ).
2. Aucun element de CG(2m ) (m quelconque) na un ordre pair.


A.10. CARACTERISTIQUE
DUN CHAMP

A.9.5

341

Exemples

1. Dans quel champ dextension de Z2 trouve-t-on un element dordre 11? Reponse:


CG(210 );
2. Meme question avec n = 7. Lapplication de la theorie vue ci-dessus fournit comme
reponse CG(26 ). Toutefois le champ dextension CG(23 ) en contient un aussi; il
sagit de lelement primitif.

A.10

Caract
eristique dun champ

A.10.1

D
efinition

La caracteristique dun champ est le plus petit nombre r tel que:


1 1 1 ... 1 1

A.10.2

Exemple

Zp et toutes ses extensions ont une caracteristique egale `


a p.

A.10.3

Th
eor`
emes

1. Tout champ fini a une caracteristique qui est un nombre premier;


2. Tout champ de caracteristique egale `
a p est une extension de Zp ;
3. Tout champ F de caracteristique p a les proprietes suivantes:
a,b F,(a + b)p = ap + bp ;
2

Si a F est un zero dun polyn


ome f (x) de Zp (x), alors ap ,ap ,ap , . . . sont
aussi des zeros de F .

A.10.4

Exemple

Soit F = CG(24 ) et un polyn


ome de Z2 (x) : f (x) = x4 x 1. Le polyn
ome choisi etant
le polyn
ome primitif du champ, ( CG(24 )) est sa racine.
2 est aussi une racine:
8 2 1 = (1 x2 ) x2 1 = 0

A.11

Calculs dans CG(pm )

Nous avons introduit la notion de polyn


ome defini sur un champ quelconque F (cest`
a-dire dont les coefficients appartiennent `
a F ). Nous avons note F (x) lensemble de ces
polyn
omes.


ANNEXE A. ANNEXE MATHEMATIQUE

342

Traitons ici un exemple o`


u le champ F est CG(24 ). Soit `
a resoudre un syst`eme de 2
equations lineaires `
a 2 inconnues:
x 7y
12

x y

En appliquant les methodes habituelles de resolution de ce type dequations et en utilisant


les r`egles daddition et de multiplication dans CG(24 ), on obtient:
x

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

Il y a plus de 2.000 ans, Euclide a formule lalgorithme suivant permettant de trouver le


plus grand commun diviseur (PGCD) de 2 nombres a0 et a1 appartenant `
a un champ F
(avec a0 a1 ). On effectue successivement:
a0 = a1 q1 a2 ,a2 < a1
Si a2 = 0,a1 = PGCD (a0 ,a1 ).
Si a2 =
6 0, on calcule:
a1 = a2 q2 a3 ,a3 < a2
etc . . .
Puisque a1 > a2 > a3 > . . ., on obtient `
a la fin une valeur de k telle que ak+1 = 0 et
dans ces conditions:
ak = PGCD (a0 ,a1 )
Il existe aussi un algorithme dEuclide etendu qui permet de resoudre le probl`eme suivant.
Soit a et b N ; des entiers u et v tels que: ua + vb = PGCD (a,b). Trouver u et v.
Lalgorithme dEuclide etendu est le suivant:
Initialisation:

A.12. ALGORITHME DEUCLIDE

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

sn2 qn sn1 = reste de la division de sn2 par sn1

un

qn un1 + un2

vn

qn vn1 + vn2

Finalement u = (1)n un1 , v = (1)n1 vn1 , PGCD (a,b) = sn1 .


Exemple:
s0 = b

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

On a bien v.b + u.a = 1.35 + (1).30 = 5 = PGCD (30,35).


ANNEXE A. ANNEXE MATHEMATIQUE

344

A.12.2

PGCD de deux polyn


omes

Cette meme procedure est applicable `


a la recherche du PGCD de deux polyn
omes a0 (x)
et a1 (x) definis sur un champ F determine. Il sagit du polyn
ome de degre maximum
defini sur F qui divise `
a la fois a0 (x) et a1 (x).
Nous supposerons:
degre a0 (x) degre a1 (x)
On applique la recurrence suivante:
ak1 (x)

qk (x).ak (x) ak+1 (x)

degre [ak+1 (x)]

<

degre [ak (x)]

Les degres de a1 (x),a2 (x), . . . etant decroissants, on atteint `


a la fin ak+1 = 0. Dans ces
conditions ak (x) est le PGCD de a0 (x) et a1 (x).
Exemple:
Trouver le PGCD de a0 (x) = x2 x et a1 (x) = x2 2 definis sur Z3 .
On a successivement:

(x2 x) = 1.(x2 2) (x 1)
a0 (x) = q1 .a1 (x) a2 (x)

(x2 2) = (x 2).(x 1) 0
a1 (x) = q2 .a2 (x) a3 (x)
a3 (x) = 0 et donc le PGCD de x2 x et x2 2 est a2 (x) = (x 1).
On remarquera que 2x 2 est egalement PGCD des memes polyn
omes.

A.12.3

Remarque: algorithme dEuclide


etendu appliqu
e au
calcul du PGCD de deux polyn
omes

Si on definit les polyn


omes uk (x) et vk (x) par la recurrence:
uk+1 = qk (x)uk (x) uk1 (x)
avec

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)

También podría gustarte