You are on page 1of 13

This article has been accepted for publication in a future issue of this journal, but has not been

fully edited. Content may change prior to final publication. Citation information: DOI 10.1109/TCOMM.2017.2783624, IEEE
Transactions on Communications

Design of Binary LDPC Codes with Parallel Vector


Message Passing
Xingcheng Liu, Senior Member, IEEE, Feng Xiong, Zhongfeng Wang, Fellow, IEEE, and Shuo Liang

Abstract—Many studies were carried out for the construction LDPC codes in high density storage systems such as NAND
of low density parity-check (LDPC) codes. They usually focused flash memory aroused great interests in academia [4] [5] [6].
on introducing the construction methods for good LDPC codes An LDPC code whose parity-check matrix has a constant
instead of a general method for code optimization. This paper
proposes a method with high versatility, called the parallel vector column weight γ and a constant row weight ρ is said to be
message passing-based edge exchange (PMPE), for optimizing a regular and called a (γ, ρ)-regular LDPC code. An LDPC code
type of graph-based LDPC codes, without changing the code whose parity-check matrix does not have a unique column
parameters of mother codes such as the code length, code rate weight or row weight is called an irregular LDPC code [7]. The
and degree distribution. With the approximately nearest codewords overwhelming majority of the methods for constructing LDPC
(ANC) searching approach, we find the optimization method can
increase the Hamming distance of the LDPC codes. For the codes can be divided into two types: the algebraic-based and
quasi-cyclic (QC) LDPC codes, an optimization method, called the graph-based methods, also known as the structured and the
the parallel vector message passing oriented-to the QC-LDPC codes random methods, respectively. Algebraic-based constructions
(QC-PMP), is further suggested, with which the quasi-cyclic of LDPC codes are mainly developed based on the finite fields
characteristics of QC-LDPC codes can remain unchanged in the [8] [9] and the finite geometries [10] [11]. The PEG (progres-
optimization. To evaluate the performance of the parity-check
matrix corresponding to a Tanner graph, a very simple metric, sive edge growth) [7] and the protograph-based methods [12]
the Cycles Metric (CM), is introduced to work with the proposed [13] are among the most well-known graph-based construction
PMPE and QC-PMP algorithms. The experimental results show methods.
that the performance of the LDPC codes optimized with the Generally, LDPC codes constructed with random methods
proposed PMPE can be improved significantly at low BER range have good performance because they increase the girth of the
compared to the mother codes of the random codes, including
the regular MacKay code of rate 0.5 and the regular PEG code Tanner graph or avoid short cycles in constructing the Tanner
of rate 0.9. For the case of the regular and irregular QC-LDPC graph or the parity-check matrix as possible as they can.
codes with different code lengths and code rates, the optimized Among them, the PEG algorithm is the most effective random
LDPC codes with the proposed QC-PMP algorithm significantly construction method. Many PEG-based algorithms [14] [15]
outperform the mother codes. with extrinsic message degree (EMD) or approximate cycle
Index Terms—Low density parity-check (LDPC) codes; quasi- EMD (ACE) properties [16] are proposed to further enhance
cyclic codes; optimization; parallel vector message passing; cycles the performance of the PEG-based LDPC codes. The EMD
metric. and ACE properties emphasize that not only the length of
cycles, but also the vertex connectivity in Tanner graphs play
I. I NTRODUCTION important roles in error-floor performance. Some short cycles
with good graph connectivity are allowed, while long cycles
Ow density parity-check (LDPC) codes, first introduced
L by Gallager in 1962 [1], and rediscovered by Mackay et
al. in 1996 [2], are currently ones of the most popular coding
with poor graph connectivity are precluded. Applying EMD or
ACE properties to the design of LDPC codes, the PEG-based
algorithm can reduce the number of small stopping sets [17] or
techniques for error control in communication and storage trapping sets [18], which determine the error floors of LDPC
systems such as the DVB-S2, the IEEE 802.11 (Wi-Fi), the codes. Nevertheless, the construction algorithms of the PEG-
IEEE 802.16e standard for WiMAX, and the patterned media based codes and even all of the graph-based codes, are greedy
storage [3], due to their capacity-approaching performance in maximizing the local girth of each symbol node, because
and practically implementable decoding algorithms. Numerous the Tanner graphs are constructed through establishing edges
studies have been focused on the construction, encoding, or connections between variable nodes and check nodes in
decoding, and application of LDPC codes. Recently, long an edge-by-edge manner. Each edge to be established is just
LDPC codes were adopted for one of the standard channel optimal to the subgraph in the current round of construction.
codes in the 5G mobile communications. The application of The edges established at early stages have many available
nodes while the edges to be established at later stages of code
The work was supported by the National Natural Science Foundation of
China (Grant Nos. 61572534 and 61602531). construction have few ones, which results in a small local
Xingcheng Liu and Shuo Liang are with the School of Electronics and girth for some symbol nodes, especially in the construction of
Information Technology, Sun Yat-sen University, Guangzhou, 510006, China high-rate LDPC codes.
(e-mail: isslxc@mail.sysu.edu.cn). Xingcheng Liu is also currently affiliated
with Xinhua College of Sun Yat-sen University, Guangzhou, 510520. Feng X- The ACE spectrum [19] is a useful tool for design and
iong was with the School of Electronics and Information Technology, Sun evaluation of LDPC codes. It is a good metric to measure
Yat-sen University, Guangzhou, 510006. Now, he is with the FiberHome the quality of a Tanner graph [20] as a whole. A generalized
Technologies Group, Wuhan, 430205, China. Zhongfeng Wang is with the
School of Electronic Science and Engineering, Nanjing University, Nanjing, ACE constrained design based on the ACE spectrum is shown
210023, China. to be more flexible and efficient than the original proposal

0090-6778 (c) 2017 IEEE. Personal use is permitted, but republication/redistribution requires IEEE permission. See http://www.ieee.org/publications_standards/publications/rights/index.html for more information.
This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI 10.1109/TCOMM.2017.2783624, IEEE
Transactions on Communications

[16]. However, by increasing the ACE spectrum components the codes constructed with these methods are just different in
(a dmax -tuple, and dmax is the depth of the ACE spectrum), the modes that the elements of base matrix are mapped into the
the generalized ACE constrained design [19] leads to computa- CPMs. The code optimization is performed through adjusting
tional complexity problems since finding appropriate value for the elements of a given base matrix without changing the basic
each entry of the dmax -tuple is an unsolvable task. To tackle parameters of codes, such as the code lengths and the code
this problem, a method called decoder-optimized progressive rates. The total CM of a parity-check matrix to which the
edge growh (DO-PEG) algorithm [21] has been put forward. current base matrix is associated is computed with the PMP
In this method, the edge placement is enhanced by use of algorithm after each adjustment. The principle of optimization
the Sum Product algorithm in the design of the parity-check is to decrease the total CM until it can not go down further.
matrix. The main idea is comparing the performance of the Experimental results show that the codes constructed with the
code under the current graph setting for each of the candidate proposed method perform well and how low the error floor
CNs with the maximum distance possible from the current occurs.
VN. Moreover, the application of the DO-PEG is limited to The rest of the paper is organized as follows. Section
be employed in optimizing the LDPC codes generated with II briefly introduces notations and preliminaries about the
the PEG method. By contrast, the proposed PMPE can be graph-based method. Section III presents the CM to measure
employed on a given code generated with methods not limited the quality of a Tanner graph, and the PMP algorithm for
to the PEG to get improved performance. In this paper, we computing the CM more efficiently. In Section IV, a versatile
introduce a very simple metric called the Cycles M etric algorithm, called PMPE, is introduced for optimizing the
(CM) to measure the performance of the parity-check matrix Tanner graphs constructed with the random construction of
corresponding to a Tanner graph. Furthermore, an efficient LDPC code, and the proposed CM and PMP are further
method called parallel vector message passing (PMP) for employed in the optimization of QC-LDPC codes. Section
computing the CM of a Tanner graph is designed based on V presents the simulation results and gives analyses of the
the message passing algorithm (MPA) [22] [23]. On this basis, proposed algorithms. Finally, Section VI concludes the paper
a method called parallel vector message passing-based edge with comments.
exchange (PMPE) is proposed to optimize the global Tanner
graph. Although the algorithm in [22] may be recast in a form II. N OTATIONS AND P RELIMINARIES
equivalent to the proposed PMP and PMPE, the PMP and Denote n as the number of variable nodes (VNs), m as the
PMPE both target at the optimization from the whole Tanner number of check nodes (CNs), Ne as the number of edges,
graph, and can be employed for a given code to get improved vj , j = 0, 1, ..., n − 1 as the j-th VN, ci , i = 0, 1, ..., m − 1
performance. Since the metric, CM, considers all the cycles- as the i-th CN, dvj as the degree of variable node vj , Ej,i as
2l in the Tanner graph as a whole, it gives a weight value to the edge connecting vj with ci , and cycle-t as the cycle with
each cycle-2l to measure the magnitude of the harm on the length t in a Tanner graph.
error floor performance. A smaller value of CM means that the
number of cycles is fewer and/or their lengths are longer on the
whole Tanner graph. Consequently, reducing the cycles metric, A. Basic Definitions
CM, intuitively improves the error correction performance of In the construction of LDPC codes, many considerations
the codes. The experimental evidence is also provided in the such as ACE property [16] [19], EMD property [15], and
numerical result section to support this claim. Accordingly, trapping set [18] have been taken into account in measuring
the code construction is carried out for decreasing the CM of the quality of a Tanner graph. Some basic definitions related
a Tanner graph. to LDPC code construction are provided as follows.
Compared to the random LDPC codes, the QC-LDPC Definition 1: Let V be a set of VNs, and Γ(V) be the set
codes [24] have advantages in hardware implementations of of adjacent CNs of V. A subgraph induced by V is the graph
encoding and decoding. Encoding of a QC-LDPC code can containing nodes in V∪Γ(V) and the edges between V and
be efficiently implemented with simple shift registers. In hard- Γ(V).
ware implementation of a QC-LDPC decoder, the quasi-cyclic Definition 2: A stopping set (SS) is a set of VNs to which
structure of the code simplifies the wire routing for message every adjacent CN of this set is connected at least twice [17].
passing. Furthermore, well designed QC-LDPC codes perform It is worth noting that the empty set is a stopping set, and the
as well as any other types of random LDPC codes in the stopping set connected to only one CN does not form a cycle.
waterfall region. All these advantages will inevitably make the If the degree of each VN is at least 2 in a subgraph induced
QC-LDPC codes become the mainstream of study on LDPC by a stopping set, the subgraph always contains cycles. Large
codes. In this paper, we propose a method to optimize binary stopping sets can be recursively derived by small ones, and
QC-LDPC codes, whose parity-check matrices are composed there is no efficient algorithm for explicitly identifying and
of arrays of zero matrices (ZMs) and circulant permutation removing them [27].
matrices (CPMs). In code optimization, we present a simple Definition 3: A trapping set (TS) [18] is a non-empty set
and very flexible method for optimizing the base matrices of VNs in a Tanner graph with parameters a and b, where a
of QC-LDPC codes based on the finite fields [8] [9] or the is the number of VNs in this set and b is the number of CNs
pseudo-random methods [25] [26]. The QC-LDPC codes can with odd degrees in the subgraph induced by the a VNs and
be uniquely determined by their respective base matrices since their adjacent CNs. We denote this set as TS (a, b).

