Brevet FR2813723A1 — publié le 20020308

La présente invention concerne les systèmes de communication dans lesquels, afin d'améliorer la fidélité de la transmission, les données à transmettre sont soumises à un codage de canal. Elle concerne plus particulièrement un procédé de turbocodage , ainsi que les dispositifs et appareils destinés à mettre en #uvre ce procédé. On rappelle que le codage dit de canal consiste, quand on forme les mots de code envoyés au récepteur, à introduire une certaine redondance dans les données à transmettre. Au niveau du récepteur, le procédé de décodage associé exploite alors judicieusement cette redondance pour détecter d'éventuelles erreurs de transmission et si possible les corriger. Plus précisément, on définit la distance de Hamming entre deux séquences binaires de même longueur comme étant le nombre d'emplacements où les deux séquences possèdent un élément binaire différent Les mots de code obéissent à certaines règles définies par le procédé de codage considéré, ce qui permet au récepteur de remplacer le mot reçu par le mot de code légal situé à la distance de Hamming la plus courte de ce mot reçu. Toutes choses égales par ailleurs, un procédé de codage sera donc d'autant meilleur qu'il offrira une distance de Hamming minimale plus grande entre les divers mots de code Une deuxième qualité recherchée pour un procédé de codage est évidemment sa simplicité de mise en #uvre, c'est à dire la simplicité de l'algorithme employé, tant au niveau du codage que du décodage associé. On connaît en particulier les procédés de codage appelés codes cycliques redondants . Dans chacun d'eux, on a fait le choix d'un polynôme g (x), dit polynôme générateur , à coefficients binaires, de degré d et de terme constant égal à 1. On met chaque séquence d'informations à transmettre, éventuellement en la prolongeant avec des éléments nuls, sous la forme d'une séquence binaire u ayant une longueur k fixe. Puis on forme une séquence a en prolongeant la séquence u au moyen d'un nombre de bits égal à d, ces bits dits de bourrage ( padding bits en anglais) étant choisis de manière à ce que le polynôme associé à a soit divisible par g(x) (modulo 2). Ce sont les séquences a (de longueur p = k + d) qui sont envoyées au récepteur. Les erreurs de transmission sont alors détectées en examinant le reste de la division du mot de code reçu par le polynôme générateur (voir par exemple le livre Computer Networks de A. Tannenbaum, 3eme édition, Prentice-Hall International, New Jersey, 1996, pages 183-190). On a proposé récemment des procédés de codage très efficaces, appelés turbocode , dans lesquels on accroît la redondance en transmettant, pour chaque séquence u de données initiales, non pas une seule, mais trois séquences binaires a, b et c. La séquence a peut être identique à u, mais elle est souvent obtenue, comme ci-dessus, en prolongeant la séquence u au moyen de bits de bourrage choisis, par référence à un polynôme générateur prédéterminé g (x), manière à ce que a (x) soitdivisible par g(x). La séquence b est habituellement représentée par le polynôme où f1(x) est un deuxième polynôme à coefficients binaires prédéterminé sans diviseur commun avec g(x) ; on choisit généralement pour f1(x) un polynôme ayant le même degré d que g (x), qui fait que la séquence b a la même longueur p que la séquence a. Le polynôme g(x) est appelé "polynôme de récurrence" en raison de son apparition au dénominateur de l'expression cidessus, et la fonction f1(x)/g(x) est appelée fonction de transfert de ce premier codeur (celui qui fournit b à partir de a). La séquence c, enfin, est habituellement représentée par le polynôme où g* (x) un troisième polynôme prédéterminé à coefficients binaires de degré d et de terme constant égal à 1, où f2(x) est un quatrième polynôme prédéterminé à coefficients binaires, sans diviseur commun avec g* (x), où le polynôme a*(x) représente une séquence binaire a* qui résulte de manière prédéterminée d'une permutation des éléments binaires de u ou de a (opération appelée entrelaçage ), Les turbocodes font partie des codes dits convolutifs , c'est-à-dire des codes dans lesquels chaque bit entrant dans un codeur est combiné à d'autres bits provisoirement enregistrés dans ce codeur, ces bits provisoirement enregistrés ayant été produits par le traitement, dans le codeur, des bits entrants précédents. De ce fait, le résultat du codage d'une séquence entrant dans un codeur dépend en général des séquences traitées précédemment, et n'est que partiellement déterminé par les seules fonctions de transfert. Le nombre de bits provisoirement enregistrés dans le codeur est appelé longueur de contrainte du code convolutif. La longueur de contrainte du premier codeur sera notée # ; nous désignerons ces bits par s, (i = 1,2, . ,#). Autrement dit, le nombre d'états s = (s,, s2, ...,s#) différents possibles du premier codeur est égal à 2#. Dans le cas où la séquence b est donnée par l'expression ci-dessus, # est égal au plus grand des degrés de f1(x) et de g(x) De même, la longueur de contrainte du second codeur (celui qui fournit c à partir de a*) sera notée 8*, et est égale au plus grand des degrés de f2(x) et de g*(x) ; l'état de ce second codeur sera désigné par s*= (s*,, s*2,...,s*#@). Suite à la réception du message codé, le turbodécodeur reçoit trois séquences de nombres notées a', b' et c.', et qui ont été produites par l'action du bruit du canal de transmission sur les séquences émises a,. b et c. Le turbodécodeur met alors en #uvre un processus itératif (utilisant b' et c' en alternance) destiné à calculer une valeur estimée â de a avec une fiabilité qui croît avec le nombre d'itérations choisi. Si l'on a utilisé des bits de bourrage, il suffit évidemment, une fois la valeur finale de â obtenue, d'en supprimer les d derniers bits pour obtenir la valeur estimée Û de u. Une troisième qualité recherchée pour un procédé de codage est une valeur aussi élevée que possible du rendement du codage , qui est le rapport entre le nombre de bits contenant les informations que l'on cherche à transmettre et le nombre de bits correspondants qui sont effectivement transmis sous forme de mots de code. Par exemple, pour un turbocode classique dans lequel on transmet, pour chaque séquence d'informations u de longueur k, trois séquences (a, b et c) chacune de longueur p, le rendement est égal à k/3p ; si a est identique à u, p est égal à k et le rendement vaut 1/3 ; dans le cas où l'on utilise des bits de bourrage, c'est-à-dire où p est égal à (k + d), le rendement est égal à kl3(k + d), ce qui n'est que légèrement inférieur à 1/3 lorsque (comme c'est habituellement le cas) d est faible par rapport à k. Un but de la présente invention est d'améliorer le rendement de codage pour les turbocodes. Habituellement, on cherche à atteindre un tel but en réduisant la longueur totale des mots de code pour une quantité d'informations à transmettre fixée, mais on peut également envisager d'améliorer ce rendement en augmentant, pour une longueur totale des mots de code fixée, la quantité d'informations transmise. En particulier, on peut envisager d'attacher un contenu informatif aux états dans lesquels se trouvent les deux codeurs au début du codage d'une séquence u. En effet, comme expliqué plus haut, les décodeurs faisant partie de dispositifs de codage convolutifs sont aptes à traiter des séquences codées qui sont chacune fonction, d'une part, évidemment, de la séquence à coder, mais d'autre part aussi de l'état du codeur quand cette séquence à coder est introduite dans le codeur ; comme il est connu de l'homme du métier, les algorithmes de décodage permettent donc au décodeur de déterminer, non seulement une valeur estimée de la séquence avant codage, mais également une valeur estimée dudit état du codeur (sur ce point particulier, on pourra par exemple consulter le livre de A. Gill intitulé Linear Sequential Circuits : Analysis, Synthesis, and Applications et édité par McGraw-Hill, New York, 1966). Or cette information sur l'état du codeur, dans les procédés de codage connus, est simplement mise au rebut à la fin du décodage de ladite séquence. Dans le cas des turbocodes, on dispose pour la paire de codeurs de 2#+#@ états, que l'émetteur pourrait a priori utiliser pour transmettre au récepteur 2#+#@ informations différentes (à l'aide d'une liste de correspondance préétablie). Une telle disposition, toutefois, soulève un problème du fait qu'elle implique, évidemment, la possibilité de choisir les états initiaux des codeurs indépendamment de la séquence u à coder : il faut alors s'attendre en général à ce que chaque codeur se trouve, à la fin du codage, dans un état différent de son état initial, ce qui cause, comme il est bien connu, une perte de sécurité dans le décodage des derniers bits de la séquence reçue. Cette perte de sécurité dépend de la longueur des séquences, et peut même être tolérable dans certaines applications, mais il serait évidemment préférable d'y remédier. Or seule la stabilité de l'état du codeur (connue de l'homme du métier sous le nom de tail-biting ou principe circulaire ) permettrait d'appliquer le procédé de codage convolutif concerné à des séquences de longueur arbitraire avec la même qualité de décodage pour les derniers bits de la séquence que pour les autres bits. Aucune solution à ce problème consistant à concilier le libre choix de l'état initial des codeurs avec les avantages du principe circulaire n'a jusqu'ici été proposée dans le cas des codes récursifs (c'est- à-dire utilisant un polynôme de récurrence), et donc en particulier des turbocodes (dans le cas des codes non récursifs, le principe circulaire peut être satisfait trivialement en introduisant dans le codeur les # bits du message supplémentaire juste avant et juste après la séquence à coder, mais cette répétition de bits nuit au rendement de codage). Afin de résoudre ce problème, l'invention propose un procédé de turbocodage pour la transmission d'informations, dans lequel, un premier polynôme à coefficients binaires g (x) degré d et de terme constant égal à 1 ayant été prédéterminé, on présente d'abord lesdites informations sous la forme de séquences binaires u de longueur où p est un multiple prédéterminé de la période N dudit polynôme g(x), puis l'on produit pour chacune desdites séquences u trois séquences binaires codées a, b (a, s), et c (a*, s*) destinées à être transmises et obtenues comme suit : - ladite séquence a est de longueur p et obtenue en prolongeant la séquence u au moyen de d bits de bourrage de manière à ce que le polynôme associé à a soit divisible par g(x), - ladite séquence b (a, s) est la réponse à ladite séquence a présentée par un premier codeur se trouvant dans un état s lorsque la séquence a se présente à son entrée, ledit premier codeur comprenant un circuit linéaire séquentiel de fonction de transfert f1(x)/g(x), où f(x) est un deuxième polynôme prédéterminé à coefficients binaires, sans diviseur commun avec g (x), -ladite séquence c (a*, s*) est la réponse à la séquence a* présentée par un second codeur se trouvant dans un état s* lorsque la séquence a* qui résulte d'une permutation prédéterminée des éléments binaires de u ou de a, se présente à son entrée, ledit second codeur comprenant un circuit linéaire séquentiel de fonction de transfert f2(x)lg*(x), où g* (x) un troisième polynôme prédéterminé à coefficients binaires de degré d et de terme constant égal à 1, et où f2(x) est un quatnème polynôme prédéterminé à coefficients binaires, sans diviseur commun avec g*(x), ladite permutation et ledit polynôme g* (x) étant choisis de telle sorte que, pour tout a(x) divisible par g(x), le polynôme a*(x) associé à la séquence a* soit divisible par g*(x), ledit procédé de turbocodage étant remarquable en ce que : - on choisit à l'avance, c'est à dire préalablement à l'exécution dudit procédé, une correspondance entre certains au moins des couples (s, s*) d'états possibles dudit premier codeur et dudit second codeur, et des informations supplémentaires que l'émetteur peut avoir à transmettre au récepteur en plus des informations contenues dans les séquences u, et - on place, au début du codage de chaque séquence u, le premier codeur dans un état initial s particulier et le second codeur dans un état initial s* particulier d'après l'information que l'on souhaite transmettre, ou le cas échéant l'absence d'information à transmettre. En effet, l'auteur de la présente invention a découvert que tout état d'un codeur convolutif récursif est stable pourvu que deux conditions soient satisfaites. La première condition est que la longueur des séquences à coder soit un multiple de la période du polynôme de récurrence (cette période est définie comme étant le plus petit entier positif N tel que ledit polynôme g (x) divise (xN + 1) modulo 2 ; pour d'autres propriétés déjà connues de ladite période, on pourra consulter l'ouvrage classique de F.J. Mc Williams et N.J.A. Sloane intitulé The Theory or Error-Correcting Codes , publié par North- Holland en 1977 et dont la septième édition a eu lieu en 1992). La deuxième condition est que toutes les séquences à coder soient divisibles par le polynôme de récurrence. Appliquant ces résultats aux turbocodes, on constate que, comme expliqué ci-dessus, on peut garantir la divisibilité des séquences a traitées par le premier codeur, de manière classique, au moyen de bits de bourrage Le problème de la divisibilité des séquences entrelacées a* est beaucoup plus difficile. Une solution connue consiste, en premier lieu, à permuter de manière prédéterminée les éléments binaires de u pour obtenir une séquence u*, et, en second lieu, à former a* en prolongeant u* au moyen de d bits de bourrage de manière à ce que a* soit divisible par g* (x) (onchoisira alors de préférence g* (x) identique à g (x) souci de simplicité) ; un tel procédé de turbocodage présente l'inconvénient que l'efficacité du turbodécodage est diminuée en raison du fait que a et a* contiennent des jeux de bits de bourrage choisis indépendamment l'un de l'autre ; il en résulte une certaine perte de fiabilité (mesurée en termes de taux d'erreurs) de la transmission. Pour échapper à cet inconvénient, la présente invention propose, selon des dispositions particulières, un procédé de turbocodage remarquable en ce que, dans une représentation où les données binaires des séquences a et a* sont classées ligne par ligne dans un tableau de N colonnes et de p/N lignes, on obtient a* en appliquant à a au moins une permutation parmi un ensemble de permutations constitué : - des automorphismes du code cyclique binaire de longueur N et de polynôme générateur g(x), permutant entre elles lesdites colonnes du tableau, et - des permutations opérant uniquement sur des données d'une même colonne et permutant entre elles lesdites données, d'où il résulte que g*(x) est identique à g(x). Cette classe de permutations préservant la divisibilité a été antérieurement divulguée dans une demande au nom de CANON. On a choisi ici, par souci de simplicité, des permutations pour lesquelles le polynôme g* (x) est identique à g (x), maisil faut noter que l'on pourrait aussi bien, quand on met en #uvre la présente invention, utiliser d'autres permutations préservant la divisibilité, notamment des permutations pour lesquelles le polynôme g* (x) adéquat est différent de g(x), et qui ont également été divulguées dans des demandes antérieures au nom de CANON. On atteint ainsi, grâce à l'invention, le but mentionné ci-dessus, à savoir la transmission d'une quantité accrue d'information sans réduction de la longueur des mots de code. De plus, la stabilité des états initiaux des codeurs est obtenue sans aucune répétition de bits entrants. Comme on l'a expliqué plus haut, le turbodécodeur utilise les versions bruitées de a, b et c pour obtenir une valeur estimée de la séquence a transmise. On peut alors craindre que si le turbodécodeur doit, en outre, obtenir des valeurs estimées pour les états s et s* des deux codeurs, il n'en résulte une certaine perte d'efficacité du turbodécodage Pour échapper à cet inconvénient, la présente invention propose, selon des dispositions particulières, un procédé de turbocodage remarquable en ce que : - lesdits premier et second codeurs ont le même nombre d'états possibles, et - on place à chaque fois le premier codeur dans le même état initial que le deuxième codeur. Ainsi, dans ce mode de réalisation particulier, on obtient une efficacité optimale pour le turbodécodage (puisque b et c incarnent exactement les mêmes informations), en échange d'une limitation à 2# du nombre d'informations supplémentaires disponibles. On atteint tout de même grâce à l'invention, par exemple dans le cas usuel où les polynômes fi(x) et f2(x) ont tous deux le même degré d que g(x), un rendement de codage exactement égal à 1/3, avec, répétons-le, une très haute fiabilité dans la transmission. Selon un autre de ses aspects, l'invention concerne divers dispositifs. Elle concerne ainsi, premièrement, un dispositif de traitement de séquences de données destinées à être transmises à l'aide d'un des procédés de turbocodage selon l'invention, ledit dispositif étant remarquable en ce qu'il comporte : - un convertisseur pour traduire lesdites informations supplémentaires que l'on souhaite transmettre en même temps qu'une séquence de données u, en une paire d'états constituée d'un état s du premier codeur et d'un état s* dudit second codeur, et - des moyens pour placer respectivement ces codeurs dans ces états au début du codage de ladite séquence u. Corrélativement, l'invention concerne, deuxièmement, un dispositif d'assistance au décodage de séquences de données qui ont été transmises à l'aide d'un des procédés selon l'invention, ledit dispositif étant remarquable en ce qu'il comporte : - des moyens pour produire une séquence binaire Û en ôtant les d derniers bits de la séquence estimée â obtenue à la fin du turbodécodage des séquences reçues a', b' et c' correspondant respectivement auxdites séquences émises a, b, et c, et - un convertisseur pour traduire l'état estimé s dudit premier codeur et l'état estimé s* dudit second codeur obtenus à la fin dudit turbodécodage en des informations supplémentaires. L'invention concerne, troisièmement, un dispositif de codage de séquences de données, ledit dispositif étant remarquable en ce qu'il comporte : - au moins un dispositif de traitement de séquences de données tel que décrit succinctement ci-dessus, et - au moins un turbocodeur. Corrélativement, l'invention concerne, quatrièmement, un dispositif de décodage de séquences de données, ledit dispositif étant remarquable en ce qu'il comporte : - au moins un turbodécodeur, et - au moins un dispositif d'assistance au décodage tel que décrit succinctement ci-dessus. La présente invention vise également : - un appareil d'émission de signaux numériques codés, comportant un dispositif de codage tel que décrit succinctement ci-dessus, et comportant des moyens pour émettre lesdites séquences codées a, b, et c, - un appareil de réception de signaux numériques codés, comportant un dispositif de décodage tel que décrit succinctement ci-dessus, et comportant des moyens pour recevoir lesdites séquences a', b', et c', - un réseau de télécommunications, comportant au moins un appareil d'émission ou un appareil de réception de signaux numériques codés tels que décrits succinctement ci-dessus, - un moyen de stockage de données lisible par un ordinateur ou un microprocesseur conservant des instructions d'un programme informatique, permettant la mise en #uvre de l'un des procédés selon l'invention, - un moyen de stockage de données amovibles, partiellement ou totalement, lisible par un ordinateur et/ou un microprocesseur conservant des instructions d'un programme informatique, permettant la mise en #uvre de l'un des procédés selon l'invention, et - un programme d'ordinateur, contenant des instructions telles que, lorsque ledit programme commande un dispositif de traitement de données programmable, lesdites instructions font que ledit dispositif de traitement de données met en #uvre l'un des procédés selon l'invention Les avantages offerts par ces dispositifs, appareils de traitement de signaux numériques, réseaux de télécommunications, moyens de stockage de données et programmes d'ordinateur sont essentiellement les mêmes que ceux offerts par les procédés selon l'invention. En outre, on notera que les turbodécodeurs destinés à décoder lesdites séquences a', b', et ci peuvent utiliser n'importe quel algorithme de turbodécodage classique. D'autres aspects et avantages de l'invention apparaîtront à la lecture de la description détaillée, que l'on trouvera ci-dessous, de modes particuliers de réalisation donnés à titre d'exemples non limitatifs. Cette description se réfère aux dessins annexés, dans lesquels : - la figure 1 représente de façon schématique la structure d'un turbocodeur classique, - la figure 2 représente de façon schématique la structure d'un turbodécodeur classique, - la figure 3a représente de façon schématique le fonctionnement classique du premier codeur, - la figure 3b représente de façon schématique le fonctionnement classique du second codeur, - la figure 4 représente de façon schématique un appareil d'émission de signaux numériques selon l'invention, - la figure 5 est un exemple de liste de correspondance selon l'invention, - la figure 6 représente un mode de réalisation préféré de l'appareil illustré sur la figure 4, - la figure 7 représente de façon schématique un appareil de réception de signaux numériques selon l'invention, - la figure 8 représente un mode de réalisation préféré de l'appareil illustré sur la figure 7, et - la figure 9 représente de façon schématique un réseau de télécommunications sans fil susceptible de mettre en oeuvre l'invention. Arrière-plan technologique du mode de réalisation préféré Le mode de réalisation préféré de l'invention présenté ci-dessous à titre d'exemple présente les caractéristiques suivantes : a) le codage des données aux fins de transmission est effectué par un turbocodeur constitué de deux codeurs convolutifs et d'un entrelaceur (système à deux parités), et b) le décodage après réception est effectué par un turbodécodeur constitué de deux décodeurs, de deux entrelaceurs, d'un désentrelaceur, d'un additionneur et d'une unité de décision. On rappelle qu'un turbocodeur classique est constitué de deux codeurs convolutifs récursifs systématiques (en anglais : RSC, Recursive Systematic Convolutional ) et d'un entrelaceur, disposés comme le montre la figure 1. Le turbocodeur fournit, en sortie, pour chaque séquence d'éléments binaires entrante a, trois séquences d'éléments binaires (a, b, c), où a est la sortie dite systématique du turbocodeur, c'est-à-dire n'ayant subi aucune modification par rapport au signal d'entrée, b est la sortie codée par le premier codeur RSC, et c est la sortie codée par le second codeur RSC après passage dans l'entrelaceur #1. La figure 2 représente un exemple de turbodécodeur classique susceptible de décoder des données fournies par un turbocodeur tel que celui de la figure 1. Un tel turbodécodeur nécessite en particulier deux décodeurs, désignés par Décodeur 1 et Décodeur 2 sur la figure 2, par exemple du type BCJR, c'est-à-dire utilisant l'algorithme de Bahl, Cocke, Jelinek et Raviv, ou du type SOVA (en anglais : Soft Output Viterbi Algorithm ). Un turbodécodeur classique nécessite également un rebouclage de la sortie du désentrelaceur 7t2 sur l'entrée du premier décodeur afin de transmettre l'information dite extrinsèque du second décodeur au premier décodeur, ainsi qu'un additionneur 70 et une unité de décision 80 La figure 3a est un schéma de fonctionnement du premier codeur RSC, dans le cas où l'on prend, par exemple, f1(x) = 1 + x2 + x3, et g (x) = 1 + x + x3. Ce premier codeur, d'état initial s = (s,, s2, s3), produit une séquence b à partir d'une séquence a. La figure 3b est un schéma de fonctionnement du second codeur RSC, dans le cas où l'on prend, par exemple, fz(x) = 1 + x + x2 + x3, et g*(x) = 1+x+x3. Ce second codeur, d'état initial s* = (s*,, s*2, s*3), produit une séquence c à partir d'une séquence a*. Ces deux codeurs RSC sont illustrés sur les figures 3a et 3b sous la forme d'éléments de retard, tels que des bascules par exemple. Ces séquences d'éléments de retard réalisent les fonctions logiques représentées par les multiplications ou les divisions par des polynômes. Cette représentation est classique et bien connue de l'homme du métier. Pour plus de détails sur les turbocodes, on se reportera utilement - à l'article de C. Berrou, A. Glavieux et P. Thitimajshima intitulé Near Shannon Limit Error-Correcting Coding and Decoding: Turbo-codes , ICC '93, Genève (édité par IEEE, Piscataway, NJ, USA, 1993), - à l'article de R. de Gaudenzi et M. Luise intitulé Audio and Video Digital Radio Broadcasting Systems and Techniques , Actes du Sixième Séminaire International de Tirrenia sur les Télécommunications Numériques, pages 215 à 226 (1993), - à l'article de J. Hagenauer, P. Robertson et L. Papke intitulé Iterative (Turbo) Decoding of Systematic Convolutional Codes with the MAP and SOVA Algorithms , Informationstechnische Gesellschaft (ITG) Fachbericht, pages 21 à 29 (octobre 1994), - à l'article de J. Hagenauer, E. Offer et L. Papke intitulé Iterative Decoding of Binary Block and Convolutional Codes , IEEE Transactions on Information Theory (édité par IEEE, Piscataway, NJ, USA, 1996), - à l'article de C. Berrou, S. Evano et G Battail intitulé Turbo-block Codes , Actes du séminaire Turbo-Coding organisé par le Département d'électronique appliquée de l'Institut de Technologie de Lund, Suède) (août 1996), et - à l'article de C. Berrou et A. Glavieux intitulé Near Optimum ErrorCorrectmg Coding and Decoding . Turbo-Codes , IEEE Transactions on Communications, vol. 44, n 10, pages 1261 à 1271 (édité par IEEE, Piscataway, NJ, USA, 1996). On pourra trouver un exemple de norme relative aux turbocodes parmi celles mises au point par le CCSDS ( Consultative Committee for Space Data Systems ), dans leur 4ème révision (mai 1998). L'utilisation des turbocodes a été également envisagée dans le cadre du système UMTS ( Universal Mobile Télécommunications System ) européen. Description du mode de réalisation préféré La figure 4 montre, de façon très schématique, un appareil d'émission de signaux numériques 48 selon l'invention. Ce dernier comprend un émetteur 45 et un dispositif de codage 47. Dans ce mode de réalisation, le dispositif de codage 47 comporte, d'une part, un turbocodeur 40, et d'autre part, conformément à l'invention, un dispositif de traitement de séquences de données 46. Ces données sont introduites dans l'appareil par une entrée de données à transmettre 12a, tandis que les informations supplémentaires , représentées par un numéro d'identification ID, sont introduites dans l'appareil par une entrée d'informations supplémentaires 13a Dans le mode préféré de réalisation, le numéro d'identification ID est introduit, par une liaison 13, dans un convertisseur 20 qui le traduit sous forme d'une paire d'états (s, s*) qui, selon l'invention, seront les états initiaux respectifs du premier et du second codeur faisant partie du turbocodeur 40. Le signal transportant les bits représentatifs de cette paire d'états alimente le turbocodeur 40 à l'aide d'un dispositif d'initialisation 25 capable de placer lesdits bits aux endroits appropriés de chacun des deux codeurs, c'est-à-dire, dans le cas des figures 3a et 3b, capable de donner aux signaux s,, s2, s3, s*1, s*2, et s*3 la valeur correspondant aux états initiaux souhaités. Le convertisseur 20 comporte une mémoire chargée avec une liste de correspondance du type Table de Consultation (en anglais : Look Up Table ou L.U.T.) (voir figure 5), qui peut être réalisée sous forme logicielle ou sous la forme d'un circuit logique spécifique. Dans le mode préféré de réalisation, le signal transportant la séquence de données u alimente par une liaison 12 un module de bourrage 30. Ce module 30 est chargé de prolonger la séquence u au moyen de bits de bourrage, comme expliqué ci-dessus, de manière à obtenir une séquence a dont la longueur p est un multiple de la période N du polynôme g (x), et dont le polynôme associé a (x) estdivisible par g (x). Lesignal résultant alimente alors, par une liaison 26, le turbocodeur 40. Ce dernier comporte un entrelaceur #1 selon l'invention, c'est-à-dire produisant, à partir de la séquence a, une permutation a* divisible par g* (x) choisi identique à g(x)), de sorte que l'état final de chaque codeur est identique à son état initial. Enfin, le turbocodeur 40 envoie les trois séquences de données a, b, et c ainsi obtenues vers l'émetteur 45. L'envoyeur doit évidemment convenir avec le récepteur, avant la transmission, de la signification attachée à chaque paire d'états des codeurs. La liste de correspondance entre cette signification relative aux informations supplémentaires selon l'invention, et chaque paire d'états possible, comporte au plus 2#+#@ éléments. Dans le cas habituel où les quatre polynômes f,(x), g (x), f2(x) et g*(x) sont de même degré d, on peut atteindre grâce à l'invention un rendement de codage maximum égal à (k+2d)/3(k+d), supérieur à 1/3. La figure 5 est un exemple de liste de correspondance selon l'invention, dans le cas particulier où, comme sur les figures 3a et 3b, les deux codeurs ont chacun un nombre d'états égal à huit, et où, de surcroît, on place à chaque fois le premier codeur dans le même état initial que le deuxième codeur. On pourrait par exemple, dans ce cas, faire le choix suivant : # ID = 0 : absence d'information, # ID = 1 : la séquence u associée est la première d'un message normal, # ID - 2: la séquence u associée est la première d'un message confidentiel, # ID = 3 : la séquence u associée est la première d'un message destiné à une diffusion publique, # ID = 4 : la séquence u suivante est importante, et requiert un nombre d'itérations élevé (haute qualité de décodage), # ID = 5 : la séquence u suivante est de peu d'importance, et peut tolérer un nombre d'itérations inférieur à la normale (pour réaliser des économies), # ID = 6 : la séquence u associée est l'avant-dernière du message, # ID = 7 : veuillez confirmer la bonne réception du message. Le schéma synoptique de la figure 6 représente un mode de réalisation préféré de l'appareil illustré sur la figure 4. Le turbocodeur 40 et le dispositif de traitement de séquences de données 46 sont ici réalisés par une unité logique associée à des moyens de mémorisation et à des appareils périphériques. Le dispositif de codage 47 comprend ainsi une unité de calcul CPU (en anglais . Central Processing Unit ) 560, un moyen de stockage temporaire des données 510 (mémoire RAM), un moyen de stockage de données 520 (mémoire ROM), des moyens de saisie de caractères 530, tels qu'un clavier par exemple, des moyens d'affichage d'image 540, tels qu'un écran par exemple, et des moyens d'entrée/sortie 550. La mémoire RAM 510 contient notamment - une zone mémoire data1~in dans laquelle on mémorise temporairement les données binaires de la séquence u à coder, - une zone mémoire data1~out dans laquelle on mémorise temporairement les données binaires des séquences a, b, et c codées selon l'invention, - une zone mémoire ID dans laquelle on mémorise temporairement la valeur du numéro d'identification ID associé à ladite séquence u, et - une zone mémoire Etats dans laquelle on mémorise temporairement les états initiaux du premier codeur et du second codeur correspondant à cette valeur de ID et fournis par la liste de correspondance selon l'invention. La mémoire ROM 520 comporte : - une zone mémoire P1 dans laquelle est enregistré un programme mettant en oeuvre un procédé de codage selon l'invention, et - une zone mémoire L.U.T. dans laquelle est enregistrée ladite liste de correspondance. La figure 7 montre, de façon très schématique, un appareil de réception de signaux numériques 333 selon l'invention. Ce dernier comprend un récepteur 60 et un dispositif de décodage 332. Dans ce mode de réalisation, le dispositif de décodage 332 comporte, d'une part, un turbodécodeur 300 et, d'autre part, conformément à l'invention, un dispositif d'assistance au décodage 331. Le turbodécodeur 300 reçoit les séquences codées a', b' et c' en provenance du récepteur 60. En outre, dans le mode de réalisation illustré, le turbocodeur reçoit occasionnellement des instructions concernant le nombre d'itérations IN qu'il doit appliquer pour décoder lesdites séquences reçues (voir, dans l'exemple de liste de correspondance ci-dessus, les instructions associées à ID égal à 4 et ID égal à 5) ; cesvaleurs de IN proviennent d'un retardateur 320 chargé de mémoriser chaque valeur de IN en attendant l'arrivée des séquences correspondantes Le produit du décodage effectué par le turbodécodeur 300 est composé de deux parties. D'une part, la séquence â, qui est une estimation de la séquence a émise par l'émetteur 45, est envoyée à un module tronqueur 335 ;ce tronqueur 335, selon l'invention, produit une séquence û en ôtant les d derniers bits de â (correspondant aux bits de bourrage placé par le module 30 de la figure 4) ; cette séquence û est envoyée vers une interface 65a pour la lecture du message transmis D'autre part, les bits correspondant aux états estimés des deux codeurs, s et s*, alimentent un convertisseur 310 semblable au convertisseur 20 de la figure 4, mais fonctionnant en sens inverse . Le numéro d'identification de message supplémentaire correspondant ID' est ensuite envoyé vers l'interface 66a pour la lecture des informations supplémentaires transmises selon l'invention. Dans le mode de réalisation illustré, on a également prévu une liaison vers le retardateur 320 en vue d'une transmission automatique au turbodécodeur 300 des informations supplémentaires, mentionnées précédemment, concernant le nombre d'itérations à appliquer aux futures séquences reçues. Le schéma synoptique de la figure 8 représente un mode de réalisation préféré de l'appareil illustré sur la figure 7. Le turbodécodeur 300 et le dispositif d'assistance au décodage 331 sont ici réalisés par une unité logique associée à des moyens de mémorisation et à des appareils périphériques. Le dispositif de décodage 332 comprend ainsi une unité de calcul CPU 660, un moyen de stockage temporaire des données 610 (mémoire RAM), un moyen de stockage de données 620 (mémoire ROM), des moyens de saisie de caractères 630, des moyens d'affichage d'image 640, et des moyens d'entrée/sortie 650 La mémoire RAM 610 contient notamment : - un registre data2~in dans lequel on mémorise temporairement les données d'entrée~a', b' et c' fournies par le récepteur 60, - un registre data2 out dans lequel on mémorise temporairement les données de sortie â, # et s* produites par le turbodécodage, - un registre û dans lequel on mémorise temporairement la séquence û destinée à être envoyée à l'interface 65a, et - un registre ID' dans lequel on mémorise temporairement la valeur du numéro d'identification de message supplémentaire destiné à être envoyé à l'interface 66a. La mémoire ROM 620 comporte - un registre P2 dans lequel est enregistré un programme mettant en oeuvre l'assistance au décodage selon l'invention, et - une zone mémoire L.U T. dans laquelle est enregistrée ladite liste de correspondance. On notera que, dans certaines applications, il sera commode d'utiliser le même dispositif informatique (fonctionnant en mode multi-tâches) pour l'émission et la réception de signaux selon l'invention ; dans ce cas, les unités 47 et 332 seront physiquement identiques. Les procédés selon l'invention peuvent être mis en oeuvre au sein d'un réseau de télécommunications, comme le montre la figure 9. Le réseau représenté, par exemple du type conforme à la norme DECT, est constitué d'une station dite station de base SB désignée par la référence 64, et de plusieurs stations périphériques SPi (i = 1, n, où n est un entier supérieur ou égal à 1), respectivement désignées par les références 661, 662, ...,66n. Les stations périphériques 661, 662, 66n sont éloignées de la station de base SB, reliées chacune par une liaison radio avec la station de base SB et susceptibles de se déplacer par rapport à cette dernière. La station de base SB et chaque station périphérique SPi peuvent comprendre un dispositif de codage 47 tel que décrit en référence à la figure 6, un bloc d'émission et un module radio muni d'un émetteur classique comportant un ou plusieurs modulateurs, des filtres et une antenne. La station de base SB et chaque station périphérique SPi selon l'invention peuvent comprendre également un dispositif de décodage 332 tel que décrit en référence à la figure 8, un bloc de réception et un module radio avec son antenne. La station de base SB et les stations périphériques SPi peuvent comprendre de surcroît, selon les besoins, une caméra numérique, un ordinateur, une imprimante, un serveur, un télécopieur, un scanner ou un appareil photographique numérique. Autres modes de réalisation La présente invention ne se limite pas aux modes de réalisation décrits ci-dessus : en fait, l'homme de l'art pourra mettre en #uvre diverses variantes de l'invention tout en restant à l'intérieur de la portée des revendications ci-jointes. Cela s'applique notamment aux nombreuses utilisations possibles des états initiaux des deux codeurs le mode de réalisation préféré décrit cidessus a montré qu'on pouvait en faire usage pour transmettre des informations de nature protocolaire, mais on pourrait tout aussi bien, par exemple, associer à ces états initiaux un contenu informatif de même nature que le contenu informatif des données à coder ; par exemple, les informations supplémentaires et les données à coder pourraient toutes exprimer des résultats de mesures d'une même grandeur physique. REVENDICATIONS 1. Procédé de turbocodage pour la transmission d'informations, dans lequel, un premier polynôme à coefficients binaires g(x) de degré d et de terme constant égal à 1 ayant été prédéterminé, on présente d'abord lesdites informations sous la forme de séquences binaires u de longueur où p est un multiple prédéterminé de la période N dudit polynôme g(x), puis l'on produit pour chacune desdites séquences u trois séquences binaires codées a, b (a. s), et c (a*, s*) destinées à être transmises et obtenues comme suit : - ladite séquence a est de longueur p et obtenue en prolongeant la séquence u au moyen de d bits de bourrage de manière à ce que le polynôme associé à a soit divisible par g(x), - ladite séquence b (a, s) est la réponse à ladite séquence a présentée par un premier codeur se trouvant dans un état s lorsque la séquence a se présente à son entrée, ledit premier codeur comprenant un circuit linéaire séquentiel de fonction de transfert f1(x)/g(x), où f(x) est un deuxième polynôme prédéterminé à coefficients binaires, sans diviseur commun avec g(x), et - ladite séquence c (a*, s*) est la réponse à la séquence a* présentée par un second codeur se trouvant dans un état s* lorsque la séquence a*, qui résulte d'une permutation prédéterminée des éléments binaires de u ou de a, se présente à son entrée, ledit second codeur comprenant un circuit linéaire séquentiel de fonction de transfert f2(x)/g*(x), où g* (x) est un troisième polynôme prédéterminé à coefficients binaires de degré d et de terme constant égal à 1, et où f2(x) est un quatrième polynôme prédéterminé à coefficients binaires, sans diviseur commun avec g*(x), ladite permutation et ledit polynôme g* (x) étant choisis de telle sorte que, pour tout a (x) divisible par g(x), le polynôme a*(x) associé à la séquence a* soit divisible par g*(x), caractérisé en ce que - on choisit à l'avance, c'est à dire préalablement à l'exécution dudit procédé, une correspondance entre certains au moins des couples (s, s*) d'états possibles dudit premier codeur et dudit second codeur, et des informations supplémentaires que l'émetteur peut avoir à transmettre au récepteur en plus des informations contenues dans les séquences u, et - on place, au début du codage de chaque séquence u, le premier codeur dans un état initial s particulier et le second codeur dans un état initial s* particulier d'après l'information que l'on souhaite transmettre, ou le cas échéant l'absence d'information à transmettre. 2. Procédé de turbocodage selon la revendication 1, caractérisé en ce que, dans une représentation où les données binaires des séquences a et a* sont classées ligne par ligne dans un tableau de N colonnes et de pIN lignes, on obtient a* en appliquant à a au moins une permutation parmi un ensemble de permutations constitué : - des automorphismes du code cyclique binaire de longueur N et de polynôme générateur g(x), permutant entre elles lesdites colonnes du tableau, et - des permutations opérant uniquement sur des données d'une même colonne et permutant entre elles lesdites données, d'où il résulte que g* (x) identique à g(x). 3. Procédé de turbocodage selon la revendication 1 ou la revendication 2, caractérisé en ce que - lesdits premier et second codeurs ont le même nombre d'états possibles, et - on place à chaque fois le premier codeur dans le même état initial que le deuxième codeur. 4. Dispositif de traitement (46) de séquences de données destinées à être transmises à l'aide d'un procédé selon l'une quelconque des revendications 1 à 3, caractérisé en ce qu'il comporte : - un convertisseur (20) pour traduire lesdites informations supplémentaires que l'on souhaite transmettre en même temps qu'une séquence de données u, en une paire d'états constituée d'un état s du premier codeur et d'un état s* dudit second codeur, et - des moyens (25) pour placer respectivement ces codeurs dans ces états au début du codage de ladite séquence u. 5. Dispositif d'assistance au décodage (331) de séquences de données qui ont été transmises à l'aide d'un procédé selon l'une quelconque des revendications 1 à 3, caractérisé en ce qu'il comporte - des moyens (335) pour produire une séquence binaire û en ôtant les d derniers bits de la séquence estimée â obtenue à la fin du turbodécodage des séquences reçues a', b' et c' correspondant respectivement auxdites séquences émises a, b, et c, et - un convertisseur (310) pour traduire l'état estimé s dudit premier codeur et l'état estimé s* dudit second codeur obtenus à la fin dudit turbodécodage en des informations supplémentaires. 6. Dispositif de codage (47) de séquences de données, caractérisé en ce qu'il comporte . - au moins un dispositif de traitement de séquences de données selon la revendication 4, et - au moins un turbocodeur (40). 7. Dispositif de décodage (332) de séquences de données, caractérisé en ce qu'il comporte : - au moins un turbodécodeur (300), et - au moins un dispositif d'assistance au décodage selon la revendication 5. 8. Appareil d'émission de signaux numériques codés (48), caractérisé en ce qu'il comporte un dispositif de codage selon la revendication 6, et en ce qu'il comporte des moyens (45) pour émettre lesdites séquences codées a, b, et c, 9. Appareil de réception de signaux numériques codés (333), caractérisé en ce qu'il comporte un dispositif de décodage selon la revendication 7, et en ce qu'il comporte des moyens (60) pour recevoir lesdites séquences a', b', et c'. 10. Réseau de télécommunications, caractérisé en ce qu'il comporte au moins un appareil selon la revendication 8 ou la revendication 9. 11. Moyen de stockage de données lisible par un ordinateur ou un microprocesseur conservant des instructions d'un programme informatique, caractérisé en ce qu'il permet la mise en #uvre d'un procédé selon l'une quelconque des revendications 1 à 3. 12. Moyen de stockage de données amovibles, partiellement ou totalement, lisible par un ordinateur et/ou un microprocesseur conservant des instructions d'un programme informatique, caractérisé en ce qu'il permet la mise en oeuvre d'un procédé selon l'une quelconque des revendications 1 à 3.