COMPLEX OPERATING UNIT, IN PARTICULAR FOR THE ANALOGUE DETERMINATION OF FAST FOURIER TRANSFORMS

Abstract: 1. Analog operator module which is capable of receiving four voltages a0 , b0 , a1 , b1 and of producing the voltages x1 = (a0 -a1 ) cos 2k pi /N-(b0 -b1 ) sin 2k pi /N y1 = (a0 -a1 ) sin 2k pi /N-(b0 -b1 ) cos 2k pi /N wherein N is an integer and k an integer comprised between 0 and N-1, characterized by the fact that it comprises two operational amplifiers (A01 and A02) with switched capacities mounted identically in the following manner : a looping capacity (C1 ) is connected on one side to the inverting input of the amplifier and on the other side either to ground through a first transistor (T1) or to the output of the amplifier through a second transistor (T2), a third transistor (T3) permitting to short-circuit the output and the input of the amplifier, with a plurality of parallel input capacities each of which is susceptible to be rendered operative or to be insulated by a respective transistor, the values of these capacities, in relation to the value of the looping capacity, being the cosine of angles 2k' pi /N comprised between 0 and pi /4, wherein k' is a transformation of the number k which is such that the angles 2k pi /N and 2k' pi /N are related through simple trigonometric relations comprising sign changes or permutations of sine and cosine, and another pluraity of input capacities mounted in the same manner but having sine values of the same angles, one of the pluralities of capacities receiving on one side the signal a0 through a transistor (Ta ) and the signal a1 through another transistor (T'a ) and being connected on its other side to the input of the amplifier, the other plurality of capacities receiving on one side the signal b0 through a transistor (Tb ) and the signal b1 through another transistor (T'b ) and being likewise connected on the other side to the input of the amplifier, with a symmetry between the mountings of the two amplifiers, i.e. the fact that if the capacities having cosine values receive a0 and a1 for one of the amplifiers, the corresponding capacities of the other amplifier which also have cosine values receive b0 and b1 in reciprocal manner ; the operator module further comprising switching control means (CL) for the different transistors which are capable on the one hand of selecting an input capacity having a cosine value and an input capacity having a sine value of the same angle, this selection being controlled as a function of the number k and on the other hand of establishing synchronised conduction phases between the different transistors in a manner to produce values approaching the quantities x1 and y1 on the outputs of the two amplifiers, the conduction phases comprising at least one phase of applying two of the four voltages a0 , b0 , a1 , b1 to the selected input capacities and a phase of applying the two other voltages to these capacities, the selection of the applied voltages being performed by means of logic circuits (D2) receiving the number k.

Description: MODULE OPERATEUR COMPLEXE DESTINE NOTAMMENT A LA DETERMINATION ANALOGIQUE DE TRANSFORMEES RAPIDES DE FOURIER. Le domaine de la présente invention est celui du calcul analogique, et notamment du calcul de transformées rapides de Fourier. L'une des applications les plus intéressantes des transformées de Fourier est l'analyse spectrale de signaux électriques, et l'un des buts a atteindre est la possibilité d'effectuer cette analyse spectrale en temps réel, au fur et à mesure de l'arrivée de ces signaux. La rapidité du calcul est donc essentielle. Les transformées discrètes de Fourier se résument mathématiquement en un produit d'un vecteur de nombres complexes (qui en pratique sont des échantillons de signaux avec une partie réelle et une partie imaginaire) par une matrice complexe dont les termes sont des nombres complexes de module 1 et d'angles multiples entiers de 27x/N si N est le nombre d'échantillons de signaux servant au calcul de la transformée. Chaque terme complexe du vecteur représentant la transformée de Fourier est donc une somme de produits d'un échantillon (partie réelle et partie imaginaire) par un coefficient cos 2k x /N + j sin 2k7t/N ou k est un entier compris entre O et N - 1, N est le nombre d'echantillons traités, j est le nombre imaginaire pur dont le carré est -1. On voit donc que l'obtention des divers coefficients complexes de la transformée discrète de Fourier consisterait à effectuer une série de N2 multiplications de nombres complexes par des coefficients cos 2kx/N + j sin 2kx/N et N2 additions des produits obtenus. M.C. Pease a montré que l'on pouvait exécuter un calcul analogique d'une transformée rapide de Fourier selon un algorithme répétitif qui se traduit par l'utilisation en parallèle d'un réseau de N/2 opérateurs complexes à deux entrées et deux sorties, qui reçoivent sur leurs entrées deux nombres complexes et qui fournissent sur leurs sorties des sommes pondérées des entrées. En pratique, chaque opérateur fournit d'une part la somme des entrees et d'autre part la difference multipliée par un vecteur unitaire d'angle 2 k/N, k pouvant varier de O à N - 1. Les sorties des opérateurs sont envoyées vers un autre réseau de N/2 operateurs complexes, avec un certain brassage des interconnexions entre les sorties du premier réseau et les entrées du second ; de même, les sorties du deuxième réseau sont à nouveau envoyées, avec le même brassage d'interconnexions, vers un troisième reseau, et ainsi de suite : si N = 2P, p réseaux sont nécessaires pour qu'a partir de N échantillons de signaux appliqués au premier réseau, on obtienne sur les sorties du dernier réseau N grandeurs représentant la transformée rapide de Fourier du signal échantillonné à entrée. Cependant, comme le brassage entre les interconnexions est le même entre les réseaux successifs, il y a une configuration spatiale répétitive dont le motif unitaire ne comprend qu'un seul réseau de N/2 opérateurs complexes. Bien que les rotations vectorielles d'angle 2k1N exécutées par les opérateurs varient d'un opérateur d'un réseau à l'opérateur de même position du réseau voisin, on peut aussi souhaiter profiter de la répétitivité de la configuration spatiale pour n'utiliser qu'un seul réseau de N/2 opérateurs dont les coefficients de pondération (c'està-dire les cosinus et sinus de l'angle 27kk/N) seront commandables, les sorties du réseau étant ramenées plusieurs fois successivement vers les entrées (avec toujours le même brassage, mais avec une modification des angles 2k/N des différents opérateurs à chaque recirculation). Si N = 2P, on utilisera un réseau de N/2 opérateurs complexes, on introduira N échantillons de signaux, on fera recirculer p fois les grandeurs de sortie vers les entrées avec un brassage des interconnexions, en modifiant à chaque fois convenablement les rotations introduites par chaque opérateur, et on obtiendra à la fin N grandeurs complexes représentant la transformée rapide de Fourier du signal d'entrée. Ce type de traitement en parallèle avec recirculation est plus long qu'un traitement avec p réseaux mais il économise un bon nombre d'opérateurs. On pourra se reporter à l'article de M.C. Pease : An adaptation of the fast Fourier transform for parallel processing", dans le Journal ACM-vol.15, pages 252-264, avril 1968, et à l'article de H.S. Stone "Parallel processing with the perfect shuffle" dans IEEE transactions on computers, vol. C-20 n 2, pages 153-161, février 1971. Quel que soit le mode de traitement adopté, c'est-à-dire avec ou sans recirculation des grandeurs calculées, on est amené à utiliser des opérateurs complexes qui, à partir de deux grandeurs complexes d'entrée co - ao + jbo et cl = al + jbl introduites en fait sous forme de quatre grandeurs électriques (tensions) ao, bo, al, bl, fournit deux grandeurs complexes de sortie zo = xo + jyo et zl = xl + jyl, obtenues en fait sous forme de quatre grandeurs électriques (tensions) xo, yo, xl, yl, avec xo = a0 + a1 (1) yo = bo + bl (2) xl = (ao - al) cos 2k#/N - (bo - bl) sin 2k#/N (3) yl = (ao - al) sin 2k#/N + (bo - bl) cos 2k#/N (4) Sous une autre forme mathématique, cela revient à dire que l'opérateur complexe réalise - d'une part, un premier vecteur complexe qui est simplement la somme des grandeurs complexes d'entrée zo = co + cl, et - d'autre part, un deuxième vecteur qui est la différence des grandeurs d'entrée multipliée par une rotation simple d'angle 2k#/N: zl = (co - cl) ej2k#/N. Le but de la présente invention est de réaliser un tel opérateur complexe utilisant un minimum de composants, modifiable a volonté en ce qui concerne la valeur de l'angle de rotation 2kWr/NX afin qu'il soit particulièrement adapté au calcul analogique de transformées rapides de Fourier selon l'algorithme de Pease. Ce module est essentiellement constitué de la manière suivante, pour réaliser d'abord les quantités xl et yl à partir de tensions aO, al, bo, bl : il comprend d'abord deux amplificateurs opérationnels à capacités commutées montés identiquement, avec une capacité de bouclage reliée d'une part à l'entrée inverseuse de l'amplificateur et d'autre part soit à la masse par un premier transistor soit à la sortie de l'amplificateur par un second transistor, un troisième transistor étant prévu pour permettre de court-circuiter sortie et entrée de l'amplificateur ; ; une pluralité de capacités d'entrée en parallèle est prévue, chacune pouvant être mise en service ou isolée par un interrupteur (transistor) respectif, ces capacités ayant pour valeurs, rapportées à la valeur de la capacité de bouclage, des cosinus d'angles 2k#/N répartis entre O et X/4 ; une autre pluralité de capacités, agencée de la même manière, est prévue à l'entrée de l'amplificateur, mais elles ont pour valeurs les sinus des mêmes angles ; l'une des pluralités de capacités reçoit d'un c8té le signal ao à travers un transistor de commutation et le signal al à travers un autre, tandis quelle est reliée de l'autre côté a entrée de l'amplificateur ; l'autre pluralité de capacités reçoit complémentairement d'un c8té le signal bo à travers un transistor de commutation et le signal bl à travers un autre, tandis qu'elle est reliée de l'autre côté à l'entrée de l'amplificateur. Les deux amplificateurs sont montés de la même manière, chacun avec une capacité de bouclage et deux pluralités de capacités, mais il existe une symétrie de connexions entre les deux amplificateurs en ce sens que si, pour l'un des amplificateurs, ce sont les capacités ayant pour valeur des cosinus qui reçoivent les signaux aO et al, alors, pour l'autre amplificateur, les capacités correspondantes, ayant aussi pour valeur des cosinus, recevront non pas aO et al, mais bl et bl. La réciproque est vraie pour les capacités ayant pour valeur des sinus ; le module opérateur comprend enfin un circuit de commande de commutation des différents transistors, apte à établir des phases de conduction synchronisées entre les différents transistors. Les tensions de sortie des deux amplificateurs dans ce montage représentent des valeurs approchées des quantités cherchées xl et y1. En pratique, le module opérateur comportera quatre amplificateurs supplémentaires ayant un double rôle : d'une part, ils serviront tous les quatre de mémoires tampons prélevant des échantillons de tensions aO, bo, al, bl et les gardant en mémoire pour les appliquer aux deux premiers amplificateurs ; d'autre part, sur les quatre amplificateurs supplémentaires, deux serviront à préciser le calcul approché fait par les deux premiers amplificateurs, tandis que les deux autres serviront à établir les sommes aO + al et bo + bl de manière à faire apparaître sur les sorties des quatre amplificateurs supplémentaires respectivement les quantités xl, yl, a0 + al et bo + bl. D'autres caractéristiques et avantages de l'invention apparattront à la lecture de la description détaillée qui suit et qui est faite en référence aux dessins annexés dans lesquels-: - la figure 1 représente schématiquement un sommateurpondérateur constituant la base du module opérateur de l'invention, - la figure 2 représente un sommateur-pondérateur capable de produire les tensions xl et y1 correspondant aux équations (3) et (4), - la figure 3 montre un module opérateur avec une possibilité d'interpolation pour préciser la valeur de xl et - la figure 4 montre schématiquement ensemble de la structure du module opérateur complexe avec six amplificateurs opérationnels. Dans la description qui suit, on s'intéressera à un module opérateur capable d'effectuer la somme simple de deux nombres complexes, et la différence de ces nombres multipliée par e 2jk#/N avec N = 2P et k = O à N-1. Cette somme et cette différence correspondent aux équations (1) à (4) écrites plus haut. Lorsque des exemples numériques seront donnés, on prendra N = 256, p = 8 qui constituent des valeurs réalistes pour obtenir une précision de calcul suffisante pour beaucoup d'applications (par exemple, l'analyse de la parole). Le module est contrôlé en ce qui concerne le coefficient k, c'est-à-dire l'angle de rotation, par un séquenceur qui délivre des signaux binaires représentant la valeur désirée pour le coefficient k, dont on rappelle qu'il prend des valeurs successives différentes pour un même module opérateur lorsque la transformée de Fourier est calculée par un réseau unique, bouclé sur lui-même, de N/2 opérateurs. Pour N - 256, k sera représenté par un nombre de huit éléments binaires. Comme on le remarque d'après les équations (3) et (4), il y a lieu d'établir à partir de quatre tensions électriques aO, al > boa b1, des différences a0 - al et bo - bl, puis de faire une somme ou une différence pondérée de ces deux différences, la pondération étant faite pour les deux équations avec des coefficients qui sont le sinus et le cosinus d'un même angle. A priori, il faudrait utiliser un certain nombre d'amplificateurs opérationnels pour réaliser d'abord deux différences puis la multiplication de chacune par un sinus et par un cosinus puis la somme et la différence des quantités ainsi pondérées. On va décrire d'abord une structure de sommateurpondérateur capable de réaliser ces quantités pondérées avec seulement deux amplificateurs différentiels, après quoi on décrira l'ensemble du module opérateur qui utilise cette structure pour établir les équations (1) à (4). Cette structure, visible à la figure 1, comprend un amplificateur opérationnel AO, une capacité de bouclage C1, deux capacités d'entrée CO et C'O, et des commutateurs qui sont de préférence des transistors à grille isolée de type MOS (métaloxyde-semiconducteur) si le module opérateur est fabriqué sous forme de circuit intégré en technologie MOS. L'amplificateur a une entrée non-inverseuse à la masse et une entrée inverseuse reliée à une borne de chacune des trois capacités Co, Co', C1. L'autre borne de Co est reliée, par l'intermédiaire d'un transistor MOS T a à une entrée de signal a0 dont elle peut être isolée lorsque le transistor T a est bloqué. Elle est aussi reliée à une autre entrée pour le signal al par un transistor T'a qui peut également l'en isoler. Les phases de conduction de T a et T'a sont disjointes, c'est-à-dire qu'ils ne sont pas conducteurs en même temps. De la même manière, l'autre borne de la capacité C'O est reliée à une entrée de signal bo et une entrée de signal bl respectivement par un transistor Tb et un transistor T'b dont les phases de conduction sont disjointes et sont soit les mêmes que celles de T a et T'aX soit permutées c'est-à-dire les mêmes que celles de T'a et Ta Sur la figure 1, les phases sont permutées, c'est-à-dire que Ta et T'b conduisent simultanément les signaux a0 et bl aux capacités Co et C'O, après quoi, dans une phase disjointe de la précédente, T'a et Tb conduisent simultanément les signaux a1 et bo aux capacites Co et Co'. L'autre borne de C1 est reliée par l'intermédiaire d'un commutateur (transistor Tl) à la masse, et par l'intermédiaire d'un autre commutateur (transistor T2) à la sortie de l'amplificateur AO. Les phases de conduction de T1 et T2 sont les memes que celles de T a et T'a ou sont permutées. Sur la figure 1, ce sont les mêmes. Enfin, un transistor T3 est relié entre l'entrée inverseuse de l'amplificateur AO et sa sortie et peut donc réaliser un bouclage en gain unitaire de cet amplificateur. La phase de conduction de T3 est la meme que celle de T1. Le fonctionnement de ce sommateur-pondérateur est le suivant : dans une première phase (Tl, T3, Ta, T'b conducteurs), C1 est déchargé à zéro ; en meme temps, Co et C'O se chargent respectivement aux tensions ao et bl, l'amplificateur étant bouclé en gain unitaire par le transistor T3 pour maintenir le potentiel de l'entrée inverseuse sensiblement à zéro. Les charges des capacités Co, C'O et C1 sont ainsi respectivement Coao, C'obl et zéro. En réalité il faudrait tenir compte de la tension de décalage (offset) de l'amplificateur, mais le montage décrit présente l'avantage d'éliminer l'influence de cette tension sur le résultat final. Les transistors T1, T3, Tas T'b sont alors bloqués et une charge globale - (Coao + C'ob1) est emprisonnée sur les bornes des capacités reliées à l'entrée inverseuse (d'où elles ne peuvent s'échapper). A la phase suivante, les transistors T'a > Tb et T2 sont rendus conducteurs. Les capacités Co et C'O prennent respectivement des charges qui sont -alCO et -boC'o sur leurs armatures reliées à l'entrée de l'amplificateur. La conservation globale des charges reliées à l'entrée inverseuse, d'ou elles ne peuvent s'échapper, exige que l'armature de la capacité C1 reliée à cette entrée prenne une charge telle que la somme de cette charge et des nouvelles charges stockées sur Co et C'O soit égale a la charge globale - (aoco + b1C'o), emprisonnée à la phase précédente. Autrement dit, l'armature de la capacité C1 reliée a l'entrée de l'amplificateur doit prendre une charge égale à (alco + boCo') - (aoCo + blCo'). Pour cela le potentiel de sortie de l'amplificateur opérationnel prend une valeur (ao - al) Co/Cl - (bo - bl) Co'/Cl. Si on donne au rapport CO/Cl une valeur égale au cosinus d'un angle et à Co'/Cl une valeur égale au sinus du même angle, et en l'occurence d'un angle de 2k7r/N, on obtient en sortie du somr mateur pondérateur un niveau de tension (ao - al) cos 2k#/N - (bo - bl) sin 2k#/N (5) Ceci correspond à la valeur xl de l'équation (3). Mais on peut remarquer que ce montage ne se contente pas de fournir cette valeur, car il permet aussi d'inverser les signes des coefficients de pondération en cosinus et sinus : en effet, si on permute les phases de Tb et T'b, c'est-à-dire si on fait conduire Tb en même temps que T1 et T'b en même temps que T2, on obtient en sortie la valeur (aO - al) cos 2k#/N + (bo - bl) sin 2k7t/N (6) Si on revient à la figure 1 et qu'on modifie les phases de manière à faire conduire T'a et T'b en meme temps que T1 et Ta et Tb en même temps que T2, on obtient un signal de sortie - (ao - al) cos 2k#/N - (bo - bl) sin 2k#/N (7) Enfin, si on fait conduire T'a et Tb en meme temps que T1 et Ta et T'b en même temps que T2, on aura la valeur - (ao - al) cos 2k#/N + (bo - bl) sin 2k#/N (8) Un deuxième amplificateur monté de manière identique mais dans lequel ce seraient les signaux ao et al qui seraient reliés par des transistors à une capacité Co' - C1 sin 2k#/N et inversement les signaux bo et bl à une capacité Co = C1 cos 2k#/N, permet de réaliser de la même manière les sommes pondérées suivantes (ao - al) sin 2k#/N + (bo - bl) cos 2k#/N (9) (ao - al) sin 2k#/N - (bo - bl) cos 2k#/N (10) - (ao - al) sin 2k#/N + (bo - bl) cos 2k#/N (11) - (ao - al) sin 2k#/N - (bo - bl) cos 2k#/N (12) En résumé, on peut, au moyen de deux amplificateurs opérationnels montés comme à la figure 1, réaliser un produit matriciel du type EMI9.1 <SEP> Xl <SEP> #cos <SEP> <SEP> 2k#/N, <SEP> <SEP> sin <SEP> 2k#/N# <SEP> <SEP> #ao <SEP> <SEP> - <SEP> al# <tb> # <SEP> # <SEP> = <SEP> # <SEP> # <SEP> # <SEP> # <SEP> (13) <tb> Yl <SEP> sin <SEP> 2k#/N, <SEP> <SEP> cos <SEP> 2k#/N <SEP> bo <SEP> - <SEP> bl <tb> où X1 et Y1 sont les tensions en sortie des deux amplificateurs opérationnels. Enfin, si on croise les connexions d'entrée ou de sortie on peut obtenir aussi un produit matriciel du type : EMI10.1 <tb> Xl <SEP> sin <SEP> 2k#/N, <SEP> <SEP> cos <SEP> 2k#/N <SEP> ao <SEP> - <SEP> al <tb> = <tb> Y1 <SEP> cos <SEP> 2k#/N, <SEP> <SEP> sin <SEP> 2k#/N <SEP> bo <SEP> - <SEP> bl <SEP> (14) <tb> On conçoit qu'on pourrait utiliser les deux sommateurs pondérateurs de la manière qui vient d'être décrite, l'un réalisant simplement la quantité (5) et l'autre la quantité (9) puisque ces deux quantités correspondent justement à la forme des équations (3) et (4) que l'on cherche à réaliser. Pourtant, on expliquera dans la suite comment on profite au contraire des multiples possibilités de signes des coefficients de pondération en sinus et cosinus et des possibilités de croisement des entrées et sorties des deux sommateurs pondérateurs pour réaliser différents couples de valeurs X1, Y1 pris parmi les équations matricielles (13) et (14), définissant donc des équations différentes de (3) et (4) mais permettant, en combinaison avec la connaissance de relations trigonométriques simples, de réduire ltencombrement du module opérateur complexe que l'on cherche à réaliser. On peut d'ores et déjà noter, car c'est selon ce principe que fonctionne le dispositif décrit ci-après dans le détail, que si un premier sommateur pondérateur est principalement affecté à la réalisation de la quantité (5), il pourra servir également a établir la quantité (8) par changement de signe, c'est-à-dire inversion des phases de commande de Ta et T'a, à établir aussi la quantité (11) par permutation des signaux d'entrée a0 et bo d'une part, al et bl d'autre part, et enfin à établir la quantité (10) en combinant ce changement de signe et cette permutation. De même, si le second amplificateur est affecté principalement à la réalisation de la quantité (9), il pourra aussi servir à établir les quantités (12) par changement de signe, (6) par permutation des entrées, et (7) en combinant les deux. D'autres possibilités pourraient être envisagées, par exemple l'affectation du premier amplificateur à l'établissement des équations (5) à (8) et l'affectation du second à l'établissement des équations (9) à (12) ceci par simple permutation des phases de commande des transistors T as Ta', Tub, T1b. On va maintenant expliquer en référence à la figure 2 comment on utilise au mieux ces propriétés pour réaliser un double sommateur pondérateur, programmable en ce qui concerne la valeur de k, ce qui sera particulièrement utile pour la réalisation d'un module opérateur complexe réalisant une rotation dont l'angle est programmable. Si l'on veut que le double sommateur pondérateur soit programmable, on va disposer à l'entrée de chaque amplificateur opérationnel non pas une capacité Co et une capacité Co', mais une pluralité de capacités Co et de capacites C'O, ayant pour valeurs les cosinus et sinus d'angles 2kS/N (valeurs prises en référence à la capacité de bouclage C1 supposée de valeur unitaire pour simplifier puisque seuls interviennent des rapports entre les capacités d'entrée Co, C'O et la capacité C1). Le choix d'un angle de rotation (déterminé par les éléments binaires du nombre k transmis par le séquenceur) se traduira par la mise en service d'une seule capacité Co et d'une seule capacité C'O parmi la pluralité de capacités prévues. Les autres capacités restent hors@service. A cet effet, chaque capacité est en série avec un interrupteur de mise en service (transistors Tc pour les capacités Co représentant des cosinus d'angles 2k#/N, et transistors T5 pour les capacités représentant des sinus des mêmes angles). Tous les ensembles Tc, Co sont en parallèle et remplacent la capacité Co de la figure 1 ; de même, tous les ensembles Ts, C'O sont en parallèle et remplacent la capacité C'O de la figure 1. La programmation consistera notamment à désigner un couple unique de capacités Co, C'O correspondant au cosinus et au sinus d'un même angle, ceci pour chaque amplificateur opérationnel, la désignation se faisant par mise en conduction des transistors Tc, T8 correspondant à ce couple, les autres transistors Tc, T8 restant bloqués. Un décodeur recevant le nombre k permettra de procéder à cette désignation pour un cycle de calcul donné, les capacités désignées s'insérant dans le circuit selon le schéma de la figure 1. Toutefois, pour obtenir une possibilité de programmation complète de k entre O et N-1, il faudrait 2N capacités à l'entrée de chacun des deux amplificateurs opérationnels, soit 4N en tout pour un module, c'est-à-dire 1024 pour N = 256. On conçoit qu'il n'est pas souhaitable de prévoir dans chaque module un nombre aussi élevé de capacités dont quatre seulement seront utilisées simultanément au cours d'un cycle de calcul. En effet, non seulement les capacités sont encombrantes dans un circuit intégré MOS, mais en plus la précision du rapport des capacités se dégrade lorsque ce rapport devient trop élevé alors que cette précision est fondamentale pour l'exécution du calcul ; il faut donc non seulement essayer de réduire le nombre de capacités, mais aussi éviter d'avoir dans un même circuit des capacités de valeurs très différentes. Pour N = 256, le rapport entre la plus grosse capacité (correspondant à cos 2# = 1) et la plus petite (correspondant à sin 27ç/256 = 0,0245) est nettement trop élevé pour qu'on ait, en technologie MOS, une précision suffisante sur ce rapport. Deux mesures sont adoptées selon l'invention pour réduire le nombre de capacités et éviter d'avoir des capacités très petites par rapport à l'unité représentée par la capacité de bouclage C1. La première mesure consiste à remarquer que si on dispose de capacités représentant les sinus et cosinus des angles entre O et #/4, on peut en déduire les sinus et cosinus de tous les autres angles du cercle trigonométrique, d'une part, par modification du signe du sinus ou du cosinus, en ramenant certains angles à un angle entre O et Xl/4 par complémentation à Jr ou 2#, ou par soustraction de 7R, et d'autre part, par remplacement d'un sinus en un cosinus et réciproquement en ramenant certains angles à un angle entre O et 7r/4 par complémentation à ic/2 ou 3#/2 ou par soustraction de 7t/2 ou 3X/2. Or, justement, on a vu que l'on pouvait, avec un double sommateur-pondérateur réalisant des quantités (5) et (9), réaliser aussi des quantités (6), (7), (8), (10), (11), (12) qui ne différent des quantités (5) et (9) que par des changements de signes ou des permutations de sinus et cosinus. Si donc le sommateur-pondérateur reçoit un nombre k correspondant à un angle quelconque 2k St/N, on pourra transformer cet angle en un angle 2k'#/N compris entre O et #/4 avec une relation simple bien définie entre les cosinus et sinus des angles 2k#/N et 2k'7t/N. Cette relation simple permettra de définir quelles sont les quantités parmi (5) à (12) qui, exprimées en fonction de k', correspondent justement aux quantités (5) et (9) exprimées en fonction de k, à charge pour un circuit logique de commander le sommateur-pondérateur pour qu'il établisse les quantités ainsi définies. A chaque demi-quadrant du cercle trigonométrique on peut faire correspondre une transformation trigonométrique simple (changement de signe ou permutation de sinus ou cosinus) par laquelle on passe d'un angle 2k#/N de ce demi-quadrant à un angle 2k'#/N du premier demi-quadrant (o, #/4). A titre d'exemple, supposons que k est tel que 2k#/N est compris entre 3#/4 et # (quatrième demi-quadrant) ; on détermine un angle 2k'Jr/N = St - 2k#/N compris entre O et #/4. Les relations trigonométriques simples qui en découlent sont sin 2k'JI/N = sin 2kx/N et cos 2k'#/N = -cos 2k#/N Il y a donc lieu de produire les quantités (7) et (10) exprimées en fonction de k' -(aO-al) cos 2k'#/N - (bo-bl) sin 2k'ss/N (ao-al) sin 2k' lt/N - (bo-bl) cos 2k#/N pour que l'on obtienne bien les quantités (3) et (4) en remplaçant 2K'#/N par #-2k#/N. De nombreuses possibilités existent pour établir alors les quantités (7) et (10), mais, si l'on s'en tient à la réalisation pratique décrite en détail, c'est-à-dire celle pour laquelle le premier amplificateur produit les quantités (5) (8) (11) (10) et le second les quantités (9) (12) (6) (7), et pour laquelle on prévoit des permutations de signaux d'entrée et de sortie ainsi que des inversions de phase entre Ta et T'a plut8t que des permutations complètes entre Tas T' a' Tb, T'b, on devra alors effectuer - un changement de signe pour les deux amplificateurs opérationnels (donc simultanéité de phase de T'a, Tb, T1 au lieu de Ta, Tb, T1), qui revient à inverser les signes des quantités (5) à (9), - une permutation des entrées ao et bo d'une part et une permutation des entrée al et bl d'autre part, qui revient à permuter a0 - al et bo - bl dans les quantités (5) à (9), - enfin une permutation des sorties des amplificateurs opérationnels pour que se retrouve sur la première sortie du sommateur pondérateur la quantité (7) produite par le second amplificateur et sur la seconde sortie la quantité (10) produite par le premier. Cet exemple relativement complexe montre bien quelles sont les transformations à effectuer, transformations qui se traduisent par les équations équivalentes suivantes valables pour le quatrième demi-quadrant EMI14.1 <SEP> Xl <SEP> cos <SEP> 2k#/N, <SEP> <SEP> - <SEP> sin <SEP> 2k#/N <SEP> ao <SEP> - <SEP> al <tb> # <SEP> # <SEP> = <SEP> # <SEP> # <SEP> # <SEP> # <tb> <SEP> Y1 <SEP> sin <SEP> 2k#/N, <SEP> <SEP> cos <SEP> 2k#/N <SEP> <SEP> bo <SEP> - <SEP> bl <tb> <SEP> ou <SEP> X1 <SEP> - <SEP> cos <SEP> 2k'#/N, <SEP> <SEP> - <SEP> sin <SEP> 2k'#/N <SEP> <SEP> ao <SEP> - <SEP> al <tb> <SEP> # <SEP> # <SEP> = <SEP> # <SEP> # <SEP> # <SEP> # <tb> Yl <SEP> sin <SEP> 2k'#/N, <SEP> <SEP> - <SEP> cos <SEP> 2k'$/N <SEP> bo <SEP> - <SEP> bl <tb> <SEP> ou <SEP> Xl <SEP> - <SEP> sin <SEP> 2k'#/N, <SEP> - <SEP> cos <SEP> 2k'#/N <SEP> bo <SEP> - <SEP> bl <tb> # <SEP> # <SEP> = <SEP> # <SEP> # <SEP> # <SEP> # <tb> <SEP> Y1 <SEP> - <SEP> cos <SEP> 2k'#/N, <SEP> <SEP> sin <SEP> 2k'#/N <SEP> ao <SEP> - <SEP> al <tb> <SEP> ou <SEP> Yl <SEP> - <SEP> cos <SEP> 2k'#/N, <SEP> sin <SEP> 2k'#/N <SEP> <SEP> bo <SEP> - <SEP> bl <tb> <SEP> # <SEP> # <SEP> = <SEP> # <SEP> # <SEP> # <SEP> # <tb> <SEP> Xl <SEP> -sin <SEP> 2k'#/N, <SEP> <SEP> - <SEP> cos <SEP> 2k'#/N <SEP> ao <SEP> <SEP> - <SEP> al <tb> ou <SEP> -Y1 <SEP> cos <SEP> 2k'#/N, <SEP> <SEP> - <SEP> sin <SEP> 2k'#/N <SEP> bo <SEP> - <SEP> bl <tb> # <SEP> #= <SEP> # <SEP> # <SEP> # <SEP> # <tb> <SEP> -X1 <SEP> sin <SEP> 2k'#/N, <SEP> <SEP> cos <SEP> 2k'#/N <SEP> ao <SEP> - <SEP> al <tb> équation à réaliser si 2k'#/N = #-2k#/N Cette dernière équation montre bien qu'a partir de la fonction standard du sommateur pondérateur capable de réaliser des quantités du type (5) et (9), il y a lieu, lorsqu'on est en présence d'un angle du quatrième demi-quadrant, de permuter les entrées et les sorties et de changer les signes des deux quantités établies. On peut ainsi établir, pour tous les demi-quadrants des formules de transformation analogues qui montrent clairement la transformation a effectuer. On aboutit aux transformations suivantes : demi-quadrant 0 (O, #/4) - pas de transformation demi-quadrant 1 (/4, 1v/2) - changement de signe sur le premier amplificateur - permutation des entrées demi-quadrant 2 (#/2, 3#/4) - changement de signe sur le second amplificateur - permutation des sorties demi-quadrant 3 (37C/4, 7t) - changement de signe sur les deux amplificateurs - permutation des entrées et des sorties demi-quadrant 4 (s4, 5#/4) - changement de signe sur les deux amplificateurs demi-quadrant 5 (5X/4,3X/2) - changement de signe sur le second amplificateur - permutation des entrées demi-quadrant 6 (3#/2,7#/4) - changement de signe sur le premier amplificateur - permutation des sorties demi-quadrant 7 (7#/4, 2#) - permutation des entrées et des sorties Pour ces divers demi-quadrants, il y aura lieu de définir exactement la valeur de k' : : demi-quadrant 0 2k' 7t/N = 2k#/N 1 2k'#/N = #/2 2k#/N 2 2k'#/N = 2k#/N - #/2 3 2k'#/N = # - 2k#/N 4 2k'#/N = 2k#/N - # 5 2k'#/N = 3#/2 - 2k#/N 6 2k'#/N = 2k#/N - 3#/2 7 2k'#/N = 2# - 2k#/N k sera exprimé sous forme d'un nombre binaire (reçu du séquenceur). Pour N = 256, k possède huit bits B7, B6, B5, B4, B3, B2, B1, BO dans l'ordre des poids décroissants. Les trois premiers bits B7, B6, B5 constituent une adresse quadrantale désignant un demi-quadrant parmi huit dans lequel se trouve l'angle 2k#/N. Les demiquadrants numérotés 0 à 7 dans le sens trigonométrique ont pour adresses successives B7, B6, B5 : 000, 001, ..., 111. Ces trois premiers bits définissent quels sont les changements de signe et permutations à effectuer selon le tableau donné ci-dessus. Ils définissent aussi de quelle manière on passe de k à k'. Ce passage est en fait extrêmement simple : si l'angle 2k#/N est dans l'un des demi-quadrants pairs 0, 2, 4, 6, c'est-àdire si B5 est égal à 0, les bits suivants B4, B3, B2, B1, BO définissent exactement le nombre k' ; ceci correspond au passage de 2k#/N à 2k'#/N par soustraction de #/2 ou # ou 3#/2. Si, au contraire, l'angle 2k#/N est dans l'un des demiquadrants impairs (B5 = 1), le nombre k' est obtenu par inversion des bits B4 B3 B2 B1 BO et addition d'une unité au dernier bit. Cette opération logique est extrêmement simple et correspond au passage de l'angle 2k#/N à l'angle 2K'#/N par complémentation à #/2, #, 3#/2, ou 2#. Ainsi, selon la valeur de B5, on passe de k à k' en utilisant simplement les derniers bits de k ou en effectuant une inversion de ces derniers bits et une addition d'une unité B5 = O B5 = 1 k' - B4 B3 B2 B1 BO k' = B4 B3 B2 B1 BO + 00001 C'est le nombre k' qui servira à désigner une capacité C0 et une capacité C'O à l'entrée des amplificateurs opérationnels. k' possède cinq bits, mais un cas particulier peut se présenter: si B5 S 1 et B4 B3 B2 B1 BO est égal à 00000, (2k#/N- ou ou 3#/4 ou 5#/4 ou 7#/4) k' devient un nombre à six bits 100000 lors de l'inversion et l'addition d'une unité. Si on supprime le sixième bit, k' devient 00000 correspondant à un angle 2k'#/N - O qui ne satisfait pas à la formule 2k'#/N = n #/2 - 2k#/N. Ce sixième bit est donc nécessaire pour définir un angle 2k' fl/N - #/4. Mais, pour éviter d'avoir à utiliser un bit de plus dans le calcul de k', bit qui ne serait utile que dans le cas d'une adresse quadrantale impaire suivie de cinq zéros, les circuits logiques de désignation des capacités co et C'O comprendront un décodeur détectant l'égalité B5 B4 B3 B2 B1 BO = 100000 et permettront alors la désignation de capacités de valeurs sin #/4 et cos #/4. Tout ce qui vient d'être expliqué avait pour but de montrer en détail comment on peut utiliser des capacités correspondant aux sinus et cosinus d'angles compris entre O et une une logique de commande exécutant les inversions et permutations nécessaires pour faire le calcul correspondant pour les angles des autres demi-quadrants. On s'aperçoit donc qu'un maximum de N/4 capacités est nécessaire à l'entrée de chacun de deux amplificateurs opérationnels pour établir les quantités (5) et (9) pour tous les angles 2k#/N du cercle trigonométrique. Une deuxième mesure est prise pour réduire encore le nombre de capacités à matérialiser dans le circuit intégré. Cette deuxième mesure consiste a ne conserver que les capacités correspondant aux angles multiples de #/32 (k' multiple de 4) et à effectuer un calcul par interpolation pour les valeurs intermédiaires de k', en utilisant les formules d'interpolation suivantes cos (A + dA) = cos A - dA sin A (15) sin (A + dA) = sin A + dA cos A (16) valables si dA est un petit angle, ce qui est le cas par exemple si dA = #/128 ou #/64. Si on utilise ces formules dans les équations (3) et (4), on trouve que pour les angles à interpoler correspondant à k' = 4 K' + 1 ou 4 K' - 1 ou 4 K' + 2, angles qu'on écrira (8K'#/N + 2ntt/N), avec n = - 1 ou 1 ou 2, les équations (3) et (4) se ramènent aux deux équations d'interpolation suivantes x1 = X1 - dA Y1 (17) y1 = Y1 + dA X1 (18) ou X1 et Y1 sont les sorties du sommateur-pondérateur double ayant fonctionné avec, comme capacités d'entrée, des capacités de valeurs correspondant au sinus et cosinus de l'angle 8K'#/N qui est un multiple de 7r/32. La détermination de k' conduira alors à une détermination de K' (en pratique K' en binaire sera constitué par les trois premiers bits de k'), K' servant directement à la désignation de deux capacités d'entrée Co et C'O. On expliquera plus loin comment on effectue les opérations (17) et (18) pour passer des valeurs approchées X1 et Y1 aux valeurs xl et yl précisées par interpolation. En tout cas on peut d'ores et déjà voir qu'on n'a plus besoin à entrée de chaque amplificateur opérationnel que de seize à dix-huit capacités qui représentent les sinus et cosinus des angles multiples de J/32 entre O et x/4. En fait, dix-sept capacités représentent le nombre le plus réaliste si on désire avoir à la fois l'angle 0 et l'angle =/4 et si on remarque que sin O = 0 correspond à une capacité nulle donc une absence de capacité. On a supprimé les très petites capacités correspondant par exemple à sin 7C/128, sin #/64, etc. La figure 2 représente le double sommateur-pondérateur selon l'invention, programmable en angle de rotation et fonctionnant comme cela a été expliqué ci-dessus. I1 comprend un amplificateur AO1 avec une capacité de bouclage C1 supposée unitaire commutée par trois transistors T1, T2, T3, et un autre amplificateur A02 bouclé de la même manière par une capacité C2 également unitaire commutée par trois transistors T'1, T'2, T'3. Les montages de ces capacités et transistors sont ceux de la figure 1. Ces amplificateurs fournissent des valeurs correspondant aux équations matricielles (13) et (14) et reçoivent tous deux des signaux aO bo al bl à travers deux réseaux de capacités commutées RCC1 et RCC2 qui sont pratiquement identiques. Seul RCC1 a été représenté en détail avec ses dix-sept capacités ayant comme valeurs les cosinus et les sinus des angles multiples de #/32 entre 0. et #/4. Les entrées aO et a1 sont reliées par des transistors Ta et T'a, non pas directement à des capacités Co comme à la figure 1, mais à une borne d'un dispositif de permutation d'entrée Pe qui reçoit d'autre part sur une autre borne les signaux bo et bl à travers les transistors Tb et T'b. Les signaux reçus par le dispositif de permutation Pe sont transmis tels quels ou sont croisés selon l'état de ce dispositif qui est commandé par un détecteur D1 recevant le nombre k : pour certaines valeurs de k (en fait des trois bits de plus fort poids de k), il y aura permutation des entrées aO, al et bo, b1. Les sorties du dispositif de permutation Pe sont reliées l'une à une borne d'un ensemble comprenant en parallèle neuf capacités Co (et leurs interrupteurs individuels de mise en service Tc), ces capacités ayant pour valeur les cosinus d'angles multiples de 7t/32 entre O et x/4, l'autre à un ensemble comprenant en parallèle huit capacités C'O et leurs interrupteurs individuels de mise en service Ts, ces capacités ayant pour valeur les sinus des mêmes angles sauf sin 0 qui est nul. Les ensembles en parallèle sont par ailleurs reliés tous deux à l'entrée inverseuse de l'amplificateur AO1. Le décodeur D1 définit soit un état dans lequel les signaux a0 et al sont transmis aux capacités CO (cosinus) et les signaux bo et bl aux capacités C'O (sinus), soit le contraire (aO et al aux capacités C'0 et bo et bl aux capacités C'O). Les transistors Ta, T'a, Tb > T'b sont commandés par un autre décodeur D2 qu'on peut appeler décodeur de changement de signe, car, pour certaines valeurs du nombre k qu'il reçoit, il permet de passer d'une quantité (5) à (12) à son inverse. Ce décodeur agit pour établir soit une simultanéité de phase de conduction de Ta et T'b avec Tl soit au contraire une simultanéité de phase de T'a et Tb avec T1. On notera que le réseau de capacités commutées RCC2 ne diffère du réseau RCC1 que par le fait que son décodeur de changement de signe agit pour établir soit une simultanéité de phase de Ta et Tb avec T1 soit au contraire une simultanéité de phase de T'a et T'b avec T1, et par le fait que les valeurs de k définissant ce choix sont différentes des valeurs de k définissant le choix correspondant pour le réseau RCC1. On notera aussi que le décodeur D1 de permutation d'entrée est commun aux deux réseaux et commande les dispositifs de permutation d'entrée Pe des deux réseaux dans des sens complémentaires de manière que si l'un des amplificateurs réalise une quantité prise parmi (5) à (8), l'autre réalise bien complémentairement une quantité prise parmi (9) à (12). Les dispositifs de permutation d'entrée Pe peuvent etre réalisés chacun par quatre transistors MOS. A la sortie des amplificateurs opérationnels est prévu un autre dispositif de permutation Ps, commandé par un décodeur D3 recevant une information sur le nombre k (il ne reçoit en fait que le second bit B6 de k car il n'y a permutation des sorties que pour B6 = 1), pour permuter ou non les sorties des deux amplificateurs selon la valeur de k et fournir sur deux sorties du sommateur-pondérateur des quantités X1, Y1 qui sont des valeurs approchées des quantités x1 et y1 des équations (3) et (4) correspondant en fait aux valeurs de xl et y1 > pour des angles multiples de X/32. Enfin, on a représenté à la figure 2 - un circuit logique de commande de commutation CL qui a pour fonction de commander la commutation des divers transistors Tas T'as Tb, T'b > T1 > T2 > T3 selon les règles expliquées en référence à la figure 1 ; et plus généralement, le circuit CL exécute d'autres fonctions de commutation nécessaires au cours d'un cycle de calcul comme on le verra plus loin ; ; - et un décodeur D4 qui reçoit le nombre k, qui le transforme en un nombre k' selon les règles expliquées (k' = (B4B3B2BlBO) B5 + (B4B3B2B1BO + 00001) B5), qui en prend les trois premiers bits (K') et qui commande la fermeture d'un interrupteur Tc et un interrupteur Ts de chaque réseau pour mettre en service dans chaque réseau une seule capacité Co et une seule capacité C' o, correspondant au cosinus et au sinus de l'angle multiple de X/32 le plus proche de 2k'#/N. En revenant au calcul de l'interpolation, les équations (17) et (18) qui en donnent les règles sont calculées de manière optimale en utilisant justement les amplificateurs opérationnels A01 et A02 de la figure 2 avec les réseaux de capacités qui leur sont associés. La figure 3 représente la constitution du circuit qui permet de faire cette interpolation après que le calcul de X1 et Y1 ait été effectué pour des angles multiples de 7t/32. Pour simplifier l'explication, on a représenté à nouveau, sur la figure 3, les amplificateurs A01 et A02, mais sans les réseaux de capacités RCC1 et RCC2. Toutefois la capacité d'entrée C'O de valeur sin 7C/32 (la plus petite) a été représentée car elle sera utilisée pour faire l'interpolation. En effet, l'interpolation par angles de #/128 consiste à réaliser les équations X1 = X1 - Y1 #/128 yl = Yl + Xl #/128 que l'on peut approximer par xl = Xl - Yl sin #/128 Y1 3 Y1 + X1 sin #/128 que l'on peut approximer aussi par : X1 = X1 - (Y1 sin #/32)/4 (19) y1 = Y1 + (X1 sin #/32)/4 (20) Ayant calculé X1 et Y1 à partir de aO, bo, al, bl, on stocke ces valeurs de tension dans deux capacités C3 et C4 qui constituent des mémoires des valeurs de X1 et Y1. Ces capacités sont les capacités de bouclage de deux amplificateurs opérationnels A03 et A04 qui d'ailleurs peuvent servir initialement à transmettre les valeurs al et bl aux entrées du circuit de la figure 2. Des commutateurs (transistors NOS) sont prévus pour aiguiller soit les signaux a1 et bl, soit les signaux X1 et Y1 à l'entrée des amplificateurs A03 et A04. Les valeurs X1 et Y1 sont pour cela appliquées aux entrées des amplificateurs A03 et A04 par l'intermédiaire de capacités C'3 et C'4 > dont le rapport aux capacités C3 et C4 est 1 et dont le rapport aux capacités C1 et C2 des amplificateurs A01 et A02 est aussi de préférence 1. Par une commutation des capacités d'entrée C'3 et C'4 similaire à celle décrite en référence à la figure 1, on transfère la valeur des tensions d'entrée X1 et Y1 vers la sortie des amplificateurs opérationnels A03 et A04 qui les gardent en mémoire grâce aux capacités de bouclage C3 et C4. Ces tensions mémorisées sont alors appliquées aux capacités de valeur sin #/32 à l'entrée des amplificateurs AOl et A02, par l'intermédiaire des transistors T'a ou T'b, des transistors Ta et T"b étant prévus en plus pour pouvoir mettre à la masse l'armature côté amont de ces capacités. Dans cette phase de calcul d'interpolation, les transistors T1, T2, T3 fonctionnent comme décrit en référence à la figure 1. Les transistors T'a et Ta ou T'b et T"b sont commutés avec des phases de conduction disjointes correspondant respectivement à celles de T'1 et T'2 pour l'amplificateur A02 mais correspondant respectivement à celles de T2 et T1 pour l'amplificateur A01 (afin de réaliser une inversion de signe). A la fin d'un cycle de commutation de ces transistors, on obtient une tension - Y1 sin #/32 sur la sortie qui initialement était à la tension X1 et une tension + X1 sin #/32 sur la sortie qui initialement était à Y1. X1 et Y1 sont toujours mémorisés sur les capacités C3 et C4. Les tensions de sortie des amplificateurs AO1 et A02 sont à nouveau ramenées sur les entrées des amplificateurs A03 et A04 respectivement, mais cette fois à travers des capacités commutées C3 et C'4 de valeur sensiblement égale à 0,25 (par rapport à C3 et C4). Comme les capacités C3 et C4 n'ont pas été déchargées, la commutation des capacités C3" et C4" aux entrées des amplificateurs A03 et A04 a pour effet d'augmenter les tensions aux bornes de C3 et C4 d'une valeur correspondant aux tensions appliquées à l'entrée multipliées par le rapport des capacités C3"/C3 ou C 4/C4 soit 0,25. Cette commutation se fait par charge de C3 reliée à l'entrée de l'amplificateur A03 pendant que ce dernier est bouclé en gain unitaire et que C3 est isolée à la fois de la masse et de la sortie de l'amplificateur, puis par connection de la capacité C3", isolée de la source qui l'a chargée, entre l'entrée de A03 et la masse, en même temps que C3 est rebouclée sur la sortie de AO3. On obtient donc bien, en sortie des amplificateurs A03 et AO4, des tensions finales : x1 - X1 - (Y1 sin :C/32)/4 et Y1 = Y1 + (X1 sin #/32)/4 qui correspondent aux valeurs cherchées (19) et (20). Les commutations des différents transistors ont encore lieu sous la commande du circuit CL de la figure 2 qui établit les signaux d'aiguillage nécessaires pendant cette phase d'interpolation (par exemple aiguillage du signal X1 vers l'entrée de A03 à travers l'une ou l'autre des capacités d'entrée C'3 ou C3 > ou au contraire aiguillage du signal d'entrée a1 vers la capacité C'3 pour mettre en mémoire sur C3 le signal a1), et qui établit aussi les phases de conduction adéquates, tenant compte des signes arithmétiques des multiplications ou additions à effectuer, pour tous les transistors qui travaillent en commutation en série ou en parallèle avec des capacités. La remise à zéro de la charge des capacités C3 et C4 est nécessaire au début d'un cycle de calcul pour que ce soient bien les signaux a1 et b1 qui se présentent ensuite aux bornes de sortie des amplificateurs A03 et A04. Cette remise a zéro peut se faire par un agencement de commutateurs tels que T1, T2 et T3 à la figure 1, qui a l'avantage d'emmagasiner, en vue de la compenser, la tension d'offset de l'amplificateur opérationnel. De même, après que X1 et Y1 aient été calculés et avant de les stocker dans C3 et C4 > il faut décharger C3 et C4 jusqu'à zéro ou jusqu'à la tension d'offset des amplificateurs. Au contraire, cette remise à zéro n'a pas lieu quand on ramène les tensions - Y1 sin #/32 et X1 sin #/32 à l'entrée des amplificateurs A03 et A04. Si l'interpolation doit consister à ajouter un angle #/64 et non #/128 on peut choisir soit de faire en sorte que les capacités C3" et C4 aient des valeurs 0,5 au lieu de 0,25 (par exemple avec deux capacités C 3 en parallèle), soit de faire deux fois de suite l'interpolation à C/128, c'est-à-dire de ramener encore une fois a l'entrée des capacités C3" et C"4 les signaux déjà interpolés une première fois en sortie des amplificateurs AO1 et A02. Une interpolation plus précise qu'a #/128 (si N est supérieur à 256) peut se faire simplement en prévoyant par exemple des capacités C"3 et C"4 deux fois plus petites. Une interpolation à - #/128 se fera en inversant les phases des transistors T'a et T"a ou T'b, T"b de commutation des deux capacités sin #/32. Un décodeur D5 recevant le nombre k, ou plus simplement ses deux derniers bits, commande le choix de la mise en service d'une capacité C"3 ou C"4 lorsqu'il y a lieu de faire une interpolation. I1 permet aussi l'inversion de phase des transistors T'a et Ta" ou T'b > Tb" s'il y a lieu. On remarquera que ce système d'interpolation ne nécessite pas de capacités dans un trop petit rapport vis-à-vis de la capacité C1 de valeur unité puisque la plus petite capacité utilisée est la capacité de valeur sin #/32 - 0,0980. Finalement, alors que dans la phase initiale de calcul de X1 et Y1, les sorties des amplificateurs A03 et A04 fournissent les signaux al et b1 (qu'ils ont reçu sur leurs entrées et pris en mémoire) pour appliquer ces deux signaux aux deux amplificateurs AO1 et A02, dans la phase d'interpolation, les sorties des amplificateurs A03 et A04 fournissent d'abord respectivement X1 et Y1 puis, s'il y a effectivement un calcul d'interpolation à faire, elles fournissent xl et y1. C'est donc sur les sorties des amplificateurs A03 et A04 que l'on retrouve finalement les signaux cherchés x1 et y1 des équations (3) et (4). I1 reste donc à produire les signaux xO et yo qui sont respectivement les sommes a0 + a1 et bo + b1. On va pour cela utiliser deux amplificateurs supplémentaires A05 et A06 qui de toute façon serviront, comme les amplificateurs A03 et A04, dans une phase initiale, à mémoriser et fournir sur leur sortie, pour les appliquer aux amplificateurs AO1 et A02, les signaux d'entrée a0 et bo. En effet, cette disposition avec amplificateur formant mémoire d'entrée est particulièrement utile dans le cas ou le module opérateur complexe établissant les quantités xO, yO, x1, y1 à partir de signaux ao, bo, al, bl, est bouclé sur lui-même il faut bien une mémoire pour conserver les échantillons de signaux d'entrée pendant tout le temps de la génération des signaux de sortie avant que les signaux de sortie soient à nouveau appliqués aux entrées et traités pour subir eux-mêmes les additions et pondérations. Par conséquent, le module opérateur complexe selon l'invention comprend encore deux autres amplificateurs A05 et AO6 qui sont couplés au reste du circuit de la figure 3 de la manière représentée à la figure 4. Pour la simplification, on n'a pas représenté à la figure 4 tous les éléments couplés aux amplificateurs AO1 et A02, dont le détail a déjà été expliqué. I1 faut d'abord préciser que le calcul de ao + al et bo + bl est effectué après le calcul de X1 et Y1, mais avant que X1 et Y1 ne soient transférés sur les amplificateurs A03 et A04. Les amplificateurs AO5 et A06 sont montés selon un schéma qui se rapproche de celui de la figure 1, c'est-à-dire que l'amplificateur AO5 possède une entrée non-inverseuse à la masse et une entrée inverseuse reliée à une capacité de bouclage C5 (C6 pour AO6) et à deux capacités d'entrée C'5 et C5" (C'6 et C6") ; les capacités C'5 et C5" sont par ailleurs chacune en série avec deux transistors (analogues à Ta, T'a, Tb, T'b) ; pour la capacité C'5 l'un de ces transistors est relié à une entrée de signal ao et l'autre à la masse ; pour la capacité C5", l'un des transis tors est relié à la sortie de l'amplificateur A03 et l'autre à la masse ; l'autre borne de la capacité de bouclage peut être mise à la masse par un transistor analogue à T1, ou reliée à la sortie de AO5 par un transistor analogue à T2 ; un transistor analogue à T3 permet de boucler la sortie de l'amplificateur AO5 directement sur son entrée inverseuse. Les capacités C'5 et C'5 ont la même valeur que C5 et de préférence la même valeur que C1 et C2. Le montage de l'amplificateur A06 est exactement le même avec une capacité C'6 qui reçoit bo et une capacité C 6 reliées la sortie de AO4. Ainsi, en choisissant de manière convenable les phases de commutation des divers transistors, en s'inspirant de ce qui a été décrit en référence aux figures précédentes, on peut, dans une première phase, appliquer tous les signaux d'entrée ao, bo, al, b1, sur les capacités respectives C'5, C'6, C'3, C'4 en même temps que les capacités C5, C6, C3, C4 sont déchargées ou plus exactement prennent en mémoire la tension de décalage (offset) des amplificateurs respectifs. Puis, dans une deuxième phase, ayant déconnecté les entrées ao, bo, al, bl, mis à la masse les capacités C5', C6', C'3, C'4, et bouclé les amplificateurs par les capacités C5, C6, C3 > C4 comme expliqué en référence à la figure 1, ces dernières capacités récupèrent la charge des premières de sorte qu'il apparat en sortie des amplificateurs les tensions ao, bo, al, b1 compte tenu du rapport unité qui existe entre les différentes capacités. Ces tensions servent ensuite au calcul de X1 et Y1, les amplificateurs A05, A06, A03, A04 servant de source de signaux aO, bo, al, bl pour le schéma de la figure 2. Pour cela deux phases de fonctionnement (troisième phase et quatrième phase) sont nécessaires ; on se réfèrera à la description des figures 1 et 2 pour le détail, mais, en gros, la troisième phase consiste à appliquer aux amplificateurs AO1 et A02 une paire de signaux, par exemple a0 et bo, mais ce peut être a0 et bl ou al et bo ou al et bl selon l'amplificateur et selon la valeur de k reçue et décodée par le dispositif ; en même temps les capacités C1 et C2 sont déchargées ; la quatrième phase consiste à appliquer l'autre paire de signaux aux amplificateurs, à travers les mêmes capacités désignées par le décodage de k > pendant que les capacités C1, C2 sont bouclées entre la sortie et l'entrée de chaque amplificateur A01 et A02. Ceci termine le calcul de X1 et Y1, étant entendu que pendant ces troisième et quatrième phases, les circuits logiques ayant reçu le nombre k ont procédé au choix d'un signe (décodeur D2 sur la figure 2), au choix d'une permutation d'entrées (décodeur D1), au choix d'une permutation de sorties (décodeur D3), et a la mise en service de capacités CO, C'O représentant un cosinus et un sinus du même angle à l'entrée des amplificateurs AO1 et A02. X1 et Y1 restent en mémoire en sortie de ces amplificateurs. La cinquième phase consiste à rendre conducteurs les transistors reliant les sorties des amplificateurs A03 et A04 (portant al et bl) respectivement aux capacités C5" et C6 en bouclant A05 et A06 en gain unitaire, et en isolant C5 et C6 à la fois de la sortie de ces amplificateurs et de la masse pour qu'elles conservent leurs charges. La sixième phase exécute l'addition de a0 + al et bo + bl : C5 et C6 sont reconnectées entre sortie et entrée des amplificateurs A05 et A06 dont le bouclage en gain unitaire est supprimé, et les bornes amont des capacités C5" et C6 sont mises à la masse et déconnectées des sorties des amplificateurs A03 et AO4. Les charges stockées à la cinquième phase sur C5" et C6" sont ainsi transférées sur C5 et C6 et s'ajoutent à la charge déjà présente sur C5 et C6 ; les sorties des amplificateurs A05 et A06 passent à des potentiels xO = aO + al et Po = b0 + bl respectivement pour assurer l'équilibre des charges sur les armatures de C5 et C6. Toujours pendant la sixième phase, avant de stocker sur C3 et C4 les tensions X1 et Y1 présentes en sorties de A01 et A02 (après le dispositif de permutation Ps) on décharge les capacités C3 et C4. Pour cela, les sorties du dispositif de permutation Ps sont connectées aux capacités C'3 et C'4 respectivement en même temps que les capacités C3 et C4 sont mises à la masse et que les amplificateurs A03 et A04 sont bouclés en gain unitaire. La septième phase isole C'3 et C'4 des sorties de AO1 et A02 tout en les reliant à la masse et en reconnectant les capacités C3 et C4 en bouclage entre l'entrée et la sortie des amplificateurs A03 et A04. Les charges stockées sur C'3 et C'4 pendant la sixième phase sont transférées sur C3 et C4 de sorte qu'il apparait en sortie de A03 et A04 les tensions X1 et Y1. Toujours pendant la septième phase se prépare, s'il y a lieu, le calcul de l'interpolation : mise en service des capacités sin #/32 sur les amplificateurs opérationnels, sélection d'une capacité C3" et C4 de valeur 0,25 ou 0,50, inversion ou non des phases des transistors T'as T"as T'b > Tb", etc. Les capacités C1, C2 des amplificateurs AO1 et A02 sont déchargées, T'b et Ta" (ou le contraire) sont rendus conducteurs conformément au schéma de la figure 3 et les amplificateurs AO1 et A02 sont bouclés en gain unitaire. Pendant la huitième phase, les deux autres transistors T"b et T'a (ou le contraire) sont rendus conducteurs en même temps que les capacités C1, C2 sont isolées de la masse et rebouclées sur les amplificateurs A01 et A02 ; les quantités -Y1 sin #/32 et X1 sin #/32 sont ainsi stockées en sorties de AO1 et A02. Simultanément, ces tensions de sortie sont appliquées aux capacités C3" et C4" pendant que les amplificateurs A03 et A04 sont bouclés en gain unitaire et que les capacités C3 et C4 (chargées par X1 et Y1) sont isolées à la fois de la masse et des sorties des amplificateurs A03 et A04. La neuvième phase consiste à relier les bornes amont des capacités C'3 et C4" sélectionnées à la masse en supprimant le gain unitaire des amplificateurs A03 et A04 et en rebouclant les capacités C3 et C4 entre l'entrée et la sortie de ces amplificateurs. Cette commutation assure le transfert d'une charge -(C"3/C3) Y1 sin 7t/32 sur la capacité C3 > sans faire disparattre la charge C3X1 qui y était déjà. Cette neuvième phase termine donc le calcul de l'interpolation et les tensions présentes en sortie des amplificateurs A05, A06, A03, A04 sont respectivement les tensions cherchées xO, yO, xl, y1 définies par les équations (1) à (4). Ces tensions peuvent alors autre lues à travers des transistors d'isolation en sortie de chacun de ces amplificateurs. Dans le cas où le module opérateur complexe ainsi décrit est utilisé avec d'autres en parallèle selon un mode de recirculation comme cela a été expliqué au début de la description, ces sorties sont transmises aux entrées d'autres modulateurs (avec un certain brassage d'interconnexions) : la première phase du cycle suivant consiste dans le prélèvement sur les capacités C5', C'6, C'3 > C'4 d'échantillons des nouveaux signaux d'entrée et de mise en mémoire de ces signaux sur Cs, C6, C3, C4, après quoi ces signaux peuvent disparattre ou être modifiés sans influer sur le déroulement du nouveau cycle de calcul. Il n'y a donc pas besoin, pour un fonctionnement avec recirculation, de mémoires tampons entre les modules puisque les amplificateurs A05, A06, A03, A04 jouent ce rôle. On a donc ainsi décrit un module opérateur complexe particulièrement performant et comportant un nombre extrêmement réduit d'amplificateurs opérationnels et un nombre limité de capacités représentant les cosinus et sinus des angles de rotation appliqués par le module opérateur, module spécialement adapté au calcul analogique de transformées de Fourier discrètes.

Claims: REVENDICATIONS. 1. Module opérateur analogique capable de recevoir quatre tensions ao, bo, al, bl et de produire des tensions : xl = (ao - al) cos 2k#/N - (bo - bl) sin 2k#/N yl = (ao - al) sin 2k#/N + (bo - bl) cos 2k#/N où N est un nombre entier et k un entier compris entre O et N-l, caractérisé par le fait qu'il comprend deux amplificateurs opérationnels (AO1 et AO2) à capacités commutées montés identiquement de la manière suivante : une capacité de bouclage (C1) est reliée d'une part à l'entrée inverseuse de l'amplificateur et autre part soit à la masse par un premier transistor (T1) soit à la sortie de l'amplificateur par un second transistor (T2), un troisième transitor (T3) permettant de court-circuiter sortie et entrée de l'amplificateur, avec une pluralité de capacités d'entrée en parallèle, chacune pouvant être mise en service ou isolée par un transistor respectif, ces capacités ayant pour valeur, rapportée à la valeur de -la capacité de bouclage, des cosinus d'angles 2k#/N compris entre O et #/4, et une autre pluralité de capacités d'entrée agencée de la même manière, mais ayant pour valeurs les sinus des mêmes angles, l'une des pluralités de capacités recevant d'un côté le signal ao à travers un transistor (Ta) et le signal al à travers un autre transistor (T'a) et étant reliée de l'autre côté à l'entrée de l'amplificateur, l'autre pluralité de capacités recevant d'un côté le signal bo a travers un transistor (Tb) et le signal bl à travers un autre transistor (T' b), et étant également reliée de l'autre côté à l'entrée de l'amplificateur, avec une symétrie entre les montages des deux amplificateurs, à savoir le fait que si ce sont les capacités ayant pour valeur des cosinus qui reçoivent ao et al pour l'un des amplificateurs, alors, les capacités correspondantes de l'autre amplificateur, ayant aussi pour valeur des cosinus, recevront réciproquement bo et bl ; le module opérateur comportant encore un moyen de commande de com mutation des différents transistors, apte à établir des phases de conduction synchronisées entre les différents transistors, de manière à produire sur les sorties des deux amplificateurs des valeurs approchées des quantités xl et yl. 2. Module opérateur selon la revendication 1, caractérisé par le fait qu'il comporte des circuits logiques aptes à recevoir un nombre k, à modifier les phases de conduction imposées par le moyen de commande de commutation des différents transistors, et à mettre en service à l'entrée de chaque amplificateur une seule capacité ayant pour valeur le cosinus d'un angle et une seule capacité ayant pour valeur le sinus du même angle. 3. Module opérateur selon la revendication 2, caractérisé par le fait que les circuits logiques comprennent un circuit de conversion apte à transformer le nombre k en un nombre k' tel que 2k'7r/N soit compris entre O et 7r/4 et que les angles 2k7r/N et 2k'Tr/N soient liés par des relations trigonométriques simples comprenant des changements de signe ou des permutations de sinus et cosinus. 4. Module opérateur selon la revendication 3, caractérisé par le fait que le circuit de conversion de k en k' est apte à commander la mise en service d'un couple de capacités ayant pour valeur le cosinus et le sinus d'un angle multiple de #/32 compris entre 0 et #/4 et lié par des relations trigonométriques simples à l'un des angles multiples de #/32 encadrant l'angle 2k7x/N. 5. Module opérateur selon la revendication 1, caractérisé par le fait qu'il comporte un dispositif de permutation commandé à quatre bornes en amont des pluralités de capacités de chaque amplificateur, pour appliquer soit les signaux aO et a1, soit les signaux bo et bl à une pluralité de capacités donnée, avec un dispositif de commande de ce dispositif de permutation, apte à conserver la symétrie de la transmission des signaux entre les deux amplificateurs. 6. Module opérateur selon l'une des revendications 1 à 5, caractérisé par le fait qu'il comporte en sortie des deux amplificateurs opérationnels (AO1 et AO2) un dispositif de permutation de ces sorties, et un moyen de commande de ce dispositif. 7. Module opérateur selon l'une des revendications 5 et 6, caractérisé par le fait qu'il est prévu un ou plusieurs décodeurs recevant le nombre k pour commander en fonction de k le ou les dispositifs de permutation. 8. Module opérateur selon l'une des revendications 1 à 7, caractérisé par le fait qu'il comporte quatre amplificateurs supplémentaires (A03, A04, A05, A06) ayant des capacités de bouclage (C3, C4, C5, C6) commutées, aptes à retenir en mémoire des échantillons de tension appliqués aux entrées de ces capacités, ces amplificateurs supplémentaires (A03, A04, A05, A06) pouvant recevoir sur des capacités d'entrées commutées respectivement des échantillons des tensions al, bl, aO, bo, les sorties de ces amplificateurs supplémentaires servant de sources de tensions ao, bo, al, bl pour les deux premiers amplificateurs (AOl, A02). 9. Module opérateur selon la revendication 8, caractérisé par le fait que l'amplificateur supplémentaire (AO5) pouvant recevoir aO peut également recevoir un échantillon de la tension de sortie de l'amplificateur supplémentaire (A03) pouvant recevoir a1 de manière à stocker sur sa capacité de bouclage (C5) d'abord la tension aO, puis une tension aO + al, et par le fait que l'amplificateur supplémentaire (A06) pouvant recevoir bo peut également recevoir un échantillon de la tension de sortie de l'amplificateur supplémentaire (A04) pouvant recevoir bl, de manière à stocker sur sa capacité de bouclage (C6) d'abord la tension bos puis une tension bo + bl. 10. Module opérateur selon l'une des revendications 8 et 9, caractérisé par le fait que les amplificateurs supplémentaires (AO3 et AO4) pouvant recevoir al et bl peuvent également recevoir les sorties éventuellement permutées du premier et du second amplificateurs (AOl et A02), à travers des transistors de commutation. 11. Module opérateur selon la revendication 10, caractérisé par le fait que les amplificateurs supplémentaires (A03 et A04) pouvant recevoir al et b1 peuvent recevoir les sorties du premier et du second amplificateurs à travers différentes capacités d'entrée. 12. Module opérateur selon l'une des revendications 8 à 11, caractérisé par le fait que le module opérateur comprend quatre sorties principales qui sont les sorties des quatre amplificateurs supplémentaires, ces sorties étant destinées à fournir respectivement les signaux de valeur xl, yl, ao + al, bo + bl.

Inventors: CAILLON, CHRISTIAN, SOKOLOFF, BORIS
Applicants: SOCIETE POUR L'ETUDE ET LA FABRICATION DE CIRCUITS INTEGRES SPECIAUX - E.F.C.I.S.
Application year: 1982
Main classification: G06G7
IPC codes: G06G7