(127, k, d) Reed-Solomon Code with Erasures: Simulation and Field Programmable Gate Arrays (FPGA) Design
Code Reed-Solomon (127, k, d) avec Effacements: Simulation et Conception sur Réseaux de Circuits Programmables (FPGA)
OPEN ACCESS
Telecommunication applications require transmitting data with different format such as sound, video, email, measures, signalling and help contents. This leads to a growing complexity of transmitting systems and to higher and higher data rates. On reception, the system must be able to quickly detect and correct errors due to the transmission channel noise (decreasing error rate). Error detecting-correcting codes suited to applications reduce the error rate (cyclic codes, convolutional code...). This paper presents an overview of the implementation of a (127, k, d) Reed-Solomon error-correcting code with erasures. The technology used to mark on symbols is described in details here. The coding algorithm computes the codewords and marks the symbols. The decoding algorithm detects and corrects either the errors t' = t, or the erasures e' = 2* t, or a combination of the two (e' + 2 * t' ≤ d-1). The error detection is possible for a number of erasures exceeding 2 * t. The number of rectifiable errors is t. This work is the result of the collaboration between the LICM laboratory and TDF-C2R company. Many Hamming distances of a (127, k, d) Reed-Solomon error-correcting code with erasure have been tested with measure files, simulating different real environments. Results obtained from computer simulations using diversified environment models are in good agreement with analytical results . Moreover, the core of the «(127, 121, 7) Reed-Solomon code with erasures» coder/decoder has been implemented on an ALTERA/FLEX1 OK family FPGA from a VHDL specification. This core can be used to design applications with continuous data streams.
Résumé
Les applications actuelles de télécommunications nécessitent la transmission de données aussi diverses que le son, la vidéo, la messagerie et les données de mesures, de signalisations et d'assistance. Cela entraîne une complexité croissante des systèmes de transmission et un débit de plus en plus élevé. A la réception, le système doit pouvoir détecter et corriger rapidement les éventuelles erreurs dues au bruit de canal (diminution du taux d'erreurs). Une des techniques pour diminuer ce taux est d'utiliser un code détecteur correcteur d'erreurs adapté à l'application (codes cycliques, code convolutif, ..). Plus spécifiquement, cet article concerne un code détecteur correcteur d'erreurs Reed-Solomon (127, k, d) avec la description complète d'une technique de marquage des symboles pour la mise en oeuvredes effacements. L'algorithme de codage calcule les mots de code et marque les symboles . L'algorithme de décodage opère soit sur les erreurs t' = t, soit sur les effacements e' = 2* t, soit sur un panachage des deux (e'+ 2 * t' ≤ d-1), tétant le nombre maximum d'erreurs corrigibles. En plus la détection des erreurs est possible pour un nombre d'effacements supérieur à 2 * t. Dans le cadre d'une étude menée conjointement entre le laboratoire LICM et TDF-C2R, plusieurs distances Hamming du code Reed-Solomon (127, k, d) ont été simulées (entre autres à partir de mesures réelles). Les résultats de simulation permettent de quantifier la valeur ajoutée concernant les effacements. De plus, la conception sur FPGA d'un code de Reed-Solomon (127, 121, 7) est étudiée afin d'implanter une fonction «codeur/décodeur avec effacements », pouvant être réutilisée lors de la synthèse d'autres applications traitant des flots de données en continu .
Error detecting correcting codes, Reed-solomon, Erasures, FPGA.
Mots clés
Transmission numérique, codesdétecteurs correcteurs d'erreurs, Reed-Solomon,effacements, FPGA.
[1] Poli(A.), Huguet(L.). Codes correcteurs : théorie et applications. Masson, Paris (1989).
[2] Peterson (W.),Weldon (E.J .Jr).Error correcting codes.Second edition(1972).
[3] Lin (S.), Daniel (J.), Costello (Jr.). Error control coding : fundamentals and applications. Editor Franklin (F.),Kuo (1983).
[4] Cohen (G.), Dornstetter (J.-L.), Godlewski (P.).Codescorrecteurs d'erreurs uneintroduction au codage algébrique.Masson,Paris (1992).
[5] Heather (B.), HuiZhang. Comparison of Reed-Solomon codec implementations. CS252Project,Université de Berkeley.
[6] Dabbagh (A.). Etude et conception d'un circuit de détection et correction d'erreurs en transmission d'informations numériques. Thèse présentée à l'universitédeRennesI, (1995).
[7] Reed Solomon decoders with erasures .Société Hammer cores, (mars 1999).
[8] AHA4011 : 10 Mbytes/sec Reed-Solomon Error correction device . Product Specification, Advanced Hardware Architectures.
[9] Paar (C.). A new architecture for a parallel finite field multiplier with low complexity based on composite Fields.IEEE Transaction on computers,July 1996,vol.45, n° 7 pp 856-861