- Research
- Open Access

# Network-coded retransmissions in wireless demodulate-and-forward relay channels

- Ye Liu
^{1}Email author and - Chi Wan Sung
^{1}

**2013**:136

https://doi.org/10.1186/1687-1499-2013-136

© Liu and Sung; licensee Springer. 2013

**Received:**4 January 2013**Accepted:**21 April 2013**Published:**25 May 2013

## Abstract

Consider the case where a source wishes to reliably deliver a number of data packets to the destination with the help of a demodulate-and-forward relay. We discuss two retransmission schemes, each of which can ensure that the packets from the source will be delivered to the destination without error. We first discuss a scheme that combines signals from the source and the relay at the destination using a weighed combiner. The use of network coding which facilitates the retransmission process is then proposed. The generation of network-coded retransmission packets takes the qualities of previously erroneously received packets at the destination into account, and we show that such network coding scheme can make the retransmission process more efficient even if there is only one destination, unlike the existing approaches where the gain of network coding must come from coding opportunities across multiple destinations. Simulation results show that while the first retransmission scheme performs well in the low signal-to-noise ratio (SNR) region, the second scheme has good performance in both low and high SNR regions, thanks to the use of network coding. Moreover, the second scheme induces smaller packet decoding delay than the first scheme.

## Keywords

- Network Code
- Weighted Combiner
- Maximal Ratio Combine
- Average Packet
- Signal Constellation

## 1 Introduction

### 1.1 Motivation and contribution

Relay has found itself becoming part of the long term evolution-advanced (LTE-A) due to its ability to extend coverage area and increase users’ throughput [1]. Forming a virtual antenna array with the source, works have been done (e.g., [2–4]) so that maximum possible diversity gain can be obtained when the relay works in different modes, namely decode-and-forward (DF), amplify-and-forward, and demodulate-and-forward (DmF). It has been demonstrated that with the help of relays, lower outage error probability can be achieved.

When multiple packets are to be routed to multiple destinations, network coding [5] has been proven to be an efficient solution in many network models. Works have been done to study the advantages of network coding in broadcast channels, including linear network coding [6–9] and non-linear network coding [10]. In DF relay channels, outage analysis was performed in DF relay channels with two destinations in [11], where the use of network coding achieves full diversity with less bandwidth and energy. Retransmission schemes are then designed in [12] for the same type of network, and network coding opportunities of different lost packets are exploited among destinations, which greatly improves the throughput of the proposed schemes. A network-coded retransmission scheme of multiple sources multiple destinations with the help of a single relay is designed in [13], where the relay performs binary linear network coding on packets from different sources to increase throughput. The use of network coding in DmF multi-user multi-relay channels is also proposed in [14], where a relay is selected to forward network-coded packets by the realized channel gains of the source-to-relay links and relay-to-destination links, and a diversity of two is observed for each source.

The rest of the paper is organized as follows. In Section 2, the system model will be set up and the weighted combiner will be briefly summarized. In Section 3, retransmission schemes based on the weighted combiner and network coding will be discussed. After that, algorithms for finding network-coded packets will be proposed in Section 4. Simulation results will be given in Section 5. Finally, conclusion and future works will be the content of Section 6.

### 1.2 Notations

Throughout the paper, we use boldface to represent a column vector (e.g. **A** for vector **A**) and math calligraphy to represent a set (e.g., $\mathcal{\mathcal{B}}$ for set $\mathcal{\mathcal{B}}$). ∥·∥ denotes the Euclidean norm. (·)^{∗} means the conjugate, (·)^{T} means the transpose, and (·)^{H} means conjugate transpose. ⌊ *x* ⌋ takes the floor of a real number *x*. ⊕ denotes the bit-wise exclusive OR operation. *Q* (·) is the Q-function, and $Q\left(x\right):=\frac{1}{\sqrt{2\pi}}{\int}_{x}^{\infty}exp(-{t}^{2}/2)\mathit{\text{dt}}$.

## 2 System model

Consider the relay channel displayed in Figure 1, where the source wishes to transmit its data to the destination via the help of relay. Transmissions are equally slotted in time, and the communication link between any two nodes in the network is modeled as block Rayleigh fading channel, where the real and imaginary parts of the channel coefficients are i.i.d. zero mean Gaussian random variables with variance 0.5 and remain unchanged in a time slot. The received signals at the relay and destination are also corrupted by additive white Gaussian noise with zero mean and *σ*^{2} variance. The relay and the destination have full knowledge of the channel state information of the source-to-relay channel and the source-to-destination channel, respectively, so that coherent detection can be performed. Assume the transmission power of the source and the relay is the same and is normalized to 1. With the realized complex channel coefficient to be *h* for a communication link, the SNR of a transmitted packet at receiver side is given by $\frac{|h{|}^{2}}{{\sigma}^{2}}$. We will use *h*_{SD}, *h*_{SR}, and *h*_{RD} to indicate the channel coefficient of the source-to-destination link, the source-to-relay link, and the relay-to-destination link, respectively. The relay is placed somewhere between the source and the destination, and the effect of path loss is taken into consideration.

The source has *K* source packets of equal number of bits to be transmitted reliably to the destination. All transmissions, either from the source or from the relay, are assigned to different time slots of the same duration. We assume that a fixed-rate ideal channel coding scheme and binary phase-shift keying (BPSK) modulation is applied before sending a packet, where the channel coding scheme is ideal in the sense that decoding error is arbitrarily close to zero if the code rate is less than or equal to the channel capacity. Given a realized SNR *Γ* at the receiver, the rate log(1 + *Γ*) bits/s/Hz can be achieved [15]. For a given modulation scheme, the bit error rate (BER) after demodulation is directly related to *Γ*. Therefore, to correctly receive a packet, the BER after demodulation must be smaller or equal to a threshold value *ε*_{th}, so that the destination can correctly decode the packet.

The transmission of the *K* packets can be divided into two phases. In the initial phase, the *K* source packets are broadcasted to both the relay and the destination. Retransmission phase will start if not all of the *K* packets are received correctly by the destination. We assume that the control signals, i.e., acknowledgements (ACKs) and negative acknowledgements (NACKs), indicating reception success and failure of the corresponding packets, respectively, can be reliably received by intended receivers.

**P**

_{ i }that is in error after the initial phase, all available observations at destination are processed by maximal ratio combining (MRC) [17] so that the SNR values of the observations can be added. Once the sum of the SNR values exceeds the

*threshold value*

*T*, where

the retransmission of **P**_{
i
} will be halted as **P**_{
i
} is now reliably received.

