ArticlePDF Available

Design of Binary LDPC Codes with Parallel Vector Message Passing

Authors:
  • Sun Yat-Sen University | Guangzhou Xinhua University

Abstract and Figures

Many studies were carried out for the construction of low density parity-check (LDPC) codes. They usually focused on introducing the construction methods for good LDPC codes instead of a general method for code optimization. This paper proposes a method with high versatility, called the parallel vector message passing-based edge exchange (PMPE), for optimizing a type of graph-based LDPC codes, without changing the code parameters of mother codes such as the code length, code rate and degree distribution.With the approximately nearest codewords (ANC) searching approach, we find the optimization method can increase the Hamming distance of the LDPC codes. For the quasi-cyclic (QC) LDPC codes, an optimization method, called the parallel vector message passing oriented-to the QC-LDPC codes (QC-PMP), is further suggested, with which the quasi-cyclic characteristics of QC-LDPC codes can remain unchanged in the optimization. To evaluate the performance of the parity-check matrix corresponding to a Tanner graph, a very simple metric, the Cycles Metric (CM), is introduced to work with the proposed PMPE and QC-PMP algorithms. The experimental results show that the performance of the LDPC codes optimized with the proposed PMPE can be improved significantly at low BER range compared to the mother codes of the random codes, including the regular MacKay code of rate 0:5 and the regular PEG code of rate 0:9. For the case of the regular and irregular QC-LDPC codes with different code lengths and code rates, the optimized LDPC codes with the proposed QC-PMP algorithm significantly outperform the mother codes.
Content may be subject to copyright.
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
1
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
of low density parity-check (LDPC) codes. They usually focused
on introducing the construction methods for good LDPC codes
instead of a general method for code optimization. This paper
proposes a method with high versatility, called the parallel vector
message passing-based edge exchange (PMPE), for optimizing a
type of graph-based LDPC codes, without changing the code
parameters of mother codes such as the code length, code rate
and degree distribution. With the approximately nearest codewords
(ANC) searching approach, we find the optimization method can
increase the Hamming distance of the LDPC codes. For the
quasi-cyclic (QC) LDPC codes, an optimization method, called
the parallel vector message passing oriented-to the QC-LDPC codes
(QC-PMP), is further suggested, with which the quasi-cyclic
characteristics of QC-LDPC codes can remain unchanged in the
optimization. To evaluate the performance of the parity-check
matrix corresponding to a Tanner graph, a very simple metric,
the Cycles Metric (CM), is introduced to work with the proposed
PMPE and QC-PMP algorithms. The experimental results show
that the performance of the LDPC codes optimized with the
proposed PMPE can be improved significantly at low BER range
compared to the mother codes of the random codes, including
the regular MacKay code of rate 0.5and the regular PEG code
of rate 0.9. For the case of the regular and irregular QC-LDPC
codes with different code lengths and code rates, the optimized
LDPC codes with the proposed QC-PMP algorithm significantly
outperform the mother codes.
Index Terms—Low density parity-check (LDPC) codes; quasi-
cyclic codes; optimization; parallel vector message passing; cycles
metric.
I. INT ROD UC TI ON
LOw density parity-check (LDPC) codes, first introduced
by Gallager in 1962 [1], and rediscovered by Mackay et
al. in 1996 [2], are currently ones of the most popular coding
techniques for error control in communication and storage
systems such as the DVB-S2, the IEEE 802.11 (Wi-Fi), the
IEEE 802.16e standard for WiMAX, and the patterned media
storage [3], due to their capacity-approaching performance
and practically implementable decoding algorithms. Numerous
studies have been focused on the construction, encoding,
decoding, and application of LDPC codes. Recently, long
LDPC codes were adopted for one of the standard channel
codes in the 5G mobile communications. The application of
The work was supported by the National Natural Science Foundation of
China (Grant Nos. 61572534 and 61602531).
Xingcheng Liu and Shuo Liang are with the School of Electronics and
Information Technology, Sun Yat-sen University, Guangzhou, 510006, China
(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-
iong was with the School of Electronics and Information Technology, Sun
Yat-sen University, Guangzhou, 510006. Now, he is with the FiberHome
Technologies Group, Wuhan, 430205, China. Zhongfeng Wang is with the
School of Electronic Science and Engineering, Nanjing University, Nanjing,
210023, China.
LDPC codes in high density storage systems such as NAND
flash memory aroused great interests in academia [4] [5] [6].
An LDPC code whose parity-check matrix has a constant
column weight γand a constant row weight ρis said to be
regular and called a (γ, ρ)-regular LDPC code. An LDPC code
whose parity-check matrix does not have a unique column
weight or row weight is called an irregular LDPC code [7]. The
overwhelming majority of the methods for constructing LDPC
codes can be divided into two types: the algebraic-based and
the graph-based methods, also known as the structured and the
random methods, respectively. Algebraic-based constructions
of LDPC codes are mainly developed based on the finite fields
[8] [9] and the finite geometries [10] [11]. The PEG (progres-
sive edge growth) [7] and the protograph-based methods [12]
[13] are among the most well-known graph-based construction
methods.
Generally, LDPC codes constructed with random methods
have good performance because they increase the girth of the
Tanner graph or avoid short cycles in constructing the Tanner
graph or the parity-check matrix as possible as they can.
Among them, the PEG algorithm is the most effective random
construction method. Many PEG-based algorithms [14] [15]
with extrinsic message degree (EMD) or approximate cycle
EMD (ACE) properties [16] are proposed to further enhance
the performance of the PEG-based LDPC codes. The EMD
and ACE properties emphasize that not only the length of
cycles, but also the vertex connectivity in Tanner graphs play
important roles in error-floor performance. Some short cycles
with good graph connectivity are allowed, while long cycles
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
trapping sets [18], which determine the error floors of LDPC
codes. Nevertheless, the construction algorithms of the PEG-
based codes and even all of the graph-based codes, are greedy
in maximizing the local girth of each symbol node, because
the Tanner graphs are constructed through establishing edges
or connections between variable nodes and check nodes in
an edge-by-edge manner. Each edge to be established is just
optimal to the subgraph in the current round of construction.
The edges established at early stages have many available
nodes while the edges to be established at later stages of code
construction have few ones, which results in a small local
girth for some symbol nodes, especially in the construction of
high-rate LDPC codes.
The ACE spectrum [19] is a useful tool for design and
evaluation of LDPC codes. It is a good metric to measure
the quality of a Tanner graph [20] as a whole. A generalized
ACE constrained design based on the ACE spectrum is shown
to be more flexible and efficient than the original proposal
http://ieeexplore.ieee.org/document/8207605/
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
2
[16]. However, by increasing the ACE spectrum components
(a dmax-tuple, and dmax is the depth of the ACE spectrum),
the generalized ACE constrained design [19] leads to computa-
tional complexity problems since finding appropriate value for
each entry of the dmax-tuple is an unsolvable task. To tackle
this problem, a method called decoder-optimized progressive
edge growh (DO-PEG) algorithm [21] has been put forward.
In this method, the edge placement is enhanced by use of
the Sum Product algorithm in the design of the parity-check
matrix. The main idea is comparing the performance of the
code under the current graph setting for each of the candidate
CNs with the maximum distance possible from the current
VN. Moreover, the application of the DO-PEG is limited to
be employed in optimizing the LDPC codes generated with
the PEG method. By contrast, the proposed PMPE can be
employed on a given code generated with methods not limited
to the PEG to get improved performance. In this paper, we
introduce a very simple metric called the Cycles Metric
(CM) to measure the performance of the parity-check matrix
corresponding to a Tanner graph. Furthermore, an efficient
method called parallel vector message passing (PMP) for
computing the CM of a Tanner graph is designed based on
the message passing algorithm (MPA) [22] [23]. On this basis,
a method called parallel vector message passing-based edge
exchange (PMPE) is proposed to optimize the global Tanner
graph. Although the algorithm in [22] may be recast in a form
equivalent to the proposed PMP and PMPE, the PMP and
PMPE both target at the optimization from the whole Tanner
graph, and can be employed for a given code to get improved
performance. Since the metric, CM, considers all the cycles-
2lin the Tanner graph as a whole, it gives a weight value to
each cycle-2lto measure the magnitude of the harm on the
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,
CM, intuitively improves the error correction performance of
the codes. The experimental evidence is also provided in the
numerical result section to support this claim. Accordingly,
the code construction is carried out for decreasing the CM of
a Tanner graph.
Compared to the random LDPC codes, the QC-LDPC
codes [24] have advantages in hardware implementations of
encoding and decoding. Encoding of a QC-LDPC code can
be efficiently implemented with simple shift registers. In hard-
ware implementation of a QC-LDPC decoder, the quasi-cyclic
structure of the code simplifies the wire routing for message
passing. Furthermore, well designed QC-LDPC codes perform
as well as any other types of random LDPC codes in the
waterfall region. All these advantages will inevitably make the
QC-LDPC codes become the mainstream of study on LDPC
codes. In this paper, we propose a method to optimize binary
QC-LDPC codes, whose parity-check matrices are composed
of arrays of zero matrices (ZMs) and circulant permutation
matrices (CPMs). In code optimization, we present a simple
and very flexible method for optimizing the base matrices
of QC-LDPC codes based on the finite fields [8] [9] or the
pseudo-random methods [25] [26]. The QC-LDPC codes can
be uniquely determined by their respective base matrices since
the codes constructed with these methods are just different in
the modes that the elements of base matrix are mapped into the
CPMs. The code optimization is performed through adjusting
the elements of a given base matrix without changing the basic
parameters of codes, such as the code lengths and the code
rates. The total CM of a parity-check matrix to which the
current base matrix is associated is computed with the PMP
algorithm after each adjustment. The principle of optimization
is to decrease the total CM until it can not go down further.
Experimental results show that the codes constructed with the
proposed method perform well and how low the error floor
occurs.
The rest of the paper is organized as follows. Section
II briefly introduces notations and preliminaries about the
graph-based method. Section III presents the CM to measure
the quality of a Tanner graph, and the PMP algorithm for
computing the CM more efficiently. In Section IV, a versatile
algorithm, called PMPE, is introduced for optimizing the
Tanner graphs constructed with the random construction of
LDPC code, and the proposed CM and PMP are further
employed in the optimization of QC-LDPC codes. Section
V presents the simulation results and gives analyses of the
proposed algorithms. Finally, Section VI concludes the paper
with comments.
II. NOTATI ON S AN D PRE LI MI NAR IE S
Denote nas the number of variable nodes (VNs), mas the
number of check nodes (CNs), Neas the number of edges,
vj,j= 0, 1, ..., n1as the j-th VN, ci,i= 0, 1, ..., m1
as the i-th CN, dvjas the degree of variable node vj,Ej,i as
the edge connecting vjwith ci, and cycle-tas the cycle with
length tin a Tanner graph.
A. Basic Definitions
In the construction of LDPC codes, many considerations
such as ACE property [16] [19], EMD property [15], and
trapping set [18] have been taken into account in measuring
the quality of a Tanner graph. Some basic definitions related
to LDPC code construction are provided as follows.
Definition 1: Let Vbe a set of VNs, and Γ(V)be the set
of adjacent CNs of V. A subgraph induced by Vis the graph
containing nodes in VΓ(V)and the edges between Vand
Γ(V).
Definition 2: Astopping set (SS) is a set of VNs to which
every adjacent CN of this set is connected at least twice [17].
It is worth noting that the empty set is a stopping set, and the
stopping set connected to only one CN does not form a cycle.
If the degree of each VN is at least 2in a subgraph induced
by a stopping set, the subgraph always contains cycles. Large
stopping sets can be recursively derived by small ones, and
there is no efficient algorithm for explicitly identifying and
removing them [27].
Definition 3: Atrapping set (TS) [18] is a non-empty set
of VNs in a Tanner graph with parameters aand b, where a
is the number of VNs in this set and bis the number of CNs
with odd degrees in the subgraph induced by the aVNs and
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
3
Fig. 1. A subgraph with cycles.
A TS is said to be elementary if all check nodes connected
to this TS have degree 1and/or 2. If the degree of each VN is
at least 2in a subgraph induced by a trapping set, the subgraph
always contains cycles. It is known that finding all trapping
sets in a Tanner graph is also an NP-hard problem [28].
Definition 4: The extrinsic message degree (EMD) of a cycle
in an LDPC code Tanner graph is the number of check nodes
connected only once to the set of variable nodes in this cycle
[19].
If a cycle in the Tanner graph of an LDPC code has a low
EMD, its corresponding connectivity with the rest of the graph
vertices is poor, which results in the phenomenon that the set
of variable nodes in this cycle receives a limited number of
extrinsic messages from the rest of the graph. In the general
case of the SS and TS, the EMD of an SS is zero while the
EMD of an elementary TS (a, b)is b.
Definition 5: The approximated cycle EMD (ACE) of a
cycle is the sum of components, which are the degree of each
variable node within the cycle minus two [19].
It is hard to find the EMDs of all short cycles since it takes
additional steps to identify whether an edge is extrinsic or not
for a cycle. The ACE metric is a simplified version of the
EMD. For their taken values, the EMD of a cycle is less than
or equal to the ACE of it.
Example 1: As is shown in Fig. 1, {v0,c0,v1,c2} is a cycle
with length = 4, its EMD = 1 since only c1connects the VN
set once, and its ACE = 1 since (dv02) + (dv12) = 1.
{v0,c1,v2,c2} is a cycle with length = 4, its EMD =ACE
= 3 after similar computations. {v0,c0,v1,c2,v2,c1} is a
cycle with length = 6, EMD = 2 and ACE = 3.v2,c3,v3,
c4is a cycle with length = 4, its EMD =ACE = 2. {v0,v1,
v2,v3} is an SS related to these cycles. In Fig. 1, a TS (3,3)
is formed since there are 3VNs and 3CNs with odd degrees,
i.e., dc2= 3 and dc3=dc4= 1, in the subgraph induced by
{v0,v1,v2}.
The performance of LDPC codes with iterative decoding
algorithms is closely related to the ACE and EMD of cycles
or the number of small SS and TS involved in cycles. Thus,
the problem of error floors actually depends on the cycles.
B. MacKay and PEG-based LDPC Codes
MacKay introduced four methods for the construction of
LDPC codes [29] [30], which are called Constructions 1A,
2A, 1B and 2B, respectively. The codes generated with these
methods are collectively known as the MacKay codes. In
the parity-check matrix designed with Constructions 1A or
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
that the cycle-4and cycle-6in 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
the cycles of the whole Tanner graph corresponding to the
matrix into consideration. Consequently, the performance of
the MacKay code can be improved by further optimizing
the cycle structure. Later in this paper, we introduce our
optimization method and apply it to the MacKay code. The
improvement of error-correcting performance is demonstrated.
The progressive edge growth (PEG) algorithm is also one
of the most promising graph-based methods for constructing
LDPC codes. The original PEG algorithm [7] constructs
Tanner graphs by progressively establishing edges between
VNs and CNs. Only one edge is put during each step in order
to achieve the largest local girth or form as few short cycles
as possible in the current subgraph. The variants of the PEG-
based algorithms [31] [14] [32] are all similar to some extent.
They do some modifications or add some constraints, such
as applying the ACE [16] property in each step to achieve
better cycle-connectivity. The PEG-based method only makes
the optimization in establishing edges among the current VNs.
Because of its greediness, the VNs to be treated later in
code construction are hard to achieve a large local girth than
the former ones. In addition, the established edges of the
later VNs may decrease the local girths of the former VNs.
Especially, in the situation of high code-rate, the number
of available CNs is limited at each step, resulting in the
consequence that each edge to be established will be involved
in many cycles. Although the PEG-based codes may achieve
better performance than the original PEG code, the code-rates
of them are all around 0.5. To overcome the difficulty, we
proposed an optimization method that is devised based on the
established Tanner graph of an original PEG code, focusing
on the situation of high code-rate up to 0.9. The experimental
results will demonstrate the validity of the proposed method.
III. PAR AL LE L VEC TO R MES SAG E PASSING AND CYC LE S
MET RI C
The ACE spectrum [19] and the EMD spectrum [15] can be
used to evaluate the quality of a Tanner graph corresponding
to a parity-check matrix for an LDPC code. But both of them
need to know the specific VNs involved in each cycle. More-
over, the EMD spectrum needs to know the specific extrinsic
CNs of each cycle. To tackle this computational problem, we
introduce a very simple metric called the Cycles Metric (CM),
which only needs to compute the number of cycles, but without
computing the specific nodes involved in them. Furthermore,
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
4
(PMP) for computing the number of short cycles in a Tanner
graph is designed based on the message passing algorithm
(MPA) [22] [23]. In this section, we first give an introduction
to the PMP, then to the CM.
A. Parallel Vector Message Passing
The message passing algorithm (MPA) [22] [23] is a rep-
resentative for counting the number of short cycles. Just like
the sum-product algorithm (SPA) [33] in LDPC decoding, the
message that a CN cpasses to a VN vequals the product of
the messages that ccollects from all the VNs connected to the
CN cexcept the VN v.
The MPA is also an iterative method with three procedures,
initialization, iterative message passing, and stopping. After
several iterations, the original MPA [22] can count the number
of cycles with length 2l(2 l(g1)), where lis the
number of iterations and gis the girth of the Tanner graph. The
improvement [23] to MPA can count the number of cycles with
length greater than (2g2). Both of them are implemented
sequentially, i.e., calculating short cycles of all the nodes in
a Tanner graph one by one. At the beginning, MPA uses an
integer to initialize the edge’s message in order to distinguish
different initial messages corresponding to different edges.
During iterative message passing, the product of integers from
different edges is used to update the edges’ messages. In the
calculation of iterative message passing procedure, the division
operations are performed to find the number of different
integers corresponding to the initial messages of different
edges.
In the following sections, we need to compute the Cycles
Metric of each edge or node in a Tanner graph with MPA
efficiently. Thus the parallel vector message passing (PMP)
is devised with some modifications to MPA [22]. In the
initialization procedure, we set the initial message of each
edge to a unique vector Xk(J, I)based on the Tanner graph.
Xk(J, I)can be represented by the index row vector [J I],
which denotes the k-th edge EJ,I in the Tanner graph with
the J-th variable node vJconnected with the I-th check node,
cI. The indices fall in the range of [0, n 1] for J,[0, m 1]
for I, and [0, Ne1] for k. In the iterative message passing
procedure, we just record the number of different vectors when
updating the edge messages from CNs to VNs (C2V) or from
VNs to CNs (V2C). Then we compute the number of cycles
involving each edge according to this edge’s last C2V message
in the stopping procedure. For the sake of clarity, the notations
in the proposed PMP algorithm are shown in TABLE I. The
detailed procedures of the PMP are described as follows.
1) Initialization:
Initialize all vector messages from all the edges of a
Tanner graph. For example, Xk(J, I) = [J I ]represents
the initial vector message to which EJ,I is associated.
That is, there is a one-to-one mapping between Xk(J, I),
[J I], and EJ,I. It is clear that there are Neinitial
vectors. Then, the initial message from vjto cican be
initialized as follows:
mvjci=Xk(j, i)1=Xk(J, I)1= [J I ]1,(1)
where, j=Jand i=Iat the present stage and
Xk(J, I)1shows that the initial V2C message of Ej,i
contains only 1vector Xk(J, I)and no other ones.
2) Iterative Message Passing:
a) Update all the messages from CNs to VNs (C2V)
by computing
mcivj={Xk(J, I)Ncivj
k|k[0, Ne1]},(2)
where, mcivjrepresents the message from check
node cito variable node vj.mcivjis a set that
consists of Nevectors with different counts since
vjmay receive any one of the Neinitial vectors
during the iterative message passing procedure.
The number of Xk(J, I)in mcivj, i.e., Ncivj
k,
equals the sum of the counts of Xk(J, I)from all
the variable nodes in V(ci)\vjto ci. We can get
Ncivj
kby computing
Ncivj
k=
vjV(ci)\vj
Nvjci
k,(3)
where, Nvjci
kdenotes the number of Xk(J, I)
in mvjci.
b) Update all the messages from VNs to CNs (V2C)
by computing
mvjci={Xk(J, I)Nvjci
k|k[0, Ne1]},(4)
where, the computational principle of mvjciis
the same as that of mcivj, and Nvjci
kcan be
computed by
Nvjci
k=
ciC(vj)\ci
Ncivj
k.(5)
c) Calculate the number of cycles-2linvolving edge
Ej,i by
Nj,i
2l=
ciC(vj)\ci
Ncivj
k,(6)
where, lis the current number of iterations. If
two edges, Ej,i1and Ej,i2, are involved in one
(or more) cycle(s)-2l, the initial vector message
of edge Ej,i1, i.e., Xk(j, i1), will appear in the
C2V message of edge Ej,i2, i.e., mci2vj, after
literations of message passing. The number of
times that Xk(j, i1)appears in Ej,i2equals the
number of cycles-2lwhich Ej,i1and Ej,i2are
both involved in. It is noted that the girth of the
Tanner graph, g, is obtained when Nj,i
2ldoes not
equal 0for the first time. If only we continuously
increase the number of iterations, the girth gcan
be computed by g= 2l, where lis the minimum
number of iterations that holds Nj,i
2l̸= 0.
3) Stopping Procedure:
If the algorithm runs till the specified number of itera-
tions, it ends, else it goes back to Step 2) and continues
the message passing.
The PMP algorithm has a computational complexity O(Ne)
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
5
Tanner graph as an example. In the iterative message passing
procedure, each node , say vj, has a computation complexity
O((dvj1)Ne)when updating the C2V message. Therefore,
if the number of check nodes in this Tanner graph is n, the av-
erage computation complexity of Step 2a) is O(n(dvj1)Ne),
i.e., O(Ne2). By the same token, the computation complexity
for Step 2b) is O(Ne2). In the meantime, Step 2c) has a com-
putation complexity O(dvj1). According to the above, the
total computation complexity of PMP algorithm is O(lNe2)
with literations, which is equivalent to the complexity of
MPA. However, the PMP is easy to be implemented in parallel
with a little cost in memory requirements. It is easy to see that
the same computation complexity also applies to the irregular
Tanner graph. With the PMP algorithm, we can efficiently
obtain the number of short cycles in the Tanner graph, which
is beneficial to computing Cycles Metric of a Tanner graph.
B. Cycles Metric
The SPA assumes that all nodes are independent in the
decoding of LDPC codes of finite lengths. However, the cycles
in a Tanner graph contradict with this assumption. Short cycles
are considered to be harmful to the decoding performance of
LDPC codes. Therefore, the PEG-based algorithms all focus
on maximizing the local girth or reducing the number of short
cycles in each stage of edge establishment. Some of them add
the ACE constraint to increase the connectivity of cycles with
the rest of a Tanner graph while some short cycles with a good
graph connectivity are allowed. However, all of these algo-
rithms just take the local optimum into consideration, where,
the selected CN is just optimal to the current subgraph. The
result is that the previously established edges will influence
the available CNs in the subsequent construction and selection
procedures. Thus, the finally established Tanner graph is not
necessarily optimal when taking it as a whole. To cope with
this problem, we propose a new metric to evaluate the code
parameters that affect the overall performance of a Tanner
graph as follows.
Definition 6: The cycles with length 2l(2 lg1) that
contains Ej,i can be quantified as a whole by a parameter,
which is called the Cycles Metric (CM). The CM of Ej,i can
be computed by
Mvj,ci=
g1
l=2
βl2·Nj,i
2l,(7)
where, Nj,i
2lis the number of cycles-2linvolving edge Ej,i
and it can be computed by (6) in the PMP algorithm. gis
the girth of a Tanner graph and also can be obtained with
the PMP algorithm. It is noted that we only take cycles with
length from 4to 2g2into consideration. β(0 < β < 1) is
a constant and βl2represents the weight of influence that a
cycle with length 2lhas to the overall Tanner graph. Then the
CM of vjequals the sum of the CMs of its adjacent edges,
computed by
Mvj=
ciC(vj)
Mvj,ci.(8)
Finally, the total CM of a Tanner graph (or a check-parity
matrix) can be calculated by
MT=
n1
j=0
Mvj.(9)
Example 2: The shortest cycles are the most harmful to the
decoding performance of an LDPC code. Hence, a weight val-
ue is simply given to each cycle-2lto measure the magnitude
of this harm. The weight of influence for a cycle-2lon the
decoding performance is set to be βl2. Based on this weight
set, the weight of influence for a cycle of cycle-4will be 1,
the one for a cycle of cycle-6will be 0.1if βis set to 0.1, and
that one for a cycle of cycle-8will be 0.01. Accordingly, it is
easily understood that 10 cycles of cycle-6are as equivalently
harmful as 1cycle of cycle-4to the decoding performance,
and that 10 cycles of cycle-8are also as harmful as 1cycle
of cycle-6.
The number of edges in the Tanner graph is constant for the
proposed algorithm. Hence, when the number of cycles with
length 2ldecreases, the number of cycles with other lengths
may increase. Then, all the cycles of cycle-2lin the Tanner
graph are considered as a whole and measured with MT. The
MTtakes the number of cycles and their lengths into account
in order to find a balance between the cycles and lengths.
That is, the performance of LDPC codes is evaluated using
the MT. A smaller value of MTmeans that the number of
cycles is fewer and/or their lengths are longer on the entire
Tanner graph.
IV. OPT IM IZ ATION OF LDPC CODES
In this section, two optimization algorithms for construction
of LDPC codes, the PMPE for random LDPC codes and the
QC-PMP for quasi-cyclic LDPC codes, are proposed based
on the parallel vector message passing (PMP). In view of
the global optimization, the two proposed algorithms aim to
minimize MT. For ease of exposition, the PMPE and the
QC-PMP are to be introduced in two subsections. Moreover,
to provide proofs for the improvement of the optimization
method on LDPC codes, the distributions of codewords with
low Hamming weights are estimated with the bit-reversing
method [34].
A. Parallel Vector Message Passing-Based Edge Exchange
The MacKay codes and PEG codes establish a Tanner graph
getting trapped in the local optimum. To solve or alleviate the
problem, we can try to rearrange some of the established edges
in the whole graph. That is, we can change some edges to
make MTas small as possible. Here we give some definitions
related to edges and nodes as follows.
Definition 7: An edge exchange is said to appear in a
Tanner graph if two edges in the Tanner graph exchange their
connected CNs.
Definition 8: In a Tanner graph, a direct connection between
two edges exists when the edges connect a common VN or
CN, while an indirect connection between two edges occurs if
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
6
TABLE I
NOTATIO NS EM PL OYED I N PMP
Xk(J, I)the vector message corresponding to edge EJ,I (there are Nevectors)
Xk(J, I)bthe number of vector Xk(J, I)is b
mvjcithe message from vjto ci(it is a set that contains Nevectors with different counts)
mcivjthe message from cito vj(it is a set that contains Nevectors with different counts)
Nvjci
kthe number of vector Xk(J, I)in mvjci
Ncivj
kthe number of vector Xk(J, I)in mcivj
C(vj)the set of CNs connected with vj
V(ci)the set of VNs connected with ci
C(vj)\cithe set of CNs connected with vjexcept ci
V(ci)\vjthe set of VNs connected with ciexcept vj
Algorithm 1 Computation of MTwith the PMP
1: for k0to (Ne1) 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: // lis the current number of iterations, and gis the girth
of Tanner graph and temporarily set to +
6: Initialize l0,g+;
7: // the maximum number of iterations is g1
8: while l(g1) do
9: Perform iterative message passing once, l(l+ 1);
10: //compute the number of cycles-2lfor each edge
11: for k0to (Ne1) do
12: Compute Nj,i
2lwith Eq.(6);
13: // obtain the actual girth
14: if g= +and Nj,i
2l>0then
15: g2l;
16: end if
17: end for
18: end while
19: //compute the number of cycles for each edge
20: for k0to (Ne1) do
21: Compute Mvj,ciwith Eq.(7);
22: end for
23: //compute the number of cycles for each variable node
24: for j0to (n1) do
25: Compute Mvjwith Eq.(8);
26: end for
27: Compute MTwith Eq.(9);
28: End;
edge connected directly to both of them. If two edges are
directly connected or indirectly connected, we call them
an unexchangeable edges pair (UEP).
Example 3: A Tanner subgraph is shown in Fig. 2. There
are 3edges represented in bold lines, i.e., E0,0,E1,0and
E1,1. Obviously, E0,0and E1,0are directly connected with
a common CN c0, while E1,0and E1,1are also directly
connected with a common VN v1. For E0,0and E1,1, there
exists an edge E1,0that is connected directly to both of them,
so they are indirectly connected. Thus, the three edge pairs,
(E0,0, E1,0),(E1,0, E1,1)and (E0,0, E1,1), are all UEPs.
It is noted that an edge exchange between two directly con-
nected edges will not change the structure of a Tanner graph,
while an edge exchange between two indirectly connected
Fig. 2. Tanner graph
edges will decrease the number of edges in a Tanner graph.
The above two situations are not desired in code construction.
Definition 9: In a Tanner graph, if two edges do not form a
UEP, and an edge exchange between them does not decrease
the MT, we call them an invalid edge pair (IEP).
A Tanner graph with a smaller MTis intuitively expected
to have a better error correction performance. Hence, an
edge exchange without decreasing the MTis also not desired.
An edge exchange between two edges that do not form
a UEP never changes the original degree distribution of the
Tanner graph, but may have an effect on the cycles in which
the two edges are involved. Since it is impossible that the
degrees of VNs all equal 1in the Tanner graph corresponding
to a practical LDPC code , the cycles existed in the Tanner
graph can not be eliminated completely. Moreover, an edge is
definitely not involved in one cycle. A slight change after an
edge exchange may affect the cycles as a whole. Therefore,
MTis employed to measure the performance of the Tanner
graph. With the PMP algorithm, we can compute MTfast.
After an edge exchange, the performance of a Tanner graph is
improved as a whole if MTis decreased.
To move forward, we firstly compute the CM of each VN
and MTwith Algorithm 1. Then, two sets Sand Sare
initialized respectively. For each VN, we select the edge with
largest CM from the edges connected to this VN. There will
be nselected edges and we put them into S. And Sis used
to keep UEPs and IEPs and is temporarily set to an empty set
at the beginning. We randomly select two edges, say Ej1,i1
and Ej2,i2, from Saccording to the rule that (Ej1,i1, Ej2,i2)
is not in S. Then we determine whether they form a new UEP
according to Definition 8. If so, we put this UEP into Sand re-
select another two edges different from the former. Otherwise,
we try to make an edge exchange on them and compute MT
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
7
they form an IEP based on Definition 9. If not, a successful
edge exchange is performed, so we accept this edge exchange
and remove Ej1,i1and Ej2,i2from S. Otherwise, we undo
this edge exchange and put the IEP into S. Especially, in the
selection of two edges, if an edge forms a UEP or IEP with
every one of other edges in S, it should be removed directly
from S. We keep the above procedure until Sbecomes an
empty set. At that time, a round of edge exchanges (multiple
edge exchanges) is completed and a new Tanner graph is
established with several edges changed. Then, we re-initialize
the sets Sand Sfrom the new Tanner graph and begin the
next round of edge exchanges as before. Finally, if no more
edge exchange is accepted at the current round, it suggests
that MTwill not be changed, indicating the termination of
the algorithm.
The algorithm is performed with edge exchange procedures
for optimization of random LDPC codes, which is illustrated
in Algorithm 2. We call it the parallel vector message passing-
based edge exchange, in short, PMPE, where Skand S
k
represent the sets at the k-th round.
To compare the performance of the MacKay codes and the
optimized ones, the Hamming weight distribution is chosen
and shown in Table II for the LDPC codes of rate 0.5, where
we denote was the Hamming weight of the searched code-
words and Nwas the number of codewords with weight w. It
should be noted that the values in Table II are estimates. From
the table, we can see that the MacKay codes optimized with
PMPE have a larger Hamming distance among codewords or
fewer codewords with low weights than the original MacKay
codes. This just explains the validity of the proposed PMPE
algorithm.
B. Parallel Vector Message Passing Oriented-to the QC-
LDPC Codes
There are two general categories for the construction of
QC-LDPC codes, the algebraic constructions such as those
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
matrix, W, called the base matrix with the form
W=
w0,0w0,1· · · w0,C1
w1,0w1,1· · · w1,C1
.
.
..
.
.....
.
.
wR1,0wR1,1· · · wR1,C1
,
where, each entry is represented by wr,c (0 rR1,
0cC1). By replacing each entry wr,c of Wwith an
L×Lmatrix A(wr,c), we obtain an R×Carray
H=
A(w0,0)A(w0,1)· · · A(w0,C1)
A(w1,0)A(w1,1)· · · A(w1,C1)
.
.
..
.
.....
.
.
A(wR1,0)A(wR1,1)· · · A(wR1,C1)
.
For the algebraic construction based on the finite fields [35]
[36], wr,c is an element taken over GF(q). A(wr,c ) is an L×
Lzero matrix (ZM) if wr,c = 0; otherwise, it is an L×L
circulant permutation matrix (CPM), where, L=q1and
Algorithm 2 PMPE
1: Construct an LDPC code with a random method and
configure the Tanner graph;
2: // kis the number of rounds for edge exchange
3: Initialize k0;
4: Compute MTwith Algorithm 1;
5: // tis the time of accepted edge exchanges at the current
round
6: Initialize Skand S
k,t0;
7: while Sk̸=do
8: // denote Ej1,i1and Ej2,i2as the current selected two
edges
9: Randomly select two edges from Skthat satisfy
(Ej1,i1, Ej2,i2)/S
k;
10: if (Ej1,i1, Ej2,i2)is a UEP then
11: Put (Ej1,i1, Ej2,i2)into S
k, goto Line 9;
12: end if
13: Try an edge exchange between Ej1,i1and Ej2,i2;
14: // denote MTtmp as the CM of Tanner graph after an
edge exchange
15: if MTtmp <MTthen
16: Accept this edge exchange, remove Ej1,i1and Ej2,i2
form Sk;
17: MTMTtmp,t(t+ 1);
18: else
19: Undo this edge exchange, put (Ej1,i1, Ej2,i2)into S
k;
20: end if
21: Remove the edge from Skthat forms a UEP or IEP
with every one of the other edges in Sk;
22: end while
23: // t= 0 shows that MTis unchanged at the current round
of edge exchanges
24: if t= 0 then
25: Exit;
26: else
27: k(k+ 1), go to Line 6;
28: end if
1wr,c L. Let αbe a primitive element of GF(q). Then,
each nonzero wr,c can be denoted with the exponential form
of α, i.e., α0=αq1= 1,α1,α2,. . .,αq2. The power of α
represents the position of "1" at the top row of A(wr,c). For
the pseudo-random construction [26] [38], A(wr,c) is an L×L
ZM if wr,c is "-" or a negative value (e.g., 1); otherwise, it
is an L×LCPM, where, wr,c represents the position of "1" at
the top row of A(wr,c), and 0wr,c L1. That is, there is
a one-to-one mapping between wr,c and a ZM (or CPM) for
both of the two forms of base matrix. It is noted that qshould
be a prime or a power of a prime, so the size of submatrix,
L=q1, with algebraic construction is limited, while Lcan
be arbitrary in the pseudo-random construction.
With such dispersion of Wto H, the null space of Hgives a
QC-LDPC code of length CL. Based on the special structure
of the QC-LDPC codes, a simple method like the PMPE for
random codes is proposed to change the graph of the QC-
LDPC codes. For the convenience of discussion, A(wr,c ) is an
L×LZM 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
8
TABLE II
HAM MIN G WE IGH T DI STR IBU TI ON (ES TI MATED VAL UE S)OF T HE MAC KAY AND PMPE C OD ES
w6 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×LCPM, where, wr,c represents the position of
"1" at the top row of A(wr,c), the index of the position begins
from 1, and 1wr,c L.
We still measure the performance of QC-LDPC code with
the total CM of the Tanner graph (or parity-check matrix).
Here we denote Hbqc (i.e., H, previously) of dimension m×n,
as the final binary matrix of QC-LDPC code, and Hnb (i.e.,
W), as the base matrix of Hbqc. If Hnb is provided, Hbqc can
be obtained by the dispersion of Hnb in order not to destroy the
quasi-cyclic characteristic. The method of constructing Hnb is
divided into two steps, the base matrix construction (BMC)
and the element adjustment with message passing (MPEA).
As the name suggests, the BMC procedure is to construct
a base matrix, [Hnb]R×C, whose elements are "1" or "0"
with a random method, such as the PEG algorithm and the
proposed PMPE algorithm for optimization. The principle is
still to minimize MTof the Tanner graph for Hnb . Then,
we replace all the "1"’s in Hnb with nonzero elements taken
values between 1to Lrandomly. Through the BMC procedure,
we obtain an Hnb whose elements are between 0and L. It
is noted that the BMC procedure is alternative. That is, we
can start our algorithm directly from an existed base matrix
(mother code) Hnb with any other methods. This suggests
our method be highly versatile. We denote MT(Hbqc )as the
MTof the Tanner graph for Hbqc corresponding to Hnb . The
purpose of the MPEA procedure is to adjust the elements of
the Hnb between 1and Lin order to decrease the MT(Hbqc).
It should be noted that we do not adjust a nonzero element
wr,c to zero in order not to change the degree distribution
of the mother code. The algorithm is shown in Algorithm 3
for the details performing the the core MPEA procedure. It
begins from the parity-check matrix, Hbqc, from the existing
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.
For the case of QC-LDPC codes, we compute the weight
distributions for two 802.11ad standard codes [38] and their
optimized versions with the QC-PMP algorithm. We use
the same computational method as stated in the previous
subsection. The Hamming weight distributions of these codes
are shown in Table III. We can see that the optimized codes
have less number of low weight codewords than the original
IEEE802.11ad ones. In other words, the proposed LDPC codes
optimized with QC-PMP are supposed to bring fewer errors
with large noises.
Algorithm 3 QC-PMP
1: Initialize the Hbqc and the corresponding Hnb;
2: Compute the initial MT(Hbqc)with Algorithm 1, denoted
with Minit;
3: for r0to (R1) do
4: for c0to (C1) do
5: if wr,c ̸= 0 then
6: for k= 1 to Ldo
7: wr,c (wr,c + 1) mod (L+ 1); // adjust wr,c
between 1and L
8: if wr,c = 0 then
9: wr,c 1; // skip "0" in order not to change
the predefined degree distribution
10: end if
11: Obtain new Hbqc and compute MT(Hbqc)de-
noted with Mtmp;
12: if Mtmp <MT(Hbqc)then
13: MT(Hbqc)Mtmp ;
14: else
15: if wr,c = 1 then
16: wr,c 1;
17: else
18: wr,c (wr,c 1) mod (L+ 1);
19: end if
20: end if
21: end for
22: end if
23: end for
24: end for
25: if MT(Hbqc) = Minit then
26: Exit;
27: else
28: Goto Line 2;
29: end if
V. SIMULATIO N RES ULTS
In this section, we investigate the performance of the
proposed PMPE and QC-PMP algorithms through simulations.
Random and QC-LDPC codes with different code parameters
are employed to evaluate the validity of the proposed algo-
rithm. In simulations, the value of βis investigated for LDPC
codes of different lengths and code rates over the AWGN
channel. It is found that the decoding performance of the
LDPC codes is optimal when the value of βis taken at 0.01.
Therefore, the βin Eq. (7) is set to 0.01 in the following sim-
ulations. The error correction performance is simulated with
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
9
TABLE III
HAMMING WEIGHT DISTRIBUTION (EST IM ATED VALU ES )OF TH E 802.11AD A ND QC-PMP CODES
w8 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 3 4 5 6 7
10−8
10−7
10−6
10−5
10−4
10−3
10−2
Eb/N0(dB)
BER
MacKay (408,204)
PMPE (408,204)
MacKay (204,102)
PMPE (204,102)
MacKay (96,48)
PMPE (96,48)
Fig. 3. Error correction performance of the PMPE optimized codes and the
MacKay codes.
BPSK modulation. The maximum number of iterations for the
two long codes, (3960,2640) and (4032,3264), is set to 20
while the maximum for the other codes is set to 50.
A. Performance of PMPE Codes
In this subsection, we optimize some relatively short random
codes to show the validity of the PMPE algorithm. Focusing
on the code rate of 0.5, we simulate three (3,6)-regular
MacKay codes [30], (96,48),(204,102) and (408,204), and
the optimized codes with the proposed PMPE algorithm.
As is shown in Fig. 3, the three MacKay codes optimized
with the PMPE algorithm all outperform the original ones to
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
algorithm and then optimized with the PMPE algorithm. They
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
most common column weights of regular LDPC codes.
As is shown in Fig. 4, the two codes optimized with the
PMPE algorithm both outperform the counterparts constructed
with the PEG algorithm. For code (500,451), the code opti-
mized with PMPE gains about 0.25 dB compared with the
PEG code at BER = 9×106. For code (440,396), the code
generated from the PMPE outperforms that from the PEG by
about 0.5dB at BER = 1 ×107.
In addition, the PMPE code is compared with the OptPEG
code [39], which optimizes the ACE property of the designed
code graph. The latter code is generated based on the original
PEG algorithm.
4 4.5 5 5.5 6 6.5 7 7.5
10−8
10−7
10−6
10−5
10−4
10−3
10−2
10−1
Fig. 4. Error correction performance of the (440,396) and (500,451) PMPE
codes and PEG codes.
5 5.2 5.4 5.6 5.8 6 6.2 6.4 6.6 6.8
10−8
10−7
10−6
10−5
10−4
10−3
10−2
Eb/N0(dB)
BER/FER
BER, PEG
BER, OptPEG
BER, PMPE
FER, PEG
FER, OptPEG
FER, PMPE
Fig. 5. Error correction performance of the (504, 448) code generated
respectively with the PMPE, the ACE (OptPEG), and the original PEG
algorithms.
As shown in Fig. 5, the performance of the code (504,448)
with three methods is shown. The PMPE code and the OptPEG
code perform very closely while the proposed PMPE outper-
forms the OptPEG at Eb/No>6.4dB, and they both surpass
the original PEG code when Eb/No>5.2dB.
B. Performance of QC-PMP Codes
The QC-LDPC code is a mainstream of the research in
recent studies. Hence, we pay more attention to the QC-LDPC
codes optimized with the proposed QC-PMP algorithm. With-
out loss of generality, different QC-LDPC codes are chosen
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.5 2 2.5 3
10−8
10−7
10−6
10−5
10−4
10−3
10−2
10−1
Eb/N0(dB)
BER/FER
BER, QC−PMP
FER, QC−PMP
BER, CPM−QC
FER, CPM−QC
Fig. 6. Error correction performance of the (3960,2640) regular QC-PMP
and CPM-QC LDPC codes with rate 2/3.
2.8 3 3.2 3.4 3.6 3.8
10−9
10−8
10−7
10−6
10−5
10−4
10−3
10−2
Eb/N0(dB)
BER/FER
BER, C2
FER, C2
BER, C3
FER, C3
BER, C2
FER, C2
BER, C3
FER, C3
Fig. 7. Error correction performance of the (4032,3264) irregular QC-LDPC
codes with rate 17/21.
contain those used in academia [36] [37] [40] and in industry
[38].
Firstly, we validate the proposed algorithm on the regular
QC-LDPC code. We can construct a 4×12 base matrix
with L= 330, [W1]4×12, of a CPM-QC LDPC code [36].
Through mapping each entry of W1to a 330×330 submatrix,
a1320 ×3960 parity-check matrix, H1, can be obtained.
The null space of H1gives a (3,9)-regular CPM-QC LDPC
code, C1(3960,2640). Then, we apply the proposed QC-
PMP algorithm to W1, resulting in an optimized base matrix,
W1, and a parity-check matrix, H1. Consequently, the null
space of the matrix, H1, gives a (3,9)-regular QC-PMP code,
C1(3960,2640).
From Fig. 6, we can see that the two codes behave the same
in the range of BER 2×106. However, in the range of
the BER < 2×106, the QC-PMP code outperforms the
CPM-QC code, exhibiting a lower error floor.
With the column weight distribution λ(x) = 0.4052x3+
0.3927x4+ 0.1466x7+ 0.0555x8and the row weight distri-
bution ξ(x)=0.1667x22 + 0.8333x23 [40], a 12 ×63 base
matrix with L= 64, [W2]12×63, can be obtained by using the
2.8 3 3.2 3.4 3.6 3.8 4 4.2 4.4
10−8
10−7
10−6
10−5
10−4
10−3
10−2
10−1
Eb/N0(dB)
BER/FER
BER, 802.16e
FER, 802.16e
BER, SQC−LDPC
FER, SQC−LDPC
BER, QC−PMP
FER, QC−PMP
0.2 dB
Fig. 8. Error correction performance of the (2304,1920) irregular QC-PMP,
802.16e [37] and SQC-LDPC codes with rate 5/6.
geometry decomposition approach and ACE algorithm with
parameters (δ2d= 4, δAC E = 3). Through mapping each
entry of W2to a 64 ×64 submatrix, a 768 ×4032 parity-
check matrix, H2, can be built. The null space of H2gives
an irregular QC-LDPC code, C2(4032,3264). Then, we apply
the proposed QC-PMP algorithm to W2. Consequently, we can
obtain the optimized base matrix, W2, and the parity-check
matrix, H2. The null space of H2gives an irregular QC-
PMP code, C2(4032,3264). Performing the same steps with
parameters (δ2d= 4, δAC E = 4) [40] for construction and the
proposed QC-PMP for optimization, we can obtain one more
irregular QC-LDPC code, C3(4032,3264), and its optimized
version, C3(4032,3264).
As shown in Fig. 7, the performance of C2based on C2
is improved greatly. It gains about 0.15 dB compared with
C2at BER = 8 ×108. At the beginning of the point,
Eb/No=3.5dB, the slope of curve C2begins to reduce signifi-
cantly. Hence, the error floor appears for code C2. Meanwhile,
C3outperforms C3in the range of BER < 4×108.
In addition, with a different column weight distribution
λ(x) = 0.125x2+ 0.4167x3+ 0.4583x4and the uniform row
weight of 20, a 4×24 base matrix with L= 96,W4, can
be generated [37]. Through mapping each entry of W4to a
96 ×96 submatrix, a 384 ×2304 parity-check matrix, H4, can
be achieved. The null space of H4gives an irregular QC-LDPC
code, C4(2304,1920), called the SQC-LDPC code (QC-LDPC
code with single-weight circulants) [37]. The SQC-LDPC code
shows a lower error floor than the 802.16e standard code with
the same basic code parameters as those in [37]. Thus, we
apply the proposed QC-PMP algorithm to W4. The optimized
base matrix, W4, and the parity-check matrix, H4, can be
formed. The null space of H4gives an irregular QC-PMP
code, C4(2304,1920).
Fig. 8 shows the error correction performance of the irreg-
ular QC-PMP, SQC-LDPC and 802.16e standard codes. It is
noted that the experimental result of the 802.16e standard code
is extracted from [37]. From the curve of BER vs. Eb/N0,
we can see that the QC-PMP code based on the SQC-LDPC
code gains about 0.1dB compared with the SQC-LDPC code
at BER = 3 ×108and about 0.2dB 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
3 3.5 4 4.5 5
10−9
10−8
10−7
10−6
10−5
10−4
10−3
10−2
Eb/N0(dB)
BER/FER
BER, 802.11ad
FER, 802.11ad
BER, QC−PMP
FER, QC−PMP
Fig. 9. Error correction performance of the (648,486) QC-PMP and 802.11ad
codes with rate 3/4.
3 3.2 3.4 3.6 3.8 4 4.2 4.4 4.6 4.8
10−8
10−7
10−6
10−5
10−4
10−3
10−2
Eb/N0(dB)
BER/FER
BER, 802.11ad
FER, 802.11ad
BER, QC−PMP
FER, QC−PMP
0.15 dB
Fig. 10. Error correction performance of the (1944,1620) QC-PMP and
802.11ad codes with rate 5/6.
802.16e code at BER = 2 ×107.
Finally, we demonstrate the validity of the proposed algo-
rithm on the 802.11ad standard code [38]. With the column
weight distribution λ(x) = 0.2083x2+ 0.5x3+ 0.2917x6and
the row weight distribution ξ(x) = 0.3333x14 + 0.6667x15,
a6×24 base matrix with L= 27,W5, can be obtained.
Through mapping each entry of W5to a 27 ×27 submatrix,
a162 ×648 parity-check matrix, H5, can be built. The null
space of H5gives 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-
check matrix, H5. The null space of H5gives an irregular
QC-PMP code, C5(648,486). Meanwhile, with the column
weight distribution λ(x) = 0.125x2+ 0.4583x3+ 0.4167x4
and the row weight distribution ξ(x)=0.25x19 + 0.75x20,
we can obtain a 4×24 base matrix with L= 81,W6.
Through mapping each entry of W6to an 81×81 submatrix, a
324×1944 parity-check matrix, H6, can be achieved. The null
space of H6gives an irregular 802.11ad code, C6(1944,1620).
Then, we apply the proposed QC-PMP algorithm to W6,
resulting in the optimized base matrix, W6, and the parity-
check matrix, H6. The null space of H6gives an irregular
QC-PMP code, C6(1944,1620). It is noted that the elements
from column-(nm+ 1) to column-nof W5and W6are not
adjusted during the optimization process, in order to maintain
the block dual-diagonal (BDD) structure of the 802.11ad code.
Figures 9 and 10 show the performance of QC-PMP code
(C5and C6) vs. 802.11ad code (C5and C6). From the
curves, we can see the QC-PMP code, C5, gains about 0.2dB
compared with the 802.11ad code, C5, at BER = 3 ×108.
Finally, the QC-PMP code, C6, outperforms the 802.11ad
code, C6, in the range of the BER < 8×106. At
BER = 1 ×108, the optimized code, C6, gains about 0.15
dB compared with its corresponding code, C6.
Regardless of the 802.16e code or the 802.11ad code, the
QC-PMP can optimize the cycles of parity-check matrix as a
whole. It makes the number of cycles become fewer and the
length of cycles larger by continuously reducing the CM of
a parity-check matrix. The number and the length of cycles
within a Tanner graph have a better balance, making the
performance improved to certain degree in the error floor
range. As shown in all of the above simulation results,
reducing the metric, CM, leads to an exceptional effect of
significantly improving the error correction performance of
the LDPC codes.
VI. CO NC LU SI ON
In this paper, we have proposed two optimization methods,
the PMPE algorithm for random codes and the QC-PMP
algorithm for QC-LDPC codes. The proposed algorithms can
decrease the number of short cycles in the Tanner graphs
without changing the code parameters, such as the code length,
code rate and degree distribution after optimization. The
approximately nearest codewords (ANC) searching approach
shows that the optimized codes have fewer codewords of low
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
noises occur over the channel. Experimental results show
that the PMPE algorithm can improve the error correction
performance of the MacKay codes with code rate around
0.5and the PEG code with code rate around 0.9. For the
QC-LDPC codes, experimental results have shown that the
performance of codes with different code rates and lengths,
including the regular codes and irregular ones, are significantly
improved with the proposed QC-PMP algorithm.
VII. AC KN OWLEDGMENT
The authors wish to thank the editor, Enrico Paolini, and
the anonymous reviewers for their comments on this paper
which significantly improved the presentation and the quality
of this work. In particular, the simulation example of the
unstructured LDPC code optimized with different algorithms
was added to the paper as a result of such comments. The
authors are very thankful to the fellow researchers, Prof.
Vojin Senk, Dr. Dejan Vukobratovic, Prof. Bane Vasic and Dr.
Milos Ivkovic, for their support in providing their algorithm
details of constructing unstructured LDPC codes. Especially,
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
excellent performance of the optimized algorithm. The above
mentioned researchers greatly speeded up the modification and
significantly improved our revised version of this work.
REF ER EN CE S
[1] R. Gallager, “Low-density parity-check codes,IRE Transactions on
Information Theory, vol. 8, no. 1, pp. 21–28, Jan. 1962.
[2] D. MacKay and R. Neal, “Near Shannon limit performance of low-
density parity-check codes,” IEEE Electronics Letters, vol. 32, no. 18,
pp. 1645–1646, Aug. 1996.
[3] X. Liu, F. Xiong, Z. Zhou, Y. Yin, and L. Zhang, “Construction of QC-
LDPC cycle codes over GF(q) based on cycle entropy and applications
on patterned media storage,” IEEE Transactions on Magnetics, vol. 51,
no. 11, pp. 1–5, Nov. 2015.
[4] J. Kim, D. h. Lee, and W. Sung, “Performance of rate 0.96 (68254,
65536) EG-LDPC code for NAND flash memory error correction,” in
2012 IEEE International Conference on Communications (ICC), Ottawa,
ON, Canada, Jun. 10-15, 2012, pp. 7029–7033.
[5] Y.-M. Lin, H.-T. Li, M.-H. Chung, and A.-Y. Wu, “Byte-reconfigurable
LDPC codes design with application to high-performance ECC of
NAND flash memory systems,IEEE Transactions on Circuits and
Systems I: Regular Papers, vol. 62, no. 7, pp. 1794–1804, Jul. 2015.
[6] K. C. Ho, C. L. Chen, and H. C. Chang, “A 520k (18900, 17010) array
dispersion LDPC decoder architectures for NAND flash memory,IEEE
Transactions on Very Large Scale Integration (VLSI) Systems, vol. 24,
no. 4, pp. 1293–1304, Apr. 2016.
[7] X. Hu, E. Eleftheriou, and D. Arnold, “Regular and irregular progressive
edge-growth Tanner graphs,” IEEE Transactions on Information Theory,
vol. 51, no. 1, pp. 386–398, Jan. 2005.
[8] L. Zeng, L. Lan, Y. Tai, S. Song, S. Lin, and K. Abdel-Ghaffar,
“Constructions of nonbinary quasi-cyclic LDPC codes: A finite field
approach,” IEEE Transactions on Communications, vol. 56, no. 4, pp.
545–554, Apr. 2008.
[9] Q. Diao, Q. Huang, S. Lin, and K. Abdel-Ghaffar, “A matrix-theoretic
approach for analyzing quasi-cyclic low-density parity-check codes,
IEEE Transactions on Information Theory, vol. 58, no. 6, pp. 4030–
4048, Jun. 2012.
[10] B. Zhou, J. Kang, Y. Y. Tai, S. Lin, and Z. Ding, “High performance
non-binary quasi-cyclic LDPC codes on Euclidean geometries,” IEEE
Transactions on Communications, vol. 57, no. 5, pp. 1298–1311, May
2009.
[11] M. Esmaeili and M. Gholami, “Geometrically-structured maximum-girth
LDPC block and convolutional codes,IEEE Journal on Selected Areas
in Communications, vol. 27, no. 6, pp. 831–845, Aug. 2009.
[12] D. Divsalar, S. Dolinar, and C. Jones, “Low-rate LDPC codes with
simple protograph structure,” in 2005 IEEE International Symposium
on Information Theory, Adelaide, SA, Australia, Sept. 4–9, 2005, pp.
1622–1626.
[13] ——, “Construction of protograph LDPC codes with linear minimum
distance,” in 2006 IEEE International Symposium on Information The-
ory, Seattle, WA, USA, July 6–12, 2006, pp. 664–668.
[14] X. He, L. Zhou, J. Du, and Z. Shi, “The multi-step PEG and ACE con-
strained PEG algorithms can design the LDPC codes with better cycle-
connectivity,” in 2015 IEEE International Symposium on Information
Theory (ISIT), Hong Kong, June 14–19, 2015, pp. 46–50.
[15] C. T. Healy and R. C. d. Lamare, “Design of LDPC codes based on mul-
tipath EMD strategies for progressive edge growth,IEEE Transactions
on Communications, vol. 64, no. 8, pp. 3208–3219, Aug. 2016.
[16] T. Tian, C. Jones, J. Villasenor, and R. Wesel, “Selective avoidance
of cycles in irregular LDPC code construction,IEEE Transactions on
Communications, vol. 52, no. 8, pp. 1242–1247, Aug. 2004.
[17] C. Di, D. Proietti, I. E. Telatar, T. J. Richardson, and R. L. Urbanke,
“Finite-length analysis of low-density parity-check codes on the binary
erasure channel,” IEEE Transactions on Information Theory, vol. 48,
no. 6, pp. 1570–1579, Jun. 2002.
[18] B. Vasi´
c, S. K. Chilappagari, D. V. Nguyen, and S. K. Planjery,
“Trapping set ontology,” in 2009 47th Annual Allerton Conference on
Communication, Control, and Computing (Allerton), Monticello, IL,
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.
[20] R. Tanner, “A recursive approach to low complexity codes,” IEEE
Transactions on Information Theory, vol. 27, no. 5, pp. 533–547, Sep.
1981.
[21] C. T. Healy and R. C. D. Lamare, “Decoder-optimised progressive edge
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
counting short cycles in a graph,” IEEE Transactions on Communica-
tions, vol. 61, no. 2, pp. 485–495, Feb. 2013.
[23] J. Li, S. Lin, and K. Abdel-Ghaffar, “Improved message-passing al-
gorithm for counting short cycles in bipartite graphs,” in 2015 IEEE
International Symposium on Information Theory (ISIT), Hong Kong,
June 14–19, 2015, pp. 416–420.
[24] M. P. C. Fossorier, “Quasi-cyclic low-density parity-check codes from
circulant permutation matrices,” IEEE Transactions on Information
Theory, vol. 50, no. 8, pp. 1788–1793, Aug. 2004.
[25] Z. Li and B. V. K. V. Kumar, “A class of good quasi-cyclic low-density
parity check codes based on progressive edge growth graph,” in 2004
Asilomar Conference on Signals, Systems and Computers., vol. 2, Pacific
Grove, California, USA, Nov. 7–10, 2004, pp. 1990–1994.
[26] X. Liu, W. Zhang, and Z. Fan, “Construction of quasi-cyclic LDPC
codes and the performance on the PR4-equalized MRC channel,” IEEE
Transactions on Magnetics, vol. 45, no. 10, pp. 3699–3702, Oct. 2009.
[27] K. M. Krishnan and P. Shankar, “Computing the stopping distance of
a Tanner graph is NP-hard,IEEE Transactions on Information Theory,
vol. 53, no. 6, pp. 2278–2280, Jun. 2007.
[28] M. Karimi and A. H. Banihashemi, “Efficient algorithm for finding dom-
inant trapping sets of LDPC codes,” IEEE Transactions on Information
Theory, vol. 58, no. 11, pp. 6942–6958, Nov. 2012.
[29] D. J. C. MacKay, “Good error-correcting codes based on very sparse
matrices,” IEEE Transactions on Information Theory, vol. 45, no. 2, pp.
399–431, Mar. 1999.
[30] D. MacKay, “David MacKay’s Gallager code resources,” Available: http:
//www.inference.phy.cam.ac.uk/mackay/codes, Aug. 19, 2008, [Online].
[31] A. Venkiah, D. Declercq, and C. Poulliat, “Design of cages with a
randomized progressive edge-growth algorithm,IEEE Communications
Letters, vol. 12, no. 4, pp. 301–303, Apr. 2008.
[32] M. Diouf, D. Declercq, S. Ouya, and B. Vasic, “A PEG-like LDPC
code design avoiding short trapping sets,” in 2015 IEEE International
Symposium on Information Theory (ISIT), Hong Kong, June 14–19,
2015, pp. 1079–1083.
[33] F. R. Kschischang, B. J. Frey, and H. A. Loeliger, “Factor graphs and
the sum-product algorithm,” IEEE Transactions on Information Theory,
vol. 47, no. 2, pp. 498–519, Feb. 2001.
[34] X.-Y. Hu, M. P. C. Fossorier, and E. Eleftheriou, “On the computation
of the minimum distance of low-density parity-check codes,” in 2004
IEEE International Conference on Communications, Paris, France, June
20–24, 2004, pp. 767–771.
[35] L. Lan, L. Zeng, Y. Y. Tai, L. Chen, S. Lin, and K. Abdel-Ghaffar, “Con-
struction of quasi-cyclic LDPC codes for AWGN and binary erasure
channels: A finite field approach,” IEEE Transactions on Information
Theory, vol. 53, no. 7, pp. 2429–2458, Jul. 2007.
[36] J. Li, K. Liu, S. Lin, and K. Abdel-Ghaffar, “Algebraic quasi-cyclic
LDPC codes: Construction, low error-floor, large girth and a reduced-
complexity decoding scheme,” IEEE Transactions on Communications,
vol. 62, no. 8, pp. 2626–2637, Aug. 2014.
[37] X. Wu, M. Jiang, and C. Zhao, “Construction of high-rate QC-LDPC
codes with multi-weight circulants,” in 2016 9th International Sym-
posium on Turbo Codes and Iterative Information Processing (ISTC),
Brest, France, Sep. 5–9, 2016, pp. 21–25.
[38] The 802.11 Working Group, “IEEE standard for information
technology–Telecommunications and information exchange between
systems local and metropolitan area networks–Specific requirements -
Part 11: Wireless LAN medium access control (MAC) and physical layer
(PHY) specifications,” IEEE Std 802.11-2016 (Revision of IEEE Std
802.11-2012), IEEE-SA Standards Board, pp. 3293–3295, Dec. 2016.
[39] D. Vukobratovic and V. Senk, “Evaluation and design of irregular LDPC
codes using ACE spectrum,IEEE Transactions on Communications,
vol. 57, no. 8, pp. 2272–2279, Aug. 2009.
[40] G. Han, Y. L. Guan, and L. Kong, “Construction of irregular QC-LDPC
codes via masking with ACE optimization,IEEE Communications
Letters, vol. 18, no. 2, pp. 348–351, Feb. 2014.
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,
Jiangxi, China. He received the B.E. and M.E.
degrees in electrical engineering from Huazhong U-
niversity of Science and Technology, Wuhan, China,
and the Ph.D. degree from Sun Yat-sen University
(SYSU), Guangzhou, China.
He received the Royal Society KC Wong Fel-
lowship of the U.K. to do post-doctoral research at
the University of Southampton, Southampton, U.K.,
during May 2002 - May 2003. He was a visiting
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 State ˛a´
rs 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.
Shuo Liang was born in Yinchuan, Ningxia, China.
He received the B.E. degree from Sichuan University
in 2012, and the M.E. degree from Sheffield Univer-
sity in October 2014, both in electrical engineering.
He is a PhD candidate in Sun Yat-sen Universi-
ty, Guangzhou, China. His main research interests
include channel coding theory and mobile commu-
nications.
Mr. Liang is a student member of the China
Institute of Electronics.
... While some studies have employed the PEG algorithm for constructing certain GLDPC codes [10], [11], no specialized lifting method has been developed for an arbitrarily given GLDPC protograph. Also, while some PEG-based algorithms using girth [12] and cycle metrics (CMs) [13] have optimized LDPC codes to get a better error floor performance, no PEG method has yet been proposed that employs CMs to establish a cycle distribution suited to GLDPC codes. In this paper, following our observation in [14], we first demonstrate that the lifting order of VNs in the PEG algorithm affects the cycle distribution and the decoding performance of GLDPC codes. ...
... We first sort the lifting order of VNs according to their degrees and doping status. Then, the CC-PEG evaluates the cycle distribution of the current Tanner graph by calculating VN CMs M vs using the parallel vector message passing (PMP) algorithm [13]. Lastly, the CC-PEG connects edges in a way that generates fewer local cycles at vulnerable undoped VNs. ...
... Extensive decoding simulations are conducted over both the binary erasure channel (BEC) and the additive white Gaussian noise (AWGN) channel using regular and irregular GLDPC protographs in [15], [16], which have capacityapproaching performance. The results confirm that the CC-PEG algorithm achieves a significant coding gain compared to other existing lifting algorithms [9], [13], particularly for large protographs and moderate code lengths, where GLDPC codes are known to perform better than LDPC codes [5]. ...
Article
Full-text available
In this paper, we propose the cycle-concentrating progressive edge growth (CC-PEG) algorithm for lifting protograph generalized low-density parity-check (GLDPC) codes. In GLDPC codes, undoped variable nodes (VNs) that are not connected to generalized constraint (GC) nodes are more vulnerable to channel errors than doped VNs protected by GC nodes.We observe that among GLDPC codes sharing the same protograph structure, codes with fewer local cycles at undoped VNs have better decoding performances. Inspired by this observation, the CC-PEG algorithm is proposed to concentrate local cycles at doped VNs and avoid local cycles at vulnerable undoped VNs during the lifting process. Specifically, the CC-PEG algorithm first collects edges that result in the maximum undoped girth , defined as the length of the shortest cycle containing undoped VNs. Following this, the CC-PEG algorithm selects the edge with the lowest concentrated cycle metric . Consequently, the lifted codes exhibit asymmetric cycle distributions concentrated around robust doped VNs. Simulation results for various protographs show that the CC-PEG algorithm achieves a performance gain of up to 20 times lower frame error rate compared to conventional lifting algorithms.
... To solve this problem, a polar code concatenated with an outer cyclic redundancy check (CRC) code is proposed [3], where the CRC code is employed to identify the correct path within the decoded list. To date, CRC-Aided SCL (CA-SCL) decoding has been regarded as the best class of polar decoding schemes in terms of the decoding reliability, which is similar to other state-of-the-art coding schemes, such as LDPC codes [10,11] and turbo codes [12]. ...
Article
Full-text available
The successive cancellation flip (SC Flip) decoding algorithm was recently suggested for decoding polar codes, which could improve the performance of the frame error rate (FER). The performance of the SC Flip (SCF) decoding algorithm is strong, and its computational complexity tends to be the same as that of the SC decoder at medium to high signal‐to‐noise ratios (SNRs). However, the decoding latency of the SCF decoding algorithm is large. In this paper, a new method for detecting whether or not the flipped bit is correct is proposed. The proposed method makes a decision according to the changing log likelihood ratio (LLR) value caused by the flipped bit to ensure that the decoding process can be terminated in advance and the decoding latency is reduced. The simulation results show that the proposed Latency‐Reduced SCF decoding algorithm can decrease computational complexity and decoding latency, while also achieving similar decoding performance compared to its counterpart.
... The authors examine a few examples of regular and irregular QC LOPC codes by simulation and compare their performances with the ensemble average performance. [20] The PMP algorithm for random codes and QC-PMP algorithm for QC-LDPC coding suggested two optimization methods. The algorithms presented in the Tanner graph will decrease the number of short cycles without changing coding parameters, for example, code length, code intensity, and degree distribution. ...
Conference Paper
Full-text available
An LDPC code is a particular linear block code class with low-density parity-check matrix H, i.e. sparse. Because of this parsity in LDPC codes, encoding is low in difficulty and therefore simple to enforce. LDPC codes also provide a wide spectrum of compensation for efficiency and complexity. The high coding complexity of LDPC codes is a major drawback. Where forward error detection and correction codes have been used in large numbers of storage applications or transmitted over many years by wireless services or wireless communication networks due to unreliable network connections.in this review paper, we will present the main concept of LDPC and overview on error correcting codes, decoding and encoding, binary code, and Nonbinary code. Also, this paper will explain the challenges in LDPC.
... The research activities in the area of LDPC coding techniques are still prevalent and they include, among others, the methodical construction of LDPC codes [10,12,13], decoding algorithm design [11,14,15] and efficient decoder implementation [4,[16][17][18]. The implementation issues typically constraint the design to some class of implementation oriented LDPC codes, which most commonly belong to the mentioned QC-LDPC class. ...
Article
Full-text available
A potentially useful Cyber-Physical Systems element is a modern forward error correction (FEC) coding system, utilizing a code selected from the broad class of Low-Density Parity-Check (LDPC) codes. In this paper, development of a hardware implementation in an FPGAs of the decoder for Quasi-Cyclic (QC-LDPC) subclass of codes is presented. The decoder can be configured to support the typical decoding algorithms: Min-Sum or Normalized Min-Sum (NMS). A novel method of normalization in the NMS algorithm is proposed, one that utilizes combinational logic instead of arithmetic units. A comparison of decoders with different bit-lengths of data (beliefs that are messages propagated between computing units) is also provided. The presented decoder has been implemented with a distributed control system. Experimental studies were conducted using the Intel Cyclone V FPGA module, which is a part of the developed testing environment for LDPC coding systems.
Conference Paper
We propose a new lifting method based on parallel vector message passing (PMP) called LPMP to generate quasi-cyclic LDPC codes, which can derive a (BER) performance improvement up to 0.4dB.
Article
In this paper, we design finite-length irregular protograph-based quasi-cyclic (QC) low-density parity-check (LDPC) codes with good waterfall performance and low error floor. To achieve a low error floor, we eliminate a targeted set of dominant elementary trapping sets (ETS) L in the Tanner graph of the code. For a given rate and girth, the codes are designed to be free of the largest set of problematic ETSs for a given block length, or to have the shortest block length while a given set of ETSs is avoided. The design is based on a search algorithm that identifies whether any instance of any structure within L exists in the Tanner graph of the constructed code or not. The search algorithm performs this task with minimal complexity, making it feasible to construct practical codes by running the search algorithm a large number of times. Simulation results are provided to demonstrate the superior performance of designed codes compared to similar state-of-the-art irregular QC-LDPC codes.
Chapter
Internet of Things is an extension of Internet connectivity to physical devices in heterogeneous networks. IoT network consists of the Internet and low-speed IoT. In IoT, with the help of the Internet, many devices can communicate and interact with each other. The devices can be monitored remotely. A large amount of data stream is transmitted from IoT devices to the Internet. Therefore, it is observed that there is a difference in the speed and (MTU) maximum transfer unit of IoT which in turn results in the overhead. Overhead also depends on the data, as the data size increases the value of overhead increases. This is a major problem in IoT devices as they are sensitive toward power consumption. This needs to be handled in real-time. To solve this problem there is an approach that compresses the data stream. The approach is Low-density parity-check code (LDPC). LDPC compression technique can also be applied to encrypted data. Therefore this method is also beneficial in privacy and confidentiality. For the implementation, we have used Raspberry Pi, collectors and a computer. Raspberry Pi is used to generate data stream, collector is used to collect the data. To calculate efficiency, we focused on specific data in different sizes. Efficiency is calculated using transmission time and compression time. The dataset used for the experiment is temperature sensor data. As a result, it is observed that the data stream transmission time is decreased by 45%. As a result of this study, the data transmission time from IoT to the collector can be reduced after compression using the LDPC code.
Article
In the domain of wireless communication systems, Error Control Coding (ECC) schemes are one of the widely relied upon or responsible methodology for securing the integrity and authenticity of the data transmission process. In the last decade, due to the advent of modern communication standards and their wide range of services, there has been a resurgence of interest and support in the research community towards the conception of efficient and versatile ECC techniques. Recent developments in the wireless communication based technologies have witnessed the pliable nature of low-density parity-check (LDPC) codes and their contributions which cannot be overstated. As of now, the decoding schemes based on LDPC codes have emerged as one of the most promising and effective coding scheme for addressing several key problems of reliable data communication. In this article, comprehensive overview on the current state-of-the art LDPC decoding algorithms and their applications are provided. In addition, a thorough investigation and comparison is carried out on various LDPC decoding algorithms based on their performance, similarities, scalability, numerical stability and feasibility for hardware realization. Finally, at the end of this review, views on the open research problems, challenges and the scope for future prospects are forecasted through discussions.
Article
Long quasi-cyclic low-density parity check (QC-LDPC) codes have been chosen as one of the forward error correction (FEC) schemes in passive optical network (PON) systems benefiting from the excellent performance. About how to get the appropriate LDPC codes, some traditional methods which focus on obtaining large girth or flat approximated cycle extrinsic message degree (ACE) spectrums are proposed for the design of LDPC codes. These methods which may still make the existence of small stopping sets containing short cycles probable are not so useful for long QC-LDPC codes. Recently, the parallel vector message passing (PMP) algorithm oriented-to decreasing the number of short cycles is proved to be an effective method to optimize LDPC codes. Since ignoring short cycles with poor connectivity which can induce error floor, this method can not guarantee its effectiveness for long QC-LDPC codes. In this letter, an edge exchange optimization method based on the global properties of ACE and girth called EEA method is proposed, which tries to reduce cycles with low ACE in the order of cycle length. The numerical results prove that our EEA method can bring the improvements of error floor up to two orders of magnitude to long QC-LDPC codes and obviously outperforms PMP algorithm.
Article
Full-text available
Low-density parity-check (LDPC) codes are capable of achieving excellent performance and provide a useful alternative for high performance applications. However, at medium to high signal-to-noise ratios (SNR), an observable error floor arises from the loss of independence of messages passed under iterative graph-based decoding. In this paper, the error floor performance of short block length codes is improved by use of a novel candidate selection metric in code graph construction. The proposed Multipath EMD approach avoids harmful structures in the graph by evaluating certain properties of the cycles which may be introduced in each edge placement. We present Multipath EMD based designs for several structured LDPC codes including quasi-cyclic and irregular repeat accumulate codes. In addition, an extended class of diversity-achieving codes on the challenging block fading channel is proposed and considered with the Multipath EMD design. This combined approach is demonstrated to provide gains in decoder convergence and error rate performance. A simulation study evaluates the performance of the proposed and existing state-of-the-art methods.
Article
Full-text available
This paper presents a simple and very flexible method for constructing quasi-cyclic (QC) low density parity-check (LDPC) codes based on finite fields. The code construction is based on two arbitrary subsets of elements from a given field. Some well known constructions of QC-LDPC codes based on finite fields and combinatorial designs are special cases of the proposed construction. The proposed construction in conjunction with a technique, known as masking, results in codes whose Tanner graphs have girth 8 or larger. Experimental results show that codes constructed using the proposed construction perform well and have low error-floors. Also presented in the paper is a reduced-complexity iterative decoding scheme for QC-LDPC codes based on the section-wise cyclic structure of their parity-check matrices. The proposed decoding scheme is an improvement of an earlier proposed reduced-complexity iterative decoding scheme.
Article
Algorithms that must deal with complicated global functions of many variables often exploit the manner in which the given functions factor as a product of “local” functions, each of which depends on a subset of the variables. Such a factorization can be visualized with a bipartite graph that we call a factor graph, In this tutorial paper, we present a generic message-passing algorithm, the sum-product algorithm, that operates in a factor graph. Following a single, simple computational rule, the sum-product algorithm computes-either exactly or approximately-various marginal functions derived from the global function. A wide variety of algorithms developed in artificial intelligence, signal processing, and digital communications can be derived as specific instances of the sum-product algorithm, including the forward/backward algorithm, the Viterbi algorithm, the iterative “turbo” decoding algorithm, Pearl's (1988) belief propagation algorithm for Bayesian networks, the Kalman filter, and certain fast Fourier transform (FFT) algorithms
Conference Paper
In this paper, we propose a construction method of quasi-cyclic low-density parity-check (QC-LDPC) codes with multi-weight circulants (MQC-LDPC codes) which is suitable for high-rate LDPC codes with moderate length. MQC-LDPC codes can achieve better degree distributions, Hamming weight distributions, and stopping set weight distributions than conventional QC-LDPC codes with single-weight circulants (SQC-LDPC codes). Within the same framework, we generalize and simplify the error minimization progressive edge growth (EMPEG) algorithm for supporting the structure with multi-weight circulants. Simulation results show that the constructed MQC-LDPC codes offer better performance at both high and low signal to noise ratio (SNR) regions in additive white Gaussian noise (AWGN) channels than the conventional SQC-LDPC codes defined in 802.11ad and 802.16e.
Article
Although Latin square is a well-known algorithm to construct low-density parity-check (LDPC) codes for satisfying long code length, high code-rate, good correcting capability, and low error floor, it has a drawback of large submatrix that the hardware implementation will be suffered from large barrel shifter and worse routing congestion in fitting NAND flash applications. In this paper, a top-down design methodology, which not only goes through code construction and optimization, but also hardware implementation to meet all the critical requirements, is presented. A two-step array dispersion algorithm is proposed to construct long LDPC codes with a small submatrix size. Then, the constructed LDPC code is optimized by masking matrix to obtain better bit-error rate (BER) performance and lower error-floor. In addition, our LDPC codes have a diagonal-like structure in the parity-check matrix leading to a proposed hybrid storage architecture, which has the advantages of better area efficiency and large enough data bandwidth for high decoding throughput. To be adopted for NAND flash applications, an (18900, 17010) LDPC code with a code-rate of 0.9 and submatrix size of 63 is constructed and the field-programmable gate array simulations show that the error floor is successfully suppressed down to BER of 10⁻¹². An LDPC decoder using normalized min-sum variable-node-centric sequential scheduling decoding algorithm is implemented in UMC 90-nm CMOS process. The postlayout result shows that the proposed LDPC decoder can achieve a throughput of 1.58 Gb/s at six iterations with a gate count of 520k under a clock frequency of 166.6 MHz. It meets the throughput requirement of both NAND flash memories with Toggle double data rate 1.0 and open NAND flash interface 2.3 NAND interfaces.
Article
The reliability of NAND Flash memory deteriorates due to multi-level cell technique and advanced manufacturing technology. To deal with more errors, LDPC codes show superior performance to conventional BCH codes as ECC of NAND Flash memory systems. However, LDPC codec for NAND Flash memory systems faces problems of high redesign effort, high on-chip memory cost and high-throughput demand. This paper presents a byte-reconfigurable cost-effective high-throughput QC-LDPC codec design for NAND Flash memory systems. Reconfigurable codec design is proposed to support various QC-LDPC codes for different Flash memories. To save on-chip memory cost, shared-memory architecture and rescheduling architecture are presented for encoder and decoder, respectively. The shared-memory architecture can save 23% area cost of the encoder and the rescheduling architecture reduces 15% area cost of decoder. In addition, the proposed sub-iteration based early termination (SIB-ET) scheme reduces 29.6% decoding iteration counts compare with the state-of-the-art early termination scheme when raw BER of Flash memory is $3times 10^{-3}$. Finally, the QC-LDPC codec for NAND Flash memory systems is implemented in TSMC 90 nm technology. The post-layout result shows that the core size is only 6.72 ${rm mm}^{2}$ at 222 MHz operating frequency.
Article
In this paper, we focus on the construction of a type of quasi-cyclic low-density-parity-check (QC LDPC) codes called cycle codes. Based on our previous work, the maximum cycle entropy (MCE) algorithm for constructing nonbinary LDPC codes can be extended to its QC form (QC-MCE), which maintains the QC structure of the parity-check matrix. With this method employed, an elegant distribution of nonzero entries over the Galois field GF(q) can be obtained among the cycles whose length is related to the girth. Thus, the independence of probabilistic information transferred during decoding is increased, leading to a better performance. Extensive simulation results show that the proposed QC-MCE algorithm behaves much better than the conventional random one and performs as well as the existing method over a pattern media channel with both additive white Gaussian noise (AWGN) and transition jitter noise (TJN). The decoding complexity of our proposed codes is reasonably low due to the QC structure of the codes. The codes constructed with the proposed method can be well applied over the patterned media storage.