Вы находитесь на странице: 1из 42

République Algérienne démocratique et populaire

Ministère De L’enseignement Supérieur Et De La Recherche Scientifique


Université Djillali Liabes De Sidi Bel Abbes
Faculté De Génie Electrique
Département De Télécommunications

Licence Télécommunications

Support de cours et de travaux dirigés de la matière

CODAGE ET THÉORIE DE
L’INFORMATION

UEF 3.2.2

Dr. L. SALAH Née DEKKICHE |UDL:


UDL: Année Universitaire:2015-2016 1
CONTENU DE LA MATIÈRE

CHAPITRE 1:
1: Mesure de l'information

CHAPITRE 2:
2: Canal de transmission

CHAPITRE 3:
3: Codage de source

CHAPITRE 4:
4: Principes généraux des codes correcteurs d’erreurs

CHAPITRE 5:
5: Introduction au codage canal

RÉFÉRENCES BIBLIOGRAPHIQUES
1. F. Bavaud , J. C. Chappelier, J. Kohlas, “Introduction à la Théorie de l'Information et ses applications“,
Université de Fribourg.
2. O. Rioul, “Théorie de l’information et du codage“, Lavoisier, 2007.
3. Y. Mori, “Théorie de l'information et du codage: signal analogique, signal numérique et applications en
télécommunications“, Hermès Science, 2006.
4. T. M. Cover and J. A. Thomas, “Elements of information theory“, 2nd edition, Wiley Series in
telecommunications and signal Processing, 2006.
5. Alain Glavieux, Michel Joindot Communications numériques. Ed Masson
6. Pierre Csillag, Introduction aux Codes Correcteurs. Ed Ellipses
7. Bernard Sklarm Digital Communications : fundamentals and applications. Ed Prentice Hall
8. J.C. Bic, D.D. Duponteil, J.C .Imbeaux, Eléments de communications numériques. Ed Dunod
9. Hervé Benoit La Télévision Numérique MPEG1, MPEG2 et les principes du système européen DVB. Ed
Dunod.
10. Glavieux and all, Channel coding in communication networks : from theory to turbocodes, Volume 3 de Digital
Signal Image Processing Series, John Wiley Sons, 2007.
11. Claude Berrou and all, Codes and Turbo Codes, Collection IRIS Series, IRIS International, Springer, 2010.
12. W.E. Ryan, Shu Lin, Channel codes : classical and modern, Cambridge University Press, 2009.
13. Shu Lin, Daniel J. Costello, Error control coding : fundamentals and applications, Edition 2, Pearson-Prentice
Hall, 2004.
14. T. Richardson, R. Urbanke, Modern coding theory, Cambridge University Press, 2008.
15. T.M. Cover, J.A. Thomas, “Elements of Information Theory”, Wiley & Sons, 2nd edition, 2006.
16. Gérard Battail, « Théorie de l’information : application aux techniques de communication », collection
pédagogique de Télécommunication, MASSON, 1997
17. Louis Wehenkel, Théorie de l’Information et du codage, cours de l’Université de Liège, 2003
http://www.montefiore.ulg.ac.be/~lwh/Info/
18. E. Roubine, « Introduction à la théorie de la communication. Tome III : Théorie de l’information », collection
MASSON et Cie, 1970
19. A. Spataru, « Fondements de la théorie de la transmission de l’information », presses polytechniques romandes,
complément au traité d’électricité, 1987
20. David J.C. MacKay “Information Theory, Inference, and Learning Algorithm”, Cambridge Univ. Press, 2003
http://www.cs.toronto.edu/~mackay/itprnn/ps/
21. François Auger, « Introduction à la théorie du signal et de l’information , cours et exercices », collection
Sciences et Technologies, éditions Technip, 1999
22. R.G. Gallager, « Information Theory and reliable communication », Wiley, 1968
23. Geneviève Jourdain, « Théorie de l’Information », polycopié de cours DEA SIPT (INPG), 1992
24. Jean Brini, « cours de Théorie de l’information », polycopié de cours 2° année ENSERG 2001/2002.

Dr. L. SALAH Née DEKKICHE |UDL: Année Universitaire:2015-2016 2


Chapitre(1)

Mesure de l'information

Le but de l’opération est d’assigner une mesure à un message qui soit indépendante du
sens du message mais qui donne une évaluation quantitative de ce que le message nous apprend.
A cette fin, on considère le message comme la réalisation d’une suite de variables aléatoires
(V.A.)

1. Quantité d'information:
La quantité d'information d'un symbole est d'autant plus grande que celui-ci est peu probable.

La quantité d'information de deux symboles successifs est la somme de leurs quantités


d'information.

La quantité d'information notée I est une fonction qui doit ainsi avoir les propriétés suivantes:

I(.) est une fonction continue de la probabilité pi.

I(pk) ↑ si pk ↓ I(pk) est une fonction décroissante de pk.

I(pk et pj) = I(pk) + I(pj).

Un symbole certain possède une quantité d'information nulle : I(pk=1) = 0.

Une fonction mathématique qui remplit les conditions 1, 3 et 4 n’est autre que : log(pk).

Pour obtenir la propriété 2, il suffit de prendre –log(pk) = log(1/pk).

La quantité d'information d'un symbole xk de probabilité pk a ainsi été définie par


Shannon comme :

Remarque : la base du logarithme utilisée est la base 2 et c'est cette base qui définit l'unité
obtenue : le bit pour binary digit ou binary unit

2. Entropie d'une source :

L'entropie H(S) d'une source S est la quantité d'information moyenne contenue dans
l'alphabet X de cette source. Du point de vue mathématique, cela s'exprime par H(S) = E[ I(X) ]
soit:

Dr. L. SALAH Née DEKKICHE |UDL: Année Universitaire:2015-2016 3


Elle est exprimée en bits/symbole ou Shannon/symbole.

Exemple: source binaire avec deux symboles "0" et "1" de probabilités respectives p et 1-p.
1

Cette entropie est maximale pour p = 0,5 et vaut zéro pour p = 0 et p = 1.

Cet exemple est un cas particulier d'une source ayant un alphabet de K symboles. On démontre
que son entropie est maximale lorsque tous les symboles sont équiprobables donc pk = 1/K et
l'entropie devient:

Ce qui montre le théorème suivant sur l'entropie d'une source:

3. Entropie jointe entre deux sources :

• Cette notion permet de mesurer le degré de similitude entre deux sources.


• Soit deux sources : X d'alphabet {x1, x2,…,xN} et Y d'alphabet {y1, y2,…,yM}
• Si p( xi , yj ) est la densité de probabilité jointe entre deux caractères alors la quantité
d'information jointe est :

I(xi,yj)=log(1/p(xi,yj))

Définition : l’entropie jointe des deux sources est alors la quantité d'information moyenne jointe
entre deux caractères de la source :

Dr. L. SALAH Née DEKKICHE |UDL:


UDL: Année Universitaire:2015-2016 4
Cas ou les deux sources sont indépendantes: p(xi,yj)=p(xi).p(yj)

