Skip to main content
Article thumbnail
Location of Repository

Error Correcting Codes: Combinatorics, Algorithms and Applications (Fall 2007) Lecture 27: Berlekamp-Welch Algorithm

By Lecturer Atri Rudra and Scribe Michel Kulhandjian

Abstract

In the last lecture, we discussed unique decoding of RS codes and briefly went through the Berlekamp-Welch algorithm. In today’s lecture we will study Berlekamp-Welch algorithm in more detail. Recall that the [n, k, n−k+1]q Reed-Solomon code regards a message as a polynomial P (X) of a degree at most k−1, and the encoding of a message m = (m0,..., mk−1) is (P (α1),..., P (αn)). Here, mi ∈ Fq, k ≤ n ≤ q, and P (X) = ∑ k−1 i=0 miX i. Now let us look at the decoding problem of Reed-Solomon codes. Suppose we are given distinct values α1,..., αn where αi ∈ Fq with received word y = (y1,..., yn) ∈ F n q and parameters k and e < n−k+1 2, where e is an upper bound on the number of errors which occurred during transmission. Our goal is to find a polynomial P (X) ∈ Fq[X] of degree at most k − 1, such that P (αi) ̸ = yi for at most e values of i ∈ [n] (assuming such a P (X) exists). Although this problem is quite non-trivial one, a polynomial time solution can be found for this problem. This solution dates back to 1960 when Peterson [2] came up with a decoding algorithm for the more general BCH code that runs in time O(n 3). Later Berlekamp and Massey sped up this algorithm so that it runs in O(n 2). There is an implementation using Fast Fourier Transform that runs in time O(n log n). We will not discuss these faster algorithms, but will study another algorithm due to Berlekamp and Welch. More precisely, we will use the Gemmell-Sudan description of the Berlekamp-Welch algorithm[1]. 1 Berlekamp-Welch Algorithm We start by describing the Berlekamp-Welch algorithm. Input: n ≥ k ≥ 1, 0 < e < n−k+1 2 and n pairs {(αi, yi)} n i=1 with αi distinct. Let y = (y1,..., yn). Output: Polynomial P (X) of degree at most k − 1 or fail. Step 1: Compute a non-zero polynomial E(X) of degree exactly e, and a polynomial Q(X) of degree at most e + k − 1 such that If such polynomials do not exist output fail. yiE(αi) = Q(αi) 1 ≤ i ≤ n. (1

Year: 2007
OAI identifier: oai:CiteSeerX.psu:10.1.1.186.9130
Provided by: CiteSeerX
Download PDF:
Sorry, we are unable to provide the full text but you may find it at the following location(s):
  • http://citeseerx.ist.psu.edu/v... (external link)
  • http://www.cs.washington.edu/h... (external link)
  • Suggested articles


    To submit an update or takedown request for this paper, please submit an Update/Correction/Removal Request.