Method for dynamic and selective FD-DSDF transmission of a digital signal for a MARC system with a full-duplex relay, and corresponding program product and relay device

10122496 · 2018-11-06

Assignee

Inventors

Cpc classification

International classification

Abstract

Some embodiments relate to a full-duplex relay for a telecommunications system comprising a plurality of sources, the relay, and a destination. The relay comprises a decoder which estimates for each source a code word x.sub.S,t encoding a K-bit message u.sub.S,t, from received blocks corresponding to successive code words x.sub.S,t transmitted simultaneously by the sources during T time slots, such that at each time slot t, t=1, . . . , T, a code word x.sub.S,t comprises B blocks x.sub.S,t.sup.(1), x.sub.S,t.sup.(2), . . . , x.sub.S,t.sup.(B) of which the first can be decoded independently of the other blocks. It also comprises a decision component which enables the relay to detect messages that have been decoded without error and to take a decision and an encoder and transmitter which encode a signal and transmit it to the destination, which signal is representative only of messages that have been decoded without error. After each received block, the encoding and transmission unit is under the control of the decision component.

Claims

1. A relaying method performed by a full-duplex relay for a telecommunications system comprising a plurality of sources, the full-duplex relay, and a destination, the method comprising: a decoding process comprising estimating for each source a code word x.sub.S,t from received blocks corresponding to successive code words x.sub.S,t transmitted simultaneously by the plurality of sources during T time slots, such that, at each time slot t, t=1, . . . , T, the code word x.sub.S,t comprises B blocks x.sub.S,t.sup.(1), x.sub.S,t.sup.(2), . . . , x.sub.S,t.sup.(B), a first block of the B blocks to be decoded independently of the other blocks, a code word x.sub.S,t encoding a K-bit message u.sub.S,t, where K, B, and T are natural integers, B>2, T>1; detecting, by the full-duplex relay, messages that have been decoded without error and taking a decision; and encoding a signal and transmitting it to the destination, wherein the signal is representative only of messages that have been decoded without error; wherein, after each received block, the encoding and transmission are performed under the control of the process of detecting messages that have been decoded without error and of taking a decision in compliance with a selection scheme, and wherein the selection scheme is such that a representative signal relating to a message that has been decoded without error during a time slot is transmitted by the full-duplex relay during the same time slot.

2. A method according to claim 1, further comprising storing messages that have been decoded without error.

3. A method according to claim 1, wherein in the absence of a message that has been decoded without error during a current time slot t, the error detection and decision taking process allows a message that has been decoded without error during a preceding time slot to be encoded and transmitted.

4. A method according to claim 1, wherein the decision allows a message to be encoded and transmitted as soon as it has been decoded without error.

5. A method according to claim 1, wherein after each received block, detection and decoding are under the control of the process of detecting messages that have been decoded without error and of taking a decision in compliance with a selection scheme.

6. A method according to the claim 5, wherein if all the messages are decoded without error during a current time slot t, then the process of detecting messages that have been decoded without error and of taking decisions stops detection and decoding until the end of the current time slot and allows encoding and transmission.

7. A method according to claim 1, wherein the selection scheme is such that, at each current time slot t, the transmitted signal is representative of the messages decoded without error up to the current time slot t.

8. A method according to claim 1, wherein the selection scheme is such that, during each current time slot t, the transmitted signal is representative of the messages that have been decoded without error solely during the current time slot t.

9. A method according to claim 1, wherein the encoding and transmission process comprises interleaving for each source for which a message has been decoded without error prior to network coding.

10. A method according to claim 1, wherein the encoding and transmission process comprises network coding followed by first interleaving, by channel coding, and by second interleaving distinct from the first.

11. A full-duplex relay for a telecommunications system comprising a plurality of sources, the full-duplex relay, and a destination, the full-duplex relay comprising: a decoder configured to estimate for each source a code word x.sub.S,t from received blocks corresponding to successive code words x.sub.S,t transmitted simultaneously by the plurality of sources during T time slots, such that, at each time slot t, t=1, . . . , T, the code word x.sub.S,t comprises B blocks x.sub.S,t.sup.(1), x.sub.S,t.sup.(2), . . . , x.sub.S,t.sup.(B) , a first block of the B blocks to be decoded independently of the other blocks, a code word x.sub.S,t encoding a K-bit message u.sub.S,t, where K, B, and T are natural integers, B>2, B>2; a decision component configured to enable the full-duplex relay to detect messages that have been decoded without error and to take a decision; and an encoder and transmitter configured to encode a signal and transmit it to the destination, wherein the signal is representative only of messages that have been decoded without error; wherein the full-duplex relay is configured such that, after each received block, the encoder and transmitter is under the control of the decision component which detects messages that have been decoded without error and which takes a decision in compliance with a selection scheme, and wherein the selection scheme is such that a representative signal relating to a message that has been decoded without error during a time slot is transmitted by the full-duplex relay during the same time slot.

