Codes convolutifs, graphes factoriels et turbo-codes.

Documents pareils
Conversion d un entier. Méthode par soustraction

Capacité d un canal Second Théorème de Shannon. Théorie de l information 1/34

Représentation des Nombres

FctsAffines.nb 1. Mathématiques, 1-ère année Edition Fonctions affines

Université de La Rochelle. Réseaux TD n 6

Théorie et Codage de l Information (IF01) exercices Paul Honeine Université de technologie de Troyes France

Transmission d informations sur le réseau électrique

Sujet proposé par Yves M. LEROY. Cet examen se compose d un exercice et de deux problèmes. Ces trois parties sont indépendantes.

Définition 0,752 = 0,7 + 0,05 + 0,002 SYSTÈMES DE NUMÉRATION POSITIONNELS =

Programmation linéaire

INTRODUCTION A L ELECTRONIQUE NUMERIQUE ECHANTILLONNAGE ET QUANTIFICATION I. ARCHITECTURE DE L ELECRONIQUE NUMERIQUE

Travaux pratiques. Compression en codage de Huffman Organisation d un projet de programmation

Introduction à l étude des Corps Finis

J AUVRAY Systèmes Electroniques TRANSMISSION DES SIGNAUX NUMERIQUES : SIGNAUX EN BANDE DE BASE

Contexte. Pour cela, elles doivent être très compliquées, c est-à-dire elles doivent être très différentes des fonctions simples,

IFT1215 Introduction aux systèmes informatiques

Représentation d un entier en base b

Echantillonnage Non uniforme

ISO/CEI NORME INTERNATIONALE

V- Manipulations de nombres en binaire

Réseaux grande distance

Une introduction aux codes correcteurs quantiques

Projet d informatique M1BI : Compression et décompression de texte. 1 Généralités sur la compression/décompression de texte

Documentation Technique du programme HYDRONDE_LN

IFT2880 Organisation des ordinateurs et systèmes

Algorithme. Table des matières

Cours de Master Recherche

Définitions. Numéro à préciser. (Durée : )

Théorie et codage de l information

Représentation d un nombre en machine, erreurs d arrondis

Cryptographie et fonctions à sens unique

Communications numériques

Cours de Recherche Opérationnelle IUT d Orsay. Nicolas M. THIÉRY. address: Nicolas.Thiery@u-psud.fr URL:

Souad EL Bernoussi. Groupe d Analyse Numérique et Optimisation Rabat http ://

Quantification Scalaire et Prédictive

Arithmétique binaire. Chapitre. 5.1 Notions Bit Mot

Continuité et dérivabilité d une fonction

CH.6 Propriétés des langages non contextuels

Exercice : la frontière des portefeuilles optimaux sans actif certain

Architecture des ordinateurs TD1 - Portes logiques et premiers circuits

Eteindre. les. lumières MATH EN JEAN Mme BACHOC. Elèves de seconde, première et terminale scientifiques :

Codage hiérarchique et multirésolution (JPEG 2000) Codage Vidéo. Représentation de la couleur. Codage canal et codes correcteurs d erreur

TD : Codage des images

ET 24 : Modèle de comportement d un système Boucles de programmation avec Labview.

Plus courts chemins, programmation dynamique

Programmation parallèle et distribuée

données en connaissance et en actions?

Exercices types Algorithmique et simulation numérique Oral Mathématiques et algorithmique Banque PT

INTRODUCTION À L ANALYSE FACTORIELLE DES CORRESPONDANCES

LES TYPES DE DONNÉES DU LANGAGE PASCAL

Modes Opératoires WinTrans Mai 13 ~ 1 ~

Licence Sciences et Technologies Examen janvier 2010

Limitations of the Playstation 3 for High Performance Cluster Computing

I- Définitions des signaux.

Chapitre 10 Arithmétique réelle

TD 1 - Transmission en bande de passe

DU BINAIRE AU MICROPROCESSEUR - D ANGELIS CIRCUITS CONFIGURABLES NOTION DE PROGRAMMATION

