FR 2544106 A1 19841012 FR 8405565 A 19840409 La présente invention concerne un oscillateur numérique délivrant des signaux complexes de la forme cos( 2 nk f M/f A) + (j) sin( 2 rk f M/f A) avec la fréquence d'horloge f A et la fréquence d'oscillateur f M, un intégrateur à dépassement formant, à partir de l'information de fréquence f M/f A appliquée sous forme d'un nombre binaire, la suite de signaux x(k) = (k f M/f A) mod 1 M -i représentée en binaire par E a 2 i i= 1 1 qui est convertie par une unité arithmétique, et à l'aide de tables mémorisées de sinus et de cosinus, en suites de signaux cos( 2 nk f M/f A) = cosl( 2 krf M/f A) mod 2 wl = cosl 2 v((k f M/f A) mod 1)l et sin ( 2 wk f M/f A) = sinr( 2 Âk f M/f A) mod 2 Jl= sinl 2 ((kÂf M/f A) mod 1)l. Un tel oscillateur numérique est décrit par exemple dans la demande de brevet de la République fédérale d'Allemagne publiée sous le n 30 07 907. Des oscillateurs délivrant un signal numérique complexe sinus/ cosinus sont nécessaires en particulier pour les récepteurs numériques fonctionnant en récepteurs en quadrature Il est connu de mémoriser les valeurs sinus et cosinus correspondantes dans des tables ROM. Cela représente toutefois une énorme capacité de mémoire dans le cas de récepteurs à grande largeur de bande et résolution élevée. L'invention a pour objet un oscillateur numérique du type précité qui, pour une grande largeur de bande et une résolution en fréquence élevée exige un appareillage total minimal en emplacement mémoire et circuits de calcul. Selon une caractéristique essentielle de l'invention, l'unité arithmétique est constituée par trois étages (t, RWII/12, RWIII), dont le premier étage (RWI) forme, en fonction de la valeur du bit a 3 appliqué à une de ses entrées de commande, la valeur de sortie x(k) selon la règle suivante: -3 - (x(k) mod 2-3 pour a 3 = O x(k) = fi(x(k) mod 2 3 2 x(k) mod 23 pour 3 1; ( 2 -x(k) mod 2 pour a 3 = 1; dont le second étage (RWII 1/2) forme, à partir de la valeur x(k), une paire de valeurs sinus/cosinus selon la fonction f II (x(k)): =lsin ( 2 v x(k)), cos ( 2 ix(k))l; et dont le troisième étage (RWIII) forme, à partir de la paire de valeurs lsin ( 2 v x(k)), cos ( 27 x(k))l et en fonction des valeurs des bits fi'a 2 ' a 3 appliqués à ses entrées de commande, une paire de valeurs lsin ( 2 W x(k)), cos ( 27 x(k))1 selon la table de fonction suivante: Entrées de commande 1 2 3 0 O O 0 O 1- 0 1 O 0 1 1 1 O O 1 O 1 1 1 O 1 1 1 Sortie 1 sin ( 2 e) sin ( 2 e X) cos ( 2 rx) cos ( 2 x) sin ( 2 wx) -sin ( 2 vx) -cos ( 2 wx) -cos ( 2 wx) -sin ( 2 rx) Sortie 2 cos ( 2 -x) cos ( 2 nx) sin ( 2 wx) -sin ( 2 x) -cos ( 2 wx) -cos ( 2 r) -sin ( 2 nx) sin ( 2 x) cos ( 2 wx) D'autres caractéristiques et avantages de l'invention seront Zu mieux compris à l'aide de la description détaillée ci-dessous d'un exemple de réalisation et des dessins annexés sur lesquels: la figure 1 représente le schéma synoptique de l'oscillateur selon l'invention; la figure 2 représente la table de fonction correspondante; la figure 3 représente une réalisation simple du premier étage RWII; la figure 4 représente une réalisation simple du troisième étage RWIII; la figure 5 représente une forme de réalisation d'un développement de l'invention, dans lequel le calcul s'effectue par approximations successives à l'aide d'un développement en série; et la figure 6 représente une forme de réalisation d'un second dévelop- pement de l'invention, dans lequel le calcul s'effectue par itéra- tion. 1 n L'exemple de réalisation décrit est un oscillateur qui doit délivrer à un mélangeur des paires de valeurs cos ( 27 kf M/f A), sin ( 2 N kf M/f A), avec un débit binaire TA = 100 M Hz La fréquence de mélange f M doit être de O les liaisons Les valeurs soulignées correspondent à la seconde réa- lisation avec RWII 2, décrite ci-après Un bloc de commande transmet à l'oscillateur la valeur f M/f sous forme d'un nombre binaire N -i M A E 2 Dans l'exemple de réalisation décrit, on doit avoir N = 24 i= 2 pour couvrir la plage résultante de valeurs Un circuit de calcul numérique constitué par un intégrateur à dépassement forme, à partir de la valeur f M/f A, la suite de valeurs x(k): = ((kf /f A) modulo 1 x(k) représente la partie non-entière de kf M/f A et on a O M -A partir de x(k), représentée par Z a 2, avec m = 21 dans l'exemple i= 1 1 de réalisation décrit, les étages RWI, RWII et RWIII calculent la suite de valeurs sin ( 2 ux(k)), cos ( 2 rx(k)) qui, par suite de la périodicité du sinus et du cosinus par rapport à 2 n,correspond déjà au signal d'oscillateur souhaité Les propriétés de symétrie du sinus et du cosinus sont utilisées et le calcul de sin ( 2 Âx(k)), cos ( 2 Âx(k)) est ramené à la valeur de sin ( 2 rx(k)) et cos ( 2 nx(k)) avec O -3 3 fi(x(k) mod 2 p, CC 3)-3 ( 2-x(k) mod 2 pour a 3 = 1 II(x(k))::lsin ( 2 rx(k)), cos ( 2 'X(k))l 2 5 4 4 1 0 6 fiilfsin ( 2 Tx(k)), cos ( 2 X(k)), ai a 2 ' a 33- résulte la table de fonction indiquée à la figure 2 a 1, a 2, et a 3 correspondent aux trois premiers bits de la représentation binaire 21 - 21-1 -3 21 -i de x(k) = E a 2 et x(k) mod 23 est identique à E a 2 Les i= 1 i= 4 lignes de bit sont divisées en conséquence sur la figure 3 et a 1 à a 3 sont appliqués selon les fonctions indiquées aux entrées de com- mande des étages RWI à RWIIII. La figure 3 représente une réalisation simple du premier étage RWI, constitué par un multiplexeur MUX 1 et un complémenteur (à 2). -3 En fonction de a 3, le multiplexeur délivre la valeur x = x mod 23 ou son complément à 2. La figure 4 représente une réalisation simple du troisième étage RWIII, qui est essentiellement constitué par deux multiplexeurs MUX 2 et MUX 3, ainsi que deux complémenteurs insérés chacun dans une entrée de données des multiplexeurs Selon la table de fonction de la figure 2, les valeurs de sortie sin ( 2 uî et cos ( 2 nx) peuvent prendre les quatre valeurs + sin ( 2 xx), + cos ( 2 ix) en fonction de a 1, a 2, a 3. Ces valeurs sont aussi appliquées aux entrées de données des deux multiplexeurs, à partir des valeurs sin ( 2 wx) et cos ( 2 wx) délivrées par le second étage RWII. Dans l'exemple de réalisation décrit, la solution par tables pour le calcul de sin ( 2 wx) et cos ( 2 ux), qui à première vue semble s'imposer pour le second étage RWII, ne convient pas, car elle exige- rait une capacité mémoire de 210 k bits Deux développements avan- tageux de l'invention permettent une réalisation du second étage avec un appareillage total minimal. La figure 5 représente une première forme de réalisation du premier développement avantageux de l'invention Elle est basée sur un développement en série de sinus et de cosinus: sin ( 2 wx) = sin ( 2 Â(xh+h)) " sin ( 2 (x-h)) + cos ( 2 i(x-h)) 2 =h cos ( 2 nx) = cos ( 2-(x-h+h)) " cos ( 2 w(x-h" sin ( 2 r(x-h)) 2 rh. L'erreur est alors inférieure ou égale à ( 2 h)2 ( 2 h) et peut être maintenue à une valeur suffisamment faible par une division appropriée de x en (x-h) et h Les valeurs sin ( 2 (-h)) une division appropriée de x en (x-h) et h Les valeurs sin ( 2 n(x-h)) 2544 106 et cos ( 2 n(x-h)) sont déterminées à l'aide de deux tables, ROM sinus et ROM cosinus x-h ayant une représentation binaire notablement plus courte que celle de x, on obtient ainsi des tables de ROM raisonnables Outre ces tables, le calcul exige trois multiplications, une complémentation et deux additions h est multipliée par 2 v dans le multiplicateur M 1; le produit de 2 wh et des valeurs de sortie des ROM est formé dans M 2 ou M 3 Les additionneurs ADD 1 et ADD 2 réunis- sent enfin les valeurs selon le développement en série précité Le "R" dans les multiplicateurs indique que les valeurs de sortie sont arrondies La division de 21 % % i 1 % 2 21 % -i x a 2 en x-h =E a 2 et h = 2 i= 4 i= 4 i= 12 indiquée sur la figure 5 est optimale pour un appareillage total minimal. La figure 6 représente une forme de réalisation du second déve- loppement avantageux de l'invention Elle repose sur le calcul de sin ( 2 vx) et cos ( 2 wx) selon un procédé itératif pour la conversion de coordonnées polaires (r,c) en coordonnées cartésiennes (x, y). Dans ce procédé, le vecteur zn = xn + jy, se rapproche pas à pas de n z = x + jy = r cos Y + jr sin Y Avec une origine x = r et yo = O, le vecteur Zn 1 x + jyn-1 tourne de l'angle y = + Arc tg 2 n n-il n-I - vers z lors duneme pas d'itération Le sens de rotation dépend à chaque fois de la valeur positive ou négative que présente l'angle n-I différentiel lAqp= S Ym atteint entre z et z Le procédé n converge car I An I tiales r = 1 et d = 2 vx, on obtient une approximation de cos ( 2 îx) et sin ( 2 wx) Le neme pas dtitération peut se représenter mathémati- quement comme suit: Xn + jyn (xn-1 + J Yn-1) ' ej Yn = cos yn l(Xn'1sign(Yn) ' tg 'ynl * Yn-1) + j(Yn=l+sign(Yn) tg Iyni Xn-1)l n-1 n-1 avec sign(yn) = sign( 2 yx ym) = sign(x 1 m/2 w). m=l m=i 2544 1 06 Par suite de tg Jyn' = 2, le calcul de xnet Yn nexige aucune multiplication véritable, mais uniquement des opérations de décalage. Ces dernières peuvent être effectuées par un câblage approprié, car le nombre de rangs est fixé dès le départ Le premier pas d'ité- ration tient déjà compte des multiplications par cos Yn Une opération de décalage suffit également pour ce faire avec une erreur admissible. Selon la relation indiquée, le calcul de xn, Yn et sign(yn) exige à chaque fois une addition ou une soustraction. 17 pas d'itération au total sont prévus dans l'exemple de réa- lisation décrit, afin de maintenir l'erreur d'itération à une valeur suffisamment faible. Dans la réalisation selon figure 6, les cinq premiers pas d'ité- ration sont remplacés par des tables SIN-ROM et COS-ROM Pour ce faire, % lb 8 lb -i 23 % -i x est divisée en x-h = Z a 2 et h = a 2 x-h constitue i= 4 i= 9 l'adresse de la table sinus/cosinus L'itération commence ainsi par x 5 = k cos ( 2 f(x-h)) et y 5 = k sin ( 2 w(x-h)), avec: 17 17 k = I cos Ym = l cos(Arc tg ( 2-m)) m= 6 m= 6 Ces valeurs sont combinées dans les additionneurs (+) des étages suivants, selon la formule d'itération précédemment indiquée Les opérations de décalage correspondant à la multiplication par tg yn sont indiquées par des cercles sur la figure 6, sign(yn), désigné par VZ sur la figure, est pris en considération avant les opérations de décalage Sur la partie droite de la figure 6, la valeur ym/2 n est additionnée à h à chaque fois; la valeur + Arc tg 2 -m ou Arc tg 2-m 2 W est additionnée selon le signe VZ de la somme, obtenu dans l'étage précédent. Bien entendu, diverses modifications peuvent être apportées par l'homme de l'art au principe et aux dispositifs qui viennent d'être décrits uniquement à titre d'exemples non limitatifs, sans sortir du cadre de l'invention. 2544 1 06 Revendications 1 Oscillateur numérique délivrant des signaux complexes de la forme 02 r kfl/f) + (j) sin ( 2 r kf M/f A), avec la fréquence d'horloge f A et la fréquence d'oscillateur f M' un intégrateur à dépassement formant, à partir de l'information de fréquence f M/f A appliquée sous forme d'un nombre binaire, la suite de signaux x(k) = (k f M/f A) mod 1 M 2 _ représentée en binaire par a 2, qui est convertie i= 1 par une unité arithmétique, et à l'aide de tables mémorisées de sinus et de cosinus, en suites de signaux cos ( 2 nk f M/f A) = cos l( 2 rk f M/f A) mod 2 J= cos 12 =((k f M/f A> mod 1)l et sin ( 2 nk f M/f A) = sin l( 2 rk fl/f A) mod 27 l= sin l 21 ((k f M/f A) mod 1)l ledit oscillateur étant caractérisé en ce que l'unité arithmétique est constituée par trois étages (RWI, RWII 1/2, RWIII), dont le premier étage (RWI forme, en fonction de la valeur du bit a 3 appliquée à une de ses entrées de commande, la valeur de sortie x(k) selon la règle suivante: (x(k) mod 2-3 pour a 3 = O x(k) = fi(x(k) mod 2 a 3: = 3 o,a:= 3 ( 2 -x(k) mod 2 pour a 3 = 1; I dont le deuxième étage (RWII 1/2) forme, à partir de la valeur x(k), une paire de valeurs sinus/cosinus selon la fonction f II (x(k)): = sinl( 2 u x(k)), cos ( 2 W x(k))l et dont le troisième étage (RWIII) forme, à partir de la paire de valeurs lsin ( 21 x(k)), cos ( 2 x(k)I et en fonction des bits a 1, a 2, a 3 appliqués à ces entrées de commande, une paire de valeurs lsin ( 2 ix(k)), cos ( 2 rx(k)) selon la table de fonction suivante: 2544 1 06 Entrées de commande Sortie 1 Sortie 2 1 2 3 sin ( 2 x) cos ( 2 r X) O O O sin ( 2 i) cos ( 2 rx) O O 1 cos ( 2 rx) sin ( 2 x) O 1 O O cos ( 2 n) -sin ( 2 ix) 0 1 1 sin ( 2 nx) -cos ( 2 irx) 1 O O -sin ( 2 =x) -cos ( 2 ix) 1 O 1 -cos ( 2 x) -sin ( 2 wx) 1 1 O -cos ( 2 w) sin ( 2 îX) 1 1 1 sin ( 27 i) cos ( 2 fx) 2 Oscillateur numérique selon revendication 1, caractérisé en ce que le premier étage (RWI) de l'unité arithmétique est constitué par un multiplexeur (MUX 1) à deux entrées de données, une sortie de données et une entrée de commande; et les bits a 4 à a M de la repré- M _i sentation binaire x(k) = Z a 2 sont appliqués directement à une entrée de données et par i 1 l'intermédiaire d'un complémenteur (à 2) à l'autre entrée de données. 3 Oscillateur numérique selon revendication 1, caractérisé en ce que le troisième étage (RWIII) de l'unité arithmétique est cons- titué par deux multiplexeurs (MUX 2, MUX 3) comportant chacun quatre entrées de données, une sortie de données et trois entrées de commande; et les valeurs sin( 2 nx) et cos ( 2 nx) délivrées par le second étage (RWII) sont appliqués directement d'une part, et par des complémen- teurs (à 2) d'autre part aux entrées de données des deux multiplexeurs (NUX 2, MUX 3). 4 Oscillateur numérique selon revendication 1, caractérisé en ce que la valeur x(k) est divisée, en amont du deuxième étage (RWII 1) de I'unité arithmétique, en une valeur (x -h) et une valeur h; seules les valeurs sinus et cosinus de (x-h) sont mémorisées dans des tables; et le second étage (RWII 1) calcule la paire de valeurs llsin ( 2 ix(k)), cos ( 2 ux(k) )l selon la règle suivante: sin ( 2 n) sin ( 27 (x-h)) + cos ( 2 W (x-h)) 2 h cos ( 2 wx) cos ( 2 r (x-h)) sin ( 27 (x-h)) 2 vh. 2 5 4 4 1 0 6 Oscillateur numérique selon revendication 4, caractérisé par la constitution suivante: la valeur (x-h) est appliquée d'une part à une table de sinus (ROM sinus) et d'autre part à une table de cosinus (ROM cosinus) sous forme d'adresse, lesdites tables délivrant les valeurs sin ( 2 T(x-h)) ou cos ( 2 (x-h)); la valeur h est appliquée à un premier multiplicateur M 1 pour multiplication par 2; le résultat est appliqué à un deuxième et un troisième multiplicateur (M 2, M 3) pour multiplication par la valeur (sin ( 2 n(x-h)) ou cos ( 2 v(x-h); la valeur de sortie du troisième multiplicateur (M 3) et la valeur sin ( 2 T(x-h)) sont ensuite appliquées à un premier addition- neur (ADD 1 pour addition; la valeur de sortie du deuxième multiplicateur M 2, après complémentation (à 2), et la valeur cos ( 2 n(x-h) ensuite appliquées à un second additionneur (ADD 2) pour addition. 6 Oscillateur numérique selon revendication 1, caractérisé en ce que dans le second étage (RWII 2) de l'unité arithmétique, le calcul de la paire de valeurs lsin ( 27 x), cos ( 27 x)l s'effectue selon un procédé itératif pour la conversion de coordonnées polaires (r,er, en coordonnées cartésiennes x = r cos, y = r sin f), avec r 1 et j = 2 nx. 7 Oscillateur numérique selon revendication 6, caractérisé en ce que, à partir de l'origine x = t et yo = O, le vecteur - Zn 1 = xn + j Yn 1 tourne de l'angle yn =+ Arc tg 2-n vers le 1 1 du neme vecteur z = cos ( 2 x) + j sin ( 2 nx) au cours du nme pas d'itération, le sens de rotation étant fonction du signe de ltangle différentiel % n-t An = 2 Ix ú Ym' m=i 8 Oscillateur numérique selon revendication 7, caractérisé en ce que la valeur x(k) est divisée en deux valeurs (x-h) et h à l'entrée du second étage (RWII 2); et l'itération s'effectue à partir de X 5 = cos ( 2 n(x-h) ) et y 5 = sin ( 2 w(x-h)), les valeurs de sinus et cosinus de (x-h) étant mémorisées dans des tables (SIN-ROM, COS- ROM).