0090-6778 (c) 2017 IEEE. Personal use is permitted, but republication/redistribution requires IEEE permission. See http://www.ieee.org/publications_standards/publications/rights/index.html for more information.
This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI 10.1109/TCOMM.2017.2783624, IEEE
Transactions on Communications

2A, the overlap between any two columns is no greater than


1, which results in the Tanner graph corresponding to the
parity-check matrix free of cycle-4. Constructions 1B and 2B
are generalized based on Constructions 1A and 2A. A small
number of columns are deleted from the matrix produced with
Constructions 1A and 2A, respectively. In this way, the Tanner
graph corresponding to the matrix has no short cycles of length
less than some value l. With this method, the elements in the
parity-check matrix are generated randomly. The principle is
Fig. 1. A subgraph with cycles.
that the cycle-4 and cycle-6 in the current matrix are forbidden
as possible as it could. Because of generating the elements
of the matrix one by one, the MacKay methods do not take
A TS is said to be elementary if all check nodes connected
the cycles of the whole Tanner graph corresponding to the
to this TS have degree 1 and/or 2. If the degree of each VN is
matrix into consideration. Consequently, the performance of
at least 2 in a subgraph induced by a trapping set, the subgraph
the MacKay code can be improved by further optimizing
always contains cycles. It is known that finding all trapping
the cycle structure. Later in this paper, we introduce our
sets in a Tanner graph is also an NP-hard problem [28].
optimization method and apply it to the MacKay code. The
Definition 4: The extrinsic message degree (EMD) of a cycle
improvement of error-correcting performance is demonstrated.
in an LDPC code Tanner graph is the number of check nodes
connected only once to the set of variable nodes in this cycle The progressive edge growth (PEG) algorithm is also one
[19]. of the most promising graph-based methods for constructing
If a cycle in the Tanner graph of an LDPC code has a low LDPC codes. The original PEG algorithm [7] constructs
EMD, its corresponding connectivity with the rest of the graph Tanner graphs by progressively establishing edges between
vertices is poor, which results in the phenomenon that the set VNs and CNs. Only one edge is put during each step in order
of variable nodes in this cycle receives a limited number of to achieve the largest local girth or form as few short cycles
extrinsic messages from the rest of the graph. In the general as possible in the current subgraph. The variants of the PEG-
case of the SS and TS, the EMD of an SS is zero while the based algorithms [31] [14] [32] are all similar to some extent.
EMD of an elementary TS (a, b) is b. They do some modifications or add some constraints, such
Definition 5: The approximated cycle EMD (ACE) of a as applying the ACE [16] property in each step to achieve
cycle is the sum of components, which are the degree of each better cycle-connectivity. The PEG-based method only makes
variable node within the cycle minus two [19]. the optimization in establishing edges among the current VNs.
It is hard to find the EMDs of all short cycles since it takes Because of its greediness, the VNs to be treated later in
additional steps to identify whether an edge is extrinsic or not code construction are hard to achieve a large local girth than
for a cycle. The ACE metric is a simplified version of the the former ones. In addition, the established edges of the
EMD. For their taken values, the EMD of a cycle is less than later VNs may decrease the local girths of the former VNs.
or equal to the ACE of it. Especially, in the situation of high code-rate, the number
Example 1: As is shown in Fig. 1, {v0 , c0 , v1 , c2 } is a cycle of available CNs is limited at each step, resulting in the
with length = 4, its EMD = 1 since only c1 connects the VN consequence that each edge to be established will be involved
set once, and its ACE = 1 since (dv0 − 2) + (dv1 − 2) = 1. in many cycles. Although the PEG-based codes may achieve
{v0 , c1 , v2 , c2 } is a cycle with length = 4, its EMD = ACE better performance than the original PEG code, the code-rates
= 3 after similar computations. {v0 , c0 , v1 , c2 , v2 , c1 } is a of them are all around 0.5. To overcome the difficulty, we
cycle with length = 6, EMD = 2 and ACE = 3. v2 , c3 , v3 , proposed an optimization method that is devised based on the
c4 is a cycle with length = 4, its EMD = ACE = 2. {v0 , v1 , established Tanner graph of an original PEG code, focusing
v2 , v3 } is an SS related to these cycles. In Fig. 1, a TS (3, 3) on the situation of high code-rate up to 0.9. The experimental
is formed since there are 3 VNs and 3 CNs with odd degrees, results will demonstrate the validity of the proposed method.
i.e., dc2 = 3 and dc3 = dc4 = 1, in the subgraph induced by
{v0 , v1 , v2 }. III. PARALLEL V ECTOR M ESSAGE PASSING AND C YCLES
The performance of LDPC codes with iterative decoding M ETRIC
algorithms is closely related to the ACE and EMD of cycles
The ACE spectrum [19] and the EMD spectrum [15] can be
or the number of small SS and TS involved in cycles. Thus,
used to evaluate the quality of a Tanner graph corresponding
the problem of error floors actually depends on the cycles.
to a parity-check matrix for an LDPC code. But both of them
need to know the specific VNs involved in each cycle. More-
B. MacKay and PEG-based LDPC Codes over, the EMD spectrum needs to know the specific extrinsic
MacKay introduced four methods for the construction of CNs of each cycle. To tackle this computational problem, we
LDPC codes [29] [30], which are called Constructions 1A, introduce a very simple metric called the Cycles Metric (CM),
2A, 1B and 2B, respectively. The codes generated with these which only needs to compute the number of cycles, but without
methods are collectively known as the MacKay codes. In computing the specific nodes involved in them. Furthermore,
the parity-check matrix designed with Constructions 1A or an efficient method called parallel vector message passing

0090-6778 (c) 2017 IEEE. Personal use is permitted, but republication/redistribution requires IEEE permission. See http://www.ieee.org/publications_standards/publications/rights/index.html for more information.
This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI 10.1109/TCOMM.2017.2783624, IEEE
Transactions on Communications

