Feedback-based adaptive network coded cooperation for wireless networks

A novel feedback-based adaptive network coded cooperation (FANCC) scheme is proposed for wireless networks that comprise a number of terminals transmitting data to a common destination. The proposed FANCC exploits network coding and matches code-on-graph with network-on-graph, which is a substantial extension of adaptive network coded cooperation (ANCC). In the relay phase of FANCC, the terminal will be active when its channel fading coefficient magnitude | h | is larger than the threshold T th and the broadcast-packet of one terminal will be possibly selected for check-sum when | h | is less than the threshold R th . In the indication phase, the destination broadcasts above message at cost of 2 bits per terminal. Therefore, distributed fountain codes are generated at the destination. Both achievable rates and outage probabilities are evaluated for FANCC and closed-form expressions are derived when the network size approaches infinity. Moreover, compared with ANCC, analysis results demonstrate that FANCC achieves 1-2 dB performance improvement at the outage probability of 10 -6 and 1-2 dB gain at the same achievable rate and the simulation results shows that FANCC has better Frame error ratio (FER) performance.


I. Introduction
The random fading in wireless networks has posed a fundamental challenge to maintain excellent performance under lossy conditions. User cooperation, first discussed by vander Merlrn in 1971 [1], involves the deliberate permission of one or more cooperating nodes, known as the relays, into the conventional point-topoint communication link. Hence, a number of singleantenna users share their antennas and transmit information jointly as a virtual MIMO system, which enables them to obtain higher data rates and extra diversity than when they operate individually.
Exploiting wireless network coding [2,3] in user cooperation, adaptive network coded cooperation (ANCC) [4,5] fully exploits the spatial diversity in distributed terminals and redundancy residing in channel codes, which is composed of two phases: broadcast phase and relay phase. In the broadcast phase, each terminal broadcasts its own data (broadcast-packet) and the others which keep silent decode the received packets. In the relay phase, each terminal randomly selects several correctly-decoding packets to form the check-sum (relay-packet), then relays it to the destination. Hence, matching the instantaneous network topologies, ANCC adaptively generates an ensemble of low-density parity-check (LDPC) codes [6,7] in a distributed manner at the destination. Using the messagepassing decoding algorithm at the destination, ANCC shows much more excellent performance than the repetition-based cooperation frameworks [8] and Space-Time Coded Cooperation (STCC) schemes [9]. Despite source-destination channel quality, ANCC protocol allows all the broadcast-packets to be selected for relay-packets and all the terminals to attend relaying, which provides equal error protection to all the terminals. However, terminals with poor source-destination channel, intuitively need more error protection provided by coded cooperation. Thereby, ANCC which doesn't exploit the source-destination channel state information, is a subop-timal solution to the end-toend performance because it only considers the terminal-terminal cooperation other than overall cooperation. Inherent to network communication is the cooperation among different users which pulls together all dimensions of resources [3,10]. Recently a number of papers have been published, proposing information exchange protocols between destination and terminals [11][12][13]. References [11,12] analyze the performance of opportunistic relaying protocols which employ simple feedback from the receivers, but network coding is not adopted. Another study proposes an opportunistic network coded cooperation scheme for small networks [13]. To achieve a potential larger diversity gain of large wireless networks, in this paper, we propose Feedbackbased network coded cooperation (FANCC). Compared with ANCC, between broadcast phase and relay phase, FANCC adds indication phase. In the indication phase, the destination broadcasts the following knowledge, which costs 2 bits per terminal: the broadcast-packets transmitted in the channel whose |h| is less than R th = ln m m − l could be selected for check-sums and the terminal whose |h| is larger than where m is the network size, 0 ≤ s ≤ m and 0 ≤ l ≤ m. Thus, distributed fountain codes with unequal error protection matching channel quality are generated in an efficient and practical manner.
Obviously, FANCC subsumes ANCC as its degenerated case when both l and s are equal to the network size m. Intuitively, the feedback from the destination helps FANCC make efficient use of the degree of freedom of the channel. Furthermore, we analyze the information-theoretic results of each source-destination channel: achievable rate and outage probability. In the limiting case when m approaches infinity, closed-form expressions for achievable rate and outage probability are derived for FANCC. For any finite network where the expression of outage probability is hard to simplify, we perform the numerical evaluation. From the analysis results, the achievable rate of FANCC has no relation to l and increases with the decrease of s. The outage probability improves with the decrease of l for fixed s and decreases with the increase of s for fixed l. Despite the network size, our analysis demonstrates that FANCC has superior performance over ANCC. Finally, simulation results also verify that FANCC is more effective than ANCC.
The rest of the paper is organized as follows: Section II briefs the system model of interest and ANCC. Section III provides FANCC protocol, and Section IV analyzes the achievable rate and outage probability for FANCC, then gives numerical and simulation results. Finally, Section V draws the conclusion.

