Vous êtes sur la page 1sur 42

Cours 9 : Codes polaires

29 novembre 2013

Théorie de l’information
Codes polaires

1. Introduction
2. Codage
3. Décodage

Théorie de l’information 1/41


1. Introduction

Les codes polaires, une classe de codes permettant


1. d’atteindre la capacité de tous les canaux sans mémoire symétriques (ceux dont
la capacité est atteinte pour une distribution d’entrée uniforme),
2. avec un algorithme de codage de complexité O(N log N ) (N = longueur du
code),
3. avec un algorithme de décodage de complexité O(N log N ) .

De nombreux points communs entre l’algorithme de décodage utilisé et celui des


codes LDPC.

Théorie de l’information 2/41


Code polaire

1. une architecture de codage fondée sur le circuit de la transformée de Fourier


rapide discrète, consistant à fixer un certain nombre de bits d’entrée à 0,
2. un algorithme de décodage permettant de calculer la probabilité d’un bit d’entrée
connaissant les bits d’entrée précédents et les probabilités que les bits de sortie
valent 1.

Théorie de l’information 3/41


Codage : exemple

0 1

0 1

0 1

1 1
positions en rouge= 0 0
information
0 0

0 0

0 0

Théorie de l’information 4/41


Code polaire : code linéaire

Dans le cas précédent, c’est un code de matrice génératrice


 
1 1 1 1 0 0 0 0
1 1 0 0 1 1 0 0
G=
1

0 1 0 1 0 1 0
1 1 1 1 1 1 1 1

Théorie de l’information 5/41


Décodage : exemple sur le canal à effacements

0 ?

0 1

0 1

? ?

0 0

? 0

? 0

? ?

Théorie de l’information 6/41


Décodage : utilisation des propriétés de la  boite de base 

a a+b

b b

Théorie de l’information 7/41


Décodage : un exemple où l’on peut lever complètement les
effacements sur l’entrée

? u u+v u

? v v v

Théorie de l’information 8/41


Une configuration où l’on lève partiellement les effacements

? ? ? ?

? v v v

Théorie de l’information 9/41


Une autre configuration où l’on lève partiellement les
effacements

a u a u

? ? a+u ?

Théorie de l’information 10/41


0 0 ? ?

0 0 1 1

0 1 1

? ? ?

0 0 0

? 0 0

? 0 0

? ? ?

Théorie de l’information 11/41


0 0 ? ?

0 0 1 1

0 1 1 1

? 1 ? ?

0 0 0

? 0 0

? 0 0

? ? ?

Théorie de l’information 12/41


0 0 ? ?

0 0 1 1

0 1 1 1

1 1 ? ?

0 0 0

? 0 0

? 0 0

? ? ?

Théorie de l’information 13/41


0 0 1 ?

0 0 1 1

0 1 1 1

1 1 1 ?

0 0 0 0

? ? 0 0

? 0 0 0

? ? ? ?

Théorie de l’information 14/41


0 0 1 ?

0 0 1 1

0 1 1 1

1 1 1 ?

0 0 0 0

0 ? 0 0

? 0 0 0

? ? ? ?

Théorie de l’information 15/41


0 0 1 ?

0 0 1 1

0 1 1 1

1 1 1 ?

0 0 0 0

0 ? 0 0

? 0 0 0

? ? ? ?

Théorie de l’information 16/41


0 0 1 ?

0 0 1 1

0 1 1 1

1 1 1 ?

0 0 0 0

0 0 0 0

? 0 0 0

? 0 ? ?

Théorie de l’information 17/41


0 0 1 ?

0 0 1 1

0 1 1 1

1 1 1 ?

0 0 0 0

0 0 0 0

0 0 0 0

? 0 ? ?

Théorie de l’information 18/41


0 0 1 ?

0 0 1 1

0 1 1 1

1 1 1 ?

0 0 0 0

0 0 0 0

0 0 0 0

0 0 ? ?

Théorie de l’information 19/41


2. Le codage d’un code polaire
longueur : N = 2n, dimension : 0 ≤ k ≤ N .
Choix d’un ensemble F de taille N − k de positions ⊂ {0, . . . , N − 1} fixées à 0.
Bt= sous-ensemble de nombres de {0, . . . , N −1} dont le bit d’indice t est égal à 0.

Algorithme de codage.

Entrée : u ∈ {0, 1}N , ui = 0 si i ∈ F.


Sortie : x le mot de code correspondant à u.
x←u
for t = 0 to n − 1 do
for all i ∈ Bt do
xi ← xi ⊕ xi+2t
end for
end for
return x

Théorie de l’information 20/41


3. Le décodage

Algorithme de décodage

Entrée : y ∈ AN version bruitée du mot de code x


