Fonctionnement de lalgorithme de Viterbi J. Le Roux [email protected] leroux.

29
Fonctionnement de l’algorithme de Viterbi J. Le Roux [email protected] http://www.essi.fr/~lerou

Transcript of Fonctionnement de lalgorithme de Viterbi J. Le Roux [email protected] leroux.

Page 1: Fonctionnement de lalgorithme de Viterbi J. Le Roux leroux@essi.fr leroux.

Fonctionnement de l’algorithme de Viterbi

J. Le Roux

[email protected]

http://www.essi.fr/~leroux

Page 2: Fonctionnement de lalgorithme de Viterbi J. Le Roux leroux@essi.fr leroux.

e(t)

s (t)

e(t-1) e(t- 2)

s (t)

xor

xor

Émission des donnees dans un codeur convolutionnelavec un registre a decalageet des ou exclusifs

1

2

Page 3: Fonctionnement de lalgorithme de Viterbi J. Le Roux leroux@essi.fr leroux.

00

e0 0 0

11

e1 1 0

10

01

e1 1 1

e1 0 0

e0 1 0

e1 0 1

e0 1 1

e0 0 1

Représentation de l ’émetteur sous la forme d ’un automate

s 1s 2

s 1 s 2

s 1s 2

s 1s 2

s 1s 2

s 1s 2

s 1s 2s 1s 2

Les états sont les valeurs de et-1, et-2

Page 4: Fonctionnement de lalgorithme de Viterbi J. Le Roux leroux@essi.fr leroux.

e vaut 0 e vaut 1 treillis de l’algorithmede décodage de Viterbi

00

10

01

11

0 000

10

01

11

00

10

01

11

00

10

01

11

00

10

01

11

11

10

01

11

00

10

01

temps

Éta

t de

l’au

tom

a te

s 1s 2

Page 5: Fonctionnement de lalgorithme de Viterbi J. Le Roux leroux@essi.fr leroux.

Codeur del’émetteur

Correction des codes convolutionnels

Codeur durécepteur

Message à coder

Erreurs detransmission

Comparaison

Algorithme degénération de message

Critère :réduction de l ’écartentre le messagereçu et le messagereconstitué

Message reconstitué

Message reçu

Page 6: Fonctionnement de lalgorithme de Viterbi J. Le Roux leroux@essi.fr leroux.

le récepteur génère un message e(t)de sorte que la sortie que l’automate produitavec cette entrée soit la plus proche possiblede la séquence bruitée qu’il a reçue

‘‘idées sous jacentes’’

Codeur durécepteur Comparaison

Algorithme degénération de message

Message reconstitué

processus itératif :à l’instant t génération des e(t) possibleset élimination des séquences les plus pénalisées

Message reçu

Page 7: Fonctionnement de lalgorithme de Viterbi J. Le Roux leroux@essi.fr leroux.

Émis :11,10,00,01,01,00,10,11,00,00Reçus :00, , , , , , , , ,

s 1s 2

États : 00 01 10 01 11 10 01 10 00 00 00

e : 1, 0, 1, 1, 0, 1, 0, 0, 0, 0Choix de la séquence d ’entréede l ’automate du récepteur(algorithme de Viterbi)

00

10

01

11

Éléments du treillis que va parcourir la représentation du message en cours de décodage

Page 8: Fonctionnement de lalgorithme de Viterbi J. Le Roux leroux@essi.fr leroux.

Émis :11,10,00,01,01,00,10,11,00,00Reçus :00, , , , , , , , ,

s 1s 2

États : 00 01 10 01 11 10 01 10 00 00 00

e : 1, 0, 1, 1, 0, 1, 0, 0, 0, 0t=0, hypothèse : e=0

000

11

Choix d’une première hypothèse et comparaison aux données reçues

10

01

calcul des sorties S1 et S2

pour cet état et e =0calcul de la distanceavec les données reçues

Page 9: Fonctionnement de lalgorithme de Viterbi J. Le Roux leroux@essi.fr leroux.

Émis :11,10,00,01,01,00,10,11,00,00Reçus :00, , , , , , , , ,

s 1s 2

États : 00 10 01 10 11 01 10 01 00 00 00

e : 1, 0, 1, 1, 0, 1, 0, 0, 0, 0t=0, hypothèse e=1

0

2

Choix d’une deuxième hypothèse et comparaison aux données reçues

00

10

01

11

calcul des sorties S1 et S2

pour cet état et e =1calcul de la distanceavec les données reçues

Page 10: Fonctionnement de lalgorithme de Viterbi J. Le Roux leroux@essi.fr leroux.

Émis :11,10,00,01,01,00,10,11,00,00Reçus :00,10, , , , , , , ,

s 1s 2

États : 00 01 10 01 11 10 01 10 00 00 00

