FR2484672A1 - Calculator module for fourier transformation of sample data - has identical real and imaginary data channels containing arithmetic processors and connected to junction circuit - Google Patents

Calculator module for fourier transformation of sample data - has identical real and imaginary data channels containing arithmetic processors and connected to junction circuit Download PDF

Info

Publication number
FR2484672A1
FR2484672A1 FR8013162A FR8013162A FR2484672A1 FR 2484672 A1 FR2484672 A1 FR 2484672A1 FR 8013162 A FR8013162 A FR 8013162A FR 8013162 A FR8013162 A FR 8013162A FR 2484672 A1 FR2484672 A1 FR 2484672A1
Authority
FR
France
Prior art keywords
samples
calculation
block
real
blocks
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
FR8013162A
Other languages
French (fr)
Other versions
FR2484672B1 (en
Inventor
Jean-Claude Andre Debuisser
Charles Theophile Mari Guennec
Jean-Luc Emmanuel Zolesio
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Laboratoire Central de Telecommunications SA
Original Assignee
Laboratoire Central de Telecommunications SA
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Laboratoire Central de Telecommunications SA filed Critical Laboratoire Central de Telecommunications SA
Priority to FR8013162A priority Critical patent/FR2484672A1/en
Publication of FR2484672A1 publication Critical patent/FR2484672A1/en
Application granted granted Critical
Publication of FR2484672B1 publication Critical patent/FR2484672B1/fr
Granted legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/14Fourier, Walsh or analogous domain transformations, e.g. Laplace, Hilbert, Karhunen-Loeve, transforms
    • G06F17/141Discrete Fourier transforms
    • G06F17/142Fast Fourier transforms, e.g. using a Cooley-Tukey type algorithm

Landscapes

  • Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Theoretical Computer Science (AREA)
  • Discrete Mathematics (AREA)
  • Algebra (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Complex Calculations (AREA)

Abstract

The appts. is used to determine the discrete Fourier transform for a time series of samples. The 'root 4' algorithm is used with a simple and repetitive structure to permit ready testing and fault finding in a radar set. The time sharing system has real and imaginary channels for the respective parts of the samples to be received in series. The channels each contain two calculator blocks which are separated by a common handling block. The blocks contain shift registers in series into which the samples are input and then multiplexed into an arithmetic processor for processing as determined by control signals. The processed signals pass via a memory register into the handling block where they are multiplexed into the second calculator block for application to a multiplication stage.

Description

La présente invention concerne un module de calcul pour la détermination de la transformee de Fourier discrète d'une suite temporelle d'échantillons sous forme complexe et un dispositif de calcul de transformée de Fourier utilisant de tels modules. The present invention relates to a calculation module for determining the discrete Fourier transform of a temporal sequence of samples in complex form and a Fourier transform computing device using such modules.

Dans un certain nombre de domaines ou on doit procéder a l'analyse spectrale d'un signal échantillonné, par exemple dans le domaine du radar, on utilise des dispositifs de calcul db la trànsformee de Fourier discrete d'une suite d'echantillons. De tels dispositifs utilisent des algorithmes de calcul dont certains sont maintenant bien connus. Ainsi, divers algorithmes dits "de racine 2k" ont été développes depuis la mise au point par J.W. Cooley et J.W.Tukey de l'algorithme de racine 2 ou algorithme de transformee de Fourier rapide (cf. "An algorithm for the machine calculation of complex Fourier seriez", Matheaa- tics of Computation, vol. 19, 1965, pages 297 a 301). In a number of areas where the spectral analysis of a sampled signal is to be carried out, for example in the radar field, discrete Fourier transform devices of a series of samples are used. Such devices use computational algorithms some of which are now well known. Thus, various so-called "2k root" algorithms have been developed since the development by JW Cooley and JWTukey of the root algorithm 2 or Fast Fourier Transform algorithm (see "An algorithm for the machine calculation of complex"). Fourier would be "Mathematics of Computation, vol 19, 1965, pp. 297-301).

Les algorithmes de racine 2k sont basés sur L'ides de decow- poser une transformee de Fourier discrete de N = 2P termes en 2k transformées de Fourier de 2P k termes chacune. Pour cela, on regroupe les differents termes en 2k paquets correspondant respectivement aux termes d'indices 0, 1, ... 2k-1 modulo 2k
Si l'algorithme de racine 2 est encore frequemment utilise pour le calcul de transformee de Fourier discrete, les algorithmes de racine de valeur plus elevee sont de plus en plus utilises car plus efficaces et d'une plus grande simplicita au moins jusqu a une certaine dimension des transformees de Fourier.
The 2k root algorithms are based on the idea of decoding a discrete Fourier transform of N = 2P terms into 2k Fourier transforms of 2P k terms each. For this, we group together the different terms in 2k packets corresponding respectively to the terms indexes 0, 1, ... 2k-1 modulo 2k
If the root algorithm 2 is still frequently used for the discrete Fourier transform calculation, higher valued root algorithms are increasingly used because they are more efficient and of greater simplicity at least up to a certain point. dimension of Fourier transforms.

C'est le cas en particulier de l'algorithme de racine 4. This is the case in particular of the root algorithm 4.

L'invention a pour objet un dispositif de calcul de transformee de Fourier discrete qui, grâce à une mise en oeuvre particuliere de l'algorithme de racine 4, presente une structure particulièrement simple et repetitive, donc économique. The subject of the invention is a device for calculating a discrete Fourier transform which, thanks to a particular implementation of the root algorithm 4, has a particularly simple and repetitive, and therefore economical, structure.

Selon l'invention, il est prevu un module de calcul effectuant des additions et soustractions des échantillons reçus en série dans l'ordre normal et fonctionnant en partage dans le temps, ainsi qu'un dispositif de calcul de transformée de Fourier discrete utilisant de maniere repetitive de tels modules. According to the invention, there is provided a calculation module performing additions and subtractions of samples received in series in the normal order and operating in time division, and a discrete Fourier transform calculation device using in a manner repetitive of such modules.

L'invention sera mieux comprise et d'autres caractéristiques apparaîtront a l'aide de la description ci-apres et des dessins joints où - la figure I représente un diagramme de calcul de transformée de
Fourier discrète a l'aide de modules de calcul semblables - la figure 2 représente le diagramme de base d'un tel module ; - la figure 3 est un graphe de circulation correspondant au calcul
d'une transforméa de Fourier discrète a seize points - la figure 4 est le schéma d'un module de calcul selon l'invention - la figure 5 est un diagramme de signaux d'horloge utilisés dans le
module de la figure 4 ; 5 et - la figure 6 représente un dispositif de calcul de transformée de
Fourier discrète selon l'invention.
The invention will be better understood and other characteristics will become apparent with the aid of the description below and the accompanying drawings in which - FIG. 1 represents a calculation diagram of the transform of
Discrete Fourier Using Similar Computing Modules - Figure 2 shows the basic diagram of such a module; FIG. 3 is a traffic graph corresponding to the calculation
of a discrete Fourier transform at sixteen points - FIG. 4 is a diagram of a calculation module according to the invention - FIG. 5 is a diagram of clock signals used in the
module of Figure 4; And FIG. 6 represents a device for calculating the transform of
Discrete Fourier according to the invention.

Ainsi qu'il est connu, les différents points (ou raies) Ak de la transformée de Fourier discrète d'une suite d'échantillons a comr plates sont donnés par

Figure img00020001
As is known, the different points (or lines) Ak of the discrete Fourier transform of a series of flat-comr samples are given by
Figure img00020001

avec : k = O, 1, ..., N-1 et : Wnk = e-2#jnk/N N étant le nombre de points de la transformée de Fourier ainsi que le nombre d'échantillons dans la suite. with: k = 0, 1, ..., N-1 and: Wnk = e-2 # jnk / N N being the number of points of the Fourier transform as well as the number of samples in the following.

La technique pour l'algorithme de racine 4 consiste a regrouper les termes d'indices respectivement de la forme 4n, 4n+l, 4n+2 et 4n+3. The technique for the root algorithm 4 consists in grouping the index terms respectively of the form 4n, 4n + 1, 4n + 2 and 4n + 3.

Ainsi, on décompose la somme Ak comme suit

Figure img00020002
Thus, the sum Ak is decomposed as follows
Figure img00020002

avec :k = 0, 1, ...,N-1. with: k = 0, 1, ..., N-1.

Par un regroupement avantageux de ces termes, en tenant compte que : Wm(k+t.N/4) = [(-1)t]m Wmk pour m = 1, 2, 3 et t = 1, 2, 3 et en posant

Figure img00030001

on obtient
Figure img00030002
By an advantageous grouping of these terms, taking into account that: Wm (k + tN / 4) = [(-1) t] m Wmk for m = 1, 2, 3 and t = 1, 2, 3 and by posing
Figure img00030001

we obtain
Figure img00030002

On a ainsi a calculer quatre transformées de Fourier a
N/4 points. On peut évidemment réitérer l'opération jusqu a se ramener.
Four Fourier transforms have to be calculated a
N / 4 points. One can obviously repeat the operation until it comes back.

a une décomposition en transformées de Fourier a quatre points Si N est une puissance de quatre. Four-point Fourier transform decomposition If N is a power of four.

Gracie a cette décomposition, on peut constater- que l'#lgo- rithme peut se synthétiser a l'aide de modules simples réalisant l'algorithme de transformée de Fourier discrète à quatre points. Thanks to this decomposition, it can be seen that the #logy can be synthesized using simple modules carrying out the four-point discrete Fourier transform algorithm.

La figure 1 représente le diagramme obtenu pour N = 16. Les modules 10 a 13 et 20 a 23 sont tous identiques et le graphe de-circu- lation correspondant est représenté sur la figure 2 pour une transformée de Fourier a quatre points. Les symboles 100 représentent des multiplications -par des coefficients complexes. FIG. 1 shows the diagram obtained for N = 16. The modules 10 to 13 and 20 to 23 are all identical and the corresponding flow graph is shown in FIG. 2 for a four-point Fourier transform. The symbols 100 represent multiplications by complex coefficients.

Le graphe de la figure 2 stinterprete ainsi : chaque point où une ligne horizontale et une ligne oblique se rejoignent, en allant vers la droite du dessin, représenta une addition, par exemple en 14 et 16. The graph of Figure 2 is interpreted as follows: each point where a horizontal line and an oblique line meet, going to the right of the drawing, represented an addition, for example at 14 and 16.

Ainsi, au point 14, on a aO + a2. Sil'on rencontre un signe moins sur la ligne qui achemine une donnée, celle-ci est affectée du signe moins, ce qui correspond a une soustraction, par exemple au point 15 où on obtient aO - a2. Une multiplication par -j est intercalée sur la dernière ligne horizontale. Le point A0 de la transformée de Fourier a quatre points est donc donné par
A0 = as +a2 +a3.
Thus, in point 14, we have aO + a2. If we encounter a minus sign on the line conveying data, it is assigned a minus sign, which corresponds to a subtraction, for example at point 15 where we obtain aO - a2. A multiplication by -j is inserted on the last horizontal line. The point A0 of the Fourier transform at four points is therefore given by
A0 = as + a2 + a3.

Cela étant, la figure 3 donne le graphe de circulation pour une transformée de Fourier a seize points en utilisant cet algorithme de racine 4. Ce graphe se déduit des relations #(I) apres remise en ordre des échantillons. On voit que le calcul de la transformée de Fourier s'effectue à l'aide de deux étapes, la première et la troisième, comportant seulement des transformées de Fourier a quatre points, et d'une. That being so, Figure 3 gives the flow graph for a 16-point Fourier transform using this root algorithm 4. This graph is deduced from the # (I) relations after reordering the samples. It can be seen that the calculation of the Fourier transform is carried out using two stages, the first and the third, comprising only four-point Fourier transforms, and one.

étape, la deuxième, de multiplication par les coefficients complexes indiqués sur la figure.step, the second, multiplying by the complex coefficients shown in the figure.

Ainsi, on a par exemple B0 = a0+ a8 B'0 = B0
B15 = a7 -a15 B'15 = -jB15 C15 = B'11 - B'15

Figure img00040001

etc.For example, we have B0 = a0 + a8 B'0 = B0
B15 = a7-a15 B'15 = -jB15 C15 = B'11 - B'15
Figure img00040001

etc.

La figure 4 représente le schéma d'un module de calcul permettant par utilisation en partage dans le temps, de réaliser entièrement une étape de calcul telle que la première ou la troisième étape de la figure 3. Ce module comporte une voie imaginaire et une voie réelle recevant respectivement les parties imaginaire zi et réelle zr des échantillons anreçus en série dans l'ordre normal de leur apparition
a = zrn + jzin.
FIG. 4 represents the diagram of a calculation module making it possible, by sharing with time, to completely perform a calculation step such as the first or the third step of FIG. 3. This module comprises an imaginary channel and a channel. real receiving respectively the imaginary parts zi and real zr samples ancees in series in the normal order of their appearance
a = zrn + jzin.

n
Les voies imaginaire et réelle comprennent chacune deux blocs de calcul, BC1, BC3 et BC2, 3C4 respectivement, qui sont séparés par un bloc d'aiguillage BA commun aux deux voies.
not
The imaginary and real channels each comprise two calculation blocks, BC1, BC3 and BC2, 3C4 respectively, which are separated by a common switch block BA to the two channels.

Les quatre blocs de calcul 3C1 à BC4 comportent des éléments similaires connectés de manière identique - deux registres a décalage en série (M1, M'l ; M2, M'2 ; ...) - un multiplexeur (Mux1 a Mux4) a deux entrées reliées respectivement
à l'entrée du premier registre et du bloc, et à la sortie du deuxième
registre - une unité logique arithmétique (ALU1 è ALU4) effectuant, sur les
données appliquées sur ses deux entrées A et B,une opération arithmé
tique qui dépend du niveau de signal de commande appliqué sur ses
entrées de commande SO et S1. Lorsque l'entrée S1 n'est pas représen
tée, elle est maintenue constamment au niveau haut. Les opérations
effectuées sont les suivantes S1 = haut SO = haut -- > A plus B
Si = haut SO = bas -- > A moins B
S1 = bas SO = haut B moins A.
The four calculation blocks 3C1 to BC4 comprise similar elements connected in identical manner - two series shift registers (M1, M'1; M2, M'2; ...) - a multiplexer (Mux1 to Mux4) has two related inputs respectively
at the entrance of the first register and the block, and at the exit of the second
register - an arithmetic logical unit (ALU1 è ALU4) carrying out, on
data applied on its two inputs A and B, an arithmetic operation
which depends on the level of the command signal applied to its
SO and S1 command inputs. When the input S1 is not representative
it is constantly maintained at the high level. The operations
performed are as follows S1 = high SO = high -> A plus B
If = high SO = low -> A minus B
S1 = low SO = high B minus A.

Une telle unité peut par exemple etre constituée par un circuit TTL
SN74S381 de la société Texas Instruments ; - un registre de mémoire (R1 a R4) connecté entre la sortie de l'unité
logique arithmétique et la sortie du bloc de calcul.
Such a unit may for example be constituted by a TTL circuit
SN74S381 from Texas Instruments; a memory register (R1 to R4) connected between the output of the unit
arithmetic logic and the output of the calculation block.

Ces quatre blocs diffèrent, d'une part,par les signaux de commande appliqués à leur unité logique arithmétique et, d'autre par; par le nombre de cellules des registres a décalage, ainsi qu'on va le voir. These four blocks differ, on the one hand, by the control signals applied to their arithmetic logic unit and, on the other hand by; by the number of cells of the shift registers, as we will see.

Le bloc d'aiguillage comprend deux multiplexeurs Huai, Mux6 à deux entrées dont les premières entrées sont respectivement reliées aux sorties des blocs BC1 et BC2 des voies imaginaire et réelle, dont les secondes entrées sont reliées respectivement aux sorties des blocs BC2 et BC1 et dont les sorties fournissent les parties imaginaire Cim et réelle Crm respectivement aux entrées des blocs de calcul BC3 et BC4. The switching block comprises two multiplexers Huai, Mux6 with two inputs whose first inputs are respectively connected to the outputs of the blocks BC1 and BC2 of the imaginary and real channels, whose second inputs are respectively connected to the outputs of the blocks BC2 and BC1 and whose the outputs supply the imaginary parts Cim and real Crm respectively to the inputs of the calculation blocks BC3 and BC4.

Le fonctionnement de l'ensemble va etre expliqué en liaison avec la figure 5 qui représente les signaux d'horloge servant à la com- mande des unités logiques arithmétiques et du bloc d'aiguillage. The operation of the assembly will be explained in conjunction with FIG. 5 which represents the clock signals used to control the arithmetic logic units and the switching block.

On a supposé,è titre d'exemple,que# le module de calcul décrit est celui réalisant la première étape de calcul de la figure 3. La suite d'échantillons > présente à I'entrég, a22q échantillons avec q égal ici à deux, soit seize échantillons. Ces échantillons sont sous forme codée à x bits et bien entendu toutes les liaisons et opérations sur des données dans le module de la figure 4 s'effectuent sur x bits en parallèle. Les registres à décalage M1, M'1, M2, M'2 comprennent chacun 22q-1 cellules, ici huit cellules. It has been assumed, by way of example, that # the calculation module described is the one carrying out the first calculation step of FIG. 3. The sequence of samples> has at the input, a22q samples with q equal here to two sixteen samples. These samples are in x-bit coded form and of course all the links and operations on data in the module of FIG. 4 are carried out on x bits in parallel. The shift registers M1, M'1, M2, M'2 each comprise 22q-1 cells, here eight cells.

Sur les deux premières lignes de la figure 5, sont indiquées les opérations successives réalisées respectivement par le bloc BCl et le bloc BC2. Dans le bloc de calcul BCI, le signal d'horloge H1 commande d'abord la liaison entre l'entrée du premier registre M1 et l'entrée A de l'unité logique ALUl et, par l'intermédiaire d'un inverseur, la réalisation de 22qu1 = 8 additions (zi0 + zi8 è zi7 + zip5) entre les huit premiers échantillons reçus qui apparaissent successi vement à la sortie du registre Ml et les huit derniers échantillons reçus qui apparaissent successivement en même temps sur l'entrée du registre Ml. Les mêmes additions s'effectuent simultanément dans le bloc BC2 sous la commande des signaux H1, H2 et R3.Après avoir effectué ces huit additions, le bloc de calcul BC1 est commandé par le signal H1 pour effectuer 2Zq 1 - 8 soustractions (ziO - zi8 à zi7 - zi15) entre les huit premiers échantillons qui se présentent successivement à la sortie du registre M' 1 et les huit derniers échantillons prélevés à la sortie du registre M1. In the first two lines of FIG. 5 are indicated the successive operations performed respectively by the block BC1 and the block BC2. In the calculation block BCI, the clock signal H1 first controls the connection between the input of the first register M1 and the input A of the logic unit ALU1 and, via an inverter, the producing 22qu1 = 8 additions (zi0 + zi8 è zi7 + zip5) between the first eight received samples which appear successively at the output of the register Ml and the last eight received samples which appear successively at the same time on the input of the register Ml . The same additions are carried out simultaneously in the BC2 block under the control of the signals H1, H2 and R3. After having made these eight additions, the calculation block BC1 is controlled by the signal H1 to perform 2Zq 1 - 8 subtractions (ziO - zi8 to zi7 - zi15) between the first eight samples successively at the output of the register M '1 and the last eight samples taken at the output of the register M1.

Le bloc BC2 procède de même pour les 2q-2 premières soustractions sous la commande des signaux Hi à H3. Block BC2 proceeds in the same way for the first 2q-2 subtractions under the control of signals Hi to H3.

Cependant, corne on le voit sur le graphe de la figure 3, les résultats des 22q 2 = 4 dernières soustractions de la première partie de la première étape doivent être multipliés par -j
B'n = -j(Brn + jBin)
jBrn.
However, as we can see on the graph of Figure 3, the results of the 22q 2 = last 4 subtractions of the first part of the first step must be multiplied by -j
B'n = -j (Brn + jBin)
jBrn.

On constate que cette multiplication revient à intervertir partie réelle et partie imaginaire et à changer le signe de la partie réelle. Pour cela, lors des 22q-2 dernières soustractions, les signaux 112 et 113 prennent des valeurs commandant l'opération de soustraction B - A pour l'unité logique arithmétique ALU2, ce qui change le signe de la partie réelle, et le signal 112 commute les multiplexeurs Muxi et Mux6 pour intervertir les parties réelle et imaginaire.We note that this multiplication amounts to inverting the real part and the imaginary part and changing the sign of the real part. For this, during the last 22q-2 subtractions, the signals 112 and 113 take values controlling the subtraction operation B - A for the arithmetic logic unit ALU2, which changes the sign of the real part, and the signal 112 switches the Muxi and Mux6 multiplexers to interchange the real and imaginary parts.

Les blocs de calcul BC3 et BC4 réalisent les additions et soustractions de la seconde partie de la première étape de la figure 3. The calculation blocks BC3 and BC4 perform the additions and subtractions of the second part of the first step of FIG.

Ces blocs sont identiques et fonctionnent de la même façon que le bloc BCI. Cependant, les registres a décalage M3, M'3 et M4, M-'4 ne comportent que 22q-2 n 4 cellules chacun. De plus, le signal d'horloge H'1,qui commande les multiplexeurs et unités logiques arithmétiques et qui est représenté sur la figure 5, change de valeur toutes les quatre opérations. On peut constater que l'ensemble de fonctionnement du module de la figure 4 s'effectue de manière synchrone.These blocks are identical and work in the same way as the BCI block. However, the shift registers M3, M'3 and M4, M-'4 comprise only 22q-2 n 4 cells each. In addition, the clock signal H'1, which controls the multiplexers and arithmetic logic units and which is shown in Figure 5, changes value every four operations. It can be seen that the operating assembly of the module of FIG. 4 is performed synchronously.

La figure 6 représente un dispositif de calcul de la transformée de Fourier discrète d'une suite de seize échantillons utilisant des modules de calcul du type représenté sur la figure 4. FIG. 6 represents a device for calculating the discrete Fourier transform of a series of sixteen samples using calculation modules of the type represented in FIG. 4.

Un premier module Modal, qui est celui représenté sur la figure 4 et qu'on dira d'ordre 22q = 16, réalise la première étape du graphe de la figure 3 et fournit les valeurs des parties imaginaire Yp et réelle Xp d'une suite de 22q valeurs, qui sont envoyées un étage de multiplication complexe MC réalisant la deuxième étape de calcul du graphe de la figure 3. Cet étage MC comprend quatre multiplicateurs 31 à 34, deux mémoires mortes ROMI et ROM2 contenant respectivement les parties imaginaire Ip et réelle Rp des coefficients de multiplication, deux unités logiques arithmétiques ALUS et ALU6, fonctionnant respectivement en additionneur et en soustracteur, et deux registres de sortie R5, R6.Cet étage réalise l'opération de multiplication complexe:
(p + jYp) (Rp + jlp) = (0pEp - YpIp) + j (XpIp + YpRp).
A first Modal module, which is the one represented in FIG. 4 and which will be of order 22q = 16, realizes the first step of the graph of FIG. 3 and provides the values of the imaginary portions Yp and real Xp of a sequence 22q values, which are sent a complex multiplication stage MC carrying out the second step of calculating the graph of FIG. 3. This stage MC comprises four multipliers 31 to 34, two ROM1 and ROM2 ROMs respectively containing the imaginary parts Ip and real Rp of the multiplication coefficients, two arithmetic logic units ALUS and ALU6, functioning respectively as adder and subtractor, and two output registers R5, R6. This stage carries out the complex multiplication operation:
(p + jYp) (Rp + jlp) = (0pEp - YpIp) + j (XpIp + YpRp).

Les valeurs complexes obtenues sont envoyées aux entrées d'un deuxième module de calcul Modl du même type, mais d'ordre 22qu4 = 4 (registres a décalage d'entrée è deux cellules). Ce module de calcul réalise la troi sième étape du graphe de la figure 3 et fournit les différents points de la transformée de Fourier.The complex values obtained are sent to the inputs of a second Modl calculation module of the same type, but of order 22qu4 = 4 (two-cell input shift registers). This calculation module performs the third step of the graph of FIG. 3 and provides the different points of the Fourier transform.

Il est clair que, pour des transformées de Fourier à un nombre de points N plus élevé (N étant une puissance de quatre), il suffirait d'ajouter des modules de calcul d'ordre plus élevé avant le module Mod1 de la figure 6, chaque module étant séparé du suivant par un étage de multiplication complexe du type de l'étage MC. On peut également utiliser le dispositif de calcul de la figure 6 à seize points comme module de base pour un arrangement selon la figure 1, pour soixante-quatre échantillons, et ainsi de suiteo Dans le cas où N, tout an étant une puissance de deux, n'est pas une puissance de quarre, on arriverait9 a l'avant- dernière étape, à une transformée à huit points pour laquelle on peut utiliser, par exemple, soit l'algorithme de racine 2 donnant une décompo- virion en deux transformées à quatre points, soit l'algorithme de
Winograd à huit points.
It is clear that, for Fourier transforms at a higher number of points N (N being a power of four), it would suffice to add higher order calculation modules before the module Mod1 of FIG. 6, each module being separated from the next by a complex multiplication stage of the type of the stage MC. It is also possible to use the computing device of FIG. 6 at sixteen points as basic module for an arrangement according to FIG. 1, for sixty-four samples, and so on. In the case where N, every year being a power of two , is not a quarry power, we would arrive at the penultimate stage, an eight-point transform for which we can use, for example, either the root algorithm 2 giving a decomponion in two transforms at four points, the algorithm of
Winograd at eight points.

Un des avantages du dispositif selon l'invention est, outre sa simplicité et son volume réduit, sa grande facilité de test et de dépannage du fait de sa structure répétitive. One of the advantages of the device according to the invention is, in addition to its simplicity and reduced volume, its great ease of testing and troubleshooting due to its repetitive structure.

Bien entendu, l'exemple de réalisation décrit n'est nullement limitatif de l'invention.  Of course, the described embodiment is in no way limiting of the invention.

Claims (5)

REVENDICATIQNSREVENDICATIQNS 1. Module de calcul d'ordre 22q pour la détermination de la transformée de Fourier discrète d'une suite d'échantillons sous forme complexe par un algorithme dit "de racine 4", caractérisé en ce qu'il comprend en série pour chaque voie, imaginaire et réelle, deux blocs de calcul (3C1 à BC4) d'additions et de soustractions deux à deux des échantillons (zin, zrn, Cim, Crm) reçus en série sur leur entrée, lesdits blocs étant séparés par un bloc d'aiguillage (BA) commun aux deux voies, en ce que ledit bloc d'aiguillage aiguille les résultats fournis par les premiers blocs de chaque voie, respectivement de la voie imaginaire vers la voie réelle et réciproquement, lors du calcul des 22q-2 dernières soustractions par lesdits premiers blocs et en ce que le premier bloc de la voie réelle effectue une inversion des termes desdites 22q-2 dernières soustractions. 1. Order calculation module 22q for the determination of the discrete Fourier transform of a series of samples in complex form by a so-called "root 4" algorithm, characterized in that it comprises in series for each channel , imaginary and real, two calculation blocks (3C1 to BC4) additions and subtractions two by two samples (zin, zrn, Cim, Crm) received in series on their input, said blocks being separated by a block of switching (BA) common to both channels, in that said needle routing block the results provided by the first blocks of each channel, respectively from the imaginary channel to the real path and vice versa, when calculating the 22q-2 last subtractions by said first blocks and in that the first block of the real channel performs a reversal of the terms of said 22q-2 last subtractions. 2. Module selon la revendication 1, caractérisé en ce que chaque bloc de calcul comprend deux registres à décalage identiques (M1, M'1 à M4, M'4) en série, une unité logique arithmétique (ALU1 à 2. Module according to claim 1, characterized in that each calculation block comprises two identical shift registers (M1, M'1 to M4, M'4) in series, an arithmetic logic unit (ALU1 to ALU4) dont la sortie est reliée à la sortie du bloc par un registre de mémoire (R1 à R4), dont une entrée est reliée à la jonction entre les deux registres et dont l'autre entrée est reliée à la sortie d'un multiplexeur (Muxi à Mux4) à deux entrées reliées respectivement à l'entrée du bloc et la sortie du deuxième registre à décalage, et en ce que les unités logiques arithmétiques (ALU1 à ALU4) comprennent des entrées de commande (SO, S1) pour commander l'exécution de l'addition ou de la sous traction, dans un ordre ou l'autre, des données appliquées à ses deux entrées.ALU4) whose output is connected to the output of the block by a memory register (R1 to R4), an input of which is connected to the junction between the two registers and whose other input is connected to the output of a multiplexer (Muxi to Mux4) with two inputs respectively connected to the input of the block and the output of the second shift register, and in that the arithmetic logic units (ALU1 to ALU4) comprise control inputs (SO, S1) for controlling performing the addition or subtraction, in one order or the other, of the data applied to its two inputs. 3. Module selon la revendication 2, caractérisé en ce que l'unité logique arithmétique (ALU1) du premier bloc de calcul de la voie imaginaire est commandée pour effectuer successivement 22qu1 additions entre, respectivement, les 22qu1 premiers échantillons reçus par le bloc et les 22qu1 derniers échantillons reçus, puis 22q-1 soustractions entre, respectivement, lesdits premiers échantillons et lesdits derniers échantillons, en ce que l'unité logique arith métique (ALU2) du premier bloc de calcul de la voie réelle est commandée pour effectuer successivement 22qu1 additions entre, respectivement, les 22q-1 premiers échantillons reçus par le bloc et les 22qui derniers échantillons reçus, puis 22qu1 soustractions entre, respectivement, lesdits premiers échantillons et lesdits derniers échantillons, l'ordre des facteurs des soustractions etant inversé pour les 22q-2 dernières soustractions, en ce que les unités logiques arithmétiques (ALU3, ALU4) des deux deuxièmes blocs de calcul sont commandées pour effectuer successivement, sur chaque série de 22q-1 valeurs fournies par le bloc d'aiguillage, 22q-2 additions entre, respectivement, les 22q-2 premières valeurs reçues et les 22q-2 der nières valeurs reçues#, puis 22q-2 soustractions entre, respectivement, lesdites premières valeurs et lesdites dernières valeurs, et en ce que chaque registre à décalage (M1, M'1, M2, M'2) des premiers blocs de calcul (BCl, BC2) comprend 22q 1 cellules tandis que chaque registre à décalage (M3, M'3, M4, M'4) des deuxièmes blocs de calcul (BC3, BC4) comprend 22q-2 cellules. 3. Module according to claim 2, characterized in that the arithmetic logic unit (ALU1) of the first calculation block of the imaginary channel is controlled to perform successively 22qu1 additions between, respectively, 22qu1 first samples received by the block and the 22qu1 last samples received, then 22q-1 subtractions between, respectively, said first samples and said last samples, in that the arithmetic logic unit (ALU2) of the first calculation block of the real channel is controlled to successively carry out 22qu1 additions between, respectively, the 22q-1 first samples received by the block and the 22th last samples received, then 22qu1 subtractions between, respectively, said first samples and said last samples, the order of the subtraction factors being inverted for the 22q-2 last subtractions, in that the arithmetic logical units (ALU3, ALU4) of the two second The calculation blocks are controlled to perform successively, on each series of 22q-1 values provided by the switching block, 22q-2 additions between, respectively, the 22q-2 first values received and the 22q-2 latest received values. #, then 22q-2 subtractions between, respectively, said first values and said last values, and in that each shift register (M1, M'1, M2, M'2) of the first calculation blocks (BC1, BC2) comprises 22q 1 cells while each shift register (M3, M'3, M4, M'4) of the second calculation blocks (BC3, BC4) comprises 22q-2 cells. 4. Module selon l'une quelconque des revendications 1 à 3, caractérisé en ce que ledit bloc d'aiguillage (BA) comprend un multiplexeur (MuxS, Mux6) à deux entrées dans chacune des voies imaginaire et réelle, en ce que les premières entrées des deux multiplexeurs sont reliées, respectivement, aux sorties des premiers blocs de calcul (BCi,  4. Module according to any one of claims 1 to 3, characterized in that said switching unit (BA) comprises a multiplexer (MuxS, Mux6) with two inputs in each of the imaginary and real channels, in that the first inputs of the two multiplexers are respectively connected to the outputs of the first calculation blocks (BCi, BC2) des voies imaginaire et réelle, et les secondes entrées des multiplexeurs sont reliées, respectivement, aux sorties des premiers blocs de calcul (BC2, BC1) des voies réelle et imaginaire, et en ce que la commutation des deux multiplexeurs est commandée en synchronisme avec le calcul des 22q-2 dernières soustractions effectuées par les deux premiers blocs de calcul.BC2) of the imaginary and real channels, and the second inputs of the multiplexers are respectively connected to the outputs of the first calculation blocks (BC2, BC1) of the real and imaginary channels, and in that the switching of the two multiplexers is controlled in synchronism with the calculation of the last 22q-2 subtractions performed by the first two calculation blocks. 5* Dispositif de calcul de la transformée de Fourier discrète d'une suite de 22t échantillons sous forme complexe, caractérisé en ce qu'il comporte en série q modules de calcul (mod1, Mod2), selon l'une quelconque des revendications 1 à 4, d'ordre respectivement 224 22t 1, 22, 22,chaque module étant séparé du suivant par un étage de multiplication complexe (MC) opérant en multiplex dans le temps, les parties réelles et imaginaires des coefficients multiplicateurs étant contenues dans des mémoires mortes (ROMi, ROM2) adressées en synchronisme avec l'apparïtlon des valeurs calculées aux sorties du module de calcul précédent.  5 * Device for calculating the discrete Fourier transform of a series of 22 samples in complex form, characterized in that it comprises in series q calculation modules (mod1, Mod2), according to any one of claims 1 to 4, order 224 22t 1, 22, 22 respectively, each module being separated from the next by a complex multiplexing stage (MC) operating in time multiplex, the real and imaginary parts of the multiplying coefficients being contained in read-only memories (ROMi, ROM2) addressed in synchronism with the appearance of the calculated values at the outputs of the preceding calculation module.
FR8013162A 1980-06-13 1980-06-13 Calculator module for fourier transformation of sample data - has identical real and imaginary data channels containing arithmetic processors and connected to junction circuit Granted FR2484672A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
FR8013162A FR2484672A1 (en) 1980-06-13 1980-06-13 Calculator module for fourier transformation of sample data - has identical real and imaginary data channels containing arithmetic processors and connected to junction circuit

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR8013162A FR2484672A1 (en) 1980-06-13 1980-06-13 Calculator module for fourier transformation of sample data - has identical real and imaginary data channels containing arithmetic processors and connected to junction circuit

Publications (2)

Publication Number Publication Date
FR2484672A1 true FR2484672A1 (en) 1981-12-18
FR2484672B1 FR2484672B1 (en) 1984-11-30

Family

ID=9243065

Family Applications (1)

Application Number Title Priority Date Filing Date
FR8013162A Granted FR2484672A1 (en) 1980-06-13 1980-06-13 Calculator module for fourier transformation of sample data - has identical real and imaginary data channels containing arithmetic processors and connected to junction circuit

Country Status (1)

Country Link
FR (1) FR2484672A1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2536541A1 (en) * 1982-11-23 1984-05-25 Labo Cent Telecommunicat Simplified spectral analysis system using phases
EP0329023A2 (en) * 1988-02-16 1989-08-23 Array Microsystems, Inc. Apparatus for performing digital signal processing including fast fourier transform radix-4 butterfly computations

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4023028A (en) * 1974-08-20 1977-05-10 The United States Of America As Represented By The Secretary Of The Navy Method and apparatus for computing the discrete Fourier transform recursively

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4023028A (en) * 1974-08-20 1977-05-10 The United States Of America As Represented By The Secretary Of The Navy Method and apparatus for computing the discrete Fourier transform recursively

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
IEEE TRANSACTIONS ON ACOUSTICS, SPEECH, AND SIGNAL PROCESSING, vol. ASSP-24, no. 2, avril 1976 *
IEEE TRANSACTIONS ON COMPUTERS, vol. C-28, no. 5, mai 1979 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2536541A1 (en) * 1982-11-23 1984-05-25 Labo Cent Telecommunicat Simplified spectral analysis system using phases
EP0329023A2 (en) * 1988-02-16 1989-08-23 Array Microsystems, Inc. Apparatus for performing digital signal processing including fast fourier transform radix-4 butterfly computations
EP0329023A3 (en) * 1988-02-16 1989-11-02 Array Microsystems, Inc. Apparatus for performing digital signal processing including fast fourier transform radix-4 butterfly computations
US5303172A (en) * 1988-02-16 1994-04-12 Array Microsystems Pipelined combination and vector signal processor

Also Published As

Publication number Publication date
FR2484672B1 (en) 1984-11-30

Similar Documents

Publication Publication Date Title
US4689762A (en) Dynamically configurable fast Fourier transform butterfly circuit
FR2587819A1 (en) DEVICE FOR CALCULATING A DISCRETE, SLIDING, NON-RECURSIVE FOURIER TRANSFORMATION AND APPLICATION THEREOF TO A RADAR SYSTEM
FR2776093A1 (en) PROGRAMMABLE PROCESSOR CIRCUIT PROVIDED WITH A RECONFIGURABLE MEMORY FOR PRODUCING A DIGITAL FILTER
EP0511095A1 (en) Coding and decoding method and apparatus for a digital signal
FR2588680A1 (en) DEVICE FOR CALCULATING A DISCRETE FOURIER TRANSFORMER, AND ITS APPLICATION TO PULSE COMPRESSION IN A RADAR SYSTEM
EP0926823B1 (en) Programmable circuit for the realisation of a digital filter
EP0171305B1 (en) Calculation circuit for the discrete fourier transform
EP0259231A1 (en) Device for the determination of the digital transform of a signal
FR2641631A1 (en) ASSEMBLY OF FAST REAL-TIME FOURIER TRANSFORMATION
EP0312463B1 (en) Digital filter device and radar comprising such a device
EP0478431A1 (en) Digital signal coding method and circuit for calculating scalar products of vectors and corresponding discrete cosinus transform
EP0237382A1 (en) Digital sampled signal cosine transforming device
EP0437876A1 (en) Programmable serial multiplier
FR2772950A1 (en) ELECTRONIC DEVICE FOR CALCULATING A FOURIER TRANSFORM WITH A "PIPELINE" ARCHITECTURE AND CONTROL METHOD THEREOF
FR2484672A1 (en) Calculator module for fourier transformation of sample data - has identical real and imaginary data channels containing arithmetic processors and connected to junction circuit
JPS6152479B2 (en)
IE43286B1 (en) Discrete fourier transform computer
EP0037130B1 (en) Arrangement for calculating the discrete fourier transform by means of two circular convolutions
EP0190514B1 (en) On-line test device of the discrete fourier transform calculating circuit, and circuit using such a device
EP1125205A1 (en) Memory with vectorial access
EP0242258A1 (en) Device for the execution of an algorithm (Leroux-Gueguen) for the coding of a signal by linear prediction
EP0320352B1 (en) Numeric computation integrated circuit for convolution-like computations
EP0327445A1 (en) Generalised digital multiplier, and digital filter using this multiplier
CA1278869C (en) Fourier transform calculation processor incorporating an on-line test device
FR2570853A1 (en) DEVICE FOR REAL-TIME PROCESSING OF DIGITAL SIGNAL BY CONVOLUTION

Legal Events

Date Code Title Description
CL Concession to grant licences
ST Notification of lapse