FR2915641A1 - Procede et dispositif d'entrelacement de donnees - Google Patents

Procede et dispositif d'entrelacement de donnees Download PDF

Info

Publication number
FR2915641A1
FR2915641A1 FR0754793A FR0754793A FR2915641A1 FR 2915641 A1 FR2915641 A1 FR 2915641A1 FR 0754793 A FR0754793 A FR 0754793A FR 0754793 A FR0754793 A FR 0754793A FR 2915641 A1 FR2915641 A1 FR 2915641A1
Authority
FR
France
Prior art keywords
data
matrix
memory
parallel
memory locations
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
FR0754793A
Other languages
English (en)
Other versions
FR2915641B1 (fr
Inventor
Cyrille Chavet
Pascal Urard
Philippe Coussy
Eric Martin
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.)
Centre National de la Recherche Scientifique CNRS
STMicroelectronics SA
Original Assignee
Centre National de la Recherche Scientifique CNRS
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 Centre National de la Recherche Scientifique CNRS, STMicroelectronics SA filed Critical Centre National de la Recherche Scientifique CNRS
Priority to FR0754793A priority Critical patent/FR2915641B1/fr
Priority to US12/150,599 priority patent/US8327033B2/en
Publication of FR2915641A1 publication Critical patent/FR2915641A1/fr
Application granted granted Critical
Publication of FR2915641B1 publication Critical patent/FR2915641B1/fr
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/27Coding, 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 using interleaving techniques
    • H03M13/2771Internal interleaver for turbo codes
    • H03M13/2775Contention or collision free turbo code internal interleaver
    • 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/29Coding, 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 combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
    • H03M13/2957Turbo codes and decoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0071Use of interleaving

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Error Detection And Correction (AREA)

Abstract

Ce procédé d'entrelacement de donnée comprend l'aiguillage des données vers des moyens de mémorisation à l'aide d'une matrice d'affectation des données en mémoire. Cette matrice d'affectation est élaborée de manière à aiguiller les données en mémoire en utilisant des moyens de traitement systématiques adaptés pour agir de manière identique sur l'ensemble des données aiguillées simultanément.

Description

