CHAPTER 8 CHANNEL CODING: PART 3 Sajina Pradhan 20127748.

Slides:



Advertisements
Similar presentations
BCH Codes Hsin-Lung Wu NTPU.
Advertisements

Cyclic Code.
Cryptography and Network Security
Group 5: Daryl, Etkin, Supartha, Rajendra and Aarthi 1.
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
Information and Coding Theory
CHANNEL CODING REED SOLOMON CODES.
Wireless Mobile Communication and Transmission Lab. Chapter 2 Block code ----BCH The Theory and Technology of Error Control Coding.
DIGITAL COMMUNICATION Coding
Chapter 11 Error-Control CodingChapter 11 : Lecture edition by K.Heikkinen.
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,
7/2/2015Errors1 Transmission errors are a way of life. In the digital world an error means that a bit value is flipped. An error can be isolated to a single.
Copyright © Cengage Learning. All rights reserved.
DIGITAL COMMUNICATION Coding
Transmission Errors Error Detection and Correction
FINITE FIELDS 7/30 陳柏誠.
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.
CPSC 3730 Cryptography and Network Security
1 S Advanced Digital Communication (4 cr) Cyclic Codes.
Channel Coding and Error Control
Channel Coding Part 1: Block Coding
Great Theoretical Ideas in Computer Science.
1 Channel Coding (II) Cyclic Codes and Convolutional Codes.
Application of Finite Geometry LDPC code on the Internet Data Transport Wu Yuchun Oct 2006 Huawei Hisi Company Ltd.
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 Coding Transmission process may introduce errors into a message.  Single bit errors versus burst errors Detection:  Requires a convention that.
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.
Data Security and Encryption (CSE348) 1. Lecture # 12 2.
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.
Data and Computer Communications Chapter 6 – Digital Data Communications Techniques.
Cyclic Redundancy Check CRC Chapter CYCLIC CODES Cyclic codes are special linear block codes with one extra property. In a cyclic code, if a codeword.
Linear Feedback Shift Register. 2 Linear Feedback Shift Registers (LFSRs) These are n-bit counters exhibiting pseudo-random behavior. Built from simple.
Great Theoretical Ideas in Computer Science.
Basic Characteristics of Block Codes
DIGITAL COMMUNICATIONS Linear Block Codes
EE 430 \ Dr. Muqaibel Cyclic Codes1 CYCLIC CODES.
ADVANTAGE of GENERATOR MATRIX:
Information Security Lab. Dept. of Computer Engineering 87/121 PART I Symmetric Ciphers CHAPTER 4 Finite Fields 4.1 Groups, Rings, and Fields 4.2 Modular.
Information and Coding Theory Cyclic codes Juris Viksna, 2015.
1 © Unitec New Zealand CRC calculation and Hammings code.
Some Computation Problems in Coding Theory
Error Detection and Correction
Digital Communications I: Modulation and Coding Course Term Catharina Logothetis Lecture 9.
INFORMATION THEORY Pui-chor Wong.
Transmission Errors Error Detection and Correction.
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.
Hardware Implementations of Finite Field Primitives
Reed-Solomon Codes Rong-Jaye Chen.
Block Coded Modulation Tareq Elhabbash, Yousef Yazji, Mahmoud Amassi.
Channel Coding: Part I Presentation II Irvanda Kurniadi V. ( ) Digital Communication 1.
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
Page : 1 bfolieq.drw Technical University of Braunschweig IDA: Institute of Computer and Network Engineering  W. Adi 2011 Lecture-5 Mathematical Background:
Information and Coding Theory
Subject Name: COMPUTER NETWORKS-1
Dr. Clincy Professor of CS
Subject Name: Information Theory Coding Subject Code: 10EC55
Introduction to Reed-Solomon Coding ( Part II )
I. Finite Field Algebra.
Chapter 10 Error Detection and Correction
Mathematical Background: Extension Finite Fields
Presentation transcript:

CHAPTER 8 CHANNEL CODING: PART 3 Sajina Pradhan

Contents 8.1 Reed-Solomon Codes Reed-Solomon Error Probability Why R-S Codes Perform Well Against Burst Noise R-S Performance as a Function of Size, Redundancy, and Code Rate Finite Fields Reed-Solomon Encoding Reed-Solomon Decoding

