This paper was converted on www.awesomepapers.org from LaTeX by an anonymous user.
Want to know more? Visit the Converter page.

Construction of Protograph-Based Partially Doped Generalized LDPC Codes

Jaewha Kim, Jae-Won Kim, and Jong-Seon No J. Kim is with the Department of Electrical and Computer Engineering, INMC, Seoul National University, Seoul 08826, Korea (e-mail: [email protected]).J.-W. Kim is with the Department of Electronic Engineering, Engineering Research Institute (ERI), Gyeongsang National University, South Korea (e-mail: [email protected]).H.-Y. Kwak is with the Department of Electrical Engineering, University of Ulsan, Ulsan 44610, South Korea.J.-S. No with the Department of Electrical and Computer Engineering, INMC, Seoul National University, Seoul 08826, Korea (e-mail: [email protected]).J.-W. Kim is the corresponding author.
Abstract

In this paper, we propose a new code design technique, called partial doping, for protograph-based generalized low-density parity-check (GLDPC) codes. While the conventional construction method of protograph-based GLDPC codes is to replace some single parity-check (SPC) nodes with generalized constraint (GC) nodes applying to multiple variable nodes (VNs) that are connected in the protograph, the proposed technique can select any VNs in the protograph to be protected by GC nodes. In other words, the partial doping technique facilitates finer tuning of doping, which in turn enables a sophisticated code optimization with higher degree of freedom. We construct the proposed partially doped GLDPC (PD-GLDPC) codes using the partial doping technique and optimize the PD-GLDPC codes by the protograph extrinsic information transfer (PEXIT) analysis. In addition, we propose a condition guaranteeing the linear minimum distance growth of the PD-GLDPC codes and use the condition for the optimization. Experimental results show that the optimized PD-GLDPC codes outperform the conventional GLDPC codes and have competitive performance compared to the state-of-the-art protograph-based LDPC codes without the error floor phenomenon over the binary erasure channel (BEC).

Index Terms:
Generalized low-density parity-check (GLDPC) codes, partial doping, partially doped GLDPC (PD-GLDPC) codes, protograph, protograph extrinsic information transfer (PEXIT), typical minimum distance.

I Introduction

Low-density parity-check (LDPC) codes, first introduced in [1], have received much attention due to their low decoding complexity and capacity approaching performance [2]. An LDPC code is defined over a bipartite graph consisting of variable nodes (VNs) and single parity-check (SPC) nodes. As a generalized class of LDPC codes, generalized LDPC (GLDPC) codes were introduced in [3], which are constructed by replacing some SPC nodes with generalized constraint (GC) nodes. GC nodes are defined by code constraints of a linear code with a larger minimum distance [4], which makes GLDPC codes have a larger minimum distance [5]. In addition, GLDPC codes have several advantages over LDPC codes such as faster decoding convergence [6] and a better asymptotic threshold at the cost of the additional decoding complexity and redundancy introduced by GC nodes [7]. Many types of linear codes for GC nodes, also called as the component codes, are used in the GLDPC codes such as Hamming codes [8], Hadamard codes [9], Bose–Chaudhuri–Hocquenghem (BCH) codes, and Reed-Solomon (RS) codes [10]. The research on GLDPC codes is extended to spatially coupled LDPC codes [11, 12, 13] and doubly GLDPC codes [14, 15, 16]. Moreover, some capacity approaching GLDPC codes were constructed using irregular random GLDPC codes [7, 17].
LDPC codes can be constructed from a small bipartite graph called protograph. Many researches on the protograph-based LDPC codes were previously carried out under various scenarios [18, 19, 20]. Moreover, the protograph-based GLDPC codes were thoroughly studied in [21]-[24], but they mainly focused on the low-rate codes [21, 22, 23, 24]. Protograph-based GLDPC codes can be constructed from a small protograph [25] using the so called doping technique [26]. Doping a GC node, defined by a (μ,κ)(\mu,\kappa) linear code of length μ\mu and dimension κ\kappa, means the replacement of an SPC node by the GC node with μκ\mu-\kappa constraints, which causes a rate loss. In the perspective of VNs, μ\mu VNs are selected to be doped by a GC node, assuming that there are no parallel edges in the protograph. Thus, the smallest unit of doping, also called the doping granularity, is μ\mu for the conventional protograph doping technique. In other words, the conventional doping technique has two limitations: 1) the degree of the SPC node to be replaced should be μ\mu, which implies that the doping operation is dependent on the underlying protograph and the parameter μ\mu of component codes and 2) one cannot choose a finer doping granularity less than μ\mu and thus the code design cannot be sophisticated. Due to the limited design flexibility, there has been little works on the well-designed optimization for protograph-based GLDPC codes especially for medium to high code rates.
In this paper, we propose a new doping technique, called partial doping on the VNs, to minimize the doping granularity and enlarge the code design freedom. In detail, the partial doping involves the following three steps: 1) A VN to be doped is selected in the protograph. 2) The Tanner graph is obtained by the lifting operation [25] from the protograph with a lifting factor NN. 3) Additional GC nodes are connected to the lifted NN VNs in the Tanner graph after lifting the protograph. The main difference from the conventional protograph doping technique is that the partial doping operation is conducted on the Tanner graph instead of the protograph domain. Thus, it is possible to partially dope on a single VN in the protograph and the doping granularity becomes one, which is also independent of μ\mu. In other words, the partial doping enables fine tuning of the code structure regardless of the underlying protograph and the parameter of component codes. Specifically, the selection of VNs to be protected by GC nodes and the rate loss can be adjusted in a more flexible manner.
We denote the proposed protograph-based GLDPC codes constructed using the partial doping as partially doped GLDPC (PD-GLDPC) codes. The structural characteristics of the PD-GLDPC codes have several advantages. First, the PD-GLDPC codes are structurally adequate to adopt the puncturing technique that compensates the rate-loss. Since the partially doped VNs are highly and locally protected by GC nodes, the performance loss occurred by puncturing the doped VNs is relatively small while attaining the code rate gain. Second, the asymptotic performance of the PD-GLDPC codes can be analyzed by the low-complexity extrinsic information transfer (EXIT) analysis. For the conventional protograph doped GLDPC codes [26], the exact EXIT analysis is provided in [27], where the topology for the a priori and extrinsic mutual information of GC nodes is considered. Since the cases of the topology grow exponentially with the component code length μ\mu, the computational complexity is too high to design a fast optimization algorithm. On the contrary, GC nodes in the PD-GLDPC codes can be analyzed by an average manner EXIT analysis in [28] because GC nodes in the PD-GLDPC codes are incident to VNs lifted from a single VN in the protograph. The a priori and extrinsic mutual information of GC nodes can be evaluated by a single value, which facilitates a fast optimization algorithm. Using this advantage, we propose an efficient optimization algorithm for the PD-GLDPC codes.
In addition, we propose the condition guaranteeing the linear minimum distance growth of the PD-GLDPC codes. We analytically prove that the PD-GLDPC code ensembles satisfying the condition have the typical minimum distance and use this condition for the construction of the PD-GLDPC codes in this paper. Also, we propose novel methods to optimize the asymptotic performance, i.e., the threshold of the code ensemble, by using the protograph EXIT (PEXIT) analysis [29] and differential evolution [30] targeting medium code rate 1/21/2 and high code rate 2/32/3. Thus, the optimized PD-GLDPC code ensembles are constructed while satisfying the typical minimum distance condition to have a minimum distance that grows linearly with the block length of the code. Comparison of the PD-GLDPC codes is made with the existing state-of-the-art protograph LDPC codes and conventional GLDPC codes [17]. Threshold analysis and shows that the optimized protograph-based PD-GLDPC codes outperform the well known GLDPC and protograph-based LDPC codes and have a competitive asymptotic performance compared to the optimized protograph-based LDPC codes.
To be specific, the optimized protograph PD-GLDPC codes from a random ensemble with a low doping ratio 0.024390.02439 achieves the coding gain 0.00790.0079 over the binary erasure channel (BEC) compared to the optimized GLDPC codes [17] with a relatively higher doping ratio 0.4. In addition, the optimized protograph PD-GLDPC code by the differential evolution outperforms AR4JA codes [31] with coding gains 0.04770.0477 and 0.0320.032 for code rates 1/21/2 and 2/32/3, respectively. Also, the average VN degree of the optimized PD-GLDPC codes, are only 87.2%87.2\% and 80.5%80.5\% compared to the state-of-the-art protograph LDPC codes for code rates 1/21/2 and 2/32/3, respectively. Similarly, the frame error rate (FER) results show tangible gain in the waterfall performance compared to the existing protograph-based LDPC codes in [31] without the error floor phenomenon up to FER 10410^{-4}.
We list the contributions of this paper as follows; 1) We propose a novel doping technique, where the constraints of GC nodes are applied to specific VNs lifted from single protograph node, i.e., partial doping on the VNs after lifting. 2) We propose two design criteria for the optimization of the threshold of the PD-GLDPC codes: the EXIT analysis and the condition for the existence of the typical minimum distance. 3) We propose the optimization method of the asymptotic performances for the PD-GLDPC codes using differential evolution. 4) We show the finite length performance gain of the optimized PD-GLDPC codes over some well known LDPC and GLDPC codes.
The rest of the paper is organized as follows. In Section II, we introduce some preliminaries on the BEC and protograph-based GLDPC codes. Section III illustrates the proposed PD-GLDPC code structure and derives its PEXIT analysis and the condition for the typical minimum distance. In addition, the comparison of the proposed PD-GLDPC codes and protograph doped GLDPC codes is given. The optimization algorithms of PD-GLDPC codes are given in Section IV. Section V shows the error correcting performance of the proposed codes over the BEC compared with other well known protograph-based LDPC codes. Section VI concludes the paper with some discussion of the results.

II Backgrounds

TABLE I: Main mathematical notations used in the paper.
Notation Explanation
𝔹nc×nv{\mathbb{B}}_{n_{c}\times n_{v}} An nc×nvn_{c}\times n_{v} base matrix defining the protograph
V={v1,,vnv}V=\{v_{1},{\cdots},v_{n_{v}}\} Set of VNs in a protograph
C={c1,,cnc}C=\{c_{1},{\cdots},c_{n_{c}}\} Set of CNs in a protograph
EE Set of edges connecting VV and CC
deg(vj)deg(v_{j}) (deg(ci)deg(c_{i})) Number of edges incident to vjv_{j} (cic_{i}), i.e., variable (check) node degree of vjv_{j} (cic_{i})
N(ci)N(c_{i}) (N(vj)N(v_{j})) Set of variable (check) nodes incident to cic_{i} (vjv_{j}), i.e., neighborhood of cic_{i} (vjv_{j})
Ich(j)I_{ch}(j) Channel information of vjVv_{j}\in V
IEV(i,j)I_{EV}(i,j) (IEC(i,j))(I_{EC}(i,j)) Extrinsic information sent from vjv_{j} (cic_{i}) to cic_{i} (vjv_{j})
IAV(i,j)I_{AV}(i,j) (IAC(i,j))(I_{AC}(i,j)) A priori mutual information of vjv_{j} (cic_{i}) sent from cic_{i} (vjv_{j}), where cic_{i} is an SPC node
IAGC(i)I_{AGC}(i) (IEGC(i,j))(I_{EGC}(i,j)) A priori (extrinsic) mutual information of a GC node cic_{i}
IAPP(j)I_{APP}(j) A posteriori probability of vjv_{j}
(μ,κ)(\mu,\kappa) component code Component code with codelength μ\mu and information size κ\kappa
𝒳\mathcal{X} Index set of protograph VNs that are partially doped
NN Lifting factor
ν\nu Doping ratio
IEV(bj)(j)I_{EV}^{(b_{j})}(j) Extrinsic information from vjv_{j} to bj,j𝒳b_{j},j\in\mathcal{X}
IAGC(bj)(j)I_{AGC}^{(b_{j})}(j) (IEGC(bj)(j))(I_{EGC}^{(b_{j})}(j)) A priori (extrinsic) mutual information of bj,j𝒳b_{j},j\in\mathcal{X}
GcG_{c} Optimized protograph of the LDPC code
GpG_{p} Initial irregular protograph that is used to construct the PD-GLDPC code
λGc(x)\lambda_{G_{c}}(x) (ρGc(x))(\rho_{G_{c}}(x)) VN (CN) degree distribution to construct GcG_{c}
𝔻𝕕𝕧=(a1,,amax){\mathbb{D}}^{\mathbb{dv}}=(a_{1},{\cdots},a_{max})
|𝕕𝕧||\mathbb{dv}|-sized vector defining the numbers of protograph VNs, where aia_{i} is the
number of protograph VNs of degree lil_{i} and 𝕕𝕧\mathbb{dv} is a set of VN degrees that
exist in the protograph, i.e., 𝕕𝕧={l1,l2,,lmax}\mathbb{dv}=\{l_{1},l_{2},{\cdots},l_{max}\}
ρ\rho Random puncturing ratio of the entire protograph
ρd\rho_{d} Random puncturing ratio for partially doped VNs in the protograph

In this section, we introduce some notations and concepts of a binary erasure channel, protograph LDPC codes, and the construction method of protograph doped GLDPC codes. The EXIT analysis and the decoding process of protograph doped GLDPC codes are also briefly introduced. The notations mainly used throughout the paper are summarized in Table 1.

II-A Protograph LDPC Code and BEC

Let 𝕩={x1,,xk},xi{0,1}\mathbb{x}=\{x_{1},{\cdots},x_{k}\},x_{i}\in\{0,1\} be a kk-bit binary message vector, which is encoded via an (n,k)(n,k) linear code, forming an nn-bit codeword 𝕔={c1,,cn},ci{0,1}\mathbb{c}=\{c_{1},{\cdots},c_{n}\},c_{i}\in\{0,1\}. The codeword passes through a memoryless BEC, where each bit is either erased with a probability ϵ\epsilon or correctly received.
Protograph LDPC codes [25] are defined by a relatively small bipartite graph G=(V,C,E)G=(V,C,E) representing a protograph, where V={v1,,vnv}V=\{v_{1},{\cdots},v_{n_{v}}\} is a set of VNs and C={c1,,cnc}C=\{c_{1},{\cdots},c_{n_{c}}\} is a set of check nodes (CNs). Let EE be a set of edges ee, where e=(v,c)e=(v,c) connects a VN vVv\in V and a CN cCc\in C. The bipartite graph can also be expressed in terms of an nc×nvn_{c}\times n_{v}-sized base matrix 𝔹nc×nv={bi,j},i[nc],j[nv]{\mathbb{B}}_{n_{c}\times n_{v}}=\{b_{i,j}\},i\in[n_{c}],j\in[n_{v}], where bi,j{0,1,2,}b_{i,j}\in\{0,1,2,{\cdots}\} and [A][A] is a set of positive integers less than or equal to a positive integer AA. The rows represent the CNs and the columns represent the VNs in the protograph. Each entry bi,jb_{i,j} of the base matrix represents the number of edges connected between a VN and a CN. If there are no edges connected between vjv_{j} and cic_{i}, the entry bi,jb_{i,j} is zero. The variable (check) node degree deg(vj)deg(v_{j}) (deg(ci)deg(c_{i})) is defined as the number of edges incident to itself. A protograph LDPC code is constructed by copy-and-permute operation of GG. The bipartite graph GG is copied by the lifting factor NN and copies of each edge e=(v,c)Ee=(v,c)\in E are permuted among copies of vv and cc. In general, the large value of NN guarantees the sparseness of the code.

