201111 Perf s System Es Codes

169
Codage de Canal : Performances de systèmes codés Olivier Rioul TELECOM ParisTech Dept. Comelec [email protected] Version 3.0 (2011)

Transcript of 201111 Perf s System Es Codes

Page 1: 201111 Perf s System Es Codes

Codage de Canal :

Performances de systèmes codés

Olivier Rioul

TELECOM ParisTech

Dept. Comelec

[email protected]

Version 3.0 (2011)

Page 2: 201111 Perf s System Es Codes

ii

Cadre privé } sans modifications

Par le téléchargement ou la consultation de ce document, l’utilisateur accepte la licence d’utilisation qui y estattachée, telle que détaillée dans les dispositions suivantes, et s’engage à la respecter intégralement.

La licence confère à l’utilisateur un droit d’usage sur le document consulté ou téléchargé, totalement ou en partie, dansles conditions définies ci-après, et à l’exclusion de toute utilisation commerciale.

Le droit d’usage défini par la licence est limité à un usage dans un cadre exclusivement privé. Ce droit comprend :– le droit de reproduire le document pour stockage aux fins de représentation sur un terminal informatique unique,– le droit de reproduire le document en un exemplaire, pour copie de sauvegarde ou impression papier.

Aucune modification du document dans son contenu, sa forme ou sa présentation, ni aucune redistribution en tout oupartie, sous quelque forme et support que ce soit et notamment par mise en réseau, ne sont autorisées.

Les mentions relatives à la source du document et/ou à son auteur doivent être conservées dans leur intégralité.

Le droit d’usage défini par la licence est personnel, non exclusif et non transmissible. Tout autre usage que ceux pré-vus par la licence est soumis à autorisation préalable et expresse de l’auteur : [email protected]

Page 3: 201111 Perf s System Es Codes

Table des matières

1 Introduction 5

1.1 Formulation générale du problème . . . . . . . . . . . . . . . . . . . 5

1.2 Systèmes codés ou non codés . . . . . . . . . . . . . . . . . . . . . . . 6

1.2.1 Transmission symbole par symbole . . . . . . . . . . . . . . . 6

1.2.2 Transmission mot par mot . . . . . . . . . . . . . . . . . . . . 7

1.2.3 Système codé par un code en blocs . . . . . . . . . . . . . . . 8

1.2.4 Système codé par un code convolutif . . . . . . . . . . . . . . 9

1.3 Exemples de canaux continus . . . . . . . . . . . . . . . . . . . . . . . 9

1.3.1 Canal gaussien réel . . . . . . . . . . . . . . . . . . . . . . . . . 10

1.3.2 Canal gaussien complexe . . . . . . . . . . . . . . . . . . . . . 11

1.3.3 Canal de Rayleigh* . . . . . . . . . . . . . . . . . . . . . . . . . 13

1.3.4 Canal de Rayleigh normalisé* . . . . . . . . . . . . . . . . . . . 14

1.3.5 Canal de Rayleigh avec évanouissements indépendants* . . 14

1.3.6 Performances sur un canal de Rayleigh* . . . . . . . . . . . . 16

1.4 Exemples de canaux discrets . . . . . . . . . . . . . . . . . . . . . . . 16

1.4.1 Canal binaire symétrique . . . . . . . . . . . . . . . . . . . . . 17

1.4.2 Canal q-aire symétrique . . . . . . . . . . . . . . . . . . . . . . 18

1.4.3 Canal à effacement* . . . . . . . . . . . . . . . . . . . . . . . . 20

1.4.4 Canal à effacements et erreurs* . . . . . . . . . . . . . . . . . . 22

1.4.5 Performances moyennes sur un canal à effacement et erreurs* 23

1.5 Paramètres fondamentaux d’une transmission . . . . . . . . . . . . . 24

1.5.1 Taux et débit binaire . . . . . . . . . . . . . . . . . . . . . . . . 24

1.5.2 Taux et efficacité spectrale . . . . . . . . . . . . . . . . . . . . . 24

1.5.3 Rapport signal-à-bruit et puissance d’émission . . . . . . . . 25

1.5.4 Transmission à bande ou à puissance limitée . . . . . . . . . 26

iii

Page 4: 201111 Perf s System Es Codes

iv TABLE DES MATIÈRES

2 Maximum de vraisemblance 29

2.1 Généralités . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

2.2 Maximiser la probabilité a posteriori . . . . . . . . . . . . . . . . . . 30

2.3 Maximiser la vraisemblance . . . . . . . . . . . . . . . . . . . . . . . . 31

2.4 Minimiser la distance euclidienne . . . . . . . . . . . . . . . . . . . . 31

2.4.1 Canal gaussien . . . . . . . . . . . . . . . . . . . . . . . . . . . 32

2.4.2 Canal de Rayleigh* . . . . . . . . . . . . . . . . . . . . . . . . . 32

2.5 Minimiser la distance de Hamming . . . . . . . . . . . . . . . . . . . 32

2.5.1 Canal q-SC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

2.5.2 Canal à erreurs et effacements* . . . . . . . . . . . . . . . . . . 33

2.6 Décodage «Hard» et décodage «Soft» . . . . . . . . . . . . . . . . . . . 34

2.6.1 Décodage «Soft» . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

2.6.2 Décodage «Hard» . . . . . . . . . . . . . . . . . . . . . . . . . . 34

2.6.3 Décodage «Hard» avec effacements* . . . . . . . . . . . . . . . 36

3 Bornes sur la probabilité d’erreur 39

3.1 Généralités . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39

3.2 Borne de l’union . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40

3.3 Borne de Bhattacharyya . . . . . . . . . . . . . . . . . . . . . . . . . . 41

3.4 Cas d’un canal gaussien . . . . . . . . . . . . . . . . . . . . . . . . . . 41

3.4.1 Calcul exact de la probabilité d’erreur par paire . . . . . . . . 41

3.4.2 Borne de Bhattacharyya . . . . . . . . . . . . . . . . . . . . . . 42

3.5 Cas d’un canal q-SC ou BSC . . . . . . . . . . . . . . . . . . . . . . . . 43

3.5.1 Calcul exact de la probabilité d’erreur par paire . . . . . . . . 43

3.5.2 Borne de Bhattacharyya . . . . . . . . . . . . . . . . . . . . . . 44

3.6 Autres bornes* . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46

3.6.1 Borne de Chernoff* . . . . . . . . . . . . . . . . . . . . . . . . . 46

3.6.2 Borne de Gallager* . . . . . . . . . . . . . . . . . . . . . . . . . 46

3.7 Distribution de distances . . . . . . . . . . . . . . . . . . . . . . . . . 47

4 Performances de modulations linéaires 51

4.1 Généralités . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51

4.2 Modulation binaire (BPSK) . . . . . . . . . . . . . . . . . . . . . . . . 52

4.2.1 Canal gaussien . . . . . . . . . . . . . . . . . . . . . . . . . . . 52

Page 5: 201111 Perf s System Es Codes

TABLE DES MATIÈRES v

4.2.2 Canal de Rayleigh . . . . . . . . . . . . . . . . . . . . . . . . . . 53

4.3 Perte par rapport à la BPSK . . . . . . . . . . . . . . . . . . . . . . . . 54

4.3.1 Perte en rapport signal à bruit par symbole . . . . . . . . . . . 54

4.3.2 Perte en rapport signal à bruit par bit . . . . . . . . . . . . . . 55

4.4 Taux d’erreur par bit et par symbole . . . . . . . . . . . . . . . . . . . 56

4.5 Modulation en amplitude (PAM) . . . . . . . . . . . . . . . . . . . . . 57

4.6 Modulation en phase (PSK) . . . . . . . . . . . . . . . . . . . . . . . . 58

4.7 Modulation d’amplitude QAM . . . . . . . . . . . . . . . . . . . . . . 59

5 Systèmes codés en blocs 65

5.1 Distribution de distances d’un code . . . . . . . . . . . . . . . . . . . 65

5.1.1 Les coefficients Ad . . . . . . . . . . . . . . . . . . . . . . . . . 65

5.1.2 Polynôme énumérateur de poids . . . . . . . . . . . . . . . . . 66

5.1.3 Identité de Mac Williams . . . . . . . . . . . . . . . . . . . . . 67

5.1.4 Enumération de poids d’un «code moyen»* . . . . . . . . . . 68

5.2 Performances sur le canal q-SC . . . . . . . . . . . . . . . . . . . . . . 69

5.2.1 Mot de code nul émis . . . . . . . . . . . . . . . . . . . . . . . 69

5.2.2 Borne de l’union . . . . . . . . . . . . . . . . . . . . . . . . . . 70

5.2.3 Borne de l’union + Bhattacharyya . . . . . . . . . . . . . . . . 70

5.2.4 Calcul exact* . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71

5.2.5 Une borne classique . . . . . . . . . . . . . . . . . . . . . . . . 72

5.2.6 Comparaison avec la borne de l’union* . . . . . . . . . . . . . 73

5.2.7 Taux d’erreur résiduel . . . . . . . . . . . . . . . . . . . . . . . 74

5.3 Performances en décodage incomplet* . . . . . . . . . . . . . . . . . 75

5.3.1 Généralités* . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75

5.3.2 Stratégie ARQ* . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77

5.3.3 Stratégie FEC* . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78

5.3.4 Calcul exact de P c (en FEC)* . . . . . . . . . . . . . . . . . . . 79

5.3.5 Calcul exact de P i (en ARQ)* . . . . . . . . . . . . . . . . . . . 79

5.3.6 Cas de la détection pure* . . . . . . . . . . . . . . . . . . . . . 81

5.3.7 Taux d’erreur résiduel en FEC* . . . . . . . . . . . . . . . . . . 82

5.4 Décodage hard et soft . . . . . . . . . . . . . . . . . . . . . . . . . . . 84

5.4.1 Mode de code nul émis . . . . . . . . . . . . . . . . . . . . . . 85

5.4.2 Lien entre distances euclidienne et de Hamming . . . . . . . 86

Page 6: 201111 Perf s System Es Codes

vi TABLE DES MATIÈRES

5.4.3 Borne de l’union . . . . . . . . . . . . . . . . . . . . . . . . . . 87

5.4.4 Borne de l’union + Bhattacharyya . . . . . . . . . . . . . . . . 87

5.4.5 Taux d’erreur résiduel . . . . . . . . . . . . . . . . . . . . . . . 88

5.4.6 Gain asymptotique en fort rapport signal à bruit . . . . . . . 88

5.4.7 Gain asymptotique en faible rendement . . . . . . . . . . . . 91

6 Performances optimales d’un code 93

6.1 Motivation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93

6.2 Taux du code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94

6.3 Technique du «codage aléatoire» . . . . . . . . . . . . . . . . . . . . . 94

6.3.1 Loi de probabilité sur les codes . . . . . . . . . . . . . . . . . . 94

6.3.2 Loi de probabilité sur les mots de code . . . . . . . . . . . . . 95

6.3.3 Loi de probabilité sur les symboles codés . . . . . . . . . . . . 96

6.3.4 Remarque pour les canaux continus . . . . . . . . . . . . . . . 96

6.3.5 Performance du «meilleur code» . . . . . . . . . . . . . . . . . 97

6.4 Calcul de la probabilité d’erreur moyenne . . . . . . . . . . . . . . . 97

6.5 Taux critique R0 du canal . . . . . . . . . . . . . . . . . . . . . . . . . 100

6.5.1 Le théorème R0 . . . . . . . . . . . . . . . . . . . . . . . . . . . 100

6.5.2 Cas du canal q-SC . . . . . . . . . . . . . . . . . . . . . . . . . 101

6.5.3 Cas du canal gaussien* . . . . . . . . . . . . . . . . . . . . . . . 102

6.5.4 Cas du canal gaussien à entrée binaire . . . . . . . . . . . . . 103

6.6 Capacité C du canal . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103

6.6.1 Le théorème de Shannon . . . . . . . . . . . . . . . . . . . . . 103

6.6.2 Réciproque du théorème de Shannon . . . . . . . . . . . . . . 105

6.6.3 Cas du canal q-SC . . . . . . . . . . . . . . . . . . . . . . . . . 106

6.6.4 Cas du canal gaussien . . . . . . . . . . . . . . . . . . . . . . . 107

6.6.5 Cas du canal gaussien à entrée binaire . . . . . . . . . . . . . 109

6.7 Performances optimales en décodage «hard» . . . . . . . . . . . . . . 109

6.8 Performances optimales en décodage «soft» . . . . . . . . . . . . . . 112

6.9 Comparaison entre décodage hard et soft . . . . . . . . . . . . . . . . 115

7 Exercices 119

7.1 Bornes et équivalents de la fonction de Marcum . . . . . . . . . . . . 121

7.2 Amélioration de la borne de Bhattacharyya . . . . . . . . . . . . . . . 122

Page 7: 201111 Perf s System Es Codes

TABLE DES MATIÈRES vii

7.3 Inégalités de Tchébycheff et Chernoff . . . . . . . . . . . . . . . . . . 124

7.4 Borne de Chernoff . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126

7.5 Polynôme A(z) et borne de Plotkin . . . . . . . . . . . . . . . . . . . . 128

7.6 Identité de Mc Williams . . . . . . . . . . . . . . . . . . . . . . . . . . 130

7.7 Enumération de poids d’un code MDS . . . . . . . . . . . . . . . . . 132

7.8 BPSK Codée sur canal de Rayleigh . . . . . . . . . . . . . . . . . . . . 135

7.9 Modulation par signaux orthogonaux . . . . . . . . . . . . . . . . . . 139

7.10 Distances moyennes et théorème R0 . . . . . . . . . . . . . . . . . . . 143

7.11 Exposant de Gallager pour le canal gaussien . . . . . . . . . . . . . . 146

7.12 Maximisation de l’entropie . . . . . . . . . . . . . . . . . . . . . . . . 147

7.13 Borne de Shannon sur la capacité . . . . . . . . . . . . . . . . . . . . 149

7.14 Capacité du canal gaussien à entrée binaire . . . . . . . . . . . . . . 151

7.15 Réciproque forte du théorème de Shannon . . . . . . . . . . . . . . . 153

7.16 Performances sur le canal binaire à effacement . . . . . . . . . . . . 155

Page 8: 201111 Perf s System Es Codes

viii TABLE DES MATIÈRES

Page 9: 201111 Perf s System Es Codes

Table des figures

1.1 Illustration du problème du décodage . . . . . . . . . . . . . . . . . . 5

1.2 Système codé . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

1.3 Canal gaussien . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

1.4 Canal de Rayleigh . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

1.5 Canal de Rayleigh avec entrelaceur . . . . . . . . . . . . . . . . . . . 15

1.6 Canal discret à erreur additive . . . . . . . . . . . . . . . . . . . . . . 17

1.7 Canal binaire symétrique (BSC) . . . . . . . . . . . . . . . . . . . . . . 17

1.8 Canal q-aire symétrique (q-SC) . . . . . . . . . . . . . . . . . . . . . . 19

1.9 Canal binaire à effacement (BEC) . . . . . . . . . . . . . . . . . . . . 21

1.10 Canal binaire à effacement et erreurs . . . . . . . . . . . . . . . . . . 22

2.1 Illustration du problème du décodage (bis) . . . . . . . . . . . . . . . 29

4.1 Performances de la BPSK . . . . . . . . . . . . . . . . . . . . . . . . . 53

4.2 Performances de la BPSK sur canal gaussien et sur canal de Rayleigh 55

4.3 Performances de la Modulation M-PAM en fort rapport signal à

bruit, en fonction du rapport signal à bruit par symbole et par bit . 59

4.4 Constellation 8-PSK . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60

4.5 Performances de la Modulation M-PSK en fort rapport signal à

bruit, en fonction du rapport signal à bruit par symbole et par bit . 61

4.6 Constellation 64-QAM . . . . . . . . . . . . . . . . . . . . . . . . . . . 62

4.7 Constellation 32-QAM . . . . . . . . . . . . . . . . . . . . . . . . . . . 62

4.8 Performances de la Modulation M-QAM en fort rapport signal à

bruit, en fonction du rapport signal à bruit par symbole et par bit . 63

5.1 Les trois régions de décodage incomplet . . . . . . . . . . . . . . . . 76

ix

Page 10: 201111 Perf s System Es Codes

x TABLE DES FIGURES

6.1 Capacité et Taux critique pour le canal BSC, en fonction du para-

mètre du canal p . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107

6.2 Capacité et Taux critique en décodage hard sur canal gaussien, en

fonction du rapport signal à bruit moyen Em/N0 = Rγb . . . . . . . 110

6.3 Rapport signal à bruit γb minimum pour une transmission fiable,

en décodage hard sur canal gaussien, en fonction du taux R . . . . . 111

6.4 Capacité et Taux critique en décodage soft sur canal gaussien à en-

trée binaire, en fonction du rapport signal à bruit moyen Em/N0 =Rγb . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113

6.5 Rapport signal à bruit γb minimum pour une transmission fiable,

en décodage soft sur canal gaussien à entrée binaire, en fonction

du taux R . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114

6.6 Rapport signal à bruit γb minimum pour une transmission fiable,

en décodage hard et soft sur canal gaussien à entrée binaire, en

fonction du taux R . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116

6.7 Gain potentiel du codage binaire : Limites de Shannon en décodage

hard et soft, en comparaison avec la modulation binaire non codée 117

Page 11: 201111 Perf s System Es Codes

Liste des tableaux

4.1 Gains asymptotiques, par rapport à la BPSK, en fort rapport signal

à bruit, pour la modulation M-PAM . . . . . . . . . . . . . . . . . . . 58

4.2 Gains asymptotiques, par rapport à la BPSK, en fort rapport signal

à bruit, pour la modulation M-PSK . . . . . . . . . . . . . . . . . . . 60

4.3 Gains asymptotiques, par rapport à la BPSK, en fort rapport signal

à bruit, pour la modulation M-QAM . . . . . . . . . . . . . . . . . . . 63

5.1 Gains hard et soft sur canal gaussien de quelques codes BCH bi-

naires primitifs. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90

xi

Page 12: 201111 Perf s System Es Codes

xii LISTE DES TABLEAUX

Page 13: 201111 Perf s System Es Codes

Présentation générale

La théorie du codage correcteur d’erreurs vue en dominante «Communi-

cations» est esthétique du point de vue mathématique mais pose un certain

nombre de problèmes pratiques. A cet égard, Elwyn R. Berlekamp, l’une des

grandes figures dans ce domaine, pose les questions fondamentales :

1. How good are the best codes ?

2. How can we design good codes ?

3. How can we decode them ?

Ce document présente les bases et l’état de l’art en ce qui concerne ces trois

problèmes, qui sont toujours d’actualité. Il s’adresse aux étudiants désireux de

travailler dans ce domaine et donc de posséder des bases solides en théorie des

communications.

1. Etant donné un code, comment peut-on savoir s’il est bon ? Autrement dit,

comment estimer les performances d’un code donné en termes de proba-

bilité d’erreur ? Nous donnerons les méthodes de calcul des performances

des systèmes codés (borne de l’union, borne de Batthacharyya) à la fois

pour les codes en blocs et les codes convolutifs, pour différents types de

canaux utilisés en pratique.

2. Comment peut-on trouver de bons codes ? Ils sont difficiles à trouver, bien

que la théorie de l’information suggère qu’un code choisi «au hasard» a des

chances d’être «bon» ! Nous illustrerons ce paradoxe apparant en introdui-

sant la technique du codage aléatoire.

3. Comment peut-on décoder facilement un code ? Cette question – trouver

des algorithmes de décodage efficaces donnant lieu à une implantation

aisée – est extrêment importante. C’est en effet la complexité du décodage

1

Page 14: 201111 Perf s System Es Codes

2 PRÉSENTATION GÉNÉRALE

qui constitue le principal goulet d’étranglement pour la réalisation d’une

chaîne de transmission. Imposer qu’un code soit à la fois bon du point

de vue des performances et facile à implanter, rend nécessaire l’étude de

codes très structurés, comme les codes BCH et de Reed-Solomon.

Nous donnons dans un deuxième document intitulé «Corps finis, Trans-

formée de Fourier et Codes spectraux», tous les outils mathématiques

nécessaires (notamment la transformée de Fourier) pour l’étude détaillée

de ces codes et de quelques algorithmes de décodage à décisions fermes

(algorithme de Berlekamp-Massey et algorithme d’Euclide). Ce document

ne concerne que les algorithmes de décodage "hard" (à décisions fermes),

par opposition au décodage "soft" (à décisions douces : Algorithmes de

Forney, de Wagner généralisé, de Viterbi à entrée et/ou à sortie souples...)

qui sera exposé dans un autre module de l’option.

Page 15: 201111 Perf s System Es Codes

Bibliographie

[1] Andrew J. Viterbi et Jim K. Omura, Principles of Digital Communication and

Coding, 560 p., chaps. 2–4, McGraw-Hill, 1979.

[2] Robert J. McEliece, The Theory of Information and Coding, 302 p., chaps. 2, 4, 7

et 9, Encyclopedia of Mathematics and Applications, Addison-Wesley, 1977.

[3] Richard E. Blahut, Theory and Practice of Error Control Codes, 500 p.,

chaps. 14–15, Addison-Wesley, 1983.

[4] John G. Proakis, Digital Communications, 928 p., chaps. 7–8, McGraw-Hill,

3rd edition, 1995.

3

Page 16: 201111 Perf s System Es Codes

Claude E. Shannon

Page 17: 201111 Perf s System Es Codes

Chapitre 1

Introduction au problème du

décodage optimal

1.1 Formulation générale du problème

Nous utilisons ici un modèle très général de transmission numérique, décrit

à la Fig. 1.1.

Décodeur

X = f (Y )-fY-Canal-X

FIG. 1.1 – Illustration du problème du décodage

La variable (ou vecteur) aléatoire discrète X prend ses valeurs dans un alpha-

bet fini X . Elle représente soit un symbole (ou un mot) d’information, soit un

symbole (ou un mot) de code (voir section suivante).

Le canal accepte en entrée X et fournit une variable (ou un vecteur) aléatoire

Y appelée symbole (ou mot) reçu. Mathématiquement, le canal est défini par la

donnée des probabilités de transition p(y |x) («probabilité conditionnelle de Y

sachant que X = x»). Ce canal modélise un certain type de «perturbation» que

subit X au cours d’une transmission dans un milieu de propagation, en incluant,

le cas échéant, une partie des organes d’émission et de réception.

5

Page 18: 201111 Perf s System Es Codes

6 CHAPITRE 1. INTRODUCTION

Très souvent, on définit le canal par une relation de la forme :

Y = X +B

où B est une variable (ou un vecteur) aléatoire représentant le «bruit» ou une

«erreur» additive. B est supposée indépendante de X , de sorte que la loi p(y |x)

est tout simplement donnée par la loi de B en y −x.

La fonction f de la Fig. 1.1 est appelée, suivant les cas, détecteur si X repré-

sente des symboles d’information, ou décodeur si X représente des symboles

codés. Etant donné Y = y , il fournit, par application d’une règle déterministe, une

valeur estimée de X notée x = f (y). La variable (ou vecteur) aléatoire X prend

ses valeurs dans le même alphabet fini X que X .

L’objectif, en communications numériques, est de concevoir une règle de

décodage (ou détection) la plus efficace possible, qui permette de retrouver X = X

avec la plus forte probabilité possible. On veut donc minimiser la probabilité

d’erreur

Pe =P r {X 6= X }.

1.2 Systèmes codés ou non codés

On décrit ici succintement un système de transmission, symbole par sym-

bole ou mot par mot, codé ou non codé. On fera ensuite une description plus

précise des modèles de canaux utilisés aux § 1.3 et 1.4, ainsi que des paramètres

fondamentaux de la transmission au § 1.5.

1.2.1 Transmission symbole par symbole

X est ici une variable aléatoire (en abrégé v.a.) représentant un symbole d’un

alphabet X à q éléments (symbole «q-aire»).

On considère souvent une transmission symbole par symbole lorsqu’on a af-

faire à un système non codé. La v.a. X représente alors un symbole d’information.

Sa loi est donnée par les probabilités

p(x) =P r {X = x} où x ∈X

On supposera en général que les symboles sont équiprobables :

p(x) = 1

q∀x ∈X

Page 19: 201111 Perf s System Es Codes

1.2. SYSTÈMES CODÉS OU NON CODÉS 7

Noter que la probabilité d’erreur est ici une probabilité d’erreur par symbole,

parfois notée Pe/s .

On distingue deux types de canaux :

Canal «continu»

Exemples : Canal gaussien, de Rayleigh, . . .

Le symbole d’entrée X est un point d’une «constellation» ⊂R ou C, parfois

⊂ Rn (voir exercice). Cette constellation (alphabet de X ) est déterminée par le

type de modulation utilisé.

Le symbole reçu Y est une v.a. continue. Les probabilités de transition défi-

nissant le canal sont alors des densités de probabilité :

p(y |x)4= p(x, y)

p(x)

Ce sont, en effet, pour chaque valeur de X = x, des fonctions positives de la

variable continue y ∈R ou C, et on a :∫y

p(y |x)d y =∫

y p(x, y)d y

p(x)= p(x)

p(x)= 1.

Canal «discret»

Exemples : Canal binaire symétrique (CBS), canal à effacements, . . .

Le symbole reçu y est une v.a. discrète prenant ses valeurs dans un alphabet

Y . Souvent Y =X (même alphabet que X ), et en général Y ⊃X (pour le canal

à effacements, par exemple).

Le canal est alors défini par la donnée des probabilités conditionnelles pour

tout x ∈X et y ∈Y :

p(y |x)4= p(x, y)

p(x)

qui vérifient : ∑y

p(y |x) =∑y

p(x, y)/p(x) = p(x)

p(x)= 1.

1.2.2 Transmission mot par mot

X est ici un vecteur aléatoire (v.a.) représentant un bloc de n symboles :

X = (X1, X2, . . . , Xn)

Page 20: 201111 Perf s System Es Codes

8 CHAPITRE 1. INTRODUCTION

Le canal accepte successivement les symboles X1, X2, . . . , Xn en entrée et fournit

Y1, Y2, . . . , Yn , où chaque symbole reçu Yi ne dépend que de Xi comme pour une

transmission symbole par symbole.

On peut donc modéliser le canal d’entrée X et de sortie :

Y = (Y1,Y2, . . . ,Yn)

(le mot reçu) par ce qu’on appelle une extension nième sans mémoire du canal

défini pour les symboles (d’entrée Xi et de sortie Yi ). Mathématiquement, il est

déterminé par les probabilités de transition :

p(y |x)4=

n∏i=1

p(yi |xi )

où x = (x1, x2, . . . , xn) et y = (y1, y2, . . . , yn). En d’autres termes, les lois de Yi sa-

chant Xi = xi sont indépendantes. Noter que l’on a bien :∫y

p(y)d y =∫

y1

· · ·∫

yn

∏i

p(yi |xi )d yi =∏

i

∫yi

p(yi |xi )d yi = 1

pour un canal «continu» et∑y

p(y |x) =∑y1

· · ·∑yn

∏i

p(yi |xi ) =∏i

∑yi

p(yi |xi ) = 1

pour un canal discret.

1.2.3 Système codé par un code en blocs

On considère souvent une transmission mot par mot lorsqu’on a affaire à une

système codé (par un code en blocs). Ce type de système est décrit à la Fig. 1.2.

canalcodeurI- -

X-Y

décodeur f -X

codeur−1 -I

FIG. 1.2 – Système codé

Un mot d’information I = (I0, I1, . . . , Ik−1) est constitué de k symboles q-aires

(alphabet A de taille q), indépendants et de même loi. On fait, en général, l’hy-

pothèse que les symboles sont équiprobables :

p(im) = 1

q∀im ∈A

Page 21: 201111 Perf s System Es Codes

1.3. EXEMPLES DE CANAUX CONTINUS 9

d’où

p(i ) = 1

qk

Un codeur associe à chaque mot d’information i = (i0, i1, . . . , ik−1) un mot de

code unique x = (x0, x1, . . . , xn−1). Le code C de paramètres (n,k) contient donc

M = qk mots de code ∈ A n . Le décodeur fournit un mot de code x ∈ C , à qui

correspond, en inversant le codeur, le mot d’information ı .

Noter que puisqu’il y a une correspondance bijective entre i et x, si on sup-

pose les symboles d’information équiprobables, on a :

p(x) = 1

qk= 1

M∀x ∈C

Les mots du code C sont également équiprobables.

Toujours parce qu’il y a une correspondance bijective entre mots d’informa-

tion et de code, la probabilité d’erreur s’écrit indifféremment :

Pe =P r {I 6= I } =P r {X 6= X }

C’est une probabilité d’erreur par mot (d’information ou de code), parfois notée

Pe/mot.

1.2.4 Système codé par un code convolutif

L’approche est la même que pour un code en blocs, à ceci près que I re-

présente maintenant la séquence (infinie) de symboles d’information et X la

séquence (infinie) de symboles codés.

En pratique pour évaluer les performances d’un tel système on se ramène

à des séquences finies correspondant à des chemins fondamentaux dans le

treillis. De la sorte, les résultats qu’on établira pour des mots de longueur finie

s’appliqueront au cas d’un système codé par un code convolutif.

1.3 Exemples de canaux continus

L’exemple fondamental est le canal gaussien (en anglais, AWGN channel :

Additive White Gaussian Noise Channel).

On a vu en Dominante Communications la mise en œuvre, pour la transmis-

sion d’un symbole dans un intervalle [0,T ], d’un modulateur et d’un démodu-

lateur sur le canal gaussien. Ce canal gaussien a pour entrée x(t ) et pour sortie

Page 22: 201111 Perf s System Es Codes

10 CHAPITRE 1. INTRODUCTION

y(t ) = x(t )+b(t ), où b(t ) est un processus gaussien blanc centrée de densité spec-

trale de puissance bilatérale N0/2. Nous avons établi une statistique suffisante en

nous ramenant, en sortie du canal, à un espace de Hilbert de dimension finie n (la

dimension de l’espace des signaux émis). Nous supposons ici ces connaissances

acquises, et nous travaillons, pour un choix donné d’une base orthonormée de

l’espace des signaux émis, avec les composantes de x(t ) et de y(t ) sur cette base.

Dans la description ci-dessous, le canal gaussien réel correspond au cas n = 1.

Le canal gaussien complexe correspond au cas n = 2, en équivalent bande de

base (symboles complexes). L’exercice 7.9 sur la modulation par des signaux

orthogonaux de même énergie traite d’un cas où n est quelconque (symboles

∈Rn).

1.3.1 Canal gaussien réel

Le canal gaussien réel (voir Fig. 1.3) modélise une transmission en bande

de base par modulation linéaire (BPSK ou PAM) sur un canal gaussien sans

interférence entre symboles (IES=0), en détection cohérente.

Transmission symbole par symbole

--

Canal

B

?n YX

FIG. 1.3 – Canal gaussien

Symbole d’entrée X ∈ R est dans une constellation réelle. L’énergie moyenne

par symbole (qu’il soit codé ou non codé) est :

Em = E(X 2)

Page 23: 201111 Perf s System Es Codes

1.3. EXEMPLES DE CANAUX CONTINUS 11

Bruit En sortie du canal (voir Fig. 1.3) : Y = X +B , où B est un bruit additif

gaussien réel, centré (de moyenne nulle), indépendant de X , de densité

spectrale de puissance bilatérale (variance) égale à N02 , de sorte que l’on a :

p(y |x) = 1pπN0

e−(y−x)2

N0

Rapport signal à bruit Dans le symbole reçu Y = X +B apparait une partie utile

X («signal») et le terme de bruit B . Le rapport signal à bruit γ est le rapport

des deux puissances 1 :

γ= Em

N0

Transmission mot par mot

Pour une transmission mot par mot il vient immédiatement :

p(y |x) =∏i

p(yi |xi ) = 1

(πN0)n/2e−

‖y−x‖2

N0

où ||x||2 =∑i x2

i est la norme d’un vecteur de Rn . Noter qu’ici l’énergie moyenne

par symbole est :

Em = 1

nE

(‖x‖2)et la distance (dans l’espace de Hilbert des signaux émis) entre deux mots x et x ′

est :

d(x, x ′) = ||x −x ′||

1.3.2 Canal gaussien complexe

Le canal gaussien complexe modélise une transmission autour d’une fré-

quence porteuse par modulation linéaire (en amplitude et/ou en phase) sur un

canal gaussien, sans interférence entre symboles (IES=0), en détection cohérente

et en équivalent bande de base.

1. En faitE(X 2)

E(B2)= 2

Em

N0

mais tout le monde adopte cette définition de γ.

Page 24: 201111 Perf s System Es Codes

12 CHAPITRE 1. INTRODUCTION

Transmission symbole par symbole

Symbole d’entrée X ∈C appartient à une constellation dans le plan complexe.

L’énergie moyenne par symbole (qu’il soit codé ou non codé) est :

