Abstract

This work focuses on high-rate (๐‘…>4/5) moderate-length (1000โ‰ค๐‘›<5000) low-density parity-check codes. High-rate codes allow to maintain good quality of the preliminary decisions that are used in carrier recovery, while a moderate code length allows to keep the latency low. The interleaver of the LDPC matrix that we consider is inspired to the DVB-S2 standard one. A novel approach for avoiding short cycles is analyzed. A modified BP decoding algorithm is applied in order to deal with longer cycles. Simulations and results for the AWGN channel are presented, both for BPSK signalling and for coded modulation based on the partition โ„ค2/4โ„ค2.

1. Introduction

An (๐‘›,๐‘˜) LDPC code is a binary block code defined as the null space of the sparse โ€œparity checkโ€ matrix ๐‡(๐‘›โˆ’๐‘˜)ร—๐‘›, where ๐‡ can be viewed as the adjacency matrix of the bipartite graph ๐บ({๐ถ,๐‘‰},๐ธ), the Tanner graph, with โ„Ž๐‘–๐‘—=1 meaning that the ๐‘–th c-node is connected to the ๐‘—th v-node. Richardson et al. [1] studied a method named Density Evolution (DE) for finding the pair of distributions (๐œ†,๐œŒ), as ๐‘›โ†’โˆž, that allows to reach the fastest BER convergence at some probability error target ๐œ–, under BP algorithm. For short and moderate-length LDPC codes, that is, for 103โ‰ค๐‘›<104, the design of ๐‡ via DE shows relatively high error floors (@๐‘ƒ๐‘โ‰ˆ10โˆ’6), therefore a different approach is required. The performance can be improved by conditioning the construction of ๐‡ in such a way that short cycles are avoided. A technique for the elimination of short cycles in regular LDPC codes has been recently presented in [2]. However, regular codes are outperformed by irregular or semiregular codes.

Eroz et al. [3] proposed a particular structure of ๐‡ that leads to irregular codes. This structure has been adopted for standardization of DVB-S2 applications (the DVB-S2 standard includes 2 versions with ๐‘›=64800 and ๐‘›=16200) and belongs to the family of IRA codes [4].

This paper addresses the problem of designing short DVB-S2-like codes, introducing a new technique for the elimination of cycles of length 4 and 6.

The remainder of the paper is outlined as follows. Section 2 introduces the system models taken under consideration and the matrix structure of the DVB-S2 standard. Section 3 explains the features adopted in designing the short-length DVB-S2-like LDPC codes. Section 4 shows simulation results and some comparisons with short codes designed via DE. Finally, some conclusions are drawn in Section 5.

2. DVB-S2-like Parity-Check Matrix

Here follow some recalls of the parity-check matrix structure described in [3].

The LDPC matrix ๐‡ is composed of two submatrices ๐‡1(๐‘›โˆ’๐‘˜)ร—๐‘˜ and ๐‡2(๐‘›โˆ’๐‘˜)ร—(๐‘›โˆ’๐‘˜), ๐‡=[๐‡1,๐‡2]; the rightmost one is a lower bidiagonal matrix which offers the advantage of simple systematic encoding. Specifically, taking modulo-2 additions of consecutive rows of ๐‡2, such that ๐ก๎…ž๐‘–=๐ก๎…ž๐‘–โˆ’1โŠ•๐ก๐‘– for ๐‘–=1,โ€ฆ,๐‘›โˆ’๐‘˜ and ๐ก๎…ž0=๐ŸŽ, one gets the identity matrix ๐ˆ(๐‘›โˆ’๐‘˜). Another advantage is to avoid short cycles in Tanner graph involving low-degree v-nodes, leading to improved performance as stated in [1].

Submatrix ๐‡1 is built as follows: chosen an opportune value ๐‘€ that divides both ๐‘›โˆ’๐‘˜ and ๐‘˜, randomly generate the first column of ๐‡1, ๐ก1, and get the next ๐‘€โˆ’1 columns by cyclic shifting of ๐‘—((๐‘›โˆ’๐‘˜)/๐‘€) positions, respectively, for ๐‘—=2,โ€ฆ,๐‘€. The second group of ๐‘€ columns is created in the same way, just after the first columns of the new group have been generated. This procedure allows to fill the entire submatrix ๐‡1.

3. Code Design

3.1. Short Cycle Elimination

