Download as pdf or txt
Download as pdf or txt
You are on page 1of 4

ICWMMN2006 Proceedings

A Design ofLDPC Codes with Large Girth Based on


the Sub-matrix Shifting
Jun Fan, Yang Xiao

Institute of Information Science, Beijing Jiaotong University, Beijing 100044, P. R. China


E-mail: fanjun562@126.com

Abstract
BER performance of the proposed codes are near to that of
In this paper, we present an approach for constructing LOPC random LOPC codes.
codes with girth 8. First, we design 3 submatrices with The paper is structured as folIow. In Section 2 we analyzing
different shifting functions given by our schemes, then the figures of 4-cycles and 6-cycles in check-matrix and
combine them into a matrix according to our approach, finalIy, Section 3 introduces the check algorithm of 4-cycles and 6-
expand the matrix into a desired parity-check matrix using cycles. In Section 4 we present the design algorithm of check-
identity matrices and cyclic shift matrices of the identity matrix. In Section 5 we describe the encoding method.
matrices. The simulation results in AWGN channels show Section 6 estimates the performance of our codes for AWGN
that these codes which can be obtained by the generator channels via computer simulations. Finally, In Section 7 we
matrix derived from this check matrix for encoding the make some conclusions.
random information bits are as good as random LOPC codes.
2 Definition of the cycle
Keywords: Communication, LOPC codes, 4-cycles, 6-cycles, tree,
check algorithm. Gaiiager defined an (n, i . k) LOPC code with a matrix H of
n columns that has j ones in each column, k ones in each
1 Introduction row, and zeros elsewhere. It follows from this definition that a
(n,j ,k) parity-check matrix has m=nj /k rows [1,2]. A
Low-density parity-check (LOPe) codes were originally
introduced by Gallager [1,2]. They have again become bipartite graph with m check nodes and n bit nodes can be
interesting because of the success of iterative decoding for created with an edge between the bit and check nodes if there
turbo codes [3-7]. LOPC codes have a remarkable is a corresponding I in the parity-check matrix H . Such a
performance with iterative decoding that is very close to the graph is frequently called a Tanner graph [4]. A cycle in a
Shannon limit over additive white Gaussian noise (AWGN) Tanner graph refers to a finite set of connected edges that
channels [3-7]. LOPC codes can be described by a bipartite starts and ends at the same node, and satisfies the condition
graph calIed Tanner graph [4]. Cycles in the Tanner graphs of that no node (except the initial and final node) appears more
LOPC codes prevent the sum-product algorithm from than once [8-16]. The length of the cycle is simply the
converging [8-16]. Extensive simulation results of MacKay number of edges it contains, referring Fig.l.
and Neal show that the message-passing algorithm also The length of the smallest cycle in the graph is called the girth
performs well in graphs with cycles [6]. Most methods for of the graph. The computation of girth at a given node u is
designing LOPC codes are based on random construction easy: a tree is "grown" step by step starting from the "root" u .
techniques, the lack of structure implied by this randomness At step k, alI the nodes at distance k from u are included
presents serious disadvantages in terms of storing and into the tree. This procedure is repeated until at step k , a
accessing a large parity-check matrix, encoding data, and node connected to at least two nodes included at step k - 1 is
analyzing code performance (e.g. determining a code's included. This identifies the formation of the first cycle.
distance properties). One of the first attempts to design a
Integer 2k is then the girth at node u . Fig.1 shows a cycle in
deterministic LOPC code for iterative decoding is due to Kou,
tree.
and it is based on projective and Euclidean geometries , the
Fig.2 and Fig.3 shows a 4-cycle and 6-cycle in tree,
girth of the associated Tanner graph is six [3]. This LOPC
respectively . We try to design a check matrix with no 4-
codes can be decoded by belief-propagation algorithms [7].
cycles and 6-cycles.
Recent research results [8-16] about LOPC codes with large

£~~
girths show that there are many possible ways to construct the
LOPC codes with large girths. However, some of the
constructions [8-16] are not satisfied for application due to . . . ...
the complicated constraints for the structures of parity check
matrices. To solve the problem, this paper provides a
different construction of LOPC codes with large girths, the
~'~:~.. ~:.~-~
• cyc l e

Figure .1: A cycle in tree


