I Introduction
Lattice codes are appealing for high data rate communications, because they can achieve both high coding gain and high shaping gain. Construction D lattices [1] are based on nested binary linear codes and can be regarded as multilevel codes [2]. If lattices are to be widely used in future communications systems, Construction D lattices using binary lowdensity paritycheck (LDPC) codes are an extremely likely candidate, because many communication standards have recently adopted binary LDPC codes for error correction in the physical layer. A particularly important class of LDPC codes are quasicyclic (QC) LDPC codes [3] that have been included in various IEEE 802related standards such as: 802.11n, 11ad, 15.3c, 16e and 22, because of their excellent errorrate performance in noisy channels and efficient hardware implementation.
Recently, Branco da Silva and Silva solved an important problem, giving efficient encoding and decoding algorithms for Construction D lattices using LDPC codes [4]. For lattice design, they used the
equalerrorprobability rule
to design binary LDPC codes by an extended progressive edge growth (PEG) algorithm that includes checknode splitting. Their multistage decoding algorithm has linear complexity and uses beliefpropagation (BP) binary decoders. Singlelevel Construction A lattices using QCLDPC codes are proposed in [5], but since all the higher levels are uncoded, the errorrate performance quickly degrades as the block length increases.In this paper, we use the balanceddistances rule to design underlying codes to form Construction D lattices. The lattice coding gain can be maximized by designing the underlying codes with appropriate minimum Hamming distances. Rather than randomly constructing binary LDPC codes by checknode splitting [4], we use binary QCLDPC codes at the first encoding level and single paritycheck (SPC) product codes at the second level. One of our designs uses the QCLDPC codes from the IEEE 802.16e standard [6]. The minimum Hamming distance of these codes can be efficiently computed using their QC structure [7, 8].
Compared to generalized Construction D lattices [4], the proposed lattices are based on QCLDPC codes without using the PEG algorithm. Our lattice design uses the minimum Hamming distance of binary codes and does not require the simulationbased design of the equalerrorprobability rule. QCLDPC codes can be encoded with simple shift registers in linear time and efficiently decoded using partial parallelization. SPC product codes are simple and easy to implement. Simulation results show that the proposed lattice based on IEEE 802.16e QCLDPC codes performs competitively to the generalized Construction D lattice based on LDPC codes in [4] and the Construction D lattice based on polar codes in [9] over the powerunconstrained additive white Gaussian noise (AWGN) channel with respect to the blockerror rate.
Ii Background
Iia QCLDPC Codes
An LDPC code is a linear block code given by the null space of a sparse paritycheck matrix . If consists of
square submatrices that are either circulant permutation matrices (CPMs) or the zero matrix, the code can be characterized as a QCLDPC code with circulant size
. The paritycheck matrix of a QCLDPC code with code length and redundancy can be represented by(1) 
where , , , represents a
CPM, which is a cyclic shift of the columns of the identity matrix to the right
times; denotes the zero matrix. In the following, , where denotes the transpose of its argument, will denote a binary QCLDPC code with minimum Hamming distance . The code rate is lowerbounded by , with equality when is full rank.IiB SPC Product Codes
A twodimensional product code [10, Sec. 3.5] with code length can be constructed from a rectangular array in which every row and column are codewords of two binary linear block codes of length and , respectively. Consider both component codes to be binary SPC codes, of which each codeword consists of or information bits and one paritycheck bit. Then the product code formed from the SPC component codes is an SPC product code. A codeword of the SPC product code consists of four parts: information bits, paritycheck bits for the rows, paritycheck bits for the columns and one paritycheck bit for the row (or column) paritycheck bits. A paritycheck matrix of an SPC product code is given by
(2) 
where is divided into two parts: and that each contains a single one in each column. The top part , which consists of identity matrices of size , denoted by (), represents parity checks on the columns of the product code. The bottom part , which consists of submatrices denoted by (), represents parity checks on the rows of the product code. The submatrix has contiguous ones in its th row and zeros elsewhere. This results in a “staircase” block row as follows:
(3) 
In addition, the check on the checks of the SPC product code is contained in both and , which leaves one redundant row in . This results in having rank . In the following, will denote a binary SPC product code with code rate and minimum Hamming distance .
IiC Construction D Lattices
Construction D converts a set of parity checks defining a family of nested binary linear codes into congruences for a lattice. Let be a family of nested binary codes, where is an code of length , dimension and minimum Hamming distance for . Let
be linearly independent vectors in
such that for , with rate is defined by the paritycheck matrix(4) 
Note that because , , , and . Then the Construction D lattice is defined by
(5) 
where denotes the set of integers. The volume of the Voronoi region for an dimensional Construction D lattice is given by
(6) 
The squared minimum Euclidean distance between any two points in the lattice is the squared minimum distance . Then the lattice coding gain is given by
(7) 
IiD Design for Construction D Lattices
There are three approaches that have been used to design multilevel Construction D or D lattices recently [2]: 1) The capacity rule was used for designing the polar lattices [9]: the component code rate is chosen equal to the capacity of the channel at each coding level , . 2) The equalerrorprobability rule was used for designing the LDPC lattice [4]: the underlying binary codes should have an analytic expression for their error probability, and the codes are chosen in such a way that the error probabilities of the channels or their bounds are equal. 3) The balanceddistances rule is based on the squared minimum Euclidean distance in signal space. This rule is satisfied by wellknown lattices such as the BarnesWall lattice.
The balanceddistances rule used in this paper provides that for Construction D lattices at each encoding level , the minimum Hamming distance of the component code should satisfy
(8) 
From the bound on the squared minimum distance of Construction D lattices given in [11, Th. 3.1], for a commonly used twolevel construction, of the lattice given by Construction D is bounded by
(9) 
from which is no greater than for . To achieve the upper bound of , we set in (8), which results in for and for . This will be our code design objective.
IiE Encoding and Decoding for Construction D Lattices
We use the encoding and decoding algorithms with complexity for Construction D lattices described in [4]. Sequential encoding modifies the congruence of Construction D lattices from a zero vector to the syndrome vector of the previous encoding level. Since the underlying component codes are binary LDPC codes, one can easily modify the efficient encoding algorithm of [12] by appending the syndrome vector to the approximately triangular paritycheck matrix of each component code at the left or right side. Then a dummy bit ‘’ is correspondingly added to each component codeword at the head or the tail, depending on the appended position of the syndrome vector. On the other hand, the decoding is a multistage decoding based on applying the sumproduct algorithm (SPA) in each level. Appending the syndrome vector to the paritycheck matrix in each encoding level makes no requirement of an efficient reencoding process for multistage decoding. The loglikelihood ratio of the dummy bit ‘’ is set to infinity, which indicates that the first or last bit of the component codeword is always equal to one.
Iii Proposed Construction D Lattices
In this section, using the balanceddistances rule, we propose twolevel Construction D lattices. The lattices are based on modified QCLDPC codes with for the firstlevel component code and SPC product codes with for the secondlevel component code . These binary linear codes and their paritycheck matrices are nested, which means that is contained in as a subcode and is a submatrix of . In contrast, a key property of [4] is that does not need to be a submatrix of .
Iiia Construction
First consider a QCLDPC code defined by the paritycheck matrix with circulant size as shown in (1). can be efficiently encoded by . Then to construct a lattice, we want to be nested with another binary linear code. Our inspiration is from the fact that a code can be naturally nested into by merging their paritycheck matrices.
For the proposed construction, should contain at least one block row consisting of nonzero matrices, i.e., for all . The firstlevel code is defined by a paritycheck matrix of the following form:
(10) 
where the block row is as shown in (3) with and . The resulting is a binary linear code, specifically it is a modified QCLDPC code with code length and parity checks. Hence, the code rate of is bounded as , where the left inequality is due to the appended rows in and the right inequality indicates that is rank deficient. Note that still has a QC structure, since the parity check described by each defines a cyclic code, for all . Furthermore, , since the appended cannot decrease the minimum Hamming distance. The secondlevel code , which contains , is defined by the paritycheck matrix
(11) 
which is a submatrix of . Compared to (2), although does not necessarily include identity matrices, defined by is still an SPC product code with code rate .
IiiB Design Example
In this subsection, we give a design example of the proposed Construction D lattices.
Example 1
Consider a regular QCLDPC code with circulant size , code length and parity checks. We start with a baseprototype matrix consisting of fifteen identity matrices, i.e., for and . We then replace the values of all by random numbers from and compute the corresponding minimum Hamming distance using the algorithm in [7, 8], until is obtained. The baseprototype matrix
(12) 
which defines a code with for , was obtained. Then we can obtain by expanding and append to generate . As a result, we form a Construction D lattice by two nested binary linear codes and , where is a modified with parameters , and is an SPC product code with parameters , . Thus from the balanceddistances rule, the constructed lattice has and coding gain .
Iv Lattices from IEEE 802.16e QCLDPC Codes
Iva IEEE 802.16e QCLDPC Codes
The IEEE 802.16e standard [6] provides a class of welldesigned QCLDPC codes. In the standard, several baseprototype matrices are used to generate QCLDPC codes of various lengths and rates. An is defined for the codes with length and circulant size . To generate codes of length , we can use the modulo operation
(13) 
to modify the right circulant permutations given by that are specified as entries in , for all , , and circulant size . From [8], the rate code of and is a good candidate for our lattice construction, since .
IvB Modification to IEEE 802.16e QCLDPC Codes
We proposed to construct by appending the block row to the paritycheck matrix in Section III. However, using the IEEE 802.16e baseprototype matrix, it is not possible to form a single SPC product code for using the appended , because the baseprototype matrix does not contain one block row of nonzero matrices. Nevertheless, by modifying the baseprototype matrix it is possible to form two SPClike product codes. Then a concatenation of the two SPClike product codes can be used for . We intend to find block rows in the unmodified baseprototype matrix such that their sum can cover as many block columns as possible. The selected block rows should have a minimal overlap of CPMs.
The modification to the baseprototype matrix of rate codes is shown in Table I,
0  1  2  3  4  5  6  7  8  9  10  11  12  13  14  15  16  17  18  19  20  21  22  23  
0  1  94  73  1  1  1  1  1  55  83  1  1  7  0  1  1  1  1  1  1  1  1  1  1 
1  1  27  1  1  1  22  9  1  1  1  12  0  0  1  1  1  1  1  1  1  1  1  
2  1  1  1  24  22  81  1  33  1  1  1  0  1  1  0  0  1  1  1  1  1  1  1  1 
3  61  1  47  1  1  1  1  1  65  25  1  1  1  1  1  0  0  1  1  1  1  1  1  1 
4  1  1  39  1  1  1  84  1  1  41  72  1  1  1  1  0  0  1  1  1  1  1  1  
5  1  1  1  1  46  40  1  82  1  1  1  79  0  1  1  1  1  0  0  1  1  1  1  1 
6  1  1  95  53  1  1  1  1  1  14  18  1  1  1  1  1  1  1  0  0  1  1  1  1 
7  1  11  73  1  1  1  2  1  1  47  1  1  1  1  1  1  1  1  1  0  0  1  1  1 
8  12  1  1  1  83  24  1  43  1  1  1  51  1  1  1  1  1  1  1  0  0  1  1  
9  1  1  1  1  1  94  1  59  1  1  70  72  1  1  1  1  1  1  1  1  1  0  0  1 
10  1  1  7  65  1  1  1  1  39  49  1  1  1  1  1  1  1  1  1  1  1  0  0  
11  43  1  1  1  1  66  1  41  1  1  1  26  7  1  1  1  1  1  1  1  1  1  1  0 
where the appended block row consisting of , , can be expanded to a submatrix of the form in (3). We selected the block rows , , and to be modified by replacing four specific zero matrices (for which ) with the four CPMs: , , and . To remove overlap of CPMs in one block column among the selected block rows, a CPM is replaced with a zero matrix denoted by . To ensure that is free of cycles of length , we do not reuse any existing or repeated value for these right circulant permutations. For rate codes with , by random search, the selection , , and for the four specific right circulant permutations mentioned above gave the lowest error rate for the modified . Furthermore, by using the algorithm from [7, 8], we found that the minimum Hamming distance of the modified was increased to .
IvC Lattice from Modified IEEE 802.16e QCLDPC Codes
For , we use the modified given in Table I with resulting in a modified with . For , we add block rows and and block rows and of the modified and then append the block row . The summations of block rows shown in Table II do not result in an SPC product code because of the double CPMs of weight .
0  1  2  3  4  5  6  7  8  9  10  11  12  13  14  15  16  17  18  19  20  21  22  23  

