Construction D^' Lattices from Quasi-Cyclic Low-Density Parity-Check Codes

10/04/2018 ∙ by Siyu Chen, et al. ∙ JAIST Simula Research Lab 0

Recently, Branco da Silva and Silva described an efficient encoding and decoding algorithm for Construction D^' lattices. Using their algorithm, we propose a Construction D^' lattice based on binary quasi-cyclic low-density parity-check (QC-LPDC) codes and single parity-check product codes. The underlying codes designed by the balanced-distances rule contribute in a balanced manner to the squared minimum distance of the constructed lattice, which results in a high lattice coding gain. The proposed lattice based on IEEE 802.16e QC-LDPC codes is shown to provide competitive error-rate performance on the power-unconstrained additive white Gaussian noise channel.

READ FULL TEXT VIEW PDF
POST COMMENT

Comments

There are no comments yet.

Authors

page 1

page 2

page 3

page 4

This week in AI

Get the week's most popular data science and artificial intelligence research sent straight to your inbox every Saturday.

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 low-density parity-check (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 quasi-cyclic (QC) LDPC codes [3] that have been included in various IEEE 802-related standards such as: 802.11n, 11ad, 15.3c, 16e and 22, because of their excellent error-rate 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

equal-error-probability rule

to design binary LDPC codes by an extended progressive edge growth (PEG) algorithm that includes check-node splitting. Their multistage decoding algorithm has linear complexity and uses belief-propagation (BP) binary decoders. Single-level Construction A lattices using QC-LDPC codes are proposed in [5], but since all the higher levels are uncoded, the error-rate performance quickly degrades as the block length increases.

In this paper, we use the balanced-distances 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 check-node splitting [4], we use binary QC-LDPC codes at the first encoding level and single parity-check (SPC) product codes at the second level. One of our designs uses the QC-LDPC 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 QC-LDPC codes without using the PEG algorithm. Our lattice design uses the minimum Hamming distance of binary codes and does not require the simulation-based design of the equal-error-probability rule. QC-LDPC 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 QC-LDPC 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 power-unconstrained additive white Gaussian noise (AWGN) channel with respect to the block-error rate.

Ii Background

Ii-a QC-LDPC Codes

An LDPC code is a linear block code given by the null space of a sparse parity-check matrix . If consists of

square submatrices that are either circulant permutation matrices (CPMs) or the zero matrix, the code can be characterized as a QC-LDPC code with circulant size

. The parity-check matrix of a QC-LDPC 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 QC-LDPC code with minimum Hamming distance . The code rate is lower-bounded by , with equality when is full rank.

Ii-B SPC Product Codes

A two-dimensional 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 parity-check 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, parity-check bits for the rows, parity-check bits for the columns and one parity-check bit for the row (or column) parity-check bits. A parity-check 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 .

Ii-C 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 parity-check 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)

Ii-D 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 equal-error-probability 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 balanced-distances rule is based on the squared minimum Euclidean distance in signal space. This rule is satisfied by well-known lattices such as the Barnes-Wall lattice.

The balanced-distances 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 two-level 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.

Ii-E 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 parity-check 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 sum-product algorithm (SPA) in each level. Appending the syndrome vector to the parity-check matrix in each encoding level makes no requirement of an efficient reencoding process for multistage decoding. The log-likelihood 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 balanced-distances rule, we propose two-level Construction D lattices. The lattices are based on modified QC-LDPC codes with for the first-level component code and SPC product codes with for the second-level component code . These binary linear codes and their parity-check 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 .

Iii-a Construction

First consider a QC-LDPC code defined by the parity-check 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 parity-check matrices.

For the proposed construction, should contain at least one block row consisting of nonzero matrices, i.e., for all . The first-level code is defined by a parity-check 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 QC-LDPC 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 second-level code , which contains , is defined by the parity-check 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 .

Iii-B Design Example

In this subsection, we give a design example of the proposed Construction D lattices.

Example 1