Em = 1

2E(|X |2)

Le facteur 12 provient du fait qu’on est en équivalent bande de base.

Bruit En sortie du canal : Y = X +B , où B est un bruit additif gaussien complexe,

centré (de moyenne nulle), indépendant de X , de densité spectrale de

puissance bilatérale (variance) égale à E(|B |2) = 2N0. La partie réelle et

imaginaire du bruit sont indépendantes, chacune de variance N0, de sorte

que l’on a :

p(y |x) = 1

2πN0e−

|y−x|22N0

Rapport signal à bruit Dans le symbole reçu Y = X +B apparait une partie utile

X («signal») et le terme de bruit B . Le rapport signal à bruit γ est le rapport

des deux puissances :

γ= E(|X |2)

E(|B |2)= Em

N0

Transmission mot par mot

Pour une transmission mot par mot il vient immédiatement :

p(y |x) = 1

(2πN0)n e−‖y−x‖2

2N0

où ||x||2 =∑i |xi |2 est la norme d’un vecteur de Cn .

Attention ! Il faut bien prendre garde au facteur 12 dû à la modélisation en

équivalent bande de base : Ainsi l’énergie moyenne par symbole est :

Em = 1

2nE

(‖x‖2)et la distance (dans l’espace de Hilbert des signaux réels émis) entre deux mots x

et x ′ est telle que :

d 2(x, x ′) = 1

2||x −x ′||2

d’où

d(x, x ′) = 1p2||x −x ′||

Page 25: 201111 Perf s System Es Codes

1.3. EXEMPLES DE CANAUX CONTINUS 13

1.3.3 Canal de Rayleigh*

Le canal de Rayleigh (Fig. 1.4) modélise une transmission autour d’un fré-

quence porteuse par modulation linéaire (en amplitude et/ou en phase) sur un

canal à évanouissements, en détection cohérente et en équivalent bande de base.

--

α

?× � ��-

Canal

B

?n YX

FIG. 1.4 – Canal de Rayleigh

Symbole d’entrée X ∈C appartient à une constellation dans le plan complexe.

L’énergie moyenne par symbole (qu’il soit codé ou non codé) est :

Em = 1

2E(|X |2)

Bruit En sortie du canal : Y =αX +B , où B est un bruit additif défini de la même

façon que pour un canal gaussien complexe. On a donc :

p(y |x,α) = 1

2πN0e−

|y−αx|22N0

Evanouissement α ∈ R : En détection cohérente α = |c|, où c ∈ C est le gain

complexe instantané de loi gaussienne centrée de variance 2σ2 (parties

réelles et imaginaires indépendantes de variance σ2) :

p(c) = 1

2πσ2 e−|c|22σ2

On peut déterminer facilement la loi de α ; En posant c =αe jθ, on a :

p(c)dc = p(α)p(θ)dαdθ

En identifiant les densités en α et θ sachant que dc =αdαdθ on obtient

que α suit une loi de Rayleigh :

p(α) = α

σ2 e−α2

2σ2

Page 26: 201111 Perf s System Es Codes

14 CHAPITRE 1. INTRODUCTION

Sa variance est

E(α2) = E(|c|2)= 2σ2

Rapport signal à bruit Dans le symbole reçu Y = αX +B apparait une partie

utile αX («signal») et le terme de bruit B . Le rapport signal à bruit γ est le

rapport des deux puissances :

α2E(|X |2)

E(|B |2)=α2 Em

N0

Le rapport signal à bruit moyen est donc (en moyennant par rapport à α) :

γ= E(α2)Em

N0

1.3.4 Canal de Rayleigh normalisé*

On peut toujours, si on le désire, normaliser α de telle sorte que E(α2) = 1

(ce qui correspond à σ= 1p2

). Pour ce canal de Rayleigh normalisé, on a la même

expression du rapport signal à bruit que pour un canal gaussien :

γ= Em

N0

et la loi de α est donnée par :

p(α) = 2αe−α2

Dorénavant, par souci de simplification, on supposera toujours qu’un canal de

Rayleigh est normalisé.

1.3.5 Canal de Rayleigh avec évanouissements indépendants*

Pour une transmission mot par mot un problème pratique se pose : les éva-

nouissements correspondent à des variations plus ou moins lentes du canal non

stationnaire et sont donc souvent fortement corrélés.

Pour obtenir des évanouissement décorrélés (idéalement : indépendants)

on rajoute un entrelaceur et un désentrelaceur comme cela est indiqué dans la

Fig. 1.5.

Un entrelaceur effectue une «permutation» à grande échelle sur les symboles

xi , de telle sorte qu’après entrelacement deux symboles successifs correspondent

en fait à deux symboles les plus éloignés possible dans le temps. Le désentrelaceur

Page 27: 201111 Perf s System Es Codes

1.3. EXEMPLES DE CANAUX CONTINUS 15

Y-Désentrelaceur-Rayleigh-Entrelaceur-X

FIG. 1.5 – Canal de Rayleigh avec entrelaceur

effectue l’opération inverse ; Ainsi, en sortie du désentrelaceur on peut supposer

que les αi sont «suffisemment» indépendants.

Si on note :

α= (α1,α2, . . . ,αn)

la sortie Y est donnée par :

Y =α⊗X +B

où on a noté

α⊗X = (α1X1,α2X2, . . . ,αn Xn)

En présence d’un entrelaceur idéal, on peut considérer que les αi sont indépen-

dants.

Lorsque les xi sont effectivement à valeurs complexes (pour une modulation

en phase par exemple), il apparait le problème suivant : le même évanouissement

αi s’applique pour la partie réelle et la partie imaginaire du symbole Xi . Pour

obtenir des évanouissement décorrélés (idéalement : indépendants) à la fois sur

les parties réelles et imaginaires des symboles, il suffit d’entrelacer non seulement

les symboles, mais aussi leurs parties réelles et imaginaires.

On obtient alors le modèle suivant : L’entrée est un vecteur de 2n symboles

réels (les parties réelles x2i et imaginaires x2i+1 des symboles) :

X = (X1, X2, . . . , X2n)

La sortie est donnée par

Y =α⊗X +B

où les évanouissements

α= (α1,α2, . . . ,α2n)

sont indépendants. Dans ce cas l’énergie moyenne par symbole est :

Em = 1

2nE(‖x‖2)

Page 28: 201111 Perf s System Es Codes

16 CHAPITRE 1. INTRODUCTION

lorsque α est normalisé (‖x‖ est ici la norme dans R2n).

Ce canal de Rayleigh peut donc être vu comme une extension (2n)ième sans

mémoire d’un canal de Rayleigh réel décrit par :

Y =αX +B

où X est un symbole réel, α suit une loi de Rayleigh, B est un bruit gaussien réel

centré de variance N0 (et non pas N0/2, puisqu’il correspond à une partie réelle

ou imaginaire du bruit gaussien complexe).

1.3.6 Performances sur un canal de Rayleigh*

Pour le décodage, on peut, si l’on veut, estimer au préalable les affaiblisse-

ments α et donc les supposer connus à la réception 2. Mais il faut moyenner

ensuite les performances par rapport à la loi de probabilité de α.

Ainsi, lors d’une transmission mot par mot, on détermine, pour chaque α, la

probabilité d’erreur

Pe|α =P r {X 6= X |α}

Au final, pour obtenir la probabilité d’erreur moyenne il faut moyenner sur le

vecteur de Rayleigh α :

Pe =∫α

Pe|α p(α)dα

Rappelons que pour un canal de Rayleigh normalisé à évanouissements indépen-

dants :

p(α) =∏i

p(αi ) =∏i

2αi e−α2i .

1.4 Exemples de canaux discrets

Ce type de canaux est couramment utilisé pour évaluer les performances

d’un décodage «hard» sur canal gaussien (voir chapitre suivant).

2. C’est en particulier la stratégie adoptée en décodage soft (mais pas, en général, en décodage

hard : voir exercice 7.8). Voir § 2.6 pour explication des termes «hard» et «soft».

Page 29: 201111 Perf s System Es Codes

1.4. EXEMPLES DE CANAUX DISCRETS 17

1.4.1 Canal binaire symétrique

Transmission symbole par symbole

Le canal binaire symétrique (BSC : Binary Symmetric Channel) est décrit à la

Fig. 1.6.

Canal

E

?Y-- hX

FIG. 1.6 – Canal discret à erreur additive

L’alphabet est binaire : X = F2, où F2 = {0,1} est le corps fini à deux éléments.

Les symboles d’entrée X et de sortie Y sont binaires. La variable aléatoire binaire

E modélise l’erreur : Y = X +E . La loi de E est donnée par : p(E = 1) = p

p(E = 0) = 1−p

où p est appelé paramètre du canal BSC (raw error probability). Ainsi E = 0 si et

seulement si il n’y a pas d’erreur, E = 1 sinon.

YX

p

p

1−p

1−p

1

0

1

0

������������3

QQQQQQQQQQQQs-

-

FIG. 1.7 – Canal binaire symétrique (BSC)

On représente graphiquement les probabilités de transition p(y |x) comme à

Page 30: 201111 Perf s System Es Codes

18 CHAPITRE 1. INTRODUCTION

la Fig. 1.7, où une flèche reliant x à y est étiquettée par p(y |x). On dit que le canal

est «symétrique» à cause de la symétrie de la figure.

On peut, par commodité dans le cas d’un décodage «hard» par exemple, choi-

sir un autre alphabet binaire comme X = {±1}. Cela ne change pas la description

du canal BSC donnée à la Fig. 1.7.

Transmission mot par mot

Lors d’une transmission mot par mot on a :

Y = X +E

et, puisque :

p(y |x) = p si y 6= x

1−p si y = x

on obtient facilement :

p(y |x) =n∏

i=1p(yi |xi ) = pdH (x,y)(1−p)n−dH (x,y)

dH (x, y) = wH (e)

est la distance de Hamming entre x et y , i.e., le nombre d’erreurs (positions i

telles que xi 6= yi ), égal au poids de Hamming du vecteur d’erreurs e (nombre de

i telles que ei = 1).

Noter que la probabilité d’avoir t symboles erronés dans le mot reçu y est :

p(t ) = ∑y |dH (x,y)=t

p(y |x) = Ctn p t (1−p)n−t .

1.4.2 Canal q-aire symétrique

Transmission symbole par symbole

Le canal q-aire symétrique (q-SC : q-ary Symmetric Channel) est une généra-

lisation du BSC décrit à la Fig. 1.6.

L’alphabet est q-aire : X = Fq , où Fq est le corps fini à q éléments. Les sym-

boles d’entrée X et de sortie Y sont q-aires. La variable aléatoire q-aire E (à

Page 31: 201111 Perf s System Es Codes

1.4. EXEMPLES DE CANAUX DISCRETS 19

valeurs dans Fq ) modélise l’erreur : Y = X +E . La loi de E est donnée par :

p(E = e) = p si e 6= 0

p(E = 0) = 1− (q −1)p

où p est appelé paramètre du canal q-SC.

Ainsi E = 0 si et seulement si il n’y a pas d’erreur, E 6= 0 sinon. La probabilité

d’erreur est :

P = p(E 6= 0) = (q −1)p

On représente graphiquement les probabilités de transition p(y |x) comme à

la Fig. 1.8, où une flèche reliant x à y est étiquettée par p(y |x). On dit que le canal

est «symétrique» à cause de la symétrie de la figure.

pppp

pp

p ppp

pppp

pp

ppp

p

1− (q −1)p

1− (q −1)p

1− (q −1)p

1− (q −1)p

1− (q −1)p

44

33

22

11

00

�����

������

��:

���

���

���

����*

�������������>

��������������

-

XXXXXXXXXXXXXXz

������

������

��:

�����

���

���

���*

�������������>

-

HHHHH

HHHHHH

HHHj

XXXXXXXXXXXXXXz

������

������

�:

�����

���

���

��*

-

ZZZZZZZZZZZZZZ~

HHHH

HHHHHH

HHHHj

XXXXXXXXXXXXXXz

������

������

�:

-

@@@@@@@@@@@@@@R

ZZZZZZZZZZZZZZ~

HHHHHH

HHHHHHHHj

XXXXXXXXXXXXXXz

-

FIG. 1.8 – Canal q-aire symétrique (q-SC)

Transmission mot par mot

Lors d’une transmission mot par mot on a :

Y = X +E

et, puisque :

p(y |x) = p si y 6= x

1− (q −1)p si y = x

Page 32: 201111 Perf s System Es Codes

20 CHAPITRE 1. INTRODUCTION

on obtient facilement :

p(y |x) =n∏

i=1p(yi |xi ) = pdH (x,y)(1− (q −1)p)n−dH (x,y)

où :

dH (x, y) = wH (e)

est la distance de Hamming entre x et y , i.e., le nombre d’erreurs (positions i

telles que xi 6= yi ), égal au poids de Hamming du vecteur d’erreurs e (nombre de

i telles que ei 6= 0).

Noter que la probabilité d’avoir t symboles erronés dans le mot reçu y est :

p(t ) = ∑y |dH (x,y)=t

p(y |x)

= (q −1)t Ctn p t (1− (q −1)p)n−t

= CtnP t (1−P )n−t

où P = (q −1)p.

1.4.3 Canal à effacement*

On se limite ici au cas binaire, bien qu’on puisse facilement généraliser à des

symboles q-aires.

Transmission symbole par symbole

Le canal binaire à effacement (BEC : Binary Erasure Channel) est décrit à la

Fig. 1.9 qui représente graphiquement les probabilités de transition p(y |x), où

une flèche reliant x à y est étiquetée par p(y |x). Ce canal s’appelle aussi «canal

en Σ» à cause de la forme de cette figure.

L’alphabet de l’entrée X est binaire : X = {0,1} (ou, s’il on préfère : {±1}),

mais l’alphabet de la sortie Y est ternaire : Y = {0,1,ε} (ou {±1,ε}). Le symbole ε

représente un «effacement».

Le canal est déterminé par les probabilités de transition :p(ε|x) =π ∀x («effacement»)

p(0|1) = p(1|0) = 0 (pas d’«erreur»)

p(0|0) = p(1|1) = 1−πNoter qu’ici il n’y a pas de «véritable» erreur puisque p(0|1) = p(1|0) = 0.

Page 33: 201111 Perf s System Es Codes

1.4. EXEMPLES DE CANAUX DISCRETS 21

1−π

1−π

π

π

ε

11

00

-

-

�����������3

HHHH

HHHHHHHj

FIG. 1.9 – Canal binaire à effacement (BEC)

Transmission mot par mot

Pour une transmission mot par mot, on adopte les notations suivantes : Σ

désigne l’ensemble des positions effacées dans le mot reçu :

Σ= {i | yi = ε}

de sorte que le nombre d’effacements présents est ρ = CardΣ. On définit yΣ

comme le vecteur constitué des valeurs non effacées de y , et de même xΣ est le

vecteur constitué des xi pour i 6∈Σ.

On trouve alors facilement :

p(y |x) =n∏

i=1p(yi |xi ) =πρ(1−π)n−ρδy

Σ=xΣ

où δyΣ=xΣ vaut 1 si y

Σ= xΣ (les symboles d’entrée et de sortie non effacés corres-

pondent) et 0 sinon.

Noter que la différence avec le BSC est que à la réception, on connait le

nombre et la position des effacements (alors que pour le BSC le nombre et la

position des erreurs sont inconnus a priori).

La probabilité d’un motif Σ de ρ effacements est p(Σ) = πρ(1−π)n−ρ . Par

conséquent, la probabilité d’avoir ρ symboles effacés dans le mot reçu y est :

p(ρ) = ∑Σ|CardΣ=ρ

p(Σ) = Cρnπ

ρ(1−π)n−ρ .

Page 34: 201111 Perf s System Es Codes

22 CHAPITRE 1. INTRODUCTION

1.4.4 Canal à effacements et erreurs*

1−p −π

1−p −π

p

p

�����

���

����*

HHHHH

HHHHHHHj

-

�������������

-

@@@@@@@@@@@@R

π

π

0 0

1 1

ε

FIG. 1.10 – Canal binaire à effacement et erreurs

Transmission symbole par symbole

On peut compliquer en introduisant une probabilité d’erreur p = p(0|1) =p(1|0) (en plus de la probabilité d’effacement π) non nulle (voir Fig. 1.10) :

p(ε|x) =π ∀x («effacement»)

p(0|1) = p(1|0) = p («erreur»)

p(0|0) = p(1|1) = 1−p −π

Typiquement en décodage «hard» la probabilité d’erreur est très faible devant la

probabilité d’effacement : p ¿π.

Transmission mot par mot

Pour une transmission mot par mot, on trouve facilement, avec les mêmes

notations que pour le canal à effacements sans erreur :

p(y |x) =n∏

i=1p(yi |xi ) =πρpdH (xΣ,y

Σ)(1−p −π)n−ρ−dH (xΣ,y

Σ)

où Σ=Σ(y) est le motif d’effacements présents dans y , et ρ est leur nombre.

Pour ce type de canal il est intéressant de traiter les symboles non effacés

séparément des symboles effacés, pour un motif Σ donné. La probabilité d’un

Page 35: 201111 Perf s System Es Codes

1.4. EXEMPLES DE CANAUX DISCRETS 23

motif Σ de ρ effacements est donnée par :

p(Σ) = ∑x,y |Σ(y)=Σ

p(x, y)

= ∑x

p(x)∑

y |Σ(y)=Σp(y |x)

= ∑x

p(x)πρ∑yΣ

pdH (xΣ,yΣ

)(1−p −π)n−ρ−dH (xΣ,yΣ

)

= πρ∑

tCt

n−ρp t (1−p −π)n−ρ−t

= πρ(p +1−p −π)n−ρ =πρ(1−π)n−ρ

de sorte que, comme pour le canal à effacement sans erreur, la probabilité que ρ

symboles soient effacés dans le mot reçu y est

p(ρ) = Cρnπ

ρ(1−π)n−ρ .

Etant donné Σ(y) =Σ, notre canal est équivalent à un canal BSC d’entrée xΣet de sortie y

Σque nous appelerons canal BSC équivalent. Les mots d’entrée et

de sortie de ce canal équivalent sont de longueur n −ρ et son paramètre est :

pΣ = p

1−π .

En effet, la probabilité de transition p(yΣ|xΣ) est donnée par

p(y |x,Σ) =p(y ,Σ|x)

p(Σ)=

p(y |x)

p(Σ)

= πρpdH (xΣ,yΣ

)(1−p −π)n−ρ−dH (xΣ,yΣ

)

πρ(1−π)n−ρ

= pΣdH (xΣ,y

Σ)(1−pΣ)n−ρ−dH (xΣ,y

Σ).

1.4.5 Performances moyennes sur un canal à effacement et erreurs*

Pour le décodage, Σ est connu à la réception et on se ramène, comme indiqué

ci-dessus, au cas d’un canal BSC dont on évalue les performances. Mais il faut

ensuite moyenner celles-ci par rapport à la loi p(Σ) de Σ (cette situation est

similaire à celle d’un canal de Rayleigh).

Ainsi, lors d’une transmission mot par mot, on détermine, pour chaque Σ, la

probabilité d’erreur :

Pe|Σ =P r {X 6= X |Σ}

Page 36: 201111 Perf s System Es Codes

24 CHAPITRE 1. INTRODUCTION

Noter que cette probabilité d’erreur ne dépend de Σ que par l’intermédiaire du

nombre d’effacements ρ = CardΣ. Au final, pour obtenir la probabilité d’erreur

moyenne il faut moyenner sur la probabilité de Σ :

Pe = ∑Σ

p(Σ)Pe|Σ

=n∑ρ=0

p(ρ)Pe|ρ

où, rappelons-le :

p(ρ) = Cρnπ

ρ(1−π)n−ρ .

1.5 Paramètres fondamentaux d’une transmission

1.5.1 Taux et débit binaire

Le taux R est un paramètre très important d’un système (codé ou non). Il est

défini comme le nombre moyen de bits d’information par symbole émis dans

le canal. En notant M le nombre de messages d’information possibles et n la

longueur (nombre de symboles) d’un point X émis dans le canal, on a donc :

R = log2 M

n

Ainsi, pour un système non codé, on a n = 1 et donc R = log2 M bits par

symbole émis. Il s’agit par exemple du taux d’une modulation M-aire.

Pour un système codé par un code linéaire (n,k), on a M = qk et R = k

nlog2 q .

Ce taux s’identifie au rendement k/n du code dans le cas binaire (q = 2).

Le taux R est un paramètre intimement relié au débit binaire Db du système,

qui est défini comme le nombre de bits d’information transmis par seconde. En

notant T la période symbole (intervalle de temps correspondant à la transmission

d’un symbole dans le canal), on a :

Db = R

Tbits/sec.

1.5.2 Taux et efficacité spectrale

La largeur de bande B occupée par un système sur canal gaussien (décodage

hard ou soft) est également un paramètre important. On a vu en dominante

Page 37: 201111 Perf s System Es Codes

1.5. PARAMÈTRES FONDAMENTAUX D’UNE TRANSMISSION 25

«Communications» qu’on pouvait approximer B par :

B ≈ 1

T

où T est la période symbole. Plus précisément on a, par exemple dans le cas

d’une modulation linéaire par un cosinus surélevé :

B = 1+αT

où α est le facteur de débordement (roll-off ) utilisé. Désormais on identifiera

B ≡ 1/T pour simplifier.

L’efficacité spectrale η est par définition, le débit binaire rapporté à la largeur

de bande occupée :

η= Db

Bbits/sec/Hz.

Avec les relations Db = R/T et B = 1/T on voit qu’on peut identifier efficacité

spectrale et taux :

η≡ R.

Il est important de se rappeler la relation entre le débit binaire, la largeur de

bande et le taux :Db

B≡ R

Elle montre que, à même débit binaire et même bande occupée, on doit comparer

des systèmes de même taux. Aussi, à débit binaire fixé, une diminution du taux

(efficacité spectrale) se traduit par un élargissement de la largeur de bande.

1.5.3 Rapport signal-à-bruit et puissance d’émission

Dans la description des différents types de canaux continus faites ci-dessus,

on a défini le rapport signal à bruit par :

γ= Em

N0

où Em est l’énergie moyenne d’un symbole émis dans le canal. Celui-ci peut,

suivant le type de système, résulter ou non d’un codage. Il dépend en tout cas du

taux R de la transmission.

Afin de comparer de manière simple différents systèmes, on est amené à

définir un rapport signal à bruit qui soit indépendant du type de codage utilisé

Page 38: 201111 Perf s System Es Codes

26 CHAPITRE 1. INTRODUCTION

en rapportant l’énergie moyenne par bit d’information. Toujours en notant M

le nombre de messages d’information possibles et n la longueur (nombre de

symboles) d’un point X émis dans le canal, un symbole émis correspond en

moyenne à R = log2 Mn bits d’information. On peut donc écrire :

Em = R ·Eb

où Eb est l’énergie moyenne d’un bit d’information. Le rapport signal-à-bruit par

bit d’information est alors défini par :

γb = Eb

N0

Afin de comparer les performances de plusieurs systèmes en termes de probabi-

lité d’erreur fonction du rapport signal-à-bruit, il convient donc d’utiliser cette

définition du rapport signal-à-bruit pour plus de cohérence.

Le rapport signal-à-bruit par bit d’information est également relié à la puis-

sance d’émission. Notant toujours T la période symbole, un symbole est émis

toutes les T secondes avec une énergie moyenne de Em joules, soit :

Em = P ·T

où P est puissance d’émission (exprimée en watts). Il vient :

γb = 1

R

Em

N0= PT

RN0

d’où :

γb = P

N0Db

La rapport signal à bruit s’exprime ainsi en fonction de la puissance d’émission

P , de la d.s.p. du bruit N0, et du débit binaire Db .

1.5.4 Transmission à bande ou à puissance limitée

On parle souvent de «transmission à bande limitée» lorsque l’efficacité spec-

trale est suffisamment grande (R > 1 : de l’ordre de 1 à quelques bits par symbole),

par opposition à une «transmission à puissance limitée» lorsque l’efficacité spec-

trale est très petite : typiquement R −→ 0.

Page 39: 201111 Perf s System Es Codes

1.5. PARAMÈTRES FONDAMENTAUX D’UNE TRANSMISSION 27

Noter que en transmission dite à puissance limitée, l’efficacité spectrale est

très petite : Db/B ¿ 1, d’où :

P/N0 ¿ B

ce qui explique le terme «puissance limitée».

Page 40: 201111 Perf s System Es Codes

28 CHAPITRE 1. INTRODUCTION

Page 41: 201111 Perf s System Es Codes

Chapitre 2

Décodage à maximum de

vraisemblance

2.1 Généralités

Reprenons le schéma général de la Fig. 1.1, reproduit à la Fig. 2.1.

Décodeur

X = f (Y )-fY-Canal-X

FIG. 2.1 – Illustration du problème du décodage (bis)

X et X sont des variables (ou vecteurs) aléatoires discrètes pouvant prendre

les valeurs {x1, x2, . . . , xM }. Rappelons que dans le cas d’un système codé, les xi

sont les mots d’un code (n,k) sur Fq où M = qk . Dans le cas d’une modulation

linéaire, les xi sont des symboles M-aires d’une constellation. Suivant le type de

canal, Y est une v.a. discrète ou continue. La loi conjointe de X et Y est donnée

par p(x, y). On a :

∑x

∑∫y

p(x, y) = 1

29

Page 42: 201111 Perf s System Es Codes

30 CHAPITRE 2. MAXIMUM DE VRAISEMBLANCE

où on a adopté la notation spéciale «∑∫

» pour spécifier :

ylorsque Y est discret∫

yd y lorsque Y est continu

Dans le premier cas, p(x, y) est une probabilité en y , dans le deuxième p(x, y) est

une densité de probabilité en y . Les calculs vont être formellement identiques

dans les deux cas.

L’objectif est de concevoir une règle de décodage (ou de détection) f qui

minimise la probabilité d’erreur :

Pe =P r {X 6= X }.

2.2 Maximiser la probabilité a posteriori

En introduisant la notation 1A = 1 si A est vraie, = 0 sinon, on peut facilement

exprimer la probabilité d’erreur en fonction de p(x, y) :

Pe =∑x

∑∫y

p(x, y)1 f (y)6=x

Transformons p(x, y) = p(y)p(x|y). On obtient :

Pe =∑∫y

p(y)Pe|y = Ey (Pe|y )

où la probabilité d’erreur connaissant y reçu est donnée par :

Pe|y =∑x

p(x|y)1 f (y) 6=x

Pour minimiser Pe , il faut et il suffit de minimiser Pe|y pour tout y . Or :

Pe|y = 1−∑x

p(x|y)1 f (y)=x = 1−p(x|y)

où x = f (y). Ainsi y étant donné, la règle de décodage optimale consiste à trouver

la valeur de x = x qui maximise la probabilité a posteriori :

x = argmaxx

p(x|y)

Un décodeur qui applique cette règle s’appelle décodeur MAP : Maximum A

Posteriori Probability.

Page 43: 201111 Perf s System Es Codes

2.3. MAXIMISER LA VRAISEMBLANCE 31

2.3 Maximiser la vraisemblance

Concevoir un décodeur MAP nécessite de connaitre l’expression de p(x|y).

Or il est plus simple, en général, d’exprimer l’autre probabilité conditionnelle

p(y |x), car c’est une probabilité de transition du canal. Si par exemple Y = X +B

où B est indépendant de X , on a tout simplement p(y |x) = p(b), où b = y −x. On

transforme donc :

p(x|y) = p(x, y)

p(y)= p(y |x)p(x)

p(y)

Une simplification supplémentaire arrive lorsque les xi sont équiprobables :

p(x) = 1

M∀x ∈ {x1, x2, . . . , xM }

ce qu’on suppose en général dans ce document. Alors, dans la maximisation a

posteriori, le terme p(y) est une constante car

p(y) =∑x ′

p(x ′, y) =∑x ′

p(y |x ′)p(x ′) = 1

M

∑x ′

p(y |x ′)

est indépendante du mot ou symbole émis x.

Ainsi, dans le cas où les xi sont équiprobables, y étant donné, la règle de

décodage optimale consiste à trouver la valeur de x = x qui maximise la vraisem-

blance 1 :

x = argmaxx

p(y |x)

Un décodeur qui applique cette règle s’appelle décodeur ML : Maximum Likeli-

hood.

En cas d’ex aequo (plusieurs valeurs de x maximisent la vraisemblance) on

peut, par exemple, choisir le vainqueur x au hasard, ou adopter – comme on le

fera ici – une vision pessimiste en décidant que la décision est incorrecte. Dans ce

dernier cas il n’y a décision correcte que si une seule valeur de x = x qui maximise

la vraisemblance. Noter que lorsque le canal est continu, cet «effet de bord» n’a

aucune influence mesurable sur la probabilité d’erreur.

2.4 Minimiser la distance euclidienne

On considère ici une transmission mot par mot, chaque mot comportant n

symboles. Le cas d’une transmission symbole par symbole s’en déduit en faisant

1. On utilise parfois la fonction de vraisemblance log p(y |x).

Page 44: 201111 Perf s System Es Codes

32 CHAPITRE 2. MAXIMUM DE VRAISEMBLANCE

n = 1.

2.4.1 Canal gaussien

Pour un canal gaussien réel ou complexe, p(y |x) est proportionnel à :

p(y |x) ∝ e−‖y−x‖2

c

où c est une constante. Le décodeur à maximum de vraisemblance cherche

donc à trouver, y étant donné, le x = x le plus proche de y au sens de la distance

euclidienne :

x = argminx

||y −x||

2.4.2 Canal de Rayleigh*

Pour un canal de Rayleigh à évanouissements indépendants, les évanouis-

sements α étant connus, on obtient, exactement de la même façon que pour le

canal gaussien, que le décodeur à maximum de vraisemblance cherche à trouver,

y étant donné, le x = x minimisant la distance euclidienne :

x = argminx

||y −α⊗x||

On minimise ainsi, pour chaque α, la probabilité d’erreur :

Pe|α =P r {X 6= X |α}

Rappelons que pour obtenir la probabilité d’erreur moyenne il faut moyenner

sur le vecteur de Rayleigh α :

Pe =∫α

Pe|α p(α)dα.

2.5 Minimiser la distance de Hamming

On considère une transmission mot par mot sur un canal discret, chaque mot

comportant n symboles.

Page 45: 201111 Perf s System Es Codes

2.5. MINIMISER LA DISTANCE DE HAMMING 33

2.5.1 Canal q-SC

Ici p(y |x) est donné par :

p(y |x) =(

p

1− (q −1)p

)dH (x,y)

(1− (q −1)p)n

Il est clair qu’on peut toujours supposer, en pratique, que :

p < 1

q

de sorte que p1−(q−1)p < 1. Sinon, le canal provoquerait plus de symboles erronés

(probabilité p) que de symboles corrects (probabilité 1− (q −1)p) !

Dans ces conditions, on voit clairement que le décodeur à maximum de

vraisemblance cherche à trouver, y étant donné, le x = x le plus proche de y au

sens de la distance de Hamming :

x = argminx

dH (x, y)

2.5.2 Canal à erreurs et effacements*

Le cas du canal binaire à effacements (sans erreur) est traité dans l’exer-

cice 7.16.

Pour un canal binaire à erreurs et effacements, les effacements (motif Σ)

étant connus, on obtient, exactement de la même façon que pour le BSC, que

le décodeur à maximum de vraisemblance cherche à trouver, y ′ étant donné, le

x ′ = x ′ minimisant la distance de Hamming :

x ′ = argminx ′ dH (x ′, y ′)

Rappelons que l’on définit y ′ comme le vecteur constitué des valeurs non effacées

de y , et de même x ′ est le vecteur des valeurs xi pour i 6∈Σ.

On minimise ainsi, pour chaque motif d’effacements Σ, la probabilité d’er-

reur :

Pe|Σ =P r {X 6= X |Σ}

On a vu que pour obtenir la probabilité d’erreur moyenne il faut moyenner sur le

nombre d’effacements ρ :

Pe =n∑ρ=0

p(ρ)Pe|ρ .

Page 46: 201111 Perf s System Es Codes

34 CHAPITRE 2. MAXIMUM DE VRAISEMBLANCE

2.6 Décodage «Hard» et décodage «Soft»

Un système codé sur un canal continu (gaussien ou Rayleigh, par exemple)

peut être implanté de différentes manières, selon le niveau de discrétisation des

symboles reçus.

2.6.1 Décodage «Soft»

C’est la situation “optimale” sur un canal continu. A chaque symbole d’entrée

x correspond une sortie continue y sur laquelle on ne prend aucune décision

particulière. Néanmoins, l’implantation numérique du codeur fait qu’en pratique,

on quantifie très finement y . On parle alors de «décision douce» (soft decision).

Dans ce document on considère le cas limite où chaque symbole reçu peut