Sortie : une estimation û de u.
for all i ∈ {0, 1, . . . , N − 1} \ F do
def
Calculer pi = Prob(ui = 1|y, û0, . . . , ûi−1)
if pi > 0.5 then
ûi = 1
else
ûi = 0
end if
end for

Théorie de l’information 21/41


Pourquoi cela marche-t-il ?

I Comment choisir l’ensemble F ?


I Peut-on toujours calculer pi efficacement ?
I Pourquoi cette procédure fonctionne-t-elle ?

Théorie de l’information 22/41


Le premier calcul de base

q p
1 1
X1
U1 canal Y1

U2 X2
canal Y2

p2

On dispose de p1 = Prob(x1 = 1|y1) et p2 = Prob(x2 = 1|y2). On calcule

q1 = Prob(u1 = 1|y1, y2).

Théorie de l’information 23/41


La formule

Lemme 1. Soit X1 et X2 deux variables aléatoires binaires indépendantes et


def
notons ri = Prob(X1 = 1), alors

1 − (1 − 2r1)(1 − 2r2)
Prob(Z1 ⊕ Z2 = 1) =
2

Application :
1 − (1 − 2p1)(1 − 2p2)
q1 =
2

Théorie de l’information 24/41


Le deuxième calcul de base

u p
1 1
X1
U1 canal Y1

U2 X2
canal Y2

q p2
2

On dispose de p1 = Prob(x1 = 1|y1), p2 = Prob(x2 = 1|y2) et u1. On calcule


q2 = Prob(u2 = 1|u1, y1, y2).

Théorie de l’information 25/41


La formule

Lemme 2. On transmet un même bit B aléatoire et uniformément distribué à


travers deux canaux sans mémoire et on reçoit y1 et y2 respectivement. Si l’on
note ri = Prob(B = 1|yi), alors
r1r2
Prob(B = 1|y1, y2) = .
r1r2 + (1 − r1)(1 − r2)

Application :
p1 p2
q2 = si u1 = 0
p1p2 + (1 − p1)(1 − p2)
(1 − p1)p2
q2 = si u1 = 1
(1 − p1)p2 + p1(1 − p2)

Théorie de l’information 26/41


Notation
On note uti l’entrée d’un tel circuit pour l’étage de codage t (u0i = ui) et pti les
probabilités calculées ou données par le canal de communication quand t = n :
u00 1
p10 u0 p20 u20 p30

u01 p11 u11 p2 u21 p31


1

u02 1
p12 u2 p22 u22 p32

u03 p13 u13 p2 u23 p33


3

u04 1
p14 u4 p24 u24 p34

u05 p15 u15 p2 u25 p35


5

u06 1
p16 u6 p26 u26 p36

u07 p17 u17 p2 u27 p37


7

Théorie de l’information 27/41


Algorithme de décodage revisité

for i = 0 to N − 1 do
for t = 1 to n − 1 do
Calculer tous les utj qui peuvent être obtenus directement à partir des ut−1
l
déjà connus pour l < i.
end for
for t = n − 1 to 0 do
Calculer tous les ptj qui peuvent être obtenus directement à partir des pt+1
k
t
et des ul connus (avec l < i)
end for
if i ∈
/ F then
if p0i > 0.5 then
u0i = 1
else
u0i = 0
end if
end if
end for

Théorie de l’information 28/41


Correction de l’algorithme

Lemme 3. A l’étape i de la boucle externe et l’étape t de la boucle interne de


t
l’algorithme précédent, les uj qui peuvent être calculés correspondent aux indices
j dans l’ensemble j : 0 ≤ j ≤ 2tb 2it c − 1 .


Lemme 4. A l’étape i de la boucle externe et l’étape t de la boucle interne de


t
l’algorithme précédent,
n les p j qui peuvent être
o calculés correspondent aux indices
t
j dans l’ensemble j : 0 ≤ j ≤ 2tb i+2
2t
c−1 .

Corollaire 1. p0i peut toujours être calculé à l’étape i de la boucle externe.

Théorie de l’information 29/41


Modélisation du décodage

On peut modéliser le décodage d’une boı̂te de base comme la transmission sur


deux canaux de communication :

canal 1
u1 y1, y2
canal 1
u2 u1, y1, y2

Et on connait le modèle du canal, ce qui nous donne Prob(u1 = 1|y1, y2) et


Prob(u2 = 1|u1, y1, y2).

Théorie de l’information 30/41


Cas du canal à effacement

Plaçons nous dans le cas où

canal à eff. de prob. p1


x1 y1
canal à eff. de prob. p2
x2 y2

Prob(u1 reste effacé ) = Prob(x1 ⊕ x2 effacé )


= Prob(x1 ou x2 effacé )
= 1 − (1 − p1)(1 − p2)
= p1 + p2 − p1p2
Prob(u2 reste effacé) = Prob(x1 et x2 effacé )
= p1p2

