FR 3088451 A1 20200515 FR 1871456 A 20181108 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 2 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 5 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 10 intégrale », 2009 ; - B. Sadhu R. Harjani, « Cognitive Radio Receiver Front-Ends », Chapter 5 CRAFT: Charge Re-use Analog Fourier Transform, 2014 ; A. A. Balakrishnan V. Suresh Babu M. R. Baiju, « Implementation of Radix-2 and Split-Radix Fast Fourier Transform Algorithm Using 15 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 20 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 à N composantes x(0), x(1) ... x(N-1) en un signal de sortie à N composantes X(0), X(1) ... X(N-1) fonctions desdites composantes x(0), x(1) ... x(N-1), ledit 25 dispositif comportant des cellules élémentaires d'addition et/ou de soustraction chaînées selon une architecture de type papillon pour réaliser lesdites fonctions, chaque cellule élémentaire comportant un opérateur réalisant une division par deux conditionnelles du résultat de l'opération d'addition ou de soustraction effectué, la condition étant la saturation dudit 30 opérateur. 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 : 3 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)12) et délivrant le résultat sur une deuxième sortie ; 5 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 10 sélectionnée constituant la première sortie de ladite cellule élémentaire ; - un soustracteur : o effectuant la soustraction entre lesdits signaux (A - B) et délivrant le résultat sur une première sortie ; 15 o effectuant ladite soustraction divisée par deux ((A - B)12) 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 20 é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. 25 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 : o effectuant une première addition MB et délivrant le résultat sur 30 une première sortie ; o effectuant ladite première addition divisée par deux ((A + B)12) et délivrant le résultat sur une deuxième sortie ; 4 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 5 ((N2k + 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 10 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 15 sélectionnée constituant la première sortie de ladite cellule élémentaire ; un soustracteur : o effectuant une première soustraction A - B et délivrant le résultat sur une première sortie ; 20 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 25 ((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 30 é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 : 5 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 ; 5 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 10 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 ; 15 - 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 20 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 à 25 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 3o Pin, max et la puissance d'entrée minimales Pin, min supportable par le système, soit : D = Pin, max - Pin, min (1) La puissance d'entrée minimale Pin, min est la puissance d'entrée à partir de 35 laquelle le système assure un signal de sortie S dit exploitable, c'est-à-dire 6 un rapport signal à bruit en sortie SNRout,min suffisant pour dépasser le bruit de fond F : S = F + SNRoutenn (2) 5 Le bruit de fond est défini comme la somme du bruit thermique Pth et le facteur de bruit NF du système, soit : S = Pth + NF + SNR'teir, (3) 10 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 15 é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 20 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 25 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 30 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 7 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 5 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 10 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 15 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 WN,WN,WN,WN sont des constantes 20 trigonométriques inférieures à 1. Ils sont connus sous l'appellation de facteurs « twidd le ». 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 25 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 11 et des opérateurs élémentaires de soustraction 12, selon une structure analogique connue. Traditionnellement dans les FFT analogiques, pour éviter tout risque de 30 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 oeuvre de l'invention pour une 35 architecture de type parallèle. Plus particulièrement, la figure 2 reprend 8 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 oeuvre 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 5 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 to 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 : 15 - l'opération (addition ou soustraction) ; - l'opération divisée par deux. Ecrit autrement, si A et B sont les entrées, chaque opérateur réalise : 20 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 25 opérateur est muni en interne d'un comparateur apte à détecter cette saturation. Un opérateur comporte alors une troisième sortie Safi, Sat2, Sart 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 30 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 11, 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 : 35 - 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 5 é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 (Nième étage) à la kième opération (k > 1). S'il est possible de sortir les 10 opérations divisées par deux à partir de cette kième 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 15 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) ; 20 - A/2k + B (sortie 3) ; - (A/2k + 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 25 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. 30 La troisième sortie délivre N2k + 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. 9 10 La quatrième sortie délivre (A/2k + 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 5 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 15 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) ; 20 - A/2k - B (sortie 3) ; - (A/2k - 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 25 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 FFT4 (FFT à 4 points), et Q - 1 séries de facteurs twidle, pour q allant de Q - 1 à 1. On peut noter qu'un bloc FFT4 peut être décomposé simplement en deux 30 blocs FFT2 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 (FFT2) qui ne sont plus du type radix 4 35 mais du type radix 2, avec les opérations élémentaires el + e2 et ei - e2. Un 11 bloc FFT2 réalise ainsi les opérations les plus élémentaires de l'algorithme, l'addition (ei + e2) et la soustraction (el - e2). Ce bloc élémentaire de l'architecture est explicité dans la figure 6 qui suit. 5 La figure 6 illustre donc un bloc élémentaire 51, bloc radix 2 (FFT2). 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 10 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. 15 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 20 successives t(1), t(2) t(16). Pour la clarté de la description, on considère donc une transformée de Fourrier à N = 42 = 16 points. On obtient une architecture à deux blocs sérialisés, soit 4 bloc FFT2 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 25 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 : 30 - A + B ; - (A + B)/2 ; - A/2k + B ; - (N2k + B)12. est fonction de l'information de décodage Dec (codée sur deux bits). Cette 35 dernière est fournie par la mémoire 32 et commande le multiplexeur 34 ou 12 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. 5 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 FFT2 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 10 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 15 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 20 bloc élémentaire FFT2 se remplit. Dans le cas N=16, sa profondeur est, d'étage en étage, de 8, 4, 2 et 1. Par la suite, Satk représente une saturation apparue dans l'étage k. Les états sélectionnés sont (pour les sorties de l'additionneur ou du 25 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) ; 30 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 Satk : c'est-à-dire qu'elle maintient 35 l'information jusqu'à ce que l'opération de FFT entière soit terminée ; 13 Machine d'état de l'étage 1 : l'additionneur et le soustracteur n'ont pas Etat A : Si non Safi. Etat B : Si Safi, jusqu'à t = 16. Il est à noter que dans l'étage 1, 5 besoin des sorties 3 et 4. Machine d'état de l'étage 2 : Etat A : Si non (Sati + Sat2). Etat B : Si Sat2, jusqu'à t = 24. 10 Etat C : Si (Sati .(t >= 12)), jusqu'à t = 24. Etat D : Si (Sati .(t(8) = 12)), jusqu'à t = 24. Etat F : Si ((Satz.Sati).(t(8) = 14)), jusqu'à t = 28. Etat D : Si ((Sati + Sat2) .(t(12) = 12)), jusqu'à t = 28. Etat F : Si ((Sat3.(Sati + Sat2)).(t(12) = 15)), jusqu'à t = 30. 5 Etat D : Cet étage étant multiplexé par 1, cet état n'existe pas. Etat E : Si ((Sat4.(Sat1 + Satz + Sat3)).(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 Sat4 pour (t > 15)). 10 D'autres programmations de machine d'état REVENDICATIONS1. Dispositif de calcul d'une transformée de Fourier analogique, transformant un signal d'entrée à N composantes x(0), x(1) ... x(N-1) en un signal de sortie à N composantes X(0), X(1) ... X(N-1) fonctions desdites composantes x(0), x(1) ... x(N-1), ledit dispositif comportant des cellules élémentaires d'addition et/ou de soustraction chaînées selon une architecture de type papillon pour réaliser lesdites fonctions, caractérisé en ce que chaque cellule élémentaire (51) comporte un opérateur (61, 62) réalisant 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) dudit opérateur. 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 15 entrée deux signaux (A, B) comporte au moins : - un additionneur (11) : 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)12) et 20 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 25 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 (12) : o effectuant la soustraction entre lesdits signaux (A - B) et 30 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 ; 16 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. 5 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. 10 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 (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 : 17 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 5 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 to 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. 15 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. 20