Vous êtes sur la page 1sur 2

FSE – L3

COMMUNICATIONS NUMERIQUES Jan 2010


TP N°3: Compression de l’information par codage de Huffman D. Achvar

Programme Les élèves sont conduits à manipuler les notions relatives à la mesure de l’information et à
de la séance l’application de la méthode de Huffman pour le codage et la compression de données..

Modalités de
Les fragments de programmes nécessaires à la conduite de nos expériences sont disponibles sur
déroulement
Campus.

I. MESURE DE L’INFORMATION. ENTROPIE.

La quantité d’information véhiculée lors d’une communication numérique est étroitement liée à la nature
statistique de la source. La mesure mathématique de l’information doit prendre en considération la fréquence
d’apparition (probabilité d’occurrence) de chaque symbole en respectant les conditions suivantes :

• La quantité d’information contenue dans chaque symbole est inversement proportionnelle à sa certitude.
• La quantité d’information associée à des données statistiquement indépendantes est additive.

RAPPELS ET Q0*.On considère un alphabet de M symboles que nous notons


DEFINTIONS xi, avec 1≤ i ≤M. Chaque symbole xi apparaît avec une  1 
I( x i ) = log m   = − log m (p i )
probabilité pi=P(xi)  pi 
4 pts • Vérifier qualitativement que le contenu informatif de
chaque symbole xi peut alors être mesurée par une M


grandeur de la forme de I(xi), définie ci contre.
Nous définissons l’entropie associée à cet alphabet de M
H( X) = − ∑ p . log
i =1
i m (p i )

symboles par H(X). Comparer cette grandeur au contenu


informatif moyen (espérance mathématique des Ii) associé Définitions :
Quantité d’information et entropie
à cet alphabet.

OBSERVATION Q1. Saisir le code ci-contre dans l’éditeur de MATLAB et


D’UNE DENSITE procéder à son exécution.
DE PROBABILITE
• Quelle est la fonction réalisée par hist(x,h) à la ligne 10 ?
• Relever la sortie de ce programme pour L=1, 2, 3 et 4 en
définissant les axes.
• Quelle est la nature de la séquence de symboles générées ? Frag1 : Génération et observation

MESURE Q2. Compléter le premier programme avec celui qui est


D’ENTROPIE indiqué ci-contre.
4 pts • Quelle est le contenu de P à l’issu de l’exécution de frag2 ?
• Compléter la ligne 21 pour calculer la quantité
d’information associée à chaque symbole ainsi que
l’entropie de l’alphabet généré. Frag2 : Génération et observation
• Justifier le choix de la base 2 pour le calcul du logarithme.
• Relever les valeurs de H pour L=1, 2, 3 et 4. Commentaires. Validation Q0 et Q2.

1
II. CODAGE DE HUFFMAN

Il s’agit d’un codage à longueur variable, analogue au Morse, qui attribue aux symboles les plus redondants
des mot-codes de petites tailles, comprimant ainsi le volume des informations à transmettre.

PROGRAMMATION Q3. Nous nous intéressons au codage de la source z comme celle


D’UNE SOURCE programmée par la ligne 29 de frag3.
• Compléter et exécuter ce programme. Comparer P et Pz.
• Quelle est la nature statistique de la source générée ?
4 pts
• Compléter la ligne 43 afin de calculer la quantité
d’information associée à chaque symbole ainsi que
l’entropie de la source.
• Comparer l’entropie des deux sources x et z. Commentaires.
Frag3 : Programmation d’une source.

CODAGE ET Q4. Le codage et le décodage sont réalisées à l’aide des fonctions


COMPRESSION huffmanco et huffmandeco de MATLAB comme cela est
illustré avec frag4.
• Relever et commenter toutes les sorties de frag4 dans la
4 pts
fenêtre de commande.
• Reporter les symboles, leur code ainsi que la longueur de chaque
code dans l’ordre décroissant de la probabilité des symboles dans
le tableau .xls fourni en ligne. Justifier la valeur de LMoyz. Frag4 : Codage et décodage
• En déduire le degré de compression appliqué à cette source.
• Construire l’arborescence de Huffman sur le même tableau xls.
• Justifier le codage obtenu plus haut. Validation.

4 pts Q5. Recommencer l’expérience du codage pour la source x.


• Quelle est la longueur moyenne du mot-code ?
• Conclure sur l’intérêt de ce type de codage pour une source équirépartie.

POUR EN [1] http://cermics.enpc.fr/polys/info1/main/node76.html#f-huffman


SAVOIR PLUS [2] http://fr.wikipedia.org/wiki/Codage_de_Huffman
[3] http://en.wikipedia.org/wiki/Shannon-Fano_coding

Vous aimerez peut-être aussi