This work is supported by NSFC under grant: 60572093.
rows combinations w is:
mx(m-I)
2
w=c =----
m 2
(2) For the i'th combination of 2-rows, "I" in the first row
Figure .2: A 4-eycle in tree don't change, "I" in the second row tum to "2". Add up the
6· o - ....-
0 - -
two rows and we can get a sum row. In the sum row, the

A:tJ. column which has "3" can construct 4-cycle with other same
kind of columns. Marking the number of "3" as num _ 3 .

ii~Vt'iJ'OM6()0006
Assume p(i) is the number of 4-cycles in the i 'th
combination of2-rows. We can find p(i) as follow:
Figure.3: A 6-eycle in tree
A. Figures of 4-cycles in check matrix p(i) = C;um _3
In a tree, check nodes represent rows in check matrix, and (3) The number of 4-cycles in check matrix is:
variable nodes represent columns. In Fig.2, two "I" (we w
marking them as ml and m2) in row a belong to column S = LP(i)
band c respectively, two " I" (we marking them as m3 and i=1

m4 ) in row d belong to column band c respectively, so B. The check algorithm of 6-cycles


the figure of 4-cycle in check matrix as shown in FigA. If If there is a check matrix H , row number is m , column
there are no figures as shown in FigA in check matrix, there number is n. Fig.5 shows that a 6-cycle must be in 3 rows.
are no 4-cycles in the Lope codes. So, we can calculate the number of 6-cycles in all possible
B. Figures of 6-cycles in check matrix combinations of3 rows in check matrix and then add them.
Fig.3 shows that ml and m2 in row a belong to column The check algorithm of the 6-cycles is as follow:
band c respectively , m3 in column b belongs to row d , (l) Taking out 3 rows in check matrix. The number of3-rows
m4 in column C belongs to rowe, m5 in row d and m6 combinations w is:
in row e belong to column f (ml , m2 , m3 , m4 , m5 , m6 w
3 m(m-I)(m-2)
= C =---'---'----'--'-----...:...
represent six ones in 6-cycle), as shown in Fig.5. m 6
We know that six ones in 6-cycle belong to 3 rows and 3 (2) For the i'th combination of 3-rows, "I" in the first row
columns equally, so we can get the number of 6-cycles with don't change, "I " in the second row tum to "2" , "I" in the
different figures by the following way: third row tum to "4". Adding up the three rows we can get a
3 sum row. In the sum row, calculating the number of "3", "6",
n =~ =6
"5" and "7" , marking them as num _ 3 , num _ 6 , num _ 5 and
01
I., num _ 7 . Assume p(i) is the number of 6-cycles in the i 'th

lit]:
Figure.4 : 4-eycle in a
check matrix
"'
.. ..
.

Figure.5 : 6-eycle in a
check matrix
combination of3-rows. We can find p(i) as follow:
p(i) = num _ 3 x num _ 6 x num _ 5 + num _ 7 x
num - 6 x num - 5 + num - 3 x num - 7
x num - 5 + num - 3 x num - 6 x num - 7.
(3) The number of6-cycles in check matrix is:
w

-=i I
1=-1 S = Lp(i).
i=1

'I _0
Figure.6: Six kinds of 6-eycles with different figures Figure.7: 4 different kinds of columns in 3 rows

3 The check algorithm of the girth 4 Design algorithm of check matrix


A. The check algorithm of 4-cyc1es If there is a check matrix H , row weight is v (v >3), column
If there is a check matrix H , row number is m , column weight is 3. We design three submatrices D , E , F , combine
number is n. FigA shows that a 4-cycle must be in two rows.
them into matrix HI ' HI = [D E F ], transpose HI to If 2 ,
So, we can calculate the number of 4-cycles in all possible
combinations of two rows in check matrix and then add them. expand If 2 into desired parity-check matrix H using identity
The check algorithm of 4-cycles is as follow: matrices and cyclic shift matrices of the identity matrix
(I) Taking out two rows in check matrix. The number of 2- randomly.
A. Design algorithm of submatrix D
The design algorithm of D is as follow:
2
(1) Designing a matrix Do with dimension v x v .

Do (1,1) = Do (2,1) = Do (3,1) = ... = Do (v,l) = 1 , other


elements are "0".
1 0 o 0 o
1 0
L et H 2 = HI T . 0 f H 2 IS
,th e diimension . 3v 2 x v 3 .
o
o 0 0 0 vxv 2 D. Expansion of H 2
1 2 3 ;~ The expansion algorithm is as follow:
(2) Let~ =Do ,D2 =Do , D3 = Do , "', DV2_ I = Do ' where
(1) If there is an identity matrix I with dimension p x p .

