Académique Documents
Professionnel Documents
Culture Documents
Problmatique
Source xk Canal de transmission
N msg possibles : x1, x2, ..,xN Proba. associes : p(x1),..,p (xN) (source sans mmoire)
Source
xk
Canal de transmission
xk
Codeur
Remarque
xk Codeur squence ckde long. nk
Quand
nk on peut toujours coder les N symboles mis par la source Or codage efficace les squences ck les plus courtes possibles
Efficacit du codeur
Dsignons par n le nombre moyen de symboles {u1,..,uD} ncessaire par message de la source :
n = nk p(xk )
k =1
Le codeur doit tre conu de telle sorte a ce que n soit le plus faible possible.
Efficacit du codeur
Par dfinition l'efficacit du codeur a pour expression :
E= H (X ) n lo g D
CONSTRUCTION DE CODES
Dfinition ( Codes Sparables et codes
Irrductibles)
L'utilisation de code en bloc (quand les squences ck ont la mme longueur n) ne pose pas de problme particulier pour le rcepteur pour retrouver les messages mis. Si longueurs variables : l'utilisateur risque de ne pas savoir faire la sparation des messages.
CONSTRUCTION DE CODES
Exemple (D=2)
Supposons x1--->1101, x2--->110110, x3--->101101,... Lorsque l'utilisateur aura reu 1101101101 ------> interprtation x1x3 ? ou x2x1 ?
Les codes qui permettent une telle sparation sans ambigut s'appellent des codes sparables
Dfinitions :
Condition Suffisante : Un code est sparable si aucune squence nest le dbut d'une squence plus grande. Un tel code est dit obir la proprit du prfixe et s'appelle code irrductible (ou code prfixe).
codes sparables
codes irrductibles
Mthode de l'arbre
Il est commode de reprsenter les codes irrductibles par une mthode graphique illustre par lexemple suivant (D=2) : Considrons le code avec les messages suivants : x1 ---> 11 x2 ---> 100 x3 ---> 101 x4 ---> 0
0 0 1 0 x4 1 0 1 0 1 x2 0 1 x3 x5 1 0 1 1 x
1
1 0
0 1 0
Sur l'arbre sont ports les messages x1, x2, x3 et x4 du code. Mais : Seuls les nuds terminaux de l'arbre mots de code = (squences ck ). Si ajout de x5 ---> 110 sur l'arbre x1 non terminal : risque de confusion. Cas gnral de D digits fils. chaque nud admet D
1 D n k=
1 (I)
L'galit tous les nuds terminaux sont def utiliss ( = l'arbre est complet).
en effet :
tant donn un code simplement sparable, les longueurs nk des mots constitutifs de ce code doivent satisfaire l'ingalit (I), d'aprs Mac Millan; D'aprs Kraft, il est alors possible de construire un code irrductible partir de ces nk. tout code simplement sparable peut donc tre remplac par un code irrductible avec le mme n .
Dtermination de n optimal
On montre que : 1. la longueur moyenne n de tout code sparable vrifie :
H(X) log D
2. il existe une limite infrieure pour n , mais n n'atteint effectivement sa limite infrieure que dans certains cas particuliers.
Dtermination de
n optimal
n
3. il existe aussi une limite suprieure pour optimal puisqu'il existe au moins un code irrductible avec n vrifiant :
n<
H(X) +1 log D
Dtermination de
Cas binaire (D=2) : on a alors :
n optimal
On trouve alors :
H(X) = 0.529 +0.529 + 0.464 = 1.522
et
10
Mthode de l'arbre(suite)
Construire petit petit un arbre qui correspond au code Exploiter lide suivante : Choisir les nk vrifiant :
log pk log pk nk < +1 log D log D
11
Exemple (suite)
Si choix nk = I(xk) atteinte De plus p(xk) = 2-nk
2 nk = 1
k =1
Exemple (suite)
x 0 1 x 0 0 1 0 1 x
4
1
2 x
3
x 0 1 0 1
x x
1 1
12
Exemple (suite)
Codage : x1 x2 x3 x4 ---> ---> ---> ---> 00 01 100 101 x5 ---> 1100 x6 ---> 1101 x7 ---> 1110 x8 ---> 1111
13
METHODE DE SHANNON-FANO SHANNONLa mthode consiste en un classement des messages suivant l'ordre dcroissant des probabilits. On partage ensuite les messages en deux groupes de probabilits aussi voisine que possible l'une de l'autre ---> S0 et S1. Refaire la mme chose sur chaque groupe obtenu jusqu' ce que l'on obtienne des singletons.
Exemple
Soit une source avec 5 messages x1, ,x5 avec les probabilits suivantes : p1 = 0,35 p4= 0,15 p2= 0,22 p5= 0,10 p3= 0,18
14
Exemple (suite)
codage
p1 p2 p3 p4 p5 0,35 0,22 0,18 0,15 0,10 S1 (0,43) S0 (0,57) S00 (0,35) S01 (0,22) S10 (0,18) S11 (0,25) S110 (0,15) S111 (0,10) 00 01 10 110 111
La Longueur moyenne est n = 2,25 e.b. et l'efficacit de ce codage est E = 0,977 bit/ e.b.
Algorithme de Huffmann
1. Mettre dans une premire colonne les diffrents messages en suivant l'ordre dcroissant pour leurs probabilits
2. Remplir la seconde colonne par les probabilits des messages. 3. Pour remplir la 3me colonne, on fait la somme des deux probabilits les plus faibles de la 2me colonne ( un nouveau symbole est ainsi cre ayant comme probabilit la somme des probabilits ). On classe de nouveau les probabilits.
15
On remplit ainsi toutes les colonnes jusqu' ce que l'on obtienne une colonne avec deux probabilits seulement. On associe ensuite aux deux probabilits les plus faibles de chaque colonne, les valeurs 0 et 1. Le mot de code associe un message est obtenu en partant du message et en suivant les symboles qu'il a gnr. Les mots de code sont crire de la droite vers la gauche.
Algorithme de Huffmann
Exemple : la mme source
x1 x2 x3 x4 x5 0.35 0.22 0.18 0.15 0 0.10 1 0.35 0.25 0.22 0 0.18 1 0.40 0.35 0 0.25 1 0.60 --->0 0.40 --->1
16
Algorithme de Huffmann
Les mots de code : x1 00 x2 10 x3 11 x4 010 x5 011 La longueur moyenne est n = 2,25 e.b. L'efficacit de ce codage est E= 0,977 bit/e.b.
17
Soit une source sans mmoire [X] = (x1,........xN). Considrons maintenant la source X2 = X X, c..d la source capable de transmettre N2 messages. X2 constitue l'extension l'ordre 2 de la source d'origine.
18