You are on page 1of 6

Performance of quasi-cyclic LDPC Codes Over GF(2m)

Christian Spagnol, William Marnane


Abstract The paper presents results on a the study of the performances of quasi-cyclic codes dened over GF(2m ). The interest lies in the possibility of combining aspects of LDPC quasi-cyclic codes and LDPC over GF(2m ) codes to alleviate the decoding complexity of the later by using the structured form of the rst. Some mathematical aspects of quasi-cyclic LDPC codes over GF(2m ) and some error correction capability graphs are presented. It is shown that the gain in SNdB is consistent when going from GF(2) to GF(2m ).

I. INTRODUCTION Introduced by Gallager in 1963 [1] Low Density Parity Check Codes were neglected until the work of MacKay [2] in 1995; these codes yield high performance on the binary symmetric channel (BSC) as well as on the additive white Gaussian noise (AWGN) channel, and can outperform the Turbo codes in many applications. The algorithm used for the decoding is called belief propagation, known also as the sumproduct algorithm, it uses a graphical representation of the code, the Tanner Graph. Binary LDPC codes have been generalized to nite elds (Galois Fields), GF(q), where q = 2m , in [3]. For this class of LDPC codes the non-zero entries in the parity check matrix H are elements in GF(2m ). It has been shown, how, with properly placed value for the entries, LDPC code over GF(2m ) out-performed binary LDPC codes [3] and that they have good coding performances for burst errors [4]. It has also been shown how increasing the order of the Galois eld increases the performances of the codes. A major drawback of these codes is their decoding complexity, and the fact that this increases with the order of the eld, discouraging implementations of these codes for high values of q. The hardware implementation of the belief propagation algorithm involves making a number of design choices that have a trade off between the BER performance and the complexity. One of the dominant problems of any implementation of a LDPC decoder depends on the level of messages passing between variable nodes and check nodes. Every edge of the Tanner graph represents a connection that must be implemented in some way, leading to the classical area versus time design problem. The problem is even more pressing with LDPC over GF(2m ). By choosing a code with some degree of regularity this problem can be alleviated. One group of codes that possess this quality is the quasi-cyclic codes family. These codes were rst introduced by Townsend in [5] and have seen recent interest both for the mathematical characteristics [6] and for the possibility of efcient encoding [7] and decoding [8],[9].
Christian Spagnol, William Marnane are with the Dept. of Electrical and Electronic Engineering, University College Cork, Ireland This project is supported by The Embark Initiative operated by IRCSET.

The encoding complexity of random LDPC codes is large and, for long codes, encoding is too computationally intensive for a real-time hardware implementation. The encoding problem is composed of two issues: the time taken to encode (time complexity) and the storage requirement of the encoder. Quasicyclic (QC) codes encode in time proportional to m and have a storage requirement of m. The objective of the work presented in this paper is to determine the suitability of using families of non-binary quasi-cyclic LDPC codes. Problems associated with nding the generator matrix for this type of code are discussed. The suitability of these codes with respect to encoding and decoding is discussed. The encoding benets, especially, are described and hardware encoding circuits are shown. II. L OW D ENSITY PARITY C HECK C ODES LDPC codes are linear block codes and so they are dened as the null space of a parity check matrix H. Their characteristic is the sparseness of this matrix. For block codes a vector c is a codeword if (and only if ) it satises: cH T = 0 (1)

LDPC codes can be represented by a Tanner Graph, see Fig. 1, that is drawn from the matrix H.The non-zero entries of the matrix form the edges of the graph. This representation of the code allows us to understand the meaning of the belief propagation algorithm as a special case of the message passing algorithm[2].
Check Nodes
S1 S
2

S3

S4

X1

X2

X3

X4

X5

X6

Bit Nodes

Fig. 1.

Tanner graph from parity check matrix

III. LDPC OVER GF(2m ) In a LDPC over GF(2m ) code each row of Eq. 1 means that:
N

j {1, , M }
i=1

hji ci = 0

(2)

where both hji and ci take values in GF(2m ). It can be seen that, in the binary case, this check is true whenever the number of hji ci = 0 is even. In the GF(2m ) case the computation of

