IEEE TRANSACTIONS ON INFORMATION THEORY, VOL. 51, NO. 3, MARTH 2005, PP. 1196–1198

1

A simple algorithm for decoding Reed-Solomon codes and its relation to the Welch-Berlekamp algorithm Sergei V. Fedorenko, Member, IEEE Abstract A simple and natural Gao algorithm for decoding algebraic codes is described. Its relation to the WelchBerlekamp and Euclidean algorithms is given. Index Terms Decoding algorithm, decoding Reed-Solomon (RS) codes, Euclidean algorithm, key equation, RS codes, remainder decoding, Welch-Berlekamp algorithm.

I. I NTRODUCTION In the recent paper, Gao [1] described a simple and natural algorithm for decoding algebraic codes in the class of algorithms decoding up to the designed error-correcting capability. The asymptotic complexity of this algorithm coincides with the complexity of the best Reed-Solomon decoding algorithms, and the description is the simplest for known algorithms descriptions. In this correspondence, the Gao algorithm’s relation to the Welch-Berlekamp [2] and Euclidean algorithms [3], [4] is given. II. D EFINITIONS AND NOTATIONS Let us define the (n, k, d) Reed-Solomon (RS) code over GF(q) with length n = q − 1, number of information symbols k, designed distance d = n − k + 1, q is prime power. The RS code generator polynomial is g(x) =

b+d−2 Y

(x − αi ),

i=b

where α is a primitive element of GF(q), b is any natural number. The received vector is represented as a polynomial R(x) =

n−1 X

i

ri x = C(x) + E(x) =

i=0

n−1 X i=0

i

ci x +

n−1 X

e i xi ,

i=0

where C(x) is the codeword, E(x) is the error vector. The ith error in the error vector E(x) has a locator Zi ∈ {α0 , α1 , α2 , · · · , αn−1 } and an error value Yi ∈ GF(q)\0. The error locator polynomial is W (x) =

t Y

(x − Zi ),

i=1

where t ≤ (d − 1)/2, Zi is the locator of the error position in the error vector E(x). There are several coding methods for RS codes. In this correspondence, two methods are used: the remainder coding in the time domain for systematic coding and the spectral coding in the frequency domain for nonsystematic coding. Note that the decoding algorithm does not depend on the coding method.

IEEE TRANSACTIONS ON INFORMATION THEORY, VOL. 51, NO. 3, MARTH 2005, PP. 1196–1198

2

In Sections IV and V, remainder coding is applied. The codeword consists of two parts: the message part and the parity part. The message error locator polynomial is Wm (x) =

tm Y

(x − Zi ),

i=1

where tm ≤ (d − 1)/2, Zi ∈ αj , j ∈ [d − 1, n − 1], is the locator of the error position in the message part of error vector E(x). In Sections III and VI, spectral coding is applied (we consider the case b = 1 only). The message polynomial of the RS code is M (x) =

k−1 X

m i xi .

i=0

The component ci of codeword C(x) is computed as ci = M (αi ),

i ∈ [0, n − 1].

III. G AO ALGORITHM We describe here the Gao algorithm [1] for the case of the classical RS codes only (n = q − 1 and b = 1). 1) Interpolation. Construct an interpolating polynomial T (x) such that T (αi ) = ri , where deg T (x) < n. 2) Partial GCD. Solve a congruence

i ∈ [0, n − 1],

 n  W (x)T (x) ≡ P (x) mod x − 1 

deg P (x) < n+k 2 maximize deg P (x)

by applying the extended Euclidean algorithm to xn − 1 and T (x), and we obtain unique pair of polynomials P (x) and W (x). 3) Division. The message polynomial is P (x) M (x) = . W (x) The asymptotic complexity of this algorithm O(n(log n)2 ) coincides with the complexity of good classical RS decoding algorithms [4], [5]. The first step of the Gao algorithm can be implemented by any fast algorithm for the discrete Fourier transform, for example, [6]. If the number of multiplications is to be minimized, then the best known algorithm of the discrete Fourier transform for small lengths (n ≤ 511) is described in [7]. One of the best implementations of the second step is the Moenck algorithm [8], that is also reproduced in [9], [10]. Note that Moenck’s implementation of the second step completely coincides with the algorithm of the key equation solving by Sugiyama et al. [3]. For application of the Gao algorithm to other classes of algebraic codes, such as Bose-ChaudhuriHocquenghem (BCH), Goppa, or alternant codes, the additional re-encoding step is needed.