prendre une valeur (réelle ou complexe) quelconque.

Le canal (transmission mot par mot) que l’on considère pour le système codé

est donc tout simplement une extension nième sans mémoire du canal continu

initial (transmission symbole par symbole).

Comme on l’a expliqué ci-dessus, le décodeur ML consiste alors à trouver

le mot de code le plus proche, au sens de la distance euclidienne, du mot reçu

y = (y1, y2, . . . , yn) ∈Rn ou Cn .

Bien qu’en théorie un décodeur soft ML soit optimal, il nécessite l’emploi

d’algorithmes de décodage qui peuvent être extrêmement complexes, voire irréa-

lisables.

2.6.2 Décodage «Hard»

C’est la situation sous-optimale extrême : on quantifie chaque symbole de

sortie en prenant une décision symbole par symbole, sans tenir compte de la

redondance introduite par le code.

Sur un canal gaussien ou de Rayleigh, cette «décision ferme» (Hard decision)

sur un symbole de sortie fournit, d’après ce qu’on a vu, le symbole x = x qui

minimise la distance |x − y |. En pratique cela revient à utiliser des détecteurs à

seuil.

Dans ces conditions le canal (transmission mot par mot) que l’on considère

pour le système codé a pour entrée x et pour sortie y = (x1, x2, . . . , xn) : le mot

Page 47: 201111 Perf s System Es Codes

2.6. DÉCODAGE «HARD» ET DÉCODAGE «SOFT» 35

reçu est consitué de décisions «Hard». Il s’agit cette fois-ci d’une extension nième

sans mémoire d’un canal discret dont le symbole d’entrée est x ∈X et le symbole

de sortie est x ∈X .

Prenons un exemple (important) : On considère un système codé sur le canal

gaussien avec une modulation binaire BPSK (x =±a). La décision ferme s’effectue

sur le symbole reçu y à l’aide d’un seuil à 0 et fournit

x = +a si y > 0

−a si y < 0

Alors, le canal discret équivalent est un BSC d’alphabet X = {±a} et de paramètre

p =Pe/bit

où Pe/bit est la probabilité d’erreur moyenne à la détection sur le symbole y ,

qu’il est facile d’évaluer (voir chapitre 4). Noter qu’ici le canal binaire est bien

symétrique parce que la constellation l’est : la probabilité d’erreur ne dépend pas

du symbole émis.

Le cas de la modulation binaire BPSK sur canal de Rayleigh est traité dans

l’exercice 7.8.

En général, pour une modulation q-aire quelconque sur canal gaussien, on

obtient un canal discret dont les probabilités de transition se calculent à partir des

probabilités d’erreurs Pe|x pour chaque symbole émis. On approxime souvent,

à tort ou à raison, le canal par un q-SC, bien qu’en général ce canal n’est pas

symétrique (à l’exception du cas très utilisé de la modulation BPSK où on obtient

un canal BSC).

Comme on l’a expliqué ci-dessus, le décodeur hard consiste alors à trouver le

mot de code le plus proche, au sens de la distance de Hamming, du mot reçu, ce

qui revient à une correction d’erreurs. Quelques algorithmes correcteurs d’erreurs

ont été étudiés en dominante Communications.

Bien qu’en théorie un décodeur hard soit sous-optimal – par rapport au

décodage soft –, il existe des codes performants pour lesquels des algorithmes

de décodage correcteur d’erreurs (décodage «hard») peuvent être extrêmement

efficaces, surtout à des débits élevés.

Page 48: 201111 Perf s System Es Codes

36 CHAPITRE 2. MAXIMUM DE VRAISEMBLANCE

2.6.3 Décodage «Hard» avec effacements*

C’est une situation sous-optimale intermédiaire, une première étape du dé-

codage «hard» vers le décodage «soft».

Cas du canal gaussien

Prenons comme exemple le cas de transmission d’un symbole binaire (mo-

dulation BPSK sur canal gaussien : x =±a (on peut généraliser facilement à des

constellations de taille quelconque).

Si on fait un décodage «hard» classique avec un détecteur à seuil (seuil à 0)

on remarque que la décision ferme faite sur un symbole devient douteuse si

le symbole reçu y se trouve être proche du seuil. Pour pallier ce problème on

introduit un symbole d’effacement :

x =

+a si y > s

ε si |y |6 s

−a si y <−s

où on choisit une valeur raisonnable du seuil s (par exemple s = a/2).

Le canal discret équivalent est alors un canal binaire à effacements et erreurs

dont il est facile de calculer les paramètres p et π. Noter qu’en pratique p ¿π. Si

on néglige p devant π on obtient un canal BEC à effacement (sans erreur).

Les performances d’un décodeur dans ce contexte sont supérieures au cas

du décodage «hard» classique, car (voir le cours de dominante Communications)

un code correcteur d’erreurs comble grosso modo deux fois plus d’effacements

que d’erreurs. L’exercice 7.16 donne les performances obtenues pour un système

codé sur canal BEC.

Cas du canal de Rayleigh

Sur un canal de Rayleigh, on sait que la décision «hard» sur un symbole

dépend de l’estimation de α. Si l’évanouissement est trop important, le rapport

signal à bruit α2Em/N0 est trop faible pour que la décision «hard» soit fiable. Il

est alors naturel d’introduire un symbole d’effacement x = ε dès que α< s, où s

est un seuil d’affaiblissement bien choisi.

Page 49: 201111 Perf s System Es Codes

2.6. DÉCODAGE «HARD» ET DÉCODAGE «SOFT» 37

On obtient là aussi un canal à erreurs et effacements, dont il est facile de

calculer les paramètres p et π. Là encore, si on néglige p devant π on obtient un

canal à effacement (sans erreur). Par exemple, la probabilité d’un effacement

pour un canal de Rayleigh normalisé est

π=P r {α< s} =∫ s

02αe−α

2dα= 1−e−s2

.

De même que pour un canal gaussien, les performances d’un décodeur dans

ce contexte sont supérieures au cas du décodage «hard» classique. On peut les

évaluer en utilisant l’exercice 7.16, qui donne les performances obtenues pour

un système codé sur canal BEC.

Page 50: 201111 Perf s System Es Codes

38 CHAPITRE 2. MAXIMUM DE VRAISEMBLANCE

Page 51: 201111 Perf s System Es Codes

Chapitre 3

Evaluation de la probabilité

d’erreur : Bornes

3.1 Généralités

Nous avons vu qu’un décodeur à maximum de vraisemblance trouve la valeur

de x = x (parmi un nombre fini de valeurs possibles {x1, x2, . . . , xM }) qui maximise

p(y |x). Cela revient à dire que la sortie du décodeur sera x si et seulement si

l’entrée du décodeur y appartient à la région de décision :

Rx = {y |p(y |x) > p(y |x) ∀x 6= x}

Noter que les régions de décision Rx1 ,Rx2 , . . . ,RxM partitionnent l’espace des y

(ils sont deux à deux disjoints et recouvrent tout l’espace 1).

Pour estimer les performances de tel ou tel système codé avec décodage à

maximum de vraisemblance, il faut être capable d’évaluer la probabilité d’erreur,

qui s’écrit :

Pe =P r {y 6∈ Rx } =∑x

∑∫y

p(x, y)1y 6∈Rx

En effet, si x est émis, il y a erreur (x 6= x) si et seulement si y 6∈ Rx .

Transformons p(x, y) = p(x)p(y |x) ; on obtient, puisque les symboles sont

1. Cette affirmation ne tient pas compte des frontières des régions de décision (cas d’ex aequo

pour différents x). Voir remarque p. 31.

39

Page 52: 201111 Perf s System Es Codes

40 CHAPITRE 3. BORNES SUR LA PROBABILITÉ D’ERREUR

supposés équiprobables :

Pe =∑x

p(x)Pe|x = 1

M

∑x

Pe|x

où :

Pe|x =∑∫y 6∈Rx

p(y |x) =P r {y 6∈ Rx |x}

est la probabilité d’erreur sachant que x a été émis. Cette probabilité est, sauf

cas particulier très simple, difficile à évaluer avec exactitude. On cherche donc à

l’approcher en la majorant par des bornes qui sont, elles, plus faciles à calculer.

3.2 Borne de l’union

On peut faire apparaître dans la formule donnant Pe|x une réunion en remar-

quant que si x est émis, il y a erreur si et seulement si il existe un x ′ 6= x tel que

p(y |x ′)> p(y |x). Ainsi :

Pe|x =P r {y ∈ ⋃x ′ 6=x

Rx−→x ′ |x}

où Rx−→x ′ = {y |p(y |x ′)> p(y |x)}.

La borne de l’union consiste à majorer la probabilité de l’union⋃

Rx−→x ′ par

la somme des probabilités sur les Rx−→x ′ . On obtient alors :

Pe|x 6∑

x ′ 6=xPx−→x ′

où :

Px−→x ′ =P r {y ∈ Rx−→x ′ |x} =∑∫y |p(y |x ′)>p(y |x)

p(y |x)

est appelée probabilité d’erreur par paire. Elle s’interprète comme la probabilité

que le décodeur préfère x ′ à x, lorsque x est émis (comme si x et x ′ étaient les

deux seuls mots susceptibles d’être émis).

Ainsi, avec la borne de l’union on est ramené à calculer des probabilités

d’erreur par paire Px−→x ′ , ce qui est souvent une tâche plus aisée que d’évaluer

Pe|x , puisque la première solution ne nécessite de prendre en compte que deux

mots x et x ′.

Remarquons néanmoins que la borne de l’union n’est qu’une approximation :

elle n’est exacte que si les régions Rx−→x ′ sont disjointes, c’est à dire si M = 2

(Exemple : modulation BPSK sur canal gaussien).

Page 53: 201111 Perf s System Es Codes

3.3. BORNE DE BHATTACHARYYA 41

3.3 Borne de Bhattacharyya

Voici une majoration de la probabilité d’erreur par paire, souvent utile et

complètement générale. On a :

Px−→x ′ =∑∫y |p(y |x ′)>p(y |x)

p(y |x) =∑∫y

p(y |x) 1 p(y |x′)p(y |x) >1

En utilisant la majoration (artificielle, mais triviale) suivante :

1 p(y |x′)p(y |x) >1

6

√p(y |x ′)p(y |x)

on trouve :

Px−→x ′ 6∑∫

y

√p(y |x)p(y |x ′)

C’est la borne de Bhattacharyya.

Dans les sections suivantes on détermine la probabilité d’erreur par paire

(calcul exact et borne de Bhattacharyya) pour les canaux q-SC et gaussien. La cas

du canal BEC (à effacement) est traité dans l’exercice 7.16.

3.4 Cas d’un canal gaussien

On va appliquer les résultats des sections précédentes au cas du canal gaus-

sien, pour le calcul de Px−→x ′ (on a vu que ce calcul est réutilisable tel quel pour

un canal de Rayleigh).

3.4.1 Calcul exact de la probabilité d’erreur par paire

Pour un canal gaussien le calcul exact de Px−→x ′ est facile. Prenons le cas

d’une transmission mot par mot (de n symboles) sur le canal gaussien complexe.

On a p(y |x ′)> p(y |x) ⇐⇒||y−x ′||6 ||y−x||, et on fait le changement de variable

y = x +b, où b est le vecteur du bruit gaussien. Il vient

||y −x ′||6 ||y −x|| ⇐⇒ ||b +x −x ′||26 ||b||2

⇐⇒ 2Re < b|x ′−x >> ||x ′−x||2

⇐⇒ Re < b|u >> 1

2||x ′−x|| = 1p

2d(x, x ′)

Page 54: 201111 Perf s System Es Codes

42 CHAPITRE 3. BORNES SUR LA PROBABILITÉ D’ERREUR

où on a posé u = x ′−x||x ′−x|| , le vecteur unitaire suivant la direction x, x ′. Or :

Z = Re < B |u >=∑i

ReBi Reui − ImBi Imui

est une v.a. gaussienne réelle de moyenne nulle est de variance :

N0∑

i(Reui )2 + (Imui )2 = N0||u||2 = N0

d’où finalement :

Px−→x ′ =P r {Z > d(x, x ′)p2

} =Q

(d(x, x ′)p

2N0

)où Q(x) est la fonction de Marcum (voir exercice 7.1).

Noter que pour un canal gaussien réel le calcul est inchangé, sauf qu’on

remplace N0 par N0/2 et 12 ||x ′−x|| par 1

2 d(x, x ′). D’où :

Px−→x ′ =P r {Z > d(x, x ′)2

} =Q

(d(x, x ′)2p

N0/2

)=Q

(d(x, x ′)p

2N0

)On obtient exactement la même formule.

3.4.2 Borne de Bhattacharyya

Afin d’asseoir la finesse de la borne de Bhattacharyya, il est intéressant de

faire le calcul approché pour le canal gaussien : cette borne s’écrit (pour le canal

gaussien complexe) :

Px−→x ′ 61

(2πN0)n

∫y

e− 1

2N0

(||y−x||2+||y−x ′||2

)/2

d y

En appliquant l’égalité du parallélogramme :

1

2(||u||2 +||v ||2) =

∥∥∥∥u + v

2

∥∥∥∥2

+∥∥∥u − v

2

∥∥∥2

pour u = y −x et v = y −x ′, on obtient :

Px−→x ′ 61

(2πN0)n

∫y

e− 1

2N0

∥∥∥y− x+x′2

∥∥∥2

d y e− 1

2N0

∥∥∥ x−x′2

∥∥∥2

L’intégrale porte sur une loi gaussienne sur tout l’espace et vaut donc 1. Finale-

ment :

Px−→x ′ 6 e−1

4N0d 2(x,x ′)

Page 55: 201111 Perf s System Es Codes

3.5. CAS D’UN CANAL Q-SC OU BSC 43

En comparant au calcul exact on s’aperçoit que l’utilisation de la borne de Bhat-

tacharyya revient à faire la majoration :

Q(x)6 e−x2/2

majoration qui est par ailleurs classique (voir exercice 7.1, qui montre que Q(x)

est en fait équivalent à 1p2πx

e−x2/2).

Ainsi la borne de Bhattacharyya est ici raisonnablement fine lorsque l’énergie

de différence ‖x−x ′‖2 est grande devant la puissance du bruit, ce qui correspond,

en général, à une hypothèse de fort rapport signal à bruit.

3.5 Cas d’un canal q-SC ou BSC

3.5.1 Calcul exact de la probabilité d’erreur par paire

Pour un canal q-SC ou BSC le calcul exact de Px−→x ′ est plus difficile. Nous

considérons une transmission mot par mot (de n symboles) sur le canal q-SC. Le

cas du canal BSC s’en déduit en faisant q = 2.

On a p(y |x ′)> p(y |x) ⇐⇒ dH (y , x ′)6 dH (y , x), et on fait le changement de

variable y = x +e, où e est le vecteur d’erreur. Il vient :

dH (y , x ′)6 dH (y , x) ⇐⇒ wH (e +x −x ′)6wH (e)

⇐⇒ ∑i

wH (ei +xi −x ′i )6

∑i

wH (ei )

en écrivant la définition du poids de Hamming sur les n composantes.

Il est clair que les indices i pour lesquels xi = x ′i donnent un i ème terme

identique dans les deux sommes. On supposera donc dorénavant que i est tel

que xi 6= x ′i . Il y a dH (x, x ′) tels indices. Leur ensemble sera noté I .

Parmi ceux-ci, ceux pour lesquels ei 6= 0 et ei 6= x ′i − xi donnent également un

i ième terme identique dans les deux sommes. Par conséquent il suffit de prendre

en compte les incides i tels que ei = 0 ou ei = x ′i −xi .

Appelons donc t le nombre d’indices i ∈ I vérifiant ei = x ′i −xi et u le nombre

d’indices i ∈ I vérifiant ei 6= x ′i −xi et ei 6= 0. Alors dH (x, x ′)− t −u est le nombre

d’indices i ∈ I pour lesquels ei = 0, et il vient :

Px−→x ′ =P r {t > dH (x, x ′)− t −u}

Page 56: 201111 Perf s System Es Codes

44 CHAPITRE 3. BORNES SUR LA PROBABILITÉ D’ERREUR

Cette probabilité se calcule facilement en notant que la probabilité pour que

ei soit : 1) égal à une valeur déterminée non nulle est p ; 2) égal à 0 est 1−P où

P = (q −1)p ; 3) à la fois non nul et différent d’une valeur spécifiée non nulle est

(q −2)p = P −p. On trouve :

Px−→x ′ = ∑u,t |u+2t>d

Ctd p t Cu

d−t (P −p)u(1−P )d−t−u

où on a noté d = dH (x, x ′) pour simplifier les écritures. C’est l’expression exacte

de Px−→x ′ .

Dans le cas du canal BSC l’expression se simplifie car forcément u = 0 :

Px−→x ′ = ∑t> d

2

Ctd p t (1−p)d−t =P r {t >

d

2}

où t suit une loi binômiale de paramètre p et de longueur d .

On approxime souvent ces expressions par leurs équivalents lorsque p −→ 0.

En décodage hard, cela correspond à une hypothèse de fort rapport signal à bruit.

Pour le canal q-SC en général, on voit aisément que cet équivalent est obtenu

pour u = 0 et t = dd2 e :

Px−→x ′ .Cd d

2 ed pd d

2 e

où d = dH (x, x ′).

3.5.2 Borne de Bhattacharyya

La borne de Bhattacharyya majore les expressions exactes trouvées au para-

graphe précédent par une expression simple.

Commençons par un calcul général (valable pour tout canal sans mémoire) à

partir de la borne de Bhattacharyya :

Px−→x ′ 6∑∫

y

√p(y |x)p(y |x ′)

6∑

y1,y2,...,yn

n∏i=1

√p(yi |xi )p(yi |x ′

i )

6n∏

i=1

∑yi

√p(yi |xi )p(yi |x ′

i )

La dernière équation provient de ce qu’on a reconnu un développement général

d’un produit de sommes.

Page 57: 201111 Perf s System Es Codes

3.5. CAS D’UN CANAL Q-SC OU BSC 45

Le terme sous le produit vaut 1 si xi = x ′i . En effet :∑

yi

√p(yi |xi )p(yi |xi ) =∑

yi

p(yi |xi ) = 1

On aboutit donc à :

Px−→x ′ 6∏

i |xi 6=x ′i

∑yi

√p(yi |xi )p(yi |x ′

i )

Le produit contient dH (x, x ′) termes.

Pour le canal q-SC, lorsque xi 6= x ′i , on a :√

p(yi |xi )p(yi |x ′i ) =√

p(1−P )

lorsque yi vaut xi ou x ′i , et :√

p(yi |xi )p(yi |x ′i ) =

√p2 = p

sinon. Donc : ∑yi

√p(yi |xi )p(yi |x ′

i ) = 2√

p(1−P )+ (q −2)p

où P = (q −1)p.

Finalement, la borne de Bhattacharyya pour le canal q-SC s’écrit :

Px−→x ′ 6(2√

p(1− (q −1)p

)+ (q −2)p

)d

où on a noté d = dH (x, x ′). Pour le BSC cela se simplifie en :

Px−→x ′ 6(2√

p(1−p))d

Si on approxime ces expressions par leurs équivalents lorsque p −→ 0 (fort

rapport signal à bruit en décodage hard), on a, pour le canal q-SC en général :

Px−→x ′ . 2d pd/2

où d = dH (x, x ′). En comparant à l’équivalent exact du paragraphe précédent, on

voit que, sur les équivalents, l’utilisation de la borne de Bhattacharyya revient à

faire la majoration :

Cdd/2ed pdd/2e6 2d pd/2

Noter qu’avec la borne de Bhattacharyya on n’obtient pas la bonne puissance de p

(d/2 au lieu de (d+1)/2) lorsque d est impair (voir exercice 7.2 pour amélioration).

Page 58: 201111 Perf s System Es Codes

46 CHAPITRE 3. BORNES SUR LA PROBABILITÉ D’ERREUR

3.6 Autres bornes*

Dans ce paragraphe on aborde d’autres bornes classiques de la littérature.

3.6.1 Borne de Chernoff*

On peut utiliser l’inégalité de Chernoff, classique en probabilités (voir exer-

cice 7.3), directement sur l’expression générale de la probabilité d’erreur par

paire. Puisque p(y |x ′) > p(y |x) équivaut à log p(y |x ′)p(y |x) > 0, on a, en appliquant

l’inégalité de Chernoff :

Px−→x ′ = P r {logp(y |x ′)p(y |x)

> 0 |x}

6 E(eλ log p(y |x′)

p(y |x)

)6

∑∫y

(p(y |x ′)p(y |x)

)λp(y |x)

pour tout λ> 0. La borne de Chernoff sur la probabilité d’erreur par paire s’écrit

finalement :

Px−→x ′ 6∑∫

yp(y |x)1−λp(y |x ′)λ

Cette borne est à minimiser sur λ> 0.

Noter que la borne de Bhattacharyya apparait ici comme un cas particulier

de la borne de Chernoff pour λ= 12 . Malgré cela, il se trouve que pour les canaux

«symétriques» comme le canal gaussien ou le canal q-SC, la borne de Chernoff

n’apporte aucune amélioration par rapport à la borne de Bhattacharyya (voir

exercice 7.4).

3.6.2 Borne de Gallager*

La borne de Gallager concerne la probabilité d’erreur Pe|x = P r {y 6∈ Rx |x},

où Rx est la région de décision associée à x. Elle améliore à la fois la borne de

l’union et de Bhattacharyya.

On utilise l’inégalité triviale suivante. Si y 6∈ Rx , alors il existe x ′ 6= x tel quep(y |x ′)p(y |x) > 1 et donc : ( ∑

x ′ 6=x

(p(y |x ′)p(y |x)

)λ)µ> 1 ∀λ,µ> 0

Page 59: 201111 Perf s System Es Codes

3.7. DISTRIBUTION DE DISTANCES 47

Par conséquent, en suivant la même approche que pour l’établissement de la

borne de Bhattacharyya, on peut écrire :

Pe|x 6∑∫

y

( ∑x ′ 6=x

(p(y |x ′)p(y |x)

)λ)µp(y |x)

6∑∫

yp(y |x)1−λµ

( ∑x ′ 6=x

p(y |x ′)λ)µ

Noter qu’on retrouve la borne de l’union+Chernoff en faisant µ= 1.

On choisit λ= 11+µ , de sorte que 1−λµ=λ dans l’expression précédente et

on obtient :

Pe|x 6∑∫

yp(y |x)

11+µ