12. A reception method for a receiver of at least one MARC system for performing a relaying method according to claim 1, wherein the method comprises: jointly detecting and decoding blocks coming from the sources and of messages coming from the full-duplex relay, the detection and decoding being performed iteratively at the end of each time slot t such that t {Q, . . . , T} over the duration of a sliding window of length Q, Q {1, . . . , T}, with propagation of probabilities between the iterations in order to estimate Q messages for each source; wherein the decoding of the messages from the full-duplex relay is configured in each sub slot on the basis of signalling information coming from the full-duplex relay indicating whether the full-duplex relay is cooperating on this block b, b=1, . . . B; and wherein the propagation of probabilities is configured for each block b, b=1, . . . B, on the basis of signalling information coming from the full-duplex relay indicating the selection scheme of the full-duplex relay, with B and T being natural integers, B>2, T>1.

13. A receiver for at least one multiple-access relay channel (MARC) system, said receiver comprising: a detector and decoder configured to jointly detect and decode blocks coming from a plurality of sources and messages coming from a relay, the detection and decoding being performed iteratively at the end of each time slot t such that t {Q, . . . , T} over the duration of a sliding window of length Q, Q {1, . . . , T}, with propagation of probabilities between the iterations in order to estimate Q messages for each source of the plurality of sources; wherein the receiver is configured such that the decoding of the messages from the relay is configured in each sub slot on the basis of signalling information coming from the relay indicating whether the relay is cooperating on this block b, b=1, . . . B; and such that the propagation of probabilities is configured for each block b, b=1, . . . B, on the basis of signaling information coming from the relay indicating the selection scheme of the relay, with B and T being natural integers, B>2, T>1.

14. A method of transmitting a digital signal for a telecommunications system comprising a plurality of sources, a relay, and a destination implementing a spatially distributed network code, the method comprising for each source: encoding messages u.sub.S,t including respective CRCs into code words c.sub.s,t; and transmitting the code words c.sub.s,t during T time slots to the relay and to the destination; wherein the encoding is of finite incremental redundancy type and, at each sub slot b=1, 2, . . . , B of a time slot, it delivers a block c.sub.S,t.sup.(b) such that the B successive blocks {c.sub.S,t.sup.(b): 1bB} form a code word c.sub.s,t of the code words, a first block of the B blocks to be decoded independently of the other blocks, such that the following blocks are parity bits that add redundancy to the first block, with B and T natural integers, B>2, T>1.

15. A transmitter of a digital signal for a telecommunications system having a plurality of sources, a relay, and a destination implementing a spatially distributed network code, comprising: an encoder which encodes messages u.sub.S,t having respective CRCs into code words c.sub.s,t; and a transmitter which transmits the code words c.sub.s,t during T time slots to the relay and to the destination; wherein the encoder is of finite incremental redundancy type and, at each sub slot b=1, 2, . . . B of a time slot, it delivers a block c.sub.S,t.sup.(b) such that the B successive blocks {c.sub.S,t.sup.(b): 1bB} form a code word c.sub.s,tof the code words, a first block of the B blocks to be decoded independently of the other blocks, such that the following blocks are parity bits that add redundancy to the first block, with B and T natural integers, B>2, T>1.

Description

LIST OF FIGURES

(1) Other characteristics and advantages of the invention appear more clearly on reading the following description of implementations given merely as illustrative and nonlimiting examples, and from the accompanying drawings, in which:

(2) FIG. 1 is a diagram showing the basic topology of MARC systems;

(3) FIG. 2 is a diagram showing a prior art cooperation protocol in which the sources transmit during T time slots, and the relay co-operates after the end of each time slot, thereby leading to cooperation that requires T+1 time slots;

(4) FIG. 3 is a diagram showing the topology of a MARC system having N transmitters, one relay, and one destination;

(5) FIG. 4 is a diagram of an implementation of the processing implemented by a source of the invention;

(6) FIG. 5 is a diagram of an embodiment of a relay of the invention;

(7) FIG. 6 is a flowchart of the method of the invention implemented by the relay R;

(8) FIG. 7 is a diagram of an embodiment of the detection and decoding unit (DDU) of a relay of the invention;

(9) FIG. 8 is in the form of a factor graph showing the iterative structure of the DDU used for decoding the source S during the time slots t {1, . . . , T};

(10) FIG. 9 is a diagram of an embodiment of the encoding and transmission unit (ETU) of a relay of the invention;

(11) FIG. 10 shows an example of cooperation by the relay R.sub.1 of a MARC system having two sources S.sub.1 and S.sub.2 when there is only one time slot subdivided into B sub slots;

(12) FIGS. 11 and 12 show examples of cooperation by the relay R.sub.1 of a MARC system having two sources S.sub.1 and S.sub.2 during the time slots t {1, . . . , T}, each being subdivided into B sub slots;

