Double-Layer Low-Density Parity-Check Codes over Multiple-Input Multiple-Output Channels

. We introduce a double-layer code based on the combination of a low-density parity-check (LDPC) code with the multiple-input multiple-output (MIMO) system, where the decoding can be done in both inner-iteration and outer-iteration manners. The present code, called low-density MIMO code (LDMC), has a double-layer structure, that is, one layer deﬁnes subcodes that are embedded in each transmission vector and another glues these subcodes together. It supports inner iterations inside the LDPC decoder and outeriterations between detectors and decoders, simultaneously. It can also achieve the desired design rates due to the full rank of the deployed parity-check matrix. Simulations show that the LDMC performs favorably over the MIMO systems.


Introduction
Multiple-input multiple-output (MIMO) transmission has been identified as one of the most practical methods to combat fading and to increase the capacity of wireless channels in the recent years [1][2][3].In order to ensure a desired quality of transmission, an outer error correction code can be employed additionally to decrease the occurring errors in imperfect channels.In this case, an appropriate lowdensity parity-check (LDPC) code [4][5][6][7] may be elegantly used for MIMO channels.Actually, the decoding of LDPC codes over MIMO channels can be well dealt with an iterative manner, where probabilistic information should be exchanged iteratively between MIMO detector and LDPC decoder.At the receiver, the detector has to calculate the maximum posteriori probability for each bit.One possible realization of this calculation is called sphere decoder [8].Much effort has been taken to reduce the complexity of the detection process by introducing constraints in space and/or time.A modified sphere decoder was proposed in [6], which sacrifices performance to reduce the complexity of detection.
The complexity of the MIMO detector depends on the number of bits mapped to a transmission vector (symbols) transmitted simultaneously via multiple antennas.In order to reduce its complexity, the low-density MIMO code (LDMC) was presented with the constraints for each transmitting vector [4,5,9].For an LDMC, the paritycheck matrix has to be divided into two layers.One layer defines subcodes which are embedded in each transmitting vector, and another glues these subcodes together.The goal of the double-layer structure is that the first layer reduces the complexity of the decoder, while the second layer has to be handed by an outer decoder.Unfortunately, the doublelayer structure of the original LDMC only supports the outeriterations and it cannot bolster the inner-iterations inside the decoder.This limits the performance and the flexibility of the decoding at the receiver.It seems that a systematic LDMC design that stands by both outer-iterations and inneriterations for double-layer decoder still remains an open problem.
In this paper, we introduce a novel double-layer decoder for a benefit of the LDMC design criterion over MIMO channels.One advantage of this structure is that the yielded parity-check matrix of an LDMC has full rank and hence can achieve the desired code rates.Another is that the present LDMC can be decoded with low complexity since it supports both inner-iterations and out-iterations at the receiver.
This paper is organized as follows.In Section 2, we introduce the LDPC coded MIMO channels.Some properties of the LDMC are presented for the benefits of the International Journal of Antennas and Propagation construction.Section 3 describes the conventional LDPC code with multiple parity-check (MPC) encoders.After that an LDMC based on the MPC encoder is designed in Section 4. Simulation results are given in Section 5. Finally, Section 6 concludes this paper.

