Optimal Rate-Diverse Wireless Network Coding
This paper proposes an encoding/decoding framework for achieving the optimal channel capacities of the two-user 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 single-user non-broadcast channel capacities are also different. A goal is to simultaneously achieve/approach the single-user non-broadcast channel capacities of the two users with a single broadcast transmission by applying network coding. This is referred to as the rate-diverse wireless network coding problem. For this problem, this paper presents a capacity-achieving 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 rate-diverse wireless network coding going beyond the use of lattice codes. We refer to this design principle as the principle of virtual single-user 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 Bit-interleaved Coded Modulation (BICM). These two implementations demonstrate the validity and performance advantage of our framework.
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: Two-way 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 . 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 network-coded message and sends the network-coded message to the two users. Each user then decodes its desired message by subtracting the side information from the received network-coded message.
In this paper, we assume the channels from the base station to the two users are power-constrained 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 rate-diverse 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 network-coded message. Specifically, of concern are the following two questions:
What is the capacity region of rate-diverse 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 point-to-point single-user 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 point-to-point channel capacities, using a principle put forth by us, referred to as the principle of virtual single-user channels.
To achieve the optimal point of the capacity region for rate-diverse wireless network coding in power-constrained AWGN channels, we propose an encoding/decoding framework based on linear nested lattice codes . 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 rate-diverse wireless network coding based on linear codes. We refer to this design principle as the principle of virtual single-user channels. This principle indicates that there is no need to perform joint two-user encoding to achieve capacities. Separate channel coding before network coding at the transmitter, and single-user 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) . Although the nested lattice code is optimal in the sense of capacity-achieving, its lattice quantization decoding is not computationally feasible. LDLC is a type of lattice codes amenable to low-complexity belief propagation (BP) decoding [11, 12]. Using LDLC as components, our encoding/decoding framework for rate-diverse wireless network coding can be easily realized in practical systems.
This paper further illustrates the application of the framework using bit-interleaved coded modulation (BICM) , which has even lower implementation complexity than LDLC. BICM is already used in many practical point-to-point communication systems to approach capacity in the high signal-to-noise ratio (SNR) regime. BICM combines simple binary channel codes with high-order modulations to obtain different data rates in accordance with the SNR. This paper shows that applying the principle of virtual single-user channels allows both users to achieve their respective single-user point-to-point decoding performance in BICM-based rate-diverse 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 single-user 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 rate-diverse wireless network coding systems. This framework provides insight leading to a general design principle of using linear codes to achieve optimal rate-diverse network coding performance, referred to as the principle of virtual single-user 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 single-user performance bounds for the two users simultaneously.
I-a Related Works
Ref.  considered the use of linear codes to achieve the optimal point of the capacity region in finite-alphabet channels (channels with discrete outputs). By contrast, our paper here focuses on power-constrained additive white Gaussian noise (AWGN) channels, which corresponds more closely to the actual physical channel at the lower layer. The coding scheme in  is a solution for rate-diverse wireless network coding in power-constrained AWGN channels; since it only employs binary linear codes and BPSK modulation, it cannot achieve capacity in all SNR regimes.
The constellations proposed in  for noisy index coding can be also applied to rate-diverse wireless network coding. However, it aims to achieve the so-called side information gain but not to achieve the optimal capacity point.
To boost the performance of rate-diverse wireless network coding systems,  and  proposed two-user joint modulation schemes for non-channel-coded systems. However, these non-systematic designs for joint modulation schemes cannot achieve the optimal single-user 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 single-user point-to-point 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 network-coding decoding operation, is the lattice quantization operation with respect to the original single-user 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 sub-code of the original lattice code. Our scheme suggests a simple design principle for the two-user case: the principle of virtual single-user channels. This principle dictates that we should aim for a design in which the whole decoding problem can be reduced to two uncoupled single-user 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 single-user channel codes, including non-lattice 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 point-to-point single-user channel capacities simultaneously using structured codes is not obvious for rate-diverse wireless network coding in power-constrained 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 rate-diverse wireless network coding. Section IV describes the implementation of our encoding/decoding framework using LDLC. Section V proposes the BICM scheme for rate-diverse wireless network coding. Section VI provides simulation results. Section VII concludes this paper.
Ii System Model
We consider a network-coding 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 two-way relay channel based on physical-layer network coding ; and this is also a special case of index coding systems .
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 real-valued signal model. The extension to a complex-valued 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 path-loss effect:
where is a vector of i.i.d. mean-zero, variance- Gaussian white noise components, and is the channel gain that models the path-loss 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 data-rate 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 data-rate limits for the channel considered here. If we just focus on the point-to-point single-user 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 side-information at the two users, references [6, 7, 8] proved that as long as the date-rate 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 data-rate 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 data-rate pair (the capacity pair). Let us first consider the simple special case where the two channel gains are equal: . Now, the point-to-point channel capacities of the two channels are equal: , and the capacity pair becomes . For this rate-equal 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 bit-wise XOR operation. Then, the network-coded message is fed into a single-user channel encoder and modulator. At the receiver side of a user, a single-user decoding scheme can be used to obtain , and the estimated target message is given by the bit-wise XOR of and the side-information. As long as the data rate of the used encoding scheme can achieve the point-to-point single-user channel capacity , the above simple encoding scheme can also achieve the capacity pair for the rate-equal wireless network coding.
Of interest to our paper here is the general rate-diverse wireless network coding where and . How to achieve the capacity pair for the rate-diverse case is not as obvious as the rate-equal case. In , random coding is employed to derive the capacity region of the general probabilistic broadcast channel with side information at the users. Then,  considered the use of linear codes to achieve the optimal capacity pair for finite-alphabet channels (channels with discrete outputs). By contrast, our paper here focuses on power-constraint 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 rate-diverse wireless network coding. The design principle, referred to as the principle of virtual single-user channels, aims to transform the rate-diverse broadcast channel to two single-user channels states through encoding/decoding designs, thereby achieving the capacity pair which are basically the single-user 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 rate-diverse 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.
Iii-a 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 second-order moment of is defined as , where is a random vector uniformly distributed over . The normalized second-order 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 non-zero scalar, would remain the same). The above definitions of volume and (normalized) second-order 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 non-zero integer.
We now apply lattices to the coding problem. In this subsection, we consider a point-to-point single-user 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 mean-zero 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 .
The granularity of the coding lattice is represented by its fundamental Voronoi region . The volume determines the inter-codeword Euclidean distance, hence, it determines the decoding error probability.
The structure of the shaping region determines the power-volume 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 volume-to-noise 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  showed such lattices exist.
We next examine the power-constraint case to see how to choose a good shaping region. The (normalized) second-order 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 second-moment is the N-dimensional sphere, denoted by . The normalized second-order 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 well-known that there is a shaping loss between the average powers of hypercube shaping and sphere shaping . The hypercube is the fundamental Voronoi region of the lattice , and its normalized second-order 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 .
To maintain the optimalities for both coding and shaping,  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.  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 Shaping111In 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 .
It is known that the normalized second-order moment of a lattice is always larger than , the normalized second-order 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 second-order moments go to . Therefore, such lattice is asymptotically optimal for shaping in terms of that its normalized second-order moment approaches . The authors of  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 .
Encoding and Decoding Processes of Nested Lattice Codes:
Encoding: First, the message is mapped to a codeword , where is the message-to-codeword mapping function, the codeword belongs to the codebook of the used nested lattice code . Then, the transmitted vector is generated according to
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
where is the channel-gain-normalized received vector, is the MMSE coefficient used to scale the channel-gain-normalized 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 ). Therefore, as long as the used shaping lattice is scaled to have the second-order 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  for more details about the MMSE scaling. In , 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  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 rate-diverse wireless network coding.
Iii-B Nested Lattice Framework for Achieving Capacity Pair
Consider the rate-diverse 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 rate-diverse network coding problem.
The proposed encoding scheme at the transmitter of BS first maps the messages , into the codewords: , , where , , and , are the message-to-codeword mapping functions for codes , . Then, we perform the network coding operation over the codewords to form the network-coded codeword
Finally, like nested lattice codes for point-to-point channels, we perform dithering operation to generate the vector of channel symbols
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
The decoding process at the receiver of user A, , performs the following steps in sequence: the network decoding (the substruction of its side-information), the scaling and de-dithering, and the lattice quantization with respect to the coding lattice . Thus, the estimate for the target message of user A is given by
where is the MMSE coefficient for user A. User B performs a similar decoding process. The decoding processes for rate-diverse wireless network coding are also illustrated in Fig. 5.
Substituting the received vector at the user A, , into (7) and making some manipulations give
where that is the vector of virtual point-to-point channel symbols obtained by performing single-user 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 point-to-point single-user channel where message is conveyed by vector . We also note that the decoding operation for rate-diverse wireless network coding expressed by (8) has the same form as the decoding operation in a point-to-point single-user channel expressed by (3). Compared to the point-to-point single-user channel from BS to user A, the SNR of the equivalent channel is still (i.e. the SNR is not reduced in the rate-diverse 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 point-to-point single-user 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 .
With the linear structured nested lattice codes, the above encoding/decoding framework is optimal for achieving the capacity pair of the rate-diverse network coding. The framework brings out a general design principle for the encoding/decoding processes. The principle, referred to as the principle of virtual single-user channels, can be stated as follows:
Principle of Virtual Single-User 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 single-user point-to-point communication, including the effective signal strength and the effective noise thereof. Applying single-user decoding to extract the desired message has performance exactly the same as that in conventional point-to-point communication.
The above nested-lattice-code 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 nested-lattice-code 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 , 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 rate-diverse wireless network coding framework in Section IV.B.
Iv-a 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 matrix222We assume square LDLC generating matrices in this section. The results can be easily extended to non-square 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 .
The number of non-zero 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 non-zero 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 , 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 non-zero values, , is the generating sequence of ; the non-zero 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 . For example, is a generating sequence and
is the corresponding parity matrix of a LDLC with degree and dimension .
For communications over power-constrained 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 two-dimensional 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 sum-product rule . 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 continuous-valued messages rather than discrete-valued message; the check nodes of the factor graph force the summation of their incoming messages to integers with certain pre-defined range. For details on BP decoding for LDLC, we refer the readers to .
Iv-B Wireless Network Coding Using LDLC
We now apply LDLC to the rate-diverse 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 . 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 rate-diverse 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 single-user 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 rate-diverse 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
where , , is the coarse lattice point that is closest to . Substituting , and into (9), we have
where with . The shaping operation in (10) is to map the network-coded integer message vector to another network-coded 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
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,  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,  employed the M-algorithm to solve the shaping problem for LDLC in point-to-point channels. For the shaping problem of LDLC in rate-diverse wireless network coding, we also use the M-algorithm.
The M-algorithm is a sequential tree search algorithm . 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:
where is the codeword after the transformation by . Since is a lower triangle matrix, the check relationship (12) can be decomposed into check equations
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 M-algorithm, 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 non-trivial lattice codes, this may incur huge computational complexities. Therefore, sub-optimal algorithms with lower complexity, but with good performance, are needed to perform the tree search task for LDLC shaping. The sub-optimal M-algorithm  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 M-algorithm 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
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 element-by-element 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.333 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 single-user channels is satisfied, we predict that the performance of the above LDLC based rate-diverse wireless network coding scheme is the same as that of a LDLC based single-user point-to-point scheme. Moreover, as will be elaborated in the next section, there is an additional shaping gain for the user with the lower data rate.
Iv-C Additional Shaping Gain for Rate-Diverse 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 point-to-point 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 point-to-point 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 one-dimensional lattice example.
Consider two one-dimensional 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: