journée des doctorants sc 16/11/2006 parallélisme des codes convolutifs et interaction sur la...
TRANSCRIPT
Journée des Doctorants SC16/11/2006
Parallélisme des Codes Convolutifs et Interaction sur la Conception de l‘Entrelaceur
Doctorant : Olivier MULLER
Encadrant : Amer BAGHDADI
Directeur de thèse : Michel JEZEQUEL
Département Électronique
- 2 -
Olivier MULLER – Parallélisme des Codes Convolutifs et Interaction sur la Conception de l‘Entrelaceur
Plan
• Motivations et contributions
• Turbo Décodage convolutif
• Classification des niveaux de parallélisme
• Parallélisme de décodeur composant : shuffled
• Interaction sur la conception d’entrelaceur
• Conclusion et Perspectives
- 3 -
Olivier MULLER – Parallélisme des Codes Convolutifs et Interaction sur la Conception de l‘Entrelaceur
Introduction
• La révolution Turbocodes
• Proche de la limite de Shannon
• Décodage itératif
• Forte complexité algorithmique
• Contrainte du haut débit
Application Débit
CCSDS(deep space)
1.6 Mbps
UMTS, CDMA2000(3G Mobile)
2 Mbps
DVB-RCS DVB-RCT
2 Mbps
M4 (Inmarsat) 64 kbps
WiMAX(IEEE802.16)
75 Mbps
Homeplug AV 200 Mbps
• Applications de communication numérique
- 4 -
Olivier MULLER – Parallélisme des Codes Convolutifs et Interaction sur la Conception de l‘Entrelaceur
Contributions
Objectif
Haut Débit par une gestion optimale du parallélisme
Contribution
Classification des techniques de parallélisme
Proposition de règles sur la conception de
l’entrelaceur pour optimiser l’efficacité du
parallélisme
- 5 -
Olivier MULLER – Parallélisme des Codes Convolutifs et Interaction sur la Conception de l‘Entrelaceur
Turbo Décodage convolutif• Décodage itératif de codes convolutifs concaténé
• Module SISO (Soft Input Soft Output)• Échange d’information entre les décodeurs• Algorithme MAP : BCJR ou Aller-Retour
• Accélérer le décodage grâce au parallélisme
Π
Component Decoder0
Component Decoder1
Π-1 Π
red0
sys
red1output
Interleaveddomain
Desinterleaveddomain
- 6 -
Olivier MULLER – Parallélisme des Codes Convolutifs et Interaction sur la Conception de l‘Entrelaceur
Parallélisme au niveau des métriques BCJR
• Parallélisme de transitions du treillis
• Parallélisme de calculs BCJR (récursions, information extrinsèque)
time
Fra
me
0
N
α
β, extrinsic Fra
me
0
Nα extrinsic
T
β
T/2time
BCJR SISO .
MAP
Extrinsic
β
γ
α
0
1
2
3
0
1
2
3
Bit i Bit i+1
α(1)
β(2)γ(1,2)
SI
SO
- 7 -
Olivier MULLER – Parallélisme des Codes Convolutifs et Interaction sur la Conception de l‘Entrelaceur
Parallélisme au niveau des décodeurs BCJR-SISO
• Parallélisme de décodeur composant• Décodage shuffled
• Parallélisme de sous-blocs
Component Decoder
Component Decoder
Decoder 0
Decoder 1
Iteration 1
Component Decoder
Component Decoder
Decoder 0
Decoder 1
Iteration 2 timetime
Component Decoder
Component Decoder
Decoder 0
Decoder 1
Iteration 1
Component Decoder
Component Decoder
Decoder 0
Decoder 1
Iteration 2
Fra
me
0
N
Frame BCJR SISO
0
N Sub-block BCJR SISO
Sub-block BCJR SISO
Sub-block BCJR SISO
Sub-block BCJR SISO
?
?
?
N
d
- 8 -
Olivier MULLER – Parallélisme des Codes Convolutifs et Interaction sur la Conception de l‘Entrelaceur
Classification des niveaux de parallélisme
Niveau Parallélisme
Métriques BCJR
Transitions du treillis
Calcul BCJR
décodeur BCJR-SISO
Sous-blocs
Décodeur composant
Turbo décodeur Itérations
Trames
Optimal
Excessif
Restreint
Non limité
Degré de Parallélisme
Coût en surface
- 9 -
Olivier MULLER – Parallélisme des Codes Convolutifs et Interaction sur la Conception de l‘Entrelaceur
Parallélisme de décodeur composant
• Efficacité du décodage Shuffled
•
à taux d’erreur équivalent
• Dépend fortement de l’entrelaceur
(entre 0.6 et 0.95)
Component Decoder
Component Decoder
Decoder 0
Decoder 1
Iteration 1
Component Decoder
Component Decoder
Decoder 0
Decoder 1
Iteration 2
• Nécessité de définir des règles d’entrelacement pour optimiser l’efficacité
# itérations turbo
# itérations shuffled
- 10 -
Olivier MULLER – Parallélisme des Codes Convolutifs et Interaction sur la Conception de l‘Entrelaceur
Règles de conception• Respecter les temps de propagation (tp ) nécessaire à l'échange des informations entre décodeurs composants
• Fonction t(x) : instant de décodage du symbole x émis dans le sens aller ou retour• Hypothèse décodage synchrone des 2 décodeurs composants
for n=1,2,...,Npt n t n t
for n=1,2,...,Npt n t n t
for n=1,2,...,Npt n t n t
for n=1,2,...,Npt n t n t
- 11 -
Olivier MULLER – Parallélisme des Codes Convolutifs et Interaction sur la Conception de l‘Entrelaceur
Représentation et masque d’entrelaceur
• Représentation de la fonction d’entrelacement (n,(n))
• Masque d’entrelacement• Zone interdite pour la
fonction d'entrelacement désirée
• Influe sur l'étalement de l'entrelaceur
- 12 -
Olivier MULLER – Parallélisme des Codes Convolutifs et Interaction sur la Conception de l‘Entrelaceur
Masque et parallélisme de calcul BCJR
Fra
me
0
N
α extrinsic
β
T/2time
for n= N/2+1,...,Nt n n
1 for n= 1,...,N/2t n N n
Fra
me
0
N
α
extrinsicβ
T/2time
for n= 1,...,Nt n n
Natural order
Inte
rleav
ed o
rder 1t n
0t n
0t n
tp
1 N1
N
1t n
Natural order
Inte
rleav
ed o
rder 1t n
0t n
0t n
tp
1 N1
N
1t n
Natural order
Inte
rleav
ed
ord
er
1t n
0t n
tp
1 N1
N
Natural order
Inte
rleav
ed
ord
er
1t n
0t n
tp
1 N1
N
schéma papillon schéma papillon aller
- 13 -
Olivier MULLER – Parallélisme des Codes Convolutifs et Interaction sur la Conception de l‘Entrelaceur
Masque et parallélisme de sous-blocs
α extrinsic
β
α
extrinsicβ
α
extrinsicβ
α
extrinsicβ
α
extrinsicβ
α
extrinsicβ
α
extrinsicβ
α extrinsic
β
Natural order
Inte
rleav
ed
ord
er
1 N1
N
M
M
Natural order
Inte
rleav
ed
ord
er
1 N1
N
M
M
Natural order
Inte
rleav
ed
ord
er
1 N1
N
M
M
Natural order
Inte
rleav
ed
ord
er
1 N1
N
M
M
- 14 -
Olivier MULLER – Parallélisme des Codes Convolutifs et Interaction sur la Conception de l‘Entrelaceur
Exemple de conception
• Exemple : paquet MPEG
• 188 octets ou 752 symboles avec un code double binaire
• Parallélisme de sous-blocs (P) : 47
• Taille du sous-bloc (M) : 16
• tp = 0
• Permutation
• Décomposition temporelle
• Décomposition spatiale P-périodique
• Efficacité de 0.95
( , ) (2 ) mod 47S t r t r
( ) ( , ) ( , ) ( )S Tn t r t r M t
T
- 15 -
Olivier MULLER – Parallélisme des Codes Convolutifs et Interaction sur la Conception de l‘Entrelaceur
Conclusion
• Classification des techniques de parallélisme
• Métriques BCJR
• décodeur BCJR-SISO
• Turbo décodeur
• Influence de l’entrelaceur sur l’efficacité du décodage shuffled (niveau décodeur BCJR-SISO)
• Règles de conception pour maximiser cette efficacité
• Exemple avec une efficacité de 0.95
O. Muller, A. Baghdadi, and M. Jezequel, "On the Parallelism of Convolutional Turbo Decoding and Interleaving Interference", IEEE Global Telecommunications Conference (GLOBECOM 06), November 2006.
- 16 -
Olivier MULLER – Parallélisme des Codes Convolutifs et Interaction sur la Conception de l‘Entrelaceur
Initialisation dans le parallélisme de sous-blocs
• Informations indéterminées aux extrémités des sous-blocs
• Initialisation par acquisition • Longueur d’acquisition :
métriques d’états fiables• Dégradation légère des taux
d’erreurs
• Initialisation par passage de message
Iteration i
N
d
N
d
Iteration i+1
Sub-block BCJR SISO
N
d
AL
AL
- 17 -
Olivier MULLER – Parallélisme des Codes Convolutifs et Interaction sur la Conception de l‘Entrelaceur
Initialization by message passing (3)
• Better efficiency (speed gain) for similar performance
• Efficiency and initialization methods
• DVB-RCS
• R=6/7
• N=188 bytes
• SNR=4.2 dB
• 5 bit quantification
• Log-MAP algorithm
- 18 -
Olivier MULLER – Parallélisme des Codes Convolutifs et Interaction sur la Conception de l‘Entrelaceur
Parallélisme de décodeur composant
• Efficacité du décodage Shuffled• Dépend de l’entrelaceur (entre 0.6 et
0.95)• Nécessité de définir des règles
d’entrelacement
Sub-block parallelism
degree
# of iterations without shuffling
# of iterations
with shuffling Efficiency
1 8 12 0.66
4 11 15 0.73
8 16 20 0.8
53 47 51 0.92
• Plus efficace que le parallélisme de sous-bloc à fort degré de parallélisme
• Combinaison du parallélisme de sous-blocs et de décodeurs composants
Component Decoder
Component Decoder
Decoder 0
Decoder 1
Iteration 1
Component Decoder
Component Decoder
Decoder 0
Decoder 1
Iteration 2