 Research
 Open Access
 Published:
Structured rootLDPC codes and PEGbased techniques for blockfading channels
EURASIP Journal on Wireless Communications and Networking volume 2015, Article number: 213 (2015)
Abstract
In this work, we propose structured rootlowdensity paritycheck (LDPC) codes and design techniques for blockfading channels. In particular, quasicyclic rootLDPC codes, irregular repeataccumulate rootLDPC codes and controlled doping rootLDPC codes based on progressive edge growth (PEG) techniques for blockfading channels are proposed. The proposed rootLDPC codes are both suitable for channels under F=2,3 and 4 independent fading per codeword. The performance of the proposed codes is investigated in terms of frame error rate (FER). The proposed rootLDPC codes are capable of achieving the channel diversity and outperform standard LDPC codes. For blockfading channel with F=2 our proposed PEGbased rootLDPC codes outperform PEGbased LDPC codes by 7.5 dB at a FER close to 10^{−3}.
Introduction
The most recent IEEE wireless local area network (WLAN) 802.11ad standard [1] argues that to achieve high throughput the devices must operate with LDPC codes [2, 3]. As wireless systems are subject to multipath propagation and mobility, these systems are characterized by timevarying channels with fluctuating signal strength. In applications subject to delay constraints and slowlyvarying channels, only limited independent fading realizations are experienced. In such conditions also known as nonergodic scenarios, the channel capacity is zero since there is an irreducible probability, termed outage probability [4], that the transmitted data rate is not supported by the channel. A simple and useful model that captures the essential characteristics of nonergodic channels is the blockfading channel [5, 6]. It is especially important in wireless communications with slow timefrequency hopping (e.g. cellular networks and wireless local area networks) or multicarrier modulation using orthogonal frequency division multiplexing (OFDM) [7]. Codes designed for blockfading channels are expected to achieve the channel diversity and to offer excellent coding gains.
Prior and related works
A family of LDPC codes called rootLDPC for blockfading channels with F=2 fading per codeword was proposed in [7]. RootLDPC codes are able to achieve the maximum diversity of a blockfading channel and have a performance near the limit of outage when decoded using the Sum Product Algorithm (SPA). RootLDPC codes are always designed with code rate R=1/F, since the Singleton bound determines that this is the highest code rate possible to obtain the maximum diversity order [7]. Y. Li and M. Salehi in [8] have presented the construction of structured rootLDPC codes by means of tiling circulant matrices, i.e. by designing quasicyclic lowdensity paritycheck (QCLDPC) codes [9]. It is also shown that the QCLDPC codes can perform as well as randomly generated rootLDPC codes over blockfading channels. Uchoa et al. in [10] proposed a PEGbased algorithm to design LDPC codes with rootcheck properties, thus providing rootLDPC codes with larger girths. A strategy that imposes constraints on a PEGbased algorithm which are required by rootLDPC codes was devised. This approach has provided better performance in terms of FER and BER than the works in [7, 8]. Duyck et al. in [11] proposed the design of a random LDPC codes which are able to achieve full diversity in blockfading channels with F=2 fadings. Healy and de Lamare in [12] extended the work in [11] for the case of blockfading channels with F=3 and F=4 fading per block transmitted. Uchoa et al. in [13] proposed iterative detection and decoding (IDD) algorithms for multipleinput multipleoutput (MIMO) systems operating in block fading and fast Rayleigh fading channels.
Contributions
We propose in this work three structures to design rootLDPC codes which are quasicyclic, repeat and accumulate and controlled doping. Preliminary results toward PEGbased algorithm to design QCLDPC codes with rootcheck properties for blockfading channel with F=3,4 fading per codeword were reported in [14]. Here, in this work we present a more detailed analysis of quasicyclic rootcheckbased LDPC codes. Furthermore, initial results for a PEGbased algorithm to design irregular repeataccumulate (IRA) LDPC codes with rootcheck properties for blockfading channels were discussed in [15]. Here, we present a more detailed analysis of irregular repeataccumulate and accumulate IRAA rootcheck structure for F=2,3 independent fading.
In general, the parity check bits of rootLDPC codes are not in full diversity. Boutros in [16] proposed a controlled doping via high order rootLDPC codes, which are able to guarantee full diversity for the parity check bits. Such a design becomes really important when iterative detection and decoding (IDD) is used in spread spectrum [17, 18] and MIMO systems [19–21]. In IDD systems, the detector and the decoder exchange their extrinsic information in an iterative way. Therefore, if the parity bits are not in full diversity, the overall IDD system performance will lead to a degradation in terms of bit error rate (BER) instead of improvements as stated in [17].
In this paper, we also propose a novel full diversity controlled doping rootcheck RAbased LDPC codes for blockfading channels of F=2,3,4 fading which includes the code rates \(R = \frac {1}{2}\), \(R = \frac {1}{3}\) and \(R = \frac {1}{4}\).
The main contributions of this work can be summarized as follows:

RootLDPC codes for blockfading channels including structured, unstructured, controlled doping and RA designs are developed.

New PEGbased algorithms for several rootLDPC code structures are presented.

