WO2013037815A1 - Procédé de transmission de données sur une voie de communication à accès multiple - Google Patents

Procédé de transmission de données sur une voie de communication à accès multiple Download PDF

Info

Publication number
WO2013037815A1
WO2013037815A1 PCT/EP2012/067818 EP2012067818W WO2013037815A1 WO 2013037815 A1 WO2013037815 A1 WO 2013037815A1 EP 2012067818 W EP2012067818 W EP 2012067818W WO 2013037815 A1 WO2013037815 A1 WO 2013037815A1
Authority
WO
WIPO (PCT)
Prior art keywords
message
packets
slots
signaling
transmitted
Prior art date
Application number
PCT/EP2012/067818
Other languages
English (en)
Inventor
Huyen Chi BUI
Jérôme Lacan
Marie-Laure Boucheret
Guy Lesthievent
Original Assignee
Centre National D'etudes Spatiales
Institut Supérieur De L'aéronautique Et De L'espace
Institut National Polytechnique De Toulouse
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Centre National D'etudes Spatiales, Institut Supérieur De L'aéronautique Et De L'espace, Institut National Polytechnique De Toulouse filed Critical Centre National D'etudes Spatiales
Publication of WO2013037815A1 publication Critical patent/WO2013037815A1/fr

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0045Arrangements at the receiver end
    • H04L1/0047Decoding adapted to other signal detection operation
    • H04L1/0048Decoding adapted to other signal detection operation in conjunction with detection of multiuser or interfering signals, e.g. iteration between CDMA or MIMO detector and FEC decoder
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0057Block codes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0072Error control for data other than payload data, e.g. control data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/0078Avoidance of errors by organising the transmitted data in a format specifically designed to deal with errors, e.g. location
    • H04L1/0079Formats for control data
    • H04L1/008Formats for control data where the control data relates to payload of a different packet
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/0078Avoidance of errors by organising the transmitted data in a format specifically designed to deal with errors, e.g. location
    • H04L1/0091Avoidance of errors by organising the transmitted data in a format specifically designed to deal with errors, e.g. location arrangements specific to receivers, e.g. format detection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W74/00Wireless channel access
    • H04W74/08Non-scheduled access, e.g. ALOHA
    • H04W74/0833Random access procedures, e.g. with 4-step access
    • H04W74/0841Random access procedures, e.g. with 4-step access with collision treatment

