Vous êtes sur la page 1sur 124

Introduction

Notations
Chapitre1: Codage Entropique sans pertes
Chapitre2: Codage Détecteur et Correcteur d’erreurs: Codage Canal

Support de Cours de Théorie de l’information

Enseignantes:
Sameh NAJEH , email: sameh.najeh@supcom.tn
Fatma ABDELKEFI, email: fatma.abdelkefi@supcom.tn

November 29, 2018

Enseignantes: Sameh NAJEH , email: sameh.najeh@supcom.tn Fatma


SupportABDELKEFI,
de Cours de email:
Théoriefatma.abdelkefi@supcom.tn
de l’information
Introduction
Notations
Chapitre1: Codage Entropique sans pertes
Chapitre2: Codage Détecteur et Correcteur d’erreurs: Codage Canal

La théorie de l’information (TI) a été élaborée et énoncée par


l’ingénieur américain Claude Elwood Shannon en 1948, comme un
chapitre de la théorie des probabilités permettant de quantifier le
contenu moyen en information d’un ensemble de messages. Cette
théorie comprend les branches suivantes :
1. le codage de l’information,
2. la mesure quantitative de redondance d’un texte,
3. la compression de données,
4. la cryptographie.

Enseignantes: Sameh NAJEH , email: sameh.najeh@supcom.tn Fatma


SupportABDELKEFI,
de Cours de email:
Théoriefatma.abdelkefi@supcom.tn
de l’information
Introduction
Notations
Chapitre1: Codage Entropique sans pertes
Chapitre2: Codage Détecteur et Correcteur d’erreurs: Codage Canal

• La TI répond à ces deux questions fondamentales :


1. Quel est le contenu en information minimal d’une source?
codage de source
2. Quel est débit maximal de transfert de l’information à travers
un canal de transmission bruité? codage de canal
Plan du cours:
I Chapitre 1: Codage Entropique sans pertes
I Chapitre 2: Codage détecteur et correcteur d’erreur: Codage
canal

Enseignantes: Sameh NAJEH , email: sameh.najeh@supcom.tn Fatma


SupportABDELKEFI,
de Cours de email:
Théoriefatma.abdelkefi@supcom.tn
de l’information
Introduction
Notations
Chapitre1: Codage Entropique sans pertes
Chapitre2: Codage Détecteur et Correcteur d’erreurs: Codage Canal

Pour des variables alatoires (v.a) discrètes X et Y à valeurs dans X


et Y resp, on utilisera les notations suivantes pour x ∈ X et y ∈ Y:

p(x) = P(X = x) (1)

p(y ) = P(Y = y ) (2)


p(x, y ) = P(X = x, Y = y ) (3)
p(x, y )
p(x|y ) = P(X = x|Y = y ) = (4)
p(y )
Lorsque ces notations sont ambiguës, on pourrait écrire pX (x),
pY (y ), pX ,Y (x, y ), pX |Y (x|y ).

Enseignantes: Sameh NAJEH , email: sameh.najeh@supcom.tn Fatma


SupportABDELKEFI,
de Cours de email:
Théoriefatma.abdelkefi@supcom.tn
de l’information
Introduction
Notations
Chapitre1: Codage Entropique sans pertes
Chapitre2: Codage Détecteur et Correcteur d’erreurs: Codage Canal

Plan du chapitre 1: Codage Entropique sans pertes


1. Système de communication
2. Entropie
3. Quantité d’information mutuelle
4. Codage entropique sans perte et théorème de Shannon pour le
codage source

Enseignantes: Sameh NAJEH , email: sameh.najeh@supcom.tn Fatma


SupportABDELKEFI,
de Cours de email:
Théoriefatma.abdelkefi@supcom.tn
de l’information
Introduction
Notations
Chapitre1: Codage Entropique sans pertes
Chapitre2: Codage Détecteur et Correcteur d’erreurs: Codage Canal

Système de communication: Le schéchma d’un système de


communication est donné comme suit:

Distorsion
Bruit aléatoire

Source Emetteur Milieu de Destinataire


Récepteur
d’information Message Signal
émis
Signal transmission Message
émis reçu reçu

Canal de transmission

• Source : voix, signal électromagnétique, séquence de symboles


binaires,. . .
On trouve des sources d’information discrètes et analogiques :
I Une source d’information discrète produit des symboles.
I Une source d’information analogique ou continue produit un
signal continu qui peut être transformé en symboles discrèts
Enseignantes: Sameh NAJEH , email: sameh.najeh@supcom.tn Fatma
SupportABDELKEFI,
de Cours de email:
Théoriefatma.abdelkefi@supcom.tn
de l’information
Introduction
Notations
Chapitre1: Codage Entropique sans pertes
Chapitre2: Codage Détecteur et Correcteur d’erreurs: Codage Canal

moyennant d’abord un échantillonnage et ensuite une


quantification.
I Dans de ce cours, nous étudions seulement les sources
discrètes, vu leur importance en télécommunications
numérique.
I Une source discrète d’information dispose d’un ensemble,
souvent appelé alphabet ou dictionnaire des symboles ou des
lettres. Ces symboles sont des v.a qui suivent une loi bien
définie. La source choisit un symbole dans cet ensemble et
l’envoie en sortie.
• Canal de transmission: En théorie du codage, le canal de
transmission inclut toutes les fonctions situées entre la sortie du
codeur et l’entrée du décodeur, soit: l’émetteur, le milieu de
transmission, le bruit et le récepteur.
En considérant des messages numériques codés constitués
d’éléments binaires, l’entrée du canal de transmission est discrète
Enseignantes: Sameh NAJEH , email: sameh.najeh@supcom.tn Fatma
SupportABDELKEFI,
de Cours de email:
Théoriefatma.abdelkefi@supcom.tn
de l’information
Introduction
Notations
Chapitre1: Codage Entropique sans pertes
Chapitre2: Codage Détecteur et Correcteur d’erreurs: Codage Canal

et binaire, mais sa sortie peut être discrète ou continue:


I Elle est discète, si le récepteur a pris une décision ferme (hard
decision), c’est-à-dire s’il fournit au décodeur une suite
d’éléments binaires représentative du message numérique
codé. L’utilisation d’une décision ferme dans le récepteur
conduit à une perte irréversible d’information pour le
décodeur, mais autorise des algorithmes de décodage de mise
en oeuvre relativement simple.
I Elle est continue si le récepteur n’a pas pris de décision ferme,
mais uniquement une décision dite pondérée (soft decision),
c’est-à-dire s’il fournit au décodeur une suite d’échantillons
analogiques prélevés généralement aux instants kT en sorties
du filtre adapté. L’utilisation de décisions pondérées conduit à
de meilleures performances du décodeur que celles obtenues
en utilisant des décisions fermes.
Selon la nature discrète ou continue de la sortie du canal de
Enseignantes: Sameh NAJEH , email: sameh.najeh@supcom.tn Fatma
SupportABDELKEFI,
de Cours de email:
Théoriefatma.abdelkefi@supcom.tn
de l’information
Introduction
Notations
Chapitre1: Codage Entropique sans pertes
Chapitre2: Codage Détecteur et Correcteur d’erreurs: Codage Canal

transmission, on définit deux principaux modèles de canal de


transmission: le canal discret et le canal à Bruit Blanc Additif
Gaussien BBAG (Additive White Gaussian Noise AWGN).
1. Un canal discret possède un alphabet d’entrée [x1 , ...xM ] et un
alphabet de sortie finis [y1 , ...yN ]. Il est caractérisé par ses
k définies comme suit:
probabilités de transition pi,j

N
X
k k
pi,j = Pr {Yk = yj /Xk = xi }, avec: pi,j = 1, ∀i∀k (5)
j=1

où Xk et Yk représentent respectivement les éléments discrets


à l’entrée et à la sortie du canal à l’instant kT .
I Le canal est dit stationnaire, si les probabilités de transition
sont indépendantes du temps.
I Le canal est dit sans mémoire si l’élément Yk ne dépendant
que de l’élément Xk .
Enseignantes: Sameh NAJEH , email: sameh.najeh@supcom.tn Fatma
SupportABDELKEFI,
de Cours de email:
Théoriefatma.abdelkefi@supcom.tn
de l’information
Introduction
Notations
Chapitre1: Codage Entropique sans pertes
Chapitre2: Codage Détecteur et Correcteur d’erreurs: Codage Canal

I Exemple: soit un canal binaire symétrique (CBS) est un


canal discret stationnaire et sans mémoire. Xk et Yk sont
binaires, à valeurs dans l’alphabet {0, 1}. Les probabiltés de
transition sont symétriques et sont définies comme suit:

p01 = p10 = p, p00 = p11 = q = 1 − p (6)

où p représente la probabilité d’erreur par élément binaire.


Canal binaire symétrique

q=1−p
0 0

p
p

1 1
q=1−p

2. Canal à bruit blanc additif blanc gaussien: Dans ce cas,


l’entrée Xk est discréte, généralement binaire à valeurs dans
{0, 1} et la sortie est continue, constituée d’échantillons
Enseignantes: Sameh NAJEH , email: sameh.najeh@supcom.tn Fatma
SupportABDELKEFI,
de Cours de email:
Théoriefatma.abdelkefi@supcom.tn
de l’information
Introduction
Notations
Chapitre1: Codage Entropique sans pertes
Chapitre2: Codage Détecteur et Correcteur d’erreurs: Codage Canal

analogiques perturbés par un bruit discret bk , additif, blanc,


stationnaire, centré et indépendant des éléments Xk . Ce
modèle de canal est sans mémoire.
• Le codage de source permet de représenter la sortie de la
source, ou information, en une séquence binaire, avec le meilleur
taux de compression RS qui est le nombre moyen de bits codés
par le nombre de bits non codés:
nombre de bits après compression
RS = avec 0 < RS ≤ 1.
nombre de bits avant compression
Question : quel est le meilleur codage de source ? La réponse
est donnée par le théorème de Shannon pour le codage de source
appelé aussi le premier théorème de Shannon. Sachant que tout
codeur source dépend de la nature de source.
• Le codage/décodage de canal permettent de reproduire le
plus fidèlement possible la séquence binaire transmise bruitée suite
à son passage par le canal. Donc un codage de canal permet de
corriger les erreurs et ceci à travers une redondance introduite par
Enseignantes: Sameh NAJEH , email: sameh.najeh@supcom.tn Fatma
SupportABDELKEFI,
de Cours de email:
Théoriefatma.abdelkefi@supcom.tn
de l’information
Introduction
Notations
Chapitre1: Codage Entropique sans pertes
Chapitre2: Codage Détecteur et Correcteur d’erreurs: Codage Canal

le codeur canal. Chaque codeur canal est défini par son


rendement RC qui est le rapport entre le nombre des bits du mot
d’information par celui du mot de code,
nombre de bits avant codage canal
RC = où 0 < RC ≤ 1. Le
nombre de bits après codage canal
théorème de Shannon pour le canal : RC ≤ capacité du canal.
Cette condition garantit une correction de toutes les erreurs et une
reconstruction parfaite du mot d’information.
Sources d’information discrètes et sans mémoire
• définition 1: Une source d’information est une variable
aléatoire X , de loi connue.
• définition 2: On considère une source discrète dont la sortie
est une séquence de v.a appartenant à un alphabet
A = {x1 , . . . , xM }.
XM
Soit pk = prob(X = xk ) tel que pk = 1.
k=1

Enseignantes: Sameh NAJEH , email: sameh.najeh@supcom.tn Fatma


SupportABDELKEFI,
de Cours de email:
Théoriefatma.abdelkefi@supcom.tn
de l’information
Introduction
Notations
Chapitre1: Codage Entropique sans pertes
Chapitre2: Codage Détecteur et Correcteur d’erreurs: Codage Canal

• définition 3: Une source est dite sans mémoire si chaque


lettre de la séquence est choisie aléatoirement d’après une loi
de probabilité p indépendante du temps.
• Dans ce cours, nous supposons une source sans mémoire et
discrète.
Exemple: Soit une source d’information uniforme, i.e
A = {a1 , a2 , a3 , a4 }, tel que p(ai ) = 14 , i = 1, ..4. Supposons
que le codage transforme cette information en symboles
binaires. Nous donnons deux exemples de codage de source :
 
a 1 → 00 a →0
 1

 

a2 → 01 a2 → 10

codage 1 : codage 2 : (7)

 a 3 → 10 
 a3 → 110
 a → 11  a → 111
4 4

Le codage source 1 est le meilleur pusiqu’il nécessite 2 bits en


moyenne alors que dans le code de source 2 on a 2.25 bits en
Enseignantes: Sameh NAJEH , email: sameh.najeh@supcom.tn Fatma
SupportABDELKEFI,
de Cours de email:
Théoriefatma.abdelkefi@supcom.tn
de l’information
Introduction
Notations
Chapitre1: Codage Entropique sans pertes
Chapitre2: Codage Détecteur et Correcteur d’erreurs: Codage Canal

moyenne.
La notion d’information est liée à celle de probabilité
conditionnelle. Considérons deux variables aléatoires X et Y.
La probabilité conditionnelle prob(X = x/Y = y ) peut être
définie comme la modification apportée à la probabilité
prob(X = x) lorsqu’on reçoit l’information que l’évènement
{Y = y } est réalisé, c’est à dire cette information modifie
l’incertitude sur la réalisation de X: de prob(X = x) à
prob(X = x/Y = y ) :
• si prob(X = x/Y = y ) ≤ prob(x), alors l’incertitude sur X
augmente,
• si prob(X = x/Y = y ) ≥ prob(x), alors l’incertitude sur X
diminue.
Pour mesurer la variation de l’incertitude, il faut choisir une
fonction décroissante de la probabilité, tel que le Logarithme
qui permet d’exprimer parfaitement les variations d’incertitude.
Enseignantes: Sameh NAJEH , email: sameh.najeh@supcom.tn Fatma
SupportABDELKEFI,
de Cours de email:
Théoriefatma.abdelkefi@supcom.tn
de l’information
Introduction
Notations
Chapitre1: Codage Entropique sans pertes
Chapitre2: Codage Détecteur et Correcteur d’erreurs: Codage Canal

Soit Q(X = x) l’incertitude sur l’évenement X = x, définie


par:
Q(X = x) = −log (prob(X = x)) (8)
Le choix de la base du logarithme correspond à un choix
d’unité. Sauf mention du contraire, on choisit par défaut la
base 2. Q(X = x) s’exprime alors en bits. Ainsi, on a:

log (x)
Q(X = x) = −log2 (prob(X = x)), où log2 (x) = (9)
log (2)

⇒ donc l’information se mesure.


• Conséquences : Plus l’évènement xk donné par la source est
probable, moins la quantité d’information propre
Qk = −log2 pk est grande.
• Intuitivement : un évènement certain, c.à.d p(xk ) = 1,
n’apporte aucune information, Qk = 0.
Enseignantes: Sameh NAJEH , email: sameh.najeh@supcom.tn Fatma
SupportABDELKEFI,
de Cours de email:
Théoriefatma.abdelkefi@supcom.tn
de l’information
Introduction
Notations
Chapitre1: Codage Entropique sans pertes
Chapitre2: Codage Détecteur et Correcteur d’erreurs: Codage Canal

• Entropie : La valeur moyenne de l’information propre,


