A 2-error Correcting Code

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

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

5.0 BCH and Reed-Solomon Codes 5.1 Introduction

x n k m(x) ) Codewords can be characterized by (and errors detected by): c(x) mod g(x) = 0 c(x)h(x) = 0 mod (x n 1)

Error Correction Review

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

EE512: Error Control Coding

B. Cyclic Codes. Primitive polynomials are the generator polynomials of cyclic codes.

Fully-parallel linear error block coding and decoding a Boolean approach

Cyclic codes. Vahid Meghdadi Reference: Error Correction Coding by Todd K. Moon. February 2008

} has dimension = k rank A > 0 over F. For any vector b!

ERROR CORRECTING CODES

SPA decoding on the Tanner graph

An Enhanced (31,11,5) Binary BCH Encoder and Decoder for Data Transmission

Know the meaning of the basic concepts: ring, field, characteristic of a ring, the ring of polynomials R[x].

Chapter 6. BCH Codes

Cyclic codes: overview

Generator Matrix. Theorem 6: If the generator polynomial g(x) of C has degree n-k then C is an [n,k]-cyclic code. If g(x) = a 0. a 1 a n k 1.

ELEC 519A Selected Topics in Digital Communications: Information Theory. Hamming Codes and Bounds on Codes

MATH 291T CODING THEORY

ECEN 604: Channel Coding for Communications

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

Proof: Let the check matrix be

Decoding of the Five-Error-Correcting Binary Quadratic Residue Codes

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

New Families of Triple Error Correcting Codes with BCH Parameters

Fault Tolerance & Reliability CDA Chapter 2 Cyclic Polynomial Codes

The extended coset leader weight enumerator

Implementation of Galois Field Arithmetic. Nonbinary BCH Codes and Reed-Solomon Codes

Galois fields/1. (M3) There is an element 1 (not equal to 0) such that a 1 = a for all a.

G Solution (10 points) Using elementary row operations, we transform the original generator matrix as follows.

Reed-Solomon codes. Chapter Linear codes over finite fields

Implementation of Galois Field Arithmetic. Nonbinary BCH Codes and Reed-Solomon Codes

exercise in the previous class (1)

1 Vandermonde matrices

8+4 0 mod (12), mod (12), mod (12), mod (12), mod (12).

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

Roll No. :... Invigilator's Signature :.. CS/B.TECH(ECE)/SEM-7/EC-703/ CODING & INFORMATION THEORY. Time Allotted : 3 Hours Full Marks : 70

CONSTRUCTION OF QUASI-CYCLIC CODES

Dr. Cathy Liu Dr. Michael Steinberger. A Brief Tour of FEC for Serial Link Systems

Coding for Memory with Stuck-at Defects

Open problems on cyclic codes

MATH/MTHE 406 Homework Assignment 2 due date: October 17, 2016

MATH 433 Applied Algebra Lecture 21: Linear codes (continued). Classification of groups.

Cyclic Codes. Saravanan Vijayakumaran August 26, Department of Electrical Engineering Indian Institute of Technology Bombay

Error Correction Methods

PAPER A Low-Complexity Step-by-Step Decoding Algorithm for Binary BCH Codes

Solutions to problems from Chapter 3

7.1 Definitions and Generator Polynomials

EE 229B ERROR CONTROL CODING Spring 2005

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

SIDDHARTH GROUP OF INSTITUTIONS :: PUTTUR Siddharth Nagar, Narayanavanam Road UNIT I

Vector spaces. EE 387, Notes 8, Handout #12

Error Correction and Trellis Coding

: Coding Theory. Notes by Assoc. Prof. Dr. Patanee Udomkavanich October 30, upattane

New algebraic decoding method for the (41, 21,9) quadratic residue code

Hamming Codes 11/17/04

On the minimum distance of LDPC codes based on repetition codes and permutation matrices 1

