Etude et résultats du comportement de convergence des codes
Transcription
Etude et résultats du comportement de convergence des codes
SETIT 2007 4th International Conference: Sciences of Electronic, Technologies of Information and Telecommunications March 25-29, 2007 – TUNISIA Etude et résultats du comportement de convergence des codes Turbo Systématiques et Partiellement Systématiques Slim Chaoui (1), Haythem Ben Cheikha (2) (1) Unité de recherche CES à l’Ecole Nationale d’Ingénieurs de Sfax - Tunisie [email protected] (2) Unité de recherche CSE à l’Ecole Polytechnique de Tunisie [email protected] Résumé : Nous présenterons une étude d’évaluation de l’influence des codes constituants du code Turbo sur le comportement de convergence du décodage itératif. En fait, nous avons distingué des codes constituants qui aboutissent à des performances surprenantes en termes de BER (Bit Error Rate) sur un canal AWGN (Additive Weight Gaussian Noise). Dans ce contexte, nous avons utilisé les EXIT-charts (EXtrinsic Information Transfer charts) pour des codes Turbo systématiques et des codes Turbo partiellement systématiques. Mots clés : AWGN, Codes Turbo partiellement systématiques, Codes Turbo systématiques, convergence, décodage itératif, EXIT-charts. de l'information extrinsèque, appelé EXIT-chart, qui décrit le comportement de convergence dans les régions où le SNR (Signal Nose Ratio) est faible. INTRODUCTION Les codes Turbo proposés par [Berrou 93] ont montré des performances considérables sur un canal AWGN. Ces codes sont systématiques avec décodage itératif utilisant le principe SISO (Soft In-Soft Out) entre les décodeurs constituants. Cet article est organisé comme suit : la première section définit les codes TPS. La deuxième section est une description théorique de l'échange de l'information mutuelle entre l'entrée et la sortie des décodeurs constituants du décodage itératif. Dans la troisième, nous présenterons l’efficacité déterminante d’un EXIT-chart pour la description du comportement de convergence des codes Turbo. La quatrième section représente les résultats du comportement de convergence des codes TPS à partir des EXIT-charts. En fin, nous clôturons avec une conclusion. Une partie importante dans cette étude est consacrée aux codes Turbo Partiellement Systématiques (TPS). Cette partie est inspirée du travail de [Chaoui 03], dans lequel l’auteur a montré qu’on peut construire des codes avec décodage itératif sans avoir besoin de transmettre la partie systématique du code. Ces codes sont nommés Convolutional Coupled Codes où la partie systématique pourrait être complètement enlever. Ceci a montré des bons résultats chez les Coupled Codes mais moins importantes chez les Turbo Codes. Néanmoins, le fait de poinçonner la partie systématique du code Turbo avec un pourcentage bien déterminé a montré qu’une amélioration au niveau de la distance minimale du code peut être atteinte [Land 00]. De ce fait, nous avons essayé de déterminer des codes constituants performants pour les codes TPS au sein d’une architecture de décodage itératif. 1. Codes Turbo Systématiques Partiellement L’encodeur de codes TPS est représenté par la figure 1. CRS u Encod 1 π Comme l’analyse d’une telle architecture à partir du diagramme conventionnel de BER est complexe et difficile, nous avons utilisé l’outil semi-analytique de [ten Brink 99]. Il s’agit d’un diagramme de transfert CRS 2 u Poinçonnage p1 p’1 p2 p’2 c Figure 1. Encodeur de codes TPS -1- u'’ c' SETIT2007 Le mot d’information u de longueur K est encodé par deux encodeurs Convolutifs Récursifs Systématiques (CRS) avec une longueur de mémoire m. Le premier encodeur est de rendement ½ où le mot de code résultant comprend le mot d’information systématique u et le mot de parité p1 ; le deuxième encodeur est de rendement ½ où le mot d’information ne sera pas transmis. Le mot d’information sera entrelacé avant de passer par le deuxième encodeur. Les deux encodeurs terminent en assurant le codage de tout le mot d’information c'est-à-dire en retournant chacune des mémoires à l’état zéro. Cependant, les bits de terminaison se diffèrent d’un encodeur à l’autre. Désentrelaceur D1 C1 ½ 0 Pρu 11 10 01 11101101 10111010 01010111 1010 1101 0111 0 1 1 A2 π M U X U M U X C2 p2 Figure 2. Modèle de l’architecture itérative CCP L’ensemble des variables (C1, D1, A1, E1, C2, D2, A2, E2) est un ensemble de LLR (Log-Likelihood Ratios). Nous avons utilisé comme décodeur constituant le décodeur MAP (Maximum A-Posteriori) ou BCJR (Bahl Cocke Jelinek Raviv). Il s’agit du décodeur SISO optimal en ce qui concerne le calcul exact de la probabilité a-posteriori [Robertson 97]. A chaque itération le premier décodeur MAP reçoit l’observation du canal (C1) et l’information a-priori (A1) pour donner à la sortie le soft a-posteriori (D1). En passant par l’antrelaceur, l’information extrinsèque résultante E1 = D1 − A1 devient l’information a-priori (A2) entrante au deuxième décodeur. L’information extrinsèque à la sortie de ce dernier E 2 = D2 − A2 devient l’information a-priori (A1) entrante au premier décodeur. Comme l’entrelaceur et le désentrelaceur ne change pas la valeur de l’information mutuelle, l’idée proposée par [ten Brink 01] prévoit le comportement du décodage itératif en regardant la relation qui existe entre les entrées/sorties des décodeurs constituants. De ce fait, nous avons utilisé la simulation dont la fonction densité de la loi probabilité de la sortie extrinsèque à valeurs dans E (respectivement l’entrée a-priori à valeurs dans A) est approchée à une loi Gaussienne en augmentant le nombre d’itérations. Il est approprié de définir l’entrée a-priori A par cette équation : Deux critères de base sont accordés à cette architecture de poinçonnage : (i) Le rendement de l’encodeur de codes TPS est Rc = ½. (ii) Les deux parties de parité sont poinçonnées de la même quantité. Soit ρ u le ratio du nombre des bits systématiques dans une architecture TPS. Ainsi, la description de la partie systématique d’un tel code est connue à partir de ρ u . Le tableau 1 représente un exemple de chaque configuration possible. ¾ π E1 p1 Ainsi, ce code est considéré de la famille Turbo. A fin d’avoir le rendement de ce code environ ½, un poinçonnage du mot de code c est nécessaire. Dans le cas classique d’un code Turbo [Berrou 93], seulement les mots de parité (p1 et p2) sont poinçonnés tel que uniquement le deuxième bit est transmis. En se référant à [Land 02], le poinçonnage peut être réparti entre la partie systématique et les deux parties de parité en assurant une amélioration des propriétés de la distance du code poinçonné. De ce fait, on a vécu la naissance des codes TPS. 1 2ème MAP Entrelaceur (1) ρu D2 E2 1er MAP Le mot du code c = (u, p1, p2) est constitué par la partie systématique et les deux parties de parité, et le rendement de code est donné par l’équation : R = K/(3K+3m) ≈ 1/3 π-1 A1 Tableau 1. Matrices de poinçonnage Pρu pour des architectures TPS(R = ½, 0 signifie « bit poinçonné » et 1 signifie « bit non poinçonné ») A = μΑ ⋅ u + ηΑ Le cas où ρ u = 1 correspond au cas classique (code Turbo Systématique) et celui où ρ u = 0 , il s’agit du code Turbo non systématique. Le mot de code donné par l’architecture TPS est c’ = (u’, p’1, p’2) où le prime dénote le mot poinçonné respective comme c’est représenté par la figure 1. (2) u ∈ {± 1} est le symbole transmis systématiquement et η Α est une variable de distribution gaussienne qui a une moyenne zéro et une variance σ Α2 . Puisque A est un LLR basé sur une loi Gaussienne, d’après [Hagenauer 96], μ A est donnée par : 2. Extrinsic Transfer Characteristics μ A = σ A2 / 2 Le modèle de l’architecture du décodage itératif étudié est celui des Codes Concaténés en Parallèle (CCP). Ce modèle est représenté par la figure 2. (3) Maintenant, si on considère un canal AWGN, les signaux discrets reçus sur un axe temporaire sont -2- SETIT2007 architectures de codes Turbo : les codes Turbo classiques (systématiques) avec le rendement 1/3 et les codes TPS de rendement ½ définis à la première section. La figure 3 représente les diagrammes ETC des différents codes avec différents taux de poinçonnage (1, ¾, ½, 0) pour des codes constituants ayant les générateurs (gr,g) = (31,27). La notation (gr,g) désigne les générateurs polynomiaux du code Turbo dont gr est le polynôme de Feedback. Puisqu’il donne une distance minimale importante, ce choix des générateurs polynomiaux est considéré parmi les meilleurs pour une architecture CCP de rendement 1/3 et de longueur de mémoire m = 4 [Benedetto 96]. définis par : ξ=u +n (4) A partir de l’équation (3), la fonction de la loi probabilité conditionnelle attribuée au LLR de l’information a-priori A est la suivante : − (ξ - 1 PA (ξ/U = u ) = 2π σ A σ A2 e 2 u) 2 2σ A2 (5) où U est la variable aléatoire binaire qui dénote les symboles transmis u ∈ {± 1} . IA = Information mutuelle IE (output) Dans une architecture Turbo, l'information est mesurée à l’aide de l’information mutuelle I A = I (U ; A) entre un symbole envoyé (U) et un LLR de l’information a-priori (A). Cette dernière est définit par : +∞ 1 PA (ξ / U = u ) ∑ ∫ − 2 u = −1, +1 ∞ ⎡ ⎤ 2 ⋅ PA (ξ / U = u ) ⋅ log 2 ⎢ ⎥ dξ ⎣ PA (ξ / U = −1) + PA (ξ / U = +1) ⎦ (6) CCP P1 P3/4 P1/2 P0 0 ≤ IA ≤1 A partir de l’équation (5), l’équation (6) devient : I Α (σ Α ) = 1 − ∫ +∞ −∞ 1 2π σ Α e − ((ξ − (σ Α2 / 2 )⋅u ) 2 Information mutuelle IA (input) ) / 2σ Α2 ) ⋅ log 2 (1 + e −ξ )dξ Figure 3. Diagrammes ETC des différentes configurations (CCP avec R =1/3 et TPS avec R = ½) où (gr,g)= (31,27) (SNR = 0.7dB) (7) A des valeurs bas de l’information mutuelle a-priori (IA), la figure 3 montre des valeurs différentes de l’information mutuelle extrinsèque (IE) pour le même rendement total des codes TPS (rendement ½). Ceci est dû au type de poinçonnage utilisé chaque fois. Comme abréviation proposée par [ten Brink 01], J (σ ) = I Α (σ Α = σ ) (8) et lim J (σ ) = 0 , lim J (σ ) = 1 σ →0 σ →∞ Dans la suite, l’étude de l’architecture systématique de rendement 1/3 est un test de performance des simulations réalisées vis-à-vis au résultat de [Benedetto 96]. (9) L'équation (8) est réversible, σ Α = J −1 ( I Α ) (10) Pour créer un Extrinsic Transfer Characteristics (ETC), il existe une fonction de transfert T entre l'information mutuelle I Α et l’information mutuelle I E qui mesure l’information extrinsèque à la sortie du décodeur constituant. Cette fonction dépend du SNR. I Ε = Τ( I Α , E b / N 0 ) 3. EXIT-charts et test de performance Un EXIT-chart est l’assemblage dans un même diagramme de deux diagrammes ETC des deux décodeurs MAP constituants. Dans le cas d’une architecture CCP où la sortie d'un bloc est l’entrée de l'autre et vice versa, après la construction du premier diagramme, le deuxième est sa symétrie par rapport à l’axe IA = IE. (11) En fixant le SNR du canal, I Ε = Τ( I Α ) (12) Le diagramme ETC du premier décodeur MAP est tracé en considérant l'axe des abscisses (respectivement l’axe des ordonnées) comme axe de l’information mutuelle a-priori IA1 à l’entrée (respectivement axe de l’information extrinsèque IE1 à la sortie). Pour établir la nature itérative, le deuxième diagramme correspondant au deuxième décodeur MAP est obtenu en faisant une permutation des axes c'est-à-dire l’entrée a-priori IA2 (respectivement la Le diagramme ETC d'un décodeur est obtenu en déterminant Τ( I Α ) pour chaque entrée de LLR a-priori. Les paramètres spécifiques pour la construction d’un tel diagramme sont les polynômes générateurs de l’encodeur CRS et la valeur du SNR (Eb/N0). Notre étude se concentre sur les deux -3- SETIT2007 sortie extrinsèque IE2) est représentée par l'axe des ordonnées (respectivement l'axe des abscisses). De ce fait a découlé l’appellation « EXtrinsic Information Transfer chart » qui désigne la visualisation de l'échange de l'information extrinsèque sous forme d’une trajectoire de décodage, ce qui rapproche le comportement réel des décodeurs itératifs. Pour un SNR très faible les deux diagrammes de transfert dans un EXIT-chart se croisent tôt sans atteindre la convergence souhaitée. Cette intersection prouve que l'architecture Turbo ne peut pas converger. de rendement 1/3 dont le polynôme primitif de Feedback est « 31». Pour un SNR de 0.7 dB, la figure 5 montre que l’EXIT-chart du code de polynômes générateurs (gr,g)=(31,27) possède le tunnel le plus large. Ceci prouve sa considération, dans le travail de [Benedetto 96], comme étant le meilleur de point de vue distance minimale pour une architecture CCP de rendement 1/3 et de longueur de mémoire m = 4 . Maintenant, pour différentes valeurs de SNR et pour une séquence d’information de longueur 120.000 bits, nous avons essayé de prouver itération par itération le comportement itératif du décodage de ce code. L’entrelaceur est de type modulo et de facteur « 37 ». La figure 29 montre que chaque une des trajectoires en zigzag résultantes du décodage est limitée des deux cotés par l’EXIT-chart correspondant. Output IE1 du 1er décodeur devient input IA2 du 2ème décodeur Output IE1 du 1er décodeur devient input IA2 du 2ème décodeur La figure 4 représente les EXIT-charts pour différentes valeurs de SNR avec le code Turbo de générateurs polynomiaux (gr,g) = (31,27). D’après cette figure, le code Turbo ne peut pas converger avec les valeurs de SNR inférieurs à 0.5 dB. Cependant, pour les autres valeurs les diagrammes de transfert convergent vers la limite souhaitée. Output IE2 du 2ème décodeur devient input IA1 du 1er décodeur Figure 6. Trajectoires de décodage itératif CCP (R=1/3, EntrelaceurModulo-37, 120.000 bits d’information, (gr,g)=(31,27)) Output IE2 du 2ème décodeur devient input IA1 du 1er décodeur Figure 4. EXIT-charts pour différentes valeurs de SNR (CCP de rendement 1/3, m = 4) Output IE1 du 1er décodeur devient input IA2 du 2ème décodeur Par correspondance aux trajectoires de la figure 6, le tableau 2 représente le nombre d’itérations nécessaires pour chaque SNR et le BER à chaque itération. SNR (dB) 1ère itération 2ème itération 3ème itération 4ème itération 5ème itération 0.7 1.49 e-1 9.93 e-2 3.91 e-2 9.96 e-3 1.57 e-3 BER 1.0 1.34 e-1 7.24 e-2 1.06 e-2 3.75 e-4 1.5 1.03 e-1 3.33 e-2 2.66 e-4 Tableau 2. BER à chaque itération par correspondance aux trajectoires de la figure 6 Figure 5. EXIT-charts des codes Turbo systématiques CCP (R=1/3, SNR=0.7dB, m=4, gr=31) De ce fait, le traçage des EXIT-charts peut être utilisé pour l’analyse du comportement de convergence d'une architecture Turbo pour différentes valeurs de SNR. Pour mettre en évidence l’utilité des EXIT-charts dans la description du comportement de convergence de décodage itératif et pour s’assurer de la performance des simulations réalisées, nous avons choisis d’étudier les codes Turbo systématiques CCP Dans la suite et à partir des EXIT-charts, nous allons représenter pour différents taux de poinçonnage le comportement de décodage itératif à fin de distinguer des codes constituants performants de point de vue convergence. Output IE2 du 2ème décodeur devient input IA1 du 1er décodeur -4- SETIT2007 4. Etude du Comportement de Convergence à partir des EXIT-charts 4.1. Code TPS de (gr,g)=(31,27) polynômes IE1 devient IA2 Nous avons conservé le même type de décodage CCP et nous avons essayé d’extraire des codes constituants performants chez les quatre types des codes TPS (P1, P3/4, P1/2 et P0). générateurs Le choix du code de générateurs polynomiaux (gr,g)=(31,27), considéré comme l’un des meilleurs pour une architecture CCP de rendement 1/3, était pour avoir une idée sur le comportement de convergence pour les quatre variantes P1, P3/4 , P1/2 et P0 . IE2 devient IA1 (a) IE1 devient IA2 En variant le SNR, nous avons obtenu les EXITcharts représentés par la figure 7. D’après cette figure, le comportement de convergence du code TPS P3/4 est le meilleur puisque avec un SNR de 0.5 dB c’est le seul qui peut converger. Cependant, le code TPS P0 est loin d’être un code convergent. En conséquence, nous l’avons éliminé des codes que nous désirons construire. Un bon code avec le rendement 1/3 (sans poinçonnage) n’est pas obligatoirement un bon code avec le rendement ½ (avec poinçonnage). Même, au sein des architectures TPS, le choix d’un bon code varie d’un taux de poinçonnage à un autre. C’est l’objet des EXIT-charts qui suivent. IE2 devient IA1 (b) 4.2. Cas des codes TPS « P1 » IE1 devient IA2 Pour distinguer les meilleurs codes constituants, deux étapes sont nécessaires : (i) Après le traçage de tous les EXIT-charts des codes de polynôme primitif de Feedback « 31 », les deux qui débutent avec les extremums de l’information extrinsèque sont pris en considération avec deux autres intercalés au milieu. (ii) À partir de cette sélection, encore il est difficile de distinguer lequel parmi ces codes est le meilleur de point de vue convergence. Pour cela, les simulations sont indispensables pour illustrer le comportement détaillé de chaque code en faisant varier le SNR. IE2 devient IA1 (c) IE1 devient IA2 Dans ce cas, la première étape est illustrée par la figure 8. Les codes sélectionnés sont ceux de polynômes générateurs (gr,g)=(31,22), (gr,g)=(31,25), (gr,g)=(31,27) et (gr,g)=(31,34). Comme la variation de SNR entre 0.5dB et 0.9dB représente la région où les tunnels apportés par les EXIT-charts deviennent intéressants, la deuxième étape est illustrée par la figure 9. Les codes TPS « P1 » de générateurs polynomiaux (gr,g)=(31,27) et (gr,g)=(31,34) apportent les tunnels les plus larges. Donc, ces codes convergent plus rapidement et nous pouvons les considérer comme des codes constituants performants. IE2 devient IA1 (d) Figure 7. EXIT-charts en variant le SNR pour les architectures TPS (R = ½) ; (a) P1, (b) P3/4, (c) P1/2, (d) P0 -5- IE1 devient IA2 Output IE1 du 1er décodeur devient input IA2 du 2ème décodeur SETIT2007 IE2 devient IA1 (a) Output IE2 du 2ème décodeur devient input IA1 du 1er décodeur IE1 devient IA2 Figure 8. EXIT-charts pour l’architecture TPS « P1 » (R = ½, m = 4, SNR = 1.0 dB, gr=31) 4.3. Cas des codes TPS « P3/4 » En poursuivant les deux étapes de distinction de codes constituants performants décrites dans le paragraphe 4.2, la figure 10 représente le cas des codes TPS « P3/4 ». La sélection remembre les couples de polynômes générateurs (gr,g)=(31,27), (gr,g)=(31,32), (gr,g)=(31,34) et (gr,g)=(31,36). D’après les EXIT-charts effectués, le code TPS « P3/4 » de générateurs polynomiaux (gr,g)=(31,32) est le meilleur. IE2 devient IA1 (b) 4.4. Cas des codes TPS « P1/2 » IE1 devient IA2 De la même manière, pour les codes TPS « P1/2 », nous avons réalisé des simulations pour distinguer au moins un code constituant performant de point de vue convergence. La figure 11 illustre ce cas où les couples de polynômes générateurs sélectionnés sont (gr,g)=(31,22), (gr,g)=(31,24), (gr,g)=(31,27) et (gr,g)=(31,36). D’après les EXIT-charts obtenus, le code TPS « P1/2 » de polynômes générateurs (gr,g)=(31,22) possède le tunnel le plus large. Donc, c’est le code le plus performant. IE2 devient IA1 (c) 5. Conclusion IE1 devient IA2 Nous avons proposé dans le présent papier une étude du comportement de convergence des codes Turbo systématiques et des codes Turbo partiellement systématiques à partir des EXIT-charts. Ainsi, ces diagrammes ont été attribués pour évaluer l’influence des codes constituants et l’influence du taux de poinçonnage de la partie systématique. Nous avons réussi de trouver un ensemble de codes constituants performants pour les codes TPS P1, P3/4 et P1/2 où les P3/4 et les P1/2 sont les meilleurs par rapport à ceux des P1. Autant, les P3/4 sont excellents. IE2 devient IA1 (d) Figure 9. EXIT-charts pour l’architecture TPS « P1 » (R = ½, m = 4, SNR variable) ; (a) (gr,g)=(31,22), (b) (gr,g)=(31,25), (c) (gr,g)=(31,27), (d) (gr,g)=(31,34) En outre, contrairement au « Coupled Codes » où la partie systématique du code est totalement poinçonnée en gardant la même performance du -6- IE1 devient IA2 IE1 devient IA2 SETIT2007 (a) (a) IE2 devient IA1 IE1 devient IA2 IE1 devient IA2 IE2 devient IA1 (b) (b) IE1 devient IA2 IE2 devient IA1 IE1 devient IA2 IE2 devient IA1 (c) (c) IE1 devient IA2 IE2 devient IA1 IE1 devient IA2 IE2 devient IA1 (d) (d) IE2 devient IA1 IE2 devient IA1 Figure 10. EXIT-charts pour l’architecture TPS « P3/4 » (R = ½, m = 4) ; (a) SNR=1.0 dB et gr=31, (b) SNR variable et (gr,g)=(31,32), (c) SNR variable et (gr,g)=(31,34), (d) SNR variable et (gr,g)=(31,36) Figure 11. EXIT-charts pour l’architecture TPS « P½ » (R = ½, m = 4) ; (a) SNR=1.8 dB et gr=31, (b) SNR variable et (gr,g)=(31,22), (c) SNR variable et (gr,g)=(31,24), (d) SNR variable et (gr,g)=(31,36) -7- SETIT2007 décodage itératif, nous avons montré que le décodeur Turbo nécessite une partie du mot systématique. REFERENCES [Benedetto 96] S. Benedetto, G. Montorsi, "Design of parallel concatenated convolutional codes", IEEE. Trans. on Comm, vol. 44, no. 5, p. 591-600, May 1996. [Berrou 93] C. Berrou, A. Glavieux, P. Thitimajshima, "Near Shannon Limit Error-Correcting and Decoding: Turbo-Codes", Proceedings of the 1993 international Conference on Communications, Geneva, p. 1064–1070, 1993 [Chaoui 03] S.Chaoui, Convolutional Coupled Codes, thèse, February 2003. [Hagenauer 96] J. Hagenauer, E. Offer, L. Papke, "Iterative decoding of binary block and convolutional codes", IEEE Trans. Inform. Theory, vol. 42, p. 429-445. March 1996. [Land 02] I. Land, S. Chaoui, "Comparison of Convolutional Coupled Codes and Partially Systematic Turbo Codes for Medium Code Lengths", 4th International ITG Conference on Source and Channel coding, Berlin, Germany, January 2002. [Land 00] I. Land and P. Hoeher, "Partially systematic rate ½ turbo codes", Proceeding of the 2nd International Symposium on Turbo Codes and Related, Topics, Brest, France, p. 287-290, September 2000. [Robertson 97] P. Robertson, P. Hoeher, E.Villebrun, " Optimal and sub-optimal maximum a posteriori algorithms suitable for turbo decoding", European Trans. on Telecommun., vol.8, p. 119-125, March/April 1997. [ten Brink 01] S. ten Brink, "Convergence behavior of iteratively decoded parallel concatenated codes", IEEE Trans. on Comm., vol. 49, no. 10, p. 1727-1737, October 2001. [ten Brink 99] S. ten Brink, "Convergence of iterative decoding", Electronics Letters, vol. 35, no. 10, p. 806-808, May 1999. -8-