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

Degree-degree Correlated Low-density Parity-check Codes Over a Binary Erasure Channel

Hsiao-Wen Yu, Cheng-En Lee, Ruhui Zhang, Cheng-Shang Chang, and Duan-Shin Lee, 
Institute of Communications Engineering
National Tsing Hua University
Hsinchu 30013, Taiwan, R.O.C.
Email: [email protected]; benny [email protected]; [email protected];
[email protected]; [email protected]
Abstract

Most existing works on analyzing the performance of a random ensemble of low-density parity-check (LDPC) codes assume that the degree distributions of the two ends of a randomly selected edge are independent. In the paper, we take one step further and consider ensembles of LDPC codes with degree-degree correlations. For this, we propose two methods to construct an ensemble of degree-degree correlated LDPC codes. We then derive a system of density evolution equations for such degree-degree correlated LDPC codes over a binary erasure channel (BEC). By conducting extensive numerical experiments, we show how the degree-degree correlation affects the performance of LDPC codes. Our numerical results show that LDPC codes with negative degree-degree correlation could improve the maximum tolerable erasure probability. Moreover, increasing the negative degree-degree correlation could lead to better unequal error protection (UEP) design.

I Introduction

Low-density parity-check (LDPC) codes, first introduced by R. Gallager in 1962 [1], have been widely used in practice, including the 5G new radio wireless communication standard (see, e.g., [2, 3]) and the flash-memory systems (see, e.g., [4, 5]). LDPC codes are linear block codes that can be characterized by either a generator matrix or a parity-check matrix. It is well-known that there is a one-to-one mapping between the generator matrix and the parity-check matrix (see, e.g., Section II.B of the survey paper [6]). In particular, for an (n,k)(n,k)-LDPC code, there are kk information bits in a codeword of nn bits. The n×kn\times k generator matrix then maps the kk information bits to the nn codeword bits by multiplying the vector of the information bits with the generator matrix. On the other hand, the n×(nk)n\times(n-k) parity-check matrix can be used for checking whether an nn-bit binary vector is a legitimate codeword and decoding the kk information bits from that codeword.

The n×(nk)n\times(n-k) parity-check matrix associated with an (n,k)(n,k)-LDPC code can be represented by a bipartite graph, commonly known as the Tanner graph [7]. For such a bipartite graph, there are nn variable nodes on one side and nkn-k check nodes on the other side. A check node represents a constraint on the values of variable nodes connected to that check node. In particular, for binary-valued variables, the value of a check node is simply the checksum of the values of the variable nodes connected to that check node. For a legitimate codeword, the checksums of the nkn-k check nodes are all 0’s. In other words, multiplying a codeword with the parity-check matrix yields a vector with all 0’s.

Performance analysis of LDPC codes over a binary erasure channel (BEC) has been studied extensively in the literature (see e.g., [8, 9, 10, 11]). For a BEC with the erasure probability δ\delta, each bit in a codeword is erased independently with probability δ\delta. To recover the erased code bits, one can apply an iterative decoding (peeling) algorithm described below. First, the values of the non-erased variable nodes are added to the check nodes connected to them. Subsequently, these non-erased nodes and their edges are removed. The remaining bipartite graph consists only of erased variable nodes. An erased variable node connected to a check node with degree 1 can be decoded by the value of that check node. Upon successful decoding, the erased variable node becomes a non-erased node and can be removed similarly to the original non-erased nodes. Repeat this process until no more erased variable nodes can be decoded.

A probabilistic framework for analyzing the iterative algorithm is known as the density evolution method [9, 10, 11]. Such a method tracks the probability that the variable end of a randomly selected edge is not decoded after each iteration. The evolution of such a probability is characterized by the degree distribution of a randomly selected variable node and that of a randomly selected check node. The density evolution method can also be extended to provide unequal error protection of code bits [12, 13, 14, 15, 16]. For the setting with unequal error protection, code bits are classified into several classes, and the density evolution method tracks the probability that the variable end of a randomly selected edge in each class is not decoded after each iteration.

One common assumption used in the density evolution method for LDPC codes is that the degree distributions of the two ends of a randomly selected edge are independent. It seems that the effect of the degree-degree correlation of a randomly selected edge on LDPC codes has not been studied. One possible reason is that LDPC codes are (nearly) capacity-achieving codes when the degree distributions are optimized [17, 18, 19]. However, the optimized degree distributions are in general highly irregular [20, 10, 19, 21], and the throughput performance of regular LDPC codes is worse than irregular LDPC codes. The relaxation from independent degree distributions to a general bivariate distribution allows us to improve the performance of LDPC codes in the literature.

The main objective of this paper is to study the effect of the degree-degree correlation of a randomly selected edge on LDPC codes over a BEC. We summarize our contributions as follows:

  • Construction: As a generalization of the configuration model (with independent degree distributions) [22], we propose two constructions of random LDPC codes (bipartite graphs) with degree-degree correlations. The first construction, called the block construction in this paper, is an extension of the construction for uni-partite graphs in [23]. For such a model, we derive a closed-form expression of the degree-degree bivariate distribution of the two ends of a randomly selected edge. The second construction, called the general construction, is more general than the first one, and it can construct random LDPC codes with a specified degree-degree bivariate distribution. By classifying edges with the same degrees in the variable end and the check end into one specific type of edges, the second construction can be viewed as a special class of the multi-edge type LDPC codes in [24] that automatically satisfy the stub count constraints.

  • Analysis: It is known that the density evolution method is generally difficult to be applied to the multi-edge type LDPC codes as the densities of various types are convolved. However, by using the degree-degree bivariate distribution, we can average over the (convolved) densities of various edge types into a single node type. As such, we derive a system of density evolution equations over a BEC. Such an extension covers the independent case as a special case. From these systems of density evolution equations, we derive lower bounds on the maximum tolerable erasure probability (such that every code bit is recovered with high probability).

  • Effect of correlation: By conducting extensive numerical experiments, we show the effect of the degree-degree correlation on the performance of LDPC codes. Our numerical results show that optimizing negative correlation can achieve a much higher maximum tolerable erasure probability than LDPC codes with independent degree distributions. This implies that partially regular LDPC codes [13] with degree-degree correlation might be good enough for practical use.

  • Performance improvement: By taking the degree-degree correlation into consideration, we can further improve the best-known result for the maximum tolerable erasure probability in the literature. In particular, we show that under the same marginal degree distributions of the variable ends and the check ends in [25], the maximum tolerable erasure probability can be extended from 0.49553 to 0.49568.

II Construction of degree-degree correlated random LDPC codes

Instead of assuming that the degree of the variable end and the degree of the check end of a randomly selected edge are independent in [10]. In this section, we construct a random bipartite graph with a specific degree-degree correlation. Suppose that there are nn variable nodes and nkn-k check nodes. Let pX(x)p_{X}(x) (resp. pY(y)p_{Y}(y)) be the degree distribution of a randomly selected variable node XX (resp. check node YY). Also, let 𝖤[X]=xxpX(x){\bf\sf E}[X]=\sum_{x}xp_{X}(x) (resp. 𝖤[Y]=yypY(y){\bf\sf E}[Y]=\sum_{y}yp_{Y}(y)) be the average degree of a randomly selected variable node (resp. check node). Following the argument for the configuration model in [22], we generate npX(x)np_{X}(x) variable nodes with degree (stub) xx and (nk)pY(y)(n-k)p_{Y}(y) check nodes with degree (stub) yy. Then the total number of stubs for variable nodes is xnxpX(x)\sum_{x}nxp_{X}(x), and the total number of stubs for check nodes is y(nk)ypY(y)\sum_{y}(n-k)yp_{Y}(y). Suppose that

n𝖤[X]=(nk)𝖤[Y].n{\bf\sf E}[X]=(n-k){\bf\sf E}[Y]. (1)

In this paper, we let

G=nnk=𝖤[Y]𝖤[X]G=\frac{n}{n-k}=\frac{{\bf\sf E}[Y]}{{\bf\sf E}[X]} (2)

when the identity in (1) is satisfied.

II-A Block construction

