Codae de canal et turbo-code 3// / Le code convolutif Table de matière Table de matière... Table de fiure.... Introduction.... Structure de code convolutif..... Code convolutif de rendement /n..... Code convolutif de rendement k/n... 3.3. Repréentation polynômiale... 3.4. Code convolutif récurif ytématique... 4 3. Repréentation raphique de code convolutif... 5 4. Tranformation de code convolutif... 7 4.. Perforation... 7 4.. Fermeture du treilli : tranformation en code en bloc... 8 5. Alorithme de décodae... 8 5.. L alorithme de Viterbi... 8 5... Decription de l alorithme de Viterbi :... 9 5... Exemple de décodae à déciion dure... 9 5.. L alorithme de Viterbi à ortie ouple (SOVA)... Table de fiure Fiure : Code convolutif de rendement r=/n... Fiure : Code convolutif de rendement /3 et de lonueur de contrainte L=... 3 Fiure 3 : Code convolutif NRNSC (7,5)... 4 Fiure 4 : Code convolutif RSC (,5/7)... 5 Fiure 5 : Arbre du code convolutif NRNSC (7,5)... 6 Fiure 6 : Treilli du code convolutif NRNSC (7,5)... 7 Fiure 7 : Etat de la fenêtre à l intant... Fiure 8 : Etat de la fenêtre à l intant... Fiure 9 : Etat de la fenêtre à l intant 3... Fiure : Etat de la fenêtre à l intant 9... Fiure : Etat de la fenêtre à l intant... Fiure : Exemple d un treilli décodé par le SOVA.... Introduction Nou avon préenté, dan le cour précédent, l amélioration de performance d une communication numérique ur de canaux an mémoire (canal binaire ymétrique ou additif blanc auien) râce à l enploi du codae par bloc. Le code convolutif, introduit en 955 par Elia, peuvent être conidéré comme un ca particulier de code en bloc linéaire, mai un point de vue plu lare nou fera découvrir que la tructure convolutive additionnelle munit le code linéaire de propriété favorable qui facilitent à la foi on codae et amélioent e performance. Le code convolutif forment une clae extrêmement ouple et efficace de code correcteur d erreur. Ce ont le code le plu utilié dan le ytème de télécommunication fixe et mobile. Théoriquement, il ont le même caractéritique que le code en bloc auf pour la valeur de leur dimenion et leur lonueur. Le code convolutif appliquent ur de équence infinie de ymbole d information et énèrent de équence infinie de ymbole codé. Dan un premier temp, nou préenteron le code convolutif comme un ca particulier de code en bloc linéaire, avant d exploiter dan un deuxième temp leur tructure pécifique pour aboutir à un procédé de décodae à maximum de vraiemblance de faible complexité.
Codae de canal et turbo-code 3// /. Structure de code convolutif.. Code convolutif de rendement /n Conidéron le code en bloc linéaire binaire pécifié par la matrice énératrice uivante : L L L G = L () Chaque élément l l L-, de la matrice et un vecteur line binaire à n compoante de la forme : l = [ ] l, l, Le zone laiée vide en ba à auche et en haut à droite correpondent à de élément tou nul. Chaque line obtient en décalant la précédente de n colonne ver la droite. Cette matrice, de taille B (nb+l-) décrit donc un code linéaire en bloc dont le mot de code pourraient être enendré par le dipoitif de la Fiure. Généralement, le mot de code ont trè lon, c et à dire B>>L et nou pouvon même conidérer cette matrice comme infinie. Ce code linéaire ne poède donc plu à proprement parler de dimenion ni de lonueur. Le rendement ne peut alor être défini comme pour le code en bloc. Cependant en nélieant la fermeture du code (le vidae de reitre), nou remarquon qu il exite un rapport /n entre le nombre de bit d information et le nombre de bit du mot de code. Le rendement de ce code et donc : r=/n ln L-, L-, n n n L-,n Fiure : Code convolutif de rendement r=/n La quantité L et appelée lonueur de contrainte du code convolutif. Le terme «convolutif» applique à cette clae de code parce que la uite de bit codé peut exprimer comme le réultat de la convolution de la uite de bit d information e par le coefficient. En effet, puique le code et linéaire, nou avon : = e. G. En obervant la forme particulière de G, le n bit en ortie du codeur à l intant t, correpondant à une entrée, écrivent : t t = e k u k u= max(, t L+ ) La complexité du codeur et indépendante de la lonueur de la équence de bit d information émie et ne dépend que de la lonueur de contrainte du code. Exercice : Donner le rendement, la lonueur de contrainte, contruire la matrice et le chéma de codae d un code convolutif de coefficient : =(,), =(,), =(,).
Codae de canal et turbo-code 3// 3/.. Code convolutif de rendement k/n Pour obtenir un rendement éal à un nombre rationnel quelconque inférieur à, il nou faut énéralier la forme () de la matrice énératrice et le chéma à la Fiure du codeur. Nou uppoon maintenant que k bit d information ont introduit en parallèle à un intant donné dan le codeur ou qu un décalae temporel du vecteur e de bit d information e fait par bloc de k bit. Cela revient à remplacer la line [ L- ] de taille L.n par une ou matrice binaire de taille k L.n. dont le élément contituant l ont de taille k n. La contruction énérale par décalae de la matrice rete la même : n k G = L L L Exemple : Soit le code convolutif de rendement /3 et de lonueur de contrainte L= défini par le coefficient uivant : = = Son codeur poède la tructure uivante : Fiure : Code convolutif de rendement /3 et de lonueur de contrainte L= La ortie d un codeur convolutif à l intant t dépend de e entrée à l intant t et de l état de reitre du codeur à cet intant. En poant ν=l-, tout code convolutif de rendement k/n et de lonueur de contrainte L poède kν kν reitre, qui peuvent donc prendre état différent. Comme l entrée et contituée de k bit différent, il k exite tranition poible à partir d un état du codeur à un intant donné..3. Repréentation polynômiale Soit un code convolutif de rendement k/n et de lonueur de contrainte L. Son entrée peut être vue comme la donnée de k équence infinie de bit, que nou repréenton par de érie en x : ei ( x) = + ei x, i =,, k = où l inconue x ymbolie un retard d une période. Le coefficient ei et le bit préent à la i-ème entrée du codeur à l intant. De la même manière, le n ortie du codeur peuvent être indexée par et écrivent : ( x) = + x, =,, n = La relation introduite par le code convolutif entre le entrée et le ortie peut écrire de façon éléante avec e notation, en introduiant le polynôme énérateur. Le polynôme énérateur qui lie la i-ème entrée à la - ième ortie et noté i ( x), et et de deré inférieur ou éal à L-. Le coefficient de deré r de ce polynôme vaut i une connexion exite entre la ortie et le bit préent dan le r-ième reitre correpondant à l entrée i. 3 La notation octale et couramment utiliée pour repréenter ce polynôme. Aini, ( x) = + x + x era repréenté par le nombre 5.
Codae de canal et turbo-code 3// 4/ Le ortie e calculent en fonction de entrée à l aide de polynôme énérateur : ( x) i ( x) ei ( x) = k i=, =,, n puique la convolution temporelle correpond à la multiplication polynômiale. Exercice : Expliciter et donner la repréentation octale de polynôme énérateur de code introduit à l exercice et l exemple. Une repréentation matricielle compacte de la formule précédente e déduit de l écriture ou forme vectorielle de entrée et ortie : E = e x e x e x S x x x [ ( ) ( ) ( )] [ ( ) ( ) ( )] k = où = G k S = GE ( x) ( x) n ( x) ( x) ( x) ( x) ( x) ( x) ( x) k.4. Code convolutif récurif ytématique Un code convolutif et dit récurif lorque e polynôme énérateur ont remplacé par le quotient de deux polynôme. Une partie de la ortie et alor réintroduite dan le reitre à décalae elon le connexion définie par le polynôme itué aux dénominateur. Un code convolutif et dit ytématique lorque une partie de e ortie et exactement éale à e entrée. Cela revient à dire que ( (x)=, (x)=,, k (x)=), ( (x)=, (x)=,, k (x)=),, et ( k (x)=, k (x)=,, kk (x)=). Un ca particulièrement intéreant et celui de la tranformation d un code convolutif non récurif non ytématique (NRNSC) de rendement k/(k+) en un code récurif ytématique (RSC). Prenon l exemple d un code NRNSC de rendement ½. Il et défini par la donnée de e deux polynôme énérateur (x)= (x) et (x)= (x), qui forment la matrice : = x x [ ( ) ( )] G La tranformation en code RSC correpond à conidérer le code défini par la matrice énératrice uivante : ( x) ( ) G = x Exemple : Soit le code convolutif NRNSC de rendement ½, de lonueur de contrainte L=3 et de polunôme énérateur (7,5). Se polynôme écrivent : (x)=+x+x et (x)=+x. Son codeur poède la tructure uivante : n kn n Fiure 3 : Code convolutif NRNSC (7,5) Se deux ortie (x) et (x) expriment en fonction de l entrée e(x) de la manière uivante :
Codae de canal et turbo-code 3// 5/ (x)=(+x+x )e(x) et (x)=(+x )e(x) Sa tranformation en code RSC correpond aux relation uivante : + x (x)=e(x) et ( x) = e( x) + x + x La deuxième relation écrit encore : ( + x + x ) ( x) = ( + x ) e( x) oit, en repaant en notation temporelle, à l intant k : k k k k k = e + e + + La tructure du code RSC et la uivante : Fiure 4 : Code convolutif RSC (,5/7) Exercice 3 : Prouver, en dérivant le équation de ortie en fonction de l entrée à partir du chéma ci-deu, qu il ait bien du code (,5/7). Donner une autre repréentation correpondant à un filtrae ARMA. Exercice 4 : Donner le condition ur le polynôme énérateur pour qu un code NRNSC de rendement k/n puie être tranformé en un code RSC. 3. Repréentation raphique de code convolutif L idée d une repréentation raphique d un code convolutif provient de caractéritique markovienne de la ortie du codeur. En effet, la ortie du codeur dépend de on entrée et de e état. Le raphe équivalent à la repréentation polynômiale ont ouvent plu facile à manipuler et permettent de dériver de réultat plu puiant. Tout code convolutif et repréenté par troi raphe équivalent mai différent : l arbre du code, le treilli du code et le diaramme d état. L arbre et un raphe de hauteur et de lareur infinie. Un ommet dan l arbre repréente un état poible du codeur. Une arrête ymbolie une tranition d un état à l autre. Claiquement l arbre commence à on ommet par l état (le reitre à décalae et initialié à ). Tout chemin dan l arbre du code et une équence poible (un mot de code) à la ortie du codeur convolutif. Le treilli et obtenu en repliant l arbre ur a lareur, par fuion de ommet repréentant le même état au même intant. Le diaramme d état et à on tour contruit en repliant le treilli ur a lonueur, par fuion de ommet repréentant aui le même état, à de intant différent. Incontetablement, le treilli et l outil raphique le plu performant pour caractérier un code et concevoir de alorithme de décodae. Nou illutron ci-deou l arbre, le treilli et le diaramme de deux code, l un NRNSC (7,5) et l autre RSC (,5/7) à 4 état. Ca du code NRNSC R=/, =7 =5 : noton : a= b= c= d= le 4 état poible du codeur convolutif. Le deux bit contituant l indice de l état ne ont autre que le deux bit contenu dan le reitre à décalae de la Fiure 3.
Codae de canal et turbo-code 3// 6/ Suppoon que le codeur et dan l état a à l intant t=. Deux tranition, correpondant aux valeur poible du bit à l entrée du codeur partent de l état a : la première a a correpond à une entrée e= et une ortie =. la econde a c correpond à une entrée e= et une ortie =. Ce deux tranition retent valable à n importe quel intant t dan le treilli. Suppoon maintenant le codeur dan l état b. Le deux tranition partant de l état b ont le uivante : b c correpond à une entrée e= et une ortie =. b a correpond à une entrée e= et une ortie =. Le deux tranition qui partent de l état c ont le uivante : c b correpond à une entrée e= et une ortie =. c d correpond à une entrée e= et une ortie =. Le deux tranition partant de l état d ont : d d correpond à une entrée e= et une ortie =. d b correpond à une entrée e= et une ortie =. Ceci permet d illutrer le fait uivant : Le code convolutif poède k(l-) = kν =4 état Il y a k = tranition par état Et donc kl =8 tranition poible entre deux intant conécutif. La Fiure 5 repréente l arbre de ce code. a a c a b c d a b a c c b d Fiure 5 : Arbre du code convolutif NRNSC (7,5) d
Codae de canal et turbo-code 3// 7/ Le treilli et obtenu en repliant l arbre ur a hauteur. Il et repréenté à la Fiure 6. Le deux premier bit ur chaque tranition repréentent la ortie, et le dernier l entrée correpondante. Noton que le treilli devient périodique à partir de la 3 ème étape où l on retrouve le 8 tranition entre le 4 état. En énéral, le treilli d un code convolutif devient tationnaire aprè L=ν+ étape. Etat a= / / / / / / / / / / b= / / / / / / c= / / / / / / / / d= / / / / / / Fiure 6 : Treilli du code convolutif NRNSC (7,5) Le mot du code (7,5) ont tou le chemin poible dan le treilli. Il et facile de vérifier que le code et linéaire, i.e. le chemin... appartient au treilli et la omme binaire modulo de bit codé préent ur le branche de deux chemin correpond aux bit préent ur le branche d un troiième chemin dan le treilli. D autre part, le treilli permet de trouver facilement la ditance minimale du code. Il ait du poid de Hammin minimal entre deux mot de code, donc deux chemin. En comparant tou le chemin au chemin tout à zéro, dan notre ca, un chemin divereant à n importe quel intant du chemin tout à zéro, en uivant a c b a pour converer à nouveau ver le chemin tout à zéro poède le poid de ortie minimal W Hmin =5. Nou en déduion que la ditance minimale d Hmin (aui appelée ditance libre d free ) du code convolutif (7,5) et éale à 5. Ce chemin correpond à un poid en entrée de. Exercice 5 : Contruire le diaramme d état du code convolutif NRNSC (7,5). Il ait d un raphe dont le ommet repréentent le état, mai où la notion temporelle n apparaît pa. On l obtient par fuion dan le treilli de tou le état identique à de intant différent. Ca du code RSC R=/, = =5/7 : le 4 état a, b, c, d ont noté de manière imilaire à ceux du code NRNSC. La tructure du treilli et parfaitement identique : deux branche arrivent et partent de chaque état. Le treilli devient périodique à la L=3 ème étape, lorque toute le tranition ont préente. La différence entre le code récurif et non récurif réide dan l étiquetae binaire de branche. En effet, achant que le code RSC et ytématique, le er bit de ortie et éal à l entrée. Aini le deux bit aocié à une branche du treilli repréentent touour le deux bit de ortie et la valeur de l entrée et contenue dan le er bit Exercice 6 : Contruire le treilli du code RSC (,7/5) dont le codeur et repréenté à la Fiure 4. Remarquon que la ditance minimale de ce code RSC et elle aui éale à 5 et e déduit du même chemin a c b a. Une entrée non nulle permet de quitter l état dan le deux ca récurif et non récurif. En revanche, une entrée nulle n et pa uffiante pour revenir à l état dan le ca du code RSC. En effet, le retour b a et énéré par e= pour le code NRNSC, et par e= pour le code RSC. Aini, le poid d entrée du chemin à ditance minimale du code RSC et éal à. 4. Tranformation de code convolutif 4.. Perforation Conidéron un code convolutif binaire récurif ou non de rendement R=k/n et de mémoire quelconque. Durant u étape dan le treilli, le codeur reçoit k u bit d information et délivre n u bit codé. Parmi ce bit codé, v ont upprimé et n u-v ont émi ur le canal. Cette opération, appelée perforation du code convolutif, tranforme le rendement R=k/n en un rendement R =(k u)/(n u-v). Par exemple, un code convolutif de
Codae de canal et turbo-code 3// 8/ rendement ½ et facilement converti par perforation en un code de rendement /3 (u= v=) ou un rendement ¾ (u=3,v=). Le choix de bit codé non tranmi (on dit perforé) e fait énéralement uivant un motif périodique décrit par une matrice binaire, dite de perforation, de taille n u qui comporte v zéro. 4.. Fermeture du treilli : tranformation en code en bloc Tout code convolutif et convertible en un code en bloc. Il uffit de topper l avance dan le treilli aprè un nombre de branche fixé par la lonueur du code en bloc recherché. Une méthode triviale conite à couper le treilli an pécifier l état final (troncature). La bonne méthode tranforme le code convolutif en un code en bloc en forçant le retour à l état par une terminaion du treilli. Inverement, il et poible de contruire un treilli repréentant tout code en bloc. 5. Alorithme de décodae Nou décrivon dan ce pararaphe deux alorithme de décodae applicable aux code convolutif. Il effectuent leur opération ur un treilli, qui repréente, dan le ca du décodae de code convolutif, la tructure du code. Il ont cependant applicable plu énéralement à le recherche du chemin dan un treilli qui minimie un critère de ditance additive. Il ont donc aui applicable au décodae de code en bloc (par l intermédiaire de leur repréentation en treilli), à celui de modulation codée en treilli, où à la detection au maximum de vraiemblance ur un canal introduiant de l interférence entre ymbole, problème qui correpond à l etimation de ymbole d un modèle de chaîne de Markov cachée, repréentable lui aui par un treilli. Le premier alorithme décrit ci-deou et celui de Viterbi (VA). Il ait d un alorithme de décodae à entrée ferme ou ouple mai à ortie ferme (de déciion ont prie ur chaque tranition du chemin choii dan le treilli) qui calcule le chemin dont la vraiemblance et maximale (ML : Maximum Likelihood). Il ait donc d un alorithme de décodae ML par équence (chemin). Le deuxième alorithme et un Viterbi modifié afin de fournir une ortie ouple (SOVA : Soft-Output Viterbi Alorithm) : à chacun de ymbole aocié aux tranition du chemin choii, il fait correpondre une information de fiabilité ou optimale. Un troiième alorithme, le Forward-Backward, fait l obet d un document éparé. Il calcule de manière exacte la probabilité a poteriori de ymbole préent ur le branche. Il ait donc aui d un alorithme à entrée et ortie ouple (SISO : Soft-Input Soft-Output) à déciion MAP (Maximum A Poteriori) qui peut tenir compte d une information probabilite a priori diponible ur le ymbole émi. Contrairement aux alorithme de Viterbi, il ait d une maximiation ymbole par ymbole. Le alorithme de Viterbi, le SOVA et le Forward-Backward ont couramment utilié dan le ytème de tranmiion mobile et fixe à codae imple ou concaténé. 5.. L alorithme de Viterbi La decription de l alorithme de Viterbi et faite dan le cadre du décodae à maximum de vraiemblance (à entrée ferme ou ouple) de code convolutif. La decription rete imilaire pour le autre application du VA, à condition de modifier la définition de la métrique de manière idoine. Soit C un code convolutif binaire de rendement R=k/n et de lonueur de contrainte L. Le nombre de bit à l entrée du codeur (repectivement en ortie) et éal à k (repectivement à n). L alorithme de Viterbi et le moyen le plu répandu pour le décodae ML lorque C poède un treilli de taille raionnable, i.e. un nombre d état inférieur ou éal à 56. L alorithme de Viterbi et de faible complexité et et imple à implanter. Le décodae à maximum de vraiemblance correpond à chercher dan le treilli du code C le chemin le plu proche (le plu vraiemblable) de la équence reçue (i.e. l obervation). La ditance employée dan l alorithme et oit la ditance euclidienne dan le ca d entrée ouple, oit la ditance de Hammin dan le ca d entrée ferme. Rappelon que le nombre d état dan le treilli du code C et éal à k(l-) et que le nombre de tranition par état et k. Chaque ommet dan le treilli et connecté de part et d autre par k branche ver le ommet antérieur et potérieur. Le nombre total de branche entre deux étape dan le treilli et k(l-) k = kl. La
Codae de canal et turbo-code 3// 9/ équence à décoder étant théoriquement de lonueur infinie, on e limite en pratique à la recherche du chemin le plu proche ur une fenêtre de lareur W. Le chemin manipulé dan le treilli du code ont donc de lonueur W branche. Si l on eaie d appliquer une méthode de décodae par recherche exhautive et même i nou uppoon connu le état initiaux et finaux (ca d un code convolutif dont on a fermé le treilli), nou nou trouvon confronté à la recherche du meilleur chemin parmi ( kl ) (W-L) poibilité. La complexité d un tel procédé et prohibitive puiqu elle et exponentielle en fonction de W. L alorithme de Viterbi décrit ci-deou apporte une rande réduction de la complexité de la recherche, qui devient linéaire en W. 5... Decription de l alorithme de Viterbi : k ( L ) Le temp et noté par l indice t. Un état dan le treilli et noté par t à l intant t, où < S =. T( t-, t ) repréente la branche à l intant t dan le treilli aociée à la tranition de l'état t- à l'état t. La omme de carré de ditance aociée aux branche entre le chemin du treilli arrivant à l état t à l intant t le plu proche de l obervation, et toute l obervation uqu au même intant et appelée métrique cumulée du ommet t et et notée λ(t, t ). Initialiation : λ(,)=. et λ(,)=+ pour. En effet, nou avon que le codeur par de l état. A l étape t, pour chaque état t : On choiit la branche T( t-, t ) telle que la ditance cumulée λ(t, t ) entre le chemin électionné et l obervation uqu au temp t oit minimale λ ( t, t ) = min [ λ ( t, ) { (, ), obervation} ] t d T t t + t L état t- qui correpond à ce minimum et appelé min. On tocke enuite le chemin urvivant : urvivant t, = urvivant t, T, ( ) ( ) ( ) t min + min t Réultat du décodae ML (avec un délai W) : on fournit la branche T(t-W,, ) appartenant au urvivant(t, t ) ayant la plu petite métrique cumulée λ(t, t ) entre tou le urvivant. L alorithme de Viterbi néceite donc le calcul de kl métrique à chaque étape t, d où une complexité de W kl, linéaire en W. Cependant, la complexité rete exponentielle en k et L, ce qui limite l utiliation aux code de petite taille (kl de 7 à maximum). La lareur W de la fenêtre de décodae et prie dan la pratique à 5L environ. Cette valeur arantie (de manière empirique) que le urvivant converent ver un chemin unique à l intérieur de la fenêtre de décodae. L alorithme de Viterbi néceite donc le tockae de k(l-) métrique cumulée et k(l-) urvivant de lonueur 5kL bit. 5... Exemple de décodae à déciion dure Nou illutron l alorithme de Viterbi décrit au pararaphe précédent par une imple application au décodae à déciion dure du code convolutif (7,5) à 4 état et de rendement ½. Notez que la ditance minimale de ce code et d Hmin =5. Le treilli de ce code et repréenté à la Fiure 6. La métrique d une branche d {T( t-, t ),obervation} et éale à la ditance de Hammin d H [T( t-, t ), bit reçu] entre le deux bit de la branche conidérée et le deux bit reçu à l intant t. Suppoon que le codeur a émi le chemin : c= et que le décodeur a reçu l obervation : r= Le fiure uivante illutrent l état de la fenêtre de décodae pour t=... Le métrique cumulée ont affichée ur le côté droit de la fenêtre. Le chemin urvivant ont deiné en line continue. t
Codae de canal et turbo-code 3// / + + + + + Fiure 7 : Etat de la fenêtre à l intant 3 Fiure 8 : Etat de la fenêtre à l intant 3 3 Fiure 9 : Etat de la fenêtre à l intant 3 4 4 4 Fiure : Etat de la fenêtre à l intant 9 5 5 5 Fiure : Etat de la fenêtre à l intant 5.. L alorithme de Viterbi à ortie ouple (SOVA) L alorithme de Viterbi peut être modifié afin de fournir à a ortie une valeur de confiance ou de fiabilité (approximant une probabilité a poteriori) aociée à chaque bit décodé. La valeur de bit décodé et touour donnée par le chemin ayant la métrique cumulée minimale fourni par l alorithme claique. Le valeur de confiance produite par le VA modifié peuvent être par exemple utiliée par le décodae à entrée ouple d un code externe. Malré a ou-optimalité, le SOVA préente de performance proche de l alorithme Forward-Backward qui calcule de manière exacte le probabilité a poteriori de bit décodé. Pour implifier la decription du SOVA, plaçon nou dan le ca d un code convolutif binaire de rendement /n. Nou avon aini deux tranition partant de et arrivant à chaque état dan le treilli. Le nombre d état du treilli et noté S= ν où ν=l- et la mémoire du code. Suppoon que le VA claique prenne de déciion avec un délai W uffiamment rand pour que le ν urvivant converent ver le même chemin avec une trè rande probabilité. A l intant t, l alorithme de
Codae de canal et turbo-code 3// / Viterbi doit choiir un urvivant pour l état l < S. Ceci et illutré par la Fiure. Le VA électionne le chemin ayant la plu petite métrique cumulée. Dan le ca où le canal et un canal auien (AWGN) à ortie ouple, le métrique cumulée expriment ou la forme : M m ( r x = N m) E = N t n ( m) ( ri xi ) = t W i= m =, où x i (m) et le i-ème bit codé à l intant parmi le n bit aocié à une branche du chemin d indice m arrivant à l état t. L échantillon r i et l obervation en ortie du canal correpondant au bit numéro i à l intant. Nou uppoon que le ymbole (confondu avec le bit) appartiennent à une modulation BPSK, i.e. x = ± où E et l énerie moyenne par ymbole codé ur fréquence porteue. En mettant en facteur i E, nou écrivon le ymbole ou la forme x = ± d où le rapport E /N. E i Avec le notation définie ci-deu, la probabilité que le chemin m oit émi achant que l obervation et proportionnelle à la probabilité conditionnelle de l obervation achant le chemin m émi : M P chemin m obervation α e ( ) m Nou indexon arbitrairement le chemin ayant la métrique cumulée minimale par m=. Aini nou avon M M et le VA choiit le chemin urvivant d indice. Aprè normaliation par la omme de probabilité de deux ca poible, la probabilité de choiir le mauvai chemin urvivant, à l intant t et pour l état t, et éale à : M e p t = = = M M M M e + e + e + e avec = M M. Cette probabilité approche.5 i M M et tend ver i M >>M. L alorithme de Viterbi commettra de erreur avec une probabilité p t ur le e poition où le chemin et ont de bit () () d information différent u u pour le poition =,,, e.. Noton que e= dan la Fiure. Le () () poition où u =u ne ont pa affectée par la élection du urvivant. Noton Wm la lareur de la fenêtre dan le treilli où le chemin et arrivant à l état t ne ont pa confondu (voir Fiure ). Aini, nou avon e bit d information différent et W m -e bit d information identique. Noton () pˆ la probabilité que le bit u aocié au chemin de l état t oit erroné. Suppoon que le valeur de pˆ ont tockée en mémoire pour le intant =l-w m,,t-. Prenon comme valeur initiale p ˆ l = (le bit décodé rete parfaitement fiable tant que le deux chemin indiquent la même valeur). Sachant que l alorithme de Viterbi a électionné le chemin, nou pouvon mettre à our le probabilité d erreur de bit différent elon la formule : p ˆ pˆ ( p ) + ( pˆ l ) p l pour =,,, e Cette équation nou fournit une approximation de la probabilité d erreur pour le bit d information u. Même i le SOVA et incapable de fournir l APP exacte du bit u, une valeur de confiance µ et facilement obtenue à partir de pˆ : pˆ µ = lo µ < + pˆ En combinant le équation ci-deu, nou obtenon une formule de mie à our de valeur de confiance : + e µ f ( µ, ) = lo αµ α e + e Rappelon que la mie à our et effectuée ur le poition =,,, e. Le facteur α introduit dan la fonction f() permet d éviter le débordement de la valeur de confiance à fort rapport inal-à-bruit. Aymptotiquement, E nou pouvon normalier la moyenne de à. en choiiant α = 4d H min où d Hmin et la ditance minimale N du code convolutif. Une approximation imple et pratique de la fonction f() et f ( µ, ) min( µ, / α) αµ +
Codae de canal et turbo-code 3// / Cette dernière formule permet une mie à our trè rapide de la valeur de confiance an même connaître la valeur du rapport E /N. Nou pouvon maintenant décrire de manière énérale le étape de l alorithme SOVA : Stockae : L indice t du temp, modulo W+ Le uite de bit décodé par déciion dure u( t )={ u l-w ( t ),, u l ( t )}, u ( t ) ± pour t < S. Le uite de valeur de confiance µ( t )={µ l-w ( t ),,µ l ( t )} avec µ ( t ) < + pour t < S. Le valeur de métrique cumulée λ(t, t ) pour t < S. Mie à our : Etape VA claique: Pour chaque état t, calculer λ(t, t ). Stocker la métrique cumulée, le urvivant et le bit décidé u t ( t ). Etape de déciion à ortie ouple: Pour chaque état t, tocker la différence de deux métrique [ λ ( t, ) + d ( T (, ), obervation) ] max λ( t, ) d ( T (, ), obervation) [ ] = max + t t t t t t Initialier µ t ( t )=+. Pour =t-ν en arrière uqu à t-w m, comparer le deux chemin converent en t et i u () (t ) u () (t ) mettre à our le fiabilité par la formule µ ( t )=f(µ ( t ), ). Sortie ferme et ouple : L alorithme fournit une ortie ferme : le bit décodé u t-w aocié au meilleur urvivant de métrique minimale λ(t, t ) parmi tou le état t. pˆ t W L alorithme fournit une ortie ouple : la valeur ouple u t-w µ t-w où µ t W = lo pˆ t W et la valeur de confiance à l intant t-w du meilleur urvivant. + + S état - + - + m= l - + m= l-w l-w m - l Fiure : Exemple d un treilli décodé par le SOVA.