FR2916110A1 - Electronic multimode data shifting device for e.g. channel coding device, has control unit controlling multiplexers to deliver R input data on R number of predetermined outputs regardless of total value of desired shifting smaller than R - Google Patents

Electronic multimode data shifting device for e.g. channel coding device, has control unit controlling multiplexers to deliver R input data on R number of predetermined outputs regardless of total value of desired shifting smaller than R Download PDF

Info

Publication number
FR2916110A1
FR2916110A1 FR0755038A FR0755038A FR2916110A1 FR 2916110 A1 FR2916110 A1 FR 2916110A1 FR 0755038 A FR0755038 A FR 0755038A FR 0755038 A FR0755038 A FR 0755038A FR 2916110 A1 FR2916110 A1 FR 2916110A1
Authority
FR
France
Prior art keywords
stage
rank
inputs
input
multiplexing means
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
FR0755038A
Other languages
French (fr)
Other versions
FR2916110B1 (en
Inventor
Laurent Paumier
Vincent Heinrich
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.)
STMicroelectronics SA
Original Assignee
STMicroelectronics SA
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by STMicroelectronics SA filed Critical STMicroelectronics SA
Priority to FR0755038A priority Critical patent/FR2916110B1/en
Priority to US12/117,060 priority patent/US8126022B2/en
Publication of FR2916110A1 publication Critical patent/FR2916110A1/en
Application granted granted Critical
Publication of FR2916110B1 publication Critical patent/FR2916110B1/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/11Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1105Decoding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F5/00Methods or arrangements for data conversion without changing the order or content of the data handled
    • G06F5/01Methods or arrangements for data conversion without changing the order or content of the data handled for shifting, e.g. justifying, scaling, normalising
    • G06F5/015Methods or arrangements for data conversion without changing the order or content of the data handled for shifting, e.g. justifying, scaling, normalising having at least two separately controlled shifting levels, e.g. using shifting matrices
    • 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/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/11Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1148Structural properties of the code parity-check or generator matrix
    • H03M13/116Quasi-cyclic LDPC [QC-LDPC] codes, i.e. the parity-check matrix being composed of permutation or circulant sub-matrices
    • 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/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/11Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1148Structural properties of the code parity-check or generator matrix
    • H03M13/116Quasi-cyclic LDPC [QC-LDPC] codes, i.e. the parity-check matrix being composed of permutation or circulant sub-matrices
    • H03M13/1165QC-LDPC codes as defined for the digital video broadcasting [DVB] specifications, e.g. DVB-Satellite [DVB-S2]
    • 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/6502Reduction of hardware complexity or efficient processing
    • 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
    • H03M13/6519Support of multiple transmission or communication standards
    • 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/6522Intended application, e.g. transmission or communication standard
    • H03M13/6527IEEE 802.11 [WLAN]
    • 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/6522Intended application, e.g. transmission or communication standard
    • H03M13/6544IEEE 802.16 (WIMAX and broadband wireless access)

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Probability & Statistics with Applications (AREA)
  • Mathematical Physics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Time-Division Multiplex Systems (AREA)

Abstract

The device (DDC) has multiplexers with elemental inputs respectively coupled to two inputs taken among n number of inputs (E1-EN) in a manner not shifting multimode data (W1-WN) presented on elemental inputs of a shifting elemental value depending on altitude of a shifting stage, and a shifting direction is identical for the multiplexers of a configurable shifting circuit. A control unit (MCI) controls the different multiplexers to deliver R input data on R number of predetermined outputs (S1-SN) regardless of total value of desired shifting smaller than R.

Description

,13L ,...j CAS ALONGA & JOSSE Paris - Munich - Alicante - Grenoble, 13L, ... j CASE ALONGA & JOSSE Paris - Munich - Alicante - Grenoble

CONSEILS EN PROPRIÉTÉ INDUSTRIELLE EUROPEAN PATENT AND TRADEMARK ATTORNEYS 8, avenue Percier ù F 75008 PARIS Tél. : 33 (0)1 45 61 94 64 Fax : 33 (0)1 45 63 94 21 e-mail : paris@casalonga.com B06-3185FR ù FZ/EVH 06-GR1-134  INDUSTRIAL PROPERTY ADVICE EUROPEAN PATENT AND TRADEMARK ATTORNEYS 8, avenue Percier ù F 75008 PARIS Tel. : 33 (0) 1 45 61 94 64 Fax: 33 (0) 1 45 63 94 21 e-mail: paris@casalonga.com B06-3185EN ù FZ / EVH 06-GR1-134

Société Anonyme dite : STMicroelectronics SA Dispositif électronique de décalage de données multimodes, en particulier pour du codage/décodage avec un code LDPC. Invention de : Laurent PAUMIER Vincent HEINRICH Dispositif électronique de décalage de données multimodes, en particulier pour du codage/décodage avec un code LDPC. L'invention concerne les dispositifs de décalage de données qui sont en particulier utilisés pour effectuer une permutation cyclique des données d'entrée. De tels dispositifs sont par exemple utilisés de façon non limitative dans les dispositifs de codage de canal incluant les encodeurs utilisant des codes à base de blocs dont la matrice de parité présente une faible densité et plus connus de l'homme du métier sous la dénomination code LDPC ( Low Density Parity Check ), ou bien dans des dispositif de décodage de canal incluant les décodeurs LDPC, ou encore dans des dispositifs utilisant des turbos codes afin d'effectuer une partie de l'entrelacement de données.  The so-called STMicroelectronics SA is an electronic multi-mode data offset device, in particular for coding / decoding with LDPC code. Invention of: Laurent PAUMIER Vincent HEINRICH Electronic multimode data offset device, in particular for coding / decoding with an LDPC code. The invention relates to data shifters which are in particular used for performing a cyclic permutation of the input data. Such devices are for example used in a non-limiting manner in channel coding devices including encoders using block-based codes whose parity matrix has a low density and more known to those skilled in the art under the name code LDPC (Low Density Parity Check), or in channel decoding devices including LDPC decoders, or in devices using turbo codes to perform part of the data interleaving.

De tels codes sont proposés pour de nombreuses normes (802.11n, 802.16e, DVB-S2, ...). L'émergence de ces nombreuses normes requiert une flexibilité et une reconfigurabilité matérielles de ces dispositifs de décalage de données.  Such codes are proposed for many standards (802.11n, 802.16e, DVB-S2, ...). The emergence of these many standards requires hardware flexibility and reconfigurability of these data shifting devices.

Des dispositifs classiques de décalage de données sont connus par l'homme du métier sous la dénomination de circuits à décalage à barillet ( barrel shifters selon une dénomination anglo-saxonne communément utilisée par l'homme du métier). Ces circuits à décalage à barillet sont basés sur une architecture logarithmique de multiplexeurs et, lorsqu'ils sont de taille N (c'est-à-dire présentant N entrées et N sorties) ils offrent une solution simple pour effectuer un décalage cyclique de N données délivrées en entrée du circuit par un bus de taille N. Par contre, lorsque seule une partie du bus de données est utilisée, c'est-à-dire que lorsqu'on alimente le circuit à décalage à barillet avec un nombre de données inférieur à N, les sorties du circuit à décalage à barillet, sur lesquelles les données décalées sont délivrées, varient selon la valeur de décalage souhaitée. En d'autres termes, les fils de sortie réellement utilisés c'est-à-dire véhiculant les données de sortie décalées, ne sont pas les mêmes, pour une taille de bus donnée, en fonction de la valeur de décalage. Et ceci pose bien évidemment un problème lorsque l'on doit connecter un autre circuit en aval du circuit à décalage à barillet. Aussi, on voit tout de suite que ces circuits à décalage à barillet n'offrent pas une solution satisfaisante à la flexibilité et à la reconfigurabilité matérielles mentionnées ci-avant et requises pour satisfaire à l'émergence de normes différentes, sauf bien entendu à utiliser autant de circuits à décalage à barillet qu'il y a de tailles de bus à envisager, moyennant un dispositif de sélection approprié, ou bien un seul circuit à décalage à barillet présentant la taille maximale avec en aval un dispositif complexe de routage des fils configurable en fonction de la taille réelle du bus de données d'entrée. Or, ces deux solutions présentent un encombrement surfacique non négligeable et/ou des problèmes complexes de routage. Selon un mode de réalisation il est proposé un dispositif de décalage permettant de supporter toute taille de bus de 1 à N offrant ainsi un dispositif totalement reconfigurable. Selon un aspect, il est proposé un dispositif électronique de décalage capable de décaler des données d'une valeur globale de décalage souhaitée, comprenant N entrées aptes à recevoir simultanément R données d'entrée, R étant susceptible de prendre toutes les valeurs de 1 à N. Le dispositif comprend également N sorties et un circuit à décalage configurable connecté entre les N entrées et les N sorties et comportant une cascade d'étages de décalage.  Conventional data offset devices are known to those skilled in the art under the name of barrel shifters (barrel shifters according to an English name commonly used by those skilled in the art). These barrel shift circuits are based on a logarithmic architecture of multiplexers and, when of size N (i.e. having N inputs and N outputs) they provide a simple solution for cyclic shifting of N data delivered at the input of the circuit by a bus of size N. On the other hand, when only a portion of the data bus is used, that is to say that when the barrel shift circuit is fed with a number of data less than N, the outputs of the barrel shift circuit, on which the shifted data is output, vary according to the desired offset value. In other words, the output wires actually used, that is to say conveying the offset output data, are not the same for a given bus size, as a function of the offset value. And this obviously poses a problem when one has to connect another circuit downstream of the barrel shift circuit. Also, we see immediately that these barrel shift circuits do not offer a satisfactory solution to the hardware flexibility and reconfigurability mentioned above and required to meet the emergence of different standards, except of course to use as many barrel shift circuits as there are bus sizes to consider, by means of an appropriate selection device, or a single barrel shift circuit having the maximum size with downstream a complex configurable wire routing device depending on the actual size of the input data bus. However, these two solutions have a significant surface encumbrance and / or complex routing problems. According to one embodiment there is provided an offset device for supporting any bus size from 1 to N thus providing a completely reconfigurable device. According to one aspect, there is provided an electronic offset device capable of shifting data of a desired offset global value, comprising N inputs capable of simultaneously receiving R input data, R being capable of taking all values from 1 to N. The device also comprises N outputs and a configurable shift circuit connected between the N inputs and the N outputs and having a cascade of shift stages.

Le nombre d'étages dépend de N et chaque étage comporte au moins N moyens de multiplexage commandables. Chaque moyen de multiplexage d'un étage possède une première entrée élémentaire et une deuxième entrée élémentaire respectivement connectées directement ou indirectement, par exemple par l'intermédiaire d'un ou de plusieurs autres moyens de multiplexage, à une première entrée et à une deuxième entrée prises parmi les N entrées de façon à, sur commande, ne pas décaler une donnée présente sur ladite première entrée élémentaire et décaler une données présente sur la deuxième entrée élémentaire d'une valeur élémentaire de décalage qui dépend du rang de l'étage.  The number of stages depends on N and each stage comprises at least N controllable multiplexing means. Each multiplexing means of a stage has a first elementary input and a second elementary input respectively connected directly or indirectly, for example via one or more other multiplexing means, to a first input and a second input. taken from among the N inputs so as to, on command, not to shift a data present on said first elementary input and to shift a data present on the second elementary input of an elementary offset value which depends on the rank of the stage.