A comprehensive simulation study of rootLDPC codes and design algorithms is detailed.
The rest of this paper is organized as follows. In Section 2, we describe the system model. In Section 3, we discuss the prior and related works on the design of rootLDPC codes and their structure. In Section 4, the proposed PEGbased quasicyclic rootLDPC codes, irregular repeataccumulate rootLDPC codes and controlled doping rootLDPC codes and their structure are presented. In Section 5, a discussion of which a rootLDPC code is more appropriate for a specific scenario is provided. In Section 6, the simulation results are shown, while Section 7 concludes the paper.
System model
Consider a blockfading channel, where F is the number of independent fading blocks per codeword of length N. Following [8], the tth received symbol is given by:
where 1≤t≤N, 1≤f≤F, f and t are related by \(f=\lceil F\frac {t}{N}\rceil \), where ⌈ϕ⌉ returns the smallest integer not smaller than ϕ, h _{ f } is the real Rayleigh fading coefficient of the fth block, s _{ t } is the transmitted signal, and \(n_{g_{t}}\) is additive white Gaussian noise with zero mean and variance N _{0}/2. In this paper, we assume that the transmitted symbols s _{ t } are binary phase shift keying (BPSK) modulated. We assume that the receiver has perfect channel state information and that the SNR is defined as E _{ b }/N _{0}, where E _{ b } is the energy per information bit. The information transmission rate is R=K/N, where K is the number of information bits per codeword of length N. For the case of a blockfading channel, we consider R=1/F, since then it is possible to design a practical diversity achieving code [8]. The performance of a communication system in a nonergodic blockfading channel can be investigated by means of the outage probability [4], which is defined as:
where \({\mathcal {P}}(\phi)\) is the probability of event ϕ and \(\mathcal {I}\) is the mutual information. The mutual information I _{ G }, for Gaussian channel inputs is [8]:
so that an outage occurs when the average mutual information among blocks is smaller than the attempted information transmission rate.
RootLDPC codes
RootLDPC codes are those which use the graph structure comprising special rootcheck nodes to ensure full diversity on the block fading channel with greatest possible code rate. These rootchecks offer connection from each information node in the graph to the parity bits affected by fading coefficients distinct from that affecting the information node in question. Thus, the information node can be recovered provided at least one fading coefficient is large enough. Since for each information node there is a rootcheck node for all other fading coefficients, the rootchecks appear as identity matrices in the paritycheck matrix of the rootLDPC codes. The properties offered by the rootcheck node structure are full singleiteration convergence on the noisefree block binary erasure channel and thus full diversity performance on the block fading channel of (1) [7].
In this section, the parity check matrix of the most relevant rootLDPC codes are discussed. The number of fadings considered are F=2,3 and 4 which correspond to code rates \(R = \frac {1}{2}, \frac {1}{3}\) and \(\frac {1}{4}\).
Random rootLDPC codes
Here, we will introduce some definitions and the notation adopted in this work. The binary LDPC code in systematic form is specified by its paritycheck matrix H:
where I _{ N−K } is the identity matrix of size (NK) and P is an (NK)byK matrix. Then the generator matrix for the code is:
where (·)^{T} refers to the transpose operation.
The variable node degree sequence D _{ s } is defined to be the set of column weights of H as designed and is prescribed by the variable node degree distribution λ(x) as described in [22]. Moreover, D _{ s } is arranged in nondecreasing order. The first proposed rootLDPC codes were devised by Boutros et al. in [7]. Therefore, the general structure of the paritycheck matrix for a random rootLDPC code for F=2 can be defined as
where the nodes (1i and 2i) represent the information symbols that are sent over two independent fadings, the same happens to nodes (1p and 2p) which are the parity symbols; (1c and 2c) are the check nodes. In the paritycheck matrix H, there are eight submatrices of size \(\frac {N}{4} \times \frac {N}{4}\). I is an identity submatrix, 0 is a null submatrix, H _{1i } and H _{2i } are submatrices of Hamming weight 2 connected to the information symbols, H _{1p } and H _{2p } are also submatrices of Hamming weight 3 connected to the parity symbols. In a similar fashion, it can be devised for the case of F=3 as stated in [7].
Quasicyclic rootLDPC codes
Following the idea of Boutros et al. in [7], Li and Salehi in [8] devised a quasicyclic rootLDPC codes. The paritycheck matrix H of a QCLDPC code can be defined as [23]:
where H _{ ij } is an n×n circulant or allzeros matrix, and c and w are two positive integers with c<w. The null space of H gives a QCLDPC code over G F(2) of length N=w n. The rank of H is at most cn. Hence the code rate is at least \(\frac {wc}{w}\).
For the case of quasicyclic rootLDPC codes the paritycheck matrix follows the same idea as (6), although the submatrices become a set of quasicyclic matrices. Consequently, I becomes
H _{1i } as
and for H _{1p } we define it as
where each I _{ i,j } is a circulant permutation matrix, a circulant matrix with row and column weights 1. Each 0 is a null matrix. The matrix H _{2i } is similarly formed of tiled circulant permutation matrices with random cyclic shift and constrained random placement of the nonnull matrices to achieve the required column and row weights. The matrix H _{2p } has the same form as (10) in order that the parity part of the matrix has full rank, but with distinct random cyclic shifts [8]. The example presented in Eqs. (8), (9) and (10) are for a regular QCrootLDPC code C(3,6). QCrootLDPC codes were proposed with the aim of providing fast encoding and to save memory to store the generator matrix. Li and Salehi in [8] have shown that the QCLDPC codes can perform as well as randomly generated rootLDPC codes [7] over blockfading channels.
Unstructured fulldiversity LDPC codes
Duyck et al. in [11] proposed the design of random LDPC codes which are able to achieve full diversity in blockfading channels with F=2 fading. The principle proposed in [11] is to allow a small reduction in coding rate in order to produce random codes that may achieve the diversity of the channel, i.e. the error rate achieved by the code behaves as \(\frac {1}{SNR^{2}}\). However, as these codes achieve the desired error rate performance but do not have the maximal rate allowed by the Singleton bound, they may be called fulldiversity codes but not blockwise maximumdistance separable (MDS) codes [24]. Specifically, the codes of [11] place the requirements that the nodes associated with the information bits have weight d _{ v }=2 and do not participate in any stopping sets. The code rate is R≅0.5.
The design of such LDPC codes was achieved by requiring that the number of check nodes in the graph be greater than \(\frac {N}{2}\), i.e. that the rate be less than \(\frac {1}{2}\), and that the weight of the first \(\frac {N}{2}\) variable nodes is 2 and that the graph be constructed by the PEG algorithm [25], which maximizes cycle length at each placement, ensuring under these conditions no cycles in the subgraph comprised of the first \(\frac {N}{2}\) variable nodes alone. The requirement of recoverability for the worstcase scenario is equivalent to the requirement that no information variable node v _{ inf }∈V _{ inf }, affected by α _{1}, is an element of any stopping set found among the variable nodes V _{1}∪{V _{2}∪V _{3}∪⋯V _{ F }}∖V _{ i }. This requirement must hold for all i=2,⋯,F for the information variable nodes to be recoverable on the block binary erasure channel and thus for the code to achieve full diversity on the block fading channel. The paritycheck matrix for this general case, with variable node subset labels and the corresponding fading coefficients are given in Fig. 1.
Unstructured fulldiversity rate \(\frac {1}{3}\)
In (11), a code graph is shown for the case of F=3 fading per codeword [12] by means of imposing null matrices on the paritycheck matrix, along with restrictions on the cycles present in the subgraphs of the code. The structured matrices \(\left [\mathbf {H}_{\alpha,1} \mathbf {H}_{\alpha _{2}}\right ]\) and \(\left [\mathbf {H}_{\alpha,2} \mathbf {H}_{\alpha _{3}}\right ]\) must be constructed by the PEG algorithm, as in [11], ensuring the extrinsic connections to V _{2} and V _{3}, respectively. The constraints on the code subgraphs result in the variable nodes of V _{1} having weight 4. The distribution of the nodes in V _{2} and V _{3} is unconstrained and may be irregular. In addition to this weight constraint, each of the submatrices \(\left [\mathbf {H}_{\alpha,1} \mathbf {H}_{\alpha _{2}}\right ]\) and \(\left [\mathbf {H}_{\alpha,2} \mathbf {H}_{\alpha _{3}}\right ]\) are constrained to have a rate less than \(\frac {1}{2}\), and so the final graph will have a rate less than \(\frac {1}{3}\).
Unstructured fulldiversity rate \(\frac {1}{4}\)
The code graph achieving the requirements on stopping sets among V _{1},⋯,V _{4} containing information variable nodes is presented in (12) [12]. We can see that with each additional fading coefficient considered, a straightforward graph expansion is carried out, effectively nesting the F−1 diversity achieving graph in the code capable of fulldiversity performance on the channel with F fading coefficients.
Proposed PEGbased rootLDPC codes
In this section, the proposed PEGbased rootLDPC codes are discussed. The number of fadings considered are F=2,3 and 4 which correspond to code rates \(R = \frac {1}{2}, \frac {1}{3}\) and \(\frac {1}{4}\).
QC PEGbased rootLDPC codes
Preliminary results on the design of a PEGbased quasicyclic rootLDPC codes for blockfading channel with F=3,4 fadings per codeword were presented by Uchoa et al. in [14]. The codes generated by this strategy can achieve a significant performance in terms of FER with respect to the theoretical limit. These codes can save up to 3 dB in terms of signal to noise ratio to achieve the same FER when compared to other codes.
A rootLDPC code requires a designer to divide both variable and check nodes in F equal parts. Following the rootcheckbased structure reported in [7], the paritycheck matrix becomes:
where the subscripts represent the variable nodes (information and parity, respectively) under a specific fading block. The paritycheck matrix of (13) can be reordered to H=[S _{1},⋯,S _{ F } P _{1},⋯,P _{ F }], with the blocks S _{ i } associated with information nodes and the blocks P _{ i } associated with parity nodes. In order to obtain the generator matrix, the submatrix B formed by parity matrices P _{1},⋯,P _{ F } must be a nonsingular matrix, which means it is invertible under G F(2) [8].
To design a practical code for F=3 which is able to achieve the channel diversity, the highest possible rate of such a code is \(R = \frac {1}{F}=\frac {1}{3}\). As a result, the paritycheck matrix for \(R=\frac {1}{3}\) can be defined as in (14),
where the n×n matrices H _{ ij } are circulant matrices of column and row weight as required by the degree distribution of the code, I _{ ij } are n×n circulant permutation matrices, while 0 is an allzeros matrix. The notation I _{ ij } was used to reinforce that such connections are the rootcheck connections [7]. The restrictions that should be imposed are only the I _{ ij } to be placed in the positions described in (14) and the upper and down triangular submatrices in the parity part, B, of H. In order to perform a PEGbased design, the only restriction imposed is that the submatrices I _{ ij } and the upper and down submatrices of (14) are kept. The other submatrices can be placed following a quasicyclic PEGbased algorithm.
The paritycheck matrix for F=4 with code rate \(R=\frac {1}{4}\) is structured similarly to (14), and the same restrictions may be imposed to the design to construct a PEGbased QCrootLDPC code for this scenario.
Proposed design algorithm
Here, we introduce some definitions and notations. Then, we present the pseudocode of our proposed algorithm for PEGbased quasicyclic rootLDPC codes. The blockfading channels with F=3 and F=4 are considered. In extending to a greater number of fadings, F>4, the general structure presented is maintained, with the information variable nodes for each fading possessing rootcheck identity matrices connecting to parity variable nodes in each of the other fading blocks only, ensuring the upper and lower triangular sections of parity bits observed in (14). The placement of the remaining cyclic submatrices is required to maintain this relationship and provide satisfactory final code degree distribution. The LDPC code is specified by its sparse paritycheck matrix H=[A  B], where A is a matrix of size MbyK, and B is an MbyM matrix. The generator matrix for the code is G=[(B ^{−1} A)^{T}  I _{ K }], I _{ K } is an identity matrix of size K.
The variable node degree sequence D _{ s } is defined as the set of column weights of the designed H and is prescribed by the variable node degree distribution λ(x) as described in [22]. Moreover, D _{ s } is arranged in a nondecreasing order. The proposed algorithm, called QCPEG rootLDPC, constructs H by operating progressively on variable nodes to place the edges required by D _{ s }. The variable node of interest is labelled v _{ j } and the candidate check nodes are individually referred to as c _{ i }. The PEG rootLDPC algorithm chooses a check node c _{ i } to connect to the variable node of interest v _{ j } by expanding a constrained subgraph from v _{ j } up to maximum depth l. The set of check nodes found in this subgraph are denoted \(N_{v_{j}}^{l}\) while the set of check nodes of interest, those not currently found in the subgraph, are denoted \(\overline {N_{v_{j}}^{l}}\). For the QCPEG rootLDPC algorithm, a check node is chosen at random from the minimum weight check nodes of this set.
To impose the rootLDPC structure, it is necessary simply to initialize the graph with rootcheck connections, which appear as the identity matrices in the paritycheck matrix of the code, and to ensure no additional edge placement is made either in the identity matrices or the null matrices specified by the rootLDPC structure. This is achieved in the PEG algorithm by modification of the indicator vector presented in [10]. Zeros in the indicator vectors, as presented in the following section, exclude check nodes from the expanded tree of the PEG algorithms and this exclude edge placement connecting to those check nodes.
Pseudocode for the QCPEGrootLDPC algorithm
Initialization: A matrix of size M×N is created with the circulant permutation matrices I _{ i,j } in the positions shown in (14) and zeros in all other positions. We define the indicator vectors \({\mathbf {z}}_{1}, \cdots, {\mathbf {z}}_{F^{2}}\phantom {\dot {i}\!}\) for the \(R = \frac {1}{3}\) case as:
The indicator vectors for the construction of the QCPEGrootLDPC code with \(R = \frac {1}{4}\) designed similarly to (14) but for the channel with F=4 are:
These indicator vectors are modelled on that of the original PEG algorithm [25], indicating submatrices for which placement is permitted, thus imposing the required form. The degree sequence as defined for LDPC codes must be altered to take into account the structure imposed by rootLDPC codes, namely the circulant permutation matrices, I _{ i,j }, of (14) and similarly the structure defined by (16). The pseudocode for our proposed QCPEG rootLDPC algorithm is detailed in Algorithm 1, where the indicator vector, z _{ i }, is taken from (15), (16) for constructing codes of rate \(R=\frac {1}{3}\), \(R=\frac {1}{4}\), respectively.
RAbased rootLDPC codes
Preliminary results on the PEGbased design of irregular repeataccumulate (IRA) LDPC codes [26] with rootcheck properties were reported in [15]. We considered a blockfading channel with F=2 and F=3. Here, in this section, we synthesize the most relevant information on the design of IRA rootLDPC codes.
A repeataccumulate (RA) code consists of a serial concatenation, through an interleaver, of a single rate 1/q repetition code with an accumulator having transfer function \(\frac {1}{1+D}\), where q is the number of repetitions for each group of K information bits. Figure 2 shows a typical repeataccumulate code block diagram. The implementation of the transfer function \(\frac {1}{1+D}\) is identical to an accumulator, although the accumulator value can be only 0 or 1 since the operations are over the binary field ([27] pp. 267–279). As discussed in ([27] pp. 267–279), to ensure a large minimum Hamming distance, the interleaver should be designed so that consecutive 1s at its input are widely separated at its output. The RAbased codes proposed in [15] were systematic. The main limitation of RA codes on Gaussian channels is the code rate, which cannot be higher than \(\frac {1}{2}\). This limitation is not relevant for blockfading channels as the rate is constrained to be \(R \leq \frac {1}{2}\) in order to achieve a diversity order greater than or equal to 2.
Irregular repeataccumulate (IRA) codes generalize the concept of RA codes by changing the repetition rate for each group of K information bits and performing a linear combination of the repeated bits which are sent through the accumulator. Furthermore, IRA codes are typically systematic. IRA codes allow flexibility in the choice of the repetition rate for each information bit so that highrate codes may be designed. Their irregularity allows operation closer to the capacity limit ([27] pp. 267–279).
The paritycheck matrix for a systematic RA and IRA codes has the form H=[H _{ u } H _{ p }], where H _{ p } is a square dualdiagonal matrix given by
For RA codes, H _{ u } is a regular matrix having column weight q and row weight 1. For IRA codes, H _{ u } has irregular columns and rows weights. The generator matrix (GM) can be obtained as \(\mathbf {G} = \left [\mathbf {I}_{K}~\mathbf {H}_{u}^{T}\mathbf {H}_{p}^{T}\right ]\), where I _{ K } is an identity matrix of dimension K×K, and the matrix \(\mathbf {H}_{p}^{T}\) is the wellknown inverse transpose of (18).
IRA rootLDPC rate \(\frac {1}{2}\)
The design of a rootLDPC code with an IRA structure imposes some constraints in terms of paritycheck matrix to guarantee the rootcheck properties. Following the notation adopted in [28], for the case of a systematic rate \(\frac {1}{2}\) with F=2, the paritycheck matrix must be like
where H _{2} and H _{3} are \(\frac {N}{4}\times \frac {N}{4}\) submatrices with Hamming weight two and three, respectively, while \(\mathbf {0}_{\frac {N}{4}}\) is a null submatrix with dimension \(\frac {N}{4}\times \frac {N}{4}\). Therefore, to impose the RA structure and rootcheck properties the paritycheck matrix of an IRA rootLDPC is
where H _{ p } is a dual diagonal matrix with dimension \(\frac {N}{4}\times \frac {N}{4}\).
IRA rootLDPC rate \(\frac {1}{3}\)
For the case of rate \(\frac {1}{3}\) with F=3, we followed a similar structure to the one adopted in [7, 14]. The accumulator used is a transfer function given by \(\frac {1}{1+D+D^{\frac {N}{9}}}\) as suggested by [29] for the Gaussian channel, and used here to improve coding gain by allowing a more complete connection between the parity bits and the rootcheck identity matrix through H _{ p }. As a result of the rootcheck structure of the graph where each rootcheck identity matrix must connect through a matrix of size \(\frac {N}{9}\times \frac {2N}{9}\) to a set of parity bits affected by some other fading coefficient, H _{ p } must be redefined as
where H _{ p1} and H _{ p2} are submatrices with dimensions \(\frac {N}{9}\times \frac {2N}{9}\). Therefore, the paritycheck matrix H=[H _{ u }H _{ p }] for this particular case of an IRA rootLDPC rate \(\frac {1}{3}\) as
where H _{1} and \(\mathbf {I}_{\frac {N}{9}}\) are submatrices with dimensions \(\frac {N}{9}\times \frac {N}{9}\) and H _{1} is a submatrix with Hamming weight equal to 1. The null submatrices 0 on the righthand side of (24) have dimensions \(\frac {N}{9}\times \frac {2N}{9}\) while on the lefthand side the dimensions are \(\frac {N}{9}\times \frac {N}{9}\).
IRAA rootLDPC design
The general structure of an irregular repeataccumulate and accumulate (IRAA) encoder can be seen in Fig. 3. In this figure, some b extra parity bits are indicated in addition to the normal p parity bits. The b parity bits can be punctured to obtain a higher code rate. For instance, in general an IRAA code has rate 1/3 without puncturing, while by puncturing b paritychecks a code with rate 1/2 can be obtained.
The paritycheck matrix of an IRAA LDPC code can be represented by
where \(\prod _{1}\) must be a submatrix with rows and columns with Hamming weight one.
In order to obtain IRAA rootLDPC codes some constraints must be imposed on the standard IRAA design. We have noticed that the IRAA rootLDPC codes led to a more flexible rate compatible code. For further details refer to [15].
IRAA rootLDPC rate \(\frac {1}{2}\)
We applied the rootcheck structure from (20) in (25) to obtain the following paritycheck matrix for rate 1/2
where \(\mathbf {I}_{\frac {N}{9}}\), H _{2}, H _{ p } and \(\mathbf {0}_{\frac {N}{9}}\) are all \(\frac {N}{9}\times \frac {N}{9}\) in dimension, while \(\prod _{1}\) is \(\frac {N}{3}\times \frac {N}{3}\). The key point to guarantee the fulldiversity property is the puncturing procedure. Instead of puncturing b parity bits, we have punctured p. The reason why puncturing p instead of b guarantees the full diversity is due to the fact that the rootcheck structure of the code is kept unchanged.
IRAA rootLDPC rate \(\frac {1}{3}\)
For the case of rate 1/3, we considered the design done in (24) and we apply the constraints in (25) to obtain the following paritycheck matrix
It must be noted that without puncturing the code rate is 1/5.
Pseudocode for the IRAPEG rootLDPC algorithm
Initialization: A matrix of size M×N is created with the identity matrices I _{ K } and parity matrices H _{ p } in the positions shown in (20), (24), (26), (27) and zeros in all other positions. We define the indicator vectors z _{1},⋯,z _{ F } for the cases \(R = \frac {1}{2}\), \(R = \frac {1}{3}\) respectively as:
where \(\gamma = \frac {N}{2}\) for the case of IRA, while for IRAA design \(\gamma = \frac {N}{4}\). We have \(\chi = \frac {N}{9}\) for the case of IRA, while for IRAA design \(\chi = \frac {N}{15}\). In addition, for rate \(R = \frac {1}{2}\) under IRAA design z _{ i }=[z _{ i },0 _{4×γ }], while for rate \(R = \frac {1}{3}\) under IRAA design z _{ i }=[z _{ i },0 _{6×χ }].
These indicator vectors are modelled on that of the original PEG algorithm [25], indicating submatrices for which placement is permitted, thus imposing the form of (20), (24), (26), (27). The degree sequence as defined for LDPC codes must be altered to take into account the structure imposed by rootLDPC codes, namely, the identity matrices I _{ K } and the parity matrices H _{ p }, of (20), (24), (26) and (27). The pseudocode for our proposed IRAPEG rootLDPC algorithm is detailed in Algorithm 2, where the indicator vector z _{ i } is taken from (28) and (29) for constructing codes of rate \(R=\frac {1}{2}\), \(R=\frac {1}{3}\) respectively.
Controlled doping rootLDPC codes design
Boutros in [16] proposed a controlled doping via high order rootLDPC codes. Such rootLDPC codes are able to guarantee full diversity for the parity check bits. First of all, we have made some modifications in the original doped rootLDPC code paritycheck matrix described in [16].
Controlled doping rootLDPC codes \(R = \frac {1}{2}\)
The modifications we have made was to take the advantages of easy encodability of IRAbased LDPC codes. Furthermore, a PEGbased design to improve the local girth of the generated LDPC codes was considered. Doping refers to the diversity achieved in the parity bits of the rootLDPC graph, and when incidental is called uncontrolled. Controlled doping is used to intentionally improve the energy coefficient of information bits after solving parity bits. The energy coefficients relate the error rate achieved with the messages passed in decoding, in terms of the fading coefficients to which the code word is subjected [30]. Then, the parity bit should transmit a highconfidence message to a new information bit. Diversity population evolution (DPE) is an analytic method for studying the propagation of diversity in the graph during iterative decoding of a rootLDPC code [30]. Uncontrolled doping corresponds to a DPE steadystate parameter p _{ ∞ }=7.82 % for a C(3,6) regular rootLDPC code [16]. Controlled doping can achieve a fraction p _{ ∞ } as high as 100 %. The submatrix (18) is modified as for the rootLDPCIII code of [16] by introducing a smaller identity matrix for the parity bits. Therefore, the rootLDPC code with 50 % of controlled doping, H _{ p } is redefined, to ensure a lowertriangular form and thus efficient encoding, as
where I is an identity matrix, 0 is a null matrix, P is a permutation matrix with Hamming weight 1, D D is a dual diagonal matrix and all submatrices of H _{ p } are \(\frac {N}{8} \times \frac {N}{8}\) in dimension. Accordingly, the final paritycheck matrix becomes
where subscripts in P _{1} and P _{2} means that are distinct permutation submatrices with hamming weight 1. The submatrices H _{1i } and H _{2i } are in dimension \(\frac {N}{4} \times \frac {N}{4}\). P _{1} and P _{2} are in dimension \(\frac {N}{8} \times \frac {N}{8}\). The PEG algorithm will work through the submatrices H _{1i } and H _{2i }.
Controlled doping rootLDPC codes \(R = \frac {1}{3}\)
The paritycheck matrix for the case of code rate \(R = \frac {1}{3}\) has followed a similar design as for an IRA rootLDPC code rate \(R = \frac {1}{3}\) in (24). Therefore, the paritycheck matrix for the proposed PEG controlled doping rootLDPC code (PEGCDRC LDPC) has the structure as presented in (32),
where the subscripts of P _{ i } in (32) means that are distinct permutation submatrices. The submatrices of Eq. (32) are all \(\frac {N}{9} \times \frac {N}{9}\) in dimension. In addition, the lefthand side of (32) are connected to the information symbols while the righthand side are connected to the parity check bits.
Controlled doping rootLDPC codes \(R = \frac {1}{4}\)
For the case of rate \(\frac {1}{4}\) with F=4, the rootLDPC code structure with controlled doping is produced by a similar expansion of the paritycheck matrix as from the graph for F=2 to the graph for F=3 described above. However, in addition, we have adjusted the part of the matrix associated with the parity bits to account for the dimension requirements of the rootLDPC structure at this rate, where each of the four H _{ p } matrices have dimension \(\frac {3N}{16} \times \frac {3N}{16}\) and as such have been adjusted to take the structure of (33).
and the matrices I, P and D D are as defined previously for the cases of F = 2 and F = 3. Note in particular that the permutation matrices P each have distinct cyclic shifts.
Proposed design algorithm
Here, we introduce some definitions and a specific notation. Then, the construction for the proposed codes is carried out by the pseudocode previously introduced in Algorithm 2, along with appropriate initialization and using the indicator vectors defined in the following. In this work, the scenarios of a blockfading channel with F=2, F=3 and F=4 are considered. In extending to a greater number of fadings, F>4, the general structure presented is maintained.
Pseudocode for the PEGCDRC LDPC algorithm
Initialization: A matrix of size M×N is created with the identity matrices I, dual diagonal matrices D D and parity matrices P _{ i } in the correct positions and zeros in all other positions, as shown in (31) and (32), and similarly for the code for the F=3 channel, using instead H _{ p } of (33). We define the indicator vectors z _{1},⋯,z _{ F } for the cases \(R = \frac {1}{2}\), \(R = \frac {1}{3}\) and \(R = \frac {1}{4}\) respectively as:
where \(\gamma = \frac {N}{4}\), \(\chi = \frac {N}{9}\) and \(\zeta = \frac {N}{16}\).
These indicator vectors are modelled on the basis of the original PEG algorithm [25], indicating submatrices for which placement is permitted, thus imposing the controlled doping rootLDPC form. The degree sequence as defined for LDPC codes must be altered to take into account the structure imposed by RootLDPC codes, namely, the identity matrices I, the permutation matrices P _{ i }, the dual diagonal matrices D D and the parity matrices H _{ i }, of (31), (32) and the multiple uses of (33). The proposed CDRCLDPC construction algorithm is then implemented using Algorithm 2, with the paritycheck matrix suitably initialised with matrices I, D D and distinct random permutation matrices P _{ i } in the appropriate positions. The indicator vectors z _{ i } are taken from (34), (35) and (36) for constructing codes of rate \(R=\frac {1}{2}\), \(R=\frac {1}{3}\) and \(R=\frac {1}{4}\) respectively.
Discussion
In this section, we analyse the advantages and disadvantages of different types of PEGbased rootLDPC codes discussed in the previous sections.
In terms of performance, the PEGbased rootLDPC codes are able to get closer to the outage curve than their counterpart rootLDPC codes. However, the complexity of encoding standard PEGbased rootLDPC codes can be prohibitive for some hardware implementations.
The quasicyclic PEGbased rootLDPC codes have the advantage of performing better than quasicyclic rootLDPC codes and both codes require low memory to store the paritycheck matrix. Moreover, quasicyclicbased LDPC codes can be encoded by using simple shift registers.
RA PEGbased rootLDPC codes have the advantage of being simple to encode and also simple to design the paritycheck matrix. Furthermore, the parity part of an RAbased paritycheck matrix is a dual diagonal which is straightforward to obtain the generator matrix ([27] pp. 267–279). Such codes perform very close to the channel capacity which is usually upperbounded by the outage curve. In addition, RAbased LDPC codes can provide: low complexity to encode, simplicity on the design of the paritycheck matrix and low memory is required to store them. On the other hand, the main limitation of RAbased codes is the code rate, which cannot be higher than \(\frac {1}{2}\).
In the case of unstructured fulldiversity LDPC codes, they draw an important path in terms of designing the paritycheck matrix which avoids the constraints that must be imposed to produce rootcheckbased LDPC codes. Nonetheless, they require a more complex encoding process which is the same complexity as the case of random LDPC codes.
As discussed previously, the PEGcontrolled doping rootLDPC codes are able to guarantee full diversity for the parity check bits. These LDPC codes are relevant for the case of IDD in MIMO systems. The results presented in [31] demonstrate how useful are PEGCDRC LDPC codes for MIMO systems in a blockfading channel. In addition, our proposed PEGCDRC LDPC codes have the advantage of being RAbased encodable which are simple to encode and the paritycheck matrix is easily designed.
Simulations
The performance of the proposed PEGbased rootLDPC codes for blockfading channels with F=2, F=3 and F=4 independent fading blocks is analysed. The block length of the codes for rates \(R = \frac {1}{2}\) and \(R = \frac {1}{4}\) is N=1024 while for rate \(R = \frac {1}{3}\) the block length is N=900. Iterative message passing is employed at the decoder with a maximum of 5 iterations for rate \(R = \frac {1}{2}\) and for rates \(R = \frac {1}{3}\) and \(R = \frac {1}{4}\) a maximum of 20 iterations were used. The Gaussian outage limit in (3) is drawn in dashed line in each figure for reference.
In Fig. 4, we compare the FER performance among the proposed PEGCDRC LDPC codes, IRA PEG rootLDPC code, IRAA PEG rootLDPC codes, QCPEGrootLDPC and PEGrootLDPC, random rootLDPC and PEGbased LDPC [25] codes, all for \(R=\frac {1}{2}\). From the results, it can be noted that the proposed PEGCDRC LDPC code, IRAAPEG rootLDPC code and PEGrootLDPC code achieve the same FER performance. Moreover, note that all rootcheckbased codes are able to achieve the full diversity order of the channel, while (non rootcheck based) PEG LDPC codes fail to achieve full diversity. The PEGbased rootLDPC codes outperform the PEG LDPC code by 7.5 dB at a FER between 10^{−2} and 10^{−3}.
In Fig. 5, we compare the FER performance between the proposed PEGCDRC LDPC, QCPEGrootLDPC, IRA PEG rootLDPC code, IRAA PEG rootLDPC codes, QCPEG LDPC codes and PEGrootLDPC code, all for \(R=\frac {1}{3}\). From the results, it can be seen that the best performance is achieved by the proposed quasicyclic PEG rootLDPC code. IRAPEG rootLDPC and IRAAPEG rootLDPC have in average the same performance in terms of FER. The PEGCDRC LDPC code is performing marginally worse than IRA and IRAA PEG rootcheck based LDPC codes. It was required to sacrifice the FER performance of the proposed PEGCDRC LDPC codes to guarantee the full diversity of the parity check bits. Moreover, note that the proposed CDRCLDPC code outperforms the QCPEG LDPC code consistently across the range of FER considered, with an improvement of 2 dB below a FER of 10^{−3}. The proposed QCPEGrootLDPC code outperforms the QCPEG LDPC code by about 3.5 dB, also between a FER of 10^{−3} and 10^{−4}.
In Fig. 6, we compared the FER performance between the proposed PEGCDRC LDPC, QCPEGrootLDPC codes, IRAPEGrootLDPC and QCPEG LDPC codes all for \(R=\frac {1}{4}\). The codeword length is N=1024 bits. From the results, it can be noted that the proposed PEGCDRC LDPC code outperforms the QCPEG LDPC code by about 1.5 dB while the proposed QCPEGrootLDPC code outperforms the QCPEG LDPC code by about 2.5 dB. In addition, note that only the PEGbased rootLDPC codes are able to achieve the fulldiversity order of the channel. For the PEGCDRC LDPC code, the FER of the whole code word is also included at both 20 and 100 maximum decoder iterations. Note that the whole code word error rate at 20 maximum decoder iterations is dominated by the unsatisfactory performance of the parity bits, but at the higher maximum number of decoder iterations the whole code word FER has converged to that of the information bits, demonstrating that the controlled doping has had the desired effect. Recall that the doping used leads to p _{ ∞ }=100 %, which is the percentage of variable nodes corrected after an arbitrarily large number of decoder iterations, and so this behaviour is expected from the PEGCDRC code. Finally note that both IRAPEGrootLDPC and PEGCDRC codes exhibit a loss in performance with respect to the QCPEGrootLDPC code. This results from the combined repeataccumulate and rootLDPC structures found in the graphs of those codes, which offer a reduction in encoding complexity and diversityachieving performance at the expense of reduced coding gain.
Figure 7 shows the average number of iterations required by the proposed PEGCDRC LDPC codes, IRA PEG rootLDPC code, IRAA PEG rootLDPC codes, PEGrootLDPC, random rootLDPC and PEGbased LDPC [25] codes, all for \(R=\frac {1}{2}\). The decoder was operated to a maximum of 5 iterations and with the zero syndrome stopping criterion in place. For the entire SNR region, in average, we can observe that the proposed PEG rootcheckbased LDPC codes require less decoding iterations than standard PEG LDPC code. It must be mentioned that for medium to high SNR the average required number of iterations is less than 2 iterations. The average number of iterations, less than 2 at medium to high SNR, corroborates with hardware friendly capabilities of structured LDPC codes [8].
Conclusion
Novel PEGbased algorithms have been proposed to design controlled doping rootLDPC codes, IRA rootLDPC codes, IRAA rootLDPC codes and quasicyclic rootLDPC codes for F≥2 fading blocks. Based on simulations, the proposed methods were compared to nonrootLDPC codes. The results demonstrate that the rootcheckbased LDPC codes generated by our proposed algorithm outperform standard LDPC codes. Furthermore, for the case of rate \(R = \frac {1}{2}\) the PEGbased rootLDPC codes outperform the PEG LDPC code by about 7.5 dB. As mentioned before, the proposed PEGCDRC LDPC codes are RAbased LDPC codes which are simple to encode and the paritycheck matrix can be easily designed.
References
 1