New Algebraic Decoding of (17,9,5) Quadratic Residue Code by using Inverse Free Berlekamp-Massey Algorithm (IFBM)

Information Redundancy: Coding

Linear Block Codes. Saravanan Vijayakumaran Department of Electrical Engineering Indian Institute of Technology Bombay

On formulas for decoding binary cyclic codes

Coding Theory: Linear-Error Correcting Codes Anna Dovzhik Math 420: Advanced Linear Algebra Spring 2014

REED-SOLOMON CODE SYMBOL AVOIDANCE

3. Coding theory 3.1. Basic concepts

EE512: Error Control Coding

Fault Tolerant Computing CS 530 Information redundancy: Coding theory. Yashwant K. Malaiya Colorado State University

16.36 Communication Systems Engineering

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

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)

Constructions of Nonbinary Quasi-Cyclic LDPC Codes: A Finite Field Approach

The Advantage Testing Foundation Olympiad Solutions

Channel Coding I. Exercises SS 2017

Multiplication of Polynomials

Chapter 5. Cyclic Codes

Self-Dual Cyclic Codes

Linear, Quadratic, and Cubic Forms over the Binary Field

11 Minimal Distance and the Parity Check Matrix

MATH32031: Coding Theory Part 15: Summary

The Golay codes. Mario de Boer and Ruud Pellikaan

VHDL Implementation of Reed Solomon Improved Encoding Algorithm

Some math for embedded algorithms

9 THEORY OF CODES. 9.0 Introduction. 9.1 Noise

EE512: Error Control Coding


LMS Popular Lectures. Codes. Peter J. Cameron

MATH 291T CODING THEORY

ELEC3227/4247 Mid term Quiz2 Solution with explanation

On the minimum distance of LDPC codes based on repetition codes and permutation matrices

Decoding Procedure for BCH, Alternant and Goppa Codes defined over Semigroup Ring

ELEC 405/ELEC 511 Error Control Coding and Sequences. Hamming Codes and the Hamming Bound

Low Density Parity Check (LDPC) Codes and the Need for Stronger ECC. August 2011 Ravi Motwani, Zion Kwok, Scott Nelson

Finite fields: some applications Michel Waldschmidt 1

Which Codes Have 4-Cycle-Free Tanner Graphs?

Greedy Codes. Theodore Rice

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

Soft-Decision Decoding Using Punctured Codes

Physical Layer and Coding

Communications II Lecture 9: Error Correction Coding. Professor Kin K. Leung EEE and Computing Departments Imperial College London Copyright reserved

Decoding linear codes via systems solving: complexity issues and generalized Newton identities

Transcription:

A 2-error Correcting Code

Basic Idea We will now try to generalize the idea used in Hamming decoding to obtain a linear code that is 2-error correcting. In the Hamming decoding scheme, the parity check matrix's columns were arranged in such a way that the syndrome of a received word (which is a column of this matrix if only one error occurs) is the number corresponding to the position of the error. When two errors occur a syndrome would be the sum of two columns of the parity check matrix. The task would be to construct a matrix so that knowing only the sum of two columns, we can determine which two columns were added to obtain this sum. In other words, we want to select columns so that the sums of any two are all distinct.

A Length 15 Example To achieve our aim we must have all columns distinct (so that single errors can be corrected) and we can not use the all zero column (a double error involving such a column could not be distinquished from a single error). We will use the field GF(16) to construct our example, but the code will be a binary code. The elements of GF(16) will therefore be identified with binary 4-tuples (written as columns). The parity check matrix we will construct will be an 8 x 15 0-1 matrix. Each of the 15 columns can be thought of a top 4-tuple and a bottom 4-tuple, each of which represents an element of GF(16). Using a generator a of GF(16) we can represent the parity check matrix in a condensed form having only two rows of elements of GF(16).

