Lecture 12: Reed-Solomon Codes

Similar documents
: Error Correcting Codes. October 2017 Lecture 1

Lecture 19: Elias-Bassalygo Bound

Lecture 03: Polynomial Based Codes

Lecture Introduction. 2 Linear codes. CS CTT Current Topics in Theoretical CS Oct 4, 2012

Lecture 8: Shannon s Noise Models

Error Correcting Codes: Combinatorics, Algorithms and Applications Spring Homework Due Monday March 23, 2009 in class

Lecture 12: November 6, 2017

Lecture 19 : Reed-Muller, Concatenation Codes & Decoding problem

Lecture B04 : Linear codes and singleton bound

6.895 PCP and Hardness of Approximation MIT, Fall Lecture 3: Coding Theory

Algebraic Codes for Error Control

Notes 10: List Decoding Reed-Solomon Codes and Concatenated codes

Berlekamp-Massey decoding of RS code

Lecture 28: Generalized Minimum Distance Decoding

Generalized Reed-Solomon Codes

Outline. MSRI-UP 2009 Coding Theory Seminar, Week 2. The definition. Link to polynomials

Lecture 4: Proof of Shannon s theorem and an explicit code

Lecture 4: Codes based on Concatenation

Bounding the number of affine roots

: Error Correcting Codes. November 2017 Lecture 2

Error Correcting Codes Questions Pool

Algebraic Geometry Codes. Shelly Manber. Linear Codes. Algebraic Geometry Codes. Example: Hermitian. Shelly Manber. Codes. Decoding.

Error-Correcting Codes:

Lecture Introduction. 2 Formal Definition. CS CTT Current Topics in Theoretical CS Oct 30, 2012

ERROR CORRECTING CODES

Lecture 3: Error Correcting Codes

Lecture 12: November 6, 2013

Lecture 12. Block Diagram

Limits to List Decoding Random Codes

Ma/CS 6b Class 25: Error Correcting Codes 2

Arrangements, matroids and codes

Codes over Subfields. Chapter Basics

Section 3 Error Correcting Codes (ECC): Fundamentals

Chapter 6 Reed-Solomon Codes. 6.1 Finite Field Algebra 6.2 Reed-Solomon Codes 6.3 Syndrome Based Decoding 6.4 Curve-Fitting Based Decoding

Decoding Reed-Muller codes over product sets

Code-Based Cryptography Error-Correcting Codes and Cryptography

Optimum Soft Decision Decoding of Linear Block Codes

Lecture Notes Math 371: Algebra (Fall 2006) by Nathanael Leedom Ackerman

Lecture 7 September 24

And for polynomials with coefficients in F 2 = Z/2 Euclidean algorithm for gcd s Concept of equality mod M(x) Extended Euclid for inverses mod M(x)

1 Vandermonde matrices

An Interpolation Algorithm for List Decoding of Reed-Solomon Codes

Coding Theory. Ruud Pellikaan MasterMath 2MMC30. Lecture 11.1 May

Error-Correcting Codes

(Rgs) Rings Math 683L (Summer 2003)

ELEC3227/4247 Mid term Quiz2 Solution with explanation

Linear-algebraic list decoding for variants of Reed-Solomon codes

MT361/461/5461 Error Correcting Codes: Preliminary Sheet

Problem Set 2. Assigned: Mon. November. 23, 2015

Coding Theory and Applications. Solved Exercises and Problems of Cyclic Codes. Enes Pasalic University of Primorska Koper, 2013

Error Correction Review

An Introduction to (Network) Coding Theory

Linear Cyclic Codes. Polynomial Word 1 + x + x x 4 + x 5 + x x + x

Notes 6: Polynomials in One Variable

Lecture 18: Shanon s Channel Coding Theorem. Lecture 18: Shanon s Channel Coding Theorem

Sector-Disk Codes and Partial MDS Codes with up to Three Global Parities

EE 229B ERROR CONTROL CODING Spring 2005