IEEEWLAN 802.11ad, Very high throughput 60 GHz (IEEE, New York, 2012). http://standards.ieee.org/getieee802/download/802.11ad2012.pdf. Accessed 15 Sept 2015.
 2
RG Gallager, Lowdensity paritycheck codes. IRE Trans. Inform. Theory. 20, 21–28 (1962).
 3
M Luby, M Mitzenmacher, A Shokrollahi, D Spielman, V Stemann, in Proceedings of the TwentyNinth Annual ACM Symposium on Theory of Computing. Practical lossresilient codes (El Paso, TX, USA, 4–6 May 1997).
 4
E Biglieri, J Proakis, S Shamai, Fading channels: informationtheoretic and communications aspects. IEEE Trans. Inform. Theory. 44(6), 2619–92 (1998).
 5
TS Rappaport, Wireless Communications Principles and Practice, 1st edn (PrenticeHall, New Jersey, 1999).
 6
LH Ozarow, S Shamai, AD Wyner, Information theoretic considerations for cellular mobile radio. IEEE Trans. Veh. Technol. 43(2), 359–78 (1994).
 7
JJ Boutros, A Guillen i Fabregas, E Biglieri, G Zemor, Lowdensity paritycheck codes for nonergodic blockfading channels. IEEE Trans. Inform. Theory. 56(9), 4286–300 (2010).
 8
