Opportunistic Adaptive Transmission for Network Coding Using Nonbinary LDPC Codes

Network coding allows to exploit spatial diversity naturally present in mobile wireless networks and can be seen as an example of cooperative communication at the link layer and above. Such promising technique needs to rely on a suitable physical layer in order to achieve its best performance. In this paper, we present an opportunistic packet scheduling method based on physical layer considerations. We extend channel adaptation proposed for the broadcast phase of asymmetric two-way bidirectional relaying to a generic number M of sinks and apply it to a network context. The method consists of adapting the information rate for each receiving node according to its channel status and independently of the other nodes. In this way, a higher network throughput can be achieved at the expense of a slightly higher complexity at the transmitter. This conﬁguration allows to perform rate adaptation while fully preserving the beneﬁts of channel and network coding. We carry out an information theoretical analysis of such approach and of that typically used in network coding. Numerical results based on nonbinary LDPC codes conﬁrm the e ﬀ ectiveness of our approach with respect to previously proposed opportunistic scheduling techniques.


Introduction
Intensive work has been devoted the field of network coding (NC) since the new class of problems called "network information flow" was introduced in the paper of Ahlswede et al. [1], in which the coding rate region of a single source multicast communication across a multihop network was determined and it was shown how message mixing at intermediate nodes (routers) allows to achieve such capacity.Linear network coding consists of linearly combining packets at intermediate nodes and, among other advantages [2], allows to increase the overall network throughput.In [3], NC is seen as an extension of the channel coding approach introduced by Shannon in [4] to the higher layers of the open systems interconnection (OSI) model of network architecture.Important theoretical results have been produced in the context of NC such as the min-cut max-flow theorem [5], through which an upper bound to network capacity can be determined, or the technique of random linear network coding [6,7] that achieves the packet-level capacity for both single unicast and single multicast connections in both wired and wireless networks [3].Practical implementations of systems where network coding is adopted have also been proposed, such as CodeCast in [8] and COPE in [9].
The implementation proposed in [9] is based on the idea of "opportunistic wireless network coding".In such scheme at each hop, the source chooses packets to be combined together so that each of the sinks knows all but one of the packets.Considering the problem in a wireless multihop scenario, each of the potential receivers will experiment different channel conditions due to fading and different path losses.At this point, a scheduling problem arises: which packets must be combined and transmitted?Several solutions to this scheduling problem have been proposed up to now.In [10], a solution based on information theoretical considerations is described, that consists of combining and transmitting, with a fixed rate, packets belonging only to nodes with highest channel capacities.The number of such nodes is chosen so as to maximize system throughput.In [11], the solution [10] has been adapted to a more practical scenario with given modulations and finite packet loss probabilities.In both cases network coding and channel coding are treated separately.However, as pointed out in the paper by Effros et al. [12], such approach is not optimal in real scenarios.In [13,14], a joint network and channel coding approach has been adopted to improve transmissions in the two-way relay channel (TWRC) in which two nodes communicate with the help of a relay.One of the main ideas used in these works is that of applying network coding after channel encoding.This introduces a new degree of flexibility in channel adaptation, which leads to a decrease in the packet error rate of both receivers.
Up to our knowledge, this approach has been applied only to the two-way relay channel.In the present paper, we extend the basic idea of inverting channel and network coding to a network context.While in the TWRC the relay broadcasts combinations of messages received by the two nodes willing to communicate, in our setup the relay can have stored packets during previous transmissions by other nodes, which is typical in a multihop network, and transmit them to a set of M sinks.As a matter of fact, in a wireless multihop network more than just two nodes (sinks) are likely to overhear a given transmission.Due to the different channel conditions, a per-sink channel adaptation is done in order to enhance link reliability and decrease frequent retransmissions which can congest parts of the network, especially when ARQ mechanisms are used [9].In particular, packet u i of length K is considered as a buffer by the transmitting node (source node).At each transmission, a part of the buffer, containing K bits, is included in a new packet of total length N that contains N − K bits of redundancy.Network Coding combination takes place on such packets.The value of K , which determines the amount of redundancy to be introduced in each combined packet (i.e., the code rate), is chosen by the source node considering the physical channel between source node and sink i.Given a set of channel code rates {r 1 , . . ., r s }, we propose that the code rate in channel i be the one that maximizes the effective throughput on link i defined as where p pli (r k ) is the current probability of packet loss on channel i when using rate r k .In present paper, we carry out an information theoretical analysis and comparison for the proposed method and the method in [10], which maximizes overall throughput in a system where opportunistic network coding is used, showing how the first one noticeably enhances system throughput.Moreover, we evaluate the performance of the two methods in a real system using capacity-approaching nonbinary lowdensity parity-check (LDPC) codes at various rates (in [13,14] parallel concatenated convolutional codes (PCCC) have been adopted for channel coding).Numerical results confirm those obtained analytically.Finally, we consider some issues regarding how modifications at physical level affect network coding from a network perspective.
The paper is organized as follows.In Section 2, the system model is described.In Section 3, we propose a benchmark system with equal rate link adaptation.Section 4 contains the description of our proposed opportunistic adaptive transmission for network coding.In Section 5, we carry out the comparison between the two methods by comparing the cumulative density functions of the throughput and the ergodic achievable rates.Section 6 contains the description of the simulation setup and the numerical results.In Section 7, we consider some scheduling and implementation issues at network level that arise from applying the proposed adaptive transmission method, and finally in Section 8, we draw the conclusions about the results obtained in this paper, and we suggest possible future work to be carried out.