(PMP) for computing the number of short cycles in a Tanner where, j = J and i = I at the present stage and
1
graph is designed based on the message passing algorithm Xk (J, I) shows that the initial V2C message of Ej,i
(MPA) [22] [23]. In this section, we first give an introduction contains only 1 vector Xk (J, I) and no other ones.
to the PMP, then to the CM. 2) Iterative Message Passing:
a) Update all the messages from CNs to VNs (C2V)
by computing
A. Parallel Vector Message Passing c →vj
Nk i
The message passing algorithm (MPA) [22] [23] is a rep- mci →vj = {Xk (J, I) | k ∈ [0, Ne − 1]}, (2)
resentative for counting the number of short cycles. Just like where, mci →vj represents the message from check
the sum-product algorithm (SPA) [33] in LDPC decoding, the node ci to variable node vj . mci →vj is a set that
message that a CN c passes to a VN v equals the product of consists of Ne vectors with different counts since
the messages that c collects from all the VNs connected to the vj may receive any one of the Ne initial vectors
CN c except the VN v. during the iterative message passing procedure.
The MPA is also an iterative method with three procedures, c →v
The number of Xk (J, I) in mci →vj , i.e., Nk i j ,
initialization, iterative message passing, and stopping. After equals the sum of the counts of Xk (J, I) from all
several iterations, the original MPA [22] can count the number the variable nodes in V (ci )\vj to ci . We can get
of cycles with length 2l (2 ≤ l ≤ (g − 1)), where l is the c →v
Nk i j by computing
number of iterations and g is the girth of the Tanner graph. The
c →v
∑ v ′ →ci
improvement [23] to MPA can count the number of cycles with Nk i j = Nk j , (3)
length greater than (2g − 2). Both of them are implemented vj ′ ∈V (ci )\vj
sequentially, i.e., calculating short cycles of all the nodes in v ′ →ci
a Tanner graph one by one. At the beginning, MPA uses an where, Nk j denotes the number of Xk (J, I)
integer to initialize the edge’s message in order to distinguish in mvj′ →ci .
different initial messages corresponding to different edges. b) Update all the messages from VNs to CNs (V2C)
During iterative message passing, the product of integers from by computing
v →ci
different edges is used to update the edges’ messages. In the Nk j
mvj →ci = {Xk (J, I) | k ∈ [0, Ne − 1]}, (4)
calculation of iterative message passing procedure, the division
operations are performed to find the number of different where, the computational principle of mvj →ci is
v →c
integers corresponding to the initial messages of different the same as that of mci →vj , and Nk j i can be
edges. computed by
v →c
∑ c ′ →vj
In the following sections, we need to compute the Cycles Nk j i = Nk i . (5)
Metric of each edge or node in a Tanner graph with MPA ci′ ∈C(vj )\ci
efficiently. Thus the parallel vector message passing (PMP)
is devised with some modifications to MPA [22]. In the c) Calculate the number of cycles-2l involving edge
initialization procedure, we set the initial message of each Ej,i by
∑ c ′ →vj
edge to a unique vector Xk (J, I) based on the Tanner graph. j,i
N2l = Nk i , (6)
Xk (J, I) can be represented by the index row vector [J I], ci′ ∈C(vj )\ci
which denotes the k-th edge EJ,I in the Tanner graph with
the J-th variable node vJ connected with the I-th check node, where, l is the current number of iterations. If
cI . The indices fall in the range of [0, n − 1] for J, [0, m − 1] two edges, Ej,i1 and Ej,i2 , are involved in one
for I, and [0, Ne − 1] for k. In the iterative message passing (or more) cycle(s)-2l, the initial vector message
procedure, we just record the number of different vectors when of edge Ej,i1 , i.e., Xk (j, i1 ), will appear in the
updating the edge messages from CNs to VNs (C2V) or from C2V message of edge Ej,i2 , i.e., mci2 →vj , after
VNs to CNs (V2C). Then we compute the number of cycles l iterations of message passing. The number of
involving each edge according to this edge’s last C2V message times that Xk (j, i1 ) appears in Ej,i2 equals the
in the stopping procedure. For the sake of clarity, the notations number of cycles-2l which Ej,i1 and Ej,i2 are
in the proposed PMP algorithm are shown in TABLE I. The both involved in. It is noted that the girth of the
j,i
detailed procedures of the PMP are described as follows. Tanner graph, g, is obtained when N2l does not
equal 0 for the first time. If only we continuously
1) Initialization:
increase the number of iterations, the girth g can
Initialize all vector messages from all the edges of a
be computed by g = 2l′ , where l′ is the minimum
Tanner graph. For example, Xk (J, I) = [J I] represents j,i
number of iterations that holds N2l ̸= 0.
the initial vector message to which EJ,I is associated.
That is, there is a one-to-one mapping between Xk (J, I), 3) Stopping Procedure:
[J I], and EJ,I . It is clear that there are Ne initial If the algorithm runs till the specified number of itera-
vectors. Then, the initial message from vj to ci can be tions, it ends, else it goes back to Step 2) and continues
initialized as follows: the message passing.
The PMP algorithm has a computational complexity O(Ne )
1 1 1
mvj →ci = Xk (j, i) = Xk (J, I) = [J I] , (1) in the initialization procedure. Here, we consider a regular

0090-6778 (c) 2017 IEEE. Personal use is permitted, but republication/redistribution requires IEEE permission. See http://www.ieee.org/publications_standards/publications/rights/index.html for more information.
This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI 10.1109/TCOMM.2017.2783624, IEEE
Transactions on Communications

Tanner graph as an example. In the iterative message passing Finally, the total CM of a Tanner graph (or a check-parity
procedure, each node , say vj , has a computation complexity matrix) can be calculated by
O((dvj − 1)Ne ) when updating the C2V message. Therefore,

n−1
if the number of check nodes in this Tanner graph is n, the av- MT = Mvj . (9)
erage computation complexity of Step 2a) is O(n(dvj −1)Ne ), j=0
i.e., O(Ne 2 ). By the same token, the computation complexity
for Step 2b) is O(Ne 2 ). In the meantime, Step 2c) has a com- Example 2: The shortest cycles are the most harmful to the
putation complexity O(dvj − 1). According to the above, the decoding performance of an LDPC code. Hence, a weight val-
total computation complexity of PMP algorithm is O(lNe 2 ) ue is simply given to each cycle-2l to measure the magnitude
with l iterations, which is equivalent to the complexity of of this harm. The weight of influence for a cycle-2l on the
MPA. However, the PMP is easy to be implemented in parallel decoding performance is set to be β l−2 . Based on this weight
with a little cost in memory requirements. It is easy to see that set, the weight of influence for a cycle of cycle-4 will be 1,
the same computation complexity also applies to the irregular the one for a cycle of cycle-6 will be 0.1 if β is set to 0.1, and
Tanner graph. With the PMP algorithm, we can efficiently that one for a cycle of cycle-8 will be 0.01. Accordingly, it is
obtain the number of short cycles in the Tanner graph, which easily understood that 10 cycles of cycle-6 are as equivalently
is beneficial to computing Cycles Metric of a Tanner graph. harmful as 1 cycle of cycle-4 to the decoding performance,
and that 10 cycles of cycle-8 are also as harmful as 1 cycle
of cycle-6.
B. Cycles Metric The number of edges in the Tanner graph is constant for the
proposed algorithm. Hence, when the number of cycles with
The SPA assumes that all nodes are independent in the length 2l decreases, the number of cycles with other lengths
decoding of LDPC codes of finite lengths. However, the cycles may increase. Then, all the cycles of cycle-2l in the Tanner
in a Tanner graph contradict with this assumption. Short cycles graph are considered as a whole and measured with MT . The
are considered to be harmful to the decoding performance of MT takes the number of cycles and their lengths into account
LDPC codes. Therefore, the PEG-based algorithms all focus in order to find a balance between the cycles and lengths.
on maximizing the local girth or reducing the number of short That is, the performance of LDPC codes is evaluated using
cycles in each stage of edge establishment. Some of them add the MT . A smaller value of MT means that the number of
the ACE constraint to increase the connectivity of cycles with cycles is fewer and/or their lengths are longer on the entire
the rest of a Tanner graph while some short cycles with a good Tanner graph.
graph connectivity are allowed. However, all of these algo-
rithms just take the local optimum into consideration, where,
IV. O PTIMIZATION OF LDPC C ODES
the selected CN is just optimal to the current subgraph. The
result is that the previously established edges will influence In this section, two optimization algorithms for construction
the available CNs in the subsequent construction and selection of LDPC codes, the PMPE for random LDPC codes and the
procedures. Thus, the finally established Tanner graph is not QC-PMP for quasi-cyclic LDPC codes, are proposed based
necessarily optimal when taking it as a whole. To cope with on the parallel vector message passing (PMP). In view of
this problem, we propose a new metric to evaluate the code the global optimization, the two proposed algorithms aim to
parameters that affect the overall performance of a Tanner minimize MT . For ease of exposition, the PMPE and the
graph as follows. QC-PMP are to be introduced in two subsections. Moreover,
Definition 6: The cycles with length 2l (2 ≤ l ≤ g − 1) that to provide proofs for the improvement of the optimization
contains Ej,i can be quantified as a whole by a parameter, method on LDPC codes, the distributions of codewords with
which is called the Cycles Metric (CM). The CM of Ej,i can low Hamming weights are estimated with the bit-reversing
be computed by method [34].


g−1
j,i A. Parallel Vector Message Passing-Based Edge Exchange
Mvj ,ci = β l−2 · N2l , (7)
l=2 The MacKay codes and PEG codes establish a Tanner graph
getting trapped in the local optimum. To solve or alleviate the
j,i
where, N2l is the number of cycles-2l involving edge Ej,i problem, we can try to rearrange some of the established edges
and it can be computed by (6) in the PMP algorithm. g is in the whole graph. That is, we can change some edges to
the girth of a Tanner graph and also can be obtained with make MT as small as possible. Here we give some definitions
the PMP algorithm. It is noted that we only take cycles with related to edges and nodes as follows.
length from 4 to 2g − 2 into consideration. β (0 < β < 1) is Definition 7: An edge exchange is said to appear in a
a constant and β l−2 represents the weight of influence that a Tanner graph if two edges in the Tanner graph exchange their
cycle with length 2l has to the overall Tanner graph. Then the connected CNs.
CM of vj equals the sum of the CMs of its adjacent edges, Definition 8: In a Tanner graph, a direct connection between
computed by two edges exists when the edges connect a common VN or