Definitions

  • the present invention relates to the transmission of data on a channel (channel) of multiple access communication.
  • the ALOHA protocol is a communication protocol on a multiple access channel.
  • the principle at its base is very simple. Each user sends a packet of data regardless of other users and waits for acknowledgment. If the acknowledgment is not received within a predefined time, the user sends the same data packet again after a randomly chosen delay. If data packets of multiple users overlap in time (collision situation), there is a very high probability that all packets will be lost.
  • these data packets are generally encoded using an error correction code (for example a turbo-code, a convolutional code, etc.) to form coded packets that can thus to support the transmission errors generated by the noise of the channel.
  • an error correction code for example a turbo-code, a convolutional code, etc.
  • the communication channel is divided into frames (in English: frame), and each frame is subdivided into slots (in English: slots) of duration substantially equal to the duration of a packet (also called "burst"), and an encoded packet should only be sent within a slot.
  • burst the duration of a packet
  • the DSA protocol (of the English "Diversity Slotted ALOHA") has been proposed to further increase the transmission capacity (in English "throughput") of the system.
  • this protocol each data packet is transmitted twice to within each frame, i.e. two identical copies of the same encoded packet are sent in two different slots, chosen randomly.
  • CRDSA of the English "Contention Resolution Diversity Slotted ALOHA”
  • CRDSA the English "Contention Resolution Diversity Slotted ALOHA”
  • CRDSA the English "Contention Resolution Diversity Slotted ALOHA”
  • the data packet and the indication of the position of the other copy are then encoded together to form an encoded packet.
  • the second copy, as well as its position indicator (which points to the slot of the received copy) can then be reconstructed and removed from the received signal according to an interference elimination algorithm.
  • This removal step optionally provides access to a packet that was in collision with the deleted copy.
  • the CSA (Coded Slotted ALOHA) method is an improvement of the CRDSA method. Instead of simply sending copies of the packets, the CSA method plans to encode the copies using an erasure correction code (or erase code) to generate redundancy copies. These different copies are then encoded separately with an error correction code to be able to withstand transmission errors.
  • an erasure correction code or erase code
  • CRDSA Contention Resolution Diversity Slotted ALOHA
  • the CSA method is described in the application for US Patent 201 1/0096795 and "High Throughput Random Access via Codes on Graphs: ALOHA Coded Slotted", Enrico Paolini et al., IEEE ICC 201 1.
  • the IRSA method is described in the patent application US 2010/0124222 and in the article “A Slotted ALOHA Scheme Based on Bipartite Graph Optimization", Gianluigi Liva, SCC 2010. Object of the invention
  • An object of the present invention is to increase the transmission capacity of a communication channel with respect to known techniques, discussed above.
  • a first aspect of the invention relates to the transmission of data over a multi-access communication channel, the communication channel being segmented into slots and / or frequencies.
  • a message to be transmitted is transmitted in a number, hereinafter denoted n (n may be variable depending on the user), packets (also called “bursts") distributed over n slots and / or frequencies selected randomly, each packet comprising a signaling section indicating the slots and / or frequencies of the n-1 other packets in which the message is transmitted.
  • the message to be transmitted is encoded by means of a correction code to form a codeword, the code word thus formed is divided into n parts which are distributed over the n packets and the signaling sections.
  • n can be equal and fixed for all users.
  • n may be variable depending on the user, depending on the state of charge of the communication channel and / or on the noise on the communication channel.
  • the invention provides to encode the message using an error-correcting code, p. ex. a Turbocode or an LDPC code. Then, the codeword is interleaved (ie the encoded symbols are mixed randomly or in a precise order in the code word - the deinterlacing which is the reverse operation will be performed prior to decoding at the decoder ) and cut into n parts of equal length.
  • an error-correcting code p. ex. a Turbocode or an LDPC code.
  • the signaling section is encoded separately from the data section.
  • the correction code used to encode the message preferably has a coding rate, hereinafter denoted R, with R ⁇ 1/2, p. ex. in the range of 1/12 to 1/2.
  • the corrector code used to encode the signaling sections may be a Reed-Miiller code, a convolutional code, a BCH code (Bose-Chaudhuri- Hocquenghem), or a turbocode.
  • the correction code used to encode the signaling sections has a coding rate, hereinafter denoted R ', with R' ⁇ 1/2, p. ex. in the range of 1/12 to 1/2.
  • Another aspect of the invention relates to a transmitter configured to execute the data transmission method.
  • An important aspect of the invention relates to the reception of data transmitted over a multiple access communication channel, by one or more transmitters transmitting according to the method outlined above. According to the reception method: a) the signal at the output of the communication channel is digitized giving a digitized (interfered) signal, i.e.
  • a sequence of digital samples representing the analog (interfered) base or intermediate base signal b) a signaling section recognized as decodable on the digitized (interfered) signal is decoded and the group of slots and / or frequencies containing the packets of the same message is identified; c) the signaling sections belonging to the packets of this same message are eliminated on the digitized signal; d) steps b) and c) are repeated until no signaling section is recognized as decodable, according to an iterative interference elimination algorithm; e) a message decoding is attempted on the groups of slots and / or frequencies identified.
  • replicas of the signaling sections of the slot group and / or frequencies are generated in the receiver entity on the basis of the decoded signaling section and "Cut off" from the digitized interfered signal.
  • Step e) preferably takes place in the following manner: e1) a message decode is attempted on the one of the groups of slots and / or frequencies that has the most slots with the number of interferences relatively weakest (but not necessarily equal to 0, since decoding remains possible if all the encoded packets of a message are each colliding with one or two other packets); in case of failure, a message decoding is attempted on one or more other groups of slots and / or frequencies; e2) as soon as a decoding of step e1) succeeds, the packets of the decoded message are discarded on the digitized interfered signal; and e3) steps e1) and e2) are repeated, according to an iterative interference elimination algorithm, until message decoding is no longer possible.
  • replicas of the packets of the decoded message are generated based on the decoded message and "removed" from the digitized interfered signal.
  • a receiver or relay configured to execute the data receiving method.
  • a computer program comprising instructions executable by a processor, the instructions being configured to cause the implementation, by the processor, of the data reception method, when one rotates the computer program on the processor.
  • the computer program may be part of a computer program product comprising a medium (eg volatile or permanent memory, an electrical signal, or an electromagnetic signal) for instructions.
  • Fig. 1 a flow chart of a data transmission method according to a preferred embodiment of the first aspect of the invention
  • Fig. 3 a diagram of a data packet used in the context of the preferred embodiment of the invention:
  • Fig. 17 the packet error rate FER based on the ratio E s / N 0 for a Reed-Miiller encoded signaling section (14, 64) alone and interfered by another signaling section;
  • Figs. 19 to 22 flowcharts of an advantageous embodiment of the method implemented by a receiver or a relay for receiving messages transmitted on a communication channel according to the first aspect of the invention;
  • Fig. 24 the capacity standardized according to the traffic load for different reports E s / N 0 of the CRDSA method (comparison example);
  • Fig. 27 the packet error rate FER according to the ratio E s / N 0 for cases of non-synchronous collisions.
  • the system contains users (transmitters) who share a time-segmented communication channel for sending data to a receiver or relay (eg a satellite or a base station).
  • the communication channel is typically divided into frames (of duration T F ). All or at least some of the frames are reserved for random multiple access by the users. Each of these frames is, in turn, divided into N s time slots T F / N S.
  • FIG. 1 illustrates the transmission of a message according to the MuSCA method by a user.
  • the method 100 begins by obtaining the message (data, useful information) to be transmitted.
  • the generation of the message 102 could also be external to the method 100.
  • L bits
  • the messages transmitted on the communication channel are of fixed length, hereinafter denoted L (bits). If a message of another length were to be transmitted, it would be necessary to cut it into blocks of the agreed length and / or to add filler bits. In the following, it will be assumed, without loss of generality, that the messages to be transmitted have the agreed length.
  • the message to be transmitted is coded with a correction code having a coding rate R.
  • the obtained code word is modulated according to the scheme provided for the transmission (e.g. BPSK, QPSK, etc.), interleaved and then cut 106 into n parts (n> 2).
  • the n parts will be transmitted in n packets, spread over n slots.
  • each user selects (step 108) the slots, in which he will transmit his packets, randomly, without taking into account other users.
  • the user then generates a signaling section for each of the n packets (step 1 10).
  • Each signaling section includes an indication of the n-1 slots (eg, slot numbers within the frame) used to transmit the other packets.
  • the signaling sections are encoded with a correction code and modulated (step 1 12).
  • the coding of the message and the coding of the signaling sections are done separately, e.g. ex. with different correction codes.
  • Each of the n packets is composed by assembling the coded and modulated message portion and the coded and modulated signaling section (step 1-14).
  • a preamble and / or a postamble are added to each packet.
  • the user transmits his packets in the selected slots of the frame (step 1 16). All users proceed in the same way to send a message.
  • each user can send only n packets per frame, n being equal for all users, and all users use the same correcting codes to encode the data and the data. signaling sections, respectively. Note, however, that users could use different correcting codes to encode the data and split the code words into different numbers of packets (n variable depending on the users and / or load conditions and / or noise on the communication channel) before sending them.
  • FIG. 2 is a schematic illustration of a MuSCA 200 frame.
  • the message, after encoding, interleaving and modulation is distributed over three packets 202-1, 202-2, 202-3 which are transmitted in respectively one of the selected slots.
  • Figure 3 shows the detail of a packet (burst).
  • Each packet includes the (useful information) data field, p. ex. encoded Turbocode and modulated QPSK, the signaling section, p. ex. encoded Reed-Miiller and modulated BPSK, a preamble, p. ex. modulated BPSK and a postambul, p. ex. modulated BPSK.
  • Buffer fields are provided at the beginning and end of each packet to account for synchronization errors.
  • the signaling section of each packet contains the indication of the two slots occupied by the other packets of the same message: packet 202-1 therefore points to slots 50 and 76, packet 202-2 to slots 2 and 76 and packet 202-3 to slots 2 and 50.
  • packets belonging to the same message (or user) will commonly be called a group of packets.
  • the slot set occupied by a group of packets will be called a slot group.
  • a receiver or relay receives an interfered signal which corresponds to the sum of the signals transmitted by the N u users after the passage in the communication channel. Because users do not coordinate slot occupancy, packet collisions occur. The number of collisions depends on the traffic load on the communication channel.
  • the receiver or relay receives on the time frame an interfered signal.
  • the receiver or relay seeks to locate the packets of all users by decoding the signaling section using a Successive Interference Cancellation (SIC) algorithm.
  • the receiver or relay decodes the data starting from preference with the user (ie the group of packets) that has the most non-collision (clean) packets.
  • the receiver or relay collects the data fields of all packets of this user, reforming the code word of length R * L bits by deinterleaving (ie the reverse operation of the operation interleaving performed at the transmitter, which is performed during this step to mix interfered symbols with symbols that are not) and sends it to the decoder.
  • deinterleaving ie the reverse operation of the operation interleaving performed at the transmitter, which is performed during this step to mix interfered symbols with symbols that are not
  • the receiver or relay reconstructs the n packets. Then, the signal corresponding to the n reconstructed packets is located and subtracted from the interfered signal. After the subtraction, the remaining signal corresponds to the contribution of the signals of N u - 1 other users and the noise of the channel.
  • the decoding process is iterative until a situation is reached where no other message can be decoded.
  • Figure 4 shows the slot occupancy of a frame by six users who each send three packets per message .
  • a word from Turbocode is divided into three parts. On each of these three parts, a signaling section is added which indicates the numbers of the slots on which the two other packets are sent.
  • the signaling portion is assumed to be encoded by a Reed-Muller code (14, 64) and modulated by BPSK.
  • the receiving entity (the receiver or the relay) which deals with the decoding receives the interfered signal, digitizes it and puts it in memory. The rest of the signal processing is performed on the digitized copy of the signal.
  • the decoder scans the entire frame looking for a potentially decodable signaling section (in our example: a signaling section only in a slot or interfered by another user at most).
  • FIG. 17 shows the frame error rate (FER) as a function of the ratio E s / N 0 for a Reed-Miiller encoded signaling section (14, 64) alone and interfered with by another signaling section .
  • the decoder detects a "clean" packet in slot 2. It therefore tries to decode the signaling section transmitted in this slot.
  • the FER is well below 10 "4.
  • the packet signaling section therefore has a good chance of being decoded, assuming this decoding is successful, and the decoder can locate the 2 (n-1) other complementary packets (from same group of packets) and subtract their signaling sections from the digitized signal, as shown in Figure 5.
  • the decoder After the decoding of the signaling sections, in our example, the decoder has information on the location of all the packets of each user, as well as the number of collisions in which each of its packets is involved.
  • the situation can be summarized by the following table.
  • a priori all groups of identified packages are to be decoded (marked with a check mark in the figures).
  • the column "Collisions" indicates the number of collisions for the three packets of the respective group: [3, 2, 1] means that the first, second and third packets of the group share their slot with, respectively, 3, 2 and 1 other package (s).
  • the decoder seeks the user who has the most "clean" (non-collisioned) packets. In our example, he finds user 2 (see table above). It gathers (concatenates) the three found codeword parts of this user performs the deinterlacing in order to be able to perform the decoding.
  • the receiver or relay can reconstruct the corresponding codeword and sent packets.
  • the packets of this user are then removed from the signal digitized stored and the user's packet group is removed from the list of groups of packets to examine ( Figure 1 1).
  • the decoder therefore seeks another message to decode.
  • the configuration of user 4 is [3, 1, 1].
  • the decoder creates the replicas of the user's packets 4 and subtracts them from the digitized signal in memory, the user 4 packet removal changes the user's collisions pattern to [0, 1, 0], so the user's packet group 5 is added to the list of groups to be processed (FIG. 13)
  • the decoder extracts the message from the user 5 and then that from the user 3. Each time, the packets concerned are eliminated ( Figures 14 and 15).
  • FIGS. 19 to 22 are flowcharts illustrating the method implemented by a receiver or relay to receive messages transmitted on a MuSCA communication channel.
  • Figure 19 relates to the decoding and the successive elimination of the signaling sections.
  • the decoding of the messages is illustrated in FIG. 20.
  • the reception method 300 begins with the digitization of the interfered signal 302, including inter alia the frequency conversion, the sampling, the quantization as well as the storing of the digital data stream. .
  • a list of slots to be examined is initialized (step 304). Initially, all the slots of the frame are to be examined. Also, a list of slot groups containing packets belonging to the same message or user (step 306) is created.
  • the decoder then travels the slots of the frame to identify a slot having a high probability of decoding (step 308).
  • the slot for which this value is the highest is chosen.
  • the decoder can choose among them at random or simply the first one on which it falls.
  • slots 2 and 5 initially have the highest probability of decoding.
  • Figure 21 shows how step 308 can be performed in practice.
  • the decoder proceeds to the demodulation of this slot (step 310). Then, he tries to decode the signaling section (step 312). If the decoding fails, the slot in question is deleted (at least temporarily) from the list of slots to be examined (step 314). In the opposite case, the decoder identifies the locations (the slots) of the other packets of the group (step 316). The slot group thus found is noted in the list of slot groups (step 324). The decoder reconstructs the signaling sections of the other packets of the group (step 318) and deletes them in the digitized signal, at the level of the slots concerned (step 320). The slots of the identified group are added to the list of slots to be examined (step 322) because the deletion of the signaling sections makes possible a decoding that was not previously possible.
  • Steps 308-324 are repeated until there is no longer any signaling section in decodable slots. As iterations proceed, the list of slot groups (or groups of packets) is completed. The decoder then proceeds to decode the useful data (step 400) explained in more detail with reference to FIGS. 20 and 22.
  • the code words to be decoded are identified by the groups of slots obtained by decoding the signaling sections.
  • the list to be examined is thus initialized as the list of identified slot groups (step 402).
  • the decoder attempts decoding itself (step 412). If the decoding is not successful (exit "NO"), the current slot group is removed (step 414) from the list to be examined (see also Figure 1 1). If the decoding succeeds, the decoder generates replicas of the packets and subtracts them from the digitized signal in memory (step 418). If the elimination of the interference changes the configuration of collisions of another group of slots (previously removed from the list to be examined), it is put back on the list to examine (step 420). The successfully processed slot group is removed from the list to be examined (step 422). The decoder repeats steps 404, and 408-422 until it can no longer detect a potentially decodable code word.
  • FIG. 23 shows the normalized capacity as a function of the traffic load for different MuSCA method E s / N 0 ratios (with the indicated parameters).
  • FIG. 24 shows, as a comparison example, the capacity normalized as a function of the traffic load for different ratios E s / N 0 of the CRDSA method.
  • the normalized capacity of the CRDSA method is 0.68 (in the presence of very little noise).
  • the signaling section of each packet must also indicate the frequencies on which the other packets of the group are transmitted.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)