(13) FIG. 13 is in the form of a factor graph showing the iterative structure of the destination decoder used for decoding the sources S.sub.1 to S.sub.M during the time slots from tQ+1 to t.

DETAILED DESCRIPTION OF PARTICULAR EMBODIMENTS

(14) The context of the invention is that where a plurality of sources (transmitters) S.sub.1, . . . , S.sub.M seek to send their respective messages to a common destination D using a full-duplex relay R, as shown in FIG. 3.

(15) There is no constraint on the transmission channel; it may be subject to fast or slow fading, it may be frequency selective, and it may be a multiple-input and multiple-output (MIMO) channel. In the description below, the nodes (sources, relays, and destination) are assumed to be accurately synchronised, and the sources are independent (there is no correlation between them).

(16) A transmission cycle is made up of T time slots. The duration of a cycle depends on the settings of the MARC system and in particular on the MAC layer of the seven-layer OSI model. At each time slot, each source has a K-bit message for transmitting. CRC type information forms part of the K-bit message transmitted by a source, and it is used to determine whether a received message is decoded correctly. The T messages from a source may be independent of one another or they may be correlated and constitute a frame.

(17) The sources transmit simultaneously. The relay attempts to transmit a payload signal to the destination, which signal is representative of estimated messages in order to provide help in communication between the sources and the destination.

(18) F.sub.2 is the two element Galois field, R is the real number field and C is the complex number field.

(19) The transmission scheme at the sources is shown in FIG. 4.

(20) At each time slot t, t=1, . . . , T, each source S from among the M sources {S.sub.1, S.sub.2, . . . , S.sub.M} has a message u.sub.S,t made up of K bits of information for transmission, u.sub.S,tF.sub.2.sup.K. The message u.sub.S,t includes a CRC type code that makes it possible to verify the integrity of the message u.sub.S,t.

(21) The statistically independent sources {S.sub.1, S.sub.2, . . . , S.sub.M} perform encoding of the message u.sub.S,t by means of an incremental redundancy code and they transform the message u.sub.S,t into n.sub.S bits written c.sub.s,tF.sub.2.sup.n.sup.S. The resulting code word c.sub.s,t is segmented into B redundancy blocks, each of which is transmitted during a sub slot, written c.sub.S,t.sup.(b)F.sub.2.sup.n.sup.S,b with b=1, 2, . . . , B. Each block comprises n.sub.S,b bits, with

(22) n S = .Math. b = 1 B n S , b .
The incremental redundancy code may be of the systematic type, in which case the information bits are included in the first block: u.sub.S,t c.sub.S,t.sup.(1). Regardless of whether or not the incremental redundancy code is of the systematic type, it is such that the first block c.sub.S,t.sup.(1) from among of the B blocks can be decoded independently of the other blocks. The highest coding rate at the source S is K/n.sub.S,1 and it cannot be greater than one, n.sub.S,1>K. The minimum coding rate for a source S is K/n.sub.S. Each block {c.sub.S,t.sup.(b): 1<bB} after the first block includes parity bits that add redundancy to the first block, each of the blocks {c.sub.S,t.sup.(b): 1<bB} being capable of being decoded jointly with the first block.

(23) By way of example, the incremental redundancy code can be provided in practice by means of a finite family of punctured linear codes with compatible coding rates or of codes without coding rates that have been modified to operate with finite lengths: raptor code (RC), rate compatible punctured turbo code (RCPTC), rate compatible punctured convolutional code (RCPCC), rate compatible low density check code (LDPC).

(24) Each block c.sub.S,t.sup.(b) is interleaved by a distinct interleaver written .sub.S.sup.(b), the code word after interleaving being written b.sub.S,t=[b.sub.S,t.sup.(1), b.sub.S,t.sup.(2), . . . b.sub.S,t.sup.(B)]. The interleavers serve to combat fading, which may occur during transmission via the channel, and to give each source a fingerprint that makes the sources easier to separate by the relay and by the destination. Each interleaved portion b.sub.S,t.sup.(b) of the code word is modulated in order to obtain a complex code word x.sub.S,t=[x.sub.S,t.sup.(1), x.sub.S,t.sup.(2), . . . , x.sub.S,t.sup.(B)] with x.sub.S,t.sup.(b)X.sup.N.sup.b, b=1, 2, . . . , B, where XC designates a complex signal of cardinal number |X|=2.sup.q.sup.s and where N.sub.b=n.sub.S,b/q.sub.S.

(25) Each source S from among the M sources {S.sub.1, S.sub.2, . . . , S.sub.M} may use a minimum coding rate K/n.sub.S and a modulation order q.sub.s that are different from those of the other sources, in so far as the sub slots of the transmitted complex code words are identical between the sources: n.sub.S,b/q.sub.S=N.sub.b, b=1, 2, . . . , B.

