Implémentation analogique de décodeurs

publicité
Implémentation analogique
de décodeurs correcteurs
d’erreurs
Hamid Meghdadi
Superviseur:
Prof. Jean Pierre Cances
Juillet 2007
Sommaire
•
•
•
•
Introduction
Logiciel CADENCE
Décodage analogique
Travaux réalisés
– Hamming (8,4)
– Tail biting Convolutif (7,5)
– LDPC Quasi-cyclique
• Conclusion
Introduction
• Bruit  Erreur
Émetteur
Canal
Récepteur
Bruit
Les informations reçues peuvent
être différentes de celles envoyées
Introduction
• Bruit  Erreur
• Parité 
Envoyer deuxd’erreur
fois la même
– Détection
séquence d’information
– Correction d’erreur
Codage
Utiliser
parité paire
n
x
i 1
i
0
Avec les codages plus efficaces on
peut détecter ou éventuellement
corriger les erreurs
Introduction
• Bruit  Erreur
• Parité 
– Détection d’erreur
– Correction d’erreur
• Codage:
– Rate: R =Coût
k / 
n Protection
Nombre des bits de l' informatio n
Rate 
– Distance Hamming
(d)
Nombre total des bits envoyés
• Pouvoir de détection : d – 1
Distance de Hamming:
• Pouvoir de
:  d  1 de positions
Le correction
minimum du nombre
 2 
où deux mots de codes sont différents
Introduction
Codes convolutifs
Message
à coder:
101
101
0
1
1
1
1
0
0
1
(111)8
(101)8
Code convolutif (7,5)
0
1
1
0
1 1 1 0 0 0
Séquence codée: 111000
Introduction
Code en blocs
– Couper la séquence de
l’information en blocs de taille k
– Coder chaque bloc de taille k en un
bloc de taille n
Espace vectoriel k
dimensionnel
(2k vecteurs)
Espace de message
Espace vectoriel
n dimensionnel
(2n vecteurs)
Espace de code
Introduction
Code en blocs (suite)
x1n  u1k  Gk n
Code
message
matrice
génératrice
H n  k n  xnT1  0 n  k 1
Matrice de
vérification de
parité
H n  k n  GnTk  0 n  k k
Introduction
Code en blocs (suite)
Chaque ligne de matrice H:
Une équation de parité
x1 x2 x3 x4 x5 x6 x7 x8
1

0
H
0

0
1 1 1 0 0 0 0

0 1 1 0 1 1 0
0 0 0 1 1 1 1
1 1 0 0 0 1 1
x3  x4  x6  x7  0
Logiciel CADENCE
• Simulateur spectre
• Le logiciel le plus répandu
pour la conception des circuits
intégrés
• Démarche:
– Schematic
– Symbol
– Simulation
– Optimisation
Décodage analogique
(Factor graph)
• Une méthode pour présenter la
matrice H.
• Pour chaque ligne de H on a un nœud
de vérification de parité
• Pour chaque colonne de H on a un nœud
de variable
• Un nœud de variable (VNj) est connecté à
un nœud de vérification(FNi) si et
seulement si hi,j est 1.
• Un nœud de vérification vaut 1 si la
somme des valeurs de tous les nœuds de
variable connectés à celui-ci est égale à 0
Décodage analogique
(Factor graph)
• Exemple: Hamming (8,4)
x1 x2 x3 x4 x5 x6 x7 x8
1

0
H
0

0
1 1 1 0 0 0 0

0 1 1 0 1 1 0
0 0 0 1 1 1 1
1 1 0 0 0 1 1
f1
f2
f3
f4
Décodage analogique
(Notion de LLR)
• Projection
• 0↔1
• 1 ↔ -1
• LLR (Log-Likelihood Ratio)
L( X )  ln
• Bit soft
PX ( x  0)
PX ( x  1)
 L( X ) 
( X )  E X   tanh 

 2 
Bit hard
Bit soft
LLR
Symbole
x
λ(X)
L(X)
Domaine
-1,1
[-1,+1]
[-∞,+∞]
Décodage analogique
(Soft XOR- Boxplus)
(U 3 )  (U1 ).(U 2 )

 L(U1 ) 
 L(U 2 ) 