A Length 15 Example Our sought for parity check matrix H would thus look like: H = 1 a a2 a 3 a 4 a 14 f 1 f a f a 2 f a 3 f a 4 f a 14 Where f is an as yet undetermined function on GF(16). The first row ensures that all the columns are distinct and non-zero. We must now determine a function f that gives us the distinct sum property. The syndrome that we obtain if errors occur in the (i+1) and (j+1) positions is: s 1 s 2 = a i a j f a i f a. j.

The cubing function Investigating linear and quadratic functions shows that these won't have the required properties. We look then at the simplest cubic function, f(x) = x 3. Over a field of characteristic 2, we have: x 3 + y 3 = (x + y) (x 2 + xy + y 2 ). In our application we have s 1 = x + y, s 2 = x 3 + y 3 and s 1 2 = x 2 + y 2. Thus, s 2 /s 1 + s 1 2 = xy. (Note that s 1 0) And from this we can determine x and y, since these will be the roots of the quadratic equation (a + x)(a + y) = a 2 + (x+y)a + xy = a 2 + s 1 a + (s 2 /s 1 + s 1 2 ) = 0.

Solving Quadratics While there is a systematic way to solve quadratic equations in fields of characteristic 2 (note that the familiar quadratic formula can not be applied) we will not develop that approach. Instead, we will solve these equations by inspection. If we represent the non-zero elements of the field as powers of a primitive element, a, then the quadratic equation: x 2 + a s x + a t = 0, will have roots a i and a j if and only if i + j t mod (q-1) and a i + a j = a s. Thus, to find the roots (if they exist) we check the sums of the elements a i and a j only for the pairs i and j which satisfy the first condition.

GF(16) To be specific we need to work in a given field. GF(16) can be constructed from the primitive polynomial x 4 + x 3 + 1with primitive root a giving: a a 8 = a 3 + a 2 + a a 2 a 9 = a 2 + 1 a 3 a 10 = a 3 + a a 4 = a 3 + 1 a 11 = a 3 + a 2 + 1 a 5 = a 3 + a + 1 a 12 = a + 1 a 6 = a 3 + a 2 + a + 1 a 13 = a 2 + a a 7 = a 2 + a + 1 a 14 = a 3 + a 2

Solving Quadratics a a 2 a 3 a 4 = a 3 + 1 a 5 = a 3 + a + 1 a 6 = a 3 + a 2 + a + 1 a 7 = a 2 + a + 1 a 8 = a 3 + a 2 + a a 9 = a 2 + 1 a 10 = a 3 + a a 11 = a 3 + a 2 + 1 a 12 = a + 1 a 13 = a 2 + a a 14 = a 3 + a 2 To solve x 2 + a 2 x + a 11 = 0 we look at the sums: a 0 + a 11 = a 14 a 1 + a 10 = a 3 a 2 + a 9 = 1 a 3 + a 8 = a 13 a 4 + a 7 = a 8 a 5 + a 6 = a 2 Thus the roots of this equation are a 5 and a 6.

Decoding We can now state the decoding algorithm when we use the function f(x) = x 3 for our function. We calculate the syndrome of the received word and write it in the form (s 1 s 2 ) T, where s 1 and s 2 are interpreted as elements of GF(16). Then, If s 1 = 0 and s 2 = 0, we assume that no error has occurred. Calculate (s 2 /s 1 + s 12 ). If this equals 0, then one error has occurred in position i+1 where s 1 = a i. (Note: s 2 = s 1 3 ). Find the roots of x 2 + s 1 x + (s 2 /s 1 + s 1 2 ) = 0. If the roots are a i and a j then the two errors occur in positions i+1 and j+1. If the quadratic has no roots, more than two errors have occurred.

BCH Codes This example is a special case of a family of codes known as BCH codes named after their discoverers, R.C. Bose and D.K. Ray- Chaudhuri (1960) and independently by A. Hocquenghem (1959). BCH codes belong to a larger family of cyclic codes which we will investigate next before returning to the BCH codes.