Optimal RateDiverse Wireless Network Coding
Abstract
This paper proposes an encoding/decoding framework for achieving the optimal channel capacities of the twouser broadcast channel where each user (receiver) has the message targeted for the other user (receiver) as side information. Since the link qualities of the channels from the base station to the two users are different, their respective singleuser nonbroadcast channel capacities are also different. A goal is to simultaneously achieve/approach the singleuser nonbroadcast channel capacities of the two users with a single broadcast transmission by applying network coding. This is referred to as the ratediverse wireless network coding problem. For this problem, this paper presents a capacityachieving framework based on linear structured nested lattice codes. The significance of the proposed framework, besides its theoretical optimality, is that it suggests a general design principle for linear ratediverse wireless network coding going beyond the use of lattice codes. We refer to this design principle as the principle of virtual singleuser channels. Guided by this design principle, we propose two implementations of our encoding/decoding framework using practical linear codes amenable to decoding with affordable complexities: the first implementation is based on Low Density Lattice Codes (LDLC) and the second implementation is based on Bitinterleaved Coded Modulation (BICM). These two implementations demonstrate the validity and performance advantage of our framework.
I Introduction
This paper investigates wireless broadcast networks with side information at users, where a base station wants to deliver two different messages to two users A and B, and each user already has the message targeted for the other user as side information. Two examples in which this scenario can arise are as follows:
Scenario 1: Twoway Relay Networks — In this scenario [1, 2], the message for B originates from A; and the message for A originates from B. These messages have been transmitted by users A and B to the base station via a prior uplink phase. The base station serves as a relay to deliver the information to the respective destinations, B and A, in the downlink phase. The current paper is related to the downlink phase in this setting.
Scenario 2: Retransmission in Automatic Repeat reQuest (ARQ) — In this scenario, the information originates elsewhere (e.g., the Internet). Originally, neither A nor B had information on the messages for the other nodes. However, in prior downlink transmissions, A overheard the message for B, and B overheard the message for A, but neither A or B succeeded in decoding their own desired messages. Retransmissions will be needed. In a future downlink retransmission, both A and B have side information on the messages for the other user.
Besides the above two scenarios, there are many other scenarios in which downlink broadcast with side information arise [3]. Network coding [4, 5] can naturally be used to improve the transmission efficiency for such wireless broadcast networks. With network coding, the base station transforms the two messages into one networkcoded message and sends the networkcoded message to the two users. Each user then decodes its desired message by subtracting the side information from the received networkcoded message.
In this paper, we assume the channels from the base station to the two users are powerconstrained additive white Gaussian noise (AWGN) channels. The capacities of the two channels can be different due to the different channel qualities from the base station to two users. We refer to the coding problem for such channels as the ratediverse wireless network coding problem, because the achievable rates for the two channels are different; yet our goal is to be able achieve the respective rates with a single transmission of the networkcoded message. Specifically, of concern are the following two questions:

What is the capacity region of ratediverse wireless network coding?

How to achieve (or approach) the optimal operating point of the capacity region using practical and implementable coding schemes?
There has been prior works addressing question i). The capacity region of the channel under investigation has been identified in [6, 7, 8] using the argument of random coding; it was proved that the optimal point of the capacity region is the pair of the two pointtopoint singleuser channel capacities. However, based on the theoretical arguments in [6, 7, 8] alone, the answer to question ii) is not obvious. This paper is oriented toward question ii). We find that simple coding schemes can allow us to achieve/approach the pointtopoint channel capacities, using a principle put forth by us, referred to as the principle of virtual singleuser channels.
To achieve the optimal point of the capacity region for ratediverse wireless network coding in powerconstrained AWGN channels, we propose an encoding/decoding framework based on linear nested lattice codes [9]. The merit of our framework is twofold. First, it shows that we can achieve the optimal point of the capacity region using linear structured codes. Second, it yields a general design principle for ratediverse wireless network coding based on linear codes. We refer to this design principle as the principle of virtual singleuser channels. This principle indicates that there is no need to perform joint twouser encoding to achieve capacities. Separate channel coding before network coding at the transmitter, and singleuser decoding after network decoding at the receiver, are sufficient to achieve capacities.
Importantly, this principle is not just limited to the use of nested lattice codes (although the insight originally came from the use of nested lattice codes). For example, we can implement our encoding/decoding framework using practical linear codes amenable to decoding with affordable complexities. In other words, although the framework originates from the use of theoretical lattice codes with infinite dimensions, the design principle can be easily applied in practice using other linear codes.
To illustrate, this paper shows how the optimal encoding/decoding framework can be applied using low density lattice codes (LDLC) [10]. Although the nested lattice code is optimal in the sense of capacityachieving, its lattice quantization decoding is not computationally feasible. LDLC is a type of lattice codes amenable to lowcomplexity belief propagation (BP) decoding [11, 12]. Using LDLC as components, our encoding/decoding framework for ratediverse wireless network coding can be easily realized in practical systems.
This paper further illustrates the application of the framework using bitinterleaved coded modulation (BICM) [13], which has even lower implementation complexity than LDLC. BICM is already used in many practical pointtopoint communication systems to approach capacity in the high signaltonoise ratio (SNR) regime. BICM combines simple binary channel codes with highorder modulations to obtain different data rates in accordance with the SNR. This paper shows that applying the principle of virtual singleuser channels allows both users to achieve their respective singleuser pointtopoint decoding performance in BICMbased ratediverse wireless network coding systems. This result is contrast to prior works [14, 15], where more complicated joint modulation schemes are adopted. These joint modulation schemes are designed for specific modulations and are difficult to generalize. More importantly, as will be seen in this paper, they do not allow optimal singleuser decoding performance to be simultaneously achieved for both users.
In summary, this paper has the following three contributions:

We put forth a framework based on structured nested lattice codes to achieve the optimal capacities in ratediverse wireless network coding systems. This framework provides insight leading to a general design principle of using linear codes to achieve optimal ratediverse network coding performance, referred to as the principle of virtual singleuser channels.

We put the design principle into practice assuming the use of LDLC that are amenable to practical encoding/decoding using BP algorithms. We demonstrate the good performance of the resulting system.

We further apply the design principle assuming the use of BICM. The proposed BICM scheme can achieve the singleuser performance bounds for the two users simultaneously.
Ia Related Works
Ref. [16] considered the use of linear codes to achieve the optimal point of the capacity region in finitealphabet channels (channels with discrete outputs). By contrast, our paper here focuses on powerconstrained additive white Gaussian noise (AWGN) channels, which corresponds more closely to the actual physical channel at the lower layer. The coding scheme in [17] is a solution for ratediverse wireless network coding in powerconstrained AWGN channels; since it only employs binary linear codes and BPSK modulation, it cannot achieve capacity in all SNR regimes.
The constellations proposed in [18] for noisy index coding can be also applied to ratediverse wireless network coding. However, it aims to achieve the socalled side information gain but not to achieve the optimal capacity point.
To boost the performance of ratediverse wireless network coding systems, [14] and [15] proposed twouser joint modulation schemes for nonchannelcoded systems. However, these nonsystematic designs for joint modulation schemes cannot achieve the optimal singleuser performance for the two users simultaneously.
A recent independent work [19, 20] also employed the idea of nested lattice codes to achieve the capacity of the Gaussian broadcast channel. In [19, 20], a more general model with more than two users was considered, and a theoretical optimal solution was given for the general model. However, for the case of two users, our work and [19, 20] differ in the following ways. First, our encoding scheme employs two different coding lattices to independently encode the two messages, where each coding lattice is exactly the same as that used in traditional singleuser pointtopoint communication; the encoding scheme of [19, 20], on the other hand, jointly encodes the messages into a single coding lattice. Second, our decoding scheme, after the networkcoding decoding operation, is the lattice quantization operation with respect to the original singleuser coding lattice; the decoding scheme of[19, 20], on the other hand, is a lattice quantization with respect to a new coding lattice representing a subcode of the original lattice code. Our scheme suggests a simple design principle for the twouser case: the principle of virtual singleuser channels. This principle dictates that we should aim for a design in which the whole decoding problem can be reduced to two uncoupled singleuser decoding problems after the side information at the receivers are taken into account. Importantly, for a design adhering to this principle, we can simply use singleuser channel codes, including nonlattice codes (e.g., LDPC codes) that are capacity approaching yet amenable to simple decoding.
Overall, despite the past related works, how to achieve the two pointtopoint singleuser channel capacities simultaneously using structured codes is not obvious for ratediverse wireless network coding in powerconstrained AWGN channels. It is the intention of this paper to fill this gap.
The rest of this paper is organized as follows. Section II describes our system model. Using the argument of nestled lattice codes, Section III presents our optimal encoding/decoding framework for ratediverse wireless network coding. Section IV describes the implementation of our encoding/decoding framework using LDLC. Section V proposes the BICM scheme for ratediverse wireless network coding. Section VI provides simulation results. Section VII concludes this paper.
Ii System Model
We consider a networkcoding assisted wireless broadcast problem. The system model is shown in Fig. 1, where we have a base station (BS) and two users (A and B). The BS wants to transmit different messages to users A and B. The message targeted for user A (B) is denoted by a vector of binary information bits (), where and are the lengths of the vectors. User A (B) has side information (), the message targeted for user B (A). This is a common scenario in the broadcast phase of the twoway relay channel based on physicallayer network coding [2]; and this is also a special case of index coding systems [3].
The BS can employ network coding to minimize the required transmission time [4, 5]. Besides network coding, the BS also needs to perform channel coding and modulation to generate the channel symbols that will be transmitted over the wireless channel. For simplicity, this paper considers a realvalued signal model. The extension to a complexvalued signal model is straightforward. We denote the vector of channel symbols transmitted by the BS by , where consists of channel symbols, and the function incorporates the combined operation of channel coding, modulation and network coding. Thus, the data rate for user A (B) is () bits per channel use. We impose an average power constraint on the channel symbols, i.e., .
We model the wireless channel between the BS and user as an additive white Gaussian noise (AWGN) channel with the pathloss effect:
(1) 
where is a vector of i.i.d. meanzero, variance Gaussian white noise components, and is the channel gain that models the pathloss effect between the BS and user . The two channel gains and are likely different due to the different distances of the users from the BS.
After receiving (), user A (B) estimates its target message () using () and its side information (). Specifically, we express the estimated target messages as , , where and denote the combined inverse operation of channel coding, modulation and network coding at users A and B, respectively. Henceforth, for brevity, we will simply call the encoding scheme, and and the decoding schemes. Given the average power constraint over the channel symbols of BS, we ask the following two questions:

What are the datarate limits for the BS to reliably deliver messages to the two users?

What encoding/decoding schemes can be used to achieve these limits?
We first identify the datarate limits for the channel considered here. If we just focus on the pointtopoint singleuser channel between the BS and one particular user , the Shannon channel capacity, , is the upper limit of the data rate for which reliable communication is possible as , where is the SNR at the receiver of user . Considering the broadcast channel with sideinformation at the two users, references [6, 7, 8] proved that as long as the daterate pair is within the capacity region given by , the users can decode their target messages with arbitrarily small error probabilities. The capacity region is shown in Fig. 2, where we assume . Obviously, the capacity pair is the optimal datarate pair that simultaneously maximizes the data rates for both users.
This paper focuses on the second question: the encoding and decoding schemes to achieve the optimal datarate pair (the capacity pair). Let us first consider the simple special case where the two channel gains are equal: . Now, the pointtopoint channel capacities of the two channels are equal: , and the capacity pair becomes . For this rateequal case, the encoding scheme for capacity achieving is rather straightforward. The first step is the linear network coding over the binary information: , where denotes the bitwise XOR operation. Then, the networkcoded message is fed into a singleuser channel encoder and modulator. At the receiver side of a user, a singleuser decoding scheme can be used to obtain , and the estimated target message is given by the bitwise XOR of and the sideinformation. As long as the data rate of the used encoding scheme can achieve the pointtopoint singleuser channel capacity , the above simple encoding scheme can also achieve the capacity pair for the rateequal wireless network coding.
Of interest to our paper here is the general ratediverse wireless network coding where and . How to achieve the capacity pair for the ratediverse case is not as obvious as the rateequal case. In [8], random coding is employed to derive the capacity region of the general probabilistic broadcast channel with side information at the users. Then, [16] considered the use of linear codes to achieve the optimal capacity pair for finitealphabet channels (channels with discrete outputs). By contrast, our paper here focuses on powerconstraint AWGN channels. We investigate the encoding scheme and practical decoding scheme with affordable complexities to achieve (or to closely approach) the capacity pair. In particular, we put forth a design principle for ratediverse wireless network coding. The design principle, referred to as the principle of virtual singleuser channels, aims to transform the ratediverse broadcast channel to two singleuser channels states through encoding/decoding designs, thereby achieving the capacity pair which are basically the singleuser capacities for user A and user B.
Iii Nested Lattice Codes Based Framework for Achieving Capacity Pair
This section describes an encoding/decoding framework for achieving the capacity pair of ratediverse wireless network coding. The framework is based on nested lattice codes that have linear structures. We first give a preliminary on lattices and nested lattice codes in Section III.A. Then, in Section III.B, we show how nested lattice codes and its decoding can be used in our encoding/decoding framework to achieve the capacity pair.
Iiia Preliminary on Lattices and Nested Lattice Codes
A real lattice of dimension is a discrete subgroup of () closed under addition and reflection: if , then ; if then . The lattice points (vectors) of are generated by taking all integer linear combinations of independent basis vectors. The basis vectors can be written into an generator matrix . Therefore, a lattice is specified by its generator matrix and can be always written as
Given a lattice and a lattice point , the Voronoi region of is defined to be the set of all vectors in that are closest to the lattice point : . The Voronoi region of is called the fundamental Voronoi region of the lattice and it is denoted by . Since every vector in can be uniquely written as , where and , a lattice quantization operation is a function that maps a vector to a lattice point of according to the minimum Euclidean distance rule: a lattice modulo operation is to get the quantization error: .
The volume of is denoted by and it can be shown that . The secondorder moment of is defined as , where is a random vector uniformly distributed over . The normalized secondorder moment of is defined as , which is invariant to the scale of the lattice (i.e., if the generator matrix were to be scaled by a nonzero scalar, would remain the same). The above definitions of volume and (normalized) secondorder moment are not only restricted to Voronoi regions of lattices; they are applicable to any regions over the space of . In other words, in place of , for any subset of , we will also make use of the generalized definitions for the second moment and the normalized second moment later in this paper.
If the lattice is a subset of another lattice , , we say is nested in . A pair of lattices is called a nested pair if , where is called the coarse lattice and is called the fine lattice. For example, is a nested pair, where is a nonzero integer.
We now apply lattices to the coding problem. In this subsection, we consider a pointtopoint singleuser channel: , where is the vector of the channel symbols, is the vector of the received signals, is the channel gain, and is the vector of i.i.d. real AWGN components with meanzero and variance. All vectors here are length vectors. The vector of the channel symbols is the codeword for conveying information message and it is subject to an average power constraint . The aim is to achieve the channel capacity , where .
For lattice coding, the codeword is a point chosen from a specific lattice that contains an infinite number of lattice points. We call the coding lattice. The power constraint on means that only a finite number of the lattice points of can be chosen as the codewords. To limit the power of codewords, we can choose a subset of lattice points within a certain region to be the codewords. This region, typically centered on the zero lattice point, is referred to as the shaping region. Overall, we need to take into account the following two aspects for designing lattice codes [9].

