FR2785740A1 - Procede de decodage de codes correcteurs d'erreurs, tels que des turbo-codes orientes trames, et decodeur pour la mise en oeuvre dudit procede - Google Patents

Procede de decodage de codes correcteurs d'erreurs, tels que des turbo-codes orientes trames, et decodeur pour la mise en oeuvre dudit procede Download PDF

Info

Publication number
FR2785740A1
FR2785740A1 FR9814322A FR9814322A FR2785740A1 FR 2785740 A1 FR2785740 A1 FR 2785740A1 FR 9814322 A FR9814322 A FR 9814322A FR 9814322 A FR9814322 A FR 9814322A FR 2785740 A1 FR2785740 A1 FR 2785740A1
Authority
FR
France
Prior art keywords
values
block
systematic
concatenated
interleaved
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
FR9814322A
Other languages
English (en)
Other versions
FR2785740B1 (fr
Inventor
Arnaud Gueguen
Damien Castelain
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.)
Mitsubishi Electric Information Technology Corp
Original Assignee
Mitsubishi Electric Information Technology Corp
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 Mitsubishi Electric Information Technology Corp filed Critical Mitsubishi Electric Information Technology Corp
Priority to FR9814322A priority Critical patent/FR2785740B1/fr
Publication of FR2785740A1 publication Critical patent/FR2785740A1/fr
Application granted granted Critical
Publication of FR2785740B1 publication Critical patent/FR2785740B1/fr
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/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/3905Maximum a posteriori probability [MAP] decoding or approximations thereof based on trellis or lattice decoding, e.g. forward-backward algorithm, log-MAP decoding, max-log-MAP decoding
    • 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/2978Particular arrangement of the component decoders
    • H03M13/2987Particular arrangement of the component decoders using more component decoders than component codes, e.g. pipelined turbo iterations

Landscapes

  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Error Detection And Correction (AREA)

Abstract

La présente invention concerne un procédé de décodage de codes correcteurs d'erreurs, tels que des turbo-codes orientés trames, lesdits codes étant constitués d'un bloc concaténé de valeurs systématiques pondérées non-entrelacées et de valeurs systématiques pondérées entrelacées (Xk , Xi ), d'un bloc concaténé de valeurs codées pondérées et de valeurs codées pondérées entrelacées (Yk , Yi ) et pour délivrer un bloc de valeurs de décision. Il consiste à procéder à une pluralité d'itérations, chaque itération consistant à effectuer un premier décodage élémentaire des valeurs systématiques pondérées non-entrelacées du bloc concaténé de valeurs systématiques (Xk , Xi ), des valeurs codées non-entrelacées du bloc concaténé de valeurs codées (Yk , Yi ) et des valeurs extrinsèques non-entrelacées déterminées à l'itération précédente et à ainsi déterminer un bloc de valeurs extrinsèques et à effectuer une second décodage élémentaire des valeurs systématiques pondérées entrelacées du bloc concaténé de valeurs systématiques (Xk , Xi ), des valeurs codées entrelacées du bloc concaténé de valeurs codées (Yk , Yi ) et des valeurs extrinsèques déterminées lors du premier décodage élémentaire et préalablement entrelacées et pour déterminer des valeurs extrinsèques et des valeurs de décision qui sont ensuite désentrelacées pour être seules utilisées à l'itération suivante, les valeurs de décision déterminées lors de la dernière itération constituant les valeurs de décodage. L'invention concerne également un décodeur pour la mise en oeuvre dudit procédé de décodage.

Description

