Brevet FR2820913A1 — publié le 20020816

L'invention concerne de façon générale la génération de codes dans un système de communications de données et en particulier un appareil et un procédé pour la génération de turbocodes complémentaires, en considérant les caractéristiques de turbocodes dans un système de communications par paquets ou dans un système de communications générales qui utilise un processus de retransmission. En général, un système utilisant un processus de retransmission (par exemple une demande automatique de répétition hybride (HARQ)) effectue une combinaison souple pour améliorer le débit de la transmission. Les techniques de combinaisons souples sont divisées en une combinaison en diversité de paquets et une combinaison en codes de paquets. Ces deux types de combinaisons sont habituellement appelés une combinaison souple par paquets. Bien que le processus de combinaison en diversité de paquets ait des performances inférieures aux performances optimales par rapport au processus de combinaison en codes de paquets, il est favorable du fait d'une mise en oeuvre aisée lorsque les pertes de performance sont faibles. Un système de transmission par paquets utilise le processus de combinaison en codes de paquets pour améliorer le débit de la transmission. Un émetteur émet un code avec un taux d'émission différent pour chaque transmission de paquets. Si une erreur est détectée dans le paquet reçu, un récepteur demande une retransmission et effectue une combinaison souple entre le paquet d'origine et un paquet retransmis. Le paquet retransmis peut avoir un code différent de celui du paquet précédent. Le processus de combinaison en codes de paquets est un processus combinant N paquets reçus avec un taux d'émission R à un code ayant un taux d'émission effectif de R/N avant le décodage, pour obtenir ainsi un gain de codage. En ce qui concerne le processus de combinaison en diversité de paquets, par ailleurs, l'émetteur émet le même code avec un taux d'émission R à chaque transmission de paquets. Si une erreur est détectée dans le paquet reçu, le récepteur demande une retransmission et effectue une combinaison souple entre le paquet d'origine et le paquet retransmis. Le paquet retransmis possède un code identique à celui du paquet précédent. En ce sens, le processus de combinaison en diversité de paquets peut être considéré comme effectuant la moyenne de l'énergie des symboles reçus sur un canal aléatoire. Le processus de combinaison en diversité de paquets réduit la puissance de bruit en établissant la moyenne des sorties souples des symboles d'entrée reçus et atteint un gain en diversité tel que celui offert par un canal à voies multiples car le même code est transmis de façon répétée sur un canal à évanouissement. Cependant, le processus de combinaison en diversité de paquets ne procure pas un gain de codage additionnel tel que celui obtenu conformément à une structure de code dans le processus de combinaison en codes de paquets. On décrira par ailleurs ci-dessous un turbocodeur générant le turbocode. Dans le cas d'un turbocodeur avec R=1/5, le turbocodeur génère des symboles d'information X, des premiers symboles de parité Y0, Y'0 et des seconds symboles de parité Yi, Y'l en codant des symboles d'information d'entrée. Le turbocodeur est constitué de deux éléments codeurs et d'un élément d'entrelacement. Les premiers symboles de parité Yo et Y'o sont délivrés en sortie d'un premier élément codeur par codage des symboles d'information d'entrée et les seconds symboles de parité Y1 et Y'i sont délivrés en sortie d'un second élément codeur par codage des symboles d'information entrelacés au moyen de l'élément d'entrelacement. Plus en détail, Yo est une rangée de premiers symboles de parité générés à partir d'un premier élément codeur, et Y'o est une rangée de seconds symboles de parité générés par le premier élément codeur. Du fait de la simplicité de mise en oeuvre, la plupart des systèmes de communications par paquets ont utilisé le processus de combinaison en diversité de paquets, qui est étudié pour une application au système synchrone IS-2000 et au système asynchrone UMTS. La raison en est que les systèmes existants de communications par paquets ont utilisé des codes à convolutions et que même une combinaison en code par paquets n'offre pas un gain élevé lorsqu'on utilise des codes à convolutions à faible cadence de données. Si un système à taux d'émission R = 1/3 supporte une retransmission, il n'y a pas une grande différence de performances entre le processus de combinaison en codes de paquets et le processus de combinaison en diversité de paquets. Par conséquent, le processus de combinaison en diversité de paquets est sélectionné en tenant compte de la complexité de mise en oeuvre. Cependant, l'utilisation de turbocodes en tant que codes de correction d'erreur sans voir de retour (FEC) exige un mécanisme différent de combinaison de paquets car les turbocodes sont conçus en tant que codes de correction d'erreur pour avoir des caractéristiques de performance très proches la"capacité limite de Shannon par canal"et leurs performances varient évidemment avec les taux d'émission en codage à la différence des codes à convolutions. On peut donc en conclure que la combinaison en codes de paquets est souhaitable pour un système de communications par paquets utilisant des turbocodes dans un processus de retransmission pour parvenir à des performances optimales. Un objet de l'invention est donc de proposer un appareil et un procédé pour la génération de sous-codes qui permettent une combinaison en code optimale dans un système de retransmission utilisant des turbocodes. Un autre objet de l'invention est de proposer un appareil et un procédé pour générer des codes complémentaires utilisant des turbocodes dans un système de communications. Un autre objet de l'invention est de proposer un appareil et un procédé pour générer des sous-codes devant être générés après un entrelacement de canaux dans un système de retransmission utilisant un entrelacement de canaux. Les objets précédents et d'autres objets de l'invention sont réalisés en proposant un appareil de génération de turbocodes quasi-complémentaires (QCTC). Dans l'appareil de génération de turbocodes QCTC, un turbocodeur comporte plusieurs éléments codeurs et au moins un élément d'entrelacement et génère une séquence de symboles d'information et plusieurs séquences de symboles de parité conformément à un taux d'émission donné en codage en codant la séquence de symboles d'information. Les éléments codeurs génèrent la pluralité de séquences de symboles de parité, chacun des éléments codeurs génère au moins une séquence de symboles de parité, et la ou chaque séquence de symboles de parité provenant d'un élément codeur correspond à la ou chaque séquence de symboles de parité provenant d'un autre élément codeur. Un élément d'entrelacement de canaux entrelace individuellement la séquence de symboles d'information et les séquences de symboles de parité, agence de façon alternée les symboles des séquences de symboles de parité correspondantes et enchaîne en série la séquence de symboles d'information entrelacée et les séquences de symboles de parité agencées. Un générateur de turbocodes QCTC génère un sous-code d'un turbocode QCTC en répétant la séquence de symboles enchaînée en série et en sélectionnant un nombre prédéterminé de symboles à partir de la séquence de symboles répétée conformément à une information de taux d'émission et de sélection. L'invention sera décrite plus en détail en regard des dessins annexés à titre d'exemples nullement limitatifs et sur lesquels : la figure 1 est un schéma fonctionnel simplifié d'un appareil de génération de turbocodes quasi-complémentaires QCTC selon l'invention ; la figure 2 est un schéma fonctionnel simplifié d'une forme de réalisation de l'appareil de génération de turbocodes QCTC selon l'invention ; et la figure 3 est un schéma fonctionnel simplifié d'une autre forme de réalisation de l'appareil de génération de turbocodes QCTC selon l'invention. Dans la description suivante, des fonctions ou des éléments bien connus ne seront pas décrits en détail pour ne pas obscurcir inutilement l'invention. L'invention propose un procédé de génération de turbocodes quasi-complémentaires QCTC pour un système utilisant un entrelacement de canaux et un procédé de génération de turbocodes QCTC d'une manière prédéterminée, indépendamment d'une longueur de code variable dans un système exigeant des turbocodes QCTC ayant divers taux d'émission. Un turbocode QCTC est défini comme étant un code complémentaire généré en utilisant un turbocode. Le turbocode QCTC n'est pas un code complémentaire parfait, comme l'indique le terme"quasi", car un sous-code comprend des symboles répétés et possède une caractéristique, telle qu'une capacité de correction d'erreur, différente de celle d'un autre sous-code. La figure 1 est un schéma fonctionnel simplifié d'un appareil de génération de turbocodes QCTC selon l'invention. L'appareil de génération de turbocodes QCTC montré sur la figure 1 est caractérisé par l'exécution d'une répétition et d'une perforation de séquence de symboles après l'entrelacement de canaux lors de la génération de sous-codes. En référence à la figure 1, un codeur 101 génère des symboles de code en codant un paquet d'un codeur d'entrée. Un codeur à convolutions ou un turbocodeur peut être utilisé en tant que codeur 101. Le codeur 101 présente un taux d'émission en codage de, par exemple, 1/5. Pour l'entrée de 3072 bits d'information, le codeur 101 délivre 15360 symboles de code. Un élément 102 d'entrelacement de canaux entrelace les symboles de code conformément à une règle prédéterminée. Si le codeur 101 est un turbocodeur, l'élément d'entrelacement 102 entrelace des symboles d'information X, et des symboles de parité Yo, Yi, Y'o et Y'l'séparément. Un générateur 103 de turbocodes QCTC génère des sous-codes par perforation et répétition des symboles entrelacés. L'élément 102 d'entrelacement de canaux et le générateur 103 de turbocodes QCTC effectuent le processus de génération de turbocodes QCTC. Si le nombre de symboles de code entrelacés est de 15360 et que la cadence des données (ou le taux d'émission en codage) des sous-codes est donnée comme étant de 307,2 kbit/s, le générateur 103 de turbocodes QCTC génère le premier sous-code ayant 21504 symboles en prenant les 15360 symboles de code entrelacés et en répétant une partie de la première moitié des symboles de code entrelacés. Si la cadence des données est de 614,4 kbits/s, le générateur 103 de turbocodes QCTC génère le premier sous-code en prenant les 10752 premiers symboles de code de la première moitié des symboles de code entrelacés. Et si la cadence des données est de 1228,8 kbits/s ou de 2457,6 kbits/s, le générateur 103 de turbocodes QCTC génère le premier souscode en prenant les 5376 premiers symboles de code parmi les symboles de code entrelacés. Pour générer un turbocode QCTC (ou des sous-codes), l'élément 102 d'entrelacement de canaux devrait acquérir des caractéristiques particulières car les cinq symboles X, Yo, Yi, Y'0 et Y Il sont distribués par entrelacement de canaux et les symboles de code distribués ne conviennent pas pour être appliqués en entrée au générateur 103 de turbocodes QCTC, et en outre, il n'est pas aisé de générer des sous-codes satisfaisant aux caractéristiques d'un turbocode QCTC avec les symboles de X, Yo, Yi, Y'o et Yl1 mélangés. Dans ce contexte, l'invention propose un procédé de génération d'un turbocode QCTC d'une manière prédéterminée indépendamment du taux d'émission de chaque sous-code. La figure 2 est un schéma fonctionnel simplifié d'un appareil de génération de turbocodes QCTC selon une forme de réalisation de l'invention. En référence à la figure 2, un codeur 201 génère des symboles de code en codant des symboles d'information d'entrée (c'est-à-dire un paquet d'un codeur d'entrée). Le codeur 201 utilise un code de base avec R=1/5 ou avec tout autre taux d'émission. Un code de base est déterminé par le système utilisé. Un turbocode avec R=1/5 est utilisé ici en tant que code de base, à titre d'exemple. Le codeur 201 génère ensuite des symboles d'information X, des premiers symboles de parité y et Y'0 et des seconds symboles de parité Y1 et Y'1 en codant des symboles d'information d'entrée. Les premiers symboles de parité po et Y'0 sont délivrés en sortie d'un premier élément codeur et les seconds symboles de parité Y1 et Y'1 le sont d'un second élément codeur. Les premier et second éléments codeurs (non représentés) sont contenus dans un codeur 201. Les symboles de parité primaires Yo et Y1 provenant des premier et second éléments codeurs ont une priorité de transmission supérieure à celle des symboles de parité secondaire Y'o et Yil. Un démultiplexeur (DEMUX) 202 groupe les symboles de code reçus du codeur 201 en symboles d'information X 203, en symboles de parité Yo 213, en symboles de parité Y1 223, en symboles de parité YIO 233 et en symboles de parité Y'i 243 et délivre en sortie les cinq groupes de symboles à des éléments d'entrelacement respectifs correspondants 204, 214,224, 234 et 244. Les éléments d'entrelacement 204,214, 224,234 et 244 permutent de façon aléatoire par entrelacement les séquences des symboles de code d'entrée. Divers procédés d'entrelacement sont disponibles pourvu que la condition suivante soit satisfaite. (Condition) Des symboles de code entrelacés sont partiellement perforés d'une manière telle que le motif de perforation des symboles de code avant l'entrelacement présente une distance de perforation uniforme. La raison pour laquelle on doit satisfaire à la condition ci-dessus est que, lorsque des groupes de symboles de code X, Yo, Yi, Y'0 et Y'i sont perforés dans le même nombre de positions de symboles de code, la distance entre des positions de symboles de code perforés dans les symboles de code avant l'entrelacement doit être égale pour l'obtention de performances optimales du turbocode. En d'autres termes, lorsqu'une perforation est appliquée à des turbocodes, l'uniformité est un facteur important qui détermine les performances des turbocodes. Conformément à l'invention, l'entrelacement de sous-blocs s'applique indépendamment aux symboles de code X, Yo, Y'Of Y1 et Y'i. Une perforation uniforme dans chaque sortie d'élément d'entrelacement maintient une distance égale entre les symboles de code perforés dans la sortie du codeur. On peut donc en conclure qu'un entrelacement des canaux doit être choisi afin qu'une perforation dans des symboles de code entrelacés puisse maintenir une distribution uniforme de perforation en sortie de codeur de canal. De tels procédés d'entrelacement de canaux comprennent un entrelacement par inversion d'ordre de bits (BRO) et un entrelacement par inversion partielle d'ordre de bits (PBRO). L'entrelacement BRO ne peut être effectué que si le nombre de symboles d'information d'entrée à un codeur et le nombre de chaque ensemble de symboles de code X, Yo, Y'o, Yi et Y'1 sont des puissances de 2, c'est-à-dire 2m, où m est un paramètre établissant une dimension de blocs d'un élément d'entrelacement de sous-blocs telle que dimension de bloc N = 2m*J. L'entrelacement PBRO a été conçu pour satisfaire à la condition indiquée ci-dessus même si le nombre de symboles d'information et le nombre de chaque ensemble de symboles de sortie de codeur X, Yo, Y'o, Yi et Y'i ne sont pas des puissances de 2 afin de surmonter la limitation de l'entrelacement BRO. On évitera de décrire en détail ici cet entrelacement de canaux de sous-blocs et il convient de noter que tout procédé d'entrelacement de canaux peut être mise en oeuvre dans l'invention pourvu qu'il satisfasse à la condition ci-dessus. Les symboles de code entrelacés X 206 (représentés sous la forme d'un bloc pour plus de commodité) délivrés en sortie du premier élément d'entrelacement 204 sont appliqués directement à l'entrée d'un élément d'enchaînement 207 de symboles. Les symboles de code entrelacés Yo et Y1 provenant des deuxième et troisième éléments d'enchaînement 214 et 224 sont appliqués en entrée à un premier multiplexeur (MUX) 205 et les symboles de code entrelacés Y'o et Y'i provenant des quatrième et cinquième éléments d'entrelacement 234 et 244 sont appliqués en entrée à un second multiplexeur MUX 215. Autrement dit, le premier MUX 205 reçoit les symboles de parité primaires et le second MUX 215 reçoit les symboles de parité secondaires. Le premier MUX 205 multiplexe les symboles de parité entrelacés Yo et Y1 216 et applique le signal de sortie à l'élément d'enchaînement 207 de symboles. Le second MUX 215 multiplexe les symboles de parité entrelacés YIO et Yll 226 et applique son signal de sortie à l'élément d'enchaînement 207 de symboles. Autrement dit, les MUX 205 et 215 multiplexent les séquences de symboles de parité par niveau de priorité. Les signaux de sortie des éléments d'entrelacement sont réagencés, puis divisés en trois sousgroupes 206,216 et 226 à l'aide des MUX 205 et 215. Le processus décrit ci-dessus, qui est essentiel à la génération de turbocodes QCTC selon l'invention sera décrit plus en détail. Comme montré sur la figure 2, des symboles d'information X forment un sous-groupe indépendant sans passage par un multiplexage après l'entrelacement de sousblocs. Soit les symboles entrelacés de sous-blocs Sbj~X, ce qui peut être exprimé par où Sbj~X (l) indique le premier symbole de code en sortie du premier élément d'entrelacement 204. SbjX est appelé séquence A. Ensuite, les symboles de code entrelacés Yo et Yi délivrés en sortie des deuxième et troisième éléments d'entrelacement 214 et 224 sont groupés en un sous-groupe. Si les symboles de code Yo sont Sbj~Y0, Sbj~Y0 peut être exprimé par où SbjYo (1) indique le premier symbole de code délivré en sortie du deuxième élément d'entrelacement 204. Si les symboles de code Y1 sont SbjYi, SbjY1 peut être exprimé par où Sbj~Y1 (l) et Sbj-Yl (2) indiquent les premier et second symboles de code, respectivement, délivrés en sortie du troisième élément d'entrelacement 224. Après le multiplexage des symboles de code Yo et Yi, on a Ces symboles multiplexés sont appelés séquence B. La raison pour laquelle les symboles de code entrela- cés Sbj-Yo et Sbj-Yl sont multiplexés est que, lorsque M symboles successifs sont perforés dans la séquence B, que ce soit la première moitié ou la seconde moitié de la séquence B, le nombre de symboles perforés dans SbjYo est égal à celui des symboles perforés dans Sbj~Y1 uniquement si M est un nombre pair. Si M est un nombre impair, la différence entre les nombres de symboles perforés dans Sbj-Yo et dans Sbj~Y1 n'est que de 1. Le multiplexage satisfait toujours à la caractéristique d'un turbocode QCTC selon laquelle le nombre de symboles de parité perforés Yo est égal à celui de symboles de parité perforés Y1. De la même manière, les symboles de code entrelacés Yio et Y'1 délivrés en sortie des quatrième et cinquième éléments d'entrelacement 234 et 244 sont groupés dans un sous-groupe. Si les symboles de code Ylo et Y'i sont SbjY'o et Sbj~Y'1, respectivement, Sbj~Y'0 et Sbj~Y'1 peuvent être exprimés par et Le signal de sortie du second MUX 215 est alors Ces symboles multiplexes sont appelés séquence C. La raison pour laquelle les symboles de code entrela- cés SbjY'o et SbjY'l sont multiplexes est que, lorsque M symboles successifs sont perforés dans la séquence C, que ce soit la première moitié ou la seconde moitié de la séquence C, le nombre de symboles perforés dans SbjY'o est égal au nombre de symboles perforés dans Sbj~Y'i uniquement si M est un nombre pair. Si M est un nombre impair, la différence entre les nombres de symboles perforés dans SbjY'o et dans Sbj-Yll n'est que de 1. Le multiplexage satisfait toujours à la caractéristique d'un turbocode QCTC selon laquelle le nombre de symboles de parité perforés Y'o est égal au nombre de symboles de parité perforés Y'i. L'élément 207 d'enchaînement de symboles enchaîne séquentiellement les séquences A, B et C des premier, deuxième et troisième sous-groupes et génère une séquence de symboles [A : B : C]. Comme on le voit dans la formule ci-dessus, des symboles d'information sont placés en premier, suivis de symboles de parité alternés Yo et Yi, puis de symboles de parité alternés Y'o et Y'i dans la séquence [A : B : C]. Cet agencement de symboles prend une signification très importante dans la génération de turbocodes QCTC, ce qui sera décrit ci-dessous. Une perforation devrait être réalisée pour générer un sous-code avec un taux d'émission en codage à partir du turbocode de (8). La perforation est définie par un turbocode"QCTC". Le turbocode QCTC devrait avoir les caractéristiques suivantes : (1) Des symboles d'information précèdent tous les autres symboles de code dans la transmission. En particulier, lorsque le taux d'émission de sous-codes est proche de 1, cette caractéristique devient plus importante. (2) Un motif de perforation est formé de manière que le nombre de symboles de parité délivrés en sortie de chaque élément codeur (un premier élément codeur et un second élément codeur) soit égal ou que leur différence en nombre soit minimale. (3) Le nombre de symboles perforés dans les symboles de parité Yo et Y'o est déterminé de manière que le taux d'émission du premier élément codeur soit toujours inférieur à 1. Autrement dit, les performances des turbocodes sont assurées lorsqu'au moins un symbole de parité Yo ou Y'0 existe. (4) La distance entre les symboles perforés dans un turbocode QCTC, résultant d'une perforation, est égale. (5) Un turbocode produit en combinant des sous-codes de turbocodes QCTC prend les caractéristiques d'un code quasi-complémentaire. Un turbocode QCTC ayant un taux d'émission en codage de sous-code, qui est généré en perforant ou coupant autant de symboles qu'il est nécessaire à partir de l'extrémité de la séquence de symboles [A : B : C], satisfait aux cinq caractéristiques ci-dessus. En d'autres termes, un souscode prévu d'un turbocode QCTC est généré en répétant et perforant autant de symboles que nécessaire dans la séquence de symboles [A : B : C] dans un élément 208 de répétition de séquence de symboles et un élément 209 de perforation de symboles. L'élément 208 de répétition de séquence de symboles répète la séquence de symboles reçue de l'élément d'enchaînement de symboles d'une manière prédéterminée. Le procédé de répétition est déterminé en fonction du taux d'émission du sous-code. L'élément 209 de perforation de symboles perfore ou coupe un nombre de symboles égal à un nombre prédéterminé, en commençant par le dernier symbole dans la séquence de symboles reçue de l'élément 208 de répétition de séquence de symboles, afin de créer le sous-code du turbocode QCTC. Le nombre de symboles perforés dépend du taux d'émission du sous-code. Par conséquent, le taux d'émission du ! sous-code devrait être appliqué à l'élément 208 de répétition de séquence de symboles et à l'élément 209 de perforation de symboles pour effectuer une répétition de séquence et une perforation de symboles. En variante, un dispositif de commande (non représenté) de couche supérieure peut calculer le nombre de symboles répétés et le nombre de symboles perforés conformément à un taux d'émission de base et à un taux d'émission de sous-code et appliquer l'information à l'élément 208 de répétition de séquence de symboles et à l'élément 209 de perforation de symboles. En d'autres termes, l'élément 209 de perforation de symboles sélectionne un nombre prédéterminé de symboles compté à partir d'une position de symbole donnée dans la séquence de symboles reçue de l'élément 208 de répétition de séquence de symboles, générant ainsi le sous-code du turbocode QCTC. La position de symbole donnée fait référence au symbole suivant le dernier symbole sélectionné pour la transmission précédente. L'élément 209 de perforation de symboles peut donc être appelé un"sélecteur de symbole". Les éléments d'entrelacement 203,213, 223,233 et 243, les multiplexeurs MUX 205 et 215 et l'élément 207 d'enchaînement de symboles sur la figure 2 correspondent à l'élément d'entrelacement de canaux 102 de la figure 1, et l'élément 208 de répétition de séquence de symboles et l'élément 209 de perforation de symboles correspondent tous deux au générateur 103 de turbocodes QCTC. En référence de nouveau à la figure 1, en supposant un taux d'émission de base R=1/5 et 3072 bits d'information d'entrée, le codeur 101 de canal délivre en sortie 15360 symboles de code. On donnera ci-dessous une description de la génération de turbocodes QCTC avec des taux d'émission (ou des cadences de données) différents, par exemple un premier turbocode QCTC Coj à 307,2 kbits/s, un deuxième turbocode QCTC C1j à 614,4 kbits/s et un troisième turbocode QCTC C3j à 1288, 8 kbits/s, à partir des symboles de code. Comme décrit précédemment, les 15360 symboles de code sont classés en cinq sous-groupes, entrelacés puis réagencés sous la forme de la séquence de symboles de l'équation (8). Ensuite, les 15360 symboles de code sont soumis à une répétition conformément à une règle prédéterminée et à une perforation (ou coupe) conformément à un taux d'émission de sous-code prédéterminé. On génère ainsi un sous-code prévu. Pour une cadence de données de 307,2 kbit/s, si les sous-codes du premier turbocode Coj sont d'une longueur de 21504 bits, le premier sous-code Coo est généré en sélectionnant les 21504 premiers symboles à partir de la séquence de symboles entrelacés et répétés. Le deuxième sous-code Col est généré en sélectionnant 21504 symboles à partir du symbole suivant le premier sous-code Coo provenant de la séquence de symboles répétés. Le troisième sous-code C02 est généré en sélectionnant les 21504 symboles suivants. Similairement, pour une cadence de données de 614,4 kbits/s, si les sous-codes du deuxième turbocode QCTC Clj ont une longueur de 10752 bits, le premier sous-code Clo est généré en sélectionnant les 10752 premiers symboles dans la séquence de symboles répétés. En d'autres termes, le premier sous-code Cio est généré en coupant tous les symboles suivants après les 10752 premiers symboles dans la séquence de symboles répétés. La coupe est effectuée dans l'élément 209 de perforation de symboles, comme indiqué précédemment. Le deuxième sous-code Cl, est généré en sélectionnant 10752 symboles à partir du symbole suivant le premier sous-code Cio provenant de la séquence de symboles répétés. Le troisième sous-code C12 est généré en sélectionnant les 10752 symboles suivant le deuxième souscode Cn. Similairement, pour une cadence de données de 1228, 8 kbits/s, si les sous-codes du troisième turbocode QCTC C2j ont une longueur de 5376 bits, le premier sous-code C20 est généré en sélectionnant les 5376 premiers symboles provenant de la séquence de symboles répétés. Le deuxième sous-code Cn est généré en sélectionnant 5376 symboles à partir du symbole suivant le premier sous-code C20 provenant de la séquence de symboles répétés. Le troisième sous-code C22 est généré en sélectionnant les 5376 symboles suivants. De cette manière, les sous-codes du turbocode QCTC à 1228,8 kbits/s sont générés. Le système stocke des informations concernant la position du dernier symbole dans le sous-code transmis précédemment pour chaque turbocode QCTC. Lorsqu'une cadence de données (ou un taux d'émission) pour une retransmission est déterminée, le symbole sélectionne un turbocode QCTC correspondant à la cadence de données et génère un souscode en sélectionnant un nombre prédéterminé de symboles suivant le dernier symbole stocké pour le turbocode QCTC sélectionné conformément à la cadence de données. Si les symboles sélectionnés dépassent un bloc de symboles entrelacés, les symboles restants sont sélectionnés à partir du bloc suivant. Dans ce cas, des sous-codes sont générés en répétant un bloc de symboles entrelacés. À cet effet, on a besoin d'une zone de stockage pour stocker les blocs répétés. En variante, les symboles entrelacés peuvent être stockés dans une mémoire tampon circulaire et un sous-code est généré par sélection de symboles de façon récurrente. Autrement dit, si des symboles entrelacés sont tous sélectionnés, un nombre prédéterminé de symboles est sélectionné à partir des symboles entrelacés en commençant avec le premier symbole. L'élément 208 de répétition de séquence de symboles peut alors être supprimé, car la mémoire tampon circulaire fonctionne en tant qu'élément 208 de répétition de séquence de symboles. La forme de réalisation ci-dessus de l'invention indique deux turbocodes quasi-complémentaires QCTC à deux dimensions. Dans le type de turbocode QCTC à deux dimensions, un turbocode QCTC correspondant à chaque taux d'émission est généré de façon indépendante et les souscodes du turbocode QCTC sont transmis séquentiellement. Cependant, les turbocodes QCTC à deux dimensions ne sont pas optimaux pour les raisons décrites ci-dessous. Comme montré sur la figure 2, on suppose que le premier sous-code Coo du premier turbocode QCTC Coj est utilisé pour une transmission initiale, que le premier sous-code C1O du deuxième turbocode QCTC C1j est utilisé pour la transmission suivante, et que le premier sous-code C2o du troisième turbocode QCTC C2j est utilisé pour la troisième transmission. Un récepteur décode alors des données en combinant les trois sous-codes (Coo, Ciao, C20). Cependant, dans ce cas, la combinaison de codes ne rétablit pas un code d'origine avec un taux d'émission de 1/5, uniquement pour augmenter l'énergie des symboles d'information et non, par conséquent, pour optimiser les performances de décodage. Ceci implique un problème concernant l'ordre de transmission des sous-codes, c'est-àdire la sélection des sous-codes. Pour résoudre le problème, des turbocodes QCTC adaptatifs sont proposés. Dans le cas de turbocodes QCTC adaptatifs, le nombre de symboles de code devant être sélectionné est déterminé en fonction du taux d'émission d'un sous-code, et le sous-code est généré par sélection du nombre déterminé de symboles à partir du symbole suivant le dernier symbole utilisé pour la transmission précédente. La figure 3 est un schéma fonctionnel simplifié d'une autre forme de réalisation de l'appareil de génération de turbocodes QCTC. La structure montrée sur la figure 3 est identique à celle montrée sur la figure 2, sauf que l'élément de répétition de séquence de symboles et l'élément de perforation de symboles fonctionnent de manières différentes. La description suivante portera donc principalement sur l'élément 308 de répétition de séquence de symboles et sur l'élément 309 de perforation de symboles. L'élément 308 de répétition de séquence de symboles répète une séquence de symboles reçue d'un élément 307 d'enchaînement de symboles d'une manière prédéterminée. La répétition peut être effectuée conformément à un paramètre donné dans l'élément 308 de répétition de séquence de symboles, ou sous la commande d'un dispositif de commande (non représenté) de couche supérieure, ou à la demande de l'élément 307 d'enchaînement de symboles. Le processus cidessus est exécuté de la même manière que celle décrite en référence à la figure 2. L'élément 309 de perforation de symboles perfore ensuite des symboles reçus de l'élément 308 de répétition de séquence de symboles conformément à une règle différente de la règle appliquée sur la figure 2 pour générer un sous-code. La règle de perforation est la suivante. On suppose qu'une transmission commence à un temps k, qu'un sous-code transmis à un temps (k+h) est exprimé par Cij (k+h), et que les symboles de code d'un code de base avec R=1/5 sont Cm (O), Cm (l),..., Cm (N-1). Le nombre de symboles de code, N, est défini comme étant LINFx5, car le taux d'émission de base est 1/5. Ici, LINF désigne la dimension d'un élément d'entrelacement de sous-blocs, ou le nombre de symboles d'information. Étape 1 : la longueur d'un sous-code initial est déterminée. Pour une transmission initiale, l'un Cjo des premiers sous-codes Coo, Ciao, C20 des turbocodes QCTC disponibles est sélectionné conformément à un taux d'émission donné et la longueur du sous-code sélectionné Cjo est stockée en tant que variable LSC. Le taux d'émission ou la longueur LSC du sous-code est prédéterminé dans le système conformément à un environnement du canal comprenant une condition du canal de transmission et une cadence de données d'entrée. La description porte sur le contexte de trois turbocodes QCTC montrés sur la figure 3 pour une meilleure compréhension de l'invention, mais le nombre de sous-codes n'est pas limité. Étape 2 : un sous-code pour une transmission initiale est sélectionné et transmis. Après que la longueur d'un sous-code devant être transmis a été déterminée, on sélectionne Cm (0), Cm (l), ..., Cm (LSC-l) parmi les symboles de code du code de base. Si LSC dépasse N, Cm (0), Cm (l),..., Cm (N) sont transmis P fois, puis Cm (0), Cm (l),..., Cm (q-l) sont transmis. Ici, P et q sont le quotient et le reste de LSC/N, respectivement et P et q sont calculés par LSC mod N. La variable q est ensuite stockée pour la transmission suivante pour être utilisée dans la détection de la position du dernier symbole du sous-code transmis précédemment par rapport au bloc de symboles entrelacés. Étape 3 : la position de départ d'un sous-code pour la transmission suivante et la longueur du sous-code sont déterminées. Pour la transmission suivante, le taux d'émission RSC d'un nouveau sous-code devant être transmis est déterminé conformément à l'environnement du canal et la longueur LSC du sous-code est déterminée conformément au taux d'émission déterminé. La longueur L~SC et le taux d'émission RSC sont dans la relation Un système à couche plus élevée transmet la longueur de sous-code LSC et le taux d'émission de sous-code RSC à l'élément 309 de perforation de symboles pour chaque transmission. Étape 4 : un sous-code pour la transmission suivante est sélectionné et transmis. Après que la longueur LSC du sous-code devant être transmis a été déterminée, Cm (q), Cm (q+l),..., Cm (q+L~SC-1) sont sélectionnés parmi les symboles de code du code de base. En d'autres termes, on sélectionne un nombre de symboles correspondant à la longueur du sous-code parmi les symboles de code de base en commençant avec le symbole suivant le dernier symbole sélectionné pour la transmission précédente. Si q+LSC dépasse N, une rangée constituée de N symboles de code commençant avec Cm (q) est sélectionnée de façon récurrente et transmise P fois, puis les q'symboles de code restants sont transmis séquentiellement. Ici, P et q'sont le quotient et le reste de (LSC)/N, respectivement, et q'est calculé par (q+LSC) mod N. Ensuite, la valeur de la position de symbole suivante, portant sur la position du dernier symbole sélectionné pour la transmission suivante, est stockée à q. La variable q est la position de symbole suivant la position du dernier symbole parmi des symboles constitués du dernier sous-code transmis. Après que le sous-code généré a été transmis, le processus revient à l'étape 3. La transmission de turbocodes QCTC adaptatifs ressortira clairement en considérant les cas montrés sur la figure 3. En référence à la figure 3, un sous-code de taux bas ayant un taux d'émission de 1/7, est transmis initialement dans le cas 1, et un sous-code de taux élevé, ayant un taux d'émission de 4/7, est transmis initialement dans le cas 2. Comme on le voit d'après ces cas, N (=15360) symboles de code de base successifs sont répétés et un nombre de symboles de code concordant avec une dimension correspondant à la longueur d'un sous-code devant être transmis (ou avec le taux d'émission du sous-code) est sélectionné séquentiellement depuis les symboles de code de base répétés, à chaque transmission. Dans une mise en oeuvre réelle, on n'utilise pas de tampon pour stocker (P-1) fois des codes de base répétés, mais on utilise un tampon circulaire unique pour stocker N symboles de code et sélectionner de façon récurrente des symboles de code afin de générer un sous-code d'une longueur prévue. Autrement dit, l'utilisation de la mémoire tampon circulaire évite la nécessité d'une répétition de séquence. Un récepteur peut utiliser n'importe quel tampon de réception pourvu qu'il puisse stocker N métriques souples pour une combinaison de codes. Il va de soi que de nombreuses modifications peuvent être apportées au procédé et à l'appareil décrits et représentés sans sortir du cadre de l'invention. REVENDICATIONS 1. Appareil de génération de turbocodes quasi- complémentaires QCTC, caractérisé en ce qu'il comporte un turbocodeur (101) ayant plusieurs éléments codeurs pour générer une séquence de symboles d'information et plusieurs séquences de symboles de parité conformément à un taux d'émission donné par codage de la séquence de symboles d'information, chacun des éléments codeurs étant destiné à générer au moins une séquence de symboles de parité, la ou chaque séquence de symboles de parité provenant d'un élément codeur correspondant à la ou chaque séquence de symboles de parité d'un autre élément codeur ; un élément (102) d'entrelacement de canaux destiné à entrelacer individuellement la séquence de symboles d'information et les séquences de symboles de parité, agençant de façon alternée les symboles des séquences correspondantes de symboles de parité, et enchaînant en série la séquence entrelacée de symboles d'information et les séquences agencées de symboles de parité ; et un générateur (103) de turbocodes QCTC destiné à générer un sous-code d'un turbocode QCTC en répétant la séquence de symboles enchaînée en série et en sélectionnant un nombre prédéterminé de symboles à partir de la séquence de symboles répétée conformément à un taux d'émission et à une information de sélection. 2. Appareil de génération de turbocodes QCTC selon la revendication 1, caractérisé en ce que l'élément d'entrelacement de canaux comporte plusieurs éléments d'entrelacement (204,214, 224,234, 244) destinés à entrelacer individuellement la séquence de symboles d'information et la pluralité de séquences de symboles de parité ; un multiplexeur (205,215) destiné à générer une nouvelle séquence de symboles de parité en multiplexant les symboles entrelacés des séquences correspondantes de symboles de parité ; et un élément (207) d'enchaînement de symboles destiné à enchaîner en série la séquence entrelacée de symboles d'information et la nouvelle séquence de symboles de parité. 3. Appareil de génération de turbocodes QCTC selon la revendication 1, caractérisé en ce que le générateur de turbocodes QCTC comporte un élément (208) de répétition de symboles destiné à répéter la séquence de symboles enchaînée en série ; et un sélecteur (209) de symboles destiné à générer le sous-code en sélectionnant un nombre prédéterminé de symboles à partir de la séquence de symboles répétée dans une position de départ donnée conformément à un taux d'émission donné. 4. Appareil de génération de turbocodes QCTC selon la revendication 3, caractérisé en ce que la position de départ donnée est la position d'un symbole suivant le dernier symbole sélectionné pour la transmission précédente. 5. Appareil de génération de turbocodes QCTC selon la revendication 1, caractérisé en ce que le générateur de turbocodes QCTC comporte une mémoire tampon circulaire destinée à stocker la séquence de symboles enchaînée en série ; et un sélecteur (309) de symboles destiné à générer le sous-code en sélectionnant un nombre prédéterminé de symboles à partir de la séquence de symboles enchaînée en série dans une position de départ donnée, conformément à un taux d'émission donné. 6. Appareil de génération de turbocodes QCTC selon la revendication 5, caractérisé en ce que la position de départ donnée est la position d'un symbole suivant le dernier symbole sélectionné pour la transmission précédente. 7. Appareil de génération de turbocodes QCTC selon la revendication 1, caractérisé en ce que le générateur de turbocodes QCTC génère le sous-code en sélectionnant un nombre prédéterminé de symboles à partir de la séquence de symboles répétée conformément à un taux d'émission donné, en commençant avec un symbole suivant le dernier symbole sélectionné pour la transmission précédente. 8. Appareil de génération de turbocodes QCTC selon la revendication 1, caractérisé en ce que l'élément d'entrelacement de canaux entrelace individuellement la séquence de symboles d'information et la pluralité de séquences de symboles de parité par entrelacement par inversion partielle d'ordre de bits (PBRO). 9. Appareil de génération de turbocodes quasicomplémentaires QCTC, caractérisé en ce qu'il comporte un turbocodeur (101) ayant plusieurs éléments codeurs, pour générer une séquence de symboles d'information et une pluralité de séquences de symboles de parité en codant la séquence de symboles d'information, chaque élément codeur étant destiné à générer au moins une séquence de symboles de parité correspondant à au moins une séquence de symboles de parité provenant d'un autre élément codeur ; un élément (102) d'entrelacement destiné à entrelacer individuellement la séquence de symboles d'information et les séquences de symboles de parité : un multiplexeur destiné à générer une nouvelle séquence de symboles de parité en multiplexant les symboles entrelacés des séquences correspondantes de symboles de parité ; un élément (207) d'enchaînement de symboles destiné à enchaîner en série la séquence de symboles d'information entrelacés et la nouvelle séquence de symboles de parité et un générateur (103) de turbocodes QCTC destiné à générer un sous-code d'un turbocode QCTC avec un taux d'émission donné en sélectionnant de façon récurrente un nombre prédéterminé de symboles à partir de la séquence de symboles enchaînée en série dans une position de départ donnée conformément au taux d'émission. 10. Appareil de génération de turbocodes QCTC selon la revendication 9, caractérisé en ce que l'élément d'entrelacement entrelace individuellement la séquence de symboles d'information et la pluralité de séquences de symboles de parité par entrelacement partiel par inversion d'ordre de bits. 11. Appareil de génération de turbocodes QCTC selon la revendication 9, caractérisé en ce que la position de départ donnée est la position d'un symbole suivant le dernier symbole sélectionné pour la transmission précédente. 12. Appareil de génération de turbocodes QCTC selon la revendication 9, caractérisé en ce que le générateur de turbocodes QCTC comporte un élément (208) de répétition de symboles destiné à répéter la séquence de symboles enchaînée en série ; et un élément (209) de sélection de symboles destiné à générer le sous-code en sélectionnant le nombre prédéterminé de symboles à partir de la séquence de symboles répétée conformément au taux d'émission donné. 13. Appareil de génération de turbocodes QCTC selon la revendication 9, caractérisé en ce que le générateur de turbocodes QCTC comporte une mémoire tampon circulaire destinée à stocker la séquence de symboles enchaînée en série ; et un élément (309) de sélection de symboles destiné à générer le sous-code en sélectionnant le nombre prédéterminé de symboles à partir de la séquence de symboles enchaînée en série dans la position de départ donnée conformément au taux d'émission donné. 14. Appareil de génération de turbocodes quasicomplémentaires QCTC, caractérisé en ce qu'il comporte un turbocodeur (101) destiné à générer une séquence de symboles d'information et une pluralité de séquences de symboles de parité en codant la séquence de symboles d'information ; un élément (102) d'entrelacement de canaux destiné à entrelacer individuellement la séquence de symboles d'information et les séquences de symboles de parité, à générer de nouvelles séquences de symboles de parité en multiplexant les symboles de séquences de symboles de parité ayant les mêmes niveaux de priorité, et à enchaîner en série la séquence de symboles d'information et les nouvelles séquences de symboles de parité ; et un générateur (103) de turbocodes QCTC destiné à générer un sous-code d'un turbocode QCTC avec un taux d'émission donné en sélectionnant de façon récurrente un nombre prédéterminé de symboles à partir de la séquence de symboles enchaînée en série dans une position de départ donnée suivant le taux d'émission. 15. Appareil de génération de turbocodes QCTC selon la revendication 14, caractérisé en ce que le turbocodeur comporte plusieurs éléments codeurs, chaque élément codeur générant au moins une séquence de symboles de parité, et au moins un élément d'entrelacement, une séquence primaire de symboles de parité provenant de chaque élément codeur ayant un niveau de priorité plus élevé. 16. Appareil de génération de turbocodes QCTC selon la revendication 14, caractérisé en ce que la position de départ donnée est la position d'un symbole suivant le dernier symbole sélectionné pour la transmission précédente. 17. Procédé de génération de turbocodes quasicomplémentaires QCTC, caractérisé en ce qu'il comprend les étapes qui consistent à générer une séquence de symboles d'information et une pluralité de séquences de symboles de parité en codant la séquence de symboles d'information, la pluralité de séquences de symboles de parité étant générée à partir d'éléments codeurs, au moins une séquence de symboles de parité étant générée à partir de chacun des éléments codeurs, et la ou chaque séquence de symboles de parité provenant d'un élément codeur correspondant à la ou chaque séquence de symboles de parité provenant d'un autre élément codeur ; à entrelacer individuellement la séquence de symboles d'information et les séquences de symboles de parité ; à générer une nouvelle séquence de symboles de parité en multiplexant les symboles entrelacés des séquences correspondantes de symboles de parité ; à enchaîner en série la séquence entrelacée de symboles d'information et la nouvelle séquence de symboles de parité ; et à générer un sous-code d'un turbocode QCTC avec un taux d'émission donné en sélectionnant de façon récurrente un nombre prédéterminé de symboles à partir de la séquence de symboles enchaînée en série dans une position de départ donnée conformément au taux d'émission. 18. Procédé de génération de turbocodes QCTC selon la revendication 17, caractérisé en ce que l'étape d'entrelacement est effectuée par entrelacement par inversion partielle d'ordre des bits (PBRO). 19. Procédé de génération de turbocodes QCTC selon la revendication 17, caractérisé en ce que la position de départ donnée est la position d'un symbole suivant le dernier symbole sélectionné pour la transmission précédente. 20. Procédé de génération de turbocodes QCTC selon la revendication 17, caractérisé en ce que l'étape de génération de turbocodes QCTC comprend les étapes qui consistent à répéter la séquence de symboles enchaînée en série ; et à générer le sous-code en sélectionnant le nombre prédéterminé de symboles à partir de la séquence de symboles répétée conformément au taux d'émission donné. 21. Procédé de génération de turbocodes QCTC selon la revendication 17, caractérisé en ce que l'étape de génération de turbocodes QCTC comprend les étapes qui consistent à stocker la séquence de symboles enchaînée en série dans une mémoire tampon circulaire, et à générer le sous-code en sélectionnant le nombre prédéterminé de symboles à partir de la mémoire tampon circulaire dans la position de départ donnée conformément au taux d'émission donné.