Vous êtes sur la page 1sur 5

ESEN 2014/2015 Mastère Web Intelligence

Exercice 0 :

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 :

Source d'entrée X Source de sortie Y


Alphabet : { 0 , 1 } Alphabet : { 0 , 1 }
1-p
0 0
p
p
1 1
1-p

Ici c'est celui d'un canal dit "binaire symétrique" et il a la signification suivante:

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" }

Probabilités conditionnelles p( y/x ): c'est une donnée du graphe.


p( y1/x1 ) =
p( y2/x2 ) =
p( y2/x1 ) =
p( y1/x2 ) =

Probabilités jointes entre les deux sources : calculées avec la loi de Bayes p( x , y ) = p( y/x ).p( x )
p( x1 , y1 ) =
p( x2 , y1 ) =
p( x1 , y2 ) =
p( x2 , y2 ) =

2
Probabilités marginales de la source Y : calculées à partir des probabilités jointes p( y j ) = ∑ p( xi , y j )
i =1
p( y1 ) =
p( y2 ) =

Probabilités conditionnelles p( x/y) : calculées à partir de la loi de Bayes p( x/y ) = p( x , y ) / p( y ) en


utilisant le résultat précédent.
p( x1/y1 ) =
p( x1/y2 ) =
p( x2/y1 ) =
p( x2/y2 ) =

Quantité d'information d'un caractère :


I( x1 ) =

Thééorie de l’information : TD -1- R. Rhouma


ESEN 2014/2015 Mastère Web Intelligence

I( x2 ) =
I( y1 ) =
I( y2 ) =

Entropie de chaque source:


H( X ) =
H( Y ) =

Entropie jointe: H( X , Y )

Entropie conditionnelle moyenne:


1
H ( Y/X ) = ∑ p( x i ) ∑ p( y j / xi ) log
i j p( y j / xi )

H( X /Y ) =

Quantité d'information mutuelle: I( X , Y )

Exercice 1
Soit une source décrite par la variable aléatoire X qui peut prendre 6 valeurs {A, B, C, D, E, F} avec les
1 2 3 4 5 6
probabilités  , , , , , 
 21 21 21 21 21 21
1°) Construire un code de Huffman binaire pour X. (le dessin de construction de codes)
2°) Tracer l’arbre du code finale (verticalement).
3°) Donner finalement les codes de chaque symbole de X.
4°) Calculer l’entropie H(X) de ce code.
5°) Calculer la longueur moyenne de ce code.
6°) Calculer l’efficacité de ce code.
7°) Calculer le rapport de compression entre le code de Huffman et le code ASCII (version 8 bits) pour
cette exemple.
8°) Refaire le codage en appliquant le code de Fano-Shannon.
9°) Comparer les 2 codes (Huffman et Fano-Shannon) en terme d‘efficacité. En déduire le code le plus
performant des deux pour cet exemple.

Exercice 2
Soit une source décrite par la variable aléatoire X qui peut prendre 7 valeurs
1 2 3 4 5 6 7
X= {A, B, C, D, E, F, G} avec les probabilités  , , , , , , 
 28 28 28 28 28 28 28 
1°) Construire un code de Huffman binaire pour X. (le dessin de construction de codes)
2°) Tracer l’arbre du code finale (verticalement).
3°) Donner finalement les codes de chaque symbole de X.
4°) Calculer l’entropie H(X) de ce code.
5°) Calculer la longueur moyenne de ce code.
6°) Calculer l’efficacité de ce code.

Thééorie de l’information : TD -2- R. Rhouma


ESEN 2014/2015 Mastère Web Intelligence

7°) Calculer le rapport de compression entre le code de Huffman et le code ASCII (version 8 bits) pour
cette exemple.
8°) Refaire le codage en appliquant le code de Fano-Shannon.
9°) Comparer les 2 codes (Huffman et Fano-Shannon) en terme d‘efficacité. En déduire le code le plus
performant des deux pour cet exemple.

Exercice 3

Soit un code C, avec matrice de check de parité H, de la forme :


1 0 0 1 0
 
H = 0 1 0 1 1
0 0 1 0 1
 

1. Déterminer les paramètres (n, k) de C.


2. Est-ce que les messages suivants sont des mots de code de C ?
m1 = (11101)
m2 = (11010)

3. Déterminer une matrice génératrice G de C.


4. Lister tous les mots de C.
5. Déterminer la distance minimale de C par trois méthodes.

Exercice 4
Soit le code cyclique de longueur 7 généré par le polynôme g(x) :
g(x) = 1 + x2 + x3

1. Quelle est la dimension de ce code ?


2. Donner une matrice génératrice G*.
3. Trouver la matrice génératrice sous forme systématique,
4. Déduire une matrice de contrôle H de ce code.
5. Le mot Cm = (1 0 1 1 1 0 0) est-il un mot de code ?
6. Comment peut-on vérifier que g(x) génère un code cyclique de longueur 7 ?
7. Soit le message m = [1 1 0 1]. Générer son mot de code en utilisant g(x).
8. Soit le mot de code reçu Ym(x)= x5 + x3 taché d’éventuelles erreurs. Décoder le et donner le
message information binaire correct m*.