Mvj = Mvj ,ci . (8) CN, while an indirect connection between two edges occurs if
ci ∈C(vj ) two edges are not connected directly but there exists another

0090-6778 (c) 2017 IEEE. Personal use is permitted, but republication/redistribution requires IEEE permission. See http://www.ieee.org/publications_standards/publications/rights/index.html for more information.
This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI 10.1109/TCOMM.2017.2783624, IEEE
Transactions on Communications

TABLE I
N OTATIONS EMPLOYED IN PMP

Xk (J, I) the vector message corresponding to edge EJ,I (there are Ne vectors)
Xk (J, I)b the number of vector Xk (J, I) is b
mvj →ci the message from vj to ci (it is a set that contains Ne vectors with different counts)
mci →vj the message from ci to vj (it is a set that contains Ne vectors with different counts)
v →ci
Nk j the number of vector Xk (J, I) in mvj →ci
c →v
Nki j
the number of vector Xk (J, I) in mci →vj
C(vj ) the set of CNs connected with vj
V (ci ) the set of VNs connected with ci
C(vj )\ci the set of CNs connected with vj except ci
V (ci )\vj the set of VNs connected with ci except vj

Algorithm 1 Computation of MT with the PMP


1: for k ← 0 to (Ne − 1) do
2: // Ej,i is the k-th edge in the Tanner graph
3: Initialize the V2C message of edge Ej,i ;
4: end for
5: // l is the current number of iterations, and g is the girth
of Tanner graph and temporarily set to +∞
6: Initialize l ← 0, g ← +∞;
7: // the maximum number of iterations is g − 1
Fig. 2. Tanner graph
8: while l ≤ (g − 1) do
9: Perform iterative message passing once, l ← (l + 1);
10: //compute the number of cycles-2l for each edge
11: for k ← 0 to (Ne − 1) do edges will decrease the number of edges in a Tanner graph.
j,i The above two situations are not desired in code construction.
12: Compute N2l with Eq.(6);
13: // obtain the actual girth Definition 9: In a Tanner graph, if two edges do not form a
j,i
14: if g = +∞ and N2l > 0 then UEP, and an edge exchange between them does not decrease
15: g ← 2l; the MT , we call them an invalid edge pair (IEP).
16: end if A Tanner graph with a smaller MT is intuitively expected
17: end for to have a better error correction performance. Hence, an
18: end while edge exchange without decreasing the MT is also not desired.
19: //compute the number of cycles for each edge An edge exchange between two edges that do not form
20: for k ← 0 to (Ne − 1) do a UEP never changes the original degree distribution of the
21: Compute Mvj ,ci with Eq.(7); Tanner graph, but may have an effect on the cycles in which
22: end for the two edges are involved. Since it is impossible that the
23: //compute the number of cycles for each variable node degrees of VNs all equal 1 in the Tanner graph corresponding
24: for j ← 0 to (n − 1) do to a practical LDPC code , the cycles existed in the Tanner
25: Compute Mvj with Eq.(8); graph can not be eliminated completely. Moreover, an edge is
26: end for definitely not involved in one cycle. A slight change after an
27: Compute MT with Eq.(9); edge exchange may affect the cycles as a whole. Therefore,
28: End; MT is employed to measure the performance of the Tanner
graph. With the PMP algorithm, we can compute MT fast.
After an edge exchange, the performance of a Tanner graph is
edge connected directly to both of them. If two edges are improved as a whole if MT is decreased.
directly connected or indirectly connected, we call them To move forward, we firstly compute the CM of each VN
an unexchangeable edges pair (UEP). and MT with Algorithm 1. Then, two sets S and S ′ are
Example 3: A Tanner subgraph is shown in Fig. 2. There initialized respectively. For each VN, we select the edge with
are 3 edges represented in bold lines, i.e., E0,0 , E1,0 and largest CM from the edges connected to this VN. There will
E1,1 . Obviously, E0,0 and E1,0 are directly connected with be n selected edges and we put them into S. And S ′ is used
a common CN c0 , while E1,0 and E1,1 are also directly to keep UEPs and IEPs and is temporarily set to an empty set
connected with a common VN v1 . For E0,0 and E1,1 , there at the beginning. We randomly select two edges, say Ej1 ,i1
exists an edge E1,0 that is connected directly to both of them, and Ej2 ,i2 , from S according to the rule that (Ej1 ,i1 , Ej2 ,i2 )
so they are indirectly connected. Thus, the three edge pairs, is not in S ′ . Then we determine whether they form a new UEP
(E0,0 , E1,0 ), (E1,0 , E1,1 ) and (E0,0 , E1,1 ), are all UEPs. according to Definition 8. If so, we put this UEP into S ′ and re-
It is noted that an edge exchange between two directly con- select another two edges different from the former. Otherwise,
nected edges will not change the structure of a Tanner graph, we try to make an edge exchange on them and compute MT
while an edge exchange between two indirectly connected for the Tanner graph with Algorithm 1, determining whether

0090-6778 (c) 2017 IEEE. Personal use is permitted, but republication/redistribution requires IEEE permission. See http://www.ieee.org/publications_standards/publications/rights/index.html for more information.
This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI 10.1109/TCOMM.2017.2783624, IEEE
Transactions on Communications

they form an IEP based on Definition 9. If not, a successful Algorithm 2 PMPE


edge exchange is performed, so we accept this edge exchange 1: Construct an LDPC code with a random method and
and remove Ej1 ,i1 and Ej2 ,i2 from S. Otherwise, we undo configure the Tanner graph;
this edge exchange and put the IEP into S ′ . Especially, in the 2: // k is the number of rounds for edge exchange
selection of two edges, if an edge forms a UEP or IEP with 3: Initialize k ← 0;
every one of other edges in S, it should be removed directly 4: Compute MT with Algorithm 1;
from S. We keep the above procedure until S becomes an 5: // t is the time of accepted edge exchanges at the current
empty set. At that time, a round of edge exchanges (multiple round
edge exchanges) is completed and a new Tanner graph is 6: Initialize Sk and Sk′ , t ← 0;
established with several edges changed. Then, we re-initialize 7: while Sk ̸= ∅ do
the sets S and S ′ from the new Tanner graph and begin the 8: // denote Ej1 ,i1 and Ej2 ,i2 as the current selected two
next round of edge exchanges as before. Finally, if no more edges
edge exchange is accepted at the current round, it suggests 9: Randomly select two edges from Sk that satisfy
that MT will not be changed, indicating the termination of / Sk′ ;
(Ej1 ,i1 , Ej2 ,i2 ) ∈
the algorithm. 10: if (Ej1 ,i1 , Ej2 ,i2 ) is a UEP then
The algorithm is performed with edge exchange procedures 11: Put (Ej1 ,i1 , Ej2 ,i2 ) into Sk′ , goto Line 9;
for optimization of random LDPC codes, which is illustrated 12: end if
in Algorithm 2. We call it the parallel vector message passing- 13: Try an edge exchange between Ej1 ,i1 and Ej2 ,i2 ;
based edge exchange, in short, PMPE, where Sk and Sk′ 14: // denote MT tmp as the CM of Tanner graph after an
represent the sets at the k-th round. edge exchange
To compare the performance of the MacKay codes and the 15: if MT tmp < MT then
optimized ones, the Hamming weight distribution is chosen 16: Accept this edge exchange, remove Ej1 ,i1 and Ej2 ,i2
and shown in Table II for the LDPC codes of rate 0.5, where form Sk ;
we denote w as the Hamming weight of the searched code- 17: MT ← MT tmp , t ← (t + 1);
words and Nw as the number of codewords with weight w. It 18: else
should be noted that the values in Table II are estimates. From 19: Undo this edge exchange, put (Ej1 ,i1 , Ej2 ,i2 ) into Sk′ ;
the table, we can see that the MacKay codes optimized with 20: end if
PMPE have a larger Hamming distance among codewords or 21: Remove the edge from Sk that forms a UEP or IEP
fewer codewords with low weights than the original MacKay with every one of the other edges in Sk ;
codes. This just explains the validity of the proposed PMPE 22: end while
algorithm. 23: // t = 0 shows that MT is unchanged at the current round
of edge exchanges
B. Parallel Vector Message Passing Oriented-to the QC- 24: if t = 0 then
LDPC Codes 25: Exit;
26: else
There are two general categories for the construction of
27: k ← (k + 1), go to Line 6;
QC-LDPC codes, the algebraic constructions such as those
28: end if
based on the finite fields [35] [36] and the pseudo-random
constructions such as those based on the PEG algorithm [25]
[26] [37]. A QC-LDPC code can be represented by an R × C
1 ≤ wr,c ≤ L. Let α be a primitive element of GF(q). Then,
matrix, W, called the base matrix with the form
  each nonzero wr,c can be denoted with the exponential form
w0,0 w0,1 ··· w0,C−1 of α, i.e., α0 = αq−1 = 1, α1 , α2 ,. . ., αq−2 . The power of α
 w1,0 w1,1 ··· w1,C−1 
  represents the position of "1" at the top row of A(wr,c ). For
W= .. .. . .. ,
 . . . . .  the pseudo-random construction [26] [38], A(wr,c ) is an L×L