this check is more complex, this reex on the complexity of the decoding algorithm. Nonbinary LDPC codes have been studied from various points of view. Gallager [1] rst dened nonbinary LDPC codes over arbitrary-alphabet LDPC and later MacKay and Davey [3] studied them using Galois Fields arithmetic in the context of codes for binary-input channels. LDPC over GF(2m ) has been studied when used for arbitrary discretememoryless channels by Bennatan and Burshtein [10]. In this paper we focus on GF(2m ) LDPC codes, similar to those suggested in [3], applied to the binary-input AWGN channel. A straightforward implementation of the nonbinary belief propagation decoder has a very large decoding complexity [3]. Other implementations of the algorithm based on the method presented by Richardson and Urbake [11] have been presented in [4],[12],[13],[14]. They all have reduced complexity and each of them enhances a specic aspect of the decoder that is of interest for hardware implementation, such as numerical stability and lack of arithmetic over GF(2m ), number of look ups tables, etc. From a hardware point of view the main problem is not the computational complexity but the routing complexity. In the GF(2m ) case the messages passing along the edges are probability weight vectors. Hence every message passed between nodes now is a vector of 2m elements that must be represented with a nite number of bits. This means a drastic increase in the size of buses connecting the computation units, thus increasing the difculty of routing these buses in a optimal way while keeping the area consumption to a minimum. Due to this, using codes with some regularity is even more important and carries more benets in the case of LDPC over GF(2m ) than binary LDPC. Performance of GF(2m ) LDPC codes Even if the complexity grows, the use of GF(2m ) LDPC codes is of interest due to the error correction capabilities of these class of codes. In the rst study of GF(2m ) LDPC codes [3], a study of two GF(2m ) codes has shown how well they can perform and how increasing the order of the Galois Field increases the performances of these codes. In this paper we present a more detailed comparison of the performances of GF(2m ) LDPC codes compared with binary LDPC.. All simulations presented here have been obtained using a log domain decoder (both for binary and GF(2m ) codes) with a limit of maximum 15 repetition. For every SNdB point a minumim of 10 block errors has been found. The simulations of GF(2m ) codes has fewer SNdB points with the porpuse of speeding up the long simulations. The starting code is a binary code built using method 2B of MacKay. The code is a small n = 720, r = 1/2 (3,6) regular code. From this code the 1s entries of the H matrix have been changed with random selected values over GF(8). The comparison of the performances of these two codes can be seen in Fig. 2. It is clear how the new GF(8) code out-performs the binary code from which it has been obtained. Each of the elements in the parity check matrix of the GF(2m ) code can be substituted with its matrix representation

in GF(2m ), a m m matrix. Doing so we obtain what is referred to as the binary equivalent parity check matrix of a GF(2m ) code. Such code is irregular and m times bigger than the original code. In our case the resulting code has dimension n = 3 720 = 2160. In Fig. 2 it can be seen how poorly such code performs. This is probably due to the fact that some of the matrices that represent the elements in GF(2m ) have internal cycles of length 4, as shown in Eq. 3. It is known [15] how the presence of this short cycle hinders the performance of LDPC codes. 1 1 1 + + 2 = 1 1 1 0 0 1 1

(3)

The binary equivalent of a GF(2m ) code is a m times bigger code, following this observation it has been decided that the performance of GF(2m ) codes should be compared with performance of binary codes of such length, before stating if there is an actual interest in using codes over GF(2m ) . In our case the GF(8) code is compared with two codes that are three times bigger but properly constructed. Fig. 3 shows the comparison of our GF(8) code n = 720 versus a (3,6) regular MacKay construction 2B code with n = 2160, r = 1/2 and a code obtained from OSullivan construction [16]. The latter is a high performance n = 2154, r = 1/2 code with girth 10 code. It can be seen how the n = 720 GF(8) code out-performs the MacKay code and compare to the OSullivan code performing slightly better, even if they are three times bigger. The discussion and comparisons show the potential of LDPC over GF(2m ) codes. It is important to consider that the elements of our GF(2m ) code have been chosen randomly, not considering any optimization method such as row weight or entropy. In such a frame, to be able to perform as well as a accurately engineered, three time bigger, code is quite an achievement. IV. Q UASI - CYCLIC LDPC CODES LDPC codes are dened by their parity check matrices, H. A parity check matrix H, of dimension [m n], of a quasicyclic LDPC code can be constructed by composing circulant matrices. The following paragraphs introduces several properties of circulant matrices, polynomials representation and quasi-cyclic codes. A. Circulants and Polynomials A circulant matrix A is a square [p p] matrix in which each row of A is one right cyclic shift of the previous row. The number of non-zero entries in a row of A is equal to the number of non-zero entries in a column of A and, since each row and column is a shift of the previous row and column, the row and column weight is uniform throughout the matrix.