Par ailleurs, le sens de décalage, décalage à droite ou décalage à gauche, est identique pour tous les moyens de multiplexage du circuit. Le dispositif électronique de décalage comporte également des moyens de commande aptes à commander les différents moyens de multiplexage de façon à délivrer les R données d'entrée sur R sorties prédéterminées quelle que soit la valeur globale de décalage souhaitée qui est inférieure à R. Selon un mode de réalisation, le circuit à décalage comporte deux parties, l'une pouvant s'apparenter, du point de vue du nombre de moyens de multiplexage, à un circuit à décalage à barillet classique. Par contre, d'un point de vue connectique, il s'agit en fait d'un circuit à barillet modifié puisque tous les moyens de multiplexage de cette première partie sont connectés de façon à éventuellement décaler toujours dans le même sens. Le circuit à décalage comporte également une deuxième partie pouvant comporter éventuellement des moyens de multiplexage supplémentaires. En ce qui concerne la commande des moyens de multiplexage, celle-ci est plus complexe que pour un circuit à décalage à barillet classique car les moyens de multiplexage d'un étage de décalage donné ne sont pas forcément commandés de la même façon. Ainsi, selon un mode de réalisation, le circuit à décalage est, en ce qui concerne la commande des moyens de multiplexage, divisé virtuellement en deux parties, qui ne sont pas forcément les deux mêmes parties évoquées précédemment, la frontière entre ces deux parties dépendant de la valeur S+N-R, où S désigne la valeur globale de décalage souhaitée. Ainsi, selon un mode de réalisation, chaque étage de décalage comporte un premier groupe de moyens de multiplexage adjacents et un deuxième groupe de moyens de multiplexage adjacents, le nombre de moyens de multiplexage dans chaque groupe dépendant du rang de l'étage et de la valeur S+N-R où S désigne la valeur globale de décalage souhaitée, et les moyens de commande sont aptes à commander de façon indépendante les deux groupes de moyens de multiplexage de chaque étage, et de façon identique tous les moyens de multiplexage d'un groupe d'un étage, de façon à ce que les moyens de multiplexage de tous les premiers groupes réalisent un décalage total égal à s et que les moyens de multiplexage de tous les deuxièmes groupes réalisent un décalage total égal à S+N-R. Si les données d'entrées sont codées sur un seul bit, chaque moyen de multiplexage est en fait un multiplexeur. Par contre, si les données d'entrées sont codées sur plusieurs bits, chaque moyen de multiplexage est un ensemble de plusieurs multiplexeurs connectés en parallèle et respectivement associés aux bits de données. Chaque ensemble de multiplexeurs est commandable de façon individualisée et tous les multiplexeurs d'un même ensemble sont commandés de façon identique. Le dispositif de décalage peut être par exemple réalisé sous la forme d'un circuit intégré. Selon un autre aspect, il est également proposé un dispositif de codage de canal, en particulier apte à effectuer un encodage avec un code LDPC, incorporant un dispositif de décalage tel que défini ci-avant. Selon un autre aspect, il est aussi proposé un dispositif de décodage de canal, en particulier apte à effecteur un décodage de blocs encodés avec un code LDPC, incorporant un dispositif de décalage tel que défini ci-avant. D'autres avantages et caractéristiques de l'invention apparaîtront à l'examen de la description détaillée de modes de réalisation, nullement limitatifs, et des dessins annexés sur lesquels : -la figure 1 illustre schématiquement un mode de réalisation d'un dispositif de décalage de données ; - la figure 2 illustre schématiquement un moyen de multiplexage ; - les figures 3 et 4 illustrent schématiquement plus particulièrement un mode de réalisation d'un circuit à décalage incorporé dans le dispositif de décalage de données de la figure 1 ; - les figures 5 à 18 illustrent différents modes de réalisation et de fonctionnement d'un dispositif de décalage de données, - la figure 19 illustre schématiquement la structure interne d'une chaîne de communication, par exemple d'un appareil sans fil, incorporant des moyens de codage et de décodage de canal, et ; - la figure 20 illustre plus en détail mais toujours de façon schématique un mode de réalisation d'un décodeur LDPC incorporant un dispositif de décalage de données. Sur la figure 1, la référence DDC désigne un dispositif électronique de décalage comportant N entrées E l ù EN et N sorties S1 - SN. 15 Le dispositif DDC est apte à recevoir des données Wi en provenance d'un bus d'entrées BSE, et à délivrer des données décalées sur un bus de sortie B S S. Comme on le verra plus en détails ci-après, l'organisation de ces données aptes à être effectivement reçues en entrée du dispositif DDC, 20 peut être différente. Ainsi, par exemple, le dispositif DDC peut recevoir simultanément N données W 1 ù WN organisées par exemple en un seul groupe, ou bien un groupe de données dont la taille peut prendre une valeur quelconque supérieure ou égale à 1 et inférieure à N. 25 En d'autres termes, le dispositif DDC est ici un dispositif multimodes en ce sens qu'il est capable de traiter le cas d'un bus BSE de taille N, c'est-à-dire recevoir simultanément R=N données en entrée, ou bien le cas de bus de taille intermédiaire, c'est-à-dire recevoir en entrée sur le bus BSE un nombre R de données inférieur à N et supérieur ou 30 égal à 1. Et, quelle que soit l'organisation des données d'entrée, le dispositif DDC va délivrer les données de sortie décalées sur des sorties prédéterminées du dispositif DDC, et ce quelle que soit la valeur de décalage globale envisagée compatible avec l'organisation des données 35 d'entrée. 10 Ainsi, un exemple de valeur globale de décalage S compatible avec une organisation d'entrée est une valeur de décalage S inférieure à la taille R du groupe de données reçues. Le dispositif de décalage DDC comporte également des moyens de commande MC1 aptes à commander les différents moyens de multiplexage de façon à délivrer les R données d'entrée sur R sorties prédéterminées quelle que soit la valeur globale de décalage S souhaitée qui est inférieure à R. Plus particulièrement, chaque multiplexeur MUX comporte une première entrée élémentaire EM1 et une deuxième entrée élémentaire EM2, ainsi qu'une sortie SM. Selon la valeur du signal de commande cde; délivré par les moyens de commande MC1, la première entrée élémentaire EM1 ou bien la deuxième entrée élémentaire EM2 seront effectivement reliée à la sortie SM.  Moreover, the direction of shift, shift to the right or shift to the left, is identical for all the multiplexing means of the circuit. The electronic offset device also comprises control means able to control the various multiplexing means so as to deliver the R input data to R predetermined outputs regardless of the overall value of offset desired that is less than R. According to a In one embodiment, the shift circuit comprises two parts, one of which can be related, from the point of view of the number of multiplexing means, to a conventional barrel shift circuit. On the other hand, from a connection point of view, it is in fact a modified barrel circuit since all the multiplexing means of this first part are connected so as to possibly always shift in the same direction. The shift circuit also comprises a second portion possibly comprising additional multiplexing means. As regards the control of the multiplexing means, this is more complex than for a conventional barrel shift circuit because the multiplexing means of a given shift stage are not necessarily controlled in the same way. Thus, according to one embodiment, the shift circuit is, as regards the control of the multiplexing means, divided virtually into two parts, which are not necessarily the same two parts mentioned above, the boundary between these two dependent parts of the value S + NR, where S is the desired global offset value. Thus, according to one embodiment, each shift stage comprises a first group of adjacent multiplexing means and a second group of adjacent multiplexing means, the number of multiplexing means in each group depending on the rank of the stage and the S + NR value where S denotes the desired global offset value, and the control means are able to independently control the two groups of multiplexing means of each stage, and identically all the multiplexing means of a group. one stage, so that the multiplexing means of all the first groups perform a total offset equal to s and the multiplexing means of all the second groups perform a total offset equal to S + NR. If the input data is coded on a single bit, each multiplexing means is in fact a multiplexer. On the other hand, if the input data is coded on several bits, each multiplexing means is a set of several multiplexers connected in parallel and respectively associated with the data bits. Each set of multiplexers is individually controllable and all the multiplexers of the same set are controlled identically. The shifting device may for example be in the form of an integrated circuit. According to another aspect, it is also proposed a channel coding device, in particular able to perform an encoding with an LDPC code, incorporating an offset device as defined above. According to another aspect, it is also proposed a channel decoding device, in particular capable of effecting a decoding of blocks encoded with an LDPC code, incorporating an offset device as defined above. Other advantages and characteristics of the invention will appear on examining the detailed description of embodiments, in no way limiting, and the appended drawings in which: FIG. 1 schematically illustrates an embodiment of an offset device of data ; FIG. 2 schematically illustrates a multiplexing means; - Figures 3 and 4 schematically illustrate more particularly an embodiment of a shift circuit incorporated in the data shifter of Figure 1; FIGS. 5 to 18 illustrate various embodiments and operations of a data shifting device; FIG. 19 schematically illustrates the internal structure of a communication chain, for example a wireless device, incorporating channel coding and decoding means, and; FIG. 20 illustrates in more detail but always schematically an embodiment of an LDPC decoder incorporating a data shifter. In FIG. 1, the reference DDC designates an electronic offset device comprising N inputs E 1 ù EN and N outputs S1-SN. The DDC device is adapted to receive Wi data from a BSE input bus, and to output data shifted on an output bus BS S. As will be seen in more detail below, the organization of these data able to be actually received at the input of the DDC device, can be different. Thus, for example, the device DDC can simultaneously receive N data W 1 -WN organized for example in a single group, or a group of data whose size can take any value greater than or equal to 1 and less than N. 25 In other words, the DDC device is here a multimode device in that it is capable of handling the case of a BSE bus of size N, that is to say simultaneously receiving R = N input data. or the case of bus of intermediate size, that is to say receive as input on the bus BSE a number R of data less than N and greater than or equal to 1. And, whatever the organization of In the input data, the DDC device will output the offset output data to predetermined outputs of the DDC device, regardless of the overall offset value considered compatible with the organization of the input data. Thus, an example of an overall S offset value compatible with an input organization is an offset value S less than the size R of the received data group. The shift device DDC also comprises control means MC1 able to control the various multiplexing means so as to output the R input data to R predetermined outputs regardless of the overall value of offset S that is smaller than R. More particularly, each multiplexer MUX comprises a first elementary input EM1 and a second elementary input EM2, as well as an output SM. According to the value of the control signal cde; delivered by the control means MC1, the first elementary input EM1 or the second elementary input EM2 will actually be connected to the output SM.

Lorsque la première entrée élémentaire EM1 est reliée à la sortie SM, le multiplexeur MUX est dans un premier état ETT1 dans lequel, comme on le verra plus en détail ci-après, il ne décale pas une donnée présente sur ladite première entrée EM1. Par contre, lorsque la deuxième entrée élémentaire EM2 est reliée effectivement à la sortie SM, le multiplexeur MUX est dans un deuxième état ETT2 dans lequel il décale une donnée présente sur cette deuxième entrée élémentaire d'une valeur élémentaire de décalage qui dépend du rang de l'étage de décalage du circuit à décalage.  When the first elementary input EM1 is connected to the output SM, the multiplexer MUX is in a first state ETT1 in which, as will be seen in more detail below, it does not shift a data present on said first input EM1. On the other hand, when the second elementary input EM2 is effectively connected to the output SM, the multiplexer MUX is in a second state ETT2 in which it shifts a data present on this second elementary input of an elementary offset value which depends on the rank of the offset stage of the shift circuit.

