Full Rate Network Coding via Nesting Modulation Constellations

,


Introduction
Wireless communications suffer greatly from multipath fading where outages may degrade communication quality. Different schemes, such as adaptive modulation and coding and relay [1], have been exploited to mitigate this problem. The relay efficiency can be improved via network coding (NC) [2] if the traffic pattern and the a priori information are exploited. Typical transmission patterns suitable for applying NC include two-way relay [3][4][5], multihop forwarding [6], multiple access channel [7], multicast channel, and so forth. In addition, joint network and channel coding can further improve spectral efficiency [7,8].
A two-way relay transmission typically consists of two stages: multiple access stage and broadcast stage. NC is applied in the second stage and has two types. The first type of NC is performed in the bit level [3]. Each node transmits its packet to the relay node successively. The relay node decodes each packet and combines them together via NC and forwards the coded packet later. The second type of NC is performed in the signal level. Typically two nodes transmit simultaneously their packets. The relay node regards the superposed signal as a NC signal and forwards it. Each node recovers its desired signal from the NC signal with interference cancelation [4]. The NC signal is further refined in [5] by taking modulation constellations into account.
The performance of NC, especially bit level NC, is limited by several factors such as packet length mismatch (the short packets are zero padded), traffic rate mismatch (some packets cannot be network-coded due to lack of pairing packets) and transmit rate mismatch. The last factor is neglected in most previous works. In the two-way relay scenarios, the rate mismatch may be formed due to two factors. One is the relay position (which leads to relatively stable differences in link qualities) and the other is fading. Even though the relay lies exactly in the middle of two nodes, the two relay links may have different instantaneous qualities. Since the networkcoded packet is intended to be received by both nodes, the minimal rate is chosen for the NC transmission [3]. In this way, the transmission at a low rate on the link supporting a high rate wastes channel bandwidth.
When NC is applied to multiple flows, the effect of rate mismatch becomes more obvious, since the minimal rate over more links only gets lower. One solution to this problem is to exploit opportunistic scheduling. Instead of transmitting network-coded packets to all potential nodes, only some of them are selected by taking the tradeoff between the number of links and the actual rate [9]. This opportunistic scheduling, however, cannot exploit the full power of NC.
Recently, some initial efforts were made to fully exploit rate adaptations in NC. Multiplicative NC was proposed in [10] to better adapt code and modulation rates to different links. However, it only applies to constant modulus signals. Unconventional 5-ary modulation was introduced to work together with QPSK in [11]. This makes modulation complex and is difficult to extend to other modulations. Compress and forward was studied in [12], with the assumption that the relay is much closer to the sink than nodes and has a much higher rate. Its application is limited to multiple access up-link. XOR-based NC and physical layer superposition coding were combined together to better exploit rate adaptation in [13], however, at the cost of significant power loss. Moreover, its performance is degraded and approaches that of NC when relay links have similar quality. Despite all these efforts, there is still no complete solution to the rate mismatch problem.
In this paper, we focus on the bit level NC and propose to achieve full rate network-coding (FRNC) on the broadcast channel via nesting modulation constellations. With a crosslayer design, we exploit physical layer method as well. The principle of dirty paper coding [14] indicates that a signal known at the receiver is not interference at all and with suitable coding the full capacity is achievable. As an analogy for NC, when the a priori information is available, NC should also achieve the highest rate over each link, in other words, achieve the full rate on the broadcast channel. This is our starting point. The basic idea is as follows: (i) at the relay node, in order to combine packets together and transmit them over links supporting different rates (modulations), the low level constellation points are nested in the high level constellation. In other words, a subset of the high level constellation is used as the low level constellation, and this subset depends on the design of NC. (ii) At the receiver side, nodes merely supporting low level modulation first find their constellation according to the a priori information and then perform demodulation and decoding. In this way, the highest rate of each link is used and the sum rate is achieved over the broadcast channel. We further study the effect of the limit in constellation size and suggest combining FRNC with superposition coding (SC). Both the analysis and simulation evaluation show that FRNC with SC is significantly superior to the state-of-the-art solutions to the rate mismatch problem.
The rest of the paper is organized as follows: the relay model is presented in Section 2 and the reinterpretation of NC as constellation mapping is addressed in Section 3. In Section 4, the detailed procedures for achieving full rate in network-coded transmissions are described. The performance of different schemes is analyzed in the two-way relay scenario in Section 5 and the related simulation evaluation is presented in Section 6. Finally, we conclude the paper with Section 7.

