 Review Article
 Open Access
 Published:
List Decoding of Generalized ReedSolomon Codes by Using a Modified Extended Key Equation Algorithm
EURASIP Journal on Wireless Communications and Networking volume 2011, Article number: 212136 (2011)
Abstract
This work presents a modified extended key equation algorithm in list decoding of generalized ReedSolomon (GRS) codes. A list decoding algorithm of generalized ReedSolomon codes has two steps, interpolation and factorization. The extended key equation algorithm (EKE) is an interpolationbased approach with a lower complexity than Sudan's algorithm. To increase the decoding speed, this work proposes a modified EKE algorithm to perform codeword checking prior to such an interpolation process. Since the evaluation mapping is engaged in encoding, a codeword is not generated systematically. Thus, the transmission information is not directly obtained from a received codeword. Therefore, the proposed algorithm undertakes a matrix operation to obtain the transmission information once a received vector has been checked to be errorfree. Simulation results demonstrate that the modified EKE algorithm in list decoding of a GRS code provides low complexity, particularly at high signaltonoise ratios.
1. Introduction
ReedSolomon (RS) codes are currently used in a wide variety of applications, ranging from data storage systems, mobile communications, to satellite communications. The thirdgeneration (3G) wireless standard utilizes RS codes as outer codes. For CDMA2000 highrate broadcast packet data air interface [1], they are expected to be adopted as outer codes in concatenated coding schemes for future fourthgeneration (4G) wireless systems.
Algorithms for hard decision decoding of RS codes are typically classified into two wellknown types, namely, syndromebased decoding and interpolationbased decoding. Welldeveloped algorithms in the first category include the PetersonGorensteinZierler algorithm [2], BerlekampMassey algorithm [2, 3], Euclidean algorithm [2, 3], frequency domain algorithm [2, 3], and stepbystep algorithm [4–7]. Algorithms in the second category include the WelchBerlekamp algorithms [8, 9] and list decoding algorithms [10–12], as KoetterVardy algorithm [13] is also a list decoding algorithm but with soft decision approaching.
Sudan's algorithm [10] decodes GRS codes in two steps involved, namely, interpolation and factorization. An interpolation is performed on a received word , producing a nonzero bivariate polynomial with at least points , such that and . Factorization is then performed on , yielding linear factors (or called root polynomials) . The codewords are then generated from these distinct factors via an evaluation mapping. A decoded codeword is chosen if the Hamming distance between and is or less.
Because solving these interpolation equations of Sudan's algorithm with a naïve Gaussian elimination requires the time complexity , an EKE algorithm has been presented to decrease this complexity [12]. The EKE algorithm employs generalized BerlekampMassy algorithm (or the FengTzeng algorithm in [14]) that obtains the shortest recurrence that generates a given sequence, and the time complexity of EKE to solve these interpolation equations is . represents a design parameter, typically a small constant, which is an upper bound on the size of the list of decoded codewords.
Guruswami and Sudan (GS) presented an improvement on Sudan's algorithm [11], by introducing a multiplicity at each interpolation point. A nonzero polynomial exists that interpolates the points , with multiplicity , and is formed by , where , and the expression of denotes the number of ways to choose from . In comparison with Sudan's work, the GS algorithm provides more linear homogeneous equations in interpolation, thus improving the decoding correction distance. Increasing improves the decoding performance but also increases the required complexity. The asymptotical decoding correction fraction is given by , and the code rate is given by . The increase in decoding capability is substantial, especially for lowrate GRS codes.
Koetter and Vardy [13] extended the GS algorithm by incorporating the soft information received from a channel into the interpolation process. With a complexity that is a polynomial of the code length, the KoetterVardy (KV) algorithm can achieve a substantial coding gain over the GS algorithm. For instance, at a frameerrorrate (FER) of , the KV algorithm can achieve a coding gain of about 1 dB over the GS algorithm, for a (255, 144) GRS code transmitted over an additive white Gaussian noise (AWGN) channel using 256QAM modulation [13].
However, those approaches have a drawback, that is codeword checking is absent during decoding. In other words, regardless of whether the received sequence is correct or not, the decoding algorithm proceeds to decode it. This work overcomes this drawback by presenting a modified EKE algorithm with codeword checking. Additionally, a matrix operation is also proposed to obtain the transmission information from the received codeword. As in syndromebased decoding, if the syndrome vector is allzero, then the decoding process is terminated and the received sequence is output as a decoded codeword. The rest of this paper is organized as follows. Section 2 introduces the EKE algorithm. Section 3 then presents the modified EKE algorithm with the proposed codeword checking method and the matrix operation to obtain the transmission information from the received codeword. Finally, simulations and conclusions are presented in Section 4.
2. Extended Key Equation Algorithm
Consider an evaluation mapping and . A codeword in an GRS code over GF() is generated as
where the information vector is , the generator matrix is
and is a primitive element in GF().
The term is the upper bound of the number of consistent codewords, which are at Hamming distance from any received word. For an GRS code, Sudan's algorithm corrects any error pattern of up to errors for
where denotes the smallest nonnegative integer holding the following equation:
Assuming that , the value of becomes
Let be a field, and let represent the set of all polynomials of degree in the variable over . Sudan's algorithm consists of the following steps.

