Brevet FR2980323A1 — publié le 20130322

Domaine technique [0001] La présente invention concerne la transmission de données sur une voie (un canal) de communication à accès multiple. Etat de la technique [0002] Le protocole ALOHA est un protocole de communication sur un canal à accès multiple. Le principe à sa base est très simple. Chaque utilisateur envoie un paquet de données sans tenir compte des autres utilisateurs et attend l'accusé de réception. Si l'accusé de réception n'est pas reçu dans un délai prédéfini, l'utilisateur envoie le même paquet de données une nouvelle fois après un délai choisi de manière aléatoire. Si des paquets de données de plusieurs utilisateurs se chevauchent dans le temps (situation de collision), il y a une très forte probabilité que tous les paquets soient perdus. [0003] Avant d'être émis, ces paquets de données sont généralement encodés à l'aide d'un code correcteur d'erreurs (par exemple un turbo-code, un code convolutif, etc.) pour former des paquets codés qui peuvent ainsi supporter les erreurs de transmission générées par le bruit du canal. [0004] Pour augmenter la capacité de transmission, on est passé au protocole SA (de l'anglais « Slotted ALOHA », ALOHA à segmentation temporelle). L'amélioration est obtenue par synchronisation des utilisateurs. Plus particulièrement, le canal de communication est divisé en trames (en anglais : frame), et chaque trame est subdivisée en créneaux (en anglais : slots) de durée essentiellement égale à la durée d'un paquet (aussi appelé « burst »), et un paquet encodé ne doit être envoyé qu'à l'intérieur d'un créneau. Une collision survient si plusieurs utilisateurs essaient d'envoyer un paquet encodé dans le même créneau. [0005] Le protocole DSA (de l'anglais « Diversity Slotted ALOHA ») a été proposé pour augmenter encore plus la capacité de transmission (en anglais « throughput ») du système. Selon ce protocole, chaque paquet de données est transmis deux fois à l'intérieur de chaque trame, c.-à-d. deux copies identiques du même paquet encodé sont envoyées dans deux créneaux différents, choisis de manière aléatoire. [0006] Selon la méthode CRDSA (de l'anglais « Contention Resolution Diversity Slotted ALOHA »), qui représente un perfectionnement de la méthode DSA, on rajoute à chacune des deux copies du paquet de données une indication de la position de l'autre copie. Le paquet de données et l'indication de la position de l'autre copie sont alors encodés ensemble pour former un paquet encodé. Ainsi, si au moins une des copies n'est pas en collision, les données peuvent être extraites. La deuxième copie, ainsi que son indicateur de position (qui pointe vers le créneau de la copie reçue) peuvent alors être reconstitués et éliminés du signal reçu selon un algorithme d'élimination d'interférences. Cette étape d'élimination permet éventuellement d'accéder à un paquet qui était en collision avec la copie supprimée. En procédant de manière itérative, on peut recevoir une fraction plus importante des données des différents utilisateurs qu'avec la méthode DSA. [0007] La méthode CSA (de l'anglais « Coded Slotted ALOHA ») est une amélioration de la méthode CRDSA. Au lieu de simplement transmettre des copies des paquets, la méthode CSA prévoit d'encoder les copies au moyen d'un code correcteur d'effacements (ou code à effacements) pour générer des copies de redondance. Ces différentes copies sont alors encodées séparément avec un code correcteur d'erreur pour pouvoir supporter les erreurs de transmission. [0008] Notons encore qu'il a aussi été proposé de varier le nombre de copies d'un paquet en fonction de la charge du canal de communication. Cette variante du CRDSA a été baptisée IRSA (de l'anglais « Irregular Repetition Slotted ALOHA »). [0009] Le lecteur intéressé trouvera de plus amples détails sur les différents protocoles dans la littérature spécialisée. La technique CRDSA est notamment expliquée dans la demande de brevet US 2006/0171418 et dans les articles « Contention Resolution Diversity Slotted ALOHA (CRDSA): An Enhanced Random Access Scheme for Satellite Access Packet Networks », Enrico Casini et al. IEEE Transactions on Wireless Communications, Vol. 6, No. 4, Avril 2007, et « Advances in Random Access Protocols for Satellite Networks », Riccardo De Gaudenzi et al., IEEE International Workshop on Satellite and Space Communications (IWSSC) 2009. La méthode CSA est décrite dans la demande de brevet US 2011/0096795 et l'article « High Throughput Random Access via Codes on Graphs: Coded Slotted ALOHA », Enrico Paolini et al., IEEE ICC 2011. La méthode IRSA est décrite dans la demande de brevet US 2010/0124222 et dans l'article « A Slotted ALOHA Scheme Based on Bipartite Graph Optimization », Gianluigi Liva, SCC 2010. Objet de l'invention [0010] Un objet de la présente invention est d'augmenter la capacité de transmission d'une voie de communication par rapport aux techniques connues, discutées ci-avant. Description générale de l'invention [0011] Un premier aspect de l'invention concerne la transmission de données sur une voie de communication à accès multiple, la voie de communication étant segmentée en créneaux et/ou en fréquences. Un message à transmettre est transmis en un nombre, ci-après noté n (n peut être variable selon l'utilisateur), de paquets (aussi appelés « bursts ») répartis sur n créneaux et/ou fréquences sélectionnés de manière aléatoire, chaque paquet comprenant une section de signalisation indiquant les créneaux et/ou fréquences des n-1 autres paquets dans lesquels le message est transmis. Selon l'invention, le message à transmettre est encodé à l'aide d'un code correcteur pour former un mot de code, le mot de code ainsi formé est divisé en n parties qui sont réparties sur les n paquets et les sections de signalisation sont encodées, séparément du message, à l'aide d'un autre code correcteur. Il convient de noter que le terme « autre code correcteur » signifie dans ce contexte que le codage des sections de signalisation est indépendant ou séparé du codage du message à transmettre. L'usage de ce terme n'implique donc pas que les types de code soient forcément différents (bien que cela puisse représenter le cas normal en pratique). [0012] Le nombre n peut être égal et fixe pour tous les utilisateurs. De manière alternative, n peut être variable selon l'utilisateur, selon l'état de charge de la voie de communication et/ou selon le bruit sur la voie de communication. [0013] Au lieu de simplement transmettre des copies du message, comme dans les méthodes CRDSA IRSA et CSA (dans CSA, certaines copies peuvent être des copies de redondance générées avec un code à effacements), l'invention prévoit d'encoder le message à l'aide d'un code correcteur d'erreurs, p.ex. un Turbocode ou un code LDPC. Ensuite, le mot de code est entrelacé (c.-à-d. les symboles encodés sont mélangés aléatoirement ou suivant un ordre précis dans le mot de code - le désentrelacement qui est l'opération inverse sera effectué avant le décodage au niveau du décodeur) et découpé en n parties de longueur égale. Après la sélection aléatoire des créneaux, sur lesquels le message doit être réparti, on rajoute à chaque partie la section de signalisation, ainsi que d'éventuels autres champs prévus par le protocole (p.ex. un préambule ou un postambule.) Contrairement à la méthode CSA, la section de signalisation est encodée séparément de la section de données. [0014] Le code correcteur utilisé pour encoder le message possède de préférence un taux de codage, ci-après noté R, avec R 1/2, p. ex. compris dans la plage de 1/12 à 1/2. [0015] Le code correcteur utilisé pour encoder les sections de signalisation peut être un code Reed-Müller, un code convolutif, un code BCH (Bose-Chaudhuri- Hocquenghem), ou un turbocode. De préférence, le code correcteur utilisé pour encoder les sections de signalisation possède un taux de codage, ci-après noté R', avec R' 1/2, p. ex. compris dans la plage de 1/12 à 1/2. [0016] Un autre aspect de l'invention concerne un émetteur, configuré de sorte à exécuter le procédé de transmission de données. [0017] Un aspect important de l'invention concerne la réception de données transmises sur une voie de communication à accès multiple, par un ou plusieurs émetteurs transmettant selon le procédé esquissé ci-dessus. Selon le procédé de réception a) le signal en sortie de la voie de communication est numérisé donnant un signal (interféré) numérisé, c.-à-d. une séquence d'échantillons numériques représentant le signal analogique (interféré) en base de base ou intermédiaire ; b) une section de signalisation reconnue comme décodable sur le signal (interféré) numérisé est décodée et le groupe de créneaux et/ou fréquences contenant les paquets d'un même message est identifié ; c) les sections de signalisation appartenant aux paquets de ce même message sont éliminées sur le signal numérisé ; d) les étapes b) et c) sont répétées jusqu'à ce qu'aucune section de signalisation ne soit reconnue comme décodable, selon un algorithme d'élimination d'interférence itératif ; e) un décodage de message est tenté sur les groupes de créneaux et/ou fréquences identifiés. [0018] De préférence, pour éliminer les sections de signalisation à l'étape c), des répliques des sections de signalisation du groupe de créneaux et/ou fréquences sont générées dans l'entité réceptrice sur la base de la section de signalisation décodée et « retranchées » du signal interféré numérisé. [0019] L'étape e) se déroule, de préférence, de la manière suivante : el ) un décodage de message est tenté sur celui parmi les groupes de créneaux et/ou fréquences qui possède le plus de créneaux présentant le nombre d'interférences relativement le plus faible (mais pas nécessairement égal à 0, puisque le décodage reste possible si tous les paquets encodés d'un message sont chacun en collision avec un ou deux autres paquets) ; en cas d'échec, un décodage de message est tenté sur un ou plusieurs autres groupes de créneaux et/ou fréquences ; e2) dès qu'un décodage de l'étape el ) réussit, les paquets du message décodé sont éliminés sur le signal interféré numérisé ; et e3) les étapes el ) et e2) sont répétées, selon un algorithme d'élimination d'interférence itératif, jusqu'à ce qu'un décodage de message ne soit plus possible. [0020] De préférence, pour éliminer les paquets du message décodé à l'étape e2) des répliques des paquets du message décodé sont générées sur la base du message décodé et « retranchées » du signal interféré numérisé. [0021] Un autre aspect de l'invention concerne un récepteur ou un relais, configuré de sorte à exécuter le procédé de réception de données. [0022] Finalement, il est proposé un programme d'ordinateur comprenant des instructions exécutables par un processeur, les instructions étant configurées pour provoquer la mise en oeuvre, par le processeur, du procédé de réception de données, lorsque l'on fait tourner le programme d'ordinateur sur le processeur. Le programme d'ordinateur peut faire partie d'un produit de programme d'ordinateur comprenant un support (p.ex. une mémoire volatile ou permanente, un signal électrique ou un signal électromagnétique) pour les instructions. Brève description des dessins [0023] D'autres particularités et caractéristiques de l'invention ressortiront de la description détaillée d'un mode de réalisation avantageux présenté ci-dessous, à titre d'illustration, avec référence aux dessins annexés. Ceux-ci montrent: Fig. 1: un ordinogramme d'un procédé de transmission de données selon un mode de réalisation préféré du premier aspect de l'invention ; Fig. 2: un schéma d'une trame segmentée en créneaux de transmission pour n = 3 ; Fig. 3: un schéma d'un paquet de données utilisé dans le cadre du mode de réalisation préféré de l'invention : Figs. 4 à 16: des illustrations des différentes étapes d'un procédé d'élimination successive d'interférences mis en oeuvre dans le cadre d'un procédé de réception de données selon un mode de réalisation préféré d'un aspect de l'invention pour n = 3 ; Fig. 17: le taux d'erreur de paquet FER en fonction du rapport Es/No pour une section de signalisation encodée Reed-Müller (14,64) seule et interférée par une autre section de signalisation ; Fig. 18: le taux d'erreur de paquet FER en fonction du rapport Es/No pour un message de 456 bits encodé par un Turbocode avec R = 1/6 et modulé QPSK dans les situations de collision [0, 0, 0], [1, 1, 1] et [2, 2, 2] (si on suppose que n = 3 pour tous les utilisateurs, [0, 0, 0] représente le cas où aucun des 3 slots n'est interféré, [1, 1, 1] représente le cas où les 3 slots sont interférés par exactement un autre utilisateur sur chacun des slots et [2, 2, 2] représente le cas où les slots sont interférés par exactement deux autres utilisateurs) ; Figs. 19 à 22 : des ordinogrammes d'un mode de réalisation avantageux du procédé mis en oeuvre par un récepteur ou un relais pour recevoir des messages transmis sur une voie de communication selon le premier aspect de l'invention ; Fig. 23 : la capacité normalisée en fonction de la charge de trafic pour différents rapports Es/No d'un exemple de la méthode de transmission de données selon le premier aspect de l'invention (message de 456 bits encodé par un Turbocode avec R = 1/6 et modulé QPSK) ; Fig. 24 : la capacité normalisée en fonction de la charge de trafic pour différents rapports Es/No de la méthode CRDSA (exemple de comparaison) ; Fig. 25: le taux d'erreur de paquet FER en fonction du rapport Es/No pour un message de 680 bits encodé par un Turbocode avec R = 1/4 et modulé QPSK dans les situations de collision [0, 0, 0] et [1, 1, 1] ; Fig. 26 : la capacité normalisée en fonction de la charge de trafic pour différents 5 rapports Es/No d'un autre exemple de la méthode de transmission de données selon le premier aspect de l'invention (message de 680 bits encodé par un Turbocode avec R = 1/4 et modulé QPSK) ; Fig. 27 le taux d'erreur de paquet FER en fonction du rapport Es/No pour des cas de collisions non synchrones. 10 Description d'une exécution préférée [0024] La méthode de transmission de données, à laquelle les inventeurs entendent donner le nom de « MuSCA » (de l'anglais « Multi-Slots Coded ALOHA ») a été créée dans le but d'augmenter la diversité des bursts de données sur un canal comme celui du SA. Ce but est atteint grâce aux codes correcteurs d'erreur et au 15 codage réseau couche physique. La méthode MuSCA peut être vue comme un perfectionnement de la méthode CRDSA, où les différentes répliques du même paquet sont remplacées par les différentes parties d'un seul mot d'un code correcteur. Elle est également une amélioration par rapport à la méthode CSA, proposée par le DLR (Centre allemand d'aéronautique et de l'espace). 20 [0025] Le système contient des utilisateurs (émetteurs) qui se partagent un canal de communication à segmentation temporelle pour envoyer des données à un récepteur ou un relais (p.ex. un satellite ou une station de base). Le canal de communication est typiquement divisé en trames (de durée TF). Toutes, ou au moins une partie des trames sont réservées pour l'accès multiple aléatoire par les utilisateurs. Chacune de 25 ces trames est, à son tour, divisée en NS créneaux de durée TF/NS. [0026] La figure 1 illustre l'émission d'un message selon la méthode MuSCA par un utilisateur. Le procédé 100 commence par l'obtention du message (des données, de l'information utile) à transmettre. La génération du message 102 pourrait aussi être externe au procédé 100. Il est supposé que les messages transmis sur le canal de 30 communication sont de longueur convenue fixe, ci-après notée L (bits). Si un message d'une autre longueur devait être transmis, il faudrait le couper en blocs de la longueur convenue et/ou ajouter des bits de remplissage. Dans la suite, il sera donc supposé, sans perte de généralité, que les messages à transmettre possèdent la longueur convenue. A l'étape 104, le message à transmettre est codé avec un code correcteur ayant un taux de codage R. Le mot de code obtenu, de longueur 1/RxL bits, est modulé selon le schéma prévu pour la transmission (p. ex. BPSK ; QPSK, etc.), entrelacé et ensuite découpé 106 en n parties (n 2). Les n parties seront transmises dans n paquets, répartis sur n créneaux. Comme dans tous les procédés ALOHA, chaque utilisateur sélectionne (étape 108) les créneaux, dans lesquels il transmettra ses paquets, de manière aléatoire, sans tenir compte des autres utilisateurs. L'utilisateur génère ensuite une section de signalisation pour chacun des n paquets (étape 110). Chaque section de signalisation comprend une indication des n-1 créneaux (p. ex. les numéros des créneaux à l'intérieur de la trame) utilisés pour transmettre les autres paquets. Les sections de signalisation sont encodées avec un code correcteur et modulées (étape 112). Selon un aspect important de la méthode MuSCA, le codage du message et le codage des sections de signalisation sont effectués séparément, p. ex. avec des codes correcteurs différents. Chacun des n paquets est composé par assemblage de la partie de message codée et modulée et de la section de signalisation codée et modulée (étape 114). Eventuellement, un préambule et/ou un postambule sont rajoutés à chaque paquet. Finalement, l'utilisateur émet ses paquets dans les créneaux sélectionnés de la trame (étape 116). Tous les utilisateurs procèdent de la même façon pour émettre un message. Selon un mode avantageux de l'invention, chaque utilisateur ne peut envoyer que n paquets par trame, n étant égal pour tous les utilisateurs, et tous les utilisateurs emploient les mêmes codes correcteurs pour encoder les données et les sections de signalisation, respectivement. Notons toutefois que les utilisateurs pourraient utiliser différents codes correcteurs pour encoder les données et découper les mots de code en des nombres de paquets différents (n variable selon les utilisateurs et/ou les conditions de charge et/ou de bruit sur le canal de communication) avant de les envoyer. [0027] La figure 2 est une illustration schématique d'une trame MuSCA 200. Dans l'exemple illustré, un utilisateur a choisi les créneaux 2, 50 et 76 de la trame 200 pour transmettre son message (ici : n = 3). Le message, après encodage, entrelacement et modulation est réparti sur trois paquets 202-1, 202-2, 202-3 qui sont transmis dans respectivement un des créneaux sélectionnés. La figure 3 montre le détail d'un paquet (burst). Chaque paquet comprend le champ de données (d'information utile), p. ex. encodé Turbocode et modulé QPSK, la section de signalisation, p.ex. encodée Reed-Müller et modulée BPSK, un préambule, p. ex. modulé BPSK et une postambul, p. ex. modulé BPSK. Des champs tampon sont prévus au début et à la fin de chaque paquet pour tenir compte d'erreurs de synchronisation. Comme le montre la figure 2, la section de signalisation de chaque paquet contient l'indication des deux créneaux occupés par les autres paquets du même message : le paquet 202-1 pointe donc vers les créneaux 50 et 76, le paquet 202-2 vers les créneaux 2 et 76 et le paquet 202-3 vers les créneaux 2 et 50. Dans la suite, les paquets appartenant au même message (ou utilisateur) seront communément appelés un groupe de paquets. De même, on appellera groupe de créneaux le jeu de créneaux occupés par un groupe de paquets. [0028] Un récepteur ou relais reçoit un signal interféré qui correspond à la somme des signaux émis par les Nu utilisateurs après le passage dans le canal de communication. Du fait que les utilisateurs ne coordonnent pas l'occupation des créneaux, des collisions de paquets surviennent. Le nombre de collisions dépend de la charge de trafic sur le canal de communication. [0029] Le récepteur ou relais reçoit sur la trame de temps un signal interféré. Tout d'abord, le récepteur ou relais cherche à localiser les paquets de tous les utilisateurs en décodant la section de signalisation à l'aide d'un algorithme d'élimination successive des interférences (Successive Interference Cancellation, SIC). Ensuite, le récepteur ou relais procède au décodage des données en commençant de préférence avec l'utilisateur (c.-à-d. le groupe de paquets) qui a le plus de paquets non collisionnés (propres). A cette fin, le récepteur ou relais rassemble les champs de données de tous les paquets de cet utilisateur, reforme le mot de code de longueur Rx L bits par désentrelacement (c.-à-d. l'opération inverse de l'opération d'entrelacement réalisée au niveau de l'émetteur, qui est effectuée pendant cette étape afin de mélanger des symboles interférés avec des symboles qui ne le sont pas) et l'envoie au décodeur. Si le décodage réussit, le récepteur ou relais reconstruit les n paquets. Ensuite, le signal correspondant aux n paquets reconstruits est localisé et soustrait du signal interféré. Après la soustraction, le signal restant correspond à la contribution des signaux des Nu - 1 autres utilisateurs et du bruit du canal. Le procédé de décodage est itératif jusqu'à ce qu'on arrive à une situation où aucun autre message ne peut être décodé. [0030] Le déroulement de ce procédé est illustré dans les figures 4 à 16 pour un exemple concret (mais très simplifié en comparaison à une situation réelle). Dans l'exemple, n = 3 pour tous les utilisateurs, NS = 8, Nu = 6, n = 3. La figure 4 montre l'occupation des créneaux d'une trame par six utilisateurs qui envoient chacun trois paquets par message. Dans l'exemple, le niveau du bruit est de Es/No = 5 dB. On suppose que les messages de longueur L = 456 bits sont codés par un Turbocode à taux de codage R = 1/6 et modulés QPSK. Un mot de Turbocode est découpé en trois parties. Sur chacune de ces trois parties, on ajoute une section de signalisation qui indique les numéros des créneaux sur lesquels les deux autres paquets sont envoyés. La partie de signalisation est supposée codée par un code Reed-Müller (14, 64) et modulée BPSK. [0031] L'entité réceptrice (le récepteur ou le relais) qui s'occupe du décodage reçoit le signal interféré, le numérise et le met en mémoire. La suite des traitements de signal est réalisée sur la copie numérisée du signal. Le décodeur parcourt toute la trame à la recherche d'une section de signalisation potentiellement décodable (dans notre exemple : une section de signalisation seule dans un créneau ou interférée par un autre utilisateur au plus). La figure 17 montre le taux d'erreur de paquet (frame error rate, FER) en fonction du rapport Es/No pour une section de signalisation encodée Reed-Müller (14,64) seule et interférée par une autre section de signalisation. [0032] Le décodeur détecte un paquet « propre » dans le créneau 2. Il essaye donc de décoder la section de signalisation transmise dans ce créneau. Le FER est largement en dessous de 10-4. La section de signalisation de paquet a donc une forte chance d'être décodée. Supposons que ce décodage réussisse. Le décodeur peut alors localiser les 2 (n-1) autres paquets complémentaires (du même groupe de paquets) et soustraire leurs sections de signalisation du signal numérisé, comme le montre la figure 5. [0033] Le décodeur parcourt la trame une deuxième fois. Il n'y a pour l'instant aucun créneau ne contenant qu'un seul paquet. Le décodeur cherche donc un slot avec deux paquets. Il trouve en premier le créneau 4. Dans cette situation, FER = 2.10-2. Supposons que le décodage de la section de signalisation du paquet de l'utilisateur 4 dans ce créneau réussisse. Le décodeur enlève ensuite toutes les sections de signalisation des autres paquets de cet utilisateur (figure 6). [0034] En parcourant la trame une nouvelle fois, le décodeur trouve une section de signalisation « propre » dans le créneau 4. Il la décode (FER « 10-4) et enlève ensuite toutes les sections de signalisation de l'utilisateur 5 concerné (figure 7). Le décodeur trouve ensuite une section de signalisation « propre » dans le créneau 7, la décode et enlève toutes les sections de signalisation de l'utilisateur 3 concerné (figure 8). [0035] Il n'y a de nouveau aucun créneau ne contenant qu'un seul paquet. Le décodeur cherche donc un slot avec deux paquets (FER = 2.10-2). Il trouve en premier le créneau 1. Supposons que le décodage ne réussisse pas cette fois-ci. Le décodeur continue sa recherche. Il trouve le créneau 3. Supposons qu'il réussisse à décoder une section de signalisation (p.ex. celle de l'utilisateur 1). Toutes les sections de signalisation de l'utilisateur trouvé peuvent être supprimées (figure 9). [0036] Dans le cas où on n'arriverait à décoder aucune des sections de signalisation dans les créneaux 1, 3 et 6 (probabilité très faible, (2.10-2)3), les paquets des utilisateurs 1 et 6 ne pourraient pas être localisés et les données de ces deux utilisateurs ne pourraient pas être décodées par la suite. [0037] A cette phase du procédé, il ne reste donc que les sections de signalisation d'un seul utilisateur. La probabilité qu'on n'arrive pas à décoder au moins l'une d'entre elles est nettement inférieure à (10-4)3. On considère donc que le décodage est réussi et que les sections de signalisation de l'utilisateur 6 peuvent être supprimées (figure 10). [0038] Après le décodage des sections de signalisation, dans notre exemple, le décodeur a l'information sur la localisation de tous les paquets de chaque utilisateur, ainsi que sur le nombre de collisions dans lesquelles chacun de ses paquets est impliqué. Quand toutes les sections de signalisation ont été décodées, la situation peut être résumée par la tableau suivant. A priori, tous les groupes de paquets identifiés sont à décoder (marqués d'une coche dans les figures). Dans le tableau, la colonne « Collisions » indique le nombre de collisions pour les trois paquets du groupe respectif : [3, 2, 1] signifie que le premier, deuxième et troisième paquets du groupe se partagent leur créneau avec, respectivement, 3, 2 et 1 autre(s) paquet(s). Utilisateur Position 1 Position 2 Position 3 Collisions A décoder ? 1 1 3 6 [3, 2, 1] Oui 2 2 5 8 [0, 0, 2] Oui 3 1 3 7 [3, 2, 1] Oui 4 1 4 8 [3, 1, 2] Oui 4 7 8 [1, 1, 2] Oui 6 1 3 6 [3, 2, 1] Oui [0039] Pour commencer le décodage des messages, le décodeur cherche l'utilisateur qui a le plus de paquets « propres » (non collisionnés). Dans notre 5 exemple, il trouve l'utilisateur 2 (voir tableau ci-dessus). Il rassemble (concatène) les trois parties de mot de code trouvées de cet utilisateur effectue le désentrelacement afin de pouvoir réaliser le décodage. La figure 18 montre le taux d'erreur de paquet FER en fonction du rapport Es/No pour un message de 456 bits encodé par un Turbocode avec R = 1/6 et modulé QPSK dans les situations de collision [0, 0, 0], [1, 1, 1] et [2, 2, 2]. On peut prouver que la probabilité qu'on n'arrive pas à décoder le message de l'utilisateur 2 (avec Es/No = 5 dB) est inférieure à 10-5. Supposons donc que le décodeur arrive à le décoder. Connaissant le message d'origine de l'utilisateur 2, le récepteur ou relais peut reconstituer le mot de code correspondant et les paquets envoyés. Les paquets de cet utilisateur sont alors supprimés du signal numérisé mis en mémoire et le groupe de paquets de l'utilisateur est supprimé de la liste des groupes de paquets à examiner (figure 11). [0040] Dans la situation de la figure 11, aucun autre message ne pourrait être décodé si on employait les procédés CRDSA ou CSA, car il n'y a plus aucun utilisateur ayant des paquets « propres ». Selon le procédé MuSCA, le décodeur cherche donc l'utilisateur qui a le plus de paquets qui se partagent le créneau avec un seul autre utilisateur. Après élimination des paquets de l'utilisateur 2, la configuration de l'utilisateur 5, en termes de collisions, est [1, 1, 1]. La probabilité de non-décodage à Es/No = 5 dB est inférieure à 10-5. Supposons qu'on ne puisse pas décoder cet utilisateur malgré ce faible taux d'erreur. Le groupe de paquets de l'utilisateur 5 sera marqué comme non décodable (figure 12) jusqu'à ce que sa configuration de collisions (actuellement [1, 1, 1]) change. [0041] Le décodeur cherche donc un autre message à décoder. La configuration de l'utilisateur 4 est [3, 1, 1]. Le FER[3, 1, 1] à Es/No = 5 dB est de 2.10-4. Supposons que le décodage du message de l'utilisateur 4 réussisse. Le décodeur crée les répliques des paquets de l'utilisateur 4 et les soustrait du signal numérisé en mémoire. L'élimination des paquets de l'utilisateur 4 change la configuration des collisions de l'utilisateur 5 en [0, 1, 0]. Le groupe de paquets de l'utilisateur 5 est donc rajouté à la liste des groupes à traiter (figure 13). [0042] En supposant que les décodages suivants réussissent, le décodeur extrait le message de l'utilisateur 5 et ensuite celui de l'utilisateur 3. A chaque fois, les paquets concernés sont éliminés (figures 14 et 15). [0043] On retombe sur un cas de blocage dans des systèmes CRDSA et CSA. Dans l'exemple, la probabilité de décodage d'un des deux groupes de paquets qui restent est élevée (1 - 2.10-5). Une fois qu'un message restant est décodé et les paquets correspondant sont supprimés (figure 16), les données du dernier utilisateur ont évidemment toutes les chances d'être récupérées à leur tour. [0044] Les figures 19 à 22 sont des ordinogrammes illustrant le procédé mis en oeuvre par un récepteur ou un relais pour recevoir des messages transmis sur une 20 voie de communication MuSCA. [0045] La figure 19 concerne le décodage et l'élimination successive des sections de signalisation. Le décodage des messages est illustré à la figure 20. Le procédé de réception 300 commence par la numérisation du signal interféré 302, incluant entre autres la conversion de fréquence, l'échantillonnage, la quantification ainsi que la 25 mise en mémoire du flux de données numériques. Une liste des créneaux à examiner est initialisée (étape 304). Au départ, tous les créneaux de la trame sont à examiner. Est également créée une liste des groupes de créneaux contenant des paquets appartenant au même message ou utilisateur (étape 306). [0046] Le décodeur parcourt ensuite les créneaux de la trame pour identifier un 30 créneau présentant une probabilité de décodage élevée (étape 308). De préférence, on choisit le créneau pour lequel cette valeur est la plus élevée. Au cas où plusieurs créneaux ont la même valeur, le décodeur peut choisir parmi eux au hasard ou simplement le premier sur lequel il tombe. Dans l'exemple discuté ci-avant, les créneaux 2 et 5 ont initialement la probabilité de décodage la plus élevée. [0047] La figure 21 montre comment l'étape 308 peut être réalisée en pratique. Le décodeur cherche d'abord un créneau contenant un seul paquet (N = 1) parmi les créneaux à examiner. Dès qu'il trouve un tel créneau, il continue le décodage dans ce créneau. Si aucun créneau à un seul paquet n'existe dans la trame, le décodeur cherche un créneau avec (exactement) deux paquets en collision (N = 2) parmi les créneaux à examiner. Dès qu'il trouve un tel créneau, il continue le décodage dans ce créneau. En cas d'échec, le décodeur continue la recherche en augmentant progressivement le nombre de paquets en collision jusqu'à une valeur maximale (Nmax). Nmax dépend de l'encodage des sections de signalisation : plus l'encodage introduit de redondance, plus grand sera le nombre de sections de signalisation en collision qui peuvent être décodées avec une probabilité prédéfinie. Dans l'exemple discuté, Nmax = 2. Si la recherche ne retourne aucun créneau avec N = Nmax, d'éventuels groupes de créneaux restants sont considérés comme non identifiables et le décodeur continue avec le décodage des messages (données utiles). [0048] Si un créneau potentiellement décodable est trouvé en 308, le décodeur passe à la démodulation de ce créneau (étape 310). Ensuite, il tente le décodage de la section de signalisation (étape 312). Si le décodage échoue, le créneau en question est supprimé (au moins provisoirement) de la liste des créneaux à examiner (étape 314). Dans le cas contraire, le décodeur identifie les localisations (les créneaux) des autres paquets du groupe (étape 316). Le groupe de créneaux ainsi trouvé est noté dans la liste des groupes de créneaux (étape 324). Le décodeur reconstruit les sections de signalisation des autres paquets du groupe (étape 318) et les supprime dans le signal numérisé, au niveau des créneaux concernés (étape 320). Les créneaux du groupe identifié sont rajoutés à la liste des créneaux à examiner (étape 322) parce que la suppression des sections de signalisation rend éventuellement possible un décodage qui ne l'était pas auparavant. [0049] Les étapes 308-324 sont répétées jusqu'à ce qu'il ne reste plus aucune section de signalisation dans des créneaux décodables. Au fur et à mesure des itérations, la liste des groupes de créneaux (ou des groupes de paquets) est complétée. Le décodeur passe ensuite au décodage des données utiles (étape 400) expliquée plus en détail avec référence aux figures 20 et 22. [0050] Les mots de code à décoder sont identifiés par les groupes de créneaux obtenus par décodage des sections de signalisation. La liste à examiner est donc initialisée comme la liste des groupes de créneaux identifiés (étape 402). Le décodeur essaie ensuite de détecter le mot de code ayant la probabilité de décodage la plus élevée parmi les éléments de la liste à examiner. Comme montré à la figure 22, le décodeur cherche d'abord dans la liste le groupe de créneaux ayant le plus de créneaux à 0 collision (N = nombre d'interférences = 0). Dès qu'il trouve un tel groupe, il tente le décodage du mot de code correspondant. S'il n'existe pas de groupe de créneaux ayant un créneau non collisionné, le décodeur cherche le groupe de créneaux ayant le plus de créneaux en commun avec un seul autre groupe de créneaux (N= nombre d'interférences = 1). Dès qu'il trouve un tel groupe, il tente le décodage du mot de code correspondant. Si le code correcteur utilisé permet le décodage même en présence de collisions de plus de deux paquets, le décodeur cherche un groupe de créneaux ayant le plus de créneaux en commun avec (exactement) 2, 3, etc. autres groupes de créneaux. (Dans l'exemple discuté : Nmax = 1). Si la recherche ne retourne aucun groupe de créneaux avec N = Nmax, aucun autre message n'est considéré décodable et le décodeur s'arrête (étape 406). [0051] Une fois le groupe de créneaux présentant la probabilité de décodage la plus élevée identifiée, les parties de mots de code contenues dans les créneaux du groupe sont rassemblées (concaténées) (étape 408) et démodulées (étape 410). Ensuite, le décodeur tente le décodage proprement dit (étape 412). Si le décodage ne réussit pas (sortie « NON »), le groupe de créneaux en cours est enlevé (étape 414) de la liste à examiner (voir aussi figure 11). Si le décodage réussit, le décodeur génère des répliques des paquets et les soustrait du signal numérisé en mémoire (étape 418). Si l'élimination des interférences change la configuration de collisions d'un autre groupe de créneaux (précédemment supprimé de la liste à examiner), celui-ci est remis sur la liste à examiner (étape 420). Le groupe de créneaux traité avec succès est supprimé de la liste à examiner (étape 422). Le décodeur répète les étapes 404, et 408-422 jusqu'à ce qu'il n'arrive plus à détecter un mot de code potentiellement décodable. [0052] Des simulations ont été réalisées pour prouver les avantages de la méthode MuSCA par rapport aux méthodes existantes. Afin de pouvoir faire des comparaisons avec des méthodes existantes, des études ont d'abord été menées avec un code qui permette d'obtenir des paquets de même longueur que la méthode CRDSA et d'envoyer essentiellement la même quantité de données par créneau que la méthode CRDSA. Les paramètres sont ceux de l'exemple discuté ci-avant : les données des utilisateurs sont codées par blocs de 456 bits par un Turbocode R = 1/6, modulation QPSK. Ceci crée des mots de code (après modulation) de 1380 symboles. Les données d'un mot de code sont entrelacées aléatoirement (désentrelacées à la réception). Chaque mot de code est découpé en trois parties. La longueur de chaque paquet est donc de 460 symboles (ce qui correspond à la longueur d'une trame DVBRCS). La figure 18 a déjà été discutée dans le cadre de l'exemple de décodage. Notons que les courbes montrées correspondent à des cas de collisions parfaitement synchrones. En réalité, les signaux des différents utilisateurs n'arrivent normalement pas parfaitement en même temps (mais décalés jusqu'à quelques bits, p. ex. jusqu'à 5 bits pour le DVB-RCS). Il convient de noter qu'une légère désynchronisation des différents utilisateurs peut même améliorer le rapport FER en fonction du rapport Es/No. La figure 27 représente le rapport FER en fonction du rapport Es/No du Turbocode R= 1/6 dans les cas où le décalage est de respectivement 0, 1/5, 2/5, 3/5, 4/5 et 5/5 de la période symbole Ts. On voit qu'une désynchronisation entraîne un rapport FER plus faible pour le même rapport Es/No.) [0053] Des paquets en collision avec trois autres paquets ou plus n'ont pas été considérés comme apportant de l'information au décodage. Ils sont donc considérés comme effacés. Par contre, le fait que des paquets en collision avec un ou deux autres paquets ne soient pas complètement perdus facilite le décodage et augmente donc le débit possible (la capacité de la voie de communication). La figure 23 montre la capacité normalisée en fonction de la charge de trafic pour différents rapports Es/No de la méthode MuSCA (avec les paramètres indiqués). La figure 24 montre, comme exemple de comparaison, la capacité normalisée en fonction de la charge de trafic pour différents rapports Es/No de la méthode CRDSA. Sur une trame de 100 créneaux, la méthode MuSCA arrive à faire passer les messages de jusqu'à 125 utilisateurs (capacité normalisée = 1,25). La capacité normalisée de la méthode CRDSA s'élève à 0,68 (en présence de très peu de bruit). [0054] Les valeurs de charge du canal permettant d'optimiser le débit (la capacité) doivent être choisies soigneusement. Le débit (T) est borné par la charge (G). Donc, en augmentant la charge, le débit normalisé pourrait être plus grand. Cependant, si la charge dépasse un certain seuil, le fait que la trame est pleine commence à se faire ressentir : le taux de collision et donc le taux de perte de paquets augmente, et T diminue. Pour augmenter le débit du système, on a aussi essayé le codage des données avec un Turbocode à R= 1/4, avec des messages de longueur L = 680 bits. Après modulation QPSK, le mot de code de 1380 symboles a été découpé en trois parties. La figure 25 montre le FER pour les configurations de collision [0, 0, 0] et [1, 1, 1], respectivement. La figure 26 montre la capacité normalisée en fonction de la charge de trafic pour différents rapports Es/No de la méthode MuSCA (Turbocode à R = 1/4, L = 680, modulation QPSK). Pour obtenir les courbes de la figure 26, des paquets en collision avec deux autres paquets ou plus ont été considérés perdus. On remarque, p. ex. qu'à Es/No = 6 dB, le débit est environ 1,9 fois supérieur au débit obtenu avec le CRDSA (rapport des capacités normalisées 0,9/0,7, à multiplier par le rapport des longueurs de message 680/460). [0055] Il convient de noter que si la voie de communication n'est pas seulement divisée en créneaux mais aussi en plusieurs fréquences, la section de signalisation de chaque paquet doit aussi indiquer les fréquences sur lesquelles les autres paquets du groupe sont transmis. L'homme du métier sera en mesure de généraliser la méthode décrite en détail à ce cas de figure. REVENDICATIONS1. Procédé de transmission de données sur une voie de communication à accès multiple (100), la voie de communication étant segmentée en créneaux et/ou en fréquences, dans lequel un message à transmettre est transmis en un nombre, ci-après noté n, de paquets répartis sur n créneaux et/ou fréquences sélectionnés de manière aléatoire, chaque paquet comprenant une section de signalisation indiquant les créneaux et/ou fréquences des n-1 autres paquets dans lesquels le message est transmis ; caractérisé en ce que le message à transmettre est encodé à l'aide d'un code correcteur pour former un mot de code (104) ; en ce que le mot de code est divisé en n parties (106) qui sont réparties sur les n paquets (114) et en ce que les sections de signalisation sont encodées, séparément du message, à l'aide d'un autre code correcteur (112). 2. Procédé de transmission selon la revendication 1, dans lequel n est variable selon l'utilisateur, selon l'état de charge de la voie de communication et/ou selon le bruit sur la voie de communication. 3. Procédé de transmission selon la revendication 1 ou 2, dans lequel le code correcteur utilisé pour encoder le message à transmettre est un Turbocode ou un code LDPC. 4. Procédé de transmission selon l'une quelconque des revendications 1 à 3, dans lequel le code correcteur utilisé pour encoder le message possède un taux de codage inférieur ou égal à 1/2. 5. Procédé de transmission selon l'une quelconque des revendications 1 à 4, dans lequel le code correcteur utilisé pour encoder les sections de signalisation est un code Reed-Müller, un code convolutif ou un code BCH ou un turbocode. 6. Procédé de transmission selon l'une quelconque des revendications 1 à 5, dans lequel le code correcteur utilisé pour encoder les sections de signalisation possède un taux de codage inférieur ou égal à 1/2. 7. Emetteur, configuré de sorte à exécuter le procédé de transmission de données selon l'une quelconque des revendications 1 à 6. 8. Procédé de réception de données transmises (300), par un ou plusieurs émetteurs opérant selon le procédé de l'une quelconque des revendications 1 à 6, sur une voie de communication à accès multiple, dans lequel a) le signal en sortie de la voie de communication est numérisé(302) ; b) une section de signalisation reconnue comme décodable sur le signal numérisé est décodée (312) et le groupe de créneaux et/ou fréquences contenant les paquets d'un même message est identifié (316) ; c) les sections de signalisation appartenant aux paquets de ce même message sont éliminées sur le signal numérisé (318, 320) ; d) les étapes b) et c) sont répétées jusqu'à ce qu'aucune section de signalisation ne soit reconnue comme décodable, selon un algorithme d'élimination d'interférence itératif ; e) un décodage de message (400) est tenté sur les groupes de créneaux et/ou fréquences identifiés. 9. Procédé selon la revendication 8, dans lequel, pour éliminer les sections de signalisation à l'étape c) des répliques des sections de signalisation du groupe de créneaux et/ou fréquences sont générées sur la base de la section de signalisation décodée (318) et retranchées du signal numérisé (320). 10. Procédé de réception selon la revendication 8 ou 9, dans lequel, à l'étape e), el ) un décodage de message est tenté sur celui parmi les groupes de créneaux et/ou fréquences qui possède le plus de créneaux présentant le nombre d'interférences relativement le plus faible (404-412) ; en cas d'échec, un décodage de message est tenté sur un ou plusieurs autres groupes de créneaux et/ou fréquences ; e2) dès qu'un décodage de l'étape el ) réussit, les paquets du message décodé sont éliminés sur le signal numérisé (416, 418) ; et e3) les étapes el ) et e2) sont répétées, selon un algorithme d'élimination d'interférence itératif, jusqu'à ce qu'un décodage de message ne soit plus possible (406). 11. Procédé de réception selon la revendication 9, dans lequel, pour éliminer les paquets du message décodé à l'étape e2) des répliques des paquets du message décodé sont générées sur la base du message décodé (416) et retranchées du signal numérisé (418). 12. Récepteur ou relais, configuré de sorte à exécuter le procédé de réception de données selon l'une quelconque des revendications 8 à 11. 13. Programme d'ordinateur comprenant des instructions exécutables par un processeur, les instructions étant configurées pour provoquer la mise en oeuvre, par le processeur, du procédé selon l'une quelconque des revendications 8 à 11, lorsque l'on fait tourner le programme d'ordinateur sur le processeur.