A cycle of length ๐‘™ in the Tanner graph is a set of ๐‘™/2v-nodes and ๐‘™/2c-nodes such that a path of consecutive ๐‘™ edges starts from a v-node (c-node) and ends at the same v-node (c-node).

Given two columns ๐ก๐‘– and ๐ก๐‘— of ๐‡, a length-4 cycle is formed when the inner product between the 2 columns is greater than 1:๐ก๐‘‡๐‘–โ‹…๐ก๐‘—โ‰ฅ2(1)for some ๐‘–,๐‘—โˆˆ{1,โ€ฆ,๐‘›โˆถ๐‘–โ‰ ๐‘—}. This condition suggests a practical way to check the presence of length-4 cycle in a parity-check matrix.

Focusing on a column of ๐‡, ๐ก๐‘–, let us define the set of the โ€œcyclic-distancesโ€ between the nonzero entries of the ๐‘–th column๐ท๐‘–=๎‚†๐‘‘(๐‘–)๐‘,๐‘žโˆถ๐ก๐‘,๐‘–=1,๐ก๐‘ž,๐‘–๎‚‡=1,(2)where ๐‘,๐‘žโˆˆ{1,โ€ฆ,๐‘›โˆ’๐‘˜โˆถ๐‘โ‰ ๐‘ž} and๐‘‘(๐‘–)๐‘,๐‘ž=โŽงโŽชโŽจโŽชโŽฉ||||||||โ‰ค๐‘โˆ’๐‘žif0<๐‘โˆ’๐‘ž๐‘›โˆ’๐‘˜2,||||๐‘›โˆ’๐‘˜โˆ’๐‘โˆ’๐‘žif๐‘›โˆ’๐‘˜2<||||๐‘โˆ’๐‘ž<๐‘›โˆ’๐‘˜.(3)For example, if the nonzero entries of ๐ก๐‘– are located at the positions {12,23,83} with ๐‘›โˆ’๐‘˜=100, then ๐ท๐‘–={๐‘‘(๐‘–)12,23=11,๐‘‘(๐‘–)12,83=29,๐‘‘(๐‘–)23,83=40}. Also we have ๐ท๐‘–={1} for all the columns of ๐‡2, briefly denoted with ๐ท๐‡2={1}.

Given three columns ๐ก๐‘–, ๐ก๐‘—, and ๐ก๐‘˜, a length-6 cycle is formed when the sum of two cyclic-distances of two distinct columns ๐‘–,๐‘— equals a cyclic-distance of the third column ๐‘˜. An example is shown below matrix4(4) with ๐ท2=2, ๐ท4=1, and ๐ท5=1 a length-6 cycle is formed: ๐‘‘(4)2,3+๐‘‘(5)1,2=๐‘‘(2)1,3.

A complete search for the sets {๐ท๐‘–โˆถ๐‘–=1,โ€ฆ,๐‘›} that avoid the presence of length-6 cycles is computationally expensive as ๐‘› and the average weight of the columns grow.

The problem of finding the longest (๐‘›,๐‘˜) LDPC code that is length-4 and length-6 cycle free is described as follows: let ๐ท0=๐ท๐‡2 be the initial set of admissible cyclic-distances (i.e., length-4 and length-6 cycle free); when a new column ๐ก๐‘ is added in the design of ๐‡1 a new set of cyclic-distances ๐ท๐‘ is added to the current set ๐ท๐‘— according to the following update rule:๐ท๐‘—+1=๐ท๐‘—โˆช๐ท๐‘โˆช(๐ท๐‘—โŠ•๐ท๐‘),(5)as ๐‘— runs in โ„•0={0,1,2,โ€ฆ}; the objective is to find the maximum ๐‘— s.t. the set ๐ท๐‘— is cycle free. The binary operation ๐ดโŠ•๐ต between two sets ๐ด and ๐ต is defined as๎‚†๎‚€|||๐‘Ž๐ดโŠ•๐ต=min๐‘–โˆ’๐‘๐‘—||||||๐‘Ž,๐‘›โˆ’๐‘˜โˆ’๐‘–โˆ’๐‘๐‘—|||๎‚๎‚‡,โˆ€๐‘–โ‰ ๐‘—.(6)A new column ๐ท๐‘ is an eligible set if๐ท๐‘—โˆฉ๎‚€๐ท๐‘โˆช๎‚€๐ท๐‘—โŠ•๐ท๐‘๎‚๎‚=โˆ….(7)A smart strategy is to choose the cyclic distances from a class of rest modulo a small integer ๐‘š: in this way all cyclic distances will be eligible. For example, choosing the class of rest 1 modulo ๐‘š=4, namely [1]4, the sum of two cyclic-distances drawn from two distinct columns is in the class [1]4+[1]4=[2]4โ‰ [1]4, so a length-6 cycle involving 3 columns cannot be created. When the sum of two distances is greater than (๐‘›โˆ’๐‘˜)/2, the sum is complemented to ๐‘›โˆ’๐‘˜ as illustrated in (3); usually ๐‘›โˆ’๐‘˜โˆˆ[0]4 so ๐‘›โˆ’๐‘˜โˆ’([1]4+[1]4)=[0]4โˆ’[2]4=[2]4โ‰ [1]4. This strategy automatically avoid the creation of length-4 cycles.