1 Introduction au codage

Traitement des données avec Microsoft EXCEL 2010

Chap17 - CORRECTİON DES EXERCİCES

Filtrage stochastique non linéaire par la théorie de représentation des martingales

Chaine de transmission

Communications collectives et ordonnancement en régime permanent pour plates-formes hétérogènes

0x700. Cryptologie Pearson France Techniques de hacking, 2e éd. Jon Erickson

Cours d analyse numérique SMI-S4

Exemples de problèmes et d applications. INF6953 Exemples de problèmes 1

Projet de Traitement du Signal Segmentation d images SAR

Par : Abdel YEZZA, Ph.D. Date : avril 2011 / mise à jour oct (ajout de la section 3 et augmentation de la section 1)


Annexe 6. Notions d ordonnancement.

Fonctions de plusieurs variables

Sauvegarde collaborative entre pairs Ludovic Courtès LAAS-CNRS

Expérience 3 Formats de signalisation binaire

Introduction à MATLAB R

Exo7. Calculs de déterminants. Fiche corrigée par Arnaud Bodin. Exercice 1 Calculer les déterminants des matrices suivantes : Exercice 2.

Exo7. Matrice d une application linéaire. Corrections d Arnaud Bodin.

Introduction au Data-Mining

Ordonnancement. N: nains de jardin. X: peinture extérieure. E: électricité T: toit. M: murs. F: fondations CHAPTER 1

Analyse en Composantes Principales

Informatique Générale

Programmation linéaire et Optimisation. Didier Smets

Big Data et Graphes : Quelques pistes de recherche

Objectifs. Clustering. Principe. Applications. Applications. Cartes de crédits. Remarques. Biologie, Génomique

Manuel de validation Fascicule v4.25 : Thermique transitoire des structures volumiques

Projet de traitement d'image - SI 381 reconstitution 3D d'intérieur à partir de photographies

Traitement bas-niveau

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP

Système à enseigner : Robot M.I.M.I. MultipodeIntelligent à Mobilité Interactive. Version 1.0

Adobe Premiere Pro Exportation

Nombres, mesures et incertitudes en sciences physiques et chimiques. Groupe des Sciences physiques et chimiques de l IGEN

Stopack : logiciel pour l entrepôt

Algorithmique et Programmation

Chapitre 5 : Flot maximal dans un graphe

Exercices du Cours de la programmation linéaire donné par le Dr. Ali DERBALA

ASR1 TD7 : Un microprocesseur RISC 16 bits

Résolution de systèmes linéaires par des méthodes directes

Jean-Philippe Préaux

Transcription:

Codes convolutifs, graphes factoriels et turbo-codes. Jean-Marc Brossier Janvier 6

Chapitre Codes convolutifs Sommaire. Rappel sur les codes en bloc linéaire.......................... Matrice génératrice d un code convolutif....................... Equation de convolution................................. Mise en œuvre par registre à décalage et représentation polynomiale......5 Le codeur est un automate fini.............................6 Diagramme en treillis...................................6. Chemin dans le treillis...................................7 Algorithme de Viterbi..................................7. Détection optimale et modèle de canal..........................7. Mise en œuvre efficace.................................. Figures. Exemple de code convolutif mis en œuvre à l aide de registres à décalage. Paramètres : k =, n =, K = M =. G = [], G = [], G = [], G = []. Polynômes : P (D) = D D D et Q(D) = D D........................ Représentation alternative à celle de la figure (.). Exemple de code convolutif mis en œuvre à l aide de registres à décalage. Paramètres : k =, n =, K = M =. G = [], G = [], G = [], G = []. Polynômes : P (D) = D D D et Q(D) = D D......................................... Réalisation d un code convolutif de rendement /....................... Code convolutif de rendement / (k =, n = ).........................5 Evolution de l état q j du registre à décalage sous l action de l entrée e j........... 5.6 Le nouvel état q j et la nouvelle sortie C j sont calculés en fonction de l état présent q j et de la valeur entrante I j..................................... 5.7 Machine à état fini associée au code convolutif de la figure (.)............... 5.8 Couches j et j du treillis associé au code de la figure (.)................ 5.9 Treillis du code de la figure (.) pour une séquence d entrée débutant en finissant en l état neutre s =........................................... 7. Illustration du fonctionnement de l algorithme de Viterbi................... Tables. Codage par la machine à état fini................................ 6

