Documente Academic
Documente Profesional
Documente Cultură
Chaps. 15
Olivier RIOUL
TELECOM ParisTech
olivier.rioul@telecom-paristech.fr
Chaps. 67
Benot GELLER
ENSTA ParisTech
benoit.geller@ensta-paristech.fr
2
Avant-propos
Ce cours vise tout dabord tablir solidement les bases de codage de source
sur les outils de la thorie de linformation, de manire ce que les connais-
sances acquises puissent tre tendues rapidement aux problmatiques plus
rcentes. Puis, on aborde une caractrisation des outils essentiels de la compres-
sion de source : quantification scalaire et vectorielle, codage longueur variable,
codage par transforme, allocation de dbit.
De nombreux exercices sont proposs en appendice de ce document, regrou-
ps par chapitre.
Bonne lecture !
Mots cls
Thorie de linformation, Thormes de Shannon, Codage entropique lon-
gueur variable, Quantification scalaire et vectorielle, Algorithme de Lloyd-Max,
Gain de codage par transforme, Transforme de Karhunen-Love, Allocation
optimale de dbits binaires, Compression dimages.
3
4
Bibliographie
5
6 BIBLIOGRAPHIE
Chapitre 1
7
8 CHAPITRE 1. OUTILS DE LA THORIE DE LINFORMATION
1
D= E (kX Y k2 )
n
p(x, y)
Z
P
I (X , Y ) = p(x, y) log2
x,y p(x)p(y)
I (X , Y ) = H (Y ) H (Y |X )
o
1
Z
P
H (Y ) = p(y) log2
y p(y)
est appele entropie de la v.a. Y , et o :
1
Z Z
P P
H (Y |X ) = E y H (Y |X = x) = p(x) p(y|x) log2
x y p(y|x)
1
Z
H (Y ) = p(y) log2 dy
y p(y)
nest plus ncessairement > 0 ; on ne peut plus linterprter comme une me-
sure dincertitude. Dans ce cas H (Y ) est qualifie dentropie diffrentielle (voir
chapitre 2).
12 CHAPITRE 1. OUTILS DE LA THORIE DE LINFORMATION
Chapitre 2
13
14 CHAPITRE 2. THORIE DE LINFORMATION APPLIQUE AU CODAGE
R > R(D)
qui indique que R(D) est une borne infrieure sur le taux de codage : il est impos-
sible de comprimer les donnes en de de R(D) pour un niveau de distorsion
D donn.
Le thorme de Shannon (1959) pour le codage de source avec pertes montre
que R(D) est la meilleure borne possible, dans le sens o on peut toujours trou-
ver un systme de codage (fusse-t-il trs complexe, pour n assez grand) qui
permette de sapprocher daussi prs quon veut de la borne R(D).
2
o Dest le rapport signal bruit.
Ceci correspond une borne optimale de Shannon quon peut exprimer
sous la forme dune fonction distorsion/taux :
D(R) = 2 22R .
M
X
R= pi li .
i =1
Un code est donc dautant plus efficace en compression que R est petit.
17
18 CHAPITRE 3. CODAGE ENTROPIQUE LONGUEUR VARIABLE
M
2l i 6 1
X
i =1
1
l i = dlog2 e
pi
H 6 R 6 H + 1.
1
H 6R 6H+ ,
n
o H est lentropie dordre n de la source. En faisant n , on obtient le
thorme de Shannon pour le codage de source sans pertes, qui affirme quon
peut sapprocher de lentropie de la source daussi prs quon veut.
Quantification scalaire
Z
2
D = E {(X Y ) } = p(x)(x y)2 d x
21
22 CHAPITRE 4. QUANTIFICATION SCALAIRE
Insistons sur le fait quici la quantification est scalaire, cest dire quon
quantifie chantillon par chantillon. On ne peut donc pas exploiter la mmoire
de la source.
Autrement dit, les R i sont des intervalles du type (x i 1 , x i ) dont les frontires x i
sont les milieux entre deux reprsentants successifs :
y i + y i +1
xi = .
2
XZ y i +q i /2 1 X
D p i (x y i )2 d x = p i q i3
i y i q i /2 12 i
24 CHAPITRE 4. QUANTIFICATION SCALAIRE
1
R = H (X ) + E log2
q(X )
2e 2 2R
D= 2 .
12
X = (X 1 , . . . , X n )
1X
R= Ri
n i
Insistons sur le fait quici la quantification est scalaire, mais porte sur des coef-
ficients transforms dun vecteur de source. Bien que lon quantifie les coeffi-
cients transforms chantillon par chantillon, on peut quand mme exploiter
la mmoire de la source.
27
28 CHAPITRE 5. CODAGE PAR TRANSFORME
pour des vecteurs colonne X . Autrement dit, la transforme T est telle que
T T t = T t T = I.
Noter que, avec un calcul analogue, la conservation de la norme peut se voir sur
les variances :
1X 2
2X = .
n i Ui
5.3. POURQUOI UNE TRANSFORME ? 29
c i Ui
2
22Ri , do en supposant les c i = c constants :
qQ
i Ui
n 2
1 c
R = log2
2 D
Pour le systme classique sans transforme, on a pour le quantificateur la
mme formule de Bennett qui relie distorsion globale D 0 = D et taux R 0 :
D 0 = c2X 22R0 , cest dire :
2
1 c X
R 0 = log2
2 D
Sachant que 2X = n1 U
2
P
i i
, on obtient un gain sur les taux de
1
log2 G T C bits
2
o
1
U
2
P
n i i
G T C = qQ
n
i U
2
i
distorsion globale D = n1 i D i ?
P
30 CHAPITRE 5. CODAGE PAR TRANSFORME
D i = Constante
D0
= GT C .
D min
Pour tre retrouve par le destinataire, une information perturbe doit tre rpte
d'une manire ou d'une autre lmission.
i)CBS
0 1-p 0
1 1-p 1
Emis(t)
1V 0 1 1 0 1
0V t
Reu(t)
1V seuil de dcision
0 t
Dcid(t)
1V
0V 0 0 1 1 0 0
t
Cette probabilit reprsente le taux derreur (probabilit que le signal reu soit diffrent du
signal mis) et elle est dautant plus forte que le bruit est important .
6.1.2 DEFINITIONS
i)Rle du codage canal :
information relle.
ii)Rle du codeur :
Introduire une redondance suivant une certaine loi univoque .
Remarque :
+ 0 1 x 0 1
0 0 1 0 0 0
1 1 0 1 0 1
Codage de parit : transforme k bits en n=k+1 bits o le dernier bit est somme des
prcdent bits dinformation (modulo 2). En particulier pour k=7, n=8 et on a :
(/2) 7 (/2) 8
(b 1 ,b 2 ,b 3 ,b 4 ,b 5 ,b 6 ,b 7 ) (b 1 ,b 2 ,b 3 ,b 4 ,b 5 ,b 6 ,b 7 ,b 8 )
7
avec b 8 = b
i1
i 2 bit de parit.
a k =c k
nk k
iii2) Redondance = ; Rendement = 1 - Redondance
n n
iii3) Im ( ) est un sous-ensemble de (A s o u r c e ) n [Card (A s o u r c e )] k
lments parmi les
n
[Card (A s o u r c e )] n-uplets possibles.
iii4)Exemple :
(/2) 2 (/2) 3
(b 1 ,b 2 ) (b 2 ,b 1 ,b 1 )
avec
(0 0) (0 0 0)
(0 1) (1 0 0)
2) a) Soit le dcodeur cherche corriger lui -mme les erreurs en choisissant le mot
cod le plus vraisemblablement mis (i.e. celui qui ressemble le plus au mot reu)
6.2.2 FEC/ARQ ?
* FEC est choisi lorsquon a une application du type "canal unidirectionnel"
(Exemple: CD, fuse...)
FEC/ARQ + -
*ARQ
- ARQ avec attente d'acquittement : l'metteur attend syst matiquement l'accus de
rception (positif ACK ou ngatif NAK) de chaque mot qu'il met avant d'mettre le
suivant. Ceci entrane une perte de temps.
- ARQ continu : le rcepteur acquitte quand il le peut les sries de mots mis. Une
gestion de buffers l'mission et en rception doit tre prise en compte. (Cette gestion est
particulirement lourde pour un protocole ARQ continu "slectif").
Les rseaux informatiques fonctionnent gnralement en ARQ.
Il n'y a pas de dcodeur parfait : on n'est jamais sr de ne pas commettre d'erreur. On peut
nanmoins atteindre une certaine fiabilit, mesure par un taux moyen derreur dfini par le
cahier des charges, en choisissant des mots cods de longueur suffisamment leve.
Exemple:
Rptition triple
Si on veut tre plus fiable, il faut augmenter la redondance et la longueur du mot cod ;
Les performances ne peuvent samliorer quau prix dun temps de traitement et dune
1/ Un dcodeur est dit complet au sens dun Maxim um de Vraisemblance (MV) si, tant
donne une distance dfinie pour les n -uplets, pour tout mot reu r, le dcodeur choisit le
mot de code c m i n tel que d(r, c m i n ) = min {d(r, c)}, c tant un mot quelconque du code.
2/ Soient x = (x 1 .....x n )
y = (y 1 .....y n )
Thorme Fondamental :
Soit C l'ensemble des mots d'un code. Soit d m i n la plus petite distance entre deux mots
quelconques du code.
Exemples:
1/ C={(000);(111)} ; daprs le thorme ci dessus, C dtecte 2 erreurs et corrige 1 erreur.
codeur canal
C permet de dtecter au plus deux transitions, mai s ne permet pas de les corriger.
2/ A = {0,1,2,3,4} C = {(00) ; (12) ; (23) ; (34) ; (41)}. Quelles sont les capacits de
0 1 2 3 4
0
2
3
4
dautres termes, ils sont capables de trouver c m i n tel que d(r,c m i n ) = min {d(r,c)}, si et
seulement si r est dans une sphre suffisamment proche dun mot de code : d(r,c i )<B, o
souvent B=e.
Dfinition:
Codes quivalents:
Ce sont des codes qui ont mme distribution de distances entre mots.
(0000) (0000)
(0011) (1010)
C 0= (1100) C 0= (0101)
(1111) (1111)
Proprit:
La probabilit pour qu'un mot non cod de n symboles soit erron, est proportionnelle p.
La probabilit pour qu'un mot cod d e n symboles soit erron, est proportionnelle
Une redondance quantifie , comme nous allons le voir, par le thorme de Shannon et
construite de manire obtenir une certaine distance minimal e entre mots cods permet
donc de garantir une plus faible probabilit derreur pour un rapport Signal Bruit
suffisant (p<<1).
Dmonstration :
- Mot non cod
C
n
p (se trompe) = k
p k (1-p) n - k (p<<1)
k e 1
p e + 1 CQFD.
- Certains codes qui ont d es mots loigns entre eux, sauf une exception o deux mots du
code sont trs proches, peuvent avoir de faibles probabilits d'erreurs en moyenne bien
que d m i n reste faible. Ceci est en particulier vrai pour les canaux faibles RSB
(Rapports Signal Brui t) i.e. pour p non ngligeable devant 1 .
Dans le cas dun canal, linformation mutuelle entre lentre et la sor tie reprsente donc la
quantit dinformation de la source lentre , diminue par lincertitude due au canal.
En particulier, lorsque le ca nal est parfait X=Y et donc H(X|Y) = H(X|X) = 0 car il ny a
mauvais que sa sortie Y ne dpend pas de son entre X, lobservation de la sortie nap porte
aucune connaissance : H(X|Y) = H(X) et C = H(X)-H(X) = 0. Entre ces deux cas extr mes,
linformation mutuelle est dautant meilleure que le canal distord peu et a donc une
capacit vhiculer de linformation.
La capacit n est quun cas particulier dinformation mutuelle du canal considr, o lon
rpartit au mieux les informations de la source place lentre du canal ( max par
rapport p(x) ), afin que linformation soit la plus importante possible. Souvent, p our des
canaux dont les transitions sont symtriques par rapport aux symboles dentre (comme le
CBS), on trouve que la capacit est linformation mutuelle obtenue d ans le cas
dquirpartition des symboles l entre ( i.e. p(x i )=1/Card(A S o u r c e ) ).
p
X Y
p
1 1-p 1
I(X,Y) = H(X) H(X|Y) = H(Y) H(Y|X). Montrons que H(Y|X) est indpendant de p(x) si
bien que maximiser I(X,Y) pour trouver la capacit du CBS reviendra maximiser H( Y).
De mme lorsque X=1, H(Y|X=1) = -p log 2 (p) - (1-p) log 2 (1-p) = H(p).
Donc H(Y|X) = p(x)H(Y|X=x) = p(x)H(p) = H(p) p(x) = H(p) est bien indpendant de p(x) et
x x x
Donc C C B S = 1-H(p),
est obtenue pour p(X=0) = p(X=1) = 0.5 = p(Y=0) = p(Y=1) : la solution du problme est
bien symtrique.
CCBS
transmission avec une probabilit derreur arbitrairement faible est possible si le rendement
En dautres termes, lorsque n tend vers linfini, le mot reu se trouve sur une sphre une
n!
distance de Hamming d=np du mot de code mis, ce qui donne Cdn = possibilits.
d!(n-d)!
Une condition suffisante pour quil ny ait pas derreurs est que lensemble des sphres
soit disjointes entre elles et que le volume de leur empilement soit infrieur au vo lume de
n!
lespace possible : 2 >2 Cd 2 > d!(n-d)!
n k n n-k
obtient donc :
n-k > (n.log 2 (n)-n)-((n-d).log 2 (n-d)-(n-d))-(d.log 2 (d)-d)
p(0)=p(1)= p
1 1
faudra rajouter 89 symboles (au moins) aux 1000 informations binaires suivant une certaine
loi de codage si lon veut transmettre avec probabilit derreur fixe arbitrairement faible.
En dautres termes, le codeur introduit dan s la liaison pour la rendre plus fiable, peut tre
vu comme une source secondaire directement branche au canal, dont linformation
moyenne dlivre par symbole mis est k/n (la redondance napporte aucune information).
Le thorme du codage de Shannon re vient alors dire que lentropie de la source branche
lentre du canal doit tre infrieure la capacit du canal.
Deux Remarques:
1/ Supposons que le cahier des charges dfinit comme arbitrairement petite, une probabilit
n=(2m + 1) fois de chaque bit, donne aprs dcodage une probabilit d'erreur :
2m+1 m+1
p(erreur)=Cm+1 p (1-p) m < 10 - 5 pour m=2 et n=5.
Dans ce cas, lentropie H=1/5 bit par symbole canal : H<< 0,919 ; la redondance du codage
par rptition pour obtenir une probabilit derreur arbitrairement petite est trop leve.
puissance de sortie est donc gale la somme de celle fixe de lentre et de celle du b ruit.
Linformation mutuelle scrit :
Comme pour le CBS, montrons que H(Y|X) est indpendant de p(x) si bien que maximiser
I(X,Y) pour trouver la capacit du canal AWGN reviendra maximiser H(Y). Pour obtenir
H(Y|X), on peut dtailler les calculs (cf annexe) ou on peut tirer parti de certaines
proprits de H ; lentre informative du canal X et le bruit B sont indpendants donc :
H(Y|X) = H(X|X) + H(B|X) = H(B|X) = H(B) = log 2 2e 2 (car B N (0, 2 ) ).
1
2
H(Y|X) est bien indpendant de p(x) et donc maximiser par rapport p(x), linformation
mutuelle I(X,Y) = H(Y) H(Y|X)= H(Y) H(p) revient maximiser H(Y). (Notons au
passage que H(Y|X) vaut exactement lexpression de lentropie diff rentielle du bruit
Gaussien B : lincertitude vaut exactement celle rajoute par le bruit indpendant de la
source). Or lentropie diffrentielle Y est maximum lorsque Y est une variable alatoire
Gaussienne. Comme Y=X+B, ceci a lieu lorsque X est galeme nt une variable Gaussienne
N (m X , X2 ) car Y suit alors la distribution N (m X , X2 2 ) comme somme de deux variables
Gaussiennes indpendantes .
H(Y) = log 2 2e( X2 + 2 ) et :
1
Par consquent
2
1 X2
C = H(Y)-H(Y|X) = log 2 1+ 2 (en bits par symbole rel mis).
2
On trouve souvent une expression alternative cette expression pour les signaux rels
bande passante limite. En notant S= X2 la puissance du signal mis, B= 2 la puissance du
bruit AWGN et en supposant que le canal avec une bande passante de W H ertz permet de
Cette relation est trs souvent utilise en tlcoms pour connatre le dbit que lon peut
esprer transmettre.
Par exemple, pour un canal tlphonique de bande passante 4 kHz et de rapport signal sur
bruit 40 dB,
la puissance du signal mis (ce qui rend la ressource spectrale dautant plus chre). Cest ce
qui est fait dans lADSL o on a tendu la transmission 256 canaux parallles de 4 kHz.
Notons enfin que le plus souvent une expression analytique simple de la capacit dun
canal est difficile obtenir et quil faut alors recourir des mthodes numriques.
SYNTHESE :
Du fait de la distorsion du canal, il faut rajouter de la redondance aux messages mis pour
les fiabiliser. Le codage rsultant doit alors avoir un rendement infrieur la capacit du
canal. On a donn lexemple de deux codes simples :
- Code de parit
(n,k=n-1,d m i n =2)
n 1
Excellent rendement R=
n
00000000 d=2
00000011
Entre ces caractristiques extrmes, il existe des familles de code permettant de faire un
canal. Ce sont les codes linaires qui seront tudis dans le(s) chapitre(s) suivant(s).
A1 - Formule de Sterling
Premire dmonstrati on :
La distribution de Poisson, entirement caractris e par un paramtre (qui est gal sa
moyenne et sa variance) scrit :
N
P(N)= exp
N!
Pour N suffisamment large , cette distribution tend vers la Gaussienne de mme moyenne et
N 1 (N-)2
On peut alors crire exp- exp- pour N proche de la moyenne . En
N! 2 2
(On pourrait mme dans lexpression prcdente ngliger le terme en -N devant Nlog 2 (N)
sans aucune incidence sur la dmonstration du deuxime thorme de Shannon .)
Deuxime dmonstration :
La croissance de la fonction ln() entraine lencadrement suivant des intgrales sur un
intervalle de longueur 1 :
k k 1
k 1
ln(t )dt ln(k )
k
ln(t )dt ;
donc en sommant sur tous les intervalles de 1 N :
N N 1
1
ln(t )dt ln( N!)
2
ln(t )dt ;
en intgrant on obtient :
Nln(N)-N+1< ln(N!)< (N+1)ln(N+1)-(N+1)-(2ln2-2),
soit en faisant tendre N vers linfini : ln(N!) Nlog 2 (N)-N
= log 2
2 2
=
b log 2 (e) b = log 2 (e)
2 2
exp 2 db
2 2 2 2
2
Donc H(Y|X)= + = .
2 2 2
H(Y|X) est donc bien indpendant de p(x).
Si on considre prsent une v.a . X prenant ses valeurs x avec une densit de probabilit
2
p(x) de moyenne X et de variance X identique la Gaussienne prcdente , le calcul de
- p(x) log 2g(x)dx mne directement, en remplaant g(x) par son exp ression analytique, au
mme rsultat :
1 x X 2
p(x)log 2 g(x)dx p(x)log 2 exp dx 1 log 2 (e2 X2 ). .
2 X 2 X
2
2
Or si lon dfinit :
p ( x)
f (X ) H(X ) p( x) log g ( x)dx p( x) log p( x)dx p( x) log g ( x)dx p( x) log
2 2 2 2 dx ,
g ( x)
de lingalit de Jensen :
p x g x
p x log2 g x dx log2 p x p x dx log2 g x dx log2 1 0 .
Par consquent :
f X =H X + p x log 2 g x dx 0 .
1
et H( X ) p( x) log2 g ( x)dx log2 (2e X2 ) H( X G ) .
2
2
Par consquent, puissance X fixe, lentropie diffrentielle de la Gaussienne est
Nous allons voir que les codes blocs linaires sont simplement des codes blocs de taille
fixe n (kn) dont la loi de codage est constitue d'quations linaires.
La redondance linaire rsultante es t comprise entre celle du codage par rptition et celle
du codage par parit et elle est choisie afin dapprocher au mieux la capacit du canal.
7.1 CODAGE
Soit A un alphabet qui est un corps ; par exemple, souvent, A= /2.
n
Soit r un n-uplet r= (r 1 ,...,r n ) A ; on peut aussi crire : r = ri e i avec e i =(0..0100..0) o
n
i 1
ime n
la coordonne qui vaut 1 est en i position ; on retrouve que A est un espace vectoriel
de dimension n.
Dfinition:
n
Un code linaire C est un sous-espace vectoriel (s.e.v) de A engendr par k vecteurs
indpendants (gnrateurs) g 1 g k .
k
c C {a i }A k / c = a i g i
i 1
C = Vect (g 1 ,...,g k )
7.1.1 RAPPELS SUR DES PROPRIETES ELEMENTAIRES DES ESPACES VECT ORIELS
k
i) 0 C : 0= 0g i Vect (g i )
i 1
2
ii) Si (c 1 , c 2 ) C ,, A 2 , alors c 1 +c 2 C
k k k
(en effet c 1 =
i 1
ci1g1, c2 =
i 1
c i 2 g i c 1 + c 2 = ( c i 1 + c i 2 )g i Vect (g i ) )
i 1
Dfinition :
Une matrice k x n dont les lignes sont formes par une famille de vecteurs gnrateurs
Notation :
g j = (g j 1 ...g j n )
g 1 1 ... g 1 n g1
G = g 2 1 ... g 2 n = g2
gk1 gkn gk
Remarque :
Une matrice gnratrice, tout comme une base d'un sous espace vectoriel n'est
gnralement pas unique.
Proprits :
Tout mot du code s'crit sous la forme
c = a G
1xn 1xk kxn
Dmonstration:
k
Soit c= a i g i C
k i=1 k k
c = ( ai gi1 , a i g i 2 ,... ai gin)
i 1 i 1 i 1
= a G o a = (a 1 ...a k ) CQFD.
(a 1 ...a k ) (c 1 ...c n )
c=a G
k symboles n symboles
Exercice :
Quelle est la capacit de correction d'un code coefficients binaires dont une matrice
gnratrice est :
100101
G = 011101
110110
k= 3
Dfinition:
w {(111000)}=3
Proprits :
Pour un code linaire d m i n =min{w(c), c C / (0) } =w m i n . Ceci permet de calculer
beaucoup plus rapidement la distance minimale d'un code. (cf. exemple prcdent).
Dmonstration:
Soient c 1 , c 2 deux mots distincts de C.
est linaire)
L'ensemble des poids d'un code est donc confondu avec l'ensemble des distances entre mots
du code. Ces deux ensembles d'entier s admettent le mme plus petit lment: w m i n = d m i n .
On peut aussi remarquer que pour tout lment c du code, la distribution des distances
= x 1 y 1 + x 2 y 2 + .. + x n y n
(souvent + et x modulo 2)
Dfinition :
Soit C un code linaire, C est un s.e.v. de dimension n -k.
h1
H = n-k
hn-k
n
Proprit utile 1 :
c C ssi c tH = 0
1n nn-k 1 n-k
H tc = 0 n-k
1
Dmonstration:
Soit c C : c t H = c ( t h 1 ... t h n - k ) = ([c t h 1 ] , [c t h 2 ] , .. ,[c t h n - k ] )
n
= (c.h 1 ,c.h 2 ,..) = 0 car [c t h i ] = c j h i j = c.h i = 0 (car h i est dans C )
j 1
Rciproquement :c t H = 0
i {1,...,n-k } c . h i = 0 ou les h i sont gnrateurs de C :
c est donc orthogonal tout v ecteur de lorthogonal de C.
c (C ) = C CQFD
Pratique :
Lorsquon reoit un n -uplet r, on fabrique au niveau du rcepteur, le syndrome
s = r tH
1n-k 1n nn-k
Un dtecteur d'erreur peut -tre vu comme un automate cbl qui effectue au niveau du
rcepteur une multiplication matricielle.
Proprit utile 2:
Il existe un mot du code de poids w ssi il existe une combinaison linaire de w
Dmonstration :
Soit c = ( c 1 ..c n ) un n-uplet
H tc =t0n - k
h 1 1 ....h 1 n c1
h 2 1 ... h 2 n = 0
... ...
hn-k1 hn-k n cn
Donc c du code a pour poids w ssi il y a w coord onns c i qui sont non nulles et quil existe
une combinaison linaire de w colonnes de H qui est elle mme nulle. CQFD.
Consquence :
Si H est une matrice telle que toute combinaison linaire de w -1 ou moins colonnes est non
par consquent simplifi dans le cas dun code linaire par rapport un code quelconque.
Exemple :
Code Hamming d'ordre D: c'est un code dont une matrice de contrle est forme par
H = 0110011 n-k = D
1010101
n = 2 D -1
col3 = col1+col2 w m i n = 3
7.4.1 RAPPELS
i) Deux codes sont quivalents sils ont mme d istribution de distances entre eux.
Exemple:
C 0 ={ (0000), (0011), (1100), (1111) } C 1 ={ (0000), (1010), (0101), (1111) }
Exemple:
Colonnes 4 et 1 de l'exemple prcdent.
autres donnent naissance deux codes quivalents ( ayant mme distribution de poids et
Ak An c 1 =a 1
avec :
(a 1 ,...,a k ) (c 1 ,...,c n ) c k =a k
Proprit :
G = Id k Pk,n-k k
k n-k
Dmonstration:
En effet c = ( a 1 ..a k ,c 1 ,..c n - k ) = (a 1 ...a k ) ( Id k | P k n-k ) CQFD.
Proprit :
Dmonstration:
On transforme G en utilisant la mthode du pivot de Gauss. CQFD.
Exemples
i)
1001
0011
(a 1 ,a 2 ,a 3 )(a 1 ,a 2 ,a 3 ,a 4 ,=a 1 +a 2 +a 3 2 )
ii) Trouver une matrice sous forme systmatique, quivalente la matrice suivante :
100101
G = 011101
110110
Exemple :
Trouver un code linaire qui puisse corriger une erreur avec le moins de redondance
possible pour encoder ( +,,,- ), o on suppose que les 4 oprations sont quiprobables.
01 Codeur
10
- 11
H = ( t P k , n - k | -Id n - k )
= ( t P k , n - k | Id n - k ) dans le cas o lalphabet est binaire (+= -).
Dmonstration :
c = aG = a( Id k | P k , n - k ) = (a,p)o p contient les n-k symboles de contrle: p=a P k , n - k .
Pk,n-k
Or 0 = p + p = a P k , n - k + p = (a,p) Id n - k = c t H. CQFD.
On peut aussi vrifier cette proprit en effectuant les produits scalaires entre tout
vecteur ligne de G et tout vecteur ligne de H et voir que ces vecteurs sont orthogonaux.
CQFD.
Exemple:
Id 3 P3,3
011
110
s = r t H = (100000) 100 = (101)0. Lerreur est dtecte.
010
001
B . GELLER Les co d es b lo cs linaires 10
ii) Il est strictement quivalent de caractriser un code par sa matrice gnratrice ou par sa
G = pij k
0 1 pk1 pkj pkn-k
k n-k
p 1 1 ... p k 1 -1
: : 0
H = p1j pkj 0
: :
p 1 n - k ...p k n - k -1
= ( a 1 ... a k c 1 ... c n - k )
k
avec c j =
i 1
ai pij j = 1 ... n-k (C)
Le dcodage s'crit c t H = 0 n - k
... ...
0 0 -1
Nous avons dcrit comment des erreurs pouvaient tre dtectes. Nous allons maintenant
voir comment un dcodeur peut les corriger.
matrice de contrle du code C(n,k) (On choisit pour simplifier l'alphabet A = /2 mais le
Un n-uplet binaire reu r peut prendre 2 n valeurs distinctes. On range les 2 n mots possibles
dans un tableau dit de dchiffrement, que nous allons apprendre construire afin
Chaque ligne du tableau va tre constitue par les vecteurs ayant mme syndrome.
Soit l 1 un n-uplet quelconque ; montrons quil existe 2 k vecteurs ayant mme syndrome que
l 1 l 1 +c 1 l 1 +c 2 ....l 1 +c 2 k - 1 | s 1
Soit l 2 un n-uplet qui n'est pas un des 2 k n-uplets prcdents (2 n -2 k possibilits). De mme
les 2 k mots de la forme l 2 +c i ont mme syndrome que l 2 et constituent la deuxime ligne du
tableau de dchiffrement :
l 1 l 1 +c 1 l 1 +c 2 ... l 1 +c 2 k - 1 s 1
l 2 l 2 +c 1 l 2 +c 2 ... l 2 +c 2 k - 1 s 2
sur la i ime ligne et j ime colonne vaut l i +c j .Les 2 n vecteurs de ce tableau sont tous les
n-uplets distincts (en effet sil existait deux entiers i < j tels que c i +l i =c j +l j alors l j -l i =c j -c i
Les lments l i s'appellent les leaders. On choisit souvent comme leaders les lments de
poids le plus faible possible et pour un code linaire de capacit de correction
e=Int.[(d m i n -1)/2], tout n-uplet de poids infrieur ou gal e peut tre pris comme leader.
Exemple :
A = /2 k=2 n=5
11100
H = 10010 G = 10110
01001 01101 Card C = 2 k =4 mots : 0000000
0101101
1010110
1111011
Leaders Syndromes
C (00000) (10110) (01101) (11011) (0,0,0)
i)Matriel ncessaire :
- Une mmoire de taille 2 n - k mots. Chaque mot est compos de deux parties : un syndrome
ii)Procdure de dcodage :
A la lumire des exemples prcdents, on voit que les leaders du tableau de dchiffrement
l j peuvent s'identifier avec les erreurs que l'on veut corriger selon la capacit de correction
du code (code 1-correcteur dans notre exemple ) : r-l j =(c i +erreur)-l j = c i erreur = l j
En effet, on a vu que des codes pour assurer une certaine fiabilit devaient avoir une taille
suffisamment grande. Par exemple pour un code symbole dans /2 (n=100,k=70) sont
des valeurs raisonnables.
erreurs reues par une matrice de redondance H dcrivant les mmes n -k quations
linaires, et enfin corriger les erreurs par tableau de dchiffremen t. Mis part le cas des
codes de petites tailles (simples), la ralisation pratique de tels dcodeurs est trop
complexe.
C'est la raison pour laquelle les lves - ingnieurs suivant le cours IN202 de Rseaux
tudieront, une classe spciale de codes linaires, dont la structure algbrique est beaucoup
65
A.4 Chanes de Markov.
1. En saidant de la formule p(x, y) = p(x)p(y|x), montrer la mme formule
conditionne par z :
E log2 f (X ) 6 log2 E f (X )
66
A.7 La connaissance rduit lincertitude.
Montrer et interprter (dans le cas de v.a. discrte) lingalit suivante :
H (Y |X ) 6 H (Y ).
67
68
Annexe B
69
B.3 Entropie dune source gaussienne.
1. Calculer lentropie diffrentielle H (X ) lorsque X est une v.a. gaussienne.
Commenter.
2. Montrer que lentropie dune v.a. X de variance 2 est maximale lorsque
X est gaussienne.
70
Annexe C
71
4. Conclure en faisant x = 1/2 et k .
72
C.5 Algorithme de Huffman.
On considre une source M -aire de distribution de probabilit p 1 > p 2 >
> p M . La rduction de Huffman consiste considrer la source (M 1)-aire,
0
dite rduite, de distribution de probabilit p 1 , p 2 , , p M 2 , p M 1 = p M 1 +p M
(on combine les deux symboles les moins probables).
On note {c 1 , . . . , c M 1 , c M } le code optimal cherch ( lordre M ). Daprs ci-
dessus, c M 1 et c M ne diffrent que par le dernier bit ; on peut crire c M 1 =
0 0
[c M 1 0] et c M = [c M 1 1]
73
74
Annexe D
3 1 1 1 3
{1 , 1 , 1.25} et {1 , 1 + , 1 + }
16 16 8 8 8
75
1. Donner, pour chacune de ces solutions, les cellules de quantification
optimales.
2. Vrifier que ces deux situations vrifient les conditions de convergence
(point stationnaire) de lalgorithme de Lloyd-Max.
3. Calculer la contribution la distorsion quadratique dune cellule du type
[q, q] correspondant une amplitude A de la densit de probabilit.
4. En dduire les valeurs des distorsions totales dans les deux cas considrs.
Quelle est la solution la meilleure ?
5. Quen dduire sur lalgorithme de Lloyd-Max ? La fonction log p(x) est-elle
concave ?
76
D.6 Quantification vectorielle
En quantification vectorielle en dimension n, on attribue chaque vecteur de
source X = (X 1 , X 2 , . . . , X n ) une tiquette binaire correspondant un centrode
Y en dimension n.
1. Reprendre, dans le cas vectoriel, les conditions du plus proche voisin et
du centrode vues en cours.
2. En dduire lalgorithme de Lloyd-Max dans ce cas.
3. Montrer que lalgorithme de Lloyd-Max peut converger vers un minimum
local, mme si log p(x) est concave. On considrera pour cela une source
uniforme X dans lintervalle [1, 1] quantifie en dimension 2 sur 1 bit
par chantillon (cest dire 4 centrodes en 2 dimensions) et les deux
situations suivantes :
1 1
centrodes y = ( , )
2 2
et
1 3
centrodes y = ( , 0) et ( , 0).
4 4
77
78
Annexe E
79
7. Quel est le cas dgalit ?
U1
-
Q1 -
C1 -
source X
bits cods
-
T
U2-
Q2 - C2 -
80
o c est une constante.
1. Justifier, daprs le cours, que les distorsion quadratique moyenne globale
D et taux global R sont donns par :
D1 + D2 R1 + R2
D= et R=
2 2
D = c1 2 22R
1
t
R = E(X X ) = 2X
1
81