Brevet FR2166310A1 — publié le 19730817

La présente invention concerne les dzspositifsde codage binaire à code récurrent, systématique et correcteur d'erreurs, et les dispositifs de décodage correspondants. On rappelle qu'un code binaire est dit systématique lorsque les bits d'information sont effectivement transmis tels quels, et qu'il est dit récurrent lorsque les bits, dits de redondance ou de parité, qui sont transmis en sus des bits d'information sont des sommes moaulo 2 de bits d'irîormation dont les rangs sont déterminés par le rang du bit de parité considéré dans sa série. On peut en effet utiliser plusieurs séries de bits de parité, où les bits de même rang dans les diverses séries de bits de parité sont des sommes modulo 2 différentes. Enfin un code est dit correcteur d'erreurs s'il permet la correction automatique des erreurs de transmission, lorsque la densité des erreurs reste inférieure à un certain seuil. Cela étant, la présente invention a pour objet un dispositif de codage à code du type précité permettant, avec des circuits relativement simples, d'effectuer des codages à taux de redon dance élevée, et en outre de faire varier le taux de redondance d'une liaison en fonction de la qualité de la transmission. Dans ce qui suit on désignera par entrée d'information d'un c9,aur systématique récurrent l'entrée simple à laquelle on applique un bit d'entrée à la fois, ou l'entrée multiple à laquelle on applique simultanément plusieurs bits d'entrée. On appellera de m8me sortie d'information du codeur la sortie simple ou multiple retransmettant les bits d'entrée, et sortie de parité du codeur la sortie simple ou multiple fournissant les bits de parité correspondants. De même il pourra s'agir d'entrées simples ou multiples lors qu'on parlera de l'entrée d'information ou de l'entrée de parité d'un décodeur, et la "sortie" d'un décodeur pourra être simple ou multiple. Suivant l'invention, un dispositif de codage à code systéma tique, récurrent et un correcteur d'erreurs comportant un codeur, dit ci-après premier codeur, à code systématique, récurrent et correcteur d'erreurs, muni d'une entrée d'information à laquelle sont appliqués les bits d'information à transmettre, une sortie d'information retransmettant lesdits bits d'information et une sortie de parité fournissant les bits de parité y associés est caractérisé en ce qu'ii comporte (n-1),n étant au moins égal à 2, autres codeurs à code systématique, récurrent et correcteur d'erreurs, et des moyens pour appliquer à l'entrée d'information du je des n codeurs (j = 2, 3 ... n) les bits de parité fournis par le (j-1)e codeur, ledit dispositif de codage pouvant être utilisé avec les p premiers (p pouvant être choisi entre 1 et n inclus) desdits n codeurs, et comportant une sortie d'information constituée par celle du premier codeur et n sorties de parité constituées par celles desdi'ts n codeurs, et dont seules sont utilisées celles qui correspondent aux p codeurs utilisés. Suivant l'invention un dispositif de décodage pour le décodage des bits fournis par un dispositif de codage tel que défini ci-dessus, ledit dispositif de décodage comportant un décodeur, qui sera dit décodeur de base, adapté au décodage du code dudit premier codeur, et recevant sur ses entrées d'information et de parité respectivement les bits d'information et de parité provenant du premier codeur est caractérisé en ce qu'il comporte n, n étant au moins égal à 2, séries de décodeurs, la première série comportant n décodeurs adaptés au décodage du code dudit premier codeur et le premier décodeur de cette série étant ledit décodeur de base, la je série (j = 2, 3, ... n) comportant e (n+1-j) décodeurs adaptés au décodage du code du j codeur;; des moyens pour appliquer les bits de parite provenant du (j-1)e codeur à l'entrée de parité du premier décodeur de la (j,l)e série et à l'entrée d'information du premier décodeur de la je série; des moyens pour appliquer les bits de sortie du ke (k = 1, 2 ... n-j) décodeur de la je série à l'entrée d'information du (k+1)e décodeur de la je série et à l'entrée de parité du (k+1)e décodeur de la (j,l)e série; la sortie dudit dispositif de décodage étant celle du pe décodeur (p = 1, 2, ... n) de la première série lorsque p codeurs sont utilisés dans le dispositif de codage. L'invention sera mieux comprise et d'autres caractéristiques apparaitront à l'aide de la description ci-après et des dessins s'y rapportant sur lesquels la figure i est le schéma d'un dispositif de codage à deux codeurs suivant l'invention, la figure 2 est le schéma d'un dispositif de décodage correspondant suivant l'invention, les figures 3 et 4 sont des schémas simplifiés illustrant le principe des dispositifs de codage à un plus grand nombre de codeurs, suivant l'invention, et des dispositifs de décodage correspondants. Afin de clarifier l'exposé, on considérera comme simultanés, dans les descriptions qui suivent, des bits qui ne sont décalés les uns par rapport aux autres que d'une minime fraction de période d'horloge, correspondant à des temps nécessaires pour des opérations logiques telles qu'une addition modulo 2. De tels retards sont sans importance si les impulsions de sortie des appareils décrits sont ensuite classiquement remises en forme dans un dispositif utilisant une partie centrale de la durée du bit pour la lecture de sa valeur. Dans le cas contraire des dispositifs de retard auxiliaires peuvent toujours être utilisés pour assurer une synchronisation rigoureuse. Par contre, l'exposé tiendra compte de certains dispositifs de retard, indispensables pour le fonctionnement des appareils. La figure i représente un dispositif de codage comportant deux codeurs à code systématique récurrent et correcteur d'erreurs. Le premier codeur comporte un registre à décalage, 15, à 10 étages, ces étages étant symbolisés par des cases séparées par des traits en pointillés et numérotées de O à 9 à partir du dernier étage du registre, l'entrée 11 du registre alimente donc directement la case 9; On a représenté symboliquement par une entrée 12 l'entrée du registre recevant les impulsions d'avance I fournies sur une entrée H du circuit par une horloge de période T. Les stages O, 4, 6 et 9 du registre sont munis de sorties respectivement reliées aux quatre entrées d'un additionneur modulo 2, 16, constitué par trois additionneurs de deux bits moxlbé$ en série. Le dispositif de codage comporte deux sorties parallèles, la sortie 14 qui est alimentée par l'étage 9 du registre et la sortie 13 qui est alimentée par l'additionneur 16. Les bits d'information sont appliqués à l'entrée 11 du registre à la cadence des impulsions d'horloge I. Pour simplifier les notations et pour abréger le langage, une somme modulo 2 sera écrite comme une somme classique mais suivie de la notation "(M)"; de m8me une somme modulo 2 sera désignée par le terme "somme M". On désignera par bo le bit d'information occupant à un instant de référence to l'étage O du registre 15, les bits suivant et précédant b étant désignés respectivement par b1, b2, etc, et b-1, b-2, etc. On a alors en t0 le bit b9 sur la sortie 14 et sur la sortie 13 un bit de redondance, ou de parité, qui sera désigné par p9, dont l'expression est p9 = bo + b4 + b6 + bg (M) Ces deux bits sont transmis, par exemple en parallèle par deux voies distinctes, à l'autre extrémité de la liaison. D'une manière générale, on transmet à l'instant to + nT, où T est la période des impulsions d'horloge bn+9 et Pn+g = bn + bn+4 + bn+6 + bn+9 (M) le codeur qui vient d'être décrit est de type connu. A ce codeur est adjoint un second codeur ayant même entrée d'horloge H que le premier et identique à celui-ci, abstraction faite d'un dispositif de retard 50 inséré entre l'entrée H et l'entrée d'avance de son registre. Ce dispositif de retard impose un retard d égal à une minime fraction d'une période d'horloge. Les élaments du second codeur correspondant à ceux du premier sont repérés par les mimes nombres augmentés de 100. Ce second codeur fonctionne exactement comme le premier (avec un retard de d) à ceci près qu'il est utilisé pour coder "l'information" constituée par les bits de parité, qui seront dits d'ordre 1, du premier codeur. Cette "information't est retransmise par la sortie 114 du second codeur et lEs bits de parité corres pondants, qui seront dits bits de g ité d'ordre 2, sur la sortie 113; il suffit de regarder le schéma pour voir que la sortie 114 du second codeur fournit avec un retard d' peu différent de d les mêmes bits que la sortie 13 du premier codeur et qu'elle peut en réalité être supprimée, c'est pourquoi elle est représentée en pointillé. Le dispositif de décodage de la figure 2 comporte trois décodeurs. Le premier décodeur, qui sera dit décodeur de base, est un décodeur connu, adapté au décodage du code fourni par les codeurs de la figure 1. Il comporte deux entrées 24 et 23 recevant respectivement les bits d'information et de parité apparaissant sur les sorties 14 et 13 du premier codeur de la figure 1. Ce décodeur comporte un registre 25 identique au registre 1 5 de la figure 1, avec ses étages désignés de même de 9 à 0 à partir de son entrée, constituée par l'entrée 24 du décodeur. Le registre 25 comporte une entrée 22 reliée à une entrée H' recevant des impulsions I' destinées à l'avance du registre, ces impulsions I' étant synchronisées en phase sur les bits reçus par l'un ou l'autre des dispositifs classiquesutilisés à cet effet dans tous les systèmes de transmission binaires. Les étages 9, 6, 4 et O du registre sont munis de sorties respectivement reliées à quatre des entrées d'un additionneur modulo 2, 26, à cinq entrées, dont la cinquième est constituée par l'entrée 23 du décodeur. La sortie de l'étage 0 du registre est reliée à la première entrée d'un additionneur modulo 2, 21, dont la sortie 27 constitue la sortie du décodeur. La sortie de l'additionneur 26 est reliée à l'entrée d'un registre, 35, à dix étages, également numérotés de O à 9 à partir du dernier. La sortie de l'étage 9 est reliée à l'entrée de l'étage 8 par un additionneur modulo 2 symboliquement représenté par une case marquée du signe +; les étages 5 et 4 d'une part, et 3 et 2 d'autre part, sont également couplés de la même façon. Le registre 35 reçoit sur son entrée d'avance les impulsions I' retardées de la durée d très inférieure à T par un dispositif de retard 31. Les sorties de ses étages 0, 3, 5, 9 sont reliées aux quatre entrées d'un dispositif à seuil 33 fournissant sur sa sortie un bit 1 ou un bit O suivant que la somme arithmétique des chiffres binaires des étages X, 3, 5 et 9 du registre 35 dépasse ou non 2. La sortie du dispositif à seuil 33 est reliée à la seconde entrée de l'additionneur 21. La sortie du dispositif à seuil est reliée d'autre part aux secondes entrées des trois additionneurs insérés dans le registre 35. On désignera par la notation c' le bit reçu correspondant à un bit transmis quelconque c. On désignera par Pg la somme M pg = b'g + b'6 + b'4 + b O ( ) et par Sg la somme modulo 2 fournie par l'additionneur 26 à l'instant où bg occupe l'étage 0 du registre 25. S9 = P9 + p'9 (M)= b'9 + b'6 + b'4 + b'0 + P'9 (M). On voit que S9 est nul si aucun des cinq bits entrant dans son expression n'est affecté d'une erreur. Dans le cas contraire S9 est égal à 1 ou 0 suivant que le nombre d'erreurs est impair ou pair. Il apparaîtra immédiatement que le bit b'0 constitue également l'un des termes de chacune des sommes M S5 = b'5 + b'2 + b'0 + b'-4 + p'5 (M) S3 = b'3 + b'0 + b'-2 + b'-6 + p'3 (M) S0 = b'0 + b'-3 + b'-5 + b'-9 + p'0 (M) et qu'aucun autre bit n'apparaît plus dune fois dans ces quatre expressions. S9, S5, S3, S0 constituent donc un ensemble de quatre sommes, dites "syndromes" associées au bit b'0. D'une façon géné- rale Sn+9, Sn+5, Sn+3, Sn constituent un ensemble de quatre syndromes associés au bit bn. Désignant par t'n-9T l'instant ou apparait le premier syndrome associé au bit b'n, c'est à l'instant t'n seulement qu'apparaîtra le quatrième, Sn+9, des quatre syndromes associés à ce bit. Par suite du retard d apporté par l'élément de retard 31, c'est à l'instant t'n + d que les syndromes Sn, Sn+3, Sn+5 Sn+9 occuperont respectivement les étages 0, 3, 5 et 9 du registre 35, qui sont les étages alimentant le dispositif à seuil 33. Si au moins deux de ces syndromes sont nuls, il n'y a pas lieu de modifier le bit b' n qui occupe alors l'étage O du registre 25, et le dispositif à seuil ne fournit aucun signal. Dans le cas contraire, le dispositif à seuil fournit un bit 1 qui, à l'instant t'n + d, est appliqué à la seconde entrée de l'additionneur 21 pour modifier b'ns et aux additionneurs insérés dans le registre 35 pour modifier les syndromes associés à b' n à l'exception du premier qui ne sera plus utilisé pour d'autres examens. Le décodeur de base qui vient d'être décrit peut être considéré comme un circuit présentant une entrée d'information 24, une entrée de parité 23 et une entrée d'horloge H'. A ce décodeur de base sont adjoints deux autres décodeurs, 100 et 1000 identiques au premier ayant même entrée d'horloge H', et respectivement une entrée d'information 124 et une entrée de parité 123, une entrée d'information 1024 et une entrée de parité 1023. Le décodeur 10C reçoit sur son entrée d'information 124 les bits de parité ordre 1 fournis par le premier codeur de la figure 1 (sortie 13) et sur son entrée de parité les bits de parité d'ordre 2 fournis par le second codeur de la figure 1 (sortie 113). I7 fournit sur sa sortie 127 les bits de parité d'ordre 1 éventuellement corrigés. Le décodeur 1000 reçoit sur son entrée d'information 1024 les bits de sortie du décodeur de base, et sur son entrée de parité 1023 les bits de sortie du décodeur 100. Le mode de fonctionnement du dispositif apparat immédiatement. te décodeur 1000 opère de la même manière que le codeur 1û0 mais sur des bits d'information qui ont fait ltobjet d'un premier examen et d'éventuelles corrections, et sur des bits de parité d'ordre 1 qui ont fait l'objet d'un examen et d'éventuelles corrections, sa sortie 1027 est la sortie du dispositif. Ceci suppose qu'on utilise effectivement les deux codeurs du dispositif de codage de la figure 1. Nais on peut également utiliser le dispositif de codage de la figure 1 pour une transmission à taux de redondance plus faible, soit en mettant hors circuit le second codeur, soit tout simplement en ne transmettant pas les bits apparaissant sur la sortie 113. Dans ce cas, il suffira, dans le dispositif de décodage, de prélever les bits de sortie sur la sortie 27 du décodeur de base. On remarquera que le décodeur 100 est identique aux deux autres parce qu'on a supposé le second codeur de la figure 1 identique au premier. Dans le cas contraire, le décodeur 100 serait évidemment adapté au décodage du code utilisé dans le second codeur de la figure 1. La figure 3 illustre le schéma d'un dispositif de codage à n = 4 codeurs, A, B, C, D supposés utilise des codes différents, dont les entrées d'information respectives sont désignées par 11, 111, 211 et 311, les sorties de parité par 13, 113, 213 et 313, la sortie d'information du premier étant désignée par 14, et leur entre commune d'horloge par H, celle-ci alimentant les entrées d'avance des registres des trois derniers codeurs par l'intermédiaire de dispositifsde retard convenables. L'entrée 11 reçoit les bits d'information, l'entrée 111 du codeur B est reliée à la sortie 13 du codeur A, l'entrée 211 du codeur C est reliée à la sortie 113 du codeur B, l'entrée 311 du codeur D est reliée à la sortie 213 du codeur C. On transmet les bits d'information fournis par la sortie 14, et les bits de parité soit de la sortie 13, soit des sorties 13 et 113, soit des sorties 13, 113 et 213, soit enfin des sorties 13, 113, 213 et 313. Bien entendu, les entrées et sorties d'information et de parité peuvent être simples ou multiples. La figure 4 illustre le dispositif de décodage correspondant. Il comporte : n = 4 décodeurs A(1) , A(2) , A(3) , A(4), adaptés au décodage du code du codeur A ; n - 1 = 3 codeurs B(1), B(2) et B(3) adaptés au décodage du code du codeur B ; n - 2 = 2 décodeurs C(1) et C(2) adaptés au décodage du code du codeur C, et n - 3 = 1 décodeur D(1) adapté au décodage du code du codeur D. On a désigné respectivement par i et p l'entrée d'information et l'entrée de parité de chaque décodeur. Le dispositif de décodage comporte une entrée I recevant les bits d'information fournis par le codeur A, et quatre entrées a, b, c, d recevant les bits de parité respectivement fournis par les codeurs A, B, C et D, toutes ces entrées étant suposées synchrones, et une entrée d'horloge H'. Cette entrée d'horloge H' est l'entrée d'horloge commune de tous les décodeurs, les liaisons correspondantes n'ayant été tracées que pour les décodeurs D(1), C(1) et C(2), pour ne pas surcharger le dessin. L'entrée I alimente l'entrée i du décodeur A(1). L'entrée a alimente l'entrée p du décodeur A(1) et l'entrée i du décodeur B(1), l'entrée b alimente l'entrée p du décodeur B(1) et l'entrée i du décodeur C(1), l'entrée c alimente l'entrée p du décodeur C(1) et l'entrée i du décodeur D(1), et l'entrée d alimente l'entrée p du décodeur D(1). Désignant par "ligne" les groupes de décodeurs ayant même lettre de repère et par "colonnes" les décodeurs ayant la même notation numérique, chaque décodeur des colonnes autres que la première reçoit sul son entrée i les bits de sortie du décodeur précédent de la meme ligne et sur son entrée de parité les bits de sortie du décodeur ayant le rang précédent dans la ligne suivante. le dispositif de décodage comporte r = 4 sorties Z1, Z2 Z3 et Z4 qui sont les sorties des décodeurs A(1) à A(4) de la première ligne, la sortie Zp étant utilisée lorsque utilise les p premiers codeurs dans le dispositif de décodage (p = 1, 2, 3 ou 4). VNDI CBTI ONS 1. Dispositif de codage à code systématique, récurrent et correcteur d'erreurs comportant un codeur, dit ci-après premier codeur, à code systématique, récurrent et correcteur d'erreurs, muni d'une entrée d'information à laquelle sont appliqués les bits d'information à transmettre, une sortie d'information retransmettant lesdits bits d'information et une sortie de parité fournissant les bits de parité y associés, caractérisé en ce qu'il comporte (n-1) autres codeurs à code systématique, récurrent et correcteur d'erreurs, et des moyens pour appliquer à l'entrée d'information du je des n codeurs (j = 2, 3 ... n) les bits de parité fournis par le codeurs ledit dispositif de codage pouvant être utilisé avec les p premiers (p pouvant etre choisi entre 1 et n inclus) desdits n décodeurs, et comportant une sortie d'information constituée par celle du premier codeur et n sorties de parité constituées par celles desdits n codeurs, et dont seules sont utilisées celles qui correspondent aux p codeurs utilisés. 2. Dispositif de codage suivant la revendication 1, caractérisé en ce que lesdits n codeurs utilisent le même code et en ce que n = 2. 7. Dispositif de décodage pour le décodage des bits fournis par un dispositif de codage suivant la revendication 1, ledit dispositif de décodage comportant un décodeur, qui sera dit décodeur de base, adapte au décodage du code dudit premier codeur, et recevant sur ses entrées d'information et de parité respectivement les bits d'information et de parité provenant du premier codeur, caractérisé en ce qu' il comporte : n séries de décodeurs, la première serie comportant n décodeurs adaptés au décodage du code dudit premier codeur et le premier décodeur de cette série étant ledit décodeur de base, la série (j = 2, 3 ... n) comportant (n+1-J) décodeurs adaptés au décodage du code du je codeur; des moyens pour appliquer les bits de parité provenant du (j-1)e codeur à l'entrée de parité du preier décodeur de la (j-1)e série et à l'entrée d'information du premier décodeur de la e série; des moyens pour appliquer les bits de sor- tie du ke (k = 1, 2 ... n-j) décodeur de la j e série à l'entrée e d'information du (k+1)e décodeur de la je série et à l'entrée parité du (k+I) e décodeur de la (j-1)e seriez la sortie dudit d2pOS1- tif i dexdage étant celle du p e decodeur (p = 1, 2, ... n) de la première série lorsque p codeurs sont utilisés dans le dispositif de codage0 4. Dispositif de décodage suivant la revendication 3, caractérisé en ce que lesdits décodeurs opèrent sur le même code et en ce Lue n=2 5. Dispositif de liaison codée en code récurrent à taux de redondance variable, systématique et correcteur d'erreurs, caractérise en ce qu'il comporte un codeur suivant la revendication 1 et un de codeur suivant la revendication 3