You are on page 1of 4

The 11th International Symposium on Communications & Information Technologies (ISCIT 2011)

A Simple Algorithm for a High Code Rate LDPC Parity Matrix Design
Sekson Timakul* and Somsak Choomchuay**
*
College of Data Storage Technology and Applications, King Mongkut‟s Institute of Technology Ladkrabang,
Bangkok 10520, Thailand
Tel:/Fax: + 66-2-326-4731, E-mail: sekson.timakul@gmail.com
**
Faculty of Engineering, King Mongkut‟s Institute of Technology Ladkrabang, Bangkok 10520, Thailand
Tel: +66-2-329-8344 Ext.114, Fax: +66-2-329-8346, E-mail: kchsomsa@kmitl.ac.th

ABSTRACT in this paper, propose an arithmetic sequence in defining


those circulant sub-matrices designs.
This paper presents a simple method in designing a
The rest of the paper is organized as follows. In
parity matrix of low density parity check codes.
section 2, we will explain briefly the LDPC structure. In
According to its use the use of arithmetic sequence is
section 3, an arithmetic sequence as well as its
ideal for high rate code with no existing of cycle 4. The
contribution to LDPC codes will be outlined. In section
design is applicable to array code, modified array code,
4, the parity check matrix design will be given in more
and quasi cyclic code. Upon the investigation, the
details. In section 5, we will show some obtained results
designed code has delivered a similar BER-SNR
according to the algorithm used. Finally in section 6, we
performance when compared with that of more
complicate designed matrices. will conclude the paper.

2. LDPC STRUCTURE
Index Terms -- LDPC code, arithmetic sequence, The LDPC code is a linear block code defined by a
High code rate. spare parity check matrix. In its originally proposal, the
parity check matrix elements are randomly generated.
1. INTRODUCTION The condition for random parity check matrix
construction is that the number of „ones‟ in each row and
A Low Density Parity Check (LDPC) code was firstly
each column of a sparse matrix must be the same. This is
proposed by Gallager in 1962 [1]. According to the
known as regular LDPC codes. However for an irregular
good performance of LDPC codes that close to channel
structure, this condition is not restricted. Most common
limit over AWGN channel [2], this types of codes has
way to design a large matrix is to break the large one
recently become more attractive. However, the code
into several sub-matrices. LDPC codes with symmetrical
performance is heavily depended on the content and
sub-matrices are given in brief as follows.
structure of H matrices. There has been a huge report in
finding the most suitable matrix. Unfortunately, so may
2.1 Arrays LDPC (AC)
be none of those is the better. In the case of LDPC codes
Array codes are error-correcting codes that have the
with random H matrix, a big memory size is
unavoidable, in particular not easy for the large block capability to correct error bursts using an algebraic
length code. Then, it is to access the memory efficiently decoder can be fully incorporated into a soft the code
in data encoding. The method used in matrix design can iterative decoding scheme with a normal algebraic
be either random or with some mathematical rule. For decoder. The symbols for array codes can be very large,
making them especially suitable for correcting longer
instance, Mackey [2] has done a lot of work in random
burst. Fan [3] proposed a construction of structured
matrix generation, Fan [3] has proposed an array codes,
parity check matrix which is known as array LDPC
and Eleftheriou [4] has introduced a modified array
codes. Since the construction complexity is lower than
codes. All have tried different methods to obtain a
that of the random construction, the array LDPC code
consistent matrix and to overcome the memory problem.
can be possibly implemented with the simple coding
Chusin [7] has proposed modified array and
interleave-modified array with CRT method for devices.
assigning a high rate code. This method seems still Arrays LDPC with a regular structure is generally
specified by three parameters; a prime number p for
request large permutation size. To reduce the
permutation size and the complexity of the design, we, permutation size and two positive integer‟s k and j for
row and column weights of a parity check matrix H.

U.S. Government work not protected by U.S. copyright 558


