Théorie de l'Information 2
§ « information » est utilisé dans divers contextes
– pour le journaliste : les actualités
– pour le policier : des renseignements
§ Dans le domaine des télécommunications, la « théorie de
l'information » se préoccupe des systèmes de communication et de
leur efficacité.
§ La théorie de l’information est récente (1948, publication de l’article
Mathematical Theory of Communications de Claude Shannon).
Shannon montre que l’information contenue dans un message est
une grandeur physique mesurable.
§ Les domaines de la théorie de l’information
– le codage,
– la compression de données,
– la cryptographie.
Théorie de l'Information 3
Théorie de l'Information 4
bruit
Démodulateur
Modulateur
Source
codeur canal décodeur Récepteur
d’information
Théorie de l'Information 6
§ Il est important de connaître le contenu informatif d’un message
avant de le coder, i.e. choisir les mots binaires qui vont représenter le
message.
§ Or en télécommunication, on veut toujours économiser le nombre
de bits transmis pour
– Gagner du temps (téléchargement d’une page web sur Internet…)
– Faire passer le plus de messages possibles sur un même support
– Influence directe sur le coût des transmissions…!
§ _coder l’information pertinente du message et elle seule !
§ Mais comment mesurer le contenu informatif d’un message ?
– La Théorie de l’Information fournit une unité de mesure de la quantité
d’information.
Théorie de l'Information 7
§ Considérons une source pouvant émettre N messages différents.
Notons pi la probabilité d’émission du message mi.
Message m1, probabilité p1
Message m2, probabilité p2
Source Message m3, probabilité p3
d’information
…
Message mN, probabilité pN
Théorie de l'Information 8
§ On considère une source émettant des symboles successifs égaux à 0
ou 1. La probabilité du 1 est 0,3. Celle du 0 vaut 0,7. Calculez son
entropie. H(S ) = −0,7 × log2 (0,7) − 0,3 × log2 (0,3) = 0,88sh
§ La source considérée transmet le résultat d’un lancé de dé truqué :
P(1)=P(6) = 0,2 ; P(2)=P(3)=P(4)=P(5) = 0,15.
– Calculez son entropie.
H(S ) = 2 × [− 0,2 × log2 (0,2)] + 4 × [− 0,15 × log2 (0,15 )]
= 2,571sh
⎡ 1 ⎛ 1 ⎞⎤ ⎡ 1 ⎛ 1 ⎞⎤ ⎡ 1 ⎛ 1 ⎞⎤
H(S ) = ⎢− ⋅ log2 ⎜ ⎟⎥ + ⎢− ⋅ log2 ⎜ ⎟⎥ + % + ⎢− ⋅ log2 ⎜ ⎟⎥
N ⎝!N ⎠⎦ ⎣ N N ⎠⎦ N ⎝N
⎣$! !!! !!!!!!#⎝!! !!!⎣!!!!! !"⎠⎦
N fois
1 ⎛1⎞ ⎛1⎞
= −N × ⋅ log2 ⎜ ⎟ = − log2 ⎜ ⎟ = log2 (N)
N ⎝N⎠ ⎝N⎠
Théorie de l'Information 10
§ 1- On considère une source transmettant toujours le même message,
la lettre A.
– Analyse intuitive
• Qu’apprend le récepteur par cette source ? Rien, puisque le message
est toujours le même ! Cette source ne produit aucune information
utile.
Théorie de l'Information 11
§ 2- On considère une source pouvant transmettre deux valeurs : oui/
non. Les résultats sont équiprobables.
– Analyse intuitive
• Qu’apprend le récepteur par cette source ? Quand la source émet
un message, le récepteur reçoit une seule information : soit le
résultat est oui, soit il vaut non.
Théorie de l'Information 12
§ 3- On considère une source pouvant transmettre trois valeurs : oui/
non/je ne sais pas. Les résultats sont équiprobables.
– Analyse intuitive
• Trois résultats différents peuvent se produire. Le message émis par
cette source est « plus riche » en information que la source de
l’exemple 2. On peut dire que la quantité d’information de cette
expérience est supérieure à la précédente.
Théorie de l'Information 13
§ La théorie de l’information fournit un modèle mathématique
permettant de quantifier l’information émise par la source d’une
communication.
§ Remarque
– 1 . Plus les résultats d’une expérience peuvent prendre de valeurs
différentes, plus la quantité d’information mesurée est élevée.
• Intuitivement, ce résultat est logique. Une source pouvant
transmettre beaucoup de messages différents fournit plus
d’information qu’une source transmettant une seule valeur.
– 2 . Lorsqu’une source peut produire beaucoup de valeurs différentes,
l’incertitude quant au résultat de l’expérience est élevée. Or la quantité
d’information transmise est d’autant plus grande que le nombre de
résultats possibles est différent.
– La quantité d’information reçue est d’autant plus importante que
l’incertitude est grande !
Théorie de l'Information 14
§ Propriété :
– L’entropie d’une source S pouvant produire N messages différents est
maximale lorsque les messages sont équiprobables.
– Ce qui signifie que la quantité d’information est maximale lorsqu’on a
le plus de difficulté à prévoir le résultat.
§ Exemple : La source émet deux symboles : A et B
Théorie de l'Information 15
§ Le codage de source représente le message sous la forme la plus
économique possible en terme de nombre de bits
§ Le codage de canal ajoute des informations permettant au récepteur
de reconstituer le message malgré les erreurs éventuellement
apparues à cause du bruit sur le canal.
Théorie de l'Information 16
Théorie de l'Information 17
§ Le but du codage de source est de trouver une traduction binaire des
messages émis par la source économisant les bits et tenant compte
de leur contenu informatif.
§ Par exemple,
– si la source émet la lettre A avec la probabilité 0,8, et les lettres B, C, D
et E avec la probabilité 0,05,
– Intuitivement , il vaut mieux coder A avec peu de bits, car cette lettre
revient souvent, tandis que B, C, D et E peuvent être codées sur un
plus grand nombre de bits.
Théorie de l'Information 18
§ Le débit le plus élevé auquel on peut transmettre sur un canal, quel
que soit le message produit par la source, est appelé la capacité C du
canal.
– En pratique, le débit binaire autorisé sur un canal est limité (influence
du bruit, nature du support, etc. …).
§ Le théorème de Shannon
– on peut toujours trouver un codage de source permettant de
transmettre à la capacité du canal si le débit Ds des symboles émis par
la source et l’entropie de la source vérifient H(S)´Ds £ C!
– Remarque : il ne dit pas comment le trouver !
Théorie de l'Information 19
§ Exemple :
– On considère une source émettant les lettres A, B, C, D et E
• les probabilités pA = 0,8 et pB = pC = pD = pE = 0,05. Les lettres
sont émises au débit Ds = 106 lettres/s.
• Le canal a une capacité C = 2 Mbit/s.
– Entropie de la source : H(S) = 1,12 sh
– H(S)´Ds = 1,12.106 < 2.106
– Donc il existe un code permettant de transmettre ces lettres sur le
canal.
Théorie de l'Information 20
§ On considère une source mettant 800 lettres par minute
– Des lettres A avec une probabilité pA = 0,8
– Des lettres B avec une probabilité pB = 0,2
– Le canal utilisé présente un débit binaire Db = 10 bit/s
Théorie de l'Information 21
§ 2ème essai : Codage fractionné
– On regroupe les lettres 2 par 2 et on code chaque groupe de lettres par
un nombre de bits qui décroît selon la probabilité d’apparition du
groupe de lettres (méthode de Fano).
Nombre
Groupement
Probabilités Codage pondéré de
de lettres
bits
AA 0,64 0 0,64
AB 0,16 10 0,32
BA 0,16 110 0,48
BB 0,04 111 0,12
1,56
– Lmoy = 0,78 bit/lettre
– Débit nécessaire sur le canal : 13,33´0,78 = 10,4 bit/s.
– Ce codage ne convient pas. Cependant, il est meilleur que le précédent.
Théorie de l'Information 22
§ 3ème essai : Codage fractionné
– On regroupe cette fois les lettres 3 par 3.
Nombre
Groupement
Probabilités Codage pondéré de
de lettres
bits
AAA 51,20% 0 0,512
AAB 12,80% 100 0,384
ABA 12,80% 101 0,384
BAA 12,80% 110 0,384
ABB 3,20% 11100 0,160
BAB 3,20% 11101 0,160
BBA 3,20% 11110 0,160
BBB 0,80% 11111 0,040
2,184
§ 1er regroupement
probabilités
messages probabilités 1er bit
regroupées
AAA 51,20% 51,20% 0
AAB 12,80% 1
ABA 12,80% 1
BAA 12,80% 1
ABB 3,20% 48,80% 1
BAB 3,20% 1
BBA 3,20% 1
BBB 0,80% 1
Théorie de l'Information 25
§ 2ème regroupement
probabilités 2ème
messages probabilités 1er bit
regroupées bit
AAA 51,20% 0
AAB 12,80% 1 0
24,80%
ABA 12,80% 1 0
BAA 12,80% 1 1
ABB 3,20% 1 1
BAB 3,20% 24,00% 1 1
BBA 3,20% 1 1
BBB 0,80% 1 1
Théorie de l'Information 26
§ 3ème regroupement
Théorie de l'Information 27
§ 4ème regroupement
probabilités 2ème 3ème 4ème
messages probabilités 1er bit
regroupées bit bit bit
AAA 51,20% 0
AAB 12,80% 1 0 0
ABA 12,80% 1 0 1
BAA 12,80% 1 1 0
ABB 3,20% 1 1 1 0
6,40%
BAB 3,20% 1 1 1 0
BBA 3,20% 1 1 1 1
4%
BBB 0,80% 1 1 1 1
Théorie de l'Information 28
§ 5ème regroupement
probabilités 2ème 3ème 4ème 5ème
messages probabilités 1er bit
regroupées bit bit bit bit
AAA 51,20% 0
AAB 12,80% 1 0 0
ABA 12,80% 1 0 1
BAA 12,80% 1 1 0
ABB 3,20% 3,20% 1 1 1 0 0
BAB 3,20% 3,20% 1 1 1 0 1
BBA 3,20% 3% 1 1 1 1 0
BBB 0,80% 0,80% 1 1 1 1 1
Théorie de l'Information 29
Code
Probabilités décroissantes
Messages Probabilités
Longueur croissante
AAA 51,20% 0
AAB 12,80% 1 0 0
ABA 12,80% 1 0 1
BAA 12,80% 1 1 0
ABB 3,20% 1 1 1 0 0
BAB 3,20% 1 1 1 0 1
BBA 3,20% 1 1 1 1 0
BBB 0,80% 1 1 1 1 1
Théorie de l'Information 30
§ Le code de Fano est un code à décodage direct.
Théorie de l'Information 31
Théorie de l'Information 32
§ Le codage de canal rajoute de l’information pour permettre au
récepteur de détecter ou corriger les erreurs éventuellement
apparues.
§ Comment le récepteur lit-il les données reçues ?
– Il échantillonne le signal physique reçu à intervalle de temps fixe, au
milieu du bit. Suivant le niveau de tension lu, il déduit la valeur du bit :
0 ou 1.
Horloge
Signal électrique 5V
reçu 0V
Message reconstitué 0 1 1 0 1 0 0 1 1 1
Théorie de l'Information 33
§ D’où viennent les erreurs ?
Pic de bruit
A l’échantillonnage, le récepteur
interprète le niveau de tension
comme un 0.
Théorie de l'Information 34
§ Certains codes permettent de détecter des erreurs, d’autres de
détecter et corriger les erreurs.
Théorie de l'Information 35
§ Les techniques de détection et correction d’erreurs seront étudiées
dans le cours sur la transmission en bande de base (semestre 2).
Théorie de l'Information 38
§ La cryptographie repose sur des algorithmes de chiffrement utilisant
une ou deux clés de chiffrement.
– Exemple : Chiffrement de César : décaler les lettres de l’alphabet de n
rangs. n est la clé.
§ Les clés sont des nombres binaires très grands (jusqu’à plusieurs
centaines de bits). Plus la clé est grande, plus l’algorithme est
difficile à « casser ».
Théorie de l'Information 39
§ De la théorie de l’information à la transmission du signal
– Nous nous sommes intéressés au contenu du signal.
– Maintenant il s’agit de voir comment transporter le signal sur un
support physique (électrique, lumineux, ou ondes).
– Dans le prochain chapitre, nous verrons comment représenter
physiquement un message binaire. On ne s’intéressera plus au contenu
informatif du message, mais à sa forme physique.
Théorie de l'Information 40
§ « Théorie de l’Information », R. Beauvillain, ENSEA, support de cours, 1998.
§ http://encyclopedie.snyke.com/
§ « Théorie de l’Information et Codage », M. P. Béal (université de Marne La
Vallée) & Nicolas Sendrier (INRIA), mars 2004
Théorie de l'Information 41
42
§ Premières tentatives de définition de mesure de l'information 1920
§ Théorie de l'information : à partir de 1948, travaux de Shannon
§ Théorie de l'information : discipline fondamentale qui s'applique
dans le domaine des communications.
– déterminer les limites imposées par les lois de la nature lorsqu'on doit
stocker ou transmettre le contenu d'une source (d'information),
– proposer des dispositifs permettant d'atteindre ou d'approcher ces
limites.
– La théorie de l'information ne cesse de se développer car les exigences
actuelles s'orientent vers une augmentation constante de l'information à
stocker ou à transmettre.
43
Compression du contenu de la source d'information
nécessaire.
Peut s'envisager sous deux formes :
– – sans perte d'information;
– avec perte d'information.
44
Représentation du schéma d'une communication
C
A
N
A
L
46
§ Définition
– Soit un événement E, une probabilité d’apparition p(E), la quantité
d’information I(E) liée à l’apparition de E s’exprime :
– I(E) = -log [P(E)]
§ Propriétés :
– I(E) est d’autant plus grande que P(E) est petite ;
– Si E est toujours réalisé I(E)=0 ;
– Si E est très rare, P(E) est proche de 0, I(E) tend vers l’infini ;
– P(E)≤1 donc I(E)≥0.
§ Logarithme
– népérien pour les signaux continus :
– à base 2 pour les signaux discrets
– (l’unité est le bit, abréviation de binary unit).
47
§ Un événement qui a une chance sur 2 de se produire conduit à une
quantité d’information de
48
§ L'information apportée par F sur E est la diminution de
l'incertitude sur E lorsque F est réalisé.
§ Information mutuelle
I(E;F)=IFE =I(E)-I(E/F)=IEF
– car E et F jouent le même rôle.
§ Démonstration :
IF⁄E = -log[P(E)]+log[P(E/F)]
= -log[P(E)]+log[P(E∩F)/P(F)]
= -log[P(E∩F)/ P(E)P(F)] = IE⁄F
49
Information mutuelle de 2 évènements
• Si E et F sont indépendants,
§ • Si E et F sont indépendants,
alorsalors
P (F/E)P= (F/E)
P(F) et = P(F)0.et I(E;F)= 0.
I(E;F)=
•§ On obtient
On obtient alors : I(E F)= I(E )+ I(F)- I(E;F)
alors:I(E∩F)=I(E)+I(F)-I(E;F)
•§ On
On peut
peut résumer
résumerles relations précédentes précédentes
les relations sur un sur un
§ diagramme de Venn :
diagramme de Venn :
I(E) I(F)
I(E;F)
50
Entropie
• Entropie d'une variable aléatoire discrète
§ Entropie d'une variable aléatoire discrète
– Soit X une variable aléatoire à valeurs dans
– Soit X une variable aléatoire à valeurs dans {x1,x2 ,...,xn} telle que pi
{x1,pour
=P(X=xi) x2 ,...,
i de x
1 nà} n.
telle que pi = P(X = xi) pour i de 1 à n.
– L'entropie
– L'entropie de X notée de H(X)X est
notée H(X) des
la moyenne estincertitudes
la moyenne des
calculée
incertitudes
sur les événements {X = xi}calculée sur les événements {X = xi}
i n
H(X) - pi log pi
i 1
52
§ On extrait au hasard une carte d'un jeu de 32 cartes.
§ On a H(X)=-32 x 1/32 x log2 1/32=log2 32=5Sh.
§ Pour savoir quelle carte a été extraite, on peut demander si sa
couleur est rouge ou noire, s'il s'agit d'un cœur ou d'un carreau, etc.
Les réponses à cinq questions peuvent être résumées par cinq bits
('1' pour oui et '0' pour non).
§ Une autre façon de modéliser le problème consiste à attribuer un
numéro (de 0 à 31) à chaque carte. L'écriture de ces numéros en
base deux requiert
log2 32 = log2 25 = 5 bits.
53
Exemple
§ L'entropie d'une variable
• Soit une source
aléatoire X à n binaire est : X
à 2 symboles
valeurs possibles
maximum et vaut log(n)H(X)=
lorsque
-p la loi de– X
log[p] est uniforme.
(1-p) log(1-p) P
– En effet, l'incertitude sur X est la plus grande si toutes les valeurs
p=0 (x2 toujours réalisé) H(x)=0
possibles ont la même probabilité de se réaliser;
p=1 (x1 toujours réalisé) H(x)=0
§ L'entropie augmente lorsque le nombre
p=0,5 de valeurs possibles
(x1 et x2 équiprobables) H(x)=1
augmente.
H(X)
§ Soit une source binaire à 2 symboles :
1 bit
Exemple
H(X)= -p log[p] – (1-p)log(1-p)
naire à 2 symboles : X x1 x 2
1-p) log(1-p) P p 1 p
p
alisé) H(x)=0
– p=0(x2 toujours réalisé) H(x)=0 0 0,5 1
alisé) H(x)=0
iprobables) – H(x)=1
p=1(x1 toujours réalisé) H(x)=0
Florent Dupont Master Informatique - UCBL
X) – p=0,5 (x1 et x2 équiprobables) H(x)=1
54
§ Soient X et Y deux variables aléatoires discrètes à valeurs dans {x1,
x2 ,..., xn} et {y1, y2 ,...,ym }.
§ Si on désigne par pij =P(X=xi ∩Y=yj) la loi du couple (X, Y), on
peut définir les entropies conditionnelles et l'information mutuelle :
§ H(X/Y) représente l'incertitude sur X lorsqu'on connaît Y.
§ De même l'information mutuelle moyenne entre X et Y peut
s'écrire :
I(X;Y) = H(X) - H(X / Y) = H(Y) - H(Y/X)
§ I(X;Y) correspond à la diminution de l'incertitude sur X (resp. Y)
lorsqu'on connaît Y (resp. X).
55
• L'information mutuelle moyenne de X et de Y est
toujours positive (ce n'est pas le cas pour l'information
mutuelle entre deux événements qui prend des valeurs
négatives
§ L'information lorsque
mutuelle la réalisation
moyenne de X et dede l'untoujours
Y est des événements
positive
rend l'autre moins probable);
(ce n'est pas le cas pour l'information mutuelle entre deux
• Lequi
événements conditionnement
prend des valeurs diminue
négatives l'incertitude. En d'autres
lorsque la réalisation de
termes cela signifie que H(X) H( X / Y)
l'un des événements rend l'autre moins probable);
• H(X) + H(Y) = H(X,Y) + I(X;Y)
§ Le conditionnement diminue l'incertitude. En d'autres termes cela
• H(X,Y) = H(X) + H(Y/X) = H(Y) + H(X/Y)
signifie que
• Diagramme de Venn :
– H(X) ≥ H( X / Y) H(X) H(Y)
H(X/Y) H(Y/X)
– H(X) + H(Y) = H(X,Y) + I(X;Y) I(X;Y)
– H(X/(Y=y))=H(X)
– H(X/Y)=H(X)
– I(X;Y)=0
56
Source discrète Suite de variables aléatoires, ayant chacune un
nombre fini de réalisations.
Symbole – Lettre Le plus petit élément irréductible contenant
une information
Alphabet Ensemble des mots possibles avec l'alphabet de
la source
Mot Suite finie de lettres
Vocabulaire Ensemble de lettres que peut délivrer la source
Suite finie de lettres
Codage Correspondance entre deux vocabulaires
Source Source dans laquelle la probabilité d'apparition
stationnaire d'un caractère ne dépend pas de ce qui est
(ou sans apparu auparavant. La loi de probabilité ne
mémoire) dépend pas de l’instant considéré
57
§ Comme pour une variable aléatoire, on souhaite caractériser une
source discrète par son entropie.
§ Si S est une source sans mémoire (les valeurs Si émises par la source
sont indépendantes), alors on appelle H(Si) l’entropie par lettre
source Si
H(Si) = -p(Si) log (p(Si)).
58
§ Soit S une source discrète à N valeurs possibles et d'entropie
H (S)< log2 N .
L'entropie relative Hr(S) =H(S)/log2 N étant < 1,
la redondance r = 1 - Hr(S) est différente de zéro.
§ Codage source = élimination de la partie redondante de
l'information délivrée par la source = réduction du débit binaire de la
source tout en conservant l'information (compression sans perte
d'information)
§ Deux types de codes peuvent être utilisés :
– Codes à longueur fixe. Tous les mots ont même longueur (même
nombre de symboles)
– Codes à longueur variable. La longueur des mots varie en fonction de
leur fréquence d'apparition. Un mot sera d'autant plus long que sa
probabilité d'apparition sera petite.
59
§ Soit B un alphabet de référence (un ensemble de lettres), en général
B est l'alphabet binaire B = {0,1}.
§ En concaténant des lettres de l'alphabet B,on forme des mots dont
la longueur correspond au nombre de lettres utilisées. Un code C est
un ensemble de mots.
§ Exemples :
– B={0,1}est un code de longueur fixe=1
– C={00,01,10,11}est un code de longueur fixe=2
§ On dira qu'un code est uniquement déchiffrable (ou à décodage
unique) si toute suite de mots code ne peut être interprétée
(décodée) que d'une seule manière.
§ Exemples :
– {0,11,010} est uniquement déchiffrable.
– {0,1,101}n'est pas uniquement déchiffrable car 101 peut être interprété
comme 1-0-1 ou 101.
60
§ Un code préfixe est un code pour lequel aucun mot n'est le début
d'un autre mot. Ce code est uniquement déchiffrable et est dit à
décodage instantané.
§ Construction d'un code préfixe : utiliser un arbre dont chaque
branche représente une lettre de l'alphabet élémentaire (alphabet de
référence).
Il faut alors choisir les mots de telle sorte que pour tout couple de
mots, le chemin permettant de conduire à l'un des mots ne soit pas
inclus dans le chemin menant à l'autre mot.
§ Exemples :
– {0,10,110,111} est un code préfixe.
– {0,11,110,111} n'est pas un code préfixe car le chemin menant à 11 est
inclus dans les chemins menant à 110 et 111.
61
Codage d'une variable aléatoire discrète
• Longueur
§ Longueur moyenne
moyenne descode
des mots mots: code :
M
n pin(i)
i 1
avec :
§ avec :
• M = nombre de mots code;
– • pi
M==fréquence
nombre de motsd'code;
relative apparition du mot code n° i;
– • n(i)
pi ==fréquence
longueur du mot code
relative n° i.
d' apparition du mot code n° i;
– n(i) = longueur du mot code n° i.
62
§ Théorème 1
– Pour tout codage d'une variable aléatoire X par un code uniquement
déchiffrable (sur un alphabet de référence à b lettres), la longueur
moyenne des mots code vérifie:
H(X) ≤ nlog(b)
où la base du logarithme coïncide avec celle utilisée pour la mesure de
H(X) (entropie de X).
§ Théorème 2
– Pour toute variable aléatoire X, il existe un code préfixe tel que :
nlog(b) < H(X) + log(b)
63
§ Finalement, on déduit que pour tout codage d'une variable aléatoire
X, il existe un code uniquement déchiffrable qui vérifie:
64
65
§ = code ternaire : point, trait et pause
§ A chaque lettre une succession d'émissions de courants brefs
(points) et longs (traits) séparés par des pauses courtes.
§ Entre chaque lettre est insérée une pause plus longue
§ Les mots sont séparés par une pause deux fois plus longue que celle
disposée entre les lettres.
§ Aux lettres les plus fréquentes sont affectées les mots code les plus
courts
66
Code Morse
Lettre Fréq. Code Durée Lettre Fréq. Code Durée
A 0,0642 ._ 9 N 0,0574 _. 9
B 0,0127 _... 13 O 0,0632 ___ 15
C 0,0218 _._. 15 P 0,0152 .__. 15
D 0,0317 _.. 11 Q 0,0008 __._ 17
E 0,1031 . 5 R 0,0484 ._. 11
F 0,0208 .._. 13 S 0,0514 ... 9
G 0,0152 __. 13 T 0,0796 _ 7
H 0,0467 .... 11 U 0,0228 .._ 11
I 0,0575 .. 7 V 0,0083 ..._ 13
J 0,0008 .___ 17 W 0,0175 .__ 13
K 0,0049 _._ 13 X 0,0013 _.._ 15
L 0,0321 ._.. 13 Y 0,0164 _.__ 17
M 0,0198 __ 11 Z 0,0005 __.. 15
ESP 0,1859 6
67
Durée du point avec pause courte = 2, durée du trait avec pause courte = 4,
§ 1er code utilisé pour exploiter la redondance d'une source (années
50)
§ Algorithme
– 1. Classer les différents symboles à coder suivant l'ordre décroissant de
leur probabilité
– 2. Divisercessymbolesendeuxsous-groupesdetellesortequeles
probabilités cumulées de ces deux sous-groupes soient aussi proches
que possible l'une de l'autre.
– 3. Affecter le chiffre binaire "0" au 1er sous-groupe et "1" au 2ème sous
groupe.
– Les mots code du premier sous-groupe commenceront tous par "0"
tandis que ceux du second commenceront par "1".
– 4. Recommencerà1jusqu'àcequelessous-groupesnecontiennent qu'un
élément.
§ Tous les symboles source ont alors un mot code.
68
Code de Shannon-Fano - Exemple
• Exemple
§ Exemple: :
Soit une source
– Soit avecavec
une source cinq
cinqsymboles
symboles A,A,
B, B, C,ED, E
C, D,
Fréquence Première Deuxième Troisième Quatrième
Symbole Code binaire
d'apparition division division division division
A 15/39 0 0 00
§
B 7/39 0 1 01
C 6/39 1 0 10
D 6/39 1 1 0 110
E 5/39 1 1 1 111
70
Code de Huffman- Exemple
§ Exemple
– Même source que l'exemple précédent
• Même source que l'exemple précédent
1 2 3 4
5
8 7 6
A 15/39 1 A 15/39 1 A 15/39 1 BCDE 24/39 0
D
B 7/39 000 11/39 01 BC 13/39 00 A 15/39 1
E
C 6/39 001 B 7/39 000 DE 11/39 01
D 6/39 010 C 6/39 001
E 5/39 011
74
§ • Aprèsavoircaractériséuncanaldupointdevue de la théorie de
l'information en introduisant sa capacité, nous allons maintenant
nous intéresser à la qualité de la transmission en termes de
probabilité d'erreur.
§ • 2 théorèmes fondamentaux:
§ – Le 2ème théorème de Shannon qui énonce une condition
d'adéquation entre la source et le canal pour obtenir un taux d'erreur
aussi faible que souhaité.
§ – Le théorème réciproque du deuxième théorème de Shannon qui
fournira un minorant de la probabilité d'erreur lorsque la condition
d'adéquation source canal n'est pas satisfaite.
75
§ • L'incertitude qui subsiste sur X lorsque Y est connue peut être
divisée en deux termes :
§ – un premier terme qui correspond à l'incertitude liée à la question
de savoir si oui ou non une erreur a été commise ;
§ – un second terme relatif à l'incertitude sur le symbole qui a été
effectivement émis lorsque l'on commet une erreur (cette incertitude
concerne les m-1 symboles autres que celui reçu et ceci avec la
probabilité pe).
§ • On obtient donc l'inégalité de Fano : H(X/Y) ≤ H2(pe)+ pe log2
(m-1)
76
§ Codage de canal • 2ème théorème de Shannon
§ Soient un canal discret sans mémoire de capacité C et une source
discrète stationnaire d'entropie R.
§ Alors si R < C, ∀ є > 0 il existe un code de longueur n tel que la
probabilité d'erreur pe après le décodeur soit
§ inférieure à є si le code est utilisé sur le canal.
77
§ • Ce théorème donne tout son sens à la notion de capacité que l'on
peut interpréter comme la quantité maximum d'information qui
peut être transmise sans erreur.
§ • Le résultat énoncé par ce théorème est surprenant, en ce sens qu'a
priori, on ne pouvait envisager d'effectuer une transmission sur un
canal bruité, avec un taux d'erreur aussi faible que souhaité.
§ • Contrairement au théorème de codage de source, le 2ème
théorème de Shannon n'indique pas comment construire le code
bloc optimum.
78
peut interpréter comme la quantité maximum d'information qui pe
être transmise sans erreur.
• Le résultat énoncé par ce théorème est surprenant, en ce sens qu'a
priori, on ne pouvait envisager d'effectuer une transmission sur un
canal bruité, avec un taux d'erreur aussi faible que souhaité.
§ Les codes correcteurs d'erreurs permettent de réduire la probabilité
• Contrairement au théorème de codage de source, le 2ème théorème
d'erreur sur unn'indique
Shannon canal. Cette
pas réduction
comment sera obtenue
construire le en ajoutant
code de la
bloc optimum.
Les codes
redondance aux correcteurs d'erreurs permettent de réduire la probabi
messages à transmettre.
d'erreur sur un canal. Cette réduction sera obtenue en ajoutant de l
§ • En redondance
pratique, il faut
aux que la condition
messages Entropie < Capacité soit
à transmettre.
vérifiée
• En sur un même
pratique, laps
il faut quedelatemps.
condition Entropie < Capacité soit vérifiée
§ Si le sur un même laps de temps.
débit source Ds = 1/Ts (resp. le débit canal Dc = 1/Tc), on
Si le débit source Ds = 1/Ts (resp. le débit canal Dc = 1/Tc), on devra
devravérifier
vérifier: :
entropie capacité H( X) C
unité de temps unité de temps Ts Tc
79
§ Le nombre d’erreurs de transmission est très variable : Probabilité
d’erreur de 10-3 (RTC de mauvaise qualité)
§ à 10-12 / 10-15
§ 3 opérations peuvent être mises en place :
– la détection d’une erreur,
– sa localisation
– et sa correction.
§ La protection peut s’appliquer à deux niveaux :
– au niveau bit ou caractère (bit de parité) ;
– au niveau de la trame (CRC) ou du paquet réseau.
80
Un codeur est introduit avant la transmission sur
§ leUncanal
codeuret
estun décodeur
introduit est placé sur
avant la transmission enlesortie
canal etdu
un
canal.
décodeur est placé en sortie du canal.
Perturbations
X Codeur Décodeur Y
Canal de transmission
et récepteur
§ Codeur : introduit de la redondance : C(n,k) = r n : bits à
transmettre, k : redondance
§ • Il existe différentes classes de codes:
– En bloc : les r bits rajoutés ne dépendent que des k bits d’information.
• Détection d’erreur : parité, codes polynomiaux, codes cycliques.
• Correction d’erreur : codes de Hamming, codes BCH).
Florent Dupont Master Informatique - UCBL 119
– Conventionnels (ou récurrents).
– Turbo-codes
81
§ Parité simple : à chaque caractère, un bit est ajouté.
§ Exemple :
– 0011010 0 parite impaire
– 0011010 1 parite paire
– Dans ce cas, on est capable de détecter une erreur de parité, mais pas de
la localiser.
82
§ Exemple :
§ pour les données 0011010 1100101 0101010
§ 00110101
11001010 parite LRC et VRC paire
01010101
§ 10101010
§ La suite 00110101 11001010 01010101 10101010 est émise.
§ La combinaison de LRC et VRC permet de détecter 2 erreurs dans
un seul mot ou de corriger 1 erreur.
83
§ Détection d’erreur par code cyclique
§ • Un mot de code est représenté sous forme polynomiale dans
laquelle la suite de bits à transmettre M=m1m2...mn est représentée
par
M(x) = u1+u2x+...+unxn-1
§ • Par exemple 1100101 est représenté par 1x6+1x5+0x4+0x3+1x2+0x
+1 c’est à dire x6+x5+x2+1
84
§ Principe de détection :
§ • On utilise le reste R(x) de la division polynomiale M(x) par un
polynôme diviseur G(x) qui donne un quotient Q(x). R(x) est
calculé par l’émetteur puis transmis au récepteur. Le récepteur fait le
même calcul R’(x) en divisant M(x)+R(x) (message + contrôle).
§ Si R’=0 alors pas d’erreur, si R’≠0 alors erreur.
• M(x) – R(x) est divisible par G(x) et est équivalent à
§ M(x) + R(x) modulo 2.
§ • Cette méthode fonctionne bien car la table de vérité de l’addition
(en modulo 2) équivaut au ou exclusif (XOR).
85
§ Exemple de polynôme générateur :
• Suivant l’avis V41 du CCITT : G(x) = x16+x12+x5+1
§ • Autreexemple:calculdeLRCensérie
§ Transmission de 2 octets
§ 01001101 01101111 00100010 = LRC
§ • LRCsur1octetestuncodecycliquedepolynôme générateur x8+1
86
§
Codes détecteurs
Codes détecteurs d’erreur
d’erreur
§ ••22octets
octetsprécédents
précédents :: 01001101
01001101 01101111
01101111
§ ••M(x)
M(x)==x14x14+x11+x10+x8+x6+x5+x3+x2+x+1
+x11+x10+x8+x6+x5+x3+x2+x+1
§ • x 8 M(x ) = x22+x19+x18+x16+x14+x13+x11+x10+x9+ x8 (on multiplie par x8
• x8 M(x ) = x22+x19+x18+x16+x14+x13+x11+x10+x9+ x8 (on
pour faciliter la division)
• multiplie par
x8 M(x ) / (x x8 =pour faciliter la division)
8+1)
§ •x22+x19+x18+x16+x14+x13+x11+x10+x9+ x8 x8+1
-x5-x x14+x11+x10+x8+x5+x
ou +x5+x
§ R(x)=x5+x 00100010 on trouve comme précédemment ! !
§ •On transmet
R(x)=x 5+x donc : 01001101
00100010 01101111
on trouve comme 00100010
précédemment ! !
§ ••On
Letransmet
récepteurdonc : 01001101
divise le message01101111 00100010
reçu par x8+1 pour vérifier qu’il n’y
a pas d’erreur.
• Le récepteur divise le message reçu par x8+1 pour vérifier qu’il n’y a
§ Pour fabriquer ces codes à la volée, on utilise un registre à décalage
pas d’erreur.
ainsi que un ou plusieurs ou exclusif.
Pour fabriquer ces codes à la volée, on utilise un registre à décalage
ainsi que un ou plusieurs ou exclusif. 87
§ • La capacité de correction est d'autant meilleure que les "mots" du
code diffèrent beaucoup entre eux.
§ • "distance" minimale entre deux mots, la distance étant le nombre
de symboles qui diffèrent ;
§ • Exemple, la distance dite "de Hamming" – « nombre de
différences » entre 10100111 et 10111111 vaut 2, tandis que celle
entre 10100111 et 11000001 vaut 4.
§ • Plus la distance minimale est élevée, plus le code peut corriger
d'erreurs.
§ • On peut augmenter la distance minimale entre mots en rajoutant
des bits. Mais rallonger le message accroît la durée et le coût des
communications.
§ Objectif : trouver des algorithmes de codage performants, qui
permettent de détecter et de corriger le maximum d'erreurs, tout en
allongeant le moins possible les mots. De plus, les procédures de
88
codage et de décodage doivent être suffisamment simples.