This preview has intentionally blurred sections. Sign up to view the full version.
View Full Document
Unformatted text preview: Error Correcting Codes: Combinatorics, Algorithms and Applications (Fall 2007) Lecture 27: BerlekampWelch Algorithm October 31, 2007 Lecturer: Atri Rudra Scribe: Michel Kulhandjian In the last lecture, we discussed unique decoding of RS codes and briefly went through the BerlekampWelch algorithm. In today’s lecture we will study BerlekampWelch algorithm in more detail. Recall that the [ n,k,n k +1] q ReedSolomon code regards a message as a polynomial P ( X ) of a degree at most k 1 , and the encoding of a message m = ( m ,...,m k 1 ) is ( P ( α 1 ) ,...,P ( α n )) . Here, m i ∈ F q , k ≤ n ≤ q , and P ( X ) = ∑ k 1 i =0 m i X i . Now let us look at the decoding problem of ReedSolomon codes. Suppose we are given distinct values α 1 ,...,α n where α i ∈ F q with received word y = ( y 1 ,...,y n ) ∈ 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 ) ∈ F q [ X ] of degree at most k 1 , such that P ( α i ) 6 = y i for at most e values of i ∈ [ n ] (assuming such a P ( X ) exists). Although this problem is quite nontrivial 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 algo rithms, but will study another algorithm due to Berlekamp and Welch. More precisely, we will use the GemmellSudan description of the BerlekampWelch algorithm[1]....
View
Full
Document
This note was uploaded on 01/02/2012 for the course CSE 545 taught by Professor Rudra during the Spring '11 term at SUNY Buffalo.
 Spring '11
 RUDRA
 Algorithms

Click to edit the document details