A. System model
The system model discussed in this paper comprises m terminals wirelessly transmitting data to a common destination. We assume that all the communication channels here are orthogonal in frequency, time or spread code and are subject to frequency nonselective fading. The fading coefficient h is modeled as a zero-mean, independent, circularly complex Gaussian random variable with unit variance. The magnitude |h| is Rayleigh distributed and the probability density function (pdf) of the channel power μ = |h| 2 is p u (x) = e -x . The channel noise Z accounts for the addictive channel noise and inference, which is modeled as a complex Gaussian random variable with variance N 0 .
For each transmission, terminal i sends binary phaseshift keying (BPSK) modulated data b(n) with the transmitted energy per bit E i at time n. Thereby the discretetime signal transmitted by terminal i is modeled as . The corresponding signal received by terminal j {0,1,2 · · · m}(j ≠ i, j = 0 represents the destination) is where z i,j (n) is the channel noise between terminal i and j. We assume that the mean of the signal-to-noise ratio (SNR) between terminals and the destination is the same and the mean of SNR between terminal i and the destination is We also consider that the receivers can maintain channel state information (CSI) but the transmitters not. Furthermore, we assume that the fading coefficient h keeps constant in one round of data transmission, but changes independently from one to another.

B. Adaptive Network Code Cooperation
From recent literatures, network coding is applied to a cooperative wireless network where a relay node plays the role of the network coding node which mixes the information received from other nodes and airs the coded ones, which can improve the overall system performance.
Exploiting the network coding technology, ANCC adapts to the changing network topology to combat the wireless fading, which significantly outperforms repetition-based cooperation schemes and space-time coded cooperation frameworks.
The strategy proceeds as follows. In the broadcast phase, each terminal transmits its broadcast-packet in the orthogonal channel and all the others listen and decode what it hears. Due to the channel random fading, a terminal may not decode all the broadcast-packets successfully. Here, retrieval-set (i) denotes the assemble of broadcast-packets which are correct-decoding for terminal i, where (i) ⊂ {1, 2, · · · , m} . In the relay phase, each terminal randomly selects a small, fixed number d of broadcast-packets from its retrieval-set, and calculates its relay-packet by XORing those packets symbol by symbol in the binary domain, then airs the results to the destination.
Thereby, through each round of broadcast and relay phase, a (2m, m) distributed network code in the form of a random, systematic, degree-d low-density generatematrix (LDGM) a code, is generated at the destination. The systematic bits of the distributed LDGM code comprises the broadcast-packets transmitted in the broadcast phase, the parity bits are formed of the relaypackets sent in the relay phase.
Due to the random construction of the distributed code, the knowledge that how the relay-packets are formed (selection indication) is included in the head of each relay-packet. Matching the instantaneous code graph, the destination will generate an adaptive decoder to perform message-passing decoding algorithm, which can be implemented by software radio [14]. To sum up, the ANCC protocol is shown in Figure 1.
It is clear that different selections of the subset of (i) result in different distributed LDGM codes. Take a cooperative wireless network for an example, where 6 terminals, S 1 to S 6 . If terminal j decodes successfully the packet from source i, a directed edge, i to j, is generated. In one communication round, the instantaneous network topology is illustrated in Figure 2 (destination is not shown in Figure 2). The retrieval-set (i) of each terminal is, respectively, Every bold font numeral represents the terminal whose broadcast-packet is selected to form the checksum in the relay phase. Hence, the corresponding parity check matrix of the distributed LDGM code is obtained:

A. The traditional fountain codes
In this section, before proposing FANCC, we first introduce the traditional LT codes invented by Luby [15]. Suppose that a message contains n input symbols should be sent. Hence, the encoding process works as follows: 1) randomly select a degree d from the distributed function.
2) Uniformly choose random d symbols 3) Xoring the d symbols into a check symbol, transmitting it forward to the destination. 4) repeat above three process until the destination receives enough check symbol to recover all input symbols.
Clearly, the traditional rateless codes select the input symbols at the same probability and have equal error protection for all information. From the encoding process, we may treat the input and check symbols as vertices of a bipartite graph which is similar to an LDPC code. Therefore, the input symbols are information bits and the check symbols are the check bits. The decoding process of LT codes repeatedly uses the following simple recovery rule: Find any equation with exactly one variable, recover the value of the variable by setting it equal to the value of the equation, and then remove the newly recovered variable from any other equations that it appears in by exclusive-oring its value into each of these equations. For example, consider the fountain code with equations y 1 = x 3 , y 2 = x 2 ⊕ x 3 , y 3 = x 3 ⊕ x 1 and y 4 = x 4 ⊕ x 2 ⊕ x 1 . And the decoding process is shown as follows: 1) we obtain the value of x 3 from the equation y 1 = x 3 . Then, we XOR the equation y 2 and y 3 with x 3 and yield new equationỹ 2 = x 2 andỹ 3 = x 1 .
2) Thus, we recover the value of x 2 fromỹ 2 = x 2 . The new value of x 2 is substituted into y 4 to achieve the new simplified equationỹ 4 = x 4 ⊕ x 1 .
3) Then, we get the value of x 1 fromỹ 3 = x 1 and XOR it intoỹ 4 yielding the new simplified equation y 4 = x 4 . 4) At last, we recover the value of x 4 from y 4 = x 4 .