B07-0427FR - ODE/EVH Société Anonyme dite : STMicroelectronics SA CNRS
Procédé et dispositif d'entrelacement de données Invention de : Cyrille CHAVET Pascal URARD Philippe COUSSY Eric MARTIN
Procédé et dispositif d'entrelacement de données L'invention concerne le brassage de données numériques pour la mise en oeuvre d'un code de correction d'erreurs.
Plus particulièrement, l'invention se rapporte au codage de correction d'erreurs pour des applications de transmission de données à haut débit, par exemple dans le domaine du multimédia ou des télécommunications, afin de minimiser l'influence des erreurs par mélange des données incidentes.
Une application particulièrement intéressante de l'invention concerne ainsi l'entrelacement de données pour codes de correction d'erreur, notamment de type LDPC ( Low Density Parity-Check Code , en anglais) ou Turbo-codes , afin de réduire l'influence d'erreurs sur un canal de transmission bruité.
Les codes de correction d'erreur de type LDPC ou Turbo- codes sont bien connus dans l'état de la technique. On pourra ainsi, par exemple, se référer au brevet français antérieur FR-91 05 280 qui décrit le principe général des turbo-codes .
Ces techniques de codage et de décodage sont basées sur un traitement itératif des données qui sont mélangées, à chaque étape de traitement, jusqu'à aboutir à une décorrélation des erreurs susceptibles d'être véhiculées. Ces techniques de codage de correction d'erreurs mettent en oeuvre un entrelaceur qui réalise une permutation itérative de symboles d'un code d'entrée et des bancs mémoire dans lesquels les données sont mémorisées. On a représenté sur la figure 1 un exemple d'architecture destinée à la mise en oeuvre d'un tel entrelacement de données. Comme on le voit sur cette figure, l'architecture représentée est une architecture parallèle. Elle comporte un ensemble de blocs ou de modules de traitement de données B1, B2, ...Bä disposés en parallèle assurant, en parallèle, la génération et les délivrance d'un ensemble de symboles binaires, un ensemble de bancs mémoire Ml, M2, ..., Mn disposés en parallèle et raccordés aux blocs B1, B2, ...Bä avec interposition de modules d'interconnexion Il et I2 destinés à assurer le traitement en parallèle des symboles issus des blocs B1, B2, ...B,,, pour assurer leur aiguillage vers les bancs mémoire Ml, M2, ...Mä en réalisant une permutation itérative des données des symboles en parallèle. L'un des problèmes majeurs liés à la mise en oeuvre de ce type d'architecture d'entrelacement concerne les conflits d'accès en mémoire. En effet, comme visible sur la figure 2, avec ce type d'architecture, il est possible que deux ou plusieurs blocs B1, B2, ..., Bä producteurs ou utilisateurs de données tentent d'écrire ou, au contraire, de lire en même temps des données différentes dans ou à partir d'un même banc mémoire. Diverses techniques ont été développées pour tenter de pallier cet inconvénient. L'une de ces techniques, décrite en détail dans le document FR 02 04 764, appelée turbo-code à roulettes , est basée sur la définition d'une règle d'entrelacement circulaire permettant d'implémenter un entrelaceur ayant un haut degré de parallélisme avec des performances équivalentes ou meilleures que celles des turbo- codes connus, tout en permettant de réduire la complexité de l'architecture d'interconnexion, en particulier pour des applications à très haut débit. Le principe des turbo-codes à roulettes est basé sur un découpage en P blocs de M symboles d'une trame d'information de N symboles. L'opération de codage est d'abord effectuée dans un ordre naturel afin de générer une redondance dans une première dimension. Chaque bloc est alors codé de manière indépendante par un code convolutif récursif systématique circulaire (CRSC). La trame d'information est ensuite permutée par un entrelaceur de taille N symboles. La trame entrelacée est également découpée en P blocs de longueurs N et chaque bloc est codé indépendamment par un code CRSC pour produire la redondance dans une deuxième dimension. L'entrelaceur est construit conjointement à l'organisation de la mémoire de façon à permettre le décodage en parallèle des P blocs. En d'autres termes, la structure de l'entrelaceur est choisie de manière à permettre de lire et écrire à chaque cycle les P données nécessaires au P décodeurs des P bancs mémoire, et ce, sans conflit. En effet, une seule lecture peut être effectuée au même instant dans une mémoire. Toutefois, cette technique est basée sur la mise en oeuvre d'une règle d'entrelacement spécifique et n'est donc pas conforme à un standard. Une autre technique, décrite dans le document SoC-Network for Interleaving in Wireless Communications de N. Wehn, MPSoC, 2004 est basée sur un ajout de mémoires dans le réseau afin d'assurer une temporisation des données en cas de situation de conflit. Toutefois, cette technique augmente la latence du circuit et engendre des réseaux d'interconnexion complexes. En outre, il est nécessaire de procéder par simulation au dimensionnement des mémoires ajoutées.
Enfin, une autre approche, proposée par Benedetto et décrite dans l'article Mapping Interleaving Laws to Parallel Turbo-decoder Architectures publié dans IEEE volume 8, mars 2004, consiste à ranger les données dans les bancs mémoire de manière à éviter les conflits. Particulièrement, cette approche propose d'identifier les données qui sont destinées à être consommées en même temps sur une matrice de pavage. On procède à une première affectation naïve dans les bancs mémoire, sans générer de conflit et à attribuer un banc aux données non affectées en corrigeant les conflits à l'aide d'une méthode dite de recuit-simulé ou de raffinement itératif .
Bien que cette technique permette de trouver un agencement mémoire quelle que soit la règle d'entrelacement, elle présente toutefois un certain nombre d'inconvénients majeurs, notamment en raison du fait qu'elle ne permet pas de générer un agencement mémoire permettant ensuite de réaliser une architecture matérielle utilisant des composants simples, de sorte que le réseau d'interconnexions est susceptible de présenter une architecture compliquée.
En outre, l'algorithme de recuit-simulé est relativement complexe à mettre en oeuvre et ne permet pas de déterminer, a priori, son achèvement. Cette technique nécessite enfin l'utilisation de deux mémoires de type ROM par format de trame pour mémoriser les ordres d'accès naturel et entrelacés. Au vu de ce qui précède, il est proposé un procédé d'entrelacement de données comprenant l'aiguillage des données vers des moyens de mémorisation au moyen d'une matrice d'affectation des données en mémoire, dans lequel on élabore la matrice de manière à aiguiller les données en mémoire en utilisant des moyens de traitement systématiques adaptés pour agir de manière identique sur l'ensemble des données aiguillées simultanément. En d'autres termes, il est proposé, dans le cadre de la présente description, un procédé d'entrelacement permettant de simplifier le réseau d'interconnexions et mettant en oeuvre une règle d'entrelacement conforme à des standards. Dans un mode de mise en oeuvre, la matrice d'affectation des données est élaborée par étapes successives au cours desquelles on affecte des données à des emplacements mémoire de manière à éviter les conflits d'accès en mémoire. Selon encore une autre caractéristique du procédé d'entrelacement, on détermine l'affectation en mémoire à partir d'un ordre de données en entrée et d'une règle d'entrelacement, en utilisant deux matrices intermédiaires dans chacune desquelles on affecte successivement des emplacement mémoire de telle sorte que l'aiguillage des données à des instants successifs s'effectue à l'aide desdits moyens de traitement systématiques, et en recopiant les affectations des mémoire de l'une des matrices intermédiaire vers l'autre. Par exemple, l'ordre des données en entrées et la règle d'entrelacement sont représentés par une matrice d'entrée et une matrice d'entrelacement, respectivement, dont les colonnes correspondent chacune à des accès simultanés à des données en parallèle. Dans un mode de mise en oeuvre, on affecte des emplacements mémoire à une première matrice intermédiaire sous la forme d'une première colonne d'emplacement mémoire, on reporte les emplacements mémoire dans la deuxième matrice intermédiaire à partir de l'emplacement des données correspondant dans la matrice d'entrelacement. En outre, on peut affecter des emplacements mémoire à une première colonne de la deuxième matrice intermédiaire et l'on reporte les emplacements mémoire dans la première matrice intermédiaire à partir de l'emplacement des données correspondantes dans la matrice d'entrée. On procède ensuite, par exemple, successivement à une affectation des emplacements mémoire à l'une des matrices intermédiaires et à un report des emplacements mémoire dans d'autres matrices intermédiaires jusqu'au remplissage de l'ensemble des première et deuxième matrice intermédiaires. Avantageusement, l'étape d'affectation des emplacements mémoire est réalisée de manière à éviter les conflits d'accès. I1 est également proposé, selon un deuxième aspect, un dispositif d'entrelacement de données d'un premier ensemble d'un module de traitement de données disposé en parallèle vers un deuxième ensemble de modules de traitement disposé en parallèle, comprenant un ensemble de bancs mémoire en parallèle et des moyens d'aiguillage interposés entre les bancs mémoire et les premier et deuxième ensembles de modules de traitement de données. Selon ce dispositif, les moyens d'aiguillage sont réalisés à partir de moyens de traitements de données systématiques adaptés pour agir de manière identique sur l'ensemble des données aiguillées simultanément en parallèle. Par exemple, les moyens de traitement de données comprennent des moyens de permutation de données.
D'autres buts, caractéristiques et avantages de l'invention apparaîtront à la lecture de la description suivante, donnée uniquement à titre d'exemple non limitatif, et faite en référence aux dessins annexés, sur lesquels : -la figure 1, dont il a déjà été fait mention, illustre l'architecture générale d'un dispositif d'entrelacement conventionnel ; - la figure 2, précédemment évoquée, illustre les inconvénients liés à l'utilisation de l'architecture de la figure 1 ; - la figure 3 illustre l'ordre des données tel que délivré au module d'aiguillage, avant entrelacement et l'ordre des données, après entrelacement ; - la figure 4 est un schéma illustrant une première phase d'un mode de mise en oeuvre d'un procédé d'entrelacement conforme à l'invention ; - la figure 5 illustre la phase de recopie des emplacements mémoires de la première matrice intermédiaire vers la deuxième matrice intermédiaire ; - la figure 6 illustre la phase d'affectation des emplacements mémoires dans la deuxième matrice intermédiaire ; - la figure 7 illustre une phase de recopie des emplacements mémoires de la deuxième matrice intermédiaire vers la première matrice intermédiaire ; - la figure 8 illustre une étape ultérieure de recopie des 25 emplacements mémoires dans la première matrice intermédiaire ; - la figure 9 montre une phase ultérieure au cours de laquelle on reporte les emplacements mémoires de la première matrice intermédiaire vers la deuxième matrice intermédiaire ; 30 - la figure 10 montre une phase ultérieure de remplissage de la deuxième matrice intermédiaire ; - la figure 11 montre une étape finale au cours de laquelle on reporte les emplacements mémoire de la deuxième matrice intermédiaire vers la première matrice intermédiaire ; 20 - la figure 12 est un schéma illustrant l'utilisation d'un moyen de permutation de données pour accéder successivement à l'ensemble des emplacements mémoires ; - la figure 13 est un exemple d'architecture permettant la mise en oeuvre d'un procédé d'entrelacement conforme à l'invention ; et - les figures 14 à 17 illustrent divers modes de réalisation d'une architecture conforme à l'invention. On va tout d'abord décrire en référence aux figures 3 à 12, un exemple de mise en oeuvre d'un procédé d'entrelacement de données selon un aspect de l'invention. Dans l'exemple de réalisation illustré, les données issues des modules de traitement se présentent selon l'ordre naturel suivant : {1, 2, 3, ...,12} Après entrelacement, la règle d'entrelacement prévoit que les données entrelacées se présentent selon l'ordre suivant : {10, 1, 4, 7, 8, 11, 3, 6, 2, 5, 9, 12}. L'ordre naturel des données et l'ordre des données entrelacées sont respectivement illustrés par les matrices Ml et M2 visibles sur la figure 3. Par ailleurs, dans l'exemple de mise en oeuvre envisagée, les données sont délivrées par quatre modules de traitement producteurs ou consommateurs de données. En outre, l'architecture d'entrelacement comporte quatre bancs mémoire, désignés par la suite par les références B1, B2, B3 et B4. L'architecture d'entrelacement ainsi que le procédé d'entrelacement correspondant sont destinés à permettre de ranger les données en mémoire à partir de l'ordre naturel, en considérant l'ordre entrelacé tout en évitant les conflits. Pour ce faire, à partir de la matrice illustrant l'ordre naturel des données, tel que délivré par les modules de traitement, on procède tout d'abord à une affectation des quatre bancs mémoires B1, B2, B3 et B4 à un ensemble d'emplacements de la matrice d'entrée matrice IN .
I1 s'agit par exemple, dans l'exemple illustré, d'affecter les quatre bancs mémoires B1, B2, B3 et B4 aux quatre emplacements de la première colonne de la matrice d'entrée (figure 4). Lors de l'étape suivante, visible sur la figure 5, on reporte les contraintes ainsi élaborées sur la matrice de sortie matrice OUT . Comme illustré, il s'agit, en d'autres termes, d'identifier, dans la matrice d'entrelacement M2, les emplacements mémoires correspondant aux données entrelacées. En d'autres termes, le procédé d'entrelacement consiste à utiliser deux matrices intermédiaires, à savoir la matrice d'entrée et la matrice de sortie, d'affecter des bancs mémoires dans l'une des matrices, et de reporter, dans l'autre matrice, les bancs mémoires correspondant à l'ordre entrelacé. Ces étapes sont répétées jusqu'au remplissage complet des deux matrices intermédiaires.
Ainsi, comme visible sur la figure 6, après avoir reporté, dans la matrice de sortie, les bancs mémoires affectés à la première colonne de la matrice d'entrée, en tenant compte de l'ordre des données entrelacées, on affecte, dans la matrice de sortie, les bancs mémoires aux colonnes suivantes de cette matrice.
On reporte ainsi, de la même manière, les bancs mémoires affectés à la matrice de sortie en identifiant la valeur des données correspondantes dans la matrice d'entrelacement et en recopiant les bancs mémoire dans la matrice d'entrée, en tenant compte de l'ordre naturel de données identifié par la matrice Ml(figure 7).
Lors de l'étape suivante, illustrée à la figure 8, on effectue une nouvelle étape d'affectation de bancs mémoires, à partir de l'ordre naturel. Toutefois, dans ce cas, on prend soin d'affecter les bancs mémoires B3 et B4 dans un ordre particulier afin d'éviter les conflits d'accès mais également de permettre l'utilisation de moyens de permutation pour le passage de données d'une colonne précédente à une colonne en cours. En effet, à ce stade, il convient d'affecter le banc mémoire B3 à la cellule (l, 2) de la matrice d'entrée afin de permettre l'utilisation de moyens de permutation entre la première colonne et la deuxième colonne. Après avoir effectué cette affectation, on reporte, de la même manière, en se référant à la figure 9, les bancs mémoires dans la matrice de sortie, en tenant compte de l'ordre entrelacé. Comme visible sur les figures 10 et 11, il convient alors simplement de remplir les deux dernières cases libres de la matrice de sortie et de reporter, dans la matrice d'entrée, les bancs mémoires en tenant compte de l'ordre naturel.
Ainsi, comme on le voit sur la figure 12, à partir de l'ordre naturel, les données peuvent être rangées dans la matrice d'entrée, successivement, en procédant, d'une part, à un décalage double et, d'autre part, à un décalage neutre. On comprendra ainsi que l'on peut minimiser la complexité de la commande des moyens de permutation qui, en ce qui concerne le deuxième décalage, peuvent être alors inactivés. En ce qui concerne l'ordre entrelacé, les données sont successivement rangées en mémoire en mettant en oeuvre une permutation de -1 et une permutation double de +2 .
On conçoit ainsi que l'entrelacement peut être mis en oeuvre au moyen d'un agencement des données en mémoire utilisant uniquement des moyens de décalage de type Barrel-shifter , en anglais. Les données rangées en mémoire sont alors rangées selon les séquences suivantes, en ce qui concerne les bancs B1, B2, B3 et B4 : Banc B1 : {1, 8, 9,} Banc B2 : {4, 11, 12} Banc B3 : {2, 3, 7} Banc B4 : {5, 6, 10} Ainsi, comme on le voit sur la figure 13, l'architecture permettant de mettre en oeuvre le procédé d'entrelacement qui vient d'être décrit utilise uniquement des moyens de permutation régulière des données, par exemple de type Barrel-shifter ou registre à barillet , 1, 2 pilotés chacun par un moyen de commande 3, 4 prévoyant la mémorisation des données issues des blocs de traitement B1, B2, ..., Bä dans des bancs de mémoire M1, M2, ... Mn eux-mêmes pilotés par un moyen de commande 5 servant à l'adressage des bancs mémoires. Ce schéma général peut être obtenu au moyen de divers types d'architectures. Ainsi, en se référant à la figure 14, qui illustre un premier mode d'implantation, on prévoit d'accéder en parallèle à différents bancs mémoires Ml, M2, M3, M4 et M5 placés entre deux étages de permutation. Comme on le voit, les étages de permutation BS ainsi que les bancs mémoires sont chacun pilotés par un étage de contrôle CTRL1, CTRL2 et CTRL3 sous le contrôle d'un compteur CPT. Comme visible sur la figure 15, on peut également, en variante, utiliser un unique étage de permutation BS permettant d'accéder à l'ensemble des bancs mémoires Ml, M2, M3, M4 et M5.
Selon encore une autre variante, visible sur la figure 16, on utilise un unique étage de permutation BS permettant d'accéder, en parallèle, à des bancs mémoires Ml, M2, M3 et M4 sous la commande d'étages de contrôle CTRL1 et CTRL2 respectifs, eux-mêmes sous le contrôle d'un compteur CPT. Les bancs mémoires Ml, M2, M3 et M4 sont eux-mêmes raccordés à des multiplexeurs MUX pilotés par un étage de contrôle CTRL3. Enfin, selon encore un autre mode de mise en oeuvre, l'étage de permutation BS est placé en aval des bancs mémoires Ml, M2, M3, M4, M5 et M'l, M'2, M'3, M'4 et M'S pour, par exemple, recevoir en parallèle, des données issues de dits étages de traitement (figure 17).

