Reconstruction de la permutation d’un turbo-code

22  Download (0)

Texte intégral

(1)

Reconstruction de la permutation d’un turbo-code

Jean-Pierre Tillich,Audrey Tixier, Nicolas Sendrier

Inria Paris-Rocquencourt

Journ´ees C2 - mars 2014

(2)

Plan

1 Reconnaissance de code Probl`eme

Motivations Historique

2 Reconstruction de Turbo-codes Codes convolutifs et turbo-codes Exemple

Reconstruction de la permutation

3 R´esultats

R´esultats pratiques Analyse th´eorique

4 Conclusion

(3)

Probl` eme de la reconnaissance de code

Le probl`eme :

E une famille de codes

C un code tir´e uniform´ement dansE

c1, . . . ,cM des mots de code tir´es uniform´ement dansC Les donn´ees :

ˆ

c1, . . . ,ˆcM les mots de code bruit´es Les objectifs :

1. RetrouverC 2. D´ecoder ˆc1, . . . ,ˆcM

(4)

Motivations

Conception de r´ecepteurs intelligents Domaine des t´el´ecommunications

R´ecepteurs auto-adaptifs en fonction des donn´ees re¸cues Compr´ehension du codage de l’ADN

Comment mod´eliser la redondance pr´esente dans l’ADN ? Dans un milieu non-coop´eratif, on dispose de donn´ees cod´ees par un code inconnu

Pouvoir d´ecoder ces donn´ees

(5)

Historique

[Val01] : Probl`eme NP Complet pour les codes lin´eaires 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]

(6)

Codes convolutifs

Un code convolutif (n,k) poss`ede une matrice g´en´eratrice infinie de la forme

G =

G1 G2 . . . Gs G1 G2 . . . Gs

G1 G2 . . . Gs

. . . .

O`u Gi est une matrice binaire de taille k×n (u1,u2, . . . ,uK)

| {z }

information

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

| {z }

mot de code

(7)

Turbo-codes

Sch´ema de codage

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

u v w

x= (x1,x2, . . . ,xK) y = (y1,y2, . . . ,yK) z = (z1,z2, . . . ,zK) C1

C2 π

canal

Notations :

C1etC2 des codes convolutifs πune permutation de longueurK

(8)

Exemple

u= (u1, . . . ,uK)

π(u) π

C2

w= (w1, . . . ,wK)

canal

x= (x1, . . . ,xK)

z= (z1, . . . ,zK)

AvecC2 tel que :

wt =uπ(t)⊕et1

et=wt

e0= 0

uπ(t) wt

et1

(9)

Exemple

CodeC2 tel que :

wt =uπ(t)⊕et1

et=wt e0= 0

x1 x2 x3 x4 x5 z1 z2 z3 z4 z5 e0 e1 e2 e3 e4

mot 1 1 1 1 0 0 1 1 1 0 ? 0

mot 2 1 1 ? 1 0 0 ? 1 ? ? 0

mot 3 1 0 ? 1 0 ? 1 0 1 1 0

mot 4 ? ? 1 0 1 ? 0 ? 1 0 0

π = ( , , , , )

(10)

Exemple

CodeC2 tel que :

wt =uπ(t)⊕et1

et=wt e0= 0

x1 x2 x3 x4 x5 z1 z2 z3 z4 z5 e0 e1 e2 e3 e4

mot 1 1 1 1 0 0 1 1 1 0 ? 0

mot 2 1 1 ? 1 0 0 ? 1 ? ? 0

mot 3 1 0 ? 1 0 ? 1 0 1 1 0

mot 4 ? ? 1 0 1 ? 0 ? 1 0 0

π = ( , , , , )

(11)

Exemple

CodeC2 tel que :

wt =uπ(t)⊕et1

et=wt e0= 0

x1 x2 x3 x4 x5 z1 z2 z3 z4 z5 e0 e1 e2 e3 e4

mot 1 1 1 1 0 0 1 1 1 0 ? 0

mot 2 1 1 ? 1 0 0 ? 1 ? ? 0

mot 3 1 0 ? 1 0 ? 1 0 1 1 0

mot 4 ? ? 1 0 1 ? 0 ? 1 0 0

π = (3, , , , )

(12)

Exemple

CodeC2 tel que :

wt =uπ(t)⊕et1

et=wt e0= 0

x1 x2 x3 x4 x5 z1 z2 z3 z4 z5 e0 e1 e2 e3 e4

mot 1 1 1 1 0 0 1 1 1 0 ? 0 1

mot 2 1 1 ? 1 0 0 ? 1 ? ? 0 0

mot 3 1 0 ? 1 0 ? 1 0 1 1 0 ?

