FR 2598532 A1 19871113 FR 8606544 A 19860506 PROCESSEUR DE CALCUL DE LA TRANSFORMEE DE FOURIER DISCRETE COMPORTANT UN DISPOSITIF DE TEST EN LIGNE L'invention a principalement pour objet un processeur de calcul de la transformée de Fourier discrète comportant un dispo5 sitif de test en ligne. La transformée de Fourier est un outil mathématique extrêmement puissant utilisé notamment pour calculer des spectres. La transformée de Fourier permet notamment de calculer le produit de convolution. En effet la transformée de Fourier du 10 produit de convolution de deux fonctions est égale au produit de transformée de Fourier de ces deux fonctions. Ainsi, en chaque point le produit de convolution de deux fonctions est égal à la transformée de Fourier inverse du produit des transformées de Fourier de ces deux fonctions. Il est souvent avantageux de pondérer une fonction dont on désire calculer la transformée de Fourier. Le dispositif objet de la présente invention permet d'effectuer, sur commande, la pondération, par exemple avant le calcul de la transformée de Fourier. Pour une suite discrète, la pondération est effectuée en multipliant 20 les termes de la suite par des coefficients de pondération par exemple stockés dans une mémoire morte (ROM en terminologie anglo-saxonne) . Avantageusement, la mémoire morte contient plusieurs jeux de coefficients de façon à pouvoir choisir la pondération désirée. Il est souvent indispensable de vérifier la validité des résultats calculés. Cela est particulièrement important dans le cas d'utilisation du dispositif de calcul en milieu hostile. Une solution consiste par exemple à doubler le nombre de circuit de calcul et de leur associer un comparateur qui ne valide le calcul que si les résultats 30 calculés par les deux circuits sont identiques. Cette démarche s'avère très coûteuse. Le dispositif selon l'invention permet de vérifier le résultat de calcul de la transformée de Fourier pour un taux d'erreur prédéterminé. Pour cela le dispositif vérifie le résultat du calcul de la transformée de Fourier à l'aide du théorème de Parseval. Lors d'un test, le circuit selon l'invention effectue le calcul de Parseval. Le résultat calculé par l'opérateur est validé uniquement en cas d'égalité des deux membres de l'équation de Parseval. L'utilisation du même processeur pour le calcul de la transformée de Fourier et pour la vérification permet de ne pas augmenter sensiblement la complexité du processeur. Le circuit objet de la présente invention comporte un circuit 10 effectuant pour une suite de nombres le calcul numérique, appelée transformée de Fourier discrète, nommée TFD dans la suite de ce brevet. Pour chaque temps, les valeurs de la TFD sont sensiblement égales à la valeur de la transformée de Fourier. Soit f une suite de nombres fn' n étant le rang du nombre fn dans la suite f. La suite f est par exemple la suite de N valeurs numériques d'une fonction qu'on a échantillonnée. Fk, TFD de fn est définie par: N-I wnk avec wN= Fk = avec W e-j(2N) k = n Le dispositif selon l'invention se propose de décomposer un 20 calcul complexe en des successions de calculs simples. Pour cela le dispositif selon l'invention utilise une structure en papillon illustrée sur la figure 1. L'algorithme de calcul de TFD est celui de la décimation en temps: Si N est paire, la suite f peut être décomposée en une suite g des termes de f de coefficient pair et en une suite h des termes de N la suite f de coefficient impair. Pour 0 L =N - 1 Gk = E gL (w2)Lk L=0 L= N 1 Hk = hL (W2)Lk L = 0 L=0 Alors Gk+ WkHk pour 0, 2 10 L'invention sera mieux comprise au moyen de la description ciaprès et des figures annexées données comme des exemples non limitatifs parmi lesquels: - la figure I illustre un cycle de calcul appelé papillon TFD pour nombres réels; - la figure 2 illustre un papillon TFD pour nombres complexes; - les figures 3 à 5 illustrent les chemins de données; - la figure 6 illustre un exemple de réalisation de circuit selon l'invention; - la figure 7 illustre un exemple de réalisation de circuit selon 20 l'invention; - la figure 8 illustre un exemple de réalisation du circuit selon l'invention; - les figures 9 et 10 illustrent les évolutions dans le temps des fonctions des composants du circuit selon l'invention. Sur les figures I à 10 les mêmes références désignent les mêmes éléments. Sur les figures I à 10 le sens des flots de donnée est indiqué par des flèches. 25 Sur la figure 1, on peut voir un schéma synoptique d'un papillon TFD 50 utilisant l'algorithme de la décimation en temps. Le papillon 50 comporte une première ligne 1, avec une entrée Il et une sortie 12 et une seconde ligne 2, avec une entrée 21 et une sortie 22. La ligne I comprend un additionneur 42. La ligne 2 comprend un multiplieur 41 suivi d'un additionneur 43. Les entrées du multiplieur 41 sont connectées à l'entrée 21 de la ligne 2 et à une ligne 3. Les entrées de l'additionneur 42 sont connectées à la ligne 1 d'une part et à la ligne 2 au niveau de la sortie du maltiplieur 41 par une ligne 23 d'autre part. Les entrées de l'additionneur 43 sont connectées à'la ligne 2 au niveau de la sortie du multiplieur 41 d'une part et à la ligne 1 en amont de l'additionneur 42 par une ligne 13 d'autre part. Le papillon 50 illustré par la figure I est particulièrement bien adapté pour le calcul en décimation en temps de termes de la TFD de suites de nombres réels. La décimation en temps suppose qu'aux entrées 11 et 21 du papillon 50 se présentent les termes des suites g et h. Par contre aux sorties 12 et 22 du papillon 50 on trouve les termes ordonnés de la suite F. Le tableau suivant donne la correspondance des indices d'entrée et de sortie pour une TFD de huit termes. Celle des indices est liée par la relation dite "bit reverse" car les chiffres de poids fort et les chiffres de poids faible sont permutés dans l'écriture binaire de ces indices. TABLEAU I Indice d'entrée Décimal 0 4 2 6 1 3 7 Indice de sortie Décimal Binaire Binaire 000 100 010 110 001 101 011 111 000 001 010 011 100 101 110 111 Sur la figure 2, on peut voir un ensemble de deux papillons susceptibles d'effectuer le calcul de TFD sur des suites de nombres complexes. Chacun des papillons 50 comporte un additionneur 44 dont une des entrées est connectée à la sortie des multiplieurs 41. L'autre entrée desdits additionneurs 44 est connectée via des multiplieurs 45 aux entrées 21 des papillons complémentaires. D'autre part, les entrées des multiplieurs 45 sont connectées à une ligne 32. Les entrées des multiplieurs 41 sont connectées à une ligne 31. Les lignes 31 et 32 correspondent à la 10 ligne 3 de la figure 1. Sur la figure 3, on peut voir le chemin de donnée pour le calcul de la TFD dans un exemple de processeur selon l'invention. Le dispositif 190 des figures 3, 4 et 5 comporte le multiplieur 41, les additionneurs 42 et 43 ainsi que des mémoires tampon 61 à 67. Les 15 mémoires tampon 61 à 67 assurent le retard d'un cycle d'horloge nécessaire au synchronisme de la structure pipe-line du processeur selon l'invention ainsi qu'une resynchronisation par rapport aux impulsions d'horloge. Un bus de donnée 55 relie le dispositif 190 des figures 3, 4 et 5 à une mémoire non représentée. L'entrée de la 20 mémoire tampon 61 est reliée au bus 55. L'entrée de la mémoire tampon 62 est reliée par un bus 51 à une mémoire de coefficient de la TFD non représentée. Les sorties des mémoires tampon 61 et 62 sont reliées aux entrées du multiplieur 41 respectivement par les lignes 53 et 54. La sortie du multiplieur 41 est reliée d'une part par 25 une ligne 531 à la mémoire tampon 63 et d'autre part par une ligne 56 à une entrée de l'additionneur 43. La sortie de la mémoire tampon 63 est reliée à l'autre entrée de l'additionneur 43 par une ligne 57. La sortie de l'additionneur 43 est reliée à l'entrée de la mémoire tampon 64 par une ligne 58. La sortie de la mémoire 30 tampon 64 est reliée à une entrée de l'additionneur 42 par une ligne 59. L'entrée de la mémoire tampon 65 est reliée au bus 55. La sortie de la mémoire tampon 65 est reliée à l'autre entrée de l'additionneur r -5 42 par une ligne 68. La sortie de l'additionneur 42 est reliée aux entrées des mémoires tampon 66 et 67 par une ligne 69. Les sorties -52 des mémoires tampon 66 et 67 sont reliées au bus 55. Sur la figure 4, on peut voir lei chemiryde donnée pour le calcul de la pondération dans un exemple de processeur selon Pinvention. L'entrée de la mémoire tampon 61 est reliée au bus 55. L'entrée de la mémoire tampon 62 est reliée par un bus 51 à une mémoire des coefficients de la TDF non représentée. Les sorties des mémoires tampon 61 et 62 sont reliées aux entrées du multiplieur 41 respectivement à la ligne 53 et 54. La sortie du multiplieur 41 est 10 reliée d'une part à la ligne 531 à une mémoire tampon 63 et d'autre part à la ligne 56 à une entrée de l'additionneur 43. La sortie de la mémoire tampon 63 est reliée à l'autre entrée de l'additionneur 43 par la ligne 57. La sortie de l'additionneur 43 est reliée d'une part à 15 l'entrée de la mémoire tampon 65 par la ligne 580 et d'autre part à l'entrée de la mémoire tampon 64 par une ligne 58. La sortie de la mémoire tampon 65 est reliée à une entrée de l'additionneur 42 par une ligne 68. La sortie de la mémoire tampon 64 est reliée à l'autre entrée de l'additionneur 42 par une ligne 59. La sortie de l'addi20 tionneur 42 est reliée aux entrées des mémoires tampon 66 et 67 par la ligne 69. Les sorties 52 des rnémoires tampon 66 et 67 sont reliées au bus 55. Sur la figure 5, on peut voir le chemin de donnée pour le calcul du module d'un exemple de processeur 190 selon l'invention. 25 Les mémoires tampon 62 et 64 ainsi que l'additionneur 42 du dispositif 190 ne sont pas connectés pour le calcul du module. L'entrée de la mémoire tampon 61 est reliée au bus 55. La sortie de la mémoire tampon 61 est reliée à une première entrée du multiplieur 41 par une ligne 53 à une seconde entrée du multiplieur 41 par 30 une ligne 530. La sortie du multiplieur 41 est reliée d'une part à l'entrée de la mémoire tampon 63 par une ligne 531 et d'autre part à une entrée de l'additionneur 43 par la ligne 56. La sortie de la mémoire tampon 63 est reliée à l'autre entrée de l'additionneur 43 par la ligne 57. La sortie de l'additionneur 43 est reliée aux entrées des mémoires tampon 66 et 67 respectivement par les lignes 534 et 533. Les sorties 52 des mémoires tampon 66 et 67 sont reliées au bus 55. Le dispositif selon l'invention décrit ci-après vérifie le bon 5 fonctionnement du circuit calculant la TFD en utilisant le théorème de Parseval plus simple à mettre en oeuvre que l'algorithme de calcul de la TFD. De plus, la fiabilité du système complet est accrue par l'indépendance des calculs de vérification par rapport aux calculs à vérifier. Le théorème de Parseval indique que la puissance du signal analysé est égale à la somme des puissances de ses harmoniques. Pour la TFD le théorème de Parseval s'exprime par la formule: N-1 N-1 2 z lx (n) 12 =N Z IX(k) l2 (I) n=0 k=O x(n) étant le nieme élément de la séquence d'entrée du processeur TFD et X(k) étant le kième élément calculé par le processeur TFD. 15 Le calcul d'une TFD de N point par l'opérateur 500 de la N figure 6 exige de parcourir 2 log2 N papillons FFT de la figure 1, ce qui correspond à 2N log2 N multiplications et à 3N log2 N additions. Par contre le calcul de vérification du résultat utilisant le théorème 20 de Parseval exige 2N multiplications et 2(N-I) additions. Ainsi le calcul de la TFD exige log2 N fois le nombre de multiplications et 3N log2 N 2 dans le cas le moins favorable le dispositif de vérification de la TFD réalise trois fois moins de multiplications et 5,4 fois moins d'additions. L'utilisation d'un additionneur 42 et un multiplieur 41 en commun pour le calcul de la TFD et de la vérification permet de 30 réduire la complexité du circuit ainsi que sa surface. Sur la figure 6, on peut voir un exemple de réalisation __ 1 - - 1 1 1: 1 - f 1 1 5 - o 5 :1 25 _ '\ 0 particulièrement performant du processeur 500 de calcul de la TFD selon l'invention. Le processeur 500 permet de choisir le calcul de la TFD, de la pondération suivie du calcul de TFD ou du calcul des modules, ou les calculs des membres de l'équation de Parseval: N-I N-I z Ix(n)12 z IX(k)2 (1) n=O k=0 Dans l'exemple de réalisation non limitatif de la figure 6, les moyens de comparaison des deux membres de l'équation I sont extérieurs au processeur 500 et ne sont pas illustrés. Il sera évident pour l'homme de l'art d'après l'enseignement contenu dans ce brevet de réaliser un processeur exécutant d'abord les corrélations, la TFD suivie d'un calcul de pondération. Le processeur 500 comporte le dispositif 190 des figures 3, 4 et 5, deux mémoires vives 130 et 131 (RAM en terminologie anglo-. axonne) un processeur des entréesortie 129, un processeur 128 de calcul d'adresse des mémoires 130 et 131, une mémoire des coefficients 126 associée à un processeur d'adresse 125 ainsi qu'un circuit 127 logique de contrôle du processeur 500. La présence des mémoires internes au processeur 500 ainsi que de leur processeur d'adresse et d'entrées- sorties permet d'augmenter la vitesse de traitement du processeur. Les chemins de donnée désirés dans le processeur 500 sont choisis grâce à des commutateurs 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111 et 867 commandés respectivement par les signaux 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122 et 868. Les signaux de commande des commutateurs sont émis par l'unité de contrôle 127 par la ligne 161. Le dispositif 190, le commutateur 105 et 106 permettent de choisir les sorties des mémoires tampon 61 et 62. La sortie du commutateur 106 est connectée au commutateur 107 permettant de choisir à l'une des entrees du multiplieur 4 1 entre la sortie de la mémoire 62 et celle de la mémoire 61. Le commutateur 108 permet de choisir de connecter l'entrée de la mémoire tampon 65 au bus 55 ou à la sortie de l'additionneur 43. Le commutateur 110 permet de choisir une des deux sorties de la mémoire tampon 65. Le commutateur 867 permet la sortie de l'additionneur 42 sur l'une de ses entrées par l'intermédiaire d'une ligne 866. Ainsi, l'additionneur 42 est susceptible de calculer les sommes nécessaires à la vérification du bon fonctionnement du circuit par le théorème de Parseval. Dans une variante de réalisation du dispositif selon l'invention l'additionneur 42 est un additionneur accumulateur. Le commutateur 111 permet de choisir d'envoyer les informations présentes à la sortie de l'additionneur 42 à la mémoire tampon 66 ou 67. Dans l'exemple de réalisation de la figure 6 les mémoires et 131 ont une taille réduite. Ainsi un bus de donnée 100 les relie à une mémoire externe non représentée. Dans cette dernière mémoire est stockée la suite dont on veut calculer la TFD. Les commutateurs 101 et 102 permettent de choisir entre l'écriture des données à partir du bus 100 ou la lecture des données en mémoire et l'envoie sur le bus 55 des mémoires respectivement 130 et 131. Le commutateur 101 reçoit un signal de commande 112 et le commutateur 102 un signal de commande 113. Les mémoires 130 et 131 comportent respectivement un bus d'adresse 132 et 133. Dans 20 l'exemple de réalisation illustré par la figure 6, la Demanderesse a utilisé des bus d'adresse de cinq bits correspondant à la capacité des mémoires 130 et 131. Les bus d'adresses 132 et 133 sont reliés au processeur des entrées-sorties 129 en mode écriture ou au processeur d'adresse 128 en mode lecture. La sélection est opérée par 25 les mémoires 130 et 131 respectivement par le commutateur 103 et 104 qui reçoivent respectivement les signaux de commande 114 et 115. Le processeur d'entrée-sortie 129 est relié au commutateur par tout d'abord une ligne 139 reliée elle-même au commutateur 103 par une ligne 138 et- au commutateur 104 par une ligne 136. Le 30 processeur d'adresse 128 est relié aux commutateurs 103 et 104 respectivement par les lignes 137 et 135 reliées à la ligne 134. Le processeur entrées-sorties 129 est relié par la ligne 155 à la mémoire externe non représentée, sur laquelle il envoie par exemple sur seize bits l'adresse à lire dans ladite mémoire externe. En mode lecture les mémoires 130 et 131 sont reliées au bus de donnée 55 afin de fournir au dispositif 190 les données à traiter. La mémoire 126 contient les coefficients W de la TFD. Elle est connectée au bus 51 par l'intermédiaire de la ligne 143 et du commutateur 109. Le processeur d'adresse 125 de la mémoire 126 est relié à son bus d'adresse 141 par une ligne 142. La mémoire 126 est par exemple une mémoire morte (ROM en terminologie anglosaxonne) ou mémoire morte programmable (PROM en terminologie 10 anglo-saxonne). Avantageusement le dispositif selon l'invention permet le changement des coefficients W de la TFD. Les jeux supplémentaires des coefficients sont stockés dans une mémoire externe du processeur 500. Le processeur d'adresse 125 permet l'adressage de cette mémoire par la ligne 142 et le bus 124. Les 15 données de cette mémoire sont présentes sur le bus 123 qui est connecté au bus 51 par l'intermédiaire du commutateur 109. Le processeur d'entrée-sortie 129 est connecté à une horloge d'entréesortie externe. Toutes les horloges internes au processeur 500 sont synchronisées par le dispositif de contrôle 127 au moyen de la ligne 20 162. Suivant le type de calcul à exécuter les additionneurs 43 et 42 doivent exécuter des additions'ou des soustractions. La commutation entre ces deux fonctions est effectuée par les signaux 145 et 146 reçus à partir du dispositif de contrôle 127 par l'intermédiaire de la ligne 163. Le nombre N des termes de la suite f dont on veut 25 calculer la TFD est donné par la ligne 153. L'ordre d'effectuer une pondération est donné au dispositif de contrôle 127 par la ligne 152 par exemple sur un bit. L'ordre de calculer le module est donné au dispositif de contrôle 127 par la ligne 151 par exemple sur un bit. L'ordre de commencement de calcul est donné au dispositif de 30 contrôle 127 par la ligne 150 par exemple sur une ligne transmettant un bit. La fin des calculs est signalé par un dispositif de contrôle 127 'par la ligne 149 par exemple sur un bit. Pour ne pas encombrer la figure les lignes 161, 162 et 163 ne sont pas représentées. La mémoire 126 comporte les coefficients w de la TFD qui sont par exemple les racines Nièmes de l'unité. En fait pour tous les calculs c'est le coefficient appartenant à l'intervalle 0,1r sont nécessaires. Dans une variante de réalisation la mémoire 126 ne contient que les coefficients appartenant à l'intervalle 0,r/4; les 5 autres coefficients étant déduits par des régles classiques de trigonométries. La mémoire 126 contient le coefficient de la TFD de taille maximale que l'on veut calculer, par exemple 4096; le coefficient d'une TFD de taille inférieure constitue un sousensemble des coefficients de la TFD de la taille maximale. Dans un exemple de réalisation le multiplieur 41 est un multiplieur opérant sur des données en format fixe par exemple de seize bits comportant huit étages. Dans le second exemple de réalisation permettant d'assurer la multiplication de nombre en format à virgules flottantes le multiplieur comporte un circuit oe traitement de l'exposant fournissant l'explosant du résultat. Dans le troisième exemple de réalisation le multiplieur 41 comporte un dispositif permettant de donner le poids respectif aux bits au cas ou le format n'est pas normalisé. Les additionneurs 43 et 42 traitent des opérants en format à virgules flottantes avec six bits d'exposant et dix huit bits de mantisse. Avantageusement les additionneurs comportent trois étages pipe-line comportant un étage de dénormalisation, un étage additionneur et un étage de rénormalisation. Comme il est montré par la formule I le calcul par le dispositif selon l'invention d'une TFD consiste à subdiviser en groupes indépendants de taille réduite en exécutant toujours les papillons TFD des figures I ou 2. Le nombre de ces papillons d'un groupe est donc fixé par la taille du tableau de donnée d'entrée. Par 30 exemple pour une TFD de trente-deux termes on effectue deux étapes: une première avec quatre groupes de huit termes et une seconde avec huit groupes de quatre termes. Ainsi on effectue successivement le transfert un par un des quatre tableaux de donnée des huit termes puis des huit tableaux de donnée de quatre points dans les mémoires 130 et 131. Une fois le calcul exécuté les tableaux résultant sont transférés dans la mémoire externe non représentée aux mêmes adresses que les tableaux d'entrée. On dit alors que le calcul s'effectue "en place". La mémoire interne de calcul est partagée en deux blocs 130 et 131 assurant alternativement le rôle des mémoires d'entréesortie et celui de la mémoire de calcul. Avantageusement le bus 100 a une capacité permettant l'accès des données complexes. Par exemple de l'opération élémentaire nécessitant quatre multiplications réelles et six 10 additions réelles la mémoire par exemple 130 va fournir un dispositif de données complexes et recevoir egalement deux données complexes les coefficients sont issus par exemple de la mémoire 126. Les tableaux suivants donnent les décompositions permettant de calculer les TFD comprises entre 8 termes et 32768 termes. TABLEAU II N Groupement Nombre d'étapes 8 8 1 16 16 1 32 32 1 64 8x8 2 128 8x 16 2 256 16 x 16 2 512 16 x 32 2 1024 32 x 32 2 2048 8 x 16 x 16 3 4096 16 x 16 x 16 3 8192 16 x 16 x 32 3 16384 16 x 32 x 32 3 32768 32 x 32 x 32 3 La mémoire par exemple 130 est donc stockée soit: 30 - quatre tableaux de huit termes; - deux tableaux de seize termes; - un tableau de trente-deux termes. Dans le cas général la mémoire externe non représentée contient R tableau de N termes. A la fin d'un calcul d'une TFD de N termes le processeur 129 passe au tableau suivant. La figure 9 illustre les séquences d'adresse nécessaires aux diverses étapes du traitement TFD par le processeur 500. On a vu dans le tableau Il qu'une TFD de N termes peut se décomposer par exemple en trois étapes comportant des groupes de NI, N2, N3 termes tels que N = Nix N2x N3. Dans un exemple de réalisation 10 une séquence d'adresse GI comportait la juxtaposition de trois nombres CI, C2 et C3 de longueur respectivement Log2 N1, Log2 N2, Log2 N3. Le processeur 129 fournit à la mémoire externe l'adresse des données d'entrée du groupe à exécuter. Pour les calculs du groupe de taille N on fait varier CI, C2 et C3 restant constant. Pour calculer le groupe de taille N2 on fait varier C2, CI et C3 restant constant. Pour calculer le groupe de taille N3 on fait varier C3, Cl et C2 restant constant. Un exemple d'adresse fourni par un processeur 129 à la mémoire externe de taille N1 est donné par le tableau III. 20 TABLEAU III C1 C2 C3 28 27 26 25 24 23 22 21 20 256 128 64 32 16 8 4 2 1 O O 0 0 I I 0 I 0 0 0 1 0 1 1 0 1 0 0 1 0 0 I 1 0 1 0 0 -1 1 0 I 1 0 I 0 1 0 0 0 1 1 0 1 0 I 0 I 0 I 1 0 I 0 I I 0 0 I 1 0 1 O 1 I I 0 I I 0 I 0 Le calcul s'exécutant "en place" le processeur 129 fournit donc les adresses de sortie, ces adresses sont toutefois décalées dans le temps par rapport aux adresses d'entrée. TABLEAU IV Entrées-sorties Mémoire interne Suite Impland'entrée tation Suite ler étage Suite 2ème étage Suite 3ème étage O O 0 000 0 000 0 000 1024 I 1 001 2 010 4 100 512 2 2 010 4 100 I 001 1536 3 3 011 6 110 5 101 256 4 4 100 I 001 2 010 1280 5 5 101 3 011 6 110 768 6 6 110 5 101 3 011 1792 7 7 111 7 111 7 111 Dans l'exemple de réalisation représenté sur la figure 6 les coefficients de pondération sont contenus dans une mémoire externe au processeur 500. Le processeur d'adresse 125 calcule ces coefficients et transmet par la ligne 142 au bus 124. Les coefficients 20 obtenus sont envoyés dans la mémoire externe non représentée par le bus de donnée 123 au bus 51. Etant donné que chaque terme dont on veut calculer la TFD doit être multiplié par un coefficient de même indice dans un exemple de réalisation les calculs des coefficients sont effectués par un compteur binaire. Les coefficients 25 sont présents sur le bus 123 de façon séquentielle. Dans un autre exemple de réalisation les coefficients de la pondération sont symétriques par rapport aux termes d'indice N/2. Dans ce cas il est possible que la mémoire 126 ne contient donc N/2 premier coefficient de la loi de pondération. Dans ce cas un 30 dispositif transformant les bits d'adresse à partir du coefficient de rang N/2 est adjoint sur le bus d'adresse 141 de la mémoire 126. Dans ce qui suit nous allons présenter un exemple d'organisation d'adressage par le processeur 125 de la mémoire 126, étant bien entendu que d'autres types d'adresse d'organisation d'adressage ne sortent pas du cadre de la présente invention. Par exemple la mémoire 126 peut contenir rangées séquentiellement les unes à la suite des autres toutes les suites des coefficients nécessaires pour 5 - effectuer les calculs de transformée de Fourier voulus. Dans ce cas le processeur d'adresse 125 comportera un compteur binaire qui ajoutera à chaque cycle d'horloge un bit à l'adresse du début de la séquence. Avantageusement on essaie pour limiter la taille de la 10 mémoire 126 en stockant les séquences de coefficients nécessaires au calcul de TFD qu'une seule fois en les adressant autant de fois qu'il est nécessaire pour effectuer un calcul. Dans ce cas l'adresse comporte deux parties, une première partie appelée par la suite séquence de base, fonction uniquement de la taille du groupe TFD 15 calculée et une seconde partie appelée par la suite indexe cornportant l'adresse physique à l'intérieur de la mémoire 126 du coefficient. Un exemple de l'adressage de séquence de base est donné par les tableaux V, VI et VII. Le tableau V correspond à un tableau de calcul des huit termes, le tableau VI à un tableau de 20 calcul de seize termes, et le tableau VII à un tableau de calcul de trente-deux termes. Dans un exemple de réalisation l'indexe est obtenu en faisant correspondre un masque binaire à chaque étape et en multipliant bit à bit pour les bits de même poids la valeur du masque pour la valeur du compteur binaire. Un exemple d'une telle 25 séquence de base pour une taille NI 16 du tableau de la TFD est donné par le tableau VIII. TABLEAU V Ni=8 Etage Papillon 0 I 2 0 0 0 0 I o o N/8 2 0 N/4 2N/8 3 0 N/4 3N/8 : i, À:: '.5S TABLEAU VI Ni= 16 Etage Papillon o o o o o o o o o o o o o N/4 N/4 N/4 N/4 2 o 0 N/8 N/8 2N/8 2N/8 3N/8 2N/8 3 0 o N/16 2N/16 3N/16 4N/16 5N/16 6N/16 7N/16 10. TABLEAU VII :, -...-' i:: .. '15 S Ni=32 : -.;: 8 -:.-'02Q: ' -:, -:: _ "-:.5... 0 - ':.>: " - Etape Papillon o 1 3 4 5 6 7 8 9 10 11 12 13 14 15 0 1 0 0 0 0 0 0 0 0 0 0 0 0 O O 0 0 O N/4 O N/4 O N/4 O N/4 O N/4 0 N/4 O N/4 O N/4 2 o 0 0 0 N/8 N/8 N/8 N/8 2N/8 2N/8 2N/8 2N/8 3N/8 3N/8 3N/8 3N/8 N/ 2N/8 2N/8 2N/8 2N/8 3N/8 3N/8 3N/8 3N/8 3 o 0 N/16 N/I16 2N/16 2N/16 3N/16 3N/16 4N/16 4N/16 5N/16 5N/16 6N/16 6N/16 7N/16 7N/16 4 0 N/32 2N/32 3N/32 4 N/32 5N/32 6N/32 7N/32 8N/32 9N/32 10 N/32 1 IN/32 12N/32 13N/32 14 N/32 15N/32 TABLEAU VIII Ni = 16 MASQUE ETAGE 0 I 2 3 COMPTEUR 000 100 110 111 000 000 000 000 000 001 000 000 000 001 000 000 010 010 011 000 000 010 011 000 100 100 100 101 000 100 100 101 000 100 110 110 111 000 100 110 111 Si la mémoire 126 ne contient que les coefficients de l'intervalle 0,ii/4 un décodeur non représenté sur la figure 6 est inséré 15 avant la mémoire 126, ce décodeur assure l'adressage de la mémoire 126 ainsi que l'adressage du dispositif 190 permettant le changement de signe conforme aux formules trigonométriques permettant de passer de l'intervaile [0,r/4] à l'intervalle [0,1r]. Sur la figure 7, on peut voir les chemins de données pour les 20 calculs des membres de l'équation de Parseval. Une des mémoires tampons, par exemple 61 est reliéepar la ligne 53 aux entrées du multiplieur 41. La sortie du multiplieur 41 est reliée à un additionneur, par exemple l'additionneur 42. Dans l'exemple de réalisation illustré sur la figure 7, la sortie du 25 multiplieur 41 est reliée aux entrées de l'additionneur 42 par l'intermédiaire d'une ligne 56, de l'additionneur 43, des lignes 58 et 580, des mémoires tampon 64 et 65 et des commutateurs 864 et 865. Dans cette réalisation du dispositif selon l'invention l'additionneur 43 peut être rendu transparent sur commande 145 reçucdu 30 circuit de contrôle 127. Les commutateurs 864 permettent de relier soit la sortie de \ X l'additionneur 42 soit une mémoire tampon 64 à la première entrée de l'additionneur 42. Le commutateur 865 permet de relier soit la sortie de l'additionneur 42 soit la mémoire tampon 65 à une seconde entrée de l'additionneur 42. Les commutateurs 864 et 865 sont contrôlés par des signaux de commande référencés respectivement 884 et 885. Dans une variante de réalisation non représentée l'additionneur 42 est un additionneur accumulateur. Dans ce cas, les commutateurs 10 864 et 865 ne sont plus nécessaires. L'additionneur 42 est connecté à un multiplexeur 249 par exemple par l'intermédiaire des mémoires tampon 66 et 67. Le multiplexeur 249 transmet la valeur de l'additionneur 42 alternativement au diviseur 242 ou au registre 207. Le diviseur 242 divise la valeur reçue par N. La valeur N, égale au nombre de point sur lequel est effectuée la TFD, est transmise au diviseur 242 par le bus 299. Les registres 207 retardent le signal d'un nombre de temps prédéterminé. Par exemple, si le calcul des vérifications effectué par l'opérateur 214 est trois fois 20 plus rapide que le calcul de la TFD par l'opérateur 500 de la figure 6, les registres 207 comportent trois registres connectés en série introduisant donc un retard de trois cycles d'horloge. La sortie des registres 207 et du diviseur 242 aux deux entrées du soustracteur 209. Le soustracteur 209 calcule la différence entre 25 les deux membres de l'égalité (1) du théorème de Parseval. Le soustracteur 209 est connecté à l'opérateur 210 qui calcule la valeur absolue de la différence calculée par le soustracteur 209. L'opérateur 210 d'une part et la mémoire 212 d'autre part sont connectés au comparateur 211. La mémoire 212 contient la valeur d'erreur maximale admissible dans le calcul de la TFD. Avantageusement, la mémoire 212 est une mémoire vive (RAM en terminologie anglo-saxonne). La valeur stockée dans la mémoire 212 est par exemple chargée par un bus 215. Si la différence entre les deux membres de l'égalité de Parseval (I) est supérieure à la tolérence stockée dans la mémoire 211 le comparateur 211 déclenche un dispositif d'alarme 213 par l'intermédiaire d'une ligne 251. Il est bien entendu que les processeurs des figures 7 et 8 sont donnés à titre d'exemples non limitatifs. Par exemple le processeur 5 210 peut être absent dans une liaison parallèle si l'on ne conserve pas le signe. De même le diviseur 242 effectuant une division par une puissance de deux peut être remplacé par un câblage adéquat de l'opérateur 190. Si, lors d'un test on détecte la défaillance d'un processeur 10 selon l'invention diverses mesures peuvent être prises pour minimiser les conséquences de cette défaillance comme par exemple: - déconnection et éventuellement, si cela est possible remplacement du processeur défaillant; - reconfiguration d'un système multiprocesseur, les processeurs dont 15 le test n'a pas révélé de défaillance prenant en charge les calculs qui auraient dus être exécutés par le processeur défaillant. La reconfiguration du système est obtenue, par exemple, par un signal de commande 895 émis à partir de la ligne 251. Sur la figure 9, on peut voir la variation dans le temps des 20 séquences d'adresse. La courbe 201 représente les variations dans le temps des séquences d'adresse Gi de transfert entre la mémoire externe et la mémoire interne. La courbe 202 représente l'évolution dans le temps des séquences d'adresse du groupe dont on exécute les traitements. La courbe 203 représente l'évolution dans le temps des 25 séquences d'adresse Gi des transferts mémoire interne-mémoire externe. La courbe 204 représente les séquences d'adresse que doit calculer le processeur 129 de la figure 6. Ceci donc dans l'exemple ou on part de Gi et ou k = 1 la séquence Gi, Gi + 2, Gi + 1, Gi + 3, Gi + 2, G + 4, etc.... k est égal au nombre des termes de la suite 30 partielle par le nombre de termes du groupe de l'étape en cours. Un exemple des implantations pour un calcul de groupe de huit termes comportant successivement trois étapes de quatre papillons de la figure 1 est donnée par le tableau IV. La suite de la première étape est séquentielle, au début de chacune des étapes suivantes on effectue un décalage circulaire à gauche de Log2 (taille du groupe). Sur la figure 10, on peut voir l'évolution dans le temps des fonctions exécutées par les mémoires 130 et 131. Les fonctions exécutées par la mémoire 130 portent la référence 87 elles sont exécutées par la mémoire 131 de la référence 188. La longueur TI correspond au temps de calcul, la longueur T2 correspond au retard pipe-line du calculateur. Une première fonction lecture d'une mémoire 130 porte sur la figure la référence 175 tandis que l'écriture porte la référence 178. Simultanément la mémoire 131 10 termine l'écriture en 171 et commence la gestion des entrées- sorties en 180. Au cycle suivant la mémoire 130 assure les échanges avec la mémoire externe en 176 i.e les entrées et sorties. Simultanément en 181 la mémoire 131 assure la lecture et en 185 l'écriture. Au cycle suivant les rôles sont rééchangés et en 177 la mémoire 130 assure la 15 lecture et en 179 l'écriture tandis que la mémoire 131 assure les entrées et sorties en 182. La suite des cycles continuant de façon analogue n'est pas représentée sur la figure. Dans une première variante de réalisation le dispositif selon l'invention est réalisé sous forme de circuits imprimés. Avantageu20 sement le dispositif selon l'invention comporte des circuits intégrés. Avantageusement ces circuits intégrés sont en technologie en arséniure de gallium assurant une grande rapidité de traitement. Dans une seconde variante du dispositif selon l'invention à réaliser sous forme de circuit intégré. Avantageusement ce circuit 25 intégré est réalisé en technologie en arséniure de gallium. REVENDICATIONS 1. Processeur de calcul de la transformée de Fourier discrète comportant au moins un additionneur (42 et/ou 43) et un multiplieur (41), caractérisé par le fait qu'il comporte des moyens permettant au multiplieur (41) d'effectuer des élévations au carré et qu'un addi5 tionneur (42) est susceptible d'effectuer la somme desdits carrés. 2. Processeur selon la revendication 1, caractérisé par le fait que l'additionneur (42) susceptible d'effectuer la somme des carrés est un additionneur accumulateur. 3. Processeur selon la revendication 1, caractérisé par le fait 10 qu'il comporte des commutateurs (864, 865) permettant de connecter la sortie de l'additionneur (42) susceptible d'effectuer la somme des carrés présents à son entrée. 4. Processeur selon la revendication 1, 2 ou 3, caractérisé par le fait que, sur commande (145) un additionneur (43) est susceptible 15 de transmettre des données sans les modifier. 5. Processeur selon la revendication 1, 2, 3 ou 4, caractérisé par le fait qu'il comporte un comparateur (211, 238) émettant un signal électrique (251) si la valeur de la différence des deux membres de l'équation de Parseval présente à une première de ses 20 entrées est supérieure à une valeur de la tolérance présente sur une seconde de ses entrées. 6. Processeur selon la revendication 1, 2, 3, 4 ou 5, caractérisé par le fait qu'il comporte un multiplieur (41) susceptible de recevoir la même donnée sur ses deux entrées, la sortie du multiplieur étant 25 connectée à l'entrée d'un additionneur (42) susceptible d'effectuer la somme des résultats successifs fournis par ledit multiplieur (41), la sortie dudit additionneur (42) étant connectée à un multiplexeur (249), le multiplexeur (249) est connecté à un soustracteur (209) d'une part à travers un diviseur (242) et d'autre part à travers des registres (207) induisant un retard. 7. Processeur selon l'une quelconque des revendications I à 6, caractérisé par le fait qu'il comporte des circuits intégrés. 8. Processeur selon l'une quelconque des revendications 1 à 6, caractérisé par le fait qu'il est réalisé sous forme d'un circuit intégré. 9. Processeur selon l'une quelconque des revendications précé10 dentes, caractérisé par le fait qu'il est associé à un dispositif d'alarme (213) destiné à signaler le mauvais fonctionnement de l'opérateur effectuant les transformées de Fourier discrètes. 10. Processeur selon la revendication 7, caractérisé par le fait qu'il comporte des circuits en arséniure de gallium.