List Decoding of Generalized Reed-Solomon Codes by Using a Modiﬁed Extended Key Equation Algorithm

,


Introduction
Reed-Solomon (RS) codes are currently used in a wide variety of applications, ranging from data storage systems, mobile communications, to satellite communications.The third-generation (3G) wireless standard utilizes RS codes as outer codes.For CDMA2000 high-rate 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.
Sudan's algorithm [10] decodes GRS codes in two steps involved, namely, interpolation and factorization.An interpolation is performed on a received word r = (r 0 , r 1 , . . ., r n−1 ), producing a nonzero bivariate polynomial Factorization is then performed on Q(x, y), yielding linear factors (or called y-root polynomials) y − f (x).The codewords are then generated from these distinct factors f (x) via an evaluation mapping.A decoded codeword c * is chosen if the Hamming distance between c * and r is τ or less.
Because solving these interpolation equations of Sudan's algorithm with a naïve Gaussian elimination requires the time complexity O(n 3 ), an EKE algorithm has been presented to decrease this complexity [12].The EKE algorithm employs generalized Berlekamp-Massy algorithm (or the Feng-Tzeng 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 O(l(n − k) 2 ).l 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 u at each interpolation point.A nonzero Q(x, y) polynomial exists that interpolates the points (x i, y i ), i ∈ [n − 1] with multiplicity u, and is formed by Q(x, y) = c i=0 a i φ(x, y), where c = n u+1 2 , and the expression of I J denotes the number of ways to choose J from I. In comparison with Sudan's work, the GS algorithm provides more n u+1 2 − n linear homogeneous equations in interpolation, thus improving the decoding correction distance.Increasing u improves the decoding performance but also increases the required complexity.The asymptotical decoding correction fraction is given by 1 − √ R, and the code rate R is given by R = k/n.The increase in decoding capability is substantial, especially for low-rate 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 Koetter-Vardy (KV) algorithm can achieve a substantial coding gain over the GS algorithm.For instance, at a frame-error-rate (FER) of 10 −5 , 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 256-QAM 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 all-zero, 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.

Extended Key Equation Algorithm
Consider an evaluation mapping f (x where the information vector is m = (m 0 , m 1 , . . ., m k−1 ), the generator matrix is and α is a primitive element in GF(2 m ).The term l is the upper bound of the number of consistent codewords, which are at Hamming distance ≤ τ from any received word.For an (n, k) GRS code, Sudan's algorithm corrects any error pattern of up to τ errors for where h denotes the smallest nonnegative integer holding the following equation: Assuming that k ≤ (n + 1)/3, the value of τ becomes Let F be a field, and let F k [x] represent the set of all polynomials of degree < k in the variable x over F. Sudan's algorithm consists of the following steps.
(1) Find a nonzero bivariate polynomial , for a received vector r = (r 0 , r 1 , . . ., r n−1 ). ( In [2,3], for an (n, k) RS code, the error-locator polynomial Λ(x) and the error-evaluator polynomial Ω(x) are computed in the following key equation (KE): In [12], based on the linear factors of bivariate polynomials Q(x, y) where the polynomial arithmetic is carried out modulo a power of x in Sudan's algorithm, an EKE algorithm is derived as follows: where Λ (t) (x), t ∈ {1, 2, . . ., l}, and Ω(x) are polynomials that satisfy certain degree constraints and S (t) (x) are syndrome polynomials computed as follows: Furthermore, the above equation can be obtained as follows: which is denoted as Nl−1

S
(1) 1 Let where N t = n − τ − t(k − 1) and t ∈ {1, 2, . . ., l}.After these polynomials Q (t) (x), t ∈ {1, 2, . . ., l}, have been computed in (11) by using the Feng-Tzeng algorithms [14] or a similar algorithm mentioned in [12], the polynomial Q (0) (x) is obtained as follows: and satisfies A design parameter l in [12] is an upper bound on the size of the list of decoded codewords.For code rate R ≤ 1/3, from (4), the value of l is determined by the following range: The EKE algorithm employs the Feng-Tzeng algorithm [14] to decode GRS codes.The dimensions of the S-matrix in (11) are τ by l(n − τ − (k − 1)(l + 1)/2).Since the Feng-Tzeng 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 Q (0) (x) in (14).Hence, the time complexity is O(l(n − k) 2 ), which is less than the time complexity of O(n 3 ) of Sudan's algorithm.Consequently, the EKE algorithm is more attractive than the algorithm of [10].
Theorem 1.For a received vector r = (r 0 , r 1 , . . ., r n−1 ), codeword checking w is equal to the computation of S (1) , which is where T denotes the matrix transpose.
Proof.For computing the value of η j in (9), a different element γ ∈ [n − 1]\{ j} should yield a different result for α j − α γ .Consequently, the value of γ∈[n−1]\{ j} (α j − α γ ) can be simplified as (18) Equation ( 9) becomes For the vector S (1) = (S (1)  0 , S (1) 1 , . . ., S (1)  n−k−1 ), the calculation of each S (1)  i can be denoted as follows: and the vector S (1) becomes Theorem 2. The codeword checking w is checked to be all-zero, and then the transmission message is given by where m is the last k-tuple of r and M is a 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 p(X) = 1 + X + X 3 , a codeword v = (1, α 6 , α 5 , α 5 , 1, α 3 , α 6 ) is given by the evaluation mapping provided as the transmission message m = (α 3 , α 2 , α 4 ).If the codeword is transmitted over an error-free channel, then S (1) is checked to be all-zero by ( 17) and the transmission message is computed by ( 22) as follows: where With the above theorems, the list decoding algorithm [12] of an [n, k] GRS code is adjusted as follows.
(1) Perform codeword-checking, S (1) = rH T , for a received vector r = (r 0 , r 1 , . . ., r n−1 ).If S (1) is an all-zero vector, then output the corresponding message vector m determined as m = m • M, where a vector m is the last k-tuple of r.Then, go to step 5.
(2) Perform the EKE interpolation: (a) compute the syndrome polynomials in parallel: (b) find polynomial polynomials and then obtain the polynomial (3) Perform the factorization on the bivariate polynomial Q(x, y) = l t=0 Q (t) (x)y t by employing the reconstruction algorithm [12] to find the y-root

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 signal-tonoise ratios.However, the modified EKE algorithm provides lower decoding complexity when the signal-to-noise is high.At a block error rate (BER) of 10 −5 , 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 signal-to-noise ratio is high.