B. The Basic Idea of FANCC
The greatest cooperation among different users can pull together all dimensions of communication resources efficiently (i.e. time, frequency, spread code or terminal etc.). The more understanding users play with, the greater diversity the system gets. The ANCC protocol takes advantage of the cooperation between terminals but not between terminals and the destination. Utilizing each source-destination channel state information obtained at the destination for resource management, it is evident to produce additional cooperative benefits. Furthermore, terminals never stop relaying unless the destination successfully decodes all the broadcast-packets if the system complexity is not considered, that is to say, a rateless code is generated from the view of the destination [16]. However, two advanced protocols mentioned above are too complex to be practical. Based on above discussion, our idea finds its intuitive motivation that more data can be transmitted in good channels and the broadcast-packets in bad channels should require greater protection of relay-packets in the distributed codes, which is in line with the classic information theory. In this paper, we propose Feedback-based adaptive network coded cooperation (FANCC), which makes use of the indexed feedback from the destination to indicate which terminals' broadcast-packets to form the checksum and which terminals to transmit the relay-packets in the relay phase. Figure 3 demonstrates the FANCC strategy in detail. The specific process works as described below: In the broadcast phase, each terminal broadcasts its broadcast-packet in its orthogonal channel while the others keep silent and decode what it hears, which is the same as that in ANCC.   In the indication phase, the destination uses transmission indication, T and relay indication, R, where T is a length-m vector and every element is '0' or '1', as well as R. Here, T(i) = 1(1 ≤ i ≤ m) denotes that the terminal whose |h| is larger than T th = ln m s and terminal i will transmits the check-sum in the relay phase. Likewise, R(i) = 1(1 ≤ i ≤ m) means that terminal i whose | h| is less than R th = ln m m − l and its broadcastpacket is allowed to be selected to form the check-sum, where m is the number of terminals. In this phase, the destination broadcasts R, T to each terminal. l is selected to guarantee the broadcast packets error free in the channels where |h| > ln m m − l and s satisfies the condition m -l ≤ s ≤ m. Here we assume that the feedback process is free of error, which is similar to relay selection indication transmission in ANCC.
In the relay phase, XORs them from symbol by symbol and conveys the result to the destination in the orthogonal channel. For example, in Figure 3, the broadcast-packet of terminal 3 can not be selected for check-sums and terminals except terminal 2 transmit the relay-packet in the relay phase.
For one communication round, we assume that there are k 1 1s in T and k 2 1s in R. Thus a distributed (k 1 , 2m) fountain code is produced, whose parity check matrix has mk 2 zero columns, that is to say, mk 2 broadcast-packets get no error protection. FANCC needs k 1 time slots in the relay phase rather than m time slots in ANCC. Clearly, ANCC is a special case of FANCC with k 1 = m, k 2 = m.
Compared with ANCC, FANCC requires the destination to broadcast 2m bits for the relay and transmission indication information, but the additional cost in the indication phase could be ignored if the length of broadcast-packet is large, which can be implemented easily and has great practical value.
Without loss of generality, we take an cooperative wireless network for an example, which is shown in Figure 2. After broadcast phase, we assume the the destination has known the CSI of terminal S 4 is larger than R th and that of terminal S 6 is smaller than T th . Then, the destination broadcasts T = '111110' and R = '111011' to all terminals. According to this knowledge, all terminals finish the corresponding relay phase. Following the convention of code graph, let us use boxes to represent check-nodes and circles to represent bit-nodes. Therefore, the bipartite code graph is illustrated in Figure 4 and the corresponding check matrix is shown in equation (4). From the code graph, the data received at the destination could construct a digital fountain code with unequal error protection.

IV. Performance Analysis
In this section, we will study the information-theoretic results of each source-destination channel (i.e. achievable rate and outage probability). Following the reference [5], we first formulate the mutual information of each terminal, then provide the corresponding outage probability and the achievable rate as functions of the network size m, l and s. Assuming l and s are linear functions of m, at last we provide their numerical analysis when m < ∞ as well as their limit evaluation when m ∞. We also assume that perfect channel coding has been performed in each packet, thereby Shannon limitation can be used to denote the information that each terminal can convey per second. For simplicity, we focus on continuous-input, continuous-output channels with Gaussian sources.

A. Preparations
We begin with introducing some signs for convenient description. We use subscript (i, d) to mark "from terminal i to the destination".
Since R(i) = 1 denotes the CSI of terminal i is smaller than ln m m − l and R(i) = 1 represents the CSI of terminal i is larger than ln m s , using the pdf we can compute and where 1 ≤ i ≤ m.
We use k 1 to denote the number of nonzero elements in T and k 2 to mark the number of element 1 in R. Since all the channels from terminals to the destination are independent and identically distributed, k 1 and k 2 satisfy Bernoulli distribution and their probability density functions are and respectively, 0 ≤ p, q ≤ m. Their expectations are and