calculée sur l’ensemble de l’alphabet, est appelée entropie de
la source et est notée H(X ).
H(X ) est aussi définie par le nombre moyen de bits par
symbole nécessaires pour transmettre X, son expression est
donnée par:
 M
 X p log ( 1 )

cas X discrète
k 2
H(X ) = pk
k=1
1

 R
p(x)log2 ( p(x) ) dx cas X continue
avec M désigne le cardinal de X .
• Convention:0log 0 = 0.
• Le débit d’informations: est l’information totale émise par
seconde. Pour une source X avec une entropie H(X ) et un
taux de codage source Rs , le débit d’information émise par

Enseignantes: Sameh NAJEH , email: sameh.najeh@supcom.tn Fatma


SupportABDELKEFI,
de Cours de email:
Théoriefatma.abdelkefi@supcom.tn
de l’information
Introduction
Notations
Chapitre1: Codage Entropique sans pertes
Chapitre2: Codage Détecteur et Correcteur d’erreurs: Codage Canal

cette source est :

R = Rs H(X ) (bits/sec).

Enseignantes: Sameh NAJEH , email: sameh.najeh@supcom.tn Fatma


SupportABDELKEFI,
de Cours de email:
Théoriefatma.abdelkefi@supcom.tn
de l’information
Introduction
Notations
Chapitre1: Codage Entropique sans pertes
Chapitre2: Codage Détecteur et Correcteur d’erreurs: Codage Canal

Exemple : Entropie d’une source binaire sans mémoire


Une source binaire avec M = 2 c’est à dire elle émet soit 0
soit 1 tels que p(X = 1) = p et p(X = 0) = 1 − p.
Ainsi, on a: H(X ) = −plog2 p − (1 − p)log2 (1 − p).

0.9

0.8

0.7

0.6
H(X)

0.5

0.4

0.3

0.2

0.1

0
0 0.2 0.4 0.6 0.8 1
p

Figure: Entropie d’une source binaire

⇒ on remarque que l’entropie H(X ) est nulle lorsque la source


Enseignantes: Sameh NAJEH , email: sameh.najeh@supcom.tn Fatma
SupportABDELKEFI,
de Cours de email:
Théoriefatma.abdelkefi@supcom.tn
de l’information
Introduction
Notations
Chapitre1: Codage Entropique sans pertes
Chapitre2: Codage Détecteur et Correcteur d’erreurs: Codage Canal

est déterministe et elle est maximale lorsque la source est


uniforme, i.e p = 12 .
Propriétés de l’entropie: On considère une source discrète
sans mémoire dont la sortie appartient à un alphabet
A = {x1 , . . . , xM } appelée aussi une source M-aire, alors:
H(X ) ≤ log2 (M), avec égalité si et seulement si la loi de
probabilité de X est uniforme.
Preuve: On a:
M
X 1
H(X ) − log2 (M) = pk (log2 ( ) − log2 (M)) (10)
k=1
pk

Donc, on a:
M
X 1
H(X ) − log2 (M) = pk log2 ( ) (11)
k=1
Mpk
Enseignantes: Sameh NAJEH , email: sameh.najeh@supcom.tn Fatma
SupportABDELKEFI,
de Cours de email:
Théoriefatma.abdelkefi@supcom.tn
de l’information
Introduction
Notations
Chapitre1: Codage Entropique sans pertes
Chapitre2: Codage Détecteur et Correcteur d’erreurs: Codage Canal

En utilisant le formule, pour tout z positif:

log2 (z) ≤ (z − 1)log2 (e) (12)

On obtient:

M M
X 1 X 1
H(X )−log2 (M) ≤ pk ( −1)log2 (e) ≤ log2 (e) ( −pk )
k=1
Mpk k=1
M
(13)
Finalement, on a:

H(X ) − log2 (M) ≤ 0 (14)

Il y a égalité si et seulement si pk = M1 , ∀k = 1, . . . , M c’est à


dire si la loi de probabilité de X est uniforme.
Enseignantes: Sameh NAJEH , email: sameh.najeh@supcom.tn Fatma
SupportABDELKEFI,
de Cours de email:
Théoriefatma.abdelkefi@supcom.tn
de l’information
Introduction
Notations
Chapitre1: Codage Entropique sans pertes
Chapitre2: Codage Détecteur et Correcteur d’erreurs: Codage Canal

• Entropie jointe: L’entropie jointe est définie par :


 X
1

 pX ,Y (x, y )log2 ( ) cas discret
H(X , Y ) = pX ,Y (x, y )
R x,y
p (x, y )log2 ( pX ,Y1(x,y ) ) dx dy cas continu


x,y X ,Y

On remarque que: H(X , Y ) = H(Y , X ).


• Entropie conditionnelle: l’entropie conditionnelle de X
sachant la valeur de y de Y , est l’entropie de la loi
conditionnelle PX /Y =y : elle mesure l’incertitude qui reste sur
X , lorsque l’on a observé une valeur particulière y de Y . Elle
est définie par :

 X 1
 pX ,Y (x/y )log2 ( ) cas discret
H(X /Y = y ) = x
pX ,Y =y (x/y )
p (x/y )log2 ( pX ,Y =y1 (x/y ) ) dx cas continu
 R
x X ,Y
Enseignantes: Sameh NAJEH , email: sameh.najeh@supcom.tn Fatma
SupportABDELKEFI,
de Cours de email:
Théoriefatma.abdelkefi@supcom.tn
de l’information
Introduction
Notations
Chapitre1: Codage Entropique sans pertes
Chapitre2: Codage Détecteur et Correcteur d’erreurs: Codage Canal

• On définit aussi l’entropie conditionnelle, dans le cas discret,


H(X /Y ) comme suit:
X
H(X /Y ) , H(X /Y = y )P(Y = y ) (15)
y

Ainsi, on a:
X
H(X /Y ) = − PX ,Y (x, y )log2 P(x/y ) (16)
x,y

Ainsi, l’entropie de X sachant Y est la moyenne (en Y ) de la


quantité H(X /Y = y ).
• Information mutuelle: Considérons deux va X et Y. Nous
cherchons une mesure quantitative sur l’apport de la
connaissance de l’évènement {Y = y } sur la réalisation de
l’évènement {X = x}. L’information mutuelle I (X , Y ) est
Enseignantes: Sameh NAJEH , email: sameh.najeh@supcom.tn Fatma
SupportABDELKEFI,
de Cours de email:
Théoriefatma.abdelkefi@supcom.tn
de l’information
Introduction
Notations
Chapitre1: Codage Entropique sans pertes
Chapitre2: Codage Détecteur et Correcteur d’erreurs: Codage Canal

définie par:

I (X , Y ) , H(X ) − H(X /Y ) , H(Y ) − H(Y /X ) (17)

Ainsi, I (X , Y ) représente la quantité d’information moyenne


qu’apporte l’observation de Y sur la connaissance de X .
Proposition:

I (X , Y ) = I (Y , X ) = H(X ) + H(Y ) − H(X , Y ) (18)

Preuve: en exercice.
On peut aussi dire que : l’information mutuelle I (X , Y ) mesure
la quantité d’information commune à X et Y, ce qui donne
aussi une idée sur le degré de dépendance entre X et Y.
Remarques:
1. Si X et Y sont indépendants alors H(X /Y ) = H(X ),
ainsi: I (X , Y ) = 0: résultat prévu.
Enseignantes: Sameh NAJEH , email: sameh.najeh@supcom.tn Fatma
SupportABDELKEFI,
de Cours de email:
Théoriefatma.abdelkefi@supcom.tn
de l’information
Introduction
Notations
Chapitre1: Codage Entropique sans pertes
Chapitre2: Codage Détecteur et Correcteur d’erreurs: Codage Canal

2. Si X = f (Y ) alors X /Y est une variable déterminite


donc: H(X /Y ) = 0 et I (X , Y ) = H(X ). Donc,
H(X , Y ) = H(Y ).
Si f est bijective, alors H(Y /X ) = 0, alors
I (X , Y ) = H(X ) = H(Y ).

Enseignantes: Sameh NAJEH , email: sameh.najeh@supcom.tn Fatma


SupportABDELKEFI,
de Cours de email:
Théoriefatma.abdelkefi@supcom.tn
de l’information
Introduction
Notations
Chapitre1: Codage Entropique sans pertes
Chapitre2: Codage Détecteur et Correcteur d’erreurs: Codage Canal

Illustration graphique de I (X , Y ).

X
Y

H(X/Y)
I(X;Y) H(Y/X)

Indépendance

H(Y)
H(X)

Figure: Entropie, entropie conditionnelle, information mutuelle et


indépendances

Proposition
1. I (X , Y ) ≥ 0 et s’annule si et seulement si X et Y sont
indépendants.
Enseignantes: Sameh NAJEH , email: sameh.najeh@supcom.tn Fatma
SupportABDELKEFI,
de Cours de email:
Théoriefatma.abdelkefi@supcom.tn
de l’information
Introduction
Notations
Chapitre1: Codage Entropique sans pertes
Chapitre2: Codage Détecteur et Correcteur d’erreurs: Codage Canal

2. I (X , Y ) ≤ min(H(X ), H(Y )) avec égalité si l’une des


variables est fonction de l’autre.
Théorème du traitement de données: On considère une
succession de traitement Fi . Tout traitement fait perdre de
l’information et on a alors:
I (X , Y ) ≤ I (Fi , Fj ), ∀i, j (19)

Définition:Codage Source: Soit une source d’information X


d’une suite d’échantillons ou de symboles M-aires, c’est à dire
appartenant à un alphabet fini de cardinal M : {x1 , . . . , xM }.
Un codage source, appelé aussi compression, consiste à
associer à chaque mot de source une étiquette, appelée aussi
un index, Ei formée de n bits. Cette technique de codage
Enseignantes: Sameh NAJEH , email: sameh.najeh@supcom.tn Fatma
SupportABDELKEFI,
de Cours de email:
Théoriefatma.abdelkefi@supcom.tn
de l’information
Introduction
Notations
Chapitre1: Codage Entropique sans pertes
Chapitre2: Codage Détecteur et Correcteur d’erreurs: Codage Canal

porte aussi le nom de codage entropique, car elle utilise les


statistiques de la source.
I On s’intéresse dans cette partie à déterminer une borne
inférieure du taux de compression Rs .
I Ainsi, chaque symbole xi est codé par un mot de code Ei
et le code est l’ensemble des mots de codes {E1 , . . . , EM }.
I Le taux de codage source Rs est défini comme étant le
rapport du nombre de bits contenus dans une étiquette Ei
par le nombre de bits sur lequel est représenté xi , c’est à
dire log2 (M), soit:
n
RS = (20)
log2 (M)
I Exemple de codage de source: codage Morse où on
attribue les mots de code les plus courts aux lettres les
Enseignantes: Sameh NAJEH , email: sameh.najeh@supcom.tn Fatma
SupportABDELKEFI,
de Cours de email:
Théoriefatma.abdelkefi@supcom.tn
de l’information
Introduction
Notations
Chapitre1: Codage Entropique sans pertes
Chapitre2: Codage Détecteur et Correcteur d’erreurs: Codage Canal

plus fréquentes. Ce type de code est dit codage à


longueur variable (VLC).
Remarques:
1. Plus RS est faible, plus la compression est importante.
2. On s’intéresse à un codage efficace de la sortie d’une
source discrète sans mémoire en une séquence binaire,
afin de la transmettre sur un canal sans bruit. ”codage
Efficace” : la séquence de bits résultante du codage doit
être la plus courte possible, en moyenne.

Figure: Codage de source


Enseignantes: Sameh NAJEH , email: sameh.najeh@supcom.tn Fatma
SupportABDELKEFI,
de Cours de email:
Théoriefatma.abdelkefi@supcom.tn
de l’information
Introduction
Notations
Chapitre1: Codage Entropique sans pertes
Chapitre2: Codage Détecteur et Correcteur d’erreurs: Codage Canal

3. En appliquant le théorème du traitement des données, on


obtient :

I (X ; Y ) ≤ I ( E ; E ) = H(E ) ≤ n = RS log2 M (21)

4. Ainsi le théorème du traitement de données implique la


minimisation de l’expression { Ilog
(X ; Y )
2 (M)
} ≤ Rs }, où le
minimum d’information mutuelle s’effectue sur p(Y /X ),
puisque p(X ) est fixée pour une source donnée.

Enseignantes: Sameh NAJEH , email: sameh.najeh@supcom.tn Fatma


SupportABDELKEFI,
de Cours de email:
Théoriefatma.abdelkefi@supcom.tn
de l’information
Introduction
Notations
Chapitre1: Codage Entropique sans pertes
Chapitre2: Codage Détecteur et Correcteur d’erreurs: Codage Canal

Codage de source avec pertes


La minimisation s’effectue aussi sur la contrainte de fiabilité
fixée par un certain niveau de distorsion D tel que:
I (X ; Y ) 1
R(D) = min { , E[kX − Y k2 ] ≤ D} ≤ RS
p(Y /X ) log2 (M) log2 M
(22)

I R(D) est donc une borne inférieure sur le taux de codage


RS c’est à dire sur le taux de compression pour un niveau
de distorsion donné D, qu’on appelle aussi fonction
taux-distorsion R(D) de Shannon.
L’inégalité (22) est appelée le premier théorème de
Shannon pour le codage source.
I Le théorème de Shannon (1959) pour le codage source
avec pertes, montre qu’on peut trouver un codage de
Enseignantes: Sameh NAJEH , email: sameh.najeh@supcom.tn Fatma
SupportABDELKEFI,
de Cours de email:
Théoriefatma.abdelkefi@supcom.tn
de l’information
Introduction
Notations
Chapitre1: Codage Entropique sans pertes
Chapitre2: Codage Détecteur et Correcteur d’erreurs: Codage Canal

source qui permet de s’approcher de R(D).

Enseignantes: Sameh NAJEH , email: sameh.najeh@supcom.tn Fatma


SupportABDELKEFI,
de Cours de email:
Théoriefatma.abdelkefi@supcom.tn
de l’information
Introduction
Notations
Chapitre1: Codage Entropique sans pertes
Chapitre2: Codage Détecteur et Correcteur d’erreurs: Codage Canal

Codage de source sans pertes

Un codage de source est dit sans pertes, si on peut


re-construire parfaitement la source : X = Y , c’est à dire
D = 0. Dans ce cas, I (X , X ) = H(X ) et on ainsi:
H(X )
R(D = 0) = min (23)
log2 (M)

I La limite de Shannon sur le taux de codage est


donnée par l’entropie de la source :
H(X )
Rs ≥ (24)
log2 (M)
I L’entropie de la source apparaı̂t comme la borne inférieure
du taux de compression Rs .
Enseignantes: Sameh NAJEH , email: sameh.najeh@supcom.tn Fatma
SupportABDELKEFI,
de Cours de email:
Théoriefatma.abdelkefi@supcom.tn
de l’information
Introduction
Notations
Chapitre1: Codage Entropique sans pertes
Chapitre2: Codage Détecteur et Correcteur d’erreurs: Codage Canal

I Plus la source présente des symboles très probables plus


son entropie est faible et plus on pourra la comprimer.
I Dans le cas où X est une source déterministe, i.e
H(X ) = 0, on peut faire tendre le taux de compression
vers 0.
I Dans le cas où X est une source uniforme dont l’entropie
est égale à log2 M, donc le taux de compression est égale
à 1: dans ce cas on ne peut pas comprimer.
I Le théorème de Shannon pour le codage de source
sans pertes montre que cette borne inférieure sur le taux
de codage, peut être approchée d’aussi près qu’on veut.