12  27  1  1  83  ^{a}  ^{a}  1  1  1  ^{a}  0  0  1  1  1  1  0  0  1  1  
1  1  ^{a}  65  1  1  84  1  39  ^{a}  72  1  1  1  1  0  0  1  1  1  0  0  

denotes a double CPM of weight .
However, the resulting is the concatenation of two SPClike product codes, has and can be decoded using BP decoding. As a result, the underlying code is encoded with parameters , ; is encoded with parameters , . For the constructed lattice , we have and .
V Simulation Results
To verify the contribution to the lattices of each component code described in Example 1 and Section IV without the effects of error propagation, we evaluated the component codes separately from the lattice. These component codes were used over an additive mod
Gaussian noise (AMGN) channel with noise variance
. Then we evaluated the errorrate performance of the lattices constructed by these nested component codes over the powerunconstrained AWGN channel. In the simulation, SPA decoding was performed in each stage for a maximum of iterations. The blockerror rate for each component code is a function of the signaltonoise ratio defined as . The blockerror rate for the lattice is a function of the volumetonoise ratio defined as(14) 
Fig. 1 shows the blockerror rates of two sets of component codes and the Construction D lattices based on these binary codes.
For the set, the errorrate performance of the constructed lattice is dominated by the firstlevel component code . This is so because the errorrate performance gap between the curves for and is always less than , which is the difference in noise variance between the channels at the first and second encoding level. For the set, the performance gap between the curves for and is at an error rate of . Above this error rate, the performance of the constructed lattice is dominated by ; below this error rate, performance is dominated by .
Then we compared the errorrate performance between the proposed lattice based on a modified IEEE 802.16e QCLDPC code and a concatenation of two SPClike product codes (), a generalized Construction D lattice based on LDPC codes (; the simulation curve is extracted from [4]) and a Construction D lattice based on polar codes (; the simulation curve is extracted from [9]). These twolevel lattices were used over the powerunconstrained AWGN channel using multistage decoding. Fig. 2
shows that the proposed lattice performs comparably to the generalized Construction D lattice based on LDPC codes and looses about dB to the polar lattice. The loss in performance might be due to the increase in that does not strictly satisfy the balanceddistances rule, which affected the coding gain of the constructed lattice . However, decoding the proposed lattice has a low complexity with sparse paritycheck matrices; decoding the polar lattice has complexity . The proposed lattice also benefits substantially from the QC structure of the underlying component codes.
Vi Conclusion
We have proposed a twolevel Construction D lattice using binary QCLDPC codes and simple SPC product codes. Lattices constructed by these component codes can benefit substantially from their QC structure. The design criteria of the underlying component codes follow the balanceddistances rule. Under this rule, the component codes contribute in a balanced manner to the squared minimum distance of the constructed lattices. This results in a high coding gain for the lattices given by Construction D. We modified a rate QCLDPC code from the IEEE 802.16e standard. Simulation results show that the proposed twolevel Construction D lattice from the modified QCLDPC code performs competitively to a generalized Construction D lattice based on LDPC codes and a Construction D lattice based on polar codes in terms of blockerror rate for the Poltyrev scenario.
References
 [1] E. S. Barnes and N. J. A. Sloane, “New lattice packings of spheres,” Can. J. Math., vol. XXXV, no. 1, pp. 117–130, Feb. 1983.
 [2] U. Wachsmann, R. F. H. Fischer, and J. B. Huber, “Multilevel codes: Theoretical concepts and practical design rules,” IEEE Trans. Inf. Theory, vol. 45, no. 5, pp. 1361–1391, Jul. 1999.
 [3] M. P. C. Fossorier, “Quasicyclic lowdensity paritycheck codes from circulant permutation matrices,” IEEE Trans. Inf. Theory, vol. 50, no. 8, pp. 1788–1793, Aug. 2004.
 [4] P. R. Branco da Silva and D. Silva, “Lowcomplexity multilevel LDPC lattices and a generalization of Construction ,” in Proc. 2018 IEEE Int. Symp. Inf. Theory (ISIT), Jun. 2018, pp. 626–630.
 [5] H. Khodaiemehr, M.R. Sadeghi, and A. Sakzad, “Practical encoder and decoder for power constrained QC LDPClattice codes,” IEEE Trans. Commun., vol. 65, no. 2, pp. 486–500, Feb. 2017.
 [6] IEEE Standard for Local and Metropolitan Area Networks, Part 16: Air Interface for Fixed and Mobile Broadband Wireless Access Systems, Amendment 2: Physical and Medium Access Control Layers for Combined Fixed and Mobile Operation in Licensed Bands and Corrigendum 1, Std. IEEE Std 802.16e2005 and IEEE Std 802.162004/Cor 12005 (Amendment and Corrigendum to IEEE Std 802.162004), Feb. 2006.
 [7] E. Rosnes and Ø. Ytrehus, “An efficient algorithm to find all smallsize stopping sets of lowdensity paritycheck matrices,” IEEE Trans. Inf. Theory, vol. 55, no. 9, pp. 4167–4178, Sep. 2009.
 [8] E. Rosnes, Ø. Ytrehus, M. A. Ambroze, and M. Tomlinson, “Addendum to “An efficient algorithm to find all smallsize stopping sets of lowdensity paritycheck matrices”,” IEEE Trans. Inf. Theory, vol. 58, no. 1, pp. 164–171, Jan. 2012.
 [9] Y. Yan, C. Ling, and X. Wu, “Polar lattices: Where ArÄ±kan meets Forney,” in Proc. 2013 IEEE Int. Symp. Inf. Theory (ISIT), Jul. 2013, pp. 1292–1296.
 [10] W. Ryan and S. Lin, Channel Codes: Classical and Modern. Cambridge University Press, 2009.
 [11] M.R. Sadeghi, A. H. Banihashemi, and D. Panario, “Lowdensity paritycheck lattices: Construction and decoding analysis,” IEEE Trans. Inf. Theory, vol. 52, no. 10, pp. 4481–4495, Oct. 2006.
 [12] T. J. Richardson and R. L. Urbanke, “Efficient encoding of lowdensity paritycheck codes,” IEEE Trans. Inf. Theory, vol. 47, no. 2, pp. 638–656, Feb. 2001.
Comments
There are no comments yet.