If a relay is present, the relay can overhear the transmissions in the initial phase and it may be helpful in the retransmission phase. Limited by its functionality, however, the relay is not able to decode the original data packets from the source; hence, errors will be propagated to the destination if time slots are allocated to the relay in the retransmission phase. Nevertheless, if **P**_{
i
} is received at the relay with high SNR, then after demodulation and re-modulation, the BER of the re-modulated signal will be small. In that case, the relay is still able to provide useful information on the source packets and help achieve higher retransmission efficiency. A DmF relaying scheme is proposed in [3], where the destination applies a weighted combiner to the incoming signals from the source and the relay, such that a diversity of 2 is achieved. We now describe the relay scheme in [3] for future references.

**X**transmitted from the source in the first time slot. Denote the received signals at the relay and the destination as

**Y**

_{SR}and

**Y**

_{SD}, respectively. The relay performs coherent maximal-likelihood demodulation on

**Y**

_{SR}. Denote the re-modulated signal vector at the relay as $\hat{{\mathbf{X}}_{\mathrm{R}}}$. For BPSK, the

*i*th symbol of $\hat{{\mathbf{X}}_{\mathrm{R}}}$ satisfies the following relation:

**Y**

_{RD}from the relay. Let

*Γ*

_{SD},

*Γ*

_{SR}, and

*Γ*

_{RD}be the SNRs of

**Y**

_{SD},

**Y**

_{SR}, and

**Y**

_{RD}, respectively. The combined symbol vector

**Y**

_{D}can be written as [3]:

**Y**

_{SD}and

**Y**

_{RD}, respectively. In (5),

*ε*

_{eq}(

*Γ*

_{SR},

*Γ*

_{RD}) is the equivalent BER of a signal at the destination after going through the source-to-relay link, being demodulated and re-modulated at the relay, and going through the relay-to-destination link. The expression of

*ε*

_{eq}is given as

**Y**

_{D}is given as

where ${\sigma}_{\mathrm{D}}^{2}=\left(\right|{w}_{\text{SD}}{|}^{2}+\left|{w}_{\text{RD}}{|}^{2}\right){\sigma}^{2}$.

It was shown in [3] that the above scheme can achieve the highest possible diversity. In the next section, we will design retransmission schemes based on the above weighted combiner.

## 3 Proposed retransmission schemes

In this section, we will discuss two retransmission schemes. One is based on the weighted combiner introduced in Section 2, and the other one uses both weighted combiner and network coding.

### 3.1 Cooperative retransmission

*ε*

_{D}≤

*ε*

_{th},

**X**can be correctly decoded. To maximize the efficiency of retransmissions when a relay is available, it is crucial to determine when the relay should retransmit. Also, in order to make sure that a retransmission scheme can always work, the source should delegate the retransmissions to relay only if the relay possesses good enough observations of the source packets. To achieve this robustness, the SNR of a packet received by the relay should exceed

*T*, so that a packet can still be delivered to the destination via the relay in a finite number of retransmissions without knowing the SNR of the packet at the destination. Let the

*SNR threshold value at relay*be

*T*

_{R}, where packets received by the relay are considered good enough to be forwarded if their SNRs are larger than or equal to

*T*

_{R}. It is clear that

*T*

_{R}should be set larger than

*T*. After the initial phase, the following threshold-based cooperative retransmission (TCR) scheme will be initiated if there are packets at the destination that are not decoded correctly. Let

*Γ*

_{1,SD},

*Γ*

_{2,SD},...,

*Γ*

_{K,SD}be the SNRs of packets 1, 2,...,

*K*at the destination after the initial phase, respectively. Let

*Γ*

_{1,SR},

*Γ*

_{2,SR},...,

*Γ*

_{K,SR}be the SNRs of packets 1, 2,...,

*K*at the relay after the initial phase, respectively. The TCR scheme can be described as follows:

- (1)For the
*i*th packet,*i*∈[1,*K*]: If*Γ*_{i,SD}≥*T*, increment*i*by 1. If*Γ*_{i,SD}<*T*, check the following conditions:- (a)
*Γ*_{i,SR}<*T*_{R}, - (b)
*Γ*_{i,SR}≥*T*_{R}.

- (a)
- (2)
If condition (a) is satisfied: The source retransmits

*X*_{ i }. The relay and the destination combine all different copies of*X*_{ i }they received from the source using MRC, so that*Γ*_{i,SR}and*Γ*_{i,SD}are improved. The source stops retransmission until either*Γ*_{i,SR}≥*T*_{R}or*Γ*_{i,SD}≥*T*. Go back to step 1. - 3.
If condition (b) is satisfied: The destination finds the required SNR of the receiving signal on the relay-to-destination link, namely

*Λ*_{ i }, such that*ε*_{D}=*ε*_{th}. The calculation of*Λ*_{ i }can be done by applying bisection method to (7), after setting*ε*_{D}=*ε*_{th},*Γ*_{SR}=*Γ*_{th,R},*w*_{SD}*h*_{SD}=*σ*^{2}*Γ*_{i,SD}, ${w}_{\text{RD}}{h}_{\text{RD}}=\frac{{{Q}^{-1}\left[{\epsilon}_{\text{eq}}\right({\Gamma}_{i,\text{SR}},{\Lambda}_{i}\left)\right]}^{2}}{{\sigma}^{2}}$. The relay keeps retransmitting $\hat{{\mathbf{X}}_{i,\mathrm{R}}}$ until the destination has combined enough observations of $\hat{{\mathbf{X}}_{i,\mathrm{R}}}$ by MRC such that the SNR of the combined copies of $\hat{{\mathbf{X}}_{i,\mathrm{R}}}$, denoted as ${\Gamma}_{\hat{{\mathbf{X}}_{i}}}$, is larger than or equal to*Λ*_{ i }. Go back to step 1.

*i*, it will continue sending the control signal (either ACK or NACK) for packet

*i*+1. If the destination sends a NACK for packet

*i*, it will stop and wait for retransmissions of packet

*i*until it can issue an ACK for it. The source and relay can setup their own timers, and the timers are started upon receiving a NACK signal from the destination. The initial value of the timer at the relay can be set according to

*Γ*

_{i,SR}. There will be two situations:

- (1)
If

*Γ*_{i,SR}<*T*_{R}, the source’s timer will expire first. The source then starts retransmitting the*i*th packet until either an ACK signal is received from the destination when*Γ*_{ i }≥*T*or an ACK signal is received from the relay when*Γ*_{i,SR}≥*T*_{R}. In the former case, the retransmission of the*i*th packet is done. In the latter case, the relay will send an ACK to the source, and the retransmission of the*i*th packet will be performed by the relay. The retransmission of the*i*th packet finishes until the destination issues an ACK. - (2)
If

*Γ*_{i,SR}≥*T*_{R}, the relay’s timer will expire first. The relay sends an ACK to the source so that the source will not perform retransmission and then retransmits the*i*th packet until it receives an ACK from the destination.

Good values of *T*_{R} under different channel settings will be obtained via simulations.

### 3.2 Network-coded cooperative retransmission

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

**P**

_{1}and

