OMAMRC transmission method and system with variation in the number of uses of the channel

20230261812 · 2023-08-17

    Inventors

    Cpc classification

    International classification

    Abstract

    A transmission method with slow link adaptation intended for an OMAMRC telecommunication system with M sources (s1 . . . , sM), optionally L relays and a destination, M≥2, L≥0. A number of uses of the channel is allocated to each source for transmission and this number is determined by the destination during slow link adaptation for each source based on statistical knowledge of all of the channels.

    Claims

    1. A transmission method, implemented by an Orthogonal Multiple-Access Multiple-Relay Channel (OMAMRC) telecommunication system with M sources (s.sub.1, . . . , s.sub.M), possibly L relays (r.sub.1, . . . , r.sub.L), and a destination (d), M≥2, L≥0, the method comprising: an initial phase and, for each frame to be transmitted, a first phase of successive transmission by the M sources during M time slots of N.sub.1,i channel uses per source s.sub.i i∈{1, . . . , M} and a second phase reserved for one or more cooperative transmissions of N.sub.2 channel uses per time slot allocated to one or several nodes taken from among the M sources and the L relays, a use of the channel comprising a time-frequency resource, with link adaptation controlled by the destination of the type allocating initial bit rates on the basis of a knowledge of a statistical distribution of the channels of the system, wherein the node or the several nodes taken from among the M sources and the L relays are selected according to a selection strategy and according to which the sources are informed by the destination of the values of a ratio of channel uses between the first and second phases determined for each source, the number N.sub.1,i of uses of the channel allocated to each source to transmit during the first transmission phase is variable between the sources and determined by the destination upon the link adaptation by determining a maximum of an average utility function for the values of the channel use ratios taken from a finite set of discrete values and subject to the constraints of an average individual Block Error Rate (BLER) for each source.

    2. The transmission method as claimed in claim 1, wherein the values of the channel use ratio between the first and second phases determined for each source belong to the finite set of discrete values {1, 0.5, 2}.

    3. The transmission method as claimed claim 1, wherein the maximization of an average utility function subject to the constraint of an average individual BLER for each source is expressed in the form: ( R ^ s i , .Math. , R ^ S M , α ^ 1 , .Math. , α ^ M ) = arg max ( R 1 , .Math. , R M ) { R _ 1 , .Math. , R _ n MCS } , ( α 1 , .Math. , α M ) ( α _ 1 , .Math. , α _ .Math. "\[LeftBracketingBar]" A .Math. "\[RightBracketingBar]" } M .Math. i = 1 M R i / α i .Math. s = 1 M 1 / α i + 𝔼 ( T used ) 1 - Pr { 𝒪 i , T used } subject to the constraint that Pr{custom-character.sub.s,T.sub.used}≤QoS.sub.s,∀s ∀custom-character with R.sub.i a variable representing the initial bit rate allocated to the source i, i ∈{1, . . . , M} T.sub.used the number of cooperative transmissions used during the second phase, custom-character(T.sub.used) an average of the number of cooperative transmissions used during the second phase, α.sub.i=N.sub.2/N.sub.1,i a variable representing the ratio between the number of channel uses during the second phase and the number of uses of the channel during the first phase for the source i, i ∈{1, . . . ,M}, Pr{custom-character.sub.s,T.sub.used} QoS.sub.s,∀s ∈custom-character the probability of the event of individual outage of the source s at the end of T.sub.used being less than a given quality of service QoS.sub.s value.

    4. The transmission method as claimed in claim 1, the method being such that the maximization of the average utility metric comprises an initialization of the ratio for each source to the discrete value ({circumflex over (α)}.sub.s.sup.GA) closest to an average of the values of the ratio and determining independently each bit rate of a source by assuming that all messages from the other sources are known to the destination, to obtain initial values of the bit rates.

    5. The transmission method as claimed in claim 4, wherein the initial values are modified by using an iterative calculation of the initial bit rates by the destination which takes into account a strategy of selection of the nodes during the second phase.

    6. An Orthogonal Multiple-Access Multiple-Relay Channel (OMAMRC) telecommunication -system comprising: M sources (s.sub.1, . . . , s.sub.M), L relays (r.sub.1, . . . , r.sub.L) and a destination (d), wherein M≥2, L≥0, wherein each of the M sources, L relays and the destination comprises a processor and a respective non-transitory computer readable medium comprising instructions stored thereon, which when executed by the respective processors configure the M sources, L relays and the destination to implement a transmission method comprising: an initial phase and, for each frame to be transmitted, a first phase of successive transmission by the M sources during M time slots of N.sub.1,i channel uses per source s.sub.1i∈{1, . . . , M} and a second phase reserved for one or more cooperative transmissions of N.sub.2 channel uses per time slot allocated to one or several nodes taken from among the M sources and the L relays, a use of the channel comprising a time-frequency resource, with link adaptation controlled by the destination of the type allocating initial bit rates on the basis of a knowledge of a statistical distribution of the channels of the system, wherein the node or the several nodes taken from among the M sources and the L relays are selected according to a selection strategy and according to which the sources are informed by the destination of the values of a ratio of channel uses between the first and second phases determined for each source, the number N.sub.1,i of uses of the channel allocated to each source to transmit during the first phase is variable between the sources and determined by the destination upon the link adaptation by determining a maximum of an average utility function for the values of the channel use ratios taken from a finite set of discrete values and subject to the constraints of an average individual Block Error Rate (BLER) for each source.

    7. The OMAMRC telecommunication system as claimed in claim 6, wherein the values of the channel use ratio between the first and second phases determined for each source belong to the finite set of discrete values {1, 0.5, 2}.

    8. The OMAMRC telecommunication system as claimed in claim 6, wherein the maximization of an average utility function subject to the constraint of an average individual BLER for each source is expressed in the form: ( R ^ s i , .Math. , R ^ S M , α ^ 1 , .Math. , α ^ M ) = arg max ( R 1 , .Math. , R M ) { R _ 1 , .Math. , R _ n MCS } , ( α 1 , .Math. , α M ) ( α _ 1 , .Math. , α _ .Math. "\[LeftBracketingBar]" A .Math. "\[RightBracketingBar]" } M .Math. i = 1 M R i / α i .Math. s = 1 M 1 / α i + 𝔼 ( T used ) 1 - Pr { 𝒪 i , T used } subject to the constraint that Pr{custom-character.sub.s,T.sub.used} QoS.sub.s,∀s ∈custom-character with R.sub.i a variable representing the initial bit rate allocated to the source i, i ∈{1, . . . , M} T.sub.used the number of cooperative transmissions used during the second phase, custom-character(T.sub.used) an average of the number of cooperative transmissions used during the second phase, α.sub.1=N.sub.2/N.sub.1,i a variable representing the ratio between the number of channel uses during the second phase and the number of uses of the channel during the first phase for the source i, i ∈{1, . . . ,M}, Pr{(custom-character.sub.s,T.sub.used} QoS.sub.s,∀s ∈custom-character the probability of the event of individual outage of the source s at the end of T.sub.used being less than a given quality of service QoS.sub.s value.

    9. The OMAMRC telecommunication system as claimed in claim 6, wherein the maximization of the average utility metric comprises an initialization of the ratio for each source to the discrete value ({circumflex over (α)}.sub.s.sup.GA) closest to an average of the values of the ratio and determining independently each bit rate of a source by assuming that all messages from the other sources are known to the destination, to obtain initial values of the bit rates.

    10. The OMAMRC telecommunication system as claimed in claim 9, wherein the initial values are modified by using an iterative calculation of the initial bit rates by the destination which takes into account a strategy of selection of the nodes during the second phase.

    Description

    LIST OF THE FIGURES

    [0052] Other features and advantages of the invention will emerge more clearly on reading the following description of embodiments, given as simple illustrative and nonlimiting examples, and the attached drawings, in which:

    [0053] FIG. 1 is a diagram of an example of a so-called cooperative OMAMRC (Orthogonal Multiple-Access Multiple-Relay Channel) system according to the invention,

    [0054] FIG. 2 is a diagram of a cycle of transmission of a frame which can be preceded by an initialization step according to the invention,

    [0055] FIG. 3 is a diagram of the OMAMRC system of FIG. 1 for which all the sources except the source s.sub.1 are considered to be correctly decoded.

    DESCRIPTION OF PARTICULAR EMBODIMENTS

    [0056] A channel use is the smallest granularity in terms of time-frequency resource defined by the system which allows the transmission of a modulated symbol. The number of channel uses is linked to the available frequency band and to the transmission time.

    [0057] In the “slow fading” case prioritized in the description, the fading gains are constant during the M+T.sub.max time slots in which M+T.sub.max is the maximum number of time slots to accomplish a transmission cycle.

    [0058] An embodiment of the invention is described in the context of an OMAMRC system illustrated by FIG. 1 and in support of the diagram of FIG. 2 which illustrates a frame transmission cycle.

    [0059] This system comprises M sources which belong to the set of sources custom-character={s.sub.1, . . . , s.sub.M} in which, by convention to simplify the notations, s.sub.i=i ∀i ∈{1, . . . , M}, L relays which belong to the set of relays custom-character={r.sub.1, . . . , r.sub.L} and a destination d.

    [0060] Each source of the set custom-character communicates with the single destination using the other sources (user cooperation) and the relays which cooperate.

    [0061] In order to simplify the description, the following hypotheses are made hereinbelow on the OMAMRC system: [0062] the sources and the relays are equipped with a single transmission antenna; [0063] the sources, the relays and the destination are equipped with a single reception antenna; [0064] the sources, the relays and the destination are perfectly synchronized; [0065] the sources are statistically independent (there is no correlation between them); [0066] all the nodes transmit with the same power; [0067] a CRC code is used which is assumed to be included in the K.sub.S information bits of each source s to determine whether or not a message is correctly decoded; [0068] the links between the different nodes suffer from additive noise and fading. Fading gains are fixed during the transmission of a frame performed for a maximum duration M+T.sub.max time slots, but can change independently from one frame to another. T.sub.max≥2 is a parameter of the system; [0069] the instantaneous quality of the direct channel/link in reception (CSIR Channel State Information at Receiver) is available to the destination, to the sources and to the relays; [0070] the returns are error-free (no error on the control signals).

    [0071] The nodes comprise the relays and the sources which can behave as a relay when they do not transmit their own message.

    [0072] The nodes, M sources and L relays, access the transmission channel according to a time-orthogonal multiple access scheme which allows them to listen without interference to the transmissions from the other nodes. The nodes operate according to a half-duplex mode.

    [0073] The following notations are used: [0074] x.sub.a,k∈custom-character is the modulated symbol coded for the use of the channel k transmitted by the node a ∈custom-charactercustom-character, [0075] y.sub.a,b,k is the signal received at the node b ∈custom-charactercustom-character∪{dd}\{a} corresponding to a signal transmitted by the node a∈custom-charactercustom-character [0076] γ.sub.a,b is the average signal-to-noise ratio (SNR) which takes into account the effects of attenuation of the channel (path-loss) and of masking (shadowing), [0077] h.sub.a,b is the attenuation gain of the channel (fading) which follows a symmetrical circular complex Gaussian distribution with zero average and of variance γ.sub.a,b, the gains are mutually independent, [0078] n.sub.a,b,k are samples of a Gaussian white noise (AWGN) distributed identically and independently which follow a complex Gaussian distribution of circular symmetry with zero average and of unitary variance. R.sub.s is a variable representing the initial bit rate of the source s which can take its values from the finite set {R.sub.1, . . . , Rn.sub.MCS}. Similarly, as is a variable representing the ratio N.sub.2/N.sub.1,s which can take its values from a finite set A={α.sub.1, . . . , α.sub.|A|}.

    [0079] The signal received at the node b ∈custom-charactercustom-character∪{d}\{a} corresponding to the signal transmitted by the node a ∈custom-charactercustom-character can be written:


    y.sub.a,b,k=h.sub.a,bx.sub.a,k+n.sub.a,b,k   (1)

    [0080] During the first phase of M time slots, each source s ∈custom-character transmits its code words during N.sub.1,s channel uses, k ∈{1, . . . , N.sub.1,3}, the number N.sub.1,s of channel uses depending on the source s.

    [0081] During the second phase of T.sub.used, T.sub.used≤T.sub.max, time slots, each selected node transmits information representative of the messages from the sources decoded without error by this node during N.sub.2 channel uses, k ∈{1, . . . , N.sub.2}, the number N.sub.2 of channel uses being, for simplification for the method, identical between the sources s ∈custom-character.

    [0082] By using reference signals (pilot symbols, 3GPP LTE SRS signals, etc), the destination can determine the gains (CSI Channel State Information) of the direct links h.sub.dir={h.sub.s.sub.i.sub.,a, . . . , h.sub.s.sub.M.sub.,d, h.sub.r.sub.i.sub.,d, . . . , h.sub.r.sub.L.sub.,d}, that is to say of the source-to-destination and relay-to-destination links and can therefore deduce therefrom the average SNRs of these links.

    [0083] By contrast, the gains of the links between sources, of the links between relays and of the links between sources and relays are not known to the destination. Only the sources and the relays can estimate a metric of these links by using reference signals in a way similar to that used for the direct links. Given that the statistics of the channels are assumed to be constant between two initialization phases, the transmission to the destination of the metrics by the sources and the relays can take place only at the same rate as the initialization phase. The statistics of the channel of each link are assumed to follow a centered circular complex Gaussian distribution and the statistics are independent between the links. It is consequently sufficient to consider only the average SNR as a measure of the statistics of a link.

    [0084] The sources and the relays therefore report to the destination metrics representative of the average SNRs of the links that they can observe.

    [0085] The destination thus knows the average SNR of each of the links.

    [0086] During an initial link adaptation phase which precedes the transmission of several frames, the destination transmits, for each source s, a representative value (index, MCS, bit rate, etc.) of an initial bit rate R.sub.i and a value α.sub.i.

    [0087] Each of the initial bit rates unambiguously determines an initial modulation and coding scheme (MCS) or, conversely, each initial MCS determines an initial bit rate.

    [0088] The reporting of the initial bit rates R.sub.i and of the ratios α.sub.i is performed via control channels with very limited bit rate.

    [0089] These initial bit rates are determined by the destination so as to maximize an average utility metric, e.g. an average spectral efficiency, conditioned on the node selection strategy that takes place during the second phase and subject to the constraint of an average individual BLER for each source, this metric being modified by the introduction of the ratio α.sub.i=N.sub.2/N.sub.1,i, its expression is given by the equation (21).

    [0090] This metric (21) is thus a function with multiple variables which depends on the current value taken by the bit rate variables R.sub.1, . . . , R.sub.M and by the variables of the ratio α.sub.1, . . . , α.sub.M between the number N.sub.2 of channel uses during the second phase and the number N.sub.1,i of channel uses during the first phase:

    [00004] η sia ( R 1 , .Math. , R M , α 1 , .Math. , α M ) = .Math. i = 1 M R i / α 1 .Math. i = 1 M 1 / α 1 + 𝔼 ( T used ) ( 1 - BLER i ( R 1 , .Math. , R M , α 1 , .Math. , α M ) )

    [0091] According to one embodiment, the average utility metric takes into account M ratios α.sub.i which are considered to be discrete values belonging to a finite set of possible values.

    [0092] Each source transmits to the destination its data placed in a frame using the other sources and relays. A frame occupies time slots during the transmission of the M messages from the respectively M sources. The transmission of a frame (which defines a transmission cycle) proceeds during M+T.sub.used time slots: M slots for the first phase of respective channel use capacities N.sub.1,i for each source i, T.sub.used slots for the second phase.

    [0093] During the first phase, each source s ∈custom-character transmits after coding a message u.sub.s comprising K.sub.s information bits, u.sub.s ∈custom-character.sub.2.sup.K.sup.s, custom-character.sub.2 being the two-element Galois body. The message u.sub.s comprises a code of CRC type which makes it possible to check the integrity of the message u.sub.s. The message u.sub.s is coded according to the initial MCS. Given that the initial MSCs can be different between the sources, the lengths of the coded messages can be different between the sources. The coding uses a code with incremental redundancy. The code word obtained is segmented into redundancy blocks. The code with incremental redundancy can be of systematic type, the information bits are then included in the first block. Whether or not the code with incremental redundancy is of systematic type, it is such that the first block can be decoded independently of the other blocks. The code with incremental redundancy can be produced for example by means of a finite family of rate-compatible punctured linear codes or of rateless codes modified to operate with finite lengths: raptor code (RC), rate-compatible punctured turbo code (RCPTC), rate-compatible punctured convolutional code (RCPCC), rate-compatible LDPC (RCLDPC rate compatible low-density parity check code).

    [0094] Thus, during the first phase, the M sources successively transmit their message during the M slots with, respectively, modulation and coding schemes determined on the basis of the values of the initial bit rates.

    [0095] Since each transmitted message corresponds to a source s ∈custom-character, a message that is correctly decoded is, through an abuse of notation, compared to the corresponding source.

    [0096] When a source transmits, the other sources and the relays listen and try to decode the messages received at the end of each time slot. Success in the decoding is decided by using the CRC.

    [0097] During the second phase, the selected node, source or relay, acts as a relay by cooperating with the sources to assist the destination in correctly decoding the messages from all the sources. The selected node transmits, i.e. it cooperates by transmitting the words or a part of the words that it has correctly decoded. The second phase comprises at most Tmax time slots called rounds. Each round t ∈{1, . . . , T.sub.max} has a capacity of N.sub.2 channel uses.

    [0098] During this phase, the destination follows a certain strategy to decide on the node which transmits on each time slot (round). The destination informs the nodes by using a control channel with limited bit rate (limited feedback) to transmit a return message. This return message is based on its result in decoding the messages received. The destination thus controls the transmission of the nodes by using these return messages which makes it possible to improve the spectral efficiency and the reliability by increasing the probability of decoding of all of the sources by the destination.

    [0099] If the decoding of all the sources is correct, the return is a message of ACK type. In this case, the cycle of transmission of a new frame begins with the deletion from the memories of the relays and of the destination and with the transmission by the sources of new messages.

    [0100] If the decoding of at least one source is errored, the return message is typically a NACK. Each node a ∈custom-charactercustom-character transmits its set of sources correctly decoded at the end of the preceding time slot (round) denoted custom-character.sub.a,t−1. By convention, custom-character.sub.b,t.Math.custom-character is used to denote the set of the messages (or sources) correctly decoded by the node b ∈custom-charactercustom-character∪{d} at the end of the time slot t (round t), t ∈{0, . . . , T.sub.max} The end of the time slot (round) t=0 corresponds to the end of the first phase. The number of time slots used during the second phase T.sub.used={1, . . . , T.sub.max} depends on the decoding success at the destination.

    [0101] The selected node transmits parities determined on the basis of the messages from its set of sources correctly decoded by using a joint network and channel coding (Joint Network Channel Coding). This transmission takes place during a time slot of N.sub.2 channel uses. The other nodes and the destination can improve their own decoding by using the transmission of the selected node and consequently update their set of sources correctly decoded.

    [0102] The initial transmission bit rate of a source s is R.sub.s=K.sub.s/N.sub.1,s in bits per complex dimension (b.c.u). The bit rate over the long term {tilde over (R)}.sub.s of a source is defined as the number of bits transmitted with respect to the total number of channel uses for a number of frames transmitted which tends toward infinity:

    [00005] R ~ s = R s / α s .Math. i = 1 M 1 / α i + 𝔼 ( T ) ( 2 )

    [0103] with custom-character(T)=Σ.sub.t=1.sup.T.sup.maxtPR{T=t} the average number of retransmission time slots (rounds) used during the second phase and with α.sub.i=N.sub.2/N.sub.1,i.

    [0104] The spectral efficiency η.sup.sla can be defined as the sum of individual spectral efficiencies:


    η.sup.sla=Σ.sub.s=1.sup.M{tilde over (R)}.sub.s(1−Pr{custom-character.sub.s,T.sub.max })   (3)

    [0105] with custom-character.sub.s,T.sub.max the event that the source s is not decoded correctly by the destination at the end of the time slot (round) T.sub.max, hereinafter referred to as individual outage event of the source s at the end of the time slot (round) T.sub.max.

    [0106] Generally, the individual outage event of the source s ∈custom-character at the end of the time slot (round) t, custom-character.sub.s,t(a.sub.t, custom-character.sub.a.sub.t.sub., t−1|h.sub.dir, custom-character.sub.t−1) depends on the selected node a.sub.t ∈custom-character=custom-charactercustom-character and on the associated set of decoded sources custom-character.sub.a.sub.t.sub.,t−1, and this in a way that is conditional on the knowledge of the gains of the direct channels h.sub.dir and custom-character.sub.t−1. custom-character.sub.t−1 is the set comprising all the nodes â.sub.i which have been selected in the time slots (rounds) l ∈{1, . . . , t−1} preceding the time slot (round) t and their associated decoding set custom-character.sub.â.sub.l.sub.,l−1 and the decoding set of the destination custom-character.sub.d,t−1.

    [0107] The common outage event at the end of the time slot (round) t, ε.sub.t(a.sub.t, custom-character.sub.a.sub.t.sub., t−1|h.sub.dir, custom-character.sub.t−1), is defined as being the event that at least one source is not correctly decoded by the destination at the end of the time slot (round) t.

    [0108] The probability of the individual outage event of the source s at the end of the time slot (round) t for a candidate node a.sub.t can be expressed in the form: custom-character(custom-character.sub.)}) with custom-character(.) the expectation operator and such that the 1.sub.{custom-character.sub.} takes the value 1 if the event custom-character is true and the value 0 otherwise.

    [0109] The probability of the common outage event can be defined in the same way. Hereinafter, the dependency on the knowledge of h.sub.dir and of custom-character.sub.−1 is omitted in the interests of simplification of the notations.

    [0110] The common outage event of a set of sources occurs when the vector of their bit rate is outside of the corresponding MAC capacity region.

    [0111] For some subsets of sources custom-character.Math.custom-character.sub.d,t−1 with custom-character.sub.d,t−1=custom-character.sub.d,t−1 the set of sources not correctly decoded by the destination at the end of the time slot (round) t−1, the common outage event can be expressed in the form:


    custom-character(a.sub.t,custom-character.sub.a.sub.t.sub.t−1)=custom-character  (4)

    [0112] such that the sources which belong to custom-character=custom-character.sub.d,l−1\custom-character are considered as interference.

    [0113] custom-character reflects the non-observance of the MAC inequality associated with the sum bit rate of the sources contained in custom-character:

    [00006] d , B ( 𝒰 ) = { .Math. s 𝒰 R s α s > .Math. s 𝒰 I s , d α s + .Math. l = 1 t - 1 l a ^ t , d 1 { 𝒞 a ^ t , s } + I a t , d 1 { 𝒞 a t , s } } ( 5 )

    [0114] In which

    [00007] 𝒞 ? = { { s 𝒮 a ^ l , l - 1 .Math. 𝒰 } .Math. { 𝒮 a ^ l , l - 1 .Math. 𝒥 = } } , 𝒞 ? = { { s 𝒮 ? .Math. 𝒰 } .Math. { 𝒮 ? .Math. 𝒥 = } } with .Math. the logic operator . ? indicates text missing or illegible when filed

    [0115] I.sub.a,b the mutual information between the nodes a and b and â.sub.l, l=1 at t−1 a node already selected. The factor 1/α.sub.s makes it possible to normalize before addition the two terms associated respectively with the two phases for which the time slots have respective channel use durations N.sub.1,s and N.sub.2.

    [0116] The individual outage event of the source s at the end of the time slot (round) t can be written:

    [00008] 𝒪 s , t ( a t , 𝒮 a t , t - 1 ) = .Math. 𝒥 𝒮 _ d , t - 1 .Math. 𝒰 .Math. 𝒥 _ ; s 𝒰 { .Math. s 𝒰 R s α s > .Math. s 𝒰 I s , d α s + .Math. l = 1 t - 1 l α ^ t , d 1 { 𝒞 a ^ t , s } + l a t , d 1 { 𝒞 d a t , s } }

    [0117] In which custom-character=custom-character.sub.d,t−1\custom-character and custom-character.sub.â.sub.l.sub.,s and custom-character.sub.a.sub.t.sub.,s have the same expression as for (5).

    [0118] According to the invention, the destination implements a link adaptation of slow type. This adaptation consists in maximizing the average utility metric (21), comprising the ratio α.sub.i=N.sub.2/N.sub.1,i, after a number T.sub.used≤T.sub.max of retransmissions (cooperative transmissions) occurring during the second phase subject to the constraint of an average individual BLER for each source.

    [0119] The utility metric is an average spectral efficiency conditioned on the node selection strategy that takes place during this second phase.

    [0120] According to a first class of strategies, the selection of the nodes taken from among the sources and the relays depends on the sets of the sources correctly decoded by the nodes. An example considered, called preferred strategy, is based on a selection of IR-HARQ type which aims to maximize the spectral efficiency. According to this preferred strategy, in the time slot (round) t of the second phase, the destination chooses the node with the best instantaneous quality of the link between itself and that node (for example the greatest mutual information between it and that node) taken from among all the nodes which have been able to correctly decode at least one source of the set custom-character.sub.d,t−1, these nodes being called eligible. This strategy makes it possible to achieve a good trade-off between computation complexity and performance level but with the detriment of a significant number of control signals. According to a second class of strategies, the selection of the nodes taken from among the sources and the relays does not depend on the sets of the sources correctly decoded by the nodes. According to this class, the selection is determined and known to all the nodes. One example considered is such that the selection sequence is cyclical and such that the selected node is selected only from among the relays. According to this example, each relay benefits from at least one dedicated time slot (round) during the second phase to transmit. So as not to give preference to one relay over another, the sequence changes on each frame. According to this example, only one return bit from the destination is sufficient to report a common ACK/NACK message.

    [0121] During the first phase, each source s transmits with the initial bit rate R.sub.s.

    [0122] Let BLER.sub.s,T.sub.used(R.sub.s) be the average probability of having the message from the source s not decoded correctly after T.sub.used time slots (rounds) of the second phase.

    [0123] In a point-to-point transmission, the individual bit rate (throughput) of the source is given by:


    R.sub.s(1−BLER.sub.s,T.sub.used(R.sub.s, α.sub.s))

    [0124] And, to optimize this bit rate, the usual method consists in finding the optimal pair (R.sub.s, BLER.sub.s,T.sub.used(R.sub.s,α.sub.s)).

    [0125] Such a usual method is not usable for a system with M sources, possibly L relays, and a destination with an orthogonal multiple access scheme for the transmission channel since the BLER.sub.s,T.sub.used is dependent on all the bit rates (R.sub.1, . . . , R.sub.M) and on all the ratios α.sub.1, . . . , α.sub.M. That stems from the fact that the decoding set of the node selected in the current time slot (round) depends on all the bit rates and all the ratios and that the latter influence the probability of incorrect decoding of the message from the source s.

    [0126] In order not to overload the notations, we distinguish {circumflex over (R)}.sub.s, the bit rate of the source s after optimization, from R.sub.i which is one possible value of R.sub.s in all of the set of the possible bit rates {R.sub.1, . . . , R.sub.n.sub.MCS}. n.sub.MCS is the number of different MCSs. Similarly, we distinguish {circumflex over (α)}.sub.s the ratio of the source s after optimization, from α.sup.i which is one possible value of α.sub.s in all of the set of the possible ratios {α.sub.1, . . . , α.sub.|A|}.

    [0127] The method according to the invention is a solution to the following optimization problem:

    [00009] ( R ^ 1 , .Math. , R ^ M , α ^ 1 , .Math. , α ^ M ) = arg max { R 1 , .Math. , R M ) { R _ 1 , .Math. , R _ n MCS } , ( α 1 , .Math. , α M ) { α _ 1 , .Math. , α _ .Math. "\[LeftBracketingBar]" A .Math. "\[RightBracketingBar]" } M .Math. i = 1 M R i / α i .Math. s = 1 M 1 / α s + 𝔼 ( T used ) - Pr { 𝒪 , T used } ( 7 )

    [0128] subject to the constraint that Pr{custom-character.sub.s,T.sub.used}≤QoS.sub.s,∪s ∈custom-character.

    [0129] In the relationship (7), T.sub.used is a random variable which represents the number of time slots (rounds) used during the second phase T.sub.used≤T.sub.max. The distribution of T.sub.used depends on (R.sub.1, . . . , R.sub.M), on (α.sub.1, . . . , α.sub.M) and on Pr{custom-character.sub.s,T.sub.used} which renders the multidimensional optimization (7) of cardinality n.sub.MCS.sup.M×|A|.sup.M i.e. 91125 (2M)-tuple (R.sub.1, . . . , R.sub.M, α.sub.1, . . . , α.sub.M) possible for three sources, a family of fifteen MCSs and three possible values of α. An exhaustive search very quickly becomes impossible when the number of sources increases.

    [0130] According to one embodiment, the method according to the invention follows a so-called “Genie Aided (GA)” approach which consists in making the hypothesis during the initialization step that all the sources s except the source s.sub.i for which the bit rate is to be initialized are considered to be correctly decoded, s ∈custom-character\s.sub.i={s.sub.1, s.sub.2, . . . , s.sub.i−1, s.sub.i+1, . . . s.sub.M}. All the sources {s.sub.1, s.sub.2, . . . , s.sub.i−1, s.sub.i+1, . . . , s.sub.M} other than s.sub.i act as relays denoted {r.sub.L+1, . . . , r.sub.L+M−1}.For the source s.sub.i considered, the network is a network with multiple relays denoted (1, L+M−1,1) and no longer a network with multiple relays and multiple users. The corresponding system is illustrated by the diagram of FIG. 3 when s.sub.i=s.sub.1.

    [0131] The search for the optimal pair ({circumflex over (R)}.sub.s, {circumflex over (α)}.sub.s) for the source s under the “Genie Aided (GA)” hypothesis is confronted with an additional difficulty over the state of the art in which N.sub.1,i=N.sub.1∪i. In fact, the equation (2) shows that the choice of the bit rate of the source s depends, even under the GA hypothesis, on the ratios α.sub.i ∪.sub.i ∈custom-character. Thus, by making another hypothesis called GA1, a same value α.sub.GA of the ratio α.sub.i is set for all the sources as follows:

    [0132] α.sub.GA=argmin.sub.α∈A|α−α.sub.avg|, in which

    [00010] α avg = 1 .Math. "\[LeftBracketingBar]" A .Math. "\[RightBracketingBar]" .Math. i = 1 .Math. "\[LeftBracketingBar]" A .Math. "\[RightBracketingBar]" α _ i with A = { α _ 1 , .Math. , α _ .Math. "\[LeftBracketingBar]" A .Math. "\[RightBracketingBar]" } .

    [0133] Finally, the search for the optimal pair ({circumflex over (R)}.sub.s.sup.GA, α.sub.s.sup.GA) the source s under the hypotheses GA and GA1 can be written in the form of a single dimensional optimization conditioned on α.sub.s.sup.GA=α.sub.GA:

    [00011] R ^ s GA = arg max R s { R 1 , .Math. , R n MCS } { R s M + α GA 𝔼 ( X used , R s ) ( 1 - BLER s ) } ( 8 ) BLER s = [ R s > I s , d + α GA .Math. l = 1 T max I α ^ l , d 1 { s 𝒮 α ^ l , l - 1 } ] P ( H ) dH

    in which {circumflex over (R)}.sub.s.sup.GA is the bit rate of the source s after optimization, R.sub.s is the bit rate variable and in which P(H) is the joint probability of the realizations of the channels of all the links of the network. It is clear that the bit rate R.sub.s depends on the selected node â.sub.l and therefore on the selection strategy applied by the destination.

    [0134] A third hypothesis GA2, consisting in considering a strategy of equiprobable random selection of the active node at the time l=1, . . . , T.sub.max can be adopted, in which T.sub.max is the maximum number of retransmissions.

    [0135] The approximation according to (8) with the hypotheses GA, GA1, GA2 can be calculated by implementing a Monte Carlo process. One mode of implementation is detailed by the algorithm 1 (in the appendix) for the source s, and its principle is as follows.

    [0136] First of all, the ratios α.sub.i ∪i ∈custom-character are all set at α.sub.GA. Then, each bit rate value of the set of possible bit rates {R.sub.1, . . . , R.sub.n.sub.MCS} is considered one after the other according to a first loop on i. n.sub.MCS is the number of modulation and coding schemes. A second loop on cnt makes it possible to average the individual BLER or Pr{custom-character.sub.s,T.sub.max} over Nb_MC channel draws according to the statistics given by the average SNRs of all the links Thus, in the loop cnt, all the channels are known resulting from a random draw. The calculation of the equation (8) is then performed according to a Monte-Carlo process in which the integral is replaced by a sum:

    [00012] [ R s > l s , d + α GA .Math. l = 1 T max I a ^ i , d 1 { s 𝒮 a ^ l , l - 1 } ] P ( H ) dH = 1 Nb_MC .Math. cnt = 1 Nb _ MC [ R s > I s , d ( H cnt ) + α GA .Math. l = 1 T max l a ^ i , d ( H cnt ) 1 { s 𝒮 a ^ l , l - 1 } ]

    the out variable of the algorithm 1 corresponding to:

    [00013] out = .Math. cnt = 1 Nb _ MC [ R s > l s , d ( H cnt ) + α GA .Math. l = 1 T max l a ^ i , d ( H cnt ) 1 { s 𝒮 a ^ l , l - 1 } ]

    [0137] The conjunction of the hypotheses GA, GA1 and GA2 makes it possible to obtain a first approximation according to (8) of the initial bit rates and of the ratios α.sub.i of the sources ({circumflex over (R)}.sub.s.sup.GA, {circumflex over (α)}.sub.s.sup.GA=α.sub.GA) ∪s ∈custom-character which can constitute the initial starting point (iteration 0) of an iterative optimization algorithm known as “Best Response Dynamics” an implementation of which corresponds to the algorithm 2 (in the appendix).

    [0138] The algorithm 2 is based on a calculation by Monte Carlo simulations of the spectral efficiency

    [00014] η sla ( R 1 , .Math. , R M , α 1 , .Math. , α M ) = .Math. i = 1 M R i / α i .Math. s = 1 M 1 / α s + 𝔼 ( T used ) ( 1 - BLER i ( R 1 , .Math. , R M , α 1 , .Math. , α M ) )

    using the outage events given by the equation (6).

    [0139] custom-character(T.sub.used) and Pr(custom-character.sub.s,T.sub.max) for any s ∈custom-charactermust be evaluated in the Monte Carlo loop as a function of the active node selection strategy by the destination and of the statistics P(H) in a way similar to the algorithm 1.

    [0140] The calculation of the spectral efficiency

    [00015] η sla ( R 1 , .Math. , R M , α 1 , .Math. , α M ) = .Math. i = 1 M R i / α i .Math. s = 1 M 1 / α s + 𝔼 ( T used ) ( 1 - BLER i ( R 1 , .Math. , R M , α 1 , .Math. , α M ) )

    can follow the process given by the algorithm 3.

    [0141] The method calculates the BLERi of the source i and the expectation of the number of retransmissions custom-character(T.sub.used). According to this embodiment, the method considers that the probability of individual outage is a good approximation of the individual BLER BLER.sub.i of the source i. The probability of the individual outage is the average of the individual outage event given by the equation (6) on the statistics of the links P(H) of the MAMRC system. For a given rate of channel profiles of the MAMRC system and a set of ratios {R.sub.1, . . . , R.sub.M, α.sub.1, . . . , α.sub.M} conditioned on a selection strategy given by the destination, the method is based on the evaluation of the outage events of the equations (5) and (6) to determine the decoding set at the destination node and the relay nodes. All the sources which are not in the decoding set of the destination after T.sub.max retransmissions are declared in outage, that is to say that their error counter is increased by 1.

    [0142] The algorithm 3 comprises a main part and two subroutines.

    [0143] The first subroutine is the check_outage(t, I.sub.list, activated_nodes_list, custom-character) function which takes into account the current time slot t of retransmission and the subset for which the common outage must be calculated for custom-character. This function expresses the event of the equation (4) having for inputs the list of the mutual information between the nodes I.sub.list and the selected nodes {circumflex over (α)}.sub.i and their set of sources decoded without error custom-character.sub.{circumflex over (α)}.sub.l.sub.,l−1 from l=1 to t. Thus, all the subsets custom-character of the subset custom-character should be searched to obtain a result of a decoding set for the subset B. These events are reviewed in the first loop of this function. This function also contains two other loops, one to calculate the sum bit rate of the current subset custom-character and the mutual information included, and another loop to calculate the additional mutual information included as a function of the nodes activated in the retransmission phase.

    [0144] The second subroutine is the get_decoding_set(t, I.sub.list, activated_nodes_list) function which determines the decoding set at a certain time slot t by taking into account the preceding parameters I.sub.list and activated_nodes_list set being determined. The principle of this function is to find the subsets custom-character of maximum cardinality Card.sub.max which leads to a common outage event equal to zero. In fact, [0145] whatever the source added to B, the associated common outage event is equal to 1 by definition, [0146] it is not possible to have multiple subsets with the same cardinalities Card.sub.max associated with a common outage event equal to zero. If that were possible, a subset of greater cardinality associated with a common outage event equal to zero would be obtained by effecting the union of these subsets.

    [0147] The main part comprises four loops. As for the algorithm 1, there is the Monte-Carlo loop such that each of its iterations leads to an individual outage event and an expected retransmission time for the second phase. The functions defined previously are used to check the outage event.

    [0148] If there is no outage, then the method goes onto a new iteration and the counters of the individual outage events and the expected retransmission time counter do not change.

    [0149] If there is an outage, then the process starts a second loop, by taking into account the retransmission phase and a certain allocation strategy according to which a certain node is selected to retransmit and is added to the set of the activated nodes. Once an outage event is reached during the time slot of the retransmission phase, the expected retransmission time is updated. Finally, if the number T.sub.max of retransmission time slots is reached, the method checks if there is or is not an outage and updates the individual outage event counter of each user accordingly. After the end of the Monte-Carlo loop, the individual BLERs and the expected retransmission time slot time are calculated by means of an average.

    [0150] The spectral efficiency is then calculated according to the equation (3).

    Appendix

    [0151]

    TABLE-US-00001 Algorithm 1 - Monte-Carlo approach to determine the bit rates subject to the “Genie Aided” hypothesis of the source s:  1. [00016] calculation of α GA : a ? 1 .Math. "\[LeftBracketingBar]" 𝒜 .Math. "\[RightBracketingBar]" .Math. q = 1 .Math. "\[LeftBracketingBar]" 𝒜 .Math. "\[RightBracketingBar]" α q with α q ϵ { α ^ 1 , .Math. , α _ ? } and α GA = arg min ach .Math. "\[LeftBracketingBar]" α - α amp .Math. "\[RightBracketingBar]"  2. 1.sup.st loop on i from 1 to n.sub.MCS  3. R.sub.s = R.sub.i, the source s adopts the bit rate {circumflex over (R)}.sub.i  4. Initialization of the out counter of the Monte Carlo realizations (of channel matrix H which lead to an outage: out = 0, of the counter {circumflex over (P)}.sub.used, of the aggregate number of time slots (rounds) used during the second phase:   {circumflex over (T)}.sub.used = 0 of the set custom-character .sub.d,0 = custom-character according to the “Genie Aided” hypothesis.  5. 2.sup.nd loop on cnt from 1 to Nb_MC (example Nb_MC-1000)  6. determine H.sub.out on the basis of P(H) joint probability of the realizations of the channels of all the links h.sub.a,b.  7. calculate f.sub.a,b(H text missing or illegible when filed ), for all the links  8. if R text missing or illegible when filed  ≤ I.sub.s,d, then  9. custom-character .sub.d,0 = custom-character .sub.d,0U(s), 10. continue or return to point 5 (no change of out and {tilde over (T)}.sub.used counter values). 11. end if 12. 3.sup.rd loop on t from 1 to T.sub.max 13. selection of the node {tilde over (α)}.sub.t by the destination by applying a selection strategy (for example random selection according to the GA2 hypothesis) 14. calculate [00017] C 2 = I z , d + α ? .Math. t = 1 t a 1 A 1 { s 𝕊 ? - 1 } 15. if R text missing or illegible when filed  ≤ C.sub.2 then 16.  T.sub.used = t. (the number of time slots (rounds) used in the current realization of the Monte-Carlo simulation) 17. break or exit from the 3.sup.rd loop to go to point 23 (no change of out counter value). 18. end if 19. if t = T.sub.max then 20. out = out + 1 21.  T.sub.used = T.sub.max, 22. end if 23. end of the 3.sup.rd loop 24.  T.sub.used = T.sub.used + T.sub.used 25. end of the 2.sup.nd loop 26. determine the average outage probability of the source s for the bit rate R.sub. text missing or illegible when filed .sub. : [00018] P s , R ? out = out Nb_MC 27. determine the average number of time slots (rounds) used during the second phase: [00019] E ( T used , s , R t ) = T _ used Nb_MC 28. end of the 1.sup.st loop 29. choose the maximum bit rate R.sub.s that the source s can use: [00020] R ^ s GS = arg max ? [ R ? R ? ] { R s M + π G ? E ( T used ? R ? ) ( 1 - P s , R ? out ) } such that p.sub.s,R,.sup.out ≤ QaS text missing or illegible when filed . text missing or illegible when filed indicates data missing or illegible when filed

    TABLE-US-00002 Algorithm 2 - ″Best response dynamics algorithm″ (BRD) for each individual BLER subject to the constraint of text missing or illegible when filed 1.  text missing or illegible when filed  (counter of the number of iterations) 2. Initialize the sets of the ratios and bit rates: text missing or illegible when filed  and text missing or illegible when filed 3. The bit rates and the ratios text missing or illegible when filed  are initialized subject to the hypotheses GA+GA1+GA2: text missing or illegible when filed text missing or illegible when filed 4.  text missing or illegible when filed  (initialization of the while loop) 5. While text missing or illegible when filed   or  text missing or illegible when filed  for a given i from among text missing or illegible when filed 6.  text missing or illegible when filed 7. for  text missing or illegible when filed   at M do (for each source choose the best  text missing or illegible when filed  knowing all the other couples text missing or illegible when filed text missing or illegible when filed 8.  text missing or illegible when filed   9. Such that  text missing or illegible when filed   (which satisfies the constraint) 10. End for 11. End while text missing or illegible when filed indicates data missing or illegible when filed

    TABLE-US-00003 Algorithm 3 Monte-Carlo simulations to determine the spectral efficiency and the BLER events used in the BDR algorithm: 1.  text missing or illegible when filed   , initialization of  text missing or illegible when filed   number of rounds aggregated in the 2.sup.nd phase over NB_MC channel drawers initialization of the individual_counter[M] table: each individual_counter[i] element aggregates the number of individual outage events for the user i over NB_MC channel drawers 2. 1.sup.st loop on i from 1 to Nb_MC (example Nb_MC=100) 3. random drawer of  text missing or illegible when filed   on the basis of  text missing or illegible when filed   the joint probability of the realizations of the channels of all the links  text missing or illegible when filed   4. calculate  text missing or illegible when filed   for all the links  text missing or illegible when filed   is an element of  text missing or illegible when filed   for the link between the nodes a and b) 5. initialization of the activated_nodes__list set at ∅ (list of the selected nodes and of their associated set of sources decoded in the course of the retransmissions) 6. 2.sup.nd loop on t from 1 to T.sub.max 7. text missing or illegible when filed 8. if out = 0 then 9. text missing or illegible when filed   =  custom-charactertext missing or illegible when filed 10. text missing or illegible when filed   11. break or exit from loop 2 to go to point 2: 12. Else 13. text missing or illegible when filed 14. text missing or illegible when filed 15. text missing or illegible when filed 16. selection of the node  text missing or illegible when filed   by the destination by applying a selection strategy: 17. addition of  text missing or illegible when filed   and of  text missing or illegible when filed   associated set of decoded sources to the activated_nodes_list list 18. if  text missing or illegible when filed   then 19. text missing or illegible when filed   20. text missing or illegible when filed   21. 3.sup.rd loop on s from 1 to M. 22. if  text missing or illegible when filed   then 23. text missing or illegible when filed   24. end if 25. end of the 3rd loop 26. end if 27. Else end 28. end of the 2.sup.nd loop 29. end of the 1.sup.st loop 30. 4th loop on s from 1 to M 31. text missing or illegible when filed    custom-character    text missing or illegible when filed   32. end of the 4.sup.th loop 33. custom-character    text missing or illegible when filed   34. Calculation of the spectral efficiency according to the equation (3). check_outage evaluates the common outage event of the set  custom-character text missing or illegible when filedcustom-character    text missing or illegible when filed 1. Initialization: out = 0 2. 1.sup.st loop on j from 1 to  text missing or illegible when filed   (verification of the outage event corresponding to the equation (5), for each subset custom-character   of  custom-character  ) 3. initialization: l = 0,  text missing or illegible when filed   and  text missing or illegible when filed   (initialization of the current mutual information, and of the sum bit rate and of the set of interfering users). 4. 2.sup.nd loop on k from 1 to M 5. if k ϵ  custom-character   then 6. text missing or illegible when filed   7. text missing or illegible when filed   8. text missing or illegible when filed   9. end if 10. end of the 2.sup.nd loop 11. 3.sup.rd loop on l and a 3.sup.rd loop on 1 to t  text missing or illegible when filed   is the node selected in round 1) 12. if  text missing or illegible when filed   and  text missing or illegible when filed    custom-character    text missing or illegible when filed   then 13.  text missing or illegible when filed   14. end if 15. end of the 3.sup.rd loop 16. if  text missing or illegible when filed   then 17.  text missing or illegible when filed   18. break or exit from the loop 1 to go to the point 21: 19. end if 20. end of the 1.sup.st loop 21. return out get_decoding_set calculates the set of sources decoded correctly or the greatest set  custom-character   which does not give any common outage text missing or illegible when filed 1. S.sub.d = ∅ (initialization of the decoding set with an empty set) 2. 1.sup.st loop on card from M to 1 (loop on all the cardinalities of the subsets) 3. 2.sup.nd loop on subsets of  text missing or illegible when filed   at 1 (loop on all the subsets of cardinality card) 4. Successively choose the subsets of sources:  custom-character  , in which  text missing or illegible when filedtext missing or illegible when filed   5. if out = 0 then 6. break or exit from the loop 2 to go to point 9: 7. end if 8. end of the 2.sup.nd loop 9. if out = 0 then 10.  text missing or illegible when filedcustom-character    text missing or illegible when filed 11. break or exit from the loop 2 to go to the point 13: 12. end of the 1st loop 13.  text missing or illegible when filedtext missing or illegible when filed indicates data missing or illegible when filed