Vous êtes sur la page 1sur 26

Table des matières

Liste des figures iii

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

2 Codage de Source Discrètes 7


2.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.2 Codes a longueur fixe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.3 Codes à Longueur Variable . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.3.1 Codes sans préfixe . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.3.2 Construction de codes sans préfixe . . . . . . . . . . . . . . . . . 10
2.3.3 Inégalité de Kraft pour les codes sans préfixe . . . . . . . . . . . 11
2.3.4 Algorithme de Huffman pour le codage entropique . . . . . . . 12

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

3.3.1 Théorème du codage de canal (deuxième théorème de Shannon) 18

4 Introduction au Codage de Canal 19


4.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
4.2 Codes Linéaires par Blocs . . . . . . . . . . . . . . . . . . . . . . . . . . 19
4.2.1 Distance de Hamming . . . . . . . . . . . . . . . . . . . . . . . . 19
4.2.2 Matrice Génératrice d’un Code Linéaire . . . . . . . . . . . . . . 20
4.2.3 Matrice de contrôle . . . . . . . . . . . . . . . . . . . . . . . . . . 21
4.2.4 Syndrome . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

Bibliographie 23
Liste des figures

2.1 Arbre de décomposition pour la construction de codes sans préfixe . . 10


2.2 Réduction de l’arbre de la figure 2.1 . . . . . . . . . . . . . . . . . . . . 10
2.3 Algorithme de Huffman . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

3.1 Représentation d’un canal de transmission . . . . . . . . . . . . . . . . 15

iii
Chapitre 1

Information et Codage

1.1 Introduction

Dans ce chapitre nous allons introduire la notion de quantité d’information. Cette


notion est intimement liée à la notion de variable aléatoire. Nous allons donc com-
mencer par un rappel des principaux résultats que nous avions appris depuis la théo-
rie des probabilités puis nous considérons une source discrete de symboles. La source
est supposée extraire ses symboles à partir d’un certain alphabet et les émet chacun
avec une probabilité respective. Ainsi, la source elle-même peut être modélisée par
une variable aléatoire. Nous pourrons ainsi donner une définition précise de la quan-
tité d’information d’un symbole et aussi la quantité d’information moyenne de la
source. La quantité d’information moyenne sera aussi appelée l’entropie de la source.

1.2 Rappels sur les variables aléatoires

Soit X un sous-ensemble de nombres réels et X une variable aléatoire prenant ses


valeurs dans X .

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

Remarque 1 Une variable X est déterministe si P r(X = x0 ) = 1 pour un certain X = x0 ,


ce qui implique que pour tout x1 ̸= x0 , P r(X = x1 ) = 0.

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.

1.2.1 Moyenne statistique et moments

L’espérance mathématique, ou moyenne statistique de la variable aléatoire X est


définie par

E[X] = x.p(x) (variable discrète). (1.1)
x∈X

Étant donnés deux sous-ensembles X et Y discrets (qu’on peut appeler alphabets


pour la circonstance), le produit cartésien X × Y est aussi un alphabet discret.

X × Y = {(x, y)| x ∈ X et y ∈ Y} (1.2)

Si X et Y sont deux variables aléatoires prenant leur valeurs dans X et Y respec-


tivement, alors les variables X + Y et XY sont aussi des variables aléatoires et elles
prennent leurs valeurs dans le produit cartésien X × Y. Elles sont caractérisées par
leurs probabilité conjointe notée p(x, y).
La probabilité de X est reliée à la probabilité conjointe par :

p(x) = p(x, y) (1.3)
y∈Y

et celle de Y est obtenue de façon similaire par



p(y) = p(x, y) (1.4)
x∈X

La probabilité conditionnelle de Y est définie par :


p(x, y)
p(y|x) = (1.5)
p(x)
Et nous avons aussi
p(x, y)
p(x|y) = (1.6)
p(y)
Ce qui peut donc être résumé par

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

Deux variables X et Y sont indépendantes si

p(x, y) = p(x)p(y) (1.8)


Section 1.3 : Introduction à la théorie de l’information 3

Il s’ensuit que

p(y|x) = p(y) et p(x|y) = p(x) (1.9)

L’espérance mathématique du produit de deux variables aléatoires X et Y est


égale au produit des espérances lorsque X et Y sont indépendantes

E[XY ] = E[X]E[Y ] pour X et Y indépendantes (1.10)

