Académique Documents
Professionnel Documents
Culture Documents
05 Codes Correcteurs D'erreurs 4 Transparents Par Page PDF
05 Codes Correcteurs D'erreurs 4 Transparents Par Page PDF
D
ecodeur de Viterbi
Connection avec les codes blocs
Introduction - D
efinitions
G
en
erateur de s
equences
Distance libre
Plan
1
Decodeur de Viterbi
Decodage `a maximum de probabilite
Le decodeur Viterbi
Marc Chaumont
Introduction
Introduction - D
efinitions
G
en
erateur de s
equences
Distance libre
Quelques mots
Marc Chaumont
Introduction
Introduction - D
efinitions
G
en
erateur de s
equences
Distance libre
Marc Chaumont
Introduction
Marc Chaumont
Introduction
Introduction - D
efinitions
G
en
erateur de s
equences
Distance libre
Codes convolutifs
Introduction - D
efinitions
G
en
erateur de s
equences
Distance libre
Codeur convolutif
Un codeur convolutif est une machine `
a
etats finis.
Note : Larc le plus haut dans la transition entre letat s[i] et letat s[i +1]
est causee par un bit nul en entree (u[i] = 0).
Marc Chaumont
Introduction
Introduction - D
efinitions
G
en
erateur de s
equences
Distance libre
Introduction
Introduction - D
efinitions
G
en
erateur de s
equences
Distance libre
Le circuit logique
Diagramme detat
Introduction
Marc Chaumont
Introduction
Introduction - D
efinitions
G
en
erateur de s
equences
Distance libre
Table de transition
Introduction - D
efinitions
G
en
erateur de s
equences
Distance libre
Longueur de contrainte
Codeur `a m memoires
Un codeur `a m memoires sera reference codeur m-memoires.
Dans lexemple precedent m=2.
Etat initial
s0 [i]s1 [i]
00
00
01
01
10
10
11
11
Information
u[i]
0
1
0
1
0
1
0
1
Etat final
s0 [i + 1]s1 [i + 1]
00
10
00
10
01
11
01
11
Sortie
v [i]v (1) [i]
00
11
11
00
10
01
01
10
(0)
Longueur de contrainte
La longueur de contrainte K dun codeur convolutif correspond
au nombre de temps horloge influencant les sorties du codeur. Pour
un 1/2-taux codeur, K=m+1.
Dans lexemple precedent les temps i, i 1 et i 2 influencent les
sorties du decodeur au temps i. K vaut donc 3.
Marc Chaumont
Introduction
Introduction - D
efinitions
G
en
erateur de s
equences
Distance libre
Introduction - D
efinitions
G
en
erateur de s
equences
Distance libre
Plan
Remarques supplementaires
Decodeur de Viterbi
Decodage `a maximum de probabilite
Le decodeur Viterbi
Introduction
Introduction
Marc Chaumont
Introduction
Introduction - D
efinitions
G
en
erateur de s
equences
Distance libre
Introduction - D
efinitions
G
en
erateur de s
equences
Distance libre
Marc Chaumont
Introduction
Introduction - D
efinitions
G
en
erateur de s
equences
Distance libre
Introduction
Introduction - D
efinitions
G
en
erateur de s
equences
Distance libre
Un peu dhistoire
Marc Chaumont
Introduction
Marc Chaumont
Introduction
Introduction - D
efinitions
G
en
erateur de s
equences
Distance libre
binaire
000
001
010
011
100
101
110
111
Les polyn
omes generateurs sont donnes sous la forme gj (D) avec
0j <n:
gj (D) = gj [0] + gj [1]D + gj [2]D 2 + ... + gj [m]D m
octale
0
1
2
3
4
5
6
7
Marc Chaumont
Introduction - D
efinitions
G
en
erateur de s
equences
Distance libre
Matrice generatrice
m
X
l=0
g1 [0]
0
0
g0 [1]
g0 [0]
0
Introduction
Introduction - D
efinitions
G
en
erateur de s
equences
Distance libre
v (j) [i] =
0
B
G =B
@
[i] =
m
X
Introduction
(j)
l=0
Marc Chaumont
Introduction - D
efinitions
G
en
erateur de s
equences
Distance libre
g1 [1]
g1 [0]
0
...
...
...
...
...
...
Marc Chaumont
g0 [m]
...
g0 [1]
...
g1 [m]
...
g1 [1]
Introduction
0
g0 [m]
...
0
g1 [m]
...
...
0
g0 [m]
...
0
g1 [m]
1
C
C
A
1 1 1 0 1 1
1 1 1 0 1 1
1 1 1 0 1 1
G =
1 1 1 0 1 1
...
Si u = (110100) alors v = u.G = (11, 01, 01, 00, 10, 11).
Marc Chaumont
Introduction
Introduction - D
efinitions
G
en
erateur de s
equences
Distance libre
Plan
1
Introduction - D
efinitions
G
en
erateur de s
equences
Distance libre
Distance libre
Les codes convolutifs binaires : structure de base
Introduction - Definitions
Generateur de sequences
Distance libre
Decodeur de Viterbi
Decodage `a maximum de probabilite
Le decodeur Viterbi
Introduction
D
ecodage `
a maximum de probabilit
e
Le d
ecodeur Viterbi
Plan
Distance libre
La distance libre df dun code convolutif est la plus petite distance
entre deux sequences codees de longueurs superieures `a la longueur
contrainte K .
La distance libre peut etre obtenue `a partir du polyn
ome de distribution de poids (pas vu dans ce cours).
Marc Chaumont
Introduction
D
ecodage `
a maximum de probabilit
e
Le d
ecodeur Viterbi
Decodeur de Viterbi
Decodage `a maximum de probabilite
Le decodeur Viterbi
Introduction
n1
Y
i=0
Marc Chaumont
Introduction
D
ecodage `
a maximum de probabilit
e
Le d
ecodeur Viterbi
D
ecodage `
a maximum de probabilit
e
Le d
ecodeur Viterbi
n1
P(r /v ) =
(1 p)
p
1p
i=0
n1
Y
(1 p)
i=0
p
1p
0).
dH (r , v ) =
n1
X
dH (r [i], v [i])
i=0
Marc Chaumont
Introduction
D
ecodage `
a maximum de probabilit
e
Le d
ecodeur Viterbi
Marc Chaumont
Introduction
D
ecodage `
a maximum de probabilit
e
Le d
ecodeur Viterbi
n1
P(r /v ) =
i=0
No
1 (r [i]m(v [i]))2
No
P(r /v ) =
n1
Y
i=0
1
1
2
e No (r [i]m(v [i]))
No
n1
X
i=0
Marc Chaumont
Introduction
Marc Chaumont
Introduction
D
ecodage `
a maximum de probabilit
e
Le d
ecodeur Viterbi
D
ecodage `
a maximum de probabilit
e
Le d
ecodeur Viterbi
Plan
1
Decodeur de Viterbi
Decodage `a maximum de probabilite
Le decodeur Viterbi
Introduction
D
ecodage `
a maximum de probabilit
e
Le d
ecodeur Viterbi
Decodeur de Viterbi
Lalgorithme de Viterbi permet `a la reception dun mot r de
determiner le mot de code v le plus proche (`a maximum de probabilite).
Decodeur de Viterbi
Lalgorithme de Viterbi est un algorithme de programmation dynamique et prend en compte la structure repetitive du treillis.
Remarque : Lalgorithme de Viterbi est un algorithme de calcul de
chemin le plus court (distance = poids de Hamming ou distance =
distance Euclidienne ou ...) et est `a peu de chose pr`es lalgorithme
de Dijkstra (algorithmique des graphes).
Marc Chaumont
Introduction
D
ecodage `
a maximum de probabilit
e
Le d
ecodeur Viterbi
Marc Chaumont
Introduction
Marc Chaumont
Introduction
Marc Chaumont
Marc Chaumont
D
ecodage `
a maximum de probabilit
e
Le d
ecodeur Viterbi
Introduction
D
ecodage `
a maximum de probabilit
e
Le d
ecodeur Viterbi
Introduction
Marc Chaumont
Marc Chaumont
D
ecodage `
a maximum de probabilit
e
Le d
ecodeur Viterbi
Introduction
D
ecodage `
a maximum de probabilit
e
Le d
ecodeur Viterbi
Introduction
D
ecodage `
a maximum de probabilit
e
Le d
ecodeur Viterbi
D
ecodage `
a maximum de probabilit
e
Le d
ecodeur Viterbi
Marc Chaumont
Marc Chaumont
Introduction
D
ecodage `
a maximum de probabilit
e
Le d
ecodeur Viterbi
Introduction
Marc Chaumont
Marc Chaumont
Introduction
D
ecodage `
a maximum de probabilit
e
Le d
ecodeur Viterbi
Introduction
Marc Chaumont
Marc Chaumont
D
ecodage `
a maximum de probabilit
e
Le d
ecodeur Viterbi
Introduction
D
ecodage `
a maximum de probabilit
e
Le d
ecodeur Viterbi
Introduction
Marc Chaumont
Marc Chaumont
D
ecodage `
a maximum de probabilit
e
Le d
ecodeur Viterbi
Introduction
D
ecodage `
a maximum de probabilit
e
Le d
ecodeur Viterbi
Introduction
Marc Chaumont
Marc Chaumont
D
ecodage `
a maximum de probabilit
e
Le d
ecodeur Viterbi
Introduction
D
ecodage `
a maximum de probabilit
e
Le d
ecodeur Viterbi
Introduction
Marc Chaumont
Marc Chaumont
D
ecodage `
a maximum de probabilit
e
Le d
ecodeur Viterbi
Introduction
D
ecodage `
a maximum de probabilit
e
Le d
ecodeur Viterbi
Introduction
Marc Chaumont
Marc Chaumont
D
ecodage `
a maximum de probabilit
e
Le d
ecodeur Viterbi
Introduction
D
ecodage `
a maximum de probabilit
e
Le d
ecodeur Viterbi
Introduction
Marc Chaumont
Marc Chaumont
D
ecodage `
a maximum de probabilit
e
Le d
ecodeur Viterbi
Introduction
D
ecodage `
a maximum de probabilit
e
Le d
ecodeur Viterbi
Introduction
Marc Chaumont
Marc Chaumont
D
ecodage `
a maximum de probabilit
e
Le d
ecodeur Viterbi
Introduction
D
ecodage `
a maximum de probabilit
e
Le d
ecodeur Viterbi
Introduction
Marc Chaumont
Marc Chaumont
D
ecodage `
a maximum de probabilit
e
Le d
ecodeur Viterbi
Introduction
D
ecodage `
a maximum de probabilit
e
Le d
ecodeur Viterbi
Introduction
Marc Chaumont
Marc Chaumont
D
ecodage `
a maximum de probabilit
e
Le d
ecodeur Viterbi
Introduction
D
ecodage `
a maximum de probabilit
e
Le d
ecodeur Viterbi
Introduction
Marc Chaumont
Marc Chaumont
D
ecodage `
a maximum de probabilit
e
Le d
ecodeur Viterbi
Introduction
D
ecodage `
a maximum de probabilit
e
Le d
ecodeur Viterbi
Introduction
D
ecodage `
a maximum de probabilit
e
Le d
ecodeur Viterbi
Plan
1
Decodeur de Viterbi
Decodage `a maximum de probabilite
Le decodeur Viterbi
Introduction
Distribution de poids
Connection code convolutif - code blocs
Construction zero-tail
Construction par troncature directe
Construction tail-biting
Distribution de poids
Distribution de poids
Connection code convolutif - code blocs
Construction zero-tail
Construction par troncature directe
Construction tail-biting
Marc Chaumont
Introduction
Distribution de poids
Connection code convolutif - code blocs
Construction zero-tail
Construction par troncature directe
Construction tail-biting
avec :
ij = 1 sil y a une transition entre letat i et letat j,
ij = 0 sinon.
et hij le poids de Hamming du vecteur de sortie de longueur n.
Remarque : la variable x na pas vraiment de signification; ce qui
nous interesse ce sont les exposants cad les poids.
Marc Chaumont
Introduction
1
x2
(x) =
0
0
Marc Chaumont
codeur est :
0 x2 0
0 1 0
x 0 x
x 0 x
Introduction
Distribution de poids
Connection code convolutif - code blocs
Construction zero-tail
Construction par troncature directe
Construction tail-biting
Distribution de poids
Distribution de poids
Connection code convolutif - code blocs
Construction zero-tail
Construction par troncature directe
Construction tail-biting
Elever
la matrice de transition detat `a la puissance l revient `a effectuer l transitions dans le treillis. On notera l la matrice (x)
eleve `a la puissance l.
Soit la matrice g
en
eratrice du code lin
eaire [6, 3, dDT ] :
G =
0
@
1
0
0
1
0
0
1
1
0
0
1
0
1
1
1
1
0
1
1
A
info
000
001
010
011
100
101
110
111
mot de code
000000
000011
001110
001101
111011
111000
110101
110110
w
0
2
3
3
5
3
4
4
Remarque
Pour obtenir la distribution de poids, on peut egalement generer tous les
mots de code et enumerer le nombre de mot de code pour les differentes
valeurs de poids.
Marc Chaumont
Introduction
Distribution de poids
Connection code convolutif - code blocs
Construction zero-tail
Construction par troncature directe
Construction tail-biting
Plan
Dans le cas dun code convolutif, pour obtenir la distribution A(x) on peut
egalement calculer la matrice de transition
(x), l
elever `
a la puissance l (=nombre de transitions) et ensuite prendre le ou les terme(s) de l (x) (cf. suite du
cours...).
Marc Chaumont
Introduction
Distribution de poids
Connection code convolutif - code blocs
Construction zero-tail
Construction par troncature directe
Construction tail-biting
Decodeur de Viterbi
Decodage `a maximum de probabilite
Le decodeur Viterbi
Introduction
Marc Chaumont
Introduction
Distribution de poids
Connection code convolutif - code blocs
Construction zero-tail
Construction par troncature directe
Construction tail-biting
Plan
1
Decodeur de Viterbi
Decodage `a maximum de probabilite
Le decodeur Viterbi
Marc Chaumont
Introduction
Distribution de poids
Connection code convolutif - code blocs
Construction zero-tail
Construction par troncature directe
Construction tail-biting
construction en zero-tail
Distribution de poids
Connection code convolutif - code blocs
Construction zero-tail
Construction par troncature directe
Construction tail-biting
Marc Chaumont
Introduction
Distribution de poids
Connection code convolutif - code blocs
Construction zero-tail
Construction par troncature directe
Construction tail-biting
construction en zero-tail
Par contre, si L (la taille du vecteur avant codage) est suffisamment grand et que L > m on a alors dZT qui approche voir
meme vaut df . Le pouvoir correctif de CZT est donc similaire voir
egal au code convolutif.
Marc Chaumont
Introduction
Marc Chaumont
Introduction
Distribution de poids
Connection code convolutif - code blocs
Construction zero-tail
Construction par troncature directe
Construction tail-biting
1 1 1 0 1 1 0 0 0 0
G = 0 0 1 1 1 0 1 1 0 0
0 0 0 0 1 1 1 0 1 1
Marc Chaumont
1 1 1 0 1 1 0 0 0 0
G = 0 0 1 1 1 0 1 1 0 0
0 0 0 0 1 1 1 0 1 1
La s
equence de distribution de poids de ce code est A(x) = 1 + 3x 5 +
6
3x + x 7 . Le poids le plus faible (en mettant `a part le poids du vecteur 0)
pour ce code est 5 ; la distance minimum (distance libre) est donc de 5.
Le taux pour ce code est de 3/10 = 0.3 (bit dinformation/bits transmis). Le taux pour le code convolutif intitial est meilleur (1/2 = 0.5 bit
dinformation/bits transmis).
Marc Chaumont
Introduction
Distribution de poids
Connection code convolutif - code blocs
Construction zero-tail
Construction par troncature directe
Construction tail-biting
Introduction
Distribution de poids
Connection code convolutif - code blocs
Construction zero-tail
Construction par troncature directe
Construction tail-biting
Plan
1
Decodeur de Viterbi
Decodage `a maximum de probabilite
Le decodeur Viterbi
La s
equence de distribution de poids du code CZT est A(x) =
l
0,0 (x), avec l le nombre de transitions et (0,0) les etats de depart
et darrivee dans le treillis.
Marc Chaumont
Distribution de poids
Connection code convolutif - code blocs
Construction zero-tail
Construction par troncature directe
Construction tail-biting
Introduction
Marc Chaumont
Introduction
Distribution de poids
Connection code convolutif - code blocs
Construction zero-tail
Construction par troncature directe
Construction tail-biting
Introduction
Marc Chaumont
Introduction
Marc Chaumont
Distribution de poids
Connection code convolutif - code blocs
Construction zero-tail
Construction par troncature directe
Construction tail-biting
1 1 1 0 1
G = 0 0 1 1 1
0 0 0 0 1
Distribution de poids
Connection code convolutif - code blocs
Construction zero-tail
Construction par troncature directe
Construction tail-biting
Marc Chaumont
1
0
1
Introduction
Distribution de poids
Connection code convolutif - code blocs
Construction zero-tail
Construction par troncature directe
Construction tail-biting
1 1 1 0 1 1
G = 0 0 1 1 1 0
0 0 0 0 1 1
La s
equence de distribution de poids de ce code est A(x) = 1 + x 2 +
3
3x + 2x 4 + x 5 . Le poids le plus faible (en mettant `a part le poids du
vecteur 0) pour ce code est 2 ; la distance minimum dDT = 2.
Le taux pour ce code est de 3/6 = 1/2 (bit dinformation/bits transmis). Le taux pour le code convolutif initial est le meme (1/2 = 0.5 bit
dinformation/bits transmis).
Marc Chaumont
Introduction
Distribution de poids
Connection code convolutif - code blocs
Construction zero-tail
Construction par troncature directe
Construction tail-biting
Plan
Decodeur de Viterbi
Decodage `a maximum de probabilite
Le decodeur Viterbi
La
equence de distribution de poids du code CDT est A(x) =
P2s
m 1
l
etat de depart
j=0 0,j (x), avec l le nombre de transitions, 0 l
m
et j [0, 2 1] lun des etats darrivee dans le treillis.
Marc Chaumont
Distribution de poids
Connection code convolutif - code blocs
Construction zero-tail
Construction par troncature directe
Construction tail-biting
Introduction
Distribution de poids
Connection code convolutif - code blocs
Construction zero-tail
Construction par troncature directe
Construction tail-biting
Marc Chaumont
Introduction
Distribution de poids
Connection code convolutif - code blocs
Construction zero-tail
Construction par troncature directe
Construction tail-biting
Construction tail-biting
Marc Chaumont
Introduction
Marc Chaumont
Introduction
Distribution de poids
Connection code convolutif - code blocs
Construction zero-tail
Construction par troncature directe
Construction tail-biting
1 1 1 0 1 1
0 0 1 1 1 0
G =
0 0 0 0 1 1
1 1 0 0 0 0
1 0 1 1 0 0
Marc Chaumont
0
1
0
1
0
0
0
1
1
1
0
0
1
0
1
Introduction
Distribution de poids
Connection code convolutif - code blocs
Construction zero-tail
Construction par troncature directe
Construction tail-biting
La
equence de distribution de poids du code CTB est A(x) =
P2s
m 1
l
m
etat
j=0 j,j (x), avec l le nombre de transitions, j [0, 2 1] l
darrivee et de depart dans le treillis.
Marc Chaumont
Introduction
Distribution de poids
Connection code convolutif - code blocs
Construction zero-tail
Construction par troncature directe
Construction tail-biting
1 1 1 0 1 1 0 0 0 0
0 0 1 1 1 0 1 1 0 0
G =
0 0 0 0 1 1 1 0 1 1
1 1 0 0 0 0 1 1 1 0
1 0 1 1 0 0 0 0 1 1
La s
equence de distribution de poids de ce code est A(x) = 1 + 5x 3 +
5x 4 + 6x 5 + 10x 6 + 5x 7 . Le poids le plus faible (en mettant `a part le poids
du vecteur 0) pour ce code est 3 ; la distance minimum dDT = 3 < df = 5.
Le taux pour ce code est de 3/6 = 1/2 (bit dinformation/bits transmis). Le taux pour le code convolutif intitial est le meme (1/2 = 0.5 bit
dinformation/bits transmis).
Marc Chaumont
Introduction