( ∑x ′ 6=x

p(y |x ′)1

1+µ

C’est la borne de Gallager, à minimiser sur µ> 0. Noter qu’ici, on retrouve la

borne de l’union+Bhattacharyya en faisant µ= 1.

Cette borne est théoriquement très importante, puisqu’elle permet de dé-

montrer le théorème de Shannon sur le codage canal (voir chapitre 6). Elle est

donc très fine et en ce sens, optimale. On peut montrer que sur le canal gaussien

(décodage hard ou soft), la borne de Gallager est très bonne même en faible

rapport signal à bruit pour 06µ< 1, alors que la borne de Bhattacharyya (µ= 1)

suffit en fort rapport signal à bruit. Malgré ces avantages, la borne de Gallager est,

en pratique, très difficile à évaluer sauf cas très particuliers (voir exercice 7.9).

3.7 Distribution de distances

Dans ce chapitre, la plupart des bornes sur la probabilité d’erreur globale Pe

d’un système de communications numériques se basent sur la borne de l’union :

Pe|x 6∑

x ′ 6=x Px−→x ′ .

On a vu que pour les différents canaux étudiés ici, on évalue la probabilité

d’erreur par paire Px−→x ′ par une fonction de d = d(x, x ′), la distance entre x et

x ′ :

Px−→x ′ 6 f (d)

Cette distance d est une distance de Hamming d = dH (x, x ′) pour un canal q-SC,

ou une distance euclidienne d = d(x, x ′) ∝||x −x ′||2 pour un canal gaussien.

Page 60: 201111 Perf s System Es Codes

48 CHAPITRE 3. BORNES SUR LA PROBABILITÉ D’ERREUR

Par exemple, la borne de Bhattacharyya donne f (d) = (2√

p(1−p))d pour

un canal BSC, et f (d) = e−d2

4N0 pour un canal gaussien. Clairement f (d) est une

fonction décroissante de d . La décroissance est d’autant plus forte que le rapport

signal à bruit est fort pour le canal gaussien (décodage hard ou soft).

Rappelons que, suivant le cas, x et x ′ représentent des symboles (points d’une

constellation, par exemple) ou des mots de code. Dans la suite de ce paragraphe

on les désignera sous le nom de «points».

Revenons maintenant à la borne de l’union. Elle donne, d’après ce qu’on

vient de voir :

Pe|x 6∑

x ′ 6=xf(d(x, x ′)

)où x et x ′ prennent leurs valeurs dans un ensemble fini {x1, x2, . . . , xM }. On peut

maintenant regrouper les différents termes en définissant Ad (x) comme étant le

nombre de points x ′ 6= x situés à distance d de x :

Ad (x) = Card{x ′ |d(x, x ′) = d}

On obtient :

Pe|x 6∑

iAdi (x) f (di )

où les {di } constituent l’ensemble des distances possibles entre les points x et

x ′ ∈ {x1, x2, . . . , xM } différents 2 de x.

Finalement, on arrive à la borne sur la probabilité d’erreur globale Pe =1

M

∑x Pe|x (toujours en supposant les x équiprobables) :

Pe 6∑

iAdi f (di )

où on a défini Ad comme étant le nombre moyen de points situés à une distance d

d’un point donné :

Ad = 1

M

∑x

Ad (x).

2. On a (évidemment) supposé ici que les points {x1, x2, . . . , xM } sont distincts – de sorte que la

somme porte sur des distances di > 0. Si on voulait être parfaitement général en tenant compte de

l’éventualité où les points ne sont pas tous distincts, il faudrait écrire :

Pe|xm 6∑

m′ 6=mf(d(xm , xm′ )

)= ∑di >0

Adi(xm ) f (di )

(cf. exercice 7.10).

Page 61: 201111 Perf s System Es Codes

3.7. DISTRIBUTION DE DISTANCES 49

Ainsi, pour évaluer cette borne sur la probabilité d’erreur il faut être capable

d’évaluer la distribution des distances d’un code ou d’une constellation, i.e.,

l’ensemble des quantités Ad pour toutes les distances d possibles. Ceci sera fait

dans les chapitres suivants. Dans le cas d’un système codé par un code linéaire,

par exemple, les Ad seront donnés par le polynôme énumérateur du poids du

code.

Enfin, notons que, en fort rapport signal à bruit sur le canal gaussien (déco-

dage hard ou soft), puisque f (d) décroit fortement avec d , on peut ne retenir que

le terme f (dmin) où dmin est la distance minimale entre deux points x et x ′. On

obtient alors

Pe . Admin f (dmin)

évaluation qui suffit dans bien des cas. Le coefficient d’erreur Admin est le nombre

moyen de points situés à une distance dmin d’un point donné. On l’appelle parfois

le «kissing number».

Page 62: 201111 Perf s System Es Codes

50 CHAPITRE 3. BORNES SUR LA PROBABILITÉ D’ERREUR

Page 63: 201111 Perf s System Es Codes

Chapitre 4

Performances de modulations

linéaires

4.1 Généralités

Sauf mention contraire, nous considérons les performances de modulations

linéaires sur le canal gaussien complexe. Le symbole M-aire émis est donc un

nombre complexe x = αI , où I appartient à une constellation M-aire, et α est

un facteur d’échelle qui tient compte de l’énergie par symbole à l’émission. On

supposera, comme d’habitude, que les symboles sont équiprobables.

La constellation {I1, I2, . . . , IM } est constitué de M points dans le plan com-

plexe. C’est elle qui détermine le type de modulation utilisé. En général la modu-

lation est bidimensionnelle. Bien entendu, lorsque la modulation est «monodi-

mensionnelle» (i.e., les symboles sont réels comme pour la BPSK ou la PAM), on

peut l’employer sur un canal gaussien réel. Les résultats sont alors identiques à

ceux établis ci-dessous pour le cas complexe.

Le facteur d’échelle α se détermine en fonction de l’énergie moyenne par

symbole :

Em = 1

2E(|x|2) = α2

2E(|I |2) = α2

2σ2

I

où σ2I = 1

M

∑k |Ik |2 est la variance de la constellation. Noter qu’on se limite ici aux

constellations centrées autour de 0, de sorte que la moyenne des symboles est

51

Page 64: 201111 Perf s System Es Codes

52 CHAPITRE 4. PERFORMANCES DE MODULATIONS LINÉAIRES

nulle : E(I ) = 0 et qu’on a bien E(|I |2) =σ2I . On en déduit α en fonction de Em :

α=√

2Em

σ2I

Nous noterons δ(I , I ′) = |I − I ′| la distance entre 2 points I et I ′ de la constel-

lation dans le plan complexe. Ainsi on a, pour les symboles correspondants x et

x ′ :

d(x, x ′) = 1p2|x −x ′| = αp

2δ(I , I ′) =

√Em

σ2I

δ(I , I ′)

On note δmin la distance minimale entre deux points de la constellation. Ce

paramètre va intervenir dans le calcul de la probabilité d’erreur.

4.2 Modulation binaire (BPSK)

4.2.1 Canal gaussien

La modulation binaire est connue sous le nom de MDP-2 : Modulation par

Déplacement de Phase à M = 2 états (BPSK : Binary Phase Shift Keying). La

constellation binaire correspondante est donnée par :

I =±1

On a donc σ2I = 1 et δmin = 2. Noter que puisqu’ici α = p

2Em , les symboles

correspondants sont :

x =±√

2Em

La modulation binaire est le seul cas où la borne de l’union est exacte. En

effet c’est le seul cas où les régions de décision Rx coincident avec les demi-

espaces R−x−→x . De plus, dans la borne de l’union n’apparait qu’un seul terme :

Pe|x =Px−→−x . On obtient donc pour la probabilité d’erreur :

Pe =Q

(dminp

2N0

)=Q

√√√√Emδ

2min

2N0σ2I

ce qui donne :

Pe =Q

(√2Em

N0

)

Page 65: 201111 Perf s System Es Codes

4.2. MODULATION BINAIRE (BPSK) 53

C’est la formule qui sert de référence pour tous les autres systèmes sur canal

gaussien. Noter qu’ici Pe est une probabilité d’erreur par bit (symbole binaire)

et Em est une énergie moyenne par bit, qu’il soit codé (décodage Hard) ou non.

La courbe de performance (Pe en fonction du rapport signal à bruit Em/N0) est

donnée dans la Fig. 4.1

0 2 4 6 8 10 12 14 1610-10

10-9

10-8

10-7

10-6

10-5

10-4

10-3

10-2

10-1

Bit SNR Eb/No (dB)

Bit E

rror R

ate

FIG. 4.1 – Performances de la BPSK

4.2.2 Canal de Rayleigh

Nous avons vu que pour un affaiblissement α donné, le cas du canal de

Rayleigh est identique au cas du canal gaussien, à ceci près que le rapport signal

à bruit est multiplié par α2. On obtient donc :

Pe|α =Q

(√α2 2Em

N0

)

Page 66: 201111 Perf s System Es Codes

54 CHAPITRE 4. PERFORMANCES DE MODULATIONS LINÉAIRES

Pour obtenir les performances dans la cas du canal de Rayleigh il faut moyenner

Pe|α suivant la loi de Rayleigh p(α). En supposant le canal de Rayleigh normalisé,

de sorte que la rapport signal-à-bruit moyen est toujours γ= EmN0

, il vient :

Pe =∫ ∞

0p(α)Pe|αdα=

∫ ∞

02αe−α

2Q(α

√2γ)dα

Connaissant la dérivée de la fonction Q(x) (voir exercice 7.1), on peut faire une

intégration par parties et on obtient :

Pe = 1

2−

√γ

π

∫ ∞

0e−α

2(1+γ)dα

d’où finalement :

Pe = 1

2(1−

√Em/N0

1+Em/N0)

L’exercice 7.8 compare ce calcul exact à la borne de Bhattacharyya, seule borne

utilisable dans le cas de systèmes codés sur canal de Rayleigh.

On voit facilement qu’en fort rapport signal-à-bruit :

Pe ≈ 1

4Em/N0

Ainsi, à cause des affaiblissements sur canal de Rayleigh, la probabilité d’erreur a

perdu sa décroissance exponentielle en Em/N0 pour une décroissance linéaire

(voir Fig. 4.2).

4.3 Perte par rapport à la BPSK

4.3.1 Perte en rapport signal à bruit par symbole

Pour les autres modulations (non binaires), nous savons que la borne de

l’union fournit plusieurs termes qui dépendent de la distribution des distances

de la modulation considérée.

Dans ce chapitre on se limitera au terme, dépendant de dmin, qui prédomine

en fort rapport signal-à-bruit. Sur canal gaussien on écrira donc :

Pe . AdminQ

(dminp

2N0

)où Admin = 1

M

∑k Admin (Ik ) est le nombre moyen de points de la constellation

situés à distance minimale d’un point Ik donné.

Page 67: 201111 Perf s System Es Codes

4.3. PERTE PAR RAPPORT À LA BPSK 55

0 5 10 15 20 25 3010-6

10-5

10-4

10-3

10-2

10-1

Bit SNR Eb/No (dB)

Bit E

rror R

ate AWGN

Rayleigh

FIG. 4.2 – Performances de la BPSK sur canal gaussien et sur canal de Rayleigh

Sachant que dmin =√

Em

σ2Iδmin, on peut mettre cette expression sous la forme

suivante :

Pe . AdminQ

(√2Em

N0g

)où g est un terme de gain (en général < 1) :

g = (δmin/2)2

σ2I

qui donne la perte en rapport signal-à-bruit par rapport à la BPSK. Noter que le

rapport signal à bruit Em/N0 est ici un rapport signal à bruit par symbole M-aire.

Cette perte est de −10log10(g ) dB. Cela signifie que par rapport à la BPSK, en

fort rapport signal à bruit, il faut augmenter le rapport signal à bruit Em/N0 de

|10log10(g )| dB pour obtenir une probabilité d’erreur comparable.

4.3.2 Perte en rapport signal à bruit par bit

Lorsqu’on veut comparer les performances de différentes modulations avec

des nombres d’états M différents, il est pas très judicieux de faire cette com-

Page 68: 201111 Perf s System Es Codes

56 CHAPITRE 4. PERFORMANCES DE MODULATIONS LINÉAIRES

paraison en termes de rapport signal à bruit par symbole Em/N0, puisque ce

qu’on nomme un «symbole» peut comporter un nombre différent de bits d’une

modulation à l’autre.

Il est alors nécessaire d’opter pour le rapport signal à bruit par bit. Pour une

modulation à M états, un symbole (codé ou non) comporte log2 M bits, l’énergie

par bit (codé ou non) est Eb = Emlog2 M d’où :

Eb

N0= 1

log2 M

Em

N0

En fonction de ce rapport signal à bruit par bit, le gain d’une modulation par

rapport à la BPSK devient 10log10(g log2 M) dB au lieu de 10log10(g ) dB. Par

rapport à la BPSK, en fort rapport signal à bruit, il faut donc augmenter le rapport

signal à bruit par bit Eb/N0 de |10log10(g log2 M)| dB pour obtenir une probabilité

d’erreur comparable.

4.4 Taux d’erreur par bit et par symbole

Jusqu’à présent on a estimé les performances d’une modulation en estimant

la probabilité d’erreur Pe . Cette probabilité d’erreur est une probabilité d’erreur

par symbole M-aire.

De même qu’il est plus judicieux d’évaluer la probabilité d’erreur en fonction

du rapport signal à bruit par bit plutôt que par symbole, on peut envisager d’esti-

mer la probabilité d’erreur par bit moyenne Pe/b plutôt que celle par symbole

Pe/s =Pe .

Cependant, le calcul de Pe/b est plus difficile à effectuer car il dépend de

l’étiquetage binaire des différents points de la constellation, c’est-à-dire du choix

des représentations sur log2 M bits des différents symboles M-aires (en suppo-

sant que M soit une puissance de deux). Certains calculs ont été vus en domi-

nante Communications.

Noter que dans le cas où M est une puissance de deux, Pe/b peut être défini

par :

Pe/b = 1

log2 ME(wH (I − I ))

c’est à dire le nombre moyen de bits erronés par symbole erroné (I 6= I ), rapporté

par bit. (La situation est encore plus complexe si M n’est pas une puissance de

deux !)

Page 69: 201111 Perf s System Es Codes

4.5. MODULATION EN AMPLITUDE (PAM) 57

Bien que Pe/b soit difficile à évaluer, on peut obtenir un encadrement général

en remarquant qu’un symbole erroné produit, au mieux, un bit erroné 1, d’où

wH (I − I ) = 1. Au pire, tous les bits sont erronés et wH (I − I ) = log2 M . Ainsi :

1

log2 MPe/s 6Pe/b 6Pe/s

Ainsi les probabilités d’erreur par symbole et par bit sont toujours du même

ordre de grandeur. On peut donc dire que la comparaison des performances de

différentes modulations se fait aussi bien en termes de probabilité d’erreur par

symbole Pe/s qu’en termes de probabilité d’erreur par bit Pe/b . Dans la suite on

se limitera donc à l’évaluation de Pe =Pe/s .

4.5 Modulation en amplitude (PAM)

La modulation en amplitude à M états est connue sous le nom de MIA-

M : Modulation d’Impulsion en Amplitude à M états (M-PAM : M-ary Pulse

Amplitude Modulation). On suppose ici que M est pair. On retrouve la BPSK pour

M = 2.

La constellation M-aire correspondante est donnée par :

I =±1,±3, . . . ,±(M −1)

On a donc δmin = 2 et :

σ2I =

1

M2(12 +32 +·· ·+ (M −1)2) = M 2 −1

3

On a utilisé ici l’identité 12 +32 +·· ·+ (M −1)2 = M(M 2−1)6 qu’il est facile d’établir.

Tous les points de la constellation admettent deux voisins à distance mini-

male, sauf les deux extrêmes qui n’en admettent qu’un seul. Le paramètre Admin

est donc égal à :

Admin =1

M(2(M −2)+2) = 2

(1− 1

M

)On obtient donc pour la probabilité d’erreur :

Pe . 2

(1− 1

M

)Q

(√2Em

N0gM

)1. Ceci constitue une bonne approximation pour une modulation PSK avec un codage de Gray

(cf. dominante «Communications»).

Page 70: 201111 Perf s System Es Codes

58 CHAPITRE 4. PERFORMANCES DE MODULATIONS LINÉAIRES

M gM (dB) gM log2 M (dB)

2 0 0

4 -6.99 -3.98

8 -13.22 -8.45

16 -19.29 -13.27

32 -25.33 -18.34

64 -31.35 -23.57

TAB. 4.1 – Gains asymptotiques, par rapport à la BPSK, en fort rapport signal à

bruit, pour la modulation M-PAM

où le gain asymptotique en fort rapport signal à bruit est :

gM = 3

M 2 −1

La Table 4.5 donne quelques valeurs de gM (gain en rapport signal à bruit par

symbole) et gM log2 M (gain en rapport signal à bruit par bit).

Les courbes de performance (Pe en fonction du rapport signal à bruit par

symbole ou par bit) sont données dans la Fig. 4.3.

4.6 Modulation en phase (PSK)

La modulation en phase à M états est connue sous le nom de MDP-M :

Modulation par Déplacement de Phase à M états (M-PSK : M-ary Phase Shift

Keying). On retrouve la BPSK pour M = 2. La QPSK (Quadrature Phase Shift

Keying) correspond au cas M = 4.

La constellation M-aire correspondante est donnée par :

Ik = e2 jπk/M pour k = 0,1, . . . , M −1

(voir Fig. 4.4). On a donc σ2I = 1 et :

δmin = |1−e2 jπ/M | = 2sinπ

M

Tous les points de la constellation admettent deux voisins à distance minimale,

donc Admin = 2.

Page 71: 201111 Perf s System Es Codes

4.7. MODULATION D’AMPLITUDE QAM 59

On obtient donc pour la probabilité d’erreur :

Pe . 2Q

(√2Em

N0gM

)

où le gain asymptotique en fort rapport signal à bruit est :

gM = sin2 π

M

La Table 4.6 donne quelques valeurs de gM (gain en rapport signal à bruit par

symbole) et gM log2 M (gain en rapport signal à bruit par bit).

Les courbes de performance (Pe en fonction du rapport signal à bruit par

symbole ou par bit) sont données dans la Fig. 4.5.

4.7 Modulation d’amplitude QAM

La modulation en amplitude et en phase à M états est connue sous le nom

de MAQ-M : Modulation d’Amplitude en Quadrature à M états (M-QAM : M-ary

0 5 10 15 20 25 30 35 40 4510-7

10-6

10-5

10-4

10-3

10-2

SNR (dB)

Erro

r Rat

e

M=2 M=4 M=8 M=16 M=32 M=64

0 5 10 15 20 25 30 35 40 4510-7

10-6

10-5

10-4

10-3

10-2

Bit SNR Eb/No (dB)

Erro

r Rat

e

M=2 M=4 M=8 M=16 M=32 M=64

FIG. 4.3 – Performances de la Modulation M-PAM en fort rapport signal à bruit,

en fonction du rapport signal à bruit par symbole et par bit

Page 72: 201111 Perf s System Es Codes

60 CHAPITRE 4. PERFORMANCES DE MODULATIONS LINÉAIRES

1

1

FIG. 4.4 – Constellation 8-PSK

M gM (dB) gM log2 M (dB)

2 0 0

4 -3.01 -0.00

8 -8.34 -3.57

16 -14.20 -8.17

32 -20.17 -13.18

64 -26.18 -18.40

TAB. 4.2 – Gains asymptotiques, par rapport à la BPSK, en fort rapport signal à

bruit, pour la modulation M-PSK

Quadrature Amplitude Modulation). On suppose ici que M est un carré : M = M ′2,

où M ′ est pair. On retrouve la QPSK pour M = 4.

La constellation M-aire correspondante est donnée par :

I = a + j b où a,b ∈ {±1,±3, . . . ,±(M ′−1)}

(voir Fig. 4.6). On a donc δmin = 2 et :

σ2I =σ2

a +σ2b = 2

M ′2 −1

3= 2

M −1

3

On s’est ramené ici au cas d’un modulation PAM pour les symboles a et b.

Tous les points de la constellation admettent 4 voisins à distance minimale,

sauf 4(M ′−2) points aux «bords» qui n’en admettent que trois, et les quatre «coins»

Page 73: 201111 Perf s System Es Codes

4.7. MODULATION D’AMPLITUDE QAM 61

qui n’en admettent que deux. Le paramètre Admin est donc égal à :

Admin = 1

M

(4×2+4(M ′−2)×3+ (M −4−4(M ′−2))×4

)= 4

(1− 1p

M

)On obtient donc pour la probabilité d’erreur :

Pe . 4

(1− 1p

M

)Q

(√2Em

N0gM

)

où le gain asymptotique en fort rapport signal à bruit est :

gM = 3

2(M −1)

On peut également définir une modulation QAM lorsque M n’est pas un

carré, mais de la forme M = 12 M ′2, où M ′ est pair. Cela permet par exemple de

définir les modulations 8−Q AM et 32−Q AM (voir Fig. 4.7). Ici la constellation

correspondante est donnée par :

I = a + j b où a,b ∈ {±1,±3, . . . ,±(M ′−1)}

0 5 10 15 20 25 30 35 40 4510-7

10-6

10-5

10-4

10-3

10-2

SNR (dB)

Erro

r Rat

e

M=2 M=4 M=8 M=16 M=32 M=64

0 5 10 15 20 25 30 35 40 4510-7

10-6

10-5

10-4

10-3

10-2

Bit SNR Eb/No (dB)

Erro

r Rat

e

M=2

M=4

M=8 M=16 M=32 M=64

FIG. 4.5 – Performances de la Modulation M-PSK en fort rapport signal à bruit,

en fonction du rapport signal à bruit par symbole et par bit

Page 74: 201111 Perf s System Es Codes

62 CHAPITRE 4. PERFORMANCES DE MODULATIONS LINÉAIRES

1

1

FIG. 4.6 – Constellation 64-QAM

sous la constrainte que a +b est multiple de 4. On choisit donc un point sur deux

dans une modulation M ′2-QAM.

1

1

FIG. 4.7 – Constellation 32-QAM

On trouve facilement qu’alors δmin = 2p

2 et :

σ2I =

1

2

M ′2

Mσ2

I ′

où σ2I ′ est la variance de la constellation M ′2-QAM. On obtient donc :

σ2I =σ2

I ′ = 22M −1

3

d’où un gain asymptotique en fort rapport signal à bruit :

gM = 3

2M −1

La Table 4.7 donne quelques valeurs de gM (gain en rapport signal à bruit par

symbole) et gM log2 M (gain en rapport signal à bruit par bit).

Page 75: 201111 Perf s System Es Codes

4.7. MODULATION D’AMPLITUDE QAM 63

M gM (dB) gM log2 M (dB)

4 -3.01 0

8 -6.99 -2.22

16 -10.00 -3.98

32 -13.22 -6.23

64 -16.23 -8.45

TAB. 4.3 – Gains asymptotiques, par rapport à la BPSK, en fort rapport signal à

bruit, pour la modulation M-QAM

Les courbes de performance (Pe en fonction du rapport signal à bruit par

symbole ou par bit) sont données dans la Fig. 4.8.

0 5 10 15 20 25 30 3510-7

10-6

10-5

10-4

10-3

10-2

SNR (dB)

Erro

r Rat

e

M=4 M=8 M=16 M=32 M=64

0 5 10 15 20 25 30 3510-7

10-6

10-5

10-4

10-3

10-2

Bit SNR Eb/No (dB)

Erro

r Rat

e

M=4 M=8

M=16

M=32 M=64

FIG. 4.8 – Performances de la Modulation M-QAM en fort rapport signal à bruit,

en fonction du rapport signal à bruit par symbole et par bit

Page 76: 201111 Perf s System Es Codes

64 CHAPITRE 4. PERFORMANCES DE MODULATIONS LINÉAIRES

Page 77: 201111 Perf s System Es Codes

Chapitre 5

Performances de systèmes codés

en blocs

5.1 Distribution de distances d’un code

5.1.1 Les coefficients Ad

Nous avons déjà mentionné au § 3.7 l’importance que revêt la distribution des

distances d’un code C pout l’évaluation de la probabilité d’erreur d’un système,

en particulier celle du paramètre

Ad = 1

M

∑x

Ad (x) = 1

MCard{(x, x ′) | dH (x, x ′) = d}

C’est le nombre moyen de mots de code situés à une distance d d’un mot de code

donné. Ici le type de distance utilisé est la distance de Hamming.

Nous allons déterminer les coefficients Ad pour un certain nombre de codes

q-aires (définis sur Fq ) de paramètres (n,k,dmin). Nous verrons que ceci est

indispensable pour l’évaluation des performances d’un système codé :

– sur un canal discret (q-SC) ;

– en décodage hard sur canal gaussien ou de Rayleigh ;

– et même en décodage soft lorsque le code est binaire (q = 2).

Dans la suite on se limitera aux codes linéaires, qui sont les plus utilisés en

pratique.

Pour un code linéaire la définition de Ad se simplifie. En effet, pour tout mot

de code x ∈C , le code translaté par x coincide avec le code lui-même – qui n’est

65

Page 78: 201111 Perf s System Es Codes

66 CHAPITRE 5. SYSTÈMES CODÉS EN BLOCS

autre que le code translaté par le mot de code nul 0 = (0,0, . . . ,0). En d’autres

termes, on a : x+C =C . Il en résulte que le nombre Ad (x) de mots de code situés

à une distance d d’un mot de code donné x est indépendant du mot de code x

choisi. On peut donc écrire :

Ad (x) = Ad (0) = Ad

où Ad est, par définition, le nombre de mots de code de poids d :

Ad = Card{x ∈C | wH (x) = d}

Finalement, pour un code linéaire, on aboutit à :

Ad = Ad

et il reste à déterminer les coefficients Ad .

Un certain nombre de propriétés des coefficients Ad sont évidentes :A0 = 1

Ad = 0 pour 06 d 6 dmin −1 et d > n∑nd=0 Ad = qk

qui proviennent, respectivement, du fait que :

– Le mot de code nul est le seul mot de code de poids nul ;

– la distance minimale (poids minimimum) du code est dmin ;

– le nombre total de mots de code est qk .

5.1.2 Polynôme énumérateur de poids

Plutôt que de déterminer l’ensemble des Ad , on préfère souvent trouver les

valeurs des Ad sous forme compacte en déterminant le polynôme énumérateur

de poids du code, défini par :

A(z) =n∑

d=0Ad zd = 1+

n∑d=dmin

Ad zd

Une méthode générale pour déterminer A(z) consiste à lister tous les mots de

code et à dénombrer leurs poids. La liste des mots de code s’obtient en calculant

toutes les combinaisons linéaires des lignes d’une matrice génératrice du code.

Page 79: 201111 Perf s System Es Codes

5.1. DISTRIBUTION DE DISTANCES D’UN CODE 67

Cette méthode exhaustive n’est faisable, en pratique, que lorsque la dimension k

du code est très petite.

Pour certaines familles de codes on peut déterminer directement A(z). Voici

deux exemples triviaux de détermination de A(z) pour des codes binaires :

Code à répétition (n,1,n). Il y a deux mots de code : 0 et (1,1, . . . ,1) de poids

n donc :

A(z) = 1+ zn

Code Simplexe (2m − 1,m,2m−1). C’est le dual du code de Hamming. On

peut montrer que les 2m −1 mots de codes non nuls ont tous le même poids

dmin = 2m−1. Donc :

A(z) = 1+ (2m −1)z2m−1.

5.1.3 Identité de Mac Williams

Une autre méthode générale de détermination de A(z) consiste à déterminer

d’abord le polynôme énumérateur de poids B(z) du code dual (n,n −k). Ceci est

faisable de manière exhaustive lorsque n −k est petit : il suffit de lister tous les

mots du code dual (combinaisons linéaires des lignes de la matrice de parité du

code initial).

Une fois le polynôme énumérateur B(z) du code dual déterminé, on en

déduit immédiatement le polynôme énumérateur de poids A(z) recherché en

appliquant l’identité de Mac Williams :

qn−k A(z) = (1+ (q −1)z)nB

(1− z

1+ (q −1)z

)

La démonstration générale fait appel à des notions d’algèbre poussées. On trou-

vera dans l’exercice 7.6 une démonstration dans le cas binaire où l’identité de

Mac Williams devient :

2n−k A(z) = (1+ z)nB

(1− z

1+ z

)L’identité de Mac Williams est très utile pour déterminer A(z) pour certaines

familles de codes bien connues. Voici deux exemples dans le cas binaire :

Code à parité (n,n −1,2). C’est le dual du code à répétition (n,1,n) donc,

d’après l’exemple ci-dessus, B(z) = 1+ zn . Appliquant l’identité de Mac Williams

Page 80: 201111 Perf s System Es Codes

68 CHAPITRE 5. SYSTÈMES CODÉS EN BLOCS

on trouve immédiatement :

A(z) = 1

2[(1+ z)n + (1− z)n]

On retrouve que pour le code à parité, tous les mots de code sont de poids pair

(A2d+1 = 0) et on a A2d = C2dn , formule qu’on aurait pu établir directement.

Code de Hamming (2m −1,2m −1−m,3). C’est le dual du code simplexe de

l’exemple ci-dessus, pour lequel B(z) = 1+ (2m −1)z2m−1. En appliquant l’identité

de Mac Williams on trouve immédiatement :

A(z) = 1

2m (1+ z)n

[1+n

(1− z

1+ z

) n+12

]

= 1

2m

((1+ z)n +n(1− z)(1− z2)

n−12

)On peut vérifier qu’on a bien A0 = 1, A1 = A2 = 0 et A3 = n(n−1)

6 6= 0, d’où on

retrouve que dmin = 3.

5.1.4 Enumération de poids d’un «code moyen»*

Nous verrons au chapitre 6 que lorsque n est très grand, un code (non linéaire)

choisi «au hasard», selon une loi de probabilité uniforme sur les symboles, a des

chances d’être «bon». On utilise parfois cette règle pour estimer grossièrement

les coefficients Ad lorsque le code est très long, en les identifiant à leurs valeurs

moyennes.

L’exercice 7.10 montre que la valeur moyenne de Ad selon ce tirage aléatoire

est donné par :

E(Ad ) = Cdn (q −1)d

qn−k

Cette approximation est parfois assez bonne, comme le montre l’exemple des

codes de Reed-Solomon (n = q −1,k,n −k +1) pour lesquels (voir exercice 7.7) :

Ad = Cdn (q −1) ��

(q −1)d−1

qn−k��

où l’opérateur ��∑M

i=−N q i ��= ∑Mi=0 q i supprime les puissances négatives de q

dans un développement en série de Laurent.

Page 81: 201111 Perf s System Es Codes

5.2. PERFORMANCES SUR LE CANAL Q-SC 69

5.2 Performances sur le canal q-SC

L’étude des performances d’un code q-aire (n,k,dmin) sur le canal q-SC est

utile pour évaluer ses performances en décodage hard sur canal gaussien et canal

de Rayleigh. Le cas du canal BEC (à effacement) est traité dans l’exercice 7.16.

Dans cette section, on suppose tout d’abord que le décodage est complet,

i.e., le décodeur trouve toujours le mot de code x le plus proche (au sens de la

distance de Hamming) du mot reçu y .

5.2.1 Mot de code nul émis

Pour les codes linéaires, la détermination de la probabilité d’erreur par mot

se simplifie. En effet, dans l’expression

Pe = 1

M

∑x

Pe|x

on peut montrer que Pe|x est indépendant de x de la façon suivante. Nous savons

que :

Pe|x =∑y

p(y |x)1∃x ′ 6=x / p(y |x)6p(y |x ′)

Or, sur un canal q-SC nous avons vu que p(y |x) ne dépend que du poids de y −x.

On peut donc faire le changement de variable y ← y −x pour obtenir :

Pe|x =∑y

p(y |0)1∃x ′ 6=x / p(y |0)6p(y |x ′−x)

Puisque le code est linéaire, lorsque x ′ décrit l’ensemble des mots de code 6= x, la

différence x ′−x décrit l’ensemble des mots de code non nuls. On arrive donc à :

Pe|x =Pe|0 ∀x ∈C

et ainsi :

Pe =Pe|0

Ainsi, non seulement l’expression de la probabilité d’erreur se simplifie, mais

aussi on peut toujours supposer que c’est le mot de code nul qui a été émis. Cela

facilite grandement la détermination de Pe .

Page 82: 201111 Perf s System Es Codes

70 CHAPITRE 5. SYSTÈMES CODÉS EN BLOCS

5.2.2 Borne de l’union

Avec la simplification Pe =Pe|0, la borne de l’union s’écrit :

Pe 6∑x 6=0

P0−→x

et on a vu que la probabilité d’erreur par paire P0−→x ne dépend que de d =dH (0, x) = wH (x). On a obtenu, au chapitre 3, l’expression exacte de P0−→x sous

la forme :

P0−→x = f (d)

avec, par exemple :

f (d) =d∑

i=d d2 e

Cid p i (1−p)d−i

lorsque le code est binaire (q = 2). En regroupant les termes de même poids on

obtient donc une formule du type :

Pe 6n∑

d=dmin

Ad f (d)

Noter que cette formule est en accord avec la formule générale donnée au cha-

pitre 3, puisque Ad = Ad pour un code linéaire. Ainsi, pour un code binaire, on

a :

Pe 6n∑

d=dmin

Ad

d∑i=d d

2 eCi

d p i (1−p)d−i

On approxime souvent ces expressions par leurs équivalents lorsque p −→ 0.

En décodage hard sur canal gaussien, cela correspond à une hypothèse de fort

rapport signal à bruit. Pour le canal q-SC en général, on a vu au chapitre 3 que

f (d) ≈ Cd d

2 ed pd d

2 e d’où

Pe . Admin Cd dmin

2 edmin

pd dmin2 e.

5.2.3 Borne de l’union + Bhattacharyya

En appliquant la borne de Bhattacharyya :

P0−→x = f (d)6 ζd

où d = wH (x) et

ζ= 2√

p(1−P )+ (q −2)p

Page 83: 201111 Perf s System Es Codes

5.2. PERFORMANCES SUR LE CANAL Q-SC 71

la borne de l’union sur la probabilité d’erreur se simplifie encore :

Pe 6n∑

d=dmin

Adζd

c’est à dire :

Pe 6 A(ζ)−1

où A(z) est le polynôme énumérateur de poids du code linéaire.

5.2.4 Calcul exact*

Rappelons qu’on peut toujours effectuer, en pratique, un décodage complet

en utilisant le calcul du syndrôme, qui caractérise le coset leader 1 y − x, où x est

le mot de code le plus proche du mot reçu y . Une fois le syndrôme calculé, il

suffit de soustraire à y le coset leader correspondant pour obtenir le mot de code

le plus proche (au sens de la distance de Hamming). Cet algorithme de décodage

complet nécessite, en pratique, de précalculer et de mémoriser qn−k syndrômes

et qn−k coset leaders. Cette méthode n’est donc faisable que lorsque n−k est très

petit (typiquement n −k 6 11).

Connaissant la liste des coset leaders il est facile d’évaluer Pe =Pe|0 : C’est

la probabilité que le vecteur d’erreur e = y − x = y soit différent de tous les

coset leaders. Puisque la probabilité que e soit un coset leader de poids d est

pd (1−P )n−d , en notant αd le nombre de coset leaders de poids d , on obtient :

Pe = 1− ∑d>0

αd pd (1−P )n−d

C’est l’expression exacte de la probabilité d’erreur par mot.

En règle générale, il est difficile d’évaluer les coefficients αd pour un code

donné. Le meilleur moyen est encore de construire la liste des qn−k syndrômes et

leurs coset leaders associés, ce qui demande une complexité de calcul exponen-

tielle (∝ qn−k ). On a néanmoins un certain nombre de propriétés immédiates

1. Une traduction possible est : «chef de classe». C’est un représentant de poids minimum de

la classe d’équivalence de y (modulo le code).

Page 84: 201111 Perf s System Es Codes

72 CHAPITRE 5. SYSTÈMES CODÉS EN BLOCS

des αd :

∑d>0αd = qn−k

αd 6 (q −1)d Cdn ∀d > 0

αd = (q −1)d Cdn pour 06 d 6 bdmin−1

2 cαd = 0 pour d > ρ (rayon de recouvrement du code)

qui proviennent, respectivement, du fait que :

– Il y a au total qn−k coset leaders.

– Le nombre total de mots ∈ F nq de poids d est (q −1)d Cd

n .

– Lorsque d est inférieur ou égal à la capacité de correction du code, tous les

mots de poids d sont des coset leaders (sont «corrigibles»).

– Le rayon de recouvrement ρ est, par définition, la plus grande distance de

Hamming possible entre y et un mot de code (sa détermination est presque

aussi difficile que celle des αd ).

5.2.5 Une borne classique

Une majoration simple et utile de Pe s’obtient facilement en notant qu’un

mot y sera corrigible dès lors que dH (x, y)6 bdmin−12 c, la capacité de correction

du code. D’où :

Pe =Pe|06P r {dH (0, y) = wH (y)> ddmin

2e}

Puisque la probabilité que y soit de poids d est égale à Cdn (q −1)d pd (1−P )n−d =

Cdn P d (1−P )n−d , il vient :

Pe 6n∑

d=d dmin2 e

Cdn P d (1−P )n−d

Noter que cette borne se retrouve facilement à partir du calcul exact donné dans

la section précédente, en tenant compte deαd = (q−1)d Cdn pour 06 d 6 bdmin−1

2 cet αd > 0 sinon.

Il est important de noter que cette borne classique est exacte lorsque le code

est parfait, car alors les boules de rayon bdmin−12 c recouvrent tout l’espace F n

q (de

sorte que y est corrigible si et seulement si dH (x, y)6 bdmin−12 c). Cette remarque

ne concerne que quelques codes non triviaux (codes de Hamming et de Golay).

Page 85: 201111 Perf s System Es Codes

5.2. PERFORMANCES SUR LE CANAL Q-SC 73

5.2.6 Comparaison avec la borne de l’union*

Lorsque p −→ 0, un équivalent de la borne classique (du paragraphe précé-

dent) est donné par :

Pe .Cd dmin

2 en (q −1)d

dmin2 epd dmin

2 e.

à comparer avec ce qu’on avait obtenu par la borne de l’union :

Pe . Admin Cd dmin

2 edmin

pd dmin2 e.

Laquelle des deux bornes est la meilleure ? Il est facile de voir que les deux

bornes (ou plutôt leurs équivalents lorsque p −→ 0) sont identiques pour les

codes binaires suivants :

– Code à répétition (n,1,n) : On a An = 1 d’où Admin Cd dmin

2 edmin

= Cd n

2 en = C

d dmin2 e

n .

– Code à parité (n,n −1,2) : On a A2 = C2n d’où Admin C

d dmin2 e

dmin= C2

nC22 = C2

n =Cd dmin

2 en .

– Code de Hamming (2m − 1,2m − 1− m,3) : On a A3 = n(n−1)6 = C2

n3 d’où

Admin Cd dmin

2 edmin

= C2n

3 C23 = C2

n = Cd dmin

2 en .

– Code de Golay (23,12,7) : On a A7 = 253 d’où Admin Cd dmin

2 edmin

= 253×C47 =

C423 = C

d dmin2 e

n .

La situation est différente pour les codes simplexes où on a les résultats suivants

(Admin = n) :

Admin Cd dmin

2 edmin

Cd dmin

2 en

Simplexe (7,3,4) 42 21

(15,4,8) 1050 1365

(31,5,16) 398970 7888725

Pour les codes (q-aires) de Reed-Solomon (n = q −1,k = n −2t ,dmin = 2t +1)

corrigeant t erreurs, on a Admin = (q−1)Cdminn d’après l’exercice 7.7, d’où les valeurs

suivantes des constantes :

(q −1)ddmin

2 eCd dmin

2 en = nt+1Ct+1

n

pour la borne classique et

Admin Cd dmin

2 edmin

= nC2t+1n Ct+1

2t+1 = nCtn−t+1Ct+1

n

Page 86: 201111 Perf s System Es Codes

74 CHAPITRE 5. SYSTÈMES CODÉS EN BLOCS

pour la borne de l’union. Il en résulte que la borne de l’union est ici toujours

meilleure (asymptotiquement lorsque p −→ 0) puisque

Ctn−t+1 =

t∏i=1

n − t − i

i6

t∏i=1

n = nt .

On peut montrer, plus généralement, que si dmin est impair, disons dmin =2t +1, alors la borne de l’union est toujours meilleure (asymptotiquement lorsque

p −→ 0), c’est à dire :

Admin Cd dmin

2 edmin

= Admin Ct+1dmin6 (q −1)t+1Ct+1

n = (q −1)ddmin

2 eCd dmin

2 en

En effet, les mots de poids t +1 à distance = t d’un mot de code x donné (qui

sera forcément de poids dmin = 2t +1) s’obtiennent en annulant t composantes

de x parmi les dmin non nulles. Il y en a donc Ctdmin

= Ct+1dmin

. Au total il y a par

conséquent Admin Ct+1dmin

mots de poids t +1 situés à distance t d’un mot de code.

Mais puisque le nombre total des mots de code de poids t +1 est (q −1)t+1Ct+1n ,

on a bien Admin Ct+1dmin6 (q −1)t+1Ct+1

n .

5.2.7 Taux d’erreur résiduel

Il est souvent plus parlant d’évaluer la probabilité d’erreur par symbole (par

bit si le code est binaire) plutôt que par mot. Cette probabilité d’erreur est définie

par :

Pe/s = 1

kE(wH (I − I ))

où I et I sont les mots d’information émis et décodé, respectivement.

Il est difficile d’évaluer directement Pe/s . Le meilleur moyen serait de déter-

miner d’abord le tableau standard du code, c’est à dire le tableau de tous les mots

reçus y possibles, arrangés par classe. En supposant que le mot de code nul est

émis, on dispose alors de la liste de tous les mots y qui sont décodés en un mot

d’information donné i = i (y), et il «suffit» de dénombrer :

Pe/s = 1

k

∑i

wH (i )∑

y |i (y)=ipwH (y)(1−P )n−wH (y).

C’est évidemment une tâche extrêment fastidieuse.

Pour simplifier l’évaluation, on fait souvent l’hypothèse (plus ou moins réa-

liste selon le codeur) que les symboles erronés sont équirépartis entre symboles

Page 87: 201111 Perf s System Es Codes

5.3. PERFORMANCES EN DÉCODAGE INCOMPLET* 75

d’information et de contrôle. Sous cette hypothèse, Pe/s est égal au taux d’erreur

résiduel :

Pe/s = 1

nE(wH (X −X ))

Là encore, une évaluation précise du taux d’erreur résiduel est difficile – elle

peut s’obtenir à partir du tableau standard par une méthode similaire à celle

décrite ci-dessus – mais on peut obtenir un encadrement en remarquant qu’un

mot erroné produit, au mieux, dmin symboles erronés – d’où wH (x −x) = dmin–,

et au pire, wH (x −x) = n symboles erronés. Ainsi :

dmin

nPe 6Pe/s 6Pe

Une approximation généralement adoptée (mais discutable) est :

Pe/s ≈ dmin

nPe

Elle provient du raisonnement approximatif suivant : Avec une forte probabilité,

en cas d’erreur, x est voisin du mot de code 0 émis, donc situé à une distance

dmin de celui-ci.

Remarquons que les probabilités d’erreur par mot et par symbole sont tou-

jours du même ordre de grandeur. On peut donc dire que la comparaison des

performances de différents systèmes codés se fait aussi bien en termes de proba-

bilité d’erreur par mot Pe qu’en termes de probabilité d’erreur par symbole Pe/s .

Dans ce document on se limitera donc souvent à l’évaluation de Pe .

5.3 Performances en décodage incomplet*

5.3.1 Généralités*

Jusqu’à présent on a supposé que le décodeur était complet, c’est-à-dire

qu’il trouve toujours le mot de code x le plus proche (au sens de la distance de

Hamming) du mot reçu y . Très souvent, lorsqu’on dispose d’un algorithme de

décodage efficace, il est incomplet : il ne garantit la correction que d’un certain

nombre t d’erreurs. Autrement dit, il ne trouve le mot de code x le plus proche

du mot reçu y qu’à la condition que dH (y , x)6 t .

Noter que le paramètre t est ici défini comme la capacité de correction de

l’algorithme de décodage incomplet considéré. Il est, en général, inférieur ou

Page 88: 201111 Perf s System Es Codes

76 CHAPITRE 5. SYSTÈMES CODÉS EN BLOCS

égal à la capacité de correction du code = bdmin−12 c, qui est le maximum d’erreurs

que l’on pourrait corriger avec ce code (et un autre algorithme de décodage). Par

exemple, les algorithmes classiques de décodage d’un code BCH permettent de

corriger jusqu’à t = bdBCH−12 c erreurs, où dBCH est la distance BCH du code. Cette

dernière n’est pas toujours égale à dmin. On peut avoir dBCH < dmin comme dans

l’exemple du code de Golay binaire (23,12) où dmin = 7 et dBCH = 5.

FIG. 5.1 – Les trois régions de décodage. Sont représentées les boules de rayon t

autour des mots de code. Zone grisée : région de décodage correct (boule de rayon

t centrée sur le mot de code émis x = 0). Zone hachurée : région de décodage

incorrect (boules de rayon t centrées sur les autres mots de code). Zone blanche :

Région de non-décodage (interstices entre les boules).

Selon la position du mot reçu y par rapport aux mots de code on doit distin-

guer trois configurations possibles (cf. Fig. 5.1) :

1. Le mot reçu y est à une distance6 t du mot de code émis x (zone grisée

sur la Fig. 5.1) : dH (x, y)6 t . Dans ce cas, l’algorithme de décodage décode

correctement x. La probabilité correspondante est appelée Pc (probabilité

de décodage correct).

2. Le mot reçu y est à une distance6 t d’un autre mot de code x ′ différent

de celui émis (zone hachurée sur la Fig. 5.1) : ∃x ′ 6= x |dH (x ′, y)6 t . Dans

ce cas, l’algorithme de décodage fournit x ′ (et se trompe donc, mais n’a

Page 89: 201111 Perf s System Es Codes

5.3. PERFORMANCES EN DÉCODAGE INCOMPLET* 77

aucun moyen de savoir qu’il se trompe). La probabilité correspondante est

appelée P i (probabilité de décodage incorrect).

3. On ne se trouve dans aucun des deux cas ci-dessus. Autrement dit, le mot

reçu y est à une distance > t de tout mot de code (la zone blanche sur

la Fig. 5.1) : ∀x ′,dH (x ′, y) > t . Dans ce cas, l’algorithme de décodage est (en

général) capable de savoir qu’on est dans cette situation (en détectant plus

de t erreurs dans le mot reçu). La probabilité correspondante est appelée

Pn (probabilité de non-décodage – decoding failure en anglais).

On a bien entendu

Pc +P i +Pn = 1

de sorte qu’il suffit de déterminer deux de ces trois probabilités pour évaluer

les performances du décodeur incomplet. C’est ce qu’on va faire dans les para-

graphes suivants.

Plusieurs stratégies sont envisageables au décodeur, selon ce qu’on décide de

faire dans le cas 3) ci-dessus, c’est à dire lorsque y est trop éloigné d’un mot de

