Jean-Pierre Tillich, AudreyTixier, Nicolas Sendrier

22
Reconstruction de la permutation d’un turbo-code Jean-Pierre Tillich, Audrey Tixier, Nicolas Sendrier Inria Paris-Rocquencourt Journ´ ees C2 - mars 2014

Transcript of Jean-Pierre Tillich, AudreyTixier, Nicolas Sendrier

Reconstruction de la permutation d’un turbo-code

Jean-Pierre Tillich, Audrey Tixier, Nicolas Sendrier

Inria Paris-Rocquencourt

Journees C2 - mars 2014

Plan

1 Reconnaissance de codeProblemeMotivationsHistorique

2 Reconstruction de Turbo-codesCodes convolutifs et turbo-codesExempleReconstruction de la permutation

3 ResultatsResultats pratiquesAnalyse theorique

4 Conclusion

Probleme de la reconnaissance de code

Le probleme :

E une famille de codesC un code tire uniformement dans Ec1, . . . , cM des mots de code tires uniformement dans C

Les donnees :

c1, . . . , cM les mots de code bruites

Les objectifs :

1. Retrouver C2. Decoder c1, . . . , cM

1/20

Motivations

Conception de recepteurs intelligents

Domaine des telecommunicationsRecepteurs auto-adaptifs en fonction des donnees recues

Comprehension du codage de l’ADN

Comment modeliser la redondance presente dans l’ADN?

Dans un milieu non-cooperatif, on dispose de donnees codeespar un code inconnu

Pouvoir decoder ces donnees

2/20

Historique

[Val01] : Probleme NP Complet pour les codes lineaires

Codes convolutifs[Ric95]

[Fil97] [Fil00]

[Val01]

[LSLZ04]

[BSH06]

[DH07, WHZ07] [CF09, CS09, MGB09]

[ZMGR11]

[MGB12]

Turbo-codes

[Bar05]

[Bar07]

[GMB08]

[CS10, CFT10]

[NAF11]

[DHJ12]

Codes LDPC

[CT08] [CF09]

3/20

Codes convolutifs

Un code convolutif (n, k) possede une matrice generatriceinfinie de la forme

G =

G1 G2 . . . Gs

G1 G2 . . . Gs

G1 G2 . . . Gs

. . . . . . . . .

Ou Gi est une matrice binaire de taille k × n

(u1, u2, . . . , uK )︸ ︷︷ ︸

information

×G = (v1, v2, . . . , vN)︸ ︷︷ ︸

mot de code

4/20

Turbo-codes

Schema de codage

u = (u1, u2, . . . , uK )

u

v

w

x = (x1, x2, . . . , xK )

y = (y1, y2, . . . , yK )

z = (z1, z2, . . . , zK )

C1

C2π

cana

l

Notations :

C1 et C2 des codes convolutifsπ une permutation de longueur K

5/20

Exemple

u = (u1, . . . , uK )

π(u)

π

C2

w = (w1, . . . ,wK )

cana

l

x = (x1, . . . , xK )

z = (z1, . . . , zK )

Avec C2 tel que :

wt = uπ(t) ⊕ et−1

et = wt

e0 = 0

uπ(t) wt

et−1

6/20

Exemple

Code C2 tel que :

wt = uπ(t) ⊕ et−1

et = wt

e0 = 0

x1 x2 x3 x4 x5 z1 z2 z3 z4 z5 e0 e1 e2 e3 e4mot 1 1 1 1 0 0 1 1 1 0 ? 0mot 2 1 1 ? 1 0 0 ? 1 ? ? 0mot 3 1 0 ? 1 0 ? 1 0 1 1 0mot 4 ? ? 1 0 1 ? 0 ? 1 0 0

π = ( , , , , )

7/20

Exemple

Code C2 tel que :

wt = uπ(t) ⊕ et−1

et = wt

e0 = 0

x1 x2 x3 x4 x5 z1 z2 z3 z4 z5 e0 e1 e2 e3 e4mot 1 1 1 1 0 0 1 1 1 0 ? 0mot 2 1 1 ? 1 0 0 ? 1 ? ? 0mot 3 1 0 ? 1 0 ? 1 0 1 1 0mot 4 ? ? 1 0 1 ? 0 ? 1 0 0

π = ( , , , , )

8/20

Exemple

Code C2 tel que :

wt = uπ(t) ⊕ et−1

et = wt

e0 = 0

x1 x2 x3 x4 x5 z1 z2 z3 z4 z5 e0 e1 e2 e3 e4mot 1 1 1 1 0 0 1 1 1 0 ? 0mot 2 1 1 ? 1 0 0 ? 1 ? ? 0mot 3 1 0 ? 1 0 ? 1 0 1 1 0mot 4 ? ? 1 0 1 ? 0 ? 1 0 0

π = (3, , , , )

9/20

Exemple

Code C2 tel que :

wt = uπ(t) ⊕ et−1

et = wt

e0 = 0

x1 x2 x3 x4 x5 z1 z2 z3 z4 z5 e0 e1 e2 e3 e4mot 1 1 1 1 0 0 1 1 1 0 ? 0 1mot 2 1 1 ? 1 0 0 ? 1 ? ? 0 0mot 3 1 0 ? 1 0 ? 1 0 1 1 0 ?mot 4 ? ? 1 0 1 ? 0 ? 1 0 0 1

π = (3, , , , )

10/20

Exemple

Code C2 tel que :

wt = uπ(t) ⊕ et−1

et = wt

