Les Codes Convolutonnels Code Convolutíonnel : codage à partr des bts d'nformaton de pluseurs blocs Plus smples à coder et à décoder que les codes de blocs lorsque n est élevé m m m m Codes pour applcatons où une grande pussance de détecton et de correcton est requse n n n n Exemple : Code Convolutonnel (,) Bts code y, bt d'nformaton bts de code Addtonneurs molo,, + x, Bts d'nformaton x, x + Regstre Regstre x - x - y, y, Les Codes Convolutonnels Dagramme d'etat nœud état partculer des regstres codeur branche changement d'état codeur en foncton de l'arrvée d'un nouveau bt /0 0/ /0 0/ Exemple : regstres 4 états possbles 4 noeuds dagramme d'état 0/ /0 0/0 / Dagramme en Trells x x x x 4 0 0 0 0 0 transton d'un état au suvant : lgne plene (bt=) ou pontllé (bt=0) + ndcaton mot prot codeur 0 0 0 0 0 0
Les Codes Convolutonnels Codes séparables ou non Bts code y = x, Exemple précédent : code non séparable car bt code = f (pluseurs bts d'nfo.) y, Exemple de code séparable : Bts d'nformaton x, x + Regstre Regstre x - x - y, Longueur de contraínte L d'un code = nombre de bts code affectés par un bt d'nfo. S n bts et s codeur k- regstres L = n k (jusqu au départ regstre) Rendement d un code : S bt d'nfo. n bts de code : Code (n,) R=/n auss Codes (n,m) : bloc de m bts d'nfo. n bts de code codeur regstres à m bts au leu de bt ; dagramme : nœud m branches Prncpe de la Détecton et de la Correcton Exemple :,, + x, + y,,,,,,, Bloc ( y,, y,, y, ) estmaton de x, x, x Bloc + ( y, +, y, +, y, + ) + y +, +, +, +, +, +, +, + Bloc + estmaton de x +, x +, x ( = L ) estmatons dfférentes de x, à partr de bts de code dfférents S pas d'erreurs estmatons estmatons présence d erreurs S! erreur une des valeurs est fausse et corrgée à l'ade des autres (majorté)
Prncpe de la Détecton et de la Correcton Exemple : Crcut de détecton et de correcton Code Convolutonnel (,) regstres à décalage de bts addtonneurs molo y,+ y y,+,+ y,+ y y,+,+ Regstres à décalage ( bts) y,+ y y y,+,+, y y,, estmatons courantes de x détecton & correct. d'erreurs x () x () x () Estmateur Détecteur d'erreurs Codeur de type détermnste Correcteur x En pratque : Méthodes Probablstes meux exploter les possbltés des codes convol. Algorthme de VITERBI ou Décodage Séquentel Algorthme de Vterb Codeur, à l arrvée bloc d'nfo. x t : Etat Q Q+, avec émsson de y t (n bts) t possblté de détermner le mot de code y le codeur est passé de l'état Q à l'état Q+ (et donc le mot d'ínformaton x t ), sachant que /0 Exemple : Code (,) 0/ /0 S état codeur : 0/ arrvée mot d'nformaton «0» et génératon par le codeur mot 0/ /0 / 0/0 Vterb Décoder y t en estmant la séquence des états Q t à l orgne de Q t t t Mnmser la dstance d( y, y ) entre séquences d émsson estmée et reçue
Algorthme de Vterb Dagramme en Trells x x x x 4 0 0 étage, ne converver que le melleur chemn qu cont à un état donné Ce chemn correspond à la plus fable dstance entre la séquence observée y t et les séquences possbles Etat codeur 0 0 0 0 0 0 0 0 0 Dstance globale en un noeud (état@étage) = somme des dstances locales selon le chemn suv pour attendre ce noeud Dstance locale = dstance entre le mot de code reçu et le mot assocé à la branche consdérée La procére démarre au premer étage où pluseurs chemns sont possbles pour aboutr à un même état S tous les chemns possbles passent par un même état ntermédare : le chemn qu cont à cet état ntermédare représente une parte mot décodé Algorthme de Vterb Exemple : Code (,) (s regstres ntalsés à 0) Sot x t = [ 0 0 L] Séquence y t des mots de code : y t = [ 0 0 ] Sot e t = [ 0 0 0 0] Mot reçu : y t = y t + e t = [ 0 0 ] er étage où état chemns d'arrvée = étage Etage 0 Etage Etage Etage Etage 4 Etage, état : noeud D attent par ABCD ou AED C 0 D 0 0 0 0 4 4 0 0 B A 0 E 0 0 4 0 6
Algorthme de Vterb Etage 0 Etage Etage Etage Etage 4 C 0 D 0 0 0 0 4 4 0 0 B A 0 E 0 0 4 0 6 Mot reçu 0 0 Dstance Globale éms AB : BC : 0 CD : 0 Mot de code dstance = dstance = dstance = AE : 0 dstance = E : dstance = D : 0 dstance = 0 Dstance globale AED = = chemn le plus court, et le chemn ABCD est élmné Algorthme de Vterb De même états possbles de l'étage, ensute de l étage 4, etc A la fn de l étage 4 chemns survvants passent par la branche AE AE = pont de passage oblgé, et le mot de code correspondant peut être consdéré comme l'estmaton mot éms Etage 0 Etage Etage Etage Etage 4 C 0 D 0 0 0 0 mot décodé = 0 premer mot éms : OK (en dépt de l'erreur e t ) 4 4 0 0 B A 0 E 0 0 4 0 6
Décodage Séquentel Algorthme de VITERBI : Suvre toutes les séquences survvantes pendant tout le processus de décodage Besons élevés en mémore & capacté calcul pour codes de longueur de contrante >> Décodage Séquentel : Rére en moyenne la complexté de calcul, en effectuant une sute d'essas de décodage drect, au leu d une analyse systématque des chemns t t Mesurer à chaque étape la dstance d( y, y ) drectement une séquence d états t t Exemple : ( ) sur le chemn parcouru, et construre t = d y, y αn pb < α < Où p B = probablté d'erreur bt α = constante A l'étape, le codeur a transms n bts, avec en moyenne p B n bts en erreur S chox de α > pb en moyenne, t tend à dmnuer lorsque le chemn avance, à condton que celu-c sot correct s t augmente, le chemn est consdéré comme ncorrect S t > seul revenr en arrère et chercher un autre chemn Décodage Séquentel Exemple : (état ntal codeur = 0) Sot x t = [ 0 0 L] y t = [ 0 0 L] S e t = [ 0 0 0 0 L] Mot reçu : y t = [ 0 0 L] Sot α = / et n = αn = Au départ noeud A, transtons possbles : S AB : t = - = S AE : t = - = 0 Chox provsore chemn AE, avec t = 0 Au départ noeud E état ou : Etage 0 Etage Etage Etage Etage 4 D t =- S : t = 0 + - = 0 S : t = 0 + - = 0 t =- 4 S Chox de l'état (Nœud ) t =0 A t =0 0 E
Décodage Séquentel Ce processus de décodage se poursut tant que t < seul (ce qu est e cas c, et le chemn parcouru AEDS correspond ben au code éms) S t > seul revenr en arrère de pluseurs postons, et recommencer la procére en chosssant l'autre branche qu part de ce pont Envsager essas successfs répétés approcher au meux la dstance mnmum Charge de calcul très fable lorsque le taux d'erreurs est fable (le bon chemn peut être trouvé dès le premer essa) Charge de calcul augmente fortement avec le taux d'erreurs car nombreux retours en arrère