Method for dynamic and selective FD-DSDF transmission of a digital signal for a MAMRC system with several full-duplex relays, and corresponding program product and relay device
10153864 · 2018-12-11
Assignee
Inventors
- Abdulaziz Mohamad (Fontenay Aux Roses, FR)
- Raphaël Visoz (Vanves, FR)
- Antoine Berthet (Chatenay Malabry, FR)
Cpc classification
H04L1/0076
ELECTRICITY
H04B7/15592
ELECTRICITY
H04L25/03331
ELECTRICITY
H04B7/026
ELECTRICITY
International classification
H04L1/00
ELECTRICITY
H04J3/08
ELECTRICITY
H04J1/10
ELECTRICITY
Abstract
A relay for a telecommunications system comprises a decoder which responds to received blocks corresponding to successive code words x.sub.S,t transmitted simultaneously by sources during T time slots. At each 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). The first can be decoded independently of the other blocks, to estimate for each source code words x.sub.S,t. It also comprises a detector which detects messages that have been decoded without error and takes a decision and an encoder and transmitter which encodes a signal and transmits it to the destination, which signal is representative only of messages that have been decoded without error. When estimating, the decoder takes account of a signal transmitted by another relay representative of messages from the sources that were decoded without error by that relay. The encoder and transmitter is under the control of the detector in accordance with a selection scheme, after each received block.
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 at least one other full-duplex relay, and a destination, the method comprising: a decoding process comprising estimating for each source code words x.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, 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 relay, messages that have been decoded without error and taking a decision; and encoding a signal and transmitting it to the destination, which signal is representative only of messages that have been decoded without error; such that, while estimating the messages from the sources, the relay takes account of a signal transmitted by the other relay representative of messages from sources that have been decoded without error by that other relay; and such that, 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 in that 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 relay during the same time slot.
2. The method according to claim 1, further comprising storing messages that have been decoded without error.
3. The 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. The method according to claim 1, wherein the decision taken allows a message to be encoded and transmitted as soon as it has been decoded without error.
5. The 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. The method according to 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. The 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 decided without error up to the current time slot t.
8. The 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. The method according to claim 1, wherein the encoding and transmission step includes interleaving for each source for which a message has been decoded without error prior to network coding.
10. The 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 relay, at least one other relay, and a destination, the relay comprising: a decoder configured to estimate for each source code words x.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, with B and T natural integers, B>2, T>1; a decision component configured to detect messages that have been decoded without error and for taking a decision; and an encoder and transmitter configured to encode a signal and transmit it to the destination, which signal is representative only of messages that have been decoded without error; which relay is configured such that, while estimating the messages from the sources, the decoder takes account of a signal transmitted by the other relay representative of messages from sources that have been decoded without error by that other relay; and which relay is configured such that, after each received block the encoder and transmitter is under the control of the decision component which detects errors and and which takes a decision in compliance with a selection scheme, and which 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 relay during the same time slot.
12. A reception method for a destination of a MAMRC system for performing a relaying method according to claim 1, the reception method comprising: jointly detecting and decoding blocks coming from the sources and of messages coming from the relays, the detection and decoding being performed iteratively at the end of each time slot t such that t{1, . . . , tQ1} 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; which decoding of the messages from the relays is configured in each sub slot on the basis of signalling information coming from the relays indicating whether each relay is cooperating on this block b, b=1, . . . B; and which propagation of probabilities is configured for each block b, b=1, . . . B, on the basis of signalling information coming from each relay indicating the selection scheme of the relay, with B and T being natural integers, B>2, T>1.
13. A receiver for a MAMRC system, said receiver comprising: a detector and decoder configured to jointly detect and decode blocks coming from sources and messages coming from relays, the detection and decoding being performed iteratively at the end of each time slot t such that t{1, . . . , tQ1} 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; which receiver is configured such that the detector and decoder which detects and decodes messages from the relays is configured in each sub slot on the basis of signalling information coming from the relays indicating whether each 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 signalling information coming from each 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, at least two relays, 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 relays and to the destination; which 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 the code word c.sub.s,t, such that the first block can be decoded independently of the other blocks, and such that the following blocks are parity bits that add redundancy to the first block.
15. A transmitter of a digital signal for a telecommunications system having a plurality of sources, at least two relays, 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 which transmitter transmits code words c.sub.s,t during T time slots to the relays and to the destination; which 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 the code word c.sub.s,t, such that the first block can be decoded independently of the other blocks, and such that the following blocks are parity bits that add redundancy to the first block.
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)
(3)
(4)
(5)
(6)
(7)
(8)
(9)
(10)
(11)
(12)
(13)
DETAILED DESCRIPTION OF PARTICULAR EMBODIMENTS
(14) The context of the invention is one in which a plurality of sources (transmitters) S.sub.1, . . . , S.sub.M seek to send their respective messages to a common destination D with the help of a plurality of full-duplex relays {R.sub.1, R.sub.2, . . . , R.sub.N} including at least one, R.sub.1, that makes use of the signal transmitted by another one of the relays, as shown in
(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 synchronized, 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 MAMRC 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 has been 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 R.sub.1 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. The relay R.sub.1 co-operates with the sources while making use at least of the signal transmitted by another relay of the system.
(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
(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.
(22)
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,tc.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.
(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 relays 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 MAMRC 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 R.sub.1 for a MAMRC system. Any other relay of the MAMRC system can also make use of the signal(s) transmitted by one or more relays in order to help it in estimating the messages from the sources.
(30) The relay R.sub.1 of the invention is shown in
(31) The detection and decoding unit DDU periodically delivers to the unit DU an estimated version of the decoded messages from the sources. Joint decoding of the sequence transmitted by the other relay makes it easier to decode the messages from the sources. c. For each sub slot b, the decoding of the sequence from the other relay is configured on the basis of signalling information coming from that other relay indicating whether the relay is cooperating on this block b, b=1, . . . B and indicating the sources for which the relay is cooperating. Thus, for each block, the relay R.sub.1 can determine which sources are represented in the sequence from the other relay, and can consequently direct the decoded sequence accordingly so that it is taken into account while decoding messages from the sources represented in the sequence.
(32) The decision unit DU tests the CRCs of the estimated messages supplied by the DDU in order to determine which messages from the sources 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.
(33) 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.
(34) A flowchart of the method performed by the relay R.sub.1 is shown in
(35) The decoding step 2 is performed by the detection and decoding unit DDU of the relay. This detection and decoding step provides an estimate of the messages from the words received 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} and also an estimate of the decoded sequence corresponding to the signal transmitted by the other relay.
(36) In an embodiment, the other relay, e.g. R.sub.2 transmits over the same radio resource as is used by the sources, thereby maximizing the spectrum resource.
(37) During each time slot t{1, . . . , T} and for each sub slot b{1, . . . , B}, the relay R.sub.1 receives:
(38)
with and h.sub.S.sub.
(39)
with the empty set.
(40) The detection and decoding unit DDU separates the received signal coming from the relay R.sub.2 from the messages coming from the sources. This unit DDU is configured on each block by the signalling information coming from the relay R.sub.2 indicating whether the relay is cooperating during this block and indicating the sources for which the relay is cooperating.
(41) The relay R.sub.1 may make use of a sliding decoding window by taking account of its particular time constraints:
(42) 1. concerning causality: the relay R.sub.1 cannot make use of future transmissions from the relay and the sources.
(43) 2. concerning selection: the relay R.sub.1 must provide an estimate of the signals of the messages decoded from the sources at the end of each block b.
(44) The current instant (t,b) thus refers to the elapsed duration in terms of blocks for reaching the end of the sub slot b of the time slot t, i.e. (t,b)=B(t1)+b.
(45) The sliding window has a maximum length Q.sub.0B with Q.sub.0{1, . . . , T}. The length of the sliding window varies as a function of the elapsed duration in terms of blocks for reaching Q.sub.0B when the elapsed duration becomes greater than Q.sub.0B: if t<Q.sub.0 then the sliding window for the current block b is of size (t1)B+b and reaches its maximum value tB for b=B; else (tQ.sub.0) and the sliding window for the current block b is of size (Q.sub.01)B+b and reaches its maximum value Q.sub.0B for b=B.
(46) When using a sliding window of length (Q1)B+b, the relay begins at the end of each current sub slot b{1, . . . , B} for the current time slot t{1, . . . , T} in order to extract the QK information bits from each source as transmitted during the sub slots
(t,b),(t,b1), . . . ,(t,1),(t1,B), . . . ,(t1,1), . . . ,(t(Q1),1)
with the help of the messages from the relay R.sub.2 transmitted during the slots
(t,b),(t,b1), . . . ,(t,1),(t1,B), . . . ,(t1,1), . . . ,(t(Q1),1).
(47) The structure of the detection and decoding unit DDU of the relay R.sub.1 is shown by the diagram of
(48) The constraint node MUD.sub.t.sup.(b) is linked to the variable nodes b.sub.S.sub.
y.sub.R.sub.
for estimating the messages from each source
.sub.S.sub.
The scheme shows the adaptive aspect of the multiuser detection and of the decoding as a function of the signalling transmitted by the relay R.sub.2. Thus, for each block b of each time slot t, the detection and decoding system relating to the relay R.sub.2 is or is not activated (represented by operating the switch) depending on whether or not the relay R.sub.2 co-operates during this block b. The connection matrix is configured depending on the selection scheme used by the relay R.sub.2 during the block b and transmitted by the signalling of the relay R.sub.2.
(49) In similar manner, the relay R.sub.2 can benefit from the signal transmitted by the relay R.sub.1 in order to help it decode the messages from the sources.
(50) The detection and decoding unit DDU
(51) Step 2.1, all of the multiuser detectors MUD are activated as a function of the received signal:
y.sub.R.sub.
(52) Step 2.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.
(53) Step 2.3, the variable nodes representing the messages from the sources received the beliefs about their values by activating firstly their interleavers and corresponding SISOs, and secondly the controlled connection matrix and network interleavers sub unit.
(54) Step 2.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 been correctly decoded, the destination stops decoding iterations on this sliding window. Otherwise, the method moves on to step 2.5.
(55) Step 2.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.
(56) Step 2.6, the multiuser detectors MUD receive the beliefs about the bits forming the modulated signals
y.sub.R.sub.
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.
(57) Steps 2.1 to 2.6 are repeated until reaching a maximum number of iterations or until leaving the loop during step 2.4.
(58) It should be observed that a plurality of messages may be decoded without error from among the messages
u.sub.S.sub.
during a sliding decoding window performed at an earlier block or time slot. The decoding associated with the sliding window for the current block b of the current time slot t is thus simplified (by setting the beliefs associated with reliable values).
(59) Step 3 of detecting messages that have been decoded without error and of the relay R.sub.1 taking a decision is performed by the DU. During each time slot t=1, . . . , T, step 3 detects errors in the estimated messages it .sub.S.sub.
(60) After each received block, encoding and transmission are controlled as follows:
(61) 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.
(62) 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.
(63) 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 embodiment, 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.
(64) The selection scheme is adapted as a function of the storage capacity of the relay R.sub.1, as 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.
(65) 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 relayed information may be a function of any message transmitted by the sources).
(66) 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.
(67) Step 4 of encoding and transmission to the destination is performed by the encoding and transmission unit ETU shown in
(68) 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.
(69) 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.
(70)
(71)
(72)
(73) 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.
(74) There are several possible implementations of the network coding in the presence of multiple relays. For example, if the interleavers are distinct for each source decoded without error, the network coding may be merely an exclusive OR (XOR).
(75) If the property of the full diversity character needs to be satisfied, which property, in the presence of source to relay links without error, ensures that all of the messages from the sources can be decoded without error in the event of N links being interrupted from among of the N+M links from the sources to the destination and from the relay to the destination, then it is necessary to use an algebraic code of the maximum distance separable (MDS) type in a finite Galois field of cardinal number greater than 2. Under such circumstances, the network encoder performs a combination .sub.R in a finite Galois field GF(q) of the messages decoded without error and interleaved with q>2 in order to recover diversity of order N+1, given that N1. This combination .sub.R provides joint coding of only those messages that have been decoded without error while adding its own redundancy, thereby creating a network code. By way of example, this linear combination may be a non-bijective surjective function .sub.R applied to the messages u.sub.J.sub.
(76) Consideration is given to the relay R.sub.i i{1, . . . , N}, the associated network encoding is the vector a.sub.i=[a.sub.1,i a.sub.2,i . . . a.sub.M,i].sup.T of dimension M. The vector a.sub.i is defined as being the i.sup.th column of the matrix T of dimension MN, which defines the MDS encoder in systematic form G=[I.sub.M T] of dimension M(N+M).
(77) For a given configuration, assume that at the end of the sub slot b of the time slot t, this relay R.sub.1 detects only J messages without error having indices contained in the set J.sub.R.sub.
(78)
This amounts to setting to zero the coefficients
(79)
of the vector a.sub.1 having indices that are not included in the set J.sub.R.sub.
(80) In general manner, the function .sub.R is a surjection but it is not a bijection and over the messages decoded without error, and this function is referred to as the network encoding function for |J.sub.j|>1 where |J.sub.j| is the cardinal number of the set J.sub.j. Specifically, at least two messages decoded without error must be available in order to be able to apply network encoding. When only one message is decoded without error, network encoding becomes an identity.
(81) The output from the network code is a message having K information bits, written J.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.
(82) At the end of the time slots, the destination attempts to extract the messages from each source and from the relays.
(83) The sequence received during time slot t{1, . . . , T} and during block b{1, 2, . . . , B} is as follows:
(84)
in which h.sub.S.sub.
(85)
is an indicator to indicate whether or not the relay R.sub.i is silent:
(86)
where represents the empty set.
(87) The destination may use sliding window decoding, or it may use backward decoding.
(88) 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 messages from the relays as transmitted during the time slots t, t1, . . . ,t(Q1).
(89) 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 relays. For example, if the maximum size is three and if the destination knows that the relays do 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.
(90) The size of the sliding window at the destination can have an impact on the selection scheme of the relays. 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}.
(91)
(92) 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
(93) The decoder of
(94) 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)
(95) Step 2, the variable nodes representing the network coded messages coming from the relays receive the beliefs about their values by activating their interleavers and corresponding SISO modules.
(96) 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.
(97) 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 u.sub.S.sub.
(98) Step 5, the variable nodes representing the network coded messages from the relays receive the beliefs about their values from the controlled connection matrix and network interleavers sub unit.
(99) 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).
(100) Steps 1 to 6 are repeated until reaching a maximum number of iterations or until leaving the loop during step 4.
(101) 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.
(102) 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.
(103) 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 plurality of relays, which may be cut-down base stations, and/or for example one of the sources, when that source lies on the path between the sources and the base station. A source may act as a relay, e.g. on a radio resource that it is not using for transmitting its own messages. The sources may equally well be base stations addressing the same destination.
(104) In a particular use, the sources correspond to mobile terminals. In another use, the two sources may correspond to 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 relays, and between the terminal and the destination.
APPENDIX
(105) LLR: Log Likelihood Ratio
(106) for U being a random binary variable, its log likelihood ratio (LLR) is defined by the following relationship:
(107)
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
(108) Represents to the LLR conditional on an observation that generally corresponds to a received signal.
(109)