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

On the Growth Rate of the Weight Distribution of Irregular Doubly-Generalized LDPC Codes

Mark F. Flanagan, Enrico Paolini and Marco Chiani Marc Fossorier DEIS, University of Bologna
via Venezia 52, 47023 Cesena (FC), Italy
Email: mark.flanagan@ieee.org, e.paolini@unibo.it, marco.chiani@unibo.it
ETIS ENSEA / UCP / CNRS UMR-8051
6, avenue du Ponceau, 95014 Cergy Pontoise, France
Email: mfossorier@ieee.org
Abstract

In this paper, an expression for the asymptotic growth rate of the number of small linear-weight codewords of irregular doubly-generalized LDPC (D-GLDPC) codes is derived. The expression is compact and generalizes existing results for LDPC and generalized LDPC (GLDPC) codes. Assuming that there exist check and variable nodes with minimum distance 22, it is shown that the growth rate depends only on these nodes. An important connection between this new result and the stability condition of D-GLDPC codes over the BEC is highlighted. Such a connection, previously observed for LDPC and GLDPC codes, is now extended to the case of D-GLDPC codes.

Index Terms:
Doubly-generalized LDPC codes, irregular code ensembles, weight distribution.

I Introduction

Recently, low-density parity-check (LDPC) codes have been intensively studied due to their near-Shannon-limit performance under iterative belief-propagation decoding. Binary regular LDPC codes were first proposed by Gallager in 1963 [1]. In the last decade the capability of irregular LDPC codes to outperform regular ones in the waterfall region of the performance curve and to asymptotically approach (or even achieve) the communication channel capacity has been recognized and deeply investigated (see for instance [2, 3, 4, 5, 6, 7]).

It is usual to represent an LDPC code as a bipartite graph, i.e., as a graph where the nodes are grouped into two disjoint sets, namely, the variable nodes (VNs) and the check nodes (CNs), such that each edge may only connect a VN to a CN. The bipartite graph is also known as a Tanner graph [8]. In the Tanner graph of an LDPC code, a generic degree-qq VN can be interpreted as a length-qq repetition code, as it repeats qq times its single information bit towards the CNs. Similarly, a degree-ss CN of an LDPC code can be interpreted as a length-ss single parity-check (SPC) code, as it checks the parity of the ss VNs connected to it.

The growth rate of the weight distribution of Gallager’s regular LDPC codes was investigated in [1]. The analysis demonstrated that, provided that the smallest VN degree is at least 3, for large enough codeword length NN, the expected minimum distance of a randomly chosen code in the ensemble is a linear function of NN.

More recently, the study of the weight distribution of binary LDPC codes has been extended to irregular ensembles. Important works in this area are [9, 10, 11]. In [11] a complete solution for the growth rate of the weight distribution of binary irregular LDPC codes was developed. One of the main results of [11] is a connection between the expected behavior of the weight distribution of a code randomly chosen from the ensemble and the parameter λ(0)ρ(1)\lambda^{\prime}(0)\rho^{\prime}(1), λ(x)\lambda(x) and ρ(x)\rho(x) being the edge-perspective VN and CN degree distributions, respectively. More specifically, it was shown that for a code randomly chosen from the ensemble, one can expect an exponentially small number of small linear-weight codewords if 0λ(0)ρ(1)<10\leq\lambda^{\prime}(0)\rho^{\prime}(1)<1, and an exponentially large number of small linear-weight codewords if λ(0)ρ(1)>1\lambda^{\prime}(0)\rho^{\prime}(1)>1.

This result establishes a connection between the statistical properties of the weight distribution of binary irregular LDPC codes and the stability condition of binary irregular LDPC codes over the binary erasure channel (BEC) [3, 4]. If qq^{*} denotes the LDPC asymptotic iterative decoding threshold over the BEC, the stability condition states that we always have

q[λ(0)ρ(1)]1.\displaystyle q^{*}\leq\left[\lambda^{\prime}(0)\rho^{\prime}(1)\right]^{-1}. (1)

Prior to the rediscovery of LDPC codes, binary generalized LDPC (GLDPC) codes were introduced by Tanner in 1981 [8]. A GLDPC code generalizes the concept of an LDPC code in that a degree-ss CN may in principle be any (s,h)(s,h) linear block code, ss being the code length and hh the code dimension. Such a CN accounts for shs-h linearly independent parity-check equations. A CN associated with a linear block code which is not a SPC code is said to be a generalized CN. In [8] regular GLDPC codes (also known as Tanner codes) were investigated, these being GLDPC codes where the VNs are all repetition codes of the same length and the CNs are all linear block codes of the same type.

\psfrag{n2edges}{\small{$s$ edges}}\psfrag{k1bits}{ \small{$k$ bits}}\psfrag{n2k2genCN}{$(s,h)$ generalized CN}\psfrag{n2k2eqns}{\small{$s-h$ equations}}\psfrag{SPCCN}{SPC CN}\psfrag{repVN}{rep. VN}\psfrag{n1k1genVN}{$(q,k)$ generalized VN}\psfrag{brace}{$\underbrace{\phantom{---------------------------}}$}\psfrag{encodedbits}{$N$ code bits}\psfrag{n1edges}{\small{$q$ edges}}\includegraphics[width=170.71652pt,angle={270}]{dgldpc.eps}
Figure 1: Structure of a D-GLDPC code.

The growth rate of the weight distribution of binary GLDPC codes was investigated in [12, 13, 14, 15]. In [12] the growth rate is calculated for Tanner codes with BCH check component codes and length-2 repetition VNs, leading to an asymptotic lower bound on the minimum distance. The same lower bound is developed in [13] assuming Hamming CNs and length-2 repetition VNs. Both works extend the approach developed by Gallager in [1, Chapter 2] to show that, for sufficiently large NN, the minimum distance is a linear function of NN. The growth rate of the number of small weight codewords for GLDPC codes with a uniform CN set (all CN of the same type) and an irregular VN set (repetition VNs with different lengths) is investigated in [14]. It is shown that for sufficiently large NN, a minimum distance increasing linearly with NN is expected when either the uniform CN set is composed of linear block codes with minimum distance at least 33, or the minimum length of the repetition VNs is 3. On the other hand, if the minimum distance of the CNs and the minimum length of the repetition VNs are both equal to 2, then for a randomly selected GLDPC code in the ensemble we expect a minimum distance growing as a linear or sublinear function of NN (for large NN) depending on the sign of the first order coefficient in the growth rate Taylor series expansion. The results developed in [14] were further extended in [15] to GLDPC ensembles with an irregular CN set (CNs of different types). It was there proved that, provided that there exist CNs with minimum distance 22, a parameter λ(0)C\lambda^{\prime}(0)C, generalizing the parameter λ(0)ρ(1)\lambda^{\prime}(0)\rho^{\prime}(1) of LDPC code ensembles, plays in the context of the weight distribution of GLDPC codes the same role played by λ(0)ρ(1)\lambda^{\prime}(0)\rho^{\prime}(1) in the context of the weight distribution of LDPC codes. The parameter CC is defined in Section III.

Interestingly, this latter results extends to binary GLDPC codes the same connection between the statistical properties of the weight distribution of irregular codes and the stability condition over the BEC. In fact, it was shown in [16] that the stability condition of binary irregular GLDPC codes over the BEC is given by

q[λ(0)C]1.\displaystyle q^{*}\leq\left[\lambda^{\prime}(0)C\right]^{-1}. (2)

Generalized LDPC codes represent a promising solution for low-rate channel coding schemes, due to an overall rate loss introduced by the generalized CNs [17]. Doubly-generalized LDPC (D-GLDPC) codes generalize the concept of GLDPC codes while facilitating much greater design flexibility in terms of code rate [18] (an analogous idea may be found in the previous work [19]). In a D-GLDPC code, the VNs as well as the CNs may be of any generic linear block code types. A degree-qq VN may in principle be any (q,k)(q,k) linear block code, qq being the code length and kk the code dimension. Such a VN is associated with kk D-GLDPC code bits. It interprets these bits as its local information bits and interfaces to the CN set through its qq local code bits. A VN which corresponds to a linear block code which is not a repetition code is said to be a generalized VN. A D-GLDPC code is said to be regular if all of its VNs are of the same type and all of its CNs are of the same type and is said to be irregular otherwise. The structure of a D-GLDPC code is depicted in Fig. 1.

In this paper the growth rate of the weight distribution of binary irregular D-GLDPC codes is analyzed for small weight codewords. It is shown that, provided there exist both VNs and CNs with minimum distance 22, a parameter 1/P1(1/C)1/P^{-1}(1/C) discriminates between an asymptotically small and an asymptotically large expected number of small linear-weight codewords in a D-GLDPC code randomly drawn from a given irregular ensemble (the function P(x)P(x) is defined in Section III). The parameter 1/P1(1/C)1/P^{-1}(1/C) generalizes the above mentioned parameters λ(0)ρ(1)\lambda^{\prime}(0)\rho^{\prime}(1) and λ(0)C\lambda^{\prime}(0)C to the case where both generalized VNs and generalized CNs are present. The obtained result also represents the extension to the D-GLDPC case of the previously recalled connection with the stability condition over the BEC. In fact, it was proved in [16] that the stability condition of D-GLDPC codes over the BEC is given by

qP1(1/C).\displaystyle q^{*}\leq P^{-1}(1/C)\,. (3)

The paper is organized as follows. Section II defines the D-GLDPC ensemble of interest, and introduces some definitions and notation pertaining to this ensemble. Section III defines further terms regarding the VNs and CNs which compose the D-GLDPC codes in the ensemble. Finally, Section IV states and proves the main result of the paper regarding the growth rate of the weight distribution.

II Irregular Doubly-Generalized LDPC Code Ensemble

We define a D-GLDPC code ensemble n{\mathcal{M}}_{n} as follows, where nn denotes the number of VNs. There are ncn_{c} different CN types tIc={1,2,,nc}t\in I_{c}=\{1,2,\cdots,n_{c}\}, and nvn_{v} different VN types tIv={1,2,,nv}t\in I_{v}=\{1,2,\cdots,n_{v}\}. For each CN type tIct\in I_{c}, we denote by hth_{t}, sts_{t} and rtr_{t} the CN dimension, length and minimum distance, respectively. For each VN type tIvt\in I_{v}, we denote by ktk_{t}, qtq_{t} and ptp_{t} the VN dimension, length and minimum distance, respectively. For tIct\in I_{c}, ρt\rho_{t} denotes the fraction of edges connected to CNs of type tt. Similarly, for tIvt\in I_{v}, λt\lambda_{t} denotes the fraction of edges connected to VNs of type tt. Note that all of these variables are independent of nn.

The polynomials ρ(x)\rho(x) and λ(x)\lambda(x) are defined by

ρ(x)=tIcρtxst1\rho(x)=\sum_{t\in I_{c}}\rho_{t}x^{s_{t}-1}

and

λ(x)=tIvλtxqt1.\lambda(x)=\sum_{t\in I_{v}}\lambda_{t}x^{q_{t}-1}\;.

If EE denotes the number of edges in the Tanner graph, the number of CNs of type tIct\in I_{c} is then given by Eρt/stE\rho_{t}/s_{t}, and the number of VNs of type tIvt\in I_{v} is then given by Eλt/qtE\lambda_{t}/q_{t}. Denoting as usual 01ρ(x)dx\int_{0}^{1}\rho(x)\,{\rm d}x and 01λ(x)dx\int_{0}^{1}\lambda(x)\,{\rm d}x by ρ\int\rho and λ\int\lambda respectively, we see that the number of edges in the Tanner graph is given by

E=nλE=\frac{n}{\int\lambda}

and the number of CNs is given by m=Eρm=E\int\rho. Therefore, the fraction of CNs of type tIct\in I_{c} is given by

γt=ρtstρ\gamma_{t}=\frac{\rho_{t}}{s_{t}\int\rho} (4)

and the fraction of VNs of type tIvt\in I_{v} is given by

δt=λtqtλ\delta_{t}=\frac{\lambda_{t}}{q_{t}\int\lambda} (5)

Also the length of any D-GLDPC codeword in the ensemble is given by

N=tIv(Eλtqt)kt=nλtIvλtktqt.N=\sum_{t\in I_{v}}\left(\frac{E\lambda_{t}}{q_{t}}\right)k_{t}=\frac{n}{\int\lambda}\sum_{t\in I_{v}}\frac{\lambda_{t}k_{t}}{q_{t}}\;. (6)

Note that this is a linear function of nn. Similarly, the total number of parity-check equations for any D-GLDPC code in the ensemble is given by

M=mρtIcρthtst.M=\frac{m}{\int\rho}\sum_{t\in I_{c}}\frac{\rho_{t}h_{t}}{s_{t}}\;.

A member of the ensemble then corresponds to a permutation on the EE edges connecting CNs to VNs.

The growth rate of the weight distribution of the irregular D-GLDPC ensemble sequence {n}\{{\mathcal{M}}_{n}\} is defined by

G(α)=limn1nlog𝔼n[Nαn]G(\alpha)=\lim_{n\rightarrow\infty}\frac{1}{n}\log\mathbb{E}_{{\mathcal{M}}_{n}}\left[N_{\alpha n}\right] (7)

where 𝔼n\mathbb{E}_{{\mathcal{M}}_{n}} denotes the expectation operator over the ensemble n{\mathcal{M}}_{n}, and NwN_{w} denotes the number of codewords of weight ww of a randomly chosen D-GLDPC code in the ensemble n{\mathcal{M}}_{n}. The limit in (7) assumes the inclusion of only those positive integers nn for which αn\alpha n\in\mathbb{Z} and 𝔼n[Nαn]\mathbb{E}_{{\mathcal{M}}_{n}}[N_{\alpha n}] is positive (i.e., where the expression whose limit we seek is well defined). Note that the argument of the growth rate function G(α)G(\alpha) is equal to the ratio of D-GLDPC codeword length to the number of VNs; by (6), this captures the behaviour of codewords linear in the block length, as in [11] for the LDPC case.

Definition II.1

An assignment is a subset of the edges of the Tanner graph. An assignment is said to have weight kk if it has kk elements. An assignment is said to be check-valid if the following condition holds: supposing that each edge of the assignment carries a 11 and each of the other edges carries a 0, each CN recognizes a valid codeword.

Definition II.2

A split assignment is an assignment, together with a subset of the D-GLDPC code bits (called a codeword assignment). A split assignment is said to have split weight (u,v)(u,v) if its assignment has weight vv and its codeword assignment has uu elements. A split assignment is said to be check-valid if its assignment is check-valid. A split assignment is said to be variable-valid if the following condition holds: supposing that each edge of its assignment carries a 11 and each of the other edges carries a 0, and supposing that each D-GLDPC code bit in the codeword assigment is set to 11 and each of the other code bits is set to 0, each VN recognizes an input word and the corresponding valid codeword.

Note that for any D-GLDPC code, there is a bijective correspondence between the set of D-GLDPC codewords and the set of split assignments which are both variable-valid and check-valid.

III Further Definitions and Notation

The weight enumerating polynomial for CN type tIct\in I_{c} is given by

A(t)(x)\displaystyle A^{(t)}(x) =\displaystyle= u=0stAu(t)xu\displaystyle\sum_{u=0}^{s_{t}}A_{u}^{(t)}x^{u}
=\displaystyle= 1+u=rtstAu(t)xu.\displaystyle 1+\sum_{u=r_{t}}^{s_{t}}A_{u}^{(t)}x^{u}\;.

Here Au(t)0A_{u}^{(t)}\geq 0 denotes the number of weight-uu codewords for CNs of type tt. Note that Art(t)>0A_{r_{t}}^{(t)}>0 for all tIct\in I_{c}. The bivariate weight enumerating polynomial for VN type tIvt\in I_{v} is given by

B(t)(x,y)\displaystyle B^{(t)}(x,y) =\displaystyle= u=0ktv=0qtBu,v(t)xuyv\displaystyle\sum_{u=0}^{k_{t}}\sum_{v=0}^{q_{t}}B_{u,v}^{(t)}x^{u}y^{v}
=\displaystyle= 1+u=1ktv=ptqtBu,v(t)xuyv.\displaystyle 1+\sum_{u=1}^{k_{t}}\sum_{v=p_{t}}^{q_{t}}B_{u,v}^{(t)}x^{u}y^{v}\;.

Here Bu,v(t)0B_{u,v}^{(t)}\geq 0 denotes the number of weight-vv codewords generated by input words of weight uu, for VNs of type tt. Also, for each tIvt\in I_{v}, corresponding to the polynomial B(t)(x,y)B^{(t)}(x,y) we denote the sets

St={(i,j)2:Bi,j(t)>0}S_{t}=\{(i,j)\in\mathbb{Z}^{2}\;:\;B^{(t)}_{i,j}>0\} (8)

and

St=St\{(0,0)}.S_{t}^{-}=S_{t}\backslash\{(0,0)\}\;. (9)

We denote the smallest minimum distance over all CN types by

r=min{rt:tIc}r=\min\{r_{t}\;:\;t\in I_{c}\}

and the set of CN types with this minimum distance by

Xc={tIc:rt=r}.X_{c}=\{t\in I_{c}\;:\;r_{t}=r\}\;.

We also define

Ct=rtArt(t)stC_{t}=\frac{r_{t}A^{(t)}_{r_{t}}}{s_{t}}

for each tIct\in I_{c}, and

C=tXcρtCt.C=\sum_{t\in X_{c}}\rho_{t}C_{t}\;. (10)

We note that Ct>0C_{t}>0 for all tIct\in I_{c}, so C>0C>0.

Similarly, we denote the smallest minimum distance over all VN types by

p=min{pt:tIv}p=\min\{p_{t}\;:\;t\in I_{v}\}

and the set of VN types with this minimum distance by

Xv={tIv:pt=p}.X_{v}=\{t\in I_{v}\;:\;p_{t}=p\}\;.

In the specific case where p=2p=2, we also introduce the following definitions. For each tXvt\in X_{v}, define the set Lt={i:Bi,2(t)>0}L_{t}=\{i\in\mathbb{Z}\;:\;B^{(t)}_{i,2}>0\} – note that these sets are nonempty. Also define the polynomial P(x)P(x) by

P(x)=tXvλtiLt2Bi,2(t)qtxiP(x)=\sum_{t\in X_{v}}\lambda_{t}\sum_{i\in L_{t}}\frac{2B^{(t)}_{i,2}}{q_{t}}x^{i} (11)

and denote its inverse by P1(x)P^{-1}(x). Since all the coefficients of P(x)P(x) are positive, P(x)P(x) is monotonically increasing and therefore its inverse is well-defined and unique. Note that in the case r=p=2r=p=2, both CC and the polynomial P(x)P(x) depend only on the CNs and VNs with minimum distance equal to 22.

Finally, note that throughout this paper, the notation e=exp(1)e=\exp(1) denotes Napier’s number.

IV Growth Rate for Doubly-Generalized LDPC Code Ensemble

The following theorem constitutes the main result of the paper.

Theorem IV.1

Consider an irregular D-GLDPC code ensemble sequence n{\mathcal{M}}_{n} satisfying r=p=2r=p=2. For sufficiently small α\alpha, the growth rate of the weight distribution is given by

G(α)=αlog[1P1(1/C)]+O(α2).G(\alpha)=\alpha\log\left[\frac{1}{P^{-1}(1/C)}\right]+O(\alpha^{2})\;. (12)

The theorem is proved next. For ease of presentation, the proof is broken into four parts.

IV-A Number of check-valid assignments of weight ϵm\epsilon m over γm\gamma m CNs of type tIct\in I_{c}

Consider γm\gamma m CNs of the same type tIct\in I_{c}. Using generating functions 111Here we make use of the following general result [20]. Let aia_{i} be the number of ways of obtaining an outcome ii\in\mathbb{Z} in experiment 𝒜{\mathcal{A}}, and let bjb_{j} be the number of ways of obtaining an outcome jj\in\mathbb{Z} in experiment {\mathcal{B}}. Also let ckc_{k} be the number of ways of obtaining an outcome (i,j)(i,j) in the combined experiment (𝒜,)({\mathcal{A}},{\mathcal{B}}) with sum i+j=ki+j=k. Then the generating functions A(x)=iaixiA(x)=\sum_{i}a_{i}x^{i}, B(x)=jbjxjB(x)=\sum_{j}b_{j}x^{j} and C(x)=kckxkC(x)=\sum_{k}c_{k}x^{k} are related by C(x)=A(x)B(x)C(x)=A(x)B(x). , the number of check-valid assignments (over these CNs) of weight ϵm\epsilon m is given by

Nc,t(γm)(ϵm)=Coeff [(A(t)(x))γm,xϵm]N_{c,t}^{(\gamma m)}(\epsilon m)={\mbox{Coeff }}\left[\left(A^{(t)}(x)\right)^{\gamma m},x^{\epsilon m}\right]

where Coeff [p(x),xc]{\mbox{Coeff }}[p(x),x^{c}] denotes the coefficient of xcx^{c} in the polynomial p(x)p(x). We now use the following result, which appears as Lemma 19 in [11]:

Lemma IV.2

Let A(x)=1+u=cdAuxuA(x)=1+\sum_{u=c}^{d}A_{u}x^{u}, where 1cd1\leq c\leq d, be a polynomial satisfying Ac>0A_{c}>0 and Au0A_{u}\geq 0 for all c<udc<u\leq d. Then, for sufficiently small ξ\xi,

lim1logCoeff [(A(x)),xξ]=ξclog(ecAcξ)+O(ξ2)\lim_{\ell\rightarrow\infty}\frac{1}{\ell}\log{\mbox{Coeff }}\left[\left(A(x)\right)^{\ell},x^{\xi\ell}\right]\\ =\frac{\xi}{c}\log\left(\frac{ecA_{c}}{\xi}\right)+O(\xi^{2}) (13)

The limit in (13) assumes the inclusion of only those positive integers \ell for which ξ\xi\ell\in\mathbb{Z} and Coeff [(A(x)),xξ]{\mbox{Coeff }}[(A(x))^{\ell},x^{\xi\ell}] is positive (i.e., where the expression whose limit we seek is well defined). A proof of this lemma may be found in the Appendix; our proof is based on arguments from [10] and Lagrange multipliers, and constitutes a different approach to that taken in [11].

Applying this lemma by substituting A(x)=A(t)(x)A(x)=A^{(t)}(x), =γm\ell=\gamma m and ξ=ϵ/γ\xi=\epsilon/\gamma, we obtain that with γ\gamma fixed, as mm\rightarrow\infty we have, for sufficiently small ϵ\epsilon,

Nc,t(γm)(ϵm)=Coeff [(A(t)(x))γm,xϵm]exp{m[ϵrtlog(ertArt(t)γϵ)+O(ϵ2)]}N_{c,t}^{(\gamma m)}(\epsilon m)={\mbox{Coeff }}\left[\left(A^{(t)}(x)\right)^{\gamma m},x^{\epsilon m}\right]\rightarrow\\ \exp\left\{m\left[\frac{\epsilon}{r_{t}}\log\left(\frac{er_{t}A^{(t)}_{r_{t}}\gamma}{\epsilon}\right)+O(\epsilon^{2})\right]\right\} (14)

IV-B Number of check-valid assignments of weight δm\delta m

Next we derive an expression, valid asymptotically, for the number of check-valid assignments of weight δm\delta m. For each tIct\in I_{c}, let ϵtm\epsilon_{t}m denote the portion of the total weight δm\delta m apportioned to CNs of type tt. Then ϵt0\epsilon_{t}\geq 0 for each tIct\in I_{c}, and tIcϵt=δ\sum_{t\in I_{c}}\epsilon_{t}=\delta. Also denote ϵ=(ϵ1ϵ2ϵnc){\mbox{\boldmath$\epsilon$}}=(\epsilon_{1}\;\epsilon_{2}\;\cdots\;\epsilon_{n_{c}}). The number of check-valid assignments of weight δm\delta m satisfying the constraint ϵ\epsilon is obtained by multiplying the numbers of check-valid assignments of weight ϵtm\epsilon_{t}m over γtm\gamma_{t}m CNs of type tt, for each tIct\in I_{c},

Nc(ϵ)(δm)=tIcNc,t(γtm)(ϵtm)N_{c}^{({\mbox{\boldmath$\epsilon$}})}(\delta m)=\prod_{t\in I_{c}}N_{c,t}^{(\gamma_{t}m)}(\epsilon_{t}m)

where the fraction γt\gamma_{t} of CNs of type tIct\in I_{c} is given by (4).

As nn\rightarrow\infty, we have mm\rightarrow\infty and so we obtain using (14) that for sufficiently small δ\delta,

Nc(ϵ)(δm)tIcexp{m[ϵtrtlog(ertArt(t)γtϵt)+O(ϵt2)]}=exp{m[tIc(ϵtrtlog(eρtCtϵtρ))+O(δ2)]}N_{c}^{({\mbox{\boldmath$\epsilon$}})}(\delta m)\rightarrow\\ \prod_{t\in I_{c}}\exp\left\{m\left[\frac{\epsilon_{t}}{r_{t}}\log\left(\frac{er_{t}A^{(t)}_{r_{t}}\gamma_{t}}{\epsilon_{t}}\right)+O(\epsilon_{t}^{2})\right]\right\}\\ =\exp\left\{m\left[\sum_{t\in I_{c}}\left(\frac{\epsilon_{t}}{r_{t}}\log\left(\frac{e\rho_{t}C_{t}}{\epsilon_{t}\int\rho}\right)\right)+O(\delta^{2})\right]\right\} (15)

The number of check-valid assignments of weight δm\delta m, which we denote Nc(δm)N_{c}(\delta m), is equal to the sum of Nc(ϵ)(δm)N_{c}^{({\mbox{\boldmath$\epsilon$}})}(\delta m) over all admissible vectors ϵ\epsilon. However, the asymptotic expression as nn\rightarrow\infty will be dominated by the distribution ϵ\epsilon which maximizes the argument of the exponential 222Observe that as mm\rightarrow\infty, texp(mZt)exp(mmaxt{Zt})\sum_{t}\exp(mZ_{t})\rightarrow\exp(m\max_{t}\{Z_{t}\}) . Therefore, our next step is to maximize the function

f(ϵ)=tIcϵtrtlog(eρtCtϵtρ)f({\mbox{\boldmath$\epsilon$}})=\sum_{t\in I_{c}}\frac{\epsilon_{t}}{r_{t}}\log\left(\frac{e\rho_{t}C_{t}}{\epsilon_{t}\int\rho}\right)

subject to the constraints

g(ϵ)=tIcϵt=δg({\mbox{\boldmath$\epsilon$}})=\sum_{t\in I_{c}}\epsilon_{t}=\delta (16)

and

ϵt0tIc.\epsilon_{t}\geq 0\quad\forall t\in I_{c}\;. (17)

We solve this optimization problem using Lagrange multipliers, ignoring for the moment the final constraint. Since

fϵt=1rtlog(ρtCtϵtρ);gϵt=1\frac{\partial f}{\partial\epsilon_{t}}=\frac{1}{r_{t}}\log\left(\frac{\rho_{t}C_{t}}{\epsilon_{t}\int\rho}\right)\quad;\quad\frac{\partial g}{\partial\epsilon_{t}}=1

for all tIct\in I_{c}, we have to solve the ncn_{c} equations (where μ\mu is the Lagrange multiplier)

1rtlog(ρtCtϵtρ)+μ=0tIc\frac{1}{r_{t}}\log\left(\frac{\rho_{t}C_{t}}{\epsilon_{t}\int\rho}\right)+\mu=0\quad\forall t\in I_{c} (18)

together with (16), for the (nc+1)(n_{c}+1) unknowns {μ,ϵ}\{\mu,{\mbox{\boldmath$\epsilon$}}\}. First, (18) yields

ϵt=ρtCtρzrttIc\epsilon_{t}=\frac{\rho_{t}C_{t}}{\int\rho}z^{r_{t}}\quad\forall t\in I_{c}

where z=eμz=e^{\mu}. Now using (16), we obtain

1ρtIcCtρtzrt=δ.\frac{1}{\int\rho}\sum_{t\in I_{c}}C_{t}\rho_{t}z^{r_{t}}=\delta\;.

The left-hand side of this equation involves a sum of positive terms. For δ\delta sufficiently small, we may approximate

1ρtIcρtCtzrt\displaystyle\frac{1}{\int\rho}\sum_{t\in I_{c}}\rho_{t}C_{t}z^{r_{t}} \displaystyle\approx 1ρtXcρtCtzrt\displaystyle\frac{1}{\int\rho}\sum_{t\in X_{c}}\rho_{t}C_{t}z^{r_{t}} (19)
=\displaystyle= Cρzr.\displaystyle \frac{C}{\int\rho}z^{r}\;. (20)

Applying this approximation, we obtain ϵt=0\epsilon_{t}=0 if tXct\notin X_{c}, and ϵt=KρtCt\epsilon_{t}=K\rho_{t}C_{t} if tXct\in X_{c}, where KK is independent of tt. Then (16) yields K=δ/CK=\delta/C, and we obtain the solution

ϵt={ρtCtδ/Cif tXc0otherwise.\epsilon_{t}=\left\{\begin{array}[]{cl}\rho_{t}C_{t}\delta/C&\textrm{if }t\in X_{c}\\ 0&\textrm{otherwise.}\end{array}\right.

This solution satisfies (17). When substituted into (15), it yields the following result: as nn\rightarrow\infty

Nc(δm)exp{m[δrlog(eCδρ)+O(δ2)]}N_{c}(\delta m)\rightarrow\exp\left\{m\left[\frac{\delta}{r}\log\left(\frac{eC}{\delta\int\rho}\right)+O(\delta^{2})\right]\right\} (21)

IV-C Number of variable-valid split assignments of split weight (τn,σn)(\tau n,\sigma n) over γn\gamma n VNs of type tIvt\in I_{v}

Consider γn\gamma n VNs of the same type tIvt\in I_{v}. We now evaluate the number of variable-valid split assignments (over these VNs) of split weight (τn,σn)(\tau n,\sigma n). Using generating functions 333We use the following result on bivariate generating functions [20]. Let ai,ja_{i,j} be the number of ways of obtaining an outcome (i,j)2(i,j)\in\mathbb{Z}^{2} in experiment 𝒜{\mathcal{A}}, and let bk,lb_{k,l} be the number of ways of obtaining an outcome (k,l)2(k,l)\in\mathbb{Z}^{2} in experiment {\mathcal{B}}. Also let cp,qc_{p,q} be the number of ways of obtaining an outcome ((i,j),(k,l))((i,j),(k,l)) in the combined experiment (𝒜,)({\mathcal{A}},{\mathcal{B}}) with sums i+k=pi+k=p and j+l=qj+l=q. Then the generating functions A(x,y)=i,jai,jxiyjA(x,y)=\sum_{i,j}a_{i,j}x^{i}y^{j}, B(x,y)=k,lbk,lxkylB(x,y)=\sum_{k,l}b_{k,l}x^{k}y^{l} and C(x,y)=p,qcp,qxpyqC(x,y)=\sum_{p,q}c_{p,q}x^{p}y^{q} are related by C(x,y)=A(x,y)B(x,y)C(x,y)=A(x,y)B(x,y). , this is given by

Nv,t(γn)(τn,σn)=Coeff [(B(t)(x,y))γn,xτnyσn]N_{v,t}^{(\gamma n)}(\tau n,\sigma n)={\mbox{Coeff }}\left[\left(B^{(t)}(x,y)\right)^{\gamma n},x^{\tau n}y^{\sigma n}\right]

where Coeff [p(x,y),xcyd]{\mbox{Coeff }}[p(x,y),x^{c}y^{d}] denotes the coefficient of xcydx^{c}y^{d} in the bivariate polynomial p(x,y)p(x,y). We make use of the following lemma from [10, Theorem 2].

Lemma IV.3

Let

B(x,y)=1+u=1kv=cdBu,vxuyvB(x,y)=1+\sum_{u=1}^{k}\sum_{v=c}^{d}B_{u,v}x^{u}y^{v}

where k1k\geq 1 and 1cd1\leq c\leq d, be a bivariate polynomial satisfying Bu,v0B_{u,v}\geq 0 for all 1uk1\leq u\leq k, cvdc\leq v\leq d. For fixed positive rational numbers ξ\xi and θ\theta, consider the set of positive integers \ell such that ξ\xi\ell\in\mathbb{Z}, θ\theta\ell\in\mathbb{Z} and Coeff [(B(x,y)),xξyθ]>0{\mbox{Coeff }}[(B(x,y))^{\ell},x^{\xi\ell}y^{\theta\ell}]>0. Then either this set is empty, or has infinite cardinality; if tt is one such \ell, then so is jtjt for every positive integer jj. Assuming the latter case, the following limit is well defined and exists:

lim1logCoeff [(B(x,y)),xξyθ]=max𝜼(i,j)Sηi,jlog(Bi,jηi,j)\lim_{\ell\rightarrow\infty}\frac{1}{\ell}\log{\mbox{Coeff }}\left[\left(B(x,y)\right)^{\ell},x^{\xi\ell}y^{\theta\ell}\right]\\ =\max_{{\mbox{\scriptsize\boldmath$\eta$}}}\sum_{(i,j)\in S}\eta_{i,j}\log\left(\frac{B_{i,j}}{\eta_{i,j}}\right) (22)

where S={(i,j)2:Bi,j>0}S=\{(i,j)\in\mathbb{Z}^{2}\;:\;B_{i,j}>0\}, 𝛈=(ηi,j)(i,j)S{\mbox{\boldmath$\eta$}}=(\eta_{i,j})_{(i,j)\in S}, and the maximization is subject to the constraints (i,j)Sηi,j=1\sum_{(i,j)\in S}\eta_{i,j}=1, (i,j)Siηi,j=ξ\sum_{(i,j)\in S}i\eta_{i,j}=\xi, (i,j)Sjηi,j=θ\sum_{(i,j)\in S}j\eta_{i,j}=\theta and ηi,j0\eta_{i,j}\geq 0 for all (i,j)S(i,j)\in S.

Applying this lemma by substituting B(x,y)=B(t)(x,y)B(x,y)=B^{(t)}(x,y), l=γnl=\gamma n, ξ=τ/γ\xi=\tau/\gamma and θ=σ/γ\theta=\sigma/\gamma, we obtain that with γ\gamma fixed, as nn\rightarrow\infty

Nv,t(γn)(τn,σn)=Coeff [(B(t)(x,y))γn,xτnyσn]\displaystyle N_{v,t}^{(\gamma n)}(\tau n,\sigma n)={\mbox{Coeff }}\left[\left(B^{(t)}(x,y)\right)^{\gamma n},x^{\tau n}y^{\sigma n}\right] (23)
exp{nγmax𝜼(t)(i,j)Stηi,j(t)log(Bi,j(t)ηi,j(t))}\displaystyle\rightarrow\exp\left\{n\gamma\max_{{\mbox{\scriptsize\boldmath$\eta$}}^{(t)}}\sum_{(i,j)\in S_{t}}\eta^{(t)}_{i,j}\log\left(\frac{B^{(t)}_{i,j}}{\eta^{(t)}_{i,j}}\right)\right\} (24)
exp{nXt(γ)(τ,σ)}\displaystyle\triangleq\exp\left\{nX^{(\gamma)}_{t}(\tau,\sigma)\right\} (25)

where the maximization over 𝜼(t)=(ηi,j(t))(i,j)St{\mbox{\boldmath$\eta$}}^{(t)}=(\eta^{(t)}_{i,j})_{(i,j)\in S_{t}} is subject to the constraints (i,j)Stηi,j(t)=1\sum_{(i,j)\in S_{t}}\eta^{(t)}_{i,j}=1, (i,j)Stiηi,j(t)=τ/γ\sum_{(i,j)\in S_{t}^{-}}i\eta^{(t)}_{i,j}=\tau/\gamma, (i,j)Stjηi,j(t)=σ/γ\sum_{(i,j)\in S_{t}^{-}}j\eta^{(t)}_{i,j}=\sigma/\gamma and ηi,j(t)0\eta^{(t)}_{i,j}\geq 0 for all (i,j)St(i,j)\in S_{t} (recall that the sets StS_{t} and StS_{t}^{-} are given by (8) and (9)).

IV-D Growth rate of the weight distribution of the irregular D-GLDPC code ensemble sequence

Recall that the number of check-valid assignments of weight δm\delta m is Nc(δm)N_{c}(\delta m); also, the total number of assignments of weight δm\delta m is (Eδm)\binom{E}{\delta m}. Therefore, the probability that a randomly chosen assignment of weight δm\delta m is check-valid is given by

Pvalid(δm)=Nc(δm)/(Eδm).P_{\mbox{\scriptsize valid}}(\delta m)=N_{c}(\delta m)\Big{/}\binom{E}{\delta m}\;.

Here we adopt the notation δm=βn\delta m=\beta n; also we have E=m/ρ=n/λE=m/\int\rho=n/\int\lambda. The binomial coefficient may be asymptotically approximated using the fact, based on Stirling’s approximation, that as nn\rightarrow\infty [11]

(τnσn)exp{n[σlog(eτσ)+O(σ2)]}\binom{\tau n}{\sigma n}\rightarrow\exp\left\{n\left[\sigma\log\left(\frac{e\tau}{\sigma}\right)+O(\sigma^{2})\right]\right\}

(valid for 0<σ<τ<10<\sigma<\tau<1) which yields, in this case,

(n/λβn)exp{n[βlog(eβλ)+O(β2)]}\binom{n/\int\lambda}{\beta n}\rightarrow\exp\left\{n\left[\beta\log\left(\frac{e}{\beta\int\lambda}\right)+O(\beta^{2})\right]\right\}

as nn\rightarrow\infty. Applying this together with the asymptotic expression (21), and assuming sufficiently small β\beta, we find that as nn\rightarrow\infty (exploiting the fact that δρ=βλ\delta\int\rho=\beta\int\lambda)

Pvalid(βn)exp{nY(β)}P_{\mbox{\scriptsize valid}}(\beta n)\rightarrow\exp\{nY(\beta)\} (26)

where

Y(β)=βrlog(eCβλ)βlog(eβλ)+O(β2).Y(\beta)=\frac{\beta}{r}\log\left(\frac{eC}{\beta\int\lambda}\right)-\beta\log\left(\frac{e}{\beta\int\lambda}\right)+O(\beta^{2})\;.

Next, we note that the expected number of D-GLDPC codewords of weight αn\alpha n in the ensemble n{\mathcal{M}}_{n} is equal to the sum over β\beta of the expected numbers of split assignments of split weight (αn,βn)(\alpha n,\beta n) which are both check-valid and variable-valid, denoted Nαn,βnv,cN^{v,c}_{\alpha n,\beta n}:

𝔼n[Nαn]=β𝔼n[Nαn,βnv,c].\mathbb{E}_{{\mathcal{M}}_{n}}\left[N_{\alpha n}\right]=\sum_{\beta}\mathbb{E}_{{\mathcal{M}}_{n}}[N^{v,c}_{\alpha n,\beta n}]\;.

This may then be expressed as

𝔼n[Nαn]=βPvalid(βn)αt=αβt=β[tIvNv,t(δtn)(αtn,βtn)]\mathbb{E}_{{\mathcal{M}}_{n}}\left[N_{\alpha n}\right]=\\ \sum_{\beta}P_{\mbox{\scriptsize valid}}(\beta n)\sum_{\begin{subarray}{c}\sum\alpha_{t}=\alpha\\ \sum\beta_{t}=\beta\end{subarray}}\left[\prod_{t\in I_{v}}N_{v,t}^{(\delta_{t}n)}(\alpha_{t}n,\beta_{t}n)\right]

where the fraction δt\delta_{t} of VNs of type tIvt\in I_{v} is given by (5) and the second sum is over all partitions of α\alpha and β\beta into nvn_{v} elements, i.e., we have αt,βt0\alpha_{t},\beta_{t}\geq 0 for all tIvt\in I_{v}, and tIvαt=α\sum_{t\in I_{v}}\alpha_{t}=\alpha, tIvβt=β\sum_{t\in I_{v}}\beta_{t}=\beta.

Now, using (23)-(25), as nn\rightarrow\infty we have for each tIvt\in I_{v}

Nv,t(δtn)(αtn,βtn)exp{nXt(δt)(αt,βt)},N_{v,t}^{(\delta_{t}n)}(\alpha_{t}n,\beta_{t}n)\rightarrow\exp\left\{nX^{(\delta_{t})}_{t}(\alpha_{t},\beta_{t})\right\}\;,

where, for each tIvt\in I_{v},

Xt(δt)(αt,βt)=δtmax𝜼(t)(i,j)Stηi,j(t)log(Bi,j(t)ηi,j(t))X^{(\delta_{t})}_{t}(\alpha_{t},\beta_{t})=\delta_{t}\max_{{\mbox{\scriptsize\boldmath$\eta$}}^{(t)}}\sum_{(i,j)\in S_{t}}\eta^{(t)}_{i,j}\log\left(\frac{B^{(t)}_{i,j}}{\eta^{(t)}_{i,j}}\right) (27)

and the maximization over 𝜼(t)=(ηi,j(t))(i,j)St{\mbox{\boldmath$\eta$}}^{(t)}=(\eta^{(t)}_{i,j})_{(i,j)\in S_{t}} is subject to the constraints

(i,j)Stηi,j(t)=1\sum_{(i,j)\in S_{t}}\eta^{(t)}_{i,j}=1 (28)
(i,j)Stiηi,j(t)=αt/δt\sum_{(i,j)\in S_{t}^{-}}i\eta^{(t)}_{i,j}=\alpha_{t}/\delta_{t} (29)
(i,j)Stjηi,j(t)=βt/δt\sum_{(i,j)\in S_{t}^{-}}j\eta^{(t)}_{i,j}=\beta_{t}/\delta_{t} (30)

and

ηi,j(t)0(i,j)St.\eta^{(t)}_{i,j}\geq 0\quad\forall(i,j)\in S_{t}\;. (31)

Therefore, recalling (26), we have that as nn\rightarrow\infty,

𝔼n[Nαn]βαt=αβt=βexp{n[tIvXt(δt)(αt,βt)+Y(β)]}.\mathbb{E}_{{\mathcal{M}}_{n}}\left[N_{\alpha n}\right]\rightarrow\\ \sum_{\beta}\sum_{\begin{subarray}{c}\sum\alpha_{t}=\alpha\\ \sum\beta_{t}=\beta\end{subarray}}\exp\left\{n\left[\sum_{t\in I_{v}}X^{(\delta_{t})}_{t}(\alpha_{t},\beta_{t})+Y(\beta)\right]\right\}\;. (32)

Next, for each tIvt\in I_{v} we define

Ft(𝜼(t))=η0,0(t)log(1η0,0(t))(i,j)Stηi,j(t).F_{t}({\mbox{\boldmath$\eta$}}^{(t)})=\eta^{(t)}_{0,0}\log\left(\frac{1}{\eta^{(t)}_{0,0}}\right)-\sum_{(i,j)\in S_{t}^{-}}\eta^{(t)}_{i,j}\;.

Note that the expression (32) is dominated as nn\rightarrow\infty by the term which maximizes the argument of the exponential. Thus we may write

G(α)=maxβmaxαt=αβt=β{tIvδtmax𝜼(t)[(i,j)Stηi,j(t)log(eBi,j(t)ηi,j(t))+Ft(𝜼(t))]+βrlog(eCβλ)βlog(eβλ)+O(β2)}\!\!\!\!\!\!G(\alpha)=\max_{\beta}\max_{\begin{subarray}{c}\sum\alpha_{t}=\alpha\\ \sum\beta_{t}=\beta\end{subarray}}\Bigg{\{}\sum_{t\in I_{v}}\delta_{t}\max_{{\mbox{\scriptsize\boldmath$\eta$}}^{(t)}}\Bigg{[}\sum_{(i,j)\in S_{t}^{-}}\eta^{(t)}_{i,j}\log\left(\frac{eB^{(t)}_{i,j}}{\eta^{(t)}_{i,j}}\right)\\ +F_{t}({\mbox{\boldmath$\eta$}}^{(t)})\Bigg{]}+\frac{\beta}{r}\log\left(\frac{eC}{\beta\int\lambda}\right)\\ -\beta\log\left(\frac{e}{\beta\int\lambda}\right)+O(\beta^{2})\Bigg{\}} (33)

where the maximization over 𝜼(t)=(ηi,j(t))(i,j)St{\mbox{\boldmath$\eta$}}^{(t)}=(\eta^{(t)}_{i,j})_{(i,j)\in S_{t}^{-}} (for each tIvt\in I_{v}) is subject to constraints (29) and (30) together with ηi,j(t)0\eta^{(t)}_{i,j}\geq 0 for all (i,j)St(i,j)\in S_{t}^{-}.

We next have the following lemma.

Lemma IV.4

The expression tIvδtFt(𝛈(t))\sum_{t\in I_{v}}\delta_{t}F_{t}({\mbox{\boldmath$\eta$}}^{(t)}) is O(α2)O(\alpha^{2}) for any 𝛈(t){\mbox{\boldmath$\eta$}}^{(t)} satisfying the optimization constraints (28)-(31)444Here we use the following standard notation: the real-valued function f(x)f(x) is said to be O(g(x))O(g(x)) if and only if there exist positive real numbers kk and ϵ\epsilon, both independent of xx, such that |f(x)|kg(x) 0xϵ.\left|f(x)\right|\leq kg(x)\quad\forall\;0\leq x\leq\epsilon\;. .

A proof of this lemma is given in the Appendix. It follows from Lemma 4 that the expression tIvδtFt(𝜼(t))\sum_{t\in I_{v}}\delta_{t}F_{t}({\mbox{\boldmath$\eta$}}^{(t)}) is O(α2)O(\alpha^{2}) for the maximizing 𝜼(t){\mbox{\boldmath$\eta$}}^{(t)}. Also, since β/α\beta/\alpha is bounded between two positive constants, any expression which is O(β2)O(\beta^{2}) must necessarily also be O(α2)O(\alpha^{2}). Therefore

G(α)=maxβmaxαt=αβt=β[tIvδtmax𝜼(t)(i,j)Stηi,j(t)log(eBi,j(t)ηi,j(t))+βrlog(eCβλ)βlog(eβλ)]+O(α2)\!\!G(\alpha)=\max_{\beta}\max_{\begin{subarray}{c}\sum\alpha_{t}=\alpha\\ \sum\beta_{t}=\beta\end{subarray}}\Bigg{[}\sum_{t\in I_{v}}\delta_{t}\max_{{\mbox{\scriptsize\boldmath$\eta$}}^{(t)}}\sum_{(i,j)\in S_{t}^{-}}\eta^{(t)}_{i,j}\log\left(\frac{eB^{(t)}_{i,j}}{\eta^{(t)}_{i,j}}\right)\\ +\frac{\beta}{r}\log\left(\frac{eC}{\beta\int\lambda}\right)-\beta\log\left(\frac{e}{\beta\int\lambda}\right)\Bigg{]}+O(\alpha^{2})

where the optimization is (as before) subject to the constraints (29) and (30) together with ηi,j(t)0\eta^{(t)}_{i,j}\geq 0 for all (i,j)St(i,j)\in S_{t}^{-}. In what follows, for convenience of presentation we shall temporarily omit the O(α2)O(\alpha^{2}) term in the expression for growth rate.

Next we make the substitution γi,j(t)=δtηi,j(t)\gamma^{(t)}_{i,j}=\delta_{t}\eta^{(t)}_{i,j} for all tIvt\in I_{v}, (i,j)St(i,j)\in S_{t}^{-}. This yields

G(α)=maxβmaxαt=αβt=β[tIvmax𝜸(t)(i,j)Stγi,j(t)log(eBi,j(t)δtγi,j(t))+βrlog(eCβλ)βlog(eβλ)]\!\!G(\alpha)=\max_{\beta}\max_{\begin{subarray}{c}\sum\alpha_{t}=\alpha\\ \sum\beta_{t}=\beta\end{subarray}}\Bigg{[}\sum_{t\in I_{v}}\max_{{\mbox{\scriptsize\boldmath$\gamma$}}^{(t)}}\sum_{(i,j)\in S_{t}^{-}}\gamma^{(t)}_{i,j}\log\left(\frac{eB^{(t)}_{i,j}\delta_{t}}{\gamma^{(t)}_{i,j}}\right)\\ +\frac{\beta}{r}\log\left(\frac{eC}{\beta\int\lambda}\right)-\beta\log\left(\frac{e}{\beta\int\lambda}\right)\Bigg{]}

where the maximization over 𝜸(t)=(γi,j(t))(i,j)St{\mbox{\boldmath$\gamma$}}^{(t)}=(\gamma^{(t)}_{i,j})_{(i,j)\in S_{t}^{-}} (for each tIvt\in I_{v}) is subject to the constraints (i,j)Stiγi,j(t)=αt\sum_{(i,j)\in S_{t}^{-}}i\gamma^{(t)}_{i,j}=\alpha_{t}, (i,j)Stjγi,j(t)=βt\sum_{(i,j)\in S_{t}^{-}}j\gamma^{(t)}_{i,j}=\beta_{t}, and γi,j(t)0\gamma^{(t)}_{i,j}\geq 0 for all (i,j)St(i,j)\in S_{t}^{-}. We observe that this maximization may be recast as

G(α)=max𝜸[tIv(i,j)Stγi,j(t)log(eBi,j(t)δtγi,j(t))+β(𝜸)rlog(eCβ(𝜸)λ)β(𝜸)log(eβ(𝜸)λ)]G(\alpha)=\max_{{\mbox{\scriptsize\boldmath$\gamma$}}}\Bigg{[}\sum_{t\in I_{v}}\sum_{(i,j)\in S_{t}^{-}}\gamma^{(t)}_{i,j}\log\left(\frac{eB^{(t)}_{i,j}\delta_{t}}{\gamma^{(t)}_{i,j}}\right)\\ +\frac{\beta({\mbox{\boldmath$\gamma$}})}{r}\log\left(\frac{eC}{\beta({\mbox{\boldmath$\gamma$}})\int\lambda}\right)-\beta({\mbox{\boldmath$\gamma$}})\log\left(\frac{e}{\beta({\mbox{\boldmath$\gamma$}})\int\lambda}\right)\Bigg{]}

where the maximization, which is now over 𝜸=(γi,j(t))tIv,(i,j)St{\mbox{\boldmath$\gamma$}}=(\gamma^{(t)}_{i,j})_{t\in I_{v},(i,j)\in S_{t}^{-}}, is subject to the constraints

tIv(i,j)Stiγi,j(t)=α\sum_{t\in I_{v}}\sum_{(i,j)\in S_{t}^{-}}i\gamma^{(t)}_{i,j}=\alpha

and γi,j(t)0\gamma^{(t)}_{i,j}\geq 0 for all tIvt\in I_{v}, (i,j)St(i,j)\in S_{t}^{-}, and where

β(𝜸)=tIv(i,j)Stjγi,j(t).\beta({\mbox{\boldmath$\gamma$}})=\sum_{t\in I_{v}}\sum_{(i,j)\in S_{t}^{-}}j\gamma^{(t)}_{i,j}\;.

Making the substitution νi,j(t)=γi,j(t)/α\nu^{(t)}_{i,j}=\gamma^{(t)}_{i,j}/\alpha for all tIvt\in I_{v}, (i,j)St(i,j)\in S_{t}^{-}, we obtain

G(α)=αmax𝝂[tIv(i,j)Stνi,j(t)log(eBi,j(t)δtανi,j(t))+z(𝝂)rlog(eCαz(𝝂)λ)z(𝝂)log(eαz(𝝂)λ)]G(\alpha)=\alpha\max_{{\mbox{\scriptsize\boldmath$\nu$}}}\Bigg{[}\sum_{t\in I_{v}}\sum_{(i,j)\in S_{t}^{-}}\nu^{(t)}_{i,j}\log\left(\frac{eB^{(t)}_{i,j}\delta_{t}}{\alpha\nu^{(t)}_{i,j}}\right)\\ +\frac{z({\mbox{\boldmath$\nu$}})}{r}\log\left(\frac{eC}{\alpha z({\mbox{\boldmath$\nu$}})\int\lambda}\right)-z({\mbox{\boldmath$\nu$}})\log\left(\frac{e}{\alpha z({\mbox{\boldmath$\nu$}})\int\lambda}\right)\Bigg{]}

where the maximization over 𝝂=(νi,j(t))tIv,(i,j)St{\mbox{\boldmath$\nu$}}=(\nu^{(t)}_{i,j})_{t\in I_{v},(i,j)\in S_{t}^{-}} is subject to the constraints tIv(i,j)Stiνi,j(t)=1\sum_{t\in I_{v}}\sum_{(i,j)\in S_{t}^{-}}i\nu^{(t)}_{i,j}=1 and νi,j(t)0\nu^{(t)}_{i,j}\geq 0 for all tIvt\in I_{v}, (i,j)St(i,j)\in S_{t}^{-}, and where

z(𝝂)=tIv(i,j)Stjνi,j(t).z({\mbox{\boldmath$\nu$}})=\sum_{t\in I_{v}}\sum_{(i,j)\in S_{t}^{-}}j\nu^{(t)}_{i,j}\;.

Assuming the condition r=2r=2, we may write

G(α)=αmax𝝂(K1(𝝂)+K2(𝝂)logα)G(\alpha)=\alpha\max_{{\mbox{\scriptsize\boldmath$\nu$}}}\left(K_{1}({\mbox{\boldmath$\nu$}})+K_{2}({\mbox{\boldmath$\nu$}})\log\alpha\right)

where

K2(𝝂)=z(𝝂)2tIv(i,j)Stνi,j(t).K_{2}({\mbox{\boldmath$\nu$}})=\frac{z({\mbox{\boldmath$\nu$}})}{2}-\sum_{t\in I_{v}}\sum_{(i,j)\in S_{t}^{-}}\nu^{(t)}_{i,j}\;.

Next, assuming the condition p=2p=2, we make the observation that

z(𝝂)=tIv(i,j)Stjνi,j(t)2tIv(i,j)Stνi,j(t)z({\mbox{\boldmath$\nu$}})=\sum_{t\in I_{v}}\sum_{(i,j)\in S_{t}^{-}}j\nu^{(t)}_{i,j}\geq 2\sum_{t\in I_{v}}\sum_{(i,j)\in S_{t}^{-}}\nu^{(t)}_{i,j}

with equality if and only if νi,j(t)=0\nu^{(t)}_{i,j}=0 for all tIv,(i,j)Stt\in I_{v},(i,j)\in S_{t}^{-} with j>2j>2. Therefore K2(𝝂)0K_{2}({\mbox{\boldmath$\nu$}})\geq 0 with equality if and only if νi,j(t)=0\nu^{(t)}_{i,j}=0 for all tIv,(i,j)Stt\in I_{v},(i,j)\in S_{t}^{-} with j>2j>2. Let 𝝂1{\mbox{\boldmath$\nu$}}_{1} and 𝝂2{\mbox{\boldmath$\nu$}}_{2} be two distributions satisfying the optimization constraints, and suppose that K2(𝝂1)>0K_{2}({\mbox{\boldmath$\nu$}}_{1})>0 and K2(𝝂2)=0K_{2}({\mbox{\boldmath$\nu$}}_{2})=0. Then for sufficiently small α\alpha, we must have

K1(𝝂1)+K2(𝝂1)logα<K1(𝝂2)+K2(𝝂2)logα.K_{1}({\mbox{\boldmath$\nu$}}_{1})+K_{2}({\mbox{\boldmath$\nu$}}_{1})\log\alpha<K_{1}({\mbox{\boldmath$\nu$}}_{2})+K_{2}({\mbox{\boldmath$\nu$}}_{2})\log\alpha\;.

This follows from the fact that the inequality

K2(𝝂1)logα<K1(𝝂2)K1(𝝂1)K_{2}({\mbox{\boldmath$\nu$}}_{1})\log\alpha<K_{1}({\mbox{\boldmath$\nu$}}_{2})-K_{1}({\mbox{\boldmath$\nu$}}_{1})

will always be satisfied for α\alpha sufficiently small (since logα\log\alpha\rightarrow~-\infty as α0\alpha\rightarrow 0, and recalling that K2(𝝂1)>0K_{2}({\mbox{\boldmath$\nu$}}_{1})>0).

Therefore, for sufficiently small α\alpha, the vector 𝝂\nu which maximizes K1(𝝂)+K2(𝝂)logαK_{1}({\mbox{\boldmath$\nu$}})+K_{2}({\mbox{\boldmath$\nu$}})\log\alpha must satisfy νi,j(t)=0\nu^{(t)}_{i,j}=0 for all tIv,(i,j)Stt\in I_{v},(i,j)\in S_{t}^{-} with j>2j>2. Note that this implies that the maximum, and hence the growth rate, depends only on the check and VNs with minimum distance equal to 22. Also, recall that for each tXvt\in X_{v}, the set Lt={i:Bi,2(t)>0}L_{t}=\{i\in\mathbb{Z}\;:\;B^{(t)}_{i,2}>0\}; we contract the vector 𝝂\nu to include only variables νi,2(t)\nu^{(t)}_{i,2} where tXvt\in X_{v} and iLti\in L_{t} (since only these may assume positive values).

The growth rate may be written as

G(α)=αmax𝝂[tXviLtνi,2(t)log(Bi,2(t)δtνi,2(t))+s(𝝂)logs(𝝂)ϕ]αmax𝝂(logR(𝝂))G(\alpha)=\alpha\max_{{\mbox{\scriptsize\boldmath$\nu$}}}\Big{[}\sum_{t\in X_{v}}\sum_{i\in L_{t}}\nu^{(t)}_{i,2}\log\left(\frac{B^{(t)}_{i,2}\delta_{t}}{\nu^{(t)}_{i,2}}\right)\\ +s({\mbox{\boldmath$\nu$}})\log\frac{s({\mbox{\boldmath$\nu$}})}{\phi}\Big{]}\triangleq\alpha\max_{{\mbox{\scriptsize\boldmath$\nu$}}}\left(\log R({\mbox{\boldmath$\nu$}})\right) (34)

where

ϕ12Cλ\phi\triangleq\frac{1}{2C\int\lambda} (35)

and where the function s(𝝂)s({\mbox{\boldmath$\nu$}}) is given by

s(𝝂)=tXviLtνi,2(t).s({\mbox{\boldmath$\nu$}})=\sum_{t\in X_{v}}\sum_{i\in L_{t}}\nu^{(t)}_{i,2}\;. (36)

The maximization over 𝝂=(νi,2(t))tIv,iLt{\mbox{\boldmath$\nu$}}=(\nu^{(t)}_{i,2})_{t\in I_{v},i\in L_{t}} in (34) is subject to the constraints

h(𝝂)=tIviLtiνi,2(t)=1h({\mbox{\boldmath$\nu$}})=\sum_{t\in I_{v}}\sum_{i\in L_{t}}i\nu^{(t)}_{i,2}=1 (37)

and

νi,2(t)0tXv,iLt.\nu^{(t)}_{i,2}\geq 0\quad\forall t\in X_{v},i\in L_{t}\;. (38)

Let the vector 𝝂\nu which maximizes (34) be denoted by 𝝂~\tilde{{\mbox{\boldmath$\nu$}}}. Then, our task is to show that

R(𝝂~)R~=1P1(1/C)R(\tilde{{\mbox{\boldmath$\nu$}}})\triangleq\tilde{R}=\frac{1}{P^{-1}(1/C)}

i.e., that

P(1R~)=1C,P\left(\frac{1}{\tilde{R}}\right)=\frac{1}{C}\;, (39)

where the parameter CC and the polynomial P(x)P(x) are defined in (10) and (11), respectively. We show this using Lagrange multipliers, ignoring for the moment the constraint (38). We have

logR(𝝂)νi,2(t)=log(Bi,2(t)δtνi,2(t))+log(s(𝝂)ϕ);h(𝝂)νi,2(t)=i\frac{\partial\log R({\mbox{\boldmath$\nu$}})}{\partial\nu^{(t)}_{i,2}}=\log\left(\frac{B^{(t)}_{i,2}\delta_{t}}{\nu^{(t)}_{i,2}}\right)+\log\left(\frac{s({\mbox{\boldmath$\nu$}})}{\phi}\right)\>\>;\>\>\frac{\partial h({\mbox{\boldmath$\nu$}})}{\partial\nu^{(t)}_{i,2}}=i

so that, at the maximum,

log(Bi,2δtν~i,2(t))+log(s(𝝂~)ϕ)=λi\log\left(\frac{B_{i,2}\delta_{t}}{\tilde{\nu}^{(t)}_{i,2}}\right)+\log\left(\frac{s(\tilde{{\mbox{\boldmath$\nu$}}})}{\phi}\right)=\lambda i

for all tXvt\in X_{v}, iLti\in L_{t}, and for some Lagrange multiplier λ\lambda\in\mathbb{R}. Substituting back into (34) and using (37) yields

logR~=tXviLtνi,2(t)(λilog(s(𝝂~)ϕ))+s(𝝂~)log(s(𝝂~)ϕ)=λ\log\tilde{R}=\sum_{t\in X_{v}}\sum_{i\in L_{t}}\nu^{(t)}_{i,2}\left(\lambda i-\log\left(\frac{s(\tilde{{\mbox{\boldmath$\nu$}}})}{\phi}\right)\right)\\ +s(\tilde{{\mbox{\boldmath$\nu$}}})\log\left(\frac{s(\tilde{{\mbox{\boldmath$\nu$}}})}{\phi}\right)=\lambda (40)

i.e., the maximum value of the function logR(𝝂)\log R({\mbox{\boldmath$\nu$}}) is equal to the Lagrange multiplier. Thus we have

Bi,2(t)(R~)i=(ϕs(𝝂~)δt)ν~i,2(t)\frac{B^{(t)}_{i,2}}{(\tilde{R})^{i}}=\left(\frac{\phi}{s(\tilde{{\mbox{\boldmath$\nu$}}})\delta_{t}}\right)\tilde{\nu}^{(t)}_{i,2}

for all tXvt\in X_{v}, iLti\in L_{t}. Substituting this into the LHS of (39) and recalling the definition (11), we obtain

P(1R~)\displaystyle P\left(\frac{1}{\tilde{R}}\right) =\displaystyle= tXviLt2λtqtBi,2(t)(R~)i\displaystyle\sum_{t\in X_{v}}\sum_{i\in L_{t}}\frac{2\lambda_{t}}{q_{t}}\frac{B^{(t)}_{i,2}}{(\tilde{R})^{i}}
=\displaystyle= tXviLtν~i,j(t)Cs(𝝂~)=1C\displaystyle\sum_{t\in X_{v}}\sum_{i\in L_{t}}\frac{\tilde{\nu}^{(t)}_{i,j}}{Cs(\tilde{{\mbox{\boldmath$\nu$}}})}=\frac{1}{C}

where we have used (5), (35) and (36). This completes the proof of the theorem. Note that (12) is a first-order Taylor series expansion around α=0\alpha=0 which directly generalizes the results of [11] and [15] (for irregular LDPC and GLDPC codes respectively) to the case of irregular D-GLDPC codes. Our result indicates that for this case also, the parameter 1/P1(1/C)1/P^{-1}(1/C) plays an analagous role to the parameter λ(0)ρ(1)\lambda^{\prime}(0)\rho^{\prime}(1) for irregular LDPC codes, and to the parameter λ(0)C\lambda^{\prime}(0)C for irregular GLDPC codes.

V Conclusion

An expression for the asymptotic growth rate of the weight distribution of D-GLDPC codes for small linear-weight codewords has been derived. The expression assumes the existence of minimum distance 22 check and variable nodes, and involves the evaluation of a polynomial inverse, derived from the minimum distance 22 variable nodes, at a point derived from the minimum distance 22 check nodes. This generalizes known results for LDPC codes and GLDPC codes, and also generalizes the corresponding connection with the stability condition over the BEC.

Proof of Lemma 13

First consider the set of positive rational numbers \ell such that ξ\xi\ell\in\mathbb{Z} and Coeff ({A(x)},xξ)>0{\mbox{Coeff }}(\{A(x)\}^{\ell},x^{\xi\ell})>0. Then it is easy to see that either this set is empty, or it has infinite cardinality; if tt is one such \ell, then so is jtjt for every positive integer jj (proof routine by induction). The former case is not of interest to us here. In the latter case, the following limit is well defined and exists [10, Theorem 1]:

lim1logCoeff [(A(x)),xξ]=max𝜷iSβilog(Aiβi)\lim_{\ell\rightarrow\infty}\frac{1}{\ell}\log{\mbox{Coeff }}\left[\left(A(x)\right)^{\ell},x^{\xi\ell}\right]\\ =\max_{{\mbox{\scriptsize\boldmath$\beta$}}}\sum_{i\in S}\beta_{i}\log\left(\frac{A_{i}}{\beta_{i}}\right) (41)

where S={i:Ai>0}S=\{i\in\mathbb{Z}\;:\;A_{i}>0\}, 𝜷=(βi)iS{\mbox{\boldmath$\beta$}}=(\beta_{i})_{i\in S}, and the maximization is subject to the constraints

g(𝜷)=iSβi=1g({\mbox{\boldmath$\beta$}})=\sum_{i\in S}\beta_{i}=1 (42)
h(𝜷)=iSiβi=ξh({\mbox{\boldmath$\beta$}})=\sum_{i\in S}i\beta_{i}=\xi (43)

and

βi0iS.\beta_{i}\geq 0\quad\forall i\in S\;. (44)

We solve this optimization problem using Lagrange multipliers, ignoring for the moment the final constraint. Defining

f(𝜷)=iSβilog(Aiβi)f({\mbox{\boldmath$\beta$}})=\sum_{i\in S}\beta_{i}\log\left(\frac{A_{i}}{\beta_{i}}\right) (45)

we have

fβi=log(Aieβi);gβi=1;hβi=i\frac{\partial f}{\partial\beta_{i}}=\log\left(\frac{A_{i}}{e\beta_{i}}\right)\>\>;\>\>\frac{\partial g}{\partial\beta_{i}}=1\>\>;\>\>\>\frac{\partial h}{\partial\beta_{i}}=i

for all iSi\in S. Therefore we obtain

log(Aieβi)+λ+μi=0\log\left(\frac{A_{i}}{e\beta_{i}}\right)+\lambda+\mu i=0 (46)

for all iSi\in S, where λ\lambda and μ\mu are Lagrange multipliers. These equations, together with (42) and (43), yield (|S|+2)(|S|+2) equations in the (|S|+2)(|S|+2) unknowns {λ,μ,𝜷}\{\lambda,\mu,{\mbox{\boldmath$\beta$}}\}. Setting i=0i=0 in (46) yields

β0=eλ1\beta_{0}=e^{\lambda-1}

and substituting this back into (46) gives

βi=β0Aizi\beta_{i}=\beta_{0}A_{i}z^{i}

for all iSi\in S, where z=eμz=e^{\mu}. So from (43)

β0iSiAizi=ξ\beta_{0}\sum_{i\in S}iA_{i}z^{i}=\xi

Now for sufficiently small ξ\xi, we may approximate

β0iSiAiziβ0cAczc.\beta_{0}\sum_{i\in S}iA_{i}z^{i}\approx\beta_{0}cA_{c}z^{c}\;.

Applying this approximation, βi\beta_{i} is nonzero only for i{0,c}i\in\{0,c\}. Therefore, from (42) and (43) we obtain the solution

βi={1ξ/cif i=0ξ/cif i=c0otherwise. \beta_{i}=\left\{\begin{array}[]{cl}1-\xi/c&\textrm{if }i=0\\ \xi/c&\textrm{if }i=c\\ 0&\textrm{otherwise. }\end{array}\right. (47)

It is easy to see that this solution satisfies (44). Finally, substituting the solution (47) into (45) gives

max𝜷f(𝜷)\displaystyle\max_{{\mbox{\scriptsize\boldmath$\beta$}}}f({\mbox{\boldmath$\beta$}}) =\displaystyle= (ξc1)log(1ξc)+ξclog(cAcξ)\displaystyle\left(\frac{\xi}{c}-1\right)\log\left(1-\frac{\xi}{c}\right)+\frac{\xi}{c}\log\left(\frac{cA_{c}}{\xi}\right)
=\displaystyle= (ξc1)(ξc+O(ξ2))+ξclog(cAcξ)\displaystyle\left(\frac{\xi}{c}-1\right)\left(-\frac{\xi}{c}+O(\xi^{2})\right)+\frac{\xi}{c}\log\left(\frac{cA_{c}}{\xi}\right)
=\displaystyle= ξclog(ecAcξ)+O(ξ2).\displaystyle\frac{\xi}{c}\log\left(\frac{ecA_{c}}{\xi}\right)+O(\xi^{2})\;.

This completes the proof of the lemma.

Proof of Lemma 4

Consider any 𝜼(t){\mbox{\boldmath$\eta$}}^{(t)} which satisfies the optimization constraints (28)-(31). Since α=tIvαt\alpha=\sum_{t\in I_{v}}\alpha_{t}, α\alpha small implies that αt\alpha_{t} is small for every tIvt\in I_{v}. From constraint (29) we conclude that ηi,j(t)\eta_{i,j}^{(t)} is small for every tIvt\in I_{v}, (i,j)St(i,j)\in S_{t}^{-}, and so η0,0(t)\eta_{0,0}^{(t)} is close to 11 for all tIvt\in I_{v}. Formally, for any tIvt\in I_{v} the term in the sum over 𝜼(t){\mbox{\boldmath$\eta$}}^{(t)} in (27) corresponding to (i,j)=(0,0)(i,j)=(0,0) may be written as (here we use (28), and the Taylor series of log(1x)\log\left(1-x\right) around x=0x=0)

η0,0(t)log(1η0,0(t))=((i,j)Stηi,j(t)1)log(1(i,j)Stηi,j(t))=((i,j)Stηi,j(t)1)((i,j)Stηi,j(t)+O(((i,j)Stηi,j(t))2))=(i,j)Stηi,j(t)+O(((i,j)Stηi,j(t))2)\eta^{(t)}_{0,0}\log\left(\frac{1}{\eta^{(t)}_{0,0}}\right)=\Big{(}\sum_{(i,j)\in S_{t}^{-}}\eta^{(t)}_{i,j}-1\Big{)}\log\Big{(}1-\sum_{(i,j)\in S_{t}^{-}}\eta^{(t)}_{i,j}\Big{)}\\ =\Big{(}\sum_{(i,j)\in S_{t}^{-}}\eta^{(t)}_{i,j}-1\Big{)}\Bigg{(}-\sum_{(i,j)\in S_{t}^{-}}\eta^{(t)}_{i,j}+O\Big{(}\Big{(}\sum_{(i,j)\in S_{t}^{-}}\eta^{(t)}_{i,j}\Big{)}^{2}\Big{)}\Bigg{)}\\ =\sum_{(i,j)\in S_{t}^{-}}\eta^{(t)}_{i,j}+O\Big{(}\Big{(}\sum_{(i,j)\in S_{t}^{-}}\eta^{(t)}_{i,j}\Big{)}^{2}\Big{)}

Therefore we have

|Ft(𝜼(t))|kt((i,j)Stηi,j(t))2\left|F_{t}({\mbox{\boldmath$\eta$}}^{(t)})\right|\leq k_{t}\Big{(}\sum_{(i,j)\in S_{t}^{-}}\eta^{(t)}_{i,j}\Big{)}^{2} (48)

for some kt>0k_{t}>0 independent of {ηi,j(t)}(i,j)St\{\eta^{(t)}_{i,j}\}_{(i,j)\in S_{t}^{-}}. It follows that

|tIvδtFt(𝜼(t))|tIvδt|Ft(𝜼(t))|tIvδt((i,j)Stηi,j(t))2\left|\sum_{t\in I_{v}}\delta_{t}F_{t}({\mbox{\boldmath$\eta$}}^{(t)})\right|\leq\sum_{t\in I_{v}}\delta_{t}\left|F_{t}({\mbox{\boldmath$\eta$}}^{(t)})\right|\leq\sum_{t\in I_{v}}\delta^{\prime}_{t}\Big{(}\sum_{(i,j)\in S_{t}^{-}}\eta^{(t)}_{i,j}\Big{)}^{2} (49)

where δt=ktδt\delta^{\prime}_{t}=k_{t}\delta_{t} for each tIvt\in I_{v}. Also, by (29) we have (i,j)Stηi,j(t)αt/δt\sum_{(i,j)\in S_{t}^{-}}\eta^{(t)}_{i,j}\leq\alpha_{t}/\delta_{t} and therefore

tIvδt((i,j)Stηi,j(t))2tIv(δtδt2)αt2\sum_{t\in I_{v}}\delta^{\prime}_{t}\Big{(}\sum_{(i,j)\in S_{t}^{-}}\eta^{(t)}_{i,j}\Big{)}^{2}\leq\sum_{t\in I_{v}}\left(\frac{\delta^{\prime}_{t}}{\delta_{t}^{2}}\right)\alpha_{t}^{2} (50)

Denote δ=maxtIv{δt/δt2}\delta=\max_{t\in I_{v}}\{\delta^{\prime}_{t}/\delta_{t}^{2}\}; then, combining (49) and (50),

|tIvδtFt(𝜼(t))|δtIvαt2<δ(tIvαt)2=δα2\left|\sum_{t\in I_{v}}\delta_{t}F_{t}({\mbox{\boldmath$\eta$}}^{(t)})\right|\leq\delta\sum_{t\in I_{v}}\alpha_{t}^{2}<\delta\left(\sum_{t\in I_{v}}\alpha_{t}\right)^{2}=\delta\alpha^{2}

and thus the expression tIvδtFt(𝜼(t))\sum_{t\in I_{v}}\delta_{t}F_{t}({\mbox{\boldmath$\eta$}}^{(t)}) is O(α2)O(\alpha^{2}), as desired.

Acknowledgments

This work was supported in part by the EC under Seventh FP grant agreement ICT OPTIMIX n. INFSO-ICT-214625 and in part by the University of Bologna (ISA-ESRF fellowship).

References

  • [1] R. G. Gallager, Low-Density Parity-Check Codes. Cambridge, Massachussets: M.I.T. Press, 1963.
  • [2] M. Luby, M. Mitzenmacher, M. Shokrollahi, and D. Spielman, “Improved low-density parity-check codes using irregular graphs,” IEEE Trans. Inform. Theory, vol. 47, no. 2, pp. 585–598, Feb. 2001.
  • [3] M. Luby, M. Mitzenmacher, M. Shokrollahi, and D. Spielman, “Efficient erasure correcting codes,” IEEE Trans. Inform. Theory, vol. 47, no. 2, pp. 569–584, Feb. 2001.
  • [4] T. Richardson, M. Shokrollahi, and R. Urbanke, “Design of capacity-approaching irregular low-density parity-check codes,” IEEE Trans. Inform. Theory, vol. 47, no. 2, pp. 619–637, Feb. 2001.
  • [5] S. Y. Chung, G.D. Forney, T. Richardson and R. Urbanke, “On the design of low-density parity-check codes within 0.0045 dB of the Shannon limit” IEEE Commun. Lett., vol. 5, no. 2, pp. 58–60, Feb. 2001.
  • [6] H. Pfister, I. Sason, and R. Urbanke, “Capacity-achieving ensembles for the binary erasure channel with bounded complexity,” IEEE Trans. Inform. Theory, vol. 51, no. 7, pp. 2352–2379, July 2003.
  • [7] H. Pfister and I. Sason, “Accumulate-repeat-accumulate codes: Capacity-achieving ensembles of systematic codes for the erasure channel with bounded complexity,” IEEE Trans. Inform. Theory, vol. 53, no. 6, pp. 2088–2115, June 2007.
  • [8] R. M. Tanner, “A recursive approach to low complexity codes,” IEEE Trans. Inform. Theory, vol. 27, no. 5, pp. 533–547, Sept. 1981.
  • [9] S. Litsyn and V. Shevelev, “On ensembles of low-density parity-check codes: Asymptotic distance distributions,” IEEE Trans. Inform. Theory, vol. 48, pp. 887–908, Apr. 2002.
  • [10] D. Burshtein and G. Miller, “Asymptotic enumeration methods for analyzing LDPC codes,” IEEE Trans. Inform. Theory, vol. 50, no. 6, pp. 1115–1131, June 2004.
  • [11] C. Di, T. J. Richardson and R. L. Urbanke, “Weight distribution of low-density parity-check codes,” IEEE Trans. Inform. Theory, vol. 52, no. 11, pp. 4839–4855, Nov. 2006.
  • [12] J. Boutros, O. Pothier, and G. Zemor, “Generalized low density (Tanner) codes,” in Proc. of 1999 IEEE Int. Conf. on Communications, ICC 1999, vol. 1, Vancouver, Canada, June 1999, pp. 441–445.
  • [13] M. Lentmaier and K. 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.
  • [14] J. P. Tillich, “The average weight distribution of Tanner code ensembles and a way to modify them to improve their weight distribution,” in Proc. of 2004 IEEE Int. Symp. on Information Theory, Chicago, IL, USA, June/July 2004.
  • [15] E. Paolini, M. Chiani and M. Fossorier, “On the growth rate of GLDPC codes weight distribution,” in Proc. of 2008 IEEE Int. Symp. on Spread Spectrum Techniques and Applications, ISSSTA 2008, Bologna, Italy, Aug. 2008.
  • [16] E. Paolini, M. Fossorier and M. Chiani, “Doubly-generalized LDPC codes: Stability bound over the BEC,” IEEE Trans. Inform. Theory, submitted.
  • [17] N. Miladinovic and M. Fossorier, “Generalized LDPC codes and generalized stopping sets,” IEEE Trans. Commun., vol. 56, no. 2, pp. 201–212, Feb. 2008.
  • [18] Y. Wang and M. Fossorier, “Doubly Generalized LDPC codes,” in Proc. of IEEE 2006 Int. Symp. on Information Theory, ISIT 2006, Seattle, WA, USA, pp. 669–673, July 2006.
  • [19] S. Dolinar, “Design and iterative decoding of networks of many small codes,” in Proc. of 2003 IEEE Int. Symp. on Information Theory, ISIT 2003, Yokohama, Japan, p. 381, June 2003.
  • [20] H. S. Wilf, Generatingfunctionology. San Diego, CA: Academic Press, 1994.