Exercice 5

1. Vérifier que x 2 + x + 1 divise x 6 + 1


2. Faire la liste des mots du code cyclique de longueur 6 ayant pour polynôme générateur x 2 + x + 1
3. Donner une matrice génératrice G*.
4. Trouver la matrice génératrice sous forme systématique,
5. Déduire une matrice de contrôle H de ce code.
6. Quelle est la distance de Hamming de ce code ?

Exercice 6

Thééorie de l’information : TD -3- R. Rhouma


ESEN 2014/2015 Mastère Web Intelligence

1°) Rappeler les propriétés d’un code cyclique systématique. Pour un tel code de type (n,k)
préciser le nombre de bits du message, le nombre de bits de contrôle et le nombre de bits du mot de code
généré. En appelant {ci} les bits du mot de code, {mj} les bits du message et {bm} les bits de contrôle,
indiquer clairement sur l’exemple d’un code (6,2) comment sont générés les bits {ci}à partir des bits {mj}
et {bm}. On précisera la place de ces bits dans le mot de code ainsi que la position des poids faibles et des
poids forts. Cette convention sera celle que vous devrez utiliser dans toute la suite de l’exercice.

2°) Pour générer un code cyclique systématique (6,2) on sait que :


X6+1 = (1+X2) (1+X+X2) (1+X+X2)
2.a Quels sont tous les messages possibles ?
2.b Quels sont les polynômes générateurs possibles du code? On choisira celui qui
comporte le moins de termes.
2.c Pour tous les messages possibles calculer les bits de contrôle et en déduire les mots de
code correspondants. Le résultat final sera porté dans un tableau.

3°) détection et correction des erreurs


3.a Qu’est-ce que le syndrôme d’erreur ? Comment le calcule –t-on ? Combien de bits
comporte-t-il ? Effectuer ce calcul pour une erreur simple sur tous les bits du mot de code transmis. Le
résultat devra lui aussi être reporté dans un tableau.
3.b A la réception du mot de code 010111 quel sera le syndrôme calculé ?
3.c Quels seront les syndrômes calculés à la réception des mots de codes 111000 et
010010 ? Que déduisez-vous de ce résultat ?

Exercice 7
1°) Un code de convolution est généré avec les trois polynômes :
• g1(X)= 1+X2
• g2(X)= 1+X
• g3(X)= 1+X+X2
l’entrelacement étant effectué dans l’ordre 1,2,3.

1.a Faire un schéma de principe représentant la génération de ce code.

1.b Quelle est la contrainte de longueur minimale K du code ? Si le message est de


longueur L, quelle sera la longueur du mot de code généré ?

1.c Avec la convention [poids faible……poids fort] quel sera le mot de code généré par cet
encodeur pour un message [1011] ?

2°) Approche graphique :

2.a Etablir la table de vérité de l’encodeur :


[mk mk-1 mk-2] [g1(0) g1(1) g1(2)] [g2(0) g2(1) g2(2)] [g3(0) g3(1) g3(2)]

2.b Tracer l’arbre du code. Quel est le nombre d’états différents intervenant ?

2.c Tracer le treillis correspondant.

2.d Tracer le graphe d’état correspondant.

Thééorie de l’information : TD -4- R. Rhouma


ESEN 2014/2015 Mastère Web Intelligence

2.e Avec l’un de ces graphes, vérifier le résultat de l’encodage du 1.c.

3°) Décodage

3.a On cherche à détecter les mots de code transmis. Citer un algorithme permettant de
réaliser ce décodage. Quel est son principe de base?

3.b On reçoit le mot de code [111 110 110 010 011 101] ([premier bit
transmis………...dernier bit transmis]). Quel était le message émis ? Est-ce le mot de code qu’on
aurait dû réceptionner pour ce message ?

Exercice 8
On considère le code de Hamming (n,k) avec n=7 et k=4. La matrice de contrôle de parité correspondante
est :

1 0 0 1 0 1 1
H=0 1 0 1 1 1 0
0 0 1 0 1 1 1

1. En déduire la matrice génératrice de code G


2. Dresser le tableau contenant le code correspondant aux 16 mots de messages possibles.
Calculer le poids de chaque mot et en déduire la distancez minimale du code. Quel est
le nombre d ‘erreurs que ce code est susceptible de corriger ?
3. Un mot de code quelconque est un vecteur ligne C. Rappeler la relation vérifiée par H et
C.
4. Quel est le syndrome des erreurs qui passeront inaperçues ?
5. Quels sont les différents codes d’erreurs ?

Thééorie de l’information : TD -5- R. Rhouma

Vous aimerez peut-être aussi