In this section, our construction for such a bipartite graph is similar to the block construction of degree-degree correlated random networks in [23]. Assume that (1) holds. We arrange the n𝖤[X]n{\bf\sf E}[X] stubs of the variable nodes in descending order and partition the n𝖤[X]n{\bf\sf E}[X] stubs into bb blocks evenly, each with n𝖤[X]/bn{\bf\sf E}[X]/b stubs. In each block of n𝖤[X]/bn{\bf\sf E}[X]/b stubs, we randomly select qn𝖤[X]/bqn{\bf\sf E}[X]/b stubs as type 1 stubs, where the parameter qq is a design parameter for controlling the degree-degree correlation. The remaining (1q)n𝖤[X]/b(1-q)n{\bf\sf E}[X]/b stubs in that block are classified as type 2 stubs. Similarly, we arrange the (nk)𝖤[Y](n-k){\bf\sf E}[Y] stubs of the check nodes in descending order and partition the (nk)𝖤[Y](n-k){\bf\sf E}[Y] stubs into bb blocks evenly, each with (nk)𝖤[Y]/b(n-k){\bf\sf E}[Y]/b stubs. In each block of (nk)𝖤[Y]/b(n-k){\bf\sf E}[Y]/b stubs, we randomly select q(nk)𝖤[Y]/bq(n-k){\bf\sf E}[Y]/b stubs as type 1 stubs and the remaining (1q)(nk)𝖤[Y]/b(1-q)(n-k){\bf\sf E}[Y]/b stubs as type 2 stubs. These two types of stubs will be connected differently to form degree-degree correlation.

Consider a permutation π\pi of {1,2,,b}\{1,2,\ldots,b\}. For i=1,2,,bi=1,2,\ldots,b, we randomly select a type 1 stub from the ithi^{th} block of variable nodes and another type 1 stub from the π(i)th\pi(i)^{th} block of check nodes and connect these two stubs to form an edge. Repeat the process until all the type 1 stubs are connected. For type 2 stubs, the connection is independent, i.e., we randomly select a type 2 stub of variable nodes and another type 2 stub of check nodes and connect these two stubs to form an edge. Let XeX_{e} (resp. YeY_{e}) be the degree of the variable end (resp. check end) of a randomly selected edge from the bipartite graph. It is clear that the marginal distribution of the degree of the variable end (of a randomly selected edge) is

𝖯(Xe=x)=xpX(x)𝖤[X],{\bf\sf P}(X_{e}=x)=\frac{xp_{X}(x)}{{\bf\sf E}[X]}, (3)

and the marginal distribution of the degree of the check end (of a randomly selected edge) is

𝖯(Ye=y)=ypY(y)𝖤[Y].{\bf\sf P}(Y_{e}=y)=\frac{yp_{Y}(y)}{{\bf\sf E}[Y]}. (4)

Assume that all the nodes with the same degree are in one common block. Let SX(i)S_{X}(i) (resp. SY(i)S_{Y}(i)), i=1,2,,bi=1,2,\ldots,b, be the set of degrees in the ithi^{th} block of variable nodes (resp. check nodes). Now we compute the conditional probability 𝖯(Ye=y|Xe=x){\bf\sf P}(Y_{e}=y|X_{e}=x). Suppose that xSX(i)x\in S_{X}(i) for some ii. If ySY(π(i))y\not\in S_{Y}(\pi(i)), then an edge with degree xx at the variable end and degree yy at the check end can only be formed by type 2 stubs. The number of type 2 stubs of the check nodes with degree yy is (1q)(nk)ypY(y)(1-q)(n-k)yp_{Y}(y), and the total number of type 2 stubs is (1q)(nk)𝖤[Y](1-q)(n-k){\bf\sf E}[Y]. The probability that a stub of the variable nodes is of type 2 is 1q1-q. Thus, for xSX(i)x\in S_{X}(i) and ySY(π(i))y\not\in S_{Y}(\pi(i)),

𝖯(Ye=y|Xe=x)\displaystyle{\bf\sf P}(Y_{e}=y|X_{e}=x) =\displaystyle= (1q)(1q)(nk)ypY(y)(1q)(nk)𝖤[Y]\displaystyle(1-q)\frac{(1-q)(n-k)yp_{Y}(y)}{(1-q)(n-k){\bf\sf E}[Y]} (5)
=\displaystyle= (1q)ypY(y)𝖤[Y].\displaystyle\frac{(1-q)yp_{Y}(y)}{{\bf\sf E}[Y]}.

If ySY(π(i))y\in S_{Y}(\pi(i)), then an edge with degree xx at the variable end and degree yy at the check end can also be formed by type 1 stubs. The number of type 1 stubs of the check nodes with degree yy is q(nk)ypY(y)q(n-k)yp_{Y}(y), and the total number of type 1 stubs in the π(i)th\pi(i)^{th} block of check nodes is q(nk)𝖤[Y]/bq(n-k){\bf\sf E}[Y]/b. The probability that a stub of the variable nodes is of type 1 is qq. Adding the probability formed by type 1 stubs in (5), we have for xSX(i)x\in S_{X}(i) and ySY(π(i))y\in S_{Y}(\pi(i)),

𝖯(Ye=y|Xe=x)\displaystyle{\bf\sf P}(Y_{e}=y|X_{e}=x) (6)
=\displaystyle= qq(nk)ypY(y)q(nk)𝖤[Y]/b+(1q)ypY(y)𝖤[Y]\displaystyle q\frac{q(n-k)yp_{Y}(y)}{q(n-k){\bf\sf E}[Y]/b}+\frac{(1-q)yp_{Y}(y)}{{\bf\sf E}[Y]}
=\displaystyle= (bq+(1q))ypY(y)𝖤[Y].\displaystyle\frac{(bq+(1-q))yp_{Y}(y)}{{\bf\sf E}[Y]}.

Then, we have from (3), (4), (5), and (6) that for xSX(i)x\in S_{X}(i),