I1 2785740
La présente invention concerne une méthode de décodage de codes correcteurs d'erreurs, tels que des codes récursifs systématiques concaténés parallèles connus sous le nom de turbo-codes orientés trames, appelés également FOCTC (en anglais: "Frame Oriented Convolutional Turbo Codes"). Cette méthode de décodage s'applique aux télécommunications numériques et, en particulier, à des systèmes de
télécommunications sans fil.
Les codes correcteurs d'erreurs sont utilisés dans les communications numériques pour lutter contre la perte d'information binaire due à la mauvaise qualité du canal de transmission qui est par exemple un canal hertzien dans le cas des télécommunications sans fil. Leur principe est d'introduire une information redondante par rapport à l'information que l'on souhaite transmettre, de façon à restituer au mieux cette dernière à la réception. Un code correcteur d'erreur est d'autant plus performant qu'il permet, pour une énergie par bit d'information donnée, d'obtenir un taux
d'erreurs binaires plus faible à la réception.
Les codes dits turbo-codes sont connus d'une publication parue dans Proc. 1993
IEEE International Conference of Communications, Geneva, Switzerland, pp 1064 -
1070 de mai 1993 sous le titre "Near Shannon Limit Error-Correcting coding and decoding: Turbo-Codes" et dont les auteurs sont Berrou C., Glavieux A. and Thitimajshima P. Ces codes désignent un ensemble de codes correcteurs d'erreurs constitués par la concaténation en parallèle de plusieurs codes récursifs systématiques convolutifs RSC (en anglais: "Recursive Systematic Convolutional"), chaque code
élémentaire étant séparé du précédent au moyen d'un processus d'entrelacement.
Les séquences ainsi codées sont décodées par un procédé itératif à entrées et
sorties pondérées communément appelé turbo-décodage. Chaque itération du turbo-
décodage est constituée de l'association en série de décodeurs élémentaires correspondant chacun à un codeur élémentaire. L'information pondérée produite par chaque décodeur élémentaire (appelée information extrinsèque) est désentrelacée puis propagée à l'entrée du décodeur élémentaire suivant. De même, l'information extrinsèque produite par une itération est rétropropagée au début de l'itération
suivante.
Pour les codes convolutifs classiques représentables par un treillis, un bloc de données est rendu indépendant des autres données si l'on sait imposer un état connu (par exemple zéro) au treillis en début et en fin de bloc de données. En ce qui concerne
2 2785740
un turbo-codeur constitué de deux codeurs élémentaires, cette contrainte apparaît sur
les deux treillis à la fois.
Les turbo-codes orientés trames, également appelés FOCTC (Frame Oriented Convolutional Turbo Codes) sont une adaptation des turbo-codes pour la transmission par paquets. Ils garantissent le retour régulier du codeur dans son état initial nul (à la
fin de chaque paquet), propriété avantageusement utilisée au décodage.
Les codeurs FOCTC ont l'avantage de n'utiliser qu'un seul codeur élémentaire RSC. De plus, ils garantissent le retour du codeur élémentaire dans son état initial zéro à intervalles de temps réguliers, à savoir tous les 2N bits codés, N étant la taille de
l'entrelaceur et également la taille des blocs d'informations considérés.
On a représenté à la Fig. 1, un turbo-codeur de type FOCTC 10 relié à une source 11 d'information binaire à coder Xk. Il est constitué d'un entrelaceur non uniforme 12 dont l'entrée est reliée à la sortie de la source 11, et d'un unique codeur élémentaire 13 du type récursif convolutif systématique. Un commutateur 14 commute l'entrée du codeur 13 de la sortie de la source 1 1 à la sortie de l'entrelaceur 12 et réciproquement. Avant d'être codé, chaque bloc de taille N est d'abord dupliqué puis ensuite entrelacé dans l'entrelaceur 12. Ainsi, chaque bit xk entre deux fois dans le codeur: une première fois à l'instant k et une deuxième fois à l'instant fl(k) o f est la loi d'entrelacement. Le codeur 13 délivre un bloc non entrelacé de N valeurs codées Yk (k variant de I à N, o N est le taille du bloc) et un bloc entrelacé de valeurs codées yi
(i variant de 1 à N) qui sont concaténés de manière à former un bloc de 2N valeurs.
Les indices k (ou i) sont des indices temporels se rapportant au kil (ou ii'm1) bit
dans une séquence de N bits o N est la taille de chaque bloc considéré.
Ainsi, alors que le bloc qui contient N valeurs xk (k = 1 à N) est celui qui est à coder, les blocs de N valeurs codées yk et yi sont respectivement obtenus par codage RCS, d'une part, du bloc à coder luimême (contenant N valeurs xk (k = I à N), d'autre
part, du bloc à coder préalablement entrelacé (contenant N valeurs xi (i = I à N).
Dans la suite de la description, un indice k se rapport à des éléments qui n'ont pas
été entrelacés alors qu'un indice i se rapporte à des éléments qui ont été entrelacés.
Pour garantir que le codeur RSC 13 retourne dans son état initial nul tous les 2N bits, la loi d'entrelacement f doit vérifier la condition suivante pour tout k compris entre I et N: (f(k)-k) mod L =0 (I)
3 2785740
ou L est la période du codeur RSC 13. Cette période est par exemple celle qui est décrite par C. Berrou and M. Jézéquel dans un article paru dans Electronics Letters, Vol. 32, No. 15, du 18 juillet 1996 intitulé "Frame-oriented convolutional turbo-codes". Cette condition suppose que N est un multiple de L. On a représenté à la Fig. 2a un schéma synoptique de la structure d'un décodeur de turbo-codes de type FOCTC et, à la Fig. 2b, le détail d'un moyen d'itération utilisé
dans le décodeur de la Fig. 2a.
Le décodeur représenté à la Fig. 2a constitue un élément d'un récepteur et il reçoit du démodulateur dudit récepteur qui se trouve à son amont, d'une part, N valeurs systématiques pondérées Xk (k prenant les valeurs 1 à N) à et, d'autre part, N valeurs codées pondérées non- entrelacées Yk (k = 1 à N) concaténées à N valeurs codées pondérées entrelacées Yi (i = 1 à N) de manière à former un bloc codé concaténé de 2N valeurs (Yk, Yi). Les valeurs Xk, Yk et Yi correspondent respectivement aux bits xk, yk et yi obtenus après un codage de type FOCTC. On
notera que les valeurs pondérées sont au préalable normalisées.
Dans la suite de la description, un bloc de valeurs sera noté une de ses valeurs
entre parenthèses indicée k ou i selon qu'il s'agit d'un bloc nonentrelacé ou entrelacé.
Par exemple, le bloc non-entrelacé de N valeurs systématiques pondérées Xk sera noté (Xk) et le bloc entrelacé correspondant (Xi). Le bloc résultant de la concaténation du
bloc (Xk) et du bloc (Xi) sera quant à lui noté (Xk, Xi).
Le décodeur représenté à la Fig. 2a est constitué de Ni moyens d'itération 20j (j variant de 1 à Ni), d'un entrelaceur 21 qui effectue, d'une part, l'entrelacement des N valeurs Xk pour former un bloc entrelacé (Xi) de N valeurs Xi et, d'autre part, la concaténation du bloc entrelacé (Xi) avec le bloc (Xk) pour former un bloc concaténé (Xk, Xi). Chaque moyen d'itération 20j délivre, d'une part, un bloc résultant de la concaténation d'un bloc non-entrelacé constitué des valeurs Zkj prises par l'information extrinsèque et d'un bloc entrelacé constitué des valeurs ZIj prises par l'information
extrinsèque et, d'autre part, un bloc résultant de la concaténation d'un bloc non-
entrelacé constitué des variables de décision Akj et d'un bloc entrelacé constitué des
variables de décision Aij.
Le bloc d'informations extrinsèques d'un moyen d'itération d'un ordre j est délivré à l'entrée correspondante du moyen d'itération d'ordre juste supérieur Le bloc initial (Z,0,Z,,0) vaut (0,0) quel que soit l'indice k ou i. Quant au bloc de variables de décision
4 2785740
(Akj,Aij), il n'est pas exploité, à l'exception du dernier bloc (AkNi,Ai, Ni) qui constitue le
signal de sortie du décodeur.
A la Fig. 2b, on a représenté un moyen d'itération utilisé dans le décodeur de la Fig. 2a. Il est constitué d'un décodeur élémentaire 22 recevant, sur ses entrées respectives, chaque valeur Zkj-t et Zij-I du bloc concaténé d'informations extrinsèques (Zkji,Zij4), chaque valeur Xk et Xi du bloc concaténé d'informations systématiques (Xk,XJ) et chaque valeur codée Yk et Yi du bloc concaténé d'informations codées (Yk, Yi). Le décodeur élémentaire 22 est généralement du type SOVA (Soft Output Viterbi Algorithm = algorithme de Viterbi à sortie souple), MAP (Maximum A Priori) ou Log MAP (Logarithme maximum a priori) Pour chaque indice temporel k et i, le décodeur élémentaire 22 calcule, d'une part, deux valeurs d'information extrinsèque Wkj et Wij et, d'autre part, deux valeurs de
variable de décision Akj et Aij. Ces valeurs forment respectivement des blocs non-
entrelacés et entrelacés qui sont concaténés afin de former des blocs (Wkj, W1j) et (Akj,Aij). Ces blocs sont de longueur 2N dans le même format que les entrées. Ces blocs sont utilisés pendant l'itération suivante pour la même information mais à des instants différents grâce à un entrelaceur 23 qui fonctionne de telle sorte que l'information extrinsèque Wkj, devenue Zij à l'itération suivante, est utilisée à l'instant f'(k) et l'information extrinsèque Wij, devenue Zkj à l'itération suivante, est utilisée à l'instant f'(i), f étant la loi d'entrelacement de l'entrelaceur 23. Ce dernier délivre alors
un bloc concaténé d'information extrinsèque noté (ZkJ,.,ZiJ-I).
Avec ce type de décodeur élémentaire, le treillis est dans son état zéro avant l'arrivée du premier bit et après le dernier bit du bloc. Cette information est utilisée
pour l'initialisation des paramètres de l'algorithme de décodage, quel qu'il soit.
De même qu'au codage, un seul codeur élémentaire est utilisé, ici un seul
décodeur élémentaire à entrées et sorties pondérées est utilisé de façon itérative.
On notera qu'avec ce type de décodeur, l'information extrinsèque produite pendant chaque demi-itération est utilisée pendant l'autre demi- itération de l'itération suivante. On appelle demi-itération le décodage des N premiers (ou des N derniers) bits
du bloc traité.
Le but de la présente invention est de proposer un procédé de décodage de turbo-codes orientés trames qui soit plus performant que le procédé de décodage décrit
ci-dessus sans augmentation notable de la complexité.
2785740
A cet effet, un décodeur un premier mode de réalisation de l'invention est constitué d'une pluralité de moyens d'itération, chaque moyen d'itération étant constitué d'un premier décodeur élémentaire prévu pour recevoir les valeurs systématiques pondérées non-entrelacées du bloc concaténé de valeurs systématiques, les valeurs codées non- entrelacées du bloc concaténé de valeurs codées et les valeurs extrinsèques non-entrelacées délivrées par le moyen d'itération de niveau juste inférieur et pour délivrer un bloc de valeurs extrinsèques et d'un second décodeur élémentaire qui est prévu pour recevoir les valeurs systématiques pondérées entrelacées du bloc concaténé de valeurs systématiques, les valeurs codées entrelacées du bloc concaténé de valeurs codées et les valeurs extrinsèques délivrées par le premier décodeur élémentaire et préalablement entrelacées et pour délivrer des valeurs extrinsèques et des valeurs de décision qui sont ensuite désentrelacées pour être seules délivrées au moyen d'itération de niveau juste supérieur, les valeurs de décision délivrées par le dernier moyen
d'itération constituant la sortie dudit décodeur.
Selon un autre mode de réalisation de l'invention, ledit décodeur est prévu pour recevoir un bloc de valeurs systématiques pondérées nonentrelacées et un bloc concaténé de valeurs codées pondérées nonentrelacées et de valeurs codées pondérées entrelacées et pour délivrer un bloc de variables de décision. Il est alors caractérisé en ce qu'il comprend un entrelaceur/concaténeur prévu, d'une part, pour entrelacer lesdites valeurs systématiques afin de former des valeurs systématiques entrelacées et, d'autre part, pour concaténer les valeurs systématiques non-entrelacées avec lesdites valeurs systématiques entrelacées, une pluralité de moyens d'itération, chaque moyen d'itération étant constitué d'un premier décodeur élémentaire prévu pour recevoir les valeurs systématiques pondérées non-entrelacées du bloc concaténé de valeurs systématiques, les valeurs codées non- entrelacées du bloc concaténé de valeurs codées et les valeurs extrinsèques non-entrelacées délivrées par le moyen d'itération de niveau juste inférieur et pour délivrer un bloc de valeurs extrinsèques et d'un second décodeur élémentaire qui est prévu pour recevoir les valeurs systématiques pondérées entrelacées du bloc concaténé de valeurs systématiques, les valeurs codées entrelacées du bloc concaténé de valeurs codées et les valeurs extrinsèques délivrées par le premier décodeur élémentaire et préalablement entrelacées et pour délivrer des valeurs extrinsèques et des valeurs de décision qui sont ensuite désentrelacées pour être seules délivrées au moyen d'itération de niveau juste supérieur, les valeurs de décision délivrées par le
dernier moyen d'itération constituant la sortie dudit décodeur.
6 2785740
Selon un autre mode de réalisation, ledit décodeur est prévu pour recevoir un bloc concaténé de valeurs systématiques pondérées non- entrelacées et de valeurs systématiques pondérées entrelacées, d'un bloc concaténé de valeurs codées pondérées et de valeurs codées pondérées entrelacées et un délivrer un bloc de valeurs de décision. Il est alors caractérisé en ce qu'il comprend une pluralité de moyens d'itération, chaque moyen d'itération étant constitué de moyens de déconcaténation prévus pour recevoir sur leurs entrées le bloc concaténé de valeurs systématiques et le bloc concaténé de valeurs codées et pour respectivement délivrer, d'une part, un bloc de valeurs systématiques non-entrelacées concaténées aux premières valeurs systématiques entrelacées et, d'autre part, un bloc de valeurs codées non-entrelacées concaténées aux premières valeurs codées entrelacées, d'un premier décodeur élémentaire prévu pour recevoir lesdits blocs de valeurs systématiques et de valeurs codées respectivement délivrés par lesdits moyens de déconcaténation ainsi que les valeurs extrinsèques non- entrelacées délivrées par le moyen d'itération de niveau juste inférieur et pour délivrer un bloc de valeurs extrinsèques, et d'un second décodeur élémentaire qui est prévu pour recevoir les valeurs systématiques pondérées entrelacées du bloc concaténé de valeurs systématiques, les valeurs codées entrelacées du bloc concaténé de valeurs codées et les valeurs extrinsèques délivrées par le premier décodeur élémentaire et préalablement entrelacées et pour délivrer des valeurs extrinsèques et des valeurs de décision qui sont ensuite désentrelacées pour être seules délivrées au moyen d'itération de niveau juste supérieur, les valeurs de décision
délivrées par le dernier moyen d'itération constituant la sortie dudit décodeur.
Selon un autre mode de réalisation de l'invention, ledit décodeur est prévu pour recevoir un bloc de valeurs systématiques pondérées nonentrelacées et un bloc concaténé de valeurs codées pondérées nonentrelacées et de valeurs codées pondérées entrelacées et pour délivrer un bloc de variables de décision. Il est alors caractérisé en ce qu'il comprend un entrelaceur/concaténeur prévu, d'une part, pour entrelacer lesdites valeurs systématiques afin de former des valeurs systématiques entrelacées et, d'autre part, pour concaténer les valeurs systématiques non-entrelacées avec lesdites valeurs systématiques entrelacées, une pluralité de moyens d'itération, une pluralité de moyens d'itération, chaque moyen d'itération étant constitué de moyens de déconcaténation prévus pour recevoir sur leurs entrées le bloc concaténé de valeurs systématiques et le bloc concaténé de valeurs codées et pour respectivement délivrer, d'une part, un bloc de valeurs systématiques non-entrelacées concaténées aux premières valeurs
7 2785740
systématiques entrelacées et, d'autre part, un bloc de valeurs codées non-entrelacées concaténées aux premières valeurs codées entrelacées, d'un premier décodeur élémentaire prévu pour recevoir lesdits blocs de valeurs systématiques et de valeurs codées délivrés par lesdits moyens de déconcaténation ainsi que les valeurs extrinsèques non-entrelacées délivrées par le moyen d'itération de niveau juste inférieur et pour délivrer un bloc de valeurs extrinsèques, et d'un second décodeur élémentaire qui est prévu pour recevoir les valeurs systématiques pondérées entrelacées du bloc concaténé de valeurs systématiques, les valeurs codées entrelacées du bloc concaténé de valeurs codées et les valeurs extrinsèques délivrées par le premier décodeur élémentaire et préalablement entrelacées et pour délivrer des valeurs extrinsèques et des valeurs de décision qui sont ensuite désentrelacées pour être seules délivrées au moyen d'itération de niveau juste supérieur, les valeurs de décision délivrées par le
dernier moyen d'itération constituant la sortie dudit décodeur.
Selon un autre mode de réalisation de l'invention, ledit décodeur est prévu pour recevoir un bloc concaténé de valeurs systématiques pondérées non-entrelacées et de valeurs systématiques pondérées entrelacées, d'un bloc concaténé de valeurs codées pondérées et de valeurs codées pondérées entrelacées et pour délivrer un bloc de valeurs de décision, caractérisé en ce qu'il comprend une pluralité de moyens d'itération, chaque moyen d'itération étant constitué de moyens de déconcaténation prévus pour recevoir sur leurs entrées le bloc concaténé de valeurs systématiques et le bloc concaténé de valeurs codées et pour respectivement délivrer, d'une part, un bloc constitué des dernières valeurs systématiques non-entrelacées concaténées aux valeurs systématiques entrelacées et, d'autre part, un bloc constitué des dernières valeurs codées non-entrelacées concaténées aux valeurs codées entrelacées, d'un premier décodeur élémentaire prévu pour recevoir lesdits blocs de valeurs systématiques et de valeurs codées respectivement délivrés par lesdits moyens de déconcaténation ainsi que les valeurs extrinsèques entrelacées délivrées par le moyen d'itération de niveau juste inférieur et pour délivrer un bloc de valeurs extrinsèques, et d'un second décodeur
élémentaire qui est prévu pour recevoir les valeurs systématiques pondérées non-
entrelacées du bloc concaténé de valeurs systématiques, les valeurs codées non-
entrelacées du bloc concaténé de valeurs codées et les valeurs extrinsèques délivrées par le premier décodeur élémentaire et préalablement désentrelacées et pour délivrer des valeurs extrinsèques et des valeurs de décision qui sont ensuite entrelacées pour
*8 2785740
être seules délivrées au moyen d'itération de niveau juste supérieur, les valeurs de
décision délivrées par le dernier moyen d'itération constituant la sortie dudit décodeur.
Selon un autre mode de réalisation de l'invention, ledit décodeur est prévu pour recevoir un bloc de valeurs systématiques pondérées et un bloc concaténé de valeurs codées pondérées non-entrelacées et de valeurs codées pondérées entrelacées et pour délivrer un bloc de variables de décision, caractérisé en ce qu'il comprend un entrelaceur/concaténeur prévu, d'une part, pour entrelacer lesdites valeurs systématiques afin de former des valeurs systématiques entrelacées et, d'autre part, pour concaténer les valeurs systématiques non-entrelacées avec lesdites valeurs systématiques entrelacées, une pluralité de moyens d'itération, et une pluralité de moyens d'itération, chaque moyen d'itération étant constitué de moyens de déconcaténation prévus pour recevoir sur leurs entrées le bloc concaténé de valeurs systématiques et le bloc concaténé de valeurs codées et pour respectivement délivrer, d'une part, un bloc constitué des dernières valeurs systématiques non-entrelacées concaténées aux valeurs systématiques entrelacées et, d'autre part, un bloc constitué des dernières valeurs codées non-entrelacées concaténées aux premières valeurs codées entrelacées, d'un premier décodeur élémentaire prévu pour recevoir lesdits blocs de valeurs systématiques et de valeurs codées respectivement délivrés par lesdits moyens de déconcaténation ainsi que les valeurs extrinsèques entrelacées délivrées par le moyen d'itération de niveau juste inférieur et pour délivrer un bloc de valeurs extrinsèques, et d'un second décodeur élémentaire qui est prévu pour recevoir les valeurs systématiques pondérées non-entrelacées du bloc concaténé de valeurs systématiques, les valeurs codées non- entrelacées du bloc concaténé de valeurs codées et les valeurs extrinsèques délivrées par le premier décodeur élémentaire et préalablement désentrelacées et pour délivrer des valeurs extrinsèques et des valeurs de décision qui sont ensuite entrelacées pour être seules délivrées au moyen d'itération de niveau juste supérieur, les valeurs de décision délivrées par le dernier moyen d'itération
constituant la sortie dudit décodeur.
Selon une autre caractéristique de l'invention, les valeurs extrinsèques délivrées par chaque moyen d'itération sont concaténées aux premières valeurs extrinsèques entrelacées délivrées par le premier décodeur élémentaire, Selon une autre caractéristique de l'invention, les valeurs extrinsèques délivrées par chaque moyen d'itération sont concaténées aux dernières valeurs extrinsèques
entrelacées délivrées par le second décodeur élémentaire.
9 2785740
Selon une autre caractéristique de l'invention, lesdits premier et second
décodeurs élémentaires sont des décodeurs de codes convolutionnels systématiques.
La présente invention concerne également un procédé de décodage de codes
correcteurs d'erreurs, tels que des turbo-codes orientés trames.
Selon un premier mode de mise en oeuvre de l'invention, lesdits codes sont constitués d'un bloc concaténé de valeurs systématiques pondérées non-entrelacées et de valeurs systématiques pondérées entrelacées, d'un bloc concaténé de valeurs codées pondérées et de valeurs codées pondérées entrelacées, pour délivrer un bloc de valeurs de décision. Ledit procédé consiste alors à procéder à une pluralité d'itérations, chaque itération consistant à effectuer un premier décodage élémentaire des valeurs systématiques pondérées non-entrelacées du bloc concaténé de valeurs systématiques, des valeurs codées non-entrelacées du bloc concaténé de valeurs codées et des valeurs extrinsèques non- entrelacées déterminées à l'itération précédente et à ainsi déterminer un bloc de valeurs extrinsèques et à effectuer une second décodage élémentaire des valeurs systématiques pondérées entrelacées du bloc concaténé de valeurs systématiques, des valeurs codées entrelacées du bloc concaténé de valeurs codées et des valeurs extrinsèques déterminées lors du premier décodage élémentaire et préalablement entrelacées et pour déterminer des valeurs extrinsèques et des valeurs de décision qui sont ensuite désentrelacées pour être seules utilisées à l'itération suivante, les valeurs de décision déterminées lors de la dernière itération constituant les valeurs
de décodage.
Selon un autre mode de mise en oeuvre de l'invention, lesdits codes sont constitués d'un bloc de valeurs systématiques pondérées non-entrelacées et d'un bloc concaténé de valeurs codées pondérées non-entrelacées et de valeurs codées pondérées entrelacées. Il est alors caractérisé en ce qu'il consiste à, d'une part, entrelacer lesdites valeurs systématiques afin de former des valeurs systématiques entrelacées et, d'autre part, pour concaténer les valeurs systématiques non-entrelacées avec lesdites valeurs systématiques entrelacées de manière à former un bloc concaténé de valeurs systématiques, à procéder à une pluralité d'itérations, chaque itération consistant à
effectuer un premier décodage élémentaire des valeurs systématiques pondérées non-
entrelacées dudit bloc concaténé de valeurs systématiques, des valeurs codées non-
entrelacées du bloc concaténé de valeurs codées et des valeurs extrinsèques non-
entrelacées déterminées à l'itération précédente et à ainsi déterminer un bloc de valeurs extrinsèques et à effectuer un second décodage élémentaire des valeurs systématiques
2785740
pondérées entrelacées du bloc concaténé de valeurs systématiques, des valeurs codées entrelacées du bloc concaténé de valeurs codées et des valeurs extrinsèques déterminées lors du premier décodage élémentaire et préalablement entrelacées et pour déterminer des valeurs extrinsèques et des valeurs de décision qui sont ensuite désentrelacées pour être seules utilisées à l'itération suivante, les valeurs de décision
déterminées lors de la dernière itération constituant les valeurs de décodage.
Selon un autre mode de mise en oeuvre de l'invention, lesdits codes sont constitués d'un bloc concaténé de valeurs systématiques pondérées nonentrelacées et de valeurs systématiques pondérées entrelacées, d'un bloc concaténé de valeurs codées pondérées et de valeurs codées pondérées entrelacées, pour délivrer un bloc de valeurs de décision. Il est alors caractérisé en ce qu'il consiste à procéder à une pluralité d'itérations, chaque itération consistant à déconcaténer le bloc concaténé de valeurs systématiques et le bloc concaténé de valeurs codées et pour respectivement délivrer, d'une part, un bloc de valeurs systématiques non-entrelacées concaténées aux premières
valeurs systématiques entrelacées et, d'autre part, un bloc de valeurs codées non-
entrelacées concaténées aux premières valeurs codées entrelacées, à effectuer un premier décodage élémentaire des valeurs systématiques et des valeurs codées desdits blocs précédemment obtenus ainsi que des valeurs extrinsèques non-entrelacées déterminées à l'itération précédente et à déterminer un bloc de valeurs extrinsèques et à effectuer une second décodage élémentaire des valeurs systématiques pondérées entrelacées du bloc concaténé de valeurs systématiques, des valeurs codées entrelacées du bloc concaténé de valeurs codées et des valeurs extrinsèques déterminées lors du premier décodage élémentaire et préalablement entrelacées et pour déterminer des valeurs extrinsèques et des valeurs de décision qui sont ensuite désentrelacées pour être seules utilisées à l'itération suivante, les valeurs de décision déterminées lors de la
dernière itération constituant les valeurs de décodage.
Selon un autre mode de mise en oeuvre dudit procédé de décodage, lesdits codes sont constitués d'un bloc de valeurs systématiques pondérées non-entrelacées et d'un bloc concaténé de valeurs codées pondérées nonentrelacées et de valeurs codées pondérées entrelacées. Il est alors caractérisé en ce qu'il consiste à, d'une part, entrelacer lesdites valeurs systématiques afin de former des valeurs systématiques entrelacées et, d'autre part, pour concaténer les valeurs systématiques non-entrelacées avec lesdites valeurs systématiques entrelacées de manière à former un bloc concaténé de valeurs systématiques, à procéder à une pluralité d'itérations, chaque itération
I 1 2785740
consistant à déconcaténer ledit bloc concaténé de valeurs systématiques et le bloc concaténé de valeurs codées et pour respectivement délivrer, d'une part, un bloc de valeurs systématiques non-entrelacées concaténées aux premières valeurs systématiques entrelacées et, d'autre part, un bloc de valeurs codées non-entrelacées concaténées aux premières valeurs codées entrelacées, a effectuer un premier décodage élémentaire des valeurs systématiques et des valeurs codées desdits blocs précédemment obtenus ainsi que des valeurs extrinsèques non-entrelacées déterminées à l'itération précédente et à déterminer un bloc de valeurs extrinsèques et à effectuer un second décodage élémentaire des valeurs systématiques pondérées entrelacées du bloc concaténé de valeurs systématiques, des valeurs codées entrelacées du bloc concaténé de valeurs codées et des valeurs extrinsèques déterminées lors du premier décodage élémentaire et préalablement entrelacées et pour déterminer des valeurs extrinsèques et des valeurs de décision qui sont ensuite désentrelacées pour être seules utilisées à l'itération suivante, les valeurs de décision déterminées lors de la
dernière itération constituant les valeurs de décodage.
Selon un autre mode de mise en oeuvre de l'invention, lesdits codes sont constitués d'un bloc concaténé de valeurs systématiques pondérées nonentrelacées et de valeurs systématiques pondérées entrelacées, d'un bloc concaténé de valeurs codées pondérées et de valeurs codées pondérées entrelacées, pour délivrer un bloc de décision. Il est alors caractérisé en ce qu'il consiste à procéder à une pluralité d'itérations, chaque itération consistant à déconcaténer le bloc concaténé de valeurs systématiques et le bloc concaténé de valeurs codées et afin de déterminer, d'une part, un bloc constitué des dernières valeurs systématiques non-entrelacées concaténées aux valeurs systématiques entrelacées et, d'autre part, un bloc constitué de valeurs codées nonentrelacées concaténées aux premières valeurs codées entrelacées, à effectuer un premier décodage élémentaire des blocs de valeurs systématiques et de valeurs codées précédemment déterminés ainsi que des valeurs extrinsèques entrelacées déterminées à l'itération précédente et à déterminer un bloc de valeurs extrinsèques et à effectuer un second décodage élémentaire des valeurs systématiques pondérées non-entrelacées du bloc concaténé de valeurs systématiques, des valeurs codées nonentrelacées du bloc concaténé de valeurs codées et des valeurs extrinsèques déterminées lors du premier décodage élémentaire et préalablement désentrelacées et pour déterminer des valeurs extrinsèques et des valeurs de décision qui sont ensuite entrelacées pour être seules
12 2785740
utilisées à l'itération suivante, les valeurs de décision déterminées lors de la dernière
itération constituant les valeurs de décodage.
Selon un autre mode de mise en oeuvre du procédé de décodage de l'invention,
lesdits codes sont constitués d'un bloc de valeurs systématiques pondérées non-
entrelacées et d'un bloc concaténé de valeurs codées pondérées nonentrelacées et de valeurs codées pondérées entrelacées, pour délivrer un bloc de décision. Il est alors caractérisé en ce qu'il consiste à, d'une part, entrelacer lesdites valeurs systématiques afin de former des valeurs systématiques entrelacées et, d'autre part, pour concaténer les valeurs systématiques non-entrelacées avec lesdites valeurs systématiques entrelacées de manière à former un bloc concaténé de valeurs systématiques, à procéder à une pluralité d'itérations, chaque itération consistant à déconcaténer le bloc concaténé de valeurs systématiques et le bloc concaténé de valeurs codées et afin de
déterminer, d'une part, un bloc constitué des dernières valeurs systématiques non-
entrelacées concaténées aux valeurs systématiques entrelacées et, d'autre part, un bloc constitué de valeurs codées non-entrelacées concaténées aux premières valeurs codées entrelacées, à effectuer un premier décodage élémentaire des blocs de valeurs systématiques et de valeurs codées précédemment déterminés ainsi que des valeurs extrinsèques entrelacées déterminées à l'itération précédente et à déterminer un bloc de valeurs extrinsèques et à effectuer une second décodage élémentaire des valeurs systématiques pondérées non- entrelacées du bloc concaténé de valeurs systématiques, des valeurs codées non-entrelacées du bloc concaténé de valeurs codées et des valeurs extrinsèques déterminées lors du premier décodage élémentaire et préalablement désentrelacées et pour déterminer des valeurs extrinsèques et des valeurs de décision qui sont ensuite entrelacées pour être seules utilisées à l'itération suivante, les valeurs de décision déterminées lors de la dernière itération constituant les valeurs de décodage. Selon une autre caractéristique de l'invention, il consiste à concaténer les valeurs extrinsèques déterminées à itération aux premières valeurs extrinsèques entrelacées
déterminées lors du premier décodage élémentaire de ladite itération.
Selon une autre caractéristique de l'invention, il consiste à concaténer les valeurs extrinsèques déterminées à itération aux dernières valeurs extrinsèques entrelacées
déterminées lors du second décodage élémentaire de ladite itération.
Les caractéristiques de l'invention mentionnées ci-dessus, ainsi que d'autres,
apparaîtront plus clairement à la lecture de la description suivante d'exemples de
13 2785740
réalisation, ladite description étant faite en relation avec les dessins joints, parmi
lesquels: la Fig. I est un schéma synoptique d'un codeur destiné à former des turbo-codes orientés trames, appelés également FOCTC (en anglais: "Frame Oriented Convolutional Turbo Codes"), les Figs. 2a et 2b présentent respectivement le schéma synoptique d'un décodeur de turbo- codes orientés trames selon l'état de la technique et le schéma synoptique d'un moyen d'itération constituant un tel décodeur, les Figs. 3a, 3b et 3c présentent respectivement le schéma synoptique d'un décodeur de turbo-codes orientés trames selon invention et les schémas synoptiques des moyens d'itération constituant un tel décodeur respectivement dans un premier et un second mode, la Fig. 4 est un diagramme illustrant les deux étapes qui sont mises en oeuvre dans un procédé de décodage selon un premier mode de l'invention, et la Fig. 5 est un diagramme illustrant les deux étapes qui sont mises en oeuvre
dans un procédé de décodage selon un second mode de l'invention.
On rappelle qu'un décodeur selon l'invention constitue un élément d'un récepteur et qu'il reçoit du démodulateur dudit récepteur qui se trouve à son amont, d'une part, N valeurs systématiques pondérées Xk (k = I à N) à et, d'autre part, N valeurs codées pondérées non-entrelacées Yk (k = 1 à N) concaténées à N valeurs codées pondérées entrelacées Yi (i = I à N) de manière à former un bloc codé concaténé de 2N valeurs (Yk, Yi). Les valeurs Xk, Yk et Yi correspondent respectivement aux bits xk, yk et yi obtenus après un codage de type FOCTC et préalablement normalisées On rappelle que le bloc qui contient N valeurs Xk (k = I à N) est celui qui est à coder, les blocs de N valeurs codées yk et yi sont respectivement obtenus par codage RSC, d'une part, du bloc à coder lui- même (contenant N valeurs xk (k = 1 à N), d'autre
part, du bloc à coder préalablement entrelacé (contenant N valeurs xi (i =I à N).
Le décodeur selon l'invention représenté à la Fig. 3a est constitué de Ni moyens d'itération 30j (j variant de I à Ni) et d'un entrelaceur 31 qui effectue, d'une part, l'entrelacement des N valeurs Xk pour former un bloc entrelacé de N valeurs Xi et, d'autre part, la concaténation du bloc entrelacé de N valeurs X, avec le bloc d'origine des N valeurs Xk afin de former un bloc concaténé noté (Xk, Xi) (sous- entendu k,i = I à N). Chaque moyen d'itération de décodage 30j (j variant de I à Ni) reçoit, sur des entrées respectives, le bloc concaténé (Xk, Xi) issu de l'entrelaceur 31, le bloc
14 2785740
concaténé des valeurs de codage (Yk, Yi) et un bloc contenant l'information extrinsèque noté (Zkj-) (sous entendu k = 1 à N) délivré par le moyen d'itération 30j-1 de niveau juste inférieur. Chaque moyen d'itération 30j délivre un bloc d'informations
extrinsèques (Zkj) ainsi qu'un bloc de variables de décision (Akj).
Le bloc d'informations extrinsèques (Zk,j) d'un moyen d'itération 30j d'ordre j est délivré à l'entrée correspondante du moyen d'itération 30 j+ 1 d'ordre juste supérieur. Le dernier bloc extrinsèque (Zk,Ni) n'est pas exploité ce qui est représenté par trois traits horizontaux superposés de tailles décroissantes. Le bloc initial (Zk,0) vaut 0 quel que soit l'indice k ou i. Chaque moyen d'itération délivre également un bloc de décision (Ak) (il n'est pas entrelacé). Seul le dernier (Ak, Ni) est exploité puisqu'il représente la valeur de décision concernant les valeurs du bloc (Xk) décodé. Le bloc (Ak,Ni) constitue
le signal de sortie du décodeur.
On notera que le nombre de valeurs extrinsèques Zkj à propager d'itération en itération est deux fois plus faible que dans les décodeurs de l'état de la technique tel
que celui qui est représenté à la Fig. 2a.
On a représenté à la Fig. 3b la structure d'un moyen d'itération 30j d'un décodeur selon la présente invention. Il comporte des premiers moyens de déconcaténation 32 et 33 identiques recevant respectivement sur leurs entrées le bloc concaténé (Xk, Xi) et le bloc concaténé (Yk, Yi). Les moyens de déconcaténation 32 et 33 sont respectivement prévus pour sélectionner les N premières valeurs (Xk avec k = 1 à N) du bloc concaténé (Xk, Xi) de 2N valeurs en entrée et pour les délivrer sur les entrées
correspondantes d'un premier décodeur élémentaire 34.
Le premier décodeur élémentaire 34 effectue la première étape de décodage (appelée ici première demi-itération) et génère en sortie un bloc de N valeurs extrinsèques Z'kj qu'il entrelace en Z'ij avant de le délivrer au second décodeur
élémentaire 35.
Un moyen d'itération 30j selon l'invention comporte encore des seconds moyens de déconcaténation 36 et 37 identiques recevant respectivement sur leurs entrées le bloc des valeurs concaténées (Xk, Xi) concaténées et le bloc de valeurs concaténées (Yk, Yi) et qui sélectionnent les N dernières valeurs Xi et Yi du bloc correspondant
pour les délivrer aux entrées correspondantes du second décodeur élémentaire 35.
Le second décodeur élémentaire 35 effectue la deuxième étape de décodage (appelée ici deuxième demi-itération). Il génère N valeurs extrinsèques Z"lij et N variables de décision Aij. Chacun des deux blocs correspondants (Z"jJ) et (A1J) est
2785740
ensuite désentrelacé. Le second décodeur 35 délivre en sortie un bloc de N valeurs
extrinsèques (Zk,j) non-entrelacé et un bloc de N variables de décision (Ak,j) non-
entrelacé qu'il délivre aux moyens d'itération de rang supérieur (voir Fig. 3a).
Les décodeurs 34 et 35 peuvent être de tout type permettant de décoder des codes convolutionnels systématiques tels que des décodeurs de type MAP (Maximum A Priori) tel que celui que décrit A.S.Barbulescu dans une thèse intitulée "Iterative Decoding of Turbo Codes and other Concatenated Codes" soumis à l'Université d'Australie du sud, LogMAP (Logarithme Maximum A Priori) tel que celui que décrit A.S.Barbulescu dans un article intitulé "A Simplification of the Modified Bahl Decoding Algorithme for Systematic Convolutional Codes" paru dans International Symposium for Information Theory and its Applications de novembre 1994, pages 1073 à 1077 ou SOVA (Soft Output Viterbi Algorithm) tel que celui que décrit C.Berrou dans un article intitulé "A low complexity soft-output Viterbi decoder
architecture" paru dans ICC'93 de mai 1993.
Dans le mode de mise en oeuvre décrit jusqu'ici, lors de la première demi-
itération, le treillis est dans l'état 0 au début du bloc de longueur N et dans un état inconnu à la fin de ce bloc. Lors de la seconde demiitération, le treillis est dans l'état 0
à la fin du bloc et dans un état déduit de la première demi-itération au début du bloc.
Ainsi, selon l'invention, l'information extrinsèque produite par la première demi-
itération sert à la seconde demi-itération au sein de la même itération de décodage. En effet, les blocs de 2N bits considérés précédemment (aux extrémités desquels on sait que le treillis est dans l'état zéro) sont décodés en deux étapes (ou demi-itération), la
première servant à la deuxième.
On a représenté à la Fig. 3c, la structure d'un moyen d'itération 30j d'un décodeur selon une variante de réalisation de la présente invention Selon cette variante, les premiers moyens de déconcaténation 32' et 33' sont respectivement prévus pour sélectionner les N + D premières valeurs du bloc concaténé (Xk,Xi) (Yk,Yi) de 2N valeurs en entrée et les délivrer sur les entrées correspondantes du premier décodeur élémentaire 34', sous la forme de blocs que l'on a notés (Xn) et (Yn). D est un entier inférieur à N et dont la valeur dépend entre autres du type de canal de transmission et du rendement du code utilisé (D est d'autant plus grand que le rendement est grand) Quant aux moyens 36' et 37', ils sont identiques à ceux qui ont été décrits en relation avec la Fig. 3b. Enfin, le décodeur élémentaire 35' délivre non pas un bloc de N
16 2785740
valeurs (Zk,j) comme dans l'exemple précédent, mais un bloc de N + D valeurs que l'on
nomme (Znj). On explicitera ci-dessous comment sont déterminées les D valeurs.
On notera que le treillis est dans l'état zéro au début du bloc et dans un état a priori inconnu à la fin du bloc. Le fait d'utiliser les N + D valeurs des blocs concaténés permet de lever l'indétermination sur l'état du treillis au milieu desdits blocs de 2N valeurs. Les N bits effectivement décodés bénéficient donc de la terminaison du treillis
à une extrémité et d'une bonne connaissance de son état à l'autre extrémité.
On a illustré le fonctionnement d'un décodeur selon l'invention à la Fig. 4. Le décodeur concerné ici est du type o les moyens de déconcaténation 32' et 33' utilisés sélectionnent les N + D valeurs des blocs concaténés (Xk, Xi) et (Yk, Yi). Sur cette Fig. 4, on a représenté les blocs (Xk) et (Xi), les blocs (Yk) et (Yi) et le bloc (Zn, j-1) tels qu'ils se présentent aux entrées des décodeurs élémentaires 34' et 35'. Les blocs
(Xi) et (Yi) ont été dupliqués pour la lisibilité de la Fig. 4.
La première étape I consiste à décoder (voir flèche A) les N premières valeurs des blocs concaténés (Xk, Xi) et (Yk, Yi) en sélectionnant, par les moyens 32', les N + D premières valeurs du bloc systématique (Xk, Xi) ainsi que les N+ D valeurs du bloc concaténé codé (Yk, Yi) respectivement en provenance du démodulateur, ainsi que les N t D valeurs extrinsèques du bloc concaténé (Zn,j-1) en provenance de l'itération précédente (on notera que Zn,0 = 0). Les N valeurs extrinsèques Z'k,j qui correspondant aux N valeurs décodées sont entrelacées (voir flèche B) pour devenir le
bloc Z'i,j qui est utilisé à l'étape suivante.
La seconde étape II consiste à utiliser les N valeurs extrinsèques Z'i,j produites par la première étape conjointement avec les N dernières valeurs du bloc concaténés systématique (Xk, Xi) et celles du bloc concaténé codé (Yk, Yi). Le treillis est dans l'état zéro à la fin du bloc et son état au milieu du bloc de 2N éléments peut être connu de la première étape. L'information sur cet état est utilisée pour l'initialisation des
paramètres du second décodeur élémentaire.
Cette seconde étape II permet ainsi de générer N variables de décision A"i,j et N informations extrinsèques Z"i,j (voir flèche C) qui sont ensuite désentrelacées (voir
flèches D) pour se présenter sous la forme de blocs (Akj) et (Zk,j).
Le procédé de l'invention représenté à la Fig. 4 consiste à concaténer (flèche E) au bloc de N valeurs extrinsèques Zk,j les D premières valeurs extrinsèques du bloc Z'i,j utilisées en entrée du second décodeur 35 ou les D premières valeurs extrinsèques
Z"i,j présentes en sortie du second décodeur 35 afin de former le bloc (Zn,j).
17 2785740
On a illustré le fonctionnement d'un autre décodeur selon l'invention à la Fig. 5.
A l'instar de la Fig. 4, on a représenté les blocs (Xk) et (Xi), les blocs (Yk) et (Yi) et le bloc de N + D valeurs Zn,j-1 tels qu'ils se présentent aux entrées des décodeurs élémentaires 34 et 35. Les blocs (Xi) et (Yi) ont été dupliquées pour la lisibilité de la Fig. 5. En relation avec cette Fig. 5, un autre mode de mise en oeuvre du procédé de l'invention est maintenant décrit. Selon cette mise en oeuvre, la première étape I consiste à décoder les N dernières valeurs du bloc systématique concaténé (Xk, Xi) et celles du bloc codé concaténé (Yk, Yi) en utilisant les N + D dernières valeurs du bloc systématique (Xk, Xi) ainsi que les N + D dernières valeurs du bloc concaténé codé (Yk, Yi) respectivement en provenance du démodulateur, ainsi que les N+D dernières valeurs extrinsèques du bloc (Znj-1) en provenance de l'itération précédente (On notera que Zn,0 = 0). Le treillis est dans l'état zéro à la fin du bloc et dans un état a
priori inconnu au début du bloc.
Le décodage (flèche A) effectué par le premier décodeur élémentaire 34 détermine un bloc d'informations extrinsèques de N valeurs Z'i,j qui est ensuite
désentrelacé (flèche B) pour donner un bloc (Z'k,j).
La seconde étape II consiste à utiliser les N valeurs extrinsèques Z'kj produites par la première étape I conjointement avec les N premières valeurs du bloc concaténé systématique (Xk,Xi) et celles du bloc codé (Yk,Yi). Le treillis est dans l'état zéro au début du bloc et son état au milieu du bloc de 2N éléments est connu de la première étape. L'information sur cet état est utilisée pour l'initialisation des paramètres du
second décodeur élémentaire.
Cette seconde étape permet de générer N variables de décision et N informations extrinsèques sous la forme de blocs (Akj) et (Z"k,j). Les N variables de décision Akj ne sont pas désentrelacées alors que les N informations extrinsèques Z"k,j le sont pour
former le bloc (Zij).
Le procédé de l'invention représenté à la Fig. 5 consiste encore à concaténer au bloc de N valeurs extrinsèques Zi,j les D dernières valeurs extrinsèques du bloc (Z'k,j) à l'entrée du second décodeur élémentaire 35 ou les D dernières valeurs extrinsèques
du bloc (Z"k,j) en sortie du dédodeur élémentaire 35.
On va maintenant décrire les différents étapes d'un procédé de décodage selon l'invention utilisant en tant que décodeurs élémentaires 34' et 35' des décodeurs du type LogMAP.
18 2785740
Comme cela est visible à la Fig. 4, les données en entrée du premier décodeur 34' du moyen d'itération 30j sont les suivantes: Bloc systématique: N valeurs pondérées Xk concaténées à D valeurs pondérées Xi Bloc codé: N valeurs pondérées Yk concaténées à D valeurs pondérées Yi Bloc d'information extrinsèque:
N valeurs extrinsèques Zk-1 concaténées à D valeurs extrinsèques Zij_1 = Z,-.
Le décodage (étape A de la Fig. 4) est effectué de la manière suivante.
On met à jour l'information a priori grâce à l'information extrinsèque au moyens des relations suivantes (2): X'k = Xk + Zkj-t et X'i = Xi + Zij-1 (2) On définit ensuite, pour le décodage proprement dit, les variables A'k(m) et B'k(m) au moyen des relations récursives suivantes (3) et (4): A'k (rn)=PR(Rkldk =I,Sk =m)+ E A1,( (m)) (3) j=0 B(m) = f+l ( (S (m))+PRQt+l =dk si =, Sk= S. (m)) (4) y=O avec: k indice temporel dans la séquence (k=I,..,N+D ici) t valeur binaire 0 ou I Rk=(X'k,Yk) symbole reçu à l'instant k dk bit d'information (systématique) décodé à l'instant k Sk état du codeur RSC à l'instant k m valeur possible de Sk (m=0,...,M-1) o M est le nombre d'états
du codeur RSC.
SJb(m) est l'état du codeur précédent l'état m si j est le bit reçu dans cet
état précédent.
S'f(m) est l'état suivant l'état m si i est le bit reçu dans cet état m.
E est un opérateur défini par x E y = min(x,y) -Ln(l+exp(- ly-xl)) et
19 2785740
L E X(mn) = X (O)EX(1)E...EX(L) (opération associative) m=O PR(&I.) = Ln((Pr(RkI.)) = P(X'1k.) + P(Ykl.) o P(X'kl.) et P(Ykl.) sont définies à partir des probabilités conditionnelles de transition du trellis pour les bits pondérés reçus systématiques X'k et codé Yk. Ces grandeurs sont calculées d'après les relations suivantes (5) à (8): P(X k lxk = 1)= -OEX k (5) P(}Xk Ix, = 0) = -4 E(- X'k) (6) P IYk = 1) =-0 E Y, (7) P(Yk yk = 0) =- E(-}k) (8)
o xk et yk sont les bits effectivement transmis.
L'opération de décodage du bloc se fait alors de la façon suivante. On initialise des coefficients A'k(m) et B'k(m) pour t = 0, 1, en accord avec la connaissance de l'état du codeur pour k=0 et k=N+D. On a donc: A'kA(S'b(0)) = O et A'k-A(S'b(m)) = MAX_FLOAT pour m = 1,..,M-1I car le codeur est dans l'état 0 en k=0 et B'k=N+D(S'b(m)) = Ln(M) pour m = 0,...,M-1 car le codeur est dans un état inconnu en k=N+D, MAXFLOAT étant une constante en théorie infinie que l'on fixe à une grande valeur. Puis, après avoir reçu toute la séquence de longueur N+D, on effectue le calcul récursif des coefficients [A'k(m)] k=l,...,N t=0,1 m=O,...,M-1I d'après l'équation (3),
puis des coefficients [B'k(m)] k--N+D,..., 1 t=0, 1 m=O,...,M- 1 d'après l'équation (4).
On calcule ensuite l'information extrinsèque [Wkj] k=1,...,N d'après la relation suivante (9): Wt, J =(E [A: (m1)+ B* (m))J-(E (A' (m)+ Bk (1 -X'k (9)
On entrelace ensuite le bloc des N valeurs Wkj en Z'ij.
Pour la seconde étape Il du procédé de l'invention, on procède de la manière
suivante. Les données en entrée du décodeur 35' sont les suivantes -
Bloc systématique: N valeurs pondérées Xi
2785740
Bloc codé: N valeurs pondérées Yi Bloc d'information extrinsèque:
N valeurs extrinsèques Z'ij.
On met à jour l'information a priori au moyen de l'information extrinsèque et de la relation suivante (10): X'i = Xi + Z'ij (10) Le décodage à proprement parlé du bloc se fait alors de la façon suivante. On initialise des coefficients A'j(m) et B'j(m) pour i = 0, 1, en accord avec la connaissance de l'état du codeur pour j=0 et j=N: A'jo(m) = A'k=N d'après l'étape précédente, et B'j=N(S'b(0)) = 0 et B'j=N(S'b(m)) = MAX_FLOAT pour i=0,1 m = 1,..,M-1 car le codeur est dans l'état 0 en j=N Après avoir reçu toute la séquence de longueur N, on effectue le calcul récursif des coefficients [A'j(m)] j=l,...,N t=0,l m=0,...,M-1 d'après l'équation (3), puis des
coefficients [B'j(m)] j=N- 1,..., =0,1 m=--0,...,M- 1 d'après l'équation (4).
On calcule la variable de décision [Aij] i=l,...,N et de l'information extrinsèque [Zij] i=l,...,N respectivement au moyen des relations suivantes (11) et (12): A,= ( (m)+B (m))J - ' ( (m)+ B (m)) (l) Z,, =Ai, -Xi (12)
On désentrelace ensuite le bloc des N valeurs A1j en N variables de décision Akj.
On désentrelace le bloc des N valeurs Zij en N variables extrinsèques Zkj. A ce
bloc de N valeurs on peut concaténer les D premiers Z'ij ou les D premiers Zij.
21 2785740

Claims (12)

REVENDICATIONS
1) Décodeur de codes correcteurs d'erreurs, tels que des turbo-codes orientés trames, ledit décodeur étant prévu pour recevoir un bloc concaténé de valeurs systématiques pondérées non-entrelacées et de valeurs systématiques pondérées entrelacées (Xk,Xi), d'un bloc concaténé de valeurs codées pondérées et de valeurs codées pondérées entrelacées (Yk,Yi) et pour délivrer un bloc de valeurs de décision, caractérisé en ce qu'il est constitué d'une pluralité de moyens d'itération (20f à 20N), chaque moyen d'itération (20j) étant constitué d'un premier décodeur élémentaire (34) prévu pour recevoir les valeurs systématiques pondérées non-entrelacées (Xk) du bloc concaténé de valeurs systématiques (Xk,Xi), les valeurs codées (Yk) non-entrelacées du bloc concaténé de valeurs codées (Yk,Yi) et les valeurs extrinsèques non-entrelacées (ZkjI) délivrées par le moyen d'itération de niveau juste inférieur (20jl) et pour délivrer un bloc de valeurs extrinsèques (Z'k,) et d'un second décodeur élémentaire (35) qui est prévu pour recevoir les valeurs systématiques pondérées entrelacées (Xi) du bloc concaténé de valeurs systématiques (Xk,Xi), les valeurs codées (Yi) entrelacées du bloc concaténé de valeurs codées (Yk,Yi) et les valeurs extrinsèques (Z'1j) délivrées par le premier décodeur élémentaire (34) et préalablement entrelacées et pour délivrer des valeurs extrinsèques (Zij) et des valeurs de décision (Aij) qui sont ensuite désentrelacées pour être seules délivrées au moyen d'itération de niveau juste supérieur (20j+,), les valeurs de décision (Ak,Ni) délivrées par le dernier moyen d'itération (20Ni)
constituant la sortie dudit décodeur.
2) Décodeur de codes correcteurs d'erreurs, tels que des turbo-codes orientés trames, ledit décodeur étant prévu pour recevoir un bloc de valeurs systématiques
pondérées non-entrelacées (Xk) et un bloc concaténé de valeurs codées pondérées non-
entrelacées et de valeurs codées pondérées entrelacées (Yk,Yi) et pour délivrer un bloc de variables de décision, caractérisé en ce qu'il comprend un entrelaceur/concaténeur (31) prévu, d'une part, pour entrelacer lesdites valeurs systématiques afin de former des valeurs systématiques entrelacées et, d'autre part, pour concaténer les valeurs systématiques non-entrelacées avec lesdites valeurs systématiques entrelacées afin de former un bloc concaténé de valeurs systématiques (Xk,Xi), une pluralité de moyens d'itération (20 à 20Ni), chaque moyen d'itération (20j) étant constitué d'un premier décodeur élémentaire (34) prévu pour recevoir les valeurs systématiques pondérées non-entrelacées du bloc concaténé de valeurs systématiques (Xk,Xi), les valeurs codées non-entrelacées du bloc concaténé de valeurs codées (Yk, Yi) et les valeurs extrinsèques
22 2785740
non-entrelacées (Zkj-) délivrées par le moyen d'itération (20j-1) de niveau juste inférieur et pour délivrer un bloc de valeurs extrinsèques (Z'kj) et d'un second décodeur élémentaire (35) qui est prévu pour recevoir les valeurs systématiques pondérées entrelacées du bloc concaténé de valeurs systématiques (Xk,Xi), les valeurs codées entrelacées du bloc concaténé de valeurs codées (Yk,Yi) et les valeurs extrinsèques (Z'ij) délivrées par le premier décodeur élémentaire (34) et préalablement entrelacées et pour délivrer des valeurs extrinsèques (Zi) et des valeurs de décision (Aij) qui sont ensuite désentrelacées pour être seules délivrées au moyen d'itération (20j,O) de niveau juste supérieur, les valeurs de décision (Ak,N.) délivrées par le dernier moyen d'itération
(20Ni) constituant la sortie dudit décodeur.
3) Décodeur de codes correcteurs d'erreurs, tels que des turbo-codes orientés trames, ledit décodeur étant prévu pour recevoir un bloc concaténé de valeurs systématiques pondérées non-entrelacées et de valeurs systématiques pondérées entrelacées (Xk,X1), d'un bloc concaténé de valeurs codées pondérées et de valeurs codées pondérées entrelacées (Yk,Yi) et pour délivrer un bloc de valeurs de décision, caractérisé en ce qu'il comprend une pluralité de moyens d'itération (20, à 20,), chaque moyen d'itération (20j) étant constitué de moyens de déconcaténation (32,33) prévus pour recevoir sur leurs entrées le bloc concaténé de valeurs systématiques (Xk-,Xi) et le bloc concaténé de valeurs codées (Yk,Yi) et pour respectivement délivrer, d'une part, un bloc (Xc) de valeurs systématiques non-entrelacées concaténées aux premières valeurs systématiques entrelacées et, d'autre part, un bloc (Y, ) de valeurs codées non-entrelacées concaténées aux premières valeurs codées entrelacées, d'un premier décodeur élémentaire (34) prévu pour recevoir lesdits blocs de valeurs systématiques (Xn) et de valeurs codées (Yn) respectivement délivrés par lesdits moyens de déconcaténation (32, 33) ainsi que les valeurs extrinsèques non- entrelacées (Zkj-l) délivrées par le moyen d'itération (20,,) de niveau juste inférieur et pour délivrer un bloc de valeurs extrinsèques (Z'kj), et d'un second décodeur élémentaire (35) qui est prévu pour recevoir les valeurs systématiques pondérées entrelacées du bloc concaténé de valeurs systématiques (Xk,Xi), les valeurs codées entrelacées du bloc concaténé de valeurs codées (Yk,Yi) et les valeurs extrinsèques (Z'Xj) délivrées par le premier décodeur élémentaire (35) et préalablement entrelacées et pour délivrer des valeurs extrinsèques et des valeurs de décision qui sont ensuite désentrelacées pour être seules délivrées au moyen d'itération (20j,.) de niveau juste supérieur, les valeurs de
23 2785740
décision (AkNi) délivrées par le dernier moyen d'itération (2ONi) constituant la sortie
dudit décodeur.
4) Décodeur de codes correcteurs d'erreurs, tels que des turbo-codes orientés trames, ledit décodeur étant prévu pour recevoir un bloc de valeurs systématiques pondérées non-entrelacées et un bloc concaténé de valeurs codées pondérées non- entrelacées et de valeurs codées pondérées entrelacées (Yk,Yi) et pour délivrer un bloc de variables de décision, caractérisé en ce qu'il comprend un entrelaceur/concaténeur (31) prévu, d'une part, pour entrelacer lesdites valeurs systématiques afin de former des valeurs systématiques entrelacées et, d'autre part, pour concaténer les valeurs systématiques non-entrelacées avec lesdites valeurs systématiques entrelacées afin de former un bloc concaténé de valeurs systématiques (Xk,Xi), une pluralité de moyens d'itération (20 à 2ONi), chaque moyen d'itération (20j) étant constitué de moyens de déconcaténation (32,33) prévus pour recevoir sur leurs entrées le bloc concaténé de valeurs systématiques (Xk,Xi) et le bloc concaténé de valeurs codées (Yk,Yi) et pour
respectivement délivrer, d'une part, un bloc (Xc) de valeurs systématiques non-
entrelacées concaténées aux premières valeurs systématiques entrelacées et, d'autre part, un bloc (Y,) de valeurs codées non-entrelacées concaténées aux premières valeurs codées entrelacées, d'un premier décodeur élémentaire (34) prévu pour recevoir lesdits blocs de valeurs systématiques (X0) et de valeurs codées (Yn) respectivement délivrés
par lesdits moyens de déconcaténation (32, 33) ainsi que les valeurs extrinsèques non-
entrelacées (Zkj-i) délivrées par le moyen d'itération (20j,) de niveau juste inférieur et pour délivrer un bloc de valeurs extrinsèques (Z'kj), et d'un second décodeur élémentaire (35) qui est prévu pour recevoir les valeurs systématiques pondérées entrelacées du bloc concaténé de valeurs systématiques (Xk,Xi), les valeurs codées entrelacées du bloc concaténé de valeurs codées (Yk,Yi) et les valeurs extrinsèques (Z'1j) délivrées par le premier décodeur élémentaire (35) et préalablement entrelacées et pour délivrer des valeurs extrinsèques et des valeurs de décision qui sont ensuite désentrelacées pour être seules délivrées au moyen d'itération (20jp) de niveau juste supérieur, les valeurs de décision (A.Ni) délivrées par le dernier moyen d'itération
(20N) constituant la sortie dudit décodeur.
) Décodeur de codes correcteurs d'erreurs, tels que des turbo-codes orientés trames, ledit décodeur étant prévu pour recevoir un bloc concaténé de valeurs systématiques pondérées non-entrelacées et de valeurs systématiques pondérées entrelacées (Xk,Xi), d'un bloc concaténé de valeurs codées pondérées et de valeurs
24 2785740
codées pondérées entrelacées (Yk,Yi) et pour délivrer un bloc de valeurs de décision, caractérisé en ce qu'il comprend une pluralité de moyens d'itération (201 à 20N,), chaque moyen d'itération (20j) étant constitué de moyens de déconcaténation (32, 33) prévus pour recevoir sur leurs entrées le bloc concaténé de valeurs systématiques (Xk,Xi) et le bloc concaténé de valeurs codées et pour respectivement délivrer, d'une part, un bloc (Xa) constitué des dernières valeurs systématiques nonentrelacées concaténées aux valeurs systématiques entrelacées et, d'autre part, un bloc (Y,) constitué des dernières valeurs codées non- entrelacées concaténées aux valeurs codées entrelacées, d'un premier décodeur élémentaire (34) prévu pour recevoir lesdits blocs de valeurs systématiques (X.) et de valeurs codées (Y,) respectivement délivrés par lesdits moyens de déconcaténation (32 et 33) ainsi que les valeurs extrinsèques entrelacées (ZiJI) délivrées par le moyen d'itération (20, _) de niveau juste inférieur et pour délivrer un bloc de valeurs extrinsèques (Z'ij), et d'un second décodeur élémentaire (35) qui est prévu pour recevoir les valeurs systématiques pondérées non-entrelacées du bloc concaténé de valeurs systématiques (Xk,Xi), les valeurs codées non-entrelacées du bloc concaténé de valeurs codées (Yk,Yi) et les valeurs extrinsèques (Z'kj) délivrées par le premier décodeur élémentaire (34) et préalablement désentrelacées et pour délivrer des valeurs extrinsèques et des valeurs de décision qui sont ensuite entrelacées pour être seules délivrées au moyen d'itération (20j,) de niveau juste supérieur, les valeurs de décision délivrées par le dernier moyen d'itération (20Ni) constituant la sortie dudit décodeur. 6) Décodeur de codes correcteurs d'erreurs, tels que des turbo-codes orientés trames, ledit décodeur étant prévu pour recevoir un bloc de valeurs systématiques pondérées et un bloc concaténé de valeurs codées pondérées non-entrelacées et de valeurs codées pondérées entrelacées (Yk,Yi) et pour délivrer un bloc de variables de décision, caractérisé en ce qu'il comprend un entrelaceur/concaténeur prévu, d'une part, pour entrelacer lesdites valeurs systématiques afin de former des valeurs systématiques entrelacées et, d'autre part, pour concaténer les valeurs systématiques non-entrelacées avec lesdites valeurs systématiques entrelacées afin de former un bloc concaténé de valeurs systématiques (Xk,Xi), une pluralité de moyens d'itération (20/ à 20,i), chaque moyen d'itération (20j) étant constitué de moyens de déconcaténation (32 et 33) prévus pour recevoir sur leurs entrées le bloc concaténé de valeurs systématiques (Xk,Xi) et le bloc concaténé de valeurs codées (Yk,Yi) et pour respectivement délivrer, d'une part, un bloc (X.) constitué des dernières valeurs systématiques non-entrelacées concaténées
2785740
aux valeurs systématiques entrelacées et, d'autre part, un bloc (Yn) constitué des dernières valeurs codées non-entrelacées concaténées aux premières valeurs codées entrelacées, d'un premier décodeur élémentaire (34) prévu pour recevoir lesdits blocs de valeurs systématiques (X.) et de valeurs codées (Y,) respectivement délivrés par lesdits moyens de déconcaténation (32 et 33) ainsi que les valeurs extrinsèques entrelacées délivrées par le moyen d'itération (20j.) de niveau juste inférieur et pour délivrer un bloc de valeurs extrinsèques, et d'un second décodeur élémentaire (35) qui est prévu pour recevoir les valeurs systématiques pondérées non-entrelacées du bloc concaténé de valeurs systématiques (Xk,Xi), les valeurs codées non-entrelacées du bloc concaténé de valeurs codées (Yk,Yi) et les valeurs extrinsèques (Z'kj) délivrées par le premier décodeur élémentaire (34) et préalablement désentrelacées et pour délivrer des valeurs extrinsèques et des valeurs de décision qui sont ensuite entrelacées pour être seules délivrées au moyen d'itération (20j+,) de niveau juste supérieur, les valeurs de
décision délivrées par le dernier moyen d'itération constituant la sortie dudit décodeur.
7) Décodeur selon une des revendications 3 à 6, caractérisé en ce que les valeurs
extrinsèques délivrées par chaque moyen d'itération sont concaténées aux premières
valeurs extrinsèques entrelacées délivrées par le premier décodeur élémentaire.
8) Décodeur selon une des revendications 3 à 6, caractérisé en ce que les valeurs
extrinsèques délivrées par chaque moyen d'itération sont concaténées aux dernières
valeurs extrinsèques entrelacées délivrées par le second décodeur élémentaire.
9) Décodeur selon une des revendications précédentes, caractérisé en ce que
lesdits premier et second décodeurs élémentaires sont des décodeurs de codes
convolutionnels systématiques.
) Procédé de décodage de codes correcteurs d'erreurs, tels que des turbo-
codes orientés trames, lesdits codes étant constitués d'un bloc concaténé de valeurs systématiques pondérées non-entrelacées et de valeurs systématiques pondérées entrelacées (Xk,X1), d'un bloc concaténé de valeurs codées pondérées et de valeurs codées pondérées entrelacées (Yk,Yi), ledit procédé étant prévu pour délivrer un bloc de valeurs de décision, caractérisé en ce qu'il consiste à procéder à une pluralité d'itérations, chaque itération consistant à effectuer un premier décodage élémentaire des valeurs systématiques pondérées non-entrelacées du bloc concaténé de valeurs systématiques (Xk,X), des valeurs codées non-entrelacées du bloc concaténé de valeurs codées (Yk,Yi) et des valeurs extrinsèques non-entrelacées déterminées à l'itération précédente et à ainsi déterminer un bloc de valeurs extrinsèques et à effectuer
26 2785740
élémentaire des valeurs systématiques pondérées entrelacées du bloc concaténé de valeurs systématiques (Xk,Xi), des valeurs codées entrelacées du bloc concaténé de valeurs codées (Yk,Yi) et des valeurs extrinsèques déterminées lors du premier décodage élémentaire et préalablement entrelacées et pour déterminer des valeurs extrinsèques et des valeurs de décision qui sont ensuite désentrelacées pour être seules utilisées à l'itération suivante, les valeurs de décision déterminées lors de la dernière
itération constituant les valeurs de décodage.
1 1l) Procédé de décodage de codes correcteurs d'erreurs, tels que des turbo-
codes orientés trames, lesdits codes étant constitués d'un bloc de valeurs systématiques
pondérées non-entrelacées et d'un bloc concaténé de valeurs codées pondérées non-
entrelacées et de valeurs codées pondérées entrelacées (Yk,Yj) et pour délivrer un bloc de variables de décision, caractérisé en ce qu'il consiste à, d'une part, entrelacer lesdites valeurs systématiques afin de former des valeurs systématiques entrelacées et, d'autre part, pour concaténer les valeurs systématiques non-entrelacées avec lesdites valeurs systématiques entrelacées de manière à former un bloc concaténé de valeurs systématiques (Xk,Xi), à procéder à une pluralité d'itérations, chaque itération consistant à effectuer un premier décodage élémentaire des valeurs systématiques pondérées non-entrelacées dudit bloc concaténé de valeurs systématiques (Xk,Xi), des valeurs codées non-entrelacées du bloc concaténé de valeurs codées (Yk,Yi) et des valeurs extrinsèques non-entrelacées déterminées à l'itération précédente et à ainsi déterminer un bloc de valeurs extrinsèques et à effectuer une second décodage élémentaire des valeurs systématiques pondérées entrelacées du bloc concaténé de valeurs systématiques (Xk,Xj), des valeurs codées entrelacées du bloc concaténé de valeurs codées (Yk, Yi) et des valeurs extrinsèques déterminées lors du premier décodage élémentaire et préalablement entrelacées et pour déterminer des valeurs extrinsèques et des valeurs de décision qui sont ensuite désentrelacées pour être seules utilisées à l'itération suivante, les valeurs de décision déterminées lors de la dernière
itération constituant les valeurs de décodage.
12) Procédé de décodage de codes correcteurs d'erreurs, tels que des turbo-
codes orientés trames, lesdits codes étant constitués d'un bloc concaténé de valeurs systématiques pondérées non-entrelacées et de valeurs systématiques pondérées entrelacées (Xk,Xi), d'un bloc concaténé de valeurs codées pondérées et de valeurs codées pondérées entrelacées (Yk,Yi) et pour délivrer un bloc de valeurs de décision, caractérisé en ce qu'il consiste à procéder à une pluralité d'itérations, chaque itération
27 2785740
consistant à déconcaténer le bloc concaténé de valeurs systématiques (Xk, Xi) et le bloc concaténé de valeurs codées et pour respectivement délivrer, d'une part, un bloc de valeurs systématiques non-entrelacées concaténées aux premières valeurs systématiques entrelacées et, d'autre part, un bloc de valeurs codées non-entrelacées concaténées aux premières valeurs codées entrelacées, à effectuer un premier décodage élémentaire des valeurs systématiques et des valeurs codées desdits blocs précédemment obtenus ainsi que des valeurs extrinsèques non-entrelacées déterminées à l'itération précédente et à déterminer un bloc de valeurs extrinsèques et à effectuer une second décodage élémentaire des valeurs systématiques pondérées entrelacées du bloc concaténé de valeurs systématiques (Xk,Xi), des valeurs codées entrelacées du bloc concaténé de valeurs codées (Yk,Yi) et des valeurs extrinsèques déterminées lors du premier décodage élémentaire et préalablement entrelacées et pour déterminer des valeurs extrinsèques et des valeurs de décision qui sont ensuite désentrelacées pour être seules utilisées à l'itération suivante, les valeurs de décision déterminées lors de la
dernière itération constituant les valeurs de décodage.
13) Procédé de décodage de codes correcteurs d'erreurs, tels que des turbo-
codes orientés trames, lesdits codes étant constitués d'un bloc de valeurs systématiques
pondérées non-entrelacées et d'un bloc concaténé de valeurs codées pondérées non-
entrelacées et de valeurs codées pondérées entrelacées (Yk,Yi) et pour délivrer un bloc de variables de décision, caractérisé en ce qu'il consiste à, d'une part, entrelacer lesdites valeurs systématiques afin de former des valeurs systématiques entrelacées et, d'autre part, pour concaténer les valeurs systématiques non-entrelacées avec lesdites valeurs systématiques entrelacées de manière à former un bloc concaténé de valeurs systématiques (Xk,Xi), à procéder à une pluralité d'itérations, chaque itération consistant à déconcaténer ledit bloc concaténé de valeurs systématiques (Xk,Xi) et le bloc concaténé de valeurs codées (Yk,Yi) et pour respectivement délivrer, d'une part, un bloc de valeurs systématiques non-entrelacées concaténées aux premières valeurs systématiques entrelacées et, d'autre part, un bloc de valeurs codées non-entrelacées concaténées aux premières valeurs codées entrelacées, à effectuer un premier décodage élémentaire des valeurs systématiques et des valeurs codées desdits blocs précédemment obtenus ainsi que des valeurs extrinsèques non-entrelacées déterminées à l'itération précédente et à déterminer un bloc de valeurs extrinsèques et à effectuer un second décodage élémentaire des valeurs systématiques pondérées entrelacées du bloc concaténé de valeurs systématiques (Xk,Xj), des valeurs codées entrelacées du bloc
28 2785740
concaténé de valeurs codées (Yk,Yj) et des valeurs extrinsèques déterminées lors du premier décodage élémentaire et préalablement entrelacées et pour déterminer des valeurs extrinsèques et des valeurs de décision qui sont ensuite désentrelacées pour être seules utilisées à l'itération suivante, les valeurs de décision déterminées lors de la dernière itération constituant les valeurs de décodage.
14) Procédé de décodage de codes correcteurs d'erreurs, tels que des turbo-
codes orientés trames, lesdits codes étant constitués d'un bloc concaténé de valeurs systématiques pondérées non-entrelacées et de valeurs systématiques pondérées entrelacées (Xk,Xi), d'un bloc concaténé de valeurs codées pondérées et de valeurs codées pondérées entrelacées (Yk,Yi) et pour délivrer un bloc de valeurs de décision, caractérisé en ce qu'il consiste à procéder à une pluralité d'itérations, chaque itération consistant à déconcaténer le bloc concaténé de valeurs systématiques (Xk,Xi) et le bloc concaténé de valeurs codées (Yk,Yi) et afin de déterminer, d'une part, un bloc constitué des dernières valeurs systématiques non-entrelacées concaténées aux valeurs
systématiques entrelacées et, d'autre part, un bloc constitué de valeurs codées non-
entrelacées concaténées aux premières valeurs codées entrelacées, à effectuer un premier décodage élémentaire des blocs de valeurs systématiques et de valeurs codées précédemment déterminés ainsi que des valeurs extrinsèques entrelacées déterminées à l'itération précédente et à déterminer un bloc de valeurs extrinsèques et à effectuer un second décodage élémentaire des valeurs systématiques pondérées non- entrelacées du bloc concaténé de valeurs systématiques (Xk,Xi), des valeurs codées non-entrelacées du bloc concaténé de valeurs codées (Yk, Yi) et des valeurs extrinsèques déterminées lors du premier décodage élémentaire et préalablement désentrelacées et pour déterminer des valeurs extrinsèques et des valeurs de décision qui sont ensuite entrelacées pour être seules utilisées à l'itération suivante, les valeurs de décision déterminées lors de la dernière itération constituant les valeurs de décodage
) Procédé de décodage de codes correcteurs d'erreurs, tels que des turbo-
codes orientés trames, lesdits codes étant constitués d'un bloc de valeurs systématiques
pondérées non-entrelacées et d'un bloc concaténé de valeurs codées pondérées non-
entrelacées et de valeurs codées pondérées entrelacées (Yk,Yi) et pour délivrer un bloc de variables de décision, caractérisé en ce qu'il consiste à, d'une part, entrelacer lesdites valeurs systématiques afin de former des valeurs systématiques entrelacées et, d'autre part, pour concaténer les valeurs systématiques non-entrelacées avec lesdites valeurs systématiques entrelacées de manière à former un bloc concaténé de valeurs
29 2785740
systématiques entrelacées et, d'autre part, pour concaténer les valeurs systématiques non-entrelacées avec lesdites valeurs systématiques entrelacées de manière à former un bloc concaténé de valeurs systématiques (Xk,X1), à procéder à une pluralité d'itérations, chaque itération consistant à déconcaténer le bloc concaténé de valeurs systématiques (Xk,Xi) et le bloc concaténé de valeurs codées (Yk,Yi) afin de déterminer, d'une part, un bloc constitué des dernières valeurs systématiques non-entrelacées concaténées aux valeurs systématiques entrelacées et, d'autre part, un bloc constitué de valeurs codées non- entrelacées concaténées aux premières valeurs codées entrelacées, à effectuer un premier décodage élémentaire des blocs de valeurs systématiques et de valeurs codées précédemment déterminés ainsi que des valeurs extrinsèques entrelacées déterminées à l'itération précédente afin de déterminer un bloc de valeurs extrinsèques et à effectuer une second décodage élémentaire des valeurs systématiques pondérées non-entrelacées du bloc concaténé de valeurs systématiques (XYk,Xi), des valeurs codées non-entrelacées du bloc concaténé de valeurs codées (Yk,Yi) et des valeurs extrinsèques déterminées lors du premier décodage élémentaire et préalablement désentrelacées et pour déterminer des valeurs extrinsèques et des valeurs de décision qui sont ensuite entrelacées pour être seules utilisées à l'itération suivante, les valeurs de décision
déterminées lors de la dernière itération constituant les valeurs de décodage.
16) Procédé de décodage selon une des revendications 12 à 15, caractérisé en ce
qu'il consiste à concaténer les valeurs extrinsèques déterminées à chaque itération aux premières valeurs extrinsèques entrelacées déterminées lors du premier décodage élémentaire de ladite itération et à utiliser lesdites valeurs ainsi concaténées à l'itération suivante.
17) Procédé de décodage selon une des revendications 12 à 15, caractérisé en ce
qu'il consiste à concaténer les valeurs extrinsèques déterminées à chaque itération aux dernières valeurs extrinsèques entrelacées déterminées lors du second décodage élémentaire de ladite itération et à utiliser lesdites valeurs ainsi concaténées à l'itération suivante.
FR9814322A 1998-11-10 1998-11-10 Procede de decodage de codes correcteurs d'erreurs, tels que des turbo-codes orientes trames, et decodeur pour la mise en oeuvre dudit procede Expired - Fee Related FR2785740B1 (fr)