code. On les classe souvent dans deux catégories :

5.3.2 Stratégie ARQ*

La stratégie ARQ (Automatic Repeat reQuest) consiste, lorsque y est dans la

région de non-décodage, à demander la retransmission du mot de code x en le

signalant sur une voie de retour.

Noter que si t > 0, c’est une stratégie mixte «correction-détection» d’erreurs.

En effet, on corrige si y est à une distance 6 t d’un mot de code, mais on se

contente de détecter l’erreur (en demandant une retransmission) dans le cas

contraire.

Un cas extrême souvent utilisé (par exemple en téléinformatique) est le cas

t = 0 : Il correspond à une détection pure (sans correction d’erreur) ; on demande

la retransmission dès lors que y n’appartient pas au code.

En stratégie ARQ (quelque soit la valeur de t ) il n’y aura, au bout du compte,

erreur que dans le cas où y se trouve dans la région de décodage incorrect. La

probabilité d’erreur par mot est donc ici :

Pe =P i = 1−Pc −Pn

Page 90: 201111 Perf s System Es Codes

78 CHAPITRE 5. SYSTÈMES CODÉS EN BLOCS

Cette probabilité d’erreur est en général bien plus faible que pour une straté-

gie FEC (voir ci-dessous). Le prix à payer est l’utilisation d’une voie de retour et

les problèmes de délai de retransmission et de synchronisation que cela suppose.

Même en admettant, pour simplifier, que la demande de retransmission est

instantanée (sans délai) dès détection d’un mot incorrigible 2 (et se fait sans

erreur !), on aboutit évidemment à une diminution du rendement du code (donc

une perte en débit) que l’on peut quantifier : Puisqu’un mot de code est retrans-

mis avec une probabilité Pn , la probabilité qu’un mot soit transmis r fois au total

(les r −1 premières échouant et la r ème étant la bonne) est =P r−1n (1−Pn). Par

conséquent, le nombre moyen de (re)transmissions nécessaire par mot est :

E(r ) = ∑r >1

r P r−1n (1−Pn) = 1

1−Pn.

Ainsi, à un mot d’information de k symboles correspond, en moyenne, n1−Pn

symboles codés, de sorte que le rendement moyen n’est plus k/n, mais

R = (1−Pn)k

n

Le cas du canal binaire à effacement en stratégie ARQ est traité dans l’exer-

cice 7.16.

5.3.3 Stratégie FEC*

La stratégie FEC (Forward Error Correction) consiste à décoder «à tous les

coups». Le décodeur fournit systématiquement un mot x, même si y est dans la

région de «non-décodage». C’est la seule stratégie envisageable dans un système

de stockage (disques compacts digitaux par exemple) puisque les données sont

codées et stockées sur support physique une fois pour toutes. C’est aussi une

stratégie souvent utilisée en transmission de données lorsque les exigences du

temps réel interdisent toute retransmission.

La probabilité d’erreur par mot est alors :

Pe = 1−Pc =P i +Pn

Elle est plus élevée que dans le cas d’une stratégie ARQ mais permet une plus

grande simplicité du système et un temps d’occupation du canal moindre.

2. delayless noiseless feedback en anglais

Page 91: 201111 Perf s System Es Codes

5.3. PERFORMANCES EN DÉCODAGE INCOMPLET* 79

5.3.4 Calcul exact de Pc (en FEC)*

Le calcul exact de Pc (qui donne la probabilité d’erreur 1−Pc en FEC) est

très simple. En supposant, comme d’habitude, que le mot de code nul 0 est émis,

il y a décodage correct lorsque wH (y)6 t , d’où :

Pc =t∑

d=0Cd

n (q −1)d pd (1−P )n−d =t∑

d=0Cd

n P d (1−P )n−d

On obtient donc en stratégie FEC :

Pe = 1−Pc =n∑

d=t+1Cd

n P d (1−P )n−d

d’où un équivalent lorsque p −→ 0 :

Pe ≈ Ct+1n (q −1)t+1p t+1.

En stratégie FEC il est plus intéressant d’évaluer la probabilité d’erreur par sym-

bole (taux d’erreur résiduelle). Ceci est fait en section 5.3.7.

5.3.5 Calcul exact de P i (en ARQ)*

Le calcul exact de P i (qui donne la probabilité d’erreur en ARQ) est plus

compliqué mais reste tractable. En supposant, comme d’habitude, que le mot de

code nul 0 est émis, on peut décomposer :

P i =∑

x 6=OP i (x)

où P i (x) est la probabilité que y se trouve à une distance 6 t du mot de code

(non nul) x, qu’on peut à nouveau décomposer en :

P i (x) =t∑

τ=0P i (x,τ)

où P i (x,τ) est la probabilité que y se trouve à une distance égale à τ du mot de

code x. Cette dernière probabilité s’évalue facilement. On a :

P i (x,τ) =n∑

w=0pw (1−P )n−w N (w,τ, x)

où N (w,τ, x) est le nombre de mots y ∈ F nq de poids w situés à une distance τ du

mot de code x. Il ne reste plus qu’à le calculer en dénombrant :

Page 92: 201111 Perf s System Es Codes

80 CHAPITRE 5. SYSTÈMES CODÉS EN BLOCS

1. Le nombre a des positions i correspondant à un symbole nul de x (xi = 0) –

parmi n −wH (x) – pour lesquels le symbole correspondant de y est non

nul (yi 6= 0). Pour un tel nombre a donné, il y a (q −1)aCan−wH (x) choix pour

ces (i , yi ).

2. Le nombre b des positions i correspondant à un symbole non nul de x

(xi 6= 0) – parmi wH (x) – pour lesquels le symbole correspondant de y est

non nul et différent de xi . Pour un tel nombre b donné, il y a (q −2)bCbwH (x)

choix pour ces (i , yi ). Noter que b = 0 en binaire (q = 2).

3. Le nombre c des positions i correspondant à un symbole non nul de x (xi 6=0) – parmi les wH (x)−b restants – pour lesquels le symbole correspondant

de y est nul (yi = 0). Pour un tel nombre c donné, il y a CcwH (x)−b choix pour

ces (i , yi ).

4. Les n − (a +b + c) positions i restantes sont telles que yi = xi .

Puisqu’au total on doit avoir a +b + c = dH (x, y) = τwH (x)+a − c = wH (y) = w

on obtient :

N (w,τ, x) = ∑a,b,c

a+b+c=τa+wH (x)=c+w

(q −1)a(q −2)bCan−wH (x)Cb

wH (x)CcwH (x)−b .

Deux remarques utiles : N (w,τ, x) ne dépend que du poids de x, il sera doréna-

vant noté N (w,τ, wH (x)). Par ailleurs, d’après la définition de N (w,τ, wH (x)), on

doit avoir N (w,τ, wH (x)) = 0 dès lors que w < w(x)−τ ou w > w(x)+τ. C’est

effectivement le cas avec la formule obtenue, puisque la contrainte sous le signe

somme donne d’une part w = a +wH (x)− c = wH (x)+2a +b −τ>wH (x)−τ et

d’autre part w = a +wH (x)− c = wH (x)−2c −b +τ6wH (x)+τ.

On obtient donc finalement, en regroupant les différentes équations obte-

nues :

P i =∑x 6=0

t∑τ=0

wH (x)+τ∑w=wH (x)−τ

pw (1−P )n−w N (w,τ, x)

d’où, en regroupant les mots de code x 6= 0 suivant leurs poids d = wH (x) :

P i =n∑

d=dmin

t∑τ=0

d+τ∑w=d−τ

pw (1−P )n−w Ad N (w,τ,d)

Page 93: 201111 Perf s System Es Codes

5.3. PERFORMANCES EN DÉCODAGE INCOMPLET* 81

où les Ad sont les coefficients énumérateurs des poids du code et où :

N (w,τ,d) = ∑a,b,c

a+b+c=τa+d=c+w

(q −1)a(q −2)bCan−d Cb

d Ccd−b .

Dans le cas binaire (q = 2), la formule donnant N (w,τ,d) se simplifie car

nécessairement b = 0, d’où

N (w,τ,d) = ∑a,c

a+c=τa+d=c+w

Can−d Cc

d =

Cτ+w−d

2

n−d Cτ−w+d

2

d si τ+w +d est pair,

0 sinon.

Que ce soit en binaire ou en q-aire, on approxime souvent, en stratégie ARQ,

Pe =P i par son équivalent lorsque p −→ 0. Rappelons qu’en décodage hard sur

canal gaussien, cela correspond à une hypothèse de fort rapport signal à bruit. Ici

on obtient facilement, lorsque p −→ 0,

Pe ≈ pdmin−t Admin N (dmin − t , t ,dmin)

La quantité N (dmin − t , t ,dmin) se détermine aisément en notant que, avec les

contraintes sur a,b,c, on a nécessairement a = b = 0 et c = t d’où N (dmin −t , t ,dmin) = Ct

dminet

Pe ≈ Admin Ctdmin

pdmin−t

Noter qu’ici, en ARQ, la puissance dominante de p est dmin − t alors qu’elle

était égale à t +1 en FEC. Puisqu’en général t 6 bdmin−12 c, on a t +16 dmin − t et

le gain sur la probabilité d’erreur est plus important en ARQ qu’en FEC, comme

on s’y attendait.

Noter encore que ce gain augmente avec t en FEC (on a intérêt à corriger le

plus d’erreurs possibles), alors qu’au contraire il diminue en ARQ : du seul point

de vue de Pe , on a intérêt à corriger le moins d’erreurs possibles – et donc à en

détecter le plus possible. Le prix à payer, comme on l’a vu, est une diminution du

rendement moyen du code.

5.3.6 Cas de la détection pure*

On a vu que le code est utilisé en détection pure d’erreurs lorsque t = 0 en

stratégie ARQ. Autrement dit, tout mot reçu y n’appartenant pas au code est

rejeté (on demande la retransmission du mot de code).

Page 94: 201111 Perf s System Es Codes

82 CHAPITRE 5. SYSTÈMES CODÉS EN BLOCS

Dans ces conditions, la probabilité d’erreur par mot est égale à la probabi-

lité que y soit un mot de code différent de celui qui a été émis. On a donc, en

supposant, comme d’habitude, que le mot de code nul est émis :

Pe =∑x 6=0

pwH (x)(1−P )n−wH (x),

d’où, en regroupant les mots de code x suivant leur poids d = wH (x) :

Pe =n∑

d=dmin

Ad pd (1−P )n−d

où les Ad sont les coefficients énumérateurs des poids du code. On retrouve évi-

demment cette expression comme cas particulier de la formule générale donnée

à la section précédente en notant que N (w,0,d) vaut 1 si w = d et vaut 0 sinon.

Lorsque p est très faible (asymptotiquement p −→ 0), on obtient :

Pe ≈ Admin pdmin .

5.3.7 Taux d’erreur résiduel en FEC*

En utilisant les mêmes outils que pour le calcul de P i on peut calculer le taux

d’erreur résiduel :

Pe/s = 1

nE(wH (X −X ))

obtenu en stratégie FEC. A cette occasion, il faut préciser quelle est la stratégie

adoptée lorsque le mot reçu y se trouve dans la région de non-décodage :

Une possibilité serait de fournir un mot de code x coûte que coûte, provenant

éventuellement de l’algorithme de décodage utilisé, mais sans garantie qu’il

s’agisse du mot de code le plus proche de y . Il se peut fort, dans ces conditions,

que le décodeur, en fournissant un mot de code x, produise encore plus d’erreurs-

symbole que ceux introduits par le canal (dH (x, y) > dH (x, y)).

Une stratégie plus «raisonnable», qui est souvent adoptée, consiste, pour le

décodeur, à laisser y en l’état lorsque celui-ci se trouve dans la région de non-

décodage. En d’autres termes, la sortie du décodeur est alors égale à son entrée, et,

bien que le mot décodé x = y n’appartienne pas au code, tout au moins garantit-

on que le décodeur n’empire pas la situation (n’augmente pas le taux d’erreur par

symbole). On adopte ici cette stratégie pour le calcul du taux d’erreur résiduel.

Page 95: 201111 Perf s System Es Codes

5.3. PERFORMANCES EN DÉCODAGE INCOMPLET* 83

En se ramenant au cas où le mot de code nul est émis on peut écrire :

Pe/s =Pe/s|0 = 1

n

∑y

pwH (y)(1−P )n−wH (y)wH (x).

Suivant la région de décodage atteinte par y on a :

1. wH (x) = 0 lorsque le décodage est correct (c’est à dire wH (y)6 t). Cette

situation ne contribue évidemment pas au calcul du taux d’erreur.

2. wH (x) = d lorsque y se trouve en région de décodage incorrect, à une

distance6 t autour du mot de code x de poids d . D’après la section 5.3.5

le nombre de mots y de poids w concernés est égal à∑tτ=0 N (w,τ,d).

3. wH (x) = w lorsque y (de poids w > t) se trouve dans la région de non-

décodage, et est laissé en l’état par le décodeur. D’après la section 5.3.5 le

nombre de mots y de poids w concernés est égal à

(q −1)w Cwn −

n∑d=dmin

Ad

t∑τ=0

N (w,τ,d).

car il y a, au total, (q−1)w Cwn mots de poids w et

∑nd=dmin

Ad∑tτ=0 N (w,τ,d)

mots (de poids w > t ) en région de décodage incorrect.

On obtient donc, en regroupant les mots y suivant leur poids et la région à

laquelle ils appartiennent :

Pe/s = 1

n

∑w>t

pw (1−P )n−w×[n∑

d=dmin

d Ad

t∑τ=0

N (w,τ,d) + w((q −1)w Cw

n −n∑

d=dmin

Ad

t∑τ=0

N (w,τ,d))]

,

d’où finalement :

Pe/s =∑

w>tpw (1−P )n−w

[w

n(q −1)w Cw

n +n∑

d=dmin

d −w

nAd

t∑τ=0

N (w,τ,d)

].

Il est possible d’expliciter deux équivalents différents du taux d’erreur rési-

duel quand p −→ 0 (fort rapport signal à bruit en décodage hard). [Rappelons

que la probabilité d’erreur par mot vaut, en FEC, Pe ≈ (q −1)t+1Ct+1n p t+1 asymp-

totiquement lorsque p −→ 0.]

Page 96: 201111 Perf s System Es Codes

84 CHAPITRE 5. SYSTÈMES CODÉS EN BLOCS

Tout d’abord, si l’algorithme de décodage exploite totalement la capacité de

correction du code, c’est à dire si dmin = 2t +1, il est facile de voir (sachant que

N (t +1, t ,2t +1) = Ct2t+1, cf. section 5.3.5) que

Pe/s ≈[

t +1

n(q −1)t+1Ct+1

n + t

nAdmin Ct

dmin

]p t+1

D’après la section 5.2.6, on a (puisque dmin = 2t +1) : Admin Ctdmin6 (q −1)t+1Ct+1

n ,

d’où la majoration :

Pe/s .dmin

n(q −1)t+1Ct+1

n p t+1 ≈ dmin

nPe

On aurait pu obtenir le même résultat autrement, en faisant l’hypothèse (pessi-

miste) que, lorsque le décodage n’est pas correct, le mot décodé x contient, au

pire, t erreurs de plus que y : wH (x)6wH (y)+ t , d’où la majoration :

Pe/s 6∑

w>t

w + t

nCw

n (q −1)w pw (1−P )n−w .

qui donne la même borne lorsque p −→ 0.

L’autre cas correspond à dmin > 2t+1 (l’algorithme de décodage n’exploite pas

totalement la capacité de correction du code). Il est alors facile de voir (sachant

que N (w = t +1,τ,dmin) = 0 puisque t +1 < dmin − t , cf. section 5.3.5) que l’on a,

asymptotiquement lorsque p −→ 0,

Pe/s ≈ t +1

n(q −1)t+1Ct+1

n p t+1 ≈ t +1

nPe

En résumé, on a obtenu, pour le taux d’erreur résiduel, une approximation

du type :

Pe/s ≈ τ

nPe

où τ varie entre t +1 et dmin, suivant le type de décodage et de code utilisé. En

comparant avec la section 5.2.7, où on avait toujours Pe/s >dmin

n Pe en décodage

complet, on s’apercoît qu’une stratégie FEC en décodage incomplet peut s’avérer

être plus performante. Ceci grâce au fait que le décodeur laisse le mot reçu en

l’état lorsqu’il est trop éloigné d’un mot de code.

5.4 Décodage hard et soft sur le canal gaussien (cas binaire)

On limitera ici l’étude aux codes binaires avec une modulation BPSK sur

canal gaussien (le cas du canal de Rayleigh est traité dans l’exercice 7.8).

Page 97: 201111 Perf s System Es Codes

5.4. DÉCODAGE HARD ET SOFT 85

Le cas des codes q-aires est beaucoup plus compliqué, surtout en décodage

soft (où ce qui est développé ici dans le cas binaire ne se généralise pas). L’utilisa-

tion de codes q-aires fait appel à la notion de modulation codée et déborde du

cadre de ce cours.

Rappelons que la modulation BPSK associe à chaque symbole binaire x = 0

ou 1 un symbole x de la constellation BPSK. Par exemple, si le canal gaussien est

réel : x = 0 7−→ x =+pEm

x = 1 7−→ x =−pEm

Dans la suite on suppose le canal réel, mais les calculs sont évidemment ana-

logues et donnent des résultats identiques pour un canal complexe.

Noter que Em est l’énergie moyenne par bit codé (composante d’un mot de

code C ). Pour le calcul des performances du système, il faut ramener cette énergie

à l’énergie par bit d’information Eb . Puisque k bits d’information correspondent

à n bits codés, on a kEb = nEm d’où :

Em = REb

où R = kn est le rendement du code.

5.4.1 Mode de code nul émis

En général, on a affaire à un canal symétrique, c’est à dire :

p(y |x =√

Em) = p(−y |x =−√

Em)

Ceci est valable en particulier pour le canal gaussien et le canal de Rayleigh

(cf. formules donnant p(y |x)). Avec cette seule hypothèse, on va simplifier la

détermination de la probabilité d’erreur de la même manière que dans le cas du

canal q-SC traité ci-dessus.

On peut en effet montrer que, pour tout x ∈ C , Pe|x = Pe|0 de la manière

suivante. Par définition :

Pe|x =∫

y1

· · ·∫

yn

∏i

p(yi |xi ) 1{∃x ′=(x ′1,...,x ′

n ) | ∏i p(yi |x ′i )>

∏i p(yi |xi )}d y1 · · ·d yn

Effectuons le changement de variable : y ′i = yi si xi =+pEm , i.e., xi = 0

y ′i =−yi si xi =−pEm , i.e., xi = 1

Page 98: 201111 Perf s System Es Codes

86 CHAPITRE 5. SYSTÈMES CODÉS EN BLOCS

Alors, puisque p(yi |xi ) = p(y ′i |p

Em) dans les deux cas (grâce à la symétrie du

canal), et puisque p(yi |x ′i ) = p(y ′

i |x ′i −xi ) on obtient :

Pe|x =∫

y ′1

· · ·∫

y ′n

∏i

p(y ′i |√

Em) 1{∃x ′ | ∏i p(y ′i |x ′

i−xi )>∏

i p(y ′i |p

Em )}d y1 · · ·d yn

Cette dernière expression se réduit à :

Pe|x =∫

y ′p(y ′|0)1{∃x ′−x∈C |p(y ′|x ′−x)>p(y ′|0)}d y ′

Enfin, puisque le code est linéaire, lorsque x ′ décrit l’ensemble des mots de code

6= x, la différence x ′−x décrit l’ensemble des mots de code non nuls. On arrive

donc à :

Pe|x =Pe|0 ∀x ∈C

et ainsi :

Pe =Pe|0

Ainsi, non seulement l’expression de la probabilité d’erreur se simplifie, mais

aussi on peut toujours supposer que c’est le mot de code nul qui a été émis. Cela

facilite grandement la détermination de Pe .

5.4.2 Lien entre distances euclidienne et de Hamming

Pour un code binaire il existe un lien remarquable très simple entre distance

de Hamming dH (x, x ′) et distance euclidienne des mots correspondants : d(x, x ′).

En effet :

d 2(x, x ′) = ||x − x ′||2 =∑i

(xi − x ′i )2

On remarque que :

(xi − x ′i )2 =

0 si xi = x ′i

(2p

Em)2 = 4Em sinon

et on obtient donc que les deux distances sont proportionnelles :

d 2(x, x ′) = 4EmdH (x, x ′)

Ainsi, que se soit en décodage hard ou soft, les bornes dur la probabilité d’erreur

vont dépendre uniquement des distances de Hamming entre mots de code.

Page 99: 201111 Perf s System Es Codes

5.4. DÉCODAGE HARD ET SOFT 87

5.4.3 Borne de l’union

En décodage hard, nous savons que le canal discret équivalent est un BSC de

paramètre p donné par la probabilité d’erreur par bit de la modulation BPSK :

p =Q

(√2Em

N0

)=Q

(√R

2Eb

N0

)Ainsi, d’après ci-dessus, la borne de l’union conduit à l’expression (pour un code

binaire) :

Pe 6n∑

d=dmin

Ad

d∑i=d d

2 eCi

d p i (1−p)d−i

En décodage soft, nous savons que la probabilité d’erreur par paire s’écrit :

P0−→x =Q

(d(0, x)p

2N0

)=Q

(√2Em

N0wH (x)

)La dernière égalité tient compte de la relation vue entre distance de Hamming et

distance euclidienne. La borne de l’union devient donc :

Pe =Pe|06∑x 6=0

Q

(√2Em

N0wH (x)

)

d’où, en regroupant les termes de même poids :

Pe 6n∑

d=dmin

Ad Q

(√2Em

N0d

)

5.4.4 Borne de l’union + Bhattacharyya

En décodage hard, la borne de l’union+Bhattacharyya est la même que pour

le canal BSC avec p =Q(√

2EmN0

), soit Pe 6 A(ζ)−1, où ζ= 2

√p(1−p).

Etonnamment, la borne de l’union + Bhattacharyya pour le décodage soft

prend une forme similaire. En effet, la borne de Bhattacharyya sur la probabilité

d’erreur par paire est :

P0−→x 6 e−1

4N0d 2(0,x) = (

e−Em /N0)wH (x)

à cause du lien entre distance euclidienne et distance de Hamming. On obtient

donc :

Pe 6n∑

d=dmin

Ad(e−Em /N0

)d

Page 100: 201111 Perf s System Es Codes

88 CHAPITRE 5. SYSTÈMES CODÉS EN BLOCS

Cette borne est encore de la forme A(ζ)−1, avec cette fois-ci ζ= e−Em /N0 .

En résumé, la borne de l’union + Bhattacharyya s’écrit, en décodage hard

comme en décodage soft :

Pe 6 A(ζ)−1

où :

ζ= 2

√p(1−p) où p =Q

(√2EmN0

)en décodage hard

e−Em /N0 en décodage soft

5.4.5 Taux d’erreur résiduel

Ce qui a été dit en section 5.2.7 pour la probabilité d’erreur par symbole et le

taux d’erreur résiduel reste évidemment valable ici, que ce soit en décodage hard

ou en décodage soft pour des codes binaires (à cause de l’identification vue entre

distances de Hamming et euclidienne). On a donc toujours l’approximation :

Pe/s ≈ dmin

nPe

5.4.6 Gain asymptotique en fort rapport signal à bruit

Maintenant que nous savons évaluer les performances de systèmes codés en

blocs en décodage hard et soft, il est utile de préciser le gain obtenu par rapport à

un système non codé, en fonction des paramètres du code choisi.

Nous évaluons ici le gain en rapport signal à bruit d’un code binaire par

rapport au cas non codé, c’est à dire au cas d’un modulation BPSK simple, pour

laquelle Pe =Q(√

2EbN0

). Nous cherchons donc une évaluation de la probabilité

d’erreur après codage de la forme Q(√

g 2EbN0

); le gain en rapport signal à bruit

sera alors égal à g , soit 10log10(g ) dB.

On se place dans un premier temps dans l’hypothèse d’un fort rapport signal

à bruit. Dans les évaluations des probabilités d’erreur données ci-dessus, seul le

premier terme (pour d = dmin) domine.

En décodage hard, la borne de l’union nous donne, en fort rapport signal à

bruit :

Pe . Admin Cd dmin

2 edmin

pd dmin2 e

où :

p =Q

(√R

2Eb

N0

)

Page 101: 201111 Perf s System Es Codes

5.4. DÉCODAGE HARD ET SOFT 89

Pour obtenir un gain en rapport signal à bruit, on utilise l’approximation suivante,

valable en fort rapport signal à bruit (cf. exercice 7.1 sur la fonction de Marcum) :

Q(p

2x) ≈ e−x

de sorte que la borne sur Pe devient :

Pe . c pd dmin2 e ≈ c e−Rd dmin

2 e EbN0

où c est un constante. Toujours avec l’approximation Q(p

2x) ≈ e−x , on peut

mettre cette borne sous la forme :

Pe . c Q

(√2Eb

N0Rddmin

2e)

On obtient donc un gain asymptotique de

ghard = 10log10(Rddmin

2e) dB

En décodage soft, la borne de l’union nous donne, en fort rapport signal à

bruit :

Pe . AdminQ

(√2Eb

N0Rdmin

)On obtient donc un gain asymptotique de

gsoft = 10log10(Rdmin) dB

En comparant ghard à gsoft, on s’appercoit que, grosso modo, le décodage soft

apporte (asymptotiquement) 3dB de plus que le décodage hard pour le même

code. La Table 5.1 donne quelques valeurs numériques.

Bien entendu, il faut relativiser ce résultat : il n’est valable qu’en très fort

rapport signal à bruit, pour des probabilités d’erreur très faibles. Pour d’autres va-

leurs de Pe , la différence peut être moindre. De plus, ce gain ne tient pas compte

de la valeur de la constante c ∝ Admin qui peut être très variable – pour un gain

asymptotique similaire – d’un code à l’autre et donc jouer un rôle significatif.

Enfin, il faut également, en pratique, prendre en compte la complexité de l’algo-

rithme de décodage pour un code donné. Celle-ci est en général bien plus élevée

pour un décodage soft que pour un décodage hard.

Page 102: 201111 Perf s System Es Codes

90 CHAPITRE 5. SYSTÈMES CODÉS EN BLOCS

(n,k,dmin) Gain hard Gain soft (n,k,dmin) Gain hard Gain soft

(7,4,3) 0.58 dB 2.34 dB (127,120,3) 2.76 dB 4.52 dB

(7,1,7) -2.43 dB 0.00 dB (127,113,5) 4.26 dB 6.48 dB

(15,11,3) 1.66 dB 3.42 dB (127,106,7) 5.24 dB 7.67 dB

(15,7,5) 1.46 dB 3.68 dB (127,99,9) 5.91 dB 8.46 dB

(15,5,7) 1.25 dB 3.68 dB (127,92,11) 6.38 dB 9.01 dB

(15,1,15) -2.73 dB 0.00 dB (127,85,13) 6.71 dB 9.40 dB

(31,26,3) 2.25 dB 4.01 dB (127,78,15) 6.91 dB 9.64 dB

(31,21,5) 3.08 dB 5.30 dB (127,71,19) 7.47 dB 10.26 dB

(31,16,7) 3.15 dB 5.58 dB (127,64,21) 7.44 dB 10.25 dB

(31,11,11) 3.28 dB 5.91 dB (127,57,23) 7.31 dB 10.14 dB

(31,6,15) 1.90 dB 4.63 dB (127,50,27) 7.41 dB 10.27 dB

(31,1,31) -2.87 dB 0.00 dB (127,43,29) 7.06 dB 9.92 dB

(63,57,3) 2.58 dB 4.34 dB (127,36,31) 6.57 dB 9.44 dB

(63,51,5) 3.85 dB 6.07 dB (127,29,43) 7.01 dB 9.92 dB

(63,45,7) 4.56 dB 6.99 dB (127,22,47) 6.19 dB 9.11 dB

(63,39,9) 4.91 dB 7.46 dB (127,15,55) 5.19 dB 8.13 dB

(63,36,11) 5.35 dB 7.98 dB (127,8,63) 3.04 dB 5.99 dB

(63,30,13) 5.23 dB 7.92 dB (127,1,127) -2.98 dB 0.00 dB

(63,24,15) 4.84 dB 7.57 dB (255,247,3) 2.87 dB 4.63 dB

(63,18,21) 4.97 dB 7.78 dB (255,239,5) 4.49 dB 6.71 dB

(63,16,23) 4.84 dB 7.67 dB (255,231,7) 5.59 dB 8.02 dB

(63,10,27) 3.47 dB 6.32 dB (255,223,9) 6.41 dB 8.96 dB

(63,7,31) 2.50 dB 5.37 dB (255,215,11) 7.04 dB 9.67 dB

(63,1,63) -2.94 dB 0.00 dB (255,207,13) 7.55 dB 10.23 dB