e0 = 0

x1 x2 x3 x4 x5 z1 z2 z3 z4 z5 e0 e1 e2 e3 e4mot 1 1 1 1 0 0 1 1 1 0 ? 0 1mot 2 1 1 ? 1 0 0 ? 1 ? ? 0 0mot 3 1 0 ? 1 0 ? 1 0 1 1 0 ?mot 4 ? ? 1 0 1 ? 0 ? 1 0 0 1

π = (3, 5, , , )

11/20

Exemple

Code C2 tel que :

wt = uπ(t) ⊕ et−1

et = wt

e0 = 0

x1 x2 x3 x4 x5 z1 z2 z3 z4 z5 e0 e1 e2 e3 e4mot 1 1 1 1 0 0 1 1 1 0 ? 0 1 1 1 0mot 2 1 1 ? 1 0 0 ? 1 ? ? 0 0 0 1 0mot 3 1 0 ? 1 0 ? 1 0 1 1 0 ? 1 0 1mot 4 ? ? 1 0 1 ? 0 ? 1 0 0 1 0 0 1

π = (3, 5, 4, 1, 2)

−→ Reconstruction de la permutation pas a pas

12/20

Reconstruction de la permutation

Information contenue dans une liste de mots de code

p(π(t) = j |π(1), . . . , π(t − 1), x1, z11..t , . . . , xM , zM1..t)

Proposition

Avec λ une constante de normalisation

p(π(t) = j |π(1), . . . , π(t − 1), x1, z11..t , . . . , xM , zM1..t)

= λΠMs=1p(π(t) = j |π(1), . . . , π(t − 1), xs , zs1..t)

Information contenue dans chaque mots (mots independants)

p(π(t) = j |π(1), . . . , π(t − 1), xs , zs1..t)

13/20

Reconstruction de la permutation

Notations :

et l’etat du codeur a l’instant t

xπ1..t−1 = (xπ(1), xπ(2), . . . , xπ(t−1))∑

αab→β

: la somme sur tous les triplets (a, b, β) tels que le

codeur passe de l’etat α a l’etat β en entrant a, la redondanceemise correspondante est b

Proposition

Avec γ une constante de normalisation

p(π(t) = j |π(1), . . . , π(t − 1), x, z1..t) =

γ

p(xj)×∑

α

αab→β

p(xj |uj = a)p(zt |wt = b)p(et−1 = α|xπ1..t−1, z1..t−1)

14/20

Resultats pratiques

Canal Gaussien (AWGN) d’ecart type σ, C2 : (1, 1+D2

1+D+D2 )

K σ M M[1]temps de calculen secondes

temps de calculen secondes [1]

64 0.43 20 50 0.02 0.264 0.6 34 115 0.02 0.364 1 243 1243 0.17 12512 0.6 46 170 1.87 11512 0.8 111 600 7 37512 1 346 2 800 17 173512 1.1 660 3 837 20 357512 1.3 1820 29 500 64 4 477

10 000 0.43 40 300 797 8173

[1] : Cluzeau, Finiasz, Tillich, “Methods for the Reconstruction of ParallelTurbo Codes,” ISIT 2010, pp. 2008–2012.

15/20

Resultats pratiques

Canal Binaire Symetrique, C2 : (1, 1+D2

1+D+D2 ) et K = 64

0.0001

0.001

0.01

0.1

1

0 100 200 300 400 500 600

Pro

babi

lité

d’er

reur

sur

la p

erm

utat

ion

Nombre de mots de code observés

p = 0.08p = 0.10p = 0.12p = 0.14p = 0.16

16/20

Resultats pratiques

A capacite de canal fixee, C2 : (1, 1+D2

1+D+D2 ) et K = 64

1e−06

1e−05

0.0001

0.001

0.01

0.1

1

0 50 100 150 200 250 300

Pro

babi

lité

d’er

reur

sur

la p

erm

utat

ion

Nombre de mots de code observés

C = 0.5 Canal effacementC = 0.5 Canal binaire symétrique

C = 0.5 Canal gaussienC = 0.9 Canal effacementl

C = 0.9 Canal binaire symétriqueC = 0.9 Canal gaussien

17/20

Analyse theorique

HypothesesCanal a effacement de probabilite p

C2 : (1, 11+D

)

Probabilite de ne pas retrouver la permutation

1e−09

1e−08

1e−07

1e−06

1e−05

0.0001

0.001

0.01

0.1

1

10

0 50 100 150 200 250

Pro

babi

lité

d’er

reur

sur

la p

erm

utat

ion

Nombre de mots de code

pratique : p=0.1exacte : p=0.1

approx. : p=0.1pratique : p=0.3

exacte : p=0.3approx. : p=0.3

pratique : p=0.5exacte : p=0.5

approx. : p=0.5

Perreur = O

K 2

(

2p + ((√2 − 1)p + 1)2(1 − p)2

2(1 + p2 − p)

)M

18/20

Conclusion

Algorithme de reconstruction de la permutation d’unturbo-code

Peu complexe : O(MK 2)

Utilise l’information de facon optimale

Avec de bons resultats dans le cas bruite

19/20

Conclusion

Generalisable

Aux turbo-codes paralleles poinconnes (faiblement)

u

u

v ′

w ′

C1

C2π

x

y

z

Can

al

Poi

nçon

nage

v

w

Aux turbo-codes series

C1π

C2 Can

al xz

vu

ws

u

Perspective

Trouver une methode pour le cas fortement poinconne

20/20