𝖯(Xe=x,Ye=y)\displaystyle{\bf\sf P}(X_{e}=x,Y_{e}=y)
={(bq+(1q))pXe(x)pYe(y),ySY(π(i)),(1q)pXe(x)pYe(y),ySY(π(i)).\displaystyle=\left\{\begin{array}[]{ll}(bq+(1-q))p_{X_{e}}(x)p_{Y_{e}}(y),&y\in S_{Y}(\pi(i)),\\ (1-q)p_{X_{e}}(x)p_{Y_{e}}(y),&y\not\in S_{Y}(\pi(i)).\\ \end{array}\right. (9)
Example 1

(Two types of degrees) Suppose that there are n/3n/3 variable nodes with degree 2d2d, and 2n/32n/3 variable nodes with degree dd. Also, there are (nk)/3(n-k)/3 check nodes with degree 2Gd2Gd, and 2(nk)/32(n-k)/3 check nodes with degree GdGd, where G=n/(nk)G=n/(n-k) is a positive integer. Using the construction in Section II-A, we have 𝖤[X]=4d/3{\bf\sf E}[X]=4d/3, 𝖤[Y]=4Gd/3{\bf\sf E}[Y]=4Gd/3 so that the condition in (1) is satisfied. Now we partition the stubs into two blocks, i.e., b=2b=2. The first block consists of variable nodes with degree 2d2d (resp. check nodes with degree 2Gd2Gd), and the second block consists of variable nodes with degree dd (resp. check nodes with degree GdGd). For the permutation π\pi with π(1)=2\pi(1)=2 and π(2)=1\pi(2)=1, we have from (3) and (II-A) that

𝖯(Ye=2Gd|Xe=2d)\displaystyle{\bf\sf P}(Y_{e}=2Gd|X_{e}=2d) =\displaystyle= 1q2,\displaystyle\frac{1-q}{2},
𝖯(Ye=2Gd|Xe=d)\displaystyle{\bf\sf P}(Y_{e}=2Gd|X_{e}=d) =\displaystyle= 1+q2,\displaystyle\frac{1+q}{2},
𝖯(Ye=Gd|Xe=2d)\displaystyle{\bf\sf P}(Y_{e}=Gd|X_{e}=2d) =\displaystyle= 1+q2,\displaystyle\frac{1+q}{2},
𝖯(Ye=Gd|Xe=d)\displaystyle{\bf\sf P}(Y_{e}=Gd|X_{e}=d) =\displaystyle= 1q2.\displaystyle\frac{1-q}{2}. (11)

Note that the degree-degree correlation can be computed as follows:

ρ(Xe,Ye)=𝖤(XeYe)𝖤(Xe)𝖤(Ye)Var(Xe)Var(Ye)=q.\displaystyle\rho(X_{e},Y_{e})=\frac{{\bf\sf E}(X_{e}Y_{e})-{\bf\sf E}(X_{e}){\bf\sf E}(Y_{e})}{\sqrt{\mbox{Var}(X_{e})}\sqrt{\mbox{Var}(Y_{e})}}=-q. (12)

Thus, the degree-degree correlation is negative for the permutation π\pi with π(1)=2\pi(1)=2 and π(2)=1\pi(2)=1. On the other hand, it is positively correlated for the permutation π\pi with π(1)=1\pi(1)=1 and π(2)=2\pi(2)=2. An illustration of the construction of the bipartite graph is shown in Figure 1, where the red (resp. black) edges are formed by type 1 (resp. 2) stubs.

Refer to caption
Figure 1: An illustration of the construction of the bipartite graph in Example 1, where the red (resp. black) edges are formed by type 1 (resp. 2) stubs.

II-B General construction

In this section, we propose a general construction from the degree-degree bivariate distribution 𝖯(Xe=x,Ye=y){\bf\sf P}(X_{e}=x,Y_{e}=y). Given such a bivariate distribution, we first compute the two marginal distributions:

pXe(x)=y𝖯(Xe=x,Ye=y),p_{X_{e}}(x)=\sum_{y}{\bf\sf P}(X_{e}=x,Y_{e}=y), (13)

and

pYe(y)=x𝖯(Xe=x,Ye=y).p_{Y_{e}}(y)=\sum_{x}{\bf\sf P}(X_{e}=x,Y_{e}=y). (14)

Then we use the marginal distribution in (13) and (3) to compute the degree distribution of XX:

pX(x)=pXe(x)/xxpXe(x)/x.p_{X}(x)=\frac{p_{X_{e}}(x)/x}{\sum_{x^{\prime}}p_{X_{e}}(x^{\prime})/x^{\prime}}. (15)

Similarly, we have from the marginal distribution in (14) and (4) that

pY(y)=pYe(y)/yypYe(y)/y.p_{Y}(y)=\frac{p_{Y_{e}}(y)/y}{\sum_{y^{\prime}}p_{Y_{e}}(y^{\prime})/y^{\prime}}. (16)

From (15) and (16), we have

𝖤[X]\displaystyle{\bf\sf E}[X] =\displaystyle= 1xpXe(x)/x,\displaystyle\frac{1}{\sum_{x^{\prime}}p_{X_{e}}(x^{\prime})/x^{\prime}}, (17)
𝖤[Y]\displaystyle{\bf\sf E}[Y] =\displaystyle= 1ypYe(y)/y.\displaystyle\frac{1}{\sum_{y^{\prime}}p_{Y_{e}}(y^{\prime})/y^{\prime}}. (18)

Choose nn and kk so that the condition in (2) is satisfied. It then follows from (2), (3), and (4) that

nxpX(x)𝖯(Ye=y|Xe=x)\displaystyle nxp_{X}(x){\bf\sf P}(Y_{e}=y|X_{e}=x)
=\displaystyle= n𝖤[X]pXe(x)𝖯(Ye=y|Xe=x)\displaystyle n{\bf\sf E}[X]p_{X_{e}}(x){\bf\sf P}(Y_{e}=y|X_{e}=x)
=\displaystyle= n𝖤[X]𝖯(Xe=x,Ye=y)\displaystyle n{\bf\sf E}[X]{\bf\sf P}(X_{e}=x,Y_{e}=y)
=\displaystyle= (nk)𝖤[Y]pYe(y)𝖯(Xe=x|Ye=y)\displaystyle(n-k){\bf\sf E}[Y]p_{Y_{e}}(y){\bf\sf P}(X_{e}=x|Y_{e}=y)
=\displaystyle= (nk)ypY(y)𝖯(Xe=x|Ye=y).\displaystyle(n-k)yp_{Y}(y){\bf\sf P}(X_{e}=x|Y_{e}=y). (20)

Note that nxpX(x)nxp_{X}(x) is the number of stubs of variable nodes with degree xx, and (nk)ypY(y)(n-k)yp_{Y}(y) is the number of stubs of check nodes with degree yy. Among these stubs, we can randomly select nxpX(x)𝖯(Ye=y|Xe=x)nxp_{X}(x){\bf\sf P}(Y_{e}=y|X_{e}=x) stubs from the variable nodes and (nk)ypY(y)𝖯(Xe=x|Ye=y)(n-k)yp_{Y}(y){\bf\sf P}(X_{e}=x|Y_{e}=y) stubs from the check nodes, and connect them at random (as in the configuration model). As the number of edges between a variable node with degree xx and a check node with degree yy is nxpX(x)𝖯(Ye=y|Xe=x)nxp_{X}(x){\bf\sf P}(Y_{e}=y|X_{e}=x) and the total number of edges is n𝖤[X]n{\bf\sf E}[X], the probability that a randomly selected edge has degree xx in its variable end and degree yy in its check end is (cf. (II-B))

𝖯(Xe=x,Ye=y).{\bf\sf P}(X_{e}=x,Y_{e}=y). (21)

To provide further insight of this construction, we show an example with two types of degrees in Appendix A.

It is of interest to point out the connections between our construction and the multi-edge type LDPC codes in [24]. By classifying edges with degree xx in the variable end and degree yy in the check end into one specific type of edges, our construction is a special case of the multi-edge type LDPC codes in [24]. However, as pointed out in [24, 26], the density evolution method is generally difficult to be applied to the multi-edge type LDPC codes (as the densities of various types are convolved). By using the degree-degree bivariate distribution, we will show in Section III that one can average over the (convolved) densities of various edge types into a single node type (that only depends on its node degree). Thus, the computational complexity of the density evolution method can be greatly reduced.

III Density evolution in correlated LDPC codes

In this section, we extend the density evolution analysis for LDPC codes with degree-degree correlations. It is known that the density evolution analysis is generally difficult to be applied to the multi-edge type LDPC codes as the densities of various types are convolved. However, by using the conditional probabilities derived in the previous section, we can average over the (convolved) densities of various edge types into a single node type.

Now we derive the density evolution equations in the setting where GG is fixed and nn\to\infty. Consider using a degree-degree correlated LDPC code over a binary erasure channel with the erasure probability δ\delta. Let αx(i)\alpha_{x}^{(i)} be the probability that the variable end of a randomly selected edge with degree xx is not decoded after the ithi^{th} iteration, and βy(i)\beta_{y}^{(i)} be the probability that the check end of a randomly selected edge with degree yy is not decoded after the ithi^{th} iteration. Analogous to the AND-OR argument in [8, 9], we have

αx(i)=δ(yβy(i)𝖯(Ye=y|Xe=x))x1.\alpha_{x}^{(i)}=\delta(\sum_{y}\beta_{y}^{(i)}{\bf\sf P}(Y_{e}=y|X_{e}=x))^{x-1}. (22)

Clearly, αx(0)=δ\alpha_{x}^{(0)}=\delta for all xx (as every variable bit is erased independently with probability δ\delta through the erase channel). Similarly,

βy(i)=1(1xαx(i1)𝖯(Xe=x|Ye=y))y1.\beta_{y}^{(i)}=1-(1-\sum_{x}\alpha_{x}^{(i-1)}{\bf\sf P}(X_{e}=x|Y_{e}=y))^{y-1}. (23)

Combining these two equations, we have a system of nonlinear recursive equations:

αx(i)\displaystyle\alpha_{x}^{(i)}
=δ(y(1(1xαx(i1)𝖯(Xe=x|Ye=y))y1)\displaystyle=\delta\Big{(}\sum_{y}\big{(}1-(1-\sum_{x^{\prime}}\alpha_{x^{\prime}}^{(i-1)}{\bf\sf P}(X_{e}=x^{\prime}|Y_{e}=y))^{y-1}\big{)}
𝖯(Ye=y|Xe=x))x1,\displaystyle\quad{\bf\sf P}(Y_{e}=y|X_{e}=x)\Big{)}^{x-1}, (24)

with αx(0)=δ\alpha_{x}^{(0)}=\delta for all xx.

Let γx(i)\gamma_{x}^{(i)} be the probability that a randomly selected variable node with degree xx is successfully decoded after the ithi^{th} iteration. Note that a randomly selected variable node is not decoded after the ithi^{th} iteration if and only if the variable node is erased and all the check ends of its xx edges are not decoded after the ithi^{th} iteration. Thus,

γx(i)=1δ(yβy(i)𝖯(Ye=y|Xe=x))x.\gamma_{x}^{(i)}=1-\delta(\sum_{y}\beta_{y}^{(i)}{\bf\sf P}(Y_{e}=y|X_{e}=x))^{x}. (25)

Let γ(i)\gamma^{(i)} be the probability that a randomly selected variable node is successfully decoded after the ithi^{th} iteration. Then

γ(i)\displaystyle\gamma^{(i)} =\displaystyle= xγx(i)pX(x)\displaystyle\sum_{x}\gamma_{x}^{(i)}p_{X}(x)
=\displaystyle= 1δx(yβy(i)𝖯(Ye=y|Xe=x))xpX(x).\displaystyle 1-\delta\sum_{x}(\sum_{y}\beta_{y}^{(i)}{\bf\sf P}(Y_{e}=y|X_{e}=x))^{x}p_{X}(x).

As in [10], we are interested in the maximum tolerable erasure probability δ\delta^{*} such that for all δ<δ\delta<\delta^{*},

limiγ(i)1.\lim_{i\to\infty}\gamma^{(i)}\to 1. (27)

Since the capacity of the BEC with the erasure probability δ\delta is known to be 1δ1-\delta [27], we know that kn1δ\frac{k}{n}\leq 1-\delta^{*}. In view of (2), we have

δ1G.\delta^{*}\leq\frac{1}{G}. (28)

In view of (III) and (23), a sufficient condition for (27) is

limiαx(i)0\lim_{i\to\infty}\alpha_{x}^{(i)}\to 0 (29)

for all xx. In the following theorem, we show a lower bound for δ\delta^{*}. The proof can be found in Appendix B.

Theorem 1

Let dv,mind_{v,\min} be the minimum degree of a variable node and dc,maxd_{c,\max} be the maximum degree of a check node. If dv,min2d_{v,\min}\geq 2 and δ<1/(dc,max1)\delta<1/(d_{c,\max}-1), then limiαx(i)0\lim_{i\to\infty}\alpha_{x}^{(i)}\to 0 for all xx.

IV Numerical results

IV-A Block construction

In this section, we evaluate the performance of random LDPC codes generated by the block construction in Section II-A. Consider using the randomly generated LDPC code in Example 1 for a BEC with the erasure probability δ\delta. In this numerical experiment, we set G=3G=3, d=3d=3.

In Figure 2, we plot the maximum tolerable erasure probability δ(q)\delta^{*}(q) as a function of the parameter qq (with the step size of 0.01) for two permutations: the negatively correlated one with π(1)=2,π(2)=1\pi(1)=2,\pi(2)=1 (the orange curve), and the positively correlated one with π(1)=1,π(2)=2\pi(1)=1,\pi(2)=2 (the blue curve). Recall that when q=0q=0, it reduces to the independent case. As shown in Figure 2, adding a negative degree-degree correlation can lead to a much larger maximum tolerable erasure probability than that of the independent case. In particular, when q=0.37q=0.37, we find that the maximum tolerable erasure probability δ(q)\delta^{*}(q) is 0.3066, which is larger than δ(q)=0.2741\delta^{*}(q)=0.2741 for q=0q=0. However, adding a positive degree-degree correlation does not improve the maximum tolerable erasure probability in this numerical experiment.

To explain these numerical results, we note that LDPC codes with positive degree-degree correlations tend to form a giant component in the bipartite graph (as nodes with large degrees tend to connect to nodes with large degrees), and that makes the decoding of the LDPC code difficult. On the other hand, LDPC codes with negative degree-degree correlations are less likely to form a giant component. As such, one can exploit the negative degree-degree correlation by increasing qq to improve the maximum tolerable erasure probability. However, when qq is increased to 1, the bipartite graph gradually decouples into two separate bipartite graphs (from the block construction). Each has its own maximum tolerable erasure probability. When qq is close to 1, the maximum tolerable erasure probability is dominated by the bipartite graph with a smaller maximum tolerable erasure probability. Due to these two effects, the orange curve for the case with a negative degree-degree correlation is unimodal (with only one peak).

Refer to caption
Figure 2: The maximum tolerable erasure probability δ(q)\delta^{*}(q) as a function of the parameter qq (with the step size of 0.01) for two permutations: the negatively correlated one with π(1)=2,π(2)=1\pi(1)=2,\pi(2)=1 (the orange curve), and the positively correlated one with π(1)=1,π(2)=2\pi(1)=1,\pi(2)=2 (the blue curve).

In Appendix C, we conduct extensive simulations to verify the effectiveness of the asymptotic results derived from the density evolution equations. We also show the degree’s effect on the decoding probabilities of variable nodes. One significant finding from our experiments is that the degree-degree correlation plays a critical role in unequal error protection (UEP).

IV-B General construction for performance improvement

In this section, we show that the LDPC codes from the general construction in Section II-B can lead to further performance improvement.

In [25], Shokrollahi and Storn proposed a construction of the LDPC code with the following (independent) bivariate distribution:

𝖯(Xe=x,Ye=y)=pXe(x)pYe(y),{\bf\sf P}(X_{e}=x,Y_{e}=y)=p_{X_{e}}(x)p_{Y_{e}}(y), (30)

where pXe(2)=0.2633p_{X_{e}}(2)=0.2633, pXe(3)=0.1802p_{X_{e}}(3)=0.1802, pXe(7)=0.2700p_{X_{e}}(7)=0.2700, pXe(30)=0.2865p_{X_{e}}(30)=0.2865, and pYe(8)=0.6341p_{Y_{e}}(8)=0.6341, pYe(9)=0.3659p_{Y_{e}}(9)=0.3659. It is easy to verify that G=2G=2. It was shown in [25] that the maximum tolerable erasure probability δ=0.49553\delta^{*}=0.49553.

For this example, we find the bivariate distribution 𝖯(Xe=2,Ye=8)=0.1534{\bf\sf P}(X_{e}=2,Y_{e}=8)=0.1534, 𝖯(Xe=3,Ye=8)=0.1789{\bf\sf P}(X_{e}=3,Y_{e}=8)=0.1789, 𝖯(Xe=7,Ye=8)=0.1035{\bf\sf P}(X_{e}=7,Y_{e}=8)=0.1035 such that it has the same marginal distributions pXe(x)p_{X_{e}}(x) and pYe(y)p_{Y_{e}}(y). The maximum tolerable erasure probability δ\delta^{*} for such a bivariate distribution is 0.49568, which is larger than 0.49553 for the LDPC code in [25].

Another example is the LDPC code in Example 3.63 of the book [28]. The maximum tolerable erasure probability δ\delta^{*} for that LDPC code is 0.47410. Using the general construction in Section II-B, we can extend δ\delta^{*} to 0.48077. Further detail can be found in Appendix D.

V Conclusion

In this paper, we proposed two constructions of degree-degree correlated LDPC codes and derived the density evolution equations for such LDPC codes. For the block construction, our numerical results show that adding a negative degree-degree correlation can achieve a much higher maximum tolerable erasure probability than LDPC codes with independent degree distributions. Moreover, adding a negative degree-degree correlation could lead to better designs of LDPC codes with the UEP property. The general construction (with an arbitrary bivariate degree-degree distribution) provides a much larger ensemble of LDPC codes than block construction. It can lead to performance improvement over the existing LDPC codes with independent degree-degree distributions.

Our future work will extend our (density evolution) analysis for degree-degree correlated LDPC codes to more general multi-edge type LDPC codes. This will include convolutional LDPC codes (see, e.g., [29, 30]) with multiple node types.

References

  • [1] R. Gallager, “Low-density parity-check codes,” IRE Transactions on Information Theory, vol. 8, no. 1, pp. 21–28, 1962.
  • [2] J. H. Bae, A. Abotabl, H.-P. Lin, K.-B. Song, and J. Lee, “An overview of channel coding for 5g nr cellular communications,” APSIPA Transactions on Signal and Information Processing, vol. 8, 2019.
  • [3] T. Thi Bao Nguyen, T. Nguyen Tan, and H. Lee, “Low-complexity high-throughput QC-LDPC decoder for 5G new radio wireless communication,” Electronics, vol. 10, no. 4, p. 516, 2021.
  • [4] H.-C. Lee, J.-H. Shy, Y.-M. Chen, and Y.-L. Ueng, “LDPC coded modulation for TLC flash memory,” in 2017 IEEE Information Theory Workshop (ITW).   IEEE, 2017, pp. 204–208.
  • [5] Y. Fang, Y. Bu, P. Chen, F. C. Lau, and S. Al Otaibi, “Irregular-mapped protograph LDPC-coded modulation: A bandwidth-efficient solution for 6G-enabled mobile networks,” IEEE Transactions on Intelligent Transportation Systems, 2021.
  • [6] N. Bonello, S. Chen, and L. Hanzo, “Low-density parity-check codes and their rateless relatives,” IEEE Communications Surveys & Tutorials, vol. 13, no. 1, pp. 3–26, 2010.
  • [7] R. Tanner, “A recursive approach to low complexity codes,” IEEE Transactions on Information Theory, vol. 27, no. 5, pp. 533–547, 1981.
  • [8] M. Luby, M. Mitzenmacher, and M. A. Shokrollahi, “Analysis of random processes via and-or tree evaluation,” in SODA, vol. 98, 1998, pp. 364–373.
  • [9] M. Luby, M. Mitzenmacher, A. Shokrollah, and D. Spielman, “Analysis of low density codes and improved designs using irregular graphs,” in Proceedings of the thirtieth annual ACM symposium on Theory of computing, 1998, pp. 249–258.
  • [10] M. A. Shokrollahi, “New sequences of linear time erasure codes approaching the channel capacity,” in International Symposium on Applied Algebra, Algebraic Algorithms, and Error-Correcting Codes.   Springer, 1999, pp. 65–76.
  • [11] T. J. Richardson and R. L. Urbanke, “The capacity of low-density parity-check codes under message-passing decoding,” IEEE Transactions on Information Theory, vol. 47, no. 2, pp. 599–618, 2001.
  • [12] N. Rahnavard and F. Fekri, “New results on unequal error protection using LDPC codes,” IEEE Communications Letters, vol. 10, no. 1, pp. 43–45, 2006.
  • [13] N. Rahnavard, H. Pishro-Nik, and F. Fekri, “Unequal error protection using partially regular LDPC codes,” IEEE Transactions on Communications, vol. 55, no. 3, pp. 387–391, 2007.
  • [14] N. Rahnavard, B. N. Vellambi, and F. Fekri, “Rateless codes with unequal error protection property,” IEEE Transactions on Information Theory, vol. 53, no. 4, pp. 1521–1532, 2007.
  • [15] Y.-H. Chen, Y.-T. Liu, C.-H. Wang, and C.-C. Chao, “Analysis of UEP QC-LDPC codes using density evolution,” in 2020 International Symposium on Information Theory and Its Applications (ISITA).   IEEE, 2020, pp. 230–234.
  • [16] Y. Zhao, Y. Zhang, F. C. Lau, Z. Zhu, and H. Yu, “Duplicated zigzag decodable fountain codes with the unequal error protection property,” Computer Communications, vol. 185, pp. 66–78, 2022.
  • [17] D. J. MacKay and R. M. Neal, “Near Shannon limit performance of low density parity check codes,” Electronics letters, vol. 33, no. 6, pp. 457–458, 1997.
  • [18] D. J. MacKay, “Good error-correcting codes based on very sparse matrices,” IEEE transactions on Information Theory, vol. 45, no. 2, pp. 399–431, 1999.
  • [19] T. J. Richardson, M. A. Shokrollahi, and R. L. Urbanke, “Design of capacity-approaching irregular low-density parity-check codes,” IEEE Transactions on Information Theory, vol. 47, no. 2, pp. 619–637, 2001.
  • [20] M. G. Luby, M. Mitzenmacher, M. A. Shokrollahi, D. A. Spielman, and V. Stemann, “Practical loss-resilient codes,” in Proceedings of the twenty-ninth annual ACM symposium on Theory of computing, 1997, pp. 150–159.
  • [21] S. Giddens, M. A. Gomes, J. P. Vilela, J. L. Santos, and W. K. Harrison, “Enumeration of the degree distribution space for finite block length ldpc codes,” in ICC 2021-IEEE International Conference on Communications.   IEEE, 2021, pp. 1–6.
  • [22] M. Newman, Networks: an introduction.   OUP Oxford, 2009.
  • [23] D.-S. Lee, C.-S. Chang, M. Zhu, and H.-C. Li, “A generalized configuration model with degree correlations and its percolation analysis,” Applied Network Science, vol. 4, no. 1, pp. 1–21, 2019.
  • [24] T. Richardson, R. Urbanke et al., “Multi-edge type LDPC codes,” in Workshop honoring Prof. Bob McEliece on his 60th birthday, California Institute of Technology, Pasadena, California, 2002, pp. 24–25.
  • [25] A. Shokrollahi and R. Storn, “Design of efficient erasure codes with differential evolution,” in 2020 IEEE International Symposium on Information Theory (ISIT), 2000.
  • [26] G. Liva and M. Chiani, “Protograph LDPC codes design based on EXIT analysis,” in IEEE GLOBECOM 2007-IEEE Global Telecommunications Conference.   IEEE, 2007, pp. 3250–3254.
  • [27] P. Elias, “Coding for two noisy channels,” in Proc. 3rd London Symp. Inf. Theory, Washington, DC.   IEEE, 1955, pp. 61–76.
  • [28] T. Richardson and R. Urbanke, Modern coding theory.   Cambridge university press, 2008.
  • [29] S. Kudekar, T. J. Richardson, and R. L. Urbanke, “Threshold saturation via spatial coupling: Why convolutional LDPC ensembles perform so well over the BEC,” IEEE Transactions on Information Theory, vol. 57, no. 2, pp. 803–834, 2011.
  • [30] D. G. Mitchell, M. Lentmaier, and D. J. Costello, “Spatially coupled LDPC codes constructed from protographs,” IEEE Transactions on Information Theory, vol. 61, no. 9, pp. 4866–4889, 2015.
  • [31] L. Bazzi, T. J. Richardson, and R. L. Urbanke, “Exact thresholds and optimal codes for the binary-symmetric channel and Gallager’s decoding algorithm A,” IEEE Transactions on Information Theory, vol. 50, no. 9, pp. 2010–2021, 2004.

Appendix A An example of two types of degrees by using the general construction

Consider the following bivariate distribution:

𝖯(Xe=d1,Ye=Gd1)=p1,\displaystyle{\bf\sf P}(X_{e}=d_{1},Y_{e}=Gd_{1})=p_{1},
𝖯(Xe=d1,Ye=Gd2)=p2,\displaystyle{\bf\sf P}(X_{e}=d_{1},Y_{e}=Gd_{2})=p_{2},
𝖯(Xe=d2,Ye=Gd1)=p2,\displaystyle{\bf\sf P}(X_{e}=d_{2},Y_{e}=Gd_{1})=p_{2},
𝖯(Xe=d2,Ye=Gd2)=1p12p2,\displaystyle{\bf\sf P}(X_{e}=d_{2},Y_{e}=Gd_{2})=1-p_{1}-2p_{2}, (31)

where 0p21/20\leq p_{2}\leq 1/2 and 0p112p20\leq p_{1}\leq 1-2p_{2}.

From (17), it follows that

𝖤[X]\displaystyle{\bf\sf E}[X] =\displaystyle= 1p1+p2d1+1p1p2d2,\displaystyle\frac{1}{\frac{p_{1}+p_{2}}{d_{1}}+\frac{1-p_{1}-p_{2}}{d_{2}}},
𝖤[Y]\displaystyle{\bf\sf E}[Y] =\displaystyle= 1p1+p2Gd1+1p1p2Gd2.\displaystyle\frac{1}{\frac{p_{1}+p_{2}}{Gd_{1}}+\frac{1-p_{1}-p_{2}}{Gd_{2}}}. (32)

Thus, the condition in (2) is satisfied.

From (A), we know that

𝖯(Ye=Gd2|Xe=d2)\displaystyle{\bf\sf P}(Y_{e}=Gd_{2}|X_{e}=d_{2}) =\displaystyle= 1p12p21p1p2,\displaystyle\frac{1-p_{1}-2p_{2}}{1-p_{1}-p_{2}},
𝖯(Ye=Gd2|Xe=d1)\displaystyle{\bf\sf P}(Y_{e}=Gd_{2}|X_{e}=d_{1}) =\displaystyle= p2p1+p2,\displaystyle\frac{p_{2}}{p_{1}+p_{2}},
𝖯(Ye=Gd1|Xe=d2)\displaystyle{\bf\sf P}(Y_{e}=Gd_{1}|X_{e}=d_{2}) =\displaystyle= p21p1p2,\displaystyle\frac{p_{2}}{1-p_{1}-p_{2}},
𝖯(Ye=Gd1|Xe=d1)\displaystyle{\bf\sf P}(Y_{e}=Gd_{1}|X_{e}=d_{1}) =\displaystyle= p1p1+p2.\displaystyle\frac{p_{1}}{p_{1}+p_{2}}. (33)

It is easy to see that (A) recovers (1) by letting p1=1q4p_{1}=\frac{1-q}{4}, p2=1+q4p_{2}=\frac{1+q}{4}, d1=2dd_{1}=2d and d2=dd_{2}=d. As such, the construction in this example is more general than that in Example 1.

Similarly, from (A), it follows that

𝖯(Xe=d2|Ye=Gd2)\displaystyle{\bf\sf P}(X_{e}=d_{2}|Y_{e}=Gd_{2}) =\displaystyle= 1p12p21p1p2,\displaystyle\frac{1-p_{1}-2p_{2}}{1-p_{1}-p_{2}},
𝖯(Xe=d2|Ye=Gd1)\displaystyle{\bf\sf P}(X_{e}=d_{2}|Y_{e}=Gd_{1}) =\displaystyle= p2p1+p2,\displaystyle\frac{p_{2}}{p_{1}+p_{2}},
𝖯(Xe=d1|Ye=Gd2)\displaystyle{\bf\sf P}(X_{e}=d_{1}|Y_{e}=Gd_{2}) =\displaystyle= p21p1p2,\displaystyle\frac{p_{2}}{1-p_{1}-p_{2}},
𝖯(Xe=d1|Ye=Gd1)\displaystyle{\bf\sf P}(X_{e}=d_{1}|Y_{e}=Gd_{1}) =\displaystyle= p1p1+p2.\displaystyle\frac{p_{1}}{p_{1}+p_{2}}. (34)

To construct a random LDPC code with the six input parameters p1p_{1}, p2p_{2}, d1d_{1}, d2d_{2}, GG, and nn in this example, one can classify the n𝖤[X]n{\bf\sf E}[X] edges (with 𝖤[X]{\bf\sf E}[X] in (A)) into the four edge types (x,y)(x,y) (with degree xx in the variable end and degree yy in the check end): (d1,Gd1)(d_{1},Gd_{1}), (d1,Gd2)(d_{1},Gd_{2}), (d2,Gd1)(d_{2},Gd_{1}) and (d2,Gd2)(d_{2},Gd_{2}). For each edge type, connect the stubs in the variable nodes and the stubs in check nodes by using the configuration model. An illustration of the construction is shown in Figure 3, where the bold lines represent edges connected among the four edge types.

Refer to caption
Figure 3: An illustration of the construction of the bipartite graph, where the bold lines represent edges connected among the four edge types.

Appendix B Proof of Theorem 1

Note from (23) that

βy(i)1.\beta_{y}^{(i)}\leq 1. (35)

Since αx(0)=δ\alpha_{x}^{(0)}=\delta, one can easily show by induction (from (23) and (22)) that for all ii

αx(i)δ.\alpha_{x}^{(i)}\leq\delta. (36)

Let αmax(i)=maxxαx(i)\alpha_{\max}^{(i)}=\max_{x}\alpha_{x}^{(i)} and βmax(i)=maxyβy(i)\beta_{\max}^{(i)}=\max_{y}\beta_{y}^{(i)}. Using the inequality that (1z)k1kz(1-z)^{k}\geq 1-kz for all z0z\geq 0, we have from (23) that

βy(i)\displaystyle\beta_{y}^{(i)} \displaystyle\leq (y1)xαx(i1)𝖯(Xe=x|Ye=y)\displaystyle(y-1)\sum_{x}\alpha_{x}^{(i-1)}{\bf\sf P}(X_{e}=x|Y_{e}=y) (37)
\displaystyle\leq (y1)αmax(i1)x𝖯(Xe=x|Ye=y)\displaystyle(y-1)\alpha_{\max}^{(i-1)}\sum_{x}{\bf\sf P}(X_{e}=x|Y_{e}=y)
\displaystyle\leq (dc,max1)αmax(i1).\displaystyle(d_{c,\max}-1)\alpha_{\max}^{(i-1)}.

It follows from (36) that

βmax(i)(dc,max1)αmax(i1)(dc,max1)δ.\beta_{\max}^{(i)}\leq(d_{c,\max}-1)\alpha_{\max}^{(i-1)}\leq(d_{c,\max}-1)\delta. (38)

On the other hand, we have from (22) and (38) that

αx(i)\displaystyle\alpha_{x}^{(i)} \displaystyle\leq δ(βmax(i)y𝖯(Ye=y|Xe=x))x1\displaystyle\delta(\beta_{\max}^{(i)}\sum_{y}{\bf\sf P}(Y_{e}=y|X_{e}=x))^{x-1} (39)
\displaystyle\leq δ(βmax(i))x2βmax(i)\displaystyle\delta(\beta_{\max}^{(i)})^{x-2}\beta_{\max}^{(i)}
\displaystyle\leq δ((dc,max1)δ)x2(dc,max1)αmax(i1)\displaystyle\delta((d_{c,\max}-1)\delta)^{x-2}(d_{c,\max}-1)\alpha_{\max}^{(i-1)}
\displaystyle\leq ((dc,max1)δ)x1αmax(i1)\displaystyle((d_{c,\max}-1)\delta)^{x-1}\alpha_{\max}^{(i-1)}

Since we assume that (dc,max1)δ<1(d_{c,\max}-1)\delta<1, it follows from (39) that

αx(i)((dc,max1)δ)dv,min1αmax(i1).\alpha_{x}^{(i)}\leq((d_{c,\max}-1)\delta)^{d_{v,\min}-1}\alpha_{\max}^{(i-1)}. (40)

Thus,

αmax(i)((dc,max1)δ)dv,min1αmax(i1).\alpha_{\max}^{(i)}\leq((d_{c,\max}-1)\delta)^{d_{v,\min}-1}\alpha_{\max}^{(i-1)}. (41)

Since dv,min2d_{v,\min}\geq 2 and (dc,max1)δ<1(d_{c,\max}-1)\delta<1, we have from (41) and αx(0)=δ\alpha_{x}^{(0)}=\delta that

αmax(i)(((dc,max1)δ)dv,min1)iδ.\alpha_{\max}^{(i)}\leq(((d_{c,\max}-1)\delta)^{d_{v,\min}-1})^{i}\delta. (42)

Thus, αmax(i)\alpha_{\max}^{(i)} converges to 0 when ii\to\infty.

Appendix C Simulation results for the block construction in Section IV-A

In order to verify the effectiveness of the asymptotic results derived from the density evolution equations, we conduct extensive simulations. For our simulations, we generate degree-degree correlated LDPC codes with n=18,000n=18,000 variable nodes and nk=6,000n-k=6,000 check nodes by using the construction in Example 1. Then we simulate the LDPC codes over a BEC with an erasure probability δ\delta. After that, we perform iterative decoding (peeling decoder) for the LDPC codes (until there are no check nodes with degree 11). In Figure 4, we plot the probability that a randomly selected variable node is successfully decoded, i.e., limiγ(i)\lim_{i\to\infty}\gamma^{(i)}, as a function of the erasure probability δ\delta from 0 to 0.4 with respect to various parameters q=0,0.2,0.4,0.6,0.8q=0,0.2,0.4,0.6,0.8, respectively. Each data point is the average of 100 experiments. The five solid curves represent the theoretical results of limiγ(i)\lim_{i\to\infty}\gamma^{(i)}, and the five dotted curves represent the corresponding simulation results. As shown in Figure 4, the simulation results and the asymptotic results match very well. Also, we observe the largest maximum tolerable erasure probability occurs when q=0.4q=0.4 (the yellow curve). This result is consistent with that of Figure 2.

Refer to caption
Figure 4: The probability that a randomly selected variable node is successfully decoded, i.e., limiγ(i)\lim_{i\to\infty}\gamma^{(i)}, as a function of the erasure probability δ\delta for q=0,0.2,0.4,0.6,0.8.q=0,0.2,0.4,0.6,0.8.
Refer to caption
Figure 5: The probability that a randomly selected variable node with degree xx (for x=d,2dx=d,2d) is successfully decoded, i.e., limiγx(i)\lim_{i\to\infty}\gamma^{(i)}_{x}, as a function of the erasure probability δ\delta for q=0,0.2,0.4,0.6,0.8q=0,0.2,0.4,0.6,0.8.

Finally, we look into the effect of the degree on the decoding probabilities of variable nodes. There are two types of degrees of the variable nodes in Example 1: dd and 2d2d. In Figure 5, we plot the probability that a randomly selected variable node with degree xx is successfully decoded, i.e., limiγx(i)\lim_{i\to\infty}\gamma^{(i)}_{x}, as a function of the erasure probability δ\delta for q=0,0.2,0.4,0.6,0.8q=0,0.2,0.4,0.6,0.8. The solid curve (resp. dashed curve) represents the decoding probability for a variable node with degree dd (resp. 2d2d). It is well-known that the decoding probability for variable nodes with a large degree is higher than that with a small degree. Such a property is known as the unequal error protection (UEP) property. One significant finding from our experiments is that the degree-degree correlation plays a critical role in UEP. Recall that the degree-degree correlation in Example 1 is q-q. As shown in Figure 5, increasing qq increases the gap between the curve for limiγd(i)\lim_{i\to\infty}\gamma^{(i)}_{d} and the curve for limiγ2d(i)\lim_{i\to\infty}\gamma^{(i)}_{2d}. In particular, for q=0.8q=0.8 (the two green curves), the gap is the largest among the five choices of qq. Even when the erasure probability exceeds the upper bound 1/G=1/31/G=1/3, variable nodes with degree 2d2d can still have a very high decoding probability. This is at the cost of sacrificing the decoding probability of variable nodes with degree dd. On the other hand, the two curves for q=0.4q=0.4 are very close to each other. Even though they have the largest maximum tolerable erasure probability δ\delta^{*}, they are not suitable for LDPC codes with the UEP property.

Appendix D Further detail for performance improvement

In this appendix, we provide the details of the performance improvement in Section IV-B.

D-1 The LDPC code by Shokrollahi and Storn [25]

In [25], Shokrollahi and Storn proposed a construction of the LDPC code with the following (independent) bivariate distribution:

𝖯(Xe=x,Ye=y)=pXe(x)pYe(y),{\bf\sf P}(X_{e}=x,Y_{e}=y)=p_{X_{e}}(x)p_{Y_{e}}(y), (43)

where

pXe(2)\displaystyle p_{X_{e}}(2) =\displaystyle= 0.26328,\displaystyle 0.26328,
pXe(3)\displaystyle p_{X_{e}}(3) =\displaystyle= 0.18020,\displaystyle 0.18020,
pXe(7)\displaystyle p_{X_{e}}(7) =\displaystyle= 0.27000,\displaystyle 0.27000,
pXe(30)\displaystyle p_{X_{e}}(30) =\displaystyle= 0.28649,\displaystyle 0.28649, (44)

and

pYe(8)\displaystyle p_{Y_{e}}(8) =\displaystyle= 0.63407,\displaystyle 0.63407,
pYe(9)\displaystyle p_{Y_{e}}(9) =\displaystyle= 0.36593.\displaystyle 0.36593. (45)

From (17), we have

𝖤[X]\displaystyle{\bf\sf E}[X] =\displaystyle= 4.16966,\displaystyle 4.16966,
𝖤[Y]\displaystyle{\bf\sf E}[Y] =\displaystyle= 8.33906.\displaystyle 8.33906. (46)

Thus, G=𝖤[Y]/𝖤[X]=2G={\bf\sf E}[Y]/{\bf\sf E}[X]=2. From (15) and (16), we have

pX(2)\displaystyle p_{X}(2) =\displaystyle= 0.54889,\displaystyle 0.54889,
pX(3)\displaystyle p_{X}(3) =\displaystyle= 0.25046,\displaystyle 0.25046,
pX(7)\displaystyle p_{X}(7) =\displaystyle= 0.16083,\displaystyle 0.16083,
pX(30)\displaystyle p_{X}(30) =\displaystyle= 0.03982,\displaystyle 0.03982, (47)

and

pY(8)\displaystyle p_{Y}(8) =\displaystyle= 0.66096,\displaystyle 0.66096,
pY(9)\displaystyle p_{Y}(9) =\displaystyle= 0.33907.\displaystyle 0.33907. (48)

It was shown in [25] that δ=0.4955\delta^{*}=0.4955 and it is wthin less than 1% of the optimum 0.4985 (the upper bound is 1/G=0.51/G=0.5).

In this numerical experiment, we conduct a search for the following set of bivariate distributions:

𝖯(Xe=2,Ye=8)=p11,\displaystyle{\bf\sf P}(X_{e}=2,Y_{e}=8)=p_{11},
𝖯(Xe=2,Ye=9)=p12,\displaystyle{\bf\sf P}(X_{e}=2,Y_{e}=9)=p_{12},
𝖯(Xe=3,Ye=8)=p21,\displaystyle{\bf\sf P}(X_{e}=3,Y_{e}=8)=p_{21},
𝖯(Xe=3,Ye=9)=p22,\displaystyle{\bf\sf P}(X_{e}=3,Y_{e}=9)=p_{22},
𝖯(Xe=7,Ye=8)=p31,\displaystyle{\bf\sf P}(X_{e}=7,Y_{e}=8)=p_{31},
𝖯(Xe=7,Ye=9)=p32,\displaystyle{\bf\sf P}(X_{e}=7,Y_{e}=9)=p_{32},
𝖯(Xe=30,Ye=8)=p41,\displaystyle{\bf\sf P}(X_{e}=30,Y_{e}=8)=p_{41},
𝖯(Xe=30,Ye=9)=p42,\displaystyle{\bf\sf P}(X_{e}=30,Y_{e}=9)=p_{42}, (49)

where 0p11pXe(2)0\leq p_{11}\leq p_{X_{e}}(2), 0p21pXe(3)0\leq p_{21}\leq p_{X_{e}}(3), 0p31pXe(7)0\leq p_{31}\leq p_{X_{e}}(7) and pXe(2)+pXe(3)+pXe(7)pYe(9)p11+p21+p31pYe(8)p_{X_{e}}(2)+p_{X_{e}}(3)+p_{X_{e}}(7)-p_{Y_{e}}(9)\leq p_{11}+p_{21}+p_{31}\leq p_{Y_{e}}(8). For this example, we verify that the maximum tolerable erasure probability is δ=0.49553\delta^{*}=0.49553 with p11=0.1669p_{11}=0.1669, p21=0.1143p_{21}=0.1143, p31=0.1712p_{31}=0.1712. Now we find the bivariate distribution p11=0.1534p_{11}=0.1534, p21=0.1789p_{21}=0.1789, p31=0.1035p_{31}=0.1035 such that it has the same marginal distributions pXe(x)p_{X_{e}}(x) in (D-1) and pYe(y)p_{Y_{e}}(y) in (D-1). The maximum tolerable erasure probability δ\delta^{*} for such a bivariate distribution is 0.49568, which is larger than 0.49553 for the LDPC code in [25].

D-2 The LDPC code in Example 3.63 of the book [28]

In Example 3.63 of the book [28], the LDPC code with the following (independent) bivariate distribution is considered:

𝖯(Xe=x,Ye=y)=pXe(x)pYe(y),{\bf\sf P}(X_{e}=x,Y_{e}=y)=p_{X_{e}}(x)p_{Y_{e}}(y), (50)

where

pXe(2)\displaystyle p_{X_{e}}(2) =\displaystyle= 0.10626,\displaystyle 0.10626,
pXe(3)\displaystyle p_{X_{e}}(3) =\displaystyle= 0.48666,\displaystyle 0.48666,
pXe(11)\displaystyle p_{X_{e}}(11) =\displaystyle= 0.01039,\displaystyle 0.01039,
pXe(20)\displaystyle p_{X_{e}}(20) =\displaystyle= 0.39669,\displaystyle 0.39669, (51)

and

pYe(8)\displaystyle p_{Y_{e}}(8) =\displaystyle= 0.5,\displaystyle 0.5,
pYe(9)\displaystyle p_{Y_{e}}(9) =\displaystyle= 0.5.\displaystyle 0.5. (52)

It is easy to verify that G=2G=2. For such an LDPC code, δ=0.4741\delta^{*}=0.4741

In this numerical experiment, we conduct a search for the following set of bivariate distributions:

𝖯(Xe=2,Ye=8)=p11,\displaystyle{\bf\sf P}(X_{e}=2,Y_{e}=8)=p_{11},
𝖯(Xe=2,Ye=9)=p12,\displaystyle{\bf\sf P}(X_{e}=2,Y_{e}=9)=p_{12},
𝖯(Xe=3,Ye=8)=p21,\displaystyle{\bf\sf P}(X_{e}=3,Y_{e}=8)=p_{21},
𝖯(Xe=3,Ye=9)=p22,\displaystyle{\bf\sf P}(X_{e}=3,Y_{e}=9)=p_{22},
𝖯(Xe=11,Ye=8)=p31,\displaystyle{\bf\sf P}(X_{e}=11,Y_{e}=8)=p_{31},
𝖯(Xe=11,Ye=9)=p32,\displaystyle{\bf\sf P}(X_{e}=11,Y_{e}=9)=p_{32},
𝖯(Xe=20,Ye=8)=p41,\displaystyle{\bf\sf P}(X_{e}=20,Y_{e}=8)=p_{41},
𝖯(Xe=20,Ye=9)=p42,\displaystyle{\bf\sf P}(X_{e}=20,Y_{e}=9)=p_{42}, (53)

where 0p11pXe(2)0\leq p_{11}\leq p_{X_{e}}(2), 0p21pXe(3)0\leq p_{21}\leq p_{X_{e}}(3), 0p31pXe(11)0\leq p_{31}\leq p_{X_{e}}(11) and pXe(2)+pXe(3)+pXe(11)pYe(9)p11+p21+p31pYe(8)p_{X_{e}}(2)+p_{X_{e}}(3)+p_{X_{e}}(11)-p_{Y_{e}}(9)\leq p_{11}+p_{21}+p_{31}\leq p_{Y_{e}}(8). For this example, we verify that the maximum tolerable erasure probability is δ=0.47410\delta^{*}=0.47410 with p11=0.0531p_{11}=0.0531, p21=0.2433p_{21}=0.2433, p31=0.0052p_{31}=0.0052. Now we find the bivariate distribution p11=0p_{11}=0, p21=0.274p_{21}=0.274, p31=0.007p_{31}=0.007 such that it has the same marginal distributions pXe(x)p_{X_{e}}(x) in (D-1) and pYe(y)p_{Y_{e}}(y) in (D-1). The maximum tolerable erasure probability δ\delta^{*} for such a bivariate distribution is 0.48077, which is larger than 0.47410 for the LDPC code in [28].

D-3 The LDPC code by Bazzi et al. [31]

In Example 9 of [31], Bazzi et al. considered the rate one-half LDPC code with the following (independent) bivariate distribution:

𝖯(Xe=x,Ye=y)=pXe(x)pYe(y),{\bf\sf P}(X_{e}=x,Y_{e}=y)=p_{X_{e}}(x)p_{Y_{e}}(y), (54)

where

pXe(3)\displaystyle p_{X_{e}}(3) =\displaystyle= a,\displaystyle a,
pXe(4)\displaystyle p_{X_{e}}(4) =\displaystyle= 1a,\displaystyle 1-a, (55)

and

pYe(7)\displaystyle p_{Y_{e}}(7) =\displaystyle= 7a3,\displaystyle\frac{7a}{3},
pYe(8)\displaystyle p_{Y_{e}}(8) =\displaystyle= 17a3,\displaystyle 1-\frac{7a}{3}, (56)

where aa is chosen to be 0.1115. From (17), we have

𝖤[X]\displaystyle{\bf\sf E}[X] =\displaystyle= 12a+3,\displaystyle\frac{12}{a+3},
𝖤[Y]\displaystyle{\bf\sf E}[Y] =\displaystyle= 24a+3.\displaystyle\frac{24}{a+3}. (57)

Thus, G=𝖤[Y]/𝖤[X]=2G={\bf\sf E}[Y]/{\bf\sf E}[X]=2. From (15) and (16), we have

pX(3)\displaystyle p_{X}(3) =\displaystyle= 4aa+3,\displaystyle\frac{4a}{a+3},
pX(4)\displaystyle p_{X}(4) =\displaystyle= 14aa+3,\displaystyle 1-\frac{4a}{a+3}, (58)

and

pY(7)\displaystyle p_{Y}(7) =\displaystyle= 8aa+3,\displaystyle\frac{8a}{a+3},
pY(8)\displaystyle p_{Y}(8) =\displaystyle= 18aa+3.\displaystyle 1-\frac{8a}{a+3}. (59)

In this numerical experiment, we conduct a search for the following set of bivariate distributions:

𝖯(Xe=3,Ye=7)=p11,\displaystyle{\bf\sf P}(X_{e}=3,Y_{e}=7)=p_{11},
𝖯(Xe=3,Ye=8)=p12,\displaystyle{\bf\sf P}(X_{e}=3,Y_{e}=8)=p_{12},
𝖯(Xe=4,Ye=7)=p21,\displaystyle{\bf\sf P}(X_{e}=4,Y_{e}=7)=p_{21},
𝖯(Xe=4,Ye=8)=p22,\displaystyle{\bf\sf P}(X_{e}=4,Y_{e}=8)=p_{22}, (60)

where 0p11pXe(3)0\leq p_{11}\leq p_{X_{e}}(3). For this example with a=0.1115a=0.1115, we verify that the maximum tolerable erasure probability is δ=0.3916\delta^{*}=0.3916 with p11=0.029p_{11}=0.029. Now we find the bivariate distribution p11=0p_{11}=0 such that it has the same marginal distributions pXe(x)p_{X_{e}}(x) in (D-1) and pYe(y)p_{Y_{e}}(y) in (D-1). The maximum tolerable erasure probability δ\delta^{*} for such a bivariate distribution is 0.3924, which is larger than 0.3916 for the LDPC code in [31].