FR2807895A1 - Procedes et dispositifs de codage et de decodage et systemes les mettant en oeuvre - Google Patents

Procedes et dispositifs de codage et de decodage et systemes les mettant en oeuvre Download PDF

Info

Publication number
FR2807895A1
FR2807895A1 FR0004988A FR0004988A FR2807895A1 FR 2807895 A1 FR2807895 A1 FR 2807895A1 FR 0004988 A FR0004988 A FR 0004988A FR 0004988 A FR0004988 A FR 0004988A FR 2807895 A1 FR2807895 A1 FR 2807895A1
Authority
FR
France
Prior art keywords
sequence
coding
sub
decoding
sequences
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
FR0004988A
Other languages
English (en)
Other versions
FR2807895B1 (fr
Inventor
Dantec Claude Le
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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to FR0004988A priority Critical patent/FR2807895B1/fr
Priority to US09/826,148 priority patent/US6993085B2/en
Priority to JP2001120045A priority patent/JP2001352251A/ja
Publication of FR2807895A1 publication Critical patent/FR2807895A1/fr
Application granted granted Critical
Publication of FR2807895B1 publication Critical patent/FR2807895B1/fr
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

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/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
    • H03M13/296Particular turbo code structure
    • 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
    • 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
    • H03M13/2996Tail biting

Landscapes

  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Error Detection And Correction (AREA)
  • Detection And Correction Of Errors (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)

Abstract

Pour coder une séquence source de symboles (u) en une séquence codée : on divise (508) la séquence source (u) en p1 premières sous-séquences (U i ), P1 étant un entier positif, et on code chacune des premières sous-séquences (U i ) à l'aide d'un premier procédé de codage convolutif circulaire; on entrelace (506) la séquence source (u) en une séquence entrelacée (u* ); et on divise (507) la séquence entrelacée (u* ) en p2 secondes sous-séquences (U' i ), p2 étant un entier positif, et on code chacune des secondes sous-séquences (U' i ) à l'aide d'un second procédé de codage convolutif circulaire. L'un au moins des entiers p1 et P2 est strictement supérieur à 1 et l'une au moins des premières sous-séquences (U i ) n'est entrelacée en aucune des secondes sous-séquences (U'j ).

Description

présente invention se rapporte à des procédés et des dispositifs de codage de décodage et à des systèmes les mettant en oeuvre.
Classiquement, un turbocodeur est constitué trois parties essentielles : deux codeurs convolutifs récursifs systématiques elémentaires et un entrelaceur.
décodeur associé est constitué des deux décodeurs élémentaires à entrées sorties dites douces correspondant aux codeurs convolutifs, d'un entrelaceur de son entrelaceur inverse (appelé aussi "désentrelaceur"). On trouvera une description des turbocodes dans l'article
Figure img00010011
Figure img00010012