System Model
We consider a network with n nodes M i , i = 1, 2, . . . , n, and 1 relay R. For the simplicity of description, we assume that all nodes and R are synchronized and the transmissions are done in terms of TDMA (it is possible to extend the proposed scheme to other channel access methods such as CSMA.) There are n flows. The ith flow from M S i to M D i goes through the two-hop path M S i -R-M D i and the actual transfer of packets is via the relay R. The packet transfer is divided into two stages: (a) multiple access stage where R collects packets from all nodes. Each node M S i sends packet P i to R in the ith slot, using its optimal rate (modulation and coding). After the data transmission, each node reports its receiving status of packets to R, in a similar way as the COPE scheme [15]. Based on such a feedback, R makes the NC scheduling, selecting a subset of n 1 nodes, each of which knows all packets involved in the NC except its own desired packet. Without loss of generality, in the following, we assume n 1 equals n. Then after n slots, M D i knows P 1 , . . . , P i−1 , P i+1 , . . . , P n . (b) Broadcast stage where R forwards packets to all nodes. R transmits P Σ = ⊕ i P i (⊕ represents the bitwise exclusive or (XOR) operation) to all nodes, and M D i recovers P i by (⊕ j / = i P j ) ⊕ P Σ . Hence, n packets are exchanged in n+1 slots. A typical example for the model is the local area wireless networks where nodes exchange packets via their associated access point (R in the model). A special case is n = 2, corresponding to the twoway relay in Figure 1. In this special case, each node uses its transmitted packet as the a priori information and the feedback of receiving status of packets is unnecessary.
Over each link, the rate can be adjusted by modulation and coding. With coding rate c and modulation level m (constellation size = 2 m ), on average c · m bits can be transmitted by each symbol. Generally, the modulation level determines a rate range, within which the coding scheme further fine adjusts the rate. Different modulation levels have constellations with different sizes. But these constellations all have the same normalized energy.
In the above model, NC is used at the second stage. We focus on this stage and exploit joint design of modulation and coding so that the highest rate of each link is realized in the NC transmission. We take the following assumptions: (i) R has collected enough data for each flow so that the zeropadding is unnecessary in the NC transmission, (ii) the a priori information required for network decoding is available at each node by recording the overheard packets, and (iii) the relay node knows the channel state information of all links. The key problem is how to realize full rate on all links simultaneously.

Reinterpretation of Network Coding
In conventional bit level NC schemes, bits from different flows are XORed together, channel coded, modulated, and  then transmitted. The receiver just works in the reverse way to recover its information bits. Due to the linearity of both channel coding and NC, their order can be exchanged [16]. In this paper, the NC operation is done after channel coding.
Although the NC is performed in the bit level, it can be reinterpreted as a function of constellation mapping. This is explained by an example shown in Figure 2 using the typical QPSK constellation with gray codes. Assume R relays a 1 a 0 ("01") from M 2 to M 1 , and b 1 b 0 ("11") from M 1 to M 2 , respectively. When relaying these bits, R combines them together as "10" by XOR and transmits (S 2 ) QPSK . M 1 already knows b 1 b 0 ("11"). Exploiting this as the a priori information, for all possible bits of a 1 a 0 , the NC bits and corresponding signals can be computed locally at M 1 . These signals, when interpreted as the points for a 1 a 0 , construct a new QPSK constellation (S A0 S A1 S A2 S A3 ) QPSK . This constellation has the same size as (S 0 S 1 S 2 S 3 ) QPSK but with a different layout due to NC. In this way, the NC function actually provides a mapping between constellations. Instead of a fixed constellation in conventional modulations, such a mapping depends on the a priori information and changes for each symbol. The reinterpretation of NC can be summarized as follows: channel-coded packet of the ith flow, and F involves NC (XOR in conventional NC) and modulation.
(ii) At the receiver side, F −1 (ap i ) (ap i = ⊕ j / = i P j,c in conventional NC) provides the constellation for demodulating P i,c , where ap i is the a priori information at the ith receiver.
In conventional NC schemes, the constellations for different flows have the same size and min-distance, and the latter is the main factor that decides the rate. This forces the relay node to transmit the XORed packet with the minimal rate of all links so that all nodes can correctly recover the XORed packet.
The above constellation mapping can be extended to support simultaneous use of modulations with different levels (size and min-distance). Specifically, we use constellationcompatible modulations and nest the low level constellation inside the high level constellation. For example, a subset of four 16 QAM constellation points can be used as the QPSK constellation so that over the broadcast channel QPSK is used for one link while 16 QAM is used for the other link in the two-way relay scenario. In other words, among the links supporting different modulations, the highest modulation level is always used as the container. Other low level modulations use a subset of the high level constellation as their constellations.

