Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
DEVICE FOR CALCULATING AN ANALOG FOURIER TRANSFORM
Document Type and Number:
WIPO Patent Application WO/2020/094863
Kind Code:
A2
Abstract:
The device transforms an analog input signal with N components x(0), x(1)... x(N-1) into an output signal with N components X(0), X(1)... X(N-1) functions of said components x(0), x(1)... x(N-1), said device comprising basic addition and/or subtraction cells linked in a butterfly-type architecture to perform said functions, each basic cell comprising an operator performing a conditional division by two of the result of the addition (31) operation or subtraction operation performed, the condition being the saturation (33) of said operator.

Inventors:
GARREC PATRICK (FR)
HODE JEAN-MICHEL (FR)
VAILLANT VICTOR (FR)
Application Number:
PCT/EP2019/080745
Publication Date:
May 14, 2020
Filing Date:
November 08, 2019
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
THALES SA (FR)
International Classes:
G06F17/14; G06J1/00
Other References:
F. RIVET, CONTRIBUTION À L'ÉTUDE ET À LA RÉALISATION D'UN FRONTAL RADIOFRÉQUENCE ANALOGIQUE EN TEMPS DISCRET POUR LA RADIO-LOGICIELLE INTÉGRALE, 2009
B. SADHU R. HARJANI: "CRAFT: Charge Re-use Analog Fourier Transform", 2014, article "Cognitive Radio Receiver Front-Ends"
A. A. BALAKRISHNANV. SURESH BABUM. R. BAIJU, IMPLEMENTATION OF RADIX-2 AND SPLIT-RADIX FAST FOURIER TRANSFORM ALGORITHM USING CURRENT MIRRORS, 2013
Attorney, Agent or Firm:
LUCAS, Laurent et al. (FR)
Download PDF:
Claims:
REVENDICATIONS

1. Dispositif de calcul d’une transformée de Fourier analogique, transformant un signal d’entrée analogique à N composantes J (0), JC(1 ) ... JC(N-1 ) en un signal de sortie à N composantes X(0), X(1 ) ... X(N-1 ) fonctions desdites composantes J (0), J (1 ) ... JC(N-1 ), ledit dispositif comportant des cellules élémentaires d’addition et/ou de soustraction de type analogique chaînées selon une architecture de type papillon pour réaliser lesdites fonctions, caractérisé en ce que chaque cellule élémentaire (51 ) est apte à réaliser une division par deux conditionnelle du résultat de l’opération d’addition (31 ) ou de soustraction effectué, la condition étant la saturation (33) d’une opération d’addition et/ou de soustraction.

2. Dispositif selon la revendication 1 , caractérisé en ce que l’architecture papillon étant de type parallèle, chaque cellule élémentaire recevant en entrée deux signaux (A, B) comporte au moins :

- un additionneur de type analogique (1 1 ) :

o effectuant l’addition desdits signaux (A + B) et délivrant le

résultat sur une première sortie ;

o effectuant ladite addition divisée par deux ((A + B)/2) et délivrant le résultat sur une deuxième sortie ;

o étant équipé d’un comparateur apte à détecter une saturation dudit opérateur, et délivrant sur une troisième sortie l’information de saturation ;

- un premier module (23) sélectionnant l’une ou l’autre desdites sorties dudit additionneur (11 ) en fonction de ladite information de saturation, la sortie sélectionnée constituant la première sortie de ladite cellule élémentaire ;

- un soustracteur de type analogique (12) :

o effectuant la soustraction entre lesdits signaux (A - B) et

délivrant le résultat sur une première sortie ;

o effectuant ladite soustraction divisée par deux ((A - B)/2) et délivrant le résultat sur une deuxième sortie ; un deuxième module (24) sélectionnant l’une ou l’autre desdites sorties dudit du soustracteur (12) en fonction de ladite information de saturation, la sortie sélectionnée constituant la deuxième sortie de ladite cellule élémentaire.

3. Dispositif selon la revendication 2, caractérisé en ce que lesdites cellules élémentaires étant regroupées par lignes (1’, 2’) et par étages (1 , 2), lesdits modules (23, 24) d’un même étage (1 , 2) sont commandés par un même signal, ledit signal commandant la division par deux dès qu’au moins une cellule délivre une information de saturation.