On se réfère maintenant plus particulièrement aux figures 3 à 16 pour décrire plus en détail une première variante de réalisation concernant plus particulièrement un dispositif de décalage DDC apte à effectuer un décalage des données à gauche. Dans les exemples décrits ici, pour un groupe de R données (R inférieur ou égal à N et supérieur ou égal à 1) arrivant sur les R entrées El à ER du dispositif de décalage DDC, les R sorties prédéterminées sur lesquelles vont sortir les données décalées, quelle que soit la valeur de décalage globale S souhaitée, sont les R sorties de rang 1 à R référencées S1 à SR.  Reference will now be made more particularly to FIGS. 3 to 16 in order to describe in greater detail a first variant embodiment more particularly concerning a DDC shifter capable of shifting the data to the left. In the examples described here, for a given group of R (R less than or equal to N and greater than or equal to 1) arriving at the R inputs E1 to ER of the DDC shifter, the predetermined R outputs on which the data will be output. offset, regardless of the global offset value S desired, are the R outputs of rank 1 to R referenced S1 to SR.

Comme on le voit plus particulièrement sur les figures 3 et 4, le circuit à décalage CDC comporte une première partie PTA ayant une architecture régulière et une deuxième partie PTB. Le circuit à décalage CDC comporte une cascade d'étages de décalage ET; dont le nombre est fonction de N. Plus particulièrement, le nombre d'étages de décalage est égal à ceil(log2(N)), où ceil(X) désigne la fonction partie entière supérieure de X. Dans la partie PTA du circuit à décalage CDC à architecture régulière, chaque étage de décalage comporte N multiplexeurs MUX.  As seen more particularly in FIGS. 3 and 4, the CDC shift circuit comprises a first portion PTA having a regular architecture and a second part PTB. The CDC shift circuit comprises a cascade of AND shift stages; whose number is a function of N. More particularly, the number of shift stages is equal to ceil (log2 (N)), where ce (X) denotes the upper integer function of X. In the PTA part of the circuit to CDC shift to regular architecture, each shift stage has N multiplexers MUX.

Par ailleurs, un étage de décalage de rang i dans la cascade, comporte un nombre supplémentaire de multiplexeurs disposés dans la partie PTB. Ce nombre peut être éventuellement nul et il dépend d'une façon générale du rang i de l'étage ainsi que du nombre N. Plus précisément, chaque étage à décalage comporte ainsi au total un nombre de multiplexeurs égal à N+2i.floor N-21- -1)/2i , où floor(X) désigne la fonction partie entière inférieure de X et i désigne le rang de l'étage, le premier étage étant l'étage de rang i égal à 1. Tous ces multiplexeurs sont aptes à décaler dans le même sens de décalage (ici à gauche).  Furthermore, a shifting stage of rank i in the cascade comprises an additional number of multiplexers arranged in the PTB part. This number may be zero and it depends generally on rank i of the stage as well as the number N. More precisely, each shift stage thus has a total of a number of multiplexers equal to N + 2i.floor N -21- -1) / 2i, where floor (X) denotes the lower integer function of X and i denotes the rank of the stage, the first stage being the stage of rank i equal to 1. All these multiplexers are able to shift in the same direction of shift (here on the left).

I1 ressort ainsi de cette formule et du nombre d'étages de décalage que le dernier étage de la cascade ne comporte que N multiplexeurs, c'est-à-dire que ce dernier étage de décalage ne comporte aucun multiplexeur supplémentaire disposé dans la partie PTB.  It thus emerges from this formula and from the number of shifting stages that the last stage of the cascade comprises only N multiplexers, that is to say that this last shifting stage does not include any additional multiplexer arranged in the PTB part. .

Par ailleurs, comme on le voit plus particulièrement sur la figure 3, parmi les N entrées El-EN du dispositif DDC, N-1 entrées sont en fait dédoublées. I1 s'agit ici des N-1 entrées de rang 2 à N. Seule la première entrée de rang 1, référencée El, n'est pas dédoublée. En d'autres termes, si l'on se place au niveau du circuit à décalage CDC, celui-ci comporte au niveau de la partie PTA, N entrées que l'on peut qualifier ici d'entrées intermédiaires, et référencées Ela-ENa. Ces N entrées intermédiaires correspondent aux N entrées El-EN. Les N-1 entrées intermédiaires E2b-ENb qui correspondent virtuellement aux entrées de la deuxième partie PTB du circuit CDC sont au moins pour certaines d'entre elles respectivement reliées aux N-1 entrées correspondantes E2a-ENa, et par conséquent aux N1 entrées E2-EN. C'est la raison pour laquelle on parle d'un dédoublement des N-1 entrées E2-EN alors que seule l'entrée de rang 1, c'est-à-dire l'entrée E l n'est pas dédoublée. En fait, comme on le verra plus en détail ci-après, et notamment sur des exemples particuliers, pour le premier étage et si l'on considère uniquement la première partie PTA, seule l'entrée de rang N, EN, est dédoublée.  Moreover, as seen more particularly in FIG. 3, among the N inputs El-EN of the DDC device, N-1 inputs are in fact split. These are the N-1 entries of rank 2 to N. Only the first entry of rank 1, referenced El, is not split. In other words, if one places oneself at the level of the CDC shift circuit, the latter comprises, at the level of the PTA part, N inputs which can be described here as intermediate inputs, and referenced Ela-ENa. . These N intermediate inputs correspond to N inputs El-EN. The N-1 intermediate inputs E2b-ENb which correspond virtually to the inputs of the second PTB part of the CDC circuit are at least for some of them respectively connected to the N-1 corresponding inputs E2a-ENa, and therefore to the N1 inputs E2 -IN. This is the reason why we speak of a splitting of the N-1 inputs E2-EN while only the entry of rank 1, that is to say the input E l is not split. In fact, as will be seen in more detail below, and especially on particular examples, for the first stage and if we consider only the first portion PTA, only the entry of rank N, EN, is split.

Pour l'étage de rang 2 et si l'on considère uniquement la première partie PTA, les deux premières entrées à partir de la gauche, c'est-à- dire les entrées EN et EN-1 de rang N et N-1 sont dédoublées. Plus généralement, pour l'étage de rang i et si l'on considère uniquement la première partie PTA, les 21- 1 premières entrées à partir de la gauche sont dédoublées, c'est-à-dire qu'elles sont connectées à deux multiplexeurs de rangs différents de cet étage de rang i. Par ailleurs, puisque la taille du bus BSE peut prendre toutes les valeurs entre 1 et N, chacune des N données d'entrée a la possibilité d'être présente sur chacune des N sorties S1-SN.  For the tier 2 stage and considering only the first PTA part, the first two entries from the left, ie the EN and EN-1 entries of rank N and N-1 are split. More generally, for the stage of rank i and if we consider only the first part PTA, the first 21- 1 entries from the left are split, that is to say they are connected to two multiplexers of different ranks of this stage of rank i. Moreover, since the size of the BSE bus can take all the values between 1 and N, each of the N input data has the possibility of being present on each of the N outputs S1-SN.

Ainsi, dans le cas présent, la donnée présente sur l'entrée ENa peut uniquement être présente sur la sortie SN. Donc, cette donnée qui est également présente sur l'entrée ENb doit pouvoir être présente sur les sorties S1, S2, ..., SN-1. Par conséquent, la donnée d'entrée présente sur l'entrée ENb doit être capable d'être décalée vers la gauche d'une valeur de décalage égale à 1, 2, 3, ..., ou N-1. De même, compte tenu du sens de décalage, la donnée présente sur l'entrée EN-la peut uniquement être présente sur les sorties SN ou SN-1. De ce fait, cette donnée présente également sur l'entrée EN-lb doit pouvoir être capable d'être présente sur les sorties S1, S2, ..., SN- 2. Par conséquent, la donnée présente sur l'entrée EN-lb doit pouvoir être décalée vers la gauche d'une valeur de décalage égale à 2, 3, ..., ou N-1. La donnée présente sur l'entrée E3a peut être présente sur l'une des sorties S3 à SN. Ainsi, la donnée présente sur l'entrée E3b doit pouvoir être présente sur la sortie S1 ou S2. Par conséquent, la donnée présente sur l'entrée E3b doit pouvoir être décalée vers la gauche de N-2 ou de N-1. Enfin, la donnée présente sur l'entrée E2a peut être présente sur l'une quelconque des sorties S2 à SN. Ainsi, la donnée présente sur l'entrée E2b doit pouvoir être présente sur la sortie S1. Par conséquent, la donnée présente sur cette entrée E2b doit pouvoir être décalée vers la gauche de N-1. Plus généralement, la donnée présente sur l'entrée Ejb doit pouvoir être décalée vers la gauche de N-1, N-2, ..., ou N-j+l.  Thus, in the present case, the data present on the input ENa can only be present on the output SN. So, this data which is also present on the input ENb must be able to be present on the outputs S1, S2, ..., SN-1. Therefore, the input data present on the input ENb must be able to be shifted to the left by an offset value equal to 1, 2, 3, ..., or N-1. Similarly, given the offset direction, the data present on the EN-la input can only be present on the SN or SN-1 outputs. Therefore, this data also present on the input EN-lb must be able to be present on the outputs S1, S2, ..., SN-2. Therefore, the data present on the input EN- lb must be shifted to the left by an offset value of 2, 3, ..., or N-1. The data present on the input E3a can be present on one of the outputs S3 to SN. Thus, the data present on the input E3b must be present on the output S1 or S2. Therefore, the data present on the input E3b must be shifted to the left of N-2 or N-1. Finally, the data present on the input E2a may be present on any of the outputs S2 to SN. Thus, the data present on the input E2b must be present on the output S1. Therefore, the data present on this input E2b must be shifted to the left of N-1. More generally, the data present on the input Ejb must be shifted to the left of N-1, N-2, ..., or N-j + 1.

