In this subsection, we first discuss how network-coded retransmission can be realized with the assumption that the relay has the correct versions of the packets that the source wishes to deliver to the destination. We will then extend the idea to DmF relays, where the relay may not have exact copies of the source’s packets.
3.2.1 Network-coded retransmission
Assume that the source wishes to deliver
P1 and
P2 to the destination, and the relay has the two packets. After the initial phase, the destination cannot correctly decode the two packets. The two packets’ SNRs at the destinations are
Γ1,SD and
Γ2,SD, respectively, where
Γ1,SD +
Γ2,SD ≥
T. Denote the received signals of
P1 and
P2 at destination after the initial phase as
Y1,SD and
Y2,SD, respectively. We have
(8)
where h2,SD is the channel coefficient of the source-to-destination link when P2 is sent by the source. We further assume that P1 ⊕ P2 is transmitted by the relay and is correctly received by the destination. For ease of further development, we give the following definition of element-by-element multiplication between two vectors of equal length.
Definition 1.
Let ⋆ denote the element-by-element multiplication between two equal length vectors A and B, where A⋆B = C, A = [a1,a2,...,a
L
], B = [b1,b2,...,b
L
], C = [c1,c2,...,c
L
], such that c
i
= a
i
b
i
,i ∈ [1,L].
After correctly receiving
P1 ⊕
P2, the destination can perform the following: First, it encodes
P1 ⊕
P2 into
X1 ⊕ 2 using the same channel coding and modulation schemes as the source’s, and then performs element-by-element multiplication between
X1 ⊕ 2 and
. Since BPSK modulation is applied and
X1 ⊕ 2 is equal to
X1 ⋆
X2, we have
(9)
We can see from (9) that by such a process, we come up with another noisy observation of P1. The SNR of this observation is equal to Γ2,SD, since the magnitude of each component of X1 ⋆ X2 is equal to one, and the noise term’s power is unchanged. Next, the destination combines and Y1,SD together using the MRC principle, and a noisy observation of P1 with SNR Γ1,SD + Γ2,SD is formed. By the previous channel coding assumption, P1 is now correctly received as Γ1,SD + Γ2,S D≥ T. With P1 and P1 ⊕ P2, P2 can be derived by the exclusive OR operation. From this example, it is illustrated that instead of simply repeating the two packets that the destination needs, the relay has an alternative: to transmit the network coded packet, under the condition that the sum SNRs of the two packets at destination is larger than T. The number of retransmitted packets is then reduced from two to one. The idea can also be extended to situations when higher modulation schemes are used, which is discussed in Appendix 1.
In general, if Γ1,SD + Γ2,SD + ⋯ + Γm,SD ≥ T, the relay can send P1 ⊕ P2, P1 ⊕ P3,..., P1 ⊕ P
m
to the destination. The destination will have m−1 more copies of P1 with SNRs Γ2,SD,Γ3,SD,...,Γm,SD once it receives all the network-coded packets correctly. Combining all the m copies of P1 (the underlying assumption is that the relay gets P1 correctly in the initial transmission) with MRC will lead to successful decoding of P1, and then P2,P3,...,P
m
can be derived. We term such a combination of m packets’ SNRs as a valid m-wise combination.
3.2.2 Network-coded retransmission in DmF relay networks
In a DmF relay, as decoding is not performed, the re-modulated signal may contain errors. Nevertheless, it is still possible for a DmF relay to forward network-coded packets, and it is also possible for the destination to decode the network-coded packets from the relay correctly, which is demonstrated in the following:
Consider the transmission of two packets
P1 and
P2. After the initial phase, the destination has
P1 ’s SNR
Γ1,SD and
P2’s SNR
Γ2,SD, where
Γ1,SD <
T,
Γ2,SD <
T, and
Γ1,SD +
Γ2,SD ≥
T. The relay has observations of
P1 and
P2 with SNRs
Γ1,SR and
Γ2,SR, respectively. After demodulation and re-modulation, the relay has
and
, and then the network-coded symbol vector
can be formed. Note that
is essentially a noisy observation of
P1⊕
P2, with BER
P
m
a t h r m beq (
Γ1,SR,
Γ2,SR) (see (6)). Let
(10)
The above equation indicates that now the relay has a noisy observation of P1 ⊕ P2 with SNR Γeq (Γ1,SR,Γ2,SR). The relay retransmits , and the destination gets a noisy observation of it with SNR ΓRD. At this point, we can also say that the destination has a noisy observation of P1 ⊕ P2 with SNR Γeq (Γeq (Γ1,SR,Γ2,SR),ΓRD). If Γeq (Γeq (Γ1,SR,Γ2,SR),ΓRD) ≥ T, then we can say that P1 ⊕ P2 is correctly received by the destination.
In order to ensure that the network-coded packet
can be decoded correctly by the destination, the BER of
at the relay must be smaller than or equal to
εth; otherwise, the BER of the packet received by the destination will never be smaller than or equal to
εth, even if the relay-to-destination is noise-free. Therefore,
Γeq (
Γ1,SR,
Γ2,SR) in (10) must be no smaller than
T. This imposes the following constraint on
Γ1,SR and
Γ2,SR:
(11)
due to the reason that for finite
Γ1,SR and
Γ2,SR,
(12)
To see why (12) is the case, with some abuse of notations, one realizes that if
Γ2,SR = +
∞, then
(13)
Also, if we fix
Γ1,SR to be
c and further reduce (10), we have
(14)
Since , will be a monotonic decreasing function of Γ2,SR. Furthermore, because Q−1 (x) is a monotonic decreasing function of x, where 0 ≤ x ≤ 0.5, Γeq (c,Γ2,SR) will be a monotonic increasing function of Γ2,SR. We can then infer (12) from (13) and the monotonicity of (14).
Inspired by (10), to ensure that the relay can provide any necessary network-coded packet that can be ultimately received by the destination correctly, it is desirable to set a threshold value
at the relay, namely
TR,NC, and make sure that each requested packet by the destination has SNR larger or equal to
TR,NC at the relay. The value of
TR,NC must be larger than
T by (11). After setting
TR,NC, the required realized SNR of a network-coded packet
at the destination, namely
ΛNC, can be found by
(15)
In the situations where Γ1,SD + Γ2,SD < T, sending will not be able to help the destination decode P1 or P2 correctly. However, as , the relay has a good enough observation of P1 and thus able to help the destination correctly receiving P1 by retransmitting the demodulated and re-modulated version of P1 (i.e., ). In general, the relay can help the destination correctly receiving P
i
by retransmitting , if Γi,SR ≥ TR,NC. The required SNR of received at the destination, namely Λ
i
, can be calculated by applying bisection method to (7) as in the TCR scheme. Good TR,NC values under different channel settings will be obtained via simulations.
In general, if Γ1,SD + Γ2,SD + ⋯+ Γm,SD≥T and Γi,SR ≥ TR,NC, i ∈ [1,m], the relay can retransmit , ,..., , each of which must be received by the destination with SNR larger than or equal to ΛNC.
We now propose the threshold-based network-coded cooperative retransmission (TNCCR) scheme, which will be initiated if there are packets that are not correctly received by the destination after the initial phase:
(1)
For P
i
, i ∈ [1,K] such that Γ i,SD < T, if Γ i,SR < T R,NC, then the source retransmits P
i
until Γ i,SD ≥ T or Γ i,SR ≥ T R,NC. Let be the k-tuple consisting of all the SNRs at the destination that are less than T, where k≤K.
(2)
Find valid combinations in . Let VC
m
be the number of m-wise valid combinations found, where m ∈ [2, ω ] (i.e., there exists a ω-wise valid combination that is formed by the sum of most SNRs among all valid combinations). Starting from the smallest m, where VC
m
> 0, the relay retransmits the network-coded packets corresponding to one of the m-wise valid combinations. Each of the network-coded packets is repeatedly retransmitted until its SNR exceeds Λ NC.
(3)
For P
i
, i ∈ [1,K] that are neither involved in any valid combinations nor received reliably at the destination, the relay retransmits until the SNR of exceeds Λ
i
.
The implementation of TNCCR can be done as follows:
(1)
For P
i
that is not correctly received at the destination, do the following: the destination broadcasts a NACK for the packet. Upon receiving the NACK of P
i
, the relay checks whether Γ i,SR<T R,NC. If it is the case, then the relay sends a NACK, and the source will start retransmitting P
i
. The source stops sending P
i
if it receives an ACK from the relay (when Γ i,SR≥T R,NC) or an ACK from the destination (when Γ i,SD≥T).
(2)
If there are still packets not correctly decoded at the destination, the destination will look for valid combinations. For the i th valid combination, the destination sends a signal requesting the corresponding network-coded packet(s) with specific indices to the relay. The relay will retransmit the corresponding network-coded packet until the SNR of that packet exceeds Λ NC.
(3)
After receiving all the required network-coded packets correctly, the destination requests the relay for each of the packets that is neither involved in a valid combination nor received correctly.
3.2.3 Delay consideration
We now consider the
average packet decoding delay[
19] of different retransmission schemes, which is an important measure for applications where the sequence of decoding packets does not matter (i.e., multiple-description coding). We first give the definition of packet decoding delay:
Definition 2
The packet decoding delay of a source packet is the number of retransmissions before it is correctly decoded at the receiver.
The following example demonstrates how packet decoding delay is computed.
Example 1
Consider a relay network using TNCCR as its retransmission scheme, where K = 6, Γ1 = Γ2 = 0.5, Γ3 = Γ4 = Γ5 = 1/3, Γ6 = 0, and T = 1. Assume Γi,SR≥TR,NC,∀i∈[1,6] and the retransmissions are error-free. The relay will retransmit the following packets in sequence: P1 ⊕ P2, P3 ⊕ P4, P3 ⊕ P5, and P6. After the first retransmission, P1 and P2 can be decoded; therefore, the packet decoding delay for P1 and P2 is 1. To decode P3, P4, and P5, the destination has to wait for 3 retransmissions (i.e., the retransmission of P1 ⊕ P2, P3 ⊕ P4, and P3 ⊕ P5), so the packet decoding delays for P3, P4, and P5 are all equal to 3. The packet decoding delay for P6 is 4.
In general, let the destination request retransmission of
P 1 ′,
P 2 ′,...,
P n′, where
P i′,
i∈ [1,
n] can be a source packet (i.e.,
P
r
,
r ∈ [1,
K]) or a network-coded packet (i.e.,
P
r
⊕
P
k
,
r,
k ∈ [1,
K]). Upon reception of
P i′,
i ∈ [1,
n],
l
i
source packets can be decoded. Let
P i′,
i∈ [1,
n] requires
μ
i
retransmissions before being correctly received by the destination. Starting from
i = 1, the destination will only request
P i + 1 ′ if
P i′ is received correctly. The
total packet decoding delay is given as
(16)
and the
average packet decoding delay is
(17)
where is the number of source packets that can be decoded after receiving P 1 ′, P 2 ′,..., P n′.
Example 2.
Following Example 1, the average packet decoding delay of retransmitting
P1 ⊕
P2,
P3 ⊕
P4,
P3 ⊕
P5, and
P6 through error-free channels can be calculated as
suggesting that, on average, the receiver needs to wait for 2.5 retransmissions before decoding a packet.
Next, we show that under some specific conditions, the scheduling of retransmitting network-coded packets in TNCCR is optimum.
Proposition 1.
Assume that for each i ∈ 1,K, where Γ
i
< T, Γi,SR ≥ TR,NC, and only pairwise and three-wise valid combinations are considered. When the retransmissions are error-free, the scheduling of retransmitting packets in step 2 of TNCCR leads to the minimum average packet decoding delay.
Proof.
See Appendix 2. □
The general scheduling problem that minimizes the average packet decoding delay is however involved and is out of the scope of this paper. In the next section, we will discuss algorithms for finding valid combinations at the destination. The problem is in general hard and requires high computational complexity. We will show the complexity of the problem and then propose some efficient algorithms.