Brevet FR2140265A1 — publié le 19730119

L'invention est du domaine des liaisons radiotéléphoniques à code d'appel sélectif. Elle concerne un mode spécial de transcodage d'un nombre effectué par un codeur secondaire agissant sur le résultat d'un codeur primaire qui transforme le nombre donné, par exemple, en décimal codé binaire en un code décimal codé binaire dont chaque bit est transformé en une séquence binaire particulière ou en son inverse en fonction de la valence du code primaire. L'application est soit dans l'établissement d'une liaison radio duplex entre un mobile appelant faisant partie d'un réseau et un mobile appelé faisant partie du même réseau, soit pour transmettre des signaux de télécommande. Pour répondre à certains impératifs de durée, de bande passante, de portée de la liaison, on a été amené à utiliser un code d'un format particulier, qui présente de nombreux avantages. Le principe du codage de l'invention est le suivant Le nombre donné, par exemple numéro d'appel, comportant n chiffres décimaux, est d'abord codé en "décimal codé binaire", ctest-à-dire que chaque chiffre décimal est codé individuellement par quatre bits de poids 1, 2, 4, 8 respectivement. Pour n chiffres décimaux, (par exemple n=7), on a donc après ce premier codage, dit primaire, 4n bits binaires, soit une succession de valences O et 1. On code alors chacune de ces valences soit par une séquence de bits se succédant selon une loi prédéterminée, toujours identique à elle-même, soit par la sequence complémentaire. Il est particulièrement avantageux de prendre comme série de p bits une chai- ne dite pseudo-aléatoire de longueur p. Il est connu qu'une chaîne pseudo-aléatoire s'obtint en particulier en introduisant à l'entrée d'un registre a décalage a q cases (2q - 1 = p) le signal de sortie d'un circuit "modulo 2" qui reçoit les signaux de sortie d'au moins deux des q cases, et en faisant avancer l'information indéfiniment dans le registre à décalage. Si on suppose qu'a l'origine, le registre a des 1 dans toutes les cases. Le coup de rang p + 1 (= 24) ramème des 1 partout, et la série recommence.Par exemple, on convient que chaque valence 1 du code primaire est transcodée par la chaîne pseudo-aléatoire définie ci-dessus, et la valence O est transcodée par la chaîne complémentaire terme a terme. Pour identifier le début du numéro à transmettre, on commence par transmettre un bit binaire unique, dit "bit de début de message", que l'on transcode sous forme d'une chaîne pseudo-aléatoire à r bits, avec 2s - 1 = r, obtenue en introduisant a l'entrée d'un registre à décalage a s cases le signal de sortie d'un circuit "modulo 2" qui reçoit les signaux de sortie d'au moins 2s cases. On prend r p, par exemple p - 7 (q = 3) et r = 31 (s - 5). Les avantages du transcodage de l'invention sont les suivants 1 Le degré d'autocorrélation très élevé de la chaîne pseudo-aléatoire fournit une excellente protection contre les erreurs et permet des corrections d'erreur, ainsi qu'on le montrera ci-dessous. 20 Le codage final ne comporte pas de composante continue car il y a toujours autant de O que de 1 (à une unite près) dans l'ensemble d'une chaîne pseudo-aléatoire, donc la nécessite de la correction de composante continue est éliminée. 30 Grâce à l'équipartition des O et des 1 dans la chaîne pseudo-aléatoire, on dispose à la réception d'un grand nombre de transitions, qui permettent de retrouver très vite l'horloge de synchronisation à la réception. Le décodage se fait très simplement, en recevant par exemple dans un registre à décalage, les q valences (ou les r valences) servant à transcoder un bit résultant du codage primaire, et en faisant la somme de toutes les valeurs du registre selon une modalité telle que, par exemple, pour une chaîne pseudoaléatoire à 31 valences, la somme obtenue donne 31. On va exposer l'invention sous une forme générale et sous deux formes particulières en se référant aux figures annexées, parmi lesquelles La figure 1 illustre la partie essentielle de l'invention sous forme symbolique La figure 2 présente un schéma de codeur complet La figure 3 est un schéma de décodeur correspondant ; La figure 4 est un graphique mettant en évidence une caractéristique du codage selon l'invention. FIGURE 1 - Un registre 10, par exemple à 7 cases, reçoit des informations préalablement codées en binaire par une opération de chargement symbolisée par les flèches 11. Les sorties des cases du registre 10 sont connectées aux plots d'un commutateur circulaire 12 muni d'un curseur 13 qui avance toujours dans le meme sens sous la commande d'un pas-à-pas 14 qui, de son côté, est excité par des "1" arrivant sur une borne d'entrée 15. Un générateur de chaîne pseudo-aléatoire 20 comporte un mécanisme générateur 21, qui sera précisé ci-dessous, un registre de sortie 22, par exemple registre à décalage. Des impulsions d'horloge H sont appliquées au mécanisme 21. Chaque valeur transcodée apparait à chaque temps d'horloge sur une borne de sortie 23. Un circuit ET 24 reçoit les valences de toutes les cases du registre 22. Lorsque toutes les cases présentent des 1, le circuit 24 applique un 1 à la borne 15 du pas-à-pas 14, et le curseur 13 avance d'un plot sur le commutateur 12. Le curseur 13 est relié à une borne d'entrée d'une porte ET 25 et à une borne d'inhibition d'une porte ET 26. La borne de sortie 23 du générateur de chaîne pseudo-aléatoire 20 est connectée à une deuxième borne d'entrée de la porte 25 et à une deuxième borne dtinhibition de la porte 26. Les sorties des portes 25 et 26 sont connectées aux entrées d'un circuit OU 27, dont la sortie 28 fournit le résultat du transcodage. Si le curseur 13 est relié à une valence 1, on recueille en 28 la chaîne pseudo-aléatoire ; s 'il est relié à une valence 0; on recueille le complément de la chaîne pseudo-aléatoire. FIGURE 2 - La figure 2 montre le schéma complet d'un codeur complet selon l'invention, réduit à ses organes essentiels. Un codeur complet de numéro d'appel comporte, en plus de l'ensemble de codage proprement dit, un deuxième ensemble de codage du bit de début de message. En effet, pour décoder avec sureté le numéro d'appel émis, le récepteur doit savoir exactement quand débute le message à décoder. La longueur de la chaîne pseudo-aléatoire adoptée dépend du nombre d'erreurs qu'on lui demande de pouvoir corriger et du degré de sécurité que l'on souhaite obtenir dans la définition de l'instant initial. Pour le numéro d'appel on a adopté une chaîne de longueur 7, à trois cases binaires (23 - 1 = 7). On montrera en se référant à la figure 3 qu'une telle chaîne permet de corriger deux erreurs. Pour le bit de début de message on a adopté une chaîne de longueur 31, à cinq cases binaires (25 - 1 = 31); une telle chaîne permet de corriger trois erreurs au minimum. Le codeur de numéro d'appel comprend un registre à décalage 40 à 28 cases; où sont chargés successivement les sept chiffres décimaux du numéro d'appel expri DES en décimal codé binaire. L'opération de chargement est symholisée par les flèches 41. Ce registre à décalage 40 est muni d'une ligne d'avance 42, et est bouclé sur luiméme par une ligne 43. Les informations sortent d'une case d'ex trématé en 44. La chaîne pseudo-aléatoire de longeur 7 est engendrée par un registre à décalage 47 à trois case, ayant une ligne d'avance 48 qui peut recevoir des impulsions d'horloge par une borne 49. Un circuit d'addition modulo 2, 50, à deux entrées reliées respectivement à la case numéro 1 et à la case numéro 3 du registre 47 par des lignes 51 et 52. Sa sortie est connectée à l'entrée de la case numéro 1. Les valences des trois cases du registre 47 sont appliquées à trois entrées d'une porte ET 46, dont la sortie 45 est connectée à la ligne d'avance 42 du registre 40. Une porte ET 54 a une entrée reliée à la sortie 44 du registre 40 et une entrée reliée à la sortie 53 du registre 47. Une porte ET 55 a une entrée d'inhibition reliée à 44 et une entrée d'inhibition reliée à 53. Les sorties des portes ET 54 et 55 sont appliquées aux entrées d'un circuit OU 56. t La chaîne pseudo-aléatoire de longueur 31 est engendrée par un registre à décalage à cinq cases 60 muni d'une avance 61 pouvant recevoir des impulsions d'horloge par une borne 62. Ce registre à une borne de sortie 63. Un circuit d'addition modulo 2, 64 a deux entrées reliées à la case numéro 3 et à la case numéro 5 du registre à décalage par les lignes 65 et 66 respective ment. Les valences des cinq cases du registre 60 sont appliquées à cinq entrées d'une porte ET 67, de sortie 68. Une porte ET a une entrée reliée à la sortie 63 du registre 60 et une entrée reliée à une commande 71. La commande 71 peut être manuelle ou fournie par un circuit logique 72 : par exemple pour "1" sur la borne 71, on aura un message d'appel, pour "O", on aura un message de télécommande. Une porte 70 a une entrée d'inhibition reliée à la sortie 63 et une entrée d'inhibition reliée à la commande 71. Les sorties de ces dezux portes ET sont reliées aux entrées d'un circuit OU 73 Un circuit OU 74 a une entrée connectée à la sortie du circuit OU 56 et une entrée connectée à la sortie du circuit OU 73. Sur sa sortie 75, on recueille le bit de début de message suivi du numéro d'appel, transcodé selon l'invention. Une logique 80, qui n a pas été décrite en détail parce qu'elle est facile à construire pour l'homme de l'art, comprend notamment un compteur de 28, 81, une entrée d'impulsions d'horloge 82, une sortie d'impulsions d'horloge 83 vers la borne 62, une sortie d'impulsions d'horloge 84 vers la borne 49, une entrée 85 "fin de bit de début de message" connectée à la sortie de la porte 68, une entrée "autorisation d'émettra'1 86. Le compteur 81 est relié à la sortie 45 de la porte 46. L'autorisation d'émettre étant donnée sur la borne 86, l'horloge H est appliquée à la borne 62 : le bit de début de message est transcodé. La fin de cette opération est signalée sur la borne 85 par l'apparition des "1" dans toutes les cases du registre 60. Maintenant l'horloge H est appliquée à la borne 49. Le transcodage du code primaire commence. La fin de ce transcodage est annoncée par l'arrivez du compteur 81 à 28. Le compteur 81 est ramené à zéro par la commande autorisation d'émettre. FIGURE 3 - Le décodeur correspondant comprend un premier registre à décalage 100 à 31 cases, ayant une ligne d'avance 101, qui reçoit sur une borne 102 des impulsions d'horloge reconstituées par des moyens connus par ailleurs. Le registre à décalage 100 reçoit l'information à décoder par une borne 119. Les valences ainsi mémorisées au cours de leur défilement sont appliquées à un circuit de colncidence analogique, de tout type connu, 104, par l'intermédiaire de liaisons tenant compte de la structure de la chaîne pseudo-aléatoire de longeur 31 à recevoir à cet effet les sorties des cases 1, 2, 5, 7, 8, 10, 11, 12, 13, 15, 17, 21, 24, 25, 26 sont inversées, les sorties de toutes les autres cases sont directes. De la sorte quand la chaîne pseudo-aléatoire est entrée en totalité, le circuit de co mcidence 104 fournit au point 105 la valeur analogique 31. Pour la clarté de l'exposé, on a représenté une solution de circuit de coinci- dence de forme analogique qui peut remplacer des moyens purementnumériques dont l'avantage est d'être plus fiable et d'échapper aux dérives. Le point 105 estonnecté à une entrée d'un comparateur 106 et à une entrée d'un comparateur 107. Le comparateur 106 porte sur une deuxième borne d'entrée 108 une valeur de référence 28, et le comparateur 107 porte sur une deuxième borne d'entrée 109 une valeur de référence 3. La sortie du comparateur 106 est connectée à une mémoire de début de message +,110, et la sortie du comparateur 107 est connectée à une mémoire de début de message -,111, + signifie par exemple : message d'appel, - signifie par exemple : message de télécommande. Les sorties de ces deux mémoires sont reliées aux entrées d'un circuit OU 112. La sortie de 112, 114.est connectée à une première porte ET 113, recevant par ailleurs les informations venant de la borne 119 ; -à une porte ET 115 recevant par ailleurs les impulsions d'horloge ; -à un circuit de dérivation 116. La sortie de 115 est connectée à l'entrée d'un compteur diviseur par sept, 117, dont la sortie est reliée à l'entrée d'un compteur-diviseur par 28, 118. La sortie de 116 est appliquée en remise à zéro des compteurs 117 et 118. La sortie de 118 est appliquée en remise à zéro des mémoires 110 et 111. Un deuxième registre à décalage à sept cases, 120, reçoit les informations à décoder de la sortie de la porte 113. Il a une ligne d'avance 121 qui reçoit les impulsions d'horloge H. Il transfère par 122 ses valences dans un circuit de coincidence analogique 123. Pour tenir compte de la structure de la chaîne pseudoaléatoire de longueur 7, les sorties 1, 3, 4 sont inversées, les autres sont directes. La sortie du convertissseur 123 est connectée à une entrée d'un comparateur 124 et à une entrée d'un comparateur 125. Sur une autre entrée 126 le comparateur 124 reçoit une valeur de référence 5 ; sur une autre entrée 127 le comparateur 125 reçoit une valeur de référence 2. La sortie 127 du compteur par sept 117 applique un ordre de lecture aux deux comparateurs 124 et 125. La sortie de 124 est connectée à l'entrée d'une ligne +, 128, la sortie de 125 est connectée à l'entrée d'une ligne -, 129 (+ a la signification bit de valence 1, - a la signification bit de valence 0). FONCTIONNEMENT - Une fois que le bit de début de message a été décodé, on a en l'absence d'erreur soit, une valeur de 31 en 105, soit une valeur 0, suivant la polarité adoptée à l'émission. L'une des deux mémoires 110 ou 111 transmet un 1 en 114. Il en résulte que l'information est maintenant reçue par le registre 120. Sous la commande venant du point 127, le lecteur des bits du code primaire se fait soit en 128, soit en 129. On voit que le transcodage du bit de début de message permet une correction d'erreur au moins triple, et le transcodage du code primaire en code secondaire permet la correction d'erreurs doubles. FIGURE 4 - La figure 4 montre le mécanisme de protection et de correction des erreurs assuré par la chaîne pseudo-aléatoire. A la colacidence, (repère O) la somme s des valences inscrites a la valeur 31, pour toute autre situation la la somme oscille légèrement autour de 15. On bénéficie donc du degré élevé d'autocorrélation de la chaîne pseudo-aléatoire, qui permet d'effectuer une discrimination 28/31 ou 3/31, c'est-à-dire de corriger au moins trois erreurs dans le bit de début de message. On pourrait, avec une excellente sécurité corriger jusqu'à sept erreurs dans le bit du début de message. Avec les valeurs adoptées pour les paramètres, l'intercorrélation entre les deux chaînes est faible : le risque de confusion entre les deux est pratiquement nul. De même on verrait que la chaîne de longueur 7 permet de corriger deux erreurs dans les bits du code secondaire. REVENDICATIONS 11 Codeur agissant sur au moins une valence binaire résultant d'un codage primaire, caractérisé en ce qu'il comporte un générateur de séquence de bits défilant selon une loi déterminée toujours identique à elle-mme, et des moyens pour transcoder une valence, par exemple 1, par ladite séquence, et l'autre valence, O, par la séquence complémentaire. 2/ Codeur selon la revendication 1, possédant des moyens de défilement des bits du codage primaire, des moyens de défilement des bits de ladite séquence, caractérise en ce qu'il possède un circuit logique à deux portes ET et une porte OU, recevant par une entrée au moins un bit du codage primaire, par une autre entrée en succession les bits de la séquence, de façon à transcoder le ou les "1" du codage primaire par ladite séquence, et le ou les "O" du codage primaire par la séquence complémentaire. 31 Codeur selon la revendication 2, caractérisé en ce que lesdits moyens de défi- lement des bits du codage primaire reçoivent un ordre d'avance de la sortie d'une porte ET dont les entrées sont reliées aux moyens de défilement de la séquence. 4/ Codeur selon la revendication 3, caractérisé en ce que les moyens de défilement des bits du codage primaire comprennent un premier registre à décalage fermé sur lui-même. 5/ Codeur selon la revendication 4, caractérisé en ce que la séquence est une chaîne pseudo-aléatoire engendrée dans un deuxième registre à décalage en interconnexion avec un circuit d'addition modulo 2. 6/ Codeur selon les revendications 3 et 5, caractérisé en ce que la ligne d'avance du premier registre à décalage est connectée à la sortie d'une porte ET dont les entrées sont connectées aux cases individuelles dudit deuxième registre à décalage. 7/ Codeur complet caractérisé en ce qu'il comporte un premier codeur pour transcoder un bit unique de début de message selon la revendication 2 au moyen d'une première chaîne pseudo-aléatoire, un deuxième codeur pour transcoder des bits d'infcrmation provenant d'un codeur primaire selon la revendication 6 au moyen d'une deuxième chaîne pseudo-aléatoire, et des circuit logiques pour commencer le transcodage par le bit de début de message. 81 Codeur complet selon la revendication 7, caractérisé en ce que la première chaîne pseudo-aléatoire est beaucoup plus longue que la deuxième chaîne'pseudoaléatoire. 91 Décodeur pour décoder un code issu d'un codeur complet selon la revendication 8, caractérisé en ce qu'il comporte un premier moyen de colncidence à 2P ~ 1 cases en interconnexion avec un registre à décalage où défile une première chaîne pseudo-aléatoire, un deuxième moyen de coincidence à 2P - 1 cases en interconnexion avec un registre à décalage où défile une deuxième chaîne pseudo aléatoire, lesdits moyens étant agencés pour donner un total de 2p-1 et 2r-1, respectivement, lorsque chaque chaîne pseudo-aléatoire est dans le registre correspondant. 10/ Décodeur selon la revendication 9, caractérisé en ce que la sortie de chacun desidts moyens de coïncidence est connecté aux entrées de deux comparateurs à seuil dont les valeurs de seuil sont respectivement complémentaires.