L’espérance mathématique de la somme de deux variables aléatoires X et Y est


égale à la somme des espérances de chacune d’elles. Nous écrivons

E[X + Y ] = E[X] + E[Y ] (1.11)

Remarque 3 Montrer les résultats des équations 1.10 et 1.11

Le neme moment de la variable X est défini par :

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)

σX est appelée la déviation standard.

1.3 Introduction à la théorie de l’information

Soit Q = {q1 , q2 , . . . , qM } un alphabet de M symboles. On peut décrire une source


discrète par une séquence {Un } de variables aléatoires, où chaque Un prend ses va-
leurs dans Q. Nous supposons que la source émet les symboles à des instants régu-
liers nT où T est la période d’échantillonnage (observation). Soit pi = P r(Un = qi ) la
probabilité que la variable aléatoire Un prenne qi à l’instant nT .
4 C HAPITRE 1 : I NFORMATION ET C ODAGE

1.3.1 Quantité d’information d’un symbole

Considérons l’ensemble Q. Plutôt que d’essayer de définir directement la quantité


d’information que nous apporte l’apparition d’un symbole qi , i ∈ [1, M ] (Un = qi ),
essayons de la caractériser. Intuitivement, la quantité d’information Hi qu’apporte
l’apparition d’un symbole qi doit avoir les propriétés suivantes :
1. Si on est certain que qi apparaît à un instant n quelconque, alors le fait que qi
apparaisse à cet instant n ne nous apporte aucune information (Hi = 0).
2. Moins on est certain de l’apparition de qi , plus grande est la quantité d’informa-
tion que nous apporte son apparition.
3. Si l’apparition de qi est indépendante de l’apparition de qj (i, j ∈ [1, M ]), aux
instants n et k respectivement, alors l’apparition conjointe de qi et qj nous apporte
une quantité d’information égale à la somme des quantités d’information de qi
et qj .

Remarque 4 Une source jouissant de la troisième propriété ci-dessus est appelée une source
discrète sans mémoire (SDSM).

Ces hypothèses nous amènent à définir Hi comme


1
Hi = log2 = − log2 pi (1.15)
pi
En effet, Hi possède les propriétés suivantes :
– Hi = 0 si pi = 1 ; Hi ≥ 0
– Hi > Hj si pi < pj
– Hij = − log2 pij = − log2 pi pj = − log2 pi − log2 pj = Hi + Hj

1.3.2 Quantité d’information moyenne (Entropie)

Une meilleure appréciation de la quantité d’information d’une source discrète est


sa quantité d’information moyenne ou entropie. Pour une source X l’entropie est dé-
finie par :


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

En effet, pour voir ce résultat il suffit de remarquer que :


(∑ )
H − log2 M = i=1 pi log2 pi − log2 M
M 1
(1.17)
∑ ( )
= M i=1 p i log 1
2 pi − log 2 M (1.18)
∑M ( )
= i=0 pi log2 M1pi (1.19)

≤ (log2 e) M i=1 pi ( M pi − 1)
1
=0 (1.20)

où, dans la dernière équation nous avons utilisé la propriété du logarithme


ln x ≤ x − 1.
( )
Donc H − log2 M ≤ 0 et H − log2 M = 0 lorsque log2 M pi = 0 d’où pi = M1
1

pour i = 1, 2, . . . , M . C’est donc dans le cas ou les symboles sont équiprobables que
l’entropie de la source est maximale.

Remarque 5 La quantité d’information s’exprime en bit/symbole.

Débit d’information Le débit d’information d’une source discrète de symboles X


est définie par :

D = H(X).f (1.21)

où f est la fréquence d’émission de symboles en symboles/seconde.

Remarque 6 L’unité du débit d’information est donc : (bit/symbole) × (symbole/sec) =


bit/sec.

Redondance La redondance d’une source est la différence entre la quantité d’infor-


mation maximale de la source et sa quantité d’information moyenne.

R = Hmax (X) − H(X) (1.22)

1.4 Information mutuelle

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

pies conditionnelles et conjointes.


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

Question Montrer que :

H(X, Y ) = H(X|Y ) + H(Y ) (1.28)

H(X, Y ) = H(Y |X) + H(X) (1.29)

On définit l’information mutuelle comme étant :

I(X; Y ) = H(X) − H(X|Y ) (1.30)

Question Vérifier les propriétés suivantes :