. Matrice génératrice d un code convolutif. Décodage par l algorithme de Viterbi. Les branches de transition sont indexées par des couples (entrée,sortie). Les métriques des branches sont encerclées, les métriques des chemins sont placées sur les branches, le label d un nœud correspond à la plus petite métrique de chemin jusqu à ce nœud. Chaque colonne décrit les phases de l algorithme pour l entrée d une donnée. Les lignes correspondent au message reçu : ( )......................... 9. Décodage par l algorithme de Viterbi. Suite............................. Rappel sur les codes en bloc linéaire Un code bloc linéaire transforme des paquets de k < n bits informatifs en paquets de n bits codés. L ensemble des mots du code forme un sous espace vectoriel de dimension k dans l espace de dimension n. La répartition des mots du code dans cet espace de dimension n, et plus particulièrement la distribution des distances entre mots (le spectre des distances) conditionnent les performances du code. La distance minimale entre les mots (distance minimale du code) est particulièrement importante.. Matrice génératrice d un code convolutif La matrice génératrice G d un code convolutif est infinie : G G G M k n k n G G M G M............ G =. k n G G..... G...... k n... Elle dépend de K = M matrices k n notées {G i } i=..m. K est appelé la longueur de contrainte du code. Notons I j = (I j I jk ) le jème paquet de k bits informatifs et C j = (C j C jn ) un paquet de n bits codés. L opération de codage d une suite infinie de bits informatifs I = (I I ) s écrit C = IG. Elle produit une suite infinie de bits codés C = (C C ). D après la forme matricielle C = IG : C = I G C = I G I G. C M = I G M I G M I M G. C j = I j M G M I j G pour j M.

. Equation de convolution 5. Equation de convolution Avec la convention I i = pour i <, il devient clair que la relation d encodage C = IG est une convolution : M C j = I j l G l. (.) l= Pour un bloc I de bits informatifs de taille finie, seuls L < paquets de k bits sont non nuls : I = (I I L ) et C = (C C L M ). Cette séquence codée tronquée est générée par un code en bloc linéaire dont la matrice génératrice est la sous matrice kl n(l M) des éléments situés en haut à gauche de G.. Mise en œuvre par registre à décalage et représentation polynomiale Notons g (l) αβ l élément générique de la matrice G l. En explicitant les n composantes C j,, C jn de C j dans la relation C j = M l= I j lg l, nous pouvons écrire : [ M ] k k C j = [C j,, C jn ] = l= α= I j l,α g (l) α,, M l= α= I j l,α g (l) αn Le bit codé C jβ = k M α= l= I j l,αg (l) αβ ne dépend que de l entrée présente I j et des M valeurs passées de l entrée I j,, I j M. Ainsi, le calcul des bits codés C jβ peut être réalisé pratiquement en mémorisant M valeurs passées de l entrée dans des registres à décalage (un registre α k par bit du mot de longueur k présent en entrée). Pour le registre α d une telle construction, seules sont connectées à l additioneur β n les cases mémoire pour lesquelles g (l) αβ =. Exemple.. La figure (.) illustre la mise en œuvre d un code convolutif simple à l aide de registres à décalage. Pour cet exemple, le rendement du code vaut / (k =, n = ). La relation de convolution vectorielle (.) peut-être décomposée en convolutions scalaires ; chacune d elle correspond à un filtre linéaire à réponse impulsionnelle finie qui peut être représenté par sa fonction de transfert polynomiale. Les polynômes du code présent valent P (D) = D D D et Q(D) = D D. La figure (.) indique une autre manière de représenter le codeur, cette représentation sera utilisée dans la suite de ce document. Exemple.. La figure (.) représente l implantation d un code convolutif de rendement / avec k =, n =, K = et : ( ) G = ( ) G = Nous illustrerons la suite de l exposé à l aide du code représenté figure (.). Ce code de rendement / (k =, n = ) est défini par G = ( ), G = ( ) et G = ( ). Bien que cette troncature réduise le rendement à r = r L LM, le rendement est pratiquement très voisin de r = k n du fait que L est grand devant M. Nous appelerons toujours rendement le rapport r = k n.