Y Li, M Salehi, in Proceedings of the 44th Annual Conference on Information Sciences and Systems (CISS). Quasicyclic LDPC code design for blockfading channels (Princeton UniversityUSA, 17–19 March 2010).
 9
MP Fossorier, Quasicyclic lowdensity paritycheck codes from circulant permutation matrices. IEEE Trans. Inform. Theory. 50(8), 1788–93 (2004).
 10
AGD Uchôa, C Healy, RC de Lamare, RD Souza, Design of LDPC codes based on progressive edge growth techniques for block fading channels. IEEE Comms. Lett. 15, 1221–3 (2011).
 11
D Duyck, JJ Boutros, M Moeneclaey, in Proceedings of the 18th IEEE Symposium on Communications and Vehicular Technology in the Benelux. Full diversity random LDPC codes (Ghent, Belgium, 22–23 November 2011).
 12
CT Healy, RC de Lamare, in Proceedings of the Tenth International Symposium On Wireless Communication Systems. Full diversity LDPC codes with a reduced structure for general block fading channels (Ilmenau, Germany, 27–30 August 2013).
 13
AGD Uchoa, CT Healy, RC de Lamare, Iterative detection and decoding algorithms for MIMO systems in blockfading channels using LDPC codes. IEEE Trans. Veh. Technol (2015). doi:10.1109/TVT.2015.2432099.
 14