Fig. 2.

Performance comparison of GF(2m ) code versus his binary equivalent code. For comparison the starting Mackay code is plotted

Fig. 3.

Performance comparison of the GF(8) code versus a three times bigger MacKay binary code and an OSullivan girth 10 code

The circulant matrix, A, is shown below in a0 a1 a2 ap1 a0 a1 .. .. .. A= . . . a2 ap1 a0 a1 a2 ap1

Eq. 4.

ap1 ap2 a1 a0

(4)

The algebra of circulant [p p] matrices over GF2m is isomorphic to the algebra of polynomials in the quotient ring GF2m [x]/(xp + 1), if A is mapped onto the polynomial A(x) = a0 +a1 x+a2 x2 + ap1 xp1 . The circulant matrix, A, can be represented by a polynomial A(x), which is dened by a single row or column of A.
p1

By rearranging the columns of G, so that every l-th column is grouped together, the generator matrix can be transformed into l horizontally concatenated circulant sub-matrices, each of dimension [p p]. As an example, the 1-generator quasicyclic generator matrix in Eq. 6 can be rearranged into two horizontally concatenated circulant sub-matrices. Each of these circulant matrices can be represented by a polynomial in the ring GF2m [x]/(xp + 1). As a result, the circulant form of the generator matrix in Eq. 6 can be represented as two polynomials, G1 (x) and G2 (x). G= G1 (x) G2 (x) (7)

In general, multiple generators may be used to describe the quasi-cyclic code. C. Implementation aspects Implementation of binary quasi-cyclic LDCP codes has been studied in many previous works. Reduced complexity encoding scheme that take advantage from the block structure of the codes has been presented in [17]. The decoding aspect for these codes has been presented in [8][9]. The main advantage of the decoders for binary quasi-cyclic LDCP codes is the fact that the structure of such codes result in a simpler routing problem. Moreover this allows the overlaping and pipelining of the steps of the decoding algorithm. This advantages can be carried over in the case of the GF(2m ) quasi-cyclic codes since the structure of the H and G matrices is unchanged. The computational units are different since they work with probability weight vectors and they have to compute the probability of eq. 1 to be true. The same is true for the encoding process, the advantages due to the structure of the generator matrix can be exploited in GF(2m ) quasicyclic LDPC codes as they are in binary quasi-cyclic LDPC codes. In the case of GF(2m ) codes the encoder needs to compute operations in GF(2m ). We present how the scheme of the encoder for quasi-cyclic LDPC codes can be easily modify to work for such codes. The hardware implementation of 1-generator quasi-cyclic codes and from circulants will be discussed in this section. The encoding hardware for rate 1/2 codes only will be shown. The encoding hardware for other rate codes is similar. The hardware encoder of a rate 1/2 quasi-cyclic code with an arbitrary number of generators is a combination of many modules with the architecture presented here. The hardware encoder of a rate 1/2 1-generator quasicyclic code with l = 2 is shown in Fig. 4. In this case the storage requirement is one k-stage shift register. In general, for 1-generator quasi-cyclic dual code with l > 2, (l 1) m-stage shift registers are required. The generator matrix of the code is dense, so it can be expected that approximately half the entries in each row of the parity part of G are nonzeros entries. Therefore, the computational requirement for the encoder is of k/2-input multiplicators over GF(2m ) and a block that compute the summation in GF(2m ). In general, for 1-generator quasi-cyclic dual code with l > 2, (l 1) m/2-input summations ports are required.

a(x) =
j=0

aj xj

(5)