Priority Applications (1)

Application Number Priority Date Filing Date Title
FR9814322A FR2785740B1 (fr) 1998-11-10 1998-11-10 Procede de decodage de codes correcteurs d'erreurs, tels que des turbo-codes orientes trames, et decodeur pour la mise en oeuvre dudit procede

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR9814322A FR2785740B1 (fr) 1998-11-10 1998-11-10 Procede de decodage de codes correcteurs d'erreurs, tels que des turbo-codes orientes trames, et decodeur pour la mise en oeuvre dudit procede

Publications (2)

Publication Number Publication Date
FR2785740A1 true FR2785740A1 (fr) 2000-05-12
FR2785740B1 FR2785740B1 (fr) 2000-12-22

Family

ID=9532736

Family Applications (1)

Application Number Title Priority Date Filing Date
FR9814322A Expired - Fee Related FR2785740B1 (fr) 1998-11-10 1998-11-10 Procede de decodage de codes correcteurs d'erreurs, tels que des turbo-codes orientes trames, et decodeur pour la mise en oeuvre dudit procede

Country Status (1)

Country Link
FR (1) FR2785740B1 (fr)

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
BERROU C ET AL: "LES TURBO-CODES: UNE NOUVELLES APPROCHE DU CODAGE", REE: REVUE GENERALE DE L ELECTRICITE ET DE L ELECTRONIQUE, no. 1, 1 January 1997 (1997-01-01), pages 68 - 74, XP000686462, ISSN: 1265-6534 *
E.K. HALL ET AL.: "Stream oriented turbo codes", VEHICULAR TECHNOLOGY CONFERENCE, vol. 1, pages 71 - 75, XP002110465 *