e : 1, 0, 1, 1, 0, 1, 0, 0, 0, 0incrémentation du temps : t=1

0

2

1

1

00

11

Itération du processus pour les deuxièmes données

10

01

nouveaux calcul dedistance entre la chaînereçue et la chaîne générée

Page 11: Fonctionnement de lalgorithme de Viterbi J. Le Roux leroux@essi.fr leroux.

Émis :11,10,00,01,01,00,10,11,00,00Reçus :00,10, , , , , , , ,

s 1s 2

États : 00 01 10 01 11 10 01 10 00 00 00

e : 1, 0, 1, 1, 0, 1, 0, 0, 0, 0calculs similaires pour l’autre état atteint à t=0

0

2

1

1

2

4

00

11

Itération du processus pour les deuxièmes données

10

01

nouveaux calcul dedistance entre la chaînereçue et la chaîne générée

Page 12: Fonctionnement de lalgorithme de Viterbi J. Le Roux leroux@essi.fr leroux.

Émis :11,10,00,01,01,00,10,11,00,00Reçus :00,10,00, , , , , , ,

s 1s 2

États : 00 01 10 01 11 10 01 10 00 00 00

e : 1, 0, 1, 1, 0, 1, 0, 0, 0, 0incrémentation du temps t=2

0

2

1

1

2

4

1

3

2

2

00

11

Itération du processus pour les troisièmes données

10

01

Page 13: Fonctionnement de lalgorithme de Viterbi J. Le Roux leroux@essi.fr leroux.

Émis :11,10,00,01,01,00,10,11,00,00Reçus :00,10,00, , , , , , ,

s 1s 2

États : 00 01 10 01 11 10 01 10 00 00 00

e : 1, 0, 1, 1, 0, 1, 0, 0, 0, 0calculs similaire pour tous lesétats atteints

0

2

1

1

2

4

1

3

2

2

4

2

5

5

00

11

Itération du processus pour les troisièmes données

10

01

Page 14: Fonctionnement de lalgorithme de Viterbi J. Le Roux leroux@essi.fr leroux.

Émis :11,10,00,01,01,00,10,11,00,00Reçus :00,10,00, , , , , , ,

s 1s 2

États : 00 01 10 01 11 10 01 10 00 00 00

e : 1, 0, 1, 1, 0, 1, 0, 0, 0, 0

0

2

1

1

2

4

1

3

2

2

4

2

5

5

00

11

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

pour chaque nœud, on n’accepte qu’uneseule entrée

10

01

Page 15: Fonctionnement de lalgorithme de Viterbi J. Le Roux leroux@essi.fr leroux.

Émis :11,10,00,01,01,00,10,11,00,00Reçus :00,10,00, , , , , , ,

s 1s 2

États : 00 01 10 01 11 10 01 10 00 00 00

e : 1, 0, 1, 1, 0, 1, 0, 0, 0, 0choix similaire pourtous les nœuds

0

2

1

1

2

4

1

3

2

2

4

2

5

5

00

11

Choix similaires pour tous les nœuds du treillis

10

01

Page 16: Fonctionnement de lalgorithme de Viterbi J. Le Roux leroux@essi.fr leroux.

Émis :11,10,00,01,01,00,10,11,00,00Reçus :00,10,00,01, , , , , ,

s 1s 2

États : 00 01 10 01 11 10 01 10 00 00 00

e : 1, 0, 1, 1, 0, 1, 0, 0, 0, 0Choix de la séquence d ’entréede l ’automate du récepteur(algorithme de Viterbi)

0

2

1

1

2

4

1

3

2

2

4

2

5

5

2

4

2

3

3

2

4

200

11

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

10

01

Page 17: Fonctionnement de lalgorithme de Viterbi J. Le Roux leroux@essi.fr leroux.

Émis :11,10,00,01,01,00,10,11,00,00Reçus :00,10,00,01,01, , , , ,

s 1s 2

États : 00 01 10 01 11 10 01 10 00 00 00

e : 1, 0, 1, 1, 0, 1, 0, 0, 0, 0Choix de la séquence d ’entréede l ’automate du récepteur(algorithme de Viterbi)

0

2

1

1

2

4

1

3

2

2

4

2

5

5

2

4

2

3

3

2

4

2 3

3

4

2

3

3

2

4

00

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

10

01

Page 18: Fonctionnement de lalgorithme de Viterbi J. Le Roux leroux@essi.fr leroux.

Émis :11,10,00,01,01,00,10,11,00,00Reçus :00,10,00,01,01,00, , , ,

s 1s 2

États : 00 01 10 01 11 10 01 10 00 00 00

e : 1, 0, 1, 1, 0, 1, 0, 0, 0, 0Choix de la séquence d ’entréede l ’automate du récepteur(algorithme de Viterbi)

