FR2953310A1 - OPERATOR ADDITION / SUBTRACTION EQUIPMENT, PROCESSOR AND TELECOMMUNICATION TERMINAL INCLUDING SUCH AN OPERATOR - Google Patents

OPERATOR ADDITION / SUBTRACTION EQUIPMENT, PROCESSOR AND TELECOMMUNICATION TERMINAL INCLUDING SUCH AN OPERATOR Download PDF

Info

Publication number
FR2953310A1
FR2953310A1 FR0958501A FR0958501A FR2953310A1 FR 2953310 A1 FR2953310 A1 FR 2953310A1 FR 0958501 A FR0958501 A FR 0958501A FR 0958501 A FR0958501 A FR 0958501A FR 2953310 A1 FR2953310 A1 FR 2953310A1
Authority
FR
France
Prior art keywords
operator
configuration
configurable
hardware
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.)
Granted
Application number
FR0958501A
Other languages
French (fr)
Other versions
FR2953310B1 (en
Inventor
Laurent Alaus
Dominique Noguet
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Commissariat a lEnergie Atomique et aux Energies Alternatives CEA
Original Assignee
Commissariat a lEnergie Atomique CEA
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Commissariat a lEnergie Atomique CEA filed Critical Commissariat a lEnergie Atomique CEA
Priority to FR0958501A priority Critical patent/FR2953310B1/en
Priority to US13/512,046 priority patent/US9087002B2/en
Priority to EP10805616A priority patent/EP2507721A1/en
Priority to PCT/FR2010/052566 priority patent/WO2011064515A1/en
Priority to JP2012540487A priority patent/JP5776986B2/en
Publication of FR2953310A1 publication Critical patent/FR2953310A1/en
Application granted granted Critical
Publication of FR2953310B1 publication Critical patent/FR2953310B1/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/14Fourier, Walsh or analogous domain transformations, e.g. Laplace, Hilbert, Karhunen-Loeve, transforms
    • G06F17/141Discrete Fourier transforms
    • G06F17/142Fast Fourier transforms, e.g. using a Cooley-Tukey type algorithm
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, 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/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/39Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes
    • H03M13/3961Arrangements of methods for branch or transition metric calculation
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, 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/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/39Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes
    • H03M13/41Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using the Viterbi algorithm or Viterbi processors
    • H03M13/4107Sequence 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
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, 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/65Purpose and implementation aspects
    • H03M13/6508Flexibility, adaptability, parametrability and configurability of the implementation

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 (α1, 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.This hardware add / subtract operator (72) has a plurality of hardware add / subtract modules (74, 76, 78) and a plurality of data links between these modules, on the one hand, and inputs (E1, E2, E3, E4, E5, E6) and outputs (S1, S2, S3) of the operator and these modules, on the other hand, according to a predetermined structure for carrying out arithmetic calculations. At least a portion (74, 76, 78) of the operator addition / subtraction hardware modules and at least a portion (80, 82, 84, 86) of links between these modules are configurable using at least one programmable parameter (α1, a2, a3, a4, β1, β2, β3), at least between a first configuration in which the operator (72) finalizes a calculation of real parts of fast Fourier transform coefficients, a second configuration in which the operator finalizes a calculation of imaginary portions of fast Fourier transform coefficients, and a third configuration in which the operator performs a computation of path and survivor metric values of an implementation of the algorithm from Viterbi.

Description

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 multi 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. 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 the multi-carrier modulation / demodulation terminals of the transmitted / received and channel decoded signals, comprise digital processing components generally and advantageously involving FFT digital direct signal calculations. (of the English "Fast Fourier Transform") or inverse fast Fourier transform known as IFFT (of the English "Inverse Fast Fourier Transform"), and an implementation of the algorithm of Viterbi, in particular within the framework of the radio Software or Reconfigurable Radio SDR (Software Defined Radio). However, 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.

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. In this context, 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 hardware add-on and / or subtract modules.

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. However, the proliferation of standards, and in particular wireless communication standards, requires the provision of terminals capable of managing different standards. 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.

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/s11265-009-0353-04, le 14 mars 2009. 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. Notably, 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 / s11265-009-0353-04, March 14, 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 coeur même d'une modulation OFDM comporte un calcul de FFT. By way of example, this article indicates that a hardware operator of FFT / IFFT calculation can be advantageously pooled because it is solicited by a large number of standards. Indeed, most current or in preparation telecommunication standards are based on OFDM (Orthogonal Frequency Division Multiplexing) modulations. 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 very heart of an OFDM modulation involves an FFT calculation.

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. The FFT operator is more generally involved as a basic operator of signal reception functions in the frequency domain. For example, an FFT operator is used in a frequency implementation of an equalization channel estimation, in a multi-carrier modulation / demodulation and in the execution of a so-called "channelization" function (ie channel selection) on a bench filters. 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. However, this solution now has its limits because, even within an operator or FFT calculation processor, several operators of additions / subtractions of different structures must be used. For example, the addition / subtraction operations involved in the calculation of real parts of FFT coefficients are not the same as the addition / subtraction operations involved in the calculation of the imaginary parts.

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. In addition, between an operator or FFT calculation processor and an operator or implementation processor of the Viterbi algorithm, the addition / subtraction operations involved are also different and justify providing separate hardware modules. It may then be desired to provide a hardware operator of additions / subtractions which makes it possible to at least partially solve the aforementioned problems and constraints and / or to improve the reconfigurability of a terminal. 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.

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. Indeed, by parameterizing the addition / subtraction modules, the links between them and / or the links between these modules and the inputs / outputs of the hardware operator of additions / subtractions, it becomes conceivable to design a single hardware operator of predetermined structure capable, according to its configuration, of participating in different arithmetic operations including different phases of an FFT calculation and calculation of path and survivor metric values of an implementation of the Viterbi algorithm. The same generic hardware operator can therefore be requested by several functions, within the same treatment, for different treatments according to a common standard or even for different treatments according to different standards.

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. By ensuring that these processes include at least one FFT / IFFT calculation and 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. In addition, 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.

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. Optionally, the 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. Optionally also, a hardware add / subtract operator according to the invention 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, and a third configurable add / subtract hardware module, using a third binary parameter, between an adder configuration and a subtractor configuration.

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. Optionally also, a hardware add / subtract operator according to the invention may comprise: a first link providing an operand value to the first configurable module, using a first multiplexing parameter, between a configuration for providing an input data of the operator and a configuration for supplying the output of the second configurable module, a second link for providing a first operand value to the second configurable module, using of a second multiplexing parameter, between a configuration for supplying an input data of the operator and a configuration for supplying the output of the first configurable module, a third connection for supplying a second operand value to the second configurable module, using a third multiplexing parameter, between an input data provisioning configuration of the operator and a provisioning configuration of the of the third configurable module, and a fourth link providing an operand value to the third configurable module, using a fourth multiplexing parameter, between a configuration for providing an input data of the operator and a configuration for providing the output of the second configurable module. Also optionally, each configurable link comprises a two-input multiplexer and an output and selection of one of the two inputs using a binary parameter.

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/I FFT, - 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 à 11 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. 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. Optionally, a digital data processing processor according to the invention 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. Optionally, a telecommunication terminal according to the invention can be modulating and demodulating OFDM type. Optionally also, a telecommunication terminal according to the invention 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. The invention will be better understood with the aid of the description which follows, given solely by way of example and with reference to the appended drawings, in which: FIG. 1 schematically represents the general structure of a data processing network; lattice data for the implementation of an FFT / I FFT calculation, - Figure 2 schematically shows the structure of a throttle operator used by the data processing network of Figure 1, Figure 3 shows schematically 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. the possible implementation in addition / subtraction modules of the butterfly operator of FIG. 5, FIG. 7 schematically represents the general structure of a material add / subtract operator according to one embodiment of the invention, usable in a throttle operator according to FIG. 3 or 6, FIGS. 8 to 11 represent the material additions / subtractions operator of FIG. 7 according to various possible configurations, and FIG. 12 schematically represents the general structure of a terminal of FIG. telecommunication 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.

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 : Nù1 X[k]=x[n].wkn,pour k=0,...,N-1, où w = e N n=0 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 : Nû1 2?ank X[k]= x[n].e N n=0N/2û1 ûi22nk N/2û1 ûi - (2n+1)k x[2n].e N + 1 x[2n + lie N , n=0 n=0 2z nk ûi2?ak N/2û1 2z nk N/2 +e N 1 x[2n+1].e N/2 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. For example, let N be 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: N1 X [k] = x [n] .wkn, for k = 0, ..., N-1, where w = e N n = 0 Since the inverse discrete Fourier transform is equivalent to the direct discrete Fourier transform, at a sign and factor 1 / N close, the fast IFFT inverse Fourier transform is based on the same algorithm as the FFT to compute 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 particularly simple and widely used implementation of the FFT calculation is the Cooley-Tukey algorithmic approach in Radix 2 subdivision. It assumes that the number N of transformed samples is a power of two and recursively subdivides the processing of n samples in two identical treatments of size n / 2 on a smaller scale. In fact, on a first scale: ## EQU1 ## where ## EQU1 ## where ## EQU1 ## where ## EQU1 ## [2n + lie N, n = 0 n = 0 2z nk ûi2? Ak N / 2û1 2z nk N / 2 + e N 1 x [2n + 1] .e N / 2 n = 0 Recurrently, a calculation of FFT at a given scale is achieved by two FFT calculations at a lower scale, one dealing with even samples, the other on odd samples of signal at the given scale.

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+1[0] et yk+1[1] à yk[0] et yk[1] prennent la forme suivante : Yk+l Pl = Yk [o]+W'Yk [1], Yk+l [1] = Yk [o] ù W 'Yk [1]' 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 : N/2û1 X [k ] = x[2n]. n=0 N/2û1 2,r nk N/2û1 2,r nk X[k]= x[2n].e Nl2 +Wk 1 x[2n +1].e Nl2 n=0 n=0 yk[1]=a+ib, W =c+id, yk[0]=e+lf, 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+~[0]=(acûbd+e)+i(bc+ad+f), yk+~ [1] = (ûac + bd + e) + i(ûbc û ad + f ). With the aid of well-known additional simplifications, a trellis treatment is obtained at several scales (or levels) involving as many successive steps, as illustrated in FIG. 1 for N = 8 involving three steps St1. St2 and St3. Each step comprises N / 2 butterfly calculations, for a total number of N / 2 x log2 (N) butterfly calculations, such as that illustrated in FIG. 2. This butterfly calculation requires the cross computation of two data yk [0 ] and yk [1], comprising a complex multiplication of one of the data, yk [1], by a factor W to provide an intermediate value, and then a complex addition and subtraction between yk [0] and this intermediate value for provide two data yk + 1 [0] and yk + 1 [1]. In the example illustrated in FIG. 1, the factor W is w ° at the scale / step St1, w ° or w2 at the scale / step St2 and w °, w1, w2 or w3 at the scale / step St3. The two relations linking yk + 1 [0] and yk + 1 [1] to yk [0] and yk [1] take the following form: Yk + l Pl = Yk [o] + W'Yk [1], Yk In practice, the butterfly calculation is carried out by an operator structured in a first complex multiplication stage and a second stage of complex addition and subtraction receiving in the following manner: [...] input the output data of the first floor. To carry out its complex multiplication, the first stage comprises real multiplication hardware modules, hardware modules of actual addition / subtraction and data transmission links between these modules. In order to achieve complex addition and subtraction, the second stage comprises hardware modules of actual addition / subtraction and data transmission links to these modules. More precisely, noting: N / 2û1 X [k] = x [2n]. n = 0 N / 2û1 2, r nk N / 2û1 2, r nk X [k] = x [2n] .e Nl2 + Wk 1 x [2n + 1] .e Nl2 n = 0 n = 0 yk [1 ] = a + ib, W = c + id, yk [0] = e + lf, where a, b, c, d, e and f are real values, the need for material multiplication modules, addition and real subtraction: yk + ~ [0] = (ub + e) + i (bc + ad + f), yk + ~ [1] = (u + bd + e) + i (ubc + 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. In this form, the calculation carried out by a throttle operator requires four real multiplication hardware modules, three actual addition hardware modules and three real subtraction hardware modules, as shown in FIG. 3. Specifically, the first stage of complex multiplication of the butterfly operator 10 shown in Figure 3, bearing the reference 12, comprises four multiplication modules 14, 16, 18 and 20 to respectively produce 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 and an addition module 24 receiving the output data of the modules 18 and 20 to achieve the 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-Re0 de yk+, [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-Rel de yk+1[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-Im0 de yk+,[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-Im1 de yk+1[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_1] 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 2N symboles possibles. Ces 2N valeurs sont appelées les métriques de branches et notées BmOO, BmOl, Bml 0 et Bml 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 noeud du treillis, une métrique de chemin représentant la probabilité cumulée pour ce noeud 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. The complex addition and subtraction second stage of the throttle operator 10, 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-Re0 of yk +, [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-Rel of yk + 1 [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 -Im0 of yk +, [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, thereby providing the imaginary part denoted FFt-Im1 of yk 1 [1]. It is then noted that the three addition and subtraction modules 22, 28 and 30 interconnected together constitute a first material additions / subtractions operator 36 and that the three addition and subtraction modules 24, 32 and 34 interconnected between they constitute a second material operator of additions / subtractions 38 of similar structure. The structures of these two material add / subtract operators 36 and 38, although having similarities, 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). In other conceivable forms, 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. The general structure of a data processing chain for an implementation of the Viterbi algorithm is shown in Figure 4. This algorithm aims to find by recurrence the most likely sequence of states that produced a measured sequence [ X0, ..., XN_1] 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 a result in exit. Its principle is to compare each value received with all the possible outputs of the shift register so as to determine what was the shift of this most probable register which generated the value received. The knowledge of this shift allows to know the value that caused it and therefore the generating value of the received message. For each received message value, 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. In practice, the progress of the algorithm comprises the following three operations, at each instant and for each state of the trellis: a computation of values of branch metrics made by a block 40, consisting of calculating on receipt of N symbols ( for a yield of 1 / N) values representing the likelihood of the received symbols with respect to the 2N possible symbols. These 2N values are called the branch metrics and denoted BmOO, BmO1, Bml 0 and Bml 1 for N = 2, a computation of values of path and survivor metrics performed by a block 42, consisting of determining the most probable 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 current branch metric values. This update includes the calculation of two path metrics and the selection of the weakest (surviving path); a storage of the decision bit made by a block 44, in order to restore the decoded signal at the end of the frame by a technique of raising survivors.

Concrètement, le bloc 40 calcule la différence entre une valeur reçue et les sorties possibles du registre à décalage. Concretely, block 40 calculates the difference between a received value and the possible outputs of the shift register.

Le bloc 42, généralement qualifié de bloc ACS (pour « Addition, Comparaison et Sélection ») réalise à chaque noeud du treillis des additions de deux métriques de Block 42, generally called ACS block (for "Addition, Comparison and Selection") performs at each node of the trellis additions of two metrics of

chemins avec les métriques de branches, une comparaison des deux métriques de chemins obtenues et une sélection de la plus faible. paths with branch metrics, a comparison of the two obtained path metrics, and a selection of the lowest.

Pour un calcul sur la base de quatre métriques de branches possibles BmOO, BmOl, Bm1O et Bml 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 +1] = VitO = Min(Pmk [t] + BmOO, Pmk+1 [t] + Bml 0), Pmk+N, a [t +1] = Viti = Min(Pmk [t] + BmOl, Pmk+1 [t] + Bml 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 : For a calculation on the basis of four possible branch metrics BmOO, BmO1, Bm1O and Bml 1 calculated by block 40, a butterfly operator such as that shown in FIG. 5 can thus be shown for the calculation of the two metrics of following paths: Pmk [t + 1] = VitO = Min (Pmk [t] + BmOO, Pmk + 1 [t] + Bml 0), Pmk + N, a [t + 1] = Viti = Min (Pmk [t] ] + BmOl, Pmk + 1 [t] + Bml 1). Considering that the detection of a minimum by comparison of two values can be performed using a subtractor coupled to a multiplexer, it is noted that this throttle operator requires, to perform the calculations of blocks 40 and 42, namely a calculation of branch metric values and path and survivor metric values of an implementation of the Viterbi algorithm:

- 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 for each of the two computations of path and survivor metric values, two add-on hardware modules and one hardware module of

soustraction, quatre modules matériels de soustraction supplémentaires pour le calcul des quatre valeurs de métriques de branches BmOO, BmOl , Bm10 et Bm11. 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 = BmO1, Ref-d = Bm11, 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 + Bm1O, 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 + BmO1, 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 + Bm11, 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 PO + Bm00 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 + Bm11 permettant d'en déduire la valeur de Viti . 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 El (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 : S1=E1+S2, S2 = E4 û E3, S3=E6ûS2. Si l'on considère maintenant les modules 24, 32 et 34 du deuxième opérateur d'additions/soustractions 38, en notant El (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 : S1=E1+S2, S2 = E4+ E3, S3=E6ùS2. Si l'on considère maintenant les modules 56, 58 et 60 du troisième opérateur d'additions/soustractions 68, en notant El (Ref-c) et E2 (P1) les deux entrées du module d'addition 58, E5 (Ref-a) et E6 (P0) les deux entrées du module d'addition 56, S1 (P1+Bm10) la sortie du module d'addition 58, S2 (P0+Bm00-(P1+Bm10)) 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 : S1= E1 + E2, S2 = S3 ù S1, S3=E5+E6. 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+Bm11) la sortie du module d'addition 64, S2 (P0+Bm01-(P1+Bm11)) 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. subtraction, four additional subtraction hardware modules for calculating the four branch metric values BmOO, BmOl, Bm10 and Bm11. In all, ten material add / subtract modules are used by this throttle operator, as shown in FIG. 6. If PO and P1 are the two path metrics calculated in the previous cycle, Ref the value received and a, b, c, d the four possible output values, then the butterfly operator 46 illustrated in FIG. 6 comprises at a first sequential level: four subtraction modules 48, 50, 52 and 54 for respectively carrying out b = BmO1, Ref-d = Bm11, Ref-c = Bm10 and Ref-a = BmOO, at a second sequential level: an addition module 56 receiving the output data of the module 54 and the variable PO to realize the operation PO + BmOO, an addition module 58 receiving the output data of the module 52 and the variable P1 to perform the operation P1 + Bm1O, an addition module 62 receiving the output data of the module 48 and the variable PO to perform the operation PO + BmO1, and an addition module 64 received the output data of the module 50 and the variable P1 to perform the operation P1 + Bm11, and at a third sequential level: a subtraction module 60 receiving the output data of the modules 56 and 58 for a comparison of PO + Bm00 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 + Bm11 making it possible to deduce the value of Viti . It will be noted that 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 above, differs by the interconnections between the addition and subtraction modules. According to the invention, a generic addition / subtraction material operator of predetermined structure but configurable using at least one parameter is proposed. It appears that the structures of the throttle operator 10 of FFT and of the operator Viterbi 46 imply hardware configurations making it possible to envisage a pooling of their operators 36, 38, 68 and 70, by means of a parameterization of certain modules of addition / subtraction of these operators and links using multiplexers for example. This possible pooling, an example of which is illustrated in FIG. 7, results from the fact that the two aforementioned pairs of operators, the pair of operators 36 and 38 on the one hand for the FFT, the pair of operators 68 and 70 on the other hand for the Viterbi algorithm, comprise an identical distribution of the addition / subtraction modules (2x3) and a systematic connection between one of the modules and the two others of the same operator. It appears more clearly in a common mathematical representation of the respective inputs and outputs of the operators considered. Thus, if we consider the modules 22, 28 and 30 of the first additions / subtractions operator 36, noting El (e) one of the two inputs of the addition module 28, E3 (bd) and E4 ( ac) the two inputs of the subtraction module 22, E6 (e) one of the two inputs of the subtraction module 30, S1 (ac-bd + e) the output of the addition module 28, S2 (ac-bd) the output of the subtraction module 22 and S3 (-ac + bd + e) the output of the subtraction module 30, the following set of relations is obtained: S1 = E1 + S2, S2 = E4 û E3, S3 = E6ûS2. If we now consider the modules 24, 32 and 34 of the second additions / subtractions operator 38, noting El (f) one of the two inputs of the addition module 32, E3 (ad) and E4 (bc ) the two inputs of the addition module 24, E6 (f) one of the two inputs of the subtraction module 34, S1 (ad + bc + f) the output of the addition module 32, S2 (ad + bc) the output of the addition module 24 and S3 (-ad-bc + f) the output of the subtraction module 34, we obtain the following set of relations: S1 = E1 + S2, S2 = E4 + E3, S3 = E6uS2. If we now consider the modules 56, 58 and 60 of the third additions / subtractions operator 68, noting El (Ref-c) and E2 (P1), the two inputs of the addition module 58, E5 (Ref. a) and E6 (P0) the two inputs of the addition module 56, S1 (P1 + Bm10) the output of the addition module 58, S2 (P0 + Bm00- (P1 + Bm10)) the output of the subtraction module 60 and S3 (P0 + Bm00) the output of the addition module 56, the following set of relations is obtained: S1 = E1 + E2, S2 = S3 - S1, S3 = E5 + E6. Finally, if we now consider the modules 62, 64 and 66 of the fourth addition / subtraction operator 70, noting E1 (Ref-d) and E2 (P1) the two inputs of the addition module 64, E5 ( Ref-b) and E6 (P0) the two inputs of the addition module 62, S1 (P1 + Bm11) the output of the addition module 64, S2 (P0 + Bm01- (P1 + Bm11)) the output of the module subtracting 66 and S3 (P0 + Bm01) the output of the addition module 62, we obtain the same set of relations as the previous one.

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 /3) près : S1=E1+aE2+(1ùa)S2, S2=aS3+(ù1)eaS1+(1ùa)E4+(ù1)e(1ùa)E3, S3=E6+aE5ù(1ùa)S2. On obtient le premier opérateur 36 avec (a, /3) = (0, 1), le deuxième opérateur 38 avec (a, /3) = (0, 0) et les troisième et quatrième opérateurs avec (a, /3) = (1, 1). From these three sets of relations, we can deduce a fourth, common to the four operators mentioned above, with two binary parameters (a and / 3): S1 = E1 + aE2 + (1a) S2, S2 = aS3 + (ù1) eaS1 + (1a) E4 + (ù1) e (1αa) E3, S3 = E6 + aE5ù (1αa) S2. The first operator 36 is obtained with (a, / 3) = (0, 1), the second operator 38 with (a, / 3) = (0, 0) and the third and fourth operators with (a, / 3) = (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 /3=0 et soustracteur pour /3=1) recevant la sortie d'un premier multiplexeur, commandé en fonction de la valeur du paramètre a, fournissant S1 (a =1) 14 ou E3 (a =0), et la sortie d'un second multiplexeur, commandé en fonction de la valeur du paramètre a, 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 (a =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. From this fourth set of relations, it is possible to deduce a common operator comprising at least: a hardware addition module receiving E1 and the output of a multiplexer, controlled according to the value of the parameter a, providing E2 (a = 1) or S2 (a = 0), a material addition / subtraction module (adder for / 3 = 0 and subtractor for / 3 = 1) receiving the output of a first multiplexer, controlled according to the value of the parameter a, supplying S1 (a = 1) 14 or E3 (a = 0), and the output of a second multiplexer, controlled as a function of the value of the parameter a, providing S3 (a = 1) or E4 (a = 0 ), a material addition / subtraction module (adder for a = 0 and subtractor for a = 1) receiving E6 and the output of a multiplexer, controlled according to the value of the parameter a, providing E5 (a = 1) or S2 (a = 0). More advantageously, the generic operator 72 illustrated in FIG. 7 meets these minimum requirements, but also makes it possible to envisage other applications of arithmetic calculations.

Il 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 /31 (additionneur si ,61=0 ou soustracteur si /31=1), recevant El et la sortie d'un premier multiplexeur 80, commandé en fonction de la valeur d'un paramètre a1, fournissant E2 (a1=1) ou S2 (a1=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 /32 (additionneur si /32=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 (a2=1) ou E3 (a2=0), et la sortie d'un troisième multiplexeur 84, commandé en fonction de la valeur d'un paramètre a3, fournissant E4 (a3=1) ou S3 (a3=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 /33 (additionneur si /33=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 a4, fournissant S2 (a4=1) ou E5 (a4=0), et fournissant S3. On en déduit le jeu de relations paramétrable suivant : S1= El+ (ù1) el [a1.E2+ (1ù al)S2], S2 = [(1ù a3)S3 + a3.E4]+ (ù1)e2 e2[a2.S(1ù a2).E3], S3 = E6 + (ù1)e' [(1ù a4)E5 ù a4.S 2]. En jouant sur les sept paramètres binaires précités (a1, a2, a3, a4, /31, /32, /33), 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. It has six input ports E1, E2, E3, E4, E5 and 6 and three output ports S1, S2 and S3. It further comprises a first addition / subtraction module 74 configurable as an adder or subtractor as a function of a parameter / 31 (adder if, 61 = 0 or subtracter si / 31 = 1), receiving El and the output of a first multiplexer 80, controlled according to the value of a parameter a1, providing E2 (a1 = 1) or S2 (a1 = 0), and providing S1. It further comprises a second addition / subtraction module 76 configurable as an adder or subtractor according to a parameter / 32 (adder if / 32 = 0 or subtracter if / 32 = 1), receiving the output of a second multiplexer 82, controlled according to the value of a parameter a2, providing S1 (a2 = 1) or E3 (a2 = 0), and the output of a third multiplexer 84, controlled according to the value of a parameter a3 , providing E4 (a3 = 1) or S3 (a3 = 0), and providing S2. Finally, it further comprises a third addition / subtraction module 78 that can be configured as adder or subtractor as a function of a parameter / 33 (adder si / 33 = 0 or subtracter si / 33 = 1), receiving E6 and the output d a fourth multiplexer 86, controlled according to the value of a parameter a4, providing S2 (a4 = 1) or E5 (a4 = 0), and providing S3. From this we deduce the following set of configurable relations: S1 = El + (ù1) el [a1.E2 + (1ùal) S2], S2 = [(1u3) S3 + a3.E4] + (ù1) e2 e2 [a2. S (1? A2) .E3], S3 = E6 + (ù1) e '[(1α a4) E5 ù a4S2]. By playing on the above-mentioned seven binary parameters (a1, a2, a3, a4, / 31, / 32, / 33), it is possible to obtain not only the configurations of the operators 36, 38, 68 and 70, but also of other configurations that can be used for processing other than the aforementioned FFT and Viterbi calculations.

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 (a1, a2, a3, a4, /31, /32, /33) = (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 (a1, a2, a3, a4, /31, /32, /33) = (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 (a1, a2, a3, a4, /31, /32, /33) = (1, 0, 1, 0, /31, /32, /33), quelles que soient les valeurs binaires de /31, /32, /33, 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 11, lorsque (a1, a2, a3, a4, /31, /32, /33) = (1, 1, 1, 1, /31, /32, /33), quelles que soient les valeurs binaires de /31, /32, /33, 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 /3 en notant la corrélation entre les coefficients a1, a2, a3, a4, /31, /32, /33 dans les quatre configurations minimales exigées que sont les opérateurs 36, 38, 68 et 70. En effet, dans ces quatre configurations, (a1, a2, a3, a4, /31, /32, /33) = (a, a, 1-a, 1-a, 0, /3, 1-a), avec, comme indiqué précédemment, (a, /3) = (0, 1) pour le premier opérateur 36, (a, /3) = (0, 0) pour le deuxième opérateur 38 et (a, /3) = (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 /3) 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. It should be noted that, in practice, it is necessary to introduce memory elements at the output and / or input of the adders / subtractors to solve the indeterminacy produced by the loopbacks. Thus, as shown in FIG. 8, when (a1, a2, a3, a4, / 31, / 32, / 33) = (0, 0, 1, 1, 0, 1, 1) or (0, 0, 1, 1, 0, 0, 1), the generic operator 72 behaves respectively as the operator 36 or 38. As shown in FIG. 9, when (a1, a2, a3, a4, / 31, / 32, / 33) = (1, 1, 0, 0, 0, 1, 0), the generic operator 72 behaves like the operator 68 or 70. Furthermore, by way of example and as shown in FIG. when (a1, a2, a3, a4, / 31, / 32, / 33) = (1, 0, 1, 0, / 31, / 32, / 33), regardless of the binary values of / 31, / 32, / 33, the generic operator 72 performs several (in this case three) independent addition and / or subtraction operations: E1 +/- E2 = S1, E3 +/- E4 = S2, E5 +/- E6 = S3. Finally, by way of example again and as shown in FIG. 11, when (a1, a2, a3, a4, / 31, / 32, / 33) = (1, 1, 1, 1, / 31, / 32 , / 33), regardless of the binary values of / 31, / 32, / 33, the generic operator 72 performs several (in this case three) cascading addition and / or subtraction operations: [(E1 +/- E2) +/- E4] +/- E6. Note that we find a possible minimal parameterization of the generic operator 72 using the two binary parameters a and / 3 by noting the correlation between the coefficients a1, a2, a3, a4, / 31, / 32 , / 33 in the four minimum configurations required that are the operators 36, 38, 68 and 70. Indeed, in these four configurations, (a1, a2, a3, a4, / 31, / 32, / 33) = (a , a, 1-a, 1-a, 0, / 3, 1-a), with, as previously indicated, (a, / 3) = (0, 1) for the first operator 36, (a, / 3 ) = (0, 0) for the second operator 38 and (a, / 3) = (1, 1) for the third and fourth operators 68 and 70. From the generic operator 72, it is possible to design a data processing processor comprising at least one parameterizable common butterfly operator (using at least the parameters a and / 3) capable of performing a fast Fourier transform calculation in a first configuration and a calculation of values of branch metrics e t values of path and survivor metrics of an implementation of the Viterbi algorithm in a second configuration, by pooling at least one operator such as the operator 72 to perform the functions of the operators 36, 38, 68 and 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). Thus, while the FFT and Viterbi algorithms are different both in the data they process and in the functions they perform, the pooling of material modules of subtraction and / or addition with the aid of operator such as the operator 72 and the design of a common structure are made possible by the original highlighting of a similarity in operation of butterfly operators that they implement. In terms of hardware complexity, a generic operator such as operator 72 is equivalent to an operator such as any one of operators 36, 38, 68 and 70. Thus, it is possible to confer a "generic" character on a user. data processing processor by implementing the generic operator instead of operators 36, 38, 68 or 70 specific to an FFT or Viterbi algorithm. In addition, the use of this generic operator can result in a gain in complexity by reducing the hardware resources actually implemented. Consider the maximum of butterfly operators required by the current standards and a percentage of each butterfly operator, the latter percentage representing the parallelism rate of the implementation, that is to say the number of operators actually implemented. For a pair of percentages relating to the Viterbi and FFT algorithms, it is possible to calculate the potentially achievable gain by replacing the specific addition / subtraction operators by the aforementioned generic operator in an amount equal to the maximum number of necessary operators. for one or other of the two algorithms. Thus, 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.

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 multi 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 multinormes. 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.11a, 802.11g (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 oeuvre 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 oeuvre de l'enseignement qui vient de lui être divulgué. 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. Consequently, a processor including at least one generic operator 72 such as that described above is advantageously integrated in a multi-carrier modulating / demodulating telecommunication terminal 88 of the transmitted / received signals and decoding of signals processed by a convolutional code as illustrated in FIG. FIG. 12. The applications of 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 multinorm terminal. Indeed, many standards implement, for example, OFDM modulation (FFT calculation) and require a convolutional code decoding (Viterbi algorithm), among which: DAB digital terrestrial broadcasting, terrestrial digital broadcasting (DVB-T, DVB-H), T-DMB digital terrestrial broadcasting, DRM digital broadcasting, wired links: ADSL, VDSL, Homeplug modem, cable modem (Docsis standard), standards-based wireless networks 802.11a, 802.11g (Wi-Fi), 802.16 (WiMAX) and HiperLAN, Next Generation Mobile Networks (4G). This list is of course not exhaustive since almost all current or studied standards use an OFDM modulation and / or a Viterbi decoding. In addition, recent work has shown that FFT can be applied to more diverse operations than simple modulation. In particular, it can be used for correlation calculations, the genesis of FIR type filters, channel estimation or the detection of several users. Likewise, the Viterbi algorithm has been extended in previous studies to the decoding of Turbos Codes. Thus, the proposed generic operator 72 can be used by a majority of single or multi-standard telecommunication terminal functions. It facilitates their integration by the implementation of homogeneous processing blocks comprising configurable generic operators. Finally, note that the invention is not limited to the embodiment envisaged. It will be apparent to those skilled in the art that various modifications can be made to the embodiment described above, in the light of the teaching that has just been disclosed. In the following claims, the terms used are not to be construed as limiting the claims to the embodiment set forth in this description, but must be interpreted to include all the equivalents that the claims are intended to cover by reason of their formulation and whose prediction is within the reach of the person skilled in the art by applying his general knowledge to the implementation of the teaching which has just been disclosed to him.

Claims (10)

REVENDICATIONS1. 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 (El, 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 (a1, a2, a3, a4, /31, /32, /33), 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, 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. REVENDICATIONS1. A hardware add / subtract operator (72) comprising a plurality of hardware add / subtract modules (74, 76, 78) and a plurality of data links between these modules, on the one hand, and between inputs (E1, E2, E3, E4, E5, E6) and outputs (S1, S2, S3) of the operator and these modules, on the other hand, according to a predetermined structure for carrying out arithmetic calculations, characterized in that at least a portion (74, 76, 78) of the operator addition / subtraction hardware modules and at least a portion (80, 82, 84, 86) of links between these modules are configurable using at least one programmable parameter (a1, a2, a3, a4, / 31, / 32, / 33), at least between a first configuration in which the operator finalizes (72) a calculation of real parts of transform coefficients of Fast Fourier, a second configuration in which the operator finalizes a calculation of imaginary parts of transformer coefficients Fast Fourier RME, and a third configuration in which the operator performs computation of path and survivor metric values of an implementation of the Viterbi algorithm. 2. Opérateur matériel d'additions/soustractions (72) selon la revendication 1, dans lequel les modules matériels d'addition/soustraction et les liens configurables sont en outre configurables à l'aide dudit au moins un paramètre programmable (a1, a2, a3, a4, /31, /32, /33), dans une quatrième configuration dans laquelle l'opérateur (72) 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. The add / subtract hardware operator (72) according to claim 1, wherein the add / subtract hardware modules and the configurable links are further configurable using said at least one programmable parameter (a1, a2, a3, a4, / 31, / 32, / 33), in a fourth configuration in which the operator (72) performs several independent addition and / or subtraction operations and a fifth configuration in which the operator finalizes a cascade addition and / or subtraction operations. 3. Opérateur matériel d'additions/soustractions (72) selon la revendication 1 ou 2, 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 (/33), entre une configuration d'additionneur et une configuration de soustracteur. A hardware add / subtract operator (72) according to claim 1 or 2, comprising a first configurable hardware / add module (74), using a first binary parameter (/ 31), between an adder configuration and a subtractor configuration, a second configurable add / subtract hardware module (76), using a second binary parameter (/ 32), between an adder configuration and a configuration of subtractor, and a third hardware add / subtract module (78) configurable, using a third binary parameter (/ 33), between an adder pattern and a subtractor pattern. 4. Opérateur matériel d'additions/soustractions (72) selon la revendication 3, 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 (a1), entre une configuration de fourniture d'une donnée d'entrée (El) 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 (a2), 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 (Si) 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 (a3), 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 (a4), 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). A hardware add / subtract operator (72) according to claim 3, comprising: a first link (80) for providing an operand value to the first configurable module (74), using a first multiplexing parameter (a1), between an input data supply configuration (El) of the operator (72) and an output supply configuration (S2) of the second configurable module (76), a second a link (82) for providing a first operand value to the second configurable module (76), using a second multiplexing parameter (a2), between an input data provisioning configuration ( E3) of the operator (72) and an output supply configuration (Si) of the first configurable module (74), a third link (84) for providing a second operand value to the second configurable module (76). ), using a third multiplexing parameter (a3), between a configuration of supply of input data (E4) of the operator (72) and an output supply configuration (S3) of the third configurable module (78), and a fourth link (86) for providing an operand value to the third configurable module ( 78), using a fourth multiplexing parameter (a4), between an input data supply (E6) configuration of the operator (72) and an output supply configuration (S2). ) of the second configurable module (76). 5. Opérateur matériel d'additions/soustractions (72) selon la revendication 4, 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 (a1, a2, a3, a4). 25 The add / subtract hardware operator (72) according to claim 4, wherein each configurable link comprises a multiplexer (80, 82, 84, 86) having two inputs and an output and selecting one of the two inputs using a binary parameter (a1, a2, a3, a4). 25 6. 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 à 5, l'opérateur papillon étant configurable, à l'aide dudit paramètre programmable (a1, a2, a3, a4, /31, /32, /33), entre une première configuration dans laquelle il réalise un 30 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. A digital data processing processor comprising at least one throttle operator (10, 46) including at least one material add / subtract operator (72) according to any of claims 1 to 5, the throttle operator being configurable using said programmable parameter (a1, a2, a3, a4, / 31, / 32, / 33) between a first configuration in which it performs fast Fourier transform computation 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 Viterbi algorithm. 7. Processeur de traitement de données numériques selon la revendication 6, comportant une pluralité d'opérateurs papillons (10, 46) configurables entre ladite 35 première configuration dans laquelle chaque opérateur papillon réalise ledit calcul de 10 15 20transformé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. A digital data processor according to claim 6, including a plurality of butterfly operators (10, 46) configurable between said first configuration in which each throttle operator performs said Fast Fourier Transform calculation and said second configuration. wherein each throttle operator performs a calculation of branch metric values and path and survivor metric values of an implementation of the Viterbi algorithm, which throttle operators are structured together for fast Fourier transform calculation by a Cooley-Tukey algorithmic approach in lattice type Radix-2 and for an implementation of the lattice Viterbi algorithm with four reference symbols. 8. 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 à 5. A multi-carrier modulating / demodulating telecommunications terminal (136) for transmitting / receiving signals and decoding signals processed by a convolutional code, comprising at least one hardware add / subtract operator (72) according to any one of Claims 1 to 5. 9. Terminal de télécommunication (136) selon la revendication 8, à modulation et démodulation de type OFDM. 9. Telecommunication terminal (136) according to claim 8, modulation and demodulation OFDM type. 10. Terminal de télécommunication (136) selon la revendication 9, 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. 10. Telecommunication terminal (136) according to claim 9, of the multi-standards type, comprising at least one modulator / demodulator with modulation and demodulation OFDM compatible with each implemented standard and at least one signal decoder coded by a convolutional code compatible with each standard implemented.
FR0958501A 2009-11-30 2009-11-30 OPERATOR ADDITION / SUBTRACTION EQUIPMENT, PROCESSOR AND TELECOMMUNICATION TERMINAL INCLUDING SUCH AN OPERATOR Expired - Fee Related FR2953310B1 (en)

Priority Applications (5)

Application Number Priority Date Filing Date Title
FR0958501A FR2953310B1 (en) 2009-11-30 2009-11-30 OPERATOR ADDITION / SUBTRACTION EQUIPMENT, PROCESSOR AND TELECOMMUNICATION TERMINAL INCLUDING SUCH AN OPERATOR
US13/512,046 US9087002B2 (en) 2009-11-30 2010-11-29 Addition/subtraction hardware operator, processor and telecommunication terminal including an operator of this type
EP10805616A EP2507721A1 (en) 2009-11-30 2010-11-29 Hardware addition/subtraction operator, processor and telecommunication terminal including such an operator
PCT/FR2010/052566 WO2011064515A1 (en) 2009-11-30 2010-11-29 Hardware addition/subtraction operator, processor and telecommunication terminal including such an operator
JP2012540487A JP5776986B2 (en) 2009-11-30 2010-11-29 Addition / subtraction hardware computing unit, processor, and mobile communication terminal including the processor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR0958501A FR2953310B1 (en) 2009-11-30 2009-11-30 OPERATOR ADDITION / SUBTRACTION EQUIPMENT, PROCESSOR AND TELECOMMUNICATION TERMINAL INCLUDING SUCH AN OPERATOR

Publications (2)

Publication Number Publication Date
FR2953310A1 true FR2953310A1 (en) 2011-06-03
FR2953310B1 FR2953310B1 (en) 2012-08-17

Family

ID=42735339

Family Applications (1)

Application Number Title Priority Date Filing Date
FR0958501A Expired - Fee Related FR2953310B1 (en) 2009-11-30 2009-11-30 OPERATOR ADDITION / SUBTRACTION EQUIPMENT, PROCESSOR AND TELECOMMUNICATION TERMINAL INCLUDING SUCH AN OPERATOR

Country Status (5)

Country Link
US (1) US9087002B2 (en)
EP (1) EP2507721A1 (en)
JP (1) JP5776986B2 (en)
FR (1) FR2953310B1 (en)
WO (1) WO2011064515A1 (en)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1758030A1 (en) * 2005-08-22 2007-02-28 Matsushita Electric Industrial Co., Ltd. Dynamically reconfigurable shared baseband engine

Family Cites Families (7)

* Cited by examiner, † Cited by third party
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 (en) * 2003-07-09 2010-03-03 株式会社日立製作所 Semiconductor integrated circuit
JP4796339B2 (en) * 2005-06-20 2011-10-19 Okiセミコンダクタ株式会社 Memory read and write methods
JP2009245407A (en) * 2008-04-01 2009-10-22 Dainippon Printing Co Ltd Product-sum operation device and product-sum operation method for complex number
JP4814969B2 (en) * 2009-03-23 2011-11-16 富士通株式会社 Semi-fixed circuit

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1758030A1 (en) * 2005-08-22 2007-02-28 Matsushita Electric Industrial Co., Ltd. Dynamically reconfigurable shared baseband engine

Non-Patent Citations (7)

* Cited by examiner, † Cited by third party
Title
ALAUS L ET AL: "Promising technique of parametrization for reconfigurable radio, the common operator technique: fundamentals and examples", JOURNAL OF SIGNAL PROCESSING SYSTEMS, 14 March 2009 (2009-03-14), XP002602258 *
CATALOGUE SUDOC: "Architecture reconfigurable pour équipement radio multistandard", THÈSE DE LAURENT ALAUS SOUTENUE LE 28 MAI 2010 À SUPELEC-RENNES, XP007915074, Retrieved from the Internet <URL:http://corail.sudoc.abes.fr/xslt/DB=2.1/SET=2/TTL=1/REL?PPN=146157869> [retrieved on 20100924] *
CHUL Y JUNG ET AL: "Design of reconfigurable coprocessor for communication systems", IEEE WORKSHOP ON SIGNAL PROCESSING SYSTEMS 2004 (SIPS 2004), 13-15 OCTOBER 2004, 2004, pages 142 - 147, XP002602257 *
HYUNSEOK LEE ET AL: "A low-power DSP for wireless communications", IEEE TRANSACTIONS ON VERY LARGE SCALE INTEGRATION (VLSI) SYSTEMS, vol. 18, no. 9, 25 August 2010 (2010-08-25), pages 1310 - 1322, XP002602259 *
LANGE H ET AL: "Reconfigurable multiply-accumulate-based processing element", PROCEEDINGS OF THE 2002 IEEE WORKSHOP ON HETEROGENEOUS RECONFIGURABLE SYSTEMS ON CHIP, 25 APRIL 2002, HAMBURG, GERMANY, 2002, pages 1 - 4, XP002541030 *
TIAN HANGPEI ET AL: "Gaining flexibility and performance of computing using tailored instruction set and reconfigurable architecture", 2008 INTERNATIONAL CONFERENCE ON MULTIMEDIA AND UBIQUITOUS ENGINEERING (MUE 2008), 24-26 APRIL 2008, BUSAN, KOREA, 24 April 2008 (2008-04-24), pages 324 - 329, XP031263708, ISBN: 978-0-7695-3134-2 *
YUAN-HAO HUANG ET AL: "A 1.1 G MAC/s sub-word-parallel digital signal processor for wireless communication applications", IEEE JOURNAL OF SOLID-STATE CIRCUITS, vol. 39, no. 1, January 2004 (2004-01-01), pages 169 - 183, XP011105699, ISSN: 0018-9200 *

Also Published As

Publication number Publication date
US9087002B2 (en) 2015-07-21
JP5776986B2 (en) 2015-09-09
FR2953310B1 (en) 2012-08-17
JP2013512492A (en) 2013-04-11
WO2011064515A1 (en) 2011-06-03
US20120263212A1 (en) 2012-10-18
EP2507721A1 (en) 2012-10-10

Similar Documents

Publication Publication Date Title
EP2460275B1 (en) Correction of analog defects in parallel analog-to-digital converters, in particular for multi-standard, software-defined radio and/or cognitive radio applications
FR2798542A1 (en) ORTHOGONAL FREQUENCY DIVISION MULTIPLEXING RECEIVER WITH ITERATIVE CHANNEL ESTIMATION AND RELATED METHOD
EP1864383A1 (en) Interleaving with iterative calculation of interleaving addresses
FR2814011A1 (en) OPTIMAL ESTIMATION METHOD OF A PROPAGATION CHANNEL BASED ONLY ON PILOT SYMBOLS AND CORRESPONDING ESTIMATOR
Li et al. Implementation of a fully-parallel turbo decoder on a general-purpose graphics processing unit
FR2960990A1 (en) DIGITAL PIPELINE OPERATOR DIGITAL DATA PROCESSOR FOR EXECUTING AN FFT / IFFT AND TELECOMMUNICATION DEVICE
FR2944660A1 (en) LDPC DECODER
FR2783120A1 (en) DIGITAL EQUALIZATION PROCESS, AND RADIOCOMMUNICATION RECEIVER IMPLEMENTING SUCH A PROCESS
FR2953356A1 (en) DIGITAL OPERATOR DATA PROCESSOR FOR EXECUTING AN FFT / IFFT AND TELECOMMUNICATION TERMINAL
EP1964348B1 (en) Method for receiving a multicarrier signal, corresponding transmission method, receiver and transmitter
FR2953310A1 (en) OPERATOR ADDITION / SUBTRACTION EQUIPMENT, PROCESSOR AND TELECOMMUNICATION TERMINAL INCLUDING SUCH AN OPERATOR
FR2593948A1 (en) DEVICE FOR COSINUS TRANSFORMATION OF A SAMPLE DIGITAL SIGNAL
WO2010112754A1 (en) Transmission method and device with symbol time-frequency mapping in sub-channels
WO2015033080A1 (en) Processor for processing digital data having a butterfly operator configurable between a fft/ifft computation and a channel decoding and corresponding telecommunication device
US20080143565A1 (en) Dither methods for suppression of data-dependent activity variations
EP2091149A1 (en) Method and device for downconverting the sampling frequency of a digital signal.
EP1999918B1 (en) Method and device for receiving a data signal consisting of symbol blocks and corresponding computer program
Al Ghouwayel Contribution to the study of the common FFT operator in Software radio context: application to channel coding
FR2894738A1 (en) Low density parity code decoding complexity reducing method for communication channel, involves decomposing low density parity check code decoding function into sub-functions represented by check and bit node units and memory controller
FR2783119A1 (en) Digital equalizing method for signals received over radio channel, using zero forcing method to produce intermediate signal, then obtaining estimates of symbols by application of Viterbi algorithm
Chang et al. SPC08-5: Noise Model Analysis of Optimized Mixed-Radix Structures for Pulsed OFDM
WO2004049724A1 (en) Jbig arithmetic encoder
FR2830641A1 (en) Method for raising an argument to an exponential power, for cryptography use, using a processor capable of processing words of sufficient length with an exponent coded in words of k bits with k greater than one

Legal Events

Date Code Title Description
PLFP Fee payment

Year of fee payment: 7

PLFP Fee payment

Year of fee payment: 8

ST Notification of lapse

Effective date: 20180731