IEEE TRANSACTIONS ON INFORMATION THEORY, VOL. 51, NO. 3, MARTH 2005, PP. 1196–1198

3

IV. T HE ORIGINAL W ELCH -B ERLEKAMP ALGORITHM The Welch-Berlekamp algorithm is the remainder decoding algorithm. We follow the original patent [2] and paper [11] with simple algorithm description. The Welch-Berlekamp algorithm consists of the following steps. 1) Calculate the syndrome for cyclic codes S(x) =

d−2 X

si xi ≡ R(x) mod g(x).

i=0

2) Solve the key equation

½

pj αj N (αj ) = sj Wm (αj ), j ∈ [0, d − 2] deg N (x) < deg Wm (x) ≤ (d − 1)/2,

where p(x) =

(1)

d−2 X g(x) = pi xi , x − αb i=0

and obtain polynomials N (x) and Wm (x). 3) Determine the error locations in the message part of received vector from Wm (x) and obtain the set {Zi } ∈ αj , j ∈ [d − 1, n − 1]. 4) Determine the error values in the message part of received vector Yi = f (Zi )

N (Zi ) , Wm0 (Zi )

where Wm0 (x) is a formal derivative for Wm (x) and f (Z) = Z −b

d−2 X i=0

pi αi(b+1) αi − Z