where aij is the matrix element in row i and column j. In general, the polynomial representation of circulant matrices leads to a more efcient way of looking at the matrices. The polynomial in Eq. 5 is more compact than its circulant equivalent in Eq. 4. Operations, such as the calculation of the determinant, inverse, transpose product and summations are dened for circulant matrices. Also, it is possible to compute them for larger matrices that contain circulant sub-matrices. B. Quasicyclic Codes A quasi-cyclic code of index t is a linear block code C in which a cyclic shift of any codeword in C by t positions is also a codeword. The generator matrix G for these codes is a matrix where every row is a t circular shift of the previous row. It can be shown that every generator matrix for a quasicyclic code can be decomposed in t circulant matrices. This property makes the encoding suitable for low cost hardware implementation[7]. If the generator matrix G is a generator matrix for the quasi-cyclic code C then the parity check matrix associated with the code is also composed of circulant matrices. A parity check matrix H, of dimension m n can be constructed by assembly circulant sub-matrices, each of dimension p p . This type of codes has shown to have numerous advantages due to the possibility to represent the circulant sub-matrices by polynomials, thus allowing easier computation of the generator matrix from the parity check matrix, and vice versa. It is also possible to generate the circulant sub-matrices such that the matrix H has some chosen properties. The general form of a [k n] generator matrix for a quasicyclic code with l = 2 is shown below in Eq. 6.
2 6 6 G = 6 6 4 g0 gn2 gn4 g2 g1 gn1 gn3 g3 g0 gn2 gn4 g1 gn1 gn3 g0 gn1 gn2 gn4 g0 gn1 gn3 gn5 g1 3 7 7 7 7 5 (6)

It is clear that this code can be completely dened by the rst row of G, [g0 , g1 , , gn1 ]. This row is conventionally called the generator for C and, since C is completely dened by just one row of G, this type of code is called a 1-generator quasi-cyclic code of index 2.

In Fig. 4 the message word is read in serially, so it takes k clock cycles to fully load the register and then another k clock cycles to produce the parity part of the codeword. The data input rate of a serial loaded decoder is equal to half the data output rate. An encoder where the message word is loaded into the register in parallel requires just one clock cycle to load the message word and k clock cycles to produce the rest of the codeword.

kstage shift register

1 Uk1Uk2... ,U0 , , 0 p ek1


k1

p k2

p 0 e0

Fig. 5. Performance comparison of a n=160 r=1/2 quasi-cyclic codes binary and over GF(8)

1 0

Cn1Cn2... ,C 0 , ,

GF(8) n = 808 quasi-cyclic LDPC code against the performances of a binary quasi-cyclic LDPC codes of dimension n = 2424 and a (3,6) random code of the same dimension. The latter has been generated using the optimal permutation method. It can be seen how the quasi-cyclic GF(8) code performs better than its binary counterpart and of the two binary codes of dimension three times bigger. Fig. 7 shows the gain in dB that can be achieved with a n = 2408 code compared with its binary counterpart. Again we can see a gain around one db.

Control

Fig. 4. Design schematic of a 1-generator quasi-cyclic encoder, l = 2. The message word is loaded serially.

V. P ERFORMANCE OF QUASI - CYCLIC LDPC OVER GF(2m ) In this section we present performance results for some quasi-cyclic LDPC code over GF(2m ). Three different codes, from a very small code (n = 160) to a medium size one (n = 2408) are presented. The class of quasi-cyclic LDPC studied in [18] is considered, due to their well known structure. They all are regular (3,6) codes. The GF(2m ) counterpart of a binary code is obtained by maintaining the structure of the H matrix but changing the binary coefcients of the polynomials that represent the circulant sub-matrices with random element of GF(2m ). Such elements as been chosen using a uniform distribution. Fig. 5 shows the comparison of performances of a binary quasi-cyclic code n = 160 and its GF(8) counterpart. It can be seen how for a small code gain of more than one dB can be achieved. Fig. 6 presents a comparison between a binary quasi-cyclic LDPC code n = 808 and its GF(8) counterpart. Moreover Fig. 6 also presents a comparison of the performance of the

Fig. 7. Performance comparison of a n=2408 r=1/2 quasi-cyclic codes binary and over GF(8)

Randomly choosing coefcients of the polynomials proved to be a reasonable choice but there could be different rules that could give better results. VI. CONCLUSIONS In this contribution a new family of LDPC codes, obtained using quasi-cyclic LDPC codes with entries over GF(2m ), has been introduced. An extensive discussion on the performance advantage of GF(2m ) LDPC code even when compared with

Fig. 6.

Performance comparison of a n=808 r=1/2 quasi-cyclic codes binary and over GF(8)