Also Published As

Publication number Publication date
FR2785740B1 (fr) 2000-12-22

Similar Documents

Publication Publication Date Title
EP0827285B1 (fr) Procédé de transmission de bits d'information avec codage correcteur d'erreurs, codeur et décodeur pour la mise en oeuvre de ce procédé
EP0891656B1 (fr) Procede et dispositif de codage convolutif de blocs de donnees, et procede et dispositif de decodage correspondants
JP3610329B2 (ja) 大最小距離を用いたターボ符号化方法及びそれを実現するシステム
Kliewer et al. Iterative joint source-channel decoding of variable-length codes using residual source redundancy
EP1378089B1 (fr) Décodage et égalisation turbo conjointe pour transmission MIMO avec interférence intersymboles
FR2804260A1 (fr) Procede de transmission numerique de type a codage correcteur d'erreurs
EP0946014B1 (fr) Procédé de détection d'une séquence de symboles discrets à partir d'un signal d'observation, et processeur de viterbi mettant en oeuvre un tel procédé
EP0848501A1 (fr) Système et procédé de transmission numérique comportant un code produit combiné à une modulation multidimensionnelle
FR2808632A1 (fr) Procede de turbo-decodage avec reencodage des informations erronees et retroaction
EP1230736B1 (fr) Procede de decodage de donnees codees a l'aide d'un code entropique, dispositif de decodage et systeme de transmission correspondants
EP1128589B1 (fr) Critère d'interruption pour un décodeur turbo
JP3674851B2 (ja) スケーリングフィードバックターボ復号器
FR2807237A1 (fr) Procede et dispositif d'evaluation du bruit associe aux turbocodes, et systemes les mettant en oeuvre
FR2807895A1 (fr) Procedes et dispositifs de codage et de decodage et systemes les mettant en oeuvre
EP1128588A1 (fr) Procédé de transmission numérique de type à codage correcteur d'erreurs comprenant une étape de sélection de schéma de poinçonnage
EP1282254A1 (fr) Codage et décodage de canal pour modulation à grand nombre d'etats
Kliewer et al. Combining FEC and optimal soft-input source decoding for the reliable transmission of correlated variable-length encoded signals
JP2002535910A (ja) 畳み込みコードのデコーディング方法およびデコーディング装置
FR2802735A1 (fr) Procede et dispositif de codage, procede et dispositif de decodage, et systemes les mettant en oeuvre
EP1134902A1 (fr) Turbo codage/décodage adaptatif
FR2838581A1 (fr) Procede de codage et/ou de decodage de codes correcteurs d'erreurs, dispositifs et signal correspondants
FR2785740A1 (fr) Procede de decodage de codes correcteurs d'erreurs, tels que des turbo-codes orientes trames, et decodeur pour la mise en oeuvre dudit procede
EP1443658A1 (fr) Procédé de contrôle du nombre d'itérations d'un processus de décodage itératif et dispositif pour la mise en oeuvre du procédé
FR3037746A1 (fr) Procede de construction d'un entrelaceur pour turbo-encodeur
FR3016760A1 (fr) Procede et dispositif de decodage de symboles codes a l'aide d'un code correcteur d'erreurs lineaires, procede et dispositif de codage, et programme d'ordinateur correspondants

Legal Events

Date Code Title Description
CA Change of address
ST Notification of lapse

Effective date: 20080930