4. Dispositif selon la revendication 1 , caractérisé en ce que l’architecture papillon étant de type série, chaque cellule élémentaire recevant en entrée deux signaux A, B comporte au moins :

- un additionneur de type analogique (31 ) :

o effectuant une première addition A+B et délivrant le résultat sur une première sortie ;

o effectuant ladite première addition divisée par deux ((A + B)/2) et délivrant le résultat sur une deuxième sortie ;

o effectuant une deuxième addition A/2k + B et délivrant le résultat sur une troisième sortie, k étant le rang de l’étage auquel appartient ladite cellule dans ladite architecture série ; o effectuant ladite deuxième addition divisée par deux

((A/2k + B)/2) et délivrant le résultat sur une quatrième sortie ; o étant équipé d’un comparateur apte à détecter une saturation dudit additionneur ;

- une mémoire (32) recevant ladite information de saturation et les

informations de saturation des opérateurs des étages précédents, ledit module délivrant une information de commande fonction desdites informations de saturation ;

- un premier multiplexeur (34) ayant pour entrées lesdites sorties dudit additionneur, ledit multiplexeur sélectionnant en sortie l’une desdites entrées en fonction de ladite information de commande, la sortie sélectionnée constituant la première sortie de ladite cellule

élémentaire ;

- un soustracteur de type analogique : o effectuant une première soustraction A - B et délivrant le résultat sur une première sortie ;

o effectuant ladite première soustraction divisée par deux ((A- B)/2) et délivrant le résultat sur une deuxième sortie ;

o effectuant une deuxième soustraction A/2k - B et délivrant le résultat sur une troisième sortie ;

o effectuant ladite deuxième soustraction divisée par deux

((A/2k - B)/2) et délivrant le résultat sur une quatrième sortie ; un deuxième multiplexeur ayant pour entrées lesdites sorties dudit soustracteur, ledit multiplexeur sélectionnant en sortie l’une desdites entrées en fonction de ladite information de commande, la sortie sélectionnée constituant la deuxième sortie de ladite cellule

élémentaire. 5. Dispositif selon la revendication 4, caractérisé en ce que ladite mémoire (32) comporte une machine d’état délivrant lesdites informations de commande.

Description:
DISPOSITIF DE CALCUL D’UNE TRANSFORMEE DE FOURIER

ANALOGIQUE

La présente invention concerne un dispositif de calcul d’une transformée de Fourier analogique.

L’invention s’applique notamment dans les domaines des radars, des contremesures et des leurres actifs, plus particulièrement dans le traitement du signal pour améliorer la dynamique des signaux reçus, et notamment pour la réponse aux brouillages dans des temps très courts tout en restant compatible des dynamiques de signaux à traiter.

Lorsque le temps d’analyse des signaux devient critique en regard du temps de réaction, le traitement analogique conserve un avantage sur le traitement numérique. Les performances du traitement du signal en analogique sont toutefois tributaires de la dynamique de traitement qui est limitée, contrairement au traitement numérique. En particulier, l’utilisation de transformées de Fourier en analogique pose le problème de la dynamique atteignable, incluant le gain lié aux filtres de la transformation de Fourier. Il faut en effet pouvoir traiter des signaux dont le niveau est en dessous du bruit et extraire ces signaux afin de les traiter.

Dans le contexte de l’invention, l’état de l’art concerne les DRFM (« Digital Radio Frequency Memories ») qui permettent de créer des réponses à la menace. Les méthodes de dilution, de séduction, de confusion et déception demandent des analyses rapides qui sont faites avec des dynamiques restreintes. Il n’est pas rare d’avoir des mémoires de 1 bit de profondeur, ce qui est insuffisant, notamment en présence de brouillage multiple, intentionnel ou non.

Pour traiter les multiples menaces, ou pour pouvoir répondre en présence de signaux de communication, il faut pouvoir exploiter une dynamique plus importante.

Les méthodes actuelles de traitement analogique des transformées de Fourier sont basées sur un principe de non débordement de la dynamique.

