840 likes | 1.04k Views
Année 2011 - 2012. Transmission de l’information : Les codes convolutifs. (A . Migan ), S. Argentieri. Les codes convolutifs. I. Principe du codage convolutif. Les codes convolutifs forment une classe extrêmement souple et efficace de codes correcteurs d’erreur.
E N D
Année 2011 - 2012 Transmission de l’information : Les codes convolutifs (A. Migan), S. Argentieri
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.
Registre à (m+1)k étages Entrée Bloc de k éléments binaires Convertisseur Parallèle-Série Logique combinatoire Sortie Bloc de n éléments binaires 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.
Registre à (m+1)k étages Entrée Bloc de k éléments binaires Convertisseur Parallèle-Série Logique combinatoire Sortie Bloc de n éléments binaires 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 : net k doivent être grands • Pour les codes convolutifs : il suffit que m soit grand
Le rendement du code est : • La longueur de contraintedu code est : • 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 … XjYj …) Avec Xj = Information Yj= Contrôle Les codes convolutifs I. Principe du codage convolutif I. 2. Propriétés
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 • A chaque pas de temps j : • On combine les valeurs de l’entrée et de la mémoire pour calculer les sorties ; • Chaque registre à décalage est mis à jour par la valeur qui figure à son entrée.
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.
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.
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 : • La réponse impulsionnelledu 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)
Les codes convolutifs II. Représentations des codes convolutifs II. 1. Représentations numériques : Transformée en D e1(D) = D.s(D) e2(D) = D.e1(D) = D2.s(D) x1(D) = s(D) + e2(D) = (1 + D2).s(D) x2(D) = s(D) + e1(D) + e2(D) = (1 + D + D2).s(D)
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) x1(D) = (1 + D2 + D3).s(D) x2(D) = s(D) + e1(D) + e2(D) + e2(D) x2(D) = (1 + D + D2 + D3).s(D) e1(D) = D.s(D) e2(D) = D.e1(D) = D2.s(D) e3(D) = D.e2(D) = D3.s(D)
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) x3(D) = e11(D) + s2(D) x3(D) = D.s1(D) + 1.s2(D)
Pour la kième sortie : La ième ligne donne la relation entreet La (i + 1)ème ligne donne la relation entre et La 1ère colonne correspond à l’instant j, La 2ème colonne correspond à l’instant (j – 1) … Les codes convolutifs II. Représentations des codes convolutifs II. 2. Représentations numériques : Matrice de transfert • La matrice de transfertdonne la relation entrée-sortie sous forme matricielle. On l’écrit pour chaque étage de sortie. • La matrice de transfert globale est la concaténation des matrices précédentes. Elle a k lignes et (m+1)n colonnes.
Les codes convolutifs II. Représentations des codes convolutifs II. 2. Représentations numériques : Matrice de transfert • Relations entrée/sortie : • Matrices de transfert intermédiaires : • Matrices de transfert : k = 2, n = 3, m = 2
Les quatre états possibles du codeur sont : ‘00’ ‘01’ ‘10’ ‘11’ k = 1 n = 2 m = 2 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.
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.
00 0 État ‘00’ État a ‘00’ 0 0 État ‘10’ État ‘01’ 0 État ‘11’ Les codes convolutifs II. Représentations des codes convolutifs II. 3. Représentations graphiques : Diagramme d’état Instantj 0 Instantj+1 ? Instantj Instantj+1 0 0 0
00 1 État ‘00’ État a ‘00’ 11 0 0 État ‘10’ État ‘01’ 1 État ‘11’ Les codes convolutifs II. Représentations des codes convolutifs II. 3. Représentations graphiques : Diagramme d’état Instantj 1 Instantj+1 Instantj 1 0
00 1 État ‘00’ 11 0 1 État ‘01’ État ‘10’ État b ‘01’ 1 État ‘11’ Les codes convolutifs II. Représentations des codes convolutifs II. 3. Représentations graphiques : Diagramme d’état Instantj 11 0 Instantj+1 Instantj 0 0
00 0 État ‘00’ 11 00 État ‘10’ État b ‘01’ 0 État ‘11’ Les codes convolutifs II. Représentations des codes convolutifs II. 3. Représentations graphiques : Diagramme d’état Instantj 11 1 0 1 État ‘01’ Instantj Instantj+1 1 0
00 État ‘00’ 11 11 10 État ‘10’ État ‘01’ 00 10 10 État ‘11’ 01 Les codes convolutifs II. Représentations des codes convolutifs II. 3. Représentations graphiques : Diagramme d’état
00 État ‘00’ 11 État ‘10’ État ‘01’ 10 État ‘11’ Les codes convolutifs II. Représentations des codes convolutifs II. 3. Représentations graphiques : Diagramme d’état La distance minimale est le poids du chemin partant de ‘00’ et y revenant le plus vite possible : 11 10 Poids = 6 00 10 01
00 État ‘00’ 11 État ‘10’ État ‘01’ 10 État ‘11’ Les codes convolutifs II. Représentations des codes convolutifs II. 3. Représentations graphiques : Diagramme d’état La distance minimale est le poids du chemin partant de ‘00’ et y revenant le plus vite possible : 11 10 00 Poids = 5 10 dmin = 5 01
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 branchesupé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.
Instantj Instantj+1 Les codes convolutifs II. Représentation des codes convolutifs II. 4. Représentations graphiques : Arbre 0 0 00
0 Instantj 0 0 Instantj+1 0 Les codes convolutifs II. Représentation des codes convolutifs II. 4. Représentations graphiques : Arbre 00 0 0 00 0 t = j+1
1 Instantj 1 1 Instantj+1 1 Les codes convolutifs II. Représentation des codes convolutifs II. 4. Représentations graphiques : Arbre 00 0 0 00 10 0 t = j+1
0 Instantj 0 0 Instantj+1 0 Les codes convolutifs II. Représentation des codes convolutifs II. 4. Représentations graphiques : Arbre 00 00 0 0 10 00 10 0 t = j+1 t = j+2
Instantj Instantj+1 Les codes convolutifs II. Représentation des codes convolutifs II. 4. Représentations graphiques : Arbre 00 00 10 00 01 10 11 t = j+1 t = j+2
Instantj Instantj+1 Les codes convolutifs II. Représentation des codes convolutifs 00 00 II. 4. Représentations graphiques : Arbre 10 00 01 10 11 00 00 01 10 10 01 11 11 00 00 00 10 01 01 10 11 10 00 01 10 11 01 11 11 t = j+1 t = j+2 t = j+3 t = j+4
00 00 00 • Chemin 1 Les codes convolutifs II. Représentation des codes convolutifs 00 00 II. 4. Représentations graphiques : Arbre 10 00 01 10 11 00 Partant de l’état ‘00’ à l’instant t = j, il existe deux chemins pour atteindre l’état ‘00’ à l’instant t = j + 3 00 01 10 10 01 11 11 00 00 00 10 01 01 10 11 10 00 01 10 11 01 11 11 t = jt = j+1 t = j+2 t = j+3 t = j+4
00 00 00 • Chemin 1 11 01 11 • Chemin 2 Les codes convolutifs II. Représentation des codes convolutifs 00 00 II. 4. Représentations graphiques : Arbre 10 00 01 10 11 00 Partant de l’état ‘00’ à l’instant t = j, il existe deux chemins pour atteindre l’état ‘00’ à l’instant t = j + 3 00 01 10 10 01 11 11 00 00 00 10 01 01 10 11 10 00 01 10 11 01 11 11 t = jt = j+1 t = j+2 t = j+3 t = j+4
00 00 00 11 01 11 • w = 5 Les codes convolutifs II. Représentation des codes convolutifs 00 00 II. 4. Représentations graphiques : Arbre 10 00 01 10 11 00 Distance minimale : dmin = 5 00 01 10 10 01 11 11 00 00 00 10 01 01 10 11 10 00 01 10 11 01 11 11 t = jt = j+1 t = j+2 t = j+3 t = j+4
11 1 0 0 1 11 01 • 00 • 10 • 10 • 01 11 01 11 11 11 Les codes convolutifs II. Représentation des codes convolutifs 00 00 II. 4. Représentations graphiques : Arbre 10 00 01 10 11 00 Si la séquence d’information est : ‘1001’ 00 01 10 10 01 11 11 00 00 00 10 00 01 01 10 11 10 00 01 10 Le mot de code associé à ‘1001’ est ‘11011111’ 11 01 11 11 t = jt = j+1 t = j+2 t = j+3 t = j+4
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.
0 Instantj 0 00 0 0 00 01 0 10 Instantj+1 11 0 Les codes convolutifs II. Représentation des codes convolutifs II. 5. Représentations graphiques : Treillis 0 t = j t = j+1
1 Instantj 1 00 00 11 01 1 10 Instantj+1 11 1 Les codes convolutifs II. Représentation des codes convolutifs II. 5. Représentations graphiques : Treillis 0 0 0 t = j t = j+1 t = j+2
0 Instantj 0 00 00 00 11 11 01 1 01 10 Instantj+1 11 1 0 Les codes convolutifs II. Représentation des codes convolutifs II. 5. Représentations graphiques : Treillis 1 0 t = j t = j+1 t = j+2
1 Instantj 1 00 00 00 11 11 01 0 01 10 Instantj+1 10 11 1 Les codes convolutifs II. Représentation des codes convolutifs II. 5. Représentations graphiques : Treillis 1 0 1 t = j t = j+1 t = j+2
00 00 00 00 00 11 11 01 11 11 11 11 00 00 10 01 01 01 10 10 11 10 10 10 01 01 t = j t = j+1 t = j+2 t = j+3 t = j+4 Les codes convolutifs II. Représentation des codes convolutifs II. 5. Représentations graphiques : Treillis Après (m + 1) décalages, quelque soit l’état initial du codeur, le motif du treillis se répète
00 00 00 00 00 11 11 01 11 11 11 11 00 00 10 01 01 01 10 10 11 10 10 10 01 01 t = j t = j+1 t = j+2 t = j+3 t = j+4 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, il existe deux chemins pour atteindre l’état ‘00’ à l’instant t = j + 3 00 00 00 • Chemin 1 11 01 11 • Chemin 2 ; w = 5 dmin = 5
00 11 00 00 00 00 11 11 11 11 01 11 11 11 11 00 00 01 10 01 01 01 10 10 11 10 10 10 01 01 t = j t = j+1 t = j+2 t = j+3 t = j+4 Les codes convolutifs II. Représentation des codes convolutifs II. 5. Représentations graphiques : Treillis La séquence d’information est ‘1001’ 1 0 0 1 • 00 • 10 • 10 00 • 01 11 01 11 11 Le mot de code associé à ‘1001’ est ‘11011111’
000 101 110 011 010 111 100 001 000 101 110 011 010 111 100 001 00 01 10 11 Les codes convolutifs III. Codes particuliers III. 1. Les codes systématiques Dédier une sortie aux bits d’information : • Réponse impulsionnelle : • Treillis : • Matrice de transfert : G = (4 5 3)octal
Les codes convolutifs III. Codes particuliers III. 2. Les codes récursifs systématiques • Réponses impulsionnelles : Boucle de retour :
00 11 11 00 10 01 01 10 00 11 11 00 10 01 01 10 00 01 10 11 Les codes convolutifs III. Codes particuliers III. 2. Les codes récursifs systématiques Boucle de retour : • Réponses impulsionnelles : • Treillis :
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.
00 État a ‘00’ 01 11 10 État c ‘10’ État b ‘01’ 10 11 01 État d ‘11’ 00 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 01 01 00 11 11 11 00 00 11 01 10 10 10 A la sortie, apparaîtra le mot ‘1101’ suivi d’un nombre infini de ‘0’ 10 10 10 01 01 01 00 00 11 Le décodeur estimera que l’entrée était constitué d’un mot de poids fini (par exemple ‘1010’) suivi d’un nombre infini de ‘0’ Les codes convolutifs III. Codes particuliers III. 3. Les codes catastrophiques
00 État a ‘00’ 01 11 00 00 00 00 01 01 00 11 11 11 10 00 00 11 01 État c ‘10’ État b ‘01’ 10 10 10 10 10 10 10 01 01 01 00 00 11 11 01 État d ‘11’ 00 Les codes convolutifs III. Codes particuliers III. 3. Les codes catastrophiques • Tous les codeurs catastrophiques ont : • Dans leur représentation en treillis : un archorizontal produisant une sortie de poids nul, pour une entrée de poids non nul • Dans leur diagramme d’état : une boule portant l’étiquette ‘00’ pour une entrée égale à ‘1’
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.