The granularity of the coding lattice is represented by its fundamental Voronoi region . The volume determines the intercodeword Euclidean distance, hence, it determines the decoding error probability.

The structure of the shaping region determines the powervolume tradeoff, hence, the gap from the channel capacity.
Two key questions are what is a good lattice for coding and what is a proper shaping region that satisfies the power constraint.
To see what is a good lattice for coding, let us first remove the power constraint on the codeword . In this case, since the transmission power as well as the data rate is infinite, any point of a lattice can be chosen as the codeword. At the receiver side, the maximum likelihood (ML) decoding is employed to search for a lattice point nearest to the received vector. Obviously, the decision regions of the ML decoding are the Voronoi regions and this ML decoder essentially is the lattice quantizer . The performance of the code is expressed by the decoding error probability . Since decoding errors occur when the noise vector goes beyond the Voronoi region of the transmitted lattice point, the decoding error probability is . The decoding error probability is determined by the “shape” of , which depends on the lattice being used, and the size of relative to the noise power, which can be expressed as the volumetonoise ratio (VNR) given by . A good lattice code should have low
for a fixed . According to [9, 21], we have the following result for lattices good for coding.
Goodness of Lattices for Coding: A sequence of lattices indexed by their dimension is said to be good for coding if

for a target decoding error probability , where , VNR required to achieve the target approaches as goes to infinity (i. e., ); and

for a fixed , where , the decoding error probability vanishes exponentially in
that is greater than , vanishes exponentially in (i.e., ). )
Reference [22] showed such lattices exist.
We next examine the powerconstraint case to see how to choose a good shaping region. The (normalized) secondorder moment is a metric for the average power of a random vector uniformly distributed over a given shaping region, thus it measures how good the shaping region is. Among all dimensional bodies of a fixed volume, the body with the minimum normalized secondmoment is the Ndimensional sphere, denoted by . The normalized secondorder moment of the dimensional sphere decreases monotonically with and approaches the limit as [23, 9]. Thus, the optimal choice for the shaping region is the dimensional sphere denoted by [23, 9].
To introduce the notion of shaping loss, we consider a simple choice for the shaping region: the dimensional hypercube. It is wellknown that there is a shaping loss between the average powers of hypercube shaping and sphere shaping [23]. The hypercube is the fundamental Voronoi region of the lattice , and its normalized secondorder moment is , . Therefore, compared with the optimal sphere shaping, the shaping loss for the hypercube shaping is as . This (1.53 dB) shaping loss for the hypercube shaping dose not vanish as the SNR increases, and thus it is an undesired feature, especially in the high SNR regime [23].
To maintain the optimalities for both coding and shaping, [24] showed that a spherical lattice code (the intersection of a lattice good for coding with an dimensional sphere of radius ) can arbitrarily approach the channel capacity. Although the sphere region can maintain the shaping optimality, such spherical lattice code destroys the linear structure of the original coding lattice . Moreover, the optimal ML decoding for such spherical lattice code is not the lattice quantization anymore, because the ML decoding regions for codewords are not identical and some are not bounded. By contrast, in the unconstraint case, the lattice quantization used for ML decoding ignores the boundary of the code and preserves the symmetry of the lattice structure in the decoding process: it is much less complex as far as decoding is concerned. For practical implementation, it is desirable to preserve the linear structure of lattices both in the encoding and decoding processes.
Ref. [9] developed a lattice framework that can reliably transmit at rates up to the channel capacity. This framework is called nested lattice codes and its general idea is to make use of a nested pair of lattices , where the coarse lattice is used for shaping and the fine lattice is used for coding. We denote the fundamental Voronoi region of the coarse lattice by , and the volume of by . The nested lattice code is generated by taking the intersection of the fine lattice used for coding with the fundamental Voronoi region of the coarse lattice used for shaping: . The coding rate of the nested lattice code is
Fig. 3 illustrates an example for the codebook of a nested lattice code, where the dimension is and (thus, ). We state the following result for the goodness of lattices for shaping.
Goodness of Lattices for Shaping^{1}^{1}1In lattice literature, this feature is also termed as the goodness of lattices for MMSE quantization.: A sequence of lattice is good for shaping if . Such lattices exist as shown in [25].
It is known that the normalized secondorder moment of a lattice is always larger than , the normalized secondorder moment of a sphere with infinite dimensions. The goodness of lattices for shaping indicates that as the dimensions become sufficiently large, there are lattices whose fundamental Voronoi region approach a sphere as their normalized secondorder moments go to . Therefore, such lattice is asymptotically optimal for shaping in terms of that its normalized secondorder moment approaches . The authors of [21] showed that nested pair of lattices , where the coarse lattice is good for shaping and the fine lattice is good for coding, exist for any required rate. Therefore, based on such nested pair of lattices , the channel capacity can be potentially be achieved in all SNR regimes. However, before that, there are still two important ingredients of nested lattice codes: the dithering operation and minimum mean square error (MMSE) scaling at the encoding and decoding processes. We now give the complete description for the encoding and decoding processes of nested lattice codes [9].
Encoding and Decoding Processes of Nested Lattice Codes:

Encoding: First, the message is mapped to a codeword , where is the messagetocodeword mapping function, the codeword belongs to the codebook of the used nested lattice code . Then, the transmitted vector is generated according to
(2) where is the dithering vector that is uniformly distributed over the shaping region . The dithering vector is known at both of the encoding and decoding processes.

Decoding: The estimate for the transmitted codeword is computed according to
(3) where is the channelgainnormalized received vector, is the MMSE coefficient used to scale the channelgainnormalized received vector before sending it to the lattice quantizer for decoding.
The above encoding and decoding processes of nested lattice codes are illustrated in Fig. 4. The dithering operation in (2) can ensure that the distribution of is the same as that of (c.f. Lemma 1 of [9]). Therefore, as long as the used shaping lattice is scaled to have the secondorder moment , the power of the transmitted vector of symbols is . Furthermore, if the shaping region approaches a sphere as , will have white Gaussian distributions, as desired by Shannon theory. The use of MMSE scaling in (3) plays an important role for the purpose of achieving the channel capacity, especially in the low SNR regime. Please see [9] for more details about the MMSE scaling. In [9], it was proved that the lattice quantizer decoding in (3) suffices to be optimal. We end this preliminary on nested lattice codes here. The reader is referred to [9] for further details. In conclusion, with nested lattices codes, the channel capacity can be achieved in all SNR regimes. In the next section, employing nested lattice codes, we will present a framework for achieving the capacity pair of the ratediverse wireless network coding.
IiiB Nested Lattice Framework for Achieving Capacity Pair
Consider the ratediverse network coding problem. The two users have different channel qualities, thus different channel capacities. As a consequence, the codes operating at different channels have different rates. To develop two nested lattice codes with different rates, we employ two nested pairs of lattices , , where the two different fine lattices and are used for the coding of user A and B respectively, the same coarse lattice is used for the shaping. The corresponding two nested lattice codes are , . We employ , in our nested lattice framework to achieve the capacity pair of the ratediverse network coding problem.
The proposed encoding scheme at the transmitter of BS first maps the messages , into the codewords: , , where , , and , are the messagetocodeword mapping functions for codes , . Then, we perform the network coding operation over the codewords to form the networkcoded codeword
(4) 
Finally, like nested lattice codes for pointtopoint channels, we perform dithering operation to generate the vector of channel symbols
(5) 
Since , the distribution of is still a uniform distribution over the shaping region (the same as the dithering vector ). Thus, if approaches a sphere as the grows, the transmitted vector will look like a white Gaussian noise. This satisfies the requirement on the channel inputs by Shannon theory. Using the distributive law of the modulo arithmetic, the operations (4) and (5) can be combined into
(6) 
Based on the expression in (6), we illustrate the proposed encoding scheme for ratediverse wireless network coding in Fig. 5.
The decoding process at the receiver of user A, , performs the following steps in sequence: the network decoding (the substruction of its sideinformation), the scaling and dedithering, and the lattice quantization with respect to the coding lattice . Thus, the estimate for the target message of user A is given by
(7) 
where is the MMSE coefficient for user A. User B performs a similar decoding process. The decoding processes for ratediverse wireless network coding are also illustrated in Fig. 5.
Substituting the received vector at the user A, , into (7) and making some manipulations give
(8) 
where that is the vector of virtual pointtopoint channel symbols obtained by performing singleuser encoding on message using nested lattice code designed for user A, and is the equivalent channel model for user A after the network decoding operation,
In (8), we can see that the equivalent channel left for user A, , is the same as a pointtopoint singleuser channel where message is conveyed by vector . We also note that the decoding operation for ratediverse wireless network coding expressed by (8) has the same form as the decoding operation in a pointtopoint singleuser channel expressed by (3). Compared to the pointtopoint singleuser channel from BS to user A, the SNR of the equivalent channel is still (i.e. the SNR is not reduced in the ratediverse wireless network coding case). In this sense, user B is totally transparent to user A. Therefore, if the used nested pair is good for shaping and coding for the pointtopoint singleuser channel of user A, we can achieve the channel capacity using nested lattice code . With the same decoding scheme, the same result holds for user B. Therefore, as long as nested pairs , are both good for shaping and coding, the above proposed encoding/decoding framework can achieve the capacity pair . Such nested pairs do exist and can be obtained using the construction method proposed in [26].
With the linear structured nested lattice codes, the above encoding/decoding framework is optimal for achieving the capacity pair of the ratediverse network coding. The framework brings out a general design principle for the encoding/decoding processes. The principle, referred to as the principle of virtual singleuser channels, can be stated as follows:
Principle of Virtual SingleUser Channels :