1. I(X; Y ) = I(Y ; X)
2. I(X; Y ) ≥ 0
3. I(X; Y ) = H(Y ) − H(Y |X)
4. I(X; Y ) = H(X) + H(Y ) − H(X, Y )
Chapitre 2

Codage de Source Discrètes

2.1 Introduction

Le codage de source consiste à représenter chacun des symboles qi ∈ Q par une


série de nombres binaires.

Exemple 1 Soit Q un ensemble composé de 7 lettres ; Q = {a, b, c, d, e, f, g}. Un exemple de


code source pour Q est l’association suivante :
a 7→ 000; b 7→ 001; c 7→ 010; d 7→ 011; e 7→ 100; f 7→ 101; g 7→ 110.

On distingue deux classes de codes : les codes à longueurs fixes et les codes à longueurs
variables.

2.2 Codes a longueur fixe

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

D’une manière générale, si on a M symboles dans l’ensemble Q alors la longueur


minimale Lmin d’un code à longueur fixe pour coder les M symboles dans Q est :

Lmin = ⌈log2 M ⌉ (2.1)

ce qui désigne ici le plus petite entier tel que log2 M ≤ Lmin .

Exemple 3 log2 6 = 2, 5849625 donc ⌈log2 6⌉ = 3.

7
8 C HAPITRE 2 : C ODAGE DE S OURCE D ISCRÈTES

On a donc la relation

Lmin = L ≥ log2 M. (2.2)

où L désigne la longueur moyenne.


Supposons maintenant que l’on veuille coder des blocs de n symboles à la fois.
C’est-à-dire, si la sortie de la source discrète d’information est une séquence {Uk }, k =
0, 1, 2, . . . alors on se propose de coder des blocs de taille n, [ui , . . . ui+n ] de symboles
où uk ∈ Q et i est un entier quelconque.
On peut regarder un bloc de n symboles comme étant la valeur d’une variable qui
prend ses valeurs dans le produit cartésien Q × Q × · · · × Q = Qn . On peut alors
distinguer M n valeurs possibles pour la variable et donc la longueur nécessaire pour
un code à longueurs fixes vérifie les relations suivantes :
Ln = ⌈log2 M n ⌉
⌈log2 M n ⌉
L= n
≥ n log2 M
n
= log2 M
⌈log2 M n ⌉ n log2 M +1
L= n
< n
+ n1 = log2 M
où L désigne la longueur moyenne par symbole. Donc si n est grand, la longueur
moyenne est proche de la longueur nécessaire pour coder chaque symbole séparé-
ment.

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.

2.3 Codes à Longueur Variable

Cette méthode de codage permet la compression de donnée dans le sens où on


peut associer les codes les plus courts aux symboles les plus probables et les codes
les plus longs aux symboles les moins probables.
Un code à longueur variable associe à chaque symbole q (q ∈ Q) une série de bits
C(q) de symboles binaires appelés mot de code de longueur l(q).

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

Propriété de décodabilité unique La propriété de décodabilité unique est une pro-


priété essentielle qu’un code à longueur variable doit avoir. Cette propriété consiste
en le fait qu’étant donnée une séquence de symboles source et une synchronisation
initiale, cette séquence doit pouvoir être reconstruite sans aucune ambiguïté à partir
de la série binaire qui lui est associée par le codeur. On peut énoncer la définition
suivante :

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 5 Etudier la propriété de décodabilité unique pour le code C défini ci-dessus et le


codes C ′ défini par :
C ′ (a) = 0
C ′ (b) = 1
C ′ (c) = 01

2.3.1 Codes sans préfixe

Une classe importante de codes qui jouissent de la propriété de décodabilité


unique sont les codes sans préfixe.

Définition 2 Un préfixe pour une séquence y1 , y2 , . . . , yn est toute sous-séquence


y1 , y2 , . . . , ym (m < n) de la séquence donnée.
Un code est sans préfixe si aucun mot de code n’est un préfixe pour aucun autre mot de code.

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

Remarque 8 Tout code à longueur fixe est un code sans préfixe.


10 C HAPITRE 2 : C ODAGE DE S OURCE D ISCRÈTES

2.3.2 Construction de codes sans préfixe

On utilise un arbre de décomposition pour la construction d’un code sans préfixe.


Soit Q = {a, b, c}. Pour construire un code sans préfixe, on ne place jamais les sym-
boles aux noeuds intermédiaires, comme illustré par la figure 2.1.

1 b
1 1 c
0
0 0
a

