WO2010026211A1 - Dispositif de traitement numerique pour transformee de fourier et filtrage a reponse impulsionnelle finie - Google Patents
Dispositif de traitement numerique pour transformee de fourier et filtrage a reponse impulsionnelle finie Download PDFInfo
- Publication number
- WO2010026211A1 WO2010026211A1 PCT/EP2009/061451 EP2009061451W WO2010026211A1 WO 2010026211 A1 WO2010026211 A1 WO 2010026211A1 EP 2009061451 W EP2009061451 W EP 2009061451W WO 2010026211 A1 WO2010026211 A1 WO 2010026211A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- numbers
- succession
- fourier transform
- processing device
- input
- 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.)
- Ceased
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/14—Fourier, Walsh or analogous domain transformations, e.g. Laplace, Hilbert, Karhunen-Loeve, transforms
- G06F17/141—Discrete Fourier transforms
- G06F17/142—Fast Fourier transforms, e.g. using a Cooley-Tukey type algorithm
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/15—Correlation function computation including computation of convolution operations
- G06F17/156—Correlation function computation including computation of convolution operations using a domain transform, e.g. Fourier transform, polynomial transform, number theoretic transform
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L27/00—Modulated-carrier systems
- H04L27/26—Systems using multi-frequency codes
- H04L27/2601—Multicarrier modulation systems
- H04L27/2626—Arrangements specific to the transmitter only
- H04L27/2627—Modulators
- H04L27/2628—Inverse Fourier transform modulators, e.g. inverse fast Fourier transform [IFFT] or inverse discrete Fourier transform [IDFT] modulators
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L27/00—Modulated-carrier systems
- H04L27/26—Systems using multi-frequency codes
- H04L27/2601—Multicarrier modulation systems
- H04L27/2647—Arrangements specific to the receiver only
- H04L27/2649—Demodulators
- H04L27/265—Fourier transform demodulators, e.g. fast Fourier transform [FFT] or discrete Fourier transform [DFT] demodulators
Definitions
- the present invention relates to digital signal processing, including, but not limited to, the processing of communications signals in mobile wireless transmit / receive stations.
- Wireless communication signal standards evolve over time and several standards can coexist at a given time.
- Each standard requires appropriate signal processing circuitry, both for the receiving circuits and the transmitting circuits.
- Each standard can also have several different modes of operation and it is desirable that mobile devices can operate according to different modes of different standards.
- the digital signals must undergo different digital processing in the communication chain, both transmission and reception.
- WCDMA Wideband Code Division Multiple Access
- OFDM Orthogonal Frequency Division Multiplexing
- MC-CDMA MC-CDMA
- the WCDMA access technique on which the Universal Mobile Telecommunications System (UMTS) standard, a third-generation (3G) communication standard, is based, requires the use of a finite impulse response digital filter (FIR filter) in transmission and reception channels.
- FIR filter finite impulse response digital filter
- the data to be sent (and also the data received) are distributed over two transmission channels named I and Q 90 ° out of phase with each other and each channel undergoes identical FIR filtering.
- the OFDM access technique forms a basis for several wireless telecommunications standards such as the IEEE 802.11 standard for WIFI wireless communication, the DVB-H standard for mobile digital terrestrial TV and the ECMA-368 standard for Bluetooth 3.0 .
- This technique requires Fast Fourier Transform (FFT) calculations to divide the signal over several subcarriers.
- FFT Fast Fourier Transform
- the MC-CDMA access technique is the combination of the two techniques mentioned above. It is at the basis of new standards being developed such as the IEEE 802.20 standard also called MBWA (Mobile Broadband Wireless Access). This technique requires the use of FFT and FIR filters.
- the transforms can be of variable sizes, that is, they can process blocks of digital data of variable size. Typically, the sizes can vary between 64 and 8192 points and the frequencies can be between 1.92 MHz and 409.6 MHz.
- the filter sizes are variable and the frequencies also, depending on the standard and characteristics of the transmission channel, possibly evaluated online or more commonly estimated before operation.
- Another solution is to use a programmable microprocessor to perform all the filtering functions, whether FFT or FIR, using programs stored in memory. But microprocessors fast enough to meet the real-time constraints of wireless telecommunications standards are also bulky and very energy-intensive.
- An alternative solution is to use a module capable of performing variable size FFTs in addition to a second module capable of handling variable size FIRs as well. Although this solution is more efficient in energy consumption and surface, this solution remains suboptimal because at any time one of the two modules is unused.
- the invention proposes a solution allowing the realization, in a cost-saving manner in terms of size and power consumption, of different filtering functions and particularly of Fourier transform and FIR filtering functions.
- the invention then makes it possible, in particular, to facilitate the processing of telecommunications signals meeting standards as different as the WCDMA and OFDM standards or else MC-CDMA in the same telecommunications apparatus.
- the invention uses an iterative computation module executing a Fast Fourier Transform (FFT) by a series of operations whenever a Fourier transform is to be performed, and using this same computation module to execute a function of FIR filtering in frequency domain.
- the FIR filtering function is performed according to the invention by a Fourier transform followed by a multiplication by coefficients and followed by an inverse Fourier transform.
- the iterative calculation module essentially comprises an elementary calculation circuit called a butterfly circuit in the form of at least one complex adder, a complex subtractor, and a complex multiplier, as well as a coefficient input connected to a memory containing complex coefficients. This elementary circuit is used iteratively (the output signals of the elementary circuit are reinjected at the input for a new calculation), in a number of steps which depends on the size of the groups of complex numbers to be processed during the calculation of the fast Fourier transform.
- FFT Fast Fourier Transform
- a throttle circuit can typically receive as input two complex numbers and a complex coefficient; it provides two other complex numbers. We will come back later on the detail of the butterfly circuits and the function of computation which they execute.
- the object of the present invention is therefore a digital signal processing device comprising an iterative calculation module adapted to receive a first succession of complex numbers and to perform a fast Fourier transform of a series of iterative operations. this first succession of complex numbers, to provide on a module output a second series of numbers which represents the Fourier transform of the first succession, the iterative calculation module comprising for this purpose at least one iterative calculation elementary circuit and memories associated with the elementary circuit, characterized in that the processing device comprises means for:
- the same calculation module makes it possible to execute, as desired, fast Fourier transforms or FIR filtering functions.
- the coefficients used in the multiplication of the numbers of the second succession are chosen, as will be seen below, according to the coefficients of the FIR filtering function to be executed on the numbers of the first succession.
- the multiplier of the elementary circuit is used to perform the multiplication of the numbers of the second succession by complex coefficients, by applying to the input of the multiplier the numbers of the second succession and by multiplying each of these numbers by a multiplier. coefficient.
- the digital processing device may be incorporated in a telecommunications signal transmission or reception apparatus having two 90 ° phase-shifted I and Q transmission channels to be subjected to identical finite impulse response filtering on both channels; in this case, the signals present on channel I are considered to be the real parts of the complex numbers of the first succession, and the signals on channel Q are considered to be the imaginary parts of these numbers.
- the real parts of the numbers of the fourth succession constitute the filtered signals of the channel I and the imaginary parts of these numbers constitute the filtered signals of the channel Q.
- This device can also perform the simultaneous filtering of two sets of independent data by grouping them in a single complex signal such that one forms the real part and the other the imaginary part.
- Filtering a single real signal is also possible; in this case one of the two parts of the complex signal will contain the signal to be filtered, the other will be systematically set to zero.
- the processing device preferably comprises a multiplier coefficient memory enabling the execution of a Fourier transform and an inverse Fourier transform by the iterative calculation elementary circuit, on blocks of maximum size of N max samples.
- the sequencing circuits of the elementary circuit are able to control a iterative sequence of operation of the elementary circuit using only a subset of coefficients of the coefficient memory, as a function of the number N of complex numbers of the first succession.
- this device is able to process transformations of
- This treatment can be performed in two modes if we consider an implementation with more than one butterfly. Indeed, and according to the need for calculation time, the module can use, in a sequential mode, a single butterfly to perform the requested treatment. In a parallel mode, and to speed up processing, two or more butterflies can be used simultaneously to process the data.
- FIG. 1 represents an iterative calculation elementary circuit (butterfly circuit);
- FIG. 2 represents an example of iterative calculation steps of
- FIG. 3 represents a more detailed elementary circuit
- FIG. 4 represents an iterative calculation module of FFT
- FIG. 5 represents a processing device according to the invention, able to perform a Fourier transform or a finite impulse response filtering function
- FIG. 6 shows an example of a butterfly circuit configurable single multiplier.
- This throttle circuit represented diagrammatically in FIG. 1 and designated by the reference PAP, comprises two data inputs for two complex numbers m and p, two data outputs for providing two complex numbers M and P which result from a computation step elementary performed on the numbers m and p, and a coefficient input to introduce a complex coefficient value k into the calculation.
- the butterfly circuit includes a complex number adder ADD, a complex number subtractor SST, and a multiplier MULT for multiplying a complex number by the complex coefficient k.
- the adder, the subtractor and the multiplier are arranged between the data inputs and the outputs so that the outputs provide the following calculation results:
- Two elementary butterfly circuits can operate in parallel to simultaneously process steps 1 and 2 on one side and steps 3 and 4 on the other.
- an FFT is treated by stages.
- Each stage is executed by T / 2 butterfly calculations performed by a butterfly circuit or several butterfly circuits working in parallel.
- the number of coefficients k used increases in proportion to the number n.
- Butterfly circuits of order 4 exist, processing the data four by four (butterflies 4-DIF or 4-DIT).
- Figure 1 shows in condensed form with complex operators a butterfly circuit.
- Figure 3 shows this circuit in more detail with real operators.
- Pr [k r (m r -Pr) - Ki (ITTIi - Pi)];
- FIG. 4 shows an exemplary embodiment of the iterative calculation module MCI which performs the calculation of a Fourier transform using two elementary butterfly circuits and associated memories.
- the butterfly circuits are designated PAP1 and PAP2. They are associated with dual port memories M1 to M4 for storing data that come out of the butterfly circuits and reinject them on the inputs, to iteratively perform the steps of a Fourier transform. Multiplexers 10, 12, 14, 16 are placed upstream of the butterfly circuits; they make it possible to select the input and output memories for each butterfly at each calculation step. Typically, it can be seen that a multiplexer makes it possible to apply to an input of each butterfly circuit a datum coming from the memory M1 or the memory M3, and to the other input a datum coming from the memory M2 or the memory M4. .
- the data from the butterfly circuit PAP1 can be stored in the memory M1 or the memory M3 as appropriate. Those coming from the PAP2 butterfly circuit can be stored in M2 memory or M4 memory. While one memory applies data to the input of one throttle circuit, the throttle circuit writes to the other memory and vice versa, alternately.
- the successive complex numbers are applied in groups of four at the input and are iteratively processed until all of the Fourier transform has been executed, the number of stages depending on the size of the blocks of numbers to process.
- a DMX demultiplexer at the input of the MCI module makes it possible to direct to the inputs of the module the successive complex numbers which appear on an input terminal E of the device.
- a filtering operation of a single sample is a convolution of N successive signal samples by N weighting coefficients. It consists of taking a series of N numerical data which are successive temporal samples of a signal level, then multiplying each sample of the series by a respective real coefficient, and finally summing the set of weighted samples to provide an output sample that takes into account not only a current signal sample value but also N-1 signal samples that preceded the current sample. As samples appear at the input of the FIR filter the filter produces filtered samples.
- the filter function is defined by the chosen coefficients.
- the filter produces N filtered samples during the period during which it receives N samples to be processed.
- This is the principle of FIR filtering in the time domain.
- the same filtering function is also implemented by passing in the frequency domain: a filter function FIR is equivalent to an FFT Fourier transform to pass into the frequency domain, followed by a multiplication of the resulting numbers by coefficients respective (which depend on the selected filtering function), and followed by an inverse Fourier transform to return to the time domain.
- a group of N successive samples to be filtered is represented by a vector x v in the time domain
- the filter function FIR in the time domain is a convolution by a vector of real coefficients h v
- the operator * representing the convolution operation that is the summation of the successive samples of the vector x v , each sample being weighted by a coefficient of the vector h v .
- the vector Y v is then derived from the vector X v by a simple multiplication operation.
- the FIR filtering function can therefore be reduced to the succession of a Fourier transform, a multiplication, and an inverse Fourier transform. Note that for filter functions of size N
- the digital input signals are processed by means of a digital processing device capable of performing a Fourier transform (and thus also an inverse Fourier transform since it is the same operation with other coefficients), and provided with means for further performing a multiplication operation on the results of a Fourier transform calculation.
- the processing device uses an iterative calculation module (MCI), such as for example that of FIG. 4, which performs Fourier transforms in a first mode of operation and FIR filterings in a second mode of operation.
- MCI iterative calculation module
- the module can calculate these transforms.
- the communication signals correspond to a standard that requires FIR filtering (in WCDMA or MC-CDMA)
- WCDMA or MC-CDMA FIR filtering
- the butterfly circuits since the butterfly circuits always include multipliers, it is not even necessary to add circuits of specific multiplication for performing the multiplication operations between the first Fourier transform calculation and the inverse transform calculation in the case of FIR filtering. It is preferable to use the multipliers of the butterfly circuits.
- FIG. 5 represents the general block diagram of the processing device according to the invention, in the case where the multipliers of the butterfly circuits are used for FIR filtering.
- the heart of the device is an iterative calculation module MCI using one or more butterfly circuits, for example two butterflies PAP1 and PAP2 as in FIG. 4.
- This module thus comprises the butterfly circuits and the associated memories, for example four dual port memories M1. at M4. It operates under the control of a sequencer SEQ as explained above, and it is associated with a coefficient memory COEFK which contains the complex coefficients k necessary for the execution of Fourier transforms.
- the sequencer is here able, in a FIR mode, to manage the succession of operations necessary for the execution of a succession of the three Fourier transform operations, multiplication, inverse transform before providing on the output of the calculation module a final result that represents finite impulse response filtering.
- the multiplication required for FIR filtering uses coefficients h different from the coefficients k used for the Fourier transform.
- FIG. 5 shows a memory COEFH containing the coefficients h, distinct from the memory COEFK containing the coefficients k, but it will be understood that these two memories could in certain cases be combined into one. It is the sequencer SEQ which manages the addressing of these memories to select a value k or a value h for each of the multipliers of the iterative calculation module at each stage of the calculation of the FFT.
- RAM of the MCI module in five memories. This makes it possible to mask the loading time of the input data and the reading of the output data.
- the data are read from these memories to the first FFT calculation stage, then processed and stored in the memory memT. All the rest of the processing is done by transiting only in the memT working memory.
- the data is stored in the memO memory. Note that while calculating the FIR operation on the data stored in memA and memB, the following data is stored in memC and the previous results are read from the memO memory.
- the sequencer has been represented with a command input
- MODE making it possible to select one of the two modes of operation of the sequencer: the first mode or FFT mode (simple calculation of the Fourier transform of the signals received at the input) or the second mode or FIR mode (FIR filtering of the signals received at entry).
- the representation of a MODE input in FIG. 5 is symbolic, the input is not necessarily a physical input.
- This information, as well as others such as the size of the FFT or FIR to execute, may be sent by other means to the sequencer. For example, by programming during an operator startup phase ("boot" in English).
- the sequencer In the first mode, that is, when an FFT is to be executed, the sequencer implements programmed addressing sequences that determine the execution of an FFT. In the second mode, ie if an execution of FIR is requested, the sequencer implements more complex sequences involving the execution of an FFT, the reinjection of the digital values resulting from the FFT in the circuits butterflies for multiplying these values by the coefficients of the vector H v , and reinjection into the butterfly circuits of the values thus multiplied to perform an inverse Fourier transform.
- First Mode FFT Execution
- a first succession of 2 n complex numbers is applied to an input E of the processing device (digital input for a complex number, thus subdivided into two real inputs: an input for the value of the real part and an input for the value of the imaginary part).
- the MCI module is composed of butterflies of order 2 to explain a general principle.
- the first sequence of complex numbers is processed in sets of four numbers for each calculation stage and the numbers are directed to the iterative calculation module inputs; the k coefficients of the butterfly circuit come from the memory COEFK; there are steps controlled by the sequencer, at the end of which the output S of the module provides a second succession of 2 n numbers which represents the Fourier transform of the first succession.
- the output S has been represented in the form of four output conductors since in this example the iterative calculation module treats the numbers four by four. We have not distinguished the real and imaginary outputs to not weigh down the scheme. This description remains valid regardless of the number and type of butterflies that make up the MCI module.
- a first succession of 2 n complex numbers is applied to the input E of the module; it is first treated exactly as for an FFT execution, but the second succession obtained at the end of the n stages is stored in the working memory to be reapplied later to the input E.
- the second succession then undergoes, under the control of the sequencer, a multiplication processing of each of the 2 n numbers by a respective coefficient H drawn by the sequencer of the memory COEFH.
- the multiplication is preferably done by the multipliers of the iterative calculation module.
- one solution is to apply the data to be multiplied two by two and not four by four (in the case where the module MCI comprises two butterflies of order 2 or a butterfly of order 4): to each butterfly circuit (which has only one multiplier) is applied a single number to multiply. If it is a butterfly circuit of the type of FIG. 1, for example, the number on the input m is applied by systematically setting the input p to zero, and the number multiplied by a coefficient H on the output P is collected.
- a wireless telecommunications system there is generally two-way demodulation in quadrature phase with respect to the carrier frequency; these channels are generally called I and Q
- the Fourier transform is on blocks of complex numbers and these complex numbers have a real part value defined by the present signals. on channel I and an imaginary part value defined by the signals present on the channel Q.
- the signals of the channel I and the channel Q are therefore applied to the processing device when a simple Fourier transform is executed, and the output of the module then provides other complex signals whose real part is the track I and the part Imaginary is the Q path to follow other signal processing steps downstream of the module.
- FIR filtering in the time domain only relates to real signals and the I channel and the Q channel must undergo identical FIR filtering. separately.
- the I and Q channels are grouped into a single complex signal (I forming the real part and Q the imaginary part) and it is the set of complex numerical values thus established which will undergo a Fourier transform then a multiplication then an inverse transform.
- the complex signal will thus have undergone FIR filtering and will be divided again into a channel I comprising the real part of the numbers of the fourth succession and a channel Q comprising the imaginary part of these numbers.
- the two-way quadrature FIR filtering function here is executed with a single circuit which processes both channels by mixing the information relating to the two channels (see for example the equations relating to the butterfly circuit of FIG. 3). and then separating the results into two paths.
- the simple multiplication by a coefficient is done by applying to a butterfly circuit a number on one input and a null value on another input.
- the butterfly circuit is configurable by a control input (controlled by the sequencer) to have a configuration more adapted to a simple multiplication during the multiplication operation during FIR filtering. For example, if one refers again to a butterfly circuit of the type of FIG.
- a multiplexer could be interposed upstream of the multiplier of the butterfly circuit to receive either the output of the subtractor, when the sequencer requests the execution of a Fourier transform, one of the inputs m or p (on which the data to be multiplied) will be applied when the sequencer requests the execution of a simple multiplication.
- the sequencer controls this multiplexer, so controls the configuration of the throttle circuit.
- the data to be multiplied does not need to pass unnecessarily through the subtractor before being multiplied and it is not necessary to place a zero value on the other input of the throttle circuit.
- FIG. 6 represents an example of such a butterfly circuit configurable as a single multiplier by a CONFIG input controlled by the sequencer.
- multiplier intended for the establishment of FIR functions is not the multiplier of a butterfly circuit but an additional multiplier.
- the digital processing device makes it possible to make Fourier transforms of variable sizes and thus also FIR functions of variable size. It is the sequencer that manages the size of the transformed blocks by defining the number of iterative steps of the butterfly circuits and by selecting in the COEFK memory the coefficients corresponding to the size envisaged. The coefficients for small sizes are subsets of the coefficients of the largest sizes.
- the COEFK memory therefore contains the necessary coefficients for the processing of blocks of maximum size N max .
- the memory COEFK can be a nonvolatile memory (ROM) because the coefficients are fixed, imposed by the equations of the Fourier transforms.
- the COEFH memory is preferably a volatile memory because the coefficients of the FIR filtering functions depend on the application and the size of the blocks, but one could of course provide a non-volatile memory containing the coefficients of the applications envisaged. It would then be grouped with COEFK memory in a single memory, possibly non-volatile. Note also that for some cases (like the FIR for UMTS), most of the filter coefficients are null. For this, and to save surface and processing time, an option can be used to mask the output of the data memories to zero in the case of multiplications by null coefficients.
- the memory COEFK can comprise only a quarter of the coefficients necessary for the calculation of a Fourier transform, knowing that the other coefficients as well as the coefficients of the inverse transform are deduced by symmetry. Indeed, the (complex) coefficients of a FFT of given size are all located on half of the unit circle having a negative imaginary part. The coefficients with negative real part can be calculated from those with real positive part by simple calculation of opposite. The coefficients of the inverse FFT are on the second half of the circle (to positive imaginary part) and can therefore be calculated by an opposite calculation as well. Two simple subtractors at the output of the COEFK memory can be used to calculate the missing coefficients: they calculate the opposites of the real and imaginary parts of the coefficients present to establish the missing coefficients.
- the memories M1 to M4 are dual-port memories, that is, two addresses can be simultaneously entered in the memory to read or write two data at the same time. time.
- Read-before-write memories also exist and can be used. These memories have the particularity of performing a reading and writing in a single clock cycle. Each butterfly then requires two read-before-write (rbw) simple port memories which constitute both the input and output memories of the butterflies.
- each butterfly reads a memory one value and stores another in the same address every clock cycle. This introduces constraints on the locations of the data in the memories since, in this case, the reads and writes are done in the same memory and at the same address.
- the address generator which must indicate the read / write address at each clock cycle takes in this case the number of the current calculation stage (number 'floor'), the number of the butterfly operation in this stage (number 'num'), the size of the FFT performed (number 'size') and the depth of the throttle pipeline.
- the current address is then obtained by recursively calling the following function a 'step' number of times:
- LSB (num) being the least significant bit of the number num and offset being a constant.
- a calculation operation of the fast Fourier transform or FIR filtering can be provided according to several modes: a sequential mode and a parallel mode. Take the case where the module has eight butterflies 2. Each butterfly must have the necessary storage resources as discussed previously. Consider the case where simple port memories are used. Each butterfly must have access to four memories: two input and two output. So in total 32 memories: 16 input and 16 output. These memories will work in ping-pong; from one floor to another, the input memories will become output memories and vice versa.
- the memories in the two modes are dimensioned according to the size of the largest FFT (or the largest FIR) to be performed, knowing that in the parallel mode, the data blocks to be processed are distributed among all the memories of the set of butterflies used.
- the input data is either routed to the sixteen memories connected to the eight butterflies all activated in parallel mode, or stored in the two input memories of a single butterfly in sequential mode. Other butterflies and memories in the latter mode will be inactive, which will reduce the power consumption in the module.
- configuration control signals are applied to the sequencer to specify the functionality of the module: FFT or FIR operation; Direct or inverse FFT; FFT in parallel or sequential mode (in the case of an implementation with several butterfly circuits); size of the FFT or FIR; start and end addresses of the mask at zero (in the case of an implementation using a mask); and coefficients of the FIR (in the case of an implementation in volatile memory
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)
- Algebra (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Discrete Mathematics (AREA)
- Computing Systems (AREA)
- Complex Calculations (AREA)
Abstract
L'invention concerne le traitement numérique de signaux, notamment pour les télécommunications sans fil. Selon l'invention, on propose d'utiliser un module de calcul itératif (MCI) exécutant par une suite d'opérations itératives une transformée de Fourier rapide (FFT) chaque fois qu'une transformée de Fourier doit être effectuée, et d'utiliser ce même module de calcul pour exécuter indirectement une fonction de filtrage à réponse impulsionnelle finie (FIR) en passant par l'intermédiaire du domaine fréquentiel, en considérant que la fonction de filtrage FIR peut être réalisée par une transformée de Fourier suivie d'une multiplication par des coefficients et suivie par une transformée de Fourier inverse. Le module de calcul itératif comprend essentiellement un circuit "papillon" qui exécute quelques additions, soustractions, et multiplications par un coefficient. On peut réaliser avec un même circuit, en limitant l'encombrement, à la fois des FFT et des fonctions FIR.
Description
DISPOSITIF DE TRAITEMENT NUMERIQUE POUR TRANSFORMEE DE FOURIER ET FILTRAGE A REPONSE IMPULSIONNELLE FINIE
L'invention concerne le traitement numérique de signaux, et notamment, mais non exclusivement, le traitement de signaux de communications dans des postes émetteurs/récepteurs mobiles pour télécommunications sans fil.
Les standards de signaux de communication sans fil évoluent dans le temps et plusieurs standards peuvent coexister à un moment donné. Chaque standard nécessite une circuiterie de traitement de signal adaptée, aussi bien en ce qui concerne les circuits de réception que les circuits d'émission. Cependant, il est souhaitable d'avoir des appareils de télécommunications mobiles qui peuvent fonctionner selon plusieurs standards différents. Chaque standard peut aussi avoir plusieurs modes de fonctionnement différents et il est souhaitable que les appareils mobiles puissent fonctionner selon les différents modes des différents standards. En particulier, selon le standard utilisé et selon le mode de fonctionnement utilisé dans un standard, les signaux numériques doivent subir des traitements numériques différents dans la chaîne de communication, tant en émission qu'en réception.
Aujourd'hui, les principales techniques d'accès sont le WCDMA (Wideband Code Division Multiple Access), l'OFDM (Orthogonal Frequency Division Multiplexing), et le MC-CDMA.
La technique d'accès WCDMA sur laquelle se base le standard UMTS (Universal Mobile Télécommunications System), standard de la communication de troisième génération (3G), nécessite l'emploi d'un filtre numérique à réponse impulsionnelle finie (filtre FIR) dans les chaînes d'émission et de réception. Les données à envoyer (et de même les données reçues) sont réparties sur deux voies de transmission nommées I et Q déphasées de 90° l'une par rapport à l'autre et chaque voie subit un filtrage FIR identique.
La technique d'accès OFDM forme une base pour plusieurs standards de télécommunication sans fil tels que le standard IEEE 802.11 pour la communication sans fil WIFI, le standard DVB-H pour la télévision numérique terrestre mobile et le standard ECMA-368 pour le Bluetooth 3.0. Cette technique nécessite des calculs de transformées de Fourier rapides (FFT) pour diviser le signal sur plusieurs sous-porteuses.
La technique d'accès MC-CDMA est la combinaison des deux techniques citées ci-dessus. Elle est à la base de nouveaux standards en cours de développement comme le standard IEEE 802.20 nommé également MBWA (Mobile Broadband Wireless Access). Cette technique nécessite l'emploi de FFT et de filtres FIR.
Lorsque ces standards utilisent des transformées de Fourier rapides, les transformées peuvent être de tailles variables, c'est-à-dire qu'elles peuvent traiter des blocs de données numériques de taille variable. Typiquement, les tailles peuvent varier entre 64 et 8192 points et les fréquences peuvent être comprises entre 1.92 MHz et 409.6 MHz. Pour les standards qui utilisent un filtrage FIR, c'est la même chose : les tailles des filtres sont variables et les fréquences également, selon le standard et les caractéristiques du canal de transmission, éventuellement évaluées en ligne ou plus couramment estimées avant le fonctionnement. Pour intégrer plusieurs standards dans un même appareil de télécommunication, il faut alors prévoir plusieurs circuits numériques d'exécution de transformées de Fourier (correspondant à des tailles différentes de blocs d'information à traiter) et plusieurs circuits numériques d'exécution de filtrage FIR correspondant aussi à des tailles différentes.
Ces solutions présentent des limitations tant du point de vue de l'encombrement que de la consommation énergétique.
Une autre solution consiste à utiliser un microprocesseur programmable pour effectuer toutes les fonctions de filtrage, qu'elles soient FFT ou FIR, à l'aide de programmes stockés en mémoire. Mais les microprocesseurs assez rapides pour respecter les contraintes temps-réel des standards de télécommunication sans fil sont également volumineux et très consommateurs d'énergie.
Une solution alternative consiste à utiliser un module capable d'exécuter des FFT de tailles variables en plus d'un deuxième module capable de traiter des FIR de tailles variables aussi. Bien que cette solution soit plus efficace en consommation d'énergie et en surface, cette solution reste sous-optimale puisqu'à tout moment l'un des deux modules est inutilisé.
L'invention propose une solution permettant la réalisation, d'une manière économique en encombrement et en consommation d'énergie, de différentes fonctions de filtrage et particulièrement des fonctions de transformée de Fourier et de filtrage FIR. L'invention permet alors, notamment, de faciliter le traitement de signaux de télécommunications répondant à des standards aussi différents que les standards WCDMA et OFDM ou encore MC-CDMA dans un même appareil de télécommunications.
L'invention utilise un module de calcul itératif exécutant par une suite d'opérations une transformée de Fourier rapide (FFT) chaque fois qu'une transformée de Fourier doit être effectuée, et d'utiliser ce même module de calcul pour exécuter une fonction de filtrage FIR en domaine fréquentiel. La fonction de filtrage FIR est réalisée suivant l'invention par une transformée de Fourier suivie d'une multiplication par des coefficients et suivie par une transformée de Fourier inverse. Le module de calcul itératif comprend essentiellement un circuit élémentaire de calcul nommé circuit papillon (butterfly circuit en anglais) et constitué d'au moins un additionneur complexe, un soustracteur complexe, et un multiplieur complexe, ainsi qu'une entrée de coefficient reliée à une mémoire contenant des coefficients complexes. Ce circuit élémentaire est utilisé de manière itérative (les signaux de sortie du circuit élémentaire sont réinjectés à l'entrée pour un nouveau calcul), en un nombre d'étapes qui dépend de la taille des groupes de nombres complexes à traiter lors du calcul de la transformée de Fourier rapide.
Le principe de calcul élémentaire itératif pour l'exécution d'une transformée de Fourier rapide est bien connu. Un circuit papillon peut typiquement recevoir en entrée deux nombres complexes et un coefficient complexe ; il fournit à sa sortie deux autres nombres complexes. On
reviendra plus loin sur le détail des circuits papillon et de la fonction de calcul qu'ils exécutent.
Plus précisément, l'objet de la présente invention est donc un dispositif de traitement de signaux numériques comportant un module de calcul itératif apte à recevoir une première succession de nombres complexes et à effectuer par une série d'opérations itératives une transformée de Fourier rapide de cette première succession de nombres complexes, pour fournir sur une sortie du module une deuxième succession de nombres qui représente la transformée de Fourier de la première succession, le module de calcul itératif comprenant à cet effet au moins un circuit élémentaire de calcul itératif et des mémoires associées au circuit élémentaire, caractérisé en ce que le dispositif de traitement comprend des moyens pour :
- fournir sur sa sortie, dans un premier mode de fonctionnement correspondant à l'exécution d'une transformée de Fourier rapide (directe ou inverse), la deuxième succession de nombres,
- effectuer, dans un deuxième mode de fonctionnement correspondant à l'exécution d'une fonction de filtrage à réponse impulsionnelle finie, une multiplication de chaque nombre de la deuxième succession de nombres complexes par un coefficient complexe respectif, de manière à produire une troisième succession de nombres complexes, et appliquer à l'entrée du module de calcul itératif (MCI) la troisième succession pour effectuer une transformée de Fourier inverse de la troisième succession de manière à produire sur la sortie du module de calcul itératif une quatrième succession de nombres complexes représentant cette transformée inverse,
- fournir sur sa sortie, dans le deuxième mode de fonctionnement, la quatrième succession de nombres représentant le résultat d'une fonction de filtrage à réponse impulsionnelle finie exécutée sur les nombres de la première succession.
Ainsi, le même module de calcul permet d'exécuter, au choix, des transformées de Fourier rapides ou des fonctions de filtrage FIR. Dans ce dernier cas, les coefficients utilisés dans la multiplication des nombres de la
deuxième succession sont choisis, comme on le verra plus loin, en fonction des coefficients de la fonction de filtrage FIR à exécuter sur les nombres de la première succession.
Dans une réalisation avantageuse, le multiplieur du circuit élémentaire est utilisé pour effectuer la multiplication des nombres de la deuxième succession par des coefficients complexes, en appliquant à l'entrée du multiplieur les nombres de la deuxième succession et en multipliant chacun de ces nombres par un coefficient. Le détail de cette solution ainsi que les autres réalisations envisagées pour effectuer la multiplication par les coefficients du filtre FIR seront traités plus loin.
Le dispositif de traitement numérique peut être incorporé à un appareil de transmission ou réception de signaux de télécommunications comportant deux voies de transmission I et Q déphasées de 90° devant subir un filtrage à réponse impulsionnelle finie identique sur les deux voies ; dans ce cas, les signaux présents sur la voie I sont considérés comme étant les parties réelles des nombres complexes de la première succession, et les signaux sur la voie Q sont considérés comme étant les parties imaginaires de ces nombres. En sortie du dispositif de traitement, dans le mode de fonctionnement FIR, les parties réelles des nombres de la quatrième succession constituent les signaux filtrés de la voie I et les parties imaginaires de ces nombres constituent les signaux filtrés de la voie Q.
Ce dispositif peut aussi effectuer le filtrage simultané de deux séries de données indépendantes en les groupant dans un seul signal complexe tel que l'une forme la partie réelle et l'autre la partie imaginaire.
Le filtrage d'un seul signal réel est aussi possible ; dans ce cas une des deux parties du signal complexe contiendra le signal à filtrer, l'autre sera systématiquement mise à zéro.
Le dispositif de traitement comporte de préférence une mémoire de coefficients multiplicateurs permettant l'exécution d'une transformée de Fourier et une transformée de Fourier inverse par le circuit élémentaire de calcul itératif, sur des blocs de taille maximale de Nmax échantillons. Les circuits de séquencement du circuit élémentaire sont aptes à contrôler une
séquence itérative de fonctionnement du circuit élémentaire en utilisant un sous-ensemble seulement des coefficients de la mémoire de coefficients, ceci en fonction du nombre N de nombres complexes de la première succession.
En outre, ce dispositif est capable de traiter des transformées de
Fourier rapide et des filtres FIR de tailles variables selon les besoins du domaine applicatif concerné.
Ce traitement peut être effectué en deux modes si l'on considère une mise en oeuvre avec plus d'un papillon. En effet, et selon le besoin de temps de calcul, le module peut utiliser, dans un mode séquentiel, un seul papillon pour effectuer le traitement demandé. Dans un mode parallèle, et pour accélérer le traitement, deux ou plusieurs papillons peuvent être utilisés simultanément pour traiter les données.
D'autres caractéristiques et avantages de l'invention apparaîtront à la lecture de la description détaillée qui suit et qui est faite en référence aux dessins annexés dans lesquels :
- la figure 1 représente un circuit élémentaire de calcul itératif (circuit papillon) ;
- la figure 2 représente un exemple d'étapes de calcul itératif de
FFT ;
- la figure 3 représente un circuit élémentaire plus détaillé ;
- la figure 4 représente un module de calcul itératif de FFT ;
- la figure 5 représente un dispositif de traitement selon l'invention, apte à effectuer une transformée de Fourier ou une fonction de filtrage à réponse impulsionnelle finie ;
- la figure 6 représente un exemple de circuit papillon configurable en simple multiplieur.
Principe de la transformée de Fourier rapide
Pour mieux faire comprendre l'invention, on rappelle le principe d'une transformée de Fourier rapide FFT effectuée en quatre calculs papillon sur un bloc de quatre nombres complexes à partir d'un circuit papillon élémentaire, donc une FFT de taille 4. Divers types de circuit papillon existent et on prendra comme exemple un circuit papillon d'ordre 2 à décimation en fréquence (2-DIF).
Ce circuit papillon, représenté schématiquement à la figure 1 et désigné par la référence PAP, comprend deux entrées de données pour deux nombres complexes m et p, deux sorties de données pour fournir deux nombres complexes M et P qui résultent d'une étape de calcul élémentaire effectuée sur les nombres m et p, et une entrée de coefficient pour introduire une valeur de coefficient complexe k dans le calcul. Le circuit papillon comprend un additionneur de nombres complexes ADD, un soustracteur de nombres complexes SST, et un multiplieur MULT pour multiplier un nombre complexe par le coefficient complexe k.
L'additionneur, le soustracteur et le multiplieur sont agencés entre les entrées de données et les sorties de sorte que les sorties fournissent les résultats de calcul suivants :
M = m + p
P = k.(m - p)
Pour effectuer la transformée de Fourier d'un bloc de quatre nombres complexes a, b, c, d, quatre étapes de calcul itératif à l'aide du même circuit papillon sont effectuées. Elles sont schématisées à la figure 2. Dans la première étape on applique les nombres a et c à l'entrée et on recueille en sortie des nombres M1 et P1. Dans la deuxième étape, on applique les nombres b et d et on recueille des nombres M2 et P2. Dans la troisième étape, on applique à l'entrée les nombres M1 et M2 précédemment calculés et on recueille en sortie des nombres a' et b'. Dans la quatrième étape, on applique les nombres P1 et P2 à l'entrée et on recueille des
nombres c' et d' en sortie. Les coefficients k appliqués à l'entrée de coefficient varient au cours de ces étapes. Les nombres a', b', c', d' sont la transformée de Fourier du groupe de nombres a, b, c, d.
Deux circuits papillon élémentaires peuvent fonctionner en parallèle pour traiter simultanément les étapes 1 et 2 d'un côté et les étapes 3 et 4 de l'autre.
Pour traiter des blocs de taille plus grande, le nombre d'étapes est plus élevé. En effet, une FFT est traitée par étages. Typiquement, une FFT de taille T = 2n nécessite n étages. Chaque étage est exécuté par T/2 calculs papillons effectués par un circuit papillon ou plusieurs circuits papillon travaillant en parallèle. Le nombre de coefficients k utilisés augmente en proportion du nombre n.
D'autres types de circuits papillon peuvent être utilisés : papillons d'ordre 2 à décimation dans le temps (2-DIT) qui utilisent encore un additionneur, un soustracteur et un multiplieur mais qui exécutent le calcul suivant :
M = m + k.p
P = m - k.p
Des circuits papillon d'ordre 4 existent, traitant les données quatre par quatre (papillons 4-DIF ou 4-DIT).
Ces explications ne sont données qu'à titre de rappel pour faciliter la compréhension. La réalisation de transformées de Fourier rapide est bien connue dans la technique.
La figure 1 représente sous une forme condensée avec des opérateurs complexes un circuit papillon. La figure 3 représente ce circuit d'une manière plus détaillée avec des opérateurs réels.
Il faut alors trois additionneurs de nombres réels, trois soustracteurs de nombres réels et quatre multiplieurs de nombres réels pour
traiter les parties réelles et parties imaginaires des nombres en entrée et les parties réelles et imaginaires des coefficients de multiplication.
Si on appelle mr et mi les parties réelle et imaginaire du nombre m
= mr + j.rrii, et de même pr et pi pour le nombre p, kr et kj pour le coefficient k, Mr et Mj pour le nombre M et Pr et Pj pour le nombre P, le circuit papillon doit en effet établir les calculs suivants résultant des égalités déjà mentionnées M
= m+p et P = k.(m - p).
M = (mr + pr) + j.(rτii + pi)
P = [kr(mr -pr) - ki(rτii - Pi)] + j.[ki(mr -pr) + Mm1 -pi)] Soit :
Mr = (mr + Pr) ; Mi = (mi + pj)
Pr = [kr(mr -Pr) - Ki(ITTIi - Pi)] ;
Pi = [ki(mr -pr) + kr(rτii -pi)]
La figure 4 montre un exemple de réalisation du module de calcul itératif MCI qui effectue le calcul d'une transformée de Fourier à l'aide de deux circuits papillon élémentaires et de mémoires associées.
Les circuits papillons sont désignés par PAP1 et PAP2. Ils sont associés à des mémoires double port M1 à M4 permettant de stocker des données qui sortent des circuits papillons et de les réinjecter sur les entrées, pour effectuer itérativement les étapes d'une transformée de Fourier. Des multiplexeurs 10, 12, 14, 16 sont placés en amont des circuits papillons ; ils permettent de sélectionner les mémoires d'entrée et de sortie pour chaque papillon à chaque étape de calcul. Typiquement, on voit qu'un multiplexeur permet d'appliquer à une entrée de chaque circuit papillon une donnée venant de la mémoire M1 ou de la mémoire M3, et à l'autre entrée une donnée venant de la mémoire M2 ou de la mémoire M4. Les données issues du circuit papillon PAP1 peuvent être stockées dans la mémoire M1 ou la mémoire M3 selon le cas. Celles qui sont issues du circuit papillon PAP2
peuvent être stockées dans la mémoire M2 ou la mémoire M4. Pendant qu'une mémoire applique des données à l'entrée d'un circuit papillon, le circuit papillon écrit dans l'autre mémoire et réciproquement, en alternance.
D'autres multiplexeurs 18, 20, 22, 24 permettent d'appliquer des nombres à l'entrée des mémoires M1 et M2 au début du calcul itératif. Ensuite, les données à l'entrée des mémoires M1 et M2 viennent des sorties des circuits papillons PAP1 et PAP2 respectivement à chaque nouvelle étape du calcul itératif. Un séquenceur non représenté commande les différentes étapes du calcul et gère l'adressage des quatre mémoires. Ce séquenceur commande les multiplexeurs, et il commande aussi l'adressage d'une mémoire COEFK qui contient les coefficients de multiplication k nécessaires à l'exécution des opérations de calcul élémentaires dans les circuits PAP1 et PAP2. A chaque nouvelle étape, des coefficients k sont extraits de cette mémoire pour être appliqués aux circuits papillons. Le choix des coefficients à utiliser au cours du calcul itératif dépend de la taille de la transformée de Fourier à effectuer.
Avec le circuit de la figure 4, les nombres complexes successifs sont appliqués par groupes de quatre à l'entrée et sont itérativement traités jusqu'à ce que la totalité de la transformée de Fourier ait été exécutée, le nombre d'étages dépendant de la taille des blocs de nombres à traiter. Un démultiplexeur DMX à l'entrée du module MCI permet d'aiguiller vers les entrées du module les nombres complexes successifs qui se présentent sur une borne d'entrée E du dispositif.
Filtrage FIR
On rappelle par ailleurs ce qu'est une opération de filtrage à réponse impulsionnelle finie ou filtrage FIR, de l'anglais « Finite Impulse Response ». Une opération de filtrage d'un seul échantillon est une convolution de N échantillons successifs de signal par N coefficients de pondération. Elle consiste à prendre une série de N données numériques qui sont des échantillons temporels successifs d'un niveau de signal, puis à multiplier chaque échantillon de la série par un coefficient réel respectif, et
enfin à additionner l'ensemble des échantillons ainsi pondérés pour fournir un échantillon de sortie qui tient compte non seulement d'une valeur d'échantillon courant de signal mais aussi des N-1 échantillons de signal qui ont précédé l'échantillon courant. Au fur et à mesure que des échantillons se présentent à l'entrée du filtre FIR le filtre produit des échantillons filtrés. La fonction de filtrage est définie par les coefficients choisis. Si on ne tient pas compte des effets de bord au démarrage, le filtre produit N échantillons filtrés pendant la durée pendant laquelle il reçoit N échantillons à traiter. C'est le principe du filtrage FIR dans le domaine temporel. La même fonction de filtrage se met en œuvre également en passant dans le domaine fréquentiel : une fonction de filtrage FIR est équivalente à une transformée de Fourier FFT pour passer dans le domaine fréquentiel, suivie d'une multiplication des nombres qui en résultent par des coefficients respectifs (qui dépendent de la fonction de filtrage choisie), et suivie d'une transformée de Fourier inverse pour repasser dans le domaine temporel.
En d'autres mots, si un groupe de N échantillons successifs à filtrer est représenté par un vecteur xv dans le domaine temporel, et si la fonction de filtrage FIR dans le domaine temporel est une convolution par un vecteur de coefficients réels hv, le résultat de la fonction est un vecteur yv tel que yv = xv *hv, l'opérateur * représentant l'opération de convolution, c'est-à- dire la sommation des échantillons successifs du vecteur xv, chaque échantillon étant pondéré par un coefficient du vecteur hv. On peut écrire alors que si le vecteur Xv est la transformée de Fourier du vecteur xv, soit Xv=FFT(Xy), et si le vecteur Yv est la transformée de Fourier du vecteur yv, soit Yv=FFT(yv), alors il existe un vecteur Hv de coefficients complexes, qui se déduit des coefficients réels hv, tel que Yv = XV.HV.
Le vecteur Yv se déduit alors du vecteur Xv par une simple opération de multiplication.
On peut donc écrire encore que yv est la transformée de Fourier inverse de Yv, soit yv = FFT1(YV), ou encore que yv = FFT1(XV.HV), ou encore que :
yv = FFT1[Hv.FFT(xv )]
La fonction de filtrage FIR peut donc se ramener à la succession d'une transformée de Fourier, d'une multiplication, et d'une transformée de Fourier inverse. On notera que pour les fonctions de filtrage de taille N
(convolution de N échantillons) il faut en principe faire des transformées de Fourier de taille 2N en travaillant sur des groupes de 2N échantillons décalés en recouvrement mutuel de N échantillons à chaque fois (pour éviter les effets de bord entre groupes d'échantillons).
Dispositif de traitement numérique
Selon l'invention, on traite les signaux numériques d'entrée à l'aide d'un dispositif de traitement numérique capable d'effectuer une transformée de Fourier (et donc aussi une transformée de Fourier inverse puisque c'est la même opération avec d'autres coefficients), et pourvu de moyens pour effectuer en outre une opération de multiplication sur les résultats d'un calcul de transformée de Fourier. Le dispositif de traitement utilise un module de calcul itératif (MCI), tel que par exemple celui de la figure 4, qui effectue des transformées de Fourier dans un premier mode de fonctionnement et des filtrages FIR dans un deuxième mode de fonctionnement.
Ainsi, dans le cadre d'un traitement numérique de signaux de communication correspondant à une norme qui exige des calculs de transformées de Fourier (en OFDM par exemple ou en MC-DMA) le module pourra calculer ces transformées. Mais si les signaux de communication correspondent à une norme qui exige un filtrage FIR (en WCDMA ou MC- CDMA), au lieu de traiter ces signaux dans le temps, on utilisera le même module électronique MCI pour effectuer d'abord une transformée de Fourier, puis une multiplication, puis une transformée de Fourier inverse.
De plus, comme les circuits papillon comprennent toujours des multiplieurs, il n'est même pas indispensable de rajouter des circuits de
multiplication spécifiques pour effectuer les opérations de multiplication entre le premier calcul de transformée de Fourier et le calcul de transformée inverse dans le cas d'un filtrage FIR. On pourra de manière préférentielle utiliser les multiplieurs des circuits papillons.
La figure 5 représente le schéma de principe général du dispositif de traitement selon l'invention, dans le cas où on utilise les multiplieurs des circuits papillons pour le filtrage FIR.
Le cœur du dispositif est un module de calcul itératif MCI utilisant un ou plusieurs circuits papillon, par exemple deux papillons PAP1 et PAP2 comme à la figure 4. Ce module comprend donc les circuits papillons et les mémoires associées, par exemple quatre mémoires double port M1 à M4. Il fonctionne sous la commande d'un séquenceur SEQ comme expliqué précédemment, et il est associé à une mémoire de coefficients COEFK qui contient les coefficients complexes k nécessaires à l'exécution de transformées de Fourier.
Mais le séquenceur est ici apte, dans un mode FIR, à gérer la succession d'opérations nécessaires à l'exécution d'une succession des trois opérations transformée de Fourier, multiplication, transformée inverse avant de fournir sur la sortie du module de calcul un résultat final qui représente un filtrage à réponse impulsionnelle finie. La multiplication nécessaire pour le filtrage FIR utilise des coefficients h différents des coefficients k utilisés pour la transformée de Fourier. Sur la figure 5 on a représenté une mémoire COEFH contenant les coefficients h, distincte de la mémoire COEFK contenant les coefficients k, mais on comprendra que ces deux mémoires pourraient dans certains cas être confondues en une seule. C'est le séquenceur SEQ qui gère l'adressage de ces mémoires pour sélectionner une valeur k ou une valeur h pour chacun des multiplieurs du module de calcul itératif à chaque étage du calcul de la FFT.
Pour exécuter la succession des opérations nécessaires au filtrage FIR on prévoit de préférence de découper chacune des mémoires
RAM du module MCI en cinq mémoires. Ceci permet de masquer le temps de chargement des données en entrée et de lecture des données en sortie.
Ces cinq mémoires se divisent en trois mémoires d'entrée qu'on appellera ci-
après memA, memB, memC, une mémoire de sortie qu'on appellera memO, et une mémoire de travail qu'on appellera memT.
Afin d'exécuter une opération de filtrage des données stockées dans les mémoires memA et memB par exemple, les données sont lues de ces mémoires au premier étage de calcul de FFT, puis traitées et stockées dans la mémoire memT. Tout le reste du traitement se fait en transitant uniquement dans la mémoire de travail memT. Au dernier étage de calcul de FFT, les données sont stockées dans la mémoire memO. Notons que pendant le calcul de l'opération FIR sur les données stockées en memA et memB, les données suivantes sont stockées dans memC et les résultats antérieurs sont lus de la mémoire memO. Ces mémoires permettent donc, entre autres, de réinjecter à l'entrée du module de calcul itératif les résultats de calcul intermédiaires fournis par ce module. L'adressage des mémoires est commandé par le séquenceur SEQ.
Le séquenceur a été représenté avec une entrée de commande
MODE permettant de sélectionner l'un des deux modes de fonctionnement du séquenceur : le premier mode ou mode FFT (calcul simple de transformée de Fourier des signaux reçus à l'entrée) ou le deuxième mode ou mode FIR (filtrage FIR des signaux reçus à l'entrée). La représentation d'une entrée MODE sur la figure 5 est symbolique, l'entrée n'est pas nécessairement une entrée physique. Cette information, ainsi que d'autres telles que la taille de la FFT ou du FIR à exécuter, peut être envoyée par d'autres moyens au séquenceur. Par exemple par programmation pendant une phase de démarrage de l'opérateur ("boot" en anglais).
Dans le premier mode, c'est-à-dire quand une FFT doit être exécutée, le séquenceur met en œuvre des séquences d'adressages programmées qui déterminent l'exécution d'une FFT. Dans le deuxième mode, c'est-à-dire si une exécution de FIR est demandée, le séquenceur met en œuvre des séquences plus complexes impliquant l'exécution d'une FFT, la réinjection des valeurs numériques résultant de la FFT dans les circuits papillons pour effectuer une multiplication de ces valeurs par les coefficients du vecteur Hv , et la réinjection dans les circuits papillons des valeurs ainsi multipliées pour exécuter une transformée de Fourier inverse.
Premier Mode (Exécution de FFT)
Pour exécuter une FFT, une première succession de 2n nombres complexes est appliquée à une entrée E du dispositif de traitement (entrée numérique pour un nombre complexe, donc subdivisée en deux entrées réelles : une entrée pour la valeur de la partie réelle et une entrée pour la valeur de la partie imaginaire). Nous nous plaçons ici dans un cas particulier où le module MCI est composé de papillons d'ordre 2 pour expliquer un principe général. La première succession de nombres complexes est traitée par ensembles de quatre nombres pour chaque étage de calcul et les nombres sont dirigés vers les entrées du module de calcul itératif ; les coefficients k du circuit papillon sont issus de la mémoire COEFK ; il y a n étapes commandées par le séquenceur, au bout desquelles la sortie S du module fournit une deuxième succession de 2n nombres qui représente la transformée de Fourier de la première succession. La sortie S a été représentée sous forme de quatre conducteurs de sortie puisque dans cet exemple le module de calcul itératif traite les nombres quatre par quatre. On n'a pas distingué les sorties réelles et imaginaires pour ne pas alourdir le schéma. Cette description reste valable quel que soit le nombre et type de papillons qui constituent le module MCI.
Deuxième Mode (Exécution de FIR)
Pour exécuter un filtrage FIR de taille 2n~1, une première succession de 2n nombres complexes est appliquée à l'entrée E du module ; elle est traitée tout d'abord exactement comme pour une exécution de FFT, mais la deuxième succession obtenue à la fin des n étages est stockée dans la mémoire de travail pour être réappliquée ultérieurement à l'entrée E. La deuxième succession subit alors, sous la commande du séquenceur, un traitement de multiplication de chacun des 2n nombres par un coefficient H respectif tiré par le séquenceur de la mémoire COEFH. La multiplication est faite de préférence par les multiplieurs du module de calcul itératif.
Pour que la multiplication soit faite par les multiplieurs du module de calcul itératif, une solution consiste à appliquer les données à multiplier deux par deux et non quatre par quatre (dans le cas où le module MCI comporte deux papillons d'ordre 2 ou un papillon d'ordre 4) : à chaque circuit papillon (qui ne comporte qu'un seul multiplieur) est appliqué un seul nombre à multiplier. Si c'est un circuit papillon du type de la figure 1 , on applique par exemple le nombre sur l'entrée m en mettant systématiquement l'entrée p à zéro, et on recueille le nombre multiplié par un coefficient H sur la sortie P.
C'est le séquenceur SEQ qui gère cette opération en utilisant la mémoire COEFH pour le coefficient multiplicateur.
Après l'exécution de cette multiplication des 2n nombres par les coefficients H on obtient une troisième succession de 2n nombres complexes. Le séquenceur exécute alors un programme de calcul de transformée de Fourier inverse sur cette troisième succession, en appliquant les nombres de la troisième succession sur les entrées des circuits papillons, et en effectuant les opérations itératives nécessaires. Les coefficients de multiplication k de la transformée de Fourier inverse sont pris dans la mémoire COEFK ou calculés par des opérations simples (soustractions) à partir des coefficients de la transformée directe. A la fin de cette partie de la séquence on obtient en sortie S du module de calcul MCI une quatrième succession de 2n nombres complexes qui représentent la transformée de Fourier inverse de la troisième succession et qui représentent donc aussi la sortie du filtrage FIR de la première succession.
Dans un système de télécommunications sans fil on a en général une démodulation selon deux voies en quadrature de phase par rapport à la fréquence porteuse ; ces voies sont généralement appelées voie I et voie Q. Lorsque le traitement de signal exige une transformée de Fourier des signaux, la transformée de Fourier porte sur des blocs de nombres complexes et ces nombres complexes ont une valeur de partie réelle définie par les signaux présents sur la voie I et une valeur de partie imaginaire définie par les signaux présents sur la voie Q. Les signaux de la voie I et de la voie Q sont donc appliqués au dispositif de traitement lorsqu'une simple transformée de Fourier est exécutée, et la sortie du module fournit alors d'autres signaux complexes dont la partie réelle constitue la voie I et la partie
imaginaire constitue la voie Q pour suivre d'autres étapes de traitement de signal en aval du module.
Mais lorsque le traitement de signal envisagé en fonction de la norme d'émission ou réception exige un filtrage FIR, le filtrage FIR dans le domaine temporel ne porte que sur des signaux réels et la voie I et la voie Q doivent subir un filtrage FIR identique séparément. Dans ce cas, on regroupe les voies I et Q en un seul signal complexe (I formant la partie réelle et Q la partie imaginaire) et c'est l'ensemble des valeurs numériques complexes ainsi établi qui va subir une transformée de Fourier puis une multiplication puis une transformée inverse. A la sortie, le signal complexe aura donc subi un filtrage FIR et sera divisé à nouveau en une voie I comprenant la partie réelle des nombres de la quatrième succession et une voie Q comprenant la partie imaginaire de ces nombres. La fonction de filtrage FIR de deux voies en quadrature de phase est ici exécutée avec un seul circuit qui traite à la fois les deux voies en mélangeant les informations relatives aux deux voies (voir par exemple les équations relatives au circuit papillon de la figure 3) et en séparant ensuite les résultats en deux voies.
Dans ce qui précède on a considéré que la multiplication simple par un coefficient se fait en appliquant à un circuit papillon un nombre sur une entrée et une valeur nulle sur une autre entrée. On peut alternativement envisager que le circuit papillon soit configurable par une entrée de commande (contrôlée par le séquenceur) pour avoir une configuration plus adaptée à une simple multiplication pendant l'opération de multiplication lors d'un filtrage FIR. Par exemple, si on se réfère à nouveau à un circuit papillon du type de la figure 1 , un multiplexeur pourrait être interposé en amont du multiplieur du circuit papillon pour recevoir soit la sortie du soustracteur, lorsque le séquenceur demande l'exécution d'une transformée de Fourier, soit l'une des entrées m ou p (sur laquelle on appliquera la donnée à multiplier) lorsque le séquenceur demande l'exécution d'une simple multiplication. Le séquenceur commande ce multiplexeur, donc commande la configuration du circuit papillon. La donnée à multiplier n'a alors pas besoin de transiter inutilement par le soustracteur avant d'être multipliée et on n'est pas obligé de placer une valeur nulle sur l'autre entrée du circuit papillon.
La figure 6 représente un exemple d'un tel circuit papillon configurable en simple multiplieur par une entrée CONFIG commandée par le séquenceur.
On peut encore envisager, bien que ce soit moins avantageux, que le multiplieur destiné à l'établissement des fonctions FIR ne soit pas le multiplieur d'un circuit papillon mais un multiplieur supplémentaire.
Le dispositif de traitement numérique selon l'invention permet de faire des transformées de Fourier de tailles variables et donc aussi des fonctions FIR de taille variable. C'est le séquenceur qui gère la taille des blocs transformés en définissant le nombre d'étapes itératives des circuits papillons et en sélectionnant dans la mémoire COEFK les coefficients qui correspondent à la taille envisagée. Les coefficients pour les petites tailles sont des sous-ensembles des coefficients des plus grandes tailles. La mémoire COEFK contient donc les coefficients nécessaires pour le traitement de blocs d'une taille maximale Nmax. La mémoire COEFK peut être une mémoire non volatile (ROM) car les coefficients sont fixes, imposés par les équations des transformées de Fourier. La mémoire COEFH est de préférence une mémoire volatile car les coefficients des fonctions de filtrage FIR dépendent de l'application et de la taille des blocs, mais on pourrait bien sûr prévoir une mémoire non-volatile contenant les coefficients des applications envisagées. Elle serait alors regroupée avec la mémoire COEFK en une seule mémoire éventuellement non-volatile. Notons en plus que pour certains cas (comme celui du FIR pour UMTS), la plupart des coefficients du filtre sont nuls. Pour cela, et pour économiser en surface et en temps de traitement, une option peut être utilisée pour masquer à zéro la sortie des mémoires de donnée dans le cas des multiplications par des coefficients nuls. La mémoire COEFK peut ne comporter qu'un quart des coefficients nécessaires au calcul d'une transformée de Fourier, sachant que les autres coefficients ainsi que les coefficients de la transformée inverse s'en déduisent par symétrie. En effet, les coefficients (complexes) d'une FFT de taille donnée sont situés tous sur la moitié du cercle unité ayant une partie imaginaire négative. Les coefficients à partie réelle négative peuvent être calculés à partir de ceux à partie réelle positive par simple calcul d'opposé. Les coefficients de la FFT inverse sont sur la deuxième moitié du cercle (à
partie imaginaire positive) et peuvent donc être calculés par un calcul d'opposé aussi. Deux simples soustracteurs en sortie de la mémoire COEFK peuvent servir à calculer les coefficients manquants : ils calculent les opposés des parties réelles et imaginaires des coefficients présents pour établir les coefficients manquants.
On a décrit ci-dessus un exemple dans lequel deux circuits papillons sont utilisés dans le module de calcul itératif. On peut prévoir un nombre quelconque de circuits papillons selon les contraintes temporelles du domaine applicatif en question.
Dans le schéma de la figure 4, on a supposé que les mémoires M1 à M4 sont des mémoires à double port, c'est-à-dire qu'on peut entrer simultanément dans la mémoire deux adresses pour lire ou écrire deux données en même temps. On a alors besoin de quatre mémoires. Mais on pourrait utiliser des mémoires ordinaires à simple port, ne permettant la lecture ou l'écriture que d'une seule donnée lorsqu'on lui applique une adresse. Il faudrait alors tout simplement huit mémoires au lieu de quatre. On pourrait utiliser aussi deux mémoires à quatre ports.
Des mémoires "read-before-write" (dénomination issue de l'anglais signifiant lecture avant écriture) existent aussi et peuvent être utilisées. Ces mémoires ont la particularité d'effectuer une lecture et une écriture en un seul cycle d'horloge. Chaque papillon nécessite alors deux mémoires read- before-write (rbw) simple port qui constituent à la fois les mémoires en entrée et en sortie des papillons.
En effet, dans le cas d'utilisation de mémoires rbw, chaque papillon lit de la mémoire une valeur et stocke une autre dans la même adresse à chaque cycle d'horloge. Ceci introduit des contraintes sur les emplacements des données dans les mémoires puisque, dans ce cas, les lectures et écritures se font dans la même mémoire et à la même adresse.
Le générateur d'adresse qui doit indiquer l'adresse de lecture/écriture à chaque cycle d'horloge prend en entrée dans ce cas le numéro de l'étage de calcul courant (nombre 'étage'), le numéro de l'opération papillon dans cet étage (nombre 'num'), la taille de la FFT effectuée (nombre 'taille') et la profondeur du pipeline du papillon. L'adresse courante est alors obtenue en appelant d'une manière récursive la fonction suivante un nombre 'étage' de fois :
F(num) = num/2 + LSB(num)*taille/4 + offset
LSB(num) étant le bit de poids faible du nombre num et offset étant une constante.
Dans une réalisation avantageuse, on peut prévoir un fonctionnement de calcul de la transformée de Fourier rapide ou de filtrage FIR selon plusieurs modes : un mode séquentiel et un mode parallèle. Prenons le cas où le module comporte huit papillons d'ordre 2. Chaque papillon doit posséder les ressources de mémorisation nécessaires comme discuté précédemment. Considérons le cas où des mémoires simples port sont utilisées. Chaque papillon doit donc avoir accès à quatre mémoires : deux en entrée et deux en sortie. Soit donc au total 32 mémoires : 16 en entrée et 16 en sortie. Ces mémoires fonctionneront en ping-pong ; d'un étage à l'autre, les mémoires d'entrée deviendront des mémoires de sortie et vice-versa.
Pour un fonctionnement en mode séquentiel, quatre mémoires (des mémoires distinctes ou qui font partie des 32 mémoires mentionnées précédemment) seront utilisées avec un seul papillon.
Les mémoires dans les deux modes sont dimensionnées selon la taille de la plus grande FFT (ou le plus grand FIR) à effectuer, sachant que dans le mode parallèle, les blocs de données à traiter sont répartis entre toutes les mémoires de l'ensemble des papillons utilisés.
Selon le mode de fonctionnement, les données en entrée sont soit aiguillées vers les seize mémoires reliées aux huit papillons tous activés en mode parallèle, soit stockées dans les deux mémoires d'entrée d'un seul
papillon en mode séquentiel. Les autres papillons et mémoires dans ce dernier mode seront inactifs, ce qui réduira la consommation électrique dans le module.
Notons enfin que des signaux de contrôle de configuration sont appliqués au séquenceur pour spécifier la fonctionnalité du module : opération FFT ou FIR ; FFT directe ou inverse ; FFT en mode parallèle ou séquentiel (dans le cas d'une mise en œuvre avec plusieurs circuits papillons) ; taille de la FFT ou du FIR ; adresses de début et de fin du masque à zéro (dans le cas d'une mise en œuvre utilisant un masque) ; et coefficients du FIR (dans le cas d'une implémentation en mémoire volatile
(ou RAM) des coefficients du filtre).
Claims
1. Dispositif de traitement de signaux numériques comportant un module de calcul itératif (MCI) apte à recevoir une première succession de nombres complexes et à effectuer par une série d'opérations itératives une transformée de Fourier rapide de cette première succession de nombres complexes pour fournir sur une sortie du module une deuxième succession de nombres qui représente la transformée de Fourier de la première succession, le module de calcul itératif comprenant à cet effet au moins un circuit élémentaire de calcul itératif (PAP1 ) et des mémoires (M1 , M2) associées au circuit élémentaire, caractérisé en ce que le dispositif de traitement comprend des moyens pour :
- fournir sur sa sortie, dans un premier mode de fonctionnement correspondant à l'exécution d'une transformée de Fourier rapide, la deuxième succession de nombres,
- effectuer, dans un deuxième mode de fonctionnement correspondant à l'exécution d'une fonction de filtrage à réponse impulsionnelle finie, une multiplication de chaque nombre de la deuxième succession de nombres complexes par un coefficient complexe respectif, de manière à produire une troisième succession de nombres complexes, et appliquer à l'entrée du module de calcul itératif (MCI) la troisième succession pour effectuer une transformée de Fourier inverse de la troisième succession de manière à produire sur la sortie du module de calcul itératif une quatrième succession de nombres complexes représentant cette transformée inverse,
- fournir sur sa sortie, dans le deuxième mode de fonctionnement, la quatrième succession de nombres représentant le résultat d'une fonction de filtrage à réponse impulsionnelle finie exécutée sur les nombres de la première succession.
2. Dispositif de traitement de signaux numériques selon la revendication 1 , caractérisé en ce que le circuit élémentaire comprend au moins un additionneur (ADD), un soustracteur (SST), et un multiplieur (MULT), ainsi qu'une entrée de coefficient reliée à une mémoire (COEFK, COEFH) contenant un coefficient pour effectuer une multiplication par ce coefficient, et en ce que la multiplication des nombres de la deuxième succession est faite par ce multiplieur en appliquant sur une entrée du multiplieur les nombres de la deuxième succession.
3. Dispositif de traitement de signaux numériques selon la revendication 2, caractérisé en ce que le circuit élémentaire comprend un multiplexeur en amont du multiplieur (MULT), ainsi qu'une entrée de commande (CONFIG) du multiplexeur pour appliquer au multiplieur soit la sortie du soustracteur soit une entrée de l'additionneur.
4. Dispositif de traitement de signaux numériques selon l'une des revendications 1 à 3, caractérisé en ce qu'il comporte une mémoire (COEFK) de coefficients multiplicateurs permettant l'exécution d'une transformée de Fourier et une transformée de Fourier inverse par le circuit élémentaire de calcul itératif sur des blocs d'une taille maximale donnée, et un moyen (SEQ) pour contrôler une séquence itérative de fonctionnement du circuit élémentaire de calcul itératif en utilisant une partie seulement des coefficients de la mémoire de coefficients en fonction du nombre N de nombres complexes de la première succession.
5. Dispositif de traitement de signaux numériques selon l'une des revendications 1 à 4, caractérisé en ce qu'il est incorporé à un appareil de transmission ou réception de signaux comportant deux voies de transmission I et Q déphasées de 90°, les signaux sur la voie I définissant les parties réelles des nombres complexes de la première succession, et les signaux sur la voie Q définissant les parties imaginaires des nombres de la première succession.
6. Dispositif de traitement de signaux numériques selon la revendication 5, caractérisé en ce que les parties réelles des nombres de la quatrième succession constituent les signaux filtrés par filtrage à réponse impulsionnelle finie de la voie I, et les parties imaginaires des nombres de la quatrième succession constituent les signaux filtrés par le même filtrage à réponse impulsionnelle finie de la voie Q.
7. Dispositif de traitement selon la revendication 4, caractérisé en ce que la mémoire de coefficients multiplicateurs comprend un quart des coefficients multiplicateurs nécessaires à l'exécution d'une transformée de Fourier d'une taille donnée ou de la transformée inverse, les autres coefficients nécessaires à cette exécution étant obtenus à partir d'un simple calcul de valeur opposée de la partie réelle ou imaginaire des coefficients stockés.
8. Dispositif de traitement selon l'une des revendications 1 à 7, caractérisé en ce que le module de calcul itératif comporte plusieurs circuits papillon et en ce qu'il est prévu des moyens pour un fonctionnement soit selon un mode accéléré dans lequel les circuits papillons fonctionnent en parallèle, soit selon un mode séquentiel utilisant un seul circuit papillon.
9. Dispositif de traitement selon l'une des revendications 1 à 8, caractérisé en ce que les mémoires du module de calcul itératif sont divisées chacune en cinq mémoires qui sont trois mémoires d'entrée, une mémoire de sortie, et une mémoire de travail, les mémoires d'entrée recevant les nombres à traiter par le module, la mémoire de sortie fournissant les nombres issus des calculs effectués par le module, et la mémoire de travail servant à effectuer les calculs intermédiaires.
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| FR0804882 | 2008-09-05 | ||
| FR0804882A FR2935819B1 (fr) | 2008-09-05 | 2008-09-05 | Dispositif de traitement numerique pour transformee de fourier et filtrage a reponse impulsionnelle finie |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2010026211A1 true WO2010026211A1 (fr) | 2010-03-11 |
Family
ID=40749106
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/EP2009/061451 Ceased WO2010026211A1 (fr) | 2008-09-05 | 2009-09-04 | Dispositif de traitement numerique pour transformee de fourier et filtrage a reponse impulsionnelle finie |
Country Status (2)
| Country | Link |
|---|---|
| FR (1) | FR2935819B1 (fr) |
| WO (1) | WO2010026211A1 (fr) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN115396272A (zh) * | 2022-08-25 | 2022-11-25 | 哲库科技(北京)有限公司 | 数据处理方法、装置、设备及存储介质 |
Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20050128937A1 (en) * | 2003-12-11 | 2005-06-16 | Nokia Corporation | Determination of correlation in the frequency domain |
| WO2006014528A1 (fr) * | 2004-07-08 | 2006-02-09 | Asocs Ltd. | Procede et appareil pour la mise en oeuvre de transformees orthogonales rapides de taille variable |
| EP1758030A1 (fr) * | 2005-08-22 | 2007-02-28 | Matsushita Electric Industrial Co., Ltd. | Unité partagée et dynamiquement reconfigurable pour le traitement en bande de base |
-
2008
- 2008-09-05 FR FR0804882A patent/FR2935819B1/fr not_active Expired - Fee Related
-
2009
- 2009-09-04 WO PCT/EP2009/061451 patent/WO2010026211A1/fr not_active Ceased
Patent Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20050128937A1 (en) * | 2003-12-11 | 2005-06-16 | Nokia Corporation | Determination of correlation in the frequency domain |
| WO2006014528A1 (fr) * | 2004-07-08 | 2006-02-09 | Asocs Ltd. | Procede et appareil pour la mise en oeuvre de transformees orthogonales rapides de taille variable |
| EP1758030A1 (fr) * | 2005-08-22 | 2007-02-28 | Matsushita Electric Industrial Co., Ltd. | Unité partagée et dynamiquement reconfigurable pour le traitement en bande de base |
Non-Patent Citations (6)
| Title |
|---|
| HOSKING R H: "Use FPGA resources to boost radar system performance", RF DESIGN, October 2005 (2005-10-01), pages 16 - 19, XP002541032 * |
| LANGE H ET AL: "Reconfigurable multiply-accumulate-based processing element", PROCEEDINGS OF THE 2002 IEEE WORKSHOP ON HETEROGENEOUS SYSTEMS ON A CHIP, HAMBURG, GERMANY, 2002, XP002541030 * |
| OJAIL M ET AL: "A frequency domain FIR filter implementation method for 3G communication systems", THE THIRD INTERNATIONAL CONFERENCE ON DIGITAL TELECOMMUNICATIONS 2008 (ICDT '08), 29 JUIN - 5 JUILLET 2008, BUCHAREST, ROUMANIE, 29 June 2008 (2008-06-29), pages 1 - 5, XP031284203, ISBN: 978-0-7695-3188-5 * |
| OJAIL M ET AL: "Vers la définition d'une plateforme reconfigurable au niveau système pour terminaux mobiles multi-standards et multi-modes", PREMIER COLLOQUE NATIONAL DU GDR SOC-SIP 2007, THEME 'SYSTEM ON CHIP - SYSTEM IN PACKAGE', 13-15 JUIN 2007, PARIS, FRANCE, 2007, XP002541031, Retrieved from the Internet <URL:http://www.lirmm.fr/soc_sip/colloque/soumission/papiers/32Publication_colloque_GDR_SOC_SIP.pdf> * |
| SAHNINE C ET AL: "Towards a high-throughput and low power reconfigurable architecture of advanced OFDM modulator for software-defined radio systems", IEEE NORTHEAST WORKSHOP ON CIRCUITS AND SYSTEMS 2007 (NEWCAS 2007), 5-8 AUGUST 2007, MONTREAL, QC, CANADA, 5 August 2007 (2007-08-05), pages 1205 - 1208, XP031242818, ISBN: 978-1-4244-1163-4 * |
| WEI WU ET AL: "A coarse-grained FPGA architecture for reconfigurable baseband modulator/demodulator", CONFERENCE RECORD OF THE 36TH ASILOMAR CONFERENCE ON SIGNALS, SYSTEMS AND COMPUTERS, 3-6 NOVEMBER 2002, PACIFIC GROOVE, CA, vol. 2, 3 November 2002 (2002-11-03), pages 1613 - 1618, XP010638468, ISBN: 978-0-7803-7576-5 * |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN115396272A (zh) * | 2022-08-25 | 2022-11-25 | 哲库科技(北京)有限公司 | 数据处理方法、装置、设备及存储介质 |
| CN115396272B (zh) * | 2022-08-25 | 2023-09-19 | 哲库科技(北京)有限公司 | 数据处理方法、装置、设备及存储介质 |
Also Published As
| Publication number | Publication date |
|---|---|
| FR2935819B1 (fr) | 2010-09-10 |
| FR2935819A1 (fr) | 2010-03-12 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| EP0443679B1 (fr) | Procédé de calcul d'une opération du type A.X modulo N, dans un procédé de codage selon une méthode de type RSA | |
| EP0204603B1 (fr) | Circuit de calcul rapide de la transformée en cosinus, directe ou inverse, d'un signal discret | |
| CA1263756A (fr) | Dispositif de calcul d'une transformee de fourier discrete et son application a la compression d'impulsion dans un systeme radar | |
| EP3084588B1 (fr) | Module de traitement du signal, notamment pour reseau de neurones et circuit neuronal. | |
| EP0046708A2 (fr) | Circuit de traitement numérique en arithmétique distribuée utilisant des multiplexeurs à l'entrée d'une mémoire | |
| EP1395981B1 (fr) | Dispositif et procede de traitement d'un signal audio. | |
| EP1606974A1 (fr) | Procede pour traiter un signal electrique de son | |
| EP0511095B1 (fr) | Procédé et dispositif de codage-décodage d'un signal numérique | |
| FR2754366A1 (fr) | Coprocesseur de filtre | |
| CA2207670A1 (fr) | Procede de synthese d'un filtre numerique a reponse impulsionnelle finie et filtre obtenu selon le procede | |
| EP0437876B1 (fr) | Multiplieur série programmable | |
| EP2319177A1 (fr) | Dispositif de filtrage a stucture hierarchique et dispositif de filtrage reconfigurable | |
| CA1305757C (fr) | Dispositif de filtrage numerique et radar comportant un tel dispositif | |
| EP0924627B1 (fr) | Processeur de calcul d'une transformation rapide de Fourier à architecture dite "pipelinée" | |
| WO2010026211A1 (fr) | Dispositif de traitement numerique pour transformee de fourier et filtrage a reponse impulsionnelle finie | |
| EP0237382B1 (fr) | Dispositif de transformée en cosinus d'un signal numérique échantilloné | |
| EP0327445A1 (fr) | Multiplieur numérique généralisé et filtre numérique mettant en oeuvre ce multiplieur | |
| EP1038236B1 (fr) | Procede de calcul de la transformee de fourier rapide et de la transformee de fourier rapide inverse | |
| FR2998436A1 (fr) | Procede de determination d’au moins un filtre d’un banc de filtres d’un systeme de transmission ou de codage,dispositif et programme d’ordinateur correspondants. | |
| EP0585434B1 (fr) | Procede et dispositif de filtrage pour la reduction des preechos d'un signal audio-numerique | |
| WO2008152322A2 (fr) | Procede et dispositif electronique de decalage frequentiel d'un signal analogique, en particulier pour la telephonie mobile. | |
| EP1058435B1 (fr) | Procédé et dispositif de calcul d'une transformation de Fourier inverse à architecture dite "pipelinée" | |
| FR2838582A1 (fr) | Procede et dispositif de detection de donnees transmises par etalement de spectre | |
| WO2008145915A2 (fr) | Composant de traitement d'un signal numerique, dispositif de modulation et/ou de demodulation, procede de modulation et/ou de demodulation et programme d'ordinateur correspondants | |
| EP4128814B1 (fr) | Procédé de contrôle de retour acoustique avec filtrage adaptatif |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| 121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 09811128 Country of ref document: EP Kind code of ref document: A1 |
|
| NENP | Non-entry into the national phase |
Ref country code: DE |
|
| 122 | Ep: pct application non-entry in european phase |
Ref document number: 09811128 Country of ref document: EP Kind code of ref document: A1 |