Introduction Principe turbo Blocs SISO (Soft Input Soft Output) Exemple d’un code produit Une introduction au principe turbo. Jean-Marc Brossier 2006 Jean-Marc Brossier Une introduction au principe turbo. Introduction Principe turbo Blocs SISO (Soft Input Soft Output) Exemple d’un code produit 1 Introduction 2 Principe turbo Codeur et décodeur Lien avec les graphes 3 Blocs SISO (Soft Input Soft Output) L’information souple et son utilisation Cas des codes convolutifs Cas des codes en bloc 4 Exemple d’un code produit Jean-Marc Brossier Une introduction au principe turbo. Introduction Principe turbo Blocs SISO (Soft Input Soft Output) Exemple d’un code produit Atteindre la capacité ... C’est possible ... mais comment ? Exploiter l’intervalle entre le débit de la source et la capacité : codage Claude Shannon, 1953 A scheme of coding and decoding can be found allowing correction of all transmission errors, if the information rate is inferior or equal to the channel capacity. Jean-Marc Brossier Une introduction au principe turbo. Introduction Principe turbo Blocs SISO (Soft Input Soft Output) Exemple d’un code produit Atteindre la capacité ... C’est possible ... mais comment ? Exploiter l’intervalle entre le débit de la source et la capacité : codage Claude Shannon, 1953 A scheme of coding and decoding can be found allowing correction of all transmission errors, if the information rate is inferior or equal to the channel capacity. Jean-Marc Brossier Une introduction au principe turbo. Introduction Principe turbo Blocs SISO (Soft Input Soft Output) Exemple d’un code produit Atteindre la capacité ... C’est possible ... mais comment ? Exploiter l’intervalle entre le débit de la source et la capacité : codage Claude Shannon, 1953 A scheme of coding and decoding can be found allowing correction of all transmission errors, if the information rate is inferior or equal to the channel capacity. Jean-Marc Brossier Une introduction au principe turbo. Introduction Principe turbo Blocs SISO (Soft Input Soft Output) Exemple d’un code produit Codeur et décodeur Lien avec les graphes Turbo encodeur Encodeur série u Données Entrelaceur Code 1 p Code 2 q Deux petits codes systématiques en forment un grand Données u Redondance du premier encodeur p Redondance du second encodeur q Jean-Marc Brossier Une introduction au principe turbo. Introduction Principe turbo Blocs SISO (Soft Input Soft Output) Exemple d’un code produit Codeur et décodeur Lien avec les graphes Turbo encodeur Encodeur série u Données Entrelaceur Code 1 p Code 2 q Deux petits codes systématiques en forment un grand Données u Redondance du premier encodeur p Redondance du second encodeur q Jean-Marc Brossier Une introduction au principe turbo. Introduction Principe turbo Blocs SISO (Soft Input Soft Output) Exemple d’un code produit Codeur et décodeur Lien avec les graphes Turbo encodeur Encodeur série u Données Entrelaceur Code 1 p Code 2 q Deux petits codes systématiques en forment un grand Données u Redondance du premier encodeur p Redondance du second encodeur q Jean-Marc Brossier Une introduction au principe turbo. Introduction Principe turbo Blocs SISO (Soft Input Soft Output) Exemple d’un code produit Codeur et décodeur Lien avec les graphes Turbo encodeur Encodeur série u Données Entrelaceur Code 1 p Code 2 q Deux petits codes systématiques en forment un grand Données u Redondance du premier encodeur p Redondance du second encodeur q Jean-Marc Brossier Une introduction au principe turbo. Introduction Principe turbo Blocs SISO (Soft Input Soft Output) Exemple d’un code produit Codeur et décodeur Lien avec les graphes Turbo décodeur Décodeur associé Décodeur itératif Les décodeurs fournissent une première estimation. u p E Décodeur 1 Décodeur 2 E D Chacun communique ses résultats à l’autre pour une nouvelle passe. Les décodeurs 1 et 2 fournissent une seconde estimation. Chacun communique ses résultats à l’autre etc. q Jean-Marc Brossier Une introduction au principe turbo. Introduction Principe turbo Blocs SISO (Soft Input Soft Output) Exemple d’un code produit Codeur et décodeur Lien avec les graphes Turbo décodeur Décodeur associé Décodeur itératif Les décodeurs fournissent une première estimation. u p E Décodeur 1 Décodeur 2 E D Chacun communique ses résultats à l’autre pour une nouvelle passe. Les décodeurs 1 et 2 fournissent une seconde estimation. Chacun communique ses résultats à l’autre etc. q Jean-Marc Brossier Une introduction au principe turbo. Introduction Principe turbo Blocs SISO (Soft Input Soft Output) Exemple d’un code produit Codeur et décodeur Lien avec les graphes Turbo décodeur Décodeur associé Décodeur itératif Les décodeurs fournissent une première estimation. u p E Décodeur 1 Décodeur 2 E D Chacun communique ses résultats à l’autre pour une nouvelle passe. Les décodeurs 1 et 2 fournissent une seconde estimation. Chacun communique ses résultats à l’autre etc. q Jean-Marc Brossier Une introduction au principe turbo. Introduction Principe turbo Blocs SISO (Soft Input Soft Output) Exemple d’un code produit Codeur et décodeur Lien avec les graphes Turbo décodeur Décodeur associé Décodeur itératif Les décodeurs fournissent une première estimation. u p E Décodeur 1 Décodeur 2 E D Chacun communique ses résultats à l’autre pour une nouvelle passe. Les décodeurs 1 et 2 fournissent une seconde estimation. Chacun communique ses résultats à l’autre etc. q Jean-Marc Brossier Une introduction au principe turbo. Introduction Principe turbo Blocs SISO (Soft Input Soft Output) Exemple d’un code produit Codeur et décodeur Lien avec les graphes Turbo décodeur Décodeur associé Décodeur itératif Les décodeurs fournissent une première estimation. u p E Décodeur 1 Décodeur 2 E D Chacun communique ses résultats à l’autre pour une nouvelle passe. Les décodeurs 1 et 2 fournissent une seconde estimation. Chacun communique ses résultats à l’autre etc. q Jean-Marc Brossier Une introduction au principe turbo. Introduction Principe turbo Blocs SISO (Soft Input Soft Output) Exemple d’un code produit Codeur et décodeur Lien avec les graphes Graphe du turbo-code Graphe du code 1 0 2 1 1 3 2 2 4 3 3 4 Codeur 1 Entrées Entrelaceur 0 1 1 2 2 3 3 4 Codeur 2 4 Jean-Marc Brossier Une introduction au principe turbo. Introduction Principe turbo Blocs SISO (Soft Input Soft Output) Exemple d’un code produit Codeur et décodeur Lien avec les graphes Graphe du turbo-code Graphe du code 1 0 2 1 1 3 2 2 4 3 3 4 Codeur 1 Entrées Entrelaceur 0 1 1 2 2 3 3 4 Codeur 2 Propriétés du graphe Graphe avec cycles : l’algorithme somme-produit n’est pas directement applicable. 4 Jean-Marc Brossier Une introduction au principe turbo. Introduction Principe turbo Blocs SISO (Soft Input Soft Output) Exemple d’un code produit Codeur et décodeur Lien avec les graphes Graphe du turbo-code Graphe du code 1 0 2 1 1 3 2 2 4 3 3 Adaptation de l’algorithme somme-produit Remède théorique : 4 Codeur 1 Entrées Remède empirique : Entrelaceur 0 1 1 2 2 3 3 4 Remplacer le graphe par son équivalent acyclique. Beaucoup trop lourd. Codeur 2 4 Jean-Marc Brossier Choix d’un ordonnancement. Itérer plusieurs fois l’algorithme. Une introduction au principe turbo. Introduction Principe turbo Blocs SISO (Soft Input Soft Output) Exemple d’un code produit Codeur et décodeur Lien avec les graphes Graphe du turbo-code Graphe du code 1 0 2 1 1 3 2 2 4 3 3 Adaptation de l’algorithme somme-produit Remède théorique : 4 Codeur 1 Entrées Remède empirique : Entrelaceur 0 1 1 2 2 3 3 4 Remplacer le graphe par son équivalent acyclique. Beaucoup trop lourd. Codeur 2 4 Jean-Marc Brossier Choix d’un ordonnancement. Itérer plusieurs fois l’algorithme. Une introduction au principe turbo. Introduction Principe turbo Blocs SISO (Soft Input Soft Output) Exemple d’un code produit Codeur et décodeur Lien avec les graphes Graphe du turbo-code Graphe du code 1 0 2 1 1 3 2 2 4 3 3 Adaptation de l’algorithme somme-produit Remède théorique : 4 Codeur 1 Entrées Remède empirique : Entrelaceur 0 1 1 2 2 3 3 4 Remplacer le graphe par son équivalent acyclique. Beaucoup trop lourd. Codeur 2 4 Jean-Marc Brossier Choix d’un ordonnancement. Itérer plusieurs fois l’algorithme. Une introduction au principe turbo. Introduction Principe turbo Blocs SISO (Soft Input Soft Output) Exemple d’un code produit Codeur et décodeur Lien avec les graphes Graphe du turbo-code Graphe du code 1 0 2 1 1 3 2 2 4 3 3 Adaptation de l’algorithme somme-produit Remède théorique : 4 Codeur 1 Entrées Remède empirique : Entrelaceur 0 1 1 2 2 3 3 4 Remplacer le graphe par son équivalent acyclique. Beaucoup trop lourd. Codeur 2 4 Jean-Marc Brossier Choix d’un ordonnancement. Itérer plusieurs fois l’algorithme. Une introduction au principe turbo. Introduction Principe turbo Blocs SISO (Soft Input Soft Output) Exemple d’un code produit Codeur et décodeur Lien avec les graphes Graphe du turbo-code Graphe du code 1 0 2 1 1 3 2 2 4 3 3 Adaptation de l’algorithme somme-produit Remède théorique : 4 Codeur 1 Entrées Remède empirique : Entrelaceur 0 1 1 2 2 3 3 4 Remplacer le graphe par son équivalent acyclique. Beaucoup trop lourd. Codeur 2 4 Jean-Marc Brossier Choix d’un ordonnancement. Itérer plusieurs fois l’algorithme. Une introduction au principe turbo. Introduction Principe turbo Blocs SISO (Soft Input Soft Output) Exemple d’un code produit Codeur et décodeur Lien avec les graphes Graphe du turbo-code Graphe du code 1 0 2 1 1 3 2 2 4 3 3 Adaptation de l’algorithme somme-produit Remède théorique : 4 Codeur 1 Entrées Remède empirique : Entrelaceur 0 1 1 2 2 3 3 4 Remplacer le graphe par son équivalent acyclique. Beaucoup trop lourd. Codeur 2 4 Jean-Marc Brossier Choix d’un ordonnancement. Itérer plusieurs fois l’algorithme. Une introduction au principe turbo. Introduction Principe turbo Blocs SISO (Soft Input Soft Output) Exemple d’un code produit Codeur et décodeur Lien avec les graphes Graphe du turbo-code Graphe du code 1 0 2 1 1 3 2 2 4 3 3 Adaptation de l’algorithme somme-produit Remède théorique : 4 Codeur 1 Entrées Remède empirique : Entrelaceur 0 1 1 2 2 3 3 4 Remplacer le graphe par son équivalent acyclique. Beaucoup trop lourd. Codeur 2 4 Jean-Marc Brossier Choix d’un ordonnancement. Itérer plusieurs fois l’algorithme. Une introduction au principe turbo. Introduction Principe turbo Blocs SISO (Soft Input Soft Output) Exemple d’un code produit Codeur et décodeur Lien avec les graphes Graphe du turbo-code Graphe du code 1 0 2 1 1 3 2 2 4 3 3 Ordonnancement classique Décodage souple du premier code. 4 Codeur 1 Entrées Entrelaceur 0 1 1 2 2 3 3 4 Codeur 2 4 Jean-Marc Brossier Décodage souple du second code. Échange d’information souple entre les deux codes. Renouveler “plusieurs fois” les étapes précédentes. Une introduction au principe turbo. Introduction Principe turbo Blocs SISO (Soft Input Soft Output) Exemple d’un code produit Codeur et décodeur Lien avec les graphes Graphe du turbo-code Graphe du code 1 0 2 1 1 3 2 2 4 3 3 4 Codeur 1 En pratique Performances excellentes. Entrées Entrelaceur 0 1 1 2 2 3 3 4 Codeur 2 4 Jean-Marc Brossier Une introduction au principe turbo. Introduction Principe turbo Blocs SISO (Soft Input Soft Output) Exemple d’un code produit L’information souple et son utilisation Cas des codes convolutifs Cas des codes en bloc Notion d’information souple Qu’est-ce qu’une information souple ? Typiquement, un rapport de vraisemblance logarithmique. Exemple du canal à bruit additif gaussien la sortie est de la forme r = x + b avec x = ±1 et b v.a. normale centrée et de variance σ 2 . LLR (Log Likelihood Ratio) : log p (r | + 1) = log p (r | − 1) √1 σ 2π √1 σ 2π −1)2 exp − (r2σ 2 2 = 2 r (r +1)2 σ exp − 2σ2 Interprétation : Le signe LLR est la sortie dure (décidée) Son module reflète la fiabilité de la décision Jean-Marc Brossier Une introduction au principe turbo. Introduction Principe turbo Blocs SISO (Soft Input Soft Output) Exemple d’un code produit L’information souple et son utilisation Cas des codes convolutifs Cas des codes en bloc Notion d’information souple Qu’est-ce qu’une information souple ? Typiquement, un rapport de vraisemblance logarithmique. Exemple du canal à bruit additif gaussien la sortie est de la forme r = x + b avec x = ±1 et b v.a. normale centrée et de variance σ 2 . LLR (Log Likelihood Ratio) : log p (r | + 1) = log p (r | − 1) √1 σ 2π √1 σ 2π −1)2 exp − (r2σ 2 2 = 2 r (r +1)2 σ exp − 2σ2 Interprétation : Le signe LLR est la sortie dure (décidée) Son module reflète la fiabilité de la décision Jean-Marc Brossier Une introduction au principe turbo. Introduction Principe turbo Blocs SISO (Soft Input Soft Output) Exemple d’un code produit L’information souple et son utilisation Cas des codes convolutifs Cas des codes en bloc Modélisation de l’entrée du décodeur Mot transmis X = (X1 , · · · , Xn ) Mot analogique reçu R = (LLR1 , · · · , LLRn ) Décomposition en parties dures et fiabilités Observations dures : Le signe du LLR définit le mot dur : Yi = sgn [LLRi ] Les LLRi sont des LLR Itération 1 : les informations peuvent être dures ou souples. Itérations suivantes : les informations sont souples. Jean-Marc Brossier Fiabilités : Le module du LLR définit les fiabilités : αi = |LLRi | Une introduction au principe turbo. Introduction Principe turbo Blocs SISO (Soft Input Soft Output) Exemple d’un code produit L’information souple et son utilisation Cas des codes convolutifs Cas des codes en bloc Modélisation de l’entrée du décodeur Mot transmis X = (X1 , · · · , Xn ) Mot analogique reçu R = (LLR1 , · · · , LLRn ) Décomposition en parties dures et fiabilités Observations dures : Le signe du LLR définit le mot dur : Yi = sgn [LLRi ] Les LLRi sont des LLR Itération 1 : les informations peuvent être dures ou souples. Itérations suivantes : les informations sont souples. Jean-Marc Brossier Fiabilités : Le module du LLR définit les fiabilités : αi = |LLRi | Une introduction au principe turbo. Introduction Principe turbo Blocs SISO (Soft Input Soft Output) Exemple d’un code produit L’information souple et son utilisation Cas des codes convolutifs Cas des codes en bloc Modélisation de l’entrée du décodeur Mot transmis X = (X1 , · · · , Xn ) Mot analogique reçu R = (LLR1 , · · · , LLRn ) Décomposition en parties dures et fiabilités Observations dures : Le signe du LLR définit le mot dur : Yi = sgn [LLRi ] Les LLRi sont des LLR Itération 1 : les informations peuvent être dures ou souples. Itérations suivantes : les informations sont souples. Jean-Marc Brossier Fiabilités : Le module du LLR définit les fiabilités : αi = |LLRi | Une introduction au principe turbo. Introduction Principe turbo Blocs SISO (Soft Input Soft Output) Exemple d’un code produit L’information souple et son utilisation Cas des codes convolutifs Cas des codes en bloc Modélisation de l’entrée du décodeur Mot transmis X = (X1 , · · · , Xn ) Mot analogique reçu R = (LLR1 , · · · , LLRn ) Décomposition en parties dures et fiabilités Observations dures : Le signe du LLR définit le mot dur : Yi = sgn [LLRi ] Les LLRi sont des LLR Itération 1 : les informations peuvent être dures ou souples. Itérations suivantes : les informations sont souples. Jean-Marc Brossier Fiabilités : Le module du LLR définit les fiabilités : αi = |LLRi | Une introduction au principe turbo. Introduction Principe turbo Blocs SISO (Soft Input Soft Output) Exemple d’un code produit L’information souple et son utilisation Cas des codes convolutifs Cas des codes en bloc Modélisation de l’entrée du décodeur Mot transmis X = (X1 , · · · , Xn ) Mot analogique reçu R = (LLR1 , · · · , LLRn ) Décomposition en parties dures et fiabilités Observations dures : Le signe du LLR définit le mot dur : Yi = sgn [LLRi ] Les LLRi sont des LLR Itération 1 : les informations peuvent être dures ou souples. Itérations suivantes : les informations sont souples. Jean-Marc Brossier Fiabilités : Le module du LLR définit les fiabilités : αi = |LLRi | Une introduction au principe turbo. Introduction Principe turbo Blocs SISO (Soft Input Soft Output) Exemple d’un code produit L’information souple et son utilisation Cas des codes convolutifs Cas des codes en bloc Modélisation de l’entrée du décodeur Mot transmis X = (X1 , · · · , Xn ) Mot analogique reçu R = (LLR1 , · · · , LLRn ) Décomposition en parties dures et fiabilités Observations dures : Le signe du LLR définit le mot dur : Yi = sgn [LLRi ] Les LLRi sont des LLR Itération 1 : les informations peuvent être dures ou souples. Itérations suivantes : les informations sont souples. Jean-Marc Brossier Fiabilités : Le module du LLR définit les fiabilités : αi = |LLRi | Une introduction au principe turbo. Introduction Principe turbo Blocs SISO (Soft Input Soft Output) Exemple d’un code produit L’information souple et son utilisation Cas des codes convolutifs Cas des codes en bloc Modélisation de l’entrée du décodeur Mot transmis X = (X1 , · · · , Xn ) Mot analogique reçu R = (LLR1 , · · · , LLRn ) Décomposition en parties dures et fiabilités Observations dures : Le signe du LLR définit le mot dur : Yi = sgn [LLRi ] Les LLRi sont des LLR Itération 1 : les informations peuvent être dures ou souples. Itérations suivantes : les informations sont souples. Jean-Marc Brossier Fiabilités : Le module du LLR définit les fiabilités : αi = |LLRi | Une introduction au principe turbo. Introduction Principe turbo Blocs SISO (Soft Input Soft Output) Exemple d’un code produit L’information souple et son utilisation Cas des codes convolutifs Cas des codes en bloc Modélisation de l’entrée du décodeur Mot transmis X = (X1 , · · · , Xn ) Mot analogique reçu R = (LLR1 , · · · , LLRn ) Décomposition en parties dures et fiabilités Observations dures : Le signe du LLR définit le mot dur : Yi = sgn [LLRi ] Les LLRi sont des LLR Itération 1 : les informations peuvent être dures ou souples. Itérations suivantes : les informations sont souples. Jean-Marc Brossier Fiabilités : Le module du LLR définit les fiabilités : αi = |LLRi | Une introduction au principe turbo. Introduction Principe turbo Blocs SISO (Soft Input Soft Output) Exemple d’un code produit L’information souple et son utilisation Cas des codes convolutifs Cas des codes en bloc Types de décodeurs Notations Vecteur des erreurs Z m = Y ⊕ X m n P Zim Poids des erreurs W (Z m ) = i=1 Poids souple (analogique) Wα (Z m ) = Pn m i=1 αi Zi . Décodeur incomplet (à entrée dure) Seule la partie dure de l’information est exploitée. Recherche du mot de code X m = (X1m , · · · , Xnm ) le plus proche de Y = (Y1 , · · · , Yn ) au sens de la distance de Hamming. 1 mot trouvé si W (Z m ) ≤ dmin2−1 sinon aucun mot. La décision est correcte si le nombre d’erreurs est plus faible que dmin2 −1 . Jean-Marc Brossier Une introduction au principe turbo. Introduction Principe turbo Blocs SISO (Soft Input Soft Output) Exemple d’un code produit L’information souple et son utilisation Cas des codes convolutifs Cas des codes en bloc Types de décodeurs Notations Vecteur des erreurs Z m = Y ⊕ X m n P Zim Poids des erreurs W (Z m ) = i=1 Poids souple (analogique) Wα (Z m ) = Pn m i=1 αi Zi . Décodeur complet (à entrée souple) Toute l’information est utilisée. Décodeur complet : minm W (Y ⊕ X m ) peut donnerjun mot k d −1 de code même si le nombre d’erreurs est supérieur à min 2 Décodeur souple complet : minm Wα (Y ⊕ X m ) avec le poids analogique Wα (Z m ). Jean-Marc Brossier Une introduction au principe turbo. Introduction Principe turbo Blocs SISO (Soft Input Soft Output) Exemple d’un code produit L’information souple et son utilisation Cas des codes convolutifs Cas des codes en bloc Turbo-codes convolutifs avec entrée et sortie souple Entrée souple Aucune modification de l’algorithme de Viterbi n’est nécessaire. Une simple adaptation de la métrique de branche permet une prise en compte naturelle des entrées souples. Sortie souple Une adaptation de l’algorithme de Viterbi est requise : Soft Output Viterbi Algorithm (SOVA) Idée : conserver les chemins concurrents : plus le concurrent est proche, moins la décision est fiable. Jean-Marc Brossier Une introduction au principe turbo. Introduction Principe turbo Blocs SISO (Soft Input Soft Output) Exemple d’un code produit L’information souple et son utilisation Cas des codes convolutifs Cas des codes en bloc Turbo-codes convolutifs avec entrée et sortie souple Entrée souple Aucune modification de l’algorithme de Viterbi n’est nécessaire. Une simple adaptation de la métrique de branche permet une prise en compte naturelle des entrées souples. Sortie souple Une adaptation de l’algorithme de Viterbi est requise : Soft Output Viterbi Algorithm (SOVA) Idée : conserver les chemins concurrents : plus le concurrent est proche, moins la décision est fiable. Jean-Marc Brossier Une introduction au principe turbo. Introduction Principe turbo Blocs SISO (Soft Input Soft Output) Exemple d’un code produit L’information souple et son utilisation Cas des codes convolutifs Cas des codes en bloc Turbo-codes convolutifs avec entrée et sortie souple Entrée souple Aucune modification de l’algorithme de Viterbi n’est nécessaire. Une simple adaptation de la métrique de branche permet une prise en compte naturelle des entrées souples. Sortie souple Une adaptation de l’algorithme de Viterbi est requise : Soft Output Viterbi Algorithm (SOVA) Idée : conserver les chemins concurrents : plus le concurrent est proche, moins la décision est fiable. Jean-Marc Brossier Une introduction au principe turbo. Introduction Principe turbo Blocs SISO (Soft Input Soft Output) Exemple d’un code produit L’information souple et son utilisation Cas des codes convolutifs Cas des codes en bloc Turbo-codes en bloc avec entrée et sortie souple Entrée souple. Sortie souple. Jean-Marc Brossier Une introduction au principe turbo. Introduction Principe turbo Blocs SISO (Soft Input Soft Output) Exemple d’un code produit L’information souple et son utilisation Cas des codes convolutifs Cas des codes en bloc Turbo-codes en bloc avec entrée et sortie souple Entrée souple. Algorithme de Chase Une décision sur le vecteur R reçu donne Y qui par décodage dur produit un mot XA. Un décodeur incomplet s’arrête là. Si les fiabilités sont connues, il est possible de raffiner : Repérer quelques positions «faibles» (LLR les plus faibles) Modifier Y en ces positions et produire un petit nombre de mots candidats par décodage dur de Y modifié. Sélectionner le mot à distance analogique minimale. Sortie souple. Jean-Marc Brossier Une introduction au principe turbo. Introduction Principe turbo Blocs SISO (Soft Input Soft Output) Exemple d’un code produit L’information souple et son utilisation Cas des codes convolutifs Cas des codes en bloc Turbo-codes en bloc avec entrée et sortie souple Entrée souple. Algorithme de Chase Une décision sur le vecteur R reçu donne Y qui par décodage dur produit un mot XA. Un décodeur incomplet s’arrête là. Si les fiabilités sont connues, il est possible de raffiner : Repérer quelques positions «faibles» (LLR les plus faibles) Modifier Y en ces positions et produire un petit nombre de mots candidats par décodage dur de Y modifié. Sélectionner le mot à distance analogique minimale. Sortie souple. Jean-Marc Brossier Une introduction au principe turbo. Introduction Principe turbo Blocs SISO (Soft Input Soft Output) Exemple d’un code produit L’information souple et son utilisation Cas des codes convolutifs Cas des codes en bloc Turbo-codes en bloc avec entrée et sortie souple Entrée souple. Algorithme de Chase Une décision sur le vecteur R reçu donne Y qui par décodage dur produit un mot XA. Un décodeur incomplet s’arrête là. Si les fiabilités sont connues, il est possible de raffiner : Repérer quelques positions «faibles» (LLR les plus faibles) Modifier Y en ces positions et produire un petit nombre de mots candidats par décodage dur de Y modifié. Sélectionner le mot à distance analogique minimale. Sortie souple. Jean-Marc Brossier Une introduction au principe turbo. Introduction Principe turbo Blocs SISO (Soft Input Soft Output) Exemple d’un code produit L’information souple et son utilisation Cas des codes convolutifs Cas des codes en bloc Turbo-codes en bloc avec entrée et sortie souple Entrée souple. Algorithme de Chase Une décision sur le vecteur R reçu donne Y qui par décodage dur produit un mot XA. Un décodeur incomplet s’arrête là. Si les fiabilités sont connues, il est possible de raffiner : Repérer quelques positions «faibles» (LLR les plus faibles) Modifier Y en ces positions et produire un petit nombre de mots candidats par décodage dur de Y modifié. Sélectionner le mot à distance analogique minimale. Sortie souple. Jean-Marc Brossier Une introduction au principe turbo. Introduction Principe turbo Blocs SISO (Soft Input Soft Output) Exemple d’un code produit L’information souple et son utilisation Cas des codes convolutifs Cas des codes en bloc Turbo-codes en bloc avec entrée et sortie souple Entrée souple. Algorithme de Chase Une décision sur le vecteur R reçu donne Y qui par décodage dur produit un mot XA. Un décodeur incomplet s’arrête là. Si les fiabilités sont connues, il est possible de raffiner : Repérer quelques positions «faibles» (LLR les plus faibles) Modifier Y en ces positions et produire un petit nombre de mots candidats par décodage dur de Y modifié. Sélectionner le mot à distance analogique minimale. Sortie souple. Jean-Marc Brossier Une introduction au principe turbo. Introduction Principe turbo Blocs SISO (Soft Input Soft Output) Exemple d’un code produit L’information souple et son utilisation Cas des codes convolutifs Cas des codes en bloc Turbo-codes en bloc avec entrée et sortie souple Entrée souple. Algorithme de Chase Une décision sur le vecteur R reçu donne Y qui par décodage dur produit un mot XA. Un décodeur incomplet s’arrête là. Si les fiabilités sont connues, il est possible de raffiner : Repérer quelques positions «faibles» (LLR les plus faibles) Modifier Y en ces positions et produire un petit nombre de mots candidats par décodage dur de Y modifié. Sélectionner le mot à distance analogique minimale. Sortie souple. Jean-Marc Brossier Une introduction au principe turbo. Introduction Principe turbo Blocs SISO (Soft Input Soft Output) Exemple d’un code produit L’information souple et son utilisation Cas des codes convolutifs Cas des codes en bloc Turbo-codes en bloc avec entrée et sortie souple Entrée souple. Sortie souple. Jean-Marc Brossier Une introduction au principe turbo. Introduction Principe turbo Blocs SISO (Soft Input Soft Output) Exemple d’un code produit L’information souple et son utilisation Cas des codes convolutifs Cas des codes en bloc Turbo-codes en bloc avec entrée et sortie souple Entrée souple. Sortie souple. Algorithme de Pyndiah pour le calcul des fiabilités Λ (dj ) = log P (aj = +1|R) P (aj = −1|R) Fiabilités E = C i |R P i C i ∈Sj+1 P R|E = C Λ (dj ) = log P i C i ∈Sj−1 P (R|E = C ) 2 1 n |R−C i | i √ avec P R|E = C = exp − 2σ2 2πσ P (aj = ±1|R) = P C i ∈Sj±1 mots :cji =±1 P Jean-Marc Brossier Une introduction au principe turbo. Introduction Principe turbo Blocs SISO (Soft Input Soft Output) Exemple d’un code produit L’information souple et son utilisation Cas des codes convolutifs Cas des codes en bloc Turbo-codes en bloc avec entrée et sortie souple Entrée souple. Sortie souple. Algorithme de Pyndiah pour le calcul des fiabilités Λ (dj ) = log P (aj = +1|R) P (aj = −1|R) Fiabilités E = C i |R P i C i ∈Sj+1 P R|E = C Λ (dj ) = log P i C i ∈Sj−1 P (R|E = C ) 2 1 n |R−C i | i √ avec P R|E = C = exp − 2σ2 2πσ P (aj = ±1|R) = P C i ∈Sj±1 mots :cji =±1 P Jean-Marc Brossier Une introduction au principe turbo. Introduction Principe turbo Blocs SISO (Soft Input Soft Output) Exemple d’un code produit L’information souple et son utilisation Cas des codes convolutifs Cas des codes en bloc Turbo-codes en bloc avec entrée et sortie souple Entrée souple. Sortie souple. Algorithme de Pyndiah pour le calcul des fiabilités Λ (dj ) = log P (aj = +1|R) P (aj = −1|R) Fiabilités approchées 1 Λ (dj ) ≈ 2 2σ 2 2 −1(j) +1(j) R − C − R − C C ±1(j) mots de Sj±1 à moindre distance Euclidienne de R. Jean-Marc Brossier Une introduction au principe turbo. Introduction Principe turbo Blocs SISO (Soft Input Soft Output) Exemple d’un code produit L’information souple et son utilisation Cas des codes convolutifs Cas des codes en bloc Turbo-codes en bloc avec entrée et sortie souple Entrée souple. Sortie souple. Algorithme de Pyndiah pour le calcul des fiabilités Λ (dj ) = log P (aj = +1|R) P (aj = −1|R) Fiabilités approchées 1 Λ (dj ) ≈ 2 2σ 2 2 −1(j) +1(j) R − C − R − C C ±1(j) mots de Sj±1 à moindre distance Euclidienne de R. Jean-Marc Brossier Une introduction au principe turbo. Introduction Principe turbo Blocs SISO (Soft Input Soft Output) Exemple d’un code produit Structure d’un code produit Produit de deux codes en bloc Jean-Marc Brossier Une introduction au principe turbo. Introduction Principe turbo Blocs SISO (Soft Input Soft Output) Exemple d’un code produit Performances du code produit Performances du turbo décodeur Courbe extraite de la thèse de Christophe Vanstraceele, ENS Cachan. Jean-Marc Brossier Une introduction au principe turbo.