6.6 Diagramme en treillis C j D D D entrée I j k = D D D G G G G D D sorties C j,c j n = C j Fig.. Exemple de code convolutif mis en œuvre à l aide de registres à décalage. Paramètres : k =, n =, K = M =. G = [], G = [], G = [], G = []. Polynômes : P (D) = D D D et Q(D) = D D..5 Le codeur est un automate fini L état du codeur est défini par le contenu des registres à décalage. La figure (.5) présente un exemple d évolution de l état des registres à décalage : à chaque étape, les valeurs sont décalées d une case vers la droite, le contenu de la case la plus à droite est perdue (mémoire finie de taille M) tandis qu une nouvelle entrée I j est affectée à la case la plus à gauche. La figure (.6) schématise l évolution de l automate. Ainsi, le codeur peut être représenté par une machine à état fini pilotée par les bits à encoder. L état peut prendre km valeurs distinctes. Sous l action de l une des k entrées I j possibles, chaque état à l instant j peut évoluer vers k nouvelles positions possibles à l instant j. Les flèches des transitions entre les états seront indexées par le couple (I j, C j = g(i j, q j )). Exemple.5. La figure (.7) représente le diagramme de transition de la machine à état fini associée au code de paramètre G = [G, G, G ] = [], k =, n =, K = de la figure (.). L état q j peut prendre un nombre fini de valeurs (Ici km = = valeurs)..6 Diagramme en treillis Le temps n apparaît pas dans le diagramme de transition. Le diagramme en treillis est une variante du diagramme de transition constituée d une infinité de répliques d un module de base représentant les valeurs possibles de l état à un instant donné, les transitions possibles entre un instant et le suivant ainsi que les nouvelles valeurs possibles de l état à l instant suivant. Exemple.6. La figure (.8) donne le module de base du treillis associé au code de la figure (.).

.6 Diagramme en treillis 7 C j I j I j, I j, I j, I j, C j Fig.. Représentation alternative à celle de la figure (.). Exemple de code convolutif mis en œuvre à l aide de registres à décalage. Paramètres : k =, n =, K = M =. G = [], G = [], G = [], G = []. Polynômes : P (D) = D D D et Q(D) = D D. C j I j = I j, I j C j C j G = G = Fig.. Réalisation d un code convolutif de rendement / Remarque.6. Bien qu il soit également possible d associer un treillis à un code en bloc, cette approche est beaucoup moins utilisée que pour les codes convolutifs du fait que le treillis associé n est pas régulier..6. Chemin dans le treillis A chaque séquence en entrée du codeur correspond un chemin unique dans le treillis (et inversement). Ainsi, estimer la séquence d entrée revient à estimer un chemin dans le diagramme en treillis. Par exemple, pour le code de la figure (.), à condition que l état initial du codeur soit, la séquence d entrée [ ] engendre la séquence codée [ ]. Le parcours du treillis associé à cette entrée est représenté sur la figure (.9). Notons que M = zéros sont ajoutés à la séquence à encoder afin de ramener l état du codeur à sa position neutre () initiale. Plus généralement, l automate part d un état neutre s, parcourt ensuite le treillis en étant piloté par la séquence à encoder avant d être finalement ramené à l état neutre.