Figure 2.1 : Arbre de décomposition pour la construction de codes sans préfixe

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

Figure 2.2 : Réduction de l’arbre de la figure 2.1

Utilisons le code C et supposons que l’on veuille décoder la séquence 1010011 . . .


de gauche à droite. 1 n’est pas un mot de code ; le décodeur procède à donc à droite
pour décoder 10 comme étant le symbole c. La séquence restante est 10011 . . . . On
décode encore c, puis a, puis b . . . etc... La séquence décodée sera donc ccab . . .

Remarque 9 La synchronisation est d’une importance primordiale pour un code à longueur


variable. Le choix du code doit donc être fait minutieusement.

Exemple 8 Le code {0, 10, 110, 11110} est auto-synchronisable (pouvez-vous voir pour-
quoi ?).
Section 2.3 : Codes à Longueur Variable 11

2.3.3 Inégalité de Kraft pour les codes sans préfixe

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

et pour un code non-plein



2−l(q) < 1 (2.5)
q∈Q

Exemple 9 Existe-t-il des codes ayant des longueurs 1, 2, 2 et 1, 1, 2 ?

Revenons au modèle où l’alphabet Q est composé de M symboles qi chacun carac-


térisé par sa probabilité d’apparition pi . Supposons que l’on choisisse un ensemble de
longueurs l(q) satisfaisant l’inégalité de Kraft. Nous pouvons voir donc l(q) comme
une variable aléatoire. Si L désigne la longueur moyenne par symbole, nous aurons :


M
L = E[l(q) = li ] = pi li (2.6)
i=1

Notre objectif est de réduire le plus possible la longueur moyenne L.

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 :

H ≤ Lmin < H + 1 (2.7)

où H est l’entropie de la source.


Si les probabilités pi sont des puissances entières de 2 alors la relation devient

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)

Le résultat du théorème est ainsi établi.

2.3.4 Algorithme de Huffman pour le codage entropique

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

Symboles Probabilités Mots de code


S0 0,36 0 00
0
S1 0,14 0 0,63 010
1
S2 0,13 1 0,27 011

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

Figure 2.3 : Algorithme de Huffman


Chapitre 3

Canaux de Transmission

3.1 Introduction

Le problème du codage de source consistait à représenter les symboles de l’alpha-


bet Q par des mots de code binaires (le plus souvent des codes à longueur variable)
de façon à avoir un code source compressé. La séquence binaire obtenue est nor-
malement destinée à être transmise sur un canal de transmission. Le canal introduit
du bruit qui peut corrompre l’information. Nous avons donc besoin de caractériser
d’abord un canal de transmission.

3.2 Canaux Discrets Sans Mémoire

Soient un canal de transmission, un alphabet d’entrée au canal X et un alphabet de


sortie du canal Y. La représentation d’un canal de transmission peut se faire comme
le montre la figure 3.1, où X est une source d’entrée au canal, Y est la sortie du canal
et p(yj |xi ) représentent les probabilités de transition du canal.

X Y
p(yj |xi)

Figure 3.1 : Représentation d’un canal de transmission

Supposons que les alphabets X et Y disposent de m et n symboles, respecti-


vement. Le canal est complètement décrit si toutes les probabilités de transition
p(yj |xi ) ; i ∈ [1 . . . m] et j ∈ [1 . . . n], où p(yj |xi ) est la probabilité que yj soit reçu

15
16 C HAPITRE 3 : C ANAUX DE T RANSMISSION

sachant que xi a été transmis, sont connues.

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 )

Un canal de transmission est donc complètement décrit lorsqu’on connaît sa matrice


de transition.

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

Pour voir ça, notons que :



n ∑
n
p(yj , xi )
p(yj |xi ) =
j=1 j=1
p(xi )
1 ∑
n
= p(yj , xi )
p(xi ) j=1
p(xi )
= =1
p(xi )
Ceci est aussi intuitivement correct, car pour chaque symbole d’entrée xi au moins
un des symboles de sortie yj doit apparaître.
Prenons :

[P (X)] = [p(x1 )p(x2 ) . . . p(xm )]


[P (Y )] = [p(y1 )p(y2 ) . . . p(yn )]

on a alors la relation matricielle

[P (Y )] = [P (X)][P (Y |X)] (3.3)

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

3.2.1 Canaux Remarquables

Quelques types de canaux de transmission sont remarquables compte tenu de


leurs caractéristiques.

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