**P**

_{2}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

**P**

_{1}and

**P**

_{2}at destination after the initial phase as

**Y**

_{1,SD}and

**Y**

_{2,SD}, respectively. We have

where *h*_{2,SD} is the channel coefficient of the source-to-destination link when **P**_{2} is sent by the source. We further assume that **P**_{1} ⊕ **P**_{2} 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** = [*a*_{1},*a*_{2},...,*a*_{
L
}], **B** = [*b*_{1},*b*_{2},...,*b*_{
L
}], **C** = [*c*_{1},*c*_{2},...,*c*_{
L
}], such that *c*_{
i
} = *a*_{
i
}*b*_{
i
},*i* ∈ [1,*L*].

**P**

_{1}⊕

**P**

_{2}, the destination can perform the following: First, it encodes

**P**

_{1}⊕

**P**

_{2}into

**X**

_{1 ⊕ 2}using the same channel coding and modulation schemes as the source’s, and then performs element-by-element multiplication between

**X**

_{1 ⊕ 2}and $\frac{{h}_{2,\text{SD}}^{\mathrm{H}}}{{h}_{2,\text{SD}}^{\mathrm{H}}{h}_{2,\text{SD}}}{\mathbf{Y}}_{2,\text{SD}}$. Since BPSK modulation is applied and

**X**

_{1 ⊕ 2}is equal to

**X**

_{1}⋆

**X**

_{2}, we have

We can see from (9) that by such a process, we come up with another noisy observation of **P**_{1}. The SNR of this observation is equal to *Γ*_{2,SD}, since the magnitude of each component of **X**_{1} ⋆ **X**_{2} is equal to one, and the noise term’s power is unchanged. Next, the destination combines ${\mathbf{X}}_{1\oplus 2}\star \frac{{h}_{2,\text{SD}}^{\mathrm{H}}}{{h}_{2,\text{SD}}^{\mathrm{H}}{h}_{2,\text{SD}}}{\mathbf{Y}}_{2,\text{SD}}$ and **Y**_{1,SD} together using the MRC principle, and a noisy observation of **P**_{1} with SNR *Γ*_{1,SD} + *Γ*_{2,SD} is formed. By the previous channel coding assumption, **P**_{1} is now correctly received as *Γ*_{1,SD} + *Γ*_{2,S D}≥ *T*. With **P**_{1} and **P**_{1} ⊕ **P**_{2}, **P**_{2} 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 **P**_{1} ⊕ **P**_{2}, **P**_{1} ⊕ **P**_{3},..., **P**_{1} ⊕ **P**_{
m
} to the destination. The destination will have *m*−1 more copies of **P**_{1} with SNRs *Γ*_{2,SD},*Γ*_{3,SD},...,*Γ*_{m,SD} once it receives all the network-coded packets correctly. Combining all the *m* copies of **P**_{1} (the underlying assumption is that the relay gets **P**_{1} correctly in the initial transmission) with MRC will lead to successful decoding of **P**_{1}, and then **P**_{2},**P**_{3},...,**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:

**P**

_{1}and

**P**

_{2}. After the initial phase, the destination has

**P**

_{1}’s SNR

*Γ*

_{1,SD}and

**P**

_{2}’s SNR

*Γ*

_{2,SD}, where

*Γ*

_{1,SD}<

*T*,

*Γ*

_{2,SD}<

*T*, and

*Γ*

_{1,SD}+

*Γ*

_{2,SD}≥

*T*. The relay has observations of

**P**

_{1}and

**P**

_{2}with SNRs

*Γ*

_{1,SR}and

*Γ*

_{2,SR}, respectively. After demodulation and re-modulation, the relay has $\hat{{\mathbf{X}}_{1,\mathrm{R}}}$ and $\hat{{\mathbf{X}}_{2,\mathrm{R}}}$, and then the network-coded symbol vector $\hat{{\mathbf{X}}_{1,\mathrm{R}}}\star \hat{{\mathbf{X}}_{2,\mathrm{R}}}$ can be formed. Note that $\hat{{\mathbf{X}}_{1,\mathrm{R}}}\star \hat{{\mathbf{X}}_{2,\mathrm{R}}}$ is essentially a noisy observation of

**P**

_{1}⊕

**P**

_{2}, with BER

*P*

^{ m }

*a*

*t*

*h*

*r*

*m*

*b*

_{eq}(

*Γ*

_{1,SR},

*Γ*

_{2,SR}) (see (6)). Let

The above equation indicates that now the relay has a noisy observation of **P**_{1} ⊕ **P**_{2} with SNR *Γ*_{eq} (*Γ*_{1,SR},*Γ*_{2,SR}). The relay retransmits $\hat{{\mathbf{X}}_{1,\mathrm{R}}}\star \hat{{\mathbf{X}}_{2,\mathrm{R}}}$, 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 **P**_{1} ⊕ **P**_{2} with SNR *Γ*_{eq} (*Γ*_{eq} (*Γ*_{1,SR},*Γ*_{2,SR}),*Γ*_{RD}). If *Γ*_{eq} (*Γ*_{eq} (*Γ*_{1,SR},*Γ*_{2,SR}),*Γ*_{RD}) ≥ *T*, then we can say that **P**_{1} ⊕ **P**_{2} is correctly received by the destination.

*ε*

_{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}:

*Γ*

_{1,SR}and

*Γ*

_{2,SR},

*Γ*

_{2,SR}= +

*∞*, then

*Γ*

_{1,SR}to be

*c*and further reduce (10), we have

Since $Q\left(\sqrt{c}\right)<0.5$, $[1--2Q(\sqrt{c}\left)\right]Q\left(\sqrt{{\Gamma}_{2,\text{SR}}}\right)+Q\left(\sqrt{c}\right)$ 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).

*at the relay*, namely

*T*

_{R,NC}, and make sure that each requested packet by the destination has SNR larger or equal to

*T*

_{R,NC}at the relay. The value of

*T*

_{R,NC}must be larger than

*T*by (11). After setting

*T*

_{R,NC}, the required realized SNR of a network-coded packet

*at the destination*, namely

*Λ*

_{NC}, can be found by

In the situations where *Γ*_{1,SD} + *Γ*_{2,SD} < *T*, sending $\hat{{\mathbf{X}}_{1,\mathrm{R}}}\star \hat{{\mathbf{X}}_{2,\mathrm{R}}}$ will not be able to help the destination decode **P**_{1} or **P**_{2} correctly. However, as $Q\left(\sqrt{{\Gamma}_{1,\text{SR}}}\right)\le Q\left(\sqrt{{T}_{\mathrm{R},\text{NC}}}\right)<{\epsilon}_{\text{th}}$, the relay has a good enough observation of **P**_{1} and thus able to help the destination correctly receiving **P**_{1} by retransmitting the demodulated and re-modulated version of **P**_{1} (i.e., $\hat{{\mathbf{X}}_{1,\mathrm{R}}}$). In general, the relay can help the destination correctly receiving **P**_{
i
} by retransmitting $\hat{{\mathbf{X}}_{i,\mathrm{R}}}$, if *Γ*_{i,SR} ≥ *T*_{R,NC}. The required SNR of received $\hat{{\mathbf{X}}_{i,\mathrm{R}}}$ at the destination, namely *Λ*_{
i
}, can be calculated by applying bisection method to (7) as in the TCR scheme. Good *T*_{R,NC} values under different channel settings will be obtained via simulations.

