Académique Documents
Professionnel Documents
Culture Documents
1 Information et Codage 1
1.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2 Rappels sur les variables aléatoires . . . . . . . . . . . . . . . . . . . . . 1
1.2.1 Moyenne statistique et moments . . . . . . . . . . . . . . . . . . 2
1.3 Introduction à la théorie de l’information . . . . . . . . . . . . . . . . . 3
1.3.1 Quantité d’information d’un symbole . . . . . . . . . . . . . . . 4
1.3.2 Quantité d’information moyenne (Entropie) . . . . . . . . . . . 4
1.4 Information mutuelle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
3 Canaux de Transmission 15
3.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
3.2 Canaux Discrets Sans Mémoire . . . . . . . . . . . . . . . . . . . . . . . 15
3.2.1 Canaux Remarquables . . . . . . . . . . . . . . . . . . . . . . . . 17
3.3 Capacité d’un canal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
i
ii TABLE DES MATIÈRES
Bibliographie 23
Liste des figures
iii
Chapitre 1
Information et Codage
1.1 Introduction
– Si X est fini, alors X est discrète et elle peut être décrite par sa répartition
p(x) = P r(X = x) pour tout x dans X .
– Si X est un intervalle, alors X est continue, et elle est caractérisée par sa distri-
bution P r(X ≤ x) pour tout x ou par sa densité de probabilité f (x) = dx d
P r(X ≤
x).
1
2 C HAPITRE 1 : I NFORMATION ET C ODAGE
Remarque 2 Une variable discrète X est équiprobable si p(x) = 1/M pour tout x ∈ X , où
M est l’ordre de X . Une variable équiprobable est aussi dite uniforme.
Il s’ensuit que
E[X n ]. (1.12)
Le premier moment est la moyenne statistique qu’on peut noter par X = E[X].
L’autocorrelation est obtenue par le second moment et la variance de X est définie par :
2
2
σX = E[(X − X) ] (1.13)
Notons que
2
2
σX = E[X 2 ] − X (1.14)
Remarque 4 Une source jouissant de la troisième propriété ci-dessus est appelée une source
discrète sans mémoire (SDSM).
∑
M ∑
M
H(X) = pi H i = − pi log2 pi (1.16)
i=1 i=1
Il est intéressant de noter que l’entropie est maximale lorsque les M symboles sont
équiprobables. On a alors les relations suivantes :
1
pi =
M
Section 1.4 : Information mutuelle 5
et
∑M ( )
1
Hmax = log2 M = log2 M
i=1
M
pour i = 1, 2, . . . , M . C’est donc dans le cas ou les symboles sont équiprobables que
l’entropie de la source est maximale.
D = H(X).f (1.21)
Soient deux sources X et Y prenant leurs valeurs respectivement dans les alpha-
bets X et Y. En plus des entropies des deux sources, nous pouvons définir les entro-
6 C HAPITRE 1 : I NFORMATION ET C ODAGE
∑
M
H(X) = − p(xi ) log p(xi ) (1.23)
i=1
∑
N
H(Y ) = − p(yj ) log p(yj ) (1.24)
j=1
∑
N ∑
M
H(X|Y ) = − p(xi , yj ) log p(xi |yj ) (1.25)
j=1 i=1
∑
N ∑
M
H(Y |X) = − p(xi , yj ) log p(yj |xi ) (1.26)
j=1 i=1
∑
N ∑
M
H(X, Y ) = − p(xi , yj ) log p(xi , yj ) (1.27)
j=1 i=1
2.1 Introduction
On distingue deux classes de codes : les codes à longueurs fixes et les codes à longueurs
variables.
Les codes à longueur fixe sont les codes dans lesquels chacun des codes binaires
associé à chaque symbole dans Q a une longueur (nombre de bits) constante.
Exemple 2 Le code utilisé dans l’exemple ci-dessus est un exemple de code à longueur fixe,
de longueur égale à 3 (3 bits/symbole).
ce qui désigne ici le plus petite entier tel que log2 M ≤ Lmin .
7
8 C HAPITRE 2 : C ODAGE DE S OURCE D ISCRÈTES
On a donc la relation
Remarque 7 La méthode de codage par codes à longueur fixe ne présente aucun problème de
synchronisation ( ?). Elle est non probabiliste. Par conséquent elle n’offre aucune possibilité
de compression de données.
Exemple 4 Soit l’alphabet Q = {a, b, c}. Un exemple de code à longueur variable est :
C(a) = 0
C(b) = 10
C(c) = 11
Section 2.3 : Codes à Longueur Variable 9
Définition 1 Un code C pour une source discrète est décodable de manière unique
si, pour toute séquence de symboles u1 , u2 , . . . , un , la concaténation de ses mots
de codes C(u1 )C(u2 ) . . . C(un ) est différente de la concaténation des mots de codes
C(u′1 )C(u′2 ) . . . C(u′m ) de toute autre séquence de symboles u′1 , u′2 , . . . u′m .
Exemple 6 Le code C donné plus haut est sans préfixe, alors que le code C ′ défini ci-dessous
n’est pas sans préfixe.
Q = {a, b, c}
C ′ (a) = 0
C ′ (b) = 1
C ′ (c) = 01
C ′ (a) est un préfixe pour C ′ (c).
1 b
1 1 c
0
0 0
a
Définition 3 Un code sans préfixe est dit plein si tous les noeuds terminaux correspondent
à des mots des codes. Sinon, le code n’est pas plein.
Exemple 7 Le code de la figure 2.1 n’est pas plein car nous pouvons le réduire à celui qui est
montré par la figure 2.2.
1 b
1 0
0 c
a
Exemple 8 Le code {0, 10, 110, 11110} est auto-synchronisable (pouvez-vous voir pour-
quoi ?).
Section 2.3 : Codes à Longueur Variable 11
Un important théorème, dû à kraft, pour les codes sans préfixe est le suivant :
Théorème 1 pour tout code sans préfixe, pour un alphabet Q, ayant les longueurs
l(q), q ∈ Q, nous avons le résultat suivant :
∑
2−l(q) ≤ 1 (2.3)
q∈Q
Réciproquement, si cette relation est satisfaite alors un code sans préfixe existe avec les lon-
gueurs l(q). De plus, pour un code plein, nous avons :
∑
2−l(q) = 1 (2.4)
q∈Q
∑
M
L = E[l(q) = li ] = pi li (2.6)
i=1
Théorème 2 La longueur moyenne minimale Lmin pour un code sans préfixe satisfaisant
l’inégalité de Kraft satisfait à la relation suivante :
Lmin = H (2.8)
12 C HAPITRE 2 : C ODAGE DE S OURCE D ISCRÈTES
Démonstration
∑
M ( ) ∑ M
1
H −L= pi log2 − pi li (2.9)
i=1
pi i=1
∑ M ( ) ∑ M
1
= pi log2 + pi (−li ) (2.10)
i=1
pi i=1
∑M ( −li )
2
= pi log2 (2.11)
i=1
pi
( ) ( )
∑
M
2−li ∑
M −1 ∑
M −1
−li
H − L ≤ (log2 e) pi − 1 = (log2 e) 2 − pi ≤ 0 (2.12)
i=1
pi i=0 i=0
2−li
Si pi
= 1 ou li = − log2 pi alors H − L = 0 ce qui veut dire que H = Lmin .
Pour montrer l’autre inégalité il suffit de remarquer que si l’on choisit li =
⌈− log2 pi ⌉ alors nous avons :
∑
L = pi li < pi (− log2 pi + 1)
i (2.13)
∑ ∑
= −pi log2 pi + i pi (2.14)
= H + 1. (2.15)
Dans cette section, nous allons illustrer la méthode de Huffman pour construire
des codes entropiques sans préfixe. L’exemple suivant, et qui est montré par la fi-
gure 2.3, illustre bien la méthode.
La technique consiste à maximiser le chemin à partir des plus petites probabili-
tés jusqu’à la racine de l’arbre. Les probabilités intermédiaires sont, bien entendu,
obtenues en additionnant les probabilités individuelles des arborescences correspon-
dantes.
Section 2.3 : Codes à Longueur Variable 13
S3 0,12 0 100
0
S4 0,10 1 0,22 101
1
S5 0,09 0 0,37 110
1
S6 0,04 0 0,15 1110
1
S7 0,02 1 0,06 1111
Canaux de Transmission
3.1 Introduction
X Y
p(yj |xi)
15
16 C HAPITRE 3 : C ANAUX DE T RANSMISSION
Nous pouvons organiser toutes les probabilités p(yj |xi ) sous forme d’une matrice
pour obtenir la matrice de transition du canal.
p(y1 |x1 ) · · · p(yn |x1 )
.. ..
[P (Y |X)] =
.
..
. .
(3.1)
p(y1 |xm ) · · · p(yn |xm )
Définition 4 Un canal discret est dit sans mémoire si le dernier symbole reçu y ∈ Y ne
dépend que du dernier symbole émis x ∈ X .
Remarque 10
∑
n
p(yj |xi ) = 1 pour tout i. (3.2)
j=1
Cette relation matricielle est similaire à la relation scalaire p(y) = p(x)p(y|x) qui nous
est déjà familière.
Section 3.2 : Canaux Discrets Sans Mémoire 17
Canal sans perte Un canal sans perte est un canal dont la matrice de transition ne
possède qu’un élément non nul par colonne.
Exemple 10
3 1
4
0 0 0 4
[P (Y |X)] = 0 0 13 32 0
0 0 0 0 1
Exemple 11
1 0 0
1 0 0
[P (Y /X)] =
0 1 0
0 1 0
0 0 1
Canal sans bruit Un canal qui est à la fois sans perte et déterministe est un canal
sans bruit.
Exemple 12
1 0 0
[P (Y /X)] = 0 1 0
0 0 1
On voit clairement que la matrice de transition d’un canal sans bruit ne peut être que
la matrice identité.
18 C HAPITRE 3 : C ANAUX DE T RANSMISSION
Définition 5 La capacité par symbole d’un canal discret sans mémoire est définie par :
où le maximum de Cs est recherché sur l’ensemble de toutes les répartitions {p(xi )} sur les
symboles de la source X.
Exemple 13 Pour un canal sans perte nous avons H(X|Y ) = 0 (montrer ce résultat) d’où
I(X; Y ) = H(X). Nous savions déjà que l’entropie H(X) est maximale lorsque les symboles
sont équiprobables et alors Hmax = log m.
Théorème 3 Etant donné une source discrète sans mémoire X d’entropie H(X)
(bit/symbole) et un canal discret sans mémoire de capacité Cs .
1. Si H(X) ≤ Cs nous pouvons trouver un codage de canal pour transmettre l’information
avec une probabilité d’erreur aussi petite que l’on désire.
2. Si H(X) > Cs un tel codage n’existe pas.
Dans le chapitre suivant, nous supposerons que la limite de Shannon ci-dessus est
respectée et nous étudierons le codage de canal.
Chapitre 4
4.1 Introduction
Considérons un code binaire en bloc C(n, k) qui, à tout bloc de k bits source associe
un mot de code de n bits (c’est ce qui est appelé le codage de canal).
Avec k bits, nous pouvons représenter 2k mots de codes de données et les données
ne différent l’une de l’autre que par un bit. L’idée de base du codage de canal est de
rajouter (n − k) bits de parité de façon à avoir des mots de codes qui différent l’un de
l’autre par un aussi grand nombre de bits que possible. Ainsi, le bruit aura un effet
minime sur les données.
Une mesure qui convient pour estimer la fiabilité d’un code est la distance de
Hamming.
Définition 6 La distance de Hamming entre un mot codé c et un mot r est notée dH (c, r) et
est le nombre de bits qui sont différents entre ces deux mots de code.
19
20 C HAPITRE 4 : I NTRODUCTION AU C ODAGE DE C ANAL
Pour avoir un code efficace, il faut donc maximiser la distance minimale de Hamming
dmin . Celle-ci est la distance de Hamming entre les deux mots de codes les proches
du code C.
Remarque 11 Si un code est de distance dmin on pourra détecter toutes les erreurs de poids
inférieur à dmin − 1 et on pourra corriger t erreurs si t < dmin /2.
Les composantes du mot de code c sont obtenues par combinaison linéaire des
composantes du mot de données original d. Si les k premiers bits d’un mot codé sont
des bits de données, on dit que le code est systématique.
Considérons un code systématique. Soit d = [d1 d2 . . . dk ] le mot de données et soit
c = [c1 c2 . . . cn ] le mot codé qui lui est associé. Nous pouvons écrire :
c1 = d1
c2 = d2
..
.
ck = dk
ck+1 = p11 d1 ⊕ p12 d2 ⊕ · · · p1k dk
..
.
cn = d1 = pm1 d1 ⊕ pm1 d2 ⊕ · · · pmk dk
où m = n − k
Sous forme matricielle, cette relation s’écrit :
où
1 ··· 0 p11 · · · pm1
. .. .. ..
G= .
. . . .
(4.3)
0 ··· 1 p1k · · · pmk
Exemple 14 Un code (5, 3) est défini par sa matrice génératrice G qui est donnée par
1 0 0 1 0
G = 0 1 0 1 1 = [I3 P T ]
0 0 1 0 1
H = [P Im ] = [P In−k ] (4.6)
Remarque 12 De la relation [c]H T = 0 on voit clairement que tout mot de code valide vérifie
cette relation. Si, pour un mot de code c1 on calcule [c1 ]H T ̸= 0, on sait alors que c1 est un
code erroné.
Exemple 15 Pour le code (5, 3) donné à l’exemple ci-dessus et ayant pour matrice génératrice
1 0 0 1 0
G= 0 1 0 1 1
0 0 1 0 1
Trouver H et vérifier que pour tout mot de code valide, on retrouve [c]H T = 0. Vérifier que
pour le mot invalide r = [ 1 1 1 0 1 ], on retrouve rH T = [ 0 1 ].
4.2.4 Syndrome
r =c⊕e (4.10)
s = rH T = (c ⊕ e)H T
= cH T ⊕ eH T
= 0 ⊕ eH T
= eH T (4.11)
23