FR2789824A1 - Procede de correction d'erreurs residuelles a la sortie d'un turbo-decodeur - Google Patents

Procede de correction d'erreurs residuelles a la sortie d'un turbo-decodeur Download PDF

Info

Publication number
FR2789824A1
FR2789824A1 FR9901727A FR9901727A FR2789824A1 FR 2789824 A1 FR2789824 A1 FR 2789824A1 FR 9901727 A FR9901727 A FR 9901727A FR 9901727 A FR9901727 A FR 9901727A FR 2789824 A1 FR2789824 A1 FR 2789824A1
Authority
FR
France
Prior art keywords
matrix
code
line
column
turbo
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
FR9901727A
Other languages
English (en)
Other versions
FR2789824B1 (fr
Inventor
Mohamed Braneci
Patrice Nezou
Pascal Rousseau
Philippe Piret
Dantec Claude Le
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to FR9901727A priority Critical patent/FR2789824B1/fr
Priority to US09/500,425 priority patent/US6578171B1/en
Publication of FR2789824A1 publication Critical patent/FR2789824A1/fr
Application granted granted Critical
Publication of FR2789824B1 publication Critical patent/FR2789824B1/fr
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • 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
    • 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/2906Coding, 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 block 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
    • H03M13/296Particular turbo code structure
    • H03M13/2966Turbo codes concatenated with another code, e.g. an outer block code
    • 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/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/13Linear codes
    • H03M13/15Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
    • H03M13/151Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes using error location or error correction polynomials
    • H03M13/1515Reed-Solomon 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/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/13Linear codes
    • H03M13/19Single error correction without using particular properties of the cyclic codes, e.g. Hamming codes, extended or generalised Hamming 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/2906Coding, 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 block codes
    • H03M13/2909Product codes
    • H03M13/2915Product codes with an error detection code in one dimension

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Error Detection And Correction (AREA)

Abstract

Le procédé de transmission de données binaires par un émetteur (1) vers un récepteur (2) à travers un canal de transmission (3), se caractérise en ce qu'il comporte une fonction de formatage intégrée avec une fonction de codage externe des données binaires. L'invention s'applique en particulier dans le cas où l'émetteur (1) utilise un turbo-codeur (12) à entrelaceur du type " x vers xe ", et où le récepteur (2) utilise un turbo-décodeur (22) à entrelaceur du type " x vers xe ".

Description

L'invention est du domaine général des systèmes de communication. Elle
concerne en particulier un code externe qui permet la correction d'erreurs résiduelles à la sortie d'un turbo-décodeur, en tenant compte des contraintes imposées par l'utilisation d'un turbo-code de manière générale, et plus particulièrement d'un turbo-code basé sur un entrelaceur de type dit "x vers xe" Elle s'applique aussi bien au codage de données représentatives d'une grandeur physique, au codage de données sous forme de codes susceptibles de moduler une grandeur physique, au décodage de signaux modulés en données, qu'au décodage de données représentatives de grandeurs physiques. Ces données peuvent, par exemple, représenter des images, des sons, des données informatiques, des grandeurs électriques, ou
des données mémorisées.
L'invention trouve une application dans le domaine des codes convolutifs. Lorsqu'on utilise ces derniers pour mettre en oeuvre un décodage itératif, ces codes sont fortement améliorés lorsque leurs codeurs contiennent un dispositif de permutation ("entrelaceur"). Dans ce cas, ils sont habituellement appelés " turbo-codes" et le décodeur itératif correspondant est appelé "turbo-décodeur ". Par commodité:
- on appelle l'opération effectuée par le turbo-codeur, un "turbo-
codage "et cette opération fournit une séquence dite " turbo-codée";
- on appelle l'opération effectuée par le turbo-décodeur, un "turbo-
décodage "et cette opération fournit une séquence dite "turbo-décodée ".
Sur ces sujets, des documents qui servent de référence sont, d'une part, I'article de C. BERROU, A. GLAVIEUX et P. THITIMAJSHIMA intitulé "Near Shanon limit error-correcting coding and decoding: turbocodes" publié dans les comptes-rendus de la conférence ICC'93, 1993, pages 1064 à 1070, et d'autre part, l'article de C. BERROU et A. GLAVIEUX intitulé "Near Optimum error-correcting coding and decoding: turbo-codes" publié dans IEEE Transactions on Communications, Volume 44, pages 1261 à 1271, en octobre 1996. Un turbo-codeur parallèle (figure 1) de rendement égal à 1/3 peut être considéré comme une paire de codeurs convolutifs récursifs systématiques (CRS) avec des polynômes diviseurs tels que le premier codeur 120 produise une séquence de contrôle à partir de la séquence de symboles à coder a et que le second codeur 122 produise une séquence de contrôle à partir d'une séquence a* obtenue par entrelacement (ou "permutation" dans un
entrelaceur 121) de la séquence a.
Dans ce contexte, le retour à zéro simultané des deux codes est un
problème classique.
Une manière de le résoudre a été trouvée par un des inventeurs et
elle est résumée ci-dessous.
Dans un but de clarté, on supposera, dans toute la suite, que les deux polynômes diviseurs du turbo-codeur sont égaux et appelés g(x). Soit m le degré du polynôme g(x) et soit No le plus petit entier tel que g(x) soit un diviseur
du polynôme 1 + xNo.
Pour des raisons décrites plus loin, on choisit un polynôme g(x) dont aucun diviseur n'est le carré d'un polynôme de degré égal ou supérieur à
1, et ceci entraîne que No soit un nombre impair.
Soit N la taille de la séquence a choisie de sorte qu'elle soit un
multiple impair de No: N = M'No.
Une séquence quelconque de symboles d'information u pour être turbo- codée doit alors posséder une représentation polynômiale u(x) avec des coefficients binaires de degré N-m-1. Cette séquence u(x) est pré-codée (ou "formatée ") en: N-1 a(x) = u(x) + ax' i=N-m o les m symboles binaires ai sont choisis de telle manière que a(x) soit un multiple de g(x). En conséquence de ce formatage (précodage) et des valeurs choisies des paramètres, si a(x) est un multiple de g(x), alors a*(x) = a(xe) modulo I + xN est aussi multiple de g(x) pour toute valeur de e qui est une puissance de 2. Il est nécessaire de considérer que g(x) n'a pas de facteur multiple parce que, en général, a*(x) possède a garantie d'être divisible
seulement par les facteurs irréductibles de g(x).
Dans la suite de la description, on appelle "x vers xe " le type des
permutations et des entrelaceurs exposés ci-dessus.
Avec les turbocodes généraux, le décodage est essentiellement une procédure itérative (voir à ce propos le document de C. BERROU et A. GLAVIEUX, "Near optimum error-correcting and decoding: turbocodes ", IEEE
Trans. On Comm., vol. COM-44, pages 1261-1271, octobre 1996).
Deux documents d'art antérieur présentent quelques points de similitudes avec le problème à résoudre de correction d'erreurs résiduelles à la
sortie d'un turbo-décodeur.
Un document brevet US 4 276 646 de Texas-Instruments décrit une méthode et un dispositif de détection et de correction d'erreurs dans un ensemble de données. Dans ce brevet il est décrit une méthode consistant à mettre les informations sous forme de sous-ensembles et à ajouter à chaque sous-ensemble un CRC (Cyclic Redundancy Check) de manière à corriger ledit sous-ensemble. Un article de J. Andersen (" Turbocoding for deep space applications", Proc. IEEE 1995 International Symposium on Information Theory, Whistler, Canada, Sept. 1995) propose l'utilisation d'un code BCH pour
la correction des erreurs résiduelles à la sortie d'un turbo-décodeur.
Ces deux documents présentent des solutions qui possèdent une efficacité assez limitée pour la correction des erreurs résiduelles, notamment si on les appliquent aux turbo-codes du type "x vers xe ". Il existe deux raisons principales à cela La première raison tient au fait qu'ils ne tiennent pas compte de la structure des erreurs résiduelles. En effet, l'étude des turbo-décodeurs avec un entrelaceur du type "x vers xe ", par un des inventeurs, a révélé que les erreurs résiduelles présentent une structure particulière, pour autant que les itérations du décodeur soient poursuivies jusqu'à ce que leur résultat se stabilise. La seconde raison est que les solutions proposées ci-dessus fournissent des séquences codées dont le polynôme associé n'est pas
divisibles par le polynôme diviseur g(x) (leurs sorties ne sont pas formatées).
Une fonction de formatage est donc nécessaire avant le turbo-codage.
L'invention a donc pour but de remédier aux inconvénients précités
d'efficacité de correction d'erreurs résiduelles à la sortie d'un turbodécodeur.
L'invention propose à cet effet un procédé de transmission de données binaires u par un émetteur vers un récepteur à travers un canal de transmission, caractérisé en ce que ledit procédé comporte une fonction de formatage intégrée avec une fonction de codage externe des données binaires u. Cette invention est utilisable dans de nombreux systèmes de télécommunications. Elle s'applique en particulier dans le cas o l'émetteur utilise un turbo-codeur à entrelaceur" x vers xe ", et le récepteur utilise un turbo-décodeur à entrelaceur" x vers xe" Selon un mode plus particulier de réalisation, les données binaires u sont stockées dans une matrice initiale U de L lignes et K colonnes, L et K étant prédéterminées, et un code correcteur d'erreurs (No, K) est affecté à
chaque ligne, formant ainsi une matrice intermédiaire U1.
Selon un mode encore plus particulier de réalisation, un code détecteur d'erreurs (M, L) est affecté à chaque colonne de la matrice intermédiaire U1, formant ainsi une matrice formatée A, présentant M lignes et
No colonnes.
Cette disposition permet de détecter les colonnes en erreur, sur le
principe d'un code produit.
Selon un mode plus particulier de réalisation, le code détecteur d'erreurs (M, L) est réalisé par le rajout de cinq bits supplémentaires calculés avec le polynôme générateur gi(y)=(l+y)(1+y+ y4), o y = x No, No étant le nombre de colonnes de ladite matrice formatée A. On comprend que y est une variable binaire évaluée le long des colonnes de la matrice A. Le terme (1 +y) du polynôme générateur g1(y) permet d'assurer que le codage des données binaires u par les codes (No, K) et (M, L) fournit une séquence qui soit divisible par le polynôme g(x). Le terme (l+y+ y4) est un
exemple de polynôme utilisé pour la détection d'erreurs.
Dans une mise en oeuvre particulière, le code correcteur d'erreurs (No, K) possède une distance minimale (d) supérieure à un nombre prédéterminé, représentant le nombre de colonnes corrigibles de la matrice
reçue A'.
L'invention vise également un procédé de formatage de données binaires pour procédé de transmission selon la revendication, ledit procédé de formatage étant mis en oeuvre par une unité centrale, à partir de données (M, No, L, K) préalablement mémorisées dans une mémoire non volatile, et étant caractérisé en ce qu'il comporte des étapes suivantes: - réception de données binaires u transmises par une source, - stockage des données ligne par ligne dans une matrice initiale U de L lignes et K colonnes, codage de chaque ligne de la matrice initiale U avec le code (No,
K), formant ainsi une matrice intermédiaire U1.
Le procédé de formatage comporte alors préférentiellement en outre les étapes suivantes - codage de chaque colonne de la matrice intermédiaire U1 avec le code (M, L), formant ainsi une matrice formatée A, de taille M x No - lecture de la matrice A ligne par ligne, et génération d'une
séquence a, envoyée au turbo-codeur.
L'invention vise aussi un procédé de décodage de données reçues
sur un canal de transmission, pour procédé de transmission tel qu'exposé ci-
dessus, ledit procédé de décodage étant mis en oeuvre par une unité centrale, à partir de données (M, No, L, K, g, gl) préalablement mémorisées dans une mémoire non volatile, et étant caractérisé en ce qu'il utilise une méthode de
récupération de données par colonnes entières.
L'invention vise également un procédé de décodage de données reçues sur un canal de transmission, pour procédé de transmission selon l'exposé précédent, ledit procédé de décodage étant mis en oeuvre par une unité centrale, à partir de données (M, No, L, K) préalablement mémorisées dans une mémoire non volatile, et étant caractérisé en ce qu'il comporte des étapes suivantes: - réception de données binaires à fournies par un turbo-décodeur, - stockage des données ligne par ligne dans une matrice reçue A' de M lignes et No colonnes, - décodage de chaque colonne j de la matrice reçue A' avec le code (M, L), effacement de la colonne j si une erreur est détectée, formant ainsi une matrice intermédiaire reçue Ul'de taille L x No, Le procédé de décodage comporte alors préférentiellement en outre les étapes suivantes: - décodage de chaque ligne i de la matrice intermédiaire reçue UI' avec le décodeur à effacements (No, K), formant ainsi une matrice finale reçue U' de taille L x K, - lecture de la matrice finale reçue U' ligne par ligne, et génération
de la séquence _, envoyée à une destination.
L'invention vise sous un autre aspect un dispositif de transmission de données binaires u comportant un émetteur, un récepteur, caractérisé en ce que ledit dispositif comporte des moyens adaptés à réaliser de façon intégrée une fonction de formatage et une fonction de codage externe des données
binaires u.
Selon une disposition préférée, l'émetteur comporte un turbo-
codeur à entrelaceur " x vers xe ", et le récepteur comporte un turbodécodeur à
entrelaceur" x vers xe ".
Selon un mode de réalisation préféré, le dispositif comporte des moyens de stockage des données binaires u dans une matrice de L lignes et K colonnes, L et K étant prédéterminées, et d'affectation d'un code correcteur d'erreurs (No, K) à chaque ligne et d'un code détecteur d'erreurs (M, L) à chaque colonne. L'invention vise aussi un réseau, un ordinateur, une caméra, un télécopieur, un appareil photographique, un téléviseur, une imprimante, un scanner et un lecteur audio/vidéo, caractérisés en ce qu'ils comportent un
dispositif tel que succinctement exposé ci-dessus.
L'invention vise aussi: - un moyen de stockage d'informations lisible par un ordinateur ou un microprocesseur conservant des instructions d'un programme informatique caractérisé en ce qu'il permet la mise en oeuvre du procédé de l'invention telle que succinctement exposée ci-dessus, et - un moyen de stockage d'informations amovible, partiellement ou totalement, et lisible par un ordinateur ou un microprocesseur conservant des instructions d'un programme informatique caractérisé en ce qu'il permet la mise
en oeuvre du procédé de l'invention telle que succinctement exposée cidessus.
Les avantages de ce dispositif, de ce réseau, de cet ordinateur, de cette caméra, de ce télécopieur, de cet appareil photographique, de ce téléviseur, de cette imprimante, de ce scanner, de ce lecteur audio/vidéo, et de ces moyens de stockage étant les mêmes que ceux du procédé tel que
succinctement exposé ci-dessus, ils ne sont pas rappelés ici.
La description et les dessins qui suivent permettront de mieux
comprendre les buts et avantages de l'invention. Il est clair que cette
description est donnée à titre d'exemple, et n'a pas de caractère limitatif. Dans
les dessins: -la figure 1 est un schéma fonctionnel d'un turbo codeur; la figure 2 est un schéma fonctionnel d'un système de communication mettant en oeuvre des turbo codes avec un entrelaceur "x vers xe "avec concaténation de codes pour la correction d'erreurs résiduelles; - la figure 3 montre l'organisation de la séquence a avec les poids binaires correspondants dans une matrice pour No = 7 et M = 21; - la figure 4 montre un exemple typique d'erreurs résiduelles, dans le même cas No= 7 et M = 21; - la figure 5 illustre un codage externe appliqué sur une matrice U à K colonnes et L lignes; - la figure 6 illustre un exemple de codage ligne Reed-Solomon (7, ) sur GF(8); - la figure 7 représente, schématiquement, un dispositif électronique incorporant le codeur; - la figure 8 représente, schématiquement, un dispositif électronique incorporant le décodeur; - la figure 9 représente, schématiquement, un organigramme de fonctionnement du codeur externe; - la figure 10 représente, schématiquement, un organigramme de
fonctionnement du décodeur externe.
De façon générale, l'invention est destinée à prendre place dans un système de communication comportant une partie émission 1 et ou une partie réception 2, ces parties étant reliées par un canal de transmission 3,
éventuellement bruité et donc source d'erreurs pour le signal reçu (figure 2).
Pour tenir compte de ces erreurs éventuelles de transmission, et parvenir cependant à une transmission correcte des données initiales, des codes correcteurs et détecteurs d'erreurs sont insérés dans le signal émis pour
corriger les erreurs de transmission.
Dans le cas particulier de l'invention, les parties émission 1 et réception 2 utilisent des dispositifs connus de l'homme de l'art sous le nom de turbo-codeur 12 et turbo-décodeur 22. Encore plus précisément, ils utilisent des turbo-codeur 12 et turbo-décodeur 22 à entrelaceurs de type "x vers xe " décrit
plus haut.
Avant de décrire un mode particulier de réalisation de la présente invention, nous donnons ci-dessous une présentation mathématique de son fonctionnement. On rappelle ici qu'on a supposé que les deux polynômes diviseurs du turbo-codeur 12 sont égaux et appelés g(x). Soit m le degré du polynôme g(x) et soit No le plus petit entier tel que g(x) soit un diviseur du polynôme I + No x. On choisit un polynôme g(x) dont aucun diviseur n'est le carré d'un polynôme de degré égal ou supérieur à 1, et ceci entraîne que No est un
nombre impair.
Comme on l'a dit, l'invention propose un codage externe qui intègre la fonction de formatage et est adaptée à une structure particulière des erreurs
résiduelles en sortie de turbo-décodeur 22.
Cette structure particulière est décrite dans ce qui suit.
Soit aà la version estimée de la séquence a à la sortie du turbo-
décodeur 22. En écrivant la séquence a ligne par ligne dans une matrice formatée A' de M lignes et No colonnes (la figure 3 montre l'ordre d'écriture dans la matrice pour M=21 et No=7), la structure des erreurs traitée par la présente invention est la suivante: - les erreurs sont groupées par paires dans le sens des colonnes et se répartissent sur un nombre faible de colonnes (typiquement 1 colonne) (la
figure 4 donne un exemple typique pour M=21 et No=7).
Comme on le voit sur la figure 2, qui montre un schéma fonctionnel d'un dispositif avec concaténation de codes pour la correction d'erreurs résiduelles, dans la partie émission 1, une source 10 fournit une séquence d'informations binaires u de taille R = N-m. Avant le turbo- codage, ces données sont codées et formatées en une séquence a de taille N, équivalente à une matrice A. A la réception, les opérations inverses sont effectuées pour donner successivement une version estimée à de la séquence a, puis une version
estimée û de la séquence d'information u.
La concentration des erreurs résiduelles sur peu de colonnes de la matrice reçue A' suggère alors une méthode de récupération par colonnes entières. De ce fait, dans la matrice formatée A, un code correcteur d'erreurs est affecté a chaque ligne et un CRC (code détecteur d'erreurs) est affecté à chaque colonne pour permettre la détection des colonnes de la matrice reçue A'
comportant au moins une erreur, sur le principe d'un code produit.
La localisation des colonnes en erreur permet d'augmenter la
capacité du code correcteur qui peut donc être un code très peu complexe.
Deux codes sont donc définis: 1/ un code (No, K) correcteur d'erreurs appliqué à chaque ligne de la matrice initiale U, 2/ un code (M, L) détecteur d'erreurs appliqué à chaque colonne de
la matrice intermédiaire U1 ainsi obtenue.
La figure 5 illustre ces deux codages externes, avec les N0-K colonnes supplémentaires (par rapport à la matrice initiale U) ajoutées à droite en fin de chaque ligne dans la matrice A, et les M-L lignes ajoutées (par rapport à la matrice intermédiaire U1) en fin de chaque colonne. Les valeurs de K et L
sont déterminées par le choix des codes correspondants.
Le choix de chacun des deux codes est donné dans ce qui suit.
Tout d'abord on note que l'organisation des données a en une matrice formatée A présentant M lignes et No colonnes (matrice M x No) permet également d'écrire le polynôme a(x) sous les formes suivantes
NO-1M-1 NO-1 M-1
a(x) aNO+ixo = c" (xN).xi = Id,(x).x",avec: j=o i=o j=o i=o M-1 Cj(X) = aiNO+jxi le polynôme correspondant à la colonne j, et i=0 NO-1
d(x) = aNO+jxi le polynôme correspondant à la ligne i.
]=O NO-i No N-1 Posons y = x No, on a alors a(x)= 3 cj(y).xj j=0 A la réception on peut exprimer chaque colonne de la matrice reçue
A' par pj(y) = cj( y) + ej( y), o ej( y) est un polynôme erreur sur la colonnej.
Supposons qu'il existe w paires d'erreurs aux positions Pi, P2,....
Pw, le polynôme ej( y) peut s'écrire donc: ej(y)=yP (1 +y)+y p2 (1 +y)+.-+y pw (1 +y) =(1 +y).e'i(y) o le polynôme e'j(y) représente les erreurs singulières (erreurs uniques) sur la colonne j. Il est à noter que la division de chaque polynôme associé à une colonne par (1+y) divise le nombre d'erreurs par deux en réduisant toutes les
paires d'erreurs en erreurs singulières.
Un bit est donc réservé sur chaque colonne de la matrice formatée A pour assurer la divisibilité du polynôme associé à chaque colonne de la matrice_formatée A par (1 +y). Ce bit permet également la détection d'un nombre impair d'erreurs, mais il reste insuffisant dans ce cas précis de paires d'erreurs. Pour augmenter la capacité de détection du code, un ou plusieurs bits supplémentaires doivent être réservés à la détection sur chaque colonne de la matrice A.
Dans la description donnée ici à titre d'exemple non limitatif, quatre
bits supplémentaire sont réservés à la détection et calculés en utilisant le
polynôme générateur: 1 +y+y4.
Dans ce cas, on applique à chaque colonne dans la matrice intermédiaire U1 le code (M, L = M - 5) ayant comme polynôme générateur: g1(y)=(1+y)( 1+y+ y4), ce qui revient à dire que I-on ajoute cinq lignes en bas de la matrice U1 formant ainsi la matrice formatée A. En plus de la fonction de détection, ce choix de codage sur les colonnes induit une propriété importante sur la divisibilité du polynôme a(x) par
g(x); cette propriété est démontrée dans ce qui suit.
NO-1 N
On a vu que a(x) = -cj(y).xJavec y = xN .
j=0 On voit que pour que a(x) soit divisible par g(x) il suffit que cj(y) soit divisible par g(x). D'après la construction du code (M, L), cj (y) est divisible par (1+y) et donc par (1 + xN ), or par hypothèse g(x) divise (1 + xN ), et par
conséquent ci (y).
En résumé, le fait que le polynôme associé à chaque colonne (cq
(y)) soit divisible par (1 +y) assure que le polynôme a(x) est divisible par g(x).
C'est une propriété importante qui permet au code externe
d'assurer implicitement la divisibilité du polynôme a(x) par le polynôme g(x).
Ceci justifie l'intérêt de la combinaison de la fonction de formatage des données avec le codage externe, ce qui permet ainsi un gain significatif en
débit utile et en simplicité de traitement.
Lorsque des erreurs sont détectées dans une colonne de la matrice reçue A' par le code (M, L) toute la colonne est effacée car la position des erreurs est inconnue. Le code (No,K) est utilisé comme un décodeur à
effacement seulement.
Soit d la distance minimale du code (No, K). Si on suppose qu'il n'y a que des effacements sur chaque ligne, ce code permet la correction d'au plus d-1 colonnes. Le choix du code (No, K) dépend donc du degré de fiabilité qu'on
veut avoir.
Quelques exemples de codes ayant des capacités de correction ou des rendements différents sont donnés ci-dessous: Avec un code XOR (No, No1), 1 colonne peut être corrigée, et le
rendement est de (No-1)/No.
Avec un code de Hamming (7, 4), 2 colonnes peuvent être
corrigées, et le rendement est de 0,57.
Avec un code Reed-Solomon (7, 5), 2 colonnes peuvent être
corrigées, et le rendement est de 0,71.
Avec un code de Hamming (15, 11), 2 colonnes peuvent être
corrigées, et le rendement est de 0,73.
Un premier exemple de code simple est le codage XOR (No, No-1) qui permet la récupération d'une seule colonne effacée. Dans ce cas, pour l'opération de codage, les éléments de la dernière colonne de la matrice formatée A (matrice de taille M x No) sont calculés de la manière suivante: NO-2 aiNO+NO1 = E aNO+j pour 0 _<i < L i=O Si je est la position de la colonne effacée, la récupération des éléments de cette colonne s'effectue par: NO-1 aiNo+je = aiNo+j, pour 0 < i < L i=0 iÉ je Un second exemple est celui du code de Reed-Solomon (7, 5) sur le corps de Galois à huit éléments GF(8). Pour une capacité de correction
identique au code de Hamming (7, 4), ce code présente un meilleur rendement.
Ce code utilise des symboles de trois bits. Pour avoir une longueur des mots de
code de 7, chaque symbole est codé sur trois lignes de la matrice à 7 colonnes.
La figure 6 illustre alors un exemple de codage ligne Reed-Solomon
(7, 5) sur GF(8).
Les considérations techniques exposées ci-dessus sont indépendantes du rendement du turbocode et peuvent, en conséquence, s'appliquer aussi bien à des turbocodes convolutifs de rendement inférieur ou
égal à 1/3 qu'à des turbocodes convolutifs de rendement supérieur à 1/3.
La description d'un mode particulier de réalisation de la présente
invention va maintenant se poursuivre en regard des figures 7 à 10. Dans cette
description, le canal de transmission utilisé est de type semi-duplex (connu de
l'homme du métier sous son nom anglais de "half-duplex"). Cependant, l'homme du métier peut, sans difficulté réaliser l'invention dans le cas d'un canal
duplex (connu de lui sous son nom anglais "full-duplex").
La figure 7 représente un dispositif électronique émetteur, incorporant un turbo-codeur 12. Dans un tel dispositif, une source 10 alimente un port entrée-sortie 14, conjointement avec un clavier 15 et un lecteur de dispositif de stockage (par exemple lecteur de disque amovible) 16. Le port d'entrée-sortie 14 est relié par un bus 17 de type classique à une unité centrale 18, à un dispositif de mémorisation non volatile (ROM) 19, et à un dispositif de mémoire volatile 24 (RAM). Un écran 25, relié au port entrée-sortie 14, permet l'affichage de données pour l'utilisateur. Le port entrée-sortie 14, le bus 17, l'unité centrale 18 et les dispositifs de mémorisation 19, 20, sont typiquement
intégrés dans un boîtier de micro-ordinateur de type classique.
Le port entrée-sortie 14 est enfin relié au turbo-codeur 12, qui lui-
même alimente un émetteur 13 de type connu.
La mémoire non volatile 19 est adaptée à stocker d'une part un programme permettant la mise en oeuvre du procédé selon l'invention, et d'autre part les données de codage (L, K, M, No, g, gl) caractéristiques du type
de codage préalablement choisi.
La mémoire volatile 24 est adaptée à stocker des informations de
position dans une matrice (i, j) et de nombre de bits (nbrbit).
De même, la figure 8 représente un dispositif électronique récepteur, incorporant un turbo-décodeur 13. Ce dispositif, sensiblement identique à l'émetteur, comporte un récepteur 23 classique, qui envoie le signal reçu à un turbo-décodeur 22, lequel alimenté un port entrée-sortie 14. Ce port entrée-sortie 14 est également relié à un clavier 15, à un lecteur de dispositif de stockage 16, à un écran 25. Le port d'entrée- sortie 14 est ici encore relié par un bus 17 de type classique à une unité centrale 18, à un dispositif de mémorisation non volatile (ROM) 19, et à un dispositif de mémoire volatile 24 (RAM). Le port entrée-sortie 14, le bus 17, l'unité centrale 18 et les dispositifs de mémorisation 19, 20, sont intégrés dans un boîtier de micro-ordinateur de type classique. Le port entrée-sortie 14 envoie les informations traitées par
I'unité centrale 18 à une destination d'informations 20.
Il est clair qu'un même dispositif peut comporter à la fois une partie émetteur et une partie récepteur, la plupart des moyens étant communs à ces
deux fonctions.
Le procédé de formatage et de codage externe est mis en oeuvre par l'unité centrale 18, à partir des données préalablement mémorisées dans la mémoire non volatile 19. Ce procédé est par exemple illustré par l'organigramme de la figure 9. Il comporte des étapes suivantes: E1 - mise à zéro de la variable nbrbit, E2 - réception des données binaires u transmises par la source 10, et incrémentation de la variable nbrbit, tant que la variable nbrbit est inférieure au produit L x K, E3 - stockage des données ligne par ligne dans une matrice de L lignes et K colonnes, E4 - mise à zéro de la variable numéro de ligne i, E5 - codage de la ligne i de la matrice avec le code (No, K) tant que le numéro de ligne i est inférieur ou égal à L-1, et incrémentation du numéro de ligne i, tant que le numéro de ligne i est inférieur à L-1, E6 - mise à zéro de la variable numéro de colonne j,E7 - codage de la colonne j de la matrice avec le code (M, L) tant que le numéro de colonne j est inférieur ou égal à N0-1, et incrémentation du numéro de colonne j, tant que le numéro de colonne jest inférieur à No-1, E8 - lecture de la matrice M x No ligne par ligne, et génération de la
séquence a, envoyée au turbo-codeur 12.
De façon analogue, I'organigramme fonctionnement du décodeur externe, illustré par la figure 10, comporte des étapes suivantes: El0 - mise à zéro de la variable nbrbit,
El - réception des données binaires a fournies par le turbo-
décodeur 23, et incrémentation de la variable nbr bit, tant que la variable nbr bit est inférieure au produit M x No, E12 - stockage des données ligne par ligne dans une matrice de M lignes et No colonnes, E13 mise à zéro de la variable numéro de colonne j, E14 - décodage de la colonne j de la matrice avec le code (M, L), effacement de la colonne j si une erreur est détectée tant que le numéro de colonne jest inférieur ou égal à N0-1, et incrémentation du numéro de colonne j, tant que le numéro de colonne jest inférieur à No-1, E15 - mise à zéro de la variable numéro de ligne i, E16 - décodage de la ligne i de la matrice avec le décodeur à effacements (No, K) tant que le numéro de ligne i est inférieur ou égal à L-1, et incrémentation du numéro de ligne i, tant que le numéro de ligne i est inférieur à
L-1,
E17 - lecture de la matrice L x K ligne par ligne, et génération de la
séquence û, envoyée à la destination 20.
Dans le mode de réalisation décrit plus haut, on a utilisé comme polynôme générateur du code (M, L) le polynôme gi(y)=(1+y)( l+y+ y4). Plus généralement, le code détecteur d'erreurs (M, L) est réalisé en utilisant le polynôme générateur gl(y)=(1+y)g2(y), o g2(y) est un polynôme, de degré quelconque, choisi de façon à augmenter la capacité de détection dudit code
(M, L).
Jusqu'à maintenant un sens privilégié (par défaut) a été choisi pour le l'écriture/lecture et codage/décodage des matrices. Il est cependant évident que la mise en oeuvre de l'invention reste principalement identique si on change dans tout l'exposé ci-dessus toutes les colonnes en lignes et toutes les lignes en colonnes. Il est par exemple possible d'écrire les données binaires u colonne par colonne sur une matrice de K lignes et L colonnes, et d'affecter un code (No, K) à chaque colonne, etc. Il est bien clair que de façon plus générale l'invention utilise en fait un procédé de transmission (ainsi qu'un procédé de formatage et un procédé de décodage) exécuté vecteur par vecteur, la notion de vecteur pouvant
designer aussi bien une ligne qu'une colonne.
On comprend que l'invention s'applique, entre autres à un réseau, un ordinateur, une caméra, un télécopieur, un appareil photographique, un
téléviseur, une imprimante, un scanner ou un lecteur audio/vidéo.
Bien entendu, la présente invention ne se limite pas aux détails des formes de réalisation décrits ici à titre d'exemple, mais s'étend au contraire aux
modifications à la portée de l'homme de l'art.