(1)
Find a nonzero bivariate polynomial over with at least points , such that and , for a received vector .

(2)
Output all polynomials for which is a factor of and for at least locators .
In [2, 3], for an RS code, the errorlocator polynomial and the errorevaluator polynomial are computed in the following key equation (KE):
In [12], based on the linear factors of bivariate polynomials where the polynomial arithmetic is carried out modulo a power of in Sudan's algorithm, an EKE algorithm is derived as follows:
where , , and are polynomials that satisfy certain degree constraints and are syndrome polynomials computed as follows:
Furthermore, the above equation can be obtained as follows:
which is denoted as
Let
where and . After these polynomials , , have been computed in (11) by using the FengTzeng algorithms [14] or a similar algorithm mentioned in [12], the polynomial is obtained as follows:
and satisfies
A design parameter in [12] is an upper bound on the size of the list of decoded codewords. For code rate , from (4), the value of is determined by the following range:
The EKE algorithm employs the FengTzeng algorithm [14] to decode GRS codes. The dimensions of the matrix in (11) are by . Since the FengTzeng algorithm is run column by column in a matrix, therefore the column length dominates the decoding complexity. Reducing the column length lowers the complexity of locating the smallest set of linear dependent coefficients. The algorithm of [12] requires the solving of homogeneous linear equations in (11) and then finding the corresponding coefficients of in (14). Hence, the time complexity is , which is less than the time complexity of of Sudan's algorithm. Consequently, the EKE algorithm is more attractive than the algorithm of [10].
3. Modified Extended Key Equation Algorithm
Since the polynomial is associated with a codeword , which has zeros [15], a paritycheck matrix for is given by [16, 17]
Theorem 1.
For a received vector , codeword checking is equal to the computation of , which is
where denotes the matrix transpose.
Proof.
For computing the value of in (9), a different element should yield a different result for . Consequently, the value of can be simplified as
Equation (9) becomes
For the vector , the calculation of each can be denoted as follows:
and the vector becomes
Theorem 2.
The codeword checking is checked to be allzero, and then the transmission message is given by
where is the last tuple of and is a matrix such that is a systematical matrix.
Proof.
The proof is quite trivial. In the expression of (1),
Then,
Example 1.
For a (7, 3) GRS code over GF(2^{3}) generated by the polynomial , a codeword is given by the evaluation mapping provided as the transmission message . If the codeword is transmitted over an errorfree channel, then is checked to be allzero by (17) and the transmission message is computed by (22) as follows:
where
With the above theorems, the list decoding algorithm [12] of an , GRS code is adjusted as follows.

(1)
Perform codewordchecking, , for a received vector . If is an allzero vector, then output the corresponding message vector determined as , where a vector is the last tuple of . Then, go to step 5.

(2)
Perform the EKE interpolation:

(a)
compute the syndrome polynomials in parallel: and and ,

(b)
find polynomial polynomials , where , by the FengTzeng algorithm such that , ,

(c)
form the bivariate polynomial , and then obtain the polynomial satisfying , .

(a)

(3)
Perform the factorization on the bivariate polynomial by employing the reconstruction algorithm [12] to find the root polynomials .

(4)
Generate the corresponding codeword for each polynomial . Output the message vectors of the codewords with the Hamming distance to equal to or less.