wR−1,0 wR−1,1 · · · wR−1,C−1 ZM if wr,c is "-" or a negative value (e.g., −1); otherwise, it
is an L×L CPM, where, wr,c represents the position of "1" at
where, each entry is represented by wr,c (0 ≤ r ≤ R − 1, the top row of A(wr,c ), and 0 ≤ wr,c ≤ L − 1. That is, there is
0 ≤ c ≤ C − 1). By replacing each entry wr,c of W with an a one-to-one mapping between wr,c and a ZM (or CPM) for
L × L matrix A(wr,c ), we obtain an R × C array both of the two forms of base matrix. It is noted that q should
 
A(w0,0 ) A(w0,1 ) ··· A(w0,C−1 ) be a prime or a power of a prime, so the size of submatrix,
 A(w1,0 ) A(w1,1 ) ··· A(w1,C−1 )  L = q − 1, with algebraic construction is limited, while L can
 
H= .. .. . .. . be arbitrary in the pseudo-random construction.
 . . . . . 
With such dispersion of W to H, the null space of H gives a
A(wR−1,0 ) A(wR−1,1 ) · · · A(wR−1,C−1 ) QC-LDPC code of length CL. Based on the special structure
For the algebraic construction based on the finite fields [35] of the QC-LDPC codes, a simple method like the PMPE for
[36], wr,c is an element taken over GF(q). A(wr,c ) is an L × random codes is proposed to change the graph of the QC-
L zero matrix (ZM) if wr,c = 0; otherwise, it is an L × L LDPC codes. For the convenience of discussion, A(wr,c ) is an
circulant permutation matrix (CPM), where, L = q − 1 and L × L ZM in the proposed algorithm if wr,c = 0; otherwise,

0090-6778 (c) 2017 IEEE. Personal use is permitted, but republication/redistribution requires IEEE permission. See http://www.ieee.org/publications_standards/publications/rights/index.html for more information.
This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI 10.1109/TCOMM.2017.2783624, IEEE
Transactions on Communications

TABLE II
H AMMING WEIGHT DISTRIBUTION ( ESTIMATED VALUES ) OF THE M AC K AY AND PMPE CODES

w 6 8 10 12 14 16 18 20 22
Nw - MacKay(96,48) 1 4 53 509 4845
Nw - PMPE(96,48) 1 2 44 442 4377
Nw - MacKay(204,102) 1 1 5 43 304
Nw - PMPE(204,102) 0 0 2 12 154
Nw - MacKay(408,204) 1 1 12 26 162
Nw - PMPE(408,204) 0 1 0 11 52

it is an L × L CPM, where, wr,c represents the position of Algorithm 3 QC-PMP


"1" at the top row of A(wr,c ), the index of the position begins 1: Initialize the Hbqc and the corresponding Hnb ;
from 1, and 1 ≤ wr,c ≤ L. 2: Compute the initial MT (Hbqc ) with Algorithm 1, denoted
with Minit ;
3: for r ← 0 to (R − 1) do
We still measure the performance of QC-LDPC code with 4: for c ← 0 to (C − 1) do
the total CM of the Tanner graph (or parity-check matrix). 5: if wr,c ̸= 0 then
Here we denote Hbqc (i.e., H, previously) of dimension m×n, 6: for k = 1 to L do
as the final binary matrix of QC-LDPC code, and Hnb (i.e., 7: wr,c ← (wr,c + 1) mod (L + 1); // adjust wr,c
W), as the base matrix of Hbqc . If Hnb is provided, Hbqc can between 1 and L
be obtained by the dispersion of Hnb in order not to destroy the 8: if wr,c = 0 then
quasi-cyclic characteristic. The method of constructing Hnb is 9: wr,c ← 1; // skip "0" in order not to change
divided into two steps, the base matrix construction (BMC) the predefined degree distribution
and the element adjustment with message passing (MPEA). 10: end if
As the name suggests, the BMC procedure is to construct 11: Obtain new Hbqc and compute MT (Hbqc ) de-
a base matrix, [Hnb ]R×C , whose elements are "1" or "0" noted with Mtmp ;
with a random method, such as the PEG algorithm and the 12: if Mtmp < MT (Hbqc ) then
proposed PMPE algorithm for optimization. The principle is 13: MT (Hbqc ) ← Mtmp ;
still to minimize MT of the Tanner graph for Hnb . Then, 14: else
we replace all the "1"’s in Hnb with nonzero elements taken 15: if wr,c = 1 then
values between 1 to L randomly. Through the BMC procedure, 16: wr,c ← 1;
we obtain an Hnb whose elements are between 0 and L. It 17: else
is noted that the BMC procedure is alternative. That is, we 18: wr,c ← (wr,c − 1) mod (L + 1);
can start our algorithm directly from an existed base matrix 19: end if
(mother code) Hnb with any other methods. This suggests 20: end if
our method be highly versatile. We denote MT (Hbqc ) as the 21: end for
MT of the Tanner graph for Hbqc corresponding to Hnb . The 22: end if
purpose of the MPEA procedure is to adjust the elements of 23: end for
the Hnb between 1 and L in order to decrease the MT (Hbqc ). 24: end for
It should be noted that we do not adjust a nonzero element 25: if MT (Hbqc ) = Minit then
wr,c to zero in order not to change the degree distribution 26: Exit;
of the mother code. The algorithm is shown in Algorithm 3 27: else
for the details performing the the core MPEA procedure. It 28: Goto Line 2;
begins from the parity-check matrix, Hbqc , from the existing 29: end if
construction methods of QC-LDPC codes [35] [36] [25] [26]
[37]. We call it the parallel vector message passing oriented-
to the QC-LDPC codes, in short QC-PMP. V. S IMULATION R ESULTS
In this section, we investigate the performance of the
For the case of QC-LDPC codes, we compute the weight proposed PMPE and QC-PMP algorithms through simulations.
distributions for two 802.11ad standard codes [38] and their Random and QC-LDPC codes with different code parameters
optimized versions with the QC-PMP algorithm. We use are employed to evaluate the validity of the proposed algo-
the same computational method as stated in the previous rithm. In simulations, the value of β is investigated for LDPC
subsection. The Hamming weight distributions of these codes codes of different lengths and code rates over the AWGN
are shown in Table III. We can see that the optimized codes channel. It is found that the decoding performance of the
have less number of low weight codewords than the original LDPC codes is optimal when the value of β is taken at 0.01.
IEEE802.11ad ones. In other words, the proposed LDPC codes Therefore, the β in Eq. (7) is set to 0.01 in the following sim-
optimized with QC-PMP are supposed to bring fewer errors ulations. The error correction performance is simulated with
with large noises. the SPA decoding algorithm over the AWGN channel with the

0090-6778 (c) 2017 IEEE. Personal use is permitted, but republication/redistribution requires IEEE permission. See http://www.ieee.org/publications_standards/publications/rights/index.html for more information.
This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI 10.1109/TCOMM.2017.2783624, IEEE
Transactions on Communications

TABLE III
H AMMING WEIGHT DISTRIBUTION ( ESTIMATED VALUES ) OF THE 802.11 AD AND QC-PMP CODES

w 8 9 10 11 12 13 14
Nw - 802.11ad(648,486) 27 0 81 135 654 1683 4706
Nw - QC-PMP(648,486) 0 27 54 81 339 1626 4061
Nw - 802.11ad(1944,1620) 162 405 1117 4058 12195 28985
Nw - QC-PMP(1944,1620) 0 162 1038 2498 8111 20659

−2 −1
10 10
MacKay (408,204)
PMPE (408,204)
−2
−3 MacKay (204,102) 10
10
PMPE (204,102)
MacKay (96,48)
−3
PMPE (96,48) 10
−4
10
−4

BER/FER
10
BER

−5
10
−5
10 BER, PEG(500,451)
−6
10 BER, PMPE(500,451)
−6
10 BER, PEG(440,396)
BER, PMPE(440,396)
−7 FER, PEG(500,451)
10 −7
10 FER, PMPE(500,451)
FER, PEG(440,396)
−8
10 −8 FER, PEG(440,396)
2 3 4 5 6 7 10
4 4.5 5 5.5 6 6.5 7 7.5
E /N (dB) Eb/N0(dB)
b 0

Fig. 3. Error correction performance of the PMPE optimized codes and the Fig. 4. Error correction performance of the (440, 396) and (500, 451) PMPE
MacKay codes. codes and PEG codes.

BPSK modulation. The maximum number of iterations for the 10


−2

two long codes, (3960, 2640) and (4032, 3264), is set to 20


while the maximum for the other codes is set to 50. 10
−3

−4
10
A. Performance of PMPE Codes
BER/FER

−5
In this subsection, we optimize some relatively short random 10

codes to show the validity of the PMPE algorithm. Focusing −6


