Brevet FR2837331A1 — publié le 20030919

programmable. n-1 a(x)= Zajx i=o n-1.* a * tx) = Za jx i=o PROCEDE D'ENTRELACEMENT D'UNE SEQUENCE BINAIRE La presente invention se rapporte a un procede d'entrelacement d'une sequence binaire. Wile concerne les systemes de communication dans lesquels, afin d'ameliorer la fidelite de la transmission, les donnees a transmettre vent soumises a un codage de canal. Wile est decrite ici a titre d'exemple non limitatif dans son application aux turbocodes. On rappelle que le codage dit "de canal" consiste, quand on forme les "moss de code" envoyes au recepteur, a introduire une certaine redondance dans les donnees a transmettre. Au niveau du recepteur, le procede de decodage associe exploite alors judicieusement cette redondance pour detecter d'eventuelles erreurs de transmission et si possible les corriger. On definit la distance de Hamming entre deux sequences binaires de meme longueur comme etant le nombre d'emplacements ou les deux sequences possedent un element binaire different. Les mots de code obeissent a certaines regles definies par le procede de codage considere, ce qui permet au recepteur de remplacer le mot de code re,cu par le mot de code (appartenant done au dictionnaire des mots de code) situe a la distance de Hamming la plus course de ce mot recu. Cette procedure de correction d'erreurs est d'autant plus gable que la distance de Hamming minimale entre les divers mots de code est plus grande. Or il est bien connu que pour un code lineaire, cette distance minimale est egale au poids minimal des mots de code non nuls, le poids etant le nombre d'elements binaires egaux a 1. Un procede de codage utilisant un code lineaire sera done d'autant meilleur, toutes choses egales par ailleurs, que le minimum des poids de ses mots non nuls est eleve. En outre, la correction d'erreurs de transmission est d'autant plus efficace que le code de canal utilise possede un faible pourcentage de mots de code dont le poids est voisin de la distance minimale du code. Dans certains cas, on obtient meme de meilleurs resultats avec un code dont les mots ont presque tous un poids nettement superieur a la distance minimale de ce code, qu'avec un autre code de distance minimale plus grande, mais dont beaucoup de mots ont un poids a peine superieur a cette distance minimale. L'objectif de la presente invention est notamment de permettre de construire des codes de canal beneficiant chacun d'une grande distance minimale et dont la plupart des mots ont un poids nettement superieur a cette distance minimale. Parmi les procedes de codage connus, certains vent appeles "codes cycliques redondants". Dans un tel procede, on fait le choix d'un polynome g(x), dit "polynome generateur", a coefficients binaires, de degre d et de terme constant egal a 1. On met chaque sequence d'informations a transmettre, eventuellement en la prolongeant avec des elements nuls, sous la forme d'une sequence binaire u ayant une longueur I fixe. Puis on forme une sequence a en prolongeant la sequence u au moyen d'un nombre de bits egal a d, ces bits dits de "bourrage" (en anglais "padding bits") etant choisis de fa,con que le 1 5 polynome l+d-1 a(x)= ajxi i=o associe a a soit divisible par g(x) (modulo 2). Ce vent les sequences a, de longueur n = I + d, qui vent envoyees au recepteur. Si la demodulation des signaux recus est "cure" (en anglais "hard"), c'est-a-dire si les signaux re,cus vent directement etiquetes a la reception par un des deux symboles binaires, les erreurs de transmission peuvent etre detectees en examinant le reste de la division du polynome representant le mot recu par le polynome generateur. On a propose recemment des procedes de codage tres efficaces, appeles turbocodes, dans lesquels on accro^'t la redondance en transmettant, pour chaque sequence u de donnees "d'information" initiales, outre la sequence u elle-meme, plusieurs sequences supplementaires appelees "sequences de parite", chacune de ces sequences de parite resultant du passage de la sequence u au travers d'un codeur"elementaire" (ou d'un enchanement de plusieurs codeurs elementaires successifs) correspondent a cette "parite". On decrit a present une classe particulierement avantageuse de turbocodes a deux parites. Selon ces turbocodes, on transmet, pour chaque sequence u de donnees initiales, trots sequences a, b et_ obtenues comme suit. La sequence b est produite par un premier codeur, habituellement sur la base de la representation polynomiale b(x) = a(x).f(x)/g(x) ou a(x) est le polynome associe a la sequence a, g(x) un premier polynome predetermine a coefficients binaires de degre d et de terme constant egal a 1, et f(x) un deuxieme polynome predetermine a coefficients binaires sans diviseur commun avec g(x). Le polynome g(x) est appele "polynome de retroaction" pour des raisons liees a la realisation concrete de la division par g(x) impliquees par I'expression de b(x). Quant a la sequence a, elle peut etre prise identique a u, mais elle est de preference obtenue, comme dans les codes cycliques redondants, en prolongeant la sequence u au moyen de bits de bourrage choisis de fa,con que a(x) soit divisible par g(x). Soit n la longueur de a(x). En pratique, on choisira n = r.m, ou m est le plus petit entier strictement positif tel que g(x) divise (xm + 1) et ou r est un entier strictement positif. La sequence _ est produite par un second codeur, habituellement sur la base de la representation polynomiale c(x) = a*(x).f2(x)/g*(x), ou g*(x) est un troisieme polynGme predetermine a coefficients binaires de degre d et de terme constant egal a 1, ou f2(x) est un quatrieme polyndme predetermine a coefficients binaires, sans diviseur commun avec g*(x), et ou le polynGme a*(x) represente une sequence binaire a* qui resulte de fa, con predeterminee d'une permutation des elements binaires de a ou de u (avec ou sans adjonction de bits de parite), cette operation etant aussi appelee entrelacement (en anglais "interleaving"). Dans la suite, on suppose que g(x) = g*(x). Le cas general ou g*(x) g(x) ne presente pas de difficultes particulieres par rapport au cas traite. Le turbodecodage du message re,cu fonctionne de la fa,con suivante: le decodeur recoit trots sequences de nombres, notees a', b' et c', et qui ont ete produites par ['action du bruit du canal de transmission sur les sequences emises a, b et _. Le turbodecodeur met alors en ceuvre un processus iteratif, utilisant b' et c' en alternance, destine a calculer une valeur estimee a de a avec une fiabilite qui cro^'t avec le nombre dtiterations choisi. Si on a utilise des bits de bourrage, il suffit, une fois la valeur finale de a obtenue, de supprimer ces bits de bourrage pour obtenir la valeur estimee u de u. On rappelle a present la notion d'entrelaceur verrou (en anglais "wheel inferleavef'). Un entier N = R.M etant fixe avec R 2 M, on associe ['ensemble de sequences binaires N-1 U(X)= UjX' i=0 a la matrice U de dimension RxM ayant le nombre jM + k en position 0,k), 0 0 1 2 3 4 6 7 8 9 11 12 13 14 U= 15 16 17 18 19 21 22 23 24 26 27 28 29 31 32 33 34 Puis, pour un M-uplet d'entiers h = [ho,..., hM 1], on applique, pour tout j, une permutation circulaire vers le teas d'amplitude hj sur la jeme colonne de U. La matrice obtenue est notee U*. Ainsi, si U est la matrice ci-dessus et si h = [0 2 5 1 3], la matrice U* est donnee par 0 26 12 33 24 31 17 3 29 1 22 8 34 U*= 15 6 27 13 4 11 32 18 9 16 2 23 14 21 7 28 19 Au couple (U,U*), ou, de facon equivalente, au M-uplet h, on associe ltentrelaceur qui produit, a partir de toute sequence u(x) = u0 + ux +... + U34X34, la sequence entrelacee u*(x) = u0 + U4X26 + U2X42 +... + U34xi9, qui peut etre reecrite sous la forme u*(x) = u0 + u,x + U27X2 + + U j4X34. Plus generalement, un entrelaceur verrou de taille R.M defini par h = [ho,..., hM] produit, a partir de la sequence U(X) = XKU(K) (XM) (1) K=0 ou u(K)(x) est de degre R-1, la sequence entrelacee M1 XK-hKMu(K) (XM) modulO X -1 (2) K=0 Appliquons maintenant les entrelaceurs verrous aux turbocodes. Comme on l'a vu precedemment, un turbocodeur de rendement 1/3 se caracterise par trots polynomes a coefficients binaires g(x), f(x) et f2(x), une longueur de frame n et un entrelacaur, comme l'illustre la figure 1. Si a(x) est un polynome a coefficients binaires representant ['information, le turbocodeur produit, en plus de la sequence a(x) ellememe, les sequences b(x) = a(x)f,(x)/g(x) et c(x) = a*(x)f2(x)/g(x), ou a*(x) est la representation polynomiale de la version entrelacee de a(x). Ces sequences af/g et a*f2/g vent produites par des registres a decalage appropries. On conna^'t, notamment par la demande de brevet fran,cais de numero de depot 01 11479, des entrelaceurs ayant la structure suivante. On choisit tout d'abord, par exemple, g(x) = 1 + X2 + x3 et on note que g(x) divise 1 + x7 et ne divise pas 1 + xt pour 1 s t La sequence d'information a(x) s'ecrit alors a(x)= xka(k)(xm) (3) k=0 ou a(k)(x) = Z ajm+kx j=0 est ce qu'on appelle la version simplifiee de la keme "composante homogene" a(k)(xm) de a(x); a(k)(xm) decrit done la contribution a a(x) des elements binaires aj de a tels que le residu de i modulo m est egal a k. On factorise alors r en r = R.M avec R 2 M. Avec un M-uplet h bien choisi, chaque a(k)(x) est entrelace par I'entrelaceur verrou associe a un multiple dkh de h et multiplie par xek modulo xRM-1, pour produire a*(k)(x). La sequence entrelacee a*(x) est alors definie par a * (x) = Xka *(k) (xm) (4) k=0 et est divisible par g(x) lorsque a(x) est divisible par g(x). Dans une telle situation, on dit que a(x) jouit de la propriete de retour a zero ou RZ. Dans ce contexte, la definition d'un entrelaceur consiste a choisir le M-uplet h et deux m-uplets d = [do, ..., dm] et e = [eO,..., em]. On conna'^t des methodes de selection de ces parametres. Dans un article intitule "Design of cyclic shiff interleavers for Turbo Codes" public dans les Annales des Telecommunications, 56, pages 384 a 393, juillet-aout 2001, J. YUAN et al. utilisent un entrelaceur verrou unique au lieu de m entrelaceurs distincts. En outre, I'entrelaceur verrou unique RxM qu'ils considerent est defini par un M-uplet h = [ho,... , hM] tres particulier, pour lequel hK est egal a K.B, B etant un entier judicieusement choisi. Si la sequence d'information a(x) est representee par a(x) = xKa(K) (x K=0 ce choix de h implique que la version entrelacee a*(x) de la sequence a(x) est donnee par -KMBa(K)(xM) modulo x -1 (6) K=0 Cependant, I'article cite ci-dessus n'offre pas un outil systematique pour construire un entrelaceur de turbocodes efficace utilisant un unique entrelaceur verrou, et non m entrelaceurs verrous differents. On conna^t un autre entrelaceur defini de la facon suivante. Considerons tout d'abord le 23-uplet b = [0 2 10 4 20 8 17...] qui est obtenu comme suit. Si on l'ecrit sous la forme b = [bo b b2 b3...], alors, pour i > 3 et avec bo = 0, b' = 2 et b2 = 10, chaque bj est defini comme le residu modulo 23 de 2bj2. On definit alors une matrice B de dimension 47x23 de la facon suivante. La premiere ligne (d'indice 0) de B est le 23uplet b, et pour i 2 1, la ligne d'indice i est obtenue par addition de 23 a tous les elements de la ligne dtindice i-1. Soit maintenant h le 23-uplet [0 46 44 40 32...] ou pour i = 0, 1,.... in(i) est obtenu a partir de h(i-1) par soustraction de 2i-4 modulo 47. On construit alors la matrice B* par application de ce 23-uplet h a B comme decrit ci-dessus. On definit finalement la matrice U comme la matrice de dimension 47x23 ayant 23i + j comme entree (i,j), 0 s i s 46, 0 s j s 22. L'entrelaceur est decrit par le couple (U,B*) par la meme correspondence que precedemment: cet entrelaceur deplace le symbole de la position initiale 23i + j vers la position donnee par ['entree (i,j) de B*. Cet entrelaceur, pas plus que celui decrit dans ['article de J. YUAN et al., n'est cependant pas produit par un outil systematique pour construire un entrelaceur de turbocodes efficace utilisant un unique entrelaceur verrou, et non m entrelaceurs verrous differents. La presente invention a pour but de remedier a ces inconvenients, en proposant une methode systematique de construction d'un entrelaceur fonde sur un entrelaceur verrou unique. Pour decrire la propriete de retour a zero pour un entrelaceur quelconque, notons g(x) le polynome de retroaction, suppose identique, comme indique plus haut, pour les deux codeurs systematiques representes sur la figure 1. Soit m sa periode. On suppose ici que g(x) = 1 + X2 + X3, ce qui implique que m vaut 7. La generalisation a un polynome g(x) et a une periode m quelconques est aisee et n'est pas decrite ici. Soit n-1 a(x) = akxk, ak {0,1} k=0 la representation de ['information sous forme de sequence binaire et soit n-1 a*(x)= akxk k=0 sa version entrelacee. ll est tres avantageux que a(x) et a*(x) soient tous deux divisibles par g(x). Comme la classe d'entrelaceurs decrite ci-dessous est composee d'entrelaceurs pouvant transformer certaines sequences a(x) divisibles par g(x) en des sequences a*(x) qui ne vent plus divisibles par g(x), la divisibilite simultanee de a(x) et de a*(x) par g(x) impose quelques conditions restrictives supplementaires sur ce que peut etre le calcul de a(x) a partir de ['information u(x). Voici une procedure pratique qui permet de resoudre ce probleme. Etant donne ltentrelaceur, on s'interesse tout d'abord a ltensemble des positions k qui vent congrues a i mod m = 7 et qui vent deplacees par l'entrelaceur vers une position k* qui est congrue a j mod 7, 0 s i,j L'ensemble des monomes correspondents de a(x) peut s'ecrire xiAj,j(x7) et, apres entrelacement, il peut etre represente par xiA*j,j(x7), ou les coefficients de A*j,j(x) vent une permutation des coefficients de Aj,j(x). En particulier, les nom b res d e coefficients egaux a 1 da ns Aj,j(x7) et da ns A*j,j(x7) vent eg aux. Ainsi, les residue modulo x7 + 1 de ces deux polynomes vent egaux. Ils vent simultanement egaux a 0 si le nombre de coefficients non nuls est pair, et ils vent simultanement egaux a 1 si ce nombre est impair. A fortiori, les residue modulo g(x) de A',j(x7) et A*j,j(x7) seront aussi simultanement egaux a 0 ou 1, etant donne que g(x) est un diviseur de x7 + 1. On utilise maintenant ces notations pour ecrire a(x) et a*(x) sous la forme suivante: 6 6 6 a(x) = Ao j(x7)+xiA1 j(x7)+ +x5 A6 j(x7) (7) =o j=o j=o 6 6 6 a*(x)= A*jo (x7)+xiA*j (x7)+ +x6A*j6 (x7) (8) i=o i=o i=o Lorsque g(x) est irreductible, comme l'est par exemple g(x) = 1 + x2 + X3, il est equivalent de dire que a(x) (respectivement a*(x)) est divisible par g(x), ou de dire que a(oc) = 0 (respectivement a*() = 0) pour une racine x quelconque de g(x). Sachant que toute racine de g(x) = 1 + X2 + X3 satisfait oc7 = 1, une de ces racines est telle que Aj,j(cc7) = A*j, j(a7) = Aj,j(1) = A*j,j(1) et cette valeur commune, notee bj,j, est soit 0 soit 1. La condition que a(x) soit divisible par g(x) peut ainsi etre exprimee par la condition equivalente que a(oc) = 0 ou, plus explicitement, par 6 6 6 boj+ab1j+ +a6b6j=0 (9) j=o j=o j=o De fa,con similaire, la condition que a*(x) soit divisible par g(x) peut etre exprimee par la condition equivalente 6 6 6 bj O + abj,1 + + a bi,6 = 0 (10) i=o i=o i=o Considerons maintenant la matrice B de dimension 7x7 ayant bj, comme entree (i,j), O comme la matrice ayant bj j (respectivement c; j) en position (i,j), O Les equations (11) et (12) deviennent [1 a... a6]C UT = [1 a... a6]B uT (15) [1 a a6]CTUT=[1 a a6]BTuT (16) Le seul probleme qui subsiste est de trouver un ensemble I pour iequel les equations (15) et (16) peuvent etre resolues pour trouver les c-jj correspondents. Une bonne solution consiste a choisir un ensemble I de la forme I = {(1,(1)),(2,7(2)),...,(6, (6))} ou 11 est une permutation de {1,...,6} et d'ecrire c; a la place de c7r(j,j) pour (i,j) I. Les equations (15) et (16) peuvent alors s'ecrire c1x + C2Oc2 +... + c6OC6 = (17) c1OC) + C2O.(2) + + C6oC(6) = (18) ou = d2cc2 + d1 + do et s = e2Oc2 + e1Oc + eO designent les membres de droite des equations (15) et (16). On note aussi xi = X2f2(i) + xf1(i)+ f0(i) ou les fs(i) vent des symboles binaires. L'equation (15) peut alors stecrire FcT = dT, avec 0 1 1 1 0 1 F= 1 0 0 1 1 1. O 0 1 1 1 0 c = [c1 c2 c6] et d = [d2 d1 do]. Enfin, on choisit T(i) = 7-i. L'equation (16) peut alors s'ecrire FcT = eT avec e = [e2 e1 eO] et le systeme (15)-(16) est equivalent a 0 1 1 1 0 1 1 0 0 1 1 1 0 0 1 1 1 0 cT = [d e]T 1 0 1 1 1 0 1 1 1 0 0 1 0 1 1 1 0 0 ou la matrice du membre de droite est non singuliere, ce qui permet de calculer les coefficients c;. Une methode similaire s'applique dans le cas plus general ou le polynome g*(x) de retroaction du second codeur n'est pas identique, mais equivalent a g(x), c'est-a-dire de meme periode que g(x). Dans le but mentionne plus haut, la presente invention propose un procede d'entrelacement d'une sequence binaire a representee par un n-1 polynome a(x)= ajx, n etant le produit de deux entiers R et M tels que R 2 i=o M, i etant un entier pouvant stecrire i = r.M + c, r etant un entier non negatif et c etant un entier compris dans l'intervalle [0, M-1], ce procede etant remarquable en ce qu'il consiste a obtenir, a partir de la sequence a, une sequence binaire n-1 entrelacee a* representee par un polynome a * (x) = a j xi ou i* = [r - h (c)]. M i=o + c mod n, les nombres in(c) etant obtenus par: - le choix d'un M-uplet ho = [ho(0),..., ho(M-1)] d'entiers non negatifs inferieurs a R-1 tel que, etant donne un ensemble predetermine n de matrices circulantes P de dimension MxM, pour toute matrice P de fI, les residue modulo R des composantes du vecteur ho. P solent non nuls; et - le choix correspondent d'un M-uplet h = [h(0),..., h(M-1)] obtenu a partir du M-uplet ho par application d'une permutation depla,cant ['element ho(C) en position Lxc mod M, L etant un entier relativement premier avec M. On rappelle qutune matrice carree est cite circulante lorsque chacune de ses colonnes, a partir de la deuxieme, se deduit de la precedente par une permutation circulaire d'amplitude 1. Le procede d'entrelacement conforme a la presente invention a une action relativement homogene sur les residue modulo L des indices i des symboles de la sequence a(x). Soit en effet T(d,d*) I'ensemble des indices i qui vent congrus a d modulo L et qui vent tels que l'indice i* correspondent est congru a d* modulo L. Le procede conforme a ['invention a pour avantage d'induire des ensembles T(d,d*) dont les tailles vent proches les unes des autres. Dans un mode particulier de realisation, I'ensemble contient des matrices circulantes P et P2 telles que: - la premiere colonne de P est [1 -2 1 0... 0]T et - la premiere colonne de P2 est [2 2 0 0... 0]T, OU T designe la transposition. Dans un autre mode particulier de realisation, I'ensemble fI contient des matrices circulantes P3 a P.3 telles que: - la premiere colonne de P3 est [1 -1 -1 1 0 0]T, - la premiere colonne de P4 est [1 -1 1 -1 0 0]T, - la premiere colonne de P5 est [1 0 -2 1 0 0]T, - la premiere colonne de P6 est [1 -2 0 1 0 0]T, - la premiere colonne de P7 est [2 -1 -1 0 0 0]T et - la premiere colonne de Pe est [1 1 -2 0 0... O]T. Dans un autre mode particulier de realisation, I'ensemble II contient des matrices circulantes Pc a P20 telles que: - la premiere colonne de Pg est [1 1 -1 -1 0 O]T, - la premiere colonne de P1O est [1 -1 0 1 -1 0 O]T, la premiere colonne de P est [1 -1 0 -1 1 0 O]T, - la premiere colonne de P2 est [1 0 -1 -1 1 0 O]T, - la premiere colonne de P3 est [1 -1 -1 0 1 0 O]T, - la premiere colonne de P4 est [1 0 -1 1 -1 0 O]T, - la premiere colonne de Pj5 est [1 -1 1 0 -1 0 O]T, - la premiere colonne de P6 est [1 0 -2 0 1 0 O]T, - la premiere colonne de P47 est [1 0 0 -2 1 0 O]T, - la premiere colonne de Pe est [1 -2 0 0 1 0 O]T, - la premiere colonne de Pg est [1 0 1 -2 0 0 O]T et - la premiere colonne de P20 est [2 -1 0-1 0 0 O]T. Dans un autre mode particulier de realisation, I'ensemble II contient des matrices circulantes P2 a P24 telles que: - la premiere colonne de P2 est [1 -3 2 0 0 O]T, - la premiere colonne de P22 est [2 -3 1 0 0 O]T, - la premiere colonne de P23 est [1 -2 2 -1 0 O]T et - la premiere colonne de P24 est [3 -3 0 0 0 O]T. Dans un autre mode particulier de realisation, I'ensemble lI contient les matrices circulantes P a Pe definies precedemment. Dans un autre mode particulier de realisation, I'ensemble fI contient les matrices circulantes P a P20 definies precedemment. Dans un autre mode particulier de realisation, I'ensemble [I contient les matrices circulantes P a P24 definies precedemment. Dans un autre mode particulier de realisation, I'ensemble fI contient les matrices circulantes P, P2 et P2 a P24 definies precedemment. Dans un autre mode particulier de realisation, I'ensemble II contient les matrices circulantes P a Pe et P2 a P24 definies precedemment. On definit ainsi des conditions plus ou moins severes et telles que, s'il est possible de les satisfaire, I'action sur les residue modulo L des indices i des symboles de la sequence a(x) sera non seulement relativement homogene, mais se traduira en outre par une amelioration plus ou moins prononcee de la portee totale (en anglais "full span") des sequences de faible poids (on rappelle plus loin la definition de la portee totale). Dans le meme but que celui indique plus haut, la presente invention propose un procede de codage pour la transmission dtinformations, remarquable en ce qutil met en ceuvre un procede d'entrelacement tel que decrit succinctement ci-dessus, et en ce que: - I'entier L mentionne plus haut est la periode commune a un premier et a un second polynomes predetermines a coefficients binaires g(x) et g*(x) de degre d et de terme constant egal a 1; - on presente les informations sous la forme de sequences binaires u de longueur I = n - 2d, ou n est un multiple predetermine de L; - on produit, pour chacune des sequences u, un triplet _ de sequences binaires (a,b,_) destinees a etre transmises et obtenues comme suit: - la sequence b est representee par le polynome b(x) = a(x). f(x)/g(x), ou f(x) est un deuxieme polynGme a coefficients binaires predetermine, sans diviseur commun avec g(x), - la sequence _ est representee par le polynome c(x) = a*(x).f2(x)/g*(x), ou f2(x) est un troisieme polynome a coefficients binaires predetermine, sans diviseur commun avec g*(x), et ou a*(x) est un polynome associe a une sequence a* produite par entrelacement de la sequence a, et - la sequence a est de longueur n et obtenue en inserant dans la n-1 sequence u 2d bits de bourrage de fa,con que le polynome a(x)= ajxi i=o associe a a soit divisible par g(x) et que le polynome a*(x) soit divisible par g*(x). Dans un mode particulier de realisation, les premier et second polynomes g(x) et g*(x) vent identiques. Toujours dans le meme but, la presente invention propose aussi un procede de decodage, remarquable en ce qutil permet de decoder des sequences re, cues qui ont ete emises apres avoir ete codees par l'intermediaire d'un procede de codage tel que ci-dessus. Toujours dans le meme but, la presente invention propose egalement un dispositif de codage de sequences de donnees destinees a etre transmises, ces sequences etant codees par l'intermediaire d'un procede de codage tel que ci-dessus, ce dispositif etant remarquable en ce qutil comporte: - des moyens pour obtenir, pour chaque sequence de donnees u, la sequence a associee a u en inserant dans la sequence u les 2d bits de bourrage precites, et - au moins un codeur comportant un entrelaceur apte a realiser la permutation prevue dans le procede d'entrelacement precise. Toujours dans le meme but, la presente invention propose en outre un dispositif de decodage destine a mettre en ceuvre un procede de decodage tel que ci-dessus, remarquable en ce qutil comporte: - au moins un decodeur comportant deux entrelaceurs apses a realiser la permutation prevue dans le procede d'entrelacement precitb, et un desentrelaceur apte a inverser cette permutation, et - une unite adaptee a produire une sequence binaire u en otant 2d bits de la sequence estimee a obtenue a ['issue du decodage de sequences re,cues a', b' et _' correspondent respectivement aux sequences emises a, b et _, les 2d bits a oter correspondent aux 2d bits inseres dans la sequence u pour obtenir la sequence a. La presente invention vise egalement: - un appareil d'emission de signaux numeriques codes, comportant un dispositif de codage tel que ci-dessus et comportant une unite adaptee a emettre les sequences codees a, b et_; - un appareil de reception de signaux numeriques codes, comportant un dispositif de decodage tel que ci-dessus et comportant une unite adaptee a recevoir les sequences a', b' et_'; - un reseau de telecommunications, comportant au moins un appareil d'emission ou un appareil de reception tel que ci-dessus; - une station de base dans un reseau de telecommunications, comportant au moins un appareil d'emission ou un appareil de reception tel que ci-dessus; - une station mobile dans un reseau de telecommunications, comportant au moins un appareil d'emission ou un appareil de reception tel que ci-dessus; - un moyen de stockage d'informations risible par un ordinateur ou un microprocesseur conservant des instructions d'un programme informatique, permettant la mise en ceuvre d'un procede d'entrelacement eVou d'un procede de codage et/ou d'un procede de decodage tels que ci-dessus; - un moyen de stockage d'informations amovible, partiellement ou totalement, risible par un ordinateur ou un microprocesseur conservant des instructions d'un programme informatique, permettant la mise en ceuvre d'un procede d'entrelacement eVou d'un procede de codage eVou d'un procede de decodage tels que ci-dessus; - un produit programme d'ordinateur comportant des sequences d/instructions pour mettre en couvre un procede d'entrelacement eVou un procede de codage eVou un procede de decodage tel que ci-dessus. Les caracteristiques particulieres et les avantages du procede et du dispositif de codage, du procede et du dispositif de decodage, des appareils d'emission et de reception de signaux numeriques, du reseau de telecommunications, de la station de base, de la station mobile, des differents moyens de stockage et du produit programme d'ordinateur etant similaires a ceux du procede d'entrelacement selon ['invention, ils ne vent pas rappeles ici. D'autres aspects et avantages de ['invention appara^tront a la lecture de la description detaillee qui suit d'un mode particulier de realisation, donne a titre d'exemple non limitatif. La description se refere aux dessins qui I'accompagnent, dans lesquels: - la figure 1, deja decrite, representeschematiquement un turbocodeur classique de rendement 1/3; - la figure 2 est un organigramme illustrant les principales etapes d'un procede d'entrelacement conforme a la presente invention, dans un mode particulier de realisation; - la figure 3 est un graphique illustrant les performances comparatives de plusieurs entrelaceurs; - la figure 4 represente schematiquement un appareil d'emission de signaux numeriques selon un mode particulier de realisation de ['invention; - la figure 5 represente schematiquement un mode de realisation de ['invention au sein d'un dispositif de turbodecodage a deux parites; - la figure 6 represente schematiquement un appareil de reception de signaux numeriques selon un mode particulier de realisation de ['invention; et - la figure 7 represente schematiquement un mode de realisation de reseau de telecommunications sans fil susceptible de mettre en ceuvre 1 5 I'invention. n-1 Soit a(x) = a jxi un polynome representant une sequence binaire a. i=o Par abus de langage, a(x) est parfois appelee sequence d'information. Dans toute la suite, les entrelaceurs verrous de l'art anterieur dvoques precedemment vent appeles "multiverrous" (en anglais "multiwheet') car ils utilisent un entrelaceur verrou elementaire pour chaque composante homogene de la sequence d'information a(x). A ['inverse, les entrelaceurs verrous conformes a la presente invention vent appeles "monoverrou" (en anglais "monowheet') car ils n'utilisent qu'un seul entrelaceur verrou. n-1 * Soit a*(x)= ajx' le polynome representant la sequence a* i=o obtenue apres entrelacement de a(x). On suppose que n est le produit de deux entiers R et M tels que R > M. Soit h = [h(0),..., h(M-1)] un M- uplet d'entiers non negatifs inferieurs a R-1. On ecrit tout i [0,n-1] sous la forme i = rM + c, ou c [0,M-1]. Si la permutation: i i* = (i) peut Gtre definie par i* = [r-h(c)]M + c mod n, I'entrelaceur correspondent est appele entrelaceur monoverrou. Le turbocode associe a cet entrelacaur est ['ensemble de tous les triplets v(x) = [a(x) a(x)f1 (x) / g(x) a * (x)f2 (x) / g(x)] qui correspondent a des polynomes a(x) tels que a(x) et a*(x) vent tous deux divisibles par un polynome g(x) de degre t. Comme on l'a explique plus haut, ce couple de contraintes peut, pour la majorite des entrelaceurs, etre satisfait si on choisit judicieusement 2t bits parmi les n bits de a(x) pour les calculer en fonction des n-2t bits restarts, lesquels dont les veritables bits d'information. Dans toute la suite, on suppose queg(x)=1 +x2+x3,f(x) =1 +x+x3etquef2(x)=1 +x+x2+x3.Onadonct _ - J. La general isatio n a d 'a utres polynomes g (x) est aisee et non decrite ici. De fa,con similaire, la generalisation au cas ou a*(x) doit etre divisible, non par g(x), mais par un polynome equivalent g*(x) (c'est-a-dire de meme periode) est aisee et non decrite ici. Si a(x) et a*(x) vent tous deux divisibles par g(x), a(x) est une sequence cite TTC (a prendre en compte, en anglais "To be Taken into Consideration"). La presente invention cherche a optimiser le choix de h pour rendre l'entrelaceur correspondent aussi efficace que possible lors du traitement de sequences TTC. Conformement a ['invention, le choix de h est tel que pour les polynomes a(x) qui vent TTC et ont un poids binaire ou poids de Hamming (c'est-a-dire un nombre de coefficients non nuls) egal a 2, 3 ou 4, le poids de v(x) est relativement eleve. On pose comme hypothese generale que M n'est pas divisible par 7 et que c d implique in(c) in(d) mod R. Comme le montre la figure 2, le procede d'entrelacement conforme la presente invention consiste tout d'abord, iors d'une etape 20, a determiner un M-uplet ho = [ho(0),..., ho(M-1)] d'entiers non negatifs inferieurs a R-1 tel que, etant donne un ensemble predetermine lI de matrices circulantes P de dimension MxM, pour toute matrice P de II, les residue modulo R des composantes du vecteur ho.P soient non nuls. On peut determiner le M-uplet ho en imposant deux conditions, a savoir, en choisissant un ensemble II contenant les matrices circulantes P et P2 definies dans ['introduction En variante, on peut imposer davantage de conditions. Dans l'une de ces variantes, I'ensemble n contient les matrices circulantes P3 a P8 definies dans ['introduction. Dans une autre variante, I'ensemble fI contient les matrices Pg a P20 definies dans ['introduction. Dans une autre variante, I'ensemble contient les matrices P2 a P24 definies dans ['introduction. Dans d'autres variantes, on peut determiner le M-uplet ho en procedant par selections successives. Ainsi, dans une autre variante, I'ensemble II contient a la fois les matrices P., P2 et les matrices P3 a P8, c'est adire que parmi les M-uplets d'entiers non negatifs inferieurs a R-1 tels que les residue modulo R des composantes des vecteurs ho. P. et ho. P2 solent non nuls, on ne retient que ceux qui vent en outre tels que les residue modulo R des composantes des vecteurs ho.P3 a ho.P8 soient non nuls. De fa,con similaire: - dans une autre variante, I'ensemble II contient a la fois les matrices P a P8 et les matrices Pg a P20, - dans une autre variante, I'ensemble contient a la fois ies matrices P a P20 et les matrices P2 a P24, - dans une autre variante, I'ensemble lI contient a la fois les matrices P, P2 et les matrices P2 a P24, - dans une autre variante, I'ensemble n contient a la fois les matrices P a P8 et les matrices P2 a P24. Puis, comme le montre la figure 2, lors d'une etape 22, on permute les composantes du M-uplet ho = [ho(0),, ho(M-1)] pour obtenir un M-uplet h = [h(0),..., h(M-1)] dont les composantes vent definies par h(Lxc mod M) = ho(C), ou L est un entier relativement premier avec M. Dans toute la suite, on decrit l'exemple particulier ou L = 7 est la periode d'un polynome g(x) dans ['application non limitative de ['invention aux turbocodes. Enfin, lors d'une etape 24, on obtient, a partir de la sequence a, une sequence binaire entrelacee a* representee par un polynome a*(x)= ajx i=o ou i* = [r- h(c)].M + c mod n. Considerons tout d'abord les sequences a(x) de poids 2. Soit a(x) = xi + xi et a*(x) = xi* + xi avec i=rM+c,j=sM+d, (19) i = [rh(c)]M + c, j* = [s-h(d)]M + d. (20) Pour une sequence a(x) TTC de poids 2, on definit la portee totale (en anglais "full span") fsp(a(x)) par liil + li*-i*l. Les conditions qui font de a(x) une sequence TTC vent i _j mod 7, i*-j* mod 7, (21) . ce qu'sgnifie (r-s)M + (c-d) _ 0 mod 7, (22) (r-s)M + (c-d) _ [h(c)-h(d)]M mod 7. (23) Comme M a ete suppose relativement premier avec 7, ces deux conditions ne peuvent etre simultanement satisfaites que si h(c)-h(d) _ 0 mod 7. (24) En supposant que la condition (24) soit satisfaite, determinons ia valeur minimale de fsp(a). A partir des equations (19) et (20), on obtient fsp(a) = I(r-s)M + (c-d)| + |(r-s)M + (c-d) - [h(c)-h(d)]MI Si c = d, alors le fait que M soit relativement premier avec 7 implique, en utilisant ltequation (22), lr-sl = 7t avec t 2 1, ce qui donne fsp(a) 2 7M. Si c d, fsp(a) est de la forme IFI + IF - [h(c)-h(d)]MI ou F designe le membre de gauche de ['equation (22) et ou Ih(c)-h(d)l = 7t pour t 2 1. On a a nouveau fsp(a) 2 7M. A titre d'exemple nullement limitatif, pour R = 35 et M = 11, si toutes les composantes in(i) de h vent differentes, la portee totale des sequences TTC de poids 2 est superieure a 7x11 = 77. En consequence, le poids minimal des sequences codees correspondantes v(x) est superieur a 50. Considerons maintenant les sequences a(x) de poids 4. Soita(x)=xi+xi+xk+xieta*(x)=xi +xi +xk +x avec i = rM + c, j = sM + d, k = tM + e, I = uM + f, (25) i* = [r-h(c)]M + c, j* = [s-h(d)]M +d, k = [th(e)]M + e, I* = [u-h(f)]M + f (26) On ne considere ici qu'une partie des cas ou a(x) est une sequence TTC. Ces cas se caracterisent comme suit. En supposant que i grands d'entre eux ont aussi le meme residu modulo 7. Pour une sequence a(x) TTC de poids 4, la portee totale fsp(a(x)) est definie par f + f* avec f = 0-i) + (I-k) et f* = f* + f2* ou f* (respectivement f2*) est la valeur absolue de la difference entre les deux plus petite (respectivement les deux plus grands) entiers de ['ensemble {i*, j*, k*, I*}. Dans ces conditions, qui font de a(x) une sequence TTC, il est avantageux que pour i "proche" de j et pour k "proche" de 1, les nombres f,* et f2* soient suffisamment grands pour rendre fsp(a(x)) suffisamment elevee. II existe 24 ordonnancements possibles pour les quatre entiers i*, j*, k* et l*. Les situations quton cherche a eviter vent celles ou j = i + 7 et I = k + 7 et ou l'une quelconque des huit situations suivantes se produit apres entrelacement: 1. k*=i*+7etl*=j*+7 2. k*=i*+7etl*=j*-7 3. k*=i*-7etl*=j*+ 7 4. k*=i*-7etl*=j*-7 5. I*=i*+7etk*=j*+7 6. I*=i*+7etk*=j*-7 7. I*=i*7etk*=j*+7 8. I*=i*-7etk*=j*-7 On traite ci-dessous a titre d'exemple trots de ces huit situations. Situation 1 Supposons que k* = i* + 7 et l* = j* + 7. On obtient, par (25) et (26), [t-h(e)]M + e = [r-h(c)]M + c + 7 (27) [t-h(e+7)]M + e + 7 = [rh(c)]M + c + 14 (28) Ici et dans toute la suite, e + 7 et c + 7 vent calcules modulo M. Cela . mplque [h(e+7) - h(e)]M - 7 = [h(c+7) - h(c)]M 7 (29) De plus, le fait que M soit suppose relativement premier avec 7 implique, en partant de (27) ou (28), que e _ c + 7 mod M. On obtient alors, a partir de ['equation (29): h(c+14) - 2h(c+7) + in(c) - 0 mod R (30) Cela constitue une condition necessaire pour avoir les egalites exprimees au point 1 ci-dessus. Situation 2 Supposons que k* = j* - 7 et l* = i* + 7. On obtient [t-h(e+7) ]M + e + 7 = [r-h(c)]M + c - 7 (31) [t-h(e)]M + e = [r-h(c+7)]M + c (32) ce qui implique (29) et 2[h(c+7) - h(c)] _ 0 mod R (33) Cela constitue une condition necessaire pour avoir les egalites exprimees au point 6 ci-dessus. Situation 3 Supposons que k* = i* + 7 et l* = j* - 7. On obtient [t-h(e)] M + e = [r-h(c)]M + c + 7 (34) [t-h(e+7)]M + e + 7 = [r-h(c+7)]M + c (35) ce qui implique e _ c + 7 mod M en utilisant ['equation (34) et e _ c - 7 mod M en utilisant ['equation (35). Sachant que M est suppose etre relativement premier avec 7, les deux conditions vent incompatibles et l'obtention des egalites exprimees au point 2 ci-dessus est impossible lorsque j = i + 7 et I = k + 7. Les autres points peuvent etre traites de fa,con similaire. Ils n'engendrent pas d'autre condition necessaire que (30) et (33). En resume, on a obtenu deux conditions telles qutau moins l'une d'elles est satisfaite si la portee totale d'une sequence a(x) TTC de poids 4 est egale a 28. Pour s'assurer que cette portee totale vaut au moins 35 ou plus, il convient de choisir les elements in(i) de h (qui est suppose satisfaire les conditions propres aux sequences a(x) de poids 2) de telle fa,con que, lorsque les indices i de in(i) vent calcules modulo M, ces in(i) ne verifient ni la condition (30), ni la condition (33). Des conditions semblables peuvent etre imposees pour garantir que cette portee totale soit egale ou superieure a tout multiple de 7 prealablement choisi. Wiles ont ete explicitees ci-dessus en termes de matrices Pj. II n'est toutefois pas garanti qu'elles seront realisables si les valeurs de R et de M ne vent pas assez elevees. Considerons maintenant les sequences a(x) de poids 3. Soit a(x) = xi + xj + xk et a*(x) = xi + xi* + xkA avec i=rM+c,j=sM+d, k=tM+e, (36) i = [r-h(C)]M + c, j* = [s-h(d)]M + d, k* = [t-h(e)]M + e (37) Pour une sequence a(x) TTC de poids 3, la portee totale fsp(a(x)) de a(x), est definie par max{i,j,k} - min{i,j,k} + max{i*,j*,k*} - min{i*, j*,k*}. Le poids de la sequence codee v(x) correspondent a une sequence dtinformation a(x) de poids 3 depend etroitement de la portee totale de a(x) associee a la permutation a(x) a*(x). Dans le cas d'entrelaceurs monoverrou, une solution tres simple existe pour maximiser la portee totale minimale des sequences de poids 3. Dans ce cas, la portee totale fsp(a(x)) est fsp(a(x)) = k - i + max(i*,j*,k*) - min(i*,j*,k*) (38) Pour garantir une bonne portee totale pour toute sequence a(x) de poids 3, on choisit de poser des conditions sur les trots quantites li-il + li*-i*l, li kl + Ij*-k*l et Ik-il + Ik*-i*l. Bien entendu, la valeur de fsp(a(x)) sera plus grande que l'une quelconque de ces quantites. Considerons par exemple j - i = (s-r)M + (d-c), (39) j*- i* = (s-r)M + (d-c) - M(h(d)-h(c) ) (40) On observe que 10-i) - 0*-i*)l = M Ih(d) - h(c)l. Cela implique que li-il + li*-i*l 2 M Ih(d) - h(c)l. Ainsi, si on choisit les elements du M-uplet h dans un ensemble d'entiers relativement premiers avec R et tels que, pour tout couple (c,d) de cet ensemble, Ih(d) - h(c)l 2 u avec u > 0, la portee totale de toute sequence a(x) de poids 3 sera superieure a Mu. On illustre ci-dessous par un exemple comment appliquer les regles et observations faites precedemment. On choisit R = 35 et M = 11. Puis, pour satisfaire les conditions decrites precedemment, on suppose qu'on restreint les valeurs possibles des entiers in(i) au soul-ensemble {3,6,9,12,16,19,22,26,29,32} des entiers non negatifs inferieurs a 34. Ensuite, on applique une regle de selection connue, decrite dans le document FR-A-2 805 103, pour trouver, dans ['ensemble de tous les 11-uplets ho avec ho(0) = 0 et ho(i) appartenant au soul-ensemble ci dessus pour 1 composantes de ho vent differents. Propriete A2: supposons que R 2 M 2 6. Soit P la matrice circulante de dimension MxM dont la premiere colonne est [1 -2 1 0... 0]T et soit P2 la matrice circulante de dimension MxM dont la premiere colonne est [2 -2 0.. . 0]T. Toute sequence z(x) de poids egal a 4 entrelacee par un entrelaceur verrou de taille RxM specific par un M-uplet ho verifiera fsp(z) 2 6 si ho verifie la propriete A1 et si les residue modulo R des composantes de hoP et de hoP2 vent non nuls. Propriete A3: supposons que R 2 M 2 8. Considerons alors les matrices circulantes Pj, i = 3,..., 8 de dimension MxM dont les premieres colonnes vent respectivement: [1 -1 -1 1 0 0]T pour P3, [1 -1 1 -1 0 0]T pour P4, [1 0-2 1 0 0]T pour P5, [1 -2 0 1 0 0]T pour P6, [2 -1 -1 0 0]T pour P7, [1 1 -2 0 0]T pour P8. Toute sequence z(x) de poids egal a 4 entrelacbe par un entrelaceur verrou de taille RxM specific par un M-uplet ko verifiera fsp(z) 2 8 si ko verifie les proprietes A1 et A2 et si, pour tout i, i = 3,..., 8, les residue modulo R des composantes de toPi vent non nuls. Propriete A4: supposons que R 2 M 2 8. Considerons les quatre matrices circulantes Pj, i = 21,..., 24 de dimension MxM dont les premieres colonnes vent respectivement: [1 -3 2 0... 0]T pour P2, [2 -3 1 0... 0]T pour P22, [1 -2 2 -1 0 0]T pour P23, [3-3 0... 0] pour P24. Toute sequence z(x) de poids egal a 6 entrelacee par un entrelaceur verrou de taille RxM specific par un M-uplet ko verifiera fsp(z) 2 8 si ko verifie la propriete A1 et si, pour tout i, i = 9,..., 12, les residue modulo R des composantes toPi vent non nuls. Le 11 -uplet ko = [O. 3, 12, 16, 6, 19, 26, 9, 32, 29, 22] (41) satisfait ces proprietes. Enfin, pour i = 0,..., 10, I'element ho(i) de ko est deplace vers la position 7i mod 11 pour aboutir a un nouveau 11-uplet k donne par k = [O. 32,19, 12, 22, 9, 6, 3, 29, 26, 16] Pour le turbocode correspondent a cet entrelaceur monoverrou, la longueur des sequences d'information est egale a 35x11 = 385. Ce turbocode a ete simule sur un canal a bruit blanc gaussien additif ou AWGN (en anglais "Additive White Gaussian Noise") et compare a trots autres entrelaceurs de la meme taille. Les taux d'erreur frame (en anglais "frame error rate") de ces quatre entrelaceurs vent representes sur la figure 3 en fonction du rapport signal sur bruit. Le premier de ces entrelaceurs, represente par des triangles sur le graphique, est l'entrelaceur standard 3GPP, le deuxieme, represente par des cercles, est un entrelaceur du type dit "x vers xe" avec e = 71. On rappelle qu'un entrelaceur du type "x vers xe" est defini comme suit: si u designe une sequence d'entree de longueur n et u* la sequence permutee, I'entrelaceur deplace chaque bit qui se trouve initialement en position i dans u, vers une position (e.i modulo n) dans u*. Le troisieme entrelaceur, represente par des croix sur le dessin, est un entrelaceur multiverrous. On observe que c'est l'entrelaceur correspondent a la presente invention, represente par des etoiles sur le dessin, qui est le plus efficace. La figure 4 montre, de fa,con tres schematique, un appareil d'emission de signaux numeriques 48 mettant en ceuvre ['invention. Ce dispositif comprend un clavier 911, un ecran 909, une source d'informations externe 910, un emetteur hertzien 906, conjointement relies a des ports d'entree/sortie 903 d'un dispositif de codage 901 qui est realise ici sous la forme d'une unite logique. Le dispositif de codage 901 comporte, relies entre eux par un bus d'adresses et de donnees 902: - une unite centrale de traitement 900, une memoire vive RAM 904, - une memoire morte 905, et - lesdits ports d'entree/sortie 903. L'unite centrale de traitement 900 est adaptee a mettre en ceuvre l'organigramme illustre en figure 2. Chacun des elements illustres en figure 4 est bien connu de l'homme du metier des micro-ordinateurs et des systemes de transmission et, plus generalement, des systemes de traitement de ['information. Ces elements connus ne vent done pas decrits ici. On observe, cependant, que: - la source d'informations 910 pourrait etre, par exemple, un peripherique d'interface, un capteur, un demodulateur, une memoire externe ou un autre systeme de traitement de ['information (non represente), et pourrait par exemple fournir des sequences de signaux representatifs de parole, de messages de service ou de donnees multimedia notamment de type IP ou ATM, sous forme de sequences de donnees binaires, - I'emetteur hertzien 906 est adapte a mettre en ceuvre un protocole de transmission par paquets sur un canal non filaire, et a transmettre ces paquets sur un tel canal. La memoire vive 904 conserve des donnees, des variables et des resultats intermediaires de traitement, dans des registres de memoire portent, dans la description, les memes noms que les donnees dont ils conservent les valeurs. On observera, au passage, que le mot "registre" designe, a travers la presente description, aussi bien une zone memoire de falble capacite (quelques donnees binaires) qu'une zone memoire de grande capacite (permettant de stocker un programme entier) au sein d'une memoire vive ou d'une memoire morte. La memoire vive 904 comporte notamment les registres suivants: - un registre "nb_donnees" dans lequel est conservee la longueur k de la sequence de donnees u, - un registre "a", dans lequel est conservee la sequence a obtenue en prolongeant la sequence u au moyen de bits de bourrage, - un registre "a*", dans lequel est conservee la sequence entrelacee a*, - un registre "a,b,c" dans lesquels vent conservees les sequences a, b et _ resultant du turbocodage, et - un registre "trame_radio" dans lequel est conservee l'integralite de la frame radio a emettre. La memoire morte 905 est adaptee a conserver, dans des registres qui, par commodite, possedent les memes noms que les donnees qu'ils conservent: le programme de fonctionnement de ['unite centrale de traitement 900, dans un registre"programme", - les coefficients du polynome g(x), dans un registre "g", - les coefficients du polynome f(x), dans un registre "f", les coefficients du polynome f2(x), dans un registre "f", - la longueur des sequences a et a*, dans un registre "n", - la permutation definissant l'entrelaceur, dans un registre "entrelaceu/', et - la valeur L de la periode de g dans un registre "L". La figure 5 represente un dispositif de decodage 1101 apte a decoder des donnees fournies par un appareil tel que celui de la figure 4. Le decodage apres reception est effectue par un turbodecodeur constitue de deux decodeurs, de deux entrelaceurs, d'un desentrelaceur 12, d'un additionneur 70 et d'une unite de decision 80. Les decodeurs, qui vent designee par "Decodeur 1" et "Decodeur 2" sur la figure 5, vent de preference des decodeurs MAP (en anglais "Maximum A Posteriori Probabiliff', c'est-a-dire "Probabilite Maximum A Posteriori"), par exemple du type BCJR, ctest-a-dire utilisant l'algorithme de Bahl, Cocke, Jelinek et Raviv; mais on pourra egalement utiliser d'autres genres de decodeurs, par exemple du type SOVA (en anglais: "Soff Outpuf Viferbi Algorithm"). De preference aussi, le decodage tient compte de la valeur courante du rapport signal sur bruit. Un turbodecodeur classique necessite egalement un rebouclage de la sortie du desentrelaceur 2 sur ['entree du premier decodeur afin de transmettre au premier decodeur ['information cite extrinseque produite par le second decodeur. Le turbodecodeur 300 re,coit les sequences codees a', b' et_' en provenance d'un recepteur 1106 (voir figure 6 decrite ci-apres). Une fois le decodage "ermine, la sequence a, qui est une estimation de la sequence a emise par l'emetteur 906, est envoyee a un module tronqueur 335. Ce tronqueur 335, selon ['invention, produit une sequence u en otant les d derniers bits de correspondent aux bits de bourrage ajoutes avant codage. Enfin, cette sequence u est envoyee vers un destinataire d'informations 1110. Le schema synoptique de la figure 6 represente un appareil de reception de signaux numeriques 333 incorporant le dispositif de la figure 5. II comprend un clavier 1111, un ecran 1109, un destinataire d'informations externe 1110, un recepteur hertzien 1106, conjointement relies a des ports d'entree/sortie 1103 d'un dispositif de decodage 1101 qui est realise ici sous la forme d'une unite logique. Le dispositif de decodage 1101 comporte, relies entre eux par un bus d'ad resees et de donnees 1102: - une unite centrale de traitement 1100, - une memoire vive RAM 1104, - une memoire morte 1105, et - lesd its ports d'entree/sortie 1 103. Chacun des elements illustres en figure 6 est bien connu de l'homme du metier des micro-ordinateurs et des systemes de transmission et, plus generalement, des systemes de traitement de ['information. Ces elements connus ne vent done pas decrits ici. On observe, cependant, que: - le destinataire d'informations 1110 pourrait etre, par exemple, un peripherique d'interface, un afficheur, un modulateur, une memoire externe ou un autre systeme de traitement de ['information (non represente), et pourrait etre adapte a recevoir des sequences de signaux representatifs de parole, de messages de service ou de donnees multimedia notamment de type IP ou ATM, sous forme de sequences de donnees binaires, - le recepteur hertzien 1106 est adapte a mettre en ceuvre un protocole de transmission par paquets sur un canal non filaire, et a transmettre ces paquets sur un tel canal. La memoire vive 1104 conserve des donnees, des variables et des resultats intermediaires de traitement, dans des registres de memoire portent, dans la description, les memes noms que les donnees dont ils conservent les valeurs. La memoire vive 1104 comporte notamment les registres suivants: un registre "donnees_reques", dans lequel vent respectivement conservees les sequences re,cues a', b', et_', - un registre "inf extrinseques", dans lequel vent respectivement conservees les sequences intermediaires de decodage en sortie du Decodeur 2 de la figure 5, - un registre "donnees_estimees", dans lequel vent conservees la sequence decodee a et la sequence entrelacee correspondante a*, - un registre "nb_iterafions", dans lequel est conservee la valeur du nombre d' iterations deja effectuees par le turbodecodeu r, - u n reg istre "nb_donnees" dans lequel est conservee la long ueu r de la sequence u issue du tronqueur 335, et un registre "trame_radio" dans lequel est conservee l'integralite de la frame radio re,cue. La memoire morte 1105 est adaptee a conserver, dans des registres qui, par commodite, possedent les memes noms que les donnees qu'ils conservent: le programme de fonctionnement de ['unite centrale de traitement 1100, dans un registre "Programme", - les coefficients du polynome g(x), dans un registre "g", - les coefficients du polynome f(x), dans un registre "f", les coefficients du polynome f2(x), dans un registre "f2', - la longueur des sequences a et a*, dans un registre "n", - la permutation definissant l'entrelaceur, dans un registre "entrelacou/', - la valeur L de la periode de g dans un registre "L", et - le nombre maximal alliterations dans un registre "nb_iteration_max". Dans certaines applications, il est commode d'utiliser le meme dispositif informatique (fonctionnant en mode multi-taches) pour ['emission et la reception de signaux selon ['invention. Dans ce cas, les unites 901 (figure 4) et 1101 (figure 6) vent physiquement identiques. Le procede conforme a ['invention peut etre mis en couvre au sein d'un reseau de telecommunications, comme le montre la figure 7. Le reseau represente, qui peut par exemple etre constitue par un des future reseaux de communication tels que les reseaux UMTS, est constitue d'une station cite station de base SB designee par la reference 64, et de plusieurs stations peripheriques SPj, i = 1,..., p, ou p est un entier superieur ou egal a 1, respectivement designees par les references 66, 662,..., 66p. Les stations peripheriques 66, 662,..., 66p vent eloignees de la station de base SB, reliees chacune par une liaison radio avec la station de base SB et susceptibles de se * deplacer par rapport a cette derriere. La station de base SB et cheque station peripherique SPj peuvent comprendre un dispositif de codage 901 tel que decrit en reference aux figures 4, 5 et 6, un bloc d'emission et un module radio muni d'un emetteur classique comportant un ou plusieurs modulateurs, des filtres et une antenne. La station de base SB et chaque station peripherique SPj selon ['invention peuvent comprendre egalement un dispositif de decodage 1101 tel que decrit en reference aux figures 5 et 6, un bloc de reception et un module radio avec son antenne. La station de base SB et les stations peripheriques SPj peuvent comprendre de surcro^'t, selon les besoins, une camera numerique, un ordinateur, une imprimante, un serveur, un telecopieur, un scanner ou encore un appareil photographique numerique, ces exemples ntetant pas limitatifs. c 2837331 REVENDICATIQNS 1. Procede d'entrelacement d'une sequence binaire a representee n-1 par un polynome a(x)= ajxi, n etant le produit de deux entiers R et M tels i=o que R 2 M7 i etant un entier pouvant s'ecrire i = r.M + c, r etant un entier non negatif et c etant un entier compris dans l'intervalle [0, M-1] , ledit procede etant caracterise en ce qu'il consiste a obtenir, a partir de la sequence a, une sequence binaire entrelacee a* representee par un polynome a*(x)= ajxi i=o ou i* = [r- h(c)].M + c mod n, les nombres in(c) etant obtenus par: - le choix d'un M-uplet ho = [ho(O),, ho(M-1)] d'entiers non negatifs inferieurs a R-1 tel que, etant donne un ensemble predetermine n de matrices circulantes P de dimension MxM, pour toute matrice P de n, les residue modulo R des composantes du vecteur ho P soient non nuls; et - le choix correspondent d'un M-uplet h = [h(O),..., h(M-1)] obtenu a partir du M-uplet ho par application d'une permutation deplagant ltelement ho(C) en position Lxc mod M, L etant un entier relativement premier avec M. 2. Procede selon la revendication 1, caracterise en ce que ['ensemble II contient des matrices circulantes P. et P2 teiles que: - la premiere colonne de P' est [1 -2 1 0 O]T et - la premiere colonne de P2 est [2 -2 0 0 O]T, OU T designe la transposition. 3. Procede selon la revendication 1, caracterise en ce que ['ensemble n contient des matrices circulantes P3 a P telles que: - la premiere colonne de P3 est [1 -1 -1 1 0 O]T, - la premiere colonne de P4 est [1 -1 1 -1 0 O]T, - la premiere colonne de P5 est [1 0-2 1 0 O]T, - ia premiere colonne de P6 est [1 -2 0 1 0 O]T, - la premiere colonne de P7 est [2 -1 - 1 0 0 O]T et - la premiere colonne de Pe est [1 1 -2 0 0 O]T, OU T designe la transposition. 4. Procede selon la revendication 1, caracterise en ce que ['ensemble n contient des matrices circulantes Pg a P20 telles que: - la premiere colonne de Pg est [1 1 -1 -1 0 O]T, - la premiere colonne de P1O est [1 1 0 1 -1 0 O]T, - la premiere colonne de P, est [1 -1 0 -1 1 0 O]T, - la premiere colonne de P2 est [1 0-1 -1 1 0... O]T, - la premiere colonne de P43 est [1 -1 -1 0 1 0... O]T, - la premiere colonne de P4 est [1 0 -1 1 1 0... O]T, - la premiere colonne de P45 est [1 -1 1 0 -1 0. O]T, - la premiere colonne de P6 est [1 0 -2 0 1 0... O]T, - la premiere colonne de Pj7 est [1 0 0 -2 1 0... O]T, - la premiere colonne de P'8 est [1 -2 0 0 1 0... O]T, - la premiere colonne de P'g est [1 0 1 -2 0 0... O]T et - la premiere colonne de P20 est [2 -1 0 -1 0 0 O]T, OU T designe la transposition. 5. Procede selon la revendication 1, caracterise en ce que ltensemble n contient des matrices circulantes P2, a P24 telles que: - la premiere colonne de P2 est [1 -3 2 0 0 O]T, - la premiere colonne de P22 est [2 -3 1 0 0 O]T, - la premiere colonne de P23 est [1 -2 2 -1 0 O]T et - la premiere colonne de P24 est [3 -3 0 0 0 O]T, OU T designe la transposition. 6. Procede selon la revendication 1, caracterise en ce que I'ensemble II contient des matrices circulantes P. a Pe telles que: - la premiere colonne de P est [1 -2 1 0 O]T, - la premiere colonne de P2 est [2 -2 0 0 O]T, - la premiere colonne de P3 est [1 -1 -1 1 0 O]T, - la premiere colonne de P4 est [1 -1 1 -1 0 O]T, - la premiere colonne de P5 est [1 0 2 1 0 O]T, - la premiere colonne de P6 est [1 -2 0 1 0 O]T, - la premiere colonne de P7 est [2 -1 -1 0 0 O]T et - la premiere colonne de Pe est [1 1 -2 0 0... O]T, OU T designe la transposition. 7. Procede selon la revendication 1, caracterise en ce que ['ensemble n contient des matrices circulantes P' a P20 telles que: - la premiere colonne de P' est [1 -2 1 0 O]T, - la premiere colonne de P2 est [2 -2 0 0 O]T, - la premiere colonne de P3 est [1 -1 -1 1 0 O]T, - la premiere colonne de P4 est [1 -1 1 -1 0 O]T, - la premiere colonne de P5 est [1 0 2 1 0 O]T, - la premiere colonne de P6 est [1 -2 0 1 0. O]T, - la premiere colonne de P7 est [2 -1 -1 0 0... O]T, - la premiere colonne de Ps est [1 1 -2 0 0 O]T, - la premiere colonne de Pe est [1 1 -1 -1 0 O]T, - la premiere colonne de P1O est [1 -1 0 1 -1 0 O]T, - la premiere colonne de P' est [1 -1 0-1 1 0 O]T, - la premiere colonne de P'2 est [1 0-1 -1 1 0 O]T, - la premiere colonne de Pi3 est [1 -1 -1 0 1 0 O]T, - la premiere colonne de P,4 est [1 0-1 1 -1 0 O]T, - la premiere colonne de Pj5 est [1 -1 1 0 -1 0 O]T, - la premiere colonne de P'6 est [1 0 -2 0 1 0 O]T, - la premiere colonne de Pi7 est [1 0 0 -2 1 0 O]T, - la premiere colonne de P',3 est [1 -2 0 0 1 0 O]T, - la premiere colonne de Pg est [1 0 1 -2 0 0... O]T et - la premiere colonne de P20 est [2 -1 0 -1 0 0... O] T, ou T designe la transposition. 8. Procede selon la revendication 1, caracterise en ce que ['ensemble II contient des matrices circulantes P' a P24 telles que: - la premiere colonne de P. est [1 -2 1 0 O]T, - la premiere colonne de P2 est [2 -2 0 0 O]T, - la premiere colonne de P3 est [1 -1 -1 1 0 O]T, - la premiere colonne de P4 est [1 -1 1 -1 0 O]T, - la premiere colonne de P5 est [1 0 2 1 0 O]T, - la premiere colonne de P6 est [1 -2 0 1 0... O]T, - la premiere colonne de P7 est [2 -1 -1 0 0... O]T7 - la premiere colonne de P8 est [1 1 -2 0 0... O]T, - la premiere colonne de Pg est [1 1 -1 -1 0 O] T, - la premiere colonne de P1O est [1 -1 01 -1 0 O]T, - la premiere colonne de P', est [1 -1 0-1 1 0 O]T, - la premiere colonne de P,2 est [1 0 -1 -1 1 0... O]T, - la premiere colonne de P43 est [1 -1 -1 0 1 0... O] T, - la premiere colonne de P,4 est [1 0-1 1 -1 0... O]T, - la premiere colonne de P45 est [1 -1 1 0 -1 0 O]T, - la premiere colonne de P6 est [1 0 -2 0 1 0... O]T, - la premiere colonne de P'7 est [1 0 0 -2 1 0... O]T, - la premiere colonne de P'8 est [1 -2 0 0 1 0... O]T, - la premiere colonne de Pe est [1 0 1 -2 0 0... O]T, - la premiere colonne de P20 est [2 -1 0 -1 0 0 O]T, - la premiere colonne de P2, est [1 -3 2 0 0... O]T, la premiere colonne de P22 est [2 -3 1 0 0... O]T, - la premiere colonne de P23 est [1 -2 2 -1 0... O]T et - la premiere colonne de P24 est [3 -3 0 0 0... O]T, ou T designe la transposition. 9. Procede selon la revendication 1, caracterise en ce que ['ensemble n contient des matrices circulantes P, P2 et P2' a P24 telles que: - ia premiere colonne de P' est [1 -2 1 0 O]T, - la premiere colonne de P2 est [2 -2 0 0 O]T, - la premiere colonne de P2 est [1 -3 2 0 0 O]T, - la premiere colonne de P22 est [2 -3 1 0 0 O]T, - la premiere colonne de P23 est [1 -2 2 -1 0... O]T et - la premiere colonne de P24 est [3 -3 0 0 0... O]T, OU T designe la transposition. 10. Procede selon la revendication 1, caracterise en ce que lensemble II contient des matrices circulantes P a P8 et P2 a P24 telles que: - la premiere colonne de P. est [1 -2 1 0... O]T, - la premiere colonne de P2 est [2 -2 0 0 O]T, - la premiere colonne de P3 est [1 -1 -1 1 0 O]T, - la premiere colonne de P4 est [1 -1 1 -1 0 O]T, - la premiere colonne de P5 est [1 0 -2 1 0 O]T, - la premiere colonne de P6 est [1 -2 0 1 0 O]T, - la premiere colonne de P7 est [2 -1 -1 0 0 O]T, - la premiere colonne de P est [1 1 -2 0 0 O]T, - la premiere colonne de P2 est [1 -3 2 0 0 O]T, - la premiere colonne de P22 est [2 -3 1 0 0 O]T, - la premiere colonne de P23 est [1 -2 2 -1 0 O]T et - la premiere colonne de P24 est [3 -3 0 0 0.. . O]T, OU T designe la transposition. 11. Procede de codage pour la transmission d'informations, caracterise en ce qutil met en ceuvre un procede d'entrelacement selon l'une quelconque des revendications precedentes, et en ce que: - ledit entier L est la periode commune a un premier et a un second polynomes predetermines a coefficients binaires g(x) et g*(x) de degre d et de terme constant egal a 1; - on presente lesdites informations sous la forme de sequences binaires u de longueur I = n - 2d, ou n est un multiple predetermine de L; - on produit, pour chacune desdites sequences u, un triplet _ de sequences binaires (a,b,_) destinees a etre transmises et obtenues comme suit: - ladite sequence b est representee par le polynome b(x) = a(x).f(x)/g(x), ou f(x) est un deuxieme polynome a coefficients binaires predetermine, sans diviseur commun avec g(x), - ladite sequence _ est representee par le polynome c(x) = a*(x).f2(x)/g*(x) , ou f2(x) est un troisieme polynome a coefficients binaires predetermine, sans diviseur commun avec g*(x), et ou a*(x) est un polynome associe a une sequence a* produite par entrelacement de ladite sequence a, et 36: - ladite sequence a est de longueur n et obtenue en inserant dans la n-1 sequence u 2d bits de bourrage de fa,con que le polynOme a(x)= ajxi i=o associe a a soit divisible par g(x) et que le polynOme a*(x) soit divisible par g (x). 12. Procede de codage selon la revendication precedente, caracterise en ce que lesdits premier et second polynOmes g(x) et g*(x) vent identiques. 13. Procede de decodage, caracterise en ce qu'il inclut le decodage de sequences regues qui ont ete emises apres avoir ete codees par I'intermediaire d'un procede de codage selon la revendication 11 ou 12. 14. Dispositif de codage (901) de sequences de donnees destinees a etre transmises, lesdites sequences etant codees par l'intermediaire d'un procede de codage selon la revendication 11 ou 12, ledit dispositif etant caracterise en ce qu'il comporte: - des moyens pour obtenir, pour cheque sequence de donnees u, ladite sequence a associee a u en inserant dans la sequence u lesdits 2d bits de bourrage, et - au moins un codeur comportant un entrelaceur apte a realiser la permutation prevue dans ledit procede d'entrelacement. 15. Dispositif de decodage (1101) destine a mettre en ceuvre un procede de decodage selon la revendication 13, caracterise en ce qu'il comporte: - au moins un decodeur (300) comportant deux entrelaceurs apses a realiser la permutation prevue dans led it procede d'entrelacement, et u n desentrelaceur apte a inverser cette permutation, et - des moyens (335) pour produire une sequence binaire u en Otant 2d bits de la sequence estimee a obtenue a ['issue du decodage de sequences re,cues a', b' et _' correspondent respectivement auxdites sequences emises a, b et _, les 2d bits a Oter correspondent aux 2d bits inseres dans la sequence u pour obtenir la sequence a. eel n ^ 16. Appareil d'emission de signaux numeriques codes (48), caracterise en ce qu'il comporte un dispositif de codage selon la revendication 14 et en ce qu'il comporte des moyens (906) pour emettre lesdites sequences codees a, b et_. 17. Appareil de reception de signaux numeriques codes (333), caracterise en ce qu'il comporte un dispositif de decodage selon la revendication 15 et en ce qutil comporte des moyens (1106) pour recevoir lesdites sequences a', b' et_'. 18. Reseau de telecommunications7 caracterise en ce qu'il comporte au moins un appareil d'emission selon la revendication 16 ou un appareil de reception selon la revendication 17. 19. Station de base dans un reseau de telecommunications, caracterisee en ce q u 'el le comporte au moins u n appa reil d 'emission selon la revendication 16 ou un appareil de reception selon la revendication 17. 20. Station mobile dans un reseau de telecommunications, caracterisee en ce qu'elle comporte au moins un appareil d'emission selon la revendication 16 ou un appareil de reception selon la revendication 17.