AGD Uchôa, C Healy, RC de Lamare, RD Souza, in Proceedings of the 9th IEEE International Symposium on Wireless Communication Systems. Generalised QuasiCyclic LDPC codes based on progressive edge growth techniques for block fading channels (Paris, France, 28–31 August 2012).
 15
Uchôa, AGD, C Healy, RC de Lamare, in Proceedings of the Tenth International Symposium On Wireless Communication Systems. Repeat accumulate based constructions for LDPC codes on fading channels (Ilmenau, Germany, 27–30 August 2013).
 16
JJ Boutros, Controlled doping via highorder rootchecks in graph codes (Paper presented at IEEE Communication Theory Workshop, Sitges, Catalonia, Spain, 2011). Available online from http://www.josephboutros.org/coding/rootLDPCdoping.pdf.
 17
X Wang, HV Poor, Iterative (turbo) soft interference cancellation and decoding for coded CDMA. IEEE Trans. Commun. 47(7), 1046–61 (1999).
 18
RC de Lamare, R SampaioNeto, Minimum meansquared error iterative successive parallel arbitrated decision feedback detectors for DSCDMA systems. IEEE Trans. Commun. 56(5), 778–89 (2008).
 19
GD Golden, CJ Foschini, RA Valenzuela, PW Wolniansky, Detection algorithm and initial laboratory results using vblast spacetime communication architecture. Electron. Lett. 35, 14–16 (1999).
 20