De ce fait, à chaque fois que le traitement du signal peut engendrer du gain de traitement, une normalisation est effectuée. Ces méthodes ont l’avantage de maîtriser la dynamique des signaux de sortie dans la mesure où il n’y a pas de possibilité de saturation si l’entrée ne sature pas. Un inconvénient réside cependant dans le SCV (« Sub Clutter Visibility »). En effet, en divisant les signaux par le gain maximum possible on dégrade le facteur de bruit et on n’est plus capable d’extraire des signaux noyés dans le bruit. De très nombreuses architectures implémentant la méthode connue du papillon Doppler utilisent cette pratique. Les documents suivants en sont une illustration :

- F. Rivet, « Contribution à l’étude et à la réalisation d’un frontal radiofréquence analogique en temps discret pour la radio-logicielle intégrale », 2009 ;

- B. Sadhu R. Harjani, « Cognitive Radio Receiver Front-Ends », Chapter 5 CRAFT : Charge Re-use Analog Fourier T ransform, 2014 ;

- A. A. Balakrishnan V. Suresh Babu M. R. Baiju, « Implémentation of Radix-2 and Split-Radix Fast Fourier Transform Algorithm Using Current Mirrors », 2013.

Un but de l’invention est de surmonter les inconvénients de l’art antérieur, notamment en permettant d’augmenter la performance de détection des signaux noyés dans le bruit, tout en gardant l’assurance que la saturation n’affecte pas le traitement du signal.

A cet effet, l’invention a pour objet un dispositif de calcul d’une transformée de Fourier analogique, transformant un signal d’entrée analogique à N composantes 0), 4 1 ) N 1 ) en u n signal de sortie à N composantes X(0), X(1 ) ... X(N-1 ) fonctions desdites composantes 0), 4 1 ) 4 N · 1 ). ledit dispositif comportant des cellules élémentaires d’addition et/ou de soustraction de type analogique chaînées selon une architecture de type papillon pour réaliser lesdites fonctions, chaque cellule élémentaire étant apte à réaliser une division par deux conditionnelles du résultat de l’opération d’addition ou de soustraction effectué, la condition étant la saturation d’une opération d’addition et/ou de soustraction.

Dans un mode de réalisation possible l’architecture papillon étant de type parallèle, chaque cellule élémentaire recevant en entrée deux signaux (A, B) comporte au moins :

- un additionneur de type analogique : o effectuant l’addition desdits signaux (A + B) et délivrant le résultat sur une première sortie ;

o effectuant ladite addition divisée par deux ((A + B)/2) et délivrant le résultat sur une deuxième sortie ;

o étant équipé d’un comparateur apte à détecter une saturation dudit opérateur, et délivrant sur une troisième sortie l’information de saturation ;

- un premier module sélectionnant l’une ou l’autre desdites sorties dudit additionneur en fonction de ladite information de saturation, la sortie sélectionnée constituant la première sortie de ladite cellule

élémentaire ;

- un soustracteur de type analogique :

o effectuant la soustraction entre lesdits signaux (A - B) et

délivrant le résultat sur une première sortie ;

o effectuant ladite soustraction divisée par deux ((A - B)/2) et délivrant le résultat sur une deuxième sortie ;

- un deuxième module sélectionnant l’une ou l’autre desdites sorties dudit du soustracteur en fonction de ladite information de saturation, la sortie sélectionnée constituant la deuxième sortie de ladite cellule élémentaire.

Lesdites cellules élémentaires étant regroupées par lignes et par étages, lesdits modules d’un même étage sont par exemple commandés par un même signal, ledit signal commandant la division par deux dès qu’au moins une cellule délivre une information de saturation.

Dans un autre mode de réalisation possible l’architecture papillon étant de type série, chaque cellule élémentaire recevant en entrée deux signaux A, B comporte au moins :

- un additionneur de type analogique :

o effectuant une première addition A+B et délivrant le résultat sur une première sortie ;

o effectuant ladite première addition divisée par deux ((A + B)/2) et délivrant le résultat sur une deuxième sortie ; o effectuant une deuxième addition A/2 k + B et délivrant le résultat sur une troisième sortie, k étant le rang de l’étage auquel appartient ladite cellule dans ladite architecture série ; o effectuant ladite deuxième addition divisée par deux

((A/2 k + B)/2) et délivrant le résultat sur une quatrième sortie ; o étant équipé d’un comparateur apte à détecter une saturation dudit additionneur ;

