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

Similar documents
Information Theory. Lecture 7

ELG 5372 Error Control Coding. Lecture 12: Ideals in Rings and Algebraic Description of Cyclic Codes

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

Fault Tolerance & Reliability CDA Chapter 2 Cyclic Polynomial Codes

3. Coding theory 3.1. Basic concepts

7.1 Definitions and Generator Polynomials

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

Cyclic codes: overview

Error Correction Review

Chapter 4 Finite Fields

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

Information redundancy

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.

ECEN 604: Channel Coding for Communications

ERROR CORRECTING CODES

Chapter 6. BCH Codes

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

MATH 433 Applied Algebra Lecture 22: Review for Exam 2.

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

Kevin James. MTHSC 412 Section 3.1 Definition and Examples of Rings

Math 312/ AMS 351 (Fall 17) Sample Questions for Final

STEP Support Programme. Hints and Partial Solutions for Assignment 17

ECEN 5682 Theory and Practice of Error Control Codes

Finite Fields. Saravanan Vijayakumaran Department of Electrical Engineering Indian Institute of Technology Bombay

Objective: To become acquainted with the basic concepts of cyclic codes and some aspects of encoder implementations for them.

Mathematics for Cryptography

Algebra Review 2. 1 Fields. A field is an extension of the concept of a group.

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

Review 1. 1 Relations and Functions. Review Problems

An overview of key ideas

School of Mathematics and Statistics. MT5836 Galois Theory. Handout 0: Course Information

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

5 Group theory. 5.1 Binary operations

EE 229B ERROR CONTROL CODING Spring 2005

Coding Theory ( Mathematical Background I)

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

Rings. EE 387, Notes 7, Handout #10

2. Associative Law: A binary operator * on a set S is said to be associated whenever (A*B)*C = A*(B*C) for all A,B,C S.

Foundations of Cryptography

Abstract Algebra, Second Edition, by John A. Beachy and William D. Blair. Corrections and clarifications

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

Algebraic structures I

COMPUTER ARITHMETIC. 13/05/2010 cryptography - math background pp. 1 / 162

MT5836 Galois Theory MRQ

RINGS: SUMMARY OF MATERIAL

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

A Brief Encounter with Linear Codes

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

Quasi-reducible Polynomials

May 6, Be sure to write your name on your bluebook. Use a separate page (or pages) for each problem. Show all of your work.

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

: Error Correcting Codes. November 2017 Lecture 2

17 Galois Fields Introduction Primitive Elements Roots of Polynomials... 8

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)

Ch 7 Summary - POLYNOMIAL FUNCTIONS

QUALIFYING EXAM IN ALGEBRA August 2011

1. Let r, s, t, v be the homogeneous relations defined on the set M = {2, 3, 4, 5, 6} by

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

Introduction to Information Security

Algebraic Codes for Error Control

Chapter 3. Rings. The basic commutative rings in mathematics are the integers Z, the. Examples

Chapter 5. Cyclic Codes

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

Chapter 3. Vector spaces

A field F is a set of numbers that includes the two numbers 0 and 1 and satisfies the properties:

3.1 Definition of a Group

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

Linear Algebra 1 Exam 2 Solutions 7/14/3

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

Lecture 7: Polynomial rings

Digital Logic Design ENEE x. Lecture 14

2 so Q[ 2] is closed under both additive and multiplicative inverses. a 2 2b 2 + b

Algebraic Structures Exam File Fall 2013 Exam #1

Mathematical Foundations of Cryptography

Polynomials. Chapter 4

1. Definition of a Polynomial

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

COMMUTATIVE RINGS. Definition 3: A domain is a commutative ring R that satisfies the cancellation law for multiplication:

Rings of Residues. S. F. Ellermeyer. September 18, ; [1] m

Rational Functions. Elementary Functions. Algebra with mixed fractions. Algebra with mixed fractions

PreCalculus: Semester 1 Final Exam Review

Lecture 12. Block Diagram

Handout #6 INTRODUCTION TO ALGEBRAIC STRUCTURES: Prof. Moseley AN ALGEBRAIC FIELD

Self-Dual Cyclic Codes

LESSON 4-5 THE LAW OF COMMUTATIVITY

Combinational Logic. By : Ali Mustafa

Moreover this binary operation satisfies the following properties

1.3 Algebraic Expressions. Copyright Cengage Learning. All rights reserved.

Cyclic Redundancy Check Codes

EE512: Error Control Coding

Polynomial Rings. (Last Updated: December 8, 2017)

Groups, Rings, and Finite Fields. Andreas Klappenecker. September 12, 2002

CSL361 Problem set 4: Basic linear algebra