Reed-Solomon (R-S) Codes  R-S codes are non binary cyclic codes with symbols made up of m-bit sequences, where m is any positive integer having a value greater than 2.  R-S ( n,k) codes on m-bit symbols exist for all n and k. where  For conventional R-S ( n, k) code where kthe number of data symbols being encoded nthe total number of code symbols in the encoded block t the symbol-error correcting capability of the code n- k = 2tthe number of parity symbol

Reed-Solomon (R-S) Codes  For R-S codes the code minimum distance is given by  The erasure-correcting capability of the code is  Error-correction and erasure-correction capability can be expressed by the requirement that  where α the number of symbol error patterns that can be corrected ϒ the number of symbol erasure patterns that can be corrected

Reed-Solomon Error Probability  R-S decoded symbol error probability P E in terms of the channel symbol error probability, p is given as where  The relation between bit error probability P B and R-S decoded symbol error probability P E is given by mpositive integer having a value greater than 2 tthe symbol-error correcting capability of the code Figure P B vs. p for various t-error- correcting 32-ary orthogonal R-S codes with n=31

Reed-Solomon Error Probability  P B versus E b /N 0 performance of several n =31 for a coded system using 32-ary MFSK modulation and non coherent demodulation over an AWGN channel is shown in figure.  For R-S codes, error probability is an exponentially decreasing function of block length n and decoding complexity is proportional to small power of the block length.

Why R-S Codes Perform Well Against Burst Noise  Consider an (n,k) R-S code  25 contiguous bits noise burst must disturb exactly 4 symbols  R-S decoder will correct a byte, it replaces the incorrect byte with the correct one, whether the error was caused by one bit being corrupted or all 8 bits being corrupted which is a tremendous burst-noise advantage over binary codes. nthe total number of code symbols in the encoded block255 kthe number of data symbols being encoded247 meach symbol (bits)8 n-k=2tthe erasure-correcting capability of the code8 bits=1byte tthe symbol-error correcting capability of the code4

R-S Performance as a Function of Size For code to successfully combat the effects of noise, the noise duration has to represent a relatively small percentage of the code word. This happens, when the received noise should be averaged over a long period of time. Hence, one can expect that error –correcting codes become more efficient (error performance improves) as the code block size increases. It can be seen from figure for the family of curves where the rate of code is 7/8 constant while its block size increases from n=32 symbols (with m=5 bits per symbol) to n=256 symbols ( with m=8 bits per symbol). Thus, the block size increases from 160(32*5) bits to 2048(256*8)bits.

R-S Performance as a Function of Redundancy As the redundancy of an R-S code increases, its implementation grows in complexity and also grows in bandwidth expansion. But, the benefit of increased redundancy is the improvement in bit-error performance which can be seen from figure where code length n is held constant 64 and redundancy increases from 4 to 60 symbols.

R-S Performance as a Function of Code Rate As the rate of a code varies from minimum to maximum (0 to 1), the performance curves for BPSK modulation and an R-S (31,k) code for various channel types are shown in figure. The curve shows the clear optimum code rates which minimize the required E b /N

Finite Fields / Galois Fields (GF) To understand the encoding and decoding principles of non binary codes like R-S code it is necessary to know the area of finite field known as Galois Field (GF). For any prime number p there exists a finite field and is denoted by GF(p), containing p elements. An extension field of GF(p) is denoted by GF(p m ) where m is a non zero positive integer. In construction of R-S codes, the extension field GF(2 m ) symbol are used. Each non zero element in GP(2 m ) can be represented by a power of α. An infinite set of elements, The elements of the finite field GF(2 m ) is given by

Addition in the Extension Field GF(2 m ) Each of the nonzero elements of GF(2 m ) is denoted by a polynomial of degree m-1 or less α i (X), where at least one of the m coefficients of α i (X) is nonzero. Addition of two elements of the finite field is defined as the modulo-2 sum of each of the polynomial coefficients of like powers, i.e., Benefit of using extension field elements in place of binary elements is the compact notation that facilitates the mathematical representation of non binary encoding and decoding processes. The case of m=3,where the finite field is denoted by F(2 m ). Each row in fig. mapping comprises a sequence of binary values representing the coefficients as α i,0, α i,1 and α i,2 as in equation.