for Z ∈ αj , j ∈ [d − 1, n − 1]. 5) Determine the parity part of codeword. V. C HAMBERS ’ INTERPRETATION In [12], Chambers described the second step interpretation of the Welch-Berlekamp algorithm. For RS codes pj 6= 0, j ∈ [0, d − 2], and from the key equation (1) we have (

N (αj ) = pjsαj j Wm (αj ), j ∈ [0, d − 2] deg N (x) < deg Wm (x) ≤ (d − 1)/2.

Construct an interpolating polynomial L(x) such that sj , j ∈ [0, d − 2], L(αj ) = pj αj where deg L(x) < d − 1. From we have

N (αj ) = L(αj )Wm (αj ),

  N (x) ≡ L(x)Wm (x) mod G(x) 

where G(x) =

j ∈ [0, d − 2],

d−2 Q j=0

deg N (x) < deg Wm (x) ≤ (d − 1)/2 minimize deg Wm (x),

(x − αj ). Solve this congruence by applying the extended Euclidean algorithm to G(x)

and L(x), and we obtain polynomials N (x) and Wm (x).

IEEE TRANSACTIONS ON INFORMATION THEORY, VOL. 51, NO. 3, MARTH 2005, PP. 1196–1198

4

VI. A NOTHER APPROACH TO THE W ELCH -B ERLEKAMP ALGORITHM In [13], Gemmell and Sudan described a modification of the Welch-Berlekamp algorithm which is easy to understand. However, direct implementation of this modification is inefficient. If ri = ci then ri = M (αi ). If ri 6= ci then W (αi ) = 0. Hence, W (αi )ri = W (αi )M (αi ),

i ∈ [0, n − 1].

Let P (x) = W (x)M (x). Then the key equation is W (αi )ri = P (αi ),

i ∈ [0, n − 1].

(2)

We solve the key equation and obtain polynomials P (x) and W (x). The message polynomial is M (x) =

P (x) . W (x)

The Gemmell-Sudan modification applies the idea of the original Welch-Berlekamp algorithm to the frequency domain. Clearly, the description of the Gemmell-Sudan modification is simpler than the description of the original Welch-Berlekamp algorithm. VII. I MPROVEMENT OF THE G EMMELL -S UDAN MODIFICATION We apply the Chambers method to the key equation (2). Let us construct an interpolating polynomial T (x) such that T (αi ) = ri ,

i ∈ [0, n − 1],

where deg T (x) < n. This corresponds to the first step of the Gao algorithm. Further, from W (αi )T (αi ) = P (αi ), i ∈ [0, n − 1], we have the congruence

W (x)T (x) ≡ P (x) mod xn − 1.

Solving this congruence corresponds to the second step of the Gao algorithm. It is clear that by combining methods from Sections V and VI, we get the Gao algorithm. VIII. C ONCLUSION The correspondence does not contain any new decoding algorithms. However, the demonstrative connection between known decoding algorithms has important methodological significance in coding theory. We see that the Gao algorithm belongs to the class of the frequency-domain algorithms with simple description. Thus, the correspondence demonstrates how carrying the algorithms from the time domain into the frequency domain results in simplification of their description. In the author’s opinion, the Gao algorithm and its modifications are the simplest for codes with short lengths for any implementation. The correctness proofs of all considered algorithms are simple and can be found in corresponding references. The properties of the extended Euclidean algorithm are described in popular books on coding theory [4], [14]. ACKNOWLEDGEMENT The author would like to thank the anonymous reviewers for their constructive comments.

IEEE TRANSACTIONS ON INFORMATION THEORY, VOL. 51, NO. 3, MARTH 2005, PP. 1196–1198

5

R EFERENCES [1] S.Gao, “A new algorithm for decoding Reed-Solomon codes,” in Communications, Information and Network Security, V.Bhargava, H.V.Poor, V.Tarokh, and S.Yoon, Eds. Norwell, MA: Kluwer, 2003, vol.712, pp.55–68. [2] L.Welch and E.R.Berlekamp, “Error correction for algebraic block codes.” U.S. Patent 4 633 470, Sep. 27, 1983. [3] Y.Sugiyama, M.Kasahara, S.Hirasawa, and T.Namekawa, “A method for solving key equation for decoding Goppa codes,” Inf. Contr., vol.27, pp.87–99, 1975. [4] F.J.MacWilliams and N.J.A.Sloane, The Theory of Error-Correcting Codes. Amsterdam, The Netherlands: North-Holland, 1977. [5] J.Justesen, “On the complexity of decoding Reed-Solomon codes,” IEEE Trans. Inf. Theory, vol. IT–22, no.2, pp.237–238, Mar. 1976. [6] Y.Wang and X.Zhu, “A fast algorithm for the Fourier transform over finite fields and its VLSI implementation,” IEEE J. Select. Areas Commun., vol.6, no.3, pp.572–577, Apr. 1988. [7] P.V.Trifonov and S.V.Fedorenko, “A method for fast computation of the Fourier transform over a finite field,” Probl. Inf. Transm., vol.39, no.3, pp.231–238, 2003. [8] R.T.Moenck, “Fast computation of GCDs,” in Proc. 5th Annual ACM Symp. Theory of Computing, Austin, TX, 1973, pp.142–151. [9] A.Aho, J.Hopcroft, and J.Ullman, The Design and Analysis of Computer Algorithms. Reading, MA: Addison-Wesley, 1976. [10] R.E.Blahut, Fast Algorithms for Digital Signal Processing. Reading, MA: Addison-Wesley, 1985. [11] M.Morii and M.Kasahara, “Generalized key-equation of remainder decoding algorithm for Reed-Solomon codes,” IEEE Trans. Inf. Theory, vol.38, no.6, pp.1801–1807, Nov. 1992. [12] W.G.Chambers, “Solution of Welch-Berlekamp key equation by Euclidean algorithm,” Electron. Lett., vol.29, no.11, p.1031, 1993. [13] P.Gemmell and M.Sudan, “Highly resilient correctors for polynomials,” Inf. Process. Lett., vol.43, no.4, pp.169–174, 1992. [14] R.E.Blahut, Theory and Practice of Error Control Codes. Reading, MA: Addison-Wesley, 1984.

Correction In the above correspondence [1], the following correction is necessary. The decoding algorithm described in Section III in the correspondence [1] was suggested by Shiozaki [2] and Gao [3]. ACKNOWLEDGEMENT The author would like to thank Ludo M. G. M. Tolhuizen for his helpful comment. R EFERENCES [1] S.V. Fedorenko, “A simple algorithm for decoding Reed-Solomon codes and its relation to the Welch-Berlekamp algorithm,” IEEE Trans. Inf. Theory, Vol. IT–51, no. 3, pp. 1196–1198, Mar. 2005. [2] A. Shiozaki, “Decoding of redundant residue polynomial codes using Euclid’s algorithm,” IEEE Trans. Inf. Theory, Vol. IT–34, no. 5, pp. 1351–1354, Sep. 1988. [3] S. Gao, “A new algorithm for decoding Reed-Solomon codes,” in Communications, Information and Network Security, V. Bhargava, H.V. Poor, V. Tarokh, and S.Yoon, Eds. Norwell, MA: Kluwer, 2003, vol. 712, pp. 55–68.

A simple algorithm for decoding Reed-Solomon codes ...

relation to the Welch-Berlekamp [2] and Euclidean algorithms [3], [4] is given. II. DEFINITIONS AND NOTATIONS. Let us define the (n, k, d) Reed-Solomon (RS) code over GF(q) with length n = q − 1, number of information symbols k, designed distance d = n − k + 1, q is prime power. The RS code generator polynomial is g(x) ...

58KB Sizes 5 Downloads 232 Views

Recommend Documents

A Simple Algorithm for Clustering Mixtures of Discrete ...
mixture? This document is licensed under the Creative Commons License by ... on spectral clustering for continuous distributions have focused on high- ... This has resulted in rather ad-hoc methods for cleaning up mixture of discrete ...

A Simple Distributed Power Control Algorithm for ...
the following advantages: 1) the operations of each SU are simple and ... It is proved that, the CR network with this simple algorithm ...... Wireless Commun., vol.