Full Rate Network Coding Protocol
In this section, we present the full rate network-coding (FRNC) protocol. First the basic idea is explained with a simple example. Then the idea is generalized. How to nest constellations, how to find the actual constellation under the NC operation, how to transmit at the relay, and how to receive at the nodes are successively described in detail.

An Example Revealing the Basic Idea.
With the two-node (n = 2) scenario in Figure 1, we show how to use different rates over different links in the network-coded transmission. Assume that (i) links between R and M 1 /M 2 support rates with c 1 = 1/2, m 1 = 2 (QPSK), c 2 = 1/2, m 2 = 4 (16 QAM), respectively. On average, R can forward r 1 = c 1 · m 1 = 1 bit/symbol to M 1 and r 2 = c 2 · m 2 = 2 bit/symbol to M 2 . (ii) The slot length is N = 2 symbols. Then 2 bits to M 1 or 4 bits to M 2 can be transmitted in a single slot. (iii) The two bits from R to M 1 are P 1,u = "10" and 4 bits from R to M 2 are P 2,u = "1101".
The transmit procedure is shown in Figure 3. At R, P 1,u and P 2,u are channel-coded to P 1,c = "1101" and P 2,c = "11100010". The modulations for the two messages are QPSK and 16 QAM, respectively. To transmit the two messages together via NC, the QPSK constellation for P 1,c is nested in the 16 QAM constellation used for P 2,c . The nesting is realized by postcoding. In this example, by repetition codes with rate = 1/2, P 1,c is encoded to P 1 = "11110011", with the Table 1: Constellation conversion from 16 QAM to QPSK (a 3 a 2 a 1 a 0 represents the a priori info, b 1 b 0 are the info bits to be received). same length as P 2 = P 2,c = "11100010". The XORed sum of P 1 and P 2 is P Σ = "00010001". Then P Σ is modulated with the 16 QAM constellation (using gray codes) shown in Figure 4, and R transmits x Σ = (S 1 S 1 ) 16 QAM . The receive procedure is shown in Figure 5. At the ith node, the signal received from R is s i (t). For simplicity, noise and channel fading are ignored. In the same way as the relay performs channel coding and post-coding, P 1 = "11110011" is calculated from P 1,u at M 2 , and P 2 = "11100010" is calculated from P 2,u at M 1 , and are used as the a priori information in the network decoding stage.
Since s 2 (t) has the same modulation level as the one supported by the quality of link M 2 R, decoding at M 2 is the same as usual. At first, P Σ = "00010001" is demodulated from s 2 . With P 1 = "11110011" as the a priori information, P 2,c = P 2 = "11100010" is obtained and then P 2,u = "1101" is channel decoded. s 1 (t) has a higher modulation level than the one supported by the quality of link M 1 R. Therefore, the decoding at M 1 is a little more complex. The QPSK constellation to be used at M 1 depends on the a priori information and has to be constructed from the 16 QAM constellation. With repetition codes used in the post-coding stage in this example, two bits b 1 b 0 carried in a QPSK symbol are post-coded to b 3 corresponding to a 16-QAM symbol. With a 3 a 2 a 1 a 0 as the a priori information, varying b 1 b 0 , the possible NC bits a 3 a 2 a 1 a 0 ⊕ b 3 b 2 b 1 b 0 and the corresponding signals can be computed. Table 1 shows the derived QPSK constellations for demodulating b 1 b 0 , with the four a priori bits a 3 a 2 a 1 a 0 as an index.
At M 1 , with P 2 = "11100010" known a priori, for the first symbol in x Σ , a 3 a 2 a 1 a 0 = "1110", (S 1 ) 16 QAM is to be demodulated with the QPSK constellation (S 14 , S 13 , S 2 , S 1 ) 16 QAM Table 2: A comparison of the broadcast channel among three schemes, for the scenario shown in Figure 1.
(refer to Table 1); for the second symbol in x Σ , a 3 a 2 a 1 a 0 = "0010", (S 1 ) 16 QAM is to be demodulated with the QPSK constellation (S 2 , S 1 , S 14 , S 13 ) 16 QAM . Here, x Σ = (S 1 S 1 ) 16 QAM logically corresponds to (S 3 S 1 ) QPSK . It is demodulated to P 1,c = "1101" and converted to P 1,u = "10" after channel decoding. In this way network decoding is realized by the constellation conversion. A simple comparison on the broadcast channel, among decode-and-forward (DF), bit level NC with minimal rate, and FRNC, is summarized in Table 2. With DF, R uses one symbol for each node and thus transmits 3 bits in total. With NC, R transmits (min(r i ) · 2) · 2 = 4 bits. With FRNC, R transmits ( r i ) · 2 = 6 bits using two symbols.
Although superposition coding handles links with different qualities as well, the proposed FRNC scheme is quite distinct from it. Constellation nesting fully exploits the power on each link by using the a priori information in times of decoding. As a comparison, superposition coding does not exploit the a priori information for decoding the desired signal. Instead, the total power is divided into two parts, most power for the base layer signal and little power for the secondary layer signal, which results in significant power loss in transmitting the secondary layer signal.
In the following sections, we extend the above idea to more general cases and study the related post-coding scheme and the decoding method.

