FR2801446A1 - Method for coding of a primary data sequence by generating first polynomial divider of cyclic codes whose generating polynomial is second polynomial divider - Google Patents

Method for coding of a primary data sequence by generating first polynomial divider of cyclic codes whose generating polynomial is second polynomial divider Download PDF

Info

Publication number
FR2801446A1
FR2801446A1 FR9914504A FR9914504A FR2801446A1 FR 2801446 A1 FR2801446 A1 FR 2801446A1 FR 9914504 A FR9914504 A FR 9914504A FR 9914504 A FR9914504 A FR 9914504A FR 2801446 A1 FR2801446 A1 FR 2801446A1
Authority
FR
France
Prior art keywords
sep
sequence
coding
polynomial
decoding
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
FR9914504A
Other languages
French (fr)
Other versions
FR2801446B1 (en
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 FR9914504A priority Critical patent/FR2801446B1/en
Publication of FR2801446A1 publication Critical patent/FR2801446A1/en
Application granted granted Critical
Publication of FR2801446B1 publication Critical patent/FR2801446B1/en
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/2993Implementing the return to a predetermined state, i.e. trellis termination
    • 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/2703Coding, 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 the interleaver involving at least two directions
    • H03M13/271Row-column interleaver with permutations, e.g. block interleaving with inter-row, inter-column, intra-row or intra-column permutations
    • 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/275Interleaver wherein the permutation pattern is obtained using a congruential operation of the type y=ax+b modulo c
    • 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/2903Methods and arrangements specifically for encoding, e.g. parallel encoding of a plurality of constituent 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/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/39Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes
    • H03M13/3988Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes for rate k/n convolutional codes, with k>1, obtained by convolutional encoders with k inputs and n outputs

Abstract

A non trivial inter-columns permutation (506) transforms (507) a cyclic code of NO length for generating a first polynomial divider (g1(x)) of cyclic codes whose generating polynomial is the second polynomial divider (g2(x)), the inter-columns permutation. The NO columns of an image representing the sequence of origin (u) are permuted and each of which being a permutation of the symbols of a column of the image. Independent claims are included for: (a) a coding device (b) a method of decoding (c) a decoding device (d) a method of creating a look-up table (e) an apparatus for digital data processing (f) a telecommunication network (g) a mobile station used in a telecommunication network (h) a device for processing a signal representing password (i) a data transmission device

Description

La présente invention se rapporte à un procédé et à un dispositif de codage, à un procédé et à un dispositif de décodage, et à des systèmes les mettant en ceuvre. The present invention relates to a method and a coding device, a method and a decoding device, and systems implementing them.

Plus précisément, la présente invention se rapporte à un procédé et à un dispositif de turbocodage et turbodécodage ne nécessitant pas de bits d'ajout ("padding <I>bits"</I> en anglais). More specifically, the present invention relates to a method and a turbo-coding and turbo-decoding device that does not require addition bits ("padding <I> bits" </ I>).

Classiquement, un turbocodeur est constitué de trois parties essentielles : deux codeurs convolutifs récursifs systématiques élémentaires et un entrelaceur. Conventionally, a turbocharger consists of three essential parts: two basic recursive convolutional coders and an interleaver.

Le décodeur associé est constitué des deux décodeurs élémentaires à entrées et sorties dites douces correspondant aux codeurs convolutifs, d'un entrelaceur et de son entrelaceur inverse (appelé aussi "désentrelaceur"). The associated decoder consists of two elementary decoders with so-called soft inputs and outputs corresponding to the convolutional encoders, an interleaver and its inverse interleaver (also called "deinterleaver").

On trouvera une description des turbocodes dans l'article "Near <I>Shannon</I> limit error-correcting coding <I>and</I> decoding: <I>turbo codes"</I> correspondant à la présentation faite par C. BERROU, A. GLAVIEUX et P. THITIMAJSHIMA lors de la conférence ICC à Genève en mai 1993. A description of the turbo codes can be found in the article "Near <I> Shannon </ I> limit error-correcting coding <I> and </ I> decoding: <I> turbo codes" </ I> corresponding to the presentation made by C. BERROU, A. GLAVIEUX and P. THITIMAJSHIMA at the ICC Conference in Geneva in May 1993.

Les codeurs étant récursifs systématiques, un problème que l'on retrouve souvent est celui de la mise à zéro des codeurs. Since the coders are systematic recursive, a problem that is often found is that of setting the encoders to zero.

On trouve dans l'art antérieur diverses façons de traiter ce problème, notamment 1. Absence de remise à zéro : on initialise les codeurs à l'état nul et on les laisse évoluer vers un état quelconque sans intervenir. 2. Remise à zéro du premier codeur : on initialise les codeurs à l'état nul et on ajoute des bits de padding pour imposer un état final nul uniquement au premier codeur. Various ways of dealing with this problem can be found in the prior art, in particular 1. No resetting: the encoders are initialized in the zero state and allowed to evolve to any state without intervening. 2. Reset of the first encoder: the encoders are initialized in the null state and padding bits are added to impose a zero final state only on the first encoder.

3. "Turbo codes convolutifs orientés trame" (FOCTC, en anglais "Frame Oriented Convolutiona! Turbo <I>Codes")</I> : 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 propriétés, l'état final du second codeur est nul. On se reportera utilement à ce sujet à l'article de C. BERROU et M. JEZEQUEL intitulé "Frame oriented convolutional turbo-codes", in Electronics Letters, Vol. 32, n 15, 18 juillet 1996, pages 1362 à 1364, Stevenage, Herts, Grande Bretagne. 3. "Frame Oriented Convolutional Turbo" (FOCTC): The first encoder is initialized and the final state of the second encoder is taken as the initial state of the second encoder. first encoder. When using a class of interleavers with certain properties, the final state of the second encoder is zero. Reference is made to this subject in the article by C. BERROU and M. JEZEQUEL entitled "Frame oriented convolutional turbo-codes", in Electronics Letters, Vol. 32, No. 15, July 18, 1996, pages 1362 to 1364, Stevenage, Herts, Great Britain.

4. Remises à zéro indépendantes des deux codeurs : on initialise les codeurs à l'état nul et on ajoute de façon indépendante des bits de padding à 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 le rapport de D. DIVSALAR et F. POLLARA intitulé "TDA progress report 42-123<I>On the design</I> <I>of turbo codes",</I> publié en novembre 1995 par JPL (Jet Propulsion Laboratory). 4. Independent resets of the two coders: the encoders are initialized in the null state and padding bits are added independently to each of the sequences entering the coders. A general description of independent encoder resets is given in the report by D. DIVSALAR and F. POLLARA entitled "TDA progress report 42-123 <I> On the design </ i> <i> of turbo codes", < Published in November 1995 by Jet Propulsion Laboratory (JPL).

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. 5. Intrinsic reset of the two encoders: the encoders are initialized in the null state and padding bits are added to the sequence that enters the first encoder. When using an interleaver guaranteeing the return to zero as explained in the patent document FR-A-2 773 287 and that the sequence comprising the padding bits is interleaved, the second coder automatically has a final state of zero.

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. For each of the solutions of the prior art mentioned above, there is a lattice termination adapted for each corresponding decoder. These decoders take into account the termination or not of the trellises, as well as, where appropriate, the fact that each of the two coders uses the same padding bits.

Les solutions 1 et 2 présentent l'inconvénient d'offrir généralement de moins bonnes performances que les solutions 3 à 5. Solutions 1 and 2 have the drawback of generally offering poorer performance than solutions 3 to 5.

Cependant, les solutions 3 à 5 présentent également des inconvénients. Considérons la solution 3, qui utilise des turbocodes convolutifs orientés trame (FOCTC). However, solutions 3 to 5 also have disadvantages. Consider solution 3, which uses frame-oriented convolutional turbocodes (FOCTCs).

Les FOCTC peuvent être décrits de la façon suivante un turbocodeur de type FOCTC de rendement 1I3 peut être considéré comme un codeur récursif convolutif mettant en oëuvre un polynôme diviseur. The FOCTCs can be described in the following manner. A FOCTC-type turbocoder of output 1I3 can be considered as a convolutional recursive encoder implementing a divisor polynomial.

Soit g(x) le polynôme diviseur du codeur. Let g (x) be the divisor polynomial of the encoder.

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 x" + 1. Ce nombre NO est appelé "période" de g(x). Let m be the degree of the polynomial g (x) and NO the smallest integer such that g (x) is a divisor of the polynomial x "+ 1. This number NO is called the" period "of g (x).

Soit n un multiple de NO : n = M.NO, M étant un entier. Let n be a multiple of NO: n = M.NO, where M is an integer.

Le codeur produit une séquence de contrôle à partir d'une séquence de symboles d'informations binaires à coder u de longueur n et d'une séquence entrelacée u* obtenue par entrelacement de la séquence u. The encoder produces a control sequence from a sequence of binary information symbols to be encoded u of length n and an interleaved sequence u * obtained by interleaving the sequence u.

La séquence de symboles u possède alors une représentation polynomiale u(x), de degré n -1, avec des coefficients binaires. Dans toute la suite, les notations u et u(x) sont équivalentes. The sequence of symbols u then has a polynomial representation u (x), of degree n -1, with binary coefficients. In the following, the notation u and u (x) are equivalent.

Ainsi, le codeur, à partir d'une séquence u représentée par un polynôme u(x), produit une séquence v représentée par un polynôme v(x) _ (u(x)+xM " .u*(x)).h(x)Ig(x), où h(x) et g(x) sont deux polynômes premiers entre eux. Thus, the encoder, from a sequence u represented by a polynomial u (x), produces a sequence v represented by a polynomial v (x) _ (u (x) + xM ".u * (x)). h (x) Ig (x), where h (x) and g (x) are two prime polynomials between them.

Par ailleurs, la séquence u(x) est entrelacée en une séquence u*(x) par une permutation ayant une propriété de divisibilité décrite plus loin. On the other hand, the sequence u (x) is interleaved into a sequence u * (x) by a permutation having a divisibility property described later.

Ces permutations sont, dans une représentation où les données binaires de la séquence u sont écrites et lues, ligne par ligne, dans un tableau à NO colonnes et M lignes, NO étant le plus petit entier tel que le polynôme diviseur g(x) divise x" +1, la résultante d'un nombre quelconque de permutations dites élémentaires, dont chacune est une permutation quelconque des symboles d'une colonne dudit tableau. These permutations are, in a representation where the binary data of the sequence u are written and read, line by line, in an array with NO columns and M lines, where NO is the smallest integer such that the divisor polynomial g (x) divides x "+1, the resultant of any number of so-called elementary permutations, each of which is any permutation of the symbols of a column of said array.

Dans la demande de brevet français de numéro de dépôt 98 14086, on décrit une famille d'entrelaceurs compatibles avec les FOCTC et simples à mettre en oeuvre. Un entrelaceur de cette famille est de la forme "x vers x"", où e est une puissance de 2 modulo n et est congru à 1 modulo N0, et cet entrelaceur est défini comme suit si u désigne la séquence d'entrée et u* la séquence permutée, l'entrelaceur permute chaque bit qui se trouve initialement en position i dans u, vers une position (e.ï modulo n) dans u*. In the French patent application number 98 14086 depicting a family of interleavers compatible with FOCTC and simple to implement. An interleaver of this family is of the form "x to x" ", where e is a power of 2 modulo n and is congruent to 1 modulo N0, and this interleaver is defined as follows if u designates the input sequence and u * the permuted sequence, the interleaver switches each bit that is initially in position i in u, to a position (e.i modulo n) in u *.

Globalement, le turbocodeur produit les séquences u et v, qui sont ensuite émises sur un canal de transmission. Overall, the turbo encoder produces the sequences u and v, which are then transmitted on a transmission channel.

La propriété de divisibilité évoquée plus haut, liée à la permutation utilisée, est que la séquence a(x) = u(x)+xM " .u*(x) est divisible par g(x). Ainsi, si le codeur est initialisé à un état nul, il retourne à un état nul après codage de la séquence a(x). The divisibility property mentioned above, related to the permutation used, is that the sequence a (x) = u (x) + xM ".u * (x) is divisible by g (x). Thus, if the encoder is initialized to a null state, it returns to a null state after encoding the sequence a (x).

Du côté du décodeur, on considère un turbodécodeur adapté à prendre en compte le fait que - d'une part, l'état initial E;,l du premier codeur et l'état final du second codeur Ef,2 sont nuls, et - d'autre part, l'état initial E;,2 du second codeur est identique à l'état final du premier codeur Ef,,. On the decoder side, a turbodecoder adapted to take into account the fact that - on the one hand, the initial state E ;, l of the first encoder and the final state of the second encoder Ef, 2 are null, and - on the other hand, the initial state E;, 2 of the second encoder is identical to the final state of the first encoder Ef ,,.

Toutefois, cette solution 3 proposée par l'art antérieur limite le choix des entrelaceurs, ce qui risque de réduire les performances ou de compliquer inutilement la réalisation de l'entrelaceur. However, this solution 3 proposed by the prior art limits the choice of interleavers, which may reduce performance or unnecessarily complicate the realization of the interleaver.

Quant à la solution 4, elle a de moins bonnes performances que la solution 5 lorsque la taille de l'entrelaceur est petite. As for solution 4, it performs worse than solution 5 when the size of the interleaver is small.

Enfin, la solution 5 nécessite qu'on détermine les bits d'ajout ("padding <I>bits")</I> avant que le second codeur ne puisse commencer à coder. Ainsi, l'art antérieur ne permet pas de résoudre le problème consistant, à partir d'une architecture de turbocode similaire à celle mise en oeuvre par la solution 3 mentionnée ci-dessus, à proposer des procédés et dispositifs de codage et de décodage - offrant un large choix d'entrelaceurs, - permettant l'optimisation des performances, et - permettant d'utiliser des entrelaceurs de réalisation simple. La présente invention a pour but de remédier aux inconvénients précités. Finally, the solution 5 requires the addition bits ("padding <I> bits") </ I> to be determined before the second coder can start coding. Thus, the prior art does not solve the problem consisting, from a turbocode architecture similar to that implemented by the solution 3 mentioned above, to propose methods and devices for coding and decoding - offering a wide choice of interleavers, - allowing optimization of performance, and - allowing the use of interleavers of simple realization. The present invention aims to overcome the aforementioned drawbacks.

Dans ce but, suivant un premier mode de réalisation, la présente invention propose un procédé de codage d'au moins une séquence de données binaires d'origine, suivant lequel - on effectue au moins une première opération de codage convolutif récursif, consistant à coder la séquence d'origine par une technique de codage mettant en ceuvre un premier polynôme diviseur et n'incluant aucun ajout de bit garantissant la divisibilité par le premier polynôme diviseur; - on effectue au moins une opération d'entrelacement, de façon à obtenir une séquence entrelacée ; et - on effectue au moins une deuxième opération de codage convolutif récursif, consistant à coder la séquence entrelacée par une technique de codage mettant en ceuvre un deuxième polynôme diviseur et n'incluant aucun ajout de bit garantissant la divisibilité par le deuxième polynôme diviseur, le deuxième polynôme diviseur étant compatible avec le premier polynôme diviseur; ce procédé de codage étant remarquable en ce que - au moins une opération d'entrelacement consiste à permuter les données binaires de la séquence d'origine à l'aide d'une permutation spécifique, cette permutation spécifique étant, dans une représentation où les données binaires de la séquence d'origine sont écrites et lues, ligne par ligne, dans un tableau à NO colonnes et M lignes, où NO est le plus petit entier tel que le premier polynôme diviseur divise le polynôme x" +1 et M est un entier positif, la résultante d'une permutation inter-colonnes non triviale, c'est-à-dire différente de la permutation identité, qui transforme le code cyclique de longueur NO dont le polynôme générateur est le premier polynôme diviseur en le code cyclique dont le polynôme générateur est le deuxième polynôme diviseur, cette permutation inter-colonnes permutant entre elles les NO colonnes du tableau représentant la séquence d'origine, et d'un nombre quelconque de permutations élémentaires intra- colonne, chacune de ces permutations élémentaires étant une permutation quelconque des symboles d'une colonne du tableau précité. For this purpose, according to a first embodiment, the present invention proposes a method of coding at least one original binary data sequence, according to which - at least a first recursive convolutional coding operation is performed, consisting of coding the original sequence by a coding technique implementing a first divisor polynomial and not including any bit adding guaranteeing the divisibility by the first divisor polynomial; at least one interleaving operation is performed so as to obtain an interleaved sequence; and performing at least one second recursive convolutional coding operation, consisting of coding the interleaved sequence by an encoding technique implementing a second divisor polynomial and including no bit adding guaranteeing the divisibility by the second divisor polynomial, the second divisor polynomial being compatible with the first divisor polynomial; this coding method being remarkable in that - at least one interleaving operation consists of permuting the binary data of the original sequence by means of a specific permutation, this specific permutation being in a representation where the data bits of the original sequence are written and read, line by line, in an array with NO columns and M lines, where NO is the smallest integer such that the first divisor polynomial divides the polynomial x "+1 and M is a positive integer, the resultant of a non-trivial inter-column permutation, that is to say different from the identity permutation, which transforms the cyclic code of length NO whose generator polynomial is the first divisor polynomial into the cyclic code whose the generator polynomial is the second divisor polynomial, this inter-column permutation exchanging between them the NO columns of the array representing the original sequence, and a number that Each elementary permutations intra-column, each of these elementary permutations being any permutation of the symbols of a column of the aforementioned table.

Ainsi, la présente invention permet, pour une taille donnée de bloc - d'initialiser le premier codeur à un état nul, - de coder la séquence d'origine avec ce premier codeur en une séquence conduisant à un état final du premier codeur, - d'entrelacer la séquence d'origine en une séquence permutée, par une permutation spécifique préservant la divisibilité par le polynôme diviseur des deux codeurs, - d'initialiser le second codeur à un état initial dépendant à la fois de l'état final du premier codeur et de la permutation inter-colonnes mentionnée plus haut, selon des règles garantissant le retour à zéro de ce codeur, et - de coder avec le second codeur la séquence permutée. Thus, the present invention makes it possible, for a given block size - to initialize the first coder to a zero state - to code the original sequence with this first coder into a sequence leading to a final state of the first coder. to interleave the original sequence in a permuted sequence, by a specific permutation preserving the divisibility by the divisor polynomial of the two coders, - to initialize the second encoder to an initial state depending both on the final state of the first encoder and inter-column permutation mentioned above, according to rules ensuring the return to zero of this encoder, and - to code with the second encoder the permuted sequence.

La propriété de divisibilité mentionnée plus haut permet au second codeur d'avoir un état final nul. The divisibility property mentioned above allows the second encoder to have a null end state.

Globalement, le turbocodeur produit la séquence d'origine et les séquences fournies par les premier et second codeurs, qui sont émises ultérieurement sur un canal de transmission. Overall, the turbo encoder produces the original sequence and sequences provided by the first and second encoders, which are transmitted later on a transmission channel.

Suivant un deuxième mode de réalisation, la présente invention propose également un procédé de codage d'au moins une séquence de données binaires d'origine, suivant lequel - on effectue au moins une première opération de codage convolutif récursif, consistant à coder la séquence d'origine par une technique de codage mettant en oeuvre un premier polynôme diviseur et n'incluant aucun ajout de bit garantissant la divisibilité par le premier polynôme diviseur ; - on effectue au moins une opération d'entrelacement, de façon à obtenir une séquence entrelacée ; et - on effectue au moins une deuxième opération de codage convolutif récursif, consistant à coder la séquence entrelacée par une technique de codage mettant en oeuvre un deuxième polynôme diviseur et n'incluant aucun ajout de bit garantissant la divisibilité par le deuxième polynôme diviseur, le deuxième polynôme diviseur étant compatible avec le premier polynôme diviseur ; ce procédé de codage étant remarquable en ce que - au moins une opération d'entrelacement consiste à permuter les données binaires de la séquence d'origine à l'aide d'une permutation spécifique, cette permutation spécifique étant, dans une représentation où les données binaires de la séquence d'origine sont écrites et lues, ligne par ligne, dans un tableau à NO colonnes et M lignes, où NO est le plus petit entier tel que le premier polynôme diviseur divise le polynôme x" +1 et M est un entier positif, la résultante d'une permutation inter-colonnes, qui transforme le code cyclique de longueur NO dont le polynôme générateur est le premier polynôme diviseur en le code cyclique dont le polynôme générateur est le deuxième polynôme diviseur, cette permutation inter-colonnes permutant entre elles les NO colonnes du tableau représentant la séquence d'origine, et d'un nombre quelconque de permutations élémentaires intra- colonne, chacune de ces permutations élémentaires étant une permutation quelconque des symboles d'une colonne du tableau précité ; ce procédé de codage étant également remarquable en ce que - la première opération de codage comporte une étape d'initialisation à un état nul et se termine à un état final quelconque, et - au moins une deuxième opération de codage comporte une étape d'initialisation à un état nul et se termine à un état final quelconque dépendant de l'état final de la première opération de codage. According to a second embodiment, the present invention also proposes a method for coding at least one original binary data sequence, according to which at least one first recursive convolutional coding operation is performed, consisting of coding the sequence of origin by an encoding technique implementing a first divisor polynomial and not including any bit adding guaranteeing the divisibility by the first divisor polynomial; at least one interleaving operation is performed so as to obtain an interleaved sequence; and performing at least one second recursive convolutional coding operation, consisting in coding the interleaved sequence by an encoding technique implementing a second divisor polynomial and including no bit adding guaranteeing the divisibility by the second divisor polynomial, the second divisor polynomial being compatible with the first divisor polynomial; this coding method being remarkable in that - at least one interleaving operation consists of permuting the binary data of the original sequence by means of a specific permutation, this specific permutation being in a representation where the data bits of the original sequence are written and read, line by line, in an array with NO columns and M lines, where NO is the smallest integer such that the first divisor polynomial divides the polynomial x "+1 and M is a positive integer, the resultant of an inter-column permutation, which transforms the cyclic code of length NO whose generator polynomial is the first divisor polynomial into the cyclic code whose generator polynomial is the second divisor polynomial, this permutating inter-column permutation between them the NO columns of the table representing the original sequence, and any number of elementary permutations intra-column, each of these elementary rmutations being any permutation of the symbols of a column of the aforementioned table; this coding method is also remarkable in that the first coding operation includes a step of initialization to a null state and ends with any final state, and at least one second coding operation comprises an initialization step. to a null state and terminates at any final state depending on the final state of the first coding operation.

Ainsi, connaissant la permutation spécifique et l'état final de la première opération de codage, on peut déterminer quel sera l'état final de la deuxième opération de codage. Thus, knowing the specific permutation and the final state of the first coding operation, it is possible to determine what will be the final state of the second coding operation.

Cette caractéristique peut simplifier le décodage, étant donné que l'initialisation se fait de la même façon lors des opérations de codage convolutif récursif. En outre, le codage de la séquence entrelacée peut commencer avant que le codage de la séquence d'origine soit terminé. Par ailleurs, dans ce deuxième mode de réalisation, la permutation inter-colonnes peut, soit être l'identité, soit être non triviale. This feature can simplify decoding, since initialization is the same in recursive convolutional encoding operations. In addition, the encoding of the interleaved sequence can begin before the encoding of the original sequence is completed. Moreover, in this second embodiment, the inter-column permutation can be either the identity or be non-trivial.

Dans ce deuxième mode de réalisation, selon une caractéristique particulière, le procédé de codage comporte au moins une opération de mise en correspondance biunivoque entre les états finaux possibles de la première opération de codage et les états finaux possibles d'au moins une deuxième opération de codage. In this second embodiment, according to a particular characteristic, the coding method comprises at least one operation of one-to-one mapping between the possible final states of the first coding operation and the possible final states of at least one second operation of coding.

Cette caractéristique est de mise en #uvre simple et permet de réduire le temps nécessaire au codage. This feature is simple to implement and reduces the time required for coding.

Dans le deuxième mode de réalisation, selon une caractéristique particulière, l'opération d'entrelacement est du type "x vers x"", où e est une puissance de 2 modulo M.NO. In the second embodiment, according to a particular characteristic, the interleaving operation is of the "x to x" "type, where e is a power of 2 modulo M.NO.

Ce type d'opération d'entrelacement présente l'avantage d'être simple à mettre en oeuvre. This type of interleaving operation has the advantage of being simple to implement.

Selon une caractéristique particulière du premier mode de réalisation, - la première opération de codage comporte une étape d'initialisation à un état initial nul et se termine à un état final quelconque, et - au moins une deuxième opération de codage comporte une étape d'initialisation à un état initial dépendant de l'état final de la première opération de codage et se termine à un état final nul. According to a particular characteristic of the first embodiment, the first coding operation comprises an initialization step at a zero initial state and ends at any final state, and at least a second coding operation comprises a step of initialization to an initial state dependent on the final state of the first coding operation and ending in a zero final state.

Cette caractéristique présente l'avantage de simplifier la mise en #uvre du décodage correspondant, tout en minimisant le surcroît de complexité côté codage. This feature has the advantage of simplifying the implementation of the corresponding decoding, while minimizing the additional complexity coding side.

Selon une caractéristique particulière, le procédé de codage de l'invention comporte au moins une opération de mise en correspondance bi univoque entre les états finaux possibles de la première opération de codage et les états initiaux possibles d'au moins une deuxième opération de codage. According to one particular characteristic, the coding method of the invention comprises at least one univocal mapping operation between the possible final states of the first coding operation and the possible initial states of at least one second coding operation.

Cette caractéristique est de mise en #uvre simple et permet de réduire le temps nécessaire au codage. Selon une caractéristique particulière du premier mode de réalisation, l'opération d'entrelacement est du type "x vers x"", où e est une puissance de 2 modulo M.NO et n'est pas congru à 1 modulo N0. This feature is simple to implement and reduces the time required for coding. According to a particular characteristic of the first embodiment, the interleaving operation is of the "x to x" "type, where e is a power of 2 modulo M.NO and is not congruent to 1 modulo N0.

Ce type d'opération d'entrelacement présente l'avantage d'être simple à mettre en oeuvre. This type of interleaving operation has the advantage of being simple to implement.

Dans les premier et deuxième modes de réalisation, selon une caractéristique particulière, l'opération de mise en correspondance dépend de la permutation inter-colonnes. In the first and second embodiments, according to a particular characteristic, the mapping operation depends on the inter-column permutation.

On limite ainsi le nombre de paramètres ou d'opérations nécessaires pour la mise en correspondance. This limits the number of parameters or operations necessary for matching.

Dans les premier et deuxième modes de réalisation, selon une caractéristique particulière, les polynômes diviseurs sont identiques. In the first and second embodiments, according to a particular characteristic, the dividing polynomials are identical.

Cette caractéristique permet de simplifier la mise en ceuvre du codage. This characteristic makes it possible to simplify the implementation of the coding.

Dans le même but que celui indiqué plus haut, la présente invention propose en outre, suivant un premier mode de réalisation, un dispositif de codage d'au moins une séquence de données binaires d'origine, comportant - un premier module de codage convolutif récursif, pour coder la séquence d'origine par une technique de codage mettant en oeuvre un premier polynôme diviseur et n'incluant aucun ajout de bit garantissant la divisibilité par ce premier polynôme diviseur; - un module d'entrelacement, pour produire une séquence entrelacée ; et - au moins un deuxième module de codage convolutif récursif, pour coder la séquence entrelacée par une technique de codage mettant en oeuvre un deuxième polynôme diviseur et n'incluant aucun ajout de bit garantissant la divisibilité par ce deuxième polynôme diviseur, le deuxième polynôme diviseur étant compatible avec le premier polynôme diviseur; ce dispositif de codage étant remarquable en ce que - le module d'entrelacement comporte un module pour permuter les données binaires de la séquence d'origine à l'aide d'une permutation spécifique, cette permutation spécifique étant, dans une représentation où les données binaires de la séquence d'origine sont écrites et lues, ligne par ligne, dans un tableau à NO colonnes et M lignes, où NO est le plus petit entier tel que le premier polynôme diviseur divise le polynôme x" +1 et M est un entier positif, la résultante d'une permutation inter-colonnes non triviale qui transforme le code cyclique de longueur NO dont le polynôme générateur est le premier polynôme diviseur en le code cyclique dont le polynôme générateur est le deuxième polynôme diviseur, cette permutation inter-colonnes permutant entre elles les NO colonnes du tableau représentant la séquence d'origine, et d'un nombre quelconque de permutations élémentaires intra- colonne, chacune des permutations élémentaires étant une permutation quelconque des symboles d'une colonne du tableau précité. For the same purpose as that indicated above, the present invention further proposes, according to a first embodiment, a device for coding at least one original binary data sequence, comprising: a first recursive convolutional coding module; to encode the original sequence by an encoding technique implementing a first divisor polynomial and not including any bit additions ensuring divisibility by this first divisor polynomial; an interleaving module for producing an interleaved sequence; and at least one second recursive convolutional coding module, for encoding the interleaved sequence by an encoding technique implementing a second divisor polynomial and including no adding of a bit guaranteeing the divisibility by this second divisor polynomial, the second divisor polynomial being compatible with the first divisor polynomial; this coding device being remarkable in that: the interleaving module comprises a module for permuting the binary data of the original sequence by means of a specific permutation, this specific permutation being in a representation where the data bits of the original sequence are written and read, line by line, in an array with NO columns and M lines, where NO is the smallest integer such that the first divisor polynomial divides the polynomial x "+1 and M is a positive integer, the resultant of a non-trivial inter-column permutation which transforms the cyclic code of length NO whose generator polynomial is the first divisor polynomial into the cyclic code whose generator polynomial is the second divisor polynomial, this inter-column permutation swapping between them the NO columns of the array representing the original sequence, and any number of elementary permutations within the column, ch acune elementary permutations being any permutation of the symbols of a column of the aforementioned table.

Suivant un deuxième mode de réalisation, la présente invention propose un dispositif de codage d'au moins une séquence de données binaires d'origine, comportant - un premier module de codage convolutif récursif, pour coder la séquence d'origine par une technique de codage mettant en oeuvre un premier polynôme diviseur et n'incluant aucun ajout de bit garantissant la divisibilité par ce premier polynôme diviseur; - un module d'entrelacement, pour produire une séquence entrelacée ; et - au moins un deuxième module de codage convolutif récursif, pour coder la séquence entrelacée par une technique de codage mettant en oeuvre un deuxième polynôme diviseur et n'incluant aucun ajout de bit garantissant la divisibilité par ce deuxième polynôme diviseur, le deuxième polynôme diviseur étant compatible avec le premier polynôme diviseur; ce dispositif de codage étant remarquable en ce que - le module d'entrelacement comporte un module pour permuter les données binaires de la séquence d'origine à l'aide d'une permutation spécifique, cette permutation spécifique étant, dans une représentation où les données binaires de la séquence d'origine sont écrites et lues, ligne par ligne, dans un tableau à NO colonnes et M lignes, où NO est le plus petit entier tel que le premier polynôme diviseur divise le polynôme x" +1 et M est un entier positif, la résultante d'une permutation inter-colonnes qui transforme le code cyclique de longueur NO dont le polynôme générateur est le premier polynôme diviseur en le code cyclique dont le polynôme générateur est le deuxième polynôme diviseur, cette permutation inter-colonnes permutant entre elles les NO colonnes du tableau représentant la séquence d'origine, et d'un nombre quelconque de permutations élémentaires intra- colonne, chacune des permutations élémentaires étant une permutation quelconque des symboles d'une colonne du tableau précité ; ce dispositif de codage étant également remarquable en ce que - le premier module de codage est initialisé à un état nul et présente un état final quelconque, et - au moins un deuxième module de codage est initialisé à un état nul et présente un état final quelconque dépendant de l'état final du premier module de codage. According to a second embodiment, the present invention proposes a device for coding at least one original binary data sequence, comprising - a first recursive convolutional coding module, for coding the original sequence by a coding technique implementing a first divisor polynomial and not including any bit adding guaranteeing the divisibility by this first divisor polynomial; an interleaving module for producing an interleaved sequence; and at least one second recursive convolutional coding module, for encoding the interleaved sequence by an encoding technique implementing a second divisor polynomial and including no adding of a bit guaranteeing the divisibility by this second divisor polynomial, the second divisor polynomial being compatible with the first divisor polynomial; this coding device being remarkable in that: the interleaving module comprises a module for permuting the binary data of the original sequence by means of a specific permutation, this specific permutation being in a representation where the data bits of the original sequence are written and read, line by line, in an array with NO columns and M lines, where NO is the smallest integer such that the first divisor polynomial divides the polynomial x "+1 and M is a positive integer, the resultant of an inter-column permutation which transforms the cyclic code of length NO whose generator polynomial is the first divisor polynomial into the cyclic code whose generator polynomial is the second divisor polynomial, this permutation inter-columns permutating between they are the NO columns of the table representing the original sequence, and any number of elementary permutations in the column, each of the elementary mutations being any permutation of the symbols of a column of the aforementioned table; this coding device is also remarkable in that: the first coding module is initialized to a null state and has any final state, and at least one second coding module is initialized to a null state and has any final state depending on the final state of the first coding module.

Les avantages et les caractéristiques particulières de ces dispositifs de codage étant les mêmes que ceux des procédés de codage selon l'invention, ils ne sont pas rappelés ici. The advantages and the particular characteristics of these coding devices being the same as those of the coding methods according to the invention, they are not recalled here.

Toujours dans le même but, la présente invention propose en outre un procédé de décodage d'au moins une séquence de symboles d'origine, remarquable en ce que la séquence de symboles d'origine est représentative d'une séquence binaire codée à l'aide d'un procédé de codage tel que ci- dessus. Still for the same purpose, the present invention further proposes a method for decoding at least one sequence of original symbols, which is remarkable in that the original symbol sequence is representative of a binary sequence encoded by using a coding method as above.

Un tel procédé de décodage présente de bonnes performances et permet de bénéficier, de façon générale, des avantages mentionnés plus haut en liaison avec le codage. Such a decoding method has good performance and can benefit, in general, advantages mentioned above in connection with the coding.

Dans une première variante, - les états initiaux des opérations de codage sont nuls et - l'état final de la deuxième opération de codage dépend de l'état final de la première opération de codage. Dans cette première variante, selon une caractéristique particulière, le procédé de décodage comporte au moins une opération de mise en correspondance biunivoque entre les états finaux possibles de la première opération de codage et les états finaux possibles d'au moins une deuxième opération de codage. In a first variant, the initial states of the coding operations are zero and the final state of the second coding operation depends on the final state of the first coding operation. In this first variant, according to a particular characteristic, the decoding method comprises at least one operation of one-to-one mapping between the possible final states of the first coding operation and the possible final states of at least one second coding operation.

Dans une deuxième variante, - le procédé de décodage comporte au moins une opération de mise en correspondance biunivoque entre les états finaux possibles de la première opération de codage et les états initiaux possibles d'au moins une deuxième opération de codage. In a second variant, the decoding method comprises at least one operation of one-to-one mapping between the possible final states of the first coding operation and the possible initial states of at least one second coding operation.

Selon une caractéristique particulière, le procédé de décodage met en ceuvre des opérations de décodage à entrées douces et sorties douces. Cette caractéristique permet d'obtenir de bonnes performances, moyennant une complexité réduite. According to one particular characteristic, the decoding method implements decoding operations with soft inputs and soft outputs. This characteristic makes it possible to obtain good performances, with reduced complexity.

Selon une caractéristique particulière, on effectue itérativement les opérations suivantes - au moins une première opération élémentaire de décodage d'un code convolutif récursif, consistant à décoder une première sous-séquence de ladite séquence de symboles d'origine par une technique de décodage mettant en oeuvre le premier polynôme diviseur et prenant en compte l'état initial (E;,j) et l'état final (Ef,l) de la première opération de codage ; - au moins une opération d'entrelacement d'une séquence représentative de la séquence d'origine ; - au moins une deuxième opération élémentaire de décodage d'un code convolutif récursif, consistant à décoder une deuxième sous-séquence de ladite séquence de symboles d'origine par une technique de décodage mettant en oeuvre le deuxième polynôme diviseur et prenant en compte l'état initial (E;,2) et l'état final (Ef,2) de la deuxième opération de codage ; et - au moins une opération de désentrelacement d'une séquence représentative de la séquence d'origine entrelacée. According to a particular characteristic, the following operations are performed iteratively: at least a first elementary operation for decoding a recursive convolutional code, consisting in decoding a first subsequence of said sequence of original symbols by a decoding technique implementing the first divisor polynomial is used and taking into account the initial state (E; j) and the final state (Ef 1) of the first coding operation; at least one interleaving operation of a sequence representative of the original sequence; at least one second elementary operation for decoding a recursive convolutional code, consisting in decoding a second subsequence of said original symbol sequence by a decoding technique implementing the second divider polynomial and taking into account the initial state (E; 2) and the final state (Ef 2) of the second coding operation; and at least one deinterleaving operation of a sequence representative of the interlaced origin sequence.

Selon une caractéristique particulière, dans une opération élémentaire de décodage, la prise en compte d'un état initial (respectivement final) nul de l'opération de codage correspondante se fait par initialisation d'une métrique de noeud - avec une probabilité d'occurrence maximale pour l'état initial (respectivement final) nul, - avec une probabilité d'occurrence nulle pour- les états initiaux (respectivement finaux) non nuls, - avec une équiprobabilité d'occurrence pour tous les états finaux (respectivement initiaux) à l'initialisation de la première opération de décodage élémentaire de la première itération et - avec une probabilité d'occurrence pour tous les états finaux (respectivement initiaux) à l'initialisation des opérations de décodage suivantes qui dépend des probabilités d'occurrence des états finaux ou initiaux définis par l'opération de décodage élémentaire précédente. According to a particular characteristic, in an elementary decoding operation, the taking into account of an initial (respectively final) zero state of the corresponding coding operation is done by initialization of a node metric - with a probability of occurrence maximum for the initial (respectively final) state nil, - with a probability of occurrence nil for the initial (respectively final) non-zero states, - with an equiprobability of occurrence for all the final states (respectively initial) at 1 initialization of the first elementary decoding operation of the first iteration and with a probability of occurrence for all the final states (initial respectively) at the initialization of the following decoding operations which depends on the probabilities of occurrence of the final states or initials defined by the previous elementary decoding operation.

On prend ainsi en compte les relations qui existent entre les états finaux et initiaux des codeurs, ce qui permet d'améliorer les performances. This takes into account the relationships between the final and initial states of the encoders, which improves performance.

Les avantages des caractéristiques particulières du procédé de décodage non mentionnés expressément ci-dessus sont les mêmes que ceux des caractéristiques particulières correspondantes des procédés de codage. The advantages of the particular features of the decoding method not expressly mentioned above are the same as those of the corresponding special features of the coding methods.

Dans le même but que précédemment, la présente invention propose de plus un dispositif de décodage d'au moins une séquence de symboles d'origine, remarquable en ce que la séquence de symboles d'origine est représentative d'une séquence binaire codée à l'aide d'un dispositif de codage tel que ci-dessus. For the same purpose as above, the present invention furthermore proposes a device for decoding at least one sequence of original symbols, which is remarkable in that the sequence of original symbols is representative of a binary sequence coded at the first time. using a coding device as above.

Les avantages du dispositif de décodage étant les mêmes que ceux du procédé de décodage selon l'invention, ils ne sont pas rappelés ici. Par ailleurs, on retrouve pour le dispositif de décodage des caractéristiques particulières analogues à celles du procédé de décodage, qui présentent les mêmes avantages. The advantages of the decoding device being the same as those of the decoding method according to the invention, they are not recalled here. Moreover, there are for the decoding device particular characteristics similar to those of the decoding method, which have the same advantages.

En outre, selon une caractéristique particulière, le dispositif de décodage comporte un premier module de calcul, pour affecter une valeur à chaque élément d'une table de métrique de noeud utilisée en entrée d'un deuxième module élémentaire de décodage (qui effectue la deuxième opération élémentaire de décodage), en fonction de chaque élément d'une table de métrique de noeud issue d'un premier module élémentaire de décodage (qui effectue la première opération élémentaire de décodage). In addition, according to one particular characteristic, the decoding device comprises a first calculation module, for assigning a value to each element of a node metric table used as input to a second elementary decoding module (which performs the second elementary decoding operation), as a function of each element of a node metric table derived from a first decoding elementary module (which performs the first elementary decoding operation).

En outre, selon une caractéristique particulière, le dispositif de décodage comporte un deuxième module de calcul, pour affecter une valeur à chaque élément d'une table de métrique de noeud utilisée en entrée du premier module élémentaire de décodage, en fonction de chaque élément d'une table de métrique de noeud issue du deuxième module élémentaire de décodage. In addition, according to one particular characteristic, the decoding device comprises a second calculation module, for assigning a value to each element of a node metric table used at the input of the first elementary decoding module, as a function of each element of the decoding module. a node metric table from the second basic decoding module.

Grâce aux deux caractéristiques particulières précédentes, on obtient de bonnes performances au décodage, grâce à une bonne adéquation entre décodeur et codeur. Thanks to the two particular characteristics above, good decoding performance is obtained, thanks to a good match between decoder and encoder.

Dans le même but que précédemment, la présente invention propose également un procédé de création d'une table de correspondance entre tous les états finaux possibles d'un premier codeur convolutif récursif d'un dispositif de codage tel que celui du premier mode de réalisation évoqué ci-dessus, le premier codeur convolutif récursif mettant en oeuvre un premier polynôme diviseur, et tous les états initiaux possibles d'un deuxième codeur convolutif récursif du dispositif de codage, le deuxième codeur convolutif récursif mettant en oeuvre un deuxième polynôme diviseur compatible avec le premier polynôme diviseur, ce procédé de création étant remarquable en ce que, pour chaque état final possible du premier codeur, on choisit un état initial du deuxième codeur parmi tous les états initiaux possibles de telle sorte que l'état final du deuxième codeur soit nul. On simplifie ainsi la réalisation des dispositifs de codage et de décodage. Dans un mode particulier de réalisation, - on effectue une première opération de construction, consistant à construire une table de transitions d'un état courant du premier codeur vers l'état suivant en fonction du bit fourni en entrée du premier codeur ; - on effectue une deuxième opération de construction, consistant à construire une table permettant de déterminer, à partir de la table de transitions obtenue précédemment, une première séquence qui, à partir d'un état courant du premier codeur, conduit à un état final nul ; - on effectue une opération d'ajout, consistant à ajouter à la première séquence autant de bits nuls que nécessaire pour obtenir une deuxième séquence ayant NO bits, NO étant le plus petit entier tel que le polynôme diviseur du premier codeur divise le polynôme x" +1 ; - on effectue une opération d'entrelacement, consistant à entrelacer la deuxième séquence avec une permutation inter-colonnes, de façon à obtenir une troisième séquence, la permutation inter-colonnes étant non triviale et ayant pour effet de transformer le code cyclique de longueur NO et ayant pour polynôme générateur le premier polynôme diviseur en un code cyclique équivalent ayant pour polynôme générateur le deuxième polynôme diviseur, cette permutation inter-colonnes agissant par permutation sur les NO colonnes d'un tableau représentant la deuxième séquence, dans une représentation où les données binaires de la deuxième séquence sont écrites et lues, ligne par ligne, dans un tableau à NO colonnes et M lignes, M étant un entier positif ; et - on effectue une troisième opération de construction, consistant à construire une table permettant de déterminer l'état final d'un codeur convolutif récursif initialisé à un état nul, ayant pour polynôme diviseur le deuxième polynôme diviseur et utilisé pour obtenir la troisième séquence ; de façon à obtenir une quatrième table établissant la correspondance entre l'état final du premier codeur et l'état initial du deuxième codeur pour la permutation inter-colonnes utilisée. For the same purpose as above, the present invention also proposes a method of creating a correspondence table between all the possible final states of a first recursive convolutional coder of a coding device such as that of the first embodiment mentioned. above, the first recursive convolutional encoder implementing a first divisor polynomial, and all the possible initial states of a second recursive convolutional encoder of the encoding device, the second recursive convolutional encoder implementing a second divisor polynomial compatible with the first divisor polynomial, this method of creation being remarkable in that, for each possible final state of the first coder, an initial state of the second encoder of all possible initial states is chosen such that the final state of the second coder is zero . This simplifies the production of coding and decoding devices. In a particular embodiment, a first construction operation is performed, consisting in constructing a transition table from a current state of the first encoder to the next state as a function of the bit supplied to the input of the first encoder; a second construction operation is carried out, consisting of constructing a table making it possible to determine, from the transitions table obtained previously, a first sequence which, starting from a current state of the first coder, leads to a final state of zero. ; an addition operation is performed, consisting in adding to the first sequence as many null bits as necessary to obtain a second sequence having NO bits, NO being the smallest integer such that the divisor polynomial of the first encoder divides the polynomial x " +1; an interleaving operation is performed, consisting of interleaving the second sequence with an inter-column permutation, so as to obtain a third sequence, the inter-column permutation being non-trivial and having the effect of transforming the cyclic code of length NO and having as polynomial generator the first dividing polynomial in an equivalent cyclic code having as generator polynomial the second polynomial divider, this permutation inter-columns acting by permutation on the NO columns of an array representing the second sequence, in a representation where the binary data of the second sequence are written and read, line by line, in a table with NO columns and M rows, M being a positive integer; and performing a third construction operation, consisting of constructing a table for determining the final state of a recursive convolutional coder initialized to a null state, having the divisor polynomial as the second divisor polynomial and used to obtain the third sequence; to obtain a fourth table establishing the correspondence between the final state of the first coder and the initial state of the second coder for the inter-column permutation used.

Ce mode particulier de réalisation permet, soit de calculer "à la volée" l'état initial du deuxième codeur, sans table de correspondance, soit de créer une table de correspondance entre les états initiaux du deuxième codeur et les états finaux du premier codeur, quand la méthode ci-dessus est appliquée à tous les états finaux possibles du premier codeur. Selon une caractéristique particulière, dans le procédé de codage ci- dessus, l'opération de mise en correspondance entre tous les états finaux possibles de la première opération de codage et tous les états initiaux possibles d'au moins une deuxième opération de codage met en couvre une table de correspondance créée par un procédé de création - d'une table de correspondance entre tous les états finaux possibles du premier codeur et tous les états initiaux possibles du deuxième codeur, tel que ci-dessus. This particular embodiment makes it possible either to compute "on the fly" the initial state of the second coder, without a correspondence table, or to create a correspondence table between the initial states of the second coder and the final states of the first coder. when the above method is applied to all possible end states of the first encoder. According to a particular characteristic, in the above coding method, the mapping operation between all the possible final states of the first coding operation and all possible initial states of at least one second coding operation involves covers a correspondence table created by a creation method - a correspondence table between all the possible final states of the first encoder and all possible initial states of the second encoder, as above.

Selon une caractéristique particulière, le procédé de décodage ci- dessus, lorsqu'il comporte au moins une opération de mise en correspondance de tous les états finaux possibles de la première opération de codage et de tous les états initiaux possibles d'au moins une deuxième opération de codage, utilise une table de correspondance créée par un procédé de création d'une table de correspondance entre tous les états finaux possibles du premier codeur et tous les états initiaux possibles du deuxième codeur, tel que ci- dessus. According to one particular characteristic, the decoding method above, when it comprises at least one mapping operation of all the possible final states of the first coding operation and all possible initial states of at least one second coding operation, uses a correspondence table created by a method of creating a correspondence table between all the possible final states of the first coder and all possible initial states of the second coder, as above.

Dans le même but que précédemment, la présente invention propose également un procédé de création d'une table de correspondance entre tous les états finaux possibles d'un premier codeur convolutif récursif d'un dispositif de codage tel que celui du deuxième mode de réalisation évoqué ci-dessus, le premier codeur convolutif récursif mettant en couvre un premier polynôme diviseur, et tous les états finaux possibles d'un deuxième codeur convolutif récursif du dispositif de codage, le deuxième codeur convolutif récursif mettant en couvre un deuxième polynôme diviseur compatible avec le premier polynôme diviseur, ce procédé de création étant remarquable en ce que, pour chaque état final possible du premier codeur, on détermine un état final du deuxième codeur parmi tous les états finaux possibles lorsque l'état initial du deuxième codeur est nul. For the same purpose as above, the present invention also proposes a method of creating a correspondence table between all the possible final states of a first recursive convolutional coder of a coding device such as that of the second embodiment mentioned above. above, the first recursive convolutional encoder covering a first divisor polynomial, and all possible end states of a second recursive convolutional encoder of the encoding device, the second recursive convolutional encoder covering a second divisor polynomial compatible with the first divisor polynomial, this method of creation being remarkable in that, for each possible final state of the first encoder, a final state of the second encoder is determined among all the possible final states when the initial state of the second encoder is zero.

Cette caractéristique peut simplifier le décodage, étant donné que l'initialisation se fait de la même façon lors des opérations de codage convolutif récursif. En outre, le codage de la séquence entrelacée peut commencer avant que le codage de la séquence d'origine soit terminé. This feature can simplify decoding, since initialization is the same in recursive convolutional encoding operations. In addition, the encoding of the interleaved sequence can begin before the encoding of the original sequence is completed.

Selon une caractéristique particulière, le procédé de décodage ci- dessus, lorsqu'il comporte au moins une opération de mise en correspondance de tous les états finaux possibles de la première opération de-codage et de tous les états finaux possibles d'au moins une deuxième opération de codage, utilise une table de correspondance créée par un procédé de création d'une table de correspondance entre tous les états finaux possibles du premier codeur et tous les états finaux possibles du deuxième codeur, tel que ci-dessus. According to one particular characteristic, the above decoding method, when it comprises at least one mapping operation of all the possible final states of the first coding operation and all possible final states of at least one second coding operation, uses a correspondence table created by a method of creating a correspondence table between all the possible final states of the first coder and all the possible final states of the second coder, as above.

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é de codage et/ou un procédé de décodage tels que ci-dessus. The present invention also provides a digital signal processing apparatus, comprising means adapted to implement a coding method and / or a decoding method as above.

La présente invention vise aussi un appareil de traitement de signaux numériques, comportant un dispositif de codage et/ou un dispositif de décodage tels que ci-dessus. The present invention also relates to a digital signal processing apparatus, comprising a coding device and / or a decoding device as above.

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. The present invention also relates to a telecommunications network, comprising means adapted to implement a coding method and / or a decoding method as above.

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. The present invention also relates to a telecommunications network, comprising a coding device and / or a decoding device as above.

La présente invention vise aussi une station mobile dans 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. The present invention also relates to a mobile station in a telecommunications network, comprising means adapted to implement a coding method and / or a decoding method as above.

La présente invention vise aussi une station mobile dans un réseau de télécommunications, comportant un dispositif de codage et/ou un dispositif de décodage tels que ci-dessus. The present invention also relates to a mobile station in a telecommunications network, comprising a coding device and / or a decoding device as above.

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. The present invention also relates to a representative speech signal processing device, comprising a coding device and / or a decoding device as above.

La présente invention vise aussi un dispositif de transmission de données comportant un émetteur adapté à mettre en oeuvre 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. The present invention also relates to a data transmission device comprising a transmitter adapted to implement a packet transmission protocol, comprising a coding device and / or a decoding device and / or a device for processing representative speech signals. as above.

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 "Asynchronous Transfer Mode"). According to a particular characteristic of the data transmission device, the packet transmission protocol is of the ATM (asynchronous transfer mode) type.

