International Journal of Emerging Technology and Advanced Engineering
Website: www.ijetae.com (ISSN 2250-2459, ISO 9001:2008 Certified Journal, Volume 8, Issue 1, January 2018)
Development of Gray Code based Structured Regular
Column-Weight Two LDPC Codes
Vibha Kulkarni
1, Dr. K. Jaya Sankar
2 1,2Department of Electronics and Communications Engineering, Vasavi College of Engineering, Hyderabad, India
Abstract─ One of the most advanced classes of channel
codes is the class of Low Density Parity Check (LPDC) codes, specified by parity check matrix ‘A’. The structured regular
construction of matrix ‘A’ makes the hardware
implementation simpler and reduces decoder complexity. We proposed a novel flexible method to construct structured regular LDPC codes, based on Gray-code representations in our earlier work. The convergence in Sum Product Algorithm depends on the length of cycles in Tanner graph of LDPC codes, i.e., the decoder performance of these codes can be improved by avoiding short cycles in A-matrix. In this paper, a method to avoid short cycles is presented. The computational complexities of LDPC codes with column-weight two is low and are efficient for data storage and partial response channels. The BER performance of the obtained Gray-code based column-weight two LDPC codes is reported and it is noticed that they are comparable to that of QC-LDPC codes and Gallager’s random codes.
Keywords─ Gray codes, Tanner graph, Short cycles, Girth,
Gallager codes, Column-weight two QC-LDPC codes, BER.
I. INTRODUCTION
In 1962, Robert Gallager proposed Low-Density Parity-Check codes. The error correcting performance of LDPC codes have been shown to be close to Shannon‟s channel capacity limits [1] [2]. Unfortunately, Gallager‟s remarkable discovery was mostly ignored by coding researchers for almost 20 years due to the high complexity and memory requirements of the encoding and decoding operations. LDPC codes are rediscovered by David MacKay in 1996 [3] and he showed their capacity-approaching performance using iterative decoding techniques.
Some of the parameters have to be considered in the construction of parity check matrix. Structured construction reduces hardware complexity and the cost of encoders and decoders [4][5][6]. Large girth tends to improve the code performance by speeding up the convergence of iterative decoding where as small ones especially of length four degrade the performance [7]. Hence, LDPC codes with large girth are preferred. Different methods for constructing LDPC codes with large girth are available in literature. The minimum distance is an important property of the code
Minimum distance of the code grows linearly with code length, „n‟ for column weight ≥3 and logarithmically with column weight of two [1]. Thus, the performance of column-weight two codes is lower comparatively. But, column-weight two codes are more suitable for partial response channels. They can be employed in the systems where the inter-symbol-interference (ISI) is prominent. These codes are suitable for high-speed applications such as magnetic recording or optical communication [8][9]. Their structure can usually be exploited for an efficient implementation and they can be encoded with low complexity
.
They exhibit better block error performance [9]. Concatenation of Reed-Solomon codes with column-weight two LDPC codes promise better error correcting codes for data storage applications [10].There are several suggested methods for constructing column-weight two LDPC codes. Graphical models are used in [10] to construct girth 10 and girth 20 codes. However, the suggested graphical models are limited to 1/2 and 1/3 code rates. In [10], QC-LDPC codes are constructed but limited to girth 12. In [11], finite geometry is used to construct a (k,k) quasi-cyclic LDPC code which is then converted into a (2,k) LDPC code, where k is the row-weight and 2 is the column-weight. The size and the rate of the obtained codes are limited by the finite geometry approach which does not have flexibility in size and matrix configuration. In [12], the distance graph is converted into a Tanner graph to construct column-weight two codes. In this paper, we have used our novel flexible algorithm proposed in [13] to construct column-weight two structured regular LDPC codes, based on Gray-Code representations (GC-LDPC), without short cycles, and reported their performance with respect to different row weights, code rates, code lengths and number of iterations.
International Journal of Emerging Technology and Advanced Engineering
Website: www.ijetae.com (ISSN 2250-2459, ISO 9001:2008 Certified Journal, Volume 8, Issue 1, January 2018) II. CODE CONSTRUCTION ALGORITHM
Let „A‟ be the parity-check matrix with „m‟ parity-check equations, i.e., A is m × n matrix, where „n‟ is the code length. Let „Y‟ be the decimal point set of these parity check equations i.e., the elements of point set „Y‟ be Y = {Y1, Y2, Y3 ,………., Yρ, Yρ+1 } where „ρ‟ is the row
weight of A-matrix. The elements of this set can be selected using the following equation:
Case 1: For row-weight „ρ‟ even: Select Y1=0, point set Y
= {Y1, Y2, Y3, ………., Yρ, Yρ+1 }. The remaining elements
of set Y can be selected by using the following equation,
Y i 1 2Yi 1; for i
1,2,3,…..,ρ+1
Case 2: For row-weight „ρ‟ odd: Select Y1=1, point set Y =
{Y1, Y2, Y3 ,………., Yρ}. The remaining elements of set Y
can be selected by using the same equation,
Y i 1 2Yi 1; for i
1,2,3,…..,ρ
The proposed method is based on Gallager‟s method of construction of LDPC codes. For (ρ, γ) LDPC code, where „ρ‟ is row-weight and „γ‟ is column-weight, the A-matrix is constructed by concatenating „γ‟ number of sub-matrices vertically. The transpose of A-matrix is given below:
A΄ = [A1, A2, A3,……..,Aγ]
[image:2.612.331.561.162.336.2]Finally, these matrix elements are represented in Gray codes. The proposed algorithm gives the systematic way of selecting the decimal numbers using the design equation. Table 1 shows the various code rates, lengths and densities of A-matrix with column-weight two and column-weight three codes, for different row-weights.
III. COLUMN-WEIGHT TWO LDPC CODES WITH GIRTH 8 The parity check matrix „A‟ of column-weight two is constructed with two sub-matrices A1 and A2 as discussed
below:
Construction of A1:
The point set „Y‟ can be selected according to the required row-weight. The elements of this set form the first row of A1. The subsequent rows of A1 are obtained by
[image:2.612.372.505.416.509.2]cyclically shifting the elements of first row, to right, until the first row repeats.
TABLE 1
CODE RATES, DENSITIES AND CODE LENGTHS UNDER DIFFERENT ROW-WEIGHTS ρ AND COLUMN-WEIGHT γ
Row-weight (ρ) Density of H Code length (n) Column-weight(γ) γ = 2 γ = 3 Code rate (1-γ/ρ) Code-rate (1-γ/ρ) 4 0.200 20 0.500 0.250 5 0.200 25 0.600 0.400 6 0.142 42 0.666 0.500 7 0.142 49 0.714 0.571 8 0.111 72 0.750 0.625 9 0.111 81 0.777 0.666 10 0.090 110 0.800 0.700
Construction of A2:
The elements of the first row of A1, in reverse order,
form the first row of A2. The subsequent rows are obtained
by cyclically shifting the elements of first row, to right, until the first row of A2 repeats.
The A-matrix is obtained by concatenating these A1 and
A2 sub-matrices vertically as,
A΄ = [A1, A2]
1 5 4 3 2 2 1 5 4 3 3 2 1 5 4 4 3 2 1 5 5 4 3 2 1 A 1 Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y
Similarly, A2 is constructed as discussed before. The
A-matrix is obtained by concatenating these A1 and A2
sub-matrices vertically as, A΄ = [A1, A2]. The girth obtained
with this construction method is eight, which can be verified with the corresponding structure graph.
Code expansion:
International Journal of Emerging Technology and Advanced Engineering
Website: www.ijetae.com (ISSN 2250-2459, ISO 9001:2008 Certified Journal, Volume 8, Issue 1, January 2018) The base matrix can be expanded to different levels as
shown in the Table 2. In expansion level 1, each „1‟ in base matrix, is replaced by a corresponding ρρ matrix in which it appears and a „0‟ is replaced by a ρρ zero matrix.
[image:3.612.47.266.293.384.2]The size of expanded matrix in level 1 will be (mρ × nρ). This is the base matrix for expansion level 2. Let the size of this matrix be (p × q). In expansion level 2, each „1‟ in the expanded matrix of level 1, is replaced by a (pρ × qρ) block of a base matrix and a „0‟ is replaced by zero matrix of same size. The same procedure is followed for expansion of level 3 and so on. The minimum distance of the code is at least one more than the γ.
TABLE 2
CODE SIZE AND CODE RATES FOR (n, 2, ρ) CODE
WITHGIRTHEIGHT
ρ Min.
size Level 1 Level 2 Level 3
Code-rate 3 69 1827 54×81 162×243 1/3 5 10×25 50×125 250×625 1,250×3,125 3/5
7 14×49 98×343 686×2,401 4,802×16,807 5/7
IV. CONSTRUCTION OF COLUMN-WEIGHT TWO CODES
WITH GIRTH 12
It is reported in [10] that decoding performance improves with higher girth. Hence, we modified proposed algorithm to achieve a girth of 12. The proposed method is based on block-wise construction. All the elements of the selected set are arranged in a column to get an elementary block C1. Some minor modifications are made on the elementary block C1 to obtain the other blocks C2 and C3. The following steps indicate the construction method:
The elements of point set ‘Y’, arranged vertically, form column of C1.
The bottom element of C1 is shifted to the top row and other subsequent rows are shifted down to their succeeding rows to obtain block C2.
Similarly, the top two elements of C1, are shifted to the bottom and the remaining elements are shifted up, to their preceding rows to obtain block C3.
By concatenating three C1 blocks horizontally, the sub-matrix A1 is formed.
Similarly, the sub-matrix A2 is obtained by horizontal concatenation of C1, C2 and C3.
Finally, the decimal elements of the designed blocks are represented in their corresponding Gray codes to obtain the column-weight two matrix ‘A’ as below:
3 2 1
1 1 1
C C C
C C C
A
As an illustration, let required row weight be ρ=3 and i=7 for a (n, 2, ρ) code. The elements of block C1 are, Y = {Y1, Y2, Y3,………., Y7}. Representing these elements in 7-bit Gray code, the size of block C1 is 7×7. The elements of block C2 are Y = {Y7, Y1, Y2, … Y6}. Similarly, block C3 is constructed using set Y = {Y3, Y4, … Y1, Y2}. Matrix ‘A’ is constructed using these three blocks. The code can be expanded as explained in section III.
V. PROPOSED ALGORITHM TO CONSTRUCT „A‟-MATRIX
WITHOUT SHORT CYCLES OF 4AND 6
Short cycles in parity check matrix:
If the number of 1‟s that are in common between any two columns is greater than „1‟, then 4-length cycle exists. To avoid 4-length cycle, no two rows must share „1‟ in more than one column. In Figure 1(a), the decimal values Yi in row ra and Yi in row rb, belonging to the column cc
should not share any other decimal value Yj in any other
column cd in the same rows, where 1 ≤ (i, j) ≤ ρ. If there are
no four edges connecting Yi and Yj as shown, then there is
no 4-cycle in the LDPC code. Similarly, Figure 1 (b) shows the shape of a 6-cycle. Here, Yi , Yj and Yk are the integers
selected from the design equation to construct A-matrix where 1≤ (i, j, k) ≤ ρ.
International Journal of Emerging Technology and Advanced Engineering
Website: www.ijetae.com (ISSN 2250-2459, ISO 9001:2008 Certified Journal, Volume 8, Issue 1, January 2018)
[image:4.612.60.173.154.362.2]
Figure 1. Shapes of 4-cycle and 6-cycle
Figure 2. Shapes of all possible 6-cycles
Lemma-1: If A-matrix is constructed using the proposed
method, there is no 4-length cycle in „A‟.
Proof: In Figure 3, the element „1‟ (Yi) belonging to row 1
of A1 sub-matrix and another „1‟ (Yi) belonging to row 7
A2 sub-matrix, both appear in the first column. Let the
length of the edge, {Yi, Yi}, shown by an arrow,
connecting these two elements be L1. It can be noticed that
there is no other edge of length L1 connecting any of two
same elements Yj, shown as underlined decimals, i.e., {Yj,
Yj}, that belong to the same rows, namely, 1 and 7, in
remaining columns. Hence, in the proposed construction method, there are no 4-cycles in the matrix A.
Lemma-2: If a matrix „A‟ is constructed by proposed
method, there is no 6 length cycle in „A‟.
Proof: In Figure 4, let {Yi, Yi} be the edge1 connecting
two 1‟s in first column and we assume that the edge connecting two same elements {Yk, Yk}, edge2, is the
longest length among the three edges. It can be noticed that, there is no other third edge connecting any of the two same elements, such that the sum of the lengths of edge1 and that of the third edge is equal to the longest edge, i.e., edge2.
1 3 7 15 31
31 1 3 7 15
15 31 1 3 7 A1 7 15 31 1 3
3 7 15 31 1
31 15 7 3 1
1 31 15 7 3
3 1 31 15 7
A2 7 3 1 31 15
15 7 3 1 31
Figure 3.
cc
Yi
i
cd
Yj
j
Yi
Yj
j
ra
a
rb
b
Yk
cd
Yi
ce
Yj
Yi
cf
Yk
Yj
ra
rb
rc
Yi Y
k
Yi Y
j
Y
j Yk
Y
i Yj
Y j
Y k
Y k Y
i
(1) (2)
Yi Y
j
Yi Y
k
Yj Yk
Yj Yk
Yk Yi
Yi Y
j
(3) (4)
Yj Yk
Y j Y
i
Yi Y
k Y
i Yk
Y k Yj
Y j Y
i
(6)
(5)
[image:4.612.83.270.299.643.2]International Journal of Emerging Technology and Advanced Engineering
Website: www.ijetae.com (ISSN 2250-2459, ISO 9001:2008 Certified Journal, Volume 8, Issue 1, January 2018)
1 3 7 15 31
31 1 3 7 15
15 31 1 3 7 A1
7 15 31 1 3
3 7 15 31 1
31 15 7 3 1
1 31 15 7 3
3 1 31 15 7 A2
7 3 1 31 15
15 7 3 1 31
Figure 4.
Hence, in the devised algorithm, there are no short cycles of length 6 in the parity check matrix.
VI. PERFORMANCE SIMULATIONS
The base matrix constructed using Gray code representations results in codes that are too small for practical use. An expansion method is therefore needed to get larger codes. Each “0” entry in the matrix is replaced by a pp zero sub-matrix and each “1” entry is replaced by a shifted pp identity sub-matrix. The expanded matrix is larger than the base matrix by a factor of p and has girth equal to at least that of the base matrix. Using shifted identity sub-matrices simplifies addressing in hardware implementation [14]. Decoding performance of obtained codes was measured using bit-error rate (BER) simulations on AWGN channel with BPSK modulation. The received waveform was demodulated and decoded by Logarithmic Sum-Product Algorithm. Obtained codes show good BER performances approaching BER of 10-4 between 3 and 4 dB SNR.
Fig. 5 shows performance of these codes with different number of row weights and different lengths, but with the same column weights of two. To demonstrate the error-correcting performance, rate-1/2 LDPC codes using the proposed method are constructed. For the purpose of comparison, Gallager‟s codes and QC-LDPC codes are also constructed. Both of these codes are good for comparison and are constructed with the same parameters as that of proposed codes.
The GC-LDPC codes are obtained using the proposed method. Performance curves of (1600, 2, 4) GC-LDPC codes are compared to those of QC-LDPC codes [12] of same size and rate and shown in Fig. 6. The obtained codes perform similar to QC-LDPC codes up to 4.0 dB SNR. The advantage of GC-LDPC codes is their regular structure which makes it much easier to implement their encoders and decoders.
Fig. 7 shows the performance comparison of obtained codes with that of (1600, 2, 4) random Gallager‟s codes. The BER performance of the proposed codes is very close to Gallager‟s random codes and QC-LDPC codes. In [15], LDPC codes are constructed using MacKay encoder which is also comparable to these codes.
0 1 2 3 4
10-5
10-4
10-3
10-2
10-1
100
Eb/N0(dB)
B
E
R
[image:5.612.356.534.306.459.2](2,3) (2,5) (2,7)
Figure. 5 GC-LDPC codes for different row weights
0 1 2 3 4
10-4
10-3
10-2
10-1
100
Eb/N0(dB)
B
E
R
[image:5.612.357.532.492.682.2]QC- LDPC GC- LDPC
Figure 6. GC-LDPC and QC-LDPC codes of same lengths
International Journal of Emerging Technology and Advanced Engineering
Website: www.ijetae.com (ISSN 2250-2459, ISO 9001:2008 Certified Journal, Volume 8, Issue 1, January 2018)
0 1 2 3 4
10-4
10-3
10-2
10-1
100
Eb/N0(dB)
B
E
R
[image:6.612.82.269.142.342.2]GC-LDPC Galleger
Figure 7. GC-LDPC and Gallager’s codes of same lengths
VII. CONCLUSION
Construction of structured regular column-weight two LDPC codes based on Gray-code representations is described. These codes are systematically constructed and are generated using a set of decimals selected from the defined equation. The construction method provides the flexibility in code rates and code lengths. As the short cycles in parity check matrix degrade the performance of LDPC decoder, the devised algorithm also provides a method for constructing LDPC codes without short cycles of 4 and 6. The BER performance of column-weight two LDPC codes is presented, and it is noticed that they are comparable to the standard column-weight two QC- LDPC codes and Gallager‟s random codes.
REFERENCES
[1] R.G. Gallager, “Low Density Parity Check Codes,” IRE Transactions on Information Theory, IT-8: 21-28, January 1962.
[2] R.G. Gallager, “Low Density Parity Check Codes,” MIT Press, Cambridge, 1963.
[3] MacKay, D. J. C., (2003). Information Theory, Inference, and Learning Algorithms. United Kingdom: Cambridge University Press. [4] Shu Lin and Daniel J. Costello, Jr., “Error Control Coding,” 2nded.,
Pearson, 2011.
[5] R. M. Tanner, “A recursive approach to low complexity codes,” [6] IEEE Transactions Information Theory, vol. 47, no. 2, pp. 498-519,
Feb. 2001.
[7] H. Song, J. Liu, and B. Kumar, “Large Girth Cycle Codes for Partial Response Channels,” IEEE Transactions on Magnetics, 40(4):2362/2371, July 2004.
[8] M.O‟Sullivan, “Alzebraic Construction of Sparse Matrices with Large Girth,”. IEEE Transactions on Information Theory, 52(2):719-727, February, 2006.
[9] H. Song, J. Liu, and B.V.K Vijaya Kumar, “Low Complexity LDPC codes for partial response channels”, Proceedings of IEEE Global Telecommunications Conference (GLOBECOM‟02), Vol.2, pp. 1294-1299, Taipei, Taiwan, November, 2002.
[10] H. Song, J. Liu and B.V.K Vijaya Kumar, “Large girth cycle codes for partial response channels,” IEEE Transactions on Magnetics, Vol. 40,No. 4, part 2, pp. 3084-3086, 2004.
[11] X. Tao, L. Zhang, W. Liu and D. Liu, “Recursive Design of High-Girth (2,k) LDPC Codes from (k,k) LDPC Codes,” IEEE Communications Letters Vol. 15, No. 1, pp.70-72, Jan 2011. [12] Gabofetswe Malema and Nkwebi Motlogelwa, “Large-Girth
Column-Weight Two QC-LDPC Codes,” International Journal of Computer Trends and Technology (IJCTT) – volume 5 number 5– Nov 2013.
[13] Vibha Kulkarni, and Dr. K. Jaya Sankar, “A Novel Method for Construction of Structured Regular LDPC codes with Girth twelve using Gray Code representations,” Springer proceedings of VCASAN-2013, The International Conference on VLSI, Communication, Advanced Devices, Signals and Systems and Networking, chapter 23, vol 258, pp 169- 177, July, 2013.
[14] J. Lu, J. M. F Moura, and U. Niesen, “Grouping-and-shifting Designs for Structured LDPC Codes with Large Girth”, IEEE International Symposium on Information Theory, pp 236-236, July 2004.