Claims (11)

REVENDICATIONS
1. Procédé de transmission de données binaires u par un émetteur 1 vers un récepteur 2 à travers un canal de transmission 3, caractérisé en ce que ledit procédé comporte une fonction de formatage intégrée avec une
fonction de codage externe des données binaires u.
2. Procédé selon la revendication 1, caractérisé en ce que l'émetteur 1 utilise un turbo-codeur 12 à entrelaceur" x vers xe ", et en ce que le
récepteur 2 utilise un turbo-décodeur 22 à entrelaceur" x vers xe ".
3. Procédé selon l'une quelconque des revendications 1 à 2,
caractérisé en ce que les données binaires u sont stockées dans une matrice initiale U de L lignes et K colonnes, L et K étant prédéterminées, et en ce que un code correcteur d'erreurs (No, K) est affecté à chaque ligne, formant ainsi
une matrice intermédiaire U1.
4. Procédé selon la revendication 3, caractérisé en ce qu'un code détecteur d'erreurs (M, L) est affecté à chaque colonne de la matrice intermédiaire U1, formant ainsi une matrice formatée A. 5. Procédé selon la revendication 4, caractérisé en ce que le code détecteur d'erreurs (M, L) est réalisé par rajout d'au moins un bit sur chaque colonne de la matrice intermédiaire U1, et en ce que, un des bits rajoutés est calculé de sorte à assurer la divisibilité du polynôme associé à chaque colonne de la matrice formatée A par (1 +y), o y = x No, No étant le nombre de colonnes de ladite matrice formatée A. 6. Procédé selon la revendication 5, caractérisé en ce que le code détecteur d'erreurs (M, L) est réalisé en utilisant le polynôme générateur gl(y)=(1+y)-g2(y), O g2(y) est un polynôme, de degré quelconque, choisi de
façon à augmenter la capacité de détection dudit code (M, L).
7. Procédé selon la revendication 3, caractérisé en ce que le code correcteur d'erreurs (No, K) possède une distance minimale (d) supérieure à un nombre prédéterminé, représentant le nombre de colonnes corrigibles de la matrice. 8. Procédé de formatage de données binaires pour procédé de transmission selon la revendication 2, ledit procédé de formatage étant mis en oeuvre par une unité centrale 18, à partir de données (M, No, L, K) préalablement mémorisées dans une mémoire non volatile 19, et étant caractérisé en ce qu'il comporte des étapes suivantes: - réception de données binaires u transmises par une source 10, - stockage des données ligne par ligne dans une matrice initiale U de L lignes et K colonnes, codage de chaque ligne de la matrice initiale U avec le code (No, K), formant ainsi une matrice intermédiaire U1, 9. Procédé de codage selon la revendication 8, caractérisé en ce qu'il comporte des étapes suivantes: codage de chaque colonne de la matrice intermédiaire U1 avec le code (M, L), formant ainsi une matrice formatée A, de taille M x No - lecture de la matrice A ligne par ligne, et génération d'une
séquence a, envoyée au turbo-codeur 12.
10. Procédé de décodage de données reçues sur un canal de transmission 3, pour procédé de transmission selon l'une quelconque des
revendications 1 à 2, ledit procédé de décodage étant caractérisé en ce qu'il
comporte des étapes suivantes: - réception de données binaires à fournies par un turbo-décodeur 23, - stockage des données ligne par ligne dans une matrice reçue A' de M lignes et No colonnes, - décodage de chaque colonne j de la matrice reçue A' avec le code (M, L), effacement de la colonne j si une erreur est détectée, formant ainsi une matrice intermédiaire reçue Ul' de taille L x No, 11. Procédé de décodage selon revendication 10, caractérisé en ce qu'il comporte des étapes suivantes: - décodage de chaque ligne i de la matrice intermédiaire reçue UI' avec le décodeur à effacements (No, K), formant ainsi une matrice finale reçue U' de taille L x K, - lecture de la matrice finale reçue U' ligne par ligne, et génération
de la séquence Ci, envoyée à une destination 20.
12. Dispositif de transmission de données binaires u comportant un émetteur 1, un récepteur 2, caractérisé en ce que ledit dispositif comporte des moyens adaptés à réaliser de façon intégrée une fonction de formatage et une
fonction de codage externe des données binaires u.
13. Dispositif selon la revendication 12, caractérisé en ce que l'émetteur 1 comporte un turbo-codeur 12 à entrelaceur "x vers xe n, et en ce
que le récepteur 2 comporte un turbo-décodeur 22 à entrelaceur" x vers xe ".
14. Dispositif selon l'une quelconque des revendications 12 à 13,
caractérisé en ce qu'il comporte des moyens de stockage des données binaires u dans une matrice de L lignes et K colonnes, L et K étant prédéterminées, et d'affectation d'un code correcteur d'erreurs (No, K) à chaque ligne et d'un code
détecteur d'erreurs (M, L) à chaque colonne.
15. Dispositif selon l'une quelconque des revendications 12 à 14,
comportant une unité centrale 18, une mémoire non volatile 19, une mémoire volatile 24, caractérisé en ce qu'il comporte des moyens adaptés à mettre en oeuvre des étapes suivantes: - réception de données binaires u transmises par une source 10, - stockage des données ligne par ligne dans une matrice de L lignes et K colonnes, - codage de chaque ligne i de la matrice avec le code (No, K), 16 Dispositif selon la revendication 15, caractérisé en ce qu'il comporte en outre des moyens adaptés à mettre en oeuvre des étapes suivantes: - codage de la colonne j de la matrice avec le code (M, L), - lecture de la matrice M x No ligne par ligne, et génération de la
séquence a, envoyée au turbo-codeur 12.
17. Dispositif de réception de données reçues sur un canal de transmission 3, pour dispositif de transmission selon l'une quelconque des
revendications 12 à 13, ledit dispositif de réception comportant une unité
centrale 18, une mémoire non volatile 19, une mémoire volatile 24 et étant caractérisé en ce qu'il comporte des moyens adaptés à mettre en oeuvre des étapes suivantes: - réception de données binaires a fournies par un turbo-décodeur 22, - stockage des données ligne par ligne dans une matrice de M lignes et No colonnes, - décodage de la colonne j de la matrice avec le code (M, L),
effacement de la colonne j si une erreur est détectée.
18 Dispositif selon la revendication 17, caractérisé en ce qu'il comporte en outre des moyens adaptés à mettre en oeuvre des étapes suivantes: -décodage de la ligne i de la matrice avec le décodeur à effacements (No, K), - lecture de la matrice L x K ligne par ligne, et génération de la
séquence _, envoyée à une destination 20.
19 Téléphone, caractérisé en ce que il comporte un dispositif selon
l'une quelconque des revendications 12 à 18.
Appareil photographique, caractérisé en ce que il comporte un
dispositif selon l'une quelconque des revendications 12 à 18.
21 Imprimante, caractérisée en ce qu'elle comporte un dispositif
selon l'une quelconque des revendications 12 à 18.
22 Scanner, caractérisé en ce que il comporte un dispositif selon
l'une quelconque des revendications 12 à 18.
23 Caméra, caractérisée en ce qu'elle comporte un dispositif selon
l'une quelconque des revendications 12 à 18.
24 Ordinateur, caractérisé en ce que il comporte un dispositif selon
I'une quelconque des revendications 12 à 18.
Télécopieur, caractérisé en ce que il comporte un dispositif
selon l'une quelconque des revendications 12 à 18.
26 Téléviseur, caractérisé en ce que il comporte un dispositif selon
l'une quelconque des revendications 12 à 18.
27 Lecteur audio/vidéo, caractérisé en ce que il comporte un
dispositif selon l'une quelconque des revendications 12 à 18.
FR9901727A 1999-02-12 1999-02-12 Procede de correction d'erreurs residuelles a la sortie d'un turbo-decodeur Expired - Fee Related FR2789824B1 (fr)

