1652
IEEE TRANSACTIONS ON COMMUNICATIONS, VOL. 57, NO. 6, JUNE 2009
Transactions Papers Construction of Non-Binary Quasi-Cyclic LDPC Codes by Arrays and Array Dispersions Bo Zhou, Member, IEEE, Jingyu Kang, Shumei Song, Shu Lin, Life Fellow, IEEE, Khaled Abdel-Ghaffar, Member, IEEE, and Meina Xu
Abstract—This paper presents two algebraic methods for constructing high performance and efficiently encodable nonbinary quasi-cyclic LDPC codes based on arrays of special circulant permutation matrices and multi-fold array dispersions. Codes constructed based on these methods perform well over the AWGN and other types of channels with iterative decoding based on belief-propagation. Experimental results show that over the AWGN channel, these non-binary quasi-cyclic LDPC codes significantly outperform Reed-Solomon codes of the same lengths and rates decoded with either algebraic hard-decision Berlekamp-Massey algorithm or algebraic soft-decision KötterVardy algorithm. Also presented in this paper is a class of asymptotically optimal LDPC codes for correcting bursts of erasures. Codes constructed also perform well over flat fading channels. Non-binary quasi-cyclic LDPC codes have a great potential to replace Reed-Solomon codes in some applications in communication environments and storage systems for combating mixed types of noises and interferences. Index Terms—Non-binary quasi-cyclic LDPC codes, Berlekamp-Massey algorithm, Kötter-Vardy algorithm, arrays. array dispersions.
I. I NTRODUCTION
L
DPC codes, discovered by Gallager in 1962 [1], were rediscovered and shown to form a class of Shannoncapacity-approaching codes in the late 1990’s [2], [3]. It has been shown that well designed LDPC codes decoded with iterative decoding based on belief propagation [4], such as the sum-product algorithm (SPA) [1], [3], [5]–[8], achieve performance close to the Shannon limit [9]. Ever since their Paper approved by O. Milenkovic, the Editor for Coding Theory and Applications of the IEEE Communications Society. Manuscript received June 26, 2007; revised November 20, 2007. B. Zhou was with the Department of Electrical and Computer Engineering, University of California at Davis, Davis, CA 95616, USA. He is now with Qualcomm Inc., San Diego, CA 92121, USA (e-mail:
[email protected]). S. Song was with the Department of Electrical and Computer Engineering, University of California at Davis, Davis, CA 95616, USA. She is now with Marvell Semiconductor, Inc., Santa Clara, CA 95054, USA (e-mail:
[email protected]). J. Kang, S. Lin, and K. Abdel-Ghaffar are with the Department of Electrical and Computer Engineering, University of California, Davis, Davis, CA 95616, USA (e-mail: {jykang, shulin, ghaffar}@ece.ucdavis.edu). M. Xu is with Northrop Grumman Space Technology, One Space Park, Redondo Beach, CA 90278, USA (e-mail:
[email protected]). This research was supported by NASA under the Grants NNG05GD13G and NNX07AK50G, NSF under the Grants CCF-0727478 and ECS-0121469, and gift grants from Intel and Northrop Grumman Space Technology. Digital Object Identifier 10.1109/TCOMM.2009.06.070313
rediscovery, design, construction, decoding, efficient encoding, performance analysis, and applications of these codes in digital communication and storage systems have become focal points of research. Although, a great deal of research effort has been expended in studying and constructing LDPC codes, most of this research has been focused only on binary LDPC codes, very little being done in the design and construction of non-binary LDPC codes. Non-binary LDPC codes were first investigated by Davey and MacKay in 1998 [10]. In their paper, they also generalized the SPA for decoding binary LDPC codes to decode q-ary LDPC codes. We refer to this generalized SPA for decoding q-ary LDPC codes as the q-ary SPA (QSPA). To reduce decoding computational complexity, MacKay and Davey [11] also devised a Fast Fourier Transform based QSPA, called FFT-QSPA. Their work on the FFT-QSPA was recently further improved by Declercq and Fossorier [12]. Recently, research activities in the study and construction of non-binary LDPC codes are on growth [13]–[17]. Let GF(q) be a finite field with q elements. A q-ary regular LDPC code C is given by the null space over GF(q) of a sparse parity-check matrix H over GF(q) that has the following structural properties: 1) each row has weight ρ; 2) each column has weight γ. In almost all constructions of LDPC codes, binary or non-binary, the following additional structural property is further imposed: 3) no two rows (or two columns) have more than one place where they both have nonzero components. Such a parity-check matrix H is said to be (γ,ρ)-regular and the code C given by its null space is called a (γ,ρ)-regular LDPC code. Structural property-3 is a constraint on the rows and columns of the parity-check matrix H and is referred to as the row-column (RC)-constraint. This RC-constraint ensures that the Tanner graph [18] of the LDPC code C given by the null space of H has a girth of at least 6 [8], [19]. If the columns and/or rows of H have varying weights, the null space of H gives an irregular LDPC code. If H is an array of sparse circulants over GF(q), its null space gives a quasi-cyclic (QC)-LDPC code over GF(q) [8], [19]. QC-LDPC codes have encoding advantage over many other types of LDPC codes. Their encoding can be implemented using simple shift-registers with linear complexity [20]. This paper is concerned with constructions of high performance and efficiently encodable non-binary QC-LDPC codes
c 2009 IEEE 0090-6778/09$25.00
Authorized licensed use limited to: Qualcomm. Downloaded on June 23, 2009 at 12:10 from IEEE Xplore. Restrictions apply.
ZHOU et al.: CONSTRUCTION OF NON-BINARY QUASI-CYCLIC LDPC CODES BY ARRAYS AND ARRAY DISPERSIONS
based on arrays of special circulant permutation matrices over non-binary fields and dispersions of these arrays. Experimental results show that the constructed codes decoded with iterative decoding using the FFT-QSPA perform well over the AWGN and other types of channels. For the AWGN channel, the constructed codes significantly outperform the RS codes of the same lengths and rates decoded with the algebraic softdecision (ASD) Kötter-Vardy (KV) algorithm [21]–[23]. The rest of this paper is organized as follows: 1) Section II first presents a class of RC-constrained arrays of special circulant permutation matrices over non-binary fields, constructed based on RS codes with two information symbols, and then a class of non-binary QC-LDPC codes; 2) Section III presents a large class of QC-LDPC codes constructed based on dispersions of the arrays of special circulant permutation matrices constructed in Section II; 3) Section IV first introduces a specific structure of a parity-check matrix of a linear block code that allows simple iterative correction of bursts of erasures and then shows that the non-binary QC-LDPC codes constructed in Section III form a class of asymptotically optimal erasure-burst correction codes; 4) Section V shows that the codes constructed in Sections II and III also perform well over some types of fading channels; 5) Section VI concludes the paper with some remarks. II. C ONSTRUCTIONS OF RC-C ONSTRAINED A RRAYS AND A C LASS OF QC-LDPC C ODES OVER N ON -B INARY F IELDS Consider the field GF(q) with α as a primitive element. Then, α−∞ 0, α0 = 1, α, . . . , αq−2 give all the elements of GF(q) and αq−1 = 1. For each nonzero element αi in GF(q) with 0 ≤ i < q − 1, we form a (q − 1)-tuple over GF(q), z(αi ) = (z0 , z1 , . . . , zq−2 ), whose components correspond to the q − 1 nonzero components of GF(q), where the ith component zi = αi and all the other components are equal to zero. This unit-weight (q −1)-tuple over GF(q) is called the qary location-vector of the field element αi . The single nonzero components of the q-ary location-vectors of two different nonzero elements of GF(q) are at two different locations. The q-ary location-vector of the 0-element of GF(q) is defined as the all-zero (q − 1)-tuple, z(0) (0, 0, . . . , 0). It is clear that different elements of GF(q) have different location-vectors. Let δ be a nonzero element of GF(q). Then, the q-ary location-vector z(αδ) of the field element αδ is the right cyclic-shift (one place to the right) of the location-vector z(δ) of δ multiplied by α. Form a (q − 1) × (q − 1) matrix A over GF(q) with the q-ary location-vectors of δ, αδ, . . . , αq−2 δ as rows. Matrix A is a special type of circulant permutation matrix over GF(q), for which each row is the right cyclicshift of the row above it multiplied by α and the first row is the right cyclic-shift of the last row multiplied by α. Such a circulant permutation matrix is called an α-multiplied circulant permutation matrix (CPM). Since A is obtained by dispersing δ horizontally and vertically, A is referred to as the two-dimensional (q − 1)-fold matrix dispersion of δ (simply matrix dispersion of δ). The matrix dispersion of the 0-element of GF(q) is a (q − 1) × (q − 1) zero matrix. It is clear that the matrix dispersions of two distinct elements of GF(q) are distinct. It is also clear that if two corresponding rows (or
1653
columns) of two α-multiplied CPM’s are identical, then the two α-multiplied CPM’s are identical. A. Array Construction Consider the (q − 1,2,q − 2) cyclic RS code Crs over GF(q) with two information symbols and minimum distance q − 2, whose generator polynomial has α, α2 , . . . , αq−3 as roots, where α is a primitive element of GF(q) [19]. It can be easily proved that the two (q − 1)-tuples over GF(q), (1, α, . . . , αq−2 ) and (1, 1, . . . , 1), are two codewords of Crs with weight q − 1. The difference of these two codewords, w0 = (1, α, . . . , αq−2 )−(1, 1, . . . , 1) = (0, α−1, . . . , αq−2 − 1), gives a minimum weight codeword in Crs whose first component is zero. Form the following (q − 1) × (q − 1) matrix over GF(q) with w0 and its q − 2 right cyclic-shifts, w1 , . . . , wq−2 , as rows: ⎡ ⎤ ⎡ ⎤ 2 q−2 ⎢ W=⎢ ⎣
0 α − 1 α − 1· · · α −1 w0 w1 ⎥ ⎢ αq−2 − 1 0 α − 1 · · · αq−3 − 1 ⎥ ⎢ ⎥. .. ⎥ .. .. .. .. .. ⎦=⎣ ⎦ . . . . . . 2 3 wq−2 0 α − 1 α − 1α − 1· · ·
(1) Every row (or every column) of W has one and only one 0entry and the q −1 zero entries lie on the main diagonal of W. The matrix W is actually a circulant over GF(q). It has the following structural properties: 1) all the rows are minimum weight codewords of Crs ; 2) all the columns (reading from bottom to top) are also minimum weight code words of Crs ; 3) any two rows (or two columns) differ in all q − 1 places; 4) all the entries of each row (or each column) are distinct elements of GF(q). Note that all the multiples of the rows of W (i.e., αk wi ’s with 0 ≤ i, k < q − 1) form all the (q − 1)2 minimum weight codewords of Crs . Dispersing each nonzero entry in W into an α-multiplied (q−1)×(q−1) CPM and each zero entry into a (q−1)×(q−1) zero matrix, we obtain the following (q − 1) × (q − 1) array H of α-multiplied (q − 1) × (q − 1) circulant permutation and zero matrices over GF(q): ⎤ ⎡ O A0,1 · · · A0,q−2 ⎢ A0,q−2 O · · · A0,q−3 ⎥ ⎥ ⎢ H=⎢ (2) ⎥. .. .. .. .. ⎦ ⎣ . . . . A0,1
A0,2
···
O
Each row (or column) contains one and only one zero matrix and the q−1 zero matrices of H lie on the main diagonal of H. Each row of H (in terms of α-multiplied circulant permutation and zero matrices) is the right cyclic-shift of the row above it and the first row is the right cyclic-shift of the last row. Since all the entries in a row (or column) of W are distinct elements of GF(q), all the α-multiplied CPM’s (including the single zero matrix) in a row (or column) of H are distinct. The array H is a (q − 1)2 × (q − 1)2 matrix over GF(q) with both column and row weights q − 2. The array H satisfies the RC-constraint, which is proved in Lemma 1. Lemma 1. The array H satisfies the RC-constraint. Proof: Suppose that H does not satisfy the RC-constraint. Then, there must be two different rows in H, (regarded as
Authorized licensed use limited to: Qualcomm. Downloaded on June 23, 2009 at 12:10 from IEEE Xplore. Restrictions apply.
1654
IEEE TRANSACTIONS ON COMMUNICATIONS, VOL. 57, NO. 6, JUNE 2009
(q − 1)2 × (q − 1)2 matrix over GF(q)) that have two different positions where they have identical nonzero components. The array H given by (2) is an array of α-multiplied CPM’s. Hence, there must be integers, i, j, s, t, k, and l, such that 0 ≤ i, j, s, t, k, l < q − 1, i = j, s = t (where i and j denote rows and s and t denote columns in the (q −1)×(q −1) array H given in (2)), for which the following is true: the kth and the lth rows of A0,s−i and A0,s−j are identical, i.e., z(αk (αs−i − 1)) = z(αl (αs−j − 1)), and the kth and the lth rows of A0,t−i and A0,t−j are identical, i.e., z(αk (αt−i − 1)) = z(αl (αt−j − 1)). Since distinct elements in GF(q) have distinct q-ary location vectors, it follows that αk (αs−i −1) = αl (αs−j −1) and αk (αt−i −1) = αl (αt−j − 1). Cross multiplying these two equations gives the equality, αk+l−i (αs − αt ) = αk+l−j (αs − αt ). Since s = t, αs − αt = 0. Consequently, we must have αk+l−i = αk+l−j . This implies that i = j which contradicts the condition that i = j. Therefore, the hypothesis that H does not satisfy the RC-constraint is invalid. This proves the lemma. Since H satisfies the RC-constraint, its associated Tanner graph has a girth of at least 6. The construction of RCconstrained arrays of binary (non-circulant) permutation matrices based on RS codes with two information symbols was first proposed in [24]. B. A Class of Q-ary QC-LDPC Codes For any pair (γ,ρ) of integers with 1 ≤ γ, ρ ≤ q − 1, let H(γ, ρ) be a γ × ρ subarray of H. The subarray H(γ, ρ) is a γ(q−1)×ρ(q−1) matrix over GF(q). Since H satisfies the RCconstraint, H(γ, ρ) also satisfies the RC-constraint. If H(γ, ρ) lies above or below the main diagonal of H, it is a regular matrix with column and row weights γ and ρ, respectively. Then, the null space over GF(q) of H(γ, ρ) gives a (γ,ρ)regular q-ary QC-LDPC code Cqc , whose Tanner graph has a girth of at least 6. If H(γ, ρ) contains some zero matrices of H, it may have two different column and/or row weights. In this case, the code given by the null space of H(γ, ρ) may be an irregular (or a near-regular) q-ary QC-LDPC code. For a given field GF(q), a family of q-ary QC-LDPC codes with various lengths and rates can be constructed. In the following, we use an example to illustrate the above construction of q-ary QC-LDPC codes. In this and other examples given in the rest of this paper, codes are constructed from the extension fields of the binary field GF(2), say, q = 2s . Codes are decoded with iterative decoding using the FFTQSPA and the maximum number of decoding iterations is set to 50. Using the FFT-QSPA to decode a q-ary LDPC code of length n given by the null space of an m×n matrix over GF(q) with row weight ρ, the computational complexity required per iteration is O(mρq log q) [12]. For each code constructed, we compute its symbol and word error probabilities over the AWGN channel. Furthermore, we compare the word error probability of each constructed code with that of an RS (or a shortened RS) code of the same length and rate decoded with the hard-decision (HD) Berlekamp-Massey (BM) algorithm [19], [25], [26] and/or the ASD KV-algorithm. We also assume BPSK transmission over the AWGN channel. The ASD KV-algorithm for decoding an RS code consists of three steps: multiplicity assignment, interpolation, and fac-
torization [21]. The major computational complexity (70%) to carry out the ASD KV-algorithm comes from the interpolation step and is O(λ4 n2 ) [23], where n is the length of the code and λ is a complexity parameter that is determined by the interpolation cost of the multiplicity matrix formed at the multiplicity assignment step. The performance/complexity trade-off is controlled by the complexity parameter λ which is called the interpolation complexity coefficient [22], [23]. As λ increases, the performance of the ASD KV-algorithm improves and the computational complexity also increases. As λ approaches to ∞, the performance of the KV-algorithm reaches its limit. Example 1. Suppose we use the (31,2,30) RS code Crs over GF(25 ) for array and code construction. Based on (1) and (2), we can construct a 31 × 31 array H of α-multiplied 31 × 31 circulant permutation and zero matrices over GF(25 ). Take the first 4 rows of H and remove the first 3 columns. This results in a 4 × 28 subarray H(4, 28) of H, which is a 124 × 868 matrix over GF(25 ) with column and row weights 4 and 28, respectively. The null space of this matrix gives a 32-ary (4,28)-regular (868,756) QC-LDPC code with rate 0.8710. The symbol and word error performances of this code over the AWGN channel decoded with the FFT-QSPA are shown in Figure 1(a). Also included in Figure 1(a) are the word error performances of the (868,756,113) shortened RS code over GF(210 ) decoded using the HD BM-algorithm and the ASD KV-algorithm with interpolation complexity coefficients 4.99 and ∞, respectively. We see that at a WER (word error rate) of 10−5 , the 32-ary (868,756) QC-LDPC code decoded with the FFT-QSPA achieves 1.9 dB coding gain over the (868,756,113) shortened RS code over GF(210 ) decoded with HD BM-algorithm, while a 1.65 dB and a 1.4 dB coding gains are achieved over the shortened RS code decoded using the ASD KV-algorithm with interpolation complexity coefficient 4.99 and ∞, respectively. The decoding of the 32-ary (868,756) QC-LDPC code with the FFT-QSPA also converges fast as shown in Figure 1(b). The number of computations required to decoded the 32-ary (868,756) QC-LDPC code with 50 iterations is in the order of 50 × O(124 × 28 × 25 log 25 ) = 27, 776, 000, however, the number of computations required to carry out the interpolation step of the KV-algorithm with interpolation complexity coefficient 4.99 in decoding of the (868,756,113) shortened RS code is in the order of O(4.994 × (868)2 ) = 192, 876, 544. From Figures 1(a) and 1(b), we see that even with 5 iterations of FFT-QSPA, the 32-ary (868,756) QC-LDPC code achieves a 1.2 dB coding gain over the (868,756,113) shortened RS code decoded using the ASD KV-algorithm with interpolation complexity coefficient 4.99 at a WER of 10−5 . With 5 iterations of FFT-QSPA, the number of computations required to decoded the 32-ary (868,756) QC-LDPC code is in the order of 2, 777, 600 which is much smaller than 192, 876, 544, the number of computations required to carry out the interpolation step of the KV-algorithm. III. C ODE C ONSTRUCTION BY A RRAY D ISPERSION A subarray of the array H of α-multiplied CPM’s constructed in the previous section can be dispersed into a larger
Authorized licensed use limited to: Qualcomm. Downloaded on June 23, 2009 at 12:10 from IEEE Xplore. Restrictions apply.
ZHOU et al.: CONSTRUCTION OF NON-BINARY QUASI-CYCLIC LDPC CODES BY ARRAYS AND ARRAY DISPERSIONS 0
10
expressed in the following form: ⎡ (j) (j) A0,0 A0,1 ⎢ (j) (j) A1,1 ⎢ A1,0 Hj (t, t) = ⎢ .. .. ⎢ ⎣ . . (j) (j) At−1,0 At−1,1
32−ary LDPC(868,756)−SPA50, BER 32−ary LDPC(868,756)−SPA50, SER 32−ary LDPC(868,756)−SPA50, WER 10
−1
RS(868,756,113) over GF(2 ), BM, WER RS(868,756,113) over GF(210), KV (λ=4.99), WER RS(868,756,113) over GF(210), KV (λ=∞), WER Uncoded BPSK, BER Shannon Limit
10
−2
Bit/Symbol/Word Error Rate
10
−3
10
1655
··· ··· .. . ···
(j)
A0,t−1 (j) A1,t−1 .. . (j) At−1,t−1
⎤ ⎥ ⎥ ⎥, ⎥ ⎦
(4)
(j)
−4
10
−5
10
−6
10
−7
10
2
3
4
5
6
7
8
9
10
11
Eb/N0 (dB)
Fig. 1(a). Error performances of the 32-ary (868,756) QC-LDPC code decoded with the FFT-QSPA and the word error performances of the (868,756,113) shortened RS code decoded with the BM- and KV-algorithms. 0
10
32−ary LDPC(868,756)−SPA2 32−ary LDPC(868,756)−SPA3 32−ary LDPC(868,756)−SPA5 32−ary LDPC(868,756)−SPA50 −1
where each Ai,l with 0 ≤ i, l < t is an α-multiplied (q − 1) × (q − 1) CPM over GF(q). Since H(t, kt) satisfies the RCconstraint, each subarray Hj (t, t) of H(t, kt) also satisfies the RC-constraint. Cut Hj (t, t) into two triangles, upper and lower triangles, along its main diagonal, where the lower triangle contains the α-multiplied CPM’s on the main diagonal of Hj (t, t). Form two t×t arrays of α-multiplied circulant permutation and zero matrices as follows: ⎡ ⎤ (j) (j) (j) O A0,1 A0,2 · · · A0,t−1 ⎢ ⎥ (j) (j) ⎢ O O A1,2 · · · A1,t−1 ⎥ ⎢ . ⎥ .. .. .. . . ⎥, (5) Hj,U (t, t) = ⎢ ⎢ .. ⎥ . . . . ⎢ ⎥ (j) ⎣O O O ··· A ⎦ t−2,t−1 O O O ··· O
10
and
Word Error Rate
−3
10
−4
10
−5
10
−6
10
⎡
(j)
A0,0 O O ⎢ A(j) A(j) O ⎢ 1,0 1,1 ⎢ .. .. .. Hj,L (t, t) = ⎢ . . . ⎢ ⎢ (j) (j) ⎣ At−2,0 A(j) t−2,1 At−2,2 (j) (j) (j) At−1,0 At−1,1 At−1,2
−2
10
2
3
4
5
6 Eb/N0 (dB)
7
8
9
10
Fig. 1(b). Rate of decoding convergence of the FFT-QSPA for the 32-ary (868,756) QC-LDPC code.
array with a lower density to construct new q-ary QC-LDPC codes. In this section, we present an array dispersion technique to construct a large class of q-ary QC-LDPC. Codes constructed by this array dispersion technique not only perform well over the AWGN channel but also have good erasure-burst correction capabilities. For 3 ≤ t < q and 1 ≤ k, let H(t, kt) be a t × kt subarray of the array H of α-multiplied (q − 1) × (q − 1) CPM’s over GF(q) constructed in Section II. Since H is a (q − 1) × (q − 1) array and H(t, kt) is a subarray of H, the parameters k and t must satisfy the constraint kt ≤ q−1. We assume that H(t, kt) does not contain any zero matrix of H. Divide H(t, kt) into k t × t subarrays, H1 (t, t), H2 (t, t), . . . , Hk (t, t), such that H(t, kt) = [H1 (t, t) H2 (t, t) . . . Hk (t, t)] ,
(3)
where for 1 ≤ j ≤ k, the jth t × t subarray Hj (t, t) is
··· ··· .. .
O O .. . O
··· (j) · · · At−1,t−1
⎤ ⎥ ⎥ ⎥ ⎥ , (6) ⎥ ⎥ ⎦
where O is a (q − 1) × (q − 1) zero matrix. From (5), we see that the upper triangle of the t × t array Hj,U (t, t) above the main diagonal line is identical to the upper triangle of Hj (t, t) above the main diagonal line, and the rest of the submatrices in Hj,U (t, t) are zero matrices. From (6), we see that the lower triangle of Hj,L (t, t) including the submatrices on the main diagonal line is identical to that of Hj (t, t), and the submatrices above the main diagonal line are zero matrices. Since Hj (t, t) satisfies the RC-constraint, it is clear that Hj,U (t, t) and Hj,L (t, t) also satisfy the RC-constraint. For 1 ≤ j ≤ k and 2 ≤ l, we form the following l × l array of t × t subarrays: where O is a t × t array of (q − 1) × (q − 1) zero matrices. From (7), we see that each row of Hj,l-f,disp (lt, lt) is a right cyclic-shift of the row above it and the first row is the right cyclic-shift of the last row. Also, the t × t subarrays, Hj,L (t, t) and Hj,U (t, t), in Hj,l-f,disp (lt, lt) are separated by a span of l − 2 t × t zero subarrays, including the end-around case with Hj,L (t, t) as the starting subarray and Hj,U (t, t) as the ending subarray. From (5), (6), and (7), we readily see that the α-multiplied CPM’s in each row (or each column) of Hj,l-f,disp (lt, lt) together form the jth subarray Hj (t, t) of the t × kt array H(t, kt) given by (3). The array Hj,l-f,disp (lt, lt) is called the l-fold array dispersion of Hj (t, t), where the subscripts, “l-f ” and “disp” of Hj,l-f,disp (lt, lt) stand for “l-fold” and “dispersion”, respectively. The array Hj,l-f,disp (lt, lt) is an lt(q − 1) × lt(q − 1) matrix over GF(q) with both column and
Authorized licensed use limited to: Qualcomm. Downloaded on June 23, 2009 at 12:10 from IEEE Xplore. Restrictions apply.
1656
IEEE TRANSACTIONS ON COMMUNICATIONS, VOL. 57, NO. 6, JUNE 2009
⎢ ⎢ ⎢ Hj,l-f,disp (lt, lt) = ⎢ ⎢ ⎣
O O Hj,L (t, t) O Hj,U (t, t) Hj,L (t, t) O Hj,U (t, t) Hj,L (t, t) .. .. .. . . . O O O
row weights t. Since Hj (t, t) satisfies the RC-constraint, it follows from (7) that the l-fold array dispersion Hj,l-f,disp (lt, lt) of Hj (t, t) also satisfies the RC-constraint. Since any two subarrays in H(t, kt) given by (3) jointly satisfy the RCconstraint, their corresponding l-fold array dispersions jointly satisfy the RC-constraint. Now we view Hj,l-f,disp (lt, lt) as an lt × lt array of αmultiplied (q − 1) × (q − 1) circulant permutation and zero matrices. From the structures of Hj,U (t, t), Hj,L (t, t) and Hj,l-f,disp (lt, lt) given by (5), (6), and (7), respectively, we readily see that each row of Hj,l-f,disp (lt, lt) contains a single span of (l − 1)t zero matrices of size (q − 1)× (q − 1) between two α-multiplied CPM’s, including the end-around case. For 0 ≤ s < t, replacing the s α-multiplied CPM’s right after the single span of zero matrices by s zero matrices, we obtain a new lt × lt array Hj,l-f,disp,s (lt, lt) of α-multiplied circulant permutation and zero matrices. The array Hj,l-f,disp,s (lt, lt) is called the s-masked and l-fold array dispersion of Hj (t, t). Each row of Hj,l-f,disp,s (lt, lt) contains a single span of (l − 1)t + s zero matrices of size (q − 1) × (q − 1). Replacing each t × t subarray in the t × kt array H(t, kt) of (3) by its s-masked l-fold array dispersion, we obtain the following lt×klt array of α-multiplied (q −1)×(q −1) circulant permutation and zero matrices over GF(q): Hl-f,disp,s (lt, klt) is referred to as the s-masked and l-fold dispersion of the array H(t, kt) given by (3). As an lt × klt array of αmultiplied circulant permutation and zero matrices, each row of Hl-f,disp,s (lt, klt) contains k spans of zero matrices, each consisting of (l−1)t+s zero matrices of size (q −1)×(q −1), including the end-around case. The array Hl-f,disp,s (lt, klt) is an lt(q − 1) × klt(q − 1) matrix over GF(q) with column and row weights, t − s and k(t − s), respectively. It satisfies the RC-constraint. The null space over GF(q) of Hl-f,disp,s (lt, klt) gives a (t− s,k(t − s))-regular q-ary QC-LDPC code Cl-f,disp,s of length klt(q − 1) with rate at least (k − 1)/k, whose Tanner graph has a girth of at least 6. The above construction by multi-fold array dispersion gives a large class of non-binary QC-LDPC codes. This multi-fold array dispersion allows us to construct long codes of various rates from small non-binary fields. There are five degrees of freedoms in code construction, namely q, k, l, s, and t. The parameters k and t are limited by q, i.e., kt ≤ q−1. To avoid column weight of Hl-f,disp,s (kt, klt) less than 3, we need to choose s such that t − s ≥ 3. However, there is no limitation on l. Therefore, for given q, k, s, and t, we can construct very long codes over the same field GF(q) by varying l. This means that we can construct long QCLDPC codes over small non-binary fields. A special subclass of non-binary QC-LDPC codes is to choose s and t such that t − s = 3. This gives a class of (3,3k)-regular non-binary QCLDPC codes. Setting k = 2, 3, 4, 5, . . ., we obtain a sequence
··· ··· ··· .. .
O O O .. .
Hj,U (t, t) O O .. .
···
Hj,U (t, t)
Hj,L (t, t)
⎤ ⎥ ⎥ ⎥ ⎥, ⎥ ⎦
(7)
0
10
32−ary LDPC(620,310)−SPA50, BER 32−ary LDPC(620,310)−SPA50, SER 32−ary LDPC(620,310)−SPA50, WER RS(620,310,311) over GF(210), BM, WER RS(620,310,311) over GF(210), KV (λ=4.99), WER RS(620,310,311) over GF(210), KV (λ=∞), WER Uncoded BPSK, BER Shannon Limit
−1
10
−2
10 Bit/Symbol/Word Error Rate
⎡
−3
10
−4
10
−5
10
−6
10
−7
10
0
1
2
3
4
5
6 7 Eb/N0 (dB)
8
9
10
11
12
13
Fig. 2. Error performances of the 32-ary (620,310) QC-LDPC code decoded with the FFT-QSPA and the (620,310,311) shortened RS decoded with the BM- and KV-algorithms.
of codes with rational rates equal to (or at least equal to) 1/2, 2/3, 3/4, 4/5, . . .. Example 2. Based on the (31,2,30) RS code over GF(25 ), we can construct a 31 × 31 array H of 31 × 31 α-multiplied circulant permutation and zero matrix over GF(25 ). Set k = 2, l = 2, s = 2, and t = 5. Take a 5 × 10 subarray H(5, 10) from H, avoiding the zero matrices on the main diagonal line of H. The 2-masked and 2-fold array dispersion of H(5, 10) gives a 10 × 20 array H2-f,disp,2 (10, 20) of α-multiplied 31 × 31 circulant permutation and zero matrices. The array H2-f,disp,2 (10, 20) is a 310 × 620 matrix over GF(25 ) with column and row weights 3 and 6, respectively. The null space of this matrix gives a (3,6)-regular 32-ary (620,310) QC-LDPC code with rate 0.5. The symbol and word error performances of this code over the AWGN channel decoded with iterative decoding using the FFT-QSPA are shown in Figure 2, which also includes the word error performances of the (620,310,311) shortened RS code over GF(210 ) decoded with both the HD BM-algorithm and the ASD KV-algorithm. At a WER of 10−5 , the 32-ary (620,310) QC-LDPC code has a 4 dB coding gain over the (620,310,311) shortened RS code decoded with the HD BM-algorithm, while achieves a 3.2 dB and a 2.8 dB coding gains over the RS code decoded using the ASD KV-algorithm with interpolation complexity coefficients 4.99 and ∞, respectively. The order of computational complexity for decoding the 32-ary (620,310) QC-LDPC code using the FFT-QSPA with 50 iterations is given in Table I. Example 3. We continue Example 2, but set k = 4, l = 2,
Authorized licensed use limited to: Qualcomm. Downloaded on June 23, 2009 at 12:10 from IEEE Xplore. Restrictions apply.
ZHOU et al.: CONSTRUCTION OF NON-BINARY QUASI-CYCLIC LDPC CODES BY ARRAYS AND ARRAY DISPERSIONS
1657
Hl-f,disp,s (lt, lkt) = [H1,l-f,disp,s (lt, lt) H2,l-f,disp,s (lt, lt) · · · Hk,l-f,disp,s (lt, lt)] .
(8)
TABLE I C OMPUTATIONAL C OMPLEXITIES OF FFT-QSPA (50 I TERATIONS ) AND ASD KV-A LGORITHM
32-ary (868,756) 32-ary (620,310) 32-ary (1240,930) 16-ary (960,491) 64-ary (1890,946)
50 × O(mρq log q) 27, 776, 000 14, 880, 000 119, 040, 000 6, 144, 000 290, 304, 000
s = 2, and t = 5. Take a 5 × 20 subarray H(5, 20) from the array H given in Example 2. The 2-masked and 2-fold array dispersion of H(5, 20) gives a 10 × 40 array H2-f,disp,2 (10, 40) of α-multiplied circulant permutation and zero matrices over GF(25 ). The array H2-f,disp,2 (10, 40) is a 310 × 1240 matrix over GF(25 ) with column and row weights 3 and 12, respectively. The null space of this matrix gives a (3,12)-regular 32-ary (1240,930) QC-LDPC code with rate 0.75. The symbol and word error performances of this code over the AWGN channel decoded with the FFT-QSPA (50 iterations) are shown in Figure 3, which also includes the word error performances of the (1240,930,311) shortened RS code over GF(211 ) decoded with the HD BM- and the ASD KV-algorithms, respectively. At a WER of 10−5 , the (1240,930) QC-LDPC code has a 3 dB coding gain over the (1240,930,311) shortened RS code over GF(211 ) with HD decoding, while achieves a 2.5 dB and 2 dB coding gains over the (1240,930,311) shortened RS code decoded using the ASD KV-algorithm with the interpolation complexity coefficients 4.99 and ∞, respectively. The computational complexities for decoding the 32-ary (3,12)-regular QC-LDPC code using the FFT-QSPA with 50 iterations and the (1240,930,311) shortened RS code using the ASD KV-algorithm with interpolation complexity coefficient 4.99 are given in Table I. We see that computational complexity (in order) for decoding the (1240,930,311) shortened RS code with the ASD KValgorithm is much larger than that required for decoding the 32-ary (1240,930) QC-LDPC code with the FFT-QSPA. Example 4. Use GF(24 ) as the code construction field. Based on the (15,2,14) RS code over GF(24 ), we can construct a 15 × 15 array H of α-multiplied 15 × 15 circulant permutation and zero matrices over GF(24 ). Set k = 2, l = 8, s = 0 and t = 4. Take a 4 × 8 subarray H(4, 8) from H. The 0-masked and 8-fold dispersion of H(4, 8) gives a 32 × 64 array H8-f,disp,0 (32, 64) of α-multiplied 15 × 15 circulant permutation and zero matrices. It is a 480 × 960 matrix over GF(24 ) with column and row weights 4 and 8, respectively. The null space over GF(24 ) of this matrix gives a (4,8)regular 16-ary (960,491) QC-LDPC code with rate 0.5115. The bit, symbol, and word error performances of this code over the AWGN channel decoded with the FFT-QSPA are shown in Figure 4 which also includes the error performance of the (960,491,470) shortened RS code over GF(210 ). We see that at a WER of 10−5 , the 16-ary (960,491) QC-LDPC code achieves a 3.3 dB coding gain over the (960,491,470)
O(λ4 n2 )
Shortened RS Codes GF(210 )
192, 876, 544 98, 406, 400 393, 625, 600 235, 929, 600 914, 457, 600
(868,756,113) over (620,310,311) over GF(210 ) (1240,930,311) over GF(211 ) (960,491,470) over GF(210 ) (1890,946,945) over GF(211 )
0
10
32−ary LDPC(1240,930)−SPA50, BER 32−ary LDPC(1240,930)−SPA50, SER 32−ary LDPC(1240,930)−SPA50, WER RS(1240,930,311) over GF(211), BM, WER RS(1240,930,311) over GF(211), KV (λ=4.99), WER RS(1240,930,311) over GF(211), KV (λ=∞), WER Uncoded BPSK, BER Shannon Limit
−1
10
−2
10 Bit/Symbol/Word Error Rate
Q-ary QC-LDPC Codes
−3
10
−4
10
−5
10
−6
10
−7
10
1
2
3
4
5
6 7 Eb/N0 (dB)
8
9
10
11
12
Fig. 3. Error performances of the 32-ary (1240,930) QC-LDPC code decoded with the FFT-QSPA and the (1240,930,311) shortened RS decoded with the BM- and KV-algorithms.
shortened RS code over GF(210 ) with the HD BM-algorithm. A class of irregular non-binary QC-LDPC codes can be constructed by choosing different masking parameters, say s1 , s2 , . . . , sk , for the k subarrays in (7), with 0 ≤ s1 , s2 , . . . , sk < t. By doing so, we obtain the following kt × klt array with different column weights but constant row weight: where θ = (s1 , s2 , . . . , sk ) and is called the masking vector. The column weights of Hl-f,disp,θ (kt, klt) are t − s1 , t − s2 , . . . , t − sk , respectively, and the row weight is kt − (s1 + s2 + · · · + sk ). IV. N ON -B INARY QC-LDPC C ODES FOR C ORRECTING B URSTS OF S YMBOL E RASURES A q-ary erasure channel is a channel over which a transmitted symbol, from an alphabet of size q, is either received correctly or erased, i.e., received as an erasure, denoted “?”. Here, we consider the alphabet of input symbols of the channel to be the finite field GF(q). In this case, the alphabet of channel output symbols is the union of GF(q) and {?}, i.e., GF(q)∪{?}. There are two basic types of erasure channels, one over which symbol erasures occur at random with the same erasure probability p and the other over which symbol erasures cluster into bursts. The former type is called a random erasure
Authorized licensed use limited to: Qualcomm. Downloaded on June 23, 2009 at 12:10 from IEEE Xplore. Restrictions apply.
1658
IEEE TRANSACTIONS ON COMMUNICATIONS, VOL. 57, NO. 6, JUNE 2009
Hl-f,disp,θ (kt, klt) = [H1,l-f,disp,s1 (t, t) H2,l-f,disp,s2 (t, t) · · · Hk,l-f,disp,sk (t, t)] ,
0
10
16−ary LDPC(960,491)−SPA50, BER 16−ary LDPC(960,491)−SPA50, SER 16−ary LDPC(960,491)−SPA50, WER RS(960,491,470) over GF(210), BM, BER RS(960,491,470) over GF(210), BM, SER RS(960,491,470) over GF(210), BM, WER Uncoded BPSK, BER Shannon Limit
−1
10
−2
Bit/Symbol/Word Error Rate
10
−3
10
−4
10
−5
10
−6
10
−7
10
0
1
2
3
4
5
6 7 Eb/N0 (dB)
8
9
10
11
12
13
Fig. 4. Error performances of the 16-ary (960,491) QC-LDPC code decoded with the FFT-QSPA and the word error performances of the (960,491,470) shortened RS code decoded with the BM-algorithms.
channel (REC) and the latter type is called a burst erasure channel (BUEC). Suppose a codeword v = (v0 , v1 , . . . , vn−1 ) from an (n,k) linear code C over GF(q) is transmitted and r = (r0 , r1 , . . . , rn−1 ) is the corresponding received sequence over GF(q)∪{?}. Let E = {j1 , j2 , . . . , je } be the set of positions in r where the transmitted symbols are erased. The set E displays the pattern of erased symbols in r and is called an erasure pattern. Define E c = {0, 1, . . . , n − 1}\E. Then, E c is the set of positions in r, where the transmitted symbols are correctly received. Decoding r is to determine the values of the transmitted symbol vj for each j in E. An erasure pattern E is said to recoverable (or correctable) if each erased symbol in E can be uniquely determined. Let H be an m × n paritycheck matrix for the code C and hi = (hi,0 , hi,1 , . . . , hi,n−1 ) denote the ith row of H, where i = 0, 1, . . . , m − 1. The received symbol rj is said to be checked by hi , if hi,j = 0. In this case, if rj =? (an erased symbol) and all the other received symbols checked by hi , are not erasures, then since v is in the null space of H, and in particular orthogonal to hi , i.e., the inner product hi , v is zero, vj can be determined from n−1 vj = −h−1 rk hi,k , (10) i,j k=0,k=j
where h−1 i,j denotes the inverse of hi,j . Once the symbol vj is recovered, the index j is deleted from the erasure pattern E. The procedure can be repeated to recover all transmitted symbols that are erased by the channel as long as the erasure pattern E does not include a subset S such that every row hi in H, for i = 0, 1, . . . , m − 1, checks no erased symbol with an index in S or at least two erased symbols with indices in S. Such a set S is called a stopping set [27]. Basically, an erasure pattern E is recoverable if for any index j ∈ E, there is a row
(9)
hi in H that checks only the erased symbol at position j but not erased symbols at the other positions in E. An erasure pattern E is called an erasure-burst of length b if the erased symbols are confined to b consecutive positions, the first and last of which are erased symbols. An erasureburst pattern may contain some right and some left consecutive positions of the received sequence r. This type of erasure-burst is called an end-around erasure-burst. A q-ary (n,k) code is called a B-erasure-burst correction code if it is capable of correcting any erasure-burst of length B or less with a specific algorithm, but not all the erasure-bursts of length B + 1. Theoretically, a q-ary (n,k) code is capable of correcting any erasure-burst of length up to n−k (the number of parity-check symbols), which is the absolute limit on the erasure-burst correction capability of an (n,k) code. However, a practical decoder may not be able to achieve this limit. The ratio η = B/(n − k) is a measure of the effectiveness of a qary (n,k) code for correcting erasure-bursts with a specific decoding algorithm. It is called the erasure-burst correction efficiency of the code. In the following, we first define a specific structure of a parity-check matrix H of an (n,k) linear code C that determines the erasure-burst correction capability of C. Then, we show that the non-binary QC-LDPC codes constructed based on array dispersion and masking presented in Section III are effective for correcting erasure-burst with a simple decoding algorithm. Let x = (x0 , x1 , . . . , xn−1 ) be a nonzero n-tuple over GF(q). The first (or the left-most) nonzero component of x is called the leading nonzero component of x and the last (or the right-most) nonzero component of x is called the trailing nonzero component of x. If x has only one nonzero component, the leading and trailing nonzero components of x are the same. A zero-span of x is defined as a sequence of consecutive zeros between two nonzero components. The zeros to the right of the trailing nonzero component with the zeros to the left of the leading nonzero component also form a zero-span, called the end-around zero-span. The number of zeros in a zero-span is called the length of the zero-span. Consider a (γ,ρ)-regular LDPC code C given by the null space of an RC-constrained m × n sparse parity-check matrix H with constant column weight γ. Label the columns of H from 0 to n − 1. For 0 ≤ j < n, there are γ rows of H, each having a nonzero component in the jth column of H. For each of these γ rows, we find its zero-span starting from the (j + 1)th column to the next nonzero component in the row and compute its length. If the nonzero component of a row at the position j is the trailing nonzero component of the row, we determine its end-around zero-span and its length. Among the zero-spans of the γ rows with a nonzero component in the jth column of H, a zero-span of maximum length is called a zerocovering-span of the jth column of H. Let σj be the length of the zero-covering-span of the jth column of H. The sequence of integers, (σ0 , σ1 , . . . , σn−1 ) is called the length profile of the column zero-covering-spans of H. A column zero-
Authorized licensed use limited to: Qualcomm. Downloaded on June 23, 2009 at 12:10 from IEEE Xplore. Restrictions apply.
ZHOU et al.: CONSTRUCTION OF NON-BINARY QUASI-CYCLIC LDPC CODES BY ARRAYS AND ARRAY DISPERSIONS
covering-span of minimum length is called the zero-coveringspan of the parity-check matrix H. The length of the zerocovering-span of H is given by σ = min{σj : 0 ≤ j < n}. In the following, we present an algorithm for correcting erasurebursts based on the length profile of the column zero-coveringspans of the parity-check matrix H of code C. We show that any erasure-burst of length σ + 1 or less can be recovered. Suppose j is the starting position of an erasure-burst E of length at most σj + 1. Then, there is a row hi = (hi,0 , hi,1 , . . . , hi,n−1 ) in H for which the jth component hi,j is nonzero and followed by a zero-span of length σj . Since the erasure-burst starts at position j and has length at most σj + 1, hi checks only the erased symbol at position j but not the erased symbols at the other positions. Then, the value of the transmitted symbol vj at the position j can be uniquely determined from (10). Replacing the erased symbol by its value results in a shorter erasure-burst pattern E1 = E\{j}. Determine the starting position, say k, of the shorter erasureburst E1 . We repeat the same process to determine the value of the erased symbol vk from (10). The procedure can be repeated until all erased symbols are determined. It is clear from the definition of σ that if the length of an erasure-burst pattern E is σ + 1 or less, the above recursive decoding process can determine the values of all the erased symbols in E no matter where E begins, including the end-around case. An algorithm for the above recursive decoding process can be formulated as follows: 1) If there are erasures in the received sequence r, determine the starting position of the erasure-burst in r, say position j, and go to Step 2. If there is no erasure in r, stop decoding. 2) Determine the length of the erasure-burst, say b. If b ≤ σj + 1, go to Step 3, otherwise stop decoding. 3) Determine the value of the erased symbol at position j and go to Step 1. From above, it is clear that for a (γ,ρ)-regular QC-LDPC code (or any linear block code) given by the null space of a parity-check matrix H with a zero-covering-span of length σ, its erasure-burst correction capability is at least σ + 1, i.e., any erasure-burst of length σ + 1 or less is guaranteed to be recoverable. Binary LDPC codes for correcting erasure-bursts were investigated earlier in [28]–[31] and the concept of zerocovering span of a parity-check matrix was first introduced in [30], [31]. Next, we show that the q-ary QC-LDPC codes constructed by array dispersion given in Section III are effective for correcting erasure-bursts. Consider the s-masked and l-fold dispersed lt × klt array Hl-f,disp,s (lt, klt) of α-multiplied (q − 1) × (q − 1) circulant permutation and zero matrices over GF(q) given by (8). For 1 ≤ j ≤ k, the jth subarray Hj,l-f,disp,s (lt, lt) (see (7)) of Hl-f,disp,s (lt, klt) is an lt × lt array of α-multiplied (q − 1) × (q − 1) circulant permutation and zero matrices over GF(q). Based on the structure of the arrays, Hj,U (t, t), Hj,L (t, t) and Hj,l-f,disp (lt, lt) given by (5), (6), and (7), we readily see that for each column of Hj,l-f,disp,s (lt, lt), there is a row with an α-multiplied CPM in that column, that is followed horizontally along the row by a span of (l − 1)t + s consecutive (q − 1) × (q − 1) zero matrices before it is ended with another α-multiplied CPM
1659
in the same row, including the end-around case. Now, we view Hj,l-f,disp,s (lt, lt) as a lt(q − 1) × lt(q − 1) matrix over GF(q). Then, for each column of Hj,l-f,disp,s (lt, lt), there is a row with a nonzero entry in that column, that is followed horizontally along the row by a span of at least [(l −1)t+s](q −1) zero entries before it is ended with another nonzero entry in the same row, including the end-around case. Since all the subarrays, H1,l-f,disp,s (lt, lt), H2,l-f,disp,s (lt, lt), . . . , Hk,l-f,disp,s (lt, lt), of the s-masked l-fold dispersed array Hl-f,disp,s (lt, klt) have identical structure, for each column of the array Hl-f,disp,s , there is a row with an α-multiplied CPM in that column, that is followed horizontally along the row across all the boundaries of neighboring subarrays by a span of (l − 1)t + s consecutive (q − 1) × (q − 1) zero matrices, including the end-around case. Now, view Hl-f,disp,s (lt, klt) as lt(q − 1) × klt(q − 1) matrix over GF(q). Then, for each column in Hl-f,disp,s (lt, klt), there is a row with a nonzero entry in that column, that is followed horizontally along the row by a span of at least [(l −1)t+s](q −1) zero entries before it is ended with another nonzero entry in the same row, including the end-around case. Therefore, the length of the zero-covering-span of each column of Hl-f,disp,s (lt, klt) is at least [(l − 1)t + s](q − 1) and hence the length σ of the zero-covering-span of the s-masked and l-fold dispersed lt(q − 1) × klt(q − 1) matrix Hl-f,disp,s (lt, klt) over GF(q) is lower bounded by [(l − 1)t + s)](q − 1). Consider the q-ary QC-LDPC code Cl-f,disp,s given by the null space of the lt(q−1)×klt(q−1) matrix Hl-f,disp,s (lt, klt) over GF(q). Then, with the simple iterative decoding algorithm presented above, the code Cl-f,disp,s is capable of correcting any erasure-burst of length up to at least [(l−1)t+s](q−1)+1 symbols. Since the row rank of Hl-f,disp,s (lt, klt) is at most lt(q − 1). The erasure-burst correction efficiency η is at least [(l − 1)t + s](q − 1) + 1 (l − 1)t + s ≈ . lt(q − 1) lt For large l, the erasure-burst correction efficiency of Cl-f,disp,s approaches one. Consider the 16-ary (960,491) QC-LDPC code over GF(24 ) with k = 2, l = 8, t = 5, and s = 0 given in Example 4. The code is capable of correcting any erasure-burst of length up to at least 421 symbols over GF(24 ). Its burst-erasure-correction efficiency is at least 0.8976. If we choose k = 2, l = 10, t = 5, and s = 0 and use the same field GF(24 ), we can construct a 16-ary QC-LDPC code of length 1500 with rate at least 0.5 and burst-erasure-correction efficiency at least 0.9013. V. A PPLICATIONS TO FADING C HANNELS A wireless communication system is characterized by a multipath channel that has more than one path from the transmitter to the receiver. Such multiple paths may be due to atmospheric reflection or refraction, reflections from buildings or other objects. Signal components arriving via different paths may add destructively, resulting in a phenomenon called fading. Rayleigh fading is widely used for modeling wireless channels. In [32]–[34], binary LDPC codes have been shown to perform well over Rayleigh fading channels with BPSK signaling. These codes are designed by optimizing the degree
Authorized licensed use limited to: Qualcomm. Downloaded on June 23, 2009 at 12:10 from IEEE Xplore. Restrictions apply.
1660
IEEE TRANSACTIONS ON COMMUNICATIONS, VOL. 57, NO. 6, JUNE 2009
VI. C ONCLUSION AND R EMARKS In this paper, we have presented two algebraic methods for constructing non-binary QC-LDPC codes, one based on RC-constrained arrays of α-multiplied CPM’s over non-binary fields and the other based on multi-fold dispersions of RCconstrained arrays of α-multiplied CPM’s. Non-binary QCLDPC codes constructed by these two methods perform well with iterative decoding over the AWGN channel. Furthermore, the non-binary QC-LDPC codes constructed based on array dispersions form a class of asymptotically optimal symbolerasure-burst correction codes. For a code in this class, the
64−ary LDPC(1890,946), 5 km/h, SER 64−ary LDPC(1890,946), 5 km/h, WER 64−ary LDPC(1890,946), 60 km/h, SER 64−ary LDPC(1890,946), 60 km/h, WER 64−ary LDPC(1890,946), 120 km/h, SER 64−ary LDPC(1890,946), 120 km/h, WER
−1
10
RS(1890,946,945) over GF(212), 5 km/h, SER RS(1890,946,945) over GF(212), 5 km/h, WER RS(1890,946,945) over GF(212), 60 km/h, SER RS(1890,946,945) over GF(212), 60 km/h, WER RS(1890,946,945) over GF(212), 120 km/h, SER RS(1890,946,945) over GF(212), 120 km/h, WER
−2
10 Symbol/Word Error Rate
Example 5. Based on the (63,2,62) RS code over GF(26 ) and the method presented in Section II, we can construct a 63 × 63 array H of α-multiplied 63 × 63 circulant permutation and zero matrices over GF(26 ). Set k = 2, l = 3, k = 5, and s = 1. Take a 5 × 10 subarray H(5, 10) from H (avoiding zero matrices on the main diagonal of H). The 1-masked and 3-fold array dispersion of H(5, 10) gives a 15 × 30 array H3-f,disp,1 (15, 30) of α-multiplied 63 × 63 circulant permutation and zero matrices over GF(26 ). It is a 945 × 1890 matrix over GF(26 ) with column and row weights 4 and 8, respectively. The null space over GF(26 ) of this matrix gives a 64-ary (4,8)-regular (1890,946) QCLDPC code with rate 0.5005. Suppose we apply this code to mobile communications. We assume that the carrier frequency is 900 MHz and the source rate is 9.6 kb/s. Three typical speeds are considered: 5 km/h, 60 km/h, and 120 km/h. The Doppler shifts are listed in Table II. We also assume perfect channel side information (CSI) at the receiver. The performance of the 64-ary (1890,946) QC-LDPC code using 64-QAM signaling for transmission, decoded with the FFTQSPA, is shown in Figure 5(a). We see that better performance is achieved at a faster mobile speed. For very slow fading at 5 km/h mobile speed, the performance degradation is due to the presence of bursts of errors. Also included in Figure 5(a) is the performance of the (1890,946,945) shortened RS code over GF(212 ) using 64-QAM signaling for transmission over the same channel. We see that the 64-ary (1890,946) QC-LDPC code has a significant coding gain over the (1890,946,945) RS code. For example, at a symbol error rate of 10−5 , the 64ary (1890,946) QC-LDPC code decoded with the FFT-QSPA achieves a 6.2 dB coding gain over the shortened RS code decoded with the HD BM-algorithm at a speed of 60 km/h. The 64-ary (1890,946) QC-LDPC code also performs well over the AWGN channel as shown in Figure 5(b) (BPSK signaling) and it has a significant coding gain over the (1890,946,945) shortened RS code over GF(211 ) decoded using the HD BM-algorithm. Furthermore, the code is capable of correcting erasure-burst of length up to at least 694 symbols. Its erasure-burst correction efficiency is 0.735.
0
10
−3
10
−4
10
−5
10
−6
10
12
14
16
18
20
22
24
26 28 Es/N0 (dB)
30
32
34
36
38
40
42
Fig. 5(a). Error performances of the 64-ary (1890,946) QC-LDPC code decoded with the FFT-QSPA with CSI over the uncorrelated Rayleigh fading channel (64-QAM). 0
10
64−ary LDPC(1890,946)−SPA50, BER 64−ary LDPC(1890,946)−SPA50, SER 64−ary LDPC(1890,946)−SPA50, WER RS(1890,946,945) over GF(211), BM, WER RS(1890,946,945) over GF(211), KV (λ=4.99), WER RS(1890,946,945) over GF(211), KV (λ=∞), WER Uncoded BPSK, BER Shannon Limit
−1
10
−2
Bit/Symbol/Word Error Rate
distributions of their Tanner graphs. In following, we use an example to show how an algebraically constructed q-ary QC-LDPC code performs over a correlated fading channel. There are different approaches to modeling a correlated fading channel. In our simulation, we use an improved Jakes’ channel model proposed in [35].
10
−3
10
−4
10
−5
10
−6
10
0
1
2
3
4
5
6
7 8 Eb/N0 (dB)
9
10
11
12
13
14
Fig. 5(b). Error performances of the 64-ary (1890,946) QC-LDPC code decoded with the FFT-QSPA and the word error performances of the (1890,946,945) shortened RS code decoded with the BM- and KV-algorithms.
same parity-check matrix is used for both the FFT-QSPA decoding and erasure-burst correction. We would like to point out that any RC-constrained array of α-multiplied CPM’s or its subarrays can be dispersed as proposed in Section III for constructing non-binary QC-LDPC codes. In two recent papers [14], [15], we have proposed several methods for constructing RC-constrained arrays of αmultiplied CPM’s based on finite fields and finite Euclidean geometries. These arrays can be decomposed to construct new QC-LDPC codes for both AWGN and burst-erasure channels. Through examples, we have shown that q-ary QC-LDPC codes with q = 2s decoded with the FFT-QSPA significantly outperform RS or shortened RS codes of the same lengths and rates decoded with the ASD KV-algorithm, regardless of the choice of interpolation complexity coefficient, finite or infinite. Hardware implementation the FFT-QSPA for decoding a nonbinary QC-LDPC code may not be a hindering problem
Authorized licensed use limited to: Qualcomm. Downloaded on June 23, 2009 at 12:10 from IEEE Xplore. Restrictions apply.
ZHOU et al.: CONSTRUCTION OF NON-BINARY QUASI-CYCLIC LDPC CODES BY ARRAYS AND ARRAY DISPERSIONS
1661
TABLE II D OPPLER S HIFTS IN E XAMPLE 5 Mobile Speed v (km/h)
Maximum Doppler Frequency fD (Hz)
Symbol Duration Ts (s)
Normalized Doppler fD · Ts
5 60 120
4.170 50.035 100.069
5.214 × 10−5 5.214 × 10−5 5.214 × 10−5
2.174 × 10−4 2.609 × 10−3 5.217 × 10−3
with the recent introduction of the new metal chips by Intel and IBM that can process data at a much faster speed and consume much less power than the conventional silicon chips. Since non-binary codes are more effective than binary codes for combating mixed types of noise and interferences, the non-binary QC-LDPC codes presented in this paper have a great potential to replace RS codes in some applications in communication and storage systems where random noise and interferences occur simultaneously. R EFERENCES [1] R. G. Gallager, “Low density parity check codes," IRE Trans. Inform. Theory, vol. IT-8, no. 1, pp. 21-28, Jan. 1962. [2] D. J. C. MacKay and R. M. Neal, “Near Shannon limit performance of low density parity check codes," Electron. Lett., vol. 32, no. 18, pp. 1645-1646, Aug. 1996. [3] D. J. C. MacKay, “Good error-correcting codes based on very sparse matrices," IEEE Trans. Inform. Theory, vol. 45, no. 2, pp. 399-431, Mar. 1999. [4] J. Pearl, Probabilistic Reasoning in Intelligent Systems, San Mateo, CA: Morgan Kaufmann, 1988. [5] F. R. Kschischang, B. J. Frey, and H.-A. Loeliger, “Factor graphs and the sum-product algorithm," IEEE Trans. Inform. Theory, vol. 47, no. 2, pp. 498-519, Feb. 2001. [6] S.-Y. Chung, T. J. Richardson, and R. L. Urbanke, “Analysis of sumproduct decoding of low-density parity-check codes using a Gaussian approximation," IEEE Trans. Inform. Theory, vol. 47, no. 2, pp. 657670, Feb. 2001. [7] T. Richardson, A. Shokrollahi, and R. Urbanke, “Design of capacityapproaching irregular low-density parity-check codes," IEEE Trans. Inform Theory, vol. 47, no. 2, pp. 619-637, Feb. 2001. [8] Y. Kou, S. Lin, and M. Fossorier, “Low-density parity-check codes based on finite geometries: a rediscovery and new results," IEEE Trans. Inform. Theory, vol. 47, no. 7, pp. 2711-2736, Nov. 2001. [9] C. E. Shannon, “A mathematical theory of communication," Bell Syst. Tech. J., vol. 27, pp. 379-423 and 623-656, July and Oct. 1948. [10] M. C. Davey and D. J. C. MacKay, “Low-density parity check codes over GF(q)," IEEE Commun. Lett., vol. 2, no. 6, pp. 165-167, June 1998. [11] D. J. C. MacKay and M. C. Davey, “Evaluation of Gallager codes of short block length and high rate applications," in Proc. IMA International Conf. Mathematics its Applications: Codes, Systems Graphical Models, pp. 113-130. New York: Springer-Verlag, 2000. [12] D. Declercq and M. Fossorier, “Decoding algorithms for nonbinary LDPC codes over GF(q)," IEEE Trans. Commun., vol. 54, no. 4, pp. 633-643, Apr. 2007. [13] L. Zeng, L. Lan, Y. Y. Tai, and S. Lin, “Dispersed Reed-Solomon codes for iterative decoding and construction of q-ary LDPC codes," in Proc. IEEE Global Telecommun. Conf., St. Louis, MO, Nov. 2005, pp. 11931198. [14] S. Song, L. Zeng, S. Lin, and K. Abdel-Ghaffar, “Algebraic constructions of nonbinary quasi-cyclic LDPC codes," in Proc. IEEE Int. Symp. Inform. Theory, Seattle, WA, July 2006, pp. 83-87. [15] B. Zhou, Y. Y. Tai, L. Lan, S. Song, L. Zeng, and S. Lin, “Construction of high performance and efficiently encodable nonbinary quasi-cyclic LDPC codes," in Proc. IEEE Global Telecommun. Conf., San Francisco, CA, Nov. 2006. [16] V. Rathi and R. Urbanke, “Density evolution, thresholds and the stability condition for non-binary LDPC codes," in IEE Proc. Commun., vol. 152, no. 6, pp. 1069-1074, Dec. 2005. [17] A. Bennatan and D. Burshtein, “Design and analysis of nonbinary LDPC codes for arbitrary discrete-memoryless channels," IEEE Trans. Inform. Theory, vol. 52, no. 2, pp. 549-583, Feb. 2006.
[18] R. M. Tanner, “A recursive approach to low complexity codes," IEEE Trans. Inform. Theory, vol. 27, no. 5, pp. 533-547, Sept. 1981. [19] S. Lin and D. J. Costello, Jr., Error Control Coding: Fundamentals and Applications, 2nd ed. Upper Saddle River, NJ: Prentice Hall, 2004. [20] Z. Li, L. Chen, L. Zeng, S. Lin, and W. Fong, “Efficient encoding of quasi-cyclic low-density parity-check codes," IEEE Trans. Commun., vol. 54, no. 1, pp. 71-81, Jan. 2006. [21] R. Kötter and A. Vardy, “Algebraic soft-decision decoding of ReedSolomon codes," IEEE Trans. Inform. Theory, vol. 49, no. 11, pp. 28092825, Nov. 2003. [22] M. El-Khamy and R. McEliece, “Iterative algebraic soft-decision list decoding of RS codes," IEEE J. Select. Areas Commun., vol. 24, pp. 481-490, Mar. 2006. [23] W. J. Gross, F. R. Kschischang, R. Kötter, and P. G. Gulak, “Applications of algebraic soft-decision decoding of Reed-Solomon codes," IEEE Trans. Commun., vol. 54, no. 7, pp. 1224-1234, July 2006. [24] I. Djurdjevic, J. Xu, K. Abdel-Ghaffar, and S. Lin, “A class of lowdensity parity-check codes constructed based on Reed-Solomon codes with two information symbols," IEEE Commun. Lett., vol. 7, no. 7, pp. 317-319, July 2003. [25] E. R. Berlekamp, Algebraic Coding Theory, New York: McGraw-Hill, 1968; revised edition, Laguna Hill, CA: Aegean Park Press, 1984. [26] J. L. Massey, “Shift-register synthesis and BCH decoding," IEEE Trans. Inform. Theory, vol. 15, no. 1, pp. 122-127, Jan. 1969. [27] A. Orlitsky, R. Urbanke, K. Viswanathan, and J. Zhang, “Stopping sets and the girth of Tanner graphs," in Proc. Int. Symp. Inform. Theory, Lausanne, Switzerland, June 2002, p. 2. [28] J. Ha and S. W. McLaughlin, “Low-density parity-check codes over Gaussian channels with erasures," IEEE Trans. Inform. Theory, vol. 49, no. 7, pp. 1801-1809, July 2003. [29] M. Yang and W. E. Ryan, “Performance of efficiently encodable lowdensity parity-check codes in noise bursts on the EPR4 channel," IEEE Trans. Mag., vol. 40, no. 2, pt. 1, pp. 507-512, Mar. 2004. [30] L. Lan, L. Zeng, Y. Y. Tai, S. Lin, and K. Abdel-Ghaffar, “Constructions of quasi-cyclic LDPC codes for the AWGN and binary erasure channels based on finite fields and affine mappings," in Proc. IEEE Int. Symp. Inform. Theory, Adelaide, South Australia, Sept. 2005, pp. 2285-2289. [31] Y. Y. Tai, L. Lan, L. Zeng, S. Lin, and K. A. S. Abdel-Ghaffar, “Algebraic construction of quasi-cyclic LDPC Codes for the AWGN and erasure channels," IEEE Trans. Commun., vol. 54, no. 10, pp. 17651774, Oct. 2006. [32] J. Hou, P. H. Siegel, and L. B. Milstein, “Performance analysis and code optimization of low density parity-check codes on Rayleigh fading channels," IEEE J. Select. Areas Commun., vol. 19, no. 5, pp. 924-934, May 2001. [33] C. Jones, T. Tian, A. Matache, R. Wesel, and J. Villasenor, “Robustness of LDPC codes on periodic fading channels," in Proc. IEEE Global Telecommun. Conf., Taipei, Taiwan, Nov. 2002, pp. 1284-1288. [34] X. Jin, A. W. Eckford, and T. E. Fuja, “Design of good low-density parity-check codes for block fading channels," in Proc. IEEE Military Commun. Conf., Monterey, CA Oct. 2004, pp. 1054-1059. [35] Y. Zheng and C. Xiao, “Improved models for the generation of multiple uncorrelated Rayleigh fading waveforms," IEEE Commun. Lett., vol. 6, no.6, pp. 256-258, June 2002. Bo Zhou (S’02-M’08) received the B.E. and M.E. degrees in electrical engineering from Shanghai Jiaotong University, Shanghai, China, in 2001 and 2004, respectively, and the Ph.D. degree in electrical and computer engineering from the University of California, Davis, in 2008. He is currently with Qualcomm Incorporated, San Diego, CA as a senior engineer. His research interests include error control coding and signal processing for digital communications and magnetic recording channels.
Authorized licensed use limited to: Qualcomm. Downloaded on June 23, 2009 at 12:10 from IEEE Xplore. Restrictions apply.
1662
IEEE TRANSACTIONS ON COMMUNICATIONS, VOL. 57, NO. 6, JUNE 2009
Jingyu Kang received the B.S. and M.S. degrees from Tsinghua University, Beijing, China, in 2002 and 2005, respectively. He is currently a Ph.D. candidate in the University of California, Davis. His research interests are in the area of error control coding and signal processing in communication and data storage systems.
Shumei Song was born in Henan, China. She received the B.S.E.E. degree from Tsinghua University, Beijing, China, in 2000, and the M.S.E.E degree from Peking University, Beijing, China, in 2003, and the Ph.D. degree in electrical engineering from the University of California, Davis, in 2007. She is currently a senior engineer with Marvell Semiconductor, Inc., Santa Clara, CA. Her research interests include error-control coding for digital communications and digital signal processing for data storage. Shu Lin (S’62-M’65-SM’78-F’80-LF’00) received the B.S.E.E. degree from the National Taiwan University, Taipei, Taiwan, in 1959, and the M.S. and Ph.D. degrees in electrical engineering from Rice University, Houston, TX, in 1964 and 1965, respectively. In 1965, he joined the Faculty of the University of Hawaii, Honolulu, as an Assistant Professor of Electrical Engineering. He became an Associate Professor in 1969 and a Professor in 1973. In 1986, he joined Texas A&M University, College Station, as the Irma Runyon Chair Professor of Electrical Engineering. In 1987, he returned to the University of Hawaii. From 1978 to 1979, he was a Visiting Scientist at the IBM Thomas J. Watson Research Center, Yorktown Heights, NY, where he worked on error control protocols for data communication systems. He spent the academic year of 1996-1997 as a Visiting Professor at the Technical University of Munich, Munich, Germany. He retired from University of Hawaii in 1999 and he is currently an Adjunct Professor at University of California, Davis. He has published numerous technical papers in IEEE TRANSACTIONS and other refereed journals. He is the author of the book, An Introduction to Error-Correcting Codes (Englewood Cliff, NJ: Prentice-Hall, 1970). He also co-authored (with D.J. Costello) the book, Error Control Coding: Fundamentals and Applications (Upper Saddle River, NJ: Prentice-Hall, 1st edition, 1982, 2nd edition, 2004), and (with T. Kasami, T. Fujiwara, and M. Fossorier) the book, Trellises and TrellisBased Decoding Algorithms, (Boston, MA: Kluwer Academic, 1998). His current research areas include algebraic coding theory, coded modulation, error control systems, and satellite communications. He has served as the Principle Investigator on 36 research grants. Dr. Lin is a Member of the IEEE Information Theory Society and the Communication Society. He served as the Associate Editor for Algebraic Coding Theory for the IEEE T RANSACTIONS ON I NFORMATION T HEORY from 1976 to 1978, the Program Co-Chair of the IEEE International Symposium of Information Theory held in Kobe, Japan, in June 1988, and a Co-Chair of the IEEE Information Theory Workshop held in Chengdu, China, October 2006. He was the President of the IEEE Information Theory Society in 1991. In 1996, he was a recipient of the Alexander von Humboldt Research Prize for U.S. Senior Scientists, a recipient of the IEEE Third-Millennium Medal, 2000, and a recipient of the IEEE Communications Society 2007 Stephen O. Rice Prize in the Field of Communication Theory.
Khaled Abdel-Ghaffar (M’94) received the B.Sc. degree from Alexandria University, Alexandria, Egypt, in 1980, and the M.S. and Ph.D. degrees from the California Institute of Technology, Pasadena, CA, in 1983 and 1986, respectively, all in electrical engineering. In 1988, Dr. Abdel-Ghaffar joined the University of California, Davis, where he is now a Professor of Electrical and Computer Engineering. He did research at the IBM Almaden Research Center, San Jose, CA, Delft University of Technology, The Netherlands, University of Bergen, Norway, and Alexandria University, Egypt. His main interest is coding theory. From 2002 to 2005, he served as an Associate Editor for Coding Theory for the IEEE T RANSACTIONS ON I NFORMATION T HEORY. He is a co-recipient of the IEEE Communications Society 2007 Stephen O. Rice Prize paper award. Meina Xu received the B.S from University of Hawaii at Manoa in 1995, and M.S and Ph.D from California Institute of Technology in 1997 and 1999, respectively, all in electrical engineering. She then joined the communication group at Jet Propulsion Laboratory as a research staff, before she co-founded a fiber optic communication company, Q-Plus Networks, which employed 60 engineers. She is now with Northrop Grumman Space Technology working at various positions architecting and analyzing satellite communication links, managing research and development projects, and as principle investigator for DAPRA proposals.
Authorized licensed use limited to: Qualcomm. Downloaded on June 23, 2009 at 12:10 from IEEE Xplore. Restrictions apply.