- une mémoire recevant ladite information de saturation et les

informations de saturation des opérateurs des étages précédents, ledit module délivrant une information de commande fonction desdites informations de saturation ;

- un premier multiplexeur ayant pour entrées lesdites sorties dudit

additionneur, ledit multiplexeur sélectionnant en sortie l’une desdites entrées en fonction de ladite information de commande, la sortie sélectionnée constituant la première sortie de ladite cellule

élémentaire ;

- un soustracteur de type analogique :

o effectuant une première soustraction A - B et délivrant le

résultat sur une première sortie ;

o effectuant ladite première soustraction divisée par deux ((A- B)/2) et délivrant le résultat sur une deuxième sortie ;

o effectuant une deuxième soustraction A/2 k - B et délivrant le résultat sur une troisième sortie ;

o effectuant ladite deuxième soustraction divisée par deux

((A/2 k - B)/2) et délivrant le résultat sur une quatrième sortie ;

- un deuxième multiplexeur ayant pour entrées lesdites sorties dudit soustracteur, ledit multiplexeur sélectionnant en sortie l’une desdites entrées en fonction de ladite information de commande, la sortie sélectionnée constituant la deuxième sortie de ladite cellule

élémentaire.

Ladite mémoire comporte par exemple une machine d’état délivrant lesdites informations de commande.

D’autres caractéristiques et avantages de l’invention apparaîtront en regard de dessins annexés qui représentent : - La figure 1 , un exemple d’algorithme de calcul d’une FFT de type papillon ;

- La figure 2, un premier exemple de réalisation d’un dispositif selon l’invention dans une architecture de type parallèle ;

- La figure 3, un exemple de réalisation de réalisation d’un additionneur conditionnel utilisé dans un dispositif selon l’invention, dans une architecture de type série ;

- La figure 4, une architecture de calcul d’une FFT Radix 4 ;

- La figure 5, une décomposition d’une FFT à 4 points en deux FFT à deux points ;

- La figure 6, une cellule élémentaire de calcul d’une FFT à deux points utilisant un additionneur conditionnel du type de la figure 3 ;

- La figure 7, un chronogramme de compteurs utilisés dans un dispositif selon l’invention, dans une architecture de type série ;

- La figure 8, une illustration d’un exemple de programmation d’une machine d’état commandant les étages d’un dispositif selon l’invention dans une architecture série.

La présente invention permet avantageusement d’améliorer la dynamique d’un système électronique réalisant une transformée de Fourier rapide discrète (FFT). Pour la clarté de la description, on présente des exemples d’architectures à transfert de charge fondées sur les algorithmes connus à base de Radix 2, notamment les algorithmes Radix 2 et Radix 4, appelés algorithmes de Cooley-Tukey. Le principe de l’invention est extensible à d’autres types d’implémentation de la FFT.

Avant de décrire l’invention, on rappelle la définition de la dynamique en radiofréquences et les spécificités de la FFT.

En analyse radiofréquence, on peut communément définir la dynamique D d’un système comme la différence entre la puissance d’entrée maximale Pin , max et la puissance d’entrée minimales P in, min supportable par le système, soit :

D = Pin, max Pin, min (1 )

La puissance d’entrée minimale P in, min est la puissance d’entrée à partir de laquelle le système assure un signal de sortie S dit exploitable, c’est-à-dire un rapport signal à bruit en sortie SNR 0Ut, min suffisant pour dépasser le bruit de fond F :

S = F + SN Rout , min (2)

Le bruit de fond est défini comme la somme du bruit thermique P th et le facteur de bruit NF du système, soit :

S = P th + NF + SNR 0Ut , min (3)

La puissance d’entrée maximale peut être définie comme la puissance à partir de laquelle des distorsions apparaissent en sortie du système. En pratique on peut considérer les produits d’intermodulation d’ordre trois.

La transformée de Fourier rapide discrète (FFT) est une projection du signal étudié sur une base constituée de fonctions sinusoïdales. On peut aussi voir la transformée comme une banque de filtres où chaque filtre est accordé sur un des vecteurs de la base de projection, c’est-à-dire l’une des sinusoïdes. C’est donc un ensemble de filtres adaptés pour lesquels on peut calculer un gain cohérent. La présence d’un tel gain signifie que la FFT opère une discrimination entre signal périodique et signal non périodique (ici, le bruit). Elle effectue une intégration cohérente du signal utile.