8.7 Algorithme de Viterbi C j I j I j, I j, I j, C j Fig.. Code convolutif de rendement / (k =, n = )..7 Algorithme de Viterbi.7. Détection optimale et modèle de canal Etant donnée une observation (y) de la sortie (C) du codeur entachée d erreurs, comment est-il possible d estimer le message transmis en commettant aussi peu d erreurs de décision que possible? L mots de k bits étant transmis, la sortie du codeur se compose de LM mots de n bits. En supposant le canal sans mémoire, le décodeur observe L M paquets y j de n valeurs. Notons cette observation y = (y,, y LM ) avec y j = (y j,, y jn ). Le critère du maximum de vraisemblance est celui qui minimise la probabilité d erreur lors de la détection : la séquence C optimale est celle qui maximise P (y C) ou de façon équivalente log P (y C) puisque la fonction log est monotone. Précisons maintenant la nature du lien statistique qui rattache y à C. Deux cas particuliers sont fréquemment considérés : Observations continues. Ce cas correspond typiquement au canal à bruit blanc additif gaussien pour lequel les valeurs y jl s écrivent y jl = C jl n jl où les n jl sont des v.a. gaussiennes indépendantes de même loi. Observations discrètes, à valeurs dans un ensemble fini. Deux exemples classiques : Canal Binaire Symétrique. Si deux valeurs sont possibles pour chaque variable y jl, le canal est dit binaire. On considère fréquement le canal binaire symétrique pour lequel y jl = C jl avec probabilité p et y jl C jl avec probabilité d erreur p. Canal à effacement. Lorsque plus de deux valeurs sont observables, un surcroît d information est disponible. C est le cas des codes à effacement ( valeurs)..7. Mise en œuvre efficace par l algorithme de Viterbi L algorithme de Viterbi fournit un moyen efficace d estimer la séquence présente en entrée selon le critère du maximum de vraisemblance. Etant donnée la bijection entre mots de code et chemin dans le treillis, la log-vraisemblance en sortie

.7 Algorithme de Viterbi 9 Instant j Instant j q j q j q j = f(i j, q j ) Registres à décalage I j X Etat q j I j I j Etat q j Registres à décalage I j I j Etat q j q j = f(i j, q j ) C j C j = g(i j, q j ) Fig..5 Evolution de l état q j du registre à décalage sous l action de l entrée e j. Fig..6 Le nouvel état q j et la nouvelle sortie C j sont calculés en fonction de l état présent q j et de la valeur entrante I j. (,) (,) (,) (,) (,) (,) (,) (,) (,) (,) (,) (,) (,) (,) (,) (,) j Temps j Fig..7 Machine à état fini associée au code convolutif de la figure (.). Fig..8 Couches j et j du treillis associé au code de la figure (.).

.7 Algorithme de Viterbi (,) (,) (,) (,) (,) (,) (,) (,) (,) (,) (,) Séquence transmise : Séquence codée : Fig..9 Treillis du code de la figure (.) pour une séquence d entrée débutant en finissant en l état neutre s =. d un canal sans mémoire factorise : log P (y C) = LM j= log P ( LM ) y j C C j = j= log P ( y j s j s j ) où s j s j désigne la branche du treillis (entre l état s j au temps j et l état s j au temps j ) associée au mot C j. La quantité l j (s j, s j ) = log P ( y j s j s j ) est appelée métrique de branche. Exemple.7. A titre d exercice : Canal binaire symétrique. Montrer que la métrique de branche est la distance de Hamming entre le mot reçu y j et la sortie du codeur C rs associée à la branche r s. Canal gaussien. Quelle est la métrique de branche? D après ce qui précède, la vraisemblance est fonction du chemin suivi dans le treillis. Pour trouver le chemin qui maximise la vraisemblance, l algorithme de Viterbi procède de la façon suivante. Pour chaque état s de la couche j du treillis, l algorithme calcule un chemin p j (s, s) débutant en s et finissant en s à la couche j qui extrêmise la métrique cumulée (aussi appelée métrique de chemin) w j (s) = j l= l(s l, s l ). Le passage d une couche à la suivante suivante (j j ) s effectue selon : w j (s) = max r E(s) [w j(r) l j (r, s)] avec E(s) l ensemble des antécédents de s. En pratique la séquence est estimée avec un retard fixé (en général plusieurs fois la longueur de contrainte du code)..7. Illustration du fonctionnement de Viterbi sur un exemple A titre d exemple, illustrons maintenant le fonctionnement de l algorithme de Viterbi pour le codeur de la figure (.) dont le diagramme d état est donné en figure (.7)). Le codeur est initialement à l état neutre. Soit la séquence informative. Théoriquement, il faudrait remonter jusqu au point du passé où les chemins optimaux fusionnent