Claims (10)

REVENDICATIONS
1. Procédé d'entrelacement de données, comprenant l'aiguillage des données en parallèle vers des moyens de mémorisation (Ml, M2,..., Mn) au moyen d'une matrice d'affectation des données en mémoire, caractérisé en ce que l'on élabore la matrice de manière à aiguiller les données en mémoire en utilisant des moyens de traitement (Il, I2) systématiques adaptés pour agir de manière identique sur l'ensemble des données aiguillées simultanément en parallèle.
2. Procédé selon la revendication 1, caractérisé en ce que la matrice d'affectation des données est élaborée par étapes successives au cours desquelles on affecte des données à des emplacements mémoire de manière à éviter les conflits d'accès en mémoire.
3. Procédé selon l'une quelconque des revendications 1 et 2, caractérisé en ce que l'on détermine l'affectation en mémoire à partir d'un ordre de données en entrée et d'une règle d'entrelacement, en utilisant deux matrices intermédiaires (Matrice IN, Matrice OUT) dans chacune desquelles on affecte successivement des emplacement mémoire de telle sorte que l'aiguillage des données à des instants successifs s'effectue à l'aide desdits moyens de traitement systématiques, et en recopiant les affectations des mémoire de l'une des matrices intermédiaire vers l'autre.
4. Procédé selon la revendication 3, caractérisé en ce que l'ordre des données en entrée et la règle d'entrelacement sont représentés par une matrice d'entrée (Ml) et une matrice d'entrelacement (M2), respectivement, dont les colonnes correspondent chacune à des accès simultanés à des données en parallèle.
5. Procédé selon la revendication 4, caractérisé en ce que l'on affecte des emplacements mémoire à une première matrice intermédiaire sous la forme d'une première colonne d'emplacement mémoire, on reporte les emplacements mémoire dans la deuxième matrice intermédiaire à partir de l'emplacement des données correspondant dans la matrice d'entrelacement.
6. Procédé selon la revendication 5, caractérisé en ce que l'on affecte en outre des emplacements mémoire à une première colonne de la deuxième matrice intermédiaire et l'on reporte les emplacements mémoire dans la première matrice intermédiaire à partir de l'emplacement des données correspondantes dans la matrice d'entrée.
7. Procédé selon la revendication 6, caractérisé en ce que l'on procède successivement à une affectation des emplacements mémoire à l'une des matrices intermédiaires et à un report des emplacements mémoire dans l'autre matrice intermédiaire jusqu'au remplissage de l'ensemble des première et deuxième matrices intermédiaires.
8. Procédé selon la revendication 7, caractérisé en ce que l'étape d'affectation des emplacements mémoire est réalisée de manière à éviter les conflits d'accès.
9. Dispositif d'entrelacement de données d'un premier ensemble de module de traitement de données disposées en parallèle vers un deuxième ensemble de module de traitement disposées en parallèle, comprenant un ensemble de bancs mémoire (Ml, M2, M3) en parallèle et des moyens d'aiguillage (Il, I2) interposés entre les bancs mémoire et les premier et deuxième ensembles de modules de traitement de données, caractérisé en ce que les moyens d'aiguillage sont réalisés à partir de moyens de traitement de données systématiques adaptés pour agir de manière identique sur l'ensemble des données aiguillées simultanément en parallèle.
10. Dispositif selon la revendication 9, caractérisé en ce que les moyens de traitement de données comprennent des moyens de permutation de données.
FR0754793A 2007-04-30 2007-04-30 Procede et dispositif d'entrelacement de donnees Expired - Fee Related FR2915641B1 (fr)

