Introduction au codage de canal
Introduction au codage de canal
Théorie de l’information
Cours 7 - Introduction au codage canal Capacité d’un canal de communication
Capacité d’un canal
Capacité d’un canal binaire symétrique
Cas d’un message de longueur n
Laurent Oudre
[Link]@[Link]
Deuxième théorème de Shannon (hors programme)
Principe du codage canal
Quelques notions de codage canal
Université Paris 13, Institut Galilée Deuxième théorème de Shannon
Master Ingénierie et Innovations en Images et Réseaux - 1ère année
2017-2018
Laurent Oudre Théorie de l’information 2017-2018 1 / 46 Laurent Oudre Théorie de l’information 2017-2018 2 / 46
Capacité d’un canal de communication Capacité d’un canal de communication Capacité d’un canal
Laurent Oudre Théorie de l’information 2017-2018 3 / 46 Laurent Oudre Théorie de l’information 2017-2018 4 / 46
Capacité d’un canal de communication Capacité d’un canal Capacité d’un canal de communication Capacité d’un canal
X Canal Y
◮ Dans un canal non bruité, on a exactement Y = X , et les variables X et Y
contiennent exactement la même information
◮ Dans le cas général, on a vu que l’information mutuelle I (X ; Y ) représentait
Bruit la quantité d’information commune à X et Y .
◮ I (X ; Y ) nous permet donc de quantifier le lien entre l’entrée et la sortie du
canal
◮ On considère un canal discret sans mémoire. ◮ Si I (X ; Y ) est très élevée, cela signifie que Y a beaucoup d’information en
◮ On se place après l’étape de codage source, ce qui fait que l’on traite commun avec X : il sera donc facile d’estimer X à partir de Y
maintenant une nouvelle source X , plus nécessairement sans mémoire, dont ◮ En revanche si I (X ; Y ) est très faible, il n’y a pas ou peu de liens entre X et
l’alphabet est X = {0, 1} Y , et on aura du mal à retrouver l’entrée X à partie de la sortie Y
◮ On note Y la variable aléatoire liée à la sortie du canal. Elle prend ses valeurs
dans Y qui n’est pas nécessairement identique à X
Laurent Oudre Théorie de l’information 2017-2018 5 / 46 Laurent Oudre Théorie de l’information 2017-2018 6 / 46
Capacité d’un canal de communication Capacité d’un canal Capacité d’un canal de communication Capacité d’un canal
Laurent Oudre Théorie de l’information 2017-2018 7 / 46 Laurent Oudre Théorie de l’information 2017-2018 8 / 46
Capacité d’un canal de communication Capacité d’un canal Capacité d’un canal de communication Capacité d’un canal binaire symétrique
1−ǫ
0 0
ǫ
◮ La capacité d’un canal quantifie le lien maximal possible entre l’entrée et la
sortie du canal
◮ Le terme de capacité fait donc sens, car le canal ne peut pas créer plus de
lien entre X et Y , il n’en est pas capable ǫ
Laurent Oudre Théorie de l’information 2017-2018 9 / 46 Laurent Oudre Théorie de l’information 2017-2018 10 / 46
Capacité d’un canal de communication Capacité d’un canal binaire symétrique Capacité d’un canal de communication Capacité d’un canal binaire symétrique
Calcul de la capacité d’un canal binaire symétrique Calcul de la capacité d’un canal binaire symétrique
1−ǫ
0 0
1−ǫ ǫ
0 0
ǫ
ǫ 1 1
1−ǫ
1 1
1−ǫ
H(Y |X ) = −(1 − p)ǫ log2 (ǫ) − pǫ log2 (ǫ) − p(1 − ǫ) log2 (1 − ǫ) − (1 − p)(1 − ǫ) log2 (1 − ǫ)
= −ǫ log2 (ǫ) − (1 − ǫ) log2 (1 − ǫ)
◮ pY (0) = pY |X (0|0)pX (0) + pY |X (0|1)pX (1) = (1 − ǫ)p + ǫ(1 − p) = p + ǫ − 2pǫ
◮ pY (1) = 1 − p − ǫ + 2pǫ ◮ On a :
I (X ; Y ) = H(Y ) − H(Y |X )
◮ Donc :
H(Y ) = −(p + ǫ − 2pǫ) log2 (p + ǫ − 2pǫ) − (1 − p − ǫ + 2pǫ) log2 (1 − p − ǫ + 2pǫ)
I (X ; Y ) = −(p+ǫ−2pǫ) log2 (p+ǫ−2pǫ)−(1−p−ǫ+2pǫ) log2 (1−p−ǫ+2pǫ)
+ǫ log2 (ǫ) + (1 − ǫ) log2 (1 − ǫ)
Laurent Oudre Théorie de l’information 2017-2018 11 / 46 Laurent Oudre Théorie de l’information 2017-2018 12 / 46
Capacité d’un canal de communication Capacité d’un canal binaire symétrique Capacité d’un canal de communication Capacité d’un canal binaire symétrique
Calcul de la capacité d’un canal binaire symétrique Calcul de la capacité d’un canal binaire symétrique
Laurent Oudre Théorie de l’information 2017-2018 13 / 46 Laurent Oudre Théorie de l’information 2017-2018 14 / 46
Capacité d’un canal de communication Capacité d’un canal binaire symétrique Capacité d’un canal de communication Cas d’un message de longueur n
Calcul de la capacité d’un canal binaire symétrique Cas d’un message de longueur n
◮ On aurait pu éviter un long calcul en remarquant que comme H(Y ) est le X (1) X (2) . . . X (n) Canal Y (1) Y (2) . . . Y (n)
seul terme dépendant de p, il suffit pour que I (X ; Y ) soit maximale que
H(Y ) le soit
◮ Or H(Y ) est l’entropie d’une variable aléatoire binaire dans un alphabet Bruit
{0, 1} à M = 2 éléments, elle est donc maximale pour
1
pY (0) = pY (1) = et vaut dans ce cas H(Y ) = log2 (2) = 1 bit ◮ Nous avons pour le moment considéré l’envoi, la transmission et la réception
2
d’un unique bit
◮ On a donc ◮ Nous allons maintenant étudier le cas où l’on transmet un message contenant
I (X ; Y ) ≤ 1 + ǫ log2 (ǫ) + (1 − ǫ) log2 (1 − ǫ) n bits
et l’on retrouve donc naturellement la capacité du canal ◮ X (t) représente la variable aléatoire liée au symbole émis au temps t
◮ Y (t) représente la variable aléatoire liée au symbole reçu au temps t
Laurent Oudre Théorie de l’information 2017-2018 15 / 46 Laurent Oudre Théorie de l’information 2017-2018 16 / 46
Capacité d’un canal de communication Cas d’un message de longueur n Capacité d’un canal de communication Cas d’un message de longueur n
I (X , Y ) = H(Y ) − H(Y |X )
◮ On notera pour simplifier les notations :
X X
(1) (n) (1) (n) H(Y |X ) = − pX Y x, y log2 pY |X y |x
Y =Y ...Y X =X ...X
x∈X n y ∈Y n
n
!
◮ Comme le canal est sans mémoire, on a : X X Y
= − pX Y x, y log2 pY |X y (t) |x (t) canal sans mémoire
n x∈X n y ∈Y n t=1
Y
(1) (n) (1) (n)
pY |X y ...y |x ...x = pY |X y (t) |x (t) n X X
X
= − pX Y x, y log2 pY |X y (t) |x (t)
t=1
t=1 x∈X n y ∈Y n
Laurent Oudre Théorie de l’information 2017-2018 17 / 46 Laurent Oudre Théorie de l’information 2017-2018 18 / 46
Capacité d’un canal de communication Cas d’un message de longueur n Capacité d’un canal de communication Cas d’un message de longueur n
◮ On a donc :
N
X n
X
(t)
I (X ; Y ) = H(Y ) − H(Y |X ) I (X ; Y ) ≤ H(Y )− H(Y (t) |X (t) )
t=1 t=1
◮ Donc finalement :
n
H(Y ) = H(Y (1) . . . Y (n) ) X
I (X ; Y ) ≤ I (X (t) ; Y (t) )
= H(Y (1) , . . . , Y (n) ) t=1
n
X ◮ Or par définition on a :
≤ H(Y (t) )
t=1
∀t I (X (t) ; Y (t) ) ≤ C
◮ Donc finalement :
I (X ; Y ) ≤ n × C
Laurent Oudre Théorie de l’information 2017-2018 19 / 46 Laurent Oudre Théorie de l’information 2017-2018 20 / 46
Capacité d’un canal de communication Cas d’un message de longueur n Deuxième théorème de Shannon (hors programme)
◮ La capacité d’un canal limite donc le lien possible entre le message de sortie
et le message d’entrée Capacité d’un canal de communication
◮ Connaissant cette contrainte, on peut se demander : si la capacité du canal
Deuxième théorème de Shannon (hors programme)
est très faible, pourra-t-on tout de meme retrouver X à partir Y sans faire Principe du codage canal
aucune erreur ? Quelques notions de codage canal
Deuxième théorème de Shannon
◮ Intuitivement, on a envie de répondre non et de dire que s’il y a trop de bruit,
la tache sera impossible.
◮ Shannon a au contraire prouvé que cela était possible, à condition
d’introduire avant l’envoi sur le canal une étape supplémentaire, appelée
codage canal, qui va rajouter des bits supplémentaires. C’est le deuxième
théorème de Shannon.
Laurent Oudre Théorie de l’information 2017-2018 21 / 46 Laurent Oudre Théorie de l’information 2017-2018 22 / 46
Deuxième théorème de Shannon (hors programme) Principe du codage canal Deuxième théorème de Shannon (hors programme) Principe du codage canal
Laurent Oudre Théorie de l’information 2017-2018 23 / 46 Laurent Oudre Théorie de l’information 2017-2018 24 / 46
Deuxième théorème de Shannon (hors programme) Principe du codage canal Deuxième théorème de Shannon (hors programme) Principe du codage canal
Laurent Oudre Théorie de l’information 2017-2018 25 / 46 Laurent Oudre Théorie de l’information 2017-2018 26 / 46
Deuxième théorème de Shannon (hors programme) Principe du codage canal Deuxième théorème de Shannon (hors programme) Principe du codage canal
1 1
0.9
Le bruit est modélisé par une probabilité d’erreur de 0.1
On appellera Y la sortie (ce que recevra le destinataire) à valeurs dans {0, 1}
Laurent Oudre Théorie de l’information 2017-2018 27 / 46 Laurent Oudre Théorie de l’information 2017-2018 28 / 46
Deuxième théorème de Shannon (hors programme) Principe du codage canal Deuxième théorème de Shannon (hors programme) Principe du codage canal
Laurent Oudre Théorie de l’information 2017-2018 29 / 46 Laurent Oudre Théorie de l’information 2017-2018 30 / 46
Deuxième théorème de Shannon (hors programme) Quelques notions de codage canal Deuxième théorème de Shannon (hors programme) Quelques notions de codage canal
◮ Le but de cette partie n’est pas d’étudier en détail les techniques de codage
canal, mais de donner quelques définitions et d’introduire quelques concepts
permettant de comprendre le principe du codage canal. Il existe plusieurs types de codages canal :
◮ Pour de plus amples informations, on se reportera au cours CDCE optionnel ◮ Ceux qui vont introduire de la redondance pour diminuer la probabilité
au second semestre d’erreur (par exemple code à répétition que nous avons traité en exemple)
◮ Le principe du codage canal est toujours le même : on va transformer un ◮ Ceux qui vont détecter la présence d’erreurs pour pouvoir éventuellement
message binaire en un autre message binaire de taille plus élevée, afin de le demander à la source de ré-envoyer le message : codes détecteurs d’erreurs
rendre plus robuste aux erreurs. ◮ Ceux qui vont détecter et corriger les bits erronés : codes correcteurs d’erreurs
◮ Si on code de façon astucieuse, on peut réduire ou annuler la probabilité
d’erreur, c’est à dire faire en sorte qu’on puisse retrouver parfaitement ou
presque le message émis à partir du message reçu
Laurent Oudre Théorie de l’information 2017-2018 31 / 46 Laurent Oudre Théorie de l’information 2017-2018 32 / 46
Deuxième théorème de Shannon (hors programme) Quelques notions de codage canal Deuxième théorème de Shannon (hors programme) Quelques notions de codage canal
Message à envoyer : 011000 On appelle (M, n)-code un sous ensemble de M mots-code de longueur n
réalisés avec l’alphabet X = {0, 1}
◮ Code à répétition de longueur 3 : On divise en bloc de taille 1 et on repète chaque
bloc 3 fois : C = {x 1 , . . . , x M } ⊂ X n
011000 −→ 0 1 1 0 0 0 −→ 000 111 111 000 000 000
On a M = 2 mots-code possibles : 000 et 111
Ce code nous permet de diminuer la probabilité d’erreur. Pour l’annuler
◮ M est le nombre de mots-code constituant le code
totalement, il faudrait répéter le bit une infinité de fois ◮ n est la longueur moyenne du code (appelée parfois simplement
◮ Code de parité de longueur 2 : On divise en bloc de taille 2 et on ajoute un 3 ème longueur car tous les mots-code on la même longueur !)
bit égal à la somme binaire des deux bits du bloc : ◮ Le taux (ou rendement) du code est noté R et est défini par :
011000 −→ 01 10 00 −→ 011 101 000
log2 (M)
On a M = 4 mots-code possibles : 000, 110, 101, 011 R=
Ce code est un détecteur d’erreurs : si on ne reçoit pas l’un de ces 4 mots-codes, n
on sait qu’il y a eu une erreur sur au moins 1 bit
Attention ici un mot-code x ∈ C est un message contenant n bits
Laurent Oudre Théorie de l’information 2017-2018 33 / 46 Laurent Oudre Théorie de l’information 2017-2018 34 / 46
Deuxième théorème de Shannon (hors programme) Quelques notions de codage canal Deuxième théorème de Shannon (hors programme) Quelques notions de codage canal
Laurent Oudre Théorie de l’information 2017-2018 35 / 46 Laurent Oudre Théorie de l’information 2017-2018 36 / 46
Deuxième théorème de Shannon (hors programme) Quelques notions de codage canal Deuxième théorème de Shannon (hors programme) Quelques notions de codage canal
Code à répétition
Laurent Oudre Théorie de l’information 2017-2018 37 / 46 Laurent Oudre Théorie de l’information 2017-2018 38 / 46
Deuxième théorème de Shannon (hors programme) Quelques notions de codage canal Deuxième théorème de Shannon (hors programme) Quelques notions de codage canal
◮ On peut également définir une probabilité d’erreur maximale comme étant : max
Perr (000) = Perr (111) = Perr = 0.028
max
Perr = max Perr (x i )
1≤i ≤M
Laurent Oudre Théorie de l’information 2017-2018 39 / 46 Laurent Oudre Théorie de l’information 2017-2018 40 / 46
Deuxième théorème de Shannon (hors programme) Quelques notions de codage canal Deuxième théorème de Shannon (hors programme) Deuxième théorème de Shannon
Laurent Oudre Théorie de l’information 2017-2018 41 / 46 Laurent Oudre Théorie de l’information 2017-2018 42 / 46
Deuxième théorème de Shannon (hors programme) Deuxième théorème de Shannon Deuxième théorème de Shannon (hors programme) Deuxième théorème de Shannon
◮ On a donc :
R≤C
Laurent Oudre Théorie de l’information 2017-2018 43 / 46 Laurent Oudre Théorie de l’information 2017-2018 44 / 46
Deuxième théorème de Shannon (hors programme) Deuxième théorème de Shannon Deuxième théorème de Shannon (hors programme) Deuxième théorème de Shannon
Deuxième théorème de Shannon ou Théorème du codage canal (HP) ◮ Contrairement au premier théorème, la démonstration de ce théorème (hors
programme) ne fournit aucun indice sur comment construire un tel code...
◮ Étant donné un réel ǫ > 0, un canal discret sans mémoire de capacité ◮ On découvre ici une deuxième interprétation du terme de capacité : le canal
C et un réel R < C , il est possible de construire un code de taux (ou
n’est pas capable de transmettre sans erreur avec un taux supérieur à C
rendement) R et une règle de décodage Φ, tels que :
◮ En pratique, pour annuler réellement la probabilité d’erreur, il faut considérer
max des valeurs extremement élevées de n, qui ne sont donc pas implémentables
Perr <ǫ
dans la pratique
◮ Corollaire : Étant donné un canal discret sans mémoire de capacité C , ◮ Le deuxième théorème de Shannon décrit donc plutot des propriétés
il n’existe aucun code de taux (ou rendement) R > C permettant asymptotiques que des résultats utilisables dans la vie réelle
d’avoir
max ◮ Néanmoins, il founit des bornes utiles pour évaluer les performances des
Perr =0
codes détecteurs et correcteurs d’erreurs.
Laurent Oudre Théorie de l’information 2017-2018 45 / 46 Laurent Oudre Théorie de l’information 2017-2018 46 / 46