System Model
2.1.Network Level.Let us consider a mobile wireless multihop network such as the one depicted in Figure 1.We denote by F q the finite field (Galois field) of order q = 2 l .Each packet is an element in F K q ; that is, it is a K-dimensional vector with components in F q .We say that a node n i is the generator of a packet p i if the packet p i originated in n i .We say that a node is the source node during a transmission slot if it is the node which is transmitting.We call sink node the receiving node during a given transmission slot and destination node the node to which a given packet is addressed.We will refer to generators' packets as native packets.Each node stores overheard packets.Native and overheard packets are transmitted to neighbor nodes.For ease of exposition and without loss of generality we assume that a collision-free time division multiple access is in place.The number of hops needed to transmit a packet from generator to destination node depends on the relative position of the two nodes in the network.In Figure 1, two generator-destination pairs are shown (G1-D1, G2-D2).Thin dashed lines in the figure represent wireless connectivity between nodes and thick lines represent packet transmissions.G1 has a packet to deliver to D1 and G2 has a packet to deliver to node D2.In the first time slot, generator G1 and G2 broadcast their packets p1 and p2, respectively, (thick red dash-dotted line).In the second time slot, node 6 acts as a source node broadcasting packet p2 (thick green dotted line) received in previous slot.Note that in this case node 6 is a source node but not a generator node.Finally, in the third time slot, node 5 broadcasts the linear combination in a finite field of packets p1 and p2 (indicated in Figure 1 with p1 + p2).Destination nodes D1 and D2 can, respectively, obtain packets p1 and p2 from p1 + p2 using their knowledge about packets p2 and p1 overheard during previous transmissions.
In general, using linear network coding we proceed as follows.Each node stores overheard packets, linearly combines them and transmits the combination together with the combination coefficients.As the combination is linear and coefficients are known, a node can decode all packets if and only if it receives a sufficient number of linearly independent combinations of the same packets.At this point, a scheduling solution must be found in order to decide which packets must be combined and transmitted each time.In the paper by Katti et al. [9], a packet scheduling based on the concept of network group has been described.Such solution, called opportunistic coding, consists of choosing packets so that each neighbor node knows all but one of the encoded Figure 1: Mobile wireless multihop network.Two different information flows exist between two generator-destination pairs G1-D1 and G2-D2.Thin dashed lines represent wireless connectivity among nodes while thick lines represent packet transmissions.In the first time slot generator G1 and G2 broadcast their packets p1 and p2, respectively, (thick dash-dotted line).In the second time slot, node 6 broadcasts packet p2 (thick dotted line) received in previous slot.In the third time slot, node 5 broadcasts the linear combination of packets p1 and p2 (p1 + p2).Destination nodes D1 and D2 can, respectively, obtain packets p1 and p2 from p1 + p2 using their knowledge about packets p2 and p1 overheard during previous transmissions.packets.Such approach has been implemented in the COPE protocol, and its practical feasibility has been shown in [9].A network group is formally defined as follows.Definition 1.A set of nodes is called a size M network group (NG) if it satisfies the following: (1) one of the nodes (source) has a set U = {u 1 , . . ., u M } of M native packets to be delivered to the other nodes in the set (sinks); (2) all sink nodes are within the transmission range of the source; (3) each of the sink nodes has all packets in U but one (they may have received them during previous transmissions).
All native packets are assumed to contain the same number K of symbols.A native packet is considered as a K-dimensional vector with components in F q with q = 2 l , that is, a native packet is an element in F K q .Figure 2 shows an example of how a network group is formed during a transmission slot.
Network groups appear in practical situations in wireless mesh networks and other systems.A classical example is a bidirectional link where two nodes communicate through a relay.More examples can be found in [9].In the following, we will assume that all transmissions adopt the network group approach; that is, during each transmission slot, the source node chooses the packets to be combined so that each of the sinks knows all but one of the packets.As a matter of fact, if nodes are close one to each other it is highly probable that many of them overhear the same packets.Nevertheless this assumption is not necessary to obtain NC gain or to apply the technique proposed in this paper.In Section 7, we will extend the results to a more general case, in which a node may not know more than one of the source packets.
We assume time is divided into transmission slots.During each transmission slot source node combines together the M packets in U and broadcasts the resulting packet to sink nodes of the network group.Let us indicate with u i the packet to be delivered to node i.The packet transmitted by the source node is Figure 2: Network group formation.N4 is going to access the channel.Node N4 knows which packets are stored in its neighbors' buffers.Based on this knowledge it must choose which packets to XOR together in order to maximize the number of packets decoded in the transmission slot.A possible choice is, for example, P1 + P2 which allows nodes N1 and N2 to decode, but not N3.A better choice is to encode P1 + P3 + P4, so that 3 packets can be decoded in a single transmission.The difference in SNR for the three sinks (γ 1 ,γ 2 , and γ 3 ) can lead to high packet loss probability on some of the links if a single channel rate is used for all the sinks.γ is the vector of SNRs.
where indicates the sum in F K q .Let us define packet x \ j as follows: Sink i can obtain u i by adding x and x \ j in F K q , where x \ j is known according to our assumptions.
Note that in the network in Figure 1 many aspects deserve in-depth study, such as end-to-end scheduling of packet transmissions on multiple access schemes.These aspects are however beyond the scope of this paper, where we focus on maximizing the efficiency of transmissions within a network group.

