Académique Documents
Professionnel Documents
Culture Documents
Codes convolutifs
23 avril 2017
Codes Convolutifs
Introduction
Dr. BOUACHA/ Codage et Compression 2016/2017 2
Codes Convolutifs
Introduction
Dr. BOUACHA/ Codage et Compression 2016/2017 3
Codes Convolutifs
I. Principe du codage convolutif
I. 1. Encodeurs
Convertisseur
Logique combinatoire Sortie
Parallèle-Série Bloc de n
éléments
binaires
Dr. BOUACHA/ Codage et Compression 2016/2017 4
Codes Convolutifs
I. Principe du codage convolutif
I. 1. Encodeurs
Convertisseur Sortie
Logique combinatoire
Parallèle-Série Bloc de n
éléments
binaires
Dr. BOUACHA/ Codage et Compression 2016/2017 5
Codes Convolutifs
I. Principe du codage convolutif
I. 2. Propriétés
Dr. BOUACHA/ Codage et Compression 2016/2017 6
Codes Convolutifs
I. Principe du codage convolutif
I. 2. Exemple
Exemple de codeur convolutif
1/2, 1, 2 et 3.
⨁
⨁ ⨁
Dr. BOUACHA/ Codage et Compression 2016/2017 7
Codes Convolutifs
II. Représentations des codes convolutifs
• Représentations numériques :
Transformée en D ;
• Représentations graphiques :
Diagramme d’état ;
Arbre ;
Treillis.
Dr. BOUACHA/ Codage et Compression 2016/2017 8
Codes Convolutifs
II. Représentations des codes convolutifs
II. 1. Représentations numériques : Transformée en D
Le qualificatif « convolutif» appliqué à ces codes provient du fait que chaque
sortie du codeur est égale au produit de convolution entre la suite binaire
présente à l'entrée du codeur et la réponse du codeur, définie par ses
séquences génératrices.
∑ , ∈ 0,1}
Dr. BOUACHA/ Codage et Compression 2016/2017 9
Codes Convolutifs
II. Représentations des codes convolutifs
II. 1. Représentations numériques : Transformée en D
• On peut caractériser les codes convolutifs de taux 1/ par un ensemble de
vecteurs ; de bits, À chaque bit de sortie correspond un vecteur.
• Ce vecteur représente quelles sorties du registre à décalage sont
additionnées pour fabriquer le bit de sortie.
Exemple
1 1
1 1 1
Dr. BOUACHA/ Codage et Compression 2016/2017 10
Codes Convolutifs
II. Représentations des codes convolutifs
II. 1. Représentations numériques : Transformée en D
• On peut caractériser les codes convolutifs de taux 1/ par un ensemble de
vecteurs ; de bits, À chaque bit de sortie correspond un vecteur.
• Ce vecteur représente quelles sorties du registre à décalage sont
additionnées pour fabriquer le bit de sortie.
Exemple
1 0 1
1 1
1 1 1
1 1 1
Dr. BOUACHA/ Codage et Compression 2016/2017 11
Codes Convolutifs
II. Représentations des codes convolutifs
II. 1. Représentations numériques : Transformée en D
Exemple
1 0 1 ≡ 5
1 1
1 1 1
1 1 1 ≡ 7
Les codes convolutifs sont aussi définis à partir de leurs polynômes générateurs
exprimés en fonction de la variable D (delay),
→ 1 .
→ 1 .
Dr. BOUACHA/ Codage et Compression 2016/2017 12
Codes Convolutifs
II. Représentations des codes convolutifs
II. 2. Représentations graphiques
Chaque bloc de n éléments binaires en sortie du codeur dépend :
Du bloc de k éléments binaires présents à son entrée ;
Des m blocs de k éléments binaires contenus dans sa mémoire.
Ces m.k éléments binaires définissent l’état du codeur.
Exemple
k=1
n=2
m=2
Dr. BOUACHA/ Codage et Compression 2016/2017 13
Codes Convolutifs
II. Représentations des codes convolutifs
II. 2. Représentations graphiques
Chaque bloc de n éléments binaires en sortie du codeur dépend :
Du bloc de k éléments binaires présents à son entrée ;
Des m blocs de k éléments binaires contenus dans sa mémoire.
Ces m.k éléments binaires définissent l’état du codeur.
Exemple
Les quatre états possibles
k=1 du codeur sont :
n=2
m=2 ‘00’ ‘01’
‘10’ ‘11’
Dr. BOUACHA/ Codage et Compression 2016/2017 14
Codes Convolutifs
II. Représentations des codes convolutifs
II. 2. Représentations graphiques : Diagramme d’états
(Machine d’états)
Seules deux (q) transitions sont possibles à partir de chacun des états.
Dr. BOUACHA/ Codage et Compression 2016/2017 15
Codes Convolutifs
II. Représentations des codes convolutifs
II. 2. Diagramme d’états 00
Instant j 0
État a
État
‘00’
0
0 0
État État
0
‘10’ ‘01’
Instant j+1 ?
Instant jj+1
État
0 ‘11’
0 0
Dr. BOUACHA/ Codage et Compression 2016/2017 16
Codes Convolutifs
II. Représentations des codes convolutifs
II. 2. Diagramme d’états 00
Instant j 1
État a
État
‘00’
1 11
0 0
État État
1
‘10’ ‘01’
Instant jj+1
État
1 ‘11’
0 0
Dr. BOUACHA/ Codage et Compression 2016/2017 17
Codes Convolutifs
II. Représentations des codes convolutifs
00
Diagramme d’états
Instant j 0
État
‘00’
0 11
1 0
État 01 État b
0
‘10’ ‘01’
Instant jj+1
État
0 1 ‘11’
Dr. BOUACHA/ Codage et Compression 2016/2017 18
Codes Convolutifs
II. Représentations des codes convolutifs
00
Diagramme d’états
Instant j 1
État
‘00’
1 11
1 0
État 00 État b
0 1
‘10’ ‘01’
Instant jj+1
10 État
1 1 ‘11’
Dr. BOUACHA/ Codage et Compression 2016/2017 19
Codes Convolutifs
II. Représentations des codes convolutifs
Diagramme d’états 00
État
‘00’
11 11
01
État État
‘10’ ‘01’
00
10 10
État
‘11’
Dr. BOUACHA/ Codage et Compression 2016/2017
01 20
Codes Convolutifs
II. Représentations des codes convolutifs
Diagramme d’états 00
10
Poids = 6 État État
‘10’ ‘01’
00
10 10
État
‘11’
Dr. BOUACHA/ Codage et Compression 2016/2017
01 21
Codes Convolutifs
II. Représentations des codes convolutifs
Diagramme d’états 00
dmin = 5 10 10
État
‘11’
Dr. BOUACHA/ Codage et Compression 2016/2017
01 22
Codes Convolutifs
II. Représentations des codes convolutifs
II. 4. Représentations graphiques : Arbre
Dr. BOUACHA/ Codage et Compression 2016/2017 23
Codes Convolutifs
II. Représentations des codes convolutifs
II. 4. Représentations graphiques : Arbre
Instant j
0 0
00
Instant j+1
Dr. BOUACHA/ Codage et Compression 2016/2017 24
Codes Convolutifs
II. Représentations des codes convolutifs
II. 4. Représentations graphiques : Arbre
Instant j 0 00
00
0
0 0
00
0
Instant j+1
0 0
Dr. BOUACHA/ Codage et Compression 2016/2017 25
Codes Convolutifs
II. Représentations des codes convolutifs
II. 4. Représentations graphiques : Arbre
Instant j 1 00
00
1
0 0
00
1
Instant j+1
11
10
1 0
Dr. BOUACHA/ Codage et Compression 2016/2017 26
Codes Convolutifs
II. Représentations des codes convolutifs
II. 4. Représentations graphiques : Arbre00
00
Instant j 0 00
00
0 11
0 0 10
00
0
Instant j+1
11
10
0 0
Instant j 00
00
11
10
00
01
01
Instant j+1
11
10
10
11
Dr. BOUACHA/ Codage et Compression t = j
2016/2017 t = j+1 t = j+2 t = j+3 t = j+4
31
Codes Convolutifs
II. Représentations des codes convolutifs 00
00
II. 4. Représentations graphiques : Arbre
00
00 11
00 10
00 01
11 01
10 10
00 11
00
Partant de l’état ‘00’ à l’instant t = j, 01
11
00
il existe deux chemins pour 01 00
10
11
atteindre l’état ‘00’ à l’instant t = j + 10
10
10
01
3 11 01
11
00 00
11 00
00 00 00 Chemin 1 01
00 11
10
01
Chemin 2
01
11 01 11 00 01
10 10
11 11
10 11
10 00
01 00
10 10
11 10
01 01
11 01
11
Dr. BOUACHA/ Codage et Compression t = j
2016/2017 t = j+1 t = j+2 t = j+3 t32= j+4
Codes Convolutifs
II. Représentations des codes convolutifs 00
II. 4. Représentations graphiques : Arbre 00
00 11
00
00 10
00 01
11 01
10 10
00 11
00
Distance minimale : dmin = 5 01
11
00
01 00
11 10
10 10
10 01
11 01
11
00 00
11 00
00 00 00 01
00 11
10
01 01
11 01 11 = 5 00
10
01
10
11 11
10 11
10 00
01 00
10 10
11 10
01 01
11 01
11
Dr. BOUACHA/ Codage et Compression t = j
2016/2017 t = j+1 t = j+2 t = j+3 t = j+4
33
Codes Convolutifs
II. Représentations des codes convolutifs 00
00
II. 4. Représentations graphiques : Arbre
00
00 11
00 10
00 01
11 01
10 10
00 11
00
Si la séquence d’information est : 01
11
00
‘1001’ 01 00
10
11
10 10
10 01
11 01
11
00 00
1 0 0 1 11
11 00
00 11
11
00 10 01 00 10 01
01 10
01 01
00 01
11 01 11 11 11
10 10
11 11
10 11
10 00
01 00
10
Le mot de code associé à ‘1001’ 10
11 10
01 01
est ‘11011111’ 11 01
11
Dr. BOUACHA/ Codage et Compression t = j
2016/2017 t = j+1 t = j+2 t = j+3 t = j+4
34
Codes Convolutifs
II. Représentations des codes convolutifs
II. 4. Représentations graphiques : Treillis
Dr. BOUACHA/ Codage et Compression 2016/2017 35
Codes Convolutifs
II. Représentations des codes convolutifs
II. 4. Représentations graphiques : Treillis
Instant j 0
0 00
0 0 00
01
0
10
Instant j+1
11
0 0 t = j t = j+1
Dr. BOUACHA/ Codage et Compression 2016/2017 36
Codes Convolutifs
II. Représentations des codes convolutifs
II. 4. Représentations graphiques : Treillis
Instant j 1
1 00
0 0 00
11
01
1
10
Instant j+1
11
Dr. BOUACHA/ Codage et Compression 2016/2017 37
Codes Convolutifs
II. Représentations des codes convolutifs
II. 4. Représentations graphiques : Treillis
Instant j 0
0 00 00
1 0 00
11 11
01
1
01
10
Instant j+1
11
Dr. BOUACHA/ Codage et Compression 2016/2017 38
Codes Convolutifs
II. Représentations des codes convolutifs
II. 4. Représentations graphiques : Treillis
00 00 00 00
00
11 11
01 11 11 11 11
00 00
01 01 01
10 10 10
10 10 10
11 01 01
Dr. BOUACHA/ Codage et Compression 2016/2017 39
Codes Convolutifs
II. Représentations des codes convolutifs
II. 4. Représentations graphiques : Treillis
La séquence d’information est
‘1001’ 00 00 00 00
00
11 11
11 11 11 11
01 00 00
1 0 0 1 01 01 01
10 10 10
00 10 01 00 10
10 10 10
11 01 11 11 11 01 01
Dr. BOUACHA/ Codage et Compression 2016/2017 40
Codes Convolutifs
IV. Décodage convolutif
Dans les canaux de communication sans mémoire, les systèmes
utilisant le codage convolutif sont parmi les plus intéressants tant
du point de vue de leurs performances (s’approchant le plus des
performances ultimes prévues par la théorie de Shannon) que du
point de vue de leur réalisation et implantation matérielle.
Les deux principales techniques de décodage des codes
convolutifs sont le décodage de Viterbi et le décodage séquentiel.
Chacune de ses techniques consiste à trouver un chemin
particulier (le message transmis), dans un graphe orienté où on
assigne aux branches des métriques ou valeurs de vraisemblance
entre les données reçues et les données qui auraient pu être
transmises.
L’objectif général du décodeur se résume donc à déterminer
avec la plus grande fiabilité et le minimum d’efforts le chemin de
métrique minimale. Ce chemin est la séquence décodée.
Dr. BOUACHA/ Codage et Compression 2016/2017 41
Codes Convolutifs
IV. Décodage convolutif
IV. 1. Algorithme de Viterbi
Dr. BOUACHA/ Codage et Compression 2016/2017 42
Codes Convolutifs
IV. Décodage convolutif
IV. 1. Algorithme de Viterbi
00
00 (2)
11 A l’instant t = 0 :
01
Deux branches partent de l’état ‘00’. Elles
10 (0)
sont respectivement à la distance 2 et 0 du
premier couple binaire reçu. Reportons ces
11
deux distances, appelées métriques de
branche sur le treillis.
t = 0 t = 1
Mot reçu : ‘11’
Dr. BOUACHA/ Codage et Compression 2016/2017 43
Codes Convolutifs
IV. Décodage convolutif
IV. 1. Algorithme de Viterbi
A l’instant t = 1 :
00 (2) 00
00 (2)
Évaluons la distance entre le deuxième
11 11
(1)
couple binaire reçu et les quatre
01
01 branches qui partent des états ‘00’ et
(0)
10 (4) ‘10’, puis reportons ces quatre métriques
10 sur le treillis.
11 (1)
En sommant les métriques de branches
appartenant à un même chemin, nous
t = 0 t = 1 t = 2 obtenons les métriques cumulées.
Nous avons désormais quatre chemins
Mot reçu : ‘11’ ‘00’ qui permettent d’accéder, en t = 2, aux
quatre états possibles du codeur.
Dr. BOUACHA/ Codage et Compression 2016/2017 44
Codes Convolutifs
IV. Décodage convolutif
IV. 1. Algorithme de Viterbi
A l’instant t = 2 :
00 (2) 00 (2) 00
00 11 Il existe désormais deux chemins qui
11 11 (1)
11 convergent vers chaque nœud du
01 00
01 treillis.
(0) (4) 01
10 10
10 10
(1)
11 01
Dr. BOUACHA/ Codage et Compression 2016/2017 45
Codes Convolutifs
IV. Décodage convolutif
IV. 1. Algorithme de Viterbi
A l’instant t = 2 :
00 (2) 00 (2) 00 (4)
00 11 (1) Il existe désormais deux chemins qui
11 11 (1)
11 (5) convergent vers chaque nœud du
01 00 (2)
01 treillis.
(0) (4) 01 (2)
10 10 (3) On va donc :
10
(1)
10
(5) 1. Calculer les métriques de
11 01 (2) branche.
Dr. BOUACHA/ Codage et Compression 2016/2017 46
Codes Convolutifs
IV. Décodage convolutif
IV. 1. Algorithme de Viterbi
A l’instant t = 2 :
00 (2) 00 (2)
00 11
(1)
Il existe désormais deux chemins qui
11 11 (1) (5)
11 convergent vers chaque nœud du treillis.
01 00 (2)
01
(0) (4) 01 (2) On va donc :
10 10 (3)
1. Calculer les métriques de branche.
10 10
(1) (5)
11 (2)
2. Calculer les métriques cumulées
01
pour chaque chemin atteignant
t = 0 t = 1 t = 2 t = 3 en t = 3, un nœud donné du
treillis.
3. En chaque nœud, ne retenir que
Mot reçu : ‘11’ ‘00’ ‘11’ le survivant.
Dr. BOUACHA/ Codage et Compression 2016/2017 47
Codes Convolutifs
IV. Décodage convolutif
IV. 1. Algorithme de Viterbi
A l’instant t = 2 :
00 (2) 00 (2)
00 11
(1)
Il existe désormais deux chemins qui
11 11 (1)
11 (2) convergent vers chaque nœud du treillis.
01 00
01 On va donc :
(0) (4) (2)
10 10 (3)
1. Calculer les métriques de branche.
10 10
(1) (5)
11 (2)
2. Calculer les métriques cumulées
01
pour chaque chemin atteignant
t = 0 t = 1 t = 2 t = 3 en t = 3, un nœud donné du
treillis.
3. En chaque nœud, ne retenir que
Mot reçu : ‘11’ ‘00’ ‘11’ le survivant.
Dr. BOUACHA/ Codage et Compression 2016/2017 48
Codes Convolutifs
IV. Décodage convolutif
IV. 1. Algorithme de Viterbi
A l’instant t = 2 :
00 (2) 00 (2)
00 11
(1)
Il existe désormais deux chemins qui
11 11 (1)
11 (2) convergent vers chaque nœud du treillis.
01
01 On va donc :
(0) (4)
10 (2)
10 1. Calculer les métriques de branche.
10 10
(1) (5)
11 (2)
2. Calculer les métriques cumulées
01
pour chaque chemin atteignant
t = 0 t = 1 t = 2 t = 3 en t = 3, un nœud donné du
treillis.
3. En chaque nœud, ne retenir que
Mot reçu : ‘11’ ‘00’ ‘11’ le survivant.
Dr. BOUACHA/ Codage et Compression 2016/2017 49
Codes Convolutifs
IV. Décodage convolutif
IV. 1. Algorithme de Viterbi
A l’instant t = 2 :
00 (2) 00 (2)
00 11
(1)
Il existe désormais deux chemins qui
11 11 (1)
11 (2) convergent vers chaque nœud du treillis.
01
01 On va donc :
(0) (4)
10 (2)
10 1. Calculer les métriques de branche.
10
(1)
11 (2) 2. Calculer les métriques cumulées
01
pour chaque chemin atteignant
t = 0 t = 1 t = 2 t = 3 en t = 3, un nœud donné du
treillis.
3. En chaque nœud, ne retenir que
Mot reçu : ‘11’ ‘00’ ‘11’ le survivant.
Dr. BOUACHA/ Codage et Compression 2016/2017 50
Codes Convolutifs
IV. Décodage convolutif
IV. 1. Algorithme de Viterbi
Dr. BOUACHA/ Codage et Compression 2016/2017 51
Codes Convolutifs
IV. Décodage convolutif
IV. 1. Algorithme de Viterbi
Finalement, le chemin le plus
vraisemblable est celui qui
00 (2) 00 (2) (1)
00 11 11
(2) arrive en ‘10’.
11 11 (1)
11 (2) 11 (3)
01
01
(0) (4) (2)
10 01 (1)
10
10
(1) (2)
11 (3)
01 01
Dr. BOUACHA/ Codage et Compression 2016/2017 52
Codes Convolutifs
IV. Décodage convolutif
IV. 1. Algorithme de Viterbi
Finalement, le chemin le plus
vraisemblable est celui qui
00 (2) 00 (2) (1)
00 11 11
(2) arrive en ‘10’.
11 11 (1)
11 (2) 11 (3) En remontant le treillis de la
01
(0) 01 (4) (2)
droite vers la gauche, on voit
10 01 (1) que la séquence la plus
10
10
(1) (2)
vraisemblable est celle qui part
11 (3) de ‘00’ à t = 0 et qui arrive à
01 01
‘10’ à t = 4. Elle correspond au
t = 0 t = 1 t = 2 t = 3 t = 4 code vraisemblablement émis :
‘11 01 11 11’.
Ce code correspond à une séquence sur l’entrée du codeur égale à ‘1001’.
L’erreur en position 4 est donc corrigée.
Dr. BOUACHA/ Codage et Compression 2016/2017 53