Let 2  j  k  p and let H be pj  pk , an array of always added (or subtracted) by a constant value. The
circulant sub-matrices can be shown below: amount for adding (or subtracting) is called the common
difference dseq .
A sequence a1 , a2 , a3 ,..., an is an arithmetic sequence
if there is a real number dseq . Such that for every
th
positive integer k , the n term of an arithmetic
sequence is written as:
(1)
ak  1  ak  d (3)

where I is an identity matrix. The permutation matrix For example: arithmetic sequence A with
is generated from I in such a way that p or p n is a one a1  2, d  2, n  8 , can be written as
place right shift of I. A  {2, 4, 6, 8, 10, 12, 14, 16} . An arithmetic sequence
has been applied to H matrix construction for some
2.2 Modify Array LDPC (MAC) years. Tanner et al. [7] has proposed a design of H
For an efficient encoding scheme of a LDPC codes, matrix by using an integer ring and the concept of Galois
Eleftheriou and Olcer [4] have proposed the modified field. A specific constant is chosen to perform
array codes (MAC) by applying cyclic shifting to Fan‟s multiplication to each row and each column. This
array. MAC offers superior performance to Fan‟s array method seems work well despite the use of big
as it can reduce number of “1” in the lower-left triangle. permutation size in particular when the code is of high
This leads to a simpler encoder while preserving other rate. The said above attempt is to disperse the number of
LDPC‟s features. shifts such that cycle 4 could be avoided. Later, Huang
et al. [8] proposed the method of quadratic congruences
in their design. The relationship ( a  b)2 mod p where
a and b are sets of column multiplier and sets of row
multiplier respectively. Of similar performance when
compared with what proposed by Tanner, method still
(2) have such a same restriction when the code rate is high.
In 2009 Esmaeili et al. [9] have applied an arithmetic
explicitly sequence to array code by Fan [3]. The proper
suggested sequence was carried out the application of
2.3 Quasi-Cyclic LDPC (QC) the constant dseq , whilst the improper one didn‟t restrict
A Quasi Cyclic code is also a class of cyclic code that
the sub-matrix is a right-shift version of its left hand sub- to the constant dseq . This method can be used to design a
matrix. It has been studied intensively by Fossorier [6]. high rate code with not too high permutation size. They
The QC-LDPC codes have a parity-check matrix which later shown that the improper sequence yielded slightly
consists of square blocks that are either full-rank better performance compared to the proper sequence
circulants, or zero matrices. Let m be a row weight and [10]. The obtained performance is also similar to that of
n be a column weight and m  n  p , the H matrix of a a random method in finding the circulant matrix.
QC-LDPC codes can be constructed as given by Eqn. (3) Obviously there are some requirements when one
below. wants to design a good matrix for a high rate code. They
are, for instance; not too big permutation size, simple
way to generate a sequence, and no existence of cycle 4.
In the following sections we will demonstrate the simple
way to generate the sequence with no existence of cycle
4. Moreover, we will demonstrate the extension of the
(3)
same idea to design a matrix of MAC and QC-LDPC.

4. CONSTRUCTION OF H MATRIX
3. ARITHMETIC SEQUENCE
In this section the application of an arithmetic
An arithmetic sequence or arithmetic progression is a sequence in H matrix design is elaborated. Three code
linear function goes from one term to the next term by

559
types, array codes, MAC, and QC-LDPC codes are For the case of QC-LDPC, neither the first row nor the
investigated. We first determine j , k to figure out the first column is holding zero shifts or be zero matrices.
code rate; R  1  j / k . Then any value of p which is a The common difference of the sequence can now go up
to 4. The obtained matrix is shown in Fig. 4 below.
prime can be easily chosen provided that 2  j  k  p .
We are also free to choose the common difference dseq Column Index k
H 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