For some particular choices of ๐‘˜, ๐‘€, ๐‘š, and the average column weight, it is possible that the total number of eligible cyclic distances is not sufficient to build all the ๐‘˜/๐‘€ columns. Actually the total number of original columns can be reduced to ๐‘˜/๐‘€โ‹…๐‘€/(๐‘›โˆ’๐‘˜)=๐‘˜/(๐‘›โˆ’๐‘˜), where (๐‘›โˆ’๐‘˜)/๐‘€ is the cyclic offset between two consecutive columns in the same c-node ๐‘€-subset. Without loss of generality, consider the first c-node ๐‘€-subset ๐‡๐‘€={๐ก๐‘–,๐‘–=1,โ€ฆ,๐‘€} and its shifted replica by 1 position denoted with ๐‡๐‘€โ‰ซ1. Obviously, no cycles are created between the two subsets ๐‡๐‘€ and ๐‡๐‘€โ‰ซ1; not only, but also the matrix [๐‡๐‘€,๐‡๐‘€โ‰ซ๐‘–] for ๐‘–โˆˆ{1,2,โ€ฆ,(๐‘›โˆ’๐‘˜)/๐‘€โˆ’1} does not contain length-4 and length-6 cycles, so an original column can generate ((๐‘›โˆ’๐‘˜)/๐‘€)โ‹…๐‘€โˆ’1=๐‘›โˆ’๐‘˜โˆ’1 columns without any cycle.

3.2. v-Node Degree Distribution

In the semiregular construction the v-node degree distribution has the form๐œ†(๐‘ฅ)=2(๐‘›โˆ’๐‘˜)2(๐‘›โˆ’๐‘˜)+๐‘ค๐‘ฃ๐‘˜๐‘ค๐‘ฅ+๐‘ฃ๐‘˜2(๐‘›โˆ’๐‘˜)+๐‘ค๐‘ฃ๐‘˜๐‘ฅ๐‘ค๐‘ฃโˆ’1,(8)that is, the submatrix ๐‡1 has a constant column degree ๐‘ค๐‘ฃ. The parameter ๐‘ค๐‘ฃ can assume only small values to keep the low-density nature of ๐‡ and hence few cycles in the factor graph.

It is known that there exists a tradeoff between the performance in the cliff region and the performance in the floor region. In [5] it is shown that the floor improves when ๐‘ค๐‘ฃ increases. However the weight ๐‘ค๐‘ฃ cannot be increased above a maximum value that depends on the code length and the rate, in order to maintain the low-density nature of ๐‡. This makes it difficult to obtain good performance in the floor region with codes of moderate length and high rate.

3.3. Modified BP Algorithm

The BP decoding algorithm is optimal with tree-like factor graph, a condition practically reached when ๐‘› is very large. When the block length is finite, the BP becomes a suboptimal algorithm in the sense that it no longer performs MAP decoding [6, 7]. The main idea in order to outperform the BP decoder is to include a procedure of hard decisions on the v-nodes' posteriors, called decimation. The modified algorithm resembles that in [8]: in the generic iteration the mutual information from the v-nodes to c-nodes ๐ผ๐‘ฃ๐‘ is estimated and some hard decisions are taken on the most reliable v-nodes to reach the desired value of ๐ผ๐‘ฃ๐‘ for the current iteration. The increment ฮ”๐ผ๐‘ฃ๐‘ between two consecutive iterations is assumed to be ฮ”๐ผ๐‘ฃ๐‘=1/๐‘™max, such that the expected maximum number of iteration is ๐‘™max.