1. Group Theory Permutations.

MATH 115, SUMMER 2012 LECTURE 12

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

MATH 433 Applied Algebra Lecture 22: Semigroups. Rings.

CHAPTER 2 POLYNOMIALS KEY POINTS

Rings If R is a commutative ring, a zero divisor is a nonzero element x such that xy = 0 for some nonzero element y R.

Can You Hear Me Now?

Transcription:

Good afternoon, gentleman! Today I give you a lecture about cyclic codes. This lecture consists of three parts: I Origin and definition of cyclic codes ;? how to find cyclic codes: The Generator Polynomial ;? one Application of the cyclic codes. I Origin and definition of cyclic codes We start with a device called a linear shift register. This is commonly used to encode cyclic codes.the codewords are generated by shifting and adding. I give an example of a shift register with four storage elements and two binary adders. Figure 1.1 a o a 1 a 2 a 3 At the time zero,four binary elements are placed in a 0,a 1,a 2,and a 3. After one time interval a 0 is output, a 1 is shifted into a 0, a 2 into a 1, a 3 into a 2,and the new element is the sum a 0 + a 2 + a 3. We suppose that the digits 1101 are placed in a 0, a 1, a 2 and a 3,and follow the outputs and inputs for seven time intervals. If the process is continued,the vector ( 1,1,0,1,0,0,0 ) will be repeated. This shift register will repeat any vector of length 7 that it has generated from four initial entries in a 0,a 1,a 2,and a 3. we can regard the initial four positions as information 1

positions and the whole process as encoding these information positions to obtain a length 7 codeword (a linear code). This code has the property that whenever ( a 0, a 1, a 2, a 3, a 4, a 5, a 6 ) is a codeword, so is ( a 6, a 0, a 1, a 2, a 3, a 4, a 5 ) also. That means, whenever a vector is in the code, so are all of its cyclic shifts.we can see this in table 1.2. Table 1.2 A Repeated Vector outputs a 0 a 1 a 2 a 3 time 1 1 0 1 T 0 1 1 0 1 0 T 1 1 1 0 1 0 0 T 2 1 1 0 1 0 0 0 T 3 1 1 0 1 0 0 0 1 T 4 1 1 0 1 0 0 0 1 1 T 5 1 1 0 1 0 0 0 1 1 0 T 6 1 1 0 1 0 0 0 1 1 0 1 T 7 : 1 1 0 1 0 0 0 1 1 0 1 0 0 0 T 10 a 0 a 1 a 2 a 3 a 4 a 5 a 6 a 0 a 1 a 2 a 3 a 4 a 5 a 6 Each vector will be repeated, and the last seven digits, which come out of the shift register after any number of shifts, form a vector of the code. When discussing cyclic codes,we number n coordinate positions with 0,1,2,, n-1. Definition of cyclic codes An [ n, k ] code C means, the length of code is n, the number of information symbols is k. or we can say an [ n, k ] binary code C is a k dimensional Subspace of space V. 2

An [ n, k ] code C is called cyclic if whenever X = ( a 0, a 1, a 2,, a n-1 ) is in C, so is its first cyclic shift Y = ( a n-1, a 0, a 1, a 2,, a n-2 ). Notice that this means that ( a n-2, a n-1 a 0, a 1, a 2,, a n-3 ) is the first cyclic shift of y, and all the other cyclic shifts of X are also in C. When considering cyclic codes, it is useful to let a vector ( a 0, a 1, a 2,, a n-1 ) correspond to a polynomial a 0 + a 1 x + a 2 x 2 + + a n-1 x n-1. Then ( a n-1, a 0, a 1, a 2,, a n-2 ) correspond to a n-1 + a 0 x + a 1 x 2 + + a n-2 x n-1. Note that this polynomial equals to the following polynomial ( a 0 + a 1 x + a 2 x 2 + + a n-1 x n-1 ) x (modulo (x n -1)) from that we can get a mathematical model: Rn = F(x) / (x n -1), which consists of congruence classes of polynomials in F(x) modulo (x n -1), these are polynomials of degree less than n. polynomials are added and subtracted in Rn as in F(x), but multiplication is modulo (x n -1). Obviously, if we have two polynomials a(x) and b(x),their product in F(x) is a(x) b(x) = c(x) (x n -1) +r(x) with the degree of r(x) less than the degree of (x n -1) by the division algorithm. We regard Rn as the product of a(x) and b(x) when we consider Rn to be all polynomials in F(x) of degree less than n with multiplication modulo (x n -1). Both F(x) and Rn are examples of the algebraic structure defined next. Definiton of commutative ring R A commutative ring R with unit is a set with two operations, + (plus) and (times), with the following properties: (i) R is closed under + (plus) and (times); (ii) R is an abelian group under + (plus) ; (iii) The associative law for multiplication holds a (bc) = (ab)c for all a, b, and c in R; (iv) Multiplication is commutative, ab=ba for all a and b in R; (v) R has identity 1 for multiplication a 1 = 1 a for all a in R ; (vi) The distributive law holds a(b+c)= ab+ac for all a,b, and c in R ; Definition of Ideal 3

