Brevet FR2632088A1 — publié le 19891201

MULTIPLIEUR COMPLEXE La présente invention concerne un moyen de traitement arithmétique et plus particulièrement un nouveau moyen utilisant au moins un calculateur numérique de rotation de coordonnées (souvent désigné par le sigle CORDIC d'après l'expression anglo-saxonne COordinate Rotation Digital Computer) pour multiplier une paire de nombres complexes. Dans de nombreux types d'équipements électroniques modernes, des fonctions de traitement de signal de grande complexité relative telle qu'une détection par corrélation, une transformation de Fourier discrète et analogue, sont utilisées. L'élément fondamental de traitement de signal est une cellule à multiplication-accumulation; pour certains systèmes tels qu'une formation d'image par ultrasons utilisant un traitement de signal en bande de base et analogue, des signaux complètement complexes doivent être multipliés. Une multiplication complexe similaire de signaux électroniques peut se trouver dans de nombreuses autres disciplines de traitement de signal, tel que le radar, le sonar et analogue, et en particulier pour traiter des signaux numériques, notamment de type binaire. I1 est en conséquence très souhaitable de prévoir des moyens de signaux numériques pour effectuer une multiplication complexe d'une paire de signaux numériques, chacun représentant un nombre complexe de la forme x+jy ou R, 8. L'art antérieur enseigne l'utilisation d'un appareil et d'une technique dits CORDIC (COordinate Rotation Digital Computer) comme cela a été initialement décrit par J.E. Volder "The CORDIC Trigonometric Computing Technique", IRE Transactions on Electronic Computers EC-8 Pp 330-334, 1959. Il s'agit d'un système de calcul dans lequel une rotation d'un angle Opeut être représentée comme la somme de plusieurs rotations, chaque rotation se faisant selon l'un d'un ensemble particulier d'angles a de sorte que: n 6= l: La cî(1 i=l o i = +1 ou -1. En définissant al= 90 , alors an+2 = tan-l(2-n), n = 0, 1, 2,... (2) Ainsi, on réalise une approximation successive de l'angle total en utilisant toute une pluralité de n angles ai de sorte que chaque approximation plus fine de l'angle fournit des résultats en coordonnées rectangulaires xn+1 et Yn+l qui sont liés aux valeurs de coordonnées angulaires xn et Yn (pour l'approximation suivante plus grossière) par la paire d'équations: xn+i = K(O) (xn+iYn/2n) (3a) Yn+l = K(O) (yn-4ixn/2n) (3b) o K(e) est un facteur d'échelle égal à cos(0). Puisque chacun des facteurs 2-nr est effectivement une division par deux effectuée n fois, qui est assurée pour des nombres binaires par un décalage d'un bit pour chacun des n cas, la multiplication complexe peut, sauf pour la multiplication par le facteur de pondération K( effectuée par un ensemble de registres à décalage et d'additionneurs. Il est très souhaitable de prévoir un nouvel appareil, utilisant cette technique de base CORDIC pour multiplier une paire de nombres complexes. Selon l'invention, un sous-système CORDIC actuellement préféré pour la multiplication de deux nombres complexe numérique B et C utilise: un moyen de rotateur CORDIC à N étages de type séquentiel, récursif ou pipeline, mais exempt de multiplieurs pour faire tourner chacune des parties de données réelle et imaginaire d'un premier nombre, exprimées sous forme rectangulaire (par exemple CR et CI) d'un angle de phase 0 de l'autre nombre exprimé sous forme polaire (par exemple IBI, 0). Après rotation, des moyens sont prévus pour effectuer une multiplication scalaire de chacune des parties de données de sortie réelles ou imaginaires du rotateur CORDIC par les données d'amplitude IBI de l'autre nombre. Les données finales calculées sont les parties réelle et imaginaire du produit. Dans un autre sous-système CORDIC actuellement préféré de multiplication de nombres complexes, chacun d'une paire de moyens rotateurs de phase récursifs ou séquentiels en pipeline agit sur les composantes réelles et imaginaires de premier et second nombres complexes de forme rectangulaire; la phase de chacun de ces nombres complexes est également amenée à tourner jusqu'à ce que le premier nombre ait un angle de phase égal à 0 comme cela est déterminer par un détecteur de signe, de sorte que la phase des données de sortie est égale à la somme des premier et second angles de phase des nombres complexes. Une multiplication scalaire des données de produit peut être utilisée, si nécessaire, pour déterminer le produit complexe total; dans de nombreux cas, tels que des calculs de corrélations statistiques et analogues, une accumulation des seules informations de phase précises est nécessaire et relativement peu de précision est utile pour les termes d'amplitude du produit pour autant que la précision de l'information de phase est maintenue. Chacun des multiplieurs scalaires, si on en utilise, peut être une section à décalage et accumulation. Ainsi, un objet de la présente invention est de prévoir de nouveaux circuits de type CORDIC pour multiplier une paire de valeurs numériques complexes. Ces objets et d'autres de la présente invention apparaitront à la lecture de la description détaillée ci-après faite en relation avec les figures jointes, parmi lesquelles: la figure 1 représente un schéma sous forme de blocs d'un premier type de multiplieur numérique complexe selon la présente invention,; la figure 2 est un schéma sous forme de blocs d'une variante de réalisation, actuellement préférée, d'un moyen CORDIC séquentiel ou pipeline destiné à être utilisé au lieu des moyens CORDIC récursifs représentés dans le multiplieur complexe de la figure 1; la figure 3 est un schéma sous forme de blocs d'un autre type de multiplieur numérique complexe selon la présente invention; les figures 3a et 3b sont des schémas vectoriels illustrant des concepts utiles à la compréhension du fonctionnement du multiplieur numérique complexe de la figure 3; et la figure 4 est un schéma sous forme de blocs du mode de réalisation actuellement préféré d'un moyen séquentiel ou pipeline pour réaliser la multiplication complexe dans l'appareil de la figure 3. Comme le représente la figure 1, un mode de réalisation particulier d'un multiplieur CORDIC numérique complexe 10 utilise un moyen multiplieur numérique CORDIC 11 et une paire de moyens de multiplication numérique scalaire 12. Un premier nombre complexe C est introduit sous sa forme à coordonnées rectangulaires avec un mot de données à composante CR d'axe réel à P bits, à l'entrée 10a connectée à une première entrée I lla du multiplieur CORDIC et un mot de données CI de composante selon l'axe imaginaire à P bits à une seconde entrée 0lb connectée à une seconde entrée Q llb du multiplieur. Chacun d'une paire de moyens de multiplication scalaire 12, si on en utilise, aura une première entrée de données 12-la ou 12-2a recevant des données respectivement à partir de la sortie 11f de données Q' d'axe imaginaire du moyen CORDIC ou de la sortie llg de donnée I' d'axe réel. Chacun des moyens 12 peut être un registre à décalage et un ensemble accumulateur, d'une façon bien connue dans le domaine du calcul des données numériques; comme une précision d'amplitude réduite peut être acceptable pour certaines tâches de calcul, les composants des moyens 12 peuvent être à faible précision s'il y en a. L'autre nombre complexe B est un produit sous forme de coordonnées polaires avec un mot de données à P bits pour une composante d'amplitude IBI à l'entrée 10c connectée aux secondes entrées 12-lb et 12-2b des deux moyens de multiplieurs de données scalaires et avec un mot de données de composante angulaire 0 à une entrée 10d. Un signal d'horloge périodique CLK est prévu à une autre entrée 10c. Les composantes réelle et imaginaire multipliées de façon scalaire de l'entrée vectorielle C sont ainsi fournies sous forme de données numériques à des sorties respectives 12-lc et 12-2c de premier et second moyens de multiplication scalaire. La sortie du multiplieur complexe fournit des termes séparés AR et AI sous forme rectangulaire, d'axe réel et d'axe imaginaire respectivement, du produit A à des bornes de sortie respectives 10g et 10f. Selon un autre aspect de la présente invention, le moyen multiplieur de données numériques CORDIC 11 est ou bien un multiplieur récursif, comme cela est représenté ici, en figure 1, ou bien un multiplieur pipeline (séquentiel), comme cela sera exposé en relation avec la figure 2. Chacun des mots de données I d'axe réel ou Q d'axe imaginaire respectivement introduit vers le moyen 11 apparait a l'entrée 14-la ou 14-2a, respectivement d'un premier ou d'un second moyen de sélection de signes 14-1 ou 14-2. Le signe, mais pas l'amplitude des données d'entrée est ou bien non affecté ou bien inversé (provoquant effectivement une multiplication par -1 selon l'état d'un signal de commande binaire de sélection de signes à une entrée de sélection de signe 14-lb ou 14-2b, respectivement. Les données numériques sélectionnées en signe, déterminant si une première rotation est de +90 ou de -90 , apparaissent à la sortie 14-lc ou 14- 2c respectivement des moyens de signe 14-1 ou 14-2. Les moyens de sélection de signes peuvent être mis en oeuvre, comme cela est représenté dans le moyen de sélection de signe 14-1- en connectant l'entrée 14-la par l'intermédiaire de l'inverseur de bit de signe 16 vers une première entrée 18a d'un moyen MUX 18 de multiplexeur à deux entrées. Une seconde entrée du moyen MUX 18b reçoit le mot de données numérique du signe initial à partir de l'entrée 14-la. Selon l'état du signal binaire de sélection de signe à l'entrée de sélection 18c du moyen MUX, la sortie 18d (et la sortie du moyen 14-1c) est connectée ou bien à l'entrée de polarité initiale 18b ou bien à l'entrée inversée 18a. L'état binaire du signal de sélection de signe est déterminé par un moyen de contrôle de signe 20. Si le mot de données numérique d'entrée est représenté comme un nombre à complément à deux, le moyen d'inversion de signe et de multipexage peut être remplacé par une structure plus simple dans laquelle chaque bit du nombre d'entrée est connecté à une entrée d'une porte OU Exclusif (XOR) ayant son autre entrée connectée à l'entrée de sélection du MUX; le bit de sortie de chaque porte XOR est connecté séquentiellement à une entrée séquentielle associée d'une chaine d'additionneurs, ayant un bit de retenue pour ajouter i à la sortie XOR. Ainsi, le signal d'entrée de sélection de signe du MUX sélectionne ou bien le nombre d'entrée ou bien le négatif de cette entrée. Dans ce multiplieur CORDIC 11 à fonctionnement récursif à relativement faible vitesse, une pluralité de signaux de sélection de signe (ici, six) sont requis, chaque signal différent apparaissant à l'une différente des sorties du moyen de contrôle de signe (ici les sorties 20a-20f) en réponse à un mot de données de commande de signe fourni à partir d'un noeud ilc vers l'entrée du moyen de contrôle de signe 20g. Ce mot de données A S bits est avantageusement fourni à la sortie 21a d'un moyen logique 21, tel qu'un moyen de réseau logique programmable (PLA), en réponse à l'avancement soumis à impulsions d'horloge par l'intermédiaire d'un ensemble de bits de commande de signe dans un mot de données qui a un motif binaire établi de façon spécifique par et en fonction de l'angle 0. Ainsi, une première entrée du moyen de PLA 21b peut recevoir, à partir de l'entrée lie et de l'entrée 10e de l'appareil, les impulsions d'horloge CLK, tandis que la seconde entrée 21c du PLA reçoit (par l'intermédiaire de l'entrée lld des moyens CORDIC et de l'entrée 10d de l'appareil) l'information de l'angle de phase t pour la seconde quantité complexe. Le fonctionnement du mode de réalisation récursif est tel que, par suite de la stabilisation des données, en particulier au niveau de l'entrée de phase 10d, une impulsion CLK séparée survient pour chacune des n opérations qui seront sommées pour fournir les composantes du produit désiré. Chaque impulsion d'horloge entraîne ainsi la détermination du fait que l'angle ai le plus faible suivant du CORDIC doit être une contribution positive ou négative à l'angle de rotation totale 0, et amène ainsi le mot de commande de signe, à l'entrée 20g, à établir les bits de commande de signe aux sorties 20a-20f. Les mots de données à P bits, réels et imaginaires, sélectionnés en signes, à la sortie du premier étage (l'étage de sélection +90') apparaissent aux première et seconde sorties des moyens de sélection de signe 14-lc ou 14-2c et sont fournis aux étages récursifs n-l, à une entrée 22-la d'un premier moyen accumulateur ACCUM 22-1 ou à une entrée 22-2a d'un second moyen ACCUM 22-2. Ces données d'entrée sont sommées avec un mot de données à P+2 bits au niveau d'une seconde entrée respective 22-lb ou 22-2b pour fournir un mot de données numérique à P+2 bits à une première ou seconde sortie d'accumulateurs 22-lc ou 22-2c. Ce mot de données de sortie apparait à l'un respectif des noeuds de données 111 ou 11Q. Le mot de données en provenance de 111 apparait à une première entrée 14-3a d'un troisième moyen de sélection de signe 14-3, recevant un signal de commande de signe, à une entrée 14-3b en provenance d'une troisième sortie 20c des moyens de commande de signe 20. Le mot de données au noeud llQ apparait à une première entrée 14-4a d'un quatrième moyen de sélection de signe 14-4 ayant une entrée de sélection de signe 14-4b recevant un signal de commande de signe en provenance d'une quatrième sortie 20d du moyen de commande de signe 20. Le mot de données accumulé et sélectionné en signe en provenance du canal "réel" apparait à une sortie 14-3c pour couplage à une entrée 24-la d'un premier moyen de décalage 24-1, tandis que le mot de données accumulé et sélectionné en signe en provenance du canal "imaginaire" apparait à une sortie 14-4c et est couplé à une entrée 24-2a d'un second moyen de décalage 24-2. Chaque moyen de décalage 24 a une entrée de commande de décalage, par exemple une entrée 24-lb ou 24-2b, respectivement, qui reçoit une impulsion de commande de décalage en provenance d'une cinquième ou sixième sortie respective 20e ou 20f du moyen de commande de signe 20. En réponse à chaque impulsion au niveau de l'une des entrées de commande de décalage 24-lb ou 24-2b, le mot de données dans le moyen de décalage 24-1 ou 24-2 est amené à tourner, ou est décalé d'une position binaire vers la droite et les données décalées d'un bit apparaissent à une première sortie 24-lc du moyen de décalage ou à une seconde sortie 24-2c du moyen de décalage en anneau pour couplage croisé avec une première entrée 26-2a ou 26-la, respectivement, d'un second moyen d'additionneur numérique 26-2 ou d'un premier moyen d'additionneur numérique 26-1, respectivement. Une entrée restante 26- 2b ou 26-lb, respectivement, de ces moyens d'additionneurs reçoit le mot de données numérique en provenance d'un noeud 11Q ou 11I, respectivement. Le mot de données sommé au niveau d'une première sortie 26-1c d'un moyen sommateur est un mot de données Q' à P+2 bits fourni à une première sortie 11-f du moyen multiplieur CORDIC, et ensuite à la sortie 10f du multiplieur, tandis que le mot de données numérique à une seconde sortie du moyen sommateur 26-2c est un autre signal I' à P+2 bits fourni à la sortie 11g du moyen CORDIC et à la sortie lOg du moyen multiplieur. Le signal de données Q' est renvoyé à l'entrée d'accumulateur 22-lb tandis que les données I' sont renvoyées à l'entrée d'accumulateur 22-2b. En fonctionnement, les équations (3a) et (3b) peuvent être réécrites de la façon suivante: I' = K(e) (I+iQ/2n) (4a) Q' = K(O) (Q-iI/2n) (4b) Le facteur de pondération commun, K(8)=cos(8), peut être ignoré, comme on l'a noté précédemment, car il aura une valeur fixe qui dépend du nombre n d'itérations choisi pour une précision de calcul désirée. L'angle de rotation d'entrée t qui est un angle arbitraire quelconque, est initialement décomposé en un ensemble de rotations par rapport à des angles ai qui satisfont aux équations 3a et 3b. Même si le facteur d'échelle est différent pour chaque rotation, l'amplitude du facteur d'échelle est indépendante du signe de rotation, de sorte que, pour un nombre fixe de rotations utilisant la même amplitude de rotation mais des signes différents à chaque étage, le facteur de pondération total est indépendant de l'angle de rotation total et le facteur de pondération peut ou bien être ignoré ou bien être ajouté à la fin de la séquence de rotations multiples. Ceci est important pour des applications o la phase du produit complexe est la donnée importante (et particulièrement importante quand la seconde quantité d'amplitude B est égale à 1 autorisant l'enlèvement des multiplieurs scalaires 12r de sorte qu'aucun multiplieur n'est nécessaire). A titre d'exemple, une rotation à n - 8 étages peut être mis en oeuvre avec une précision de ú0,6 en utilisant les informations de sélection de signe du tableau 1 TABLEAU 1 Signes à sélectionner pour n - 8 étages de rotation Angle Angle n=l n=2 n=3 n=4 n=5 n=6 n=7 n=8 désiré réel 90 45 26,56 14,04 7,13 3,58 4, 79 0,900 0 0 + - - - + - + 11,25 10,65 + - - - + - + + 22,50 22,65 + - - + - - + - 33,75 33,30 + - - + + - - - ,00 44,10 + - + - - - - - 56,25 56,65 + - + - - + 4 67,00 67,30 + - + + - + 78,75 79,35 + - + + - + - - ,00 90,00 + - + + + - + - 101,25 100,65 + + - - + - + 112,50 112,65 + + - + - - + - 123,75 123,35 + + - + + - - - ,00 134,10 + + + - - - - - 146,25 146,65 + + + - + + + 157,50 157,35 + + + - + + - + 168,75 169,35 + + + + - - - ,00 180,00 + + + + + - Des angles négatifs (de 0 à -180 nécessitent une inversion de tous les bits du mot de données). Les mots de données d'entrée CR et Ci sont modifiés en signe pour réaliser une rotation de 90 , et les données modifiées en signe I ou Q sont chacune chargées individuellement dans un moyen accumulateur associé 22 initialement mis à zéro, en réponse à une première impulsion d'horloge, (c'est-à-dire par une impulsion d'horloge de numéro C=1) d'un cycle de n=8 impulsions d'horloge. Ces données accumulées de premier passage apparaissent aux noeuds 111 et 11Q, respectivement, et à l'entrée d'un moyen sornmateur associé 26-lb et 26-2b, respectivement. Le premier étage, représenté par les moyens de sélection de signes 14-1 ou 14-2, représente la rotation de +90 du terme a1. Le second étage, commençant par les accumulateurs 22 dans les canaux d'axes réel et imaginaire est utilisé de façon récursive pour N-1 opérations et en conséquence nécessite seulement N-1 impulsions d'horloge CLK. Lors de cycles d'horloge successifs, pour C=2, 3,...8, le contenu de chaque accumulateur est sommé avec le contenu de l'autre accumulateur, après modification de signe et troncage dans les moyens de sélection de signe 14-3 et 14-4 et le moyen de décalage 24-1 ou 24- 2 du canal opposé. Ainsi, une rotation de N étages nécessite une première impulsion (90 ) en provenance d'un premier cycle d'horloge, et ensuite N1 cycles d'horloge supplémentaires pour réaliser une rotation précise à 0, 9 . De façon similaire, une rotation de N=7 étages nécessite une première impulsion et six cycles d'horloge supplémentaires pour réaliser une rotation précise à 1,8 , tandis qu'une rotation à N=6 étages nécessite une impulsion initiale et cinq cycles d'horloge pour tourner avec une précision de 3,6 et une procédure à cinq étages nécessite l'impulsion initiale plus quatre cycles d'horloge pour tourner à une précision de 7, 1 . En utilisant une cadence de données d'entrée de 5 MHz, la fréquence d'horloge minimale associée F est donnée par la formule: F=(N-1),D, o D est la cadence des données d'entrée. On peut voir que ces fréquences des cadences de données sont compatibles avec la plupart des types de réalisation de circuits intégrés semiconducteurs actuellement utilisés. Les additionneurs et accumulateurs doivent avoir une profondeur de densité de bits propre à traiter une rotation de 45 à 0 et doivent également tenir compte du facteur de pondération pour chaque rotation d'étage, ce facteur de pondération tendant asymptotiquement vers une valeur de 1,65. On a trouvé que, si les additionneurs et accumulateurs sont conçus pour être plus profonds de deux bits que la densité de bits des données d'entrée, il y aura suffisemment de place pour traiter les deux facteurs. Ainsi, si les signaux d'entrée sont des mots de données à 7 bits ipar exemple P=7), alors des additionneurs accumulateurs et moyens de décalage à P+2=9 bits d'étendue sont utilisés. Ce multiplieur complexe 10 qui a été intégré sous forme d'un circuit intégré au silicium de type CMOS ayant une surface de 0,9 mm par 1,2 mm peut être utilisé à titre d'exemple d'un détecteur de corrélation à bande de base à M prises ayant une équation déterminante: (M/2)-1 Ai = Z C.i=j, (5) j=M2 o & est la donnée de sortie complexe des deux vecteurs, L est l'entrée de données de référence complexe et Q est l'entrée de données du détecteur complexe. De façon similaire, l'équation déterminante d'une transformation de Fourier discrète à M points est: M-1 A = Ski (6) j=O o A est la transformée de Fourier discrète de la séquence complexe à et EM est la M-ième racine complexe de l'unité. Ainsi, on verra que l'étape de traitement de base pour une corrélation et pour une transformée de Fourier discrète est une multiplication-accumulation complexe. Dans l'exemple de la corrélation, les sorties multipliées de façon complexe sont de la forme AR = BRCR + BICI (7) o l'indice R désigne la composante réelle et l'indice I désigne la composant imaginaire, et AI = BRCI - BICR (8) Cette multiplication complexe peut se réécrire de la façon suivante: AR = IBI(CR cos - CI sin) (9) et AI = IBI(CR sin + CI cos) (10) Si les coefficients de la quantité de référence B sont chargés en tant que données d'amplitude IBI et de phase t plutôt qu'en tant que données de parties réelle et imaginaire, on verra que le circuit de la figure 1 peut être utilisé en tant que multiplieur complexe pour la cellule de multiplication-accumulation. Ainsi, étant donné que le CORDIC pour chaque cellule de multiplication-accrmnulation contient le même nombre d'étages, le facteur de pondération K(O) est le même pour toutes les cellules et le facteur de pondération peut être pris en compte de façon explicite ou bien en modifiant les coefficients d'amplitude individuels ou bien en pondérant la sortie finale du corrélateur. On verra que la structure de la figure 1 est beaucoup plus efficace qu'une cellule de multiplication complexe classique, étant donné que deux multiplieurs et deux additionneurs peuvent être éliminés en utilisant le processeur CORDIC 10. Dans l'exemple de corrélation complexe, le circuit de la figure 1 peut encore être simplifié pour un calcul efficace de la transformée de Fourier discrète (DFT) en ce que la multiplication complexe dans un algorithme DFT a une amplitude unité, c'est-à-dire IWMI=1. En conséquence, les deux multiplieurs 12 peuvent être supprimés et un circuit considérablement simplifié en résulte. Pour des calculs encore plus rapides, la seconde partie récursive du moyen multiplieur CORDIC ou rotateur de phase 11 peut être remplacée par une architecture séquentielle ou pipeline. Un multiplieur CORDIC de type pipeline actuellement préféré, 11', est représenté en figure 2. Le mot de données I d'axe réel à P bits est présenté à l'entrée 11'a, et le mot de données Q d'axe imaginaire à P bits est présenté à l'entrée 11'b. Les deux mots de données I et Q sont actionnés séparément par l'un associé des moyens de sélection de signe 14-1 ou 14-2 dans une première section qui réalise une rotation de 90'. Dans une seconde section, une pluralité (N-1) d'étages identiques 30 est utilisée. Dans le mode de réalisation représenté o N=5, quatre étages 30a-30d sont utilisés. Chaque étage 30 comprend des parties identiques d'axe réel et d'axe imaginaire, 30-1 et 30-2, respectivement. Dans chaque partie, le mot de données à une entrée 31a ou 31b est couplé à une entrée d'un moyen de décalage 32a ou 32b et à une entrée d'un moyen additionneur 34a ou 34b. La sortie du moyen de décalage à P bits 32 est couplée à l'entrée d'un moyen sélecteur de signe 36a ou 36b dont chacun est constitué d'un moyen inverseur (-1) 37 et d'un moyen multiplexeur MUX 38. le signal de commande de sélection de signe à l'une associée des entrées 40a, 40b,..., 40a"', b"', est fourni à une entrée associée 41b-41i d'un moyen de contrôle de signe 41. Le moyen de contrôle de signe reçoit un mot de données de commande de signe d'une étendue de S bits à une entrée de commande de signe 11'c. Ce mot de données détermine l'état binaire de chaque signal à une sortie du moyen MUX 42a, 42b,...,42a" ou 42b"'. La sortie 42a ou 42b est connectée de façon croisée à la seconde entrée associée 44b ou 44a du moyen sommateur 34 pour la partie de canal opposée du même étage, par exemple la seconde entrée 44a pour le moyen additionneur de la partie d'axe réel du premier étage 30a est connectée de façon croisée à la sortie de canal d'axe imaginaire 42b, tandis que la seconde entrée 44b du moyen additionneur de canal imaginaire est connectée à la sortie de canal d'axe réel 42a et ainsi de suite. Le moyen de décalage 32k dans chaque k-ième étage 30k, o i kS(N-1), contient un bit de décalage supplémentaire puis le moyen de décalage dans le (k-l)ième étage précédent 30 (k-l). Le k-ième étage k utilise un moyen de décalage à (k-1) bits 32k. Ainsi, les moyens de décalage 32a et 32b dans le premier étage effectuent un décalage de 0 bit pour une fonction de division par 1 et peuvent effectivement être remplacés par une connexion directe, c'est-à-dire qu'ils ne sont pas utilisés. Les moyens de décalage de bits 32a' et 32b' dans le second étage 30b divisent par un bit supplémentaire, de sorte que a=l et qu'une fonction de division par deux prend place. De façon similaire, dans le troisième étage 30c, le décalage est de b=2 bits, pour une fonction de division par quatre et le moyen de décalage 32a"' du quatrième étage 30d décale de c=3 bits, pour une fonction de division par huit. On verra que cette architecture CORDIC en pipeline nécessite seulement l'impulsion du premier étage et est d'une vitesse essentiellement établie par les retards logiques dans les N étages totaux; ceci est presque toujours un calcul beaucoup plus rapide que les résultats d'un mode de réalisation CORDIC récursif. Comme le montre la figure 3, l'un des rotateurs CORDIC récursif ou pipeline 11 ou 11', ou les deux, peut être utilisé dans un autre mode de réalisation d'un sous-système multiplieur 10' pour produire le produit de deux nombres complexes. Si le premier nombre complexe Ni est représenté par IVi1, el=JAl1ei'l, (figure 3a) et que le second nombre complexe N2Z est représenté par IV21, e2=lA21eie2 (figure 3b), alors le produit P de (I1+iQ1) (I2+iQ2) est P=AI1 A2lei'1+*2)' On peut voir que le premier nombre complexe, en tant que vecteur Ml, peut être tourné de son angle de phase 01 pour supprimer sa partie imaginaire et se terminer avec seulement un reste réel, c'est-à-dire avec I'lIVlîtIAllI et Q'1-0. De ce fait, l'angle de phase *1 est analysé pour déterminer le signe de rotation à impartir au second vecteur de nombre complexe M2 de sorte que le secondvecteur résultant tourné M'2 est égal à IA21ei(l+02), et doit seulement être multiplié scalairement par IAll, maintenant disponible en tant que quantité Il' pour fournir le produit complexe final L. Ce multiplieur complexe complet 10' reçoit à la fois le premier nombre complexe E1 et le second nombre complexe NZ en tant que données d'entrée représentant les parties respectives réelles ou en phase Il ou 12 et les parties respectives imaginaires ou en quadrature QI ou Q2. Ainsi, le premier nombre complexe NI en tant que mot de données de partie en phase il apparait à une première entrée 10' et un mot de données de partie en quadrature Q1 apparait à une autre entrée 10'b. Le second nombre complexe N2 comprend un mot de données de partie réelle 12 apparaissant à une entrée 10'c et un mot de données de partie imaginaire Q2 apparaissant à une entrée 10'd. Les mots de données de parties réelle Il et imaginaire Qi du premier nombre complexe sont envoyés à un premier moyen de rotateur CORDIC 11-1 tandis que les mots de données de parties réelle 12 et imaginaire Q2 du second nombre complexe sont envoyés à un second moyen rotateur CORDIC 11-2. L'angle de rotation des deux rotateurs est au moins partiellement commandé par un signal à une entrée de commande de rotation 11-lc ou 11-2c (cette entrée correspondant à l'entrée de commande de signe lic dans les rotateurs des figures 1 et 2. Le signal au noeud 11-lQ (lequel noeud correspond au noeud 11Q de la figure 1 ou au noeud llQ-1 de la figure 2) est appliqué à une entrée 50a d'un moyen de commande de signe 50 et détermine l'état d'un signal binaire à chacune des sorties 50b et 50c (et en conséquence aux entrées de commande de rotation connectées 11- lc et 11-2c) par comparaison des données du noeud 11-lQ à un motif de données fixes représentant un angle de phase résiduel nul dans le premier moyen rotateur 11-1. Ainsi, l'angle de phase e1 dans le permier moyen rotateur est successivement incrémenté jusqu'à un angle de phase résiduel approximativement nul tandis que l'angle de phase total XT est incrémenté des mêmes rotations angulaires de sorte que, quand 1 --O , T = 1+42 et est l'angle de phase du produit désiré L. La rotation commence quand les données au noeud 1-lQ indiquent que le nombre mi présente une composante en quadrature de phase, c'est-à-dire que l'angle 1 est non nul. En réponse aux données à l'entrée 50a, les états logiques des signaux aux entrées ll-lc et 11-2c sont déterminés pour amener les deux rotateurs à ajouter ou à soustraire l'angle incrémentiel suivant 0'=tan-l(1/2n), pour le suivant n, à partir de la phase de l'entrée du mot de données. Ainsi, le signe des rotations dans les deux rotateurs est déterminé par le signe du reste "Q1" dans le premier moyen rotateur 11-1 forçant une approximation successive vers 0 . Effectivement, le premier rotateur 11-1, par une succession de rotations CORDIC, transforme le premier mot de données complexes M1 en un nombre réel A1, représentant l'amplitude de ce premier nombre complexe. Quand la rotation CORDIC achève le nombre prescrit d'étages, les changements des sorties 50b et 50c cessent et un signal PRET (READY) d'achèvement de rotation de phase est fourni à une sortie 50d et de là à une sortie 10'r du multiplieur. Le mot de données en phase au niveau de la sortie I'2 du second moyen rotateur 11-2d et le mot de données en quadrature de phase à la sortie Q'2 11-2e représentent maintenant respectivement: 12' = ReIV2'I = Re( A21ei(l+2)) = IA2Icos(CT) (1la) et Q2' = ImIV2'l = Im(JA2Jei(1l+02)) = tA21sin(T) (llb) Le mot de données AllI, en provenance de la première sortie 11-ld de rotateur I, apparait maintenant par l'intermédiaire du noeud 10'e aux entrées 52a et 54a des premier et second moyens multiplieurs scalaires 52 et 54. Le mot de données I'2 est couplé à une seconde entrée 52b des premiers moyens multiplieurs 52, tandis que le mot de données Q'2 est couplé à une seconde entrée des seconds moyens multiplieurs 54. Le mot de données I" à la première sortie du multiplieur 52c apparait au niveau de la sortie 10'f du multiplieur complexe CORDIC et constitue les données pour Re(O) = IA1îlA2lcos( Im(E) - IAlIIA21sin(+T). En se référant maintenant à la figure 4, les rotateurs 11-1 et 11-2 et les moyens de commande de signe 50 de la figure 3 peuvent être réalisés par un sous-ensemble multiplieur pipeline de calcul rapide 11'. Un premier multiplieur CORDIC séquentiel à N étages 60a comprend un premier étage 60-la recevant les données d'axe réel I1, à partir d'une entrée 11'a au niveau d'un moyen de sélection de signe 61-la (constitué d'un inverseur 62 et d'un moyen MUX 64) et les données Q1 d'axe imaginaire, à partir d'une entrée llb, au niveau d'un autre moyen de signe 61-lb, le bit de sélection de signe (pour ce premier étage seulement) étant pris à partir de l'entrée de données Q1. Le premier multiplieur 61a a alors une pluralité (N-1) d'étages sensiblement identiques 60-2a à 60-na, chacun avec des sous-sections identiques pour les parties I et Q, chaque sous-section comprenant un moyen de sélection de signes 61-2a à 61-na ou 61-2b à 61-nb, un moyen de division par 2(I-1) 66-1 à 66-(n-1), o liI n'affectera la précision de phase de la réponse et vice versa. Ensuite, ces modes de réalisation de multiplieurs complexes 10' (avec une paire de modules CORDIC 11-1 et 11-2 ou avec un module unique 11') fournissent des résultats d'étages intermédiaires qui peuvent être utiles dans certaines applications. Par exemple, si une entrée vers ces structures est simplement le complexe conjugué de l'autre entrée, alors ces appareils présenteront simultanément l'amplitude du signal d'entrée à la sortie 10'e ou 10"e et le signal de puissance du signal d'entrée à la sortie 10'f ou 10"f. En connséquence, ce mode de réalisation peut être utilisé comme détecteur d'amplitude et de puissance simultanées. Les structures des figures 3 et 4 représentent une approche beaucoup plus flexible à la multiplication complexe que beaucoup d'autres configurations de multiplieurs. Alors que plusieurs variantes actuellement préférées du nouveau multiplieur complexe CORDIC selon l'invention et de rotateurs CORDIC qui peuvent y être utilisés ont été décrits à titre d'exemple ici, de nombreuses modifications et variantes apparaitront à l'homme de l'art. 263208g8 REVENDICATIONS 1. Rotateur CORDIC récursif caractérisé en ce qu'il comprend: des moyens (ll'a, ll'b) pour recevoir des mots de données numériques représentant chacune des parties réelle et imaginaire d'un premier nombre complexe; une première partie comprenant des moyens (11') pour faire tourner chacune des premières parties réelle et imaginaire du nombre complexe d'un premier incrément angulaire a, -égal à l'une sélectionnées des valeurs +90 et -90 pour former l'un associé des mots de données numériques I et Q; une partie récursive (60-2a, 60-3a...) comprenant des moyens pour modifier en rotation chacun des mots de données numériques I et Q reçu à partir de la première partie de façon récursive en passant par chacun choisi d'angles incrémentiels positif et négatif ai pour 25i-N, o N est un entier positif supérieur à 2, et chaque angle incrémentiel ai est inférieur à cl mais supérieur à un angle incrémentiel suivant ai+l; des moyens pour recevoir un mot de données numériques représentant une partie de rotation angulaire e d'un second nombre complexe exprimé sous forme d'amplitude/angle de rotation, et déterminer des signes de tous les angles al dans la première partie et les angles incrémentiels ai dans la partie récursive pour s'approcher du second angle de rotation e du nombre complexe; et des moyens pour fournir les première et seconde parties après une modification en rotation par les N angles, respectivement, en tant que mot de données numériques de sortie de partie imaginaire entraîné en rotation AI et que mot de données numériques de sortie de partie réelle entrainé en rotation AR. 2. Rotateur selon la revendication 1, caractérisé en ce que le premier moyen de rotation d'incrément al comprend des moyens pour sélectionner le même signe ou le signe inversé pour chacune respective des parties réelle et imaginaire du premier nombre complexe, en réponse à l'un respectif de premier et second signaux de commande de signe en provenance des moyens de commande de signe. 3. Rotateur selon la revendication 2, caractérisé en ce que chaque angle incrémentiel ai = tan-1(2-n), pour n = i-2. 4. Rotateur selon la revendication 3, caractérisé en ce que i est inférieur à 8. 5. Rotateur selon la revendication 3, caractérisé en ce que le moyen de rotation de parties récursives comprend: des premiers moyens pour accumuler le mot de données numériques I à partir de la première partie et chacun des (N-l) premiers mots de données numériques décalés séquentiellement; des seconds moyens pour accumuler le mot de données numériques Q à partir de la première partie et chacun séquentiel des (N-1) seconds mots de données numériques décalés séquentiellement; des premiers moyens de sélection de signe pour inverser sélectivement, en réponse à un signal de commande de signe du premier moyen de sélection de signe en provenance des moyens de commande de signe, le signe du mot de données numériques fourni alors par le premier moyen accumulateur; des seconds moyens de sélection pour inverser sélectivement, en réponse à un signal de commande de signe des seconds moyens de sélection de signe en provenance des moyens de commande de signe, le signe du mot de données numériques alors fourni par les seconds moyens accumulateurs; des premiers moyens pour décaler les bits du mot de données numériques en provenance des premiers moyens de sélection de signe d'un bit dans une direction prédéterminée pour chaque apparition d'un signal de commande des premiers moyens de décalage en provenance des moyens de commande de signe; des seconds moyens pour décaler les bits du mot de données numériques en provenance des seconds moyens de sélection de signe d'un bit dans une direction prédéterminée pour chaque apparition d'un signal de commande du second moyen de décalage en provenance des moyens de commande de signe; des premiers moyens additionneurs pour ajouter les mots de données numériques en provenance des prermiers moyens accumulateurs et des seconds moyens de décalage pour fournir chacun séquentiel des (N- 1) premiers mots de données numériques décalés séquentiellement à la fois vers les premiers moyens accumulateurs et en tant que mots de données numériques de sortie AI; et des seconds moyens additionneurs pour additionner les mots de données numériques en provenance des seconds moyens accumulateurs et des premiers moyens de décalage pour fournir chacun séquentiel des (N- 1) seconds mots de données numériques décalés séquentiellement à la fois aux seconds moyens accumulateurs et en tant que mots de données numériques de sortie AR; lesdits moyens de commande de signe comprenant des sorties supplémentaires au niveau desquelles les premier et second moyens de commande de signe et les signaux de commande de signe des premier et second moyens de décalage sont tous prévus pour chacune des (N- l) opérations récursives, en réponse aux données d'angle de rotation reçues. 6. Rotateur CORDIC séquentiel caractérisé en ce qu'il comprend: des moyens pour recevoir des mots de données numériques représentant chacune des parties réelle et imaginaire d'un premier nombre complexe; une première partie comprenant des moyens d'étages pour faire tourner séparément chacune des parties réelle et imaginaire de premier et second nombres complexes d'un premier incrément angulaire a, égal à l'une sélectionnée des valeurs +90 et -90 ; une seconde partie comprenant une pluralité de (N-1) moyens d'étages, o N est un entier positif supérieur à 2, chacun pour modifier en rotation une paire de mots de données numériques d'entrée à parties réelle et imaginaire selon l'un choisi d'angles incrémentiels positifs et négatifs "i, pour 2SiSN, chaque angle incrémentiel ai du i-ième moyen d'étage étant inférieur à l'angle -a mais supérieur à un angle incrémentiel ai+1 d'étage suivant, et les mots de données numériques d'entrée vers les premiers moyens d'étages étant reçus à partir de la première partie et les mots de données numériques d'entrée pour tout autre moyen d'étage étant reçus à partir d'un moyen d'étage immédiatement précédent; des moyens pour recevoir un mot de données numériques représentant une partie * de rotation angulaire d'un second nombre complexe exprimé sous forme amplitude/angle de rotation, et pour commander les signes de l'angle a, dans la première partie et tous les angles incrémentiels ai dans la pluralité de moyens d'étages pour approcher l'angle de rotation * du second nombre complexe; et des moyens pour fournir les première et seconde parties après modification de rotation par tous les N angles respectivement, en tant que mots de données numériques de sortie de partie imaginaire tournée et mots de données numériques de sortie de partie réelle tournée. 7. Rotateur selon la revendication 6, caractérisé en ce que le premier moyen de rotation d'incrément a1 comprend des moyens pour sélectionner le même signe ou le signe inversé pour celle choisie des parties réelle et imaginaire des premier et second nombres complexe, en réponse à un signal de commande de signe de premier incrément en provenance des moyens de commande de signe. 8. Rotateur selon la revendication 7, caractérisé en ce que chaque angle incrémentiel ai = tan-1(2-n), pour n = i-2. 9. Rotateur selon la revendication 8, caractérisé en ce que-i est inférieur à 8. 10. Rotateur selon la revendication 8, dans lequel chaque moyen d'étage comprend: des moyens pour recevoir un mot de données numériques de partie réelle et un mot de données numériques de partie imaginaire en entrée vers ce moyen d'étage; des premiers moyens pour décaler les bits des moyens de mots de données numériques d'entrée de partie réelle de n bits dans une direction prédéterminée; des seconds moyens pour décaler les bits du mot de données numériques d'entrée de partie imaginaire de n bits dans la direction prédéterminée; des premiers moyens de sélection de signe pour inverser sélectivement, en réponse à un signal de commande des premiers moyens de sélection de signe en provenance des moyens de commande de signe, le signe du mot de données numériques décalé en provenance du premier moyen de décalage; des seconds moyens de sélection de signe pour inverser sélectivement, en réponse à un signal de commande des seconds moyens de sélection de signe en provenance des moyens de commande de signe, le signe du mot de données numériques décalé en provenance des seconds moyens de décalage; des premiers moyens additionneurs pour additionner le mot de données numériques d'entrée de partie réelle et le mot de données numériques en provenance des seconds moyens de sélection de signe pour fournir un mot de données numériques de sortie de partie réelle en provenance de ce moyen d'étage; et un second moyen additionneur pour ajouter le mot de données numériques d'entrée de partie imaginaire et le mot de données numérique en provenance des premiers moyens de sélection de signe pour fournir un mot de données numériques de sortie de partie imaginaire en provenance de ces moyens d'étages; les moyens de commande de signe ayant des sorties supplémentaires au niveau desquelles sont fournis, en réponse aux données reçues d'angle de rotation ô, tous les signaux de commande des premier et second moyens de commande de signe pour les (N-1) moyens d'étages. 11. Appareil pour fournir des données numériques de sortie qui sont le produit d'un premier nombre complexe D représenté en tant que mot de données numériques de partie réelle CR et mot de données numériques de partie imaginaire CI, et un second nombre complexe J représenté en tant que mot de données numériques d'amplitude IBI et mot de données numériques d'angle de phase È, caractérisé en ce qu'il comprend: des moyens CORDIC pour modifier en rotation, respectivement, un mot de données numériques de partie réelle d'entrée I et un mot de données numériques de partie imaginaire d'entrée Q en réponse au mot de données numériques d'angle de phase 0 pour obtenir respectivement un mot de données numériques de sortie Q' et un mot de données numériques de sortie I'; des moyens d'entrée recevant au moins le mot de données numériques de partie réelle du premier nombre complexe CR et le mot de données numériques de partie imaginaire CI pour fournir les mots de données numériques respectifs d'entrée I et Q; et des moyens de sortie recevant les mots de données numériques de sortie respectifs Q' et I' pour fournir respectivement une partie imaginaire AI du mot de données numériques de sortie et une partie réelle AR du mot de données numériques de sortie. 12. Appareil selon la revendication 11, caractérisé en ce que le moyens CORDIC sont un rotateur CORDIC récursif. 13. Appareil selon la revendication 12, caractérisé en ce que les moyens de sortie comprennent en outre: des moyens recevant le mot de données numériques d'amplitude IBI du second nombre complexe; et des moyens pour multiplier scalairement chacun respectif des mots de données numériques de partie réelle I' et de données numériques de partie imaginaire Q' par le mot de données numériques d'amplitude IBI pour obtenir les mots de données numériques de partie réelle AR et de partie imaginaire AI. 14. Appareil selon la revendication 11, caractérisé en ce que les moyens CORDIC sont un rotateur CORDIC séquentiel. 15. Appareil selon la revendication 14, caractérisé en ce que les moyens de sortie comprennent en outre des moyens recevant le mot de données numériques d'amplitude IBI du second nombre complexe; et des moyens pour multiplier scalairement chacun respectif du mot de données numériques de partie réelle I' et du mot de données numériques de partie imaginaire Q' par le mot de données numériques d'amplitude IB1 pour fournir les mots de données numériques respectifs de partie réelle AR et de partie imaginaire AI. 16. Appareil pour fournir des données numériques de sortie qui sont le produit d'un premier nombre complexe représenté sous forme d'un mot de données numériques de partie réelle Il et d'un mot de données numériques de partie imaginaire Q1, et d'un second nombre complexe, représenté sous la forme d'un mot de données numériques de partie réelle 12 et d'un mot de données numériques de partie imaginaire Q2, caractérisé en ce qu'il comprend: des premier et second moyens CORDIC pour modifier en rotation d'un angle ai, o a, est l'un sélectionné des angles +90 et ai, pour i N, N étant supérieur à 2, est tan-l(2-n) avec n=i-2, respectivement, un mot de données numériques de partie réelle d'entrée I et un mot de données numériques de partie imaginaire d'entrée Q en réponse à chaque i-ième de N intervalles de temps vers l'état d'un autre bit de données numériques, pour fournir repectivement un mot de données numériques de sortie Q' et un mot de données numériques de sortie I'; les premiers moyens de CORDIC recevant des mots de données respectifs Il et Q1 en tant que mots de données de partie réelle et de partie imaginaire et fournissant au moins un mot de données de sortie In et un signal qui change l'état de signe quand l'angle de sortie effectif est sensiblement 0; les seconds moyens CORDIC recevant des mots de données respectifs 12 et Q2 en tant que mots de données respectifs de partie réelle et de partie imaginaire et fournissant des mots de données de sortie de partie réelle et de partie imaginaire I" et Q"; des moyens pour fournir à chaque i-ième intervalle de temps ledit autre bit de données numériques avec un état de données sélectionné pour amener les deux moyens CORDIC à modifier en rotation les mots de données numériques de sortie qu'ils contiennent jusqu'à ce que le signal d'étage de signe change de signe; et des moyens de sortie recevant les mots de données numériques de sortie respectifs I" et Q" pour fournir respectivement une partie imaginaire I' des données numériques de sortie et une partie réelle Q' du mot de données numériques de sortie. 17. Appareil selon la revendication 16, caractérisé en ce que chacun des moyens CORDIC est un rotateur CORDIC récursif. 18. Appareil selon la revendication 17, caractérisé en ce que les moyens de sortie comprennent en outre des moyens recevant le mot de données de sortie Io des premiers moyens CORDIC; et des moyens pour multiplier scalairement chacun respectif du mot de données de sortie de partie réelle I" et du mot de données de sortie de partie imaginaire Q" par le mot de données I0 pour obtenir les mots de données numériques respectifs de partie réelle I' et de partie imaginaire Q'. 19. Appareil pour fournir des données numériques de sortie qui sont le produit d'un premier nombre complexe représenté sous forme d'un mot de données numériques de partie réelle Il et d'un mot de données numériques de partie imaginaire Q1, et d'un second nombre complexe, représenté sous la forme d'un mot de données numériques de partie réelle 12 et d'un mot de données numériques de partie imaginaire Q2, caractérisé en ce qu'il comprend: des premiers et seconds moyens CORDIC pour modifier en rotation d'un angle vi, o a1 est l'un sélectionné des angles +90 et ì, pour 25i5N, N étant supérieur à 2, est tan-1(2-n) avec n=i-2, respectivement, un mot de données numériques de partie réelle d'entrée I et un mot de données numériques de partie imaginaire d'entrée Q, le signe de chaque angle en réponse à l'état logique d'un bit de signe associé; le bit de signe pour chaque angle du premier moyen étant le bit de données alors présent à l'une des paires d'entrées de données pour un étage de calcul pour cet angle, pour fournir respectivement un mot de données numériques de sortie Q' et un mot de données numériques de sortie I'; une pluralité de N moyens pour inverser l'état logique d'un bit d'entrée, chaque i-ième moyen d'inversion recevant le bit de signe de l'étage pour le premier moyen pour le i-ième angle associé et fournissant un autre bit de signe vers le i-ième étage numéroté de façon analogue des seconds moyens; les seconds moyens recevant les mots de données respectifs I2 et Q2 en tant que mots de données respectifs de partie réelle et de partie imaginaire et fournissant au moins un mot de sortie qui est l'amplitude IA2 du second nombre complexe; et des moyens de sortie recevant les mots de données numériques de sortie respectifs I' et Q' pour fournir respectivement une partie imaginaire Q" des données numériques de sortie et une partie réelle I" du mot de données numériques de sortie. 20. Appareil selon la revendication 19, caractérisé en ce que les moyens de sortie comprennent en outre: des moyens recevant le second mot de données de sortie des moyens CORDIC iA21; et des moyens pour multiplier scalairement chacun respectif du mot de données numériques de sortie de partie réelle I" et du mot de données numériques de sortie de partie imaginaire Q" par le mot de données JA21 pour fournir les mots de données numériques de partie réelle I' et de partie imaginaire Q'.