Introduction to Reed-Solomon Coding ( Part II )

Slides:



Advertisements
Similar presentations
Mahdi Barhoush Mohammad Hanaysheh
Advertisements

Cyclic Code.
Mathematics of Cryptography Part II: Algebraic Structures
Error Control Code.
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 )
1. 2 Overview Review of some basic math Review of some basic math Error correcting codes Error correcting codes Low degree polynomials Low degree polynomials.
15-853:Algorithms in the Real World
Information and Coding Theory
CHANNEL CODING REED SOLOMON CODES.
EEE377 Lecture Notes1 EEE436 DIGITAL COMMUNICATION Coding En. Mohd Nazri Mahmud MPhil (Cambridge, UK) BEng (Essex, UK) Room 2.14.
DIGITAL COMMUNICATION Coding
Ch 5.5: Series Solutions Near a Regular Singular Point, Part I We now consider solving the general second order linear equation in the neighborhood of.
Low Density Parity Check Codes LDPC ( Low Density Parity Check ) codes are a class of linear bock code. The term “Low Density” refers to the characteristic.
Copyright © Cengage Learning. All rights reserved.
ON MULTIVARIATE POLYNOMIAL INTERPOLATION
Hamming Code A Hamming code is a linear error-correcting code named after its inventor, Richard Hamming. Hamming codes can detect up to two bit errors,
Syndrome Decoding of Linear Block Code
1 Preliminaries Precalculus Review I Precalculus Review II
Properties and the Inverse of
DIGITAL COMMUNICATION Error - Correction A.J. Han Vinck.
1 S Advanced Digital Communication (4 cr) Cyclic Codes.
Channel Coding Part 1: Block Coding
SPANISH CRYPTOGRAPHY DAYS (SCD 2011) A Search Algorithm Based on Syndrome Computation to Get Efficient Shortened Cyclic Codes Correcting either Random.
1 Channel Coding (II) Cyclic Codes and Convolutional Codes.
Cyclic Codes for Error Detection W. W. Peterson and D. T. Brown by Maheshwar R Geereddy.
Partial-fraction Expansion
1 Inverse Laplace Transform Note that most of the transforms are written as fractions.
1 SNS COLLEGE OF ENGINEERING Department of Electronics and Communication Engineering Subject: Digital communication Sem: V Cyclic Codes.
Codes Codes are used for the following purposes: - to detect errors - to correct errors after detection Error Control Coding © Erhan A. Ince Types: -Linear.
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.
Reed Solomon Code Doug Young Suh Last updated : Aug 1, 2009.
Great Theoretical Ideas in Computer Science.
DIGITAL COMMUNICATIONS Linear Block Codes
Hamming codes. Golay codes.
1 Introduction to Quantum Information Processing CS 667 / PH 767 / CO 681 / AM 871 Richard Cleve DC 2117 Lecture 20 (2009)
Information and Coding Theory Cyclic codes Juris Viksna, 2015.
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.
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.
Elementary Coding Theory Including Hamming and Reed-Solomom Codes with Maple and MATLAB Richard Klima Appalachian State University Boone, North Carolina.
Digital Communications I: Modulation and Coding Course Term Catharina Logothetis Lecture 9.
International Iran conference on Quantum Information September 2007, Kish Island Evaluation of bounds of codes defined over hexagonal and honeycomb lattices.
Error Control Coding. Purpose To detect and correct error(s) that is introduced during transmission of digital signal.
1 Product Codes An extension of the concept of parity to a large number of words of data 0110… … … … … … …101.
Richard Cleve DC 2117 Introduction to Quantum Information Processing QIC 710 / CS 667 / PH 767 / CO 681 / AM 871 Lecture (2011)
Reed-Solomon Codes Rong-Jaye Chen.
CHAPTER 8 CHANNEL CODING: PART 3 Sajina Pradhan
Block Coded Modulation Tareq Elhabbash, Yousef Yazji, Mahmoud Amassi.
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
Lecture 4 Error Detecting and Correcting Techniques Dr. Ghalib A. Shah
Hamming codes. Golay codes.
Modulo-2 Digital coding uses modulo-2 arithmetic where addition becomes the following operations: 0+0= =0 0+1= =1 It performs the.
Information and Coding Theory
Cyclic Codes 1. Definition Linear:
The Viterbi Decoding Algorithm
15-853:Algorithms in the Real World
Numerical Analysis Lecture 25.
Functions Defined on General Sets
Subject Name: Information Theory Coding Subject Code: 10EC55
RS – Reed Solomon List Decoding.
Numerical Analysis Lecture 16.
Information Redundancy Fault Tolerant Computing
Cyclic Code.
Copyright © Cengage Learning. All rights reserved.
Erasure Correcting Codes for Highly Available Storage
Lecture 6: Time Domain Analysis and State Space Representation
Lecture 17 Making New Codes from Old Codes (Section 4.6)
Error Correction Coding
Presentation transcript:

Introduction to Reed-Solomon Coding ( Part II )

Reed-Solomon (RS) code The RS code is a cyclic symbol error-correcting code. An RS codeword will consist of I information or message symbols, together with P parity or check symbols. The word length is N=I+P. The symbols in an RS codeword are usually not binary, i.e., each symbol is represent by more than one bit. In fact, a favorite choice is to use 8-bit symbols. This is related to the fact that most computers have word length of 8 bits or multiples of 8 bits.