Physical Level.
Physical links between source and sinks are modeled as frequency-flat, slowly time-variant (block fading) channels.The SNR of sink i during time slot t can be expressed as where P tx is the power used by source node during transmission, h i (t) is a Rayleigh distributed random variable that models the fading, d si is the distance between source and sink i, α is the path loss exponent and σ 2 is the variance of the AWGN at sink nodes.From expression (4) it can be seen that the SNR at a receiver with a given d si is an exponentially distributed random variable with probability density function where γ is the mean value of the SNR.We assume that the quantities γ i (t)d α si at the various sinks are i.i.d.random variables.In the model we are not taking into account shadowing effects.

Constant Information Rate Opportunistic Scheduling Solutions
Based on the propagation model in ( 5), the channel from source to each sink will have a different gain.The difference in link states experienced by the sinks gives rise to the problem of how to choose the broadcast transmission rate.In [10], an interesting solution has been proposed based on information-theoretical capacity considerations.Sink nodes are ordered from 1 to M with increasing SNR.The solution proposed consists of combining and transmitting only packets having as destination the M − v + 1 sinks with highest SNR.The transmission rate R chosen by the source node is the lowest capacity in the group of M − v + 1 channels.The instantaneous capacity obtained during each transmission is then where γ (v) is the SNR experienced on the vth worse channel.v is chosen so that ( 6) is maximized.Note that all sinks in the network group receive the same amount of information per packet.In [11], another approach is proposed in which the source node transmits to all nodes in the NG.A practical transmission scheme with finite bit error probability and fixed modulations is described.

Constant Information Rate Benchmark.
Based on [10,11], we define a constant information rate (CIR) system that will be used as a benchmark to our proposed adaptive system.
Let us now define the effective throughput as where p pl and r are two M×1 vectors containing, respectively, the packet loss probabilities and the coding rates for the various links, T represents the transpose operator and 1 is an M-dimensional vector of all ones.The quantity expressed in (7) measures the average information flow (bits/sec/Hz) from source to sinks.p pl is an M-dimensional function that depends on the modulation scheme, coding rate vector r and SNR vector γ.We assume channel state information (CSI) at both transmitter and receiver (i.e., the source knows vector γ containing the SNR of all sinks and node i knows γ i ).In the CIR system, the source calculates first the rate of the channel encoder which maximizes the effective throughput for each sink (individual effective throughput).Formally, for each sink i, we calculate where p pli (γ i , r i ) is the packet loss probability on the ith link depending on the rate r i .For each rate r * k , we define m k as the number of sinks for which At this point, for each k we calculate the effective throughput, setting r = r k 1 k where 1 k is a m k -dimensional vector of all ones.Finally, we choose k to maximize the effective throughput.Note that with the CIR approach only sinks whose optimal rate is greater or equal than the rate which maximizes the total effective throughput will receive data.