II-B Construction of Protograph Doped GLDPC Codes [26]

Refer to caption
Figure 1: An example of protograph doped GLDPC code construction following [26] by replacing an SPC node with a GC node using the (7,4)(7,4) Hamming code as the component code.

Conventionally, a protograph doped GLDPC code ensemble is constructed by replacing (doping) a CN of a protograph with a GC node that has a parity-check constraint from an (ni,ki,dmini)(n_{i},k_{i},d_{min}^{i}) linear code (component code), where nin_{i} (kik_{i}) is the code length (dimension) and dminid_{min}^{i} is the minimum distance of the component code for a CN cic_{i}. The condition for replacement is that the CN degree should be exactly equal to the length of the component code, i.e., deg(ci)=nideg(c_{i})=n_{i}. Note that the original CN has the parity-check constraint of an (ni,ki)=(deg(ci),deg(ci)1)(n_{i},k_{i})=(deg(c_{i}),deg(c_{i})-1) SPC code. The code rate RR of protograph doped GLDPC codes is R=1mprotonvR=1-\frac{m_{proto}}{n_{v}}, where mproto=i=1nc(niki)m_{proto}=\sum_{i=1}^{n_{c}}(n_{i}-k_{i}). While the minimum distance of an SPC node is 2, the VNs connected to the GC node are protected by parity-check constraints of the component code with the minimum distance larger than two. Fig. 1 shows the protograph doped GLDPC code of the code rate 3/7{3}/{7} by replacing an SPC node with the (7,4)(7,4) Hamming code constraints.

II-C PEXIT Analysis and Decoding Process of Protograph Doped GLDPC Codes

Algorithm 1 The PEXIT analysis of a protograph doped GLDPC code [32]
1:  Step 1) Initialization Initialize Ich(j)=1ϵI_{ch}(j)=1-\epsilon for j[nv]j\in[n_{v}].
2:  Step 2) Message update from VN to CN Update IEV(i,j)=1ϵtN(vj)(1IAV(t,j))δ(t,j)I_{EV}(i,j)=1-\epsilon\prod_{t\in N(v_{j})}\bigl{(}1-I_{AV}(t,j)\bigr{)}^{\delta(t,j)} for all j[nv]j\in[{n_{v}}], where δ(t,j)=bt,j\delta(t,j)=b_{t,j} for tit\neq i and δ(t,j)=bt,j1\delta(t,j)=b_{t,j}-1 for t=it=i. Further, IEV(i,j)=0I_{EV}(i,j)=0 if bi,j=0b_{i,j}=0. If cic_{i} is an SPC node, IAV(i,j)=IEC(i,j)I_{AV}(i,j)=I_{EC}(i,j) and if cic_{i} is a GC node, IAV(i,j)=IEGC(i,j)I_{AV}(i,j)=I_{EGC}(i,j).
3:  Step 3) Message update from CN to VN For all ii, if cic_{i} is an SPC node, go to Step 3-1) and if cic_{i} is a GC node, go to Step 3-2).     Step 3-1) IEC(i,j)=tN(ci)IAC(i,t)δ(i,t)I_{EC}(i,j)=\prod_{t\in N(c_{i})}I_{AC}(i,t)^{\delta(i,t)}, where δ(i,t)=bi,t\delta(i,t)=b_{i,t} for tit\neq i and     δ(i,t)=bi,t1\delta(i,t)=b_{i,t}-1 for t=jt=j. Further, IAC(i,t)=IEV(i,t)I_{AC}(i,t)=I_{EV}(i,t).     Step 3-2) For all jj\in N(ci)N(c_{i}), compute
IEGC(i,j)=\displaystyle I_{EGC}(i,j)= 1nih=1ni(1IAGC(i))h1(IAGC(i))nih\displaystyle\frac{1}{n_{i}}\sum_{h=1}^{n_{i}}\bigl{(}1-I_{AGC}(i)\bigr{)}^{h-1}\bigl{(}I_{AGC}(i)\bigr{)}^{n_{i}-h}
×[he~h(nih+1)e~h1],\displaystyle\times[h\tilde{e}_{h}-(n_{i}-h+1)\tilde{e}_{h-1}], (1)
       where IAGC(i)=1nijN(ci)bi,j×IEV(i,j)I_{AGC}(i)=\frac{1}{n_{i}}\sum_{j\in N(c_{i})}b_{i,j}\times I_{EV}(i,j).
4:  Step 4) APP mutual information computationFor all j[nv],IAPP(j)=1ϵtN(vj)(1IAV(t,j))bt,jj\in[n_{v}],I_{APP}(j)=1-\epsilon\prod_{t\in N(v_{j})}\bigl{(}1-I_{AV}(t,j)\bigr{)}^{b_{t,j}}. If ctc_{t} is an SPC node, IAV(t,j)=IEC(t,j)I_{AV}(t,j)=I_{EC}(t,j) and if ctc_{t} is a GC node, IAV(t,j)=IEGC(t,j)I_{AV}(t,j)=I_{EGC}(t,j).
5:  Step 5) Convergence check of VNs Repeat Step 2)–4) until IAPP(j)=1,I_{APP}(j)=1, for all j[nv]j\in[n_{v}].

The asymptotic performance of the protograph doped GLDPC codes is evaluated by the PEXIT analysis. The PEXIT analysis tracks down the mutual information of extrinsic messages and a priori error probabilities of the VNs, CNs, and GC nodes of protograph GLDPC codes. For an exact PEXIT analysis, tracking down each mutual information corresponding to edges of the component code is needed, i.e., multi-dimensional EXIT computation [27]. However, in terms of code optimization, where lots of EXIT computation is required, it is beneficial to reduce the complexity of the EXIT computation in GC nodes by averaging the a priori and extrinsic mutual information of the GC nodes. The EXIT and PEXIT analyses of the protograph doped GLDPC codes over the BEC in terms of average mutual information are given in [32, 28, 29].
The PEXIT process is given in Alg. 1. Let Ich(j)I_{ch}(j) be the channel information from the erasure channel for the protograph VN vjv_{j}. In addition, IEV(i,j)I_{EV}(i,j) (IEC(i,j))(I_{EC}(i,j)) is the extrinsic information sent from vjv_{j} (cic_{i}) to cic_{i} (vjv_{j}) and IAV(i,j)I_{AV}(i,j) (IAC(i,j))(I_{AC}(i,j)) is the a priori mutual information of vjv_{j} (cic_{i}) sent from cic_{i} (vjv_{j}), where cic_{i} is an SPC node. For GC nodes, we use the notations IAGC(i)I_{AGC}(i) and IEGC(i,j)I_{EGC}(i,j) for a priori and extrinsic information. Let N(ci)N(c_{i}) (N(vj)N(v_{j})) be a set of variable (check) nodes incident to cic_{i} (vjv_{j}), i.e., neighborhood of cic_{i} (vjv_{j}). Finally, IAPP(j)I_{APP}(j) is a posteriori probability of vjv_{j}. To explain (1) in Alg. 1, if cic_{i} is a GC node with the (ni,ki)(n_{i},k_{i}) Hamming code, the PEXIT of the GC node is computed from a closed form using the property of the simplex code, which is the dual code of a Hamming code. Also, IAGC(i)=1nijN(ci)bi,j×IEV(i,j)I_{AGC}(i)=\frac{1}{n_{i}}\sum_{j\in N(c_{i})}b_{i,j}\times I_{EV}(i,j) is the average a priori mutual information for a GC node to compute the PEXIT message. In (1), we have

e~h=t=1htu=0t1(1)u2(ut)[kit][tu](2tuh).\tilde{e}_{h}=\sum_{t=1}^{h}t\sum_{u=0}^{t-1}(-1)^{u}2^{\binom{u}{t}}{k_{i}\brack t}{t\brack u}\binom{2^{t-u}}{h}.

For two positive integers aa and bb, we also have (ab)=i=0b1aibi\binom{a}{b}=\prod_{i=0}^{b-1}\frac{a-i}{b-i} and [ab]=i=0b12a2i2b2i{a\brack b}=\prod_{i=0}^{b-1}\frac{2^{a}-2^{i}}{2^{b}-2^{i}}, where (a0)=1\binom{a}{0}=1 and [a0]=1{a\brack 0}=1. The PEXIT process searches for the minimum ϵ\epsilon to successfully decode, i.e., IAPP(j)=1,I_{APP}(j)=1, for all j[nv]j\in[n_{v}], in an asymptotic sense.
Now, we briefly explain the decoding process of GLDPC codes over the BEC [13]. The VNs process the conventional message-passing decoding over the BEC by sending correct extrinsic messages to the CNs if any of the incoming bits from their neighborhood is not erased. The SPC nodes send correct extrinsic messages to the VNs if all of their incoming messages are correctly received, and send erasure messages otherwise. In this paper, the decoding of GC nodes is processed by the maximum likelihood (ML) decoder. For each iteration, a GC node cic_{i} with the (ni,ki)(n_{i},k_{i}) component code receives the set of erasure locations {ei}\{e_{i}\} from N(ci)N(c_{i}). Let HGCH_{GC} be the parity-check matrix (PCM) of the component code and HeH_{e} be the submatrix of HGCH_{GC} indexed with {ei}\{e_{i}\}. The decoder computes the Gaussian-elimination operation of HeH_{e}, making it into a reduced row echelon form HereducedH_{e}^{reduced}. If rank(HereducedH_{e}^{reduced})=|{ei}|=|\{e_{i}\}|, the GC node solves all the input erasures and otherwise, the decoder corrects the erasures corresponding to the rows with weight 1 from HereducedH_{e}^{reduced}. The decoding complexity can be further reduced if the GC node exploits bounded distance decoding; however, the degradation of asymptotic performance is not negligible, as shown in [7].

III The Proposed Protograph-based PD-GLDPC Code

Refer to caption
(a)
Refer to caption
(b)
Refer to caption
(c)
Figure 2: Block diagram of the construction process of conventional GLDPC codes and the proposed protograph-based PD-GLDPC codes.

In this section, a new construction method of protograph-based GLDPC codes is proposed. While the conventional protograph GLDPC codes are constructed by replacing some protograph SPC nodes in the original protograph by GC nodes using the component code, the proposed protograph-based PD-GLDPC code is constructed by adding the GC nodes for the subset of variable nodes using component codes after the lifting process of the original protograph, where each GC node is connected to the variable nodes copied from single protograph variable node. A block diagram of the construction process of both codes together with the conventional random GLDPC code is given in Fig. 2.

III-A Construction Method of Protograph-based PD-GLDPC Code

Refer to caption
Figure 3: An example of a proposed (𝔹2×3,7,4,14,1)({\mathbb{B}}_{2\times 3},7,4,14,1) protograph-based PD-GLDPC code construction, where 𝔹2×3=[1 1 1;1 0 1]{\mathbb{B}}_{2\times 3}=[1\,1\,1;1\,0\,1] and π\pi is the 14×1414\times 14 sized permutation matrix.

First, we define the partial doping for variable nodes using the addition of GC nodes to a lifted protograph, that is, the addition of rows for the parity check matrix by the component code, where each GC node is incident to variable nodes copied from single protograph variable node. Also, we define a partially doped protograph variable node as a protograph variable node incident to the added GC nodes. While the term doping in conventional GLDPC codes is used in the perspective of check nodes, we use the term partial doping in the perspective of variable nodes. Let 𝔹nc×nv{\mathbb{B}}_{n_{c}\times n_{v}} be an nc×nvn_{c}\times n_{v} base matrix, where some protograph variable nodes are partially doped with a (μ,κ)(\mu,\kappa) component code after the lifting process. Let x=0,1,2,x=0,1,2,{\cdots} be the number of the partially doped protograph variable nodes, where each protograph variable node is doped by N/μN/\mu component codes after the lifting process. Then, a proposed protograph-based PD-GLDPC code is defined with parameters (𝔹nc×nv,μ,κ,N,x)({\mathbb{B}}_{n_{c}\times n_{v}},\mu,\kappa,N,x). We assume that the component code used in the paper is the (μ,κ)(\mu,\kappa) Hamming code and that μ\mu divides the lifting factor NN such that N=μβN=\mu\beta, where β\beta is a non-negative integer. The variable nodes copied from xx protograph variable nodes in the base matrix are partially doped by the GC nodes. That is, in the proposed PD-GLDPC code construction, the N/μN/\mu GC nodes are connected to the NN variable nodes lifted from each protograph variable node. Thus, the proposed construction method can choose the protograph variable nodes to protect by partial doping. An example of the proposed construction is given in Fig. 3, which illustrates the doping process by a (7,4)(7,4) component Hamming code over a 2×32\times 3 base matrix.

Refer to caption
(a)
Refer to caption
(b)
Figure 4: PCM of a protograph-based PD-GLDPC code.

The basic concept of the proposed construction is to focus on the protection of VNs lifted from single protograph VN. Although only a portion of VNs from a single protograph VN can be partially doped, for the exactness of EXIT computation and the typical minimum distance analysis, we have limited the doping process over the entire VNs lifted from a single protograph VN. Since NN is the multiple of the component code length, all the VNs lifted from single protograph VN can be protected by using β\beta GC nodes. A simple example for the PCM for β\beta GC nodes, connected to the VNs lifted from single protograph VN, HH\textbf{H}_{\textbf{H}} is shown in Fig. 4(a), where HHamm\textbf{H}_{Hamm} is the PCM of the Hamming code. Although the PCM of the Hamming code can be applied randomly, a trivial representation of applying generalized constraints sequentially is given. The constructed PD-GLDPC code has a PCM PD-GLDPC{\mathbb{H}}_{PD{\text{-}}GLDPC} as in Fig. 4(b), where the upper part is the PCM of the added βx\beta x GC nodes and the lower part proto{\mathbb{H}_{proto}} refers to the PCM of the LDPC code lifted from the original protograph. Intuitively, HH\textbf{H}_{\textbf{H}} represents the PCM for each partially doped VN in the protograph and thus, the x=|𝒳|x=|\mathcal{X}| bundles of matrices are diagonally appended to the PCM of the PD-GLDPC code. Since the doping proceeds after the lifting process, PD-GLDPC codes cannot be expressed in terms of a protograph. We define the doping ratio ν\nu as the portion of GC nodes over the entire constraint nodes, i.e., ν=xβxβ+ncN.\nu=\frac{x\beta}{x\beta+n_{c}N}. Also, we define the doping granularity as the minimum number of protograph VNs needed for doping. For the protograph doped GLDPC codes with (μ,κ)(\mu,\kappa) component code, the doping granularity is μ\mu, whereas the proposed PD-GLDPC code has doping granularity 1. The finer doping granularity of the PD-GLDPC codes allows the construction of protograph-based GLDPC codes with the higher rate.

III-B The PEXIT Analysis of Protograph-based PD-GLDPC Codes