Théorie de l’information 31/41


Modèle équivalent dans le cas du canal à effacement

canal 1 à eff. de proba. p1 + p2 − p1 p2


u1 y1, y2
canal 2 à eff. de proba. p1 p2
u2 u1, y1, y2

Si l’on note C(p) la capacité du canal à effacement de probabilité p (C(p) = 1 − p)


alors
C(p1) + C(p2) = C(p1 + p2 − p1p2) + C(p1p2). (1)

Théorie de l’information 32/41


Modèles équivalents pour p = 0.25 et n = 3

0.9 0.684 0.4375 0.25

0.467 0.684 0.4375 0.25

0.346 0.191 0.4375 0.25

0.037 0.191 0.4375 0.25

0.228 0.121 0.0625 0.25

0.015 0.121 0.0625 0.25

0.008 0.004 0.0625 0.25

0.0000016 0.004 0.0625 0.25

On choisit les positions en rouge pour F.

Théorie de l’information 33/41


Modèles équivalents pour n ∈ {5, 8, 16}

Théorie de l’information 34/41


Pourquoi tout le schéma fonctionne et permet d’atteindre la
capacité du canal à effacement
Point 1 : Les canaux équivalents  polarisent , soit la probabilité d’effacement est
très proche de 1 soit elle très proche de 0.
Point 2 : L’équation de  conservation (1) C(p1) + C(p2) = C(p1 + p2 − p1p2) +
C(p1p2) assure que

N
X −1 N
X −1
C(qi) = C(pi) = N C(p)
i=0 i=0

avec qi = capacité du i−ème canal équivalent en entrée et pi = capacité du i−ème


canal réel en sortie.
Point 3 : Comme C(qi) ≈ 0 ou C(qi) ≈ 1,

def def
k = N − |F | = #{i : C(qi) ≈ 1} ≈ N C(p)

Théorie de l’information 35/41


Le cas général : schéma de base
Hypothèse : U1 et U2 indépendants et uniformément distribués dans {0, 1}.

X1
U1 canal Y1

U2 X2
canal Y2

Même équation de  conservation de l’information que pour le canal à effacement :


Théorème 1.

I(U1; Y1, Y2) + I(U2; U1, Y1, Y2) = I(X1; Y1) + I(X2; Y2).

Théorie de l’information 36/41


Un petit lemme sur l’indépendance

Lemme 5. U1 et U2 indépendants et uniformément distribués,


⇒ X1 et X2 indépendants et uniformément distribués
⇒ Y1 et Y2 indépendants.

preuve : X1 et X2 indépendants et uniformément distribués (évident).

Théorie de l’information 37/41


Preuve (suite)
X
P(Y1 = a, Y2 = b) = P(Y1 = a, Y2 = b|X1 = c, X2 = d)P(X1 = c, X2 = d)
c,d
X
= P(Y1 = a|X2 = c)P(Y2 = b|X2 = d)P(X1 = c)P(X2 = d)
c,d

= S1S2 avec

X
S1 = P(Y1 = a|X2 = c)P(X1 = c) = P (Y1 = a)
c
X
S2 = P(Y2 = b|X2 = d)P(X2 = d) = P (Y2 = b)
d

Donc
P(Y1 = a, Y2 = b) = P (Y1 = a)P (Y2 = b)

Théorie de l’information 38/41


Un lemme important de théorie de l’information

Lemme 6. Si Yi est le résultat du passage de Xi à travers un canal sans mémoire

I(X1, X2; Y1, Y2) ≤ I(X1; Y1) + I(X2; Y2).

Si de plus Y1 et Y2 sont indépendants

I(X1, X2; Y1, Y2) = I(X1; Y1) + I(X2; Y2).

Théorie de l’information 39/41


Preuve

I(X1, X2; Y1, Y2) = H(Y1, Y2) − H(Y1, Y2|X1, X2)


(définition de l’information mutuelle)
= H(Y1) + H(Y2) − H(Y1|X1, X2) − H(Y2|X1, X2, Y1)
(indépendance des Yi)
= H(Y1) + H(Y2) − H(Y1|X1) − H(Y2|X2)
(canal sans mémoire)
= I(X1; Y1) + I(X2; Y2)
(définition de l’information mutuelle)

Théorie de l’information 40/41


Preuve du théorème 1

I(X1; Y1) + I(X2; Y2) = I(X1, X2; Y1, Y2)


= I(U1, U2; Y1, Y2)
= H(U1, U2) − H(U1, U2|Y1, Y2)
= H(U1) + H(U2) − H(U1|Y1, Y2) − H(U2|U1, Y1, Y2)
= I(U1; Y1, Y2) + I(U2; U1, Y1, Y2)

Théorie de l’information 41/41

Vous aimerez peut-être aussi