List decoding algorithms improve the error-correction performance of a code by generating a list of possible transmitted messages instead of one unique ...
Decoding Reed-Solomon Codes Using the Guruswami-Sudan Algorithm
L. Chen, R. A. Carrasco and E. G. Chester
University of Newcastle-upon-Tyne, United Kingdom Abstract List decoding algorithms improve the error-correction performance of a code by generating a list of possible transmitted messages instead of one unique message as with conventional algebraic decoders, making it possible to correct errors beyond half the hamming distance boundary d/2. In this paper, we present new simulation results for Reed-Solomon (RS) codes using the Guruswami-Sudan (GS) list decoding algorithm over the AWGN and Rayleigh fading channels. The results show significant coding gains over the unique decoding algorithm can be achieved for low rate codes and over fading channels. A complexity analysis of GS algorithm is presented and comparisons are made with the unique decoding algorithm. We conclude that although coding gains can be achieved, it is at the expense of high complexity. 1. Introduction The idea of list decoding block codes was introduced by Elias [1] and Wozencraft [2] independently in the 1950s. In 1997, Sudan [3] introduced this idea to decode low rate RS codes beyond d/2, where d is the Hamming distance of the code. Later, Guruswami and Sudan [4] [5] improved the algorithm to decode RS codes beyond d/2 for nearly any code rate. However, this algorithm was still impractical to implement until Kotter [6], Roth, and Ruckenstein [7] presented lowcomplexity implementation methods for the key steps (Interpolation and Factorisation) of the GS algorithm. In 2003, McEliece [8] gave a more explicit explanation of the algorithm. RS codes were introduced in the 1960s and widely used in storage technology and mobile communications. Conventional algebraic decoding algorithms result a unique codeword, called unique decoding algorithm. These algorithms include Berlekamp-Massey algorithm and Euclid’s algorithm and are very efficient in terms of running time. However, they are unable to correct any corrupted received word beyond d/2. This limits the performance of RS codes over deeply corruptive channels. The GS algorithm made a breakthrough in removing this limitation. It gives a list of candidate codewords all of which have the possibility of being the transmitted one. The decoder is considered to be successful as long as the transmitted codeword is included in the list. If the error correction boundary is increased the error correction capability is further improved. According to [4] and [5], the GS algorithm improves the error correction capability significantly for low rate (less than 1/3) codes. However, as code
rate increases, the GS algorithm’s error correction capability will approach to the d/2 boundary asymptotically. This paper is to give the theoretical framework of the GS algorithm in order to simplify the understanding of the decoding procedure. Based on that, simulation results of RS(63, 15) are presented. This decoding algorithm’s high decoding complexity has called great concerns from the authors. Therefore a complexity analysis is presented and comparison with the unique decoding algorithm is made, pointing out that further effort need to be addressed on improving the algorithm’s decoding efficiency. This paper is presented as: In section 2, a brief description of the algorithm is given. In section 3, interpolation theorem and Kotter’s algorithm is explained. In section 4, factorisation theorem and Roth-Ruckenstein’s algorithm is explained. In section 5, simulation results are presented. In section 6, complexity analysis of the algorithm is given. In section 7, a conclusion of this paper is given. 2. The Guruswami-Sudan Algorithm Define some commonly used symbols first: • Fq – finite field with q elements; • Fq[x] – the ring of polynomials with coefficients from Fq and variable x; • Fq[xw] – the ring of polynomials from Fq[x] with x degree ≤ w. • Fq[x, y] – the ring of bivariate polynomials with coefficients from Fq and variables x and y. The encoding process for RS codes can be described as mapping k finite field elements into a codeword of length n (n>k): (c0, c1, …, cn-1)=(f(x0), f(x1), …, f(xn-1)) (1) where f(x)=f0+f1x+···+fk-1xk-1 ∈Fq[xk-1] and x0, x1, …, xn1∈Fq. In communications, f0, f1, …, fk-1 are regarded as the transmitted message. There are two key steps in the GS algorithm: Interpolation and Factorisation. Assuming that a corrupted received word of length n is given as: (y0, y1, …, yn-1), by which we can form n points with x0, x1, …, xn-1 as: (x0, y0), (x1, y1), …, (xn-1, yn-1). In interpolation, we reconstruct a minimal weight bivariate polynomial Q(x, y) which has a zero of multiplicity m at those n points. After this, Q(x, y) will be factorised in order to find the list of univariate polynomials p(x) such that y-p(x)|Q(x, y) and deg(p(x))