FR 2741215 A1 19970516 FR 9513471 A 19951114 PROCEDE DE TRANSMISSION D'UNE SEQUENCE DE BITS D'INFORMATION AVEC PROTECTION SELECTIVE CONTRE LES ERREURS DE TRANSMISSION, PROCEDES DE CODAGE ET DE CORRECTION POUVANT ETRE MIS EN OEUVRE DANS UN TEL PROCEDE DE TRANSMISSION La présente invention concerne le domaine de la transmission d'informations binaires, et plus particu- lièrement des procédés permettant de protéger certains au moins des bits à transmettre vis-à-vis d'erreurs susceptibles d'être introduites par un canal de transmission. Par "canal de transmission", on entend ici tout trajet suivi par un signal porteur des bits d'information entre un dispositif émetteur et un dispositif récepteur. Les canaux de transmission incluent ainsi les liaisons radio, filaires ou autres établies entre le dispositif émetteur et le dispositif récepteur, mais également, dans des applications de stockage, des canaux comportant une mémoire dans laquelle les informations délivrées par le dispositif émetteur sont stockées en attendant d'être lues par un dispositif récepteur. Les techniques de codage canal ont été développées pour procurer une certaine immunité vis-à-vis des erreurs résultant du canal de transmission. En particulier, les techniques de codage correcteur à redondance sont largement utilisées pour détecter et/ou corriger des erreurs. Ces techniques comprennent les codages convolutionnels et les codages en blocs. Le principe d'un codeur redondant est de délivrer n bits caractérisant k bits d'information à trans- mettre, avec n>k. Le rapport k/n définit le rendement du code, qui ne doit pas être trop bas pour ne pas être pénali- sant en termes de bande passante requise. Pour accroître les capacités de correction d'un code de rendement donné, on a habituellement recours à des codeurs et surtout à des décodeurs sensiblement plus complexes (longueur de contrainte augmentée dans le cas d'un code convolutionnel, ou longueur des blocs augmentée dans le cas d'un code en blocs). Certains codeurs canal procurent plusieurs classes de protection pour les bits d'une trame. Chaque classe de protection correspond à l'application d'un code correcteur de rendement inférieur à 1, avec des capacités de correction différentes d'un code à l'autre. Ceci permet de répartir les bits de la trame entre les classes en fonction de leur importance et d'avoir une protection dépendant de l'importance des bits. Les codes correcteurs d'erreurs à redondance four- nissent les meilleurs résultats lorsque les probabilités d'erreurs sont décorrélées d'un symbole au suivant. Cette condition de décorrélation est satisfaite dans le cas d'un canal à bruit blanc additif gaussien, qui, en pratique, est souvent rencontré avec une bonne approximation. Mais il y a des cas o la condition de décorrélation n'est pas satis- faite, notamment dans le cas de liaisons radio sur un canal de Rayleigh. Un terminal radio mobile, lorsqu'il se déplace, peut traverser des "trous de fading" dans lesquels il reçoit plusieurs versions déphasées du même signal reçu selon des trajets de propagation différents et qui interfèrent de manière destructive. Ces trous de fading peuvent s'étendre sur plusieurs symboles et donc affecter les performances du code correcteur. Pour combattre ce phénomène, la plupart des systèmes radio mobiles utilisent un entrelacement consistant à permuter les symboles d'une ou plusieurs trames successives de manière à mieux satisfaire la condition de décorrélation des probabilités d'erreur sur les symboles des mots de code. Pour certains systèmes de transmission radio, les bits obtenus après le codage à redondance et le cas échéant l'entrelacement, sont codés différentiellement avant l'émis- sion. Ce codage différentiel consiste à transmettre non pas les bits eux-mêmes, mais la différence entre deux bits successifs. Si B0, B1,..., BN_1 désignent la trame de N bits à transmettre, le codage différentiel consiste à réaliser: B'n=B'nl* Bn pour 0On dans la suite de la trame. Si ce codage différentiel permet de s'affranchir du problème du signe des bits décodés, il présente l'inconvénient de doubler les erreurs affectant les bits transmis. Si le canal de propagation induit une erreur ponctuelle sur un bit B'n il en résultera après décodage une erreur sur le bit Bn et une autre sur le bit Bn+l. Le recours à un codage différentiel augmente donc la probabilité d'erreur de transmission sur les bits de la trame. Un but de la présente invention est de proposer un procédé de transmission tirant parti des avantages du codage différentiel tout en obtenant une diminution du taux moyen d'erreur au lieu d'une augmentation. Un autre but est de pouvoir protéger plusieurs classes de bit de la séquence à transmettre en conservant un rendement relativement élevé pour le processus global de codage canal. L'invention propose ainsi un procédé pour transmettre une première séquence de bits d'information, comprenant les étapes suivantes exécutées par un dispositif émetteur: - formation d'une seconde séquence de bits présentant de la redondance à partir de la première séquence, de façon que la seconde séquence inclue au moins un sous-ensemble redondant constitué de L bits qui représentent M bits de la première séquence avec 09M rectification d'autres bits n'appartenant pas au sous- ensemble redondant. Les bits bénéficiant ainsi d'une protection supplémentaire sont ceux de la forme cn, qui n'appartiennent pas au sous-ensemble redondant, et pour lesquels il y a au moins un bit cn appartenant au sous-ensemble redondant tel que n'=f(n) ou f(n')=n ou f(n). Cette protection supplémentaire fournie par le codage différentiel ne s'accompagne pas d'une augmentation du débit binaire requis pour la transmission. Lorsque Mil, le sous-ensemble redondant se compose de L bits produits par un codage correcteur d'erreurs à partir de M bits de la première séquence lors de la formation de la seconde séquence. Lorsque M=0, le sous-ensemble redondant se compose de L bits connus du dispositif récepteur. Ces bits connus peuvent notamment être des bits de synchronisation. Pour optimiser les capacités de correction d'erreurs, on choisit avantageusement la structure de la seconde séquence et la fonction f de façon à maximiser le nombre L', au plus égal à L, de bits cn, de la seconde séquence n'appartenant pas au sous-ensemble redondant tels qu'il y ait deux bits cnl et cn2 du sous-ensemble redondant avec n'=f(nl) et f(n')=n2 ou f(n2). En effet, ces bits cn. bénéficient d'une protection importante étant donné qu'ils sont estimés en fonction de deux données de vraisemblance corrigibles grâce au sous-ensemble redondant. Un autre aspect de l'invention concerne un procédé de codage d'une première séquence de bits d'information, dans lequel on prévoit au moins une première classe de protection pour M bits de la première séquence et une seconde classe de protection pour M' bits de la première séquence, M et M' désignant deux entiers au moins égaux à 1. Ce procédé de codage comprend les étapes suivantes: - on forme une seconde séquence de bits présentant de la redondance à partir de la première séquence, de façon que la seconde séquence inclue au moins un premier sous- ensemble redondant constitué de L bits qui représentent les M bits de la première classe de la première séquence avec M seconde séquence tel que n'=f(n) ou f(n')=n ou f(n). Un troisième aspect de la présente invention se rapporte à un procédé de correction d'une séquence de données de vraisemblance rn obtenues à partir d'un signal reçu d'un dispositif émetteur par l'intermédiaire d'un canal de transmission, le signe de chaque donnée de vraisemblance rn représentant une estimation, de fiabilité croissante avec la valeur absolue de rn, de la valeur d'un bit respectif dn d'une séquence codée de bits résultant d'un codage différentiel d'une seconde séquence de bits par le dispositif émetteur, la seconde séquence de bits incluant au moins un sous-ensemble redondant constitué de L bits qui représentent M bits d'information à communiquer avec 0 M invention apparaîtront dans la description ci-après d'exemples de réalisation non limitatifs, en référence aux dessins annexés, dans lesquels: - les figures 1 à 6 sont des diagrammes illustrant différents modes de codage différentiel utilisables dans un procédé selon l'invention; - la figure 7 est un schéma illustrant différentes étapes d'un exemple de procédé de codage selon l'invention; et - la figure 8 est un schéma montrant différentes étapes d'un procédé de décodage correspondant au procédé de codage de la figure 7. La figure 1 montre une séquence T2 de bits c0, c1,... formée à partir d'une séquence Tl (non représentée sur la figure 1) de bits d'information à transmettre a0, a1,... On considère ici que chaque séquence Tl, T2 se compose d'un nombre donné de bits, la séquence, ou trame, T2 présentant de la redondance par rapport à la séquence, ou trame, T1 et ayant donc un nombre de bits N plus grand que celui K de la trame T1. Dans l'exemple simplifié considéré ici, la longueur N de la trame T2 est de 10, la trame T1 ayant par exemple une longueur K=8. On suppose que la trame T2 inclut un sous- ensemble redondant E constitué de L=5 bits c0, c2, c4, c6 et c8, les L'=5 autres bits de la trame constituant un sous- ensemble E'. Le codage différentiel transforme la trame T2 en une séquence ou trame T3 ayant le même nombre de bits N. Le codage différentiel illustré par les lignes obliques sur la figure 1 est simplement dn=cnedn_1, c'est-à- dire qu'avec les notations utilisées précédemment, f est la fonction f(n)=n-1. Les trames T3 étant émises en succession, le bit d'initialisation d-1 est par exemple le dernier bit de la précédente trame T3. Etant donné que les bits des sous-ensembles E et E' apparaissent en alternance dans la trame T2, chaque bit dn de la trame T3 intervient dans le codage d'un bit du sous- ensemble redondant E, à savoir le bit Cn+(n modulo 2) Au niveau du dispositif récepteur, la première estimation de ce bit Cn+(n modulo 2) sera corrigible en exploitant la redondance présente dans le sousensemble E, ce qui permettra éventuellement en cas de correction d'inverser l'estimation du bit dn de la troisième trame, cette inversion permettant ensuite de corriger également l'estimation du bit Cn+l-(n modulo 2) appartenant au sous-ensemble E'. Pour chaque trame T3, le dispositif récepteur obtient un signal constitué de N valeurs réelles ou softbits r0, r1,..., rN_1 de la forme rn=An(1-2dn)+Bn o An est le niveau d'énergie relatif du signal reçu (dans certains cas, le signe de An n'est pas connu a priori) et Bn est un échantillon de bruit. Les valeurs rn peuvent être vues comme des données de vraisemblance associées aux bits dn, étant donné qu'on montre aisément, pour un canal à bruit blanc additif gaussien, que rn est proportionnelle à ln[Pr(dn=0Irn}/Pr{dn=llrn}] O Pr{dn=ilrn} désigne la probabilité pour de dn=i sachant que la valeur rn a été reçue. En d'autres termes, le signe de rn constitue une estimation de la valeur du bit dn tandis que la valeur absolue de rn est une mesure de la fiabilité de cette estimation. Compte tenu du codage différentiel utilisé, le dispositif récepteur peut calculer des premières estimations cn des bits cn=dnadf(n) de la trame T2 en fonction du signe sgn(rn.rf(n))= +l de rn.rf(n) et éventuellement des valeurs absolues de rn et rf(n). Ces premières estimations peuvent être des décisions dures, par exemple cn=sgn(rn. rf(n)) (soit cn=1l-2cn en l'absence d'erreurs de transmission) ou des dé- cisions douces de la forme Cn=Sgn(rn.rf(n)).g(lrnl, Irf(n) I) o g est une fonction mesurant la fiabilité de l'estimation, par exemple g(x, y)=xy. On note que, grâce au codage différentiel, une éventuelle ambiguité sur le signe des niveaux d'énergie An n'affecte pas les estimations cn. Si l'exploitation de la redondance prévue dans le sous- ensemble E montre que la première estimation cn d'un bit cn du sous-ensemble E est erronée, c'est parce que le signe de rn ou celui de rf(n) est faux. On inverse alors le signe de celle des deux données rn, rf(n) qui est considérée comme la moins fiable, c'est-à-dire qui a la plus faible valeur absolue. Dans la mesure o cette donnée dont le signe a été inversé intervient dans le décodage différentiel d'un autre bit de la trame T2 (ou plusieurs), celui-ci pourra également bénéficier de la correction apportée lors d'un second décodage différentiel des données de vraisemblance. Si on suppose que la correction des premières estimations des bits du sous-ensemble E fournit des résultats certains, on peut évaluer la probabilité d'erreur sur le signe d'une donnée de vraisemblance rn intervenant dans le décodage différentiel d'un bit du sous-ensemble E: Prerr (r) = 2 Erfc() 1) o Erfc désigne la fonction erreur et Eb/N0 désigne le rapport signal-à-bruit. On désigne par E' le sous-ensemble de cardinal L'5min(L,N-L) de la trame T2, composé des bits cn, n'appartenant pas au sous-ensemble E et tels que deux bits cnl et cn2 du sous-ensemble redondant E vérifient n'=f(nl) et f(n')=n2 ou f(n2). Ces bits cn. bénéficient d'une protection double étant donné que les deux données de vraisemblance associées rn, et rf(n,) sont corrigibles. Il découle de la relation (1) que la probabilité d'erreur sur un bit du sous-ensemble E' est: Prerr(Cnn) Ernfc( ( 2) Cette probabilité Perr(cn') est sensiblement inférieure à celle qu'on obtient en n'utilisant pas de codage différentiel avant l'émission. On désigne par E" le sous-ensemble de cardinal L"nN-L-L' de la trame T2, composé des bits Cn. tels qu'il existe un et un seul bit cn du sousensemble redondant E vérifiant nn=f(n) ou f(n")=n ou f(n). Ces bits cnn bénéficient d'une protection simple. Il découle de la relation (1) que la probabilité d'erreur sur un bit du sous- ensemble E" est: Prerr (cn ( () ()) (3) Cette probabilité Perr(cn.) est du même ordre que celle qu'on obtient en n'utilisant pas de codage différentiel avant l'émission. On désigne par E''' le sous-ensemble de cardinal L''' de la trame T2, composé des bits cpoerm(ni) n'appartenant ni à E, ni à E', ni à E". Ces bits ne bénéficient pas d'une protection par l'intermédiaire du codage différentiel. La probabilité d'erreur associée Prerr (cn c/)Erfc (0) ( 4) montre une dégradation de 3dB du taux d'erreur binaire par rapport au cas o on n'utilise pas de codage différentiel. En général, on pourra choisir une structure de la trame T2, et une fonction f pour lesquelles le sous-ensemble E' ' ' est vide (L'''=0). La structure de la trame T2 et la fonction f sont de préférence choisies de façon à maximiser le cardinal L' du sous-ensemble E'. Idéalement, le sous-ensemble E' comprend tous les bits de la trame T2 n'appartenant pas au sous- ensemble redondant E, comme dans le cas de la figure 1. Cette condition peut être satisfaite lorsque L>N/2. On voit que, dans l'exemple considéré sur la figure 1, tous les bits de la trame T2 bénéficient d'une protection contre les erreurs de transmission, bien que la redondance ne soit appliquée qu'au sous- ensemble E. Le codage différentiel a donc pu introduire une protection spécifique pour certains bits de la trame, sans diminuer le rendement global du codage canal. La correction du signe des données de vraisemblance rn, rf(n) associées aux bits cn du sous-ensemble redondant E peut être accompagnée par une modification des fiabilités de ces données. Par exemple, si les cn désignent les premières estimations respectives des bits cn du sous- ensemble redondant et, si les c'n désignent ces mêmes estimations après la correction effectuée sur la base de la redondance présente dans le sous-ensemble E (avec c'n=cn=O ou 1 en l'absence d'erreurs), il est possible de transformer les données de vraisemblance rn selon les relations: r'n= [rn+rf (n) À (1-2c n)]// (5) et r'f (n)=r'n. (1-2c n) (6) Ces relations (5) et (6) opèrent la modification de A signe nécessaire lorsque sgn(cn)0l-2c'n. Elles ajustent en outre les fiabilités Ir'nI et Ir'f(n) 1, avec Ir'nI=Ir'f(n) 1, ce qui présente un intérêt lorsque les traitements appliqués aux données de vraisemblance impliquent des processus de décision douce. Ainsi, si une donnée de vraisemblance (par exemple rn) dont le signe a été modifié était initialement relativement fiable ( Irn relativement importante), la valeur absolue de l'autre donnée de vraisemblance est généralement assez proche (Irf(n) > IrnI), et les relations (5) et (6) produisent des fiabilités Ir'nI et Irf(n) I relativement faibles, ce qui rend compte du fait que la probabilité pour que la modification du signe soit a priori justifiée n'est que peu supérieure à 50%. Si en revanche le signe de rn est à modifier alors que Irn" processus de correction ne révèle pas d'erreur. Comme indiqué précédemment, les bits du sous-ensemble E peuvent être des bits connus du récepteur tels que des bits de synchronisation. Les bits de synchronisation apparaissent dans chacune des trames successives, de sorte qu'une erreur affectant l'un de ces bits de synchronisation connus peut être rectifiée, par exemple grâce au fait que la synchronisation est déjà en partie réalisée par l'analyse des trames précédentes. La formation de la seconde trame T2 par le dispositif émetteur inclut alors l'adjonction à la trame T1 des bits de synchronisation et leur répartition parmi les bits de la trame T1. Si un entrelacement des bits de la trame T1 est nécessaire, il peut être effectué avant l'adjonction des bits de synchronisation. La redondance présente dans le sous-ensemble E peut également découler d'un codage correcteur d'erreurs mis en oeuvre lors de la formation de la trame T2 à partir de la trame T1. Ainsi, dans l'exemple illustré sur la figure 2, le sous-ensemble E des bits de rang pair de la trame T2 se compose de L=5 bits qui dépendent seulement de M=3 bits de la trame T1 des bits d'information à transmettre. Dans cet exemple, la trame Tl se compose de K=8 bits d'information dont une classe CLl={a0, a1, a2} est codée avec redondance dans le sous-ensemble E. La trame T1 comporte une seconde classe CL2 constituée des M'=5 autres bits a3 à a7 qui sont reproduits sans redondance dans le sous-ensemble E' (L'=M'). On observera toutefois que le sous-ensemble E' pourrait également comporter une certaine redondance (c'est-à-dire L'>M'). Dans l'exemple représenté sur la figure 2, la formation de la trame T2 à partir de la trame T1 s'effectue en deux étapes. La première étape consiste à adjoindre deux bits de redondance aux bits de la classe CL1 (de manière systématique ou non systématique) pour établir le sous- ensemble redondant E au début d'une trame Tl' de N=10 bits bn. Les cinq autres bits de la trame Tl' sont les bits de classe CL2 décalés de deux positions. Si le codage différentiel illustré sur la figure 1 était simplement appliqué à la trame Tl', seul le bit b5 du sous-ensemble E' bénéficierait d'une certaine protection (par le biais du bit d4). Pour optimiser les capacités de correction, on applique aux bits de la trame Tl' une permutation appropriée pour établir l'alternance désirée entre les bits des sous- ensembles E et E' Dans l'exemple représenté sur la figure 2, cette permutation est Cn=bperm(n) avec perm(n)=n/2 si n est pair et perm(n)=(n+ 9)/2 si n est impair (05ns9). La trame T2 ainsi obtenue peut alors être codée différentiellement de la même manière que sur la figure 1 pour obtenir la trame T3. Si un entrelacement des bits est nécessaire, par exemple pour tenir compte d'un canal de Rayleigh, cet entrelacement peut être effectué lors du passage de la trame Tl' à la trame T2. En effet, un entrelacement n'est rien d'autre qu'une permutation de bits. L'entrelacement produit un certain mélange entre les bits, mais a priori ce mélange ne suffit pas à assurer l'alternance entre les bits des sous- ensembles E et E' dont on a besoin pour optimiser les capacités de correction. Ainsi, la permutation définie par un entrelacement classique devra être retouchée localement pour bien distribuer les bits des sousensembles E et E' sans réintroduire de corrélations entre les probabilités d'erreurs sur des bits voisins. Dans un cas o l'entrelacement s'étend sur plusieurs trames Tl', la trame T2 s'entend comme étant le segment de la séquence binaire entrelacée qui inclut tous les bits d'une trame Tl'. Les trames T2 successives peuvent notamment présenter des recouvrements mutuels si un entrelacement diagonal est utilisé. On observera que la trame T2 pourrait ne pas être produite sous forme explicite au niveau du codeur. Ainsi, le codage différentiel pourrait être réalisé directement à partir de la trame Tl' selon dn=bperm(n) df(n) o perm est la permutation précitée sur les entiers 0 à N-1 (c'est-à-dire assurant l'alternance entre les bits des sous-ensembles E et E' et le cas échéant un entrelacement). Dans les cas particuliers des figures 1 et 2, la fonction f utilisée dans le codage différentiel est la fonction f(n)=n-l. Cette fonction convient lorsque le nombre L de bits du sous-ensemble redondant E est au moins égal à la moitié de la longueur N des trames T2 et T3, pourvu qu'on adopte une structure appropriée de la trame T2 (ou une permutation perm adéquate). Chacun des bits de la trame T2 appartient alors soit au sous-ensemble redondant E, soit au sous-ensemble E'. Mais si L protection différents. On note que l'ordre dans lequel sont émis les bits dn de la trame T3 pourrait ne pas être l'ordre présent en sortie du codeur différentiel. La trame T3 pourrait ainsi être réordonnée avant l'émission pour former une trame d'émission T4=(eo,el,....eN_ 1) avec eperm, (n) =dn pour On par le dispositif récepteur à l'égard des bits e0, el,.... eNl, les données de vraisemblance r0, rl,.... rN_1 correspondant aux bits d0, dl,.... dN_1 de la trame T3, utilisées pour le décodage différentiel, sont données par rn=Sperm,(n) De façon générale, on peut visualiser le processus de codage différentiel comme un graphe faisant correspondre deux bits distincts de la trame émise T4 à chaque bit d'une trame Tl' présentant de la redondance, ce graphe ne comportant aucune boucle fermée. Par exemple, la transformation Tl'- T4 représentée sur la figure 4 peut se décomposer en eperm (n)=dn avec dn=bperm(n)e df(n) o perm, perm' et f sont données par le tableau I, comme le montre la figure 5. On note que l'exemple illustratif des figures 4 et 5 n'est pas optimal parce que E'''0. En outre, le bit b2 sera sensible à une inversion (non corrigible) du vecteur d'onde survenant entre les bits e0 et e5. En règle générale, on n'a pas intérêt à ce que deux bits trop éloignés de la trame émise codent un bit de la trame Tl' ou T2 lorsque le problème de l'inversion du vecteur d'onde peut se poser. - --- n 0 1 2 3 4 5 6 perm(n)> 0 1 2 3 5 4 6 perm'(n) 0 1 5 2 4 3 6 f(n) -1 0 0 1 2 4 2 TABLEAU I On note encore que le procédé selon l'invention est parfaitement compatible avec les procédés d'embrouillage classiquement utilisés dans les communications radio. L'embrouillage consiste à inverser certains des bits afin d'obtenir une répartition quasi-aléatoire des 0 et des 1 à l'émission. Ceci est réalisé en soumettant la séquence des bits à émettre à une opération OU exclusif avec une séquence binaire dans laquelle les bits à 1 indiquant les positions des bits à inverser, la même opération étant réalisée par le récepteur pour désembrouiller. Dans le cadre de l'invention, un embrouillage peut être effectué avant le codage différentiel (lors de la formation de la trame T2) ou après le codage différentiel (lors du passage de la trame T3 à la trame T4). Chaque bit ej de la trame émise T4 doit être représentatif d'un bit dn de la trame T3, avec éventuellement jon et éventuellement des inversions en des positions connues de l'émetteur et du récepteur. Dans les exemples décrits en référence aux figures 1 à 5, la trame T2 inclut un seul sous-ensemble redondant E procurant une protection que le codage différentiel permet d'étendre dans une certaine mesure à d'autres bits de la trame T2. L'invention permet néanmoins de prévoir un nombre Q plus grand que 1 de tels sous-ensembles redondants E1, EQ. Chaque sous-ensemble Eq (lq5Q) se compose de Lq bits dépendant de Mq bits de la trame Tl, avec 0OMq figure 6 illustre ainsi un cas o sont prévus Q=2 sous- ensembles redondants El={cO0,c3,c6,c9} et E2=(cl,c4,c7} dans une trame T2 de longueur N=10. La correction des données de vraisemblance rn peut alors être un processus à Q étages (ou moins), chaque étage comportant, pour l'un des ensembles Eq: - le calcul de premières estimations cn des bits de Eq en fonction du signe de rn.rf(n) (et éventuellement de Irni et Irf(n)); - la détection de celles des premières estimations A cn des bits de Eq qui sont erronées, en exploitant la redondance présente dans Eq pour corriger d'éventuelles erreurs dans les premières estimations cn; et - l'inversion du signe de chaque donnée de vraisemblance rn telle que cn a été détectée comme erronée et Irnl telle que cn a été détectée comme erronée et Irf(n) I Dans l'exemple de la figure 6, le premier étage relatif au sous-ensemble E1 permet de corriger les données r0, r2, r3, r5, r6, r8 et r9. Supposons par exemple que le code redondant utilisé pour obtenir les bits du sous-ensemble E2 permette la correction d'une erreur seulement. Supposons également que les signes des données r4 et r6 soient erronées à la réception. La donnée r6 pourra être corrigée lors du premier étage de correction et la donnée r4 lors du second étage de correction, alors qu'une telle correction double n'aurait pas été possible si on avait cherché à décoder le sous-ensemble E2 dès le premier étage. L'invention permet dans ce cas d'améliorer les capacités de correction attachées au(x) sous-ensemble(s) Eq avec q>l. La protection des bits du sous-ensemble E'=(c2,c5,c8} s'en trouve également renforcée. On va maintenant illustrer l'invention par un exemple particulier d'une liaison radio permettant la transmission de données et de phonie entre un émetteur et un récepteur. La longueur des trames transmises est de 160 bits dont 8 bits de synchronisation dans cet exemple. Les figures 7 et 8 sont des schémas synoptiques des dispositifs émetteur et récepteur utilisés. Le dispositif émetteur comprend un codeur audio 10 délivrant des trames de phonie Tl de K(P)=120 bits (P). a11), parmi lesquels les M(P)=20 premiers a0(P),..., a19(P) sont affectés à une classe de protection CL1(P), les M'-(P)=52 suivants a20(P),... a71(P) sont affectés à une classe de protection CL2(P), et les MI' (P)=48 derniers a72(P)..., all9(P) sont affectés à une classe de protection CL3(P). Les classes CL1(P), CL2(P) et CL3(P) correspondent à des niveaux de protection décroissants. Le dispositif émetteur comprend d'autre part une source de données 12 délivrant des trames de données de K(D)=66 bits (D) (D) D a0D.... a65(, parmi lesquels les M =D)=23 premiers a0(D),.... a22(D) sont affectés à une classe de protection CL1(D) et les M. (D)=23 suivants a23 (D). , a45 (D) sont affectés à une classe de protection CL2 correspondent à des niveaux de protection décroissants. Un module 14 opère une discrimination phonie/données et introduit un mot de redondance cyclique (CRC) à des fins de détection d'erreurs. Pour une trame de phonie issue du codeur 10, le module 14 définit des bits a'i (2 le polynôme a'0Z23 + a'1Z22 +.. + a'22Z + a'23 soit multi- ple de 1+Z+Z3; * a'-2 = a'_1 = a'24 = a'25 = 0 pour l'initialisation du codage convolutionnel. Pour une trame de données issue de la source 12, le module 14 définit des bits a'i (-2si pour l'initialisation des codages convolutionnels. Le module 14 est suivi par un module 16 qui effectue le codage à redondance, qui est un codage convolutionnel CC(2,1,3) dans l'exemple considéré. Le module 16 définit une trame Ti' de N=152 bits b0, b1,.. ., b151, les bits b0 à b51 étant donnés par: b2i = a'i e ai1 a 'i_ a 2 pour 0Oi 35. b2j+53 = a"j e a"j_2 pour 0 En sortie du module de codage convolutionnel 16, les bits b0 à b51 constituent le sous-ensemble redondant appelé E précédemment (L=52) et représentent les bits de la classe CL1(P) ou CL1(D) de la trame d'origine. Les bits b seront réordonnés avant le codage différentiel afin que les bits b52 à b103 dépendant des bits de la classe CL2(p) ou CL2(D) constituent le sous-ensemble appelé E' (L'=L=52). Les bits b104 à b151 constituent le sous-ensemble appelé E"(L"=48). Ces bits de E" dépendent des M"(P)=Lw bits de la classe CL3(P) dans le cas des trames de phonie. Le module 16 est suivi par un module 18 qui assure un entrelacement pour uniformiser les probabilités d'erreur dues au fading. Dans l'exemple considéré ici, l'entrelacement effectué par le module 18 assure en outre la distribution des bits permettant de maximiser le cardinal L' du sousensemble E'. L'entrelacement consiste à réaliserb' n=btab_entr(n) pour n1l51 o tab_entr(n) désigne la (n+l)-ième valeur d'une table d'entrelacement adaptée telle que par exemple: tab_entr = [55 0 56 8 64 16 112 72 24 120 80 32 128 88 40 136 96 48 144 60 4 108 68 12 116 76 20 124 84 28 132 92 36 100 44 148 52 2 106 58 10 114 66 18 122 74 26 130 82 34 138 9Q0 42 146 98 50 110 62 6 118 70 14 126 78 22 134 86 30 142 94 38 150 102 46 105 54 1 57 9 65 17 113 73 25 121 81 33 129 89 41 137 97 49 145 61 5 109 69 13 117 77 21 125 85 29 133 93 37 141 101 45 149 53 3 107 59 11 115 67 19 123 75 27 131 83 35 139 91 43 147 99 51 111 63 7 119 71 15 127 79 23 87 31 143 95 39 151 103 47 104] Dans la table tab_entr ci-dessus, les chiffres gras indiquent les bits du sous-ensemble redondant E et les chiffres soulignés indiquent les bits du sous-ensemble E', les autres chiffres indiquant les bits du sous-ensemble E". Un module 20 embrouille les bits b'n délivrés par le module d'entrelacement 18 et y ajoute les 8 bits de synchronisation. L'embrouillage utilise par exemple une séquence S(k) de période 127 définie par S(k)=0 pour 0Oke6 et S(k)=S(k-l) À S(k-7) pour 7gk sont fixes, par exemple 01100010. Le codage différentiel est effectué par un module 22. Les bits de synchronisation ne sont pas codés différentiellement: di=ci pour -8eiS-l. Le bit dl=cl=0 sert alors de bit d'initialisation pour le codage différentiel. L'expression du codage différentiel dans l'exemple considéré est dn= cn a df(n) avec f(n)=n-l- tab_dif(n) o tab_dif est une table binaire construite pour obtenir la distribution souhaitée des bits des sous-ensembles E, E' et E": tab_dif=[0000000100100100100100100100100100100100100100100 100100100100100100100100100100100100100100100] La séquence composée des 8 bits de synchronisation d_8,....d_l et des N=152 bits de la trame T3 do,...,d151 est adressée à un étage de modulation 24 qui produit le signal radio SE émis au moyen de l'antenne 26. La modulation utilisée est de type GMSK ("Gaussian Minimum Shift Keying") dans l'exemple considéré. La figure 8 montre un dispositif récepteur associé au dispositif émetteur de la figure 7. Le signal radio SR reçu sur l'antenne 30 est d'abord démodulé par un étage 32. L'étage de démodulation 32 opère notamment la synchronisation des trames au moyen des 8 bits de synchronisation. L'étage de démodulation 32 produit les données de vraisemblance r_8,...,.r_l,rrl,...rl5l associées aux bits d-8,....dl,do, dl,..., d151À Un module 34 effectue le décodage différentiel. Dans l'exemple considéré, il s'agit d'un décodage à décision dure: cn=[l-sgn(rn.rf(n)]/2 pour 09n151, avec la fonction f précédemment définie. Les cn (0 nl151) sont des premières estimations des bits cn de la trame T2. Le désembrouillage est effectué par un module 36 selon: bn= cn o S(emb+n) pour 05n151. Le désentrelacement est effectué par un module 38 selon btabentr(n)= b'n pour On:151. Un décodeur correcteur d'erreurs 40 décode les L=52 estimations b0, b1... .b51 des bits b0, b1,.... b51 relevant du sous-ensemble redondant E. Ce décodage est par exemple réalisé selon l'algorithme de Viterbi à décisions dures. On obtient ainsi des estimations a' des bits a'i pour 0:is23. Un module désigné par la référence 42 sur la figure 8 effectue ensuite la correction (éventuelle) des données de vraisemblance rn. Le module 42 recode d'abord les bits a'0...,a'23 selon le code convolutionnel CC(2,1,3) utilisé par le codeur 16 du dispositif émetteur, avec a'2= al= a' ' 0 a'24=a'25=0: B2i = a'i a' il * a'i-2 pour 09is25; B2i+l = a'i e a'i-2 pour 0Oie25. Les bits Bn (05nS51) constituent les estimations corrigées des bits bn relevant du sous-ensemble redondant E. On note que les Bn (0 ne51) pourraient également être produits directement par le treillis de Viterbi utilisé par le décodeur 40. Le module 42 détecte ensuite les bits du sous-ensemble redondant E dont les premières estimations sont erronées. Il s'agit des bits ctabentr(n) tels que 05ns51 et bn 0 Bn. Pour chaque bit cm du sous-ensemble redondant E dont la première estimation a été détectée comme erronée, le module 42 inverse le signe de celle des deux données rm, rf(m) qui a la plus petite valeur absolue. A partir des premières estimations bn fournies à l'entrée du décodeur 40 et des estimations corrigées correspondantes Bn, le module 42 peut ainsi exécuter les instructions suivantes: Pour n = O à 51, A A Si bn # Bn m = tabentr(n) m'= m-l -tab_dif (m) Si IrmllrmI rm, = -rm, Sinon rm = -rm Fin Si Fin Si Fin Pour Si le décodeur convolutionnel fonctionnait sur la base de décisions douces, le module 42 utiliserait avantageu- sement les relations (5) et (6) précédemment évoquées pour modifier les valeurs absolues et, le cas échéant, les signes des données de vraisemblance rn associées aux bits du sous- ensemble redondant E. Ceci pourrait être effectué en exécutant les instructions suivantes (étant noté que A A c tabentr(n)=BnOS(emb+tab-entr(n))): Pour n = O à 51, m = tab_entr(n) m'= m-l-tab_dif (m) A s=1-2 [BneS(emb+m)] rm= (rm+S rm,)//7 rm =s. rm Fin Pour Si au moins une donnée de vraisemblance rn a été corrigée par le module 42, on procède de nouveau à un décodagedifférentiel (cn=[l-sgn(rn.rf(n))]/2 pour O0nl151), à un désembrouillage (b'n= cn ( S(emb,n) pour 0On A A un désentrelacement (btabentr(n)= b'n pour OSn 34, 36, 38 mais opérant sur les données rn corrigées. La suite des opérations effectuées par le dispositif récepteur dépend de la nature de la trame considérée (phonie ou données). Un module 50 effectue cette discrimination sur A la base du bit a0 fourni par le décodeur 40. Dans le cas d'une trame de phonie (a'0=0), un module 52 contrôle la validité des bits de CRC a'21, a'22 et a'23 23 ^ 2^ en vérifiant que le polynôme a'oZ +...+ a'22 + a'23 est bien multiple de l+Z+Z3. En cas d'erreur, la trame est indiquée comme étant fausse au décodeur audio 54. Sinon, le décodeur audio 54 reçoit les K(P)=120 estimations t' t' (p) P de l ao,....,1l9 des bits d'information a0o(P),.. a19(P) de la trame T1, données par: ai = a'i+1 pour 0OiSl9; et ai = bi+32 pour 20si1ll9, les bi+32 étant ceux fournis par le module 38 ou, si au moins une donnée rn a été corrigée, par le module 48. Dans le cas d'une trame de données (a'0=l), un déco- dage correcteur d'erreurs est appliqué aux bits b52,....b15l (fournis par le module 38 ou, si au moins une donnée rn a été corrigée, par le module 48) par un décodeur 56 fonctionnant également selon l'algorithme de Viterbi. On obtient ainsi des estimations a" des bits a"j pour 0sjs47. Un module 58 con- trôle la validité des bits de CRC a"43...a"47 en vérifiant 71 48+ 047+ que le polynôme a'0Z71+...+a'23Z48+ 0z47+...+a"47 est bien multiple de l+Z2+Z5. En cas d'erreur, la trame est indiquée comme étant fausse au module 60 de traitement de données. Sinon, le module 60 de traitement de données reçoit les K(D)=66 estimations a0,...,a65 des bits d'information a0(D),...,a65 (D) de la trame Tl, données par: ai= a i+1 pour 0sis22; et ai= ai23 pour 23i65. *ai= a i-23 pour 23sis65. REVENDICATIONS 1. Procédé pour transmettre une première séquence (T1) de bits d'information, caractérisé par les étapes suivantes exécutées par un dispositif émetteur: - formation d'une seconde séquence de bits (T2) présentant de la redondance à partir de la première séquence, de façon que la seconde séquence inclue au moins un sous- ensemble redondant (E) constitué de L bits qui représentent M bits de la première séquence avec O0M de la seconde séquence (T2). 2. Procédé selon la revendication 1, caractérisé en ce que le sousensemble redondant (E) se compose de L bits produits par un codage correcteur d'erreurs à partir de M bits de la première séquence (T1), avec M21. 3. Procédé selon la revendication 1, caractérisé en ce que le sousensemble redondant (E) se compose de L bits connus du dispositif récepteur. 4. Procédé selon l'une quelconque des revendications 1 à 3, caractérisé en ce que la structure de la seconde séquence (T2) et la fonction f sont choisies de façon à maximiser le nombre L', au plus égal à L, de bits cn, de la seconde séquence n'appartenant pas au sousensemble redondant (E) tels qu'il y ait deux bits cnl et cn2 du sousensemble redondant avec n'=f(nl) et f(n')=n2 ou f(n2). 5. Procédé selon l'une quelconque des revendications 1 à 4, caractérisé en ce que la seconde séquence (T2) inclut un nombre Q plus grand que 1 de sous-ensembles redondants E1,..., EQ, le sousensemble redondant Eq étant constitué de Lq bits qui représentent Mq bits de la première séquence (T1) avec 0OMq 6. Procédé selon la revendication 5, caractérisé en ce qu'avant d'obtenir lesdites secondes estimations des bits de la seconde séquence (T2), le dispositif récepteur exécute la succession des étapes suivantes pour plusieurs des sous- ensembles redondants Eq: - calcul de premières estimations respectives (cn) des bits du sous-ensemble redondant Eq, chaque première estimation d'un bit cn du sous-ensemble Eq dépendant du signe de rn. rf(n); détection des bits du sous-ensemble redondant Eq ayant des premières estimations erronées en raison d'erreurs résultant du canal de transmission, en exploitant la redondance présente dans le sous-ensemble Eq; - pour chaque bit cn du sous-ensemble redondant Eq A dont la première estimation (cn) a été détectée comme erronée, modification du signe de celle des deux données de vraisemblance rn et rf(n) qui a la plus petite valeur absolue. 7. Procédé selon l'une quelconque des revendications 1 à 6, caractérisé en ce que après avoir calculé les premières estimations (cn) des bits du sous-ensemble redondant (E), le dispositif récepteur modifie, pour chaque bit cn du sous-ensemble redondant, les données de vraisemblance rn et rf(n) en fonction d'une estimation corrigée (c'n) du bit cn obtenue à partir des premières estimations en exploitant la redondance présente dans le sous-ensemble redondant (E), ladite modification affectant les valeurs absolues des données de vraisemblance rn et rf(n) et, lorsque l'estimation corrigée (c' n) du bit cn du sous- ensemble redondant (E) n'est pas en conformité avec ladite A première estimation (cn) du bit cn, le signe de celle des deux données de vraisemblance rn et rf(n) qui a la plus petite valeur absolue. 8. Procédé selon la revendication 7, caractérisé en ce qu'après modification des données de vraisemblance rn et rf(n) associées à un bit cn du sous-ensemble redondant (E), ces deux données de vraisemblance rn et rf(n) ont la même valeur absolue. 9. Procédé selon la revendication 8, caractérisé en ce que ladite modification des données de vraisemblance rn et rf(n) associées à un bit cn du sous-ensemble redondant (E) est de la forme: r'n= [rn+rf (n). (12c'n)]/2 et r'f (n)=r'n (1-2c n o r'n et r'f(n) désignent les données de vraisemblance rn et rf(n) après modification et c'n désigne l'estimation corrigée, telle que c n=0 ou 1, du bit cn du sous-ensemble redondant. 10. Procédé de codage d'une première séquence (T1) de bits d'information, dans lequel on prévoit au moins une première classe de protection (CL1) pour M bits de la première séquence et une seconde classe de protection (CL2) pour M bits de la première séquence, M et M désignant deux entiers au moins égaux à 1, caractérisé en ce que: - on forme une seconde séquence de bits (T2) présentant de la redondance à partir de la première séquence, de façon que la seconde séquence inclue au moins un premier sous-ensemble redondant (E) constitué de L bits qui représentent les M bits de la première classe de la première séquence avec M f(n')=n ou f(n). 11. Procédé selon la revendication 10, caractérisé en ce que le nombre L' de bits du second sous-ensemble (E') de la seconde séquence (T2) est au plus égal au nombre L de bits du premier sous-ensemble (E) de la seconde séquence, et en ce que la structure de la seconde séquence (T2) et la fonction f sont choisies de façon que pour chaque bit cn, appartenant au second sous-ensemble (E') de la seconde séquence, il y ait deux bits cnl et cn2 appartenant au premier sous-ensemble (E) de la seconde séquence tels que n'=f(nl) et f(n')=n2 ou f(n2). 12. Procédé selon la revendication 11, caractérisé en ce qu'on prévoit une troisième classe de protection (CL3) pour M'' bits de la première séquence (T1), M' ' désignant un entier au moins égal à 1, en ce que la seconde séquence inclut un troisième sous-ensemble (E") constitué de L" bits qui dépendent des M" bits de la troisième classe de la première séquence, et en ce que la structure de la seconde séquence (T2) et la fonction f sont choisies de façon que pour chaque bit cn. appartenant au troisième sous-ensemble (E") de la seconde séquence, il y ait un seul bit cn appartenant au premier sous-ensemble (E) de la seconde séquence tel que n"=f(n) ou f(n")=n ou f(n). 13. Procédé de correction d'une séquence de données de vraisemblance rn obtenues à partir d'un signal reçu d'un dispositif émetteur par l'intermédiaire d'un canal de transmission, le signe de chaque donnée de vraisemblance rn représentant une estimation, de fiabilité croissante avec la valeur absolue de rn, de la valeur d'un bit respectif dn d'une séquence codée de bits (T3) résultant d'un codage différentiel d'une seconde séquence de bits (T2) par le dispositif émetteur, la seconde séquence de bits incluant au moins un sous-ensemble redondant (E) constitué de L bits qui représentent M bits d'information à communiquer avec 0OM valeur absolue. 16. Procédé selon la revendication 15, caractérisé en ce que ladite modification des données de vraisemblance rn et rf(n) associées à un bit cn du sous-ensemble redondant (E) est de la forme: r'n=[rn+rf(n)- (1- 2c n)]/2 et r'f(n) =r'n. (1-2C 'n) o r'n et r'f(n) désignent les données de vraisemblance rn et rf(n) après modification et c' n désigne l'estimation corrigée, telle que c' n=O ou 1, du bit cn du sous-ensemble redondant.