Codage entropique sans pertes à longueur variable

Définitions:
Enseignantes: Sameh NAJEH , email: sameh.najeh@supcom.tn Fatma
SupportABDELKEFI,
de Cours de email:
Théoriefatma.abdelkefi@supcom.tn
de l’information
Introduction
Notations
Chapitre1: Codage Entropique sans pertes
Chapitre2: Codage Détecteur et Correcteur d’erreurs: Codage Canal

1. Un code à longueur variable (VLC : Variable Length


Code) est un code dont les mots de code n’ont pas la
même longueur en bits.
Soit li la longueur en bits du mot de code Ei , la longueur
moyenne l̄ d’un mot de code est donnée par:
M
X
l̄ = li pi (25)
i=1

⇒ Le but du codage de source sans pertes est de


comprimer au maximum les données et que l’on puisse
reconstruire parfaitement (X = Y ). Etant donné que les
longueurs li en bits des mots de code Ei peuvent être
variables, on peut avoir une ambiguı̈té lors du décodage si
la concaténation (succession) de certaines étiquettes peut
être interprétée de différentes façons.
Enseignantes: Sameh NAJEH , email: sameh.najeh@supcom.tn Fatma
SupportABDELKEFI,
de Cours de email:
Théoriefatma.abdelkefi@supcom.tn
de l’information
Introduction
Notations
Chapitre1: Codage Entropique sans pertes
Chapitre2: Codage Détecteur et Correcteur d’erreurs: Codage Canal

2. Codes non-ambigus: Si xi 6= xj alors Ei 6= Ej .


3. Codes uniquement décodables (ud): Un code C est
dit (ud), si la séquence codée est non-ambigue, c.à.d
interprétable de façon unique comme une concaténation
de mots de codes bien définis, c’est à dire:
0 0 0
Ei1 . . . Eil = Ej1 . . . Ejt ⇒ ik = jk , et Eik = Ejk ∀k ∈ {1, . . . , il }
(26)
Inconvénient de ce codage : une implémentation complexe
au niveau du décodeur ⇒ Codes instantanés.
4. Codes instantanés ou à préfixes: sont des codes ud et
sont simples à décoder. Le codeur a besoin de lire que les
li premiers bits d’une séquence codée pour pouvoir
l’interpréter instantanément comme étant le mot de code
Ei .
Un code instantané vérifie la condition du préfixe :
Aucun mot de code n’est le préfixe d’un autre mot
Enseignantes: Sameh NAJEH , email: sameh.najeh@supcom.tn Fatma
SupportABDELKEFI,
de Cours de email:
Théoriefatma.abdelkefi@supcom.tn
de l’information
Introduction
Notations
Chapitre1: Codage Entropique sans pertes
Chapitre2: Codage Détecteur et Correcteur d’erreurs: Codage Canal

de code, c’est à dire aucun mot de code Ei n’est le début


d’un autre mot de code Ej pour j 6= i.
Exemple :
Xi Code 1 Code 2 Code 3
1 0 10 0
2 010 00 10
3 01 11 110
4 10 110 111
Code 1 est ambigu, il est aussi non ud car 010 peut se
décoder par 2, 14 ou 31. Code 2 est ud. Code 3 est
instantané.
Inégalité de Kraft-McMillan
On cherche à trouver le meilleur code ud pour une source
donnée X , c’est à dire qui minimise RS .
Enseignantes: Sameh NAJEH , email: sameh.najeh@supcom.tn Fatma
SupportABDELKEFI,
de Cours de email:
Théoriefatma.abdelkefi@supcom.tn
de l’information
Introduction
Notations
Chapitre1: Codage Entropique sans pertes
Chapitre2: Codage Détecteur et Correcteur d’erreurs: Codage Canal

Théorème: Inégalité de Kraft-Mac Millan: Tout code


uniquement déchiffrable (ud) satisfait la condition de Kraft,
donnée par
M
X
2−li ≤ 1, où M est le cardinal de la source. (27)
i=1

Théorème de Kraft: Si M −li


P
i=1 2 ≤ 1, alors on peut
construire un code instantané dont les étiquettes Ei ont des
longueurs li .
Construction des codes instantanés

I Méthdode de l’arbre:
I Un code préfixe sur l’alphabet binaire {0, 1} peut être
représenté par un trie qui est en fait, un arbre binaire où tous
les nœuds internes ont exactement deux successeurs.
Enseignantes: Sameh NAJEH , email: sameh.najeh@supcom.tn Fatma
SupportABDELKEFI,
de Cours de email:
Théoriefatma.abdelkefi@supcom.tn
de l’information
Introduction
Notations
Chapitre1: Codage Entropique sans pertes
Chapitre2: Codage Détecteur et Correcteur d’erreurs: Codage Canal

I Exemple : Construction d’un code instantané avec des


longueurs de mots de code suivantes : l1 = l2 = l3 = 2 et
l4 = 3, l5 = 4.
5
X
C’est possible car 2−lk = 0.93 < 1.
k=1
Un exemple :
{E1 = 00, E2 = 01, E3 = 10, E4 = 110 E5 = 1110}.

I Exercice: Est-il possible de construire un code instantanné


avec des longueurs de mots de code suivants:
Enseignantes: Sameh NAJEH , email: sameh.najeh@supcom.tn Fatma
SupportABDELKEFI,
de Cours de email:
Théoriefatma.abdelkefi@supcom.tn
de l’information
Introduction
Notations
Chapitre1: Codage Entropique sans pertes
Chapitre2: Codage Détecteur et Correcteur d’erreurs: Codage Canal

l1 = l2 = l3 = l4 = 3, l5 = l6 = 4? Si oui, déterminer les mots


codes correspondants.
I Méthode des intervalles
I On suppose P que l1 ≤ l2 ≤ . . . ≤ lM et que l’inégalité de Kraft
M
est vérifiée: i=1 2−li ≤ 1.
I On note E le j ème bit de l’étiquette E :
j
i i

Ei = Ei1 Ei2 ...Eili (28)

I On associe pour chaque étiquette Ei le réel suivant: E i défini


par:
j=li
X
Ei = Eij 2−j (29)
j=1

I Soit l’intervalle Ii défini par:

Ii = [E i , E i + 2−li [, ∀i = 1, ...M (30)


Enseignantes: Sameh NAJEH , email: sameh.najeh@supcom.tn Fatma
SupportABDELKEFI,
de Cours de email:
Théoriefatma.abdelkefi@supcom.tn
de l’information
Introduction
Notations
Chapitre1: Codage Entropique sans pertes
Chapitre2: Codage Détecteur et Correcteur d’erreurs: Codage Canal

Les détails de l’algorithme du codage par la méthode des


intervalles est donné par:
1. On pose E 1 = 0.
2. i=1.
3. on construit le i ème intervalle Ii
4. On déduit: E i+1 = E i + 2−li .
5. i=i+1.
6. tant que i < M revenir à l’étape 3.
Ensuite, on déduit les étiquettes Ei des E i , puisqu’on connaı̂t
li : pour passer d’une étiquette à la suivante, il suffit de
rajouter 1 en dernière position puis de complèter
éventuellement par des zéros pour avoir la bonne longueur.
I Exemple: Construire un code instantané ayant pour longueur
l = {1, 2, 3, 3}

Construction des codes optimaux

Proposition 1: Si pi et qi sont deux distributions de


Enseignantes: Sameh NAJEH , email: sameh.najeh@supcom.tn Fatma
SupportABDELKEFI,
de Cours de email:
Théoriefatma.abdelkefi@supcom.tn
de l’information
Introduction
Notations
Chapitre1: Codage Entropique sans pertes
Chapitre2: Codage Détecteur et Correcteur d’erreurs: Codage Canal
PL PL
probabilité, i=1 pi = i=1 qi = 1, alors
L
X qi
pi log2 ≤0 (31)
i=1
pi

L’égalité a lieu si et seulement si: pi = qi ∀1 ≤ i ≤ L.


Preuve: On sait que pour tout z positif, on a:

log2 z ≤ (z − 1)log2 e (32)

Donc, pour i = 1, ..L, on a:


qi qi
log2 ≤ ( − 1)log2 e (33)
pi pi
En multipliant par pi et en effectuant la somme sur i, on
obtient:
Enseignantes: Sameh NAJEH , email: sameh.najeh@supcom.tn Fatma
SupportABDELKEFI,
de Cours de email:
Théoriefatma.abdelkefi@supcom.tn
de l’information
Introduction
Notations
Chapitre1: Codage Entropique sans pertes
Chapitre2: Codage Détecteur et Correcteur d’erreurs: Codage Canal

L L
X qi X qi
pi log2 ≤ pi ( − 1)log2 e = 0 (34)
i=1
pi i=1
pi

L’égalité est atteinte si et seulement si pqii = 1, ∀i.


L’expression
L
X qi
D(p \ \q) , pi log2 (35)
i=1
pi

s’appelle l’entropie relative ou distance de Kullback-Leiber


entre deux distributions de probabilité.
Elle est toujours positive ou nulle. Elle s’interprète comme une
mesure de distance entre deux distributions de probabilité, bien
que cela ne soit pas. En fait, une distance doit être symétrique
et respecte l’inégalité triangulaire, ce qui n’est pas le cas.
Proposition 2: Tout codage source de X, par un code
Enseignantes: Sameh NAJEH , email: sameh.najeh@supcom.tn Fatma
SupportABDELKEFI,
de Cours de email:
Théoriefatma.abdelkefi@supcom.tn
de l’information
Introduction
Notations
Chapitre1: Codage Entropique sans pertes
Chapitre2: Codage Détecteur et Correcteur d’erreurs: Codage Canal

instantané uniquement décodable entraı̂ne une longueur


moyenne vérifiant:
M
X
H(X ) ≤ l = lk pk (36)
k=1

Preuve: Puisque
PM −ltout code instantané doit vérifier l’inégalité
de Kraft: i=1 2 i ≤ 1. On considère la distribution de
probabilité qi définie par: qi = a2−li , avec a ≥ 1. Ainsi, on a:
M
X M
X M
X
qi = 1 = a2−li = a 2−li (37)
i=1 i=1 i=1

D’après la proposition précédante, on obtient:


M
X 2−li
pi log2 a ≤0 (38)
i=1
pi
Enseignantes: Sameh NAJEH , email: sameh.najeh@supcom.tn Fatma
SupportABDELKEFI,
de Cours de email:
Théoriefatma.abdelkefi@supcom.tn
de l’information
Introduction
Notations
Chapitre1: Codage Entropique sans pertes
Chapitre2: Codage Détecteur et Correcteur d’erreurs: Codage Canal

Donc, après simplification, on a:

H(X ) ≤ l − log2 a ≤ l (39)


Puisque log2 a ≥ 0.
Proposition 3: Il existe un code instantané uniquement
décodable vérifiant:
l ≤ H(X ) + 1 (40)
Preuve: Soit un code vérifiant la condition suivante:

−log2 pi ≤ li ≤ −log2 pi + 1 (41)

Alors:
−li ≤ log2 Pi (42)
Donc:
2−li ≤ Pi (43)
Enseignantes: Sameh NAJEH , email: sameh.najeh@supcom.tn Fatma
SupportABDELKEFI,
de Cours de email:
Théoriefatma.abdelkefi@supcom.tn
de l’information
Introduction
Notations
Chapitre1: Codage Entropique sans pertes
Chapitre2: Codage Détecteur et Correcteur d’erreurs: Codage Canal

Ainsi, M −li
≤ M
P P
i=1 2 i=1 pi = 1. On déduit l’existence d’un
code ayant cette distribution des longueurs. A partir de
l’inégalité (41), on obtient:
M
X M
X M
X
− pi log2 pi ≤ pi li ≤ − Pi log2 Pi + 1 (44)
i=1 i=1 i=1

Finalement, on a le résultat.
Pour toute source discrète sans mémoire X , il existe un code
instantané représentant exactement cette source et (ud),
vérifiant la proposition suivante:
Proposition 4:

H(X ) ≤ l ≤ H(X ) + 1 (45)

où H(X) est l’entropie de la source X et l la longueur moyenne


du code.
Enseignantes: Sameh NAJEH , email: sameh.najeh@supcom.tn Fatma
SupportABDELKEFI,
de Cours de email:
Théoriefatma.abdelkefi@supcom.tn
de l’information
Introduction
Notations
Chapitre1: Codage Entropique sans pertes
Chapitre2: Codage Détecteur et Correcteur d’erreurs: Codage Canal

Afin de déterminer une solution optimale de taux de


compression Rs , on est amené à résoudre le problème suivant:
 M
 X
min l= li pi



li
i=1
M (46)
 X
subject to: 2−li ≤ 1



i=1

Il s’agit donc d’un problème de minimisation avec contrainte.


Il suffit d’appliquer la méthode du Lagrangien pour résoudre
un tel problème:
M
X M
X
L(λ) = li pi − λ 2−li (47)
i=1 i=1

où λ est le multiplicateur de lagrange. Soit


Enseignantes: Sameh NAJEH , email: sameh.najeh@supcom.tn Fatma
SupportABDELKEFI,
de Cours de email:
Théoriefatma.abdelkefi@supcom.tn
de l’information
Introduction
Notations
Chapitre1: Codage Entropique sans pertes
Chapitre2: Codage Détecteur et Correcteur d’erreurs: Codage Canal
∂L
∂li
= pi + λLog (2)2−li = 0 soit pi = −λlog (2)2−li c’est à dire
l’optimum est atteint lorsque pi et 2−li sont proportionnels
M
X
pour une contrainte saturée ( 2−li = 1), donc
i=1
nécessairement λ = − log1(2) .
Il en résulte que:
(opt)
li = −log2 (pi ). (48)
Il en résulte que :
M
X (opt)
li pi
i=1 H(X )
Rs = = (49)
log2 (M) log2 (M)
Si les longueurs li , définies par l’équation (48), sont des entiers
naturels, on utilise les codes de Fano-Shannon, sinon on utilise
Enseignantes: Sameh NAJEH , email: sameh.najeh@supcom.tn Fatma
SupportABDELKEFI,
de Cours de email:
Théoriefatma.abdelkefi@supcom.tn
de l’information
Introduction
Notations
Chapitre1: Codage Entropique sans pertes
Chapitre2: Codage Détecteur et Correcteur d’erreurs: Codage Canal

les codes de Huffman.


Codes de Fano-Shannon
Un choix des li qui permet de s’approche au mieux de H est :
1
li = dlog2 ( )e
pi
où dxe désigne le plus petit entier supérieur ou égal à x. Pour
cette distribution des longueurs, on obtient la famille des
codes de Fano-Shannon (1948) qui vérifient bien l’inégalité
de Kraft-Mac Millan où le taux de codage source vérifie :
H(X ) H(X ) 1
≤ Rs ≤ + .
log2 (M) log2 (M) log2 (M)
Remarque : lorsque les pi sont des puissances négatives de 2:
pi = 2−li où les li sont des entiers, l’entropie est aussi atteinte.
Exemple:
Enseignantes: Sameh NAJEH , email: sameh.najeh@supcom.tn Fatma
SupportABDELKEFI,
de Cours de email:
Théoriefatma.abdelkefi@supcom.tn
de l’information
Introduction
Notations
Chapitre1: Codage Entropique sans pertes
Chapitre2: Codage Détecteur et Correcteur d’erreurs: Codage Canal

pi li ci
1
2
1 0
1
4
2 10
1
8
3 110
1
8
3 111
H(X )
D’une façon générale, li ∈
/ N, un code ud vérifie Rs ≥ log2 (M)
.
On comprend le sens de ”codage entropique”: on cherche une
technique de codage sans pertes qui permet de s’approcher au
mieux de la borne inférieure de Rs qui est l’entropie.
• Inconvénient : La méthode de Fano-Shannon nécessite la
minimisation de Rs en tenant compte du fait que les longueurs
li doivent être des entiers !!
• L’algorithme d’Huffman (1952) est un algorithme itératif qui
permet de constuire un code optimal et instantané.
Codes de Huffman
Enseignantes: Sameh NAJEH , email: sameh.najeh@supcom.tn Fatma
SupportABDELKEFI,
de Cours de email:
Théoriefatma.abdelkefi@supcom.tn
de l’information
Introduction
Notations
Chapitre1: Codage Entropique sans pertes
Chapitre2: Codage Détecteur et Correcteur d’erreurs: Codage Canal

Proposition: Un code VLC optimal pour une source tel que


pM ≤ . . . ≤ p1 a nécessairement : l1 ≤ . . . ≤ lM .
Preuve: si pi > pj et li > lj alors pi li + pj lj > pi lj + pj li . En
effet,
pi li + pj lj − (pi lj + pj li ) = (pi − pj )(li − lj ) > 0 (50)
Ceci se contredit avec le fait que le code est optimal, car on
vient de trouver un meilleur code en changeant ci et cj .
Conclusion: l1 ≤ . . . ≤ lM .
Ainsi les symboles de source les plus probables doivent être
codés par les mots de code les plus courts.
Proposition: L’inégalité de Kraft Mac Millan est
nécessairement une égalité pour un code optimal.
Preuve: On démontre ce résultat par l’absurde : on suppose
XM X M
−li
que 2 < 1. On a : 2−li = 2−lM K avec
i=1 i=1
Enseignantes: Sameh NAJEH , email: sameh.najeh@supcom.tn Fatma
SupportABDELKEFI,
de Cours de email:
Théoriefatma.abdelkefi@supcom.tn
de l’information
Introduction
Notations
Chapitre1: Codage Entropique sans pertes
Chapitre2: Codage Détecteur et Correcteur d’erreurs: Codage Canal

K = 1 + 2lM −lM−1 + . . . + 2lM −l1 > 1. Il en résulte que K < 2lM


et puisque K est un entier, alors: K ≤ 2lM − 1.
XM
Donc : 2−li ≤ 1 − 2−lM . Si on remplace lM par lM − 1,
i=1
l’inégalité de Kraft Mac Millan reste aussi vrai ce qui contredit
l’hypothèse d’un code optimal.
Remarque: On déduit de cette propriété que:
K = 1 + 2lM −lM−1 + . . . + 2lM −l1 = 2lM , un entier pair. Donc
lM = lM−1 , ElM et ElM−1 ne diffèrent que par le dernier bit.
Ceci réduit la complexité de résolution du problème
d’optimisation où on considère une source (M − 1)-aire de
distribution de probabilités:
0 0 0 0
p1 = p1 , p2 = p2 , . . . pM−2 = pM−2 , pM−1 = pM−1 + pM ,
0 0
EM−1 = [EM−1 , 0] et EM = [EM−1 , 1] et
0
lM = lM−1 = lM−1 + 1. On appelle cette technique: réduction
Enseignantes: Sameh NAJEH , email: sameh.najeh@supcom.tn Fatma
SupportABDELKEFI,
de Cours de email:
Théoriefatma.abdelkefi@supcom.tn
de l’information
Introduction
Notations
Chapitre1: Codage Entropique sans pertes
Chapitre2: Codage Détecteur et Correcteur d’erreurs: Codage Canal

de Huffman qui aboutit à une source réduite.


0 0 0
Proposition: Le code {E1 , . . . , EM−2 , EM−1 } est optimal pour
la source réduite issue de la réduction de Huffman.
0
Preuve: Soit Rs le taux de codage optimal et notons par Rs le
taux de codage de la source réduite dont l’expression est la
suivante :

M
X M−2
X
Rs log2 (M) = pk lk = pk lk + pM−1 lM−1 + pM lM
k=1 k=1
M−2
0
X
= pk lk + (pM + pM−1 )(lM−1 + 1)
k=1
M−2
0 0 0 0
X
= pk lk + pM−1 (lM−1 + 1)
k=1
Enseignantes: Sameh NAJEH , email: sameh.najeh@supcom.tn Fatma
SupportABDELKEFI,
de Cours de email:
Théoriefatma.abdelkefi@supcom.tn
de l’information
Introduction
Notations
Chapitre1: Codage Entropique sans pertes
Chapitre2: Codage Détecteur et Correcteur d’erreurs: Codage Canal

Donc, on a
0 0
Rs log2 (M) = Rs log2 (M − 1) + pM−1
0 0
Comme Rs est minimal et pM−1 est un terme constant alors Rs
est minimal.
L’algorithme de Huffman contient les étapes suivantes :
1. ordonner les probabilités : pM ≤ . . . ≤ p1 ,
2. réduire la recherche du code optimal à celle à l’ordre
M − 1,
3. réordonner les probabilités: il faut connaı̂tre les deux
symboles les moins probables,
4. refaire plusieurs réduction jusqu’à arriver à l’ordre M = 2,
le code {0, 1} est optimal.

Enseignantes: Sameh NAJEH , email: sameh.najeh@supcom.tn Fatma


SupportABDELKEFI,
de Cours de email:
Théoriefatma.abdelkefi@supcom.tn
de l’information
Introduction
Notations
Chapitre1: Codage Entropique sans pertes
Chapitre2: Codage Détecteur et Correcteur d’erreurs: Codage Canal

Plan du chapitre 2: Codage Détecteur et Correcteur


d’erreurs: Codage Canal
1. Capacité d’un canal: Théorème de Shannon
2. Codes correcteurs et détecteurs d’erreurs

Enseignantes: Sameh NAJEH , email: sameh.najeh@supcom.tn Fatma


SupportABDELKEFI,
de Cours de email:
Théoriefatma.abdelkefi@supcom.tn
de l’information
Introduction
Notations
Chapitre1: Codage Entropique sans pertes
Chapitre2: Codage Détecteur et Correcteur d’erreurs: Codage Canal

Capacité d’un Canal

I Chaı̂ne de transmission numérique

k n
Source Codeur source Codeur canal Modulateur

Canal
Composite Milieu de transmission

Destinataire Décodeur source Décodeur canal Démodulateur

Enseignantes: Sameh NAJEH , email: sameh.najeh@supcom.tn Fatma


SupportABDELKEFI,
de Cours de email:
Théoriefatma.abdelkefi@supcom.tn
de l’information
Introduction
Notations
Chapitre1: Codage Entropique sans pertes
Chapitre2: Codage Détecteur et Correcteur d’erreurs: Codage Canal

I On rappelle qu’un canal de communication est tout


procédé permettant de transmettre d’un lieu à un autre
(communication dans l’espace) ou d’un instant à un autre
(communication dans le temps) les symboles s d’un
alphabet S. Ce canal peut être bruité. Ceci signifie que
lors de la transmission un symbole s peut être transformé
en un autre symbole. On parle alors d’erreur de
transmission.
I Le codage canal consiste à coder la source en ajoutant de
la redondance afin de pouvoir détecter et corriger les
éventuelles erreurs de transmission.

Définitions

1. Rendement d’un code: Le rendement du code, ou le


taux de codage canal Rc , est le rapport du nombre de bits
Enseignantes: Sameh NAJEH , email: sameh.najeh@supcom.tn Fatma
SupportABDELKEFI,
de Cours de email:
Théoriefatma.abdelkefi@supcom.tn
de l’information
Introduction
Notations
Chapitre1: Codage Entropique sans pertes
Chapitre2: Codage Détecteur et Correcteur d’erreurs: Codage Canal

des mots information k par celui des mots codes n, défini


comme suit:

k
Rc = (51)
n

I Le rendement Rc donne le pourcentage de bits d’information


dans les bits émis.

I si Rc est faible, il y a plus de la redondance donc on corrige


mieux les erreurs, et le débit utile diminue.

2. Capacité d’un canal: 2ème théorème de shannon:


On note E les mots informations et X les mots codes
délivrés par le CC (Codage Canal).
Soit Y la sortie du canal et ÊSupport le ABDELKEFI,
Enseignantes: Sameh NAJEH , email: sameh.najeh@supcom.tn Fatma
mot décodé.
de Cours de email:
Théoriefatma.abdelkefi@supcom.tn
de l’information
Introduction
Notations
Chapitre1: Codage Entropique sans pertes
Chapitre2: Codage Détecteur et Correcteur d’erreurs: Codage Canal

E X Y Ê
Codage Canal Canal Décodage Codage
k n=k+r
n

La capacité d’un canal par symbole, notée C , est la


quantité maximum d’information que l’on peut
transmettre dans un canal de télécommunications avec
une probabilité d’erreur Pe arbitrairement faible.
La capacité d’un canal C est définie par:
C = maxp(X ) I (X , Y ) (52)

I La capacité C d’un canal est la plus grande quantité


d’information moyenne que le codeur est capable de
transmettre de son entrée à sa sortie.
Enseignantes: Sameh NAJEH , email: sameh.najeh@supcom.tn Fatma
SupportABDELKEFI,
de Cours de email:
Théoriefatma.abdelkefi@supcom.tn
de l’information
Introduction
Notations
Chapitre1: Codage Entropique sans pertes
Chapitre2: Codage Détecteur et Correcteur d’erreurs: Codage Canal

I Interprétation du théorème de Shannon pour le codage


canal: Si la puissance P (ou RSB) du signal augmente, alors
C augmente. La partie au dessus de la courbe de C est non
autorisée.
Limite de Shannon

Enseignantes: Sameh NAJEH , email: sameh.najeh@supcom.tn Fatma


SupportABDELKEFI,
de Cours de email:
Théoriefatma.abdelkefi@supcom.tn
de l’information
Introduction
Notations
Chapitre1: Codage Entropique sans pertes
Chapitre2: Codage Détecteur et Correcteur d’erreurs: Codage Canal

Capacité d’un canal CBS:


Soit p la probabilité d’erreur du canal p01 = p10 = p et
p11 = p00 = 1 − p. Sachant que p(X = 0) =  et
p(X = 1) = 1 − , où X désigne l’entrée du canal, déterminer
l’expression de la capacité d’un canal CBS.
Soit h(p) = −plog2 p − (1 − p)log2 (1 − p).
on a l’expression de l’information mutuelle, est donnée par
I (X , Y ) = H(Y ) − H(Y /X ) (53)
Alors
I (X , Y ) = H(Y ) − H(Y /X = 0) − (1 − )H(Y /X = 1) (54)
Or
X
H(Y /X = 0) = − P(Y = y /X = 0)log2 P(Y = y /X = 0)
y ∈{0,1}
(55)
Enseignantes: Sameh NAJEH , email: sameh.najeh@supcom.tn Fatma
SupportABDELKEFI,
de Cours de email:
Théoriefatma.abdelkefi@supcom.tn
de l’information
Introduction
Notations
Chapitre1: Codage Entropique sans pertes
Chapitre2: Codage Détecteur et Correcteur d’erreurs: Codage Canal

Donc
H(Y /X = 0) = h(p) (56)
De même on a
H(Y /X = 1) = h(p) (57)
Ainsi, on

H(Y /X ) = h(p) + (1 − )h(p) = h(p) (58)

Or
X
H(Y ) = − P(Y = y )log2 P(Y = y ) = −h( − 2p + p)
y ∈{0,1}
(59)
Donc
I (X , Y ) = h( − 2p + p) − h(p) (60)
Enseignantes: Sameh NAJEH , email: sameh.najeh@supcom.tn Fatma
SupportABDELKEFI,
de Cours de email:
Théoriefatma.abdelkefi@supcom.tn
de l’information
Introduction
Notations
Chapitre1: Codage Entropique sans pertes
Chapitre2: Codage Détecteur et Correcteur d’erreurs: Codage Canal

Finalement,
CCBS (p) = maxp(X ) I (X , Y ) = max h(−2p+p)−h(p) = 1−h(p)
(61)
La capacité CCBS (p) est atteinte pour  = 12 , X une source
uniforme.
1
h(p)
0.9 CCBS

0.8

0.7

0.6

0.5

0.4

0.3

0.2

0.1

0
0 0.2 0.4 0.6 0.8 1
p

Enseignantes: Sameh NAJEH , email: sameh.najeh@supcom.tn Fatma


SupportABDELKEFI,
de Cours de email:
Théoriefatma.abdelkefi@supcom.tn
de l’information
Introduction
Notations
Chapitre1: Codage Entropique sans pertes
Chapitre2: Codage Détecteur et Correcteur d’erreurs: Codage Canal

Classification des codes correcteurs d’erreurs

Codes Correcteurs

Codes non linéaires Codes linéaires

codes à longueur variable: codes à longueur fixe:

Codes convolutifs Codes en bloc

codes non cycliques codes cycliques

Enseignantes: Sameh NAJEH , email: sameh.najeh@supcom.tn Fatma


SupportABDELKEFI,
de Cours de email:
Théoriefatma.abdelkefi@supcom.tn
de l’information
Introduction
Notations
Chapitre1: Codage Entropique sans pertes
Chapitre2: Codage Détecteur et Correcteur d’erreurs: Codage Canal

Définitons

La Théorie du codage canal s’appuie fortement sur la notion


de structure algébrique des ensembles finis : Groupes finis,
Corps finis, Espaces vectoriels sur des corps finis.

1. Corps F2 : On note F2 (ou GF (2)), l’ensemble fini à deux


éléments {0, 1}. L’ensemble F2 muni des opérations
d’addition (XOR) et de multiplication (AND) a la
structure d’un corps fini.
L’ensemble des k-uples ( pour k entier quelconque) à
éléments dans F2 a la structure d’un espace vectoriel sur
Enseignantes: F 2 , de
Sameh dimension
NAJEH k, noté F k .Fatma
, email: sameh.najeh@supcom.tn SupportABDELKEFI,
de Cours de email:
Théoriefatma.abdelkefi@supcom.tn
de l’information
Introduction
Notations
Chapitre1: Codage Entropique sans pertes
Chapitre2: Codage Détecteur et Correcteur d’erreurs: Codage Canal

AND XCOR

0x0=0 0+0=0
0x1=0 0+1=1
1x0=0 1+0=1
1x1=1 1+1=0

2. Code: Un code est une bijection d’un ensemble F2k vers


un sous-ensemble de F2n , noté C génériquement. F2 est
l’alphabet du code, n la longueur du mot de code et k est
la longueur du mot information.
3. Code en bloc: Les codes en bloc, transforment des mots
de k lettres en mots de n > k bits. En fait, on procède en
tronçonnant le train binaire entrant dans le codeur en
paquets de k bits, chacun étant codé séparément. On
notera dans ce qui suit un code en bloc par C (n, k).
Enseignantes: Sameh NAJEH , email: sameh.najeh@supcom.tn Fatma
SupportABDELKEFI,
de Cours de email:
Théoriefatma.abdelkefi@supcom.tn
de l’information
Introduction
Notations
Chapitre1: Codage Entropique sans pertes
Chapitre2: Codage Détecteur et Correcteur d’erreurs: Codage Canal

4. Distance de Hamming: La distance de Hamming entre


deux mots de codes, notée dH , est le nombre de
coordonnées où les deux vecteurs différent.
Exemples: dH (01101, 01000) = 2
5. Poids de Hamming: Le poids de Hamming d’un mot de
code, noté PH , est le nombre de bits non nulles dans un
mot code. Ainsi, pour Ci et Cj deux mots de code, on a
toujours: dH (Ci , Cj ) = PH (Ci − Cj ).
Exemples: dH (01101, 01000) = PH (00101) = 2.
6. Distance minimale: La distance minimale dmin du code
C , notée dmin , est la plus petite distance de Hamming non
nulle entre deux mots du code C .
dmin = Minci ,cj ∈C ,ci 6=cj dH (ci , cj ) (62)
7. Code systématique: Un code (n, k) est dit systématique
s’il laisse intactes les k lettres d’entrée et se contente de
Enseignantes: Sameh NAJEH , email: sameh.najeh@supcom.tn Fatma
SupportABDELKEFI,
de Cours de email:
Théoriefatma.abdelkefi@supcom.tn
de l’information
Introduction
Notations
Chapitre1: Codage Entropique sans pertes
Chapitre2: Codage Détecteur et Correcteur d’erreurs: Codage Canal

rajouter (n − k) lettres supplémentaires.

k symboles (n − k) symboles

information redondance

Structure d’un code systématique

Enseignantes: Sameh NAJEH , email: sameh.najeh@supcom.tn Fatma


SupportABDELKEFI,
de Cours de email:
Théoriefatma.abdelkefi@supcom.tn
de l’information
Introduction
Notations
Chapitre1: Codage Entropique sans pertes
Chapitre2: Codage Détecteur et Correcteur d’erreurs: Codage Canal

Codes en bloc linéaires

On se propose d’étudier des codes d’éléments binaires, prenant


leur valeur dans l’alphabet {0, 1} (c.à.d F2 ). Cette restriction
au cas binaire permet de simplifier la présentation des codes
sans vraiement nuire à la généralité de cette introduction à la
théorie du codage.
I Un codage en bloc est une application g de l’ensemble F k
2
constitué par les k-uplets d’information vers l’ensemble
F2n , comme suit

g : F2k → F2n
(63)
m 7→ c , g (m)
avec: m = (m1 , ..mk ) est un vecteur ligne représentant un
bloc de k éléments binaires d’information et c = (c1 , ..cn )
le mot du code qui lui est associé.
Enseignantes: Sameh NAJEH , email: sameh.najeh@supcom.tn Fatma
SupportABDELKEFI,
de Cours de email:
Théoriefatma.abdelkefi@supcom.tn
de l’information
Introduction
Notations
Chapitre1: Codage Entropique sans pertes
Chapitre2: Codage Détecteur et Correcteur d’erreurs: Codage Canal

I Un code en bloc C (n, k) est linéaire si les 2k mots du


code constituent un sous-espace vectoriel de F2n de
dimension k. Ainsi, g est une application linéaire. En
particuier la somme de deux mots de code est encore un
mot de code et le mot nul ( n composantes à 0) est
toujours un mot de code.

I Distance minimale d’un code linéaire en bloc: La


distance minimale d’un code en bloc linéaire est égale au
poids minimal de ses mots non nuls. Ainsi, on a

dmin = Minci ∈C ,ci 6=0 PH (ci ) (64)

I Matrice génératrice d’un code linéaire en bloc:


Soit e = (e1 , .., ek ) une base de F2k .
Enseignantes: Sameh NAJEH , email: sameh.najeh@supcom.tn Fatma
SupportABDELKEFI,
de Cours de email:
Théoriefatma.abdelkefi@supcom.tn
de l’information
Introduction
Notations
Chapitre1: Codage Entropique sans pertes
Chapitre2: Codage Détecteur et Correcteur d’erreurs: Codage Canal

Le mot information m est donné par:

k
X
m= αi ei (65)
i=1

Le mot de code c associé à m est défini par

Xk k
X
c = g (m) = g ( αi ei ) = αi g (ei ) (66)
i=1 i=1

I On exprime g (ei ) dans la base e 0 = (e10 , .., en0 ) de F2n ,


définie par
n
X
g (ei ) = gi,j ej0 (67)
j=1
Enseignantes: Sameh NAJEH , email: sameh.najeh@supcom.tn Fatma
SupportABDELKEFI,
de Cours de email:
Théoriefatma.abdelkefi@supcom.tn
de l’information
Introduction
Notations
Chapitre1: Codage Entropique sans pertes
Chapitre2: Codage Détecteur et Correcteur d’erreurs: Codage Canal

Le mot de code c , mG est alors déterminé comme suit


k
X n
X k X
X n
c= αi gi,j ej0 = αi gi,j ej0 (68)
i=1 j=1 i=1 j=1

Puisque, c = nj=1 cj ej0 , alors: cj = ki=1 αi gi,j .


P P

I La matrice G (à k lignes et à n colonnes) associée à


l’application linéaire g est donnée par

G = (gi,j )i,j , avec gi,j ∈ F2 , ∀1 ≤ i ≤ k, 1 ≤ j ≤ n


(69)
Remarques
1. Les lignes de G sont les mots de codes qui constituent une
base de l’ensemble des mots de code C . Ainsi, rang (G ) = k.
2. La matrice G n’est pas unique, elle dépend du choix des deux
bases e et e 0 . En effet, si on permute deux vecteurs de la base
e ou de la base de e’, on obtient une nouvelle matrice
Enseignantes: Sameh NAJEH , email: sameh.najeh@supcom.tn Fatma
SupportABDELKEFI,
de Cours de email:
Théoriefatma.abdelkefi@supcom.tn
de l’information
Introduction
Notations
Chapitre1: Codage Entropique sans pertes
Chapitre2: Codage Détecteur et Correcteur d’erreurs: Codage Canal

génératrice G dont les colonnes ou les lignes ont aussi été


permutées. Donc, remplacer ei0 par une combinaison linéaire de
ei0 et ej0 n’aura aucun impact.
3. La permutation des colonnes ou des lignes de la matrice
génératrice engendre toujours le même ensemble de mots de
code; ce qui change, c’est l’association entre ces mots et les
k-uplets d’information.
4. En permutant les lignes ou les colonnes d’une matrice
génératrice ou encore en ajoutant à une ligne une ou plusieurs
autres lignes, ce qui revient à considérer une nouvelle base
dans F2n , il est toujours possible d’écrire une matrice
génératrice G d’un code en bloc linéaire sous la forme suivante

G = [Ik P] ⇒ c = mG = [m, mP], (70)

où Ik est la matrice identité d’ordre k et P est une matrice de


taille kx(n − k) utilisée pour calculer les (n − k) éléments
binaires de redondance. Le code est alors dit systématique.
I Code dual et matrice de contrôle de parité:
Enseignantes: Sameh NAJEH , email: sameh.najeh@supcom.tn Fatma
SupportABDELKEFI,
de Cours de email:
Théoriefatma.abdelkefi@supcom.tn
de l’information
Introduction
Notations
Chapitre1: Codage Entropique sans pertes
Chapitre2: Codage Détecteur et Correcteur d’erreurs: Codage Canal

A tout code en bloc linéaire C (n, k) on peut lui associer


un code en bloc linéaire dual noté C ⊥ . Tout mot code c 0
de C ⊥ est orthogonal à tous les mots de code c de C .
Ainsi, on peut écrire
n
X
ci0 ci = 0, ∀c ∈ C (71)
i=1

Le dual du code C (n, k) est donc un sous-espace vectoriel


de F2n , de dimension (n − k) constitué de 2n−k mots de n
éléments binaires.
Tout mot de code c du code C (n, k) est orthogonal aux
lignes de la matrice génératrice H de son code dual
cH T = 0 (72)
Un vecteur y appartenant à F2n est donc un mot du code
C (n, k) si et seulement si, il est orthogonal aux mots de
Enseignantes: Sameh NAJEH , email: sameh.najeh@supcom.tn Fatma
SupportABDELKEFI,
de Cours de email:
Théoriefatma.abdelkefi@supcom.tn
de l’information
Introduction
Notations
Chapitre1: Codage Entropique sans pertes
Chapitre2: Codage Détecteur et Correcteur d’erreurs: Codage Canal

son dual, c.à.d


y ∈ C ⇔ yH T = 0 (73)
En adoptant une représentation systématique du code
C (n, k), il est facile de déterminer la matrice génératrice
H de son code dual. Puisque c = mG , alors

GH T = 0 (74)
Ce qui donne

H = [−P T , In−k ] = [P T , In−k ] (75)

Enseignantes: Sameh NAJEH , email: sameh.najeh@supcom.tn Fatma


SupportABDELKEFI,
de Cours de email:
Théoriefatma.abdelkefi@supcom.tn
de l’information
Introduction
Notations
Chapitre1: Codage Entropique sans pertes
Chapitre2: Codage Détecteur et Correcteur d’erreurs: Codage Canal

Décodage des codes en bloc

On suppose que le canal est un canal binaire symétrique


(CBS). Soit c le mot de code émis, r le mot reçu et e est
l’erreur. r = c + e, où e est un vecteur ligne, dont les
composantes binaires représentent les éventuelles erreurs de
transmission. e(i) = 1 sil y a erreur de transmission à la ième
position de c et 0 sinon.
I Stratégies de décodage :
I ARQ (Automatic Repeat reQuest) : Le décodeur observe la
séquence reçue, détecte les erreurs éventuelles et demande à
l’émetteur de retransmettre la séquence si elle est erronée.
I FEC (Forward Error Correction) : Le décodeur corrige les
erreurs détectées dans la séquence reçue.
I Techniques hybrides.
Afin de trouver le mot de code qui a été émis, le décodeur
procède de la sorte:
Enseignantes: Sameh NAJEH , email: sameh.najeh@supcom.tn Fatma
SupportABDELKEFI,
de Cours de email:
Théoriefatma.abdelkefi@supcom.tn
de l’information
Introduction
Notations
Chapitre1: Codage Entropique sans pertes
Chapitre2: Codage Détecteur et Correcteur d’erreurs: Codage Canal

I Méthode de décodage par syndrôme:


I Calcul du syndrome s du vecteur reçu:
s(r ) = rH T = (c + e)H T = eH T = S(e)
I si s = 0 alors r est un mot de code, le mot de code estimé par
le décodeur est r (bien qu’il peut ne pas être le mot de code
émis, ceci dans le cas òu e est aussi un mot code).
Finalement, pour tout code en bloc linéaire, il existe des
configurations d’erreurs indétectables.
I si s 6= 0: Recherche du mot code: la régle de décodage
consiste à trouver le mot du code ĉ le plus vraisemblable, c.à.d
qui est à la distance de Hamming minimale du mot reçu r .

ĉ, dH (r , ĉ) ≤ dH (r , c), ∀c 6= ĉ ∈ C (76)


I Puisqu’on a 2k mot de code, cette méthode n’est pas pratique:
on doit parcourir tous les mots de code et retenir la fin le plus
proche de r , par la distance de Hamming, on propose la
méthode de décodage par syndrôme.
Le décodage par syndrome: La régle de décodage
consiste à choisir pour chaque valeur non nulle du
Enseignantes: Sameh NAJEH , email: sameh.najeh@supcom.tn Fatma
SupportABDELKEFI,
de Cours de email:
Théoriefatma.abdelkefi@supcom.tn
de l’information
Introduction
Notations
Chapitre1: Codage Entropique sans pertes
Chapitre2: Codage Détecteur et Correcteur d’erreurs: Codage Canal

syndrome, la configuration d’erreur e de poids minimal.


On peut montrer que cette façon de procéder est
équivalente à la recherche systématique du mot le plus
vraisemblable. En effet, pour un code en bloc pouvant
corriger t erreurs, toutes les configurations d’erreurs de
poids inférieur ou égal à t correpondent à des valeurs
différentes du syndrome. Le mot du code le plus
vraisemblable ĉ est alors égal à r − e.
I Distance minimale dmin : L’évaluation de la distance
minimale d’un code en bloc n’est pas toujours simple à
faire, sauf si le nombre de mots de code est suffisamment
petit pour pouvoir en dresser une liste exhaustive.
Lorsque le nombre de mots de code est très important, il
est parfois préférable d’essayer de déterminer la distance
minimale d’un code en blocs à partir de sa matrice de
contrôle de parité H, en utilisant la proposition suivante:
Enseignantes: Sameh NAJEH , email: sameh.najeh@supcom.tn Fatma
SupportABDELKEFI,
de Cours de email:
Théoriefatma.abdelkefi@supcom.tn
de l’information
Introduction
Notations
Chapitre1: Codage Entropique sans pertes
Chapitre2: Codage Détecteur et Correcteur d’erreurs: Codage Canal

Proposition: dmin est le plus petit nombre de colonnes


linéairement dépendantes de la matrice de contrôle de
parité H, c.à.d dont la somme est nulle.
Exemple: si c ∗ = argminc∈C ,c6=0 PH (c) alors c ∗ H T = 0
Exemple: c ∗ = (1 1 0 0) et ci reprèsente les colonnes de
la matrices H, alors, c1 + c2 = 0 donc on a 2 vecteurs
colonnes linéairement dépendantes, et ce nombre est
minimal car c ∗ admet le poids de Hamming le plus petit.
donc dmin = 2, d’ où le résultat.
Preuve: Puisque dmin est égale au poids de Hamming
minimal des mots non nul du code et cH T = 0 pour le
mot de code de poids minimal, alors la somme de dmin
colonnes de la matrice de contrôle de parité de H est nulle.
Ainsi, le nombre minimal de colonnes de la matrice de
contrôle de parité linéairement dépendantes est inférieur à
dmin , et au même temps il ne peut pas être suérieur, car
Enseignantes: Sameh NAJEH , email: sameh.najeh@supcom.tn Fatma
SupportABDELKEFI,
de Cours de email:
Théoriefatma.abdelkefi@supcom.tn
de l’information
Introduction
Notations
Chapitre1: Codage Entropique sans pertes
Chapitre2: Codage Détecteur et Correcteur d’erreurs: Codage Canal

ceci contredit la définition de dmin . D’où le résultat.


I Borne supérieure de dmin : Dans la cas d’un codage
systématique, la matrice de contrôle de parité H est
donnée par: H = [P T , In−k ] d’après l’équation (75). Dans
ce cas, les (n − k) colonnes de la matrice unité In−k étant
linéairement indépendantes, puisqu’ils forment une base.
Ainsi, toute colonne de la matrice P T peut s’exprimer
comme au plus une combinaison de ces (n − k) colonnes.
Puisque la distance minimale dmin est égale au plus petit
nombre de colonnes linéairement dépendantes de la
matrice de contrôle de parité, alors on a
dmin ≤ n − k + 1 (77)
I Pouvoir de détection et Pouvoir de correction:
Un code C (n, k) de distance minimale dmin peut détecter
toutes les configurations de Pdet erreurs dans un bloc de n
Enseignantes: Sameh NAJEH , email: sameh.najeh@supcom.tn Fatma
SupportABDELKEFI,
de Cours de email:
Théoriefatma.abdelkefi@supcom.tn
de l’information
Introduction
Notations
Chapitre1: Codage Entropique sans pertes
Chapitre2: Codage Détecteur et Correcteur d’erreurs: Codage Canal

éléments binaires, donné comme suit


Pdet = dmin − 1, (78)
et corriger toutes les configurations de Pcor erreurs avec
dmin − 1
Pcor = E ( ), (79)
2
où E (x) désigne la partie entière de x par valeur inférieure.
I Exemples de codes en bloc
1. Code de parité:
Ce code utilise un élément binaire de redondance ainsi
n = k + 1, déterminé de façon à assurer la nullité de la somme
des élélments binaires de chaque mot du code. Ces codes sont
caractrisés par:
k
X
c = [m1 , ..., mk , ck+1 ], ck+1 = ml modulo 2 (80)
l=1
Enseignantes: Sameh NAJEH , email: sameh.najeh@supcom.tn Fatma
SupportABDELKEFI,
de Cours de email:
Théoriefatma.abdelkefi@supcom.tn
de l’information
Introduction
Notations
Chapitre1: Codage Entropique sans pertes
Chapitre2: Codage Détecteur et Correcteur d’erreurs: Codage Canal

Ainsi: dmin (C ) = 2. En effet, le mot de code ayant un poids


minimal est 11000..0. Ce code permet de détecter les erreurs
de poids impair, mais ne corrige aucune erreur.
Les matrices G et H de ce code est données par:
 
1 0 ... 0 1
 0 1 ... 0 1 
G =  ... ... ... ... ... 
 (81)
0 0 0 1 1

et la matrice H est donnée par



H= 1 1 ... 1 (82)

Le calcul du syndrome s consiste à calculer la somme des n


éléments binaires du mot reçu r . Si cette somme est nulle,
aucune erreur n’est détectée.
2. Code à répétition: Ce code permet de répéter un nombre
impair de fois l’élément binaire à transmettre. Les paramètres
de ce code sont donnés par: k = 1 et n = 2M + 1. Les
Enseignantes: Sameh NAJEH , email: sameh.najeh@supcom.tn Fatma
SupportABDELKEFI,
de Cours de email:
Théoriefatma.abdelkefi@supcom.tn
de l’information
Introduction
Notations
Chapitre1: Codage Entropique sans pertes
Chapitre2: Codage Détecteur et Correcteur d’erreurs: Codage Canal

matrices G et H sont données par



G= 1 1 ... 1 (83)

 
1 1 0 ... 0
 1 0 1 ... 0 
H=
 ...
 (84)
... ... ... ... 
1 0 0 ... 1
La distance minimale est égale 2M + 1. Le pouvoir de
détection vaut 2M et celui de correction vaut M.
3. Code de Hamming: Pour un code de Hamming, les colonnes
de la matrice H sont les représentations binaires des nombres
de 1 à n. chaque colonne étant constituée de r = n − k
éléments binaires, les paramètres du code de Hamming sont

n = 2r − 1, k = 2r − r − 1 (85)

Dans ce cas, la distance minimale est égale à 3 pour tout k et


n.
Enseignantes: Sameh NAJEH , email: sameh.najeh@supcom.tn Fatma
SupportABDELKEFI,
de Cours de email:
Théoriefatma.abdelkefi@supcom.tn
de l’information
Introduction
Notations
Chapitre1: Codage Entropique sans pertes
Chapitre2: Codage Détecteur et Correcteur d’erreurs: Codage Canal

Preuve: La distance minimale est égale au plus petit nombre


de colonnes linéairement dépendantes de la matrice de contrôle
de parité H. Puisque les colonnes de H sont constituées par
toutes les combinaisons possibles de (n − k) éléments binaires,
sauf le mot code nul, alors la somme de deux colonnes est
égale à une colonne. Ainsi, dmin = 3.
Exemple: Soit un code de Hamming C (n, k) avec n = 7 et
k = 4, alors r = n − k = 3. La matrice de contrôle de parité H
peut être la suivante
 
1 1 1 0 1 0 0
H= 1 1 0 1 0 1 0  (86)
1 0 1 1 0 0 1
La matrice G se déduit de la matrice H de la sorte
 
1 0 0 0 1 1 1
 0 1 0 0 1 1 0 
G =   (87)
0 0 1 0 1 0 1 
0 0 0 1 0 1 1
Enseignantes: Sameh NAJEH , email: sameh.najeh@supcom.tn Fatma
SupportABDELKEFI,
de Cours de email:
Théoriefatma.abdelkefi@supcom.tn
de l’information
Introduction
Notations
Chapitre1: Codage Entropique sans pertes
Chapitre2: Codage Détecteur et Correcteur d’erreurs: Codage Canal

I Performances des codes en bloc


I Hypothèses: les erreurs sont indépendantes, canal CBS.
I Les configurations d’erreurs de poids inférieurs à t sont toutes
corrigées.
I Si l’erreur est de poids strictement supérieure à t, le décodeur
tente de corriger et modifie au plus t positions, donc introduit
au plus t erreurs.
I La probabilité d’erreur, noté par Peb , est majorée par
n
X i +t i i
Peb ≤ Cn p (1 − p)n−i , (88)
n
i=t+1

avec p est la probabilité d’erreur par bit, le terme i+t


n désigne
i n!
le taux d’erreur après décodage et Cn = i!(n−i)!
I si la probabilité d’erreur p sur le canal est suffisament faible,
typiquement inférieure à 10−2 , alors la probababilté d’erreur
Peb après décodage peut être approximée par l’expression
suivante: Peb ≈ n1 (2t + 1)Cnt+1 p i p t+1 .
Enseignantes: Sameh NAJEH , email: sameh.najeh@supcom.tn Fatma
SupportABDELKEFI,
de Cours de email:
Théoriefatma.abdelkefi@supcom.tn
de l’information
Introduction
Notations
Chapitre1: Codage Entropique sans pertes
Chapitre2: Codage Détecteur et Correcteur d’erreurs: Codage Canal

Gain de Codage

Pour une peb donnée, le gain apporté par le codage, appelé


gain de codage, est l’écart existant entre la courbe de
probabilité d’erreur sans codage et avec codage.
Exemple: Modulation BPSK, Code de Hamming pour
m = r = 3, 4, 5

Enseignantes: Sameh NAJEH , email: sameh.najeh@supcom.tn Fatma


SupportABDELKEFI,
de Cours de email:
Théoriefatma.abdelkefi@supcom.tn
de l’information
Introduction
Notations
Chapitre1: Codage Entropique sans pertes
Chapitre2: Codage Détecteur et Correcteur d’erreurs: Codage Canal

Codes Cycliques
Les codes cycliques constituent l’une des classes les plus
importantes des codes linéaires. Leur mise en oeuvre
relativement aisée, à partir de registres à décalage logiques
combinatoires simples, en a fait des codes très attractifs et
très utilisés dans les systèmes de transmission.
I Définitions et représentation polynômiale:
I Un code C (n, k) est dit cyclique s’il est linéaire et s’il vérifie la
propriété suivante
c = (c0 , ...cn−1 ) ∈ C ⇔ c1 = (c1 , ...cn−1 , c0 ) ∈ C (89)
Ainsi, l’ensemble des mots du code est stable par décalage
circulaire.
On peut dire que c1 est le shift de c.
I Il est commode d’utiliser la représentation polynômiale suivante
c = (c0 , ...cn−1 ) ⇔ c(x) = c0 + c1 x + ... + cn−1 x n−1 , cj ∈ F2 ,
(90)
Enseignantes: Sameh NAJEH , email: sameh.najeh@supcom.tn Fatma
SupportABDELKEFI,
de Cours de email:
Théoriefatma.abdelkefi@supcom.tn
de l’information
Introduction
Notations
Chapitre1: Codage Entropique sans pertes
Chapitre2: Codage Détecteur et Correcteur d’erreurs: Codage Canal

où x est une variable formelle


Multiplions le polynme c(x) par x −1
x −1 c(x) = x −1 c0 + c1 + .. + cn−1 x n−2 (91)
En introduisant le mot c1 (x) obtenu par permutation
circulaire à gauche d’un élément binaire du mot c(x), on
peut écrire aussi
x −1 c(x) = c0 x −1 (x n + 1) + c1 (x) (92)
Ainsi, le résultat de la multiplication d’un mot c(x) par la
variable x −1 est encore un mot du code modulo (x n + 1)
x −1 c(x) = c1 (x) mod (x n + 1) (93)
Ce résultat peut être étendu à la multiplication d’un mot
du code par x −i , qui redonne encore un mot du code
modulo (x n + 1), en effet on a
Enseignantes: Sameh NAJEH , email: sameh.najeh@supcom.tn Fatma
SupportABDELKEFI,
de Cours de email:
Théoriefatma.abdelkefi@supcom.tn
de l’information
Introduction
Notations
Chapitre1: Codage Entropique sans pertes
Chapitre2: Codage Détecteur et Correcteur d’erreurs: Codage Canal

x −i c(x) = qi (x)(x n +1)+ci (x) ⇔ x −i c(x) = ci (x) mod (x n +1)


(94)
où ci (x) est le polynôme associé au mot ci obtenu par
permutation circulaire à gauche de i éléments binaires du
mot c.
Considérons un polynôme normalisé de degré (n − k) et
diviseur de x n + 1

g (x) = g0 + g1 x + ...gj x j + ... + x n−k , mj ∈ F2 (95)

et soit h(x) le quotient de x n + 1 par g (x). Ainsi, on a

g (x)h(x) = x n + 1 (96)

où h(x) est un polynôme de de degré k.


Enseignantes: Sameh NAJEH , email: sameh.najeh@supcom.tn Fatma
SupportABDELKEFI,
de Cours de email:
Théoriefatma.abdelkefi@supcom.tn
de l’information
Introduction
Notations
Chapitre1: Codage Entropique sans pertes
Chapitre2: Codage Détecteur et Correcteur d’erreurs: Codage Canal

A tout bloc de k élément binaires d’information, on peut


associer un polynôme m(x) de degré k − 1.

m(x) = m0 + m1 x + ...mk−1 x k−1 , mj ∈ F2 (97)

En utilisant les deux équations (94) et (96), le mot ci (x)


est égal à

ci (x) = x −i c(x) + qi (x)h(x)g (x) (98)

Ainsi, si c(x) est un multiple du polynôme g (x), alors


tout mot ci (x) est aussi un multiple de g (x), comme suit

ci (x) = mi (x)g (x) (99)


où mi (x) est un polyôme de degré au plus égal à (k − 1),
représentant un bloc de k éléments binaires d’information.
Enseignantes: Sameh NAJEH , email: sameh.najeh@supcom.tn Fatma
SupportABDELKEFI,
de Cours de email:
Théoriefatma.abdelkefi@supcom.tn
de l’information
Introduction
Notations
Chapitre1: Codage Entropique sans pertes
Chapitre2: Codage Détecteur et Correcteur d’erreurs: Codage Canal

I Chaque mot d’un code cyclique peut donc être obtenu en


multipliant un polynôme d’information mi (x) par le polynôme
g (x) de degré (n − k) de diviseur x n + 1. Le polynôme g (x)
est appelé polynôme générateur du code cyclique.
I Compte tenu de l’expression (96), le polynôme h(x) de degré k
est appelé le polynôme de contrôle de parité du code.
I A partir du polynôme g (x) d’un code cyclique, il est facile de
déterminer une matrice génératrice du code. En effet, les k
lignes de la matrice génératrice d’un code en bloc linéaire sont
constituées par tout ensemble de k mots indépendants du
code, par exemple, à partir des coefficients binaires des k mots
suivants g (x), xg (x), ..x k−1 g (x).
I Exemples: Considérons un code cyclique C (7, 4), son
polynôme générateur de degré 3 est donc un diviseur de
x 7 + 1. Le polynôme x 7 + 1 peut être factorisé sous forme
d’un produit de trois polynômes:

x 7 + 1 = (1 + x + x 3 )(1 + x 2 + x 3 )(1 + x) (100)


Enseignantes: Sameh NAJEH , email: sameh.najeh@supcom.tn Fatma
SupportABDELKEFI,
de Cours de email:
Théoriefatma.abdelkefi@supcom.tn
de l’information
Introduction
Notations
Chapitre1: Codage Entropique sans pertes
Chapitre2: Codage Détecteur et Correcteur d’erreurs: Codage Canal

Le code cyclique C (7, 4) a donc pour le polynôme générateur

g (x) = 1 + x + x 3 ou g 0 (x) = 1 + x 2 + x 3 (101)

Une matrice génératrice de ce code peut donc être obtenue à


partir des 4 polynômes suivants:

g (x) = (1 + x + x 3 )
 
→ [1 1 0 1 0 0 0]
 xg (x) = (x + x 2 + x 4 ) → [0 1 1 0 1 0 0] 
 2  (102)
 x g (x) = (x 2 + x 3 + x 5 ) → [0 0 1 1 0 1 0] 
x 3 g (x) = (x 3 + x 4 + x 6 ) → [0 0 0 1 1 0 1]

Soit sous forme matricielle


 
1 1 0 1 0 0 0
 0 1 1 0 1 0 0 
G = 0 0
 (103)
1 1 0 1 0 
0 0 0 1 1 0 1
On remarque que G n’est pas sous forme réduite, puisqu’elle
n’est pas mise sous forme systématique.
Enseignantes: Sameh NAJEH , email: sameh.najeh@supcom.tn Fatma
SupportABDELKEFI,
de Cours de email:
Théoriefatma.abdelkefi@supcom.tn
de l’information
Introduction
Notations
Chapitre1: Codage Entropique sans pertes
Chapitre2: Codage Détecteur et Correcteur d’erreurs: Codage Canal

Codes Cycliques sous forme systématique


Lorsque le code est sous forme systématique, les éléments
binaires d’information sont séparés des éléments binaires
de redondance, et ainsi, le mot c(x) associé au polynôme
m(x) est de la forme

c(x) = v (x) + x n−k m(x) (104)

où v (x) est le polynôme de de degré égal à au plus


(n − k − 1), associé aux éléments binaires de redondance.
En tenant compte du fait que c(x) est un multiple du
polynôme générateur, et que les opérations sont effectuées
dans le corps F2 , l’expression précédente peut être donnée
par

x n−k m(x) = k(x)g (x) + v (x) (105)


Enseignantes: Sameh NAJEH , email: sameh.najeh@supcom.tn Fatma
SupportABDELKEFI,
de Cours de email:
Théoriefatma.abdelkefi@supcom.tn
de l’information
Introduction
Notations
Chapitre1: Codage Entropique sans pertes
Chapitre2: Codage Détecteur et Correcteur d’erreurs: Codage Canal

Ainsi, v (x) est le reste de la division de x n−k m(x) par


g (x). Ainsi, le mot du code associé à m(x) est égal à
x n−k m(x) augmenté du reste de la division de x n−k m(x)
par le polynôme générateur g (x), ie:

c(x) = x n−k m(x) + v (x) (106)

Exemple: Reprenons l’exemple du code C (7, 4)


précédent avec g (x) = (1 + x + x 3 ).
Soit le mot information m = [1 0 1 1], on peut écrire:
m(x) = 1 + x 2 + x 3 . Puisque: c(x) = x 3 m(x) + v (x),
alors on effectue la division euclidienne de x 3 m(x) par
g (x) = (1 + x + x 3 ), on obtient:

x 3 m(x) = x 6 + x 5 + x 3 = (x 3 + x + 1)(x 3 + x 2 + x + 1) + 1
(107)
Ainsi: c(x) = 1 + x 3 + x 5 + x 6 .
Enseignantes: Sameh NAJEH , email: sameh.najeh@supcom.tn Fatma
SupportABDELKEFI,
de Cours de email:
Théoriefatma.abdelkefi@supcom.tn
de l’information
Introduction
Notations
Chapitre1: Codage Entropique sans pertes
Chapitre2: Codage Détecteur et Correcteur d’erreurs: Codage Canal

Au mot info rmation m = [1 0 1 1] on associe


c = [1 0 0 1 0 1 1]. Notons que les 4 élélments binaires
d’information se retrouvent bien dans le mot c cadrés à
droite.
Décodage des codes cycliques
Pour les codes cycliques, le décodage consiste à
déterminer d’abord le polynôme s(x) du syndrome s,
ensuite on procéde de la même manière que si on a un
code en bloc. Le syndrome s(x) est obtenu en évaluant le
reste de la division du mot reçu r (x) par le polynôme
générateur g (x)

r (x) = g (x)q(x) + s(x) (108)


Exemple de décodage: décodage de MEGGITT:
Ce type de décodeur calcule le syndrôme s(x) puis, à l’aide
Enseignantes: Sameh NAJEH , email: sameh.najeh@supcom.tn Fatma
SupportABDELKEFI,
de Cours de email:
Théoriefatma.abdelkefi@supcom.tn
de l’information
Introduction
Notations
Chapitre1: Codage Entropique sans pertes
Chapitre2: Codage Détecteur et Correcteur d’erreurs: Codage Canal

d’une logique combinatoire détermine la configuration d’erreur


e(x) qu’il retranche (ou ajoute) finalement au mot reçu r (x).
Ce décodeur, dont le principe est simple, présente toutefois
deux inconvénients: il n’utilise pas nécessairement toute la
capacité de correction du code et la fonction logique
combinatoire, qui dépend du code, a rarement une expression
simple.
Afin d’illustrer le fonctionnement d’un décodeur de MEGGITT,
nous examinons le cas d’un code de Hamming, qui permettent
de corriger une erreur dans un mot de n éléments binaires,
toutes les erreurs corrigibles sont donc représentées par un
monôme d’erreur e(x) de la forme

e(x) = x j , 0 ≤ j ≤ n − 1 (109)

Puisque c(x) sont des multiples du polyôme générateur g (x)


et que le syndrome s(x) est le reste de la division de
Enseignantes: Sameh NAJEH , email: sameh.najeh@supcom.tn Fatma
SupportABDELKEFI,
de Cours de email:
Théoriefatma.abdelkefi@supcom.tn
de l’information
Introduction
Notations
Chapitre1: Codage Entropique sans pertes
Chapitre2: Codage Détecteur et Correcteur d’erreurs: Codage Canal

r (x) = c(x) + e(x) par g (x), on a:


e(x) = g (x)q 0 (x) + s(x) (110)
soit
s(x) = e(x) + g (x)q 0 (x) (111)
en multipliant le syndrome s(x) par x i et en remplaçant e(x)
par son espression (109), nous obtenons

x i s(x) = x i+j + x i g (x)q 0 (x) (112)


Si i + j = n, l’équation (112) peut se mettre sous la forme
x i s(x) = x n + x i g (x)q 0 (x) (113)
En tenant compte du fait que x n + 1 = g (x)h(x), nous
obtenons
x i s(x) = (h(x) + x i q 0 (x))g (x) + 1 (114)
Enseignantes: Sameh NAJEH , email: sameh.najeh@supcom.tn Fatma
SupportABDELKEFI,
de Cours de email:
Théoriefatma.abdelkefi@supcom.tn
de l’information
Introduction
Notations
Chapitre1: Codage Entropique sans pertes
Chapitre2: Codage Détecteur et Correcteur d’erreurs: Codage Canal

Ainsi, si le reste de la division de x i s(x) par le polyôme g (x)


est égal à 1, l’erreur est en position j = n − i.
Exemples de codes cycliques

1. Codes Bose-Chaudhuri-Hocquenghem (BCH): Ils


permettent de construire de manière systématique des
codes cycliques corrigeant au moins t symboles erronés
dans un bloc de n symboles. En effet, pour tout entiers m
et t, on peut construire un code BCH de paramètres
n = 2m − 1, k ≥ 2m − 1 − mt et d(c) ≥ 2t + 1. Le calcul
du polynôme geńérateur d’un code BCH nécessite
d’introduire des notions d’algèdre sur les corps de Galois.
Exemples de codes BCH:
n = 7, k = 4, t = 1, g (x) = 1 + x + x 3
(115)
n = 15, k = 11, t = 1, g (x) = 1 + x 3 + x 4
Enseignantes: Sameh NAJEH , email: sameh.najeh@supcom.tn Fatma
SupportABDELKEFI,
de Cours de email:
Théoriefatma.abdelkefi@supcom.tn
de l’information
Introduction
Notations
Chapitre1: Codage Entropique sans pertes
Chapitre2: Codage Détecteur et Correcteur d’erreurs: Codage Canal

2. Codes de Galay: Le code de Golay est un code cyclique


de paramètre n = 23, k = 12, de distance minimale
d(C ) = 7. Il y a deux polynômes qui permettent
d’engendrer un code de Golay

g1 (x) = 1 + x + x 5 + x 6 + x 7 + x 9 + x 11
(116)
g2 (x) = 1 + x 2 + x 4 + x 5 + x 6 + x 10 + x 11
Ce type de code permet de corriger jusqu’ 3 erreurs tout
en ayant un rendement élevé.
3. Codes Reed-Solomon (RS): Ils représentent une
sous-classe importante des codes BCH non binaires.
Un code RS : C(n,k) est un code BCH, telque:
I ses symboles sont dans GF (p m ), avec p est un nombre premier
I sa longueur n = p m − 1
I k = n − 2t, t est le pouvoir de correction
I sa distance minimale dmin = n − k + 1 = 2t + 1
Enseignantes: Sameh NAJEH , email: sameh.najeh@supcom.tn Fatma
SupportABDELKEFI,
de Cours de email:
Théoriefatma.abdelkefi@supcom.tn
de l’information
Introduction
Notations
Chapitre1: Codage Entropique sans pertes
Chapitre2: Codage Détecteur et Correcteur d’erreurs: Codage Canal

Codes convolutifs

Un codeur convolutif est constitué de:

1. un registre à (m+1).k étages qui mémorise le bloc des k


bits information courants et les m blocs précédents.

2. m est appelée mémoire du code.

3. m + 1 est appelée la longueur de contrainte du code.

4. une logique combinatoire calculant les blocs de n e.b de


sortie.

5. un multiplexeur.

Enseignantes: Sameh NAJEH , email: sameh.najeh@supcom.tn Fatma


SupportABDELKEFI,
de Cours de email:
Théoriefatma.abdelkefi@supcom.tn
de l’information
Introduction
Notations
Chapitre1: Codage Entropique sans pertes
Chapitre2: Codage Détecteur et Correcteur d’erreurs: Codage Canal

Entrée
Registre à (m +1)k
étages
Boloc de k
bits
Convertisseur
Logique Sortie
combinatoire
à base de porte
Parallèle Série
XOR Boloc de n
bits

I Paramètres d’un code convolutif:


Un codeur convolutif est donc défini par:
I Le nombre k de bits qui rentrent à chaque fois dans le registre.
La mémoire m, le nombre de bits des mots de codes n et les
connexions entre les portes XOR et les diffrents étages du
registre.
I La Longueur de contrainte δ = m + 1: nombre de décalages
d’un bloc de k e.b. tel que la sortie soit influencée par ce bloc.
Enseignantes: Sameh NAJEH , email: sameh.najeh@supcom.tn Fatma
SupportABDELKEFI,
de Cours de email:
Théoriefatma.abdelkefi@supcom.tn
de l’information
Introduction
Notations
Chapitre1: Codage Entropique sans pertes
Chapitre2: Codage Détecteur et Correcteur d’erreurs: Codage Canal

I Rendement du code: R = kn .
I Si les k e.b. d’entrée se retrouvent explicitement dans le bloc
de n e.b, en sortie le code est dit systématique.
I Le codage convolutif est utilisé lorsque le train binaire d’entrée
n’est pas séparé en blocs à l’issue du codage de source.
I Le qualificatif convolutif provient du fait que la sortie du
codeur est le produit de convolution entre la séquence binaire
à coder et la réponse du codeur définie par ses séquences
génératrices. Ces séquences sont au nombre de n et sont
définies comme suit:

gi = (gi0 , gi1 , ...gi(m+1)k−1 ) (117)

où gij = 1 si la ième porte XOR est connectée au jème étage


du registre et gij = 0 sinon.
I les séquences génératrices peuvent être donnée sous forme
polynômiale:
(m+1)k−1
X
g i (D) = gij D j (118)
j=0
Enseignantes: Sameh NAJEH , email: sameh.najeh@supcom.tn Fatma
SupportABDELKEFI,
de Cours de email:
Théoriefatma.abdelkefi@supcom.tn
de l’information
Introduction
Notations
Chapitre1: Codage Entropique sans pertes
Chapitre2: Codage Détecteur et Correcteur d’erreurs: Codage Canal

I le l ème mot de code en sortie du codeur νl est la convolution


de l’entrée ul avec les séquences génératrices:

(m+1)k−1
X
νli = gij ul−j , (119)
j=0

où νli est le i ème bit de cl


I La somme est faite modulo 2.
I Le codeur convolutif est linéaire car la sortie est une
combinaison linéaire de son entrée.

I Exemple d’un code convolutif:


Code de rendement R = 12 et de longueur de contrainte
δ = m + 1 = 3. Son entrée est constituée par des blocs de
k = 1 élément binaire et sa sortie par des blocs de n = 2
éléments binaires.
Enseignantes: Sameh NAJEH , email: sameh.najeh@supcom.tn Fatma
SupportABDELKEFI,
de Cours de email:
Théoriefatma.abdelkefi@supcom.tn
de l’information
Introduction
Notations
Chapitre1: Codage Entropique sans pertes
Chapitre2: Codage Détecteur et Correcteur d’erreurs: Codage Canal

Les gi sont donnés par

g1 = [g10 , g11 , g12 ] = [1, 1, 1] = 7(en octal)


(120)
g2 = [g20 , g21 , g22 ] = [1, 0, 1] = 5(en octal)
Enseignantes: Sameh NAJEH , email: sameh.najeh@supcom.tn Fatma
SupportABDELKEFI,
de Cours de email:
Théoriefatma.abdelkefi@supcom.tn
de l’information
Introduction
Notations
Chapitre1: Codage Entropique sans pertes
Chapitre2: Codage Détecteur et Correcteur d’erreurs: Codage Canal

Les polynômes générateurs sont donnés par

g1 ⇒ G1 (D) = g10 + g11 D + g12 D 2 = 1 + D + D 2


g2 ⇒ G2 (D) = g20 + g21 D + g22 D 2 = 1 + D 2
(121)
I Représentation des codes convolutifs
I L’état d’un codeur convolutif dépend non seulement de
l’entrée courante, mais aussi des m entrées précédentes.
I L’état d’un codeur convolutif peut prendre 2mk valeurs. En
général, on suppose que le registre à décalage est initialisé à
zéro, ainsi l’état de départ est l’état tout à zéro. Ensuite,
l’état du codeur va évoluer au cours du temps.
I Il existe trois types de représentations de diagrammes qui
permettent d’étudier le fonctionnement d’un codeur convolutif
au cours du temps: matricielle, polynômiale et graphique
I Représentations graphiques :
1. Diagramme en arbre,
2. Diagramme d’états,
Enseignantes: Sameh NAJEH , email: sameh.najeh@supcom.tn Fatma
SupportABDELKEFI,
de Cours de email:
Théoriefatma.abdelkefi@supcom.tn
de l’information
Introduction
Notations
Chapitre1: Codage Entropique sans pertes
Chapitre2: Codage Détecteur et Correcteur d’erreurs: Codage Canal

3. Diagramme en treillis

I Exemple: Considérons le même code précédent et les 4 états


définis par: a = 00, b = 01, c = 10, d = 11

1. Représentation en arbre Le temps est de gauche à droite,


l’entrée dans cet exemple est un seul bit (0 ou 1), donc de
chaque état partent deux branche. Lorsque l’entrée est égale à
0 (resp. 1) la branche est montante (resp. descendante). Le
mot de code obtenu est noté entre parenthèse au niveau de
l’état suivant. Ce diagramme est surtout utilisé lors du
décodage de Fano.
Enseignantes: Sameh NAJEH , email: sameh.najeh@supcom.tn Fatma
SupportABDELKEFI,
de Cours de email:
Théoriefatma.abdelkefi@supcom.tn
de l’information
Introduction
Notations
Chapitre1: Codage Entropique sans pertes
Chapitre2: Codage Détecteur et Correcteur d’erreurs: Codage Canal

2. Représentation en diagramme d’état


Le diagramme d’état est une représentation du fonctionnement
du codeur convolutif ne faisant pas apparaı̂tre l’évolution du
temps. Lorsque le bit information à l’entrée du codeur est égal
1 (resp. 0) la flèche de transition est en trait fort (resp. trait
pointillé). Ce diagramme est surtout utilisé pour déterminer la
Enseignantes: Sameh NAJEH , email: sameh.najeh@supcom.tn Fatma
SupportABDELKEFI,
de Cours de email:
Théoriefatma.abdelkefi@supcom.tn
de l’information
Introduction
Notations
Chapitre1: Codage Entropique sans pertes
Chapitre2: Codage Détecteur et Correcteur d’erreurs: Codage Canal

fonction de transfert du codeur.

3. Représentation en treillis Les états du codeur sont


représentés de la façon avec laquelle ils évoluent au cours du
temps et les mots de code obtenus. Lorsque le bit
d’information est égal 1 (resp.0) le trait est un trait continu
(resp. en pointillé). Ce diagramme est utilisé par l’algorithme
de Viterbi pour le décodage des codes convolutifs.
Enseignantes: Sameh NAJEH , email: sameh.najeh@supcom.tn Fatma
SupportABDELKEFI,
de Cours de email:
Théoriefatma.abdelkefi@supcom.tn
de l’information
Introduction
Notations
Chapitre1: Codage Entropique sans pertes
Chapitre2: Codage Détecteur et Correcteur d’erreurs: Codage Canal

I Décodage des codes convolutifs:


Contrairement aux codes en blocs, il faut considérer
l’ensemble des mots reçus pour estimer les mots de codes
émis et en déduire les mots d’information correspondants.
En effet, tous les mots de codes dépendent non seulement
du mot information correspondant mais aussi des m mots
Enseignantes: Sameh NAJEH , email: sameh.najeh@supcom.tn Fatma
SupportABDELKEFI,
de Cours de email:
Théoriefatma.abdelkefi@supcom.tn
de l’information
Introduction
Notations
Chapitre1: Codage Entropique sans pertes
Chapitre2: Codage Détecteur et Correcteur d’erreurs: Codage Canal

d’informations précédents. Soit u la séquence de N mots


d’informations à émettre:
u = (u1 , ..uN ), où ui = (ui1 , ..uik ) est le ième mot
d’information.
Soit ν la séquence des mots de codes correspondante est
notée:
ν = (ν1 , ..νN ), où νi = (νi1 , ..νin ) est le ième mot de code.
On suppose que le canal est Gaussien, ainsi le mot reçu
est donné par: y = ν + b, où b = (b11 , ..bNn ) sont des
réalisations d’un Bruit Blanc Additif et Gaussian (BBAG)
de variance N0 .

I Décodage à maximum de vraisemblance


Ayant reçu y le décodeur cherche la séquence émise ν̂ qui
maximise la probabilité de décision correcte.
Soit Pdc la probabilité de décision correcte définie comme
Enseignantes: Sameh NAJEH , email: sameh.najeh@supcom.tn Fatma
SupportABDELKEFI,
de Cours de email:
Théoriefatma.abdelkefi@supcom.tn
de l’information
Introduction
Notations
Chapitre1: Codage Entropique sans pertes
Chapitre2: Codage Détecteur et Correcteur d’erreurs: Codage Canal

suit
Z
Pdc = P(ν̂ = ν) = P(ν̂ = ν/Y = y )P(Y = y )dy
(122)
Le mot décodé est donné par
ν̂ = argmaxν P(ν̂ = ν) = argmaxν P(ν/Y = y ) (123)
Ce critère s’appelle le critère de Maximum A Postériori
(MAP). Sachant que:
P(A, B) = p(A/B)p(B) = p(B/A)p(A), alors on peut
écrire
P(Y = y /ν)P(ν)
ν̂ = argmaxν = argmaxν P(Y = y /ν)P(ν)
P(Y = y )
(124)
Si P(ν) = cst, alors ν̂ = argmaxν P(Y = y /ν): Ce critère
s’appelle le critère de Maximum Vraisemblance (MV).
Enseignantes: Sameh NAJEH , email: sameh.najeh@supcom.tn Fatma
SupportABDELKEFI,
de Cours de email:
Théoriefatma.abdelkefi@supcom.tn
de l’information
Introduction
Notations
Chapitre1: Codage Entropique sans pertes
Chapitre2: Codage Détecteur et Correcteur d’erreurs: Codage Canal

I Décodage à Maximum de Vraisemblance


I Pour un canal gaussien, on a
N Y
n
Y 1 (yij − νij )2
P(Y = y /ν) = √ exp(− ) (125)
2πN0 2N0
i=1 j=1

I Ainsi, le critère de MV consiste à chercher le mot de code qui


est le plus proche de y au sens de la distance euclidienne:
N X
X n
ν̂ = argminν (yij − νij )2 (126)
i=1 j=1

I Le décodeur peut être à entrée souple (Souple decision


decoding), c.à.d il n’ya pas de prise de décision sur le mot reçu
à l’entrée du décodeur canal. L’entrée du décodeur peut être à
entrée dure (Hard decision decoding), c.à.d il y a une prise de
décision sur les composantes du mot reçu. Evidement le
décodage souple donne de meilleures performances: l’idée de
Enseignantes: Sameh NAJEH , email: sameh.najeh@supcom.tn Fatma
SupportABDELKEFI,
de Cours de email:
Théoriefatma.abdelkefi@supcom.tn
de l’information
Introduction
Notations
Chapitre1: Codage Entropique sans pertes
Chapitre2: Codage Détecteur et Correcteur d’erreurs: Codage Canal

prendre une décision sur les mots proche du seuil de décision


n’est pas bonne. La prise de décision entraı̂ne une perte
d’information sur la fiabilité des mots reçus.
I On suppose que l’ensemble canal et prise de décision peut être
modélisé par un Canal Binaire Symétrique (CBS) de probabilité
p. On appelle r̂ la sortie du comparateur à seuil. La probabilité
d’observer r̂ sachant que ν̂ a été transmis est donnée par:
p dH (r ,ν)
P(R = r /ν) = p dH (r ,ν) (1−p)Nn−dH (r ,ν) = ( ) (1−p)Nn
1−p
(127)
p
I Puisque p < 1/2 alors 1−p < 1. Ainsi, pour maximiser
P(R = r /ν), il suffit de rechercher la séquence ν la plus
proche de r̂ selon la distance de Hamming:
ν̂ = argminν dH (r , ν)
(128)

La recherche de la séquence de mots de codes la plus proche
de la séquence reçue est très complexe car le nombre de
séquences possibles est très élevé.
Enseignantes: Sameh NAJEH , email: sameh.najeh@supcom.tn Fatma
SupportABDELKEFI,
de Cours de email:
Théoriefatma.abdelkefi@supcom.tn
de l’information
Introduction
Notations
Chapitre1: Codage Entropique sans pertes
Chapitre2: Codage Détecteur et Correcteur d’erreurs: Codage Canal

Solution: Algorithme de Viterbi, car il permet d’effectuer le


décodage avec une complexité raisonnable.
I Algorithme de Viterbi
I Principe: rechercher dans le diagramme en treillis la suite
d’état la plus vraisemblable c.à.d dont les mots de code
associés sont les plus proches de la séquence reçue.
L’algorithme opère par calcul d’une métrique associée à
chacun des chemins candidats: La métrique est
simplement la distance de Hamming entre la séquence
reçue et la séquence du chemin candidat.
I Etapes de décodage: Le décodeur part du même état
duquel est parti le codeur c.à. d, l’état a est le plus
vraisemblable à t = 0, sa métrique est initialisée zéro
alors que les autres états sont initialisés à +∞. La
métrique d’un état donne la distance entre le chemin du
treillis arrivant à cet état et la séquence reçue. Cette
Enseignantes: Sameh NAJEH , email: sameh.najeh@supcom.tn Fatma
SupportABDELKEFI,
de Cours de email:
Théoriefatma.abdelkefi@supcom.tn
de l’information
Introduction
Notations
Chapitre1: Codage Entropique sans pertes
Chapitre2: Codage Détecteur et Correcteur d’erreurs: Codage Canal

métrique est appelée métrique cumulée, elle est notée en


dessous de chaque état. L’algorithme calcule ensuite la
distance séparant les mots de codes obtenus lors de deux
transitions (vers a et c) et mot reçu. Ces métriques sont
appelées métriques de branche, elles sont notées au-dessus
des traits de transition. Elles permettent de mettre à jour
les métriques cumulées.
Exemple: On considère le code convolutif de l’exemple
précédent et on suppose que la séquence reçue:
r = (01000111).

Enseignantes: Sameh NAJEH , email: sameh.najeh@supcom.tn Fatma


SupportABDELKEFI,
de Cours de email:
Théoriefatma.abdelkefi@supcom.tn
de l’information
Introduction
Notations
Chapitre1: Codage Entropique sans pertes
Chapitre2: Codage Détecteur et Correcteur d’erreurs: Codage Canal

Enseignantes: Sameh NAJEH , email: sameh.najeh@supcom.tn Fatma


SupportABDELKEFI,
de Cours de email:
Théoriefatma.abdelkefi@supcom.tn
de l’information
Introduction
Notations
Chapitre1: Codage Entropique sans pertes
Chapitre2: Codage Détecteur et Correcteur d’erreurs: Codage Canal

I Performances théoriques des codes convolutifs:


L’erreur la plus probable que peut commettre le décodeur
se produit lorsqu’il décide que la séquence binaire codée
est an alors que celle émise est bn et que ces deux
séquences sont les séquences les plus proches dans le
treillis. La distance libre (en Anglais: free distance) est la
plus petite distance entre deux séquences codées du treillis
qui divergent puis convergent. Elle est souvent notée df .
Les codes convolutifs étant linéaires, ainsi df est le poids
minimal des chemins qui divergent puis converge avec le
chemin nul (la succession d’états nuls). La détermination
des performances des codes convolutifs se fait en
déterminant le poids de tous les chemins du treillis. On
note ad le nombre de chemins distants de d ≥ df du
chemin nul.
Pour évaluer la probabilité d’erreur binaire, on doit aussi
Enseignantes: Sameh NAJEH , email: sameh.najeh@supcom.tn Fatma
SupportABDELKEFI,
de Cours de email:
Théoriefatma.abdelkefi@supcom.tn
de l’information
Introduction
Notations
Chapitre1: Codage Entropique sans pertes
Chapitre2: Codage Détecteur et Correcteur d’erreurs: Codage Canal

déterminer le nombre cd de bits d’information égaux 1


sur ces chemins, c.à.d le nombre de bits décodés faux. ad
et cd sont appelées spectres de distances (distance
spectra). Elles peuvent être déduites de la fonction de
transfert du codeur convolutif.
Fonction de transfert: La fonction de transfert du
codeur convolutif est obtenue à partir du diagramme
d’état en scindant l’état nul a en deux états ae et as où
les indices e et s font référence respectivement l’état
d’entrée et de sortie.
Ensuite, on porte sur chaque branche D j N i où i le poids
de Hamming du k uplet à mettre en entrée du codeur
pour parcourir la branche considérée et j est le poids du
mot de code associé. Les quantités D et N sont des
variables formelles.
Fonction de Transfert: La fonction de transfer T (D, N)
Enseignantes: Sameh NAJEH , email: sameh.najeh@supcom.tn Fatma
SupportABDELKEFI,
de Cours de email:
Théoriefatma.abdelkefi@supcom.tn
de l’information
Introduction
Notations
Chapitre1: Codage Entropique sans pertes
Chapitre2: Codage Détecteur et Correcteur d’erreurs: Codage Canal

est définie par: T (D, N) = aaes .


Dans l’expression de T (D, N), Les exposants de D sont
égaux aux poids des différents chemins alors que
l’exposant de N donne le poids de la séquence de mots
d’informations associée et le coefficient multiplicatif 2k
donne le nombre de chemins se trouvant à la distance
spécifiée par l’exposant de D.
Considérant l’exemple du codeur déjà défini, le diagramme
d’état sciendé devient

Enseignantes: Sameh NAJEH , email: sameh.najeh@supcom.tn Fatma


SupportABDELKEFI,
de Cours de email:
Théoriefatma.abdelkefi@supcom.tn
de l’information
Introduction
Notations
Chapitre1: Codage Entropique sans pertes
Chapitre2: Codage Détecteur et Correcteur d’erreurs: Codage Canal

A partir de ce graphe on a
c = D 2 Nae + Nb
b = Dc + Dd
d = DNc + DNd (129)
as = D 2 b
D5N
= +∞ k k+5 k+1
P
=⇒ T (D, N) = 1−2DN k=0 2 D N
Enseignantes: Sameh NAJEH , email: sameh.najeh@supcom.tn Fatma
SupportABDELKEFI,
de Cours de email:
Théoriefatma.abdelkefi@supcom.tn
de l’information
Introduction
Notations
Chapitre1: Codage Entropique sans pertes
Chapitre2: Codage Détecteur et Correcteur d’erreurs: Codage Canal

il existe 2k chemins de poids de Hamming égal à (k + 5)


et qui correspondent à des séquences de poids (k+1).
Si k = 0, alors l’exposant de D est égal à 5. C’est la
distance libre du code: df = 5. on rappelle que df est la
plus petite distance de Hamming qui existe entre deux
chemins qui divergent d’un nœud puis y convergent de
nouveau pour la première fois.
Dans le cas de codeurs convolutifs à grand nombre
d’états, la méthode qu’on vient d’utiliser devient trop
complexe et on utilise plutôt des algorithmes pour
déterminer les distances spectrales. Le choix des
connexions se fait en maximisant la distance libre du
codeur.
I Probabilité d’erreur binaire: Un événement d’erreur
se produit s’il existe un chemin incorrecte plus proche de
la séquence reçue que le chemin nul.
I Décodeur à entrée dure: un chemin distant de d du chemin
Enseignantes: Sameh NAJEH , email: sameh.najeh@supcom.tn Fatma
SupportABDELKEFI,
de Cours de email:
Théoriefatma.abdelkefi@supcom.tn
de l’information
Introduction
Notations
Chapitre1: Codage Entropique sans pertes
Chapitre2: Codage Détecteur et Correcteur d’erreurs: Codage Canal

correct est sélectionné si plus de d/2 erreurs se produisent lors


de la transmission.
La probabilité qu’un tel chemin soit séléctionné vaut

Pd i i d−i
pd = i=(d+1)/2 Cd p (1 − p) , si d est impair
1 d/2 d/2 d/2 d
+ i=d/2+1 Cdi p i (1 − p)d−i ,
P
pd = 2 Cd p (1 − p) sinon
(130)
où, p étant la probabilité d’erreur binaire à l’entrée du
décodeur canal.
Pour un système de transmission utilisant une MDA-2 sur un
canal gaussien, on a:
r
2Eb Rc
p = Q( ) (131)
N0
I Décodeur à entrée souple: pour un système de transmission
utilisant une MDA − 2 sur un canal gaussien, la probabilité
qu’un chemin distant de d du chemin optimal soit sélectionné
Enseignantes: Sameh NAJEH , email: sameh.najeh@supcom.tn Fatma
SupportABDELKEFI,
de Cours de email:
Théoriefatma.abdelkefi@supcom.tn
de l’information
Introduction
Notations
Chapitre1: Codage Entropique sans pertes
Chapitre2: Codage Détecteur et Correcteur d’erreurs: Codage Canal

lors d’un décodage à entrée souple est donnée comme suit


r
2dEb Rc
Pe = Q( ) (132)
N0
Pour déterminer la probabilité d’occurrence p(E ) d’un premier
événement d’erreur, il faut comptabiliser les événements
d’erreurs dûs aux différents chemins. Soit Ed une v.a
modélisant les événements d’erreur dû à un chemin distant de
d du chemin optimal. La probabilité d’avoir un événement
d’erreur à un niveau donné du treillis vaut
P(E ) = P(∪d Ed ) (133)
Les événements Ed ne sont pas indépendants, donc on a
X +∞
X
P(E ) ≤ p(Ed ) ≤ ad pd (134)
d d=df

On montre que
Pd ≤ 2d [p(1 − p)]d/2 (135)
Enseignantes: Sameh NAJEH , email: sameh.najeh@supcom.tn Fatma
SupportABDELKEFI,
de Cours de email:
Théoriefatma.abdelkefi@supcom.tn
de l’information
Introduction
Notations
Chapitre1: Codage Entropique sans pertes
Chapitre2: Codage Détecteur et Correcteur d’erreurs: Codage Canal

On montre que, au moyen de la fonction de transfert T


p
P(E ) ≤ T (2 p(1 − p), 1) (136)

En tenant compte du fait que cd est le poids des mots


d’information des chemins incorrects, alors la probabilité
d’erreur Peb est donnée par
+∞
1 X
Peb ≤ ad cd pd (137)
k
d=df

En utilisant l’équation (136), on peut montrer que


p
1 ∂T (2 p(1 − p), N)
Peb ≤ |N=1 (138)
k ∂N

Enseignantes: Sameh NAJEH , email: sameh.najeh@supcom.tn Fatma


SupportABDELKEFI,
de Cours de email:
Théoriefatma.abdelkefi@supcom.tn
de l’information
Introduction
Notations
Chapitre1: Codage Entropique sans pertes
Chapitre2: Codage Détecteur et Correcteur d’erreurs: Codage Canal

Enseignantes: Sameh NAJEH , email: sameh.najeh@supcom.tn Fatma


SupportABDELKEFI,
de Cours de email:
Théoriefatma.abdelkefi@supcom.tn
de l’information

Vous aimerez peut-être aussi