4. Results

4.1. BPSK Signalling

In the BPSK system, the receiver computes the a priori metrics for the LDPC decoder๐‹๐ŸŽ=2๐œŽ2๐ฒ,(9)where ๐ฒ is the received vector and ๐œŽ2=๐‘0/2 is the variance per dimension of the AWG noise. Several LDPC codes are compared, that are different for code rate (๐‘…=9/10 and ๐‘…=4/5), code length (๐‘›=1000 and ๐‘›=5000). Also, we considered LDPC codes designed via DE. The results obtained with DE are not reported here due to the poor performance in the floor region.

In Figure 1, there is a comparison between the original BP decoding algorithm and the modified version, working on the same semiregular code with ๐‘›=5000, ๐‘…=0.8, and ๐‘ค๐‘ฃ=8. The modified version of the BP algorithm exploits the original version with a constant gain in the cliff region.

In Figure 2 are plotted 8 BER curves versus ๐ธ๐‘/๐‘0=1/8๐‘…๐œŽ2 in dB. The solid curves represent the performance of the codes designed with the short cycle elimination procedure, while the dashed curves represent the performance of the codes designed as described in Section 2. The code with ๐‘›=5000 and ๐‘…=9/10 is 1โ€‰dB from capacity and the code with ๐‘…=4/5 is about 1.6โ€‰dB from capacity (@๐‘ƒ๐‘=10โˆ’5); the floor does not appear up to ๐‘ƒ๐‘=10โˆ’7.

4.2. Coded Modulation

Let us consider the coded modulation based on the 16-way partition โ„ค2/4โ„ค2 where log216=4 coded bits ๐œ=[๐‘1,๐‘2,๐‘3,๐‘4] address one coset leader in [โ„ค2/4โ„ค2], and log2(128/16)=3 uncoded bits ๐ฎ=[๐‘ข1,๐‘ข2,๐‘ข3] address one out of 8 subconstellations. The coded vector ๐œ is drawn from an LDPC encoder of rate ๐‘…=๐‘˜/๐‘›; the normalized redundancy is ๐œŒ=4((๐‘›โˆ’๐‘˜)/๐‘›)[b/2D] and the volume to noise ratio (VNR) is๐›ผ2=2๐œŒ2๐œ‹๐‘’๐œŽ2.(10)

As suggested in [9] it has been adopted a partial Gray mapping rule.

At the receiver metrics for the ๐‘—th received symbol and each of the 4 Gray-mapped bits are computed according to๐ฟ(๐‘–)0,๐‘—=12๐œŽ2๎‚€|||๐‘ฆ๐‘—โˆ’๐‘ง0(๐‘–)|||2โˆ’|||๐‘ฆ๐‘—โˆ’๐‘ง1(๐‘–)|||2๎‚(11)for ๐‘–=1,โ€ฆ,4 and ๐‘—=1,โ€ฆ,๐‘›/4, such that 4โ‹…๐‘›/4=๐‘› metrics are provided to the LDPC decoder.

Four different LDPC codes are compared; they differ for code rate (๐‘…=9/10 and ๐‘…=4/5 lead to overall redundancies of ๐œŒ=0.4[b/2D] and ๐œŒ=0.8[b/2D], resp.), code length (๐‘›=2000 and ๐‘›=6000 mean ๐‘=500 and ๐‘=1500 2D symbols, resp.). The LDPC decoder computes ๐‘™max=30 iterations of the modified BP algorithm. In Figure 3 are plotted 4 BER performance curves versus SNR in dB. The longer semiregular code shows good performance and error floor below ๐‘ƒ๐‘=10โˆ’8. Figure 4 shows some WER curves versus the volume to noise ratio ๐›ผ2, which is recalled in (10), and the sphere lower bound on the WER for the finite dimensionality of the lattice [10].

5. Conclusion

The design of the moderate length instance of the DVB-S2-like parity-check matrix has been considered. Several codes designed with a semiregular approach are worked out and their performance is obtained by running few iterations of the decoding algorithm. The proposed edge assignment and the modified BP algorithm, with a decimation procedure, allow to lower the error floor compared to the same codes designed via density evolution.