Opportunistic Adaptive Transmission for Network Coding
We propose a scheme in which information rate is adapted to each sink's channel.This can be accomplished by inverting the order of channel coding and network coding at the source.In order to explain our method, let us consider again Figure 2. In the figure, a network group is depicted, in which node 4 accesses the channel as source node (S) and nodes N1, N2 and N3 are the sink nodes.
As mentioned in Section 2, the source is assumed to know the packets in each sink (this can be accomplished with a suitable ACK mechanism such as the one described in [9]).We propose a transmission scheme for a size M Network Group consisting in M variable-rate channel encoders, a F K q adder and a modulator as shown in Figure 3.We assume CSI at both ends.The transmission scheme is as follows.Based on the SNR to sink i, γ i , the source chooses the code rate r i = K i /N that maximizes the throughput to sink i, i = 1, . . ., M. Overall, the rate vector chosen by the source is the one that maximizes the effective throughput, defined as As we are under the hypothesis of independent channel gains, optimal rate can be found independently for each physical link.In order to apply our method to a packet network, we fix the size of coded packets to N symbols.Channel adaptation is performed by varying the number of information symbols in the coded packet.So, referring to Figure 3, once the optimal rate r * i = K i /N has been chosen for link i, i = 1, . . ., M, the source takes K i information symbols from native packet u i and encodes them with a rate r * i encoder, thus obtaining a packet u i of exactly N symbols.Finally, packets u 1 , . . ., u M are added in F q , modulated and transmitted.On the receiver side, sink i is assumed to know a priori the rate used by the source for packet u i as it can be estimated using CSI.
As previously stated we will assume that a constant energy per channel symbol is used.We will not consider the case of constant energy per information bit as packet combination at source node is done in F K q before channel symbol amplification.
As we will see in Section 6, in this paper, we consider nonbinary LDPC codes which have a word error rate characteristic (WER) versus SNR with a high slope.Thus, the packet loss probability is negligible (≤10 −3 ) beyond a given SNR threshold and rapidly rises below the threshold.The threshold depends of the code rate considered.Under this assumption, (10) can be approximated with where p pli (γ i , r i ) takes value 1 if γ ≤ γ thresh and 0 otherwise, γ thresh being a threshold that depends on the rate r i .We will refer to our approach as adaptive information rate (AIR), indicating that the number of information bits per packet received by a given sink is adapted to its channel status.The same approximation regarding p pl will be used for the CIR system.

