Brevet FR2639781A1 — publié le 19900601

PROCEDE D'ENTRELACEMENT POUR DISPOSITIF DE TRANSMISSION NUMERIQUE La présente invention se rapporte à un procédé d'entrelacement pseudoaléatoire apte à être utilisé pour la transmission numérique d'informations. En transmission numérique, il est courant de procé- der, avant de les émettre, à un entrelacement des symboles afin de lutter contre les "paquets" d'erreurs. Dans le train reçu en effet, s'il est aisé de corriger les erreurs isolées grâce au codage correcteur d'erreurs, en revanche cette cor- rection n'est plus possible si ces erreurs arrivent "en pa- quet", c'est à dire sous la forme d'un relativement grand nombre d'erreurs successives car, dans un tel cas, la capa- cité de correction du code est dépassée. Pour palier à cet inconvénient, il est connu, lorsque les informations émises sont codées au moyen d'un code correcteur d'erreurs, d'en- trelacer, après le codage, les symboles pour éviter qu'un paquet d'erreurs ne vienne masquer plusieurs mots entiers. Ainsi, grâce à l'entrelacement, les symboles d'un même mot ne sont pas regroupés, mais ils sont répartis sur les mots successifs qui sont effectivement émis, de façon qu'un paquet d'erreurs ne puisse masquer tous les symboles d'un même mot d'origine (mot codé avant entrelacement). Bien entendu, les symboles ainsi émis sont désentrelacés à la réception, et ils sont alors remis à leur bonne place dans le mot. Si seulement quelques symboles isolés sont erronés, le code correcteur d'erreurs restitue le mot exact. Un mode particulièrement simple d'entrelacement con- nu est par exemple l'entrelacement matriciel, pour lequel les symboles sont entrelacés suivant une certaine loi, et de manière répétitive. Si chaque mot contient N symboles suc- cessifs, on peut convenir de constituer le premier mot ef- fectivement émis par la suite des premiers symboles des N premiers mots d'origine (c'est-à-dire après codage de cor- rection d'erreurs), puis de constituer le deuxième mot ef- fectivement émis par la suite des deuxièmes symboles de ces N premiers mots,puis le troisième mot par la suite des troi- sièmes symboles de ces N premiers mots, et ainsi de suite. - 2 - Ce mode d'entrelacement est efficace pour lutter contre les paquets d'erreurs accidentelles, c'est à dire ne provenant pas d'un brouillage volontairement effectué par un ennemi, en revanche sa répétitivité le rend facilement atta- quable en cas de guerre électronique, et donc totalement inefficace dans un tel cas. Pour lutter contre les brouillages pouvant être effectués en cas de guerre électronique, il est connu de faire appel à un procédé d'entrelacement pseudo-aléatoire. Dans un tel cas, les symboles ne sont pas entrelacés de manière répétitive, mais ils le sont d'une manière pseudo- aléatoire, de façon que personne ne puisse savoir, sans avoir connaissance de la loi d'entrelacement pseudo- aléatoire, ou se trouvent, dans le message reçu, les dif- férents symboles d'un même mot d'origine. La qualité d'un entrelacement, pseudo-aléatoire ou non, est mesurée par la distance minimale Lm, après entre- lacement, de deux symboles initialement consécutifs d'un même mot codé. Pour un code corrigeant t erreurs et une longueur estimée de brouillage de Lc, il faut: Lm > Lc/t. Un procédé connu d'entrelacement pseudo-aléatoire consiste à écrire séquentiellement dans un vecteur de taille M, et à lire successivement les symboles aux adresses: Xn = (Xo + n.p) MOD M, o p est un nombre premier avec M. On change p et Xo à chaque vecteur transmis. Pour les meil- leures valeurs de p que l'on puisse trouver, la séparation entre deux symboles du même mot est deux fois inférieure, à retard et taille des mémoires-tampon égaux, à la séparation d'un entrelaceur matriciel. Un autre inconvénient de ce procédé connu est qu'il n'aboutit pas à un entrelacement réellement pseudo-aléatoire. L'art antérieur propose aussi un entrelaceur pseudo- aléatoire composé d'un entrelaceur convolutionnel suivi d'un permuteur de longueur L. Les permutations s'effectuent en écrivant L symboles dans un vecteur, puis en les lisant sui- vant une suite d'adresses pseudo-aléatoires. Par rapport à -3l'entrelaceur matriciel, pour un entrelacement équivalent (c'est-à-dire de même distance minimale entre deux symboles initialement consécutifs dans le train d'origine), cet entrelaceur connu a pour inconvénient de nécessiter une mémoire-tampon deux fois plus importante. En outre, cet entrelaceur n'est pas dépourvu de périodicité. En effet, si l'on considère un symbole d'un mot donné, par exemple un mot de verrouillage de trame, la position de celui-ci dans le train binaire du canal est comprise dans une fenêtre de L bits: il est donc relativement facile pour l'ennemi de le détruire. L'invention vise à remédier à ces inconvénients et, d'une manière générale, à obtenir un entrelacement de bonne qualité (grande distance après entrelacement entre les dif- férents symboles d'un même mot d'origine), réellement pseudo-aléatoire, utilisant des mémoires-tampon de taille réduite, et ne nécessitant pas un délai de restitution trop grand pour des paramètres comparables. Ces résultats sont obtenus par un procédé d'entrelacement pseudo-aléatoire qui consiste, en utilisant un vecteur dont la taille Tv est au moins égale à la taille Tc d'un mot de code multipliée par la distance minimale Lm, ci-dessus définie, de l'entrelace- ment désiré, soit: Tv > Tc. Lm, à remplir initialement ce vecteur par la série Si1 des Tv premiers symboles de la suite des mots codés, puis, à chacune des adresses de ce vecteur données l'une après l'autre par une suite-pilote pseudo- aléatoire, à prélever, pour l'incorporer dans la suite-canal à émettre, le symbole qui s'y trouve, tout en le remplaçant aussitôt à cette même adresse par le symbole suivant, dans l'ordre des mots codés, de la série S2 des Tv symboles suivants, jusqu'à ce que tous les symboles de cette première série SI1 aient été l'un après l'autre prélevés et remplacés par tous les symboles de cette deuxième série S2, à recom- mencer ensuite ce processus en prélevant de la même manière, toujours d'une manière pseudo-aléatoire dictée par la suite - 4 - pilote, tous les symboles de cette deuxième série S2, tout en les remplacant au fur et à mesure dans ce vecteur par les symboles dans l'ordre de la troisième série S3 des Tv symbo- les codés suivants, et ainsi de suite jusqu'à incorporation dans cette suite-canal de l'ensemble des mots codés. La suite pilote est réalisée, de manière pseudo- aléatoire, en respectant les trois lois suivantes: I - une adresse du vecteur ne peut, au cours de l'émis- sion des symboles d'une série Sn et de leur rempla- cement concommitant dans ce vecteur par ceux d'une série Sn+l, être choisie plusieurs fois; II - lorsqu'une de ces adresses n a été choisie, on ne peut choisir, avant Lm fois, une adresse du vecteur o est inscrit, au moment du choix de cette adresse n. un autre symbole du même mot de code que celui qui contient le symbole se trouvant à cette adresse n au moment de son choix; III - en cas de blocage, c'est-à-dire si l'on ne peut choi- sir d'adresse sans violer une des deux lois précé- dentes, on choisit une adresse qui, même si elle viole la deuxième loi II, ne viole pas la première loi I. Du côté réception, le désentrelacement de la suite canal reçue est effectué en utilisant un autre vecteur de même taille Tv que celui utilisé du côté émission. Ce vec- teur est tout d'abord rempli, à ses adresses successives et dans l'ordre, par les Tv premiers symboles de cette suite canal. Ensuite de quoi, ce vecteur est, de la même façon que du côté émission, simultanément lu, et rempli par les sym- boles suivants de la suite canal, aux adresses successives qui sont données par une suite-pilote "inverse", déterminée de façon que les symboles qui sont ainsi lus l'un après l'autre le soient dans l'ordre initial des symboles avant entrelacement. De toute façon, l'invention sera bien comprise, et ses avantages et autres caractéristiques ressortiront., lors de la description suivante de deux exemples non limitatifs d'entrelacements réalisés au moyen de ce procédé. Pour les deux exemples qui vont être décrits main- tenant, il est admis que chaque mot de code est composé de deux symboles. La distance minimale Lm, après entrelacement, de deux symboles initialement consécutifs est, dans ces deux exemples, choisie égale à trois. Pour le premier exemple, il est fait choix d'un vecteur, ou registre, de taille Tv minimale soit: Tv = Tc. Lm = 2.3 = 6 La suite de symboles à émettre est, en sortie du dispositif de codage situé en amont, la suivante: a b c d e f g h i j k 1 mn o p q r s t u v w... Le registre est tout d'abord rempli, à ses six adresses: 1, 2, 3, 4, 5, 6, par les six premiers symboles à émettre: a b c d e f La première adresse de la suite pilote est prise au hasard parmi les six adresses du registre, par exemple: 4. En conséquence, le contenu de l'adresse 4, c'est-à- dire le symbole d, est émis et il constitue donc le premier symbole de la suite canal. Il est immédiatement remplacé par le premier symbole à émettre et faisant suite aux six pre- miers, donc par le symbole g. Le contenu du registre devient alors: a b c g e f. Conformément à la première loi I ci-dessus définie, le contenu de l'adresse 4 ne pourra maintenant plus être émis avant que toutes les autres adresses du registre aient été choisies. En outre, conformément à la deuxième loi II, l'autre symbole du même mot, c'est-à-dire le symbole c, ne pourra pas être émis avant deux coups, de façon à respecter l'intervalle minimum Lm ci-dessus défini, et égal à trois. En conséquence, l'adresse suivante de la suite pi- lote est prise au hasard parmi les quatre autres adresses disponibles 1, 2, 5, ou 6. Par exemple, l'adresse 6 est - 6 - choisie. Les deux premières adresses de la suite pilote sont donc: 4 6. Il s'ensuit que le symbole f (qui se trouve à l'adresse 6 dans le registre) est émis, et forme donc le deuxième symbole de la suite canal, tandis qu'il est rem- placé, & cette adresse 6 dans le registre, par le huitieme symbole à émettre, c'est-à-dire h. Le contenu du registre devient alors: a b c g e h. Compte tenu des deux lois I et II: - les adresses 4 et 6 ne peuvent plus être choisies tant que les quatre autres adresses restantes ne l'ont pas été; - l'adresse 5 ne peut pas être choisie avant deux coups; et - l'adresse 3 ne peut pas être choisie avant encore un coup. L'adresse suivante de la suite pilote ne peut être choisie au hasard qu'entre l'adresse 1 et l'adresse 2. Choisissons l'adresse 1: a est émis, et remplacé par i. Le contenu du registre devient: i b c g e h La première loi interdit de prendre comme nouvelle adresse 1, 4 ou 6. La seconde loi interdit de prendre l'adresse 2 pour encore deux coups, et l'adresse 5 pour encore un coup. On est donc obligé de prendre l'adresse 3, puis l'adresse 5, et enfin l'adresse 2, et l'on remarquera donc au passage qu'il n'existe plus de possibilité de choix pour ces trois dernières adresses. L'obtention des six premières adresses de la suite pilote, et de la suite canal qui en découle, est finalement résumée dans le tableau suivant: REGISTRE SUITE PILOTE SUITE CANAL ---- à___ a b c d e f 4 d a b c g e f 6 f a b c g e h 1 a i b c g e h 3 c i b j g e h 5 e ibjgkh 2 b il j gkh -7- Maintenant que les six adresses du registre ont tou- tes été choisies l'une après l'autre, elles redeviennent toutes disponibles. En prenant par exemple comme nouvelle première adresse l'adresse 3, le symbole j est émis et remplacé par le symbole m. Le symbole i ne peut pas être émis avant deux coups, de sorte que l'adresse 1 ne peut être choisie: le choix est possible entre les adresses 2, 4, 5 et 6. L'adresse 2 est par exemple choisie: 1 est émis, et remplacé par n. Les adresses 3 et 2 sont alors interdites par la première loi, tandis que l'adresse 1 l'est encore pour un coup et l'adresse 5 pour deux coups: le choix n'est possible qu'entre l'adresse 4 et l'adresse 6. L'adresse 4 est par exemple choisie, de sorte que g est émis et rem- placé par o. Il n'existe maintenant, pour les trois coups suivants, plus de choix possible: il faudra successivement prendre 1 (i est émis et remplacé par p), puis l'adresse 5 (k est émis et remplacé par q), et enfin l'adresse 6 (h est émis et remplacé par r). L'obtention des six adresses suivantes (de la sep- tième à la douzième) de la suite pilote, et de la suite canal qui en découle, est résumée dans le tableau suivant. REGISTRE SUITE PILOTE SUITE CANAL i 1 j g k h 3 j i 1 m g k h 2 1 i n m g k h 4 g i n m o k h 1 i p n m o k h 5 k p n m o q h 6 h p n m o q r La suite pilote débute donc ainsi: 4 6 1 3 5 2 3 2 4 1 5 6, et les douze premiers symboles envoyés le sont dans l'ordre suivant: d f a c e b j 1 g i k h. Il y a bien trois écarts (c'està-dire deux symboles) entre deux symboles initialement consécutifs d'un même mot codé initial (entre a et b, c et d, e et f, etc...). - 8 - A titre illustratif, l'obtention des dix huit pre- mières adresses de la suite pilote, et des dix huit premiers symboles de la suite canal qui en découlent, est résumee dans le tableau suivant: REGISTRE SUITE PILOTE SUITE CANAL ____________________________________________________________ a b c d e f 4 d a b c g e f 6 f a b c g e h i a i b c g e h 3 c ibjgeh 5 e ibjgkh 2 b i 1 j g k h 3 j i 1 m g k h 2 1 i n m g k h 4 g i n m o k h i i p n m o k h 5 k p n m o q h 6 h p n m o q r 5 q p n m o s r 2 n p t m o s r i p u t m o s r 6 r u tmosv 3 m utwosv 4 o u t w x s v et ainsi de suite... Du côté réception, la suite-pilote inverse, et par suite le désentrelacement, sont obtenus comme suit: L'obtention de cette suitepilote inverse s'obtient en remplissant un registre réception, de même taille (six symboles) que celui utilisé côté émission, par les six pre- miers symboles qui ont été émis selon la suite canal préci- tée. Ce registre réception est donc initialement rempli ainsi: d f a c e b - 9 - La première adresse de la suite pilote inverse est la place du plus "petit" élément alors contenu dans ce registre réception (par "plus petit élément", on entend le symbole qui a le plus petit numéro d'ordre dans la suite des symboles correspondant au codage initial, avant entrelace- ment à l'émission); a est ce plus petit élément, et il est à la troisième place dans ce registre: la suite-pilote in- verse commence donc par l'adresse 3. Le symbole a est alors remplacé par le symbole suivant de la suite canal: j Le registre réception est alors rempli ainsi: df j c eb Le plus petit élément, b, est à la sixième place, de sorte que la suite pilote inverse se poursuit par 6. Le registre devient alors: d f j c e 1 Et ainsi de suite, la suite pilote inverse étant la suivante: 3 6 4 1 5 2... et le registre réception prenant successivement les états: d f a c e b dfjceb dfjcel dfjgel ifjgel d f j c e 1 i f jg e 1 ifjgkl 1 i h jg k 1 La suite pilote inverse est donc obtenue, après avoir initialement rempli le registre réception avec les six premiers symboles successifs de la suite canal, en prenant à chaque fois l'adresse, dans ce registre, du plus petit sym- bole et en le remplaçant simultanément par le symbole sui- vant de la suite canal. - 10- Il est clair qu'inversement, si l'on est en posses- sion de cette suite pilote inverse et qu'on lit et remplit le registre réception (initialement rempli par les six pre- miers symboles de la suite canal) avec la suite canal reçue, on va retrouver les symboles dans leur ordre initial (avant l'entrelacement à l'émission). Pour le premier exemple qui vient d'être décrit, o: Tv = Tc. Lm, il convient de remarquer que la deuxième loi n'est jamais transgressée, c'est-à-dire que l'intervalle minimum Lm entre deux symboles initialement successifs d'un même mot codé initial est toujours respecté. En revanche, les possibilités de choix pour la suite pilote sont limités, puisqu'on a vu précédemment que pour chaque série de six opérations de lecture/écriture du registre d'émission, le choix n'est plus possible à partir de la quatrième opération. Pour créer plus d'imprévu, et donc plus de diffi- culté à l'attaque par un éventuel ennemi, il convient donc de choisir: Tv > Tc. Lm et c'est ce qui sera fait dans le deuxième exemple qui sera maintenant brièvement décrit, avec comme choix: Tv = 8, Te et Lm restant respectivement égaux à 2 et à 3, et la suite codée des symboles à émettre étant également la même. Le registre d'émission est donc initialement rempli ainsi: a b c d e f g h La première adresse de la suite pilote est par exemple l'adresse 3. Le symbole c est émis et remplacé par i. L'adresse 3 n'est plus disponible, tandis que l'adresse 4 ne l'est pas pendant les deux coups suivants. Le contenu du registre devient: abidefgh - il - Le choix suivant se porte par exemple sur 5: e est émis, remplacé par j. Les adresses 3 et 5 ne sont plus disponibles, l'adresse 4 ne l'est pas pendant le coup sui- vant, et l'adresse 6 pendant les deux coups suivants. Le contenu du registre est alors: a b i d j f g h Il reste quatre adresses possibles: 1, 2, 7 et 8. Choisissons 1: a est émis et remplacé par k. le registre devient: k a j d e i g h Les adresses 5,3 et 1 ne peuvent plus être choisies; 4 redevient disponible, 2 ne l'est pas pendant deux coups, et 6 pendant encore un coup. Il reste trois adresses possibles: 4, 7 et 8. On choisit 4; d est émis et remplacé par 1. Le registre devient: k a j 1 e i g h En continuant ainsi, on choisit ensuite l'adresse 6, puis l'adresse 2, puis l'adresse 7. On s'aperçoit alors que les sept premières adresses ne peuvent pas être choisies en vertu de la première loi, et que la huitième et dernière adresse ne peut pas l'être non plus en vertu de la deuxième loi. Il faut donc alors trans- gresser la deuxième loi en appliquant alors la troisième Loi III cidessus définie, pour pouvoir continuer et choisir en conséquence l'adresse 8 pour la suite pilote. Ceci est heu- reusement récupéré par le fait que le code correcteur d'er- reur utilisé est capable de corriger plusieurs erreurs. On constate finalement que, pour avoir plus d'imprévu qu'avec le vecteur de taille minimale: Tv = Tc. Lm, Il convient de prendre un vecteur Tv de taille légèrement supérieure à cette taille minimale. Dans un tel cas, on est parfois obligé d'appliquer la troisième loi, ce qui peut ne pas être grave si l'on utilise un code correc- teur d'erreurs capable de corriger plusieurs erreurs. - 1i - - 12 - Comme il va de soi, l'invention n'est pas limitée aux exemples de réalisation qui viennent d'être décrit. En particulier, d'autres procédés d'obtention de la suite pilo- te inverse peuvent être imaginés. - 13 - REVENDICATIONS 1 - Procédé d'entrelacement pseudo-aléatoire pour dispositif de transmission numérique d'informations, carac- térisée: en ce qu'il consiste, en utilisant un vecteur dont la taille (Tv) est au.moins égale à la taille (Tc) d'un mot de code multipliée par la distance minimale (Lm) souhaitée après entrelacement de deux symboles apparte- nant initialement à un même mot codé, à remplir initia- lement ce vecteur par la série Si des Tv premiers symboles (a b c d e f) de la suite (ab, cd, ef,...) des mots codés, puis, à chacune des adresses (1 à 6) de ce vecteur données l'une après l'autre par une suite-pilote pseudo- aléatoire (4 6 1 3 5 2...), à prélever, pour l'incorporer dans la suitecanal à émettre (d f a c e b...), le symbole qui s'y trouve, tout en le remplaçant aussitôt à cette même adresse par le symbole suivant, dans l'ordre des mots codés, de la série S2 des Tv symboles suivants (gh, ij, kl), jusqu'à ce que tous les symboles (a à f) de cette première série Sl aient été l'un après l'autre prélevés et remplacés par tous les symboles (g à 1) de cette deuxième série S2, à recommencer ensuite ce processus en prélevant de la même manière, toujours d'une manière pseudo- aléatoire dictée par ladite suite-pilote (.. 3 2 4 1 5 6..), tous les symboles (i 1 j g k h) de cette deuxième série S2, en les remplaçant au fur et à mesure dans ce vecteur par les symboles dans l'ordre de la troisième série S3 des Tv mots codés suivants (mn, op, qr), et ainsi de suite jusqu'à incorporation dans ladite suite-canal de l'ensemble des mots, en ce que cette suite-pilote est réalisée, de manière pseudoaléatoire, en respectant les trois lois suivantes: I - une adresse du vecteur ne peut, au cours de l'émis- sion des symboles d'une série Sn et de leur rempla- cement concommitant dans ce vecteur par ceux d'une série Sn+l, être choisie plusieurs fois, - 14 - II - lorsqu'une de ces adresses n a été choisie, on ne peut choisir, avant Lm fois, une adresse du vecteur o est inscrit, au moment du choix de cette adresse n, un autre symbole du même mode de code que celui qui contient le symbole se trouvant à cette adresse n au moment de son choix, III - en cas de blocage, c'est-à-dire si l'on ne peut -choisir d'adresse sans violer une des deux lois précédentes, on choisit une adresse qui, même si elle viole la deuxième loi II, ne viole pas la pre- mière loi I, et en ce que, du côté réception, le désentrelacement de la suite-canal reçue (d f a c e b...) est effectué en uti- lisant un autre vecteur de même taille (Tv) que celui utilisé du côté émission, ce vecteur étant tout d'abord rempli, à ses adresses successives (1 à 6) et dans l'ordre, par les Tv premiers symboles (d f a c e b) de cette suite-canal, ensuite de quoi ce vecteur est, de la même façon que du côté émission, simultanément lu et rem- pli par les symboles suivants (j 1 g i k h) de la suite- canal, aux adresses successives (3 6 4 1 5 2...) qui sont données par une suite-pilote inverse déterminée pour que les symboles (a b c d e f...) qui sont ainsi lus l'un après l'autre le soient dans l'ordre initial des symboles codés avant entrelacement. 2 - Procédé selon la revendication 1, caractérisé en ce que la suitepilote inverse est obtenue en choisissant à chaque fois l'adresse, dans ledit vecteur, du symbole qui a le plus petit numéro d'ordre dans la suite des symboles cor- respondant au codage initial.