Fonctionnement de lalgorithme de Viterbi J Le Roux
Fonctionnement de l’algorithme de Viterbi J. Le Roux leroux@essi. fr 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 s 2 (t)
Représentation de l ’émetteur sous la forme d ’un automate e s s 2 1 0 00 e s s 2 1 0 1 1 10 e s s 2 1 11 1 e s s 2 1 1 0 0 e s s 2 1 0 0 1 01 e s s 2 1 1 0 1 11 e s 1 s 2 1 1 0
e vaut 0 e vaut 1 treillis de l’algorithme de décodage de Viterbi s 1 s 2 0 0 00 00 00 10 10 01 01 11 11 État de l’automate 00 10 11 10 01 01 11 11 00 01 11 10 temps
Correction des 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é
e : 1, 0, 0, 0, 0 Choix de la séquence d ’entrée États : 00 01 11 10 00 00 00 de l ’automate du récepteur s 1 s 2 Émis : 11, 10, 01, 01, 10, 11, 00 (algorithme de Viterbi) Reçus : 00, , , , , 00 01 10 11 Éléments du treillis que va parcourir la représentation du message en cours de décodage
e : 1, 0, 0, 0, 0 Choix de la séquence d ’entrée États : 00 01 11 10 00 00 00 de l ’automate du récepteur s 1 s 2 Émis : 11, 10, 01, 01, 10, 11, 00 (algorithme de Viterbi) Reçus : 00, , , , , 00 0 01 10 11 Choix d’une première hypothèse et comparaison aux données reçues
e : 1, 0, 0, 0, 0 Choix de la séquence d ’entrée États : 00 01 11 10 00 00 00 de l ’automate du récepteur s 1 s 2 Émis : 11, 10, 01, 01, 10, 11, 00 (algorithme de Viterbi) Reçus : 00, , , , , 00 0 2 01 10 11 Choix d’une deuxième hypothèse et comparaison aux données reçues
e : 1, 0, 0, 0, 0 Choix de la séquence d ’entrée États : 00 01 11 10 00 00 00 de l ’automate du récepteur s 1 s 2 Émis : 11, 10, 01, 01, 10, 11, 00 (algorithme de Viterbi) Reçus : 00, 10, , , , 00 0 2 1 1 01 10 11 Itération du processus pour les deuxièmes données
e : 1, 0, 0, 0, 0 Choix de la séquence d ’entrée États : 00 01 11 10 00 00 00 de l ’automate du récepteur s 1 s 2 Émis : 11, 10, 01, 01, 10, 11, 00 (algorithme de Viterbi) Reçus : 00, 10, , , , 00 0 2 1 1 01 2 10 4 11 Itération du processus pour les deuxièmes données
e : 1, 0, 0, 0, 0 Choix de la séquence d ’entrée États : 00 01 11 10 00 00 00 de l ’automate du récepteur s 1 s 2 Émis : 11, 10, 01, 01, 10, 11, 00 (algorithme de Viterbi) Reçus : 00, 10, 00, , , , 00 0 2 1 1 1 3 01 2 2 10 4 11 2 Itération du processus pour les troisièmes données
e : 1, 0, 0, 0, 0 Choix de la séquence d ’entrée États : 00 01 11 10 00 00 00 de l ’automate du récepteur s 1 s 2 Émis : 11, 10, 01, 01, 10, 11, 00 (algorithme de Viterbi) Reçus : 00, 10, 00, , , , 00 0 2 1 1 4 1 3 01 2 2 2 10 5 4 11 2 5 Itération du processus pour les troisièmes données
e : 1, 0, 0, 0, 0 Choix de la séquence d ’entrée États : 00 01 11 10 00 00 00 de l ’automate du récepteur s 1 s 2 Émis : 11, 10, 01, 01, 10, 11, 00 (algorithme de Viterbi) Reçus : 00, 10, 00, , , , 00 0 2 1 1 4 1 3 01 2 2 2 10 5 4 11 2 5 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
e : 1, 0, 0, 0, 0 Choix de la séquence d ’entrée États : 00 01 11 10 00 00 00 de l ’automate du récepteur s 1 s 2 Émis : 11, 10, 01, 01, 10, 11, 00 (algorithme de Viterbi) Reçus : 00, 10, 00, , , , 00 0 2 1 1 4 1 3 01 2 2 2 10 5 4 11 2 5 Choix similaires pour tous les nœuds du treillis
e : 1, 0, 0, 0, 0 Choix de la séquence d ’entrée États : 00 01 11 10 00 00 00 de l ’automate du récepteur s 1 s 2 Émis : 11, 10, 01, 01, 10, 11, 00 (algorithme de Viterbi) Reçus : 00, 10, 01, , , 00 0 2 1 1 1 01 2 4 3 3 2 2 4 5 2 2 5 2 4 2 10 4 11 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, 0, 0, 0 Choix de la séquence d ’entrée États : 00 01 11 10 00 00 00 de l ’automate du récepteur s 1 s 2 Émis : 11, 10, 01, 01, 10, 11, 00 (algorithme de Viterbi) Reçus : 00, 10, 01, 01, , , 00 0 2 1 1 1 01 2 3 4 3 3 3 2 4 4 5 2 2 2 5 2 4 2 10 4 11 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, 0, 0, 0 Choix de la séquence d ’entrée États : 00 01 11 10 00 00 00 de l ’automate du récepteur s 1 s 2 Émis : 11, 10, 01, 01, 10, 11, 00 (algorithme de Viterbi) Reçus : 00, 10, 01, 01, , 00 0 2 1 1 1 01 2 3 4 4 3 3 2 3 4 2 4 3 2 2 4 4 5 5 2 2 5 2 4 3 4 2 10 4 11 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, 0, 0, 0 Choix de la séquence d ’entrée États : 00 01 11 10 00 00 00 de l ’automate du récepteur s 1 s 2 Émis : 11, 10, 01, 01, 10, 11, 00 (algorithme de Viterbi) Reçus : 00, 10, 01, 01, 10, , , 00 0 2 1 1 1 01 2 3 4 4 4 3 3 3 2 3 4 4 2 4 3 2 4 4 5 2 2 2 5 2 4 3 4 4 3 2 10 4 11 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, 0, 0, 0 Choix de la séquence d ’entrée États : 00 01 11 10 00 00 00 de l ’automate du récepteur s 1 s 2 Émis : 11, 10, 01, 01, 10, 11, 00 (algorithme de Viterbi) Reçus : 00, 10, 01, 01, 10, 11, , 00 0 2 1 1 1 01 2 3 4 4 5 4 3 3 2 3 4 4 3 2 3 4 2 4 4 5 2 2 2 5 4 2 5 2 4 3 4 4 2 10 4 11 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, 0, 0, 0 Choix de la séquence d ’entrée États : 00 01 11 10 00 00 00 de l ’automate du récepteur s 1 s 2 Émis : 11, 10, 01, 01, 10, 11, 00 (algorithme de Viterbi) Reçus : 00, 10, 01, 01, 10, 11, 00 0 2 1 1 1 01 2 3 4 4 5 2 4 3 3 2 4 3 2 3 4 2 4 4 5 2 4 3 5 2 2 2 5 4 4 2 5 2 4 3 4 4 2 10 4 11 Les deux dernières entrées sont telles que l’état final est bien défini (ici l ’état 00)
e : 1, 0, 0, 0, 0 Choix de la séquence d ’entrée États : 00 01 11 10 00 00 00 de l ’automate du récepteur s 1 s 2 Émis : 11, 10, 01, 01, 10, 11, 00 (algorithme de Viterbi) Reçus : 00, 10, 01, 01, 10, 11, 00 00 0 2 1 1 1 01 2 3 4 4 5 2 4 3 3 2 4 3 2 3 4 2 4 4 5 2 4 3 5 2 2 2 5 4 4 2 5 2 4 3 4 4 2 10 4 11 Les deux dernières entrées sont telles que l’état final est bien défini (ici l ’état 00) 2 3
e : 1, 0, 0, 0, 0 Choix de la séquence d ’entrée États : 00 01 11 10 00 00 00 de l ’automate du récepteur s 1 s 2 Émis : 11, 10, 01, 01, 10, 11, 00 (algorithme de Viterbi) Reçus : 00, 10, 01, 01, 10, 11, 00 00 0 2 1 1 1 01 2 3 4 4 5 2 4 3 3 2 4 3 2 3 4 2 4 4 5 2 4 3 5 2 2 2 5 4 4 2 5 2 4 3 4 4 2 3 2 10 4 11 Traits continus : chemins autorisés; traits pointillés : chemins interdits
e : 1, 0, 0, 0, 0 Choix de la séquence d ’entrée États : 00 01 11 10 00 00 00 de l ’automate du récepteur s 1 s 2 Émis : 11, 10, 01, 01, 10, 11, 00 (algorithme de Viterbi) Reçus : 00, 10, 01, 01, 10, 11, 00 00 0 2 1 1 1 01 2 3 4 4 5 2 4 3 3 2 4 3 2 3 4 2 4 4 5 2 4 3 5 2 2 2 5 4 4 2 5 2 4 3 4 4 2 10 4 11 Parcours du graphe en remontant à partir de la fin 2 3
e : 1, 0, 0, 0, 0 Choix de la séquence d ’entrée États : 00 01 11 10 00 00 00 de l ’automate du récepteur s 1 s 2 Émis : 11, 10, 01, 01, 10, 11, 00 (algorithme de Viterbi) Reçus : 00, 10, 01, 01, 10, 11, 00 00 0 2 1 1 1 01 2 3 4 4 5 2 4 3 3 2 4 3 2 3 4 2 4 4 5 2 4 3 5 2 2 2 5 4 4 2 5 2 4 3 4 4 2 10 4 11 2 3
e : 1, 0, 0, 0, 0 Choix de la séquence d ’entrée États : 00 01 11 10 00 00 00 de l ’automate du récepteur s 1 s 2 Émis : 11, 10, 01, 01, 10, 11, 00 (algorithme de Viterbi) Reçus : 00, 10, 01, 01, 10, 11, 00 00 0 2 1 1 1 01 2 3 4 4 5 2 4 3 3 2 4 3 2 3 4 2 4 4 5 2 4 3 5 2 2 2 5 4 4 2 5 2 4 3 4 4 2 10 4 11 2 3
e : 1, 0, 0, 0, 0 Choix de la séquence d ’entrée États : 00 01 11 10 00 00 00 de l ’automate du récepteur s 1 s 2 Émis : 11, 10, 01, 01, 10, 11, 00 (algorithme de Viterbi) Reçus : 00, 10, 01, 01, 10, 11, 00 00 0 2 1 1 1 01 2 3 4 4 5 2 4 3 3 2 4 3 2 3 4 2 4 4 5 2 4 3 5 2 2 2 5 4 4 2 5 2 4 3 4 4 2 10 4 11 2 3
e : 1, 0, 0, 0, 0 Choix de la séquence d ’entrée États : 00 01 11 10 00 00 00 de l ’automate du récepteur s 1 s 2 Émis : 11, 10, 01, 01, 10, 11, 00 (algorithme de Viterbi) Reçus : 00, 10, 01, 01, 10, 11, 00 00 0 2 1 1 1 01 2 3 4 4 5 2 4 3 3 2 4 3 2 3 4 2 4 4 5 2 4 3 5 2 2 2 5 4 4 2 5 2 4 3 4 4 2 10 4 11 2 3
e : 1, 0, 0, 0, 0 Choix de la séquence d ’entrée États : 00 01 11 10 00 00 00 de l ’automate du récepteur s 1 s 2 Émis : 11, 10, 01, 01, 10, 11, 00 (algorithme de Viterbi) Reçus : 00, 10, 01, 01, 10, 11, 00 00 0 2 1 1 1 01 2 3 4 4 5 2 4 3 3 2 4 3 2 3 4 2 4 4 5 2 4 3 5 2 2 2 5 4 4 2 5 2 4 3 4 4 2 10 4 11 Malgré l ’erreur sur les deux premières données, le chemin retrouvé correspond bien au messag émis 2 3
- Slides: 28