Refer to caption
Figure 5: An example of the Tanner graph representation of the proposed PD-GLDPC code from the protograph 𝔹2×3=[1 1 1;1 0 1]{\mathbb{B}}_{2\times 3}=[1\,1\,1;1\,0\,1], where x=1x=1.

The PEXIT of the proposed protograph-based PD-GLDPC codes is similar to that of the conventional protograph GLDPC codes in Alg. 1 except for the EXIT of a GC node. Since the incoming mutual information of each GC node is obtained from only one protograph variable node in the proposed code, the average mutual information sent to each GC node is the same as the extrinsic message of the protograph variable node connected to the GC node. Let bj,j[x]b_{j},j\in[x] be the virtual node representing the set of β\beta GC nodes connected to the protograph variable node vjv_{j}. An example of the representation of a virtual node over a protograph is given in Fig. 5. Note that although bjb_{j} is not a protograph node itself, it is possible to compute the PEXIT of a protograph-based PD-GLDPC code. Also, let IEV(bj)(j)I_{EV}^{(b_{j})}(j) be the extrinsic information from vjv_{j} to bjb_{j} expressed as

IEV(bj)(j)=1ϵtN(vj)(1IAV(t,j)),j[x].I_{EV}^{(b_{j})}(j)=1-\epsilon\prod_{t\in N(v_{j})}(1-I_{AV}(t,j)),j\in[x].

Since bjb_{j} is solely connected to vjv_{j}, the index term for the extrinsic information from vjv_{j} to bjb_{j} is expressed by the notation of jj only. In order to compute the EXIT of bjb_{j}, let IAGC(bj)(j)I_{AGC}^{(b_{j})}(j) and IEGC(bj)(j)I_{EGC}^{(b_{j})}(j) be the a priori and extrinsic mutual informations of bjb_{j}, respectively. Note that the EXIT of each GC node is computed from single a priori mutual information to process single value of extrinsic mutual information for the neighboring variable nodes. For the conventional protograph GLDPC codes, the a priori mutual information of a protograph GC node is computed by averaging the extrinsic mutual information of its neighboring variable nodes. However, for the proposed protograph-based PD-GLDPC codes, since bjb_{j} receives the extrinsic mutual information of vjv_{j} only, it is clear that IAGC(bj)(j)=IEV(bj)(j),j[x]I_{AGC}^{(b_{j})}(j)=I_{EV}^{(b_{j})}(j),\,j\in[x]. We also compute the extrinsic mutual information from bjb_{j} to vjv_{j} denoted as IEGC(bj)(j)I_{EGC}^{(b_{j})}(j) using (1), given the a priori mutual information IAGC(bj)(j)I_{AGC}^{(b_{j})}(j), which is given as

IEGC(bj)(j)=1μh=1μ(1IAGC(bj)(j))h1(IAGC(bj)(j))μh[he~h(μh+1)e~h1].I_{EGC}^{(b_{j})}(j)=\frac{1}{\mu}\sum_{h=1}^{\mu}\bigl{(}1-I_{AGC}^{(b_{j})}(j)\bigr{)}^{h-1}\bigl{(}I_{AGC}^{(b_{j})}(j)\bigr{)}^{\mu-h}[h\tilde{e}_{h}-(\mu-h+1)\tilde{e}_{h-1}]. (2)

Note that for the proposed protograph-based PD-GLDPC codes, the a priori (extrinsic) EXIT of the GC node is computed from the extrinsic (a priori) EXIT of single protograph variable node. While the EXIT of variable nodes and SPC nodes for the proposed protograph-based PD-GLDPC codes is the same as that of the conventional protograph GLDPC codes described in Alg. 1, the EXIT of the GC nodes in the proposed codes is changed to (2) whereas the conventional protograph GLDPC codes use (1).
In general, as the portion of degree-2 variable nodes in the LDPC codes increases, the asymptotic performance is enhanced [37], but their minimum distance decreases and then the error floor becomes worse. Although the proposed protograph-based PD-GLDPC code construction method enables the partial doping for any variable nodes in the given protographs, we focus only on partial doping for degree-2 variable nodes as follows. First, we construct the original base matrix proto{\mathbb{H}_{proto}} with the large portion of degree-2 variable nodes. Then, we partially dope some of the protograph variable nodes of degree-2 to increase the minimum distance and improve their performance. Thus, regular protographs of degree-2 variable nodes and irregular protographs with many degree-2 variable nodes are used for the construction of the proposed protograph-based PD-GLDPC codes. In terms of irregular ensemble LDPC codes, a large portion of degree-2 variable nodes enables the LDPC code to achieve the capacity approaching performance [38]. On the other hand, by reasonably selecting the number of partially doped variable nodes for degree-2, the property of the linear minimum distance growth with the length of the LDPC code can be guaranteed. Thus, when we design the proposed protograph-based PD-GLDPC codes, balancing the partial doping over degree-2 variable nodes enables both the existence of a typical minimum distance and a good asymptotic performance.

III-C Condition for Typical Minimum Distance of Protograph-based PD-GLDPC Code

The existence of a typical minimum distance in the given LDPC codes guarantees that their minimum distance grows linearly with the block length of the code in an asymptotic sense [34]. It was proved in [35] that a protograph LDPC code has a typical minimum distance if there is no cycle consisting of only degree-2 variable nodes in the protograph. Furthermore, in [36], the condition for a typical minimum distance of the conventional protograph GLDPC codes was given as follows. Assuming that there are no degree-2 variable nodes with double edges, i.e., no type 1 degree-2 variable nodes defined in [36], the neighborhoods of a check node cic_{i} that satisfy dminiN(dv2)(ci)d^{i}_{min}\geq N^{(dv2)}(c_{i}) are removed along with its edges, where N(dv2)(ci)N^{(dv2)}(c_{i}) is the number of degree-2 variable nodes among the neighborhoods of cic_{i}. This process is repeated until no further degree-2 variable nodes remain. Then, the GLDPC code has a typical minimum distance if all degree-2 variable nodes are removed.
The proposed protograph-based PD-GLDPC code also has a similar approach to that of the conventional protograph GLDPC codes in [36]. However, since a GC node of the proposed protograph-based PD-GLDPC code is not well defined by a protograph node, the derivation of the weight enumerator of the proposed codeword is quite different from that of the conventional GLDPC code. Thus, the condition for the existence of the typical minimum distance of the proposed protograph-based PD-GLDPC codes is slightly different from that of the conventional protograph LDPC code. That is, the degree-2 variable nodes to be partially doped are initially excluded before the degree-2 variable node removing process stated in [35], because those variable nodes should be changed to the variable nodes of degrees higher than two by partial doping. Thus, we can regard the degree-2 variable nodes to be partially doped as the variable nodes with higher degrees. Then, we have the following theorem for the proposed protograph-based PD-GLPDC codes.

Theorem 1.

For a (𝔹nc×nv,μ,κ,N,x)({\mathbb{B}}_{n_{c}\times n_{v}},\mu,\kappa,N,x) protograph-based PD-GLDPC code, if the undoped degree-2 variable nodes in the protograph have no cycles among themselves, the proposed protograph-based PD-GLDPC code has a typical minimum distance.

Proof.

The proof is given in Appendix A.

The existence of the typical minimum distance of the proposed protograph-based PD-GLDPC code guarantees that the minimum distance of the proposed code grows linearly with the code length of the LDPC code, and thus the proposed code has low error floor for the large code length. In the next section, we use Theorem 1 as the constraint to optimize the protograph in order to guarantee the existence of the typical minimum distance of the proposed protograph-based PD-GLDPC code.

III-D Comparison between the Proposed PD-GLDPC Code and the Conventional Protograph GLDPC Code

The main difference between the proposed protograph-based PD-GLDPC codes and the conventional protograph GLDPC codes is the perspective of doping. While the conventional protograph GLDPC code replaces an entire row, i.e., a protograph check node by the parity check matrix of the component code, the proposed protograph-based PD-GLDPC code appends some rows incident to the variable nodes copied from single protograph variable node. The focus of the conventional protograph GLDPC code is to choose a certain protograph check node, whereas the protograph-based PD-GLDPC code is focusing on choosing which protograph variable nodes are further protected by partial doping. The constraint for the conventional protograph GLDPC code is that the check nodes to be replaced should have the degree equal to the component code length, while the constraint for the proposed protograph-based PD-GLDPC codes is that the lifting size of a protograph should be the multiple of the component code length.
The selection of the check nodes to be replaced in the conventional protograph GLDPC codes is generally difficult since it requires a combinatory search of either the best threshold, minimum distance, or convergence speed. Also, since many SPC nodes of a given base matrix connect the variable nodes with various degrees, it is very difficult to select the variable nodes to be partially doped for further protection in the conventional protograph GLDPC codes.
Furthermore, the conventional protograph GLDPC code construction has two limitations in terms of PEXIT analysis and doping granularity. First, the PEXIT analysis of the conventional protograph GLDPC codes is not accurate because the PEXIT of the GC node is derived from averaged EXIT of μ\mu (component code length) protograph variable nodes. Using a MAP-oriented computation as in Alg. 1, the GC node outputs a single value that represents the extrinsic mutual information for the μ\mu protograph variable nodes. Thus, a GC node averages up the a priori mutual information of the μ\mu neighborhood protograph variable nodes and outputs uniform extrinsic mutual information, which is similar to the EXIT analysis of a random ensemble LDPC code [28]. Since each GC node receives a priori inputs from μ\mu different protograph variable nodes, the EXIT analysis is not accurate. Thus, the higher variance of the a priori mutual information from the average, the greater the deviation of the code between the threshold and the actual decoding performance. On the other hand, since the EXIT of a GC node in the proposed protograph-based PD-GLDPC code requires the a priori mutual information of the same protograph variable node, there is no deviation since the μ\mu mutual information has the same value, which makes the PEXIT of the proposed code more accurate.
The second limitation is that the conventional protograph GLDPC codes have large doping granularity of protograph variable nodes compared to that of the proposed one. By replacing a single protograph GC node by a component code with parameters (μ,κ)(\mu,\kappa), the μ\mu protograph variable nodes are doped. Whereas, for every partial doping of β\beta GC nodes in the proposed protograph-based PD-GLDPC code, the variable nodes copied from single protograph variable node are partially doped. In other words, the doping granularity is one, which is smaller than the conventional protograph GLDPC codes.
In summary, compared to the conventional protograph GLDPC codes, the proposed protograph-based PD-GLDPC code is more accurate in the PEXIT analysis and has the smaller doping granularity.

IV Optimization of PD-GLDPC Codes

In this section, we introduce two optimization methods for the PD-GLDPC codes. The first subsection illustrates the construction method of protographs from the degree distribution of a random LDPC code ensemble in order to conduct comparison between LDPC codes and PD-GLDPC codes under the same degree distribution. The second subsection shows the optimization method of the protograph using the differential evolution algorithm in order to conduct comparison between LDPC codes and PD-GLDPC codes without any constraints.

IV-A Differential Evolution-Based Code Construction from the Degree Distribution of Random LDPC Code Ensembles

In general, as the portion of degree-2 VNs in the LDPC codes increases, the asymptotic performance is enhanced [37], but their minimum distance decreases and then the error floor becomes worse. For the construction of PD-GLDPC codes in this subsection, we exploit the balance of the portion of degree-2 VNs, where we focus on the partial doping only for degree-2 VNs. The brief construction method is as follows. First, we construct the original base matrix 𝔹nc×nv{\mathbb{B}_{n_{c}\times n_{v}}} with the large portion of degree-2 VNs. Then, we partially dope some of the protograph VNs of degree-2 to increase the minimum distance and improve their performance. Thus, irregular protographs with several degree-2 VNs are used for the construction of the proposed PD-GLDPC codes. In terms of irregular LDPC code ensembles, a large portion of degree-2 VNs enables the LDPC code to achieve the capacity approaching performance [38]. On the other hand, by reasonably selecting the number of partially doped VNs of degree-2, the property of the linear minimum distance growth with the length of the LDPC code can be guaranteed. Thus, when we design the proposed PD-GLDPC codes, balancing the partial doping over degree-2 VNs enables both the existence of a typical minimum distance and a good asymptotic performance. Optimization of irregular protograph LDPC code ensembles is made by initially obtaining the degree distribution of the random LDPC code ensemble using differential evolution [30] and constructing the protograph via the progressive edge growth (PEG) [39] algorithm for the construction of the proposed PD-GLPDC codes from irregular protographs. In this subsection, in order to make the CN degrees as even as possible, we try to construct the protograph from the degree distribution of a random LDPC code ensemble. We define GcG_{c} as the optimized protograph of the conventional LDPC code and GpG_{p} as the initial irregular protograph that is used to construct the PD-GLDPC code. That is, we can regard GpG_{p} as the protograph corresponding to HprotoH_{proto} in Fig. 4. In order to compare FER performances of the conventional LDPC code and the proposed PD-GLDPC code under the same degree distribution, GcG_{c} is constructed to have the same VN degree distribution as the PD-GLDPC code constructed from GpG_{p} after lifting by NN.
Let λGc(x)\lambda_{G_{c}}(x) and ρGc(x)\rho_{G_{c}}(x) be the VN and CN degree distributions of an irregular LDPC code ensemble to construct GcG_{c}, which is the optimized protograph for the conventional LDPC codes. In this subsection, we assume the degree distributions λGc(x)=λ2x+λ3x2+λ4x3+λ5x4+λ6x5+λlxl1\lambda_{G_{c}}(x)=\lambda_{2}x+\lambda_{3}x^{2}+\lambda_{4}x^{3}+\lambda_{5}x^{4}+\lambda_{6}x^{5}+\lambda_{l}x^{l-1} and ρGc(x)=ρr1xr2+ρrxr1\rho_{G_{c}}(x)=\rho_{r-1}x^{r-2}+\rho_{r}x^{r-1}, where λi\lambda_{i} and ρi\rho_{i} are the portions of edges of VNs and CNs of degree-ii. Using the optimized degree distributions of λGc(x)\lambda_{G_{c}}(x) and ρGc(x)\rho_{G_{c}}(x), a protograph GcG_{c} is constructed by the PEG algorithm. For the description of the protographs that construct the conventional LDPC codes and the proposed PD-GLDPC codes, let 𝔻𝕕𝕧=(a1,,amax){\mathbb{D}}^{\mathbb{dv}}=(a_{1},{\cdots},a_{max}) be a |𝕕𝕧||\mathbb{dv}|-sized vector defining the numbers of protograph VNs, where aia_{i} is the number of protograph VNs of degree lil_{i} and 𝕕𝕧={l1,l2,,lmax}\mathbb{dv}=\{l_{1},l_{2},{\cdots},l_{max}\} is a set of VN degrees that exist in the protograph.

