- Research Article
- Open Access
Full Rate Network Coding via Nesting Modulation Constellations
© Suhua Tang et al. 2011
- Received: 30 September 2010
- Accepted: 14 January 2011
- Published: 10 February 2011
Network coding is an effective method to improving relay efficiency, by reducing the number of transmissions required to deliver data from source(s) to destination(s). However, its performance may be greatly degraded by rate mismatch, which is seldom touched in previous works and remains a challenge. In this paper, we reinterpret network coding as a mapping of modulation constellation. On this basis, we extend the mapping to support full rate network coding (FRNC), enabling simultaneous use of different modulations by nesting the low level constellation as a subset of the high level constellation. When relay links have different qualities, the messages of different flows are combined via network coding in such a way that for each relay link, its desired message is transmitted at its own highest rate. The limit in constellation size is also addressed. Compared with the state-of-the-art solutions to rate mismatch, the proposed scheme achieves the full rate of all relay links on the broadcast channel.
- Power Allocation
- Relay Node
- Network Code
- Broadcast Channel
- Constellation Size
Wireless communications suffer greatly from multipath fading where outages may degrade communication quality. Different schemes, such as adaptive modulation and coding and relay , have been exploited to mitigate this problem. The relay efficiency can be improved via network coding (NC)  if the traffic pattern and the a priori information are exploited. Typical transmission patterns suitable for applying NC include two-way relay [3–5], multihop forwarding , multiple access channel , 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 . 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 . The NC signal is further refined in  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 network-coded packet is intended to be received by both nodes, the minimal rate is chosen for the NC transmission . 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 . 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  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 . This makes modulation complex and is difficult to extend to other modulations. Compress and forward was studied in , 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 , 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 cross-layer design, we exploit physical layer method as well. The principle of dirty paper coding  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.
Over each link, the rate can be adjusted by modulation and coding. With coding rate and modulation level (constellation size = ), on average 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) has collected enough data for each flow so that the zero-padding 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.
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 . 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 relays ("01") from to , and ("11") from to , respectively. When relaying these bits, combines them together as "10" by XOR and transmits . already knows ("11"). Exploiting this as the a priori information, for all possible bits of , the NC bits and corresponding signals can be computed locally at . These signals, when interpreted as the points for , construct a new QPSK constellation . This constellation has the same size as 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:
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 constellation-compatible 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.
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.
4.1. An Example Revealing the Basic Idea
With the two-node ( ) scenario in Figure 1, we show how to use different rates over different links in the network-coded transmission. Assume that (i) links between and / support rates with , (QPSK), , (16 QAM), respectively. On average, can forward bit/symbol to and bit/symbol to . (ii) The slot length is symbols. Then 2 bits to or 4 bits to can be transmitted in a single slot. (iii) The two bits from to are = "10" and 4 bits from to are = "1101".
At , with = "11100010" known a priori, for the first symbol in , = "1110", is to be demodulated with the QPSK constellation (refer to Table 1); for the second symbol in , = "0010", is to be demodulated with the QPSK constellation . Here, logically corresponds to . It is demodulated to = "1101" and converted to = "10" after channel decoding. In this way network decoding is realized by the constellation conversion.
A comparison of the broadcast channel among three schemes, for the scenario shown in Figure 1.
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.
4.2. Nesting Constellations
We first consider how to nest -QAM (we focus on the constellations in the form of grid, extension to other forms of constellations is also possible.) in -QAM ( , , ). A simple way is to choose a subset of -QAM constellation points as the -QAM constellation. We construct the -QAM constellation by dividing -QAM into subsets. Let the min-distance of -QAM be . The points of -QAM with a distance to their neighbors are grouped into the same subset. In this way, the -QAM constellation is divided into subsets, each of which having the same size .
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 -point constellation can only carry information bits. But after nesting it inside the -constellation, its bit vector is extended to bits. There should be a bit-mapping. The only subset, which contains the all-zero bit-vector, is used for bit mapping from to .
Figure 4 shows an example of dividing 16 QAM to find QPSK constellations, where , , , . The 16 QAM constellation is divided into four subsets: = , = , = , = . = is the constellation for 16 QAM. QPSK may use any as its constellation point, although with a different layout under NC.
Some bit mapping methods.
Bits in low-level constellation
Bits for sub-set in container constellation
BPSK in QPSK
BPSK in 16 QAM
QPSK in 16 QAM
QPSK in 64 QAM
16 QAM in 64 QAM
Potential SNR loss in constellation conversion.
4.3. Actual Constellation under Network Coding
Equation (1) shows that, for a point in the high level constellation ( ), if is in the subset , it maps to by the NC operation. The actual constellation layout of for demodulating is determined by , with known a priori at the receiver. Although a constellation under NC changes with the a priori information, the min-distance for -QAM, under all the a priori information, remains the same: .
As for the example in Figure 1, using the third row of Table 3, two bits are post-coded to . With being received and known a priori at , the QPSK constellation for demodulating is looked up in Table 1 by using as an index. For example, when = "1110", is equivalent to . 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.
4.4. Encoding/Modulation at the Relay
SNR threshold for rate adaptation (for a message consisting of 4800 symbols).
Modulation and coding
16 QAM (1/2)
16 QAM (3/4)
64 QAM (2/3)
64 QAM (3/4)
256 QAM (2/3)
256 QAM (3/4)
Assume, without loss of generality, that rates, , over links from to , are in the increasing order, that is, . Each corresponds to a coding rate and a modulation level . , are also in the increasing order.
Every time transmits a fixed number of symbols, . For each flow , the number of information bits that can be transmitted is . These information bits form a frame . On channel coding with rate is performed, which generates . , , have different length in bits.
In order to transmit , the constellation should be nested in . This is done by the bit mapping (POST-COD) according to Table 3, which maps to and encodes to .
are XORed together as . , modulated to signal with constellation , is transmitted to all nodes with out-of-band rate information (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.)
4.5. Demodulation/Decoding at the Receiver
A node , supporting the used constellation ( ), performs soft demodulation and calculates symbol log-likelihood ratio (LLR)  and then converts to bit LLR. The bit LLR corresponds to XORed bits from all flows. With the a priori information bits ( ) 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 requiring a lower constellation , 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 , 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  with FRNC and suggest FRNC + SC, which is analyzed in Section 5.
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-and-forward 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 , (v) FRNC, and (vi) FRNC + SC. In the analysis, we assume (i) each channel has zero mean AWGN noise with variance ; (ii) channel gain of the link - is ; (iii) each symbol has normalized energy and the SNR over each link is , (iv) the packet length is infinite.
5.1. Capacity without Fading
This is a decreasing function of and reaches its maximum when approaches 0. With the constellation size limit in practical systems, over the link - , all SNR greater than a certain threshold supports the maximal rate. When is large enough, it is sufficient to choose so as to satisfy . The rest of the power can be used for the SC transmission over the link - .
The power allocation can be explained as follows: (i) when is small enough ( ), all power ( ) should be used for FRNC since its rate is not saturated yet. (ii) As gets greater than , should be set to satisfy . The maximal rate is used over link - for FRNC, and the extra power is used for the SC transmission over the link - . (iii) If is very large, both the FRNC and SC transmission reach the maximal rate over the link - , and is chosen to satisfy for the SC transmission. The rest power is used in improving the FRNC rate over the link - .
5.2. Capacity with Fading
Next we consider the effect of fading and assume each channel experiences block Rayleigh fading. follows the exponential distribution: , and the joint distribution is . The average throughput can be calculated by numerical integration.
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 between and changes the normalized distance . Average SNR ( ) of links and is calculated from the normalized distance according to the two-ray model  with the path loss exponent (equaling 3 in the simulation). When lies in the middle of and , the average SNR of both relay links equals 20 dB. is set to the optimal value for schemes employing SC.
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 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 , NC with opportunistic scheduling (NCSched) , SC, and NC + SC . 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 .
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.
This research was performed under research contract of "Research and Development for Reliability Improvement by The Dynamic Utilization of Heterogeneous Radio Systems", for the Ministry of Internal Affairs and Communications, Japan.
- Fitzek FHP, Katz MD: Cooperation in Wireless Networks: Principles and Applications. 1st edition. Springer, New York, NY, USA; 2006.View ArticleGoogle Scholar
- Ahlswede R, Cai N, Li SYR, Yeung RW: Network information flow. IEEE Transactions on Information Theory 2000, 46(4):1204-1216. 10.1109/18.850663MATHMathSciNetView ArticleGoogle Scholar
- Larsson P, Johansson N, Sunell KE: Coded bi-directional relaying. Proceedings of the IEEE 63rd Vehicular Technology Conference (VTC '06), July 2006 2: 851-855.Google Scholar
- Popovski P, Yomo H: Bi-directional amplification of throughput in a wireless multi-hop network. Proceedings of the IEEE 63rd Vehicular Technology Conference (VTC '06), July 2006 2: 588-593.Google Scholar
- Zhang S, Liew SC, Lam PP: Hot topic: physical-layer network coding. Proceedings of the 12th Annual International Conference on Mobile Computing and Networking (MOBICOM '06), September 2006 358-365.View ArticleGoogle Scholar
- Katti S, Gollakota S, Katabi D: Embracing wireless interference: analog network coding. Proceedings of the ACM : Conference on Computer Communications (SIGCOMM '07), August 2007 397-408.Google Scholar
- Hausl C, Hagenauer J: Iterative network and channel decoding for the two-way relay channel. Proceedings of the IEEE International Conference on Communications (ICC '06), July 2006 4: 1568-1573.Google Scholar
- Tang S, Cheng J, Sun C, Miura R, Obana S: Joint channel and network decoding for XOR-based relay in multi-access channel. IEICE Transactions on Communications 2009, E92-B(11):3470-3477. 10.1587/transcom.E92.B.3470View ArticleGoogle Scholar
- Yomo H, Popovski P: Opportunistic scheduling for wireless network coding. IEEE Transactions on Wireless Communications 2009, 8(6):2766-2770.View ArticleGoogle Scholar
- Larsson P: A multiplicative and constant modulus signal based network coding method applied to CB-Relaying. Proceedings of the IEEE 67th Vehicular Technology Conference (VTC '08), May 2008 61-65.Google Scholar
- Koike-Akino T, Popovski P, Tarokh V: Denoising maps and constellations for wireless network coding in two-way relaying systems. Proceedings of the IEEE Global Telecommunications Conference (GLOBECOM '08), December 2008 3790-3794.Google Scholar
- Zeitler G, Koetter R, Bauch G, Widmer J: On quantizer design for soft values in the multiple-access relay channel. Proceedings of the IEEE International Conference on Communications (ICC '09), June 2009Google Scholar
- Alimi R, Li LI, Ramje R, Viswanathan H, Yang YR: IPack: in-network packet mixing for high throughput wireless mesh networks. Proceedings of the 27th IEEE Communications Society Conference on Computer Communications (INFOCOM '08), April 2008 66-70.Google Scholar
- Costa MHM: Writing on dirty paper. IEEE Transactions on Information Theory 1983, IT-29(3):439-441.View ArticleGoogle Scholar
- Katti S, Rahul H, Hu W, Katabi D, Médard M, Crowcroft J: XORs in the air: practical wireless network coding. Proceedings of the Conference on Computer Communications (SIGCOMM '06), 2006 243-254.Google Scholar
- Xiao L, Fuja TE, Kliewer J, Costello Jr DJ: Nested codes with multiple interpretations. Proceedings of the 40th Annual IEEE Conference on Information Sciences and Systems (CISS '06), 2007 851-856.Google Scholar
- Hagenauer J, Papke L, Offer E, Papke L: Iterative decoding of binary block and convolutional codes. IEEE Transactions on Information Theory 1996, 42(2):429-445. 10.1109/18.485714MATHView ArticleGoogle Scholar
- Goldsmith A: Wireless Communications. Cambridge University Press, New York, NY, USA; 2005.View ArticleGoogle Scholar
- IEEE Computer Society LAN MAN Standards Committee : LAN Medium Access Protocol (MAC) and Physical Layer (PHY) Specification. IEEE Std 802.11-2007, IEEE, 2007Google Scholar
This article is published under license to BioMed Central Ltd. This is an open access article distributed under the Creative Commons Attribution License, which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.