FR 2001482 A1 19690926 FR 6902844 A 19690207 69 02844 i 2001482 L'invention concerne le décodage de codes cycliques. Le but principal de l'invention est de fournir, pour des codes cycliques, un procédé de décodage doté d'une meilleure aptitude à corriger les erreurs en ce qui concerne les salves d'er-5 reurs dont la longueur est comprise entre b» et N-K, N étant une longueur de bloc de code et K étant le nombre de chiffres d'information dans ce bloc, b' étant la longueur maximale garantie de salve corrigible du code (c'est-à-dire la longueur au-delà de laquelle aucun décodeur n'est capable de corriger toutes les 10 salves)* La longueur d'une salve d'erreurs est le nombre de chiffres entre (et y compris) le premier et le dernier chiffre dans lesquels la séquence reçue et le mot de code diffèrent (voir fig. 1). D'un point de vue général, on prévoit, selon l'invention, 15 des moyens pour produire une séquence-syndrome de N chiffres pour chaque bloc reçu et un localisateur destiné à localiser et à sélectionner une suite appropriée de signaux zéro de syndrome consécutifs (de préférence, la série la plus longue qui n'est pas entièrement contenue entre les positions K et N-l) survenant dans 20 une telle séquence-syndrome. Le localisateur est agencé de façon à fonctionner dans une gamme qui contient des séries consécutives de zéros syndromes plus courtes que N-Kb*. Un dispositif logique traite-le bloc reçu comme contenant une salve d'erreurs dans les chiffres qui correspondent aux chiffres de syndrome qui suivent 25 immédiatement la série sélectionnée de zéros et les chiffres de syndrome reçus sont combinés en conséquence pour produire la correction voulue. Selon les modes préférés de réalisation, plusieurs compteurs associés sont agencés de telle sorte que 1'un d'entre eux compte la longueur d'une première série de zéros 30 rencontrée dans la séquence-syndrome et un second compteur reçoit le premier compte à partir duquel il régresse pas à pas en fonction de la longueur d'une seconde série de zéros, indiquant la série qui est la plus longue. Lorsque la seconde série est la plus longue, le premier compteur recommence à compter après que 35 la première série a été complètement comptée en régression, pour la partie restante de la seconde série. En répétant ces opérar-tions avec des séries ultérieures de zéros, la longueur de la série la plus longue apparaîtra éventuellement sur le premier compteur. 40 D'autres buts, caractéristiques et avantages de l'invention 69 05844 2 2001482 ressortiront de la description suivante d'une forme préférée d'exécution, considérée en liaison avec les dessins annexés. La fig. 1 illustre schématiquement la longueur d'une salve. La fig. 2 représente un circuit de codage pour un code cyclique. La fig. 3 est une représentation schématique d'une salve d'erreurs dans une séquence reçue et de la salve correspondante dans la séquence-syndrome. La fig. 4 est le schéma d'un circuit concrétisant l'inven- tion. La fig. 5 est un schéma de l'élément compteur principal du circuit de la fig. 4. La fig. 6 est un schéma de l'élément compteur C^2 du circuit de la fig. 4. 115 La fig. 7 est un schéma du registre de syndrome du circuit de la fig. 4. La fig. 8 est un schéma du registre de donnée reçue du circuit de la fig. 4. La fig. 9 est un schéma qui illustre une variante du dispo-20 sitif pour calculer des chiffres de syndrome. Et la fig. 10 est un schéma qui illustre le fonctionnement du circuit de la fig. 4. Un code cyclique est un code à contrôle de parité caractérisé par le fait que si un mot de code quelconque est décalé cy— 25 cliquement, il en résulte un autre mot de code. Un code cyclique à longueur de bloc N à K chiffres d'information est déterminé de la façon la plus simple par son polynome générateur, N—K g(t) - gQ + g^t + ... 9N_K t dans lequel les coefficients g^ sont des éléments d'une zone de Galois, avec gN_K=l et g^ £ O. 30 pour des codes binaires, qui offrent le plus d'intérêt pratique immédiat, les coefficients g. sont binaires, soit "O" soit "1". N—i Pour produire un code cyclique, g(t) doit être un facteur det j c'est-à-dire qu'il existe un polynôme h(t), appelé le générateur N—1 de contrôle de parité, tel que g(t) h(t) = t .La multiplica— •*5 tion des polynômes dans ce cas s'effectue selon le mode usuel, à cette exception que les coefficients sont multipliés et additionnés par des opérations de zone de Galois. Chaque mot de code dans un code cyclique est une séquence de N chiffres, par exemple xQ, x^ ... On peut représenter 40 ces mots de code peu: des polynômes,x(t)=xr.+x>1t+ ... +x „tN"~'*. u i N—1 69 02844 3 2001482 10 Les mots de code sont reliés au polynôme générateur par la relation x(t) = a(t) g(t), où a(t) est un polynôme de degré K-l ou inférieur. Tandis que a(t) passe par tous les polynômes de ce genre (avec des coeffiçyients dans la zone de Galois), x(t) passe par tous les mots de code dans le code. Toutes les multiplications de polynômes étant, à partir de cet instant, considérées comme étant modulo tN \ un décalage cyclique de x(t) est maintenant tx(t). En d'autres termes, 2 N—1 tx(t) est + xQt + x^t + ... + *N_2t • P°ur voir que c'est un mot de code, on peut écrire t a(t) sous la forme a^. ^ h(t) + r(t), r(t) étant de degré K-l ou inférieur. Dans ces conditions, t x(t) = t a(t) g(t) = h('t) g(t) + r(t) g(t) 15 = aK_-j_ tN_1 + r(t) g(t) = r(t) g(t) Ainsi, un décalage cyclique de x(t) est un autre mot de code. Selon le même raisonnement, x(t) h(t) = 0 (1) En transcrivant chaque terme de cette multiplication de polynômes, on a s o K 20 > h± Xj_± = O ; j=0, ..., N-1 (2) En tirant parti du fait que hR = 1, cela donne une formule de récursion pour calculer les contrôles de parité de x(t) à partir des chiffres d'information xQ, XK_^* K x, — ^ —h. Xjj j—K, • N—1 (3) J i»l . 2^ La fig. 2 représente un circuit destiné à effectuer ce calcul. Les K chiffres d'information sont chargés initialement dans le registre à décalage dans l'ordre, xQ à droite. Puis le registre est décalé vers la droite, xQ sort sur le canal et K xK - > - h^ XK_^ pénètre dans le registre à décalage à.gauche. 30 a chaque décalage successif, un nouveau chiffre de contrôle est calculé. Pour une description plus complète de codes cycliques, on se reportera à l'ouvrage de Peterson, Error Correctinq Codes (Codes de correction d'erreur) (MIT, Wiley, 1961). 35 On supposera que le mot de code x(t) est transmis et que la N—1 salve d'erreurs e(t) = eQ + e^t + ... + eN_^ t survient. La 69 02844 4 2001482 séquence reçue est alors y(t) = x(t) + e(t). Le polynôme de syndrome s(t) est défini par : s(t) = y(t) h(t) (4) En utilisant l'équation (1), cette expression équivaut à s(t) = x(t) h(t) + e(t) h(t) (5) = e(t) h(t) (6) En généralisant ce polynôme, de même qu'en (2), on obtient : K = ^c=o hi (7) Supposons maintenant que e(t) est une salve de longueur 10 b-^" N-K, allant de la position L à la position L+b-1,avec eT ^ O J_l eL+b-l ^ °* c'es1- ce cïu^- es^ représenté graphiquement dans la fig. 3, la zone hachurée représentant la salve et la zone non hachurée les positions où ei = O. Il ressort de l'expression (7) que s(t) aura également la forme d'une salve, mais la salve aura 15 une longueur b + K, avec sL ^ O et sL+ij_-i+K ^ 0 (fig- 3). Le point important est ici que les N-K-b coefficients de s(t) donnés par sl_2> •••» sL-N+K+b do^-vent tous être égaux à O La stratégie de décodage consiste maintenant à calculer le coefficient de s(t) à partir de (4) et de rechercher la série 20 la plus longue de zéros consécutifs dans cette séquence de coefficients, en considérant que sN ^ est connecté cycliquement à sQ. En choisissant L et b de telle sorte que cette séquence de zéros se trouve aux positions L—1, L-2 L-N+K+b, on suppose que la salve d'erreurs se trouve dans les positions L, L+1, •••, 25 L+b-1. La séquence d'erreurs peut être alors calculée à partir de (7) de la manière suivante s eL = fL ho eT „ = sT „ - eT h. L+1 L+1 L 1 h0 e. sT e_ . . h. (b) L+j ■"1 1 L+j—i i ho b-1 30 eL+b-l SL+b-l ~ 0L+b-l-i hi h0 Cette séquence d'erreurs calculée satisfait (7) pour N-K valeurs consécutives de j allant de L-N+K+b à L+b-1. La 69 02844 5 2001482 séquence décodée, x'(t) = y{t)-e(t), satisfera alors (2) pour N-K valeurs consécutives de j et un décalage cyclique de x'(t) satisfera donc (3). Etant donné que ce décalage cyclique de x'(t) est un mot de code, x'(t) est un mot de code et le décodeur a 5 trouvé un mot de code qui diffère de y(t) dans une salve de b chiffres. Etant donné que N-K-b est la'série la plus longue de zéros dans s(t), aucun autre mot de code ne diffère de y(t) dans une salve plus courte. Le raisonnement précédent montre que si sCt) contient une 10 suite de N-K-b zéros consécutifs, il peut être trouvé un mot de code qui diffère du mot reçu dans une salve de b. La seule difficulté est que cette salve pourrait chevaucher cycliquement l'extrémité de la séquence. On peut démontrer que la salve chevauchera l'extrémité de la séquence dans le cas et dans le seul 15 cas où la séquence de zéros est entièrement contenue entre les positions K et N-1 inclusivement. Pour résumer les résultats précédents, le mot de code qui diffère de la séquence reçue dans la salve la plus courte peut être trouvé en calculant s(t) à partir de la séquence reçue, en 20 trouvant la série la plus longue de zéros dans s(t) qui n'est pas entièrement contenue entre K et N-1, et en supposant que la salve d'erreurs est- immédiatement voisine de cette séquence la plus longue, comme on peut le voir dans la fig. 3. La technique qui vient d'être décrite sommairement est prin-25 cipalement valable sur les voies de transmission bruyantes où le bruit survient typiquement par salves, une salve donnée ayant une certaine longueur étant plus probable que toute salve de bruit de longueur supérieure. XI est manifeste que, sur un tel canal, un dispositif de décodage qui fonctionne de cette manière 30 décodera correctement à moins que la salve de bruit effective soit suffisamment longue pour qu'il y ait une autre salve de longueur plus courte ou égale qui, ajoutée à la séquence reçue, donne un mot de code différent. On peut démontrer que, s'agissant N—»K de codes binaires, b'«=C —et que, pour des salves b>b', 35 la fraction de salves non corrigées par la technique de l'inven- —b ' tion est limitée vers le haut par le plus petit de N2 et jj2~(N-K-b) ^ Au cas N_R est très grand, cela signifié que la plupart des salves dont la longeur atteint presque 2b' seront corrigées. 40 Un schéma de circuit est présenté dans les fig. 4 à 8 pour 69 02844 6 2001482 montrer comment ces opérations peuvent être effectuées automatiquement, et les opérations elles-mêmes sont illustrées schémati-quement dans la fig. 10. La forme d'exécution particulière est destinée à un code cyclique binaire à longueur de bloc N = 63 5 avec K = 45 chiffres d'information, et les éléments logiques utilisés sont des modules logiques numériques S-PAC de la Computor Control Company. On a utilisé les schémas par blocs de ce constructeur pour indiquer les bornes de câblage convenables et les modules sont désignés d'après la nomenclature du fabricant 10 (par exemple FA, SR, UF). La séquence reçue est mise en mémoire dans le registre 20 de donnée reçue (fig. 8 et 10) au début du cycle de décodage. Les chiffres y^ de la séquence reçue sont mis en mémoire respectivement dans les 63 flip-flops 22 du registre 20 de donnée 15 reçue au moyen des lignes d'entrée 24b et des portes ET + INVERSEUR 24 à la réception d'une impulsion de chargeaient en provenance du compteur principal 28 (fig. 4,5) sur la ligne 26. L'impulsion de chargement est appliquée par l'intermédiaire d'amplificateurs inverseurs 30 parallèles (fig. 8) et fait passer la 20 tension aux bornes 24a des portes 24 de 0 V (état logique "O") à -6 V (état logique "l"). Les portes 24 agissent de telle sorte que la sortie à la borne 24c est un "1" logique (-6 V), sauf lorsque les entrées aux bornes 24a et 24b sont toutes deux des "l". 25 Les chiffres y^ sont alors décalés cycliquement dans le registre 20 en trois passes complètes P^, P2f P3 de 63 décalages chacune. Dans chaque passe, les opérations sur chacun des 63 chiffres sont divisées en quatre phases 0q, 0^, 02» 03» La chronologie des passes et des phases est déterminée par le compteur 30 principal 28 (fig. 4,5). Au cours de chaque opération de la passe 1, le chiffre y^ emmagasiné à l'étage final (à droite dans la fig. 8) du registre 20 est, lors de la phase 1, transmis par l'interrupteur 50 au registre de syndrome 52. Pendant la phase 3, le chiffre y^ à 35 chaque étage du registre 20 est décalé vers la droite d'un étage (le chiffre y^ de l'étage final étant décalé vers le premier étage). Le décalage est déclenché par une impulsion en provenance du compteur 28 sur la ligne 60 par l'intermédiaire d'amplificateurs non inverseurs 62. De même que précédemment, la notation 40 0^ identifie la borne concernée du compteur 28 et traduit le fait 69 02844 7 2001482 que son état logique est "1" (c'est-à-dire -6 V) sauf pendant la phase 3 où il est "O". Pendant les phases O et 2, aucune modification n'intervient dans le registre 20. L'interrupteur 50 est une porte ET + INVERSEUR dont les trois entrées sont respective-5 ment connectées à la borne 22a de l'étage final du registre 20 (la borne 22a lit y ^ ) à la borne 28a du compteur 28 par l'intermédiaire de l'inverseur 54 (la borne 28a ne lit 0 que pendant la passe 1, d'où la notation et l'utilisation d'un inverseur 54 pour présenter un "1" à la porte 50) et à la borne 28b 10 du compteur 28 par l'intermédiaire d'un inverseur 56 (la borne 28b ne lit "0" que pendant la phase 1). Ainsi, au cours de la passe 1, tous les 63 chiffres y^ reçus sont mis en mémoire dans le registre de syndrome 52, tout en étant décalés en un cycle complet dans le registre 20. 15 Le registre de syndrome 52 (fig. 4,7,10) comporte dix-huit étages à flip-flops. Les étages 4,5,8,10-14 sont des modules FA agencés en vue de simples opérations de registre à décalage, semblables dans l'ensemble à celles du registre 20. Les étages 0-3, 6, 7, 9, 15-17 comportent en plus des en-20 trées de rétroaction. Les chiffres y^ en provenance du registre 20 sont reçus par l'étage 0 pendant la phase 1 de la passe 1. A la phase 2, la donnée à l'étage 0 est réintroduite par la ligne 70 dans chacun des étages 0-3, 6, 7, 9, 15-17 où elle est combinée par addition module 2 à la donnée déjà emmagasinée dans ces 25 étages. La rétroaction (F) est déclenchée par une impulsion en provenance du compteur 28 (borne 0^) par l'intermédiaire de la porte 72 (dont le rôle sera indiqué ci-après), de l'inverseur 74 (fig. 7) et de la porte 76. A la phase 3, la donnée dans le registre 52 est décalée cycliquement d'un étage vers la droite par 30 la même impulsion qui décale le registre 20. A la phase 0, le registre 52 n'est pas modifié. En vertu de ses connexions de rétroaction et du fait que les chiffres de syndrome s^ sont interdépendants, le registre 52 calcule effectivement tous les 63 chiffres de syndrome s^, 35 bien qu'il n'ait que dix-huit étages. En outre, étant donn^ que s,, est complètement déterminé par les K premiers chiffres y. reçus, sK apparaîtra à l'étage 0 à la phase 3 après la réception de yv. A ce moment et pendant tout le reste de la passe 1 et la totalité de la passe 2, le compteur compte pour déterminer 40 la série la plus longue de chiffres de syndrome zéro. Tous les 02844 8 2001482 s.. pour K A l'achèvement de la passe 1, l'interrupteur 50 s'ouvre, étant donné que tous les chiffres reçus ont été délivrés au registre 52. La donnée reçue continue à être décalée cycliquement dans le registre 20 pendant la passe 2. Le compteur 80 (fig. 4, 6, 8) est constitué par deux compteurs et C2, dont chacun comporte quatre étages de flip-flops 82, 84. Le compteur commence à compter (tout le comptage se produisant pendant la phase 2) avec le premier zéro, j^K dans la passe 1. Ce comptage est déclenché au niveau de la borne C^ par la sortie du circuit OU INVERSE 90 (fig. 4) qui est de son côté formé par la combinaison de deux portes ET + INVERSEUR 92, 94 parallèles. La sortie de la porte 90 n'est un "0W logique que quand toutes les entrées de la porte 92 sont des "l" ou quand toutes les entrées de la porte 94 sont des "l". En examinant les entrées de la porte 92, on constatera que pendant la passe 1, elles seront toutes des "1" toutes les fois que j et s^ = O pendant la phase 2. Au cours de la passe 2, la porte 94 commande de façon semblable l'avance du compteur C^. L'entrée de la porte 94 en provenance de la borne f du compteur 28 est toujours un "l" sauf quand une série de chiffres de syndrome zéro commence avec j ^K, étant donné qu'il n'y a pas lieu de prendre en considération les séries entièrement contenues entre les positions K et N-1. Lorsque le compteur C^ atteint la fin d'une série de s^ = 0, il arrête son avance et son compte est immédiatement (à la phase 2) délivré au compteur Cp par des lignes 100. Cette opération # ^ V est déterminée par un triple circuit OU INVERSE 102 (fig. 4). Le circuit 102 comprend une porte ET + INVERSEUR 104 (servant à remettre en l'état initial le compteur C2 à la fin du décodage, comme on le verra ci-après), un circuit ET + INVERSEUR 106 parallèle (servant dans la passe 3, comme on le verra ci-après) et un circuit ET + INVERSEUR 108 parallèle qui transmet une impulsion "0" logique à la borne C^ ^ C2 du compteur 80 lorsque s^ = 1 dans la passe 2, phase 2, ce qui a pour effet de provoquer l'avance immédiate du compteur C2 au compte du compteur C^. Naturellement, un tel transfert de compte n'intervient jamais pendant la 69 02844 9 2001482 passe 1, car toute série de s^ » O prenant fin dans la passe 1 est entièrement contenue entre les positions K et N-1 et ne doit pas être prise en considération. En outre, lorsqu'une telle suite de zéros se termine dans la passe 1, le compteur doit être 5 remis à zéro. Cette opération est effectuée par tin circuit ET -i- INVERSEUR 110 parallèle (fig. 4) qui transmet une impulsion à la borne C^° du compteur C^ toutes les fois que s^ * 1 pendant la phase 2 de la passe 1, avec j ;>.K, comme on peut le voir en observant les entrées de la porte 110. 10 Lorsqu'une deuxième série de s^ = O commence, le compteur compte effectivement en régression à partir du compte de C^ jusqu'à ce qu'il atteigne zéro ou la fin de la deuxième série (en réalité, le compteur C^ compte selon le complément du compte de C^, plutôt qu'en régression à strictement parler). Cela s'ef-15 fectue par la borne C^ du compteur C^, commandée par un circuit ET + INVERSEUR 120 parallèle. Comme on peut le voir, la porte 120 ne peut pas délivrer d'impulsion pendant la passe 1 ou lorsque le compte de C^ est zéro (à ce moment, la borne C^ du compteur 80 est à l'état "O" logique). Pendant ce compte en régres-20 sion de , une avance complémentaire du compteur C^ est inhibée par la connexion de la borne C^° du compteur 80 à une entrée de la porte 94 par l'intermédiaire d'un inverseur 122. Si la deuxième série de s^ * O se termine avant que le compteur n'atteigne zéro, ce compteur est replacé à l'état du 25 . compteur C^ par la porte 108. Si par contre le compteur C^atteint séro, il est visible que le compteur C^ reprendra son avance sous la commande de la porte 94 jusqu'à ce que la série se termine. Ce processus se répète jusqu'à ce qu'à la fin de la passe 2, 30 le compteur C^ représente la longueur de la série la plus longue de Sj * 0 non entièrement contenue entre les positions K et N-1. Le décodage proprement dît intervient pendant la passe 3. Au début de la passe 3, l'entrée 61a de la porte ET + INVERSEUR du registre 20 passe à l'état "O" logique pour s'opposer à la 35 poursuite du décalage cyclique des chiffres reçus lors des décalages du registre 20, de sorte qu'à l'achèvement de la passe 3, lé registre soit en l'état initial. Les chiffres y ^, yj sont respectivement et successivement délivrés à des portes ET + INVERSEUR 130 et 132, où y^ est soit corrigé,soit transmis sans 40 modification. Cela se produit de la manière suivante. 69 02844 10 2001482 Le registre 52 continue à engendrer les chiffres de syndrome Sj pendant la passe 3. Dès tin quelconque s^ « O, le compteur est positionné à la valeur du compteur par la porte 106. Si une série de s^ ■ 0 continue, le compteur C2 régresse sous la 5 commande de la porte 120. Si la série se termine avant que n'atteigne zéro, le compteur C2 est de nouveau positionné au début de la série suivante de s^ = O et régresse de nouveau, jusqu'à ce que la série la plus longue soit finalement atteinte et que le compteur C2 parvienne à zéro à la fin de cette série. A 10 ce moment, comme on l'a indiqué précédemment, on sait que le début de la salve d'erreurs dans les chiffres reçus a été atteint Jusqu'à cet instant, la porte ET + INVERSEUR 140 (fig. 4) a été maintenue à un état de sortie "1" logique, étant donné que sa borne 140a est à "O" logique jusqu'à ce que le compte de C2 soit 15 zéro; étant donné que la sortie de la porte 140 est délivrée par l'intermédiaire d'un inverseur 142 à la porte 130, la borne 130a sera maintenue à l'état logique "O" et la borne 132a de la porte 132 à "1" logique; la sortie de la porte 133 sera donc "O" logique pour S" « 1 et "l" pour 5~j~~* O. Par contre, lorsque C2 at— 20 teint zéro, la borne 140a passe à l'état "1** logique et la porte 140 délivre une sortie "0" logique pour tous les s. * 1 suivants Ainsi, la borne 132a est maintenue à "O" et 130a a "1", de sorte que la sortie de la porte 133 est à "0" lorsque s^ » 1 et "1" lorsque s^ « O, ce qui donne lieu à la correction voulue. 25 Dès que le compteur C2 atteint zéro dans la passe 3, la sortie de la porte 73 (fig. 4) devient un *0" logique et celle de la porte 72 un "l" logique, ce qui interrompt la rétroaction dans le registre de syndrome 52 pendant la phase de correction du décodage. 30 Le compteur principal 28 (fig. 5) a trois fonctions princi pales : premièrement, de ne pas perdre la trace du chiffre y^ reçu en cours de traitement; deuxièmement, de déterminer successivement dans le temps quatre phases (0Q, 0^, 02 et 03) pour chaque chiffre; et, troisièmement, de contrôler le nombre de 35 passes P^, P2, P^ au cours du traitement du mot de code. Les six flip-flops supérieurs du schéma contrôlent j, les deux flip-flops en bas et à gauche contrôlent la phase et les deux flip-flops en bas et à droite contrôlent le nombre de passes et fournissent une impulsion de remise en l'état initial et de charge-40 ment par la borne de sortie CL après la passe 3. Les douze f)0 11 2001482 10 flip-flops sont montés sur .trois panneaux A, B et C, à raison de quatre par panneau, le numéro qui suit dans la fig. 5 chaque lettre A, B et C indiquant la position du flip-flop sur le panneau respectif. Pour le code particulier qui est traité dans le présent exemple, la longueur de bloc est 63 et j va de 0 à 62. 11 ressort du schéma qu'après la phase 3 de j = 62, l'impulsion d'horloge fait passer la phase à 0 et j à 63, ce qui remet immédiatement j à O. Un code à longueur de bloc N arbitraire peut être traité en réglant le nombre d'étages du compteur supérieur et en modifiant les circuits à portes ET + INVERSEUR au-dessus du compteur supérieur pour remettre j à 0 lorsque j = N. Le flip-flop A3 indique si le chiffre y^ qui est traité est un chiffre d'information ou un chiffre de contrôle ou, dans 15 ce dernier cas, si j est supérieur ou égal à 45. Le circuit à portes ET + INVERSEUR qui calcule j = 45 peut être également modifié pour un nombre arbitraire K de chiffres d'information. Enfin, le flip-flop B3 indique, au cours de la passe 2, s'il y a eu des cas où s^ = 1 pour j ^K. 20 A la fin de la passe 3, le registre 20 sera à l'état vierge. L'impulsion de remise à l'état vierge et de chargement va charger un nouveau bloc dans le registre 20, tout en plaçant le compteur à zéro par les portes 71 et 111 (fig. 4} et en remettant à l'état vierge le registre 52. 25 Pour des valeurs différentes de N et de K, les modifications apportées à ces circuits sont presque insignifiantes. Le nombre d'étages du registre de donnée reçue est N, le nombre d'étages du registre de syndrome est N-K et les connexions de rétroaction dans le registre de syndrome sont les coefficients de g(t). En-30 fin, les portes ET + INVERSEUR qui calculent N et K dans le compteur principal sont modifiées et les compteurs et C^ doivent avoir suffisamment d'étages pour compter jusqu'à N-K-b'. Une variante de réalisation consiste à calculer directement les coefficients de s(t) à partir de (4), comme le montre la 35 fig. 9. Le décodage pourrait alors être effectué en deux passes au lieu de trois et le registre de syndrome pourrait être éliminé. Une telle forme d'exécution serait préférable si une ligne à retard à recyclage était utilisée à la place du registre d'information, ainsi que pour des codes à faible taux avec K ■ 69 H2844 12 2001482 ces modes de réalisation pourrait être utilisé, mais le schéma détaillé du circuit sera radicalement modifié pour assurer les opérations de mémorisation et d'arithmétique dans la zone de Galois concernée. 5 II est du reste bien entendu que le mode de réalisation de l'invention qui a été décrit ci-dessus, en référence aux dessins annexés, a été donné à titre purement indicatif et nullement limitatif et que de nombreuses modifications peuvent être apportées sans que l'on s'écarte pour cela du cadre de la présente inven-10 tion. 69 02844 13 2001482 REVENDICATIONS 1. Décodeur à correction d'erreurs en salves pour un code cyclique par blocs (N, K), comprenant des moyens pour recevoir les blocs, des moyens pour produire les séquences de syndrome à N chiffres pour ces blocs reçus, des moyens logiques pour évaluer 5 les séquences de syndrome, et des moyens de combinaison qui réagissent à ces moyens logiques et sont agencés de façon à combiner linéairement les chiffres de syndrome avec les chiffres respectifs des blocs reçus, ce dispositif étant caractérisé par le fait que les moyens logiques comprennent un localisateur conçu et 10 disposé de façon à localiser et à sélectionner une série appropriée de chiffres zéro consécutifs de syndrome dans chacune des séquences de syndrome, ces séries contenant au moins certaines séries plus courtes que N-K-b', ainsi que des moyens qui réagissent à ces moyens localisateurs pour amener les moyens de combi-15 naison à combiner les chiffres de syndrome qui suivent immédiatement la série sélectionnée de zéros avec les chiffres reçus correspondants. 2. Décodeur selon la revendication 1, caractérisé par le fait que le localisateur est conçu et disposé de façon à sélec- 20 tionner la série la plus longue de chiffres zéro consécutifs de syndrome qui n'est pas entièrement contenue entre les positions K et N—1 inclusivement dans une séquence de syndrome donnée. 3. Décodeur selon la revendication 2, caractérisé par le fait que les moyens logiques comprennent un certain nombre de 25 compteurs associés, un premier de ces compteurs étant agencé de façon à produire un compte par un processus arithmétique ordinaire en rapport avec la longueur d'une première série de zéros rencontrée dans la séquence de syndrome, et un deuxième compteur étant agencé de façon à recevoir ce compte et à compter en 30 régression à partir de ce compte, pas à pas en fonction de la longueur d'une seconde série de zéros, et à engendrer une indication si le compte est complètement compté en régression dans les limites de la seconde série, de façon à déterminer celle des séries qui est la plus longue. 35 4. Décodeur selon la revendication 3, caractérisé par le fait que le premier compteur répond à ladite indication pour reprendre le comptage à propos de la partie restante de la seconde série, de telle sorte que son compte représente la longueur de la plus longue des deux séries de zéros dans la séquence de 69 02844 14 2001482 syndrome; et le deuxième compteur est agencé de façon à répéter son opération de comptage régressif pour des séries successives de zéros, de telle sorte que le dernier compte dans le premier compteur représente la longueur de la série la plus longue. 5 5. Décodeur selon la revendication 2, caractérisé par le fait que le localisateur est conçu et disposé de façon à sélectionner ladite série en évaluant les chiffres de syndrome dans l'ordre de leur apparition dans la séquence, en commençant par un chiffre de syndrome donné, deux passes étant effectuées sur 10 une partie au moins des chiffres de syndrome contenant ledit chiffre donné. 6.Dispositif logique utilisable avec un code numérique de correction d'erreur à partir duquel une séquence binaire peut être engendrée, ce dispositif étant caractérisé par le fait qu'il 15 comprend plusieurs compteurs associés, un premier de ces compteurs étant agencé de façon à produire un compte par un processus arithmétique usuel en fonction de la longueur d'une première série de zéros rencontrée dans ladite séquence, et un deuxième compteur agencé de façon à recevoir ce compte et à compter en 20 régression à partir de ce compte pas à pas en fonction de la longueur d'une seconde série de zéros, et à engendrer une indication si le compte est complètement compté en régression dans les limites de la seconde série, ce qui permet de déterminer celle des séries qui est la plus longue.