(5)
Terminate decoding
4. Simulations and Conclusions
Figure 1 displays the decoding performance of listing decoding [12] with the modified EKE algorithm as a (255, 223, 33) GRS code and a (255, 239, 17) GRS code are transmitted with BPSK signaling over AWGN channels. Figure 2 illustrates the probability of the EKE algorithm being executed in such a listing decoding. Those simulations demonstrate that codeword checking has little effect on decoding at low signaltonoise ratios. However, the modified EKE algorithm provides lower decoding complexity when the signaltonoise is high. At a block error rate (BER) of , the probabilities of the EKE algorithm being utilized in list decoding of these two GRS codes are 0.98 and 0.75, respectively. This work presents a modified EKE algorithm, incorporating codeword checking and a matrix operation, which obtains the transmission information from the received codeword. The computation of codeword checking does not increase the complexity of the original EKE algorithm, because it is an item in the original decoding process. The proposed EKE algorithm is beneficial when the signaltonoise ratio is high.
References
 1.
Agashe P, Rezaiifar R, Bender P: CDMA2000® high rate broadcast packet data air interface design. IEEE Communications Magazine 2004, 42(2):8390.
 2.
Wicker SB: Error Control Systems for Digital Communication and Storage. Prentice Hall, New York, NY, USA; 1995.
 3.
Lin S, Costello DJ Jr.: Error Control Coding. 2nd edition. Prentice Hall, New York, NY, USA; 2004.
 4.
Peterson WW, Weldon EJ: ErrorControl Codes. 2nd edition. MIT Press, Cambridge, Mass, USA; 1972.
 5.
Massy JL: Stepbystep decoding of BoseChauhuriHocquenghem codes. IEEE Transactions on Information Theory 1965, 11(4):580585. 10.1109/TIT.1965.1053833
 6.
Wei SW, Wei CH: Highspeed decoder of ReedSolomon codes. IEEE Transactions on Communications 1993, 41(11):15881593. 10.1109/26.241736
 7.
Chen TC, Wei CH, Wei SW: Stepbystep decoding algorithm for ReedSolomon codes. IEE Proceedings Communications 2000, 147(1):812. 10.1049/ipcom:20000149
 8.
Welch L, Berlekamp ER: Error correction for algebraic block codes. U.S. Patent 4 633 470, 1983
 9.
Fedorenko SV: A simple algorithm for decoding ReedSolomon codes and its relation to the WelchBerlekamp algorithm. IEEE Transactions on Information Theory 2005, 51(3):11961198. 10.1109/TIT.2004.842738
 10.
Sudan M: Decoding of Reed Solomon codes beyond the errorcorrection bound. Journal of Complexity 1997, 13(1):180193. 10.1006/jcom.1997.0439
 11.
Guruswami V, Sudan M: Improved decoding of reedsolomon and algebraicgeometry codes. IEEE Transactions on Information Theory 1999, 45(6):17571767. 10.1109/18.782097
 12.
Roth RM, Ruckenstein G: Efficient decoding of ReedSolomon codes beyond half the minimum distance. IEEE Transactions on Information Theory 2000, 46(1):246257. 10.1109/18.817522
 13.
Koetter R, Vardy A: Algebraic softdecision decoding of ReedSolomon codes. IEEE Transactions on Information Theory 2003, 49(11):28092825. 10.1109/TIT.2003.819332
 14.
Feng GL, Tzeng KK: A generalization of the BerlekampMassey algorithm for multisequence shiftregister synthesis with applications to decoding cyclic codes. IEEE Transactions on Information Theory 1991, 37(5):12741287. 10.1109/18.133246
 15.
MacWilliams FJ, Sloane NJ: The Theory of Error Correcting Codes. North Holland, Amsterdam, The Netherlands; 1977.
 16.
McEliece RJ: The Theory of Information and Coding. 2nd edition. Cambridge University Press, Cambridge, UK; 2002.
 17.
Pellikaan R, Wu XW: List decoding of qary ReedMuller codes. IEEE Transactions on Information Theory 2004, 50(4):679682. 10.1109/TIT.2004.825043
Acknowledgment
The authors would like to thank the National Science Council of the Republic of China, Taiwan, for financially supporting this research under Contract no. NSC 972221E212005.
Author information
Rights and permissions
Open Access This article is distributed under the terms of the Creative Commons Attribution 2.0 International License (https://creativecommons.org/licenses/by/2.0), which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.
About this article
Cite this article
Hu, T., Chang, M. List Decoding of Generalized ReedSolomon Codes by Using a Modified Extended Key Equation Algorithm. J Wireless Com Network 2011, 212136 (2011) doi:10.1155/2011/212136
Received:
Revised:
Accepted:
Published:
Keywords
 Transmission Information
 Additive White Gaussian Noise
 Additive White Gaussian Noise Channel
 Decode Complexity
 Outer Code