mot 4 ? ? 1 0 1 ? 0 ? 1 0 0 1

π = (3, , , , )

(13)

Exemple

CodeC2 tel que :

wt =uπ(t)⊕et1

et=wt e0= 0

x1 x2 x3 x4 x5 z1 z2 z3 z4 z5 e0 e1 e2 e3 e4

mot 1 1 1 1 0 0 1 1 1 0 ? 0 1

mot 2 1 1 ? 1 0 0 ? 1 ? ? 0 0

mot 3 1 0 ? 1 0 ? 1 0 1 1 0 ?

mot 4 ? ? 1 0 1 ? 0 ? 1 0 0 1

π = (3,5, , , )

(14)

Exemple

CodeC2 tel que :

wt =uπ(t)⊕et1

et=wt e0= 0

x1 x2 x3 x4 x5 z1 z2 z3 z4 z5 e0 e1 e2 e3 e4

mot 1 1 1 1 0 0 1 1 1 0 ? 0 1 1 1 0

mot 2 1 1 ? 1 0 0 ? 1 ? ? 0 0 0 1 0

mot 3 1 0 ? 1 0 ? 1 0 1 1 0 ? 1 0 1

mot 4 ? ? 1 0 1 ? 0 ? 1 0 0 1 0 0 1

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

−→Reconstruction de la permutation pas `a pas

(15)

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 ind´ependants) p(π(t) =j|π(1), . . . , π(t−1),xs,zs1..t)

(16)

Reconstruction de la permutation

Notations :

et l’´etat du codeur `a l’instantt xπ1..t1 = (xπ(1),xπ(2), . . . ,xπ(t1)) P

αabβ : la somme sur tous les triplets (a,b, β) tels que le codeur passe de l’´etatα `a l’´etatβ en entrant a, la redondance

´emise correspondante estb Proposition

Avecγ une constante de normalisation

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

p(xjX

α

X

αabβ

p(xj|uj =a)p(zt|wt =b)p(et1=α|xπ1..t1,z1..t1)

(17)

R´ esultats pratiques

Canal Gaussien (AWGN) d’´ecart type σ,C2 : (1,1+D+D1+D22)

K σ M M[1] temps de calcul

en secondes

temps de calcul en secondes [1]

64 0.43 20 50 0.02 0.2

64 0.6 34 115 0.02 0.3

64 1 243 1243 0.17 12

512 0.6 46 170 1.87 11

512 0.8 111 600 7 37

512 1 346 2 800 17 173

512 1.1 660 3 837 20 357

512 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 Parallel Turbo Codes,” ISIT 2010, pp. 2008–2012.

(18)

R´ esultats pratiques

Canal Binaire Sym´etrique, C2 : (1,1+D+D1+D22) etK = 64

0.0001 0.001 0.01 0.1 1

0 100 200 300 400 500 600

Probabilité d’erreur sur la permutation

Nombre de mots de code observés

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

(19)

R´ esultats pratiques

A capacit´e de canal fix´ee, C2 : (1,1+D+D1+D22) etK = 64

1e−06 1e−05 0.0001 0.001 0.01 0.1 1

0 50 100 150 200 250 300

Probabilité d’erreur sur la permutation

Nombre de mots de code observés

C = 0.5 Canal effacement C = 0.5 Canal binaire symétrique C = 0.5 Canal gaussien C = 0.9 Canal effacementl C = 0.9 Canal binaire symétrique C = 0.9 Canal gaussien

(20)

Analyse th´ eorique

Hypoth`eses

Canal `a effacement de probabilit´ep C2: (1,1+D1 )

Probabilit´e 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

Probabilité d’erreur sur la permutation

Nombre de mots de code

pratique : p=0.1 exacte : p=0.1 approx. : p=0.1 pratique : p=0.3 exacte : p=0.3 approx. : p=0.3 pratique : p=0.5 exacte : p=0.5 approx. : p=0.5

Perreur =O

K2 2p+ ((√

2−1)p+ 1)2(1−p)2 2(1 +p2−p)

!M

(21)

Conclusion

Algorithme de reconstruction de la permutation d’un turbo-code

Peu complexe :O(MK2)

Utilise l’information de fa¸con optimale Avec de bons r´esultats dans le cas bruit´e

(22)

Conclusion

G´en´eralisable

Aux turbo-codes parall`eles poin¸conn´es (faiblement)

u

u v w C1

C2

π

x y Canal z

Poinçonnage

v w

Aux turbo-codes s´eries

C1

π

C2 Canal x v z

u

w u s

Perspective

Trouver une m´ethode pour le cas fortement poin¸conn´e

Figure

Updating...

Références

Sujets connexes :