<Desc/Clms Page number 1>
EMI1.1
û:." i, :' e !" de k,..".''' '... iR ' 1""C'Zâ pour système ar.smiS52 C ionné6s
<Desc/Clms Page number 2>
présente înventîon rapporte monLa présente invention se rapporte à un mon- tage correcteur d'erreurs pour transmission de donnée, comprenant un codeur destiné à coder des blocs d'information en mots codés, les mots codés appartenant à un code de bloc (n, k) dans lequel les mots codés comportent k chiffres d'informations et n-k chif- fres correcteurs d'erreurs. Les codes comportent également une pos-- sibilité de correction d'erreurs aléatoires dans laquelle k/n@ (b-1)/b et b est un entier.
Le besoin d'une transmission et d'un traite- ment précis des données numériques est bien connu dans les domaines tels que la télégraphie, la téléphonie et la technique des ordîna- teura et de l'automatisation. Diverses méthodes ont été proposées pour améliorer la précision de la transmission. Ces procédés vont depuis le simple circuit de détection d'erreurs à un bit requérant l'adjonction d'un bit unique à chaque caractère ou mot de données à transmettre jusqu'à des circuits de correction d'erreurs plus élaborés requérant de nombreux bits de contrôle de parité dis- persés entre les bits d'information.
Des montages ont été proposés pour corriger les erreurs aléatoires (erreurs se produisant d'une '!lanière aléatoire dans les données transmises), les erreurs impulsionnelles ou les deux à la fois. Etant donné que les lignes de transmission té- léphoniques sont sujettes à la fois à des erreurs aléatoires et impulsionnelles, un intérêt considérable s'est manifesté pour trouver des montages de correction d'erreurs efficaces pour les deux types d'erreurs indiqués plus haut. Les montages antérieurs pour corriger soit des erreurs impulsionnelles,soit les erreurs aléatoires et impulsionnelles à la fois, requièrent une grande capacité d'emmagasinage de données.
Ceci en raison du fait que ces montages requièrent généralement un espace de garde relativement grand de chiffres exempts d'erreurs entre les impulsions d'erreurs afin de corriger les chiffres erronés. En conséquence, une grande quantité de données reçues doivent normalement être emma- gasinées avant d'être décodées. Jusqu'à présent tous les montages pour corriger soit des erreurs impulsionelles, soit des erreurs aléatoires e+ impulsionnelles à la fois, requéraient l'emma- gasinage d'un nombre de chiffres au soins égal à l'espacement de garde requis par le montage.
La présente invention a pour but de résoudre*
<Desc/Clms Page number 3>
ce problème. Elle comprend une mémoire pour emmagasiner plusieurs des mots codés le plus récemment et un additionneur connecté au codeur et à la mémoire pour ajouter les k chiffres d'information d'un mot codé antérieurement au mot codé le plus récomment afin de corriger les impulsions d'erreurs.
Dans le récepteur, les chiffres correcteurs d'erreurs sont restitués et utilisés pour corriger les erreurs aléatoires, c'est-à-dire un nombre d'erreurs égal ou inférieur à r dans un mot. Les chiffres correcteurs d'erreurs sont également utilisés pour détecter plus de r erreurs dans un mot et donc pour détecter des impulsions d'erreurs. Lorsque des impulsions d'er- reurs sont détectées, les indications des mots comportant plus de r erreurs sont emmagasinées et la transmission subséquente des chiffres d'information restituas à partir du mot subséquent aux- quels ces mots sont ajoutés, sont utilisas pour replacer les chif- fres d'information ayant subi des impulsions d'erreurs.
Dans un exemple de forme de réalisation de l'invention, l'extrémité émettrice comprend un codeur qui est agencé pour coder des blocs de caractères d'information provenant d'une source d'information en mots codés d'un code de bloc(n,k) ayant une certaine possibilité de correction d'erreurs aléatoires. dans laquelle, en général k/n@(b-1)/b, et en particulier pour un exemple spécifique de forme de réalisation, k/n = (b-1)/b et b est un entier.
(Il faut remarquer que l'on peut corriger un nombre d'erreurs aléatoires inférieur au nombre total possible, accoissant ainsi la possibilité de détection des erreurs aléatoires* .Le choix dépend de l'usager). Des parties de chaque 1e bloc d'information parmi les (b-1)1 blocs codés antérieurement ou l'informa- tion dérivée de ce bloc sont alors ajoutées . aux mots codés, 1 étant un entier. Les séquences obtenues à la suite de cette addi- tion sont alors transmises à l'extrémité réceptrice par l'intermédiaire de la voie de communication.
Chaque séquence reçue est décodée afin de déterminer si le nombre d'erreurs dans la séquence se trouve dans la gamme de correction possible choisi pour le code. Dans l'affirmative,, les erreurs sont corrigées (s'il y en a)d'une manière traditionnelle et les blocs de caractères d'information corrigea sont emmagasinés. Si le nombre d'erreurs que contient la séquence re- çue est supérieur à la gamme de correction possible du code
<Desc/Clms Page number 4>
EMI4.1
"i "'... i ,< (e'est-a-dire une erreur impulsionnelle)s les blocs exempta drer- reurs transis antérieurement et/ou ultérieurement sont utilisés pour dériver un bloc d'information afin de remplacer le bloc erroné.
Les blocs d'information corrigés sont alors appliqués à un circuit d'utilisation de données.
L'espacement de garde requis dans le montage ci-dessus est de (b-1)n1 caractères et la capacité d'emmagasinage
EMI4.2
du poste récepteur est de f(b-1)2/bJnl+ n caractères.On voit que la capacité dllerhmagasinitge est bien inférieure à l'espacement de garde.
L'invention apparaîtra plus clairement à la lecture de la description détaillée qui va suivre, faite en regard des dessins joints dans lesquels :
Les figures 1 et 2 sont des schémas fonctionnels de l'extrémité émettrice et de l'extrémité réceptrice, respectivement, d'un système de correction d'erreurs selon l'inven- tion ;
Les figures 3 et 4 illustrent une forme de réalisation spécifique d'un système d- correction d'erreurs utilisant un code de bloc cyclique abrégé (10,5); @ La figure 5 est un tableau montrant les syndromes qui indiquent les erreurs pouvant être corrigées cor-
EMI4.3
respondant au code utilisé par le S;{sts:!:.f! représenté sur les fi- gures 3 et. 4;
Les figures 6 et 7 sont des tableaux montrant des représentations d'exemple de blocs de données codés et'trans-
EMI4.4
ma. ( ---- .
Avant de décrire en détails les dessins énumères ci-dessus,, il peu* être utile de rappeler brièvement la re- présentation algébrique des codes et des procédés de codage. En général, une séquence d'information de k caractères peut être représentée par un polynôme de la forme suivante :
EMI4.5
A<x> ad + aix + ... + -1x-- .
Dans le cas binaire, les coefficients a a, : .. .,.1 représen- . tent soit un % soit un 0. Par exemple, la séquence binaire 101101
EMI4.6
peut être représentée par le polynôme 1 + x2 + + À, Avec une telle représentation,, les bits d'information correspondant aux coefficients d'ordre élevé sont considérés comme étant tramais
EMI4.7
en premier liea. ,' -' - ¯;1=j¯ ===1-,(jifll'-' ' â . -- -- :4w - - . 5 - ¯
<Desc/Clms Page number 5>
EMI5.1
!Ri code cyclique (yak) peut être désigné aoca la forme d'un polynôme G(xi" de degré ric. Le mot de données de le caractères ee codé en divisant le mot de données auquel est ajouté !coreprdsentd par xn-k A(x)¯7 par le polynôme G(x).
Le' reste R(m) de cette division représente la. séquence de parité
EMI5.2
ou les caractères de parité/doivent alors être ajoutés 'au mot de
EMI5.3
données x ,1,c). ¯ ; ) L'information codée peut donc être représentée par , l , ¯ . étre Cfx) = z kÀfx + 8c). ¯ ¯, .
Les procédés dé codage et les représentations de code sont décrits en détailsdans l'ouvrage intitulé " Error Correcting Codes" par ' 1'.lf.Peterson, publié par M.I.T. Press and John Wiley and Sons,
EMI5.4
1961.
Un exemple de description algébrique de la présente invention sera donné ci-après en utilisant les représentations décrites ci-dessus. Comme indiqué plus haut, des blocs
EMI5.5
ou séquences de caractères dtinfornation sont codés en un code de bloc (n,k) ayant une certaine possibilité de correction d'erreurs aléatoires, dans lequel kan (b-1 )/b et b est un entier. Le symbole ij(m) est utilisé pour représenter le je bloc dé caractè-
EMI5.6
res d'information. On supposera que le bloc d'information
EMI5.7
J(b¯,),(x) doit être codé, les blocs antérieurs,'10(x),p ... , i(b-2)ZX ayant de-jà été codés. Cela est réalisé comme indiqué plus haut, en divisant xn-ki b-1 x) par le polynôme â(x) du code afin d'obtenir un reste 1(b-1)1(11)-7/G(x)-7.
Le
EMI5.8
mot codé est alors
EMI5.9
C( b-1 ),(X) f(>.i >i%1 tffi(b-i >lJ/ 1 Des parties de cha-q-e 1"-bloc d'information parmi les
EMI5.10
(b-l)l blocs d'information codés antérieurement sont alors ajou-
EMI5.11
téee b-. )I) afin d'obtenir . ¯ ÎÎ (b-1 = (bl)l< (b-2)l< , -12t)ix ," , . + T.ab-. x3 oel à :'(x) représenta¯Ze iameupe dé '-b--' bits- du, b3.oc dtiùfortnation 11(z).-Ie bloc ,)Zx) est alors transmis vers un poste récepteur par l'intermédiaire d'une voie de communica** tion. Le bloc reçu est représenté par le symbole M (b¯1)1(x) ? indiqcant qu'il peut contenir des erreurs. ¯ -j . ....
C" 'à fi#"0éfi"f'li .Î i'll ': . "i'i'--Y?#fiɱÉ/Îl'I ù "?
<Desc/Clms Page number 6>
EMI6.1
! - l'extraite réceptrice, le mec ? x) est reçu et enregistré. Les 1/1 blocs transmis H .. antérieurement ont également été reçus, mmoga inis et traités de-dîternimr si le nombre d'erreurs dama les blocs dépaat la nombre d'erreurs aléatoires pouvant 6-.-re corrigés correet-t su code. Si un bloc s'était avffl contenir plus d'erreurs le nombre pouvant être corrigé, une mémoire serait ematagaailm indication selon laquelle le bloc était incorrect < Par ai un bloc s'avère ¯de pas contenir plus d'erreurs que le cambre pouvant être corrigé. le bioc est corrigé etune iicase trouve emmagasinée, selon laquelle le bloc est correct.
B Si, en recevant le bloc **()i3< g.re indique que chaque e Mac d 2 information parai les doinformation reçus an'tér.l.eare8en't. L{b-2)J. (x).. 7(b-3)1 (x).
- .- 3O(x) . est ccrrecte, des parties de ces b1.oca P: (x) + ('2)1 (x) . + ... 3,C(z), sont soustraites àa -. '!C X* (b-1)1 (x) afin d'obtenir C(b-1)1. (x). C(b-1}J. {x} est alors 6 de la manière usuelle. Si le nombre d'erreurs dans (fi- )1(z ne dépasse pas le nombre d'erreurs aléatoires pouvant tre coeS,C(b-1)1(x) est corrigé et la rartj-e d'information C(b-1)1 (x), 09est-à-dÎre, 7(11-1)1 (x), est emmagasinée dans le récepteur. Si l'on détermine lors du décodage que le nombre d'erdans C(b-1)1 b:) dépasse le nombre d'erreurs aléatoires couvant être corrs, 1me indication est emmagasine dans la ira afin d'indiquer que le bloc est incOr.1"'c. correction de I(b-1}1. (x) est alors effectuée coEEze décrit '11" -.# manière générale ci-dessous.
Si l'un des blocs d'information I(b-2)1 (x)..
)1() s ..., 1o(x) cst incorrect, ce qu'indique la mémoire, . processus suivant est entamé. On supposera, par exemple, qu* e bloc d'information I{b-3)1 (x) est incorrect. On divise d'abord ' (x) par le polynôme G(x) afin d'obtenir un reste ou aynDes parties des blocs d'information reçus et emmagasinés ' le b1.). I(b-2)1 (x) + (b-4)l sw b-1 sent soustraites du reste afin d'obtenir une risu1.- Ceile-cis qui est une version correcte de (b-3)1 originellement, est alors substituée â. ]La version I;1r.r.t-
<Desc/Clms Page number 7>
de 12(b-3)1(x). Les autres parties du bloc d'information inrect 1(b-3)1(x) sont obtenues d'une manière similaire à tir de blocs d'information reçus antérieurement et requs ul- leurement.
Afin de corriger,dans un bloc d'information u, des erreurs qui dépassent le nombre d'erreurs pouvant être rigé , chaque le bloc parmi les (b-1)1 blocs l'information reçus antérieurement doit pouvoir être corrigé par le processus de rection d'erreurs aléatoires et chaque.le bloc d'information ai les (b-1)1 blocs recus ultérieurement doit être exempt Tours. L'espacement de garde requis pour corriger des impul.- @s d'erreurs jusqu'à 1 blocs de longueur, est de (b-1)1 blocs.
Les figures et 2 illustrent d'une façon traie une forme de réalisation permettant de réaliser le prous décrit ci-dessus pour le code décrit.Des blocs de car=- @s d'information provenant d'une source 104 sont appliqués L codeur 112 dans lequel les blocs d'information sont codés n code de bloc (n,k). Les mots de code consistent en k carac- s d'information et n-k caractères de contrôle de parité. blocs d'information sont également appliqués à une mémoire pouvant emmagasiner 1 blocs de k caractères, 1 étant un en- quelconque.
Les caractères d'information sont appliqués par odeur 112 à un émetteur 124, par l'intermédiaire d'un addi- neur 120, l'émetteur transmettant les caractères à un poste pteur par l'intermédiaire d'une voie 128. Les caractères de rôle de parité engendrés par les codeurs 112 sont alors apués à l'additionneur 120 dans lequel ils sont modifiés par tion de diverses parties des blocs d'information transmis pieurement, qui sont emmagasinées dans la mémoire 116. Ces Les sont appliquées à l'additionneur 120 à l'instant correct Sponse à une horloge 108. Les parties qui sont ajoutées sont, on l'à@vu plus haut, 11(b-2)1(x)+ ... + 10b-1(x).
Le résul.- le cette addition est alors appliqué à l'émetteur 124 dans @l il est transmis au poste récepteur par l'intermédiaire de @ie de communication 128.
Les données transmises sont reçues par le teur 204 qui applique les blocs d'information reçus à une re 212 ayant une capacité de k1 caractères et à un décodeur Les blocs de contrôle de parité ou caractères de contrôle de
<Desc/Clms Page number 8>
parité sont également appliqués au décodeur 216. Cela. est effec- tué en réponse à des impulsions d'horloge engendrées par l'horloge 208. Si un des 1e blocs d'information parmi les (b-1)1 bloc,, d'information reçus antérieurement est incorrecte ce qui est indiqué par la mémoire 228,, le décodeur 216 engendre le
EMI8.1
syodrotte du bloc de domiêes qui vient d'être reçu.
Cela peut être fait d'une manière traditionnelle Quelconque telle que dé- crite par exemple dans l'ouvrage de Peterson cité plus haut.
Ce syndrome est alors appliqué par le décodeur 216 à un circuit de logique 224. En réponse à une indication provenant de la mé- moire 228, selon laquelle le biac est incorrect, le circuit de logique 224 soustrait des parties spécifiques de chaque 1e bloc
EMI8.2
Parmi les (b-1 )1 b2ocs-d I-fnfonnatimr--ant-ér:i:
eurs-emmagastnéIr dans la mémoire de caractères 212 (à l'exception du bloc incorrect) à partir du syndrome fourni par le décodeur 216 et il substitue la résultante de cette soustraction à une partie du bloc incor- rect dans la mémoire de caractères 212. Les autres parties du bloc incorrect sont engendrées d'une manière similaire à partir des blocs de données reçus antérieurement ou ultérieurement jus- qu'à ce que le bloc incorrect tout entier ait été replacé et corrigé. Les blocs d'information corrects sont alors envoyés par la mémoire de caractères 212 à un circuit d'utilisation 232.
Les figures 3 et 4 illustrent un exemple spécifique de forme de réalisation d'un système selun l'invention. Cette forme de réalisation utilise un code cyclique abré- gé binaire (10, 5)avec 1 = 2. Le polynôme du code est G(x) = %5 + + % + 1.
Le système est capable de corriger des erreurs aléatoires simples, de détecter des erreurs aléatoires doubles
EMI8.3
¯et de corriger des erreurs iJr.pu1.sio.nneJ.les quui occupent deux blocs de 10 bits à condition qu'elles soient détectables et que 1e8 i'1!!'W[ blocs de 10 bits suiYaJ'11s soient exempts d'erreurs. ra CIC!De-csn1; que les erreurs impulaionnelles sont corrigées d'une autre manière, les impulsions qui occupent un bloc unique de 10 bite peuvent être corrigées à condition que le deuxième bloc
EMI8.4
de 'Q Ute suivant est umapt d'erreurs.
Dam le montage salon la :figure 3. une source a 'iDf'o%1lll-tion 304. en réponse à une horloge 308, applique des b1.ocs a 'inf'o:D89:tion de 5 bi-ts à -:mémoire de caractère.
3129 à vu 3xii.ïaar modalo-S 326 età mn émetteur 340 par l'in- ,ai3na d%n CG8IIQ1;ateur 324 lorsque celui-ci se trouve dans
<Desc/Clms Page number 9>
EMI9.1
la position A. Tandis qu'un bloc d'information est appliqué à l'additi<tnn)a<NT 329, un #881ta'teur 332 se trouvu dans la position par laquelle est établie une voie de rétroaction dans un reSistre à décalage 336 de manière à engendrer un mot de parité
EMI9.2
de 5 'blb1..Aprè8 qa'Nn bloc d"info1"8atJ.on de 5 bits ait été ilpp1qaI au registre à décalage 336, le commutateur 332 est ouwert.
le coaamtatear 324 est placé dans la position B et le qci6n- teoa da registre à décalage 336 est appliqué à l'additiomeur 328-celmi 1 additionne le mot de parité provenant du registre à décalage 336 à un bloc d'information transmis prêc±>demment
EMI9.3
qui ne trouve emmagasim dans la moitié droite de la "1Iéaoire 316.
Le bloc clwinfo1"88tion auquel est ajouté le mot de parité est un - bloc qani. a été transmis deux-blocs-avant le-bloc-d'inforaatioa#- qui est ea train d'être codé. Afin d'illustrer ce processus d'une manière plus claire, on supposera que le bloc d'information que- l'on ajoute aux bits de parité provenant du registre à décalage 336, est le bloc d'information 10 et que le bloc d'information suivant 10., emmagasiné en ce moment dans la moitié gauche de la mémoire 316, est 11 et que le bloc d'information qui est en train d'être codé et emmagasina dans la mémoire 312 est 12.
EMI9.4
Il est clair alors que le bloc i'înformation 1. est ajouté aux bits de parité du bloc d'information 12. Le bloc résultant de cette addition est appliqué à l'émetteur 340, par l'intermédiaire
EMI9.5
da commutateur 324, de manière à être transmis sur la voie de c.-uniCâ1on 3:.. Chaque bloc d'information est donc ajouté aux bits de parité de chaque deuxième bloc d'information suivant.
Le bloc transmis consiste en un bloc d'information de 5 bits et un bloc de parité de 5 bits qui a été modifié par addition à celui-ci d'en bloc d'information transmis antérieurement.
EMI9.6
On aoulignera que la génération des bits de parité par des registres à-décalage tel que le registre 336'est décrite en détails dans l'ouvrage de Peterson cité précédemment. 11 est donc inutile d'aborder cette question d'une manière plus approfomdie.
EMI9.7
Qsaque b1.oc de 10 bits codé et transmis est re<oa par un récepteur bzz,. sur la figure 4. On supposera que les h10ca .-lDfonaati'On 10 et 11' avec leurs bits de parité appzoprijëa, <M!t été reçus par le récepteur 404 et traités par la d6codmr 3b; Ce traitexent, que l'on décrira plus loin, consiste
<Desc/Clms Page number 10>
à déterminer ai les blocs d'information 1 et 11 sont corrects ou non. S'il a été déterminé que 10 est correct, un "0" est emma- gasiné dans la partie droite de la mémoire 440. S'il a été déter- miné que le bloc d'information 10 est incorrect, un "1' est em- magasiné dans cette position.
D'une manière similaire, un "0" ou "1" est emmagasiné dans la partie gauche de la mémoire 440 selon que le bloc d'information 11 est correct ou non. On supposera que le bloc d'information 12, ainsi que les bits de parité appropriés, ontété requs par le récepteur 404.
Le bloc d'information 12 est alors appliqué à une mémoire 412 ayant une capacité de 5 bits et à un additionneur modulo-2 432 que comprend un registre à décalage
428, puis introduit dans le registre à décalage 428. Si le bloc d'information 10 qui est emmagasiné dans la partie droite de la mémoire 420 s'est avéré être correct, ce qui est indiqué par un "0" emmagasiné dans la mémoire 440, le bloc d'information 10 est transmis à une porte ET 430 par l'intermédiaire d'une porte ET 444.
Lorsque le bloc d'information est appliqué à une entrée de la porte ET 430 en même temps que des impulsions d'horloge appropriées sont appliquées par une horloge 408 à l'autre entrée de la porte ET 430, celle-ci est ouverte et le bloc d'information,10 se trouve appliqué à l'additionneur modulo-2 432 dans lequel il est ajouté aux bits de parité du bloc 12 qui lui est apppliqué par le récep- tour 404.(Dans la description générale qui précède, on a dit que les blocs d'information étaien-, soustraits mais, en fait, une addition est la même opération qu'une soustraction en opération binaire).
La résultante de cette addition eat introduite dans le registre à décalage 428. Pendant que ce décalage a lieu ainsi que pendant que le décalage antérieur du code d'information 12 a lieu dans le registre 428, un commutateur 444 est maintenu en position fermée, connectant de la sorte la voie de rétroaction du re- gistre à décalage 428. 11 en résulte la génération d'un syndrome ou reste du bloc de données contenant 12. Ce syndrome est alors appliqué au circuit de vérification 4?4 dans lequel il est traité afin de déterminer combien d'erreurs se sont produites dans le blor qui vient d'être reçu, lequel contient le bloc 12.
S'il cet déterminé qu'une seule erreur sent produite, un mot d'erreur engendré par le circuit de vérification 424 est appliqué à l'addi- tionneur modulo-2 416 par l'intermédiaire d'une porte ET 426; dans l'additionneur, ce mot est ajouté au bloc d'information 12
<Desc/Clms Page number 11>
appl@que épar .La. mémoire 412.
(La porte de est ouverte par .La. présent d'un signal binaire *On dans la partie droite de la mémoire440. 11 en résulte qu'une erreur simple quelconque, existant dans le bloc d'information 12, est corrigée et un bloc d'information correct est appliqué à la partie gauche de la mémoire de caractères 420.
Le processus qui vient d'être décrit, c'est- à-dire l'addition d'un mot d'erreur au bloc d'information 12, est le processus de correction d'une erreur aléatoire simple quelconque qui se produit dans un bloc de données transmis. Une telle correction d'erreur.aléatoire est bien connuedans la technique de la transmission les données et elle est décrite en détails dans 11 ouvrage-de Peterson cité précédemment.
Si, à partir du traitement du syndrome par le circuit de vérification de 424, il est déterminé que plus d'une erreur simple s'est produireSans le bloc de données reçu , le circuit 424 enregistre un "1" dans la partie gauche de la mémoire
440 et introduit le bit qui se trouve déjà dans cette position, dans la partie droite de cette mémoire. Le bloc d'information 12 est alors appliqué à la mémoire 420 par l'intermédiaire de l'ad- ditionneur modulo-2 416 et le bloc d'information 10 est appliqué à un circuit d'utilisation de données 456 par l'intermédiaire de la porte ET 444, d'une porte ET 450 et d'une porte OU 452.
Si le bloc d'information 10 s'avère être incorrect, un "1" se trouve introduit dans la partie droite de la mémoire 440. Dans ce cas, les bits de parité du bloc d'information 12, après avoir été reçus dans le récepteur 404, sont appliqués au registre à décalage 428 par l'intermédiaire de l'ad- ditionneur modulo-2 432 et à la mémoire 412 ayant une capacité de 5 bits. L'introduction de ces bits de parité dans le registre à décalage 428 lorsque le commutateur 434 se trouve dans la posi- tion fermée (et le commutateur 438 dans la position ouverte ) donne lieu à la génération du syndrome du bloc de données conte- nant 12.
On se rappellera que lors du codage du bloc d'information 12, le bloc d'information 10 a été ajouté aux bits de parité du bloc d'information 12 avant d'être transmis . La génération du syndrome du bloc de données reçu, contenant 12, donne donc lieu à la génération du bloc d'information 10 (à condition, évidemment, qu'aucune erreur en soit produite dans le bloc de données
<Desc/Clms Page number 12>
EMI12.1
:::..::.r - ,JY ..S ;..,' ,.......... p. ; ;
qq%w ... . , =, ;... m , ¯ coïMstït 1 Ainal donc, lorsque 12 + B!:{x5I2)/G(x)J +- 1è/ .".. es1it&fs4 par le polynôme G(x). le reste ou syndrome est JO- .' '- " le 6u3d;em éu registre à décalage 428, qui est le bloc d'information 10. est alors appliqué à une porte ET 448 par l'intermédiaire du m 1 - itatour 438 qui est alors fermé. La. porte ET 448 est ouverte par la présence d'un 1f1" dans la partie droite de la mémoire 440, Ù'!IJ,t8:t&ant 10 à la porte OU 452 et au circuit d'utilisation de êeteea 456 De cette manière, le bloc d'information Tot qui aval* 4t& détecta antérieurement comme étant incorrect, est corrigé en le 'bloc de données contenant I2' transmis ultérieure- 1IIeJI't1l',.!t.
'. ""1"'-' On va décrire à présent le fonctionnement du &.l''''' 1: sur les figures 3 et 4 à l'aide d'un exemple..
On -.pposera qt8 les 'blocs d'information loir :11ir 1"2 et 13 , indiq).}azt3 la partie A de la figure 5. doivent être transmis.
La 8CJIQrCe d'information 304 applique d'abord le bloc d'information 10 1: les bito 00001 au registre à décalage 336. Le bit '*'.eat d'abord ap liqué au registre à décalage 336 de telle sorte que ne trouve engendré le mot 11010 dans le registre. Lorsque le bit -.:1:...nt d'.1 bloc 10, c fest-à-11tet le :ce trouve appliqué, le met 01101 est engendré. D'une E-r-i74-airei l'applî-
EMI12.2
cation des autres *On au registre à décalage 336 donne lieu à la génération des bits de parité indiqués dans la partie B de la fi-
EMI12.3
gure 5.
Ces bita de parité sont alors ajoutés dans la moitié droite da contenu de la MêMO4-re 316, iaquelle, à ce moment, contient loua des "tu'" pNLia.TU'aacun bloc d'3nformatòn n'a été transmis an1:&:i.eurement. :Le bloc résultant lTo ' indiqué dans la partie D de la figure 5, est alors appliqué à l'âseiteur 340 afin d'être trawade mw la woie de communication 344. Les autres blocs d ' informenaim 1, xz est 1 sont codés d'une manière similaire. Les diver8e8 étapes au processus de codage pour chaque bloc d'informatioa t bflàqpé 4ans le tableau de la figure 5.
Les bits de parité :admt hmqpés pour chaque bloc d'information dans la partie B de"la Ilgum 5 tandis que les blocs de code C comprenant les bloc* 4':i11fo:r:...:tiaa et les bits de parité, sont indiqués pour chaque N.oc dtiDt01.'88:ti.on,dans- la partie C de la figure 5 Les blocs de d#m&. tranmds 1 comprenant les blocs de code plus les à'1èC8 dtiD:f'oz8ation transmis antérieurement, sont indiqués dam la perti.e '1 .. :la :figure 5*
EMI12.4
. il. ,
<Desc/Clms Page number 13>
EMI13.1
il' ±1'*+ ¯,]7-±, t-11. " - ' - :?SPW'--'''"' - " ';. ,lÀ.¯ ,;
CÇà$4, %I¯ On supposera à présent que les blocs de " do=26M tranmîs 10 à 117reçus dans le récepteur 404 sur la fi- gure 4 avec les erreurs indiquées dans le tableau de la figure 6.
EMI13.2
Par e.s* .e bloc de données Mo est reçu avec sept erreurs, le bloc de données K1avec une erreur, etc...Dans ce tableau, les bits erronés sont indiqués dans un rectangle. Les astérisques servant à distinguer, des blocs transmis ..les blocs reçus qui peuvent contenir des erreurs.
Après que le récepteur 404 ait reçu le bloc Mo. le récepteur applique les cinq premiers bits reçus,
EMI13.3
c'es .ire le bloc d'information I , à la mémoire 412 ayant une c..;-j1é-de cinq bits, et au registre à décalage 428. Le récepte8:r 404 applique alors les cinq autres bits du bloc Mo c'est--ire les bits de parité, à l'additionneur modulo-2 432 et au registre & décalage 428. Comme aucun bloc de donnéas n'a été re ù4riewrecent, la mémoire 440 emmagasine des **0" et le oemflbm dont la noitié droite de la seisoire 420 est ajouté aux bits de parité du bloc de données Ko dans l'additionneur modulo-2 432. Comme les contenus sont des "0", les bits de parité
EMI13.4
ne sont pas affectes.
L'introduction d,: bloc e> donnêea Mo dans le regi.¯'tre à décalée 4 ,trs ;ae le ,;; ;n,::'::':,1;2.Teu:t' 434 est fermé, donne lieu à la génération du syndrome' C1011. Comme ce syndrome
EMI13.5
ne se trouve pas parmi les srnirot1es qui indiquent des'erreurs pouvant être corrigées, telles qu*indiquées dans la partie A du tableau de la figure 7, le circuit de vérification 424 détermine que les erreurs ne peuvent être corriges et que le bloc d'infor-
EMI13.6
mation ) est incorrect. Le circuit de vérification 424 emmuga- sine alors un "1" dans la partie gauche de la mémoire 440 afin d'indiquer que le bloc d'information le est; incorrect.
Le bloc
EMI13.7
d'infoion 10 est alors appliqué par à mémoire 412 à la moi- tié gauche de la mémoire 420.
Le bloc de données M1* est alors reçu et le bloc d'information I1 est appliqué à la croire 412 et au
EMI13.8
registre t décalage 428. Les bits de parité du bloc de données lx sont *lors appliqués l Itadditionneur sodulo-2 432. Comme la podtion de droite de la mémoire 44Q contient un "Ont le contem de la moitié gauche de la mémoire 420 est ajouté aux bits de partié du bloc de données M1* avant d'appliquer ces bits au registre à décalage 428. Les bits de parité ne sont cependant pas -
<Desc/Clms Page number 14>
affectes puisque se sont tous des "0" qui sont emmagasinés dans la moitié droite de la mémoire 420.
L'application des bits de parité du bloc M1* au registre à décalage 428 lorsque le commuta- teur 434 est fermé, provoque la génération du syndrome du bloc de données M1* comme précédemment. Le syndrome engendré est 00111 qui est alors appliqué au circuit de vérification 424 dans le- quel il est traité afin de déterminer s'il correspond à l'un de ceux qui indique une erreur pouvant être corrigée., En se repor- tant à la partie A du tableau de la figure 7, on voit que ce syn- drome correspond à l'un de ceux qui indique qu'une erreur peut être corrigée et l'on voit dans la partie D de ce tableau que la position du bit erroné est la position 1. En fait, on voit dans le tableau de la figure 6 que le bit se trouvant dans la position 1 du bloc M1* est erroné.
Le mot d'erreur 00001 est alors engendré , par le circuit de vérification 424 et appliqué à l'additionneur modulo-2 416 dans lequel il est ajouté au bloc d'information 11 requ de la mémoire 412. La .résultante de c'ette addition est introduite dans la mémoire 420 et le bloc d'information Il,9 qui . se trouvait dans la moitié gauche de la mémoire 420, est décalé ' dans la moitié droite de cette mémoire. Le circuit de vérification de 424 applique également un "0" à la mémoire 440, décalant ainsi dans la position droite,le signal "1" qui se trouvait dans la position de gauche.
L'état du poste décodeur à ce moment est tel que le bloc d'information 10 est emmagasiné dans la moitié droite de la mémoire 420, que lebloc d'information 11 est emma- gasiné dans la moitié gauche de cette mémoire, qu'un "1"est emma- gasiné dans la position de droite-de la mémoire 440 et qu'un "0" est emmagasiné dans la position gauche de la mémoire 440.
EMI14.1
'.' - Le bloc de données M est alors reçu par f'- - .-:. --- le récepteur 404 et le bloc d'information 12 se trouve applique à la mémoire 412 et au registre de décalage 428. Les bits de parité du bloc M2* sont alors appliqués à l'additionneur modulo-2 432. Comme un "1" est emmagasiné dans la position de droite de la mémoire 440, le contenu de la moitié droite de-la mémoire 420 n'est pas appliqué pendant ce temps. Les bits de parité sont introduits dans le registre à décalage 428 et le syndrome du bloc se -trouve engendré.
Le syndrome engendré est 00001 qui est le même que la version correcte du bloc d'information 10 (voir figure 5) .'Apres que ce syndrome ait été engendré, le commutateur
EMI14.2
t::l,''";;4=,: ;..,¯ fez-' ¯::.:.>..".¯.,' bzz-
<Desc/Clms Page number 15>
434 est ouvert, le commutateur 438 est fermé et le syndrome est envoyé au circuit d'utilisation de données par l'intermé- diaire de la porte ET 448 et de la porte OU 452, en lieu et place du bloc d'information incorrect 10 qui est emmagasiné dans la moitié droite de la mémoire 420. Le bloc d'information 1. emma-- gasiné est simplement extrait de la mémoire 420 et éliminé.
De cette manière, les erreurs impulsionnelles qui se sont pro- duites dans le bloc d'information 10, se trouvent corrigées.
Le bloc de données M3* est enfin reçu dans le récepteur 404 et appliqué au décodeur 436 dans lequel il est traité comme décrit plus haut. Dans ce cas, le bloc d'information 11 qui se trouve à présent dans la moitié droite de la mémoire 420, est ajouté aux bits de parité du bloc M3* et la résultante de cette addition est appliquée au registre à décalage 428. Dès lors, le commutateur 434 étant fermé, le syndrome 11010 se trouve engendré. On voit sur la figure 7 que ce syndrome indique qu'une seule erreur s'est produite dans la cinquième position du bloc d'information 13 reçu. Sur la figure 6 on voit qu'une erreur s'est effectivement produite dans la cinquième position de bits. Cette erreur est corrigée dans le bloc d'information 13 comme on l'a décrit plus haut,et appliquée à la mémoire 420.
De la manière décrite ci-dessus dans le cas de la forme de réalisation représentée à titre d'exemple par les' figures 3 et 4, des erreurs aléatoires simples peuvent être corrigées tout comme des erreurs impulsionnelles qui occupent deux blocs de données de 10 bits à condition que les deux blocs de données de 10 bits suivants 3oient exempts d'erreurs. Cette correction est effectuée avec une capacité d'emmagasinage minimale dans le décodeur. En fait, la capacité d'emmagasinage est inférieure à l'espacement de garde requis du système. La capacité d'emmagasinage est de 15 bits tandis que l'espacement de garde est de 20 bits.
Des circuits détaillés n'ont pas été représentés pour les organes 308 et 340 sur la figure 3 et pour les organes 404,408 et 424 sur la figure 4 étant donné que de tels circuits sont considérés comme étant de la compétence ordinairs de l'homme de l'art. On soulignera également que le commutateur 324 sur la figure 3 et les commutateurs 434 et 438 sur la figure 4 peuvent être actionnés par des horloges ou autres dispositifs logiques de commande même si cela n'a pas été repré-
<Desc/Clms Page number 16>
semé sur les dessins. Les commutateurs ont été représentés comme de simples commutateurs à deux positions afin de simplifier la description.
Enfin, il est entendu que les montages dé- crits ci-dessus ne sont que des exemples d'application des prin- cipes de l'invention. D'autres montages et de nombreuses modifi- cations peuvent être conçus par l'homme de l'art sans pour autant s'écarter de l'esprit de l'invention. N'importe quel code de cor- rection d'erreurs aléatoires qui satisfait aux exigences établies dans la description qui précède peat être utilisé et des procédés de correction d'erreurs aléatoires classiques peuvent être uti- lisés.