List Decoding of Biorthogonal Codes and the ... | Google Sites
an input alphabet ±1 and a real-valued output R. Given any nonzero received vector y ... Key words: soft-decision list decoding, biorthogonal codes,. Hadamard ...

List Decoding of Biorthogonal Codes and the ...
an algorithm that outputs this list of codewords {c} with the linear complexity order ... Ilya Dumer is with the Department of Electrical Engineering, University of. California, Riverside, CA 92521, USA; (e-mail: [email protected]). Research supported

Efficient Decoding of Permutation Codes Obtained from ...
Index Terms—Permutation codes, Distance preserving maps ... have efficient decoding, are known to achieve this upper bound. (see [1], [2]). ... denote this mapping. The example below illustrates the map of b = (1, 1, 0, 1) to the permutation vector

List Decoding of the First-Order Binary Reed–Muller Codes
Binary first-order Reed–Muller codes RM(1,m) have length n = 2m and consist of ..... MacWilliams, F.J. and Sloane, N.J.A., The Theory of Error-Correcting Codes, ...

Systematic encoding and decoding of chain reaction codes
Nov 17, 2011 - Frojdh, et al., “File format sub-track selection and switching,” ISO/. IEC JTC1/SC29/WG11 MPEG2009 M16665, London UK., Jul. 2009, 14 pp. Gao, L. et al.: “Ef?cient Schemes for Broadcasting Popular Videos,”. Proc. Inter. Workshop

DRESS Codes for the Storage Cloud: Simple ...
“cloud storage”, use a large number of individually unreliable storage nodes ..... The simulations results indicate the advantages of abandon- ..... Computing, pp.

Efficient Decoding of Permutation Codes Obtained from ...
N. Thus it is of interest to consider other means of obtaining permutation codes, for .... the transmitted symbol corresponding to bi = 0 is different from the received ...