.7 Algorithme de Viterbi Tab.. Codage par la machine à état fini. (,) (,) (,) (,) (,) (,) (,) (,) (,) (,) (,) (,) (,) (,) (,) (,) (,) (,) (,) (,) (,) (,) (,) (,) (,) (,) (,) (,) (,) (,) (,) (,) (,) (,) (,) (,) (,) (,) (,) (,)

.7 Algorithme de Viterbi Codage par la machine à état fini. La table. illustre le processus de codage par la machine à état fini. La première valeur qui entre dans le codeur est I =. D après le diagramme de la figure (.7), cette entrée active la transition indexée par le couple (, ) : l entrée engendre la sortie C = (). Cette transition fait passer de l état à l état. De même, l entrée suivante (I = ) active la transition (, ) qui génère la sortie C = () et place à nouveau le système dans l état. Le dernier bit informatif active la transition (, ), génère la sortie C = () et place le système dans l état. Deux zéros sont alors introduits en entrée pour ramener le codeur à l état neutre dans lequel il se trouvait initialement : Le premier zéro active la transition (, ), génère la sortie C = () et place à nouveau le système dans l état. Le dernier zéro active la transition (, ), génère la sortie C = () et place à nouveau le système dans l état. En résumé la séquence informative est codée en une séquence : [C, C, C, C, C ] = [,,,, ] Transmission Supposons que la séquence codée soit transmise sur un canal binaire symétrique et qu elle soit affectée par deux erreurs de transmission, de telle sorte que la séquence reçue soit : [y, y, y, y, y ] = [,,,, ] Décodage par l algorithme de Viterbi Illustrons maintenant le fonctionnement de l algorithme de Viterbi pour cette séquence reçue. Le schéma global du fonctionnement de l algorithme est celui de la figure (.). Détaillons les différentes étapes de ce fonctionnement. Le détail du fonctionnement de l algorithme est donnée par la table.. Entrée y =. Le codeur est initialement dans son état neutre. Pour la première transition, l entrée de l algorithme de Viterbi est constituée des deux premières valeurs de la séquence reçue. Deux branches sont possibles (cf. tab.. ligne, colonne ) à partir de l état. L effet de chacune des deux entrées possibles est le suivant : active la transition (, ), la sortie correspondante diffère en un emplacement de la séquence reçue. active la transition (, ), la sortie correspondante diffère en un emplacement de la séquence reçue. La métrique de branche vaut donc pour chacune des branches (cf. tab.. ligne, colonne ). Etant donné, qu une seule branche aboutie à chacun des nœuds et, leurs labels sont égaux aux métriques de chemin, elles-mêmes égales à la métrique de branche (cf. tab.. ligne, colonne ). Entrée y =. Le codeur peut maintenant partir de l état ou de l état. Deux branches partent de chacun de ces états (cf. tab.. ligne, colonne ), pour chaque branche l algorithme compare l entrée et la deuxième partie du couple qui indexe la branche et porte la métrique de branche sur le graphe (cf. tab.. ligne, colonne ). La métrique de chemin est égale à la somme de cette métrique de branche avec la métrique de chemin jusqu au nœud précédent (cf. tab.. ligne, colonne ).