At the transmitter side, the encoding scheme performs coding for the two users separately, using the codes with different rates that matches with the capacities of their respective channels. The two codewords are then combined by a network coding operation.

At the receiver side, each user applies network decoding on the received signal so as to extract the signal containing only the desired codeword. The signal of the other user should be totally transparent to the user after the network decoding process. In particular, the remaining signal is exactly the same as that of a singleuser pointtopoint communication, including the effective signal strength and the effective noise thereof. Applying singleuser decoding to extract the desired message has performance exactly the same as that in conventional pointtopoint communication.
The above nestedlatticecode framework adheres to this design principle. As will be seen later, this principle can also be realized using other codes with simpler decoding algorithms.
Although the nestedlatticecode framework is optimal theoretically, its exact implementation faces many difficulties. In particular, the lattice quantization decoding, which searches the transmitted lattice point over the lattice space, has unaffordable complexity as the codeword length grows. For the existing lattice quantization decoding methods, the complexity increases exponentially with . There have been efforts to design practical lattice codes with implementable decoding algorithms [10, 27]. In the next section, we employ one of such codes, LDLC [10], to realize the design principle. In the section after that, we show that the same design principle can also be realized by BICM.
Iv Implementation of the Proposed Framework Using LDLC
We provide the background on LDLC in Section IV.A. We apply LDLC in our ratediverse wireless network coding framework in Section IV.B.
Iva Low Density Lattice Codes (LDLC)
As discussed in Section III, lattice codes use the points of a specific lattice as codewords (messages). The codewords of a lattice code are generated by , where is the codeword, is the generating matrix^{2}^{2}2We assume square LDLC generating matrices in this section. The results can be easily extended to nonsquare generating matrices., and is the integer message vector. LDLC is a type of lattice codes where the parity check matrix, defined as the inverse of the generating matrix , is sparse [10].
The number of nonzero elements in the th row (column) of is called the degree of the th row (column). The sparse structure of implies that the degrees of its all rows and columns are far less than . For LDLC, the nonzero elements of can adopt values in , in contrast to ordinary LDPC where the elements of are typically elements of a finite field.
In practice, the elements of the integer message vector only can be selected from some finite constellations, rather than the infinite . We denote the th element of the integer message vector by , where is a subset of integers. The coding rate of such LDLC is , where is the cardinality of .
In [10], Latin square LDLC were considered. Latin square LDLC are defined by imposing some restrictions to their parity check matrixes. For a Latin square LDLC, all rows and columns of have the same degree ; a sorted sequence of nonzero values, , is the generating sequence of ; the nonzero elements in one row or column of are with a change of positions and signs for different rows and columns. Given a generating sequence, the parity check matrix of a LDLC can be constructed using the proposed method in [10]. For example, is a generating sequence and
is the corresponding parity matrix of a LDLC with degree and dimension .
For communications over powerconstrained AWGN channels, only codewords within some shaping region can be chosen as the valid codewords. Directly transmitting codewords of LDLC without shaping will increase the average transmission power. Fig. 6 (a) illustrates this situation using an example. In Fig 6 (a), we generate a twodimensional lattice using the generating matrix . The black dots are the lattice points. The squares are the lattice codewords selected by , where for all . We have lattice points are selected as the codewords, and the coding rate thus is . Fig. 6 (a) also shows the nested lattice shaping region. From Fig. 6 (a), we can intuitively see that the codewords outside the shaping region will greatly increase the average transmission power.
To reduce the average transmission power, we must map all the codewords into the codewords that are within the shaping region. This shaping operation can be expressed by mapping integer message vectors to some other integer vectors , such that the obtained codewords lie within the shaping region. Note that may not be an element of anymore. We will describe how to perform shaping for LDLC in next subsection.
Due to the sparse structure of , a belief propagation (BP) algorithm can be used to decode the LDLC codeword at the receiver side. Given the parity check matrix , we can construct the factor graph that models the constraint imposed by LDLC encoding. Then, we derive the BP decoding as a message passing algorithm on the factor graph using the sumproduct rule [12]. Since the factor graph for LDLC contains loops, the BP algorithm will need to go through several iterations. Although the BP decoding algorithm is in general not optimal for lattice decoding, its linear complexity is its advantage over more complicated decoding in practice. Compared with BP decoding for LDPC, BP decoding for LDLC computes continuousvalued messages rather than discretevalued message; the check nodes of the factor graph force the summation of their incoming messages to integers with certain predefined range. For details on BP decoding for LDLC, we refer the readers to [10].
IvB Wireless Network Coding Using LDLC
We now apply LDLC to the ratediverse wireless network coding problem. The codewords , transmitted to user A and B are generated by applying LDLC encoding: , , where is the integer message vector of user , is the LDLC generating matrix of user . After network coding and lattice shaping, the transmitted codeword is . Note that the dithering vector in (6) usually is not used in real systems, and thus we do not consider it hereafter.
The lattices and generated by and are the coding lattice for user A and B, respectively. For shaping purposes, our optimal framework requires a coarse lattice that is simultaneously nested in the two coding lattices, i.e., , . The code rate for user A (B) is determined by the intersection between () and . The inverse matrices of and must be sparse to allow practical BP decoding. The generating matrices , , of such , , can be found as follows.
We first find an LDLC generating matrix using the construction method proposed in [10]. The inversion of is sparse. We call the basic generating matrix. Different coding rates are assigned to the two users by applying different constellations to the integer message vectors of the two users, i.e., , where integer is the th element of , is the constellation for , and is an integer parameter that determines the corresponding constellation size via . Note that, for the same user u, we may assign different constellations to different integer message element . To limit the average transmission power, we choose the shaping lattice as , where is an diagonal matrix. The th main diagonal element of , , is set to be the least common multiple (LCM) of and : . Finally, we choose the coding lattice for user as , where is an diagonal integer matrix whose th main diagonal element is set as . With the above setup, we can easily check that , are satisfied — the shaping optimality of the nested lattice framework for ratediverse wireless network coding is guaranteed.
Fig. 6 (a) and Fig. 6 (b) show examples for LDLC lattices with two dimensions () for users A and B, respectively. The black dots are the lattice points generated by the basic generating matrix . The squares in Fig. 6 (a) are the lattice codewords for user A selected by applying constellation to for all . The squares in Fig. 6 (b) are the lattice codewords for user B selected by applying constellation to for all . The code rates for users A and B are 2.32 and 1.59 respectively. In Fig. 6 (c), the red squares indicate the lattice codewords obtained by directly adding together the lattice codewords of user A in Fig. 6 (a) and that of user B in Fig. 6 (b) without shaping. From Fig. 6 (c), we can see that, without shaping, the average transmission power increases quite heavily compared with the singleuser case, due to the addition. Therefore, shaping is more crucial for the network coding case. The next question is how to perform the nested lattice shaping for ratediverse wireless network coding using the coarse lattice .
As long as the coarse lattice (equivalently, ) used for shaping is specified, the lattice shaping operation, , can be expressed as
(9) 
where , , is the coarse lattice point that is closest to . Substituting , and into (9), we have
(10) 
where with . The shaping operation in (10) is to map the networkcoded integer message vector to another networkcoded integer message vector , such that the resulting coding lattice point (the codeword ) lies within the fundamental Voronoi region of the shaping lattice.
The target of the shaping operation is to solve the quantization problem , which is equivalent to finding the integer vector
(11) 
Since the inverse of is still sparse, at first sight, we can also employ the BP algorithm developed for decoding LDLC to solve the shaping problem (11) approximately. However, [10] showed that the BP algorithm cannot give satisfactory shaping performance. The reason is that the distribution of the âeffective noiseâ (i.e., the deviation from ) in the shaping problem (i.e., the codeword ) is a uniform over the space of codewords, not a Gaussian distribution such as that of channel noise. Due to the uniform distribution, the probability of the codewords appearing at the boundaries of the Voronoi regions of the shaping lattice will not decrease with the distance between the codewords and the centers of the Voronoi regions. Therefore, the variance of the effective noise in the shaping problem is much larger than that in the decoding problem. The BP algorithm that iteratively and approximately solves the decoding problem fails to reduce the power of as a result.
Alternatively, [28] employed the Malgorithm to solve the shaping problem for LDLC in pointtopoint channels. For the shaping problem of LDLC in ratediverse wireless network coding, we also use the Malgorithm.
The Malgorithm is a sequential tree search algorithm [29]. To apply it to the shaping problem (11), we first perform QR decomposition on the LDLC parity check matrix , where is an orthogonal matrix and is a upper triangle matrix. Then, can be written as , where is a lower triangle matrix. Multiplying on both sides of , we have the following new check relationship:
(12) 
where is the codeword after the transformation by . Since is a lower triangle matrix, the check relationship (12) can be decomposed into check equations
(13) 
where is the th element of . The th check equation in (13) corresponds to the th row of (12). Originally, the shaping problem in (11) aims to minimize . Since and is an orthogonal matrix that will not change the power of , we now change our objective to minimizing to solve the shaping problem. The triangular structure of in (12) suggests that we can make use of a tree search method, such as the Malgorithm, over all possible vector to find the one that minimize the power of .
We consider a tree rooted at a dummy node. The nodes at the th level of the tree are labeled by different sequences of . We note that given a particular sequence , the sequence is also fixed due to (13). Each node is associated with a metric . The optimal ML tree search requires tracing all the paths on the tree. The number of possible paths on the tree increases exponentially with the depth of the level. Since the depth of the tree, the length of , is large for nontrivial lattice codes, this may incur huge computational complexities. Therefore, suboptimal algorithms with lower complexity, but with good performance, are needed to perform the tree search task for LDLC shaping. The suboptimal Malgorithm [29] starts the tree search at the root node, and visits the levels from the one to the next one. At every level of the tree, the Malgorithm just retains paths rather than all the possible paths, where is a design parameter. The node at the th level is a child node of its parent node at the th level, and the metric of the node is recursively computed as
(14) 
where
(15) 
is the th element of computed according to (13). We assume . Among all the paths reached at the th level, we just retain the paths that have the least values of the metric . Then, the search continues to the th level of the tree. After the search finishes visiting the leaf nodes of the tree, we obtain paths labeled by the sequence , and finally we select the one with the least metric value as the final estimate for .
At the receiver of user A, a network decoding operation first substracts the side information from the received signal: . Then, BP channel decoding is used to estimate . After that, the estimate for the target message is immediately obtained by the modulo operation , which can be performed in an elementbyelement manner: for all . We remark here that the use of the modulo operation for recovering () avoids the need to derive directly at the receivers.
We remark here that the original constellation of is ; after shaping, the constellation of is changed to . For the decoding of the unshaped LDLC, the receiver just considers the possible values of over . For the decoding of the shaped LDLC, the receiver needs to know the constellation of . Here, we can empirically choose a constellation for . Typically, for the shaping operation, the possible values of is bounded by for all , where is a small positive integer. For example, in our simulations of Section VI, we observed that . Therefore, we can expand the constellation of to and use it in the decoding.^{3}^{3}3 In practice, the transmitter of BS can embed in the packet being sent as metadata to facilitate the decoding by receiver.
Since the principle of virtual singleuser channels is satisfied, we predict that the performance of the above LDLC based ratediverse wireless network coding scheme is the same as that of a LDLC based singleuser pointtopoint scheme. Moreover, as will be elaborated in the next section, there is an additional shaping gain for the user with the lower data rate.
IvC Additional Shaping Gain for RateDiverse Wireless Network Coding Using LDLC
In the optimal lattice coding framework, the shaping operation employs a dithering vector to disseminate the transmission power over the whole shaping region, as indicated by (2) for the pointtopoint case and by (6) for the network coding case. The distribution of the dithering vector is a continuous uniform distribution. The distribution of lattice points is a discrete uniform distribution. The average power of the lattice points within a shaping region can be changed by varying the density of these lattice points. By increasing the density of the lattice points within the shaping region (piling more lattice points into the shaping region), the average power can approach its lower bound — the average power of a continuous and uniform random variable over the shaping region. After the shaping operation as in (2), the distribution of the codeword is the same as the dithering vector (a continuous and uniform random variable). Therefore, from a theoretical perspective, this dithering operation can reduce the transmission power of a nested lattice code. However, in practice, this dithering vector is not used in the coding process of real systems, since the generation and storage of the dimensional random vector will impose a large complexity on the system as grows.
Without dithering, we perform the shaping operation for network coding as . Due to the network coding operation, the lattice points of user A (B) behave somewhat like the dithering vector for user B (A). The density of the codewords, , will be the higher one between the densities of and . Therefore, compared with the pointtopoint case, the user with a lower data rate (lower density of its lattice points within the shaping region) achieves an additional shaping gain. We can demonstrate this additional shaping gain mathematically using a simple onedimensional lattice example.
Consider two onedimensional lattices: for user A and for user B. The shaping region is taken as , where we assume is a position even number for simplicity. As a consequence, the codewords of the nested lattice codes for users A and B are and respectively. The average powers of the codes for user A and B are and . After the operations of network coding and shaping: