(19)
(11) EP 0 076 738 A1

(12) DEMANDE DE BREVET EUROPEEN

(43) Date de publication:
13.04.1983  Bulletin  1983/15

(21) Numéro de dépôt: 82401756.0

(22) Date de dépôt:  28.09.1982
(51) Int. Cl.3G06G 7/19
(84) Etats contractants désignés:
DE FR GB IT NL

(30) Priorité: 02.10.1981 FR 8118639

(71) Demandeur: SOCIETE POUR L'ETUDE ET LA FABRICATION DE CIRCUITS INTEGRES SPECIAUX - E.F.C.I.S.
F-38100 Grenoble (FR)

(72) Inventeurs:
  • Sokoloff, Boris
    F-75379 Paris Cedex 08 (FR)
  • Caillon, Christian
    F-75379 Paris Cedex 08 (FR)

(74) Mandataire: Guérin, Michel et al
THOMSON-CSF SCPI B.P. 329 50, rue Jean-Pierre Timbaud
92402 Courbevoie Cédex
92402 Courbevoie Cédex (FR)


(56) Documents cités: : 
   
       


    (54) Module opérateur complexe destiné notamment à la détermination analogique de transformées rapides de Fourier


    (57) L'invention concerne un module opérateur analogique capable de recevoir quatre tensions a0, b0, a1, b1, et de produire des tensions:

    sin 2kπ/N

    cos 2kπ/N où N est un nombre entier et k un entier compris entre 0 et N-1.
    Il comprend deux amplificateurs opérationnels (A01 et A02) à capacités commutées montés identiquement de la manière suivante : une capacité de bouclage (C1 C2) peut être commutée par trois transistors (T1, T2, T3); des capacités d'entrée ont pour valeur les cosinus d'angles 2kπ/N compris entre 0 et π/4 ainsi que les sinus des mêmes angles; des transistors (Ta T'a Tb, T'b) permettent de commuter les tensions d'entrée a0, a,, bo, b,. Il apparaît en sortie des amplificateurs des valeurs approchées des quantités x1, et y1, 1 pour les valeurs choisies de k. Une interpolation à l'aide de deux autres amplificateurs opérationnels permet de préciser ces valeurs.
    Application à l'analyse de fréquences.




    Description


    [0001] 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 à 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.

    [0002] 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 2π/N si N est le nombre d'échantillons de signaux servant au calcul de la transformée.

    [0003] 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π/N + j sin 2kπ/N où k est un entier compris entre 0 et N - 1, N est le nombre d'échantillons traités, j est le nombre imaginaire pur dont le carré est -1.

    [0004] 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 2k7t/N + j sin 2kTt/N et N2 additions des produits obtenus.

    [0005] 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 entrées et d'autre part la différence multipliée par un vecteur unitaire d'angle 2Jtk/N, k pouvant varier de 0 à N - 1.

    [0006] Les sorties des opérateurs sont envoyées vers un autre réseau de N/2 opérateurs 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 réseau, et ainsi de suite : si N = 2P, p réseaux sont nécessaires pour qu'à 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é à l'entrée.

    [0007] 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 27tk/N 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 27tk/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.

    [0008] 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.

    [0009] 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 c0 = a0 + jb0 et c1 = a1 + jbl introduites en fait sous forme de quatre grandeurs électriques (tensions) ao, bo, a1, b1' fournit deux grandeurs complexes de sortie :

    obtenues en fait sous forme de quatre grandeurs électriques (tensions) xo, y0, x1, Y1, avec :









    [0010] 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 :
    z0 = c0 + c1, 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 :
    z1 = (co - cl) ej2k7t/N.



    [0011] Le but de la présente invention est de réaliser un tel opérateur complexe utilisant un minimum de composants, modifiable à volonté en ce qui concerne la valeur de l'angle de rotation 2kπ/N, afin qu'il soit particulièrement adapté au calcul analogique de transformées rapides de Fourier selon l'algorithme de Pease.

    [0012] Ce module est essentiellement constitué de la manière suivante, pour réaliser d'abord les quantités x1 et y1 à 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 2k7t/N répartis entre 0 et π/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 côté le signal a0 à travers un transistor de commutation et le signal a1 à travers un autre, tandis qu'elle est reliée de l'autre côté à l'entrée de l'amplificateur ; l'autre pluralité de capacités reçoit complémentairement d'un côté le signal bo à travers un transistor de commutation et le signal b1 à 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 a0 et al, alors, pour l'autre amplificateur, les capacités correspondantes, ayant aussi pour valeur des cosinus, recevront non pas a0 et al, mais bo et b1. 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.

    [0013] Les tensions de sortie des deux amplificateurs dans ce montage représentent des valeurs approchées des quantités cherchées x1 et y1.

    [0014] 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 a0, bo, al, b1 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 a0 + a1 et b0 + b1 de manière à faire apparaître sur les sorties des quatre amplificateurs supplémentaires respectivement les quantités xl, y1, a0 + a1 et bo + b1.

    [0015] D'autres caractéristiques et avantages de l'invention apparaîtront à 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 sommateur-pondé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 x1 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 x1 et y1,

    - la figure 4 montre schématiquement l'ensemble de la structure du module opérateur complexe avec six amplificateurs opérationnels.



    [0016] 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 = 0 à N-1. Cette somme et cette différence correspondent aux équations (1) à (4) écrites plus haut.

    [0017] 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).

    [0018] 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.

    [0019] 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, bo, b1, des différences ao - al et bo - b1, 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.

    [0020] 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.

    [0021] On va décrire d'abord une structure de sommateur-pondé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).

    [0022] Cette structure, visible à la figure 1, comprend un amplificateur opérationnel A0, une capacité de bouclage C1, deux capacités d'entrée Co et C'0, et des commutateurs qui sont de préférence des transistors à grille isolée de type MOS (métal- oxyde-semiconducteur) si le module opérateur est fabriqué sous forme de circuit intégré en technologie MOS.

    [0023] 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 C0, C'o, C1.

    [0024] L'autre borne de C0 est reliée, par l'intermédiaire d'un transistor MOS Ta a une entrée de signal a0 dont elle peut être isolée lorsque le transistor Ta est bloqué. Elle est aussi reliée à une autre entrée pour le signal a1 par un transistor T'a qui peut également l'en isoler. Les phases de conduction de Ta et T'a sont disjointes, c'est-à-dire qu'ils ne sont pas conducteurs en même temps.

    [0025] De la même manière, l'autre borne de la capacité C'o est reliée à une entrée de signal b0 et une entrée de signal b1 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 Ta et T'a, 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 b1 aux capacités C0 et C'0, après quoi, dans une phase disjointe de la précédente, T'a et Tb conduisent simultanément les signaux a1 et b0 aux capacités C0 et C'0.

    [0026] 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 A0. Les phases de conduction de Tl et T2 sont les mêmes que celles de Ta 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 même que celle de Tl.

    [0027] 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 même temps, C0 et C'o se chargent respectivement aux tensions a0 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'0 et C1 sont ainsi respectivement C0a0, C'0b1 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.

    [0028] Les transistors Tl, T3, Ta, T'b sont alors bloqués et une charge globale - (Coao + C'0b1) est emprisonnée sur les bornes des capacités reliées à l'entrée inverseuse (d'où elles ne peuvent s'échapper).

    [0029] A la phase suivante, les transistors T'a, Tb et T2 sont rendus conducteurs. Les capacités C0 et C'0 prennent respectivement des charges qui sont -a1C0 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'où 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 G0 et C'0 soit égale à la charge globale - (a0C0 + b1G'0), emprisonnée à la phase précédente.

    [0030] Autrement dit, l'armature de la capacité C1 reliée à l'entrée de l'amplificateur doit prendre une charge égale à (alCo + boC'o) - (a0c0 + b1C'0).

    [0031] Pour cela le potentiel de sortie de l'amplificateur opérationnel prend une valeur :



    [0032] Si on donne au rapport C0/C1 une valeur égale au cosinus d'un angle et à C'0/C1 une valeur égale au sinus du même angle, et en l'occurence d'un angle de 2k7r/N, on obtient en sortie du sommateur pondérateur un niveau de tension :



    [0033] Ceci correspond à la valeur x1 de l'équation (3).

    [0034] 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 :



    [0035] Si on revient à la figure 1 et qu'on modifie les phases de manière à faire conduire T'a et T'b en même temps que Tl et Ta et Tb en même temps que T2, on obtient un signal de sortie :



    [0036] Enfin, si on fait conduire T'a et Tb en même temps que Tl et Ta et T'b en même temps que T2, on aura la valeur :



    [0037] Un deuxième amplificateur monté de manière identique mais dans lequel ce seraient les signaux a0 et a1 qui seraient reliés par des transistors à une capacité C'0 = C1 sin 2kπ/N et inversement les signaux bo et bl à une capacité C0 = Ci cos 2kπ/N, permet de réaliser de la même manière les sommes pondérées suivantes :









    [0038] 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 :

    où X1 et Y1 sont les tensions en sortie des deux amplificateurs opérationnels.

    [0039] Enfin, si on croise les connexions d'entrée ou de sortie on peut obtenir aussi un produit matriciel du type :



    [0040] 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.

    [0041] 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 XI, 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 l'encombrement du module opérateur complexe que l'on cherche à réaliser.

    [0042] 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 à é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 b1 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 Ta, T'a, Tb, T'b.

    [0043] 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.

    [0044] 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é C0 et une capacité C'0, mais une pluralité de capacités C0 et de capacités C'0, ayant pour valeurs les cosinus et sinus d'angles 2kπ/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 C0, C'o et la capacité C1).

    [0045] 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é C0 et d'une seule capacité C'0 parmi la pluralité de capacités prévues. Les autres capacités restent horse service.

    [0046] A cet effet, chaque capacité est en série avec un interrupteur de mise en service (transistors Tc pour les capacités C0 représentant des cosinus d'angles 2kπ/N, et transistors Ts pour les capacités représentant des sinus des mêmes angles). Tous les ensembles Tc, C0 sont en parallèle et remplacent la capacité C0 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 C0, 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, Ts correspondant à ce couple, les autres transistors Tc, Ts 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.

    [0047] Toutefois, pour obtenir une possibilité de programmation complète de k entre 0 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.

    [0048] 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 2π/256 = 0,0245) est nettement trop élevé pour qu'on ait, en technologie MOS, une précision suffisante sur ce rapport.

    [0049] 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.

    [0050] La première mesure consiste à remarquer que si on dispose de capacités représentant les sinus et cosinus des angles entre 0 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 0 et 7C/4 par complémentation à π 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 0 et 7C/4 par complémentation à 7C/2 ou 3π/2 ou par soustraction de 7T/2 ou 3π/2.

    [0051] 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.

    [0052] Si donc le sommateur-pondérateur reçoit un nombre k correspondant à un angle quelconque 2kπ/N, on pourra transformer cet angle en un angle 2k'7t/N compris entre 0 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.

    [0053] 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 (0,π/4).

    [0054] A titre d'exemple, supposons que k est tel que 2kπ/N est compris entre 37C/4 et π (quatrième demi-quadrant) ; on détermine un angle 2k'π/N = π - 2k7T/N compris entre 0 et π/4. Les relations trigonométriques simples qui en découlent sont :

    et



    [0055] Il y a donc lieu de produire les quantités (7) et (10) exprimées en fonction de k' :



    pour que l'on obtienne bien les quantités (3) et (4) en remplaçant 2k'π/N par π-2kπ/N.

    [0056] 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 plutôt que des permutations complètes entre Ta, 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, Tl au lieu de Ta, Tb, Tl), qui revient à inverser les signes des quantités (5) à (9),

    - une permutation des entrées a0 et bo d'une part et une permutation des entrée a1 et b1 d'autre part, qui revient à permuter ao - a1 et bo - b1 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.



    [0057] 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 :

    équation à réaliser

    si 2k'π/N= π-2kπ/N







    [0058] Cette dernière équation montre bien qu'à 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.

    [0059] On peut ainsi établir, pour tous les demi-quadrants des formules de transformation analogues qui montrent clairement la transformation à effectuer. On aboutit aux transformations suivantes :

    demi-quadrant 0 (0, 7T/4) - pas de transformation

    demi-quadrant 1 (π/4, π/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, π) - changement de signe sur les deux amplificateurs - permutation des entrées et des sorties

    demi-quadrant 4 (π, 5π/4) - changement de signe sur les deux amplificateurs

    demi-quadrant 5 (5π/4,3π/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



    [0060] Pour ces divers demi-quadrants, il y aura lieu de définir exactement la valeur de k' :



    [0061] k sera exprimé sous forme d'un nombre binaire (reçu du séquenceur). Pour N = 256, k possède huit bits B7, B6, BS, B4, B3, B2, B1, BO dans l'ordre des poids décroissants.

    [0062] 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 demi-quadrants numérotés 0 à 7 dans le sens trigonométrique ont pour adresses successives B7, B6, B5 : 000, 001, ..., 111.

    [0063] Ces trois premiers bits définissent quels sont les changements de signe et permutations à effectuer selon le tableau donné ci-dessus.

    [0064] Ils définissent aussi de quelle manière on passe de k à k'.

    [0065] Ce passage est en fait extrêmement simple : si l'angle 2k7C/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, Bl, BO définissent exactement le nombre k' ; ceci correspond au passage de 2kπ/N à 2k'π/N par soustraction de 7C/2 ou π ou 3π/2.

    [0066] Si, au contraire, l'angle 2k7C/N est dans l'un des demi-quadrants 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 à π/Z, π, 3π/2, ou 2π.

    [0067] 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 = 0 B5 = 1

    k' = B4 B3 B2 B1 BO k' = B4 B3 B2 B1 B0 + 00001 C'est le nombre k' qui servira à désigner une capacité C0 et une capacité C'0 à l'entrée des amplificateurs opérationnels.

    k' possède cinq bits, mais un cas particulier peut se présenter: si B5 = 1 et B4 B3 B2 Bl BO est égal à 00000, (2kπ/N= π/4 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 = 0 qui ne satisfait pas à la formule :
    2k'π/N = n π/2 - 2kπ/N.



    [0068] Ce sixième bit est donc nécessaire pour définir un angle :
    2k'7t/N = π/4 .

    [0069] 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 C0 et C'0 comprendront un décodeur détectant l'égalité B5 B4 B3 B2 Bl BO = 100000 et permettront alors la désignation de capacités de valeurs sin π/4 et cos π/4.

    [0070] 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 0 et π/4, 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.

    [0071] 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 à 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 :



    valables si dA est un petit angle, ce qui est le cas par exemple si dA = π/128 ou π/64.

    [0072] Si on utilise ces formules dans les équations (3) et (4), on trouve que pour les angles à interpoler correspondant à :
    k' = 4 K' + 1 ou 4K' -1 ou 4 K' + 2,
    angles qu'on écrira (8K'π/N + 2nπ/N), avec n = - 1 ou 1 ou 2, les équations (3) et (4) se ramènent aux deux équations d'interpolation suivantes :



    où 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'7C/N qui est un multiple de π/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 C0 et C'o.

    [0073] On expliquera plus loin comment on effectue les opérations (17) et (18) pour passer des valeurs approchées Xl et Y1 aux valeurs xl et y1 précisées par interpolation.

    [0074] En tout cas on peut d'ores et déjà voir qu'on n'a plus besoin à l'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 π/32 entre 0 et π/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 0 = 0 correspond à une capacité nulle donc une absence de capacité. On a supprimé les très petites capacités correspondant par exemple à sin π/128, sin π/64, etc.

    [0075] 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.

    [0076] Il comprend un amplificateur A01 avec une capacité de bouclage C1 supposée unitaire commutée par trois transistors Tl, 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 a0 b0 a1 b1 à travers deux réseaux de capacités commutées RCC1 et RCC2 qui sont pratiquement identiques.

    [0077] 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.

    [0078] Les entrées a0 et al sont reliées par des transistors Ta et T'a, non pas directement à des capacités C0 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 b0 et b1 à travers les transistors Tb et T'b.

    [0079] 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, a1 et bo, b1.

    [0080] 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 π/32 entre 0 et 7C/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.

    [0081] Les ensembles en parallèle sont par ailleurs reliés tous deux à l'entrée inverseuse de l'amplificateur A01.

    [0082] Le décodeur Dl définit soit un état dans lequel les signaux ao et a1 sont transmis aux capacités Co (cosinus) et les signaux bo et b1 aux capacités C'o (sinus), soit le contraire (ao et a1 aux capacités C'o et bo et b1 aux capacités C'o).

    [0083] 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 Tl.

    [0084] 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 Tl soit au contraire une simultanéité de phase de T'a et T'b avec Tl, 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.

    [0085] On notera aussi que le décodeur Dl 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).

    [0086] Les dispositifs de permutation d'entrée Pe peuvent être réalisés chacun par quatre transistors MOS.

    [0087] 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 x1 et yl, pour des angles multiples de π/32.

    [0088] 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 Ta, T'a, 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' - (B4B3B2B1BO) B5 + (B4 B3 B2 B1 B0 + 00001) B5), qui en prend les trois premiers bits (K') et qui commande la fermeture d'un interrupteur Tc et un interrupteur T8 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 π/32 le plus proche de 2k'π/N.



    [0089] 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.

    [0090] La figure 3 représente la constitution du circuit qui permet de faire cette interpolation après que le calcul de Xl et Y1 ait été effectué pour des angles multiples de 7C/32.

    [0091] 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 π/32 (la plus petite) a été représentée car elle sera utilisée pour faire l'interpolation.

    [0092] En effet, l'interpolation par angles de 7C/128 consiste à réaliser les équations :



    que l'on peut approximer par :



    que l'on peut approximer aussi par :





    [0093] Ayant calculé X1 et Y1 à partir de ao, bo, a1, b1, 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 a1 et b1 aux entrées du circuit de la figure 2. Des commutateurs (transistors MOS) sont prévus pour aiguiller soit les signaux al et bl, soit les signaux X1 et Y1 à l'entrée des amplificateurs A03 et A04.

    [0094] 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.

    [0095] 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.

    [0096] Ces tensions mémorisées sont alors appliquées aux capacités de valeur sin 7C/32 à l'entrée des amplificateurs A01 et A02, par l'intermédiaire des transistors T'a ou T'b, des transistors T"a et T"b étant prévus en plus pour pouvoir mettre à la masse l'armature côté amont de ces capacités.

    [0097] Dans cette phase de calcul d'interpolation, les transistors Tl, T2, T3 fonctionnent comme décrit en référence à la figure 1. Les transistors T'a et T"a 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 Tl pour l'amplificateur A01 (afin de réaliser une inversion de signe).

    [0098] 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 Xl et une tension + Xl sin π/32 sur la sortie qui initialement était à Y1. X1 et Y1 sont toujours mémorisés sur les capacités C3 et C4.

    [0099] Les tensions de sortie des amplificateurs A01 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 C"3 et C"4 de valeur sensiblement égale à 0,25 (par rapport à C3 et C4).

    [0100] Comme les capacités C3 et C4 n'ont pas été déchargées, la commutation des capacités C"3 et C"4 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 C"3/C3 ou C"4/C4 soit 0,25. Cette commutation se fait par charge de C"3 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 connec- tion de la capacité C"3, 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 A03.

    [0101] On obtient donc bien, en sortie des amplificateurs A03 et A04, des tensions finales :

    et

    qui correspondent aux valeurs cherchées (19) et (20).

    [0102] 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 C"3, ou au contraire aiguillage du signal d'entrée a1 vers la capacité C'3 pour mettre en mémoire sur C3 le signal al), 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.

    [0103] 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 al et b1 qui se présentent ensuite aux bornes de sortie des amplificateurs A03 et A04. Cette remise à zéro peut se faire par un agencement de commutateurs tels que Tl, 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.

    [0104] Si l'interpolation doit consister à ajouter un angle π/64 et non π/128 on peut choisir soit de faire en sorte que les capacités C"3 et C"4 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 à 7C/128, c'est-à-dire de ramener encore une fois à l'entrée des capacités C"3 et C"4 les signaux déjà interpolés une première fois en sortie des amplificateurs A01 et A02.

    [0105] Une interpolation plus précise qu'à π/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.

    [0106] 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.

    [0107] 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. Il permet aussi l'inversion de phase des transistors T'a et T"a ou T'b, T"b s'il y a lieu.

    [0108] 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.

    [0109] Finalement, alors que dans la phase initiale de calcul de X1 et Y1, les sorties des amplificateurs A03 et A04 fournissent les signaux a1 et b1 (qu'ils ont reçu sur leurs entrées et pris en mémoire), pour appliquer ces deux signaux aux deux amplificateurs A01 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 x1 et y1.

    [0110] 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).

    [0111] Il reste donc à produire les signaux xo et yo qui sont respectivement les sommes ao + a1 et bo + b1.

    [0112] 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 A01 et A02, les signaux d'entrée ao et bo.

    [0113] En effet, cette disposition avec amplificateur formant mémoire d'entrée est particulièrement utile dans le cas où le module opérateur complexe établissant les quantités xo, yo, x1, à 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.

    [0114] Par conséquent, le module opérateur complexe selon l'invention comprend encore deux autres amplificateurs A05 et A06 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 A01 et A02, dont le détail a déjà été expliqué.

    [0115] Il faut d'abord préciser que le calcul de ao + a1 et bo + b1 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.

    [0116] Les amplificateurs A05 et A06 sont montés selon un schéma qui se rapproche de celui de la figure 1, c'est-à-dire que l'amplificateur A05 possède une entrée non-inverseuse à la masse et une entrée inverseuse reliée à une capacité de bouclage C5 (C6 pour A06) et à deux capacités d'entrée C'S et C"5 (C'6 et C"6) ; les capacités C'S et C"5 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é C"5, l'un des transistors 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 à Tl, ou reliée à la sortie de A05 par un transistor analogue à T2 ; un transistor analogue à T3 permet de boucler la sortie de l'amplificateur A05 directement sur son entrée inverseuse. Les capacités C'S et C"5 ont la même valeur que C5 et de préférence la même valeur que C1 et C2.

    [0117] 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ée à la sortie de A04.

    [0118] 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, bo3 a1, bl, 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.

    [0119] Puis, dans une deuxième phase, ayant déconnecté les entrées ao, bo, al, b1, mis à la masse les capacités C'5, C'6, 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 apparaît en sortie des amplificateurs les tensions ao, bo, al, b1 compte tenu du rapport unité qui existe entre les différentes capacités.

    [0120] Ces tensions servent ensuite au calcul de X1 et Y1, les amplificateurs A05, A06, A03, A04 servant de source de signaux so, bo, al, b1 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 A01 et A02 une paire de signaux, par exemple ao et bo, mais ce peut être ao et b1 ou a1 et bo ou a1 et b1 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 Dl), au choix d'une permutation de sorties (décodeur D3), et à 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 A01 et A02. X1 et Y1 restent en mémoire en sortie de ces amplificateurs.

    [0121] La cinquième phase consiste à rendre conducteurs les transistors reliant les sorties des amplificateurs A03 et A04 (portant a1 et bl) respectivement aux capacités C"5 et C"6 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.

    [0122] La sixième phase exécute l'addition de ao + a1 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 C"5 et C"6 sont mises à la masse et déconnectées des sorties des amplificateurs A03 et A04. Les charges stockées à la cinquième phase sur C"5 et C"6 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 :

    respectivement pour assurer l'équilibre des charges sur les armatures de C5 et C6.

    [0123] 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.

    [0124] 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.

    [0125] La septième phase isole C'3 et C'4 des sorties de A01 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 apparaît en sortie de A03 et A04 les tensions X1 et Y1.

    [0126] 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é C"3 et C"4 de valeur 0,25 ou 0,50, inversion ou non des phases des transistors T'a, T"a, T'b, T"b, etc. Les capacités C1, C2 des amplificateurs A01 et A02 sont déchargées, T'b et T"a (ou le contraire) sont rendus conducteurs conformément au schéma de la figure 3 et les amplificateurs A01 et A02 sont bouclés en gain unitaire.

    [0127] 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 rebouelées sur les amplificateurs A01 et A02 ; les quantités -Yl sin π/32 et X1 sin π/32 sont ainsi stockées en sorties de A01 et A02.

    [0128] Simultanément, ces tensions de sortie sont appliquées aux capacités C"3 et C"6 nedant 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.

    [0129] La neuvième phase consiste à relier les bornes amont des capacités C"3 et C"4 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 disparaître la charge C3Xl 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).

    [0130] Ces tensions peuvent alors être lues à travers des transistors d'isolation en sortie de chacun de ces amplificateurs.

    [0131] 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 C'5, C'6, C'3, C'4 d'échantillons des nouveaux signaux d'entrée et de mise en mémoire de ces signaux sur C5, C6, C3, C4, après quoi ces signaux peuvent disparaître 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.

    [0132] 0n 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.


    Revendications

    1. Module opérateur analogique capable de recevoir quatre tensions ao, bo3 al, b1 et de produire des tensions :

    x1l = (ao - al) cos 2kπ/N - (bo - bl) sin 2kπ/N

    y1 = (ao - al) sin 2kπ/N + (bo - bl) cos 2k7C/N


    où N est un nombre entier et k un entier compris entre 0 et N-1, caractérisé par le fait qu'il comprend deux amplificateurs opérationnels (A01 et A02) à 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 d'autre part soit à la masse par un premier transistor (Tl) 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 Zk π/N compris entre 0 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 a1 à 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 à travers un transistor (Tb) et le signal b1 à 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 b1; le module opérateur comportant encore un moyen de commande de commutation 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 x1 et y1.
     
    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 Zk'π/N soit compris entre 0 et π/4 et que les angles 2k7T/N et 2k'π/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 7C/32 encadrant l'angle 2k π/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 al, 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 (A01 et A02) 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, b1, ao, bo, les sorties de ces amplificateurs supplémentaires servant de sources de tensions ao, bo, al, b1 pour les deux premiers amplificateurs (A01, A02).
     
    9. Module opérateur selon la revendication 8, caractérisé par le fait que l'amplificateur supplémentaire (A05) 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 bo, puis une tension bo + b1.
     
    10. Module opérateur selon l'une des revendications 8 et 9, caractérisé par le fait que les amplificateurs supplémentaires (A03 et A04) pouvant recevoir a1 et b1 peuvent également recevoir les sorties éventuellement permutées du premier et du second amplificateurs (A01 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 a1 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, y1, ao + a1, bo + b1.
     




    Dessins
















    Rapport de recherche