FR2808632A1 - Procede de turbo-decodage avec reencodage des informations erronees et retroaction - Google Patents

Procede de turbo-decodage avec reencodage des informations erronees et retroaction Download PDF

Info

Publication number
FR2808632A1
FR2808632A1 FR0005682A FR0005682A FR2808632A1 FR 2808632 A1 FR2808632 A1 FR 2808632A1 FR 0005682 A FR0005682 A FR 0005682A FR 0005682 A FR0005682 A FR 0005682A FR 2808632 A1 FR2808632 A1 FR 2808632A1
Authority
FR
France
Prior art keywords
elementary
information
decoding
turbo
iteration
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
FR0005682A
Other languages
English (en)
Other versions
FR2808632B1 (fr
Inventor
Arnaud Gueguen
Nadine Chapalain
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 FR0005682A priority Critical patent/FR2808632B1/fr
Priority to US09/827,093 priority patent/US6845481B2/en
Priority to EP01109885A priority patent/EP1152542B1/fr
Priority to DE60135177T priority patent/DE60135177D1/de
Priority to JP2001129111A priority patent/JP2002026742A/ja
Priority to CNB011179449A priority patent/CN1258885C/zh
Publication of FR2808632A1 publication Critical patent/FR2808632A1/fr
Application granted granted Critical
Publication of FR2808632B1 publication Critical patent/FR2808632B1/fr
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/29Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
    • H03M13/2957Turbo codes and decoding
    • H03M13/296Particular turbo code structure
    • H03M13/2972Serial concatenation using convolutional component codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/29Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
    • H03M13/2957Turbo codes and decoding
    • 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/2975Judging correct decoding, e.g. iteration stopping criteria
    • 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/3776Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35 using a re-encoding step during the decoding process
    • 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/65Purpose and implementation aspects
    • H03M13/6577Representation or format of variables, register sizes or word-lengths and quantization
    • H03M13/658Scaling by multiplication or division
    • 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/2945Coding, 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 using at least three error correction codes

Landscapes

  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Error Detection And Correction (AREA)
  • Transmission Systems Not Characterized By The Medium Used For Transmission (AREA)

Abstract

L'invention est de manière générale relative à un procédé d'amélioration du turbo-décodage par réencodage des informations erronées et soustraction de leur contribution à l'entrée du turbo-décodeur. La soustraction de cette contribution permet de remédier aux défauts de convergence ou à la convergence vers des solutions erronées, observés dans certaines configurations de turbo-décodage. L'invention s'applique aussi bien au turbo-décodage à concaténation parallèle qu'au turbo-décodage à concaténation série ou au turbo-décodage en bloc. Plusieurs modes de réalisation sont présentés selon le type de rétroaction envisagée.

Description

La présente invention concerne de manière générale un procédé de décodage
d'une information turbo-codée. Plus précisément elle concerne une amélioration du procédé de décodage lorsque ce dernier présente un défaut de convergence. Les turbo-codes constituent actuellement les codes correcteurs d'erreurs les plus performants dans la mesure o, parmi les codes existants, ils permettent d'obtenir les taux d'erreurs binaires les plus faibles pour un rapport signal sur bruit donné, et ce pour une complexité de décodage raisonnable. Ils peuvent aussi bien être utilisés pour des transmissions numériques continues que pour des transmissions par
1 0 trames.
Les turbo-codes ont été introduits par C. Berrou, A. Glavieux, P. Thitimajshima dans un article intitulé "Near Shannon Limit Error Correcting Coding and Decoding: Turbo-codes " paru dans ICC-1993 Conference Proceedings, pages 1064-1070. Les turbo-codes ont fait ensuite l'objet de nombreux développements et l'on appelle aujourd'hui turbocodes une famille de codes basés sur deux concepts: Le premier concept est la concaténation de plusieurs codes simples appelés codes élémentaires séparés par des étapes d'entrelacement, modifiant l'ordre de prise en compte des données par ces codes élémentaires. Les codes élémentaires peuvent être de différents types: codes récursifs systématiques (notés RSC) pour les turbo-codes convolutifs ou codes en bloc comme les codes de Hamming, les codes RS ou BCH pour les turbo-codes en bloc. Différents types de concaténation peuvent être envisagés. Dans la concaténation parallèle, la mnême information est codée séparément par chaque codeur après avoir été entrelacée. Dans la concaténation série, la sortie de chaque codeur est codée par le codeur suivant après avoir été entrelacée. On appelle dimension du turbo-code le nombre de codeurs élémentaires pour mettre en ceuvre le turbo-code. Les entrelacements utilisés peuvent être de type uniforme, par exemple en entrant les données à entrelacer ligne par ligne dans une matrice et en les restituant
colonne par colonne, ce type d'entrelacement est notamment employé dans les turbo-
codes en bloc. En général, pour améliorer les performances, les turbocodes utilisent des entrelacements non uniformes. C'est le cas notamment pour les turbo-codes conIvolutifs. Le second concept est le décodage itératif du turbo-code, encore appelé turbo-décodage. Chaque itération du décodage est constituée par la concaténation de plusieurs opérations de décodage élémentaire. Les décodeurs élémentaires utilisés à cet effet sont du type à entrées et sorties pondérées et correspondent chacun à un codeur élémentaire du turbo-codeur. Les entrées et sorties pondérées d'un décodeur élémentaire traduisent les probabilités des données binaires ou m-aires des entrées respectivement en entrée et sortie du codeur élémentaire correspondant. Les entrées et sorties pondérées peuvent être libellées en termes de probabilités, de rapports de
vraisemblance, ou de logarithmes de rapports de vraisemblance (encore notés LLR).
Suivant le schéma du turbo-décodeur, les décodeurs élémentaires
interviennent l'un après l'autre (turbo-décodage dit série) ou simultanément (turbo-
décodage dit parallèle). Bien entendu des schémas de décodage hybride peuvent être également envisagés. Des opérations d'entrelacement et de désentrelacement interviennent en fonction des opérations de désentrelacement et d'entrelacement effectuées lors du codage. Elles permettent à chaque décodeur élémentaire de prendre en compte une information qui se présente dans le même ordre que celle en entrée et en sortie du codeur élémentaire correspondant, chaque décodeur élémentaire utilisant ainsi une information correspondant à l'information en entrée et en sortie du codeur élémentaire correspondant. L'information en entrée d'un décodeur élémentaire est une information dite a priori consistant en une information bruitée du codeur élémentaire correspondant. A partir de cette information a priori et connaissant la loi de codage du codeur élémentaire correspondant, le décodeur élémentaire génère une information a posteriori qui est une estimation de plus grande fiabilité de l'information en entrée et/ou en sortie du codeur élémentaire correspondant. Le supplément d'information apporté par l'information a posteriori par rapport à l'information a priori est appelée
information extrinsèque.
Divers algorithmes peuvent être mis en oeuvre dans les opérations de décodage élémentaire notamment les algorithmes dit MAP (Maximum A Posteriori), Log MAP et MaxLogMAP encore appelés APP, LogAPP et MaxLogAPP, qui
dérivent tous du calcul de probabilités a posteriori connaissant les probabilités a priori.
Ces algorithmes sont par exemple décrit dans l'article intitulé << Optimal and sub-
optimal maximum a posteriori algorithms suitable for turbo-decoding " de P. Robertson, P. Hoeher et E. Villebrun paru dans European Trans. On Telecomm., Vol. 8, pages 119-125, Mars-Avril 1997. Pour les turbo-codes en bloc, l'on peut utiliser l'algorithme de Chase tel que décrit dans l'article intitulé " Near optimum product
codes>) paru dans Proc. IEEE Globecom de 1994, pages 339-343.
Selon le type de turbo-codage mis en oeuvre, I'information extrinsèque issue d'un décodeur élémentaire combinée à l'information systématique ou bien directement l'information a posteriori issu d'un décodeur élémentaire sera utilisée, après entrelacement ou désentrelacement éventuel, comme information a priori par le décodeur élémentaire suivant au sein de la même itération ou par le décodeur
élémentaire précédent au sein de l'itération suivante.
Quoi qu'il en soit, à chaque itération, l'information en entrée et en sortie des décodeurs élémentaires est de plus de plus fiable. L'information produite par la (ou les) opération(s) de décodage terminale(s) d'une itération est utilisée pour générer
une information de sortie qui est une estimation de l'information d'entrée du codeur.
En principe, après un nombre d'itérations suffisant, le procédé de décodage stagne et l'algorithme converge. Un seuillage est effectué sur l'information de sortie de la dernière itération pour générer la séquence turbo-décodée. Bien que sous-optimal dans le principe, le turbo-décodage donne des performances proches de celles du décodeur optimal en général, en ayant pourtant une complexité nettement moindre puisqu'elle
est de l'ordre de celle du décodeur des codes élémentaires.
Avant d'aborder plus en détail la structure de quelques turbo-décodeurs,
il convient de rappeler brièvement la structure des turbo-codeurs correspondants.
La Fig. 1 illustre un turbo-codeur dit de type PCCC (Parallel Concatenated Convolutional Code) à n dimensions. Le dispositif de codage comprend un ensemble de codeurs élémentaires ( 1li) concaténés en parallèle et séparés par des entrelaceurs (0loi). Chacun des codeurs élémentaires est du type convolutif récursif systématique (noté RSC). Chaque codeur élémentaire code une version entrelacée de l'information utile d'entrée. Les sorties des différents codeurs élémentaires sont multiplexés par un multiplexeur (12). Seule la partie systématique (X) est transmise une seule fois pour l'ensemble des codeurs sous forme non entrelacée. La Fig. 2 illustre un turbo-codeur dit de type SCCC (Serially Concatenated Convolutional Code) à n dimensions. Le dispositif de codage comprend un ensemble de codeurs élémentaires (21i) de type RSC concaténés en série, deux codeurs consécutifs étant séparés par un entrelaceur (20i). Chaque codeur introduisant
sa propre redondance, les entrelaceurs de rang croissant sont de taille croissante.
La Fig. 3 illustre un turbo-codeur dit de type BTC (Block Turbo-Code) ou turbo-code en bloc. Le dispositif de codage est là encore constitué d'un ensemble de codeurs élémentaires (3 1 i) concaténés en série, chaque codeur élémentaire étant ici un code en bloc: Hamming, RS ou BCH par exemple et opérant sur une dimension
du bloc.
La Fig. 4a illustre un turbo-décodeur de type série d'une information codée par le turbo-codeur PCCC de la Fig. 1. Le décodeur comprend un ensemble de décodeurs élémentaires concaténés en série, chaque décodeur élémentaire (41i) correspondant au codeur
élémentaire (1 li) du turbo-codeur.
Dans l'exemple représenté, les décodeurs élémentaires utilisent I'algorithme LogAPP et sont à entrées et sortie pondérées sous forme de logarithmes
de rapports de vraisemblance (encore notés LLR).
Pour des raisons de clarté les entrelaceurs et désentrelaceurs n'ont pas été représentés. Il va de soi cependant que les données en entrée d'un décodeur élémentaire doivent être présentées dans le même ordre que pour le codeur
correspondant.
L'opération de décodage comprend une séquence d'itérations I à k, chaque itération consistant en un ensemble identique d'opérations de décodage élémentaire. L'entrée (e) du décodeur reçoit du démodulateur une information sous
forme de valeurs pondérées fonction des probabilités respectives des symboles reçus.
L'information reçue contient une partie (X) correspondant à l'information systématique et des parties redondantes (Yi) correspondant respectivement aux informations en sortie des codeurs élémentaires. Un démultiplexeur (40) assure le démultiplexage des différentes parties de l'information reçue. Outre l'information (Yi), chaque décodeur élémentaire Di (41i) reçoit bien entendu l'information systématique (X) convenablement entrelacée (entrée non représentée pour des raisons de clarté) et une information extrinsèque ei l fournie par le décodeur précédent. A la première itération, l'information extrinsèque du premier décodeur élémentaire Dl est initialisée à 0 et l'information systématique a priori en entrée de Dl est la partie systématique reçue (X). Di utilise la première information redondante (YI) pour produire une nouvelle estimation de la partie systématique encore appelée information a posteriori. La différence entre l'information a posteriori et l'information a priori est l'information extrinsèque générée par le décodeur. Cette information extrinsèque (convenablement entrelacée) est ajoutée à l'information systématique (également convenablement entrelacée) pour constituer l'information systématique a priori du décodeur suivant. Le processus se poursuit de décodeur en décodeur jusqu'à Dn. L'information extrinsèque produite par le décodeur élémentaire terminal Dn est transmise (en fait rétropropagée si un seul ensemble de décodeurs élémentaires est utilisé) à Dl et un nouveau cycle complet de décodage est itéré. D'itération en itération, l'estimation de la partie systématique gagne en fiabilité et au terme d'un nombre k d'itérations, les valeurs pondérées représentant la partie systématique (s) sont soumises à une décision dure au moyen du dispositif de seuillage (44). Dans le cas o, par exemple, les valeurs pondérées sont des bits pondérés, on obtient en sortie (S) une information représentée par une séquence de bits. Il va de soi que d'autres type de décodeurs élémentaires peuvent être utilisés. En particulier si un algorithme de type non logarithmique est utilisé les opérations d'addition et de soustraction sont à remplacer par des opérations de multiplication et de division. Les valeurs initiales de l'information extrinsèque doivent être également modifiées en conséquence (1 pour un algorithme APP, 0.5 pour un
algorithme évaluant les probabilités).
La Fig. 4b illustre un turbo-décodeur de type parallèle d'une information
codée par le turbo-codeur PCCC de la Fig. 1.
Le décodeur comprend un ensemble de décodeurs élémentaires concaténés en parallèle, chaque décodeur élémentaire (41i) correspondant au codeur
élémentaire ( 1 1) du turbo-codeur.
Dans l'exemple représenté, les décodeurs élémentaires utilisent l'algorithme LogAPP et sont à entrées et sortie pondérées sous forme de logarithmes de rapports de vraisemblance. Ici aussi, bien que les entrelaceurs et désentrelaceurs n'aient pas été représentés, les données en entrée d'un décodeur élémentaire doivent
être présentées dans le même ordre que pour le codeur correspondant.
L'opération de décodage comprend une séquence d'itérations I à k, chaque itération consistant en un ensemble identique d'opérations de décodage élémentaire. Le principe du décodage est similaire à celui décrit pour la concaténation série, les échanges d'information extrinsèque se faisant ici en parallèle entre deux itérations successives. Chaque décodeur élémentaire Di (41i) reçoit outre la partie redondante (Yi), une version convenablement entrelacée de la partie systématique ainsi que les informations extrinsèques de tous les autres décodeurs de l'itération précédente. Chaque décodeur d'une même itération travaille en parallèle, produit une information systématique a posteriori et en déduit une information extrinsèque par différence entre l'information systématique a posteriori et l'information systématique a priori. A l'entrée d'un décodeur élémentaire Di les différentes informations extrinsèques ei avec iÉj (convenablement entrelacées) sont sommées à une version convenablement entrelacée de l'information systématique X. Le décodeur utilise l'information redondante Yi pour fournir une nouvelle estimation de la partie
systématique ou information systématique a posteriori.
Les décodeurs élémentaires de la première itération reçoivent une information extrinsèque initialisée à 0 (dans le cas o l'algorithme LogAPP est utilisé). Les décodeurs de la dernière itération fournissent chacun une estimation de l'information systématique (si). Les valeurs pondérées représentant ces estimations
sont, par exemple, sommées une à une (43) avant décision dure (44).
On conçoit qu'un décodage hybride série-parallèle soit envisageable avec différents modes de propagation de l'information extrinsèque. L'information décodée en sortie (S) résulte dans tous les cas d'une décision dure à partir des estimations de la partie systématique fournies par les décodeurs élémentaires
terminaux de la dernière itération.
La Fig. 5 illustre un turbo-décodeur correspondant au turbo-codeur
SCCC de la Fig. 2.
La structure de ce décodeur a été décrite dans un article de S. Benedetto, G. Montorsi, D. Divsalar et F. Pollara intitulé <" Serial concatenation of interleaved codes Performance analysis, design and iterative decoding " publié dans JPL TDA
Progr. Rep., vol. 42-126, Août 1996.
Le décodeur comprend un ensemble de décodeurs élémentaires concaténés en série, chaque décodeur élémentaire Di (5 1i) correspondant au codeur
élémentaire Ci (21i) du turbo-codeur.
L'opération de décodage comprend une séquence d'itérations 1 à k, chaque itération consistant en un ensemble identique d'opérations de décodage élémentaire. Pour des raisons de clarté les entrelaceurs et désentrelaceurs n'ont pas été représentés. Il va de soi cependant que les données en entrée d'un décodeur élémentaire doivent être présentées dans le même ordre que pour le codeur correspondant. En particulier deux décodeurs élémentaires Di et Di+l d'une même itération sont séparés par un désentrelaceur correspondant à l'entrelaceur (20i) séparant les codeurs Ci et Ci+l. De même la sortie (Oc) d'un décodeur élémentaire Di+l est entrelacée par un entrelaceur identique à (20i) avant d'être fournie au
décodeur Di de l'itération suivante.
Chaque décodeur élémentaire possèdent deux entrées Ic et Iu et deux sorties Oc et Ou. L'entrée Ic reçoit une information a priori relative à des données en sortie du codeur Ci alors que l'entrée Iu reçoit une information a priori relative à des données en entrée dudit codeur. De même, la sortie Oc fournit une information a posteriori relative à des données en sortie du codeur Ci et la sortie Ou fournit une information a posteriori relative à des données en entrée dudit codeur. L'information a posteriori fournie en Oc par un décodeur élémentaire Di+l est utilisée comme information a priori par le décodeur Di de l'itération suivante, lui permettant d'effectuer une estimation plus fiable de l'information en entrée et en sortie du codeur
Ci correspondant.
Les décodeurs élémentaires de la première itération ainsi que le décodeur élémentaire terminal DI de la dernière itération reçoivent sur leur entrée Tu une valeur nulle, étant donné qu'aucune information a posteriori d'une itération précédente n'est disponible. La sortie Ou du décodeur élémentaire terminal D1 de la dernière itération fournit sous forme de valeurs pondérées une estimation de l'information en entrée du codeur Ci, c'est à dire de l'information utile (X). Ces valeurs sont soumises à une
décision dure par seuillage (54) pour fournir l'information décodée (S).
La Fig. 6 illustre un turbo-décodeur correspondant au turbo-codeur BTC
de la Fig. 3.
Le décodeur comprend un ensemble de décodeurs élémentaires concaténés en série, chaque décodeur élémentaire Di (61i) correspondant au codeur
élémentaire Ci (3 l1) du turbo-codeur.
L'opération de décodage comprend une séquence d'itérations I à k, chaque itération consistant en un ensemble identique d'opérations de décodage élémentaire. L'information à décoder se présente comme un bloc à n dimensions de valeurs pondérées fournies, par exemple, par le démodulateur d'entrée. L'ordre des décodeurs élémentaires importe peu, chacun travaillant ici sur une dimension orthogonale du bloc. Les décodeurs élémentaires utilisent par exemple l'algorithme de Chase mentionné plus haut. Chaque décodeur élémentaire reçoit le bloc d'entrée dans son intégralité et procède à une estimation de toutes les valeurs pondérées dudit bloc selon la dimension de codage du codeur correspondant. De cette information a posteriori est déduite par différence (dans le cas de décodeur utilisant un algorithme logarithmique) avec l'information a priori, une information extrinsèque se présentant sous la forme d'un bloc de valeurs pondérées de même taille que le bloc codé. Cette information extrinsèque est ajoutée à l'information d'entrée pour servir d'information a priori à un autre décodeur. Ainsi par passes successives d'une dimension à l'autre et
d'une itération à la suivante, l'estimation de la partie systématique gagne en fiabilité.
Les valeurs pondérées représentant cette estimation sont ensuite soumises à une 1 5 décision dure par seuillage (64) pour fournir l'information systématique décodée S. Bien que les turbo-codes produisent des performances proches de la limite théorique de Shannon pour des blocs de données de grande taille, ces performances se dégradent dans certaines configurations: blocs de données de petite taille, turbo-codes à nombre élevé de dimensions, turbo-code en bloc utilisé sur des canaux non gaussiens. Le turbo-décodage ne converge pas ou converge vers une
solution sous-optimale conduisant à une information décodée erronée.
Le problème à la base de l'invention est de remédier à ces problèmes de
convergence du turbo-décodage et de fournir des informations décodées non erronées.
De manière générale le procédé de décodage selon l'invention effectue une détection d'erreur sur l'information décodée par le turbo-décodage et en cas d'erreur soustrait aux valeurs pondérées représentant l'information d'entrée une fraction de l'information erronée traduite sous forme de valeurs pondérées. La séquence d'itérations du turbo-décodage est alors répétée sur les valeurs pondérées d'entrée résultantes. Si l'information décodée est à nouveau erronée la contre-réaction précédente est à nouveau appliquée et la séquence d'itérations du turbo-décodage à nouveau répétée. Le procédé se poursuit ainsi de suite jusqu'à ce que l'information décodée soit sans erreur ou qu'un nombre donné d'itérations soit atteint. Le principe sous-jacent est que, la contribution due à l'information erronée étant partiellement enlevée de l'information d'entrée, le turbo- décodage converge désormais vers une solution non erronée. Dans le cas o la présence d'erreurs résiduelles dans l'information décodée est due à la non optimalité du turbo-décodeur, la modification de l'information d'entrée augmente la probabilité que le turbo-décodage sorte d'un optimum local et converge vers l'information présentant le maximum de vraisemblance. De manière plus précise le procédé de décodage selon l'invention est définie par la revendication 1. Des modes avantageux de réalisation sont revendiqués
dans les revendications dépendantes.
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 réalisation, ladite description étant faite en relation avec les figures
jointes parmi lesquelles La Fig. I représente schématiquement la structure d'un turbo-codeur de type PCCC; La Fig. 2 représente schématiquement la structure d'un turbo-codeur de type SCCC; La Fig. 3 représente schématiquement la structure d'un turbo-codeur en bloc; La Fig. 4a représente schématiquement la structure d'un turbo-décodeur à structure série correspondant au turbo-codeur de la Fig. I; La Fig. 4b représente schématiquement la structure d'un turbo-décodeur à structure parallèle correspondant au turbo-codeur de la Fig. 1; La Fig. 5 représente schématiquement la structure d'un turbo-décodeur correspondant au turbo-codeur de la Fig. 2; La Fig. 6 représente schématiquement la structure d'un turbo-décodeur correspondant au turbo-codeur de la Fig. 3; La Fig. 7 représente schématiquement un turbo-codeur selon un premier mode de réalisation de l'invention; La Fig. 8a représente schématiquement un turbo-décodeur du type représenté en Fig. 4a, selon un second mode de réalisation de l'invention; La Fig. 8b représente schématiquement un turbo-décodeur du type représenté en Fig. 4a selon un troisième mode de réalisation de l'invention; La Fig. 9a représente schématiquement un turbo-décodeur du type représenté en Fig. 4b selon un second mode de réalisation de l'invention La Fig. 9b représente schématiquement un turbodécodeur du type représenté en Fig. 4b selon un troisième mode de réalisation de l'invention; La Fig. 1Oa représente schématiquement un turbo-décodeur du type représenté en Fig. 5 selon un deuxième mode de réalisation de l'invention; La Fig. lOb représente schématiquement un turbo-décodeur du type représenté en Fig. 5 selon un troisième mode de réalisation de l'invention; La Fig. I 1 représente schématiquement un turbo-décodeur du type représenté en Fig. 6 selon un deuxième mode de réalisation de l'invention; Un premier mode de réalisation de l'invention est illustré en Fig. 7. Le dispositif de turbo-décodage représenté comprend un turbo-décodeur classique (70) qui peut être, par exemple, l'un quelconque des turbo-décodeurs illustrés en Figs. 4a, 4b, 5 ou 6. Nous supposerons pour simplifier l'exposé que les décodeurs élémentaires utilisés sont du type LogAPP bien que tout autre type de décodeur élémentaire puisse
être utilisé.
Le commutateur (78) est tout d'abord basculé sur l'entrée et le dispositif reçoit du démodulateur une information d'entrée à décoder représentée par un
ensemble de valeurs pondérées initiales. L'information d'entrée est fournie au turbo-
décodeur (70). L'information turbo-décodée est transmise à un détecteur d'erreur (71) commandant un second commutateur (72). Ce dernier oriente l'information décodée vers la sortie (73) si l'information turbo-décodée est dépourvue d'erreur et vers un
turbo-codeur (74) correspondant au turbo-décodeur (70) dans le cas contraire.
L'information erronée est alors réencodée par le turbo-codeur puis transformée, comme nous le verrons plus loin, en valeurs pondérées par l'opérateur (75). Ces valeurs pondérées sont ensuite multipliées (76) par un coefficient d'atténuation (x avant d'être retranchées aux valeurs pondérées initiales, ce qui est représenté symboliquement par le commutateur (78) en position haute. L'information d'entrée
ainsi modifiée est à nouveau turbo-décodée et une nouvelle détection d'erreur a lieu.
Le procédé de décodage se poursuit ainsi de suite jusqu'à ce que l'information turbo-
décodée soit dépourvue d'erreur ou que le nombre de cycles de turbodécodage (chaque cycle consistant en une séquence d'itérations) atteigne une valeur donnée,
fonction par exemple de la qualité du service.
L'opérateur (75) exprime l'information turbo-décodée qui est issue d'une décision dure, en termes de valeurs pondérées telles que présentes en sortie du démodulateur. Ainsi dans le cas classique d'une modulation binaire du type BPSK, o la sortie du démodulateur peut s'écrire (2xk-l) + nk o Xk est la valeur d'un bit transmis et nk est le bruit reçu, une information turbo-décodée exprimée en séquence de bits sera transformée en séquence de valeurs +1 (si le bit correspondant vaut 1) et de valeurs - I (si le bit correspondant est nul). La détection d'erreur peut se faire de manière directe en incorporant dans le code un code de détection d'erreur (CRC par exemple) ou bien, comme dans le cas d'un turbo-décodeur en bloc, en utilisant un calcul de syndrome si le turbo-code
comporte un code élémentaire en bloc.
La détection d'erreur peut également se faire de manière indirecte en utilisant un critère de convergence des valeurs pondérées produites par les itérations successives du turbo-décodage. La convergence peut être mesurée par un écart entropique entre les distributions de probabilités correspondant à ces valeurs pondérées, comme décrit par exemple dans l'article de M. Moher, intitulé "<Decoding via cross-entropy minimization "> publié dans Proceedings of Globecom 1993, IEEE
Global Telecommunications Conference, vol. 2, pages 809-813.
La convergence peut encore être appréciée à partir d'une moyenne de la valeur absolue de l'information extrinsèque fournie par les différents décodeurs élémentaires, comme décrit dans la demande de brevet FR0001984 déposée le
14.2.2000 par la demanderesse.
Selon une variante non représentée du premier mode de réalisation, la détection d'erreur et le turbo-codage ne s'appliquent plus seulement à la sortie du
turbo-décodeur, c'est à dire à l'information de sortie de la dernière itération du turbo-
décodage mais aux informations de sortie des dernières itérations. Chaque information de sortie est alors à nouveau turbo-codée avant d'être transformée en ensemble de valeurs pondérées. Ces valeurs sont ensuite multipliées par un coefficient d'atténuation caj qui peut être propre à l'itération dont elles sont issues ou encore commun à ces itérations. Après multiplication, les valeurs pondérées issues de chacune des dernières itérations sont retranchées aux valeurs pondérées d'entrée. De la sorte, plusieurs contributions de solutions erronées peuvent être simultanément retranchées de l'information d'entrée. Cette variante de réalisation est avantageuse dans le cas o le procédé de turbo-codage ne converge pas mais oscille entre plusieurs
solutions erronées. Le choix du coefficient ct ou le cas échéant des coefficients as doit être
guidé par plusieurs impératifs. Il(s) doi(ven)t être à la fois suffisamment élevé(s) pour supprimer la contribution de la (les) solution(s) erronée(s) et suffisamment faible(s)
pour ne pas trop perturber l'information d'entrée à décoder.
Il a été constaté qu'une valeur de ca l'ordre de 0.001 semble convenir relativement bien pour des turbo-codes fonctionnant sur les blocs de l'ordre de 100 bits, sur un canal gaussien et à fort rapport signal sur bruit. Cependant dans le cas général l'ajustement fin de cette valeur dépend de nombreux paramètres: le type de turbo-code, le type de canal, le rapport signal sur bruit, le nombre maximum d'itérations toléré avant de traiter la séquence suivante, etc. Le choix du (des) coefficient(s) peut être fait une fois pour toutes lors de la conception du système ou bien être dynamique en fonction de l'évolution des conditions de transmission, de la qualité du service etc. Dans ce dernier cas, le(s) coefficient(s) adaptatif(s) est(sont) obtenu(s) par lecture dans une table prédéterminée
ou par un algorithme de calcul.
La Fig. 8a illustre un turbo-décodeur du type représenté en Fig. 4a
et transformé selon un deuxième mode de réalisation de l'invention. Ce turbo-
décodeur, de structure série, est capable de décoder des données codées par un turbo-
codeur de type PCCC tel que celui de la Fig. 1.
Le décodeur comprend un ensemble de décodeurs élémentaires concaténés en série, chaque décodeur élémentaire (81i) correspondant au codeur élémentaire (l l i) du turbo-codeur. Les décodeurs élémentaires utilisés sont ici du type
LogAPP bien que tout autre type de décodeur élémentaire puisse être utilisé.
Pour des raisons de clarté les entrelaceurs et désentrelaceurs n'ont pas été
représentés.
L'opération de décodage comprend une séquence d'itérations I à k, chaque itération consistant en un ensemble identique d'opérations de décodage élémentaire. L'entrée (e) du turbo-décodeur reçoit du démodulateur une information sous forme de valeurs pondérées fonction des probabilités respectives des symboles reçus. L'information reçue contient une partie (X) correspondant à l'information systématique et des parties redondantes (Yi) correspondant respectivement aux informations en sortie des codeurs élémentaires. Un démultiplexeur (80) assure le démultiplexage des différentes parties de l'information reçue. Dans un premier temps les commutateurs (87?) sont basculés sur les sorties du démultiplexeur. Le processus de décodage est alors identique à celui décrit pour la Fig. 4a. Il comporte un nombre k d'itérations, représentant chacune un cycle complet de décodage. Au terme de ces k itérations, les informations de sortie de chaque décodeur élémentaire (810) sont soumises à une détection d'erreur (820). La détection d'erreur peut être directe ou indirecte, selon l'une des méthodes vues plus haut. Dans le cas o elle est directe, les décodeurs opèrent sur les valeurs après seuillage. Si le détecteur (82,), en sortie du détecteur élémentaire terminal (81l), ne détecte par d'erreur, autrement dit si l'information turbo-décodée ne présente pas d'erreur, cette dernière est orientée vers la sortie (non représentée). En revanche si cette information turbo-décodée est erronée, toute information décodée élémentaire erronée issue d'un décodeur (820), représentée sous forme de valeurs seuillées, est réencodée par le codeur élémentaire correspondant (830) avant d'être transformée en valeurs pondérées par l'opérateur (840). Ces valeurs pondérées sont ensuite multipliées par un coefficient d'atténuation cai, i=l..n, avant d'être retranchées aux valeurs pondérées d'entrée du décodeur élémentaire correspondant (81 i), ce qui est représenté symboliquement par les commutateurs (870) en position haute. L'information d'entrée ainsi modifiée est alors soumise à un nouveau cycle de turbo-décodage. Le procédé se poursuit ainsi de suite jusqu'à ce que l'information turbodécodée soit dépourvue d'erreur ou que le nombre de cycles de turbodécodage (chaque cycle consistant en une séquence d'itérations) atteigne une valeur donnée, fonction par exemple de la qualité du service. Les coefficients (x peuvent être choisis distincts ou identiques,
fixes ou adaptatifs.
Selon une variante (non représentée) du deuxième mode de réalisation, la détection d'erreur et la rétroaction des solutions erronées peuvent se faire à partir des dernières itérations et non plus seulement de la dernière itération. Cette variante met donc en oeuvre un pluralité de jeux de coefficients d'atténuation. Ces coefficients notés cxj,, o i est l'indice du décodeur élémentaire et j l'indice de l'itération, peuvent être, là encore, choisis distincts ou identiques, fixes ou adaptatifs. Commne nous l'avons vu plus haut, cette variante de réalisation est avantageuse dans le cas o le procédé de turbo-codage ne converge pas mais oscille entre plusieurs solutions erronées. La Fig. 8b illustre un turbo-décodeur du type représenté en Fig. 4a et transformé selon un troisième mode de réalisation de l'invention. Ce turbo-décodeur,
également de structure série, est capable de décoder des données codées par un turbo-
codeur de type PCCC tel que celui de la Fig. 1. Le fonctionnement de ce turbo-
décodeur est similaire à celui de la Fig. 8a et ne sera donc pas répété. Il diffère néanmoins en ce que les informations élémentaires erronées ne sont pas réencodées par le codeur élémentaire correspondant mais turbocodées, la rétroaction ne se faisant plus décodeur élémentaire par décodeur élémentaire mais globalement sur l'entrée (e)
du turbo-décodeur.
Selon une variante (non représentée) du troisième mode de réalisation, la détection d'erreur et la rétroaction des solutions erronées peuvent se faire à partir des dernières itérations et non plus seulement de la dernière itération. Les contributions
des solutions erronées sont toutes retranchées à l'entrée du turbodécodeur.
La Fig. 9a illustre un turbo-décodeur du type représenté en Fig. 4b et transformé selon un deuxième mode de réalisation de l'invention. Ce turbodécodeur, de structure parallèle, est capable de décoder des données codées par un turbo-codeur
de type PCCC tel que celui de la Fig. 1.
Le décodeur comprend un ensemble de décodeurs élémentaires concaténés en parallèle, chaque décodeur élémentaire (91i) correspondant au codeur élémentaire (1 li) du turbo-codeur. Les décodeurs élémentaires utilisés sont ici du type
LogAPP bien que tout autre type de décodeur élémentaire puisse être utilisé.
Pour des raisons de clarté les entrelaceurs et désentrelaceurs n'ont pas été représentés. L'opération de décodage comprend une séquence d'itérations I à k, chaque itération consistant en un ensemble identique d'opérations de décodage élémentaire. L'entrée (e) du turbo-décodeur reçoit du démodulateur une information sous forme de valeurs pondérées fonction des probabilités respectives des symboles reçus. L'information reçue contient une partie (X) correspondant à l'information systématique et des parties redondantes (Yi) correspondant respectivement aux informations en sortie des codeurs élémentaires. Un démultiplexeur (90) assure le démultiplexage des différentes parties de l'information reçue. Dans un premier temps les commutateurs (970) sont basculés sur les sorties du démultiplexeur. Le processus de décodage est alors identique à celui de la Fig. 4b. Il comporte un nombre k d'itérations, représentant chacune un cycle complet de décodage. Au terme de ces k itérations, les informations de sortie de chaque décodeur élémentaire (91i) sont soumises à une détection d'erreur (92,). La détection d'erreur peut être directe ou indirecte, selon l'une des méthodes vues plus haut. Dans le cas o elle est directe, les décodeurs opèrent sur les valeurs après seuillage. Si aucun des détecteurs (92i) ne détecte d'erreur, les valeurs pondérées issues de chaque décodeur sont sommées et la somme seuillée comme en Fig. 4b. En revanche, si un des détecteurs détecte une erreur, l'information décodée élémentaire issue du décodeur (92i), représentée sous forme de valeurs seuillées, est réencodée par le codeur élémentaire correspondant (93i) avant d'être transformée en valeurs pondérées par l'opérateur (94i). Ces valeurs pondérées sont ensuite multipliées par un coefficient d'atténuation ctai, i=l..n, avant d'être retranchées (96i) aux valeurs pondérées d'entrée du décodeur élémentaire correspondant (91 i), ce qui est représenté symboliquement par les commutateurs (97j) en position haute. L'information d'entrée ainsi modifiée est alors soumise à un nouveau cycle de turbo-décodage. Le procédé se poursuit ainsi de suite jusqu'à ce qu'aucun des détecteurs (92f) ne détecte plus d'erreur ou que le nombre de cycles de turbo-décodage (chaque cycle consistant en une séquence d'itérations) atteigne une valeur donnée, fonction par exemple de la qualité du service. Les coefficients ai peuvent choisis distincts ou identiques, fixes ou adaptatifs. Selon une version alternative (non représentée) de ce deuxième mode de réalisation, la détection d'erreur n'est pas réalisée dimension par dimension en sortie des décodeurs élémentaires mais directement sur la sortie turbo-décodée. Les
détecteurs (92i) sont supprimés et un seul détecteur d'erreur en sortie du turbo-
détecteur commande le réencodage (93i) des informations décodées élémentaires, leur transformation en valeurs pondérées (94i), l'atténuation (95) et la soustraction (96i)
aux informations d'entrée élémentaires.
Selon une variante (non représentée) du deuxième mode de réalisation, la détection d'erreur et la rétroaction des solutions erronées se font à partir des dernières itérations et non plus seulement de la dernière itération. Les contributions des solutions erronées des dernières itérations sont toutes retranchées aux entrées des décodeurs élémentaires et une nouveau cycle de turbo-décodage est effectué. Le procédé se poursuit ainsi de suite. Cette variante met donc en oeuvre un pluralité de jeux de coefficients d'atténuation. Ces coefficients notés ctij, o i est l'indice du décodeur élémentaire et j l'indice de l'itération, peuvent être, là encore, choisis
distincts ou identiques, fixes ou adaptatifs.
La Fig. 9b illustre un turbo-décodeur du type représenté en Fig. 4b et transformé selon un troisième mode de réalisation de l'invention. Ce turbo-décodeur, de structure parallèle, est capable de décoder des données codées par un turbo-codeur de type PCCC tel que celui de la Fig. 1. Le fonctionnement de ce turbo-décodeur est similaire à celui de la Fig. 9a et ne sera donc pas répété. Il diffère néanmoins en ce que les informations élémentaires erronées ne sont pas réencodées par le codeur élémentaire correspondant mais turbo-codées, la rétroaction ne se faisant plus décodeur élémentaire par décodeur élémentaire mais globalement sur l'entrée (e) du turbo-décodeur. Selon une version alternative (non représentée) de ce troisième mode de réalisation, la détection d'erreur n'est pas réalisée dimension par dimension en sortie des décodeurs élémentaires mais directement sur la sortie turbo-décodée. Les
détecteurs (92i) sont supprimés et un seul détecteur d'erreur en sortie du turbo-
détecteur commande le réencodage (93i) des informations décodées élémentaires, leur transformation en valeurs pondérées (94i), I'atténuation (95i) et la soustraction (96) à
l'entrée (e) du turbo-décodeur.
Selon une variante (non représentée) du troisième mode de réalisation, la détection d'erreur et la rétroaction des solutions erronées peuvent se faire à partir des dernières itérations et non plus seulement de la dernière itération. Les contributions
des solutions erronées sont toutes retranchées à l'entrée (e) du turbodécodeur.
La Fig. lOa représente schématiquement un turbo-décodeur du type
représenté en Fig. 5 selon un deuxième mode de réalisation de l'invention. Ce turbo-
décodeur est capable de décoder des données codées par un turbo-codeur de type
SCCC tel que celui de la Fig. 3.
Le décodeur comprend un ensemble de décodeurs élémentaires concaténés en série, chaque décodeur élémentaire (101i) correspondant au codeur élémentaire (21i) du turbo-codeur. Les décodeurs élémentaires utilisés sont ici du type
LogAPP bien que d'autres types de décodeur élémentaire puisse être utilisé.
Pour des raisons de clarté les entrelaceurs et désentrelaceurs n'ont pas été représentés. L'opération de décodage proprement dite est identique à celle décrite enti Fig. 5 et ne sera donc pas reprise ici. Au terme des k itérations, les informations de sortie de chaque décodeur élémentaire (101i) sont soumises à une détection d'erreur (102i). La détection d'erreur peut être directe ou indirecte, selon l'une des méthodes vues plus haut. Dans le cas o elle est directe, les décodeurs opèrent sur les valeurs après seuillage. Si le détecteur (1021), en sortie du détecteur élémentaire terminal (1011), ne détecte par d'erreur, autrement dit si l'information turbo-décodée ne présente pas d'erreur, cette dernière est orientée vers la sortie (non représentée). En revanche si cette information turbo-décodée est erronée, toute information décodée élémentaire erronée issue d'un décodeur (101), représentée sous forme de valeurs seuillées, est réencodée par le codeur élémentaire correspondant (1030) avant d'être transformée en de valeurs pondérées par l'opérateur (104i). Ces valeurs pondérées sont ensuite multipliées par un coefficient d'atténuation aO, i=l..n, avant d'être retranchées aux valeurs pondérées d'entrée du décodeur élémentaire correspondant (l01i). Le commutateur (107) est placé alors en position basse. L'information d'entrée 1 5 de chacun des décodeurs élémentaires ayant été ainsi modifiée, un nouveau cycle de turbo-décodage est effectué. Le procédé se poursuit ainsi de suite jusqu'à ce que l'information turbo-décodée soit dépourvue d'erreur ou que le nombre de cycles de turbo-décodage (chaque cycle consistant en une séquence d'itérations) atteigne une valeur donnée, fonction par exemple de la qualité du service. Les coefficients ai
peuvent choisis distincts ou identiques, fixes ou adaptatifs.
Selon une variante (non représentée) du deuxième mode de réalisation, la détection d'erreur et la rétroaction des solutions erronées peuvent se faire à partir des dernières itérations et non plus seulement de la dernière itération. Cette variante met donc en oeuvre un pluralité de jeux de coefficients d'atténuation. Ces coefficients notés aij, o i est l'indice du décodeur élémentaire et j l'indice de l'itération, peuvent
être, là encore, choisis distincts ou identiques, fixes ou adaptatifs.
La Fig. 1 Ob représente schématiquement un turbo-décodeur du type représenté en Fig. 5 selon un troisième mode de réalisation de l'invention. Le fonctionnement de ce turbo-décodeur est similaire à celui de la Fig. 10Oa et ne sera donc pas répété. Il diffère néanmoins en ce que les informations élémentaires erronées issue d'un décodeur élémentaire (101i) ne sont pas réencodées par le codeur élémentaire correspondant mais par la série (103,) de codeurs élémentaires Ci,Ci",.., C, (et bien entendu des entrelaceurs associés) traversés lors de la dernière itération. Ainsi chaque sortie d'une série (103i) de codeurs fournit une information turbo-codée qui, après conversion en valeurs pondérées et atténuation, peut être retranchée à l'entrée
(e) du turbo-décodeur.
Selon une variante (non représentée) du troisième mode de réalisation, la détection d'erreur et la rétroaction des solutions erronées peuvent se faire à partir des dernières itérations et non plus seulement de la dernière itération. Les contributions
des solutions erronées sont alors toutes retranchées à l'entrée (e) du turbo-décodeur.
La Fig. 1 1 représente schématiquement un turbo-décodeur du type
représenté en Fig. 6 selon un troisième mode de réalisation de l'invention.
Le décodeur comprend un ensemble de décodeurs élémentaires concaténés en série, chaque décodeur élémentaire Di (111 i) correspondant au codeur élémentaire Ci (310) du turbo-codeur. Les décodeurs utilisent avantageusement l'algorithme de Chase mentionné plus haut. L'ordre des décodeurs importe peu chacun travaillant sur une dimension orthogonale du bloc de données d'entrée. Le décodeur reçoit du démodulateur un bloc de valeurs pondérées de n dimensions,
chaque dimension correspondant à un code élémentaire du code à n dimensions.
L'opération de décodage est identique à celle décrite en Fig. 6. Elle comprend une séquence d'itérations I à k, chaque itération consistant en un ensemble
identique d'opérations de décodage élémentaire.
Au terme des k itérations, les informations de sortie de chaque décodeur élémentaire (11 1i) sont soumises à une détection d'erreur (1 12i). La détection d'erreur peut se faire directement sur les valeurs seuillées en utilisant un calcul de syndrome sur chaque mot selon la dimension i correspondante ou bien indirectement par mesure de convergence, selon l'une des méthodes vues plus haut. Ces valeurs pondérées sont ensuite multipliées par un coefficient d'atténuation xi, i=l..n, avant d'être retranchées (116) dimension par dimension et mot par mot aux valeurs pondérées d'entrée. Le commutateur (117) est placé alors en position haute. L'information d'entrée ayant été ainsi modifiée, un nouveau cycle de turbo-décodage est effectué. Le procédé se poursuit ainsi de suite jusqu'à ce que les détecteurs (1 12i) ne détectent plus d'erreur ou que le nombre de cycles de turbo-décodage (chaque cycle consistant en une séquence
d'itérations) atteigne une valeur donnée, fonction par exemple de la qualité du service.
Les coefficients c(j peuvent être choisis distincts ou identiques, fixes ou adaptatifs.
Selon une variante (non représentée) du deuxième mode de réalisation, la détection d'erreur et la rétroaction des solutions erronées peuvent se faire à partir des dernières itérations et non plus seulement à partir de la dernière itération, Cette variante met donc en ceuvre un pluralité de jeux de coefficients d'atténuation. Ces coefficients notés aij, o i est l'indice du décodeur élémentaire et j l'indice de
l'itération, peuvent être, là encore, choisis distincts ou identiques, fixes ou adaptatifs.
Le turbo-décodeur du type représenté en Fig. 6 peut également être décliné selon un troisième mode de réalisation de l'invention (non représenté). Dans ce mode, les codeurs (1 13i) de la Fig. Il 1 ne sont plus les codeurs élémentaires Ci mais le turbo-codeur complet. Bien entendu, le bloc décodé par le décodeur élémentaire est préalablement débarrassé de toute la partie redondante de sorte que seul le sous-bloc systématique est fourni au turbo-codeur. Les blocs turbo-codés issus des différents turbo-codeurs sont transformées en blocs de valeurs pondérées, atténués et enfin tous
soustraits au bloc de valeurs pondérées d'entrée.
Selon une variante (également non représentée) du troisième mode de réalisation, la détection d'erreur et la rétroaction des solutions erronées peuvent se faire à partir des dernières itérations et non plus seulement à partir de la dernière
I 5 itération.
Bien que la présente invention ait été décrite dans le contexte du turbo-
décodage, elle s'applique également et de manière plus générale à la turbo-égalisation,
la turbo-détection, la démodulation de turbo-TCM (Trellis Coded Modulation).

Claims (22)

REVENDICATIONS
1) Procédé de décodage d'une information codée par turbo-codage d'une information source, l'information codée étant représentée par un ensemble de valeurs pondérées initiales, le procédé comprenant une séquence finie d'itérations; chaque itération procédant à un cycle identique de décodage complet de l'information codée au moyen d'un ensemble d'opérations de décodage élémentaire concaténées en parallèle ou en série séparées par des étapes de désentrelacement et/ou d'entrelacement; chaque opération de décodage élémentaire recevant une première information à décoder représentée par un ensemble de valeurs pondérées d'entrée et au moins une information auxiliaire permettant d'accroître la fiabilité de ladite première information, ladite opération de décodage élémentaire générant une information décodée élémentaire représentée par un ensemble de valeurs pondérées de sortie et une information auxiliaire permettant d'accroître la fiabilité d'une seconde information à décoder; caractérisé en ce qu'au moins la dernière itération de ladite séquence est suivie d'au moins une opération de décision dure fournissant une première information de sortie à partir de l'information décodée élémentaire d'au moins une opération de décodage élémentaire de ladite dernière itération; et que le procédé comprend au moins une opération de détection d'erreur de
ladite première information de sortie et qu'en cas d'erreur -
la première information de sortie ou une seconde information de sortie, obtenue par décision dure à partir de l'information décodée élémentaire d'au moins une opération de décodage élémentaire de ladite dernière itération, est réencodée puis transformée en un ensemble de valeurs pondérées; lesdites valeurs pondérées sont combinées aux valeurs pondérées initiales ou aux valeurs pondérées d'entrée d'une opération de décodage élémentaire de la première itération pour fournir des valeurs pondérées initiales modifiées ou des valeurs pondérées d'entrée modifiées; la séquence d'itérations est répétée en utilisant lesdites valeurs modifiées 2) Procédé de décodage selon la revendication I caractérisé en ce que la première information de sortie est une information turbo- décodée obtenue à partir d'au moins une opération de décodage élémentaire terminale de ladite dernière itération. 3) Procédé de décodage selon la revendication 2 caractérisé en ce qu'en cas d'erreur sur l'information turbo-décodée: la première information de sortie est turbo-codée selon ledit turbo-codage puis transformée en valeurs pondérées;
lesdites valeurs pondérées sont combinées aux valeurs pondérées initiales.
4) Procédé de décodage selon la revendication 2 caractérisé en ce que la seconde information de sortie est obtenue par une pluralité d'opérations de décision dure, chacune opérant sur l'information décodée élémentaire d'une opération de décodage élémentaire de ladite dernière itération et fournissant une information élémentaire de sortie; et qu'en cas d'erreur sur l'information turbo-décodée: chaque information élémentaire de sortie est réencodée puis transformée en un ensemble de valeurs pondérées;
lesdites valeurs pondérées sont combinées aux valeurs pondérées initiales.
) Procédé de décodage selon la revendication 2 caractérisé en ce que la seconde information de sortie est obtenue par une pluralité d'opérations de décision dure, chacune opérant sur l'information décodée élémentaire d'une opération de décodage élémentaire de ladite dernière itération et fournissant une information élémentaire de sortie; et qu'en cas d'erreur sur l'information turbo-décodée chaque information élémentaire de sortie est réencodée puis transformée en un ensemble de valeurs pondérées; lesdites valeurs pondérées issues d'une opération de décodage élémentaire de ladite dernière itération sont combinées aux valeurs pondérées d'entrée de l'opération
de décodage élémentaire correspondante de la première itération.
6) Procédé de décodage selon la revendication 1 caractérisé en ce que la première information de sortie est obtenue par une pluralité d'opérations de décision dure, chacune opérant sur l'information décodée élémentaire d'une opération de décodage élémentaire de ladite dernière itération et fournissant une information élémentaire de sortie; chaque information élémentaire de sortie est soumise à une opération de détection d'erreur; chaque information élémentaire de sortie erronée est réencodée puis transformée en un ensemble de valeurs pondérées;
lesdites valeurs pondérées sont combinées aux valeurs pondérées initiales.
7) Procédé de décodage selon la revendication 1 caractérisé en ce que la première information de sortie est obtenue par une pluralité d'opérations de décision dure, chacune opérant sur l'information décodée élémentaire d'une opération de décodage élémentaire de ladite dernière itération et fournissant une information élémentaire de sortie; chaque information élémentaire de sortie est soumise à une opération de détection d'erreur; chaque information élémentaire de sortie erronée est réencodée puis transformée en un ensemble de valeurs pondérées; lesdites valeurs pondérées issues d'une opération de décodage élémentaire de ladite dernière itération sont combinées aux valeurs pondérées d'entrée de l'opération
de décodage élémentaire correspondante de la première itération.
8) Procédé de décodage selon l'une des revendications 4 à 7 caractérisé en ce
que, l'information source ayant été codée par un turbo-codage à concaténation parallèle d'opérations de codage élémentaire associées à des étapes d'entrelacement, chaque itération comprend un ensemble d'opérations de décodage élémentaire concaténées en parallèle, chaque opération de décodage élémentaire correspondant à une opération de codage élémentaire et étant associée à une étape d'entrelacement ou de désentrelacement; chaque opération de décodage élémentaire d'une itération fournit une information auxiliaire de fiabilité à au moins une opération de décodage élémentaire
distincte de l'itération suivante.
9) Procédé de décodage selon les revendications 8 et 4 ou 8 et 6 caractérisé en
ce que le réencodage de l'information de sortie est ledit turbo-codage.
10) Procédé de décodage selon les revendications 8 et 5 ou 8 et 7 caractérisé en
ce que le réencodage d'une information élémentaire de sortie est effectué au moyen d'une opération de codage élémentaire correspondant à l'opération de décodage
élémentaire dont l'information élémentaire de sortie est issue.
I l) Procédé de décodage selon l'une des revendications 4 à 7 caractérisé en ce
que l'information source ayant été codée par un turbo-codage à concaténation parallèle d'opérations de codage élémentaire associées à des étapes d'entrelacement, chaque itération comprend un ensemble d'opérations de décodage élémentaire concaténées en série, chaque opération de décodage élémentaire correspondant à une opération de codage élémentaire; chaque opération de décodage élémentaire d'une itération fournit une information auxiliaire de fiabilité à au moins une opération de décodage élémentaire
de la même itération ou de l'itération suivante.
12) Procédé de décodage selon les revendications 1 et 4 ou 1 1 et 6 caractérisé
en ce que le réencodage de l'information de sortie est ledit turbo-codage.
13) Procédé de décodage selon les revendications 1 1 et 5 ou 1 1 et 7 caractérisé
en ce que le réencodage d'une information de sortie élémentaire est effectué au moyen d'une opération de codage élémentaire correspondant à l'opération de décodage
élémentaire dont l'information de sortie élémentaire est issue.
14) Procédé de décodage selon l'une des revendications 8 à 13 caractérisé en ce
que l'information source ayant été codée par un turbo-codage à concaténation
parallèle d'opérations de codage élémentaire de type récursif systématique.
chaque opération de décodage élémentaire d'une itération fournit comme information auxiliaire de fiabilité une information extrinsèque, accroissement de fiabilité apportée par ladite opération élémentaire à l'estimation de l'information systématique.
) Procédé de décodage selon l'une des revendications 4 à 7 caractérisé en ce
que, l'information source ayant été codée par un turbo-codage à concaténation série d'opérations de codage élémentaire séparées par des étapes d'entrelacement, chaque itération comprend un ensemble d'opérations de décodage élémentaire concaténées en série, chaque opération de décodage élémentaire correspondant à une opération de codage élémentaire deux opérations de décodage élémentaire de rangs consécutifs d'une même itération étant séparées par une étape de désentrelacement et deux opérations de décodage élémentaire de rangs consécutifs de deux itérations consécutives étant séparées par une étape d'entrelacement, chaque opération de décodage élémentaire d'une itération fournit une information auxiliaire de fiabilité à l'opération de décodage de rang précédent de
l'itération suivante.
16) Procédé de décodage selon les revendications 15 et 5 ou 15 et 7 caractérisé
en ce que le réencodage d'une information élémentaire de sortie est effectué au moyen d'une série d'opérations de codage élémentaire correspondant à la série d'opérations de décodage élémentaire de ladite dernière itération dont est issue ladite information
élémentaire de sortie.
17) Procédé de décodage selon les revendications 15 et 5 ou 15 et 7 caractérisé
en ce que le réencodage d'une information de sortie élémentaire est effectué au moyen d'une opération de codage élémentaire correspondant à l'opération de décodage
élémentaire dont l'information de sortie élémentaire est issue.
18) Procédé de décodage selon l'une des revendications 15 à 17 caractérisé en
ce que les opérations de codage élémentaire sont de type récursif systématique.
19) Procédé de décodage selon la revendication 6 caractérisé en ce que l'information source ayant été codée par un turbo-codage produit d'une pluralité d'opérations de codage élémentaire en bloc, chaque itération comprend un ensemble d'opérations de décodage élémentaire concaténé en série, chaque opération de décodage élémentaire d'une dimension correspondant à une opération de codage élémentaire de la même dimension; chaque opération de décodage élémentaire portant sur une dimension fournit une information auxiliaire de fiabilité à l'opération de décodage suivante portant sur une
autre dimension.
) Procédé de décodage selon la revendication 19 caractérisé en ce que le
réencodage de l'information élémentaire de sortie est ledit turbo-codage.
21) Procédé de décodage selon la revendication 19 caractérisé en ce que le réencodage d'une information élémentaire de sortie est effectué par une opération de codage élémentaire correspondant à l'opération de décodage élémentaire dont ladite
information élémentaire de sortie est issue.
22) Procédé de décodage selon l'une des revendications 19 à 21 caractérisé en
ce que la détection d'erreur est effectuée par un calcul de syndrome de code en bloc.
23) Procédé de décodage selon l'une des revendications la 21 caractérisé en ce
que la détection d'erreur est effectuée au moyen d'un code CRC.
24) Procédé de décodage selon la revendication 14 caractérisé en ce que la détection d'erreur est effectuée à partir d'une mesure statistique de l'information
extrinsèque d'une pluralité d'opérations de décodage élémentaire.
) Procédé de décodage selon l'une des revendications précédentes, caractérisé
en ce que la détection d'erreur est effectuée en mesurant la convergence des valeurs pondérées de sortie d'au moins une opération de décodage élémentaire pour une
pluralité d'itérations successives.
26) Procédé de décodage selon la revendication 24 caractérisé en ce que la
mesure de convergence est un écart entropique.
27) Procédé de décodage selon l'une des revendications précédentes caractérisé
en ce que les valeurs pondérées sont exprimées en logarithmes de valeur de vraisemblance et que l'opération de combinaison consiste à soustraire une fraction des valeurs pondérées obtenues par transformation de la première ou seconde information de sortie aux valeurs initiales ou aux valeurs pondérées d'entrée. 28) Procédé de décodage selon la revendication 27 caractérisé en ce que la fraction des valeurs pondérées est obtenue par leur multiplication avec des coefficients adaptatifs fonction du type de turbo-code et/ou du rapport signal sur bruit et/ou du
type d'un canal de transmission.
29) Procédé de décodage selon l'une des revendications précédentes caractérisé
en ce que chacune des dernières itérations de ladite séquence est suivie de ladite opération de décision dure ou de ladite pluralité d'opérations de décision dure, de ladite opération de détection d'erreur ou de ladite pluralité d'opérations de détection d'erreur, de l'opération de combinaison avec les valeurs pondérées initiales ou avec
des valeurs pondérées d'entrée avant que ladite séquence d'itérations soit répétée.
) Procédé de décodage selon la revendication 29 caractérisé en ce que ladite
séquence est répétée tant qu'une erreur est détectée.
31) Procédé de décodage selon la revendication 29 caractérisé en ce que ladite
séquence est répétée jusqu'à ce qu'un nombre prédéterminé de répétitions soit atteint.
FR0005682A 2000-05-03 2000-05-03 Procede de turbo-decodage avec reencodage des informations erronees et retroaction Expired - Fee Related FR2808632B1 (fr)

