<<

Encoding and Decoding Construction D’ Lattices for Power-Constrained Communications

Fan Zhou˚, Arini Fitri˚˚, Khoirul Anwar˚˚, and Brian M. Kurkoski˚ ˚School of Information Science, Japan Advanced Institute of Science and Technology ˚˚The University Center of Excellence for AICOMS, Telkom University

1 Abstract—This paper focuses on the encoding and decoding of of Λc is H G´ . To build a nested code, Λs Λc Construction D’ coding lattices that can be used with shaping “ nĎ must be satisfied [10, p. 179]; this holds iff H Gs Z [11, lattices for power-constrained channels. Two encoding methods Lemma 1]. To perform shaping, the mapping from¨ anP and a decoding algorithm for Construction D’ lattices are vector b to a lattice point x1 denoted x1 Gb Q Gb [11, given. A design of quasi-cyclic low-density parity-check (QC- “ ´ Λs p q LDPC) codes to form Construction D’ lattices is presented. This eq. (21)] for a shaping lattice quantizer QΛs , can be achieved allows construction of nested lattice codes which are good for as long as the b 0, 1,...,M 1 are selected with i P t i ´ u coding, good for shaping, and have low complexity encoding and Mi related to the diagonal elements of H and Gs. However, decoding. Numerical results of using E8, BW16 and Leech lattices the encoding and decoding method in [9] cannot be applied for shaping a Construction D’ lattice indicate that the shaping gains 0.65 dB, 0.86 dB and 1.03 dB are preserved, respectively. to non-hypercubical shaping. To tackle the above problem, the main contributions of this I.INTRODUCTION paper are as follows. We provide a definition of Construction Lattices are a natural fit for wireless communications be- D’ using check-matrix perspective, which is equivalent to cause they provide reliable transmission using real-valued the congruences perspective [12]. We propose two encoding algebra and higher transmit power efficiency than conventional methods and a decoding algorithm for Construction D’ suitable constellations. Lattices also form an important component for power-constrained channels. Encoding method A encodes of compute-and-forward relaying [1], which provides high integers with an approximate lower triangular (ALT) check throughput and high spectral efficiency. For power-constrained matrix. Encoding method B shows how binary information bits communications, nested lattice codes constructed by a coding are mapped to a lattice point using the check matrices of the lattice Λc and a shaping lattice Λs can achieve the additive underlying nested linear codes of a Construction D’ lattice. white Gaussian noise (AWGN) channel capacity [2], if Λc is We present a multistage successive cancellation decoding al- channel-good and the Voronoi region of Λs is hyperspherical, gorithm employing binary decoders. The re-encoding mapping using dithering and minimum mean-square error (MMSE) an estimated binary codeword to a lattice point is required scaling techniques. The shaping gain measures the power during decoding, and this is consistent with encoding method reduction, with a 1.53 dB theoretic limit. The well-known E8 B; these methods are distinct from [9]. lattice was employed for shaping Construction D lattices [3]. Motivated by [13], we also construct QC-LDPC codes to Lattices have also been used for shaping in [4]–[8], but never form Construction D’ lattices (termed LDPC code lattices), been used for shaping Construction D’ lattices. because QC-LDPC codes are widely used in recent wireless LDPC codes have been implemented in a wide variety of communication standards. A design of QC-LDPC code C0 with arXiv:2102.04741v1 [cs.IT] 9 Feb 2021 applications because of their capacity-achievability, efficient a parity-check matrix H0 is presented, where the position of encoding, low-complexity decoding, and suitability for hard- non-zero blocks is found by binary linear programming. A ware implementation. For these reasons, LDPC codes are also subcode condition C0 C1 must be satisfied to form a 2- suitable for constructing lattices. Recently Branco da Silva level Construction D’ lattice,Ď and this is not straightforward. and Silva [9] proposed efficient encoding and decoding for In [9], H0 was obtained from H1 by performing check Construction D’ lattices, particularly for LDPC codes. A splitting or PEG-based check splitting. In contrast to [9] we codeword and cosets of component linear codes are used design H0 and construct H1 from H0. Simulation results of to form systematic codewords for Construction D’ lattices. using well-known low-dimensional lattices for shaping a 2304- This encoding method naturally produces lattice points in a dimensional LDPC code lattice are given, and shaping gains hypercube. of E8, BW16 and Leech lattices can be preserved. However, hypercube does not provide shaping gain. A Notation A tilde indicates a vector or matrix which has shaping lattice Λs is needed to do so. Let G and Gs be the only 0s and 1s — x and H are binary while x and H are not generator matrix of Λc and Λs, respectively. The check matrix necessarily so. Operations over the real numbers R are denoted , while operations overr the binary field are denoted , . This work was supported by JSPS Kakenhi Grant Number JP 19H02137. r F2 The` ¨ matrix transpose is denoted t. Element-wise rounding‘ d This work is also the output of the ASEAN IVO project, PATRIOT-41R-Net, p¨q financially supported by NICT, Japan. to the nearest integer is denoted t s. ¨ II.CONSTRUCTION D’ are produced by check matrix H of nested linear codes. The An n-dimensional lattice Λ is a discrete additive subgroup decoding algorithm is then given in Subsection III-C. of Rn. Let a generator matrix of Λ be G with basis vectors A. Encoding Method A r in columns. For integers b Zn, a vector x is a lattice point P Near linear-time encoding of LDPC codes can be accom- given by x G b. This is equivalent to H x b, where plished using check matrix in the ALT form [14]. This idea “ ¨ 1 ¨ “ the check matrix is H G´ . inspired us to implement encoding of Construction D’ lattice “ n Consider nested linear codes C0 C1 Ca F Ď Ď ¨ ¨ ¨ Ď “ 2 Λ with a similar procedure. The steps are distinct from [14] for level a 1. Let an n-by-n matrix of row vectors because check matrix H of Λ is a real-valued square matrix. h h , . .ě . , h be denoted H h , h ,..., h t for j “ r 1 ns “ r 1 2 ns Integers b are provided, and the corresponding lattice point j 1, . . . , n. The parity-check matrix of C is H for “ i i x is found by solving: H x b. If H is not too big, then i 0, 1, . . . , a 1. The dimensionr of C is k n m , ¨ “ 1 i i i x can be found by matrix inversion: x H´ b. If H is “ ´ “ ´ “ ¨ where mi is the number of rows in Hi, from hki 1 torhn. ` large but is sparse and in the ALT form, as may be expected Construction D’ converts a set of parity-checks defining for Construction D’ lattices based on LDPC codes, then the nested linear codes into congruencesr for a lattice. following procedure can be used. Definition 1 (Construction D’ (congruences)): [12, p. 235] Suppose that H is in the ALT form, that is, it is partially n Let C0 C1 Ca F be nested linear codes. Let Ď Ď ¨ ¨ ¨ Ď “ 2 lower triangular. Specifically, H can be written as: the dimension of Ci be ki. Let h1, h2,..., hn be a basis for BT n such that C is defined by n k parity-check vectors H (2) F2 i i “ XC h ,..., h . Then the Construction´ D’ lattice is the set of „  ki 1 n where T is an s-by-s lower- with non-zero all vectors` x n satisfying the congruences: Z elements on the diagonal; X is a g-by-g square matrix. The P i 1 hj x 0 mod 2 ` , (1) "gap" is g—the smaller the gap, the easier the encoding. Let ¨ ” p q 1 1 for all i 0, . . . , a 1 and k 1 j n. ∆ X CT´ B ´ . The blockwise inverse of H is: P t ´ u i ` ď ď “ p ´ q Definition 2 (Construction D’ (check matrix)): Let a uni- ∆CT 1 ∆ 1 ´ (3) modular matrix H be the check matrix of nested linear codes H´ 1 ´ 1 1 1 n “ «T´ T´ B∆CT´ T´ B∆ff C0 C1 Ca F2 . The dimension of Ci is ki. ` ´ Ď Ď ¨ ¨ ¨ Ď “ i Using the block structure, H x b can be written as: Let D be a diagonalr matrix with entries d 2´ for j,j “ ¨ “ ki 1 j ki for i 0, 1, . . . , a where k 1 0 and ka n. x1 b1 ´ ă ď “ ´ “ “ . . Then the Construction D’ lattice is the set of all vectors x Zn . . P » fi » fi satisfying: H x are integers, where H D H is the lattice BT xg bg ¨ “ ¨ (4) check matrix. XC ¨ —xg 1ffi “ —bg 1ffi „  — .` ffi — .` ffi If H is unimodular, then the Construction D’r lattice Λ — . ffi — . ffi n 1 1 1 Ă — ffi — ffi . To see this, G H´ H´ D´ . Since H is — x ffi — b ffi Z — n ffi — n ffi unimodular, H 1 is integer.“ D “1 also is¨ integer, thus G is r ´ ´ To perform encoding, first–x1, . . .fl , xg –are foundfl using (3): an integer matrix. As a matter of design, after H to H r 0 ra 1 x ´ .1 are fixed, ther upper rows of H should be chosen such that H is . 1 . ∆CT´ ∆ b. (5) unimodular; it is also convenient to choose theser upperr rows » fi “ ´ ¨ x so that H is ALT form. Ther two definitions are equivalentr g “ ‰ Then, coordinates– xflg 1, . . . , xn are found sequentially by if the congruence (1) is expressed: hj1 x is an integer, for ` i 1 n ¨ back-substitution, using the lower triangular structure. For hj1 hj r2 ` and x Z . The“ volume-to-noise{ P ratio (VNR) is conventionally used i g 1, . . . , n: “ ` i 1 while measuring error-correction performance of lattices, and 1 ´ 2 n 2 xi bj hj,lxl (6) can be defined VNR V { Λ 2πeσ , where the volume “ h ´ “ p q{ j,i ˆ l 1 ˙ of an n-dimensional Construction D’ lattice is V Λ ÿ“ a´1 where j i g. an ki p q “ 2 ´ i“0 , so that VNR is the distance to the Poltyrev limit. This method“ ´ is efficient when g is small and H is sparse. It ř III.ENCODEAND DECODE CONSTRUCTION D’ uses pre-computation and storage of the g-by-g matrix in (5). The sum in (6) is performed over non-zero terms, so few Two equivalent encoding methods and a decoding algorithm terms appear for sparse H. If the parity-check matrix H is for Construction D’ lattices Λ are given in this section. The purely triangular, then encoding is simply performed by back- encoding describes explicitly the mapping from bits to a lattice substitution. point. The connection between a lattice point and the modulo- value of lattice component (in short, a codeword of binary B. Encoding Method B code Ci) makes it possible to decode using an optimal decoder Encoding can also be performed using information vectors ki n of Ci. Encoding method A finds a lattice point of Λ using ui F of Ci for i 0, 1, . . . , a and ua z Z . In this P 2 “ “ P its check matrix H. Encoding method B illustrates how bits method, we show explicitly how ui and corresponding integers are mapped to integers, and accordingly lattice components b are related to a lattice point x. a z xa 2 ya xa For clarity, consider a 3. The integers b are related to H xa z t s ¨ “ ¨ “ p u0, u1, u2 and z as: r 0.5

` bj u0j 2u1j 4u2j 8zj for 1 j k0 (7) ´ a 1 y1 “ ` ` ` ď ď ua 1 xa 1 2 ´ ya 1 a 1 xa 1 ua1 1 H xa 1 xa 1 ´ ´ ´ ´ ´ ´ ´ H xa 1 ua1 1 mod˚ Deca 1 ´ “ d b u 2u 4z for k j k (8) ´ ´ j 1j 2j j 0 1 ¨ “ ´ H xa 1 ua1 1 “ ` ` ă ď rp p ¨ ´ r“ rp ´ p b u 2z for k j k (9) r j “ 2j ` j 1 ă ď 2 r p p bj zj for k2 j n (10) “ ă ď 0.5 Let be the zero-padded version of , to have compo- ui1 ui n ` ´ u x 2 y1 y1 x x nents: 1 1 1 1 u1 H x1 1 H x1 u1 mod˚ Dec1 “ d ¨ “ H x1 u1 t rp p ¨ r“ rp p r u1 ui , ui , . . . , ui , 0,..., 0 (11) r i “ r 1 2 ki s CHANNEL 0.5 p p w n ki ` ´ y ´ u0 x0 1 x y y0 01 x0 u01 H x0 x0 H x u mod˚ Dec0 “ d 0 01 ` ` Then, the integer vector b is written as: ¨ “ H x0 u01 loomoon rp p ¨ r“ rp p r r b D u1 2u1 4u1 8z , (12) p p “ ¨ p 0 ` 1 ` 2 ` q Fig. 1. Block diagram of proposed encoding and decoding Construc- ˚ ˚ where D is given Definition 2. tion D’ lattices. mod denotes the "triangle-function" mod yi p q “ mod2 yi 1 1 where mod2 indicates a modulo-2 operation. For Construction D’, the lattice point x may be decomposed | p ` q ´ | as: a 1 a positions of u1 are 0s. Row l of Hi is equal to row l ki of H, x x0 2x1 2 ´ xa 1 2 xa, (13) i “ ` ` ¨ ¨ ¨ ` ´ ` call this row h . By definition, h x 0 and h x` 0 for with components x depending on u expressed below; x are l l ¨ i “ l d i “ i i i l 1, 2, . . . , n k . Thus, x modr 2 x and the propositionr not necessarily binary. i i i holds.“ ´ “ Now we describe how information bits are related to a lattice r Consider a lattice point x transmitted over a channel and point, and show that recovering integers from a lattice point r the received sequence is y x w, where w is noise. is possible. Using H x b, H D H and (12)–(13) we 0 Decoding proceeds recursively“ for `i 0, 1, . . . , a 1. The have ¨ “ “ ¨ decoding result at level i 1 is used before“ beginning´ decoding H x b r (14) at level . Given ´ , the decoder Dec produces a ¨ “ i yi1 0, 1 i 1 P r s H x D´ b (15) binary codeword xi closest to yi1 , which is an estimate of xi. ¨ “ ¨ a a It is necessary to find xi. If xi is not systematic, first find ui1 H x0 2x1 2 xa u1 2u1 2 z (16) “ 0 1 . Then re-encodingp is performed to find , that is, (17). ¨ p ` ` ¨ ¨ ¨ ` r q “ n ` ` ¨ ¨ ¨ ` H xi r xi r and the lattice components xi Z satisfy: Thisd estimated component x is subtracted from the input, and r P p ri p H xi ui1 for i 0, . . . , a 1 and (17) thisr p is divided over reals by 2: yi 1 yi xi 2 to form ¨ “ “ ´ r ` p y , which is passed as input to the next“ p level.´ Thisq{ process H xa z (18) i 1 p r ¨ “ continues` recursively, until y is obtained. The integers are Note that encoding performed using (17)–(18) is equivalent to a p estimated as x y . The estimated lattice point is written encoding methodr A in the previous subsection. a t as as x x 2x “ 2ax . “ 0 ` 1 ` ¨ ¨ ¨ ` a C. Decoding Construction D’ IV.p DESIGN LDPCCODE LATTICES p p p p The multistage decoding for Construction D lattices first Branco da Silva and Silva also addressed the design of introduced in [15] can produce an estimate of information bits multilevel LDPC code lattices [9]. Using row operations on ui from a binary decoder of Ci, and the estimated component the parity-check matrix H0 of the first level component code xi is obtained from ui by re-encoding xi Gi ui [16]. C , a parity-check matrix that has the desired row and column C “ ¨ 0 Anp optimal decoder of i provides low complexity decoding. degree distributions is obtained—the two check matrices both Recently multistage decoding similar to [15] and [16] was p p p p describe C0. In our work, QC-LDPC codes are designed using proposed for Construction D’ [9], including re-encoding steps binary linear programming to guarantee that the necessary to compute the cosets using estimate of lattice component of supercode can be constructed, as well as to satisfy the column all previous levels. and the row weight distribution. We propose a multistage successive cancellation decoding algorithm suitable for Construction D’ coding lattices to A. Construction D’ Lattices Formed by QC-LDPC Codes be used with shaping lattices, likewise employing a binary The parity-check matrix H0 is expressed as decoder Dec of C . The encoding and decoding scheme of p p p i i P 1,1 P 1,2 P 1,N this paper is shown in Fig. 1, where encoding method B is to p p ¨ ¨ ¨ p P 2,1 P 2,2 P 2,N demonstrate the validity of the decoding algorithm. » ¨ ¨ ¨ fi (19) H0 . . .. . , Proposition 1: For Construction D’, the lattice component “ . . . . — ffi x is congruent modulo 2 to a codeword x C , for i —PpM,1 PpM,2 PpM,N ffi i i P i “ — ¨ ¨ ¨ ffi 0, . . . , a 1. where Ppi,j is a Z-by-– Z matrix (or a circulant) correspondingfl ´ Proof: The lattice component x satisfies H x u1 to the element p of a prototype parity-check matrix. For i r ¨ i “ i i,j and the codeword satisfies H x 0. Recall the last n k p 1, instead use the all-zeros matrix. For p 0, P is i d i “ ´ i i,j “ ´ i,j “ r r r TABLE I PROTOTYPE MATRIX OF H0 WITHCIRCULANTSIZE Z 96 ANDBLOCKLENGTH n 2304. DENOTESADOUBLECIRCULANT. “ “ ˚ -1 -1 53 -1 15 56 -1 -1 55 35 -1 8 0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 26 -1 -1 51 -1 59 14 -1 16 -1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 18 -1 3 -1 -1 82 42 -1 33 -1 -1 -1 -1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 30 73 53 -1 49 -1 -1 8 -1 -1 -1 -1 -1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 -1 67 -1 15 84 -1 -1 -1 -1 -1 -1 -1 -1 3 -1 82 0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 71 83 34 -1 -1 -1 -1 -1 0 -1 -1 25 0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 8 27 87 -1 -1 -1 0 -1 -1 -1 -1 59 0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 91 -1 62 52 -1 -1 -1 0 -1 -1 6 0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 11 5 17 -1 -1 0 -1 -1 -1 -1 12 0 -1 -1 -1 -1 -1 2 43 53 -1 -1 -1 -1 -1 -1 -1 -1 -1 73 -1 -1 -1 -1 -1 34 0 -1 -1 54 -1 26 -1 -1 12 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 9 0 0 52 91 -1 -1 -1 -1 -1 -1 -1 38 -1 -1 13 -1 -1 -1 -1 -1 -1 -1 -1 -1 66 71˚ 0 {

TABLE II PROTOTYPE MATRIX OF H1 WITHCIRCULANTSIZE Z 96 ANDBLOCKLENGTH n 2304. DENOTESADOUBLECIRCULANT. “ “ ˚ 54 67 26 15 84 12 8 27 87 11 5 17 0 3 0 82 0 59 0 12 0 9 0 0 52 91 2 43 53 71 83 34 91 38 62 52 13 0 73 0 25 0 6 0 34 0 66 71˚ 0 { an identity matrix. And P is a right-shift cyclic-permutation butions, and the matrix should be in the ALT form to enable matrix for an integer 0 pi,j Z indicating the shift amount. efficient encoding. Binary linear programming can be used This paper proposesă two-levelă Construction D’ lattices to satisfy these constraints to provide a desired prototype based on QC-LDPC codes. The first level component code matrix [17]. C0 has an M-by-N prototype parity-check matrix while the Set up the programming problem by writing the M N ˆ second level component code C1 is a 2-by-N prototype parity- matrix as check matrix. The code C0 has a design rate 1 M N, and a1,1 a1,2 a1,N ´ { . . ¨ ¨ ¨ . C1 is a high-rate code—a column weight 2, row weight N A . . .. . , (22) “ » . . . . fi parity-check matrix is sufficient; column weight 2 was also a a a used in [13]. The code C is a subcode of C thus the prototype M,1 M,2 ¨ ¨ ¨ M,N 0 1 where a 0, 1 –is a binary variable and a fl 1 indicates matrix of C is a matrix obtained from linear combinations of i,j i,j 1 a non-zeroP block. t u The row weights are r r“, r , r a C prototype submatrix. Binary linear codes C and C , and 1 2 M 0 0 1 and the column weights are c c , c , “c t. There¨ ¨ are ¨ Mu their parity-check matrices H and H are nested. 1 2 N 0 1 row constraints and N column“ constraints: t ¨ ¨ ¨ u The parity-check matrix H1 does not provide good row and Row i has weight ri ai,1 ai,N ri column distributions if the rows were taken from H0, thus we ô ` ¨ ¨ ¨ ` “ (23) Col j has weight cj a1,j aM,j cj find H1 using linear combinations of rows in H0. Let the ô ` ¨ ¨ ¨ ` “ set A be block rows of such that their sum is a single for i 1,...,M and j 1,...,N . For one of the subcode q H0 P t u P t u block row of weight N and column weight 1, for q 1, 2. In constraints, we want rows from Aq to sum to a single block “ row with weight , so we add a constraint for : addition, A1 and A2 are disjoint. N q 1, 2 N “ The parity-check matrix H1 can be expressed as ai,j N (24) H1 “ H1 , (20) i Aq j 1 “ H1 Pÿ ÿ“ „ 2 Also, we want a constraint for the ALT form to force 1’s where H and H are the sum of block rows A and A , 1 21 1 2 along the offset-by-one diagonal with the constraint: respectively: M 1 p p p ´ H1 P k,1 P k,2 P k,N , (21) q ai,N M 1 i M 1, (25) “ r ¨ ¨ ¨ s ´ ` ` k Aq i 1 “ ´ àP “ for q 1, 2. Accordingly, H is a QC-LDPC matrix with in addition to anotherÿ constraint to force all-zeros above the “ 1 column weight 2. offset diagonal.

B. Binary Programming for Prototype Matrix Construction The goal is to find ai,j that satisfies the above conditions. This goal can be expressed using the following binary linear To form a two-level Construction D’ lattice using QC-LDPC program: codes, the two component binary codes are needed to satisfy the properties given in the previous subsection. One part of min ai,j (26) i j the design is to find the location of the non-zero circulants. ÿ ÿ The goal is to design a matrix, given several constraints: subject to t the subcode condition, row and column weight degree distri- K a r c NNM 1 0 , (27) ¨ “ ´ “ ‰ 100 100 R 2.4167,E8 lattice shaping R 8.3090, shaping “ “ R 3.4167,E8 lattice shaping R 8.2959,BW16 lattice shaping “ “ R 4.4167,E8 lattice shaping R 8.2993,E8 lattice shaping 1 “ “ 10´ R 2.4167, hypercube shaping 1 R 8.2993, hypercube shaping “ 10´ “ R 3.4167, hypercube shaping “ R 4.4167, hypercube shaping “ 2 10´ 2 10´

3 10´ 3 10´ Word Error Rate 4 Word Error Rate 10´ 4 10´

5 10´ 10 5 10 12 14 16 18 20 ´ 39 39.5 40 40.5 41 41.5

Eb N0, dB E N , dB { b{ 0

Fig. 2. Word error rate of shaping an n 2304-dimensional Construction D’ Fig. 3. Word error rate of shaping the 2304-dimensional Construction D’ “ lattice (formed by QC-LDPC codes) using E8 lattice shaping and hypercube lattice using E8, BW16 and Leech lattice shaping. Hypercube shaping was shaping. performed at a close code rate for comparison.

where K is a constraint matrix that includes all the constraints p12˚ ,23 such that H0 and H1 can be easily triangularized. This described in (23)–(25) and a is the vectorized version of A. provides efficient encoding and indexing [11]. Because this is a binary programming problem, for the set Aq, only one position will contain a 1 and the remaining Aq 1 positions will contain 0, in any column. The implementation| | ´ V. NUMERICAL RESULTS of this optimization problem is easily solved using standard optimization packages. The 2304-dimensional LDPC code lattice was evaluated on the power-constrained AWGN channel. The transmitted C. Resulting Design power can be reduced by Voronoi constellations using low- dimensional lattices, E8, BW16 and Leech lattices are con- Now we give a specific design of binary QC-LDPC codes C0 sidered in this paper. The direct sum of scaled copies (by and C1 for 2-level Construction D’ lattices. The check matrices a factor K) of a low-dimensional lattice produces a 2304- H and H are designed such that: 1) C C 2) H and H dimensional shaping lattice Λ adapted to the proposed LDPC 0 1 0 Ď 1 0 1 s are of full rank 3) H0 and H1 can be easily triangularized 4) code lattice Λc—K is chosen such that the two lattices satisfy H0 and H1 have girth as high as possible. Λ Λ , and thus form a nested lattice code to be used s Ď c To meet the design requirements, first we use the binary with dithering and MMSE scaling [2]. For more details about linear programming in previous subsection to find a binary shaping high-dimensional Λc using low-dimensional lattices, matrix A (22) with M 12 rows and N 24 columns, using see [5], [6]. Rectangular encoding and its inverse indexing degree distribution polynomials“ of variable“ nodes and check can be efficiently implemented [11]. By choosing various 1 5 2 1 3 1 5 2 5 1 6 we generated a variety of nested lattice codes with code nodes: λ x 3 x 12 x 8 x 8 x and ρ x 3 x 3 x , K p q “ ` d`1 ` d 1 p q “ ` respectively, where λdx ´ and ρdx ´ means λd and ρd rate R. For comparison, hypercube shaping was performed are the fraction of nodes with degree d. This structure is a where lattice points were transformed into a hypercube B “ modified version of [18, Table I]. The check matrix H is con- 0, 1,...,L 1 n for an even integer L. The belief propagation 1 t ´ u structed (20) with A 5, 7, 9, 11 and A 6, 8, 10, 12 . decoder of LDPC codes ran maximum 50 iterations. 1 “ t u 2 “ t u Using a circulant size Z 96, the prototype matrix as shown The same code rate for both E lattice shaping and hy- “ 8 in Table I can be generated by assigning p 1 for a 0 percube shaping can be easily achieved. The word error i,j “ ´ i,j “ and choosing the powers 1 p Z for a 1 such rate using K L 8, 16, 32 is shown in Fig. 2 as a ´ ă i,j ă i,j “ E8 “ “ that H0 and H1 are free of 4-cycles and 6-cycles, where H0 function of E N SNR 2R with conventional signal-to- b{ 0 “ { can be constructed using (19). The resulting H1 lifted from noise ratio (SNR), suggesting a shaping gain of 0.65 dB. Let Table II has degree distribution polynomials λ X X and K 280?2 and K 168?8, then BW and p q “ BW16 Leech 16 ρ X X23. The designed QC-LDPC codes C and C are Leech lattice“ shaping produce code“ rate approximately 8.2959 p q “ 0 1 of block length n 2304, with code rate k0 n 1 2 and and 8.3090, respectively, close to R 8.2993 of choosing “ { “ { “ k1 n 11 12, respectively. K L 472. Numerical results are given in Fig. 3. If we { “ { E8 The check matrix H of an LDPC code lattice can be then take account“ “ of the code rate differences, a 0.65 dB, 0.86 dB constructed from H0 and H1 using Definition 2. Note that we and 1.03 dB shaping gain is preserved respectively, as the full did not use offset diagonal and we assigned a double circulant shaping gain of E8, BW16 and Leech lattices. REFERENCES [1] B. Nazer and M. Gastpar, “Compute-and-forward: Harnessing inter- ference through structured codes,” IEEE Transactions on Information Theory, vol. 57, no. 10, pp. 6463–6486, October 2011. 1 [2] U. Erez and R. Zamir, “Achieving 2 log 1 SNR on the AWGN channel with lattice encoding and decoding,”p `IEEEq Transactions on Information Theory, vol. 50, no. 10, pp. 2293–2314, October 2004. [3] H. Buglia and R. R. Lopes, “Voronoi shaping with efficient encoding,” 2020, arXiv:2004.09680 [eess.SP]. [4] N. Sommer, M. Feder, and O. Shalvi, “Shaping methods for low-denisty lattice codes,” in Proc. Information Theory Workshop, 2009, October 2009, pp. 238–242. [5] N. S. Ferdinand, M. Nokleby, B. M. Kurkoski, and B. Aazhang, “Low-dimensional shaping for high-dimensional lattice codes,” IEEE Transactions on Wireless Communications, vol. 15, no. 11, pp. 7405–7418, November 2016. [6] N. di Pietro and J. J. Boutros, “Leech constellations of Construction-A lattices,” IEEE Transactions on Communications, vol. 65, no. 11, pp. 4622–4631, November 2017. [7] F. Zhou and B. M. Kurkoski, “Shaping LDLC lattices using convolu- tional code lattices,” IEEE Communications Letters, no. 4, pp. 730–733, April 2017. [8] H. Khodaiemehr, M.-R. Sadeghi, and A. Sakzad, “Practical encoder and decoder for power constrained QC LDPC-lattice codes,” IEEE Transactions on Communications, vol. 65, no. 2, pp. 486–500, February 2017. [9] P. R. Branco da Silva and D. Silva, “Multilevel LDPC lattices with efficient encoding and decoding and a generalization of Construction D’,” IEEE Transactions on Information Theory, vol. 65, no. 5, pp. 3246–3260, May 2019. [10] R. Zamir, Lattice Coding for Signals and Networks. Cambridge, UK: Cambridge, 2014. [11] B. M. Kurkoski, “Encoding and indexing of lattice codes,” IEEE Transactions on Information Theory, vol. 64, no. 9, pp. 6320–6332, September 2018. [12] J. H. Conway and N. J. A. Sloane, Sphere Packings, Lattices and Groups, 3rd ed. New York, NY, USA: Springer-Verlag, 1999, ISBN 0-387- 98585-9. [13] S. Chen, B. M. Kurkoski, and E. Rosnes, “Construction D1 lattices from quasi-cyclic low-density parity-check codes,” in 2018 IEEE 10th International Symposium on Turbo Codes & Iterative Information Processing (ISTC), Hong Kong, China, December 2018, pp. 1–5. [14] T. Richardson and R. Urbanke, “Efficient encoding of low-density parity-check codes,” IEEE Transactions on Information Theory, vol. 47, no. 2, pp. 638–656, February 2001. [15] A. Vem, Y.-C. Huang, K. R. Narayanan, and H. D. Pfister, “Multilevel lattices based on spatially-coupled LDPC codes with applications,” in 2014 IEEE International Symposium on Information Theory, Honolulu, HI, USA, June 2014, pp. 2336–2340. [16] T. Matsumine, B. M. Kurkoski, and H. Ochiai, “Construction D lattice decoding and its application to BCH code lattices,” in 2018 IEEE Global Communications Conference (GLOBECOM), Abu Dhabi, United Arab Emirates, December 2018, pp. 1–6. [17] W. Sułek, “Protograph based low-density parity-check codes design with mixed integer linear programming,” IEEE Access, vol. 7, pp. 1424–1438, 2019. [18] 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 Transactions on Information Theory, vol. 58, no. 1, pp. 164–171, January 2012.