COM105 Communications Numériques et Théorie de l`Information

publicité
COM105
Communications Numériques
et Théorie de l’Information
Jean-Claude Belfiore, Philippe Ciblat, Michèle Wigger
15 mai 2014
Table des matières
Introduction générale
1
1 Codage correcteur d’erreur
1.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.2 Modèle de canaux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.2.1 Le canal binaire symétrique . . . . . . . . . . . . . . . . . . . . . . .
1.2.2 Le canal binaire à effacement . . . . . . . . . . . . . . . . . . . . . .
1.2.3 Le canal gaussien à entrées binaires . . . . . . . . . . . . . . . . . .
1.3 Généralités sur les codes en bloc . . . . . . . . . . . . . . . . . . . . . . . .
1.4 Généralités sur les décodeurs . . . . . . . . . . . . . . . . . . . . . . . . . .
1.4.1 Le maximum de vraisemblance . . . . . . . . . . . . . . . . . . . . .
1.4.2 Correction d’erreur . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.4.3 Détection d’erreur . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.5 Codes linéaires en bloc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.5.1 Rappel sur les corps finis . . . . . . . . . . . . . . . . . . . . . . . .
1.5.2 Structure algébrique des codes linéaires . . . . . . . . . . . . . . . .
1.5.3 Paramètres des codes linéaires . . . . . . . . . . . . . . . . . . . . .
1.5.4 Description du codeur : notion de matrices génératrices . . . . . . .
1.6 Décodeur des codes linéaires . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.6.1 Notion d’orthogonalité et de code dual . . . . . . . . . . . . . . . . .
1.6.2 Matrice de contrôle de parité . . . . . . . . . . . . . . . . . . . . . .
1.6.3 Notion de syndrome . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.6.4 Borne de Singleton . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.6.5 Décodage par syndrome : exemple avec le code de Hamming (7, 4, 3)
1.7 Performances . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.8 Bilan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2 Théorie de l’information
2.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . .
2.2 Entropie et Information mutuelle . . . . . . . . . . . . . .
2.2.1 Entropie . . . . . . . . . . . . . . . . . . . . . . . .
2.2.2 Entropie conjointe . . . . . . . . . . . . . . . . . .
2.2.3 Entropie conditionnelle . . . . . . . . . . . . . . .
2.2.4 Information mutuelle . . . . . . . . . . . . . . . . .
2.3 Modèle des canaux discrets sans mémoire (DMC) . . . . .
2.4 Définition et théorème de la capacité pour le DMC . . . .
2.5 Expressions analytiques de la capacité de quelques canaux
2.5.1 Cas du canal binaire symétrique . . . . . . . . . .
2.5.2 Cas du canal binaire à effacement . . . . . . . . .
2.5.3 Cas du canal gaussien . . . . . . . . . . . . . . . .
2.6 Bilan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
i
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
3
3
4
4
5
5
5
6
6
7
8
8
9
9
10
11
13
14
14
15
15
16
17
18
.
.
.
.
.
.
.
.
.
.
.
.
.
19
19
20
20
22
24
25
26
27
29
29
30
31
33
3 Modulations numériques
3.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.2 Canal de propagation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.3 Description de l’émetteur . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.3.1 Un exemple-jouet (mais réel !) . . . . . . . . . . . . . . . . . . . . . .
3.3.2 Des bits aux symboles d’information . . . . . . . . . . . . . . . . . .
3.3.3 Du signal à temps discret au signal à temps continu . . . . . . . . .
3.4 Description de récepteur . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.4.1 Du signal à temps continu au signal à temps discret : le filtre adapté
3.4.2 De l’interférence entre symboles : le filtre de Nyquist . . . . . . . . .
3.4.3 Détecteur optimal . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.5 Performances . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.5.1 Probabilité d’erreur bit pour la M -PAM . . . . . . . . . . . . . . . .
3.5.2 Lien avec le codage correcteur d’erreur du chapitre 1 . . . . . . . . .
3.5.3 Lien avec la théorie de l’information du chapitre 2 . . . . . . . . . .
3.5.4 Lien entre les paramètres de dimensionnement d’un système . . . . .
3.6 Bilan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
A Quelques preuves relatives au chapitre
A.1 Preuve du résultat 3.2 . . . . . . . . .
A.2 Preuve du résultat 3.3 . . . . . . . . .
A.3 Preuve du résultat 3.12 . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
35
35
36
39
39
40
42
45
45
48
51
55
55
58
60
62
64
3
65
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
Notations
Outils mathématiques :
√
– Nombre imaginaire pur : i = −1
R∞
– Transformée de Fourier : X(f ) = FT(x(t)) = t=−∞ x(t)e−2πif t d t
R∞
– Transformée de Fourier Inverse : x(t) = IFT(X(f )) = f =−∞ X(f )e2πif t d f
– Alphabet d’une variable aléatoire X : X
– Loi de probabilité d’une variable aléatoire discrète X (prob. mass func. -pmf-) : x 7→ PX (x)
– Loi de probabilité conjointe d’une paire de variables aléatoires discrètes (X, Y ) : (x, y) 7→ PXY (x, y)
– Loi de probabilité conditionnelle d’une variable aléatoire discrète X par rapport Ãă une deuxième
variable Y = y : x 7→ PX|Y (x|y)
– Densité de probabilité d’une variable aléatoire continue X (prob. density func. -pdf-) : x 7→ pX (x)
– Densité de probabilité conditionelle d’une variable aléatoire continue X par rapport Ãă une deuxième
variable Y : x 7→ pX|Y (x|y)
– Probabilité de l’événement ω : Pr(ω)
Signaux et suites :
– Autocorrélation d’un signal aléatoire x(t) : rxx (t, τ ) = E[x(t + τ )x(t)]
– Densité spectrale de puissance d’un signal aléatoire x(t) : f 7→ Sxx (f ) – Variance d’une suite aléatoire {sk }k : σs2 = E[(sk − ms )2 ] avec ms = E sk
– Puissance moyenne du signal x(t) : Px
Codage et modulation :
– Bits de la source ou Données : {dm }m (typiquement i.i.d. Bernouilli de probabilité 1/2)
– Bits codés : {cm }m
– Longueur d’un mot de code : n (attention, n sera parfois une variable muette de sommation mais cela
ne devrait créer aucune ambiguïté)
– Nombre de bits d’information dans un mot de code : k (idem, k sera parfois une variable muette de
sommation mais cela ne devrait créer aucune ambiguïté)
– Rendement d’un code correcteur d’erreur : R = k/n
– Symboles émis : {sk }P
k
– Signal émis : x(t) = k sk g(t − kTs )
– Filtre de mise en forme : g(t)
– Durée d’un symbole : Ts
– Temps-bit : Tb
– Débit (bit utile) : Db = R/Tb
– Signal reçu : y(t) = x(t) + b(t)
– Bruit blanc gaussien de moyenne nulle et de niveau spectral N0 /2 : b(t)
– Filtre de réception : gr (t)
– Signal après filtrage de réception : z(t) = (y ? gr )(t)
– Signal après échantillonnage : zk = (y?gr )(kTs ) (quand g?gr satisfait le critère de Nyquist, zk = sk +wk
avec wk une gaussienne i.i.d. de moyenne nulle et de variance N0 /2)
Théorie de l’information
– Entropie d’une variable aléatoire X : H(X)
– Entropie conditionelle d’une variable aléatoire X sachant Y : H(X|Y )
– Entropie jointe d’une paire de variable aléatoires (X, Y ) : H(X, Y )
– Fonction d’entropie binaire : Hb (·)
– Information mutuelle de X et Y : I(X; Y )
– Capacité de canal : C
Paramètres du système :
– Largeur de bande : B
– Facteur d’excès de bande : ρ
– Energie par symbole : Es
– Energie par bit utile : Eb
– Probabilité d’erreur symbole : Pe
– Probabilité d’erreur bit : Pb
– Rapport Signal-à-Bruit (RSB) : RSB = 2Es /N0
Abréviations
–
–
–
–
–
–
–
–
–
–
–
–
–
–
–
BEC : Binary Erasure Channel. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Canal Binaire à Effacement
BER : Bit Error Rate. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Taux d’Erreur Bit
BSC : Binary Symmetric Channel. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Canal Binaire Symétrique
DMC : Discrete Memoryless Channel. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Canal Discret sans Mémoire
FEC : Forward Error Correction. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Code Correcteur d’Erreur
FT : Fourier Transform. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Transformée de Fourier
IFT : Inverse Fourier Transform. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Transformée de Fourier Inverse
i.i.d. : Independent and identically distributed. . . . . . . . . . . . . . . . indépendant et identiquement distribué
ISI : Intersymbol Interference. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Interférence Entre Symboles
MIMO : Multi-Input Multi-Output Antenna. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Multi entrées- Multi sorties
OOK : On-Off Keying. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .Marche-Arrêt
PAM : Pulse Amplitude Modulation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Modulation d’Amplitude
QoS : Quality of Service. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Qualité de Service
SIMO : Single-Input Multi-Output Antenna. . . . . . . . . . . . . . . . . . . . . . . . . . . . Une entrée - Plusieurs sorties
SNR : Signal-to-Noise Ratio. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Rapport Signal-à-Bruit
Introduction générale
Sur la figure 1, nous avons représenté sur un même schéma un ensemble de réseaux de communication
ayant des supports très différents (DVD, câble de cuivre, fibre optique, sans fil) et offrant des fonctionnalités très différentes : téléphone, transfert de données, flux vidéo (video streaming, en anglais), télévision,
stockage dans des centres de données (data centers, en anglais). D’autres supports de communication, non
dessinés sur la figure 1, existent tels que la clef USB, les molécules (via les communications moléculaires), le
système cérébral (que certains chercheurs tentent d’expliquer via les principes et outils de communications
numériques), etc.
.
Satellite
Wifi
Téléphone 2G/3G/4G
Fibre optique
DVD
.
Paire de cuivre/Câble
Figure 1 – Un ensemble de réseaux de communication
Néanmoins tous ces éléments ont un point commun : les données sont numérisées et doivent être transmises
à travers un canal de propagation. Le domaine des communications numériques regroupe de ce fait les
problématiques suivantes
• comprimer
• transmettre
• sauvegarder
l’information de manière fiable avec un coût faible (par coût, on peut entendre, consommation
énergétique, occupation spectrale, complexité raisonnable, etc).
Dans ce polycopié, afin de simplifier, nous allons nous intéresser uniquement à des communications dites
point-à-point, c’est-à-dire, entre un seul émetteur et un seul récepteur. Nous passerons donc sous silence la
dimension multipoints-à-multipoints de tout réseau de communication, c’est-à-dire, quand plusieurs utilisateurs sont présents dans le système ou bien que le réseau a plusieurs flux de données à gérer de manière
simultanée. Cette dimension « réseau » des communications numériques est évidemment abordée dans les
cours du cycle Master (COM223, COM224, COMMDI225, COM344 et COM345) et la recherche académique
ainsi qu’industrielle est actuellement très active sur cette dimension. En effet, les outils et techniques développés en communications numériques point-à-point offrent des perspectives très prometteuses pour optimiser
les réseaux dans leur entier. Historiquement, la stratification OSI a découplée les deux domaines : la science
des communications numériques développe les technologies pour bien transmettre UN paquet ; la science des
2
Introduction générale
réseaux apprend à manipuler efficacement LES paquets. Ce découplage est en fait clairement sous-optimal
et tend à s’estomper dans les systèmes en voie de standardisation. La conséquence en est l’insertion de plus
en plus forte des techniques de communications numériques dans le cœur des réseaux.
Comme déjà dit, ce polycopié offre seulement quelques prolégomènes à l’étude des communications numériques. Classiquement, les communications sont subdivisées en trois sous-domaines que nous retrouvons
dans notre découpage en trois chapitres :
• Dans le chapitre 1, vous apprendrez comment protéger les données contre des erreurs éventuelles via
l’outil du codage correcteur d’erreur.
• Dans le chapitre 2, vous apprendrez que les communications numériques ont des performanceslimites (par exemple, en terme de débit) via l’outil de la théorie de l’information. Vous définirez
en autre la notion (de quantité) d’information.
• Dans le chapitre 3, vous apprendrez à envoyer et recevoir les données protégées sur les supports de
communication (qui peuvent être de tout type : fibre, câble, atmosphère, etc) via l’outil des modulations numériques.
Tout chapitre se termine par une section, dite « Bilan », dans laquelle nous synthétisons dans deux
boîtes les concepts de base à retenir et les savoir-faire à acquérir (qui sont en lien avec les TDs). De
plus quelques perspectives seront données afin de vous donner quelques idées sur les cours associés du cycle
Master et les thématiques de recherche actives sur le sujet.
Chapitre 1
Codage correcteur d’erreur
1.1
Introduction
Qu’est-ce-que le codage dit correcteur d’erreur ? A quoi cela sert-il ? Avant de commencer à détailler les
principes du codage correcteur d’erreur, il faut fixer la terminologie. Pour cela, examinons d’un peu plus
près le contexte d’utilisation du codage correcteur d’erreur. En fait, ce qualificatif « correcteur d’erreur »
renvoie uniquement au cas où on l’associe à une application générant des erreurs qu’il faut réduire ou même
éliminer. Mais corriger des erreurs représente un scénario qui est devenu, avec le temps, bien minoritaire
par rapport à tout ce qu’un code correcteur d’erreur peut faire. Car il peut aussi remplir des effacements
(décider si un bit effacé est égal à 0 ou à 1). Il peut aussi éventuellement réduire les effets du bruit et tant
d’autres choses. C’est pour cela qu’il vaut mieux l’appeler « codage de canal » en lieu et place de « codage
correcteur d’erreur » car il est fondamentalement utile et même nécessaire pour limiter les effets néfastes du
canal de transmission.
Il est temps maintenant de donner une terminologie détaillée liée au codage. Pour cela, on se sert de la
figure 1.1 qui donne une idée simple de l’architecture d’un système de communication lorsqu’on s’intéresse
de plus près au codage.
Source
Codeur
Canal
Décodeur
Destinataire
Figure 1.1 – Schéma général d’un système de communication codé
1. Un code est l’ensemble des mots qui sont susceptibles d’être émis et donc de passer à travers le canal.
2. Un codeur est une bijection entre un ensemble de bits qui représente les données que l’on veut transmettre et les mots de code effectivement transmis.
3. Un décodeur retrouve, à partir de la sortie du canal, les données transmises avec une grande probabilité.
Exemple 1.1 Considérons un code à répétition C = {(000), (111)}. Il contient deux mots de code. La table
1.1 donne la correspondance entre les données que l’on veut transmettre et les mots de code qui seront
effectivement transmis à travers le canal. Le code ne comportant que deux mots, il suffit de log2 (2) = 1 bit
d’information pour les étiqueter.
Données
0
1
Mot de code
000
111
Table 1.1 – Codeur du code à répétition de longueur 3
Ce chapitre sera organisé de la manière suivante :
• en section 1.2, nous introduisons quelques modélisations de canaux, c’est-à-dire, des distorsions qui
peuvent intervenir sur les données transmises. Ces modèles ont une justification pratique qui sera
donnée dans le chapitre 3.
4
Codage correcteur d’erreur
• en section 1.3, nous introduisons la notion de code correcteur d’erreur avec notamment la notion
essentielle de distance minimale (de Hamming).
• en section 1.4, nous présentons de manière très générale quelques résultats fort utiles de la théorie de
la détection et les appliquons à la problématique de décodage de codes correcteur d’erreur.
• en section 1.5, nous nous intéressons aux codes en bloc linéaires qui sont une classe très répandue de
codes car offrant des facilités de manipulations tant pratique que théorique.
• en section 1.6, nous présentons une technique de décodage de codes en bloc linéaires qui s’appelle
l’algorithme du syndrome.
• en section 1.7, nous analysons théoriquement les performances des codes. Les résultats obtenus dans
cette sectino prendront tout leur sens avec leurs applications à des systèmes pratiques données à la
sous-section 3.5.2 du chapitre 3.
En section 1.8, nous faisons un bilan de ce chapitre en rappellant les éléments essentiels à retenir et les
outils à maîtriser.
1.2
Modèle de canaux
Il existe plusieurs modèles de canaux. Chaque modèle correspond à une vision simplifiée de systèmes de
communication pratiques. Nous présentons ici trois de ces modèles de canaux parmi les plus emblématiques.
Chacun de ces modèles représente une version simplifiée de ce qui est rencontré en pratique. La variable
aléatoire (notée X) que l’on trouve à l’entrée du canal représente seulement un bit transmis.
1.2.1
Le canal binaire symétrique
Ce canal introduit des erreurs sur les bits transmis. La probabilité qu’il y ait une erreur est une constante
notée p et ne dépend ni du bit émis ni du passé. Sur la figure 1.2 on peut voir un schéma d’un tel canal que
1−p
0
0
p
p
1
1−p
1
Figure 1.2 – Canal binaire symétrique
l’on note aussi BSC (acronyme venant de l’anglais “Binary Symmetric Channel ”). La variable d’entrée X est
une variable aléatoire binaire, de même que la variable aléatoire de sortie. Les paramètres qui étiquettent
les transitions du canal sont appelés « probabilités de transition ». Elles correspondent respectivement aux
définitions suivantes :
Pr {Y = 0|X = 0}
Pr {Y = 0|X = 1}
=
=
Pr {Y = 1|X = 1} = 1 − p
Pr {Y = 1|X = 0} = p
où on remarque que les probabilités d’erreur ne dépendent pas des symboles transmis.
Notez qu’on peut toujours supposer que p ≤ 1/2. Si ce n’est pas le cas, il suffit de changer, à la sortie du
canal, tous les 0 en 1 et les 1 en 0.
5
Généralités sur les codes en bloc
1.2.2
Le canal binaire à effacement
Ce canal n’introduit aucune erreur. Par contre, il efface certains bits avec une certaine probabilité. La
figure 1.3 donne un schéma de ce canal.
.
0
1−ǫ
0
ǫ
∆
ǫ
1
1
1−ǫ
.
Figure 1.3 – Canal binaire à effacement
On remarquera que la variable aléatoire de sortie du canal Y prend ses valeurs dans un alphabet ternaire
{0, 1, ∆} où ∆ représente l’effacement. Ce canal est souvent utilisé comme modèle pour pour les réseaux.
L’effacement modélise alors les pertes de paquets.
1.2.3
Le canal gaussien à entrées binaires
Ce canal enfin modélise la couche physique lorsqu’une modulation binaire est utilisée. De plus amples
justifications ne pourront en fait être données qu’au chapitre 3. La variable d’entrée X est supposée binaire
à valeurs dans {0, 1}. Quant à la variable de sortie Y , elle est à valeurs continues dans R. Elle est reliée à X
par l’équation suivante :
X
Y = (−1) A + W
où A est l’amplitude utilisée pour transmettre le bit et W est une variable aléatoire gaussienne centrée. Ce
canal modélise la couche physique d’un système de communication utilisant la modulation 2-PAM (Pulse
Amplitude Modulation) décrite dans le chapitre 3.
1.3
Généralités sur les codes en bloc
Dans ce polycopié, nous allons nous intéresser uniquement aux codes en bloc. Ces codes sont utilisés
(parfois couplés avec d’autres types de codes) dans tous les systèmes actuels (2G, 3G, 4G, ADSL, TNT, etc).
Pour définir un tel code, il faut d’abord se donner un alphabet. Dans les cas pratiques, cet alphabet sera
principalement (mais pas toujours) l’alphabet binaire X = {0, 1}. En effet, ayant adopté depuis longtemps
la logique binaire, il nous faut transmettre en binaire.
Définition 1.1 (Rendement) Le rendement (binaire) d’un code en bloc de longueur n, aussi appelé taux
de codage, est
log2 (|C|)
R=
(1.1)
n
où |C| désigne le nombre de mots du code C.
Nous remarquons que log2 (|C|) est le nombre de bits à utiliser pour étiqueter tous les mots de C.
La distance minimale d’un code en bloc est un paramètre très important qui mesure, entre autres,
si un code est « bon » ou pas. Avant de donner la définition de la distance minimale, nous introduisons
la distance de Hamming. Elle mesure le nombre de symboles par lesquels deux mots diffèrent. On définit
tout d’abord la distance de Hamming entre deux symboles comme étant égale à 0 si les deux symboles sont
identiques et égale à 1 sinon. Soient alors les mots x = (x1 , x2 , . . . , xn ) et y = (y1 , y2 , . . . , yn ). La distance
de Hamming entre ces deux mots est
dH (x, y) =
n
X
i=1
dH (xi , yi )
6
Codage correcteur d’erreur
avec dH (xi , yi ) la distance de Hamming entre les symboles xi et yi .
La distance minimale d’un code en bloc C est la plus petite distance de Hamming entre deux mots
distincts de C.
Définition 1.2 (Distance minimale) La distance minimale dmin du code en bloc C est
dmin (C) =
1.4
min
x,y∈C,x6=y
dH (x, y) .
(1.2)
Généralités sur les décodeurs
Le rôle de n’importe quel décodeur est de retrouver, à partir de la sortie du canal, les bits qui ont été
transmis. Le décodage se fait en deux étapes :
1. A partir du mot reçu (qui correspond à celui à la sortie du canal), trouver un mot de code qui paraît
être le plus probable (nous verrons que cela a un sens très précis).
2. A partir du mot de code trouvé à l’étape 1, en déduire les bits d’information qui ont été transmis.
Commençons par un exemple, celui du code à répétition de longueur 3 sur le canal binaire symétrique.
Nous supposons que le codeur utilisé est celui du tableau 1.1. Le canal introduit des erreurs aléatoires
indépendantes avec une probabilité p ≤ 1/2. Donc la probabilité qu’il y ait deux erreurs est p2 , etc.
Supposons que le décodeur décide en faveur du mot de code le plus proche (au sens de la distance
de Hamming) du mot reçu. Ce critère est en fait celui qui minimise la probabilité d’erreur par mot après
décodage comme nous le verrons en sous-section 1.4.1 car il favorise le scénario correspondant au moins
d’erreurs possible.
Si le mot de code émis est (0 0 0) et que le canal introduit une erreur en position 2, alors le décodeur
recevra le mot (0 1 0). Les deux seuls mots de code étant (0 0 0) et (1 1 1), le mot de code choisi par le
décodeur sera (0 0 0) car la distance entre ce mot et le mot reçu est égale à 1 alors qu’elle est égale à 2 pour
le second mot de code. Donc, l’erreur est décodée. Par contre, on peut vérifier que si le nombre d’erreurs était
égal à 2, alors le décodeur choisirait l’autre mot de code et ne parviendrait pas à corriger ces deux erreurs.
1.4.1
Le maximum de vraisemblance
Le critère de décodage le plus utilisé est le critère du maximum de vraisemblance, qui peut être évalué
sur tous les modèles de canaux donnés ci-dessus. C’est un critère très important qui peut être utilisé dans
d’autres applications que le codage, en fait, dans tout problème de détection (détection d’un visage dans une
image, détection de symboles au chapitre 3, reconnaissance du locuteur, détection d’anomalie, détection de
présence, etc). On suppose, dans la suite, que le mot de longueur n émis est le mot x. Le mot reçu, après
passage dans le canal, est le mot y.
Xn
Canal
Yn
Décodeur
X̂ n
Figure 1.4 – Décodage
La variable aléatoire qui désigne l’entrée du canal est la variable X. Le vecteur aléatoire composé de n
copies de la variable X sera noté X n . De même, la variable aléatoire qui désigne l’entrée du canal est la
variable Y et le vecteur aléatoire composé de n copies de la variable Y sera noté Y n . La figure 1.4 représente
de façon schématique le décodeur avec toutes les variables aléatoires.
On suppose que la règle de décodage vérifie les propriétés suivantes :
• L’ensemble de tous les vecteurs y pour lesquels le décodeur choisit le mot de code x sera noté Ωx .
• La règle de décodage est une règle déterministe.
• La règle de décodage est celle qui minimise la probabilité d’erreur par mot après décodage (ce qui
semble raisonnable) .
7
Généralités sur les décodeurs
La probabilité d’erreur s’écrit
Pe = 1 − Pc
où Pc désigne la probabilité de décision correcte par mot après décodage. Soit x̂ le mot choisi par le décodeur.
Il y a décision correcte lorsque x̂ = c où c est le mot de code transmis. Nous pouvons à présent calculer Pc ,
Pc
Pr {x̂ = c}
X
=
Pr {x̂ = x|c = x} Pr {c = x}
=
x∈C
Or, le décodeur choisit c si et seulement si y ∈ Ωc . Nous en déduisons
X
Pc =
Pr {y ∈ Ωc |c = x} Pr {c = x}
x∈C
=
XZ
x∈C
Ωc
pY n |X n (y, x) Pr {c = x} dy
(1.3)
On voit donc, d’après l’équation (1.3), que pour maximiser la probabilité de décision correcte Pc , il faut
maximiser
(1.4)
PY n |X n (y, x) Pr {c = x}
ce qui est, en général, une opération complexe lorsque le nombre de mots de code est élevé. La complexité de
cette opération est principalement due à la probabilité a priori Pr {c = x}. Pour contourner ce problème, on
suppose que les mots de code sont tous émis avec la même probabilité. Donc, la maximisation de l’expression
(1.4) revient à la maximisation de
PY n |X n (y, x)
que l’on nomme vraisemblance.
Pour résumer, si les mots de code sont tous émis avec la même probabilité, minimiser la probabilité
d’erreur par mot après décodage, revient à maximiser la vraisemblance. Donc, le décodeur va choisir le mot
de code
x̂ = arg max PY n |X n (y, x)
(1.5)
x∈C
où arg signifie que le mot décodé est égal au mot de code qui maximise la vraisemblance. Cette règle est
nommée “règle du maximum de vraisemblance”. Nous développons cette règle ci-dessous dans le cas du canal
binaire symétrique illustré dans la figure 1.2. Dans ce cas, puisque le canal est sans mémoire, la vraisemblance
s’écrit
n
Y
PY n |X n (y, x) =
PY |X (yi , xi ) .
i=1
Or, PY |X (yi , xi ) = p si yi 6= xi et PY |X (yi , xi ) = 1 − p dans le cas contraire. Donc on peut écrire,
PY n |X n (y, x)
=
n
Y
PY |X
i=1
dH (y,x)
(yi , xi )
(1 − p)n−dH (y,x)
dH (y,x)
p
(1 − p)n ·
.
1−p
= p
=
Si p < 1/2, alors on a p/(1 − p) < 1 ce qui nous permet de déduire le résultat suivant.
Résultat 1.1 Si p < 1/2, le décodeur minimisant la probabilité d’erreur par mot pour un canal binaire
symétrique revient, en maximisant la vraisemblance, à trouver le mot de code x qui minimise dH (y, x), la
distance de Hamming entre le mot reçu et x.
1.4.2
Correction d’erreur
Nous nous intéressons ici au nombre d’erreur qu’un code peut corriger. Tout d’abord, nous donnons une
définition de la capacité de correction d’erreur d’un code.
8
Codage correcteur d’erreur
Définition 1.3 On dit qu’un code en bloc C corrige t erreurs s’il peut corriger toutes les configurations
d’erreurs dont le nombre est inférieur ou égal à t.
Supposons maintenant que le canal introduit t erreurs. Ceci signifie que, si x est le mot émis et y le mot
reçu, alors dH (y, x) = t. Que signifie « le décodeur corrige » ? Cela veut dire que le mot décodé sera le mot
émis x. Donc, pour pouvoir décoder x, il faut qu’il n’y ait aucun mot x0 dans le code tel que dH (y, x0 ) ≤ t.
Supposons qu’un tel mot x0 existe. La distance de Hamming entre x et x0 peut être bornée en utilisant
l’inégalité triangulaire,
dH (x, x0 ) ≤
≤
dH (y, x) + dH (y, x0 )
2t.
(1.6)
Supposons maintenant que dmin (C) ≥ 2t + 1. Alors, la condition (1.6) ne peut plus être vérifiée, donc un tel
x0 n’existe pas, ce qui fait que les t erreurs seront toujours corrigées. Nous en arrivons au résultat suivant,
Résultat 1.2 (Capacité de correction d’un code) Un code de distance minimale dmin peut corriger t
erreurs (au sens de la définition 1.3) si t vérifie
t=
dmin − 1
2
où buc est la partie entière de u.
Ainsi, pour corriger une erreur simple, il faut une distance minimale au moins égale à 3. Pour 2 erreurs,
il faut une distance au moins égale à 5, etc.
1.4.3
Détection d’erreur
Les codes correcteurs d’erreur sont aussi souvent utilisés pour détecter des erreurs (on les retrouve alors
dans plusieurs couches OSI, de la couche MAC à la couche TCP). Lorsqu’ils sont utilisés en détection d’erreur,
le décodage se limite alors à répondre à une seule question : le mot reçu est-il un mot de code ?
Définition 1.4 On dit qu’un code en bloc détecte t0 erreurs si et seulement si il peut détecter toutes les
configurations d’erreurs dont le nombre est inférieur ou égal à t0 .
On en arrive rapidement au résultat suivant,
Résultat 1.3 (Capacité de détection d’un code) Un code en bloc de distance minimale dmin est capable
de détecter t0 erreurs si t0 vérifie
t0 = dmin − 1.
En effet, le décodeur détecte qu’il y a une ou plusieurs erreurs si le mot reçu n’appartient pas au code.
Or, le codeur transmet un mot de code. Il y a non détection des erreurs lorsque le mot reçu est un autre mot
de code. Un autre mot de code étant à une distance de Hamming au moins égale à dmin du mot émis, pour
pouvoir toujours détecter les erreurs, il suffit que leur nombre reste strictement inférieur à dmin .
1.5
Codes linéaires en bloc
Les codes linéaires en bloc sont des codes en bloc particuliers. Pour les construire, nous avons besoin de
plusieurs ingrédients :
• L’alphabet des symboles doit être un corps fini que nous noterons Fq . La lettre F vient de l’anglais
field qui désigne la structure algébrique de « corps ». q est la taille de l’alphabet.
• Un code linéaire en bloc est un espace vectoriel sur Fq .
9
Codes linéaires en bloc
1.5.1
Rappel sur les corps finis
Un corps fini est un alphabet fini X muni d’une addition et d’une multiplication. L’élément neutre de
l’addition sera noté 0 et l’élément neutre de la multiplication sera noté 1. (X , +) est un groupe fini commutatif
et (X \ {0} , ×) est un groupe fini qui est d’emblée commutatif car tout corps fini est commutatif. De plus, la
multiplication est distributive pour l’addition. Le cardinal d’un corps fini q est toujours une puissance d’un
nombre premier, q = pr . Si r = 1, alors l’addition et la multiplication du corps Fp sont définies de la même
façon que sur Z/pZ, c’est-à-dire, l’addition et la multiplication modulo p. Les cas où r 6= 1 ne seront pas
traités ici 1 . Dans toute la suite, nous ne considérerons que le cas binaire F2 , c’est-à-dire, le cas où l’addition
et la multiplication sont celles des entiers modulo 2. Ceci donne lieu aux tables de vérité 1.2.
+
0
1
0
0
1
1
1
0
×
0
1
0
0
0
1
0
1
Table 1.2 – Addition et multiplication sur F2
1.5.2
Structure algébrique des codes linéaires
Dans un code, certes il y a des symboles, mais les véritables éléments d’un code en bloc de longueur n
sont ses mots. Un mot est un vecteur à n composantes sur son alphabet des symboles. Dans le cas binaire,
et en utilisant F2 comme l’alphabet des symboles, l’ensemble des mots binaires de longueur n, noté Fn2 est
un espace vectoriel de dimension n tout comme Rn est un espace vectoriel de dimension n sur le corps des
nombres réels R. L’addition de deux vecteurs s’effectue bien sûr composante par composante.
Exemple 1.2 Supposons n = 2. Tout couple binaire peut s’écrire comme combinaison linéaire d’une base à
2 vecteurs de F22 telle que B = {(1 1), (1 0)} par exemple. Ainsi, on obtient

(0 0) = 0 · (1 1) + 0 · (1 0)



(1 0) = 0 · (1 1) + 1 · (1 0)

(0 1) = 1 · (1 1) + 1 · (1 0)



(1 1) = 1 · (1 1) + 0 · (1 0)
Maintenant qu’est-ce-qu’un code linéaire en bloc ? Nous savons qu’un code en bloc sur un alphabet X est
un sous-ensemble de X n , l’ensemble des n-uplets dont les symboles sont dans X . Un code en bloc linéaire
sur F2 est un code en bloc avec davantage de structure.
Définition 1.5 Un code en bloc linéaire binaire de longueur n est un sous-espace vectoriel de Fn2 .
Comment peut-on vérifier qu’un code en bloc est linéaire ?
• Tout d’abord, le mot (0 0 · · · 0) doit être un mot de code.
• Puis il suffit de vérifier que la somme binaire de deux mots de code est bien un mot de code.
Examinons de plus près deux exemples.
Exemple 1.3 Soit C = {(0 0 0), (1 1 1)}. On reconnaît évidemment le code à répétition de longueur 3. Il
est facile de vérifier que ce code est linéaire et qu’une base de ce code est B = {(1 1 1)}.
Un autre exemple de code de longueur 3,
Exemple 1.4 Soit C = {(0 0 0), (1 1 0), (1 0 1), (0 1 1)}. Il s’agit d’un code de longueur 3 qui est aussi
linéaire. On reconnaît un code de parité. Une base de ce code est B = {(1 1 0), (0 1 1)} puisque le seul mot
de code non nul qui n’est pas dans la base B s’écrit
(1 0 1) = 1 · (1 1 0) + 1 · (0 1 1).
1. Les codes de Reed-Solomon sont des codes très utilisés dans de nombreux systèmes. Ils sont construits, dans la plupart
des cas, sur le corps F256
10
1.5.3
Codage correcteur d’erreur
Paramètres des codes linéaires
Dans le cadre des codes en bloc linéaires, nous allons préciser les paramètres déjà définis précédemment
sur les exemples et définir également un nouveau paramètre qu’est la dimension du code.
Définition 1.6 (Dimension d’un code) La dimension d’un code en bloc linéaire k est sa dimension en
tant que sous-espace vectoriel de Fn2 .
Nous pouvons maintenant exprimer le rendement d’un code en bloc linéaire en fonction de k et n à partir
de la définition 1.1. En tant que sous-espace vectoriel de Fn2 , tout mot de code est combinaison linéaire des
vecteurs d’une base de ce code. C étant de dimension k, une base contient k vecteurs e1 , . . . , ek . Tout mot
de code c s’écrit
k
X
c=
di ei
i=1
avec di ∈ F2 . Il y a donc 2k mots de code dans un code linéaire en bloc de dimension k. En revenant à la
définition du rendement donnée dans l’équation (1.1), nous obtenons finalement que
R=
k
log2 (|C|)
=
n
n
(1.7)
La linéarité du code C nous permet d’exprimer la distance minimale du code de façon plus simple. Nous
revenons tout d’abord à sa définition que nous pouvons trouver dans l’équation (1.2). Définissons maintenant
le poids de Hamming,
Définition 1.7 (Poids de Hamming) Le poids de Hamming d’un mot x est
wH (x) = dH (x, 0)
(1.8)
où le mot 0 est le vecteur dont toutes les composantes sont nulles.
Si nous combinons la définition de la distance minimale avec la définition du poids de Hamming, nous
obtenons
dmin (C)
=
=
min
dH (x, y)
min
wH (x + y) .
x,y∈C,x6=y
x,y∈C,x6=y
Or, le code étant linéaire, x + y est aussi un mot de code. Nous obtenons finalement,
dmin (C) =
min
x∈C,x6=0
wH (x)
Ainsi, la recherche de la distance minimale d’un code quelconque, en utilisant la méthode exhaustive, demanderait le calcul de |C| · (|C| − 1) distances de Hamming alors qu’elle ne demande plus que le calcul de
(|C| − 1) distances de Hamming dans le cas d’un code linéaire. Nous verrons par la suite qu’il existe une
méthode de calcul de la distance minimale d’un code linéaire encore moins complexe.
Analysons les exemples de la sous-section précédente à l’aune de ces nouvelles définitions et propriétés.
Dans l’exemple 1.3, il est facile de voir que dmin = 3 puisqu’il y a un seul mot de code non nul et il est de
poids de Hamming égal à 3. Dans l’exemple 1.4 on peut voir que dmin = 2 puisque tous les mots de code
non nuls sont de poids de Hamming égal à 2.
Dans la suite, un code linéaire C de longueur n, de dimension k et de distance minimale dmin
sera noté (n, k, dmin ).
11
Codes linéaires en bloc
Bits d’information
Codeur
Mots du code C
Figure 1.5 – Schéma d’un codeur
1.5.4
Description du codeur : notion de matrices génératrices
Jusqu’à présent, nous avons essentiellement discuté des codes. Un code en bloc binaire de longueur n est
un sous-ensemble de Fn2 et si ce code est linéaire, il est aussi un sous-espace vectoriel de Fn2 . Il nous reste
maintenant à savoir comment associer à une séquence de bits d’information (à transmettre) un mot du code
C = (n, k, dmin ). Ceci est le rôle dévolu au codeur tel décrit dans la figure 1.5.
Le codeur que l’on se propose d’étudier ici est un codeur linéaire, c’est-à-dire, que la somme binaire de
deux séquences d’information va correspondre à la somme binaire de deux mots de code. Pour ce faire, nous
choisissons une base du code
B = (e1 , e2 , . . . , ek ) .
Evidemment, il y a plusieurs choix possibles de base pour un code linéaire et tout élément ei de B est aussi
un mot de code. Nous savons que tout mot c de C peut s’écrire
c=
k
X
i=1
di ei , di ∈ F2 .
L’écriture de tout mot de code comme combinaison linéaire des vecteurs de B représente en elle-même un
codeur linéaire. Ainsi, à chaque base B de C correspond un codeur linéaire. La figure 1.6 représente un schéma
d’un tel codeur.
.
d1 , d2 , · · · , dk
B
Pk
i=1 di ei
.
Figure 1.6 – Codeur linéaire
Afin de faciliter l’écriture d’un codeur et, éventuellement, de choisir un codeur particulier bien adapté à
l’application visée, il est intéressant d’écrire le codeur sous forme matricielle. Pour ce faire, nous changeons
de notation. La nouvelle notation, introduite ci-dessous, restera valable jusqu’à la fin de ce chapitre. Tous
les vecteurs vont être représentés par des matrices ligne (il s’agit de la convention habituellement utilisée en
codage). Nous introduisons ici quelques notations utiles par la suite :
1. Un mot d’information D est une matrice ligne à k colonnes D = (d1 · · · dk ).
2. Un mot de code C est une matrice ligne à n colonnes C = (c1 · · · cn ).
3. Une matrice génératrice G est une matrice à k lignes et n colonnes.
Définition 1.8 (Matrice génératrice) Soit B = (e1 , e2 , . . . , ek ) une base du code C. On appelle matrice
génératrice du code C toute matrice G à k lignes et n colonnes qui s’écrit sous la forme,


e1
 e2 


G =  . .
 .. 
ek
Tout mot de code C peut s’écrire alors (nous rappelons, en indice, les dimensions de chaque matrice pour
montrer leur cohérence.)
C1×n = D1×k · Gk×n
où D est le mot d’information qui, après passage dans le codeur, donnera le mot de code C.
Evidemment, G est une matrice de rang k puisque la base B engendre le code C, sous-espace vectoriel de
dimension k.
12
Codage correcteur d’erreur
Exemple 1.5 Reprenons l’exemple 1.4 du code de parité de longueur 3. Une base B de ce code peut être
B = {(1 1 0), (0 1 1)}. Donc la matrice génératrice correspondante est
1 1 0
G=
.
0 1 1
Pour un code linéaire donné, C, et parmi toutes les matrices génératrices possibles, il en est une qui est
très fréquemment (presque toujours) utilisée. Il s’agit de la matrice génératrice systématique. Pour bien
comprendre ce qu’elle est, il nous faut, tout d’abord, introduire la notion de codes équivalents.
Soient C1 et C2 deux codes de même longueur n. On dit que C1 est équivalent à C2 si et seulement si il
existe une permutation des composantes σ telle que, à tout mot x du code C1 correspond un mot y du code
C2 vérifiant,
(y1 , y2 , . . . , yn ) = xσ(1) , xσ(2) , . . . , xσ(n) .
Evidemment, C1 et C2 ont la même dimension, la même distance minimale, ..., et seront en fait considérés
comme deux codes identiques.
Soit maintenant G une matrice génératrice du code C. Donc G correspond à une certaine base B. Une
autre matrice génératrice G0 , du même code, correspond à une autre base B 0 du même sous-espace vectoriel.
Les lignes de la matrice génératrice sont les vecteurs de la base choisie. Puisque tout changement de base se
fait en remplaçant les vecteurs de la base par des combinaisons linéaires de ces mêmes vecteurs, le changement
de matrice génératrice se fait en remplaçant les lignes par des combinaisons linéaires de ces mêmes lignes.
De plus, on s’autorise à changer de code si le nouveau code est équivalent au premier. Or, passer d’un
code à un code équivalent à celui-ci revient à trouver une permutation des composantes des mots de code.
En terme de matrice génératrice, ceci est équivalent à permuter les colonnes de G.
Pour résumer, deux opérations sont permises sur la matrice génératrice G pour trouver une autre matrice
génératrice :
• Combinaisons linéaires de lignes.
• Permutations de colonnes.
Or, il existe un algorithme (le pivot de Gauss) qui s’autorise ces manipulations sur une matrice quelconque
et dont la sortie est la forme réduite de la matrice sous forme échelonnée. Si le rang de la matrice initiale
est k (ce qui est notre cas, puisque G engendre un sous-espace de dimension k), alors la matrice échelonnée
obtenue en sortie de l’algorithme sera la suivante
Ik k Pk×(n−k)
où Ik est la matrice identité de rang k et P est une matrice dépendant du code considéré. Cette forme échelon
est la matrice génératrice systématique du code C (en fait il s’agit bien souvent d’un code équivalent à C).
Définition 1.9 (Matrice génératrice systématique) Soit C un code linéaire de longueur n et de dimension k. On appelle matrice génératrice systématique du code C toute matrice obtenue à la sortie du pivot de
Gauss appliqué à une matrice génératrice G quelconque du code C. La matrice génératrice systématique est
sous la forme
Gs = Ik k Pk×(n−k)
où P dépend du code C.
Une matrice génératrice systématique permet en fait de simplifier le codeur et le décodeur de C. Examinons
ici le codeur (sous forme systématique). Si D est le mot d’information en entrée du codeur systématique,
alors le mot de code en sortie sera
C
= D · Gs
= D · Ik


= 
D
|{z}
k
information
Pk×(n−k)


D · Pk×(n−k)  .
{z
}
|
parité
Ainsi si on utilise un codeur systématique, le mot de code correspondant à D comporte deux parties. Les k
premiers bits sont les bits d’information (égaux aux bits du mot d’information D) alors que les (n − k) bits
13
Décodeur des codes linéaires
restants dépendent de D et du code et sont appelés bits de parité. En pratique, (n − k) est petit devant n.
Le codeur ne doit plus calculer que (n − k) bits au lieu de n pour un codeur quelconque.
Exemple 1.6 (Code de parité) On appelle code de parité binaire de longueur n un code binaire de longueur n dont les mots sont tous les n-uplets binaires de poids de Hamming pair. Ce code C est linéaire
car
1. Le mot 0 est un mot de poids pair donc 0 ∈ C.
2. La somme de deux mots de poids pair est un mot de poids pair.
La dimension de ce code est assez simple à calculer. En effet, il y a en tout 2n n−uplets binaires. La moitié
de ces mots est de poids pair. Il y a donc 2n /2 = 2n−1 mots de poids pair. Donc |C| = 2n−1 , ce qui donne
une dimension k = n − 1. La distance minimale de ce code, qui est le plus petit poids non nul possible est
dmin = 2. Le code de parité binaire de longueur n a donc pour paramètres (n, n − 1, 2). Calculons maintenant
sa matrice génératrice systématique. On sait qu’elle est de la forme


x

x 
.
I
Gs = 
n−1

x 
x
Or chaque ligne de Gs est un mot de code. Le nombre de 1
1. On obtient donc,

1 0 ···
 0 1

Gs =  .
..
 ..
.
0 0 ···
1.6
est pair. Les x à remplir sont donc tous égaux à

0 1
0 1 

.. .. 
. . 
1 1
Décodeur des codes linéaires
Nous rappelons tout d’abord le rôle d’un décodeur. Le décodeur reçoit des mots du code passés à travers
un canal de transmission. Ainsi, si le canal est un canal binaire symétrique, le décodeur recevra des mots
de code entachés d’erreurs aléatoires. Si le canal est un canal binaire à effacement, le décodeur recevra des
mots de code dont certains bits sont effacés, etc.
Le décodeur est une boîte noire dont l’entrée est le mot de code « bruité » sortant du canal et la sortie
est un mot d’information qui peut être le mot d’information transmis ou pas. La figure 1.7 donne un schéma
fonctionnel du décodeur.
Mots de code ”bruités”
Décodeur
Bits d’information
Figure 1.7 – Schéma de base du décodeur
De façon plus détaillée, le décodage s’effectue en deux étapes. Tout d’abord le décodeur trouve, parmi
tous les mots de code, le mot qui maximise la vraisemblance car nous ne considérons ici que le décodeur
optimal minimisant la probabilité d’erreur. Ensuite, à partir de ce mot de code, le décodeur en tire les bits
d’information. Si le codeur est systématique, alors les bits d’information sont tout simplement les k premiers
bits du mot de code trouvé. Ici aussi, on voit que la forme systématique permet de simplifier le passage du
mot de code au mot d’information. Il n’y a pas de matrice à inverser. La figure 1.8 donne un schéma d’un
tel processus.
Mot de code ”bruité”
Maximum de
vraisemblance
Mot de code
Vers l’information
Mot d’information
Figure 1.8 – Schéma détaillé du décodeur
L’algorithme 1, plus détaillé, est donné en pseudo-code. Cependant, la recherche de mots le plus proche
14
Codage correcteur d’erreur
Algorithm 1 Décodage sur canal binaire symétrique
1: procedure Décodage(y)
2:
if y ∈ C then
3:
ĉ ← y
4:
Goto 9
5:
else
6:
Goto 8
7:
end if
8:
ĉ ← arg minc∈C dH (c, y)
9:
return D = ĉ[1 : k]
10: end procedure
. Décodage de y sur BSC
. Maximum de vraisemblance
. Les k premiers bits sont les bits d’info.
ne peut pas se faire, en pratique, de façon exhaustive. Par exemple, dans les standards de TV numérique non
HD, les codes utilisés sont des codes de Reed-Solomon dont le nombre de mots est 256144 ' 10115 . A titre de
comparaison, la partie visible de notre univers contiendrait environ 1080 atomes ! ! Il nous faut donc trouver
des algorithmes qui effectuent cette recherche de mot de code le plus proche de y de façon la plus efficace
possible. Une discussion analogue sur la complexité de l’approche exhaustive est menée dans d’autres cas de
figure dans la sous-section 3.4.3.
1.6.1
Notion d’orthogonalité et de code dual
Nous reprenons la notation « matrice ligne » des vecteurs. Deux mots X et Y de longueur n sont dits
orthogonaux si et seulement si
n
X
xi yi = 0.
X ·Y> =
i=1
Attention, les symboles sont dans F2 et l’orthogonalité ici est bien différente du cas de l’espace euclidien.
Tout mot de poids de Hamming pair est orthogonal à lui-même !
Soit C un code linéaire de longueur n et de dimension k. Le code dual de C, que l’on note C ⊥ , est
l’ensemble des mots de longueur n orthogonaux à tous les mots de C. Il s’agit d’un code linéaire de longueur
n aussi et de dimension n − k. Mais contrairement au cas de l’espace euclidien, le code dual peut avoir une
intersection non nulle avec le code primal. Ainsi, il existe aussi des codes auto-duaux, c’est-à-dire, des codes
qui vérifient C = C ⊥ . A titre d’exercice, vous pouvez vérifier que le code dual d’un code de parité de longueur
n est tout simplement le code à répétition de longueur n.
1.6.2
Matrice de contrôle de parité
Définition 1.10 (Matrice de contrôle de parité) Soit C un code de longueur n et de dimension k. Une
matrice de contrôle de parité de C est toute matrice H qui est matrice génératrice de C ⊥ . Ainsi H est une
matrice à n − k lignes et n colonnes.
Soit G une matrice génératrice de C. Toute matrice H de rang n − k, à n − k lignes et n colonnes, qui
vérifie 2
>
Gk×n · Hn×(n−k)
= 0k×(n−k)
(1.9)
est une matrice de contrôle de parité de C. L’idée de la preuve de ce résultat est la suivante :
– Tout mot de C s’écrit D · G où D est un mot d’information, c’est-à-dire une matrice ligne à k colonnes.
– Tout mot de C ⊥ s’écrit D0 · H où D0 est un mot d’information, c’est-à-dire une matrice ligne à n − k
colonnes.
– Tout mot de C est orthogonal à tout mot de C ⊥ ,
D · G · H > · D0> = 0, ∀D, D0 .
– On en déduit donc G · H > = 0.
2. Les indices représentent, comme d’habitude, les dimensions des matrices.
15
Décodeur des codes linéaires
Il est une matrice de contrôle de parité qui se déduit facilement de la matrice génératrice systématique du
code C. Il s’agit de la matrice de contrôle de parité systématique. La matrice génératrice systématique
s’écrit
Gs = Ik k Pk×(n−k) .
(1.10)
Définissons la matrice de contrôle de parité systématique,
h
>
k
Hs = −P(n−k)×k
In−k
i
.
(1.11)
On constate que Hs a (n − k) lignes, n colonnes et qu’elle est de rang n − k. De plus, nous avons
Gs · Hs> = −P + P = 0.
Donc Hs vérifie l’équation (1.9). Hs est bien une matrice de contrôle de parité du code C. Notez bien que la
matrice de contrôle de parité systématique a l’identité à droite et non à gauche comme la matrice génératrice
systématique.
1.6.3
Notion de syndrome
Nous allons maintenant donner une méthode simple qui permet d’implémenter de façon efficace la condition (ligne 2) de l’algorithme 1. Nous cherchons à savoir si le mot reçu est un mot de code ou pas. Pour ceci,
nous pouvons nous aider de la figure 1.9.
C⊥
S
R
C
Figure 1.9 – Justification du syndrome : schéma de principe
On voit que si le mot reçu est un mot de code, alors la projection orthogonale sur le code dual est égale
à 0. Si le mot reçu n’est pas dans le code, elle n’est pas égale à 0. Cette projection orthogonale du mot reçu
est appelée « syndrome ». Pour la calculer, il suffit d’évaluer les produits scalaires entre le mot reçu et les
vecteurs d’une base du code dual qui sont les lignes de H. Le vecteur évalué sera donné comme combinaison
linéaire des vecteurs de la base de C ⊥ . D’où la définition suivante,
Définition 1.11 (Syndrome) Soit Y un mot de longueur n quelconque. On appelle syndrome la quantité
suivante
S = Y · H>
où H est une matrice de contrôle de parité de C.
A partir de l’évaluation du syndrome nous pouvons en déduire l’appartenance ou non de Y au code C.
Résultat 1.4 Y ∈ C si et seulement si S , Y · H > = 0.
Nous notons que S est un vecteur-ligne à (n − k) colonnes.
1.6.4
Borne de Singleton
Dans cette sous-section, nous donnons deux résultats : le premier permet de caractériser dmin d’un code
à travers sa matrice de contrôle de parité. Et le second est encore obtenu grâce à l’aide de la matrice de
contrôle de parité et exhibe une borne entre les trois paramètres définissant un code ce qui prouve que
certains paramétrages ne permettent pas de construire des codes.
16
Codage correcteur d’erreur
Résultat 1.5 Pour tout code linéaire en bloc, dmin est égale au plus petit nombre de colonnes dépendantes
de H.
En effet, si les colonnes sont dépendantes, cela veut dire qu’il existe un vecteur-ligne non-nul de longueur n,
noté X, tel que X · H > = 0. Or d’après le résultat 1.4, X appartient au code et donc X admet au minimum
dmin composantes non nulles ce qui finit de prouver le résultat 1.5.
Résultat 1.6 (Borne de Singleton) Pour tout code linéaire en bloc (n, k, dmin ), on a
dmin ≤ n − k + 1.
Nous allons raisonner par l’absurde. D’après la sous-section 1.6.2 , on sait que le rang de la matrice H, noté
rg, vaut (n − k). Supposons que rg < dmin − 1. Alors on peut contruire un vecteur-ligne de longueur n ayant
(rg + 1) composantes non nulles, noté X, tel que X · H > = 0 et donc tel que X soit un mot de code ce qui
est impossible si rg + 1 < dmin . Donc nécessairement, on a rg + 1 ≥ dmin ce qui finit de démontrer le résultat
1.6.
1.6.5
Décodage par syndrome : exemple avec le code de Hamming (7, 4, 3)
A partir de ce code particulier, nous allons montrer comment développer un algorithme de décodage et
notamment de correction d’erreur grâce à la notion de syndrome. Nous définissons tout d’abord le type de
codes sur lequel nous allons travailler qu’est un code de Hamming binaire.
Définition 1.12 (Code de Hamming binaire) Soit m ≥ 3 un entier. Un code de Hamming binaire est
un code de longueur 2m − 1 et de dimension 2m − m − 1. Sa matrice de contrôle de parité contient, en tant
que colonnes, tous les m−uplets binaires non nuls (il y en a bien 2m − 1).
Nous nous intéressons ici plus particulièrement
de parité systématique, par exemple,

1 1
Hs =  0 1
1 1
Notons que, en utilisant les équations (1.11) et

1
 0
Gs = 
 0
0
au cas m = 3. Nous choisissons une matrice de contrôle
1
1
0
0
1
1
1
0
0
0
1
0

0
0 .
1
(1.10), Hs correspond à la matrice génératrice systématique

0 0 0 1 0 1
1 0 0 1 1 1 
.
0 1 0 1 1 0 
0 0 1 0 1 1
Intéressons-nous maintenant au décodage de ce code. Pour cela, considérons que nous avons reçu
un mot Y qui est une matrice ligne 1 × 7. Suivons la procédure de décodage donnée dans l’algorithme 1.
Nous voulons d’abord savoir si le mot reçu Y est dans le code ou pas. Calculons donc le syndrome
S = Y · H >.
Puisque ce code est utilisé sur un canal binaire symétrique, alors la sortie du canal est égale au mot de code
transmis, éventuellement entaché d’erreurs. Ceci peut s’écrire de la façon suivante,
Y =C +E
où C est le mot de code transmis et E est le « mot d’erreur ». Si E s’écrit
E = (e1 e2 · · · e7 )
alors ei = 0 signifie qu’il n’y a pas d’erreur en position i et ei = 1 signifie qu’il y a une erreur en position i.
En effet, l’addition d’un 1 change un 0 en 1 et un 1 en 0. Donc l’addition d’un 1 en position i correspond
exactement à une erreur en position i.
Recalculons donc le syndrome
S
=
=
Y · H>
>
>
C
| ·{zH } +E · H
=0
17
Performances
avec C ·H > = 0 car C est un mot de code (voir résultat 1.4). Donc, finalement, nous en arrivons à un résultat
très important, le syndrome est un vecteur qui dépend linéairement du mot d’erreur E, et plus du tout du
mot de code transmis C.
S = E · H >.
(1.12)
Poursuivons la procédure de décodage en nous inspirant de l’algorithme 1. Evidemment, s’il n’y a pas
d’erreur, alors E = 0 ce qui donne un syndrome nul (S = 0). Cependant, si le mot reçu n’est pas un mot de
code, alors S 6= 0. L’algorithme 1 nous demande de chercher le mot de code C le plus proche du mot reçu Y
au sens de la distance de Hamming. Ceci revient à dire qu’il s’agit du mot de code C tel que dH (C, Y ) est
minimisé. Or dH (C, Y ) = wH (E) où wH (E) désigne le poids de Hamming de E c’est-à-dire le nombre de 1
du mot E. Le décodeur doit donc chercher le mot de code correspondant au plus petit nombre
d’erreurs.
Commençons donc par regarder ce que donne une erreur simple. S’il y a une seule erreur en position i,
alors ei = 1 et ej = 0 pour j 6= i. On note hi la i−ème colonne de H. S’il y a une erreur unique en position
i, le syndrome s’écrit
S = E · H > = h>
i .
Or toutes les colonnes de H sont distinctes et aucune n’est égale à 0. Donc on peut distinguer, sans ambiguïté,
en ne connaissant que la valeur du syndrome, les 7 localisations possibles d’une erreur simple.
Pour résumer, le syndrome, dans cet exemple, est un vecteur à 3 composantes binaires. Il peut donc
prendre 8 valeurs possibles. Ces 8 valeurs possibles correspondent à 0 erreur (S = 0) ou une erreur en
position i, i = 1, 2, . . . , 7 (S = h>
i ). On voit que s’il y a plus d’une erreur, alors le syndrome va reprendre
l’une des 8 valeurs possibles déjà prises dans le cas où il y a 0 ou une erreur. Le code de Hamming de longueur
7 ne corrige donc qu’une erreur (en fait c’est le cas de tous les codes de Hamming). Si on liste les 16 mots
de code, on peut observer que le poids minimal d’un mot de code est égal à 3 et donc dmin = 3. Ce code ne
pouvait de toute façon pas corriger plus d’une erreur (voir résultat 1.2).
Exemple 1.7 Supposons que Y = (0 1 1 0 1 1 1). Alors,
S = Y · Hs> = (1 1 0) = h>
3
ce qui correspond à une erreur en position 3. Donc, on en déduit
E = (0 0 1 0 0 0 0)
et donc le mot de code décodé sera
C = Y + E = (0 1 0 0 1 1 1).
Le codeur étant sous forme systématique, ceci correspond à la séquence d’information D = (0 1 0 0).
1.7
Performances
Nous donnons à présent une borne supérieure de la probabilité d’erreur d’un code en bloc linéaire sur un
canal binaire symétrique. Nous commençons par calculer la probabilité d’erreur par mot de code.
Probabilité d’erreur par mot. Supposons un code linéaire C de paramètres (n, k, dmin ). Il y a une erreur
« mot » lorsque le mot décodé n’est pas égal au mot émis. Or, on sait qu’un code en bloc de distance minimale
dmin corrige toutes les configurations d’erreurs dont le nombre est inférieur ou égal à t (voir résultat 1.2),
mais évidemment, il peut en corriger d’autres. Puisque le code est linéaire, on peut supposer que le mot 0
est émis. Dans ce cas, le mot reçu correspond aussi au mot d’erreur. On peut donc borner la probabilité
d’erreur par mot de la façon suivante,
Pe,mot ≤
n
X
i=t+1
Cni pi (1 − p)n−i
(1.13)
où t = b(dmin − 1)/2c est la capacité de correction du code.
Dans l’équation (1.13), le terme Cni pi (1 − p)n−i représente la probabilité que le mot reçu soit de poids i
(i bits égaux à 1, n − i bits égaux à 0 et, bien sûr, Cni le nombre de ces mots). Le membre de droite de cette
équation n’est donc que la probabilité que le mot reçu soit de poids de Hamming strictement supérieur à t.
18
Codage correcteur d’erreur
Approximation de la probabilité d’erreur par bit d’information. A partir de l’équation (1.13), on
peut en déduire une approximation de la probabilité d’erreur par bit d’information après décodage. Dans
l’équation (1.13), chaque terme de la somme correspond à un poids i de l’erreur. Le premier terme,
Cnt+1 pt+1 (1 − p)n−(t+1)
est évidemment dominant. Si un événement de ce type survient, cela veut dire que le mot reçu a un poids de
(t + 1) et alors le mot décodé (qui n’est pas 0 car il y a erreur sur le mot décodé) est le mot de code le plus
proche de 0 qui est, par définition, de poids dmin . Donc, le mot décodé admet dmin bits en erreur sur les n
bits qui le composent. Ainsi, on peut approcher la probabilité d’erreur par bit d’information (en supposant
que les bits d’information et de parité seront en erreur, après décodage, avec la même probabilité) par
Pb '
dmin t+1 t+1
C p (1 − p)n−(t+1) .
n n
De plus, si p 1, on peut encore simplifier l’expression précédente (en disant que (1 − p) ≈ 1) et obtenir
que
dmin t+1 t+1
C p .
(1.14)
Pb '
n n
1.8
Bilan
Dans ce chapitre, nous vous avons donné un aperçu du codage de canal. Vous avez vu quels pouvaient
être les critères pour construire un bon code ainsi que la technique optimale de décodage et une de ses
implémentations via le décodage par syndrome. Néanmoins, le domaine du codage est, bien évidemment,
beaucoup plus vaste que ce que l’on a découvert dans ce chapitre. En effet, de nombreuses familles de codes
linéaires avec leurs avantages et inconvénients respectifs ont été créées au cours des cinquante dernières années : codes cycliques, codes de géométrie algébrique, codes convolutifs, turbo-codes, codes LDPC, codes sur
réseaux de points, etc. De plus, leur décodage dépendant des canaux de communication, il y a de nombreux
algorithmes de décodage possibles avec de nouveau leurs performances et complexité respectives. Ceci sera
étudié en profondeur en COM224.
Les deux chapitres suivants vont nous permettre de relier le codage à la problématique des communications. Le chapitre 2 se focalisera sur la théorie de l’information qui donnera les limites fondamentales
que l’on ne peut pas dépasser en utilisant le codage alors que le chapitre 3 va relier le codage à la modulation.
Nous rappelons ci-dessous les concepts de base et savoir-faire concernant ce chapitre à acquérir durant
cette unité d’enseignement.
Les concepts de base :
• Paramètres de dimensionnement d’un code : n, k, distance minimale de Hamming,
• Matrice génératrice, matrice de contrôle de parité,
• Décodage maximum de vraisemblance : application par le décodage par syndrome,
• Notion de capacité de correction et de capacité de détection.
Les savoir-faire :
• Déterminer les paramètres d’un code (cf. TD1, TD2),
• Implémenter le décodage par syndrome (cf. TD2).
Chapitre 2
Théorie de l’information
2.1
Introduction
Dans le chapitre 1, vous avez découvert les codes correcteurs d’erreur avec notamment le principe de
construction de ces codes ainsi que la règle de décodage optimale, dite règle du maximum de vraisemblance
(ML). Vous avez vu que ces codes décodés optimalement permettaient de corriger ou de détecter un certain
nombre d’erreurs introduites lors d’une communication sur un canal (typiquement le canal binaire symétrique). Dans ce chapitre, nous allons changer de point de vue puisque nous allons nous intéresser aux
performances ultimes (c’est-à-dire, qu’un code ne pourra dépasser) d’un système de communication. Dans
le chapitre précédent, vous avez vu qu’un code correcteur de rendement R = k/n où k est le nombre de bits
d’information envoyés pendant n utilisations de canal pouvait améliorer la probabilité d’erreur du système
si sa distance minimale de Hamming était augmentée par rapport au cas non codé (cf. section 1.7). Par
performances ultimes, nous entendons : quels peuvent être les gains espérés en probabilité d’erreur par l’utilisation de codes de rendement R strictement positif. Vous verrez que la réponse à cette question se formule
en fait de manière radicalement différente puisque nous allons montrer que la probabilité d’erreur peut
être rendue arbitrairement faible pour peu que R ne dépasse pas un certain seuil que nous
appellerons capacité du canal et ceci sous l’hypothèse que k et n tendent vers l’infini.
Pour arriver à ce résultat fondamental, ce chapitre sera organisé de la manière suivante :
• en section 2.2, nous introduisons les notions d’entropie et d’information mutuelle parce qu’elles
vont jouer un rôle essentiel dans la définition de la capacité.
• Evidemment la capacité va dépendre de chaque type de canal rencontré par les bits d’information. C’est
pourquoi, en section 2.3, nous définissons les modèles de canaux sur lesquels nous allons travailler. En
l’occurrence, nous nous intéressons à tous les canaux discrets sans mémoire dont les deux exemples les
plus fameux sont le canal binaire symétrique (cf. sections 1.2.1 et 3.5.2) et le canal à effacement (cf.
section 1.2.2).
• en section 2.4, nous rentrons dans le vif du sujet en donnant la définition de la capacité d’un canal discret
sans mémoire. Nous y énonçons le théorème principal de ce chapitre démontré par C.E Shannon en
1948 et qui dit en substance que pour tout rendement R > 0 inférieur à la capacité C, il est possible
de communiquer avec une probabilité d’erreur aussi faible que l’on souhaite pour peu que l’on choisisse
une taille de mot de code n suffisamment grande. En revanche, pour tout rendement R supérieur à la
capacité C, cela n’est pas possible.
• en section 2.5, nous montrons quelques expressions de la capacité pour les canaux discrets sans mémoire
les plus communs comme le canal binaire symétrique, le canal à effacement et même le canal gaussien.
En section 2.6, nous faisons un bilan de ce chapitre en rappelant les éléments essentiels à retenir et
les outils à maîtriser. Dans ce polycopié, par souci de simplicité et faute de temps, la plupart des preuves
associées à ce chapitre sont omises Un cours complet sur la théorie de l’information est donné évidement
dans le cycle Master sous le sigle COMMDI225. Tant dans ce chapitre que en COMMDI225, le système
se ramène à une communication dite point-à-point (typiquement entre un mobile et une station de base,
ou entre un modem ADSL et le DSLAM du central téléphonique). Afin d’améliorer les réseaux (cf. notam-
20
Théorie de l’information
ment la deuxième conférence d’ouverture), un système ne doit plus se concevoir comme une juxtaposition
de communications point-à-point mais d’emblée comme une communication multipoint-à-multipoint ce qui
implique de développer la théorie de l’information pour des flux (et non un flux) d’information. Ceci s’appelle
la théorie de l’information pour les réseaux (Network Information Theory) et fait l’objet de recherche intense
actuellement et elle est partiellement enseignée dans COM345.
Dans la suite du chapitre, sauf indication contraire, tous les variables aléatoires sont discrètes sur un
alphabet fini.
2.2
2.2.1
Entropie et Information mutuelle
Entropie
L’entropie va mettre de capter le degré d’incertitude contenue dans une variables aléatoire. Avant de
donner une définition mathématique précise de l’entropie, nous allons discuter de quelques propriétés que
l’entropie doit intuitivement satisfaire. Par exemple, une variable aléatoire X prenant toujours la même
valeur, disons 42, n’a pas d’incertitude puisqu’elle est égale à coup sûr à son unique valeur, ici 42. Une telle
variable aléatoire sera dite déterministe. Dans ce cas, l’entropie de X doit être égale à 0. A contrario, toute
variable aléatoire qui n’est pas déterministe et donc de réalisation incertaine, doit présenter une entropie
strictement plus grande que 0.
D’autres propriétés souhaitables ressortent si on compare l’entropie de différentes variables aléatoires.
Par exemple, si on considère deux variables aléatoires binaires X et Y prenant leurs valeurs dans {0, 1}
pour lesquelles X admet une loi de probabilité quelconque alors que Y admet une loi uniforme (c’est-à-dire
que Y est égale à 0 avec une probabilité 1/2 et égale à 1 avec une probabilité 1/2). Intuitivement Y est
plus incertaine que X dans le sens où il est plus difficile de deviner la valeur de la réalisation de Y , et donc
l’entropie de Y doit être plus grande que l’entropie de X. Plus généralement, on s’attend à ce qu’une variable
uniforme ait une plus grande entropie parmi toutes les variables aléatoires ayant le même alphabet.
Nous verrons que la définition 2.1 de l’entropie a les propriétés décrites ci-dessus, ainsi que d’autres
propriétés très intuitives que l’on peut exiger d’une mesure d’incertitude.
Définition 2.1 (Entropie) Soit X une variable aléatoire sur un alphabet fini X avec loi de probabilité
PX (·). L’entropie de cette variable aléatoire est
X
H(X) := −
PX (x) log2 (PX (x)) [bits],
(2.1)
x∈X
avec, par convention, 0 · log2 (0) = 0.
Notez que l’entropie d’une variable aléatoire X ne dépend pas des valeurs que cette variable aléatoire prend,
c’est-à-dire des éléments de l’alphabet X , mais uniquement des probabilités PX (·) que ces valeurs prennent.
En particulier, une variable qui prend les valeurs 0 et 1 avec probabilité 1/2 chacune a la même entropie
qu’une variable aléatoire qui prend les valeurs −100 et 345 avec probabilité 1/2 chacune.
Exemple 2.1 (Entropie d’une variable uniforme) Soit X une variable aléatoire de loi uniforme sur
tout l’alphabet X , c’est-à-dire,
1
, ∀x ∈ X ,
(2.2)
PX (x) =
|X |
où |X | désigne le cardinal (le nombre d’éléments) de l’alphabet X .
L’entropie de X vaut
H(X)
= −
=
X
x∈X
PX (x) log2 (PX (x)) = −
log2 (|X |).
X 1
1
1
log2
= |X | ·
log2 (|X |)
|X |
|X |
|X |
x∈X
(2.3)
Exemple 2.2 (Entropie d’une variable déterministe) Soit X une variable déterministe qui prend toujours la valeur x0 ∈ X , c’est-à-dire,
(
1, si x = x0
PX (x) =
.
(2.4)
0, ailleurs
21
Entropie et Information mutuelle
L’entropie de X vaut
H(X)
=
X
PX (x) log2 (PX (x)) = 1 log2 (1) +
x∈X
X
x∈X \x0
0 · log2 (0) = 0,
(2.5)
où la dernière somme est égale à 0 parce que ; par convention, nous avons 0 · log2 (0) = 0.
Les deux exemples 2.1 et 2.2 traitent en fait des deux cas extrêmes de l’entropie. En effet, nous avons le
résultat suivant.
Résultat 2.1 (Valeurs extrêmes de l’entropie) Pour toute variable aléatoire X sur un alphabet fini X ,
l’entropie de X satisfait
0 ≤ H(X) ≤ log2 (|X |).
(2.6)
En outre,
– H(X) = 0 si et seulement si X est déterministe
– H(X) = log2 (|X |) si et seulement si X est uniforme sur tout X .
La définition 2.1 de l’entropie a donc bien les propriétés intuitives souhaitées décrites dans les deux premiers paragraphes de cette sous-section. Continuons avec un troisième exemple, moins extrême, pour nous
convaincre une dernier fois du lien entre entropie et degré d’incertitude.
Exemple 2.3 Soient X et Y deux variables aléatoires binaires qui indiquent s’il y a du soleil en Martinique
(X) et à Paris (Y ). Ainsi X et Y ont le même alphabet, X = Y = {0, 1} où 0 représente de la pluie et 1 du
soleil. De plus
– X = 0 (pluie en Martinique) admet une probabilité de 1/4 et X = 1 (soleil en Martinique) une
probabilité de 3/4.
– Y = 0 (pluie à Paris) admet une probabilité de 5/8 et Y = 1 (soleil à Paris) avec probabilité de 3/8.
L’entropie de X (temps à Martinique) se calcule de la manière suivante
X
H(X) = −
PX (x) log2 (PX (x))
x∈X
= −PX (0) log2 (PX (0)) − PX (1) log2 (PX (1))
= −(1/4) log2 (1/4) − (3/4) log2 (3/4)
≈ 0.8113,
ce qui est bien entre 0 et log2 (2) = 1 comme indiqué par le résultat 2.1.
L’entropie de Y (temps à Paris) se calcule de la manière suivante
X
H(Y ) = −
PY (y) log2 (PY (y))
y∈Y
= −PY (0) log2 (PY (0)) − PY (1) log2 (PY (1))
= −(5/8) log2 (5/8) − (3/8) log2 (3/8)
≈ 0.9544.
On voit donc que le temps à Paris a une entropie plus grande que le temps en Martinique, ce qui correspond
bien à notre intuition que le temps à Paris est plus incertain de celui en Martinique.
Dans ce chapitre, la plupart du temps, on parlera d’entropie pour des variables aléatoires binaires. C’est
pourquoi La définition suivante nous sera fort utile car nous permettra de rendre nos futures expressions
analytiques plus compactes.
Définition 2.2 (Fonction d’entropie binaire) La fonction d’entropie binaire est définie comme suit
Hb (p) := −p log2 (p) − (1 − p) log2 (1 − p),
(2.7)
où le seul argument p doit être un nombre réel dans l’intervalle [0, 1].
Notez que Hb (p) est égale à l’entropie d’une variable aléatoire binaire X,
Hb (p) = H(X),
(2.8)
si X est p-Bernoulli, c’est-à-dire, si X prend la valeur 1 avec une probabilité p et la valeur 0 avec une
probabilité (1 − p).
22
Théorie de l’information
Nous avons tracé la Hb (p) sur la figure 2.1. Notez que cette fonction Hb (p) est strictement concave 1 et
symétrique par rapport à la valeur 1/2. Sa valeur minimale est atteinte en p = 0 et p = 1 où elle est égale à
0. Sa valeur maximale est atteinte en p = 1/2 où elle est égale à 1.
1
0.9
0.8
0.7
Hb(p)
0.6
0.5
0.4
0.3
0.2
0.1
0
0
0.2
0.4
0.6
0.8
1
p
Figure 2.1 – Fonction d’entropie binaire Hb (p)
La définition 2.1 de l’entropie s’applique en fait à pleins d’autres domaines que les systèmes de communications numériques. Ainsi, elle représente la limite fondamentale de la compression des données, dans
le sens où toute suite de variables aléatoires X1 , . . . , Xm indépendantes et identiquement distribuées selon
la loi PX peut être codée avec mH(X) bits si m est suffisamment grand. Ce résultat est central dans la
problématique de compression de sources. Dans le cycle Master, cette problématique est traitée en détail
pour son aspect théorique en COMMDI225 et pour son aspect pratique dans les parcours « Systèmes et
applications multimédia, vidéo et audio » et « Image » (SI222, SI240, SI340, SI350, etc).
2.2.2
Entropie conjointe
L’entropie conjointe représente une généralisation de l’entropie à une paire de variables aléatoires. Notons
d’abord que toute paire (X, Y ) de deux variables aléatoires sur des alphabets finis X et Y peut être vue
comme une variable aléatoire avec un alphabet fini plus grand égal au produit cartesien X × Y. Donc, la
définition 2.1 s’applique aussi à ce cas et on obtient la définition suivante pour l’entropie d’une paire de
variables aléatoires, dite aussi entropie conjointe.
Définition 2.3 (Entropie conjointe) Soient X et Y deux variables aléatoires sur des alphabets discrets
X et Y avec comme loi de probabilité conjointe PXY (x, y). L’entropie conjointe de cette paire de variables
aléatoires est définie comme
X
H(X, Y ) := −
PXY (x, y) log2 (PXY (x, y)).
(2.9)
x∈X ,y∈Y
Notez que l’entropie conjointe est symétrique par rapport à ces deux arguments, c’est-à-dire, qu’on a toujours
H(X, Y ) = H(Y, X). De plus, l’entropie jointe ne mesure pas les incertitudes des deux variables aléatoires
individuellement, mais l’incertitude qu’il existe sur l’ensemble des deux. En particulier, elle prend en compte
les liens qui existent entre X et Y , comme on peut voir par les deux exemples 2.4 et 2.5 suivants.
1. strictement concave signifie que pour tout λ, p, q ∈ [0, 1],
Hb (λp + (1 − λ)q) ≥ λHb (p) + (1 − λ)Hb (q),
avec égalité si et seulement si λ = 0, λ = 1, ou p = q.
23
Entropie et Information mutuelle
Exemple 2.4 (Variables indépendantes) Soient X et Y deux variables aléatoires indépendantes sur des
alphabets finis X et Y. Ceci implique que PXY (x, y) = PX (x)PY (y) pour tous x ∈ X et y ∈ Y. Donc :
XX
H(X, Y ) = −
PXY (x, y) log2 (PXY (x, y))
x∈X y∈Y
=
=
=
=
−
−
−
−
XX
x∈X y∈Y
XX
x∈X y∈Y
PX (x)PY (y) log2 (PX (x) · PY (y))
PX (x)PY (y) log2 (PX (x)) −
XX
x∈X
X
x∈X
y∈Y
XX
PX (x)PY (y) log2 (PY (y))
x∈X y∈Y
XX
PY (y) PX (x) log2 (PX (x)) −
PX (x) PY (y) log2 (PY (y))
PX (x) log2 (PX (x)) −
= H(X) + H(Y ),
X
y∈Y
x∈X
PY (y) log2 (PY (y))
y∈Y
(2.10)
où dans la troisième égalité nous avons utilisé que pour
a, b > 0, log2 (ab) = log2 (a) + log2 (b)
P tout nombre réel P
et dans la cinquième égalité nous avons utilisé que y∈Y PY (y) = 1 et x∈X PX (x) = 1.
Exemple 2.5 (Variables identiques) Soit X = Y , c’est-à-dire, X = Y et pour tout x ∈ X , PXY (x, y) =
PX (x) si x = y et PXY (x, y) = 0 si y 6= x. Donc, nous avons
XX
X
H(X, Y ) = −
PXY (x, y) log2 (PXY (x, y)) = −
PX (x) log2 PX (x) = H(X).
(2.11)
x∈X y∈Y
x∈X
En fait, les deux exemples 2.4 et 2.5 traitent des deux cas extrêmes de l’entropie conjointe. C’est pourquoi,
nous pouvons énoncer le résultat suivant.
Résultat 2.2 (Valeurs extrêmes de l’entropie conjointe) Pour toute paire de variables aléatoires X
et Y sur des alphabets finis X et Y, l’entropie conjointe H(X, Y ) satisfait
max{H(X), H(Y )} ≤ H(X, Y ) ≤ H(X) + H(Y ).
(2.12)
En outre,
– H(X, Y ) = H(X) si et seulement si Y = g(X) pour une fonction g quelconque.
– H(X, Y ) = H(X) + H(Y ) si et seulement si X et Y sont indépendants.
Exemple 2.6 Soit X une variable aléatoire déterminant le lieu où se trouve Scarlett Johansson en ce moment : X = 1 veut dire qu’elle est à Paris et X = 0 qu’elle est à Hollywood. Soit Y une variable aléatoire
déterminant la météo du lieu dans lequel se trouve Scarlett Johansson en ce moment : Y = 1 veut dire
qu’elle a du soleil et Y = 0 veut dire qu’il pleut. Les deux variables aléatoires X et Y ont la loi de probabilité
conjointe suivante
PXY (0, 0) = 0,
PXY (1, 0) = 1/3,
PXY = (1, 1) = 1/3,
PXY (0, 1) = 1/3.
L’entropie conjointe de X et Y est donc
X
H(X, Y ) = −
PXY (x, y) log2 (PXY (x, y))
x∈X ,y∈Y
= −0 log2 (0) − (1/3) log2 (1/3) − (1/3) log2 (1/3) − (1/3) log2 (1/3)
=
log2 (3) ≈ 1.585.
Notons aussi que, grâce à la formule de loi marginale, on obtient
P
PX (0) =
y∈Y PXY (x, y) = PXY (0, 0) + PXY (0, 1) = 0 + 1/3 = 1/3
PX (1) = 1 − PX (0) = 2/3
Donc, l’entropie de X vaut
H(X)
= −
X
PX (x) log2 (PX (x))
x∈X
= −(1/3) log2 (1/3) − (2/3) log2 (2/3)
≈ 0.925.
24
Théorie de l’information
De la même façon, on obtient que H(Y ) ≈ 0.925. Ainsi, sur cet exemple, nous retrouvons bien le résultat 2.2
puisque
H(X) = H(Y ) = 0.925 < H(X, Y ) = 1.585 < H(X) + H(Y ) = 1.85,
2.2.3
Entropie conditionnelle
Grâce à l’entropie conditionnelle d’une variable aléatoire X par rapport à une autre variable aléatoire
Y , on va capturer l’incertitude qu’on a sur X, une fois qu’on a observé Y .
Notez que cette entropie conditionnelle représente une moyenne, parce que l’incertitude qu’on a sur X
peut varier selon les différentes réalisations de Y . Nous définissons donc d’abord l’entropie conditionnelle de
X sachant que Y est égale à une réalisation y ∈ Y. Soit PX|Y (x|y) la loi de probabilité conditionnelle de X
si Y = y.
X
H(X|Y = y) := −
PX|Y (x|y) log2 (PX|Y (x|y)).
(2.13)
x∈X
L’entropie conditionnelle de X sachant Y est la moyenne de toutes les entropies conditionnelles H(X|Y = y)
moyennées avec la loi de probabilité PY (·).
Définition 2.4 (Entropie conditionnelle) Soient X et Y deux variables aléatoires sur des alphabets finis
X et Y avec une loi de probabilité conjointe PXY (x, y). L’entropie conditionnelle de X sachant Y est
X
H(X|Y ) :=
PY (y)H(X|Y = y)
(2.14)
y∈Y
−
=
−
=
X
PY (y)
y∈Y
XX
X
PX|Y (x|y) log2 (PX|Y (x|y))
(2.15)
x∈X
PXY (x, y) log2 (PX|Y (x|y)).
(2.16)
x∈X y∈Y
Les deux dernières égalités ont été obtenues grâce à la note de bas de page 2 .
Exemple 2.7 (Variables indépendantes) Soient X et Y deux variables aléatoires indépendantes sur des
alphabets X et Y. Ceci implique que PXY (x, y) = PX (x)PY (y) et PX|Y (x|y) = PX (x) pour tous x ∈ X et
y ∈ Y. Donc
XX
H(X|Y ) = −
PXY (x, y) log2 (PX|Y (x|y))
x∈X y∈Y
=
=
=
=
−
−
−
XX
PXY (x, y) log2 (PX (x))
x∈X y∈Y
XX
x∈X
X
PY (y) PX (x) log2 (PX (x))
y∈Y
PX (x) log2 (PX (x))
x∈X
H(X).
(2.18)
Résultat 2.3 (Valeurs extrêmes de l’entropie conditionnelle) Pour toute paire de variables aléatoires
X et Y sur des alphabets X et Y, l’entropie conditionnelle H(X|Y ) satisfait
0 ≤ H(X|Y ) ≤ H(X).
(2.19)
En outre,
2. Selon la règle de Bayes,
PX|Y (x|y) =
PXY (x, y)
.
PY (y)
Grâce à la formule de la loi marginale, on a également
PX|Y (x|y) = P
PXY (x, y)
.
x∈X PXY (x, y)
(2.17)
25
Entropie et Information mutuelle
– H(X|Y ) = 0 si et seulement si X = f (Y ) pour une fonction f quelconque. (En effet, une fois qu’on a
observé Y , on connaît parfaitement X et donc on n’a plus d’incertitude.)
– H(X|Y ) = H(X) si et seulement si X et Y sont indépendants. (En effet, Y ne révèle rien sur les
valeurs de X et donc l’entropie de X reste inchangé en observant Y .)
Regardons maintenant l’exemple 2.6 sous l’œil de l’entropie conditionnelle et non de l’entropie conjointe.
Exemple 2.8 Soient X et Y définies comme dans l’exemple 2.6. Nous calculons l’entropie de X sachant Y ,
c’est-à-dire l’incertitude qui existe sur le lieu où se trouve Scarlett Johansson une fois qu’on sait si elle a du
soleil ou de la pluie. Nous calculons d’abord l’entropie sur le lieu X en sachant qu’elle a du soleil (Y = 0).
Nous utilisons d’abord l’équation (2.17) pour obtenir les probabilités conditionnelles :
(
PXY (0,0)
0
= 1/3
=0
PX|Y (0|0) = PXY (0,0)+P
XY (1,0)
(2.20)
PX|Y (1|0) = 1 − PX|Y (0|0) = 1
Par l’équation (2.13), nous obtenons donc
X
H(X|Y = 0) = −
PX|Y (x|0) log2 (PX|Y (x|0)) = −0 · log2 (0) − 1 · log2 (1) = 0.
(2.21)
x∈X
De manière analogue, on obtient que
(
PXY (0,1)
PX|Y (0|1) = PXY (0,1)+P
= 1/3
2/3 = 1/2
XY (1,1)
PX|Y (1|1) = 1 − PX|Y (0|1) = 1/2.
(2.22)
et donc
H(X|Y = 1) = −
X
x∈X
PX|Y (x|1) log2 (PX|Y (x|1)) = −(1/2) log2 (1/2) − (1/2) log2 (1/2) = 1.
(2.23)
Donc, l’entropie conditionnelle est égale à
H(X|Y ) = PY (0)H(X|Y = 0) + PY (1)H(X|Y = 1) = 1/3 · 0 + 2/3 · 1 = 2/3.
(2.24)
Si nous combinons les résultats de l’exemple 2.8 avec ceux de l’exemple 2.6, nous remarquons que
H(X, Y ) = H(Y ) + H(X|Y ) = H(X) + H(Y |X).
(2.25)
Cette équation est toujours valable pour n’importe quel X et Y . L’équation est connue sous le nom de règle
de chaînage (chain rule) et est une des équations les plus utilisées en théorie de l’information. Elle signifie
que l’incertitude sur une paire de variables aléatoires (X, Y ) est égale à l’incertitude qu’on a sur X plus
l’incertitude qu’on a sur Y une fois qu’on connaît X ou vice-versa. Autrement dit, le nombre de bits qu’il
faut pour décrire la paire X, Y est égal au nombre de bits qui sont nécessaires pour décrire X plus le nombre
de bits nécessaires pour décrire Y une fois que X est connue. Notez également que comme H(X) peut être
différent de H(Y ), cela implique que généralement H(X|Y ) est différent de H(Y |X) !
2.2.4
Information mutuelle
Grâce à l’information mutuelle, on veut quantifier l’information commune entre X et Y , autrement dit
l’information obtenue sur une variable aléatoire X en révélant une deuxième variable Y . Intuitivement on
s’attend à ce que cette information soit nulle si X et Y sont indépendants et qu’elle soit maximale si X = Y
dans le cas où Y révèle tout sur X. Comme le mot l’indique, l’information est mutuelle ce qui veut dire que
l’information que X révèle sur Y est la même que Y révèle sur X.
Techniquement parlant, l’information mutuelle est définie comme la réduction en incertitude (entropie)
sur X qu’on obtient en révélant Y .
Définition 2.5 (Information mutuelle) Soient X et Y deux variables aléatoires sur des alphabets finis
X et Y avec une loi de probabilité conjointe PXY (x, y). L’information mutuelle de X et Y est
I(X; Y )
:= H(X) + H(Y ) − H(X, Y )
=
H(X) − H(X|Y ) = H(Y ) − H(Y |X).
(2.26)
(2.27)
26
Théorie de l’information
Nous voyons donc que l’information mutuelle est bien symétrique,
I(X; Y ) = I(Y ; X).
(2.28)
Exemple 2.9 (Variables identiques) Soit X une variable aléatoire sur un alphabet fini X . L’information
mutuelle entre X et elle-même est égale à
I(X; X) = H(X) − H(X|X) = H(X),
| {z }
(2.29)
=0
où nous avons utilisé le fait que X est une fonction de X, et donc par le résultat (2.3) que H(X|X) = 0.
Exemple 2.10 (Variables indépendantes) Soient X et Y deux variables indépendantes sur des alphabet
finis X et Y. Leur information mutuelle est
I(X; Y ) = H(X) − H(X|Y ) = H(X) − H(X) = 0,
| {z }
(2.30)
=H(X)
où nous avons utilisé que X et Y sont indépendants, et donc par le résultat (2.3) que H(X|Y ) = H(X).
Résultat 2.4 (Valeurs extrêmes de l’information mutuelle) Soient X et Y deux variables aléatoires
sur des alphabets finis X et Y. L’information mutuelle entre les deux satisfait
0 ≤ I(X; Y ) ≤ min{H(X), H(Y )}.
En outre,
– I(X; Y ) = 0 si et seulement si X et Y sont indépendants.
– I(X; Y ) = H(X) si et seulement si X = f (Y ) pour une fonction f quelconque. Idem, I(X; Y ) = H(Y )
si et seulement si Y = g(X) pour une fonction g quelconque.
2.3
Modèle des canaux discrets sans mémoire (DMC)
Dans le chapitre 1, vous avez vu le BEC et le BSC. Ces deux canaux appartiennent en fait à une classe
de canaux plus généraux que sont les Canaux Discrets sans Mémoire (Discrete Memoryless Channel -DMC-,
en anglais).
Un DMC est une boîte (un appareil comme sur la figure 2.2) qui pour chaque séquence de n symboles
d’entrée x1 , . . . , xn produit une séquence de n symboles Y1 , . . . , Yn à la sortie.
.
x1 , · · · , xn
Canal
Y1 , · · · , Yn
.
Figure 2.2 – Canal discret sans mémoire (DMC)
Les symboles d’entrée x1 , . . . , xn doivent appartenir à l’alphabet d’entrée X du DMC. Les symboles de
sortie Y1 , . . . , Yn appartiennent à l’alphabet de sortie Y du DMC et souvent sont aléatoires d’où le fait qu’on
les représente en Majuscules et non en minuscules. Plus précisément, pour chaque t ∈ {1, . . . , n}, le symbole
de sortie Yt est obtenu à partir du symbole d’entrée xt selon la loi (de probabilité) de transition du DMC
PY |X (·|xt ) :
Yt ∼ PY |X (·|xt ).
(2.31)
Donc, Yt dépend seulement de l’entrée xt et pas des entrées précédentes x1 , . . . , xt−1 et pas des sorties
précédentes Y1 , . . . , Yt−1 , d’où le terme sans mémoire. Notez aussi que la loi de transition PY |X (·|·) est la
même pour tous les t ∈ {1, . . . , n} et le canal est donc stationnaire.
Un DMC est complètement caractérisé par le triplet (X , Y, PY |X (·|·)), où
– X est un alphabet fini contenant toutes les valeurs possibles à l’entrée du DMC ;
– Y est un alphabet fini contenant toutes les valeurs possibles à la sortie du DMC ;
– PY |X (·|·) est une loi de probabilité conditionnelle, dite loi de transition, décrivant comment une sortie
Yt est obtenue à partir d’une entrée xt .
27
Définition et théorème de la capacité pour le DMC
Exemple 2.11 (BEC) Le BEC de paramètre ∈ [0, 1] est un DMC caractérisé par


1 − , x = y
X = {0, 1},
Y = {0, 1, ∆},
PY |X (y|x) = y=∆


0
ailleurs.
(2.32)
Donc, le BEC reproduit l’entrée à la sortie avec une probabilité 1 − et produit un symbole d’effacement ∆
avec une probabilité .
Exemple 2.12 (BSC) Le BSC de paramètre p ∈ [0, 1] est un DMC caractérisé par
(
1 − p, x = y
X = {0, 1},
Y = {0, 1},
PY |X (y|x) =
p
y = x.
(2.33)
Donc, le canal reproduit le bit d’entrée à la sortie avec une probabilité (1 − p) et inverse le bit d’entrée avec
une probabilité p.
Souvent, la façon la plus facile de décrire un DMC est le diagramme de canal. Formellement, un diagramme
de canal est un graphe bipartite, oú à gauche on met toutes les valeurs possibles d’entrée (les éléments de
X ) et à droite toutes les valeurs possibles de sortie (les éléments de Y). On connecte ensuite chaque symbole
d’entrée x ∈ X avec tous les symboles de sorties y ∈ Y selon la probabilité de transition PY |X (y|x) > 0.
Cette probabilité est indiquée sur l’arête qui connecte x et y.
Par exemple, les diagrammes du BEC et du BSC sont montrés dans les figures 1.3 et 1.2 du chapitre
précédent.
2.4
Définition et théorème de la capacité pour le DMC
Dans la section précédente, nous avons défini un canal DMC. Dans cette section, nous allons exhiber la
limite fondamentale concernant le nombre d’information qu’on peut transmettre sur un tel canal DMC de
façon fiable, c’est-à-dire, avec une probabilité d’erreur arbitrairement petite.
Pour cela, décrivons d’abord le problème de communication (c’est-à-dire de transmission d’information)
comme décrit sur la figure 2.3.
.
d1 , · · · , dk
Emetteur f (n)
X1 , · · · , Xn
Canal
Y1 , · · · , Yn
Récepteur g (n)
dˆ1, · · · , dˆk
.
Figure 2.3 – Modèle de communication : canal discret sans mémoire
Le but de la communication est qu’un émetteur transmette à un récepteur k bits d’information d1 , . . . , dk ,
où ces k bits sont indépendants et chaque bit est 1/2-Bernoulli. Pour y parvenir, on autorise l’émetteur à
utiliser le DMC n fois, et donc il peut envoyer n symboles d’entrée X1 , . . . , Xn sur le canal. Ces n symboles
sont obtenus à partir des bits d’information d1 , . . . , dk en utilisant une fonction de codage (correcteur d’erreur)
f (n) :
{0, 1}k
→
Xn
(d1 , . . . , dk ) 7→ (X1 , . . . , Xn ).
(2.34)
Cetter fonction de codage peut évidemment être une de celles étudiées au chapitre 1. Dans ce cas, ce serait
une fonction linéaire parfaitement caractérisée par sa matrice génératrice.
Le récepteur observe les n sorties du DMC Y1 , . . . , Yn et fait une détection dˆ1 , . . . , dˆk des bits d’information
d1 , . . . , dk . Ces k bits détectés dˆ1 , . . . , dˆk sont obtenus à partir des n symboles de sorties Y1 , . . . , Yn en utilisant
une fonction de décodage
g (n) :
Yn
→
(Y1 , . . . , Yn ) 7→
{0, 1}k
(dˆ1 , . . . , dˆk ).
(2.35)
De nouveau si on se rappelle le chapitre 1, cette fonction de décodage peut par exemple être l’algorithme du
syndrome. En théorie de l’information, un code est spécifié par le quadruplet (n, k, f (n) , g (n) ). Remarquez
28
Théorie de l’information
que, contrairement au chapitre 1, nous incluons les fonctions de codage f (n) et de décodage g (n) dans la
définition du code.
Le rendement (en théorie de l’information, on parle plutôt de « taux » -Rate en anglais-) R d’un code
est égal à
bits d’information
k
.
(2.36)
R=
n
utilisation de canal
On dit qu’il y a une erreur sur la communication si le récepteur se trompe sur au moins un bit d’information :
(d1 , . . . , dk ) 6= (dˆ1 , . . . , dˆk ).
(2.37)
En théorie de l’information, on considère donc typiquement une probabilité d’erreur en bloc et non pas une
probabilité d’erreur par bit (ou un taux d’erreur binaire -Bit Error Rate (BER)-, en anglais). Par conséquent
dans ce chapitre, la probabilité d’erreur est définie comme
Pe(n) := Pr (d1 , . . . , dk ) 6= (dˆ1 , . . . , dˆk ) .
(n)
Il n’est pas difficile de montrer que la probabilité d’erreur en bloc Pe ne peut pas être inférieure à la
(n)
probabilité d’erreur par bit. Ce qui implique si on trouve une borne supérieure à Pe , elle pourra s’appliquer
au BER.
Idéalement, nous aimerions trouver des codes qui atteignent une probabilité d’erreur égale à 0. Malheureusement, ceci est impossible pour presque tous les DMC si en même temps on veut garder un taux R > 0.
A la place, on souhaite seulement trouver un ensemble de codes tel que la probabilité d’erreur peut être
rendu aussi faible que l’on souhaite si on choisit le bon code de cet ensemble 3 . Un exemple très simple qui
atteint ce but sur le BSC est l’ensemble des codes à répétition (que vous avez vu dans le chapitre 1) avec k
fixé et n (multiple de k) qui tend vers l’infini. Malheureusement, le problème avec cet ensemble de codes est
que pour chaque n le taux est égal à k/n et donc si n tend vers l’infini, le taux tend vers 0.
Pour la très grande majorité des DMC, il peut être démontré que pour atteindre une probabilité d’erreur
qui tend vers 0, il faut que la taille de bloc n des codes croie sans borne. La grande découverte de C. E.
Shannon dans son papier fondamental de 1948, créant par là-même le domaine de la théorie de l’information,
a été de prouver l’existence de codes avec des probabilités d’erreur qui tendent vers 0 quand la taille de
bloc n augmente mais tout en codant un nombre de bits d’informations k croissant linéairement avec n.
Plus précisément, on fixe un taux R > 0 et on propose un ensemble de codes où k croit avec n comme
k = bRnc. Le taux du code k/n est alors un peu inférieur à R mais quand n augmente, le taux k/n
s’approche asymptotiquement de R et donc l’erreur induite est complètement négligeable. Les principales
définitions et théorème de la théorie de l’information sont énoncés ci-dessous. Les preuves sont données en
COMMDI225.
Définition 2.6 Un taux R > 0 est dit atteignable sur un DMC (X , Y, PY |X ) s’il existe une suite de codes
{ n, k = bnRc, f (n) , g (n) }∞
n=1 telle que
Pe(n) → 0
lorsque n → ∞.
(2.38)
Définition 2.7 La capacité C d’un DMC caractérisé par le triple (X , Y, PY |X ) est
C = max I(X; Y ),
PX
(2.39)
où la maximisation se fait sur toutes les lois de probabilité de X et où Y ∼ PY |X (·|X). Donc, dans cette
expression, la paire (X, Y ) suit la loi de probabilité PXY (x, y) = PX (x)PY |X (y|x).
Résultat 2.5 (Théorème de Shannon de la capacité) Pour un DMC caractérisé par (X , Y, PY |X ) :
1. Tous les débits 0 < R < C sont atteignables.
2. Aucun débit R > C n’est atteignable.
Notez que le théorème ne dit rien de ce qui se passe pour les taux R = C. Le comportement pour R = C
dépend du canal et reste inconnu pour la majorité des canaux à ce jour ! Ce résultat est d’une puissance incroyable et finalement assez contre-intuitif. En effet, on peut rendre fiable n’importe quel lien de transmission
à condition d’en payer le prix en débit.
3. D’un point de vue pratique, rendre aussi faible que possible la probabilité d’erreur n’est pas restrictif car on ne sait pas
distinguer en pratique un dispositif offrant une probabilité d’erreur nulle à celui offrant une probabilité d’erreur de 10−42 .
Expressions analytiques de la capacité de quelques canaux
2.5
29
Expressions analytiques de la capacité de quelques canaux
Dans cette section, nous allons exprimer analytiquement quelques capacités pour quelques canaux. Sachez
que on ne connaît pas encore de formules analytiques de la capacité pour de très nombreux canaux. A titre
d’exemple, la capacité d’un canal composé d’une fibre optique est encore inconnue à ce jour (notamment en
raison des effets non-linéaires qui s’y produisent).
Pour calculer la capacité d’un DMC, on part généralement de l’équation (2.39). On calcule ainsi d’abord
l’information mutuelle I(X; Y ) pour une loi d’entrée PX (·) quelconque, et ensuite on maximise cette information mutuelle obtenue sur PX (·). Pour calculer l’information mutuelle I(X; Y ), on a deux possibilités
• soit on la calcule via
I(X; Y ) = H(X) − H(X|Y ),
(2.40)
• soit on la calcule via
I(X; Y ) = H(Y ) − H(Y |X).
(2.41)
Souvent la deuxième méthode est la plus facile, mais ce n’est pas toujours le cas. Nous allons voir que pour
le BEC c’est plus facile de calculer l’information mutuelle I(X; Y ) en utilisant la première expression.
2.5.1
Cas du canal binaire symétrique
Nous calculons l’information mutuelle I(X; Y ) pour une loi PX (·) quelconque en utilisant l’équation
(2.41). Il faut donc calculer H(Y ) et H(Y |X). Nous commençons par H(Y |X). Nous calculons d’abord
H(Y |X = 0) et H(Y |X = 1) :
H(Y |X = 0)
= −PY |X (0|0) log2 (PY |X (0|0)) − PY |X (1|0) log2 (PY |X (1|0))
= −(1 − p) log2 (1 − p) − p log2 p
= Hb (p)
(2.42)
et
H(Y |X = 1)
= −PY |X (0|0) log2 (PY |X (0|1)) − PY |X (1|1) log2 (PY |X (1|1))
= −p log2 p − (1 − p) log2 (1 − p)
= Hb (p).
(2.43)
Donc, indépendamment du choix de la loi d’entrée PX (·),
H(Y |X)
parce que
P
x∈{0,1}
=
X
PX (x)Hb (p) = Hb (p),
(2.44)
x∈{0,1}
PX (x) = 1.
Pour simplifier la suite des calculs, nous définissons q , PX (1) et donc PX (0) = 1 − q, où q ∈ [0, 1]. Par
la formule de la loi marginale et par la règle de Bayes :
PY (1)
= PXY (0, 1) + PXY (1, 1)
(2.45)
= PX (0)PY |X (1|0) + PX (1)PY |X (1|1)
(2.46)
=
et
(1 − q)p + q(1 − p),
PY (0) = 1 − PY (1) = 1 − (1 − q)p + q(1 − p) = qp + (1 − p)(1 − q).
(2.47)
(2.48)
Cela fait que l’entropie de Y est égale à
H(Y ) = Hb (1 − q)p + q(1 − p) .
(2.49)
Donc, pour PX (1) = q ∈ [0, 1] quelconque, l’information mutuelle est
I(X; Y ) = H(Y ) − H(Y |X) = Hb q(1 − p) + (1 − p)q − Hb (p).
(2.50)
30
Théorie de l’information
La capacité du canal BSC vaut donc
CBSC(p)
max Hb q(1 − p) + (1 − p)q − Hb (p)
q∈[0,1]
=
max Hb q(1 − p) + (1 − p)q − Hb (p)
=
q∈[0,1]
=
1 − Hb (p),
(2.51)
(2.52)
(2.53)
où la deuxième égalité tient parce que Hb (p) ne dépend pas de q, et la troisième égalité tient parce que
Hb (t) ≤ 1 avec égalité si t = 1/2 et parce que pour q = 1/2,
q(1 − p) + (1 − q)p = (1/2)(1 − p) + (1/2)p = 1/2.
(2.54)
Résultat 2.6 La capacité d’un BSC(p) est égale à
CBSC(p) = 1 − Hb (p).
(2.55)
Nous analysons ci-après quelques cas spéciaux de ce canal. Notons que si p = 0 alors la capacité est égale
à 1 bit,
CBSC(0) = 1.
Ceci est conforme avec notre intuition : si p = 0 alors la sortie du canal est toujours égale à son entrée
Y = X et on se retrouve avec un canal sans bruit par lequel on peut communiquer un bit d’information par
utilisation de canal sans jamais faire des erreurs.
Idem, si p = 1, alors la capacité est égale à 1 bit,
CBSC(1) = 1.
Dans ce cas, on a à nouveau un canal sans bruit, mais le canal inverse tous les bits d’entrée. En inversant
simplement tous les bits à la sortie, le récepteur peut récupérer tous les bits d’entrée sans jamais faire des
erreurs, comme pour le cas p = 0.
Par contre, si p = 1/2, chaque sortie de canal est 0 ou 1 avec probabilité 1/2 indépendamment de la
valeur à l’entrée du canal. Comme le récepteur peut toujours construire une suite de 1/2-Bernoulli bits
indépendants de l’entrée du canal sans regarder les sorties du canal, ce canal est complètement opaque. Sa
capacité est donc nécessairement nulle,
CBSC(1/2) = 0.
2.5.2
Cas du canal binaire à effacement
Nous calculons l’information mutuelle I(X; Y ) pour une loi d’entrée PX (·) quelconque en utilisant l’équation (2.40). Nous calculons donc les entropies H(X) et H(X|Y ), et nous commençons par le premier terme.
Pour simplifier la notation dans la suite, nous définissons q , PX (1) = 1 − PX (0). Alors, comme X est une
variable q-Bernoulli,
H(X) = Hb (q).
(2.56)
Nous regardons maintenant le deuxième terme, H(X|Y ), en calculant séparément H(X|Y = 0), H(X|Y = 1),
et H(X|Y = ∆). Notez que si Y = 0 alors X = 0 avec une probabilité 1 (indépendamment de PX (x)), car le
canal n’inverse jamais un bit d’entrée mais peut seulement l’effacer. Donc, PX|Y (0|0) = 1 et PX|Y (1|0) = 0
et
H(X|Y = 0) = −0 log2 (0) − 1 log2 (1) = 0.
(2.57)
Idem, si Y = 1, alors X = 1 avec une probabilité 1, et donc PX|Y (1|1) = 1 = 1 − PX|Y (0|1) et
H(X|Y = 0) = 0.
(2.58)
Donc, l’expression de H(X|Y ) se simplifie comme suit
H(X|Y ) =
X
y∈{0,1,∆}
PY (y)H(X|Y = y) = PY (∆)H(X|Y = ∆).
(2.59)
31
Expressions analytiques de la capacité de quelques canaux
Par la formule de la loi marginale et la règle de Bayes, on a
PY (∆) =
X
PXY (x, ∆) =
x∈{0,1}
X
PX (x)PY |X (∆|x) =
x∈{0,1}
X
|
x∈{0,1}
PX (x) = .
{z
=1
(2.60)
}
Nous calculons maintenant PX|Y (1|∆) en fonction du paramètre q = PX (x). En appliquant deux fois la règle
de Bayes et en utilisant le résultat en (2.60),
PX|Y (1|∆) =
PX (1)PY |X (∆|1)
q
PX,Y (1, ∆)
=
=
= q.
PY (∆)
PY (∆)
(2.61)
Donc, si la sortie Y est égale à ∆, alors l’entrée X est q-Bernoulli et
H(X|Y = ∆) = Hb (q).
(2.62)
Les deux équations (2.59) et (2.62) conduisent à
H(X|Y ) = Hb (q).
(2.63)
Avec l’équation (2.56) nous obtenons donc pour la capacité du canal BEC
CBEC() = max Hb (q) − Hb (q) = (1 − ) · max Hb (q) = 1 − ,
q∈[0,1]
q∈[0,1]
(2.64)
où la dernière égalité tient parce que Hb (p) ≤ 1 avec égalité si q = 1/2.
Résultat 2.7 La capacité d’un BEC() est égale à
CBEC() = 1 − .
(2.65)
Durant le déroulement dess calculs nous avons vu que
– Si on observe un 0 ou un 1 à la sortie, alors il n’y a pas de doute sur la valeur d’entrée du canal et
donc H(X|Y = 0) = H(X|Y = 1) = 0.
– Si on observe un effacement ∆ à la sortie, alors on n’a rien appris sur l’entrée et donc H(X|Y = ∆) =
H(X).
De plus par la stricte concavité de la fonction Hb (·) et parce que Hb (1/2) = 1 > 1/2, il n’est pas difficile
de montrer que
< Hb ()
pour tout ∈ (0, 1/2].
(2.66)
ce qui implique, pour ∈ (0, 1/2], que
1 − > 1 − Hb (),
| {z }
| {z }
CBEC()
(2.67)
CBSC()
ce qui veut dire que les inversions de bits sont plus durs à gérer que les effacements.
2.5.3
Cas du canal gaussien
Tous les résultats antérieurs à cette sous-section ont été obtenus pour des DMCs uniquement. Le résultat 2.5, c’est-à-dire, le Théorème de Shannon, s’applique aussi aux canaux sans mémoire avec alphabets infinis
pour peu qu’on modifie la définition de l’information mutuelle I(X; Y ) en conséquence. Nous n’entrerons
pas dans plus de détails (cf. COMMDI225), mais présenterons néanmoins des expressions analytiques de la
capacité pour deux canaux gaussien sans mémoire avec contrainte à l’entrée.
Le canal gaussien est caractérisé par la relation suivante entre l’entrée X et la sortie Y
Y = X + W,
où W est une variable gaussienne réelle de moyenne nulle et variance N0 /2. La loi de transition du canal est
donc spécifiée par la densité conditionnelle (qui remplace la loi de probabilité PY |X (·|·) du cas de l’alphabet
fini)
(y−x)2
1
pY |X (y|x) = √
e− N0 .
πN0
32
Théorie de l’information
Donc, l’alphabet de sortie est nécessairement l’ensemble des nombres réels :
Y = R.
L’alphabet d’entrée dépend des contraintes imposées. Dans un premier cas, nous supposons que seulement
deux valeurs sont permises à l’entrée :
X = {−A, A}.
(2.68)
Vous verrez dans le chapitre 3 que ce cas a beaucoup d’intérêt pratique. Nous l’appelons le cas « 2-PAM »
pour des raisons qui deviendront évidentes dans le chapitre 3. La capacité du canal gaussien avec des entrées
binaires vérifiant l’expression (2.68) vaut
Z ∞
4A(A+u)
u2
1
e− N0 log2 1 + e N0
d u.
(2.69)
C2-PAM = 1 − √
πN0 −∞
Si on ajoute plus de symboles à l’alphabet d’entrée, la capacité évidemment augmente. En effet l’émetteur
peut toujours choisir de ne pas utiliser certains symboles d’entrée que l’on vient d’ajouter et alors on revient
au cas précédent. Dans le cas limite où l’alphabet d’entrée contient tous les nombres réels,
X =R
(2.70)
la capacité du canal gaussien devient infinie. Mais ce cas n’a pas d’intérêt pratique puisque pour atteindre
cette capacité, la puissance/énergie des symboles d’entrées (on peut parler ici indifféremment de puissance
ou d’énergie car on envoie le symbole, à ce stade du polycopié, avec une périodicité fixe ; cette périodicité n’a
pas encore été décrite et fera l’objet d’une longue discussion dans la section 3.3 du chapitre suivant), E[X 2 ],
doit nécessairement tendre vers infini et qu’un système réel à puissance/énergie illimité n’est pas faisable
techniquement. De plus, on veut aussi limiter la puissance/énergie du signal émis pour des raisons de sûreté
et pour augmenter la durée de vie de la batterie à l’émetteur.
Ainsi, le canal gaussien avec alphabet d’entrée donné par l’équation (2.70) est plus intéressant avec une
contrainte de puissance/énergie moyenne à l’entrée
E[X 2 ] ≤ Es
(2.71)
pour une énergie Es > 0 par Symbole émis. La capacité de ce canal est
2Es
1
.
(2.72)
CGaussien = log2 1 +
2
N0
√
√
Notons que si on se limite aux symboles d’entrée − Es et Es , alors l’entrée
du canal satisfait toujours la
√
contrainte de puissance/énergie donnée par l’équation (2.71). Donc si A = Es , la capacité du canal gaussien
à contrainte de puissance/énergie moyenne, CGaussien , n’est jamais inférieure
à celle du canal gaussien à entrée
√
2−PAM, C2-PAM . Numériquement on peut vérifier que pour A = Es
C2-PAM < CGaussien
mais que C2-PAM est une bonne approximation de CGaussien quand Es /N0 est très petit.
On définit le rapport signal-sur-bruit (Signal-to-Noise Ratio - SNR -) par
SNR :=
2Es
,
N0
(2.73)
qui est bien le ratio entre la variance du signal utile X et la variance du bruit N0 /2. Alors, on obtient la
formule célèbre de Shannon pour le canal gaussien 4
CGaussien =
1
log2 (1 + SNR) .
2
(2.74)
La capacité donnée par l’équation (2.74) du canal gaussien avec contrainte de puissance moyenne nécessite
d’utiliser un nombre illimité de symboles d’entrée. Techniquement cela n’est pas réalisable, néanmoins nous
verrons en section 3.5.3 comment s’en rapprocher. La formule de la capacité en (2.74) sert donc d’abord
comme référence pour tout code et toute modulation (terme défini au chapitre 3) utilisés sur un canal gaussien
à contrainte de puissance moyenne. Nous verrons également au chapitre 3 que cette formule légèrement
modifiée permet en fait de dimensionner des systèmes réels.
4. Peut-être avez-vous rencontré cette formule sans le facteur 1/2 devant le terme logarithmique. Dans ce cas, vous avez
probablement étudié le canal gaussien à valeurs complexes avec un bruit circulaire. Ce canal peut être vu comme deux canaux
gaussiens indépendants à valeurs réelles, et sa capacité est donc le double de la capacité du canal gaussien à valeurs réelles.
33
Bilan
2.6
Bilan
Le théorème de Shannon montre qu’il existe des codes qui atteignent la capacité. Néanmoins, la preuve
du théoème n’est pas constructive et donc ne permet pas d’en déduire des codes implémentables. C’est
seulement dans les années 1990 avec la découverte des Turbo-codes par C. Berrou et A. Glavieux à Télécom
Bretagne et des codes LDPC par R. Gallager au MIT que des codes implémentables tant au niveau du codeur
que du décodeur ont permis de s’approcher très fortement de la capacité du canal gaussien, soit 40 ans après
la découverte du théorème de Shannon ! En 2009, les codes polaires ont été découverts par E. Arikan de
l’université de Bilkent (Turquie) permettant d’atteindre la capacité d’une grande classe de DMC.
Toutes ces constructions de codes et de décodeurs associés sont enseignés à l’école dans le cadre du cycle
Master avec les unités d’enseignement COM224 et COM344. Concernant la théorie de l’information, deux
cours vous sont proposés : COMMDI225 et COM345. En COMMDI225, on approfondit les bases de théorie
de l’information pour les communications point-à-point, c’est-à-dire, d’un seul émetteur vers un seul récepteur et pour la compression des données. En COM345, on traite le problème des communications et de la
compression de données dans un réseau, domaine qui actuellement est très actif en recherche ainsi que dans
l’utilisation directe des résultats de théorie de l’information pour les réseaux dans les systèmes pratiques
(tels que la 5G pour la collaboration entre stations de base au niveau des communications et le stockage
distribué (cloud/distributed storage, en anglais) au niveau de la compression des données.
Nous rappelons ci-dessous les concepts de base et savoir-faire concernant ce chapitre à acquérir durant
cette unité d’enseignement.
Les concepts de base :
• L’entropie H(X),
• L’entropie conditionnelle H(X|Y ),
• L’information mutuelle I(X; Y ),
• Canaux discrets sans mémoire (DMC),
• La capacité d’un DMC dont celles des canaux BSC et BEC.
Les savoir-faire :
• Connaître les propriétés de H(X), H(X|Y ), H(X, Y ), et I(X; Y ) et savoir calculer ces quantités
(cf. TD3),
• Connaître la définition de la capacité de canal et savoir calculer la capacité de canaux simples
(cf. TD4).
34
Théorie de l’information
Chapitre 3
Modulations numériques
3.1
Introduction
Dans le chapitre 1, vous avez appris à coder des éléments binaires dans le but de les protéger contre les
erreurs induites par une transmission sur un canal. Dans ce chapitre, les objectifs principaux vont être
de construire un dispositif permettant de transformer les bits codés, notés cn (cf. chapitre 1),
provenant donc du codeur correcteur d’erreur en un signal attaquant le canal de propagation
et vice-versa, et ensuite d’analyser les performances de ces dispositifs. A titre d’exemple, dans le
cadre de communications radio-mobiles (2G, 3G, 4G, TNT, Wifi), le signal à construire correspond à celui
de l’onde électro-magnétique en sortie de l’antenne d’émission. Dans le cadre de communications filaires, on
peut penser à l’onde électro-magnétique sortant du modem ADSL ou bien au signal lumineux rentrant dans
la fibre optique. De manière moins naturelle, on peut songer à la problématique de la lecture des CD/DVD.
Dans ce cas, le sillage sur le disque correspond au signal à construire. Cette liste d’exemples n’est évidemment
pas exhaustive.
Ce que nous remarquons, grâce à ces exemples, est le point commun suivant : le signal à transmettre
est par essence de nature analogique ou de manière synonyme à temps continu (pour les CD/DVD, cela
serait plutôt une notion d’espace continu, mais le disque tournant, on peut se ramener sans difficulté à une
notion temporelle), quand bien même nous faisons des transmissions numériques. Ainsi les signaux émis
et reçu sont de nature analogique, mais l’information contenue dans ces signaux est de nature numérique ou
de manière synonyme à temps discret et à nombre fini de valeurs.
Par conséquent, une grande partie du chapitre sera consacrée au passage de signaux à temps discret à
des signaux à temps continu (au niveau de l’émetteur) et vice-versa (au niveau du récepteur). De plus, pour
agir convenablement, le récepteur a besoin de savoir comment le signal émis a été perturbé par le canal de
propagation. C’est pourquoi le plan de ce chapitre est comme suit :
• en section 3.2, nous introduisons un modèle de canal de propagation, dit canal à multitrajets, bien
adapté aux communications sans fil, ainsi qu’à certains canaux filaires (les paires torsadées du téléphone
et donc des modems ADSL, les câbles co-axiaux, les fils électriques des courants-porteurs, etc). Ce
modèle de canal conduit à deux types de canaux formels : le canal gaussien et le canal sélectif en
fréquence. En raison du temps imparti à COM105, nous nous focaliserons dans la suite du polycopié
que sur le modèle formel le plus simple qu’est le canal gaussien. Le canal sélectif en fréquence, bien
plus délicat à traiter mathématiquement, est étudié en COM223.
• en section 3.3, nous nous plaçons du coté de l’émetteur. Après la mise en avant d’un exemple-jouet
en sous-section 3.3.1, nous aborderons les deux points importants qui sont la transformation des bits
en symboles en sous-section 3.3.2 et le passage du temps discret au temps continu avec la notion de
filtre d’émission développé en sous-section 3.3.3. Nous montrerons notamment l’impact de ce filtre sur
le spectre du signal émis et donc sur la bande utilisée pour la communication.
• en section 3.4, nous nous plaçons cette fois-ci du coté du récepteur. La première opération à réaliser lors
de la réception du signal analogique est un passage au temps discret. Nous verrons, à la sous-section
3.4.1, que cette opération conduit à la notion très importante du filtre adapté. Une fois le signal
discrétisé, nous montrerons, en sous-section 3.4.2, que de l’interférence entre symboles peut exister et
36
Modulations numériques
qu’il convient, dans la mesure du possible, de l’éliminer par un choix judicieux du filtre d’émission. Ceci
fera intervenir la notion de filtre de Nyquist et de filtre en racine de Nyquist. Enfin, en sous-section
3.4.3, nous développerons le détecteur optimal dans le cas du canal gaussien et montrerons, par le biais
de la théorie de la détection optimale présentée au chapitre 1, que le détecteur optimal est très intuitif,
simple et donc parfaitement implémentable. Nous verrons aussi, à titre d’exemple, des cas de figure
moins intuitifs et moins simples pour lesquels le recours à la théorie de la détection optimale s’avérera
salvateur.
• en section 3.5, nous évaluerons théoriquement les performances du système non-codé passant par les
boîtiers introduits tout au long de ce chapitre. Par performances, nous entendons probabilité d’erreur.
Ceci nous permettra de comprendre et mesurer l’influence de différents paramètres introduits tout au
long de ce polycopié comme la bande, le nombre de symboles, etc. Nous ferons également un lien avec
les résultats obtenus aux chapitres 1 et 2.
Enfin, en section 3.6, nous récapitulons les différentes notions présentées au cours de ce chapitre et
les mettons en relation les unes avec les autres. Ce polycopié ne présente vraiment que des rudiments
de communications numériques. De nombreux problèmes non traités dans ce polycopié faute de temps mais
fondamentaux pour construire des systèmes modernes existent et sont évidemment enseignés dans le parcours
« Communications Numériques » de l’école (COM223, COM344, COM345) ou dans le parcours « Réseaux »
(RES222, RES341, RES345).
3.2
Canal de propagation
Par commencer, nous supposons une communication sur un canal radio-mobile, c’est-à-dire, sans fil. Nous
noterons
– x(t) le signal analogique émis (portant les bits codés {cn }n et donc les données {dn }n ). Ce signal part
donc de l’antenne d’émission.
– et y(t) le signal analogique reçu par l’antenne de réception. Ce signal correspond au signal x(t) malheureusement nécessairement modifié par le canal de propagation. Donc y(t) 6= x(t).
Un canal radio-mobile est modélisable par ce qu’on appelle un canal multitrajets. En effet, le signal émis
x(t) arrive au niveau du récepteur à travers différents échos (ou de manière synonyme trajets) qui sont chacun caractérisé par une atténuation λ et un retard τ . Ces échos proviennent typiquement des phénomènes
de diffraction, réflexion et diffusion des ondes électro-magnétiques sur des obstacles. Ces obstacles sont principalement les bâtiments et le sol. Sur la figure 3.1, nous avons représenté un exemple de canal multitrajets.
.
(λ1, τ1)
y(t)
(λ0, τ0)
x(t)
(λ2, τ2)
.
Figure 3.1 – Schéma d’un canal multitrajets
D’un point de vue mathématique, le signal reçu y(t) s’écrit donc
y(t) =
K
X
k=1
λk x(t − τk )
(3.1)
37
Canal de propagation
avec λk et τk l’atténuation et le retard du k ème trajet. L’équation (3.1) peut aussi s’écrire de la manière
suivante
y(t) = cp (t) ? x(t)
PK
avec le produit de convolution ? et la réponse impulsionnelle du filtre cp (t) = k=1 λk δ(t − τk ) où δ(•) est la
distribution/impulsion de Dirac. Par conséquent, la présence d’échos se traduit par une opération de filtrage
linéaire sur le signal émis.
Pour simplifier, nous supposerons également que le canal est invariant dans le temps, c’est-à-dire, que les
trajets restent les mêmes tout au long de la transmission considérée.
Outre ces échos, le signal reçu est perturbé additivement par des phénomènes aléatoires qui seront vus
comme du bruit, noté b(t). Ce bruit provient au minimum du bruit thermique des composants électroniques
du récepteur mais peut également intégrer le bruit de fond présent dans la bande du signal considéré. Ce bruit
de fond peut provenir, à titre d’exemple, des autres utilisateurs de cette bande ou bien de résidus de signaux
des bandes adjacentes. Comme ce bruit est l’addition du bruit thermique (qui est gaussien) et de somme de
phénomènes aléatoires indépendants entre eux (qui est donc gaussien par le théorème central-limite), nous
considérons que le bruit b(t) est gaussien. De plus, le bruit b(t) sera considéré indépendant et identiquement
distribué (i.i.d.) dans le temps, ce qui veut dire, que les échantillons b(t) et b(t0 ) sont indépendants et ont
même distribution de probabilité, et donc même moyenne et même variance pour tout t, t0 . C’est pourquoi,
nous pouvons formuler l’hypothèse suivante.
Hypothèse 3.1 Le bruit b(t) est i.i.d. gaussien de moyenne nulle et de fonction d’autocorrélation, notée et
∆
définie par rbb (τ ) = E[b(t + τ )b(t)], satisfaisant l’expression suivante :
rbb (τ ) =
N0
δ(τ ).
2
Pour récapituler, nous avons le résultat suivant.
Résultat 3.1 Soient x(t) et y(t) respectivement le signal émis et le signal reçu. Le canal multitrajets conduit
à la relation suivante :
y(t) = cp (t) ? x(t) + b(t)
(3.2)
avec b(t) vérifiant l’hypothèse 3.1.
Lorsque cp (t) = δ(t), alors le canal est appelé canal gaussien, car seul le bruit gaussien vient perturber
la transmission. Dans ce cas, la relation entre x(t) et y(t) se simplifie comme suit
y(t) = x(t) + b(t) (canal gaussien).
(3.3)
Pour que ce canal soit réaliste, il faut que les échos soient négligeables ce qui veut dire que les échos
n’existent quasiment pas. Ceci arrive notamment dans les exemples suivants :
• Canal gaussien 1 : les faisceaux hertziens. Ce sont des systèmes de communications entre antennes
fixes ayant une visibilité directe entre elles, typiquement, des communications entre deux stations de
base ou entre deux relais de la télévision. Dans ce cas, l’antenne de l’émetteur est directive et focalise
sa puissance sur l’antenne de réception. Par conséquent, l’onde émise ne se disperse pas et ne produit
pas d’écho puisque elle ne rebondit sur aucun obstacle. La transmission est donc assurée par le chemin
direct qui existe nécessairement puisque la visibilité directe est une condition sine qua non de ce type
de système. Ce canal ne présentant pas d’écho, il vérifie l’équation (3.3) et est donc gaussien.
• Canal gaussien 2 : les liaisons satellitaires. Considérons une liaison entre un satellite-émetteur
et une antenne parabolique. L’onde émise par le satellite part certes dans différents directions afin
de couvrir une certaine zone sur la Terre. Néanmoins, en première approximation (en négligeant les
changements d’indice et le phénomène de diffusion induit lors du passage dans les différentes couches
de l’atmosphère), cette onde ne subit pas d’obstacle entre le satellite et la parabole. C’est pourquoi, ce
type de liaisons peut être modélisé par un canal gaussien.
• Canal gaussien 3 : les réseaux câblés co-axiaux. Les câbles co-axiaux produisent très peu de
multitrajets et donc on les modélise par un canal gaussien. Ainsi, le standard TNT pour le câble
(DVC-C, en anglais) est construit selon cette hypothèse.
38
Modulations numériques
Cette liste n’est pas exhaustive puisqu’on aurait pu parler de communications optiques dans l’espace libre,
de communications proches à très hautes fréquences, etc.
Lorsque cp (t) 6= δ(t), alors le canal est appelé canal sélectif en fréquence. En effet, dans le domaine
fréquentiel, l’équation (3.2) s’écrit comme suit
Y (f ) = Cp (f )X(f ) + B(f )
avec Y (f ), Cp (f ), X(f ) et B(f ) les transformées de Fourier respectives de y(t), cp (t), x(t) et de la réalisation
du bruit b(t).
Puisque la réponse impulsionnelle du canal est différente d’un Dirac, la fonction de transfert du filtre
f 7→ Cp (f ) n’est pas constante et donc agit différemment selon les fréquences, ce qui veut dire, qu’elle « sélectionne » les fréquences. Ce modèle de canal est extrêmement répandu pour les systèmes actuels et futurs
comme vous pouvez le constater avec la liste ci-dessous.
• Canal sélectif en fréquence 1 : la téléphonie sans fil. Quelque soit la génération de mobiles
(2G, 3G, 4G), le canal est sélectif en fréquence. A titre d’exemple, prenons la 2G, c’est-à-dire, la
technologie GSM. Les échos sont nombreux et peuvent souvent atteindre une durée de l’ordre 10µs
pour des périmètres de cellules classiques. Hors une donnée est émise toutes les 3.7 µs (donc un débit
de 270 kbits/s qui ne correspond absolument pas au débit que vous constatez sur votre téléphone 2G.
C’est normal puisque au débit brut, il faut retrancher le rendement du code correcteur d’erreur, le fait
que ce débit est partagé avec les autres utilisateurs de la cellule et le fait qu’une part de ce débit est
consacrée à l’échange d’information des couches protocolaires du réseau). On voit que le canal mélange
à peu près 3 (≈ 10/3.7) données entre elles et donc qu’un produit de convolution est bien présent dans
le domaine temporel.
• Canal sélectif en fréquence 2 : le Wifi. Les gammes de fréquences utilisées par le Wifi étant
peu différentes de celles de la téléphonie mobile, le canal agit de la même manière et donc admet de
nombreux échos. En revanche, la taille des cellules étant bien plus petites, les échos sont au maximum
de 800 ns. Mais comme une donnée est émise toutes les 50 ns, on a de nouveau un mélange de 16
données maximum au niveau du récepteur induisant un produit de convolution.
• Canal sélectif en fréquence 3 : la TNT. On est toujours dans les mêmes gammes de fréquences
ce qui induit des échos nombreux. Mais les tailles des cellules étant de l’ordre de plusieurs dizaines de
km, les échos peuvent s’étaler jusqu’à 200 µs. Les données étant transmises toutes les 0.11 µs (ce qui
induit bien un débit de l’ordre d’une dizaine de Mbits/s requis pour faire de la transmission vidéo de
qualité), nous avons un mélange de l’ordre de 2000 données entre elles conduisant donc de nouveau à
un produit de convolution.
• Canal sélectif en fréquence 4 : certains systèmes filaires. Le modèle de canal sélectif en fréquence
introduit par le biais du canal multitrajets sans fil reste valable pour des systèmes filaires comme l’ADSL
(avec des échos jusqu’à 100 µs) ou les courants porteurs en ligne, ainsi que la transmission sur fibre
optique (pour peu que la puissance émise ne soit pas trop élevée afin de ne pas provoquer d’effet
non-linéaire de type Kerr. Pour plus de détails, veuillez consulter les cours de SI223 et COM340).
Dans la suite du cours, faute de temps, nous ne traiterons que le cas du canal gaussien. Bien
que moins courant en pratique que le canal sélectif en fréquence comme en atteste les exemples ci-dessus, ce
canal a une immense vertu pédagogique puisqu’il va nous permettre de comprendre l’influence du bruit sur
la qualité de la transmission indépendamment d’autre phénomène perturbateur. C’est pourquoi ce type de
canal est essentiel et se révèle le passage obligatoire pour s’initier aux communications numériques.
En marge du cours, disons quelques mots néanmoins sur le canal sélectif en fréquence : ce canal est
clairement le plus répandu en pratique. Le principal problème supplémentaire induit par ce canal est l’interférence entre symboles, qui sera définie proprement en sous-section 3.4.2. La gestion de cette interférence
n’est plus un problème aigu en communications numériques depuis la fin des années 1980 grâce à l’invention
de l’OFDM dans les locaux du défunt CCETT de Rennes (centre de recherche conjoint entre les PTT de
l’époque et TDF). Cette solution, présente dans l’ADSL, le Wifi, la TNT, la 4G et la 5G, ainsi que certaines
autres solutions sont des piliers du cours de COM223.
39
Description de l’émetteur
3.3
3.3.1
Description de l’émetteur
Un exemple-jouet (mais réel !)
Pour introduire en douceur les éléments et notions constituant un émetteur standard, nous considérons
dans cette sous-section, une communication sur fibre optique telle qu’elle a encore lieu sur la plupart des
fibres actuelles des réseaux les plus modernes.
La construction de l’émetteur est ici fortement contraint par les capacités opto-électroniques du récepteur.
Etant donné les débits, de l’ordre de plusieurs Gbits/s, les composants opto-électroniques opérant à cette
vitesse de variation se doivent d’être simples. Par conséquent, le moyen le moins cher et le plus fiable pour
passer de l’optique à l’électronique, au niveau du récepteur, est de considérer une photo-diode. Comme son
nom l’indique, ce dispositif émet un signal électrique proportionnel à l’intensité lumineuse du signal optique
mis en entrée. Donc du signal optique reçu y(t), on ne sera capable de distinguer que des intensités et non
des phases, ce qui veut dire que y(t) et −y(t) conduiront au même signal électrique sur lequel sera fait la
détection. Ceci implique que l’information des données ne sera présente que dans l’intensité du signal y(t).
Pour ne pas perdre d’information, il doit en être de même au niveau de l’émetteur. C’est pourquoi, les
données moduleront uniquement l’intensité du signal x(t).
Considérons une suite de données provenant de la sortie du code correcteur d’erreur {cn }n=0,··· ,N −1 ∈
{0, 1}N . Nous souhaitons transmettre au débit binaire Db bits/s. Ainsi, une donnée cn sera envoyée sur le
canal toutes les Tb = 1/Db secondes. On dira que Tb est le temps-bit. Comment envoyer cette donnée sur
le canal ? étant donné les contraintes sur x(t) mentionnées ci-dessus, il apparaît extrêmement naturel que
le signal x(t) soit i) égal à 0 sur une durée Tb (entre l’instant nTb et (n + 1)Tb ) quand cn = 0 ou ii) égal
à une amplitude A > 0 de nouveau sur une durée Tb (entre l’instant nTb et (n + 1)Tb ) quand cn = 1. La
valeur de A sera choisie en fonction d’impératif de consommation énergétique, de qualité de la transmission
souhaitée, de comptabilité électro-magnétique dans le cadre d’ondes radio (afin de ne pas brûler le cerveau
de l’utilisateur !), etc.
Sur la figure 3.2, nous avons tracé le signal x(t) construit selon le principe évoqué ci-dessus pour la suite
de données suivantes : 1, 0, 0, 1, 1, 0, 1, 0.
.
Tb
A
0
11111111111111111111111111111111111111
00000000000000000000000000000000000000
1
0
0
1
1
0
1
0
t
.
Figure 3.2 – x(t) pour l’envoi de N = 8 données égales à 1, 0, 0, 1, 1, 0, 1, 0
Nous observons sur la figure 3.2 que le signal x(t) est finalement fonction de trois éléments :
• chaque donnée épouse une certaine forme. Ici, un créneau.
• chaque forme est modifiée selon une certaine amplitude. Ici, l’amplitude 0 quand cn = 0, et l’amplitude
A quand cn = 1.
• ce schéma est reproduit pour chaque donnée ; Ici, il est donc décalé à chaque donnée de Tb secondes.
Par conséquent, nous avons mathématiquement
x(t) =
N
−1
X
n=0
sn g(t − nTs )
(3.4)
avec
• g(t) le filtre d’émission. Ici, g(t) = ΠTs (t) avec ΠTs (t) une fonction qui vaut 1 entre 0 et Ts et 0
ailleurs. Cette fonction est dite fonction porte ou fonction rectangulaire.
• {sn }n la suite de symboles qui s’expriment en fonction des données. Ici, on a sn = Acn .
• Ts le temps-symbole. Ici Ts = Tb . Nous verrons, dans la sous-section 3.3.2, qu’il peut être pertinent
de considérer Tb < Ts .
40
Modulations numériques
Justement, dans la sous-section 3.3.2, nous allons formaliser et conceptualiser l’équation (3.4) afin d’en
dégager et d’exploiter les degrés de liberté que nous avons pour construire de nouveaux signaux x(t) obéissant
certes à la structure de l’équation (3.4) mais utilisant d’autres filtres d’émission, d’autres symboles et d’autres
temps-symboles.
Avant d’aller plus loin, évoquons le récepteur pour un tel schéma d’émission. On se doute qu’un récepteur
simple, pour obtenir l’information sur la donnée cn est de sélectionner la tranche du signal entre nTs et
(n + 1)Ts , d’intégrer cette tranche en normalisant par le temps Ts et de comparer la valeur résultante à un
seuil. Sans bruit, la valeur est de 0 si cn = 0 et de A si cn = 1. Ainsi, un choix naturel pour le seuil est A/2.
Nous verrons aux sous-sections 3.4.1 et 3.4.3 que cette démarche est effectivement optimale.
3.3.2
Des bits aux symboles d’information
Si on se donne comme objectif d’augmenter le débit Db , on s’aperçoit en examinant l’équation (3.4) qu’on
ne peut agir que sur deux manettes : i) diminuer le temps-symbole (nous verrons les conséquences de ce choix
en sous-section 3.3.3), ii) augmenter le nombre de symboles possibles afin d’augmenter le nombre de bits
émis par symbole. Dans cette sous-section, nous allons nous intéresser à cette deuxième manette.
Soient
• M l’ensemble des valeurs possibles pour chaque symbole sn .
• M = card(M) le nombre de valeurs possibles pour chaque symbole.
Nous avons alors le nombre de bits/données représenté dans chaque symbole égal à log2 (M ) et un tempsbit Tb équivalent à Ts / log2 (M ). Par conséquent, sans modifier la valeur de Ts , plus M est grand et plus les
débits sont élevés. Nous verrons à la section 3.5 que nous ne pouvons pas jouer totalement à notre guise sur
ce paramètre M sans compromettre gravement la qualité de la transmission.
Une fois la valeur de M fixée (comme déjà dit, nous verrons à la section 3.5 comment choisir cette valeur
de manière judicieuse), il convient de choisir les M valeurs possibles des symboles, autrement dit, de disposer
les M symboles sur l’axe des réels. L’ensemble de ces M emplacements définira une constellation.
Les deux constellations (à valeurs réelles) les plus classiques sont les suivantes :
• M -OOK(pour On-Off Keying). Il apparaît raisonnable de disposer les symboles de manière régulière
afin de n’en privilégier aucun et surtout de n’en désavantager aucun. De plus, ici, seul le niveau de
l’amplitude du symbole permettra de les distinguer entre eux. Ainsi, nous obtenons la constellation
affichée sur la figure 3.3.
.
A
0
1
0
0
1
1
0
0
1
0
1
0
0
1
1
0
0
1
(M − 1)A
1
0
0
1
A
.
Figure 3.3 – Constellation M -OOK
• M -PAM (pour Pulse Amplitude Modulation). En français, on parle de « Modulation D’Amplitude »
(MDA-M ). De nouveau, on espace les symboles admissibles régulièrement mais on s’autorise en plus
l’utilisation de la phase ce qui veut dire dans le cas réel un déphasage de π et donc l’utilisation
d’amplitude négative. Ainsi, nous obtenons la constellation affichée sur la figure 3.4.
.
−(M − 1)A
1
0
0
1
1
0
0
1
1
0
0
1
−A
A
1
0
0
1
1
0
0
1
0
1
0
0
1
2A
1
0
0
1
(M − 1)A
1
0
0
1
.
Figure 3.4 – Constellation M -PAM
Dans la suite, on note par M = {s(m) }m=0,··· ,M −1 les éléments de la constellation. Donc, à l’instant n,
le symbole émis sn prend une des valeurs s(m) parmi les M possibles.
Tout au long du cours, nous allons considérer comme valide l’hypothèse suivante sur les symboles.
41
Description de l’émetteur
Hypothèse 3.2 Soit {sn }n=0,··· ,N −1 la suite des symboles à émettre dont les valeurs sont prises dans M =
{s(m) }m=0,··· ,M −1 . Les éléments de l’ensemble M sont de plus rangés dans l’ordre croissant.
• la suite aléatoire {sn }n=0,··· ,N −1 est i.i.d.
• chaque symbole sn prend une valeur parmi celles de l’ensemble M.
• les valeurs de M sont équiprobables. Donc nous avons que Pr(sn = s(m) ) = 1/M , ∀m, n.
• comme les symboles sont i.i.d., la moyenne ms = E[sn ], la variance σs2 = E[(sn − ms )2 ] et l’énergie
Es = E[s2n ] ne dépendent pas de n. De plus, en raison de l’hypothèse d’équiprobabilité, ces termes
s’expriment comme suit
ms
=
σs2
=
Es
=
M −1
1 X (m)
s
M m=0
(3.5)
M −1
1 X (m)
(s
− ms )2
M m=0
M −1
1 X (m)2
s
= m2s + σs2
M m=0
(3.6)
(3.7)
Par des calculs triviaux utilisant les sommes d’entiers et les sommes d’entiers au carré, nous établissons
les résultats du tableau 3.1 qui fournit la moyenne, la variance et l’énergie pour les constellations M -OOK
et M -PAM.
ms
σs2
Es
OOK
A(M −1)
2
PAM
0
A2 (M 2 −1)
12
A2 (M 2 −1)
3
A2 (2M 2 −3M +1)
6
A2 (M 2 −1)
3
Table 3.1 – Expressions de la moyenne, la variance et l’énergie pour les M -OOK et M -PAM
Revenons sur le débit utile Db . Comme affirmé au début de cette sous-section, offrir la possibilité de faire
correspondre plusieurs bits à un symbole permet d’augmenter Db . Examinons cela d’abord sur l’exemple de
la 4-OOK. Nous avons maintenant 4 valeurs de disponibles : 0, A, 2A et 3A. Chacune de ses valeurs peut
être associée à un couple de bits à émettre. Cette opération de correspondance entre le couple de bits et
les symboles s’appelle l’étiquetage (labelling ou mapping, en anglais). Ici, nous prendrons la correspondre
donnée sur le tableau 3.2. Trouver l’étiquetage optimal au sens d’une certaine métrique (typiquement la
couple de bits
(00)
(01)
(11)
(10)
↔
↔
↔
↔
symbole associé
0
A
2A
3A
Table 3.2 – Etiquetage de la 4-OOK
probabilité d’erreur bit) est un problème intéressant et résolu dans de nombreux cas mais ne relève pas du
cours de COM105, faute de temps. Si Ts prend la même valeur que dans la figure 3.2 de l’exemple-jouet,
alors celle-ci se modifie comme sur la figure 3.5.
Nous remarquons bien que le même nombre de bits est émis en deux moins de temps, autrement dit,
qu’on émet deux fois plus de bits dans le même laps de temps. Nous avons doublé le débit en associant deux
bits par symbole, toute chose égale par ailleurs.
Si les bits ne sont pas codés (c’est-à-dire, si cn = dn ), on obtient trivialement la généralisation suivante
Db =
log2 (M )
.
Ts
(3.8)
Si les bits cn sont codés, alors il faut multiplier le terme de droite de l’équation (3.8) par le rendement du
code R pour obtenir le débit binaire utile.
42
Modulations numériques
.
Ts
3A
2A
A
0
11111111111111111111111111111111111111
00000000000000000000000000000000000000
1
0
0
1
1
0
1
t
0
.
Figure 3.5 – x(t) pour l’envoi de N = 8 données égales à 1, 0, 0, 1, 1, 0, 1, 0 en 4-OOK
En conclusion de cette sous-section, nous avons introduit la notion de symboles qui se révèle un moyen
d’augmenter le débit. Nous verrons en section 3.5 le prix à payer pour cette augmentation par ce biais-là.
Comme dit en introduction de cette sous-section, un autre moyen d’augmenter le débit est de diminuer
Ts (comme en atteste d’ailleurs l’équation (3.8)). C’est pourquoi dans la sous-section suivante, nous allons
analyser l’impact d’une modification de Ts mais surtout l’impact d’une modification de g(t). Nous verrons
en effet que les choix de Ts et de g(t) sont liés en sous-section 3.4.2. Pour s’en convaincre, il suffit de
reprendre l’exemple-jouet pour remarquer que g(t) = ΠTs (t), et donc que modifier Ts revient à modifier g(t)
et vice-versa.
3.3.3
Du signal à temps discret au signal à temps continu
Nous rappelons que le signal x(t) s’écrit de la manière suivante, selon l’équation (3.4),
x(t) =
N
−1
X
n=0
sn g(t − nTs ) + b(t).
(3.9)
Dans la sous-section précédente, nous avons examiné succinctement les possibilités pour {sn }. Nous allons
maintenant nous focaliser sur celles de g(t). Nous allons notamment analyser l’influence de g(t) sur le spectre
du signal émis dont la largeur de bande et sur la consommation énergétique.
Avant de continuer, faisons une remarque sur l’utilisation de l’équation (3.9) dans les applications modernes de communications. A vrai-dire, tous les systèmes modernes (3G, 4G, 5G, Wifi, TNT, ADSL) sont
basés sur l’équation (3.9). Cette équation représente le formalisme des modulations linéaires car le signal
x(t) s’écrit linéairement en fonction des symboles d’information {sn }n . D’autres liens entre x(t) et {sn }n de
type non-linéaire auraient pu être considérés mais cela dépasse largement le cadre du cours de COM105 et
revêt une utilité faible maintenant car ces modulations non-linéaires tombent en désuétude. En fait l’équation (3.9) est rarement utilisée sans modification car, en pratique, les symboles {sn }n de type OOK ou PAM
ne modulent pas directement le filtre g(t) mais passent à travers un opérateur linéaire dont la sortie notée
{s̃n }n module alors le filtre g(t). Cet opérateur linéaire a pour objectif de faciliter la réception. Dans le cadre
des 4G, 5G, Wifi, TNT et ADSL, cet opérateur s’appelle l’OFDM et gère la présence de l’interférence entre
symboles (définie à la sous-section 3.4.2). Dans le cadre de la 3G, cet opérateur s’appelle le CDMA et gère
l’interférence entre les utilisateurs d’une même cellule. Ces opérateurs sont décrits et justifiés dans le cours
de COM223.
Spectre du signal émis. Pour voir l’impact de g(t) sur le spectre de x(t) et donc sur la largeur de bande,
il convient d’abord de définir le spectre et la largeur de bande du signal x(t). Comme le signal x(t) est
aléatoire en raison de la nature aléatoire de l’information (cf. le chapitre 2), le spectre est défini comme
étant la densité spectrale de puissance (d.s.p.) du signal. En SI101, vous avez montré que la densité
spectrale de puissance d’un signal stationnaire (au sens large) correspondait à la transformée de Fourier de
la fonction d’autocorrélation. Vérifions que le signal x(t) est stationnaire ou pas au sens large ? Dans la suite
de cette sous-section, afin de faciliter les calculs, nous supposerons que N = +∞. En conséquence, en accord
avec l’hypothèse 3.2, un calcul élémentaire conduit à
E[x(t)]
E[x(t + τ )x(t)]
= ms
= m2s
∞
X
g(t − nTs )
n=0
∞
X
n,m=0
g(t + τ − nTs )g(t − mTs ) + σs2
(3.10)
∞
X
n=0
g(t + τ − nTs )g(t − nTs )
(3.11)
43
Description de l’émetteur
Alors que le terme de droite de l’équation (3.10) peut parfois être indépendant de t, notamment si ms = 0 ou
si g(t) = ΠTs (t), il est clair que le terme de droite de l’équation (3.11) dépend toujours de t. Par conséquent,
le signal x(t) n’est pas stationnaire. En fait, il est cyclostationnaire car ces moments sont invariants par
un décalage temporel de Ts comme on peut le vérifier facilement sur les équations (3.10) et (3.11). Cette
propriété de cyclostationnarité nous empêche de calculer la d.s.p. comme la transformée de Fourier de la
fonction d’autocorrélation. D’ailleurs cela s’avère impossible puisque cette fonction d’autocorrélation, définie
∆
par (t, τ ) 7→ rxx (t, τ ) = E[x(t + τ )x(t)] dépend maintenant des deux variables t et τ . Le lien entre la d.s.p.
et rxx (t, τ ) est à établir et ceci est fait dans le résultat 3.2. Ce résultat est démontré en annexe A.1.
Résultat 3.2 Soit f 7→ Sxx (f ) la densité spectrale du signal x(t). Nous avons
Z
(0)
(0)
Sxx (f ) = rxx
(τ )e−2iπf τ dτ = FT(τ 7→ rxx
(τ ))
avec
1
T →∞ T
(0)
rxx
(τ ) = lim
Z
T /2
rxx (t, τ )dt.
−T /2
En clair, la d.s.p. est la transformée de Fourier de la composante continue de la fonction d’autocorrélation.
Ceci est donc une extension de la formule vue en SI101.
Etant donné le résultat 3.2, nous sommes maintenant en mesure de déterminer le lien entre la d.s.p. de
x(t) et de ces paramètres-constituants qui est reporté dans le résultat 3.3. De nouveau, la preuve, simple
mais fastidieuse, est donnée en annexe A.2.
Résultat 3.3 (Formule de Bennett) Soit x(t) le signal défini par l’équation (3.9) avec N = +∞. On a
alors
2 +∞ m2s X n n
σs2
Sxx (f ) = 2
G
δ
f
−
+
|G(f )|2
Ts n=−∞ Ts Ts
Ts
avec f 7→ G(f ) la transformée de Fourier de t 7→ g(t).
Grâce au résultat 3.3, on remarque que la forme du spectre du signal émis dépend totalement de celle du
filtre d’émission g(t). De plus quand le signal n’est pas à moyenne nulle, des raies apparaissent dans le
spectre. Plus que la forme du spectre, ce qui compte c’est la largeur de bande qu’il occupe. Nous donnons, à
la définition 3.1, notre définition de la bande pour les types de signaux que nous rencontrons couramment.
Définition 3.1 Soit t 7→ x(t) une fonction temporelle dont la transformée de Fourier est notée f 7→ X(f ).
Nous supposerons que le support du spectre (donc de f 7→ X(f )) est symétrique autour de 0 et vaut
[−fmax , fmax ]. De plus nous supposerons qu’il existe une boule ouverte autour de f = 0 pour laquelle X(f )
n’est pas identiquement nul. Alors, nous définirons la bande, notée B, comme étant la longueur du support
de X. Par conséquent
B = 2fmax .
(3.12)
En cours de SI101, la bande a été définie différemment (en fait, sans le facteur 2 dans l’équation (3.12))
car ils ont utilisé le fait que le signal x(t) était à valeurs réelles et donc que la partie négative du spectre
était redondante par rapport à sa partie positive grâce à la symétrie hermitienne de X(f ). Ici, afin d’être
compatible avec de futurs signaux à valeurs complexes (comme c’est le cas maintenant dans la plupart des
systèmes) qui évidemment n’ont pas de spectre à symétrie hermitienne, nous n’avons pas pris en compte la
nature réelle du signal traité. Nous serons donc cohérents avec les cours futurs de communications numériques
du cycle Master.
Etant donné la définition 3.1, nous avons la largeur de bande de x(t) identique à celle de g(t).
Dans la suite, nous listons quelques choix naturels de filtre g(t) et nous en évaluons qualitativement les
avantages et inconvénients respectifs.
• Exemple 1 : Fonction porte.
√
1
1/ Ts pour t ∈ [0, Ts [
(3.13)
g(t) = √ ΠTs (t) =
0
ailleurs
Ts
et donc
|G(f )| =
p
Ts |sinc (πf Ts ) |
44
Modulations numériques
√
avec sinc(•) = sin(•)/• le sinus cardinal. Le facteur 1/ Ts a été rajouté dans l’équation (3.13) afin
d’assurer une énergie-unité pour ce filtre. Comme vu dans l’exemple-jouet de la sous-section 3.3.1, ce
filtre est couramment employé pour des transmissions sur fibre optique et s’appelle alors le filtre de
« Non-Retour-à-Zéro » (NRZ). Il est connu que la transformée de Fourier d’un tel filtre est un sinus
cardinal. Par conséquent, la bande théorique occupée est infinie. En pratique, si on néglige les lobes
secondaires autres que le premier d’entre eux, la bande est de l’ordre de 4/Ts . Ce filtre est coûteux en
terme de bande et de plus déborde beaucoup sur les canaux adjacents. En optique, cela n’est encore trop
gênant car la bande disponible sur les fibres optiques (en raison des très hautes fréquences considérées
puisque ce sont des fréquences du même ordre de grandeur que la lumière visible) est importante et
donc on peut se permettre d’en gâcher un peu par facilité. En revanche, en communications sans fil,
la bande est très précieuse, surtout autour du giga-Hertz où la plupart des applications « s’entasse »,
donc il est totalement exclu d’utiliser ce type de filtre.
• Exemple 2 : Fonction sinc.
t
1
g(t) = √ sinc π
Ts
Ts
et donc
|G(f )| =
p
Ts Π1/Ts (f − 1/2Ts ).
Ce filtre a pour transformée de Fourier un spectre idéalement plat entre les fréquences −1/2Ts et 1/2Ts
et nul ailleurs. Mais il est également bien connu que ce filtre n’est pas implémentable en pratique, même
avec des troncatures bien choisies, en raison du phénomène de Gibbs (cf. le cours de SI101). C’est
d’ailleurs la raison pour laquelle construire des filtres analogiques avec des gabarits abrupts s’avèrent
délicats et a conduit à de nombreuses solutions sous-optimales dont on peut citer l’exemple des filtres
de Butterworth donnés en cours de ELEC101.
• Exemple 3 : Fonction en racine de cosinus surélevé.
g(t) =
4ρ cos((1 + ρ)πt/Ts ) + (Ts /(4ρt)) sin((1 − ρ)πt/Ts )
√
2
π Ts
1 − (4ρt/Ts )
et donc
|G(f )| =




 r




√
Ts
2
1 + cos
Ts
πTs
ρ (|f |
0
− (1 − ρ)/(2Ts ))
pour |f | ∈ [0, (1 − ρ)/(2Ts )]
pour |f | ∈](1 − ρ)/(2Ts ), (1 + ρ)/(2Ts )]
ailleurs
avec ρ le facteur d’excès de bande compris entre 0 et 1. Bien que ce filtre ne paraisse pas naturel, il
est fort couramment utilisé, notamment en 3G avec ρ = 0, 22 ou en DVB-C avec ρ = 0.15, car il offre
un excellent compromis entre son occupation spectrale (qui est de (1 + ρ)/Ts et qui sera calculée à
la sous-section 3.4.2) et son occupation temporelle. En temps, il a une décroissance bien plus rapide
que le sinus cardinal et des lobes secondaires bien plus faibles. Ce compromis temps-fréquence est
donc bien meilleur que ceux offerts par les filtres présentés aux exemples précédents. De plus ce filtre
possède une propriété fondamentale que doit vérifier le filtre d’émission pour faciliter la réception et qui
sera montrée à la sous-section 3.4.2. Pour ces deux raisons (compromis temps-fréquence et propriété
fondamentale à satisfaire), ce filtre en racine de cosinus surélevé (square-root raised cosine -srrc-, en
anglais) est très largement répandu dans les systèmes actuels.
Sur les trois exemples, nous remarquons que la bande de g(t), et donc aussi celle de x(t), est supérieure ou
égale à 1/Ts . Nous verrons que cette inégalité n’est pas due au hasard en sous-section 3.4.2.
Consommation énergétique. Avant de décrire le récepteur, puisque nous avons fini de décrire l’émetteur
(symboles et filtre d’émission), examinons l’énergie consommée pour en envoyer un bit par le biais du signal
x(t). On note Eb l’énergie consommée pour émettre un bit d’information. Les expressions suivantes
supposeront que les données cn ne sont pas codées et donc qu’un bit émis cn correspond à un bit d’information
dn . Dans le cas contraire, l’équation finale (3.15) est à multiplier par l’inverse du rendement du code R.
Soit Px la puissance duRsignal x(t). Comme un bit dure en moyenne Tb secondes. Nous avons Eb = Px Tb =
Px Ts / log2 (M ). Or Px = Sxx (f )df , donc en utilisant l’expression donnée au résultat 3.3, nous obtenons
trivialement le résultat suivant.
45
Description de récepteur
Résultat 3.4 L’énergie consommée pour émettre un bit d’information (dans le cas non codé) s’écrit de la
manière suivante


X
1
Es Eg + m2s
hn 
(3.14)
Eb =
log2 (M )
n6=0
R
où Eg = g(t)2 dt correspond à l’énergie du filtre d’émission et où hn = h(nTs ) avec h(t) = g(−t) ? g(t).
Si le signal est à moyenne nulle (ms = 0 comme dans le cas de la PAM) ou si hn = 0 pour tout n 6= 0
(comme c’est le cas des trois filtres g(t) présentés à la page précédente -cf. la sous-section 3.4.2 pour plus
d’explications sur cette contrainte-), alors on obtient la formule simplifiée suivante
Eb =
Es Eg
.
log2 (M )
(3.15)
Dans le reste du cours, pour simplifier, nous supposerons que Eg = 1 et donc que nous travaillons avec
des filtres d’émission normalisés comme fait dans les trois exemples donnés plus haut. En revanche, dans
l’exemple-jouet, nous avions Eg = Ts , ce qui conduira à faire une normalisation à la réception comme nous
le verrons en sous-section 3.4.1.
L’équation (3.15) nous donne l’impression qu’en augmentant M , on diminue l’énergie consommée par
bit. Ceci est faux si on souhaite offrir les mêmes performances. En effet, on verra, en sous-section 3.5, qu’il
faut alors aussi augmenter Es augmente dans une proportion même plus grande que M .
3.4
Description de récepteur
Bien évidemment, les opérations à effectuer au récepteur pour retrouver les symboles d’information, vont
dépendre de la distorsion apportée par le canal de propagation. Comme déjà mentionné, nous allons nous
focaliser uniquement sur le canal gaussien. Nous verrons, à titre d’exemple, que les résultats obtenus au
cours de cette section peuvent s’étendre à certains autres types de canaux (notamment, lorsque plusieurs
antennes sont disponibles au récepteur) sans difficulté. En revanche, les résultats obtenus ne peuvent s’étendre
trivialement au canal sélectif en fréquence (en fait, certains résultats restent valides et d’autres exigent des
modifications majeures) qui doit donc faire l’objet d’une étude spécifique conduite dans le cours de COM223.
Un récepteur est décomposé en deux boîtiers ayant des buts différents :
• Comme nous souhaitons prendre des décisions sur la suite discrète de symboles, il apparaît naturel de
vouloir effectuer des opérations non pas sur le signal analogique y(t) mais sur une « version échantillonnée ». Donc le premier boîtier a pour objectif de fournir un signal à temps discret à
partir du signal analogique y(t). Nous verrons que cela ne se résume pas à un simple échantillonnage à la cadence donnée par le théorème d’échantillonnage de Shannon-Nyquist. Ce boîtier est décrit
et partiellement justifié en sous-section 3.4.1.
• A partir du signal à temps discret délivré par le premier boîtier, noté {zn }n , le deuxième boîtier
prendra une décision sur les symboles d’information émis {sn }n . Grâce aux outils de la théorie
de la détection développés au chapitre 1, nous serons en mesure de donner et de justifier les opérations
que le détecteur optimal (c’est-à-dire, celui qui minimise la probabilité d’erreur) doit effectuer. Ce
boîtier est décrit en sous-section 3.4.3.
Enfin, la sous-section 3.4.2 est dédiée à la description d’une contrainte sur le filtre d’émission (dans le cas
du canal gaussien) qu’il doit satisfaire afin que le détecteur optimal soit ultra-simple à implémenter. En effet,
cette contrainte permettra d’éliminer ce que nous appellerons l’Interférence entre Symboles (ISI en anglais)
et donc de travailler symbole par symbole.
3.4.1
Du signal à temps continu au signal à temps discret : le filtre adapté
Le résultat le plus important de cette sous-section est le résultat 3.5 suivant. Nous allons ensuite i) le
prouver partiellement car des outils non développés en COM105, faute de temps, nous manquent pour faire
une preuve rigoureuse et complète et ii) le commenter longuement.
Résultat 3.5 (Filtre adapté) La suite à temps discret zn , optimale au sens de la probabilité d’erreur, sur
laquelle apposer ensuite un détecteur est la suivante :
zn = z(nTs )
46
Modulations numériques
avec
z(t) = g(−t) ? y(t)
où
• ? est le produit de convolution, et
• g(−t) est dit le filtre adapté (matched filter, en anglais) à g(t).
Esquisse de preuve : Nous supposerons au préalable que la structure optimale du premier boîtier est la
suivante.
zn = z(nTs ) avec z(t) = gr (t) ? y(t).
(3.16)
où gr (t) est dit un filtre de réception. Ainsi nous forçons le récepteur à effectuer une opération linéaire suivi
d’un échantillonnage à la cadence des symboles. Nous allons, ici, juste prouver que gr (t) = g(−t). Pour cela,
nous allons de plus supposer qu’un unique symbole a été émis, donc que
y(t) = sn g(t − nTs ) + b(t).
Pour optimiser le récepteur, nous allons exhiber le filtre gr (t) qui maximise, au niveau du signal zn , le
Rapport Signal-à-Bruit ou Signal-to-Noise Ratio (SNR) en anglais. Nous avons
Z
Z
zn = sn gr (τ )g(−τ )dτ + gr (τ )b(nTs − τ )dτ .
|
{z
} |
{z
}
signal
bruit
Pour écrire le SNR, qui est égal à E[(signal)2 ]/E[(bruit)2 ], nous développons les termes au carré, permutons
les espérances mathématiques et les intégrales temporelles, et utilisons l’hypothèse 3.1 sur le bruit. Ainsi,
nous obtenons
2
R
gr (τ )g(−τ )dτ
2Es
R
SNR =
.
N0
gr (τ )2 dτ
Par l’inégalité de Cauchy-Schwartz (appliquée, ici, sur des signaux à valeurs réelles ce qui explique l’absence
de complexe conjugué), nous avons une borne sur le SNR indépendante de gr (t) qui vaut
Z
2Es
SNR ≤
g(τ )2 dτ
N0
et cette borne est atteinte et donc le SNR est maximisé par rapport à gr (t) si et seulement si gr (t) = g(−t)
ce qui conclut la preuve.
Pour s’affranchir de nos deux hypothèses et donc étendre la preuve pour un nombre quelconque de
symboles émis et pour un récepteur dont nous ne fixons aucune structure préalable (contrairement donc à
l’équation (3.16), nous devons faire appel à des techniques plus sophistiquées reposant sur la notion d’espace
des signaux dont le caractère hilbertien sera précieux et utilisant la caractère gaussien du bruit (ce dont nous
n’avons pas eu besoin ici puisque travaillant avec le SNR et donc avec des moments du second ordre). La
preuve complète est donnée en COM223.
Donc le récepteur optimal est composé d’abord du filtre adapté au filtre d’émission et ensuite d’un
échantillonneur à la cadence des symboles. Ainsi, nous avons transformé le signal analogique reçu en une
suite discrète qui fonctionne à la même vitesse que les symboles émis. Le filtre adapté ayant maximisé le
SNR, il a eu pour effet de diminuer le bruit perturbant l’information portée par les symboles.
Alors que nous avons procédé à une opération d’échantillonnage, on peut s’étonner de ne pas avoir utilisé
le fameux théorème d’échantillonnage de Shannon-Nyquist pour résoudre le problème posé. Ceci aurait pu
être fait mais aurait conduit à deux défauts. Rappelez-vous les trois exemples de filtre d’émission donnés à la
sous-section précédente. Tous avaient une largeur de bande supérieure ou égale à 1/Ts . Retenons l’exemple 3
du filtre en racine de cosinus surélevé qui est souvent utilisé en pratique. Sa largeur de bande vaut (1 + ρ)/Ts
avec en pratique ρ < 1. En échantillonnant à la cadence 2/Ts , on s’assure la validité du théorème de ShannonNyquist pour toute valeur pratique de ρ. Ainsi, nous nous retrouvons en présence de deux échantillons par
symbole d’information ce qui est le premier défaut. En effet, en pratique il faudra bien combiner ces deux
échantillons associés au symbole sn pour détecter optimalement sn . On pourrait montrer qu’effectuer cette
combinaison revient à appliquer en fait un filtre adapté mais numérique cette fois-ci.
47
Description de récepteur
De plus appliquer le théorème d’échantillonnage revient à ne pas perdre d’information sur le signal
analogique y(t) et donc à conserver tout le bruit b(t) présent dans y(t) ce qui est le deuxième défaut. En
effet, ceci ne nous intéresse pas de conserver tout le bruit puisque ce qui nous intéresse n’est pas y(t) dans
sa globalité mais seulement les symboles sn contenus dans y(t). Donc nous ne sommes intéressés que par
une sous-partie de y(t). C’est pourquoi on peut se permettre de ne pas échantillonner à la fréquence de
Shannon-Nyquist, moyennant l’application du filtre adapté.
Pour la petite histoire, le filtre adapté n’a pas été créé pour les communications numériques mais pour le
traitement du signal en radar. Il permet en effet de faire ressortir l’écho émis par le radar (noté g(t)) caché
dans le bruit ambiant. Ces travaux publiés par les Alliés durant le deuxième conflit mondial leur ont donné
un avantage certain dans les luttes aérienne et maritime.
Avant d’aller plus loin, écrivons la suite {zn }n en fonction des symboles {sn }n . Le lien est donné par le
résultat 3.6 suivant.
Résultat 3.6 (Interférence entre symboles) Dans le contexte d’un canal gaussien et dans le cas de
l’application du filtre adapté au récepteur, nous avons
zn
=
hn ? sn + wn
=
h0 sn +
X
k6=0
|
hk sn−k
{z
+wn
(3.17)
}
Interférence entre symboles
avec
• hn = h(nTs ) où h(t) = g(−t) ? g(t) est le filtre global réunissant le filtre d’émission et le filtre de
réception, et
• wn = w(nTs ) où w(t) = g(−t) ? b(t) est le bruit passé à travers le filtre adapté.
De plus, nous avons que le spectre de wn , noté f 7→ Sww (e2iπf ), vaut
Sww (e2iπf ) =
où h(e2iπf ) =
P
n
N0
h(e2iπf )
2
(3.18)
hn e−2iπf n est le spectre de la suite {hn }n .
Preuve : En convoluant l’équation (3.9) avec le filtre g(−t), nous obtenons que
X
z(t) =
sk h(t − kTs ) + w(t).
k
En échantillonnant ensuite à la cadence des symboles, nous avons
X
zn =
sk hn−k + wn .
k
Comme le produit de convolution est commutatif, nous avons bien l’équation (3.17). Concernant le spectre
du bruit wn , calculons d’abord wn . Il est clair que
Z
wn = g(−τ )b(nTs − τ )dτ.
De ce fait la corrélation rww (n) = E[wm+n wm ] s’exprime en permutant l’espérance mathématique et les
intégrales temporelles comme ci-dessous
ZZ
rww (m) =
g(−τ )g(−τ 0 )E[b(mTs + nTs − τ )b(mTs − τ 0 )]dτ dτ 0 .
Comme le bruit b(t) est blanc (cf. hypothèse 3.1), nous avons
ZZ
N0
rww (n) =
g(−τ )g(nTs − τ 0 )δ(nTs − τ + τ 0 )dτ dτ 0
2
Z
N0
=
g(−τ )g(nTs − τ )dτ
2
N0
=
(g(−t) ? g(t))|t=nTs
2
N0
=
hn .
2
48
Modulations numériques
Comme le spectre pour les suites aléatoires stationnaires est défini par
X
Sww (e2iπf ) =
rww (n)e−2iπf n ,
n
le résultat est démontré.
Nous pouvons faire quelques remarques sur les bruits que nous avons introduit : le bruit analogique w(t)
est coloré puisqu’il correspond au passage d’un bruit blanc dans le filtre g(−t). Il sera blanc si et seulement
si g(t) = δ(t) ce qui n’est pas envisageable en pratique puisque ce filtre est à bande infiniment constante. Le
bruit à temps discret wn est lui aussi a priori coloré puisque son spectre est donné par celui du filtre hn sur
lequel nous n’avons encore fait aucune hypothèse particulière. Enfin, par construction, f 7→ Sww (e2iπf ) est
une fonction non-négative, ce qui implique que f 7→ h(e2iπf ) l’est aussi. Pourquoi est-ce vrai ? Par la formule
sommatoire de Poisson (introduite en cours de SI101 et qui, en autre, permet de démontrer le théorème
d’échantillonnage de Shannon-Nyquist), nous savons que, pour tout Ts ,
X
f −n
1 X
2iπf
−2iπ(f /Ts )nTs
H
=
h(e
)=
h(nTs )e
Ts n
Ts
n
avec f 7→ H(f ) la transformée de Fourier de t 7→ h(t). Or, comme h(t) = g(−t) ? g(t), nous avons
H(f ) = |G(f )|2 qui est donc non-négatif ce qui prouve bien que f 7→ h(e2iπf ) l’est aussi.
Cependant le cœur du résultat 3.6 n’est pas la couleur du bruit, mais la présence d’Interférence Entre
Symboles (ISI) dans l’équation (3.17). Comme un même symbole sn est présent sur plusieurs échantillons zn ,
le détecteur ayant pour objectif de recouvrir optimalement sn ne peut se contenter de travailler échantillon
par échantillon mais doit travailler conjointement sur un ensemble d’échantillons dont la taille va certainement dépendre de la longueur du filtre {hn }n . Cet algorithme existe et s’appelle l’algorithme de Viterbi (il
est notamment utilisé dans les téléphones 2G pour gérer l’ISI). Cet algorithme fait appel aux techniques
de programmation dynamique reliée aux Chaînes de Markov. Ce cadre très général fait qu’on rencontre cet
algorithme aussi dans le décodage de certains codes correcteurs d’erreur avec mémoire (qui sont utilisés dans
tous les systèmes actuels de type 2G, 3G, 4G, TNT, Wifi, ADSL, etc) mais aussi dans d’autres applications
fort différentes à première vue des communications numériques comme la classification, la reconnaissance de
la parole, etc. Dès que le filtre {hn }n est trop long ou que la taille de la constellation M est trop grande, cet
algorithme devient inopérant en raison de sa complexité algorithmique. D’autres solutions sous-optimales
mais moins complexes existent dans la littérature pour gérer la présence d’ISI : on peut citer l’égalisation
linéaire dont l’objectif est de diminuer suffisamment la puissance de l’ISI par des traitements linéaires afin
de mettre ensuite en place le détecteur prévu en l’absence d’ISI que nous exposerons à la sous-section 3.4.3.
Noter que l’approche par égalisation est beaucoup utilisée dans la 3G pour gérer non pas l’ISI mais l’interférence entre utilisateurs au niveau de la station de base. Mais actuellement la technique qui fait fureur
pour gérer l’ISI (4G, Wifi, TNT, ADSL, fibres optiques, etc) est l’OFDM qui est basée sur le principe de
diagonalisation d’opérateur linéaire. Ces algorithmes font l’objet d’une étude approfondie en COM223. Ils
sont donc en dehors du périmètre de COM105.
En effet, en présence d’un canal gaussien, nous allons voir en sous-section 3.4.2 qu’en choisissant judicieusement le filtre d’émission, on peut éliminer l’ISI et donc développer en sous-section 3.4.3 un détecteur
bien plus simple qui ne fera pas appel aux techniques mentionnées au paragraphe précédent.
3.4.2
De l’interférence entre symboles : le filtre de Nyquist
Dans l’équation (3.17), l’ISI provient de la présence du filtre d’émission et de son filtre adapté. Quand
le canal de propagation est en outre sélectif en fréquence, l’ISI est également engendrée par les échos du
canal qui retardent le signal émis et provoquent le mélange des symboles comme déjà évoqué en section
3.2. Puisque nous ne choisissons pas nous-mêmes les échos du canal de propagation, cette ISI est subie et
impondérable ce qui fait que le récepteur doit s’y confronter sans échappatoire avec les techniques évoquées
à la fin de la sous-section précédente.
En revanche, lorsque le canal est gaussien comme c’est le cas dans ce cours de COM105, l’origine de
l’ISI est unique et provient seulement de la présence du filtre d’émission et de son filtre adapté. L’ISI étant
vue comme un facteur nuisible (cela complique les récepteurs et en fait augmente la probabilité d’erreur),
Description de récepteur
49
il nous paraît opportun de sélectionner un filtre d’émission ne créant pas d’ISI au niveau du
signal zn . C’est pourquoi l’objectif de cette sous-section est d’exhiber les conditions sur g(t) et de manière
équivalente sur h(t) (qui, nous le rappelons, vaut g(−t) ? g(t)) pour empêcher la présence d’ISI au niveau de
zn .
En examinant l’équation (3.17), il est évident qu’il n’y aura pas de mélange des symboles au niveau de
zn si et seulement si les cœfficients du mélange sont nuls sauf un. Autrement dit, il n’y a pas d’ISI si et
seulement si il existe n0 pour lequel hn0 6= 0 et hn = 0, ∀n 6= n0 . Ceci est bien une condition nécessaire
et suffisante. En effet, le sens « suffisant » est trivial et le sens « nécessaire » provient du fait que nous
voulons l’absence d’ISI quelle que soit la valeur des symboles émis et non pour une combinaison particulière
de symboles. Dans la suite du cours, sans perte de généralité, nous prendrons toujours n0 = 0 pour simplifier.
Cette condition sur le filtre h(t) se traduit par l’introduction du filtre de Nyquist donné en définition 3.2.
Définition 3.2 (Filtre de Nyquist) Un filtre de réponse impulsionnelle `(t) est dit de Nyquist (pour la
cadence 1/Ts ) si et seulement si
6= 0 pour n = 0
`n = `(nTs ) =
.
(3.19)
0
pour n 6= 0
P
P
Par simple application de la formule sommatoire de Poisson ( n L(f − n/Ts ) = Ts n `n e−2iπf nTs ), nous
obtenons une équation dans le domaine fréquentiel associée à l’équation (3.19).
Ainsi, de manière équivalente, un filtre de fonction de transfert L(f ), qui est la transformée de Fourier
de `(t), est dit de Nyquist si et seulement si
X n
= Ts `0 = constante, ∀ f.
(3.20)
L f−
Ts
n
Ainsi le premier résultat de cette sous-section est le suivant.
Résultat 3.7 Soit h(t) le filtre englobant le filtre d’émission et le filtre de réception et intervenant dans
l’équation (3.17). Pour ne pas créer d’ISI, ce filtre doit être de Nyquist (pour la cadence 1/Ts ).
Evidemment, en pratique, nous ne construisons pas h(t) puisqu’il résulte de la concaténation du filtre d’émission g(t) et du filtre adapté à g(t). Ainsi h(t) dépend entièrement du choix de g(t). Donc ce qui nous intéresse
plutôt c’est la caractérisation de g(t) et donc la traduction sur g(t) du fait que h(t) soit de Nyquist. Pour
cela, nous devons introduire, en définition 3.3, la notion de filtre en racine de Nyquist.
Définition 3.3 (Filtre en racine de Nyquist) Un filtre `(t) (à valeurs réelles) est dit en racine de Nyquist si et seulement si le filtre `(−t) ? `(t) est un filtre de Nyquist. Autrement dit, le filtre convolué à son
filtre adapté est de Nyquist.
L’expression « racine de Nyquist » provient du fait que le spectre de `(−t) ? `(t) est égal à |L(f )|2 . Donc
si `(t) est racine de Nyquist, `(−t) ? `(t) est Nyquist et |L(f )|2 vérifie la condition de Nyquist fréquentielle.
Autrement dit, de tout filtre de Nyquist, on peut créer un filtre en racine de Nyquist dont le spectre sera la
racine du module du spectre du filtre de Nyquist initial.
Pour ne pas avoir d’ISI dans l’équation (3.17), h(t) est de Nyquist. De plus, si h(t) = g(−t) ? g(t) comme
conseillé en sous-section 3.4.1, alors le filtre d’émission g(t) doit être en racine de Nyquist d’où le résultat
suivant.
Résultat 3.8 Si h(t) est un filtre de Nyquist en accord avec le résultat 3.7 et si h(t) = g(−t) ? g(t) en accord
avec le résultat 3.6, alors g(t) est un filtre en racine de Nyquist.
Noter que ce résultat 3.8 ne tient plus si on décide de mettre un filtre de réception différent du filtre adapté.
Cela peut arriver en pratique de ne mettre qu’un filtre sélectionnant la bande utile du signal. Noter également
que le filtre adapté évidemment ne sélectionne que la bande utile du signal (puisqu’il a la même bande) mais
en plus épouse en quelque sorte la forme du signal émis et de manière optimale puisqu’il maximise le SNR.
Le résultat 3.9 fournit une condition nécessaire (mais pas suffisante) que la bande des filtres de Nyquist
ou en racine de Nyquist doit satisfaire. Cette condition n’est pas sans rappeler un commentaire effectué dans
la dernière phrase du paragraphe consacré au spectre du signal émis dans la sous-section 3.3.3.
50
Modulations numériques
Résultat 3.9 La largeur de bande, notée B, de tout filtre de Nyquist ou en racine de Nyquist (pour la
cadence 1/Ts ) vérifie
1
B≥
.
Ts
Preuve : Examinons d’abord le cas du filtre de Nyquist. Raisonnons par l’absurde : supposons que B < 1/Ts ,
alors la condition fréquentielle donnée par l’équation (3.20) ne peut pas être satisfait puisque le terme sera
parfois nul et parfois non nul. En effet, il sera nul quand les fonctions décalées ne se superposent pas ce qui
sera le cas puisque B < 1/Ts et comme montré sur la figure 3.6. Donc il faut nécessairement que B ≥ 1/Ts .
.
Fonction "verte/tiret" non constante
L(f )
L(f − 1/Ts)
f
0
B
1
Ts
.
Figure 3.6 – Allure du terme de gauche de l’équation (3.20) quand B < 1/Ts
Comme le spectre du filtre en racine de Nyquist est la racine du spectre du filtre de Nyquist associé, ils ont
même largeur de bande et donc la condition est identique.
Evidemment, dans le contexte du canal gaussien, cette condition est essentielle car elle nous permet de
construire des filtres d’émission ne créant pas d’ISI à la réception. En revanche, dans le contexte du canal
sélectif en fréquence, on pourra à première vue se permettre de relâcher cette condition sur la bande, puisque
même si le filtre d’émission est en racine de Nyquist, de l’ISI subsistera à la réception en raison de celle
apportée par les échos du canal multitrajets. C’est pourquoi, si on s’affranchit de cette condition de bande,
il y aura deux origines indépendantes de l’ISI. Et l’ISI résultante sera malheureusement le cumul des ISI
provenant du filtre d’émission et des échos (pour s’en convaincre, il suffit de se rappeler que les longueurs
des filtres s’additionnent par convolution). Donc l’ISI résultante sera généralement plus élevée si le filtre
d’émission n’est pas en racine de Nyquist. Néanmoins si les deux ISI sont assez courtes et donc assez faibles,
on peut se permettre de garder les deux et de les traiter au niveau du récepteur avec des algorithmes puissants
engendrant une perte en performances limitée. Ainsi, en 2G, B = 0.75/Ts < 1/Ts . Ce choix a été fait car
l’occupation spectrale du système était cruciale. Néanmoins, on ne peut pas baisser la bande indéfiniment
car alors l’ISI apportée par le filtre d’émission devient énorme et ingérable d’un point de vue algorithmique
à la réception. Par conséquent on aura toujours
1
B=O
.
Ts
En conclusion, à l’exception notable de la 2G, même en présence d’un canal sélectif en fréquence, on continue
généralement d’imposer au filtre d’émission d’être un filtre en racine de Nyquist (et donc de vérifier la
condition de bande).
Donnons quelques exemples de filtres en racine de Nyquist et de filtres de Nyquist. Pour cela, revenons
sur les filtres d’émission introduits à la sous-section 3.3.3.
• Exemple 1 : Fonction porte. En observant l’équation (3.13), on obtient aisément que cette fonction
représente un filtre de Nyquist. C’est normal car, par construction, les symboles ne sont pas mélangés :
en effet, à chaque instant, et donc a fortiori aux instants nTs , un seul symbole est présent. La convolution
de la fonction porte avec son filtre adapté conduit à une fonction en triangle entre −Ts et Ts . Cette
fonction triangle est donc aussi un filtre de Nyquist. Et la fonction porte est ainsi aussi un filtre en
racine de Nyquist. En fait, tout filtre ayant une réponse impulsionnelle de support [0, Ts ] et nulle en
Ts est à la fois Nyquist et racine de Nyquist (car cette réponse impulsionnelle convoluée à son filtre
adapté a alors un support de [−Ts , Ts ] et est nulle en −Ts et Ts ). C’est logique car dans ce cas le filtre
d’émission ne mélange à aucun instant les symboles et ces symboles sont donc séparables à la réception.
51
Description de récepteur
On dit qu’on a un principe d’orthogonalité (ici, toute fonction de support [0, Ts ] est orthogonale par
rapport à sa décalée de nTs pour le produit scalaire canonique). Ce principe s’avère en fait central en
communications numériques et nous aurons l’occasion de nous y pencher fortement en cours de cycle
master.
• Exemple 2 : Fonction sinc. Il est facile de montrer, par l’intermédiaire de la version fréquentielle du
critère de Nyquist, que cette fonction de nouveau représente un filtre de Nyquist et un filtre en racine
de Nyquist.
• Exemple 3 : Fonction en racine de cosinus surélevé. Comme mentionné en sous-section 3.3.3,
ce filtre est couramment employé dans les systèmes pratiques en raison de son bon compromis tempsfréquence et aussi parce qu’il est en racine de Nyquist. En revanche, cette fonction n’est pas un filtre
de Nyquist. En fait le filtre de Nyquist associé, résultant de la convolution de ce filtre en racine de
cosinus surélevé avec son filtre adapté, se nomme filtre en cosinus surélevé et admet la réponse
impulsionnelle et la fonction de transfert suivantes
h(t) = sinc(πt/Ts )
et donc
H(f ) =







cos(πρt/Ts )
1 − (2ρt/Ts )2
Ts
Ts /2 1 + cos πTρ s (|f | − (1 − ρ)/(2Ts ))
0
pour |f | ∈ [0, (1 − ρ)/(2Ts )]
pour |f | ∈](1 − ρ)/(2Ts ), (1 + ρ)/(2Ts )]
ailleurs
Le terme « cosinus surélevé » provient de l’arc de cosinus translaté verticalement et permettant de
rejoindre les deux parties plates du spectre. On voit bien que la condition B ≥ 1/Ts est respectée. Le
facteur d’excès de bande ρ (roll-off, en anglais) détermine la bande supplémentaire que l’on s’impose
par rapport à la bande minimale requise.
Une fois la contrainte de filtre de Nyquist vérifiée par h(t), l’équation (3.17) se simplifie de la manière
suivante
zn = h0 sn + wn .
R
2
avec, pour rappel, h0 = g(t) dt et donc h0 = Eg . De plus le bruit wn devient blanc de variance h0 N0 /2 en
accord avec l’équation (3.18).
Or, par hypothèse, nous avons fixé Eg = 1 ce qui implique que h0 = 1. Par conséquent, nous obtenons le
modèle suivant pour le canal gaussien à temps discret
zn = sn + wn
(3.21)
avec wn un bruit blanc gaussien centré de variance N0 /2. L’équation (3.21) justifie donc le modèle de canal
gaussien déjà utilisé dans les chapitres 1 et 2.
Dans l’exemple-jouet de la sous-section 3.3.1, nous avions Eg = Ts et non Eg = 1. Pour retrouver le
modèle de l’équation (3.21), il suffira de normaliser en divisant le signal échantillonné par Ts .
3.4.3
Détecteur optimal
Dans cette sous-section, nous allons décrire le détecteur optimal du canal gaussien à temps discret, c’està-dire, quelles opérations appliquées pour retrouver optimalement les symboles sn à partir de zn .
Pour cela, nous allons utiliser les résultats généraux sur la théorie de la détection exposés et démontrés à
la sous-section 1.4.1 du chapitre 1. Nous rappelons juste que le détecteur qui minimise la probabilité d’erreur
est le fameux ML si les symboles émis sont équiprobables.
Selon l’hypothèse 3.2, les symboles sont indépendants entre eux. De plus comme le bruit est blanc et
gaussien, les échantillons wn sont indépendants entre eux. Par conséquent l’échantillon zn ne possède que de
l’information sur l’instant nTs et donc sur sn . Ainsi nous pouvons travailler, sans perte d’optimalité, symbole
par symbole. De plus, toujours selon l’hypothèse 3.2, les symboles sont équiprobables. C’est pourquoi, nous
allons appliquer le détecteur ML sur le signal zn pour retrouver sn . Nous obtenons alors le résultat
suivant.
52
Modulations numériques
Résultat 3.10 Soit {sn }n une suite de symbole vérifiant l’hypothèse 3.2 et soit le canal gaussien à temps
discret vérifiant l’équation (3.21). Alors le détecteur optimal obtient le symbole ŝn de la manière suivante

si zn ∈ ] − ∞, t(0) ]
 s(0)
(m)
ŝn =
s
si zn ∈ ]t(m−1) , t(m) ] pour m ∈ {1, · · · , M − 2}
 (M −1)
s
si zn ∈ ]t(M −2) , +∞[
avec, pour m ∈ {0, · · · , M − 2}, les seuils (threshold, en anglais) suivants
t(m) =
s(m) + s(m+1)
.
2
Preuve : comme le détecteur ML est optimal, ŝn est défini de la manière suivante
ŝn = arg
max
sn ∈{s(0) ,··· ,s(M −1) }
p(zn |sn )
(3.22)
avec p(zn |sn ) la densité de probabilité de zn en supposant sn fixé. Ecrivons donc p(zn |sn ). Conditionné à
sn , l’échantillon zn est gaussien de moyenne sn et de variance N0 /2. Par conséquent,
p(zn |sn ) = √
(zn −sn )2
1
e− N 0 .
πN0
(3.23)
A partir des équations (3.22) et (3.23), nous avons
ŝn = arg
min
(zn − sn )2 .
(3.24)
sn ∈{s(0) ,··· ,s(M −1) }
Par conséquent, zn sera affecté au symbole s(m) le plus proche au sens de la norme quadratique. On peut
ainsi définir une région de décision associée au symbole s(m) de la manière suivante
R(m)
∆
= {z ∈ R t.q. ŝ = s(m) }
= {z ∈ R t.q. s(m) est le plus proche de z au sens de la distance quadratique}.
Ainsi, la région de décision R(m) est un intervalle de l’axe des réels dont les bornes sont les points à égale
distance entre s(m−1) et s(m) et entre s(m) et s(m+1) . Evidemment un traitement particulier est à appliquer
pour les deux symboles des extrémités ce qui conclut la preuve.
Pour les deux constellations introduites dans le polycopié, à savoir les PAM et les OOK, il est facile de
vérifier que
1
(m)
(m)
A.
tPAM = (2m + 2 − M ) A et tOOK = m +
2
ce qui donne la figure 3.7 suivante pour la 4-PAM et la 4-OOK. Ce type de détecteur par région de décisions
dont les bornes sont les médiatrices des points des constellations s’appelle le détecteur à seuil.
.
.
(0)
(1)
−3A t −A t
1
0
0
1
1
0
0
1
−2A
0
(2)
A t
3A
1
0
0
1
0
1
0
0
1
2A
t(0)
1
0
0
1
.
0 A/2
(1)
(2)
A t
2A t
3A
1
0
0
1
1
0
0
1
3A/2
1
0
0
1
5A/2
.
Figure 3.7 – Régions de décision pour la 4-PAM (à gauche) et 4-OOK (à droite)
Grâce au résultat 3.10, nous sommes en mesure de construire le récepteur optimal associé à l’exemplejouet de la sous-section 3.3.1. Le signal reçu y(t) doit passer à travers le filtre adapté au filtre rectangulaire et
R (n+1)T
est ensuite échantillonné. Ceci implique que la version normalisée de zn vaut (1/Ts ) nTs s y(t)dt. Comme
le filtre rectangulaire est en racine de Nyquist, on a zn = sn + wn . Et le détecteur optimal consiste alors à
seuiller zn par rapport à la valeur A/2. Par conséquent, le récepteur intuitivement évoqué en sous-section
3.3.1 s’avère optimal.
53
Description de récepteur
Nous voyons que, dans le cas d’un canal gaussien, le détecteur optimal est extrêmement simple et hyperintuitif. Ceci est dû à deux raisons : i) tout d’abord le canal gaussien induit la minimisation d’une distance
euclidienne grâce au carré présent dans l’exponentiel et ii) ensuite la recherche du symbole est, ici, monodimensionnelle puisque nous n’avons qu’une voie de transmission à la fois. Nous allons illustrer ces propos à
travers trois extensions du résultat 3.10. Ces extensions sont en marge du cours mais vous permettront de
comprendre encore mieux le mécanisme de création de la fonction de coût à minimiser par le détecteur, de
visualiser le caractère parfois totalement non-intuitif de cette fonction de coût et d’apercevoir les problèmes
parfois induits par cette minimisation lors de configurations moins triviales que le canal gaussien.
• Extension 1 : canal SIMO avec bruit gaussien. Nous considérons une transmission avec un
émetteur standard composé d’une antenne et d’un récepteur composé de deux antennes (d’où le terme
SIMO pour Single Input - Multiple Output en anglais). Dans le cas d’un canal gaussien, après passage
dans le filtre adapté de chacune des antennes réceptrices, nous avons à notre disposition deux signaux
(1)
(2)
zn et zn qui s’écrivent de la manière suivante
(
(1)
(1)
zn
= sn + wn
(3.25)
(2)
(2)
zn
= sn + wn
avec les deux bruits indépendants entre eux. Nous voulons maintenant décrire le détecteur optimal ML
pour notamment savoir comment combiner ou ne pas combiner les deux signaux reçus. Le détecteur
optimal est défini comme suit
ŝn = arg
max
s∈{s(1) ,··· ,s(M −1) }
p(zn(1) , zn(2) |sn ).
(1)
Par indépendance des bruits entre les antennes, les variables zn et z (2) conditionnées par rapport à
sn sont indépendantes et identiquement distribuées puisque gaussiennes de moyenne sn et de variance
N0 /2. Ainsi
1 − (zn(1)N−sn )2 − (zn(2)N−sn )2
0
0
e
e
p(zn(1) , zn(2) |sn ) = p(zn(1) |sn )p(zn(2) |sn ) =
πN0
ce qui implique que
ŝn = arg
min
sn ∈{s(1) ,··· ,s(M −1) }
(zn(1) − sn )2 + (zn(2) − sn )2
{z
}
|
(1)
.
(3.26)
(2)
=kzn −sn k2 avec zn =[zn ,zn ]T et sn =[sn ,sn ]T ⇒Norme L2
De nouveau il existe des régions de décision basées sur la position du vecteur reçu zn et les frontières ne
sont plus des simples points mais des lignes qui s’avèrent être des droites puisque ce sont les médiatrices
entre les symboles sn possibles. Ces régions de décision sont illustrées sur la figure 3.8 dans le cas de
symboles émis appartenant à une 2-PAM.
Premièrement, nous remarquons que la distance pertinente entre les vecteurs est ici la distance euclidienne L2 . Il est clair que, sans calcul et sans connaissance de la théorie de la détection, tout le
monde aurait quand même songé à mettre en œuvre cette distance. Deuxièmement le détecteur associé à l’équation (3.26) peut se ramener à une détection à seuil mono-dimensionnelle identique à celle
décrite dans le résultat 3.10. Pour s’en convaincre, examinons le cas 2-PAM. Comme s2n = A2 et donc
indépendant du symbole émis, ce terme n’influence pas l’optimisation ce qui implique que minimiser
(1)
(2)
kzn − sn k2 est équivalent à minimiser (z̃n − sn )2 avec z̃n = (zn + zn )/2. Par conséquent, il suffit
d’appliquer le détecteur à seuil sur la moyenne des signaux reçus. L’extension de ce résultat à
des constellations quelconques existe mais est omis ici car plus complexe à démontrer.
• Extension 2 : canal SIMO avec bruit laplacien. Gardons le même modèle de signaux reçus qu’à
l’équation (3.25) mais modifions la densité de probabilité du bruit. Nous supposerons que le bruit sur
chaque antenne est laplacien et donc de densité suivante
2|w|
1 −√
p(w) = √ e N0 .
N0
Cette situation peut arriver quand le bruit est composé d’interférences provenant d’autres utilisateurs
ou quand le bruit est de nature impulsive. En reproduisant la même démarche que pour le canal SIMO
54
Modulations numériques
(1)
(2)
gaussien, nous savons que zn et zn conditionnées par rapport à sn sont des variables laplaciennes de
moyenne sn et de variance N0 /2. Par conséquent le détecteur optimal vaut
ŝn = arg
|zn(1) − sn | + |zn(2) − sn | .
{z
}
min
sn ∈{s(1) ,··· ,s(M −1) } |
(3.27)
=kzn −sn k1 ⇒Norme L1
Cette fois, la distance entre les vecteurs est la distance L1 , dite aussi distance de Manhattan car
adaptée à la distance parcourue lorsque l’on doit éviter des blocs de bâtiments ne pouvant être traversés
par leur diagonale. On voit donc bien que la nature du bruit influence la distance mise en jeu ! La
distance L1 n’est pas intuitive du tout, et seule la théorie de la détection développée au chapitre 1
nous a permis de l’exhiber. Les régions de décision associées à la norme L1 sont dessinées sur la figure
3.8 pour des symboles émis appartenant à une 2-PAM. Nous observons que la ligne de séparation
.
Antenne 2
11111111
00000000
00000000
11111111
00000000
11111111
Région
00000000
11111111
00000000
11111111
indéterminée
00000000
11111111
00000000
11111111
00000000
11111111
Région de sn = A
1
0
0
1
A
−A
A
1
0
0
1
−A
Région de sn = −A
Antenne 1
11111111
00000000
00000000
11111111
00000000
11111111
Région
00000000
11111111
00000000
11111111
indéterminée
00000000
11111111
00000000
11111111
00000000
11111111
Ligne en "magenta/tiret" correspond au canal gaussien
.
Figure 3.8 – Régions de décision pour le canal SIMO avec bruit gaussien et avec bruit laplacien
(autrement dit, la frontière) entre les deux régions de décision est la médiatrice pour le cas gaussien
et des lignes brisées pour le cas laplacien ce qui est complètement contre-intuitif. Pour votre culture
générale, sachez que cette norme joue un rôle fondamental en traitement d’images, pour lequel elle a été
introduite, notamment à travers la problématique de l’acquisition comprimée (Compressive Sensing,
en anglais). Cette problématique d’acquisition comprimée s’est au final trouvée être également cruciale
dans le domaine de la radio cognitive.
• Extension 3 : canal MIMO massif avec bruit gaussien. Considérons maintenant non seulement
la présence de Nr antennes à la réception mais aussi de Ne antennes à l’émission. Ce type de communications, dit Multiple Input - Multiple Ouput (MIMO) en anglais, est en vogue depuis dix ans dans le
monde académique et commence à être appliqué dans les systèmes comme la 4G ou la dernière génération de Wifi. Sans s’étendre sur le sujet, on peut juste dire que le MIMO permet à la fois d’augmenter
les débits de manière considérable et de fiabiliser les liens de communications. En sortie échantillonnée
du filtre adapté de l’antenne réceptrice r, nous avons
zn(r)
=
Ne
X
(r)
hr,e s(e)
n + wn
e=1
où la somme correspond aux différentes contributions des antennes d’émission qui interfèrent entre
elles à travers le canal radio-mobile, où hr,e correspond à l’atténuation entre l’antenne d’émission e et
(e)
l’antenne de réception r, et où sn correspond au symbole émis à l’instant nTs sur l’antenne d’émission
e. Ces liens entre antennes induisent le modèle matriciel suivant
zn = Hsn + wn
(3.28)
55
Performances
(1)
(N )
(1)
(N )
avec zn = [zn , · · · , zn r ]T , H = [hr,e ]1≤r≤Nr ,1≤e≤Ne matrice de taille Nr ×Ne , sn = [sn , · · · , sn e ]T ,
(1)
(N )
et wn = [wn , · · · , wn r ]T .
Noter que le modèle entrée/sortie donné par l’équation (3.28) est extrêmement général puisque toute
perturbation linéaire peut se mettre sous forme matricielle. Ce modèle permet donc de représenter
des communications MIMO mais également des problèmes d’interférences entre symboles (cf. équation
(3.17)), des problèmes d’interférences entre utilisateurs où, dans ce cas, l’indice e représente le numéro
de l’utilisateur interférant, des problèmes d’interférences entre polarisations ou modes de propagation
dans une fibre optique, etc.
Pour mettre en place le détecteur optimal, on doit être capable d’écrire analytiquement p(zn |sn ). De
nouveau, comme le bruit est indépendant sur chaque antenne, nous avons
p(zn |sn ) = p(zn(1) |sn ) · · · p(zn(Nr ) |sn ).
PNe
(r)
(e)
De plus chaque zn conditionnée par rapport au vecteur sn est gaussienne de moyenne e=1
hr,e sn
et de variance N0 /2. Par conséquent, après quelques manipulations algébriques triviales similaires aux
extensions 1 et 2, nous avons
ŝn = arg
min
sn ∈{s(0) ,··· ,s(M −1) }Ne
kzn − Hsn k2 .
{z
}
|
(3.29)
∆
=f (sn )
La matrice H n’étant pas diagonale, la détection des différents symboles émis doit se faire conjointement. Dans un premier temps, continuons de procéder comme dans les extensions 1 et 2, c’est-à-dire,
en testant tous les symboles sn possibles et donc en effectuant une recherche exhaustive des valeurs
de la fonction de coût f (•). Un problème de complexité surgit alors car nous avons à effectuer une recherche Ne -dimensionnelle. En fait, le nombre de symboles à tester est égal à M Ne . Supposons que nous
utilisons une constellation 128-PAM (comme dans un vieux modem internet de type 56k) et Ne = 5
antennes d’émission, alors le nombre de vecteurs à tester est de l’ordre de trente milliards ! Ce n’est
pas envisageable en pratique car de complexité prohibitive. Il faut donc trouver une autre technique
de minimisation. En y regardant bien, la fonction f est quadratique et donc convexe par rapport à
sn . La minimisation de fonction convexe sous contraintes est bien connue et maîtrisée (cf. le cours de
première année placée en début de cycle master MDI210) si les contraintes sont elles-mêmes convexes.
Malheureusement la contrainte sur sn est d’appartenir à un sous-ensemble discret et ceci n’est clairement pas un ensemble convexe (puisque tout point du segment reliant deux points de la constellation
ne fait évidemment pas nécessairement partie de la constellation). Par conséquent nous ne pouvons
utiliser le puissant outil de l’optimisation convexe. En fait, notre problème d’optimisation est un problème de combinatoire qui tombe dans la vaste problématique de la recherche opérationnelle. Cette
problématique a de nombreuses applications en robotique, base de données, gestion de ressources, etc.
Afin de trouver le vecteur optimal sans les tester tous, différentes approches de recherche opérationnelle existent. On peut notamment citer les deux suivantes : i) approche arborescente dans laquelle le
vecteur recherché est interprété comme un arbre dont la racine est la première coordonnée et ainsi de
suite. Le problème se réduit à définir une stratégie de lecture de l’arbre (cf. le cours de COM344) et ii)
approche par programmation dynamique dans laquelle des structures de récurrence du signal, si elles
existent, sont exploitées comme cela peut être fait pour l’interférence entre symboles via l’algorithme
de Viterbi qui est le plus fameux algorithme de programmation dynamique (cf. le cours de COM223).
3.5
Performances
L’objectif principal de cette section est de déterminer la probabilité d’erreur sur les bits d’information
émis. Ceci nous permettra de mesurer l’influence de certaines variables ajustables à notre guise, comme
la constellation (cf. la sous-section 3.5.1) et le code correcteur d’erreur (cf. la sous-section 3.5.2), de nous
comparer aux performances-limites obtenues par les outils de théorie de l’information (cf. la sous-section
3.5.3), et d’établir des règles de conception de systèmes de communication (cf. la sous-section 3.5.4).
3.5.1
Probabilité d’erreur bit pour la M -PAM
Avant toute chose, il nous faut un lien entre la probabilité d’erreur au niveau bit (qui est notre but
ultime) et la probabilité d’erreur au niveau symbole (qui est plus facilement calculable analytiquement).
56
Modulations numériques
Pour cela, revenons à la notion d’étiquetage (cf. la sous-section 3.3.2). On rappelle qu’à chaque symbole, on
peut associer log2 (M ) bits. Donc une erreur sur un symbole peut conduire à une erreur sur quelques bits. La
question est donc de savoir combien. En supposant
• que les erreurs prédominantes ne sont produites que par des symboles adjacents, et
• que l’étiquetage permet d’avoir seulement un bit de différent entre deux symboles adjacents,
alors, seulement 1 bit sur log2 (M ) est en erreur quand un symbole est en erreur (car en erreur avec un
symbole adjacent) ce qui induit la relation suivante
Pb ≈
1
Pe
log2 (M )
(3.30)
avec Pb et Pe les probabilités d’erreur bit et symbole respectives. Noter que la condition sur l’étiquetage
n’est pas restrictive. En effet, on peut toujours ordonner une série de vecteurs contenant log2 (M ) bits en
modifiant seulement un bit à la fois. Un tel étiquetage est dit de Gray.
Aux résultats 3.11 et 3.12, nous obtenons les probabilités d’erreur symbole et bit pour la 2-PAM et la
M -PAM respectivement. Les calculs pour la M -OOK sont similaires et nous encourageons le lecteur à les
faire par lui-même.
Résultat 3.11 Si l’hypothèse 3.2 est vérifiée, la constellation 2-PAM admet les performances suivantes
!
r
Eb
2
(3.31)
Pb = Pe = Q
N0
avec la fonction
1
x 7→ Q(x) = √
2π
Z
+∞
2
e−u
/2
du
(3.32)
x
correspondant à la queue de la loi gaussienne centrée et de variance unité (Gaussian tail function, en anglais).
Preuve : Comme M = 2, un bit correspond à un symbole et donc l’approximation de l’équation (3.30)
devient une véritable égalité. Il ne nous reste plus qu’à calculer Pe . Par définition,
Pe = Pr(ŝn 6= sn )
En introduisant le conditionnement sur chaque valeur possible de sn , on obtient que
Pe
1
1
Pr(ŝn = −A|sn = A) + Pr(ŝn = A|sn = −A)
2
2
1
1
Pr(zn < 0|sn = A) + Pr(zn ≥ 0|sn = −A) (car seuil à zéro pour le détecteur optimal)
=
2
2
1
1
=
Pr(A + wn < 0) + Pr(−A + wn ≥ 0) (car zn = sn + wn )
2
2
1
1
=
Pr(wn < −A) + Pr(wn ≥ A)
2
2
= Pr(wn ≥ A) (par symétrie autour de zéro de la loi gaussienne)
=
Il reste à calculer la probabilité qu’une variable gaussienne centrée et de variance N0 /2 soit supérieure à un
seuil A. Ceci peut se faire par l’intermédiaire de la fonction de répartition (Cumulative Density Function
(cdf ), en anglais) et correspond à l’intégration entre A et +∞ de la densité de probabilité (Probability Density
Function (pdf ), en anglais). Ainsi
Z +∞
2
1
Pe = √
e−u /N0 du
πN0 A
√ !
p
2A
= Q √
(par changement de variable u0 = u 2/N0 )
N0
Il convient maintenant d’exprimer A en fonction de Eb . Comme Es = A2 , l’équation (3.15) conduit à Eb = A2
ce qui prouve le résultat.
57
Performances
Résultat 3.12 Si l’hypothèse 3.2 est vérifiée, la constellation M -PAM admet les performances suivantes
s

s

6
log
(M
)
6
log
(M
)
1
E
2
1
E
b
b
2
2
 et Pb ≈
 . (3.33)
Pe = 2 1 −
Q
1−
Q
M
M 2 − 1 N0
log2 (M )
M
M 2 − 1 N0
La preuve de ce résultat est reportée en annexe A.3.
Les deux résultats précédents sont souvent présentés dans la littérature
√ par le biais de la fonction erfc(•).
Par simple changement de variable, on sait que Q(x) = (1/2)erfc(x/ 2) permettant ainsi de passer d’un
formalisme à l’autre aisément.
La fonction Q(•) n’admet pas d’expression analytique autre que celle donnée à l’équation (3.32). En revanche, de nombreuses approximations relativement précises existent. Dans la suite du cours, nous utiliserons
le fait que
2
1
Q(x) ≈ e−x /2 .
(3.34)
2
Par conséquent, étant donné l’équation (3.33), la probabilité d’erreur admet une décroissance exponentielle en fonction du SNR et donc une décroissance extrêmement rapide. C’est d’ailleurs la raison pour
laquelle les figures affichant la probabilité d’erreur, notamment la figure 3.9, utilisent une échelle logarithmique.
Une fois l’expression de probabilité d’erreur obtenue, nous souhaitons nous en servir pour comparer les
constellations entre elles. Grâce au résultat 3.12, nous remarquons que
!
r
Eb
γC
(3.35)
Pb = β C Q
N0
avec βC et γC deux paramètres dépendant uniquement de la constellation C choisie. Cette forme s’avère
en fait valable pour de très nombreuses constellations non traitées en cours. Ainsi les performances de la
constellation C sont parfaitement caractérisées par la seule connaissance de βC et γC . Comme βC se trouve à
l’extérieur de la fonction Q(•) et varie assez peu d’une constellation
à l’autre, son impact sur les performances
p
est en pratique négligeable. On dira donc que Pb ≈ Q( γC Eb /N0 ) ce qui implique que seul le paramètre γC ,
appelé gain de modulation, différencie vraiment les performances des constellations entre elles. Pour les
M -PAM, il nous suffit donc d’analyser
γM −PAM =
6 log2 (M )
.
M2 − 1
(3.36)
Evidemment, le gain de modulation diminue en fonction de M et comme Q(•) est une fonction décroissante,
la probabilité d’erreur augmente quand la taille de la constellation augmente comme on le constate
à la figure 3.9. En revanche, augmenter la taille de la constellation permet d’augmenter le débit (puisqu’il
est proportionnel à log2 (M ) en raison de l’équation (3.8)). Un compromis est donc nécessaire entre
performances et débit. Pour comparer les courbes de la figure 3.9, on peut aussi procéder de la manière
suivante : examiner et comparer les Eb /N0 nécessaires pour atteindre une certaine probabilité d’erreur cible,
notée Pbtarget , avec différentes constellations. Ainsi, si nous considérons deux constellations C1 et C2 , nous
avons
s
s
!
!
Eb Eb Eb Eb target
Pb
≈Q
γC1
=
Q
γ
⇒
γ
=
γ
C2
C1
C2
N0 1
N0 2
N0 1
N0 2
avec Eb /N0 |u le Eb /N0 de la constellation Cu . En passant en décibel, nous obtenons
Eb γC2
Eb =
+
10
log
10
N0 1,dB
N0 2,dB
γC1
|
{z
}
Θ|dB =gain (>0) ou perte (<0) de C2 par rapport à C1
Le terme Θ|dB représente l’écart en Eb /N0 , exprimé en dB, qu’il existe entre les deux courbes de performances des constellations comparées. Ceci veut aussi dire que les différentes courbes de la figure 3.9 sont
identiques à un décalage en Eb /N0 près les unes par rapport aux autres. Ce terme Θ|dB est le moyen le plus
58
Modulations numériques
P vs. E /N pour PAM
b
0
b
0
10
2−PAM
4−PAM
8−PAM
16−PAM
32−PAM
−1
10
Probabilité erreur bit Pb
−2
10
−3
10
−4
10
−5
10
−6
10
−7
10
0
5
10
15
20
Eb/N0
25
30
35
40
Figure 3.9 – Pb en fonction de Eb /N0 pour différentes M -PAM
commode pour comparer des schémas de modulation (et de codage aussi comme nous le verrons ci-après)
entre eux.
Noter que nous avons les outils pour obtenir les performances du cas SIMO traité dans l’extension 1
de la sous-section 3.4.3. En effet, le détecteur à seuil est appliqué sur le signal z̃n = sn + w̃n avec w̃n =
(2)
(1)
(wn + wn )/2, donc seul le bruit a été modifié. Un rapide calcul montre que la variance de w̃n est N0 /4 ce
qui implique un gain de 3 dB (car d’un facteur 2 en échelle linéaire) sur le gain de modulation justifiant par
là-même l’utilisation de technologie multi-antennes. En revanche les extensions 2 et 3 évoquées à la soussection 3.4.3 ne peuvent s’étendre aussi facilement et font l’objet de calculs spécifiques en cours de spécialité
du cycle master.
3.5.2
Lien avec le codage correcteur d’erreur du chapitre 1
Nous sommes maintenant en mesure de calculer les performances globales d’un système intégrant un code
correcteur d’erreur (cf. la section concernant les performances d’un code au chapitre 1) et une modulation.
Le canal gaussien pouvant se modéliser par une probabilité de confondre un bit ’0’ avec un bit ’1’ et viceversa avec une probabilité p donnée par la probabilité d’erreur bit du canal gaussien avec la constellation C
utilisée, le lien entre les bits émis et les bits décodés est bien un canal binaire symétrique de probabilité p
obéissant à l’équation (3.35). De plus si le SNR est suffisamment grand, la probabilité p donnée par l’équation
(3.35) devient petit devant 1.
Nous savons qu’un code correcteur binaire linéaire en bloc admet la probabilité d’erreur bit suivante sur
un canal binaire symétrique de probabilité d’erreur p, si p 1 (cf. l’équation (1.14)).
Pb|avec codage = δt pt+1
(3.37)
avec, pour rappel, δt = dmin Cnt+1 /n, t = b(dmin − 1)/2c la capacité de correction et n la longueur du mot de
code. Bref nous avons
!
r
E
b
Pb|avec codage = δt βCt+1 Qt+1
RγC
.
N0
Attention, nous avons incorporé une multiplication par le rendement du code correcteur d’erreur R pour
prendre en compte le fait que Eb représente l’énergie consommée pour émettre un bit utile. A titre d’exemple,
59
Performances
si en 2-PAM, envoyer un symbole et donc un bit coûte 1 J, la présence d’un code à répétition de rendement
R = 1/n fait qu’envoyer un bit utile coûte n symboles et donc n J.
En utilisant l’approximation de la fonction Q(•) de l’équation (3.34), nous allons obtenir une expression
encore plus parlante de Pb|avec codage . En effet, nous pouvons alors écrire que
Pb|avec codage = β̃C,F EC e−
γF EC γC Eb
2
N0
(3.38)
avec
γF EC = R(t + 1)
(3.39)
et β̃C,F EC = δt βCt+1 /2. L’acronyme FEC désigne le code correcteur d’erreur (Forward Error Correcting coding
-FEC-, en anglais) et le terme γF EC est appelé gain de codage car il correspond au gain en SNR obtenu
grâce au codage correcteur d’erreur. Ce gain de codage s’additionne en dB au gain de modulation.
Examinons maintenant quelques gains de codage de codes correcteur d’erreur dont certains ont été vus
au chapitre 1.
• Exemple 1 : code à répétition. Nous considérons un code à répétition (n, 1). Par conséquent les
deux mots de code n’ont aucun bit commun et dmin = n ce qui est le maximum. Le rendement en
revanche vaut 1/n ce qui est le minimum. Ainsi le gain de codage est égal à (1/n)(b(n − 1)/2c + 1) qui
est bien approché, quand n est suffisamment grand, par
γcode à répétition ≈
1
2
(= −3 dB).
Comme ce gain de codage est inférieur à 1 et donc négatif en dB, il correspond à une perte ! Donc
si on raisonne à énergie par bit utile constante, le codage à répétition est à éviter absolument car il
aggrave les performances et évidemment il diminue le débit utile. Espérons que d’autres codes soient
plus performants.
• Exemple 2 : code de Hamming (7, 4, 3). La distance minimale vaut 3 et donc la capacité de
correction 1. Le rendement vaut 4/7 ce qui implique que
γcode de Hamming (7,4,3) ≈
8
7
(= +0.58 dB).
Ouf ! Cela correspond à un gain en performances par rapport au cas non codé. En revanche, le débit
est encore diminué d’environ 40%. Il serait en fait intéressant de quantifier l’apport ou non du codage
pour des systèmes fonctionnant à même énergie bit utile et à même débit utile. Ceci est fait dans
l’exemple 3 suivant.
• Exemple 3 : code de Reed-Müller (128, 64, 16). Le rendement vaut 1/2 et la capacité de correction
vaut 7. Ainsi le gain de codage vaut
γcode de Reed-Müller (128,64,16) ≈ 4
(= +6 dB).
Nous voulons savoir si un système codé fonctionnant au même débit utile qu’un système non codé peut
être plus performant. Pour cela, considérons une transmission d’un bit utile par utilisation de canal.
Pour le système sans codage, une 2-PAM sera donc mise en œuvre. Pour le système avec codage dont
le code est celui de Reed-Müller, une 4-PAM sera nécessaire. Il faut donc comparer les gains de chaque
système
γsans codage = γ2−PAM = 2
.
γavec codage = γcode de Reed-Müller × γ4−PAM = 3.2
Par conséquent, le système avec codage permet de gagner 1.2 dB en SNR pour un début utile identique
et une consommation énergétique par bit utile identique. Un codage bien choisi permet donc
d’améliorer les systèmes de communication toute chose égale par ailleurs.
Sur la figure 3.10, nous avons tracé Pb pour différents codes de Hamming en fonction de Eb /N0 quand une
constellation 2-PAM est considérée. Pour le code (7, 4, 3), on peut vérifier que le gain de codage annoncé est
bien celui constaté.
60
Modulations numériques
P vs. E /N pour Hamming
b
0
b
0
10
non codé
Hamming (7,4)
Hamming (15,11)
Hamming (31,26)
Hamming (63,57)
−1
10
Probabilité erreur bit Pb
−2
10
−3
10
−4
10
−5
10
−6
10
−7
10
0
2
4
6
Eb/N0
8
10
12
Figure 3.10 – Pb pour différents codes de Hamming en 2-PAM en fonction de Eb /N0
3.5.3
Lien avec la théorie de l’information du chapitre 2
Faisons d’abord un lien avec la capacité du canal gaussien. D’après l’équation (2.72), la capacité par
utilisation de canal (autrement dit, le nombre maximal de bits transmis sans erreur par symbole) s’exprime
alors
1
2Es
C = log2 1 +
.
2
N0
Cette équation est obtenue pour un code correcteur d’erreur théorique et nous aimerions la relier à des
schémas réels de codage. Comme il n’est pas possible d’obtenir une transmission sans erreur en présence
de bruit (cf. équation (3.35)), nous allons considérer seulement une certaine qualité de service (Quality of
Service -QoS-, en anglais), déterminée par une probabilité d’erreur bit cible, notée Pbtarget et obtenir alors le
débit admissible pour un code correcteur d’erreur fixé. Remarquons que, pour une M -PAM, nous avons
Es
1
Pb = FF EC
(3.40)
M 2 − 1 N0
√
avec Fsans codage (•) = 2Q( 6•) d’après l’équation (3.33) dans laquelle on a négligé la dépendance de M
du coefficient devant la fonction Q et la différenciation entre probabilité symbole et probabilité bit, avec
Favec codage (•) = δt 2t e−3(t+1)• d’après l’équation (3.38) dans laquelle la dépendance en M du facteur devant
l’exponentiel a été négligée. Nous avons également utilisé le fait que Es = R log2 (M )Eb . Grâce aux approximations faites pour obtenir FF EC , il est très important de remarquer que cette fonction est totalement
indépendante de la taille de la constellation et en fait ne dépend que de la capacité de correction du code.
Par un petit calcul très simple sur l’équation (3.40), nous obtenons que
1
1 2Es
m=
log2 1 +
(3.41)
2
ΓF EC N0
avec
(−1)
ΓF EC = 2FF EC Pbtarget
∆
et m = log2 (M ) le nombre de bits par symbole M -PAM.
(3.42)
L’équation (3.41) ressemble étrangement à une capacité de Shannon à laquelle un facteur de pondération
du SNR a été rajouté. D’ailleurs le terme ΓF EC s’appelle la marge en SNR (SNR margin, en anglais) car il
correspond à la perte en SNR par rapport à la capacité de Shannon. Si on considère la valeur de probabilité
d’erreur bit cible de la TNT, on a Pbtarget = 10−11 . Ceci conduit, à titre d’exemple, à Γsans codage ≈ 11.9 dB,
61
Performances
Γcode de Hamming (7,4,3) ≈ 9.65 dB et Γcode de Reed-Müller (128,64,16) ≈ 6.76 dB.
Ces équations (3.41) et (3.42) peuvent conduire à une triple interprétation.
• Interprétation 1 : choix de la taille de la constellation. Grâce à ces équations, on peut déterminer, pour un code correcteur donné, la taille de la constellation que l’on peut choisir pour satisfaire
la QoS cible à chaque SNR. C’est notamment ce type d’algorithmes qui est utilisé en ADSL pour fixer
la taille des constellations de votre lien modem-central téléphonique.
• Interprétation 2 : débit à énergie constante. Pour obtenir le débit utile, il faut multiplier le
nombre de bits par symbole avec mR et l’inverse du temps symbole. Or, en pratique, on a la bande
B = (1 + ρ)/Ts avec ρ le facteur d’excès de bande si un filtre en racine de cosinus surélevé est employé.
Alors on a
1 2Es
BR
log2 1 +
.
(3.43)
Db =
2(1 + ρ)
Γ N0
On peut donc augmenter le débit à volonté en augmentant la bande car il en dépend linéairement.
Attention ceci est vrai à énergie symbole constante ce qui veut dire que la puissance augmente alors
car on consomme alors la puissance Ps = BEs /(1 + ρ) J par seconde. Sur la figure 3.11, nous avons
tracé le débit utile en fonction de Es /N0 pour différents schémas de codage en utilisant un filtre idéal
en fréquence (ρ = 0) et une bande B = 1 MHz et nous l’avons comparé à la capacité de Shannon.
Les marges de SNR sont celles calculées pour la TNT. Nous remarquons que les codes utilisés sont
Débit pour une QoS fixée vs. Es/N0
3.5
Capacité de Shannon
Débit en non−codé
3
Débit avec Hamming
Débit avec Reed−Muller
Débit en Mbits/s
2.5
2
1.5
1
0.5
0
0
5
10
15
Es/N0
Figure 3.11 – Débit réel et capacité de Shannon pour une QoS fixée en fonction de Es /N0
très utiles à bas SNR et perdent leur intérêt à fort SNR. Ceci s’explique par le fait qu’à fort SNR,
les codes sont mal adaptés car, certes de gain de codage satisfaisant mais de facteur R trop petit ce
qui induit une perte de débit importante. A fort SNR, il faut mieux choisir un code à fort rendement
(car nous savons qu’il y aura peu d’erreur de toute façon) quitte à avoir un gain de codage plus faible.
Il faut donc être capable de bien sélectionner son schéma de codage et de constellation (Modulation
and Coding Scheme -MCS-, en anglais). La problématique de sélection optimale de MCS est vaste et
au-delà des objectifs de COM105.
• Interprétation 3 : débit à puissance constante. A puissance constante, nous avons
1 + ρ 2Ps
BR
log2 1 +
.
Db =
2(1 + ρ)
Γ BN0
(3.44)
Par conséquent, le débit utile continue à croître en fonction de la bande mais plus linéairement. Il
admet même une asymptote comme en atteste la figure 3.12.
62
Modulations numériques
Capacité de Shannon vs. B (avec P fixée)
s
80
Capacité de Shannon en Mbits/s
70
60
50
40
30
20
10
Capacité de Shannon
0
0
500
1000
B (en MHz)
1500
2000
Figure 3.12 – Capacité de Shannon à puissance constante en fonction de B (avec Ps = 5.10−7 mW et
N0 = −140 dBm/Hz)
Un autre lien peut être fait avec le chapitre consacré à la théorie de l’information en travaillant sur la
capacité du canal binaire symétrique de paramètre p. Dans lepcadre de la transmission d’une 2-PAM, le
canal reliant sn à ŝn est binaire symétrique de paramètre p = Q( 2Es /N0 ) où, nous rappelons Es = Eb en
l’absence de codage et Es = REb en présence d’un code de rendement R. Par conséquent, grâce au résultat
2.6, la capacité s’exprime
p
C = 1 − Hb Q( 2Es /N0 ) .
(3.45)
Sur la figure 3.13, nous avons tracé C en fonction de Es /N0 donnée par l’équation explicite (3.45) et en
fonction de Eb /N0 donnée par l’équation implicite (3.46)
p
C = 1 − Hb Q( 2CEb /N0 ) .
(3.46)
La capacité n’admet pas de Es /N0 minimum. Dès que du signal est émis à une certaine énergie/puissance
par utilisation de canal, de l’information passe sans erreur. En revanche, il existe une borne inférieure pour
Eb /N0 . L’énergie/puissance par bit utile nécessite une valeur minimale !
3.5.4
Lien entre les paramètres de dimensionnement d’un système
Durant ce polycopié, nous avons introduit un certain nombre de paramètres dont il est important de
comprendre leur nature et leurs relations.
Certains paramètres sont exogènes puisque le concepteur du système n’a pas de marge de manœuvre
sur eux car ils sont contraints par ailleurs, notamment l’application ou la compatibilité électro-magnétique :
• Occupation spectrale via la bande B,
• Consommation via l’énergie/puissance par bit Eb ou par symbole Es ,
• Qualité de transmission via la probabilité d’erreur bit Pb ,
• Rapidité de transmission via le débit binaire utile Db .
D’autres paramètres sont endogènes puisque l’ingénieur concevant le système a un certain degré de
liberté sur leur dimensionnement.
63
Performances
Capacité de Shannon vs. E /N et E /N pour la 2−PAM
s
0
b
0
1
Capacité de Shannon vs. E /N
s
0.9
0
Capacité de Shannon vs. E /N
b
0
Capacité de Shannon
0.8
0.7
0.6
0.5
0.4
0.3
0.2
0.1
0
−20
−15
−10
−5
0
5
Ex/N0 (x=s ou x=b) (en dB)
10
15
20
Figure 3.13 – Capacité pour la 2-PAM en fonction de Es /N0 et de Eb /N0
• Filtre d’émission g(t), d’où le temps-symbole Ts ,
• Constellation M, d’où le nombre de symboles M ,
• Code correcteur d’erreur, d’où la capacité de correction t et et le rendement R.
Sur la figure 3.14, nous avons récapitulé le lien entre ces paramètres (trait plein = croissant, trait en tiret
= décroissant).
.
Energie
Eb/Es/Ps
Bande
B
Filtre d’émission
Constellation
Ts
M
Codage
R
QoS
Pb
Débit
Db
t
.
Figure 3.14 – Lien entre les paramètres de dimensionnement d’un système
Remarquons qu’en changeant la bande du signal, il est facile d’augmenter le débit (cf. équations (3.43)
et (3.44). C’est la raison pour laquelle nous introduisons la notion d’efficacité spectrale, notée η, qui
correspond au débit binaire divisé par la bande disponible pour le réaliser.
η=
Db
.
B
64
Modulations numériques
Cette efficacité est un moyen simple d’évaluer et de comparer de manière honnête des systèmes utilisant des
techniques différentes et des largeurs de bande différentes. Cette efficacité s’exprime en bits/s/Hz. Pour les
systèmes actuels, l’efficacité oscille typiquement entre 1 et 10.
3.6
Bilan
Nous récapitulons sur la figure 3.15 les éléments et paramètres intervenant dans un émetteur et récepteur
standard si le canal est gaussien. Pour retrouver les liens entre les paramètres, consultez la figure 3.14.
.
modulations numériques (chapitre 3)
Source
Codage
de
Source
Codage
de
Canal
dn
cn
sn
Etiquetage
énergie Es ou Eb ou Ps
Filtre d’émission
x(t)
bande B
Code correcteur t et R
Filtre g(t)
Constellation M
Temps-symbole Ts
qualité Pb
Canal
débit Db
y(t) = x(t) + b(t)
Echantillonnage
Destinataire
Décodage
de
Source
dˆn
Décodage
de
Canal
ĉn
ŝn
nT
s
Seuillage
zn
z(t)
Filtre adapté
y(t)
modulations numériques (chapitre 3)
.
Figure 3.15 – Schéma d’un émetteur (TX) et d’un récepteur (RX)
Dans ce chapitre, seulement des éléments rudimentaires de modulations numériques vous ont été présentés. En COM223, nous introduisons les outils mathématiques (tel l’espace vectoriel des signaux) permettant
de réellement concevoir les systèmes actuels. Pour cela, on prend en compte l’interférence entre symboles
avec les récepteurs associés, on modélise les canaux plus finement ce qui permet notamment de travailler sur
des canaux variant dans le temps, on dimensionne précisément les systèmes complexes existants (3G, 4G).
Enfin le lien avec les couches supérieures du réseau est également accentué. En COM344, la grande nouveauté est de considérer des émetteurs/récepteurs multi-antennes (MIMO) et donc d’introduire la notion de
code spatio-temporel qui peut être vu comme un code correcteur d’erreur mais aussi comme un modulateur.
On y présente notamment le code spatio-temporel optimal, dit Golden code, développé en 2005 à Télécom
ParisTech par J.-C. Belfiore et G. Rekaya.
Nous rappelons ci-dessous les concepts de base et savoir-faire concernant ce chapitre à acquérir durant
cette unité d’enseignement.
Les concepts de base :
• Les éléments présents dans un émetteur/récepteur,
• Le filtre adapté,
• Le filtre de Nyquist,
• Les relations entre les paramètres de dimensionnement.
Les savoir-faire :
• Vérifier les propriétés des filtres (cf. TD5),
• Calculer des probabilités d’erreur bit pour de nouvelles modulations (cf. TD6),
• Comparer des techniques et systèmes entre eux (cf. TD6),
• Concevoir un système via ces paramètres pour un cahier des charges donné (cf. TD7).
Annexe A
Quelques preuves relatives au chapitre 3
A.1
Preuve du résultat 3.2
Soit x(t) une réalisation du processus aléatoire. Considérons l’intervalle d’observation [−T /2, T /2]. La
trasnformée de Fourier de cette réalisation existe, est notée X(f ) et vaut
Z T /2
x(t)e−2iπf t dt.
(A.1)
X(f ) =
−T /2
L’énergie présente à la fréquence f vaut évidemment |X(f )|2 . Comme l’intervalle d’observation est de longueur T , la puissance présente à la fréquence f vaut |X(f )|2 /T . La densité spectrale de puissance est donc
juste le terme |X(f )|2 /T moyenné sur toutes les réalisations de x(t) et observé sur une fenêtre infiniment
longue. D’où
1 Sxx (f ) = lim
E |X(f )|2 .
(A.2)
T →+∞ T
En insérant l’équation (A.1) dans l’équation (A.2), on obtient directement le résultat voulu par permutations
judicieuses des limites, intégrales et espérances mathématiques.
A.2
Preuve du résultat 3.3
Soit x(t) le signal défini par l’équation (3.9) avec N = +∞. On a aisément que
X
X
rxx (t, τ ) = m2s
g(t + τ − nTs )g(t − n0 Ts ) + σs2
g(t + τ − nTs )g(t − nTs )
n,n0
n
Il est facilement de montrer, par simple changement d’indice dans les sommes, que la fonction t 7→ rxx (t, τ )
est périodique de période Ts . Par conséquent, on a
Z
Z Ts /2
1
1 T /2
(0)
rxx (t, τ )dt =
rxx (t, τ )dt.
rxx
(τ ) = lim
T →∞ T −T /2
Ts −Ts /2
Donc
(0)
rxx
(τ ) =
Z
Z
m2s X Ts /2
σ 2 X Ts /2
g(t + τ − nTs )g(t − nTs )dt.
g(t + τ − nTs )g(t − n0 Ts )dt + s
Ts
Ts n −Ts /2
−Ts /2
0
n,n
En réalisant le changement de variable dans les intégrales t0 = t−nTs et dans la première somme n00 = n0 −n,
nous obtenons
Z
Z
m2s X Ts /2−nTs
σs2 X Ts /2−nTs
(0)
0
0
00
0
rxx (τ ) =
g(t + τ )g(t − n Ts )dt +
g(t0 + τ )g(t0 )dt0
Ts
Ts n −Ts /2−nTs
−Ts /2−nTs
00
n,n
d’où
(0)
rxx
(τ )
Z
Z
m2s X +∞ 0
σs2 +∞ 0
0
00
0
=
g(t + τ )g(t − n Ts )dt +
g(t + τ )g(t0 )dt0 .
Ts 00 −∞
Ts −∞
n
66
Quelques preuves relatives au chapitre 3
Par l’égalité de Parseval, nous avons
Z
Z
00
σ 2 +∞
m2 X +∞
(0)
|G(f )|2 e2iπf τ e2πin f Ts df + s
|G(f )|2 e2iπf τ df
rxx
(τ ) = s
Ts 00 −∞
Ts −∞
n
P
P
00
Or, par la formule sommatoire de Poisson, nous avons que Ts n00 e2πin f Ts =
n δ(f − n/Ts ), ce qui
implique que
!
Z +∞
m2s X
σs2
(0)
2
2
rxx (τ ) =
|G(f )| δ(f − n/Ts ) +
|G(f )| e2iπf τ df.
Ts2 n
Ts
−∞
Par transformée de Fourier inverse et en se rappelant que |G(f )|2 δ(f −n/Ts ) est égal à |G(n/Ts )|2 δ(f −n/Ts ),
on obtient le résultat voulu.
A.3
Preuve du résultat 3.12
Comme les symboles sont équiprobables, la probabilité d’erreur symbole moyenne Pe est donnée par
Pe =
M −1
1 X
Pr(ŝn 6= s(m) |sn = s(m) )
M m=0
Il est clair que les probabilités d’erreur individuelles Pr(ŝn 6= s(m) |sn = s(m) ) se décomposent en deux
catégories : les symboles aux deux bords de la constellation M -PAM (s(0) et s(M −1) ) ont par symétrie la même
probabilité d’erreur notée Peexterne qui en revanche est différente des autres symboles de la constellation.
Les autres symboles ont eux aussi par symétrie une probabilité d’erreur commune, notée Peinterne . On a
simplement que
1
2 externe
(M − 2)Peinterne +
P
.
(A.3)
Pe =
M
M e
Pour les symboles aux extrémités de la constellation, on a

s
2
Z ∞
2
1
t
2A
.
√
Peexterne = Pr{wn > A} =
exp −
(A.4)
dt = Q 
N0
N0
πN0
A
Pour les autres symboles de la constellation, il y a erreur si zn passe à gauche ou à droite de la médiatrice
séparant le symbole transmis avec ses symboles adjacents. Ceci est possible si le bruit est inférieur à −A ou
supérieur à A. Ainsi on a
s

2
2A 
Peinterne = Pr{wn > A ou wn < −A} = 2Pr{wn > A} = 2Q 
.
(A.5)
N0
En réunissant les équations (A.3), (A.4) et (A.5), on obtient
s

2
1
2A 
Pe = 2 1 −
Q
.
M
N0
Il suffit juste maintenant de relier A et Eb . Pour cela, on calcule d’abord Es . Etant donné l’équation (3.7),
on a
M
A2 X
A2
Es =
(2m − M − 1)2 =
(M 2 − 1)
(A.6)
M m=1
3
L’énergie par bit reçu vaut naturellement :
Eb =
Es
A2 (M 2 − 1)
=
log2 (M )
3 log2 (M )
ce qui permet alors de trouver trivialement le résultat 3.12.
Téléchargement