ARTICLE IN PRESS Journal of Magnetism and Magnetic Materials 320 (2008) 3124–3127
Contents lists available at ScienceDirect
Journal of Magnetism and Magnetic Materials journal homepage: www.elsevier.com/locate/jmmm
Performance of a Chase-type decoding algorithm for Reed–Solomon codes on perpendicular magnetic recording channels H. Wang, W. Chang, J.R. Cruz School of Electrical and Computer Engineering, The University of Oklahoma, Norman, OK 73019, USA
a r t i c l e in f o
a b s t r a c t
Available online 19 August 2008
Algebraic soft-decision Reed–Solomon (RS) decoding algorithms with improved error-correcting capability and comparable complexity to standard algebraic hard-decision algorithms could be very attractive for possible implementation in the next generation of read channels. In this work, we investigate the performance of a low-complexity Chase (LCC)-type soft-decision RS decoding algorithm, recently proposed by Bellorado and Kavcˇic´, on perpendicular magnetic recording channels for sectorlong RS codes of practical interest. Previous results for additive white Gaussian noise channels have shown that for a moderately long high-rate code, the LCC algorithm can achieve a coding gain comparable to the Koetter–Vardy algorithm with much lower complexity. We present a set of numerical results that show that this algorithm provides small coding gains, on the order of a fraction of a dB, with similar complexity to the hard-decision algorithms currently used, and that larger coding gains can be obtained if we use more test patterns, which significantly increases its computational complexity. & 2008 Elsevier B.V. All rights reserved.
PACS: 85.70.Li Keywords: Koetter–Vardy algorithm Algebraic soft-decision decoding Reed–Solomon code Perpendicular magnetic recording channel Chase algorithm
1. Introduction Reed–Solomon (RS) codes and algebraic hard-decision decoding algorithms are the current de facto standard for magnetic recording systems. The development of algebraic soft-decision decoding algorithms for RS codes, such as the Guruswami–Sudan (GS) and the Koetter–Vardy (KV) algorithms [1,2], opened up the possibility of using soft-decision decoding in future generations of read channels to obtain improved performance without having to change the codes. Although they provide significant coding gains over hard-decision decoding algorithms, the main drawback is that the cost in terms of computational complexity is prohibitively high. A large body of work has been quickly assembled on ways to further improve their coding gain and on reducing the overall decoding complexity [3–5]. A recent example of such work is a low-complexity Chase (LCC)-type soft-decision decoding algorithm, proposed by Bellorado and Kavcˇic´, which utilizes a re-encoding technique [4] and a simplified factorization method to reduce complexity while using a Chase algorithm to enhance performance. The LCC algorithm is a symbol-level interpolation-based softdecision list decoding algorithm implemented in a computationally efficient manner. By sorting the received symbols by their reliability, the LCC algorithm divides the received vector into two disjoint parts, namely a set of common interpolation points and a set of uncommon elements or test patterns used in the Chase Corresponding author. Tel.: +1 405 325 4280; fax: +1 405 325 3836.
E-mail address:
[email protected] (J.R. Cruz). 0304-8853/$ - see front matter & 2008 Elsevier B.V. All rights reserved. doi:10.1016/j.jmmm.2008.08.074
algorithm. These test patterns are generated using the channel soft information to identify the least reliable positions, and generate a set of bivariate polynomials, which produce a corresponding list of candidate message polynomials. After calculating the product of the reliabilities of the symbols in each candidate codeword in the list, the one with the largest value is chosen as the correct codeword. In this work, we investigate the performance of the LCC algorithm on perpendicular magnetic recording channels. The paper is organized as follows: Section 2 reviews algebraic softdecision decoding algorithms, such as the GS and KV algorithms, and the LCC algorithm is introduced in Section 3. In Section 4, we investigate the performance of a perpendicular magnetic recording system using the LCC algorithm to decode a sector-long RS code.
2. Algebraic soft-decision decoding algorithms Let RS(n, k) denote an RS code with length n, and dimension k, over GF(2q). The transmitted messages m ¼ (m0, m1,y, mk1) are expressed in polynomial form as mðxÞ ¼ m0 þ m1 x þ m2 x2 þ þ mk1 xk1
(1)
and the RS codewords c are generated using evaluation mapping, i.e., c ¼ ðc0 ; c1 ; . . . ; cn1 Þ ¼ ðmða0 Þ; . . . ; mðan1 ÞÞ, q
where a is a primitive element of GF(2 ).
(2)
ARTICLE IN PRESS H. Wang et al. / Journal of Magnetism and Magnetic Materials 320 (2008) 3124–3127
Using yHD, y2HD and
2.1. Guruswami–Sudan algorithm The GS algorithm [1] is an interpolation-based list decoding algorithm, which finds a bivariate polynomial with minimal (1, k1)-weighted degree over the polynomial ring GF(2Q)[x, y] passing through N interpolation pairs with a given positive integer multiplicity, given by Q ðx; yÞ ¼
1 X 1 X
qa;b xa yb 2 GFð2Q Þ½x; y:
(3)
a¼0 b¼0
The (u, v)th Hasse derivative of polynomial Q(x, y) is defined as Dðu;vÞ H ½Q ðx; yÞ ¼
degy ðQ Þ deg x ðQ Þ X X i¼u
j¼v
j q xiu yjv u v i;j i
(4)
and can be used to verify that the polynomial has a zero with multiv) [Q(x, y)]0 at plicity l at a certain pair (x, y) if the condition D(u, H (u, v), for 0pu+vol is satisfied. After factorization, the algorithm identifies all the factors of the form (ymi(x)) with degree of x less than k [1]. These factors generate the list of all candidate message polynomials and the corresponding codewords. The major limitation of this algorithm is that the multiplicities of each interpolation pair are the same, and when we increase the multiplicity, the overall complexity goes up by a factor of N.
gi ¼
Q
3125
, we calculate the figure-of-merit
Q maxa2GFð2q Þ;aayHD ða; iÞ i Q p1. maxa2GFð2q Þ ða; iÞ
(8)
This is a measure of the confidence in the hard-decision for that particular symbol. For giE1, it is very likely that an error may have occurred. The LCC algorithm sorts all the gi’s, and segments the coordinate positions into two parts by selecting Z5n coordinates with the largest gi’s as the uncommon part I ¼ {i1,y,iZ}, and I¯ ¼ f0; . . . ; n 1g=I as the common part composed by the remaining more reliable positions. The LCC algorithm forms test vectors equivalent in all coordinate positions except the least reliable ones, where there are two hard-decision choices at each position. Thus, the algorithm will form a test set of cardinality 2Z ¼ card(2|I|). 3.1. Complexity reduction The LCC algorithm utilizes a re-encoding procedure to reduce complexity by ‘‘zeroing-out k entries’’ [5]. Let y ¼ c+e be any test vector, where e is an error vector, and let J contain the k most reliable positions. We can use erasure decoding to find a codeword
2.2. Koetter–Vardy algorithm
c ¼ ðc0 ; c1 ; . . . ; cn1 Þ with ci ¼ yi for 8i 2 J
Koetter and Vardy proposed a method for using the reliability matrix to make an optimal multiplicity assignment. Instead of simply assigning the same multiplicity for each interpolation pair, the KV algorithm uses different multiplicities. From the channel output information, the detector generates a 2q n reliability matrix, and the KV algorithm converts its entries into non-negative integers, forming a 2q n multiplicity matrix using a greedy iterative algorithm [2]. Given a positive integer for the total multiplicity s defined as
and add it to y to get a new test vector with these k most reliable positions equal to zero. In our work, since we use the evaluation-map encoding method, the erasure decoding is implemented by Lagrange interpolation. With JCI being ‘‘zeroed-out’’, the complexity of the interpolation of the common part is significantly reduced.
s¼
q 2X 1 X n1
li;j
(5)
i¼0 j¼0
3.2. Polynomial interpolation and factorization The interpolation step generates polynomials Q(x,y) with degy(Q)p1, which can be expressed as [5]
the interpolation step constructs the bivariate polynomial passing through all the pairs with multiplicity li,jX1. The root finding algorithm [6] factors the interpolation polynomial and gets all the factors of the form (ymi(x)) with degmi ðxÞ ok. A simplified interpolation technique can be used to reduce the total number of interpolation pairs using a re-encoding method [4].
Q where v(x) ¼ iAJ(xxi); thus the polynomial Q(x,y) passes through the (xi,0)’s and Q(xi,0) ¼ 0. If the root of Q(x,y) ¼ 0 is m(x), then Q(x,m(x)) ¼ 0, and
3. Low-complexity Chase-type decoding algorithm
mðxÞ ¼ qz¯ ðxÞvðxÞ=qz ðxÞ.
The LCC algorithm for decoding RS codes was proposed in Ref. [5] and its performance on additive white Gaussian channels was shown to be similar to the KV algorithm with a complexity comparable to classical hard-decision decoding algorithms. The algorithm can be informally described as follows. Let an RS(n, k) codeword c be transmitted through a channel and consider a channel detector which computes a 2q n reliability Q matrix whose entries pi, j are the symbol’s soft information. Let Q Q us denote (a, j) as the entry in the jth column of indexed by q aAGF(2 ). From the reliability information, hard-decision vectors HD 2HD ¼ ðy2HD ; . . . ; y2HD yHD ¼ ðyHD 0 ; . . . ; yn1 Þ and y 0 n1 Þ
can be generated as follows: Y yHD ¼ argmaxa2GFð2q Þ ða; iÞ, i y2HD ¼ argmaxa2GFð2q Þ;aayHD i i
Y
(6) ða; iÞ.
(7)
Q ðx; yÞ ¼ qz¯ ðxÞvðxÞ þ yqz ðxÞ,
(9)
(10)
3.3. Algorithm analysis The multiplicity matrix L used by the LCC algorithm is a symbol-level matrix with only one entry li,j ¼ 1 per column and all the other entries being zero. The cost of decoding with such a multiplicity matrix is q
C¼
1 X n1 1 2X l ðl þ 1Þ ¼ n: 2 i¼0 j¼0 i;j i;j
(11)
pffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi For a long high-rate code, 3olimk!n 1 þ ð8n=k 1Þo4, and degy(Q) is given by [4] $ $ pffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi% pffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi% 1 þ 1 þ ð8C=k 1Þ 1 þ 1 þ ð8n=k 1Þ dy ¼ 1¼ 1 ¼ 1. 2 2 (12)
ARTICLE IN PRESS 3126
H. Wang et al. / Journal of Magnetism and Magnetic Materials 320 (2008) 3124–3127
The interpolation step for the KV algorithm can be described as follows [4]:
10-1
fg 0 ¼ 1; g 1 ¼ y; . . . ; g dy ¼ ydy g for each point (xi,yj) with multiplicity li,j40 do for u’0 to li,j1 do for v’0 to li,j1u do f mindegð1;k1Þ fg 2 G such that Dðu;vÞ H ½gðxi ; yj Þ 6¼0} for gAG such that g6¼f do g’g D(u,v) [f(xi,yj)]f D(u,v) [g(xi,yj)] H H end for f’(xxi) f end for end for end for.
10-2 FER
G
100
10-3 10-4 10
10-6
g
gf ðxi ; yj Þ fgðxi ; yj Þ
f
ðx xi Þf
which is exactly the same as the LCC interpolation update step in Algorithm 1 of Ref. [5]. In summary, the LCC algorithm is a special case of the GS algorithm with multiplicity one or a special case of the KV algorithm with total multiplicity s ¼ n, and a multiplicity assignment of a single entry equal to one for each coordinate position. This is the basis for the complexity reduction for both the interpolation update and the polynomial factorization steps.
4. Simulation results and analysis We consider a shortened RS(440, 410) code over GF(210) on a perpendicular magnetic recording channel equalized to an optimal PR target at each signal-to-noise ratio (SNR) [7], and a Bahl–Cocke–Jelinek–Raviv (BCJR) algorithm as the soft-decision channel detector. Figs. 1 and 2 show that the LCC algorithm outperforms traditional hard-decision decoding algorithms. For 100% additive white Gaussian noise (AWGN), at a frame-error rate
100
9
9.5
SNR
10
10.5
Fig. 2. Performance of RS(440, 410) on a perpendicular magnetic recording channel equalized to an optimal GPR4 target with 90% jitter noise. The user density is 0.938.
105 Number of interpolations & factorizations
Given li,j ¼ 1, only the (0,0)-th Hasse derivative needs to be calculated and D(0,0) [f(x,y)] ¼ f(x,y); therefore, the interpolation H update step simplifies to
HDD LCC η=4 LCC η=8 LCC η=12
-5
Number of interpolations Number of factorizations
104
103
102
101
100
0
2
4
6 η
8
10
12
Fig. 3. Number of interpolations/factorizations as a function of Z for one sample execution of the LCC algorithm.
10-1 (FER) of 105, the LCC algorithm has coding gains of about 0.15 and 0.35 dB over hard-decision decoding for Z ¼ 4 and 8, respectively. The LCC algorithm has small gains for high-rate codes because Z is small. As we increase Z, we get better performance, but the number of test patterns increases exponentially. Simulations of the same shortened RS(440, 410) code over GF(210) with 90% jitter noise produced similar results as shown in Fig. 2. In Fig. 3 we show the number of interpolations and factorizations for the LCC algorithm with full factorization.
FER
10-2 10-3 10-4 10-5 10-6 17.2
HDD LCC η=4 LCC η=8 LCC η=12 17.4
17.6
17.8
18 SNR
18.2
18.4
18.6
18.8
Fig. 1. Performance of RS(440, 410) on a perpendicular magnetic recording channel equalized to an optimal GPR4 target with 100% AWGN. The user density is 0.938.
5. Conclusions The LCC algorithm provides small gains with comparable complexity to standard hard-decision algorithms for high-rate RS codes on perpendicular magnetic recording channels. In order to
ARTICLE IN PRESS H. Wang et al. / Journal of Magnetism and Magnetic Materials 320 (2008) 3124–3127
deliver large performance gains, however, it requires a very large number of test vectors and the overall computational complexity of the algorithm, which is exponential in Z, becomes impractical. References [1] V. Guruswami, M. Sudan, IEEE Trans. Inf. Theory 45 (1999) 1757. [2] R. Koetter, A. Vardy, IEEE Trans. Inf. Theory 49 (2003) 2809. [3] H. Xia, C. Zhong, J.R. Cruz, Chase-type algorithm for soft decision Reed– Solomon codes on Rayleigh fading channels, in: Proceedings of the IEEE Global Commun. Conf. vol. 3, 2003, p. 1751.
3127
[4] W.J. Gross, F.R. Kschischang, R. Koetter, P.G. Gulak, A VLSI architecture for interpolation in soft-decision list decoding of Reed–Solomon codes, in: Proceedings of the IEEE Workshop on Signal Processing Systems, 2002, p. 39. [5] J. Bellorado, A. Kavcˇic´, A low-complexity method for Chase-type decoding of Reed–Solomon codes, in: Proceedings of the IEEE International Symposium on Information Theory, 2006, p. 2037. [6] R.R. Nielsen, T. Hoholdt, Decoding Reed–Solomon codes beyond half the minimum distance, in: J. Buchmann, T. Hoholdt, T. Stichtenoth, H. TapiaRecillas (Eds.), Coding Theory, Cryptography and Related Areas, 2000, p. 221. [7] W. Tan, J.R. Cruz, IEEE Trans. Magn. 41 (2005) 730.