Information and Coding Theory

Slides:



Advertisements
Similar presentations
Mahdi Barhoush Mohammad Hanaysheh
Advertisements

Noise, Information Theory, and Entropy (cont.) CS414 – Spring 2007 By Karrie Karahalios, Roger Cheng, Brian Bailey.
Cyclic Code.
Error Control Code.
10.1 Chapter 10 Error Detection and Correction Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
296.3Page :Algorithms in the Real World Error Correcting Codes II – Cyclic Codes – Reed-Solomon Codes.
L. J. Wang 1 Introduction to Reed-Solomon Coding ( Part I )
15-853:Algorithms in the Real World
CHANNEL CODING REED SOLOMON CODES.
Information and Coding Theory Finite fields. Juris Viksna, 2015.
DIGITAL COMMUNICATION Coding
Chapter 11 Algebraic Coding Theory. Single Error Detection M = (1, 1, …, 1) is the m  1 parity check matrix for single error detection. If c = (0, 1,
Error detection and correction
15-853Page :Algorithms in the Real World Error Correcting Codes I – Overview – Hamming Codes – Linear Codes.
Ger man Aerospace Center Gothenburg, April, 2007 Coding Schemes for Crisscross Error Patterns Simon Plass, Gerd Richter, and A.J. Han Vinck.
Error Detection and Correction Rizwan Rehman Centre for Computer Studies Dibrugarh University.
Linear codes 1 CHAPTER 2: Linear codes ABSTRACT Most of the important codes are special types of so-called linear codes. Linear codes are of importance.
Linear Codes.
DIGITAL COMMUNICATION Error - Correction A.J. Han Vinck.
Cyclic codes 1 CHAPTER 3: Cyclic and convolution codes Cyclic codes are of interest and importance because They posses rich algebraic structure that can.
USING THE MATLAB COMMUNICATIONS TOOLBOX TO LOOK AT CYCLIC CODING Wm. Hugh Blanton East Tennessee State University
1 S Advanced Digital Communication (4 cr) Cyclic Codes.
Great Theoretical Ideas in Computer Science.
Information and Coding Theory Linear Block Codes. Basic definitions and some examples. Juris Viksna, 2015.
CODING/DECODING CONCEPTS AND BLOCK CODING. ERROR DETECTION CORRECTION Increase signal power Decrease signal power Reduce Diversity Retransmission Forward.
BCH_Code 2004/5/5Yuh-Ming Huang, CSIE, NCNU1 BCH Code a larger class of powerful random error-correcting cyclic codes a remarkable generalization of the.
Cyclic Codes for Error Detection W. W. Peterson and D. T. Brown by Maheshwar R Geereddy.
Error Control Code. Widely used in many areas, like communications, DVD, data storage… In communications, because of noise, you can never be sure that.
1 SNS COLLEGE OF ENGINEERING Department of Electronics and Communication Engineering Subject: Digital communication Sem: V Cyclic Codes.
15-853Page :Algorithms in the Real World Error Correcting Codes II – Cyclic Codes – Reed-Solomon Codes.
Cyclic Code. Linear Block Code Hamming Code is a Linear Block Code. Linear Block Code means that the codeword is generated by multiplying the message.
Codes Codes are used for the following purposes: - to detect errors - to correct errors after detection Error Control Coding © Erhan A. Ince Types: -Linear.
1 Network Coding and its Applications in Communication Networks Alex Sprintson Computer Engineering Group Department of Electrical and Computer Engineering.
MIMO continued and Error Correction Code. 2 by 2 MIMO Now consider we have two transmitting antennas and two receiving antennas. A simple scheme called.
Great Theoretical Ideas in Computer Science.
Error Control Code. Widely used in many areas, like communications, DVD, data storage… In communications, because of noise, you can never be sure that.
§6 Linear Codes § 6.1 Classification of error control system § 6.2 Channel coding conception § 6.3 The generator and parity-check matrices § 6.5 Hamming.
DIGITAL COMMUNICATIONS Linear Block Codes
Hamming codes. Golay codes.
EE 430 \ Dr. Muqaibel Cyclic Codes1 CYCLIC CODES.
Chapter 31 INTRODUCTION TO ALGEBRAIC CODING THEORY.
Information and Coding Theory Cyclic codes Juris Viksna, 2015.
Information Theory Linear Block Codes Jalal Al Roumy.
Word : Let F be a field then the expression of the form a 1, a 2, …, a n where a i  F  i is called a word of length n over the field F. We denote the.
Computer Science Division
The parity bits of linear block codes are linear combination of the message. Therefore, we can represent the encoder by a linear system described by matrices.
Perfect and Related Codes
Some Computation Problems in Coding Theory
Error Detection and Correction
Elementary Coding Theory Including Hamming and Reed-Solomom Codes with Maple and MATLAB Richard Klima Appalachian State University Boone, North Carolina.
1 Asymptotically good binary code with efficient encoding & Justesen code Tomer Levinboim Error Correcting Codes Seminar (2008)
Digital Communications I: Modulation and Coding Course Term Catharina Logothetis Lecture 9.
INFORMATION THEORY Pui-chor Wong.
Error Control Coding. Purpose To detect and correct error(s) that is introduced during transmission of digital signal.
Reed-Solomon Codes Rong-Jaye Chen.
CHAPTER 8 CHANNEL CODING: PART 3 Sajina Pradhan
Exercise in the previous class (1) Define (one of) (15, 11) Hamming code: construct a parity check matrix, and determine the corresponding generator matrix.
Class Report 林格名 : Reed Solomon Encoder. Reed-Solomom Error Correction When a codeword is decoded, there are three possible outcomes –If 2s + r < 2t (s.
RS – Reed Solomon Error correcting code. Error-correcting codes are clever ways of representing data so that one can recover the original information.
V. Non-Binary Codes: Introduction to Reed Solomon Codes
Hamming codes. Golay codes.
Information and Coding Theory
Great Theoretical Ideas in Computer Science
Subject Name: COMPUTER NETWORKS-1
Introduction to Reed-Solomon Coding ( Part II )
RS – Reed Solomon List Decoding.
Cyclic Code.
Error Detection and Correction
Error Correction Coding
Chapter 10 Error Detection and Correction
Presentation transcript:

Information and Coding Theory Some important classes of cyclic codes. Bose-Chaudhuri-Hocquenghem (BCH) codes. Reed-Solomon codes. Juris Viksna, 2015

Determinants Lets start with something we known very well from linear algebra :)

Determinants In general case: where: and Mij is obtained from | by deleting the row and column containing aij.

Determinants In general case: where: and Mij is obtained from A by deleting the row and column containing aij. What we will need here is that set of n polynomials of degree n is linearly independent if and only if determinant of matrix formed by their coefficients is non-zero.

Vandermonde matrices and determinants We will consider determinant of special form:

Vandermonde matrices and determinants

Vandermonde matrices and determinants [Adapted from V.Pless]

BCH codes - we already had an example Let's recall the decoding procedure of Hamming codes: The syndrome of the received vector was either 0 (no errors), or f(i), if error has occured in i-th position. And f(i) here is just a binary representation of i. Can we design something similar for larger number of errors? E.g. a code correcting 2 errors, with an appropriate function f, such that for errors occuring in positions i and j these values (i and j) are easily computable from the sum f(i)+f(j)? As it turns out, the problem is solvable, if for example f(i)=a3i, where a is a primitive root of GF(16).

BCH codes - the idea How can we specify cyclic codes: by specifying generator polynomial Are there other possibilities? Assume that generator polynomial for code C is f(x)=1+x+x3. It is minimal polynomial in GF(8) with roots a, a2 and a4. Hence, a polynomial h(x) is in C if and only if it's roots include a, a2 and a4.

BCH codes - the alphabet Until now we generally considered codes consisting of binary vectors. If we consider a BCH code over GF(2m), the codewords still can be represented as binary vectors, however, in general the encoding is done for vectors with elements from GF(2k) for some k < m and correction of t errors means that code can recover the message if up to t subblocks of length k have been corrupted. This is a useful property in case of burst errors , i.e. if in case of an error several consecutive bits tend to be corrupted. For example, consider data endoding on CD - if a CD is scratched, then it is very likely that more than just one consecutive bit will be corrupted.

BCH codes - some examples Let’s consider GF(2r) and let g(x) be a primitive polynomial with coefficients from GF(2). It has degree r and defines a cyclic code over GF(2). Let  be a root of g(x). For every codeword c(x) we have c()=g()a() = 0. We also have c() = c0+c11+c22+...+cnn, where n = 2r1. We have that c is orthogonal to H = (1  2 ... n). Notice that we just have defined a code equivalent to Ham(r,2), i.e. Hamming codes can be regarded as cyclic! Notice that c is orthogonal also to H = (1 i 2i ... ni), for i = 1,2,4,...,2r  1.

BCH codes Example: q=2, m=4, =5; we consider minimal polynomials for {, 2, 3, 4}, these will be x4 + x3 + 1 and x4 + x3 + x2 + x + 1. Code has dimension 7 (but we need to have minimal polynomials to know this. H is almost a parity check matrix - i.e. it is orthogonal, but may have some extra rows.

BCH codes Example: q=2, m=4, =5; we consider minimal polynomials for {, 2, 3, 4}, these will be x4 + x3 + 1 and x4 + x3 + x2 + x + 1. H is almost a parity check matrix - i.e. it is orthogonal, but may have some extra rows. However, notice that any 4 columns of H are linearly independent - thus minimal distance will be at least 5.

BCH codes - code length We always will be able to obtain codes of length n = qr1. What about other sizes? Lets consider q=2 and r=11, m = 2r1 = 2047. we can have code of length n = m = 2047. for other values of n polynomial xn1 should divide xm1. m = 2047 = 8923. x20471 is divisible by x891 and x231. to obtain codes of length n = 89 we should consider roots that are powers of  = 23, where  is a primitive element of GF(211). to obtain codes of length n = 23 we should consider roots that are powers of  = 89, where  is a primitive element of GF(211).

Another useful reminder - Singleton bound Yet another proof: Observe that rank H = nk. Any dependence of s columns in parity check matrix yields a codeword of weight s (any set of non-zero components in codeword  dependence relation in H). Thus d  1  n  k. Thus to show that minimal distance is d, it suffices to show that any d columns of parity check matrix H are linearly independent.

BCH codes [Adapted from V.Pless]

BCH codes The determinant is non-zero, thus, d. [Adapted from V.Pless]

BCH codes This trivially follows from the fact that H has (1) rows, however this isn’t a particularly good bound. [Adapted from V.Pless]

Some known BCH codes

Some known BCH codes

Reed-Solomon codes The code was invented in 1960 by Irving S. Reed and Gustave Solomon, who were then members of MIT Lincoln Laboratory. Their seminal article was "Polynomial Codes over Certain Finite Fields." When it was written, digital technology was not advanced enough to implement the concept. The key to application of Reed-Solomon codes was the invention of an efficient decoding algorithm by Elwyn Berlekamp, a professor of electrical engineering at the University of California, Berkeley. Today they are used in disk drives, CDs, telecommunication and digital broadcast protocols.

Reed-Solomon codes [Adapted from V.Pless]

RS codes - a geometric interpretation [Adapted from P.Shankar]

Reed-Solomon codes [Adapted from V.Pless]

Some applications of Reed-Solomon codes PDF-417 QR code Information storage on CD, CD-ROM, DVD, hard drives etc [Adapted from wikipedia.org]

Decoding of Reed-Solomon codes Reed-Solomon proposition: Look at all possible subsets of k symbols from n symbols in which errors could have occurred :) The number of subsets is - around 359 billion for (255,249) code that can correct 3 errors. Fortunately there are more practical methods: Peterson-Gorenstein-Zierler algorithm Berlekamp-Massey algorithm [Adapted from wikipedia.org]

Decoding of BCH codes In case of one error correcting code we simply know y1 = i, giving us error position. For two error correcting code we have y1 = i + j, y2 = i3 +j3. We managed to solve also this case. In general case we have equation system: where Yi gives error values (just 1 in binary case) and Xi gives error positions. Can we solve this? [Adapted from V.Pless]

Decoding of BCH codes We possess the values Si; (2t of them) and we need to find the values of Xi (r of them) and the values of Yi (r of them, but in binary case all of these will be equal to 1). rt in this case is the number of errors that has occurred. Error-locator polynomial: s(x) = (1  xX1) (1  xX2)  (1  xXr) = 1+s1 x+...+ srxr. s(x) has zeros at the inverses from code locations. Can we compute si-s from Si-s? [Adapted from V.Pless]

Decoding of BCH codes s(x) = (1  xX1) (1  xX2)  (1  xXr) = 1+s1 x+...+ srxr. Let x=Xi1 and let multiply both sides of equation by YiXij+r. We get [Adapted from V.Pless]

Decoding of BCH codes [Adapted from V.Pless]

Decoding of BCH codes [Adapted from V.Pless]

Decoding of BCH codes [Adapted from V.Pless]

Decoding of BCH codes Proof Let and [Adapted from V.Pless]

Decoding of BCH codes Peterson-Gorenstein-Zierler decoding scheme (binary case) [Adapted from V.Pless]