LU1   LU 2   2 tanh 1  tanh 
  tanh 

 2 
 2 

Décodage analogique
(Soft XOR- Boxplus)
Boxplus à trois entrées:
Décodage analogique
(Algorithme de Sum-Product)
 x  f i   L( X j )
j i
 f  xi   L( X j )
j≠i
Décodage analogique
(Circuits de base)
Décodage analogique
(Réalisation de Boxplus)

 V1 
 VT


V3  2VT tanh  tanh 
 tanh 

 2VT 
 2VT

1



Décodage analogique
(Réalisation de Boxplus)
• MOS:
– Saturation:
• Parabolique
– Subthreshold:
• Exponentiel
• VGS≈ VTh
• IDS ≈ qq nA
• Avantage:
– Consommation
• Inconvénient:
– Rapidité
Courant
Rapidité
Décodage analogique
(Réalisation de Boxplus)
• Product:
– Multiplicateur
– Vx et Vy :Niveaux
differents
• Norm:
– Normaliser la
sortie de Product
pour être
utilisable par les
étages suivants
Décodage analogique
(Simulation de Boxplus)
1
3
2
1
Boxplus – théorique
2
Boxplus – pratique
3
Boxplus – 3D (pratique)
Décodage analogique
(Entrée de circuit)
Émetteur
Canal
Bruit
x
LLR 
2x
N0
• Résultat:
– Bonne linéarité
– Peu d’offset
– V=34 mV * LLR
Hamming (8,4)
Hamming (8,4)
• Simulation DC
Bit
Mot de code
sélectionné
Mot de code
erroné
P(ui=0)
(a priori)
Tension d’entrée
(mV)
Tension de
sortie (mV)
Décision hard
1
0
0
0.9
+74.7
+233
0
2
0
0
0.1
-74.7
+181
0
3
1
1
0.1
-74.7
-218
1
4
1
0
0.9
+74.7
-115
1
5
0
0
0.9
+74.7
+226
0
6
1
1
0.1
-74.7
-190
1
7
1
1
0.1
-74.7
-138
1
8
0
0
0.9
+74.7
+194
0
Hamming (8,4)
• Simulation du mode transitoire
Tail biting (7,5)
convolutif
• ci:
Informations du
canal
• ui:
Message décodé
(Pas de probabilité à
priori)
Tail biting (7,5)
convolutif
Tail biting (7,5)
convolutif
Réponse transitoire
Mesure de rapidité
(600 Kbit/sec)
Tail biting (7,5)
convolutif
Simulation très lente ≈ 20 heures par point
LDPC
Quasi-cyclique
• LDPC
– Low Density Parity Check
– Codes très puissants
– Proposé par Gallager en 1963
• Génération
– Aléatoire
– Matrices circulantes
– ….
LDPC
Quasi-cyclique
• Ix est la matrice d’identité 7x7 dont les
lignes sont permutées à gauche de x-1
positions.
Nœuds de
vérification
de parité
Nœuds de
variable
LDPC
Quasi-cyclique
• Période = 1
LDPC
Quasi-cyclique
• Rate = 8/21
• Chaque bloc:
–
–
–
–
8 bits
7 éléments de base
21 nœuds de variable
14 nœuds de vérification
LDPC
Quasi-cyclique
1
2
• Code modulaire
• On peut choisir le nombre de
bits de l’information
• Connectique simple
Conclusion
• Perspectives:
– Analyse de TEB
– Optimisation des
paramètres de
circuit
– Fabrication des
circuit conçus
– Utiliser plus d’un
décodeur à la
fois afin
d’augmenter la
rapidité
– Étudier des
décodeur plus
efficaces
• Bilan:
– Autonomie
– Approfondir ses
connaissances
de théorie de
l’information
– Prise en main du
logiciel
CADENCE
– Se familiariser
avec les
décodeurs
analogique
Merci de votre attention
Hamid Meghdadi
Master Recherche 2 - CHFO
ENSIL 3 – ELT
5 Juillet 2007
Téléchargement