Abstract

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 defines 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.

1. 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 [13]. 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 low-density parity-check (LDPC) code [47] 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 parity-check 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 double-layer structure of the original LDMC only supports the outer-iterations 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 inner-iterations 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 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.

2. System Model

At the output of the LDPC encoder, the encoded bits, , are mapped into a group of constellation symbols , where each symbol is taken out of constellations of size . The sequence of constellation symbols is passed to the transmit filter, and then sent through 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 transmit antennas and receive antennas. The MIMO channel model is described as where is the complex received signal vector, is the channel fading matrix with independent entries that are complex Gaussian distributed with zero mean and unit variance, is the complex white Gaussian noise with variance per dimension, is the complex transmitted signal vector that satisfies the component-wise energy constraint , and the notation represents the total transmitted power. The channel information is assumed to be known to the receiver but not the transmitter.

Let denote a set of transmitted bits, which exclude the th bit while is a vector of components containing the symbols corresponding to and . For a given received signal vector , we perform the bitwise detection [10] to determine the posteriori probability of bit , , by calculating or its log-likelihood ratio where denotes the norm square of a vector, the subscript denotes the message passed from the MIMO detector to the LDPC decoder, and 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 of the size , subject to the constraint . The LDMC parity-check matrix can be described by two layers with The first layer is a sparse parity-check matrix, and the second layer defines multiple independent subcodes. Each subcode corresponding to has a block length no more than .

As the aforementioned structure, each transmission vector carries bits. For the transmission, it has to be guaranteed that all bits of a subcode corresponding to should be transmitted within one transmission vector. Thus, each transmission vector carries an embedded code corresponding to . The action of is to glue all embedded codes together. Since the matrix is sparse and the embedded codes corresponding to the parity-check matrix 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 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 . Furthermore, if we constraint in parity-check constraints embedded within one transmission vector, the overall possibility of detection will downscale to .

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 consists of cyclic-permutation matrices and zero matrices. Since the subcodes in transmission vectors are independent and should not be connected to each other, as shown in (4), the second layer consists of only identity matrices and zero matrices. Therefore, has no cyclic-permutation structure. Consequently, the flexibility of may be reduced, which results in many short cycles. Therefore, is only employed in the detection, not in the decoding. Since 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.

3. LDPC Code Based on Multiple Parity-Check Codes

Recently, Baldi et al. have proposed an LDPC coding scheme on the basis of multiple serially concatenated multiple parity-check (M-SC-MPC) codes [11]. This code offers flexible code rate and code length with low encoding complexity. Let , , and denote code length, information length, and parity-check length of the th MPC component code, respectively. The encoder of the th MPC component code can be implemented as SPC encoders. The matrix cells of the th encoder are filled in column-wise order. The first cells, with mod , are unused. The parity bit 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 for the th component code, consisting of a row of identity matrices of size , and the first columns are shortened. The yielded matrix forms a block-row of the parity-check matrix of the M-SC-MPC code. The M-SC-MPC code has information length , parity-check length and the code length can be viewed as LDPC codes.

If an interleaver is inserted before each MPC encoder, an LDPC code can be constructed with larger girths [12]. The parity-check matrix 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 see Algorithm 1. Each component matrix has row weight in rows, row weight in the remaining rows. Also, it has column weigh one in columns and column weight zero in the remaining columns. The interleaver of the th MPC encoder is constructed according to the structure of designed parity-check matrix .

(1)
(2)
(3) for do
(4)  arrange the check node degrees of the
  check node group in nondecreasing order
   .
(5)  end for
(6)  for to do
(7)  if then
(8)    .
(9)  else
(10)   .
(11)  end if
(12)  for to do
(13)   if then
(14)    if then
     edge , where is the first edge
   incident to . This edge corresponds to the “1” in
   the diagonal line of matrix .
(15)    else
     edge , where
    .
(16)    end if
(17)   else
   expand a subgraph from up to depth under
  the current graph setting such that
  but , or the cardinality of stops
  increasing, then edge , where is the
   th edge incident to and is a check node picked
  from the set having the lowest check-node
  degree.
(18)   end if
(19)   if the degree of equals then
    Add into .
     .
     .
(20)   end if
    find out which check node group includes .
    .
(21) end for
(22)  end for

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 are summed, respectively, a vector will be obtained with the first elements are ones and the remaining elements are zeros. Then it is obvious that any row of cannot be obtained by a linear combination of the other rows in . Therefore, we can get the desired code rate .

Theorem 2 (low-complexity criteria). The encoding com-plexity of the LDPC code on the basis of the MPC encoders is upper bounded by and lower bounded by , respectively.

Proof. We evaluate the computation complexity of the encoding processing. There are three cases of encoding processing [13]. If the th component encoder generates the parity bits in parallel, the th component encoder determines parity bits with XOR operations. In this case, XOR operations are required to obtain all the parity bits. The encoding processing is accomplished from the 1st MPC component encoder to the th MPC component encoder in steps. If the th component encoder generates the parity bits in serial, the th component encoder determines parity bits serially with XOR operations. In this case, XOR operations are required to obtain all the parity bits. Therefore, the encoding processing is completed from the 1st SPC encoder to the th SPC encoder in steps. If the encoding processing is a combination of the above-mentioned two cases, the complexity and encoding time is lower bounded by the parallel case and upper bounded by the serial case.