System Model
At the output of the LDPC encoder, the encoded where each symbol x j is taken out of constellations A of size 2 Q .The sequence of constellation symbols is passed to the transmit filter, and then sent through M t transmit antennas.At the receiver, the detector has to calculate the maximum posteriori probability for each bit, and this probability will be passed to the LDPC decoder for iterative decoding.After a finite number of inneriterations in the LDPC decoder, hard decisions, which are the estimated codewords, are made at the decoder.Soft information from the LDPC decoder is then passed back to the MIMO detector to produce the updated probabilities.The loop between the LDPC decoder and the MIMO detector is called outer-iteration.
We consider a MIMO communication system with M t transmit antennas and M r receive antennas.The MIMO channel model is described as where y ∈ C Mr ×1 is the complex received signal vector, H ∈ C Mr ×Mt is the channel fading matrix with independent entries that are complex Gaussian distributed with zero mean and unit variance, N ∈ C Mr ×1 is the complex white Gaussian noise with variance σ 2 per dimension, x ∈ C Mt×1 is the complex transmitted signal vector that satisfies the component-wise energy constraint E(|x i | 2 ) = E s /M t , and the notation E s represents the total transmitted power.The channel information H is assumed to be known to the receiver but not the transmitter.Let b denote a set of M t Q − 1 transmitted bits, which exclude the kth bit b k while x(b, b k ) is a vector of M t components containing the symbols corresponding to b and b k .For a given received signal vector y, we perform the bitwise detection [10] to determine the posteriori probability of bit b k , for all k ∈ {1 ≤ k ≤ M t Q}, by calculating or its log-likelihood ratio where • 2 denotes the norm square of a vector, the subscript M → L denotes the message passed from the MIMO detector to the LDPC decoder, and L → M denotes the message from the LDPC decoder to the MIMO detector.
The remaining problem of this iterative decoding is the complexity of the MIMO detection.Next, we will show that the complexity of the MIMO detection can be reduced by introducing some constraints in the parity-check matrix of the LDPC codes, which are also called the LDMCs.
The LDMC is a kind of the linear block codes that can be described with a parity-check matrix H c of the size m × n, subject to the constraint H c x = 0.The LDMC parity-check matrix can be described by two layers with The first layer H g is a sparse parity-check matrix, and the second layer H e defines multiple independent subcodes.Each subcode corresponding to H e has a block length no more than M t Q.
As the aforementioned structure, each transmission vector carries M T Q bits.For the transmission, it has to be guaranteed that all bits of a subcode corresponding to H e should be transmitted within one transmission vector.Thus, each transmission vector b carries an embedded code corresponding to H e .The action of H g is to glue all embedded codes together.Since the matrix H g is sparse and the embedded codes corresponding to the paritycheck matrix H e define code constraints to each MIMO transmission vector, the overall-coding process is called the LDMC coding scheme or LDMC.
To enhance the performance of the LDMC coding scheme, we need to reduce the complexity of the MIMO detecting and the LDPC decoding in the combined MIMO transmission system, while keeping the overall data rate and the capacity approaching communication performance.As described, a straightforward approach is to embed constraints for the involved bits within one transmission vector.A simple constraint on several bits is a single parity-check (SPC) constraint.Namely, the matrix H e would become the parity-check matrix of an SPC code.Thus if we constraint the involved information bits in one SPC constraint, the overall possibility of detection is 2 MT Q−1 .Furthermore, if we constraint in q parity-check constraints embedded within one transmission vector, the overall possibility of detection will downscale to 2 MT Q−q .
In order to encode efficiently, a quasicyclic structure was proposed for the parity-check matrix of LDMCs [4,5].In the quasicyclic structure, the sparse matrix H g consists of cyclic-permutation matrices and zero matrices.Since the subcodes H e in transmission vectors are independent and should not be connected to each other, as shown in (4), the second layer H e consists of only identity matrices and zero matrices.Therefore, H e has no cyclic-permutation structure.Consequently, the flexibility of H e may be reduced, which results in many short cycles.Therefore, H e is only employed in the detection, not in the decoding.Since H g alone is too sparse to be applied in the iterative decoding, there is no inner iterations in the decoder in [5].Therefore, how to address the design of inner iterations in the LDMC is still a retained problem.In the next section, we will propose a simple LDMC to solve this problem.If an interleaver is inserted before each MPC encoder, an LDPC code can be constructed with larger girths [12].The parity-check matrix H c can be designed in columnwise or rowwise to avoid short cycles.In the next section, we will introduce a modified progress edge-growth algorithm (PEG) to construct H c see Algorithm 1.Each component matrix H i has row weight n j /r j in r i − s i rows, row weight n j /r j in the remaining s i rows.Also, it has column weigh one in n i columns and column weight zero in the remaining n − n i columns.The interleaver of the ith MPC encoder is constructed according to the structure of designed paritycheck matrix H i .

Theorem 1 (full-rank criteria). The parity-check matrices of LDPC codes on the basis of the MPC encoders are of full rank, and hence they can achieve the desired code rates.
Proof.If all the rows of the component parity-check H i are summed, respectively, a vector will be obtained with the first n i elements are ones and the remaining n − n i elements are zeros.Then it is obvious that any row of H c cannot be obtained by a linear combination of the other rows in H c .Therefore, we can get the desired code rate R = k/n.