B. Information-theoretic analysis of FANCC
After making above preparations, we successively analyze mutual information, achievable information rate and outage probability of FANCC. 1) Mutual Information: For terminal i which gets no error protection in the relay phase, that is, R(i) = 0. Using the Shannon formula with the instantaneous SNR, the mutual information between terminal i and the destination can be directly written as b where the factor k 1 m + k 1 accounts for: m + k 1 time slots are used in FANCC constitutes of m slots in the broadcast phase and k 1 slots in the relay phase. Thereby the contribution in broadcast phase is normalized by k 1 m + k 1 and that in relay phase is m m + k 1 .
In the relay phase of FANCC, the broadcast-packets from the terminals (R(i) = 1) are encoded further into relay-packets of the distributed LDGM code and the terminals (T(i) = 1) convey the different check-sum to the destination. Since the distributed codeword is transmitted by the terminals i (T(i) = 1) through independent channels, the total system mutual information can be written as the sum of the Shannon formula with all the instantaneous SNRs. For fairness, the energy saved in the relay phase of FANCC is added uniformly to the terminals i (T(i) = 1), which renders the total energy consumption the same as that in ANCC. We derive the following expression for the mutual information for terminal i (R(i) = 1): where can be explained like this: the k 1 parity check packets of the network code protect k 2 broadcast packets of terminals i(R(i) = 1) equally, and the mutual information transmitted by k 1 terminals (T(i) = 1) provides uniform contribution to k 2 broadcast packets. From (12) and (13), we observe that the mutual information in FANCC is not a function of retrieval-set , which is similar to ANCC. For reasonable R th and T th , it is always true that the number of broadcast packets which can be allowed to be selected is larger than the fixed number D, which guarantees that the resulting LDGM codes are excellent.
From equation (8) and (9), we can know that k 1 and k 2 approach their expectation s and l when the network size m approaches infinity. Therefore, for large networks, k 1 and k 2 could be considered as s and l approximately. Gathering (6), (7), (10), (11), (12) and (13), the instantaneous mutual information of each terminal can be written as (14).
2) Achievable Information Rate: When m is large enough, according to its definition, the achievable information rate can be derived as the expectation of the mutual information in (14). bps/Hz Considering (14) can be simplified as where Ei (.) is exponential-integral function defined as: The true amazing result comes that the achievable rate of FANCC is not a function of the parameter l.
3) Outage probability: From equation (14) we can directly derive the outage probability from its definition, as can be seen in(19).
From equation (19), we directly simplify Γ 1 as , |hr,d| 2 > ln m s To compute Γ 2 , first let us define Where the pdf of u and u' is p u (x) = e -x , x ≥ 0 and x ≤ ln m s , respectively. Using the Jacobi law, we can get the pdf of f 1 and f 2 : We then obtain where ⊗ denotes the convolution operation. From equation (20) and (25), the outage probability of each terminal in FANCC can be written as: (25) is hard to simplify. Hence we will numerically analyze it for different parameters, which is presented in Section IV-C.
Next, we analyze its outage probability when the size of network m approaches infinity. From the law of large numbers, we get where Therefore, we can get (30)

C. Numerical results
To demonstrate the superiority of FANCC, in this subsection we numerically evaluate the information-theoretic results of the two protocols. The achievable rates of FANCC (red,solid) and ANCC (black,solid) are demonstrated in Figure 5. Since C FANCC is irrelevant to l, we provide the achievable rates of FANCC with different s. From the figure, FANCC outperforms ANCC and C FANCC decreases with the increase of parameter s. When s approaches m, C FANCC gradually gets close to C ANCC . This is in accord with our prediction: the terminals which have better terminal-destination channel can transmit more information to improve total system capacity. To verify our theoretical results, we present the capacity simulations with corresponding parameters s, l, which is plotted by dotted line. From the simulation results, we can see that the simulations is very close to the theoretical results. Furthermore, we also give the simulations with different m (m = 30,60,120) to analyze the impact of network size on capacity. Even the network size m is equal to 30, the simulated capacity is close to the theoretical capacity. Therefore, our theoretical derivation is inconsistent with the actual networks.
Since the outage of FANCC is a function of m, l and s, we analyze the their contributions to its outage probability in Figure 6 and Figure 7. Figure 6 shows the out-  From Figure 5 and Figure 6, the outage probability improves with the increase of network size m, which is accordance with the fundamental principle that user collaboration can improve the system performance.