An Ideal I in a commutative ring R is a set of elements in R satisfying the following two conditions: (i) if a is in I, then ab is in I for b in R ; (ii) if a and b are in I, then a+b and a-b are also in I; Theorem 1 A set of elements S in Rn corresponds to a cyclic code C if S is an Ideal in Rn. (note : proof is omitted, if you are interested in that, you can come to me after the lecture. ) Now let us see an example. Let V be the space of all binary 3-tuples. We simultaneously locate all binary cyclic codes in V and Ideals in R 3, and indicate corresponding vectors: Table 1.3 Code V R 3 C 1 ( 0,0,0 ) 0 C 2 ( 0,0,0 ) 0 ( 1,1,1 ) 1+x+x 2 C 3 ( 0,0,0 ) 0 ( 1,1,0 ) 1+x ( 0,1,1 ) x+x 2 ( 1,0,1 ) 1+x 2 C 4 All of V All of R 3 Now we can say, a cyclic code is either a code closed under the cyclic shift or an Ideal in R n.? how to find cyclic codes: The Generator Polynomial In order to find cyclic codes, at first we learn some theory, afterthat we will see an example. The following theorem tell us explicitly how to find the generator of a cyclic codes: we consider C as consisting of representatives of degree less than n of the congruence classes of multiples of g (x) modulo(x n -1). 4

The polynomial f(x) = a 0 + a 1 x + a 2 x 2 + + a n-1 x n-1 + a n x n, if a n = 1, the polynomial of degree n is called monic. Theorem 2 If C is an Ideal (i.e. a cyclic code of length n ) in Rn = F(x) / (x n -1), let g (x) be the monic polynomial of smallest degree in C. Then g(x) is uniquely determined and C= < g (x) >. Theorem 3 If C is an Ideal in Rn, the unique monic polynomial generator, g (x),of C of smallest degree divides x n -1, and conversly,if a polynomial g (x) in C divides x n -1, then g (x) has the lowest degree in < g (x) >. This says that in order to construct a cyclic code, we need to factor x n -1. When considering binary cyclic codes,we assume that n is odd since in that case x n -1 has distinct factors. Definition of The Generator Polynomial The monic polynomial g (x) of smallest degree in C is called The Generator Polynomial in C. Theorem 4 If the degree of g (x) is n-k, then the dimension of C= < g (x) > is k. if g (x) = g 0 + g 1 x + g 2 x 2 + + g n-k x n-k, then a generator matrix of C is the following g 0 g 1 g 2 g n-k 0 0 0 0 g 0 g 1 g n-k-1 g n-k 0 0 0 0 g 0 g n-k-2 g n-k-1 g n-k 0? 0 0 0 g n-k If we can factor x n -1, we can construct all cyclic codes of length n. 5

As an example, we construct binary cyclic codes for n=7. the first thing to do is to factor x 7-1, which we know how to do. x 7-1 = (1 + x ) ( 1 + x + x 3 ) (1+ x 2 + x 3 ). This factorization gives us all cyclic codes of x 7-1. consider C= < g (x) > where g (x) = 1 + x + x 3.then C is four-dimensional and has the following generator matrix : 1 1 0 1 0 0 0 0 1 1 0 1 0 0 0 0 1 1 0 1 0 0 0 0 1 1 0 1 We recognize this as our shift register code example at the beginning.? Application are an important class of codes for many reasons. One is that they can be efficiently encoded by means of shift registers. There are also decoding schemes utilizing shift registers. Many important codes, such as the Hamming codes,can be represented as cyclic codes. The presentation of Hamming [ 7,4,3 ]code as a cyclic code is 1 2 3 4 5 6 7 1 1 0 0 0 1 1 0 2 0 1 0 0 0 1 1 3 1 0 1 0 0 0 1 4 1 1 0 1 0 0 0 5 0 1 1 0 1 0 0 6 0 0 1 1 0 1 0 7 0 0 0 1 1 0 1 That is all. Thank you for your attention! 6

References 1.Vera Pless, Introduction to the theory of error-correcting codes (third edition), A Wiley-Interscience Publication,1998 2.J. Duske / H.Juergensen, Codierungstheorie, B.I. - Wissenschaftsverlag 7