Information Theoretical Analysis
Let us consider a system where opportunistic network coding [9] is used.As described in Section 2, opportunistic Network Coding consists in a source node combining together and transmitting M native packets to M sinks.Each of the sinks knows a priori all but one of the native packets (see Figure 2).Each of the receivers can, then, remove such known packets in order to obtain the unknown one.In the following, we provide an outline of the achievability for the achievable rate of the system, based on the results in [15] for the broadcast channel with side information [16].In order to study the proposed adaptive transmission method we need to introduce an equivalent theoretical model.We model each of the M packets stored in the source node as an information source.Thus an equivalent model for our system is given by a scheme with a set of M information sources IS = {IS 1 , . . ., IS M } all located in the source node, and a set of M sinks D = {D 1 , . . ., D M }.Information source IS i produces a message addressed to sink D i who has side information (perfect knowledge, specifically) about messages produced by sources in the subset IS \ IS i .This models the situation in which each of the sinks knows all but one of the messages transmitted by source node (see Figure 2).Figure 4 depicts the equivalent model.Let us consider the system we described in Section 4. The theoretical idea behind such system is to adapt the information rate of each information source IS i to channel i.Each information source IS i chooses a message from a set of 2 nRi different messages.An M-dimensional channel code book is randomly created according to a distribution p(x) and revealed to both sender and receiver.The number of CSI for all sinks(γ vector) Figure 3: Transmission scheme at source node for the proposed adaptive transmission scheme: the number of information symbols per packet addressed to a given sink is adapted to the sink's channel status using channel encoders at different rates.In the picture, the packet length at the output of the various blocks is indicated.
sequences in the channel code book is 2 n M i=1 Ri .Source node produces a set of M messages, one for each information source in it.Given a set of messages, the corresponding channel codeword X is selected and transmitted over the channel.Sink D i decodes the output Y i of his channel by fixing M − 1 dimensions in the channel code book using its side information about the set of information sources S\IS i and applying typical set decoding along dimension i.If we impose that for each information source R i < I(X ; Y i ) = log 2 (1 + γ i ) where X and Y i are, respectively, the input and output of a channel where only transmission to sink D i takes place, then an achievable rate for the system is the sum of the instantaneous achievable rates of the various links Let us now consider the scheduling solution proposed in [10].According to this solution, sinks are ordered from 1 to M with increasing channel quality.The M − v + 1 information sources aiming to transmit to the M − v + 1 sinks with best channels (i.e., sinks D v , D v+1 , . . ., D M ) are selected.Each information source in the source node chooses a message from a set of 2 nR elements, where R is chosen so that R = log 2 (1 + γ v ).This means that only sinks whose channels have instantaneous capacity greater than or equal to node v can decode their message.Only information sources that produce messages addressed to these nodes are selected for transmission.An achievable rate for this system can be obtained from (12) by setting to 0 the first v terms in the sum, setting the others equal to log 2 (1 + γ v ) and optimizing with respect to v where γ (v) indicates the vth worst channel SNR.In order to compare the two approaches, we will consider the probability, or equivalently the percentage of time, during which each of the systems achieves a rate lower than a given value R, that is, where F Rinst (R) is the cumulative density function of the variable R inst .In the constant information rate system such probability is We calculated this expression for a network with a generic number M of nodes (see Appendix A).Such expression is given by where for v / = M, and γ being the mean value of the SNR, assumed to be exponentially distributed.
Let us now consider the cumulative density function for our proposed system (adaptive information rate).By definition we have where: u(c) being a function that assumes value 0 for c < 0 and 1 for c > 0. Expression ( 19) is difficult to calculate in closed form for the general case.For the low SNR regime we calculated the following expression (see Appendix B): In Figure 5, expressions ( 16) and ( 21) are compared for a Network Group of 5 nodes and an average SNR of −10 dB.The Montecarlo simulation of our system is also plotted for comparison with (21).At higher SNR (see Figure 6), the CDF of AIR system is upper bounded by ( 16) and loosely lower bounded by the (21) (see Appendix B).A better lower bound is given by (see Appendix B): For each value of R, the constant rate system has a probability not to achieve a rate equal or greater that R which is higher with respect to our system.Equivalently, our system will be transmitting at a rate higher than R for a greater percentage of time.We can see how for the 40% of time the rate of AIR system will be above 8 bits/s/Hz while CIR system achievable rate will be above 5.2 bits/s/Hz.At high SNR the (21) is a loose upper bound for the (19).A tighter lower bound is given by 22 which is also plotted.
The ergodic achievable rate of the two systems can now be calculated.For the constant information rate system, we have where F Rcir (c) is given by ( 16).As for the system with adaptive information rate, we have where E 1 (x) is the exponential integral defined as In Figure 7, the average achievable rate of the two systems, assuming constant transmitted power, is plotted against the mean SNR for AIR and CIR systems with M = 5 nodes.

Simulation Setup and Results
In this section, we describe the implementation of the proposed scheme using nonbinary LDPC codes and soft decoding.

Notation.
During each transmission slot the source node combines together the packets in U (see Section 4) and broadcasts the resulting packet to sink nodes of the network group.In this paper, we used the DaVinci codes, that is, the nonbinary LDPC codes from the DaVinci project [17].For such codes the order of the Galois field is q = 64 = 2 6 , that is, each GF symbol corresponds to 6 bits.We denote the elements of the finite field by F q = {0, 1, . . ., q − 1}, where 0 is the additive identity.u i ∈ F Ki q denotes the message of user i, of length K i symbols, that is, 6K i bits.c i ∈ F N q is the codeword of user i, of length N = 480 symbols, that is, 6 • 480 = 2880 bits, constant for all users.

L-Vectors.
A codeword c contains N code symbols.At the receiver, the demapper provides the decoder with an LLRvector (log-likelihood ratio) of dimension q for each code symbol, that is, for each codeword, the demapper has to compute q • N real values.
The LLR-vector corresponding to code symbol n is defined as L = (L 0 , L 1 , . . ., L q−1 ), with For 64-QAM and a channel code defined over F 64 , this simplifies to (see e.g., [18]) where μ : F q → X is the mapping function, which maps a code symbol to a QAM constellation point, the noise is CN(0, N 0 ) distributed and h n is the channel coefficient.

