460 IEEE COMMUNICATIONS LETTERS, VOL. 21, NO. 3, MARCH 2017
Explicit Constructions for Type-1 QC-LDPC Codes With Girth 12
Guohua Zhang and Rudolf Mathar, Senior Member, IEEE
Abstract—Given any J × J ( J > 3) square matrix over
Z
P
such that the differences of any two row vectors contain
each element in Z
P
at most once, a class of (3, L)-regular quasi-
cyclic low-density parity-check codes is explicitly constructed
with lengths PJL
2
and girth 12, where L is any integer satisfying
3 < L ≤ J. Simulation results show that the new codes perform
very well for moderate rates and lengths.
Index Terms— Low-density parity-check (LDPC) codes,
quasi-cyclic (QC), circulant permutation matrix (CPM), girth.
I. INTRODUCTION
A
low-density parity-check (LDPC) code is defined as
the null space of its sparse parity-check matrix (PCM).
A classical QC-LDPC code [1] is associated with a PCM
consisting of circulant permutation matrices (CPMs) of the
same size P, while a type-1 QC-LDPC code is associated with
a PCM composed of both CPMs and zero matrices (ZMs) of
the same size P. Compared with classical QC-LDPC codes,
their type-1 counterparts usually enable a larger upper bound
in terms of minimum distance [2], which in turn hopefully
leads to a better decoding performance.
If a PCM has R 1’s in each column and L 1’s in each row,
then the associated LDPC code is called (R, L)-regular.
Girth is the length of the shortest cycles in the
Tanner graph corresponding to a PCM. To the best of our
knowledge, Tanner’s method [3] and Jing’s one [4] are the only
existing ways to explicitly construct (3, L)-regular structured
QC-LDPC codes with girth 12. However, Tanner’s method
only works for classical codes with L = 5andaprimeP,
while Jing’s one only for type-1 codes with a prime P.
In this Letter, we present a novel method to construct type-1
(3, L)-regular QC-LDPC codes with girth exactly 12 for
any P, which naturally includes Jing’s method as a special
case.
Our method is based on a type of J × J matrix over
Z
P
in which the differences of any two rows do not contain
repetitive elements. Obviously, such matrices can be directly
used to construct (J, J )-regular QC-LDPC codes free of
4-cycles (if the fact that the rate is most often zero is not
considered). From such matrices, column-weight-two LDPC
codes with girth 12 can be constructed by the approach
Manuscript received October 29, 2016; revised November 20, 2016;
accepted November 22, 2016. Date of publication December 1, 2016; date
of current version March 8, 2017. This work was supported by the China
Scholarship Council (CSC) and the National Natural Science Foundation of
China under Grant 61471294. The associate editor coordinating the review of
this letter and approving it for publication was Z. Ma.
G. Zhang is with the Institute for Theoretical Information Technology,
RWTH Aachen University, 52074 Aachen, Germany, and also with the
China Academy of Space Technology (Xi’an), Xi’an 710100, China (e-mail:
zhangghcast@163.com).
R. Mathar is with the Institute for Theoretical Information Technology,
RWTH Aachen University, 52074 Aachen, Germany (e-mail: mathar@ti.
rwth-aachen.de).
Digital Object Identifier 10.1109/LCOMM.2016.2634022
in [5], while our method enables column-weight-three type-1
QC-LDPC codes with girth 12.
II. C
ONSTRUCTION
The MP× NP PCM H for a classical or type-1 QC-LDPC
code with length NP can be determined by its correspond-
ing M × N exponent matrix E and the CPM size P [6].
Precisely, when H is generated from E, the element ∞ within
E corresponds to a P × P ZM and any other element (say e)
corresponds to a P × P identity matrix with rows cyclically
shifted to the right by e (mod P) positions. Denote by g(E, P)
the girth of the Tanner graph associated with an exponent
matrix E and the CPM/ZM size P.
A. A Class of Exponent Matrices
In this Letter, we investigate a special type of exponent
matrices E which can be viewed as an array of matrices as
follows:
E =
⎡
⎢
⎢
⎢
⎢
⎢
⎢
⎢
⎢
⎢
⎢
⎢
⎢
⎢
⎢
⎣
S ∞
0
··· ∞
0
∞
0
S ··· ∞
0
.
.
.
.
.
.
.
.
.
.
.
.
∞
0
∞
0
··· S
W ∞
0
··· ∞
0
∞
0
W ··· ∞
0
.
.
.
.
.
.
.
.
.
.
.
.
∞
0
∞
0
··· W
C
0
C
1
··· C
J −1
⎤
⎥
⎥
⎥
⎥
⎥
⎥
⎥
⎥
⎥
⎥
⎥
⎥
⎥
⎥
⎦
, (1)
where S, W and ∞
0
are all J × J
2
matrices, and C
u
(0 ≤
u ≤ J − 1) is a J
2
× J
2
matrix. Therefore, E is a
3J
2
×J
3
matrix. To be specific, (i) S is a J ×J arraydefinedby
S =
⎡
⎢
⎢
⎢
⎣
S
0
∞
1
··· ∞
1
∞
1
S
1
··· ∞
1
.
.
.
.
.
.
.
.
.
.
.
.
∞
1
∞
1
··· S
J −1
⎤
⎥
⎥
⎥
⎦
, (2)
where ∞
1
is a 1 × J matrix of ∞’s, and S
j
is a 1 × J
matrix denoted by [s
j,0
s
j,1
··· s
j, J −1
],for0≤ j ≤ J − 1;
(ii) W is a 1× J array of W
0
’s, i.e. W =[W
0
, W
0
, ··· , W
0
],
where W
0
is a J × J matrix with 0’s on the main diagonal
and ∞’s otherwise; (iii) ∞
0
is a J × J
2
matrix composed of
∞’s; (iv) C
u
(0 ≤ u ≤ J − 1) is a J × J array defined by
⎡
⎢
⎢
⎢
⎣
D(T
0
(S
u
)) ∞
2
··· ∞
2
∞
2
D(T
1
(S
u
)) ··· ∞
2
.
.
.
.
.
.
.
.
.
.
.
.
∞
2
∞
2
··· D(T
J −1
(S
u
))
⎤
⎥
⎥
⎥
⎦
. (3)
For any vector x =[x
0
, x
1
, ··· , x
J −1
], T
k
(x) denotes x with
elements cyclically shifted to the left by k (mod J) positions,
1558-2558 © 2016 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.