Dans ce type de canal, la simple observation de yj renseigne directement sur le sym-


bole xi qui a été transmis, d’où le nom de canal sans perte.

Canal déterministe La matrice de transition d’un canal déterministe ne comporte


qu’un élément non nul par ligne. Cet élément doit donc nécessairement être 1.

Exemple 11
 
1 0 0
 
 1 0 0 
 
[P (Y /X)] = 
 0 1 0 

 
 0 1 0 
0 0 1

Dans ce type de canal, un symbole xi transmis, détermine à l’avance quel symbole yj


doit être reçu ; d’où le nom de canal déterministe.

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

Canal binaire symétrique


[ ]
1−p p
[P (Y /X)] =
p 1−p

Le canal binaire symétrique est un modèle intéressant pour décrire le comporte-


ment de la plupart des canaux réels. L’entrée est et la sortie sont binaires et p désigne
la probabilité d’erreur sur un bit.

3.3 Capacité d’un canal

Définition 5 La capacité par symbole d’un canal discret sans mémoire est définie par :

Cs = max I(X; Y ) (3.4)


{p(xi )}

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.

3.3.1 Théorème du codage de canal (deuxième théorème de Shan-


non)

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

Introduction au Codage de Canal

4.1 Introduction

Le codage de canal consiste à ajouter des bits de redondance au code source de


façon à le rendre robuste par rapport aux erreurs de transmission. L’ajout de bits de
redondance se fait de façon contrôlée en utilisant des méthodes algébriques.

4.2 Codes Linéaires par Blocs

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

c1 c2 . . . ck ck+1 ck+2 . . . cn (4.1)


| {z } | {z }
k bits (n−k)bits

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.

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

4.2.2 Matrice Génératrice d’un Code Linéaire

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 :

[c] = [d]G (4.2)


 
1 ··· 0 p11 · · · pm1
 . .. .. .. 
G= .
 . . . . 
 (4.3)
0 ··· 1 p1k · · · pmk

est appelée la matrice génératrice du code.


Notons que G est sous forme :
[ ]
G = Ik P k ] (4.4)
Section 4.2 : Codes Linéaires par Blocs 21

où Ik est la matrice identité de dimension k × k et


 
p11 · · · p1k
 . .. 
P = 
.. . 
 (4.5)
pm1 · · · pmk

P est de dimension (n − k) × k et P T est de dimension k × (n − k) comme attendu.

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

Trouver tous les mots de code.

4.2.3 Matrice de contrôle

Soit H la matrice définie par

H = [P Im ] = [P In−k ] (4.6)

H est de dimension (n − k) × n. On a alors


[ ]
T
P
HT = (4.7)
Im

d’où l’on déduit que


[ ]
PT
GH T = [Ik P T ]
In−k
= Ik P T ⊕ P T In−k
= PT ⊕ PT
=0 (4.8)

On obtient donc la matrice nulle de dimension k × (n − k). Maintenant, à partir de la


relation [c] = [d]G, on peut trouver

[c]H T = [d]GH T = 0 (4.9)

La matrice H ainsi définie, est appelée la matrice de contrôle de parité.


22 C HAPITRE 4 : I NTRODUCTION AU C ODAGE DE C ANAL

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

Considérons le cas où l’émetteur transmet le mot de code c et le récepteur reçoit


le mot r. On appelle syndrome, le vecteur s = [r]H T . Si r n’a pas été affecté par le
bruit, c’est-à-dire que r reste un mot de code valide, on doit retrouver un syndrome
nul. Sinon, r est alors erroné. Soit e le vecteur d’erreur. On a alors :

r =c⊕e (4.10)
s = rH T = (c ⊕ e)H T
= cH T ⊕ eH T
= 0 ⊕ eH T
= eH T (4.11)

Supposons qu’on transmette c et qu’une erreur se produise sur le ieme bit de c. Le


vecteur d’erreur est donc donné par :
[ ]
e = 0 ... 0 1 0 ... 0 (4.12)

Le produit eH T va résulter en une matrice de dimension 1 × (n − k) identique à la


ieme ligne de H T ou, bien entendu, la ieme colonne de H. Le décodage se fait alors de
manière très simple ; on compare le syndrome avec les lignes de H T et la position
de la ligne avec laquelle il coïncide correspond à la position du bit nécessitant une
correction dans le code reçu r.
Bibliographie

23

Vous aimerez peut-être aussi