Network Decoding for LLR-Vectors.
We want to compute the LLR-vector of user i, having received y n = h n μ(c n ) + w n .c = U i=1 c i is the sum (defined in F q ) of all codewords.We assume that user i knows the sum of all other codewords Then the LLR-vector of user i for code symbol n is The sum in the indices is defined in F q .In Figure 8 the block scheme of the ith receiver is illustrated.
Note that in our scheme, we have inverted the order of network and channel coding, while doing soft decoding at the receiver.This approach has the important advantage of allowing rate adaptation while fully preserving the advantages of channel and network coding.
The network coding stage is transparent to the channel coding scheme; that is, the channel seen by the channel decoder is equivalent to the channel without network coding.This is the reason why no specific design of the channel code is required for the proposed scheme.
For a target WER of 10 −3 , this leads to the SNR thresholds of Table 1.
Figure 9: Word error rate (WER) for nonbinary LDPC codes at various rates.The high slopes of the curves allow to define thresholds for the various rates, such that a very low word error rate (<10 −3 ) is achieved beyond the threshold, while it rapidly increases before such thresholds.

Simulation Results.
In the following, the channel is block Rayleigh fading with average SNR γ.For M = 5 users, sum rates for the proposed system and for the benchmark system are depicted in Figure 10.Next, we consider two users, where the first one has average SNR γ 1 and the second one γ 2 = 0.1γ 1 , that is, 10 dB less.The resulting rates are depicted in Figure 11.
As before, the error rate is very low in both cases (the adaptation is designed such that P w < .001,and this is fulfilled.)

Implementation
In this section, we discuss some issues arising by the application of our proposed scheme.In particular we discuss a generalization of network groups, in order to apply our method to a real system, the effects of packet fragmentation due to the use of different code rates and the implications our method has on system fairness.

Generalized Network Group.
In Section 2, we assumed that, at each transmission, the source combines so that each of the sinks knows all but one of the packets.This assumption can be relaxed, leading to a more general case which makes our scheme usable in most situations arising in practice.Variable rate nonbinary LDPC codes with 64 QAM modulation have been used.The high values of the rates are due to NC gain.We see how AIR system gains about 2 bits/channel use in the higher SNR range.It is interesting to note that almost the same gain has been calculated in Section 5 when considering the average achievable rates for CIR and AIR systems with the same number of nodes at lower SNRs.
Let us consider a generalized network group of size M.The source has a set of packets U S while sink j has a set of packets U j lacking one or more packets in U S .Let us now define the set U * ∩\ j as where U c j denotes the complement of U j .In other words, U * ∩\ j represents all packets which are common to all sinks but sink j.The source transmits to node j one of the packets in the set U S ∩ U * ∩\ j (i.e., all packets in U * ∩\ j which are known to the source node).Thus, if we indicate with |U| the cardinality of set U, the sink j will need |U S ∩ U * ∩\ j | linearly independent (in GF(q)) packets in order to decode all the |U S ∩U * ∩\ j | original native packets [19].Such l.i.packets can be obtained from the same source node or from other nodes in the network which previously stored the packets.With such scheme a total of max j (|U c i |) transmission phases are needed for all the sinks to know all the packets.As a special case, if |U S ∩ U * ∩\ j | = 1 for all j, we have the NG considered in Section 2. Figure 11: Comparison of the rates of two nodes belonging to a Network Coding group with M = 2 nodes in both AIR and CIR systems.One of the nodes suffers from a higher path loss attenuation (10 dB) with respect to the other.Node with better channel in AIR system achieves higher rate with respect to node with better channel in CIR system.The gain arises from adapting the coding rate of each node to the channel independently from the other nodes.
In order to understand how to proceed when more than one packet is unknown at one or more sinks, define an Mdimensional vector space associated to the source packet set U S .A canonical basis for this space is defined as The sets of missing packets in sink i, U c i , define a In the concept of network group described in Section 2, the transmitted packet is obtained as x = e 1 + • • • + e M , which is linearly independent from the subspace spanned by the packets owned by sinks 1 • • • M. As a result, the packets contained in each sink together with x span the whole space I S , therefore all packets can be decoded.
In a more general case, where more than one packet is unknown by one or more sinks, we need to transmit a number of packets that, along with the subspaces spanned by the packets of sinks x (N−2) x (N−1) x (N) . . .According to the definition of event A the vth variable must assume a value less or equal R/(M − v + 1).
In Figure 12, an example is given which clarifies the concept just described.In the setup the three sinks have three distinct subsets of packets and channels from S to each of the sinks have SNRs γ 1 , γ 2 and γ 3 .Table 2 gives a possible scheduling and transmission solution for the setup in Figure 12 by applying the method we just described together with channel adaptation.
In particular, during the transmission the source broadcasts a packet obtained by adding packets p