On peut montrer qu’un signal bruité traité par une FFT peut potentiellement être extrait du bruit dans lequel il est noyé. La FFT, en tant que banc de filtres adaptés, peut traiter des signaux périodique sur une plage dynamique qui ne se limite pas au plancher de bruit, également appelé SCV (« Sub Clutter Visibility »), évoqué en introduction.

La FFT offre donc une propriété intéressante dans cette SCV. En effet, le signal reste « visible » même sous un certain seuil de bruit puisque le gain cohérent de FFT s’ajoute aux signaux cohérents (fréquences corrélées par la FFT) sans en amplifier le bruit.

Cependant, dans une architecture d’électronique analogique, la dynamique d’un signal est limitée par la source d’alimentation notamment. Si cette dernière propose une tension VDD de 1 volt par exemple, aucun signal ne pourra excéder 1 volt. Cela signifie dans le cas d’additions propagées qu’une saturation est possible, altérant la véracité de l’information transmise.

Une solution classique consiste à diviser systématiquement par 2 les opérandes lors d’une addition. La propriété de SCV est alors perdue dans le bruit accumulé au fil des divisions.

Afin de profiter au maximum de la propriété de SCV, l’invention intègre une division conditionnelle à l’architecture de la FFT comme cela sera décrit par la suite. La division s’opère sur l’ensemble des N échantillons si et seulement si une saturation apparaît. La saturation d’un opérateur effectuant une opération d’addition ou de soustraction correspond au débordement de la dynamique de cet opérateur.

La figure 1 illustre un algorithme de calcul connu, utilisé pour optimiser le calcul d’une FFT à 8 points, dans cet exemple. Cet algorithme est communément appelé papillon. Le passage d’un étage de calcul (« Radix 2 ») à un autre se fait par des additions ou des soustractions. Des multiplications sont effectuées sur les données intermédiaires, tout au long de l’algorithme de calcul de FFT. La formule des coefficients multiplicateurs appliqués est connue. Ces coefficients W , WN, W£, W sont des constantes trigonométriques inférieures à 1. Ils sont connus sous l’appellation de facteurs « twiddle ».

Dans cet algorithme « papillon », les additions comme les soustractions engendrent des augmentations de dynamique. Dans l’exemple de la figure 1 , dans le cas d’une FFT à 8 points, le gain total est de 6 dB pour les trois opérations successives, correspondant aux trois étages 1 , 2, 3 de l’algorithme. Les additions et soustractions sont réalisées respectivement par des opérateurs élémentaires d’addition 1 1 et des opérateurs élémentaires de soustraction 12 de type analogique, c’est-à-dire réalisés selon une structure analogique connue. Par la suite de la description, tous les opérateurs d’addition et tous les opérateurs de soustraction seront de type analogique. Traditionnellement dans les FFT analogiques, pour éviter tout risque de saturation, à chaque opération il y a une division par deux. Cette méthode est très efficace pour éviter les saturations mais c’est au détriment du facteur de bruit qui est dégradé par cette division. On se réfère à la figure 2 qui illustre la mise en œuvre de l’invention pour une architecture de type parallèle. Plus particulièrement, la figure 2 reprend l’architecture de la figure 1 dans une configuration selon l’invention, les facteurs « twiddle » n’étant pas représentés.

Pour la mise en œuvre de la FFT, les cellules élémentaires qui réalisent les opérations d’addition et/ou de soustractions sont chaînées selon une structure de type papillon. Dans la configuration parallèle de la figure 2, les chaînes de cellules élémentaires sont disposées en parallèles (par lignes 1’, 2’) et les cellules de même rang parmi ces chaînes sont regroupées par étages. Deux étages 1 , 2 sont représentés sur la figure 2.

Selon l’invention, on divise par deux s’il y a un débordement, ainsi la possibilité d’extraire le signal sous bruit est préservée. En d’autres termes, pour rompre le compromis entre facteur de bruit et saturation, l’invention propose de réaliser une division par deux conditionnelle.