R Fa, RC de Lamare, Multibranch successive interference cancellation for MIMO spatial multiplexing systems: design, analysis and adaptive implementation. IET Commun. 5, 484–94 (2011).
 21
RC de Lamare, Adaptive and iterative multibranch MMSE decision feedback detection algorithms for multiantenna systems. IEEE Trans. Wireless Commun. 12(10), 5294–308 (2013).
 22
T Richardson, R Urbanke, The capacity of low density parity check codes under message passing decoding. IEEE Trans. Inform. Theory. 47, 599–618 (2001).
 23
Z Li, BVKV Kumar, in IEEE ASILOMARSSC’04. A class of good quasicyclic lowdensity parity check codes based on progressive edge growth graph, (2004), pp. 1990–1994.
 24
A Guillen i Fabregas, G Caire, Coded modulation in the blockfading channel: coding theorems and code construction. IEEE Trans. Inform. Theory. 52(1), 91–114 (2006).
 25
XY Hu, E Eleftheriou, DM Arnold, Regular and irregular progressive edgegrowth tanner graphs. IEEE Trans. Inform. Theory. 51(1), 386–98 (2005).
 26
AKH Jin, R McEliece, in Proceedings of the 2nd International Symposium on Turbo Codes and Related Topics. Irregular repeataccumulate codes (Brest, France, September 2000).
 27
