Vous êtes sur la page 1sur 8

Codes correcteurs d’erreurs

Techniques du codage canal


TP-1
CODAGE DE SOURCE
Objectif du TP : Compression et décompression d’une séquence numérique, en utilisant les
algorithmes de Huffman et Arithmétique. Comparaison de l’efficacité des deux algorithmes
en matière de compression.
Considérant l’alphabet de la source Alpha={1, 2, 3} et la séquence à compresser :
Seq=3313333323.
1. Utiliser les fonctions Matlab (correspondant à l’algorithme de compression de Huffman)  :
o huffmandict
o huffmanenco
Pour compresser la séquence des symboles numériques Seq.
2. Utiliser la fonction Matlab :
o huffmandeco
Pour décompresser la séquence binaire fournie par le compresseur du Huffman.
Théorie de l'Information 1
Codes correcteurs d’erreurs

Techniques du codage canal


TP-1
CODAGE DE SOURCE
3. Comparer la taille initiale de la séquence (1 octet pour chaque symbole) avec la taille du
code fourni par le compresseur de Huffman.
4. Utiliser la fonction Matlab (correspondant à l’algorithme Arithmétique)  :
o arithenco
Pour compresser la séquence des symboles numériques Seq.
5. Utiliser la fonction Matlab :
o arithdeco
Pour décompresser la séquence binaire fournie par le compresseur Arithmétique.
6. Comparer la taille initiale de la séquence (1 octet pour chaque symbole) avec la taille du
code fourni par le compresseur Arithmétique.
7. Donner des constations sur l’efficacité de ces deux algorithmes en compression de la
séquence.

Théorie de l'Information 2
Codes correcteurs d’erreurs

Techniques du codage canal


TP-2.1
CODAGE DE SOURCE
Objectif du TP : A partir d'un texte donné, vous devrez créer un script permettant de
calculer la fréquence (d'apparition), la probabilité (d'apparition) et l'information propre
correspondant aux symboles de l'alphabet de la source. Le script doit comprendre
également un code matlab permettant le calcul de l’entropie de la source.

Considérant l’alphabet de la source Alpha={espace, a, b, c, d, e, f, g, h}. Soit le texte à


compresser par un algorithme de compression est "a bccd aeffhg ga".
Ecrire un code Matlab permettant de faire les tâches suivantes :
1. Calcul de la fréquence d'apparition des caractères
2. Calcul des probabilités d'apparition des caractères
3. Calcul de l'information propre associée à chaque caractère
4. Calcul de la probabilité totale
5. Calcul de l'entropie
Théorie de l'Information 3
Codes correcteurs d’erreurs

Techniques du codage canal


TP-2.2
CODAGE DE SOURCE

Considérant le même énoncé du TP-2.1. Ecrire un code Matlab permettant de réaliser


seulement les tâches suivantes :

1. Calcul d’un vecteur P dont les éléments sont les probabilités d'apparition des caractères

2. Calcul de la probabilité totale PT (Noter que, le calcul doit être effectué sans
exploitation des données du vecteur P).

3. Si la valeur de la probabilité totale est égale à 1, un calcul de l'entropie doit être


effectué. En outre, si la valeur de la probabilité totale est différente à 1, un message
d’erreur devra signaler que la valeur de la probabilité totale doit être égale à 1.

Théorie de l'Information 4
Codes correcteurs d’erreurs

Techniques du codage canal


TP-3
CODAGE DE SOURCE

Objectif du TP : compression et décompression d’un texte, en utilisant l’algorithme de


Huffman.

Considérant l’alphabet de la source Alpha={espace, a, …, h}. Ecrire un code Matlab


permettant de faire les tâches suivantes :

1. Message demandant la saisie du texte à coder en respectant les caractères de


l’alphabet considéré. La chaîne de caractères saisie par l’utilisateur dans la
console doit être affectée automatiquement à la variable text.

2. Calcul du vecteur correspondant aux probabilités d'apparition des caractères de


l’alphabet dans le texte.

3. Affichage d’un message d’erreur au cas où la probabilité totale est différente de 1.


Théorie de l'Information 5
Codes correcteurs d’erreurs

Techniques du codage canal


TP-3
CODAGE DE SOURCE
4. Calcul de l’information propre (quantité d’information).

5. Affichage des mots du code correspondant à chaque caractère de l'alphabet considéré


(la fonction qui sera utilisée est : huffmandict).
6. Encodage du texte par utilisation de la fonction huffmanenco.
7. Décodage de la séquence binaire reçue par le décodeur de Huffman en utilisant la
fonction huffmandeco.
8. Calcul de l'entropie de la source.
9. Calcul de la longueur moyenne du code avec affichage d’un message d’erreur si la
valeur d’entropie est plus grande que celle de la longueur moyenne du code.
10. Calcul de l'efficacité et la redondance du code
11. Calcul du taux et du gain de compression.
Théorie de l'Information 6
Codes correcteurs d’erreurs

Techniques du codage canal


TP-3
CODAGE DE SOURCE
12. Créer un script permettant de (ou modifier le script déjà créé pour) traiter n’importe quel
texte constitué des symboles constituant l’alphabet : Alph={Espace, a, …, z}. Noter
que:

● Les symboles sont des lettres de ‘a’ à ‘z’ minuscules plus le caractère ‘Espace’.

● Si un texte ne contient pas tous les symboles de l’alphabet, la fonction


huffmandict va tenir compte les symboles qui n’apparaissent pas dans le
message (ce qui implique une structure d’arbre de Huffman complexe et taille
du code importante) et cela va provoquer une fausse compression puisque
cette fonction ne doit recevoir que l’alphabet formé par les symboles
apparaissant dans le message.
Théorie de l'Information 7
Codes correcteurs d’erreurs

Techniques du codage canal


TP-3
CODAGE DE SOURCE

13. Créer un script permettant de (ou modifier le script déjà créé pour) traiter n’importe
quel texte constitué de n’importe quels symboles. Noter que vous devrez créer une
fonction permettant de déterminer l’alphabet associé au texte afin de l’utiliser dans
la fonction huffmandict . À la fin du script, intégrer un code Matlab permettant de
signaler que le résultat fourni par la sortie du décodeur est similaire (ou différent) au
texte inséré à l’entrée du codeur.

Théorie de l'Information 8