• Like
Convolutif
Upcoming SlideShare
Loading in...5
×
Uploaded on

 

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
776
On Slideshare
0
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
37
Comments
0
Likes
2

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. Année 2011 - 2012Transmission de l’information : Les codes convolutifs (A. Migan), S. Argentieri
  • 2. Les codes convolutifs I. Principe du codage convolutif  Les codes convolutifs forment une classe extrêmement souple et efficace de codes correcteurs d’erreur.  Ce sont les codes les plus utilisés dans les communications fixes et mobiles.  Les codes convolutifs ont les mêmes caractéristiques que les codes en bloc sauf qu’ils s’appliquent à des séquences infinies de symboles d’information et génèrent des séquences infinies de symboles de code.Transmission de l’Information : les codes convolutifs 2/89
  • 3. Les codes convolutifs I. Principe du codage convolutif I. 1. Encodeurs Le codeur qui engendre un code convolutif comporte un effet de mémoire : Le mot code ne dépend pas que du bloc de k symboles entrant, mais aussi des m mots de code qui l’ont précédé, stockés dans un registre. Entrée Registre à (m+1) k étages Bloc de k éléments binaires Convertisseur Logique combinatoire Parallèle- Sortie Bloc de n Série éléments binairesTransmission de l’Information : les codes convolutifs 3/89
  • 4. Les codes convolutifs I. Principe du codage convolutif I. 1. Encodeurs Théorème fondamental du codage de canal  La complexité du codeur est nécessaire à l’obtention de bonnes performances  Pour les codes en bloc : n et k doivent être grands  Pour les codes convolutifs : il suffit que m soit grand Entrée Registre à (m+1) k étages Bloc de k éléments binaires Convertisseur Logique combinatoire Parallèle- Sortie Bloc de n Série éléments binairesTransmission de l’Information : les codes convolutifs 4/89
  • 5. Les codes convolutifs I. Principe du codage convolutif I. 2. Propriétés k  Le rendement du code est : R n  La longueur de contrainte du code est : m 1 k  Linéarité : les mots de code associés à une combinaison linéaire de séquences d’entrée correspondent à la combinaison linéaire des mots de code de chacune des ces séquences.  Stationnarité : Lorsqu’un message source, décalé dans le temps, est envoyé sur l’encodeur, on doit retrouver à la sortie, le mot de code correspondant décalé de la même manière dans le temps.  Code convolutif systématique : Mot code : C = (X1 Y1 X2 Y2 … Xj Yj …) 1 2 k Avec Xj = X j X j ... X j Information Yj = Y1 Yj2 ... Yjk Contrôle jTransmission de l’Information : les codes convolutifs 5/89
  • 6. Les codes convolutifs I. Principe du codage convolutif I. 3. Exemple Exemple de codeur convolutif non systématique : R = 1/2 ; m = 2 ; k = 1 ; n = 2 x1 j sj sj 2 A chaque pas de temps j :  On combine les valeurs de l’entrée et de sj e1 j e2 j la mémoire pour calculer les sorties ;  Chaque registre à décalage est mis à jour par la valeur qui figure à son entrée. x2 j sj sj 1 sj 2Transmission de l’Information : les codes convolutifs 6/89
  • 7. Les codes convolutifs I. Principe du codage convolutif I. 4. Les distances dans les codes convolutifs  La distance libre est la borne inférieure des distances de Hamming entre toutes les séquences de sortie du codeur.  La distance minimale est la plus petite distance entre des chemins partant du même point et y revenant.Transmission de l’Information : les codes convolutifs 7/89
  • 8. Les codes convolutifs II. Représentations des codes convolutifs  Représentations numériques :  Transformée en D ;  Matrice de transfert ;  Représentations graphiques :  Diagramme d’état ;  Arbre ;  Treillis.Transmission de l’Information : les codes convolutifs 8/89
  • 9. Les codes convolutifs II. Représentations des codes convolutifs II. 1. Représentations numériques : Transformée en D  Une séquence de symboles est représentée par une série formelle en la variable D. Cette variable représente l’opérateur de retard unitaire : s ( D) s 0 s1.D s 2 .D 2 ... s j .D j ... x i (D) xi 0 x1.D x i2 .D 2 ... x ij .D j ... i  La réponse impulsionnelle du ième module, hi(D), est la séquence de sortie produite lorsque le message d’entrée est une suite commençant par le symbole ‘1’ et se terminant par une suite de ‘0’ de longueur infinie : xi(D) = hi(D).s(D)Transmission de l’Information : les codes convolutifs 9/89
  • 10. Les codes convolutifs II. Représentations des codes convolutifs II. 1. Représentations numériques : Transformée en D x1 j sj sj 2 sj e1 j e2 j x2 j sj sj 1 sj 2 e1(D) = D.s(D) e2(D) = D.e1(D) = D2.s(D) HD 1 D2 1 D D2 x1(D) = s(D) + e2(D) = (1 + D2).s(D) x2(D) = s(D) + e1(D) + e2(D) = (1 + D + D2).s(D)Transmission de l’Information : les codes convolutifs 10/89
  • 11. Les codes convolutifs II. Représentations des codes convolutifs II. 1. Représentations numériques : Transformée en D k=1;n=2;m=3 x1(D) = s(D) + e2(D) + e3(D) e1(D) = D.s(D) x1(D) = (1 + D2 + D3).s(D) e2(D) = D.e1(D) = D2.s(D) x2(D) = s(D) + e1(D) + e2(D) + e2(D) e3(D) = D.e2(D) = D3.s(D) x2(D) = (1 + D + D2 + D3).s(D) HD 1 D2 D3 1 D D2 D3Transmission de l’Information : les codes convolutifs 11/89
  • 12. Les codes convolutifs II. Représentations des codes convolutifs II. 1. Représentations numériques : Transformée en D x1(D) s1(D) k=2;n=3;m=2 x2(D) s2(D) x1(D) = s1(D) + e12(D) x1(D) = (1 + D2).s1(D) + 0.s2(D) x3(D) x2(D) = e11(D) + e12(D) + e21(D) x2(D) = (D + D2).s1(D) + D.s2(D) 1 D2 D D2 D HD 0 D 1 x3(D) = e11(D) + s2(D) x3(D) = D.s1(D) + 1.s2(D)Transmission de l’Information : les codes convolutifs 12/89
  • 13. Les codes convolutifs II. Représentations des codes convolutifs II. 2. Représentations numériques : Matrice de transfert  La matrice de transfert donne la relation entrée-sortie sous forme matricielle. On l’écrit pour chaque étage de sortie.  Pour la kième sortie : j j 1 ... La ième ligne donne la relation entre x k et s ij j si ..... ..... ..... La (i + 1) ème ligne donne la relation entre x k et s i 1 j j si 1 ..... ..... ..... La colonne correspond à l’instant j, 1ère ... ..... ..... ..... La 2ème colonne correspond à l’instant (j – 1) …  La matrice de transfert globale est la concaténation des matrices précédentes. Elle a k lignes et (m+1) n colonnes.Transmission de l’Information : les codes convolutifs 13/89
  • 14. Les codes convolutifs II. Représentations des codes convolutifs II. 2. Représentations numériques : Relations entrée/sortie : Matrice de transfert x1 s1 s1 2 j j j x2 j s1 j 1 s1 j 2 s2 1 j x1 j x3 j s1 j 1 s2 j s1 j  Matrices de transfert intermédiaires : 1 0 1 5 x2 j G1 0 0 0 0 0 1 1 3 s2 j G2 0 1 0 2 x3 j G3 0 1 0 2 1 0 0 4 k = 2, n = 3, m = 2  Matrices de transfert : T 1 0 1 0 1 1 0 1 0 0 0 0 0 1 0 1 0 0Transmission de l’Information : les codes convolutifs 14/89
  • 15. Les codes convolutifs II. Représentations des codes convolutifs II. 3. Représentations graphiques Chaque bloc de n éléments binaires en sortie du codeur dépend :  Du bloc de k éléments binaires présents à son entrée ;  Des m blocs de k éléments binaires contenus dans sa mémoire. Ces m.k éléments binaires définissent l’état du codeur. x1j s j s j 2 Les quatre états possibles k=1 du codeur sont : sj e1j e2 j n=2 m=2 ‘00’ ‘01’ ‘10’ ‘11’ x2 s j s j j 1 sj 2Transmission de l’Information : les codes convolutifs 15/89
  • 16. Les codes convolutifs II. Représentations des codes convolutifs II. 3. Représentations graphiques : Diagramme d’état  Les conventions adoptées :  Lorsque l’élément binaire d’entrée du codeur est égal à ‘0’ (resp. ‘1’), le couple binaire en sortie du codeur est porté par la branche rouge (resp. verte).  Seules deux (q) transitions sont possibles à partir de chacun des états.  Les étiquettes de chaque branche correspondent aux sorties du codeur.Transmission de l’Information : les codes convolutifs 16/89
  • 17. Les codes convolutifs II. Représentations des codes convolutifs 00 II. 3. Représentations graphiques : Instant j 0 Diagramme d’état État a État ‘00’ 0 0 0 État État 0 ‘10’ ‘01’ Instant j+1 ? Instant j+1 j État 0 0 0 ‘11’Transmission de l’Information : les codes convolutifs 17/89
  • 18. Les codes convolutifs II. Représentations des codes convolutifs 00 II. 3. Représentations graphiques : Instant j 1 Diagramme d’état État a État ‘00’ 1 11 0 0 État État 1 ‘10’ ‘01’ Instant j+1 j État 1 0 ‘11’Transmission de l’Information : les codes convolutifs 18/89
  • 19. Les codes convolutifs II. Représentations des codes convolutifs 00 II. 3. Représentations graphiques : Instant j 1 Diagramme d’état État 11 ‘00’ 11 0 0 1 État État État b 1 ‘10’ ‘01’ Instant j+1 j État 0 0 ‘11’Transmission de l’Information : les codes convolutifs 19/89
  • 20. Les codes convolutifs II. Représentations des codes convolutifs 00 II. 3. Représentations graphiques : Instant j 0 Diagramme d’état État 11 ‘00’ 11 1 0 1 État 00 État État b 0 ‘10’ ‘01’ Instant j+1 j État 1 0 ‘11’Transmission de l’Information : les codes convolutifs 20/89
  • 21. Les codes convolutifs II. Représentations des codes convolutifs II. 3. Représentations graphiques : 00 Diagramme d’état État 11 ‘00’ 11 10 État État ‘10’ ‘01’ 00 10 10 État ‘11’ 01Transmission de l’Information : les codes convolutifs 21/89
  • 22. Les codes convolutifs II. Représentations des codes convolutifs II. 3. Représentations graphiques : 00 Diagramme d’état La distance minimale est le poids État du chemin partant de ‘00’ et y 11 ‘00’ 11 revenant le plus vite possible : 10 Poids = 6 État État ‘10’ ‘01’ 00 10 10 État ‘11’ 01Transmission de l’Information : les codes convolutifs 22/89
  • 23. Les codes convolutifs II. Représentations des codes convolutifs II. 3. Représentations graphiques : 00 Diagramme d’état La distance minimale est le poids État du chemin partant de ‘00’ et y 11 ‘00’ 11 revenant le plus vite possible : 10 État État ‘10’ ‘01’ 00 Poids = 5 dmin = 5 10 10 État ‘11’ 01Transmission de l’Information : les codes convolutifs 23/89
  • 24. Les codes convolutifs II. Représentation des codes convolutifs II. 4. Représentations graphiques : Arbre  Développement du diagramme d’état en fonction du temps discrétisé  Les conventions adoptées :  Le temps s’écoule de la gauche vers la droite  Lorsque l’élément binaire d’entrée du codeur est égal à ‘0’ (resp. ‘1’), le couple binaire en sortie du codeur est porté par la branche supérieure (resp. inférieure).  Les branches se séparent en un point appelé nœud. Chaque nœud donne naissance à 2k (qk) branches.  Quelque soit l’état initial du codeur, après (m + 1) décalages à l’entrée du codeur, tous les états du codeur peuvent être atteints.Transmission de l’Information : les codes convolutifs 24/89
  • 25. Les codes convolutifs II. Représentation des codes convolutifs II. 4. Représentations graphiques : Arbre Instant j 0 0 00 Instant j+1Transmission de l’Information : les codes convolutifs 25/89
  • 26. Les codes convolutifs II. Représentation des codes convolutifs II. 4. Représentations graphiques : Arbre Instant j 0 00 00 0 0 0 00 0 Instant j+1 0 0 t = j+1Transmission de l’Information : les codes convolutifs 26/89
  • 27. Les codes convolutifs II. Représentation des codes convolutifs II. 4. Représentations graphiques : Arbre Instant j 1 00 00 1 0 0 00 1 Instant j+1 11 10 1 0 t = j+1Transmission de l’Information : les codes convolutifs 27/89
  • 28. Les codes convolutifs II. Représentation des codes convolutifs II. 4. Représentations graphiques : Arbre 00 00 Instant j 0 00 00 0 11 0 0 10 00 0 Instant j+1 11 10 0 0 t = j+1 t = j+2Transmission de l’Information : les codes convolutifs 28/89
  • 29. Les codes convolutifs II. Représentation des codes convolutifs II. 4. Représentations graphiques : Arbre 00 00 Instant j 00 00 11 10 00 01 01 Instant j+1 11 10 10 11 t = j+1 t = j+2Transmission de l’Information : les codes convolutifs 29/89
  • 30. Les codes convolutifs II. Représentation des codes convolutifs 00 00 00 00 II. 4. Représentations graphiques : Arbre 00 11 10 00 01 11 01 10 10 Instant j 00 11 00 11 01 00 01 00 11 10 10 10 10 01 11 01 11 00 00 11 00 00 11 01 10 01 01 Instant j+1 00 01 10 10 11 11 10 11 10 00 01 00 10 10 11 10 01 01 11 01 11 t = j+1 t = j+2 t = j+3 t = j+4Transmission de l’Information : les codes convolutifs 30/89
  • 31. Les codes convolutifs II. Représentation des codes convolutifs 00 00 00 00 II. 4. Représentations graphiques : Arbre 00 11 10 00 01 11 01 10 10 00 11 Partant de l’état ‘00’ à l’instant t = j, il 00 01 11 00 existe deux chemins pour atteindre 11 01 00 10 l’état ‘00’ à l’instant t = j + 3 10 10 10 01 11 01 11 00 00 11 00 00 00 00 Chemin 1 00 11 01 10 01 01 00 01 10 10 11 11 10 11 10 00 01 00 10 10 11 10 01 01 11 01 11 t=j t = j+1 t = j+2 t = j+3 t = j+4Transmission de l’Information : les codes convolutifs 31/89
  • 32. Les codes convolutifs II. Représentation des codes convolutifs 00 00 00 00 II. 4. Représentations graphiques : Arbre 00 11 10 00 01 11 01 10 10 00 11 Partant de l’état ‘00’ à l’instant t = j, 00 01 11 00 il existe deux chemins pour atteindre 11 01 00 10 l’état ‘00’ à l’instant t = j + 3 10 10 10 01 11 01 11 00 00 11 00 00 00 00 Chemin 1 00 11 01 10 01 01 11 01 11 Chemin 2 00 01 10 10 11 11 10 11 10 00 01 00 10 10 11 10 01 01 11 01 11 t=j t = j+1 t = j+2 t = j+3 t = j+4Transmission de l’Information : les codes convolutifs 32/89
  • 33. Les codes convolutifs II. Représentation des codes convolutifs 00 00 00 00 II. 4. Représentations graphiques : Arbre 00 11 10 00 01 11 01 10 10 00 11 00 Distance minimale : dmin = 5 01 11 00 01 00 11 10 10 10 10 01 11 01 11 00 00 11 00 00 00 00 00 11 01 10 01 01 11 01 11 =5 00 01 10 10 11 11 10 11 10 00 01 00 10 10 11 10 01 01 11 01 11 t=j t = j+1 t = j+2 t = j+3 t = j+4Transmission de l’Information : les codes convolutifs 33/89
  • 34. Les codes convolutifs II. Représentation des codes convolutifs 00 00 00 00 II. 4. Représentations graphiques : Arbre 00 11 10 00 01 11 01 10 10 00 11 Si la séquence d’information est : 00 01 11 00 ‘1001’ 11 01 00 10 10 10 10 01 11 01 11 00 00 1 0 0 1 11 11 00 00 11 11 01 01 10 00 10 01 00 10 01 01 00 01 11 01 11 11 11 10 10 11 11 10 11 10 00 01 00 10 Le mot de code associé à ‘1001’ 10 11 10 01 est ‘11011111’ 01 11 01 11 t=j t = j+1 t = j+2 t = j+3 t = j+4Transmission de l’Information : les codes convolutifs 34/89
  • 35. Les codes convolutifs II. Représentation des codes convolutifs II. 5. Représentations graphiques : Treillis  Les conventions adoptées :  Lorsque l’élément binaire d’entrée du codeur est égal à ‘0’ (resp. ‘1’), le couple binaire en sortie du codeur est porté par la branche rouge (resp. verte).  De chaque nœud partent 2k (qk) branches.  En chaque nœud convergent 2k (qk) branches.  Les étiquettes de chaque branche correspondent aux sorties du codeur.Transmission de l’Information : les codes convolutifs 35/89
  • 36. Les codes convolutifs II. Représentation des codes convolutifs II. 5. Représentations graphiques : Treillis Instant j 0 0 00 0 0 00 01 0 10 Instant j+1 11 0 0 t=j t = j+1Transmission de l’Information : les codes convolutifs 36/89
  • 37. Les codes convolutifs II. Représentation des codes convolutifs II. 5. Représentations graphiques : Treillis Instant j 1 1 00 0 0 00 11 01 1 10 Instant j+1 11 1 0 t=j t = j+1 t = j+2Transmission de l’Information : les codes convolutifs 37/89
  • 38. Les codes convolutifs II. Représentation des codes convolutifs II. 5. Représentations graphiques : Treillis Instant j 0 0 00 00 1 0 00 11 11 01 1 01 10 Instant j+1 11 0 1 t=j t = j+1 t = j+2Transmission de l’Information : les codes convolutifs 38/89
  • 39. Les codes convolutifs II. Représentation des codes convolutifs II. 5. Représentations graphiques : Treillis Instant j 1 1 00 00 1 0 00 11 11 01 0 01 10 Instant j+1 10 11 1 1 t=j t = j+1 t = j+2Transmission de l’Information : les codes convolutifs 39/89
  • 40. Les codes convolutifs II. Représentation des codes convolutifs II. 5. Représentations graphiques : Treillis 00 00 00 00 00 11 11 01 11 11 11 11 00 00 01 01 01 10 10 10 10 10 10 11 01 01 t=j t = j+1 t = j+2 t = j+3 t = j+4 Après (m + 1) décalages, quelque soit l’état initial du codeur, le motif du treillis se répèteTransmission de l’Information : les codes convolutifs 40/89
  • 41. Les codes convolutifs II. Représentation des codes convolutifs II. 5. Représentations graphiques : Treillis Comme pour le diagramme en arbre, partant de l’état ‘00’ à l’instant t = j, 00 00 00 00 00 il existe deux chemins pour atteindre 11 11 l’état ‘00’ à l’instant t = j + 3 01 11 11 11 11 00 00 01 01 01 10 10 10 00 00 00 Chemin 1 10 10 10 11 01 11 Chemin 2 ; =5 11 01 01 t=j t = j+1 t = j+2 t = j+3 t = j+4 dmin = 5Transmission de l’Information : les codes convolutifs 41/89
  • 42. Les codes convolutifs II. Représentation des codes convolutifs II. 5. Représentations graphiques : Treillis La séquence d’information est ‘1001’ 00 00 00 00 00 11 11 11 11 11 11 01 00 00 1 0 0 1 01 01 01 10 10 10 00 10 01 00 10 10 10 10 11 01 11 11 11 01 01 t=j t = j+1 t = j+2 t = j+3 t = j+4 Le mot de code associé à ‘1001’ est ‘11011111’Transmission de l’Information : les codes convolutifs 42/89
  • 43. Les codes convolutifs III. Codes particuliers III. 1. Les codes systématiques  Dédier une sortie aux bits d’information :  Treillis :  Réponse impulsionnelle : 000 000 00 101 101 HD 1 1 D2 D D2 110 110 01 011 011 010 010  Matrice de transfert : 10 111 111 G = (4 5 3)octal 100 100 001 001 11Transmission de l’Information : les codes convolutifs 43/89
  • 44. Les codes convolutifs III. Codes particuliers III. 2. Les codes récursifs systématiques  Réponses impulsionnelles : Boucle de retour : x1 D sD x1 sj x2 D sD e1 D j e1 D D sD e2 D e1 D e1 D D sD D.e1 D e1 D 1 D D 2 .e1 D D.s D D e1 D 2 sD s j e2 j e1 j 1 D D x2 j e2 j sj e2 j e1 j D x2 D sD sD x2 j sj e1 j 1 D D 2 1 D2 HD 1Transmission de l’Information : les codes convolutifs 1 D D2 44/89
  • 45. Les codes convolutifs III. Codes particuliers III. 2. Les codes récursifs systématiques  Boucle de retour :  Réponses impulsionnelles : 1 D2 HD 1 1 D D2  Treillis : 00 00 00 11 11 11 11 01 00 00 10 10 10 01 01 01 01 10 10 11Transmission de l’Information : les codes convolutifs 45/89
  • 46. Les codes convolutifs III. Codes particuliers III. 3. Les codes catastrophiques  Un code catastrophique est un code qui génère un nombre infini d’erreurs  Une séquence d’information de poids infinie est codée par une séquence de poids fini  Le décodeur, recevant une séquence de poids fini, estimera que la séquence d’entrée était constituée d’un mot de poids fini suivi de zéros.Transmission de l’Information : les codes convolutifs 46/89
  • 47. Les codes convolutifs III. Codes particuliers III. 3. Les codes catastrophiques 00 État a 01 ‘00’ 11 10 État c État b ‘10’ ‘01’ 10 11 01 État d ‘11’ 00Transmission de l’Information : les codes convolutifs 47/89
  • 48. Les codes convolutifs III. Codes particuliers III. 3. Les codes catastrophiques Appliquons à l’entrée de ce codeur une séquence constituée d’un nombre infini de ‘1’. 00 00 00 00 00 01 01 01 11 11 11 A la sortie, apparaîtra le mot ‘1101’ 00 00 11 suivi d’un nombre infini de ‘0’ 10 10 10 10 10 10 01 01 01 11 Le décodeur estimera que l’entrée 00 00 était constitué d’un mot de poids fini (par exemple ‘1010’) suivi d’un nombre infini de ‘0’Transmission de l’Information : les codes convolutifs 48/89
  • 49. Les codes convolutifs III. Codes particuliers 00 III. 3. Les codes catastrophiques État a 00 00 00 00 00 01 ‘00’ 11 01 01 01 11 11 11 00 00 11 10 10 10 10 État c État b 10 10 10 ‘10’ ‘01’ 01 01 01 10 11 00 00 11 01Tous les codeurs catastrophiques ont : État d ‘11’  Dans leur représentation en treillis : un arc horizontal produisant une sortie de poids nul, pour une entrée de poids non nul 00  Dans leur diagramme d’état : une boule portant l’étiquette ‘00’ pour une entrée égale à ‘1’Transmission de l’Information : les codes convolutifs 49/89
  • 50. Les codes convolutifs IV. Décodage convolutif  Dans les canaux de communication sans mémoire, les systèmes utilisant le codage convolutif sont parmi les plus intéressants tant du point de vue de leurs performances (s’approchant le plus des performances ultimes prévues par la théorie de Shannon) que du point de vue de leur réalisation et implantation matérielle.  Les deux principales techniques de décodage des codes convolutifs sont le décodage de Viterbi et le décodage séquentiel.  Chacune de ses techniques consiste à trouver un chemin particulier (le message transmis), dans un graphe orienté où on assigne aux branches des métriques ou valeurs de vraisemblance entre les données reçues et les données qui auraient pu être transmises.  L’objectif général du décodeur se résume donc à déterminer avec la plus grande fiabilité et le minimum d’efforts le chemin de métrique minimale. Ce chemin est la séquence décodée.Transmission de l’Information : les codes convolutifs 50/89
  • 51. Les codes convolutifs IV. Décodage convolutif IV. 1. Algorithme de Viterbi  A chaque instant, deux branches appartenant à deux chemins différents, convergent vers chaque noeud.  De ces deux chemins, l’un est plus vraisemblable, c’est-à-dire se trouve à une distance plus petite de la séquence reçue, que l’autre chemin.  Les distances étant additives, il est possible de ne conserver en chaque nœud que le chemin le plus vraisemblable, appelé survivant.  Si deux chemins sont aussi vraisemblables, un seul chemin est arbitrairement conservé.Transmission de l’Information : les codes convolutifs 51/89
  • 52. Les codes convolutifs IV. Décodage convolutif IV. 1. Algorithme de Viterbi  Supposons que la séquence à l’entrée du codeur soit ‘1 0 0 1’.  Si le codeur est dans l’état ‘00’ à l’instant initial, la séquence correspondante en sortie du codeur est ’11 01 11 11’.  Considérons un canal binaire symétrique introduisant une erreur en position 4. La séquence reçue à l’entrée du décodeur est ’11 00 11 11’.  Voici le déroulement de l’algorithme de Viterbi :Transmission de l’Information : les codes convolutifs 52/89
  • 53. Les codes convolutifs IV. Décodage convolutif IV. 1. Algorithme de Viterbi 00 00 (2) 11  A l’instant t = 0 : 01 Deux branches partent de l’état ‘00’. Elles sont 10 (0) respectivement à la distance 2 et 0 du premier couple binaire reçu. Reportons ces deux distances, 11 appelées métriques de branche sur le treillis. t=0 t=1Mot reçu : ‘11’Transmission de l’Information : les codes convolutifs 53/89
  • 54. Les codes convolutifs IV. Décodage convolutif IV. 1. Algorithme de Viterbi  A l’instant t = 1 : 00 (2) 00 00 (2) Évaluons la distance entre le deuxième 11 11 (1) couple binaire reçu et les quatre branches 01 01 qui partent des états ‘00’ et ‘10’, puis (0) 10 (4) reportons ces quatre métriques sur le treillis. 10 En sommant les métriques de branches 11 (1) appartenant à un même chemin, nous obtenons les métriques cumulées. t=0 t=1 t=2 Nous avons désormais quatre chemins qui permettent d’accéder, en t = 2, aux quatreMot reçu : ‘11’ ‘00’ états possibles du codeur.Transmission de l’Information : les codes convolutifs 54/89
  • 55. Les codes convolutifs IV. Décodage convolutif IV. 1. Algorithme de Viterbi  A l’instant t = 2 : 00 (2) 00 (2) 00 00 11 Il existe désormais deux chemins qui 11 11 (1) 11 convergent vers chaque nœud du treillis. 01 00 01 (0) (4) 01 10 10 10 10 (1) 11 01 t=0 t=1 t=2 t=3Mot reçu : ‘11’ ‘00’ ‘11’Transmission de l’Information : les codes convolutifs 55/89
  • 56. Les codes convolutifs IV. Décodage convolutif IV. 1. Algorithme de Viterbi  A l’instant t = 2 : 00 (2) 00 (2) 00 (4) 00 11 (1) Il existe désormais deux chemins qui 11 11 (1) 11 (5) convergent vers chaque nœud du treillis. 01 00 (2) 01 (0) (4) 01 (2) On va donc : 10 10 (3) 1. Calculer les métriques de branche. 10 10 (1) (5) 11 (2) 2. Calculer les métriques cumulées 01 pour chaque chemin atteignant en t=0 t=1 t=2 t=3 t = 3, un nœud donné du treillis.Mot reçu : ‘11’ ‘00’ ‘11’Transmission de l’Information : les codes convolutifs 56/89
  • 57. Les codes convolutifs IV. Décodage convolutif IV. 1. Algorithme de Viterbi  A l’instant t = 2 : 00 (2) 00 (2) 00 11 (1) Il existe désormais deux chemins qui 11 11 (1) 11 (5) convergent vers chaque nœud du treillis. 01 00 (2) 01 (0) (4) 01 (2) On va donc : 10 10 (3) 1. Calculer les métriques de branche. 10 10 (1) (5) 11 (2) 2. Calculer les métriques cumulées 01 pour chaque chemin atteignant en t=0 t=1 t=2 t=3 t = 3, un nœud donné du treillis. 3. En chaque nœud, ne retenir que le survivant.Mot reçu : ‘11’ ‘00’ ‘11’Transmission de l’Information : les codes convolutifs 57/89
  • 58. Les codes convolutifs IV. Décodage convolutif IV. 1. Algorithme de Viterbi  A l’instant t = 2 : 00 (2) 00 (2) 00 11 (1) Il existe désormais deux chemins qui 11 11 (1) 11 (2) convergent vers chaque nœud du treillis. 01 00 01 On va donc : (0) (4) (2) 10 10 (3) 1. Calculer les métriques de branche. 10 10 (1) (5) 11 (2) 2. Calculer les métriques cumulées 01 pour chaque chemin atteignant en t=0 t=1 t=2 t=3 t = 3, un nœud donné du treillis. 3. En chaque nœud, ne retenir que le survivant.Mot reçu : ‘11’ ‘00’ ‘11’Transmission de l’Information : les codes convolutifs 58/89
  • 59. Les codes convolutifs IV. Décodage convolutif IV. 1. Algorithme de Viterbi  A l’instant t = 2 : 00 (2) 00 (2) 00 11 (1) Il existe désormais deux chemins qui 11 11 (1) 11 (2) convergent vers chaque nœud du treillis. 01 01 On va donc : (0) (4) 10 (2) 10 1. Calculer les métriques de branche. 10 10 (1) (5) 11 (2) 2. Calculer les métriques cumulées 01 pour chaque chemin atteignant en t=0 t=1 t=2 t=3 t = 3, un nœud donné du treillis. 3. En chaque nœud, ne retenir que le survivant.Mot reçu : ‘11’ ‘00’ ‘11’Transmission de l’Information : les codes convolutifs 59/89
  • 60. Les codes convolutifs IV. Décodage convolutif IV. 1. Algorithme de Viterbi  A l’instant t = 2 : 00 (2) 00 (2) 00 11 (1) Il existe désormais deux chemins qui 11 11 (1) 11 (2) convergent vers chaque nœud du treillis. 01 01 On va donc : (0) (4) 10 (2) 10 1. Calculer les métriques de branche. 10 (1) 11 (2) 2. Calculer les métriques cumulées 01 pour chaque chemin atteignant en t=0 t=1 t=2 t=3 t = 3, un nœud donné du treillis. 3. En chaque nœud, ne retenir que le survivant.Mot reçu : ‘11’ ‘00’ ‘11’Transmission de l’Information : les codes convolutifs 60/89
  • 61. Les codes convolutifs IV. Décodage convolutif IV. 1. Algorithme de Viterbi 00 (2) 00 (2) (1) 00 11 11 (2) 11 11 (1) 11 (2) 11 (3) 01 01  A l’instant t = 3 : (0) (4) (2) 10 01 (1) 10 On procède de la même façon 10 (1) (2) 11 01 01 (3) t=0 t=1 t=2 t=3 t=4Mot reçu : ‘11’ ‘00’ ‘11’ ‘11’Transmission de l’Information : les codes convolutifs 61/89
  • 62. Les codes convolutifs IV. Décodage convolutif IV. 1. Algorithme de Viterbi Finalement, le chemin le plus vraisemblable est celui qui (2) (2) (1) 00 00 00 11 11 (2) arrive en ‘10’. 11 11 (1) 11 (2) 11 (3) 01 01 (0) (4) (2) 10 01 (1) 10 10 (1) (2) 11 01 01 (3) t=0 t=1 t=2 t=3 t=4Transmission de l’Information : les codes convolutifs 62/89
  • 63. Les codes convolutifs IV. Décodage convolutif IV. 1. Algorithme de Viterbi Finalement, le chemin le plus vraisemblable est celui qui (2) (2) (1) 00 00 00 11 11 (2) arrive en ‘10’. 11 11 (1) 11 (2) 11 (3) En remontant le treillis de la 01 (0) 01 (4) (2) droite vers la gauche, on voit 10 01 (1) que la séquence la plus 10 10 (1) (2) vraisemblable est celle qui part 11 01 01 (3) de ‘00’ à t = 0 et qui arrive à ‘10’ à t = 4. Elle correspond au t=0 t=1 t=2 t=3 t=4 code vraisemblablement émis : ‘11 01 11 11’. Ce code correspond à une séquence sur l’entrée du codeur égale à ‘1001’. L’erreur en position 4 est donc corrigée.Transmission de l’Information : les codes convolutifs 63/89
  • 64. Les codes convolutifs IV. Décodage convolutif IV. 2. Décodage séquentiel  Viterbi : complexité de calcul en 2m  Amélioration des codes convolutifs si m augmente → Décodage séquentiel  Recherche d’un parcours optimal dans un graphe :  Viterbi : Evaluer la qualité de tous les chemins à une profondeur donnée  Séquentiel : Parcours d’un unique chemin tant qu’il paraît bonTransmission de l’Information : les codes convolutifs 64/89
  • 65. Les codes convolutifs IV. Décodage convolutif IV. 2. Décodage séquentiel : Algorithme de Fano  Dans la structure d’arbre, à chaque nœud, on calcule les distances correspondantes aux deux successeurs et l’on poursuit dans la direction de celle qui conduit au chemin le plus court.  Si on choisit une mauvaise route (la distance observée dépasse un seuil fixé) : on rebrousse chemin et on reprend dans une autre direction  Mais cela peut arriver de nouveau  Jusqu’où faut-il remonter dans l’arbre ?  Mémoire tampon importanteTransmission de l’Information : les codes convolutifs 65/89
  • 66. Les codes convolutifs IV. Décodage convolutif IV. 2. Décodage séquentiel : Algorithme à piles  Algorithme de Fano utilisant un système de pile pour gérer plus efficacement les retours en arrière. Le décodeur consiste en une pile où sont stockés les chemins explorés :  Le stockage est effectué par ordre décroissant des valeurs de leurs métriques.  Le sommet de la pile contient le chemin de métrique minimale courant et sera donc prolongé en tous ses descendants sur une profondeur égale à une branche.Transmission de l’Information : les codes convolutifs 66/89
  • 67. Comparaison des codes VI. Codes cycliques – Codes convolutifs Codes cycliques : Codes convolutifs :  Rendement élevé (0,9)  Rendement faible mais performances élevées grâce au décodage à décision souple  Correction des paquets d’erreurs  Correction des erreurs isolées Modifications de codes Associations de codesTransmission de l’Information : les codes convolutifs 67/89