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