0

2

1

1

2

4

1

3

2

2

4

2

5

5

2

4

2

3

3

2

4

2 3

3

4

2

3

3

2

4

3

5

4

4

4

2

3

3

00

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

10

01

Page 19: Fonctionnement de lalgorithme de Viterbi J. Le Roux leroux@essi.fr leroux.

Émis :11,10,00,01,01,00,10,11,00,00Reçus :00,10,00,01,01,00,10, , ,

s 1s 2

États : 00 01 10 01 11 10 01 10 00 00 00

e : 1, 0, 1, 1, 0, 1, 0, 0, 0, 0Choix de la séquence d ’entréede l ’automate du récepteur(algorithme de Viterbi)

0

2

1

1

2

4

1

3

2

2

4

2

5

5

2

4

2

3

3

2

4

2 3

3

4

2

3

3

2

4

4

5

4

3

3

2

3

4

4

4

2

4

4

4

5

3

00

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

10

01

Page 20: Fonctionnement de lalgorithme de Viterbi J. Le Roux leroux@essi.fr leroux.

Émis :11,10,00,01,01,00,10,11,00,00Reçus :00,10,00,01,01,00,10,11, ,

s 1s 2

États : 00 01 10 01 11 10 01 10 00 00 00

e : 1, 0, 1, 1, 0, 1, 0, 0, 0, 0Choix de la séquence d ’entréede l ’automate du récepteur(algorithme de Viterbi)

0

2

1

1

2

4

1

3

2

2

4

2

5

5

2

4

2

3

3

2

4

2 3

3

4

2

3

3

2

4

4

5

4

3

3

2

3

4

4

4

2

4

4

4

5

3

6

4

5

5

2

4

4

4

00

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

10

01

10

01

Page 21: Fonctionnement de lalgorithme de Viterbi J. Le Roux leroux@essi.fr leroux.

Émis :11,10,00,01,01,00,10,11,00,00Reçus :00,10,00,01,01,00,10,11,00,

s 1s 2

États : 00 01 10 01 11 10 01 10 00 00 00

e : 1, 0, 1, 1, 0, 1, 0, 0, 0, 0Choix de la séquence d ’entréede l ’automate du récepteur(algorithme de Viterbi)

0

2

1

1

2

4

1

3

2

2

4

2

5

5

2

4

2

3

3

2

4

2 3

3

4

2

3

3

2

4

4

5

4

3

3

2

3

4

4

4

2

4

4

4

5

3

6

4

5

5

2

4

4

4

2

5

4

5

00

11

Les deux dernières entrées sont telles que l’état final est bien défini (ici l ’état 00)

10

01

Page 22: Fonctionnement de lalgorithme de Viterbi J. Le Roux leroux@essi.fr leroux.

Émis :11,10,00,01,01,00,10,11,00,00Reçus :00,10,00,01,01,00,10,11,00,00

s 1s 2

États : 00 01 10 01 11 10 01 10 00 00 00

e : 1, 0, 1, 1, 0, 1, 0, 0, 0, 0Choix de la séquence d ’entréede l ’automate du récepteur(algorithme de Viterbi)

0

2

1

1

2

4

1

3

2

2

4

2

5

5

2

4

2

3

3

2

4

2 3

3

4

2

3

3

2

4

4

5

4

3

3

2

3

4

4

4

2

4

4

4

5

3

6

4

5

5

2

4

4

4

2

5

4

5

2

7

00

11

Les deux dernières entrées sont telles que l’état final est bien défini (ici l ’état 00)

10

01

Page 23: Fonctionnement de lalgorithme de Viterbi J. Le Roux leroux@essi.fr leroux.

Émis :11,10,00,01,01,00,10,11,00,00Reçus :00,10,00,01,01,00,10,11,00,00

s 1s 2

États : 00 01 10 01 11 10 01 10 00 00 00

e : 1, 0, 1, 1, 0, 1, 0, 0, 0, 0Choix de la séquence d ’entréede l ’automate du récepteur(algorithme de Viterbi)

0

2

1

1

2

4

1

3

2

2

4

2

5

5

2

4

2

3

3

2

4

2 3

3

4

2

3

3

2

4

4

5

4

3

3

2

3

4

4

4

2

4

4

4

5

3

6

4

5

5

2

4

4

4

2

5

4

5

2

7

Traits continus : chemins autorisés; traits pointillés : chemins interdits

00

11

10

01

Page 24: Fonctionnement de lalgorithme de Viterbi J. Le Roux leroux@essi.fr leroux.

Émis :11,10,00,01,01,00,10,11,00,00Reçus :00,10,00,01,01,00,10,11,00,00

s 1s 2

États : 00 01 10 01 11 10 01 10 00 00 00