Nesting Constellations.
We first consider how to nest N 1 -QAM (we focus on the constellations in the form of grid, extension to other forms of constellations is also possible.) in N 2 -QAM (N 2 > N 1 , N k = (n k ) 2 = 2 mk , k = 1, 2). A simple way is to choose a subset of N 2 -QAM constellation points as the N 1 -QAM constellation. We construct the N 1 -QAM constellation by dividing N 2 -QAM into subsets. Let the min-distance of N 2 -QAM be d 2 . The points of N 1 -QAM with a distance d 1 = n 2 /n 1 · d 2 to their neighbors are grouped into the same subset. In this way, the N 2 -QAM constellation is divided into (n 2 /n 1 ) 2 subsets, each of which having the same size N 1 .
Choosing points for (non-QAM) BPSK requires one more step: after choosing a subset for QPSK from the QAM constellation, select two diagonal points from the QPSK constellation for BPSK.
A single point of the N 1 -point constellation can only carry m 1 information bits. But after nesting it inside the N 2 -constellation, its bit vector is extended to m 2 bits. There should be a bit-mapping. The only subset, which contains the all-zero bit-vector, is used for bit mapping from m 1 to m 2 .   Table 3 shows some bit mapping methods, where the N 1 m 1 -bit vectors are one-to-one mapped to N 1 m 2 -bit vectors in the subset containing the all-zero vector. The left column represents the nesting method, the second column is the original bits to be transmitted with low level constellation, and the right column shows the bit vectors in the nested constellation. With the bit mapping, the bits of low-level constellations are modulated to the subsets of high-level modulation, and the function of post-coding in Figure 3 is realized.
The constellation nesting may have SNR loss since the min-distance of the nested constellation may be a little less than that of the standard one. For example, with normalized energy, the min-distance of two 16-QAM points equals 0.6325. When nesting QPSK inside 16 QAM, the mindistance equals 0.6325 · 2 = 1.265, which is 0.97 dB less than 1.414, the min-distance of normal QPSK constellation. Table 4 shows the SNR loss, where the horizontal and vertical labels stand for original constellations and container constellations, respectively. Although nesting QPSK in 16 QAM has