.7 Algorithme de Viterbi Entrée y =. Quatre nœuds de départ sont possibles, deux branches partent de chaque nœud (cf. tab.. ligne, colonne ). Ainsi, contrairement aux cas particuliers des deux entrées précédentes, les nœuds de la couche suivante sont atteints par plusieurs branches. L algorithme de Viterbi calcul la métrique de tous les chemins (cf. tab.. ligne, colonne ) et, pour chaque nœud de la couche suivante, ne conserve que les chemins de poids minimal (cf. tab.. ligne, colonne ). Entrées suivantes. L algorithme procède de la même manière jusqu à la fin de la séquence reçue (cf. tab..) pour finalement sélectionner le chemin de métrique minimale. La lecture de message décodé est alors réalisée en suivant l un des chemins optimaux. Ici, les index du chemin optimal sont (,), (,), (,), (,), (,). Les bits informatifs sont donnés par la première partie des couples, d où le message décidé par l algorithme de Viterbi : : les erreurs de transmissions ont été corrigées.

.7 Algorithme de Viterbi Tab.. Décodage par l algorithme de Viterbi. Les branches de transition sont indexées par des couples (entrée,sortie). Les métriques des branches sont encerclées, les métriques des chemins sont placées sur les branches, le label d un nœud correspond à la plus petite métrique de chemin jusqu à ce nœud. Chaque colonne décrit les phases de l algorithme pour l entrée d une donnée. Les lignes correspondent au message reçu : ( ) Transitions possibles Métriques de branche Métriques de chemin (, ) (, ) (, ) (,) (,) (,) (, ) (, ) (, ) (, ) (, ) (, ) (,) (, ) (,) (, ) (,) (, ) (, ) (, ) (, ) (,) (,) (,) (, ) (, ) (, ) (,) (, ) (,) (, ) (, ) (, ) (, ) (,) (, ) (,) (, ) (, ) (, ) (, ) (,) (, ) (,) (, ) (,) (, ) (,) (,) (,) (,) (,) (,) (, ) (,) (,) (,) (,) (,) (,) (, ) (,) (,) (,) (,) (,)

.7 Algorithme de Viterbi 5 Tab.. Décodage par l algorithme de Viterbi. Suite... Transitions possibles Métriques de branche Métriques de chemin (, ) (, ) (, ) (, ) (, ) (, ) (, ) (, ) (, ) (, ) (, ) (, ) (,) (, ) (,) (, ) (,) (, ) (,) (, ) (,) (, ) (,) (, ) (,) (,) (,) 5 (, ) (, ) (,) (, ) (, ) (,) (, ) (, ) (,) (,) (,) (,) (,) (,) (,) (,) (,) (,) (,) (,) (,) (,) (,) (,) (, ) (, ) (, ) (, ) (, ) (, ) (, ) (, ) (, ) (, ) (, ) (, ) (, ) (, ) (, ) (,) (, ) (,) (, ) (,) (, ) (,) (, ) (,) (, ) (,) (, ) (, ) (, ) (, ) (,) 5 (,) 5 (,) 5 (, ) (, ) (,) (, ) (, ) (,) (, ) (, ) (,) (,) (,) (,) (,) (,) (,) (,) (,) (,) (,) (,) (,) (,) (,) (,)

6.7 Algorithme de Viterbi (, ) (, ) (, ) (, ) (, ) (,) (, ) (,) (, ) (, ) (,) 5 (, ) (, ) (,) (,) (,) (,) (,) (,) Légende q Arête indexée par le couple (entrée,sortie) Etat précédent Le chemin optimal associé est de poids q. (e,s) b qb Métrique cumulée (de chemin) = q b Métrique de branche q'b' p Etat (e',s') Poids p et état s du chemin optimal associé à ce noeud p = min(qb,q'b') Branche concurrente éliminée si q'b' > qb Fig.. Illustration du fonctionnement de l algorithme de Viterbi.