D. simulation results
After we discuss the effectiveness of FANCC through theoretical analysis such as the capacity and outage probability, the simulation results are analyzed as follows.
Since each packet can use any practical channel code, different channel codes result in different bit error rate (BER) of the whole system. In order to evaluate the impact of user cooperation, we only focus on the performance after network coding and ignore the channel coding used in each packet. Thereby we assume each terminal transmits one bit for itself and relays one bit for others. For comparison purpose, we consider different terminals communicating with a common destination, that is to say, the network sizes, such as m = 100, 200, 300. We also assume that every channel, either between terminals or from terminal to destination, has the same SNR. Belief Propagation (BP) algorithm with iteration time 31 is adopted at the destination. For each network size, we choose three fixed number d = 5,6,7 and two assembles of the parameters s and l are selected for every d. Therefore, totally we have performed 18 scenario simulations and the results of ANCC is plotted in red while those of FANCC is drawn in black. In this subsection, circle represents d = 5, star means d = 6 and diamond indicates d = 7; The average E b /N 0 of channels from terminals to destination is plotted in the X axis. For fairness, the total energy consumption of FANCC and ANCC for cooperation round are all the half of that in the no-cooperation scheme. The transmission energy is normalized for each terminal for power reduction in FANCC. The Y axis denotes the FER averaged over different packets from different terminals.
In Figure 8, the average FER of FANCC with m = 100, l = 80, s = 100 and ANCC is demonstrated. From the figure, we observe that, FANCC has a little worse performance than ANCC at low E b /N 0 while it has better performance at a little high E b /N 0 . The larger the fixed number d, The greater the superiority of FANCC is. We can see that,FANCC achieves about 1dB improvement over ANCC for d = 5 while it gets about 2dB coding gain for d = 7.
From Figure 11, FANCC with s = l = 170 has achieved much better performance over ANCC for m = 200. Compared with ANCC, the coding gain of FANCC is becoming smaller and smaller as FER decreases. For d = 7, FANCC achieves about 1.5dB coding gain than ANCC at the FER of 10 -3 while less than 1dB at the FER of 2 × 10 -5 .
The average FER of FANCC and ANCC for m = 300 is further compared in Figure 12 and Figure 13. In Figure 12, we choose l = 300, s = 250 for FANCC, where the destination only feedbacks 1bit per terminal, that is to say, 300-bit indication message, in the indication phase. Seen from that, FANCC significantly outperforms ANCC at the same FER, which is different from m = 100 and m = 200. Furthermore, FANCC gets about 2dB coding gain over ANCC at every d.
At last, the parameters l = s = 250 is selected in FANCC for m = 300, which reduces 50 time slots than ANCC in one communication round. Figure 13 compares the proposed FANCC with ANCC. In this simulation, the destination broadcasts 600-bit message in the indication phase. From the simulation results, our proposed FANCC achieves about 2dB coding gain compared with ANCC.

V. Conclusion
In this paper, a new cooperative scheme, termed Feedback-based adaptive network coded cooperation (FANCC), is proposed for large wireless networks. Matching the quality of channels, the destination in FANCC feedbacks which broadcast-packets to be selected for relay-packets and which terminals to relay, which costs 2 bits per terminal. Therefore, distributed fountain codes with unequal error protection are generated at the destination. To evaluate the performance of FANCC, the closed-form expressions of achievable rate and outage probability are derived when the network size approaches infinity and they are numerically analyzed for finite networks. Furthermore, our analysis and simulation results demonstrate that FANCC significantly outperforms ANCC and achieves 1-2dB improvement.

VI. Competing interests
The authors declare that they have no competing interests.
Endnotes a a terminal which is yet to relay may continue to decode relay-packets in the relay phase and the correctly decoding relay-packets will be collected into the retrieve-set. Then, low-triangular ldpc codes are generated at the destination. But it only can occur when the system operates in a tdma manner. For simplicity, we only consider ldgm codes in this paper, which is suitable for any systems. b all the log(.) functions in this paper have base 2