Institut TELECOM / TELECOM Bretagne / Dpt SC Décodage pondéré des codes longs linéaires en blocs, basé sur des statistiques d’ordre Andrzej Kabat Directeur de thèse : Ramesh Pyndiah Encadrant : Frédéric Guilloud Institut TELECOM / TELECOM Bretagne / Dpt SC Se présenter Directeur et encadrant Remercier à Fred Je travaille sur le codage canal. Je vais présenter un algorithme de décodage souple qui est adapté à décoder des codes en blocs linéaires de grandes taille.
Sommaire Les codes de Reed-Solomon ; Décodage souple et vecteurs de test ; Proposition d’un algorithme de génération des vecteurs de test. On va étudier ensemble la problématique de correction des erreurs dans un système de transmission Parmi les codes correcteurs d’erreurs on va regarder des codes de Reed-Solomon. On va analyser des algorithmes de décodage souple, qui corrigent des erreurs en utilisant des vecteurs de test. On va proposer une méthode efficace de génération des vecteurs de test. Séminaire des doctorants de TELECOM Bretagne
Codage correcteur d’erreurs, codes en blocs Perturbation bits de redondance message L’information transmise entre l’émetteur et le récepteur est protégée par des codes correcteurs d’erreurs. Sur le transparent on voit un schéma simpliste qui met en évidence l’application des codes correcteurs. Un code correcteur d’erreur en bloc est constitué d’un vecteur d’information (message) de k symboles d’information et de n-k symboles de redondance calculée à partir de symboles d’information. La concaténation d’un message et de la redondance forme un mot de code. Plus on a des bits de redondance, plus on a de pouvoir de correction des erreurs. Séminaire des doctorants de TELECOM Bretagne
Codes de Reed-Solomon (RS) Minimum de redondance pour un pouvoir de correction fixé ; Très répondus : stockage ; transmission ; diffusion ; (255,251) , (255,239), (255, 223) ; Décodage algébrique (ferme). Parmi des codes correcteurs d’erreurs, ce sont des codes de Reed-Solomon, qui ont besoin le moins de redondance pour le plus de pouvoir de correction. Ce sont des codes linéaires en bloc, non-binaires, cycliques. Ils sont très largement répondus, ils ont trouvé l’application dans plusieurs technologies comme le CD, le DVD, le stockage de données sur le hard disc, la technologie WiMAX, la transmission des données par satellite ou le DVB. Les plus utilisés sont (255,251), (255,239), (255,223). Ce sont des codes de taille 255 symboles, chaque symbole de 8 bits, qui veut dire, que le mot transmis et de taille de 2040 bits. En particulier on va s’intéresser au (255,239), qui peut corriger jusqu’à 8 symboles erronés. La popularité vient du fait, qui existe un simple décodeur algébrique qui permets le décoder d’une manière ferme – l’information souple n’est pas prise en compte. Le décodage souple améliore des performances, on est à la recherche d’un simple décodeur à entrée souple. Séminaire des doctorants de TELECOM Bretagne
Algorithmes de décodage souple Deux types d’algorithmes de décodage souple : Décodage avec le décodeur algébrique : GMD [Forney-66], Chase [Chase-72], GS [Gur-Sud-99], KV [Koet-Var-03] ; dépend de la structure algébrique du code ; Décodage par le test et le re-encodage d’un ensemble de bits d’information : RBCS [Gaz-Snyd-97], VF [Val-Foss-01], [KGP-07]. Ils existent deux façon de décoder des codes RS. Aucun système n’est pas implémenté pour des raisons de complexité Le décodage avec le décodeur algébrique exploite des propriétés algébriques du code. Le décodage par test et le re-encodage d’un ensemble de bits d’information exploite des propriétés de linéarité du code. Et dans le cas du code (255,239) permet de corriger théoriquement jusqu’à 120 bits erronés. Par la suite on va étudier comment ça se passe en pratique. Séminaire des doctorants de TELECOM Bretagne
Décodage par le test et le re-encodage d’un ensemble de bits d’information bits de redondance bits d’information bits reçus fiabilité bits reçus arrangés Supposons que la séquence on haut est la séquence reçue. On ne sait pas où sont des erreurs mais pour des raisons éducatif, je les ai parqué en rouge. Le décodeur arrange des bits reçus selon leurs fiabilité croissantes, qui a pour le but de déplacer tous les erreurs dans la partie redondante. Cette partie redondante est par la suite supprimer, On reprend l’information, on la re-encode. On pourrait s’arrenter là, mais nous ne sommes pas sur, si la partie d’information ne contiens pas d’erreurs. L’arrangement des bits nous assure que les erreurs ne sont pas nombreux. re-encodage Séminaire des doctorants de TELECOM Bretagne
Décodage par le test et le re-encodage d’un ensemble de bits d’information bits de redondance bits d’information test 1 test 2 test 3 .............. test ... On suppose qu’on a un erreur sur le premier bit, on le change pe de 0 à 1, et la nouvelle information on la re-encode. etc. pour la reste. On choisi le mot de code le plus fiable -> qui minimise l’écart euclidien par rapport à la séquence reçue. La génération des vecteurs de tes est cruciale dans le décodage, ils existent beaucoup d’algorithmes compétitives, on va en parler. [Dorsch-74] Séminaire des doctorants de TELECOM Bretagne
Méthodes de génération des vecteurs de test Prédéfini [Gaz-Snyd-97] Heuristique [Val-Foss-01] Proposé [KGP-07] Deux familles qui génèrent des vecteurs de test soit d’une manière prédéfini, indépendamment de ça qu’on a reçu, ou une méthode heuristique qui adapte la liste des vecteurs de test pour chaque mot reçu. On propose une méthode qui joint des qualités de ces deux familles. performance complexité Séminaire des doctorants de TELECOM Bretagne
Propriétés de l’ALMLT : ALMLT – Arranged List of the Most a priori Likely Tests : Fiabilités des bits – estimées hors transmission ; Adapté au décodage des codes longs ; Vecteurs de test – arrangés suivant leurs fiabilités décroissantes ; Nombre de vecteurs de tests – flexible ; Pendant le décodage – des vecteurs de test sont lus à partir d’une liste (ils ne sont pas générés au vol). La méthode proposée c’est justement l’algo ALMLT, qui veut dire: Cet algo estime des fiabilités des bits hors transmission, grâce à ça il peut générer une liste des vecteurs de test bien arrangé suivant les fiabilité des tests décroissants. Plus on a des échantillons dans un mot de code, plus l’estimation est juste, l’algo est adapté au décodage des codes longs. De plus la taille est flexible La complexité basse grâce à la lecture, (il ne faut pas générer comme dans des algos heuristiques). Séminaire des doctorants de TELECOM Bretagne
Performances 1) Pour prouver la prépondérante de notre algo, on va comparer des performances de different algos. 2) La perf exprime en taux d’erreurs par mot code en fonction du SNR. décodage ferme marqué on bleu, l’algo de décodage souple (RBCS – une variation de l’OSD) marqué en noir et notre algo on rouge. Les deux algos souple ont des listes de tests de même tailles. On voit bien que par lé décodage souple on gagne 1.25 dB, et en utilisant ALMLT en gagne 0.2 dB de plus. Séminaire des doctorants de TELECOM Bretagne
Performances en fonction du nombre de vecteurs de test Ici on va étudier l’influence de la taille de liste. PE ALMLT 10 pow 5 la meme perf que RBCS Séminaire des doctorants de TELECOM Bretagne
Complexités La complexité exprimée comme le nombre moyenne des vecteurs de test. Elle n’est pas toujours égale à la nombre maximale des vect de test, car on utilise des cirières d’arrêt. Et l’almlt 10 pow 5 a la complexité 10 plus petite que RBCS. Par ailleurs la compe Séminaire des doctorants de TELECOM Bretagne
Conclusion Codes RS – une bonne solution pour corriger des erreurs de transmission ; Algorithme efficace pour le décodage souple des codes longs linéaires en blocs – effectué par le test et le re-encodage ; Bonne façon de générer des vecteurs de test – algorithme ALMLT : Flexibilité - la liste des vecteurs de test peut avoir une taille quelconque ; Robustesse - comparé avec des algorithmes compétitifs ayant le même nombre de vecteurs de test, l’ALMLT minimise également la complexité de décodage et le taux d’erreurs. Séminaire des doctorants de TELECOM Bretagne
Bibliographie [Forney-66] G. D. Forney Jr., “Generalized minimum distance decoding”, IEEE Trans. Inf. Theory, vol. 12, pp. 125-131, Apr. 1966. [Chase-72] D. Chase, “A class of algorithm for decoding block codes with channel measurement information”, IEEE Trans. Info. Theory, vol. IT-18, pp. 170-179, Jan. 1972. [Gur-Sud-99] V. Guruswami and M. Sudan, “Improved decoding of Reed-Solomon and Algebraic-Geometric codes”, IEEE Trans. Inf. Theory, vol. 45, pp. 1757-1767, Sept. 1999. [Koet-Var-03] R. Koetter and A. Vardy, “Algebraic soft-decision decoding of Reed-Solomon codes”, IEEE Trans. Inf. Theory, vol. 49, no. 5, pp. 2809-2825, Nov. 2003. [Dorsch-74] B. Dorsch, “A Decoding for Binary Block Codes and J-ary Output Channels”, IEEE Trans. Inf. Theory, May 1974. [Gaz-Snyd-97] D. Gazelle and J. Snyders, “Reliability-Based Code-Search Algorithms for Maximum-Likelihood Decoding of Block Codes”, IEEE Trans. Inf. Theory, vol. 43, no. 1, Jan. 1997. [Val-Foss-01] A. Valembois, M. Fossorier, “An Improved Method to Compute Lists of Binary Vectors That Optimize a Given Weight Function With Application to Soft-Decision Decoding”, IEEE Comm. Letters, vol. 5, no. 11, Nov. 2001. [KGP-07] A. Kabat, F. Guilloud and R. Pyndiah, “New approach to order statistics decoding of long linear block codes”, IEEE Globecom ’07, Nov. 2007. [Bel-Kav-Ping-07] J. Bellorado, A. Kavcic and L. Ping, “Soft-Input, Iterative, Reed-Solomon Decoding using Redundant Parity-Check Equations”, ITW ‘07, Sept. 2007. Séminaire des doctorants de TELECOM Bretagne
Fiabilités des bits reçus Fonction de répartition des fiabilités de bits reçus et erronés : Fonction de répartition des fiabilités de bits reçus : Séminaire des doctorants de TELECOM Bretagne
Statistiques d’ordre numéro du bit ordre du bit ordre du bit rangement normalisation ordre du bit ordre du bit normalisé normalisation inverse Séminaire des doctorants de TELECOM Bretagne