TAB. 5.1 – Gains hard et soft, asymptotiques en fort rapport signal à bruit, sur

canal gaussien, de quelques codes BCH binaires primitifs. Les codes pour lesquels

dmin = 3 sont des codes de Hamming, ceux pour lesquels k = 1 sont des codes à

répétition. On constate de ces derniers n’apportent aucun gain sur canal gaussien.

Page 103: 201111 Perf s System Es Codes

5.4. DÉCODAGE HARD ET SOFT 91

5.4.7 Gain asymptotique en faible rendement

On peut également obtenir un gain en rapport signal à bruit à faible ren-

dement. Ce gain est calculé sous l’hypothèse que R << 1, ce qui n’est a priori

valable que pour des codes particuliers (codes simplexes de grande longueur, par

exemple). Par contre, elle permet de s’affranchir de l’hypothèse de fort rapport

signal à bruit.

Partons de la borne de l’union+Bhattacharyya :

Pe 6 A(ζ)−1

En décodage hard, on a ζ= 2√

p(1−p) avec

p =Q

(√R

2Eb

N0

)≈ 1

2−

√1

π

Eb

N0R

Cette dernière approximation est valable pour R très faible (voir exercice 7.1 sur

la fonction de Marcum). On obtient donc :

ζ=√4p(1−p) ≈

√1− 4R

π

Eb

N0

que l’on peut approximer au premier ordre par

ζ≈ e−2π

REbN0

Ceci est à comparer au cas du décodage soft, pour lequel ζ= e−REbN0 .

On obtient donc cette fois ci un gain en décodage hard de

ghard = 10log10(2

πRdmin) dB

La perte du décodage hard par rapport au décodage soft n’est plus que de :

10log10(π/2) ≈ 2 dB

au lieu de 3 dB en fort rapport signal à bruit. Incidemment ces 2 dB correspondent

à la perte “optimale” à la limite de Shannon (voir chapitre 6).

Page 104: 201111 Perf s System Es Codes

92 CHAPITRE 5. SYSTÈMES CODÉS EN BLOCS

Page 105: 201111 Perf s System Es Codes

Chapitre 6

Performances asymptotiques

optimales d’un système codé en

blocs

6.1 Motivation

Dans les chapitres précédents, on a tenté d’évaluer plus ou moins précisé-

ment la probabilité d’erreur Pe d’un système codé, lorsqu’on utilise un code bien

choisi. Nous avons vu qu’une évaluation précise de Pe est difficile.

Qui plus est, nous avons très peu d’indications sur ce qui rend un code «bon»

sur tel ou tel canal (si ce n’est la valeur de quantités comme kn dmin). Nous avons

encore moins d’indications concernant les performances, pour un rendement et

une longueur donnés, du «meilleur code». D’où une série de questions légitimes :

– Peut-on trouver des «bons» codes et par quoi se caractérisent-ils ?

– Sont-ils rares ?

– Quelles performances optimales peut-on atteindre sur un canal donné ?

Dans ce chapitre on va tenter de répondre à ces questions par un argument

«d’ensemble», qu’on désigne souvent par le terme «codage aléatoire». On se

limitera ici au cas du codage en blocs, le cas des codes convolutifs pouvant être

traité de manière analogue.

93

Page 106: 201111 Perf s System Es Codes

94 CHAPITRE 6. PERFORMANCES OPTIMALES D’UN CODE

6.2 Taux du code

Rappelons qu’en général, un code en blocs [M ,n] est un ensemble de mots de

codes x = (x1, x2, . . . , xn) :

C = {x1, x2, . . . , xM }

Les paramètres M (taille du code) et n (dimension ou longueur des mots de code)

permettent de définir en général le taux du code :

R = log2 M

nbits/symbole

C’est le nombre moyen de bits d’information transmis par symbole codé envoyé

sur le canal. Par exemple, pour un code linéaire binaire (n,k), on a M = 2k de

sorte que R = kn est le rendement du code. Dans le cas d’un code q-aire, il y a une

différence entre rendement kn et taux puisque R = k

n log2 q . Ce paramètre R est

très important puisqu’il traduit un facteur de perte en débit dù à la redondance

introduite par le codage.

Pour le problème du codage canal on a donc plusieurs paramètres à envisa-

ger :

– taille M , longueur n, et taux R.

– probabilité d’erreur globale du système Pe .

– paramètres du canal (p pour un canal q-SC, rapport signal à bruit Em/N0

pour un canal gaussien).

L’objectif est, bien sûr, pour un canal donné, de minimiser Pe , pour un taux R le

plus grand possible.

6.3 Technique du «codage aléatoire»

6.3.1 Loi de probabilité sur les codes

Plutôt que d’évaluer la probabilité d’erreur Pe (C ) pour un code C donné,

on va évaluer la probabilité d’erreur moyennée sur tous les codes [M ,n] possibles.

Pour cela, on introduit une loi de probabilité p(C ) sur les codes C de taille M et

de longueur n, et on va calculer

E(Pe ) =∑∫C

p(C )Pe (C )

Page 107: 201111 Perf s System Es Codes

6.3. TECHNIQUE DU «CODAGE ALÉATOIRE» 95

Tout ce passe donc comme si on calculait les performances moyennes d’un

système codé où le code serait choisi au hasard selon la loi p(C ), d’où le nom

donné à cette technique : «codage aléatoire».

Il ne faut pas se laisser abuser par le terme «codage aléatoire». En pratique

le code est fixe, et est choisi une fois pour toutes. La loi de probabilité p(C ) est

totalement artificielle. Elle n’est introduite que pour moyenner la probabilité

d’erreur de sorte que E(Pe ), moyennée sur l’ensemble des codes, est plus facile à

évaluer que Pe pour un code donné.

Noter que l’on aurait pu simplement évaluer la moyenne arithmétique des

probabilités d’erreur sur tous les codes ; pour un code binaire, cela correspond

au choix p(C ) = 12nM . Ici, on a préféré introduire un p(C ) plus général pour plus

de flexibilité.

6.3.2 Loi de probabilité sur les mots de code

Afin que E(Pe ) soit facile à évaluer on choisit p(C ) de la forme :

p(C ) =M∏

m=1p(xm)

Tout ce passe donc comme si les M mots de code étaient tirés au hasard de

manière indépendante avec la même loi p(x).

Les notations sont ici un peu confuses ; il ne faut pas confondre p(x), loi de

probabilité artificielle introduite sur chacun des mots de codes x = xm , et ce

qu’on a déjà noté p(x), la loi de probabilité d’un mot de code à l’entrée du canal.

En effet, la loi de probabilité d’entrée du canal p(x) se définit pour un code

donné C , comme la loi d’un mot de code x ∈C . On a fait l’hypothèse, en général

dans ce document, que les mots de code sont équiprobables : p(x) = 1M . Pour ne

pas alourdir les notations, on ne fera plus référence directement à cette loi p(x)

dans la suite.

Par contre, la loi de probabilité artificielle p(x) porte sur un vecteur x = xm

de dimension n quelconque. Pour un canal continu réel, xm ∈ Rn et p(xm) est

une densité de probabilité. Pour un canal discret, avec des symboles ∈ Fq par

exemple, xm ∈ (Fq )n et p(xm) est une loi de probabilité discrète.

Page 108: 201111 Perf s System Es Codes

96 CHAPITRE 6. PERFORMANCES OPTIMALES D’UN CODE

6.3.3 Loi de probabilité sur les symboles codés

Rappelons que tous les canaux envisagés dans ce document sont sans mé-

moire, c’est à dire qu’ils «perturbent» les mots de code indépendamment symbole

par symbole. On a vu que cela correspond mathématiquement à l’équation :

p(y |x) =n∏

i=1p(yi |xi )

Afin de terminer le calcul de E(Pe ) pour un canal sans mémoire, on choisira

de prendre la loi de probabilité artificielle p(x) sous la forme :

p(x) =n∏

i=1p(xi )

Tout ce passe donc comme si on tirait les composantes des mots de code au

hasard selon la même loi p(x). Là encore, il ne faut pas confondre cette loi p(x)

avec la loi d’un symbole x = xi d’un mot de code x d’un code donné à l’entrée du

canal.

6.3.4 Remarque pour les canaux continus

Nous avons défini, pour le canal gaussien réel par exemple, l’énergie moyenne

par symbole Em comme la moyenne de 1n ‖x‖2 sur la loi de probabilité des mots

de codes à l’entrée du canal. Puisque que l’on suppose que les mots de codes sont

équiprobables, cela signifie qu’on doit avoir, pour tout code C = {x1, . . . , xM },

1

nM

M∑m=1

‖xm‖2 = Em

Il faudrait donc, dans ce qui va suivre, tenir compte de cette contrainte pour

les canaux continus – ceci est possible, mais alourdit les calculs. On préférera

ici imposer une condition nécessaire correspondante sur la loi de probabilité

artificielle p(x) :

En effet, cette loi doit être telle que la contrainte sur Em soit satisfaite en

moyenne sur p(x), c’est à dire :

Em = E

(1

nM

M∑m=1

‖xm‖2

)

Page 109: 201111 Perf s System Es Codes

6.4. CALCUL DE LA PROBABILITÉ D’ERREUR MOYENNE 97

où l’espérance porte sur p(x). Avec les choix faits ci-dessus sur p(x), cela nous

donne la contrainte suivante de variance :

Em = 1

nE‖x‖2 = E(x2).

Ainsi, pour un canal continu, le choix de p(x) sera fait, dans la suite, de telle sorte

que E(x2) = ∫x2p(x)d x = Em .

6.3.5 Performance du «meilleur code»

Nous avons déjà mentionné un intérêt de la technique du codage aléatoire :

E(Pe ) est beaucoup plus simple à évaluer que Pe pour un code donné (voir

prochaine section). Mais cela serait insuffisant si on ne peut pas déduire du

calcul de E(Pe ) une indication sur les performances d’un code donné.

En fait, l’autre grand intérêt du codage aléatoire est le fait suivant, qui permet

de borner la probabilité d’erreur du meilleur code [M ,n] à partir d’une borne sur

E(Pe ) :

Si E(Pe ) < ε, alors il existe un code (le «meilleur», par exemple) pour

lequel Pe < ε.

En effet, si ce n’était pas le cas, on aurait, pour tous les codes C , Pe (C ) > ε.

Mais cela impliquerait E(Pe ) = ∑∫C

p(C )Pe (C ) > ε, ce qui est impossible par

hypothèse.

Ainsi, la technique du codage aléatoire pourra nous fournir des renseigne-

ments sur la performance optimale d’un système codé, pour le «meilleur» code.

6.4 Calcul de la probabilité d’erreur moyenne

Nous partons de la borne de Gallager sur la probabilité d’erreur sachant que

x = xm a été émis :

Pe|xm6

∑∫y

p(y |xm)1

1+µ

