Brevet FR2488425A1 — publié le 19820212

La présente invention se rapporte à un dispositif opérateur numérique rapide, ainsi qu'à des filtres numériques comportant un tel dispositif opérateur. On connaît d'après l'article des pages Il à 20 de la revue suisse "Mitteilungen AGEN" de novembre 1979, et en particulier d'après la figure 18 de la page 19, un convolueur pour filtres numériques comprenant une mémoire morte dont les différentes entrées sont reliées chacune à la sortie série d'un registre à décalage dans lequel progressent les éléments binaires de chacun des nombres à multiplier par des coefficients fixes. Un tel con- voluer est généralement plus rapide que les convolueurs conven- tionnels, mais dans certains cas, sa vitesse de traitement n'est pas suffisante, en particulier lorsque le filtre dans lequel il est disposé doit fonctionner en temps partagé sur trente-deux voies par exemple, et/ou que ce filtre doit avoir des performances très élevées, donc doit être d'ordre élevé, c'est-à-dire que les valeurs sur lesquelles porte la convolution comportent un grand nombre d'éléments binaires. La présente invention a pour objet un dispositif opérateur numérique rapide, en particulier un convolueur qui soit plus rapide que le convolueur connu. La présente invention a également pour objet des filtres numériques utilisant un tel convolueur, en particulier des filtres numériques fonctionnant en temps partagé, filtres dont l'ordre puisse être aussiélevé que l'on désire, et qui utilisent des composants couramment disponibles. Le dispositif opérateur numérique conforme à la présente invention comporte, à la sortie d'un étage de registres d'entrée sur lesquels se présentent en parallèle tous les éléments binaires de l'un des termes de l'opération à effectuer, un étage de trai- tement opératoire comportant un ou plusieurs groupes de mémoires dans chacun desquels sont mémorisées, de façon connue en soi, toutes les combinaisons opératoires du second terme de l'opération à effectuer, les entrées de chaque groupe de mémoires étant reliées aux sorties de tous les registres d'entrée dans lesquels arrivent les éléments binaires de même poids du premier terme, l'étage de traitement opératoire étant suivi d'un étage de registres à entrées et sorties parallèles, puis d'un ou de plusieurs étages de sommation pondérée comportant chacun plusieurs blocs de détermination de nombre de "1" à chacun desquels on attribue un poids, depuis le poids zéro jusqu'au poids maximal nécessaire, ces blocs de détermination ayant chacun un registre ou des bornes de sortie, les cellules de ce registre on les bornes de sortie étant pondérées, c'est-àdire affectées d'un poids égal à leur propre poids augmenté du poids attribué à leurs blocs de détermination, les différentes entrées de ces blocs de détermination étant à chaque fois reliées, pour le premier étage de sommation, aux sorties de même poids des groupes de mémoires, et pour le ou les étages suivants de sommation, aux sorties de toutes les cellules ou aux bornes de sortie de l'étage précédent et ayant, après pon- dération, le même poids, les blocs de détermination du dernier étage de sommation ayant, de préférence, au maximum deux bornes de sortie ou un registre à deux cellules au maximum, ce ou ces étages de sommation pondérée étant suivis d'un additionneur rapide dont les différentes entrées sont reliées aux sorties correspon- dantes du dernier étage de sommation pondérée. Selon une caractéristique de l'invention, les mémoires de l'étage de traitement opératoire sont soit des mémoires mortes, soit des mémoires vives. Selon une variante, les mémoires peuvent être constituées par plusieurs ensembles commutables de mémoires mortes. Lorsque l'opération à effectuer est une convolution, on mémorise dans chaque groupe de mémoires les différentes combi- naisons possibles de sommation de coefficients. Selon une autre caractéristique de l'invention, chaque bloc de détermination de nombre de "1" comporte un circuit de transco- dage ayant une structure pyramidale à plusieurs étages de trai- tement, l'étage d'entrée, à la base de la pyramide, comportant en parallèle plusieurs circuits transcodeurs élémentaires fournissant chacun sur ses différentes sorties la valeur, en binaire pur, du nombre "I" pour chaque poids binaire des nombres ou parties de nombres arrivant sur toutes ses entrées, les sorties d'au moins deux circuits transcodeurs différents étant regroupées à chaque fois à l'entrée d'un circuit additionneur, plusieurs étages de tels circuits additionneurs étant disposés en cascade, le dernier étage, au sommet de la pyramide, ne comportant qu'un seul circuit addi- tionneur. Selon encore une autre caractéristique de l'invention, chaque bloc de détermination de nombre de "I" comporte un circuit de trans- codage, par exemple une mémoire morte ou un circuit logique pro- grammable, éventuellement suivi d'un registre. La présente invention sera mieux comprise à l'aide de la description détaillée d'un mode de réalisation pris comme exemple non limitatif et illustré par le dessin annexé, sur lequel: - la figure I est un schéma simplifié d'un convolueur conforme à la présente invention, et - la figure 2 est un schéma d'un bloc de détermination de nombre de "I" pouvant être utilisé dans le convolueur de la figure 1. On a représenté sur la figure 1 un convolueur pour filtre numérique, mais il est bien entendu que l'invention se rapporte à différents opérateurs numériques tels que des additionneurs, des multiplieurs, etc..., permettant d'exécuter des opérations mathématiques sur au moins deux termes disponibles sous forme numérique. Dans le cas d'une convolution, le premier terme se compose d'une suite de n valeurs discrètes retardées que l'on note: X1, X2, X3... X, et le second terme se compose d'une suite de n coefficients correspondants que l'on note: Ai, A2, A3... An. Ces coefficients peuvent âtre soit fixes dans le cas de filtres numériques classiques, soit variables dans le cas de filtres numériques adaptatifs tels que des annuleurs d'écho autoadaptatifs. Chacune des n valeurs discrètes retardées X à X peut s'écrire: X = m- m2 O ú xúQ étant le rang de la valeur discrète retardée considérée, et pouvant avoir toute valeur de I à n. Les valeurs xL à x L sont les m éléments binaires de poids O à m-I de la valeur discrète retardée X. De même, chacun des n coefficients A peut s'écrire At = aPR ap2... a a et comporte p éléments binaires, ú _'9 p pouvant être différent de m. Dans le mode de réalisation décrit ci-dessous, on suppose que l'on peut disposer simultanément de toutes les valeurs discrètes retardées nécessaires à la convolution. On regroupe par poids tous les éléments binaires de ces valeurs discrètes retardées et on les introduit dans un étage 1 de m registres. Ces registres peuvent aussi bien être les registres de sortie des circuits fournissant les valeurs discrètes retardées que des registres séparés. Pour la commodité du dessin, on a représenté un registre à n cellules pour chaque poids d'éléments binaires des valeurs discrètes retardées, les registres étant disposés, de haut en bas, suivant les poids croissants de ces éléments binaires, depuis le poids O jusqu'au poids m-l. Toutefois, il est bien entendu que dans le cas o l'on doit traiter un grand nombre de valeurs discrètes retardées, plusieurs registres peuvent être utilisés pour chaque poids. L'étage I de registres est suivi d'un étage 2 de traitement opératoire comportant m groupes de k mémoires chacun, chacun de ces groupes étant affecté à un poids d'éléments binaires. Ces mémoires sont référencées M à pour le poids zéro, et ainsi de suite jusqu'au poids m-I dont les mémoires sont référencées Ml1 à Mmk Pour chaque poids d'éléments binaires, la sortie de chacune des cellules des registres de l'étage 1 est reliée à une entrée d'adressage correspondante de l'une des mémoires de son groupe. Toutefois, chaque groupe peut ne comporter qu'une seule mémoire si la capacité de celle-ci est suffisante. Pour simplifier les explications, on suppose que toutes les mémoires de l'étage.2 sont identiques. Si certaines d'entre elles étaient de capacité différente, leurs sorties seraient reliées de façon évidente pour l'homme de l'art à la lecture de la description ci-dessous. Chacune des mémoires de l'étage 2 comporte p sorties de poids intrinsèque O à p-I. Chacune de p sorties des mémoires de l'étage 2 est reliée à l'entrée d'une cellule d'un registre faisant partie d'un étage de registres 3. Pour la commodité du dessin, on a affecté un registre de l'étage 3 à chacune des mémoires de l'étage 2, mais il est possible de grouper différemment ces registres. 24 g425 Les sorties des différentes cellules des registres de l'étage 3, sont pondérées de la façon suivante. On ajoute au poids intrinsèque des différentes sorties correspondantes des mémoires de l'étage 2 un poids égal au poids des éléments binaires traités par ces mémoires. Ainsi, les sorties des mémoires Ml à f, traitant les I Mk éléments binaires de poids zéro ne donnent lieu à aucun changement de poids, mais les sorties des autres mémoires donnent lieu à un tel changement. Par exemple, les sorties des registres de l'étage 2 religesaux sorties des mémoires Mlà (ayant toujours des poids intrinsèques O à p-I respectivement) ont pour poids, après pondé- ration, I à p respectivement. Cette pondération se fait de façon analogue pour tous les autres registres de l'étage 3, et les sorties de ceux reliés aux mémoires Ml1 à Mk' ont pour poids, après pon- dération, (m-l) à (m+p-2) respectivement. L'étage 3 est suivi d'un étage 4 de sommation pondérée com- portant (m+p-l) blocs de détermination de nombre de I respecti- vement référencés Do à Dm+p-2' dont chacun est affecté d'un poids propre, de O à (m+p-2) respectivement. Les entrées de chacun des blocs Do à D +P2 sont reliées aux sorties de même poids des registres de l'étage 3. Par conséquent, et comme on peut le vérifier facilement, les blocs de l'étage 4 ont des nombres différents d'entrées utiles. Cependant, pour simplifier la réalisation, on peut utiliser des blocs dont certains ont un nombre d'entrées supérieur au nombre nécessaire (par exemple tous les blocs peuvent avoir m+p-2 entrées), ce qui réduit le nombre de modèles différents de blocs. Par exemple, on peut déterminer que les blocs Do et Dm+p-2 doivent avoir au moins k entrées, que les blocs Dl et Dm+p I doivent avoir 2k entrées, etc... Les blocs de détermination Do à Dm+p-2 sont des circuits, par exemple des mémoires mortes ou des circuits PLA, fournissant chacun sur ses sorties la valeur, en binaire pur, du nombre de "I" présents sur ses entrées. Par conséquent, le nombre de sorties utiles de chacun de ces circuits est égal à la caractéristique, augmentée d'une unité, du logarithme base 2 du nombre de ses entrées utiles si ce nombre d'entrées n'est pas une puissance de 2, et est égal à la caractéristique du logarithme base 2 du nombre d'entrées si ce nombre d'entrées est une puissance de 2. L'étage 4 est suivi d'un étage 5 de registres, un registre étant affecté à chaque bloc de l'étage 4 pour simplifier le dessin, chaque cellule d'un registre étant reliée à une sortie corres- pondante du bloc auquel est affecté ce registre. Les différentes sorties des registres de l'étage 5 sont pondérées de façon ana- logue à la façon dont sont pondérées les sorties des registres de l'étage 3. L'ensemble d'étages de traitement 4 et 5 est suivi d'un ou de plusieurs ensembles similaires (non représentés). Le nombre de ces ensembles est déterminé de façon que chacun des blocs de déter- mination du dernier de ces ensembles ait au maximum deux sorties. Les sorties des cellules des registres de ce dernier ensemble sont reliées aux entrées d'un additionneur rapide 6 dont les sorties S0 à St constituent les sorties du convolueur. Dans chaque étage de registres, les entrées de signaux d'horloge sont toutes reliées ensemble et à une sortie correspon- dante d'un générateur approprié de signaux d'horloge (non représenté). On remarquera que pour le poids le plus faible et pour le poids le plus élevé, et même pour d'autres poids plus faibles suivants, le nombre d'éléments binaires "1" est de un au maximum à partir d'un ensemble d'étages de traitement (tel que l'ensemble d'étages 4 et 5) donné, et bien entendu également pour tous les autres ensembles d'étages de traitement suivants. On peut alors supprimer les blocs de détermination de nombre de "1" corres- pondants et relier directement les cellules correspondantes des registres. On peut facilement vérifier que même lorsque le nombre de valeurs discrètes retardées à traiter est très élevé (une ou plusieurs centaines par exemple) et que chacune d'elles comporte un grand nombre d'éléments binaires (plusieurs dizaines par exemple), le nombre d'ensembles d'étages de traitement est peu élevé. Par exemple, si on doit traiter 200 valeurs discrètes retardées comportant chacune 64 éléments binaires, et si les coefficients comportent également chacun 64 éléments binaires, les mémoires de l'étage 2 comportant chacune dix entrées d'adressage, il suffit de trois ensembles d'étages de traitement entre l'étage 3 et l'additionneur 6. Le bloc D de détermination de nombre "1" représenté sur la figure 2 comporte 64 entrées respectivement référencées EO à E63. Le bloc D comporte un premier étage de traitement 7 comprenant quatre circuits convertisseurs respectivement référencés 8, 9, et 11. Les circuits convertisseurs 8 et Il comportent chacun 16 entrées, et sont par exemple des circuits logiques connus sous la désignation PLA (Programmable Logic Array), c'est-à-dire des circuits logiques programmables. Les circuits logiques 8 à Il sont réalisés, de façon connue en soi, pour présenter sur leurs sorties la valeur, en notation binaire pure, du total "" présents sur toutes leurs entrées. Etant donné que chacun des circuits 8 à Il comporte seize entrées, il y a au maximum seize "1" présents sur leurs entrées à un instant déterminé, et ces circuits doivent comporter cinq sorties chacun du fait qu'il faut cinq éléments binaires pour représenter tous les nombres de zéro à seize. Les sorties des circuits convertisseurs 8 et 9 sont reliées à un registre 12 à dix cellules, et les sorties des circuits con- vertisseurs 10 et Il sont reliées à des entrées correspondantes d'un registre 13 à dix cellules. Les dix sorties du registre 12 sont reliées à des entrées correspondantes d'un additionneur 14, tandis que les dix sorties du registre 13 sont reliées à des entrées correspondantes d'un autre additionneur 15, les addi- tionneurs 14 et 15 formant un étage d'addition 16. Etant donné que les additionneurs 14 et 15 sont reliés chacun à deux circuits convertisseurs de l'étage d'entrée 7, ils doivent pouvoir présenter chacun sur leurs sorties un nombre au plus égal à 32, c'est-àdire un nombre représenté sur six éléments binaires significatifs au maximum. Les additionneurs 14 et 15 doivent donc comporter chacun six sorties. Les six sorties de l'additionneur 14 sont reliées à des entrées correspondantes d'un registre à bascules bistables 17, tandis que les six sorties de l'additionneur 15 sont reliées à des entrées correspondantes d'un registre à bascules bistables 18. Les six sorties de chacun des deux registres 17 et 18 sont reliées à des entrées correspondantes d'un additionneur 19. Etant donné que l'additionneur 19 doit présenter sur ses sorties un nombre au plus égal à 64, c'est-à-dire le nombre maximal d'entrées du bloc D, cet additionneur 19 doit comporter sept sorties. Les sept sorties de l'additionneur 19 sont reliées, par l'intermédiaire d'un registre à bascules bistables 20, à sept bornes de sorties respectivement référencées SDO à SD6 formant les sept sorties du bloc D. Les entrées CK de signaux d'horloge des registres 12, 13, 17, 18 et 20 sont toutes reliées à une borne commune 21 qui est elle- même reliée à un générateur de signaux d'horloge (non représenté). Il est bien entendu que le bloc D représenté sur la figure 2 pourrait être constitué différemment si l'on disposait d'autres circuits: en particulier si l'on disposait de circuits logiques programmables à 64 entrées, le circuit de la figure 2 se réduirait à un seul tel circuit dont les sept sorties seraient reliées directement,ou éventuellement par l'intermédiaire d'un registre, aux bornes SQ à S6, ce qui augmenterait bien entendu la rapidité de traitement du bloc D. On va maintenant expliquer le fonctionnement du dispositif convolueur décrit ci-dessus. Le fonctionnement des mémoires de l'étage opératoire 2 est connu en soi d'après le susdit article de "Mitteilungen AGEN". Dans chacune de ces mémoires (ou groupes de mémoires adressées en parallèle si le nombre d'éléments binaires par adresse n'est pas suffisant) on mémorise toutes les combinaisons possibles de som- mation des coefficients correspondant aux valeurs discrètes arrivant sur les entrées d'adressage de la mémoire considérée. Si par exemple la mémoire M a dix entrées d'adressage, elle est adressée par les éléments binaires x1 a x10, et on mémorise dans cette mémoire M toutes les combinaisons possibles de sommation des coefficients A1 à A1, à savoir 0, AI$ A2... Alo, A1 + A2, 1 3 2 +A3 A2 A4... A1 A2 + A3 A 4 A 5 + A6 + A7 + A8+ A9 + 1 1, toutes ces combinaisons correspondant à toutes les configurations possibles de l'adressage de M] par l'ensemble des dix éléments binaires x a x10. Si les mémoires M M. M-' o1' 2 I ont la même capacité que la mémoire Ml, leur programmation est identique à celle de Mt, ce qui simplifie la réalisation du con- volueur. La convolution consiste à calculer A1 X1 + A2 X2 +... An Y, La conformation des étages I et 2 permet d'effectuer ce calcul de la façon équivalente suivante (en supposant que les mémoires ont dix entrées d'adressage,que m = 24, et que n = 50: (A1 xl +.. + Ai0 x10) + (All xA?+.. . +A20 x20). + (A A0A20) +( '' + A + 4140 x5 1 01 (0 A41+ A x1 +..50) +(Axl +... +Ax A) + (AIl X11 +... + 20 20) + + (A41 41 +... + A 50 x 150) + (A23 23 + + 23 +... + (A x + + A x) +... + (A411.. A x50 50 A l'entrée de l'étage 4, les différents termes de cette somme sont regroupés par poids. L'ensemble d'étages de traitement 4 et 5, ainsi que les ensembles d'étages de traitement similaires suivants, et l'étage 6, permettent d'obtenir la valeur, en binaire, de cette somme de la façon expliquée ci-dessous à l'aide d'un exemple simplifié. Soit à effectuer la somme de huit termes représentés sur seize éléments binaires chacun, et valant respectivement en notation décimale 35618, 18064, 00872, 06305, 00336, 02068, 05568, 08608. Dans le tableau I ciaprès, ces huit termes ont été inscrits l'un au-dessous de l'autre, sur une rangée chacun, les éléments binaires de même poids figurant dans la même colonne. Au lieu d'inscrire à la dernière rangée de ce tableau, en notation binaire, la somme de ces huit termes, on inscrit, en notation décimale, le nombre de "1" figurant dans chaque colonne. Bien entendu, on suppose que les huit termes précités ont été obtenus à la sortie d'un étage de traitement opératoire tel que l'étage 2 du dessin. La somme de ces huit termes peut alors représenter le résultat d'une opération numérique. par exemple d'une convolution. Dans la suite des explications, on ne parlera que de la convolution mais il pourrait tout aussi bien s'agir d'une multiplication. I 0 0 0 I 0 I I 0 0 1 0 0 0 1 0 0 1 0 0 0 I I 0 1 0 0 I 0 0 0 0 0 0 0 0 0 0 I I O 1 I I 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 1 0 0 0 0 0 I 0 I 0 I I I 0 0 0 0 0 0 0 0 I 0 0 0 0 I I 0 I 0 0 0 0 0 I 1 2 3 2 3 5 4 3 4 3 1 1 I 1 On établit ensuite le tableau 2 ci-dessous en convertissant en notation binaire le nombre, exprimé ci-dessus en notation déci- male, de "1" pour chaque colonne, et en pondérant chacun de ces nombres selon sa colonne, c'est-à-dire en affectant à chacun de ces nombres le poids de la colonne correspondante, la colonne la plus à droite ayant bien entendu le poids 0, qui est le poids de l'élément binaire le moins significatif des termes de la somme. On obtient ainsi le tableau 2 cidessous, en remarquant que le nombre le plus élevé de "1" est de cinq, c'est-à-dire qu'il suffit de trois éléments binaires au maximum pour représenter tous ces nombres de "1". TABLEAU 2 001 101 001 A la dernière rangée de ce tableau 3, on a reporté, en notation décimale, le nombre de "1" pour chaque colonne correspon- 2488425' ]11 dante. A partir du tableau 2, on recomnence la pondération du résultat du comptage de "1" de chaque colonne, et l'on obtient alors le tableau 3 ci-dessous, dans lequel la première ligne du résultat indique, en notation décimale, le nombre de "1" dans chaque colonne, et la deuxième ligne est le résultat de l'addition de deux nombres binaires fictifs que l'on obtientrait en disposant le tableau 3 sur deux lignes: TABLEAU 3 Ol 01 10 =10 Ol O1 01 2O I0 01 01202110201111111l On constate que le résultat d'addition figurant à la dernière ligne du tableau 4 est égal au résultat de la convolution, à savoir 77439 en notation décimale. En partant du tableau 3, on peut recommencer la pondération du nombre de "l" et l'on obtient le tableau 4 ci-après dans lequel on a directement reporté sur la ligne du résultat le résultat, en notation binaire, de l'addition, colonne par colonne, des éléments binaires. TABLEAU 4 01 10 00 ___________________ On constate que le résultat d'addition du tableau 4 est aussi égal au résultat de la convolution. Par conséquent, on peut obtenir le résultat de la convolution d'après l'un quelconque des tableaux I à 4. En pratique, il est préférable de se servir du tableau 3, dans lequel chaque colonne comporte au maximum deux éléments binaires "1". Le résultat de la convolution est alors obtenu par un additionneur binaire classique, de préférence un additionneur binaire rapide, qui est l'additionneur 6 de la figure 1. Les tableaux 3 et 4 montrent que par une suite de pondé- rations et de comptages d'éléments binaires colonne par colonne, on arrive à obtenir un tableau dans lequel chaque colonne ne comporte plus qu'un seul élément binaire "1", il n'y a alors même plus à utiliser d'additionneur, mais à détecter la présence ou l'absence d'un élément binaire "1". Toutefois, on remarquera que l'exemple décrit ci-dessus se rapporte à des nombres binaires relativement courts. Si l'on a affaire à des nombres binaires beaucoup plus longs, ayant par exemple plusieurs centaines d'éléments binaires, on pourra vérifier que l'obtention d'un tableau similaire au tableau 4, c'est-à-dire d'un tableau dans lequel chaque colonne comporte au maximum un seul élément binaire "1", peut nécessiter un grand nombre de cycles de pondé- rations et de comptages d'éléments "1", alors que l'obtention d'un tableau similaire au tableau 3, c'est-à-dire d'un tableau dans lequel chaque colonne comporte au maximum deux éléments binaires, est relativement rapide. A partir du tableau similaire au tableau 3, il n'y a plus qu'à effectuer l'addition de deux nombres binaires, et même si ces deux nombres binaires sont très longs, les additionneurs habi- tuellement connus sont suffisamment rapides pour la plupart des applications. Par conséquent, grâce au procédé de traitement exposé cidessus, on peut effectuer la convolution d'un grand nombre de valeurs discrètes retardées très longues en un temps relativement très court. On remarquera que le procédé décrit ci-dessus peut également 1 s'appliquer si les valeurs discrètes retardées se présentent entièrement ou partiellement en série, les pondérations et les regroupements se faisant alors de façon évidente pour l'homme de l'art à la lumière de l'exemple décrit ci-dessus. Le dispositif de mise en oeuvre se trouve alors réduit en conséquence, et l'additionneur 6 est remplacé par un additionneur- accumulateur. Tous les circuits décrits ci-dessus peuvent être partiel- lement ou totalement intégrés, et on peut regrouper sur un même circuit intégré des blocs de traitement dans un ordre différent de celui représenté sur les figures. Le dispositif représenté sur la figure I peut également effectuer des additions ou des multiplications. Pour effectuer une addition de plusieurs nombres, on peut par exemple envoyer sur les entrées d'adressage de chaque mémoire ou groupe de mémoires les éléments binaires de même poids de tous les nombres considérés, et l'opération effectuée par l'étage 2 revient à déterminer le nombre de "1" d'entrée, les coefficients Al à A étant tous rendus égaux à 1. Pour effectuer une multiplication d'un terme tel que m- m-2 I O (am, a... a, a) pour un autre terme tel que (bnî bn2... b b), on peut par exemple réaliser l'étage 2 avecm mémoires affectées chacune à un des m éléments binaires a,à a et programmer chacune des mémoires pour fournir en sortie le n-I O total de "I" dudit autre terme (b... b) présents sur ses entrées, chacune de ces mémoires étant validée par l'élément binaire a correspondant lorsque celui-ci est égal à "1". Au lieu d'utiliser à chaque fois une mémoire morte, on peut soit utiliser un ensemble de plusieurs mémoires mortes commutables, soit utiliser des mémoires vives, ce qui est intéressant lorsque les coefficients mémorisés peuvent varier, comme c'est par exemple le cas pour des filtres numériques autoadaptatifs. REVENDICATIONS 1. Dispositif opérateur numérique rapide destiné à effectuer une opération sur au moins deux termes, caractérisé par le fait qu'il comporte, à la sortie d'un étage (1) de registres d'entrée sur lesquels se présentent en parallèle tous les éléments binaires de l'un des termes de l'opération à effectuer, un étage de trai- tement opératoire (2) comportant un ou plusieurs groupes de mémoires dans chacun desquels sont mémorisées,de façon connue en soi, toutes les combinaisons opératoires du second terme de l'opération à effectuer, les entrées de chaque groupe de mémoires étant reliées aux sorties de tous les registres d'entrée dans lesquels arrivent les éléments binaires de même poids du premier terme, l'étage de traitement opératoire étant suivi d'un étage (3) de registres à entrées et sorties parallèles, puis d'un ou de plusieurs étages de sommation pondérée (4, 5) comportant chacun plusieurs blocs de détermination de nombre de "1" à chacun desquels on attribue un poids, depuis le poids zéro jusqu'au poids maximal nécessaire, ces blocs de détermination ayant chacun un registre ou des bornes de sortie, les cellules de ce registre ou les bornes de sortie étant pondérées, c'est-à- dire affectées d'un poids égal à leur propre poids augmenté du poids attribué à leurs blocs de détermination, les différentes entrées de ces blocs de détermination étant à chaque fois reliées, pour le premier étage de sommation, aux sorties de même poids des groupes de mémoires, et pour le ou les étages suivants de sommation, aux sorties de toutes les cellules ou aux bornes de sortie de l'étage précédent et ayant, après pondération, le même poids, les blocs de détermination du dernier étage de sommation ayant, de préférence, au maximum deux bornes de sortie ou un registre à deux cellules au maximum, ce ou ces étages de sommation pondérée étant suivis d'un additionneur rapide (6) dont les différentes entrées sont reliées aux sorties correspondantes du dernier étage de sommation pondérée. 2. Dispositif selon la revendication 1, caractérisé par le fait que les mémoires de l'étage de traitement opératoire sont des mémoires mortes. 3. Dispositif selon la revendication 1, caractérisé par le fait que les mémoires de l'étage de traitement opératoire sont des mémoires vives. 4. Dispositif selon la revendication 2, caractérisé par le fait que les mémoires sont constituées par plusieurs ensembles commutables de mémoires mortes. 5. Dispositif selon l'une quelconque des revendications précédentes, l'opération à effectuer étant une convolution, caractérisé par le fait que l'on mémorise dans chaque groupe de mémoires les différentes combinaisons possibles de sommations de coefficients. 6. Filtre numérique, caractérisé par le fait qu'il comporte le dispositif opérateur numérique conforme à l'une quelconque des revendications précédentes.