Академический Документы
Профессиональный Документы
Культура Документы
Licence Télécommunications
CODAGE ET THÉORIE DE
L’INFORMATION
UEF 3.2.2
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.
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 notée I est une fonction qui doit ainsi avoir les propriétés suivantes:
Une fonction mathématique qui remplit les conditions 1, 3 et 4 n’est autre que : log(pk).
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
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:
Exemple: source binaire avec deux symboles "0" et "1" de probabilités respectives p et 1-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:
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 :
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 :
Nous pouvons aussi définir à partir des densités de probabilité conditionnelles une
quantité d'information conditionnelle:
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 :
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
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
Canal de Transmission
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.
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.
Remarque:
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.
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
Dans ce cas, la capacité est nulle et est atteinte quelle que soit la loi de probabilité à l'entrée.
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.
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:
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:
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 :
Exemple:
Pour avoir un codage sans erreur, une source x doit étre codée en moyenne avec au moins H(X)
bits d'où:
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:
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é.
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 code préfixe est un code dont les symboles codés sont des feuilles
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.
Si l'alphabet à coder contient K symboles auxquels sont attribués des codes de longueur
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) :
Limite basse:
Limite haute:
Nous venons de voir que la limite basse est théoriquement atteinte par un choix astucieux des {
nk } tels que :
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 :
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
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.
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;
exemple (1):
Prenons l'exemple du code II du paragraphe 4.1 (code préfixe) dont l'arbre est pris en exemple
ci-dessus:
exemple (2):
Pour transmettre 100 lettres en ASCII : 800 bits, avec ce code il faut en moyenne 213 bits.
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).
Algorithme :
2. Séparer les symboles en deux groupes de probabilités les plus proches possibles.
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.
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 :
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 :
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.
Compression :
1. Nous disposons d'un dictionnaire initial de 256 caractères ASCII numérotés de 0 à 255.
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.
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.
04C04505302005004104710302004402704904D10710910B04F05210F053
En ASCII, les données codées sur 8 bits occupent 27*8 = 216 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 :
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).
• n : nombre de bits d’un mot (bits de contrôle (m) + bits d’information (k))
• k : nombre de bits d’information
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 :
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.
• 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)
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
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
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.
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:
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
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:
B.4. Exemple:
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.
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+ !
+ ∗ #
= 1 + %" # ∗ %#
"
= 1 + % + %" # ∗ %#
Matrice de transfert:
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) …
Exemple:
Représentations graphiques :
On note sur le tableau suivant les 04 états possibles correspondants aux 02 registres à
décalages:
a b c d
00 10 01 11
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
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 :
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 ?
Exercice (1): Soit les canaux dont les matrices de transition sont :
2. Calculer sa capacité.
Exercice (4):
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.
Exercice 2:
Soit la source :
Exercice 3:
Pour chacun de ces codes, indiquer (en justifiant) s’il est régulier (R), déchiffrable (D), instantané (I),
complet (C) :
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. 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 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.
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?