Abstract

Un premier aspect de l'invention concerne la transmission (100) 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, 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. Le message à transmettre est encodé à l'aide d'un code correcteur pour former un mot de code (104), le mot de code ainsi formé est divisé en n parties (106) qui sont réparties sur les n paquets (114) et les sections de signalisation sont encodées, séparément du message, à l'aide d'un code correcteur (112). Un autre aspect de l'invention concerne la réception de données transmises de la façon décrite.

Description

PROCÉDÉ DE TRANSMISSION DE DONNÉES SUR UNE VOIE DE
COMMUNICATION À ACCÈS MULTIPLE
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 Répétition 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 201 1/0096795 et l'article « High Throughput Random Access via Codes on Graphs: Coded Slotted ALOHA », Enrico Paolini et al., IEEE ICC 201 1 . 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 [001 1 ] 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-Miiller, 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 : e1 ) 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 e1 ) réussit, les paquets du message décodé sont éliminés sur le signal interféré numérisé ; et e3) les étapes e1 ) 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 œuvre, 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 œuvre 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/N0 pour une section de signalisation encodée Reed-Miiller (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/N0 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 œuvre 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/N0 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/N0 de la méthode CRDSA (exemple de comparaison) ; Fig. 25 : le taux d'erreur de paquet FER en fonction du rapport Es/N0 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 rapports Es/N0 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/N0 pour des cas de collisions non synchrones.
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 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).
[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 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 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 1 10). 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 1 12). 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 1 14). 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 1 16). 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-Miiller 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 Interférence 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 R*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/N0 = 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-Muller (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/N0 pour une section de signalisation encodée Reed-Miiller (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).
Figure imgf000014_0001
[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 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/N0 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/N0 = 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 1 1 ).
[0040] Dans la situation de la figure 1 1 , 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/N0 = 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 , i] à Es/N0 = 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 œuvre par un récepteur ou un relais pour recevoir des messages transmis sur une 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 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 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 1 1 ). 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 DVB- RCS). 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/N0. La figure 27 représente le rapport FER en fonction du rapport Es/N0 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/N0.) [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/N0 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/N0 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= ¼, 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/N0 de la méthode MuSCA (Turbocode à R = VA, 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/N0 = 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.

Claims

Revendications
1 . 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 (1 14) et
en ce que les sections de signalisation sont encodées, séparément du message, à l'aide d'un autre code correcteur (1 12). 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-Miiller, 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. Emetteur, configuré de sorte à exécuter le procédé de transmission de données selon l'une quelconque des revendications 1 à 6.
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.
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). Procédé de réception selon la revendication 8 ou 9, dans lequel, à l'étape e), e1 ) 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 e1 ) réussit, les paquets du message décodé sont éliminés sur le signal numérisé (416, 418) ; et
e3) les étapes e1 ) 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).
1 1 . 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 à 1 1 .
13. Programme d'ordinateur comprenant des instructions exécutables par un processeur, les instructions étant configurées pour provoquer la mise en œuvre, par le processeur, du procédé selon l'une quelconque des revendications 8 à 1 1 , lorsque l'on fait tourner le programme d'ordinateur sur le processeur.
PCT/EP2012/067818 2011-09-16 2012-09-12 Procédé de transmission de données sur une voie de communication à accès multiple WO2013037815A1 (fr)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR1158250 2011-09-16
FR1158250A FR2980323B1 (fr) 2011-09-16 2011-09-16 Procede de transmission de donnees sur une voie de communication a acces multiple

