Brevet FR2673341A1 — publié le 19920828

"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 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 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. 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).