Chaque opérateur élémentaire (additionneur ou soustracteur) doit alors adresser deux sorties possibles :

- l’opération (addition ou soustraction) ;

- l’opération divisée par deux.

Ecrit autrement, si A et B sont les signaux d’entrées analogiques, chaque opérateur réalise :

A ± B et (A ± B)/2

En fonction de la saturation, on sélectionne A ± B ou (A ± B)/2.

La saturation peut provenir de l’addition comme de la soustraction. Chaque opérateur est muni en interne d’un comparateur apte à détecter cette saturation.

Un opérateur comporte alors une troisième sortie Sat-i, Sat 2 , Sat’-i, Sat’ 2 indiquant l’état de saturation, sous forme d’information binaire.

Chaque étage est équipé d’un d’une porte 21 , 22. Pour chaque étage, cette porte réalise la fonction logique OU entre toutes ses entrées, ces dernières étant les états de saturation fournis par l’ensemble des opérateurs élémentaires 1 1 , 12 de l’étage. La porte OU sélectionne, via un multiplexeur 23, 24 la sortie adéquate pour tous les opérateurs élémentaires :

- l’opération d’addition ou de soustraction, A ± B ;

- ou la division par deux, (A ± B)/2.

La figure 3 illustre la mise en oeuvre pour le cas d’une architecture série, en illustrant plus précisément la réalisation au niveau d’un opérateur élémentaire.