(26) Each source S transmits the code word x.sub.S,t=[x.sub.S,t.sup.(1), x.sub.S,t.sup.(2), . . . , x.sub.S,t.sup.(B)] made up of B blocks during a time slot that is subdivided into B sub slots. Whatever the value of b, 1bB, the concatenation (or accumulation) of the blocks 1 to b is itself a code word since it comes from the incremental redundancy encoder.

(27) In order to simplify reception structure at the relay and at the destination, the sources described have interleavers, an encoder, and a modulator that do not vary as a function of the time slot t, t=1, . . . , T, but it would be equally possible for them to be variable.

(28) The invention proposes a novel approach for the cooperation of a relay of a MARC system in order to give help to the sources that transmit, thereby obtaining an improvement in the spectrum efficiency of the transmission while enabling the encoding to be simple and effective in the receiver of the destination.

(29) A relaying method of the invention is implemented by the at least one full-duplex relay for a MARC system.

(30) This relay R of the invention is shown in FIG. 5. The relay comprises an iterative detection and decoding unit DDU followed by a decision unit DU and by an encoding and transmission unit ETU. The detection and decoding unit DDU periodically delivers an estimated version of the decoded messages from the sources. The decision unit DU tests the CRCs of the estimated messages supplied by the DDU in order to determine which messages have been decoded without error, and it decides whether the relay is to transmit and what information it should transmit in each sub slot during the T time slots. The encoding and transmission unit ETU transmits the payload signal to the destination during the cooperation stage of the relay. The information to be included in the signal is selected by the decision unit DU.

(31) A flowchart of the method performed by the relay R is shown in FIG. 6. The method 1 comprises a decoding step 2, an error detection and decision step 3, and an encoding and transmission step 4 for sending a signal to the destination that is representative only of messages that have been decoded without error. The error detection and decision step controls encoding and transmission and feeds the encoding in compliance with a selection scheme after each received block. In an implementation, the error detection and decision step also controls decoding.

(32) The decoding step 2 is performed by the detection and decoding unit DDU of the relay. This detection and decoding step supplies an estimate of the messages on the basis of the received words corresponding to the words x.sub.S,t=[x.sub.S,t.sup.(1), x.sub.S,t.sup.(2), . . . , x.sub.S,t.sup.(B)] transmitted by each source S from among the M sources {S.sub.1, S.sub.2, . . . , S.sub.M}.

(33) In the event of simultaneous transmission over the same radio resource, the relay performs detection and decoding in joint and iterative manner. The structure of the detection and decoding unit DDU is shown in FIG. 7 and in simplified form for the source in FIG. 8. The unit DDU is of iterative structure constituted by a soft-in soft-out multiuser detector (SISO MUD) followed by as many soft channel decoders in parallel as there are sources {S.sub.1, S.sub.2, . . . , S.sub.M}. For a block b, b {1, 2, . . . , B}, received during the time slot t, t=1, . . . , T, the received sequence is expressed in the following form:

(34) y R , t ( b ) = .Math. i = 1 M h S i , R , t x S i , t ( b ) + n R , t ( b )
where h.sub.S.sub.i.sub.,R,tC represents the channel gain between the source S.sub.i and the relay R and where n.sub.R,t.sup.(b)C.sup.N.sup.b represents additive Gaussian noise. The DDU uses the current block b y.sub.R,t.sup.(b) and all of the previously received blocks y.sub.R,t.sup.(1), y.sub.R,t.sup.(2), . . . , y.sub.R,t.sup.(b1) in order to obtain an estimate of the messages .sub.S.sub.1.sub.,t, .sub.S.sub.2.sub.,t, . . . , .sub.S.sub.M.sub.,t from the sources.

(35) At the end of receiving the first block, at each iteration, the multiuser detector MUD calculates in the form of a log likelihood ratio (LLR) the a posteriori probability (APP) of each interleaved and coded bit from each source S:

(36) LAPPR : ( [ b S , t ( 1 ) ] k ) log ( Pr ( [ b S , t ( 1 ) ] k = 1 .Math. y R , t ( 1 ) ) Pr ( [ b S , t ( 1 ) ] k = 0 .Math. y R , t ( 1 ) ) ) k = 1 , 2 , .Math. , n S , 1
in which expression n.sub.S,1 is the number of bits transmitted by each source S in the first block. This LAPPR may be written in the following form:
([b.sub.S,t.sup.(1)].sub.k)=.sub.a([b.sub.S,t.sup.(1)].sub.k)+.sub.e([b.sub.S,t.sup.(1)].sub.k)
in which expression .sub.a([b.sub.S,t.sup.(1)].sub.k) is the logarithm of the a priori probability ratio (LAPR) supplied by the SISO channel decoder of each source S at the preceding iteration, and .sub.e([b.sub.S,t.sup.(1)].sub.k) is the extrinsic information associated with the bit [b.sub.S,t.sup.(1)].sub.k.