Priority Applications (2)

Application Number Priority Date Filing Date Title
FR9901727A FR2789824B1 (fr) 1999-02-12 1999-02-12 Procede de correction d'erreurs residuelles a la sortie d'un turbo-decodeur
US09/500,425 US6578171B1 (en) 1999-02-12 2000-02-09 Method of correcting residual errors at the output of a turbodecoder

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR9901727A FR2789824B1 (fr) 1999-02-12 1999-02-12 Procede de correction d'erreurs residuelles a la sortie d'un turbo-decodeur

Publications (2)

Publication Number Publication Date
FR2789824A1 true FR2789824A1 (fr) 2000-08-18
FR2789824B1 FR2789824B1 (fr) 2001-05-11

Family

ID=9541964

Family Applications (1)

Application Number Title Priority Date Filing Date
FR9901727A Expired - Fee Related FR2789824B1 (fr) 1999-02-12 1999-02-12 Procede de correction d'erreurs residuelles a la sortie d'un turbo-decodeur

Country Status (2)

Country Link
US (1) US6578171B1 (fr)
FR (1) FR2789824B1 (fr)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2838580A1 (fr) * 2002-04-12 2003-10-17 Canon Kk Procedes et dispositifs de faible cout pour le decodage de codes produits
WO2003088502A1 (fr) * 2002-04-05 2003-10-23 Linkair Communications, Inc. Procede de codage et appareil faisant intervenir la concatenation d'un code de produit turbo et d'un code bloc de partage de temps

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10012874A1 (de) * 2000-03-16 2001-09-27 Infineon Technologies Ag Turbo-Decodierer und Turbo-Decodierverfahren
FR2815199B1 (fr) * 2000-10-10 2003-01-17 Canon Kk Procedes de turbocodage circulaire de grande distance minimale, et systemes pour leur mise en oeuvre
FR2837331B1 (fr) * 2002-03-13 2004-06-18 Canon Kk Procede d'entrelacement d'une sequence binaire
FR2845220B1 (fr) * 2002-09-30 2004-12-17 Canon Kk Procedes et dispositifs pour le decodage des codes de geometrie algebrique a un point
FR2849514A1 (fr) * 2002-12-26 2004-07-02 Canon Kk Code de geometrie algebrique adapte aux erreurs en rafale
FR2853976B1 (fr) * 2003-04-16 2005-06-03 Canon Kk Codage d'informations par code de geometrie algebrique offrant deux options de decodage
FR2858141A1 (fr) * 2003-07-21 2005-01-28 Canon Kk Codage d'informations par codes de reed-solomon raccourcis
FR2860360B1 (fr) * 2003-09-29 2005-12-09 Canon Kk Dispositif de codage /decodage utilisant un codeur/decodeur de reed-solomon
FR2863794B1 (fr) * 2003-12-16 2006-03-03 Canon Kk Procedes et dispositifs de localisation d'erreurs pour les codes de geometrie algebrique
FR2865083B1 (fr) * 2004-01-13 2006-04-07 Canon Kk Decodage pour code de geometrie algebrique associe a un produit fibre.
FR2866998B1 (fr) * 2004-02-27 2006-05-19 Canon Kk Decodage et correction d'erreurs pour codes de geometrie algebrique
FR2867925B1 (fr) * 2004-03-22 2006-05-19 Canon Kk Codage de canal adapte aux erreurs rafale
FR2873518B1 (fr) * 2004-07-22 2008-12-19 Canon Kk Procede de codage et de decodage d'une sequence de mots, signal, codeur, decodeur, programmes d'ordinateur et moyens de stockage correspondants
FR2880218B1 (fr) * 2004-12-23 2007-02-16 Canon Kk Procede de decodage pour codes de geometrie algebrique et dispositif associe
KR100740209B1 (ko) * 2005-10-21 2007-07-18 삼성전자주식회사 디지털 방송 수신 시스템 및 그 신호 처리 방법
JP5116691B2 (ja) * 2005-12-22 2013-01-09 サムスン エレクトロニクス カンパニー リミテッド デジタル放送送信装置及びそのターボストリーム処理方法並びにそれを含むデジタル放送システム

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0205667A1 (fr) * 1985-06-14 1986-12-30 Koninklijke Philips Electronics N.V. Système pour transmettre des mots qui sont protégés par une combinaison d'un code de bloc et d'un code convolutionnel, appareil de transmission à utiliser dans un tel système et appareil de réception à utiliser dans un tel système
EP0511141A1 (fr) * 1991-04-23 1992-10-28 France Telecom Procédé de codage correcteur d'erreurs à au moins deux codages convolutifs systématiques en parallèle, procédé de décodage itératif, module de décodage et décodeur correspondants
WO1997040582A1 (fr) * 1996-04-19 1997-10-30 General Electric Company Code de convolution parallele concatene en boucle et decodeur afferent
EP0820159A2 (fr) * 1996-07-17 1998-01-21 General Electric Company Système de communication par satellites utilisant un codage concatené parallèle

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6023783A (en) * 1996-05-15 2000-02-08 California Institute Of Technology Hybrid concatenated codes and iterative decoding
JPH10190631A (ja) * 1996-12-27 1998-07-21 Toshiba Corp データ通信方法および装置
US6370669B1 (en) * 1998-01-23 2002-04-09 Hughes Electronics Corporation Sets of rate-compatible universal turbo codes nearly optimized over various rates and interleaver sizes
KR100373965B1 (ko) * 1998-08-17 2003-02-26 휴우즈 일렉트로닉스 코오포레이션 최적 성능을 갖는 터보 코드 인터리버

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0205667A1 (fr) * 1985-06-14 1986-12-30 Koninklijke Philips Electronics N.V. Système pour transmettre des mots qui sont protégés par une combinaison d'un code de bloc et d'un code convolutionnel, appareil de transmission à utiliser dans un tel système et appareil de réception à utiliser dans un tel système
EP0511141A1 (fr) * 1991-04-23 1992-10-28 France Telecom Procédé de codage correcteur d'erreurs à au moins deux codages convolutifs systématiques en parallèle, procédé de décodage itératif, module de décodage et décodeur correspondants
WO1997040582A1 (fr) * 1996-04-19 1997-10-30 General Electric Company Code de convolution parallele concatene en boucle et decodeur afferent
EP0820159A2 (fr) * 1996-07-17 1998-01-21 General Electric Company Système de communication par satellites utilisant un codage concatené parallèle

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003088502A1 (fr) * 2002-04-05 2003-10-23 Linkair Communications, Inc. Procede de codage et appareil faisant intervenir la concatenation d'un code de produit turbo et d'un code bloc de partage de temps
FR2838580A1 (fr) * 2002-04-12 2003-10-17 Canon Kk Procedes et dispositifs de faible cout pour le decodage de codes produits
US7120850B2 (en) 2002-04-12 2006-10-10 Canon Kabushiki Kaisha Low-cost methods and devices for the decoding of product cases