CS151 Complexity Theory. Lecture 9 May 1, 2017

List Decoding of Reed Solomon Codes

arxiv: v4 [cs.it] 14 May 2013

An Introduction to (Network) Coding Theory

The Golay codes. Mario de Boer and Ruud Pellikaan

Bridging Shannon and Hamming: List Error-Correction with Optimal Rate

MATH 291T CODING THEORY

The BCH Bound. Background. Parity Check Matrix for BCH Code. Minimum Distance of Cyclic Codes

Notes for the Hong Kong Lectures on Algorithmic Coding Theory. Luca Trevisan. January 7, 2007

Orthogonal Arrays & Codes

The Tensor Product of Two Codes is Not Necessarily Robustly Testable

On the NP-Hardness of Bounded Distance Decoding of Reed-Solomon Codes

CS 573: Algorithmic Game Theory Lecture date: January 23rd, 2008

Horizontal and Vertical Asymptotes from section 2.6

MATH32031: Coding Theory Part 15: Summary

Error Detection and Correction: Hamming Code; Reed-Muller Code

Notes for Lecture 18

Solutions of Exam Coding Theory (2MMC30), 23 June (1.a) Consider the 4 4 matrices as words in F 16

Algebraic structures I

MATH 291T CODING THEORY

Polynomial interpolation over finite fields and applications to list decoding of Reed-Solomon codes

Cyclic codes. I give an example of a shift register with four storage elements and two binary adders.

MATH3302 Coding Theory Problem Set The following ISBN was received with a smudge. What is the missing digit? x9139 9

2 Completing the Hardness of approximation of Set Cover

Binary Primitive BCH Codes. Decoding of the BCH Codes. Implementation of Galois Field Arithmetic. Implementation of Error Correction

Reed Muller Error Correcting Codes

Linear Cyclic Codes. Polynomial Word 1 + x + x x 4 + x 5 + x x + x f(x) = q(x)h(x) + r(x),

Notes 10: Public-key cryptography

Math 512 Syllabus Spring 2017, LIU Post

Lecture 9: List decoding Reed-Solomon and Folded Reed-Solomon codes

Section III.6. Factorization in Polynomial Rings

There are two things that are particularly nice about the first basis

Lecture 14: Hamming and Hadamard Codes

(Dense Structured) Matrix Vector Multiplication

We saw in the last chapter that the linear Hamming codes are nontrivial perfect codes.

MATH3302. Coding and Cryptography. Coding Theory

The Sylvester Resultant

EE512: Error Control Coding

Permanent is hard to compute even on a good day

RON M. ROTH * GADIEL SEROUSSI **

atri/courses/coding-theory/book/

Lecture 2 Linear Codes

Transcription:

Error Correcting Codes: Combinatorics, Algorithms and Applications (Fall 007) Lecture 1: Reed-Solomon Codes September 8, 007 Lecturer: Atri Rudra Scribe: Michel Kulhandjian Last lecture we saw the proof of the Singleton bound which claims that for any (n, k, d) q code, k n d + 1. In today s lecture we will study Reed-Solomon codes. These codes meet the Singleton bound, i.e. satisfy k = n d + 1 (but have the unfortunate property that q n). Note that this implies that the Singleton bound is tight, at least for q n. 1 Reed-Solomon Codes We begin with the definition of Reed-Solomon codes. Definition 1.1 (Reed-Solomon code). Let F q be a finite field and F q [x] denote the F q -space of univariate polynomials where all the coefficients of x are from F q. Pick {α 1, α,...α n } distinct elements (also called evaluation points) of F q and choose n and k such that k n q. We define an encoding function for Reed-Solomon code as RS : F k q Fn q as follows. A message m = (m 0, m 1,..., m k 1 ) with m i F q is mapped to a degree k 1 polynomial. where m f m (x), k 1 f m (x) = m i x i. (1) Note that f m (x) F q [x] is a polynomial of degree k 1. The encoding of m is the evaluation of f m (x) at all the α i s : i=0 RS(m) = f m (α 1 ), f m (α ),..., f m (α n ) We call this image Reed-Solomon code or RS code after two inventors Irving Reed and Gus Solomon of this code [1]. A common special case is n = q 1 with the set of evaluation points being F F \ {0}. Notice that by definition, the entries in {α 1,..., α n } are distinct and thus, must have n q. We now turn to some properties of Reed-Solomon codes. Claim 1.. RS codes are linear codes. 1

