Brevet FR2819955A1 — publié le 20020726

r 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 des procédés de turbocodage et de turbodécodage , ainsi que les dispositifs et appareils destinés à mettre en oeuvre ces procédés. 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 du code situé à la distance de Hamming la plus courte de ce mot reçu. Pour plus de détails, on se référera par exemple au livre Computer Networks de A. Tannenbaum, 3ème édition, Prentice-Hallinternational, New Jersey, 1996, page 184. 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é 8 et de terme constant égal à 1. On présente d'abord les informations à transmettre sous la forme de séquences binaires successives ayant chacune une longueur r : (k - å) fixe, où k est un entier positif prédéterminé. Puis on forme des séquences tide bits Ut (où i est compris entre 0 et (k -1)) en prolongeant chacune desdites séquences d'information au moyen d'un nombre de bits égal à 8, ces bits dits de bourrage ( padding bits) en anglais) étant choisis de manière à ce que le polynôme associé à u soit divisible par g(x) (modulo 2). Ce sont ces séquences u (de longueur k) 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 A. Tannenbaum, op. cit., pages 187- 188, et, pour plus de détails, le livre de W. W. Peterson et E. J. Weldon intitulé Error-Correcting Codes , MIT Press, 1972). On a proposé récemment des procédés de codage très efficaces, appelés turbocodes , dans lesquels, entre autres caractéristiques, on accroît la redondance en transmettant, pour chaque séquence Y. due données binaires (comprenant ou non des bits de bourrage), outre la séquence u elle-même, plusieurs séquences supplémentaires appelées séquences de parité , chacune de ces séquences de parité résultant du passage de la séquence au travers d'un codeur élémentaire , ou d'un enchaînement de plusieurs codeurs élémentaires successifs, correspondant à cette parité . Les turbocodes font partie des codes dits convolutifs , c'est-à-dire des codes dans lesquels chaque bit entrant dans un codeur est provisoirement enregistré, et où chaque bit sortant résulte du traitement au sein du codeur des bits enregistrés ; de ce fait, le résultat du codage d'une séquence entrant dans un codeur convolutif dépend en général des séquences traitées précédemment. L'ensemble de ces bits provisoirement enregistrés dans un codeur convolutif constitue ce qu'on appelle l'état du codeur . Nous allons décrire à présent une classe particulièrement avantageuse de turbocodes. Selon ces procédés, on met les informations à transmettre sous forme de paires de séquences binaires u = (a,b) incluant le cas échéant des r bits de bourrage. On supposera pour simplifier l'exposé que ces séquences a et ont toutes la même longueur k. 1 On forme alors une première séquence codée Il représentée par le 1 : polynôme 1 ivoù r sont les polynômes associés auxdites séquences a et ô, et où g (x) est un polynôme prédéterminé à coefficients binaires de degré å et de terme constant égal à 1, et fi (x) et f2 (x) sont deux polynômes à coefficients binaires prédéterminés. Le polynôme g (x) figurant au dénominateur de l'expression cidessus est appelé polynôme de rétroaction , et un procédé de codage utilisant un tel polynôme de rétroaction est appelé codage récursif . D'autre part, on effectue une permutation prédéterminée sur les bits de u (opération appelée entrelaçage ), ce qui donne une séquence u*. Cette dernière est, elle aussi, considérée comme constituée de deux séquences successives c* et d*, chacune de longueur k : u* = (c*,d*). Enfin, l'on construit une seconde séquence codée g représentée par le po polynôme , -OÙ r sont les polynômes respectivement associés auxdites séquences c* et d*. Les séquences transmises selon ces procédés de turbocodage sont a, b, s et g ; les informations à transmettre étant contenues dans les séquences a et b, lesdits procédés sont désignés sous le nom de turbocodes (4, 2) . En particulier, si fi (x) et f2 (x) ont le même degré # que g (x), et si l'on n'utilise pas de bits de bourrage, le rendement de codage sera exactement égal à (le 1 r rendement de codage est le rapport entre le nombre de bits d'information initiaux et le nombre total de bits associés transmis). Le turbodécodage du message transmis fonctionne alors de la manière suivante : le décodeur reçoit quatre séquences de nombres réels, notées a', b', o', et , qui résultent du passage des séquences binaires émises à travers le canal de transmission, mais qui en diffèrent à cause du bruit du canal. Le turbodécodeur opère alors sur les séquences reçues de manière itérative, et aboutit en fin de calcul à une valeur estimée a de a et de b, avec une fiabilité qui croît avec le nombre d'itérations choisi. 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 /gonms , tnformationstechnische Gesetfschaft (tTG) Fachbericht, pages 21 à 29 (octobre 1994), - à l'article de J. Hagenauer, E. Offer et L. Papke intitulé Iterative Decoding of Binary Block and Cont/o//ona/Codes) > , tEEE 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 Error- Correcting Coding and Decoding : T'fv/' & o-Codes, tEEE Transactions on Communications, vol. 44, nO 10, pages 1261 à 1271 (édité par IEEE, Piscataway, NJ, USA, 1996). r Récemment, C. Berrou, C. Douillard et M. Jézéquel ont proposé une optimisation des turbocodes (4, 2) dans un article intitulé Designing Turbo Codes for Low Error Rates , présenté au Colloque de l'IEE tenu à IEE Savoy Place (Londres) le 22 novembre 1999. Les auteurs y recommandent d'utiliser des permutations (fournissant u* = (c*, d*) à partir de u) bien particulières, qui permettent de mélanger efficacement les bits de u en créant un désordre local . Cela est obtenu de la manière suivante. Partant des séquences a et b définies ci-dessus (les deux portions de u), on forme d'abord les séquences c et of dont les bits sont (les indices i étant compris entre 0 et (k-1 ci = h,, et di = ai (bits échangés ) pour au moins une valeur prédéterminée de i, et Ci = ai, et d/= b, (bits non échangés ) pour les autres valeurs de i. On a ainsi réalisé une certaine commutation des bits de la paire On obtient ensuite ladite paire (c*,d*) en appliquant à la séquence c une permutation prédéterminée, que nous appellerons INT , ce qui donne c*, et en appliquant la même permutation INT à la séquence d, ce qui donne d*. En ce qui concerne la mise en oeuvre pratique de ces procédés de turbocodage, un problème qui se pose est celui de pouvoir garantir la même qualité de décodage pour les derniers bits de chaque séquence reçue que pour les autres bits de cette séquence. Considérons en effet les codages de u et u* définis respectivement par les équations (1) et (2). Il faut s'attendre en général à ce que chaque codeur convolutif se trouve, à la fin du codage, dans un état différent de son état initial, ce qui cause, comme il est bien connu de l'homme du métier, une perte de fiabilité dans le décodage des derniers bits de la séquence reçue correspondante. Cette perte de fiabilité causée par l'instabilité de l'état du codeur 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é des états des codeurs, c'est-à-dire le fait que, pour chacun des deux codeurs élémentaires, l'état final de ce codeur soit identique à r son état initial, permettrait d'associer au procédé de codage convolutif concerné un décodage de fiabilité égale pour tous les bits de chaque séquence d'information. Dans l'article intitulé Multiple Parallel Concatenation of Circular Recursive Convolutional (CRSC) Codes (Ann. Télécomm., tome 54, no 3-4, pages 166 à 172, mars-avril 1999), C. Berrou, C. Douillard et M. Jézéquel ont proposé une solution à ce problème, valable pourvu que la longueur k commune aux séquences a, b, c*, et d* ne soit pas un multiple de la période du polynôme de rétroaction [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. Stone intitulé The Theory of ErrorCorrecting Codes , North-Holland, 1977 et 1992]. On sait en effet qu'il existe dans ce cas, pour une séquence à coder donnée, un état initial bien particulier de tout codeur, qui se trouve être identique à l'état final de ce codeur après traitement de ladite séquence. En l'occurrence, on peut appliquer cette propriété à la paire (a, b) pour le premier codeur et à la paire pour le second codeur. Mais une telle procédure oblige à rechercher les états stables du premier et du second codeur pour chaque nouvelle séquence d'information ; cela est réalisé en faisant passer chaque paire de séquences à coder deux fois dans le codeur concerné, le premier passage étant effectué avec un état initial prédéterminé, dont la comparaison avec l'état final résultant sert de base au calcul dudit état stable. On voit donc que cette façon d'obtenir la stabilité des états des codeurs est extrêmement lourde. De plus, les états stables ainsi déterminés pour chaque nouvelle séquence d'information ne sont pas connus des décodeurs, ce qui rend le turbodécodage à la fois plus complexe et moins fiable. L'objet de la présente invention est de remédier à ces problèmes, en proposant des procédés de turbocodage (4,2) qui restent relativement simples tout en garantissant la stabilité des états des deux codeurs. En effet, les auteurs de la présente invention ont découvert que tout r état d'un codeur convolutif récursif est stable indépendamment de la séquence d'information considérée, pourvu que deux conditions soient satisfaites : - la première condition est que la longueur k des séquences à coder soit un multiple de ladite période N du polynôme de rétroaction (contrairement donc à la condition d'application du procédé de Berrou et al.) ; - la deuxième condition est que le numérateur de l'expression algébrique définissant le codage soit, pour chaque paire de séquences à coder, divisible par le polynôme de rétroaction. Appliquant ces résultats aux turbocodes (4,2), on constate que, comme expliqué ci-dessus, on pourrait garantir la divisibilité du polynôme F------------------------------------------------------------------------ [a-f ) + b -f2 (x)] associé au premier codeur (voir l'équation (1)), de r--- : manière classique, au moyen de å bits de bourrage que l'on ajouterait à la ! séquence d'information considérée pour obtenir la séquence u = (a, & ). Mais alors le polynôme [c* (x)-fi (x) + d*- (x)] associé au second codeur (voir r songer à retirer ces bits de bourrage des séquences c* et d*, et les remplacer par d'autres bits de bourrage des séquences c* et d*, et ies remplacer par d'autres bits de bourrage de manière à obtenir la divisibilité de [c* (x) 1 (x) + oM'M] ; mais un te) procédé de turbocodage présenterait l'inconvénient que les mots de code contiendraient deux jeux de 8 bits de bourrage choisis indépendamment l'un de l'autre, d'où une perte de fiabilité du turbodécodage. Pour résoudre ce problème, l'invention propose un procédé de turbocodage pour la transmission d'informations, dans lequel, un premier et un deuxième polynôme à coefficients binaires g (x) et g* x, tous deux de terme constant égal à 1, ayant le même degré # et la même période N, ayant été prédéterminés, on associe auxdites informations des quadruplets successifs de séquences binaires (ast, e, q) destinées à être transmises, lesdites séquences binaires étant obtenues comme suit : - lesdites séquences a et b ont une longueur k prédéterminée, - ladite séquence Il est représentée par le polynôme où où l v-- : sont les polynômes associés auxdites séquences a eut~, et où fi (x) est un troisième polynôme à coefficients binaires prédéterminé, et f2 (x) un quatrième 1 polynôme à coefficients binaires prédéterminé, et 1 : - ladite séquence g est représentée par le polynôme où/g (x) est un cinquième polynôme à coefficients binaires prédéterminé, eut/4 (x) un sixième polynôme à coefficients binaires prédéterminé, et où 1 représente la séquence c* résultant de l'application aux bits d'une séquence c r représente ! a séquence c* résultant de l'application aux bits d'une séquence c d'une permutation ! NT prédéterminée, et : d'une permutation INT prédéterminée, et r : représente la séquence d* résultant de l'application aux bits d'une séquence d 1 de ta même permutation INT, lesdites séquences c et d résultant elles-mêmes d'une commutation S prédéterminée appliquée à la paire (foi, b) et consistant 1 à prendre 1 c, =b/, etd/=a/ r pour au moins une valeur prédéterminée de i, et au plus k-1 valeurs prédéterminées de i, et 1 c/=a/, et d, =b, v-pour les autres valeurs de i, ledit procédé étant caractérisé en ce que ledit entier k est un multiple prédéterminé de la période N desdits polynômes g (x) et g* (x), la paire contient des bits de bourrage , et ladite commutation S et ledit entrelaceur INT sont adéquats, et la relation entre g (x) et g* (x) est adéquate, pour que l'on puisse calculer, pour chaque paire (a, b) donnée, 28 bits parmi lesdits bits de bourrage en fonction --------------------------------------des autres bits de ladite paire, de manière à ce que le polynôme [a (x)-f1 (x) + b (x)-f2 (x)] soit divisible par g (x) et le polynôme [c* (x)-x) + d* (x)-f4 (x)] soit 1 : divisible par g* (x). Ainsi, le procédé de turbocodage selon l'invention permet d'assurer, de manière relativement simple, la stabilité des états des deux codeurs, sans que l'on ait pour autant à subir de perte de fiabilité au décodage due à des bits de bourrage indépendants, puisque les paires (foi, b) et (c*, d*) comportent le même jeu de 28 bits de bourrage. De plus, l'utilisateur de l'invention peut choisir librement ces états stables des codeurs, et n'a donc pas à les calculer en dédoublant coûteusement le passage de chaque séquence au travers du codeur correspondant. Un avantage supplémentaire de l'invention est qu'elle permet d'utiliser des turbodécodeurs classiques. Enfin, dans le cas où l'état stable d'un codeur est connu du décodeur associé (par exemple si l'on choisit cet état une fois pour toutes), le décodage résultant sera moins complexe et plus fiable. A cela s'ajoutent naturellement les avantages classiques des procédés de turbocodage (4,2) tels que la valeur élevée du rendement de codage par comparaison avec d'autres classes de turbocodes. Selon des caractéristiques particulières, on pourra commodément choisir des polynômes g (x) et g* (x) identiques. Selon d'autres caractéristiques particulières, la permutation INT sera définie par -1 -1 c* (x) = c ; x), d* (x) = cf, x), 1 ! == i=O --------------------------------------où ; Test une permutation prédéterminée des entiers i compris entre 0 et (k-1) : telle que chaque entier n (i) est congru à (t + 2'i) modulo N, où t et r sont des 1 entiers prédéterminés Par exemple, on peut prendre simplement r (i) congru à i modulo N. En effet, ces permutations iNT garantissent)'existence des bits de En effet, ces permutations INT garantissent l'existence des bits de bourrage selon l'invention pour une très large gamme de commutations S. Selon des caractéristiques encore plus particulières, l'on prend pour n (t) le résidu modulo k du produit (ire), où e est un nombre entier strictement r positif prédéterminé, relativement premier avec k et congru à 1 modulo N. La condition selon laquelle le nombre e doit être congru à 1 modulo N fait que X est congru à i modulo N. Ce choix particulier d'entrelaceur offre l'avantage d'être particulièrement simple à mettre en oeuvre. Corrélativement, l'invention concerne un procédé de turbodécodage, ledit procédé étant remarquable en ce qu'il permet de décoder des séquences reçues qui ont été émises après avoir été codées à l'aide d'un procédé de turbocodage selon l'invention. Selon un autre de ses aspects, l'invention concerne divers dispositifs. Elle concerne ainsi un dispositif de codage de séquences de données destinées à être transmises à l'aide d'un procédé de turbocodage selon l'invention, ledit dispositif étant remarquable en ce qu'il comporte : - des moyens pour incorporer les bits de bourrage selon l'invention dans les informations à transmettre, de manière à obtenir lesdites séquences a et b, et - au moins un turbocodeur comportant un entrelacer global apte à réaliser la permutation prévue dans ledit procédé. Corrélativement, l'invention concerne un dispositif de décodage destiné à mettre en oeuvre un procédé de turbodécodage selon l'invention, ledit dispositif étant remarquable en ce qu'il comporte : - au moins un turbodécodeur comportant un entrelacer global apte à réaliser la permutation prévue dans ledit procédé, et un désentrelaceur global apte à inverser cette permutation, et - des moyens pour ôter les bits de bourrage selon l'invention des séquences estimées à et issues du traitement par ledit turbodécodeur des séquences reçues a', b', et fi. correspondant respectivement auxdites séquences émises a, b, Il et q. 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 r moyens pour émettre lesdites séquences codées a, b, Il et g, 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 les séquences a', b', et g :, - 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 permanent de données comportant des instructions de code de programme informatique pour l'exécution des étapes de l'un des procédés selon l'invention, - un moyen de stockage de données amovibles, partiellement ou totalement, comportant des instructions de code de programme informatique pour l'exécution des étapes 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 oeuvre 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. D'autres aspects et avantages de l'invention apparaîtront à la lecture de la description détaillée, que l'on trouvera ci-dessous, d'un mode de réalisation préféré donné à titre d'exemple non limitatif. Cette description se réfère aux dessins annexés, dans lesquels : - la figure 1 représente de façon schématique un dispositif de codage selon l'invention, - la figure 2a représente de façon schématique le fonctionnement classique du premier codeur illustré sur la figure 1, - la figure 2b représente de façon schématique le fonctionnement classique du second codeur illustré sur la figure 1, r la figure 3 représente de façon schématique le fonctionnement connu de l'entrelaceur global illustré sur la figure 1, la figure 4 représente de façon schématique un appareil d'émission de signaux numériques selon l'invention, la figure 5 représente de façon schématique un dispositif de turbodécodage selon l'invention, les figures 6a et 6b représentent de façon schématique deux parties essentielles du dispositif de turbodécodage illustré sur la figure 5, la figure 7 représente de façon schématique un appareil de réception de signaux numériques selon l'invention, et la figure 8 est un graphique illustrant les résultats d'une simulation d'un procédé de codage et décodage selon l'invention. Pour commencer, on va expliquer, à l'aide d'exemples simples, les principes mathématiques sur lesquels repose l'invention. Choisissons par exemple le polynôme 1 +x+x\ 1 +X+X3, de degré 8=3, pour les deux polynômes de rétroaction g (x) et g* (x). Il divise 1 (x+1) () e quotient étant (1 +x++x)), mais ne divise pas (xN+ 1) pour N compris 1 entre 1 et 6. La période de g (x) et g* (x) est donc égale à 7. 1 , -----------------------------------------------------------------------On va montrer à présent comment on peut obtenir, pour toute série de 2 (k-3) bits d'information donnée, la divisibilité de [a (x) + b (x-f2 (x)] et [c-M +M-/4M] parg (x). i ------------ La commutation S sera, de manière générale, notée de la façon suivante : si a et b échangent leurs bits numéro i (où i est compris entre 0 et (/f-1)), on écrira : S, = 1 ; si a et b n'échangent pas leurs bits numéro i, on écrira : Si = 0. On peut alors décomposer chacun des deux polynômes a (x) et : (x) en deux parties de la façon suivante r de sorte que : de sorte que On applique ensuite une permutation INT aux bits de c et à d, ce qui donne respectivement les séquences c* et if, auxquelles sont associés les 1 : polynômes 1 Dans c* (x), on peut séparer les bits provenant de Ao (x), que l'on retrouve dans le polynôme A'0 (x) (la permutation # associée à INT ayant pour effet de 1 changer la puissance de x associée à chaque bit) des bits provenant de B1 (x), 1 que l'on retrouve dans le polynôme B'1 (X), en écrivant 1 r Avec ces notations, le problème à résoudre consiste à obtenir la v-------divisibilité des polynômes [ (Ao+A1) f1 + (Bo+B1)-2] et [ ('o+B'1)-f3 + (B'o+A'i)-f4] 1 par g. Pour ce faire, et compte tenu du fait que le degré 8 de g est égal à 3, nous ferons appel au corps d'extension}} Fa du corps F2 = {0, 1}. Sur ce corps F8, il existe au moins un nombre y tel que g (y) = 0. Comme g (x) divise (x7+1), on en déduit que/= 1. Selon un mode de réalisation de l'invention, chaque entier X est i congru à i modulo 7. Par conséquent, Y'Il en résulte que Ao (y) et Ao (y) ont la même valeur, notée ao ; de même, A1 (Y) et A'1 (y) ont la même valeur, notée a1, Bo (y) et B'o (y) ont la même valeur, notée po, et enfin B1 (y) et B'1 (y) ont la même valeur, notée pi. : Il est clair que, pour que les polynômes [ (Ao+A1). ) + (Bo+B1)-2] et 1 : [ (A'o+B'1) f3 + (B'o+A'i)-f4] soient divisibles par g, il est nécessaire que ces deux 1 r : polynômes soient nuls pour x = y. On peut montrer que cette condition est aussi suffisante. 1 r Dans ces conditions, le problème à résoudre se ramène à la simple 1 : résolution simultanée des deux équations suivantes : j-et 1 où (j)/=/, {y) pour/= 1 à 4 (par exemple, si f, {x) =1 + x + x, on trouve ())/=/, et si (x) =1 +x++, on trouve (j)/= ). 1 Prenons par exemple : : Prenons par exemple : , ---------------------------------------------------------------------Le système d'équations (1'), (2') est alors équivalent au suivant : 1 et Or tout élément de Fa peut être écrit comme une combinaison linéaire des éléments 1, y et'l, avec des coefficients binaires. Si donc l'on exprime les termes des équations (3) et (4) de cette façon, et que l'on identifie les coefficients respectifs de 1, y et/, on obtient six équations où n'interviennent que des nombres binaires. La résolution des équations linéaires résultant de l'équation (3) permet alors de déterminer trois coefficients de Al (x), dont les indices seront notés/i,/2, et/g, en fonction des autres coefficients de A1 (x) et des coefficients de Ao (x) et Bo (x) ; ces trois coefficients constituent les bits de bourrage de a recherchés. Enfin, la résolution des trois équations linéaires résultant de l'équation (4) permet de déterminer trois coefficients de B1 (x), dont les indices seront notés j1,'2, et'3, en fonction des coefficients de Al (x) ; ces trois coefficients constituent les bits de bourrage de b recherchés. Le choix des ensembles 1 = {il, i2, i3j et J = {il, h, j3} est libre, si ce n'est que chaque système de trois équations linéaires mentionné ci-dessus doit posséder une et une seule solution. On observera à cet égard que dans l'équation (3) (ainsi que dans l'équation (4)), chaque bit a, est affecté d'un coefficient yi ; il faut donc qu'après expansion en termes de 1, y et'1 des coefficients/1,/2, et/3 de ai1, ai2, et ai3, on obtienne un déterminant non nul r pour les équations (sur F2) satisfaites par ces trois inconnues. De même, après expansion en termes de 1, y et r des coefficients y, yj2, et y de b1, by2, et by3, on doit obtenir un déterminant non nul pour les équations satisfaites par ces trois inconnues. Choisissons par exemple une longueur de séquence k égale à 224, et une commutation S définie par Si = 1 pour i impair, et S, = 0 pour i pair. On peut alors commodément prendre 1 identique à J, et plus précisément r--En effet :/"'=/=0-1 +0-y+1-, =/=0-1 + 1-y+1-/, et=/= 1-1 + 0-Y+1-/, ce qui donne le déterminant r--qui est égal à 1 mod. 2 et est donc effectivement non nul. En résumé, dans l'exemple considéré, quand on met en oeuvre l'invention (comme décrit en détail ci-dessous), on constitue, pour chaque série donnée de 442 bits d'information, deux séquences a et b de 224 bits chacune, dans lesquelles les bits a219, a221, a223, b219, b221 et b223 sont calculés en fonction desdits 442 bits d'information, en résolvant les équations (3) et (4). Ce calcul peut être effectué par un logiciel ou par un circuit intégré adéquat. Plus généralement, on peut montrer qu'il existe toujours, pour tout un ensemble de commutations S comprenant la commutation alternée définie ci-dessus, 2# bits de padding selon l'invention, quand #(l) est congru à (t + 2r i) modulo N, où t et r sont des entiers prédéterminés (N étant, rappelonsle, la période du polynôme g (x)). Au-delà de ces exemples, on retiendra que l'homme du métier devra prendre garde, lors du choix pratique d'un procédé selon l'invention, qu'il existe bien un ensemble adéquat de 28 indices de la paire formelle (a,b). On dira dans ce cas que la paire (S, INT) est adéquate . Par exemple, dans le cas r ou Z est congru à i modulo N, mais où la commutation S est a priori quelconque, il suffit que cette commutation S soit telle que la matrice (voir équations (1') et (2')) soit non singulière. On notera pour conclure cette introduction mathématique (schématique à dessein) que les bits de bourrage choisis peuvent figurer parmi les bits non échangés aussi bien que parmi les bits échangés ; de plus, rien n'impose de mettre le même nombre de bits de bourrage dans a et dans b ; enfin, il est évidemment possible de mettre dans (a, ô) un nombre n de bits de bourrage supérieur à 28, ce qui permet d'en choisir librement (n-28), mais entraîne une diminution du rendement de codage. La figure 1 représente un dispositif de codage 901 selon l'invention, dans lequel le codage des données aux fins de transmission est effectué par un turbocodeur 40 constitué de deux codeurs convolutifs récursifs (désignés par CODEUR 1 et CODEUR 2 sur la figure) et d'un entrelacer global 50. Les séquences a et b sortant du dispositif 901 sont dites systématiques et sont identiques aux séquences entrant dans le turbocodeur 40. A partir de ces séquences entrantes a et b, le premier codeur fournit une sortie Il conformément à l'équation (1), et l'entrelacer global 50 fournit une paire (c*, d*) comme décrit en détail ci-dessous en référence à la figure 3. Le second codeur fournit ensuite, à partir de c* et d*, une sortie g conformément à l'équation (2). Enfin, le dispositif de codage 901 envoie les quatre séquences a, k, e et q ainsi obtenues vers l'émetteur 906 (voir la figure quatre séquences a, b, p et i 1 e Selon l'invention, la longueur k des séquences a et b est un multiple prédéterminé de la période N des polynômes g (x) et g* (x). Le signal issu de la source de données d'information 910 alimente un module de bourrage 30, qui est chargé de constituer chaque séquence u = (a, b) en ajoutant auxdites informations 28 bits de bourrage, comme expliqué ci-dessus, de manière à ce r--que les polynômes [a (-f) (x) + b (x-f2M] et [c* (x-f3 (x) + d* -)] soient ! divisib) es respectivement par g (x) et par g* (x). r Les procédés selon l'invention ont ainsi pour effet que l'état final de chaque codeur (c'est-à-dire à la fin du codage d'une séquence u ou u* quelconque) est identique à son état initial (au début du codage de ladite séquence), ce qui garantit une qualité de décodage uniforme pour tous les bits d'une même séquence. Lesdits états des codeurs sont représentés sur les figures 2a et 2b. Plus généralement, les 23 bits de bourrage peuvent être calculés de façon à ce que le codeur produisant p (x) à partir de la paire (a (x), b (x atteigne un état final prédéterminé et de façon à ce que le codeur produisant g (x) à partir de la paire (c* (x), d* (x)) atteigne aussi un état final prédéterminé éventuellement différent de l'état final prédéterminé du premier codeur. La figure 2a est un schéma de fonctionnement du premier codeur et la figure 2b un schéma de fonctionnement du second codeur, dans le cas où l'on prend, par exemple, Le premier codeur porte en mémoire trois bits Si, S2, et S3, qui définissent ensemble l'état de ce premier codeur ; de même, le second codeur porte en mémoire trois bits s*i, s*2, et s*3 définissant ensemble l'état de ce second codeur. Ces deux codeurs convolutifs récursifs sont illustrés sur les figures 2a et 2b sous la forme d'éléments de retard ER, tels que des bascules par exemple, et d'additionneurs. Ces séquences d'éléments de retard réalisent les fonctions logiques représentées par des multiplications ou des divisions par des polynômes. Cette représentation est classique et bien connue de l'homme du métier. La figure 3 représente de façon schématique le fonctionnement de l'entrelacer global 50, dont le principe général a été divulgué dans l'article Designing Turbo Codes for Low Error Rates mentionné ci-dessus. On applique d'abord une commutation S prédéterminée à la paire (a, b) de manière à obtenir les séquences c et d dont les bits sont définis par (tes indices/étant compris entre 0 et (-1)) : 1 r pour au moins une valeur prédéterminée de i, et 1 r pour les autres valeurs de i. L'entrelaceur INT transforme ensuite la séquence binaire c en une séquence c*, cependant qu'un autre entrelacer identique transforme la séquence d en une séquence d*. La présente invention utilise cette structure connue de l'entrelaceur global 50, mais ne prend en considération que les combinaisons d'une commutation S et d'un entrelacer INT qui garantissent l'existence des bits de bourrage selon l'invention, comme expliqué plus haut. 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 clavier 911, un écran 909, une source d'informations externe 910, un émetteur hertzien 906, conjointement reliés à des ports d'entrée/sortie 903 d'un dispositif de codage 901 qui est réalisé ici sous la forme d'une unité logique. Le dispositif de codage 901 comporte, reliés entre eux par un bus d'adresses et de données 902 : - une unité centrale de traitement 900, - une mémoire vive de type RAM 904, - une mémoire morte de type ROM 905, et - desdits ports d'entrée/sortie 903. Chacun des éléments illustrés en figure 4 est bien connu de l'homme du métier des micro-ordinateurs et des systèmes de transmission et, plus généralement, des systèmes de traitement de l'information. Ces éléments connus ne sont donc pas décrits ici. On observe, cependant, que : - la source d'informations 910 pourrait être, par exemple, un périphérique d'interface, un capteur, un démodulateur, une mémoire externe ou un autre système de traitement de l'information (non représenté), et pourrait par exemple fournir des séquences de signaux représentatifs de parole, de messages de service ou de données multimédia notamment de type IP ou ATM, sous forme de séquences de données binaires, r : - l'émetteur hertzien 906 est adapté à mettre en oeuvre un protocole de transmission par paquets sur un canal non filaire, et à transmettre ces paquets sur un tel canal. La mémoire vive 904 conserve des données, des variables et des résultats intermédiaires de traitement, dans des registres de mémoire portant, dans la description, les mêmes noms que les données dont ils conservent les valeurs. On observera, au passage, que le mot registre désigne, à travers la présente description, aussi bien une zone mémoire de faible capacité (quelques données binaires) qu'une zone mémoire de grande capacité (permettant de stocker un programme entier) au sein d'une mémoire vive ou d'une mémoire morte. La mémoire vive 904 comporte notamment les registres suivants : - un registre nb-données dans lequel est conservée la longueur k des séquences binaires a et b, - un registre a, b , dans lequel sont conservées lesdites séquences a et b après insertion des bits de bourrage selon l'invention, - un registre c*, d* dans lequel sont conservées les séquences issues de l'entrelaceur global, - un registre a, b, p, q dans lesquels sont conservées les séquences a, k, P et q résultant du turbocodage, et - un registre trame radio dans lequel est conservée l'intégralité de la trame radio à émettre. La mémoire morte 905 est adaptée à conserver, dans des registres qui, par commodité, possèdent les mêmes noms que les données qu'ils conservent : - le programme de fonctionnement de l'unité centrale de traitement 900, dans un registre programme , - les coefficients du polynôme de rétroaction g (x), ici choisi identique à g* (x), dans un registre g , - les coefficients du polynôme f, (x) et du polynôme f2 (x), qui entrent dans la définition du fonctionnement des deux codeurs (ces codeurs étant -------------------------------identiques dans ce mode de réalisation), dans un registre f, et dans un registre 2 respectivement, - la longueur commune aux séquences a et b, dans un registre k , - la commutation S et la permutation 7t définissant l'entrelacer global selon l'invention, dans un registre entrelaceurgglobal , et - la valeur N de la période de g (x) dans un registre N . La figure 5 représente un dispositif de décodage 1101 apte à décoder des données fournies par un appareil tel que celui de la figure 4. Le turbodécodeur 300 reçoit les séquences codées a', b', p' et g' en provenance d'un récepteur 1106 (voir la figure 7). Le décodage de ces séquences est effectué par le turbodécodeur 300, comme décrit en détail ci- dessous en référence aux figures 6a et 6b, de préférence en tenant compte de la valeur courante du rapport signal sur bruit SNR (initiales des mots anglais Signal to Noise Ratio ). Ce décodage produit les séquences à et , qui sont respectivement les estimations des séquences a et b émises par l'émetteur 906. Ces séquences â et b sont ensuite envoyées à un module de débourrage 335 chargé de retirer de ces séquences les bits de bourrage qui avaient été insérés par le module de bourrage 30 dans les informations à transmettre (voir la figure 1). Enfin, les informations ainsi décodées sont envoyées vers un destinataire d'informations 1110 (voir la figure 7). La figure 6a montre le fonctionnement d'un module de traitement itératif 70 faisant partie du turbodécodeur 300. Ce module est, de manière connue, constitué de deux décodeurs (désignés par DECODEUR 1 et DECODEUR 2 sur la figure), de deux entrelaceurs globaux 50'et 50", et d'un désentrelaceur global 51 capable d'effectuer l'opération inverse de celle effectuée par l'entrelacer global. Les décodeurs sont de préférence des décodeurs MAP (initiales des mots anglais Maximum A Posteriori Probability , c'est-à-dire Probabilité Maximum A Posteriori ), par exemple du type BCJR, c'est-à-dire utilisant l'algorithme de Bahl, Cocke, Jelinek et Raviv ; mais on pourra également utiliser d'autres genres de décodeurs, par exemple du type SOVA (en anglais : Soft r Output Viterbi Algorithm ). De préférence aussi, le décodage tient compte de la valeur courante du rapport signal/bruit SNR. Un turbodécodeur classique nécessite également un rebouclage de la sortie du désentrelaceur global 51 sur l'entrée du premier décodeur, afin de fournir au premier décodeur des informations dites extrinsèques A21 et B21 (concernant a et b respectivement) produites par le second décodeur. De même, le premier décodeur fournit à l'entrelaceur global 50"des informations extrinsèques A12 et ber2. Selon l'invention, on effectue ici, bien sûr, précisément le même entrelacement global que celui effectué par l'entrelacer 50 avant émission des données, comme décrit ci-dessus en référence à la figure 3. Comme le montre la figure 6a, le turbodécodage consiste en une procédure itérative, au cours de laquelle on utilise alternativement les informations contenues dans les séquences S'et pour améliorer la qualité des informations extrinsèques A12, A21, B12 et B21. Le nombre d'itérations peut être fixé à l'avance, ou dépendre de la valeur de SNR. La figure 6b montre le fonctionnement d'une unité de décision classique 80 faisant partie du turbodécodeur 300. Chaque bit de la séquence a'est ici considéré tour à tour par une unité à seuil 90', qui décide de la valeur finale à attribuer à ce bit compte tenu des informations extrinsèques A21 et A12. On obtient ainsi la valeur estimée a de la séquence a. De même, l'unité à seuil 90"examine les bits de b'à la lumière des informations extrinsèques B21 et B12, ce qui donne la valeur estimée de la séquence Q. Le schéma synoptique de la figure 7 représente un appareil de réception de signaux numériques 333 selon l'invention. Ce dernier comprend un clavier 1111, un écran 1109, un destinataire d'informations externe 1110, un récepteur hertzien 1106, conjointement reliés à des ports d'entrée/sortie 1103 d'un dispositif de décodage 1101 qui est réalisé ici sous la forme d'une unité logique. r Le dispositif de décodage 1101 comporte, reliés entre eux par un bus d'adresses et de données 1102 : -une unité centrale de traitement 1100, - une mémoire vive de type RAM 1104, - une mémoire morte de type ROM 1105, et - lesdits ports d'entrée/sortie 1103. Chacun des éléments illustrés en figure 7 est bien connu de l'homme du métier des micro-ordinateurs et des systèmes de transmission et, plus généralement, des systèmes de traitement de l'information. Ces éléments connus ne sont donc pas décrits ici. On observe, cependant, que : - le destinataire d'informations 1110 pourrait être, par exemple, un périphérique d'interface, un afficheur, un modulateur, une mémoire externe ou un autre système de traitement de l'information (non représenté), et pourrait être adapté à recevoir des séquences de signaux représentatifs de parole, de messages de service ou de données multimédia notamment de type IP ou ATM, sous forme de séquences de données binaires, - le récepteur hertzien 1106 est adapté à mettre en oeuvre un protocole de transmission par paquets sur un canal non filaire, et à transmettre ces paquets sur un tel canal. La mémoire vive 1104 conserve des données, des variables et des résultats intermédiaires de traitement, dans des registres de mémoire portant, dans la description, les mêmes noms que les données dont ils conservent les valeurs. La mémoire vive 1104 comporte notamment les registres suivants : - des registres données~reçues , dans lesquels sont respectivement conservées les séquences reçues a', b', p' et g', - des registres inf extrinsèques , dans lesquels sont respectivement conservées les informations extrinsèques A12, A21, B12 et B21 (voir la figure 6a), - un registre données-estimées , dans lequel sont conservées les séquences décodées à et - un registre nb~itérations , dans lequel est conservée la valeur du nombre d'itérations déjà effectuées par le turbodécodeur, r un registre nbcdonnées dans lequel est conservée la longueur k des séquences a et b, et - un registre ameracf/o dans feque) est conservée rintégraiité de la trame radio reçue. La mémoire morte 1105 est adaptée à conserver, dans des registres qui, par commodité, possèdent les mêmes noms que les données qu'ils conservent : - le programme de fonctionnement de l'unité centrale de traitement 1100, dans un registre programme , - les coefficients du polynôme de rétroaction g (x), ici choisi identique à g* (x), dans un registre g , les coefficients du polynôme f1(x) et du polynôme f2(x), qui entrent dans la définition du fonctionnement des deux décodeurs (ces décodeurs étant identiques dans ce mode de réalisation) illustrés sur la figure 6a, dans un registre f, et dans un registre f2 respectivement, - la longueur commune aux séquences à et b, dans un registre k , - la commutation S et la permutation 7c définissant l'entrelacer global selon l'invention, dans un registre ene/acerg/oba/ , - la valeur N de la période de g (x) dans un registre N , et - le nombre maximal d'itérations du module de traitement itératif 70, dans un registre nb~iteration~max . 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 901 et 1101 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, qui peut par exemple être constitué par un des futurs réseaux de communication tels que les réseaux UMTS. Un tel réseau est constitué d'une station dite station de base SB, et de plusieurs stations périphériques SPi (i = 1, ..., n, où n est un entier supérieur ou égal à 1). Les stations sont éloignées de la station de base SB, reliées chacune par r 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 901 tel que décrit en référence aux figures 1 et 4, 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 SP, selon l'invention peuvent comprendre également un dispositif de décodage 1101 tel que décrit en référence aux figures 5 et 7, 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. Pour terminer, on présente ci-dessous les résultats d'une simulation de codage et de décodage selon l'invention. On a choisi une longueur de séquences k = 224, et pris deux codeurs identiques, avec : Le commutateur choisi vérifie : Si = 1 pour i impair, et Si = 0 pour i pair. D'autre part, on a pris pour n (/) le résidu modulo 224 du produit (ire), où e = 141 (qui est bien congru à 1 modulo 7). 1 Enfin, comme expliqué en introduction, trois bits de chaque iséquence a et trois bits de chaque séquence b doivent être calculés en fonction v des 442 (= 2 x 224-6) autres bits, qui sont des bits d'information, de manière , ---------------------------------------------------------------------- à assurer la stabilité des états des deux codeurs. Les indices de ces bits ont ! été choisis ainsi : 1 = J = {219, 221, 223}. r On a alors simulé les performances de ce turbocode sur un canal à 1 bruit blanc gaussien. Le nombre d'itérations de décodage a été fixé à 30. Les 1 résultats ont été exprimés en termes de probabilité d'erreurs résiduelles, par trame FER (en anglais, Frame Error Ratio ) d'une part, et par bit BER (en anglais, Bit Error Ratio ) d'autre part, en fonction du rapport 1 r Signal sur Bruit SNR par bit d'information sur le canal. Ces résultats sont représentés sur la figure 8. On observe avec satisfaction, non seulement les faibles valeurs atteintes, pour toute valeur donnée de SNR, par les taux d'erreurs de transmission au moyen de ce procédé selon l'invention, mais également le fait que ces taux continuent encore à décroître fortement pour des valeurs élevées de SNR. D'autres simulations analogues conduites par les auteurs de la présente invention ont montré la même absence de nivellement ( flattening en anglais) à haut rapport Signal sur Bruit dans les graphiques de FER et BER. On fera pour terminer une remarque générale concernant le choix des états initiaux (et donc finals) des codeurs dans les applications de l'invention. Une première possibilité consiste à attribuer une valeur fixe aux bits définissant ces états (par exemple, tous 0). Mais on peut en variante tirer profit du fait qu'un décodeur classique est capable de déterminer, quand il opère sur un mot de code, quel a été l'état du codeur quand on y a introduit la séquence à coder correspondante (un tel décodage est connu sous le nom de tailbiting ou ou décodage circulaire ) ; on peut donc attribuer conventionnellement un contenu informatif à chacun de ces états, et accroître ainsi le rendement de codage (au prix, il est vrai, d'une complexité accrue au niveau du décodage) ; on peut utiliser cette option pour un seul codeur, ou pour tous les deux ; dans ce dernier cas, en tenant compte des bits de bourrage selon l'invention, on obtiendra un rendement de codage exactement égal à Y2. 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 oeuvre diverses variantes de l'invention sans en quitter le concept général. On notera par exemple que le polynôme de rétroaction n'est pas nécessairement irréductible. On notera également qu'il est possible d'utiliser, pour le second codeur, un polynôme de rétroaction g* (x) différent du polynôme de rétroaction g (x) utilisé pour le premier codeur, à condition que g* (x) et g (x) soient de même degré, possèdent la même période N, et vérifient la propriété suivante : il existe r 5 r un nombre entier r, relativement premier avec cette période N, tel que, pour tout nombre y tel que g (y) est nul, alors g* (yr) est également nul. On dira alors 1 1 que la relation entre g (x) et g* (x) est adéquate . On pourra dans tous ces cas, en effet, calculer les bits de bourrage assurant la stabilité des états des deux codeurs en utilisant essentiellement les mêmes techniques mathématiques que celles exposées ci-dessus. v------ : REVENDICATIONS 1 r 1. Procédé de turbocodage pour la transmission d'informations, dans lequel, un premier et un deuxième polynôme à coefficients binaires g (x) et g* (x), tous deux de terme constant égal à 1, ayant le même degré 8 et la même période N, ayant été prédéterminés, on associe auxdites informations des quadruplets successifs de séquences binaires (a,b,p,g) destinées à être transmises, lesdites séquences binaires étant obtenues comme suit : - lesdites séquences a et b ont une longueur k prédéterminée, - ladite séquence Il est représentée par le polynôme Fou 1 OU 1 r : sont les polynômes associés auxdites séquences a et b, et où fi (x) est un 1 troisième polynôme à coefficients binaires prédéterminé, et f2 (x) un quatrième 1 : F--- 1 polynôme à coefficients binaires prédéterminé, et : - ladite séquence g est représentée par le polynôme 1 où/s (x) est un cinquième polynôme à coefficients binaires prédéterminé, et f4 (x) 1 un sixième polynôme à coefficients binaires prédéterminé, et où r : représente la séquence c* résultant de l'application aux bits d'une séquence c 1 d'une permutation INT prédéterminée, et 1 représente) a séquence d* résultant de l'application aux bits d'une séquence cf de la même permutation INT, lesdites séquences c et d résultant elles-mêmes 1 r d'une commutation S prédéterminée appliquée à la paire (a, b) et consistant 1 à prendre 1 r pour au moins une valeur prédéterminée de i, et 1 pour les autres valeurs de i, ledit procédé étant caractérisé en ce que - ledit entier k est un multiple prédéterminé de la période N desdits polynômes g (x) et g* (x), - la paire (a,b) contient des bits de bourrage , et - ladite commutation S et ledit entrelaceur INT sont adéquats, et la relation entre g (x) et g* (x) est adéquate, pour que l'on puisse calculer, pour chaque paire (a,b) donnée, 28 bits parmi lesdits bits de bourrage en fonction des autres bits de ladite paire, de manière à ce que le polynôme [a (x)-) + b (x)-f2 (x)] soit divisible par g (x) et le po) ynôme [c* (x)-/3x) + d* (x). f4 (x)] soit divisib ! e parg* (x). 2. Procédé de turbocodage selon la revendication 1, caractérisé en 1 ce que les polynômes g (x) et g* (x) sont identiques. 3. Procédé de turbocodage selon la revendication 2, caractérisé en ce que la permutation INT est définie par où zest une permutation prédéterminée des entiers i compris entre 0 et (k-1) telle que chaque entier #(i) est congru à (t + 2r i) modulo N, où t et r sont des entiers prédéterminés. 4. Procédé de turbocodage selon la revendication 3, caractérisé en ce que #(i) est congru à i modulo N. 5. Procédé de turbocodage selon la revendication 4, caractérisé en ce que n (/) est le résidu modulo k du produit (i-e), où e est un nombre entier strictement positif prédéterminé, relativement premier avec k et congru à 1 modulo N. r 6. Procédé de turbodécodage, caractérisé en ce qu'il permet de décoder des séquences reçues qui ont été émises après avoir été codées à l'aide d'un procédé de turbocodage selon l'une quelconque des revendications 1 à 5. 7. Dispositif de codage (901) de séquences de données destinées à être transmises à l'aide d'un procédé de turbocodage selon l'une quelconque des revendications 1 à 5, caractérisé en ce qu'il comporte : - des moyens (30) pour incorporer les bits de bourrage selon l'invention dans les informations à transmettre, de manière à obtenir lesdites séquences a etb. et - au moins un turbocodeur (40) comportant un entrelaceur global (50) apte à réaliser la permutation prévue dans ledit procédé. 8. Dispositif de décodage (1101) destiné à mettre en oeuvre un procédé de turbodécodage selon la revendication 6, caractérisé en ce qu'il comporte : - au moins un turbodécodeur (300) comportant deux entrelaceurs globaux (50', 50") aptes à réaliser la permutation prévue dans ledit procédé, et un désentrelaceur global (51) apte à inverser cette permutation, et - des moyens (335) pour ôter les bits de bourrage selon l'invention des séquences estimées à et b issues du traitement par ledit turbodécodeur (300) des séquences reçues a', b', fi. et g : correspondant respectivement auxdites séquences émises a, b, p et q. 9. Appareil d'émission de signaux numériques codés (48), caractérisé en ce qu'il comporte un dispositif de codage selon la revendication 7, et en ce qu'il comporte des moyens (906) pour émettre lesdites séquences codées a, b, p et q. 10. 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 8, et en ce qu'il comporte des moyens (1106) pour recevoir lesdites séquences aj, b', et '. 11. Réseau de télécommunications, caractérisé en ce qu'il comporte au moins un appareil selon la revendication 9 ou la revendication 10. 12. Moyen de stockage permanent de données, caractérisé en ce l'exécution des instructions de code de programme informatique pour l'exécution des étapes d'un procédé se) on t'une quetconque des revendications 1 à 6. 13. Moyen de stockage de données amovibles, partiellement ou totalement, caractérisé en ce qu'il comporte des instructions de code de programme informatique pour l'exécution des étapes d'un procédé selon l'une quelconque des revendications 1 à 6. 14. 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 oeuvre un procédé selon l'une quelconque des revendications 1 à 6.