Consider a -regular QC-LDPC code with circulant size , code length and parity checks. We start with a base-prototype 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 base-prototype 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 balanced-distances rule, the constructed lattice has and coding gain .

Simulation results of each component code and the constructed lattice in Example 1 are shown in Section V.

Iv Lattices from IEEE 802.16e QC-LDPC Codes

Iv-a IEEE 802.16e QC-LDPC Codes

The IEEE 802.16e standard [6] provides a class of well-designed QC-LDPC codes. In the standard, several base-prototype matrices are used to generate QC-LDPC 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 .

Iv-B Modification to IEEE 802.16e QC-LDPC Codes

We proposed to construct by appending the block row to the parity-check matrix in Section III. However, using the IEEE 802.16e base-prototype matrix, it is not possible to form a single SPC product code for using the appended , because the base-prototype matrix does not contain one block row of nonzero matrices. Nevertheless, by modifying the base-prototype matrix it is possible to form two SPC-like product codes. Then a concatenation of the two SPC-like product codes can be used for . We intend to find block rows in the unmodified base-prototype 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 base-prototype 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
TABLE I: Base-Prototype Matrix of the First-Level Component Code from IEEE 802.16e Rate- QC-LDPC Codes

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 .

Iv-C Lattice from Modified IEEE 802.16e QC-LDPC 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 .

TABLE II: Base-Prototype Matrix of the Second-Level Component Code

However, the resulting is the concatenation of two SPC-like 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 error-rate performance of the lattices constructed by these nested component codes over the power-unconstrained AWGN channel. In the simulation, SPA decoding was performed in each stage for a maximum of iterations. The block-error rate for each component code is a function of the signal-to-noise ratio defined as . The block-error rate for the lattice is a function of the volume-to-noise ratio defined as

(14)

Fig. 1 shows the block-error rates of two sets of component codes and the Construction D lattices based on these binary codes.

Fig. 1: Block-error rates of two sets of component codes and the Construction D lattices based on these codes. The set of codes are from Example 1. The set of codes are from a modified IEEE 802.16e QC-LDPC code. The component codes were individually used over the AMGN channel for different SNRs and the lattices were used over the power-unconstrained AWGN channel for different VNRs.

For the set, the error-rate performance of the constructed lattice is dominated by the first-level component code . This is so because the error-rate 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 error-rate performance between the proposed lattice based on a modified IEEE 802.16e QC-LDPC code and a concatenation of two SPC-like 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 two-level lattices were used over the power-unconstrained AWGN channel using multistage decoding. Fig. 2

Fig. 2: Block-error rates of two-level lattices used over the power-unconstrained AWGN channel with multistage decoding: the proposed lattice based on a modified IEEE 802.16e QC-LDPC code and a concatenation of two SPC-like product codes (), a generalized Construction D lattice based on LDPC codes (, curve extracted from [4]), and a polar lattice (, curve extracted from [9]). The Poltyrev limit which is at dB is also shown.

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 balanced-distances rule, which affected the coding gain of the constructed lattice . However, decoding the proposed lattice has a low complexity with sparse parity-check 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 two-level Construction D lattice using binary QC-LDPC 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 balanced-distances 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- QC-LDPC code from the IEEE 802.16e standard. Simulation results show that the proposed two-level Construction D lattice from the modified QC-LDPC 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 block-error 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, “Quasi-cyclic low-density parity-check 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, “Low-complexity 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 LDPC-lattice 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.16e-2005 and IEEE Std 802.16-2004/Cor 1-2005 (Amendment and Corrigendum to IEEE Std 802.16-2004), Feb. 2006.
  • [7] E. Rosnes and Ø. Ytrehus, “An efficient algorithm to find all small-size stopping sets of low-density parity-check 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 small-size stopping sets of low-density parity-check 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, “Low-density parity-check 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 low-density parity-check codes,” IEEE Trans. Inf. Theory, vol. 47, no. 2, pp. 638–656, Feb. 2001.