Proof. The proof follows from the fact that if a F q and f(x), g(x) F q [x] are polynomials of degree k 1, then af(x) and f(x)+g(x) are also polynomials of degree k 1. In particular, let messages m 1 and m be mapped to f m1 (x) and f m (x) where f m1 (x), f m (x) F q [x] are polynomials of degree k 1 and because of the mapping defined in (1), it is easy to verify that: and Therefore, Therefore RS is a [n, k] q linear code. f m1 (x) + f m (x) = f m1 +m (x), af m1 (x) = f am1 (x). RS(m 1 ) + RS(m ) = RS(m 1 + m ) ars(m 1 ) = RS(am 1 ) The second and more interesting claim is the following: Claim 1.3. RS is a [n, k, n k + 1] q code. That is, it matches the Singleton bound. The claim on the distance follows from the fact that every polynomial of degree k 1 over F q [x] has at most k 1 (not necessarily distinct) roots, and that if two polynomials agree on more than k 1 places then they must be the same polynomial. Proposition 1.4 ( Degree Mantra ). A nonzero polynomial f(x) of degree t over a field F q has at most t roots in F q Proof. We will prove the theorem by induction on t. If t = 0, we are done. Now, consider f(x) of a degree t > 0. Let α F q be a root such that f(α) = 0. If no such root α exists, we are done. If there is a root α, then we can write f(x) = (x α)g(x) where deg(g) = deg(f) 1 (i.e. x α divides f(x)). This is because by the fundamental rule of division of polynomials: f(x) = (x α)g(x) + R(x) where deg(r) 0 (as the degree cannot be negative this in turn implies that deg(r) = 0) and since f(α) = 0, f(α) = 0 + R(α), which implies that R(x) = 0. By induction, g(x) has at most t 1 roots, which implies that f(x) has at most t roots.

We are now ready to prove Claim 1.3 Proof of Claim 1.3 We start by proving the claim on the distance. Fix arbitrary m 1 m F k q. Note that f m 1 (x), f m (x) F q [x] are distinct polynomials of degree k 1 since m 1 m F k q. Then f m1 (x) f m (x) 0 also has degree k 1. Note that w(rs(m ) RS(m 1 )) = (RS(m 1 ), RS(m )). The weight of RS(m ) RS(m 1 ) is n minus the number of 0 s in RS(m ) RS(m 1 ) which is equal to n minus the number of roots that f m1 (x) f m (x) has among {α 1,..., α n }. That is, (RS(m 1 ), RS(m )) = n {α f m1 (α) = f m (α)} By Proposition 1.4, f m1 (x) f m (x) has at most k 1 roots. Thus, the weight of RS(m ) RS(m 1 ) is at least n (k 1) = n k + 1. Therefore d n k + 1, and since the Singleton bound implies that d n k + 1, we have d = n k + 1. 1 The argument above also shows that distinct polynomials f m1 (x), f m (x) F q [x] are mapped to distinct codewords. Therefore, the code contains [q] k codewords and has dimension k. The claim in linearity of the code follows from Claim 1.. Definition 1.5 (MDS codes). An (n, k, d) q code is called Maximum Distance Separable (MDS) if d = n k + 1. Thus, Reed-Solomon codes are MDS codes. Let us now find a generator matrix for RS codes (which exists by Claim 1.). By Definition 1.1, any basis f m1,..., f mk of polynomial of degree at most k 1 gives rise to a basis RS(m 1 ),..., RS(m k ) of the code. A particularly nice polynomial basis is the set of monomials 1, x,..., x i,..., x k 1. The corresponding generator matrix, whose ith row (numbering rows from 0 to k 1 ) is (α1 i, αi,..., αi j,..., αi n ) and this generator matrix is called the VanDerMonde matrix with k n size 1 1 1 1 1 1 α 1 α α j α n α1 α αj αn.......... α1 i α i αj i αn i.......... α1 k 1 α k 1 α k 1 j αn k 1 RS codes are used in storage of information in CD s because they are robust against bursterrors that come in contiguous manner, unlike the random error method studied by Shanon. The drawback of Reed-Solomon codes is the condition that q n. The problem is that we need each coordinate of a codeword to correspond to a distinct element of F q 1 Alternatively, consider the distance between the all zero codeword and the codeword corresponding to the polynomial k 1 i=1 (x α i). 3