Algorithm 2 Construction of GcG_{c} and the PD-GLDPC code
0:  μ\mu, κ\kappa, nvn_{v}, ncn_{c}, RR, ll, rr, ymaxy_{max}
0:  yopty^{opt}, GcG_{c}, GpG_{p}
1:  Step 1) Optimize degree distribution of GcG_{c}Optimize λGc(x)=λ2x+λ3x2+λ4x3+λ5x4+λ6x5+λlxl1\lambda_{G_{c}}(x)=\lambda_{2}x+\lambda_{3}x^{2}+\lambda_{4}x^{3}+\lambda_{5}x^{4}+\lambda_{6}x^{5}+\lambda_{l}x^{l-1} and ρGc(x)=ρr1xr2+ρrxr1\rho_{G_{c}}(x)=\rho_{r-1}x^{r-2}+\rho_{r}x^{r-1} using differential evolution under constraints (a)\sim(c):
  1. (a)

    rate constraint R=101ρGc(x)𝑑x01λGc(x)𝑑x,0λi1,0ρi1R=1-\frac{\int_{0}^{1}\rho_{G_{c}}(x)dx}{\int_{0}^{1}\lambda_{G_{c}}(x)dx},0\leq\lambda_{i}\leq 1,0\leq\rho_{i}\leq 1

  2. (b)

    typical minimum distance constraint λ2/2Σ×nvnc1ymax(μκ)λ22Σ{nc1ymax(μκ)}nv\frac{\lambda_{2}/2}{\Sigma}\times n_{v}\leq n_{c}-1-y_{max}(\mu-\kappa)\leftrightarrow\lambda_{2}\leq\frac{2\Sigma\{n_{c}-1-y_{max}(\mu-\kappa)\}}{n_{v}}

  3. (c)

    GpG_{p} existence constraint λ312Σymaxnv,λ424Σymaxnv,λ520Σymaxnv,λ66Σymaxnv\lambda_{3}\geq\frac{12\Sigma y_{max}}{n_{v}},\lambda_{4}\geq\frac{24\Sigma y_{max}}{n_{v}},\lambda_{5}\geq\frac{20\Sigma y_{max}}{n_{v}},\lambda_{6}\geq\frac{6\Sigma y_{max}}{n_{v}}

2:  Step 2) Construction of GcG_{c} From the optimized degree distribution and the random PEG algorithm, construct GcG_{c} defined as 𝔻(2,3,4,5,6,l)=(a,b,c,d,e,f)\mathbb{D}^{(2,3,4,5,6,l)}=(a,b,c,d,e,f) guaranteeing a typical minimum distance.
3:  Step 3) Optimization of GpG_{p} For each y=1,2,,ymaxy=1,2,{\cdots},y_{max}, construct GpG_{p} defined as 𝔻(2,3,4,5,6,l)=(a+15y,b4y,c6y,d4y,ey,f)\mathbb{D}^{(2,3,4,5,6,l)}=(a+15y,b-4y,c-6y,d-4y,e-y,f) and choose yopt{y}y^{opt}\in\{y\} with the best threshold.
4:  Step 4) Typical minimum distance check of the PD-GLDPC code For the chosen yopty^{opt} and GpG_{p}, if there exists any cycle for the submatrix induced by undoped VNs of degree-2, go to Step 2). Otherwise, output yopty^{opt} and GpG_{p}.

In order to make the same VN degree distributions of the LDPC codes constructed from GcG_{c} and the PD-GLDPC codes constructed from GpG_{p} after lifting by NN, optimization of λGc(x)\lambda_{G_{c}}(x) and ρGc(x)\rho_{G_{c}}(x) should be constrained by ymaxy_{max}, which is the maximum number of bulks of protograph VNs allowed to be partially doped in GpG_{p}. Although doping granularity for the proposed PD-GLDPC code is 1, we consider doping for bulks of protograph VNs in order to easily match the code rate and degree distribution because the purpose of this subsection is comparing FER performances between the conventional LDPC code and the proposed PD-GLDPC code under the same degree distribution. A PD-GLDPC code is constructed by partially doping μy\mu y protograph VNs in GpG_{p}. Construction of a PD-GLDPC code from GpG_{p} is optimized by ranging the doping bulk yy, 1yymax1\leq y\leq y_{max}. That is, we search for the optimal value yy which maximizes the coding gain between the PD-GLDPC codes constructed from GpG_{p} and the conventional protograph LDPC codes constructed from GcG_{c}.
Conditions for the degree distributions in order to construct GcG_{c} are derived as follows. The conditions need to guarantee two criteria: i) the VN degree distributions of the protograph LDPC code constructed from GcG_{c} and the PD-GLDPC code constructed from GpG_{p} after lifting by NN are the same and ii) a typical minimum distance exists for both code ensembles. In this subsection, we assume that partial doping is conducted for the first μy\mu y degree-2 protograph VNs without loss of generality due to randomness of the PEG algorithm. For the yy bulks of partially doped protograph VNs using the PCM of the (15,11)(15,11) Hamming code, the numbers of protograph VNs in GpG_{p} should be

𝔻(2,3,4,5,6,l)=(a+15y,b4y,c6y,d4y,ey,f).\mathbb{D}^{(2,3,4,5,6,l)}=(a+15y,b-4y,c-6y,d-4y,e-y,f).

Given that GcG_{c} is represented as 𝔻(2,3,4,5,6,l)=(a,b,c,d,e,f)\mathbb{D}^{(2,3,4,5,6,l)}=(a,b,c,d,e,f), for the existence constraint, each element of 𝔻(2,3,4,5,6,l)\mathbb{D}^{(2,3,4,5,6,l)} should be non-negative. The parameters aa\simff are approximated by the PEG construction as

anvλ2/2Σ,bnvλ3/3Σ,cnvλ4/4Σ,a\approx\left\lfloor n_{v}\frac{\lambda_{2}/2}{\Sigma}\right\rfloor,b\approx\left\lfloor n_{v}\frac{\lambda_{3}/3}{\Sigma}\right\rfloor,c\approx\left\lfloor n_{v}\frac{\lambda_{4}/4}{\Sigma}\right\rfloor,
dnvλ5/5Σ,envλ6/6Σ,andfnvλl/lΣ,d\approx\left\lfloor n_{v}\frac{\lambda_{5}/5}{\Sigma}\right\rfloor,e\approx\left\lfloor n_{v}\frac{\lambda_{6}/6}{\Sigma}\right\rfloor,\,{\rm{and}}\,f\approx\left\lfloor n_{v}\frac{\lambda_{l}/l}{\Sigma}\right\rfloor,

where Σ=01λGc(x)𝑑x\Sigma=\int_{0}^{1}\lambda_{G_{c}}(x)dx. For the realization of the protograph from the degree distribution using the PEG algorithm, if the summation a+b+c+d+e+fa+b+c+d+e+f is lower than nvn_{v}, the values of aa\simff are added by 1 in order starting from the lowest VN degree until the summation is equal to nvn_{v}.
If GcG_{c} is determined for a given ymaxy_{max} as 𝔻(2,3,4,5,6,l)=(a,b,c,d,e,f)\mathbb{D}^{(2,3,4,5,6,l)}=(a,b,c,d,e,f), where a+b+c+d+e+f=nva+b+c+d+e+f=n_{v}, GpG_{p} defined by 𝔻(2,3,4,5,6,l)=(a+15y,b4y,c6y,d4y,ey,f)\mathbb{D}^{(2,3,4,5,6,l)}=(a+15y,b-4y,c-6y,d-4y,e-y,f) can be constructed for y=1,,ymaxy=1,{\cdots},y_{max}. By allowing the PEG algorithm of the VN degree distribution over a base matrix with size {nc(μκ)y}×nv\{n_{c}-(\mu-\kappa)y\}\times n_{v}, both the code rate and the VN degree distributions for the LDPC codes constructed from GcG_{c} and the proposed PD-GLDPC codes constructed from GpG_{p} after lifting by NN are matched. We search for the value of yy, which has the best PEXIT threshold while having a typical minimum distance. The optimized doping value is denoted as yopty^{opt}. The construction of GcG_{c} and the PD-GLDPC code is described in Alg. 2.

TABLE II: Simulation results for optimized PD-GLDPC codes from irregular protographs using Alg. 2, where l=20,nv=400,R=1/2l=20,n_{v}=400,R=1/2.
ymaxy_{max} λGc(x),ρGc(x)\lambda_{G_{c}}(x),\rho_{G_{c}}(x) (threshold)
GcG_{c} protograph
𝔻(2,3,4,5,6,20)\mathbb{D}^{(2,3,4,5,6,20)}
/ GcG_{c} threshold
GpG_{p} protograph
𝔻(2,3,4,5,6,20)\mathbb{D}^{(2,3,4,5,6,20)}, yopty^{opt}
/ PD-GLDPC threshold
Coding gain
5
λGc(x)=0.2049x+0.2489x2+0.1150x3\lambda_{G_{c}}(x)=0.2049x+0.2489x^{2}+0.1150x^{3}
+0.074x4+0.0210x5+0.3363x19+0.074x^{4}+0.0210x^{5}+0.3363x^{19}
ρGc(x)=0.9735x7+0.0265x8\rho_{G_{c}}(x)=0.9735x^{7}+0.0265x^{8} (0.48150.4815)
(165,134,47,23,5,26)(165,134,47,23,5,26)
/ 0.46200.4620
(240,114,17,3,0,26)(240,114,17,3,0,26), yopt=5y^{opt}=5
/ 0.46990.4699
0.00790.0079
10
λGc(x)=0.1894x+0.2255x2+0.1431x3\lambda_{G_{c}}(x)=0.1894x+0.2255x^{2}+0.1431x^{3}
+0.1191x4+0.0357x5+0.2872x19+0.1191x^{4}+0.0357x^{5}+0.2872x^{19}
ρGc(x)=0.9908x7+0.0012x8\rho_{G_{c}}(x)=0.9908x^{7}+0.0012x^{8} (0.46960.4696)
(152,121,57,38,9,23)(152,121,57,38,9,23)
/ 0.45230.4523
(287,85,3,2,0,23)(287,85,3,2,0,23), yopt=9y^{opt}=9
/ 0.46380.4638
0.01150.0115
15
λGc(x)=0.1632x+0.1758x2+0.2143x3\lambda_{G_{c}}(x)=0.1632x+0.1758x^{2}+0.2143x^{3}
+0.1827x4+0.0543x5+0.2098x19+0.1827x^{4}+0.0543x^{5}+0.2098x^{19}
ρGc(x)=0.9940x7+0.0060x8\rho_{G_{c}}(x)=0.9940x^{7}+0.0060x^{8} (0.44760.4476)
(131,94,86,59,14,16)(131,94,86,59,14,16)
/ 0.43520.4352
(341,38,2,3,0,16)(341,38,2,3,0,16), yopt=14y^{opt}=14
/ 0.45340.4534
0.01820.0182

The protograph of the conventional protograph LDPC code, GcG_{c} is made for ymax=5,10,15y_{max}=5,10,15 for the half-rate protograph LDPC code ensemble. The numerical results are summarized in Table II, where the coding gain given for the proposed PD-GLDPC code is compared to the conventional protograph LDPC code with the equal degree distribution.

IV-B Optimization of PD-GLDPC Codes Using Protograph Differential Evolution

Algorithm 3 Differential evolution algorithm to design the base matrix of the PD-GLDPC codes
0:  μ\mu, κ\kappa, ncn_{c}, nvn_{v}, 𝒳\mathcal{X}, gg, tt, NpN_{p}, pcp_{c}, FF, α\alpha
0:  𝔹nc×nv{\mathbb{B}}_{n_{c}\times n_{v}}
1:  Initialization: Set the initial base matrices (𝔹1,,𝔹Np)(\mathbb{B}_{1},{\ldots},\mathbb{B}_{N_{p}}) each with size nc×nvn_{c}\times n_{v} randomly, where each entry is chosen from {0,,t}\{0,{\ldots},t\}.
2:  for m=1:gm=1:g do
3:     Mutation: For each k{1,,Np}k\in\{1,{\ldots},N_{p}\}, the mutation matrices are created through the interpolation as follow:
[𝕄k]i,j=[𝔹r1]i,j+(F+α(1F))([𝔹r2]i,j[𝔹r3]i,j),[\mathbb{M}_{k}]_{i,j}=[\mathbb{B}_{r_{1}}]_{i,j}+(F+\alpha(1-F))([\mathbb{B}_{r_{2}}]_{i,j}-[\mathbb{B}_{r_{3}}]_{i,j}),
where [𝔸]i,j[\mathbb{A}]_{i,j} is the (i,j)(i,j) element of the matrix 𝔸\mathbb{A} and indices ri[Np],i=1,2,3r_{i}\in[N_{p}],i=1,2,3 are distinct and randomly selected. Each entry of 𝕄k\mathbb{M}_{k} is replaced with the nearest integer in {0,,t}\{0,{\ldots},t\}.
4:     Crossover: For each k{1,,Np}k\in\{1,{\ldots},N_{p}\}, create the trial matrices 𝕄k\mathbb{M^{\prime}}_{k} such that [𝕄k]i,j=[𝕄k]i,j[\mathbb{M^{\prime}}_{k}]_{i,j}=[\mathbb{M}_{k}]_{i,j} with a probability pcp_{c} and [𝕄k]i,j=[𝔹k]i,j[\mathbb{M^{\prime}}_{k}]_{i,j}=[\mathbb{B}_{k}]_{i,j} with probability 1pc1-p_{c}. If 𝕄k\mathbb{M^{\prime}}_{k} contains any cycles only consisting of undoped degree-2 protograph VNs, 𝕄k\mathbb{M^{\prime}}_{k} is regenerated.
5:     Selection: Each base matrix in the candidates for (m+1)(m+1)th generation is chosen between 𝔹k\mathbb{B}_{k} and 𝕄k\mathbb{M^{\prime}}_{k}. If the threshold of 𝔹k\mathbb{B}_{k} is larger than 𝕄k\mathbb{M^{\prime}}_{k}, no update is made. Otherwise, update 𝔹k\mathbb{B}_{k} to 𝕄k\mathbb{M^{\prime}}_{k}.
6:  end for
7:  From 𝔹k,k[Np]\mathbb{B}_{k},k\in[N_{p}], choose the matrix with the best threshold value and output 𝔹nc×nv\mathbb{B}_{n_{c}\times n_{v}}.

In this subsection, we propose the optimization method using the differential evolution algorithm. Similar to the differential evolution algorithm in [37], we use the differential evolution algorithm to find the protograph with the optimized BEC threshold. The parameters for the differential evolution are given as follows. The number of generations of the algorithm gg is set to 60006000. Each entry of the base matrix can have the integer value varying from 0 to a positive integer tt. The number of base matrices examined for each generation instance is defined as NpN_{p}. For a given base matrix size nc×nvn_{c}\times n_{v}, we fix Np=10ncnvN_{p}=10{\cdot}n_{c}n_{v}. The mutation parameter FF is fixed to 0.50.5 and α\alpha is a uniform random variable with the domain [0,1][0,1]. Lastly, the crossover probability pcp_{c} is fixed to 0.880.88 in this paper.
We define the optimized PD-LDPC code ensemble as C1C_{1} and the optimization algorithm is given in Alg. 3. It is clear that while the optimization process is the same as that of the protograph LDPC codes, the indices of the partial doping represented by 𝒳\mathcal{X} are included, which show the protograph VNs that are doped by GC nodes. Although the indices of 𝒳\mathcal{X} can be arbitrarily selected for code constructions using the differential evolution algorithms, we fix the number of indices as small as possible. For applications on partially doping over a given protograph, algorithms selecting the indices of 𝒳\mathcal{X} can be made to optimize the performance of the code ensemble. Also, the criterion for the existence of the typical minimum distance derived in Theorem 1 is used during the construction of new trial matrices for the proposed PD-GLDPC codes. The component code used in the following optimization is a (15,11)(15,11) Hamming code.