correspondant à la présentation faite par C. BERROU, A. GLAVIEUX et P. THITIMAJSHIMA lors de la conférence ICC à Genève en mai 1993.
Les codeurs étant récursifs systématiques, un problème qu'on retrouve souvent est celui de la mise à zéro des codeurs élémentaires.
On trouve dans l'art antérieur diverses façons de traiter ce problème, notamment Absence de retour à zéro : on initialise les codeurs à l'état nul et on les laisse évoluer vers un état quelconque sans intervenir.
Remise à zéro du premier codeur: on initialise les codeurs à l'état nul on ajoute des bits de padding pour imposer un état final nul uniquement au premier codeur.
3. "Turbo codes convolutifs orientés trame" (FOCTC, en anglais
Figure img00010020

on initialise le premier codeur et on prend comme état initial du second codeur l'état final du premier codeur. Lorsqu'on utilise une classe d'entrelaceurs ayant certaines proprietés, l'état final second codeur est nul. On se reportera utilement à ce sujet a l'article de C. BERROU et M. JEZEQUEL intitulé
Figure img00020005

Electronics Letters, Vol. 32, n 15, 18 juillet 1996, pages 1362 à 1364, Stevenage, Herts, Grande Bretagne.
4. Remises à zéro indépendantes des deux codeurs : on initialise codeurs à l'état nul et on ajoute de façon indépendante des bits de padding a chacune des séquences entrant dans les codeurs. Une description générale de remises à zéro indépendantes des codeurs est donnée dans rapport de D. DIVSALAR et F. POLLARA intitulé
Figure img00020012
Figure img00020013

publié en novembre 1995 par JPL (Jet Propulsion Laboratory). 5. Remises à zéro intrinsèques des deux codeurs : on initialise les codeurs à l'état nul et on ajoute des bits de padding à la séquence qui entre dans le premier codeur. Lorsqu'on utilise un entrelaceur garantissant le retour à zéro tel qu'exposé dans le document de brevet FR-A-2 773 287 et qu'on entrelace la séquence comprenant les bits de padding, le second codeur a automatiquement un état final nul.
6. Utilisation de codeurs circulaires (en anglais
Figure img00020020

ou
Figure img00020021

On trouvera une description de codes convolutifs concaténés circulaires dans l'article de C. BERROU, C. DOUILLARD et M. JEZEQUEL intitulé
Figure img00020027
Figure img00020028

publié dans la revue "Annales des Télécommunications", tome 54, n s 3-4, pages 166 à 172, 1999. Dans les codeurs circulaires, on choisit un état initial du codeur tel que l'état final soit le même.
Pour chacune des solutions de l'art antérieur mentionnées ci-dessus, il existe une terminaison de treillis adaptée pour chaque décodeur correspondant. Ces décodeurs prennent en compte la terminaison ou non des treillis, ainsi que, le cas échéant, le fait que chacun des deux codeurs utilise les mêmes bits de padding.
Le turbodécodage est une opération itérative bien connue de l'homme du métier. Pour plus de détails, on pourra se reporter - au rapport de S. BENEDETTO, G. MONTORSI, D. DIVSALAR et F. POLLARA intitulé
Figure img00030004

publié par JPL dans TDA Progress Report 42-124, en février 96 ;
Figure img00030008

- à l'article de L.R BAHL, J. COCKE, F. JELINEK et J. RAVIV intitulé
Figure img00030014

publié dans IEEE Transactions on Information Theory, pages 284 à 287 en mars 1974.
Les solutions 1 et 2 offrent généralement de moins bonnes performances que les solutions 3 à 6.
Cependant, les solutions 3 et 4 présentent également des inconvénients.
La solution 3 limite le choix des entrelaceurs, ce qui risque de réduire les performances ou de compliquer inutilement la réalisation de l'entrelaceur. Lorsque la taille de l'entrelaceur est petite, la solution 4 a de moins bonnes performances les solutions 5 et 6.
Les solutions et 6 semblent donc les plus appropriées.
Cependant, solution 5 présente l'inconvénient de nécessiter des bits de padding, ce qui est pas le cas de la solution 6.
La solution semble donc intéressante. Néanmoins, cette solution présente l'inconvénient nécessiter un précodage (en anglais
Figure img00030024

tel que spécifié dans le document intitulé
Figure img00030025
Figure img00030026

cité précédemment. La durée de précodage est une contrainte non négligeable. Ce temps est le facteur principal de la latence du codeur, est-à-dire le délai entre l'entrée dans le codeur d'un premier bit et la sortie premier bit codé. Ceci est particulièrement gênant pour certaines applications sensibles aux délais de transmission.
La présente invention a pour but de remédier aux inconvénients précités.
Elle permet notamment d'obtenir de bonnes performances tout en ne nécessitant pas de bits padding et en limitant la latence de précodage.
Dans ce but, présente invention propose un procédé de codage d'une séquence source de symboles en une séquence codée, remarquable en ce qu'il comporte des étapes suivant lesquelles - on effectue une première opération de division sous-séquences et codage, consistant à diviser la séquence source en premières sous- sequences, pi étant un entier positif, et à coder chacune des premières sous- sequences à l'aide d'un premier procédé de codage convolutif circulaire ; - on effectue une opération d'entrelacement, consistant à entrelacer séquence source en une séquence entrelacée ; et - on effectue une seconde opération de division en sous-séquences codage, consistant à diviser la séquence entrelacée en p2 secondes sous- sequences, p2 étant un entier positif, et à coder chacune des secondes sous- sequences à l'aide d'un second procédé de codage convolutif circulaire ; au moins des entiers pl et p2 étant strictement supérieur à 1 et l'une au moins des premières sous-séquences n'étant entrelacée en aucune des secondes sous-séquences.
Un tel procédé de codage est particulièrement bien adapté à des turbocodes offrant de bonnes performances, ne nécessitant de bits d'ajout et entraînant une latence de codage relativement faible.
De plus, il est particulièrement simple à mettre en ceuvre.
Selon une caractéristique particulière, le premier second procédé de codage convolutif circulaire comporte - une étape de précodage, consistant à définir l'état initial du procédé de codage pour la sous-séquence considérée, de façon à produire une sous-séquence précodée, et - une étape de codage convolutif circulaire.
Cette caractéristique a pour avantage sa simplicité de mise en oeuvre.
Selon une caractéristique particulière, on effectue simultanément l'étape de précodage pour une des premières sous-séquences et l'étape de codage convolutif circulaire pour une autre des premières sous-séquences déjà précodée.
Cette caractéristique permet de diminuer de façon importante la latence de codage.
Selon une caractéristique particulière, les entiers pi et p2 sont égaux. Cette caractéristique confère une symétrie au procédé tout en étant simple à mettre en oeuvre.
Selon une caractéristique particulière, la taille de toutes les sous- séquences est identique.
Cette caractéristique a pour avantage sa simplicité de mise en oeuvre.
Selon une caractéristique particulière, les premier et second procédés de codage convolutif circulaire sont identiques, ce qui permet de simplifier la réalisation.
Selon une caractéristique particulière, le procédé de codage comporte en outre des étapes suivant lesquelles - on effectue une opération d'entrelacement supplémentaire, consistant à entrelacer la séquence de parité issue de la première opération de division en sous-séquences et codage ; et - on effectue une troisième opération division en sous-séquences et codage, consistant à diviser la séquence entrelacée, obtenue à l'issue de l'opération d'entrelacement supplémentaire, en troisièmes sous-séquences, p3 étant un entier positif, et à coder chacune des troisièmes sous-séquences à l'aide d'un troisième procédé de codage convolutif circulaire.
Cette caractéristique présente les avantages généraux des turbocodes séries ou hybrides ; on obtient notamment de bonnes performances, en particulier à faible rapport signal sur bruit.
Dans le même but que celui mentionné plus haut, la présente invention propose également un dispositif de codage d'une séquence source de symboles en une séquence codée, remarquable ce qu'il comporte - un premier module de division en sous-séquences et codage, pour diviser la séquence source en pi premières sous séquences, p, étant un entier positif, et pour coder chacune des premières sous-séquences à l'aide d'un premier module de codage convolutif circulaire ; - un module d'entrelacement, pour entrelacer la séquence source en une séquence entrelacée ; et - un second module de division en sous-séquences et codage, pour diviser la séquence entrelacée en p2 secondes sous-séquences, p2 étant un entier positif, et pour coder chacune des secondes sous-séquences à l'aide d'un second module de codage convolutif circulaire ; l'un au moins des entiers pl et p2 étant strictement supérieur à 1 et l'une au moins des premières sous-séquences n'étant entrelacée en aucune des secondes sous séquences.
Les caractéristiques particulières et avantages du dispositif codage étant similaires à ceux du procédé de codage, ils ne sont pas rappelés ici.
Toujours dans le même but, la présente invention propose en outre un procédé de décodage d'une séquence de symboles reçus, remarquable ce qu'il est adapté à décoder une séquence codée par un procédé de codage tel que ci-dessus.
Dans un mode particulier de réalisation, le procédé de décodage utilisant un turbodécodage, on effectue itérativement - première opération de division en sous-séquences, s'appliquant les symboles reçus représentatifs de la séquence source et d'une première séquence de parité, ainsi que sur l'information a priori de la séquence source; - pour chaque triplet de sous-séquences représentatif d'une sous- séquence codée par un code convolutif circulaire, une première opération décodage élémentaire, adaptée à décoder une séquence codée par un code convolutif circulaire et fournissant une sous-séquence d'information extrinsèque sur une sous-sequence de la séquence source ; - opération d'entrelacement de la séquence formée des sous séquences d'information extrinsèque fournies par la première opération de décodage élémentaire ; - une deuxième opération de division en sous-séquences, s'appliquant sur les symboles reçus représentatifs de la séquence entrelacée et d'une deuxième séquence de parité, ainsi que sur l'information a priori de la séquence entrelacée<B>;</B> - pour chaque triplet de sous-séquences représentatif d'une sous- sequence codée par un code convolutif circulaire, une deuxième operation de decodage élémentaire, adaptée à décoder une séquence codée un code convolutif circulaire et fournissant une sous-séquence d'information extrinsèque une sous-séquence de la séquence entrelacée ; - une opération de désentrelacement de la séquence formée des sous-séquences d'information extrinsèque fournies par la deuxième opération de décodage élémentaire.
Toujours dans le même but, la présente invention propose également un dispositif de décodage d'une séquence de symboles reçus, remarquable en ce qu'il est adapté à décoder une séquence codée au moyen d'un dispositif de codage tel que ci-dessus.
Les caractéristiques particulières et avantages du dispositif de décodage étant similaires à ceux du procédé de décodage, ils ne sont pas rappelés ici.
La présente invention vise aussi un appareil de traitement de signaux numériques, comportant des moyens adaptés à mettre en oeuvre un procédé codage et/ou un procédé de décodage tels que ci-dessus.
La présente invention vise aussi un appareil de traitement signaux numériques, comportant un dispositif de codage et/ou un dispositif décodage tels que ci-dessus.
La présente invention vise aussi un réseau de télécommunications, comportant des moyens adaptés à mettre en oeuvre un procédé de codage et/ou un procédé de décodage tels que ci-dessus.
La présente invention vise aussi un réseau de télécommunications, comportant un dispositif de codage et/ou un dispositif de décodage tels que ci- dessus.
La présente invention vise aussi une station mobile dans un réseau télécommunications, comportant des moyens adaptés à mettre en oeuvre un procédé de codage et/ou un procédé de décodage tels que ci-dessus. La présente invention vise aussi une station mobile dans un reseau de télécommunications, comportant un dispositif de codage et/ou un dispositif de décodage tels que ci-dessus.
La présente invention vise aussi un dispositif de traitement de signaux représentatifs de parole, comportant un dispositif de codage et/ou un dispositif de décodage tels que ci-dessus.
La présente invention vise aussi un dispositif de transmission de données comportant un émetteur adapté à mettre en ceuvre un protocole de transmission par paquets, comportant un dispositif de codage et/ou un dispositif de décodage et/ou un dispositif de traitement de signaux représentatifs de parole tels que ci-dessus.
Selon une caractéristique particulière du dispositif de transmission de données, le protocole de transmission par paquets est de type ATM (mode de transfert asynchrone, en anglais
Figure img00080003

En variante, le protocole de transmission par paquets est de type IP (protocole de transmission utilisé sur Internet, en anglais
Figure img00080005

L'invention vise aussi - un moyen de stockage d'informations lisible par un ordinateur ou un microprocesseur conservant des instructions d'un programme informatique, permettant la mise en pauvre d'un procédé de codage et/ou d'un procédé de décodage tels que ci-dessus, et - un moyen de stockage d'informations amovible, partiellement ou totalement, lisible par un ordinateur ou un microprocesseur conservant des instructions d'un programme informatique, permettant la mise en oeuvre d'un procédé de codage et/ou d'un procédé de décodage tels que ci-dessus.
L'invention vise aussi un programme d'ordinateur comportant des séquences d'instructions pour mettre en oeuvre un procédé de codage et/ou un procédé de decodage tels que ci-dessus.
caractéristiques particulières et les avantages des differents appareils traitement de signaux numériques, des différents réseaux de télécommunications, des différentes stations mobiles, du dispositif de traitement de signaux représentatifs de parole, du dispositif de transmission de données, des moyens de stockage d'informations et du programme d'ordinateur étant similaires ' ceux du procédé d'entrelacement selon l'invention, ils ne sont pas rappelés D'autres aspects et avantages de l'invention apparaîtront à la lecture de la description détaillée qui suit de modes particuliers de réalisation, donnés à titre d'exemples non limitatifs. La description se réfère aux dessins l'accompagnent, dans lesquels la figure 1 représente schématiquement un dispositif électronique comportant un dispositif de codage conforme à la présente invention, dans mode particulier de réalisation ; - la figure 2 représente schématiquement, sous forme de schéma bloc, un dispositif de codage correspondant à un turbocode convolutif parallèle, conforme à la présente invention, dans un mode particulier de réalisation ; - la figure 3 représente schématiquement un dispositif électronique comportant un dispositif de décodage conforme à la présente invention, dans un mode particulier de réalisation ; la figure 4 représente schématiquement, sous forme de schéma bloc, un dispositif de décodage correspondant à un turbocode convolutif parallèle, conforme à la présente invention, dans un mode particulier réalisation - la figure 5 est un organigramme représentant schématiquement le fonctionnement d'un dispositif de codage tel que celui inclus dans le dispositif électronique de la figure 1, dans un mode particulier de réalisation ; - la figure 6 est un organigramme représentant schématiquement des opérations de décodage et de correction d'erreur mises en oeuvre par un dispositif de décodage tel que celui inclus dans le dispositif électronique de figure 3, conformément à la présente invention, dans un mode particulier réalisation ; - la figure 7 est un organigramme représentant schématiquement l'opération de turbodécodage proprement dite incluse dans le procédé de décodage conforme à la présente invention. La figure 1 illustre schématiquement la constitution d'une station de réseau ou station de codage informatique, sous forme de schéma synoptique.
Cette station comporte un clavier 111, un écran 109, une source d'information externe 110, un émetteur hertzien 106, conjointement reliés à un port d'entreeslsorties 103 d'une carte de traitement 101.
carte de traitement 101 comporte, reliés entre eux par un bus d'adresses de données 102 une unité centrale de traitement 100 ; une mémoire vive RAM 104; une mémoire morte ROM 105 ; et le port d'entrées/sorties 103.
Chacun des éléments illustrés en figure 1 est bien connu de l'homme du métier des micro-ordinateurs et des systèmes de transmission et, plus généralement, des systèmes de traitement de l'information. Ces éléments communs ne sont donc pas décrits ici. On observe, cependant, que - la source d'information 110 est, par exemple, un périphérique d'interface, un capteur, un démodulateur, une mémoire externe ou un autre système traitement d'information (non représenté), et est préférence adaptée a fournir des séquences de signaux représentatifs parole, de messages de service ou de données multimédia, sous forme de sequences de données binaires, et que - l'émetteur hertzien 106 est adapté à mettre en oeuvre protocole de transmission par paquets sur un canal non filaire, et à transmettre ces paquets sur un tel canal.
On observe en outre que le mot "registre" utilisé dans la description désigne, dans chacune des mémoires 104 et 105, aussi bien une zone mémoire de faible capacité (quelques données binaires) qu'une zone mémoire de grande capacité (permettant de stocker un programme entier).
La mémoire vive 104 conserve des données, des variables et des résultats intermédiaires de traitement, dans des registres de mémoire portant, dans la description, les mêmes noms que les données dont ils conservent les valeurs. La mémoire vive 104 comporte notamment - un registre "données source", dans lequel sont conservées, dans l'ordre de leur arrivée sur le bus 102, les données binaires en provenance de la source d'information 110, sous forme d'une séquence u, - un registre<I>"données permutées",</I> dans lequel sont conservees, dans l'ordre de leur arrivée sur le bus 102, les données binaires permutees, sous forme d'une séquence u*, - un registre<I>"données à -émettre",</I> dans lequel sont conservées les séquences à transmettre, - un registre "n", dans lequel est conservée la valeur n de la taille de la séquence source, et - un registre "nb <I>données",</I> qui conserve un nombre entier correspondant au nombre de données binaires dans le registre <I>"données source".</I>
La mémoire morte 105 est adaptée à conserver, dans des registres qui, par commodité, possèdent les mêmes noms que les données qu'ils conservent - le programme de fonctionnement de l'unité centrale de traitement 100, dans un registre "program", - tableau définissant l'entrelaceur, dans un registre "entrelaceur", - séquence gi, dans un registre "gT", - séquence 92, dans un registre "g2", - séquence hl, dans un registre "hl", - séquence h2, dans un registre "h2", - valeur de Nl, dans un registre "Nl", - valeur de N2, dans un registre "N2", et - paramètres des divisions en sous-séquences, dans un registre <I>"Paramètres division",</I> comprenant notamment le nombre des premières et secondes sous-séquences et la taille de chacune d'entre elles.
L'unité centrale de traitement 100 est adaptée à mettre en oeuvre l'organigramme illustré en figure 5. observe, en figure 2, qu'un dispositif de codage correspondant à un turbocode convolutif parallèle conforme à la présente invention comporte notamment - entrée de symboles à coder 201, où la source d'information 110 fournit séquence de symboles binaires à transmettre, ou coder", u, - premier diviseur en sous-séquences 205, divise la séquence u pi sous-séquences Ul, U2, ... , Upl, la valeur de pl la taille de chaque sous-séquence étant conservées dans le registre<I>"Paramètres division"</I> de la mémoire morte 105, - un premier codeur 202, qui fournit, à partir de chaque séquence Ui, une séquence Vi de symboles représentative de la séquence Ui, l'ensemble des séquences Vi constituant une séquence vi, - un entrelaceur 203, qui fournit, à partir de la séquence u, une séquence entrelacée u*, dont les symboles sont les symboles de la séquence u, mais dans ordre différent, - second diviseur en sous-séquences 206 qui divise la séquence u* en p2 sous-séquences U'l, U'2, ..., U'p2, la valeur de p2 et la taille de chaque sous-séquence étant conservées dans le registre<I>"Paramètres</I> division" de la mémoire morte 105, et - un second codeur 204, qui fournit, à partir de chaque séquence U'i, une séquence V'i de symboles représentative de la séquence U'i, l'ensemble des séquences V'i constituant une séquence v2.
Les trois séquences u, vi et v2 constituent une séquence codée qui est transmise pour être, ensuite, décodée.
Les premier et second codeurs sont adaptés - d'une part, à effectuer un précodage de chaque sous-séquence, c'est-à-dire à déterminer un état initial du codeur tel que son état final après codage de la sous-séquence considérée sera identique à cet état initial, et - d'autre part, à effectuer le codage convolutif récursif de chaque sous-séquence par multiplication par un polynôme multiplicatif (hl pour le premier codeur et h2 pour le second codeur) et par division par un polynôme diviseur pour le premier codeur et 92 pour le second codeur) en considerant l'état initial du codeur défini par le procédé de précodage.
appelle période N; du polynôme gi(x), le plus petit entier N; que gi(x) soit un diviseur du polynôme x"'+1.
Chacune des sous-séquences obtenues par le premier (respectivement second) diviseur en sous-séquences aura une longueur qui ne sera pas multiple de Ni, période de g, (respectivement N2, période de afin de rendre possible le codage de cette sous-séquence par un code recursif circulaire.
En outre, de préférence, cette longueur ne sera ni trop petite (au moins de l'ordre de cinq fois le degré des polynômes générateurs du premier (respectivement second) code convolutif) afin de conserver de bonnes performances du code, ni trop grande, pour limiter la latence.
Pour simplifier la réalisation, on pourra choisir des codeurs identiques (gi étant alors égal à 92 et hl étant égal à h2).
De même, les valeurs de pi et p2 pourront être identiques.
Toujours à titre de simplification de la mise en oeuvre de l'invention, toutes les sous-séquences pourront être de même taille (non multiple de Ni ou N2).
Dans le mode préféré de réalisation, chacun des codeurs sera constitué d'un précodeur et d'un codeur convolutif récursif placé en cascade. De cette façon, il sera adapté à pouvoir effectuer simultanément le précodage d'une sous-séquence et le codage convolutif récursif d'une autre sous- séquence aura été au préalable précodée. Ainsi, on optimise à la fois la durée globale de codage et la latence.
variante, un codeur sera insécable :les mêmes ressources sont utilisées à la fois pour le précodeur et le codeur convolutif. De cette façon, on réduit le nombre de ressources nécessaires tout en optimisant la latence.
L'entrelaceur sera tel qu'au moins une des séquences Ui (pour i compris inclusivement entre 1 et pi) n'est pas entrelacée en une quelconque séquence U'j (pour j compris inclusivement entre 1 et p2). L'invention se distingue ainsi clairement de la simple concaténation de turbocodes circulaires convolutifs.
La figure 3 illustre schématiquement la constitution d'une station de réseau ou station de décodage informatique, sous forme de schéma synoptique.
Cette station comporte un clavier 311, un écran 309, un destinataire d'information externe 310, un récepteur hertzien 306, conjointement relies à un port d'entreeslsorties 303 d'une carte de traitement 301.
carte de traitement 301 comporte, reliés entre eux par bus d'adresses de données 302 unité centrale de traitement 300 ; mémoire vive RAM 304; mémoire morte ROM<B>305;</B> et le port d'entrées/sorties 303.
Chacun des éléments illustrés en figure 3 est bien connu de l'homme du métier des micro-ordinateurs et des systèmes de transmission et, plus généralement, des systèmes de traitement de l'information. Ces élements communs ne sont donc pas décrits ici. On observe, cependant, que - le destinataire d'information 310 est, par exemple, un périphérique d'interface, un afficheur, un modulateur, une mémoire externe ou autre système de traitement d'information (non représenté), et est avantageusement adapté à recevoir des séquences de signaux représentatifs de parole, de messages de service ou de données multimédia, sous forme de séquences de données binaires, et que - le récepteur hertzien 306 est adapté à mettre en oeuvre un protocole de transmission par paquets sur un canal non filaire, et à recevoir ces paquets sur un tel canal.
observe, en outre, que le mot "registre" utilisé dans la description désigne, dans chacune des mémoires 304 et 305, aussi bien une zone mémoire faible capacité (quelques données binaires) qu'une zone mémoire de grande capacité (permettant de stocker un programme entier). La memoire vive 304 conserve des données, des variables et des résultats intermediaires de traitement, dans des registres de mémoire portant, dans la description, les mêmes noms que les données dont ils conservent les valeurs. La mémoire vive 304 comporte notamment - un registre<I>"données reçues",</I> dans lequel est conservée, dans l'ordre d'arrivée des données binaires sur le bus 302 en provenance du canal de transmission, une estimation douce de ces données binaires, equivalente à une mesure de fiabilité, sous forme d'une séquence r, - un registre "inf <I>extrinsèques",</I> dans lequel sont conservées, à un instant donné, informations extrinsèques et a priori correspondant à la séquence u, - un registre<I>"données estimées",</I> dans lequel est conservée, à un instant donné, séquence estimée û fournie en sortie par le dispositif de décodage de l'invention, comme décrit plus loin à l'aide de la figure 4, - un registre "nb iteration", qui conserve un nombre entier correspondant à un compteur d'itérations effectuées par le dispositif de décodage concernant une séquence u reçue, comme décrit plus loin à l'aide de la figure 4, - un registre "nb <I>données reçues",</I> qui conserve un nombre entier correspondant au nombre de données binaires contenues dans le registre <I>"données reçues",</I> et - la valeur de n, taille de la séquence source, dans un registre "n". La mémoire morte 305 est adaptée à conserver, dans registres qui, par commodité, possèdent les mêmes noms que les donnees qu'ils conservent - le programme de fonctionnement de l'unité centrale de traitement 300, dans un registre "Program", - le tableau définissant l'entrelaceur et son entrelaceur inverse, dans un registre "Entrelaceue', - la sequence gl, dans un registre "gi", - la sequence 92, dans un registre "g2<B>"</B>, - la sequence hl, dans un registre "hl", - la séquence h2, dans registre "h2", - la valeur de NI, dans registre "Nl", - la valeur de N2, dans registre "N2", - le nombre maximal d'itérations à effectuer lors de l'opération de turbodécodage 603 d'une séquence u reçue (voir figure 6 décrite plus loin), dans un registre "nb iteration max , et - les paramètres des divisions en sous-séquences, dans un registre <I>"Paramètres division"</I> identique registre de même nom présent dans la mémoire morte 105 de la carte de traitement 101.
L'unité centrale de traitement 300 est adaptée à mettre en oeuvre l'organigramme illustré en figure 6.
En figure 4, on observe dispositif de décodage 400 adapté à décoder les séquences issues dispositif de codage tel que celui inclus dans le dispositif électronique figure 1 ou celui de la figure 2 comporte notamment - trois entrées 401, 403 de séquences représentatives de u, v, et v2 qui, par commodité, sont aussi notées u, v, et v2, la séquence reçue, constituée de ces trois séquences, etant notée r ; - un premier diviseur sous-séquences 417 recevant en entrée - les séquences u vi, et - une séquence d'information a priori w4 décrite plus loin.
Le premier diviseur 417 du dispositif de décodage 400 correspond au premier diviseur en sous-séquences 205 du dispositif de codage décrit plus haut à l'aide de la figure 2.
Le premier diviseur en sous-séquences 417 fournit en sortie des sous-séquences issues de u et w4 (respectivement vi) sur une sortie 421, chacune des sous-séquences ainsi fournie étant représentative d'une sous- séquence Ui (respectivement Vi) telle que décrite en regard de la figure 2.
Le dispositif de décodage comporte également - un premier décodeur à entrée et sortie douces (en anglais
Figure img00160016

correspondant au codeur 202 (figure 2), adapté à décoder des sous-séquences codées selon le code convolutif récursif circulaire du codeur premier décodeur 404 reçoit en entrée les sous-séquences fournies par premier diviseur en sous-séquences 417.
Pour chaque valeur de i entre 1 et pi, à partir d'une sous-séquence de u, d'une sous-séquence de w4 toutes deux représentatives d'une sous- séquence U;, et d'une sous-séquence de v, représentative de V;, le premier décodeur 404 fournit en sortie - une sous-séquence d'information extrinsèque wi; sur une sortie 422, et - une sous-séquence estimée Û; sur une sortie 410.
L'ensemble des sous-séquences d'information extrinsèque wi; pour i allant de 1 à pi forme une séquence d'information extrinsèque wi portant sur la séquence u.
L'ensemble des sous-séquences estimées Û; pour i allant de 1 à pi est une estimation, notée û, de la séquence u.
Le dispositif de décodage illustré en figure 4 comporte en outre - un entrelaceur 405 (noté "Entrelaceur 11" sur figure 4), basé sur la même permutation que celle définie par l'entrelaceur utilisé dans le dispositif de codage ; l'entrelaceur 405 reçoit en entrée les séquences u et w, et les entrelace respectivement en des séquences u* et w2 ; - un second diviseur en sous-séquences 419 recevant en entrée - les séquences _U* et -V2, et - la séquence d'information a priori w2 issue de l'entrelaceur 405.
second diviseur en sous-séquences 419 du dispositif de décodage correspond au second diviseur en sous-séquences 206 du dispositif codage tel que décrit en regard de la figure 2.
second diviseur en sous-séquences 419 fournit en sortie des sous-séquences issues de u* et w2 (respectivement v2) sur une sortie 423, chacune des sous-séquences ainsi fournie étant représentative d'une sous- séquence U'; (respectivement V';) telle que décrite en regard de la figure 2. Le dispositif de décodage 400 comporte aussi - un second décodeur 406 à entrée et sortie douces, correspondant au codeur 204 (figure 2), adapté à décoder des sous-séquences codées selon le code convolutif récursif circulaire du codeur 204.
Le second décodeur 406 reçoit en entrée les sous-séquences fournies par le second diviseur en sous-séquences 419.
Pour chaque valeur de i entre 1 et p2, à partir d'une sous-séquence u*, d'une sous-séquence de w2 toutes deux représentatives d'une sous- séquence U'i, et d'une sous-séquence de v2 représentative de V'i, le second décodeur 406 fournit en sortie - une sous-séquence d'information extrinsèque w3i sur une sortie et - une sous-séquence estimée L'ensemble des sous-séquences d'information extrinsèque w3i pour i allant de 1 à p2 forme une séquence d'information extrinsèque w3 portant sur la séquence entrelacée u*.
L'ensemble des sous-séquences estimées Û'; pour i allant de 1 à p2 une estimation, notée û*, de la séquence entrelacée u*.
Le dispositif de décodage illustré en figure 4 comporte plus - un désentrelaceur 408 (noté "Entrelaceur 17"l" sur figure 4), inverse de l'entrelaceur 405, recevant en entrée la séquence û* fournissant sortie une séquence estimée û, sur une sortie 409 (cette estimation étant améliorée par rapport à celle fournie, une demi-itération auparavant, sur la sortie 410), cette séquence estimée û étant obtenue par désentrelacement de la séquence û* ; - un désentrelaceur 407 (noté aussi "Entrelaceur II -'" sur la figure inverse de l'entrelaceur 405, recevant en entrée la séquence d'information extrinsèque w3 et fournissant en sortie la séquence d'information a priori w4 ; - la sortie 409, sur laquelle le dispositif de décodage fournit la séquence estimée û, en sortie du désentrelaceur 408. On ne prend en compte une séquence estimée û qu'à la suite d'un nombre d'itérations prédéterminé (voir l'article
Figure img00190001
Figure img00190002

cité supra).
Sur la figure 5, qui représente le fonctionnement dispositif de codage tel que celui inclus dans le dispositif électronique illustre en figure 1, on observe qu'après une opération d'initialisation 500, au cours de laquelle les registres de la mémoire vive 104 sont initialisés (nb <I>données = "0"),</I> au cours d'une opération 501, l'unité centrale 100 attend de recevoir, puis reçoit une sequence u de données binaires à transmettre, la positionne mémoire vive dans le registre<I>"données source"</I> et met à jour le compteur<I>données".</I> Ensuite, au cours d'une opération 502, l'unité centrale 1 détermine valeur de n comme étant la valeur du nombre entier conservé dans le registre <I>données"</I> (valeur conservée en mémoire vive 104).
Ensuite, au cours d'une opération 508, le premier codeur 202 (voir figure 2) effectue, pour chaque valeur de i allant de 1 à pl - la détermination d'une sous-séquence Ui, - la division par g,(x) du polynôme Ui(x), et - le produit du résultat de cette division par hl(x), pour former une séquence Vi.
Les séquences u et le résultat de ces opérations de division et de multiplication, Vi (= Ui.h,lg@), sont mis en mémoire dans le registre <I>"données à émettre".</I>
Puis, au cours d'une opération 506, les données binaires de la sequence u sont successivement lues dans le registre<I>"données à -émettre",</I> dans l'ordre décrit par le tableau "entrelaceur' (entrelaceur de taille n) conservé mémoire morte 105. Les données qui résultent successivement de cette lecture forment une séquence u* et sont mises en mémoire dans le registre <I>"données permutées"</I> de la mémoire vive 104.
Ensuite, au cours d'une opération 507, le second codeur 202 (voir figure 2) effectue, pour chaque valeur de i allant de 1 à p2 - la détermination d'une sous-séquence U'i, - la division par 92(x) du polynôme U'i(x), et - le produit du résultat de cette division par h2(x), pour former une séquence V';.
résultat de ces opérations de division et de multiplication,<U>V</U>; (_ U';.h2192), mis en mémoire dans le registre "données<I>à -émettre".</I>
Au cours d'une opération 509, les séquences u, vi (obtenu concaténation des séquences V;) et v2 (obtenu par concaténation séquences V';) sont émises en utilisant, à cet effet, l'émetteur 106. Ensuite, registres de la mémoire 104 sont à nouveau initialisés ; en particulier, compteur<I>données"</I> est remis à "0". Puis l'opération 501 est réitérée.
variante, au cours de l'opération 509, on n'émet pas l'intégralité des séquences u, vi et v2, mais seulement un sous-ensemble de celles-ci. Cette variante est connue de l'homme du métier sous le nom de poinçonnage.
figure 6, qui représente le fonctionnement d'un dispositif décodage que celui inclus dans le dispositif électronique illustré en figure on observe 'au cours d'une opération 600, l'unité centrale 300 attend recevoir, puis reçoit une séquence de données codées. Chaque donnée reçue sous forme douce et correspond à une mesure de fiabilité d'une donnée émise par l'émetteur 106 et reçue par le récepteur 306. L'unité centrale positionne la séquence reçue en mémoire vive 304, dans le registre "données<I>reçues"</I> et met à jour le compteur "nb <I>données</I> reçues".
Ensuite, au cours d'une opération 601, l'unité centrale 300 détermine la valeur de n en effectuant une division de "nb <I>données reçues"</I> par 3 <I>n =</I> nb <I>données</I> reçuesl3. Cette valeur de n est alors mémorisée en mémoire vive 304.
Ensuite, au cours d'une opération de turbodécodage 603, le dispositif de décodage donne une estimation û de la séquence u transmise.
Puis, au cours d'une opération 604, l'unité centrale 300 fournit cette estimation û au destinataire d'information 310.
Ensuite, les registres de la mémoire 304 sont à nouveau initialises. En particulier, le compteur "nb <I>données"</I> est remis à "0" et l'opération 601 réitérée. figure 7, qui détaille l'opération de turbodecodage 603, on observe cours d'une opération d'initialisation 700, registres de la mémoire vive sont initialisés : les informations a priori w2 w4 sont remises à zéro suppose ici que l'entropie de la source est nulle). En outre, l'entrelaceur 405 entrelace la séquence d'entrée u et fournit séquence u* qui est memorisée dans le registre<I>"données reçues".</I>
Ensuite, au cours d'une opération 702, le registre "nb iteration" est incrémenté d'une unité.
Puis, au cours d'une opération 711, le premier diviseur en sous- séquences 417 effectue une première opération de division en sous-séquences des séquences u et vi ainsi que de la séquence d'information a priori w4.
Puis, au cours d'une opération 703, le premier décodeur 404 (correspondant au premier codeur élémentaire 202) met en ceuvre un algorithme type à entrées douces et décisions douces (SISO, en anglais
Figure img00210013

bien connu de l'homme du métier, tel que le BCJR, ou le SOVA
Figure img00210016

selon une technique adaptée à décoder codes convolutifs circulaires, comme suit : pour chaque valeur de i allant de 1 a pi, le premier décodeur 404 considère comme entrées douces une estimation des sous-séquences Ui et V; reçues et w4i (information a priori sur U;) et fournit, d'une part, w<U>1</U>; (informations extrinsèques sur Ui) et, d'autre part, une estimation Ûi de la séquence Ui.
Pour de plus amples détails sur les algorithmes de décodage utilisés dans les turbocodes, on pourra se référer - à l'article intitulé
Figure img00210025
Figure img00210026

cité supra, qui décrit l'algorithme BCJR, généralement utilisé en relation avec les turbocodes ; ou - à l'article de J. HAGENAUER et P. HOEHER intitulé
Figure img00210031
Figure img00210032

publié avec les comptes-rendus de la conférence IEEE GLOBECOM, pages 1680-1686, en novembre 1989.
Plus particulièrement, pour plus de détails sur le décodage d'un code convolutif circulaire utilisé habituellement dans les turbodécodeurs, on se reportera utilement à l'article de J. B. ANDERSON et S. HLADIK intitulé
Figure img00220002

publié dans la revue IEEE Journal Selected Areas in Telecommunications en février 1998.
Au cours d'une opération 705, l'entrelaceur 405 entrelace la séquence w, obtenue par concaténation des séquences w1; (pour i allant de 1 à pi) pour produire w2, information a priori sur u*.
Puis, au cours d'une opération 712, le second diviseur en sous- séquences 419 effectue une seconde opération de division en sous séquences des séquences u* et v2 ainsi que de la séquence d'information a priori w2.
Ensuite, au cours d'une opération 706, le deuxième décodeur 406 (correspondant au deuxième codeur élémentaire 204) met oeuvre un algorithme type à entrées douces et décisions douces, selon technique adaptée à decoder les codes convolutifs circulaires, comme suit : pour chaque valeur de i allant de 1 à p2, le second décodeur 406 considère comme entrées douces une estimation des sous-séquences U'; et<U>V</U>; reçues et w2; (information a priori sur U';) et fournit, d'une part, w3; (informations extrinsèques sur U';) et, d'autre estimation Û'; de la séquence U';.
cours d'une opération 708, le désentrelaceur 407 (entrelaceur inverse 405) désentrelace la séquence d'information w3 obtenue par concaténation des séquences w3; (pour i allant de 1 à p2) pour produire w4, information a priori sur u.
Les informations extrinsèques et a priori produites au cours des étapes 711, 703, 705, 712, 706 et 708 sont stockées dans registre "inf <I>extrinsèques"</I> de la RAM 304.
Ensuite, au cours d'un test 709, l'unité centrale 300 détermine si le nombre entier conservé dans le registre "nb iteration" est égal ou à un nombre prédéterminé maximal d'itérations à effectuer, conservé dans le registre "nb iteration max" de la ROM 305.
Lorsque le résultat du test 709 est négatif, l'opération 702 est réitérée.
Lorsque le résultat du test 709 est positif, au cours d'une opération 710, le désentrelaceur 408 (identique au désentrelaceur 407) désentrelace la séquence û*, obtenue par concaténation des séquences Û'; (pour i allant de à p2), pour fournir une séquence désentrelacée à l'unité centrale 300, transforme alors la décision douce en décision dure, de façon à obtenir une séquence û estimée de u.
Dans une variante, plus générale, l'invention ne se limite pas aux turbocodeurs (ou procédés ou dispositifs de codage ou décodage associes) composés deux codeurs ou aux turbocodeurs à une entrée : elle peut s'appliquer à turbocodeurs composés de plusieurs codeurs élémentaires à des turbocodeurs à plusieurs entrées, tels que ceux décrits dans le rapport D. DIVSALAR F. POLLARA cité en introduction.
Dans une autre variante, l'invention ne se limite pas turbocodeurs parallèles (ou procédés ou dispositifs de codage ou décodage associés) mais peux s'appliquer à des turbocodes séries ou hybrides tels décrits dans le rapport
Figure img00230011
Figure img00230012

de BENEDETTO, G. MONTORSI, D. DIVSALAR et F. POLLARA, publié en aout 1996 par (Jet Propulsion Laboratory). Dans ce cas, on entrelace en outre séquence parité vi issue du premier codage convolutif et, au cours d'une troisième etape, on divise en outre cette séquence entrelacée en p3 troisièmes sous-séquences U"; et on code chacune d'elles selon un procédé de codage circulaire, conjointement ou non avec une séquence U';. Ainsi, un diviseur sous-séquences sera placé devant un codeur élémentaire récursif circulaire. veillera simplement à ce que la taille de chaque sous-séquence ne soit pas multiple de la période du polynôme diviseur utilisé dans le codeur destiné à coder cette sous-séquence.

Claims (1)

<U>REVENDICATIONS</U> 1. Procédé de codage d'une séquence source symboles (u) en une séquence codée, caractérisé en ce qu'il comporte étapes suivant lesquelles - on effectue une première opération de division sous-séquences et codage (508), consistant à diviser ladite séquence source (u) en pi premières sous-séquences (Ui), pi étant un entier positif, et à coder chacune desdites premières sous-séquences (Ui) à l'aide d'un premier procédé de codage convolutif circulaire ; - on effectue une opération d'entrelacement (506), consistant à entrelacer ladite séquence source (u) en une séquence entrelacée (u*) ; et on effectue une seconde opération de division en sous-séquences et codage (507), consistant à diviser ladite séquence entrelacée (u*) en p2 secondes sous-séquences (U'i), p2 étant un entier positif, et à coder chacune desdites secondes sous-séquences (U'i) à l'aide d'un second procédé de codage convolutif circulaire ; l'un au moins des entiers pl et p2 étant strictement supérieur à 1 et l'une au moins desdites premières sous-séquences (Ui) n'étant entrelacée en aucune desdites secondes sous-séquences (U'). Procédé de codage selon la revendication 1, caractérisé en ce que ledit premier ou second procédé de codage convolutif circulaire comporte - une étape de précodage, consistant à définir l'état initial du procédé de codage pour la sous-séquence considérée, de façon à produire une sous-séquence précodée, et - une étape de codage convolutif circulaire. 3. Procédé de codage selon la revendication 2, caractérisé en ce qu'on effectue simultanément ladite étape de précodage pour une desdites premières sous-séquences (Ui) et ladite étape de codage convolutif circulaire pour une autre desdites premières sous-séquences (Uj) déjà précodée. 4. Procédé de codage selon l'une quelconque des revendications précédentes, caractérisé en ce que les entiers pl et p2 sont égaux. 5. Procédé codage selon l'une quelconque des revendications précédentes, caractérise en ce que la taille de toutes les sous-séquences est identique. 6. Procédé codage selon l'une quelconque des revendications précédentes, caractérise en ce que lesdits premier et second procédés de codage convolutif circulaire sont identiques. 7. Procédé codage selon l'une quelconque des revendications précédentes, caractérise en ce qu'il comporte en outre des étapes suivant lesquelles - on effectue une opération d'entrelacement supplémentaire, consistant à entrelacer la séquence de parité (y,) issue de la première opération de division en sous-séquences et codage (508) ; et - on effectue une troisième opération de division en sous-séquences et codage, consistant à diviser la séquence entrelacée, obtenue à l'issue de ladite opération d'entrelacement supplémentaire, en p3 troisièmes sous- séquences (U";), p3 étant un entier positif, et à coder chacune desdites troisièmes sous-séquences (U";) à l'aide d'un troisième procédé de codage convolutif circulaire. 8. Dispositif de codage d'une séquence source de symboles (u) en une séquence codée, caractérisé en ce qu'il comporte - des premiers moyens de division en sous-séquences et codage (205, 202), pour diviser ladite séquence source (u) en pi premières sous- séquences (U;), pi étant un entier positif, et pour coder chacune desdites premières sous-séquences (U;) à l'aide de premiers moyens de codage convolutif circulaire ; - des moyens d'entrelacement (203), pour entrelacer ladite séquence source (u) en une séquence entrelacée (u*) ; et - des seconds moyens de division en sous-séquences et codage (206, 204), pour diviser ladite séquence entrelacée (u*) en p2 secondes sous- séquences (U';), p2 étant un entier positif, et pour coder chacune desdites secondes sous-séquences (U';) à l'aide de seconds moyens de codage convolutif circulaire ; l'un au moins des entiers pi et p2 étant strictement supérieur à 1 et l'une au moins desdites premières sous-séquences (U;) n'étant entrelacée en aucune desdites secondes sous-séquences (!'j). 9. Dispositif de codage selon la revendication 8, caractérise en ce que lesdits premiers ou seconds moyens de codage convolutif circulaire comportent - moyens de précodage, pour définir l'état initial des moyens de codage pour sous-séquence considérée, de façon à produire sous- séquence précodée, et - moyens de codage convolutif circulaire proprement dits.
1 Dispositif de codage selon la revendication 9, caractérise en ce lesdits moyens de précodage traitent une desdites premières sous-séquences (U;) en même temps que lesdits moyens de codage convolutif circulaire proprement dits traitent une autre desdites premières sous-séquences (Uj) déjà précodée. 11. Dispositif de codage selon la revendication 8, 9 10, caractérisé en ce que les entiers pl et p2 sont égaux. Dispositif de codage selon l'une quelconque des revendications 8 à 11, caractérisé en ce que la taille de toutes les sous-séquences est identique. Dispositif de codage selon l'une quelconque des revendications 8 à 12, caractérisé en ce que lesdits premiers et seconds moyens de codage convolutif circulaire sont identiques. 14. Dispositif de codage selon l'une quelconque des revendications 8 à 13, caractérisé en ce qu'il comporte en outre - moyens d'entrelacement supplémentaires, pour entrelacer la séquence parité (y,) fournie par les premiers moyens de division en sous- séquences codage (205, 202) ; et - troisièmes moyens de division en sous-séquences et codage, pour diviser séquence entrelacée, fournie par lesdits moyens d'entrelacement supplémentaires, en p3 troisièmes sous-séquences (U";), p3 étant un entier positif, et pour coder chacune desdites troisièmes sous-séquences (U";) à l'aide de troisièmes moyens de codage convolutif circulaire. Procédé de décodage d'une séquence de symboles reçus, caractérisé ce qu'il est adapté à décoder une séquence codée par procédé codage selon l'une quelconque des revendications 1 à 7. Procédé de décodage selon la revendication 15, utilisant turbodécodage, caractérisé en ce qu'on effectue itérativement - première opération de division en sous-séquences (711 s'appliquant les symboles reçus représentatifs de la séquence source (u) d'une première séquence de parité (y,), ainsi que sur l'information a priori (w4) de la séquence source (u) ; - pour chaque triplet de sous-séquences représentatif d'une sous- séquence codée par un code convolutif circulaire, une première opération de décodage élémentaire (703), adaptée à décoder une séquence codée par un code convolutif circulaire et fournissant une sous-séquence d'information extrinsèque sur une sous-séquence de la séquence source (u) ; - une opération d'entrelacement (705) de la séquence (wi) formée des sous-sequences d'information extrinsèque fournies par ladite première opération décodage élémentaire (703) ; - deuxième opération de division en sous-séquences (712), s'appliquant les symboles reçus représentatifs de la séquence entrelacée (u*) et d'une deuxième séquence de parité (v_2), ainsi que sur l'information a priori (w2) de la séquence entrelacée (u*) ; - pour chaque triplet de sous-séquences représentatif d'une sous- séquence codée par un code convolutif circulaire, une deuxième opération de décodage élémentaire (706), adaptée à décoder une séquence codée par un code convolutif circulaire et fournissant une sous-séquence d'information extrinsèque sur une sous-séquence de la séquence entrelacée (u*) ; - une opération de désentrelacement (708) de la séquence (w3) formée des sous-séquences d'information extrinsèque fournies par ladite deuxième opération de décodage élémentaire (706). 17. Dispositif de décodage d'une séquence de symboles reçus, caractérisé en ce qu'il est adapté à décoder une séquence codée au moyen d'un dispositif de codage selon l'une quelconque des revendications 8 à 14. 18. Dispositif de décodage selon la revendication 17, utilisant un turbodécodage, caractérisé en ce qu'il comporte - des premiers moyens de division en sous-séquences 7), s'appliquant sur les symboles reçus représentatifs de la séquence source (u) et d'une première séquence de parité (y,), ainsi que sur l'information a priori (w4) de la séquence source (g) ; - des premiers moyens de décodage élémentaire (404), opérant chaque triplet de sous-séquences représentatif d'une sous-séquence codée par un code convolutif circulaire, pour décoder une séquence codée par un code convolutif circulaire et fournissant une sous-séquence d'information extrinsèque sur une sous-sequence de la séquence source (u) ; - moyens d'entrelacement (405) de la séquence (wi) formée des sous-séquences d'information extrinsèque fournies par lesdits premiers moyens de décodage élémentaire (404) ; - deuxièmes moyens de division en sous-séquences (419), s'appliquant sur les symboles reçus représentatifs de la séquence entrelacée (u*) et d'une deuxième séquence de parité (v_2), ainsi que sur l'information a priori (w2) de la séquence entrelacée (u*) ; - des deuxièmes moyens de décodage élémentaire (406), opérant sur chaque triplet de sous-séquences représentatif d'une sous-séquence codée par un code convolutif circulaire, pour décoder une séquence codée par un code convolutif circulaire et fournissant une sous-séquence d'information extrinsèque sur une sous-séquence de la séquence entrelacée (u*) ; - des moyens de désentrelacement (407) de la séquence (w3) formée des sous-séquences d'information extrinsèque fournies par lesdits deuxièmes moyens de décodage élémentaire (406), lesdits moyens de division en sous-séquences (417, 419), de décodage élémentaire (404, 406), d'entrelacement (405) et de désentrelacement (407) opérant itérativement. 19. Appareil de traitement de signaux numériques, caractérisé en ce qu'il comporte des moyens adaptés à mettre en oeuvre un procédé de codage selon l'une quelconque des revendications 1 à 7 et/ou un procédé de décodage selon la revendication 15 ou 16. 20. Appareil de traitement de signaux numériques, caractérisé en ce qu'il comporte un dispositif de codage selon l'une quelconque des revendications 8 à 14 et/ou un dispositif de décodage selon la revendication 17 ou 18. 21. Réseau de télécommunications, caractérisé en ce qu'il comporte moyens adaptés à mettre en oeuvre un procédé de codage selon l'une quelconque des revendications 1 à 7 et/ou un procédé de décodage selon la revendication 15 ou 16. 22. Réseau de télécommunications, caractérisé en ce comporte dispositif de codage selon l'une quelconque des revendications à 14 et/ou dispositif de décodage selon la revendication 17 ou 18. 23. Station mobile dans un réseau de télécommunications, caractérisée en ce qu'elle comporte des moyens adaptés à mettre oeuvre un procédé de codage selon l'une quelconque des revendications 1 à 7 et/ou un procédé de décodage selon la revendication 15 ou 16. 24. Station mobile dans un réseau de télécommunications, caractérisée en ce qu'elle comporte un dispositif de codage selon l'une quelconque des revendications 8 à 14 et/ou un dispositif de décodage selon la revendication 17 ou 18. 25. Dispositif de traitement de signaux représentatifs de parole, caractérisé en ce qu'il comporte un dispositif de codage selon l'une quelconque revendications 8 à 14 et/ou un dispositif de décodage selon la revendication 17 ou 18. 26. Dispositif de transmission de données comportant un émetteur adapté à mettre en oeuvre un protocole de transmission paquets, caractérisé en ce qu'il comporte un dispositif de codage selon l'une quelconque des revendications 8 à 14 et/ou un dispositif de décodage selon la revendication 17 ou 18 et/ou un dispositif de traitement signaux représentatifs de parole selon la revendication 25. 27. Dispositif de transmission données selon la revendication 26, caractérisé en ce que ledit protocole est type ATM. 28. Dispositif de transmission données selon la revendication 26, caractérisé en ce que ledit protocole est type IP.
FR0004988A 2000-04-18 2000-04-18 Procedes et dispositifs de codage et de decodage et systemes les mettant en oeuvre Expired - Fee Related FR2807895B1 (fr)

Priority Applications (3)

Application Number Priority Date Filing Date Title
FR0004988A FR2807895B1 (fr) 2000-04-18 2000-04-18 Procedes et dispositifs de codage et de decodage et systemes les mettant en oeuvre
US09/826,148 US6993085B2 (en) 2000-04-18 2001-04-05 Encoding and decoding methods and devices and systems using them
JP2001120045A JP2001352251A (ja) 2000-04-18 2001-04-18 符号化及び復号化方法、及び装置、並びにそれらを用いたシステム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR0004988A FR2807895B1 (fr) 2000-04-18 2000-04-18 Procedes et dispositifs de codage et de decodage et systemes les mettant en oeuvre

Publications (2)

Publication Number Publication Date
FR2807895A1 true FR2807895A1 (fr) 2001-10-19
FR2807895B1 FR2807895B1 (fr) 2002-06-07

Family

ID=8849378

Family Applications (1)

Application Number Title Priority Date Filing Date
FR0004988A Expired - Fee Related FR2807895B1 (fr) 2000-04-18 2000-04-18 Procedes et dispositifs de codage et de decodage et systemes les mettant en oeuvre

Country Status (3)

Country Link
US (1) US6993085B2 (fr)
JP (1) JP2001352251A (fr)
FR (1) FR2807895B1 (fr)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109391365A (zh) * 2017-08-11 2019-02-26 华为技术有限公司 一种交织方法及装置

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE69942705D1 (de) * 1998-04-18 2010-10-07 Samsung Electronics Co Ltd Turbo Codierung mit Dummy Bit Einfügung
US8054810B2 (en) * 2001-06-25 2011-11-08 Texas Instruments Incorporated Interleaver for transmit diversity
KR101182461B1 (ko) * 2005-07-29 2012-09-12 삼성전자주식회사 와이브로 시스템에서 연접 버스트의 효율적인 복호 방법 및장치
US7587005B2 (en) * 2006-03-28 2009-09-08 Research In Motion Limited Exploiting known padding data to improve block decode success rate
US7853858B2 (en) * 2006-12-28 2010-12-14 Intel Corporation Efficient CTC encoders and methods
US9005848B2 (en) * 2008-06-17 2015-04-14 Photronics, Inc. Photomask having a reduced field size and method of using the same
US8867565B2 (en) 2008-08-21 2014-10-21 Qualcomm Incorporated MIMO and SDMA signaling for wireless very high throughput systems
JP4935778B2 (ja) * 2008-08-27 2012-05-23 富士通株式会社 符号化装置、送信装置および符号化方法
US8411554B2 (en) * 2009-05-28 2013-04-02 Apple Inc. Methods and apparatus for multi-dimensional data permutation in wireless networks
US9005849B2 (en) * 2009-06-17 2015-04-14 Photronics, Inc. Photomask having a reduced field size and method of using the same
US8843807B1 (en) 2011-04-15 2014-09-23 Xilinx, Inc. Circular pipeline processing system
US9003266B1 (en) * 2011-04-15 2015-04-07 Xilinx, Inc. Pipelined turbo convolution code decoder
CN103138881B (zh) * 2011-11-30 2016-03-16 北京东方广视科技股份有限公司 编解码方法和设备

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5881073A (en) * 1996-09-20 1999-03-09 Ericsson Inc. Convolutional decoding with the ending state decided by CRC bits placed inside multiple coding bursts

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0884879A3 (fr) * 1997-06-13 1999-03-17 Canon Kabushiki Kaisha Transmission MAQ, utilisant un spèctre étalé et une estimation de séquences
FR2773287A1 (fr) 1997-12-30 1999-07-02 Canon Kk Entrelaceur, dispositif de codage, procede de permutation, procede de codage, dispositif et procede de decodage et systemes les mettant en oeuvre
DE69837077T2 (de) 1997-12-30 2007-06-21 Canon K.K. Verschachteler für Turbo-Kodierer
DE69936683T2 (de) * 1998-06-01 2008-04-30 Her Majesty The Queen In Right Of Canada As Represented By The Minister Of Industry, Ottawa Verschachtelung unter Verwendung von Inkrementen basierend auf dem Goldenen Schnitt
FR2785743A1 (fr) * 1998-11-09 2000-05-12 Canon Kk Dispositif et procede d'adaptation des turbocodeurs et des decodeurs associes a des sequences de longueur variable
FR2785741B1 (fr) * 1998-11-09 2001-01-26 Canon Kk Dispositif et procede de codage et d'entrelacement pour des turbocodes series ou hybrides
FR2785744B1 (fr) * 1998-11-09 2001-01-26 Canon Kk Procede et dispositif de codage de sequences de donnees, procede et dispositif de decodage associes
EP1017176B1 (fr) * 1998-12-30 2011-02-16 Canon Kabushiki Kaisha Dispositif et procédé de codage, dispositif et procédé de décodage et systèmes les mettant en oeuvre
KR100315708B1 (ko) * 1998-12-31 2002-02-28 윤종용 이동통신시스템에서터보인코더의펑처링장치및방법
US6442728B1 (en) * 1999-01-11 2002-08-27 Nortel Networks Limited Methods and apparatus for turbo code
JP3274668B2 (ja) * 1999-10-18 2002-04-15 松下電器産業株式会社 演算処理装置及び演算処理方法
DE60045630D1 (de) * 1999-11-04 2011-03-31 Canon Kk Verschachtelungsverfahren für Datenturbokodierung

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5881073A (en) * 1996-09-20 1999-03-09 Ericsson Inc. Convolutional decoding with the ending state decided by CRC bits placed inside multiple coding bursts

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
ANDERSON J B ET AL: "TAILBITING MAP DECODERS", IEEE JOURNAL ON SELECTED AREAS IN COMMUNICATIONS,US,IEEE INC. NEW YORK, vol. 16, no. 2, 1 February 1998 (1998-02-01), pages 297 - 302, XP000741783, ISSN: 0733-8716 *
BERROU C ET AL: "FRAME-ORIENTED CONVOLUTIONAL TURBO CODES", ELECTRONICS LETTERS,GB,IEE STEVENAGE, vol. 32, no. 15, 18 July 1996 (1996-07-18), pages 1362 - 1364, XP000625424, ISSN: 0013-5194 *
BERROU C ET AL: "MULTIPLE PARALLEL CONCATENATION OF CIRCULAR RECURSIVE SYSTEMATIC CONVOLUTIONAL (CRSC) CODES", ANNALES DES TELECOMMUNICATIONS - ANNALS OF TELECOMMUNICATIONS,PRESSES POLYTECHNIQUES ET UNIVERSITAIRES ROMANDES, LAUSANNE,CH, vol. 54, no. 3/04, March 1999 (1999-03-01), pages 166 - 172, XP000834638, ISSN: 0003-4347 *
GUEGUEN A ET AL: "Performance of frame oriented turbo codes on UMTS channel with various termination schemes", ELECTRONICS,VNU BUSINESS PUBLICATIONS, NEW YORK,US, pages 1550 - 1554vol3, XP002144416, ISSN: 0883-4989 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109391365A (zh) * 2017-08-11 2019-02-26 华为技术有限公司 一种交织方法及装置

Also Published As

Publication number Publication date
FR2807895B1 (fr) 2002-06-07
US6993085B2 (en) 2006-01-31
US20020021763A1 (en) 2002-02-21
JP2001352251A (ja) 2001-12-21

Similar Documents

Publication Publication Date Title
US6993698B2 (en) Turbocoding methods with a large minimum distance, and systems for implementing them
JP3343574B2 (ja) サービス品質に応じたフレーム処理を行うターボチャネル符号化/復号化装置及びその方法
JP3354554B2 (ja) チャンネル・デコータ及びチャンネル復号化方法
US20020124227A1 (en) High speed turbo codes decoder for 3G using pipelined SISO log-map decoders architecture
FR2804260A1 (fr) Procede de transmission numerique de type a codage correcteur d&#39;erreurs
EP1230736B1 (fr) Procede de decodage de donnees codees a l&#39;aide d&#39;un code entropique, dispositif de decodage et systeme de transmission correspondants
US20010039636A1 (en) System and method employing a modular decoder for decoding turbo and turbo-like codes in a communications network
US20030084398A1 (en) High speed turbo codes decoder for 3g using pipelined siso log-map decoders architecture
FR2808632A1 (fr) Procede de turbo-decodage avec reencodage des informations erronees et retroaction
FR2807895A1 (fr) Procedes et dispositifs de codage et de decodage et systemes les mettant en oeuvre
US6487694B1 (en) Method and apparatus for turbo-code decoding a convolution encoded data frame using symbol-by-symbol traceback and HR-SOVA
FR2790621A1 (fr) Dispositif et procede d&#39;entrelacement pour turbocodage et turbodecodage
JP3674851B2 (ja) スケーリングフィードバックターボ復号器
US6807239B2 (en) Soft-in soft-out decoder used for an iterative error correction decoder
EP1128589B1 (fr) Critère d&#39;interruption pour un décodeur turbo
FR2802735A1 (fr) Procede et dispositif de codage, procede et dispositif de decodage, et systemes les mettant en oeuvre
EP1282254A1 (fr) Codage et décodage de canal pour modulation à grand nombre d&#39;etats
FR2806177A1 (fr) Procede de transmission numerique de type a codage correcteur d&#39;erreurs
Bosco et al. A new algorithm for" hard" iterative decoding of concatenated codes
FR2850810A1 (fr) Procede de controle du nombre d&#39;iterations d&#39;un processus de decodage iteratif et dispositif pour la mise en oeuvre du procede
FR2804806A1 (fr) Procede et dispositif d&#39;entrelacement, procedes et dispositifs de codage et de decodage et systemes les mettant en oeuvre
FR2804556A1 (fr) Procede et dispositif de decodage a maximum de vraisemblance associes a un turbodecodage, procede et dispositif de codage correspondants et systemes les mettant en oeuvre
FR2801446A1 (fr) Procede et dispositif de codage, procede et dispositif de decodage, et systemes les mettant en oeuvre
FR2813723A1 (fr) Procedes de turbocodage circulaire de haut rendement, et systemes pour leur mise en oeuvre
Verma et al. An FPGA realization of simplified turbo decoder architecture

Legal Events

Date Code Title Description
ST Notification of lapse

Effective date: 20131231