Priority Applications (2)

Application Number Priority Date Filing Date Title
FR0754793A FR2915641B1 (fr) 2007-04-30 2007-04-30 Procede et dispositif d'entrelacement de donnees
US12/150,599 US8327033B2 (en) 2007-04-30 2008-04-29 Method and device for interleaving data

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR0754793A FR2915641B1 (fr) 2007-04-30 2007-04-30 Procede et dispositif d'entrelacement de donnees

Publications (2)

Publication Number Publication Date
FR2915641A1 true FR2915641A1 (fr) 2008-10-31
FR2915641B1 FR2915641B1 (fr) 2009-08-07

Family

ID=38895924

Family Applications (1)

Application Number Title Priority Date Filing Date
FR0754793A Expired - Fee Related FR2915641B1 (fr) 2007-04-30 2007-04-30 Procede et dispositif d'entrelacement de donnees

Country Status (2)

Country Link
US (1) US8327033B2 (fr)
FR (1) FR2915641B1 (fr)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013124449A1 (fr) 2012-02-23 2013-08-29 Universite De Bretagne Sud Dispositif auto-configurable d'entrelacement/desentrelacement de trames de donnees

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112636767B (zh) * 2020-12-03 2023-04-07 重庆邮电大学 一种具有单置换网络的分层半并行ldpc译码器系统

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2838581A1 (fr) * 2002-04-16 2003-10-17 Universit De Bretagne Sud Procede de codage et/ou de decodage de codes correcteurs d'erreurs, dispositifs et signal correspondants

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006092681A2 (fr) * 2005-02-09 2006-09-08 Nokia Siemens Networks Oy Structure arq hybride peu complexe basee sur des codes en zigzag a debit compatible
US7934139B2 (en) * 2006-12-01 2011-04-26 Lsi Corporation Parallel LDPC decoder

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2838581A1 (fr) * 2002-04-16 2003-10-17 Universit De Bretagne Sud Procede de codage et/ou de decodage de codes correcteurs d'erreurs, dispositifs et signal correspondants

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
A. TARABLE, G. MONTORSI, S. BENEDETTO: "Mapping interleaving laws to parallel Turbo decoder", ARTICLE INTERNET, 4 January 2005 (2005-01-04), pages 1 - 15, XP002464595, Retrieved from the Internet <URL:http://web.archive.org/web/20050104220723/http://www.commgroup.polito.it/personal/Tarable/articoli/mapping.pdf> [retrieved on 20080114] *
BENEDETTO S ET AL: "Mapping Interleaving Laws to Parallel Turbo Decoder Architectures", IEEE COMMUNICATIONS LETTERS, IEEE SERVICE CENTER, PISCATAWAY, NJ, US, vol. 8, no. 3, March 2004 (2004-03-01), pages 162 - 164, XP011109552, ISSN: 1089-7798 *
GNAEDIG D ET AL: "Les Turbo-Codes à Roulettes", ARTICLE INTERNET, 3 February 2004 (2004-02-03), pages 1 - 5, XP002387617, Retrieved from the Internet <URL:http://web.univ-ubs.fr/lester/ boutillon/articles/Gretsi_03_TCR.pdf> [retrieved on 20060627] *
N. WEHN: "SoC-Network for Interleaving in Wireless Communications", MPSOC'03, July 2003 (2003-07-01), Chamonix, France, pages 1 - 14, XP002464594, Retrieved from the Internet <URL:http://tima.imag.fr/MPSOC/2003/slides/MPSoC03_presentation_wehn.pdf> [retrieved on 20080114] *
N. WEHN: "SoC-Network for Interleaving in Wireless Communications", MPSOC'04, July 2004 (2004-07-01), Saint-Maximin la Sainte Baume, France, pages 1 - 13, XP002464593, Retrieved from the Internet <URL:http://tima.imag.fr/mpsoc/2004/slides/Wehn.pdf> [retrieved on 20080114] *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013124449A1 (fr) 2012-02-23 2013-08-29 Universite De Bretagne Sud Dispositif auto-configurable d'entrelacement/desentrelacement de trames de donnees

