Académique Documents
Professionnel Documents
Culture Documents
Le code binaire associé à chaque lettre est défini par un arbre binaire. Les
feuilles de l’arbre correspondent aux lettres de l’alphabet. Les nœuds interne
ne contiennent pas d’information. Le chemin emprunté pour atteindre une
feuille depuis la racine définit le code de la lettre sur cette feuille : à gauche 0,
à droite 1.
objectif
Travail demandé :
Exercice 1 :
X= 1 :6 ;
Sg = randsrc(100,1,[x ;p]) ;
Dict = huffmandict(x,p) ;
Resulta:
Sg = { 4 2 5 3 2 4 5 6 1 4 2 6 . . . . }
Dict=
1 [0]
2 [1, 0, 0]
3 [1 ,1 ,1]
4 [1 ,1, 0]
5 [1 ,0 ,1, 1]
6 [1,0 ,1 ,0 ]
Comp= huffmanenco(sg,dict) ;
Resulta :
Dsig = huffmandeco(comp,dict) ;
Resulta :
Dsig= {4 2 5 3 2 4 5 6 1 . . . } S1
G= isequal(dsig,sig) ;
Resulta :
G= 1
Remarque :
Exercice 2 :
p = [0.23 0.09 0.30 0.19 0.14 0.05] ;% probabilités d’occurrence pour chaque
symbole.
Resulta=
sig= FCAFCAFCAFCA
dict=huffmandict(sym,p) ;
cop=huffmanenco(sig,dict) ;
resulta:
Décodé le message ‘’ 1001100111 ‘’, et donner le message d'origine :
Y=[1 ,0 ,0 ,1 ,1 ,0 ,0 ,1 ,1 ,1] ;
Dsig=huffmandeco(y,dict) ;
Resulta :
Exercice 3 :
Considérons une source discrète sans mémoire qui produit des symboles avec
la loi de probabilité p= {0.4 0.15 0.1 0.05 0.2 0.05 0.05} sur l’alphabet {a, f, o,
r, u, x, s}
a 1
u 000
f 010
o 0010
r 0011
x 0110
s 0111
aforuxs :: 10100010001100001100111
1
0.6
0.35
Codé le message ‘aforuxs’ :
Sym=cellstr(char('a','f','o','r','u','x','s')) ;
Sig=repmat(['a','f','o','r','u','x','s'] ,1,1);
Dict =huffmandict(sym,p);
Comp= huffmanenco(sig,dict);