Priority Applications (6)

Application Number Priority Date Filing Date Title
FR0005682A FR2808632B1 (fr) 2000-05-03 2000-05-03 Procede de turbo-decodage avec reencodage des informations erronees et retroaction
US09/827,093 US6845481B2 (en) 2000-05-03 2001-04-06 Turbodecoding method with re-encoding of erroneous information and feedback
EP01109885A EP1152542B1 (fr) 2000-05-03 2001-04-23 Procédé de turbo-décodage avec réencodage des informations erronées et rétroaction
DE60135177T DE60135177D1 (de) 2000-05-03 2001-04-23 Turbodekodierungsverfahren mit Wiederkodierung von fehlerhafter Information und Rückkoppelung
JP2001129111A JP2002026742A (ja) 2000-05-03 2001-04-26 ソース情報のターボ符号化を伴う情報復号化方法
CNB011179449A CN1258885C (zh) 2000-05-03 2001-05-08 带有错误信息重新编码和反馈的透博译码方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR0005682A FR2808632B1 (fr) 2000-05-03 2000-05-03 Procede de turbo-decodage avec reencodage des informations erronees et retroaction

Publications (2)

Publication Number Publication Date
FR2808632A1 true FR2808632A1 (fr) 2001-11-09
FR2808632B1 FR2808632B1 (fr) 2002-06-28