Actual Constellation under Network
Coding. The next important issue is to find the actual constellation layout under NC. We explain this with Figure 4 as an example. It can be easily verified that the division has the following property: Equation (1) shows that, for a point ap 1 in the high level constellation (ap 1 ∈ CS), if ap 1 is in the subset CS i , it maps CS 1 to CS i by the NC operation. The actual constellation layout of CS i for demodulating P 1 is determined by P 1 ⊕ ap 1 , with ap i known a priori at the receiver. Although a constellation under NC changes with the a priori information, the min-distance for N 1 -QAM, under all the a priori information, remains the same: d 1 = n 2 /n 1 · d 2 .
As for the example in Figure 1, using the third row of Table 3 a 3 a 2 a 1 a 0 ⊕ b 3 b 2 b 1 b 0 being received and ap i = a 3 a 2 a 1 a 0 known a priori at M 1 , the QPSK constellation for demodulating b 1 b 0 is looked up in Table 1 by using a 3 a 2 a 1 a 0 as an index. For example, when a 3 a 2 a 1 a 0 = "1110", (S 14 , S 13 , S 2 , S 1 ) 16 QAM is equivalent to (S 0 , S 1 , S 2 , S 3 ) QPSK . Since the derived QPSK constellation depends on the a priori information, it changes for each symbol. Recovery of other constellations can be done in a similar way.  Figure 3 shows the transmit procedure at relay R. For each flow f i , according to the SNR of its relay link, R finds the transmit rate r i from an empirical SNR-rate table shown in Table 5. SNR loss due to constellation nesting is considered in this process: the rate corresponding to SNR is lowered if SNR loss makes this rate improper. Assume, without loss of generality, that rates, r 1 , r 2 , . . . , r n , over links from R to M 1 , M 2 , . . . , M n , are in the increasing order, that is, r 1 ≤ r 2 · · · ≤ r n . Each r i = c i · m i corresponds to a coding rate c i and a modulation level m i . m i , i = 1, 2, . . . , n, are also in the increasing order.
Transmission at R is done by the following steps.
(i) Every time R transmits a fixed number of symbols, N.
For each flow f i , the number of information bits that can be transmitted is N · r i . These information bits form a frame P i,u . On P i,u channel coding with rate c i is performed, which generates P i,c . P i,c , i = 1, 2, . . . , n, have different length in bits.
(ii) In order to transmit P i,c , the constellation m i should be nested in m n . This is done by the bit mapping (POST-COD) according to Table 3, which maps m i to m n and encodes P i,c to P i .

7
(iii) P i , i = 1, . . . , n are XORed together as P Σ = ⊕ i P i . P Σ , modulated to signal x Σ with constellation m n , is transmitted to all nodes with out-of-band rate information r i , i = 1, 2, . . . , n (each node only records the information bits on overhearing packets from nearby nodes to the relay. With the rate information from the relay, the node performs the same channel coding/post coding as the relay and calculates the coded bits as the a priori information for network decoding.) Figure 5 shows the demodulation and decoding procedure at all nodes. At the ith node, the signal received from R is

Demodulation/Decoding at the Receiver.
where h i is the channel gain and n i (t) is zero mean additive white Gaussian noise (AWGN). A node M i , supporting the used constellation (m i = m n ), performs soft demodulation and calculates symbol loglikelihood ratio (LLR) [17] and then converts to bit LLR. The bit LLR corresponds to XORed bits from all flows. With the a priori information bits (ap i = ⊕ j / = i P j ) known in advance, the LLR of desired bits can be recovered and then channel decoding is performed. The whole procedure is shown in the right side of Figure 5.
For a receiver M i requiring a lower constellation (m i < m n ), at first the low-level constellation is derived by exploiting the a priori information, as described in Section 4.3. This derivation of constellation is actually network decoding. Then the received signal is demodulated with the derived constellation and later channel decoded to recover the bits, as shown in the left side of Figure 5. 4.6. Discussion: Constellation Size Limit. FRNC requires that constellation size should be large enough so that high rate can be used at high SNR. In practical systems, there is a constraint on the constellation size which restricts the maximal rate. The maximum of constellation size, referred to as the constellation size limit hereafter, confines the performance of FRNC. In such cases, FRNC can be used together with superposition coding (SC) to fully exploit the transmit power. NC is already used together with SC in [13], where the fine scheduling is used to combine links with almost the same gain and apply NC to them. For links with quite different gains, SC is applied. But such a scheduling heavily depends on the actual topology. As a comparison, we replace the NC in [13] with FRNC and suggest FRNC + SC, which is analyzed in Section 5.

Performance Analysis of Two-Way Relay
In this section, we analyze the performance of different schemes under the two-way relay scenario shown in Figure 1. Six schemes are compared here. (i) DF, the decode-andforward scheme, (ii) NC, the normal bit level NC scheme with minimal rate constraint, (iii) SC, the superposition coding scheme, (iv) NC + SC, the iPack scheme in [13], (v) FRNC, and (vi) FRNC + SC. In the analysis, we assume (i) each channel has zero mean AWGN noise with variance σ 2 n ; (ii) channel gain of the link M i -R is h i ; (iii) each symbol has normalized energy and the SNR over each link is γ i = |h i | 2 /σ 2 n , (iv) the packet length is infinite.

