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 PDFInfo
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 56
- 238000001514 detection method Methods 0.000 claims description 34
- 230000009897 systematic effect Effects 0.000 claims description 29
- 230000003044 adaptive effect Effects 0.000 claims description 10
- 230000005540 biological transmission Effects 0.000 claims description 4
- 238000004364 calculation method Methods 0.000 claims description 4
- 208000011580 syndromic disease Diseases 0.000 claims description 3
- 230000001131 transforming effect Effects 0.000 claims 1
- 230000007547 defect Effects 0.000 abstract description 2
- 238000004422 calculation algorithm Methods 0.000 description 16
- 238000013461 design Methods 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 238000007476 Maximum Likelihood Methods 0.000 description 1
- 230000002238 attenuated effect Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/29—Coding, 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/2957—Turbo codes and decoding
- H03M13/296—Particular turbo code structure
- H03M13/2972—Serial concatenation using convolutional component codes
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/29—Coding, 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/2957—Turbo codes and decoding
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/29—Coding, 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/2957—Turbo codes and decoding
- H03M13/2975—Judging correct decoding, e.g. iteration stopping criteria
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/37—Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
- H03M13/3776—Decoding 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
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/65—Purpose and implementation aspects
- H03M13/6577—Representation or format of variables, register sizes or word-lengths and quantization
- H03M13/658—Scaling by multiplication or division
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/29—Coding, 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/2945—Coding, 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)
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.
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)
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)
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)
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)
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 |
-
2000
- 2000-05-03 FR FR0005682A patent/FR2808632B1/fr not_active Expired - Fee Related
-
2001
- 2001-04-06 US US09/827,093 patent/US6845481B2/en not_active Expired - Fee Related
- 2001-04-23 EP EP01109885A patent/EP1152542B1/fr not_active Expired - Lifetime
- 2001-04-23 DE DE60135177T patent/DE60135177D1/de not_active Expired - Fee Related
- 2001-04-26 JP JP2001129111A patent/JP2002026742A/ja not_active Withdrawn
- 2001-05-08 CN CNB011179449A patent/CN1258885C/zh not_active Expired - Fee Related
Patent Citations (2)
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)
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)
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'erreurs | |
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 | |
EP1249940A1 (fr) | Procédé d'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'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'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 | |
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'iterations d'un processus de decodage iteratif et dispositif pour la mise en oeuvre du procede | |
EP1249939B1 (fr) | Procédé et dispositif d'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'aide d'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 |