Dans le cas d’une architecture série, le traitement des saturations s’effectue d’une manière différente. En effet les échantillons de la FFT étant sérialisés, on peut être confrontéspar exemple au cas d’une saturation à un étage N (N' eme étage) à la k' eme opération (k > 1 ). S’il est possible de sortir les opérations divisées par deux à partir de cette k' eme opération, cela signifie aussi que les k-1 opérations précédentes sont passées par l’étage N sans être divisées par deux. Il faut alors envisager une propagation de la division aux étages suivant N+n afin de conserver le même rapport d’échelle sur l’ensemble des échantillons traités. A cet effet, l’invention prévoit quatre sorties pour les opérateurs élémentaires.

La figure 3 présente un exemple de mise en oeuvre. L’opérateur 31 représenté est un additionneur qui effectue en fait les opérations suivantes :

- A + B (sortie 1 ) ;

- (A + B)/2 (sortie 2) ;

- A/2 k + B (sortie 3) ;

- (A/2 k + B)/2 (sortie 4).

Les résultats de ces quatre opérations sont fournis par les quatre sorties de l’opérateur. Un multiplexeur 34 sélectionne l’une ou l’autre de ces sorties en fonction d’une commande Dec. L’additionneur est également muni d’un comparateur interne pour détecter les saturations.

La première sortie délivre la présente addition A + B, elle est sélectionnée par le multiplexeur si aucune saturation n’est détectée.

La deuxième sortie délivre la présente addition divisée par deux, (A + B)/2. Elle est sélectionnée si la présente addition sature.

La troisième sortie délivre A/2 k + B. Elle est sélectionnée lorsqu’une saturation a eu lieu dans l’étage précédent après que des additions non saturantes ont été transmises à cet étage. Il faut donc compenser ces additions non saturantes pour conserver la même échelle avec les futures additions qui seront divisées par deux.

La quatrième sortie délivre (A/2 k + B)/2. Elle est sélectionnée si le cas précédent a lieu en même temps qu’une saturation se présente également à cet étage, d’où la division par 2.

A ces sorties, s’ajoute une sortie 33 délivrant une information « Sat » rendant compte de l’état de saturation de l’opérateur. Cette sortie 33 adresse une mémoire 32 qui, à partir de l’état de saturation de chaque opérateur pour chaque étage, émet une décision de sortie. Cette décision de sortie est la commande Dec décrite précédemment qui sélectionne via le multiplexeur 34 l’une des sorties décrites précédemment. La mémoire 32 comporte donc un programme (machine d’état) qui permet de délivrer l’information de commande adéquat en fonction de l’information de saturation de l’opérateur courant et de l’information de saturation des opérateurs des étages précédents. L’information de commande Dec peut être codée sur 2 bits pour sélectionner l’une des quatre entrées du multiplexeur. La mémoire 32 constitue un module de commande sous forme de machine d’état.

La figure 3 présente un additionneur, on peut prévoir sur le même principe un soustracteur qui réalise :

- A - B (sortie 1 ) ;

- (A - B)/2 (sortie 2) ;

- A/2 k - B (sortie 3) ;

- (A/2 k - B)/2 (sortie 4).

On explicite maintenant cette mémoire 32 dans l’exemple d’une FFT 16 points, à partir de l’architecture série illustrée par la figure 4, architecture série mettant en oeuvre l’invention. Par rapport à une implémentation série classique, le multiplexage diminue d’étage en étage. La figure 4 illustre le cas général avec Q étages de FFT 4 (FFT à 4 points), et Q - 1 séries de facteurs twidle, pour q allant de Q - 1 à 1.

On peut noter qu’un bloc FFT 4 peut être décomposé simplement en deux blocs FFT 2 comme illustré par la figure 5.

On peut donc effectuer une décomposition des étages de radix 4 en radix 2. Pour 16 points, cela signifie qu’il y a 4 étages de radix 2, donc huit opérateurs pouvant saturer. La figure 5 illustre cette décomposition en montrant les blocs élémentaires 51 (FFT 2 ) qui ne sont plus du type radix 4 mais du type radix 2, avec les opérations élémentaires ei + e 2 et ei - e 2 . Un bloc FFT2 réalise ainsi les opérations les plus élémentaires de l’algorithme, l’addition (ei + e 2 ) et la soustraction (ei - e 2 ). Ce bloc élémentaire de l’architecture est explicité dans la figure 6 qui suit.

La figure 6 illustre donc un bloc élémentaire 51 , bloc radix 2 (FFT 2 ). Dans le cadre de l’invention, les opérateurs 61 , 62 sont du type de celui de la figure 3. L’opérateur d’addition 61 effectue les opérations décrites relativement à la figure 3.

Le deuxième opérateur 62 est un opérateur de soustraction fonctionnant sur le même principe que l’opérateur d’addition 61 comme décrit précédemment. Un premier multiplexeur 61’ sélectionne la sortie de l’additionneur 61 ou la sortie d’un deuxième multiplexeur 62’ via une ligne à retard 63 propre à la technologie employée et fonction de l’étage. Le deuxième multiplexeur 62’ sélectionne la sortie du soustracteur 62 ou l’entrée e du bloc élémentaire. L’additionneur 61 additionne cette entrée e et la sortie de la ligne à retard. Le soustracteur 62 soustrait l’entrée e à la sortie de la ligne à retard.

Les multiplexeurs sélectionnent l’une ou l’autre de leurs entrées en fonction d’un état logique fourni par un compteur dont le chronogramme est présenté en figure 7 pour chacun des étages, en regard de périodes de temps successives t(1 ), t(2) ... t(16). Pour la clarté de la description, on considère donc une transformée de Fourrier à N = 4 2 = 16 points. On obtient une architecture à deux blocs sérialisés, soit 4 bloc FFT 2 du type de la figure 6 que l’on nomme étage 1 , étage 2, étage 3 et étage 4. Les résultats des opérations élémentaires sont ainsi produits en série aux cadences des compteurs propres à chaque étage.

On revient maintenant à la figure 3, illustrant un additionneur élémentaire 61 tel que présenté à la figure 6. Le principe de fonctionnement est le même pour un soustracteur. La sélection des voies :

- A + B ;

- (A + B)/2 ;

- A/2 k + B ;

- (A/2 k + B)/2. est fonction de l’information de décodage Dec (codée sur deux bits). Cette dernière est fournie par la mémoire 32 et commande le multiplexeur 34 ou tout autre moyen de sélection utilisé. Pour fournir ces commandes en fonction de l’état de saturation Sat, la mémoire 32 comporte une machine d’état.

La figure 8 explicite les opérations effectuées à chaque étage ainsi que leurs sorties sérialisées dans l’exemple précédents avec 4 étages de FFT 2 pour une FFT à 16 points.

A l’aide de ce tableau-chronogramme, on explicite un exemple de programmation d’une machine d’état dans la mémoire 32 afin de gérer les sorties de chaque additionneur. Cet exemple est donné pour le cas particulier d’une transformée à 16 points pour la clarté de l’explication, la généralisation par récurrence à une transformée d’ordre supérieur est aisée. La description de la machine d’état décrite ci-après peut être lue à la lumière de la figure 8. Pour chaque étage, on représente en fonction du temps l’état de calcul et la sortie. Chaque colonne décrit l’état pour une période de temps t, cette période de temps correspondant à une période de temps du chronogramme de la figure 7 (périodes de temps successives t(1 ), t(2) ...). Le tableau présente une suite de 30 périodes de temps.

« S » représente l’état de stockage durant lequel la ligne à retard 63 d’un bloc élémentaire FFT 2 se remplit. Dans le cas N=16, sa profondeur est, d’étage en étage, de 8, 4, 2 et 1.

Par la suite, Sat k représente une saturation apparue dans l’étage k.

Les états sélectionnés sont (pour les sorties de l’additionneur ou du soustracteur décrites précédemment) :

- Etat A : sortie 1 ;

- Etat B : sortie 2 ;

- Etat C : sortie 3 ;

- Etat D : sortie 3 alternée avec sortie 1 (cf. chronogrammes plus bas) ;

Etat E : sortie 4 ;

Etat F : sortie 4 alternée avec sortie 2 (cf. chronogrammes plus bas).

En ce qui concerne la mémoire 32 :

- Elle est divisée ici en 4 : une machine d’état par étage ; - Elle verrouille les signaux Sat k : c’est-à-dire qu’elle maintient l’information jusqu’à ce que l’opération de FFT entière soit terminée ;

Machine d’état de l’étage 1 :

Etat A : Si non Sati.

Etat B : Si Sati , jusqu'à t = 16.

Il est à noter que dans l’étage 1 , l’additionneur et le soustracteur n’ont pas besoin des sorties 3 et 4.

Machine d’état de l’étage 2 :

Etat A : Si non (Sati + Sat 2 ).

Etat B : Si Sat 2 , jusqu'à t = 24.

Etat C : Si (Sati .(t >= 12)), jusqu'à t = 24.

Etat D : Si (Sati .(t(8) < t(12-i) < t(12))). Le tableau ci-dessous représente le chronogramme des sorties de l’étage 2 sous l’état D :

Etat E : Si ((Sat 2 .Sati ).(t >= 12)), jusqu'à t = 24.

Etat F : Si ( (Sat 2 . Sati ) . (t(8) < t(12-i) < t(12))) : observe le même chronogramme que précédemment avec sortie 4 et sortie 2 à la place de sortie 3 et sortie 1 .

Machine d’état de l’étage 3 :

Etat A : Si non (Sati + Sat 2 + Sat 3 ).

Etat B : Si Sat 3 , jusqu'à t = 28.

Etat C : Si ((Sati + Sat 2 ) .(t >= 14)), jusqu'à t = 28.

Etat D : Si ((Sati + Sat 2 ) .(t(12) < t(14-i) < t(14))) :

Etat E : Si ((Sat 3 .(Sati + Sat 2 )).(t >= 12)), jusqu'à t = 28. Etat F : Si ((Sat 3 .(Sati + Sat 2 ))-(t(12) < t(14-i) < t(14))) : observe le même chronogramme que précédemment avec sortie 4 et sortie 2 à la place de sortie 3 et sortie 1. Machine d’état de l’étage 4 :

Etat A : Si non (Sati + Sat 2 + Sat 3 + Sat 4 ).

Etat B : Si Sat 4 , jusqu'à t = 30.

Etat C : Si ((Sati + Sat 2 + Sat 3 ) .(t >= 15)), jusqu'à t = 30.

Etat D : Cet étage étant multiplexé par 1 , cet état n’existe pas.

Etat E : Si ((Sat 4 .(Sati + Sat 2 + Sat 3 )).(t >= 15)), jusqu'à t = 30.

Etat F : Cet étage étant multiplexé par 1 , cet état n’existe pas.

Il est à noter que l’on divise par deux en sortie si Sat 4 pour (t > 15)).

D’autres programmations de machine d’état sont possibles pour la mémoire 32. Cette dernière est par exemple une mémoire programmable PROM.