Systematic encoding and decoding of chain reaction codes
Nov 17, 2011 - 690-697 (Oct. 1998). Paris, et al., “Ef?cient broadcasting protocols for video on demand”,. International Symposium on Modeling, Analysis and Simulation of. Computer and Telecommunication systems (MASCOTS), vol. 6, pp. 127-132 (Jul

DRESS Codes for the Storage Cloud: Simple ...
“cloud storage”, use a large number of individually unreliable storage nodes ..... network coding,” tech. rep., IBM Research GmbH, Zurich Research. Laboratory ...

On the Linear Programming Decoding of HDPC Codes
The decision boundaries divide the signal space into M disjoint decision regions, each of which consists of all the point in Rn closest in. Euclidean distance to the received signal r. An ML decoder finds which decision region Zi contains r, and outp

List Decoding of Reed-Muller Codes
vector y and the candidate c(i)(x1,...,xm) = c1x1 + ... + cixi on facet Sj and denote. dSj (y, c(i)) the Hamming distance between these two vectors (of length 2i). Clearly that for any linear function c(x1,...,xm) such that c(i)(x1,...,xm) = c1x1 + .

On complexity of decoding Reed-Muller codes within ...
full list decoding up to the code distance d can be performed with a lower ... Both recursive and majority algorithms correct many error patterns beyond the BDD ...

Multi-Layer Parallel Decoding Algorithm and VLSI ... - Rice ECE
parallel decoding algorithm would still require less memory than the two-phase flooding ..... permuters and other related logic will be disabled. The 2Z permuted ...

A Simple, Fast, and Effective Polygon Reduction Algorithm - Stan Melax
Special effects in your game modify the geometry of objects, bumping up your polygon count and requiring a method by which your engine can quickly reduce polygon counts at run time. G A M E D E V E L O P E R. NOVEMBER 1998 http://www.gdmag.com. 44. R

S-SEBI: A Simple Remote Sensing Algorithm to ...
Aug 23, 1997 - M SatlI”A IE:(j-OS:6 aql ql!M puodsano:, ... xnv waq I!os. PIS. SES b8b. 96b. 66b. Z8b ..... Daughtry, C.S.T., Kustas, W.P., Moran, M.S.. Pinter, P.J. ...

A Simple Linear Ranking Algorithm Using Query ... - Research at Google
we define an additional free variable (intercept, or benchmark) for each ... We call this parameter .... It is immediate to apply the ideas here within each category. ... international conference on Machine learning, pages 129–136, New York, NY, ..

A Fast and Simple Surface Reconstruction Algorithm
Jun 17, 2012 - Octree decomposition. Root cell smallest bounding cube of P. Splitting rule split a splittable leaf cell into eight children. Balancing rule split a leaf cell C if it has a neighbor C/ s.t. lC < lC /2. Apply the two rules alternately u

On a Simple Randomized Algorithm for Finding a 2 ... - Semantic Scholar
We analyze the performance of a simple randomized algorithm for finding 2-factors in directed. Hamiltonian graphs of out-degree at most two and in undirected Hamiltonian graphs of degree at most three. For the directed case, the algorithm finds a 2-f

On a Simple Randomized Algorithm for Finding a 2 ... - Semantic Scholar
However, they left open the question of whether an Hamiltonian path/cycle or even a long path/cycle can be found in sparse random graphs, e.g., graphs of degree 3. Our result on 3-regular random Hamiltonian graphs improves on a result of Karger et al

On a Simple Randomized Algorithm for Finding a 2 ...
note that the probability space is determined both by the space of all such random graphs and the random choices made by the algorithm). Given a undirected ...

Iterative Decoding vs. Viterbi Decoding: A Comparison
probability (APP). Even though soft decision is more powerful than hard decision decoders, many systems can not use soft decision algorithms, e.g. in GSM.

List Decoding for long Reed-Muller codes of order 2 ...
We call Reed-Muller code of order r and we denote. RM(r, m) the linear code of length n = 2m, minimal distance dmin = 2m−r and dimension (0 m. ) + ททท + (r.