10
on the code rate of 0.5, we simulate three (3, 6)-regular BER, PEG
MacKay codes [30], (96, 48), (204, 102) and (408, 204), and 10
−7
BER, OptPEG
BER, PMPE
the optimized codes with the proposed PMPE algorithm. FER, PEG
FER, OptPEG
As is shown in Fig. 3, the three MacKay codes optimized 10
−8
FER, PMPE
with the PMPE algorithm all outperform the original ones to 5 5.2 5.4 5.6 5.8 6 6.2 6.4 6.6 6.8
Eb/N0(dB)
some extent.
For the high code rate around 0.9, we simulate two codes,
(500, 451) and (440, 396), which are constructed with the PEG Fig. 5. Error correction performance of the (504, 448) code generated
algorithm and then optimized with the PMPE algorithm. They respectively with the PMPE, the ACE (OptPEG), and the original PEG
algorithms.
are both regular codes. The former has the column weight of
ρ = 2, which is often used in non-binary LDPC codes [3].
The column weight of the latter is ρ = 3, which is among the As shown in Fig. 5, the performance of the code (504, 448)
most common column weights of regular LDPC codes. with three methods is shown. The PMPE code and the OptPEG
As is shown in Fig. 4, the two codes optimized with the code perform very closely while the proposed PMPE outper-
PMPE algorithm both outperform the counterparts constructed forms the OptPEG at Eb /No > 6.4dB, and they both surpass
with the PEG algorithm. For code (500, 451), the code opti- the original PEG code when Eb /No > 5.2dB.
mized with PMPE gains about 0.25 dB compared with the
PEG code at BER = 9 × 10−6 . For code (440, 396), the code
B. Performance of QC-PMP Codes
generated from the PMPE outperforms that from the PEG by
about 0.5dB at BER = 1 × 10−7 . The QC-LDPC code is a mainstream of the research in
In addition, the PMPE code is compared with the OptPEG recent studies. Hence, we pay more attention to the QC-LDPC
code [39], which optimizes the ACE property of the designed codes optimized with the proposed QC-PMP algorithm. With-
code graph. The latter code is generated based on the original out loss of generality, different QC-LDPC codes are chosen
PEG algorithm. in simulations with the QC-PMP algorithm. The chosen codes

0090-6778 (c) 2017 IEEE. Personal use is permitted, but republication/redistribution requires IEEE permission. See http://www.ieee.org/publications_standards/publications/rights/index.html for more information.
This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI 10.1109/TCOMM.2017.2783624, IEEE
Transactions on Communications

10

−1 −1
10 10
BER, 802.16e
−2
FER, 802.16e
−2 10 BER, SQC−LDPC
10 FER, SQC−LDPC
−3 BER, QC−PMP
10
−3 FER, QC−PMP
10
−4

BER/FER
10
−4
BER/FER

10
−5
10
−5
10 −6
10

−6 −7 0.2 dB
10 10

BER, QC−PMP −8
−7
10 FER, QC−PMP 10
2.8 3 3.2 3.4 3.6 3.8 4 4.2 4.4
BER, CPM−QC E /N (dB)
b 0
−8 FER, CPM−QC
10
1.5 2 2.5 3
E /N (dB)
b 0
Fig. 8. Error correction performance of the (2304, 1920) irregular QC-PMP,
802.16e [37] and SQC-LDPC codes with rate 5/6.

Fig. 6. Error correction performance of the (3960, 2640) regular QC-PMP


and CPM-QC LDPC codes with rate 2/3.
geometry decomposition approach and ACE algorithm with
parameters (δ 2d = 4, δ ACE = 3). Through mapping each
−2
10
entry of W2 to a 64 × 64 submatrix, a 768 × 4032 parity-
10
−3 check matrix, H2 , can be built. The null space of H2 gives
an irregular QC-LDPC code, C2 (4032, 3264). Then, we apply
−4
10 the proposed QC-PMP algorithm to W2 . Consequently, we can
−5
obtain the optimized base matrix, W2 ′ , and the parity-check
matrix, H2 ′ . The null space of H2 ′ gives an irregular QC-
BER/FER

10 BER, C
2

PMP code, C2 ′ (4032, 3264). Performing the same steps with


FER, C2
−6
10 BER, C
3

−7
FER, C3 parameters (δ 2d = 4, δ ACE = 4) [40] for construction and the
10 BER, C2’ proposed QC-PMP for optimization, we can obtain one more
FER, C2’
10
−8
BER, C ’
irregular QC-LDPC code, C3 (4032, 3264), and its optimized
3
FER, C3’ version, C3 ′ (4032, 3264).
As shown in Fig. 7, the performance of C2 ′ based on C2
−9
10
2.8 3 3.2 3.4 3.6 3.8
Eb/N0(dB)
is improved greatly. It gains about 0.15 dB compared with
C2 at BER = 8 × 10−8 . At the beginning of the point,
Fig. 7. Error correction performance of the (4032, 3264) irregular QC-LDPC Eb /No =3.5dB, the slope of curve C2 begins to reduce signifi-
codes with rate 17/21. cantly. Hence, the error floor appears for code C2 . Meanwhile,
C3 ′ outperforms C3 in the range of BER < 4 × 10−8 .
contain those used in academia [36] [37] [40] and in industry In addition, with a different column weight distribution
[38]. λ(x) = 0.125x2 + 0.4167x3 + 0.4583x4 and the uniform row
Firstly, we validate the proposed algorithm on the regular weight of 20, a 4 × 24 base matrix with L = 96, W4 , can
QC-LDPC code. We can construct a 4 × 12 base matrix be generated [37]. Through mapping each entry of W4 to a
with L = 330, [W1 ]4×12 , of a CPM-QC LDPC code [36]. 96 × 96 submatrix, a 384 × 2304 parity-check matrix, H4 , can
Through mapping each entry of W1 to a 330 × 330 submatrix, be achieved. The null space of H4 gives an irregular QC-LDPC
a 1320 × 3960 parity-check matrix, H1 , can be obtained. code, C4 (2304, 1920), called the SQC-LDPC code (QC-LDPC
The null space of H1 gives a (3, 9)-regular CPM-QC LDPC code with single-weight circulants) [37]. The SQC-LDPC code
code, C1 (3960, 2640). Then, we apply the proposed QC- shows a lower error floor than the 802.16e standard code with
PMP algorithm to W1 , resulting in an optimized base matrix, the same basic code parameters as those in [37]. Thus, we
W1 ′ , and a parity-check matrix, H1 ′ . Consequently, the null apply the proposed QC-PMP algorithm to W4 . The optimized
space of the matrix, H1 ′ , gives a (3, 9)-regular QC-PMP code, base matrix, W4 ′ , and the parity-check matrix, H4 ′ , can be
C1 ′ (3960, 2640). formed. The null space of H4 ′ gives an irregular QC-PMP
From Fig. 6, we can see that the two codes behave the same code, C4 ′ (2304, 1920).
in the range of BER ≥ 2 × 10−6 . However, in the range of Fig. 8 shows the error correction performance of the irreg-
the BER < 2 × 10−6 , the QC-PMP code outperforms the ular QC-PMP, SQC-LDPC and 802.16e standard codes. It is
CPM-QC code, exhibiting a lower error floor. noted that the experimental result of the 802.16e standard code
With the column weight distribution λ(x) = 0.4052x3 + is extracted from [37]. From the curve of BER vs. Eb /N0 ,
0.3927x4 + 0.1466x7 + 0.0555x8 and the row weight distri- we can see that the QC-PMP code based on the SQC-LDPC
bution ξ(x) = 0.1667x22 + 0.8333x23 [40], a 12 × 63 base code gains about 0.1 dB compared with the SQC-LDPC code
matrix with L = 64, [W2 ]12×63 , can be obtained by using the at BER = 3 × 10−8 and about 0.2 dB compared with the

0090-6778 (c) 2017 IEEE. Personal use is permitted, but republication/redistribution requires IEEE permission. See http://www.ieee.org/publications_standards/publications/rights/index.html for more information.
This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI 10.1109/TCOMM.2017.2783624, IEEE
Transactions on Communications

11

−2
QC-PMP code, C6 ′ (1944, 1620). It is noted that the elements
10
BER, 802.11ad from column-(n − m + 1) to column-n of W5 and W6 are not
FER, 802.11ad
−3
10 BER, QC−PMP
adjusted during the optimization process, in order to maintain
FER, QC−PMP the block dual-diagonal (BDD) structure of the 802.11ad code.
−4
10 Figures 9 and 10 show the performance of QC-PMP code
(C5 ′ and C6 ′ ) vs. 802.11ad code (C5 and C6 ). From the
curves, we can see the QC-PMP code, C5 ′ , gains about 0.2 dB
−5
BER/FER

10

−6
compared with the 802.11ad code, C5 , at BER = 3 × 10−8 .
10
Finally, the QC-PMP code, C6 ′ , outperforms the 802.11ad
−7
10
code, C6 , in the range of the BER < 8 × 10−6 . At
BER = 1 × 10−8 , the optimized code, C6 ′ , gains about 0.15
−8
10 dB compared with its corresponding code, C6 .
Regardless of the 802.16e code or the 802.11ad code, the
−9
10
3 3.5 4 4.5 5 QC-PMP can optimize the cycles of parity-check matrix as a
Eb/N0(dB) whole. It makes the number of cycles become fewer and the
length of cycles larger by continuously reducing the CM of
Fig. 9. Error correction performance of the (648, 486) QC-PMP and 802.11ad
a parity-check matrix. The number and the length of cycles
codes with rate 3/4. within a Tanner graph have a better balance, making the
performance improved to certain degree in the error floor
10
−2
range. As shown in all of the above simulation results,
BER, 802.11ad
FER, 802.11ad reducing the metric, CM, leads to an exceptional effect of
−3
10 BER, QC−PMP
FER, QC−PMP significantly improving the error correction performance of
−4 the LDPC codes.
10
BER/FER

