Une introduction au principe turbo. - GIPSA-Lab

publicité
Introduction
Principe turbo
Blocs SISO (Soft Input Soft Output)
Exemple d’un code produit
Une introduction au principe turbo.
Jean-Marc Brossier
2006
Jean-Marc Brossier
Une introduction au principe turbo.
Introduction
Principe turbo
Blocs SISO (Soft Input Soft Output)
Exemple d’un code produit
1
Introduction
2
Principe turbo
Codeur et décodeur
Lien avec les graphes
3
Blocs SISO (Soft Input Soft Output)
L’information souple et son utilisation
Cas des codes convolutifs
Cas des codes en bloc
4
Exemple d’un code produit
Jean-Marc Brossier
Une introduction au principe turbo.
Introduction
Principe turbo
Blocs SISO (Soft Input Soft Output)
Exemple d’un code produit
Atteindre la capacité ...
C’est possible ... mais comment ?
Exploiter l’intervalle entre le débit de la source et la capacité :
codage
Claude Shannon, 1953
A scheme of coding and decoding can be found allowing correction
of all transmission errors, if the information rate is inferior or equal
to the channel capacity.
Jean-Marc Brossier
Une introduction au principe turbo.
Introduction
Principe turbo
Blocs SISO (Soft Input Soft Output)
Exemple d’un code produit
Atteindre la capacité ...
C’est possible ... mais comment ?
Exploiter l’intervalle entre le débit de la source et la capacité :
codage
Claude Shannon, 1953
A scheme of coding and decoding can be found allowing correction
of all transmission errors, if the information rate is inferior or equal
to the channel capacity.
Jean-Marc Brossier
Une introduction au principe turbo.
Introduction
Principe turbo
Blocs SISO (Soft Input Soft Output)
Exemple d’un code produit
Atteindre la capacité ...
C’est possible ... mais comment ?
Exploiter l’intervalle entre le débit de la source et la capacité :
codage
Claude Shannon, 1953
A scheme of coding and decoding can be found allowing correction
of all transmission errors, if the information rate is inferior or equal
to the channel capacity.
Jean-Marc Brossier
Une introduction au principe turbo.
Introduction
Principe turbo
Blocs SISO (Soft Input Soft Output)
Exemple d’un code produit
Codeur et décodeur
Lien avec les graphes
Turbo encodeur
Encodeur série
u
Données
Entrelaceur
Code 1
p
Code 2
q
Deux petits codes systématiques en forment un grand
Données u
Redondance du premier encodeur p
Redondance du second encodeur q
Jean-Marc Brossier
Une introduction au principe turbo.
Introduction
Principe turbo
Blocs SISO (Soft Input Soft Output)
Exemple d’un code produit
Codeur et décodeur
Lien avec les graphes
Turbo encodeur
Encodeur série
u
Données
Entrelaceur
Code 1
p
Code 2
q
Deux petits codes systématiques en forment un grand
Données u
Redondance du premier encodeur p
Redondance du second encodeur q
Jean-Marc Brossier
Une introduction au principe turbo.
Introduction
Principe turbo
Blocs SISO (Soft Input Soft Output)
Exemple d’un code produit
Codeur et décodeur
Lien avec les graphes
Turbo encodeur
Encodeur série
u
Données
Entrelaceur
Code 1
p
Code 2
q
Deux petits codes systématiques en forment un grand
Données u
Redondance du premier encodeur p
Redondance du second encodeur q
Jean-Marc Brossier
Une introduction au principe turbo.
Introduction
Principe turbo
Blocs SISO (Soft Input Soft Output)
Exemple d’un code produit
Codeur et décodeur
Lien avec les graphes
Turbo encodeur
Encodeur série
u
Données
Entrelaceur
Code 1
p
Code 2
q
Deux petits codes systématiques en forment un grand
Données u
Redondance du premier encodeur p
Redondance du second encodeur q
Jean-Marc Brossier
Une introduction au principe turbo.
Introduction
Principe turbo
Blocs SISO (Soft Input Soft Output)
Exemple d’un code produit
Codeur et décodeur
Lien avec les graphes
Turbo décodeur
Décodeur associé
Décodeur itératif
Les décodeurs fournissent
une première estimation.
u
p
E
Décodeur 1
Décodeur 2
E
D
Chacun communique ses
résultats à l’autre pour une
nouvelle passe.
Les décodeurs 1 et 2
fournissent une seconde
estimation.
Chacun communique ses
résultats à l’autre etc.
q
Jean-Marc Brossier
Une introduction au principe turbo.
Introduction
Principe turbo
Blocs SISO (Soft Input Soft Output)
Exemple d’un code produit
Codeur et décodeur
Lien avec les graphes
Turbo décodeur
Décodeur associé
Décodeur itératif
Les décodeurs fournissent
une première estimation.
u
p
E
Décodeur 1
Décodeur 2
E
D
Chacun communique ses
résultats à l’autre pour une
nouvelle passe.
Les décodeurs 1 et 2
fournissent une seconde
estimation.
Chacun communique ses
résultats à l’autre etc.
q
Jean-Marc Brossier
Une introduction au principe turbo.
Introduction
Principe turbo
Blocs SISO (Soft Input Soft Output)
Exemple d’un code produit
Codeur et décodeur
Lien avec les graphes
Turbo décodeur
Décodeur associé
Décodeur itératif
Les décodeurs fournissent
une première estimation.
u
p
E
Décodeur 1
Décodeur 2
E
D
Chacun communique ses
résultats à l’autre pour une
nouvelle passe.
Les décodeurs 1 et 2
fournissent une seconde
estimation.
Chacun communique ses
résultats à l’autre etc.
q
Jean-Marc Brossier
Une introduction au principe turbo.
Introduction
Principe turbo
Blocs SISO (Soft Input Soft Output)
Exemple d’un code produit
Codeur et décodeur
Lien avec les graphes
Turbo décodeur
Décodeur associé
Décodeur itératif
Les décodeurs fournissent
une première estimation.
u
p
E
Décodeur 1
Décodeur 2
E
D
Chacun communique ses
résultats à l’autre pour une
nouvelle passe.
Les décodeurs 1 et 2
fournissent une seconde
estimation.
Chacun communique ses
résultats à l’autre etc.
q
Jean-Marc Brossier
Une introduction au principe turbo.
Introduction
Principe turbo
Blocs SISO (Soft Input Soft Output)
Exemple d’un code produit
Codeur et décodeur
Lien avec les graphes
Turbo décodeur
Décodeur associé
Décodeur itératif
Les décodeurs fournissent
une première estimation.
u
p
E
Décodeur 1
Décodeur 2
E
D
Chacun communique ses
résultats à l’autre pour une
nouvelle passe.
Les décodeurs 1 et 2
fournissent une seconde
estimation.
Chacun communique ses
résultats à l’autre etc.
q
Jean-Marc Brossier
Une introduction au principe turbo.
Introduction
Principe turbo
Blocs SISO (Soft Input Soft Output)
Exemple d’un code produit
Codeur et décodeur
Lien avec les graphes
Graphe du turbo-code
Graphe du code
1
0
2
1
1
3
2
2
4
3
3
4
Codeur 1
Entrées
Entrelaceur
0
1
1
2
2
3
3
4
Codeur 2
4
Jean-Marc Brossier
Une introduction au principe turbo.
Introduction
Principe turbo
Blocs SISO (Soft Input Soft Output)
Exemple d’un code produit
Codeur et décodeur
Lien avec les graphes
Graphe du turbo-code
Graphe du code
1
0
2
1
1
3
2
2
4
3
3
4
Codeur 1
Entrées
Entrelaceur
0
1
1
2
2
3
3
4
Codeur 2
Propriétés du graphe
Graphe avec cycles :
l’algorithme somme-produit
n’est pas directement
applicable.
4
Jean-Marc Brossier
Une introduction au principe turbo.
Introduction
Principe turbo
Blocs SISO (Soft Input Soft Output)
Exemple d’un code produit
Codeur et décodeur
Lien avec les graphes
Graphe du turbo-code
Graphe du code
1
0
2
1
1
3
2
2
4
3
3
Adaptation de l’algorithme
somme-produit
Remède théorique :
4
Codeur 1
Entrées
Remède empirique :
Entrelaceur
0
1
1
2
2
3
3
4
Remplacer le graphe par
son équivalent acyclique.
Beaucoup trop lourd.
Codeur 2
4
Jean-Marc Brossier
Choix d’un
ordonnancement.
Itérer plusieurs fois
l’algorithme.
Une introduction au principe turbo.
Introduction
Principe turbo
Blocs SISO (Soft Input Soft Output)
Exemple d’un code produit
Codeur et décodeur
Lien avec les graphes
Graphe du turbo-code
Graphe du code
1
0
2
1
1
3
2
2
4
3
3
Adaptation de l’algorithme
somme-produit
Remède théorique :
4
Codeur 1
Entrées
Remède empirique :
Entrelaceur
0
1
1
2
2
3
3
4
Remplacer le graphe par
son équivalent acyclique.
Beaucoup trop lourd.
Codeur 2
4
Jean-Marc Brossier
Choix d’un
ordonnancement.
Itérer plusieurs fois
l’algorithme.
Une introduction au principe turbo.
Introduction
Principe turbo
Blocs SISO (Soft Input Soft Output)
Exemple d’un code produit
Codeur et décodeur
Lien avec les graphes
Graphe du turbo-code
Graphe du code
1
0
2
1
1
3
2
2
4
3
3
Adaptation de l’algorithme
somme-produit
Remède théorique :
4
Codeur 1
Entrées
Remède empirique :
Entrelaceur
0
1
1
2
2
3
3
4
Remplacer le graphe par
son équivalent acyclique.
Beaucoup trop lourd.
Codeur 2
4
Jean-Marc Brossier
Choix d’un
ordonnancement.
Itérer plusieurs fois
l’algorithme.
Une introduction au principe turbo.
Introduction
Principe turbo
Blocs SISO (Soft Input Soft Output)
Exemple d’un code produit
Codeur et décodeur
Lien avec les graphes
Graphe du turbo-code
Graphe du code
1
0
2
1
1
3
2
2
4
3
3
Adaptation de l’algorithme
somme-produit
Remède théorique :
4
Codeur 1
Entrées
Remède empirique :
Entrelaceur
0
1
1
2
2
3
3
4
Remplacer le graphe par
son équivalent acyclique.
Beaucoup trop lourd.
Codeur 2
4
Jean-Marc Brossier
Choix d’un
ordonnancement.
Itérer plusieurs fois
l’algorithme.
Une introduction au principe turbo.
Introduction
Principe turbo
Blocs SISO (Soft Input Soft Output)
Exemple d’un code produit
Codeur et décodeur
Lien avec les graphes
Graphe du turbo-code
Graphe du code
1
0
2
1
1
3
2
2
4
3
3
Adaptation de l’algorithme
somme-produit
Remède théorique :
4
Codeur 1
Entrées
Remède empirique :
Entrelaceur
0
1
1
2
2
3
3
4
Remplacer le graphe par
son équivalent acyclique.
Beaucoup trop lourd.
Codeur 2
4
Jean-Marc Brossier
Choix d’un
ordonnancement.
Itérer plusieurs fois
l’algorithme.
Une introduction au principe turbo.
Introduction
Principe turbo
Blocs SISO (Soft Input Soft Output)
Exemple d’un code produit
Codeur et décodeur
Lien avec les graphes
Graphe du turbo-code
Graphe du code
1
0
2
1
1
3
2
2
4
3
3
Adaptation de l’algorithme
somme-produit
Remède théorique :
4
Codeur 1
Entrées
Remède empirique :
Entrelaceur
0
1
1
2
2
3
3
4
Remplacer le graphe par
son équivalent acyclique.
Beaucoup trop lourd.
Codeur 2
4
Jean-Marc Brossier
Choix d’un
ordonnancement.
Itérer plusieurs fois
l’algorithme.
Une introduction au principe turbo.
Introduction
Principe turbo
Blocs SISO (Soft Input Soft Output)
Exemple d’un code produit
Codeur et décodeur
Lien avec les graphes
Graphe du turbo-code
Graphe du code
1
0
2
1
1
3
2
2
4
3
3
Adaptation de l’algorithme
somme-produit
Remède théorique :
4
Codeur 1
Entrées
Remède empirique :
Entrelaceur
0
1
1
2
2
3
3
4
Remplacer le graphe par
son équivalent acyclique.
Beaucoup trop lourd.
Codeur 2
4
Jean-Marc Brossier
Choix d’un
ordonnancement.
Itérer plusieurs fois
l’algorithme.
Une introduction au principe turbo.
Introduction
Principe turbo
Blocs SISO (Soft Input Soft Output)
Exemple d’un code produit
Codeur et décodeur
Lien avec les graphes
Graphe du turbo-code
Graphe du code
1
0
2
1
1
3
2
2
4
3
3
Ordonnancement classique
Décodage souple du premier
code.
4
Codeur 1
Entrées
Entrelaceur
0
1
1
2
2
3
3
4
Codeur 2
4
Jean-Marc Brossier
Décodage souple du second
code.
Échange d’information souple
entre les deux codes.
Renouveler “plusieurs fois”
les étapes précédentes.
Une introduction au principe turbo.
Introduction
Principe turbo
Blocs SISO (Soft Input Soft Output)
Exemple d’un code produit
Codeur et décodeur
Lien avec les graphes
Graphe du turbo-code
Graphe du code
1
0
2
1
1
3
2
2
4
3
3
4
Codeur 1
En pratique
Performances excellentes.
Entrées
Entrelaceur
0
1
1
2
2
3
3
4
Codeur 2
4
Jean-Marc Brossier
Une introduction au principe turbo.
Introduction
Principe turbo
Blocs SISO (Soft Input Soft Output)
Exemple d’un code produit
L’information souple et son utilisation
Cas des codes convolutifs
Cas des codes en bloc
Notion d’information souple
Qu’est-ce qu’une information souple ?
Typiquement, un rapport de vraisemblance logarithmique.
Exemple du canal à bruit additif gaussien
la sortie est de la forme r = x + b avec x = ±1 et b v.a.
normale centrée et de variance σ 2 .
LLR (Log Likelihood Ratio) :
log
p (r | + 1)
= log
p (r | − 1)