Packet Fragmentation and Fairness.
Our proposed solution implicitly assumes that native packets can be fragmented.Each native packet u can be considered as a length K buffer.In order to match the optimal rate on the channel, only a part of the buffer u is sent over the channel during a time slot on size N coded packet.In the following, we discuss how to handle native packet fragmentation at the network level.
Scheduling in Packet Fragmentation.When a node requests a packet that needs to be fragmented the first part of the packet is always sent out first.This avoids that different nodes in the network have nonoverlapping parts of the same native packet, which could make the formation of network coding groups more difficult.Let us now consider the case in which a given node i requests a fragment f v of a given native packet u i .In this case, nodes belonging to its NC group do not need to know the whole native packet.It is sufficient that the portion they know of native packet u i include fragment f v .
Capacity and NC Group Limits.The maximum rate at which a given node in a network group can receive data is actually limited by two factors.One is the capacity of the physical link between source and node (capacity-limited rate).The other factor that limits the transmission rate is the minimum across the nodes of the NC group of the portion of packet u i .If such portion has length K , then the maximum transmission rate for packet u i during a packet slot must be less than K /N, otherwise not all nodes in the NC group will be able to correctly decode the packet addressed to them (NC group-limited rate).The last factor must be taken into account in the formation of the NC group.In order to avoid such situation we can impose that a packet cannot be transmitted before it has been completely received.
Fairness Improvement.Shadowed users in a network would probably experience a high packet loss rate.The CIR approach penalizes those nodes, as their channels will have a low capacity.By adapting the rate to each of the nodes' channel conditions we can guarantee that users which experience shadowing for a long time (e.g., because of big urban barriers) are not totally excluded from the communication.This is likely to increase fairness and decrease delay in the system.
These are some side effects at network level of our proposed method.The global behavior of a network in terms of aggregated throughput, reliability, delay, and fairness where such transmission scheme is used need to be quantified by means of analytical/numerical methods, and is beyond the scope of this paper.

Conclusion
In this paper we proposed a new approach for rate adaptation in opportunistic scheduling.Such approach applies channel adaptation techniques originally proposed for asymmetric TWRC communication to a network context.After system model definition at both packet level (network group) and physical level (channel statistics), we described previously proposed methods for transmission scheduling in NC.We carried out a comparison between our method (adaptive information rate) and the scheduling method typically used in nc (constant information rate) from a information theoretical point of view.We obtained expression for the cdf of achievable rates for CIR system and a lower bound for AIR system's cdf.We also calculated an approximation to AIR cdf at low SNRs and showed that cdf of CIR systems is an upper bound that of AIR system.We implemented a simulator using nonbinary LDPC codes developed in the DaVinci project [17] and showed that our method allows a better exploitation of good channels with respect to CIR method.This was shown to increase throughput at each transmission.We then discussed some issues that arise from the modifications at physical level brought from AIR method in a network coding scenario.Such issues will be extensively analyzed and their impact quantified in our future works, as well as a system-level throughput analysis gain.New coding techniques can also be investigated in order to fully exploit achievable throughput and fairness enhancements in AIR systems.γ i being an exponentially distributed random variable with mean value E{γ i } = γ i = γ.When γ i 1 (which is the case most of the time in the SNR regime), we can approximate the logarithm with its Taylor expansion at the second term, that is