Dok represents circularly shift Do for k steps. 100

T . . .. v3xv2
o 1 0
(3) Let D=[Do,Dl'D2,",Dv2_I] and Its dimension IS 1=
o
B. Design algorithm of submatrix E o 0 pxp
The design algorithm of E is as follow:
1 2 p-I h k
( 2) Let II = I ,1 2 = I ,"', I p-I = I ,were I represents
(1) Designing a matrix Eo with dimension V x v2 .
circularly shift I for k steps.
Eo (1,1) = Eo (2,2) = Eo(3,3) = ... = Eo(v, v) = 1, other elements
(3) Exchanging "1" in H 2 by elements in set
are "0".
1 0 ... 0 0 ... 0 {I, 11,12 , " ' , I p-I} randomly and exchanging "0" by null
0 1 matrices with the same dimension as I , and then we get the
Eo =
0 2 3
check matrix H ,dimension is 3pv x pv .
0 0 1 0 ... 0
Let v = 6, p = 4 , we can get a check matrix, row weight is 6,
2
vxv

T
(2) Let EI = [Eo, Eo, "', Eo] ,the number of Eo included in column weight is 3. Calculating the number of 4-cycles and
6-cycles in the check matrix by the check algorithm, we find
£1 is v.
there are no 4-cycles and 6-cycles, so the girth of LDPC code
v 2v (v-I)v k
(3) Let E 2 = E I ,E3 = EI ···Ev = EI ' where E I designed by this check matrix is 8.

represents circularly shift EI for k steps.


5 Encoding
(4) L et E = [EI, E 2, "', E v]T , d'imension
. .IS v 3 x v 2 .
All the correctors in check matrix are with addition and
multiplication modulo 2 in Galois field GF(2) , we can define
c. Design algorithm of submatrix F H as
The design algorithm of F is as follow:
2
(1)
(1) Designing a matrix Fo with dimension vxv
2
where VI is a low-density matrix with dimension
Fo( l ,l ) = Fo(2, v + 1) = Fo(3,2v + 1) = ... = Fo(V' v -v+ 1) = 1 2
K x (N - K), K = 3 pv ; V2 is a low-density invertible square
other elements are "0".
1 0 ... 0 0 0 matrix 0 V 2 -1 is the inversion matrix of V 2 .
00 .. · 0 1 0 .. · 0 According to the encoding theory of the linear coder 1-7]: we
o can get the generated matrix ofLDPC code by:
o ... 0 0 . .. 0 1 0 vxv 2
k
GT =[ E ] (2)
1 2 3 v-I 1U
(2) LetF} = Fo ' F2 = Fo ' F3 = Fo ,"', Fv-I = Fo ,where U -
2 1

Fok represents circularly shift Fo for k steps. where E k is an identity matrix with dimension K xK .

T We can encoding LDPC code as follow:


(3) Let r, = [Fo' F},... , F v- I ] .
C =m x G (3)
(4) Let F = [Fv' Fv"'" Fv]T , there are Fv 's of number v in F , where m = (m N - 1 , mN - 2 , " ", mN - K ) is a set of information
so the dimension of F is v x v
3 2
.
with K information bits. So we can get an LDPC code by m
and G.
We can get HI by the following way:
6 Performance evaluation
We compare by simulation the bit error rate (BER) of the [3] Y. Kou, S. Lin, and M. P. C. Fossorier, "Low-density
codes designed in this paper with the BER of randomly parity-check codes based on finite geometries: A
constructed LDPC codes [17], which are free of 4-cycles in rediscovery and new results ," IEEE Trans. Inform.
additive white Gauss noise(A WGN) channels. The codes are Theory, vol. 47, pp. 2711-2736, Nov. 2001.
decoded with the sum-product algorithm [5,7]. [4] R. M. Tanner, "A recursive approach to low complexity
The plot in Fig.8 shows the BER performance for the codes codes," IEEE Trans. Inform. Theory, Vol. IT-27, no.5,
designed in this paper with code length 1008,4104(solid line). Sep.1981,pp.533-547.
For comparison, we also show the BER performance of the [5] D. J. C. MacKay, R. M. Neal. Near Shannon limit
randomly constructed LDPC codes(no 4-cycles)(dashed line) performance oflow density parity check codes[J].
with almost the same code length [17]. All codes have the Electronics letters, 1997,33(6): 457-458.
same code rate 1/2. [6] D. 1. C. MacKay, "Good error-correcting codes based on
".-------~ very sparse matrices," IEEE Trans . Inform. Theory, 1999.
~' 45(2): 399-431.
[7] R. Lucas , M. Fossorier, Y. Kou, and S. Lin, "Iterative
... ~.
decoding of one step majority logic decodable codes
based on belief propagation," IEEE Trans. Commun.,
2000.48(6): 931-937.
[8] M. Sipser, D. Spielman. Expander codes[J]. IEEE
Transactions on Information Theory, 1996, 42(6): 1710-
Figure.8: BER performance comparison between our codes and the r 1722.
andomly constructed LOp e codes at code rate 1/2 [9] N . Wiberg. Codes and decoding on general graphs[D].
Linkoping University, Linkoping, Sweden, 1996.

-
"r---~----,
c' [10] S. - H. Kim, 1. -s. No, H. - 8. Chung and D. - J. Shin,
c' "Girth analysis of Tanner's (3, 5) QC LDPC codes",

.
m.'
'
Proceedings of2005 International Symposium on
Information Theory (ISIT 2005), 2005 , pp.1632 - 1636.
.'
c'
[11] 8. Vasic, K. Pedagani, and M. Ivkovic , "High-rate girth-
eight low-density parity-check codes on rectangular
integer lattices", IEEE Transactions on Communications,
Figure.9: BER performance of our codes at high code rate August 2004 , 52(8): 1248-1252.
From Fig.8, it can be seen that the BER performance of our [12] 1. - L. Kim, U. N. Peled, I. Perepelitsa, and V. PIes,
codes are very closed to MacKay's codes [17] in two different "Explicit construction offamilies of LDPC codes of girth
kinds of code length, especially in code length 4k. MacKay's at least six," in Proc. 40th Allerton Conf. Communication,
randomly constructed LDPC codes have a good performance Control and Computing, P. G. Voulgaris and R. Srikant,
of minimum distance and have no 4-cycles, so they have a Eds., Monticello, IL" Oct.2-4, 2002, pp. 1024-1031 .
good BER performance. Our code's distance performance is [13] H. - W. Song, 1. - F. Liu and 8. V. K. Vijaya Kumar,
not good as that of MacKay's codes , but the girth of our "Large girth cycle codes for partial response channels",
codes is 8, which is better than that of MacKay's codes. This IEEE Transactions on Magnetics, 2004 , 40(4):3084-3086.
explains why our codes also have a good BER performance as [14]1. Lu, J. M. F. Moura , U. Niesen, "Grouping-and-shifting
MacKay's codes. designs for structured LDPC codes with large girth",
From Fig.9 , it can be seen that our codes also have a good Proceedings of International Symposium on Information
BER performance at high code rate 0.67, 0.7, 0.75. Theory, 2004. ISIT 2004. 27 June-2 July 2004
Page(s):236
[15]1. Lu, 1. M. F. Moura and U. Niesen, "A class of
7 Conclusions structured LDPC codes with large girth", Proc. of2004
In this paper, we presented a method for constructing LDPC IEEE International Conference on Communications,
codes based on the sub-matrix shifting method. The Tanner 2004, Vol. I : 425 - 429.
graphs of these codes do not contain cycles of length 4 and [16]H. - T . Zhang; J. M. F. Moura, "The design of structured
length 6. BER performance comparisons show our codes are regular LDPC codes with large girth", Proc. of 2003
as good as MacKay's random codes [17]. Furthermore, these IEEE Global Telecommunications Conference
codes are quasi-cyclic and hence their encoding can be (GLOBECOM '03), 2003 , Vo1.7:4022 - 4027.
implemented with linear shift registers. [17] DJ.C. MACKAY, Encyclopedia of sparse graph codes
[EB/OL].
References http ://www.inference.phy.cam.ac.uk/mackay/codes/data.
html.
[1] R. G. Gallager, Low-Density Parity Check Codes[J]. IRE
Transactions on Information Theory, 1962,IT-8, pp.21-28.
[2] R. G. Gallager, Low-Density Parity Check Codes[D].
Cambridge, MA: MIT Press, 1963.

You might also like