( ∑m′ 6=m

p(y |xm′)1

1+µ

Rappelons que cette borne est valable pour tout µ> 0, et se réduit à la borne de

l’union+Bhattacharyya lorsque µ= 1.

Page 110: 201111 Perf s System Es Codes

98 CHAPITRE 6. PERFORMANCES OPTIMALES D’UN CODE

On moyenne maintenant sur la loi de probabilité p(C ). Dans tout ce qui va

suivre, l’espérance porte sur cette loi. Puisque les mots de code sont indépendants

vis-à-vis de p(C ), on trouve :

E(Pe|xm)6

∑∫y

E(p(y |xm)

11+µ

)E

([ ∑m′ 6=m

p(y |xm′)1

1+µ

]µ)

On évalue ici E(Pe|xm) au lieu de E(Pe ), mais le lien est facile à faire puisque

Pe = 1M

∑m Pe|xm

.

On se restreint maintenant à un paramètre µ tel que 06 µ6 1, afin que la

fonction f (x) = xµ soit concave. On peut alors appliquer l’inégalité de Jensen pour

une v.a. X :

E(

f (X ))6 f (E(X ))

Cette inégalité n’est autre que l’inégalité de convexité :

∑∫x

p(x) f (x)6 f

(∑∫x

p(x)x

)

où∑∫

p(x) = 1.

On obtient ainsi :

E(Pe|xm) 6

∑∫y

E(p(y |xm)

11+µ

)[E

( ∑m′ 6=m

p(y |xm′)1

1+µ

)]µ

6∑∫

yE

(p(y |xm)

11+µ

)[ ∑m′ 6=m

E(p(y |xm′)

11+µ

)]µ6 (M −1)µ

∑∫y

[E

(p(y |x)

11+µ

)]µ+1

La dernière inégalité provient de ce que E(p(y |xm)

11+µ

)est le même quel que soit

l’indice m, puisque les mots de code x = xm suivent tous la même loi p(x).

On va maintenant utiliser le fait que le canal est sans mémoire. Puisque les

composantes xi d’un mot de code x sont indépendantes suivant la loi p(x), on a :

E(p(y |x)

11+µ

)= E

(n∏

i=1p(yi |xi )

11+µ

)

=n∏

i=1E

(p(yi |xi )

11+µ

)

Page 111: 201111 Perf s System Es Codes

6.4. CALCUL DE LA PROBABILITÉ D’ERREUR MOYENNE 99

On obtient donc :

E(Pe|xm) 6 Mµ∑∫

y

∏i

[E

(p(yi |xi )

11+µ

)]µ+1

6 Mµ∏

i

∑∫yi

[E

(p(yi |xi )

11+µ

)]µ+1

La dernière équation provient de ce qu’on reconnait le développement d’un

produit de sommes du type :

n∏i=1

∑∫yi

f (yi ) =∑∫y1,y2,...,yn

n∏i=1

f (yi )

On remarque que E(p(yi |xi )

11+µ

)= ∑∫

xp(x)p(y |x)

11+µ est le même quel que soit

l’indice i , puisque les composantes xi suivent la même loi p(x). On obtient donc

finalement l’expression toute simple :

E(Pe|xm)6Mµ

(J0(µ)

)n

où on a posé :

J0(µ) =∑∫y

[∑∫x

p(x)p(y |x)1

1+µ]µ+1

Il est utile de faire apparaitre le taux R = log2 Mn des codes en mettant la borne

sous la forme :

E(Pe|xm)6 2−n(E0(µ)−µR)

E0(µ) =− log2 J0(µ)

est l’exposant de Gallager.

Insistons sur le fait que cette borne est valable pour tout paramètre µ tel que

06 µ6 1, et pour toute loi (ou densité) de probabilité p(x) (sur laquelle nous

n’avons pas encore fixé notre choix).

Pour minimiser cette borne il faut maximiser E0(µ)−µR par rapport à µ

(06µ6 1) et maximiser E0(µ) par rapport à p(x). De toute façon, pour tout choix

de µ et de p(x) tel que E0(µ)−µR > 0, on aura une décroissance exponentielle

de la probabilité d’erreur moyenne vers 0 lorsque la longueur n croît. Dans les

paragraphes suivants on va obtenir cette décroissance vers 0 avec différentes

hypothèses sur R.

Page 112: 201111 Perf s System Es Codes

100 CHAPITRE 6. PERFORMANCES OPTIMALES D’UN CODE

6.5 Taux critique R0 du canal

6.5.1 Le théorème R0

Reprenons ce qui a été fait au paragraphe précédent lorsque µ = 1. Cela

signifie que l’on part de la borne de l’union+Bhattacharrya sur la probabilité

d’erreur, et les calculs qui suivent sont identiques. On obtient donc :

E(Pe|xm)6 2−n(E0−R)

où E0 = E0(µ= 1). Afin de minimiser cette borne, on choisit maintenant la loi de

probabilité p(x) qui maximise E0.

La quantité

R0 = maxp(x)

E0 =− log2

(minp(x)

J0

)est appelé taux critique 1 du canal. Noter qu’il ne dépend que des probabilités de

transition p(y |x) du canal. Puisque

J0 = J0(1) =∑∫y

(∑∫x

p(x)√

p(y |x)

)2

il est facile de voir 2 que 06 J06 1, de sorte que R0 est une quantité positive.

On obtient donc une décroissance exponentielle :

E(Pe|xm)6 2−n(R0−R)

dès lors que R < R0. D’après ce qu’on a vu il existe un code [M ,n] dont la proba-

bilité d’erreur est également6 2−n(R0−R). On a donc prouvé le théorème suivant :

Théorème R0. Pour tout R < R0 il existe un code de taux>R et de longueur n

tel que, pour tout mot de code x :

Pe|x 6 2−n(R0−R) −→ 0 quand n −→∞

Ce théorème signifie que qu’on peut transmettre avec une probabilité d’erreur

arbitrairement petite dès lors que le taux R est inférieur au taux critique du canal.

1. cut-off rate en anglais.

2. Appliquer par exemple l’inégalité de Jensen pour la fonctionp

x. On obtient E(√

p(y |x)) 6√E(p(y |x)) d’où J0 6

∑∫y

∑∫x

p(x)p(y |x) = 1.

Page 113: 201111 Perf s System Es Codes

6.5. TAUX CRITIQUE R0 DU CANAL 101

De plus, il donne une borne explicite de la probabilité d’erreur du meilleur code

[M,n], ce qui permet de faire des comparaisons à l’optimum pour des systèmes

codés.

Pour trouver la valeur du taux critique R0 pour un canal donné, il faut mini-

miser J0 = J0(µ= 1) par rapport à p(x). Or :

J0 = ∑∫y

(∑∫x

p(x)√

p(y |x)

)2

= ∑∫x,x ′

p(x)p(x ′)(∑∫

y

√p(y |x)p(y |x ′)

)= E

(∑∫y

√p(y |x)p(y |x ′)

)Le terme entre parenthèses n’est autre que la borne de Bhattacharyya sur la pro-

babilité d’erreur par paire. Celle-ci a déjà été calculée au chapitre 3 pour différents

canaux. Il suffit ensuite de minimiser l’espérance de cette borne sur p(x) pour

déterminer R0.

6.5.2 Cas du canal q-SC

Dans le cas du canal q-SC, on a vu que la borne de Bhattacharyya s’écrit

∑y

√p(y |x)p(y |x ′) = ζdH (x,x ′)

où ζ= 2√

p(1−P )+(q−2)p. Ici dH (x, x ′) vaut 0 si x = x ′, et 1 sinon. On peut donc

mettre J0 sous la forme :

J0 = ζ∑

x 6=x ′p(x)p(x ′)+∑

xp(x)2

= (1−ζ)∑x

p(x)2 +ζ

où on a utilisé le fait que∑

x,x ′ p(x)p(x ′) = 1. Il faut minimiser cette quantité sur

la loi de probabilité p(x) qui est telle que p(x) > 0 et∑

x p(x) = 1. On obtient

facilement (par exemple par la méthode du multiplicateur de Lagrange) que

p(x) doit être constant, i.e. p(x) = 1q pour tout x. Le minimum de J0 est donc

min J0 = (1−ζ) qq2 +ζ= 1

q (1+ (q −1)ζ) et on obtient :

R0 = log2 q − log2(1+ (q −1)ζ)

Page 114: 201111 Perf s System Es Codes

102 CHAPITRE 6. PERFORMANCES OPTIMALES D’UN CODE

Pour le canal BSC (q = 2) le taux critique devient :

R0 = 1− log2(1+2√

p(1−p))

Le cas du canal BEC (à effacement) est traité dans l’exercice 7.16. Par ailleurs,

l’exercice 7.10 donne une autre démarche pour le calcul de R0 dans ce cas.

6.5.3 Cas du canal gaussien*

Dans le cas du canal gaussien, on a vu que la borne de Bhattacharyya s’écrit :∫y

√p(y |x)p(y |x ′)d y = e−

d2(x,x′)4N0

Prenons par exemple le cas du canal gaussien réel : d 2(x, x ′) = (x − x ′)2. On veut

donc minimiser

J0 =∫ ∫

p(x)p(x ′)e−(x−x′)2

4N0 d xd x ′

sur la densité de probabilité p(x). Noter qu’on peut toujours se restreindre à p(x)

tel que E(x) = ∫xp(x)d x = 0, quitte à effectuer une translation sur x et x ′ dans

l’intégrale définissant J0. La minimisation doit aussi se faire sous la contrainte

que Em = E(x2) = ∫x2p(x)d x est l’énergie moyenne par symbole.

La minimisation de J0 est délicate 3. Cependant, à l’instar du calcul de la

capacité fait ci-dessous au § 6.6.4, il semble raisonnable de choisir p(x) gaussien 4.

Le calcul général de J0(µ) dans ce cas est fait dans l’exercice 7.11. Pour µ= 1, on

trouve :

J0 = J0(1) =√√√√ 1

1+ EmN0

d’où la valeur de R0 =− log2 J0 pour une distribution d’entrée gaussienne :

R0 = 1

2log2(1+ Em

N0).

3. Une récompense à celle ou celui qui me fournira une solution.

4. On peut montrer, par ailleurs, que le choix de p(x) gaussien optimise effectivement J0

en faible rapport signal à bruit. En effet, on alors au premier ordre : J0 ≈ ∫∫p(x)p(x′)(1 −

(x−x′)2

4N0)d xd x′ = 1− 1

2EmN0

qui est bien égal (toujours au premier ordre) à l’expression donnée

ici pour J0 = (1+ EmN0

)−1/2 lorsque p(x) est gaussien.

Page 115: 201111 Perf s System Es Codes

6.6. CAPACITÉ C DU CANAL 103

6.5.4 Cas du canal gaussien à entrée binaire

Dans le cas d’un système codé par un code en blocs binaire sur canal gaussien

(réel par exemple, avec modulation BPSK), les symboles (binaires) à l’entrée du

canal sont de la forme x =±pEm où Em est l’énergie par bit codé x.

On a vu que la borne de Bhattacharyya s’écrit dans ce cas :∫y

√p(y |x)p(y |x ′)d y = e−

d2(x,x′)4N0 = ζdH (x,x ′)

où ζ = e−Em /N0 . La dernière égalité provient du fait, déjà vu au chapitre 5, que

distance euclidienne et distance de Hamming sont liées par la relation d 2(x, x ′) =4EmdH (x, x ′). Ici dH (x, x ′) vaut 0 si x = x ′, et 1 si x =−x ′.

On peut donc mettre J0 sous la même forme que dans le cas du canal BSC.

La seule différence est que ζ a une autre valeur. On obtient donc, de même que

pour le BSC, que J0 est minimum pour des bits équiprobables : p(x) = 12 , et

R0 = 1− log2(1+ζ), c’est à dire :

R0 = 1− log2(1+e−Em /N0 )

L’exercice 7.10 donne une autre démarche pour le calcul de R0 dans ce cas.

6.6 Capacité C du canal

6.6.1 Le théorème de Shannon

Nous revenons maintenant au cas général. L’exposant qui nous intéresse est :

E(µ) = E0(µ)−µR =− log2 J0(µ)−µR

où :

J0(µ) =∑∫y

[∑∫x

p(x)p(y |x)1

1+µ]µ+1

On va d’abord déterminer les conditions sur le taux R pour que E(µ) soit

positif pour une valeur de µ comprise entre 0 et 1. En d’autres termes, on veut

garantir que max06µ61 E(µ) soit positif. Ceci afin de garantir une décroissance

exponentielle de la probabilité d’erreur moyenne vers 0 lorsque n tend vers

l’infini. On s’intéressa ensuite au choix optimal de la loi de probabilité artificielle

p(x).

Page 116: 201111 Perf s System Es Codes

104 CHAPITRE 6. PERFORMANCES OPTIMALES D’UN CODE

Tout d’abord on voit immédiatement que pour µ= 0, J0(0) = 1 et E(0) = 0. La

fonction E(µ) étant clairement continue et dérivable en la variable µ, on aura

bien un maximum de E (µ) positif si on peut montrer que E (µ) prend des valeurs

positives au voisinage (à droite) de 0. Pour cela, il suffit de montrer que la dérivée

de E(µ) en 0 est positive.

Afin de faciliter le calcul de cette dérivée E ′(µ= 0), on transforme J0(µ) de la

manière suivante :

J0(µ) = ∑∫x,y

p(x)p(y |x)1

1+µ[∑∫

x ′p(x ′)p(y |x ′)

11+µ

]µ= ∑∫

x,yp(x, y)

[∑∫x ′

p(x ′)(

p(y |x ′)p(y |x)

) 11+µ

]µIl est facile de voir que pour une fonction dérivable f (µ) quelconque on a :

d

dµf (µ)µ

∣∣∣∣µ=0

= d

dµeµ log f (µ)

∣∣∣∣µ=0

= log f (0)

Avec cette règle on obtient facilement :

J ′0(0) =∑∫x,y

p(x, y) log

∑∫

x ′p(x ′)p(y |x ′)

p(y |x)

d’où

E ′0(0) = − 1

log2

J ′0(0)

J0(0)

= − 1

log2

∑∫x,y

p(x, y) log

∑∫

x ′p(x ′)p(y |x ′)

p(y |x)

= ∑∫

x,yp(x)p(y |x) log2

p(y |x)∑∫x ′

p(x ′)p(y |x ′)

La quantité :

I (X ,Y ) =∑∫x,y

p(x)p(y |x) log2p(y |x)∑∫

x ′p(x ′)p(y |x ′)

est une fonction de p(x) et de p(y |x) appelée information mutuelle moyenne

entre X et Y . Son étude constitue le point central de la théorie de l’information

de Shannon.

Page 117: 201111 Perf s System Es Codes

6.6. CAPACITÉ C DU CANAL 105

Ainsi la dérivée de E(µ) en µ= 0 n’est autre que I (X ,Y )−R. Elle est positive

lorsque R < I (X ,Y ), auquel cas il existe une valeur de µ pour laquelle E(µ) > 0.

Nous avons donc montré que la probabilité d’erreur moyenne E(Pe|x )6 2−nE(µ)

tend exponentiellement vers 0 lorsque n −→∞, pourvu que R < I (X ,Y ). D’après

ce qu’on a vu il existe un code [M ,n] dont la probabilité d’erreur est également

6 2−nE(µ).

Afin d’optimiser ce résultat il nous reste à choisir la loi de probabilité artifi-

cielle p(x) de telle sorte qu’elle maximise I (X ,Y ). On définit donc la capacité du

canal par :

C = maxp(x)

I (X ,Y )

Noter que puisque I (X ,Y ) est une fonction de p(x) et de p(y |x), la quantité C ne

dépend bien que des probabilités de transition p(y |x) du canal. On peut montrer,

en théorie de l’information, que I (X ,Y ) est une fonction positive concave en

p(x), et que par conséquent, la capacité C est une quantité finie et positive.

On a donc prouvé le célèbrissime théorème suivant :

Théorème de Shannon. Pour tout ε> 0 et R <C il existe un code de taux>R

et de longueur n tel que, pour tout mot de code x, Pe|x < ε.

De plus, Pe|x tend exponentiellement vers 0 lorsque n −→∞.

Ce théorème signifie que qu’on peut transmettre avec une probabilité d’er-

reur arbitrairement petite dès lors que le taux R est inférieur à la capacité du

canal. C’est un progrès par rapport au théorème R0, puisqu’on a ici optimisé le

paramètre µ alors qu’il était fixé à la valeur µ = 1 pour R0. En d’autres termes,

R0 <C .

Par contre, il est plus délicat ici d’obtenir des informations précises sur l’ex-

posant de Gallager optimal, sauf cas particulier (cf. exercice 7.11 pour le canal

gaussien).

6.6.2 Réciproque du théorème de Shannon

Nous avons vu successivement qu’on pouvait, à l’aide d’un système codé,

transmettre avec une fiabilité arbitrairement grande pour R < R0, puis pour R <C .

Peut-on faire mieux ? Autrement dit, peut-on dépasser la capacité du canal ? La

réponse est NON.

Page 118: 201111 Perf s System Es Codes

106 CHAPITRE 6. PERFORMANCES OPTIMALES D’UN CODE

Cela provient directement des définitions et des inégalités de bases de la

théorie de l’information. On montre en effet facilement, à l’aide des outils de

la théorie de l’information, que s’il on veut un taux R > C , alors la probabilité

d’erreur ne peut être arbitrairement petite, car elle est minorée par une quantité

> 0 qui dépend de R −C . C’est la réciproque (faible) du théorème de Shannon.

L’exercice 7.15 propose une version «forte» de la réciproque du théorème de

Shannon, qui montre que, si R >C , Pe tend exponentiellement vers 1 lorsque

n −→∞. A comparer avec notre théorème de Shannon qui affirme que si R <C ,

Pe tend exponentiellement vers 0 lorsque n −→∞.

6.6.3 Cas du canal q-SC

Pour calculer la capacité du canal q-SC on utilise la borne de Shannon (voir

exercice 7.13) :

C 6 log2 q −H(e)

où H(e) est l’entropie de l’erreur additive e, définie par

H(e) = ∑e∈Fq

p(e) log21

p(e)

Le calcul de H(e) est facile et donne : H(e) = P log21p + (1−P ) log2

11−P .

D’après l’exercice 7.13, la borne de Shannon est atteinte si l’on peut choisir

p(x) de telle sorte que les symboles de sortie du canal soient équiprobables :

p(y) = 1q . Un choix évident est la loi uniforme : p(x) = 1

q . On a bien alors :

p(y) =∑x

p(y |x)p(x) = 1

q

∑x

p(y |x) = 1

q((q −1)p + (1−P )) = 1

q

On en conclut donc la valeur de la capacité :

C = log2 q +P log2 p + (1−P ) log2(1−P )

qui peut se réécrire sous la forme :

C = log2 q −P log2(q −1)−H2(P )

H2(x) = x log21

x+ (1−x) log2

1

1−x

est la fonction d’entropie binaire.

Page 119: 201111 Perf s System Es Codes

6.6. CAPACITÉ C DU CANAL 107

Dans le cas binaire (q = 2) il vient :

C = 1−H2(p)

0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.50

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

Raw Error Probability

Code

Rat

e

C

Ro

FIG. 6.1 – Capacité et Taux critique pour le canal BSC, en fonction du paramètre

du canal p

Il est intéressant de comparer cette capacité binaire avec le taux critique

correspondant R0 = 1− log2(1+2√

p(1−p)) (voir Fig. 6.1). On voit bien 5 que

R06C .

Le cas du canal BEC (à effacement) est traité dans l’exercice 7.16.

6.6.4 Cas du canal gaussien

Pour calculer la capacité du canal gaussien réel on utilise la borne de Shannon

(voir exercice 7.13) :

C 6 log2

√2πeσ2

y −H(B)

où H(B) est l’entropie différentielle du bruit additif gaussien B , définie par

H(B) =∫

bp(b) log2

1

p(b)db

5. On peut retrouver directement l’inégalité R0 6 C de la façon suivante. Par l’exercice 7.12,

on a tout d’abord, pour tout 0 6 q 6 1, H2(p) 6 p log21q + (1−p) log2

11−q . Puis, en appliquant

l’inégalité de Jensen pour la fonction log, cette dernière expression est 6 log2(pq + 1−p

1−q ). Il suffit

enfin de poser q =p

ppp+p1−p

pour conclure.

Page 120: 201111 Perf s System Es Codes

108 CHAPITRE 6. PERFORMANCES OPTIMALES D’UN CODE

Ici p(b) est une densité gaussienne de moyenne nulle et de variance N0/2.

Pour déterminer la borne de Shannon, il faut calculer H(B), l’entropie diffé-

rentielle d’une gaussienne. D’après l’exercice 7.12, on obtient :

H(B) = log2

√2πeN0/2

La variance en sortie du canal est

σ2y =σ2

x +σ2b = Em + N0

2

où Em est l’énergie moyenne par symbole et N0/2 la d.s.p. bilatérale du bruit. On

obtient finalement la borne de Shannon :

C 6 log2

√2πe(Em + N0

2)− log2

√2πeN0/2 = 1

2log2(1+2

Em

N0)

D’après l’exercice 7.13, la borne de Shannon est atteinte si l’on peut choisir

p(x) de telle sorte que les symboles de sortie du canal suivent une loi gaussienne

(de variance σ2y ). Un choix évident est la loi gaussienne pour p(x). La sortie

Y = X +B , somme de deux gaussiennes, sera également gaussienne et donc de la

forme voulue.

On en conclut donc la valeur de la capacité 6, égale à la borne de Shannon :

C = 1

2log2(1+2

Em

N0)

Il est intéressant de comparer cette capacité avec le taux critique correspondant

R0 = 12 log2(1+ Em

N0). On voit bien que R06C , et la différence en rapport signal à

bruit est constante égale à 3 dB.

L’exercice 7.11 donne une autre démonstration du théorème de Shannon (et

du calcul de C ) dans le cas du canal gaussien.

6. Avec les notations du § 1.5, c’est-à-dire en notant T la période symbole, P la puissance

d’émission, et en identifiant la largeur de bande de transmission à B ≡ 12T , on obtient l’expression

classique suivante de la capacité exprimée en bits par seconde :

C = C

T= B · log2(1+ P

N0B)

C’est l’expression classique due à Shannon. La condition R 6 C se traduit ici en termes de débits

binaires : Db 6 C .

Page 121: 201111 Perf s System Es Codes

6.7. PERFORMANCES OPTIMALES EN DÉCODAGE «HARD» 109

6.6.5 Cas du canal gaussien à entrée binaire

Dans le cas d’un système codé par un code en blocs binaire sur canal gaussien

(réel par exemple, avec modulation BPSK), les symboles (binaires) à l’entrée du

canal sont de la forme x =±pEm où Em est l’énergie par bit codé x.

Contrairement à ce qui se passe dans la section précédente, on doit donc

introduire la condition supplémentaire que l’entrée du canal gaussien est binaire

pour le calcul de la capacité. C’est ce qui est fait dans l’exercice 7.14. On trouve

alors :

C = 2

log2

Em

N0− 1p

∫ +∞

−∞e−

y2

2 log2 cosh

(y

√2Em

N0+ 2Em

N0

)d y

Il est intéressant de comparer cette capacité binaire avec le taux critique

correspondant R0 = 1− log2(1+e−Em /N0 ) (voir Fig. 6.4). On voit bien que R06C .

6.7 Performances optimales sur canal gaussien en déco-

dage «hard»

On se place ici en décodage «hard» sur canal gaussien réel. Le code est binaire

et la modulation utilisée est la BPSK. Le théorème de Shannon nous garantit

qu’une transmission codée fiable est possible si R < C , ou R est le taux (ou

rendement) du code. En pratique il faut relier cette condition à l’énergie émise

par bit.

Or, la capacité C est donnée par la formule du canal BSC : C = 1+p log2 p+(1−p) log2(1−p) où p est la probabilité d’erreur par bit codé pour une modulation

BPSK, soit :

p =Q

(√2Em

N0

)Le paramètre Em/N0 est le rapport signal à bruit moyen par bit codé. Nous savons

qu’il s’écrit :

Em/N0 = Rγb

où γb = EbN0

est le rapport signal à bruit par bit d’information.

Ainsi C se trouve être une fonction de Rγb dans la condition de Shannon

R <C . On recherche donc les valeurs possibles de (R,γb) pour une transmission

fiable, c’est à dire telles que R < C (Rγb). Bien entendu, ce qu’on vient de dire

Page 122: 201111 Perf s System Es Codes

110 CHAPITRE 6. PERFORMANCES OPTIMALES D’UN CODE

pour la capacité peut se refaire à l’identique pour le rendement critique R0 =1− log2(1+2

√p(1−p)).

0 1 2 3 4 5 6 7 8 9 100

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

SNR Em/No

Code

Rat

e

C

Ro

FIG. 6.2 – Capacité et Taux critique en décodage hard sur canal gaussien, en

fonction du rapport signal à bruit moyen Em/N0 = Rγb

Les courbes donnant C et R0 en fonction de Em/N0 = Rγb sont données

dans la Fig. 6.2. Il est facile de voir que leur dérivées en Em/N0 sont des fonctions

décroissantes. Ainsi, pour un rendement R <C (resp. R < R0) donné, la pente 1/γb

de la droite reliant l’origine au point (Rγb ,R) nous donne une valeur du rapport

signal à bruit par bit pour laquelle une transmission codée fiable (Pe −→ 0) est

possible.

Résoudre l’inégalité R < C (Rγb) ou R < R0(Rγb), revient donc à trouver le

rapport signal à bruit minimum γb min tel que R =C (Rγb) (respectivement R =R0(Rγb)). On aura alors la possibilité d’une transmission codée fiable dès lors

que γb > γb min. Les courbes donnant γb min en fonction de R sont données dans

la Fig. 6.3.

Ainsi, pour une valeur de R donnée correspond un rapport signal à bruit par

bit d’information minimum théoriquement atteignable, c’est à dire qu’il existe

une code de longueur suffisamment grande qui réalise une probabilité d’erreur

aussi faible qu’on veut pour γb > γb min.

On voit sur la Fig. 6.3 que le γb min minimum s’obtient lorsque R −→ 0. Il est

facile de calculer cette valeur en faisant un développement limité de R0 et C en

Page 123: 201111 Perf s System Es Codes

6.7. PERFORMANCES OPTIMALES EN DÉCODAGE «HARD» 111

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1-2

0

2

4

6

8

10

Code Rate

SNR

(dB)

Région interdite

Zone R<C

Zone R<Ro

C

Ro

FIG. 6.3 – Rapport signal à bruit γb minimum pour une transmission fiable, en

décodage hard sur canal gaussien, en fonction du taux R

R = 0. On a tout d’abord (voir exercice 7.1 sur la fonction de Marcum) :

p = 1

2− 1p

√2Rγb +0(R)

d’où respectivement :

R0 = RγB

π log2+o(R)

et

C = 2RγB

π log2+o(R)

Ainsi, lorsque R −→ 0, la condition R < R0 du théorème R0 devient :

γb >π log2 = 3.38dB

et la condition R <C du théorème de Shannon devient :

γb > π log2

2= 0.37dB

Page 124: 201111 Perf s System Es Codes

112 CHAPITRE 6. PERFORMANCES OPTIMALES D’UN CODE

C’est la valeur limite de Shannon en rapport signal à bruit pour une transmission

fiable, en décodage hard.

6.8 Performances optimales sur canal gaussien en déco-

dage «soft»

On se place ici en décodage «soft» sur canal gaussien réel. Le code est binaire

et la modulation utilisée est la BPSK. Le théorème de Shannon nous garantit

qu’une transmission codée fiable est possible si R < C , ou R est le taux (ou

rendement) du code. En pratique il faut relier cette condition à l’énergie émise

par bit.

Dans ce cas, la capacité C et le rendement critique R0 sont donnés par les

formules correspondant au cas du canal gaussien à entrée binaire. Ces formules

dépendent du paramètre Em/N0, le rapport signal à bruit moyen par bit codé.

Nous savons qu’il s’écrit :

Em/N0 = Rγb

où γb = EbN0

est le rapport signal à bruit par bit d’information.

On recherche donc les valeurs possibles de (R,γb) pour une transmission

fiable, c’est à dire telles que R < R0(Rγb) (théorème R0) et R <C (Rγb) (théorème

de Shannon).

Les courbes donnant C et R0 en fonction de Em/N0 = Rγb sont données

dans la Fig. 6.4. Il est facile de voir que leur dérivées en Em/N0 sont des fonctions

décroissantes. Ainsi, pour un rendement R <C (resp. R < R0) donné, la pente 1/γb

de la droite reliant l’origine au point (Rγb ,R) nous donne une valeur du rapport

signal à bruit par bit pour laquelle une transmission codée fiable (Pe −→ 0) est

possible.

Résoudre l’inégalité R < C (Rγb) ou R < R0(Rγb), revient donc à trouver le

rapport signal à bruit minimum γb min tel que R =C (Rγb) (respectivement R =R0(Rγb)). On aura alors la possibilité d’une transmission codée fiable dès lors

que γb > γb min. Les courbes donnant γb min en fonction de R sont données dans

la Fig. 6.5.

Ainsi, pour une valeur de R donnée correspond un rapport signal à bruit par

bit d’information minimum théoriquement atteignable, c’est à dire qu’il existe

Page 125: 201111 Perf s System Es Codes

6.8. PERFORMANCES OPTIMALES EN DÉCODAGE «SOFT» 113

0 1 2 3 4 5 6 7 8 9 100

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

SNR Em/No

Code

Rat

e

C

Ro

FIG. 6.4 – Capacité et Taux critique en décodage soft sur canal gaussien à entrée

binaire, en fonction du rapport signal à bruit moyen Em/N0 = Rγb

une code de longueur suffisamment grande qui réalise une probabilité d’erreur

aussi faible qu’on veut pour γb > γb min.

On voit sur la Fig. 6.5 que le γb min minimum s’obtient lorsque 7 R −→ 0. Il est

facile de calculer cette valeur en faisant un développement limité en R = 0.

Pour le rendement critique R0 = 1− log2(1+e−Rγb ), la condition R < R0 peut

s’écrire :

γb >− log(21−R −1)

R= 2log2+o(1)

C’est la courbe «R0» de la Fig. 6.5. Pour la capacité C , on trouve :

C = 2Rγb

log2− 1

log2

1p2π

∫e−y2/2 2Rγb y2 +o(R)

2d y = Rγb

log2+o(R).

Ainsi, lorsque R −→ 0, la condition R < R0 du théorème R0 devient :

γb > 2log2 = 1.42dB

et la condition R <C du théorème de Shannon devient :

γb > log2 =−1.59dB

C’est la valeur limite de Shannon en rapport signal à bruit pour une transmission

fiable, en décodage soft.

7. Noter que R −→ 0 implique une transmission à puissance limitée (voir 1.5).

Page 126: 201111 Perf s System Es Codes

114 CHAPITRE 6. PERFORMANCES OPTIMALES D’UN CODE

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1-2

0

2

4

6

8

10

Code Rate

SNR

(dB)

Région interdite

Zone R<C

Zone R<Ro

C

Ro

FIG. 6.5 – Rapport signal à bruit γb minimum pour une transmission fiable, en

décodage soft sur canal gaussien à entrée binaire, en fonction du taux R . La limite

de Shannon (sans contrainte d’entrée binaire) est indiquée en pointillés.

Il est intéressant de comparer cette dernière valeur avec celle obtenue pour

un canal gaussien sans la contrainte d’entrée binaire. Dans ce cas l’expression de

la capacité est plus simple :

C = 1

2log2(1+2Rγb)

et la condition R <C s’écrit :

γb > 22R −1

2R= log2+o(1)

C’est la courbe en pointillés de la Fig. 6.5. On constate qu’étonnamment, la valeur

limite 8 en rapport signal à bruit pour une transmission fiable, lorsque R −→ 0,

8. Noter qu’il s’agit ici de la limite de la capacité lorsque l’efficacité spectrale tend vers 0, pour

Page 127: 201111 Perf s System Es Codes

6.9. COMPARAISON ENTRE DÉCODAGE HARD ET SOFT 115

est log2 =−1.59 dB. Elle est identique à celle obtenue avec la contrainte d’entrée

binaire !

On peut traduire ce résultat en disant que une quantification binaire en entrée

du canal gaussien n’affecte pas la limite de Shannon («Input binary quantization

doesn’t hurt»). En théorie on pourrait donc toujours se limiter à des codes bi-

naires avec modulation BPSK (plutôt que d’utiliser des codes q-aires). Ceci n’est

évidemment valable que pour les «meilleurs» codes, lorsque R −→ 0 et n −→∞.

6.9 Comparaison entre décodage hard et soft

A l’aide des deux sections précédentes il est facile de faire une comparaison

entre décodage hard et soft sur canal gaussien (avec modulation BPSK).

Les courbes donnant le rapport signal à bruit par bit d’information minimum

en fonction de R sont reproduites dans la Fig. 6.6. Ceci nous donne la perte, en

dB, du rapport signal à bruit γb optimal en fonction du rendement R du code.

A la limite lorsque R −→ 0, les deux limites de Shannon en Hard et en Soft

diffèrent de π2 ≈ 2dB (voir Fig. 6.7). Ainsi à l’optimum, la perte du décodage Hard

par rapport au décodage Soft est de 2 dB. Ceci correspond bien à la perte obtenue

au chapitre 5 lorsque R −→ 0 (et non pas à la perte de 3 dB obtenue en fort rapport

signal à bruit). On peut traduire ce résultat en disant qu’une quantification binaire

en sortie du canal gaussien affecte la limite de Shannon de 2 dB («Output binary

quantization costs you 2 dB»). Il faut aussi noter que, lorsque R croît, cette perte

s’amenuise (voir Fig. 6.6). Elle n’est plus que de ≈ 1.5 dB en R = 1/2.

La Fig. 6.7 nous donne une idée du gain potentiel à attendre de la théorie

du codage correcteur d’erreurs. Entre les performances d’un système non codé

(BPSK seule) et celles d’un système codé optimal, le fossé est important. Cette

figure est connue depuis les années cinquante (le théorème de Shannon date

de 1948, sa réciproque de 1952). Bien que Shannon ait prédit qu’un code choisi

au hasard ferait l’affaire, ceux qu’on connait sont encore loin de la limite de

Shannon ! En quarante ans de recherches, des progrès considérables ont été

une transmission à puissance limitée. L’expression de la capacité en bits/s : C = B log2(1+ PN0B )

devient donc, puisque P/N0 ¿ B :

C = 1

log2

P

N0

Sachant que γb = PN0Db

(cf. 1.5), la condition Db 6 C nous redonne bien la limite γb > log2.

Page 128: 201111 Perf s System Es Codes

116 CHAPITRE 6. PERFORMANCES OPTIMALES D’UN CODE

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1-2

0

2

4

6

8

10

Code Rate

SNR

(dB)

Limite hard

Limite Soft

FIG. 6.6 – Rapport signal à bruit γb minimum pour une transmission fiable, en

décodage hard et soft sur canal gaussien à entrée binaire, en fonction du taux R.

La limite de Shannon (sans contrainte d’entrée binaire) est indiquée en pointillés.

réalisés, mais la construction de codes permettant de s’approcher de la borne de

Shannon, tout en garantissant un décodage efficace restait jusqu’à peu un rêve.

Récemment, la découverte des turbo codes rendrait peut-être ce rêve réalisable. . .

Page 129: 201111 Perf s System Es Codes

6.9. COMPARAISON ENTRE DÉCODAGE HARD ET SOFT 117

-2 0 2 4 6 8 10 1210-7

10-6

10-5

10-4

10-3

10-2

10-1

Bit SNR Eb/No (dB)

Erro

r Rat

e

BPSK

Shan

non

limit

(sof

t): -1

.59

dB

Shan

non

limit

(har

d): 0

.37

dB

FIG. 6.7 – Gain potentiel du codage binaire : Limites de Shannon en décodage

hard et soft, en comparaison avec la modulation binaire non codée

Page 130: 201111 Perf s System Es Codes

118 CHAPITRE 6. PERFORMANCES OPTIMALES D’UN CODE

Page 131: 201111 Perf s System Es Codes

Chapitre 7

Exercices

119

Page 132: 201111 Perf s System Es Codes

120 CHAPITRE 7. EXERCICES

Page 133: 201111 Perf s System Es Codes

7.1. BORNES ET ÉQUIVALENTS DE LA FONCTION DE MARCUM 121

7.1 Bornes et équivalents de la fonction Q(x)

Soit X une v.a. réelle, gaussienne normalisée (moyenne nulle, varianceσ2 = 1).

La fonction de Marcum (ou «queue de gaussienne») est définie par :

Q(x) =P r {X > x} = 1p2π

∫ ∞

xe−

u2

2 du.

Cette fonction est utilisée, plus généralement, comme valeur de la probabilité

P r {X > x} lorsque X est un v.a. gaussienne quelconque.

1. Montrer que si X est une v.a. gaussienne réelle de moyenne µ et de variance

σ2, on a :

P r {X > x} =Q( x −µ

σ

)2. Calculer la dérivée et la dérivée seconde de Q(x), et étudier l’allure de son

graphe.

3. Montrer que lorsque x −→ 0 :

Q(x) ∼ 1

2− 1p

2πx.

4. Dans la suite on suppose x > 0. Dans l’intégrale définissant Q(x), faire le

changement de variable u = x + v (v > 0) et, en tenant compte de e−v x 6 1,

prouver la majoration :

Q(x) < 1

2e−

x2

2

5. En tenant compte de u> x dans l’intégrale définissant Q(x), prouver l’en-

cadrement :

1p2π

∫ ∞

0

1+1/u2

1+1/x2 e−u2

2 du <Q(x) < 1p2π

∫ ∞

0

u

xe−

u2

2 du

Calculer ces intégrales en primitivant et en déduire l’encadrement :(1+ 1

x2

)−1 1

xp

2πe−

x2

2 <Q(x) < 1

xp

2πe−

x2

2

6. En déduire que lorsque x −→+∞ :

Q(x) ∼ 1

xp

2πe−

x2

2

7. La fonction d’erreur complémentaire est définie par :

erfc(x) = 2pπ

∫ ∞

xe−u2

du

Montrer que Q(x) = 12 erfc

(xp2

)et appliquer les résultats de l’exercice à la

fonction erfc(x).

Page 134: 201111 Perf s System Es Codes

122 CHAPITRE 7. EXERCICES

7.2 Amélioration de la borne de Bhattacharyya pour le BSC

On rappelle que pour le canal BSC de paramètre p < 12 , la probabilité d’erreur

par paire est donnée par :

Px−→x ′ =P r {t > d/2} = ∑d/26i6d

Cid p i (1−p)d−i

où d = dH (x, x ′) et t suit une loi binômiale de longueur d et de paramètre p.

1. Retrouver la borne de Bhattacharyya en majorant :(

p1−p

)i6

(p

1−p

)d/2.

2. Dans cette question d est impair, donc :

P r {t > d/2} =P r {t > (d +1)/2}

(a) Par un calcul analogue à la question précédente, montrer que :

Px−→x ′ 6 2d p(d+1)/2(1−p)(d−1)/2

(b) En déduire (sachant que p < 12 ) l’amélioration suivante de la borne

de Bhattacharyya (due à Van de Meeberg) :

Px−→x ′ 6(2√

p(1−p))d+1

3. Soit C un code linéaire binaire (n,k) de polynôme énumérateur de poids

A(z). On note C + le code (n +1,k) construit à partir de C en rajoutant un

bit de parité global.

(a) Montrer que ∀x ∈C de poids w , le mot de code correspondant x+ ∈C + est de poids : w si w est pair

w +1 si w est impair.

(b) En déduire que le polynôme énumérateur de poids de C + s’écrit :

A+(z) =(

1+ z

2

)A(z)+

(1− z

2

)A(−z)

(c) Soit Pe la probabilité d’erreur obtenue pour le code C sur le canal

BSC. On sait, d’après la borne de Bhattacharyya, que :

Pe 6 A(ζ)−1

Page 135: 201111 Perf s System Es Codes

7.2. AMÉLIORATION DE LA BORNE DE BHATTACHARYYA 123

où ζ= 2√

p(1−p). Montrer l’amélioration suivante :

Pe 6 A+(ζ)−1

et retrouver le gain asymptotique kn ddmin

2 e en décodage hard sur canal

gaussien.

Page 136: 201111 Perf s System Es Codes

124 CHAPITRE 7. EXERCICES

7.3 Inégalités de Bienaymé-Tchébycheff et de Chernoff

Soit X une v.a. réelle de moyenne E(X ) et de variance :

σ2X = E

((X −E(X ))2)

1. En utilisant la majoration 1|x|>a 6 x2

a2 , prouver l’inégalité de Bienaymé-

Tchébycheff :

P r {|X −E(X )|> a}6σ2

X

a2

2. En utilisant la majoration 1x>a 6 eλ(x−a) pour λ> 0 prouver l’inégalité de

Chernoff :

P r {X > a}6 E(eλX )e−λa = eµ(λ)−aλ (∀λ> 0)

où on a posé µ(λ) = logE(eλX ).

3. Minimisation de la borne de Chernoff

Soit p(x) la distribution de probabilité de X . On introduit :

p ′(x) = eλx

E(eλX )p(x).

On note X ′ une v.a. de distribution p ′(x).

(a) Montrer que p ′(x) est bien une distribution de probabilité.

(b) Prouver les relations

µ′(λ) = E(X ′) et µ′′(λ) =σ2X ′ .

(c) En déduire que µ(λ)− aλ est convexe en λ, et que son minimum

unique est atteint pour λ=λ∗ tel que µ′(λ∗) = a.

(d) En déduire la borne de Chernoff :

P r {X > a}6 eµ(λ∗)−λ∗µ′(λ∗)

4. Exemple : Cas d’une loi binomiale

X est ici une v.a. discrète de loi binomiale :

P r {X = i } = Cin p i (1−p)n−i .

On rappelle que X =∑ni=1 Xi est la somme de n v.a. indépendantes binaires :

P r {Xi = 1} = 1−P r {Xi = 0} = p.

Page 137: 201111 Perf s System Es Codes

7.3. INÉGALITÉS DE TCHÉBYCHEFF ET CHERNOFF 125

(a) On veut majorer P r {X > τn} où p 6 τ. En utilisant la décomposition

X =∑i Xi , montrer que µ(λ) = n log(eλp +1−p). En déduire la valeur

de λ∗ = log τ(1−p)p(1−τ) et la borne de Chernoff :

P r {X > τn}6(

pτ(1−p)1−τ

ττ(1−τ)1−τ

)n

= (pτ(1−p)1−τ)n 2nH2(τ)

où H2(τ) = τ log21τ + (1−τ) log2

11−τ est la fonction d’entropie binaire.

Pourquoi l’hypothèse p 6 τ est-elle essentielle ?

(b) En changeant τ en 1−τ, p en 1−p et X en n −X , montrer que pour

p > τ,

P r {X > τn}>(

pτ(1−p)1−τ

ττ(1−τ)1−τ

)n

Page 138: 201111 Perf s System Es Codes

126 CHAPITRE 7. EXERCICES

7.4 Borne de Chernoff sur la probabilité d’erreur par paire

Cet exercice concerne le calcul de la borne de Chernoff, appliquée à la proba-

bilité d’erreur d’un système codé pour différents canaux.

1. Cas du canal BSC

On rappelle que dans ce cas la probabilité d’erreur par paire est

Px−→x ′ =P r {t > d/2}

où d = dH (x, x ′) et t est une v.a. de loi binômiale de paramètre p < 12 et de

longueur d .

Retrouver la borne de Bhattacharyya en utilisant l’inégalité de Chernoff (cf.

exercice précédent) à Px−→x ′ .

2. Cas du canal q-SC

Utiliser l’inégalité de Chernoff sur Px−→x ′ établie dans le cours, et, par un

calcul analogue à celui fait dans le cours pour la borne de Bhattacharyya,

montrer successivement que, pour tout λ> 0 :

Px−→x ′ 6∏

i

(∑yi

p(yi |xi )1−λp(yi |x ′i )λ

)

6(p1−λ(1−P )λ+ (1−P )1−λpλ+ (q −2)p

)d

où d = dH (x, x ′).

Retrouver la borne de Bhattacharyya en minimisant cette somme sur λ

(Indication : minimiser une somme à produit constant revient à égaler les

termes).

3. Cas du canal gaussien

On rappelle que dans ce cas :

Px−→x ′ =P r {Z >dp

2}

où d = d(x, x ′) et Z est une v.a. gaussienne centrée de variance N0.

(a) Montrer que :

E(eλZ ) = eN0λ2/2

et en déduire l’inégalité de Chernoff :

Px−→x ′ 6 eN02 λ2− dp

Page 139: 201111 Perf s System Es Codes

7.4. BORNE DE CHERNOFF 127

(b) Minimiser cette borne par rapport à λ pour retrouver la borne de

Bhattacharyya.

Page 140: 201111 Perf s System Es Codes

128 CHAPITRE 7. EXERCICES

7.5 Polynôme énumérateur de poids et Borne de Plotkin

On considère un code binaire linéaire (n,k) noté C , de polynôme énumé-

rateur de poids A(z) = ∑nd=0 Ad zd et de distance minimale dmin. Le poids de

Hamming d’un mot x = (x0, x1, . . . , xn−1) ∈ (F2)n est noté : wH (x) =∑n−1i=0 wH (xi ).

1. Montrer les égalités suivantes :

A(z) = ∑x∈C

zwH (x)

A(1) = 2k

A′(1) = ∑x∈C

wH (x)

(poids total des mots de code) où A′(z) est le polynôme dérivé de A(z).

2. On suppose dans cette question que C admet (1,1, . . . ,1) pour mot de code.

Montrer qu’on a alors une symétrie des coefficients : Ad = An−d , i.e.,

A(z) = zn A(z−1)

3. On fixe j ∈ {0, · · · ,n −1} et on considère, pour tous les mots de code x ∈C ,

l’ensemble des j escomposantes x j . On suppose dans cette question qu’il

existe x ′ ∈C tel que x ′j 6= 0.

En utilisant la linéarité de C , montrer alors qu’il y a autant de mots de code

de j ecomposante x j = 0 que de mots de code de j ecomposante x j = 1.

4. En déduire que le poids total des mots de code vérifie :

∑x∈C

wH (x)6 n2k−1

5. En déduire la borne de Plotkin sur la distance minimale du code C :

dmin6n2k−1

2k −1

6. Montrer que la borne de Plotkin est atteinte pour les codes simplexes de

paramètres (2m −1,m) (on admettra que la distance minimale est> 2m−1).

Quel est alors le polynôme énumérateur de poids A(z) ?

Page 141: 201111 Perf s System Es Codes

7.5. POLYNÔME A(Z ) ET BORNE DE PLOTKIN 129

7. Amélioration de la borne de Plotkin.

A partir du code C sous forme systématique on considère les 2 j mots de

code pourlesquels les k − j premiers bits d’information sont nuls. Montrer

qu’en éliminant ces k − j composantes dans ces mots de code, on obtient

un nouveau code linéaire «raccourci» de paramètres (n − (k − j ), j ) et de

distance minimale> dmin.

En appliquant la borne de Plotkin à ce nouveau code, montrer que :

dmin6 (n − (k − j ))2 j−1

2 j −1

8. On considère une famille de codes (n,k) pour laquelle on peut faire tendre

la longueur n vers l’infini. On note R = limn−→∞ kn . En utilisant la borne de

Plotkin, montrer quedmin

n< 1

2+o(n)

En utilisant la borne de Plotkin améliorée pour j = dlogke par exemple,

montrer quedmin

n< 1

2(1−R)+o(n)

Commenter.

Page 142: 201111 Perf s System Es Codes

130 CHAPITRE 7. EXERCICES

7.6 Identité de Mc Williams

Un code binaire linéaire (n,k) est noté C . Le code dual (n,n −k) de C est

noté C ⊥. A(z) =∑nd=0 Ad zd (respectivement B(z)) est le polynôme énumérateur

de poids du code C (resp. C ⊥). Le produit scalaire entre x et y ∈ (F2)n est :

< x|y >=∑i xi yi ∈ F2.

On considère le système utilisant le code C sur canal BSC de paramètre p. Le

code C est utilisé en détection pure d’erreurs (stratégie ARQ avec t = 0).

1. Montrer que la probabilité que le mot reçu y n’appartienne pas au code C

est égal à (cf. notations du cours) :

P r {y 6∈C } = 1−Pn = 1− (1−p)n A

(p

1−p

)

Par ailleurs, on sait que y appartient au code si et seulement si il est ortho-

gonal à tout mot du code dual, i.e.,

∀x ′ ∈C ⊥, < x ′|y >= 0 (dans F2)

Considérons donc, pour un mot y ∈ (F2)n fixé, l’ensemble des produits

scalaires < x ′|y >∈ F2, lorsque x ′ décrit C ⊥.

2. Montrer que si y 6∈ C , il y a autant de mots de code x ′ ∈ C ⊥ tels que <x ′|y >= 0 que de mots de code x ′ tels que < x ′|y >= 1 .

3. En déduire les valeurs possibles de 2S, où

S = ∑x ′∈⊥

< x ′|y >

lorsque y ∈C et lorsque y 6∈C .

4. Montrer que

P r {y 6∈C } = 1

2n−kE(2S)

5. Sachant que < x ′|y >= 1 si et seulement si les indices i tels que yi = 1 et

x ′i = 1 sont en nombre impair, montrer que, pour un x ′ donné de poids w ,

E < x ′|y >=P r {< x ′|y >= 1} = ∑i impair

Ciw p i (1−p)w−i

Page 143: 201111 Perf s System Es Codes

7.6. IDENTITÉ DE MC WILLIAMS 131

6. Simplifier cette expression en notant qu’elle est égale à la somme des

coefficients des puissances impaires de z dans le polynôme (1−p +pz)w .

On trouve :

E < x ′|y >= 1− (1−2p)w

2.

7. En déduire

E(2S) = 2n−k −B(1−2p)

8. Déduire des questions précédentes l’identité de Mac Williams :

A(z) = 1

2n−k(1+ z)nB

(1− z

1+ z

)

Page 144: 201111 Perf s System Es Codes

132 CHAPITRE 7. EXERCICES

7.7 Enumération de poids d’un code à distance maximale

On considère un code linéaire (n,k,dmin) noté C , défini sur le corps fini à q

éléments Fq . On note Ai le nombre de mots du code C de poids i .

On rappelle que le codeur peut toujours se mettre sous forme systématique.

On supposera donc que dans chaque mot de code x ∈C , les k premiers symboles

sont les symboles d’information correspondant à x.

Rappels

1. Soit x le mot de code qui correspond aux k symboles d’information sui-

vants : 0,0, . . . ,0,1. Majorer son poids et en déduire la borne de Singleton :

dmin6 n −k +1

Le code est dit à distance maximale si dmin = n −k +1.

[N.B. : les codes de Reed-Solomon (n = q − 1,k) sur Fq sont à distance

maximale.]

Dorénavant C désigne un code (n,k,n −k +1) à distance maximale défini

sur Fq .

2. Montrer qu’il existe un unique mot de code x ∈ C avec k composantes

spécifiées à l’avance. [Indication : s’il y en a deux, ils sont distants de 6

n −k.]

Calcul de Ai

3. On se donne un ensemble de i indices I ⊂ {0, . . . ,n − 1}. En utilisant la

question précédente, montrer que le nombre NI de mots de code x tels

que xi = 0 ∀i ∈ I est égal à :

NI = qk−i si i 6 k

1 si i > k

4. Soit MI le nombre de mots de codes de poids i dont les composantes non

nulles se trouvent dans I , i.e., tels que xi 6= 0 ⇐⇒ i ∈ I . Montrer successive-

ment que

Page 145: 201111 Perf s System Es Codes

7.7. ENUMÉRATION DE POIDS D’UN CODE MDS 133

(a)

Ai =∑

IMI

où la somme porte sur tous les ensembles de i indices pris parmi

{0, . . . ,n −1}.

(b)

M; = 1

où ; désigne l’ensemble vide.

(c)

MI = 0 si 16 i < dmin.

(d) ∑J⊂I

M J = NI ′ = q i−dmin+1 si i > dmin

où la somme porte sur tous les ensembles J , de j 6 i indices, contenus

dans I , et où I ′ désigne le complémentaire de I , c’est-à-dire I ′ ={0, . . . ,n −1} \ I .

5. Montrer que les équations précédentes permettent de déterminer, de façon

unique, les nombres MI par récurrence, et que MI ne dépend que de

i = CardI . Dorénavant on utilise la notation Mi au lieu de MI .

6. Montrer qu’on a alors :

Ai = Cin Mi

Il suffit donc de déterminer les nombres Mi pour obtenir l’énumération

des poids souhaitée.

7. Déduire de la question 4 que les Mi , i = 0, . . . ,n, sont déterminés de ma-

nière unique par M0 = 1, Mi = 0 pour 16 i 6 n −k et par l’équation de

récurrence :i∑

j=1C j

i M j = q i−n+k −1.

8. On introduit l’opérateur ��∑M

i=−N q i ��= ∑Mi=0 q i qui supprime les puis-

sances négatives de q dans un développement en série de Laurent.

Montrer que

Mi = (q −1) ��(q −1)i−1

qn−k�� i > 0

Page 146: 201111 Perf s System Es Codes

134 CHAPITRE 7. EXERCICES

vérifie l’équation de récurrence de la question précédente.

Indication :

i∑j=1

C ji (q −1) ��

(q −1) j−1

qn−k��= (q −1) ��

i∑j=1

C ji

(q −1) j−1

qn−k��

9. Conclure :

Ai = Cin(q −1) ��

(q −1)i−1

qn−k��

Page 147: 201111 Perf s System Es Codes

7.8. BPSK CODÉE SUR CANAL DE RAYLEIGH 135

7.8 Performances de la BPSK codée sur canal de Rayleigh

On considère la modulation BPSK x =±p2Em sur un canal de Rayleigh nor-

malisé. L’affaiblissement α suit la loi de Rayleigh p(α) = 2αe−α2. On note γ= Em

N0

le rapport signal à bruit moyen sur le canal, où Em est l’energie moyenne par bit

émis sur le canal.

Borne de l’union+Bhattacharyya sur la probabilité d’erreur par bit.

On considère dans cette partie la détection optimale, bit par bit, pour la

modulation BPSK à symboles équiprobables. Dans les 5 premières questions

on raisonne à affaiblissement α donné. On note Peb |α le probabilité d’erreur-bit

sachant α.

1. Montrer que, pour un affaiblissement α donné, la distance euclidienne

minimale dans l’espace des signaux émis vaut d(αx,−αx) = 2αp

Em .

2. En s’inspirant du cas du canal gaussien traité dans ce document, donner

la borne de Bhattacharyya sur la probabilité d’erreur par paire sachant α,

notée Px−→−x |α. On écrira cette borne en fonction de α et γ.

3. En déduire la borne correspondante sur Peb |α. La borne de l’union est-elle

exacte ?

4. En s’aidant du cas du canal gaussien traité dans ce document, donner (en

la justifiant) la valeur exacte de Peb |α en fonction de α et γ.

5. En utilisant une majoration convenable de la fonction Q(x) (vue à l’exer-

cice 7.1), en déduire l’amélioration suivante de la borne de l’union + Bhat-

tacharyya : Peb |α612 e−γα

2.

6. En déduire la majoration suivante de la probabilité d’erreur-bit Peb :

Peb 61

2· 1

1+γ

7. On donne la valeur exacte établie au § 4.2.2 : Pe/b = 12

(1−

√γ

1+γ). Retrou-

ver directement la borne de la question précédente.

Indication : Quand a-t-onp

a> a ?

Performances en décodage hard non supervisé.

Page 148: 201111 Perf s System Es Codes

136 CHAPITRE 7. EXERCICES

On considère ici la modulation BPSK codée par un code linéaire de para-

mètres (n,k,dmin) en décodage hard sur le canal de Rayleigh. L’entrée du

canal est un mot de code x = (x1, . . . , xn). La sortie du détecteur à seuil à

la réception fournit y = (x1, x2, . . . , xn) où les décisions «hard» xi =±p2Em

sont des points de la modulation BPSK. On suppose que les affaiblisse-

ments (α1, . . . ,αn) sont indépendants, i.e. p(α) =∏i p(αi ).

8. Montrer que le canal discret équivalent pour le i ème bit (d’entrée xi et de

sortie xi ) est un canal BSC de paramètre pi =Peb |αi =Q(√

2γα2i ).

9. Justifier la chaîne de calculs suivantes pour l’évaluation de la vraisemblance

sachant α :

p(y |x,α) =∏i

p(xi |xi ,αi ) = ∏i |xi 6=xi

pi ×∏

i |xi=xi

(1−pi )

Dans cette partie on suppose que les affaiblissements αi sont inconnus au

décodage (décodage non supervisé) ; on doit donc maximiser la vraisem-

blance moyenne :

p(y |x) =∫

p(α)p(y |x,α)dα.

10. Calculer p(y |x) en fonction de Peb =∫

p(α)Peb |αdα, probabilité d’erreur-

bit moyenne à la détection BPSK.

11. En déduire que le décodeur optimal est le même que celui qui serait utilisé

pour un canal BSC de paramètre p =Peb .

12. En utilisant le résultat correspondant du document pour le canal BSC,

montrer que la probabilité d’erreur par mot Pe du système codé peut être

majorée, au premier ordre en fort rapport signal à bruit, par :

Pe . c Pd dmin

2 eeb

13. En déduire, à l’aide du résultat de la première partie, une majoration de la

probabilité d’erreur sous la forme :

Pe . c ′1

γL

où L = ddmin2 e est la diversité sur canal de Rayleigh obtenue en décodage

hard non supervisé en fort rapport signal à bruit.

Page 149: 201111 Perf s System Es Codes

7.8. BPSK CODÉE SUR CANAL DE RAYLEIGH 137

Performances en décodage hard supervisé.

On se place dans la même situation que dans la partie précédente, mais en

supposant dorénavant que les affaiblissements αi ont été estimés et sont

connus au décodage. Le critère de maximum de vraisemblance conduit

donc à maximiser :

p(y |x,α) = ∏i |xi 6=xi

pi ×∏

i |xi=xi

(1−pi )

14. Pourquoi un décodeur correcteur d’erreurs classique (qui minimise la

distance de Hamming entre y et x) est-il sous-optimal (pour le critère de

maximum de vraisemblance) dans ce cas ?

15. En s’inspirant du calcul fait au § 3.5.2, montrer que la borne de Bhattacha-

ryya s’écrit :

Px−→x ′|α6∏

i |xi 6=x ′i

2√

pi (1−pi )

On rappelle que pi = Peb |αi 612 e−γα

2i (question 5) et que l’on a Peb =∫

p(αi )Peb |αi dαi 6 12 · 1

1+γ (question 6).

16. En moyennant la borne précédente suivant p(α), montrer que :

Px−→x ′ 6(

1

1+γ)dH (x,x ′)

17. En déduire une majoration de la probabilité d’erreur, au premier ordre en

fort rapport signal à bruit, sous la forme :

Pe . c1

γL′

où L = dmin est la diversité sur canal de Rayleigh obtenue en décodage hard

supervisé en fort rapport signal à bruit.

18. COMMENTER cette valeur de L par rapport au cas non supervisé de la

partie précédente.

Performances en décodage soft.

On considère dans cette partie la modulation BPSK codée par un code

linéaire (n,k,dmin) en décodage soft sur le canal de Rayleigh à affaiblisse-

ments indépendants. On suppose les affaiblissements connus au décodage.

On rappelle que le critère du maximum de vraissemblance conduit ici à

minimiser la distance euclidienne d(y ,α⊗x).

Page 150: 201111 Perf s System Es Codes

138 CHAPITRE 7. EXERCICES

19. Par analogie avec le cas du canal gaussien traité dans ce document, montrer

que la borne de Bhattacharyya s’écrit :

Px−→x ′ |α6 e— 14N0

d 2(α⊗x,α⊗x ′)

20. Sachant que les xi =±p2Em sont des points de la modulation BPSK, mon-

trer, en utilisant le résultat de la question 1, que la borne de Bhattacharyya

se met sous la forme :

Px−→x ′ |α6 e−γ∑

i |xi 6=x′iα2

i .

21. En déduire, à l’aide des résultats de la première partie, que la probabilité

d’erreur par paire (moyennée sur α) est majorée par :

Px−→x ′ 6(

1

1+γ)dH (x,x ′)

où dH (x, x ′) désigne la distance de Hamming entre les mots de code x et

x ′.

22. En utilisant la borne de l’union, montrer que la probabilité d’erreur par

mot du système codé peut être majorée, au premier ordre en fort rapport

signal à bruit, par :

Pe . c1

γL

où L = dmin est la diversité sur canal de Rayleigh obtenue en décodage soft.

23. COMMENTER cette valeur de L par rapport au cas du décodage hard

supervisé. Préférez-vous décoder en soft ou en hard supervisé ? Pourquoi ?

Page 151: 201111 Perf s System Es Codes

7.9. MODULATION PAR SIGNAUX ORTHOGONAUX 139

7.9 Performances de la modulation par des signaux ortho-

gonaux de même énergie sur canal gaussien

On considère n points équiprobables x1, . . . , xn d’une constellation en dimen-

sion n définis par

xi = (0, . . . ,0,p

E︸︷︷︸i ème composante

,0, . . . ,0) ∈Rn .

Le canal est gaussien réel (d.s.p. bilatérale de bruit N0/2).

Préliminaires

1. Justifier le titre de cet exercice.

2. Montrer que l’énergie moyenne d’un symbole réel (∈R) émis vaut

Em = E

n

et que la taux R de la modulation (nombre moyen de bits d’information

par symbole réel ∈R émis) vaut

R = log2 n

n.

3. Rappeler les valeurs appropriées, données en cours, du taux critique R0 et

de la capacité C du canal.

4. Calculer au premier ordre la capacité et le taux critique du canal lorsque la

dimension n tend vers l’infini et γb = EbN0

est fixé (Eb est l’énergie moyenne

émise par bit d’information).

On trouve

C = Rγb

ln2et R0 = Rγb

2ln2

Dorénavant on adoptera ces valeurs pour C et R0.

5. Que devient la bande occupée par la transmission lorsque la dimension n

tend vers l’infini, à débit binaire constant ?

L’objet de cet exercice est de démontrer le théorème R0 et le théorème de

Shannon dans le cas asymptotique où n −→∞ avec cette modulation.

Borne de l’union+Bhattacharyya

Page 152: 201111 Perf s System Es Codes

140 CHAPITRE 7. EXERCICES

6. Une détection optimale est appliquée à la démodulation. En s’appuyant

sur le cours, justifier, par un raisonnement, que la borne de Bhattacharyya

s’écrit :

Px−→x ′ 6 e−1

4N0‖x−x ′‖2

où ‖x‖2 =∑ni=1 x2

i est la norme de Rn .

7. En déduire la majoration suivante de la probabilité d’erreur après démodu-

lation :

Pe 6 (n −1)e−E

N0

8. En déduire que

Pe 6 2−n(R0−R)

9. Conclure (théorème R0 pour n −→∞).

10. La transmission peut-elle être fiable si γb = 1.5 dB ? Si oui, quelle dimension

n faut-il choisir pour garantir une probabilité d’erreur Pe < 10−9 ?

Borne de Gallager

On rappelle la borne de Gallager :

Pe|x i6

∫p(y |xi )

11+µ

(∑j 6=i

p(y |x j )1

1+µ

)µd y

valable pour tout µ> 0.

11. Déterminer p(y |xi ) sous la forme

p(y |xi ) = q(y)e−E

N0 e2p

E yiN0

où q(y) est une densité de probabilité gaussienne en y = (y1, . . . , yn) ∈Rn

que l’on précisera.

12. Appliquer la borne de Gallager et en déduire

Pe|x i6 e−

EN0 E

[e

2p

E yiN0(1+µ)

(∑j 6=i

e2p

E y jN0(1+µ)

)µ]

où l’espérance porte sur la distribution de probabilité q(y).

Page 153: 201111 Perf s System Es Codes

7.9. MODULATION PAR SIGNAUX ORTHOGONAUX 141

13. On suppose dorénavant que 06 µ6 1. Justifier clairement les étapes de

calcul suivantes :

Pe|x i

(1)6 e−

EN0 E

(e

2p

E yiN0(1+µ)

)· E

[(∑j 6=i

e2p

E y jN0(1+µ)

)µ](2)6 e−

EN0 E

(e

2p

E yiN0(1+µ)

)·[

E

(∑j 6=i

e2p

E y jN0(1+µ)

)]µ

Chacune de ces deux étapes est-elle toujours valable si µ> 1 ?

14. En déduire l’expression de la borne sur Pe|x i, puis sur la probabilité d’erreur

moyenne Pe , en fonction de µ, n et de la quantité

ξ= E(e

2p

E yN0(1+µ)

)=

∫e

2p

E yN0(1+µ) q(y)d y

où q(y) = 1pπN0

e−y2

N0 .

15. Calculer ξ et en déduire la majoration

Pe 6 (n −1)µe−µ

1+µE

N0 .

16. Montrer finalement que

Pe 6 2−n

1+µC−µR)

