Cours 9 : Codes polaires

Transcription

Cours 9 : Codes polaires
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
positions en rouge=
information
Théorie de l’information
0
1
0
1
0
1
1
1
0
0
0
0
0
0
0
0
4/41
Code polaire : code linéaire
Dans le cas précédent, c’est un code de matrice génératrice

1
1
G=
1
1
Théorie de l’information
1
1
0
1
1
0
1
1
1
0
0
1
0
1
1
1
0
1
0
1
0
0
1
1

0
0

0
1
5/41
Décodage : exemple sur le canal à effacements
Théorie de l’information
0
?
0
1
0
1
?
?
0
0
?
0
?
0
?
?
6/41
Décodage : utilisation des propriétés de la
Théorie de l’information
a
a+b
b
b
boite de base 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
?
Théorie de l’information
u
?
a
u
a+u
?
10/41
0
0
0
0
?
?
1
1
1
0
?
?
0
?
?
?
Théorie de l’information
1
0
?
0
0
0
0
0
?
?
11/41
0
0
0
0
0
1
?
0
?
?
?
Théorie de l’information
?
?
1
1
1
1
1
?
0
?
0
0
0
0
0
?
?
12/41
0
0
0
0
0
1
1
0
?
?
?
Théorie de l’information
?
?
1
1
1
1
1
?
0
?
0
0
0
0
0
?
?
13/41
0
0
0
0
0
1
?
?
Théorie de l’information
1
1
0
1
1
?
0
?
?
?
1
1
1
0
1
0
0
0
0
0
?
0
?
?
14/41
0
0
0
0
0
1
?
?
Théorie de l’information
1
1
0
1
1
?
0
?
0
?
1
1
1
0
1
0
0
0
0
0
?
0
?
?
15/41
0
0
0
0
0
1
?
?
Théorie de l’information
1
1
0
1
1
?
0
?
0
?
1
1
1
0
1
0
0
0
0
0
?
0
?
?
16/41
0
0
0
0
0
1
0
0
0
0
?
0
Théorie de l’information
?
1
1
1
1
1
?
1
1
1
?
0
0
0
0
0
0
0
?
?
17/41
0
0
0
0
0
1
0
0
0
0
0
0
Théorie de l’information
?
1
1
1
1
1
?
1
1
1
?
0
0
0
0
0
0
0
?
?
18/41
0
0
0
0
0
1
0
0
0
0
0
0
Théorie de l’information
?
1
1
1
1
1
0
1
1
1
?
0
0
0
0
0
0
0
?
?
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
U1
U2
1
X1
canal
Y1
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
Prob(Z1 ⊕ Z2 = 1) =
1 − (1 − 2r1)(1 − 2r2)
2
Application :
q1 =
Théorie de l’information
1 − (1 − 2p1)(1 − 2p2)
2
24/41
Le deuxième calcul de base
u
p
1
U1
U2
q
2
1
X1
canal
Y1
X2
canal
Y2
p2
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 :
Théorie de l’information
q2 =
p1 p2
si u1 = 0
p1p2 + (1 − p1)(1 − p2)
q2 =
(1 − p1)p2
si u1 = 1
(1 − p1)p2 + p1(1 − p2)
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 :
Théorie de l’information
u00
1
p10 u0 p20
u01
p11
u02
1
p12 u2 p22
u03
p13
u04
1
p14 u4 p24
u05
p15
u06
1
p16 u6 p26
u07
p17
u20
u11 p2
1
p30
u21
p31
u22
u13 p2
3
u15 p2
5
u17 p2
7
p32
u23
u24
p33
p34
u25
p35
u26
p36
u27
p37
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
u
j 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,
les
p
j qui peuvent être
o calculés correspondent aux indices
n
j dans l’ensemble
t
c−1 .
j : 0 ≤ j ≤ 2tb i+2
2t
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 :
u1
u2
canal 1
canal 1
y1, y2
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ù
x1
x2
Prob(u1 reste effacé )
Prob(u2 reste effacé)
Théorie de l’information
=
=
=
=
=
=
canal à eff. de prob. p1
canal à eff. de prob. p2
y1
y2
Prob(x1 ⊕ x2 effacé )
Prob(x1 ou x2 effacé )
1 − (1 − p1)(1 − p2)
p1 + p2 − p1p2
Prob(x1 et x2 effacé )
p1p2
31/41
Modèle équivalent dans le cas du canal à effacement
u1
u2
canal 1 à eff. de proba. p1 + p2 − p1 p2
canal 2 à eff. de proba. p1 p2
y1, y2
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.684
0.467
0.346
0.0000016
0.25
0.4375
0.191
0.121
0.4375
0.0625
0.121
0.015
0.008
0.25
0.4375
0.191
0.037
0.228
0.4375
0.004
0.25
0.25
0.0625
0.25
0.0625
0.004
0.25
0.0625
0.25
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
C(p1p2) assure que
conservation (1) C(p1) + C(p2) = C(p1 + p2 − p1p2) +
N
−1
X
C(qi) =
i=0
N
−1
X
C(pi) = N C(p)
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}.
U1
U2
X1
canal
Y1
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
S1 =
X
avec
P(Y1 = a|X2 = c)P(X1 = c) = P (Y1 = a)
c
S2 =
X
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