A Primitive Polynomial is Used to Defined the Finite Field A class of polynomials called primitive polynomials because such functions define the finite fields of GF(2 m ) which in turn are needed to define R-S codes. The necessary and sufficient condition that a polynomial is primitive is as given below An irreducible polynomial, f(X), of degree m is said to be primitive, if the smallest positive integer n for which f(X) divides X n +1 is n =2 m -1. Polynomial will usually be shown low order to high order.

List of Primitive Polynomials

The Extension Field GF(2 3 )  Degree of polynomial, m = 3  GF(2 3 ) =GF(8) f(X) = 1 + X + X 3 = 0 X  α f(α) = α + α 3 = 0 α 3 = -1- α  α 3 = 1+ α  in binary field +1=-1 α 4 = α. α 3 = α.(1+ α ) = α + α 2, α 5 = α. α 4 = α.(α + α 2 ) = α 2 + α 3 = 1+ α + α 2 α 6 = α. α 5 = α.(1+ α + α 2 ) = α + α 2 + α 3 = 1+ α 2 α 7 = α. α 6 = α.(1+ α 2 ) = α + α 3 = 1 = α 0  The eight finite field elements of GF(2 3 )are GF(2 3 ) = {0, α 0, α 1, α 2, α 3, α 4, α 5, α 6 }

The Extension Field GF(2 3 ) For GF(2 3 ) finite field, two arithmetic operations, addition and multiplication can be defined. α + α = α - α =0 α. α = α

A Simple Test to Determine if a Polynomial is Primitive For an irreducible polynomial to be a primitive polynomial, at least one of its roots must be a primitive elements. A primitive elements is one that when raised to higher order exponents will yield all the non zero elements in the field. Since the field is a finite field, the number of such elements is finite.

Reed-Solomon Encoding R-S ( n,k) codes, The generating polynomial for an R-S code takes the following form g(X)=g 0 + g 1 X + g 2 X 2 + …+ g 2t-1 X 2t-1 + x 2t Consider RS(7,3)  n=7,k=3, n-k=4 The generator polynomial in terms of its 2t=n-k=4 roots is described as follows This format is from low order to higher order, and changing negative signs to positive since in the binary field +1=-1 g(X)=(X - α)(X - α 2 )(X - α 3 )(X - α 4 ) g(X)=(X 2 - (α + α 2 ) X + α 3 ) (X 2 - (α 3 + α 4 )X + α 7 ) g(X)=(X 2 - α 4 X + α 3 ) (X 2 - α 6 X + α 0 ) g(X)=X 4 - α 3 X 3 + α 0 X 2 - α 1 X + α 3 = α 3 + α 1 X + α 0 X 2 + α 3 X 3 + X 4

Encoding in Systematic Form Encoding in systematic form is analogous to the binary encoding procedure as in chapter 6. X n-k.m(X) = q(X).g(X) + p(X) where m(X)= polynomial message p(X)= parity polynomial g(X)= generator polynomial q(X)= quotient polynomial As in the binary case, the remainder is the parity above equation can be written p(X) = X n-k.m(X) mod g(X) Therefore, the resulting code word polynomial : U(X) = p(X) + X n-k.m(X)

Encoding in Systematic Form  Consider RS(7,3), GF(2 3 )  Three symbol message = = α 1 α 3 α 5  polynomial message, m(X) = α 1 + α 3 X + α 5 X 2 X n-k = X 4 X n-k m(X) = α 1 X 4 + α 3 X 5 + α 5 x 6 generator polynomial, g(X) = α 3 + α 1 X + α 0 X 2 + α 3 X 3 + X 4 parity polynomial, p(X) = X n-k.m(X) mod g(X) p(X) = α 0 + α 2 X + α 4 X 2 + α 6 X 3 Code word polynomial, U(X) = p(X) + X n-k.m(X) U(X) = α 0 + α 2 X + α 4 X 2 + α 6 X 3 + α 1 X 4 + α 3 X 5 + α 5 X 6 U(X) = (100) + (001) X + (011)X 2 + (101)X 3 + (010)X 4 + (110)X 5 + (111)X 6 Code word :

