Brevet FR2681741A1 — publié le 19930326

PROCEDE DE CONVERSION DE DONNEES D'UN CODE CYCLIQUE ET CONVERTISSEUR La présente invention a pour objet un procédé de conversion d'au moins un sous-bloc de données codées selon un code cyclique représenté par une première matrice dont chaque ligne est une donnée numérique codée. Les codes cycliques sont très fréquemment mis en oeuvre notamment dans les convertisseurs analogique-numérique, lesquels de par le caractère "thermométrique" des échelles de résistances utilisées pour définir des niveaux de référence de comparaison, génèrent des codes de GRAY. Un convertisseur analogique-numérique présente alors un convertisseur de code (ou décodeur) dont la fonction est de transformer ledit code de GRAY en un code binaire. Une telle conversion demande un nombre élevé de comparateurs (ou portes), ce qui augmente notablement la surface occupée sur un circuit intégré. La conversion d'un code de GRAY de (nu1) bits en code binaire ne requiert en effet pas moins de 2 N comparateurs (ou portes) pour un code de GRAY cyclique. La présente invention a pour objet un procédé de conversion permettant de transformer un code cyclique, notamment de GRAY en un code qui peut, quant à lui, être facilement transformé en un autre code par exemple en code binaire de telle sorte que le nombre de comparateurs (ou portes) soit notablement diminué. L'idée de base de l'invention consiste à tenir compte de la redondance d'informations inhérente aux codes cycliques pour obtenir un code plus simple. Dans ce but, le procédé selon l'invention est caractérisé en ce qu'il comprend une étape consistant à extraire de la première matrice une deuxième matrice au moins en partie cyclique et ayant au moins une dimension sous-multiple d'une dimension de la première matrice, et une étape consistant à extraire de la première matrice une troisième matrice associant au moins un code de levée d'indétermination à chaque ligne de la deuxième matrice. On transforme ainsi la première matrice en un code replié comportant deux matrices faciles à décoder, et notamment à convertir en code binaire, du fait que la deuxième matrice est au moins en partie cyclique. Ledit procédé peut être avantageusement itéré au moins une fois. Selon un mode particulièrement avantageux, le procédé comporte les étapes suivantes a) définir des sous-matrices triangulaires dont les dimensions sont sous-multiples de celles de ladite première matrice, lesdites sous-matrices formant au moins un ensemble de sous-matrices alignées selon une diagonale, b) définir la deuxième matrice comme un empilement de sous-matrices triangulaires, la moitié des sous-matrices étant inversée logiquement, de manière qu'au moins une partie de la deuxième matrice soit cyclique. On met ainsi à profit la propriété des codes cycliques1 selon laquelle il existe des blocs de "O" et de "1" séparés par des lignes transversales de la matrice. Selon une première variante correspondant au cas où la première matrice est elle-même cyclique, la conversion porte sur une moitié d'un code cyclique et les sous-matrices forment un dit ensemble de sous-matrices. Selon une variante préférée, la conversion porte sur la totalité d'un code cyclique et les sous-matrices forment deux ensembles de sous-matrices, la deuxième matrice comportant une première et une deuxième partie dont chacune est cyclique et présente au moins un cycle, la deuxième matrice pouvant être obtenue notamment en complémentant alternativement une matrice sur deux. On obtient ainsi un décodage pouvant être simplifié au maximum. Les sous-matrices ont avantageusement toutes la même dimension. La troisième matrice est de préférence cyclique, ce qui facilite encore plus la conversion en code binaire. Selon l'invention, le procédé peut également inclure une étape de conversion notamment en code binaire d'au moins une partie des deuxième et troisième matrices. L'invention concerne également un convertisseur d'un code cyclique représenté par une première matrice dont chaque ligne est une donnée numérique et permettant de mettre en oeuvre le procédé selon l'invention. Un convertisseur selon l'invention présente ainsi un premier circuit logique présentant des entrées logiques agencées pour recevoir les données d'un premier groupe de colonnes du code et une entrée d'autorisation associée à chaque entrée logique, ainsi qu'un deuxième circuit logique présentant des entrées logiques agencées pour recevoir les données d'un deuxième groupe de colonnes comportant les colonnes restantes du code et présentant au moins une sortie connectée aux entrées d'autorisation, les colonnes de la deuxième matrice étant constituées par les données présentes à des sorties du premier circuit logique, lesquelles comporte les fractions des colonnes du premier groupe validées par les entrées d'autorisation, les colonnes de la troisième matrice étant constituées par au moins certaines des colonnes du deuxième groupe. N Pour une première matrice comportant 2 colonnes (code à N + 1 bits), la deuxième matrice peut ainsi comporter 2 N-M colonnes, et la troisième matrice 2 M colonnes. Les colonnes de la troisième matrice peuvent être les p 2 (N-M) èmes colonnes de la première matrice, p variant de 1 à "M Selon une variante préférée, une entrée logique sur deux du premier circuit logique est une entrée inverseuse. Selon un mode de réalisation particulièrement avantageux, le premier circuit logique comporte j groupes de portes d'autorisation présentant une entrée logique et une entrée d'autorisation (avec j = 2 N-M - I et M = ql q = nombre d'itérations, 1 représentant le nombre de "repliements" pour passer de la première à la deuxième matrice, les entrées de signal des portes d'autorisation du groupe de portes de rang i étant agencées pour recevoir les données des colonnes de rang p 2 N-M + i, pour i variant de 1 à j et pour p variant de O à 2 M - 1, et les entrées d'autorisation de la porte d'autorisation qui reçoit les données des colonnes de rang p 2 N M + i étant agencées pour recevoir le résultat logique d'un OU exclusif entre les données des colonnes p 2 N-M et (p+1) 2 N-M pour p variant de 1 à (2 M ~ 1) eut d'un OU exclusif inversé entre les données des colonnes 2 N-M et 2 N pour p = O. Un convertisseur selon l'invention peut être agencé pour que les entrées logiques des premier et deuxième circuits logiques soient agencés pour recevoir les sorties d'interpolation d'un convertisseur analogique-numérique à repliement et interpolation. Ceci permet de simplifier l'architecture de décodage du code GRAY fourni par les amplificateurs de repliement, lequel est déjà plus simple que le code GRAY qui correspondrait au signal à échantillonner. L'invention sera mieux comprise à la lecture de la description qui va suivre donnée à titre d'exemple non limitatif en liaison avec les dessins qui représentent - les figures 1 et 2 respectivement une table de conversion de données codées selon un code GRAY cyclique de 4 bits en un code à deux matrices puis en code binaire et un circuit pour réaliser une telle conversion, - la figure 3, une table de conversion d'un code GRAY cyclique de 5 bits, - la figure 4, un code GRAY cyclique N + 1 bits (2 N colonnes) pour illustrer le traitement de matrices triangulaires selon 1 'invention, - la figure 5, un convertisseur de code GRAY cyclique de N bits en un code replié à deux matrices selon l'invention. Selon la figure 1, un code GRAY cyclique de 4 bits est représenté par huit colonnes numérotées de 1 à 8 depuis le bit de poids faible (à droite) et le bit de poids fort (à gauche), et seize lignes. La première ligne correspondant au nombre O ne compte que des zéros. Les lignes successives de la 2ème à la 8ème qui correspondent aux nombres décimaux 2 à 8, voient les zéros des colonnes 1 à 7 progressivement remplacées par des 1. La 9ème ligne ne comporte que des 1, et les lignes successives de la 10ème à la 16ème, qui correspondent aux nombres décimaux 10 à 16, voient les 1 des colonnes I à 7 progressivement remplacés par des zéros, la 16ème ligne présentant un seul 1 sur la huitième colonne, ce qui assure une continuité cyclique avec la première ligne. Pour décoder un tel code de 4 bits (N+1 = 4), il faut 2 , soit 8 comparateurs logiques, selon l'art antérieur. On peut voir sur la ligne 1 que le code cyclique représenté présente d'assez nombreuses symétries qui ont été mises en évidence en décomposant le codes en sous-matrices de 4 lignes et 4 colonnes. Quatre de ces sous-matrices seulement sont porteuses d'informations différentes sur chacune des lignes. Elles ont été notées M1, M2, M'1 et M'2. Les sous-matrices M1 et M2 comportent une diagonale de 0 au-dessus de laquelle tous les bits sont des zéros et en-dessous de laquelle tous les bits sont des 1. Les sous-matrices M' et M'2 comportant une diagonale de 1 au-dessus de laquelle tous les bits valent 1 et en-dessous de laquelle tous les bits valent 0. Les autres sous-matrices comportent toutes soit des 0, soit des 1, c'està-dire une seule information. Cette information peut être utilisée pour préciser, pour un nombre donné, quelle sous-matrice est concernée.En d'autres termes, il s'agit de discriminer entre la sousmatrice M1 et la sous-matrice M2, ou bien entre la sous-matrice M'1 et la sous-matrice M'2 c'est-à-dire lever l'indétermination entre les sous-matrices identiques. Pour ce faire, la solution la plus simple est d'utiliser directement les colonnes 4 et 8 dont les bits ne changent de valeur que lorsque l'on passe d'une sous-matrice à une autre. On conserve donc la totalité des informations du code GRAY en extrayant l'information des sous-matrices M1 à M4, que l'on superpose pour former une matrice de code intermédiaire de 4 colonnes et de 16 lignes, ainsi que les colonnes 4 et 8 formant une matrice de contrôle de code intermédiaire pour lever l'indétermination. Il est cependant beaucoup plus avantageux de procéder en inversant les données logiques d'une sous-matrice sur deux, pour réaliser une substitution de bits, à savoir en remplaçant les données logiques de M1 et de M'2 par leur complément logique. On obtient ainsi une matrice de code intermédiaire de quatre colonnes notées (1) (2) (3) et 4, et de 16 lignes en superposant par empilement S et g . Ceci apporte un avantage important. Les huit premières lignes et le huit dernières lignes de cette matrice sont cycliques, ce qui va favoriser le décodage. En outre, la quatrième colonne de la matrice (à partir de la droite) est dans ce cas tout à fait particulier identique à la quatrième colonne de la matrice du code GRAY.On gagne ici une colonne, puisque cette quatrième colonne va servir également à lever l'indétermination en combinaison avec la huitième colonne de la matrice du code GRAY. Il est ensuite possible par décodage de transformer les deux matrices (1) (2) (3) 4, et 8 en une matrice de code binaire [1] [2] t3] [4]. En effet, les deux parties t , et formant chacune un code cyclique, ainsi que les colonnes 4 et 8 servant à la levée d'indétermination, le décodage est simplifié. On notera par ailleurs que la deuxième matrice pourrait être rendue entièrement cyclique (deux cycles s'enchainent l'un à l'autre), sans discontinuité entre la huitième et la première ligne en superposant 4,x, et La figure 2 représente un décodeur réalisant la table de conversion des données de la figure 1. Les données de la colonne (1) de la matrice de code intermédiaire doivent contenir soit les données de la colonne 1, soit l'inverse des données de la colonne 5 selon que les données des colonnes 4 et 8 sont identiques ou non et ainsi de suite pour les colonnes (2) et (3). On utilise à cet effet des portes ET d'autorisation 110r 120, 210, 220, 310, 320. Une entrée de ces portes ET reçoit les données des colonnes respectivement 1, 5, 2, 6, 3 et 7. Une porte OU exclusif 48 dont les entrées reçoivent les données des colonnes 4 et 8 permet de détecter si ces données sont identiques ou non. Une deuxième entrée desdites portes ET sert d'entrée d'autorisation et reçoit à cet effet la sortie de la porte 48 soit directement (portes 120, 220, 320) soit après inversion (portes 110, 210, 310). Une porte OU 130 a ses entrées connectées à la sortie des portes 110 et 120, une porte OU 230 a ses entrées connectées à la sortie des portes 210 et 220 et une porte OU 330 a ses entrées connectées à la sortie des portes 310 et 320. Pour réaliser l'inversion logique des sous-matrices M2 et M'2, les portes ET 120, 220 et 320 sont des portes inverseuses.Lorsque les colonnes 4 et 8 ont des données identiques, la sortie de la porte 48 est au niveau O et valide les portes ET 110, 210 et 330. (Colonnes 1, 2, 3 ; matrices M1 et M'1). Lorsque les données des colonnes 4 et 8 sont différentes, la sortie de la porte 48 est au niveau logique 1 et valide les portes 120, 220 et 320 (colonne 5, 6, 7, matrices ki et Les portes 130, 230 et 330 délivrent donc des signaux représentatifs des colonnes (1) (2) et (3) de la matrice de code intermédiaire. On a représenté des bascules de type D (facultatives) synchronisées par une horloge H, à savoir D1, D2 et D3 aux sorties respectivement des portes OU 130, 230, 330 ainsi que D4 et D8 aux entrées correspondant aux colonnes 4 et 8. Leur fonction est de mémoriser la suite de ces portes pour éviter des erreurs logiques en fonctionnement très rapide, où des données peuvent être stabilisées tardivement. La transformation en code binaire est particulièrement aisée, en raison des propriétés du code.Le bit de poids fort [4] du code binaire est obtenu simplement en reprenant la colonne 8 du code GRAY. Le bit de rang immédiatement inférieur t3] correspond à un OU exclusif entre les bits des colonnes 4 et 8 (sortie de la porte 48). Le bit de deuxième rang [2] est obtenu en faisant un OU (porte 502) entre d'une part le résultat d'un OU exclusif entre les colonnes (2) et (3) (porte 402) et d'autre part le résultat d'un OU exclusif entre les colonnes (3) et (4) (porte 403). Le bit de poids faible [I] est obtenu en faisant un OU (porte 501) entre les sorties des portes 401 et 403. Comme indiqué ci-dessus, des bascules D facultatives D'1, D'2, D'3 et D'4 sont également prévues. La figure 3 représente la transformation du code pour N+1 = 5 (5 bits). Le code cyclique de départ (code GRAY) présente 2N colonnes soit 16 colonnes. On a choisi de comprimer le code à l'aide de matrices triangulaires de 4 lignes et 4 colonnes, soit une compression dans un rapport 21 = 16/4 = 4. Les quatre premières matrices M1, M2, M3 et M4 présentent une diagonale de "zéro", et les quatre dernières sous-matrices M1, M'2, M'3 et M'4 une diagonale de "un". Les quatre premières sous-matrices forment ainsi un premier ensemble de sous-matrices alignées selon une de leurs diagonales, et les quatre dernières matrices, un deuxième ensemble de sous-matrices alignées selon une de leurs diagonales. Selon l'invention, une matrice (ou une sous-matrice) triangulaire est définie comme comportant une diagonale de zéros ou de 1, et comportant uniquement des "zéros" d'un côté de ladite diagonale et uniquement des "uns" de l'autre côté de cette diagonale. Après compression par repliement, le code présente 7 colonnes. Les quatre colonnes correspondant aux bits de poids faible sont constituées par superposition des sous-matrices M1, M2,M3, M4, M'1, M'2, M'3, M'4 qui forment les colonnes (1), (2), (3) et 4, la quatrième colonne 4 est identique à la colonne 4 du code cyclique du départ mais ceci n'est valable que dans des cas d'espèce. Les 3 colonnes restantes, ici utilisées en combinaison avec la colonne 4 pour lever l'indétermination (bits de poids fort) sont les colonnes 8, 12 et 16 du code cyclique de départ.Ces colonnes correspondent dans ce cas aux colonnes les plus à gauche (vers les bits de poids fort) des sousmatrices triangulaires précitées, car elles possèdent la propriété de voir leur valeur binaire changer sur les diagonales selon lesquelles les matrices sont alignées et donnent donc une information de position, qui peut être utilisée si on retransforme le code intermédiaire à deux matrices en code cyclique. La figure 4 montre la généralisation à un code à (N + 1) bits, soit un code cyclique de départ à 2 N colonnes. On opère une ou M plusieurs compressions dans un rapport 2 M avec M = ql q = nombre de compressions (ou d'itérations) (nombre entier > 1) 1 = facteur de compression (nombre entier > 2). Les matrices triangulaires présentent 2 N-M lignes et 2 N-M colonnes. Chaque matrice d'ordre p a sa colonne de droite alignée avec la [(p-1)2N-M + 1] ème colonne du code cyclique, et sa colonne de gauche alignée avec [p 2N-M]ème colonne de code cyclique, p variant de 1 à 2 M De par la propriété des diagonales déjà évoquée ci-dessus, la position d'une sous-matrice de rang p (Mp ou M'p) peut être obtenue à partir des colonnes (p-1) 2 N-M et p-2 N-M du code cyclique de départ. Après compression, le code est alors constitué par l'empilement des matrices M1, M2, ... Mp .... M2M, M'1, M'1, M'2 ... M'p ....M'2M, auquel on adjoint les colonnes p 2 N-M du code de départ pour p variant de 1 à 2 M La figure 5 montre un décodeur réalisant la compression du code cyclique de départ, en un code intermédiaire tel que défini cidessus et présentant une matrice de code intermédiaire et une matrice de contrôle de code intermédiaire.Pour obtenir la ligne (i) de la matrice de code intermédiaire, il faut déterminer les fractions pertinentes des colonnes il 2N K +j I;P 2N-k + i] i [2X 2N 2r + ÇI i variant de 1 à (2 N-M - 1), en fonction des informations contenues dans les colonnes 2 N-M, 2 2 N-M .... p 2 N Nr N-M , 2 N, p variant de 1à2 M Comme déjà mentionné, les fractions pertinentes de la colonne p 2 N-M * i peuvent être déterminées à partir des colonnes p 2 N-M et (p*1) 2 N Mr à savoir lorsque ces colonnes ont ou non des valeurs logiques différentes, ce qui correspond à un OU exclusif.Pour p = 1, il n'y a pas de colonne à droite des matrices, et la fonction correspond à un OU exclusif inversé entre les données des colonnes 2 N-M et 2 N (test d'identité entre les lignes de ces deux colonnes). On met en oeuvre j blocs logiques ou comparateurs (j = 2 N-M ~ 1) notés L1 .... L. ... Lj, comportant chacun 2 1 notés L1 Li Lj' comportant chacun M portes ET notées E1i Epi Eki (k = 2 ) dont les sorties sont connectées à une entrée d'une porte OU à 2 M - 1 entrées notées i 30 pour i variant de 1 à j.La porte E pi (p variant de 1 à k et i variant de 1 à j) reçoit sur une entrée dite de données, les données de la (p 2 N-M + i) ème colonne du code cyclique de départ, et sur une entrée dite d'autorisation, un signal qui fait partie d'un groupe de signaux de contrôle SC et qui est le résultat d'un OU exclusif (ou de toute opération logique équivalente) entre les colonnes p 2 N-M et (p+1) 2 N-M pour p variant de 2 à k, et d'un OU exclusif inversé (ou de toute opération logique équivalente) entre les données des colonnes N-M et réaliser l'inverse logique 2 N 2 N-M M et 2 N pour p = 1.Pour réaliser l'inverse logique des sous- matrices analogues à celui de la figure 3 (inversion des sous-matrices de rang pair, les portes E pi sont inverseuses lorsque p est pair. En pratique, un bloc logique L. est constitué par une porte à entrées multiples. Il n'est plus besoin que de j + k comparateurs pour transformer le code cyclique en code intermédiaire à deux matrices, à savoir les (2 N-M -1) blocs logiques et les 2 M portes OU exclusif que nécessitent les entrées d'autorisation des blocs logiques. Le passage de code intermédiaire en code binaire ne demande pas de comparateurs supplémentaires, seulement des portes OU. On a donc besoin de moins de comparateurs que dans le cas d'un décodage classique de code GRAY (2 N blocs logiques) et en outre les 2 M portes OU exclusif sont de structure beaucoup plus simple que les blocs logiques. Il faut donc en tout (2 N-M * 2 M -1) comparateurs ce qui est inférieur à 2 N ExemPles I) N+I = 4 (code à 4 bits) N 1) 2 N = 8, soit 8 comparateurs pour le décodage selon l'art antérieur. 2) M = 1 2 N-M + 2 M - 1 = 4 + 2 - 1 = 5 comparateurs pour le décodage selon l'invention. On obtient un résultat appréciable même pour ce nombre faible de bits. II) N+I = 10 (code à 10 bits) M = 2 1) 2 N = 512 soit 512 comparateurs pour le décodage selon l'art antérieur. 2) M = 2 2 N-M + 2 M - 1 = 128 + 4 - I = 131 comparateurs pour le décodage selon l'invention. 3) M = 3 2 N-M + 2 M - 1 = 64 + 8 - 1 = 71 comparateurs pour le décodage selon l'invention. 4) M = 4 2 N-M + 2 M - 1 = 32 + 16 - I = 47 comparateurs pour le décodage selon l'invention. 5) M = 5 2 N-M + 2 M - 1 = 16 + 32 - 1 = 47 comparateurs. Dans le cas d'un convertisseur à repliement et interpolation, la taille du décodeur des bits de poids fort est préférablement inférieur à celui du décodeur des bits de poids faible. M Il en résulte que 2 L'optimum est obtenu pour M choisi le plus grand possible mais inférieur ou égal à N/2. Si N est pair, on choisit M = N/2. Si N est impair, on choisit M = N/2 - 0,5. Dans l'exemple ci-dessus, le cas n' 5 (N = 9, M = 5) n'est pas possible. L'optimum est le cas n 4 (M = 4) avec 47 comparateurs au lieu de 512. N A la figure 5, on a représenté par S(1) .... S(2N) les sorties des réseaux d'interpolation d'un convertisseur analogiquemumérique dont le code a été replié pour donner un code GRAY à (N+1) bits, la détection étant une détection de passage par zéro ainsi qu'il est connu. On remarque que, dans cette architecture de décodage, la commutation est effectuée dans les blocs logiques L1 .... Ljr donc sur des signaux numériques.Une telle architecture se distingue donc essentiellement des conceptions connues selon lesquelles on opère une discrimination analogique entre codage grossier et codage fin, comme par exemple décrit dans A 10 bit 40 MHz ADC using 0,8 pm BI C-MOS Technology" de Kazumini TSUGARU et al (TOSHIBA) paru dans la revue de synthèse IEEE 1989 (paper 2-3 page 49) - conférence annuelle ISCC N-M (1989). La porte E pi qui reçoit à une entrée un signal S (p 2 + M * i) et à son autre entrée un signal logique (j+p) peut être réalisée sous forme d'un amplificateur avec une entrée d'autorisation recevant le signal logique (j+p).Les divers amplificateurs d'un bloc logique t1 ...li peuvent alors attaquer directement la bascule D1... Dj 3 3 correspondante, un seul de ces amplificateurs détectant à la fois un niveau haut et les autres ayant leur sortie dans un état de haute impédance de manière connue. On peut bien entendu mettre en oeuvre le schéma de la figure 5 dans un convertisseur de type flash d'un code à (N+1) bits. Pour plus de renseignements sur les convertisseurs à repliement et interpolation, on se reportera à la thèse de Rudy Van de Plassche (Ph D-Thesis - University of Technology Delft) publiée en 1989 ainsi qu'à l'article "A 8-bit Video ADC Incorporating Folding and Interpolation Techniques" de Rob Van de Guft et al (IEEE Journal of Solid State Circuits vol SC 22 n 6 Dec 1987 p 944-953), et dont les contenus sont incorporés, par référence, à la présente description. En se reportant à la figure 5, on va maintenant montrer comment on peut, dans le cas d'un code à (N+1) bits, passer du code replié à deux matrices au code binaire classique. Il suffit à cet effet de considérer quelles sont les cellules OU exclusif (telles que 401, 402.... 40i.... 40j) qui donnent lieu à l'apparition d'une validation (Bit q = 1) dans le code binaire, puis de faire la sommation logique de ces cellules. Si on effectue des repliements en cascade, le code replié présente plus d'une discontinuité de cycle. La solution la plus favorable est de réaliser un seul repliement de 2 M blocs. On obtient alors une seule discontinuité du code replié. Pour le passage en code binaire, le point sensible est l'obtention de la colonne de rang 2 N-M de la matrice de code intermédiaire. Le code GRAY de départ comporte une première partie N-M correspondant aux bits de poids faible (colonne de rang p 2 N M + i) et une deuxième partie correpondant aux bits de poids fort (colonnes N-M de rang p 2 ). Cette décomposition a déjà été utilisée dans la figure 5. On met en oeuvre un décodeur de bits de poids faible (400) et un décodeur de bits de poids fort (500). Le décodeur (500) auquel sont associées des entrées logiques (E'1... E'2M) correspondant aux entrées (dj+1... D2N) de la figure 5 founit des signaux logiques SC en tant que signaux d'autorisation pour les blocs logiques E1.... E E. attaquant le décodeur 400. Pour passer en code binaire, on peut procéder de deux façons. Selon la figure 6, on peut envoyer les signaux de contrôle SC aux entrées des blocs logiques correspondant au décodeur de poids faible 400 (portes Eki des blocs logiques L1 à Lj de la figure 5) de manière qu'il produise tout le décodage des bits de poids faible. Selon la figure 7, une variante préférée est de décoder la colonne de rang 2 N-M de la matrice de code intermédiaire en faisant un OU exclusif (porte 600) entre les bits (N-M+1) et (N+1) du code binaire produits par le décodeur de poids fort 500, les bits (N-M*1) à N étant en effet décodés uniquement à partir des bits de la matrice de N-M contrôle de code intermédiaire (colonne de rang p 2 + M * i) du code de départ. En d'autres termes, une partie du décodage des bits de poids fort est mise à profit pour décoder les bits de poids faible. Dans le cas de la figure 6, la colonne de rang 2N-M de la matrice de code intermédiaire est par contre obtenue à l'aide, comme décrit plus haut, d'une bascule à 2 M entrées constituant un bloc logique du convertisseur de poids faible. Les formules logiques permettant le décodage vont être données ci-après. Le décodage du bit de poids q du code binaire1 à partir d'un code de GRAY acylique (première moitié d'un code GRAY à (N+1) bits correspondant aux bits de poids faible, est donné par la formule N 2tI N 2 Bit q = D2pj $ D2pj+ p-q -i Dx représente le signal logique de la Xème colonne de la matrice de code GRAY acylique avec X entier positif. La colonne [2 N-M 1 peut s'obtenir par repliement des entrées à r 2 N-M avec # = 1 à 2 M Le codage décrit alors les deux cycles du code GRAY de départ, dont l'un concerne les bits de poids faible, et l'autre ceux de poids fort. S désignant la somme logique (fonction logique OU) &commat; désignant un OU exclusif. En ce qui concerne maintenant le passage du code intermédiaire (ou code replié) en code binaire a) pour 1 N -2PB Bit q = S E D2vj &commat; Dan P' -1 Dx désignant la sortie de la Xème bascule D1... Di... Dj (figure 5), c'est-à-dire, la Xeme colonne de la matrice de code intermédiaire (X entier positif). (D désignant une fonction logique OU exclusif. b) pour 1+N-M c q r2e Bit q = Cr+M E DX2P~1) 2 oxo DfaP-7+l) 2 P -NfM -1 Dx2N-M désignant la sortie de la Xème bascule (D j+1 ...dk... D2 ) correspondant aux colonnes successives de la matrice de contrôle de code intermédiaire. En d'autres termes, DxN-M désignant la Xème colonne de ladite matrice de contrôle de code intermédiaire. c) Bit N+1 = D2N (c' est-à-dire la 2 Même colonne de ladite matrice de contrôle) (X entier positif). Les bits des codes binaires sont donc obtenus à partir de OU multiples (501, 502...) en fonction des sorties des portes OU exclusif (401 - 40jar donc sans ajouter de comparateur. Comme (voir figure 5), une seule des portes OU exclusif 401, 402,... 40i,... 40j, est active à la fois, il suffit de détecter celle-ci et de l'aiguiller vers le bit de sortie correspondant, chaque porte OU exclusif ayant le nombre de sorties qui convient (chaque sortie supplémentaire pouvant être réalisée par un transistor additionnel). Les portes OU multiples ne sont alors pas physiquement présentes, mais leur fonction est réalisée par câblage desdites sorties (par addition de courants). REVENDICATIONS 1. Procédé de traitement de données par conversion d'au moins un sous-bloc de données codées selon un code cyclique représenté par une première matrice dont chaque ligne est une donnée numérique caractérisé en ce qu'il comprend une étape consistant à extraire de la première matrice une deuxième matrice au moins en partie cyclique, et ayant au moins une dimension sous-multiple d'une dimension de la première matrice et une étape consistant à extraire de la première matrice une troisième matrice associant au moins un code de levée d'indétermination à chaque ligne de la deuxième matrice. 2. Procédé selon la revendication, caractérisé en ce qu'il comporte au moins une itération desdites étapes. 3. Procédé selon une des revendications 1 ou 2 caractérisé en ce que l'étape consistant à extraire de la première matrice une deuxième matrice comporte les étapes suivantes a) sélectionner des sous-matrices triangulaires dont les dimensions sont sous-multiples de celles de ladite matrice, lesdites sous-matrices formant au moins un ensemble de sous-matrices alignées selon une diagonale, b) définir une deuxième matrice constituant un empilement des sous-matrices triangulaires1 la moitié dedites sous-matrices étant complémentée logiquement de manière qu'au moins une partie de la deuxième matrice soit cyclique. 4. Procédé selon la revendication 3 caractérisé en ce que la conversion porte sur une moitié d'un code cyclique et en ce que les sous-matrices forment un dit ensemble de sous-matrices. 5. Procédé selon la revendication 3 caractérisé en ce que la conversion porte sur la totalité d'un code cyclique et en ce que les sous-matrices forment deux ensembles de sous-matrices. 6. Procédé selon la revendication 5 caractérisé en ce que la deuxième matrice est cyclique. 7. Procédé selon la revendication 5 caractérisé en ce que la deuxième matrice comporte une première et une deuxième partie dont chacune est cyclique et présente au moins un cycle. 8. Procédé selon la revendication 7 caractérisé en ce que la deuxième matrice est obtenue par inversion logique de données d'alternativement une matrice sur deux. 9. Procédé selon une des revendications 2 à 8 caractérisé en ce que les sous-matrices ont toutes la même dimension. 10. Procédé selon une des revendications précédentes caractérisé en ce que la troisième matrice est cyclique. 11. Procédé selon une des revendications précédentes caractérisé en ce qu'il comporte une étape de conversion en code binaire d'au-moins une partie des deuxième et troisième matrices. 12. Convertisseur d'un code cyclique de traitement de données représenté par une première matrice dont chaque ligne est une donnée numérique en un deuxième code présentant une deuxième et une troisième matrice, pour la mise en oeuvre du procédé selon une des revendications précédentes caractérisé en ce qu'il comporte un premier circuit logique présentant des entrées logiques agencées pour recevoir les données d'un premier groupe de colonnes du code cyclique et une entrée d'autorisation associée à chaque entrée logique, ainsi qu'un deuxième circuit logique présentant des entrées logiques agencées pour recevoir les données d'un deuxième groupe de colonnes comportant les colonnes restantes du code, et présentant au moins une sortie connectée aux entrées d'autorisation, les données des colonnes de la deuxième matrice étant constituées par les données présentes à des sorties du premier circuit logique, lesquelles comportent les fractions des colonnes du premier groupe validées par lesdites entrées d'autorisation, les colonnes de la troisième matrice étant constituées par au moins certaines des colonnes du deuxième groupe. 13. Convertisseur selon la revendication 12 caractérisé en ce N que la première matrice comporte 2 colonnes, en ce que la deuxième matrice comporte 2 N-M colonnes et en ce que la troisième matrice comporte (2 M) colonnes. 14. Convertisseur selon la revendication 13 caractérisé en ce N-M que les colonnes de la troisième matrice sont les p x 2 N M èmes colonnes de la première matrice, p variant de 1 à 2 M 15. Convertisseur selon une des revendications 13 ou 14 caractérisé en ce que M = N/2 si N est pair et M = N/2 - 0,5 si N est impair. 16. Convertisseur selon une des revendications 13 à 15 caractérisé en ce qu'une porte logique sur deux du premier circuit logique est inverseuse. 17. Convertisseur selon une des revendications 13 à 16 caractérisé en ce que le premier circuit logique comporte j groupes de portes présentant une entrée logique et une entrée d'autorisation avec j - 2 N-M 1 Avec M = Kl k = nombre d'itérations ( > 1). les entrées de signal de portes d'autoristion du groupe de porte de rang i étant agencées pour recevoir les données des colonnes de rang p 2 N-M + i, pour i variant delà j et pour p variant de O à 2 M - 1 et les entrées d'autorisation de la porte d'autorisation qui reçoit les données de la colonne de rang p 2 N-M + i étant agencées pour recevoir le résultat logique d'un OU exclusif entre les données de colonne p 2 N-M et (p+1) 2 N-M pour p variant de 1 à (2 M ~ 1) et d'un OU exclusif inversé entre les données de colonne 2 N-M et 2 N pour p = 0. 18. Convertisseur selon une des revendications 13 à 17 caractérisé en ce que les entrées logiques des premier et deuxième circuits logiques sont connectées aux sorties des réseaux d'interpolation d'un convertisseur analogique-numérique à repliement et interpolation. 19. Convertisseur selon une des revendications 13 à 18 caractérisé en ce que ledit code cyclique est un code de GRAY.