Family

ID=8849874

Family Applications (1)

Application Number Title Priority Date Filing Date
FR0005682A Expired - Fee Related FR2808632B1 (fr) 2000-05-03 2000-05-03 Procede de turbo-decodage avec reencodage des informations erronees et retroaction

Country Status (6)

Country Link
US (1) US6845481B2 (fr)
EP (1) EP1152542B1 (fr)
JP (1) JP2002026742A (fr)
CN (1) CN1258885C (fr)
DE (1) DE60135177D1 (fr)
FR (1) FR2808632B1 (fr)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2849304A1 (fr) * 2002-12-23 2004-06-25 Samsung Electronics Co Ltd Procede et dispoitif de decodage de codes concatenes par recyclage de bits de parite

Families Citing this family (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020034269A1 (en) * 2000-07-28 2002-03-21 Victor Demjanenko Use of soft-decision or sum-product inner coders to improve the performance of outer coders
JP2003152553A (ja) * 2001-11-13 2003-05-23 Ntt Docomo Inc 復号方法及び通信装置
FR2834146A1 (fr) * 2001-12-20 2003-06-27 St Microelectronics Sa Turbo-decodeur compact a haute efficacite
GB2388755B (en) * 2002-05-17 2005-04-20 Phyworks Ltd Switching circuit for decoder
US7100101B1 (en) * 2002-11-08 2006-08-29 Xilinx, Inc. Method and apparatus for concatenated and interleaved turbo product code encoding and decoding
US7206987B2 (en) * 2003-04-30 2007-04-17 Hewlett-Packard Development Company, L.P. Error detection and correction in a layered, 3-dimensional storage architecture
US8577026B2 (en) 2010-12-29 2013-11-05 Ternarylogic Llc Methods and apparatus in alternate finite field based coders and decoders
US7877670B2 (en) * 2005-12-06 2011-01-25 Ternarylogic Llc Error correcting decoding for convolutional and recursive systematic convolutional encoded sequences
US20110064214A1 (en) * 2003-09-09 2011-03-17 Ternarylogic Llc Methods and Apparatus in Alternate Finite Field Based Coders and Decoders
JP4321394B2 (ja) * 2004-07-21 2009-08-26 富士通株式会社 符号化装置、復号装置
US7696946B2 (en) 2004-08-18 2010-04-13 Ruckus Wireless, Inc. Reducing stray capacitance in antenna element switching
US7292198B2 (en) 2004-08-18 2007-11-06 Ruckus Wireless, Inc. System and method for an omnidirectional planar antenna apparatus with selectable elements
US7652632B2 (en) 2004-08-18 2010-01-26 Ruckus Wireless, Inc. Multiband omnidirectional planar antenna apparatus with selectable elements
US7358912B1 (en) 2005-06-24 2008-04-15 Ruckus Wireless, Inc. Coverage antenna apparatus with selectable horizontal and vertical polarization elements
US7646343B2 (en) 2005-06-24 2010-01-12 Ruckus Wireless, Inc. Multiple-input multiple-output wireless antennas
US7893882B2 (en) 2007-01-08 2011-02-22 Ruckus Wireless, Inc. Pattern shaping of RF emission patterns
US8037394B2 (en) * 2007-06-29 2011-10-11 Hitachi Global Storage Technologies Netherlands, B.V. Techniques for generating bit reliability information in a post-processor using an error correction constraint
US8217843B2 (en) 2009-03-13 2012-07-10 Ruckus Wireless, Inc. Adjustment of radiation patterns utilizing a position sensor
US20100299579A1 (en) * 2009-05-21 2010-11-25 Ternarylogic Llc Methods and Systems for Error-Correction in Convolutional and Systematic Convolutional Decoders in Galois Configuration
US8756668B2 (en) 2012-02-09 2014-06-17 Ruckus Wireless, Inc. Dynamic PSK for hotspots
US9634403B2 (en) 2012-02-14 2017-04-25 Ruckus Wireless, Inc. Radio frequency emission pattern shaping
US10186750B2 (en) 2012-02-14 2019-01-22 Arris Enterprises Llc Radio frequency antenna array with spacing element
US9130748B2 (en) * 2012-02-25 2015-09-08 Telefonaktiebolaget L M Ericsson (Publ) Hybrid automatic repeat request with feedback dependent BIT selection
US9092610B2 (en) 2012-04-04 2015-07-28 Ruckus Wireless, Inc. Key assignment for a brand
CN105356895A (zh) * 2015-11-26 2016-02-24 航天恒星科技有限公司 一种Turbo码译码方法及装置
US10848182B2 (en) 2018-09-13 2020-11-24 Apple Inc. Iterative decoding with early termination criterion that permits errors in redundancy part
CN110690907B (zh) * 2019-09-27 2023-04-25 电子科技大学 一种已知支路信息turbo码删除模式估计方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1999009696A1 (fr) * 1997-08-14 1999-02-25 Ericsson Inc. Procedes et systemes de communication utilisant un decodage selectif recursif
US6029264A (en) * 1997-04-28 2000-02-22 The Trustees Of Princeton University System and method for error correcting a received data stream in a concatenated system

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5321705A (en) * 1990-11-21 1994-06-14 Motorola, Inc. Error detection system
US5278871A (en) * 1992-03-19 1994-01-11 Motorola, Inc. Method and apparatus for estimating signal weighting parameters in a receiver
US5721745A (en) * 1996-04-19 1998-02-24 General Electric Company Parallel concatenated tail-biting convolutional code and decoder therefor
US5936972A (en) * 1997-06-18 1999-08-10 Motorola, Inc. Syndrome-based channel quality or message structure determiner
US6292918B1 (en) * 1998-11-05 2001-09-18 Qualcomm Incorporated Efficient iterative decoding
US6298084B1 (en) * 1998-11-24 2001-10-02 Motorola, Inc. Bad frame detector and turbo decoder
US6233709B1 (en) * 1998-12-07 2001-05-15 Nokia Mobile Phones Ltd. Dynamic iterative decoding for balancing quality of service parameters
US6499128B1 (en) * 1999-02-18 2002-12-24 Cisco Technology, Inc. Iterated soft-decision decoding of block codes

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6029264A (en) * 1997-04-28 2000-02-22 The Trustees Of Princeton University System and method for error correcting a received data stream in a concatenated system
WO1999009696A1 (fr) * 1997-08-14 1999-02-25 Ericsson Inc. Procedes et systemes de communication utilisant un decodage selectif recursif

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
AMBROZE A ET AL: "Practical aspects of iterative decoding", IEE PROCEEDINGS-COMMUNICATIONS, vol. 147, no. 2, April 2000 (2000-04-01), UK, pages 69 - 74, XP002163383 *
SHIBUTANI A ET AL: "Complexity reduction of turbo decoding", AMSTERDAM, SEPT. 19 - 22, 1999,NEW YORK, NY: IEEE,US, vol. CONF. 50, 19 September 1999 (1999-09-19), pages 1570 - 1574, XP002142762, ISBN: 0-7803-5436-2 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2849304A1 (fr) * 2002-12-23 2004-06-25 Samsung Electronics Co Ltd Procede et dispoitif de decodage de codes concatenes par recyclage de bits de parite

Also Published As

Publication number Publication date
US20010039638A1 (en) 2001-11-08
DE60135177D1 (de) 2008-09-18
US6845481B2 (en) 2005-01-18
CN1327306A (zh) 2001-12-19
CN1258885C (zh) 2006-06-07
FR2808632B1 (fr) 2002-06-28
JP2002026742A (ja) 2002-01-25
EP1152542B1 (fr) 2008-08-06
EP1152542A1 (fr) 2001-11-07

Similar Documents

Publication Publication Date Title
FR2808632A1 (fr) Procede de turbo-decodage avec reencodage des informations erronees et retroaction
JP3354554B2 (ja) チャンネル・デコータ及びチャンネル復号化方法
FR2815199A1 (fr) Procedes de turbocodage circulaire de grande distance minimale, et systemes pour leur mise en oeuvre
Kliewer et al. Iterative joint source-channel decoding of variable-length codes using residual source redundancy
FR2804260A1 (fr) Procede de transmission numerique de type a codage correcteur d&#39;erreurs
EP1230736B1 (fr) Procede de decodage de donnees codees a l&#39;aide d&#39;un code entropique, dispositif de decodage et systeme de transmission correspondants
EP1128589B1 (fr) Critère d&#39;interruption pour un décodeur turbo
EP1249940A1 (fr) Procédé d&#39;optimisation, sous contrainte de ressources, de la taille de blocs de données codées
JP3674851B2 (ja) スケーリングフィードバックターボ復号器
FR2807895A1 (fr) Procedes et dispositifs de codage et de decodage et systemes les mettant en oeuvre
EP3311495B1 (fr) Conception de l&#39;entrelaceur pour des codes turbo en fonction du motif de poinçonnage
US20030088820A1 (en) Non linear scaling of reliability values in a turbo decoder system
EP1128588A1 (fr) Procédé de transmission numérique de type à codage correcteur d&#39;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&#39;etats
JP2002535910A (ja) 畳み込みコードのデコーディング方法およびデコーディング装置
EP1134902A1 (fr) Turbo codage/décodage adaptatif
Kliewer et al. Combining FEC and optimal soft-input source decoding for the reliable transmission of correlated variable-length encoded signals
FR2850810A1 (fr) Procede de controle du nombre d&#39;iterations d&#39;un processus de decodage iteratif et dispositif pour la mise en oeuvre du procede
EP1249939B1 (fr) Procédé et dispositif d&#39;optimisation, sous contrainte de performances, de la taille de blocs de données codées
Gracie et al. Performance of a low-complexity turbo decoder and its implementation on a low-cost, 16-bit fixed-point DSP
EP1094612A1 (fr) Dispositif de décodage turbo SOVA avec complexité de normalisation réduite
FR2800941A1 (fr) Procede de decodage de donnees codees a l&#39;aide d&#39;un code entropique, dispositif de decodage et systeme de transmission correspondants
Chang et al. Performance improvement of turbo codes by error range search method in Rayleigh fading channel
FR2804556A1 (fr) Procede et dispositif de decodage a maximum de vraisemblance associes a un turbodecodage, procede et dispositif de codage correspondants et systemes les mettant en oeuvre
WO2018172694A1 (fr) Construction de turbocodes à rendements compatibles

Legal Events

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

Effective date: 20110131