e : 1, 0, 1, 1, 0, 1, 0, 0, 0, 0Choix de la séquence d ’entréede l ’automate du récepteur(algorithme de Viterbi)

0

2

1

1

2

4

1

3

2

2

4

2

5

5

2

4

2

3

3

2

4

2 3

3

4

2

3

3

2

4

4

5

4

3

3

2

3

4

4

4

2

4

4

4

5

3

6

4

5

5

2

4

4

4

2

5

4

5

2

7

Parcours du graphe en remontant à partir de la fin

00

11

10

01

Page 25: Fonctionnement de lalgorithme de Viterbi J. Le Roux leroux@essi.fr leroux.

Émis :11,10,00,01,01,00,10,11,00,00Reçus :00,10,00,01,01,00,10,11,00,00

s 1s 2

États : 00 01 10 01 11 10 01 10 00 00 00

e : 1, 0, 1, 1, 0, 1, 0, 0, 0, 0Choix de la séquence d ’entréede l ’automate du récepteur(algorithme de Viterbi)

0

2

1

1

2

4

1

3

2

2

4

2

5

5

2

4

2

3

3

2

4

2 3

3

4

2

3

3

2

4

4

5

4

3

3

2

3

4

4

4

2

4

4

4

5

3

6

4

5

5

2

4

4

4

2

5

4

5

2

7

00

11

10

01

il y a une seule entrée par nœud, il n’y a qu’un seul chemin

Page 26: Fonctionnement de lalgorithme de Viterbi J. Le Roux leroux@essi.fr leroux.

Émis :11,10,00,01,01,00,10,11,00,00Reçus :00,10,00,01,01,00,10,11,00,00

s 1s 2

États : 00 01 10 01 11 10 01 10 00 00 00

e : 1, 0, 1, 1, 0, 1, 0, 0, 0, 0Choix de la séquence d ’entréede l ’automate du récepteur(algorithme de Viterbi)

0

2

1

1

2

4

1

3

2

2

4

2

5

5

2

4

2

3

3

2

4

2 3

3

4

2

3

3

2

4

4

5

4

3

3

2

3

4

4

4

2

4

4

4

5

3

6

4

5

5

2

4

4

4

2

5

4

5

2

7

00

11

10

01

Page 27: Fonctionnement de lalgorithme de Viterbi J. Le Roux leroux@essi.fr leroux.

Émis :11,10,00,01,01,00,10,11,00,00Reçus :00,10,00,01,01,00,10,11,00,00

s 1s 2

États : 00 01 10 01 11 10 01 10 00 00 00

e : 1, 0, 1, 1, 0, 1, 0, 0, 0, 0Choix de la séquence d ’entréede l ’automate du récepteur(algorithme de Viterbi)

0

2

1

1

2

4

1

3

2

2

4

2

5

5

2

4

2

3

3

2

4

2 3

3

4

2

3

3

2

4

4

5

4

3

3

2

3

4

4

4

2

4

4

4

5

3

6

4

5

5

2

4

4

4

2

5

4

5

2

7

00

11

10

01

Page 28: Fonctionnement de lalgorithme de Viterbi J. Le Roux leroux@essi.fr leroux.

Émis :11,10,00,01,01,00,10,11,00,00Reçus :00,10,00,01,01,00,10,11,00,00

s 1s 2

États : 00 01 10 01 11 10 01 10 00 00 00

e : 1, 0, 1, 1, 0, 1, 0, 0, 0, 0Choix de la séquence d ’entréede l ’automate du récepteur(algorithme de Viterbi)

0

2

1

1

2

4

1

3

2

2

4

2

5

5

2

4

2

3

3

2

4

2 3

3

4

2

3

3

2

4

4

5

4

3

3

2

3

4

4

4

2

4

4

4

5

3

6

4

5

5

2

4

4

4

2

5

4

5

2

7

00

11

10

01

Page 29: Fonctionnement de lalgorithme de Viterbi J. Le Roux leroux@essi.fr leroux.

Émis :11,10,00,01,01,00,10,11,00,00Reçus :00,10,00,01,01,00,10,11,00,00

s 1s 2

États : 00 01 10 01 11 10 01 10 00 00 00

e : 1, 0, 1, 1, 0, 1, 0, 0, 0, 0

0

2

1

1

2

4

1

3

2

2

4

2

5

5

2

4

2

3

3

2

4

2 3

3

4

2

3

3

2

4

4

5

4

3

3

2

3

4

4

4

2

4

4

4

5

3

6

4

5

5

2

4

4

4

2

5

4

5

2

7

00

11

Malgré l ’erreur sur les deux premières données, le cheminretrouvé correspond bien au message émis (s’il n’y a pas trop d’erreurs)

10

01

message retrouvé1 0 1 1 0 1 0 0 0 0