Capacity without Fading.
With FRNC, the capacity of the broadcast channel reaches the sum rates of the two links (here, we ignore SNR loss in constellation nesting for simplicity. the SNR loss is taken into account in the simulation evaluation), The capacity of DF is half of that of FRNC, The capacity of NC is Next we calculate the throughput of NC + SC, SC, FRNC + SC, where SC is involved. Assume, without loss of generality, that γ 2 ≥ γ 1 . Part (0 ≤ α ≤ 1) of the power is used to transmit the base layer signal x Σ (the NC coded message in NC + SC, the plain message in pure SC, the FRNC coded message in FRNC + SC), and the remaining power (1 − α) is used to transmit the secondary signal x 2 to M 2 . The transmitted signal is At M i , SNR of the received base layer signal (x Σ ) is Since γ i is an increasing function of γ i , min(γ 1 , γ 2 ) = γ 1 and the rate used for the NC coded message is determined by γ 1 . At M 2 , after perfect interference cancellation, the SNR of the secondary layer signal is The throughput of NC + SC under given γ 1 , γ 2 , and α, is c NC + SC γ 1 , γ 2 , α = 2 log 2 1 + γ 1 + log 2 1 + γ 2 = 2 log 2 1 + γ 1 − 2 log 2 1 + (1 − α) · γ 1 + log 2 By differentiating c NC + SC (γ 1 , γ 2 , α) with respect to α, its maximum can be obtained at α = 1−(1/γ 1 −2/γ 2 ). To achieve 8 EURASIP Journal on Wireless Communications and Networking the maximal capacity, the power allocation should be done as follows: The capacity of the pure SC is as follows: This is a decreasing function of α and reaches its maximum when α approaches 0. With the constellation size limit in practical systems, over the link M 2 -R, all SNR greater than a certain threshold γ max supports the maximal rate. When γ 2 is large enough, it is sufficient to choose α so as to satisfy (1 − α) · γ 2 ≥ γ max . The rest of the power can be used for the SC transmission over the link M 1 -R. As for FRNC + SC, the FRNC coded message replaces x Σ in (6), and its capacity is as follows: c FRNC + SC γ 1 , γ 2 , α = log 2 1 + γ 1 + log 2 1 + γ 2 + log 2 1 + γ 2 = log 2 1 + γ 1 − log 2 1 + (1 − α) · γ 1 + log 2 It is interesting to see that the power allocation has no capacity loss over the link R-M 2 . The only loss compared with FRNC is the part log 2 (1+(1−α)·γ 1 ) over the R-M 1 link, which approaches 0 as α approaches 1. c FRNC+SC (γ 1 , γ 2 , α) is an increasing function of α. Without constellation size limit, α should be set to 1, and FRNC + SC degenerates to FRNC. With the constellation size limit, devoting full power to transmitting the FRNC coded packet is unnecessary. Therefore, the SC coding should be used and γ 2 is divided into two parts, γ 2 and γ 2 . The optimal power allocation policy is as follows: The power allocation can be explained as follows: (i) when γ 2 is small enough (γ 2 ≤ γ max ), all power (α = 1) should be used for FRNC since its rate is not saturated yet. (ii) As γ 2 gets greater than γ max , α should be set to satisfy γ 2 = γ max . The maximal rate is used over link M 2 -R for FRNC, and the extra power is used for the SC transmission over the link M 2 -R. (iii) If γ 2 is very large, both the FRNC and SC transmission reach the maximal rate over the link M 2 -R, and α is chosen to satisfy (1 − α) · γ 2 ≥ γ max for the SC transmission. The rest power is used in improving the FRNC rate over the link M 1 -R.
With a two-way relay scenario similar to the one shown in Figure 1, we study how the position of the relay node affects the system performance. Adjusting the position of R between M 1 and M 2 changes the normalized distance d M1R /d M1M2 . Average SNR (γ i ) of links M 1 R and M 2 R is calculated from the normalized distance d M1R /d M1M2 according to the tworay model [18] with the path loss exponent (equaling 3 in the simulation). When R lies in the middle of M 1 and M 2 , the average SNR of both relay links equals 20 dB. α is set to the optimal value for schemes employing SC. Figure 6 shows the average throughput of different schemes, where there is no limit on constellation size. The curve of FRNC + SC overlaps with that of FRNC. Both outperform other schemes. As analyzed before, SC in NC + SC only works under certain conditions. When the relay is near the middle point, the difference in link quality is not very large. NC + SC degenerates to NC, as is clear when the distance equals 0.5. Without constellation size limit, the best link is always chosen in SC, and the two-way communication becomes unidirectional. The performance of NC is greatly affected by the min-rate, especially when the relay is away from the middle point and the difference in link quality becomes large. Due to the effect of fading, two links with   Figure 7). the same average SNR have different instantaneous SNR. Therefore, FRNC/FRNC + SC outperform NC and NC + SC even when the normalized distance equals 0.5.