où 06µ6 1. Quelle borne retrouve-t-on en posant µ= 1 ?

Optimisation de la borne de Gallager

On veut minimiser la borne de la question précédente sur µ ∈ [0,1]. Cela

revient à maximiser la fonction

f (µ) = µ

1+µC −µR

17. On note µ∗ la valeur réelle>−1 qui annule la dérivée f ′(µ). Déterminer

µ∗.

18. Montrer que f (µ) est concave et en déduire son maximum sur l’intervalle

µ ∈ [0,1] (On distinguera les trois cas µ∗ < 0, 06µ∗6 1 et µ∗ > 1).

Page 154: 201111 Perf s System Es Codes

142 CHAPITRE 7. EXERCICES

19. En déduire

Pe 6

2−n( C2 −R) lorsque R 6 C

4

2−n(p

C−pR)2lorsque C

4 6R <C

Qu’obtient-on si R >C ? Commenter.

20. Conclure (théorème de Shannon pour n −→∞).

21. La transmission peut-elle être fiable si γb =−1.5 dB ? Si oui, quelle dimen-

sion n faut-il choisir pour garantir une probabilité d’erreur Pe < 10−9 ?

Page 155: 201111 Perf s System Es Codes

7.10. DISTANCES MOYENNES ET THÉORÈME R0 143

7.10 Distribution de distance d’un code moyen et théorème

R0

L’objectif de cet exercice est de démontrer le théorème R0 par un argument

différent de celui fait en cours, dans le cas d’un système codé utilisant un code

défini sur Fq , pour lequel la probabilité d’erreur par paire peut être majorée par

une expression du type :

Px−→x ′ 6 ζdH (x,x ′)

où dH (x, x ′) est la distance de Hamming entre les deux mots de code x et x ′. On

fera l’hypothèse habituelle que les M mots de code ∈ (Fq )n de longueur n sont

équiprobables. On note R = log2 Mn le taux du code.

1. Montrer que cette borne sur la probabilité d’erreur par paire est valable,

par application de la borne de Bhattacharyya, dans les cas suivants (on

déterminera dans chaque cas la valeur de ζ) :

(a) Canal BSC et q-SC de paramètre p.

(b) Canal gaussien, q = 2, décodage hard avec un rapport signal-à-bruit

par bit d’information égal à Eb/N0.

(c) Canal gaussien, q = 2, décodage soft avec un rapport signal-à-bruit

par bit d’information égal à Eb/N0.

(d) Canal binaire à effacement BEC de paramètre π (cf. exercice 7.16).

(e) Canal de Rayleigh, q = 2, décodage hard.

Borne de l’union

2. En utilisant la borne de l’union, montrer la majoration suivante de la pro-

babilité d’erreur :

Pe 6 A(ζ)

où :

A(z) = 1

M

∑16m,m′6M

m 6=m′

zdH (xm ,xm′ ).

s’appelle le polynôme énumérateur de distances du code.

Page 156: 201111 Perf s System Es Codes

144 CHAPITRE 7. EXERCICES

3. En écrivant A(z) sous la forme : A(z) =∑d Ad zd , déterminer et interpréter

Ad .

Réponse : Ad est défini comme le nombre moyen de mots de code xm′

situés à une distance d d’un mot de code xm donné (cf. § 3.7) :

Ad = 1

M

M∑m=1

Card{xm′ |m′ 6= m et dH (xm , xm′) = d}

4. Retrouver l’expression de la borne de l’union+Bhattacharyya vue en cours

pour un code linéaire, en fonction de A(ζ) où A(z) est le polynôme énumé-

rateur de poids du code.

5. Plus généralement montrer que, pour un code linéaire ou non linéaire,

Pe 6 A(ζ)−1

où :

A(z) = 1

M

∑m,m′

zdH (xm ,xm′ ).

généralise la définition de A(z) donnée en cours pour les codes linéaires.

Enumération moyenne

On évalue maintenant la moyenne arithmétique < A(z) > de A(z) sur tous

les codes possibles de longueur n et de taille M .

6. (a) Un mot de code xm étant fixé, combien y a-t-il de mots x ′m à distance

de Hamming d de xm ?

(b) Montrer que, xm étant fixé, la moyenne arithmétique sur tous les mots

possibles x ′m ∈ (Fq )n de la quantité zdH (xm ,xm′ ) est donnée par :

< zdH (xm ,xm′ ) >= 1

qn

∑x ′

m

zdH (xm ,xm′ ) =(

1+ (q −1)z

q

)n

7. En déduire, pour z fixé, la moyenne arithmétique < A(z) > de A(z) sur

l’ensemble de tous les codes possibles (chacun des M mots de code ∈ (Fq )n

pouvant prendre qn valeurs).

Réponse :

< A(z) >= 1/M∑

m 6=m′< zdH (xm ,xm′ ) >= (M −1)

(1+ (q −1)z

q

)n

Page 157: 201111 Perf s System Es Codes

7.10. DISTANCES MOYENNES ET THÉORÈME R0 145

[La valeur de moyenne de Ad est donc :

< Ad >= Cdn (q −1)d

qn/M.]

8. Déduire des questions précédentes que la probabilité d’erreur moyennée

sur l’ensemble des codes possibles vérifie :

<Pe >6 2−n(R0−R)

où R = log2 Mn est le taux du code et

R0 = log2 q − log2(1+ (q −1)ζ)

9. Retrouver et énoncer le théorème R0 dans les cas décrits à la première

question.

Page 158: 201111 Perf s System Es Codes

146 CHAPITRE 7. EXERCICES

7.11 Exposant de Gallager pour le canal gaussien

L’objet de cet exercice est de redémontrer les théorèmes R0 et de Shannon

dans le cas du canal gaussien, à partir de l’expression exacte de l’exposant de

Gallager E0(µ) =− log2 J0(µ) pour une distribution d’entrée gaussienne.

1. Rappeler l’expression de J0(µ) du cours en fonction de µ ∈ [0,1], de la

probabilité de transition du canal p(y |x) et la distribution d’entrée p(x).

2. On considère dans cet exercice un canal gaussien réel. Donner p(y |x) en

fonction de N0 et mettre J0(µ) sous la forme :

J0 = c∫

y

(∫x

p(x)g (y −x)d x

)1+µd y.

où c est une constante fonction de µ et N0 que l’on précisera et g (y) est

une distribution de probabilité gaussienne dont on précisera la variance.

3. Dorénavant on prendra pour p(x) une loi gaussienne. Préciser les para-

mètres de cette loi sachant que l’énergie moyenne par symbole est Em .

4. Dans l’expression ci-dessus de J0(µ), on reconnait sous la parenthèse le

produit de convolution de deux gaussiennes. Montrer que c’est une gaus-

sienne en y dont on précisera la variance.

5. Déduire de la question précédente une expression de J0(µ) sous la forme

d’une constante multipliée par l’intégrale d’une gaussienne.

6. En déduire sa valeur. On trouve :

J0 = 1

1+ 21+µ

EmN0

µ/2

En déduire la valeur de E0(µ) pour une distribution d’entrée gaussienne :

E0(µ) = µ

2log2

(1+ 2

1+µEm

N0

).

7. A l’aide de ce résultat, en considérant l’exposant E(µ) = E0(µ)−µR de la

borne sur la probabilité d’erreur moyenne, redémontrer successivement :

(a) Le théorème R0 en posant µ= 1.

(b) Le théorème de Shannon en prenant µ arbitrairement petit.

8. [Optionnel] Déterminer numériquement et tracer sur un graphique l’expo-

sant optimal maxµ∈[0,1] E(µ) en fonction de R pour différentes valeurs du

rapport signal à bruit. Commenter.

Page 159: 201111 Perf s System Es Codes

7.12. MAXIMISATION DE L’ENTROPIE 147

7.12 Maximisation de l’entropie

Cet exercice est classique en théorie de l’information.

Soit X une v.a. discrète ou continue de loi (ou densité) de probabilité p(x).

L’entropie de la variable X (pour la loi p(x)) est définie par :

H(X ) = H(p) =∑∫x

p(x) log21

p(x)

(Lorsque X est une variable continue cette quantité est souvent appelée entropie

différentielle.) Elle est noté H(X ) ou H(p) selon que l’on désire ou non faire

apparaitre la dépendance en la loi (ou densité) de probabilité p(x).

1. Montrer que si q(x) est une autre loi (ou densité) de probabilité, on a :

H(p)6∑∫

xp(x) log2

1

q(x)

Indication : faire la différence et utiliser l’inégalité log x 6 x −1.

2. Montrer que l’inégalité précédente est une égalité si et seulement si p(x) =q(x) pour presque tout x (i.e., p = q presque sûrement).

3. Soit P un ensemble de lois de probabilité p(x). On suppose qu’il existe

une loi q(x) ∈P telle que la quantité

∑∫x

p(x) log21

q(x)

soit indépendante du choix de p(x) ∈P . Montrer alors que

maxp(x)∈P

H(p) = H(q)

4. Cas d’une v.a. continue de variance σ2

On suppose ici que X est une v.a. continue de variance σ2. L’ensemble P

est donc l’ensemble des densités de variance égale à σ2. En choisissant

q(x) gaussien (moyenne µ, variance σ2) montrer, en utilisant la question

précédente, que :

maxp(x)∈P

H(p) = log2

√2πeσ2

où e est la base des logarithmes néperiens.

Page 160: 201111 Perf s System Es Codes

148 CHAPITRE 7. EXERCICES

5. Cas d’une v.a. discrète

On suppose ici que X est une v.a. discrète défini sur un alphabet à q élé-

ments. En choisissant q(x) = 1q uniforme, montrer, en utilisant la même

démarche qu’à la question précédente, que :

maxp(x)

H(p) = log2 q

Page 161: 201111 Perf s System Es Codes

7.13. BORNE DE SHANNON SUR LA CAPACITÉ 149

7.13 Borne de Shannon sur la capacité

Cet exercice, suite du précédent, est classique en théorie de l’information.

On considère un canal sans mémoire d’entrée X et de sortie :

Y = X +B

où B est une perturbation additive indépendante de X .

Ainsi, dans le cas du canal gaussien, B représente un bruit additif gaussien de

variance σ2b . Dans le cas du canal q-SC, B représente une erreur additive ∈ Fq .

Les probabilités de transition du canal sont notées p(y |x). La capacité du

canal est définie par

C = maxp(x)∈P

I (X ,Y )

où I (X ,Y ) est l’information mutuelle moyenne, fonction de p(x) ∈ P et des

probabilités de transition p(y |x) :

I (X ,Y ) =∑∫x,y

p(x)p(y |x) log2p(y |x)∑∫

up(u)p(y |u)

Ici P est un ensemble de lois (ou densités) de probabilité p(x). Par exemple, pour

un canal continu dont l’entrée est de variance σ2x , P est l’ensemble des densités

de probabilité de variance∫

x (x −µ)2p(x)d x =σ2x .

1. Montrer qu’on peut écrire I (X ,Y ) sous la forme :

I (X ,Y ) =∑∫x,y

p(x, y) log2p(y |x)

p(y)

2. En déduire que :

I (X ,Y ) = H(Y )−∑∫x

p(x)H(Y |X = x)

où H(Y ) et H(Y |X = x) sont des entropies :

H(Y ) =∑∫y

p(y)1

p(y)

H(Y |X = x) =∑∫y

p(y |x)1

p(y |x)

(Le terme∑∫

xp(x)H(Y |X = x) est appelé entropie conditionnelle de Y

sachant X , et est souvent noté H(Y |X ).)

Page 162: 201111 Perf s System Es Codes

150 CHAPITRE 7. EXERCICES

3. En faisant le changement de variable y = x +b dans l’expression de l’entro-

pie conditionnée H(Y |X = x), montrer que :

C = maxp(x)∈P

{H(Y )}−H(B)

4. En utilisant l’exercice précédent, montrer la borne de Shannon :

C 6H(q)−H(B)

où q(y) est une loi de probabilité bien choisie. Elle est gaussienne si le canal

est continu, auquel cas H (q) = log2

√2πeσ2

y , où σ2y =σ2

x +σ2b ; et uniforme

si le canal est discret, auquel cas H(q) = log2 q .

5. Toujours en utilisant l’exercice précédent, montrer que la borne de Shan-

non est atteinte si on peut choisir p(x) ∈P de sorte que Y = X +B ait pour

loi q(y).

Page 163: 201111 Perf s System Es Codes

7.14. CAPACITÉ DU CANAL GAUSSIEN À ENTRÉE BINAIRE 151

7.14 Calcul de la capacité du canal gaussien à entrée bi-

naire

Dans le cas d’un système codé par un code en blocs binaire sur canal gaussien

réel avec modulation BPSK, les symboles (binaires) à l’entrée du canal sont de

la forme x = ±pEm où Em est l’énergie par bit codé x. La sortie du canal est

Y = X +B , où B est un bruit additif gaussien (indépendant de l’entrée X ) de

variance N0/2.

On note p(0) = p(x =pEm)

p(1) = p(x =−pEm)

la loi de probabilité artificielle introduite dans la cours. Pour obtenir la capacité

du canal gaussien à entrée binaire, il faut maximiser l’information mutuelle

moyenne sur la loi (p(0), p(1)) :

C = maxp(0),p(1)

I (X ,Y )

1. Montrer que la densité de probabilité de la sortie du canal se met sous la

forme :

p(y) = 1pπN0

(p(0)e−

(y−pEm )2

N0 +p(1)e−(y+pEm )2

N0

)2. En calculant H(B), montrer que la borne de Shannon s’écrit :

C 6H(q)− log2

√πeN0

où q(y) est une densité de probabilité «optimale», i.e., telle que l’expression∑∫y

p(y) log21

q(y)

soit indépendante du choix de p(y).

3. Montrer que q(y) est «optimale» si q(y) = q(−y).

Indication : Sous cette condition, les deux intégrales suivantes sont égales :∫e−

(y−pEm )2

N0 log21

q(y)d y =

∫e−

(y+pEm )2

N0 log21

q(y)d y

4. Montrer, à l’aide de la question précédente, qu’un choix convenable pour

q(y) est :

q(y) = 1pπN0

1

2

(e−

(y−pEm )2

N0 +e−(y+pEm )2

N0

)

Page 164: 201111 Perf s System Es Codes

152 CHAPITRE 7. EXERCICES

5. On rappelle que la borne de Shannon est atteinte si on peut trouver p(0) et

p(1) tels que la densité de probabilité de Y = X +B soit égale à p(y) = q(y).

Montrer que la borne de Shannon est effectivement atteinte et donner les

valeurs de p(0) et p(1) correpondantes.

6. Montrer, à l’aide de la question 3, que :

H(q) =∫

r (y) log21

q(y)d y

où on a noté :

r (y) = 1pπN0

e−(y−pEm )2

N0

Montrer de plus que∫

r (y)y2d y = Em +N0/2.

7. Montrer que q(y) se met sous la forme :

q(y) = 1pπN0

e−y2

N0 e−EmN0 cosh

(y

pEm

N0/2

)8. Déduire des deux questions précédentes la valeur de H(q). On trouve :

H(q) = log2

√πeN0 +2

Em

N0 log2−

∫r (y) log2 cosh

(y

pEm

N0/2

)9. En déduire la valeur de la capacité :

C = 2γ

log2− 1p

∫ +∞

−∞e−

y2

2 log2 cosh(

y√

2γ+2γ)

d y

où on a posé γ= EmN0

.

Page 165: 201111 Perf s System Es Codes

7.15. RÉCIPROQUE FORTE DU THÉORÈME DE SHANNON 153

7.15 Réciproque forte du théorème de Shannon

Le théorème de Shannon démontré au chapitre 6 affirme que si R < C , il

existe pour chaque longueur n, un code tel que Pe tend exponentiellement vers

0 quand n −→∞. La réciproque forte du théorème de Shannon (p. 105) affirme

que si R >C , pour tout code, Pe tend exponentiellement vers 1 quand n −→∞.

Cet exercice fournit une démontration de cette «réciproque» dans le cas d’un

canal sans mémoire.

On note Pc = 1−Pe la probabilité de décodage correct pour un code C

donné de longueur n et de taille M . On suppose (comme d’habitude) que les M

mots de codes xm , m = 1, . . . , M , sont équiprobables.

1. Justifier que

Pc = 1

M

M∑m=1

Pc|xm,

où la probabilité de décodage correct sachant xm est donnée par :

Pc|xm=∑∫

y |p(y |xm )maxp(y |xm)

Cette sommation porte sur les y tels que p(y |xm) est maximum parmi les

p(y |xm′), m′ = 1, . . . , M .

2. En déduire que

Pc = 1

M

∑∫y

maxx∈C

p(y |x).

3. On introduit un paramètre µ>−1. Montrer que

maxx∈C

p(y |x)6

( ∑x∈C

p(y |x)1

1+µ

)1+µ

Indication : On a max f (x) =(max( f (x)

11+µ )

)1+µ.

4. Déduire des deux questions précédentes que :

Pc 6Mµ∑∫y

[E

(p(y |x)

11+µ

)]1+µ

où l’espérance porte sur le loi de probabilité :

p(x) =

1

M si x ∈C

0 sinon.

Page 166: 201111 Perf s System Es Codes

154 CHAPITRE 7. EXERCICES

On veut maintenant trouver une distribution de probabilité p(x) qui maxi-

mise la borne sur Pc . On admettra que ce maximum est atteint pour une

distribution p(x) du type :

p(x) =∏i

p(xi )

5. Justifier, en utilisant un calcul fait au chapitre 6, qu’avec cette hypothèse

p(x) =∏i p(xi ), on a, pour un canal sans mémoire,

Pc 6 2−n minp(x)(E0(µ)−µR)

où R est le taux du code et E0(µ) est l’exposant de Gallager.

6. On rappelle (cf. chap. 6) que la fonction E(µ) = E0(µ)−µR vaut 0 en µ= 0

et que sa dérivée E ′(µ) vaut I (X ,Y )−R en µ= 0.

Par un raisonnement analogue à celui fait au chapitre 6, montrer que, pour

toute distribution p(x) et pour R > C > I (X ,Y ) (où C est la capacité du

canal), on a : E ′(µ = 0) < 0, de sorte qu’on peut trouver µ > −1 tel que

E(µ) > 0.

7. Conclure : Pc −→ 0, d’où Pe −→ 1 quand n −→∞.

Page 167: 201111 Perf s System Es Codes

7.16. PERFORMANCES SUR LE CANAL BINAIRE À EFFACEMENT 155

7.16 Performances de systèmes codés sur le canal binaire

à effacement

On considère un système codé (par un code linéaire) sur le canal à effacement

(BEC) de paramètre π (probabilité d’effacement). Les mots de codes émis sont

équiprobables. On appelle Σ le motif d’effacements dans le mot reçu y , et ρ =CardΣ leur nombre. Σ est évidemment connu à la réception. On note y

Σle mot

constitué par les composantes non effacés de y . De même xΣ désigne le mot

constitué par les composantes xi , i 6∈Σ.

Maximum de vraisemblance

Par application de la règle du maximum de vraisemblance, montrer que, pour

un motif d’effacements Σ donné :

1. le cas d’ex aequo (plusieurs mots de code maximisent la vraisemblance)

correspond au cas où au moins deux mots de code x et x ′ sont tels que

xΣ = x ′Σ. Dans ce cas, on adoptera la vision pessimiste (comme dans le

document) qu’il y a erreur de décodage.

2. il n’y a donc décodage correct que lorsqu’il existe un unique mot de code x

tel que xΣ = yΣ

.

Borne de l’union

3. Montrer que, sachantΣ, la probabilité d’erreur par paire vaut 1 si les compo-

santes distinctes des deux mots de code sont effacées, et 0 sinon. Autrement

dit :

Px−→x ′|Σ = δΣ⊃I

où I est l’ensemble des incides i tels que xi 6= x ′i .

4. En déduire, en moyennant sur Σ, que :

Px−→x ′ =πdH (x,x ′)

5. Calculer la borne de Bhattacharyya (on pourra appliquer le calcul général

de la section 3.5.2) et montrer qu’elle est exacte.

6. En déduire la borne de l’union :

Pe 6 A(π)−1

Page 168: 201111 Perf s System Es Codes

156 CHAPITRE 7. EXERCICES

où A(z) est le polynôme énumérateur de poids du code.

Calcul du taux critique R0

Indication pour cette partie : On pourra s’aider du calcul fait au chapitre 6

pour le BSC.

7. Calculer J0 en utilisant le résultat de la question 5.

8. En déduire le taux critique du BEC :

R0 = 1− log2(1+π)

Calcul de la capacité C

Dans cette partie on utilisera le résultat suivant de l’exercice 7.13 :

I (X ,Y ) = H(Y )−∑x

p(x)H(Y |X = x)

9. Calculer H(Y ) et H(Y |X = x). On trouve :

H(Y ) = H2(π)+ (1−π)H(X ) et H(Y |X = x) = H2(π)

où H2(x) = x log21x + (1− x) log2

11−x est la fonction d’entropie binaire. En

déduire l’expression de I (X ,Y ).

10. En déduire, en utilisant le résultat de l’exercice 7.12, la valeur de la capacité

du canal BEC :

C = 1−π

et interpréter ce résultat.

11. Dessiner les graphes de R0 et C en fonction de π et montrer directement

que R0 <C . Indication : On pourra utiliser l’inégalité de Jensen appliquée à

la fonction log2(1+x) et à la v.a. binaire X telle que pX (0) = 1−π, pX (1) =π.

Codage optimal en stratégie ARQ

Dans cette partie on considère le canal BEC avec une voie de retour sans

délai et sans bruit. On utilise le code trivial (dit universel) de paramètres

(1,1) en stratégie ARQ.

12. Expliciter l’algorithme de décodage. Que vaut la probabilité d’erreur ? (ré-

ponse : 0).

Page 169: 201111 Perf s System Es Codes

7.16. PERFORMANCES SUR LE CANAL BINAIRE À EFFACEMENT 157

13. Soit r le nombre de (re)transmissions d’un bit d’information. Montrer que

p(r ) =πr−1(1−π).

14. En déduire le nombre moyen E(r ) de (re)transmissions d’un bit.

15. Montrer que le taux moyen du système codé R (nombre moyen de bits

codés par bit d’information) est égal à la capacité du canal.

16. On montre, en théorie de l’information, que la réciproque du théorème de

Shannon pour un canal avec voie de retour est toujours valable : Pour tout

système codé, on a R 6C si la transmission est fiable. Commenter, au vu

de ce résultat, les performances obtenues du système considéré.