Brevet FR2754121A1 — publié le 19980403

PROCEDE ET DISPOSITIF DE DECODAGE D'ERREUR POUR DES CODES DE REED-SOLOMON L'invention concerne de façon générale un procédé et un dispo- sitif pour effectuer un décodage d'erreur de données numériques en utili- sant des codes de Reed-Solomon. L'invention concerne plus particuliè- rement un procédé et un dispositif pour décoder la valeur et l'emplace- ment de mots d'erreur dans des données numériques, en utilisant des codes de Reed-Solomon, par une série d'opérations arithmétique de pro- duit/somme, sans un calcul de puissance. Les codes de Reed-Solomon (que l'on désigne ci-dessous en abrégé par RS) sont très importants en communication pour la préserva- tion de données, et ils ont pour fonction de corriger des erreurs de façon continue dans des multiplets de données numériques. Il y a de façon générale deux types de circuits différents dans la conception de décodeurs de code RS. L'un est le type pipeline et l'au- tre est le type à commande par programme, reposant sur l'utilisation d'un processeur. Les décodeurs de code RS de type pipeline sont utilisés de façon caractéristique dans des systèmes qui doivent travailler à vitesse élevée et en temps réel. De façon correspondante, les circuits pour le décodeur de code RS de type pipeline sont complexes et coûteux, ce qui conduit à un gaspillage de ressources et d'argent dans un système qui n'exige qu'une vitesse modérée. Le décodeur de code RS du type à commande par programme reposant sur l'utilisation d'un processeur ef- fectue des calculs répétés en utilisant une unité arithmétique et logique (UAL), sous la commande d'un programme, ce qui réduit la complexité et le coût du circuit du décodeur de code RS. Il y a des différences appa- rentes entre les décodeurs de code RS de type pipeline et de type à commande par programme reposant sur l'utilisation d'un processeur. Pour des codes RS, les calculs pour le décodage, lorsqu'il y a plus de deux erreurs parmi les mots transmis, sont trop complexes pour utiliser de façon appropriée le décodeur de code RS du type a commande par programme reposant sur l'utilisation d'un processeur. Cependant, le système classique de ce type pour décoder deux mots erronés est utilisé, et il est illustré dans ce qui suit. On peut définir un code RS sous la forme RSm(n,k). La borne d'entrée du décodeur de code RS reçoit n symboles, chaque symbole consistant en m bits. Après correction d'erreur, le décodeur émet k sym- boles de données. On peut définir RSm(n,k) de la façon suivante m le nombre de bits de chaque symbole introduit; n t =d-1 le nombre maximal de mots d'erreur que décode le dé- codeur Par conséquent, dans un décodeur de code RS qui peut détec- ter deux mots d'erreur, on a t = 2, d = 2t+1 = 5, k = n+1-5 = n-3 et on peut modifier RSm(n,k) en l'écrivant sous la forme RSm(n, n-4). Pour des codes RSm(n, n-4), on peut représenter le polynôme générateur sous la forme g(x) = (x-1)(x-c)(x-c:2)(x-a3) On peut supposer que dans les n symboles, il y a v mots d'er- reur qui sont placés à e1, ê2, e3, e4.... v et dont les valeurs sont respec- tivement Y1, Y2, Y3, Y4,.-., Yv. Pour expliquer le principe du décodage des codes RS dans ce qui suit, si l'emplacement Z est connu avant que les n symboles ne soient décodés, le mot d'erreur est défini comme un "effacement", et si l'emplacement gi est inconnu avant que les n symboles ne soient décodés, le mot d'erreur est défini comme une "erreur". Avec des codes RS ayant une distance de Hamming (d = 5), on peut détecter p mots d'erreur et q mots d'effacement, si p et q satisfont les formules suivantes: 2p+q d distance de Hamming du code. Conformément à plusieurs brevets des E.U.A., par exemple les brevets d'Ozaki (4 852 099) et d'Okamoto et al. (4 677 622), nous savons ce qui suit: Sip = 0etq =4, alors Y4= S3+(X1 +X2+X3)S2 +(X1X2+X2X3 +X3X1)S1 + X1X2X3So (3 (X4 + X1) (X4 + X2) (X3 + X4) Si q = 3 et p = O, alors Y3 = S2 + (X1 + X2)S1 + XlX2SO (4) (X3 + X1)(X3 + X2) Si q = 2 et p = O, alors: (5) Y2 = SX + XS (5) X2 + X1 Si q = 1 et p = 0, alors: Y1 = So (6) Lorsque le nombre de mots d'effacement q est de 1 à 3, le nombre de mots d'erreur p qu'il est possible d'accepter devient zéro ou un, con- formément à l'Equation (1). Pour déterminer si la valeur réelle de p est zéro, ou un, ou supérieure à un (dans la situation o p est supérieur à un, le décodeur ne peut détecter aucun mot d'erreur parmi n symboles), on doit se référer à un ensemble de Syndromes de Forney. Si q est égal à un, alors les Syndromes de Forney sont définis de la façon suivante T1 = S1 + SOX1 T2 = S2 + S1X2 (7) T3 = S3 + S2X3 Si q est égal à deux, alors les Syndromes de Forney sont définis de la façon suivante: T1 = S2 + (X1 + X2)S1 + X1X2SO (8) T2 = S3 + (X1 + X2)S2 + X1X2S1 Si q est égal à trois, alors les Syndromes de Forney sont définis de la façon suivante T1 = S3 + (X1 + X2 + X3)S2 + (XlX2 + X2X3 + X3X1)S1 + X1X2X3S0 (9) Dans la condition dans laquelle q est égal à un ou deux, on peut déter- miner la valeur de p conformément aux règles ci-dessous: (1) Si les Syndromes de Forney sont tous égaux à zéro, la valeur de p est zéro. (2) Si les Syndromes de Forney ne sont pas tous égaux à zéro, la valeur de p est un. (3) Si l'un au moins des Syndromes de Forney est égal à zéro et l'un au moins des Syndromes de Forney n'est pas égal à zéro, le dé- codeur ne peut corriger aucun mot d'erreur provenant de n sym- boles. En outre, lorsque q est égal à trois, si le Syndrome de Forney est égal à zéro, alors le décodeur peut corriger des mots d'erreur provenant de n symboles. Lorsque q est égal à trois, et si le Syndrome de Forney n'est pas égal à zéro, alors le décodeur ne peut pas corriger des erreurs pro- venant de n symboles. Lorsque p est égal à un, on peut déterminer les emplacements de mots d'erreur inconnus avec les relations ci-dessous Si q = 1 et p = 1, alors X2 S2 + SlXl (10) S1 + SoXl Si q = 2 et p = 1, alors X3 = S3+S2(X1+X2)+S1X1X2 (11) S2 +S1(X1 +X2)+SOX1X2 D'après les Equations (3) à (11), on peut déterminer la valeur de p seulement lorsque la valeur de q n'est pas égale à zéro. Dans la si- tuation dans laquelle q est égal à zéro, on détermine la valeur de p en évaluant les quantités suivantes: SA = S1S1 + SOS2 SB = S2S2 + SlS3 (12) SC = SoS3 + S1lS2 (1) Si les trois quantités sont toutes égales à zéro, alors p est égal à un. (2) Si les trois quantités ne sont pas toutes égales à zéro, alors p est égal à deux. (3) Si une ou plusieurs des quantités sont égales à zéro, et une ou plusieurs des quantités ne sont pas égales à zéro, le décodeur ne peut pas corriger les erreurs dans n symboles. Dans la situation (1), c'est-à-dire q = 0 et p = 1: X1 - S1 (13) So Dans la situation (2), c'est-à-dire q = 0 et p = 0: X + X2= SoS3 + S1S2 (14) SlSl + S0S2 X. X =S2S2 + SlS3 (15) S1S1 + S0S2 D'après les équations allant de l'Equation (3) à l'Equation (13), on peut déterminer Xi et Yi par trois types de calcul, tels que l'addition, la multiplication et l'inversion, sauf dans le cas o (p, q) = (2, 0). (Lorsque q n'est pas égal à zéro, dans la condition i valeurs de X1 et X2. Par exemple, le procédé classique consiste à effec- tuer une "Recherche de Chien". Dans le procédé utilisant une Recherche de Chien, on fixe tout d'abord X1 à une valeur prédéterminée, et on fixe la valeur de X1 + X2 à SOMME. On obtient donc X2 = SOMME - X1 avec l'Equation (14). Ensuite, on substitue X1 et X2 dans l'Equation (15). Si la valeur du membre de gauche de l'équation n'est pas égale à la valeur du membre de droite, on fixe X1 à une autre valeur prédéterminée, en se référant à la valeur antérieure. En fixant de façon répétée la valeur de XI, on peut obtenir la valeur de X2. Cependant, la vitesse de décodage est très faible pour plusieurs répétitions du calcul dans lesquelles on substitue différentes valeurs de X1 et X2 dans le décodeur à commande par programme reposant sur l'utilisation d'un processeur. Le procédé a donc une influence négative sur le système global et il n'est pas utilisa- ble en pratique pour calculer les valeurs réelles de X1 et X2. Un but de l'invention est donc de procurer un procédé pour ef- fectuer le décodage d'erreur de données numériques utilisant un code de Reed-Solomon, qui est utile pour décoder correctement et rapidement les valeurs et les emplacements de deux erreurs dans des données numéri- ques définies comme une forme RSm(n, k) du code de Reed-Solomon, par une série d'opérations arithmétiques de produit/somme, utilisant l'ad- dition, la multiplication, la division, le calcul de décalage-logarithme et le calcul d'emplacement. Un autre but de l'invention est de procurer un dispositif pour mettre en oeuvre un tel procédé de décodage. Conformément à l'invention, ceci est accompli grâce à un pro- cédé de décodage d'erreur pour décoder des signaux de syndrome utili- sant des codes de Reed-Solomon, les codes de Reed-Solomon étant dé- finis par l'expression RSm(n, k), dans laquelle m est un nombre de bits de chaque syndrome, n est une longueur de codes de Reed-Solomon, et k est une longueur de mot d'information dans les codes de Reed-Solomon, les codes de Reed-Solomon comprenant p mots d'erreur et q mots d'effa- cement, avec n de syndrome et la détermination des nombres p et q. On évalue deux équations X2 = C2e1 etX2 =(C222 pour un calcul d'emplacement lorsqu'il y a deux mots d'erreur et aucun mot d'effacement dans chaque signal de syndrome, les signaux de syndrome ayant deux erreurs étant définis par l'expression suivante Sk= x jO dans laquelle X1 = ae, X2 = at2, e. et e2 définissent les empla- cements de deux mots d'erreur, et Y1 et Y2 sont des valeurs des deux mots d'erreur; el et ú2 sont évalués par un calcul du logarithme de a2t1 et a2t2 et un calcul de décalage; Y1 et Y2 sont obtenus par une série de calculs arithmétiques de produit/somme, conformément à X2 = a2t1, X2 = ct22 Dans le procédé de décodage d'erreur envisagé ci-dessus, lorsqu'il n'y a pas de mots d'effacement dans des signaux de syndrome, on peut déterminer le nombre p de mots d'erreur par les trois quantités S1Sl + SOS2, S2S2 + S1S3 et SoS3 + SIS2. Lorsque aucune des trois quantités n'est égale à 0, alors p est égal à 1. Lorsque les trois quantités sont toutes égales à zéro, alors p est égal à 1. Lorsque l'une au moins des trois quantités est égale à 0 et l'une au moins des trois quantités n'est pas égale à 0, alors p ne peut pas être déterminé. En outre, dans le procédé de décodage d'erreur envisagé ci- dessus, le calcul d'emplacement est effectué en évaluant l'équation sui- vante ai + ac'i cai 1 d'erreur par le calcul d'emplacement conformément aux équations sui- vantes X2 = ca2l X2 =:2ú2 >2 et on détermine e1 et e2 de la façon suivante i s'il n'y a pas de décalage ai.-- 2 s'il y a un décalage et i est pair i+(2m -l) =2_l+ i-1 i+(2m-1 2m1 +i- s'il y a un décalage et i est impair 2 2 En outre, le procédé de décodage d'erreur conforme à l'inven- tion peut être exécuté au moyen d'un dispositif pour le décodage de mots d'erreur et de mots d'effacement qui existent dans des signaux de mots transmis, utilisant des codes de Reed-Solomon, qui sont fournis par un système externe. Un tel dispositif comprendrait un générateur de syn- drome, destiné à être couplé au système externe, pour recevoir à partir de celui-ci les signaux de mots transmis, et pour générer des signaux de syndrome. Un compteur d'effacement est destiné à être couplé au système externe, pour recevoir les mots d'effacement. Une valeur de comptage d'effacement qui est enregistrée dans le compteur d'effacement est in- crémentée d'une unité chaque fois qu'un mot d'effacement est détecté. Des registres sont couplés au générateur de syndrome, et sont destinés à être couplés au système externe, pour recevoir les signaux de syndrome et les mots d'effacement, et pour enregistrer les signaux de syndrome et les mots d'effacement à des emplacements prédéterminés. Une unité arithmétique et logique (UAL) est couplée aux registres pour lire les signaux de syndrome et les mots d'effacement qui sont enregis- très dans les registres, et pour effectuer une opération prédéterminée dans le but de fournir un signal de réaction aux registres, et de générer un signal de déduction. Un comparateur est couplé à l'unité arithmétique et logique pour recevoir le signal de déduction, pour effectuer une opération de comparaison et pour fournir ensuite en sortie un signal de comparaison. Une unité de commande de programme est couplée au comparateur et au compteur d'effacement, pour recevoir le signal de comparaison provenant du comparateur, lire la valeur de comptage d'effacement qui est enregis- trée dans le compteur d'effacement, et fournir en sortie un signal de commande de programme. Un compteur de programme est couplé à l'unité de commande de programme pour recevoir le signal de commande de programme, sous l'effet duquel il génère un signal de comptage de programme, et il émet également un signal de réaction vers l'unité de commande de programme. Sous l'effet de la réception du signal de réac- tion, l'unité de commande de programme change le signal de commande de programme. Un interpréteur est couplé au compteur de programme pour re- cevoir le signal de comptage de programme, et il réagit à celui-ci en fournissant un signal d'adresse de registre et un signal de validation d'UAL. L'unité arithmétique et logique (UAL) lit les signaux de syndrome et elle lit également les mots d'effacement qui sont enregistrés dans les registres, conformément au signal d'adresse de registre, afin de décoder les mots d'erreur dans les signaux de mots qui sont transmis. En outre, I'unité arithmétique et logique comprend un inverseur, un circuit multiplicateur-additionneur, un circuit de calcul de décalage- logarithme pour effectuer des calculs de décalage et de logarithme, et un circuit de calcul d'emplacement pour effectuer un calcul d'emplacement. L'inverseur effectue un calcul d'inversion sur les signaux de syndrome et le circuit multiplicateur-additionneur effectue un calcul d'addition et un calcul de multiplication sur les signaux de syndrome. Le circuit de calcul de décalage-logarithme effectue un calcul logarithmique des signaux de syndrome et un calcul de décalage sur le résultat du calcul logarithmique, conformément au signal de validation d'UAL. Le circuit de calcul d'empla- cement effectue un calcul d'emplacement. Le procédé est exécuté sélectivement dans l'unité arithmétique et logique en faisant fonctionner l'inverseur, le circuit multiplicateur- additionneur, le circuit de calcul de décalage-logarithme et le circuit de calcul d'emplacement, de façon à générer le signal de réaction et le si- gnal de déduction. D'autres caractéristiques et avantages de l'invention seront mieux compris à la lecture de la description détaillée qui va suivre du mode de réalisation préféré, mais non limitatif. La suite de la description se réfère aux dessins annexés, dans lesquels: La figure 1 est un schéma synoptique de circuit du mode de réalisation préféré du dispositif de décodage conforme à l'invention; La figure 2 est un schéma synoptique du circuit de calcul de décalage-logarithme dans le mode de réalisation préféré; et La figure 3 est un organigramme du mode de réalisation préféré du procédé de décodage conforme à l'invention. En se référant à la figure 1, on note qu'un dispositif de déco- dage 200 conforme au mode de réalisation préféré de l'invention com- prend un générateur de syndrome 210, des registres 220, une unité arithmétique et logique 230, un interpréteur 240, un comparateur 250, un compteur de programme 260, une unité de commande de programme 270 et un compteur d'effacement 280. L'unité arithmétique et logique 230 comprend un inverseur 232, un circuit multiplicateur-additionneur 234, un circuit de calcul de décalage-logarithme 236 et un circuit de calcul d'em- placement 238. Lorsqu'un système externe 100 commence à émettre des si- gnaux, des signaux de mots émis sont transmis au générateur de syn- drome 210 par l'intermédiaire d'une ligne 10, et des signaux de mots d'effacement sont transmis aux registres 220 et au compteur d'efface- ment 280 par l'intermédiaire d'une ligne 32. Le générateur de syndrome 210 génère des signaux de syndrome à partir des signaux de mots émis, conformément au format de codes RS. Les signaux de syndrome sont émis vers les registres 220 par l'intermédiaire d'une ligne 12. Les regis- tres 220 enregistrent temporairement chaque signal de syndrome et cha- que signal de mot d'effacement à des adresses correspondantes dans des registres prédéterminés. Chaque fois que le compteur d'effacement 280 reçoit un signal de mot d'effacement par l'intermédiaire de la ligne 32, une valeur de comptage d'effacement qui est enregistrée dans le compteur d'effacement 280 est incrémentée d'une unité, afin de compter la somme de tous les signaux de mots d'effacement. La valeur de comp- tage d'effacement est transmise à l'unité de commande de programme 270 par l'intermédiaire d'une ligne 34. Lorsque le dispositif 200 est activé, l'unité arithmétique et logi- que 230 reçoit des signaux de syndrome et des signaux de mots d'effa- cement, qui sont enregistrés dans les registres 220, par l'intermédiaire respectivement de la ligne 13, de la ligne 14 et de la ligne 15. Après une série de calculs sélectifs dans l'unité arithmétique et logique 230, un si- gnal de réaction est émis par la ligne 16 vers les registres 220 dans les- quels il est enregistré à un emplacement prédéterminé. Au même mo- ment, un signal de déduction est émis par le comparateur 250 pour un calcul de comparaison. Ensuite, un signal de comparaison est émis vers l'unité de commande de programme 270 sur la ligne 22. Sur la base de l'information de sortie du comparateur 250, de la valeur de comptage d'effacement qui provient du compteur d'effacement 280 et de la valeur de comptage de programme qui est enregistrée dans le compteur de programme 260, I'unité de commande de programme 270 détermine si l'adresse de programme doit effectuer un saut ou non, et, dans l'affirmative, vers quelle adresse le saut doit être effectué. Sur la base de la détermination, I'unité de commande de programme 270 émet un signal de commande de programme vers le compteur de programme 260, par l'intermédiaire d'une ligne 28. Un signal de comptage de pro- gramme est émis vers l'interpréteur 240 par l'intermédiaire d'une ligne 24 lorsque le compteur de programme 260 reçoit le signal de commande de programme. Au même moment, le compteur de programme 260 change la valeur de comptage de programme, et il émet ensuite la valeur modifiée, à titre d'information de réaction, vers l'unité de commande de programme 270, sur la ligne 26, à titre de référence pour le décalage de l'unité de commande de programme 270. L'interpréteur 240 émet des signaux d'adresse de registre sur la ligne 20 et un signal de validation sur la ligne 30, respectivement vers les registres 220 et l'unité arithmétique et logique 230, pendant qu'il reçoit le signal de commande de programme provenant du compteur de pro- gramme 260. L'unité arithmétique et logique 230 lit les valeurs enregis- trées en correspondance avec le signal d'adresse de registre, pendant qu'elle reçoit le signal de validation. Du fait de la fonction de déduction qui est accomplie dans l'unité arithmétique et logique 230, il est possible de déterminer la valeur et l'emplacement de mots d'erreur qui existent dans des signaux de mots émis. Dans le but d'accomplir la fonction de déduction, I'unité arith- métique et logique 230 comprend l'inverseur 232, le circuit multiplicateur- additionneur 234, le circuit de calcul de décalage-logarithme 236 et le circuit de calcul d'emplacement 238. L'inverseur 232 effectue un calcul d'inversion sur la valeur d'entrée de l'UAL. Le circuit multiplicateur- additionneur 234 effectue un calcul d'addition et de multiplication sur les valeurs d'entrée de l'UAL. Le circuit de calcul de décalagelogarithme 236 effectue un calcul logarithmique sur les valeurs d'entrée de l'UAL, et il effectue un calcul de décalage sur les valeurs d'entrée de l'UAL, sur la base du résultat du calcul de logarithme, conformément au signal de va- lidation. Le circuit de calcul d'emplacement 238 effectue un calcul d'em- placement. En se référant à la figure 2, on note que le circuit de calcul de décalage-logarithme 236 comprend un calculateur de logarithme 410 et un multiplexeur 420. A titre d'exemple, lorsqu'on calcule des données, une valeur d'entrée de l'UAL est transmise au calculateur de logarithme 410 par l'intermédiaire d'une ligne 402, et des signaux de syndrome dé- calés ainsi que des signaux de syndrome non décalés sont respective- ment émis par celui-ci vers le multiplexeur 420, comme par exemple b0, b2ml, b2m_2..., b1 et b2m l, b2m_2,..., b0, par l'intermédiaire des lignes 412 et 414. Lorsque le multiplexeur 420 reçoit ces signaux et est validé par le signal de validation (décalage), par l'intermédiaire de la ligne 422, le multiplexeur 420 fournit en sortie le résultat du calcul, par la ligne 424. Le calcul de décalage-logarithme qui est effectué dans le circuit de calcul de décalage-logarithme 236 est spécifié ci-dessous: i s'il n'y a pas de décalage a -- - - s'il y a un décalage et i est pair(16) i+(2m-1) = 2m-1 + i-1 s'il y a un décalage et i est impair 2 2 Le procédé de calcul d'emplacement est le suivant a.i + c-i --) ai 1 a-1, et ces deux registres sont définis comme étant les registres r1 et r2. Par conséquent, la valeur du registre r1 est a" et la valeur du registre r2 est a-1. Lorsque le premier signal de mot émis est émis vers le dispositif , la valeur du registre r1 est multipliée par ac1, et ensuite la valeur du registre r1 est remplacée par r1 x a-1. Ceci signifie que si le signal de syndrome est le L-ième signal dans les données émises, la valeur du re- gistre r1 est fixée a an x cca'. Chaque fois que le signal de mot d'efface- ment n'a pas la valeur logique "0", la valeur de r1 est sauvegardée dans un certain registre approprié parmi les registres 220. On peut ensuite effectuer le calcul de la relation de définition Xi = a2i sans le calcul de puissances multiples, c'est-à-dire de puissances supérieures à 2. Cette procédure permet de réduire la complexité du circuit. Précédemment, un décodeur RS était capable de corriger deux erreurs avec une structure de commande par programme reposant sur l'emploi d'un processeur, comme indiqué ci-dessus. Cependant, une structure de commande par programme reposant sur l'emploi d'un pro- cesseur n'est pas pratique, du fait que les formules de calcul deviennent très complexes lorsqu'un décodeur RS doit résoudre plus de deux er- reurs. Par conséquent, un décodeur qui est capable de corriger deux er- reurs existant dans des codes RS répond aux besoins réels. On peut corriger des erreurs et des effacements par les Equa- tions (3) à (10) ci-dessus lorsque (p, q) = (0, 1), (0, 2), (0, 3), (0, 4), (1, 1) ou (1, 2), mais non pour la situation p = 2 et q = O. On peut égale- ment déterminer les erreurs par I'Equation (13) lorsque (p, q) = (1, 0). On peut déterminer la valeur de (Xi, Yi) par des calculs d'addition, de sous- traction et d'inversion mentionnés ci-dessus, et on peut également dé- terminer la valeur d'emplacement ei de Yi. On peut également résoudre les Equations (14) et (15) lorsque p = 2 et q = O: (14) X1 + X2 = SoS3 + S1S2 (14) SiS1 + SoS2 X X = S2S2 + SlS3(15) S1SI + SOS2 Conformément à des procédés de calcul classiques, on effectue par exemple une Recherche de Chien, dans laquelle les formules de cal- cul sont très complexes et les calculs demandent beaucoup de temps. L'invention est capable de décoder les erreurs avec de nouveaux procé- dés de calcul d'emplacement et de décalage-logarithme. L'Equation (14) divisée par l'Equation (16) donne une Equation (17) qui est la suivante (+x)2 -Xl x (X +X2) = X- + X2 = (,1-2) + a(-(1-2) (18) X l.X2 X2 X1 Le procédé de calcul d'emplacement est le suivant ai + a-'i - ai 1 On obtient la valeur de e2 de la même manière que par le calcul de dé- calage-logarithme de l'Equation (16). Avec ce procédé, on obtient les valeurs de X2 etX22. Pour cal- culer la valeur de Y2 par l'Equation (5), il est nécessaire d'effectuer un calcul conformément à ce qui suit i -. ai afin de trouver les valeurs de X1 et X2. On redéfinit l'Equation (5) de façon à éviter le calcul de ai à partir dei, et à résoudre l'équation pour obtenir la valeur Y2 2.Y2 = S2 +1.(20) Y2 + X2 En se référant à l'organigramme de la figure 3, on note que lorsque tous les mots émis ont été introduits dans le décodeur, si les si- gnaux de syndrome sont égaux à zéro, comme déterminé à l'étape 310, ceci signifie évidemment que les mots émis ne contiennent pas de mots d'erreur, et à l'étape suivante, qui est l'étape 340, l'action de décodage est terminée. Si tous les signaux de syndrome ne sont pas égaux à zéro, alors à une étape 312 on teste la valeur de comptage d'effacement qui est enregistrée dans le compteur d'effacement 280. Si la valeur de comptage d'effacement est 1, 2 ou 3, la séquence est aiguillée vers la gauche o on effectue une détermination concernant le fait qu'il existe ou non un mot d'erreur, en utilisant les formules de Syndrome de Forney sé- parément, conformément à l'étape 314, I'étape 316 ou l'étape 318, res- pectivement. Par exemple, à l'étape 318, lorsque la valeur de comptage d'effacement est égale à 1, on évalue les formules de Syndrome de Forney de l'Equation (7). A l'étape 316, lorsque la valeur de comptage d'effacement est égale à 2, on évalue les formules de Syndrome de Forney de l'Equation (8). A l'étape 319, lorsque la valeur de comptage d'effacement est égale à 3, on évalue la formule de Syndrome de Forney de l'Equation (9). Après l'une des étapes mentionnées ci-dessus, on ob- tient les valeurs de Xi, comme X3 à l'étape 320 et X2 à l'étape 322. Lorsque la valeur de comptage d'effacement est égale à 4, alors à l'étape 324, on obtient la valeur de Y4 conformément à l'Equation (3), et on actualise les valeurs de S2, S1 et SO conformément à la valeur de Y4. A l'étape 326, on obtient directement la valeur de Y3 conformé- ment à l'Equation (4), et sur la base de cette valeur de Y3, on actualise les valeurs de S2 et SC. Ensuite, à l'étape 328, on obtient la valeur de Y2 par l'Equation (20), et sur la base de cette valeur de Y2, on actualise la valeur de SO. Ensuite, à l'étape 330, on obtient la valeur de Y1 avec I'Equation (6). Le procédé de calcul de la valeur de Yi commence par la subs- titution de la valeur maximale de "i". La valeur calculée Yi(max) peut être * prise comme un mot d'erreur connu, et ce mot d'erreur peut être considé- ré comme retiré des mots émis. On obtient de nouvelles valeurs de Si par un procédé auquel l'Equation (2) ajoute un supplément. Par exemple, si la valeur de Y4 est connue, alors les nouvelles valeurs de Si sont: So E- So + Y4 S1 -- SO + Y4X4 X25 S2 - S2 + Y4X4 On peut obtenir chaque valeur de Yi correspondant à chaque Xi. De la même manière, lorsque la valeur de comptage d'efface- ment est égale à 3, alors lorsqu'à l'étape 314, le Syndrome de Forney T1 conforme à l'Equation (9) est calculé et contrôlé, si le résultat n'est pas égal à zéro, ceci signifie que les erreurs ne peuvent pas être décodées, et ceci conduit à la terminaison du décodage à l'étape 342. Si le Syn- drome de Forney T1 est égal à zéro, alors la séquence fait l'objet d'un branchement à partir de l'étape de décision 314, et les valeurs de Y1, Y2 et Y sont calculées séparément à l'étape 326, à l'étape 328 et à l'étape 330, comme on l'a déjà décrit. Lorsque la valeur de comptage d'effacement est égale à 2, alors à l'étape de décision 316 les valeurs des Syndromes de Forney T1 et T2 sont calculées et contrôlées conformément à l'Equation (8). Si T1 ou T2, mais non les deux, est égal à zéro, la séquence se termine à l'étape 342. Si T1 et T2 sont tous deux égaux à zéro, alors un branche- ment intervient dans la séquence de processus et les valeurs de Y1 et Y2 sont obtenues séparément à l'étape 328 et à l'étape 330, comme décrit précédemment. Lorsque la valeur de comptage d'effacement est égale à 1, l'opération de l'étape de décision 318 est accomplie pour calculer et contrôler les Equations de Syndrome de Forney (7) pour T1, T2 et T3. Si I'un au moins des syndromes T1, T2 et T3, mais pas tous, sont égaux à zéro, le décodage ne peut pas être effectué, ce qui occasionne la termi- naison du décodage par l'étape 342. Si T1, T2 et T3 sont tous égaux à zéro, alors la valeur de Y1 est obtenue à l'étape 330, comme décrit pré- cédemment. Lorsque les valeurs Yi conforme à la série d'étapes décrites ci- dessus sont déterminées, on détermine les emplacements ei correspon- dant à Yi (les valeurs de gi sont obtenues par l'opération de décalage- logarithme sur Xi, comme décrit ci-dessus), A l'étape 332 suivante, on détermine si egi est dans la plage correcte ou non. Du fait que la somme des signaux de syndrome qui sont introduits est égale à n, la valeur de gi doit être dans la plage de 0 à n-1. Si gi est à l'extérieur de la plage cor- recte, le décodage n'est pas possible et il est arrêté à la case 342. Lorsque la valeur de comptage d'effacement est égale à 0, le décodage peut être accompli d'une manière similaire aux étapes décrites dans ce qui précède. La séquence fait l'objet d'un branchement à partir de la case de décision 312 vers l'étape 334 à laquelle le nombre de mots d'erreur est calculé conformément à l'Equation (12). Lorsque certaines, c'est-à-dire une ou plusieurs, des quantités qui sont calculées dans l'Equation (12), mais pas toutes, sont égales à zéro, le décodage ne peut pas être résolu et il est terminé à la case 340. Lorsque aucune des quantités qui sont calculées avec l'Equation (12) n'est égale à zéro, c'est-à-dire que l'on a p = 2, les valeurs de X2etX2 conformes aux Equations 14-19 et ensuite Y2 sont calculés et S0 est actualisé, respecti- vement aux étapes 336 et 328. Lorsque les quantités qui sont calculées avec l'Equation (12) sont toutes égales à zéro, c'est-à-dire que l'on a p = 1, la valeur de X1 est calculée à l'étape 338, et la valeur de Y1 est cal- culée à l'étape 330. Le test à l'étape 332 est ensuite effectué pour con- trôler que la plage est correcte, comme décrit précédemment. En conclusion, I'invention procure un nouveau procédé de dé- codage de codes RS dont la distance de Hamming est égale à 5, par l'utilisation du programme pour commander le partage de l'information dans la structure basée sur un processeur, et par l'utilisation du calcul d'emplacement pour éviter le calcul redondant d'une Recherche de Chien. Un point important consiste en ce que l'unité arithmétique et logique de- vient ainsi très simple, en l'absence de la nécessité d'effectuer des cal- culs de puissances. Seules les quatre sortes de calculs suivantes sont exigées: i Calcul d'inversion: a- -- a Calcul de multiplication-addition: a, b, c -- a.b+c Calcul de décalage-logarithme: voir l'Equation (16) Calcul d'emplacement: voir l'Equation (17) Dans le cas d'un code RS raccourci, avec n: 2m, on peut sim- plifier encore davantage le matériel du circuit de calcul de décalage- logarithme et du circuit de calcul d'emplacement dans l'unité arithmétique et logique 230. Premièrement, le circuit de calcul de décalage-logarithme peut calculer la valeur de egi en utilisant Xi et X?2. Ceci n'a un sens que lorsque êi est dans la plage de 0 à n-1, et le décodage ne peut pas être accompli lorsque egi est à l'extérieur de la plage. Par conséquent, la table de logarithmes (non représentée) dans le circuit de calcul de décalage- logarithme 236 de la figure I correspond seulement aux valeurs allant de 0 à 2n-1. Si la valeur introduite est à l'extérieur de la plage valide, le cir- cuit de calcul de décalage-logarithme fournit en sortie un indicateur d'er- reur. En ce qui concerne le circuit de calcul d'emplacement 238, du fait que (e1-e2) est dans la plage allant de 1 à n-1 (lorsque e1 > e2), con- formément à l'Equation (17), la valeur de sortie du circuit de calcul d'em- placement 238 doit être dans la plage de 1 à 2m-1. Par conséquent, le calcul d'emplacement peut être exécuté dans la plage de 1 à Max(2m'1, n-1). Si la valeur est à l'extérieur de cette plage, un indicateur d'erreur est émis pour montrer que le décodeur ne peut pas corriger des mots d'erreur quelconques, c'est-à-dire que le code ne peut pas être résolu. Par conséquent, dans le mode de réalisation préféré avec le décodeur détectant des codes RS dont la distance de Hamming est de 5, le calcul de puissances n'est pas nécessaire. Ceci permet une simplifica- tion de l'unité arithmétique et logique. Elle n'a pas à exécuter de façon répétée des calculs complexes lorsqu'il y a deux mots d'erreur et il n'y a pas de mot d'effacement. La vitesse de décodage est donc augmentée. En outre, l'invention procure un perfectionnement important dans des domaines concernant le décodage de codes RS. Il va de soi que de nombreuses modifications peuvent être ap- portées au procédé et au dispositif décrits et représentés, sans sortir du cadre de l'invention. REVENDICATIONS 1. Procédé de décodage d'erreur pour décoder des signaux de syndrome utilisant des codes de Reed-Solomon, les codes de Reed- Solomon étant définis sous la forme RSm(n, k), dans laquelle m est un nombre de bits de chaque signal de syndrome, n est une longueur des codes de Reed-Solomon, k est une longueur de mots d'information dans les codes de Reed-Solomon, et les codes de Reed-Solomon comprennent p mots d'erreur et q mots d'effacement, et dans laquelle n 2p+q Solomon, ce procédé de décodage d'erreur étant caractérisé en ce qu'il comprend les étapes suivantes: (a) on décode les syndromes, en obte- nant à partir de ceux-ci les mots d'erreur et les mots d'effacement qui existent dans chacun des signaux de syndrome, et on détermine les nombres p et q pour chacun des syndromes; (b) on obtient des premier et second emplacements d'erreur à partir des équations X12 = 2e1 etX2 =a22, par un calcul d'emplacement lorsqu'il y a deux mots d'erreur et aucun mot d'effacement dans chacun des syndromes, les syn- dromes ayant deux erreurs étant définis par l'expression Sk XJ Y. 0 dans laquelle X1 = ao, X2 = cr2, e1 et e2 définissent les empla- cements des deux mots d'erreur, et Y1 et Y2 sont les valeurs des deux mots d'erreur; (c) on obtient e1 et e2 conformément à oa2el et a2ú2 en ef- fectuant des opérations de calcul de logarithme et de décalage; et (d) on obtient Y1 et Y2 en effectuant une série d'opérations arithmétiques de produit et de somme, conformément à X2 = -21, X2 = oa22 2. Procédé de décodage d'erreur selon la revendication 1, ca- ractérisé en ce qu'il comprend en outre les étapes suivantes: on déter- mine des valeurs SA, SB et Sc en évaluant les trois égalités suivantes lorsqu'il n'y a pas de mots d'effacement dans les syndromes: SA = SlS1 + S0S2 SB = S2S2 + SlS3 SC = SOS3 + SlS2 et ensuite: on détermine que p est égal à I lorsque SA, SB, SC sont toutes égales à zéro; on détermine que p est égal à 2 lorsque aucune des valeurs SA, SB, SC n'est égale à 0; et on détermine que p ne peut pas être déterminé lorsqu'une seule ou deux des valeurs SA, SB, SC sont égales à 0. 3. Procédé de décodage d'erreur selon la revendication 1, ca- ractérisé en ce que l'étape (b) comprend le calcul d'emplacement confor- mément à ce qui suit: ci + i 1 4. Procédé de décodage d'erreur selon la revendication 3, ca- ractérisé en ce que, lorsque p = 2 et q = 0, I'étape (b) comprend l'évalua- tion de X + X SOS3 + SlS2 S1S1 + SoS2 xv. v S2S2 + SlS3 "1 À 2 S1S + SoS2 5. Procédé de décodage d'erreur selon la revendication 4, ca- ractérisé en ce que l'étape (c) comprend l'obtention de e1 et e2 pour dé- terminer les emplacements des mots d'erreur en évaluant ce qui suit X2 = (2ú1 X2 = a22 6. Procédé de décodage selon la revendication 5, dans lequel l'étape (c) comprend en outre l'évaluation de ce qui suit: i s'il n'y a pas de décalage (a - 2s'il y a un décalage et i est pair 4(2m - 1) +i-1 ( 2 -) = 2m-1 + i2s'il y a un décalage et i est impair 2 2 7. Procédé de décodage d'erreur selon la revendication 6, ca- ractérisé en ce que l'étape (d) comprend l'obtention des valeurs des deux mots d'erreur Y1 et Y2 par l'évaluation de ce qui suit = S2 + X2. So Y2 = s2 1 2 Xi + X2 S0 - So + Y, Y1 = SO 8. Dispositif pour décoder des mots d'erreur et des mots d'effa- cement qui existent dans des signaux de mots émis à partir d'un système externe (100), utilisant des codes de Reed-Solomon, caractérisé en ce qu'il comprend: (a) un générateur de syndrome (210) destiné à recevoir les signaux de mots émis provenant du système externe (100), et à géné- rer des signaux de syndrome; (b) un compteur d'effacement (280) destiné à recevoir les mots d'effacement provenant du système externe (100) et à incrémenter d'une unité une valeur de comptage d'effacement qui est en- registrée dans le compteur d'effacement (280), chaque fois qu'un mot d'effacement est reçu; (c) une structure de registres (220), couplée au générateur de syndrome (210) pour recevoir des signaux de syndrome provenant du générateur de syndrome, et ayant une entrée pour recevoir les bits d'effacement provenant du système externe (100), pour enregis- trer les signaux de syndrome et les bits d'effacement dans des emplace- ments prédéterminés de la structure de registres (220); (d) des moyens arithmétiques et logiques (230), couplés à la structure de registres (220), pour lire les valeurs enregistrées dans la structure de registres, effectuer une opération prédéterminée, de façon à générer un premier signal de réaction et un signal de déduction, et fournir le premier signal de réaction à la structure de registres (220); (e) un comparateur (250), couplé aux moyens arithmétiques et logiques (230), pour recevoir le signal de dé- duction et effectuer une opération de comparaison de façon à générer un signal de comparaison; (f) une unité de commande de programme (270), couplée au comparateur (250) et au compteur d'effacement (280), pour recevoir le signal de comparaison provenant du comparateur (250), et lire la valeur de comptage d'effacement qui est enregistrée dans le compteur d'effacement (280), et pour fournir en sortie un signal de commande de programme; (g) un compteur de programme (260), couplé à l'unité de commande de programme (270), et réagissant au signal de commande de programme en générant un signal de comptage de programme et un se- cond signal de réaction, et en émettant le second signal de réaction vers I'unité de commande de programme (270), grâce à quoi l'unité de com- mande de programme réagit au second signal de réaction en changeant sélectivement le signal de commande de programme; et (h) un interpré- teur (240), couplé au compteur de programme (260) et réagissant au si- gnal de comptage de programme, de façon à générer un signal d'adresse de registre et un signal de validation, I'interpréteur (240) étant couplé à la structure de registres (220) pour lui fournir le signal d'adresse de re- gistre et couplé aux moyens arithmétiques et logiques (230) pour leur fournir le signal de validation, les moyens arithmétiques et logiques (230) réagissant au signal de validation en lisant les signaux de syndrome et les mots d'effacement qui sont enregistrés dans la structure de registres (220), conformément au signal d'adresse de registre, afin de décoder les mots d'erreur dans les signaux de mots émis. 9. Dispositif selon la revendication 8, caractérisé en ce que les moyens arithmétiques et logiques (230) comprennent: un inverseur (232) pour effectuer un calcul d'inversion sur les signaux de syndrome; des moyens multiplicateurs-additionneurs (234), pour effectuer un calcul d'addition et un calcul de multiplication sur les signaux de syndrome; des moyens de calcul de décalage-logarithme (236), pour effectuer un calcul logarithmique sur le signal de syndrome, et pour effectuer un calcul de décalage sur un résultat du calcul logarithmique, conformément au signal de validation; et des moyens de calcul d'emplacement (238) pour effec- tuer un calcul d'emplacement. 10. Dispositif selon la revendication 8, caractérisé en ce que l'opération prédéterminée est exécutée sélectivement en faisant fonc- tionner l'inverseur (232), les moyens multiplicateurs-additionneurs (234), les moyens de calcul de décalage-logarithme (236) et les moyens de cal- cul de position (238), dans les moyens arithmétiques et logiques (230), afin de générer le premier signal d'algorithme de réaction et le signal de déduction.