Reed-Solomon Decoding Error Pattern, e(X) = 0+ 0X + 0X 2 + α 2 X 3 + α 5 X 4 + 0X 5 + 0X 6 e(X) = (000) + (000) X + (000)X 2 + (001)X 3 + (111)X 4 + (000)X 5 + (000)X 6 Received Pattern, r(X) = U(X) + e(X) Code word sent : Code word received : r(X) = (100) + (001) X + (011)X 2 + (100)X 3 + (101)X 4 + (110)X 5 +(111)X 6 r(X) = α 0 + α 2 X + α 4 X 2 + α 0 X 3 + α 6 X 4 + α 3 X 5 + α 5 X 6

Syndrome Computation Syndrome is the result of a parity check performed on r to determine whether r is a valid member of the code word set. If in fact r is a member, then the syndrome S has value 0. Any non zero value of S indicates the presence of errors. The syndrome S is made up of n-k symbols,{S i }(i=1,…,n-k). The computation of a syndrome symbol can be described as

Syndrome Computation  r(X) = α 0 + α 2 X + α 4 X 2 + α 0 X 3 + α 6 X 4 + α 3 X 5 + α 5 X 6  RS(7,3)  n = 7, k = 3  { Si }, i = 1..n-k = 1..4 S 1 = r( α ) = α 0 + α 3 + α 6 + α 3 + α 10 + α 8 + α 11 = α 3 S 2 = r( α 2 ) = α 0 + α 4 + α 8 + α 6 + α 14 + α 13 + α 17 = α 5 S 3 = r( α 3 ) = α 0 + α 5 + α 10 + α 9 + α 18 + α 18 + α 23 = α 6 S 4 = r( α 4 ) = α 0 + α 6 + α 12 + α 12 + α 22 + α 23 + α 29 = 0 ∑Si ≠ 0  code word contains an error.

Error Location Suppose there are v errors in the code word at location where the indices 1,2,…,v refers to the 1 st,2 nd,…,v th errors and index j refers to the error location. Then Error polynomial : An error locator number : where l=1,2,…,v Substituting α i into the received polynomial for i=1,2,…,2t, we get n-k=2t syndrome symbols :

Error Location An error –locator polynomial can be defined as σ(X) = (1+β 1 X) (1+β 2 X)… (1+β v X) = 1 + σ 1 X + σ 2 X 2 + …+ σ v X v The roots of σ(X) are 1/ β 1,1/ β 2,…,1/ β v. The reciprocal of the roots of σ(X) are the error-location number of the error pattern e(X). Using autoregressive modeling techniques, a matrix from the syndromes is formed, where the first t syndromes are used to predict the next syndrome i.e.

For R-S(7,3)code, the matrix size of 2 X 2, the model is written: To solve the coefficients σ 1 and σ 2 of the error-locator polynomial σ(X),the inverse of a matrix is Inv[A] = cofactor[A]/det[A] The error-locator polynomial Error Location Example

Error Location The roots of σ(X) are the reciprocals of the error locations. Once these roots are located, the error locations will be known. Any element X that σ(X) =0 is a root, allows to locate an error. The roots of σ(X) are 1/ β 1,1/ β 2,…,1/ β v. The reciprocal of the roots of σ(X) are the error-location number of the error pattern e(X).

Error Value From Syndrome Equation So we can write the matrix equations Calculate error value e 1 and e 2 So we get,

Correcting the received polynomial with Estimates of the Error Polynomial The estimated error polynomial: Then we get, r(X) = (100) + (001) X + (011)X 2 + (100)X 3 + (101)X 4 + (110)X 5 + (111)X 6 ê(X) = (000) + (000) X + (000)X 2 + (001)X 3 + (111)X 4 + (000)X 5 + (000)X 6 Û(X) = (100) + (001) X + (011)X 2 + (101)X 3 + (010)X 4 + (110)X 5 + (111)X 6 Because the message constitutes rightmost symbol k = 3 symbols, then the decoded message = = α 1 α 3 α 5, which is exactly the encoded message.

Question Why a class of polynomials is called primitive polynomials? What is the necessary and sufficient condition that polynomial is primitive?