FR2673341A1 - Agencement de circuit pour detecter et corriger des defauts dans des mots de donnees. - Google Patents

Agencement de circuit pour detecter et corriger des defauts dans des mots de donnees. Download PDF

Info

Publication number
FR2673341A1
FR2673341A1 FR9201750A FR9201750A FR2673341A1 FR 2673341 A1 FR2673341 A1 FR 2673341A1 FR 9201750 A FR9201750 A FR 9201750A FR 9201750 A FR9201750 A FR 9201750A FR 2673341 A1 FR2673341 A1 FR 2673341A1
Authority
FR
France
Prior art keywords
values
value
block
data
counter
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
FR9201750A
Other languages
English (en)
Other versions
FR2673341B1 (fr
Inventor
Mester Roland
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Philips GmbH
Original Assignee
BTS Broadcast Television Systems GmbH
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by BTS Broadcast Television Systems GmbH filed Critical BTS Broadcast Television Systems GmbH
Publication of FR2673341A1 publication Critical patent/FR2673341A1/fr
Application granted granted Critical
Publication of FR2673341B1 publication Critical patent/FR2673341B1/fr
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/13Linear codes
    • H03M13/15Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
    • H03M13/151Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes using error location or error correction polynomials
    • H03M13/1545Determination of error locations, e.g. Chien search or other methods or arrangements for the determination of the roots of the error locator polynomial

Landscapes

  • Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Algebra (AREA)
  • General Physics & Mathematics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Error Detection And Correction (AREA)
  • Detection And Correction Of Errors (AREA)

Abstract

a) Agencement de circuit pour détecter et corriger des défauts dans des mots de données, b) agencement caractérisé en ce qu'il comporte un compteur progressif (22, 23, 24) pour le comptage progressif des mots de données se trouvant dans un bloc de données et pour délivrer une valeur de cible (X) lors de la détermination d'une mise à zéro selon Chien, - une première mémoire à empilage (25) dans laquelle sont susceptibles d'être inscrites les valeurs de comptage (X) délivrées par le compteur progressif (22, 23, 24), - une troisième mémoire à empilage (26), - un compteur dégressif pour des comptages dégressifs débutant avec la valeur d'une longueur de bloc. c) L'invention se rapporte aux agencements de circuits pour détecter et corriger des défauts dans des mots de données.

Description

