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

2008 ISECS International Colloquium on Computing, Communication, Control, and Management

A Construction of Linearly Encodable QC-LDPC Codes by Grouping Cyclic Shift


and Block Elimination
Chen Zhixiong, Yuan Jinsha
School of Electrical & Electronic Engineering
North China Electric Power University,Baoding, Hebei, 071003, China
chenzx1983@sohu.com yuanjinsha@126.com

Abstract grouping cyclic shift are analyzed. In Section Ⅳ , we


present a method to construct linearly encodable QC-
In this paper, the girth and rank property based on LDPC codes. The performance of new QC- LDPC codes
grouping cyclic shift of a parity-check matrix is proved is investigated by simulation in SectionⅤand concluding
firstly. Then a Quasi-Cyclic square matrix with full rank remarks are given in Section Ⅵ.
is constructed by grouping cyclic shift and block
elimination. By proper matrix extension, we construct a 2. Quasi-Cyclic LDPC Codes
parity-check matrix based on the square matrix whose
column weight is close or equal to three, which is suitable QC-LDPC codes are characterized by the parity-check
for efficient encoding procedure in [3][4][11] with a near matrix which consists of small square blocks which are
linear complexity. Simulation results show a better circulant permutation matrices (CP- matrices, for short) or
performance compared to array based LDPC codes and the zero matrices. Defined the L × L permutation matrix
LDPC codes in 802.11n standard. P(1)by:
⎡0 0 0 " 1⎤
1. Introduction ⎢1 0 0 " 0⎥⎥
⎢ (1)
Quasi-Cyclic LDPC (QC-LDPC) codes[1], kinds of P = ⎢0 1 0 " 0⎥
⎢ ⎥
structured LDPC codes, are easy to implement because of ⎢# # # % #⎥
their block and cyclic interconnections while their ⎢⎣0 0 0 1 0⎥⎦
performance is almost the same as general LDPC Note that P(i) is the CP-matrix which shifts the
codes[2]. As generating matrices are also Quasi- identity matrix I to the left by i times for any integer i, 0
Cyclic[3], the required memory to store QC-LDPC codes ≤ i < L. For simple notation, we denote the L×L zero
for both encoders and decoders, can be reduced by a matrix by P(∞) and the set {∞, 0, 1,… , L − 1} by AL. Let
factor 1/L, when L×L circulant permutation matrices are H be the mL × nL matrix given by
⎡ P (a1,1 ) P (a1, 2 ) " P (a1, n ) ⎤
employed.
Moreover, QC-LDPC codes have encoding advantages ⎢ P(a ) P(a ) " P(a )⎥
over pseudo-random LDPC codes as they can be encoded (2)
H =⎢
2,1 2, 2 2, n ⎥

using simple shift-registers, with probable complexity ⎢ # # % # ⎥


⎢ ⎥
linearly proportional to their code length [3][4][10].The P (a
⎣ m ,1 ) P (a m, 2 ) " P (a m , n )⎦
LDPC parity-check matrices in standards such as IEEE
802.11n[5] and IEEE 802.16e[6] are based on QC- LDPC where aij ∈ AL. Then the codes with parity-check matrix
codes whose parity-check matrices have dual diagonal H are referred to QC-LDPC codes. Array based LDPC
structure with a single weight-3 column. The dual codes [9] [10] are special cases. For efficient encoding,
diagonal structure enables an efficient encoding of LDPC the following parity-check matrix [10] is given:
codes but may cause performance degradation due to their ⎡P(0) P(0) P(0) " P(0) " P(0) ⎤
column weight restriction [7][8]. ⎢P(∞) P(0) P(1) " P(m−2) " P(n−2) ⎥
In this paper we propose a novel method to construct ⎢ ⎥
H(L,m,n) =⎢P(∞) P(∞) P(0) " P(2(m−3)) " P(2(n−3)) ⎥(3)
parity-check matrices for QC- LDPC codes with full rank ⎢ ⎥
and attractive column weight distribution. By proper ⎢ # # # " " # ⎥
matrix extension, we get a regular QC- LDPC codes with ⎢⎣P(∞) P(∞) " P(∞) P(0) " P((m−1)(n−m))⎥⎦
weight-3 columns which can be encoded efficiently. The
outline of the paper is as follows. Obviously, it has a full rank since it is an upper
triangular matrix with nonzero diagonal elements.
In SectionⅡ, basic concepts of QC- LDPC codes are
Therefore, the Array-Based LDPC code defined by the
reviewed. In Section Ⅲ, cycle and rank properties based