L'architecture du circuit à décalage CDC comportant la première partie PTA et la deuxième partie PTB permet de réaliser ces divers décalages comme il va maintenant être expliqué plus en détail sur des exemples plus particuliers de réalisation. Comme indiqué ci-avant, quelle que soit la partie du circuit à décalage CDC, tous les multiplexeurs MUX sont aptes à décaler une donnée toujours dans le même sens de décalage, ici à gauche. En d'autres termes, la deuxième entrée élémentaire EM2 d'un multiplexeur de rang r est toujours connectée, directement ou bien indirectement par l'intermédiaire d'au moins un autre multiplexeur, à une entrée Eq de rang q différent du rang du multiplexeur, par exemple de rang inférieur. En d'autres termes, cela se traduit graphiquement sur les figures 4 à 12 qui illustrent des décalages à gauche, par une connexion en oblique à droite des deuxièmes entrées élémentaires de tous les multiplexeurs MUX. Par ailleurs, chaque multiplexeur d'un étage de décalage de rang i est apte à décaler par l'intermédiaire de la deuxième entrée élémentaire, une donnée d'une valeur élémentaire de décalage qui est identique pour tous les multiplexeurs de cet étage. Cette valeur élémentaire de décalage est égale à 2'-' pour un étage de rang i, le premier étage étant l'étage de rang i égal à 1. Par ailleurs, comme expliqué ci-avant en des termes différents, les deuxièmes entrées élémentaires de tous les multiplexeurs d'un étage de décalage sont respectivement connectées directement ou indirectement à des entrées de rangs consécutifs, étant entendu que le rang N est considéré comme étant consécutif au rang 1. Ceci est illustré sur les exemples de réalisation des figures 5 à 12.  The architecture of the CDC shift circuit comprising the first part PTA and the second part PTB makes it possible to realize these various offsets as will now be explained in more detail on more particular examples of embodiment. As indicated above, whatever the part of the CDC shift circuit, all the MUX multiplexers are able to shift data always in the same direction of shift, here on the left. In other words, the second elementary input EM2 of a multiplexer of rank r is always connected, directly or indirectly via at least one other multiplexer, to an input Eq of rank q different from the rank of the multiplexer , for example of lower rank. In other words, this is shown graphically in FIGS. 4 to 12 which show offsets on the left, by an oblique connection to the right of the second elementary inputs of all the multiplexers MUX. Furthermore, each multiplexer of a shift stage of rank i is able to shift via the second elementary input, a piece of data of an elementary offset value which is identical for all the multiplexers of this stage. This elementary offset value is equal to 2'- 'for a stage of rank i, the first stage being the stage of rank i equal to 1. Moreover, as explained above in different terms, the second elementary inputs of all the multiplexers of an offset stage are respectively connected directly or indirectly to inputs of consecutive ranks, it being understood that the rank N is considered to be consecutive to the rank 1. This is illustrated on the embodiments of FIGS. 12.

Sur ces figures, à des fins de simplification, les entrées El-EN et les sorties S1-SN sont représentées uniquement par le numéro de leur rang 1 à N. Ainsi, sur la figure 5, qui illustre le cas N=3, les deuxièmes entrées élémentaires des multiplexeurs de rangs 3, 2 et 1 de l'étage ET1 sont respectivement liées aux entrées de rangs consécutives 2, 1 et 3. De même, les deuxièmes entrées élémentaires des multiplexeurs de rangs 3, 2 et 1 du deuxième étage ET2 sont respectivement reliées aux entrées de rangs consécutifs 1, 3 et 2.  In these figures, for purposes of simplification, the inputs El-EN and the outputs S1-SN are represented only by the number of their rank 1 to N. Thus, in FIG. 5, which illustrates the case N = 3, the second elementary inputs of the multiplexers of ranks 3, 2 and 1 of the stage ET1 are respectively linked to the inputs of consecutive ranks 2, 1 and 3. Similarly, the second elementary inputs of the multiplexers of ranks 3, 2 and 1 of the second stage ET2 are respectively connected to the entries of consecutive ranks 1, 3 and 2.

Dans le cas de la figure 6, le dispositif DDC est un dispositif prévu pour N=4. Les deuxièmes entrées élémentaires des multiplexeurs adjacents de l'étage ET1 (partie PTA et partie PTB) sont respectivement reliées aux entrées de rangs consécutifs 3, 2, 1, 4, 3, 2. Les deuxièmes entrées élémentaires des quatre multiplexeurs de la partie PTA du dernier étage ET2 sont respectivement reliées indirectement aux entrées de rangs consécutifs 2, 1, 4, 3. On retrouve le même principe sur les figures 7 à 12 qui illustrent respectivement des dispositifs de décalage DDC pour des valeurs de N=5, 6, 7, 10, 11 et 13.  In the case of Figure 6, the DDC device is a device provided for N = 4. The second elementary inputs of the adjacent multiplexers of the stage ET1 (part PTA and part PTB) are respectively connected to the inputs of consecutive ranks 3, 2, 1, 4, 3, 2. The second elementary inputs of the four multiplexers of the part PTA the last stage ET2 are respectively connected indirectly to the inputs of consecutive ranks 2, 1, 4, 3. The same principle is found in FIGS. 7 to 12 which respectively illustrate DDC shifters for values of N = 5, 6, 7, 10, 11 and 13.

Par ailleurs, comme on peut le voir sur ces figures, une seule des N entrées est directement connectée à deux multiplexeurs différents tandis que chacune des N-1 autres entrées de rangs successifs est directement connectée à au moins trois multiplexeurs différents de façon à ce qu'une donnée présente sur une de ces N-1 autres entrées puisse être décalée dans ledit sens de décalage de toute valeur globale de décalage inférieure à N et compatible avec le rang de ladite entrée. Plus précisément, dans les exemples décrits ici, ces N-1 autres entrées sont les entrées de rangs 2 à N et chacune de ces entrées est directement connectée à au moins trois multiplexeurs différents de façon à ce qu'une donnée présente sur une de ces entrées puisse être décalée dans le sens de décalage de toute valeur globale de décalage compris entre N-1 et N-r+l, où r désigne le rang de ladite entrée. Sur ces exemples, la seule entrée qui est directement connectée à deux multiplexeurs différents est l'entrée de rang 1. Si l'on se reporte maintenant de nouveau aux exemples, et par exemple à la figure 9, qui illustre le cas N=7, l'entrée de rang 2 connectée sur la partie PTB doit pouvoir être décalée sur la gauche d'une valeur de décalage égale à 6. Par conséquent, puisque le deuxième étage ET2 décale d'une valeur élémentaire de décalage égale à 2 et que le troisième étage ET3 décale d'une valeur élémentaire de décalage égale à 4, il est nécessaire ici d'insérer un multiplexeur m5 au niveau de l'étage ET2 dont la première entrée élémentaire est connectée indirectement par l'intermédiaire du multiplexeur ml à l'entrée de rang 4 et dont la deuxième entrée élémentaire est connectée à l'entrée de rang 2. La sortie de ce multiplexeur m5 est connectée à la deuxième entrée élémentaire du multiplexeur de rang 1 de l'étage ET3. La donnée de rang 3 au niveau de la partie PTB doit pouvoir être décalée d'une valeur globale de décalage égale à 6 ou 5. Puisque 5 est une valeur impaire, un décalage élémentaire de 1 est nécessaire au niveau du premier étage, d'où la présence du multiplexeur ml dont la première entrée élémentaire est connectée à l'entrée de rang 4 et dont la deuxième entrée élémentaire est connectée à l'entrée de rang 3. Un décalage élémentaire de 2 est aussi requis pour effectuer le décalage global de 6, ce qui nécessite la présence du multiplexeur m6 au deuxième étage ET2. L'entrée de rang 4 doit pouvoir être décalée d'une valeur globale de décalage égale à 6, 5 ou 4. Une valeur globale de décalage égale à 4 est obtenue grâce aux multiplexeurs de la partie PTA du circuit CDC. Par contre, pour atteindre une valeur globale de décalage égale à 5 ou 6, un décalage élémentaire de 1 ou de 2 est requis. C'est la raison pour laquelle on prévoit ici d'insérer des multiplexeurs supplémentaires m2 et m7 respectivement au premier étage ET1 et au deuxième étage ET2.  Moreover, as can be seen in these figures, only one of the N inputs is directly connected to two different multiplexers while each of the other N-1 successive row inputs is directly connected to at least three different multiplexers so that data present on one of these N-1 other inputs can be shifted in said offset direction of any global offset value smaller than N and compatible with the rank of said input. More specifically, in the examples described here, these N-1 other inputs are the inputs of ranks 2 to N and each of these inputs is directly connected to at least three different multiplexers so that a data present on one of these inputs can be shifted in the offset direction of any global offset value between N-1 and N-r + 1, where r denotes the rank of said input. In these examples, the only input that is directly connected to two different multiplexers is the Tier 1 input. Referring back to the examples now, for example in Figure 9, which illustrates the N = 7 case. , the row 2 input connected to the PTB part must be shifted to the left by an offset value equal to 6. Therefore, since the second stage ET2 shifts by an elementary offset value equal to 2 and that the third stage ET3 shifts by an elementary offset value equal to 4, it is necessary here to insert a multiplexer m5 at the stage ET2 whose first elementary input is connected indirectly via the multiplexer ml to l 4-rank input and whose second elementary input is connected to the input of rank 2. The output of this multiplexer m5 is connected to the second elementary input of the multiplexer of rank 1 of the stage ET3. The Tier 3 data at the PTB part must be offset by an offset value equal to 6 or 5. Since 5 is an odd value, an elementary offset of 1 is required at the level of the first stage. where the presence of the multiplexer ml whose first elementary input is connected to the input of rank 4 and whose second elementary input is connected to the input of rank 3. An elementary offset of 2 is also required to perform the global shift of 6, which requires the presence of the m6 multiplexer at the second stage ET2. The input of rank 4 must be offset by a global offset value equal to 6, 5 or 4. A global offset value equal to 4 is obtained through the multiplexers of the PTA portion of the CDC circuit. On the other hand, to reach an overall offset value of 5 or 6, an elementary shift of 1 or 2 is required. This is why it is planned here to insert additional multiplexers m2 and m7 respectively to the first stage ET1 and the second stage ET2.