√1
 σ 2π
√1
σ 2π

−1)2
exp − (r2σ
2
2
 = 2 r
(r +1)2
σ
exp − 2σ2
Interprétation :
Le signe LLR est la sortie dure (décidée)
Son module reflète la fiabilité de la décision
Jean-Marc Brossier
Une introduction au principe turbo.
Introduction
Principe turbo
Blocs SISO (Soft Input Soft Output)
Exemple d’un code produit
L’information souple et son utilisation
Cas des codes convolutifs
Cas des codes en bloc
Notion d’information souple
Qu’est-ce qu’une information souple ?
Typiquement, un rapport de vraisemblance logarithmique.
Exemple du canal à bruit additif gaussien
la sortie est de la forme r = x + b avec x = ±1 et b v.a.
normale centrée et de variance σ 2 .
LLR (Log Likelihood Ratio) :
log
p (r | + 1)
= log
p (r | − 1)

√1
 σ 2π
√1
σ 2π

−1)2
exp − (r2σ
2
2
 = 2 r
(r +1)2
σ
exp − 2σ2
Interprétation :
Le signe LLR est la sortie dure (décidée)
Son module reflète la fiabilité de la décision
Jean-Marc Brossier
Une introduction au principe turbo.
Introduction
Principe turbo
Blocs SISO (Soft Input Soft Output)
Exemple d’un code produit
L’information souple et son utilisation
Cas des codes convolutifs
Cas des codes en bloc
Modélisation de l’entrée du décodeur
Mot transmis
X = (X1 , · · · , Xn )
Mot analogique reçu
R = (LLR1 , · · · , LLRn )
Décomposition en parties dures et
fiabilités
Observations dures :
Le signe du LLR définit le
mot dur :
Yi = sgn [LLRi ]
Les LLRi sont des LLR
Itération 1 : les informations
peuvent être dures ou
souples.
Itérations suivantes : les
informations sont souples.
Jean-Marc Brossier
Fiabilités : Le module du
LLR définit les fiabilités :
αi = |LLRi |
Une introduction au principe turbo.
Introduction
Principe turbo
Blocs SISO (Soft Input Soft Output)
Exemple d’un code produit
L’information souple et son utilisation
Cas des codes convolutifs
Cas des codes en bloc
Modélisation de l’entrée du décodeur
Mot transmis
X = (X1 , · · · , Xn )
Mot analogique reçu
R = (LLR1 , · · · , LLRn )
Décomposition en parties dures et
fiabilités
Observations dures :
Le signe du LLR définit le
mot dur :
Yi = sgn [LLRi ]
Les LLRi sont des LLR
Itération 1 : les informations
peuvent être dures ou
souples.
Itérations suivantes : les
informations sont souples.
Jean-Marc Brossier
Fiabilités : Le module du
LLR définit les fiabilités :
αi = |LLRi |
Une introduction au principe turbo.
Introduction
Principe turbo
Blocs SISO (Soft Input Soft Output)
Exemple d’un code produit
L’information souple et son utilisation
Cas des codes convolutifs
Cas des codes en bloc
Modélisation de l’entrée du décodeur
Mot transmis
X = (X1 , · · · , Xn )
Mot analogique reçu
R = (LLR1 , · · · , LLRn )
Décomposition en parties dures et
fiabilités
Observations dures :
Le signe du LLR définit le
mot dur :
Yi = sgn [LLRi ]
Les LLRi sont des LLR
Itération 1 : les informations
peuvent être dures ou
souples.
Itérations suivantes : les
informations sont souples.
Jean-Marc Brossier
Fiabilités : Le module du
LLR définit les fiabilités :
αi = |LLRi |
Une introduction au principe turbo.
Introduction
Principe turbo
Blocs SISO (Soft Input Soft Output)
Exemple d’un code produit
L’information souple et son utilisation
Cas des codes convolutifs
Cas des codes en bloc
Modélisation de l’entrée du décodeur
Mot transmis
X = (X1 , · · · , Xn )
Mot analogique reçu
R = (LLR1 , · · · , LLRn )
Décomposition en parties dures et
fiabilités
Observations dures :
Le signe du LLR définit le
mot dur :
Yi = sgn [LLRi ]
Les LLRi sont des LLR
Itération 1 : les informations
peuvent être dures ou
souples.
Itérations suivantes : les
informations sont souples.
Jean-Marc Brossier
Fiabilités : Le module du
LLR définit les fiabilités :
αi = |LLRi |
Une introduction au principe turbo.
Introduction
Principe turbo
Blocs SISO (Soft Input Soft Output)
Exemple d’un code produit
L’information souple et son utilisation
Cas des codes convolutifs
Cas des codes en bloc
Modélisation de l’entrée du décodeur
Mot transmis
X = (X1 , · · · , Xn )
Mot analogique reçu
R = (LLR1 , · · · , LLRn )
Décomposition en parties dures et
fiabilités
Observations dures :
Le signe du LLR définit le
mot dur :
Yi = sgn [LLRi ]
Les LLRi sont des LLR
Itération 1 : les informations
peuvent être dures ou
souples.
Itérations suivantes : les
informations sont souples.
Jean-Marc Brossier
Fiabilités : Le module du
LLR définit les fiabilités :
αi = |LLRi |
Une introduction au principe turbo.
Introduction
Principe turbo
Blocs SISO (Soft Input Soft Output)
Exemple d’un code produit
L’information souple et son utilisation
Cas des codes convolutifs
Cas des codes en bloc
Modélisation de l’entrée du décodeur
Mot transmis
X = (X1 , · · · , Xn )
Mot analogique reçu
R = (LLR1 , · · · , LLRn )
Décomposition en parties dures et
fiabilités
Observations dures :
Le signe du LLR définit le
mot dur :
Yi = sgn [LLRi ]
Les LLRi sont des LLR
Itération 1 : les informations
peuvent être dures ou
souples.
Itérations suivantes : les
informations sont souples.
Jean-Marc Brossier
Fiabilités : Le module du
LLR définit les fiabilités :
αi = |LLRi |
Une introduction au principe turbo.
Introduction
Principe turbo
Blocs SISO (Soft Input Soft Output)
Exemple d’un code produit
L’information souple et son utilisation
Cas des codes convolutifs
Cas des codes en bloc
Modélisation de l’entrée du décodeur
Mot transmis
X = (X1 , · · · , Xn )
Mot analogique reçu
R = (LLR1 , · · · , LLRn )
Décomposition en parties dures et
fiabilités
Observations dures :
Le signe du LLR définit le
mot dur :
Yi = sgn [LLRi ]
Les LLRi sont des LLR
Itération 1 : les informations
peuvent être dures ou
souples.
Itérations suivantes : les
informations sont souples.
Jean-Marc Brossier
Fiabilités : Le module du
LLR définit les fiabilités :
αi = |LLRi |
Une introduction au principe turbo.
Introduction
Principe turbo
Blocs SISO (Soft Input Soft Output)
Exemple d’un code produit
L’information souple et son utilisation
Cas des codes convolutifs
Cas des codes en bloc
Modélisation de l’entrée du décodeur
Mot transmis
X = (X1 , · · · , Xn )
Mot analogique reçu
R = (LLR1 , · · · , LLRn )
Décomposition en parties dures et
fiabilités
Observations dures :
Le signe du LLR définit le
mot dur :
Yi = sgn [LLRi ]
Les LLRi sont des LLR
Itération 1 : les informations
peuvent être dures ou
souples.
Itérations suivantes : les
informations sont souples.
Jean-Marc Brossier
Fiabilités : Le module du
LLR définit les fiabilités :
αi = |LLRi |
Une introduction au principe turbo.
Introduction
Principe turbo
Blocs SISO (Soft Input Soft Output)
Exemple d’un code produit
L’information souple et son utilisation
Cas des codes convolutifs
Cas des codes en bloc
Types de décodeurs
Notations
Vecteur des erreurs Z m = Y ⊕ X m
n
P
Zim
Poids des erreurs W (Z m ) =
i=1
Poids souple (analogique) Wα (Z m ) =
Pn
m
i=1 αi Zi .
Décodeur incomplet (à entrée dure)
Seule la partie dure de l’information est exploitée.
Recherche du mot de code X m = (X1m , · · · , Xnm ) le plus
proche de Y = (Y1 , · · · , Yn ) au sens de la distance de
Hamming.
1 mot trouvé si W (Z m ) ≤ dmin2−1 sinon aucun mot.
La décision
est
correcte si le nombre d’erreurs est plus faible
que dmin2 −1 .
Jean-Marc Brossier
Une introduction au principe turbo.
Introduction
Principe turbo
Blocs SISO (Soft Input Soft Output)
Exemple d’un code produit
L’information souple et son utilisation
Cas des codes convolutifs
Cas des codes en bloc
Types de décodeurs
Notations
Vecteur des erreurs Z m = Y ⊕ X m
n
P
Zim
Poids des erreurs W (Z m ) =
i=1
Poids souple (analogique) Wα (Z m ) =
Pn
m
i=1 αi Zi .
Décodeur complet (à entrée souple)
Toute l’information est utilisée.
Décodeur complet : minm W (Y ⊕ X m ) peut donnerjun mot k
d
−1
de code même si le nombre d’erreurs est supérieur à min
2
Décodeur souple complet : minm Wα (Y ⊕ X m ) avec le poids
analogique Wα (Z m ).
Jean-Marc Brossier
Une introduction au principe turbo.
Introduction
Principe turbo
Blocs SISO (Soft Input Soft Output)
Exemple d’un code produit
L’information souple et son utilisation
Cas des codes convolutifs
Cas des codes en bloc
Turbo-codes convolutifs avec entrée et sortie souple
Entrée souple
Aucune modification de l’algorithme de Viterbi n’est nécessaire.
Une simple adaptation de la métrique de branche permet une prise
en compte naturelle des entrées souples.
Sortie souple
Une adaptation de l’algorithme de Viterbi est requise :
Soft Output Viterbi Algorithm (SOVA)
Idée : conserver les chemins concurrents : plus le concurrent
est proche, moins la décision est fiable.
Jean-Marc Brossier
Une introduction au principe turbo.
Introduction
Principe turbo
Blocs SISO (Soft Input Soft Output)
Exemple d’un code produit
L’information souple et son utilisation
Cas des codes convolutifs
Cas des codes en bloc
Turbo-codes convolutifs avec entrée et sortie souple
Entrée souple
Aucune modification de l’algorithme de Viterbi n’est nécessaire.
Une simple adaptation de la métrique de branche permet une prise
en compte naturelle des entrées souples.
Sortie souple
Une adaptation de l’algorithme de Viterbi est requise :
Soft Output Viterbi Algorithm (SOVA)
Idée : conserver les chemins concurrents : plus le concurrent
est proche, moins la décision est fiable.
Jean-Marc Brossier
Une introduction au principe turbo.
Introduction
Principe turbo
Blocs SISO (Soft Input Soft Output)
Exemple d’un code produit
L’information souple et son utilisation
Cas des codes convolutifs
Cas des codes en bloc
Turbo-codes convolutifs avec entrée et sortie souple
Entrée souple
Aucune modification de l’algorithme de Viterbi n’est nécessaire.
Une simple adaptation de la métrique de branche permet une prise
en compte naturelle des entrées souples.
Sortie souple
Une adaptation de l’algorithme de Viterbi est requise :
Soft Output Viterbi Algorithm (SOVA)
Idée : conserver les chemins concurrents : plus le concurrent
est proche, moins la décision est fiable.
Jean-Marc Brossier
Une introduction au principe turbo.
Introduction
Principe turbo
Blocs SISO (Soft Input Soft Output)
Exemple d’un code produit
L’information souple et son utilisation
Cas des codes convolutifs
Cas des codes en bloc
Turbo-codes en bloc avec entrée et sortie souple
Entrée souple.
Sortie souple.
Jean-Marc Brossier
Une introduction au principe turbo.
Introduction
Principe turbo
Blocs SISO (Soft Input Soft Output)
Exemple d’un code produit
L’information souple et son utilisation
Cas des codes convolutifs
Cas des codes en bloc
Turbo-codes en bloc avec entrée et sortie souple
Entrée souple.
Algorithme de Chase
Une décision sur le vecteur R reçu donne Y qui par décodage dur
produit un mot XA.
Un décodeur incomplet s’arrête là.
Si les fiabilités sont connues, il est possible de raffiner :
Repérer quelques positions «faibles» (LLR les plus faibles)
Modifier Y en ces positions et produire un petit nombre de mots
candidats par décodage dur de Y modifié.
Sélectionner le mot à distance analogique minimale.
Sortie souple.
Jean-Marc Brossier
Une introduction au principe turbo.
Introduction
Principe turbo
Blocs SISO (Soft Input Soft Output)
Exemple d’un code produit
L’information souple et son utilisation
Cas des codes convolutifs
Cas des codes en bloc
Turbo-codes en bloc avec entrée et sortie souple
Entrée souple.
Algorithme de Chase
Une décision sur le vecteur R reçu donne Y qui par décodage dur
produit un mot XA.
Un décodeur incomplet s’arrête là.
Si les fiabilités sont connues, il est possible de raffiner :
Repérer quelques positions «faibles» (LLR les plus faibles)
Modifier Y en ces positions et produire un petit nombre de mots
candidats par décodage dur de Y modifié.
Sélectionner le mot à distance analogique minimale.
Sortie souple.
Jean-Marc Brossier
Une introduction au principe turbo.
Introduction
Principe turbo
Blocs SISO (Soft Input Soft Output)
Exemple d’un code produit
L’information souple et son utilisation
Cas des codes convolutifs
Cas des codes en bloc
Turbo-codes en bloc avec entrée et sortie souple
Entrée souple.
Algorithme de Chase
Une décision sur le vecteur R reçu donne Y qui par décodage dur
produit un mot XA.
Un décodeur incomplet s’arrête là.
Si les fiabilités sont connues, il est possible de raffiner :
Repérer quelques positions «faibles» (LLR les plus faibles)
Modifier Y en ces positions et produire un petit nombre de mots
candidats par décodage dur de Y modifié.
Sélectionner le mot à distance analogique minimale.
Sortie souple.
Jean-Marc Brossier
Une introduction au principe turbo.
Introduction
Principe turbo
Blocs SISO (Soft Input Soft Output)
Exemple d’un code produit
L’information souple et son utilisation
Cas des codes convolutifs
Cas des codes en bloc
Turbo-codes en bloc avec entrée et sortie souple
Entrée souple.
Algorithme de Chase
Une décision sur le vecteur R reçu donne Y qui par décodage dur
produit un mot XA.
Un décodeur incomplet s’arrête là.
Si les fiabilités sont connues, il est possible de raffiner :
Repérer quelques positions «faibles» (LLR les plus faibles)
Modifier Y en ces positions et produire un petit nombre de mots
candidats par décodage dur de Y modifié.
Sélectionner le mot à distance analogique minimale.
Sortie souple.
Jean-Marc Brossier
Une introduction au principe turbo.
Introduction
Principe turbo
Blocs SISO (Soft Input Soft Output)
Exemple d’un code produit
L’information souple et son utilisation
Cas des codes convolutifs
Cas des codes en bloc
Turbo-codes en bloc avec entrée et sortie souple
Entrée souple.
Algorithme de Chase
Une décision sur le vecteur R reçu donne Y qui par décodage dur
produit un mot XA.
Un décodeur incomplet s’arrête là.
Si les fiabilités sont connues, il est possible de raffiner :
Repérer quelques positions «faibles» (LLR les plus faibles)
Modifier Y en ces positions et produire un petit nombre de mots
candidats par décodage dur de Y modifié.
Sélectionner le mot à distance analogique minimale.
Sortie souple.
Jean-Marc Brossier
Une introduction au principe turbo.
Introduction
Principe turbo
Blocs SISO (Soft Input Soft Output)
Exemple d’un code produit
L’information souple et son utilisation
Cas des codes convolutifs
Cas des codes en bloc
Turbo-codes en bloc avec entrée et sortie souple
Entrée souple.
Algorithme de Chase
Une décision sur le vecteur R reçu donne Y qui par décodage dur
produit un mot XA.
Un décodeur incomplet s’arrête là.
Si les fiabilités sont connues, il est possible de raffiner :
Repérer quelques positions «faibles» (LLR les plus faibles)
Modifier Y en ces positions et produire un petit nombre de mots
candidats par décodage dur de Y modifié.
Sélectionner le mot à distance analogique minimale.
Sortie souple.
Jean-Marc Brossier
Une introduction au principe turbo.
Introduction
Principe turbo
Blocs SISO (Soft Input Soft Output)
Exemple d’un code produit
L’information souple et son utilisation
Cas des codes convolutifs
Cas des codes en bloc
Turbo-codes en bloc avec entrée et sortie souple
Entrée souple.
Sortie souple.
Jean-Marc Brossier
Une introduction au principe turbo.
Introduction
Principe turbo
Blocs SISO (Soft Input Soft Output)
Exemple d’un code produit
L’information souple et son utilisation
Cas des codes convolutifs
Cas des codes en bloc
Turbo-codes en bloc avec entrée et sortie souple
Entrée souple.
Sortie souple.
Algorithme de Pyndiah pour le calcul des fiabilités
Λ (dj ) = log
P (aj = +1|R)
P (aj = −1|R)
Fiabilités
E = C i |R
P
i
C i ∈Sj+1 P R|E = C
Λ (dj ) = log P
i
C i ∈Sj−1 P (R|E = C )
2
1 n
|R−C i |
i
√
avec P R|E = C =
exp − 2σ2
2πσ
P (aj = ±1|R) =
P
C i ∈Sj±1 mots :cji =±1 P
Jean-Marc Brossier
Une introduction au principe turbo.
Introduction
Principe turbo
Blocs SISO (Soft Input Soft Output)
Exemple d’un code produit
L’information souple et son utilisation
Cas des codes convolutifs
Cas des codes en bloc
Turbo-codes en bloc avec entrée et sortie souple
Entrée souple.
Sortie souple.
Algorithme de Pyndiah pour le calcul des fiabilités
Λ (dj ) = log
P (aj = +1|R)
P (aj = −1|R)
Fiabilités
E = C i |R
P
i
C i ∈Sj+1 P R|E = C
Λ (dj ) = log P
i
C i ∈Sj−1 P (R|E = C )
2
1 n
|R−C i |
i
√
avec P R|E = C =
exp − 2σ2
2πσ
P (aj = ±1|R) =
P
C i ∈Sj±1 mots :cji =±1 P
Jean-Marc Brossier
Une introduction au principe turbo.
Introduction
Principe turbo
Blocs SISO (Soft Input Soft Output)
Exemple d’un code produit
L’information souple et son utilisation
Cas des codes convolutifs
Cas des codes en bloc
Turbo-codes en bloc avec entrée et sortie souple
Entrée souple.
Sortie souple.
Algorithme de Pyndiah pour le calcul des fiabilités
Λ (dj ) = log
P (aj = +1|R)
P (aj = −1|R)
Fiabilités approchées
1
Λ (dj ) ≈ 2
2σ
2 2 −1(j) +1(j) R − C
− R − C
C ±1(j) mots de Sj±1 à moindre distance Euclidienne de R.
Jean-Marc Brossier
Une introduction au principe turbo.
Introduction
Principe turbo
Blocs SISO (Soft Input Soft Output)
Exemple d’un code produit
L’information souple et son utilisation
Cas des codes convolutifs
Cas des codes en bloc
Turbo-codes en bloc avec entrée et sortie souple
Entrée souple.
Sortie souple.
Algorithme de Pyndiah pour le calcul des fiabilités
Λ (dj ) = log
P (aj = +1|R)
P (aj = −1|R)
Fiabilités approchées
1
Λ (dj ) ≈ 2
2σ
2 2 −1(j) +1(j) R − C
− R − C
C ±1(j) mots de Sj±1 à moindre distance Euclidienne de R.
Jean-Marc Brossier
Une introduction au principe turbo.
Introduction
Principe turbo
Blocs SISO (Soft Input Soft Output)
Exemple d’un code produit
Structure d’un code produit
Produit de deux codes en bloc
Jean-Marc Brossier
Une introduction au principe turbo.
Introduction
Principe turbo
Blocs SISO (Soft Input Soft Output)
Exemple d’un code produit
Performances du code produit
Performances du turbo décodeur
Courbe extraite de la thèse de Christophe Vanstraceele,
ENS Cachan.
Jean-Marc Brossier
Une introduction au principe turbo.
Téléchargement