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

Post on 03-Apr-2015

109 views 1 download

Transcript of Fonctionnement de lalgorithme de Viterbi J. Le Roux leroux@essi.fr leroux.

Fonctionnement de l’algorithme de Viterbi

J. Le Roux

leroux@essi.fr

http://www.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

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

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

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

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

É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

É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

É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

É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

É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

É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

É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

É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

É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

É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

É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

É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

É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

É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

É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

É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

É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

É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

É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

É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

É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

É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

É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