−5
10 VI. C ONCLUSION
10
−6 In this paper, we have proposed two optimization methods,
the PMPE algorithm for random codes and the QC-PMP
0.15 dB
10
−7
algorithm for QC-LDPC codes. The proposed algorithms can
decrease the number of short cycles in the Tanner graphs
−8
10
without changing the code parameters, such as the code length,
3 3.2 3.4 3.6 3.8 4 4.2 4.4 4.6 4.8
E /N (dB)
b 0
code rate and degree distribution after optimization. The
approximately nearest codewords (ANC) searching approach
shows that the optimized codes have fewer codewords of low
Fig. 10. Error correction performance of the (1944, 1620) QC-PMP and
802.11ad codes with rate 5/6. weights, compared with the original ones, which means that
the optimized codes have a lower probability to become the
other permissible codes than the original ones when large
802.16e code at BER = 2 × 10−7 .
noises occur over the channel. Experimental results show
Finally, we demonstrate the validity of the proposed algo-
that the PMPE algorithm can improve the error correction
rithm on the 802.11ad standard code [38]. With the column
performance of the MacKay codes with code rate around
weight distribution λ(x) = 0.2083x2 + 0.5x3 + 0.2917x6 and
0.5 and the PEG code with code rate around 0.9. For the
the row weight distribution ξ(x) = 0.3333x14 + 0.6667x15 ,
QC-LDPC codes, experimental results have shown that the
a 6 × 24 base matrix with L = 27, W5 , can be obtained.
performance of codes with different code rates and lengths,
Through mapping each entry of W5 to a 27 × 27 submatrix,
including the regular codes and irregular ones, are significantly
a 162 × 648 parity-check matrix, H5 , can be built. The null
improved with the proposed QC-PMP algorithm.
space of H5 gives an irregular 802.11ad code, C5 (648, 486).
Then, we apply the proposed QC-PMP algorithm to W5 ,
resulting in the optimized base matrix, W5 ′ , and the parity- VII. ACKNOWLEDGMENT
check matrix, H5 ′ . The null space of H5 ′ gives an irregular The authors wish to thank the editor, Enrico Paolini, and
QC-PMP code, C5 ′ (648, 486). Meanwhile, with the column the anonymous reviewers for their comments on this paper
weight distribution λ(x) = 0.125x2 + 0.4583x3 + 0.4167x4 which significantly improved the presentation and the quality
and the row weight distribution ξ(x) = 0.25x19 + 0.75x20 , of this work. In particular, the simulation example of the
we can obtain a 4 × 24 base matrix with L = 81, W6 . unstructured LDPC code optimized with different algorithms
Through mapping each entry of W6 to an 81×81 submatrix, a was added to the paper as a result of such comments. The
324×1944 parity-check matrix, H6 , can be achieved. The null authors are very thankful to the fellow researchers, Prof.
space of H6 gives an irregular 802.11ad code, C6 (1944, 1620). Vojin Senk, Dr. Dejan Vukobratovic, Prof. Bane Vasic and Dr.
Then, we apply the proposed QC-PMP algorithm to W6 , Milos Ivkovic, for their support in providing their algorithm
resulting in the optimized base matrix, W6 ′ , and the parity- details of constructing unstructured LDPC codes. Especially,
check matrix, H6 ′ . The null space of H6 ′ gives an irregular we wish to thank Dr. Dejan Vukobratovic for providing us

0090-6778 (c) 2017 IEEE. Personal use is permitted, but republication/redistribution requires IEEE permission. See http://www.ieee.org/publications_standards/publications/rights/index.html for more information.
This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI 10.1109/TCOMM.2017.2783624, IEEE
Transactions on Communications

12

their parity check matrices and explaining how to obtain the [20] R. Tanner, “A recursive approach to low complexity codes,” IEEE
excellent performance of the optimized algorithm. The above Transactions on Information Theory, vol. 27, no. 5, pp. 533–547, Sep.
1981.
mentioned researchers greatly speeded up the modification and [21] C. T. Healy and R. C. D. Lamare, “Decoder-optimised progressive edge
significantly improved our revised version of this work. growth algorithms for the design of LDPC codes with low error floors,”
IEEE Communications Letters, vol. 16, no. 6, pp. 889–892, June 2012.
[22] M. Karimi and A. H. Banihashemi, “Message-passing algorithms for
R EFERENCES counting short cycles in a graph,” IEEE Transactions on Communica-
tions, vol. 61, no. 2, pp. 485–495, Feb. 2013.
[1] R. Gallager, “Low-density parity-check codes,” IRE Transactions on [23] J. Li, S. Lin, and K. Abdel-Ghaffar, “Improved message-passing al-
Information Theory, vol. 8, no. 1, pp. 21–28, Jan. 1962. gorithm for counting short cycles in bipartite graphs,” in 2015 IEEE
[2] D. MacKay and R. Neal, “Near Shannon limit performance of low- International Symposium on Information Theory (ISIT), Hong Kong,
density parity-check codes,” IEEE Electronics Letters, vol. 32, no. 18, June 14–19, 2015, pp. 416–420.
pp. 1645–1646, Aug. 1996. [24] M. P. C. Fossorier, “Quasi-cyclic low-density parity-check codes from
[3] X. Liu, F. Xiong, Z. Zhou, Y. Yin, and L. Zhang, “Construction of QC- circulant permutation matrices,” IEEE Transactions on Information
LDPC cycle codes over GF(q) based on cycle entropy and applications Theory, vol. 50, no. 8, pp. 1788–1793, Aug. 2004.
on patterned media storage,” IEEE Transactions on Magnetics, vol. 51, [25] Z. Li and B. V. K. V. Kumar, “A class of good quasi-cyclic low-density
no. 11, pp. 1–5, Nov. 2015. parity check codes based on progressive edge growth graph,” in 2004
[4] J. Kim, D. h. Lee, and W. Sung, “Performance of rate 0.96 (68254, Asilomar Conference on Signals, Systems and Computers., vol. 2, Pacific
65536) EG-LDPC code for NAND flash memory error correction,” in Grove, California, USA, Nov. 7–10, 2004, pp. 1990–1994.
2012 IEEE International Conference on Communications (ICC), Ottawa, [26] X. Liu, W. Zhang, and Z. Fan, “Construction of quasi-cyclic LDPC
ON, Canada, Jun. 10-15, 2012, pp. 7029–7033. codes and the performance on the PR4-equalized MRC channel,” IEEE
[5] Y.-M. Lin, H.-T. Li, M.-H. Chung, and A.-Y. Wu, “Byte-reconfigurable Transactions on Magnetics, vol. 45, no. 10, pp. 3699–3702, Oct. 2009.
LDPC codes design with application to high-performance ECC of [27] K. M. Krishnan and P. Shankar, “Computing the stopping distance of
NAND flash memory systems,” IEEE Transactions on Circuits and a Tanner graph is NP-hard,” IEEE Transactions on Information Theory,
Systems I: Regular Papers, vol. 62, no. 7, pp. 1794–1804, Jul. 2015. vol. 53, no. 6, pp. 2278–2280, Jun. 2007.
[6] K. C. Ho, C. L. Chen, and H. C. Chang, “A 520k (18900, 17010) array [28] M. Karimi and A. H. Banihashemi, “Efficient algorithm for finding dom-
dispersion LDPC decoder architectures for NAND flash memory,” IEEE inant trapping sets of LDPC codes,” IEEE Transactions on Information
Transactions on Very Large Scale Integration (VLSI) Systems, vol. 24, Theory, vol. 58, no. 11, pp. 6942–6958, Nov. 2012.
no. 4, pp. 1293–1304, Apr. 2016. [29] D. J. C. MacKay, “Good error-correcting codes based on very sparse
[7] X. Hu, E. Eleftheriou, and D. Arnold, “Regular and irregular progressive matrices,” IEEE Transactions on Information Theory, vol. 45, no. 2, pp.
edge-growth Tanner graphs,” IEEE Transactions on Information Theory, 399–431, Mar. 1999.
vol. 51, no. 1, pp. 386–398, Jan. 2005. [30] D. MacKay, “David MacKay’s Gallager code resources,” Available: http:
[8] L. Zeng, L. Lan, Y. Tai, S. Song, S. Lin, and K. Abdel-Ghaffar, //www.inference.phy.cam.ac.uk/mackay/codes, Aug. 19, 2008, [Online].
“Constructions of nonbinary quasi-cyclic LDPC codes: A finite field [31] A. Venkiah, D. Declercq, and C. Poulliat, “Design of cages with a
approach,” IEEE Transactions on Communications, vol. 56, no. 4, pp. randomized progressive edge-growth algorithm,” IEEE Communications
545–554, Apr. 2008. Letters, vol. 12, no. 4, pp. 301–303, Apr. 2008.
[9] Q. Diao, Q. Huang, S. Lin, and K. Abdel-Ghaffar, “A matrix-theoretic [32] M. Diouf, D. Declercq, S. Ouya, and B. Vasic, “A PEG-like LDPC
approach for analyzing quasi-cyclic low-density parity-check codes,” code design avoiding short trapping sets,” in 2015 IEEE International
IEEE Transactions on Information Theory, vol. 58, no. 6, pp. 4030– Symposium on Information Theory (ISIT), Hong Kong, June 14–19,
4048, Jun. 2012. 2015, pp. 1079–1083.
[10] B. Zhou, J. Kang, Y. Y. Tai, S. Lin, and Z. Ding, “High performance [33] F. R. Kschischang, B. J. Frey, and H. A. Loeliger, “Factor graphs and
non-binary quasi-cyclic LDPC codes on Euclidean geometries,” IEEE the sum-product algorithm,” IEEE Transactions on Information Theory,
Transactions on Communications, vol. 57, no. 5, pp. 1298–1311, May vol. 47, no. 2, pp. 498–519, Feb. 2001.
2009. [34] X.-Y. Hu, M. P. C. Fossorier, and E. Eleftheriou, “On the computation
[11] M. Esmaeili and M. Gholami, “Geometrically-structured maximum-girth of the minimum distance of low-density parity-check codes,” in 2004
LDPC block and convolutional codes,” IEEE Journal on Selected Areas IEEE International Conference on Communications, Paris, France, June
in Communications, vol. 27, no. 6, pp. 831–845, Aug. 2009. 20–24, 2004, pp. 767–771.
[12] D. Divsalar, S. Dolinar, and C. Jones, “Low-rate LDPC codes with [35] L. Lan, L. Zeng, Y. Y. Tai, L. Chen, S. Lin, and K. Abdel-Ghaffar, “Con-
simple protograph structure,” in 2005 IEEE International Symposium struction of quasi-cyclic LDPC codes for AWGN and binary erasure
on Information Theory, Adelaide, SA, Australia, Sept. 4–9, 2005, pp. channels: A finite field approach,” IEEE Transactions on Information
1622–1626. Theory, vol. 53, no. 7, pp. 2429–2458, Jul. 2007.
[13] ——, “Construction of protograph LDPC codes with linear minimum [36] J. Li, K. Liu, S. Lin, and K. Abdel-Ghaffar, “Algebraic quasi-cyclic
distance,” in 2006 IEEE International Symposium on Information The- LDPC codes: Construction, low error-floor, large girth and a reduced-
ory, Seattle, WA, USA, July 6–12, 2006, pp. 664–668. complexity decoding scheme,” IEEE Transactions on Communications,
[14] X. He, L. Zhou, J. Du, and Z. Shi, “The multi-step PEG and ACE con- vol. 62, no. 8, pp. 2626–2637, Aug. 2014.
strained PEG algorithms can design the LDPC codes with better cycle- [37] X. Wu, M. Jiang, and C. Zhao, “Construction of high-rate QC-LDPC
connectivity,” in 2015 IEEE International Symposium on Information codes with multi-weight circulants,” in 2016 9th International Sym-
Theory (ISIT), Hong Kong, June 14–19, 2015, pp. 46–50. posium on Turbo Codes and Iterative Information Processing (ISTC),
[15] C. T. Healy and R. C. d. Lamare, “Design of LDPC codes based on mul- Brest, France, Sep. 5–9, 2016, pp. 21–25.
tipath EMD strategies for progressive edge growth,” IEEE Transactions [38] The 802.11 Working Group, “IEEE standard for information
on Communications, vol. 64, no. 8, pp. 3208–3219, Aug. 2016. technology–Telecommunications and information exchange between
[16] T. Tian, C. Jones, J. Villasenor, and R. Wesel, “Selective avoidance systems local and metropolitan area networks–Specific requirements -
of cycles in irregular LDPC code construction,” IEEE Transactions on Part 11: Wireless LAN medium access control (MAC) and physical layer
Communications, vol. 52, no. 8, pp. 1242–1247, Aug. 2004. (PHY) specifications,” IEEE Std 802.11-2016 (Revision of IEEE Std
[17] C. Di, D. Proietti, I. E. Telatar, T. J. Richardson, and R. L. Urbanke, 802.11-2012), IEEE-SA Standards Board, pp. 3293–3295, Dec. 2016.
“Finite-length analysis of low-density parity-check codes on the binary [39] D. Vukobratovic and V. Senk, “Evaluation and design of irregular LDPC
erasure channel,” IEEE Transactions on Information Theory, vol. 48, codes using ACE spectrum,” IEEE Transactions on Communications,
no. 6, pp. 1570–1579, Jun. 2002. vol. 57, no. 8, pp. 2272–2279, Aug. 2009.
[18] B. Vasić, S. K. Chilappagari, D. V. Nguyen, and S. K. Planjery, [40] G. Han, Y. L. Guan, and L. Kong, “Construction of irregular QC-LDPC
“Trapping set ontology,” in 2009 47th Annual Allerton Conference on codes via masking with ACE optimization,” IEEE Communications
Communication, Control, and Computing (Allerton), Monticello, IL, Letters, vol. 18, no. 2, pp. 348–351, Feb. 2014.
USA, Sept. 30–Oct. 2, 2009, pp. 1–7.
[19] D. Vukobratovic, A. Djurendic, and V. Senk, “ACE spectrum of LDPC
codes and generalized ACE design,” in 2007 IEEE International Con-
ference on Communications, Glasgow, Scotland, June 24–28, 2007, pp.
665–670.