"Agencement de circuit pour détecter et corriger des défauts dans des mots
de données " L'invention part d'un agencement de circuit pour détecter et corriger des défauts dans des mots de données de blocs de données codées Reed-Solomon-(RS), avec: un dispositif pour la formation de syndromes dans le flux de données des blocs codés RS, un dispositif pour déterminer des effacements dans les syndromes ainsi formés, un dispositif pour l'application d'un algorithme euclidien dans lequel: T (x) = (Q (x))TS (x) + Ts-2 (x), s Qs-i)s-i Ts-215 Rs (x) (Qs 1 (x))R _ 1 (x) + Rs-2 (x)et Qs-1 (x) = Rs_ 2 (x)/Rs-1 (x) ist Ts(x) étant un polynôme d'emplacement de défaut, Rs(x) un polynôme de valeur de défaut et Qs-1 (x) un polynôme de valeur intermédiaire, et une normalisation de Rs(x) et Ts(x) peut s'effectuer avec un très bas coefficient25 Ts( 0) = 6, de sorte que l'on a: R(x) = R 5 (x)/ 6, T(x) = T (x)/d un dispositif pour déterminer des emplacements de défauts Xk et des valeurs de défauts Yk par une recherche de mise à zéro selon Chien avec la relation: R(Xk) Yk b r X k T'(Xk) dans laquelle, T'(Xk) est la première dérivée à un emplacement Xk un dispositif pour corriger des mots de données adaptés à des durées de signaux à l'intérieur d'un bloc de données codées RS adjacent à l'aide des emplacements de défauts Xk et des valeurs de défauts Yk ainsi déterminés, Un code RS est un bloc de code systématique de longueur n, dans lequel sont ajoutées à k symbole d'informations (n k) = p mots de contrôle Les symboles d'informations ne sont pas modifiés par un processus de codage Le code RS a une distance de Hamming minimale d = p + 1, qui lors d'un décodage peut être mis en oeuvre en étant librement choisi pour la détection de défauts ou pour la correction de défauts. Lors d'un décodage, il n'est pas fait de différenciation entre les mots de données et les mots de contrôle Un bloc de code RS est constitué de n symboles, tout nombre de chiffres binaires supérieur ou égal à 1 étant possible pour un symbole On part habituellement d'une étendue de symboles de 8 chiffres binaires Pour chaque défaut de symboles t, 2 t mots de contrôle sont utilisés pour une correction, afin de calculer un emplacement de défaut Xi et une valeur de défaut Yi Si le symbole défectueux est repéré en tant
qu'effacement, l'emplacement de défaut Xi est connu.
Dans ce cas, un mot de contrôle unique est seulement utilisé pour le calcul de la valeur de défaut Yi Pour le code RS, on a la relation 2 t + e < p = N k = d -
1, le nombre des effacements étant désigné par i.
D'autres particularités concernant le code RS peuvent être relevées dans le périodique 'IBM-Journal RES DEVELOP': "on-the-fly décoder for multiple byte
errors" Vol 30, NO 3, Mai 1986, pages 259 à 269.
Par le rapport de réunion scientifique 'IEEE 1990 Custom Integrated Circuits Conference': "A 40 M Hz Endoder/Decoder Chip generated by a Reed-Solomon Code
Compiler", pages 13 5 1 et 13 5 4, CH 2860-5/90/0000-
0065, on connaît déjà un agencement de circuit pour le décodage de données codées RS Dans ce cas, sont tout d'abord calculés, dans un premier étage, des syndromes
de mots de données reçus d'une ligne de transmission.
Dans un second étage branché à la suite, des polynômes d'emplacements de défauts et de valeurs de défauts, sont calculés selon un algorithme euclidien à partir des syndromes ainsi calculés, et ils sont ensuite soumis dans un troisième étage à une recherche de mise à zéro selon Chien Avec les emplacements et les valeurs de défauts déterminés de cette façon, la correction proprement dite des données adjacentes est effectuée dans un quatrième étage par une combinaison EXOR. La présente invention a pour but de proposer un agencement de circuit du type initialement mentionné, qui corrige en temps réel des données d'un flux de données continu, comportant un débit de
données élevé, par exemple supérieur à 40 M Bit/s.
Ce but est atteint, conformément à l'invention, par un agencement de circuit caractérisé en ce qu'il comporte: un compteur progressif pour le comptage progressif des mots de données se trouvant dans un bloc de données, et pour délivrer une valeur de cible lors de la détermination d'une mise à zéro selon Chien, une première mémoire à empilage dans laquelle sont susceptibles d'être inscrites les valeurs de comptage délivrées par le compteur progressif et qui sont susceptibles d'être lues à la fin de chaque bloc de données pour inscription dans une seconde mémoire à empilage qui est susceptible d'être commandée par un signal de commande, une troisième mémoire à empilage dans laquelle sont susceptibles d'être inscrites les valeurs de défauts simultanément avec l'inscription correspondante des valeurs de comptage dans la première mémoire à empilage et qui sont susceptibles d'être lues à la fin d'un bloc de données pour inscription dans une quatrième mémoire à empilage qui est susceptible d'être commandée par un signal de commande, un compteur dégressif pour des comptages dégressifs débutant avec la valeur d'une longueur de bloc, un dispositif pour comparer la valeur de comptage présente à un emplacement le plus élevé dans la seconde mémoire à empilage avec les valeurs de comptage délivrées par le compteur dégressif pour permettre la dérivation du signal de commande en cas d'identité des valeurs de comptage, un étage EXOR à l'une des entrées duquel est appliquée en fonction du signal de commande, la valeur de défaut présente à un emplacement le plus élevé dans la quatrième mémoire à empilage, à l'autre entrée duquel s'appliquent les mots de données adaptés à la durée du signal, et à la sortie duquel peuvent être prélevés les mots de données
corrigés des défauts.
L'agencement de circuit selon l'invention avec les caractéristiques indiquées ci-dessus, présente l'avantage que grâce à cet agencement et à l'exploitation spéciale de plusieurs mémoires à empilage, des opérations de correction peuvent être effectuées en temps réel pour un nombre quelconque de défauts Il est particulièrement avantageux dans ce cas, que les opérations de correction puissent s'effectuer sous la forme d'une "commande automatique". Grâce à d'autres dispositions de l'invention, des compléments avantageux et des
améliorations de l'agencement de circuit indiqué ci-
dessus, sont possibles.
Suivant une autre caractéristique de l'invention le compteur progressif comporte un premier étage multiplexeur avec un premier registre branché à la suite, dans lequel au début du bloc est appliquée, à une entrée de l'étage multiplexeur, la valeur a O = 1 et dans lequel pendant le reste du temps, se trouvent à une autre entrée de l'étage multiplexeur, des valeurs, multipliées par une valeur a' des valeurs de
sortie délivrées par le registre.
Suivant une autre caractéristique de l'invention, le compteur dégressif comporte un second étage multiplexeur avec un second registre branché à la suite, dans lequel au début du bloc la valeur d'une longueur de bloc est appliquée à une entrée du second étage multiplexeur et dans lequel, pendant le reste du temps, se trouvent à une autre entrée du second étage multiplexeur, des valeurs de sortie délivrées par le
second registre.
Un exemple de réalisation de l'invention est représenté aux dessins ci-joints et va être exposé
plus en détail à la description ci-après.
la figure 1 est un schéma par blocs
sommaire d'un décodeur RS connu.
la figure 2 est un schéma par blocs détaillé de l'étage de recherche Chien conforme à l'invention et indiqué à la figure 1, la figure 3 est un schéma par blocs détaillé de l'étage de correction selon l'invention
indiqué sur la figure 1.
Conformément à la définition, chaque symbole, avec m chiffres binaires dans le code RS est l'élément d'un champ de Galois (GF( 2 m) La séquence des 2 m symboles, en tant que base de l'arithmétique de champ fini, est définie par le polynôme générateur de champ p(x) L'étendue des symboles limite la longueur maximale du bloc d'un code RS de 2 m-1, car les éléments du champ sont utilisés comme nombres de positions univoques dans le bloc Dans ce cas, un zéro est un élément neutre en ce qui concerne l'addition et une expression a O = 1 est un élément neutre d'une multiplication Un champ est ainsi défini par l'intermédiaire d'un polynôme générateur de champ irréductible Si un élément primitif a du nombre d'emplacements m est défini, tous les éléments
suivants peuvent être exprimés en puissance de a.
Comme a est une racine de p (x) et, comme en outre, seulement m racine différente de zéro existe, p(x) = O est valable pour tous les autres éléments Le champ de Galois peut ainsi être défini comme une série finie de 2 m-1 éléments La représentation binaire des composants permet alors une simple addition par l'intermédiaire d'une combinaison EXOR de mode binaire et une représentation exponentielle permet une multiplication simple par l'intermédiaire d'une addition des exposants modulo q = 2 m-1 Cela correspond, lors d'une transposition dans un circuit, à un totalisateur binaire dont la sortie de
transmission est reliée à une entrée de transmission.
Un code RS de distance d sur le champ obtenu par p(x) est défini par l'intermédiaire du polynôme générateur de code G(x) b+(d-2) d-1 G(x) = (x + ai) = gix 1 i = b i= O
Dans le présent exemple b est posé égal à 0.
b peut toutefois être également une constante quelconque dans le GF( 2 m) Un vecteur de code légal c(x) résulte de la division par G(x) d'un vecteur d'informations i(x)*x P décalé de p emplacements, et insertion du vecteur de parité p(x) alors obtenu dans les emplacements devenus libres du vecteur d'informations i(x) Le vecteur de code c(x) résultant est alors divisible sans reste par toutes les racines
de G(x).
Comme cela a été mentionné au début, un bloc de code c(x) transmis, codé RS, est constitué par k emplacements d'informations auxquels font suite p mots de contrôle Grâce à cette construction de code, il est garanti que c(x) est divisible sans reste par toutes les racines, par G(x), tant qu'il ne survient pas de défauts e(x) ou d'effacements u(x) Le développement d'un vecteur de réception r(x) sur les racines du polynôme générateur de code G(x) produit des valeurs qui sont dépendantes des défauts reçus, mais non pas de l'information transmise i(x) Ces valeurs sont désignées sous le nom de syndrome Les m syndromes Si (j = O d-2) sont calculés d'après l'égalité: n- 1 i*(b+j) Yxt-1 <b+) b+j i(+) Sb+j = E r (a) = E Yk(Xk)(b+ J) i= O k= O Le vecteur reçu (x) peut être décrit comme suit dans une représentation par un polynôme: n-1 n-2 1 r(x) n X rn_ 2 x + +rx +r O x désigne alors une position dans le polynôme pour chaque symbole reçu ri Le premier symbole (de données) reçu est rn_, le dernier symbole (de parité) est r O Pour la mémorisation du polynôme,
seuls les coefficients ri doivent être déposés.
Comme le développement d'un vecteur de réception sans défaut r(x) à un emplacement zéro du polynôme générateur de code, délivre la valeur zéro, il y a lieu de considérer les valeurs de syndromes en tant que sommes des défauts pondérés en position Yk aux emplacements Xk Les syndromes représentent alors des restes d'une division du flux de données r(x) par tous les facteurs (x+ai) du polynôme générateur de code, auquel cas on a: e+t-1 j S = Yk (Xk) (pour tous les syndromes 50 Sd-2 J k=O en cas de b= 0) Si, lors d'un effacement, la position d'un Xk survenant est maintenue, il peut alors être calculé avec p syndromes et p emplacements de défauts Xk jusqu'à e = p effacements, tant que l'on a 2 t + e S p,
t étant le nombre des défauts non repérés.
Les syndromes forment, d'après l'égalité précédemment mentionnée, un jeu de p égalités non linéaires, de sorte que p solutions peuvent être des coefficients d'un polynôme d'emplacements de défauts qui prend la valeur zéro aux emplacements de défauts. Un décodage de bloc de données codées RS selon l'algorithme euclidien mentionné, est indiqué dans la publication 'IEEE Proceedings': "Simplified procedure for correcting both errors and erasures of RS code using Euclid algorithm", Vol 135, Pt E, N 6,
Novembre 1988, par Truong Eastman Reed HSU.
L'algorithme euclidien peut être divisé selon les étapes suivantes: 1. calcul du syndrome Sj ainsi que du polynôme des emplacements d'effacements L(x) et pose de e=deg {L(x)}. 2 calcul du syndrome dit de Forney t(x) = S(x)L(X) mod xd-1 3. Pour e = d-1 = p il est posé T(x) = L(x) et R(x) = T(x) Autrement, T(x) et R(x) sont déterminés par application d'un algorithme euclidien Cet algorithme euclidien est constitué par les formules récursives suivantes: Ts(x) = (Q l(x))Ts-l(x)+Ts 2 (x) Rs(x) = (Qs 1 (x))R 51 (x)+R 2 (x) Qs-1 (x) = RS_ 2 (x)/R 1 (x) avec les valeurs de début:
T O (x)=L(x), T_ 1 (x)= 0, R_ 1 (x)=xd-1, R O (x) = t(x).
Ts(x) est un polynôme d'emplacement de défaut, Rs(x) est un polynôme de valeur de défaut et
Qs_ 1 (x) est un polynôme de valeur intermédiaire.
Ensuite, Rs(x) et Ts(x) peuvent être normalisés avec le coefficient le plus bas Ts( 0) = 6, auquel cas, on a R(x) = R,(x)/6 et T(x) = T,(x)/d R(x) et T(x) sont
les résultats de l'algorithme euclidien -
Les racines de T(x) sont des emplacements inverses (décomptés de façon régressive) de défauts et d'effacements Xk-1 Les différents emplacements de défauts Xk 71 sont trouvés dans le présent exemple de réalisation grâce à une recherche de mise à zéro d'après Chien Simultanément au cours de ce processus, les valeurs de défauts Yk sont déterminées au moyen de la relation R(Xk) k Xk * T'(Xk) T'(Xk) est alors la première dérivée de T à l'emplacement Xk Auquel cas, en totalisant N fois, on obtient zéro pour N pair et l'élément lui-même pour n impair Grâce à cette mesure, l'emplacement de défaut recherché et la valeur de défaut correspondante sont
ainsi déterminés.
La figure 1 montre le schéma par blocs
sommaire d'un décodeur RS Dans ce schéma, la
référence 1 désigne une liaison périphérique de données par l'intermédiaire de laquelle des mots de données Din, d'une étendue de huit chiffres binaires, des blocs de données codés RS sont amenés, d'une part, à un dispositif de temporisation 2 et, d'autre part, à un bloc fonctionnel 3 qui sert essentiellement à former des syndromes En parallèle à la liaison périphérique de données 1, un signal de défaut E Fin est amené par l'intermédiaire d'une liaison 4 au dispositif de temporisation 2 et au bloc fonctionnel 3. Dans le bloc fonctionnel 3, les syndromes sont calculés par 16 générateurs de syndromes Ces il générateurs de syndromes forment le reste d'une division c(x)/(x + ai) Les générateurs de syndromes sont initiés respectivement au début du bloc, en ce qu'une rétro-action est coupée par l'intermédiaire d'une porte ET Dans le présent cycle, les syndromes du dernier bloc sont transmis à un bloc fonctionnel 5 dans lequel sont déterminés des effacements selon l'algorithme euclidien mentionné En outre, dans le bloc fonctionnel 3, sont déterminées trois sortes d'effacements L(x) A cet effet, un générateur décompte toutes les positions dans le bloc Lors de l'apparition d'un effacement, son emplacement est mémorisé dans un registre libre Ces registres sont
également mis à la valeur zéro au début du bloc.
Lorsque plusieurs effacements interviennent, comme cela est prédéfini par une limitation de correction, L(x) est mis à zéro Dans ce cas, il peut être recherché une correction limitée des défauts Le vecteur d'effacement L(x) est inversé dans le bloc
fonctionnel 5 sur la longueur du bloc.
Le bloc fonctionnel 5 comprend plusieurs bancs de registre d'une largeur de 16 à 17 groupes de chiffres binaires (un groupe de chiffres binaires = 8 chiffres binaires) Comme la fonctionnalité du bloc fonctionnel est connue en soi, il n'est pas nécessaire de s'étendre plus longuement sur elle dans ce contexte Aux sorties du bloc fonctionnel 5, sont susceptibles d'être prélevés les polynômes d'emplacements de défauts T,(x) ainsi que les polynômes de valeurs de défauts R,(x) mentionnés au début, qui ont été déterminés par une division et
addition de polynômes.
Dans les blocs fonctionnels 6 et 7 branchés à la suite, qui sont décrits en détail en corrélation avec les figures 2 et 3, les positions zéro des polynômes Te(x) et R 3 (x) sont déterminées, et avec les valeurs de défauts Yk et les emplacements de défauts Xk ainsi obtenus, la correction des mots de données entachés d'erreurs est effectuée, ces corrections étant appliquées conjointement avec le signal de défaut en provenance de la sortie du dispositif de temporisation 2 au bloc fonctionnel 7 La commande des quatre blocs fonctionnels 3 à 7 ainsi que du dispositif de temporisation 2, est assurée par un dispositif de commande 8 A la sortie du bloc fonctionnel 7, il peut être prélevé sur une ligne périphérique de données 9, un flux de données avec des mots de données Dout d'une étendue de 8 chiffres binaires, dont les mots de données défectueux dans le cadre de la possibilité de correction du dispositif de décodage, sont corrigés De tels blocs de données, qui dépassent la possibilité de correction du dispositif de décodage, sont caractérisés par un signal de défaut EFO Ut qui est transmis sur une liaison 10 en parallèle avec les données délivrées par l'intermédiaire de la
ligne périphérique de données 9.
Le bloc fonctionnel 6 représenté sur la figure 1, est représenté plus en détail sur la figure 2 Les éléments identiques sont pourvus des mêmes références Les polynômes délivrés par le bloc fonctionnel 5 sont appliqués dans le présent exemple
de réalisation à 33 unités d'un décodeur cyclique 11.
Le schéma par blocs d'une unité du décodeur cyclique Il est représenté plus en détail dans le bloc encadré en traits points Ensuite, au début du bloc, les signaux adjacents du polynôme sont chargés par l'intermédiaire d'un multiplexeur 12 dans un registre 13 Puis chaque élément Ri ou bien Ti est multiplié cycliquement avec les symboles a-i mis à disposition dans un bloc 14 S'il est trouvé de cette façon, une valeur nulle T(x), c'est-à-dire si la somme de tous les Ti est égale à 0, alors la valeur du défaut peut être calculée sous la forme Yk = R(xk)/T'(xk) pour le
cas b = 0.
La dérivée T'(x) donne de façon correspondante aux règles de calcul dans le champ Galois, le polynôme des coefficients pairs de T De tels décodeurs cycliques sont connus par la publication mentionnée au début IBM-Journal RES
DEVELOP, Vol 30, Mai 1986, pages 259 à 269.
Les signaux délivrés par les différents décodeurs cycliques sont rassemblés dans des étages de totalisation 15, 16 et 17 Les sommes Val, Even Sum et Odd Sum à la sortie des étages de totalisation 15 à 17, sont l'EXOR sur tous les chiffres binaires d'un plan Dans le cas présent, le chiffre binaire O est par exemple formé de la somme Val par l'intermédiaire d'un EXOR répété 16 fois des chiffres binaires O de RO à R 15 Une division R/T' est réalisée sous la forme d'une multiplication avec les inverses Ce processus de calcul s'effectue par les étages 18 et 19 Les sommes Even Sum et Odd Sum sont amenées conjointement dans un étage de totalisation 20, l'interrogation à zéro, dans un étage 21 Si le signal 'Found' à la sortie de l'étage 21 a un niveau élevé, alors la valeur d'un compteur de positions qui est constitué par un multiplexeur 22, un registre 23 et un étage 24, est déposée simultanément avec la valeur de défaut trouvée Yk sur l'empilage d'une mémoire à empilage 25 pour des valeurs d'emplacements de défauts Xi On supposera dans le présent exemple, que le ou bien les
mémoires à empilage sont constituées de 16 registres.
Le dépôt sur l'empilage de la mémoire à empilage 25 s'effectue dans un registre O, tandis que les valeurs qui étaient jusque là celles des registres O à 14, avancent respectivement d'une position sur les registres 1 à 15 Le contenu du registre 15 est alors perdu L'empilage remplit la fonction de ce que l'on appelle un LIFO's (Last In/First Out), car l'algorithme de recherches selon Chien calcule des emplacements de défauts inverses en successions régressives En parallèle à la mémoire à empilage 25 est exploitée une mémoire à empilage 26 qui mémorise
les valeurs de défauts Yi.
La figure 3 montre un schéma par blocs du bloc fonctionnel 7 Dans ce schéma, la référence 27 désigne une mémoire à empilage pour des valeurs Xk des emplacements de défauts, et la référence 28 désigne une mémoire à empilage pour les valeurs de défauts Yk* Les valeurs Xk des emplacements de défauts et Yk des défauts, sont prises en charge en parallèle à la fin d'un bloc de données, par les valeurs se trouvant dans les mémoires à empilage 25 et 26 L'agencement de la figure 2 peut ainsi être à nouveau initialisé et est ainsi ensuite disponible pour une nouvelle recherche Chien. Dans l'agencement à la figure 3, la succession des valeurs Xk et Yk est inversée par un compteur de positions inversé Ce compteur de positions inversé est constitué par un multiplexeur 29, un registre 30 et un étage 31 L'agencement est tel qu'au début du bloc, le registre 30 est chargé par l'intermédiaire du multiplexeur 29 avec la valeur terminale de la longueur de bloc Les valeurs de sortie du registre 30 sont, pendant le reste du temps, réinjectées par l'intermédiaire de l'étage 31 avec des valeurs des symboles a 1 et donc multipliées Un emplacement de défaut Xk est alors trouvé lorsque les données délivrées par le compteur de positions inversé sont identiques avec le contenu d'un registre O dans la mémoire à empilage 27 La comparaison est effectuée dans un étage de comparaison 32 qui délivre un signal de sortie correspondant 'Found' Ce signal 'Found' représente un signal d'impulsion de porte pour une porte ET 33 qui est reliée à une autre sortie de la mémoire à empilage 28 La valeur de défaut Yk se présentant à la sortie de la porte ET 33 est combinée logiquement dans un étage EXOR 34 avec la valeur de données Din retardée dans le dispositif de
temporisation 2 et la correction est ainsi effectuée.
Le signal de défaut E Fin également retardé par le dispositif de temporisation 2, arrive en fonction du dispositif de commande 8 du décodeur RS, par l'intermédiaire d'un étage 35 à la liaison de sortie 10 Lors de la présence d'un niveau logique élevé dans le signal 'Found', la valeur la plus élevée dans les mémoires à empilage 27 et 28 est simultanément enlevée Cela signifie que les registres 1 à 15 se trouvant dans les mémoires à empilage 27 et 28 sont copiés sur les positions de registres O à 14 et que le registre 15 reprend une logique nulle Si tous les défauts sont corrigés, il y a une logique nulle sur l'empilage Dans ce cas, aucune autre coïncidence ne
peut survenir avec le compteur de positions inverse.
L'agencement de circuit conforme à l'invention comporte, dans ce cas, à côté des avantages déjà mentionnés, cet avantage qu'aucune commande de processus n'est utilisée pour la manipulation d'un nombre de défauts quelconque, car une commande automatique intervient par l'intermédiaire des valeurs sur l'empilage des mémoires à empilage 27 Il y a seulement lieu de charger le compteur de positions inverse au début du bloc avec la valeur de longueur de bloc considérée pour décompter ensuite cycliquement vers le bas Ce processus correspond à une multiplication avec a-1 Si des effacements sont également corrigés dans l'agencement de circuit selon l'invention, il y a lieu, outre les données, de retarder également le signal de défaut en tant qu'un neuvième chiffre binaire De tels effacements peuvent par exemple résulter d'une interruption Dans d'autres cas, il suffit de retarder le signal de données Din adjacent dans une étendue de mots de 8 chiffres binaires Le dispositif de commande 8 modifie le signal de défaut retardé E Fin de façon qu'un état correct d'un chiffre binaire de données susceptible d'être prélevé à la sortie de l'étage EXOR 34 soit disponible simultanément également sur la liaison 10 Le présent traitement pipeline permet une vitesse de travail continue de O à 20 M Hz pour une largeur de symbole de 8 chiffres binaires Dans le présent exemple de réalisation, un code Reed-Solomon est soutenu avec 1 à
16 mots de contrôle.

Claims (3)

REVENDICATIONS
1. Agencement de circuit pour détecter et corriger des défauts dans des mots de données de blocs de données codés RS avec: un dispositif pour la formation de syndromes dans le flux de données des blocs codés RS, un dispositif pour déterminer des effacements dans les syndromes ainsi formés, un dispositif pour l'application d'un algorithme euclidien dans lequel: Ts (x) = (Qs 1 (x))Ts_l (x) + Ts-2 (x), R= (Qs 1 (x) ()Rs Q (x))R+ Rs-2 (x) et Qs-1 (x) = Rs_ 2 (x)/Rs 1 (x) ist Ts(x) étant un polynôme d'emplacement de défaut, Rs(x) un polynôme de valeur de défaut et QS-1 (X) un polynôme de valeur intermédiaire, et une normalisation de Rs(x) et Ts(x) peut s'effectuer avec un très bas coefficient Ts( 0) = o, de sorte que l'on a: R(x) = Rs(x)/6, T(x) = Ts(x)/6 un dispositif pour déterminer des emplacements de défauts Xk et des valeurs de défauts Yk par une recherche de mise à zéro selon Chien avec la relation: R(Xk) Yk b X k * T'(Xk) dans laquelle, T'(Xk) est la première dérivée à un emplacement Xk un dispositif pour corriger des mots de données adaptés à des durées de signaux à l'intérieur d'un bloc de données codées RS adjacent à l'aide des emplacements de défauts Xk et des valeurs de défauts Yk ainsi déterminés, agencement de circuit caractérisé en ce qu'il comporte un compteur progressif ( 22, 23, 24) pour le comptage progressif des mots de données se trouvant dans un bloc de données et pour délivrer une valeur de cible (X) lors de la détermination d'une mise à zéro selon Chien, une première mémoire à empilage ( 25) dans laquelle sont susceptibles d'être inscrites les valeurs de comptage (X) délivrées par le compteur progressif ( 22, 23, 24) et qui sont susceptibles d'être lues à la fin de chaque bloc de données pour l'inscription dans une seconde mémoire à empilage ( 27) qui est susceptible d'être commandée par un signal de commande, une troisième mémoire à empilage ( 26) dans laquelle sont susceptibles d'être inscrites les valeurs de défauts (Yk) simultanément avec l'inscription correspondante des valeurs de comptage (X) dans la première mémoire à empilage ( 25) et qui sont susceptibles d'être lues à la fin d'un bloc de données pour l'inscription dans une quatrième mémoire à empilage ( 22) qui est susceptible d'être commandée par un signal de commande, un compteur dégressif ( 29, 30, 31) pour des comptages dégressifs débutant avec la valeur d'une longueur de bloc, un dispositif pour comparer la valeur de comptage présente à un emplacement le plus élevé dans la seconde mémoire à empilage ( 27) avec les valeurs de comptage délivrées par le compteur dégressif ( 29, , 31) pour permettre la dérivation du signal de commande en cas d'identité des valeurs de comptage, un étage EXOR ( 34) à l'une des entrées duquel est appliquée en fonction du signal de commande, la valeur de défaut (Xk) présente à un emplacement le plus élevé dans la quatrième mémoire à empilage ( 28), à l'autre entrée duquel s'appliquent les mots de données adaptés à la durée du signal, et à la sortie duquel peuvent être prélevés les mots de
données corrigés des défauts.
2. Agencement de circuit selon la revendication 1, caractérisé en ce que le compteur progressif ( 22, 23, 24) comporte un premier étage multiplexeur ( 22) avec un premier registre ( 23) branché à la suite, dans lequel au début du bloc est appliquée à une entrée de l'étage multiplexeur ( 22), la valeur a O = 1 et dans lequel, pendant le reste du temps, se trouvent à une autre entrée de l'étage multiplexeur ( 22) des valeurs, multipliées par une valeur al des valeurs de sortie délivrées par le
registre ( 23).
3. Agencement de circuit selon la revendication 1, caractérisé en ce que le compteur dégressif ( 29, 30, 31) comporte un second étage multiplexeur ( 29) avec un second registre ( 30) branché à la suite, dans lequel au début du bloc la valeur d'une longueur de bloc est appliquée à une entrée du second étage multiplexeur ( 29) et dans lequel, pendant le reste du temps, se trouvent à une autre entrée du second étage multiplexeur ( 29) des valeurs de sortie
délivrées par le second registre ( 30).
FR9201750A 1991-02-25 1992-02-17 Agencement de circuit pour detecter et corriger des defauts dans des mots de donnees. Expired - Fee Related FR2673341B1 (fr)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE4105860A DE4105860C2 (de) 1991-02-25 1991-02-25 Schaltungsanordnung zum Erkennen und Korrigieren von Fehlern in Datenworten

Publications (2)

Publication Number Publication Date
FR2673341A1 true FR2673341A1 (fr) 1992-08-28
FR2673341B1 FR2673341B1 (fr) 1997-03-21

Family

ID=6425828

Family Applications (1)

Application Number Title Priority Date Filing Date
FR9201750A Expired - Fee Related FR2673341B1 (fr) 1991-02-25 1992-02-17 Agencement de circuit pour detecter et corriger des defauts dans des mots de donnees.

Country Status (4)

Country Link
US (1) US5365529A (fr)
JP (1) JPH0575479A (fr)
DE (1) DE4105860C2 (fr)
FR (1) FR2673341B1 (fr)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0595326A2 (fr) * 1992-10-30 1994-05-04 Sony Corporation Méthode de correction de données perdues et circuit correspondant
EP0660535A2 (fr) * 1993-12-27 1995-06-28 Canon Kabushiki Kaisha Appareil pour corriger uniformément des effacements et des erreurs de mots reçus en utilisant un polynome commun
EP0660533A2 (fr) * 1993-12-20 1995-06-28 AT&T Corp. Méthode et appareil pour un décodeur à itération réduite
FR2717968A1 (fr) * 1994-03-25 1995-09-29 Mitsubishi Electric Corp Codeur exécutant une correction d'erreurs, décodeur exécutant une correction d'erreurs et système de transmission de données utilisant des codes de correction d'erreurs.
US5912905A (en) * 1994-03-25 1999-06-15 Mitsubishi Denki Kabushiki Kaisha Error-correcting encoder, error-correcting decoder and data transmitting system with error-correcting codes

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0611054B1 (fr) * 1993-01-22 1998-04-08 Canon Kabushiki Kaisha Appareil et procédé d'obtention d'ensembles polynomiaux
US5517509A (en) * 1993-03-31 1996-05-14 Kabushiki Kaisha Toshiba Decoder for decoding ECC using Euclid's algorithm
JP3176171B2 (ja) * 1993-04-21 2001-06-11 キヤノン株式会社 誤り訂正方法及びその装置
JPH06314978A (ja) * 1993-04-28 1994-11-08 Nec Corp チェン・サーチ回路
US5615220A (en) * 1995-01-31 1997-03-25 Philips Electronics North America Corporation Polynomial divider which can perform Euclid's Algorithm to produce an error locator polynomial from an error syndrome polynomial, and apparatus including the polynomial divider
US5974582A (en) * 1997-10-14 1999-10-26 Lsi Logic Corporation High-speed chien search logic
US5943348A (en) * 1997-10-14 1999-08-24 Lsi Logic Corporation Method to check for burst limiting in error correcting systems
US6279137B1 (en) 1998-12-08 2001-08-21 Lsi Logic Corporation System and method for a storage-efficient parallel Chien Search
EP1011202A3 (fr) 1998-12-11 2003-07-09 Matsushita Electric Industrial Co., Ltd. Décodeur Reed-Solomon
JP5674700B2 (ja) * 2012-03-22 2015-02-25 株式会社東芝 符号化装置および符号化装置の制御方法、ならびに、記憶装置
DE102021109391B3 (de) * 2021-04-14 2022-08-25 Infineon Technologies Ag Multibytefehler-Erkennung

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0204612A1 (fr) * 1985-05-30 1986-12-10 LABORATOIRE CENTRAL DE TELECOMMUNICATIONS Société anonyme: Procédé de transmission, avec possibilité de correction de paquets d'erreurs, de messages d'information et dispositifs de codage et de décodage pour la mise en oeuvre de ce procédé
US4649541A (en) * 1984-11-21 1987-03-10 The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration Reed-Solomon decoder

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4494234A (en) * 1982-12-29 1985-01-15 International Business Machines Corporation On-the-fly multibyte error correcting system
US4665523A (en) * 1984-02-15 1987-05-12 Stanford University Method and means for error detection and correction in high speed data transmission codes
US4873688A (en) * 1987-10-05 1989-10-10 Idaho Research Foundation High-speed real-time Reed-Solomon decoder
US4868828A (en) * 1987-10-05 1989-09-19 California Institute Of Technology Architecture for time or transform domain decoding of reed-solomon codes
US4958348A (en) * 1988-02-12 1990-09-18 Eastman Kodak Company Hypersystolic Reed-Solomon decoder
JPH02125532A (ja) * 1988-11-04 1990-05-14 Sony Corp Bch符号の復号装置
US5170399A (en) * 1989-08-30 1992-12-08 Idaho Research Foundation, Inc. Reed-Solomon Euclid algorithm decoder having a process configurable Euclid stack
US5099482A (en) * 1989-08-30 1992-03-24 Idaho Research Foundation, Inc. Apparatus for detecting uncorrectable error patterns when using Euclid's algorithm to decode Reed-Solomon (BCH) codes

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4649541A (en) * 1984-11-21 1987-03-10 The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration Reed-Solomon decoder
EP0204612A1 (fr) * 1985-05-30 1986-12-10 LABORATOIRE CENTRAL DE TELECOMMUNICATIONS Société anonyme: Procédé de transmission, avec possibilité de correction de paquets d'erreurs, de messages d'information et dispositifs de codage et de décodage pour la mise en oeuvre de ce procédé

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
PROCEEDINGS OF EUSIPCO-88 SIGNAL PROCESSING IV: THEORIES AND APPLICATIONS, GRENOBLE FR, 09.88 ELSEVIER SCIENCE PUBLISHERS vol. 2, 5 Septembre 1988, AMSTERDAM,NL pages 1015 - 1018 , XP43873 HAHN 'Universal error correction codec for data transmission' *

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0989679A1 (fr) * 1992-10-30 2000-03-29 Sony Corporation Méthode de correction de données perdues et circuit correspondant
EP0595326A2 (fr) * 1992-10-30 1994-05-04 Sony Corporation Méthode de correction de données perdues et circuit correspondant
EP0595326A3 (en) * 1992-10-30 1995-10-04 Sony Corp Method of correcting lost data and circuit thereof
US5566190A (en) * 1992-10-30 1996-10-15 Sony Corporation Apparatus and methods for correcting lost data
EP0991196A1 (fr) * 1992-10-30 2000-04-05 Sony Corporation Méthode de correction de données perdues et circuit correspondant
EP0989680A1 (fr) * 1992-10-30 2000-03-29 Sony Corporation Méthode de correction de données perdues et circuit correspondant
EP0660533A2 (fr) * 1993-12-20 1995-06-28 AT&T Corp. Méthode et appareil pour un décodeur à itération réduite
EP0660533A3 (fr) * 1993-12-20 1996-01-03 At & T Corp Méthode et appareil pour un décodeur à itération réduite.
EP0660535A2 (fr) * 1993-12-27 1995-06-28 Canon Kabushiki Kaisha Appareil pour corriger uniformément des effacements et des erreurs de mots reçus en utilisant un polynome commun
EP0660535A3 (fr) * 1993-12-27 1995-12-13 Canon Kk Appareil pour corriger uniformément des effacements et des erreurs de mots reçus en utilisant un polynome commun.
US5541937A (en) * 1993-12-27 1996-07-30 Canon Kabushiki Kaisha Apparatus for uniformly correcting erasure and error of received word by using a common polynomial
FR2717968A1 (fr) * 1994-03-25 1995-09-29 Mitsubishi Electric Corp Codeur exécutant une correction d'erreurs, décodeur exécutant une correction d'erreurs et système de transmission de données utilisant des codes de correction d'erreurs.
US5912905A (en) * 1994-03-25 1999-06-15 Mitsubishi Denki Kabushiki Kaisha Error-correcting encoder, error-correcting decoder and data transmitting system with error-correcting codes
US5699368A (en) * 1994-03-25 1997-12-16 Mitsubishi Denki Kabushiki Kaisha Error-correcting encoder, error-correcting decoder, and data transmitting system with error-correcting codes

Also Published As

Publication number Publication date
DE4105860A1 (de) 1992-08-27
JPH0575479A (ja) 1993-03-26
US5365529A (en) 1994-11-15
DE4105860C2 (de) 1995-04-20
FR2673341B1 (fr) 1997-03-21

Similar Documents

Publication Publication Date Title
FR2673341A1 (fr) Agencement de circuit pour detecter et corriger des defauts dans des mots de donnees.
EP0108655B1 (fr) Système de détection et de correction d&#39;erreurs de transmission d&#39;un message binaire utilisant un code cyclique détecteur et correcteur d&#39;erreurs de type Reed-Solomon entrelacé
EP0265336B1 (fr) Opérateur polynomial dans les corps de Galois, et processeur de traitement de signal numérique comportant un tel opérateur
FR2860360A1 (fr) Dispositif de codage /decodage utilisant un codeur/decodeur de reed-solomon
EP0821493B1 (fr) Système de correction d&#39;erreurs dans des trames de données ayant des codes de parité horizontaux et verticaux
FR2714498A1 (fr) Décodeur exécutant une correction d&#39;erreurs et procédé de décodage avec correction d&#39;erreurs.
CH653457A5 (fr) Procede de correction d&#39;erreurs dans des signaux de donnees digitales.
FR2736479A1 (fr) Procede de codage et de decodage de correction d&#39;erreurs et circuit utilisant ledit procede
FR2549319A1 (fr) Dispositif decodeur pour le decodage de mots de code qui sont proteges par blocs au moyen d&#39;un code de reed-solomon contre plusieurs erreurs de symbole par bloc et dispositif de lecture pour des corps de stockage pouvant etre lus par voie optique, ce dispositif de lecture etant pourvu d&#39;un tel dispositif decodeur
EP0995272A1 (fr) Decodage iteratif de codes produits
FR2599916A1 (fr) Procede et dispositif pour le decodage d&#39;un bloc de symboles de code qui est reparti de deux manieres sur des mots de code qui sont chacun proteges par un code a distance maximum de separation
JPH0653842A (ja) Rsコードデータ信号を復号化する方法および回路
EP0682828B1 (fr) Procede d&#39;entrelacement et de desentrelacement en bloc et dispositif de mise en oeuvre
FR2540690A1 (fr) Verificateur de codeur
EP0204635B1 (fr) Procédé de transmission en blocs de mots d&#39;information numérique
EP0204612B1 (fr) Procédé de transmission, avec possibilité de correction de paquets d&#39;erreurs, de messages d&#39;information et dispositifs de codage et de décodage pour la mise en oeuvre de ce procédé
FR2714555A1 (fr) Procédé et dispositif pour calculer un polynôme localisateur d&#39;erreurs à utiliser dans un décodeur de Reed-Solomon.
FR2866998A1 (fr) Decodage et correction d&#39;erreurs pour codes de geometrie algebrique
EP1076933B1 (fr) Dispositif de correction d&#39;erreurs et lecteur de disque optique comportant un tel dispositif
EP0690584B1 (fr) Circuit de localisation d&#39;erreurs d&#39;un décodeur Reed-Solomon
EP0463598A1 (fr) Circuit de décodage de codes convolutionnels pour l&#39;exécution de l&#39;étape de stockage et d&#39;exploration inverse des chemins survivants d&#39;un algorithme de viterbi
FR2863794A1 (fr) Procedes et dispositifs de localisation d&#39;erreurs pour les codes de geometrie algebrique
FR2838580A1 (fr) Procedes et dispositifs de faible cout pour le decodage de codes produits
KR100192804B1 (ko) 리드 솔로몬 복호화기에서의 다항식 평가 장치
EP0165147B1 (fr) Codeur-décodeur de codes de blocs, paramètrable

Legal Events

Date Code Title Description
ST Notification of lapse