In order to be able to correct ‘t’ symbol errors, the minimum distance of the code words ‘D’ is given by D=2t+1. If the minimum distance of an RS code is D, and the word length is N, then the number of message symbols I in a word is given by I = N – ( D – 1 ) Combining with the formula N=I+P, above, P = D – 1

An example of the structure of a code word in a practical RS code is as follow: 1 223 255 223 message symbols 32 parity symbols Each symbol consists of 8 bits. Thus, each codeword has 255 symbols, or 255*8 bits, consisting of 223*8 message bits and 32*8 check bits. This code is capable of correcting 16 symbol errors.

Relationships between RS coding and Finite Field GF(Fn) The symbols used in the RS code must be elements of GF(Fn), where Fn=22n+1. It is convenient to choose the codeword length N=2n+1. The number of bits needed to represent a symbol is determined by the number of different symbols used, which is equal to 22n+1. Therefore, for Fn=22n+1, the number of bits/symbol is 2n+1.

To construct an RS code of wordlength Equal to 8 symbols,and capable of correcting 2 symbol errors Since N=8=2n+1, we choose n=2, i.e., GF(F2)= GF(222+1)=GF(17). The symbols in the RS code will be the elements of GF(17). Also, the number of bits/symbol will be 22+1=5. In order to correct 2 errors, the minimum distance of the codeword is D=2t+1=2*2+1=5. The number of message codeword is I=N-(D-1)=8-(5-1)=4. The number of check symbols is P=N-I=8-4=4.

To construct an RS code with minimum distance D, we first define a generator polynomial as follows:

Assume the message symbols to be Let us form f(Z)=Z7+2Z6+3Z5+2Z4 of degree N-1=7, using the message symbols as coefficients. In order to generate a “codeword in a polynomial C(Z),” which is a multiple of g(Z), we proceed as follows: f(Z) = q(Z)g(Z) + R(Z) where q(Z) = quotient polynomial, g(Z) = generator polynomial, R(Z) = residue polynomial. C(Z) = q(Z)g(Z) = f(Z) - R(Z)

Thus, f(Z) = Z7+2Z6+3Z5+2Z4 g(Z) = Z4+4Z3+8Z2-8Z+4 q(Z) = Z3-2Z2+3Z-3 R(Z) = 2Z3+5Z2-2Z+12 The encoded codeword is C(Z) = q(Z)g(Z) = f(Z) - R(Z) = Z7+2Z6+3Z5+2Z4 -2Z3-5Z2+2Z-12 = Z7+2Z6+3Z5+2Z4 -2Z3-5Z2+2Z+5

The codewords have the properties C(2i) = q(2i)g(2i) = q(2i)0 = 0, for i = 1,2,3,4 Thus, it can be shown that C(21) = 0 C(22) = 0 C(23) = 0 C(24) = 0

It can be shown also that if there are errors in the received codewords:

Suppose 2 errors exist in the received codeword at the positions underlined below: r(Z) = 5Z0+2Z1+9Z2+15Z3+2Z4+1Z5+2Z6+Z7 or, written differently, (r0,r1,r2,…,r7) = (5,2,9,15,2,1,2,1) = (5,2,12-3,15,2,3-2,2,1) The error pattern (e0,e1,e2,…,e7) is (0,0,-3,0,0,-2,0,0) or (0,0,14,0,0,15,0,0)

The received pattern can be rewritten as (C0,C1,C2,…,C7) + (e0,e1,e2,…,e7) = (5,2,12,15,2,3,2,1) + (0,0,14,0,0,15,0,0) where (C0,C1,C2,…,C7) are the uncorrupted symbols.

The syndromes Sk can be computed by for k=1,2,…,D-1=2t (i.e., k=1,2,3,4).

The problem in decoding the RS code is to try to determine the value of ei , i=0,1,2,…,7. Since ei are not known, we let Yi and Xi be the ith error amplitude and the ith error location, respectively. Thus, the syndrome Sk can be re-expressed as where t is the maximum number of symbol errors that can be corrected.

Hence, ∴ S1=-8, S2=-5, S3=11, S4 = -1. Also,

Since The rest of the transform, i.e., E0, E5, E6, E7, can be computed from those already known, i.e., E1, E2, E3, E4. Let us define a generating function as in which it is noted that E8= E0, E9= E1 , etc.

Hence, where

σ(x) is called the “error location polynomial” since its roots help to locate the errors: It can be shown that σ(x) can be obtained by the “continued fraction method” as

Since Multiplying by Substituting ∴ Thus,

Thus, Since the inverse DFT of Ek is defined by Since E0, ..., E7 are now known, e0, ..., e7 can be solved.

Thus, ∵ received codeword = (5,2,9,15,2,1,2,1) error pattern = (0,0,14,0,0,15,0,0) ∴ corrected codeword = (5,2,9,15,2,1,2,1) - (0,0,14,0,0,15,0,0) = (5,2,-5,15,2,-14,2,1) = (5,2,12,15,2,3,2,1)