4. Quantité d'information mutuelle :

Généralisation du calcul précédent avec les sources dépendantes en faisant apparaître les
deux termes précédents :

Dans ce résultat le premier terme est un terme supplémentaire par rapport au cas de sources
indépendantes : c'est le terme d'information mutuelle. Sachant que p( xi , yj ) p( xi ).p( yj ) ce
terme est négatif . En définissant la quantité d'information mutuelle I(X X , Y ) entre les deux
sources comme une quantité positive nous aurons:

Nous retrouvons bien sûr le cas de deux sources indépendantes pour lesquelles :

Dr. L. SALAH Née DEKKICHE |UDL:


UDL: Année Universitaire:2015-2016 5
5. Entropie conditionnelle :

Nous pouvons aussi définir à partir des densités de probabilité conditionnelles une
quantité d'information conditionnelle:

Puis une entropie conditionnelle :

Et enfin une entropie conditionnelle moyenne :

6. Expressions de la quantité d'information mutuelle et de l'entropie conditionnelle


moyenne :

L'entropie conditionnelle permet d'obtenir d'autres formulations de ces quantités en


utilisant la loi de Bayes :

Un résultat semblable peut être établi en permutant le rôle de x et y d'où les deux expressions
équivalentes de la quantité d'information mutuelle:

Ces expressions ajoutent deux nouvelles formulations de l'entropie jointe des deux sources :

Dr. L. SALAH Née DEKKICHE |UDL:


UDL: Année Universitaire:2015-2016 6
Figuration:

Il est pratiquee d’associer aux champs d’entrée


d’entrée X et de sortie Y des ensembles
ense dont la
mesure est figuréee par l’aire d’un cercle (Diagrammes
( dits d’Euler-Venn
Venn). On a alors une
correspondance :

7. Applications de l'entropie: Utilité pratique

L'entropie de Shannon est utilisée pour numériser une source en utilisant le minimum
possible de bits sans perte d'information. Si le canal de transmission de l'information a une
capacité de C bits par seconde et si les symboles qu'envoie la source ont une entropie H, alors la
vitesse maximale de transmission des symboles est de C/H symboles par seconde

De plus, si du bruit brouille la transmission, la capacité C du canal de transmission


diminue. En effet, des informations supplémentaires doivent être envoyées
envoyées par la source afin que
le récepteur puisse reconstituer le message sans erreur. Ces informations occupent une place
supplémentaire qui diminue la capacité C.

L'entropie de Shannon permet aussi de quantifier le nombre minimum de bits sur lesquels
on peut coder un fichier, mesurant ainsi les limites que peuvent espérer atteindre les algorithmes
de compression sans perte comme le codage de Huffman, l'algorithme LZH qu'on verra par la
suite.. Elle est également utilisée dans d'autres domaines, par exemple la sélection du meilleur
point de vue d'un objet en trois dimensions11.
dimensions11

L'entropie de Shannon est utilisée également en imagerie (médicale ou spatiale) à la base


de la théorie
éorie de l'information Mutuelle.
Mutuelle. Elle permet notamment de recaler deux images
différentes
entes l'une sur l'autre en minimisant l'entropie des deux images. En pratique cela permet de
comparer les scanners d'un patient A quelconque avec un patient de référence B. Enfin, en
génétique, l'entropie de Shannon permet de repérer sur un chromosome les portions d'ADN
contenant le plus d'information.

Dr. L. SALAH Née DEKKICHE |UDL:


UDL: Année Universitaire:2015-2016 7
Chapitre(2)

Canal de Transmission

1. Définition d'un canal de transmission

Le rôle de tout système de communication est d’assurer que le récepteur comprenne


l’intégralité des messages transmis par l’émetteur, quel que soit la compression, le format ou le
type des données, mais aussi les perturbations induites sur le canal de transmission et son effet
parasite. La figure ci-dessous présente un schéma général un canal de transmission.

Le transfert de l’information nécessite une source de données, traduites dans un système


compréhensible par l’émetteur et le récepteur (codage, format, compression préalablement
définis). Le canal proprement dit représente le lien ou le support de transport de l’information
entre les 2 entités communicantes, mais il comprend aussi les dispositifs en entrée et en sortie du
support de transmission qui vont aider à l'émission, à la réception et à l’extraction correcte des
données numériques.

Un canal est discret si les alphabets d'entrée et de sortie sont finis. Un canal sans
mémoire est un canal pour lequel la sortie à un instant donné ne dépend statistiquement que de
l'entrée correspondante.
Pour faire parvenir à un destinataire la source X, on va utiliser un canal de transmission.
La variable Y reçue à la sortie du récepteur comportera des différences avec la variable X
initialement émise dues aux perturbations (le bruit) agissant sur le support de transmission.

Du point de vue de la théorie de l'information, les imperfections du canal peuvent être


traduites en termes d'information qu'apporte la variable de sortie Y sur la variable d'entrée X.

Dr. L. SALAH Née DEKKICHE |UDL: Année Universitaire:2015-2016 8


Le terme H(X / Y)) s'appelle l'ambiguïté,, il correspond à l'incertitude qui reste sur X
lorsque Y est connue: Il sera d'autant plus grand que le canal sera perturbé.
On modélisera un canal par deux alphabets (un alphabet d'entrée correspondant aux
valeurs possibles pour X et un alphabet de sortie constitué des valeurs prises par Y) et une
matrice de transition Q dont le terme Qij situé à la iième ligne et jième colonne représente la
probabilité pour que la iième valeur de l'alphabet d'entrée soit transformée en la jième valeur de
l'alphabet de sortie.

2. Capacité d'un canal:

La quantité I(X;Y) = H(X)− H(X / Y) ne permet pas de caractériser un canal de façon


intrinsèque en ce sens qu'elle est fonction de la loi de probabilité de X. C'est pourquoi on définit
la capacité d'un canal par le maximum de I(X;Y) en prenant en compte toutes les lois de
probabilité possibles sur X.

En d'autres termes:
C = Max I(X;Y)
les lois de X
C, exprimée en bits, correspond au maximum d'information que peut apporter le canal de
transmission.

3. Canal symétrique:

Un canal est symétrique si l'ensemble des valeurs constituant l'alphabet de sortie peut être
partitionné en sous-ensembles
ensembles de telle sorte que pour chacun de ces sous-ensembles,
sous la sous
matrice de transition possède les propriétés suivantes:
• Toutes les lignes sont identiques (à des permutations près).
• Toutes es les colonnes (s'il y en a au moins deux) sont identiques (à des permutations près).

Exemple:
Soient {0,1}(resp {0,1,2}) l'alphabet d'entrée (resp de sortie) et Q la matrice de transition.

On peut partitionner l'alphabet de sortie en {0,2}et {1}. Les deux sous-matrices


matrices de transition
sont alors respectivement:

Dr. L. SALAH Née DEKKICHE |UDL:


UDL: Année Universitaire:2015-2016 9
Ces deux matrices possèdent bien les propriétés requises, donc le canal est symétrique.

Remarque:

• Si la capacité C a été calculée en considérant des mots de n symboles, on exprimera la


capacité par symbole par le rapport C/n.
• La capacité d'un canal correspondant à l'aptitude du dispositif à transmettre de
l'information, on sera amené à utiliser la capacité par unité de temps (en général la
seconde). Cette grandeur, exprimée en bits par seconde,
seconde, est obtenue en divisant la
capacité par symbole par l'inverse du débit symbole notée C'.
• La remarque précédente conduit naturellement à définir l'entropie d'une source par
unité de temps, notée H', correspondant au rapport de l'entropie par symbole par
l'inverse du débit symbole.
• Lorsque se posera le problème de la connexion d'une source à un canal, on aura à
comparer H' et C'.. L'objet du deuxième théorème de Shannon consistera à montrer
que la transmission de l'information pourra s'effectuer dans les
les meilleures conditions
dès lors que H' < C'.

4. Exemples de calcul de capacité:

• Exemple(1): Canal parfait

I(X;Y) = H(X)− H(X / Y) ; C=max(I(X;Y))=max(H(X)− H(X / Y))


La connaissance de Y implique celle de X, donc H(X / Y) = 0. Maximiser I(X;Y) équivaut à
maximiser H(X). X étant une variable à deux valeurs possibles, son entropie maximale est égale
à log2(2); D'où: La capacité de ce canal est de 1 bit.
bit

L'interprétation de ce résultat est aisée car les deux valeurs d'entrée peuvent être codées sur
deux éléments binaires. La sortie du canal permet de fournir le symbole d'entrée, c'est-à-dire
c'est
deux éléments binaires. C'est un cas très favorable en ce sens que la transmission n'est
affectée par aucun défaut.

• Exemple(2): Canal bruité appelé canal uniforme par rapport à la sortie

On appelle canal uniforme par rapport à l’entrée un canal pour lequel toutes les lignes
de la matrice des probabilités conditionnelles P(Y /X) sont composées du même jeu de
probabilités. Ce type de canal a nécessairement
né un nombre de symboles en entrée inférieur ou
égal au nombre de symbole à la sortie.
sortie

Dr. L. SALAH Née DEKKICHE |UDL:


UDL: Année Universitaire:2015-2016 10
On appelle canal uniforme par rapport à la sortie un canal pour lequel toutes les
colonnes de la matrice des probabilités conditionnelles P(Y /X) sont composées du même jeu
de probabilités. Ce type de canal a nécessairement
né un nombre de symboles en sortie inférieur
ou égal au nombre de symbole à l’entrée.
l’entrée

Un canal est doublement uniforme quand toutes


toutes les lignes de la matrice P(Y /X) ont
pour somme 1. Un canal tel que le nombre de symboles en entrée est égale à celui de la sortie
et doublement
ent uniforme est parfois appelé canal symétrique.

I(X;Y) = H(Y)− H(Y / X)= 0 avec H(Y)=0 et H(Y/X)=0

Dans ce cas, la capacité est nulle et est atteinte quelle que soit la loi de probabilité à l'entrée.

Ce qu’il faut retenir:

• Un canal de transmission n’est pas simplement composé du support de


transmission, mais aussi de l’ensemble des dispositifs qui permettent d’adapter le
signal à transmettre au canal et de minimiser les erreurs de réception.
• Afin de résister aux perturbations
perturbations induites par le support de transmission, un
signal à transmettre subit en général des opérations de codage de source, de codage
de canal, de modulation, de mise en forme …. Il subit les opérations inverses en
réception.
• Lors de la transmission à travers le canal, le signal subit les atténuations et les
déformations propres au canal, ainsi que le bruit provenant de perturbateurs
externes. En outre, les émetteurs et récepteurs du canal contribue à générer des
perturbations qui dégradent le signal.
• Les défauts
uts du canal de transmission et les perturbations externes vont limiter la
quantité d’information qui peut passer à travers le canal et affecter la qualité du
signal.
• Un récepteur reçoit en général un signal faible, bruité et distordu. Il doit être en
mesurere de le reconstruire puis de l’interpréter afin de retrouver le signal d’origine.
• Les transmissions d’informations se font en général par liaison filaire (câble
électrique ou fibre optique) ou par liaison hertzienne (ou sans fils). Cette dernière
est la plus
lus sensible aux perturbations externes et dont l’environnement de
propagation est le plus difficile à modéliser.

Dr. L. SALAH Née DEKKICHE |UDL:


UDL: Année Universitaire:2015-2016 11
Chapitre(3)

Codage de source
1. Définition :
Un codage d’une source discrète est une procédure qui associe à chaque séquence finie de
lettres de la source une séquence binaire finie.

2. Débit moyen d'information :


Si K est la taille de l'alphabet d'une source discrète sans mémoire X, nous avons déjà vu
v
que celle-ci
ci contient une quantité moyenne d'information par symbole qui est l'entropie H( X ).
Cette entropie admet une limite maximale:

La limite étant atteinte lorsqu'il y a équiprobabilité entre tous les symboles de l'alphabet
de la source.

Si la source émet ses symboles à une cadence régulière d'un symbole toute les τS
secondes, 1/τS est la vitesse d'émission de la source exprimée en symboles/seconde. Le débit
moyen d'information sera naturellement caractérisé par:

3. Codage avec mots de longueur


ngueur fixe, efficacité :
3.1. Mots de codes de longueur fixe :

Une manière simple de coder en binaire l'alphabet d'une source est d'attribuer à chaque
symbole R bits. Il y a donc 2R codes possibles et bien sûr nous avons la condition 2R ≥ K l'égalité
étant possible lorsque le nombre K de symboles de la source est une puissance de 2. Cette
dernière relation permet de déterminer le nombre R de bits nécessaires au codage de l'alphabet
d'une source de K symboles:

Nous savons que :

Dr. L. SALAH Née DEKKICHE |UDL:


UDL: Année Universitaire:2015-2016 12
L'égalité a lieu lorsque tous les symboles de la source sont équiprobables et lorsque K est
une puissance de 2.

Un codage est dit d'autant plus efficace que le nombre de codes possibles inutilisés est
faible. L'efficacité dépend aussi de la quantité d'information moyenne de la source. L'efficacité
η d'un codage sera ainsi définie par :

Elle est exprimée en %.

Exemple:

K= 24 → log2( K ) = 4,585 → R = 5 → 2R = 32 → 8 codes non utilisés.

Si tous les symboles sont équiprobables : H( X ) = 4,585 et η = 91,7 %.

3.2. Théorème du codage de source, 1er théorème de Shannon :

Pour avoir un codage sans erreur, une source x doit étre codée en moyenne avec au moins H(X)
bits d'où:

4. Codage, mots de longueur variable :


Lorsque tous les symboles de l'alphabet ne sont pas équiprobables, l'extension de source
ne permettra pas d'augmenter jusqu'à 100% l'efficacité. Historiquement, le code de Morse résoud
ce problème l'idée étant d'utiliser un codage "court" pour les symboles les plus utilisés (de
probabilité élevée) et en réservant un codage plus "long" aux symboles peu utilisés (de
probabilité faible). C'est cette idée qui est reprise et formalisée dans le codage avec mots de
longueur variable.