Publications (1)

Publication Number Publication Date
WO2013037815A1 true WO2013037815A1 (fr) 2013-03-21

Family

ID=46829778

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2012/067818 WO2013037815A1 (fr) 2011-09-16 2012-09-12 Procédé de transmission de données sur une voie de communication à accès multiple

Country Status (2)

Country Link
FR (1) FR2980323B1 (fr)
WO (1) WO2013037815A1 (fr)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1686746A1 (fr) * 2005-01-31 2006-08-02 Agence Spatiale Europeenne Transmission de données par paquets à travers un canal de transmission partagé par plusieurs utilisateurs
US20100124222A1 (en) 2008-11-14 2010-05-20 Deutsches Zentrum Fur Luft- Und Raumfahrt E.V. Method of transmitting data
US20110096795A1 (en) 2009-10-23 2011-04-28 Deutsches Zentrum Fuer Luft- Und Raumfahrt E.V. Method for contention resolution in time-hopping or frequency-hopping

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1686746A1 (fr) * 2005-01-31 2006-08-02 Agence Spatiale Europeenne Transmission de données par paquets à travers un canal de transmission partagé par plusieurs utilisateurs
US20060171418A1 (en) 2005-01-31 2006-08-03 Agence Spatiale Europeenne Method of packet mode digital communication over a transmission channel shared by a plurality of users
US20100124222A1 (en) 2008-11-14 2010-05-20 Deutsches Zentrum Fur Luft- Und Raumfahrt E.V. Method of transmitting data
US20110096795A1 (en) 2009-10-23 2011-04-28 Deutsches Zentrum Fuer Luft- Und Raumfahrt E.V. Method for contention resolution in time-hopping or frequency-hopping

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
CASINI E ET AL: "Contention Resolution Diversity Slotted ALOHA (CRDSA): An Enhanced Random Access Schemefor Satellite Access Packet Networks", IEEE TRANSACTIONS ON WIRELESS COMMUNICATIONS, IEEE SERVICE CENTER, PISCATAWAY, NJ, US, vol. 6, no. 4, 1 April 2007 (2007-04-01), pages 1408 - 1419, XP011383389, ISSN: 1536-1276, DOI: 10.1109/TWC.2007.348337 *
ENRICO CASINI ET AL.: "Contention Resolution Diversity Slotted ALOHA (CRDSA): An Enhanced Random Access Scheme for Satellite Access Packet Networks", IEEE TRANSACTIONS ON WIRELESS COMMUNICATIONS, vol. 6, no. 4, April 2007 (2007-04-01)
ENRICO PAOLINI ET AL.: "High Throughput Random Access via Codes on Graphs: Coded Slotted ALOHA", IEEE ICC, 2011
GIANLUIGI LIVA: "A Slotted ALOHA Scheme Based on Bipartite Graph Optimization", SCC, 2010
RICCARDO DE GAUDENZI ET AL.: "Advances in Random Access Protocols for Satellite Networks", IEEE INTERNATIONAL WORKSHOP ON SATELLITE AND SPACE COMMUNICATIONS (IWSSC, 2009

Also Published As

Publication number Publication date
FR2980323A1 (fr) 2013-03-22
FR2980323B1 (fr) 2013-10-18

Similar Documents

Publication Publication Date Title
EP3161986B1 (fr) Procede de transmission dynamique et selectif fd-dsdf d&#39;un signal numerique pour un systeme mamrc avec plusieurs relais full-duplex, produit programme et dispositif relais correspondants
EP2606583B1 (fr) Procédé et système de relayage sélectif dans un réseau de communication comprenant plusieurs sources, un relais et un dispositif de reception avec détection, au niveau du relais, d&#39;erreurs sur les messages estimés reçus des sources et transmission, du relais vers le dispositif de réception, d&#39;un signal représentatif des seuls messages pour lesquels aucune erreur n&#39;a été détectée.
FR2815199A1 (fr) Procedes de turbocodage circulaire de grande distance minimale, et systemes pour leur mise en oeuvre
EP0481549A1 (fr) Système et procédé de codage/décodage de signaux numériques transmis en modulation codée
WO2019162592A1 (fr) Procédé et système omamrc de transmission avec adaptation lente de lien sous contrainte d&#39;un bler
FR2985150A1 (fr) Procede de transmission d&#39;un signal numerique pour un systeme ms-marc non-orthogonal, produit programme et dispositif relais correspondants
FR2849514A1 (fr) Code de geometrie algebrique adapte aux erreurs en rafale
WO2017098188A1 (fr) Procede, dispositif de relayage et destinataire avec retour dans un systeme omamrc
EP3476071B1 (fr) Transmission dynamique et selectif d&#39;un signal numerique pour un systeme avec relais full-duplex et une voie de retour limitee
EP2180626B1 (fr) Turbocodeur distribué pour canaux à évanouissements par blocs
EP3084995A1 (fr) Procédé de transmission d&#39;un signal numérique pour un système marc a un relais half-duplex dynamique, produit programme et dispositif relais correspondants
EP0774840B1 (fr) Procédé de transmission d&#39;une séquence de bits d&#39;information avec protection sélective contre les erreurs de transmission, procédés de codage et de correction pouvant être mis en oeuvre dans un tel procédé de transmission
EP3161985B1 (fr) Procédé de transmission dynamique et sélectif fd-dsdf d&#39;un signal numérique pour un système marc avec un relais full-duplex, produit programme et dispositif relais correspondants
WO2013037815A1 (fr) Procédé de transmission de données sur une voie de communication à accès multiple
WO2006087497A2 (fr) Procede et dispositif de synchronisation trame
EP0982866B1 (fr) Procédé de codage convolutif et de transmission par paquets d&#39;un flux série de données numériques, procédé et dispositif de décodage correspondants
EP2722992B1 (fr) Méthode de codage pour canal à évanouissement quasi-périodique
FR2924288A1 (fr) Procede et dispositif de decodage iteratif par effacement, produit programme d&#39;ordinateur et moyen de stockage correspondants
WO2014033315A1 (fr) Procede d&#39;emission cooperative, signal, entite source, entite relais, procede de reception, entite destinataire, systeme et programme d&#39;ordinateur correspondant
FR2830384A1 (fr) Procede de dispositif de codage et de decodage convolutifs
FR2954873A1 (fr) Procede de decodage correcteur d&#39;erreurs, produit programme d&#39;ordinateur, moyen de stockage et noeud destination correspondants.
FR3126573A1 (fr) Procede de transmission et dispositif noeud implementant ledit procede
FR3031428A1 (fr) Systeme de transmission de paquets de donnees selon un protocole d&#39; acces multiple
FR2813723A1 (fr) Procedes de turbocodage circulaire de haut rendement, et systemes pour leur mise en oeuvre
FR2960726A1 (fr) Procede de transmission de symboles codes, procede de decodage, produit programme d&#39;ordinateur, moyen de stockage et nœuds correspondants.

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 12756744

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 12756744

Country of ref document: EP

Kind code of ref document: A1