0090-6778 (c) 2017 IEEE. Personal use is permitted, but republication/redistribution requires IEEE permission. See http://www.ieee.org/publications_standards/publications/rights/index.html for more information.
This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI 10.1109/TCOMM.2017.2783624, IEEE
Transactions on Communications

13

Xingcheng Liu (SM’12) was born in Anfu County, Shuo Liang was born in Yinchuan, Ningxia, China.
Jiangxi, China. He received the B.E. and M.E. He received the B.E. degree from Sichuan University
degrees in electrical engineering from Huazhong U- in 2012, and the M.E. degree from Sheffield Univer-
niversity of Science and Technology, Wuhan, China, sity in October 2014, both in electrical engineering.
and the Ph.D. degree from Sun Yat-sen University He is a PhD candidate in Sun Yat-sen Universi-
(SYSU), Guangzhou, China. ty, Guangzhou, China. His main research interests
He received the Royal Society KC Wong Fel- include channel coding theory and mobile commu-
lowship of the U.K. to do post-doctoral research at nications.
the University of Southampton, Southampton, U.K., Mr. Liang is a student member of the China
during May 2002 - May 2003. He was a visiting Institute of Electronics.
scientist at Oregon State University, Corvallis, USA,
from 2004 to 2005. He is a full professor with the School of Electronics and
Information Technology, SYSU. He is also currently affiliated with Xinhua
College of SYSU as a leader in the field of electrical engineering and
automation. His main research interests include channel coding theory and
applications, mobile communications, wireless sensor networks, and Internet
of Things. He has authored over 100 peer-reviewed papers in journals and
conferences. He is now the primary investigator of several projects on wireless
communications and networking.
Dr. Liu is a Senior Member of the IEEE and the China Institute of
Communications.

Feng Xiong was born in Tianmen City, Hubei,


China. He received the B.E. degree from Yangtze
University, Jinmen City, Hubei in 2014, and the
M.E. degree from Sun Yat-sen University (SYSU),
Guangzhou, Guangdong in June 2017, both in elec-
trical engineering.
He is currently an engineer with the FiberHome
Technologies Group, Wuhan, China. His main re-
search interests include channel coding theory and
applications and mobile communications.

Zhongfeng Wang received both B.E. and M.S.


degrees from Tsinghua University, Beijing, China.
He obtained the Ph.D. degree from the Department
of Electrical and Computer Engineering at the U-
niversity of Minnesota, Minneapolis in 2000. He
joined Nanjing University in 2016 as a Distinguished
Professor through the Stateaŕs
˛ 1000-Talent Plan after
serving Broadcom Corporation as a leading VLSI
architect for nearly nine years. Prior to that, he was
an Assistant Professor in the School of EECS at
Oregon State University, Corvallis. Even earlier, he
worked for National Semiconductor Corporation, Santa Clara, USA.
Dr. Wang is a world-recognized expert on VLSI for Signal Processing
Systems. He has published over one hundred and fifty technical papers,
edited one book (“VLSI”) and filed tens of U.S. patent applications and
disclosures. He was the recipient of the IEEE Circuits and Systems Society
VLSI Transactions Best Paper Award in 2007. During his tenure at Broadcom,
he has contributed significantly on 10Gbps and beyond high-speed networking
products. Additionally, he has made critical contributions in designing FEC
coding schemes for 100Gbps and 400Gbps Ethernet standards. So far, his
technical proposals have been adopted by many international networking
standards.
Since 2004 Dr. Wang has served as Associate Editor for the IEEE Trans.
on Circuits and Systems-I (TCAS-I), TCAS-II, and IEEE Trans. on VLSI
Systems for multiple terms. He is currently a Guest Editor for a special issue
of IEEE Journal on Emerging and Selected Topics in Circuits and Systems.
Furthermore, he has served as Technical Program Committee Member (or Co-
Chair), Session (or Track) Chair, and Review Committee Member for tens of
international conferences. In 2013, he served in the Best Paper Award selection
committee for the IEEE Circuits and System Society. His current research
interests are in the area of Digital Communications, Machine Learning, and
Efficient VLSI Implementation. He is a Fellow of IEEE since 2016.

0090-6778 (c) 2017 IEEE. Personal use is permitted, but republication/redistribution requires IEEE permission. See http://www.ieee.org/publications_standards/publications/rights/index.html for more information.

You might also like