Row Index j
of a sequence of any row. However, the same number of 1 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
2 2 4 6 8 10 12 14 16 18 20 22 1 3 5 7 9 11 13 15 17
dseq among the difference rows should be avoided in 3 3 6 9 12 15 18 21 1 4 7 10 13 16 19 22 2 5 8 11 14
4 4 8 12 16 20 1 5 9 13 17 21 2 6 10 14 18 22 3 7 11
order to guarantee the no existence of cycle 4 in the
Fig. 4. The H matrix of QC-LDPC structure
system.
The base matrix H includes elements of blank, zero
and non-zero integer. The element of blank (-) can be One may note that the construction of the parity check
expanded as a p  p zero matrix. The element of non- matrices detailed above is extremely simple and we can
zero integer is expanded as a cyclically-shifted p and guarantee the no existing of cycle 4.
In the above example, we have demonstrated the
zero (0) is expanded as identity matrix I.
formulation of the H matrix by using the idea of
As an example, we assume these parameters;
arithmetic sequence instead of conventional permutation.
j  4, k  20, p  23 , while letting the common difference Although the common differences above are only given
dseq  1,  2 , and 3 respectively. The obtained matrix positive, with no restriction they can be negative. We
of an array code is shown in Fig. 1 below. One may note have used both positive and negative difference in
that the shown matrix is not yet ready to use since many designing a longer block. We have investigated the
number of shifts are greater than 23. We can bring back concept by designing an LDPC code with the block
those too-big numbers by taking modulo p . The new H length of 4,355 bits and with the code rate of 0.92. This
length and this rate particularly suit well the requirement
matrix is then obtained and shown in Fig. 2.
of data storage applications. The design parameters are
given in table I below.
Column Index
H 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
Row Index

1
2
0
0
0
1
0
2
0
3
0 0 0 0 0 0 0 0
4 5 6 7 8 9 10 11
0
12
0
13
0
14
0
15
0
16
0
17
0
18
0
19
Table I: Design Parameters for N=4355 and R=0.92
3 0 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 32 34 36 38
4 0 3 6 9 12 15 18 21 24 27 30 33 36 39 42 45 48 51 54 57 Parameter LDPC Structure

AC MAC QC
Fig. 1. The H matrix of Array LDPC structure

dseq {1,2,-1} {1,2,-1} {1,2,-1,-2}


Column Index
H 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
j, k, p 5, 66, 67
Row Index

1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
2 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
3 0 2 4 6 8 10 12 14 16 18 20 22 1 3 5 7 9 11 13 15 N, K, M 4355, 4020, 320
4 0 3 6 9 12 15 18 21 1 4 7 10 13 16 19 22 2 5 8 11

Code rate 0.92


Fig. 2. The H matrix of Array LDPC structure after modulo by
permutation size p

To obtain the MAC structure, we can let the lower-left 5. PERFORMANCE EVALUATION
conner sub-matrices be blank. Then the last blank sub- LDPC codes with the said parameters have been
matrices is followed by a zero sub-matrices before simulated the obtain performance is shown in Fig. 5. The
starting the normal arithmetic sequence with propose. results are compared to Esmaeili [10] and Mackey
The obtained matrix is shown in Fig. 3. structure 4376.282.4.9598 [11] (N=4376, K=4094,
M=282, R= 0.9356). To get the simulation result within
H 1 2 3 4 5 6 7
Column Index
8 9 10 11 12 13 14 15 16 17 18 19 20
a reasonable time, we limited our simulation to only 20
iterations. The obtained result is shown in Fig. 5. Our
Row Index

1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
2
3
-
-
0
-
1
0
2
2
3
4
4
6
5
8
6 7 8 9 10 11 12 13 14 15 16 17 18
10 12 14 16 18 20 22 1 3 5 7 9 11
proposed AC structure yields relatively poor
4 - - - 0 3 6 9 12 15 18 21 1 4 7 10 13 16 19 22 2 performance. The QC and MAC structures similar
Fig. 3. The H matrix of MAC LDPC structure performance when compared to array code given in [10].
All our design has performance better than Mackey
4376.282.4.9598. It should be noted that ours and