𝔹8×16C1=[𝟝𝟚00000011100000𝟜𝟘00000001010100𝟝𝟝01001000011100𝟝𝟘10215500550503𝟝𝟛01115100001120𝟘𝟘10000141300210𝟜𝟘00000110100000𝟘𝟝00001030011110]\small\mathbb{B}_{8\times 16}^{C_{1}}=\left[\begin{array}[]{cccccccccccccccc}\mathbb{5}&\mathbb{2}&0&0&0&0&0&0&1&1&1&0&0&0&0&0\\ \mathbb{4}&\mathbb{0}&0&0&0&0&0&0&0&1&0&1&0&1&0&0\\ \mathbb{5}&\mathbb{5}&0&1&0&0&1&0&0&0&0&1&1&1&0&0\\ \mathbb{5}&\mathbb{0}&1&0&2&1&5&5&0&0&5&5&0&5&0&3\\ \mathbb{5}&\mathbb{3}&0&1&1&1&5&1&0&0&0&0&1&1&2&0\\ \mathbb{0}&\mathbb{0}&1&0&0&0&0&1&4&1&3&0&0&2&1&0\\ \mathbb{4}&\mathbb{0}&0&0&0&0&0&1&1&0&1&0&0&0&0&0\\ \mathbb{0}&\mathbb{5}&0&0&0&0&1&0&3&0&0&1&1&1&1&0\end{array}\right] (3)
𝔹4×12C1=[𝟛00313012230𝟛01310001201𝟛10300000102𝟛33300310100].\small\mathbb{B}_{4\times 12}^{C_{1}}=\left[\begin{array}[]{cccccccccccc}\mathbb{3}&0&0&3&1&3&0&1&2&2&3&0\\ \mathbb{3}&0&1&3&1&0&0&0&1&2&0&1\\ \mathbb{3}&1&0&3&0&0&0&0&0&1&0&2\\ \mathbb{3}&3&3&3&0&0&3&1&0&1&0&0\end{array}\right]. (4)

We optimize the protographs for the PD-GLDPC codes for base matrices with size 8×168\times 16 and 4×124\times 12. We set 𝒳={1,2}\mathcal{X}=\{1,2\} and t=5t=5 for 𝔹8×16\mathbb{B}_{8\times 16}, 𝒳={1}\mathcal{X}=\{1\} and t=3t=3 for 𝔹4×12\mathbb{B}_{4\times 12}. Let 𝔹nc×nvC1\mathbb{B}_{n_{c}\times n_{v}}^{C_{1}} be the resulting base matrix of the optimization for both cases. The optimized base matrix result of 𝔹8×16C1\mathbb{B}_{8\times 16}^{C_{1}} is given in (3), where the BEC threshold is 0.52270.5227 with the code rate 0.46670.4667. Likewise, the result of 𝔹4×12C1\mathbb{B}_{4\times 12}^{C_{1}} is given in (4), where the BEC threshold is 0.33970.3397 with the code rate 0.64440.6444. The bold parts in the matrix represent VNs that are partially doped. The results show that the VN with the highest degree is partially doped. From these optimization results, we can expect that partially doping VNs with high degree and puncturing some portion of them for rate matching can improve the performance of the proposed PD-GLDPC codes.
The approach of partially doping and puncturing is a similar techique to the precoding and puncturing. Precoding and puncturing high degree VNs in a protograph is a well known technique in order to enhance the threshold of protograph LDPC codes [40]. Precoding takes place by placing a CN between a degree-1 VN and a high degree VN. In order to compensate for the rate loss, the high degree VN is punctured. From some intuition of the proposed optimization results and well known concepts of precoding, we apply a similar approach of the precoding technique to the proposed PD-GLDPC codes.
We first define ρd\rho_{d} as the portion of random puncturing for VNs that are doped. For the BEC, we use the concept in [41] to derive ρd\rho_{d}. For a target code rate RR^{*}, the random puncturing ratio ρ\rho is 1RR1-\frac{R}{R^{*}}. Thus, ρd\rho_{d} is derived as ρd=ρnv|𝒳|\rho_{d}=\rho\cdot\frac{n_{v}}{|\mathcal{X}|} and we use it for the computation of the EXIT during the optimization algorithm. The channel values for the partially doped VNs become Ich(j)=1{ρd+(1ρd)ϵ},j𝒳I_{ch}(j)=1-\{\rho_{d}+(1-\rho_{d})\epsilon\},\,j\in\mathcal{X}. Thus, it is possible to construct the PD-GLDPC codes for the target code rate by using the random puncturing method.
For the construction of PD-GLDPC codes with the target code rate R=1/2R^{*}=1/2, the base matrix 𝔹8×16\mathbb{B}_{8\times 16} is optimized using Alg. 3 for 𝒳={1,2}\mathcal{X}=\{1,2\}, ρd=0.5333\rho_{d}=0.5333, and t=5t=5. Likewise, for the target code rate R=2/3R^{*}=2/3, the base matrix 𝔹4×12\mathbb{B}_{4\times 12} is optimized for 𝒳={1}\mathcal{X}=\{1\}, ρd=0.4058\rho_{d}=0.4058, and t=3t=3. Let 𝔹nc×nvC2\mathbb{B}_{n_{c}\times n_{v}}^{C_{2}} be the resulting base matrix for the optimized results of the protographs constructed by puncturing partially doped VNs. The optimized base matrices for both code rates are given as

𝔹8×16C2=[𝟚𝟘52130010010001𝟚𝟘00100000011000𝟙𝟚00001000000010𝟙𝟘00000102102120𝟚𝟘00000101000000𝟙𝟙10100010002110𝟘𝟘01204010100031𝟛𝟙10100000010000],\footnotesize\mathbb{B}_{8\times 16}^{C_{2}}=\left[\begin{array}[]{cccccccccccccccc}\mathbb{2}&\mathbb{0}&5&2&1&3&0&0&1&0&0&1&0&0&0&1\\ \mathbb{2}&\mathbb{0}&0&0&1&0&0&0&0&0&0&1&1&0&0&0\\ \mathbb{1}&\mathbb{2}&0&0&0&0&1&0&0&0&0&0&0&0&1&0\\ \mathbb{1}&\mathbb{0}&0&0&0&0&0&1&0&2&1&0&2&1&2&0\\ \mathbb{2}&\mathbb{0}&0&0&0&0&0&1&0&1&0&0&0&0&0&0\\ \mathbb{1}&\mathbb{1}&1&0&1&0&0&0&1&0&0&0&2&1&1&0\\ \mathbb{0}&\mathbb{0}&0&1&2&0&4&0&1&0&1&0&0&0&3&1\\ \mathbb{3}&\mathbb{1}&1&0&1&0&0&0&0&0&0&1&0&0&0&0\end{array}\right], (5)
𝔹4×12C2=[𝟚00100321022𝟚01100110022𝟛10001100001𝟚12032001303],\footnotesize\mathbb{B}_{4\times 12}^{C_{2}}=\left[\begin{array}[]{cccccccccccc}\mathbb{2}&0&0&1&0&0&3&2&1&0&2&2\\ \mathbb{2}&0&1&1&0&0&1&1&0&0&2&2\\ \mathbb{3}&1&0&0&0&1&1&0&0&0&0&1\\ \mathbb{2}&1&2&0&3&2&0&0&1&3&0&3\end{array}\right], (6)

where resulting base matrix for R=1/2R^{*}=1/2 is given in (5) and the resulting base matrix for R=2/3R^{*}=2/3 is given in (6). The resulting thresholds of the optimized base matrices are 0.48570.4857 and 0.3190.319 for target code rates R=1/2R^{*}=1/2 and R=2/3R^{*}=2/3, respectively. The optimization results show that the constructed PD-GLDPC codes have capacity approaching performances and the average VN density is reduced by huge amount compared to 𝔹nc×nvC1\mathbb{B}_{n_{c}\times n_{v}}^{C_{1}}. Since the base matrix 𝔹nc×nvC2\mathbb{B}_{n_{c}\times n_{v}}^{C_{2}} is driven from the random puncturing of partially doped VNs, we define the constructed PD-GLDPC code ensemble with parameters (𝔹nc×nvC2,μ,κ,𝒳,ρd)(\mathbb{B}_{n_{c}\times n_{v}}^{C_{2}},\mu,\kappa,\mathcal{X},\rho_{d}).

V Numerical Results and Analysis

In this section, we propose the optimized protograph design and show the BLER of the proposed protograph-based PD-GLDPC codes. The performance of the conventional protograph LDPC code is compared with that of the proposed protograph-based PD-GLDPC code. In order to make this comparison, we construct a protograph ensemble that has the same variable node degree distribution as that of the proposed protograph-based PD-GLDPC code.

In this section, we propose the optimized protograph design and show the FER of the proposed PD-GLDPC codes. The performance of the conventional protograph LDPC code is compared with that of the proposed PD-GLDPC code. Two methods of comparison are conducted. The first subsection compares them under the same degree distribution using Alg. 2. The second subsection compares the performance of the PD-GLDPC codes constructed without the degree distribution constraints using Alg. 3 to the state-of-the-art protograph LDPC codes.

V-A Simulation Result for Optimized PD-GLDPC Code from Irregular Random LDPC Code Ensembles

Refer to caption
Figure 6: Comparison of the BEC threshold and FER for the LDPC codes constructed from AR4JA and GcG_{c}, the conventional random GLDPC code from the ensemble in [17], and the PD-GLDPC code from GpG_{p} for the code rate 1/21/2.

As the performance comparison with the existing GLDPC codes, we use the random GLDPC code ensemble with the threshold 0.4660.466 in [17] that is represented as λ(x)=0.8x2+0.01x3+0.01x5+0.18x7\lambda(x)=0.8x^{2}+0.01x^{3}+0.01x^{5}+0.18x^{7} and a doping ratio ν=0.4\nu=0.4 by the Hamming code. Fig. 6 shows performance comparison of four half-rate codes which are AR4JA code [31], the irregular protograph LDPC code constructed from GcG_{c}, the random ensemble-based GLDPC code in [17], and the proposed PD-GLDPC code constructed from GpG_{p} in Table 2, where ymax=5y_{max}=5. All four codes in Fig. 6 are (n,k)=(30000,15000)(n,k)=(30000,15000) codes of the half-rate, where GcG_{c} is defined as 𝔻(2,3,4,5,6,20)=(165,134,47,23,5,26)\mathbb{D}^{(2,3,4,5,6,20)}=(165,134,47,23,5,26) and has the same VN degree distribution as the PD-GLDPC code after lifting by N=75N=75. x=μy=75x=\mu y=75 protograph VNs are partially doped in the PD-GLDPC code. For the constructed PD-GLDPC code, we have ν=xβxβ+ncN=375375+15000=0.02439\nu=\frac{x\beta}{x\beta+n_{c}N}=\frac{375}{375+15000}=0.02439. The constructed PD-GLDPC code for ymax=5y_{max}=5 has a coding gain of 0.0079 and 0.0039 compared to the GLDPC code in [17] and the irregular protograph LDPC code from GcG_{c}, respectively. Fig. 6 shows that the proposed PD-GLDPC code has a good performance both in the waterfall and the low error floor region due to the fact that the code is optimized by increasing the doping as much as possible, and at the same time, the typical minimum distance constraint is satisfied. In terms of the asymptotic analysis, increasing the portion of degree-2 VNs increases the possibility of the code to approach the channel capacity [38]. However, the existence of a typical minimum distance of the protograph is also important, which upper bounds the portion of degree-2 VNs in the LDPC code. Thus, balancing the portion of degree-2 VNs is needed in order to satisfy both a typical minimum distance condition and a good threshold. The proposed PD-GLDPC code guarantees the balance of the degree-2 VNs by carefully choosing the rate of the protograph code and the number of doping on degree-2 VNs.

V-B Simulation Results for PD-GLDPC Code from Optimized Protograph

Refer to caption
(a)
Refer to caption
(b)
Figure 7: FER comparison for the constructed codes from AR4JA [31], protograph [31, Fig. 7], protograph [37], and PD-GLDPC code ensemble (𝔹nc×nvC2,15,11,𝒳,ρd)(\mathbb{B}_{n_{c}\times n_{v}}^{C_{2}},15,11,\mathcal{X},\rho_{d}).
TABLE III: Comparison for thresholds and average VN degrees of protographs for the BEC.
Code type Code rate Protograph size Threshold Average VN degree Gap to capacity
AR4JA [31] 0.5 3×\times5 0.438 3 0.062
Protograph [31, Fig. 7] 0.5 4×\times8 0.468 4.25 0.032
Protograph [37] 0.5 8×\times16 0.486 5.25 0.014
PD-GLDPC 0.5 8×\times16 0.4857 4.58 0.0143
AR4JA [31] 0.67 3×\times7 0.287 3.29 0.046
Protograph [31, Fig. 7] 0.67 2×\times6 0.292 5 0.041
Protograph [37] 0.67 4×\times12 0.320 5.08 0.013
PD-GLDPC 0.67 4×\times12 0.319 4.09 0.014

The proposed PD-GLDPC codes for R=1/2R^{*}=1/2 and R=2/3R^{*}=2/3 are constructed from the ensembles (𝔹8×16C2,15,11,{1,2},0.5333)(\mathbb{B}_{8\times 16}^{C_{2}},15,11,\{1,2\},0.5333) and (𝔹4×12C2,15,11,{1},0.4058)(\mathbb{B}_{4\times 12}^{C_{2}},15,11,\{1\},0.4058), respectively. The protographs are shown in (5) and (6). The AR4JA [31] and block protograph codes in [31, 37] of the same code rate are used for performance comparison. We first compare the threshold and average VN degree between the proposed PD-GLDPC code ensembles and the aforementioned protograph LDPC code ensembles in Table 3. The average VN degree of the PD-GLDPC codes considers both the base matrix and the edges added from the partial doping. The results show that the asymptotic performance of the proposed PD-GLDPC code ensemble outperforms the AR4JA and block protograph introduced in [31]. The average VN degree of the PD-GLDPC codes is low while having the asymptotic performance comparable to the capacity approaching protographs introduced in [37].
By using the PEG algorithm, the protographs are lifted to construct (48000,24000)(48000,24000) PD-GLDPC code for R=1/2R^{*}=1/2. The protograph AR4JA and protographs in [31, 37] are lifted to the same code length. The FER results are shown in Fig. 7(a). Likewise, the protograph of the PD-GLDPC, AR4JA, and [37] are lifted to construct (45000,30000)(45000,30000) codes for R=2/3R^{*}=2/3. The protograph in [31, Fig. 7] is lifted to blocklength near n=45000n=45000. The FER results are shown in Fig. 7(b). The doping ratio ν\nu for the PD-GLDPC codes is 0.0163930.016393 for both code rates R=1/2R^{*}=1/2 and R=2/3R^{*}=2/3. Also, the FER results of the proposed PD-GLDPC codes for both code rates R=1/2R^{*}=1/2 and R=2/3R^{*}=2/3 show tangible gain compared to the AR4JA code and protograph code in [31]. Also, the performance is comparable to the capacity approaching block LDPC code in [37]. The partial doping and puncturing technique, which is similar to the precoding technique, shows that the capacity approaching PD-GLDPC codes can be constructed with the relatively low average VN degree.

