EP2507721A1 - Operateur materiel d'additions/soustractions, processeur et terminal de telecommunication incluant un tel operateur - Google Patents
Operateur materiel d'additions/soustractions, processeur et terminal de telecommunication incluant un tel operateurInfo
- Publication number
- EP2507721A1 EP2507721A1 EP10805616A EP10805616A EP2507721A1 EP 2507721 A1 EP2507721 A1 EP 2507721A1 EP 10805616 A EP10805616 A EP 10805616A EP 10805616 A EP10805616 A EP 10805616A EP 2507721 A1 EP2507721 A1 EP 2507721A1
- Authority
- EP
- European Patent Office
- Prior art keywords
- operator
- configuration
- configurable
- subtraction
- module
- 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.)
- Withdrawn
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
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/37—Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
- H03M13/39—Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes
- H03M13/3961—Arrangements of methods for branch or transition metric calculation
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/37—Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
- H03M13/39—Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes
- H03M13/41—Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using the Viterbi algorithm or Viterbi processors
- H03M13/4107—Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using the Viterbi algorithm or Viterbi processors implementing add, compare, select [ACS] operations
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/65—Purpose and implementation aspects
- H03M13/6508—Flexibility, adaptability, parametrability and configurability of the implementation
Definitions
- the present invention relates to a material operator of additions / subtractions of predetermined structure for carrying out arithmetic calculations with the aid of material modules of addition and / or subtraction. It also relates to a processor and a telecommunication terminal including this hardware operator.
- a large number of telecommunication terminals in particular muiti modulation / demodulation terminals carrying the transmitted / received and channel decoded signals, comprise digital processing components generally and advantageously involving FFT digital direct fast transform calculations.
- FFT Fast Fourier Transform
- IFFT inverse fast Fourier transform
- an implementation of the algorithm of Viterbi in particular within the framework of the radio Software or Reconfigurable Radio SDR (Software Defined Radio).
- the FFT / IFFT calculation and the implementation of the Viterbi algorithm require, among other things, specific addition / subtraction operations.
- An SDR transmission / reception terminal is a terminal in which the digital / analogue conversion is closer to the antenna, so that the modulation / demodulation and coding / decoding processes executed by the terminal are carried out. on digital signals. These digital signals are indeed better suited to a reconfigurable treatment, that is to say capable of adapting to different standards or different evolutions. Unfortunately, the performances and the excessive consumption of the processors do not make it possible to envisage a purely software implementation of the digital processes and it is then necessary to resort to an implementation at least partially material.
- hardware add / subtract operators find their utility in the aforementioned telecommunication terminals, at least for the FFT / IFFT and Viterbi calculations, in order to guarantee real-time operation.
- These add / subtract material operators after having been specifically designed for this or that application, can be included in FFT / IFFT processors, in processors implementing the Viterbi algorithm, or in any other processor executing a processing involving arithmetic calculations using add-on and / or subtraction hardware modules.
- a first solution to manage several standards is to juxtapose within the same terminal the different processing chains of standards considered each with their hardware operators.
- This solution is simple to implement but has the major disadvantage of not being effective in terms of the silicon surface used, that is to say in terms of hardware operators used.
- Another solution is to design the different processing chains so that they share some of their functional modules and hardware operators.
- This second solution provides for a parameterization of the terminal so that its reconfiguration so that it executes such or such chain of treatment requires only a change of parameter values.
- a technique of pooling material operators is presented in the article by L. Alaus et al, entitled “Promising technique of parametrization for reconfigurable radio, the Common Operators Technique: fundamentals and examples", published in Journal of Signal Processing Systems, DOI 10.1007 / S1 1265-009-0353-04, March 14, 2009.
- OFDM modulation is a method of coding orthogonal frequency division digital signals.
- the principle of OFDM modulation consists of multiplexing a communication by distributing it over sub-channels sent simultaneously on independent frequencies.
- the heart of an OFDM modulation includes an FFT calculation.
- the FFT operator is more generally involved as a basic operator of signal reception functions in the frequency domain.
- an FFT operator is used in a frequency implementation of equalization channel estimation, in multi-carrier modulation / demodulation and in the execution of a so-called "channelization" function (ie channel selection) in a filterbank.
- This operator can therefore be used at different levels of a processing chain and in the context of different standards. It makes it possible to envisage obtaining a reconfigurable terminal presenting a limited number of hardware operators for calculating FFT.
- the subject of the invention is therefore a hardware add / subtract operator comprising a plurality of hardware add / subtract modules and a plurality of data transmission links between these modules, on the one hand, and between inputs and outputs of the operator and these modules, on the other hand, according to a predetermined structure for carrying out arithmetic calculations, in which at least part of the add / subtract material modules and at least part of the links between these modules are configurable to using at least one programmable parameter, at least between a first configuration in which the operator finalizes a calculation of real parts of fast Fourier transform coefficients, a second configuration in which the operator finalizes a calculation of imaginary parts fast Fourier transform coefficients, and a third configuration in which the operator performs a calculation of values of of paths and survivors of an implementation of the Viterbi algorithm.
- this generic hardware operator is made particularly interesting for telecommunication applications, because it thus makes it possible to reduce the number of components. implanted in a terminal, in particular a multi-standard mobile terminal.
- the modulation / demodulation and channel coding / decoding functions can indeed be fulfilled in the same terminal on the basis of one or more common generic hardware operators, thereby limiting the number and size of the hardware elements to be integrated into the network. terminal.
- the calculations of real parts and imaginary parts of FFT coefficients taking place on complex data the generic operator obtained, configurable between such calculations and a computation of values of path and survivor metrics of an implementation. of the Viterbi algorithm, is able to process input data either hard (binary) or flexible (encoded on several bits) to perform Viterbi decoding.
- addition / subtraction hardware modules and the configurable links are furthermore configurable using said at least one programmable parameter, in a fourth configuration in which the operator performs several addition and / or independent subtraction and a fifth configuration in which the operator finalizes a cascade of addition and / or subtraction operations.
- a hardware add / subtract operator may comprise a first hardware module for addition / subtraction that can be configured, using a first binary parameter, between an adder configuration and a configuration.
- subtractor a second configurable addition / subtraction hardware module, using a second binary parameter, between an adder configuration and a subtractor configuration
- a third configurable add / subtract hardware module using a third binary parameter, between an adder configuration and a subtractor configuration.
- a hardware add / subtract operator may comprise:
- a first link providing an operand value to the first configurable module, using a first multiplexing parameter, between an input data supply configuration of the operator and a configuration of supply of the output of the second configurable module,
- a second link for providing a first operand value to the second configurable module, using a second multiplexing parameter, between a configuration for providing an input data of the operator and a configuration supplying the output of the first configurable module
- a third link providing a second operand value to the second configurable module, using a third multiplexing parameter, between a configuration for providing an input data of the operator and a configuration supplying the output of the third configurable module, and
- a fourth link providing an operand value to the third configurable module, using a fourth multiplexing parameter, between an input data supply configuration of the operator and a configuration of supply of the output of the second configurable module.
- each configurable link comprises a two-input multiplexer and an output and selection of one of the two inputs using a binary parameter.
- the subject of the invention is also a digital data processing processor comprising at least one butterfly operator including at least one hardware add / subtract operator as defined above, the butterfly operator being configurable, using said programmable parameter between a first configuration in which it performs a fast Fourier transform calculation and a second configuration in which it performs a calculation of branch metric values and path and survivor metric values of an implementation of the algorithm from Viterbi.
- a digital data processing processor may comprise a plurality of configurable butterfly operators between said first configuration in which each throttle operator performs said fast Fourier transform calculation and said second configuration in which each throttle operator performs computation of branch metric values and path and survivor metric values of an implementation of the Viterbi algorithm, these butterfly operators being structured together for fast Fourier transform computation by an algorithmic approach of Cooley-Tukey in lattice type Radix-2 and for an implementation of the lattice Viterbi algorithm with four reference symbols.
- the subject of the invention is also a telecommunication terminal with multi-carrier modulation / demodulation of the transmitted / received signals and the decoding of signals processed by a convolutional code, comprising at least one hardware add / subtract operator as defined above.
- a telecommunication terminal according to the invention can be modulating and demodulating OFDM type.
- a telecommunication terminal may comprise at least one modulator / demodulator with modulation and demodulation OFDM compatible with each implemented standard and at least one signal decoder encoded by a convolutional code compatible with each implemented standard.
- FIG. 1 schematically represents the general structure of a lattice data processing network for the implementation of an FFT / IFFT calculation
- FIG. 2 diagrammatically represents the structure of a throttle operator used by the data processing network of FIG. 1,
- FIG. 3 diagrammatically represents the possible implementation in addition / subtraction and multiplication modules of the butterfly operator of FIG. 2,
- FIG. 4 schematically represents the general structure of a data processing chain for an implementation of the Viterbi algorithm
- FIG. 5 schematically represents the structure of a throttle operator used by a part of the data processing chain of FIG. 4,
- FIG. 6 schematically represents the possible implementation in addition / subtraction modules of the butterfly operator of FIG. 5;
- FIG. 7 schematically represents the general structure of a material operator of additions / subtractions according to a embodiment of the invention, usable in a butterfly operator according to FIG. 3 or 6,
- FIGS. 8 to 11 represent the material addition / subtraction operator of FIG. 7 according to various possible configurations.
- FIG. 12 schematically represents the general structure of a telecommunication terminal according to one embodiment of the invention.
- the Fast Fourier Transform FFT is an algorithm for calculating the discrete Fourier transform. This algorithm is used in digital signal processing to transform discrete data of the time or space domain into the frequency domain.
- N the discrete time value x [0], x [N-1] of a signal x.
- the N frequency values of the discrete Fourier transform X of this signal x are defined by the following formula:
- the IFFT inverse fast Fourier transform is based on the same algorithm as the FFT for calculating this inverse discrete Fourier transform. Any hardware operator or digital data processing processor configured for executing a FFT forward fast Fourier Transform calculation is therefore also suitable for calculating an IFFT inverse fast Fourier transform.
- a FFT calculation at a given scale is performed by two FFT calculations at a lower scale, one on even samples, the other on odd samples of the signal at the given scale.
- Each step comprises N / 2 butterfly calculations, for a total number of N / 2 x log 2 (N) butterfly calculations, such as that illustrated in FIG. 2.
- This butterfly calculation requires the cross computation of two data y k [0] and y k [1], having a complex multiplication of one of the data, y k [1], by a factor W to provide an intermediate value, and then a complex addition and subtraction between y k [0] and this intermediate value to provide two data y k + 1 [0] and y k + 1 [1].
- the factor W is w ° wide / step St1, w or w 2 ° wide / step St2 and ° w, w 1, w 2 and w 3 in scale / step St3.
- the butterfly calculation is performed by an operator structured in a first complex multiplication stage and a second complex addition and subtraction stage receiving as input the output data of the first stage.
- the first stage comprises real multiplication hardware modules, hardware modules of actual addition / subtraction and data transmission links between these modules.
- the second stage comprises hardware modules of actual addition / subtraction and data transmission links to these modules.
- the calculation performed by a throttle operator requires four real multiplication hardware modules, three real addition hardware modules and three real subtraction hardware modules, as shown in FIG. 3.
- the first complex multiplication stage of the throttle operator 10 represented in FIG. 3, bearing the reference 12, comprises four multiplication modules 14, 16, 18 and 20 for respectively producing the products ac, bd, bc and ad.
- a subtraction module 22 receiving the output data of the modules 14 and 16 to perform the subtraction ac - bd
- an addition module 24 receiving the output data of the modules 18 and 20 to achieve the addition bc + ad.
- bearing the reference 26 comprises:
- an addition module 28 receiving the output data of the module 22 and the variable e to perform the operation ac - bd + e, thus providing the real part denoted FFt-ReO of y k + i [0],
- a subtraction module 30 receiving the output data of the module 22 and the variable e to perform the operation -ac + bd + e, thus providing the real part denoted FFt-Re1 of y k + [1],
- an addition module 32 receiving the output data of the module 24 and the variable f to perform the operation bc + ad + f, thus providing the imaginary part denoted FFt-ImO of y k + i [0], and
- a subtraction module 34 receiving the output data of the module 24 and the variable f to perform the operation -bc -ad + f, thus providing the imaginary part denoted FFt-lm1 of y k + [1].
- the structures of these two material add / subtract operators 36 and 38 differ in that the first operator 36 has two subtractors (22, 30) and an adder (28), while the second operator 38 has two adders (24, 32) and a subtractor (34).
- the calculation carried out by an FFT throttle operator may involve a slightly different structure, but this generally comprises at least the hardware operators 36 and 38 with three interconnected addition / subtraction modules.
- This algorithm aims to find by recurrence the most likely sequence of states that produced a measured sequence [X 0 , ... , XN-I] in the case of a signal encoded by a convolutional encoder, i.e. an encoder having a shift register in which each incoming bit generates an offset in the register and an output result.
- a convolutional encoder i.e. an encoder having a shift register in which each incoming bit generates an offset in the register and an output result.
- a lattice structure is obtained, plotting the set of possible states of the shift register as ordinates and the set of possible transitions as the lattice pattern invariably repeating over time at each new entry. of the encoder.
- At the output of the encoder only certain binary sequences are possible. They correspond to the different paths that exist in the lattice diagram.
- the application of the Viterbi algorithm then consists in finding, in the lattice, the binary sequence closest to the received sequence.
- the progress of the algorithm comprises the following three operations, at each instant and for each state of the lattice:
- a calculation of values of path and survivor metrics performed by a block 42, consisting of determining the most probable state of the shift register. For each node of the trellis, a path metric representing the cumulative probability for that node to be part of the transmitted sequence is updated taking into account the path metric calculated in the previous cycle and the metric values of current branches. This update includes the calculation of two path metrics and the selection of the weakest (surviving path);
- block 40 calculates the difference between a received value and the possible outputs of the shift register.
- the block 42 generally called ACS block (for "Addition, Comparison and Selection") performs at each node of the trellis additions of two path metrics with branch metrics, a comparison of the two obtained path metrics and a selection of the weakest.
- an addition module 56 receiving the output data of the module 54 and the variable PO for carrying out the operation PO + BmOO,
- an addition module 58 receiving the output data of the module 52 and the variable P1 for performing the operation P1 + Bm10,
- an addition module 62 receiving the output data of the module 48 and the variable PO for carrying out the operation PO + Bm01, and
- an addition module 64 receiving the output data of the module 50 and the variable P1 for performing the operation P1 + Bm1 1,
- a subtraction module 60 receiving the output data of the modules 56 and 58 for a comparison of P0 + BmOO and P1 + Bm10 making it possible to deduce the value of VitO, and
- a subtraction module 66 receiving the output data of the modules 62 and 64 for a comparison of PO + Bm01 and P1 + Bm1 1 to deduce the value of Vit1.
- the three addition and subtraction modules 56, 58 and 60 interconnected constitute a third material add / subtract operator 68 and that the three addition and subtraction modules 62, 64 and 66 interconnected between they constitute a fourth material operator of additions / subtractions 70 of identical structure.
- This identical structure of the third and fourth operators 68 and 70 although having similarities with the structures of the first and second operators 36 and 38, differs in the interconnections between the addition and subtraction modules.
- the generic operator 72 illustrated in FIG. 7 meets these minimum requirements, but also makes it possible to envisage other applications of arithmetic calculations.
- a data processing processor comprising at least one parameterizable common butterfly operator (using at least the parameters a and ⁇ ) capable of performing a calculation of fast Fourier transform in a first configuration and computation of branch metric values and path and survivor metric values of an implementation of the Viterbi algorithm in a second configuration, by pooling from least an operator such as the operator 72 to perform the functions of the operators 36, 38, 68 and 70.
- a generic operator such as operator 72 is equivalent to an operator such as any one of operators 36, 38, 68 and 70.
- operator 72 is equivalent to an operator such as any one of operators 36, 38, 68 and 70.
- data processing processor by implementing the generic operator instead of operators 36, 38, 68 or 70 specific to an FFT or Viterbi algorithm.
- this generic operator can result in a gain in complexity by reducing the hardware resources actually implemented.
- the maximum of butterfly operators required by the current standards and a percentage of each butterfly operator representing the parallelism rate of the implementation, that is to say the number of operators actually implemented.
- the maximum of butterfly operators required by the current standards and a percentage of each butterfly operator representing the parallelism rate of the implementation, that is to say the number of operators actually implemented.
- the genericity of the operator 72 makes it possible to best adapt to the distribution between the number of butterfly operators for the FFT algorithm and that of Viterbi.
- the gain provided depends on the parallelism of the operators to be replaced. For an increased parallelism of initial Viterbi butterfly operators, the gain will be low (last row of the table). For an increased parallelism of the butterfly operators of the FFT, the gain will be more consequent (last column of the table).
- Another advantage of the generic operator 72 is to be able to take advantage, in the Viterbi mode, of the fact that the data processed in the FFT mode must be complex and that their real and imaginary parts are in general integer. In Viterbi mode, the processing processor is then able to work with both hard (binary) input data and soft (integer) input data. Finally, given the variability in the performance of microelectronic technologies, it is advantageous to provide the most regular basic operators / processors possible. Indeed, it is then possible to implement such processors in excess and configure them a posteriori depending on performance or potential failures of each of these processors.
- a processor including at least one generic operator 72 such as the one previously described is advantageously integrated in a telecommunications terminal 88 with muiti modulation / demodulation carrying transmitted / received signals and decoding signals processed by a convolutional code as illustrated on FIG. figure 12.
- a processing processor including at least one such generic operator and at least two FFT and Viterbi operating modes are multiple whether for a single standard terminal or for a multi-standard terminal.
- a processing processor including at least one such generic operator and at least two FFT and Viterbi operating modes are multiple whether for a single standard terminal or for a multi-standard terminal.
- many standards implement, for example, OFDM modulation (FFT calculation) and require a convolutional code decoding (Viterbi algorithm), among which:
- ADSL ADSL
- VDSL powerline modem
- Homeplug powerline modem
- Docsis standard cable modem
- FFT Fast Fourier transform
- it can be used for correlation calculations, the genesis of FIR type filters, channel estimation or the detection of several users.
- Viterbi algorithm has been extended in previous studies to the decoding of Turbos Codes.
- the proposed generic operator 72 can be used by a majority of single or multi-standard telecommunication terminal functions. It facilitates their integration by implementing homogeneous processing blocks with configurable generic operators.
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Probability & Statistics with Applications (AREA)
- Theoretical Computer Science (AREA)
- Mathematical Physics (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Analysis (AREA)
- Computational Mathematics (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Discrete Mathematics (AREA)
- Algebra (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Error Detection And Correction (AREA)
- Complex Calculations (AREA)
Abstract
Cet opérateur matériel d'additions/soustractions (72) comporte une pluralité de modules matériels d'addition/soustraction (74, 76, 78) et une pluralité de liens de transmission de données entre ces modules, d'une part, et entre des entrées (E1, E2, E3, E4, E5, E6) et sorties (S1, S2, S3) de l'opérateur et ces modules, d'autre part, selon une structure prédéterminée pour la réalisation de calculs arithmétiques. Au moins une partie (74, 76, 78) des modules matériels d'addition/soustraction de l'opérateur et au moins une partie (80, 82, 84, 86) des liens entre ces modules sont configurables à l'aide d'au moins un paramètre programmable (a1, a2, a3, a4, ß1, ß2, ß3), au moins entre une première configuration dans laquelle l'opérateur (72) finalise un calcul de parties réelles de coefficients de transformée de Fourier rapide, une deuxième configuration dans laquelle l'opérateur finalise un calcul de parties imaginaires de coefficients de transformée de Fourier rapide, et une troisième configuration dans laquelle l'opérateur réalise un calcul de valeurs de métriques de chemins et de survivants d'une implémentation de l'algorithme de Viterbi.
Description
OPERATEUR MATERIEL D'ADDITIONS/SOUSTRACTIONS, PROCESSEUR ET TERMINAL DE TELECOMMUNICATION INCLUANT UN TEL OPERATEUR
La présente invention concerne un opérateur matériel d'additions/soustractions de structure prédéterminée pour la réalisation de calculs arithmétiques à l'aide de modules matériels d'addition et/ou de soustraction. Elle concerne également un processeur et un terminal de télécommunication incluant cet opérateur matériel.
Un grand nombre de terminaux de télécommunication, notamment les terminaux à modulation/démodulation muiti porteuses des signaux émis/reçus et à décodage de canal, comprennent des composants de traitement numérique faisant intervenir généralement et avantageusement des calculs numériques de transformée de Fourier rapide directe dite FFT (de l'Anglais « Fast Fourier Transform ») ou de transformée de Fourier rapide inverse dite IFFT (de l'Anglais « Inverse Fast Fourier Transform »), et une implémentation de l'algorithme de Viterbi, notamment dans le cadre de la radio logicielle ou radio reconfigurable SDR (de l'Anglais « Software Defined Radio »). Or le calcul de FFT/IFFT et l'implémentation de l'algorithme de Viterbi nécessitent entre autres des opérations d'additions/soustractions spécifiques.
Un terminal d'émission/réception de type SDR est un terminal dans lequel la conversion numérique/analogique se fait au plus près de l'antenne, de sorte que les traitements de modulation/démodulation et de codage/décodage exécutés par le terminal se font sur des signaux numériques. Ces signaux numériques se prêtent effectivement mieux à un traitement reconfigurable, c'est-à-dire capable de s'adapter à différentes normes ou à différentes évolutions. Malheureusement, les performances et la consommation excessive des processeurs ne permet pas d'envisager une implantation purement logicielle des traitements numériques et il est alors nécessaire de recourir à une implantation au moins partiellement matérielle.
Dans ce contexte, des opérateurs matériels d'additions/soustractions trouvent leur utilité dans les terminaux de télécommunication précités, au moins pour les calculs de FFT/IFFT et de Viterbi, dans le but de garantir un fonctionnement en temps réel. Ces opérateurs matériels d'additions/soustractions, après avoir été conçus spécifiquement pour telle ou telle application, peuvent être inclus dans des processeurs de calcul de FFT/IFFT, dans des processeurs d'implémentation de l'algorithme de Viterbi, ou dans tout autre processeur exécutant un traitement
impliquant des calculs arithmétiques à l'aide de modules matériels d'addition et/ou de soustraction.
Cependant, la prolifération de normes, et en particulier de normes de communication sans fil, impose de prévoir des terminaux capables de gérer des normes différentes.
Une première solution pour gérer plusieurs normes consiste à juxtaposer au sein d'un même terminal les différentes chaînes de traitement des normes considérées comportant chacune leurs opérateurs matériels. Cette solution est simple à implémenter mais présente l'inconvénient majeur de ne pas être efficace en termes de surface de silicium utilisée, c'est-à-dire en termes d'opérateurs matériels utilisés.
Une autre solution consiste à concevoir les différentes chaînes de traitement de telle sorte qu'elles mettent en commun une partie de leurs modules fonctionnels et opérateurs matériels. Cette seconde solution prévoit une paramétrisation du terminal de sorte que sa reconfiguration pour qu'il exécute telle ou telle chaîne de traitement ne nécessite qu'un changement de valeurs de paramètres. Notamment, une technique de mise en commun d'opérateurs matériels est présentée dans l'article de L. Alaus et al, intitulé « Promising technique of parametrization for reconfigurable radio, the Common Operators Technique : fundamentals and examples », publié dans Journal of Signal Processing Systems, DOI 10.1007/S1 1265-009-0353-04, le 14 mars 2009.
A titre d'exemple, cet article indique qu'un opérateur matériel de calcul de FFT/IFFT peut être avantageusement mis en commun parce qu'il est sollicité par un grand nombre de normes. En effet, la plupart des normes de télécommunication actuelles ou en préparation sont basées sur des modulations de type OFDM (de l'Anglais « Orthogonal Frequency Division Multiplexing »). La modulation OFDM est un procédé de codage de signaux numériques par répartition en fréquences orthogonales. Le principe de la modulation OFDM consiste à multiplexer une communication en la répartissant sur des sous canaux envoyés simultanément sur des fréquences indépendantes. Le cœur même d'une modulation OFDM comporte un calcul de FFT.
L'opérateur FFT intervient plus généralement en tant qu'opérateur de base de fonctions de réception de signaux dans le domaine fréquentiel. Par exemple, un opérateur FFT est utilisé dans une implémentation fréquentielle d'une estimation de canal par égalisation, dans une modulation/démodulation multi porteuses et dans
l'exécution d'une fonction dite de « canalisation » (i.e. sélection de canal) en banc de filtres. Cet opérateur peut donc être utilisé à différents niveaux d'une chaîne de traitement et dans le cadre de différentes normes. Il permet d'envisager l'obtention d'un terminal reconfigurable présentant un nombre limité d'opérateurs matériels de calcul de FFT.
Cependant, cette solution rencontre aujourd'hui ses limites parce qu'au sein même d'un opérateur ou processeur de calcul de FFT, plusieurs opérateurs d'additions/soustractions de structures différentes doivent être utilisés. Par exemple, les opérations d'additions/soustractions impliquées dans le calcul de parties réelles de coefficients de FFT ne sont pas les mêmes que les opérations d'additions/soustractions impliquées dans le calcul des parties imaginaires.
En outre, entre un opérateur ou processeur de calcul de FFT et un opérateur ou processeur d'implémentation de l'algorithme de Viterbi, les opérations d'additions/soustractions impliquées sont également différentes et justifient de prévoir des modules matériels distincts.
Il peut alors être souhaité de prévoir un opérateur matériel d'additions/soustractions qui permette de résoudre au moins partiellement les problèmes et contraintes précités et/ou d'améliorer la reconfigurabilité d'un terminal.
L'invention a donc pour objet un opérateur matériel d'additions/soustractions comportant une pluralité de modules matériels d'addition/soustraction et une pluralité de liens de transmission de données entre ces modules, d'une part, et entre des entrées et sorties de l'opérateur et ces modules, d'autre part, selon une structure prédéterminée pour la réalisation de calculs arithmétiques, dans lequel moins une partie des modules matériels d'addition/soustraction et au moins une partie des liens entre ces modules sont configurables à l'aide d'au moins un paramètre programmable, au moins entre une première configuration dans laquelle l'opérateur finalise un calcul de parties réelles de coefficients de transformée de Fourier rapide, une deuxième configuration dans laquelle l'opérateur finalise un calcul de parties imaginaires de coefficients de transformée de Fourier rapide, et une troisième configuration dans laquelle l'opérateur réalise un calcul de valeurs de métriques de chemins et de survivants d'une implémentation de l'algorithme de Viterbi.
En effet, en paramétrant les modules d'addition/soustraction, les liens entre eux et/ou les liens entre ces modules et les entrées/sorties de l'opérateur matériel d'additions/soustractions, il devient envisageable de concevoir un unique opérateur matériel de structure prédéterminée capable, selon son paramétrage, de participer à
différentes opérations arithmétiques incluant différentes phases d'un calcul de FFT et un calcul de valeurs de métriques de chemins et de survivants d'une implémentation de l'algorithme de Viterbi. Un même opérateur matériel générique peut donc être sollicité par plusieurs fonctions, au sein d'un même traitement, pour des traitements différents selon une norme commune ou même encore pour des traitements différents selon des normes différentes.
En assurant que ces traitements incluent au moins un calcul de FFT/IFFT et une implémentation de l'algorithme de Viterbi, on rend cet opérateur matériel générique particulièrement intéressant pour des applications de télécommunication, parce qu'il permet ainsi de réduire le nombre de composants implantés dans un terminal, notamment un terminal mobile multi-normes. Les fonctions de modulation/démodulation et de codage/décodage canal peuvent en effet être remplies dans un même terminal sur la base d'un ou plusieurs opérateurs matériels génériques communs, limitant d'autant le nombre et la taille des éléments matériels à intégrer dans le terminal.
En outre, les calculs de parties réelles et parties imaginaires de coefficients de FFT s'opérant sur des données complexes, l'opérateur générique obtenu, configurable entre de tels calculs et un calcul de valeurs de métriques de chemins et de survivants d'une implémentation de l'algorithme de Viterbi, est capable de traiter des données d'entrée soit dures (binaires) soit souples (codées sur plusieurs bits) pour réaliser le décodage de Viterbi.
De façon optionnelle, les modules matériels d'addition/soustraction et les liens configurables sont en outre configurables à l'aide dudit au moins un paramètre programmable, dans une quatrième configuration dans laquelle l'opérateur réalise plusieurs opérations d'addition et/ou de soustraction indépendantes et une cinquième configuration dans laquelle l'opérateur finalise une cascade d'opérations d'addition et/ou de soustraction.
De façon optionnelle également, un opérateur matériel d'additions/soustractions selon l'invention peut comporter un premier module matériel d'addition/soustraction configurable, à l'aide d'un premier paramètre binaire, entre une configuration d'additionneur et une configuration de soustracteur, un deuxième module matériel d'addition/soustraction configurable, à l'aide d'un deuxième paramètre binaire, entre une configuration d'additionneur et une configuration de soustracteur, et un troisième module matériel d'addition/soustraction configurable, à
l'aide d'un troisième paramètre binaire, entre une configuration d'additionneur et une configuration de soustracteur.
De façon optionnelle également, un opérateur matériel d'additions/soustractions selon l'invention peut comporter :
- un premier lien de fourniture d'une valeur d'opérande au premier module configurable, à l'aide d'un premier paramètre de multiplexage, entre une configuration de fourniture d'une donnée d'entrée de l'opérateur et une configuration de fourniture de la sortie du deuxième module configurable,
- un deuxième lien de fourniture d'une première valeur d'opérande au deuxième module configurable, à l'aide d'un second paramètre de multiplexage, entre une configuration de fourniture d'une donnée d'entrée de l'opérateur et une configuration de fourniture de la sortie du premier module configurable,
- un troisième lien de fourniture d'une seconde valeur d'opérande au deuxième module configurable, à l'aide d'un troisième paramètre de multiplexage, entre une configuration de fourniture d'une donnée d'entrée de l'opérateur et une configuration de fourniture de la sortie du troisième module configurable, et
- un quatrième lien de fourniture d'une valeur d'opérande au troisième module configurable, à l'aide d'un quatrième paramètre de multiplexage, entre une configuration de fourniture d'une donnée d'entrée de l'opérateur et une configuration de fourniture de la sortie du deuxième module configurable.
De façon optionnelle également, chaque lien configurable comporte un multiplexeur à deux entrées et une sortie et à sélection de l'une des deux entrées à l'aide d'un paramètre binaire.
L'invention a également pour objet un processeur de traitement de données numériques comportant au moins un opérateur papillon incluant au moins un opérateur matériel d'additions/soustractions tel que défini précédemment, l'opérateur papillon étant configurable, à l'aide dudit paramètre programmable, entre une première configuration dans laquelle il réalise un calcul de transformée de Fourier rapide et une seconde configuration dans laquelle il réalise un calcul de valeurs de métriques de branches et de valeurs de métriques de chemins et de survivants d'une implémentation de l'algorithme de Viterbi.
De façon optionnelle, un processeur de traitement de données numériques selon l'invention peut comporter une pluralité d'opérateurs papillons configurables entre ladite première configuration dans laquelle chaque opérateur papillon réalise ledit calcul de transformée de Fourier rapide et ladite seconde configuration dans laquelle chaque opérateur papillon réalise un calcul de valeurs de métriques de branches et de valeurs de métriques de chemins et de survivants d'une implémentation de l'algorithme de Viterbi, ces opérateurs papillons étant structurés entre eux pour un calcul de transformée de Fourier rapide par une approche algorithmique de Cooley-Tukey en treillis de type Radix-2 et pour une implémentation de l'algorithme de Viterbi en treillis à quatre symboles de référence.
L'invention a également pour objet un terminal de télécommunication à modulation/démodulation multi porteuses des signaux émis/reçus et à décodage de signaux traités par un code convolutif, comportant au moins un opérateur matériel d'additions/soustractions tel que défini précédemment.
De façon optionnelle, un terminal de télécommunication selon l'invention peut être à modulation et démodulation de type OFDM.
De façon optionnelle également, un terminal de télécommunication selon l'invention peut comporter au moins un modulateur/démodulateur à modulation et démodulation OFDM compatible avec chaque norme implémentée et au moins un décodeur de signal codé par un code convolutif compatible avec chaque norme implémentée.
L'invention sera mieux comprise à l'aide de la description qui va suivre, donnée uniquement à titre d'exemple et faite en se référant aux dessins annexés dans lesquels :
- la figure 1 représente schématiquement la structure générale d'un réseau de traitement de données en treillis pour l'implémentation d'un calcul de FFT/IFFT,
- la figure 2 représente schématiquement la structure d'un opérateur papillon utilisé par le réseau de traitement de données de la figure 1 ,
- la figure 3 représente schématiquement l'implémentation possible en modules d'addition/soustraction et de multiplication de l'opérateur papillon de la figure 2,
- la figure 4 représente schématiquement la structure générale d'une chaîne de traitement de données pour une implémentation de l'algorithme de Viterbi,
- la figure 5 représente schématiquement la structure d'un opérateur papillon utilisé par une partie de la chaîne de traitement de données de la figure 4,
- la figure 6 représente schématiquement l'implémentation possible en modules d'addition/soustraction de l'opérateur papillon de la figure 5, - la figure 7 représente schématiquement la structure générale d'un opérateur matériel d'additions/soustractions selon un mode de réalisation de l'invention, utilisable dans un opérateur papillon selon la figure 3 ou 6,
- les figures 8 à 1 1 représentent l'opérateur matériel d'additions/soustractions de la figure 7 selon différentes configurations possibles, et
- la figure 12 représente schématiquement la structure générale d'un terminal de télécommunication selon un mode de réalisation de l'invention.
La transformée de Fourier rapide directe FFT est un algorithme de calcul de la transformée de Fourier discrète. Cet algorithme est utilisé en traitement numérique du signal pour transformer des données discrètes du domaine temporel ou spatial dans le domaine fréquentiel.
Soient par exemple N valeur temporelles discrètes x[0], x[N-1 ] d'un signal x. Les N valeurs fréquentielles de la transformée de Fourier discrète X de ce signal x sont définies par la formule suivante :
îv-i -π
X[k] =∑x[n].wkn , pour k = 0, N-1 , où w = e N .
La transformée de Fourier discrète inverse étant équivalente à la transformée de Fourier discrète directe, à un signe et facteur 1 /N près, la transformée de Fourrier rapide inverse IFFT repose sur le même algorithme que la FFT pour calculer cette transformée de Fourier discrète inverse. Tout opérateur matériel ou processeur de traitement de données numériques configuré pour l'exécution d'un calcul de transformée de Fourier rapide directe FFT est donc également apte au calcul de transformée de Fourier rapide inverse IFFT.
Une implémentation particulièrement simple et très utilisée du calcul de FFT est l'approche algorithmique de Cooley-Tukey en subdivision de type Radix 2. Elle suppose que le nombre N d'échantillons transformés soit une puissance de deux et subdivise de façon récursive le traitement de n échantillons en deux traitements identiques de taille n/2 à une échelle inférieure. En effet, à une première échelle :
X[k] =∑x[n].e w =∑ 2«k w +∑ 2«+lk w
«=0 «=0 «=0
X[fc] = ∑ 2«k w 2 + e w ∑ x[2n + l]e Nl2 ,
n=0 n=0
N/ 2-l i 2π rJ, NI 2-1 i 2π rJ,
X[k] = ∑ x[2n].e N/2 + wk ∑ x[2n + l]e N/2
n=0 n=0
De façon récurrente, un calcul de FFT à une échelle donnée est réalisé par deux calculs de FFT à une échelle inférieure, l'un portant sur les échantillons pairs, l'autre sur les échantillons impairs du signal à l'échelle donnée.
A l'aide de simplifications supplémentaires bien connues, on obtient ainsi un traitement en treillis à plusieurs échelles (ou niveaux) impliquant autant d'étapes successives, tel qu'il est illustré sur la figure 1 pour N = 8 impliquant trois étapes St1 , St2 et St3.
Chaque étape comporte N/2 calculs en papillon, pour un nombre total de N/2 x log2(N) calculs en papillon, tels que celui illustré sur la figure 2. Ce calcul en papillon nécessite le calcul croisé de deux données yk[0] et yk[1 ], comportant une multiplication complexe de l'une des données, yk[1 ], par un facteur W pour fournir une valeur intermédiaire, puis une addition et une soustraction complexes entre yk[0] et cette valeur intermédiaire pour fournir deux données yk+1[0] et yk+1 [1 ]. Dans l'exemple illustré sur la figure 1 , le facteur W vaut w° à l'échelle/étape St1 , w° ou w2 à l'échelle/étape St2 et w°, w1 , w2 ou w3 à l'échelle/étape St3.
Les deux relations liant yk+i [0] et yk+i[1 ] à yk[0] et yk[1 ] prennent la forme suivante :
En pratique, le calcul en papillon est réalisé par un opérateur structuré en un premier étage de multiplication complexe et un second étage d'addition et soustraction complexes recevant en entrée les données de sorties du premier étage. Pour réaliser sa multiplication complexe, le premier étage comporte des modules matériels de multiplication réelle, des modules matériels d'addition/soustraction réelle et des liens de transmission de données entre ces modules. Pour réaliser son addition et sa soustraction complexes, le second étage comporte des modules matériels d'addition/soustraction réelle et des liens de transmission de données vers ces modules.
Plus précisément, en notant :
yk [l] = α + ib,
W = c + id,
yk [0] = e + if,
où a, b, c, d, e et f sont des valeurs réelles, on fait apparaître le besoin en modules matériels de multiplication, addition et soustraction réelles :
yk+l [θ] = (ac - bd + e) + i(bc + ad + f),
yk+l [l] = (-ac + bd + e) + i(—bc - ad + f).
Sous cette forme, le calcul réalisé par un opérateur papillon nécessite quatre modules matériels de multiplication réelle, trois modules matériels d'addition réelle et trois modules matériels de soustraction réelle, comme cela est représenté sur la figure 3.
Plus précisément, le premier étage de multiplication complexe de l'opérateur papillon 10 représenté sur la figure 3, portant la référence 12, comporte quatre modules de multiplication 14, 16, 18 et 20 pour réaliser respectivement les produits ac, bd, bc et ad, un module de soustraction 22 recevant les données de sortie des modules 14 et 16 pour réaliser la soustraction ac - bd et un module d'addition 24 recevant les données de sortie des modules 18 et 20 pour réaliser l'addition bc + ad.
Le second étage d'addition et soustraction complexes de l'opérateur papillon
10, portant la référence 26, comporte :
- un module d'addition 28 recevant la donnée de sortie du module 22 et la variable e pour réaliser l'opération ac - bd + e, fournissant ainsi la partie réelle notée FFt-ReO de yk+i[0],
- un module de soustraction 30 recevant la donnée de sortie du module 22 et la variable e pour réaliser l'opération -ac + bd + e, fournissant ainsi la partie réelle notée FFt-Re1 de yk+ [1 ],
- un module d'addition 32 recevant la donnée de sortie du module 24 et la variable f pour réaliser l'opération bc + ad + f, fournissant ainsi la partie imaginaire notée FFt-ImO de yk+i[0], et
- un module de soustraction 34 recevant la donnée de sortie du module 24 et la variable f pour réaliser l'opération -bc - ad + f, fournissant ainsi la partie imaginaire notée FFt-lm1 de yk+ [1 ].
On remarque alors que les trois modules d'addition et de soustraction 22, 28 et 30 interconnectés entre eux constituent un premier opérateur matériel d'additions/soustractions 36 et que les trois modules d'addition et de soustraction 24,
32 et 34 interconnectés entre eux constituent un deuxième opérateur matériel d'additions/soustractions 38 de structure similaire.
Les structures de ces deux opérateurs matériels d'additions/soustractions 36 et 38, bien que présentant des similarités, diffèrent en ce que le premier opérateur 36 comporte deux soustracteurs (22, 30) et un additionneur (28), tandis que le deuxième opérateur 38 comporte deux additionneurs (24, 32) et un soustracteur (34).
Sous d'autres formes envisageables, le calcul réalisé par un opérateur papillon de FFT peut impliquer une structure légèrement différente, mais celle-ci comporte généralement au moins les opérateurs matériels 36 et 38 à trois modules d'addition/soustraction interconnectés.
La structure générale d'une chaîne de traitement de données pour une implémentation de l'algorithme de Viterbi est représentée sur la figure 4.
Cet algorithme a pour but de trouver par récurrence la séquence d'états la plus probable ayant produit une séquence mesurée [X0, .. . , XN-I] dans le cas d'un signal codé par un codeur convolutif, c'est-à-dire un codeur comportant un registre à décalage dans lequel chaque bit entrant génère un décalage dans le registre et un résultat en sortie.
Son principe est de comparer chaque valeur reçue avec toutes les sorties possibles du registre à décalage de manière à déterminer quel a été le décalage de ce registre le plus probable qui a engendré la valeur reçue. La connaissance de ce décalage permet de connaître la valeur qui l'a provoqué et par conséquent la valeur génératrice du message reçu.
Pour chaque valeur de message reçu, on obtient une structure en treillis reportant en ordonnée l'ensemble des états possibles du registre à décalages et en abscisse l'ensemble des transitions possibles, le motif du treillis se répétant invariablement dans le temps à chaque nouvelle entrée du codeur. En sortie du codeur, seules certaines séquences binaires sont possibles. Elles correspondent aux différents chemins qui existent dans le diagramme en treillis.
L'application de l'algorithme de Viterbi consiste alors à rechercher, dans le treillis, la séquence binaire la plus proche de la séquence reçue. En pratique, le déroulement de l'algorithme comporte les trois opérations suivantes, à chaque instant et pour chaque état du treillis :
- un calcul de valeurs de métriques de branches réalisé par un bloc 40, consistant à calculer à la réception de N symboles (pour un rendement de 1 /N) des valeurs représentant la vraisemblance des symboles reçus par
rapport aux 2 symboles possibles. Ces 2 valeurs sont appelées les métriques de branches et notées BmOO, Bm01 , Bm10 et Bm1 1 pour N = 2 ;
- un calcul de valeurs de métriques de chemins et de survivants réalisé par un bloc 42, consistant à déterminer l'état le plus probable du registre à décalage. Pour chaque nœud du treillis, une métrique de chemin représentant la probabilité cumulée pour ce nœud de faire partie de la séquence émise est mise à jour en tenant compte de la métrique de chemin calculée au cycle précédent et des valeurs de métriques de branches courantes. Cette mise à jour comporte le calcul de deux métriques de chemins et la sélection de la plus faible (chemin survivant) ;
- une mémorisation du bit de décision réalisée par un bloc 44, en vue de restituer le signal décodé en fin de trame par une technique de remontée des survivants.
Concrètement, le bloc 40 calcule la différence entre une valeur reçue et les sorties possibles du registre à décalage.
Le bloc 42, généralement qualifié de bloc ACS (pour « Addition, Comparaison et Sélection ») réalise à chaque nœud du treillis des additions de deux métriques de chemins avec les métriques de branches, une comparaison des deux métriques de chemins obtenues et une sélection de la plus faible.
Pour un calcul sur la base de quatre métriques de branches possibles BmOO, Bm01 , Bm10 et Bm1 1 calculées par le bloc 40, on peut ainsi faire apparaître un opérateur papillon tel que celui représenté sur la figure 5, pour le calcul des deux métriques de chemins suivantes :
Pmk [t + l] = VitO = Min(Pmk [t]+ BmOO, Pmk+l [t] + BmlO),
Pmk+N/2 [t + 1] = Vitï = Min(Pmk [t] + BmOÏ, Pmk+l [t] + Bmï 1).
En considérant que la détection d'un minimum par comparaison de deux valeurs peut être réalisée à l'aide d'un soustracteur couplé à un multiplexeur, on note que cet opérateur papillon nécessite, pour réaliser les calculs des blocs 40 et 42, à savoir un calcul de valeurs de métriques de branches et de valeurs de métriques de chemins et de survivants d'une implémentation de l'algorithme de Viterbi :
- pour chacun des deux calculs de valeurs de métriques de chemins et de survivants, deux modules matériels d'addition et un module matériel de soustraction,
- quatre modules matériels de soustraction supplémentaires pour le calcul des quatre valeurs de métriques de branches BmOO, Bm01 , Bm10 et Bm1 1 .
En tout, dix modules matériels d'addition/soustraction sont utilisés par cet opérateur papillon, comme cela est représenté sur la figure 6. Si l'on note PO et P1 les deux métriques de chemins calculées au cycle précédent, Ref la valeur reçue et a, b, c, d les quatre valeurs de sortie possibles, alors l'opérateur papillon 46 illustré sur la figure 6 comporte à un premier niveau séquentiel :
- quatre modules de soustraction 48, 50, 52 et 54 pour réaliser respectivement les opérations Ref-b = Bm01 , Ref-d = Bm1 1 , Ref-c = Bm10 et Ref-a = BmOO,
à un deuxième niveau séquentiel :
- un module d'addition 56 recevant la donnée de sortie du module 54 et la variable PO pour réaliser l'opération PO + BmOO,
- un module d'addition 58 recevant la donnée de sortie du module 52 et la variable P1 pour réaliser l'opération P1 + Bm10,
- un module d'addition 62 recevant la donnée de sortie du module 48 et la variable PO pour réaliser l'opération PO + Bm01 , et
- un module d'addition 64 recevant la donnée de sortie du module 50 et la variable P1 pour réaliser l'opération P1 + Bm1 1 ,
et à un troisième niveau séquentiel :
- un module de soustraction 60 recevant les données de sorties des modules 56 et 58 pour une comparaison de P0 + BmOO et P1 + Bm10 permettant d'en déduire la valeur de VitO, et
- un module de soustraction 66 recevant les données de sorties des modules 62 et 64 pour une comparaison de PO + Bm01 et P1 + Bm1 1 permettant d'en déduire la valeur de Vit1 .
On remarque alors que les trois modules d'addition et de soustraction 56, 58 et 60 interconnectés entre eux constituent un troisième opérateur matériel d'additions/soustractions 68 et que les trois modules d'addition et de soustraction 62, 64 et 66 interconnectés entre eux constituent un quatrième opérateur matériel d'additions/soustractions 70 de structure identique.
Cette structure identique des troisième et quatrième opérateurs 68 et 70, bien que présentant des similarités avec les structures des premiers et deuxièmes
opérateurs 36 et 38 précités, diffère par les interconnexions entre les modules d'addition et de soustraction.
Selon l'invention, un opérateur matériel d'additions/soustractions générique de structure prédéterminée mais configurable à l'aide d'au moins un paramètre est proposé.
Il apparaît en effet que les structures de l'opérateur papillon 10 de FFT et de l'opérateur Viterbi 46 impliquent des configurations matérielles permettant d'envisager une mise en commun de leurs opérateurs 36, 38, 68 et 70, moyennant un paramétrage de certains modules d'addition/soustraction de ces opérateurs et des liens à l'aide de multiplexeurs par exemple.
Cette mise en commun possible, dont un exemple est illustré sur la figure 7, résulte du fait que les deux paires d'opérateurs précitées, la paire d'opérateurs 36 et 38 d'une part pour la FFT, la paire d'opérateurs 68 et 70 d'autre part pour l'algorithme de Viterbi, comportent une répartition identique des modules d'addition/soustraction (2x3) et une liaison systématique entre l'un des modules et les deux autres d'un même opérateur. Elle apparaît plus clairement dans une représentation mathématique commune des entrées et sorties respectives des opérateurs considérés.
Ainsi, si l'on considère les modules 22, 28 et 30 du premier opérateur d'additions/soustractions 36, en notant E1 (e) l'une des deux entrées du module d'addition 28, E3 (bd) et E4 (ac) les deux entrées du module de soustraction 22, E6 (e) l'une des deux entrées du module de soustraction 30, S1 (ac-bd+e) la sortie du module d'addition 28, S2 (ac-bd) la sortie du module de soustraction 22 et S3 (- ac+bd+e) la sortie du module de soustraction 30, on obtient le jeu de relations suivantes :
Si l'on considère maintenant les modules 24, 32 et 34 du deuxième opérateur d'additions/soustractions 38, en notant E1 (f) l'une des deux entrées du module d'addition 32, E3 (ad) et E4 (bc) les deux entrées du module d'addition 24, E6 (f) l'une des deux entrées du module de soustraction 34, S1 (ad+bc+f) la sortie du module d'addition 32, S2 (ad+bc) la sortie du module d'addition 24 et S3 (-ad-bc+f) la sortie du module de soustraction 34, on obtient le jeu de relations suivantes :
Si l'on considère maintenant les modules 56, 58 et 60 du troisième opérateur d'additions/soustractions 68, en notant E1 (Ref-c) et E2 (P1 ) les deux entrées du module d'addition 58, E5 (Ref-a) et E6 (PO) les deux entrées du module d'addition 56, S1 (P1 +Bm 10) la sortie du module d'addition 58, S2 (P0+Bm00-(P1 +Bm1 0)) la sortie du module de soustraction 60 et S3 (P0+Bm00) la sortie du module d'addition 56, on obtient le jeu de relations suivantes :
Enfin, si l'on considère maintenant les modules 62, 64 et 66 du quatrième opérateur d'additions/soustractions 70, en notant E1 (Ref-d) et E2 (P1 ) les deux entrées du module d'addition 64, E5 (Ref-b) et E6 (P0) les deux entrées du module d'addition 62, S1 (P1 +Bm1 1 ) la sortie du module d'addition 64, S2 (P0+Bm01 - (P1 +Bm1 1 )) la sortie du module de soustraction 66 et S3 (P0+Bm01 ) la sortie du module d'addition 62, on obtient le même jeu de relations que le précédent.
A partir de ces trois jeux de relations, on peut en déduire un quatrième, commun aux quatre opérateurs précités, à deux paramètres binaires (a et β) près : Sl = El + E2 + (l - )S2,
< S2 = S3 + (-l Sl + (1 - )E4 + (-1/ (1 - )E3,
S3 = E6 + E5 - (1 - )S2.
On obtient le premier opérateur 36 avec (a, β) = (0, 1 ), le deuxième opérateur 38 avec (a, β) = (0, 0) et les troisième et quatrième opérateurs avec (a, β) = (1 , 1 ).
De ce quatrième jeu de relations, on peut en déduire un opérateur commun comportant au minimum :
- un module matériel d'addition recevant E1 et la sortie d'un multiplexeur, commandé en fonction de la valeur du paramètre a, fournissant E2 (a =1 ) ou S2 (a =0),
- un module matériel d'addition/soustraction (additionneur pour β=0 et soustracteur pour β=λ ) recevant la sortie d'un premier multiplexeur, commandé en fonction de la valeur du paramètre or, fournissant S1 (a =1 )
ou E3 (σ =0), et la sortie d'un second multiplexeur, commandé en fonction de la valeur du paramètre or, fournissant S3 (a =1 ) ou E4 (a =0), - un module matériel d'addition/soustraction (additionneur pour a =0 et soustracteur pour a =1 ) recevant E6 et la sortie d'un multiplexeur, commandé en fonction de la valeur du paramètre a, fournissant E5 (a =1 ) ou S2 (or =0).
D'une façon plus avantageuse, l'opérateur générique 72 illustré sur la figure 7 répond à ces exigences minimales, mais permet en outre d'envisager d'autres applications de calculs arithmétiques.
II comporte six ports d'entrées E1 , E2, E3, E4, E5 et 6 et trois ports de sorties
S1 , S2 et S3. Il comporte en outre un premier module d'addition/soustraction 74 configurable en additionneur ou soustracteur en fonction d'un paramètre βλ (additionneur si 31 =0 ou soustracteur si /31 =1 ), recevant E1 et la sortie d'un premier multiplexeur 80, commandé en fonction de la valeur d'un paramètre σ1 , fournissant E2 (σ1 =1 ) ou S2 (σ1 =0), et fournissant S1 . Il comporte en outre un deuxième module d'addition/soustraction 76 configurable en additionneur ou soustracteur en fonction d'un paramètre β2 (additionneur si β2=0 ou soustracteur si /32=1 ), recevant la sortie d'un deuxième multiplexeur 82, commandé en fonction de la valeur d'un paramètre a2, fournissant S1 (σ2=1 ) ou E3 (σ2=0), et la sortie d'un troisième multiplexeur 84, commandé en fonction de la valeur d'un paramètre σ3, fournissant E4 (σ3=1 ) ou S3 (σ3=0), et fournissant S2. Enfin, il comporte en outre un troisième module d'addition/soustraction 78 configurable en additionneur ou soustracteur en fonction d'un paramètre β3 (additionneur si β3=0 ou soustracteur si /33=1 ), recevant E6 et la sortie d'un quatrième multiplexeur 86, commandé en fonction de la valeur d'un paramètre or4, fournissant S2 (σ4=1 ) ou E5 (σ4=0), et fournissant S3.
On en déduit le jeu de relations paramétrable suivant :
SI = E1 + {-\)βι [al .El + (1 - al)S2],
< S2 = [(1 - a3)S3 + a3.E4] +
S3 = E6 + (-1Ϋ3 [(1 - a4)E5 - aA.Sl]
En jouant sur les sept paramètres binaires précités (σ1 , a2, a3, a4, βλ , β2, β3), il est possible d'obtenir non seulement les configurations des opérateurs 36, 38, 68 et 70, mais encore d'autres configurations pouvant être utilisées pour des traitements autres que les calculs de FFT et de Viterbi précités.
On notera que, dans la pratique, il est nécessaire d'introduire des éléments de mémorisation en sortie et/ou en entrée des additionneurs/soustracteurs pour résoudre l'indétermination produite par les rebouclages.
Ainsi, comme représenté sur la figure 8, lorsque (σ1 , a2, σ3, σ4, βλ , β2, β3) = (0, 0, 1 , 1 , 0, 1 , 1 ) ou (0, 0, 1 , 1 , 0, 0, 1 ), l'opérateur générique 72 se comporte respectivement comme l'opérateur 36 ou 38.
Comme représenté sur la figure 9, lorsque (σ1 , σ2, σ3, σ4, βλ , β2, β3) = (1 , 1 , 0, 0, 0, 1 , 0), l'opérateur générique 72 se comporte comme l'opérateur 68 ou 70.
Par ailleurs, à titre d'exemple et comme représenté sur la figure 10, lorsque (σ1 , 02, cr3, α4, β , β2, β3) = (1 , 0, 1 , 0, 01 , β2, β3), quelles que soient les valeurs binaires de βλ , β2, β3, l'opérateur générique 72 réalise plusieurs (en l'occurrence trois) opérations d'addition et/ou de soustraction indépendantes :
E1 +/- E2 = S1 , E3 +/- E4 = S2, E5 +/- E6 = S3.
Enfin, à titre d'exemple encore et comme représenté sur la figure 1 1 , lorsque (σ1 , a2, a3, a4, /31 , β2, β3) = (1 , 1 , 1 , 1 , /31 , β2, β3), quelles que soient les valeurs binaires de βλ , β2, β3, l'opérateur générique 72 réalise plusieurs (en l'occurrence trois) opérations d'addition et/ou de soustraction en cascade :
[(E1 +/- E2) +/- E4] +/- E6.
On note que l'on retrouve bien un paramétrage minimal possible de l'opérateur générique 72 à l'aide des deux paramètres binaires a et β en notant la corrélation entre les coefficients σ1 , a2, a3, a4, βλ , β2, β3 dans les quatre configurations minimales exigées que sont les opérateurs 36, 38, 68 et 70. En effet, dans ces quatre configurations, (σ1 , a2, a3, a4, βλ , β2, β3) = (a, a, 1 -σ, 1 -σ, 0, β, 1 - σ), avec, comme indiqué précédemment, (σ, β) = (0, 1 ) pour le premier opérateur 36, (a, β) = (0, 0) pour le deuxième opérateur 38 et (a, β) = (1 , 1 ) pour les troisième et quatrième opérateurs 68 et 70.
A partir de l'opérateur générique 72, il est possible de concevoir un processeur de traitement de données comportant au moins un opérateur papillon commun paramétrable (à l'aide d'au moins les paramètres a et β) capable d'exécuter un calcul de transformée de Fourier rapide dans une première configuration et un calcul de valeurs de métriques de branches et de valeurs de métriques de chemins et de survivants d'une implémentation de l'algorithme de Viterbi dans une seconde configuration, par une mise en commun d'au moins un opérateur tel que l'opérateur 72 pour réaliser les fonctions des opérateurs 36, 38, 68 et 70.
Ainsi, alors que les algorithmes FFT et Viterbi sont différents tant dans les données qu'ils traitent que dans les fonctions qu'ils réalisent, la mise en commun de modules matériels de soustraction et/ou d'addition à l'aide d'opérateur tels que l'opérateur 72 et la conception d'une structure commune sont rendues possibles grâce à la mise en évidence originale d'une similarité de fonctionnement d'opérateurs papillons qu'ils mettent en oeuvre.
En termes de complexité matérielle, un opérateur générique tel que l'opérateur 72 est équivalent à un opérateur tel que l'un quelconque des opérateurs 36, 38, 68 et 70. Ainsi, il est possible de conférer un caractère « générique » à un processeur de traitement de données en implémentant l'opérateur générique en lieu et place d'opérateurs 36, 38, 68 ou 70 spécifiques à un algorithme de FFT ou de Viterbi.
En outre, l'utilisation de cet opérateur générique peut avoir comme conséquence un gain en complexité en réduisant les ressources matérielles réellement implémentées. Considérons le maximum d'opérateurs papillons requis par les normes actuelles et un pourcentage de chaque opérateur papillon, ce dernier pourcentage représentant le taux de parallélisme de l'implémentation, c'est-à-dire le nombre d'opérateurs concrètement implémentés. Pour un couple de pourcentages relatifs aux algorithmes de Viterbi et de la FFT, il est possible de calculer le gain potentiellement réalisable en remplaçant les opérateurs d'additions/soustractions spécifiques par l'opérateur générique précité en quantité égale au nombre maximal d'opérateurs nécessaires pour l'un ou l'autre des deux algorithmes.
Ainsi, la généricité de l'opérateur 72 permet de s'adapter au mieux à la répartition entre le nombre d'opérateurs papillons pour l'algorithme de FFT et celui de Viterbi. Le gain apporté dépend du parallélisme des opérateurs à remplacer. Pour un parallélisme accru d'opérateurs papillons de Viterbi initiaux, le gain sera faible (dernière ligne du tableau). Pour un parallélisme accru des opérateurs papillons de la FFT, le gain sera plus conséquent (dernière colonne du tableau).
Un autre avantage de l'opérateur générique 72 est de pouvoir tirer profit, dans le mode Viterbi, du fait que les données traitées dans le mode FFT doivent pouvoir être complexes et que leurs parties réelles et imaginaires sont en général entières. En mode Viterbi, le processeur de traitement est alors capable de fonctionner aussi bien avec des données d'entrée dures (binaires) que des données d'entrée souples (entières).
Enfin, compte tenu de la variabilité de la performance des technologies microélectroniques, il est avantageux de proposer des opérateurs/processeurs de base les plus réguliers possible. En effet, il est alors envisageable d'implanter de tels processeurs en surnombre et de les configurer a posteriori en fonction des performances ou des pannes éventuelles de chacun de ces processeurs. Par conséquent un processeur incluant au moins un opérateur générique 72 tel que celui décrit précédemment est avantageusement intégré dans un terminal de télécommunication 88 à modulation/démodulation muiti porteuses des signaux émis/reçus et à décodage de signaux traités par un code convolutif comme illustré sur la figure 12.
Les applications d'un processeur de traitement incluant au moins un tel opérateur générique et à au moins deux modes de fonctionnement FFT et Viterbi sont multiples que ce soit pour un terminal à norme unique ou pour un terminal multi- normes. En effet, beaucoup de normes mettent par exemple en oeuvre une modulation OFDM (calcul de FFT) et nécessitent un décodage de code convolutif (algorithme de Viterbi), parmi lesquels :
- la radiodiffusion numérique terrestre DAB,
- la télédiffusion numérique terrestre (DVB-T, DVB-H),
- la radiodiffusion numérique terrestre T-DMB,
- la radiodiffusion numérique DRM,
- les liaisons filaires : ADSL, VDSL, modem sur courant porteur (Homeplug), modem câble (norme Docsis),
- les réseaux sans-fils basés sur les normes 802.1 1 a, 802.1 1 g (Wi-Fi), 802.16 (WiMAX) et HiperLAN,
- les réseaux mobiles de nouvelle génération (4G).
Cette liste n'est bien sûr pas exhaustive puisque la quasi totalité des normes actuelles ou à l'étude utilise une modulation OFDM et/ou un décodage de Viterbi.
En outre, des travaux récents on montré que la FFT pouvait être appliquée pour des opérations plus diversifiées qu'une simple modulation. Notamment, elle peut être utilisée pour des calculs de corrélation, la genèse de filtres de type FIR, l'estimation de canal ou la détection de plusieurs utilisateurs. De même, l'algorithme de Viterbi a lors d'études passées été étendu au décodage des Turbos Codes.
Ainsi, l'opérateur générique 72 proposé peut être utilisé par une majorité des fonctions de terminaux de télécommunication mono- ou multi-normes. Il facilite leur
intégration par la mise en œuvre de blocs de traitement homogènes comportant des opérateurs génériques configurables.
On notera enfin que l'invention ne se limite pas au mode de réalisation envisagé. Il apparaîtra en effet à l'homme de l'art que diverses modifications peuvent être apportées au mode de réalisation décrit ci-dessus, à la lumière de l'enseignement qui vient de lui être divulgué. Dans les revendications qui suivent, les termes utilisés ne doivent pas être interprétés comme limitant les revendications au mode de réalisation exposé dans la présente description, mais doivent être interprétés pour y inclure tous les équivalents que les revendications visent à couvrir du fait de leur formulation et dont la prévision est à la portée de l'homme de l'art en appliquant ses connaissances générales à la mise en œuvre de l'enseignement qui vient de lui être divulgué.
Claims
1 . Opérateur matériel d'additions/soustractions (72) comportant une pluralité de modules matériels d'addition/soustraction (74, 76, 78) et une pluralité de liens de transmission de données entre ces modules, d'une part, et entre des entrées (E1 , E2, E3, E4, E5, E6) et sorties (S1 , S2, S3) de l'opérateur et ces modules, d'autre part, selon une structure prédéterminée pour la réalisation de calculs arithmétiques, caractérisé en ce qu'au moins une partie (74, 76, 78) des modules matériels d'addition/soustraction de l'opérateur et au moins une partie (80, 82, 84, 86) des liens entre ces modules sont configurables à l'aide d'au moins un paramètre programmable (α1 , σ2, σ3, σ4, βλ , β2, β3), au moins entre une première configuration dans laquelle l'opérateur finalise (72) un calcul de parties réelles de coefficients de transformée de Fourier rapide, une deuxième configuration dans laquelle l'opérateur finalise un calcul de parties imaginaires de coefficients de transformée de Fourier rapide, une troisième configuration dans laquelle l'opérateur réalise un calcul de valeurs de métriques de chemins et de survivants d'une implémentation de l'algorithme de Viterbi, une quatrième configuration dans laquelle l'opérateur réalise plusieurs opérations d'addition et/ou de soustraction indépendantes et une cinquième configuration dans laquelle l'opérateur finalise une cascade d'opérations d'addition et/ou de soustraction.
2. Opérateur matériel d'additions/soustractions (72) selon la revendication 1 , comportant un premier module matériel d'addition/soustraction (74) configurable, à l'aide d'un premier paramètre binaire (/31 ), entre une configuration d'additionneur et une configuration de soustracteur, un deuxième module matériel d'addition/soustraction (76) configurable, à l'aide d'un deuxième paramètre binaire (/32), entre une configuration d'additionneur et une configuration de soustracteur, et un troisième module matériel d'addition/soustraction (78) configurable, à l'aide d'un troisième paramètre binaire (β3), entre une configuration d'additionneur et une configuration de soustracteur.
3. Opérateur matériel d'additions/soustractions (72) selon la revendication 2, comportant :
- un premier lien (80) de fourniture d'une valeur d'opérande au premier module configurable (74), à l'aide d'un premier paramètre de multiplexage (σ1 ), entre une configuration de fourniture d'une donnée d'entrée (E1 ) de l'opérateur (72) et une configuration de fourniture de la sortie (S2) du deuxième module configurable (76),
- un deuxième lien (82) de fourniture d'une première valeur d'opérande au deuxième module configurable (76), à l'aide d'un second paramètre de multiplexage (σ2), entre une configuration de fourniture d'une donnée d'entrée (E3) de l'opérateur (72) et une configuration de fourniture de la sortie (S1 ) du premier module configurable (74),
- un troisième lien (84) de fourniture d'une seconde valeur d'opérande au deuxième module configurable (76), à l'aide d'un troisième paramètre de multiplexage (σ3), entre une configuration de fourniture d'une donnée d'entrée (E4) de l'opérateur (72) et une configuration de fourniture de la sortie (S3) du troisième module configurable (78), et
- un quatrième lien (86) de fourniture d'une valeur d'opérande au troisième module configurable (78), à l'aide d'un quatrième paramètre de multiplexage (σ4), entre une configuration de fourniture d'une donnée d'entrée (E6) de l'opérateur (72) et une configuration de fourniture de la sortie (S2) du deuxième module configurable (76).
4. Opérateur matériel d'additions/soustractions (72) selon la revendication 3, dans lequel chaque lien configurable comporte un multiplexeur (80, 82, 84, 86) à deux entrées et une sortie et à sélection de l'une des deux entrées à l'aide d'un paramètre binaire (σ1 , σ2, σ3, σ4).
5. Processeur de traitement de données numériques comportant au moins un opérateur papillon (10, 46) incluant au moins un opérateur matériel d'additions/soustractions (72) selon l'une quelconque des revendications 1 à 4, l'opérateur papillon étant configurable, à l'aide dudit paramètre programmable (σ1 , σ2, σ3, σ4, βλ , β2, β3), entre une première configuration dans laquelle il réalise un calcul de transformée de Fourier rapide et une seconde configuration dans laquelle il réalise un calcul de valeurs de métriques de branches et de valeurs de métriques de chemins et de survivants d'une implémentation de l'algorithme de Viterbi.
6. Processeur de traitement de données numériques selon la revendication
5, comportant une pluralité d'opérateurs papillons (1 0, 46) configurables entre ladite première configuration dans laquelle chaque opérateur papillon réalise ledit calcul de transformée de Fourier rapide et ladite seconde configuration dans laquelle chaque opérateur papillon réalise un calcul de valeurs de métriques de branches et de valeurs de métriques de chemins et de survivants d'une implémentation de l'algorithme de Viterbi, ces opérateurs papillons étant structurés entre eux pour un calcul de transformée de Fourier rapide par une approche algorithmique de Cooley- Tukey en treillis de type Radix-2 et pour une implémentation de l'algorithme de Viterbi en treillis à quatre symboles de référence.
7. Terminal de télécommunication (136) à modulation/démodulation multi porteuses des signaux émis/reçus et à décodage de signaux traités par un code convolutif, comportant au moins un opérateur matériel d'additions/soustractions (72) selon l'une quelconque des revendications 1 à 4.
8. Terminal de télécommunication (136) selon la revendication 7, à modulation et démodulation de type OFDM.
9. Terminal de télécommunication (136) selon la revendication 8, de type multi-normes, comportant au moins un modulateur/démodulateur à modulation et démodulation OFDM compatible avec chaque norme implémentée et au moins un décodeur de signal codé par un code convolutif compatible avec chaque norme implémentée.
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| FR0958501A FR2953310B1 (fr) | 2009-11-30 | 2009-11-30 | Operateur materiel d'additions/soustractions, processeur et terminal de telecommunication incluant un tel operateur |
| PCT/FR2010/052566 WO2011064515A1 (fr) | 2009-11-30 | 2010-11-29 | Operateur materiel d'additions/soustractions, processeur et terminal de telecommunication incluant un tel operateur |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| EP2507721A1 true EP2507721A1 (fr) | 2012-10-10 |
Family
ID=42735339
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| EP10805616A Withdrawn EP2507721A1 (fr) | 2009-11-30 | 2010-11-29 | Operateur materiel d'additions/soustractions, processeur et terminal de telecommunication incluant un tel operateur |
Country Status (5)
| Country | Link |
|---|---|
| US (1) | US9087002B2 (fr) |
| EP (1) | EP2507721A1 (fr) |
| JP (1) | JP5776986B2 (fr) |
| FR (1) | FR2953310B1 (fr) |
| WO (1) | WO2011064515A1 (fr) |
Family Cites Families (8)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| GB2317465B (en) * | 1996-09-23 | 2000-11-15 | Advanced Risc Mach Ltd | Data processing apparatus registers. |
| US6526430B1 (en) * | 1999-10-04 | 2003-02-25 | Texas Instruments Incorporated | Reconfigurable SIMD coprocessor architecture for sum of absolute differences and symmetric filtering (scalable MAC engine for image processing) |
| US6986021B2 (en) * | 2001-11-30 | 2006-01-10 | Quick Silver Technology, Inc. | Apparatus, method, system and executable module for configuration and operation of adaptive integrated circuitry having fixed, application specific computational elements |
| JP4423953B2 (ja) * | 2003-07-09 | 2010-03-03 | 株式会社日立製作所 | 半導体集積回路 |
| JP4796339B2 (ja) * | 2005-06-20 | 2011-10-19 | Okiセミコンダクタ株式会社 | メモリの読み出し及び書き込み方法 |
| DE602005014636D1 (de) * | 2005-08-22 | 2009-07-09 | Panasonic Corp | Dynamisch rekonfigurierbare und geteilte Vorrichtung für die Basisband-Verarbeitung |
| JP2009245407A (ja) * | 2008-04-01 | 2009-10-22 | Dainippon Printing Co Ltd | 複素数の積和演算装置および積和演算方法 |
| JP4814969B2 (ja) * | 2009-03-23 | 2011-11-16 | 富士通株式会社 | 準固定回路 |
-
2009
- 2009-11-30 FR FR0958501A patent/FR2953310B1/fr not_active Expired - Fee Related
-
2010
- 2010-11-29 EP EP10805616A patent/EP2507721A1/fr not_active Withdrawn
- 2010-11-29 US US13/512,046 patent/US9087002B2/en not_active Expired - Fee Related
- 2010-11-29 WO PCT/FR2010/052566 patent/WO2011064515A1/fr not_active Ceased
- 2010-11-29 JP JP2012540487A patent/JP5776986B2/ja not_active Expired - Fee Related
Non-Patent Citations (1)
| Title |
|---|
| See references of WO2011064515A1 * |
Also Published As
| Publication number | Publication date |
|---|---|
| WO2011064515A1 (fr) | 2011-06-03 |
| JP5776986B2 (ja) | 2015-09-09 |
| US9087002B2 (en) | 2015-07-21 |
| FR2953310B1 (fr) | 2012-08-17 |
| FR2953310A1 (fr) | 2011-06-03 |
| JP2013512492A (ja) | 2013-04-11 |
| US20120263212A1 (en) | 2012-10-18 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| EP2460275B1 (fr) | Correction des défauts analogiques dans des convertisseurs analogiques/numériques parallèles, notamment pour des applications multistandards, radio logicielle et/ou radio-cognitive | |
| FR2938140A1 (fr) | Recepteur a suppression d'interferences entre porteuses. | |
| US20090245431A1 (en) | Zeroing-out llrs using demod-bitmap to improve performance of modem decoder | |
| WO2011154642A2 (fr) | Processeur de traitement de donnees numeriques a operateur papillon en pipeline pour l'execution d'une fft/ifft et dispositif de telecommunication | |
| Li et al. | Implementation of a fully-parallel turbo decoder on a general-purpose graphics processing unit | |
| EP2507720A1 (fr) | Processeur de traitement de donnees numeriques a operateur papillon pour l'execution d'une fft/ifft et terminal de telecommunication | |
| FR2783120A1 (fr) | Procede d'egalisation numerique, et recepteur de radiocommunication mettant en oeuvre un tel procede | |
| EP0237382B1 (fr) | Dispositif de transformée en cosinus d'un signal numérique échantilloné | |
| EP2507721A1 (fr) | Operateur materiel d'additions/soustractions, processeur et terminal de telecommunication incluant un tel operateur | |
| WO2015033080A1 (fr) | Processeur de traitement de donnees numeriques a operateur papillon configurable entre un calcul de fft/ifft et un decodage canal et dispositif de telecommunication correspondant | |
| Liu et al. | An efficient architecture of the sign-error LMS adaptive filter | |
| EP1964348B1 (fr) | Procédé de réception d'un signal à porteuses multiples, procédé d'émission, récepteur et émetteur correspondants | |
| EP1792463B1 (fr) | Procede d'estimation de la phase et du gain de donnees d'observation transmises sur un canal de transmission en modulation qam | |
| FR2983667A1 (fr) | Procede de reduction d'interferences | |
| EP2091149A1 (fr) | Procédé et dispositif de conversion descendante de fréquence d'échantillonnage d'un signal numérique. | |
| FR2987527A1 (fr) | Dispositif auto-configurable d'entrelacement/desentrelacement de trames de donnees | |
| EP1999918B1 (fr) | Procédé et dispositif de récéption d'un signal de données composé de blocs de symboles et programme d'ordinateur correspondant | |
| Naoues et al. | A Common Operator for FFT and Viterbi algorithms | |
| WO2007110521A1 (fr) | Procede et dispositif d'emission d'un signal code representatif d'un signal source, signal code, procede et dispositif de reception et programmes d'ordinateur correspondants | |
| WO2002060140A1 (fr) | Procede de transmission d'un signal multiporteuse biorthogonal module synchroniquement (bfdm/sm) | |
| EP1826973A1 (fr) | Procédé et dispositif d'estimation de la fonction de transfert du canal de transmission pour démodulateur COFDM | |
| Al Ghouwayel | Contribution to the study of the common FFT operator in Software radio context: application to channel coding | |
| CA3217249A1 (fr) | Decodage de turbo codes concatenes en serie | |
| FR2916110A1 (fr) | Dispositif electronique de decalage de donnees multimodes, en particulier pour du codage/decodage avec un code ldpc. | |
| FR2783119A1 (fr) | Procede d'egalisation numerique, et recepteur de radiocommunication mettant en oeuvre un tel procede |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| PUAI | Public reference made under article 153(3) epc to a published international application that has entered the european phase |
Free format text: ORIGINAL CODE: 0009012 |
|
| 17P | Request for examination filed |
Effective date: 20120518 |
|
| AK | Designated contracting states |
Kind code of ref document: A1 Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO RS SE SI SK SM TR |
|
| DAX | Request for extension of the european patent (deleted) | ||
| STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: THE APPLICATION IS DEEMED TO BE WITHDRAWN |
|
| 18D | Application deemed to be withdrawn |
Effective date: 20180602 |