FR2785744A1 - Procede et dispositif de codage de sequences de donnees, procede et dispositif de decodage associes - Google Patents

Procede et dispositif de codage de sequences de donnees, procede et dispositif de decodage associes Download PDF

Info

Publication number
FR2785744A1
FR2785744A1 FR9814086A FR9814086A FR2785744A1 FR 2785744 A1 FR2785744 A1 FR 2785744A1 FR 9814086 A FR9814086 A FR 9814086A FR 9814086 A FR9814086 A FR 9814086A FR 2785744 A1 FR2785744 A1 FR 2785744A1
Authority
FR
France
Prior art keywords
sequence
polynomial
symbols
coding
concatenated
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
FR9814086A
Other languages
English (en)
Other versions
FR2785744B1 (fr
Inventor
Philippe Piret
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 FR9814086A priority Critical patent/FR2785744B1/fr
Priority to US09/434,402 priority patent/US6638318B1/en
Publication of FR2785744A1 publication Critical patent/FR2785744A1/fr
Application granted granted Critical
Publication of FR2785744B1 publication Critical patent/FR2785744B1/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/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/2757Interleaver with an interleaving rule not provided for in the subgroups H03M13/2703 - H03M13/2753
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/001Model-based coding, e.g. wire frame
    • 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/2993Implementing the return to a predetermined state, i.e. trellis termination

Abstract

Le procédé de codage visé par la présente invention prend en compte :- un polynôme sans carré g (x),- NO, le plus petit entier tel que g (x) soit un diviseur du polynôme xNO + 1;- n, un multiple impair de NO;- une séquence u de n symboles ui à coder; et- e, une puissance de 2 différente de 1, pour laquelle le résidu de e modulo NO est égal à 1.Il comporte :- une opération de constitution d'une séquence dite "concaténée" uu* (304) constituée successivement de la séquence u et d'une séquence de symboles u* tels que u* (x) = u (xe ) modulo xn + 1, - une opération de codage de la séquence concaténée uu* (305) comportant au moins une division de la séquence uu* par le polynôme g (x).

Description

La présente invention concerne un dispositif de codage, un procédé de
codage, un dispositif et un procédé de décodage et des systèmes
les mettant en oeuvre.
Elle s'applique aussi bien au codage de données représentatives d'une grandeur physique, au codage de données sous forme de codes susceptibles de moduler une grandeur physique, au décodage de signaux modulés en données, qu'au décodage de données représentatives de grandeurs physiques. Ces données peuvent, par exemple, représenter des images, des sons, des données informatiques, des grandeurs électriques, des
données mémorisées.
L'invention trouve une application dans le domaine des codes convolutifs. Lorsqu'on utilise ces derniers pour mettre en oeuvre un décodage itératif, ces codes sont fortement améliorés lorsque leurs codeurs contiennent un dispositif de permutation. Dans ce cas, ils sont habituellement appelés
"turbocodes" et le décodeur itératif correspondant est appelé "turbodécodeur".
Sur ces sujets, des documents qui servent de référence sont, d'une part, I'article de MM. C. BERROU, A. GLAVIEUX et P. THITIMAJSHIMA intitulé "Near Shannon limit error-correcting coding and decoding: turbocodes" publiés avec les compte-rendus de la conférence "ICC'93", 1993, pages 1064 à 1070, et d'autre part, l'article de MM. C. BERROU et A. GLAVIEUX intitulé "Near Optimum error-correcting coding and decoding: turbo- codes" publié par IEEE Transactions
on Communication, Volume COM-44, pages 1261 à 1271, en octobre 1996.
Cependant, la formation des dispositifs de permutation est loin d'être parfaitement maîtrisée. En général ce dispositif utilise des matrices carrées ou rectangulaires dans lesquelles on écrit une ligne après l'autre et on lit une colonne après l'autre. Ces matrices sont généralement très grandes, par exemple de dimension 256 x 256. Un turbocodeur de rendement de 1/3 peut être considéré comme une paire de codeurs systématiques convolutifs mettant en oeuvre des polynômes diviseurs. Le premier codeur produit une séquence de contrôle à partir la séquence de symboles à coder u et le second codeur produit une séquence de contrôle à partir d'une séquence entrelacée u* obtenue par entrelacement de la séquence u. Dans ce contexte, le retour à zéro des deux
codeurs, simultanément, est un problème classique.
Une première manière de le résoudre a été décrite dans la publication "Frame oriented convolutional turbo-codes", (C. BERROU et al.), Electronics Letters, volume 32, no. 15, 18/07/96 p. 1362 - 1364, Stevenage,
Herts, Grande Bretagne.
Soit g(x) le polynôme diviseur d'un turbocodeur, c'est-à-dire de chaque codeur élémentaire. Soit m le degré du polynôme g(x) et NO le plus petit entier tel que g(x) soit un diviseur du polynôme xN + 1. Soit aussi n un multiple
de NO: n = M NO.
Pour exposer cette publication, représentons la séquence de
symboles à coder comme une séquence de polynômes u(x) =:i=o à n-1 uI.
Ainsi, chaque polynôme u(x) contient n symboles binaires à coder.
Ecrivons alors u(x) comme
u(x) = Ej=o à NO-I Sj(xNOé).
o chaque polynôme sj(x) possède un degré M-1.
En regard de la figure 1, on comprend que l'on peut représenter ce jeu d'écriture de la manière suivante: - on inscrit, dans un tableau 101 possédant NO colonnes, les symboles ui de la séquence u, ligne par ligne, de gauche à droite et en partant de la ligne la plus haute et en allant vers la ligne la plus basse du tableau; et - les polynômes Sj(x) sont les polynômes dont les coefficients de
rangs croissants sont les symboles qui se trouvent dans la j-
ième colonne du tableau, inscrits, dans l'ordre, de haut en bas.
Notons alors par S*,(x) un autre polynôme de degré M-1 obtenu à partir de Sj(x) par une permutation de ses coefficients. Pour différentes valeurs
de j, les permutations produisant S (x) à partir de Sj(x) peuvent être différentes.
Dans le tableau 101 considéré ci-dessus, cela revient à dire que les coefficients du polynôme Sj*(x) sont ceux de la j-ième colonne du tableau,
mais dans un ordre différent des coefficients du polynôme S/(x).
Si on écrit le tableau 102 correspondant aux polynômes Sj*(x) de la même manière que le tableau 101 correspond aux polynômes Sj(x), en faisant se jouxter la dernière ligne du tableau 101 et la première du tableau 102, on constate que chaque coefficient qui se trouve dans la j-ième colonne du
tableau 101, se trouve dans la j-ième colonne du tableau 102.
Ecrivons alors u*(x) = Ejo=0 NO-1 S *(xNO)i et définissons
uu*(x) = u(x) + xn u*(x).
Il est aisé de montrer que uu*(x) est divisible par g(x). Donc le codage de u(x) en v=[u, uu*/g] est possible avec une division exacte. Le
rendement R de ce codage est alors donné par R = nl(3n-m).
Une deuxième manière de résoudre le problème du retour à
zéro du codeur a été trouvée par les inventeurs et elle est résumée cidessous.
Soit g(x) le polynôme diviseur d'un turbocodeur, c'est-à-dire de chaque codeur. Soit m le degré du polynôme g(x) et NO le plus petit entier tel
que g(x) soit un diviseur du polynôme xNo + 1. Pour des raisons décrites ci-
dessous, g(x) est considéré comme un polynôme sans carré et ceci entraîne
que NO soit un nombre impair.
Soit aussi n un multiple impair de NO: n = M NO.
Une séquence de symboles, u, de longueur n' = n-m, possède alors une représentation polynomiale, u(x), de degré n-m-1, avec des coefficients binaires, et ce polynôme u(x) est préencodé en: a(x) = u(x) + Zi=n.mn1 aix, o les m symboles binaires ai sont choisis de telle manière que a(x) soit un multiple de g(x). En conséquence de ce précodage, si a(x) est un multiple de g(x), alors a*(x) = a(xe) modula x'+1 est aussi un multiple de g(x)
pour toute valeur de e qui est une puissance de 2.
Dans la suite de la description, on appelle " x vers xe " ce type
d'entrelaceur et, par extension le type des turbocodeurs qui les mettent en oeuvre. Ici, il est nécessaire de considérer que g(x) n'a pas de facteur multiple parce que, en général, a*(x) possède la garantie d'être divisible
seulement par les facteurs irréductibles de g(x).
La version codée de u est alors donnée par v = [a, ah1/g, a*h2/g] o tous les composants sont des polynômes, et o, en particulier, a*h2/g est aussi un polynôme, grâce à la définition de a* et du choix de e comme
puissance de 2.
La présente invention vise à exploiter conjointement les
avantages des enseignements des approches mentionnées ci-dessus.
A cet effet, selon un premier aspect, la présente invention vise un procédé de codage, caractérisé en ce que 1/il prend en compte: - un polynôme sans carré g(x), - NO, le plus petit entier tel que g(x) soit un diviseur du polynôme xNO + 1; - n, un multiple impair de NO; - une séquence u de n symboles y, à coder; et - e, une puissance de 2 différente de 1, pour laquelle le résidu de e modulo NO est égal à 1, 2/ il comporte: - une opération de constitution d'une séquence dite "concaténée" uu* constituée successivement, d'une part, de la séquence de symboles u, comportant n symboles, et, d'autre part, d'une séquence de symboles u* définie par sa représentation polynomiale, u*(x) = u(xe) modulo xn+1, une opération de codage de la séquence concaténée, comportant au moins une division de la séquence concaténée uu* par le
polynôme g(x) pour former une séquence dite " de contrôle ".
Ainsi, la présente invention consiste à utiliser, comme entrelaceur spécifique, dans le schéma de codage exposé dans la publication de M. BERROU et al., des entrelaceurs identiques à ceux utilisés par les inventeurs et présentés ci-dessus, de type " x vers xe ", pour lesquels le résidu de e modulo
NO est égal à 1.
Les avantages de la présente invention sont les suivants: - elle décrit une manière spécifique non triviale pour mettre en oeuvre l'idée de la publication de M. BERROU; - il est prévu que la structure régulière de l'entrelaceur objet de la présente invention aura des effets favorables sur le type d'erreurs résiduelles après le décodage; - la mise en oeuvre de l'invention est particulièrement simple
puisque la seule connaissance des valeurs de n et de e suffit.
Selon des caractéristiques particulières, le procédé de codage visé par la présente invention, et tel que succinctement exposé ci-dessus comporte une opération de transmission de la séquence à coder u et de la séquence de contrôle résultant de l'opération de codage de la séquence concaténée. Grâce à ces dispositions, la séquence transmise peut être reçue,
même si le canal de transmission utilisé est relativement bruité.
Selon des caractéristiques particulières, le procédé de codage visé par la présente invention, et tel que succinctement exposé ci-dessus comporte une opération de transmission de la séquence à coder u et d'une partie de la séquence de contrôle résultant de l'opération de codage de la
séquence concaténée.
Grâce à ces dispositions, le rendement du procédé de codage est
amélioré.
Selon un deuxième aspect, la présente invention vise un procédé de décodage, caractérisé en ce que: 1/il prend en compte: - un polynôme sans carré g(x), - NO, le plus petit entier tel que g(x) soit un diviseur du polynôme
XN/ + 1;
- n, un multiple impair de NO; - e, une puissance de 2 différente de 1, pour laquelle le résidu de e modulo NO est égal à 1, 2/Il comporte une opération de réception de signaux représentatifs de: - une séquence codée u de n symboles uj,; et - le résultat de la division par g(x) d'une séquence dite "concaténée" uu* constituée successivement, d'une part, de la séquence de symboles u, comportant n symboles, et, d'autre part, d'une séquence de symboles u* définie par sa représentation polynomiale, u*(x) = u(xe) modulo xn+1, 3/ il comporte une opération de décodage comportant la mise en oeuvre du
polynôme g(x).
Selon un troisième aspect, la présente invention vise un dispositif de codage, caractérisé en ce qu'il comporte un moyen de traitement adapté: i/ à prendre en compte: - un polynôme sans carré g(x), - NO, le plus petit entier tel que g(x) soit un diviseur du polynôme xNO + 1; - n, un multiple impair de NO; - une séquence u de n symboles u, à coder; et - e, une puissance de 2 différente de 1, pour laquelle le résidu de e modulo NO est égal à 1, 2/ à constituer une séquence dite "concaténée" uu* constituée successivement, d'une part, de la séquence de symboles u, comportant n symboles, et, d'autre part, d'une séquence de symboles u* définie par sa représentation polynomiale, u*(x) = u(x8) modulo xn+1, 3/ à coder la séquence concaténée en effectuant, au moins une division de la séquence concaténée uu* par le polynôme g(x) pour former une
séquence dite " de contrôle ".
Selon un quatrième aspect, la présente invention vise un dispositif de décodage, caractérisé en ce que: 1/ il comporte un moyen de traitement à prendre en compte: - un polynôme sans carré g(x), - NO, le plus petit entier tel que g(x) soit un diviseur du polynôme
XN + 1;
- n, un multiple impair de NO; - e, une puissance de 2 différente de 1, pour laquelle le résidu de e modulo NO est égal à 1, 2/ il comporte un moyen de réception de signaux représentatifs de: - une séquence codée u de n symboles y,; et - le résultat de la division par g(x) d'une séquence dite "concaténée" uu* constituée successivement, d'une part, de la séquence de symboles u, comportant n symboles, et, d'autre part, d'une séquence de symboles u* définie par sa représentation polynomiale, u*(x) = u(x0) modulo xn+1, 3/le moyen de traitement est adapté à décoder la séquence u en
mettant en oeuvre du polynôme g(x).
L'invention vise aussi - un moyen de stockage d'information lisible par un ordinateur ou un microprocesseur conservant des instructions d'un programme informatique, caractérisé en ce qu'il permet la mise en oeuvre du procédé de l'invention tel que succinctement exposé ci-dessus, et - un moyen de stockage d'information amovible, partiellement ou totalement, lisible par un ordinateur ou un microprocesseur conservant des instructions d'un programme informatique, caractérisé en ce qu'il permet la mise en oeuvre du procédé de
l'invention tel que succinctement exposé ci-dessus.
L'invention vise aussi: - un dispositif de traitement de signaux représentatifs de parole, qui comporte un dispositif tel que succinctement exposé ci-dessus, - un dispositif de transmission de données comportant un émetteur adapté à mettre en oeuvre un protocole de transmission par paquets, qui comporte un dispositif tel que succinctement exposé ci-dessus, - un dispositif de transmission de données comportant un émetteur adapté à mettre en oeuvre le protocole de transmission par paquets ATM (mode de transfert asynchrone, "Asynchronous Transfer Mode"), qui comporte un dispositif tel que succinctement exposé ci-dessus, - un dispositif de transmission de données comportant un émetteur adapté à mettre en oeuvre le protocole de transmission par paquets, sur un réseau de type ETHERNET (marque déposée), - une station de réseau, qui comporte un dispositif tel que succinctement exposé ci-dessus, - un dispositif de transmission de données comportant un émetteur émettant sur un canal non filaire, qui comporte un dispositif tel que succinctement exposé ci-dessus, et - un dispositif de traitement de séquences de signaux représentatifs d'au plus mille données binaires, qui comporte un dispositif tel
que succinctement exposé ci-dessus.
Ces dispositifs de codage et de décodage, ces procédés de codage et de décodage et ces dispositif de traitement de signaux, de transmission de données, de traitement de séquence et ce réseau présentant les mêmes caractéristiques particulières et les mêmes avantages que le procédé de codage tel que succinctement exposé ci-dessus, ces
caractéristiques particulières et ces avantages ne sont pas rappelés ici.
D'autres avantages, buts et caractéristiques de la présente
invention ressortiront de la description qui va suivre, faite en regard des dessins
annexés, dans lesquels: - la figure 1 représente, schématiquement, I'enseignement du document de C. BERROU et al.; - la figure 2 représente, schématiquement, un dispositif de codage mettant en oeuvre la présente invention et - la figure 3 met en oeuvre un algorithme de fonctionnement du
dispositif illustré en figure 2.
La figure 1 a déjà été décrite en regard de l'explication de
l'enseignement du document de C. BERROU et al., supra.
Nous allons maintenant exposés les fondements mathématiques à
la base de la présente invention.
Soient: - g(x) le polynôme diviseur d'un turbocodeur,; - NO le plus petit entier tel que g(x) soit un diviseur du polynôme XNO + 1; et
- n un multiple impair de NO: n = M NO.
g(x) étant un polynôme sans diviseur carré, NO est un nombre impair. Les inventeurs ont constaté que, lorsque l'on constitue une séquence dite " concaténée " contenant: - une séquence u de n symboles binaires ui, puis une séquence entrelacée u* produite selon la règle suivante: u*(x) = u(xe) modulo xn+1, pour toute valeur de e qui est une puissance de 2, pour laquelle le résidu de e modulo NO est égal à 1, alors la représentation polynomiale de cette séquence uu*, définie par sa représentation polynomiale, uu*(x) = u(x) + xn u*(x),
est divisible par g(x).
Dans la suite de la description, on appelle " x vers xe " ce type
d'entrelaceur et, par extension le type des turbocodeurs qui les mettent en
oeuvre.
La version codée de u est alors donnée par Yv = [u, uu*h/g] o tous les composants sont des polynômes, et o, en particulier, uu*h/g est aussi un
polynôme, grâce à la définition de uu* et du choix de e comme puissance de 2.
On observe que tous les entrelaceurs de type "x vers xe" ne peuvent être adoptés mais seulement ceux pour lesquels le résidu de e modulo NO est égal à 1. Cette condition vient de ce que, dans u*(x) comme décrit dans la publication de C. BERROU et al. mentionnée ci-dessus, chaque s* est obtenu à partir de sj par une permutation mais qu'aucune permutation supplémentaire remplaçant s'* par s*', avec i différent de j, ne présente l'effet souhaité que toutes les représentations polynomiales des séquences uu*
doivent être divisibles par g(x).
Le rendement R de ce codage est alors donné par R = n/(3n-m).
Par exemple, pour NO = 15, M= 27, n = 405, et g(x) = 1 + x+ x4, e = 151 (qui est 240 modulo 405) satisfait la condition e = 1 modulo 15, alors que
e = 362 (qui est égal à 249 modulo 405) ne satisfait pas cette condition.
La figure 2 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 211, un écran 209, une source d'informations externe 210, un émetteur hertzien 206, conjointement reliés à un
port d'entrée/sortie 203 d'une carte de traitement 201.
La carte de traitement 201 comporte, reliés entre eux par un bus d'adresses et de données 202: - une unité centrale de traitement 200; une mémoire vive RAM 204; - une mémoire morte ROM 205; et
- le port d'entrée/sortie 203.
Chacun des éléments illustrés en figure 2 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'informations 210 est, par exemple, un périphérique d'interface, un capteur, un démodulateur, une mémoire externe ou un autre système de traitement d'information (non représenté), et est préférentiellement adaptée à fournir 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, - l'émetteur hertzien 206 est adapté à mettre en oeuvre un 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 204 et 205, 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 204 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 204 comporte notamment: - un registre " i " dans lequel est conservée la valeur d'une variable intermédiaire de traitement i, - un registre "données _primaires" dans lequel sont conservées, dans l'ordre de leur arrivée sur le bus 202, les données binaires en provenance de la source d'information 210, sous forme d'une séquence u, - un registre "données_permutées" dans lequel sont conservées, dans l'ordre de leur arrivée sur le bus 202, les données binaires permutées, comme décrit en regard de la figure 2, sous forme d'une séquence u*, et - un registre "'v dans lequel sont conservées, dans l'ordre de leur détermination par l'unité centrale 200, les données binaires des
séquences résultant du turbocodage.
La mémoire morte 205 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 200, dans un registre "program", - la séquence g, dans un registre "a", - la séquence h, dans un registre "h", - la valeur de NO, dans un registre "NO", - la valeur de M, dans un registre "N", et - la valeur de e, puissance de 2 différente de 1, pour laquelle le résidu de e modulo NO est égal à 1, définissant
l'entrelaceur de type "x vers x'", dans un registre "e".
L'unité centrale de traitement 200 est adaptée à mettre en ceuvre
l'organigramme décrit en figure 3.
En figure 3, qui représente le fonctionnement d'un dispositif de codage tel qu'illustré en figure 2, on observe qu'après une opération d'initialisation 301 de type connu dans les systèmes de traitement d'information à microprocesseur au cours de laquelle on initialise à la valeur 0, une variable intermédiaire de traitement i, l'unité centrale 200 effectue une opération 302 de
lecture d'un symbole d'information à coder, dans la source d'information 210.
L'unité centrale 200 place ledit symbole d'information dans le registre "donnéesprimaires" de la mémoire vive 204 et incrémente la valeur de la
variable i.
Ensuite, au cours d'un test 303, I'unité centrale 200 détermine si la
valeur de la variable i est M.NO, ou non.
Lorsque le résultat du test 303 est négatif, I'opération 302 est réitérée. Lorsque le résultat du test 303 est positif, au cours d'une opération 304, les données conservées dans le registre " donnéesprimaires " sont lues dans l'ordre donné par la règle selon laquelle, la position de la première donnée lue est la première position dans le registre "données_primaire" et, ensuite, la prochaine donnée lue est celle qui se trouve à la position de la donnée qui vient d'être lue plus le nombre e, cette position étant calculée modulo M.NO, puis la donnée suivante qui est lue est celle qui se trouve à la position de la donnée qui vient d'être lue plus le nombre e, cette position étant calculée modulo M.NO, et
ainsi de suite.
Au cours de l'opération 304, les données lues dans le registre " données_primaires " sont successivement écrites, dans leur ordre de lecture aux positions successives du registre " donnéespermutées " et forme la
séquence permutée u*.
Ensuite, au cours d'une opération 305, les données conservées dans les registres " donnéesprimaires " et " donnéespermutées " sont successivement lues, dans l'ordre de leurs positions dans ces registres, pour former la séquence concaténée uu* par division de leur représentation polynomiale uu*(x) par un polynôme diviseur g(x) et multiplication par un polynôme multiplicateur h(x). La séquence codée, v = uu* h/g, est placée dans
le registre "''.
Ensuite, au cours d'une opération 306, la séquence u et la séquence codée v sont encapsulées dans une trame radio, modulées et
transmises sur un canal de transmission sans fil.
Enfin, la variable i est réinitialisée à zéro et l'opération 302 est réitérée. Pour la mise en oeuvre du décodage, I'homme du métier pourra se référer à la publication de M. BERROU mentionnée en préambule, sachant que, conformément à la présente invention, ce procédé 1/ prend en compte: - un polynôme sans carré g(x), - NO, le plus petit entier tel que g(x) soit un diviseur du polynôme XN +1; - n, un multiple impair de NO; - e, une puissance de 2 différente de 1, pour laquelle le résidu de e modulo NO est égal à 1, 2/ comporte une opération de réception de signaux représentatifs de: - une séquence codée u de n symboles ui; et - le résultat de la division par g(x) d'une séquence dite "concaténée" uu* constituée successivement, d'une part, de la séquence de symboles u, comportant n symboles, et, d'autre part, d'une séquence de symboles u* définie par sa représentation polynomiale, u*(x) = u(xe) modulo xn+l, et 3/ comporte une opération de décodage comportant la mise en oeuvre du
polynôme g(x).

Claims (15)

REVENDICATIONS
1. Procédé de codage, caractérisé en ce que: 1/il prend en compte: - un polynôme sans carré g(x), - NO, le plus petit entier tel que g(x) soit un diviseur du polynôme XNO +1; - n, un multiple impair de NO; - une séquence u de n symboles ui à coder; et - e, une puissance de 2 différente de 1, pour laquelle le résidu de e modulo NO est égal à 1, 2/il comporte: - une opération de constitution d'une séquence dite "concaténée" uu* (304) constituée successivement, d'une part, de la séquence de symboles _u, comportant n symboles, et, d'autre part, d'une séquence de symboles u* définie par sa représentation polynomiale, u*(x) = u(xe) modulo xn+1, une opération de codage de la séquence concaténée uu* (305) comportant au moins une division de la séquence concaténée uu* par le
polynôme g(x) pour former une séquence dite " de contrôle ".
2. Procédé de codage selon la revendication 1, caractérisé en ce qu'il comporte une opération de transmission (306) de la séquence à coder u et de la séquence de contrôle résultant de l'opération de codage de la séquence concaténée.
3. Procédé de codage selon la revendication 1, caractérisé en ce qu'il comporte une opération de transmission de la séquence à coder u et d'une partie de la séquence de contrôle résultant de l'opération de codage de la
séquence concaténée.
4. Procédé de décodage, caractérisé en ce que: 1/il prend en compte: - un polynôme sans carré g(x), - NO, le plus petit entier tel que g(x) soit un diviseur du polynôme xNO +1; - n, un multiple impair de NO; - e, une puissance de 2 différente de 1, pour laquelle le résidu de e modulo NO est égal à 1, 2/ Il comporte une opération de réception de signaux représentatifs de: - une séquence codée u de n symboles Ui; et - le résultat de la division par g(x) d'une séquence dite "concaténée" uu* constituée successivement, d'une part, de la séquence de symboles u, comportant n symboles, et, d'autre part, d'une séquence de symboles u* définie par sa représentation polynomiale, u*(x) = u(xe) modulo x'+1, 3/ il comporte une opération de décodage comportant la mise en oeuvre du
polynôme g(x).
5. Dispositif de codage, caractérisé en ce qu'il comporte un moyen de traitement adapté: 1/ à prendre en compte: - un polynôme sans carré g(x), - NO, le plus petit entier tel que g(x) soit un diviseur du polynôme xN +1; - n, un multiple impair de NO; - une séquence _u de n symboles ui à coder; et - e, une puissance de 2 différente de 1, pour laquelle le résidu de e modulo NO est égal à 1, 2/ à constituer une séquence dite "concaténée" uu* constituée successivement, d'une part, de la séquence de symboles u, comportant n symboles, et, d'autre part, d'une séquence de symboles _u* définie par sa représentation polynomiale, u*(x) = u(xe) modulo x'+1, 3/ à coder la séquence concaténée en effectuant, au moins une division de la séquence concaténée Uu* par le polynôme g(x) pour former une séquence dite
" de contrôle ".
6. Dispositif de codage selon la revendication 5, caractérisé en ce qu'il comporte un moyen de transmission adapté à transmettre la séquence à coder u et de la séquence de contrôle résultant du codage de la séquence concaténée uu*.
7. Dispositif de codage selon la revendication 5, caractérisé en ce qu'il comporte un moyen de transmission adapté à transmettre la séquence à coder u et une partie de la séquence de contrôle résultant de l'opération de
codage de la séquence concaténée uu*.
8. Dispositif de décodage, caractérisé en ce que: 1/il comporte un moyen de traitement à prendre en compte: - un polynôme sans carré g(x), - NO, le plus petit entier tel que g(x) soit un diviseur du polynôme xN O +1; - n, un multiple impair de NO; - e, une puissance de 2 différente de 1, pour laquelle le résidu de e modulo NO est égal à 1, 2/il comporte un moyen de réception de signaux représentatifs de: - une séquence codée u de n symboles -; et - le résultat de la division par g(x) d'une séquence dite "concaténée" uu* constituée successivement, d'une part, de la séquence de symboles u, comportant n symboles, et, d'autre part, d'une séquence de symboles u* définie par sa représentation polynomiale, u*(x) = u(x8) modulo xJ+1, 3/le moyen de traitement est adapté à décoder la séquence u en mettant en
oeuvre du polynôme g(x).
9. Dispositif de traitement de signaux représentatifs de parole, caractérisé en ce qu'il comporte un dispositif de codage selon l'une quelconque
des revendications 5 à 7 ou un dispositif de décodage selon la revendication 8.
10. Dispositif de transmission de données comportant un émetteur adapté à mettre en oeuvre un protocole de transmission par paquets, caractérisé en ce qu'il comporte un dispositif de codage selon l'une quelconque
des revendications 5 à 7 ou un dispositif de décodage selon la revendication 9
ou un dispositif de traitement de signaux représentatifs de parole selon la
revendication 8.
11. Dispositif de transmission de données selon la revendication , caractérisé en ce que ledit protocole est le protocole ATM (acronyme des
mots anglais "Asynchronous Transfert Mode") mode de transfert asynchrone.
12. Dispositif de transmission de données selon la revendication
, caractérisé en ce que ledit protocole est le protocole de type ETHERNET.
13. Dispositif de transmission de données comportant un émetteur émettant sur un canal non filaire, caractérisé en ce qu'il comporte un dispositif
de codage selon l'une quelconque des revendications 5 à 7 ou un dispositif de
décodage selon la revendication 8.
14. Dispositif de traitement de séquences de signaux représentatifs d'au plus mille données binaires, caractérisé en ce qu'il comporte
un dispositif de codage selon l'une quelconque des revendications 5 à 7 ou un
dispositif de décodage selon la revendication 8.
15. Station de réseau, caractérisé en ce qu'il comporte un
dispositif de codage selon l'une quelconque des revendications 5 à 7 ou un
dispositif de décodage selon la revendication 8.
FR9814086A 1998-11-09 1998-11-09 Procede et dispositif de codage de sequences de donnees, procede et dispositif de decodage associes Expired - Fee Related FR2785744B1 (fr)

Priority Applications (2)

Application Number Priority Date Filing Date Title
FR9814086A FR2785744B1 (fr) 1998-11-09 1998-11-09 Procede et dispositif de codage de sequences de donnees, procede et dispositif de decodage associes
US09/434,402 US6638318B1 (en) 1998-11-09 1999-11-05 Method and device for coding sequences of data, and associated decoding method and device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR9814086A FR2785744B1 (fr) 1998-11-09 1998-11-09 Procede et dispositif de codage de sequences de donnees, procede et dispositif de decodage associes

Publications (2)

Publication Number Publication Date
FR2785744A1 true FR2785744A1 (fr) 2000-05-12
FR2785744B1 FR2785744B1 (fr) 2001-01-26

Family

ID=9532542

Family Applications (1)

Application Number Title Priority Date Filing Date
FR9814086A Expired - Fee Related FR2785744B1 (fr) 1998-11-09 1998-11-09 Procede et dispositif de codage de sequences de donnees, procede et dispositif de decodage associes

Country Status (2)

Country Link
US (1) US6638318B1 (fr)
FR (1) FR2785744B1 (fr)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2801446A1 (fr) * 1999-11-18 2001-05-25 Canon Kk Procede et dispositif de codage, procede et dispositif de decodage, et systemes les mettant en oeuvre

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2807895B1 (fr) * 2000-04-18 2002-06-07 Canon Kk Procedes et dispositifs de codage et de decodage et systemes les mettant en oeuvre
FR2815199B1 (fr) * 2000-10-10 2003-01-17 Canon Kk Procedes de turbocodage circulaire de grande distance minimale, et systemes pour leur mise en oeuvre
FR2837331B1 (fr) * 2002-03-13 2004-06-18 Canon Kk Procede d'entrelacement d'une sequence binaire
FR2845220B1 (fr) * 2002-09-30 2004-12-17 Canon Kk Procedes et dispositifs pour le decodage des codes de geometrie algebrique a un point
FR2849514A1 (fr) * 2002-12-26 2004-07-02 Canon Kk Code de geometrie algebrique adapte aux erreurs en rafale
FR2853976B1 (fr) * 2003-04-16 2005-06-03 Canon Kk Codage d'informations par code de geometrie algebrique offrant deux options de decodage
FR2858141A1 (fr) * 2003-07-21 2005-01-28 Canon Kk Codage d'informations par codes de reed-solomon raccourcis
FR2860360B1 (fr) * 2003-09-29 2005-12-09 Canon Kk Dispositif de codage /decodage utilisant un codeur/decodeur de reed-solomon
FR2863794B1 (fr) * 2003-12-16 2006-03-03 Canon Kk Procedes et dispositifs de localisation d'erreurs pour les codes de geometrie algebrique
FR2865083B1 (fr) * 2004-01-13 2006-04-07 Canon Kk Decodage pour code de geometrie algebrique associe a un produit fibre.
FR2866998B1 (fr) * 2004-02-27 2006-05-19 Canon Kk Decodage et correction d'erreurs pour codes de geometrie algebrique
FR2867925B1 (fr) * 2004-03-22 2006-05-19 Canon Kk Codage de canal adapte aux erreurs rafale
FR2873518B1 (fr) * 2004-07-22 2008-12-19 Canon Kk Procede de codage et de decodage d'une sequence de mots, signal, codeur, decodeur, programmes d'ordinateur et moyens de stockage correspondants
FR2880218B1 (fr) * 2004-12-23 2007-02-16 Canon Kk Procede de decodage pour codes de geometrie algebrique et dispositif associe
US9543980B2 (en) * 2014-10-10 2017-01-10 Massachusettes Institute Of Technology Systems and methods for model-free compression and model-based decompression

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1997038495A1 (fr) * 1996-04-03 1997-10-16 France Telecom Procede et dispositif de codage convolutif de blocs de donnees, et procede et dispositif de decodage correspondants

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4937828A (en) * 1988-11-04 1990-06-26 Westinghouse Electric Corp. High speed parallel CRC device for concatenated data frames
US6085349A (en) * 1997-08-27 2000-07-04 Qualcomm Incorporated Method for selecting cyclic redundancy check polynomials for linear coded systems
US6144645A (en) * 1998-05-26 2000-11-07 Nera Wireless Broadband Access As Method and system for an air interface for providing voice, data, and multimedia services in a wireless local loop system

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1997038495A1 (fr) * 1996-04-03 1997-10-16 France Telecom Procede et dispositif de codage convolutif de blocs de donnees, et procede et dispositif de decodage correspondants

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
BARBULESCU A S ET AL: "INTERLEAVER DESIGN FOR TURBO CODES", ELECTRONICS LETTERS, vol. 30, no. 25, 8 December 1994 (1994-12-08), pages 2107/2108, XP000501850, ISSN: 0013-5194 *
BENEDETTO S ET AL: "ITERATIVE DECODING OF SERIALLY CONCATENATED CODES WITH INTERLEAVERSAND COMPARISON WITH TURBO CODES", IEEE GLOBAL TELECOMMUNICATIONS CONFERENCE, PHOENIX, ARIZONA, NOV. 3 - 8, 1997, vol. 2, 3 November 1997 (1997-11-03), INSTITUTE OF ELECTRICAL AND ELECTRONICS ENGINEERS, pages 654 - 658, XP000737620, ISBN: 0-7803-4199-6 *
BERROU C ET AL: "NEAR OPTIMUM ERROR CORRECTING CODING AND DECODING: TURBO-CODES", IEEE TRANSACTIONS ON COMMUNICATIONS, vol. 44, no. 10, 1 October 1996 (1996-10-01), pages 1261 - 1271, XP000629465, ISSN: 0090-6778 *
KOORA K ET AL: "INTERLEAVER DESIGN FOR TURBO CODES WITH SELECTED INPUTS", ELECTRONICS LETTERS, vol. 34, no. 7, 2 April 1998 (1998-04-02), pages 651/652, XP000781379, ISSN: 0013-5194 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2801446A1 (fr) * 1999-11-18 2001-05-25 Canon Kk Procede et dispositif de codage, procede et dispositif de decodage, et systemes les mettant en oeuvre

Also Published As

Publication number Publication date
US6638318B1 (en) 2003-10-28
FR2785744B1 (fr) 2001-01-26

Similar Documents

Publication Publication Date Title
FR2785744A1 (fr) Procede et dispositif de codage de sequences de donnees, procede et dispositif de decodage associes
FR2785743A1 (fr) Dispositif et procede d'adaptation des turbocodeurs et des decodeurs associes a des sequences de longueur variable
EP0891656B1 (fr) Procede et dispositif de codage convolutif de blocs de donnees, et procede et dispositif de decodage correspondants
FR2815199A1 (fr) Procedes de turbocodage circulaire de grande distance minimale, et systemes pour leur mise en oeuvre
FR2767940A1 (fr) Procedes et dispositifs de codage et de decodage et appareils les mettant en oeuvre
FR2790621A1 (fr) Dispositif et procede d'entrelacement pour turbocodage et turbodecodage
EP0108655A1 (fr) Système de détection et de correction d'erreurs de transmission d'un message binaire utilisant un code cyclique détecteur et correcteur d'erreurs de type Reed-Solomon entrelacé
FR2706054A1 (fr) Procédé d'entrelacement d'une séquence d'éléments de données, et dispositif d'entrelacement correspondant.
FR2785741A1 (fr) Dispositif et procede de codage et d'entrelacement pour des turbocodes series ou hybrides
FR2849514A1 (fr) Code de geometrie algebrique adapte aux erreurs en rafale
EP1332557A2 (fr) Module, dispositif et procede de decodage a haut debit, d'un code concatene
FR2900294A1 (fr) Chargement de la memoire d'entree d'un decodeur ldpc avec des donnees a decoder
EP1098445A1 (fr) Méthode d'entrelacement pour le turbocodage de données
WO2007083066A1 (fr) Procedes d'encodage et de decodage rapides et dispositifs associes
FR2871976A1 (fr) Decodeur ldpc
FR2866998A1 (fr) Decodage et correction d'erreurs pour codes de geometrie algebrique
FR2802735A1 (fr) Procede et dispositif de codage, procede et dispositif de decodage, et systemes les mettant en oeuvre
FR2863794A1 (fr) Procedes et dispositifs de localisation d'erreurs pour les codes de geometrie algebrique
FR2842672A1 (fr) Dispositif et procede de decodage robuste de codes arithmetiques
FR2858141A1 (fr) Codage d'informations par codes de reed-solomon raccourcis
FR2834146A1 (fr) Turbo-decodeur compact a haute efficacite
FR2867925A1 (fr) Codage de canal adapte aux erreurs rafale
FR2787263A1 (fr) Procede de transmission avec codage de canal a entrelacement efficace et modulaire pour turbo codes
FR2838580A1 (fr) Procedes et dispositifs de faible cout pour le decodage de codes produits
EP1525663A1 (fr) Compression de donnees numeriques robuste au bruit de transmission

Legal Events

Date Code Title Description
ST Notification of lapse

Effective date: 20140731