4. 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 given by where the subscript “T” denotes the transpose of the matrix. This is a parity-check matrix that corresponds to an LDPC code of length 12, where are the information bits and are the parity bits. It is by no means a good LDPC code, which is nothing more than a simple example. The parity-check matrix in (5) can be divided into three submatrices, that is, , , . In each column of (), there is only one “1” element. Due to the special structure of the three submatrices , and , we define and . Therefore, we first obtain the parity bits from , then the parity bits from , and the parity bits from . The encoding processing of this code includes three steps as follows.

Step 1. Given the information bits , compute the parity bits based on the last two columns of the third parity-check matrix .

Step 2. Given the information bits along with the yielded parity bits in Step 1, compute the parity bits based on the ninth column and the tenth column of the second parity-check matrix .

Step 3. Given the information bits along with the previous parity bits , compute the parity bits based on the seventh column and the eighth column of the first parity-check matrix .

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 possibilities reflecting all bit possibilities. However, because of the parity-check constraints in , that is, where denotes the XOR operation, we can divide the code word into two transmission vectors, that is, and . Each transmission vector contains one parity-check constraint. This results in possibilities. Therefore, the present LDPC code is an LDMC in essence. In this code, the first layer that glues the subcodes is and the second layer that defines the subcode is . Note that we can transform into the diagonal form by column permutations, which results in the parity-check matrix It is obvious that the first transformed layer is a sparse parity-check matrix and the second layer can generate two unconnected subcodes corresponding to .

We note that if we let and , in a similar way we calculate the parity bits from , then the parity bits from , and the parity bits from . Therefore, the equivalent constructions of this code can be described as the following.

Step E1
given the information bits , compute the parity bits based on .

Step E2
given the information bits along with the yielded parity bits , compute the parity bits based on .

Step E3
given the information bits along with the previous parity bits , compute the parity bits based on .

According to the aforementioned LDMC construction based on three matrices , the proposed design approach can be generalized with block matrices .

Theorem 3. The LDPC code on the basis of the MPC component encoder in (4) is an LDMC, where with and . Generally, the first layer can be selected as and the second layer can be selected as , .

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 and . We note that there are SPC constraints in the parity-check matrix that has row weight in the first rows and row weight in the remaining rows. Each subcode involves SPC constraints. We divide SPC constraints into separate subgroups. At the transmitter, each transmission vector involves one of the subgroups. Then the overall possibilities for the MIMO detection is downscaled from to . The larger means the smaller complexity of the MIMO detection. Namely, let , and then it is obvious that the larger implies the smaller complexity of the MIMO detection. Since , the optimal block length of the subcode is
In addition, the parity-check matrix of the present LDMCs should satisfy the following two constraints: (1)the part of contains the lower triangular pattern; (2)in each column of , , of , there is only one “1” element.
The first constraint ensures that the present LDMC is linear encodable [14]. The second constraint guarantees that the parity bits can be generated by the parity-check constraints, simultaneously, in the th component encoder corresponding to the matrix [1113]. Observing two constraints, the parity-check matrix 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 has row weight in rows and row weight in the remaining 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 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 consists of identity matrices with the first columns eliminated, as shown in (5). Due to this special structure, the LDPC decoding can be well performed with low complexity.

Remark 5. Since is obtained from the modified PEG algorithm, the girth of and can be enlarged, simultaneously [12]. Therefore, the matrix 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 double-layer LDMC is different from the quasicyclic LDMC [4], where the PEG algorithm is based on the permuted identity matrices.

5. Simulations

So far, we have constructed an LDMC with the modified PEG algorithm in the previous section. In order to simulate the proposed LDMC denoted with simplicity, it is assumed that the block length of the LDMC is and the code rate is 0.5. The numbers of the component encoder are 5 and 6, respectively, that is, . Some parameters are given as follows: (1), , , , , , and ;(2), , , , , , , and .

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 MIMO channels, as shown in Figures 1 and 2. Therefore, the block length of transmission vector is 8 with . 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 and . 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]. The part 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 . The performance curve of is illustrated with 50 outer iterations and no inner iteration.

It is shown in Figure 2 that three LDMCs, , , , can downscale overall possibilities of the MIMO detection from 28 to 26. The proposed two codes and perform the similar performances as that of the original LDMC 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.

6. 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 low-density of the parity-check matrix. Simulations show that the performance of the LDMC is enhanced with the increasing inner iterations in the LDPC decoder.

Acknowledgments

This work was supported by the National Natural Science Foundation of China (60902044), the Ph.D. Program Foundation of Ministry of Education of China (20090162120070), and the World Class University R32-2010-000-20014-0 NRF, Korea.