560
Mackey are not quite exactly the same condition. So, [4] E. Eleftheriou and S.Olcer, “Low-density parityCheck
parity check matrix of Mackey to verify our method. Codes for Digital Subscriber Lines,” Proc. 2002 Int. Conf.
on Comm., pp. 1752-1757, April-May 2002.
-1
LDPC [5] M. P. C. Fossorier, “Quasi-cyclic low-density parity-
10
check codes from circulant permutation matrices,” IEEE
-2
Trans. Inform. Theory, vol. 50, no. 8, pp. 1788–1793,
10
Aug. 2004.
[6] R. Michael Tanner, D. Sridhara, A. Sridharan, T. E. Fuja, .
-3
10 and D. J. Costello “LDPC Block and Convolutional
Codes Based on Circulant” IEEE Trans. Inf. Theory, vol.
50, pp. 2966-2984, 2004
BER

-4
10
[7] C. Chusin, C. Prasartkaew, S. Timakul and S.
-5 Choomchuay, “A design of nonprime block irregular
10 QC ( j=5, k=66, p=67, N=4442, R=0.92)
AC ( j=5, k=66, p=67, N=4442, R=0.92)
LDPC codes via CRT” International Symposium on
-6
MAC ( j=5, k=66, p=67, N=4442, R=0.92) Communications and Information Technologies (ISCIT-
10 Proper [10] ( j=5, k=67, p=67, N=4442, R=0.92) 2010). pp. 1050-1055, Oct. 2010
Improper [10] ( j=5, k=67, p=67, N=4442, R=0.92)
Makey ( j=4, k=63, N=4376, K=4094, R=0.9356)
[8] C. M. Huang, J. F. Huang, and C. Chin
-7
10
3.5 4 4.5 5
Yang"Construction of quasi-cyclic LDPC codes from
Eb/No (dB) quadratic congruences," IEEE Commun. Lett., vol. 12, pp.
313-315, Apr 2008.
Fig. 5. Simulation results of our proposed method and Ref.[10] [9] M. Esmaeili and M. J. Amoshahi, “On the stopping
distance of array code parity-check matrices,” IEEE
Trans. Inf. Theory, vol. 55, no. 8, pp. 3488-3493, Aug.
2009.
[10] M. Esmaeili, M. J. Amoshahi and T. A. Gulliver “More on
6. CONCLUDESION the Stopping and Minimum Distances of Array Codes,”
In this paper we have presented a very easy and IEEE Trans. on.Communication, vol. 59, no. 8, pp. 750-
quickly design technique of a parity check matrix of 757, Mar. 2011.
LDPC codes. The construction is basically the extension [11] http://www.inference.phy.cam.ac.uk/mackay/codes/EN/C/
of work proposed by Esmaeili [9, 10]. However, a 4376.282.4.9598.gz
considerable improvement in the code‟s performance is
achieved. An application of the idea to MAC and QC-
LDPC are additionally investigated. With the similar
block length and code rate, the obtained result is
comparable to that given by Esmaeili[10] and better than
that of a random method suggested by Mackey
4376.282.4.9598.

ACKNOWLEDGMENTS
This work is partially supported by the College of
Data Storage Innovation, King Mongkut‟s Institute of
Technology Ladkrabang (DSTAR, KMITL) and
National Electronic and Computer Technology Center
(NECTEC), National Science and Technology
Development Agency (NSTDA) under scholarship
HDD-01-52-05D.

REFERENCES
[1] R. G. Gallager, “Low-density parity check codes,” IRE
Trans. Info. Theory, vol. IT-8, pp. 21–28, 1962.
[2] D. J. C. MacKay and R. M. Neal, "Near Shannon limit
performance of low-density parity check codes," Electron.
Lett., vol. 32, pp. 1645, 1996.
[3] J.L. Fan, “Array Codes as low-density parity-check
codes,” Proc. 2nd Int. Symp. Turbo Code, Beit, France, pp.
543-546, Sept. 2000.

561

You might also like