Remark 1.6. One might ask does q have to vary as a function of n to satisfy the Singleton bound? The answer is yes. We can show this by the Plotkin bound, which we will prove in a couple of lectures. Hamming versus Shannon Let us compare Hamming and Shannon theories in terms of the asymptotic bounds we have seen so far (recall rate R = k n and relative distance δ = d n ). Hamming theory: Can correct δ fraction of worse case errors for codes of distance δ. By the Singleton bound, δ 1 R, which implies that p fraction of errors can be corrected, where p 1 R The above can be achieved via efficient decoding algorithms for RS codes. Shannon theory: In qscp, we can have reliable communication with R < 1 H q (p). It can be shown that 1. 1 H q (p) 1 p. 1 H q (p) 1 p ε, iff q = Ω(1/ε) for large q. Thus we can have reliable communication with p 1 R on qsc p for large enough q. Remark.1. There is a gap between Shannon and Hamming world: one can correct twice as many errors as in the Shannon world. One natural question to ask is whether we can somehow bridge this gap. We will now re-visit the the bad example for unique decoding and consider an extension of the bad example as shown in Figure 1. Recall that ȳ and the codewords c 1 and c form the bad example for unique decoding that we have already seen before. Recall that for this particular received word we can not do error recovery by unique decoding since there are two codewords c 1 and c having the same distance δ from vector ȳ. On the other hand, the received word z has an unique codeword c 1 with distance p > δ. However, unique decoding does not allow for error recovery form z. This is because by definition of unique decoding, the decoded codeword cannot have Hamming distance larger than δ/ from the received word. In this example, there is no codeword within Hamming distance δ/ of z and thus, it can not correct the received word z. In this example is because of the received word ȳ. Let us consider the example in Figure 1 for the binary case. It can be shown that the number of vectors in dotted lines is insignificant compared to volume of shaded area (for large enough block 4

z y c1 c c3 c4 bad examples bad examples Figure 1: In this example vectors are embedded into Euclidean space such that the Euclidean distance between two mapped points is the same as the Hamming distance between vectors. The c 1,c,c 3,c 4 are codewords. The dotted lines contain the bad examples, that is, the received words for which unique decoding is not possible. length of the code). The volume of all Hamming balls radius of δ around all the codewords is roughly equal to: k nh( δ ), which implies that the volume of the shaded area (without the dotted lines) is approximately equal to: n k nh( δ ). In other words, the volume when expressed as a fraction of the volume of the ambient space is roughly: 1 n(1 H( δ ) R), () where k = Rn and R 1 H( δ). If R < 1 H(δ ) then second term of () is very small. Therefore the number of vectors in shaded area (without the bad examples) is almost all of the ambient space. Note that by the stringent condition on unique decoding none of these received words can be decoded (even though for such received words there is a unique closest codeword). Thus, in order to be able to decode such received vectors, we need to relax the notion of unique decoding. We will consider such a relaxation called list decoding in the next lecture. 5

References [1] Irving S. Reed and Gustav Solomon. Polynomial codes over certain finite fields. SIAM Journal on Applied Mathematics, 8():300 304, 1960. 6