4.1. Codes préfixes :

Pour introduire les notions essentielles nous allons utiliser en exemple trois codages
possibles pour une source de 4 symboles. Ces exemples sont dans le tableau ci-dessous:

Dr. L. SALAH Née DEKKICHE |UDL: Année Universitaire:2015-2016 13


Supposons que nous cherchions à transmettre le message BOF

1. Avec le code I, le message envoyé est : 001001. C'est ce que voit le récepteur. Comment peut-
il l'interpréter? De manière correcte bien sûr mais aussi 00 1 00 1 c'est à dire BIBI. Problème, le
message n'est pas décodable de manière unique. Ceci est du au fait que le 1, code attribué à I est
le début d'un autre code 10 attribué au O. Pour éviter cette situation, il ne faut pas qu'un code soit
le "préfixe" d'un autre code. Les codes qui remplissent cette condition sont des codes préfixes.

2. Avec le code III, le message envoyé est 01111011. Au décodage nous pouvons voir 0
111….c'est à dire IO…Mais ici nous nous rendons compte du fait que ce qui suit c'est à dire soit
1, soit 10, soit 101 ne sont pas des codes et donc, nous pouvons revenir en arrière pour modifier
l'interprétation soit 01 111 011 et retrouver le bon message. Le code n'est pas décodable de
manière instantanée. Ceci est aussi dû au fait que le code utilisé n'est pas un code préfixe.

3. Le code II est lui un code préfixe et nous avons les deux propriétés souhaitées: décodable de
manière unique et de manière instantanée.

Un code préfixe est, par définition, un code dont aucun code n'est le préfixe d'un autre. Un
code préfixe est décodable de manière unique et instantané.

4.2. Arbre d’un code :

Un codage binaire peut être représenté de manière graphique par un arbre. Les arbres sont aussi
des représentations commodes pour écrire les algorithmes de codage et de décodage. Pour les
trois codages précédents nous obtenons :

Règles :

Un déplacement à gauche correspond à un "0".


Un déplacement à droite correspond à un "1".
Chaque déplacement crée un nœud de l'arbre.
Chaque nœud à un père (vers le haut) et peut avoir deux fils (vers le bas).
Le lien entre deux nœuds est une branche.
Un nœud qui n'a pas de fils est une feuille.

Dr. L. SALAH Née DEKKICHE |UDL: Année Universitaire:2015-2016 14


Sur le cas n°2 nous voyons une autre définition du code préfixe :

Un code préfixe est un code dont les symboles codés sont des feuilles

4.3. Longueur moyenne de code :

Pour une source X d'alphabet { xk } de probabilités associées { pk }, la longueur moyenne du


code sera définie par :

où nk est la longueur du code associé au symbole xk.

4.4. Inégalité de Kraft :

Elle cherche à répondre à la question de la condition d'existence d'un code préfixe. Nous venons
de voir qu'un code préfixe se fabrique à partir d'un arbre de codage et que sa condition
d'obtention est que les codes soient des feuilles de l'arbre.

Le schéma ci-dessus va illustrer le raisonnement conduisant à l'inégalité de Kraft :

Nous construisons un arbre binaire de hauteur n ⇒ le nombre de codes possibles (nombre


de feuilles finales possibles) est de 2n.

Dr. L. SALAH Née DEKKICHE |UDL: Année Universitaire:2015-2016 15


A la hauteur nk, nous décidons d'attribuer ce nœud à un code Ck ⇒ Ce nœud devient une
feuille de l'arbre du code et, pour obtenir un code préfixe, cela interdit tous les nœuds qui
peuvent s'en déduire. Le nombre de nœuds interdits est de 2n-nk.

Si l'alphabet à coder contient K symboles auxquels sont attribués des codes de longueur

variable {nk}, le nombre total de feuilles interdites sera :

Le nombre de feuilles interdites


interdites est inférieur ou égal au nombre de feuilles finales :

En divisant chaque membre de la relation par 2n, nous obtenons l'inégalité de Kraft :

Celle-ci
ci peut se généraliser au cas non binaire c'est-à-dire
c'est dire un codage avec r symboles (en binaire
r = 2) :

4.5. Théorème du codage de source, 2ème théorème de Shannon :

Ce théorème exprime les conditions sur R.

Limite basse:

Nous savons que Ln(x) ≤ ( x-11 )

Dr. L. SALAH Née DEKKICHE |UDL:


UDL: Année Universitaire:2015-2016 16
soit en utilisant l'inégalité de Kraft :

Où l'égalité correspond au cas ou pk = 2-nk.

Limite haute:

Nous venons de voir que la limite basse est théoriquement atteinte par un choix astucieux des {
nk } tels que :

Plus un symbole est probable, moins on lui attribue de bits.

Cette condition n'est pas facilement réalisable car nk est un entier. En pratique
ratique nous serons donc
obligés de choisir

Il vient ainsi :

La réunion des deux expressions donne la relation suivante :

5. Codage entropique :
Le codage entropique (ou codage statistique à longueur variable)
variable) est une méthode de codage
de source sans pertes (sans distorsion de données), dont le but est de transformer la
représentation d'une source de données pour sa compression et/ou sa transmission sur un canal
de communication.. Les principaux types de codage entropique sont le codage de Huffman,
Huffman Fano-
Shannon et le codage arithmétique.
arithmétique

Dr. L. SALAH Née DEKKICHE |UDL:


UDL: Année Universitaire:2015-2016 17
5.1. Codage de Huffman :

C'est un codage de source avec des mots de longueur variable. Mis au point en 1952, basé sur les
probabilités des caractères de la source. C'est un algorithme optimal qui minimise le nombre
moyen de bits utilisés pour le codage.

Algorithme :

L'algorithme d'Huffman précise une méthode pour associer entre eux les différents nœuds. La
technique est la suivante :

1. A chaque étape, les nœuds sont rangés dans un tableau par ordre de probabilités
décroissantes.

2. Les deux nœuds du bas du tableau, donc ceux de probabilités


probabilités les plus faibles sont
associés pour donner un nœud "père". Celui-ci
Celui ci se voit attribuer comme probabilité la
somme des probabilités de ses deux "fils".