En variante, le protocole de transmission par paquets est de type IP (protocole de transmission utilisé sur Internet, en anglais "Intemet ProtocoP'). 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 oeuvre d'un procédé de codage tel 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 tel que ci-dessus. In a variant, the packet transmission protocol is of the IP (transmission protocol used over the Internet, in English "Internet Protocol") type .The invention also aims at - a means of storing information that can be read by a computer or a microprocessor that retains instructions of a computer program, allowing the implementation of a coding method as above, and - a removable information storage medium, partially or completely, readable by a computer or a microprocessor retaining instructions of a computer program, allowing the implementation of a coding method as above.

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 oeuvre d'un procédé de décodage tel 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 ceuvre d'un procédé de décodage tel que ci-dessus. The invention also aims at - a computer-readable information storage means or a microprocessor retaining instructions of a computer program, allowing the implementation of a decoding method as above, and - a means partially or fully removable information storage device readable by a computer or a microprocessor retaining instructions of a computer program, allowing the implementation of a decoding method as above.

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 de décodage et/ou de création d'une table de correspondance tels que ci-dessus. The invention also relates to a computer program comprising instruction sequences for implementing a method of coding and / or decoding and / or creation of a correspondence table as above.

Les caractéristiques particulières et les avantages des différents appareils de 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 les mêmes que ceux des procédés et dispositifs de codage et de décodage selon l'invention, ils ne sont pas rappelés ici. The particular characteristics and the advantages of the different digital signal processing apparatus, the different telecommunications networks, the various mobile stations, the representative speech signal processing device, the data transmission device, the information storage means and the computer program being the same as those of the methods and devices of coding and decoding according to the invention, they are not recalled here.

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 qui 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 un 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 de 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 mises en oeuvre par un dispositif de décodage tel que celui inclus dans le dispositif électronique de la figure 3, conformément à la présente invention, dans un mode particulier de réalisation ; - la figure 7 est un organigramme représentant schématiquement une opération de turbodécodage incluse dans l'organigramme de la figure 6, dans un mode particulier de réalisation de la présente invention ; et - la figure 8 représente schématiquement un dispositif de codage correspondant à un turbocode convolutif incluant plusieurs entrées, conforme à une variante de réalisation de la présente invention. De façon générale, un turbocodeur du type de ceux apparaissant dans l'invention, ayant pour rendement 1I3, peut être considéré comme une paire de codeurs récursifs convolutifs mettant en oeuvre des polynômes diviseurs. Le premier codeur produit une séquence de contrôle à partir d'une 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. Other aspects and advantages of the invention will appear on reading the following detailed description of particular embodiments, given by way of non-limiting examples. The description refers to the accompanying drawings, in which: - Figure 1 shows schematically an electronic device comprising a coding device according to the present invention, in a particular embodiment; - Figure 2 shows schematically, in block diagram form, a coding device corresponding to a parallel convolutional turbocode, according to the present invention, in a particular embodiment; FIG. 3 diagrammatically represents an electronic device comprising a decoding device according to the present invention, in a particular embodiment; - Figure 4 shows schematically, in block diagram form, a decoding device corresponding to a parallel convolutional turbocode, according to the present invention, in a particular embodiment; FIG. 5 is a flowchart showing schematically the operation of a coding device such as that included in the electronic device of FIG. 1, in a particular embodiment; FIG. 6 is a flowchart showing schematically decoding operations implemented by a decoding device such as that included in the electronic device of FIG. 3, according to the present invention, in a particular embodiment; FIG. 7 is a flowchart schematically showing a turbodecoding operation included in the flowchart of FIG. 6, in a particular embodiment of the present invention; and FIG. 8 schematically represents a coding device corresponding to a convolutional turbocode including several inputs, according to an alternative embodiment of the present invention. In general, a turbocoder of the type of those appearing in the invention, having the output 1I3, can be considered as a pair of convolutional recursive coders using divisor polynomials. The first encoder produces a control sequence from a sequence of symbols to be encoded u and the second encoder produces a control sequence from an interleaved sequence u * obtained by interleaving the sequence u.

Soit gi(x) le polynôme diviseur du premier codeur. Let gi (x) be the divisor polynomial of the first encoder.

Soit m le degré du polynôme g,(x) et NO le plus petit entier tel que gi(x) soit un diviseur du polynôme x" +1. Ce nombre NO est appelé "période" de gi(x). Let m be the degree of the polynomial g, (x) and NO the smallest integer such that gi (x) is a divisor of the polynomial x "+1 This number NO is called the" period "of gi (x).

Soit 92(x) le polynôme diviseur du deuxième codeur. Let 92 (x) be the divisor polynomial of the second encoder.

gi(x) et 92(x) ont la propriété suivante :

Figure img00200012

est la factorisation complète de gi(x) dans un corps d'extension du corps à deux éléments, alors la factorisation complète de 92(x) est
Figure img00200015

où cp est un automorphisme (noté exponentiellement) dudit corps d'extension. Dans la suite, un tel polynôme 92(x) sera dit compatible avec gi(x). En particulier, un polynôme est toujours compatible avec lui-même. On remarquera que deux polynômes compatibles ont le même degré et la même période. gi (x) and 92 (x) have the following property:
Figure img00200012

is the complete factorization of gi (x) in an extension body of the two-element body, then the complete factorization of 92 (x) is
Figure img00200015

where cp is an automorphism (exponentially noted) of the extension body. In the following, such a polynomial 92 (x) will be said to be compatible with gi (x). In particular, a polynomial is always compatible with itself. It will be noted that two compatible polynomials have the same degree and the same period.

Considérons par exemple la factorisation gi(x)=(x-#)(x-u 2)(x-a4) de g,(x) = x3+x+1 où a est une racine primitive septième de l'unité et appartient au corps contenant huit éléments. Considérons les six automorphismes <B>(Pi</B> : a-->ai de ce corps à huit éléments. On vérifie que<B>(pi,</B> cp2 et (p4 produisent 92(x) = 9,(x) alors que cp3, cps et (p5 produisent 92(x)= x3 +x2 +1 qui se factorise comme 92(X)=(X-(X 3)(x-as)(x-(X5). Consider for example the factorization gi (x) = (x - #) (xu 2) (x-a4) of g, (x) = x3 + x + 1 where a is a primitive root seventh of the unit and belongs to the body containing eight elements. Consider the six automorphisms <B> (Pi </ B>: a -> ai of this eight-element body.) We verify that <B> (pi, </ B> cp2 and (p4 produce 92 (x) = 9 , (x) while cp3, cps and (p5 produce 92 (x) = x3 + x2 +1 which factorizes as 92 (X) = (X- (X 3) (x-as) (x- (X5) .

Dans la suite, on supposera que gi(x) = 92(x). Par convention, gi(x) et 92(x) seront notés g(x). In the following, we assume that gi (x) = 92 (x). By convention, gi (x) and 92 (x) will be denoted g (x).

Soit n un multiple de NO : n = M.NO, M étant un entier. Let n be a multiple of NO: n = M.NO, where M is an integer.

Le premier codeur produit une séquence de contrôle à partir d'une séquence de symboles d'informations binaires à coder u de longueur n. La séquence de symboles u possède une représentation polynomiale u(x), de degré n -1, avec des coefficients binaires. The first encoder produces a control sequence from a sequence of binary information symbols to be encoded u of length n. The sequence of symbols u has a polynomial representation u (x), of degree n -1, with binary coefficients.

A titre d'illustration, on considère dans ce qui suit un polynôme diviseur g(x) égal à 1+x2+x3. Sa période, N0, vaut 7. As an illustration, we consider in the following a divisor polynomial g (x) equal to 1 + x2 + x3. His period, N0, is worth 7.

On considère une séquence à coder de 147 bits (n = 147) et des polynômes h<B>l</B> (x) et h2(x) tous deux égaux à 1+x+x3. We consider a coding sequence of 147 bits (n = 147) and polynomials h <B> l </ B> (x) and h2 (x) both equal to 1 + x + x3.

Dans ces conditions, un entrelaceur préservant la divisibilité par g(x) doit avoir une taille multiple de 7 ; si on écrit les données ligne par ligne dans un tableau à 7 colonnes, on peut permuter les données à l'intérieur de chaque colonne d'une façon quelconque et permuter les colonnes entre elles selon certaines conditions préservant la divisibilité par g(x), avant de lire ligne par ligne les données permutées. Under these conditions, an interleaver preserving the divisibility by g (x) must have a size multiple of 7; if we write the data line by line in a 7-column table, we can swap the data inside each column in any way and swap the columns together according to certain conditions preserving the divisibility by g (x), before reading the permuted data line by line.

En numérotant les colonnes dans un ordre croissant de 0 à 6, on note (bo, bl,..., bk) la permutation qui fait passer la colonne de rang bo au rang b,, la colonne de rang b, au rang b2, ... et la colonne de rang bk au rang bo. By numbering the columns in increasing order from 0 to 6, we denote (bo, bl, ..., bk) the permutation that moves the column of rank bo to rank b ,, the column of rank b, to rank b2 , ... and the column of rank bk to rank bo.

On note (cc, ci,..., ck)(do, d1,..., dk@) la composée de deux permutations (co, cl,..., ck) et (do, di,..., dk@). We denote (cc, ci, ..., ck) (do, d1, ..., dk @) the compound of two permutations (co, cl, ..., ck) and (do, di, ... , dk @).

La table T qui suit donne la liste des 167 permutations inter-colonnes non triviales qui préservent la divisibilité par g(x).

Figure img00210027
The following table T lists the 167 non-trivial inter-column permutations that preserve the divisibility by g (x).
Figure img00210027

(1 <SEP> 2 <SEP> 4) <SEP> (3 <SEP> 6 <SEP> 5) <SEP> (1 <SEP> 4 <SEP> 2) <SEP> (3 <SEP> 5 <SEP> 6)
<tb> (0123456) <SEP> (026)(143) <SEP> (046)(325)
<tb> (02461<B>35)</B> <SEP> (045)(1 <SEP> 62) <SEP> (01 <SEP> 5) <SEP> (364)
<tb> (0362514) <SEP> (064)(235) <SEP> (054)(126)
<tb> (04 <SEP> 1 <SEP> <B>5263)</B> <SEP> (0 <SEP> 1 <SEP> 3)(254) <SEP> <B>(023)(1 <SEP> 65)</B>
<tb> (0531642) <SEP> (032)(156) <SEP> (062)(134)
<tb> (0654321) <SEP> (051) <SEP> (346) <SEP> (03 <SEP> 1)(245)
<tb> (1 <SEP> <B>5)(23)</B> <SEP> (1 <SEP> 3 <SEP> 6) <SEP> (2 <SEP> 4 <SEP> 5) <SEP> (1 <SEP> 4 <SEP> 3) <SEP> (2 <SEP> 5 <SEP> 6)
<tb> <B>(056)(1</B> <SEP> 34) <SEP> (0 <SEP> 3 <SEP> 5 <SEP> 1 <SEP> 4 <SEP> 2 <SEP> 6) <SEP> (046)(2 <SEP> 1 <SEP> 5)
<tb> <B>(031</B> <SEP> 2465) <SEP> (0416325) <SEP> (05)(2364) <SEP> ,
<tb> (02 <SEP> <B>1</B>4)(36) <SEP> (0 <SEP> 6 <SEP> 4) <SEP> (3 <SEP> 1 <SEP> 5) <SEP> (0 <SEP> 1 <SEP> <B>32654)</B>

Figure img00220001
(1 <SEP> 2 <SEP> 4) <SEP> (3 <SEP> 6 <SEP> 5) <SEP> (1 <SEP> 4 <SEP> 2) <SEP> (3 <SEP> 5 <SEP > 6)
<tb> (0123456) <SEP> (026) (143) <SEP> (046) (325)
<tb> (02461 <B> 35) </ b><SEP> (045) (1 <SEP> 62) <SEP> (01 <SEP> 5) <SEP> (364)
<tb> (0362514) <SEP> (064) (235) <SEP> (054) (126)
<tb> (04 <SEP> 1 <SEP><B> 5263) <SEP> (0 <SEP> 1 <SEP> 3) (254) <SEP><B> (023) (1 <SEP> 65) </ B>
<tb> (0531642) <SEP> (032) (156) <SEP> (062) (134)
<tb> (0654321) <SEP> (051) <SEP> (346) <SEP> (03 <SEP> 1) (245)
<tb> (1 <SEP><B> 5) (23) <SEP> (1 <SEP> 3 <SEP> 6) <SEP> (2 <SEP> 4 <SEP> 5) <SEP > (1 <SEP> 4 <SEP> 3) <SEP> (2 <SEP> 5 <SEP> 6)
<tb><B> (056) (1 </ B><SEP> 34) <SEP> (0 <SEP> 3 <SEP> 5 <SEP> 1 <SEP> 4 <SEP> 2 <SEP> 6) <SEP> (046) (2 <SEP> 1 <SEP> 5)
<tb><B> (031 </ B><SEP> 2465) <SEP> (0416325) <SEP> (05) (2364) <SEP>,
<tb> (02 <SEP><B> 1 </ B> 4) (36) <SEP> (0 <SEP> 6 <SEP> 4) <SEP> (3 <SEP> 1 <SEP> 5) <SEP> (0 <SEP> 1 <SEP><B> 32654) </ B>
Figure img00220001

(0 <SEP> 4 <SEP> 5 <SEP> 3) <SEP> (2 <SEP> 6) <SEP> (0 <SEP> 5 <SEP> 4 <SEP> 3) <SEP> (1 <SEP> 2) <SEP> <B>(03)(1</B> <SEP> 6)
<tb> (0 <SEP> <B>164352)</B> <SEP> (0 <SEP> 2) <SEP> (5 <SEP> 6) <SEP> (0 <SEP> 6 <SEP> 3 <SEP> 4 <SEP> 5 <SEP> 1 <SEP> 2)
<tb> (0 <SEP> 6 <SEP> 1)(2 <SEP> 5 <SEP> 4) <SEP> (0 <SEP> 1)(2 <SEP> 3 <SEP> 4 <SEP> 6) <SEP> (0 <SEP> 2 <SEP> 4 <SEP> 1) <SEP> (3 <SEP> 5)
<tb> (2 <SEP> 3) <SEP> (4 <SEP> 6) <SEP> (1 <SEP> 3 <SEP> 4) <SEP> (2 <SEP> 6 <SEP> 5) <SEP> (1 <SEP> 6 <SEP> 2) <SEP> (3 <SEP> 5 <SEP> 4)
<tb> (0 <SEP> 1 <SEP> <B>36)(45) <SEP> (031</B> <SEP> 6)(24) <SEP> (0 <SEP> 6) <SEP> (2 <SEP> 5)
<tb> (0 <SEP> 3 <SEP> 5) <SEP> (1 <SEP> 2 <SEP> 6) <SEP> (0 <SEP> 6 <SEP> 3 <SEP> 2 <SEP> 1 <SEP> 4 <SEP> 5) <SEP> (0 <SEP> 1 <SEP> 5)(234)
<tb> (0251634) <SEP> (04)(53) <SEP> (0561324)
<tb> (0624153) <SEP> (0125643) <SEP> <B>(03)(1</B> <SEP> 465)
<tb> (0 <SEP> 5 <SEP> 2)(1 <SEP> 4 <SEP> 3) <SEP> (02)(1 <SEP> 546) <SEP> (04 <SEP> 1 <SEP> <B>2)(36)</B>
<tb> (0421)(56) <SEP> (051)(362) <SEP> (0264531)
<tb> (1 <SEP> 5)(46) <SEP> (1 <SEP> 2 <SEP> 6) <SEP> (3 <SEP> 4 <SEP> 5) <SEP> (1 <SEP> 6 <SEP> 3) <SEP> (2 <SEP> 5 <SEP> 4)
<tb> (0541236) <SEP> (0243516) <SEP> <B>(06)(1 <SEP> 532)</B>
<tb> (0 <SEP> 2 <SEP> 6 <SEP> 5) <SEP> (1 <SEP> 3) <SEP> (0 <SEP> 6 <SEP> 2 <SEP> 5) <SEP> (1 <SEP> 4) <SEP> (0 <SEP> 5) <SEP> (3 <SEP> 4)
<tb> (034)(1 <SEP> <B>62)</B> <SEP> (04)(1 <SEP> <B>523) <SEP> (01</B> <SEP> 24)(56)
<tb> (0 <SEP> 6 <SEP> 3) <SEP> (2 <SEP> 4 <SEP> 5) <SEP> (056421 <SEP> 3) <SEP> (0 <SEP> 2 <SEP> 3) <SEP> (1 <SEP> 4 <SEP> 6)
<tb> (0 <SEP> 1 <SEP> 4 <SEP> 2) <SEP> (3 <SEP> 5) <SEP> (0 <SEP> 3 <SEP> 2) <SEP> (4 <SEP> 6 <SEP> 5) <SEP> (0451 <SEP> <B>362)</B>
<tb> (0432561) <SEP> (01)(36) <SEP> (0352641)
<tb> (2 <SEP> 4) <SEP> (3 <SEP> 6) <SEP> (1 <SEP> 4)(56) <SEP> (1 <SEP> <B>2)(35)</B>
<tb> (0145326) <SEP> (046)(123) <SEP> (0256)(34)
<tb> (0 <SEP> 4 <SEP> 3 <SEP> 5) <SEP> (1 <SEP> 6) <SEP> (02 <SEP> 1 <SEP> <B>3645) <SEP> (01</B> <SEP> 5)(624)
<tb> (064)(1 <SEP> <B>25)</B> <SEP> (0 <SEP> 3 <SEP> 5 <SEP> 4) <SEP> (2 <SEP> 6) <SEP> (0 <SEP> 5 <SEP> 2 <SEP> 3 <SEP> 6 <SEP> 1 <SEP> 4)
<tb> (023)(154) <SEP> (0163)(25) <SEP> (0426513)
<tb> (0562)(13) <SEP> <B>(061</B> <SEP> 5342) <SEP> (032)(164)
<tb> (0346521) <SEP> (051)(324) <SEP> (0631)(45)
<tb> (1 <SEP> 5) <SEP> (2 <SEP> 4 <SEP> 3 <SEP> 6) <SEP> (1 <SEP> 4 <SEP> 5 <SEP> 6) <SEP> (2 <SEP> 3) <SEP> (1 <SEP> <B>3)(25)</B>
<tb> (0526)(14) <SEP> (046)(135) <SEP> (0342156)
<tb> (0423 <SEP> <B>165)</B> <SEP> (03641 <SEP> 25) <SEP> (05) <SEP> (2463)
<tb> (064)(1 <SEP> <B>32) <SEP> (02631</B> <SEP> 54) <SEP> <B>(014)(365)</B>

Figure img00230001
(0 <SEP> 4 <SEP> 5 <SEP> 3) <SEP> (2 <SEP> 6) <SEP> (0 <SEP> 5 <SEP> 4 <SEP> 3) <SEP> (1 <SEP > 2) <SEP><B> (03) (1 </ B><SEP> 6)
<tb> (0 <SEP><B> 164352) <SEP> (0 <SEP> 2) <SEP> (5 <SEP> 6) <SEP> (0 <SEP> 6 <SEP> 3 <SEP> 4 <SEP> 5 <SEP> 1 <SEP> 2)
<tb> (0 <SEP> 6 <SEP> 1) (2 <SEP> 5 <SEP> 4) <SEP> (0 <SEP> 1) (2 <SEP> 3 <SEP> 4 <SEP> 6) <SEP> (0 <SEP> 2 <SEP> 4 <SEP> 1) <SEP> (3 <SEP> 5)
<tb> (2 <SEP> 3) <SEP> (4 <SEP> 6) <SEP> (1 <SEP> 3 <SEP> 4) <SEP> (2 <SEP> 6 <SEP> 5) <SEP > (1 <SEP> 6 <SEP> 2) <SEP> (3 <SEP> 5 <SEP> 4)
<tb> (0 <SEP> 1 <SEP><B> 36) (45) <SEP> (031 </ B><SEP> 6) (24) <SEP> (0 <SEP> 6) <SEP> (2 <SEP> 5)
<tb> (0 <SEP> 3 <SEP> 5) <SEP> (1 <SEP> 2 <SEP> 6) <SEP> (0 <SEP> 6 <SEP> 3 <SEP> 2 <SEP> 1 <MS> 4 <SEP> 5) <SEP> (0 <SEP> 1 <SEP> 5) (234)
<tb> (0251634) <SEP> (04) (53) <SEP> (0561324)
<tb> (0624153) <SEP> (0125643) <SEP><B> (03) (1 </ B><SEP> 465)
<tb> (0 <SEP> 5 <SEP> 2) (1 <SEP> 4 <SEP> 3) <SEP> (02) (1 <SEP> 546) <SEP> (04 <SEP> 1 <SEP><B> 2) (36) </ B>
<tb> (0421) (56) <SEP> (051) (362) <SEP> (0264531)
<tb> (1 <SEP> 5) (46) <SEP> (1 <SEP> 2 <SEP> 6) <SEP> (3 <SEP> 4 <SEP> 5) <SEP> (1 <SEP> 6 <SEP> 3) <SEP> (2 <SEP> 5 <SEP> 4)
<tb> (0541236) <SEP> (0243516) <SEP><B> (06) (1 <SEP> 532) </ B>
<tb> (0 <SEP> 2 <SEP> 6 <SEP> 5) <SEP> (1 <SEP> 3) <SEP> (0 <SEP> 6 <SEP> 2 <SEP> 5) <SEP> ( 1 <SEP> 4) <SEP> (0 <SEP> 5) <SEP> (3 <SEP> 4)
<tb> (034) (1 <SEP><B> 62) </ B><SEP> (04) (1 <SEP><B> 523) <SEP> (01 </ B><SEP> 24) (56)
<tb> (0 <SEP> 6 <SEP> 3) <SEP> (2 <SEP> 4 <SEP> 5) <SEP> (056421 <SEP> 3) <SEP> (0 <SEP> 2 <SEP> 3) <SEP> (1 <SEP> 4 <SEP> 6)
<tb> (0 <SEP> 1 <SEP> 4 <SEP> 2) <SEP> (3 <SEP> 5) <SEP> (0 <SEP> 3 <SEP> 2) <SEP> (4 <SEP> 6 <SEP> 5) <SEP> (0451 <SEP><B> 362) </ B>
<tb> (0432561) <SEP> (01) (36) <SEP> (0352641)
<tb> (2 <SEP> 4) <SEP> (3 <SEP> 6) <SEP> (1 <SEP> 4) (56) <SEP> (1 <SEP><B> 2) (35) < / B>
<tb> (0145326) <SEP> (046) (123) <SEP> (0256) (34)
<tb> (0 <SEP> 4 <SEP> 3 <SEP> 5) <SEP> (1 <SEP> 6) <SEP> (02 <SEP> 1 <SEP><B> 3645) <SEP> (01 <SEP> 5) (624)
<tb> (064) (1 <SEP><B> 25) <SEP> (0 <SEP> 3 <SEP> 5 <SEP> 4) <SEP> (2 <SEP> 6) <SEP > (0 <SEP> 5 <SEP> 2 <SEP> 3 <SEP> 6 <SEP> 1 <SEP> 4)
<tb> (023) (154) <SEP> (0163) (25) <SEP> (0426513)
<tb> (0562) (13) <SEP><B> (061 </ B><SEP> 5342) <SEP> (032) (164)
<tb> (0346521) <SEP> (051) (324) <SEP> (0631) (45)
<tb> (1 <SEP> 5) <SEP> (2 <SEP> 4 <SEP> 3 <SEP> 6) <SEP> (1 <SEP> 4 <SEP> 5 <SEP> 6) <SEP> ( 2 <SEP> 3) <SEP> (1 <SEP><B> 3) (25) </ B>
<tb> (0526) (14) <SEP> (046) (135) <SEP> (0342156)
<tb> (0423 <SEP><B> 165) </ B><SEP> (03641 <SEP> 25) <SEP> (05) <SEP> (2463)
<tb> (064) (1 <SEP><B> 32) <SEP> (02631 </ B><SEP> 54) <SEP><B> (014) (365) </ B>
Figure img00230001

(0 <SEP> 3) <SEP> (4 <SEP> 5) <SEP> (0 <SEP> 5 <SEP> 3) <SEP> (1 <SEP> 6 <SEP> 2) <SEP> (043)(1 <SEP> <B>26)</B>
<tb> (0 <SEP> 1 <SEP> <B>2)(356)</B> <SEP> (0 <SEP> 6 <SEP> 5 <SEP> 2)(3 <SEP> 4) <SEP> (02)(1 <SEP> 645)
<tb> (0253461) <SEP> (01)(24) <SEP> (0623541)
<tb> (2 <SEP> 6) <SEP> (3 <SEP> 4) <SEP> (1 <SEP> 6 <SEP> 5 <SEP> 4) <SEP> (2 <SEP> 3) <SEP> (1 <SEP> 3 <SEP> 5 <SEP> 2) <SEP> (4 <SEP> 6)
<tb> <B>(01</B> <SEP> 6)(245) <SEP> <B>(06)(1</B> <SEP> 3) <SEP> (0 <SEP> 3 <SEP> 6) <SEP> (2 <SEP> 5 <SEP> 4)
<tb> (0614235) <SEP> (0345)(12) <SEP> (015)(263)
<tb> (04)(1 <SEP> <B>325)</B> <SEP> (0 <SEP> 2 <SEP> 4) <SEP> (3 <SEP> 5 <SEP> 6) <SEP> (0 <SEP> 5 <SEP> 3 <SEP> 4)(1 <SEP> 6)
<tb> <B>(03)(1</B> <SEP> 564) <SEP> (0146253) <SEP> <B>(0651</B> <SEP> 243)
<tb> (0546312) <SEP> (0436152) <SEP> (02)(14)
<tb> (021)(365) <SEP> (051)(264) <SEP> (0456231)
<tb> (1 <SEP> 5) <SEP> (2 <SEP> 6 <SEP> 3 <SEP> 4) <SEP> (1 <SEP> 6) <SEP> (4 <SEP> 5) <SEP> (1 <SEP> 2 <SEP> 5 <SEP> 3) <SEP> (4 <SEP> 6)
<tb> (0532416) <SEP> <B>(06)(1 <SEP> 235)</B> <SEP> (0215436)
<tb> <B>(065)(1</B> <SEP> 43) <SEP> <B>(025)(1</B> <SEP> 34) <SEP> (0 <SEP> 5) <SEP> (2 <SEP> 6)
<tb> (04)(12) <SEP> <B>(031</B> <SEP> 5624) <SEP> (0165234)
<tb> (0 <SEP> 2 <SEP> 3) <SEP> (4 <SEP> 5 <SEP> 6) <SEP> (0 <SEP> 5 <SEP> 2 <SEP> 1 <SEP> 4 <SEP> 6 <SEP> 3) <SEP> <B>(061</B> <SEP> 3)(24)
<tb> (0135462) <SEP> (042)(365) <SEP> (032)(145)
<tb> (0 <SEP> 3 <SEP> 6 <SEP> 1) <SEP> (2 <SEP> 5) <SEP> (0 <SEP> 1) <SEP> (2 <SEP> 6 <SEP> 4 <SEP> 3) <SEP> (0 <SEP> 4 <SEP> 1) <SEP> (3 <SEP> 5 <SEP> 6)
<tb> Table <SEP> T Un entrelaceur ayant une mise en oeuvre simple est par exemple un entrelaceur "x vers x32" défini comme suit : si u désigne la séquence d'entrée et u* la séquence permutée, cet entrelaceur permute chaque bit en position i dans u vers une position (32.i modulo 147) dans u*.
(0 <SEP> 3) <SEP> (4 <SEP> 5) <SEP> (0 <SEP> 5 <SEP> 3) <SEP> (1 <SEP> 6 <SEP> 2) <SEP> (043 ) (1 <SEP><B> 26) </ B>
<tb> (0 <SEP> 1 <SEP><B> 2) (356) <SEP> (0 <SEP> 6 <SEP> 5 <SEP> 2) (3 <SEP> 4) <SEP> (02) (1 <SEP> 645)
<tb> (0253461) <SEP> (01) (24) <SEP> (0623541)
<tb> (2 <SEP> 6) <SEP> (3 <SEP> 4) <SEP> (1 <SEP> 6 <SEP> 5 <SEP> 4) <SEP> (2 <SEP> 3) <SEP > (1 <SEP> 3 <SEP> 5 <SEP> 2) <SEP> (4 <SEP> 6)
<tb><B> (01 </ B><SEP> 6) (245) <SEP><B> (06) (1 </ B><SEP> 3) <SEP> (0 <SEP> 3 <SEP> 6) <SEP> (2 <SEP> 5 <SEP> 4)
<tb> (0614235) <SEP> (0345) (12) <SEP> (015) (263)
<tb> (04) (1 <SEP><B> 325) <SEP> (0 <SEP> 2 <SEP> 4) <SEP> (3 <SEP> 5 <SEP> 6) <SEP > (0 <SEP> 5 <SEP> 3 <SEP> 4) (1 <SEP> 6)
<tb><B> (03) (1 </ B><SEP> 564) <SEP> (0146253) <SEP><B> (0651 </ B><SEP> 243)
<tb> (0546312) <SEP> (0436152) <SEP> (02) (14)
<tb> (021) (365) <SEP> (051) (264) <SEP> (0456231)
<tb> (1 <SEP> 5) <SEP> (2 <SEP> 6 <SEP> 3 <SEP> 4) <SEP> (1 <SEP> 6) <SEP> (4 <SEP> 5) <SEP > (1 <SEP> 2 <SEP> 5 <SEP> 3) <SEP> (4 <SEP> 6)
<tb> (0532416) <SEP><B> (06) (1 <SEP> 235) </ B><SEP> (0215436)
<tb><B> (065) (1 </ B><SEP> 43) <SEP><B> (025) (1 </ B><SEP> 34) <SEP> (0 <SEP> 5) <SEP> (2 <SEP> 6)
<tb> (04) (12) <SEP><B> (031 </ B><SEP> 5624) <SEP> (0165234)
<tb> (0 <SEP> 2 <SEP> 3) <SEP> (4 <SEP> 5 <SEP> 6) <SEP> (0 <SEP> 5 <SEP> 2 <SEP> 1 <SEP> 4 <SEP> 6 <SEP> 3) <SEP><B> (061 </ B><SEP> 3) (24)
<tb> (0135462) <SEP> (042) (365) <SEP> (032) (145)
<tb> (0 <SEP> 3 <SEP> 6 <SEP> 1) <SEP> (2 <SEP> 5) <SEP> (0 <SEP> 1) <SEP> (2 <SEP> 6 <SEP> 4 <SEP> 3) <SEP> (0 <SEP> 4 <SEP> 1) <SEP> (3 <SEP> 5 <SEP> 6)
<tb> Table <SEP> T An interleaver having a simple implementation is for example an interleaver "x to x32" defined as follows: if u designates the input sequence and u * the permuted sequence, this interleaver switches each bit in position i in u to a position (32.i modulo 147) in u *.

Cet entrelaceur peut être obtenu par la composée : (i) de la permutation inter-colonnes (1 4 2)(3 5 6), qui figure dans la table des permutations inter-colonnes donnée plus haut et (ii) de permutations intra- colonnes. Ainsi, cet entrelaceur préserve la divisibilité par g, tout en conservant une mise en aeuvre simple. De façon générale, on pourra utiliser des entrelaceurs de la forme "x vers xe", où e est une puissance de 2 modulo n et n'est pas congru à 1 modulo N0, ce qui permet d'écarter le cas de la permutation inter-colonnes égale à l'identité. This interleaver can be obtained by the combination of: (i) inter-column permutation (1 4 2) (3 5 6), which is given in the table of inter-column permutations given above and (ii) permutations within columns. Thus, this interleaver preserves the divisibility by g, while maintaining a simple implementation. In general, we can use interleavers of the form "x to xe", where e is a power of 2 modulo n and is not congruent to 1 modulo N0, which allows to exclude the case of the permutation between -columns equal to the identity.

Ces entrelaceurs sont définis comme suit si u désigne la séquence d'entrée et u* la séquence permutée, l'entrelaceur permute chaque bit qui se trouve initialement en position i dans u, vers une position (e.i modulo n) dans u*. These interleavers are defined as follows if u designates the input sequence and u * the permuted sequence, the interleaver switches each bit that is initially in position i in u, to a position (e.i modulo n) in u *.

On décrit maintenant comment on peut déterminer l'état initial E;,2 du second codeur convolutif récursif systématique à partir de l'état final Ef,j du premier codeur convolutif récursif systématique et de la permutation inter- colonnes. We now describe how we can determine the initial state E;, 2 of the second systematic recursive convolutional coder from the final state Ef, j of the first systematic recursive convolutional coder and the inter-column permutation.

Considérons un turbocodeur convolutif parallèle ayant un polynôme de rétroaction g(x) de période N0. Consider a parallel convolutional turbocoder with a feedback polynomial g (x) of period N0.

Soit u(x) la séquence à coder de longueur n. Let u (x) be the sequence to be coded of length n.

Considérons une permutation préservant la divisibilité, par exemple du type de celles décrites dans le document de brevet FR-A-2 773 287 cité en introduction. Consider a permutation preserving the divisibility, for example of the type described in the patent document FR-A-2 773 287 cited in the introduction.

Cette permutation correspond à un entrelaceur lignes-colonnes à NO colonnes où les données sont écrites et lues ligne par ligne. Cette permutation est la composée d'une permutation inter-colonnes II et de permutations intra- colonne. This permutation corresponds to a row-column interleaver with NO columns where data is written and read line by line. This permutation is composed of an inter-column permutation II and intra-column permutations.

Soit u*(x) le résultat de cette permutation appliquée à u(x). Le codage de u(x) pourrait se faire de la façon suivante - étape 1 : on code d'abord u avec le premier codeur convolutif récursif systématique, constitué essentiellement d'un registre à décalage et initialisé à un état nul. Le premier codeur se trouve alors dans un état final Ef,j. Let u * (x) be the result of this permutation applied to u (x). The encoding of u (x) could be done as follows - step 1: first code u with the first systematic recursive convolutional coder, consisting essentially of a shift register and initialized to a zero state. The first encoder is then in a final state Ef, j.

- étape 2 : avec ce même codeur, on détermine une séquence p,, définie comme étant le résidu modulo g(x) de u. Pour cela, il suffit de réinjecter à l'entrée du codeur le bit de rétroaction (pour plus de détails sur ce point, on pourra se reporter au rapport de D. DIVSALAR et F. POLLARA cité en introduction). Ce codeur se retrouve alors à l'état nul. Puis on complète la séquence pi par des zéros pour obtenir un degré formel égal à N0. Ensuite, on détermine une séquence p'l, résultat de la permutation inter-colonnes iI appliquée à pi. step 2: with this same coder, a sequence p ,, defined as the residue modulo g (x) of u is determined. For this, it is enough to reinject the feedback bit at the input of the encoder (for more details on this point, one can refer to the report of D. DIVSALAR and F. POLLARA quoted in the introduction). This encoder is then in the null state. Then we complete the sequence pi by zeros to obtain a formal degree equal to N0. Then, a sequence p'l is determined, resulting from the inter-column permutation iI applied to pi.

On code alors la séquence p'<B><U>,</U></B> avec le second codeur convolutif récursif systématique, initialisé à un état nul. Le second codeur se trouve alors dans un état initial E;,2. The sequence p '<B> <U>, </ U> </ B> is then coded with the second systematic recursive convolutional coder, initialized to a zero state. The second encoder is then in an initial state E ;, 2.

- étape 3: on code la séquence entrelacée u* avec le second codeur dans cet état initial E;,2. Grâce aux propriétés de l'entrelaceur et par suite des opérations effectuées à l'étape 2, le second codeur se retrouve dans un état final nul. step 3: the interlaced sequence u * is coded with the second coder in this initial state E;, 2. Thanks to the properties of the interleaver and as a result of the operations performed in step 2, the second coder is in a final state of zero.

Cependant, il n'est pas très utile de transmettre les bits d'ajouts et les bits de codage issus de l'étape 2 :les séquences pi et p', ne portent aucune information. However, it is not very useful to transmit the addition bits and the coding bits from step 2: the sequences pi and p 'carry no information.

Leur unique utilité est de modifier l'état des codeurs entre le codage de u et de u*. Their only utility is to change the state of the encoders between the encoding of u and u *.

Par ailleurs, l'ensemble des états initiaux possibles E;,2 du second codeur est lié de façon biunivoque à l'ensemble des états finaux possibles Ef,i du premier codeur en fonction de l'entrelaceur inter-colonnes utilisé. Moreover, the set of possible initial states E;, 2 of the second coder is linked one-to-one with the set of possible final states Ef, i of the first encoder as a function of the inter-column interleaver used.

C'est pourquoi, conformément à l'invention, on remplace l'étape 2 par une étape 2' plus simple, décrite ci-après - étape 2' : on initialise le second codeur à un état E;,2 en fonction de Ef,l et de l'entrelaceur inter-colonnes utilisé. This is why, in accordance with the invention, step 2 is replaced by a simpler step 2 ', described hereinafter: step 2': the second encoder is initialized to a state E;, 2 as a function of E , l and inter-column interleaver used.

Les relations entre E;,2, Ef,, et l'entrelaceur inter-colonnes peuvent être prédéfinies et conservées en mémoire dans une table de correspondance. Cette table de correspondance pourra notamment être obtenue en appliquant l'étape 2 à tous les états Ef,i possibles. The relations between E;, 2, Ef ,, and the inter-column interleaver can be predefined and stored in memory in a correspondence table. This correspondence table can in particular be obtained by applying step 2 to all states Ef, i possible.

De même, du côté du décodeur, on peut relier directement la partie du treillis correspondant à l'étape 1 et la partie du treillis correspondant à l'étape 3 : chaque noeud possible à la fin du premier treillis est alors relié simplement à un et un seul noeud au début du deuxième treillis. On étend ainsi la notion de FOCTC à tous les turbocodes utilisant des entrelaceurs préservant la divisibilité de u(x)+x".u*(x) par g(x) et pas seulement à ceux dans lesquels la permutation inter-colonnes Il est l'identité. Similarly, on the decoder side, the portion of the trellis corresponding to step 1 and the part of the trellis corresponding to step 3 can be directly connected: each possible node at the end of the first trellis is then simply connected to one and a single node at the beginning of the second lattice. The notion of FOCTC is thus extended to all turbo-codes using interleavers preserving the divisibility of u (x) + x ".u * (x) by g (x) and not only to those in which the cross-column permutation is identity.

A titre d'exemple, on peut utiliser la méthode suivante pour déterminer les relations entre E;,2, Ef,j et l'entrelaceur inter-colonnes. By way of example, the following method can be used to determine the relations between E;, 2, Ef, j and the inter-column interleaver.

Pour un état courant donné d'un codeur convolutif à entrée binaire, l'état suivant ne dépend que du bit entrant dans ce codeur. For a given current state of a binary input convolutional encoder, the next state depends only on the bit entering this encoder.

On peut construire une table de transitions d'un état courant vers l'état suivant en fonction du bit d'entrée du codeur (voir table 1 ci-dessous), correspondant à un codeur convolutif récursif ayant pour polynôme de rétroaction g(x) = 1+x2+x3.

Figure img00260013
A transition table from a current state to a next state can be constructed as a function of the encoder input bit (see Table 1 below), corresponding to a recursive convolutional encoder having a feedback polynomial g (x) = 1 + x2 + x3.
Figure img00260013

Etat <SEP> courant <SEP> Etat <SEP> suivant <SEP> Etat <SEP> suivant
<tb> avec <SEP> 0 <SEP> en <SEP> entrée <SEP> avec <SEP> 1 <SEP> en <SEP> entrée
<tb> 000 <SEP> 000 <SEP> 100
<tb> 001 <SEP> 100 <SEP> 000
<tb> 010 <SEP> 101 <SEP> 001
<tb> 011 <SEP> 001 <SEP> 101
<tb> 100 <SEP> 010 <SEP> 110
<tb> 101 <SEP> 110 <SEP> 010
<tb> 110 <SEP> 111 <SEP> 011
<tb> 111 <SEP> 011 <SEP> 111
<tb> Table <SEP> 1 A partir de cette table de transitions, on peut déterminer une séquence p, de trois bits qui, à partir d'un état courant du codeur Ef,,, conduit à un état final du codeur qui est nul. On donne ci-dessous la table (table 2) de telles séquences pi.

Figure img00260016
State <SEP> current <SEP> State <SEP> next <SEP> State <SEP> next
<tb> with <SEP> 0 <SEP> in <SEP> entry <SEP> with <SEP> 1 <SEP> in <SEP> entry
<tb> 000 <SEP> 000 <SEP> 100
<tb> 001 <SEP> 100 <SEP> 000
<tb> 010 <SEP> 101 <SEP> 001
<tb> 011 <SEP> 001 <SEP> 101
<tb> 100 <SEP> 010 <SEP> 110
<tb> 101 <SEP> 110 <SEP> 010
<tb> 110 <SEP> 111 <SEP> 011
<tb> 111 <SEP> 011 <SEP> 111
<tb> Table <SEP> 1 From this transition table, it is possible to determine a sequence p, of three bits which, from a current state of the encoder Ef ,,, leads to a final state of the encoder which is no. We give below the table (table 2) of such sequences pi.
Figure img00260016

Ef, <SEP> l <SEP> p,
<tb> 000 <SEP> 0

Figure img00270001
Ef, <SEP> l <SEP> p,
<tb> 000 <SEP> 0
Figure img00270001

001 <SEP> 1
<tb> 010 <SEP> 1+x
<tb> 011 <SEP> x
<tb> 100 <SEP> x+x2
<tb> 101 <SEP> 1 <SEP> +x+x2
<tb> 110 <SEP> 1+x2
<tb> 111 <SEP> x2
<tb> Table <SEP> 2 A partir de cette table, on détermine une séquence p'l obtenue par ajout de quatre bits nuls à la séquence pi puis entrelacement avec la permutation inter-colonnes utilisée.
001 <SEP> 1
<tb> 010 <SEP> 1 + x
<tb> 011 <SEP> x
<tb> 100 <SEP> x + x2
<tb> 101 <SEP> 1 <SEP> + x + x2
<tb> 110 <SEP> 1 + x2
<tb> 111 <SEP> x2
<tb> Table <SEP> 2 From this table, a sequence p'l obtained by adding four null bits to the pi sequence and then interleaving with the inter-column permutation used is determined.

Considérons, à titre d'exemple, une permutation inter-colonnes II = (1 4 2)(3 5 6) agissant sur des séquences de 7 bits. Consider, by way of example, an inter-column permutation II = (1 4 2) (3 5 6) acting on 7-bit sequences.

A partir de la table 2, on détermine la séquence entrelacée p'l, résultat de la permutation colonne appliquée à la séquence pl étendue à 7 bits et valant [p,() p p,2 0 0 0 0] (avec pl(x) = plo+p,l.x+pl2.x2). From table 2, we determine the interleaved sequence p'l, resulting from the column permutation applied to the sequence p extended to 7 bits and equaling [p, () pp, 2 0 0 0 0] (with p1 (x ) = plo + p, l.x + pl2.x2).

Ainsi, p',(x) = plo+p .x4+p12.x = Plo+Pl2.x+Pll.x4. Thus, p ', (x) = plo + px4 + p12.x = Plo + Pl2.x + Pll.x4.

On peut ensuite déterminer l'état final E;,2 d'un codeur convolutif récursif de polynôme de rétroaction g(x), initialisé à un état nul et ayant servi à coder la séquence p'l, en construisant la table 3 suivante

Figure img00270017
We can then determine the final state E; 2 of a convolutional convolutional encoder of feedback polynomial g (x), initialized to a null state and used to code the sequence p'l, by constructing the following table 3
Figure img00270017

p, <SEP> p'1=Plo+Pi2.x+Pll.x4 <SEP> Ei,2
<tb> (notation
<tb> polynomiale)
<tb> 0 <SEP> 0 <SEP> 000
<tb> 1 <SEP> 1 <SEP> 001
<tb> 1+x <SEP> 1+x4 <SEP> 100
<tb> x <SEP> x4 <SEP> 101
<tb> x+x2 <SEP> x+x4 <SEP> 110
<tb> <B>1</B> <SEP> +x+x2 <SEP> 1+x+x4 <SEP> 111

Figure img00280001
p, <SEP>p'1 = Plo + Pi2.x + Pll.x4 <SEP> Ei, 2
<tb> (notation
<tb> polynomial)
<tb> 0 <SEP> 0 <SEP> 000
<tb> 1 <SEP> 1 <SEP> 001
<tb> 1 + x <SEP> 1 + x4 <SEP> 100
<tb> x <SEP> x4 <SEP> 101
<tb> x + x2 <SEP> x + x4 <SEP> 110
<tb><B> 1 </ B><SEP> + x + x2 <SEP> 1 + x + x4 <SEP> 111
Figure img00280001

1 <SEP> +x` <SEP> <B>1+x</B> <SEP> 010
<tb> x2 <SEP> x <SEP> 011
<tb> Table <SEP> 3 On peut ainsi, à partir des tables 1 à 3 ci-dessus, former une table 4 comme ci-dessous, résumant la correspondance entre E;,2 et Ef,j pour la permutation inter-colonnes définie, pour les besoins de l'exemple donné ici, par (1 4 2)(3 5 6) avec g(x) = 1+x2 +x3

Figure img00280005
1 <SEP> + x` <SEP><B> 1 + x </ B><SEP> 010
<tb> x2 <SEP> x <SEP> 011
<tb> Table <SEP> 3 One can thus, from tables 1 to 3 above, form a table 4 as below, summarizing the correspondence between E;, 2 and Ef, j for the inter-column permutation. defined, for the purposes of the example given here, by (1 4 2) (3 5 6) with g (x) = 1 + x2 + x3
Figure img00280005

E <SEP> Ei,2
<tb> 000 <SEP> 000
<tb> 001 <SEP> 001
<tb> 010 <SEP> 100
<tb> 011 <SEP> 101
<tb> 100 <SEP> 110
<tb> 101 <SEP> 111
<tb> 110 <SEP> 010
<tb> 111 <SEP> 011
<tb> Table <SEP> <B>4</B> La table 4 est une table de correspondance donnant de façon bi- univoque E;,2 en fonction de Ef,j et pourra à la fois être utilisée - du côté du turbocodeur, pour initialiser correctement le second codeur convolutif récursif en fonction de l'état final du premier codeur et - du côté du turbodécodeur, pour définir le treillis de décodage.
E <SEP> Ei, 2
<tb> 000 <SEP> 000
<tb> 001 <SEP> 001
<tb> 010 <SEP> 100
<tb> 011 <SEP> 101
<tb> 100 <SEP> 110
<tb> 101 <SEP> 111
<tb> 110 <SEP> 010
<tb> 111 <SEP> 011
<tb> Table <SEP><B> 4 </ B> Table 4 is a lookup table that gives E;, 2 in a one-to-one manner in terms of Ef, j and can both be used - on the turbocharger, to correctly initialize the second recursive convolutional encoder according to the final state of the first encoder and - on the turbo decoder side, to define the decoding trellis.

Par ailleurs, 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 utilement - à l'article de J. HAGENAUER, E. OFFER et L. PAPKE intitulé "Iterative decoding <I>of</I> binary <I>block and</I> convolutional <I>codes",</I> in IEEE Transactions on Information Theory, mars 1996, - à l'article de J. HAGENAUER, P. ROBERTSON et L. PAPKE intitulé "lterative (turbo)decoding <I>of</I> systematic convolutional codes with <I>the</I> MAP <I>and</I> SOVA algorithms", in Informationstechnische Gesellschaft (ITG) Fachbericht, pages 21 à 29, octobre 1994 et - à l'article de C. BERROU, S. EVANO et G. BATTAIL intitulé "Turbo-block-codes", publié avec les comptes-rendus du séminaire "turbo coding" organisé par l'Institut de Technologie de Lund (Suède) (Département d'électronique appliquée) en août 1996. Moreover, the turbodecoding is an iterative operation well known to those skilled in the art. For further details, reference may be made to the article by J. HAGENAUER, E. OFFER and L. PAPKE entitled "Iterative decoding <I> of </ I> binary <I> block and </ I> convolutional <I> codes ", </ I> in IEEE Transactions on Information Theory, March 1996, - in the article by J. HAGENAUER, P. ROBERTSON and L. PAPKE entitled" lterative (turbo) decoding <I> of </ I> systematic convolutional codes with <I> the </ I> MAP <I> and </ I> SOVA algorithms ", in Informationstechnische Gesellschaft (ITG) Fachbericht, pages 21 to 29, October 1994 and - in the article of C BERROU, S. EVANO and G. BATTAIL entitled "Turbo-block-codes", published with the proceedings of the "turbo coding" seminar organized by the Lund Institute of Technology (Sweden) (Department of Applied Electronics) in August 1996.

Néanmoins, on veillera à construire convenablement les treillis qui sont généralement utilisés en se référant à la table 4 donnée plus haut. Nevertheless, care will be taken to properly construct the trellises which are generally used with reference to Table 4 given above.

On décrit maintenant un mode particulier de réalisation de la présente invention, à l'aide des figures 1 à 8. We will now describe a particular embodiment of the present invention, using FIGS. 1 to 8.

La<B>figure 1</B> 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'entrées/sorties 103 d'une carte de traitement 101. <B> Figure 1 </ B> schematically illustrates the constitution of a network station or computer coding station, in the form of a block diagram. This station comprises a keyboard 111, a screen 109, an external information source 110, a radio transmitter 106, jointly connected to an input / output port 103 of a processing card 101.

La carte de traitement 101 comporte, reliés entre eux par un bus d'adresses et de données 102 - une unité centrale de traitement 100 ; - une mémoire vive RAM 104 ; - une mémoire morte ROM 105<B>;</B>et - le port d'entrées/sorties 103. The processing card 101 comprises, interconnected by an address and data bus 102 - a central processing unit 100; a RAM 104; - a ROM ROM 105 <B>; </ B> and - the input / output port 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 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, et que - l'émetteur hertzien 106 est adapté à mettre en oëuvre un protocole de transmission par paquets sur un canal non filaire, et à transmettre ces paquets sur un tel canal. Each of the elements illustrated in Figure 1 is well known to those skilled in the field of microcomputers and transmission systems and, more generally, information processing systems. These common elements are therefore not described here. It is observed, however, that - the information source 110 is, for example, an interface device, a sensor, a demodulator, an external memory or another information processing system (not shown), and is preferentially adapted to provide signal sequences representative of speech, service messages or multimedia data, in the form of binary data sequences, and that the radio transmitter 106 is adapted to implement a packet transmission protocol on a channel, and to transmit these packets on such a channel.

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). It is further observed that the word "register" used in the description designates, in each of the memories 104 and 105, both a low capacitance memory zone (a few binary data) and a high capacity memory zone (for storing a memory). entire program).

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<I>source",</I> 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 "nb <I>données",</I> qui conserve un nombre entier correspondant au nombre de données binaires n dans le registre "données<I>source",</I> - un registre<I>"données permutées",</I> dans lequel sont conservées, dans l'ordre de leur arrivée sur le bus 102, les données binaires permutées, comme décrit plus loin à l'aide de la figure 5, sous forme d'une séquence u*, et - un registre<I>"données à -émettre",</I> dans lequel sont conservées les séquences à transmettre. The RAM 104 stores data, variables and intermediate processing results in memory registers carrying, in the description, the same names as the data whose values they retain. The random access memory 104 comprises in particular - a "data <I> source" register, </ I> in which are kept, in the order of their arrival on the bus 102, the binary data coming from the information source 110 in the form of a sequence u, - a register "nb <I> data", </ I> which keeps an integer corresponding to the number of binary data n in the register "data <I> source", </ I a register <I> "data permuted", </ I> in which are kept, in the order of their arrival on the bus 102, the binary data exchanged, as described further with the aid of FIG. 5 , in the form of a sequence u *, and - a register <I> "data to be issued", </ I> in which are preserved the sequences to be transmitted.

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<I>"programme",</I> - la séquence g, dans un registre "g", - le degré m de g(x), dans un registre "m", - la séquence hl, dans un registre "hl", - la séquence h2, dans un registre "h2", - la valeur de N0, dans un registre "NO", - la valeur de n, dans un registre "n", - le tableau définissant l'entrelaceur, dans un registre "entrelaceurr', et - une table de correspondance donnant E;,2 en fonction de Ef,l, dans un registre "table E;2 = f(Efl)", cette table de correspondance étant construite au préalable, par exemple selon la méthode décrite précédemment à l'aide des tables 1 à 4. The read-only memory 105 is adapted to keep, in registers which, for convenience, have the same names as the data they retain: the operating program of the central processing unit 100, in a register <I> program ", </ I> - the sequence g, in a register" g ", the degree m of g (x), in a register" m ", the sequence h1, in a register" h1 ", - the sequence h2, in a register "h2", - the value of N0, in a register "NO", - the value of n, in a register "n", - the array defining the interleaver, in a register "interleaver" and a correspondence table giving E; 2 as a function of Ef, l, in a register "table E; 2 = f (Efl)", this correspondence table being constructed beforehand, for example according to the method previously described using tables 1 to 4.

L'unité centrale de traitement 100 est adaptée à mettre en oeuvre l'organigramme illustré en figure 5. The central processing unit 100 is adapted to implement the flowchart illustrated in FIG. 5.

On observe, en figue 2, qu'un dispositif de codage correspondant à un turbocode convolutif parallèle, conforme à la présente invention, comporte notamment - une entrée de symboles à coder 201, où la source d'information 110 fournit une séquence de symboles binaires à transmettre, ou "à coder", u, - un premier codeur 202, qui fournit, à partir de la séquence u, une séquence vi de symboles représentative de la séquence u, - 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 un ordre différent, - un second codeur 204, qui fournit, à partir de la séquence entrelacée u*, une séquence v_2 de symboles représentative de la séquence u*, et - un opérateur de calcul 205, qui détermine l'état initial E;,2 du second codeur 204 en fonction de l'état final Ef,l du premier codeur 202. FIG. 2 shows that a coding device corresponding to a parallel convolutional turbocode, in accordance with the present invention, comprises in particular - a symbol input 201 to be coded, where the information source 110 provides a sequence of binary symbols to transmit, or "to code", u, - a first encoder 202, which provides, from the sequence u, a sequence vi of symbols representative of the sequence u, - an interleaver 203, which provides, from the sequence u, an interleaved sequence u *, whose symbols are the symbols of the sequence u, but in a different order, - a second encoder 204, which provides, from the interleaved sequence u *, a sequence v_2 of representative symbols of the sequence u *, and - a calculation operator 205, which determines the initial state E;, 2 of the second encoder 204 as a function of the final state Ef, l of the first encoder 202.

Les trois séquences u, v, et v2 sont transmises pour être, ensuite, décodées. The three sequences u, v, and v2 are transmitted to be, then, decoded.

Dans la suite de la description, on s'intéresse préférentiellement aux entrelaceurs de type "x vers x32" de taille 147, bien que la présente invention ne se limite pas à ce type d'entrelaceur, mais concerne, bien plus généralement, tous les entrelaceurs préservant la divisibilité par g(x), avec une permutation inter-colonnes<B>Fi</B> non triviale. In the remainder of the description, preference is given to "x to x32" type interleavers of size 147, although the present invention is not limited to this type of interleaver, but relates, more generally, to all types of interleavers. interleavers preserving divisibility by g (x), with non-trivial inter-column permutation <B> Fi </ B>.

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. FIG. 3 schematically illustrates the constitution of a network station or computer decoding station, in the form of a block diagram.

Cette station comporte un clavier 311, un écran 309, un destinataire d'information externe 310, un récepteur hertzien 306, conjointement reliés à un port d'entrées/sorties 303 d'une carte de traitement 301. This station comprises a keyboard 311, a screen 309, an external information recipient 310, a radio receiver 306, jointly connected to an input / output port 303 of a processing card 301.

La carte de traitement 301 comporte, reliés entre eux par un bus d'adresses et de données 302 - une unité centrale de traitement 300 ; - une mémoire vive RAM 304; - une mémoire morte ROM 305 ; et - le port d'entrées/sorties 303. The processing card 301 comprises, interconnected by an address and data bus 302 - a central processing unit 300; a RAM RAM 304; a ROM memory 305; and - the input / output port 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 éléments 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 un autre système de traitement d'information (non représenté), et est préférentiellement 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 ceuvre un protocole de transmission par paquets sur un canal non filaire, et à recevoir ces paquets sur un tel canal. Each of the elements illustrated in Figure 3 is well known to those skilled in the field of microcomputers and transmission systems and, more generally, information processing systems. These common elements are therefore not described here. It is observed, however, that - the information recipient 310 is, for example, an interface device, a display, a modulator, an external memory or another information processing system (not shown), and is preferentially adapted to receive signal sequences representative of speech, service messages or multimedia data, in the form of binary data sequences, and - the radio receiver 306 is adapted to implement a packet transmission protocol on a channel not wired, and to receive these packets on such a channel.

On 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 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 304 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 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, équivalente à une mesure de fiabilité, sous forme d'une séquence, - un registre "inf extrinsèques", dans lequel sont conservées, à un instant donné, les informations extrinsèques correspondant à la séquence u, - un registre<I>"données estimées",</I> dans lequel est conservée, à un instant donné, une 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, 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 reçues".</I> It is further observed that the word "register" used in the description designates, in each of the memories 304 and 305, both a memory zone of low capacity (a few binary data) and a memory zone of large capacity (allowing store an entire program). The RAM 304 stores data, variables and intermediate processing results, in memory registers carrying, in the description, the same names as the data whose values they retain. The RAM 304 includes in particular - a register <I> "data received", </ I> in which is conserved, in the order of arrival of the binary data on the bus 302 from the transmission channel, a soft estimate of these binary data, equivalent to a measurement of reliability, in the form of a sequence, - a register "inf extrinsic", in which are kept, at a given moment, the extrinsic information corresponding to the sequence u, - a register < I> "estimated data", </ I> in which is kept, at a given instant, an estimated sequence - outputted by the decoding device of the invention, as described later with the help of Figure 4 a register "nb iteration", which keeps an integer corresponding to an iteration counter performed by the decoding device concerning a received sequence u, as described below with the help of FIG. 4, and - a register "nb <i> data", </ i> which keep an integer corresponding to the number of binary data in the <I> "data received" register. </ i>

La mémoire morte 305 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 300, dans un registre<I>"Programme",</I> - le tableau définissant l'entrelaceur et son entrelaceur inverse, dans un registre "Entrelaceur', - la séquence g, dans un registre "g", - le degré m de g(x), dans un registre "m", - la séquence hl, dans un registre<I>"hl",</I> - la séquence h2, dans un registre "h2", - la valeur de n, dans un registre "n", - la valeur de<I>N0,</I> dans un registre<I>"NO",</I> - le nombre prédéterminé maximal d'itérations à effectuer lors de l'opération de turbodécodage 603 d'une séquence u reçue, décrite plus loin à l'aide des figures 6 et 7, dans un registre "nb iteration max", et - une table de correspondance donnant Ei,2 en fonction de Ef,, dans un registre "table E;2=f(Efl)", cette table étant identique à celle qui est présente dans le codeur, dans la ROM 105. The read-only memory 305 is adapted to keep, in registers which, for convenience, have the same names as the data they retain - the operating program of the central processing unit 300, in a register <I>. ", </ I> - the array defining the interleaver and its inverse interleaver, in an" interleaver "register, - the sequence g, in a register" g ", - the degree m of g (x), in a register "m", - the sequence hl, in a register <I> "hl", </ I> - the sequence h2, in a register "h2", - the value of n, in a register "n", - the value of <I> N0, </ I> in a register <I> "NO", </ I> - the predetermined maximum number of iterations to be performed during the turbodecoding operation 603 of a received u sequence, described below with the aid of FIGS. 6 and 7, in a register "nb iteration max", and - a correspondence table giving Ei, 2 as a function of Ef ,, in a register "table E; 2 = f (Efl ) ", this table being identical to that which is present in the coder, in the ROM 105.

L'unité centrale de traitement 300 est adaptée à mettre en oeuvre l'organigramme illustré en figure 6. The central processing unit 300 is adapted to implement the flowchart illustrated in FIG. 6.

En figure 4, on observe qu'un dispositif de décodage comporte notamment - trois entrées 401, 402 et 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, étant notée r ; - un premier décodeur 404 à entrée et sortie douces (en anglais "soft <I>input</I> output') correspondant au codeur 202 (figure 2) Le premier décodeur 404 reçoit en entrée - les séquences u et vi, - une séquence d'information extrinsèque w4, et - une table de métrique de noeud Ef,lin décrite plus loin. Le premier décodeur 404 fournit en sortie - une séquence d'estimation a posteriori wi, - une séquence estimée û sur une sortie 410, et - une table de métrique de noeud Ef,,out. FIG. 4 shows that a decoding device comprises in particular three inputs 401, 402 and 403 of sequences representative of u, v, and v2 which, for convenience, are also denoted u, v, and v2, the sequence received consisting of these three sequences, being denoted r; a first soft input / output decoder 404 (in English "soft <I> input </ I> output ') corresponding to the encoder 202 (FIG. 2) The first decoder 404 receives as input - the sequences u and vi, - a extrinsic information sequence w4, and - a node metric table Ef, lin described below The first decoder 404 outputs - a posterior estimation sequence wi, - an estimated sequence on an output 410, and a node metric table Ef ,, out.

Le dispositif de décodage illustré en figure 4 comporte en outre - un entrelaceur 405 (noté "Entrelaceur 1T sur la figure 4), basé sur la même permutation que celle définie par l'entrelaceur 203 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 opérateur 412, qui affecte une valeur à chaque élément de la table de métrique de noeud Ei,2i, destinée à un second décodeur 406, en fonction de chaque élément de la table de métrique de noeud Ef,lout issue du premier décodeur 404 et de la table de correspondance donnant E;,2 en fonction de Ef,j ; l'opération effectuée revient à relier chaque n#ud initial (correspondant à un état E;,2) du treillis utilisé par le second décodeur à chaque n#ud final (correspondant à un état Ef,j) du treillis utilisé par le premier décodeur de façon biunivoque en fonction de la table de correspondance E;,2=f(Ef,l) présente dans la ROM<B>305;</B> - le second décodeur 406 à entrée et sortie douces, correspondant au second codeur 204. The decoding device illustrated in FIG. 4 furthermore comprises an interleaver 405 (denoted "Interleaver 1T in FIG. 4), based on the same permutation as that defined by the interleaver 203 used in the coding device: the interleaver 405 receives as input the sequences u and w, and interleaves them respectively into sequences u * and w2; - an operator 412, which assigns a value to each element of the node metric table Ei, 2i, intended for a second decoder 406 as a function of each element of the node metric table Ef, the output of the first decoder 404 and of the correspondence table giving E;, 2 as a function of Ef, the operation carried out amounts to linking each n # ud initial (corresponding to a state E;, 2) of the lattice used by the second decoder at each final node (corresponding to a state Ef, j) of the lattice used by the first decoder in a one-to-one manner according to the correspondence table e E; 2 = f (Ef 1) present in the ROM 305; the second soft input / output decoder 406 corresponding to the second encoder 204.

Ce second décodeur 406 reçoit en entrée - les séquences u* et v2, - la séquence d'information extrinsèque w2, et - une table de métrique de n#ud E;,2;n décrite plus loin. Le second décodeur 406 fournit en sortie - une séquence d'information extrinsèque w3, - une séquence estimée û*, et - une table de métrique de n#ud E;,2ouf. This second decoder 406 receives as input - the sequences u * and v2, - the extrinsic information sequence w2, and - a metric table of n # ud E;, 2; n described below. The second decoder 406 outputs - an extrinsic information sequence w3, - an estimated sequence û *, and - a metric table of n # ud E;

Le dispositif de décodage illustré en figure 4 comporte de plus - un désentrelaceur 408 (noté "Entrelaceur 17-li' sur la figure 4), inverse de l'entrelaceur 405, recevant en entrée la séquence û* et fournissant en 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) ; - un désentrelaceur 407 (noté aussi "Entrelaceur I7-"' sur la figure 4), 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 extrinsèque W4 - un opérateur 413, qui affecte une valeur à chaque élément de la table de métrique de n#ud Ef,l;, destinée au premier décodeur 404, en fonction de chaque élément de la table de métrique de n#ud E;,2o,t issue du deuxième décodeur 406 et de la table de correspondance donnant E;,2 en fonction de Ef,j ; l'opération effectuée revient à relier chaque n#ud initial (correspondant à un état E;,2) du treillis utilisé par le second décodeur à chaque n#ud final (correspondant à un état Ef,f) du treillis utilisé par le premier décodeur de façon biunivoque en fonction de la table de correspondance E;,2=f(Ef,,) présente dans la ROM 305 ; et - 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 "Near <I>Shannon</I> limit <I>error-</I> correcting coding <I>and</I> decoding <I>:</I> turbocodes" cité supra). The decoding device illustrated in FIG. 4 further comprises - a deinterleaver 408 (denoted "interleaver 17-li 'in FIG. 4), opposite to the interleaver 405, receiving as input the sequence φ * and outputting an estimated sequence on an output 409 (this estimate being improved with respect to that provided, a half-iteration previously, on the output 410); a deinterleaver 407 (also referred to as "interleaver I7-" in FIG. interleaver 405, receiving as input the extrinsic information sequence w3 and outputting the extrinsic information sequence W4 - an operator 413, which assigns a value to each element of the metric table of n # ud Ef, for the first decoder 404, as a function of each element of the metric table of n # ud E;, 2o, t from the second decoder 406 and the correspondence table giving E;, 2 as a function of Ef, j the operation performed returns to rel ier each initial node (corresponding to a state E;, 2) of the lattice used by the second decoder to each final node (corresponding to a state Ef, f) of the lattice used by the first decoder in a one-to-one manner according to from the correspondence table E;, 2 = f (Ef ,,) present in the ROM 305; and the output 409, on which the decoding device provides the estimated sequence, at the output of the deinterleaver 408. An estimated sequence is taken into account only after a predetermined number of iterations (see FIG. "Near <I> Shannon </ I> <i> error - </ I> correcting coding <I> and </ I> decoding <I>: </ I> turbocodes" cited above).

Dans le mode de réalisation préféré décrit ici, on peut utiliser un algorithme de type BJCR (du nom de ses auteurs BAHL, COCKE, JELINEK et RAVIV) pour chacun des décodeurs 404 et 406. Cet algorithme est généralement utilisé en relation avec les turbocodes. On trouvera une description de l'algorithme BJCR dans l'article de L.R. BAHL, J. COCKE, F. JELINEK et J. RAVIV intitulé<I>"Optimal</I> decoding <I>of</I> linear <I>codes for</I> minimizing symbol errorrate", in IEEE Transactions on Information Theory, mars 1974. In the preferred embodiment described here, one can use a BJCR type algorithm (named after its authors BAHL, COCKE, JELINEK and RAVIV) for each of the decoders 404 and 406. This algorithm is generally used in connection with the turbocodes. A description of the BJCR algorithm can be found in the article by LR BAHL, J. COCKE, F. JELINEK and J. RAVIV entitled <I> "Optimal </ I> decoding <I> of </ I> linear <I > codes for </ I> minimizing symbol errorrate, in IEEE Transactions on Information Theory, March 1974.

Les métriques de naeuds du premier décodeur 404 peuvent être initialisées comme suit - avec une probabilité d'occurrence maximale pour l'état initial nul, - avec une probabilité d'occurrence nulle pour les états initiaux non nuls, - avec une équiprobabilité pour tous les états finaux à la première itération et - avec une probabilité pour chaque état final définie par la table de métrique de noeud Ef,l;n pour les itérations suivantes. The naeuds metrics of the first decoder 404 can be initialized as follows - with a maximum probability of occurrence for the initial null state, - with a zero probability of occurrence for non-zero initial states, - with equal probability for all end states at the first iteration and - with a probability for each end state defined by the node metric table Ef, l; n for subsequent iterations.

Après chaque opération de décodage élémentaire, les métriques de noeuds correspondant à l'état final sont remises à jour dans la table de métrique de noeud Ef,foUt par identification aux métriques de noeuds correspondantes fournies par le premier décodeur 404. After each elementary decoding operation, the node metrics corresponding to the final state are updated in the node metric table E f, by identification with the metrics of corresponding nodes provided by the first decoder 404.

Les métriques de noeuds du second décodeur 406 peuvent être initialisées comme suit - avec une probabilité d'occurrence maximale pour l'état final nul, - avec une probabilité d'occurrence nulle pour les états finaux non nuls et - avec une probabilité pour chaque état initial définie par la table de métrique de n#ud E;,2;,. The node metrics of the second decoder 406 can be initialized as follows - with a maximum probability of occurrence for the final null state, - with a zero occurrence probability for non-zero end states and - with a probability for each state initial defined by the metric table of n # ud E;, 2;,.

Après chaque opération de décodage élémentaire; les métriques de noeuds correspondant à l'état final sont remises à jour dans la table de métrique de n#ud E;,2out par identification aux métriques de noeuds correspondantes fournies par le second décodeur 406. After each elementary decoding operation; the node metrics corresponding to the final state are updated in the metric table of n # ud E; 2out by identification to the metrics of corresponding nodes provided by the second decoder 406.

De façon générale, quel que soit l'algorithme utilisé, on initialisera les différents paramètres nécessaires au bon fonctionnement de cet algorithme à l'intérieur de chacun des décodeurs en tenant compte des états initiaux et finaux de chacun des codeurs ainsi que des propriétés qui les lient. In general, whatever the algorithm used, the various parameters necessary for the proper functioning of this algorithm will be initialized within each of the decoders, taking into account the initial and final states of each of the coders as well as the properties that bind.

Sur la figure 5, qui représente le fonctionnement d'un dispositif de codage tel que celui inclus dans le dispositif électronique illustré 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 donnée binaire à transmettre, la positionne en mémoire vive 104 dans le registre<I>"données source"</I> et incrémente le compteur "nb <I>données"</I> d'une unité. Ensuite, au cours d'un test 502, l'unité centrale 100 détermine si le nombre entier conservé dans le registre "nb <I>données"</I> est égal ou non à n (valeur conservée en mémoire morte 105). In FIG. 5, which represents the operation of a coding device such as that included in the electronic device illustrated in FIG. 1, it is observed that after an initialization operation 500, during which the registers of the random access memory 104 are initialized (nb <I> data = "0"), </ I> during an operation 501, the central unit 100 waits to receive, then receives a binary data item to be transmitted, places it in random access memory 104 in the <I> "source data" </ I> register and increments the "nb <I> data" </ I> counter by one unit. Then, during a test 502, the central unit 100 determines whether the whole number stored in the "nb <I> data" </ I> register is equal to n or not (value conserved in the read-only memory 105).

Lorsque le résultat du test 502 est négatif, l'opération 501 est réitérée. Lorsque le résultat du test 502 est positif, au cours d'une opération 508, le premier codeur 202 (voir figure 2), initialisé à un état nul, effectue - la division suivant les puissances croissantes (en anglais<I>"long</I> <I>division")</I> par g(x) du polynôme u(x) associé à la séquence de données binaires u et - une multiplication par h1(x). La séquence u et le résultat vi de cette opération sont mis en mémoire dans le registre<I>"données à -émettre"</I> de la mémoire vive 104. When the result of the test 502 is negative, the operation 501 is repeated. When the result of the test 502 is positive, during an operation 508, the first coder 202 (see FIG. 2), initialized to a zero state, performs the division according to the increasing powers (in English <I> "long < / I> <I> division ") </ I> by g (x) of the polynomial u (x) associated with the binary data sequence u and - a multiplication by h1 (x). The sequence u and the result vi of this operation are stored in the <I> "data-to-send" </ I> register of the random access memory 104.

Puis au cours d'une opération 511, par lecture de la table de correspondance donnant E;,2 en fonction de Ef,,, stockée dans le registre "table E;2 =f(Efl)" de la ROM 105, on détermine l'état initial E;,2 du second codeur 204, à partir de l'état final Ef,j du premier codeur 202 à l'issue de l'opération 508. Then during an operation 511, by reading the correspondence table giving E; 2 as a function of Ef ,,, stored in the register "table E; 2 = f (Efl)" of the ROM 105, we determine the initial state E;, 2 of the second encoder 204, from the final state Ef, j of the first encoder 202 at the end of the operation 508.

Parallèlement aux opérations 508 et 511, au cours d'une opération 506, les données binaires de la séquence u sont successivement lues dans le registre<I>"données reçues",</I> dans l'ordre décrit par le tableau "entrelaceue' conservé en mémoire morte 105. Les données de la séquence u*, qui résultent successivement de cette lecture, sont mises en mémoire dans le registre <I>"données permutées"</I> de la mémoire vive 104. In parallel with the operations 508 and 511, during an operation 506, the binary data of the sequence u are successively read in the <I> "received data" register, </ I> in the order described by the table "interlea The data of the sequence u *, which successively results from this reading, are stored in the <I> "data permuted" </ I> register of the random access memory 104.

Ensuite, au cours d'une opération 507, le second codeur 204, initialisé à l'état E;,2, effectue - la division suivant les puissances croissantes par g(x) de la séquence u* et - le produit du résultat de cette division par h2(x). Then, during an operation 507, the second encoder 204, initialized in the state E; 2, performs the division according to the increasing powers per g (x) of the sequence u * and the product of the result of this division by h2 (x).

Le résultat v2 de cette opération est mis en mémoire dans le registre "données-à- <I>émettre"</I> de la mémoire vive 104. The result v2 of this operation is stored in the "data-to-<I> transmit" </ I> register of the random access memory 104.

Au cours d'une opération 509, les séquences u, vi et v2 sont émises en utilisant, à cet effet, l'émetteur 106 (voir figure 1). Ensuite, les registres de la mémoire 104 sont à nouveau initialisés. En particulier, le compteur nb <I>données</I> est remis à "0" et l'opération 501 est réitérée. During an operation 509, the sequences u, vi and v2 are transmitted using, for this purpose, the transmitter 106 (see FIG. 1). Then, the registers of the memory 104 are initialized again. In particular, the counter nb <I> data </ I> is reset to "0" and the operation 501 is reiterated.

En figure 6, qui représente le fonctionnement d'un dispositif de décodage tel que celui inclus dans le dispositif électronique illustré en figure 3, on observe qu'après une opération d'initialisation 600, au cours de laquelle les registres de la mémoire vive 304 sont initialisés (nb <I>données = "0"),</I> au cours d'une opération 601, l'unité centrale 300 attend de recevoir, puis reçoit une donnée sous forme douce correspondant à une mesure de fiabilité d'une donnée émise par l'émetteur 106 et reçue par le récepteur 306, la positionne en mémoire vive 304, dans le registre<I>"données</I> reçues" et incrémente le compteur "nb <I>données"</I> d'une unité. Ensuite, au cours d'un test 602, l'unité centrale 300 détermine si le nombre entier conservé dans le registre "nb <I>données"</I> est égal ou non à 3.n (n étant une valeur conservée en mémoire morte 305), 3.n étant le nombre total de données binaires émises par l'émetteur 106. In FIG. 6, which represents the operation of a decoding device such as that included in the electronic device illustrated in FIG. 3, it is observed that after an initialization operation 600, during which the RAM registers 304 are initialized (nb <I> data = "0"), </ I> during an operation 601, the central processing unit 300 waits to receive, then receives a data item in a soft form corresponding to a reliability measure of a data transmitted by the transmitter 106 and received by the receiver 306, places it in RAM 304, in the <I> "data </ I> received" register and increments the counter "nb <I> data" </ I > a unit. Then, during a test 602, the central unit 300 determines whether the whole number stored in the "nb <I> data" </ I> register is equal to or not equal to 3.n (where n is a conserved value in ROM 305), where 3.n is the total number of binary data transmitted by the transmitter 106.

Lorsque le résultat du test 602 est négatif, l'opération 601 est réitérée. When the result of the test 602 is negative, the operation 601 is repeated.

Lorsque le résultat du test 602 est positif, au cours d'une opération de turbodécodage 603, détaillée plus loin, le dispositif de décodage donne une estimation û de la séquence u transmise. When the result of the test 602 is positive, during a turbodecoding operation 603, detailed below, the decoding device gives an estimate of the transmitted sequence u.

Puis, au cours d'une opération 604, l'unité centrale 300 fournit cette estimation ü au destinataire d'information 310. Then, during an operation 604, the CPU 300 provides this estimate to the information recipient 310.

Ensuite, les registres de la mémoire 304 sont à nouveau initialisés. En particulier, le compteur nb <I>données</I> est remis à "0" et l'opération 601 est réitérée. Then, the registers of the memory 304 are again initialized. In particular, the counter nb <I> data </ I> is reset to "0" and operation 601 is reiterated.

En figure 7, qui détaille l'opération de turbodécodage 603, on observe qu'au cours d'une opération d'initialisation 700, les registres de la mémoire vive 304 sont initialisés : le compteur nb <I>données</I> et les informations extrinsèques w2 et w4 sont remis à zéro (on suppose ici que l'entropie de la source est nulle). Par ailleurs, la table de métrique de noeud Ef,j;r,, destinée au premier décodeur 404 (voir figure 4), est initialisée de telle sorte que tous les noeuds soient équiprobables. En outre, l'entrelaceur 405 entrelace la séquence d'entrée u et fournit une séquence u*, qui est mémorisée dans le registre <I>données reçues</I> de la mémoire vive 304. In FIG. 7, which details the turbodecoding operation 603, it is observed that during an initialization operation 700, the registers of the random access memory 304 are initialized: the counter nb <I> data </ I> and the extrinsic information w2 and w4 are reset (it is assumed here that the entropy of the source is zero). Moreover, the node metric table Ef, j; r ,, intended for the first decoder 404 (see FIG. 4) is initialized so that all the nodes are equiprobable. In addition, the interleaver 405 interleaves the input sequence u and provides a sequence u *, which is stored in the <I> received data </ I> register of the RAM 304.

Ensuite, au cours d'une opération 702, le registre nb iteraiion est incrémenté d'une unité. Then, during an operation 702, the register number iteraiion is incremented by one unit.

Puis, au cours d'une opération 703, le premier décodeur 404 (correspondant au premier codeur élémentaire 202) met en oeuvre un algorithme du type à entrées douces et décisions douces (SISO, en anglais "Soft Input Soft Output'), bien connu de l'homme du métier, tel que le BJCR, mentionné plus haut, ou le SOVA ("Soft <I>Output</I> Viterbi Algorithm"), comme suit en prenant en compte un état initial du codeur nul et des métriques de noeuds pour l'état final égales aux valeurs correspondantes de la table de métrique de n#ud Ef,,;r,, le premier décodeur 404 considère comme entrées douces une estimation des séquences reçues u, vf, et w4 (information extrinsèque sur u), puis fournit w, (information extrinsèque sur u), une estimation û de la séquence u et une table de métrique de n#ud pour l'état final remise à jour Ef,lo,t. Then, during an operation 703, the first decoder 404 (corresponding to the first elementary encoder 202) implements an algorithm of the type with soft inputs and soft decisions (SISO, in English "Soft Input Soft Output"), well known those skilled in the art, such as BJCR, mentioned above, or SOVA ("Soft <I> Output </ I> Viterbi Algorithm"), as follows taking into account an initial state of the null encoder and metrics of nodes for the final state equal to the corresponding values of the metric table of ## EQU1 ## the first decoder 404 considers as soft inputs an estimate of the received sequences u, vf, and w4 (extrinsic information on u), then supply w, (extrinsic information on u), an estimate of the sequence u and a table of metrics of n # ud for the final state updated Ef, lo, t.

Pour plus de détails sur les algorithmes de décodage utilisés dans les turbocodes, on pourra se référer - à l'article de L.R. BAHL, J. COCKE, F. JELINEK et J. RAVIV cité plus haut, qui décrit un algorithme dit "BJCR" généralement utilisé en relation avec les turbocodes, ou encore - à l'article de J. HAGENAUER et P. HOEHER intitulé<I>"A</I> Viterbi algorithm with soit decision outputs<I>and</I> its <I>applications",</I> publiée avec les comptes-rendus de la conférence IEEE GLOBECOM, pages 1680-1686, en novembre 1989. For more details on the decoding algorithms used in turbocodes, reference may be made to the article by LR BAHL, J. COCKE, F. JELINEK and J. RAVIV cited above, which describes an algorithm called "BJCR". generally used in connection with turbocodes, or - in the article by J. HAGENAUER and P. HOEHER entitled <I> "A </ I> Viterbi algorithm with either decision outputs <I> and </ I> its <I > applications ", </ I> published with the proceedings of the IEEE GLOBECOM conference, pages 1680-1686, in November 1989.

Au cours d'une opération 705, l'entrelaceur 405 entrelace la séquence wi pour produire w2, information extrinsèque sur u*. During an operation 705, the interleaver 405 interleaves the sequence wi to produce w2, extrinsic information on u *.

Parallèlement, au cours d'une opération 704, l'opérateur 412 met à jour une table de métrique de noeud E;,2;, pour l'état initial du second décodeur, en fonction de la table de métrique de noeud Ef,fo"t pour l'état final du premier décodeur 404, conformément à la table de correspondance donnant E;,2 en fonction de Ef,f, mémorisée dans le registre "table E;2=f(Efl)" dans la mémoire morte 305 : pour chaque état possible i, E;,2;,(i) = Ef,,out(f(i)). Meanwhile, during an operation 704, the operator 412 updates a node metric table E ;, 2 ;, for the initial state of the second decoder, according to the node metric table Ef, fo t for the final state of the first decoder 404, according to the correspondence table giving E; 2 as a function of Ef, f, stored in the register "table E; 2 = f (Efl)" in the ROM 305 : for each possible state i, E;, 2;, (i) = Ef ,, out (f (i)).

Ensuite, au cours d'une opération 706, le second décodeur 406 (correspondant au second codeur élémentaire 204) met en oeuvre un algorithme du type à entrées douces et décisions douces, comme suit : en prenant en compte un état final du second codeur nul et des métriques de noeuds pour l'état initial égales aux valeurs correspondantes de la table de métrique de n#ud E;,2;", le second décodeur 406 considère comme entrées douces une estimation des séquences reçues u*, v2, et w2 (information extrinsèque sur u) puis fournit w3 (information extrinsèque sur u*), une estimation û* de la séquence u* et une table de métrique de n#ud pour l'état initial du second codeur remise à jour E;,2out. Au cours d'une opération 708, le désentrelaceur 407 (entrelaceur inverse de 405) désentrelace la séquence d'information w3 pour produire w4, information extrinsèque sur u. Then, during an operation 706, the second decoder 406 (corresponding to the second elementary coder 204) implements an algorithm of the type with soft inputs and soft decisions, as follows: taking into account a final state of the second null coder and node metrics for the initial state equal to the corresponding values of the metric table of n # ud, 2; ", the second decoder 406 considers as soft inputs an estimate of the received sequences u *, v2, and w2 (extrinsic information on u) then provides w3 (extrinsic information on u *), an estimate û * of sequence u * and a table of metrics of n # ud for the initial state of second encoder update E;, 2out During an operation 708, the deinterleaver 407 (inverse interleaver 405) deinterleaves the information sequence w3 to produce w4, extrinsic information on u.

Parallèlement, au cours d'une opération 707, l'opérateur 413 met à jour une table de métrique de noeud Ef,,;n pour l'état final du premier décodeur, en fonction de la table de métrique de noeud E;,2o,,t pour l'état initial du second décodeur 406, conformément à la table de correspondance donnant Ef,, en fonction de Ei,2 (obtenue simplement par lecture inverse de la fonction donnant Ei,2 à partir de Ef,,, qui est une fonction bijective), mémorisée dans le registre "table Ei2=f(Ef,)" dans la mémoire morte 305 : pour chaque état possible i, Ef,1in(f(i)) = Ei,2out(i). Meanwhile, during an operation 707, the operator 413 updates a node metric table Ef ,,; n for the final state of the first decoder, according to the node metric table E; , t for the initial state of the second decoder 406, according to the correspondence table giving Ef ,, as a function of Ei, 2 (obtained simply by inverse reading of the function giving Ei, 2 from Ef ,,, which is a bijective function), stored in the register "table Ei2 = f (Ef,)" in the read only memory 305: for each possible state i, Ef, 1in (f (i)) = Ei, 2out (i).

Les informations extrinsèques produites au cours des étapes 703 et 706 sont stockées dans le registre "inf extrinsèques" de la RAM 304. The extrinsic information produced in steps 703 and 706 is stored in the "inf extranesque" register of RAM 304.

Ensuite, au cours d'un test 709, l'unité centrale 300 détermine si le nombre entier conservé dans le registre "nb iterafion" est égal ou non à un nombre prédéterminé maximal d'itérations à effectuer, conservé dans le registre "nb iteration max" de la ROM 305. Then, during a test 709, the central unit 300 determines whether the whole number stored in the register "nb iterafion" is equal or not to a predetermined maximum number of iterations to be performed, kept in the register "nb iteration max "of the ROM 305.

Lorsque le résultat du test 709 est négatif, l'opération 702 est réitérée. When the result of the test 709 is negative, the operation 702 is repeated.

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 û*, pour fournir une séquence désentrelacée à l'unité centrale 300, qui transforme alors la décision douce en décision dure, sous forme d'une séquence û, estimée de u. When the result of the test 709 is positive, during an operation 710, the deinterleaver 408 (identical to the deinterleaver 407) deinterleaves the sequence û *, to provide a deinterleaved sequence to the CPU 300, which then transforms the soft decision. in hard decision, in the form of a sequence û, estimated from u.

Dans le mode préféré de réalisation, on a exposé le cas où l'état initial du second codeur était quelconque et son état final, nul. In the preferred embodiment, the case has been exposed where the initial state of the second encoder was unspecified and its final state, zero.

En variante, l'invention peut s'appliquer de la même façon lorsque c'est l'état initial du second codeur qui est nul et son état final quelconque. Dans ce cas, on utilise un entrelaceur préservant la divisibilité par le polynôme diviseur des codeurs avec une permutation inter-colonnes qui est, soit l'identité, soit l'une des 167 permutations définies dans la table T donnée plus haut. De façon générale, on pourra utiliser des entrelaceurs de la forme "x vers xe", où e est une puissance de 2 modulo n. In a variant, the invention can be applied in the same way when the initial state of the second coder is zero and its final state is arbitrary. In this case, we use an interleaver preserving the divisibility by the divisor polynomial of the coders with an inter-column permutation which is either the identity or one of the 167 permutations defined in the table T given above. In general, we can use interleavers of the form "x to xe", where e is a power of 2 modulo n.

Les états finaux des deux codeurs sont alors liés entre eux de la même façon que l'étaient l'état final du premier codeur et l'état initial du second codeur. Seuls les rôles des états initiaux et finaux du second codeur ou décodeur sont échangés. The final states of the two coders are then linked to each other in the same way as were the final state of the first coder and the initial state of the second coder. Only the roles of the initial and final states of the second coder or decoder are exchanged.

Ainsi, on construit une table de correspondance Ef,2 = f(Ef,,) de telle sorte que si les codeurs sont initialisés à l'état nul, si le premier codeur a un état final Ef,j, le deuxième codeur aura un état final Ef,2 ; Ef,2 ne dépend que de Ef,j et de la permutation inter-colonnes utilisée et ce, de façon biunivoque. Dans le cas où cette permutation est l'identité, Ef,j et Ef,2 sont égaux. Thus, a correspondence table Ef, 2 = f (Ef ,,) is constructed such that if the encoders are initialized in the zero state, if the first encoder has a final state Ef, j, the second encoder will have a final state Ef, 2; Ef, 2 depends only on Ef, j and the inter-column permutation used, in a one-to-one way. In the case where this permutation is the identity, Ef, j and Ef, 2 are equal.

L'intérêt de cette variante est qu'on n'a pas besoin de connaître l'état final du premier codeur pour effectuer le codage par le second codeur : cela apporte une simplification et cela permet un codage simultané par les deux codeurs. Du côté du décodeur, mis à part le changement de rôle, il n'y a sensiblement pas de différence entre cette variante et le mode préféré de réalisation. The advantage of this variant is that one does not need to know the final state of the first coder to perform the coding by the second coder: this provides a simplification and this allows simultaneous coding by the two coders. On the decoder side, apart from the role change, there is essentially no difference between this variant and the preferred embodiment.

En particulier, en variante au dispositif de décodage illustré par la figure 4 et décrit plus haut - l'opérateur 412 affecte une valeur à chaque élément de la table de métrique de n#ud Ef,2;n (au lieu de E;,2in) destinée au second décodeur 406, en fonction de chaque élément de la table de métrique de n#ud Ef,,out issue du premier décodeur 404 ; - le second décodeur 406 reçoit en entrée une table de métrique de n#ud Ef,2;n (au lieu de E;,2;n) ; - le second décodeur 406 fournit en sortie une table de métrique de n#ud Ef,2o,,t (au lieu de E;,2o,,t) ; - l'opérateur 413 affecte une valeur à chaque élément de la table de métrique de n#ud Ef,l;, destinée au premier décodeur 404, en fonction de chaque élément de la table de métrique de n#ud Ef,2out (au lieu de E;,2out) issue du deuxième décodeur 406 et de la table de correspondance donnant Ef,2 (au lieu de E;,2) en fonction de Efj ; - les métriques de noeuds du second décodeur 406 peuvent être initialisées comme suit - avec une probabilité d'occurrence maximale pour l'état initial (au lieu de final) nul, - avec une probabilité d'occurrence nulle pour les états initiaux (au lieu de finaux) non nuls et - avec une probabilité pour chaque état final (au lieu de initial) définie par la table de métrique de noeud Ef,2;, (au lieu de E;,2;,,) ; et - après chaque opération de décodage élémentaire, les métriques de noeuds correspondant à l'état final sont remises à jour dans la table de métrique de noeud Ef,2oUt (au lieu de E;,2out) par identification aux métriques de noeuds correspondantes fournies par le second décodeur 406. In particular, as an alternative to the decoding device illustrated in FIG. 4 and described above, the operator 412 assigns a value to each element of the metric table of n # ud Ef, 2; n (instead of E; 2in) for the second decoder 406, as a function of each element of the metric table of ## EQU1 ## issuing from the first decoder 404; the second decoder 406 receives as input a metric table of n # ud Ef, 2; n (instead of E;, 2; n); the second decoder 406 outputs a metric table of n # ud Ef, 2o ,, t (instead of E;, 2o, t); the operator 413 assigns a value to each element of the metric table of n # ud Ef, l;, intended for the first decoder 404, as a function of each element of the metric table of n # ud Ef, 2out (at place of E;, 2out) issuing from the second decoder 406 and from the correspondence table giving Ef, 2 (instead of E; 2) as a function of Efj; - the node metrics of the second decoder 406 can be initialized as follows - with a maximum probability of occurrence for the initial (instead of final) zero state, - with a probability of zero occurrence for the initial states (instead non-null endpoints and - with a probability for each end state (instead of initial) defined by the node metric table Ef, 2 ;, (instead of E;, 2; ,,); and - after each elementary decoding operation, the node metrics corresponding to the final state are updated in the node metric table Ef, 2oUt (instead of E; 2out) by identification to the corresponding node metrics provided by the second decoder 406.

*Dans une autre variante, plus générale, l'invention ne se limite pas aux turbocodeurs composés de deux codeurs ou aux turbocodeurs à une entrée : elle peut s'appliquer à des turbocodeurs composés de plusieurs codeurs élémentaires ou à des turbocodeurs à plusieurs entrées, tels que ceux décrits dans le rapport de D. DIVSALAR et F. POLLARA cité en introduction. In another variant, more general, the invention is not limited to turbo encoders composed of two coders or turbochargers with one input: it can be applied to turbochargers composed of several elementary coders or multi-input turbochargers, such as those described in the report by D. DIVSALAR and F. POLLARA quoted in the introduction.

On veillera dans ce cas à ce que les entrelaceurs utilisés préservent la divisibilité par le ou les polynômes générateurs utilisés et à ce que les codeurs élémentaires soient initialisés correctement, conformément à ce qui est fait dans les différents cas décrits précédemment. On pourra alors établir les relations qui lient les bits d'ajout et utiliser ces relations dans le dispositif de décodage d'une façon similaire à ce qui a été exposé précédemment. In this case, it will be ensured that the interleavers used preserve the divisibility by the generator polynomial (s) used and that the elementary coders are correctly initialized, in accordance with what is done in the various cases described above. It will then be possible to establish the relationships that bind the add bits and use these relationships in the decoding device in a manner similar to what has been discussed above.

Ainsi, la figure 8 décrit un dispositif de codage comportant un turbocodeur à plusieurs entrées ul, u2,..., Pk_1, uk conforme à l'invention. Thus, FIG. 8 describes a coding device comprising a multi-input turbocoder μ1, u2,..., Pk_1, uk in accordance with the invention.

Les entrelaceurs <B>11,</B> 12, ... , Ik_1, Ik, désignés par les chiffres de référence 801 à 804, conservent la divisibilité par le polynôme de rétroaction g(x) utilisé dans les codeurs 805 et 806. Interleavers <B> 11, </ B> 12, ..., Ik_1, Ik, denoted by reference numerals 801 to 804, retain the divisibility by the feedback polynomial g (x) used in coders 805 and 806 .

Un opérateur 807 détermine l'état initial E;,2 du second codeur, à l'aide d'une table de correspondance, en fonction de l'état final Ef,l du premier codeur.An operator 807 determines the initial state E 1, 2 of the second coder, using a correspondence table, as a function of the final state Ef, 1 of the first coder.

Le dispositif de décodage correspondant peut être aisément déduit de la description du dispositif de codage, sur la base de la description du dispositif de décodage donnée précédemment dans le cas où on considérait une seule entrée et un seul entrelaceur.  The corresponding decoding device can be easily deduced from the description of the coding device, on the basis of the description of the decoding device given above in the case where it considered a single input and a single interleaver.

Claims (43)

<U>REVENDICATIONS</U><U> CLAIMS </ U> 1. Procédé de codage d'au moins une séquence de données binaires d'origine (u), suivant lequel - on effectue au moins une première opération de codage convolutif récursif (508), consistant à coder ladite séquence d'origine (u) par une technique de codage mettant en oeuvre un premier polynôme diviseur (gi(x et n'incluant aucun ajout de bit garantissant la divisibilité par ledit premier polynôme diviseur (gi(x ; - on effectue au moins une opération d'entrelacement (506), de façon à obtenir une séquence entrelacée (u*) ; et - on effectue au moins une deuxième opération de codage convolutif récursif (507), consistant à coder ladite séquence entrelacée (u*) par une technique de codage mettant en oeuvre un deuxième polynôme diviseur (92(x)) et n'incluant aucun ajout de bit garantissant la divisibilité par ledit deuxième polynôme diviseur (92(x)), ledit deuxième polynôme diviseur (92(x)) étant compatible avec ledit premier polynôme diviseur (gi(x ; ledit procédé de codage étant caractérisé en ce que - au moins une opération d'entrelacement (506) consiste à permuter les données binaires de la séquence d'origine (u) à l'aide d'une permutation spécifique, ladite permutation spécifique étant, dans une représentation où les données binaires de la séquence d'origine (u) sont écrites et lues, ligne par ligne, dans un tableau à NO colonnes et M lignes, où NO est le plus petit entier tel que le premier polynôme diviseur divise le polynôme x" +1 et M est un entier positif, la résultante d'une permutation inter-colonnes non triviale (II) qui transforme le code cyclique de longueur NO dont le polynôme générateur est ledit premier polynôme diviseur (gi(x en le code cyclique dont le polynôme générateur est ledit deuxième polynôme diviseur (92(x)), ladite permutation inter-colonnes (II) permutant entre elles les NO colonnes du tableau représentant la séquence d'origine (u), et d'un nombre quelconque de permutations élémentaires intra- colonne, chacune desdites permutations élémentaires étant une permutation quelconque des symboles d'une colonne dudit tableau.A method of encoding at least one original binary data sequence (u), wherein - at least a first recursive convolutional encoding step (508) is performed, encoding said original sequence (u) by an encoding technique implementing a first divisor polynomial (gi (x) and not including any bit adding guaranteeing divisibility by said first divisor polynomial (gi (x; - performing at least one interleaving operation (506) , so as to obtain an interleaved sequence (u *); and - performing at least a second recursive convolutional coding operation (507), of encoding said interleaved sequence (u *) by a coding technique implementing a second a divisor polynomial (92 (x)) and not including any bit additions ensuring divisibility by said second divisor polynomial (92 (x)), said second divisor polynomial (92 (x)) being compatible with said first divisor polynomial (g); i (x), said coding method being characterized in that - at least one interleaving operation (506) consists of permuting the binary data of the original sequence (u) by means of a specific permutation, said specific permutation being, in a representation where the binary data of the original sequence (u) are written and read, line by line, in an array with NO columns and M lines, where NO is the smallest integer such that the first polynomial divider divides the polynomial x "+1 and M is a positive integer, the resultant of a non-trivial inter-column permutation (II) which transforms the cyclic code of length NO whose generator polynomial is said first divisor polynomial (gi ( x in the cyclic code whose generator polynomial is said second divisor polynomial (92 (x)), said inter-column permutation (II) permutating between them the NO columns of the array representing the original sequence (u), and of u n any number of intra-column elementary permutations, each of said elementary permutations being any permutation of the symbols of a column of said array. 2. Procédé de codage d'au moins une séquence de données binaires d'origine (u), suivant lequel - on effectue au moins une première opération de codage convolutif récursif (508), consistant à coder ladite séquence d'origine (u) par une technique de codage mettant en oeuvre un premier polynôme diviseur (gi(x)) et n'incluant aucun ajout de bit garantissant la divisibilité par ledit premier polynôme diviseur (gi(x)) ; - on effectue au moins une opération d'entrelacement (506), de façon à obtenir une séquence entrelacée (u*) ; et - on effectue au moins une deuxième opération de codage convolutif récursif (507), consistant à coder ladite séquence entrelacée (u*) par une technique de codage mettant en oeuvre un deuxième polynôme diviseur (92(x)) et n'incluant aucun ajout de bit garantissant la divisibilité par ledit deuxième polynôme diviseur (92(x)), ledit deuxième polynôme diviseur (92(x)) étant compatible avec ledit premier polynôme diviseur (gi(x)) ; ledit procédé de codage étant caractérisé en ce que - au moins une opération d'entrelacement (506) consiste à permuter les données binaires de la séquence d'origine (u) à l'aide d'une permutation spécifique, ladite permutation spécifique étant, dans une représentation où les données binaires de la séquence d'origine (u) sont écrites et lues, ligne par ligne, dans un tableau à NO colonnes et M lignes, où NO est le plus petit entier tel que le premier polynôme diviseur divise le polynôme x" +1 et M est un entier positif, la résultante d'une permutation inter-colonnes (II) qui transforme le code cyclique de longueur NO dont le polynôme générateur est ledit premier polynôme diviseur (gi(x)) en le code cyclique dont le polynôme générateur est ledit deuxième polynôme diviseur (92(x)), ladite permutation inter-colonnes (II) permutant entre elles les NO colonnes du tableau représentant la séquence d'origine (u), et d'un nombre quelconque de permutations élémentaires intra- colonne, chacune desdites permutations élémentaires étant une permutation quelconque des symboles d'une colonne dudit tableau ; ledit procédé de codage étant également caractérisé en ce que - la première opération de codage (508) comporte une étape d'initialisation à un état (E;,j) nul et se termine à un état final (Ef,f) quelconque, et - au moins une deuxième opération de codage (507) comporte une étape d'initialisation à un état (E;,2) nul et se termine à un état final (Ef,2) quelconque dépendant de l'état final (Ef,j) de la première opération de codage (508).A method of encoding at least one original binary data sequence (u), wherein - at least a first recursive convolutional encoding step (508) is performed, encoding said original sequence (u) by a coding technique implementing a first divisor polynomial (gi (x)) and not including any bit additions guaranteeing divisibility by said first divisor polynomial (gi (x)); performing at least one interleaving operation (506) so as to obtain an interleaved sequence (u *); and performing at least a second recursive convolutional coding operation (507), of encoding said interleaved sequence (u *) by a coding technique implementing a second polynomial divider (92 (x)) and not including any adding a bit ensuring divisibility by said second divisor polynomial (92 (x)), said second divisor polynomial (92 (x)) being compatible with said first divisor polynomial (gi (x)); said coding method being characterized in that - at least one interleaving operation (506) is to swap the binary data of the original sequence (u) by means of a specific permutation, said specific permutation being, in a representation where the binary data of the original sequence (u) are written and read, line by line, in an array with NO columns and M lines, where NO is the smallest integer such that the first divisor polynomial divides the polynomial x "+1 and M is a positive integer, the resultant of an inter-column permutation (II) which transforms the cyclic code of length NO whose generator polynomial is said first divisor polynomial (gi (x)) into the code cyclic whose generator polynomial is said second divisor polynomial (92 (x)), said inter-column permutation (II) permutating between them the NO columns of the array representing the original sequence (u), and any number of permu Intra-columnary elementary units, each of said elementary permutations being any permutation of the symbols of a column of said array; said coding method being further characterized in that - the first coding operation (508) comprises an initialization step at a zero state (E; j) and ends at any final state (Ef, f), and at least one second coding operation (507) comprises an initialization step at a zero state (E; 2) and ends at a final state (Ef, 2) depending on the final state (Ef, j ) of the first coding operation (508). 3. Procédé de codage selon la revendication 2, caractérisé en ce qu'il comporte au moins une opération de mise en correspondance biunivoque entre les états finaux possibles (Ef,f) de la première opération de codage (508) et les états finaux possibles (Ef,2) d'au moins une deuxième opération de codage (507).3. Encoding method according to claim 2, characterized in that it comprises at least one operation of one-to-one correspondence between the possible final states (Ef, f) of the first coding operation (508) and the possible final states. (Ef, 2) at least a second coding operation (507). 4. Procédé de codage selon la revendication 2 ou 3, caractérisé en ce que l'opération d'entrelacement (506) est du type "x vers x"", où e est une puissance de 2 modulo M.NO.4. Encoding method according to claim 2 or 3, characterized in that the interleaving operation (506) is of the type "x to x" ", where e is a power of 2 modulo M.NO. 5. Procédé de codage selon la revendication 1, caractérisé en ce que - la première opération de codage (508) comporte une étape d'initialisation à un état initial (E;,j) nul et se termine à un état final (Ef,j) quelconque, et - au moins une deuxième opération de codage (507) comporte une étape d'initialisation à un état initial (E;,2) dépendant de l'état final (Ef,j) de la première opération de codage (508) et se termine à un état final (Ef,2) nul.5. Encoding method according to claim 1, characterized in that the first coding operation (508) comprises an initialization step at a zero initial state (E; j) and ends at a final state (Ef, j) any, and - at least one second coding operation (507) comprises an initial state initialization step (E;, 2) depending on the final state (Ef, j) of the first coding operation ( 508) and ends at a final state (Ef, 2) zero. 6. Procédé de codage selon la revendication 1 ou 5, caractérisé en ce qu'il comporte au moins une opération de mise en correspondance bi univoque entre les états finaux possibles (Ef,,) de la première opération de codage (508) et les états initiaux possibles (E;,2) d'au moins une deuxième opération de codage (507).6. Encoding method according to claim 1 or 5, characterized in that it comprises at least one univocal mapping operation between the possible final states (Ef ,,) of the first coding operation (508) and the possible initial states (E;, 2) of at least one second coding operation (507). 7. Procédé de codage selon l'une quelconque des revendications 1, 5 et 6, caractérisé en ce que l'opération d'entrelacement (506) est du type "x vers xe", où e est une puissance de 2 modulo M.NO et n'est pas congru à 1 modulo N0.7. Coding method according to any one of claims 1, 5 and 6, characterized in that the interleaving operation (506) is of the type "x to xe", where e is a power of 2 modulo M. NO and is not congruent to 1 modulo N0. 8. Procédé de codage selon l'une quelconque des revendications 3, 4, 6 et 7, caractérisé en ce que l'opération de mise en correspondance dépend de la permutation inter-colonnes (II).8. coding method according to any one of claims 3, 4, 6 and 7, characterized in that the mapping operation depends on the interchanging permutation (II). 9. Procédé de codage selon l'une quelconque des revendications précédentes, caractérisé en ce que les polynômes diviseurs (gi(x), 92(x)) sont identiques.9. Coding method according to any one of the preceding claims, characterized in that the divisor polynomials (gi (x), 92 (x)) are identical. 10. Dispositif de codage d'au moins une séquence de données binaires d'origine (u), comportant - des premiers moyens de codage convolutif récursif (202), pour coder ladite séquence d'origine (u) par une technique de codage mettant en oeuvre un premier polynôme diviseur (gi(x)) et n'incluant aucun ajout de bit garantissant la divisibilité par ledit premier polynôme diviseur (gi(x)) ; - des moyens d'entrelacement (203), pour produire une séquence entrelacée (u*) ; et - au moins des deuxièmes moyens de codage convolutif récursif (204), pour coder ladite séquence entrelacée (u*) par une technique de codage mettant en oeuvre un deuxième polynôme diviseur (92(x)) et n'incluant aucun ajout de bit garantissant la divisibilité par ledit deuxième polynôme diviseur (92(x)), ledit deuxième polynôme diviseur (92(x)) étant compatible avec ledit premier polynôme diviseur (gi(x)) ; ledit dispositif de codage étant caractérisé en ce que - lesdits moyens d'entrelacement (203) comportent des moyens pour permuter les données binaires de la séquence d'origine (u) à l'aide d'une permutation spécifique, ladite permutation spécifique étant, dans une représentation où les données binaires de la séquence d'origine (u) sont écrites et lues, ligne par ligne, dans un tableau à NO colonnes et M lignes, où NO est le plus petit entier tel que le premier polynôme diviseur (gi(x)) divise le polynôme x" +1 et M est un entier positif, la résultante d'une permutation inter-colonnes non triviale (II) ayant pour effet de transformer le code cyclique de longueur NO et ayant pour polynôme générateur ledit premier polynôme diviseur (gi(x)) en un code cyclique équivalent ayant pour polynôme générateur ledit deuxième polynôme diviseur (92(x)), ladite permutation inter-colonnes (II) agissant par permutation sur les NO colonnes du tableau représentant la séquence d'origine (u), et d'un nombre quelconque de permutations élémentaires intra- colonne, chacune desdites permutations élémentaires étant une permutation quelconque des symboles d'une colonne dudit tableau.Apparatus for encoding at least one original binary data sequence (u), comprising - first recursive convolutional encoding means (202), for encoding said original sequence (u) by a coding technique implementing a first divisor polynomial (gi (x)) and including no bit adding guaranteeing divisibility by said first divisor polynomial (gi (x)); interleaving means (203) for producing an interleaved sequence (u *); and at least second recursive convolutional coding means (204) for encoding said interleaved sequence (u *) by an encoding technique implementing a second divisor polynomial (92 (x)) and not including any bit additions guaranteeing divisibility by said second divisor polynomial (92 (x)), said second divisor polynomial (92 (x)) being compatible with said first divisor polynomial (gi (x)); said coding device being characterized in that - said interleaving means (203) comprises means for swapping the binary data of the original sequence (u) by means of a specific permutation, said specific permutation being, in a representation where the binary data of the original sequence (u) are written and read, line by line, in an array with NO columns and M lines, where NO is the smallest integer such as the first divisor polynomial (gi (x)) divides the polynomial x "+1 and M is a positive integer, the resultant of a non-trivial inter-column permutation (II) having the effect of transforming the cyclic code of length NO and having the generating polynomial said first polynomial divisor (gi (x)) in an equivalent cyclic code having for said generator polynomial said second divisor polynomial (92 (x)), said inter-column permutation (II) acting by permutation on the NO columns of the array the original sequence (u), and any number of intra-column elementary permutations, each of said elementary permutations being any permutation of the symbols of a column of said array. 11. Dispositif de codage d'au moins une séquence de données binaires d'origine (u), comportant - des premiers moyens de codage convolutif récursif (202), pour coder ladite séquence d'origine (u) par une technique de codage mettant en oeuvre un premier polynôme diviseur (gi(x)) et n'incluant aucun ajout de bit garantissant la divisibilité par ledit premier polynôme diviseur (gi(x)) ; - des moyens d'entrelacement (203), pour produire une séquence entrelacée (u*) ; et - au moins des deuxièmes moyens de codage convolutif récursif (204), pour coder ladite séquence entrelacée (u*) par une technique de codage mettant en oeuvre un deuxième polynôme diviseur (92(x)) et n'incluant aucun ajout de bit garantissant la divisibilité par ledit deuxième polynôme diviseur (92(x)), ledit deuxième polynôme diviseur (92(x)) étant compatible avec ledit premier polynôme diviseur (gi(x)) ; ledit dispositif de codage étant caractérisé en ce que - lesdits moyens d'entrelacement (203) comportent des moyens pour permuter les données binaires de la séquence d'origine (u) à l'aide d'une permutation spécifique, ladite permutation spécifique étant, dans une représentation où les données binaires de la séquence d'origine (u) sont écrites et lues, ligne par ligne, dans un tableau à NO colonnes et M lignes, où NO est le plus petit entier tel que le premier polynôme diviseur (gi(x)) divise le polynôme x" +1 et M est un entier positif, la résultante d'une permutation inter-colonnes (II) ayant pour effet de transformer le code cyclique de longueur NO et ayant pour polynôme générateur ledit premier polynôme diviseur (gi(x)) en un code cyclique équivalent ayant pour polynôme générateur ledit deuxième polynôme diviseur (92(x)), ladite permutation inter-colonnes (II) agissant par permutation sur les NO colonnes du tableau représentant la séquence d'origine (u), et d'un nombre quelconque de permutations élémentaires intra- colonne, chacune desdites permutations élémentaires étant une permutation quelconque des symboles d'une colonne dudit tableau ; ledit dispositif de codage étant également caractérisé en ce que - les premiers moyens de codage (202) sont initialisés à un état (E;,j) nul et présentent un état final (Ef,j) quelconque, et - au moins des deuxièmes moyens de codage (204) sont initialisés à un état (E;,2) nul et présentent un état final (Ef,2) quelconque dépendant de l'état final (Ef,j) des premiers moyens de codage (202).Apparatus for encoding at least one original binary data sequence (u), comprising - first recursive convolutional encoding means (202), for encoding said original sequence (u) by an encoding technique implementing a first divisor polynomial (gi (x)) and including no bit adding guaranteeing divisibility by said first divisor polynomial (gi (x)); interleaving means (203) for producing an interleaved sequence (u *); and at least second recursive convolutional coding means (204) for encoding said interleaved sequence (u *) by an encoding technique implementing a second divisor polynomial (92 (x)) and not including any bit additions guaranteeing divisibility by said second divisor polynomial (92 (x)), said second divisor polynomial (92 (x)) being compatible with said first divisor polynomial (gi (x)); said coding device being characterized in that - said interleaving means (203) comprises means for swapping the binary data of the original sequence (u) by means of a specific permutation, said specific permutation being, in a representation where the binary data of the original sequence (u) are written and read, line by line, in an array with NO columns and M lines, where NO is the smallest integer such as the first divisor polynomial (gi (x)) divides the polynomial x "+1 and M is a positive integer, the resultant of an inter-column permutation (II) having the effect of transforming the cyclic code of length NO and having as generator polynomial said first divisor polynomial (gi (x)) to an equivalent cyclic code having for said generator polynomial said second divisor polynomial (92 (x)), said inter-column permutation (II) acting by permutation on the NO columns of the array representing the quence of origin (u), and any number of intra-column elementary permutations, each of said elementary permutations being any permutation of the symbols of a column of said array; said coding device being further characterized in that - the first coding means (202) are initialized to a state (E; j) of zero and have any final state (Ef, j), and - at least second means encoding means (204) are initialized to a zero state (E; 2) and have any final state (Ef, 2) dependent on the final state (Ef, j) of the first encoding means (202). 12. Dispositif de codage selon la revendication 11, caractérisé en ce qu'il comporte des moyens de mise en correspondance biunivoque entre les états finaux possibles (Ef,l) des premiers moyens de codage (202) et les états finaux possibles (Ef,2) d'au moins des deuxièmes moyens de codage (204).12. Encoding device according to claim 11, characterized in that it comprises means of one-to-one correspondence between the possible final states (Ef, l) of the first coding means (202) and the possible final states (Ef, 2) at least second coding means (204). 13. Dispositif de codage selon la revendication 11 ou 12, caractérisé en ce que les moyens d'entrelacement (203) sont du type "x vers xe", où e est une puissance de 2 modulo M.NO.13. Encoding device according to claim 11 or 12, characterized in that the interleaving means (203) are of the type "x to x", where e is a power of 2 modulo M.NO. 14. Dispositif de codage selon la revendication 10, caractérisé en ce que - les premiers moyens de codage (202) sont initialisés à un état initial (E;,j) nul et présentent un état final (Ef,j) quelconque, et - au moins des deuxièmes moyens de codage (204) sont initialisés à un état initial (E;,2) dépendant de l'état final (Ef,,) des premiers moyens de codage (202) et présentent un état final (Ef,2) nul.14. Encoding device according to claim 10, characterized in that the first coding means (202) are initialized to a zero initial state (E; j) and have a final state (Ef, j) of any kind, and at least second coding means (204) are initialized to an initial state (E; 2) dependent on the final state (Ef ,,) of the first coding means (202) and have a final state (Ef 2 ) no. 15. Dispositif de codage selon la revendication 10 ou 14, caractérisé en ce qu'il comporte des moyens de mise en correspondance biunivoque entre les états finaux possibles (Ef,I) des premiers moyens de codage (202) et les états initiaux possibles (E;,2) d'au moins des deuxièmes moyens de codage (204).Coding device according to claim 10 or 14, characterized in that it comprises means of one-to-one correspondence between the possible final states (Ef, I) of the first coding means (202) and the possible initial states ( E; 2) of at least second coding means (204). 16. Dispositif de codage selon l'une quelconque des revendications 10, 14 et 15, caractérisé en ce que les moyens d'entrelacement (203) sont du type "x vers x"", où e est une puissance de 2 modulo M.NO et n'est pas congru à 1 modulo N0.16. Encoding device according to any one of claims 10, 14 and 15, characterized in that the interleaving means (203) are of the type "x to x" ", where e is a power of 2 modulo M. NO and is not congruent to 1 modulo N0. 17. Dispositif de codage selon l'une quelconque des revendications 12, 13, 15 et 16, caractérisé en ce que les moyens de mise en correspondance utilisent la permutation inter-colonnes (rI).17. Encoding device according to any one of claims 12, 13, 15 and 16, characterized in that the mapping means use the interchanging permutation (rI). 18. Dispositif de codage selon l'une quelconque des revendications 10 à 17, caractérisé en ce que les polynômes diviseurs (gi(x), 92(x)) sont identiques.18. Encoding device according to any one of claims 10 to 17, characterized in that the divisor polynomials (gi (x), 92 (x)) are identical. 19. Procédé de décodage d'au moins une séquence de symboles d'origine, caractérisé en ce que la séquence de symboles d'origine est représentative d'une séquence binaire (u) codée à l'aide d'un procédé de codage selon l'une quelconque des revendications 1 à 9.19. A method of decoding at least one sequence of origin symbols, characterized in that the sequence of original symbols is representative of a binary sequence (u) coded using a coding method according to any of claims 1 to 9. 20. Procédé de décodage selon la revendication 19, caractérisé en ce qu'il met en oeuvre des opérations de décodage (703, 706) à entrées douces et sorties douces.20. Decoding method according to claim 19, characterized in that it implements decoding operations (703, 706) with soft inputs and soft outputs. 21. Procédé de décodage selon la revendication 19 ou 20, caractérisé en ce qu'on effectue itérativement les opérations suivantes - au moins une première opération élémentaire de décodage d'un code convolutif récursif (703), consistant à décoder une première sous- séquence de ladite séquence de symboles d'origine par une technique de décodage mettant en oeuvre le premier polynôme diviseur (gi(x)) et prenant en compte l'état initial (E;,j) et l'état final (Ef,j) de la première opération de codage (508) ; - au moins une opération d'entrelacement (705) d'une séquence représentative de la séquence d'origine ; - au moins une deuxième opération élémentaire de décodage d'un code convolutif récursif (706), consistant à décoder une deuxième sous- séquence de ladite séquence de symboles d'origine par une technique de décodage mettant en oeuvre le deuxième polynôme diviseur (92(x)) et prenant en compte l'état initial (E;,2) et l'état final (Ef,2) de la deuxième opération de codage (507) ; et - au moins une opération de désentrelacement (708) d'une séquence représentative de la séquence d'origine entrelacée.21. Decoding method according to claim 19 or 20, characterized in that it performs iteratively the following operations - at least a first elementary operation of decoding a recursive convolutional code (703) of decoding a first sub-sequence of said sequence of original symbols by a decoding technique implementing the first divisor polynomial (gi (x)) and taking into account the initial state (E; j) and the final state (Ef, j) the first coding operation (508); at least one interleaving operation (705) of a sequence representative of the original sequence; at least one second elementary decoding operation of a recursive convolutional code (706), consisting in decoding a second subsequence of said original symbol sequence by a decoding technique implementing the second divider polynomial (92 ( x)) and taking into account the initial state (E; 2) and the final state (Ef 2) of the second coding operation (507); and at least one deinterleaving operation (708) of a sequence representative of the interlaced origin sequence. 22. Procédé de décodage selon la revendication 21, caractérisé en ce que, dans une opération élémentaire de décodage (703, 706), la prise en compte d'un état initial (respectivement final) nul de l'opération de codage correspondante (508, 507) se fait par initialisation d'une métrique de n#ud - avec une probabilité d'occurrence maximale pour l'état initial (respectivement final) nul, - avec une probabilité d'occurrence nulle pour les états initiaux (respectivement finaux) non nuls, - avec une équiprobabilité d'occurrence pour tous les états finaux (respectivement initiaux) à l'initialisation de la première opération de décodage élémentaire de la première itération et - avec une probabilité d'occurrence pour tous les états finaux (respectivement initiaux) à l'initialisation des opérations de décodage suivantes qui dépend des probabilités d'occurrence des états finaux ou initiaux définis par l'opération de décodage élémentaire précédente.22. Decoding method according to claim 21, characterized in that, in an elementary decoding operation (703, 706), taking into account an initial (respectively final) zero state of the corresponding coding operation (508). , 507) is done by initialization of a metric of n # ud - with a maximum probability of occurrence for the initial state (respectively final) null, - with a probability of occurrence null for the initial states (respectively final) non-zero, - with an equiprobability of occurrence for all the final states (respectively initial) at the initialization of the first elementary decoding operation of the first iteration and - with a probability of occurrence for all the final states (respectively initial ) at the initialization of the following decoding operations which depends on the probabilities of occurrence of the final or initial states defined by the preceding elementary decoding operation ente. 23. Dispositif de décodage d'au moins une séquence de symboles d'origine, caractérisé en ce que la séquence de symboles d'origine est représentative d'une séquence binaire (u) codée à l'aide d'un dispositif de codage selon l'une quelconque des revendications 10 à 18.23. Device for decoding at least one sequence of original symbols, characterized in that the sequence of original symbols is representative of a binary sequence (u) coded using a coding device according to any of claims 10 to 18. 24. Dispositif de décodage selon la revendication 23, caractérisé en ce qu'il met en oeuvre des opérations de décodage (703, 706) à entrées douces et sorties douces.24. The decoding device according to claim 23, characterized in that it implements decoding operations (703, 706) with soft inputs and soft outputs. 25. Dispositif de décodage selon la revendication 23 ou 24, caractérisé en ce qu'il comporte - au moins des premiers moyens élémentaires de décodage d'un code convolutif récursif (404), pour décoder une première sous-séquence de ladite séquence de symboles d'origine par une technique de décodage mettant en oeuvre 1e premier polynôme diviseur (g,(x)) et prenant en compte l'état initial (E,,j) et l'état final (Ef,j) des premiers moyens de codage (202) ; - au moins un moyen d'entrelacement (405) d'une séquence représentative de la séquence d'origine ; - au moins des deuxièmes moyens élémentaires de décodage d'un code convolutif récursif (406), pour décoder une deuxième sous-séquence de ladite séquence de symboles d'origine par une technique de décodage mettant en ceuvre le deuxième polynôme diviseur (92(x)) et prenant en compte l'état initial (E;,2) et l'état final (Ef,2) des deuxièmes moyens de codage (204) ; et - au moins un moyen de désentrelacement (407, 408) d'une séquence représentative de la séquence d'origine entrelacée, lesdits moyens élémentaires de décodage, d'entrelacement et de désentrelacement (404, 405, 406, 407, 408) opérant de façon itérative.25. Decoding device according to claim 23, characterized in that it comprises - at least first elementary means for decoding a recursive convolutional code (404), for decoding a first subsequence of said sequence of symbols. of origin by a decoding technique implementing the first polynomial divisor (g, (x)) and taking into account the initial state (E ,, j) and the final state (Ef, j) of the first coding (202); at least one interleaving means (405) of a sequence representative of the original sequence; at least second elementary means for decoding a recursive convolutional code (406), for decoding a second subsequence of said original symbol sequence by a decoding technique implementing the second divisor polynomial (92 (x )) and taking into account the initial state (E; 2) and the final state (Ef 2) of the second coding means (204); and at least one deinterleaving means (407, 408) of a sequence representative of the interlaced origin sequence, said elementary decoding, interleaving and deinterleaving means (404, 405, 406, 407, 408) operating iteratively. 26. Dispositif de décodage selon la revendication 25, caractérisé en ce que, dans les moyens élémentaires de décodage (404, 406), la prise en compte d'un état initial (respectivement final) nul des moyens de codage correspondants (202, 204) se fait par initialisation d'une métrique de noeud - avec une probabilité d'occurrence maximale pour l'état initial (respectivement final) nul, - avec une probabilité d'occurrence nulle pour les états initiaux (respectivement finaux) non nuls, - avec une équiprobabilité d'occurrence pour tous les états finaux (respectivement initiaux) à l'initialisation des premiers moyens de décodage élémentaires de la première itération et - avec une probabilité d'occurrence pour tous les états finaux (respectivement initiaux) à l'initialisation des moyens de décodage suivants qui dépend des probabilités d'occurrence des états finaux et initiaux définis par les moyens de décodage élémentaire précédents.26. A decoding device according to claim 25, characterized in that, in the elementary decoding means (404, 406), taking into account an initial (respectively final) zero state of the corresponding coding means (202, 204). ) is done by initialization of a node metric - with a maximum probability of occurrence for the initial (final) state zero, - with a probability of occurrence null for the initial (final) non-zero states, - with an equiprobability of occurrence for all final states (respectively initial) at the initialization of the first elementary decoding means of the first iteration and - with a probability of occurrence for all the final states (initial respectively) at initialization subsequent decoding means which depends on the probabilities of occurrence of the final and initial states defined by the previous elementary decoding means. 27. Dispositif de décodage selon la revendication 25 ou 26, caractérisé en ce qu'il comporte des premiers moyens de calcul (412), pour affecter une valeur à chaque élément d'une table de métrique de noeud (Ei,2i,) utilisée en entrée des deuxièmes moyens élémentaires de décodage (406), en fonction de chaque élément d'une table de métrique de noeud (Ef,iout) issue des premiers moyens élémentaires de décodage (404).27. Decoding device according to claim 25 or 26, characterized in that it comprises first calculation means (412) for assigning a value to each element of a node metric table (Ei, 2i,) used. at the input of the second elementary decoding means (406), as a function of each element of a node metric table (Ef, iout) issuing from the first elementary decoding means (404). 28. Dispositif de décodage selon la revendication 25, 26 ou 27, caractérisé en ce qu'il comporte des deuxièmes moyens de calcul (413), pour affecter une valeur à chaque élément d'une table de métrique de noeud (Ef,lin) utilisée en entrée des premiers moyens élémentaires de décodage (404), en fonction de chaque élément d'une table de métrique de noeud (Ei,2out) issue des deuxièmes moyens élémentaires de décodage (406).28. Decoding device according to claim 25, 26 or 27, characterized in that it comprises second calculation means (413), for assigning a value to each element of a node metric table (Ef, lin) used at the input of the first elementary decoding means (404), as a function of each element of a node metric table (Ei, 2out) issuing from the second elementary decoding means (406). 29. Procédé de création d'une table de correspondance entre tous les états finaux possibles (Ef,j) d'un premier codeur convolutif récursif (202) d'un dispositif de codage selon l'une quelconque des revendications 10 et 14 à 18, ledit premier codeur convolutif récursif (202) mettant en oeuvre un premier polynôme diviseur (g,(x)), et tous les états initiaux possibles (Ei,2) d'un deuxième codeur convolutif récursif (204) dudit dispositif de codage, ledit deuxième codeur convolutif récursif (204) mettant en ceuvre un deuxième polynôme diviseur (92(x)) compatible avec ledit premier polynôme diviseur (gi(x)), ledit procédé de création étant caractérisé en ce que, pour chaque état final possible (Ef,i) du premier codeur (202), on choisit un état initial (Ei,2) du deuxième codeur (204) parmi tous les états initiaux possibles (Ei,2) de telle sorte que l'état final (Ef,2) du deuxième codeur (204) soit nul.29. A method of creating a correspondence table between all the possible final states (Ef, j) of a first recursive convolutional encoder (202) of a coding device according to any one of claims 10 and 14 to 18. , said first recursive convolutional encoder (202) implementing a first divisor polynomial (g, (x)), and all possible initial states (Ei, 2) of a second recursive convolutional encoder (204) of said encoding device, said second recursive convolutional encoder (204) implementing a second divisor polynomial (92 (x)) compatible with said first divisor polynomial (gi (x)), said authoring method being characterized in that, for each possible end state ( Ef, i) of the first encoder (202), selecting an initial state (Ei, 2) of the second encoder (204) from among all possible initial states (Ei, 2) so that the final state (Ef, 2 ) of the second encoder (204) is zero. 30. Procédé de création selon la revendication 29, caractérisé en ce que - on effectue une première opération de construction, consistant à construire une table de transitions (table 1) d'un état courant du premier codeur (202) vers l'état suivant en fonction du bit fourni en entrée du premier codeur (202) ; - on effectue une deuxième opération de construction, consistant à construire une table (table 2) permettant de déterminer, à partir de la table de transitions (table 1) obtenue précédemment, une première séquence (pl) qui, à partir d'un état courant (Ef,l) du premier codeur (202), conduit à un état final nul ; - on effectue une opération d'ajout, consistant à ajouter à ladite première séquence (pi) autant de bits nuls que nécessaire pour obtenir une deuxième séquence ayant NO bits, NO étant le plus petit entier tel que le polynôme diviseur (gi(x)) du premier codeur (202) divise le polynôme x" +1 ; - on effectue une opération d'entrelacement, consistant à entrelacer ladite deuxième séquence avec une permutation inter-colonnes (II), de façon à obtenir une troisième séquence (p',), ladite permutation inter-colonnes (II) étant non triviale et ayant pour effet de transformer le code cyclique de longueur NO et ayant pour polynôme générateur ledit premier polynôme diviseur (gi(x)) en un code cyclique équivalent ayant pour polynôme générateur ledit deuxième polynôme diviseur (92(x)), ladite permutation inter-colonnes (II) agissant par permutation sur les NO colonnes d'un tableau représentant ladite deuxième séquence, dans une représentation où les données binaires de la deuxième séquence sont écrites et lues, ligne par ligne, dans un tableau à NO colonnes et M lignes, M étant un entier positif ; et - on effectue une troisième opération de construction, consistant à construire une table (table 3) permettant de déterminer l'état final (E;,2) d'un codeur convolutif récursif initialisé à un état nul, ayant pour polynôme diviseur le deuxième polynôme diviseur (92(x)) et utilisé pour obtenir la troisième séquence (p'1) ; de façon à obtenir une quatrième table (table 4) établissant la correspondance entre l'état final (Ef,l) du premier codeur (202) et l'état initial (E;,2) du deuxième codeur (204) pour ladite permutation inter-colonnes (II).30. Creation method according to claim 29, characterized in that a first construction operation is carried out, consisting of constructing a table of transitions (table 1) from a current state of the first coder (202) to the next state. depending on the bit input of the first encoder (202); a second construction operation is performed, consisting in constructing a table (table 2) making it possible to determine, from the transition table (table 1) obtained previously, a first sequence (pl) which, starting from a state current (Ef, 1) of the first encoder (202), leads to a zero final state; an addition operation is performed, consisting of adding to said first sequence (pi) as many null bits as necessary to obtain a second sequence having NO bits, NO being the smallest integer such that the divisor polynomial (gi (x) ) of the first encoder (202) divides the polynomial x "+1; - an interleaving operation is performed, consisting of interleaving said second sequence with an inter-column permutation (II), so as to obtain a third sequence (p ') ,), said inter-column permutation (II) being non-trivial and having the effect of transforming the cyclic code of length NO and having for generating polynomial said first divisor polynomial (gi (x)) into an equivalent cyclic code having for generator polynomial said second polynomial divider (92 (x)), said inter-column permutation (II) acting by permutation on the NO columns of an array representing said second sequence, in a representation where the given The binaries of the second sequence are written and read, line by line, in an array with NO columns and M lines, where M is a positive integer; and a third construction operation is carried out, consisting in constructing a table (table 3) for determining the final state (E; 2) of a recursive convolutional coder initialized to a zero state, having as divisor polynomial the second polynomial divisor (92 (x)) and used to obtain the third sequence (p'1); to obtain a fourth table (table 4) establishing the correspondence between the final state (Ef, l) of the first coder (202) and the initial state (E;, 2) of the second coder (204) for said permutation inter-columns (II). 31. Procédé de création d'une table de correspondance entre tous les états finaux possibles (Ef,l) d'un premier codeur convolutif récursif (202) d'un dispositif de codage selon l'une quelconque des revendications 11 à 13 et 17, 18, ledit premier codeur convolutif récursif (202) mettant en ceuvre un premier polynôme diviseur (gi(x)), et tous les états finaux possibles (Ef,2) d'un deuxième codeur convolutif récursif (204) dudit dispositif de codage, ledit deuxième codeur convolutif récursif (204) mettant en ceuvre un deuxième polynôme diviseur (92(x)) compatible avec ledit premier polynôme diviseur (gi(x)), ledit procédé de création étant caractérisé en ce que, pour chaque état final possible (Ef,j) du premier codeur (202), on détermine un état final (Ef,2) du deuxième codeur (204) parmi tous les états finaux possibles (Ef,2) lorsque l'état initial (E;,2) du deuxième codeur (204) est nul.31. A method of creating a correspondence table between all the possible final states (Ef, l) of a first recursive convolutional encoder (202) of a coding device according to any one of claims 11 to 13 and 17. , 18, said first recursive convolutional encoder (202) implementing a first divisor polynomial (gi (x)), and all possible end states (Ef, 2) of a second recursive convolutional encoder (204) of said encoder said second recursive convolutional coder (204) implementing a second divisor polynomial (92 (x)) compatible with said first divisor polynomial (gi (x)), said authoring method being characterized in that for each possible end state (Ef, j) of the first encoder (202), determining a final state (Ef, 2) of the second encoder (204) among all possible end states (Ef, 2) when the initial state (E;, 2) the second encoder (204) is zero. 32. Procédé de codage selon l'une quelconque des revendications 6 à 9, caractérisé en ce que l'opération de mise en correspondance met en oeuvre une table de correspondance créée par un procédé de création selon la revendication 29 ou 30.32. Coding method according to any one of claims 6 to 9, characterized in that the mapping operation implements a correspondence table created by a creation method according to claim 29 or 30. 33. Procédé de décodage selon l'une quelconque des revendications 19 à 22, caractérisé en ce qu'il utilise une table de correspondance créée par un procédé de création selon la revendication 29, 30 ou 31.33. Decoding method according to any one of claims 19 to 22, characterized in that it uses a correspondence table created by a creation method according to claim 29, 30 or 31. 34. Appareil de traitement de signaux numériques, caractérisé en ce qu'il comporte des moyens adaptés à mettre en ceuvre un procédé de codage selon l'une quelconque des revendications 1 à 9 et 32 et/ou un procédé de décodage selon l'une quelconque des revendications 19 à 22 et 33.34. Apparatus for processing digital signals, characterized in that it comprises means adapted to implement a coding method according to any one of claims 1 to 9 and 32 and / or a decoding method according to one of any of claims 19 to 22 and 33. 35. Appareil de traitement de signaux numériques, caractérisé en ce qu'il comporte un dispositif de codage selon l'une quelconque des revendications 10 à 18 et/ou un dispositif de décodage selon l'une quelconque des revendications 23 à 28.35. Apparatus for processing digital signals, characterized in that it comprises a coding device according to any one of claims 10 to 18 and / or a decoding device according to any one of claims 23 to 28. 36. Réseau de télécommunications, 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 à 9 et 32 et/ou un procédé de décodage selon l'une quelconque des revendications 19 à 22 et 33.36. Telecommunication network, characterized in that it comprises means adapted to implement a coding method according to any one of claims 1 to 9 and 32 and / or a decoding method according to any one of the claims. 19 to 22 and 33. 37. Réseau de télécommunications, caractérisé en ce qu'il comporte un dispositif de codage selon l'une quelconque des revendications 10 à 18 et/ou un dispositif de décodage selon l'une quelconque des revendications 23 à 28.37. Telecommunication network, characterized in that it comprises a coding device according to any one of claims 10 to 18 and / or a decoding device according to any one of claims 23 to 28. 38. Station mobile dans un réseau de télécommunications, caractérisée en ce qu'elle comporte des moyens adaptés à mettre en oeuvre un procédé de codage selon l'une quelconque des revendications 1 à 9 et 32 et/ou un procédé de décodage selon l'une quelconque des revendications 19 à 22 et 33.38. Mobile station in a telecommunications network, characterized in that it comprises means adapted to implement a coding method according to any one of claims 1 to 9 and 32 and / or a decoding method according to the any of claims 19 to 22 and 33. 39. 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 10 à 18 et/ou un dispositif de décodage selon l'une quelconque des revendications 23 à 28.39. Mobile station in a telecommunications network, characterized in that it comprises a coding device according to any one of claims 10 to 18 and / or a decoding device according to any one of claims 23 to 28. 40. 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 10 à 18 et/ou un dispositif de décodage selon l'une quelconque des revendications 23 à 28.40. Apparatus for processing representative speech signals, characterized in that it comprises a coding device according to any one of claims 10 to 18 and / or a decoding device according to any one of claims 23 to 28. 41. 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 10 à 18 et/ou un dispositif de décodage selon l'une quelconque des revendications 23 à 28 et/ou un dispositif de traitement de signaux représentatifs de parole selon la revendication 40.41. A data transmission device comprising a transmitter adapted to implement a packet transmission protocol, characterized in that it comprises a coding device according to any one of claims 10 to 18 and / or a decoding device according to any one of claims 23 to 28 and / or a speech representative signal processing device according to claim 40. 42. Dispositif de transmission de données selon la revendication 41, caractérisé en ce que ledit protocole est de type ATM.42. Device for transmitting data according to claim 41, characterized in that said protocol is of ATM type. 43. Dispositif de transmission de données selon la revendication 41, caractérisé en ce que ledit protocole est de type IP. 43. Device for transmitting data according to claim 41, characterized in that said protocol is of IP type.
FR9914504A 1999-11-18 1999-11-18 ENCODING METHOD AND DEVICE, DECODING METHOD AND DEVICE, AND SYSTEMS USING THE SAME Expired - Fee Related FR2801446B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
FR9914504A FR2801446B1 (en) 1999-11-18 1999-11-18 ENCODING METHOD AND DEVICE, DECODING METHOD AND DEVICE, AND SYSTEMS USING THE SAME

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR9914504A FR2801446B1 (en) 1999-11-18 1999-11-18 ENCODING METHOD AND DEVICE, DECODING METHOD AND DEVICE, AND SYSTEMS USING THE SAME

Publications (2)

Publication Number Publication Date
FR2801446A1 true FR2801446A1 (en) 2001-05-25
FR2801446B1 FR2801446B1 (en) 2002-04-19

Family

ID=9552257

Family Applications (1)

Application Number Title Priority Date Filing Date
FR9914504A Expired - Fee Related FR2801446B1 (en) 1999-11-18 1999-11-18 ENCODING METHOD AND DEVICE, DECODING METHOD AND DEVICE, AND SYSTEMS USING THE SAME

Country Status (1)

Country Link
FR (1) FR2801446B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2829329A1 (en) * 2001-09-05 2003-03-07 Canon Kk Locked interlaced turbocoding system has shared divisor permutation

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2773287A1 (en) * 1997-12-30 1999-07-02 Canon Kk Coding method that takes into account predetermined integer equal to or greater than 2, number greater than or equal to 1 of sequences of binary data representing physical quantity
EP0928071A1 (en) * 1997-12-30 1999-07-07 Canon Kabushiki Kaisha Interleaver for turbo encoder
FR2785744A1 (en) * 1998-11-09 2000-05-12 Canon Kk Data sequence coding for image, sound data etc applications involves retrieval of primary and permuted data, their division by given polynomial for formation a controlling sequence

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2773287A1 (en) * 1997-12-30 1999-07-02 Canon Kk Coding method that takes into account predetermined integer equal to or greater than 2, number greater than or equal to 1 of sequences of binary data representing physical quantity
EP0928071A1 (en) * 1997-12-30 1999-07-07 Canon Kabushiki Kaisha Interleaver for turbo encoder
FR2785744A1 (en) * 1998-11-09 2000-05-12 Canon Kk Data sequence coding for image, sound data etc applications involves retrieval of primary and permuted data, their division by given polynomial for formation a controlling sequence

Non-Patent Citations (13)

* Cited by examiner, † Cited by third party
Title
BAHL L R ET AL: "OPTIMAL DECODING OF LINEAR CODES FOR MINIMIZING SYMBOL ERROR RATE", IEEE TRANSACTIONS ON INFORMATION THEORY,US,IEEE INC. NEW YORK, vol. IT-20, no. 2, 1 March 1974 (1974-03-01), pages 284 - 287, XP000647243, ISSN: 0018-9448 *
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: "NEAR SHANNON LIMIT ERROR - CORRECTING CODING AND DECODING: TURBO-CODES (1)", PROCEEDINGS OF THE INTERNATIONAL CONFERENCE ON COMMUNICATIONS (ICC),US,NEW YORK, IEEE, vol. -, 23 May 1993 (1993-05-23), pages 1064 - 1070, XP000371240, ISBN: 0-7803-0950-2 *
DIVSALAR D ET AL: "TURBO CODES FOR PCS APPLICATIONS", PROCEEDINGS OF THE INTERNATIONAL CONFERENCE ON COMMUNICATIONS (ICC),US,NEW YORK, IEEE, 18 June 1995 (1995-06-18), pages 54 - 59, XP000532968, ISBN: 0-7803-2487-0 *
GUEGUEN A ET AL: "Performance of frame oriented turbo codes on UMTS channel with various termination schemes", GATEWAY TO 21ST CENTURY COMMUNICATIONS VILLAGE. VTC 1999-FALL. IEEE VTS 50TH VEHICULAR TECHNOLOGY CONFERENCE (CAT. NO.99CH36324), GATEWAY TO 21ST CENTURY COMMUNICATIONS VILLAGE. VTC 1999-FALL. IEEE VTS 50TH VEHICULAR TECHNOLOGY CONFERENCE, AMSTERDAM,, 1999, Piscataway, NJ, USA, IEEE, USA, pages 1550 - 1554 vol.3, XP002144416, ISBN: 0-7803-5435-4 *
HAGENAUER J ET AL: "A VITERBI ALGORITHM WITH SOFT-DECISION OUTPUTS AND ITS APPLICATIONS", PROCEEDINGS OF THE GLOBAL TELECOMMUNICATIONS CONFERENCE AND EXHIBITION(GLOBECOM),US,NEW YORK, IEEE, vol. -, 27 November 1989 (1989-11-27), pages 1680 - 1686, XP000091258 *
HAGENAUER J ET AL: "ITERACTIVE DECODING OF BINARY BLOCK AND CONVOLUTIONAL CODES", IEEE TRANSACTIONS ON INFORMATION THEORY,US,IEEE INC. NEW YORK, vol. 42, no. 2, March 1996 (1996-03-01), pages 429 - 445, XP000850507, ISSN: 0018-9448 *
HAGENAUER J ET AL: "ITERATIVE (TURBO) DECODING OF SYSTEMATIC CONVOLUTIONAL CODES WITH THE MAP AND SOVA ALGORITHMS", ITG FACHBERICHTE,DE,BERLIN, VDE VERLAG, vol. NR. 130, 1994, pages 21 - 29, XP000503774, ISBN: 3-8007-2036-1 *
HOKFELT J ET AL: "A survey on trellis termination alternatives for turbo codes", IEEE VEHICULAR TECHNOLOGY CONFERENCE,US,NEW YORK, NY: IEEE, vol. CONF. 49, 16 May 1999 (1999-05-16), pages 2225 - 2229-2229, XP002125111, ISBN: 0-7803-5566-0 *
JOERSSEN O ET AL: "TERMINATING THE TRELLIS OF TURBO-CODES", ELECTRONICS LETTERS,GB,IEE STEVENAGE, vol. 30, no. 16, 4 August 1994 (1994-08-04), pages 1285 - 1286, XP000468789, ISSN: 0013-5194 *
REED M C ET AL: "TURBO-CODE TERMINATION SCHEMES AND A NOVEL ALTERNATIVE FOR SHORT FRAMES", IEEE INTERNATIONAL SYMPOSIUM ON PERSONAL, INDOOR AND MOBILE RADIO COMMUNICATIONS,XX,XX, 15 October 1996 (1996-10-15), pages 354 - 358, XP002050626 *
ROBERTSON P: "ILLUMINATING THE STRUCTURE OF CODE AND DECODER OF PARALLEL", PROCEEDINGS OF THE GLOBAL TELECOMMUNICATIONS CONFERENCE (GLOBECOM),US,NEW YORK, IEEE, 28 November 1994 (1994-11-28), pages 1298 - 1303, XP000488744, ISBN: 0-7803-1821-8 *
W J BLACKERT ET AL: "Turbo code termination and interleaver conditions", ELECTRONICS LETTERS,GB,IEE STEVENAGE, vol. 31, no. 24, 23 November 1995 (1995-11-23), pages 2082 - 2084, XP000874322, ISSN: 0013-5194 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2829329A1 (en) * 2001-09-05 2003-03-07 Canon Kk Locked interlaced turbocoding system has shared divisor permutation

Also Published As

Publication number Publication date
FR2801446B1 (en) 2002-04-19

Similar Documents

Publication Publication Date Title
FR2815199A1 (en) Cyclic turbo coding scheme improves minimum Hamming distance
US6766489B1 (en) Device and method of adapting turbocoders and the associated decoders to sequences of variable length
US20030177430A1 (en) Method of interleaving a binary sequence
US20040240590A1 (en) Decoder design adaptable to decode coded signals using min* or max* processing
WO1998011671A1 (en) An improved system for coding signals
US20020124221A1 (en) Interleaver for variable block size
JP4497706B2 (en) Interleaving method for turbo coding of data
EP1230736B1 (en) Method for decoding data coded with an entropic code, corresponding decoding device and transmission system
US6560362B1 (en) Encoding and interleaving device and method for serial or hybrid turbocodes
FR2790621A1 (en) Interlacing method for coding and decoding of turbo codes of binary symbols representing a physical magnitude using two convolute recursive coders having polynomial divisor with same data period
FR2807895A1 (en) Methods and devices for coding and decoding and systems implementing them, for use in protected wireless communications
JP3674851B2 (en) Scaling feedback turbo decoder
EP1974472A1 (en) Fast encoding and decoding methods and related devices
FR2802735A1 (en) Coding/decoding digital word mechanism having padding providing polynomial division with interspersion sequence/second padding operation and recursive coding operation output
EP1282254A1 (en) Channel coding and decoding for modulation with large number of states
FR2805418A1 (en) DIGITAL CORRECTIVE ERROR-TYPE CODING TRANSMITTING METHOD
FR2801446A1 (en) Method for coding of a primary data sequence by generating first polynomial divider of cyclic codes whose generating polynomial is second polynomial divider
FR2804806A1 (en) Interleaving process coding/decoding mechanism with symbol sequence written line/line separating positions and forming intra column permutations and preserving divisibility/obtaining interleaved sequences.
FR2981526A1 (en) METHOD AND DEVICE FOR DECODING ENCODED DATA USING AN ERROR CORRECTING CODE, ENCODING METHOD AND DEVICE, AND CORRESPONDING COMPUTER PROGRAM
FR2773287A1 (en) Coding method that takes into account predetermined integer equal to or greater than 2, number greater than or equal to 1 of sequences of binary data representing physical quantity
Biradar et al. Design and Implementation of Secure and Encoded Data Transmission Using Turbo Codes
Verma et al. An FPGA realization of simplified turbo decoder architecture
FR2785742A1 (en) Coding method that takes into account predetermined integer equal to or greater than 2, number greater than or equal to 1 of sequences of binary data representing physical quantity
FR2800950A1 (en) Interleaving method e.g. for turbocoding of data, involves considering a matrix having r rows and m columns, filled row by row by the successive numbers from 0 to r tom-1
Shoup Hardware implementation of a high-throughput 64-PPM serial concatenated turbo decoder

Legal Events

Date Code Title Description
ST Notification of lapse

Effective date: 20140731