B. Adaptive Transmission
. (B.17 B.2. Upper Bound of cdf.We now show that the ( 16) upper bounds the cdf of the achievable rate for the AIR system.Let us start by modifying the condition in brackets in the (B.15) that we will call condition β.We relax such condition so that it be verified with higher probability for each R.Such condition says that the sum of capacities in all links must not exceed R. We want to find a condition δ so that if β is true also δ is true, but there must exist a set of events with non zero probability for which if δ is verified β is not.For this purpose, let us put δ = A, where A is the event that defines the cdf of cir system (see Appendix A), that is Let us start with the (B.26).For β to be verified, at least one of the c i must be <R/M because if not the sum in β would be greater than R.Moreover, if we impose that c j < R/M for a given j, there must be at least another c i such that c i < (R/(M − 1)).If this is not verified there will be M − 1 c i for which c i > (R/(M − 1)) plus c j , so the total sum would be greater than R. Iterating this M times we will obtain exactly the condition δ which, as just shown, must be verified for the β to be true.Now let us consider the (B.27).We can take as condition s the following: (B.28) It can be easily seen that s ⊂ δ.The minimum value for the sum of all c i under condition s is R(2 − 2/M) which is greater than R for M 2. This means that s / ⊆ β.We have left to show that P{s} > 0. The probability of s is a finite quantity given by

Figure 4 :
Figure 4: Equivalent scheme for adaptive transmission.M information sources {IS 1 , . . ., IS M } are located in the source node.Information source IS i produces a message addressed to sink i which has previous knowledge of messages produced by information sources in the subset S \ IS i .p(y i | x) represents the probability transition function of the channel between the source node and sink i.

Figure 5 :
Figure5: Comparison between cumulative density functions in the system with constant information rate (CIR), adaptive information rate (AIR) and Montecarlo simulation of AIR.For each value of R, the constant rate system has a probability not to achieve a rate equal or greater that R which is higher with respect to our system.Equivalently, our system will be transmitting at a rate higher than R for a greater percentage of time.

Figure 6 :
Figure6: Comparison between cumulative density functions of the two systems with M = 5 nodes and SNR = 5 dB.We can see how for the 40% of time the rate of AIR system will be above 8 bits/s/Hz while CIR system achievable rate will be above 5.2 bits/s/Hz.At high SNR the (21) is a loose upper bound for the(19).A tighter lower bound is given by 22 which is also plotted.

Figure 7 :
Figure7: Ergodic achievable rate for AIR and CIR systems for a Network Coding group with M = 5 nodes.The high values of the rates are due to NC gain.We see how AIR system gains about 2 bits/sec/Hz in all the considered SNR range.

Figure 8 :
Figure 8: Receiver scheme for node i.The demapper provides the decoder with L vectors relative to received symbols.Network decoder uses knowledge of symbol c \i to calculate L(i) vector, that is, the L vector of c i .

Figure 10 :
Figure10: Sum rate for AIR and CIR systems for a Network Coding group with M = 5 nodes.Variable rate nonbinary LDPC codes with 64 QAM modulation have been used.The high values of the rates are due to NC gain.We see how AIR system gains about 2 bits/channel use in the higher SNR range.It is interesting to note that almost the same gain has been calculated in Section 5 when considering the average achievable rates for CIR and AIR systems with the same number of nodes at lower SNRs.

3 Figure 12 :
Figure 12: In the setup the three sinks have three distinct subsets of packets in S's buffer and channels from S to each of the sinks have a different SNR.

Figure 13 :
Figure 13: Virtual representation of event A. Random variables x 1 , . . ., x M are sorted in ascending order in sequence x (1) , . . ., x (M) .According to the definition of event A the vth variable must assume a value less or equal R/(M − v + 1).

4
is packet p 4 after channel encoding adapted to γ 1 .Once sink 1 receives p 4 , it needs packet p 5 .Next packet transmitted by S is p

B. 1 .
CDF in the Low SNR Regime.Let us indicate with c i the (unsorted) instantaneous capacity of the link between source and receiver i.Let us recall from Section 5 that an achievable rate for such system is R adapt = calculate an approximation for the cdf of C air in the low SNR regime.By definition the cdf of R air is F Rair (c) = P log 2 1 + γ i , (B.16)

Table 1 :
In the table the information packet length K and the coding rate R c are indicated for each SNR threshold.Note that for each threshold we have: K/R c = 480, that is, all encoded packets have the same length.
• • • M, span the whole U S .Transmitting max i (|U c i |) linear combinations of packets is sufficient to achieve this goal.

Table 2 :
Scheduling solution for the setup of Figure12.tx k indicates the transmission phase.Each phase corresponds to the complete transmission of a native packet (or a sum of native packets).p 2 , p 3 , p 4 , p 5 , p 6 p 1 , p 2 , p 3 , p 4 , p 5 , p 6 p 1 , p 2 , p 3 , p 4 , p 5 , p 6