3. Nous avons un nouvel ensemble de nœuds ayant un élément en moins (remplacement des
deux "fils" par lee "père") et nous reprenons l'étape 1 jusqu'à l'arrivée au sommet de l'arbre
(ensemble de nœuds d'un seul élément).

4. L'ensemble initial des nœuds est constitué des feuilles donc des symboles de la source;

Remarque : lors du classement des nœuds par probabilités


probabilités décroissantes, il se peut que deux
nœuds aient mêmes probabilités. Leur classement est alors arbitraire. Lors de l'implantation
des algorithmes, le choix le plus simple au niveau programmation est d'attribuer, en cas
d'équiprobabilité, la place la plus
plus élevée au dernier nœud créé. Nous adopterons cette coutume
dans les exemples sachant qu'il s'agit ici d'un choix arbitraire.

exemple (1):

Prenons l'exemple du code II du paragraphe 4.1 (code préfixe) dont l'arbre est pris en exemple
ci-dessus:

En prenant comme codage:

Dr. L. SALAH Née DEKKICHE |UDL:


UDL: Année Universitaire:2015-2016 18
C'est le code complémentaire de celui que nous avons considéré, là encore c'est une question de
choix arbitraire, il aurait suffit de choisir comme codage:

Nous pouvons aussi remarquer qu'à l'initialisation O et F auraient pu être permutés.

exemple (2):

Pour transmettre 100 lettres en ASCII : 800 bits, avec ce code il faut en moyenne 213 bits.

Remarques : L'efficacité peut être améliorée si on effectue au préalable une extension de


source c'est à dire une transmission par blocs.

Ce type de technique amélioré est aussi utilisé pour la compression de données comme pour
les algorithmes Lempel Ziv (LZ97, LZW….) utilisés pour le compactage sur disque dur (Zip).

5.2. Codage de Fano-Shannon


Shannon :

Antérieur au codage d'Huffman, l'arbre


l'arbre est construit en partant du sommet c'est à dire du MSB
pour le codage. Il est basé sur la recherche de groupes de probabilités les plus proches possibles.

Dr. L. SALAH Née DEKKICHE |UDL:


UDL: Année Universitaire:2015-2016 19
Il donne, dans les cas simples, le même résultat que le codage d'Huffman mais il n'a pas son
caractère optimal et il induit en général un codage moins efficace.

Algorithme :

1. Ordonner les symboles de la source en probabilités décroissantes

2. Séparer les symboles en deux groupes de probabilités les plus proches possibles.

3. Le MSB du groupe supérieur sera "0" et celui du groupe inférieur "1".

4. Recommencer l'opération dans chaque sous-groupe pour affecter les bits suivants et ce
jusqu'à séparation de tous les symboles de la source.

Exemple précédent:

Nous retrouvons ici la même table de codage que celle fournie par la méthode d'Huffman.

5.3. Codage Arithmétique :

Un codage selon Huffmann ou Shannon-Fano ne peut attribuer qu’un bit à chaque symbole,
indépendemment de la quantité d’information contenue dans le symbole incriminé, simplement
parce qu’il n’est pas possible de transmettre des fractions de bit. C’est dans ce genre de cas que
le codage arithmétique se montre plus favorable que les codages statistiques.

L'encodage arithmétique traite l'ensemble d'un message comme une seule entité. Il fonctionne
par la représentation d'un nombre par un intervalle de nombres réels compris entre 0 et 1. A
mesure que le message s'allonge, l'intervalle requis pour le représenter diminue, et le nombre de
bits qui servent à préciser cet intervalle s'accroît.

Exemple :

Soit, par exemple, à coder le message “BILL GATES”. Sa distribution de probabilités a l’allure
suivante :

Dr. L. SALAH Née DEKKICHE |UDL: Année Universitaire:2015-2016 20


On va maintenant associer à chaque symbole un domaine r à l’intérieur de l’espace des
probabilités compris entre 0 et 1. L’association de chaque symbole avec un domaine particulier
n’est pas critique, mais il est vital que le décodeur et l’encodeur utilisent la même table
d’associations.

Le premier caractère, ‘B’, se voit assigner un domaine entre 0.20 et 0.30. Le message final aura
donc une valeur comprise entre 0.2 et 0.3, ce qui devient notre nouvel espace de probabilités
pour le message. Le caractère I, qui obtient le domaine de 0.5 à 0.6, va utiliser le domaine
compris entre 50% et 60% du nouvel espace de probabilités, ce qui amène le message à un
nouveau domaine compris entre 0.25 et 0.26. On obtiendra l’évolution suivante :

0.2572167752 est la représentation arithmétique du message “BILL GATES”. En fait,


n’importe quelle quantité telle que 0.2572167752 ≤ x < 0.2572167756 peut en principe
représenter le message désiré. Le décodage est relativement simple : sachant que le message
encodé se trouve entre les bornes 0.2 et 0.3, on voit immédiatement que le premier caractère est
B. On soustrait ensuite 0.2 (la borne inférieure) au message, ce qui donne 0.0572167752, ce que

Dr. L. SALAH Née DEKKICHE |UDL: Année Universitaire:2015-2016 21


l’on divise par l’intervalle de probabilité du symbole B, soit 0.1 : le résultat est 0.572167752, ce
qui correspond à l’intervalle du symbole I, et ainsi de suite.

5.4. Algorithme de Lempel – Ziv - Welch :

LZW (pour Lempel-Ziv-Welch) est un algorithme de compression de données sans perte. Il s'agit
d'une amélioration de l'algorithme LZ78 inventé par Abraham Lempel et Jacob Ziv en 1978.
LZW fut créé en 1984 par Terry Welch, d'où son nom.

L’algorithme a été conçu de


manière à être rapide à implémenter, mais n’est la plupart du temps pas optimal car il effectue
une analyse limitée des données à compresser.

Compression :

Le principe est le suivant:

1. Nous disposons d'un dictionnaire initial de 256 caractères ASCII numérotés de 0 à 255.

2. Sont ajoutés à ces codes deux caractères de contrôle.

3. Au fur et à mesure de l'apparition de blocs de caractères, ceux-ci sont ajoutés au


dictionnaire.

4. Tous les éléments du message sont codés sur le même nombre de bits.

5. L'élément du message compacté est le rang du caractère dans la table. Ce rang est codé
sur plus de 8 bits : 10 bits, 12 bits….

Il est nécessaire de limiter la taille du dictionnaire et les codes associés sont tous de même taille.
Pour coder sur 10 bits, le dictionnaire aura 1024 éléments.

Le principe de l'algorithme LZW expliqué sur un exemple :

Soit à transmettre le message LES PAGES D'IMAGES D’ORAGES. Les étapes pas à pas de la
compression sont dans le tableau suivant où, pour plus de commodité, l'espace est noté "_". Le
message sera codé sur 10 bits ce qui permet un dictionnaire de 1024 mots.

Dr. L. SALAH Née DEKKICHE |UDL: Année Universitaire:2015-2016 22


Dr. L. SALAH Née DEKKICHE |UDL: Année Universitaire:2015-2016 23
D'où le message compacté (exprimé en hexadécimal):

04C04505302005004104710302004402704904D10710910B04F05210F053

En ASCII, les données codées sur 8 bits occupent 27*8 = 216 bits.

Compactées par LZW sur 10 bits, il y a 20*10 = 200 bits.

Nous avons ici un taux de compression de 92,6% sur un exemple adapté mais il est évident que
l'efficacité de cet algorithme sera d'autant plus grande que les données à compresser seront de
taille importante.

La décompression :

L'un des avantages de cette méthode est qu'elle ne nécessite pas la transmission de la table de
codage. L'algorithme de décompression se fait simplement en reconstituant pas à pas le
dictionnaire.

Cet algorithme est actuellement l'un des plus performants du marché, il fourni des taux de
compression de 30% à 40% et il est à la base de nombreuses utilisations :

1. La grande majorité des algorithmes de compression : GZIP, PKZIP, WINZIP,……

2. Le format GIF (Graphic Interchange Format) de compression d'images.

3. La compression de données pour la transmission sur modem norme V42 bis.

Dr. L. SALAH Née DEKKICHE |UDL: Année Universitaire:2015-2016 24


Chapitre(4)

Principes généraux des codes correcteurs


d'erreurs

La théorie des codes correcteurs d’erreurs a pour but la création de codes capables de
détecter et éventuellement de corriger des erreurs survenus lors de la transmission d’un message.
Elle a pour base théorique la théorie de l’information qui a véritablement commencé par l’article
de Claude Shannon (1948).

1. Définition:
Un code correcteur est une technique de codage de l’information basée sur la redondance,
qui vise à détecter et corriger des éventuelles erreurs de transmission d’un message sur une voie
de communication peu fiable (radio, câble, fibre optique, ....) ou depuis des supports de stockage
(CD, DVD, mémoire) où l’intégrité des données est importante.

2. Principe:
Prenons l’exemple d’un message simple à transmettre, du type "01234". Si l’on transmet
directement la suite de chiffres, l’information sera compacte, délivrera l’information, mais une
erreur en réception du type "01134" sera indétectable. Au contraire, une transmission du type
"zéro un deux trois quatre" est (trop) riche, contient la même information, mais une erreur en
réception du type "zéro un deux trois quatre" sera détectée et correctible. Ce principe de
redondance permet de construire les codes correcteurs d’erreurs.

En pratique, les messages sont transmis sur un canal sous la forme d’une suite de bits (des
0 et de 1). Les canaux de transmission imparfaits entraînent des erreurs lors des échanges de
données (un zéro qui devient un 1 ou inversement).

3. Paramètres d'un code correcteur:


Chaque suite de bits (une trame) à transmettre est augmentée par une autre suite de bits
dite de redondance ou de contrôle. Pour chaque suite de k bits transmise, on ajoute m bits. On
dit alors que l’on utilise un code C (n, k) avec n = k +m. A la réception, on effectue l’opération
inverse et les bits ajoutés permettent d’effectuer des contrôles à l’arrivée.

• n : nombre de bits d’un mot (bits de contrôle (m) + bits d’information (k))
• k : nombre de bits d’information

longueur totale : n=2m −1


longueur du message : k = (2m −1) −m,
Dr. L. SALAH Née DEKKICHE |UDL: Année Universitaire:2015-2016 25
• Le poids d'un mot de code x: w(x), est le nombre de coordonnées non nulles dans x

Exemple1: x=10110 le poids du mot de code x est: w(x)=3

• distance de Hamming: La distance de Hamming d(x,y)entre deux mots de codes x et y


est le nombre de positions de coordonnées qui diffèrent entre x et y. On a par
conséquent d(x,y)=w(x+y) car dans la somme (x+y), on obtient un "1" sur un rang donné
à chaque fois que les éléments binaires sommés sont différents.

Exemple : x=(10110) y=(11011) la distance de Hamming est: d(x,y) =3

• distance minimale : nombre minimal de symboles différents d’un mot à l’autre


(“distance” d’un mot à l’autre).

Exemple : Soit C= {c0= 00000, c1= 01110, c2= 10011, c3= 11101}
Le poids des mots est respectivement 0, 3, 3 et 4
d(c1, c2) = 4 d(c1, c3) = 3 d(c2, c3) = 3
Donc la distance minimale du code est 3

• Taux du code : R = k / n

4. Code de Hamming:

Méthode (1):
• Structure d’un mode de code de Hamming :

les k bits du message codé à transmettre et les m bits de contrôle de parité.


longueur totale : n=2m −1
longueur du message : k = (2m −1) −m, alors :

• Exemple de code de Hamming :

un mot de code 7−4 a un coefficient d’efficacité de 4/7 = 57 %,


un mot de code 15−11 a un coefficient d’efficacité de 11/15 =73 %,
un mot de code 31−26 a un coefficient d’efficacité de 26/31 =83 %,
• Les bits de contrôle de parité Ci sont en position 2i pour i=0, 1, 2,...

• Les bits du message Dj occupe le reste du message.

Dr. L. SALAH Née DEKKICHE |UDL: Année Universitaire:2015-2016 26


• Retrouver l’erreur dans un mot de Hamming :

Si les bits de contrôle de réception C2’ C1’ C0’ valent 0, il n’y a pas d’erreurs sinon
la valeur des bits de contrôle indique la position de l’erreur entre 1 et 7.
Si C0’ vaut 1, les valeurs possibles de C2’ C1’ C0’ sont 001, 011, 101,111, c’est-à-dire
1, 3, 5,7.
Si C1’vaut 1, les valeurs possibles de C2’ C1’ C0’ sont 010, 011, 110,111, c’est-à-dire
2, 3, 6, 7.
Si C2’vaut 1, les valeurs possibles de C2’ C1’ C0’ sont 100, 101, 110,111, c’est-à-dire
4, 5, 6, 7.
Donc : Il s’agit là des positions possibles pour une erreur.

• Émission pour un contrôle de parité pair :

C0 est calculé par rapport aux bits d’indice 7, 5, 3 et sa valeur 1.


C1 est calculé par rapport aux bits d’indice 7, 6, 3 et sa valeur 2.
C2 est calculé par rapport aux bits d’indice 7, 6, 5 et sa valeur 4.
• On souhaite envoyer le message 1010, compléter le mot de Hamming correspondant :

• C2 vaut 0 pour pouvoir rendre pair 1+0+1 (les bits d’indices 7,6, 5)

• C1 vaut 1 pour pouvoir rendre pair 1+0+0 (les bits d’indices 7,6, 3)

• C0 vaut 0 pour pouvoir rendre pair 1+1+0 (les bits d’indices 7,5, 3)

Dr. L. SALAH Née DEKKICHE |UDL: Année Universitaire:2015-2016 27


Méthode (2):
Soit le code C(7,4), la matrice P (constituée par les postions du message en
binaire) est donnée par:

1 1 1
1 1 1 0
1 1 0
= é é = 1 1 0 1
1 0 1
1 0 1 1
0 1 1

On définit la matrice génératrice par: G=[P Ik] tels que Ik est la matrice identité de
dimension k

La matrice de contrôle est donnée par: H=[PT In-k] tels que In-k est la matrice
identité de dimension n-k

Le mot de code est ainsi définit par la relation: code=mod((message*G),2)

Pour détecter et corriger l'erreur on calcul le syndrome donné par:


syndrome=mod((code*HT),2)

Si le syndrome est nul alors pas d'erreur sinon l'erreur est indiquée à la position
indiquée par le syndrome en décimal

Dr. L. SALAH Née DEKKICHE |UDL: Année Universitaire:2015-2016 28


Chapitre(5)

Introduction au codage de canal

1. Définition:
Le principe de base du codage de canal consiste à remplacer le message à transmettre par un
message plus long qui contient de la redondance. Sans redondance, chaque donnée du message
est indispensable à la compréhension du message entier. Toute erreur dans une partie du message
est donc susceptible de changer la signification du message. L'objectif de la redondance est de
faire en sorte que les erreurs ne compromettent pas la compréhension globale du message.

Du fait de l'adjonction d'une redondance, le message effectivement transmis est plus long.
Un code se caractérise par son rendement R. Si le codeur génère n bits à partir de k bits
d'information, le rendement R vaut k/n.

Les données générées par le codeur sont appelées des symboles. Lors du décodage, les
symboles reçus peuvent être des bits ou des mots binaires. Dans le premier cas, le système est
dit à décision dure (Hard decision), dans le second à décision douce (soft decision). Un système
à décision douce présente de meilleures performances qu'un système à décision dure.

Il y a deux grandes familles de code.

A. le codage en bloc. Le message décomposé en blocs de k bits, est remplacé par un bloc
de n bits comprenant directement les k bits d'information et n-k bits de redondance
calculés à partir des bits d'information, le codage d'un bloc se faisant indépendamment
des précédents. on peut citer le code de Hamming vu dans le 4ième chapitre comme
exemple d'un codage en bloc.

Exemple:

La matrice génératrice G d'un code est donnée par:

1 0 0 0 0 1 1 1
0 1 0 0 1 1 1 0
=
0 0 1 0 1 1 0 1
0 0 0 1 1 0 1 1

On veut coder la séquence 010110010111 en utilisant le codage de Hamming. La


séquence se décompose tout d'abord en blocs de taille 4: 0101 1001 0111 qui sont
chacun codés par G:

Le code de 0101 est 0101*G = 01010101

Le code de 1001 est 1001*G = 10011100

Le code de 0111 est 0111*G = 01111000

Et donc la séquence 010110010111 sera codée: 010101011001110001111000


Dr. L. SALAH Née DEKKICHE |UDL: Année Universitaire:2015-2016 29
B. Le codage convolutif::

B.1. Principe:
Les codes convolutifs forment une classe extrêmement souple et efficace de codes
correcteurs d’erreur. Ce sont les codes les plus utilisés dans les communications fixes et
mobiles.

Les codes convolutifs ont les mêmes caractéristiques que les codes en bloc sauf qu’ils
s’appliquent à des séquences infinies de symboles d’information et génèrent des séquences
infinies de symboles de code.

B.2. Encodeurs:

Le codeur qui engendre un code convolutif comporte un effet de mémoire : c'est-à-dire


que lee mot code ne dépend pas que du bloc de k symboles entrant, mais aussi des m mots de code
qui l’ont précédé, stockés dans un registre.

Théorème fondamental du codage de canal:


canal

La complexité du codeur est nécessaire à l’obtention de bonnes performances


H(X)<=C,, tel que H(X) est l'entropie de la source X et C la capacité du canal

Pour les codes en bloc : n et k doivent être grands

Pour les codes convolutifs : il suffit que m soit grand

B.3. Les propriétés:

Le rendement du code est : R=k/n


La longueur de contrainte du code est : (m+1)*k
Linéarité : les mots de code associés à une combinaison linéaire de séquences d’entrée
correspondent à la combinaison linéaire des mots de code de chacune des ces séquences.
Stationnarité : Lorsqu’un message source, décalé dans le temps, est envoyé sur
l’encodeur, on doit retrouver à la sortie, le mot de code correspondant décalé de la même
manière dans le temps.
Dr. L. SALAH Née DEKKICHE |UDL:
UDL: Année Universitaire:2015-2016 30
Code convolutif systématique : Les bits du message d'information et les bits de contrôles
sont séparés
Code convolutif non systématique : Les bits du message d'information et les bits de
contrôles sont mélangés

B.4. Exemple:

Exemple de codeur convolutif :

B.5. les distances dans les codes convolutifs:

La distance libre est la borne inférieure des distances de Hamming entre toutes les
séquences de sortie du codeur.
La distance minimale est la plus petite distance entre des chemins partant du même
point et y revenant.

B.6. Les représentations des codes convolutifs:

Représentations numériques :

Transformée en D:
x 1j = s j + s j− 2
x 2j = s j + s j−1 + s j− 2
Soit en transformée en Z:

!" #
= 1+ ∗ #
!" #
"
= 1+ !
+ ∗ #

On remplace souvent Z-1 par D, on aura donc:

= 1 + %" # ∗ %#
"
= 1 + % + %" # ∗ %#

Dr. L. SALAH Née DEKKICHE |UDL: Année Universitaire:2015-2016 31


Donc: & %# = 1 + %" 1 + % + %" #

Matrice de transfert:

• La matrice de transfert donne la relation entrée-sortie sous forme matricielle. On l’écrit


pour chaque étage de sortie.

Pour la kième sortie : j j −1 ...

et ( )
i
'
s ..... ..... .....
• La ième ligne donne la relation entre  
et ( )*
' si+1 ..... ..... .....
La (i + 1)ème ligne donne la relation entre
..... .....
La 1ère colonne correspond à l’instant j, ...  .....
La 2ème colonne correspond à l’instant (j – 1) …

• La matrice de transfert globale est la concaténation des matrices précédentes. Elle a k


×n colonnes.
lignes et (m+1)×

Exemple:

Représentations graphiques :

Chaque bloc de n éléments binaires en sortie du codeur dépend :


Du bloc de k éléments binaires présents à son entrée ;
Des m blocs de k éléments binaires contenus dans sa mémoire.
Ces m.k éléments binaires définissent l’état du codeur.

Dr. L. SALAH Née DEKKICHE |UDL: Année Universitaire:2015-2016 32


Diagramme d’état:

On note sur le tableau suivant les 04 états possibles correspondants aux 02 registres à
décalages:

a b c d
00 10 01 11

a:00 b=10 c=01 d=11

Un bit Etat Etat suivant Les 02 bits


d'être actuel de sorties

0 00 a 00 a 00

1 00 a 10 b 11

0 10 b 01 c 01

1 10 b 11 d 10

0 01 c 00 a 11

1 01 c 10 b 00

0 11 d 01 c 10

1 11 d 11 d 01

Seules deux transitions sont possibles à partir de chacun des états.


Les étiquettes de chaque branche correspondent aux sorties du codeur.

Dr. L. SALAH Née DEKKICHE |UDL: Année Universitaire:2015-2016 33


Arbre: Développement du diagramme d’état en fonction du temps discrétisé

Les conventions adoptées :


Le temps s’écoule de la gauche vers la droite
Lorsque l’élément binaire d’entrée du codeur est égal à ‘0’ (resp. ‘1’), le couple
binaire en sortie du codeur est porté par la branche supérieure (resp. inférieure).
Les branches se séparent en un point appelé nœud. Chaque nœud donne naissance à 2k
branches.
Quelque soit l’état initial du codeur, après (m + 1) décalages à l’entrée du codeur, tous
les états du codeur peuvent être atteints.

Dr. L. SALAH Née DEKKICHE |UDL: Année Universitaire:2015-2016 34


Treillis:

Les conventions adoptées :


Lorsque l’élément binaire d’entrée du codeur est égal à ‘0’ (resp. ‘1’), le couple
binaire en sortie du codeur est porté par la branche rouge (resp. verte).
De chaque nœud partent 2 k branches.
En chaque nœud convergent 2k branches.
Les étiquettes de chaque branche correspondent aux sorties du codeur.

Dr. L. SALAH Née DEKKICHE |UDL:


UDL: Année Universitaire:2015-2016 35
Dr. L. SALAH Née DEKKICHE |UDL: Année Universitaire:2015-2016 36
TD n°1

Exercice 1 :
Lors de la transmission par un canal, nous souhaitons récupérer l'information sans distorsion, autrement
dit, l'alphabet de sortie du canal doit être le même que celui de l'entrée. Simplifions encore l'exemple à un
canal qui doit transmettre des messages. Si nous appelons p la probabilité d'erreur nous pouvons
schématiser le fonctionnement du canal par le graphe suivant :

Les sources :

Entrée X d'alphabet {x1 = 0, x2 = 1} et p(x1) = p (x2) = 1/2 (caractères équiprobables).

Sortie Y d'alphabet {y1 = 0, y2 = 1} et p (y1) = ? p (y2) = ?

1. Calculer les probabilités conditionnelles p (y/x) à partir du graphe.


2. Calculer les probabilités jointes entre les deux sources à partir de la loi de Bayes : p(x, y) = p
(y/x).p(x)
3. Calculer les probabilités marginales de la source Y à partir des probabilités jointes
4. Calculer les probabilités conditionnelles p(x/y) à partir de la loi de Bayes : p(x/y) = p(x, y) / p(y)
5. Calculer la quantité d'information d'un caractère
6. Calculer l’entropie de chaque source
7. Calculer l’entropie jointe
8. Calculer l’entropie conditionnelle moyenne
9. Calculer la quantité d'information mutuelle à partir de l'entropie jointe puis à partir de l'entropie
conditionnelle moyenne H (Y /X)
10. Interpréter les résultats pour p=0, p=1/2 et p=1

Exercice 2 :
Une pièce équilibrée est lancée. Quelle est l’information mutuelle entre la face d’en haut et celle qui est
en bas ?

Dr. L. SALAH Née DEKKICHE |UDL: Année Universitaire:2015-2016 37


TD n°2

Exercice (1): Soit les canaux dont les matrices de transition sont :

Est ce que ces canaux symétriques?

Exercice (2): Calculer la capacité d'un canal binaire symétrique

Exercice (3): On considère le canal à quatre entrées et cinq sorties:

1. Montrer que ce canal est symétrique.

2. Calculer sa capacité.

Exercice (4):

1. Calculer les capacités des canaux C1 et C2 ci-dessus.


2. Déduire du la capacité du canal résultant de la mise en cascade de C1 et C2 obtenue en reliant
les sorties α et β du canal 1 aux entrées correspondantes α et β du canal 2.

Dr. L. SALAH Née DEKKICHE |UDL: Année Universitaire:2015-2016 38


TD n°3

Exercice 1 :
Pour chacun des codes suivants, dire si le code est instantané et s’il est non-ambigu. Si le code est
instantané, dessiner son arbre de codage. Si le code est ambigu, donner une séquence de mots de code
ayant au moins deux interprétations.

1. z1=00, z2=10, z3=01, z4=11


2. z1=0, z2=10, z3=11
3. z1=0, z2=1, z3=01
4. z1=0, z2=01, z3=11

Exercice 2:
Soit la source :

que l’on code à l’aide du code suivant :

1. Est-ce un code instantané ?


2. Est-il optimal ?
3. Coder 0312201.
4. Décoder 1001101010.

Exercice 3:
Pour chacun de ces codes, indiquer (en justifiant) s’il est régulier (R), déchiffrable (D), instantané (I),
complet (C) :

Dr. L. SALAH Née DEKKICHE |UDL: Année Universitaire:2015-2016 39


Exercice 4: Soit U la source :

1. Quelle est l’entropie de la source ?


2. Considérez le code binaire « standard » sur 3 bits :

Est-ce un code instantané ?


Est-il complet ?
Quelle est sa longueur moyenne ?

3. Mêmes questions pour un code binaire tel que :

Exercice 5: codage de Huffman


Un texte est écrit à l’aide des lettres a, b, c, d, e, f et g. Le nombre d’occurrences de chacune des lettres est
indiqué dans le tableau ci-dessous :

Il s’agit d’utiliser l’algorithme de Huffman pour déterminer un codage binaire (avec les chiffres 0 et 1) de
chacune des sept lettres de façon à coder le texte de la manière la plus compacte possible, c’est-à-dire de
façon que le nombre total de 0 et de 1 soit minimum.

1. Déterminer le codage d’Huffman associé à ces données.


2. Calculer la longueur moyenne du code obtenu.
3. Calculer l’entropie du message
Exercice 6:
Soit la distribution probabiliste suivante pour les dix caractères représentant les chiffres décimaux :

1. Etablir manuellement un code de Huffman pour cette distribution en expliquant votre démarche.
2. Donner la longueur moyenne de codage d'un chiffre du message.

Exercice 7: Compression par codage arithmétique


Le codage de HUFFMAN présente certains défauts (malgré son optimalité théorique). Le codage
arithmétique permet de s'affranchir de ces limites et, par exemple, de coder les symboles sur un nombre

Dr. L. SALAH Née DEKKICHE |UDL: Année Universitaire:2015-2016 40


non-entier de bits. Ceci parait à première vue surprenant; considérons donc un exemple pratique: la
chaîne "compressee"

Etablir la représentation arithmétique du message "compressee" en utilisant le codage


arithmétique.

Exercice 8 : Une source émet des lettres à partir d’un alphabet A = (a1; a2; a3) avec des probabilités
P(a1) = 0.2, P(a2) = 0.3 et P(a3) = 0.5. Donner l’étiquette (à valeur réelle) de la séquence a1a1a3a2a3a1.

Dr. L. SALAH Née DEKKICHE |UDL: Année Universitaire:2015-2016 41


TD n°4

Exercice 1 : On veut envoyer le mot 1011, quels bits, doit-on lui adjoindre si on considère le
code hamming et quelle séquence transmettra-t-on alors?

Exercice 2 : Y a-t-il une erreur dans le mot suivant ? 1101101

Exercice 3 : Soit un mot de Hamming de longueur 15

Quels sont les bits de contrôle de parité ?


Quel est le message reçu ?
Est-ce que le message reçu correspond au message transmis ?
Si oui, quel a été le message transmis ?

Dr. L. SALAH Née DEKKICHE |UDL: Année Universitaire:2015-2016 42

Вам также может понравиться