(37) The vector .sub.e([b.sub.S,t.sup.(1)].sub.k) is deinterleaved by a deinterleaver [.sub.S.sup.(1)].sup.1, and the output .sub.a([c.sub.S,t.sup.(1)].sub.k) is the logarithm of the a priori probability ratio of the first block. The SISO channel decoder of the source S uses .sub.a([c.sub.S,t.sup.(1)].sub.k) to provide a decoded version .sub.S,t of the message u.sub.S,t to the DU and to provide extrinsic information .sub.e[c.sub.S,t.sup.(1)] of the bits. The vector of this extrinsic information is interleaved by the interleaver .sub.S.sup.(1). The output .sub.a[b.sub.S,t.sup.(1)] from the interleaver (after SISO decoding the source 1) is looped back to the input of the SISO multiuser detector MUD.sub.t.sup.(b) and marks the end of an iteration.

(38) The iterations of the DDU come to an end, either because they have reached a maximum number of iterations, or else under the control of the error detection and decision step. For example, the error detection and decision step does not allow any further detection and decoding if all of the sources have been detected without error before the end of the time slot.

(39) At the end of receiving a new block b, the switches corresponding to this block b and to all of the preceding blocks are switched. The procedure described for the first block is repeated, but taking into consideration b.sub.S,t.sup.(b)=[(b.sub.S,t.sup.(1), b.sub.S,t.sup.(2), . . . , b.sub.S,t.sup.(b)] instead of [b.sub.S,t.sup.(1)].

(40) At the end of receiving the block B.sup.e, all of the switches of the DDU are switched and the procedure described for the first block is repeated, but taking into consideration b.sub.S,t.sup.(B)=[b.sub.S,t.sup.(1), b.sub.S,t.sup.(2), . . . , b.sub.S,t.sup.(B)] instead of [b.sub.S,t.sup.(1)].

(41) FIG. 8 shows the principle of multiuser detection and of joint decoding, in the form of a factor graph. The variable nodes are represented by circles and the constraint nodes by squares, with a constraint node being a function of the variable nodes that are attached thereto. Thus, the constraint node .sub.S.sup.(b) represents the constraint function (b.sub.S,t.sup.(b), c.sub.S,t.sup.(b)) that requires b.sub.S,t.sup.(b) and c.sub.S,t.sup.(b) to be linked by the interleaver .sub.S.sup.(b), i.e. b.sub.S,t.sup.(b)=.sub.S.sup.(B)c.sub.S,t.sup.(b) or c.sub.S,t.sup.(b)=[.sub.S.sup.(b)].sup.1 b.sub.S,t.sup.(b). The constraint node MUD.sub.t.sup.(b) is linked to the variable nodes b.sub.S.sub.1.sub.,t.sup.(b), . . . , b.sub.S.sub.M.sub.,t.sup.(b) and to the observation t.sub.R,t.sup.(b). Since we are paying attention to the variable node u.sub.S,t, only the variable node b.sub.S,t.sup.(b) is shown. The rules of the sum-product algorithm [1] enable beliefs to be calculated from a constraint node to a variable node by taking account of the incident beliefs of the other variable nodes; this corresponds to activating multiuser detection for the constraint node MUD.sub.t.sup.(b) or to activating decoding for the SISO source S decoder constraint node as shown in FIG. 7. Thus, in this example, the beliefs or probability messages (for each bit) are the extrinsic information in the form of extrinsic log likelihood ratios (LLRs).

(42) Thus, during time slot t and block b, processing runs as follows. For each source S {S.sub.1, . . . , S.sub.M}, the DDU runs the following steps:

(43) 1. If the MUD.sub.t.sup.(l) l=1, . . . ,b are activated, they generate their beliefs concerning the values of the variable nodes b.sub.S,t.sup.(b) (these beliefs are generally in the form of vectors of LLR values).

(44) 2. The beliefs concerning b.sub.S,t.sup.(b) are converted into beliefs concerning c.sub.S,t.sup.(b)=[c.sub.S,t.sup.(1), c.sub.S,t.sup.(2), . . . , c.sub.S,t.sup.(b)] by the deinterleavers [.sub.S.sup.(l)].sup.1 l=1, . . . , b.

(45) 3. The beliefs concerning c.sub.S,t.sup.(b) are passed to the SISO channel decoder of the source S. In return, it generates its belief concerning the variable nodes u.sub.S,t and c.sub.S,t.sup.(b).

(46) 4. The beliefs concerning u.sub.S,t are passed to the DU.

(47) 5. If the DU allows the DDU to continue, then the belief concerning c.sub.S,t.sup.(b) is converted into belief concerning b.sub.S,t.sup.(b) by the interleaver .sub.S.sup.(l) l=1, . . . , b.

(48) 6. The beliefs concerning b.sub.S,t.sup.(b) are passed to the MUD.sub.t.sup.(l) l=1, . . . , b.

(49) 7. Repeat steps 1 to 6.

(50) Step 3 of detecting messages that have been decoded without error and of the relay taking a decision is performed by the DU. During each time slot t=1, . . . , T, step 3 detects errors in the estimated messages .sub.S.sub.1,t, .sub.S.sub.2,t, . . . , .sub.S.sub.M.sub.,t at the end of each sub slot b {1, 2, . . . , B}. In an implementation, error detection is performed by making use of CRC type information included in the first of the B blocks coming from the sources.

(51) After each received block, encoding and transmission are controlled as follows:

(52) 1. In the absence of any message that has been decoded without error, the DU uses a selection scheme to decide which messages decoded during the preceding time slots need to be helped. For example, it is possible to help only the last message that has been decoded correctly, or by way of example it is possible to help any set of messages that have been decoded without error.

(53) 2. If some sources have been decoded without error, the unit allows help for these sources, i.e. it allows the ETU to encode and transmit for these sources.

(54) 3. If all of the sources are decoded without error, the DU causes the ETU to help all of the sources to the end of the current time slot, i.e. the error detection and decision step allows the messages from all of the sources to be encoded and transmitted up to the end of the current time slot. In an implementation, the DU causes the DDU to stop processing the received signals, i.e. the error detection and decision step prevents decoding until the end of the current time slot.

(55) The selection scheme is adapted as a function of the storage capacity of the relay, and a function of the size of the sliding window when a sliding window is used by the destination, and as a function of the quantity of additional signalling needed for the destination. Among the various possible selection schemes, it is possible to distinguish the following two extreme schemes.

(56) A first scheme in which help is allowed for any set of messages from any sources that have been correctly decoded during the preceding time slots (the messages that satisfy .sub.S,i=u.sub.S,i for every i=1, . . . , t1 and for every source {S.sub.1, . . . , S.sub.M}). This set is taken at the input to the network coding (at a given time slot and a given sub slot, the relay information may be a function of any message transmitted by the sources). This scheme is compatible with so-called backward decoding at the destination providing a sliding decoding window is used that is of size Q=T.

(57) A second scheme in which help may be given only to messages that have been decoded without error previously during the same time slot. Compared with the preceding scheme, this scheme requires a minimum of signalling. Storage size is small: at most MK bits. This scheme is compatible with decoding at the destination using a sliding decoding window that is of size Q=1.

(58) Step 4 of encoding and transmission to the destination is performed by the encoding and transmission unit ETU shown in FIG. 9. This encoding and transmission step encodes the messages that have been decoded without error in order to transmit a signal that is representative only of those messages that have been decoded without error. The relay encodes jointly only those messages that have been decoded without error and it adds its own redundancy so as to create a network code.

(59) This encoding and transmission step is under the control of the error detection and decision taking step that optionally allows encoding and that selects the sources to which help is to be given.

(60) FIG. 10 shows the B sub slots of the first time slot. Each sub slot b corresponds to a data block b. The figure shows an example of selection when T=1. In this selection, the relay detects the source message S.sub.1 without error at the end of the second sub slot and it detects the source message S.sub.2 without error at the end of the fifth sub slot. Given that the relay is a full-duplex relay, it can provide help to the source S.sub.1 during the sub slots b=3, 4, 5 (it thus being understood that it can transmit a representative signal) while simultaneously continuing to listen (i.e. to receive). At the end of the fifth sub slot, the relay stops listening since it has correctly decoded all of the messages from the sources and it provides help to both sources by transmitting a signal resulting from network coding of the messages from S.sub.1 and S.sub.2.

(61) FIG. 11 shows an example of selection when t=1, . . . , T. During the first time slot t=1, the relay is capable of decoding without error S.sub.1 and then S.sub.2 at the end of the sub slots 3 and 5 respectively. During the time slot t=2 the relay is capable of decoding without error the message from S.sub.2 at the end of sub slot 4. Under such circumstances, during the sub slots 1, 2, 3, and 4 of the time slot t=2, the relay continues to provide help to the messages from S.sub.1 and S.sub.2 of the first time slot. As from sub slot 5 of time slot t=2, the relay begins to provide help for the message from S.sub.2 of the second time slot until a new message is correctly decoded, and so on. The selection scheme of FIG. 12 is identical to the scheme of FIG. 11 except that the relay does not transmit any more after time slot t=T. Thus, the protocol of the invention makes it possible to save a time slot compared with the prior art by giving help immediately to the message that has been decoded without error, without waiting for the end of time slot t=T. The protocol is thus more efficient concerning channel occupancy and thus transmission capacity.

(62) During each time slot t {1, . . . , T} and at the end of each sub slot b {1, . . . , B}, as a general rule the unit DU orders the unit ETU to transmit a new signal generated from a new set J.sub.R,t.sup.b of source messages that have been decoded without error during different time slots. At the input of the network encoder, the relay interleaves each message of this set J.sub.R,t.sup.b by a distinct interleaver .sub.R,t,|J.sub.R,t.sub.b.sub.|.sup.b between the blocks b and between the messages of the set J.sub.R,t.sup.b.

(63) By way of example, the network encoder is an exclusive OR on the interleaved messages u.sub.J.sub.R,t.sub.b.sub.(|J.sub.R,t.sub.b.sub.|). The output from the network encoder is a message having K information bits, written u.sub.R,t.sup.bF.sub.2.sup.K. The message u.sub.R,t.sup.b is interleaved by an interleaver written .sub.R,t.sup.b. The interleaved message, written .sub.R,t.sup.b is converted by a channel encoder followed by a function for selecting bits in a sequence c.sub.r,t.sup.bF.sub.2.sup.n.sup.r from n.sub.R bits. The sequence c.sub.R,t.sup.b is interleaved by a distinct interleaver written .sub.R,t.sup.b and then modulated to obtain the complex sequence x.sub.R,t.sup.bX.sup.N.sup.b in which XC represents a complex signal of cardinal number |X|=2.sup.q.sup.R.

(64) At the end of the time slots, the destination attempts to extract the messages from each source and from the relay. The sequence received during time slot t {1, . . . , T} and during block b {1, 2, . . . , B} is as follows:

(65) y D , t ( b ) = .Math. i = 1 M h S i , D , t x S i , t ( b ) + h R , D , t x R , t ( b ) 1 { J R , t b } + n D , t ( b )
in which h.sub.S.sub.i.sub.,D,tC represents the channel gain between the source S.sub.i and the destination D, h.sub.R,D,tC represents the channel gain between the relay R and the destination D, n.sub.D,t.sup.(b)C.sup.N.sup.b is a noise vector, and l.sub.{J.sub.R,t.sub.b.sub.=} is an indicator to indicate whether or not the relay is silent:

(66) 1 { J R , t b } = { 1 if J R , t b 0 else
where represents the empty set.

(67) The destination may use sliding window decoding, or it may use backward decoding.

(68) When using a sliding window of length Q, Q {1, . . . , T}, the destination begins at the end of each time slot t {Q, . . . , T} to decode messages from the sources in order to extract the QK information bits from each source that are transmitted during the time slots t, t1, . . . , t(Q1) with help from the message from the relay as transmitted during the time slots t, t1, . . . , t(Q1).

(69) The size of the sliding window may be set at a maximum value, and the destination can decide on the optimum value on the basis of the signalling coming from the relay. For example, if the maximum size is three and if the destination knows that the relay does not give help to any source during the first time slot in the absence of messages that have been decoded without error, then the destination can begin to decode the first time slot immediately without waiting for three time slots.

(70) The size of the sliding window at the destination can have an impact on the selection scheme of the relay. During a given time slot t, the selection scheme may be such that the relay does not give help to the messages that have been decoded without error in the time slots preceding the time slot t(Q1), i.e. the messages decoded during the time slots {1, . . . , tQ}.

(71) FIG. 13 shows the structure of the decoder at the destination in the form of a factor graph during the sliding window Q that covers all of the time slots from t(Q1) to t. Thus, for each time slot covered by the window, the detection and decoding systems of the sub blocks b, b=1, . . . B, received from the sources are activated in succession, e.g. by operating switches to make the systems active. And, for each time slot covered by the window, the systems for decoding sequences received from the relay are activated, e.g. by operating switches in order to make the systems active as a function of signalling information giving each sub slot, i.e. each block, an indication as to whether or not it has been transmitted by the relay. All of the blocks and messages received during the window Q are decoded jointly. The controlled connection matrix and network interleavers sub unit makes connections between the variable nodes that represent the messages from the sources and the variable nodes that represent the sequences generated by the relay at each sub slot of each time slot. As input, this sub unit receives signalling information coming from the relay indicating for each sub slot the selection scheme used by the relay. The beliefs in the form of LLRs about the various variable nodes are exchanged within the factor graph until achieving convergence.

(72) When implementing so-called backward decoding, the destination attempts to decode the messages from the sources at the end of time slot t=T, in order to extract the TK information bits from each source. This decoding scenario is appropriate when the T messages from a source form a frame (or super message), which means that there is no point in decoding one message before decoding the other messages. In contrast, when the messages from a source are independent, this scenario gives rise to pointless latency by necessarily waiting for the end of the time slot t=T. An example of the structure of the decoder is shown in FIG. 13. It is easy to obtain the backward decoding situation by setting t=T and Q=T. The constraint node MUD.sub.t.sup.(b) is linked to the variable nodes b.sub.S.sub.1.sub.,t.sup.(b), . . . , b.sub.S.sub.M.sub.,t.sup.(b), b.sub.R,t.sup.(b) and to the observation y.sub.D,t.sup.(b). For reasons of clarity, we have duplicated the constraint node MUD.sub.t.sup.(b) for each variable node. Nevertheless, a single activation of detecting multiple users associated with the constraint node MUD.sub.t.sup.b makes it possible to generate the beliefs (or extrinsic LLRs) to all of the associated variable nodes by taking account of the observation y.sub.D,t.sup.(b) and the incident beliefs.

(73) The decoder of FIG. 13 may be run as follows.

(74) Step 1, all of the multiuser detectors MUD are activated as a function of the received signal:
y.sub.D,t(Q1).sup.(1), . . . ,y.sub.D,t(Q1).sup.(B), . . . ,y.sub.D,t.sup.(1), . . . ,y.sub.D,t.sup.(B).

(75) Step 2, the variable nodes representing the network coded messages coming from the relay receive the beliefs about their values by activating their interleavers and corresponding SISO modules.

(76) Step 3, the variable nodes representing the messages from the sources receive the beliefs about their values by activating firstly their interleavers and corresponding SISOs, and secondly the controlled connection matrix and network interleavers sub unit.

(77) Step 4, on the basis of the beliefs received from the variable nodes of the messages from the sources, the destination verifies whether the messages have or have not been correctly decoded. If they have u.sub.S.sub.1.sub.t(Q1), u.sub.S.sub.2.sub.,t(Q1) . . . , u.sub.S.sub.M.sub.,t(Q1) been correctly decoded, the destination stops decoding iterations on this sliding window and slides the window to the following window (from t(Q1)+1 to t+1). Otherwise, the method moves on to step 5.

(78) Step 5, the variable nodes representing the network coded messages from the relay receive the beliefs about their values from the controlled connection matrix and network interleavers sub unit.

(79) Step 6, the multiuser detectors MUD receive the beliefs about the bits forming the modulated signals y.sub.D,t(Q1).sup.(1), . . . , y.sub.D,t(Q1).sup.(B), . . . , y.sub.D,t.sup.(1), . . . , y.sub.D,t.sup.(B); these being obtained as from activation of the interleavers and SISO units associated with the network coded messages and with the messages from the sources.

(80) Steps 1 to 6 are repeated until reaching a maximum number of iterations or until leaving the loop during step 4.

(81) It should be observed that a plurality of messages at time slots other than t(Q1) can be decoded without error. These are used for simplifying decoding for the next decoding windows.

(82) The number of decoding windows used governs the complexity of the receiver, so in certain applications it is possible for priority to be given to only a few decoding windows.

(83) The destination may form part of a plurality of MARC systems that share the same sources and the same destination, but that have different relays, these relays using mutually different radio resources.

(84) In the presence of second relays R, the constraint node MUD.sub.t.sup.(b) is linked to the variable nodes b.sub.S.sub.1.sub.,t.sup.(b), . . . , b.sub.S.sub.M.sub.,t.sup.(b), b.sub.R,t.sup.(b), b.sub.R,t.sup.(b) and to the observation y.sub.D,t.sup.(b). As a result, the left-hand portion of FIG. 13 is duplicated, replacing R with R. Activating the detection of multiple users associated with the constraint node MUD.sub.t.sup.(b) makes it possible to generate the beliefs (or extrinsic LLRs) to all of the associated variable nodes b.sub.S.sub.1.sub.,t.sup.(b), . . . , b.sub.S.sub.M.sub.,t.sup.(b), b.sub.R,t.sup.(b), b.sub.R,t.sup.(b) by taking account of the observation y.sub.D,t.sup.(b) and the incident beliefs.

(85) By way of example, the sources are users who seek to transmit messages to a common destination, e.g. a base station of a mobile access network. The sources are helped by a relay, which may be a cut-down base station, or for example one of the sources, when that source lies on the path between the sources and the base station. The sources may equally well be base stations addressing the same destination.

(86) In a particular use, the two sources correspond to two mobile terminals. In another use, the two sources may correspond to two different services that are accessible from a single terminal, but under such circumstances the terminal is provided with at least two antennas that determine two different propagation channels between the terminal and the relay, and between the terminal and the destination.

APPENDIX

(87) LLR: Log Likelihood Ratio for U being a random binary variable, its log likelihood ratio (LLR) is defined by the following relationship:

(88) LLR u = log ( P U ( u = 1 ) P U ( u = 0 ) )
in which relationship P.sub.U (u) denotes the probability that the random variable U takes the value u. LAPPR: Log A Posteriori Probability Ratio

(89) Represents to the LLR conditional on an observation that generally corresponds to a received signal.

(90) LAPPR u = log ( P ( u = 1 .Math. y ) P ( u = 0 .Math. y ) ) [1] F. R. Kschischang, B. J. Frey, and H.-A. Loeliger, Factor graphs and the sum-product algorithm, IEEE Trans. Inform. Theory, vol. IT-47, no. 2, pp. 498-519, February 2001.