Télécharger la source de la présentation

publicité
Fonctionnement
de l’algorithme de Viterbi
J. Le Roux
[email protected]
http://www.essi.fr/~leroux
Émission des donnees dans
un codeur convolutionnel
avec un registre a decalage
et des ou exclusifs
s 1 (t)
xor
e(t)
e(t-1)
e(t- 2)
xor
s2 (t)
Représentation de l ’émetteur sous la forme d ’un automate
e s s2
1
0 0 0
Les états sont les valeurs de et-1, et-2
e s1 s2
1 1 1
10
00
e s s2
1
0 1 1
01
e s s2
1
1 0 0
e s s2
1
0 1 0
e s s2
1
0 0 1
e s s2
1
1 0 1
11
e s 1s2
1 1 0
e vaut 0
treillis de l’algorithme
de décodage de Viterbi
e vaut 1
s 1s2
0 0
00
00
00
10
10
00
00
10
10
01
01
11
11
11
10
11
10
01
01
01
00
01
11
11
01
11
10
temps
Correction des codes convolutionnels
Erreurs de
transmission
Message
à coder
Codeur de
l’émetteur
Message
reconstitué
Message
reçu
Codeur du
récepteur
Algorithme de
génération
de message
Comparaison
Critère :
réduction de l ’écart
entre le message
reçu et le message
reconstitué
‘‘idées sous jacentes’’
le récepteur génère un message e(t)
de sorte que la sortie que l’automate produit
avec cette entrée soit la plus proche possible
de la séquence bruitée qu’il a reçue
Message reçu
Message
reconstitué
Codeur du
récepteur
Algorithme de
génération
de message
Comparaison
processus itératif :
à l’instant t génération
des e(t) possibles
et élimination des séquences
les plus pénalisées
e
: 1, 0, 1, 1, 0, 1, 0, 0, 0, 0
Choix de la séquence d ’entrée
États : 00 01 10 01 11 10 01 10 00 00 00 de l ’automate du récepteur
s1s2 Émis :11,10,00,01,01,00,10,11,00,00 (algorithme de Viterbi)
Reçus :00, , , , , , , , ,
00
10
01
11
Éléments du treillis que va parcourir la représentation du message en cours de décodage
e
: 1, 0, 1, 1, 0, 1, 0, 0, 0, 0
t=0, hypothèse : e=0
États : 00 01 10 01 11 10 01 10 00 00 00
s1s2 Émis :11,10,00,01,01,00,10,11,00,00
Reçus :00, , , , , , , , ,
00
10
0
calcul des sorties S1 et S2
pour cet état et e =0
calcul de la distance
avec les données reçues
01
11
Choix d’une première hypothèse et comparaison aux données reçues
e
: 1, 0, 1, 1, 0, 1, 0, 0, 0, 0
t=0, hypothèse e=1
États : 00 10 01 10 11 01 10 01 00 00 00
s1s2 Émis :11,10,00,01,01,00,10,11,00,00
Reçus :00, , , , , , , , ,
0
00
2
10
01
calcul des sorties S1 et S2
pour cet état et e =1
calcul de la distance
avec les données reçues
11
Choix d’une deuxième hypothèse et comparaison aux données reçues
e
: 1, 0, 1, 1, 0, 1, 0, 0, 0, 0
incrémentation du temps : t=1
États : 00 01 10 01 11 10 01 10 00 00 00
s 1s2 Émis :11,10,00,01,01,00,10,11,00,00
Reçus :00,10, , , , , , , ,
00
0
1
2
1
10
nouveaux calcul de
distance entre la chaîne
reçue et la chaîne générée
01
11
Itération du processus pour les deuxièmes données
e
: 1, 0, 1, 1, 0, 1, 0, 0, 0, 0
calculs similaires pour
États : 00 01 10 01 11 10 01 10 00 00 00 l’autre état atteint à t=0
s1s2 Émis :11,10,00,01,01,00,10,11,00,00
Reçus :00,10, , , , , , , ,
00
0
1
2
1
10
2
01
4
11
nouveaux calcul de
distance entre la chaîne
reçue et la chaîne générée
Itération du processus pour les deuxièmes données
e
: 1, 0, 1, 1, 0, 1, 0, 0, 0, 0
incrémentation du temps t=2
États : 00 01 10 01 11 10 01 10 00 00 00
s1s2 Émis :11,10,00,01,01,00,10,11,00,00
Reçus :00,10,00, , , , , , ,
00
0
1
1
2
1
3
10
2
2
01
4
11
2
Itération du processus pour les troisièmes données
e
: 1, 0, 1, 1, 0, 1, 0, 0, 0, 0
calculs similaire pour tous les
États : 00 01 10 01 11 10 01 10 00 00 00 états atteints
s1s2 Émis :11,10,00,01,01,00,10,11,00,00
Reçus :00,10,00, , , , , , ,
00
0
1
1
4
2
1
3
10
2
2
2
01
5
4
11
2
5
Itération du processus pour les troisièmes données
e
: 1, 0, 1, 1, 0, 1, 0, 0, 0, 0
États : 00 01 10 01 11 10 01 10 00 00 00
s1s2 Émis :11,10,00,01,01,00,10,11,00,00
Reçus :00,10,00, , , , , , ,
00
0
1
1
4
2
1
3
10
2
En régime stationnaire
il y a deux entrées par nœud du treillis :
on choisit de retenir celle qui correspond
à la distance la plus faible au message reçu
2
2
01
5
4
11
2
5
pour chaque nœud, on n’accepte qu’une
seule entrée
e
: 1, 0, 1, 1, 0, 1, 0, 0, 0, 0
choix similaire pour
États : 00 01 10 01 11 10 01 10 00 00 00 tous les nœuds
s1s2 Émis :11,10,00,01,01,00,10,11,00,00
Reçus :00,10,00, , , , , , ,
00
0
1
1
4
2
1
3
10
2
2
2
01
5
4
11
2
5
Choix similaires pour tous les nœuds du treillis
e
: 1, 0, 1, 1, 0, 1, 0, 0, 0, 0
Choix de la séquence d ’entrée
États : 00 01 10 01 11 10 01 10 00 00 00 de l ’automate du récepteur
s1s2 Émis :11,10,00,01,01,00,10,11,00,00 (algorithme de Viterbi)
Reçus :00,10,00,01, , , , , ,
00
0
1
1
2
1
10
2
4
3
3
2
2
3
2
4
5
2
2
2
2
01
4
11
5
4
Itération en temps du processus :
calcul des distances
pour les différentes hypothèses
à partir de chacun des états ;
puis sélection des chemins
entrants les moins coûteux
pour les nouveaux états
e
: 1, 0, 1, 1, 0, 1, 0, 0, 0, 0
Choix de la séquence d ’entrée
États : 00 01 10 01 11 10 01 10 00 00 00 de l ’automate du récepteur
s1s2 Émis :11,10,00,01,01,00,10,11,00,00 (algorithme de Viterbi)
Reçus :00,10,00,01,01, , , , ,
00
0
1
1
2
1
10
2
3
4
3
3
3
2
3
2
3
3
2
4
4
5
2
2
2
2
2
2
01
4
11
5
4
4
Itération du processus : calcul des distances pour les différentes hypothèses à partir de
chacun des états ; puis sélection des chemins entrants les moins coûteux pour les nouveaux états
e
: 1, 0, 1, 1, 0, 1, 0, 0, 0, 0
Choix de la séquence d ’entrée
États : 00 01 10 01 11 10 01 10 00 00 00 de l ’automate du récepteur
s1s2 Émis :11,10,00,01,01,00,10,11,00,00 (algorithme de Viterbi)
Reçus :00,10,00,01,01,00, , , ,
00
0
1
1
2
1
10
2
3
3
4
3
3
4
3
2
3
5
2
3
3
2
2
4
4
4
5
2
2
3
2
2
2
4
2
01
4
11
5
4
4
3
Itération du processus : calcul des distances pour les différentes hypothèses à partir de
chacun des états ; puis sélection des chemins entrants les moins coûteux pour les nouveaux états
e
: 1, 0, 1, 1, 0, 1, 0, 0, 0, 0
Choix de la séquence d ’entrée
États : 00 01 10 01 11 10 01 10 00 00 00 de l ’automate du récepteur
s1s2 Émis :11,10,00,01,01,00,10,11,00,00 (algorithme de Viterbi)
Reçus :00,10,00,01,01,00,10, , ,
00
0
1
1
2
1
10
2
3
4
4
4
3
3
3
4
3
2
3
5
4
2
3
3
2
4
2
4
4
4
2
5
2
2
3
5
2
2
2
3
4
2
01
4
11
5
4
4
4
3
Itération du processus : calcul des distances pour les différentes hypothèses à partir de
chacun des états ; puis sélection des chemins entrants les moins coûteux pour les nouveaux états
e
: 1, 0, 1, 1, 0, 1, 0, 0, 0, 0
Choix de la séquence d ’entrée
États : 00 01 10 01 11 10 01 10 00 00 00 de l ’automate du récepteur
s1s2 Émis :11,10,00,01,01,00,10,11,00,00 (algorithme de Viterbi)
Reçus :00,10,00,01,01,00,10,11, ,
00
0
1
1
2
1
10
2
3
4
4
6
4
3
3
3
4
2
3
2
3
5
4
4
2
3
3
2
4
4
2
4
4
4
2
5
5
2
2
3
5
4
2
2
2
3
4
5
2
01
4
11
5
4
4
4
3
4
Itération du processus : calcul des distances pour les différentes hypothèses à partir de
chacun des états ; puis sélection des chemins entrants les moins coûteux pour les nouveaux états
e
: 1, 0, 1, 1, 0, 1, 0, 0, 0, 0
Choix de la séquence d ’entrée
États : 00 01 10 01 11 10 01 10 00 00 00 de l ’automate du récepteur
s1s2 Émis :11,10,00,01,01,00,10,11,00,00 (algorithme de Viterbi)
Reçus :00,10,00,01,01,00,10,11,00,
00
0
1
1
2
1
10
2
3
4
4
6
2
4
3
3
3
4
2
4
3
2
3
5
4
4
2
3
3
2
4
4
2
4
4
4
2
5
5
5
2
2
3
5
4
5
2
2
2
3
4
5
2
01
4
11
5
4
4
4
3
4
Les deux dernières entrées sont telles que l’état final est bien défini (ici l ’état 00)
e
: 1, 0, 1, 1, 0, 1, 0, 0, 0, 0
Choix de la séquence d ’entrée
États : 00 01 10 01 11 10 01 10 00 00 00 de l ’automate du récepteur
s1s2 Émis :11,10,00,01,01,00,10,11,00,00 (algorithme de Viterbi)
Reçus :00,10,00,01,01,00,10,11,00,00
00
0
1
1
2
1
10
2
3
4
4
6
2
4
3
3
3
4
2
4
3
2
3
5
4
4
2
3
3
2
4
4
2
4
4
4
2
5
5
5
2
2
3
5
4
5
2
2
2
3
4
5
2
01
4
11
5
4
4
4
3
4
Les deux dernières entrées sont telles que l’état final est bien défini (ici l ’état 00)
2
7
e
: 1, 0, 1, 1, 0, 1, 0, 0, 0, 0
Choix de la séquence d ’entrée
États : 00 01 10 01 11 10 01 10 00 00 00 de l ’automate du récepteur
s1s2 Émis :11,10,00,01,01,00,10,11,00,00 (algorithme de Viterbi)
Reçus :00,10,00,01,01,00,10,11,00,00
00
0
1
1
2
1
10
2
3
4
4
6
2
4
3
3
3
4
2
4
3
2
3
5
4
4
2
3
3
2
4
4
2
4
4
4
2
5
5
5
2
2
3
5
4
5
2
2
2
3
4
5
2
7
2
01
4
11
5
4
4
4
3
4
Traits continus : chemins autorisés; traits pointillés : chemins interdits
e
: 1, 0, 1, 1, 0, 1, 0, 0, 0, 0
Choix de la séquence d ’entrée
États : 00 01 10 01 11 10 01 10 00 00 00 de l ’automate du récepteur
s1s2 Émis :11,10,00,01,01,00,10,11,00,00 (algorithme de Viterbi)
Reçus :00,10,00,01,01,00,10,11,00,00
00
0
1
1
2
1
10
2
3
4
4
6
2
4
3
3
3
4
2
3
2
3
5
4
4
3
2
4
4
2
3
4
2
01
2
4
4
4
2
5
5
5
2
2
3
5
4
5
2
2
2
3
4
5
4
11
5
4
4
4
3
4
Parcours du graphe en remontant à partir de la fin
2
7
e
: 1, 0, 1, 1, 0, 1, 0, 0, 0, 0
Choix de la séquence d ’entrée
États : 00 01 10 01 11 10 01 10 00 00 00 de l ’automate du récepteur
s1s2 Émis :11,10,00,01,01,00,10,11,00,00 (algorithme de Viterbi)
Reçus :00,10,00,01,01,00,10,11,00,00
00
0
1
1
2
1
10
2
3
4
4
6
2
4
3
3
3
4
2
4
3
2
3
5
4
4
2
3
3
2
4
4
2
4
4
4
2
5
5
5
2
2
3
5
4
5
2
2
2
3
4
5
2
7
2
01
4
11
5
4
4
4
3
4
il y a une seule entrée par nœud, il n’y a qu’un seul chemin
e
: 1, 0, 1, 1, 0, 1, 0, 0, 0, 0
Choix de la séquence d ’entrée
États : 00 01 10 01 11 10 01 10 00 00 00 de l ’automate du récepteur
s1s2 Émis :11,10,00,01,01,00,10,11,00,00 (algorithme de Viterbi)
Reçus :00,10,00,01,01,00,10,11,00,00
00
0
1
1
2
1
10
2
3
4
4
6
2
4
3
3
3
4
2
4
3
2
3
5
4
4
2
3
3
2
4
4
2
4
4
4
2
5
5
5
2
2
3
5
4
5
2
2
2
3
4
5
2
01
4
11
5
4
4
4
3
4
2
7
e
: 1, 0, 1, 1, 0, 1, 0, 0, 0, 0
Choix de la séquence d ’entrée
États : 00 01 10 01 11 10 01 10 00 00 00 de l ’automate du récepteur
s1s2 Émis :11,10,00,01,01,00,10,11,00,00 (algorithme de Viterbi)
Reçus :00,10,00,01,01,00,10,11,00,00
00
0
1
1
2
1
10
2
3
4
4
6
2
4
3
3
3
4
2
4
3
2
3
5
4
4
2
3
3
2
4
4
2
4
4
4
2
5
5
5
2
2
3
5
4
5
2
2
2
3
4
5
2
01
4
11
5
4
4
4
3
4
2
7
e
: 1, 0, 1, 1, 0, 1, 0, 0, 0, 0
Choix de la séquence d ’entrée
États : 00 01 10 01 11 10 01 10 00 00 00 de l ’automate du récepteur
s1s2 Émis :11,10,00,01,01,00,10,11,00,00 (algorithme de Viterbi)
Reçus :00,10,00,01,01,00,10,11,00,00
00
0
1
1
2
1
10
2
3
4
4
6
2
4
3
3
3
4
2
4
3
2
3
5
4
4
2
3
3
2
4
4
2
4
4
4
2
5
5
5
2
2
3
5
4
5
2
2
2
3
4
5
2
01
4
11
5
4
4
4
3
4
2
7
e
: 1, 0, 1, 1, 0, 1, 0, 0, 0, 0
États : 00 01 10 01 11 10 01 10 00 00 00
s1s2 Émis :11,10,00,01,01,00,10,11,00,00
Reçus :00,10,00,01,01,00,10,11,00,00
00
0
1
1
2
1
10
2
3
4
message retrouvé
1011010000
4
6
2
4
3
3
3
4
2
4
3
2
3
5
4
4
2
3
3
2
4
4
2
4
4
4
2
5
5
5
2
2
3
5
4
5
2
2
2
3
4
5
2
7
2
01
4
11
5
4
4
4
3
4
Malgré l ’erreur sur les deux premières données, le chemin
retrouvé correspond bien au message émis (s’il n’y a pas trop d’erreurs)
Téléchargement