Also Published As

Publication number Publication date
US6578171B1 (en) 2003-06-10
FR2789824B1 (fr) 2001-05-11

Similar Documents

Publication Publication Date Title
FR2789824A1 (fr) Procede de correction d&#39;erreurs residuelles a la sortie d&#39;un turbo-decodeur
JP3610329B2 (ja) 大最小距離を用いたターボ符号化方法及びそれを実現するシステム
FR2785743A1 (fr) Dispositif et procede d&#39;adaptation des turbocodeurs et des decodeurs associes a des sequences de longueur variable
US7246294B2 (en) Method for iterative hard-decision forward error correction decoding
FR2953666A1 (fr) Procede de codage ldpc a redondance incrementale
FR2909499A1 (fr) Procede et dispositif de decodage pour codes ldpc, et appareil de communication comprenant un tel dispositif
EP0891656A1 (fr) Procede et dispositif de codage convolutif de blocs de donnees, et procede et dispositif de decodage correspondants
US8386894B2 (en) Parallel forward error correction with syndrome recalculation
FR2804260A1 (fr) Procede de transmission numerique de type a codage correcteur d&#39;erreurs
WO1999057816A1 (fr) Decodage iteratif de codes produits
US7296212B1 (en) Multi-dimensional irregular array codes and methods for forward error correction, and apparatuses and systems employing such codes and methods
FR2790621A1 (fr) Dispositif et procede d&#39;entrelacement pour turbocodage et turbodecodage
FR3006133A1 (fr) Procede de decodage d&#39;un code correcteur, par exemple un turbo-code, par analyse du spectre etendu des mots du code
EP1128589B1 (fr) Critère d&#39;interruption pour un décodeur turbo
US7231575B2 (en) Apparatus for iterative hard-decision forward error correction decoding
FR2785741A1 (fr) Dispositif et procede de codage et d&#39;entrelacement pour des turbocodes series ou hybrides
FR2785744A1 (fr) Procede et dispositif de codage de sequences de donnees, procede et dispositif de decodage associes
EP2415193B1 (fr) Procédé et dispositif de modulation mettant en oeuvre une modulation différentielle, procédé et dispositif de démodulation, signal et produits programme d&#39;ordinateur correspondants
FR2807895A1 (fr) Procedes et dispositifs de codage et de decodage et systemes les mettant en oeuvre
EP2833555B1 (fr) Procede ameliore de decodage d&#39;un code correcteur avec passage de message, en particulier pour le decodage de codes ldpc ou codes turbo
EP1326345A1 (fr) Turbo-décodeur compact à haute efficacité
US7254771B1 (en) Error-erasure decoding of interleaved reed-solomon code
WO2018115648A1 (fr) Codage et de décodage de paquets de données dans un corps de galois
Iakuba et al. Successive cancellation permutation decoding of extended BCH codes
FR2800950A1 (fr) Procede d&#39;entrelacement pour turbo-codage convolutif de donnees

Legal Events

Date Code Title Description
ST Notification of lapse

Effective date: 20141031