Brevet FR2791839A1 — publié le 20001006

etÀ 2791839 PROCEDE ET DISPOSITIF D'EMISSION D'UNE SEQUENCE ORDONNEE DE MESSAGES, ET DISPOSITIF DE RECEPTION ASSOCIE La présente invention concerne le domaine des communications numériques, particulièrement en mode paquets. Dans les communications par paquets, un émetteur envoie des messages, sous forme de paquets, à un ou plusieurs récepteurs par l'intermédiaire d'un ou plusieurs canaux de transport. Chaque canal de transport présente des imperfections, qui peuvent provoquer: - la perte de certains paquets, une modification de l'ordre des paquets, ou - une interruption complète de communication. Afin de détecter la perte éventuelle d'un paquet, les paquets de la séquence peuvent être marqués par des numéros respectifs, ou " étiquettes temporelles ", générés par un compteur et servant à la synchronisation du récepteur. Le récepteur détecte la perte d'un paquet par le fait qu'il manque une étiquette temporelle dans la séquence reçue. Pour détecter une modification de l'ordre des paquets, le récepteur peut comporter une mémoire tampon lui permettant de remettre en ordre les paquets de la séquence sur la base des étiquettes temporelles reçues. Après une interruption complète de la communication sur un canal, il est souvent utile de savoir combien de paquets ont été perdus au moment o le canal est rétabli. Les étiquettes temporelles peuvent également être utilisées à cette fin. La tendance actuelle dans les transmissions numériques est d'utiliser des paquets de relativement petite taille, qui procurent divers avantages: augmentation de la vitesse de transmission; transmission de la voix avec de faibles retards dans les applications de phonie; lissage de la charge globale sur le canal; possibilité de partager un même canal de débit modéré entre plusieurs émetteurs et/ou récepteurs; adaptation aux architectures ATM (" Asynchronous Transfer Mode ") de plus en plus répandues. Si l'étiquette temporelle occupe un nombre de bits donné m dans le paquet, la diminution de la taille du paquet entraîne une réduction du débit utile. Cet inconvénient est encore aggravé par le fait que, pour obtenir des performances équivalentes en termes de synchronisation, on doit a priori augmenter le nombre m. 2 - Pour augmenter la fiabilité de la transmission, on peut utiliser plusieurs canaux parallèles sur lesquels les mêmes paquets sont envoyés. Les étiquettes temporelles permettent d'effectuer la synchronisation entre ces canaux. De plus, une transmission fiable avec de faibles retards utilise presque toujours soit plusieurs canaux, soit la répétition de chaque paquet à bref intervalle (par exemple trois fois). C'est le cas notamment dans le partage de ressources AAL2 (" ATM Adaptation Layer No. 2 ") pour la transmission de télécopies. Si les retards introduits par les différents canaux diffèrent notablement, on a besoin d'une méthode d'étiquetage temporel procurant une i0 bonne capacité de réordonnancement sur une plage temporelle importante. Les étiquettes temporelles habituellement utilisées sont générées par un compteur cyclique modulo 2m, o m est le nombre de bits de codage des étiquettes. La capacité de réordonnancement d'un tel compteur est 2m, et sa période est également 2m. Il est important que le compteur ait une grande période, afin qu'on puisse récupérer la synchronisation après une interruption et un rétablissement du canal. La présente invention a pour but d'augmenter considérablement la période de numérotation des paquets tout en limitant les cas ambigus pour le récepteur. Un autre but est de conserver une bonne capacité de réordonnancement si les paquets sont susceptibles de ne pas être reçus dans leur ordre d'émission. L'invention propose ainsi un procédé d'émission d'une séquence ordonnée de messages, dans lequel on insère dans un champ de m bits de chaque message une information de synchronisation dépendant du rang n du message dans la séquence. Selon l'invention, l'information de synchronisation consiste en m bits représentant un entier égal à i si j=0, et à [i+N.fj(F)] mod N.A si j:0, o: N et A sont deux entiers plus grands que 1 et tels que N.A d'entiers désignés par fk(F) pour 1_ -3- Les notations x mod y et x div y désignent respectivement, pour x et y entiers tels que y>0, le reste et le quotient de la division euclidienne de x par y. L'expression " x représente y ", o x et y sont des nombres entiers compris dans un intervalle donné, fait référence au fait qu'une permutation déterminée des entiers de cet intervalle associe x à y. De même, I'expression " m bits représentent l'entier z ", o O dont la représentation en base 2 est formée par les m bits en question. Chacune de ces permutations peut être l'identité. Dans une version avantageuse du procédé, les fonctions fk(F), pour 1 1 Dans une autre version du procédé avec N>2, on peut choisir les fonctions fk(F) de façon telle que, pour 1 notamment être une puissance entière de 2, auquel cas N.A = 2m. Dans certains cas, on pourra toutefois choisir N.A synchronisation par m bits représentant un entier supérieur ou égal à N. A. Un autre aspect de l'invention se rapporte à un dispositif d'émission d'une séquence ordonnée de messages, comprenant des moyens de repérage des messages dans la séquence, pour insérer dans un champ de m bits de chaque message une information de synchronisation élaborée conformément au procédé ci-dessus. Si N.A pas à la séquence, m bits représentant un entier supérieur ou égal à N.A. 4 - Un troisième aspect de l'invention se rapporte à un dispositif de réception de messages émis suivant une séquence ordonnée conformément au procédé ci-dessus, comprenant des moyens de synchronisation pour extraire l'information de synchronisation du champ de m bits de chaque message reçu, et pour traiter les informations de synchronisation extraites des messages reçus afin de synchroniser des moyens de traitement des messages reçus. Typiquement, les moyens de synchronisation sont agencés pour distribuer les informations de synchronisation extraites des messages reçus successivement dans N classes en fonction du reste de la division euclidienne par N des entiers respectifs qu'elles représentent, et pour déterminer, modulo N. AN, le rang n d'un message dans la séquence une fois qu'au moins une information de synchronisation a été placée dans chacune des N classes. Pour déterminer le rang n d'un message dans la séquence, les moyens de synchronisation peuvent obtenir la quantité n mod N.A à partir d'une information de synchronisation placée dans la classe correspondant à un reste nul, et la quantité n div N.A à partir des différences respectives entre des informations de synchronisation placées dans les N-1 classes correspondant aux restes non nuls et ladite information de synchronisation placée dans la classe correspondant à un reste nul. D'autres particularités et avantages de la présente 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 et 2 sont respectivement des schémas synoptiques d'un exemple de dispositif d'émission et d'un exemple de dispositif de réception selon l'invention; - la figure 3 est un organigramme d'une procédure de détermination des informations de synchronisation placées dans les paquets émis; et - les figures 4 et 5 montrent un organigramme d'une procédure de décodage des informations de synchronisation reçues dans les paquets. On considère le cas général d'un compteur générant, pour chaque rang n du paquet numéroté dans la séquence un nombre entier C(n) compris entre 0 et 2m-1 écrit dans le champ de m bits réservé à l'étiquette temporelle. Pour évaluer les propriétés du compteur, on définit les quantités PERIOD, REPET, SYNC et BADSYNC suivantes: - la période du compteur est donnée par PERIOD = - min{k>O / Vn: C(n+ k)=C(n)}. Le rang n peut être compté modulo PERIOD. Pour les compteurs d'intérêt pratique, PERIOD > 2m; - - REPET est le plus petit intervalle entre deux rangs différents pour lesquels le compteur prend la même valeur, soit: REPET = min{k> 0/3n: C(n+k)=C(n). On a toujours REPET 1, est la longueur minimale des séquences émises qui, si elles sont reçues après perte d'un ou plusieurs paquets, peuvent provoquer une mauvaise synchronisation d'un récepteur utilisant SYNC paquets consécutifs pour effectuer la synchronisation, soit k> SYNC/3In, p, X0,X1,.--,XSYNC-1: nó=p, BADSYNC = min 0 = X0O On a toujours BADSYNC A titre de comparaison, on présente d'abord un compteur, appelé compteur [P,Q] et défini de la façon suivante, avec l SYNC = Q, et BADSYNC = 2 -+Q. On voit que les compteurs de cette famille permettent une 6 - augmentation appréciable de la période, multipliée par 2 (Q-1) par rapport a compteur modulo 2m. Si on adopte une valeur de Q assez importante pour augmenter la période, cet avantage a pour contrepartie une plus grande contrainte pour réaliser une synchronisation fiable (Q=SYNC). Si on joue plutôt sur le paramètre P, on obtient des valeurs médiocres de REPET et BADSYNC. Un compteur [P,Q] peut être légèrement modifié pour en améliorer les performances. Considérons le cas d'un compteur [2,Q] modifié de la façon suivante sij=0, alors C'(n)=C(n) définiparlarelation(1) (2) si j> 0, alors C'(n) = [C(n) + 2m-2(F mod 4)] mod 2m () Le compteur modifié C'(n) a une période trois fois plus élevée que le compteur [2,Q]: REPET = 3x2m-2. La valeur du paramètre BAD_SYNC = REPET + SYNC s'en trouve également améliorée. Toutefois, la valeur de SYNC peut être augmentée. Par exemple, pour le compteur [2,2] modifié, on a SYNC = 3 au lieu de 2 pour le compteur [2,2] non modifié. La présente invention propose un autre compteur, appelé compteur {N*A} et défini de la façon suivante, avec N>1, A>1 et N.A 0, alors C(n) = (i + N.f) mod N.A (7) On peut considérer que i constitue un index de paquet dans une trame, N-1 et que le nombre F = _fkAk-1 constitue un index de trame (0 k=1 Contrairement au compteur [P,Q], le compteur {N*A} mélange les bits de l'index de paquet et ceux de l'index de trame dans les m bits du champ, ce qui lui procure de meilleures performances. De façon avantageuse, la période du compteur {N*A} est très longue PERIOD = N.AN. Cette période peut être subdivisée en AN-1 trames de N.A paquets. Les autres paramètres sont: REPET = N.(A-1), SYNC = N+1, et BAD_SYNC = N.A+1. -7- Le choix du nombre N est un compromis entre la longueur de la période (qui fait préférer N grand) et les contraintes imposées au récepteur pour valider une synchronisation (qui font préférer N=SYNC-1 petit). En pratique, des valeurs assez basses de N procurent déjà des périodes importantes. En général, on choisira A tel que N.A soit proche de 2m, de sorte que la diminution des paramètres REPET et BAD_SYNC par rapport à leurs valeurs théoriques maximales (respectivement 2m et 2m+SYNC) reste faible. La valeur de N étant fixée, le choix préféré est de prendre A comme le plus grand entier positif tel que N.A Les nombres N et A sont avantageusement des puissances entières de 2 telles que N.A=2m. Dans ce cas les opérations de division euclidienne et de modulo dans la détermination des étiquettes temporelles des paquets et leur décodage se limitent à de simples décalages et extractions de bits dans les représentations binaires des nombres, ce qui simplifie les calculs effectués par l'émetteur et par le récepteur. Toutefois, il est parfois intéressant de choisir N et A tels que N.A permet par exemple de transmettre de l'information de signalisation. L'index de trame F étant donné par F = (n div N.A) mod AN-1, une version généralisée du compteur {N*A} consiste à remplacer f dans I'expression (7) par une fonction plus générale de F. Si chaque valeur possible de l'index de trame F est associée de manière unique à un (N-1)-uplet d'entiers désignés par fk(F) pour 1 0: C(n) = [i+N.fj(F)] mod N.A (8) Dans cette définition générale, le compteur {N*A} correspond au choix: fk(F) = (F div Ak-1) mod A = (n div N.Ak) mod A. Le compteur {N*A} généralisé présente des propriétés proches de celles du compteur {N*A}. Le récepteur peut distribuer les valeurs reçues successivement dans N classes en fonction du reste de la division euclidienne 8 - par N de ces valeurs. Une fois qu'une valeur au moins a été placée dans chacune des N classes, le récepteur peut alors déterminer l'index de paquet, égal à n mod N.A, à partir de la valeur en classe 0 et l'index de trame F à partir des nombres fk(F) déduits des valeurs en classes 1 à N-1 après en avoir soustrait l'index de paquet. Ceci permet d'obtenir, modulo N.AN, le rang n du message reçu dans la séquence, et donc de synchroniser le récepteur. Pour le compteur {N*A} généralisé, on a PERIOD = N.AN, REPET = N.(A-6), SYNC = N+1, et BAD_SYNC = REPET + SYNC. Dans l'expression ci-dessus de REPET, 6 est le minimum, pour les différentes valeurs possibles de k et F, de la quantité [ fk((F+1) mod AN-1) - fk(F)] mod A. On a intérêt à choisir les fonctions fk(F) de façon que 6 ait la valeur la plus faible possible. Le compteur {N*A} est optimal à cet égard puisqu'il donne 6 = 1. Dans certains cas, on pourra toutefois tolérer une valeur un peu plus grande, par exemple 6 = 2. La figure 1 montre schématiquement un émetteur dans lequel l'information à transmettre, délivrée par une source 10, est subdivisée en unités de données successives PDU, auxquelles un module de numérotation 11 associe une étiquette temporelle formée par la valeur d'un compteur C. Les unités de données PDU et leurs étiquettes C sont assemblées, en 12, pour former des paquets ou messages numérotés, I'étiquette C étant placée dans un champ déterminé du message. Une interface 13 met en forme les messages pour leur émission sur un ou plusieurs canaux. Le découpage et la mise en forme des unités de données et des messages dépend des protocoles de transmission employés. A titre d'exemple, les messages peuvent être transmis sur des connexions virtuelles ATM. Dans l'exemple représenté sur la figure 1, les messages sont dupliqués et émis en parallèle sur deux connexions ATM distinctes. Cette redondance sécurise la transmission de l'information. Dans une réalisation particulière, les paquets sont formés à partir d'unités de données du protocole AAL5, qui sont chacune divisées en plusieurs cellules ATM pour la transmission. L'information de synchronisation C peut alors consister en un octet (m=8) placé dans le champ UUI (" User-to-User Information ") disponible dans le protocole AAL5. Dans une autre réalisation, chaque cellule ATM émise par l'interface 13 9- contient plusieurs paquets numérotés, multiplexés suivant le protocole AAL2. Un récepteur correspondant est illustré schématiquement sur la figure 2. Ce récepteur comprend deux voies de réception parallèles jusqu'à un module de combinaison 15. Chaque voie comporte un module d'extraction de paquets 16, qui reconstitue les paquets reçus à partir des cellules ATM reçues sur la connexion virtuelle correspondante. Un module 17 reçoit les messages successifs, et extrait les m bits de l'information de synchronisation M(t), fournis à un module de synchronisation 18. Ce module 18 traite les informations de synchronisation M(t) reçues successivement pour délivrer au module de combinaison 15, avec l'unité de données PDU, une information STATE sur l'état de synchronisation du récepteur sur la connexion ATM concernée ainsi que, si cette information indique que le récepteur est synchronisé, le numéro d'ordre n du message dans la séquence. Sur la base de ces informations reçues sur les deux voies, le module 15 sélectionne l'une des deux voies pour délivrer les informations utiles traitées dans les couches de protocole supérieures du récepteur. Suivant l'application considérée, diverses méthodes peuvent être employées par le module de combinaison 15. Par exemple, si l'application a besoin d'une grande rapidité de transmission, le module peut systématiquement sélectionner le message le plus récent reçu sur l'une des deux voies. Si on préfère privilégier la fiabilité de la transmission, on peut modifier l'algorithme de combinaison appliqué par le module 15, par exemple en prévoyant une mémoire tampon dans laquelle les paquets seraient écrits à une adresse dépendant de leur numéro d'ordre n puis lus dans l'ordre de ces numéros, afin de limiter la probabilité de perte d'information. La figure 3 montre la procédure appliquée par le module de numérotation 11 de l'émetteur, utilisant le compteur {N*A}. Après l'initialisation du numéro de message n (par exemple par n=0), le module 11 attend qu'un nouveau message soit à émettre (étape 21). Lorsque la source 10 signale un nouveau message, le module 11 calcule les index i et j conformément aux relations (3) et (4) à l'étape 22. Si j=0, le compteur C prend la valeur de l'index i (étape 23). Sinon, I'index f est calculé conformément à la relation (5) et le compteur C reçoit la valeur (i+N.f) mod N.A à l'étape 24. A l'étape 25, la valeur du compteur C est fournie au module 12 pour être insérée dans le champ de m bits du message à émettre. Puis, à l'étape 26, le numéro de message n est - 10- N incrémenté d'une unité modulo N.A et le module 11 revient en attente du prochain message. La figure 4 illustre une procédure correspondante que peut mettre en oeuvre le module de synchronisation 18 dans chaque voie du récepteur lorsque le canal de transmission ne modifie pas l'ordre des paquets, ce qui est le cas d'une connexion virtuelle ATM. Dans cet organigramme, S désigne le nombre de messages reçus consécutivement et contenant des informations de synchronisation cohérentes entre elles, qui notamment se succèdent modulo N. Les informations de synchronisation cohérentes reçues avant le message courant n sont mémorisées dans un registre R(0), R(1),..., R(N-1). L'emplacement R(k) de ce registre (O chargée à l'emplacement R(j) du registre. Le paramètre N' définit comme le nombre N'+1 de messages consécutifs contenant des informations de synchronisation cohérentes qui est requis dans le module 18 pour valider la synchronisation de la réception. Ce paramètre N' peut être égal à N (N+1 = SYNC messages étant alors requis), ou à un nombre supérieur si on souhaite limiter davantage les risques de fausse synchronisation. Si la valeur courante M(t) du compteur correspond à celle attendue (test 34), et si le nombre S de messages précédents consécutifs contenant des informations de synchronisation cohérentes n'atteint pas la valeur du paramètre N' (test 35), le module de synchronisation 18 indique au module de - 11 - combinaison 15 que sa voie de réception n'est pas synchronisée, en laissant l'information STATE à l'état non synchronisé. Dans ce cas, le nombre S est simplement incrémenté à l'étape 36. Si, au test 34, la valeur courante M(t) du compteur correspond à celle attendue, et si S > N' au test 35, le module de synchronisation 18 indique par l'information STATE que sa voie de réception est synchronisée (étape 37). Si, au test 34, la valeur courante M(t) du compteur ne correspond pas à celle attendue, le module de synchronisation 18 indique par l'information STATE que sa voie de réception n'est pas synchronisée (étape 38), avant de comparer l'index de classe courant j à la valeur attendue j' de cet index à l'étape 39. A l'initialisation, la valeur donnée à l'index de classe attendu j' est arbitraire. Si j j' au test 39, la valeur courante de l'index de classe n'est pas cohérente avec celle attendue, de sorte que le module 18 " oublie " les valeurs précédemment reçues du compteur en prenant S = 1 à l'étape 40. Il passe ensuite à l'étape 41 o la variable ATTENDU est réinitialisée à sa valeur impossible (-1) et o le prochain index de classe attendu j' est pris égal à j+1 modulo N. Après l'étape 41, le module 18 revient à l'étape 31 pour attendre la réception du prochain message. Si j = j' au test 39, la valeur courante de l'index de classe est cohérente avec celle attendue, de sorte que le module 18 incrémente la variable S à l'étape 44. Si la variable S ainsi incrémentée est plus petite que N (test 45), le module 18 ne dispose pas encore de suffisamment de valeurs du compteur pour pouvoir calculer le numéro n, et il passe à l'étape 41 précitée. Quand S > N au test 45, le module 18 est en mesure de calculer une valeur du numéro n du message courant dans la séquence produite par l'émetteur. Ceci est effectué à l'étape 47 conformément à la procédure qui sera décrite plus loin en référence à la figure 5, après que la variable S a été fixée à N à l'étape 46. Dès lors qu'on a pu obtenir une valeur du numéro n du message reçu, c'est-à-dire à l'issue de l'étape 36, 37 ou 47, la valeur de ce numéro n est incrémentée d'une unité modulo N.AN à l'étape 50, o on détermine en outre le prochain index de classe attendu j', pris égal à n mod N = +1l) mod N. Afin de prédire la valeur ATTENDU du compteur, qu'on s'attend à trouver dans le prochain message reçu si le message suivant dans la séquence émise n'est pas perdu, on peut exécuter les étapes 52 à 54, qui sont équivalentes aux - 12- étapes 22 à 24 exécutées par l'émetteur, pour déterminer la valeur du compteur (figure 3). Si j' = 0 (test 52), ATTENDU reçoit la valeur n mod N.A à l'étape 53. Si j' > 0 au test 52, l'étape 54 peut consister à prendre f = n div N.AJ' et ATTENDU = (n + N. f) mod N.A. s Ayant obtenu cette valeur prédite ATTENDU à l'étape 53 ou 54, le module 18 revient à l'étape 31 pour attendre la réception du message suivant. Le calcul 47 du numéro de paquet n à partir des valeurs R(0), R(1),... R(N-1) du compteur reçues dans le message courant et dans les N-1 messages précédents peut être conforme à la procédure représentée sur la figure 5 et décrite ci-dessous. A l'étape 69, I'index de paquet i = n mod N.A est d'abord calculé comme étant égal à R(0)+j. Si i booléenne RETENUE reçoit la valeur FAUX à l'étape 72. Le calcul proprement dit du numéro n est effectué dans une boucle indexée par un entier p initialisé à 1 à l'étape 73, n étant en outre initialisé à la valeur de l'index i. Chaque itération dans cette boucle comprend une étape 74 dans laquelle le décalage k reçoit la valeur (j-p) mod N, puis l'entier g reçoit la valeur (R(p)-i+k) mod N.A, puis le numéro n est augmenté de g.Ap. Si p 0 (test 76), on affecte la valeur FAUX à la variable booléenne RETENUE à l'étape 77. Sinon, l'itération dans la boucle se limite à l'étape 74. A l'issue de la (N-1)-ième itération dans cette boucle (p = N-1), il reste à examiner si la variable booléenne RETENUE a la valeur VRAI (test 80). Dans +j+ N l'affirmative, il convient d'augmenter le numéro n de N.Aj, modulo N.A à l'étape 81 qui achève le calcul. Sinon, il n'y a pas lieu de corriger l'index de trame et la valeur finale de n et celle résultant de la boucle précédente. Dans les procédures précédemment décrites, les messages reçus sont directement délivrés, avec la synchronisation, au module de combinaison 15. Ceci est adapté au cas o les paquets sont transmis sur des connexionATM, lesquelles garantissent en principe que l'ordre d'émission des paquets n'est pas modifié, même s'il existe un certain risque de perte de paquets. Ces procédures peuvent être adaptées au cas o un certain -13 - réordonnancement des paquets est nécessaire au niveau du récepteur. Lorsque ATTENDU É -1 (la synchronisation initiale a été réalisée), on peut par exemple comparer la valeur courante M(t) du compteur non pas à une seule valeur prédite ATTENDU, mais à H+K valeurs possibles ATTENDU H+ 1, 5..., ATTENDU1, ATTENDUo, ATTENDU1,..., ATTENDUK correspondant respectivement aux valeurs du compteur pour les messages de rangs n-H+1, n-1, n, n+1,..., n+K, n étant le rang déterminé à l'étape 50 précédente. Si l'une de ces valeurs possibles coïncide, le module de synchronisation commande l'écriture du message courant dans une mémoire tampon, à une adresse déterminée par celle des valeurs qui a coïncide. Si aucune valeur ne coïncide, le message est éliminé, et/ou on décide une perte de synchronisation. Le module de synchronisation commande en outre la sortie de la mémoire tampon du message le plus ancien, de rang n-H+1. Une perte de synchronisation peut également être décidée si plusieurs des messages à sortir manquent consécutivement. Le récepteur est alors capable de réordonnancer des paquets sur une plage de H+K paquets consécutifs, avec H+K émise si les conditions de transmission ne sont pas trop mauvaises. La synchronisation initiale peut par exemple être identique à ce qui a été décrit en référence aux figures 4 et 5, jusqu'à ce que la variable S atteigne la valeur requise N'. Dans une telle application, cette valeur N' sera généralement plus grande que N, étant donné que l'éventualité d'une modification de l'ordre des paquets entraîne un plus grand risque de fausse synchronisation. Ceci implique pour que le récepteur puisse se synchroniser, qu'une séquence d'une certaine longueur soit reçue dans l'ordre. Lorsque le canal de transmission peut modifier l'ordre des messages, mais en offrant une très faible probabilité de perte, une possibilité intéressante pour réaliser la synchronisation initiale est que le récepteur distribue les valeurs de compteur successivement reçues dans les classes modulo N, et détecte les changements de trame après avoir accumulé un nombre suffisamment grand de valeurs. Avec le compteur {N*A}, si on fait l'hypothèse que les messages sont - 14C-k reçus dans leur ordre d'émission, et si on observe les quantités déduites N. des valeurs C du compteur successivement répertoriées dans chacune des classes modulo k, on obtient: - en classe k=0, la séquence 0,1,...,A-1 répétée de façon cyclique; - en classe k=1, la séquence 0,1,...,A-1 répétée de façon cyclique, mais avec une valeur manquante à chaque frontière entre deux trames, la valeur manquante étant égale, modulo A, à l'index F de la trame qui se termine. Par conséquent, une valeur manquante dans la classe 1 permet de localiser un début de trame et de déterminer l'index de trame modulo A. Si maintenant les valeurs du compteur sont reçues de façon désordonnée, avec une gigue sensiblement plus petite que la longueur N.A des trames, et si les Q valeurs les plus récentes sont distribuées dans les classes (avec N {2*A}. Si N > 2, la méthode ci-dessus laisse une indétermination sur l'index de trame F, qui n'est déterminé que modulo A. Pour éviter que la synchronisation initiale prenne trop de temps, on peut modifier la forme du compteur tout en restant dans la définition générale donnée plus haut en référence à la relation (8). Par exemple, on peut prendre f1 (F) = F mod A, et pour 1 1, et ces N-2 valeurs manquantes permettent, en leur retranchant f1(F) = F modA, de définir complètement l'index de trame F et donc de réaliser la synchronisation voulue. Dans les procédures précédemment décrites, les différentes opérations de division euclidienne et de modulo par N, A, N.A ou N.Ai consistent en de simples opérations de décalage et d'extraction de bits dans les représentations - 15- binaires des nombres manipulés, si les paramètres N et A du compteur sont des puissances entières de 2. Ceci rend la mise en oeuvre du- procédé particulièrement simple. On note également que pour obtenir les valeurs du compteur, il est possible de remplacer les index i et/ou C compris dans l'intervalle [0,N. A[, et/ou l'index de classe j compris dans l'intervalle [0,N[, et/ou l'index de trame F compris dans l'intervalle [0,AN-l[, et/ou l'index f(=g/N) ou l'un au moins des index fk(F) compris dans l'intervalle [0,A[ par des index calculés au moyen de permutations déterminées sur les entiers de ces intervalles. Le récepteur effectue alors les permutations inverses de l'émetteur pour récupérer la synchronisation. Ceci ne modifie pas les propriétés du compteur. Le tableau I montre les caractéristiques d'un certain nombre de compteurs utilisables dans le cas o m=8. On voit que pour chaque valeur du paramètre SYNC, le compteur {N*A} présente les performances optimales mesurées par les paramètres PERIOD, REPET et BAD_SYNC. -16- BAD_ Nombre de Longueur Compteur SYNC PERIOD REPET SYNC trames de trame Modulo 256 1 256 256 1 256 [1,2] 2 512 128 130 4 128 [2,2] 2 1024 64 66 16 64 [3,2] 2 2048 32 34 64 32 [4,2] 2 4096 16 18 256 16 [5,2] 2 8192 8 10 1024 8 [6,2] 2 16384 4 6 4096 4 [7,2] 2 32768 2 4 16384 2 {2*128} 3 32768 254 257 128 256 [2,2] modifié 3 1024 192 195 16 64 {3*85} 4 1842375 252 256 7225 255 [2,4] modifié 4 16384 192 196 256 64 [1,4] 4 2048 128 132 16 128 [2,4] 4 16384 64 68 256 64 [3,4] 4 131072 32 36 4096 32 [4,4] 4 1048576 16 20 65536 16 [5,4] 4 8388608 8 12 1048576 8 [6,4] 4 67108864 4 8 16777216 4 {4*64} 1 5 167108864 252 257 1 262144 [ 256 TABLEAU I - 17 - REVENDICATIONS 1. Procédé d'émission d'une séquence ordonnée de messages, dans lequel on insère dans un champ de m bits de chaque message une information de synchronisation (C) dépendant du rang n du message dans la séquence, caractérisé en ce que l'information de synchronisation consiste en m bits représentant un entier égal à i si j=O, et à [i+N. fj(F)] mod N.A si j7O, o N et A sont deux entiers plus grands que 1 et tels que N.A O, le reste et le quotient de la division euclidienne de x par y. 2. Procédé selon la revendication 1, dans lequel les fonctions fk(F), pour 1 [fk((F+1) modAN-1) -fk(F)] modA 3. Procédé selon la revendication 1, dans lequel, pour 1 2, et dans lequel les fonctions fk(F), pour 1 ait: [fk((F+1) mod AN-1I) - fk(F)] mod A 5. Procédé selon la revendication 1, dans lequel N>2, dans lequel f1(F) est le nombre F modA et dans lequel, pour 1 6. Procédé selon l'une quelconque des revendications 1 à 5, dans lequel A est le plus grand entier positif tel que N.A - 18 - 7. Procédé selon la revendication 6, dans lequel N est une puissance entière de 2. 8. Procédé selon l'une quelconque des revendications 1 à 6, dans lequel N.A par m bits représentant un entier supérieur ou égal à N.A. 9. Dispositif d'émission d'une séquence ordonnée de messages, comprenant des moyens (11) de repérage des messages dans la séquence, pour insérer dans un champ de m bits de chaque message une information de synchronisation (C) dépendant du rang n du message dans la séquence, caractérisé en ce que l'information de synchronisation consiste en m bits représentant un entier égal à i si j=0, et à [i+N.fj(F)] mod N.A si jó0, o N et A sont deux entiers plus grands que 1 et tels que N.A 0, le reste et le quotient de la division euclidienne de x par y. 10. Dispositif d'émission selon la revendication 9, dans lequel N.A bits représentant un entier supérieur ou égal à N.A. 11. Dispositif de réception de messages émis suivant une séquence ordonnée conformément à un procédé selon l'une quelconque des revendications 1 à 8, comprenant des moyens de synchronisation (16) pour extraire l'information de synchronisation du champ de m bits de chaque message reçu, et pour traiter les informations de synchronisation extraites des messages reçus afin de synchroniser des moyens (15) de traitement des messages reçus. - 19- 12. Dispositif de réception selon la revendication 11, dans lequel les moyens de synchronisation (16) sont agencés pour distribuer les informations de synchronisation extraites des messages reçus successivement dans N classes en fonction du reste de la division euclidienne par N des entiers respectifs qu'elles représentent, et pour déterminer, modulo N.AN, le rang n d'un message dans la séquence une fois qu'au moins une information de synchronisation a été placée dans chacune des N classes. 13. Dispositif de réception selon la revendication 12, dans lequel pour déterminer le rang n d'un message dans la séquence, les moyens de l0 synchronisation (16) obtiennent la quantité n mod N.A à partir d'une information de synchronisation placée dans la classe correspondant à un reste nul, et la quantité n div N.A à partir des différences respectives entre des informations de synchronisation placées dans les N-1 classes correspondant aux restes non nuls et ladite information de synchronisation placée dans la classe correspondant à un reste nul.