Also Published As

Publication number Publication date
US20090031094A1 (en) 2009-01-29
FR2915641B1 (fr) 2009-08-07
US8327033B2 (en) 2012-12-04

Similar Documents

Publication Publication Date Title
US6678843B2 (en) Method and apparatus for interleaving, deinterleaving and combined interleaving-deinterleaving
EP0484259B1 (fr) Procédé de codage binaire à taux de basculement des éléments binaires sensiblement uniforme, et procédés d&#39;incrémentation et de décrémentation correspondants
EP0995272B1 (fr) Decodage iteratif de codes produits
US7856579B2 (en) Network for permutation or de-permutation utilized by channel coding algorithm
FR2679722A1 (fr) Processeur destine a generer une transformee de walsh.
FR2900294A1 (fr) Chargement de la memoire d&#39;entree d&#39;un decodeur ldpc avec des donnees a decoder
FR2816773A1 (fr) Module, dispositif et procede de decodage a haut debit, d&#39;un code concatene
US7584389B2 (en) Turbo decoding apparatus and method
Chavet et al. Static address generation easing: a design methodology for parallel interleaver architectures
FR2790621A1 (fr) Dispositif et procede d&#39;entrelacement pour turbocodage et turbodecodage
Chavet et al. A memory Mapping Approach for Parallel Interleaver design with multiples read and write accesses
FR2540690A1 (fr) Verificateur de codeur
FR2785741A1 (fr) Dispositif et procede de codage et d&#39;entrelacement pour des turbocodes series ou hybrides
FR2785744A1 (fr) Procede et dispositif de codage de sequences de donnees, procede et dispositif de decodage associes
FR2896359A1 (fr) Procede d&#39;encodage et de decodage rapides et dispositifs associes.
CN101192837B (zh) turbo解码器及解码turbo编码信号的方法
FR2915641A1 (fr) Procede et dispositif d&#39;entrelacement de donnees
JP2002198935A (ja) 次世代移動通信システムにおけるターボディコーディングを行う方法
EP1720171A1 (fr) Dispositif de décalage en anneau
EP2817886A1 (fr) Dispositif auto-configurable d&#39;entrelacement/desentrelacement de trames de donnees
FR2787263A1 (fr) Procede de transmission avec codage de canal a entrelacement efficace et modulaire pour turbo codes
FR2838581A1 (fr) Procede de codage et/ou de decodage de codes correcteurs d&#39;erreurs, dispositifs et signal correspondants
FR2888062A1 (fr) Codeur et turbo decodeur de code produit
FR2922699A1 (fr) Decodage iteratif dans un reseau maille, procede et systeme correspondants
FR2800950A1 (fr) Procede d&#39;entrelacement pour turbo-codage convolutif de donnees

Legal Events

Date Code Title Description
ST Notification of lapse

Effective date: 20131231