Numerical Results
In this section, we evaluate the proposed FRNC and FRNC + SC schemes using Monte-Carlo simulations. Each slot consists of 4800 symbols. Messages are coded by a 4-state recursive systematic convolutional (RSC) code with the generator matrix (1, 5/7). Modulation and coding schemes shown in Table 5 are used. Altogether, 10 different transmit rates can be supported. The number of information bits in a message varies from 2400 bits to 28800 bits. Messages are transmitted from R to nodes via different schemes and decoded accordingly. In the evaluation, we focus on the  broadcast channel, and compare FRNC, FRNC + SC against DF, NC [3], NC with opportunistic scheduling (NCSched) [9], SC, and NC + SC [13]. SNR loss in FRNC is taken into account when choosing rates for transmissions. It is assumed that each link experiences independent block Rayleigh fading. Modulation constellations are adopted from IEEE 802.11a and the related parameters (symbol period, number of subcarrier) are used in calculating throughput [19].
With the two-way relay scenario shown in Figure 1 and the same setting as in Section 5.2, we compare the actual throughput achieved by different schemes, with the practical constellation size limit. Figure 7 shows the total throughput of different schemes on the broadcast channel with respect to the normalized distance, where the largest constellation is 256 QAM. Generally speaking, Figure 7 shows similar trend as Figure 6. But with the limit in constellation size, some differences do occur: (i) FRNC + SC outperforms FRNC, (ii) at a small distance, FRNC and NC + SC have similar performances, and (iii) the difference between FRNC + SC and NC + SC gets larger than that in Figure 6. By the optimal allocation of power between FRNC and SC, the best performance is achieved in FRNC + SC under all distances. When the distance equals 0.30, FRNC + SC reaches the largest throughput gain, 25.8%, against NC + SC. At this distance, FRNC + SC achieves a much larger gain, 74.2%, against NC. The cumulative density function of the throughput at this distance is shown in Figure 8. The superiority of FRNC and FRNC + SC over other schemes is very clear. Figure 9 shows the effect of constellation size limit. When the largest constellation is constrained to 64 QAM instead of 256 QAM, the performance of both FRNC + SC and FRNC is degraded. But the performance of FRNC + SC is less affected, where the extra-power is used in SC transmission than being wasted in FRNC.
Next the effect of the number of nodes, n, is evaluated. Average SNR of all relay links is fixed at 20 dB. In such scenarios, SC can hardly be used. Therefore, only the schemes without using SC are compared. Figure 10 shows the throughput on the broadcast channel. DF transmits in a TDMA manner. Therefore, it cannot benefit from the increase in nodes and its throughput is almost a constant value. On the other hand, NC, NCSched and FRNC all benefit from the increase in flows more or less. Due to the different capability in handling rate mismatch, the slopes of three curves differ greatly. FRNC always has the highest throughput because the rate mismatch problem is completely solved and full rate is achieved.

Conclusions
Recently, network coding is widely studied for improving the relay efficiency in wireless networks. Its performance, however, is greatly limited by factors such as rate mismatch. In this paper, we reinterpreted network coding as a mapping between modulation constellations and extended this mapping to enable simultaneous use of different modulations in network-coded transmissions. In this way, the highest rate over each link can be used and the sum rate can be achieved over the broadcast channel. As a result, the rate mismatch problem is completely solved. The only shortcoming of the proposed scheme is its SNR loss in nesting constellations. This little SNR loss is acceptable if the throughput gain is taken into account. We will further study the effect of the direct link and the potential errors at relay node.