In general, if *Γ*_{1,SD} + *Γ*_{2,SD} + ⋯+ *Γ*_{m,SD}≥*T* and *Γ*_{i,SR} ≥ *T*_{R,NC}, *i* ∈ [1,*m*], the relay can retransmit $\hat{{\mathbf{X}}_{1,\mathrm{R}}}\star \hat{{\mathbf{X}}_{2,\mathrm{R}}}$, $\hat{{\mathbf{X}}_{1,\mathrm{R}}}\star \hat{{\mathbf{X}}_{2,\mathrm{R}}}$,..., $\hat{{\mathbf{X}}_{1,\mathrm{R}}}\star \hat{{\mathbf{X}}_{m,\mathrm{R}}}$, each of which must be received by the destination with SNR larger than or equal to *Λ*_{NC}.

- (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 $({\Gamma}_{{a}_{1}},{\Gamma}_{{a}_{2}},\mathrm{...},{\Gamma}_{{a}_{k}})$ 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 $({\Gamma}_{{a}_{1}},{\Gamma}_{{a}_{2}},\mathrm{...},{\Gamma}_{{a}_{k}})$. 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 $\hat{{\mathbf{P}}_{i}}$ until the SNR of $\hat{{\mathbf{P}}_{i}}$ exceeds*Λ*_{ i }.

- (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}≥*T*_{R,NC},∀*i*∈[1,6] and the retransmissions are error-free. The relay will retransmit the following packets in sequence: **P**_{1} ⊕ **P**_{2}, **P**_{3} ⊕ **P**_{4}, **P**_{3} ⊕ **P**_{5}, and **P**_{6}. After the first retransmission, **P**_{1} and **P**_{2} can be decoded; therefore, the packet decoding delay for **P**_{1} and **P**_{2} is 1. To decode **P**_{3}, **P**_{4}, and **P**_{5}, the destination has to wait for 3 retransmissions (i.e., the retransmission of **P**_{1} ⊕ **P**_{2}, **P**_{3} ⊕ **P**_{4}, and **P**_{3} ⊕ **P**_{5}), so the packet decoding delays for **P**_{3}, **P**_{4}, and **P**_{5} are all equal to 3. The packet decoding delay for **P**_{6} is 4.

**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

*average packet decoding delay*is

where ${\sum}_{i=1}^{n}{l}_{i}$ is the number of source packets that can be decoded after receiving **P** 1 ′, **P** 2 ′,..., **P** *n*′.

#####
*Example 2.*

**P**

_{1}⊕

**P**

_{2},

**P**

_{3}⊕

**P**

_{4},

**P**

_{3}⊕

**P**

_{5}, and

**P**

_{6}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} ≥ *T*_{R,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.

## 4 Algorithms searching for valid combinations

*k*packets yet to be decoded at the destination. Without loss of generality, we assume

**P**

_{1},

**P**

_{2},...,

**P**

_{ k }are still in error at the destination. The problem of finding the maximum number of valid combinations can be stated as follows:

where $\mathcal{\mathcal{B}}$ is the set that contains indices of packets which cannot find themselves involved in any valid combinations. To illustrate an instance of the above problem, suppose *Γ*_{1} = 1.5, *Γ*_{2} = 1.2, *Γ*_{3} = 0.8, *Γ*_{4} = 0.5, *Γ*_{5} = 0.2, and *T* = 2. One solution can be ${\mathcal{S}}_{1}=\{1,4\}$, ${\mathcal{S}}_{2}=\{2,3\}$, and $\mathcal{\mathcal{B}}=\left\{5\right\}$, so that *t* = 2. This means that instead of retransmitting **P**_{1}, **P**_{2},..., **P**_{5}, we can retransmit **P**_{1} ⊕ **P**_{4}, **P**_{2} ⊕ **P**_{3}, and **P**_{5}, such that *t* = 2 transmissions are saved.

*t*in (18) is

It is easy to see that (19) gives the maximum number of valid possible combinations and sometimes overestimates it. For example, let *Γ*_{1} = *Γ*_{2} = 1.8, *Γ*_{3} = 0.4, *Γ*_{4} = 0.1, and *t* = 2. In this case, only one valid combination can be found in $\mathcal{W}=\{1,2,3,4\}$, while (19) gives the value 2.

Next, we develop polynomial-time algorithms for two simpler versions of the problem. We will demonstrate later that the number of valid combinations found in the simpler problems is not significantly smaller than the upper bound in (19).

### 4.1 Pairwise combinations only

Before we develop algorithms for finding valid combinations, we first present a lemma that can help design efficient algorithms.

####
**Lemma 1.**

There is an optimum solution for (20), where $arg\underset{i}{max}\left\{{\Gamma}_{i}\right|i\in \mathcal{W}\}$ is involved in a valid combination, if there exists at least one valid combination.

####
*Proof.*

Let $l=arg\underset{i}{max}\left\{{\Gamma}_{i}\right|i\in \mathcal{W}\}$. If there is an optimum solution that does not use *l* in any valid combination, then swapping *l* with any element involved in any valid combination found will not affect the optimality of the solution. □

Inspired by Lemma 1, we may first find a valid pairwise combination involving the largest element in $\mathcal{W}$. If such a valid combination is found, we can start looking at the second largest element in $\mathcal{W}$ and try to find a valid combination involving it. The details of the algorithm are the following:

#### Algorithm 1 **Find pairwise valid combinations**

At the end of *Algorithm 1*, we can represent $\mathcal{W}$ as $\mathcal{W}={\mathcal{S}}_{1}\bigcup {\mathcal{S}}_{2}\bigcup \mathrm{...}\bigcup {\mathcal{S}}_{c}\bigcup \mathcal{\mathcal{B}}$, where ${\mathcal{S}}_{i},\phantom{\rule{1em}{0ex}}i\in [1,{t}_{1}]$ is a set that contains indices of packets involved in a pairwise valid combination, and $\left|{\mathcal{S}}_{i}\right|=2$, $\mathcal{\mathcal{B}}$ is the set that contains indices of packets not involved in any pairwise valid combination.

####
**Theorem 1.**

Algorithm 1 maximizes *t* in (20).

####
*Proof.*

Assume that for a given $\mathcal{W}$, there is at least one valid combination. Also, assume that $\{{\Gamma}_{{a}_{1}},{\Gamma}_{{a}_{q}}\}$ is found as a valid pairwise combination by Algorithm 1.

From Lemma 1, we know there is an optimum solution, where ${\Gamma}_{{a}_{1}}$ is involved in a valid combination. Let $\{{\Gamma}_{{a}_{1}},{\Gamma}_{{a}_{p}}\}$ be a valid combination in the optimum solution. If *a*_{
p
} = *a*_{
q
}, then Algorithm 1 has found the valid combination in the optimum solution. Otherwise, if *a*_{
p
} ≠ *a*_{
q
}, from the mechanism of Algorithm 1, ${\Gamma}_{{a}_{q}}$ will be the smallest element, such that $\{{\Gamma}_{{a}_{1}},{\Gamma}_{{a}_{q}}\}$ can form a valid combination, so that ${\Gamma}_{{a}_{p}}\ge {\Gamma}_{{a}_{q}}$. In this case, swapping ${\Gamma}_{{a}_{p}}$ with ${\Gamma}_{{a}_{q}}$ will not affect the optimality of the solution.

The analysis above is carried over to other valid combinations found by Algorithm 1 after $\{{\Gamma}_{{a}_{1}},{\Gamma}_{{a}_{q}}\}$.

Since each valid combination chosen by Algorithm 1 does not affect the optimality of its final solution, we conclude that Algorithm 1 can find an optimum solution of (20) when *v* = 2. □

The complexity of Algorithm 1 is *O* (*K* log*K*), since the sorting in the second step has complexity of *O* (*K* log*K*) and other steps has complexity of *O* (*K*). It should be noted that when the retransmission is error-free and only pairwise valid combinations are considered, TNCCR with Algorithm 1 will have the least number of retransmissions it can ever achieve. The design of an optimum scheme when the retransmissions are subject to fading in terms of number of retransmissions is, however, involved and out of the scope of this work.

### 4.2 Pairwise and three-wise valid combinations

Now, we focus on the case where *v* = 3 in (20), which means we consider pairwise and three-wise combinations. We first prove that the decision version of the problem is NP-complete by reduction from a NP-complete problem called three-partition [21], and then discuss a heuristic algorithm for it.

The decision version of (20) can be stated as follows:

*Instance*: *k* numbers *Γ*_{1},*Γ*_{2},...,*Γ*_{
k
} and the corresponding indices set $\mathcal{W}=\{1,2,\mathrm{...},k\}$, where *Γ*_{
i
} < *T*, *i* ∈ [1,*k*].

*Question*: Can we find at least $\lfloor \frac{N}{v}\rfloor $ disjoint subsets of $\mathcal{W}$ such that the sum of the corresponding real numbers of each subset is larger or equal to *T*, where each subset consists at most *v* elements?

For future reference, we call this problem *v*-cardinality-constrained bin-covering (*v*-CCBC). The three-partition problem is described for ease of reference [21]:

*Instance*: A finite set $\mathcal{A}$ of 3*m* elements, a bound $B\in {\mathbb{Z}}^{+}$, and a ‘size’ $s\left(a\right)\in {\mathbb{Z}}^{+}$ for each $a\in \mathcal{A}$, such that each *s*(*a*) satisfies $\frac{B}{4}<s\left(a\right)<\frac{B}{2}$ and such that $\sum _{a\in \mathcal{A}}s\left(a\right)=\mathit{\text{mB}}$.

*Question*: Can $\mathcal{A}$ be partitioned into *m* disjoint sets *S*_{1},*S*_{2},...,*S*_{
m
}, such that for $1\le i\le m,\sum _{a\in {S}_{i}}s\left(a\right)=B$?

####
**Theorem 2.**

3-CCBC is NP-complete.

####
*Proof.*

We wish to solve the three-partition problem instance using the algorithm solving 3-CCBC. Let $\mathcal{W}=1,2,\mathrm{...},3m$, and *Γ*_{
i
} be *s* (*a*), where 1 ≤ *i* ≤ 3 *m* and $a\in \mathcal{A}$. Also, let *T* = *B*. Then, solve the 3-CCBC problem. If the answer is YES, then we find *m* subsets of $\mathcal{W}$ as $\frac{B}{4}<{\Gamma}_{i}<\frac{B}{2}$, which implies that we can find *m* subsets of $\mathcal{A}$ of the three-partition problem satisfying the respective constraints. Similarly, if the answer is NO, then we cannot find *m* subsets of $\mathcal{A}$ that satisfy the constraints. The reduction from three-partition to 3-CCBC is obviously in polynomial time, so that 3-CCBC is NP-hard.

As an output of the algorithm of 3-CCBC can be verified in polynomial time, 3-CCBC is in NP. Thus, 3-CCBC is NP-complete. □

The above theorem implies that achieving the minimum number of retransmissions using TNCCR when the retransmissions are error-free and if pairwise and three-wise valid combinations are allowed would have exponential complexity, which is impractical to implement.

We now focus on solving 3-CCBC by a heuristic. The idea of the algorithm is the following: First, apply Algorithm 1 to find pairwise combinations. Then, let ${\mathcal{U}}^{\prime}$ be a set that contains elements in $\mathcal{W}$ that are not involved in any pairwise combinations, search for three-wise combinations in ${\mathcal{U}}^{\prime}$. The searching for three-wise combinations similar to Algorithm 1 is as follows: We first search for a valid combination involving the largest element in ${\mathcal{U}}^{\prime}$. Then, find two other elements *Γ*_{
i
} and *Γ*_{
r
}, such that the sum SNR of these two elements is the smallest, while the sum SNR of *Γ*_{
i
}, *Γ*_{
r
}, and the largest element is larger than or equal to *T*. The same approach is carried out until no more valid three-wise combinations can be found. The details of the algorithm for *v* = 3 is presented in *Algorithm 2*.

#### Algorithm 2 **Find pairwise and three-wise valid combinations**

In step 7 of Algorithm 2, Algorithm 1 can be used to find *x*_{1} and *x*_{2}, such that ${\Gamma}_{{x}_{1}}+{\Gamma}_{{x}_{2}}\ge T-{\Gamma}_{{b}_{1}^{\prime}}$ by changing the while-loop condition to ‘no valid combination found yet’ and *T* to $T-{\Gamma}_{{b}_{1}^{\prime}}$. After running Algorithm 2, we have ${\mathcal{S}}_{1},\phantom{\rule{1em}{0ex}}{\mathcal{S}}_{2},\phantom{\rule{1em}{0ex}}\mathrm{...},\phantom{\rule{1em}{0ex}}{\mathcal{S}}_{{t}_{1}}$, where each of them has indices of SNRs that form a valid pairwise combination. ${\mathcal{S}}_{1}^{\prime},\phantom{\rule{1em}{0ex}}{\mathcal{S}}_{2}^{\prime},\phantom{\rule{1em}{0ex}}\mathrm{...},\phantom{\rule{1em}{0ex}}{\mathcal{S}}_{{t}_{2}}^{\prime}$, where each of them has indices of SNRs that form a valid three-wise combination. $\mathcal{\mathcal{B}}$ contains indices that the corresponding SNRs are not involved in any valid combinations.

The complexity of the first step in Algorithm 2 is *O* (*K* log*K*). The complexity of the other steps is *O* (*K*^{2}), since for each ${\Gamma}_{{b}_{i}^{\prime}}$, it takes a number of steps linear to *K* to complete step 7; step 7 can be executed for at most $\lfloor \frac{K}{3}\rfloor $ times. So, in total, the complexity of Algorithm 2 is *O* (*K*^{2}).

*K*= 16. The upper bound on the number of valid combinations is also plotted. It can be seen that by executing Algorithm 1 or Algorithm 2, which are of very low complexity, near-upper bound performance can already be achieved.

*ε*

_{th}is set to be 10

^{−3}. Again, TNCCR with Algorithm 2 attains most of the gains which resulted from network coding.

*ε*

_{th}is still 10

^{−3}, and the transmission power over noise power is 12 dB. The upper bound on reduction of number of retransmissions can be calculated as $\frac{k-{\text{Upperbound}}_{\#\text{Valid\_Comb.}}}{k}$. It can be seen that the gain of TNCCR increases with the number of packets from the source.

## 5 Simulation results

In this section, we compare the performance of TCR and TNCCR by simulations. For TNCCR, Algorithm 2 is applied to search for valid combinations. We simulate the retransmission performance in two scenarios:

Scenario 2 (Scn-2): The relay is positioned at the middle point between the source and the destination, as displayed in Figure 5b.

In the simulations, we take path loss into account. The path loss (in dB) can be calculated as 10*α* log10(*d*), where *α* is the path loss exponent and is set to be 4, and *d* is the distance between the sender and the receiver. We set the distance between the source and the destination to be 1, and the relative distances of source-to-relay and relay-to-destination in the two scenarios are shown in Figure 5. In Scn-1, the average channel gain power of the source-to-relay channel is 20.915 dB larger than that of the source-to-destination channel, and the average channel gain power of the relay-to-destination channel is 6.196 dB larger than that of the source-to-destination channel. In Scn-2, the average channel gain power of the source-to-relay channel and the relay-to-destination channel are both 12.04 dB larger than that of the source-to-destination channel.

*ε*

_{th}is set to be 10

^{−3}and 10

^{−4}. Good threshold values for TCR and TNCCR in different situations, obtained through extensive simulations, are listed in Table 1. It can be seen that when the SNR is low, TCR and TNCCR have about the same performance. On the other hand, TNCCR has better performance when SNR is relatively high (7 dB or above). The implication of the observations is two-fold:

- (1)
At low SNRs, where there are few valid combinations (as implied by Figure 2), there will be few retransmission of network-coded packets from the relay. In this case, TCR and TNCCR are more or less the same.

- (2)
At high SNRs, the relay in TNCCR starts retransmitting more network-coded packets as there are more valid combinations. The results suggest that network-coded retransmissions are more efficient than non-network-coded retransmissions in the SNR region concerned.

**Threshold values at relay of different retransmission schemes in different scenarios**

Threshold value | Scenario | Retransmission scheme | Threshold at relay |
---|---|---|---|

Scn-1 | TCR | 12.10 | |

| TNCCR | 11.15 | |

Scn-2 | TCR | 10.20 | |

TNCCR | 10.35 | ||

Scn-1 | TCR | 15.48 | |

| TNCCR | 15.08 | |

Scn-2 | TCR | 14.38 | |

TNCCR | 13.98 |

*ε*

_{th}is set to be 10

^{−3}. The results indicate that TNCCR scheme has less average packet decoding delay than the TCR scheme, which means that the destination experiences smaller delay in the retransmission phase before decoding a source packet using TNCCR.

## 6 Conclusions

In this paper, we addressed the retransmission issue in DmF relay channels. We first designed a retransmission scheme based on a weighted combiner. By forwarding high-quality observations, the relay was able to help the system achieve high retransmission efficiency in low SNR region. Then, on top of the weighted combiner, another retransmission scheme based on both weighted combiner and network coding was proposed. The network-coded packets were formed according to the qualities of the previously erroneously received packets at the destination, and they were able to boost the retransmission efficiency at high SNR region.

A possible future direction based on this work may consider a more sophisticated retransmission scheme that is based on incremental-redundancy hybrid automatic repeat request or IR-HARQ, i.e., by considering whether or not the qualities of the packets at the destination can help the relay to decide how parity bits should be generated from which source packets so that system throughput can be increased.

The proposed scheme also has the potential to be applied in wireless broadcast channels. As it has been demonstrated in 3.2, a network-coded packet generated by considering the SNRs of the received packets at the destination can be used to decode two packets. If the SNRs of the received packets at the destination is not considered (i.e., treat packets in error as erasures), then a network-coded packet can only be used to decode one packet if it is instantly decodable [8]. It is therefore expected that the proposed network-coded retransmission scheme can result in higher throughput if the network-coded retransmissions are restricted to be instantly decodable. It is also interesting to investigate the possible performance improvement brought by the proposed scheme if a retransmitted packet is not required to be instantly decodable but innovative [9].

## Appendices

### Appendix 1

#### Extension to higher modulation schemes

We first demonstrate that network-coded retransmission can be applied when *M*-PSK modulation is used. We will see that the idea of network-coded retransmission presented in Section 3.2.1 is applicable when the signal constellation of the applied modulation scheme forms a group. From this observation, we can say that network-coded retransmission can also be applied to QAM, as the signals of QAM form a group [22].

#####
M
**-PSK**

Consider the following signal constellation of *M*-PSK, where each point in the constellation is given by *e*^{j 2π β/M} (where *β*∈ [0,*M*−1] and *j*^{2} = −1).

Assume that two signals (namely ${X}_{1}={e}^{j2\pi {\beta}_{1}/M}$ and ${X}_{2}={e}^{j2\pi {\beta}_{2}/M}$) are transmitted, where *β*_{1}, *β*_{2} ∈ [0,*M* − 1]. The two signals are corrupted with additive noise (unlike the other sections where fading is present in the channel, here we only assume there is additive noise for simplicity) and the received signals are *Y*_{1} = *X*_{1} + *n*_{1} and *Y*_{2} = *X*_{2} + *n*_{2}, respectively. We now wish to send a network-coded signal that can provide information about *x*_{1} and *x*_{2}.

*M*-PSK signal constellation can be related to the following finite Abelian group [23]:

*x*

_{1}and

*x*

_{2}be −

*X*

_{1}=

*e*

^{j 2π β 1 ′/M}and −

*X*

_{2}=

*e*

^{j 2π β 2′/M}, respectively, where −

*a*means the inverse of element

*a*in a group and

*β*1 ′,

*β*2 ′ ∈ [0,

*M*−1]. Denote • as complex multiplication. If the signal

*X*

_{3}= (−

*X*

_{1}) • (−

*X*

_{2}) is delivered to the receiver without noise, then at the receiver we can have

We can see from (22) that an extra observation of *x*_{2} can be obtained from *X*_{3}•*Y*_{1}. Similarly, an extra observation of *x*_{1} can be obtained from *X*_{3}•*Y*_{2}. The MRC principle can then be applied to combine multiple noisy observations.

#####
**QAM**

From the above discussion, it is evident that the network-coded retransmission scheme can be applied to a modulation scheme if the signals form a group. In [22], it has been proven that the signal constellation of ${2}^{{2}^{n}}$-QAM is given by the group of units in the quotient ring $\mathcal{Z}\left[i\right]/{2}^{n}+{2}^{n}i$, where *n* is a positive integer and $\mathcal{Z}\left[i\right]$ means Gaussian integers ring. Similar derivations to (22) can be used to show that the network-coded retransmission is applicable to QAM signals.

### Appendix 2

#### Proof of proposition 1

Let the relay retransmit **P** 1′, **P** 2′,..., **P** *x*′ through an error-free channel to the destination, where upon receiving **P** *i*′, *i*∈[1,*x*], *l*_{
i
} source packets can be decoded at the destination. Since we only consider pairwise and three-wise valid combinations, *l*_{
i
}∈{0,1,2,3}.

#####
**Lemma 2.**

Let *Γ*_{α,SD}, *Γ*_{β,SD}, and *Γ*_{γ,SD} form a three-wise valid combination and, in order to decode source packets, **P**_{
α
}, **P**_{
β
}, **P**_{
γ
}, **P** *i*′, and **P** *r*′ should be retransmitted, where *i*, *r*∈[1,*x*]. Then, a retransmission sequence which retransmits **P** *i*′ followed by **P** *r*′ has smaller average packet decoding delay than a retransmission sequence which retransmits other packets in between **P** *i*′ and **P** *r*′.

#####
*Proof.*

*i*,

*r*,

*a*

_{1},

*a*

_{2},...,

*a*

_{ n }∈ [1,

*x*]. Consider the following three retransmission sequences:

- (1)
**P***i*′, ${\mathbf{P}}_{{a}_{1}}^{\prime}$, ${\mathbf{P}}_{{a}_{2}}^{\prime}$,..., ${\mathbf{P}}_{{a}_{n}}^{\prime}$,**P***r*′ - (2)
**P***i*′,**P***r*′, ${\mathbf{P}}_{{a}_{1}}^{\prime}$, ${\mathbf{P}}_{{a}_{2}}^{\prime}$,..., ${\mathbf{P}}_{{a}_{n}}^{\prime}$ - (3)
${\mathbf{P}}_{{a}_{1}}^{\prime}$, ${\mathbf{P}}_{{a}_{2}}^{\prime}$,..., ${\mathbf{P}}_{{a}_{n}}^{\prime}$,

**P***i*′,**P***r*′

*d*

_{1},

*d*

_{2}, and

*d*

_{3}, respectively. We have

*d*

_{3}≤

*d*

_{1}. To see

*d*

_{2}≤

*d*

_{1}, observe that

Since *l*_{
i
}∈ {0,1,2,3}, ∀*i* ∈ {*a*_{1},*a*_{2},...,*a*_{
n
}}, ${l}_{{a}_{1}}+{l}_{{a}_{2}}+\cdots +{l}_{{a}_{n}}\le 3{a}_{n}$. Therefore, *d*_{1} − *d*_{2} ≥ 0.

As the number of source packets that can be decoded after receiving each of the three sequences is the same, sequence (1) gives the largest average packet decoding delay. □

#####
**Lemma 3.**

Let ${l}_{{a}_{1}}=2$ and ${l}_{{a}_{2}}=1$, where *a*_{1},*a*_{2} ∈ [1,*x*]. Then, retransmitting ${\mathbf{P}}_{{a}_{1}}^{\prime}$ followed by ${\mathbf{P}}_{{a}_{2}}^{\prime}$ has smaller average packet decoding delay than retransmitting ${\mathbf{P}}_{{a}_{2}}^{\prime}$ followed by ${\mathbf{P}}_{{a}_{1}}^{\prime}$.

#####
*Proof.*

The average packet decoding delay of retransmitting ${\mathbf{P}}_{{a}_{1}}^{\prime}$ followed by ${\mathbf{P}}_{{a}_{2}}^{\prime}$ can be calculated as $\frac{1\times 2+2\times 1}{2+1}=\frac{4}{3}$. The average packet decoding delay of retransmitting ${\mathbf{P}}_{{a}_{2}}^{\prime}$ followed by ${\mathbf{P}}_{{a}_{1}}^{\prime}$ can be calculated as $\frac{1\times 1+2\times 2}{1+2}=\frac{5}{3}$. The lemma then follows. □

#####
**Lemma 4.**

Let ${l}_{{a}_{1}}=2$, ${l}_{{a}_{2}}=0$, and ${l}_{{a}_{3}}=3$ so that three source packets can be decoded upon receiving ${\mathbf{P}}_{{a}_{2}}^{\prime}$ and ${\mathbf{P}}_{{a}_{3}}^{\prime}$. Then, retransmitting ${\mathbf{P}}_{{a}_{1}}^{\prime}$ first gives smaller average packet decoding delay than retransmitting ${\mathbf{P}}_{{a}_{2}}^{\prime}$ and ${\mathbf{P}}_{{a}_{3}}^{\prime}$ first.

#####
*Proof.*

The average packet decoding delay of sending ${\mathbf{P}}_{{a}_{1}}^{\prime}$ first is $\frac{1\times 2+2\times 0+3\times 3}{2+0+3}=2.2$. The average packet decoding delay of sending ${\mathbf{P}}_{{a}_{2}}^{\prime}$ and ${\mathbf{P}}_{{a}_{3}}^{\prime}$ first is $\frac{1\times 0+2\times 3+3\times 2}{0+3+2}=2.4$. The lemma then follows. □

#####
**Lemma 5.**

Let ${l}_{{a}_{1}}=0$, ${l}_{{a}_{2}}=3$, and ${l}_{{a}_{3}}=1$ so that three source packets can be decoded upon receiving ${\mathbf{P}}_{{a}_{1}}^{\prime}$ and ${\mathbf{P}}_{{a}_{2}}^{\prime}$. Then, retransmitting ${\mathbf{P}}_{{a}_{1}}^{\prime}$ and ${\mathbf{P}}_{{a}_{2}}^{\prime}$ first gives smaller average packet decoding delay than retransmitting ${\mathbf{P}}_{{a}_{3}}^{\prime}$ first.

#####
*Proof.*

The average packet decoding delay of sending ${\mathbf{P}}_{{a}_{1}}^{\prime}$ and ${\mathbf{P}}_{{a}_{2}}^{\prime}$ first is $\frac{1\times 0+2\times 3+3\times 1}{0+3+1}=2.25$. The average packet decoding delay of sending ${\mathbf{P}}_{{a}_{3}}^{\prime}$ first is $\frac{1\times 1+2\times 0+3\times 3}{0+3+1}=2.5$. The lemma then follows. □

The above lemmas together suggest the following: To minimize the average packet decoding delay in error-free retransmissions, network-coded packets (each of which can be used to decode two source packets) should be retransmitted first, followed by pairs of network-coded packets (each of which can be used to decode three source packets), followed by source packets. Therefore, TNCCR gives the minimum average packet decoding delay when the retransmissions are error-free and for each *Γ*_{i,SD} < *T*, *Γ*_{i,SR} ≥ *T*_{R,NC}, where *i* ∈ [1,*K*]. That proves Proposition 1.

## Declarations

### Acknowledgements

This work was partially supported by a grant from the University Grants Committee of the Hong Kong Special Administrative Region, China (Project No.: AoE/E-02/08). Part of the work was presented in Wireless Advanced 2011.

## Authors’ Affiliations

## References

- Akyildiz IF, Gutierrez-Estevez DM, Reyes EC: The evolution to 4G cellular systems: Lte-advanced.
*Phys. Commun*2010, 3(4):217-244. 10.1016/j.phycom.2010.08.001View ArticleGoogle Scholar - Laneman J, Tse D, Wornell G: Cooperative diversity in wireless networks: efficient protocols and outage behavior.
*IEEE Trans. Inf. Theory*2004, 50(12):3062-3080. 10.1109/TIT.2004.838089MathSciNetView ArticleGoogle Scholar - Wang TR, Cano A, Giannakis GB, Laneman JN: High-performance cooperative demodulation with decode-and-forward relays.
*IEEE Trans. Commun*2007, 55(7):1427-1438.View ArticleGoogle Scholar - Borade S, Zheng L, Gallager R: Amplify-and-forward in wireless relay networks: rate, diversity, and network size.
*IEEE Trans. Inf. Theory*2007, 53(10):3302-3318. 10.1109/TIT.2007.904774MathSciNetView ArticleGoogle Scholar - Ahlswede R, Cai N, Li SYR, Yeung RW: Network information flow.
*IEEE Trans. Inf. Theory*2000, 46(4):1204-1216. 10.1109/18.850663MathSciNetView ArticleGoogle Scholar - Nguyen D, Tran T, Nguyen T, Bose B: Wireless broadcast using network coding.
*IEEE Trans. Vehicular Technol*2009, 58(2):914-925. 10.1109/TVT.2008.927729View ArticleGoogle Scholar - Keller L, Drinea E, Fragouli C: Online Broadcasting with Network Coding.
*Fourth Workshop on NetCod*2008, 1-6. NETCOD.2008.4476183Google Scholar - Sadeghi P, Shams R, Traskov D: An optimal adaptive network coding scheme for minimizing decoding delay in broadcast erasure channels.
*Eurasip J.Wireless Commun. Netw*2010. 10.1155/2010/618016Google Scholar - Kwan HY, Shum K, Sung CW: Generation of innovative and sparse encoding vectors for broadcast systems with feedback.
*IEEE ISI Proc*2011, 1161-1165. ISIT.2011.6033715Google Scholar - Li QA, Ting SH, Ho CK: Nonlinear network code for high throughput broadcasting with retransmissions.
*IEEE ISIT*2009, 2853-2857. ISIT.2009.5205268Google Scholar - Zhi C, Wei C, Fan PY, Ben Letaief K: Relay Aided Wireless Multicast Utilizing Network Coding: Outage Behaviour and Diversity Gain.
*IFIP International Conference on NPC*2008, 358-364. 10.1109/NPC.2008.22Google Scholar - Fan PY, Zhi C, Wei C, Ben Letaief K: Reliable relay assisted wireless multicast using network coding.
*IEEE J. Selected Areas Commun*2009, 27(5):749-762.View ArticleGoogle Scholar - Vien QT, Tran LN, Hong EK: Network coding-based retransmission for relay aided multisource multicast networks.
*Eurasip J. Wireless Commun. Netw*2011, 2011: 643920.View ArticleGoogle Scholar - Yune TW, Kim D, Im GH: Opportunistic network-coded cooperative transmission with demodulate-and-forward protocol in wireless channels.
*IEEE Trans. Commun*2011, 59(7):1791-1795. TCOMM.2011.050911.090660View ArticleGoogle Scholar - Tse D, Viswanath P:
*Fundamentals of Wireless Communication*. New York: Cambridge University Press; 2005.View ArticleGoogle Scholar - Chase D: Code combining–a maximum-likelihood decoding approach for combining an arbitrary number of noisy packets.
*IEEE Trans. Commun*1985, 33(5):385-393. TCOM.1985.1096314MathSciNetView ArticleGoogle Scholar - Proakis JG:
*Digital Communications*. New York: McGraw-Hill; 1995.Google Scholar - Bletsas A, Khisti A, Reed DP, Lippman A: A simple cooperative diversity method based on network path selection.
*IEEE J. Selected Areas Commun*2006, 24(3):659-672.View ArticleGoogle Scholar - Sadeghi P, Yu M: Instantly decodable versus random linear network coding: a comparative framework for throughput and decoding delay performance.
*CoRR*2012. arXiv:1208.2387v1Google Scholar - Assmann SF, Johnson DS, Kleitman DJ, Leung JYT: On a dual version of the one-dimensional bin packing problem.
*J. Algorithms*1984, 5(4):502-525. 10.1016/0196-6774(84)90004-XMathSciNetView ArticleGoogle Scholar - Garey MR, Johnson DS:
*Computers and intractability : a guide to the theory of NP-completeness*. San Francisco: W.H. Freeman; 1979.Google Scholar - Rifa J: Groups of complex integers used as qam signals.
*IEEE Trans. Inf. Theory*1995, 41(5):1512-1517. 10.1109/18.412699MathSciNetView ArticleGoogle Scholar - Kschischang FR, Debuda PG, Pasupathy S: Block coset codes for m-ary phase-shift keying.
*IEEE J. Selected Areas Commun*1989, 7(6):900-913. 10.1109/49.29613View ArticleGoogle Scholar

## Copyright

This article is published under license to BioMed Central Ltd. This is an Open Access article distributed under the terms of the Creative Commons Attribution License (http://creativecommons.org/licenses/by/2.0), which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.