bigger binary codes has been persented. It has been showed how the quasi-cyclic LDPC over GF(2m ) performs and what sort of gains can be achieved in comparison with binary codes. Moreover we presented how the encoder for binary quasicyclic LDPC codes can be modify to encode GF(2m ) quasicyclic LDPC codes. ACKNOWLEDGMENTS The authors would like to thank the Boole Centre for Research in Informatics and the Irish Centre for High-End Computing for the use of their computer clusters. Moreover we would like to thank M. OSullivan for providing opinions and assistance during the work. R EFERENCES
[1] R. Gallager, Low density parity check codes, 1963, Ph.D. Thesis, MIT press, Cambridge, MA, 1963. [2] D. MacKay and R. Neal, Good codes base on very sparse matrices, in Cryptography and Coding, 5th IMA Conference, Dec. 1995, pp. 100 111. [3] M. Davey and D. MacKay, Low-density parity-check codes over GF(q), IEEE Commun. Lett., vol. 2, no. 6, pp. 165167, Jan. 1998. [4] H. Song and J. R. Cruz, Reduced-complexity decoding of q-ary LDPC codes for magnetic recording, IEEE Trans. Magn., vol. 39, no. 2, pp. 10811087, Mar. 2003. [5] R. Townsend and J. E.J. Weldon, Self-orthogonal quasi-cyclic codes, IEEE Trans. Inform. Theory, vol. 13, no. 2, pp. 183195, 1967. [6] K. Lally and P. Fitzpatrick, Algebraic structure of quasi-cyclic codes, Discrete Applied Mathematics, vol. 111, no. 1-2, pp. 157175, 2001. [7] S. Johnson and S. Weller, A family of irregular LDPC codes with low encoding complexity, IEEE Commun. Lett., vol. 7, no. 2, pp. 7981, 2003.

[8] C. Spagnol, W. Marnane, and E. Popovici, Reduced complexity, fpga implementation of quasi-cyclic LDPC decoder, in IEEE,Circuit Theory and Design,2005 Proceedings of European Conference on ECCTD05, vol. 1, June 2005, pp. 289292. [9] Y. Chen and K. K. Parhi, Overlapped message passing for quasicyclic low-density parity check codes, CIRCUITS AND SYSTEMS,IEEE TRANSACTIONS ON I: REGULAR PAPERS, vol. VOL. 51, NO. 6, pp 1106-1113, JUN. 2004. [10] A. Bennatan and D. Burshtein, Design and analysis of nonbinary LDPC codes for arbitrary discrete-memoryless channels, INFORMATION THEORY, IEEE TRANSACTIONS ON, vol. VOL. 52, NO. 2, pp 549-583, FEB. 2006. [11] T. Richardson and R. Urbanke, The capacity of low-density parity-check codes under message-passing decoding, IEEE Trans. Inform. Theory, vol. 47, no. 2, 2001. [Online]. Available: citeseer.ist.psu.edu/richardson98capacity.html [12] H. S. Henk Wymeersch and M. Moeneclaey, Log-domain decoding of LDPC codes over GF (q), in Communications, IEEE intenational Conference on, vol. 2, June 2004, pp. 772776. [13] L. Barnault and D.Declercq, Fast decoding algorithm for LDPC over GF (2q ), in Proc. ITW Information Theory Workshop, Mar. 2003, pp. 7073. [14] C. Spagnol, E. Popovici, and W. Marnane, New algorithm for LDPC decoding over GF(q), in IEE Proceeding of the Irish Signal and System Conference ISSC05, vol. 1, Sept. 2005, pp. 289292. [15] T. Tian, C.Jones, J. D. Villasenor, and R. D. Wesel, Construction of irregular ldpc codes with low error oors, in IEEE ICC 2003, vol. 5, 2003, pp. 31253129. [16] M. E. OSullivan, Algebraic construction of sparse matrices with large girth, IEEE Trans. Inform. Theory, vol. 52, no. 2, pp. 718727, Feb. 2006. [17] L. C. Zongwang Li, L. Zeng, S. Lin, and W. H. Fong, Efcient encoding of quasi-cyclic low density parity check codes, IEEE Trans. Commun., vol. 54, no. 1, pp. 7181, Jan. 2006. [18] R. Bresnan, W. Marnane, and M. Sala, Efcient low-density paritycheck decoding, in IEE Proceeding of the Irish Signal and System Conference ISSC05, vol. 1, June 2004, pp. 613618.

You might also like