I. INTRODUCTION
ANY of the algebraic constructions of low-density parity-check (LDPC) codes [10], [11] result in
quasi-cyclic (QC) codes [33], [44], [46]. QC codes have attracted researchers since their inception more than forty years
ago [57]. They asymptotically achieve the VarshamovGilbert
bound [24] and, for certain code lengths and dimensions,
are among the best known codes in terms of their minimum
distances [4], [6], [12][15]. Extensive simulation studies have
shown that QC-LDPC codes have very good error performance
over noisy channels when decoded with message-passing algorithms [3], [8], [9], [18], [20], [21], [23], [26], [29], [30], [38],
[39], [41][43], [46], [50], [51], [60][62]. Furthermore, QC
codes can be encoded efficiently using shift registers [31]. For
all these reasons, QC-LDPC codes are the most promising class
of structured LDPC codes known. Therefore, it is important to
Manuscript received October 24, 2010; revised July 06, 2011; accepted
November 29, 2011. Date of publication January 18, 2012; date of current
version May 15, 2012. This work was supported by the National Science Foundation under Grants CCF-0727478 and CCF-1015548, NASA under Grant
NNX09AI21G, and gift grants from Northrop Grumman Space Technology,
Intel, Denali Software, and Cadence. The material in this paper was presented
in part at the 2011 IEEE International Symposium on Information Theory.
Q. Diao, S. Lin, and K. Abdel-Ghaffar are with the Department of Electrical and Computer Engineering, University of California, Davis, CA 95616
USA (e-mail: judiao@ucdavis.edu; shulin@ece.ucdavis.edu; ghaffar@ece.ucdavis.edu).
Q. Huang is with the School of Electronic and Information Engineering, Beihang University, Beijing 100083, China (e-mail: qhuang.smash@gmail.com).
Communicated by S. Rajan, Associate Editor for Coding Theory.
Color versions of one or more of the figures in this paper are available online
at http://ieeexplore.ieee.org.
Digital Object Identifier 10.1109/TIT.2012.2184834
4031
be an
cir. Let
,
is an element in
diagonal matrix,
,
, equals
,
which is an
entry of
is
array of
,
is an
. Define
lant matrix,
Then,
is an
particular,
array of
, where
for
,
Proof: Notice that
is an
array of
From Lemma 1,
the lemma.
, where
circu-
diagonal matrices. In
4032
H of circulants A
to an array
divides
, we have
and
of diagonal matrices
. Considering that
, from which
. Hence,
is indeed
with inverse
since
as
proves that
inverse
for
. A similar argument
is a permutation on
with
. The
entry in
is the
entry in the matrix
. Under the row and
and
, respectively,
column permutations specified by
this entry is mapped to the
entry in
. Since
is a diagonal matrix, then for
, the
entry in
is zero. Hence,
is an
diagonal array of
matrices, i.e.,
for some
matrices ,
. To specify , notice that
, then the
entry in
,
if
which equals
, is mapped to the
entry in
, which is the
entry in . Hence
for
to a diagonal array
of matrices
4033
,
. Clearly,
is zero if and only if its Fourier
is zero. If
is a circutransform
lant permutation matrix, then
,
. On the other hand, if
,
, then
. This sum equals 1
and equals
if
if
since has order . We conclude that
is either a zero
or
or a circulant permutation matrix if and only if
, respectively, for
. This is equivalent to
is either zero or a power of which has
the condition that
, which implies that
.
order and
Proof: Let
where
4034
,
,
, and
circulants permutation matrices
. Furthermore,
, and
There are several results on the girth of Tanner graphs associated with arrays of circulants. Fossorier [9] gave necessary
conditions for the girth to be at least 6 and 8 and has shown that
it cannot exceed 12. Smarandache and Vontobel [48], [49] presented necessary and sufficient conditions for the girth to be at
least 6 or 8 if the circulants are either permutation or zero matrices and at least 6 if circulants with two nonzero entries in each
row are also allowed. They have also shown in [49] that the girth
is at most 8 if contains two circulants in the same row or the
same column where each circulant has at least two nonzero entries in each row and at most 6 if contains a circulant with at
least three nonzero entries in each row.
,
, be an
Let
array of
circulant permutation and zero matrices con,
structed from the base matrix
. Then,
, where
which is 1 if
,
,
and 0 otherwise. Hence, if
, then multiand
results in replacing
by a circulant matrix
plying it by
th row in
or, equivalently,
whose th row is the
th column in
. Thus, mulwhose th column is the
tiplying the th row in by a power of results in an
array of
circulant permutation and zero matrices obtained
in
by permuting row numbers
. Of course, the two arrays, as matrices over
, have the
same null space and their Tanner graphs are identical up to renaming of check nodes. On the other hand, multiplying the th
array of
column in by a power of results in an
circulant permutation and zero matrices obtained by perin . The
muting column numbers
codes given by the null spaces of these two arrays, as matrices
, are equivalent. Furthermore, their Tanner graphs
over
are identical up to renaming of variable nodes.
, then multiplying it by zero results in replacing
If
by the zero matrix. This procedure, known as masking, was
used in previous work to optimize the column and row weights
of the parity-check matrices and to reduce the number of short
cycles in the Tanner graphs of the constructed codes [5], [30],
[33], [46], [59]. This is accomplished by judiciously designing
binary matrix
,
,
,
an
be an
array of
circulant
, where
.
Vandermonde matrix
defined
Proof: Since the
and
in Section II is nonsingular, Lemma 2 implies that
have the same rank. Furthermore,
is obtained by row and
and, therefore, they also have the
column permutations on
.
same rank. From Lemma 3,
In particular,
.
In the following theorem, we show how to construct a paritycirculant matrices,
check matrix , which is an array of
for the dual code of a QC code characterized by its parity-check
array of
circulant matrices.
matrix , which is an
The idea is to use the correspondence in Fig. 1 to obtain the
from by applying Fourier transforms followed
matrix
and
on the rows and columns,
by the permutations
respectively, i.e., by moving from left to right in Fig. 1. For the
, being an
diagonal array of
matrices,
matrix
it is straightforward to obtain a matrix , which is also an
diagonal array of matrices with rank
such that
. The matrices on the diagonal of
are of size
, where
is an arbitrary sufficiently large integer.
and
on the rows and
Applying the inverse permutations
columns, respectively, of the matrix followed by the Fourier
, which is the desired matrix
transform yields a matrix,
. Notice that going from to
we move from right to
left in Fig. 1 although we apply the Fourier transform rather than
the inverse Fourier transform. The procedure to construct is
described in the following theorem and justified in its proof.
Theorem 5: Let
lant matrices and
be an
are
integer not less than
Let
and
array of
matrices. Let
circu, where
be a positive
be an
matrix of rank
for
. Let
be after applying the permutations
, respectively. Then,
such that
and
4035
is an
array of
and
then the matrices
is binary.
Proof: Since
, and
. Furthermore,
and columns of
,
for
, then
We notice that if
has rank
where
If
is binary, then one can constrain
to be binary by
choosing, for each cyclotomic coset leader , an
matrix
of rank
such that
. If
, i.e., and are in the same cyclotomic coset,
, modulo , then define
. Theorem 2 implies
is binary and since
is binary we have
,
that
. It remains to show that
and
where
for every
and every
coset representative . Using induction on , it suffices to show
and
that
if
and
. Suppose
and
that
are vectors over
. Then,
can be written as
and
is the inverse
is a
Fourier transform of . Since
nonsingular diagonal matrix, it follows that is a codeword in
if and only if
. Applying the permutations
and
on the rows and columns, respectively, of
to obtain the matrix
and the permutation
on
to obtain
, it follows that
the elements of
is a codeword in if and only if
. We can write
, where
and
. Since is a binary sequence,
should satisfy the conjugacy constraints
for
. As
, we have the
following result which characterizes the codewords in a QC
code in the transform domain.
Theorem 6: Let be a binary QC code with a parity-check
matrix
which is an
array of
circu,
lant matrices and
where
are
matrices. Then,
4036
and
if
is a codeword in
for all
if and only
where
,
,
,
, and
.
V. RANK ANALYSIS OF THE PARITY-CHECK MATRICES
OF TYPE-I ALGEBRAIC QC-LDPC CODES
In this and the next section, we give examples of parity-check
,
matrices of two types of algebraic QC-LDPC codes over
which are arrays of circulant permutation and zero matrices,
constructed based on base matrices over nonbinary fields. These
QC-LDPC codes were presented in our previous work [5], [23],
[30], [50], [51], [62], [63] and simulations in the cited work
showed excellent performance and low error floor over AWGN
channels as well as erasure channels with message-passing
algorithms. These two types of codes are constructed using
two different forms of base matrices. The base matrices of
the QC-LDPC codes of the first type are given in the form
of Vandermonde matrices. In a special case, the base matrix
for code construction is simply the conventional parity-check
matrix of a ReedSolomon (RS) code in terms of the roots
of its generator polynomial. The base matrices of QC-LDPC
codes of the second type are matrices whose entries are given as
differences (or sums) of two field elements. The fields for both
types of code constructions are restricted to be of characteristic
.
2, i.e., extension fields of
In this section, we first analyze the rank of the parity-check
matrix of a Type-I QC-LDPC code and give a combinatorial
expression for the rank. For a special case, we give a generator
matrix of the code in the form of arrays of circulant and zero
matrices and determine its minimum distance.
where
Let be an odd positive integer which divides
is a power of 2. Let be a prime factor of . Let
and
be two positive integers with
. Let be an
of order and
. Then, the order
element in
of is . We construct a binary
array, , of
circulant permutation matrices from the base matrix defined as
follows:
..
.
..
.
..
.
..
..
.
(2)
where
and
determinant of this submatrix is
. The
such that
for
. Here, we take
.
The matrix
should have rank
, i.e.,
if
is divisible by and
otherwise, and should
for
. Furthermore, if is binary,
satisfy
for
then from Theorem 5, we should have
.
We determine a generator matrix and the minimum distance
. Then, the rank of
is
if
of the code in case
is divisible by and zero otherwise. If is divisible by , let
, where is an
identity matrix and
is a column vector of
ones. If is not divisible by , then
, the all-zero
matrix. It is easy to check that
is
,
, and
the rank of
for
. Then,
,
, where
is an
circulant matrix. The entries
are given by the Fourier
transform
, for
and
, where
is the
entry of the matrix
.
is zero unless is divisible by and either
This entry
or
, in which case it equals 1. Hence,
is zero
4037
Fig. 2. Error performances of the (5080, 4575) and the (16129, 15372) QC-LDPC codes given in Example 1.
unless is divisible by
and either
which case it equals 1. In particular
..
.
..
.
..
or
..
.
, in
..
.
where
is an
circulant matrix with equally spaced 1s in each
array of
circulants
row. The matrix is an
of rank
.
To obtain a parity-check matrix of full rank for the dual code
of , which is a generator matrix for the code itself, notice
that the first
rows in
are linearly independent and any
rows. Hence, by deleting all rows
other row is one of the first
, from , we obtain an
with indices such that
generator matrix of full rank for the code .
This matrix can be used for encoding . From the structure of
this matrix, it follows that the minimum distance of the code is
in case
.
, the base matrix
We notice that, in the special case
given above is identical to the base matrix in Method-2 given
in [30] (see also [46]) except that the columns are multiplied
. As
by consecutive powers of , i.e.,
stated earlier, such multiplications do not change the rank of
the parity-check matrix. The construction gives an
parity-check matrix, which is an
array of
circulant permutation matrices. From (3), the rank of
.
this parity-check matrix is
Example 1: Let
be the field for constructing the base
is a prime,
matrix given by (2). Since
. Let
and
. Based on (2), we construct a
. Using this base matrix, we
4 40 base matrix over
can construct a binary 4 40 array of 127 127 circulants.
is a 508 5080 RC-constrained matrix with column and row
4038
Fig. 3. Error performance of the (8128, 4064) QC-LDPC code given in Example 2.
Next we use
as the base matrix and construct a 32 64
of circulant permutation and zero matrices of
array
is 4064 8128 matrix with column and
size 127 127.
row weight distributions close to the degree distributions given
gives an irregular (8128,4064)
above. The null space of
QC-LDPC code with rate 0.5. The error performance of this
irregular QC-LDPC code over the AWGN channel with 50
,
iterations of the SPA is shown in Fig. 3. At the BER of
the code performs 1 dB from the Shannon limit and at the
, it performs 0.6 dB from the sphere packing
BLER of
bound.
Next, we consider another construction which appeared in
[30] based on the additive groups of prime fields. Although
this construction may seem to be quite different from the one
considered in this section, a closer look reveals that they are
be a prime. Then, the set of integers,
closely related. Let
, forms the prime field
under moduloaddition and multiplication. Define
,
. Then,
is an
matrix over
where
. Replace the
entry, for
, in
by a
circulant permutation matrix whose first row is all-zeros
. This gives an
except for a single 1 at position
parity-check matrix which is an
array of
circulant
permutation matrices. To show that this construction, which appears in [30], is closely related to the construction specified by
the base matrix given in (2), let be a power of 2 such that
is divisible by and set
. Replace the
entry,
, in
by
, where is an element in
for
of order . Then, we obtain the base matrix given in (2). Reby a circulant permutation matrix whose
placing the entry
first row is all-zeros except for a single 1 at position
gives
the same parity-check matrix constructed in [30] based on the
,
additive groups of prime fields and, in the special case
the parity-check matrix of array codes [8]. From (3), the rank of
.
this parity-check matrix is
VI. RANK ANALYSIS OF THE PARITY-CHECK
MATRICES OF TYPE-II ALGEBRAIC QC-LDPC
CODES AND NEW CONSTRUCTIONS
In this section, we analyze the ranks of the parity-check matrices of algebraic QC-LDPC codes of Type-II. This type of
QC-LDPC codes contains several classes of codes constructed
in our previous work as subclasses [23], [30], [50], [51], [62]. In
addition to our analysis of the ranks of the parity-check matrices
of these known classes of codes, we present new constructions.
Our approach here follows that of Kamiya and Sasaki [22] who
derived an expression for the rank of a class of Type-II codes,
called MDS codes of length
. Here, we consider different
variations of this class.
Again we consider codes constructed based on fields of
characteristic 2. Let
and be a primitive element
of
, where is a power of 2. We denote the elements
of
in possibly two different ways
and
. For
, the base matrix of a
Type-II QC-LDPC code is defined as the following
matrix over
:
..
.
..
.
..
..
.
(4)
4039
is odd
, then
(6)
and the
. If
and
, then
while if
is
, then
the rank of
is
. If
and
then
and the rank of
is
rank of
is also
if
and
.
These conclusions can be summarized as follows:
and
and
and
,
. The
(7)
If we multiply the rows of by consecutive powers of
), we obtain the following base matrix:
..
.
..
.
..
(i.e.,
For
..
.
, we notice that
and we can write
..
.
(5)
..
.
..
..
.
4040
..
.
..
.
..
..
.
..
.
..
.
..
..
.
..
.
In particular,
from Theorem 4 that
..
..
.
..
..
..
.
..
.
..
.
..
..
.
or
..
.
..
.
(8)
..
.
..
.
..
.
..
.
(9)
. We conclude
In either case, the matrix has full rank based on its Vandermonde
may
structure. (It should be pointed out that the matrix
not have full rank if the s do not form a set of consecutive
. For example, let
powers of a primitive element in
and be a primitive element in
which is a root of
and
,
,
, and
.
For
, we have
and, in this case
has
rank three.)
The same conclusion holds for the matrix
, i.e., this matrix has full rank if the nonzero s,
, form a set of
consecutive powers of a primitive element in
regardless
of whether one or none of the s,
, is zero. In particular, if
or , then the nonzero s,
,
. Furare consecutive powers of a primitive element in
thermore, if
, then
and
for
. We conclude, in case
or and
the nonzero s form a set of consecutive powers of a primitive
element in
, that the rank of
is
for
and it follows from (10) that
(11)
(10)
where
is given by (6).
In the following, we consider some special cases. For
, if
and
have full ranks and at least one
of them has rank
, then
.
Notice that
has full rank if the nonzero s,
, form a set of consecutive powers of a primitive element
regardless of whether one or none of the s,
in
, is zero. Indeed, in this case, by properly permuting
the rows of
which has no effect on the rank, we may assume that
,
, for some integer ,
and either
if none of the s is zero and
if one of them is zero. Then, by dividing the th
,
, for
, by
column in
, we either obtain
or
depending on whether or not all the
s are nonzero, respectively. After this division, the resulting
matrix is either
4041
where
. Hence, from Theorem 4, the rank of the conbase matrix is
.
structed matrix based on this
The code whose parity-check matrix is has length
and
dimension
.
Suppose that
and let
for
,
, and
for
. Delete the
th column corresponding to
from the matrix in (14).
Multiplying the th column in the resulting
matrix by
for
and by
for
results in the
following
base matrix:
(12)
Together with (6) and (11), we obtain an expression for the rank
or and the nonzero s form a set of
of in case
consecutive powers of a primitive element in
. Actually,
in this case, if
, then we obtain the expression for
or ,
the rank as given in [22]. In particular, if
then the nonzero s
, are consecutive powers
of a primitive element in
. Using (12) and noticing that
and
, the
sum
is determined to be
in
the case
. From (7) and (11), we obtain
(13)
In case
, the code whose parity-check matrix
constructed from the base matrix has length
and
dimension
. It
should be noted that the code can be extended to be of length
by appending a column of ones to
the matrix in (4). This yields a base matrix of the form
..
.
..
.
..
....
..
(14)
where the s and the s are the elements of
. The constructed from this base matrix also satisfies the RC constraint.
Its rank can be computed from Theorem 4. The rank of
,a
binary matrix with zeros no two of which are in
a row or on a column, equals as given by (6). To find the rank
of
for
, we notice that this matrix can be
to the
written as in (8) after appending the column
last matrix. From this we conclude that
, where
is the same as in (9) and
is obtained by appending
the column
to
in (9). Both
and
have rank
. Hence,
for
.
Summing over
, we get
..
.
..
.
..
..
.
..
.
(15)
The rows of
are actually
codewords of the extended
RS code over
with two information symbols
and minimum distance
. The first
codewords have
weight
and the last row has weight . The parity-check
matrix constructed from the base matrix
given in (15) is
a
array
of
circulant permutation
and zero matrices. It is a
matrix over
with constant column weight
and two different
and . The matrix is RC constrained. For
row weights
, the rank of
is
. The null space of
gives
a QC-LDPC code with the following parameters: 1) length
; 2) dimension
; and 3) minimum
distance at least .
Consider the parity check matrix with the base matrix
given in (5). Let
. Then, it follows from the analysis
given above that the rank of
of is
. Since
is an
RC-constrained
matrix over
with
both column and row weights
, the null space of gives a
-regular QC-LDPC code of length
with
minimum distance at least
. The dimension of this code
is
.
be the field for code construction.
Example 3: Let
Based on (5), we form a 63 63 base matrix
over
.
, we can construct a 63 63 array
of 63 63
Using
is
circulant permutation and zero matrices of size 63 63.
an RC-constrained 3969 3969 matrix over
with both
is
.
column and row weights 62. The rank of
The null space of
gives a (62,62)-regular (3969,3243)
QC-LDPC code of rate 0.817 and minimum distance at least
63. The error performance of the code over the AWGN channel
with 50 iterations of the SPA is shown in Fig. 4. At the BER of
, the code performs 1.6 dB from the Shannon limit and at
the BLER of
, it performs 1.2 dB from the sphere packing
bound.
from , say the
Suppose we take a 6 63 subarray
first 6 rows of circulant permutation and zero matrices. This subcontains 6 zero matrices in 6 different columns,
array
and no two in the same row.
is a 378 3969 matrix
with constant row weight 62 but two different column weights 5
and 6. From (6), (11), and (12), we find that the rank of
is 324. Thus, the null space of
gives a near-regular
4042
Fig. 4. Error performances of the (3969, 3243) and the (3969, 3645) QC-LDPC codes given in Example 3.
..
..
.
..
.
(16)
is
but
has
rows.
least . The rank of
Therefore, has
redundant rows. For large ,
has large row redundancy which enhances the performance
of the code with iterative decoding.
and be two positive integers with
.
Let
be any
subarray of given by (16).
Let
Then,
can be used as a base matrix to construct a
which is an
array of
parity-check matrix
circulant permutation and zero matrices of size
.
constructed based on
given in (16).
It is a subarray of
is an
matrix with
Hence,
two possible column weights
or
and two possible
or
. The null space of
gives
row weights
an RC-constrained QC-LDPC code with minimum distance at
least
whose Tanner graph has girth at least 6. For
,
can be deterthe rank of the parity-check matrix
mined from (6), (11), and (12). For a given field
with
as a power of 2, using the base matrix given by (16) and its
submatrices, a family of RC-constrained QC-LDPC codes can
be constructed.
be field for code construction.
Example 4: Let
over
of the form
Construct a 64 64 base matrix
given in (16). Based on , we construct a 64 64 array
of
is
63 63 circulant permutation and zero matrices. Then,
with both column and row
a 4032 4032 matrix over
weights 63. The rank of is
. The null space of
gives a (63,63)-regular (4032,3304) QC-LDPC code of rate
0.819 and minimum distance at least 64. The bit and block error
performances of this code over the AWGN channel decoded
with 50 iterations of the SPA are shown in Fig. 5. At the BER of
, the code performs 1.6 dB from the Shannon limit and at
, it performs 1.2 dB from the sphere packing
the BLER of
bound.
from , say
Suppose we take a 6 64 submatrix
the first 6 rows of , and use it as a base matrix to form a
4043
Fig. 5. Error performances of the (4032, 3304) and the (4032, 3708) QC-LDPC codes given in Example 4.
parity-check matrix
which is 6 64 subarray of
constructed from . Then,
is a 378 4032 RC-constrained matrix with constant row weight 63 and two column
weights 5 and 6. From (6), (11), and (12), the rank of
is 324. Thus, the null space of
gives a (4032,3708)
QC-LDPC code of rate 0.92. The error performance of this code
over the AWGN channel decoded with 50 iterations of the SPA
, the code performs
is also shown in Fig. 5. At the BER of
1.15 dB from the Shannon limit and at the BLER of
, it
performs 0.8 dB from the sphere packing bound.
VII. QC EUCLIDEAN GEOMETRY LDPC CODES
In the previous two sections, we applied our matrix-theoretic
approach to construct LDPC codes from base matrices. In this
section, we will do the opposite and deconstruct LDPC codes
to obtain their base matrices. From these base matrices, we can
construct a class of QC-LDPC codes which is much larger than
the class we started with. The codes we are considering here are
RC-constrained cyclic Euclidean geometry codes specified by
2-D Euclidean geometries over fields of characteristic 2.
over
Consider the 2-D Euclidean geometry
[32], [33], [46]. This geometry consists of
points
lines. A point in
is simply a two-tuple
and
over
and the zero two-tuple
is
is simply a 1-D subspace
called the origin. A line in
or a coset of a 1-D subspace of the vector space of all the
two-tuples over
. A line consists of points. If a point
is on a line in
, we say that the line passes
are connected
through the point . Any two points in
by a line. Two points are connected by one and only one line
. For every point in
, there are
in
lines that intersect at (or pass through) the point .
, as an extension field of the ground field
The field
, is a realization of
. Let
be a primitive
element of
. Then, the powers of ,
4044
VECTOR
=(
l ;l ;
...
TABLE I
;l
,
. Since only
and all the other
components in
are zero, we have
,
and
. For the zero section
,
.
and
, we form the -tuple
For
over
and
the corresponding vector
, where
. From the cyclic structure of lines, we
for every line
in
.
can determine the vector
and
, the component at
Indeed, for
position
in the incidence vector of is 1 if and only
in the incidence
if the component at position
is 1. The first component resides at the th position
vector of
while the second component resides
in the th section of
at the
th position in the
th section
. It follows that if
, then
of
. In particular, if is a multiple of
, then
for
, i.e.,
is obtained
by
. On the other hand, for
,
by multiplying
we have
matrix over
:
..
.
..
.
..
.
..
..
.
..
.
(17)
is taken modulo . From the structure
where the power
of shown previously, we see that every row is a cyclic-shift
of the row above but when the rightmost component is shifted
around to the leftmost position, it is multiplied by . Therefore, in forming the matrix , we only need a line (any line)
. Every row and every column contains one and
in
only one zero element. The matrix has both column and row
weights
.
forms a base matrix for a QC code with
The matrix
constructed as follows. Reparity-check matrix
of ,
, by a
place each nonzero entry
circulant permutation matrix over
whose 1-component of the top row is at the th position and
zero matrix. This gives
each zero entry by a
array
of circulant permutation and
a
4045
Fig. 6. Error performances of the (63, 37) QC-LDPC code given in Example 5.
where
. Then, for
transforms of these
following nine-tuples
:
nine
over
Replacing each nonzero entry of by a 7 7 circulant permutation matrix whose first row has a one-component in position and each zero entry by a 7 7 zero matrix, we obtain a
of circulant permutation and zero matrices
9 9 array
of size of 7 7. Then,
is a 63 63 matrix of rank 26
with both column and row weights 8. Its null space gives a (63,
37) QC-EG-LDPC code with minimum distance 9. Its error performance over the AWGN channel with 50 iterations of the SPA
4046
Fig. 7. Error performances of the (1023, 877) QC-LDPC code given in Example 6.
Example 6: In this example, we use the 2-D Euclidean gefor code construction. Then,
,
ometry
and
. The base matrix is given
are listed in Table I. Replacing each
in (17) where
of by a 31 31 circulant permutation manonzero entry
trix whose first row has a one-component in position and each
zero entry by a 31 31 zero matrix, we obtain a 33 33 array
of circulant permutation and zero matrices of size of
31 31. Let us choose
and
and form the
of
. Then,
is a
subarray
whose rows have weight 32 and
186 1023 matrix over
whose columns have weight 5 or 6. The rank of
is 146. Its null space gives a (1023, 877) QC-LDPC code whose
minimum distance is at least 5. The error performance of the
code over the AWGN channel with 50 iterations of the SPA is
, the code performs 1.8 dB
shown in Fig. 7. At the BER of
from the Shannon limit and at the BLER of
, it performs
1.1 dB from the sphere packing bound.
VIII. CONCLUSION AND REMARKS
The approach we developed in this paper is suitable for the
study of QC LDPC codes. Based on this approach, we can determine the ranks of QC codes and parity-check matrices for their
dual codes. In our future study, we intend to build on this approach. In particular, we would like to determine the minimum
distance of QC codes. Also, we would like to determine the minimum size of a stopping set and the minimum size of a trapping
set which characterize the performance of LDPC codes over erasure and error channels, respectively. These two features depend
on the particular parity-check matrix used. We would like to see
how these features associated with parity-check matrices, which
are arrays of circulant matrices, translate into features associated
4047
4048
[63] L. Zhang, S. Lin, K. Abdel-Ghaffar, Z. Ding, and B. Zhou, Quasicyclic LDPC codes on cyclic subgroups of finite fields, IEEE Trans.
Commun., vol. 59, no. 9, pp. 23302336, Sep. 2011.
Qiuju Diao received the B.S. degree from Xian University of science and technology in 2007, in electrical engineering. She is currently working toward the
Ph.D degree in electrical engineering at the University of California, Davis. Her
research interests include coding theory and its applications to communication
and storage systems.
Qin Huang received the B.E. and M.E. degrees from Southeast University, Nanjing, China, in 2005 and 2007, respectively, both in electrical engineering, and
the Ph.D. degree in electrical engineering from the University of California,
Davis, in 2011. He joined in Link-A-Media Devices Corporation, Santa Clara,
CA, in 2011. He is currently an associate professor in Beihang (BUAA) university, China.
His research interests include classical and modern coding theory, signal processing, and their applications on communications and storage systems.