Le même raisonnement se poursuit pour les autres entrées, ce qui conduit effectivement à l'architecture illustrée sur la figure 9. D'une façon plus générale, dans les exemples décrits ici pour un décalage à gauche, les premières entrées élémentaires des N multiplexeurs de rang 1 à N d'un étage de rang i sont respectivement connectées directement ou indirectement aux N entrées de rang 1 à N. La deuxième entrée élémentaire du multiplexeur de rang 1 de l'étage de rang 1 (c'est-à-dire le premier étage) est connectée à l'entrée de rang N.  The same reasoning continues for the other inputs, which effectively leads to the architecture illustrated in FIG. 9. More generally, in the examples described here for a shift to the left, the first elementary inputs of the N multiplexers of FIG. Rank 1 to N of a row of rank i are respectively connected directly or indirectly to the N inputs of rank 1 to N. The second elementary input of the row 1 multiplexer of rank 1 (that is to say the first floor) is connected to the entry of rank N.

Les premières et deuxièmes entrées élémentaires des éventuels autres moyens de multiplexage de l'étage de rang i, c'est-à-dire les éventuels multiplexeurs de la partie PTB, sont connectées directement ou indirectement à certaines au moins des entrées de rang N à 2 compte tenu de la valeur élémentaire de décalage associée à cet étage.  The first and second elementary inputs of the possible other multiplexing means of the stage of rank i, that is to say the possible multiplexers of the PTB part, are connected directly or indirectly to at least some of the inputs of rank N to 2 given the elementary offset value associated with this stage.

Les deuxièmes entrées élémentaires de certains des N multiplexeurs du dernier étage sont également connectées directement ou indirectement aux entrées de rang N à 2 compte tenu de la valeur élémentaire de décalage associée à cet étage. La commande des multiplexeurs des différents étages est illustré sur deux exemples particuliers (figures 13 et 14 d'une part, figures 15 et 16 d'autre part). En fait, comme on le voit sur ces figures, et notamment sur les figures 13 et 15, le graphe du circuit à décalage CDC est divisé en deux parties PT1 et PT2, qui dépendent de la valeur S+N-R où S désigne la valeur globale de décalage, et R le nombre effectif de données reçues sur le bus BSE, c'est-à-dire la taille effective du bus BSE. Les multiplexeurs de la première partie PT1 effectuent un décalage total de S tandis que les multiplexeurs de la partie PT2 effectuent un décalage total de S+N-R. La première partie PT1 comporte au niveau de chaque étage de décalage un premier groupe de multiplexeurs adjacents. La deuxième partie PT2 comporte au niveau de chaque étage un deuxième groupe de multiplexeurs adjacents.  The second elementary inputs of some of the N multiplexers of the last stage are also connected directly or indirectly to the inputs of rank N to 2 taking into account the elementary offset value associated with this stage. The control of the multiplexers of the different stages is illustrated on two particular examples (Figures 13 and 14 on the one hand, Figures 15 and 16 on the other hand). In fact, as seen in these figures, and in particular in FIGS. 13 and 15, the graph of the CDC shift circuit is divided into two parts PT1 and PT2, which depend on the value S + NR where S denotes the global value offset, and R the actual number of data received on the BSE bus, that is to say the effective size of the BSE bus. The multiplexers of the first part PT1 carry out a total shift of S while the multiplexers of the part PT2 make a total shift of S + N-R. The first part PT1 comprises at each shift stage a first group of adjacent multiplexers. The second part PT2 comprises at each stage a second group of adjacent multiplexers.

Les moyens de commande MC 1 commandent de façon indépendante les deux groupes de multiplexeurs de chaque étage et de façon identique tous les multiplexeurs d'un groupe d'un étage, de façon à obtenir les décalages totaux mentionnés ci-dessus.  The control means MC 1 independently controls the two groups of multiplexers of each stage and identically all the multiplexers of a group of one stage, so as to obtain the total offsets mentioned above.

Le nombre de multiplexeurs du premier groupe (c'est-à-dire appartenant à la première partie PT1) d'un étage de rang i est égal à min(MX,N-(mod(S+N-R,2')-(N-R))) où mod (X, Y) désigne le reste de la division de X par Y, min désigne la fonction minimum et MX désigne le nombre de multiplexeurs de l'étage de rang i.  The number of multiplexers of the first group (i.e., belonging to the first part PT1) of a stage of rank i is equal to min (MX, N- (mod (S + NR, 2 ') - ( NR))) where mod (X, Y) denotes the remainder of the division of X by Y, min denotes the minimum function, and MX denotes the number of multiplexers of the tier of rank i.

Plus particulièrement, dans le cas des figures 13 et 14, N est égal à 6, R est égal à 4 et S est égal à 3. Sur ces figures, un signal de commande logique égal à 1 signifie qu'un multiplexeur est dans son état de décalage ETT2, tandis qu'un signal de commande logique égal à 0 signifie qu'un multiplexeur est dans son état de non décalage ETT1. Par conséquent, le nombre d'étages est égal à 3 et la première partie PT1 du premier étage ET1 comporte sept multiplexeurs. Comme par ailleurs l'étage ET1 comporte au total dix multiplexeurs, la partie PT2 comporte pour cet étage ET1 trois multiplexeurs. Tous les six multiplexeurs de l'étage ET2 font partie de la partie PT1. Enfin, la partie PT1 de l'étage ET3 comporte trois multiplexeurs ainsi que la partie PT2.  More particularly, in the case of FIGS. 13 and 14, N is equal to 6, R is equal to 4 and S is equal to 3. In these figures, a logic control signal equal to 1 means that a multiplexer is in its ETT2 offset state, while a logic control signal equal to 0 means that a multiplexer is in its non-offset state ETT1. Therefore, the number of stages is equal to 3 and the first part PT1 of the first stage ET1 has seven multiplexers. Since, moreover, the stage ET1 comprises in total ten multiplexers, the part PT2 comprises for this stage ET1 three multiplexers. All six multiplexers of stage ET2 belong to part PT1. Finally, the part PT1 of the stage ET3 comprises three multiplexers as well as the part PT2.

Les multiplexeurs de la partie PT1 doivent effectuer un décalage total égal à 3. Par conséquent, comme le décalage élémentaire effectué par les multiplexeurs de l'étage ET1 est égal à 1 que celui effectué par les multiplexeurs de l'étage ET2 est égal à 2, ce sont les multiplexeurs de la partie PT1 des étages ET1 et ET2 qui sont commandés pour être dans leur état ETT2, c'est-à-dire dans leur état de décalage, tandis que les multiplexeurs de la partie PT1 de l'étage ET3 sont commandés pour être dans leur état ETT1, c'est-à-dire dans leur état où ils ne décalent pas la donnée. Les multiplexeurs de la partie PT2 doivent effectuer globalement un décalage égal à 3+6-4, c'est-à-dire 5. Ce décalage global de 5 est obtenu par un décalage élémentaire de 1 (multiplexeurs de la partie PT2 de l'étage ET1) et par un décalage élémentaire de 4 obtenue au moyen desmultiplexeurs de la partie PT2 de l'étage ET3. La configuration des multiplexeurs est illustrée en caractères gras sur la figure 14. Bien entendu, puisque dans l'exemple qui est mentionné ici les données sont délivrées sur les sorties des rangs 1 à R, c'est-à-dire sur les sorties S1 à S4, le trajet des données W2, W3 et W4 par l'intermédiaire des multiplexeurs MUXa de la figure 14 est sans importance.  The multiplexers of the part PT1 must carry out a total shift equal to 3. Therefore, as the elementary shift made by the multiplexers of the stage ET1 is equal to 1 that that made by the multiplexers of the stage ET2 is equal to 2 it is the multiplexers of the part PT1 of the stages ET1 and ET2 which are controlled to be in their state ETT2, that is to say in their state of shift, while the multiplexers of the part PT1 of the stage ET3 are ordered to be in their state ETT1, that is to say in their state where they do not shift the data. The multiplexers of the part PT2 must globally carry out an offset equal to 3 + 6-4, that is to say 5. This global shift of 5 is obtained by an elementary shift of 1 (multiplexers of the PT2 part of the ET1 stage) and by an elementary shift of 4 obtained by means of the multiplexers of the PT2 part of the stage ET3. The configuration of the multiplexers is illustrated in bold in Figure 14. Of course, since in the example mentioned here the data are output on the outputs of the rows 1 to R, that is to say on the outputs S1 at S4, the data path W2, W3 and W4 via the multiplexers MUXa of Fig. 14 is unimportant.

Sur la figure 15, N est égal à 6, R est égal à 5 et S est égal à 1. En conséquence, le premier étage ET1 comporte dans sa partie PT1 sept multiplexeurs (i groupe) et dans sa partie PT2 trois multiplexeurs (deuxième groupe). L'étage ET2 comporte dans sa partie PT1 cinq multiplexeurs et dans sa partie PT2 un multiplexeur. I1 en est de même pour l'étage ET3. Le décalage global effectué par les multiplexeurs de la partie PT1 est égal à 1, ce qui est obtenu uniquement par les multiplexeurs du premier étage.  In FIG. 15, N is equal to 6, R is equal to 5 and S is equal to 1. As a consequence, the first stage ET1 has in its part PT1 seven multiplexers (i group) and in its part PT2 three multiplexers (second group). The stage ET2 comprises in its part PT1 five multiplexers and in its part PT2 a multiplexer. It is the same for stage ET3. The global offset performed by the multiplexers of the part PT1 is equal to 1, which is obtained only by the multiplexers of the first stage.

Le décalage global effectué par les multiplexeurs de la partie PT2 est égal à 2, ce qui est obtenu uniquement par le multiplexeur de la partie PT2 de l'étage ET2. Le trajet des données Wl-W5 est illustré en conséquence en caractères gras sur la figure 16.  The global offset performed by the multiplexers of the part PT2 is equal to 2, which is obtained only by the multiplexer of the part PT2 of the stage ET2. The data path W1-W5 is accordingly illustrated in bold in Fig. 16.

Matériellement, les moyens de commande MC1 peuvent être réalisés aisément à partir de portes et/ou de circuits logiques en fonction des valeurs de S, Net R. Tout ce qui vient d'être décrit s'applique également à un dispositif de décalage capable d'effectuer un décalage à droite comme illustré par exemple dans deux cas particuliers sur les figures 17 et 18. En fait, comme on le voit sur ces exemples, la structure d'un tel dispositif DDC capable d'effectuer un décalage à droite a une architecture symétrique par rapport à celle illustrée sur les figures précédentes.  Materially, the control means MC1 can be easily made from gates and / or logic circuits according to the values of S, Net R. All that has just been described also applies to a shifting device capable of to make a shift to the right as illustrated for example in two particular cases in Figures 17 and 18. In fact, as seen in these examples, the structure of such a DDC device capable of performing a shift to the right has a symmetrical architecture compared to that illustrated in the previous figures.

Et, dans le cas d'un décalage à droite, les première entrées élémentaires des N multiplexeurs de rang 1 à N sont là encore respectivement connectées directement ou indirectement aux N entrées de rang 1 à N. La deuxième entrée élémentaire du multiplexeur de rang 1 est toujours connectée à l'entrée de rang N. Par ailleurs sur ces deux figures, les R sorties prédéterminées sont les sorties de rang 1 à R (qui sont cette fois-ci les R sorties de gauche sur ces figures). Dans tout ce qui a été décrit ci-avant, on a supposé que les données étaient codées sur un seul bit. Cela étant, l'invention s'applique également à des données codées d'une façon plus générale sur plusieurs bits. Dans ce cas, si les données sont codées sur un nombre nbit, chaque multiplexeur MUX est en fait remplacé par un ensemble de nbit multiplexeurs en parallèle et connectés chacun de façon identique. L'agencement et la configuration ainsi que la commande des différents multiplexeurs du circuit à décalage dépendent non seulement du nombre de tailles intermédiaires susceptibles d'être traitées, c'est-à-dire du nombre N, mais également du choix des entrées sur lesquelles sont reçues les R données d'entrée et du choix des R sorties prédéterminées du dispositif de décalage. En effet, on peut tout à fait envisager de faire sortir les R données pour une taille intermédiaire inférieure à N sur R sorties certes prédéterminées quelle que soit la valeur de décalage globale souhaitée, mais différentes des sorties S1 à SR. De même on peut faire recevoir les R données d'entrée sur R entrées différentes des entrées E l à ER. L'homme du métier saura donc configurer au cas par cas le circuit à décalage et le connecter entre les N entrées et les N sorties en fonction de l'application envisagée moyennant bien entendu les principes généraux évoqués ci-avant et relatifs au nombre d'étages de décalage, au nombre de multiplexeurs par étage de décalage, au sens de décalage identique pour tous les multiplexeurs ainsi qu'à une commande des multiplexeurs par groupe en fonction d'un découpage adéquat.  And, in the case of a shift to the right, the first elementary inputs of the N multiplexers of rank 1 to N are again connected respectively directly or indirectly to the N inputs of rank 1 to N. The second elementary input of the multiplexer of rank 1 is always connected to the input of rank N. In addition to these two figures, the R predetermined outputs are the outputs of rank 1 to R (which are this time the R outputs left in these figures). In all that has been described above, it has been assumed that the data is coded on a single bit. However, the invention also applies to data coded in a more general manner on several bits. In this case, if the data is coded on a number nbit, each multiplexer MUX is in fact replaced by a set of nbit multiplexers in parallel and each connected identically. The arrangement and the configuration as well as the control of the different multiplexers of the shift circuit depend not only on the number of intermediate sizes that can be processed, that is to say on the number N, but also on the choice of inputs on which the R input data and the choice of R predetermined outputs of the shifter are received. Indeed, it is quite possible to consider outputting the R data for an intermediate size smaller than N on R outputs certainly predetermined regardless of the desired overall offset value, but different outputs S1 to SR. In the same way, the R input data can be made on R different inputs from the inputs E 1 to ER. The person skilled in the art will therefore be able to configure the shift circuit on a case-by-case basis and connect it between the N inputs and the N outputs as a function of the application envisaged, provided, of course, with the general principles mentioned above and relating to the number of offset stages, the number of multiplexers per shift stage, in the same offset direction for all the multiplexers as well as a control of the multiplexers per group according to a suitable division.

L'invention peut trouver une application intéressante dans le cadre de systèmes fonctionnant selon des normes de transmission sans fil comme par exemple la norme IEEE 802.16e destinée aux systèmes désignés sous la dénomination anglo-saxonne Fixed and Mobile Broadband Wireless Access Systems ou bien la norme IEEE 802.1 ln concernant les réseaux désignés sous la dénomination anglo-saxonne Local and Metropolitan Networks . On peut encore citer la norme DVB-S2 en particulier pour les transmissions par satellite.  The invention can find an interesting application in the context of systems operating according to wireless transmission standards, such as for example the IEEE 802.16e standard intended for the systems designated under the name Fixed and Mobile Broadband Wireless Access Systems or the standard. IEEE 802.1 ln concerning the networks designated under the name Anglo-Saxon Local and Metropolitan Networks. We can also mention the DVB-S2 standard, especially for satellite transmissions.

De tels systèmes utilisent des moyens de codage et de décodage de canal qui peuvent incorporer avantageusement des dispositifs de décalage tels que décrits ci-avant. Plus précisément, sur la figure 19, la référence WAP désigne un appareil sans fil utilisable dans un système de communication conforme à 15 la norme DVB-S2. L'appareil sans fil WAP comporte une chaîne de transmission TXCH capable de transmettre sur un canal de transmission CH, par exemple l'air, des informations codées et modulées. Par ailleurs, cet appareil WAP comporte également une chaîne de 20 réception RXCH capable de recevoir et de décoder des informations en provenance du canal de transmission CH. La chaîne de transmission TXCH comporte de façon classique et connue en soi des moyens de codage de source SCM recevant des données d'application APP pour notamment les comprimer de façon à 25 réduire le débit de données. La chaîne de transmission comporte également des moyens de codage de canal dont la fonction est notamment d'ajouter de la redondance pour pouvoir par la suite corriger les erreurs potentielles en réception dues au bruit du canal de transmission. Ces moyens de codage 30 de canal comportent par exemple des moyens de codage LDPC. La chaîne de transmission comporte également des moyens de modulation MDM de façon à adapter le signal au canal de transmission (canal satellite ou canal radio, par exemple). La chaîne de réception RXCH comporte des moyens homologues 35 effectuant les fonctions inverses. Plus précisément, on trouve des moyens de démodulation DMDM, suivis de moyens de décodage de canal CHDCM comportant par exemple un décodeur LDPC, suivis de moyens de décodage de source SDCM délivrant à l'utilisateur les données d'utilisateur DUT correspondant aux données d'application APP.  Such systems use channel coding and decoding means which may advantageously incorporate shifters as described above. More specifically, in Fig. 19, the WAP reference designates a wireless apparatus for use in a communication system according to the DVB-S2 standard. The wireless device WAP comprises a TXCH transmission chain capable of transmitting on a transmission channel CH, for example air, coded and modulated information. On the other hand, this WAP apparatus also has an RXCH receive string capable of receiving and decoding information from the CH transmission channel. The TXCH transmission chain comprises, in a conventional and well-known manner, SCM source coding means receiving APP application data, in particular for compressing them so as to reduce the data rate. The transmission chain also comprises channel coding means whose function is in particular to add redundancy so as to subsequently correct the potential errors in reception due to the noise of the transmission channel. These channel coding means comprise, for example, LDPC coding means. The transmission chain also comprises MDM modulation means so as to adapt the signal to the transmission channel (satellite channel or radio channel, for example). The RXCH receive chain comprises counterpart means 35 performing inverse functions. More precisely, there are DMDM demodulation means, followed by CHDCM channel decoding means comprising for example an LDPC decoder, followed by SDCM source decoding means delivering to the user the DUT user data corresponding to the data of the user. APP application.

Le code LDPC est un code à base de blocs. L'encodeur traite des blocs de K bits et délivre des blocs de N bits. Ainsi, N-K bits de redondance sont ajoutés. Ces N-K bits sont appelés bits de parité . Le taux de codage ( Code rate , en langue anglaise) est défini par le rapport K/N. Plus le taux de codage est bas, plus le nombre de bits de redondance est élevé et ainsi plus grande est la protection contre le bruit du canal de transmission. Ces N-K bits sont calculés à l'aide d'une matrice de parité H. Le code LDPC est donc également un code basé sur une matrice. Cette matrice a N-K lignes et N colonnes et est composée de 1 et de 0 avec un nombre de 1 faible par rapport au nombre de 0 . C'est la raison pour laquelle ce type de codes basés sur une telle matrice sont dénommés codes LDPC , c'est-à-dire des codes à faible densité. Le bloc encodé BLC, de N bits, est calculé en résolvant l'équation HBLCT = 0, où H désigne la matrice de parité, et T la fonction transposée . Du côté du décodeur, la correction des bits erronés est effectuée à partir des relations entre les informations codées du bloc. Ces relations sont données par la matrice de parité H. Le décodeur utilise des métriques internes correspondant aux 1 de la matrice H. La matrice H correspond au graphe de Tanner du code LDPC comportant des noeuds dits de contrôle ( check nodes ) et des noeuds d'information ( bit nodes ) reliés entre eux par le chemin des graphes représentatifs des messages échangés itérativement entre les noeuds ainsi reliés. Ces métriques sont mises à jour par lignes (mise à jour des noeuds de contrôle) en prenant en compte les métriques internes d'une même ligne. Ensuite, le décodeur met à jour ces métriques par colonnes (mise à jour des noeuds d'information) en prenant en compte les métriques internes sur une même colonne ainsi que l'information correspondante en entrée du décodeur et provenant du canal de transmission. Une itération correspond à la mise à jour des noeuds de contrôle pour toutes les métriques internes suivie de la mise à jour des noeuds d'information pour toutes les métriques internes. Le décodage d'un bloc nécessite plusieurs itérations. Les valeurs des bits décodés, également appelées décisions dures ( Hard decisions , en langue anglaise) sont obtenues en additionnant les métriques internes par colonnes avec les informations reçues et en prenant le signe du résultat. En d'autres termes, le signe du résultat fournit la valeur 0 ou 1 du bit tandis que la valeur absolue du résultat donne une indication de confiance (probabilité) pour cette valeur logique 0 ou 1 . Les codes du type LDPC sont intéressants car ils permettent d'obtenir un taux d'erreurs de bits (BER : Bit Error Rate , en langue anglaise) très bas, en raison du caractère itératif de l'algorithme de décodage. Plusieurs algorithmes itératifs de décodage existent pour décoder des codes LDPC. On pourra notamment citer l'algorithme classique dit à propagation de croyance et bien connu de l'homme du métier sous la dénomination anglosaxonne Belief Propagation (BP). Si l'on se réfère maintenant plus particulièrement à la figure 20, on voit qu'un exemple de décodeur LDPC, référencé DEC, comporte essentiellement et schématiquement des moyens de mémoire d'entrée MMCH, des moyens de décodage MDCD, des moyens de mémoire de sortie MMHD ainsi que des moyens de contrôle MCTL. Les moyens de mémoire d'entrée MMCH reçoivent une succession de blocs BLC; encodés avec un code LDPC. Chaque bloc comporte un nombre prédéterminé d'informations codées, 64 800 dans la norme DVB-S2. Ces informations sont en fait des rapports de probabilités et sont généralement connues par l'homme du métier sous leur dénomination anglosaxonne de LLR ( Log Likelihood Ratio ). Ces informations sont codées sur n bits. Le signe de chaque information est représentatif de sa valeur logique tandis que sa valeur absolue est représentative de la confiance que la valeur logique de cette information soit la bonne. Chaque bloc reçu BLC; est décodé dans les moyens de décodage MDCD comportant dans cet exemple F processeurs fonctionnant en parallèle, F étant égal à 360 dans une application de norme DVB-S2.  The LDPC code is a block-based code. The encoder processes blocks of K bits and delivers blocks of N bits. Thus, N-K redundancy bits are added. These N-K bits are called parity bits. The coding rate (Code rate, in English) is defined by the ratio K / N. The lower the coding rate, the higher the number of redundancy bits and the greater the noise protection of the transmission channel. These N-K bits are calculated using a parity matrix H. The LDPC code is therefore also a code based on a matrix. This matrix has N-K rows and N columns and is composed of 1 and 0 with a number of 1 low relative to the number of 0's. This is the reason why such codes based on such a matrix are referred to as LDPC codes, i.e., low density codes. The N-bit BLC encoded block is calculated by solving the equation HBLCT = 0, where H is the parity matrix, and T is the transposed function. On the decoder side, the correction of the erroneous bits is performed from the relationships between the coded information of the block. These relations are given by the parity matrix H. The decoder uses internal metrics corresponding to the 1 of the matrix H. The matrix H corresponds to the Tanner graph of the LDPC code comprising so-called control nodes (check nodes) and nodes of information (bit nodes) interconnected by the path of the graphs representative of the messages exchanged iteratively between the nodes thus connected. These metrics are updated by rows (update of the control nodes) taking into account the internal metrics of the same line. Then, the decoder updates these metrics by columns (updating of the information nodes) taking into account the internal metrics on the same column as well as the corresponding information input decoder and from the transmission channel. An iteration is the update of the control nodes for all internal metrics followed by the update of the information nodes for all internal metrics. Decoding a block requires several iterations. The values of the decoded bits, also called hard decisions, are obtained by adding the internal metrics by columns with the information received and taking the sign of the result. In other words, the sign of the result gives the value 0 or 1 of the bit while the absolute value of the result gives a confidence indication (probability) for this logical value 0 or 1. The codes of the LDPC type are of interest because they make it possible to obtain a very low Bit Error Rate (BER) because of the iterative nature of the decoding algorithm. Several iterative decoding algorithms exist to decode LDPC codes. It will be possible to mention the conventional algorithm known as propagation of belief and well known to those skilled in the art under the Anglo-Saxon name Belief Propagation (BP). Referring now more particularly to FIG. 20, it can be seen that an example of an LDPC decoder, referenced DEC, essentially and schematically comprises MMCH input memory means, MDCD decoding means, memory means MMHD output as well as MCTL control means. The MMCH input memory means receive a succession of BLC blocks; encoded with LDPC code. Each block has a predetermined number of coded information, 64 800 in the DVB-S2 standard. This information is in fact probability ratios and is generally known to those skilled in the art under their Anglo-Saxon LLR (Log Likelihood Ratio) name. This information is encoded on n bits. The sign of each piece of information is representative of its logical value while its absolute value is representative of the confidence that the logical value of this piece of information is the correct one. Each block received BLC; is decoded in the MDCD decoding means comprising in this example F processors operating in parallel, F being equal to 360 in a DVB-S2 standard application.

La batterie de F processeurs effectue la mise à jour des noeuds de contrôle et des noeuds d'information. Une mémoire de métriques MMT contient les métriques internes (en un nombre égal au nombre de 1 dans la matrice de parité).  The battery of F processors updates the control nodes and the information nodes. A MMT metric store contains internal metrics (in a number equal to the number of 1 in the parity matrix).

Un dispositif de décalage DDC tel que celui décrit ci-avant permet de placer les bonnes données en face des bons processeurs. Lors du décodage itératif, les informations de canal, initialisées par les informations du bloc à décoder, sont mises à jour à l'aide des métriques mises à jour.  A DDC shifter such as that described above makes it possible to place the right data in front of the right processors. During iterative decoding, the channel information, initialized by the information of the block to be decoded, is updated using the updated metrics.

Enfin, à l'issue du décodage, les processeurs délivrent dans la mémoire MMHD, les décisions dures correspondant aux valeurs logiques décodées du bloc BLC;. Ces décisions dures sont en fait les signes des informations de canal mises à jour à la dernière itération. L'utilisation d'un dispositif de décalage DDC tel que décrit ci- avant, que ce soit au sein des moyens de codage de canal ou de moyens de décodage de canal, permet de réduire le nombre de multiplexeurs. En effet, à titre d'exemple, dans la norme 802.11n les tailles de bus devant être capables d'être traitées sont égales à 81, 54 et 27. L'utilisation d'un circuit à décalage à barillet classique de taille 81 conduit à un nombre de multiplexeurs égal à 3402 avec des données codées sur 6 bits. Un circuit à décalage à barillet de taille 54 comporte 1944 multiplexeurs. Un circuit à décalage à barillet de taille 27 a 810 multiplexeurs.  Finally, at the end of the decoding, the processors deliver in the memory MMHD, the hard decisions corresponding to the decoded logical values of the block BLC; These hard decisions are actually the signs of channel information updated at the last iteration. The use of a DDC shifter as described above, whether within the channel coding means or channel decoding means, makes it possible to reduce the number of multiplexers. By way of example, in the 802.11n standard, the bus sizes to be able to be processed are equal to 81, 54 and 27. The use of a conventional barrel shift circuit of size 81 leads to to a number of multiplexers equal to 3402 with 6-bit coded data. A 54-size barrel shift circuit has 1944 multiplexers. A barrel shift circuit of size 27 has 810 multiplexers.

En conséquence, une option consistant à prévoir trois circuits à décalage à barillet classiques ayant respectivement une taille égale à 81, 54 et 27 pour pouvoir supporter les trois tailles requises par la norme 802.1 ln conduit à un nombre total de multiplexeurs égal à 6156 auquel il faut ajouter un circuit de sélection.  Accordingly, an option of providing three conventional barrel shift circuits having a size of 81, 54 and 27 respectively to support the three sizes required by 802.1 ln results in a total number of multiplexers equal to 6156 at which it must be added a selection circuit.

Par contre, un dispositif à décalage de données selon un mode de réalisation de l'invention présentant une taille maximale égale à 81 et capable de traiter toutes les tailles de 1 à 81 conduit à un nombre total de multiplexeurs de 5526 (avec des données codées sur 6 bits).  On the other hand, a data shift device according to an embodiment of the invention having a maximum size equal to 81 and capable of processing all sizes from 1 to 81 results in a total number of 5526 multiplexers (with coded data on 6 bits).

En ce qui concerne la norme 802.16e, le nombre de modes est beaucoup plus important, typiquement égal à 19. Plus précisément, la taille du bus de données peut varier de 24 à 96. Et, à titre indicatif, avec des données codées sur 6 bits, la taille d'un circuit à barillet standard de taille 96 donc capable de ne couvrir qu'un seul mode à savoir le mode maximal, a un nombre au total de multiplexeurs égal à 4032. A titre de comparaison, un dispositif de décalage de données tel que celui qui a été décrit ci-avant et qui serait capable de couvrir toutes les tailles de 1 à 96 et donc tous les modes possibles de la norme 802.16e aurait un nombre de multiplexeurs égal à 6540, soit à peine plus de 1,6 fois le nombre de multiplexeurs du circuit à barillet classique ne traitant que la taille 96.  With regard to the 802.16e standard, the number of modes is much greater, typically equal to 19. More precisely, the size of the data bus can vary from 24 to 96. And, as an indication, with data coded on 6 bits, the size of a standard barrel circuit of size 96 thus able to cover only one mode namely the maximum mode, has a total number of multiplexers equal to 4032. For comparison, a device of data offset such as that described above and that would be able to cover all sizes from 1 to 96 and therefore all possible modes of the 802.16e standard would have a number of multiplexers equal to 6540, just slightly more 1.6 times the number of multiplexers of the conventional barrel circuit processing only the size 96.

Claims (14)

REVENDICATIONS 1. Dispositif électronique de décalage capable de décaler des données d'une valeur globale de décalage souhaitée, caractérisé par le fait qu'il comprend N entrées aptes à recevoir simultanément R données d'entrées, R étant susceptible de prendre toutes les valeurs de 1 à N, N sorties, un circuit à décalage configurable (CDC) connecté entre les N entrées et les N sorties comportant une cascade d'étages de décalage (ETi), le nombre d'étages étant fonction de N, chaque étage comportant au moins N moyens de multiplexage commandables (MUX), chaque moyen de multiplexage d'un étage possédant une première entrée élémentaire (EM1) et une deuxième entrée élémentaire (EM2) respectivement connectées directement ou indirectement à une première entrée et à une deuxième entrée prises parmi les N entrées (Ei) de façon à, sur commande, ne pas décaler une donnée présente sur ladite première entrée élémentaire et décaler une donnée présente sur la deuxième entrée élémentaire d'une valeur élémentaire de décalage dépendant du rang de l'étage, le sens de décalage étant identique pour tous les moyens de multiplexage du circuit, et des moyens de commande (MC1) aptes à commander les différents moyens de multiplexage de façon à délivrer les R données d'entrées sur R sorties prédéterminées quelle que soit la valeur globale de décalage souhaitée inférieure à R.  1. Electronic shifting device capable of shifting data of a desired offset global value, characterized in that it comprises N inputs able to simultaneously receive R input data, R being capable of taking all the values of 1 at N, N outputs, a configurable shift circuit (CDC) connected between the N inputs and the N outputs comprising a cascade of shift stages (ETi), the number of stages being a function of N, each stage comprising at least N controllable multiplexing means (MUX), each multiplexing means of a stage having a first elementary input (EM1) and a second elementary input (EM2) respectively directly or indirectly connected to a first input and a second input taken from among the N inputs (Ei) so, on command, do not shift a data present on said first elementary input and shift data present on the two elementary input of an elementary shift value depending on the rank of the stage, the offset direction being identical for all the multiplexing means of the circuit, and control means (MC1) able to control the various means of multiplexing the to deliver the R input data to R predetermined outputs regardless of the overall desired offset value less than R. 2. Dispositif selon la revendication 1, dans lequel le nombre d'étages de décalage (ETi) est égal à ceil(log2(N)), où ceil(X) désigne la fonction partie entière supérieure de X.  2. Device according to claim 1, wherein the number of shift stages (ETi) is equal to ceil (log2 (N)), where ceil (X) denotes the upper integer function of X. 3. Dispositif selon la revendication 1 ou 2, dans lequel chaque étage de décalage (ETi) comporte un nombre de moyens de multiplexage égal à N+2'.floor((N-2'-'-1)/2')), où floor(X) désigne la fonction partie entière inférieure de X et i désigne le rang de l'étage, le premier étage étant l'étage de rang i égal à 1.  3. Device according to claim 1 or 2, wherein each shift stage (ETi) comprises a number of multiplexing means equal to N + 2'.floor ((N-2 '-'-1) / 2')) , where floor (X) denotes the lower integer function of X and i denotes the rank of the stage, the first stage being the rank tier i equal to 1. 4. Dispositif selon l'une des revendications précédentes, dans lequel une seule (El) des N entrées est directement connectée à deux moyens de multiplexage différents tandis que chacune des N-1 autresentrées de rangs successifs est directement connectée à au moins trois moyens de multiplexage différents de façon à ce qu'une donnée présente sur une de ces N-1 autres entrées puisse être décalée dans ledit sens de décalage de toute valeur globale de décalage inférieure à N et compatible avec le rang de ladite entrée.  4. Device according to one of the preceding claims, wherein only one (El) N inputs is directly connected to two different multiplexing means while each of the N-1 other inputs of successive ranks is directly connected to at least three means of multiplexing so that a data present on one of these N-1 other inputs can be shifted in said offset direction of any global offset value less than N and compatible with the rank of said input. 5. Dispositif selon la revendication 4, dans lequel les N-1 autres entrées sont les entrées de rang 2 à N et chacune de ces entrées est directement connectée à au moins trois moyens de multiplexage différents de façon à ce qu'une donnée présente sur une de ces entrées puisse être décalée dans ledit sens de décalage de toute valeur globale de décalage comprise entre N-1 et N-r+l, où r désigne le rang de ladite entrée.  5. Device according to claim 4, wherein the N-1 other inputs are the inputs of rank 2 to N and each of these inputs is directly connected to at least three different means of multiplexing so that a data present on one of these inputs can be shifted in said offset direction from any global offset value between N-1 and N-r + 1, where r denotes the rank of said input. 6. Dispositif selon l'une des revendications précédentes, dans lequel la valeur élémentaire de décalage d'un étage de rang i est identique pour tous les moyens de multiplexage de l'étage et est égal à 2'-' le premier étage étant l'étage de rang i égal à 1, et les deuxièmes entrées élémentaires de tous les moyens de multiplexage (MUX) d'un étage sont respectivement connectées directement ou indirectement à des entrées de rangs consécutifs.  6. Device according to one of the preceding claims, wherein the elementary offset value of a stage of rank i is identical for all the multiplexing means of the stage and is equal to 2'- 'the first stage being the l stage of rank i equal to 1, and the second elementary inputs of all the multiplexing means (MUX) of a stage are respectively connected directly or indirectly to entries of consecutive ranks. 7. Dispositif selon l'une des revendications précédentes, dans lequel le dernier étage ne comporte que N moyens de multiplexage (MUX).  7. Device according to one of the preceding claims, wherein the last stage has only N multiplexing means (MUX). 8. Dispositif selon les revendications 6 et 7, dans lequel les premières entrées élémentaires des N moyens de multiplexage de rangs 1 à N d'un étage de rang i, sont respectivement connectées directement ou indirectement aux N entrées de rangs 1 à N, la deuxième entrée élémentaire du moyen de multiplexage de rang 1 de l'étage de rang i égal à 1 est connectée à l'entrée de rang N, les premières et deuxièmes entrées élémentaires des éventuels autres moyens de multiplexage de l'étage de rang i sont connectées directement ou indirectement à certaines au moins des entrées de rang N à 2 compte tenu de la valeur élémentaire de décalage associée à cet étage, et les deuxièmes entrées élémentaires de certains des N moyens de multiplexage du dernier étage sont également connectées directement ou indirectement auxentrées de rang N à 2 compte tenu de la valeur élémentaire de décalage associée à cet étage.  8. Device according to claims 6 and 7, wherein the first elementary inputs of the N multiplexing means of ranks 1 to N of a stage of rank i are respectively connected directly or indirectly to the N entries of ranks 1 to N, the second elementary input of the rank 1 multiplexing means of the rank i stage equal to 1 is connected to the rank N input, the first and second elementary inputs of any other multiplexing means of the rank i stage are connected directly or indirectly to at least some of the inputs of rank N to 2 taking into account the elementary offset value associated with this stage, and the second elementary inputs of some of the N multiplexing means of the last stage are also connected directly or indirectly to the inputs of rank N to 2 given the elementary offset value associated with this stage. 9. Dispositif selon l'une des revendications précédentes, dans lequel chaque étage de décalage comporte un premier groupe de moyens de multiplexage adjacents (PT1) et un deuxième groupe de moyens de multiplexage adjacents (PT2), le nombre de moyens de multiplexage dans chaque groupe dépendant du rang de l'étage et de la valeur S+N-R où S désigne la valeur globale de décalage souhaitée, et les moyens de commande sont aptes à commander de façon indépendante les deux groupes de moyens de multiplexage de chaque étage, et de façon identique tous les moyens de multiplexage d'un groupe d'un étage, de façon à ce que les moyens de multiplexage de tous les premiers groupes réalisent un décalage égal à s et que les moyens de multiplexage de tous les deuxièmes groupes réalisent un décalage égal à S+N-R.  9. Device according to one of the preceding claims, wherein each shift stage comprises a first group of adjacent multiplexing means (PT1) and a second group of adjacent multiplexing means (PT2), the number of multiplexing means in each group depending on the rank of the stage and the value S + NR where S denotes the desired global offset value, and the control means are able to independently control the two groups of multiplexing means of each stage, and identical to all the multiplexing means of a group of one stage, so that the multiplexing means of all the first groups perform an offset equal to s and the multiplexing means of all the second groups perform an offset equal to S + NR. 10. Dispositif selon la revendication 9, dans lequel le nombre de moyens de multiplexages du premier groupe d'un étage de rang i est égal à min (MX , N-(mod(S+N-R,2')-(N-R))) où mod (X, Y) représente le reste de la division de X par Y, min représente la fonction minimum , et MX le nombre de moyens de multiplexage de l'étage de rang i.  10. Device according to claim 9, wherein the number of multiplexing means of the first group of a stage of rank i is equal to min (MX, N- (mod (S + NR, 2 ') - (NR)) where mod (X, Y) represents the remainder of the division of X by Y, min represents the minimum function, and MX the number of multiplexing means of the tier of rank i. 11. Dispositif selon l'une des revendications précédentes, dans lequel le sens de décalage est à gauche ou à droite.  11. Device according to one of the preceding claims, wherein the offset direction is left or right. 12. Dispositif selon l'une des revendications précédentes, réalisé sous la forme d'un circuit intégré.  12. Device according to one of the preceding claims, realized in the form of an integrated circuit. 13. Dispositif de codage de canal, en particulier apte à effectuer un encodage avec un code LDPC, caractérisé par le fait qu'il incorpore un dispositif de décalage (DDC) selon l'une des revendications précédentes.  13. A channel coding device, in particular adapted to perform an encoding with an LDPC code, characterized in that it incorporates an offset device (DDC) according to one of the preceding claims. 14. Dispositif de décodage de canal, en particulier apte à effectuer un décodage de blocs encodés avec un code LDPC, caractérisé par le fait qu'il incorpore un dispositif de décalage (DDC) selon l'une des revendications 1 à 12.  14. A channel decoding device, in particular adapted to perform a decoding of blocks encoded with an LDPC code, characterized in that it incorporates an offset device (DDC) according to one of claims 1 to 12.
FR0755038A 2007-04-02 2007-05-11 ELECTRONIC DEVICE FOR DIFFERING MULTIMODES DATA, IN PARTICULAR FOR ENCODING / DECODING WITH AN LDPC CODE. Expired - Fee Related FR2916110B1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
FR0755038A FR2916110B1 (en) 2007-05-11 2007-05-11 ELECTRONIC DEVICE FOR DIFFERING MULTIMODES DATA, IN PARTICULAR FOR ENCODING / DECODING WITH AN LDPC CODE.
US12/117,060 US8126022B2 (en) 2007-04-02 2008-05-08 Electronic multimode data shift device, in particular for coding/decoding with an LDPC code

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR0755038A FR2916110B1 (en) 2007-05-11 2007-05-11 ELECTRONIC DEVICE FOR DIFFERING MULTIMODES DATA, IN PARTICULAR FOR ENCODING / DECODING WITH AN LDPC CODE.

Publications (2)

Publication Number Publication Date
FR2916110A1 true FR2916110A1 (en) 2008-11-14
FR2916110B1 FR2916110B1 (en) 2009-08-21

Family

ID=38474225

Family Applications (1)

Application Number Title Priority Date Filing Date
FR0755038A Expired - Fee Related FR2916110B1 (en) 2007-04-02 2007-05-11 ELECTRONIC DEVICE FOR DIFFERING MULTIMODES DATA, IN PARTICULAR FOR ENCODING / DECODING WITH AN LDPC CODE.

Country Status (1)

Country Link
FR (1) FR2916110B1 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6006244A (en) * 1997-12-19 1999-12-21 Advanced Micro Devices, Inc. Circuit for shifting or rotating operands of multiple size
US20060036933A1 (en) * 2004-08-12 2006-02-16 Blankenship Yufei W Method and apparatus for encoding and decoding data
US20070089019A1 (en) * 2005-10-18 2007-04-19 Nokia Corporation Error correction decoder, method and computer program product for block serial pipelined layered decoding of structured low-density parity-check (LDPC) codes, including calculating check-to-variable messages

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6006244A (en) * 1997-12-19 1999-12-21 Advanced Micro Devices, Inc. Circuit for shifting or rotating operands of multiple size
US20060036933A1 (en) * 2004-08-12 2006-02-16 Blankenship Yufei W Method and apparatus for encoding and decoding data
US20070089019A1 (en) * 2005-10-18 2007-04-19 Nokia Corporation Error correction decoder, method and computer program product for block serial pipelined layered decoding of structured low-density parity-check (LDPC) codes, including calculating check-to-variable messages

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
OLCER S ED - INSTITUTE OF ELECTRICAL AND ELECTRONICS ENGINEERS: "Decoder architecture for array-code-based LDPC codes", PROCEEDINGS OF GLOBECOM'03. 2003 - IEEE GLOBAL TELECOMMUNICATIONS CONFERENCE. CONFERENCE, SAN FRANCISCO, DEC. 1 - 5, 2003, US, vol. VOL. 7 OF 7, 1 December 2003 (2003-12-01), pages 2046 - 2050, XP010677717, ISBN: 0-7803-7974-8 *
ROVINI M ET AL: "VLSI Design of a High-Throughput Multi-Rate Decoder for Structured LDPC Codes", DIGITAL SYSTEM DESIGN, 2005. PROCEEDINGS. 8TH EUROMICRO CONFERENCE ON PORTO, PORTUGAL 30-03 AUG. 2005, PISCATAWAY, NJ, USA,IEEE, 30 August 2005 (2005-08-30), pages 202 - 209, XP010864680, ISBN: 0-7695-2433-8 *

Also Published As

Publication number Publication date
FR2916110B1 (en) 2009-08-21

Similar Documents

Publication Publication Date Title
FR2905210A1 (en) Encoded blocks` succession decoding method for signal receiver, involves making updation of channel information associated to particular column at each iteration, where one updated metric information is selected among set of informations
FR2815199A1 (en) Cyclic turbo coding scheme improves minimum Hamming distance
EP1332557B1 (en) High-speed module, device and method for decoding a concatenated code
FR2747255A1 (en) METHOD AND DEVICE FOR CONVOLUTIVE CODING OF DATA BLOCKS, AND CORRESPONDING DECODING METHOD AND DEVICE
EP1841078B1 (en) Dual channel receiver circuit
FR2900294A1 (en) Low density parity check decoder`s input/channel memory loading method for set top box, involves carrying out memory accesses in page mode for writing binary word streams in respective zones of input/channel memory by controlling module
EP1974472B1 (en) Fast encoding and decoding methods and related devices
EP1101288B1 (en) Method and device for error correction coding and corresponding decoding method and device
EP2330745A1 (en) Method and device for decoding a series of blocks encoded with an error-correction code, correlated by a transmission channel
FR2944660A1 (en) LDPC DECODER
FR2914447A1 (en) ELECTRONIC DATA SHIFTING DEVICE PARTICULARLY FOR ENCODING / DECODING WITH LDPC CODE
EP2833555B1 (en) Improved method for decoding a corrector code with message passing, in particular for the decoding of LDPC codes or turbo codes
FR2883121A1 (en) METHOD AND DEVICE FOR DECODING WHEEL CODES
FR2891419A1 (en) Block decoder e.g. channel decoder, for digital satellite television receiver, has decoding unit processing data blocks stored in input memory, and control unit multiplexing blocks as input to decoding unit by recording and reading blocks
WO2023217447A1 (en) Adaptive scaling of parity check messages for ldpc decoding
EP1128588A1 (en) Method of error correcting coding-type digital transmission comprising a step of puncturing scheme selection
FR2916110A1 (en) Electronic multimode data shifting device for e.g. channel coding device, has control unit controlling multiplexers to deliver R input data on R number of predetermined outputs regardless of total value of desired shifting smaller than R
FR2838581A1 (en) Method for coding and/or decoding of the error-correction codes, corresponding devices and signal representative of coded data block
FR2884661A1 (en) METHOD AND DEVICE FOR DECODING A VARIABLE LENGTH CODE USING PRIORI PROBABILITY INFORMATION
FR2922699A1 (en) ITERATIVE DECODING IN A MESH NETWORK, CORRESPONDING METHOD AND SYSTEM
FR2981526A1 (en) METHOD AND DEVICE FOR DECODING ENCODED DATA USING AN ERROR CORRECTING CODE, ENCODING METHOD AND DEVICE, AND CORRESPONDING COMPUTER PROGRAM
EP3970275B1 (en) Device and method for efficient encoding of quasi-cyclic ldpc codes
FR2890804A1 (en) Binary digit block storage device for binary digit block decoding system, has storage elements structured to store block of category or block of another category or several blocks of latter category simultaneously
FR2953356A1 (en) DIGITAL OPERATOR DATA PROCESSOR FOR EXECUTING AN FFT / IFFT AND TELECOMMUNICATION TERMINAL
FR3022651A1 (en) METHODS AND DEVICES FOR ENCODING AND DECODING ERROR CORRECTING, AND CORRESPONDING COMPUTER PROGRAM.

Legal Events

Date Code Title Description
ST Notification of lapse

Effective date: 20140131