978-0-7695-3290-5/08 $25.00 © 2008 IEEE 304


DOI 10.1109/CCCM.2008.174
check matrix above is an irregular QC-LDPC code with a (supposed as 2k, k≥0) of CP-matrices with each
code rate of (1-m/n). neighboring exponent CP-matrices in the ith row (or
For simplicity, we introduce some definitions and column) grouping of H.
notation. The base matrix of H, B(H) for short, is obtained Without loss of generality, we firstly assume
from replacing zero matrices and CP-matrices in H by ‘0’ (a1 , a 2 , " , a 2l ) as an exponent chain corresponding to a
and ‘1’ respectively. Define the CP-matrices in H 2l-block-cycle that leads to L cycles of length 2lr. By S
corresponding to the ith row(or column) elements of B(H) bits row (or column) GCS of the ith row(or column)
to be the ith row(or column) grouping of H. The exponent
matrix of H, E(H), given by replacing the sub-matrices grouping, a new exponent chain (a1′ , a 2′ , " a ′2l )
P(ai,j) in H by exponent ai,j∈ AL , is defined as follow: conversed from the exponent chain assumed also satisfies
the necessary and sufficient condition:
⎡ a1,1 a1, 2 " a1,n ⎤ 2l 2l 2k
⎢a a 2, 2 " a 2,n ⎥⎥ r ⋅ ∑(−1) i ⋅ ai′ = r ⋅ ∑(−1) i ⋅ ai + ∑(−1) j ⋅ S ≡ 0 mod L (6)
E(H ) = ⎢
2 ,1
(4) i =1 i =1 j =1
⎢ # # % # ⎥ Note that row GCS doesn’t change the B(H) of QC-
⎢ ⎥
⎣a m ,1 a m, 2 " a m,n ⎦ LDPC codes. Similarly, by S bits row (or column) GCS,
Note that H in (2) can be obtained by extending the m any exponent chain that dissatisfy the necessary and
× n exponent matrix E(H) into an mL × nL matrix. A sufficient condition (5) can’t dissatisfy the condition (5)
block-cycle of length 2l (a 2l-block-cycle, for short) either. That means that row (or column) GCS doesn’t
change the number of cycles for any lengths, thus keeps
denotes a cycle of length 2l in the Tanner graph of B(H),
mapped to an ordered sequence of 2l CP-matrices P(a1) , the girth property of QC-LDPC codes.
More general, we get the lemma as follows:
P(a2) ,… , P(a2l) in H. Then (a1 , a 2 , " , a 2l ) is called an
Lemma: The row (or column) permutation of the
exponent chain. parity-check matrix for LDPC codes doesn’t change the
The following proposition was first presented by girth property of LDPC codes.
Fossorier in [1] providing a necessary and sufficient Proof: As far as the parity-check matrix of LDPC
condition for cycles of girth 2lr. codes is constructed, either regular or irregular, the fore-
Proposition 1: Let (a1 , a 2 , " , a 2l ) be the exponent and-aft neighboring nodes of any node in any cycle of the
chain corresponding to a 2l-block-cycle. Let r be the least Tanner graph is determined. The row (or column)
positive integer such that permutation inevitably changes the cycle figure but can’t
2l change the fore-and-aft neighborhood of nodes and the
r ⋅ ∑ (−1) i ⋅ ai ≡ 0 mod L (5) length of any cycle. So the girth property of LDPC codes
i =1 is not altered by row (or column) permutation.
then the block-cycle leads to L cycles of length 2lr in the According to Proposition 2, four CP-matrices of H
Tanner graph. corresponding to a 4-block-cycle that is presented in (7)
⎛ P (ai , j ) P ( ai ,k ) ⎞
3. Some Property Based on GCS ⎜ ⎟ (7)
⎜ P (a ) P ( at , k ) ⎟⎠
⎝ t, j
For simple notation, S bits row grouping cyclic shift It can be transformed into a format in (8) by row GCS
(GCS, for short) is defined as the upwards cyclic shift of and column GCS without changing the girth property.
the ith row grouping in H for S bits, and S bits column
GSC as the rightward cyclic shift of jth column grouping ⎛ P (0) P (0) ⎞
⎜ ⎟ (8)
in H for S bits. By S bits row GCS, P(ai,j) ( j=1 ,…,n+1) ⎜ P (0) P (at ,k − a i ,k ` − ( a t , j − a i , j )) ⎟⎠

in the ith row grouping of H are transformed into P(ai,j - Obviously, if and only if:
S)(j=1 ,…,n+1) and by S bits column GCS, P(ai,j) (i=1
a t ,k − a i ,k ` − (a t , j − ai , j ) = 0 mod L,i.e.
,…,m+1) in the jth column grouping are transformed into
P(ai,j -S)( i=1 ,…,m+1).Without special statement, the a t ,k − a i ,k ` = (at , j − a i , j ) mod L, (9)
exponent subtraction of a CP-matrix in this paper like the 4-block-cycle leads to cycles of length 4. That is the
P(ai,j -S) is based on module L. fundament of girth property for array based LDPC code
Proposition 2: The S bits row(or column) GCS doesn’t [9] [10].
change the girth property of QC-LDPC codes. Proposition 3: Based on binary operations and row
Proof: Note that any couple of CP-matrices in H GCS, a matrix that corresponds to a 4-block-cycle
mapping to two neighboring exponents in an exponent presented in (7) has the same rank as the matrix below:
chain locates in either the same row (or column) grouping
of H. In other words, a block-cycle connects even number

305
⎛ P(0) P(ai,k − ai, j ) ⎞ the first three column groupings of H1 are eliminated
⎜ ⎟ (10) respectively into a diagonal form shown in (14), utilizing
⎜ P(∞) P(a ) + P(a + a − a )⎟ the method based on row GCS and block elimination in
⎝ t , k i ,k t , j i , j ⎠
Proof: Note that the row (or column) permutation Proposition 3 which keeps the rank of matrix.
doesn’t change the rank of a matrix. By row GCS, the ⎡P(0) O O O P(0) ⎤
matrix in (7) can be transformed into ⎢O P(0) O P(0) P(a) ⎥
⎛ P(ai, j − (ai, j − at , j )) P(ai,k − (ai , j − at , j ))⎞ ⎢ ⎥
⎜ ⎟ ⎢O O P(0) P(b) P(2e) +P(a+b) ⎥
⎜ P ( a ) P ( a ) ⎟ ⎢ ⎥
⎝ t , j t , k ⎠ (11) ⎢O O O P(2d) +P(2b)+P(b+c) P(a+2b) +P(2e+c) +P(a+b+c) ⎥
Note that if a=b (mod L), then ⎢⎣ O O O P(3d) P(4e)+P(4a) ⎦ ⎥
P ( a ) + P ( b) = P (∞) (14)
The first row grouping are added to the second row If we set the following two conditions:
grouping of (11) based on module two addition, which 2d = b + c (15)
keeps the rank of (7), and we get:
a + 2b = 2e + c (16)
⎛ P(at , j ) P(ai ,k − (ai, j − at , j )) ⎞ then the nonzero matrices of the fourth row grouping are
⎜ ⎟ (12)
⎜ P(∞) P(a ) + P(a + a − a ) ⎟ eliminated as a result of P(2b) and P(a + b + c) respectively,
⎝ t ,k i ,k t, j i, j ⎠
based on module two operations. The fourth column
Finally, by row GCS of the first row grouping in order grouping is eliminated in succession and we get the CP-
to transform P ( a t , j ) into an identity matrix, we get the matrix in the fifth row grouping and the fifth column
matrix (10) with the same rank of (7).The Proposition 3 grouping as follows:
provides a fast method for Gaussian elimination to P ( 4e ) + P ( 4 a ) + P ( a + b + c + 3d - 2b ) (17)
transform the full rank parity-check matrix of QC-LDPC Similarly, if we set
codes into an upper trigonal form that enables a linear 4e = a + b + c + 3d - 2b , (18)
encoding. then the rank of H1 is full. Solve the equation group
comprised of (15) (16) and (18), we get a group of
4. Construction of Systematic QC-LDPC positive integer solutions as follows:
Codes a = 2, b = 12, c = 0, d = 6, e = 13 , (19)
and the construction of a full rank matrix H1 is finished.
In this section, a method to construct systematic QC- ⎡P(0) O O O P(0) ⎤
LDPC codes that enables a linear encoding is proposed. ⎢P(2) P(0)
The parity-check matrix H of QC-LDPC codes is ⎢ O P(0) O ⎥⎥
presented by a form of [H1 H2], where H1 is a full rank H1 = ⎢ O P(12) P(0) O P(26)⎥ (20)
square matrix (mL×mL) without any cycle of length four. ⎢ ⎥
⎢ O P(24) P(0) P(12) O ⎥
⎢⎣ P(8) O O P(18) P(52)⎥⎦
4.1. Construction of square matrix with full rank
The matrix H1 (5L × 5 L ) can be extended into a larger
Based on the dual diagonal structure, we firstly matrix with full rank, taking H 1′ (7 L × 7 L ) for example,
construct a Quasi-Cyclic square matrix H1 with five row by the way as follows:
groupings and five column groupings by locating the CP-
matrices in given locations of H1. According to
Proposition 2, row GCS keeps the girth of QC-LDPC
codes. Without lose of generality, H1 is constructed as
follows:
⎡ P(0) O O O P(0) ⎤
⎢ P(a) P(0) O P(0) O ⎥⎥
⎢ (13)
H1 = ⎢ O P(b) P(0) O P(2e)⎥ (21)
⎢ ⎥ The values of x and y should be choose carefully to
⎢ O P(2b) P(c) P(2d ) O ⎥
⎢⎣P(4a) make the matrix H 1′ contain no cycle of length four and
O O P(3d ) P(4e)⎥⎦
the least cycles of length six. It can be check that when
Where a ≠ b ≠ c ≠ d ≠ e that prevent any cycle of x=5 and y=7, the numbers of length-four cycle and length-
length four of H1, and “O” denotes the zero matrix. Then six cycle are zero and L respectively. Note that the

306
condition (15) inevitably causes L length-6 cycles in a 6- Furthermore, regular Quasi-Cyclic square matrix is
block cycle shown in bold of (21). obtained, if we firstly permute the column groupings of
Therefore, by a proper structure of B(H) and special H1 either in (20) or (21) and extend it into a form as
exponents setting, a Quasi-Cyclic square matrix of full follow:
rank that contains no length-four cycle can be
constructed.

4.2. Construction of matrix without small length


cycles

Secondly, we construct a matrix H2 to form a whole


parity-check matrix H for QC-LDPC codes that contains
no length-four cycle but a grouping of L length-6 cycles
which are brought by H1.The steps to construct (22)
(n − m) column groupings are shown as follow: Where the values of x, y and z should be chosen
Step 1)Initialization: Set E(H)=[E(H1) E(Q)], where carefully to avoid any length-4 cycle and unnecessary
Q denotes a mL × (n − m )L zero matrix. Replace all the length-6 cycle. Secondly, we construct a matrix H2 with
weight-3column by the method introduced in part B and
exponents “∞”which denote zero CP-matrices in E(H) by divide it into a form of H2=[AT CT]T. Then regular QC-
a large number such as 99999. Initialize the variable j as LDPC codes with weight-3 column and girth four are
(m+1); constructed, which are suitable for the efficient encoding
Step 2) Replace three exponents “99999” in the jth procedure in [4][11] with a near linear complexity.
column of E(H) by random three positive integers that are
less than L;
Step 3) Among the front j column groupings of H, find
5. Simulation Results
all 4-block-cycle and 6-block-cycle that connect any
The performance of QC-LDPC codes obtained by our
block corresponding to the exponent in the jth column
grouping of E(H). Whether the 4-block-cycle and 6- constructing procedure is analyzed over an AWGN
block-cycle form any length-4 cycle or any length-6 cycle channel using computer simulations. The modulation is
is checked. If contains, replace the exponent in the jth fixed to BPSK and the maximum number of iteration is
set to 50.
column grouping of E(H) that causes length-4 cycle or
any length-6 cycle by other positive integer less than L Denote QC-LDPC codes to be (L, m, n), where L is the
and return to step 3). If not, go to step 4); size of CP-matrix and m (or n) is the number of row (or
Step 4) Set j=j+1. If j<n+1, return to step 2). If not, column) grouping in parity-check matrix of QC-LDPC
codes shown in (2). Then the code lengths are L×n and
save the matrix E(H). Thus the matrix extended by the
last (n-m) column groupings of E(H) is H2. the code rates are not less than (1-m/n). In figure 1, the
performance of QC-LDPC codes that we propose is
compared to that of array based LDPC codes[9] and QC-
4.3. Efficient encoding of the QC-LDPC codes LDPC codes of standard 802.11n[5] with the same code
proposed rate (1/2, 2/3 and 3/4) and similar code length. It can be
observed that QC-LDPC codes that we propose
The parity-check matrices of QC-LDPC codes are get outperform the other two kinds of QC-LDPC codes.
by extending the exponents of E(H) into CP-matrices. When code rates are 1/2 and 2/3, the proposed QC-LDPC
Note that the girth of the QC-LDPC codes is six. In fact if codes with similar code length of 1944 get a coding gain
we replace the CP-matrix in the second row grouping and of 0.18dB at least compared to the LDPC codes in
the fourth column grouping by a zero matrix of the same standard 802.11n of the same BER 10-5
size, then the girth is eight. Because the column weights
are all three except a column grouping are two, the QC-
LDPC codes proposed is irregular.
Note that there is a square matrix with full rank, the
QC-LDPC codes can be encoded by the method
introduced in the third part of paper [3] with a linear
encoding complexity proportional to the number of parity
bits of the code for serial encoding, and to the length of
the code for high-speed parallel encoding.

307
[1] M.P.C. Fossorier, “Quasi-cyclic low density parity
check codes from circulant permutation matrices,” IEEE
Trans. Inform. Theory, vol.50, pp. 1788-1794
[2] S. Lin, L. Chen, J. Xu, and I. Djurdjevic, “Near
Shannon limit quasi cyclic low-density parity-check
codes,” in Proc. 2003 IEEE GLOBECOM Conf., San
Francisco, CA, Dec. 2003.
[3] Li Zongwang, Chen Lei, Zeng Lingqi and Lin Shu.
Efficient Encoding of Quasi-Cyclic Low-Density Parity-
Check Codes. IEEE Transactions on Communications,
2006, 54(1):71~81
[4] S. Myung, K. Yang, and J. Kim, “Quasi-cyclic LDPC
codes for fast encoding,” IEEE Trans. Inform. Theory,
vol. 51, pp. 2894-2901, Aug.2005.
[5] IEEE P802.11nTM/D1.02, “Draft Amendment to
STANDARD Information Technology Part 11: Wireless
LAN Medium Access Control (MAC) and Physical Layer
Figure 1 BER of proposed QC-LDPC codes compared with (PHY) specifications: Enhancements for Higher
array based LDPC codes and QC-LDPC codes in standard Throughput,” IEEE 802.11 document, July. 2006.
802.11n
[6] IEEE P802.16eTM, “Part 16: Air Interface for Fixed
and Mobile Broadband Wireless Access Systems,” IEEE
6. Conclusions 802.16 document, Feb. 2005.
[7] R. G. Gallager, “Low-density parity-check codes,”
In this paper, a novel construction of QC-LDPC codes IRE Trans. Inf. Theory, vol. IT-8, no. 1, pp. 21–28, Jan.
for linear encoding are proposed. We have proved that 1962.
row or column GCS doesn’t change the girth property of [8] D. J. C. MacKay and M. Davey, "Evaluation of
QC-LDPC codes. A fast Gauss elimination based on row Gallager codes for short block length and high rate
GCS and block elimination is demonstrated, which keeps applications," in Proc. IMA Workshop Codes, Systems
the rank of a matrix. Then a quasi-cyclic square matrix and Graphical Models, 1999.
with full rank for systematic encoding is constructed [9] E. Eleftheriou and S. Olcer, “Low-density parity-
utilizing row GCS and the fast block elimination. By check codes for multilevel modulation,” in Proc. IEEE
proper matrix extension and exponent locating algorithm, Int. Symp. Information Theory (ISIT2002), Lausanne,
we construct linearly encodable QC-LDPC codes whose Switzerland, Jun./Jul. 2002, p. 442.
column weight is near three, which adapt to the encoding [10] J. L. Fan, “Array codes as low-density parity-check
procedure in [3][4][11]. Compared to array based LDPC codes,” in Proc. 2nd Int. Symp. Turbo Codes, Brest,
codes and LDPC codes in standard 802.11n, the proposed France, Sep. 2000, pp. 543–546.
QC-LDPC codes perform a better performance. [11]T.J. Richardson and R.L. Urbanke, “Efficient
encoding of low-density parity-check codes,” IEEE Trans.
References Inform. Theory, vol.47, no.2 pp. 638-656, Feb. 2001

308

You might also like