WE Ryan, S Lin, Channel Codes Classical and Modern (Cambridge University Press, Cambridge, UK, 2009).
 28
AGD Uchôa, C Healy, RC de Lamare, RD Souza, in Proceedings of the Eighth International Symposium On Wireless Communication Systems. LDPC codes based on progressive edge growth techniques for block fading channels (Aachen, Germany, 6–9 November 2011).
 29
S Johnson, S Weller, in Proceedings of the 6th Australian Communications Theory Workshop. Interleaver and Accumulator Design for Systematic RepeatAccumulate Codes (Brisbane, Australia, 2–4 Feb 2005).
 30
JJ Boutros, in Information Theory and Applications Workshop, 2009. Diversity and coding gain evolution in graph codes, (2009), pp. 34–43.
 31
AGD Uchôa, C Healy, RC de Lamare, P Li, in Proceedings of the IEEE Wireless Communications and Networking Conference (WCNC). Iterative detection and decoding algorithms for blockfading channels using LDPC codes (Istanbul, Turkey, 6–9 April 2014).
Acknowledgements
This work was partially supported by PNPD/CAPES and CNPq (Brazil), under grant 237676/20125.
Author information
Additional information
Competing interests
The authors declare that they have no competing interests.
Rights and permissions
Open Access This article is distributed under the terms of the Creative Commons Attribution 4.0 International License (http://creativecommons.org/licenses/by/4.0/), which permits unrestricted use, distribution, and reproduction in any medium, provided you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons license, and indicate if changes were made.
About this article
Received
Accepted
Published
DOI
Keywords
 LDPC
 RootLDPC
 PEG
 Repeataccumulate
 Blockfading
 Controlled doping