P1A-4
A Transform-Domain Decoding Algorithm for Reed-Solomon Codes
Z. H. Cai, J. Z. Hao, S. M. Sun, P. S. Chin and Z. N. Chen
Institute for Infocomm Research, 21 Heng Mui Keng Terrace, Singapore 119613
Abstract –– This paper presents a Reed-Solomon decoding
algorithm based on the Euclidean algorithm. The algorithm is
conceptually simple and operates only in transform domain.
The spectrum of the codeword is directly computed without
the explicit knowledge of error-locator and error-evaluator
polynomials; the Chien search and the Forney algorithm are
not necessary.
Index Terms –– Block Codes, Channel Coding, Decoding,
Reed-Solomon Codes.
I. INTRODUCTION
The decoding algorithm for algebraic codes, including
Reed-Solomon codes, has been investigated for over three
decades [1]. Consider a Reed-Solomon code over GF(q)
with length n, number of information symbols k, and
designed odd distance d, (n=q-1, k, d=q-k). Assume the
number of errors 2/)1( −=≤ dte , the ‘conventional’
approaches take the following steps to decode the received
word
)(xv :
1) Computer the syndromes polynomial S(x),
2) Solve the Berlekamp’s key equation to find the error-
locator polynomial
)(
and error-evaluator polynomial
)(
Ω ,
3) Find the roots of the
)(
, and
4) Find the error values at error locations.
It is well known that the error-locator and error-evaluator
polynomials are related through Berlekamp’s key-equation
)(mod)()()(
2t
xxxSx Ω=Λ
. Usually this equation is solved
by the Berlekamp-Massey algorithm [2] or Euclidean
algorithm [3].
There are other methods to decode RS codes without the
computation of syndromes [4]. The key equation is changed
to a new Welch-Berlekamp key-equation, which is based on
the remainder polynomial. Recently methods that decode
RS codes beyond the error-correcting bound have been
proposed as well [5][6], where the list-decoding of Reed-
Solomon is viewed as a bivariate interpolation problem.
Based on the bivariate interpolation, a interesting RS
decoding algorithm that involves no syndrome calculation
or error value/location evaluation is suggested in [6,
Appendix C] by setting m = 1 and L = 1 in Kötter’s
bivariate interpolation algorithm.
In this paper a conventional decoding algorithm for RS
codes is presented. It is motivated by the approach
suggested by R. E. Blahut [1, Figure 9.3]. It needs the
spectrum of the received senseword to compute partial
Greatest Common Divisor (GCD) based on Euclidean
algorithm. The spectrum of the codeword can be recovered
through a polynomial division. Compared to the bivariate
interpolation approach in [6], it is conceptually simpler. The
advantage of our method is it does not require the codes to
be cyclic and it could be generalized to decode algebraic
geometry codes via Gröbner bases.
The paper is organized as follows. Section II presents the
transform-domain decoding algorithm for Reed-Solomon
codes with fixed generator polynomial offset. A method to
remove the offset constraint on the generator polynomial is
discussed in the section III and the section IV summarizes
the paper.
II. T
HE TRANSFORM-DOMAIN DECODING ALGORITHM
For the time being assume the generator polynomial of
the (n, k, d) RS code is
∏
−
−=
−=
1
2
)()(
n
tnj
j
xxg
α
, i.e. the offset
of the generator polynomial is fixed as n-2t. The offset
restriction will be removed later in Section III. Let the
spectrum polynomial of the codeword c(x) be C(x) which
has degree at most k-1. In the following deduction we
assume the error pattern, ),...,,(
110 −
=
n
eeee
, has weight
less than or equal to t, i.e., the number of the elements, e, in
the following indices set,
{}
0| ≠=
i
eiM , (1)
satisfies
tMe ≤= . The received word )(xv satisfies the
following equation
)()()(
e
c
+= . (2)
Let the spectrum polynomials of v(x), e(x) be V(x) and
E(x), respectively. Obviously we have
)()()(
+= . (3)
A proof of the algorithm in [1, Figure 9.3] is given as
follows:
1-4244-0102-X/06/$20.00 ©2006 IEEE
635