VI Conclusion

We proposed a new class of GLDPC codes called PD-GLDPC codes that has advantages of a finer doping granularity compared to the conventional protograph doped GLDPC codes. Also, we proposed two optimization algorithms for the PD-GLDPC codes: protographs constructed from random LDPC code ensembles and protographs for PD-GLDPC code ensembles constructed from genetic algorithms. Furthermore, we proposed the partially doping and puncturing technique. Using the proposed technique, the constructed PD-GLDPC codes have good FER performances compared to the popular protograph LDPC codes. Since it is possible to partially dope the protograph VNs with a granularity one, the rate loss is reduced from partial doping, and thus, GLDPC codes can have capacity approaching performance in the medium to high code rate regime. For future work, use of other component codes and protographs with degree-1 VNs can be studied. Also, constructions of PD-GLDPC codes by generalizing the partial doping process such as doping over multiple protograph VNs or doping only a portion of a protograph VN can be considered. Furthermore, new constructions of PD-GLDPC codes over additive white Gaussian noise channels can be made.

Abbreviations

AR4JA Accumulate-Repeat-4-Jagged-Accumulate
BEC Binary erasure channel
CN Check node
EXIT Extrinsic information transfer
FER Frame error rate
GC Generalized constraint
GLDPC Generalized low-density parity-check
LDPC Low-density parity-check
ML Maximum likelihood
PCM Parity-check matrix
PD-GLDPC Partially doped GLDPC
PEG Progressive edge growth
PEXIT Protograph EXIT
SPC Single parity-check
VN Variable node

Appendix A Proof of Theorem 1: The Constraint for the Existence of the Typical Minimum Distance of the Proposed Protograph-based PD-GLDPC Codes

A proof for the constraint of the existence of a typical minimum distance for the proposed protograph-based PD-GLDPC codes is given in this appendix. Similar to that in [36], a typical minimum distance is driven by the weight enumerator analysis over the lifted protograph. In order to use the notations in [36], we’ve distinguished the indexing notations during the enumeration for the partially doped variable nodes using . Also, the cjc_{j} and viv_{i} notations are used for the check nodes and the variable nodes, respectively. Suppose that the proposed protograph-based PD-GLDPC code is constructed from the protograph defined by G=(V,C,E)G=(V,C,E) and the xx variable nodes are partially doped, where component codes are identical with the parameters (μ,κ)(\mu,\kappa). We are given a variable node set V={v1,,vnv}V=\{v_{1},{\cdots},v_{n_{v}}\} and a check node set CPD-GLDPC=BHammC={b1,,bx}{c1,,cnc}C_{PD{\text{-}}GLDPC}=B_{Hamm}\cup C=\{b_{1},{\cdots},b_{x}\}\cup\{c_{1},{\cdots},c_{n_{c}}\} for the protograph. It is important to note that the GC node set BHammB_{Hamm} is not defined over a protograph. However, the codeword enumeration can be made when the protograph is lifted, where bi,i[x]b_{i^{\prime}},i^{\prime}\in[x] is a virtual check node that represents the Hamming check nodes used for partial doping for viv_{i^{\prime}} in the original protograph. Although bib_{i^{\prime}} is not a protograph check node, we define it for the enumeration of the partially doped protograph variable nodes. The protograph-based PD-GLDPC code is constructed by lifting the graph GG by NN times and permuting the replicated edges. Each viv_{i} (cjc_{j}) has degree qviq_{v_{i}} (qcjq_{c_{j}}) and each bib_{i^{\prime}} has degree μ\mu. For the enumeration of the GC node bib_{i^{\prime}}, we can think of it as a protograph node of degree μ\mu that is lifted by a factor of Nμ\frac{N}{\mu}. The upper bound of the weight enumerator of the proposed protograph-based PD-GLDPC code with weight dd, denoted as AdPD-GLDPCA_{d}^{PD{\text{-}}GLDPC} is derived as follows.
Let wm,u,u[qvm]w_{m,u},u\in[q_{v_{m}}] be the uuth edge weight from a variable node vmv_{m}. For a partially doped variable node vm,m[x]v_{m},m\in[x], there are μ\mu weights sent towards the incident GC node, where the uuth weight is defined as wm,u,u[μ]w^{\prime}_{m,u},u\in[\mu]. For a given input weight vector 𝕕=(d1,,dnv)\mathbb{d}=(d_{1},{\cdots},d_{n_{v}}), we need to calculate APD-GLDPC(𝕕)A^{PD{\text{-}}GLDPC}(\mathbb{d}) and sum it over every instance of 𝕕\mathbb{d} that satisfies d=d1++dnvd=d_{1}+{\cdots}+d_{n_{v}}. For input di,i[x]d_{i^{\prime}},i^{\prime}\in[x], it is clear that i=1μwm,i=di\sum_{i=1}^{\mu}w^{\prime}_{m,i}=d_{i^{\prime}} because the extrinsic weight wm,iw^{\prime}_{m,i} consists of weights solely from vmv_{m}. We introduce the following notations:

  • Adivi(𝕨i)=(Ndi)δdi,wi,1,,δdi,wi,qvi={(Ndi),ifwi,j=di,j[qvi]0,otherwiseA^{v_{i}}_{d_{i}}(\mathbb{w}_{i})=\binom{N}{d_{i}}\delta_{d_{i},w_{i,1}},{\cdots},\delta_{d_{i},w_{i,q_{v_{i}}}}=\begin{cases}\binom{N}{d_{i}},\quad\mbox{if}\,w_{i,j}=d_{i},\forall j\in[q_{v_{i}}]\\ 0,\quad\mbox{otherwise}\end{cases} is the vector weight enumerator for a variable node viv_{i} of the protograph [36].

  • Acj(𝕫j)A^{c_{j}}(\mathbb{z}_{j}) is the vector weight enumerator for a check node cjc_{j} of the original protograph, for the incoming weight vector 𝕫j=[zj,1,,zj,qcj]\mathbb{z}_{j}=[z_{j,1},{\cdots},z_{j,q_{c_{j}}}] [36].

  • Bdivi(𝕨i)={1,forwi,1++wi,μ=di0,otherwiseB_{d_{i^{\prime}}}^{v_{i^{\prime}}}(\mathbb{w}^{\prime}_{i^{\prime}})=\begin{cases}1,\quad\mbox{for}\,w^{\prime}_{i^{\prime},1}+{\cdots}+w^{\prime}_{i^{\prime},\mu}=d_{i^{\prime}}\\ 0,\quad\mbox{otherwise}\end{cases} is the vector weight enumerator for partially doped variable nodes vi,i[x]v_{i^{\prime}},\,i^{\prime}\in[x].

  • Bbi(𝕨i)B^{b_{i^{\prime}}}(\mathbb{w}^{\prime}_{i^{\prime}}) is the vector weight enumerator for check nodes that are created during the lifting process given the weight vector 𝕨i\mathbb{w}^{\prime}_{i^{\prime}}. Abi(di)A^{b_{i^{\prime}}}(d_{i^{\prime}}) is the summation of enumerators over all possible 𝕨i\mathbb{w}^{\prime}_{i^{\prime}} values given that wi,1++wi,μ=diw^{\prime}_{i^{\prime},1}+{\cdots}+w^{\prime}_{i^{\prime},\mu}=d_{i^{\prime}} satisfying

    Abi(di)=𝕨Bbi(𝕨i)=𝕨{𝕞}C(Nμ;m1,,mK),\displaystyle A^{b_{i^{\prime}}}(d_{i^{\prime}})=\sum_{\mathbb{w}^{\prime}}B^{b_{i^{\prime}}}(\mathbb{w}^{\prime}_{i^{\prime}})=\sum_{\mathbb{w}^{\prime}}\sum_{\{\mathbb{m}\}}C(\frac{N}{\mu};m_{1},{\cdots},m_{K}),

    where 𝕨=(w1,,wμ)\mathbb{w}^{\prime}=(w_{1}^{\prime},{\cdots},w_{\mu}^{\prime}) such that i=1μw1=dk,wiNμ.\sum_{i=1}^{\mu}w_{1}^{\prime}=d_{k}^{\prime},\,w_{i}^{\prime}\leq\frac{N}{\mu}.

Then, the weight enumerator is given as

AdPDGLDPC={𝕕}APDGLDPC(𝕕),\displaystyle A_{d}^{PD-GLDPC}=\sum_{\{\mathbb{d}\}}A^{PD-GLDPC}(\mathbb{d}),

where

APD-GLDPC(𝕕)\displaystyle A^{PD{\text{-}}GLDPC}(\mathbb{d}) =i=1nvAdivi(𝕨i)j=1ncAcj(𝕫j)×i=1xBdivi(𝕨i)Bbi(𝕨i)s=1nvr=1qvs(Nws,r)×s=1xr=1μ(Nμws,r)\displaystyle=\frac{\prod_{i=1}^{n_{v}}A^{v_{i}}_{d_{i}}(\mathbb{w}_{i})\prod_{j=1}^{n_{c}}A^{c_{j}}(\mathbb{z}_{j})\times\prod_{i^{\prime}=1}^{x}B_{d_{i^{\prime}}}^{v_{i^{\prime}}}(\mathbb{w}^{\prime}_{i^{\prime}})B^{b_{i^{\prime}}}(\mathbb{w}^{\prime}_{i^{\prime}})}{\prod_{s=1}^{n_{v}}\prod_{r=1}^{q_{v_{s}}}\binom{N}{w_{s,r}}\times\prod_{s^{\prime}=1}^{x}\prod_{r^{\prime}=1}^{\mu}\binom{\frac{N}{\mu}}{w^{\prime}_{s^{\prime},r^{\prime}}}}
={𝕨i:wi,1++wi,μ=di}j=1ncAcj(𝕕j)×i=1xBbi(𝕨i)i=1nv(Ndi)qvi1×s=1xr=1μ(Nμws,r).\displaystyle=\sum_{\{\mathbb{w}^{\prime}_{i^{\prime}}:\,w^{\prime}_{i^{\prime},1}+{\cdots}+w^{\prime}_{i^{\prime},\mu}=d_{i^{\prime}}\}}\frac{\prod_{j=1}^{n_{c}}A^{c_{j}}(\mathbb{d}_{j})\times\prod_{i^{\prime}=1}^{x}B^{b_{i^{\prime}}}(\mathbb{w}^{\prime}_{i^{\prime}})}{\prod_{i=1}^{n_{v}}\binom{N}{d_{i}}^{q_{v_{i}}-1}\times\prod_{s^{\prime}=1}^{x}\prod_{r^{\prime}=1}^{\mu}\binom{\frac{N}{\mu}}{w^{\prime}_{s^{\prime},r^{\prime}}}}.

The solution to the equation 𝕨=𝕞𝕄\mathbb{w}^{\prime}=\mathbb{m}\mathbb{M^{C}} is given as 𝕞={m1,,mK}\mathbb{m}=\{m_{1},{\cdots},m_{K}\}. The term (Nμws,r)\binom{\frac{N}{\mu}}{w^{\prime}_{s^{\prime},r^{\prime}}} is lower bounded by (Nμ)ws,rews,rlnws,r(\frac{N}{\mu})^{w^{\prime}_{s^{\prime},r^{\prime}}}e^{-w^{\prime}_{s^{\prime},r^{\prime}}\cdot{\rm{ln}}\,w^{\prime}_{s^{\prime},r^{\prime}}}. Then, APDGLDPC(𝕕)A^{PD-GLDPC}(\mathbb{d}) can be upper bounded as

APD-GLDPC(𝕕)\displaystyle A^{PD{\text{-}}GLDPC}(\mathbb{d}) {𝕨i:wi,1++wi,μ=di}j=1ncAcj(𝕕j)×i=1xBbi(𝕨i)i=1nv(Ndi)qvi1×s=1xr=1μ(Nμ)ws,rews,rlnws,r\displaystyle\leq\sum_{\{\mathbb{w}^{\prime}_{i^{\prime}}:\,w^{\prime}_{i^{\prime},1}+{\cdots}+w^{\prime}_{i^{\prime},\mu}=d_{i^{\prime}}\}}\frac{\prod_{j=1}^{n_{c}}A^{c_{j}}(\mathbb{d}_{j})\times\prod_{i^{\prime}=1}^{x}B^{b_{i^{\prime}}}(\mathbb{w}^{\prime}_{i^{\prime}})}{\prod_{i=1}^{n_{v}}\binom{N}{d_{i}}^{q_{v_{i}}-1}\times\prod_{s^{\prime}=1}^{x}\prod_{r^{\prime}=1}^{\mu}(\frac{N}{\mu})^{w^{\prime}_{s^{\prime},r^{\prime}}}e^{-w^{\prime}_{s^{\prime},r^{\prime}}\cdot{\rm{ln}}\,w^{\prime}_{s^{\prime},r^{\prime}}}}
{𝕨i:wi,1++wi,μ=di}j=1ncAcj(𝕕j)×i=1xBbi(𝕨i)i=1nv(Ndi)qvi1×s=1x(Nμ)dsedslnds\displaystyle\leq\sum_{\{\mathbb{w}^{\prime}_{i^{\prime}}:\,w^{\prime}_{i^{\prime},1}+{\cdots}+w^{\prime}_{i^{\prime},\mu}=d_{i^{\prime}}\}}\frac{\prod_{j=1}^{n_{c}}A^{c_{j}}(\mathbb{d}_{j})\times\prod_{i^{\prime}=1}^{x}B^{b_{i^{\prime}}}(\mathbb{w}^{\prime}_{i^{\prime}})}{\prod_{i=1}^{n_{v}}\binom{N}{d_{i}}^{q_{v_{i}}-1}\times\prod_{s^{\prime}=1}^{x}(\frac{N}{\mu})^{d_{s^{\prime}}}e^{-d_{s^{\prime}}\cdot{\rm{ln}}\,d_{s^{\prime}}}}
{𝕨i:wi,1++wi,μ=di}j=1ncAcj(𝕕j)×i=1xBbi(𝕨i)i=1nv(Ndi)qvi1×(Nμ)PePlnP\displaystyle\leq\sum_{\{\mathbb{w}^{\prime}_{i^{\prime}}:\,w^{\prime}_{i^{\prime},1}+{\cdots}+w^{\prime}_{i^{\prime},\mu}=d_{i^{\prime}}\}}\frac{\prod_{j=1}^{n_{c}}A^{c_{j}}(\mathbb{d}_{j})\times\prod_{i^{\prime}=1}^{x}B^{b_{i^{\prime}}}(\mathbb{w}^{\prime}_{i^{\prime}})}{\prod_{i=1}^{n_{v}}\binom{N}{d_{i}}^{q_{v_{i}}-1}\times(\frac{N}{\mu})^{P}e^{-P\cdot{\rm{ln}}\,P}}
=j=1ncAcj(𝕕j)×i=1x{𝕨i:wi,1++wi,μ=di}Bbi(𝕨i)i=1nv(Ndi)qvi1×(Nμ)PePlnP\displaystyle=\frac{\prod_{j=1}^{n_{c}}A^{c_{j}}(\mathbb{d}_{j})\times\prod_{i^{\prime}=1}^{x}\sum_{\{\mathbb{w}^{\prime}_{i^{\prime}}:\,w^{\prime}_{i^{\prime},1}+{\cdots}+w^{\prime}_{i^{\prime},\mu}=d_{i^{\prime}}\}}B^{b_{i^{\prime}}}(\mathbb{w}^{\prime}_{i^{\prime}})}{\prod_{i=1}^{n_{v}}\binom{N}{d_{i}}^{q_{v_{i}}-1}\times(\frac{N}{\mu})^{P}e^{-P\cdot{\rm{ln}}\,P}}
=j=1ncAcj(𝕕j)×i=1xAbi(di)i=1nv(Ndi)qvi1×(Nμ)PePlnP,\displaystyle=\frac{\prod_{j=1}^{n_{c}}A^{c_{j}}(\mathbb{d}_{j})\times\prod_{i^{\prime}=1}^{x}A^{b_{i^{\prime}}}(d_{i^{\prime}})}{\prod_{i=1}^{n_{v}}\binom{N}{d_{i}}^{q_{v_{i}}-1}\times(\frac{N}{\mu})^{P}e^{-P\cdot{\rm{ln}}\,P}}, (7)

where P=s=1xdsP=\sum_{s^{\prime}=1}^{x}d_{s^{\prime}} is the total weight of the xx partially doped variable nodes. Then t(tlnt)(tt)ln(tt)\sum_{t}(t\cdot{\rm{ln}}\,t)\leq(\sum_{t}t)\cdot{\rm{ln}}\,(\sum_{t}t) is used for the second and the third inequalities in (7). It was shown in (18) of [36] that the inequality

j=1ncAcj(𝕕j)i=1nv(Ndi)qvi1i=1nve(qvi1qvidmin(c))dilndiN+qvi(2+kmax(c)ln 2)dmin(c)di\frac{\prod_{j=1}^{n_{c}}A^{c_{j}}(\mathbb{d}_{j})}{\prod_{i=1}^{n_{v}}\binom{N}{d_{i}}^{q_{v_{i}}-1}}\leq\prod_{i=1}^{n_{v}}e^{(q_{v_{i}}-1-\frac{q_{v_{i}}}{d_{min}^{(c)}})d_{i}{\rm{ln}}\,\frac{d_{i}}{N}+\frac{q_{v_{i}}(2+k_{max}^{(c)}{\rm{ln}\,2)}}{d_{min}^{(c)}}d_{i}}

holds, where dmin(c)d_{min}^{(c)} is the minimum distance of an SPC component code for the original protograph and kmax(c)k_{max}^{(c)} is the maximum number of codewords of an SPC component code. Using the similar notations in [36], let dmin(b)d_{min}^{(b)} and k(b)k^{(b)} be the minimum distance and the number of codewords of the (μ,κ)(\mu,\kappa) component code for the GC nodes. Then, i=1xAbi(di)\prod_{i^{\prime}=1}^{x}A^{b_{i^{\prime}}}(d_{i^{\prime}}) is upper bounded as

i=1xAbi(di)\displaystyle\prod_{i^{\prime}=1}^{x}A^{b_{i^{\prime}}}(d_{i^{\prime}}) i=1x{𝕨i:wi,1++wi,μ=di}i=1μ(Nμ)1dmin(b)wi,ie(2+kiln 2)dmin(b)wi,i1dmin(b)wi,ilnwi,i\displaystyle\leq\prod_{i^{\prime}=1}^{x}\sum_{\{\mathbb{w}^{\prime}_{i^{\prime}}:\,w^{\prime}_{i^{\prime},1}+{\cdots}+w^{\prime}_{i^{\prime},\mu}=d_{i^{\prime}}\}}\prod_{i=1}^{\mu}{(\frac{N}{\mu})}^{\frac{1}{d_{min}^{(b)}}w^{\prime}_{i^{\prime},i}}e^{\frac{(2+k^{\prime}_{i^{\prime}}ln\,2)}{d_{min}^{(b)}}w^{\prime}_{i^{\prime},i}-\frac{1}{d_{min}^{(b)}}w^{\prime}_{i^{\prime},i}{\rm{ln}}\,w^{\prime}_{i^{\prime},i}}
=i=1x{𝕨i:wi,1++wi,μ=di}(Nμ)1dmin(b)die(2+kiln 2)dmin(b)dii=1μ1dmin(b)wi,ilnwi,i\displaystyle=\prod_{i^{\prime}=1}^{x}\sum_{\{\mathbb{w}^{\prime}_{i^{\prime}}:\,w^{\prime}_{i^{\prime},1}+{\cdots}+w^{\prime}_{i^{\prime},\mu}=d_{i^{\prime}}\}}(\frac{N}{\mu})^{\frac{1}{d_{min}^{(b)}}d_{i^{\prime}}}e^{\frac{(2+k^{\prime}_{i^{\prime}}{\rm{ln}}\,2)}{d_{min}^{(b)}}d_{i^{\prime}}-\sum_{i=1}^{\mu}\frac{1}{d_{min}^{(b)}}w^{\prime}_{i^{\prime},i}{\rm{ln}}\,w^{\prime}_{i^{\prime},i}}
i=1x{𝕨i:wi,1++wi,μ=di}(Nμ)1dmin(b)die(2+kiln 2)dmin(b)di1dmin(b)dilndiμ\displaystyle\leq\prod_{i^{\prime}=1}^{x}\sum_{\{\mathbb{w}^{\prime}_{i^{\prime}}:\,w^{\prime}_{i^{\prime},1}+{\cdots}+w^{\prime}_{i^{\prime},\mu}=d_{i^{\prime}}\}}(\frac{N}{\mu})^{\frac{1}{d_{min}^{(b)}}d_{i^{\prime}}}e^{\frac{(2+k^{\prime}_{i^{\prime}}{\rm{ln}}\,2)}{d_{min}^{(b)}}d_{i^{\prime}}-\frac{1}{d_{min}^{(b)}}d_{i^{\prime}}{\rm{ln}}\,\frac{d_{i^{\prime}}}{\mu}}
i=1x(di+μ1di)(Nμ)1dmin(b)die(2+kiln 2)dmin(b)di1dmin(b)dilndiμ.\displaystyle\leq\prod_{i^{\prime}=1}^{x}\binom{d_{i^{\prime}}+\mu-1}{d_{i^{\prime}}}(\frac{N}{\mu})^{\frac{1}{d_{min}^{(b)}}d_{i^{\prime}}}e^{\frac{(2+k^{\prime}_{i^{\prime}}{\rm{ln}}\,2)}{d_{min}^{(b)}}d_{i^{\prime}}-\frac{1}{d_{min}^{(b)}}d_{i^{\prime}}{\rm{ln}}\,\frac{d_{i^{\prime}}}{\mu}}. (8)

For the inequality in the third line of (8), we use the fact that i=1ptilntislnsp\sum_{i=1}^{p}t_{i}{\rm{ln}}\,t_{i}\leq s\cdot{\rm{ln}}\,\frac{s}{p} with s=t1++tps=t_{1}+{\cdots}+t_{p}, which is clear by using the derivative on the multivariable function that consists of independent tit_{i}’s. The equality is satisfied when all tit_{i} values are the same. Going back to (7), let f(P)=1(Nμ)PePlnPf(P)=\frac{1}{\binom{N}{\mu}^{P}e^{-P{\rm{ln}}\,P}} for convenience. Then we have

APD-GLDPC(𝕕)\displaystyle A^{PD{\text{-}}GLDPC}(\mathbb{d})\leq i=1nve(qvi1qvidmin(c))dilndiN+qvi(2+kmax(c)ln 2)dmin(c)di\displaystyle\prod_{i=1}^{n_{v}}e^{(q_{v_{i}}-1-\frac{q_{v_{i}}}{d_{min}^{(c)}})d_{i}{\rm{ln}}\,\frac{d_{i}}{N}+\frac{q_{v_{i}}(2+k_{max}^{(c)}{\rm{ln}\,2)}}{d_{min}^{(c)}}d_{i}}
×i=1xedi+μ1(Nμ)1dmin(b)die(2+kiln 2)dmin(b)di1dmin(b)dilndiμ×f(P)\displaystyle\times\prod_{i^{\prime}=1}^{x}e^{d_{i^{\prime}}+\mu-1}(\frac{N}{\mu})^{\frac{1}{d_{min}^{(b)}}d_{i^{\prime}}}e^{\frac{(2+k^{\prime}_{i^{\prime}}{\rm{ln}}\,2)}{d_{min}^{(b)}}d_{i^{\prime}}-\frac{1}{d_{min}^{(b)}}d_{i^{\prime}}{\rm{ln}}\,\frac{d_{i^{\prime}}}{\mu}}\times f(P)
\displaystyle\leq i=1nve(qvi1qvidmin(c))dilndiN+qvi(2+kmax(c)ln 2)dmin(c)di\displaystyle\prod_{i=1}^{n_{v}}e^{(q_{v_{i}}-1-\frac{q_{v_{i}}}{d_{min}^{(c)}})d_{i}{\rm{ln}}\,\frac{d_{i}}{N}+\frac{q_{v_{i}}(2+k_{max}^{(c)}{\rm{ln}\,2)}}{d_{min}^{(c)}}d_{i}}
×ex(μ1)ePi=1x(Nμ)1dmin(b)die(2+k(b)ln 2)dmin(b)di1dmin(b)dilndiμ×f(P).\displaystyle\times e^{x(\mu-1)}e^{P}\prod_{i^{\prime}=1}^{x}(\frac{N}{\mu})^{\frac{1}{d_{min}^{(b)}}d_{i^{\prime}}}e^{\frac{(2+k^{(b)}{\rm{ln}}\,2)}{d_{min}^{(b)}}d_{i^{\prime}}-\frac{1}{d_{min}^{(b)}}d_{i^{\prime}}{\rm{ln}}\,\frac{d_{i^{\prime}}}{\mu}}\times f(P). (9)

We classify the variable nodes in the protograph into three groups before doping:

  • Protograph variable nodes of degrees higher than 2

  • Protograph variable nodes of degree 2 to be partially doped

  • Protograph other variable nodes of degree 2.

We also separate the weights of codewords after lifting into three parts according to the three groups of variable nodes: uiu_{i}, pzp_{z}, and ljl_{j}, where uiu_{i} is the weight of the sub-codeword corresponding to a protograph variable node viv_{i} of degree higher than 2 and pzp_{z} and ljl_{j} are the weights of codewords of each partially doped and undoped protograph variable node vzv_{z} and vjv_{j} of degree 2 from the protograph, respectively. The sum of sub-codeword weights for each group of variable nodes is given as U=iuiU=\sum_{i}u_{i}, P=zpzP=\sum_{z}p_{z}, and L=jljL=\sum_{j}l_{j}. It is clear that for the total codeword weight dd, d=U+P+Ld=U+P+L. Then, the upper bound of the first term in (9) is written as

i=1nve(qvi1qvidmin(c))dilndiN+qvi(2+kmax(c)ln 2)dmin(c)di\displaystyle\prod_{i=1}^{n_{v}}e^{(q_{v_{i}}-1-\frac{q_{v_{i}}}{d_{min}^{(c)}})d_{i}{\rm{ln}}\,\frac{d_{i}}{N}+\frac{q_{v_{i}}(2+k_{max}^{(c)}{\rm{ln}\,2)}}{d_{min}^{(c)}}d_{i}}\leq e(23dmin(c))(dPL)lndPLN+3(2+kmax(c))dmin(c)(dPL)\displaystyle e^{(2-\frac{3}{d_{min}^{(c)}})(d-P-L){\rm{ln}}\,\frac{d-P-L}{N}+\frac{3(2+k_{max}^{(c)})}{d_{min}^{(c)}}\cdot(d-P-L)}
×e2(2+kmax(c))dmin(c)Le2(2+kmax(c))dmin(c)P,\displaystyle\times e^{\frac{2(2+k_{max}^{(c)})}{d_{min}^{(c)}}\cdot L}\cdot e^{\frac{2(2+k_{max}^{(c)})}{d_{min}^{(c)}}\cdot P}, (10)

which is derived by using three weight groups of codewords similar to (20) of [36]. We share the same inequality ui<Ne(2+kmax(c)ln 2)dmin(c)1u_{i}<Ne^{-\frac{(2+k_{max}^{(c)}{\rm{ln}}\,2)}{d_{min}^{(c)}-1}} over the given codeword weight dd as in [36]. Using the derivation in [36], the upper bound of the second term of (9) can be derived as

i=1x(Nμ)1dmin(b)die(2+k(b)ln 2)dmin(b)di1dmin(b)dilndiμ=i=1xe1dmin(b)dilnNμe(2+k(b)ln 2)dmin(b)di1dmin(b)dilndiμ\displaystyle\prod_{i^{\prime}=1}^{x}(\frac{N}{\mu})^{\frac{1}{d_{min}^{(b)}}d_{i^{\prime}}}e^{\frac{(2+k^{(b)}{\rm{ln}}\,2)}{d_{min}^{(b)}}d_{i^{\prime}}-\frac{1}{d_{min}^{(b)}}d_{i^{\prime}}{\rm{ln}}\,\frac{d_{i^{\prime}}}{\mu}}=\prod_{i^{\prime}=1}^{x}e^{\frac{1}{d_{min}^{(b)}}d_{i^{\prime}}{\rm{ln}}\,\frac{N}{\mu}}e^{\frac{(2+k^{(b)}{\rm{ln}}\,2)}{d_{min}^{(b)}}d_{i^{\prime}}-\frac{1}{d_{min}^{(b)}}d_{i^{\prime}}{\rm{ln}}\,\frac{d_{i^{\prime}}}{\mu}}
=i=1xe1dmin(b)dilnNdie(2+k(b)ln 2)dmin(b)di=z=1xe1dmin(b)pzlnNpze(2+k(b)ln 2)dmin(b)pz\displaystyle=\prod_{i^{\prime}=1}^{x}e^{\frac{1}{d_{min}^{(b)}}d_{i^{\prime}}{\rm{ln}}\,\frac{N}{d_{i^{\prime}}}}e^{\frac{(2+k^{(b)}{\rm{ln}}\,2)}{d_{min}^{(b)}}d_{i^{\prime}}}=\prod_{z=1}^{x}e^{\frac{1}{d_{min}^{(b)}}p_{z}{\rm{ln}}\,\frac{N}{p_{z}}}e^{\frac{(2+k^{(b)}{\rm{ln}}\,2)}{d_{min}^{(b)}}p_{z}}
e1dmin(b)PlnNxPe(2+k(b)ln 2)dmin(b)P.\displaystyle\leq e^{\frac{1}{d_{min}^{(b)}}P\cdot{\rm{ln}}\,\frac{Nx}{P}}e^{\frac{(2+k^{(b)}{\rm{ln}}\,2)}{d_{min}^{(b)}}P}. (11)

Using (10) and (11), the upper bound of APD-GLDPC(𝕕)A^{PD{\text{-}}GLDPC}(\mathbb{d}) is derived in terms of E(d,P,L)E(d,P,L) as follows:

APD-GLDPC(𝕕)\displaystyle A^{PD{\text{-}}GLDPC}(\mathbb{d})\leq e1dmin(b)PlnNxPe(2+k(b)ln 2)dmin(b)Pe(23dmin(c))(dPL)lndPLN+3(2+kmax(c))dmin(c)(dPL)\displaystyle e^{\frac{1}{d_{min}^{(b)}}P\cdot{\rm{ln}}\,\frac{Nx}{P}}e^{\frac{(2+k^{(b)}{\rm{ln}}\,2)}{d_{min}^{(b)}}P}\cdot e^{(2-\frac{3}{d_{min}^{(c)}})(d-P-L){\rm{ln}}\,\frac{d-P-L}{N}+\frac{3(2+k_{max}^{(c)})}{d_{min}^{(c)}}\cdot(d-P-L)}
×e2(2+kmax(c))dmin(c)(P+L)ex(μ1)ePf(P).\displaystyle\times e^{\frac{2(2+k_{max}^{(c)})}{d_{min}^{(c)}}\cdot(P+L)}\cdot e^{x(\mu-1)}e^{P}\cdot f(P). (12)

Let E(d,P,L)E(d,P,L) be the parameter satisfying APD-GLDPC(𝕕)ex(μ1)eE(d,P,L)A^{PD{\text{-}}GLDPC}(\mathbb{d})\leq e^{x(\mu-1)}\cdot e^{E(d,P,L)}. Then, from the upper bound in (12), E(d,P,L)E(d,P,L) is given as

E(d,P,L)=\displaystyle E(d,P,L)= 1dmin(b)PlnNxP+(2+k(b)ln 2)dmin(b)P+(23dmin(c))(dPL)lndPLN\displaystyle\frac{1}{d_{min}^{(b)}}P\cdot{\rm{ln}}\,\frac{Nx}{P}+\frac{(2+k^{(b)}{\rm{ln}}\,2)}{d_{min}^{(b)}}P+(2-\frac{3}{d_{min}^{(c)}})(d-P-L){\rm{ln}}\,\frac{d-P-L}{N}
+3(2+kmax(c))dmin(c)(dPL)+2(2+kmax(c))dmin(c)(P+L)+P+PlnPPlnNμ.\displaystyle+\frac{3(2+k_{max}^{(c)})}{d_{min}^{(c)}}\cdot(d-P-L)+\frac{2(2+k_{max}^{(c)})}{d_{min}^{(c)}}\cdot(P+L)+P+P{\rm{ln}}\,P-P{\rm{ln}}\,\frac{N}{\mu}.

Assuming that there are no type 1 degree-2 variable nodes defined in [36] and there are no cycles consisting only of undoped variable nodes of degree-2, we use the result of (22) in [36] such that the inequality l2,k(cj)1dmin(cj)(L2(cj)+iwi(cj))l_{2,k}^{(c_{j})}\leq\frac{1}{d_{min}^{(c_{j})}}(L_{2}^{(c_{j})}+\sum_{i}w_{i}^{(c_{j})}) is satisfied for all j[nc]j\in[n_{c}], where l2,k(cj)l_{2,k}^{(c_{j})} is the weight of the degree-2 undoped variable node of GpG_{p} and the total weight of them is denoted as L2(cj)L_{2}^{(c_{j})} for check node cjc_{j}. Similar to the result in [36], we can derive the upper bound Lγ(U+P)L\leq\gamma(U+P), which is the same as Lγ1+γdL\leq\frac{\gamma}{1+\gamma}d. Now, the upper bound of E(d,P,L)E(d,P,L) needs to be derived for independent values LL and PP. The first and second partial derivatives of E(d,P,L)E(d,P,L) by PP are given as

dEdP=\displaystyle\frac{dE}{dP}= 1dmin(b)lnNxeP+(2+k(b)ln 2)dmin(b)(23dmin(c))lne(dPL)N(2+kmax(c)ln 2)dmin(c)\displaystyle\frac{1}{d_{min}^{(b)}}\cdot{\rm{ln}}\,\frac{Nx}{eP}+\frac{(2+k^{(b)}{\rm{ln}}\,2)}{d_{min}^{(b)}}-(2-\frac{3}{d_{min}^{(c)}}){\rm{ln}}\,\frac{e(d-P-L)}{N}-\frac{(2+k_{max}^{(c)}{\rm{ln}}\,2)}{d_{min}^{(c)}}
+1+lnP+1lnNμ<0,\displaystyle+1+{\rm{ln}}\,P+1-{\rm{ln}}\,\frac{N}{\mu}<0,
d2EdP2=\displaystyle\frac{d^{2}E}{dP^{2}}= 1dmin(b)P+(23dmin(c))1dPL+1P>0.\displaystyle-\frac{1}{d_{min}^{(b)}P}+(2-\frac{3}{d_{min}^{(c)}})\cdot\frac{1}{d-P-L}+\frac{1}{P}>0.

Since the first derivative over PP is negative and the second derivative is positive, E(d,P,L)E(d,P,L) is upper bounded by

limP0+E(d,P,L)=(23dmin(c))(dL)lndLN+3(2+kmax(c))dmin(c)(dL)+2(2+kmax(c)ln 2)dmin(c)L.\underset{P\to 0+}{\lim}E(d,P,L)=(2-\frac{3}{d_{min}^{(c)}})(d-L){\rm{ln}}\,\frac{d-L}{N}+\frac{3(2+k_{max}^{(c)})}{d_{min}^{(c)}}\cdot(d-L)+\frac{2(2+k_{max}^{(c)}{\rm{ln}}\,2)}{d_{min}^{(c)}}L.

Since the resulting upper bound of E(d,L)E(d,L) is the same as (37) in [36], the rest of the proof is the same as that in [36] and thus the proposed constraint guarantees the existence of typical minimum distance of the proposed protograph-based PD-GLDPC code.

Acknowledgment

The authors would like to thank…

References

  • [1] R. G. Gallager, “Low-density parity-check codes,” IRE Trans. Inf. Theory, vol. 8, no. 1, pp. 21–28, Jan. 1962.
  • [2] D. J. C. MacKay and R. M. Neal, “Near shannon limit performance of low density parity check codes,” IEEE Electron. Lett., vol. 32, no. 18, pp. 1645–1646, 1996.
  • [3] R. M. Tanner, “A recursive approach to low complexity codes,” IEEE Trans. Inf. Theory, vol. 27, no. 5, pp. 533–547, Sep. 1981.
  • [4] G. Liva and W. E. Ryan, “Short low-error-floor Tanner codes with Hamming nodes,” in Proc. IEEE MILCOM, 2005.
  • [5] S. Abu-Surra, D. Divsalar, and W. E. Ryan, “Enumerators for protograph-based ensembles of LDPC and generalized LDPC codes,” IEEE Trans. Inf. Theory, vol. 57, no. 2, pp. 858–886, Feb. 2011.
  • [6] I. P. Mulholland, E. Paolini, and M. F. Flanagan, “Design of LDPC code ensembles with fast convergence properties,” in Proc. IEEE BlackSeaCom, 2015.
  • [7] Y. Liu, P. M. Olmos, and T. Koch, “A probabilistic peeling decoder to efficiently analyze generalized LDPC codes over the BEC,” IEEE Trans. Inf. Theory, vol. 65, no. 8, pp. 4831–4853, Aug. 2019.
  • [8] M. Lentmaier and K. S. Zigangirov, “On generalized low-density parity-check codes based on Hamming component codes,” IEEE Commun. Lett., vol. 3, no. 8, pp. 248–250, Aug. 1999.
  • [9] G. Yue, L. Ping, and X. Wang, “Generalized low-density parity-check codes based on Hadamard constraints,” IEEE Trans. Inf. Theory, vol. 53, no. 3, pp. 1058–1079, Mar. 2007.
  • [10] N. Miladinovic and M. Fossorier, “Generalized LDPC codes with Reed-Solomon and BCH codes as component codes for binary channels,” in Proc. IEEE GLOBECOM, 2005.
  • [11] D. G. M. Mitchell, M. Lentmaier, and D. J. Costello, “On the minimum distance of generalized spatially coupled LDPC codes,” in Proc. IEEE ISIT, Jul. 2013.
  • [12] P. M. Olmos, D. G. M. Mitchell, and D. J. Costello, “Analyzing the finite-length performance of generalized LDPC codes,” in Proc. IEEE ISIT, Jun. 2015.
  • [13] D. G. M. Mitchell, P. M. Olmos, M. Lentmaier, and D. J. Costello, “Spatially coupled generalized LDPC codes: Asymptotic analysis and finite length scaling,” IEEE Trans. Inf. Theory, vol. 67, no. 6, pp. 3708–3723, Jun. 2021.
  • [14] E. Paolini, M. P. C. Fossorier, and M. Chiani, “Generalized and doubly generalized LDPC codes with random component codes for the binary erasure channel,” IEEE Trans. Inf. Theory, vol. 56, no. 4, pp. 1651–1672, Apr. 2010.
  • [15] Y. Wang and M. Fossorier, “Doubly generalized LDPC codes,” in Proc. IEEE ISIT. 2006.
  • [16] Y. Wang and M. Fossorier, “Doubly generalized LDPC codes over the AWGN channel,” IEEE Trans. Commun., vol. 57, no. 5, pp. 1312–1319, May 2009.
  • [17] R. Guan and L. Zhang, “Hybrid Hamming GLDPC codes over the binary erasure channel,” in Proc. IEEE ASID, 2017.
  • [18] Y. Fang, G. Bi, Y. L. Guan, and F. C. M. Lau, “A survey on protograph LDPC codes and their applications,” IEEE Commun. Surveys Tuts., vol. 17, no. 4, pp. 1989–2016, Fourthquarter 2015.
  • [19] M. Stinner and P. M. Olmos, “On the waterfall performance of finite-length SC-LDPC codes constructed from protographs,” IEEE J. Sel. Areas Commun., vol. 34, no. 2, pp. 345–361, Feb. 2016.
  • [20] Z. Yang, Y. Fang, G. Cai, G. Zhang, and P. Chen, “Design and optimization of tail-biting spatially coupled protograph LDPC codes under shuffled belief-propagation decoding,” IEEE Commun. Lett., vol. 24, no. 7, pp. 1378–1382, Jul. 2020.
  • [21] P. W. Zhang, F. C. M. Lau, and C. -W. Sham, “Spatially coupled PLDPC-Hadamard convolutional codes,” IEEE Trans. Commun., Early Access, 2022.
  • [22] P. -W. Zhang, F. C. M. Lau, and C. -W. Sham, “Protograph-based LDPC Hadamard codes,” IEEE Trans. Commun., vol. 69, no. 8, pp. 4998–5013, Aug. 2021.
  • [23] P. W. Zhang, F. C. M. Lau, and C. -W. Sham, “Layered decoding for protograph-based low-density parity-check Hadamard codes,” IEEE Commun. Lett., vol. 25, no. 6, pp. 1776–1780, Jun. 2021.
  • [24] A. K. Pradhan and A. Thangaraj, “Protograph LDPC codes with block thresholds: extension to degree-one and generalized nodes,” IEEE Trans. Commun., vol. 66, no. 12, pp. 5876–5887, Dec. 2018.
  • [25] J. Thorpe, “Low-density parity-check (LDPC) codes constructed from protographs,” Jet Propulsion Lab., Pasadena, CA, INP Progress Rep. 42–154, 2003.
  • [26] G. Liva, W. E. Ryan, and M. Chiani, “Quasi-cyclic generalized LDPC codes with low error floors,” IEEE Trans. Commun., vol. 56, no. 1, pp. 49–57, Jan. 2008.
  • [27] M. Lentmaier, M. B. S. Tavares, and G. P. Fettweis, “Exact erasure channel density evolution for protograph-based generalized LDPC codes,” in Proc. IEEE ISIT, 2009.
  • [28] A. Ashikhmin, G. Kramer, and S. ten Brink, “Extrinsic information transfer functions: Model and erasure channel properties,” in IEEE Tran. Inf. Theory, vol. 50, no. 11, pp. 2657–2673, Nov. 2004.
  • [29] G. Liva and M. Chiani, “Protograph LDPC codes design based on EXIT analysis,” in Proc. IEEE GLOBECOM, 2007.
  • [30] A. Shokrollahi and R. Storn, “Design of efficient erasure codes with differential evolution,” in Proc. IEEE ISIT, 2000.
  • [31] D. Divsalar, S. Dolinar, and C. Jones, “Construction of protograph LDPC codes with linear minimum distance,” in Proc. IEEE ISIT, 2006.
  • [32] Y. Yu, Y. Han, and L. Zhang, “Hamming-GLDPC codes in BEC and AWGN channel,” in Proc. IEEE ICWMMN, 2015.
  • [33] C. Di, A. Montanari, and R. Urbanke, “Weight distributions of LDPC code ensembles: Combinatorics meets statistical physics,” in Proc. ISIT, 2004.
  • [34] R. G. Gallager, Low-density parity-check codes. Cambridge, MA: MIT Press, 1963.
  • [35] S. Abu-Surra, D. Divsalar, and W. E. Ryan, “On the existence of typical minimum distance for protograph-based LDPC codes,” in Proc. IEEE ITA, 2010.
  • [36] S. Abu-Surra, D. Divsalar, and W. E. Ryan, “On the typical minimum distance of protograph-based generalized LDPC codes,” in Proc. IEEE ISIT, 2010.
  • [37] A. K. Pradhan, A. Thangaraj, and A. Subramanian, “Construction of near-capacity protograph LDPC code sequences with block-error thresholds,” IEEE Trans. Commun., vol. 64, no. 1, pp. 27–37, Jan. 2016.
  • [38] C. Di, T. J. Richardson, and R. L. Urbanke, “Weight distribution of low-density parity-check codes,” IEEE Trans. Inf. Theory, vol. 52, no. 11, pp. 4839–4855, Nov. 2006.
  • [39] Xiao-Yu Hu, E. Eleftheriou, and D. M. Arnold, “Regular and irregular progressive edge-growth Tanner graphs,” IEEE Trans. Inf. Theory, vol. 51, no. 1, pp. 386–398, Jan. 2005.
  • [40] D. Divsalar, C. Jones, S. Dolinar, and J. Thorpe, “Protograph based LDPC codes with minimum distance linearly growing with block size,” in Proc. IEEE GLOBECOM, 2005.
  • [41] D. G. M. Mitchell, M. Lentmaier, A. E. Pusane, and D. J. Costello, “Randomly punctured LDPC codes,” IEEE J. Sel. Areas Commun., vol. 34, no. 2, pp. 408–421, Feb. 2016.