Theorem 2 (low-complexity criteria). The encoding complexity of the LDPC code on the basis of the MPC encoders is upper bounded by M
i=1 (k i − r i ) and lower bounded by Proof.We evaluate the computation complexity of the encoding processing.There are three cases of encoding processing [13].If the ith component encoder generates (1) q = 0.
(2) y = Ø (3) for l = 0 do (4) arrange the check node degrees of the check node group g l in nondecreasing order 5) end for (6) for j = 0 to n − 1 do (7) if j ≥ n − m then (8) s c = {c j−(n−m) , . . ., c m−1 } \ y. (9) else (10) s c = {c 0 , c 1 , . . ., c m−1 } \ y. (11) end if (12) for k = 0 to M − 1 do (13) if k = 0 then (14) if j ≥ n − m then e 0 vj ← edge (c i , v j ), where e 0 vj is the first edge incident to v j .This edge corresponds to the "1" in the diagonal line of matrix H p .( 15) else e 0 vj ← edge (c i , v j ), where i = ( j + (r end if find out which check node group g i includes c i . end for (22) end for Algorithm 1: Modified PEG algorithm.the r i parity bits in parallel, the ith component encoder determines r i parity bits with k i − r i XOR operations.In this case, M i=1 (k i − r i ) XOR operations are required to obtain all the parity bits.The encoding processing is accomplished from the 1st MPC component encoder to the Mth MPC component encoder in M steps.If the ith component encoder generates the r i parity bits in serial, the ith component encoder determines r i parity bits serially with k i /r i −1 XOR operations.In this case, M i=1 ( k i /r i −1) XOR operations are required to obtain all the parity bits.Therefore, the encoding processing is completed from the 1st SPC encoder to the mth SPC encoder in m steps.If the encoding processing is a combination of the above-mentioned two cases, the International Journal of Antennas and Propagation complexity and encoding time is lower bounded by the parallel case and upper bounded by the serial case.

LDMCs Based on MPC Codes
To illustrate the double-layer structure of the LDMC, we propose a simple LDMC as an example in this section.
We consider a parity-check matrix H c given by where the subscript "T" denotes the transpose of the matrix.This is a parity-check matrix that corresponds to an LDPC code [d T and H e = H 3 .Therefore, we first obtain the parity bits [p 5 , p 6 ] from H 3 , then the parity bits [p 3 , p 4 ] from H 2 , and the parity bits [p 1 , p 2 ] from H 1 .The encoding processing of this code includes three steps as follows.
Step 1.Given the information bits [d 1 , d 2 , . . ., d 6 ], compute the parity bits [p 5 , p 6 ] based on the last two columns of the third parity-check matrix H 3 .
Step 2. Given the information bits [d 1 , d 2 , . . ., d 6 ] along with the yielded parity bits [p 5 , p 6 ] in Step 1, compute the parity bits [p 3 , p 4 ] based on the ninth column and the tenth column of the second parity-check matrix H 2 .
Step 3. Given the information bits [d 1 , d 2 , . . ., d 6 ] along with the previous parity bits [p 3 , p 4 , p 5 , p 6 ], compute the parity bits [p 1 , p 2 ] based on the seventh column and the eighth column of the first parity-check matrix H 1 .Now we transmit this code through a MIMO system with two transmit antennas and 8PSK modulation scheme.Each transmission vector carries 6 bits which results in 2 MtQ = 64 possibilities reflecting all bit possibilities.However, because of the parity-check constraints in H 3 , that is, where It is obvious that the first transformed layer H g is a sparse parity-check matrix and the second layer H e can generate two unconnected subcodes corresponding to We note that if we let T and H e = H 1 , in a similar way we calculate the parity bits [p 1 , p 2 ] from H 1 , then the parity bits [p 3 , p 4 ] from H 2 , and the parity bits [p 5 , p 6 ] from H 3 .Therefore, the equivalent constructions of this code can be described as the following.
According to the aforementioned LDMC construction based on three matrices {H i : i = 1, 2, 3}, the proposed design approach can be generalized with M block matrices

Theorem 3. The LDPC code on the basis of the MPC component encoder in (4) is an LDMC, where
with T and H e = H M .Generally, the first layer H g can be selected as T and the second layer H e can be selected as H e = H i , for all i ∈ {1, . . ., M}.
Proof.The present LDMC is a straightforward extending of the LDMC given in (5).Therefore, the proof of this theorem can be derived in a similar way, which is omitted for simplicity.
For simplicity, we consider the LDMC with T and H e = H M .We note that there are r M SPC constraints in the parity-check matrix H e that has row weight n M /r M in the first r M − s M rows and row weight n M /r M in the remaining s M rows.Each subcode H e involves q SPC constraints.We divide r m SPC constraints into r m /q separate subgroups.At the transmitter, each transmission vector involves one of the r m /q subgroups.Then the overall possibilities for the MIMO detection is downscaled from 2 MtQ to 2 MtQ−q .The larger q means the smaller complexity of the MIMO detection.Namely, let r m /q = n/n e , and then it is obvious that the larger n e implies the smaller complexity of the MIMO detection.Since n e ≤ M t Q, the optimal block length of the subcode is In addition, the parity-check matrix H c of the present LDMCs should satisfy the following two constraints: (1) the H p part of H c contains the lower triangular pattern; (2) in each column of H i , for all i ∈ {1, . . ., m}, of H c , there is only one "1" element.
The first constraint ensures that the present LDMC is linear encodable [14].The second constraint guarantees that the r i parity bits can be generated by the r i parity-check constraints, simultaneously, in the ith component encoder corresponding to the matrix H i [11][12][13].Observing two constraints, the parity-check matrix H c of the LDMC can be efficiently designed with the modified progress edge-growth (PEG) algorithm.
Remark 4. In the present algorithm, lines 1-5 and lines 20-21 are used to ensure that the parity-check matrix H i has row weight n i /r i in r i − s i rows and row weight n i /r i in the remaining s i rows, which are required for the design of parity-check matrix of an LDMC with a double-layer structure.Line 14 and line 17 are used to guarantee that H p is a lower triangular matrix, which is for the desired code rate.Since there is no interleaver in front of the first component encoder, line 15 is used to ensure that H 1 consists of identity matrices with the first r 1 − s i columns eliminated, as shown in (5).Due to this special structure, the LDPC decoding can be well performed with low complexity.
Remark 5. Since H c is obtained from the modified PEG algorithm, the girth of H c and H e can be enlarged, simultaneously [12].Therefore, the matrix H e can be used in both detection and inner iteration.Consequently, we can perform multiple out iterations between MIMO detector and LDPC decoder at the receiver.In each out iteration, the MIMO detection is performed once followed by a number of inner iterations of LDPC decoding.The decoding process is halted if the decoder converges to a valid code or a maximum number of iterations is reached.It is obvious that the proposed doublelayer LDMC is different from the quasicyclic LDMC [4], where the PEG algorithm is based on the permuted identity matrices.
The simulation results are in terms of the frame error rate (FER) with the iterative decoding.We make use of the QPSK modulation and the 16-QAM modulation transmissions over a 4 × 4 MIMO channels, as shown in Figures 1 and 2. Therefore, the block length of transmission vector is 8 with n e /L = 2.We simulate the proposed codes in two ways.For one hand, we perform 3 outer iterations and 50 inner iterations, shown in Figure 1, for both c 5 and c 6 .For another, we perform 50 outer iterations and no inner iteration.For a fair comparison, we have also simulated the original LDMCs with a minor modification in [5] which involves a parity-check matrix [5], is replaced with the matrix which involves 4 parity-check constraints of length 4. Each transmission vector of length 8 involves 2 SPC constraints.This modified code is denoted by c 0 .The performance curve of c 0 is illustrated with 50 outer iterations and no inner iteration.
It is shown in Figure 2 that three LDMCs, c 0 , c 5 , c 6 , can downscale overall possibilities of the MIMO detection from 2 8 to 2 6 .The proposed two codes c 5 and c 6 perform the similar performances as that of the original LDMC c 0 when no inner iteration is applied in the LDPC decoder.However, since the present LDMCs support inner iterations in the LDPC decoder, we can improve the performance of these codes by increasing several inner iterations in the LDPC decoder.

Conclusion
A double-layer structure LDMC is introduced with the LDPC decoder and the MIMO detector.It provides both inner iterations and outer iterations at the receiver, which gives more flexibility for detecting and decoding than that of the original LDMC.The advantage of the double-layer LDMC is that the parity-check matrix has the full rank to achieve the desired code rate, which can be efficiently employed in a modified PEG algorithm.The present LDMC also reduces the complexity of the MIMO detection due to the lowdensity of the parity-check matrix.Simulations show that the performance of the LDMC is enhanced with the increasing inner iterations in the LDPC decoder.

Figure 1 :
Figure 1: FER performances of the proposed LDMCs c 5 and c 6 with QPSK modulation.

Based on Multiple Parity-Check Codes
, k i , and r i denote code length, information length, and parity-check length of the ith MPC component code, respectively.The encoder of the ith MPC component code can be implemented as r i SPC encoders.The matrix cells of the ith encoder are filled in column-wise order.The first r i −s i cells, with s i = k i mod r i , are unused.The parity bit p j is calculated by XORing the elements of the row, which is stored in the last column, at the same row.We obtain a parity-check matrix H i for the ith component code, consisting of a row of n i /r i identity matrices of size r i × r i , and the first r i − s i columns are shortened.The yielded matrix H i forms a blockrow of the parity-check matrix H c of the M-SC-MPC code.The M-SC-MPC code has information length k = k 1 , paritycheck length m = M i=1 r i and the code length n = k + m can be viewed as LDPC codes.
MT Q−1 = 32 possibilities.Therefore, the present LDPC code is an LDMC in essence.In this code, the first layer that glues the subcodes is H g and the second layer that defines the subcode is H e = H 3 .Note that we can transform H e into the diagonal form by column permutations, which results in the parity-check matrix ⊕ denotes the XOR operation, we can divide the code word into two transmission vectors, that is, [d 3 , d 5 , p 1 , p 2 , p 4 , p 5 ] and [d 1 , d 2 , d 4 , d 6 , p 3 , p 6 ].Each transmission vector contains one parity-check constraint.This results in 2