EE 229B ERROR CONTROL CODING Spring 2005

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

Homework 8 Solutions to Selected Problems

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

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

Information Theory. Lecture 7

EE512: Error Control Coding

7.1 Definitions and Generator Polynomials

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

EE512: Error Control Coding

Cyclic codes: overview

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

Lecture 7: Polynomial rings

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.

Abstract Algebra: Chapters 16 and 17

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

Quasi-reducible Polynomials

: Error Correcting Codes. November 2017 Lecture 2

Chapter 5. Cyclic Codes

Introduction to finite fields

ECEN 604: Channel Coding for Communications

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

3. Coding theory 3.1. Basic concepts

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

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

Self-Dual Cyclic Codes

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

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)

U + V = (U V ) (V U), UV = U V.

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

7.4: Integration of rational functions

Finite Fields. Mike Reiter

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

Fault Tolerance & Reliability CDA Chapter 2 Cyclic Polynomial Codes

be any ring homomorphism and let s S be any element of S. Then there is a unique ring homomorphism

EE 229B ERROR CONTROL CODING Spring 2005

Finite Fields. SOLUTIONS Network Coding - Prof. Frank H.P. Fitzek

0 Sets and Induction. Sets

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

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

Section IV.23. Factorizations of Polynomials over a Field

Irreducible Polynomials. Finite Fields of Order p m (1) Primitive Polynomials. Finite Fields of Order p m (2)

Section VI.33. Finite Fields

March Algebra 2 Question 1. March Algebra 2 Question 1

ϕ : Z F : ϕ(t) = t 1 =

Further linear algebra. Chapter II. Polynomials.

Mathematical Foundations of Cryptography

Some practice problems for midterm 2

Math 109 HW 9 Solutions

Finite Fields: An introduction through exercises Jonathan Buss Spring 2014

Math 120. Groups and Rings Midterm Exam (November 8, 2017) 2 Hours

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

ECEN 5682 Theory and Practice of Error Control Codes

Class Notes; Week 7, 2/26/2016

1) The line has a slope of ) The line passes through (2, 11) and. 6) r(x) = x + 4. From memory match each equation with its graph.

CHAPTER 2 POLYNOMIALS KEY POINTS

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

Chapter 4. Remember: F will always stand for a field.

Solutions of exercise sheet 6

A first step towards the skew duadic codes

Rings. Chapter 1. Definition 1.2. A commutative ring R is a ring in which multiplication is commutative. That is, ab = ba for all a, b R.

Chapter 6. BCH Codes

Quasi-cyclic codes. Jay A. Wood. Algebra for Secure and Reliable Communications Modeling Morelia, Michoacán, Mexico October 12, 2012

Fundamental Theorem of Algebra

1. Group Theory Permutations.

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

Coding Theory ( Mathematical Background I)

MATH 3030, Abstract Algebra FALL 2012 Toby Kenney Midyear Examination Friday 7th December: 7:00-10:00 PM

MTH310 EXAM 2 REVIEW

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

Graduate Preliminary Examination

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.

Math 4400, Spring 08, Sample problems Final Exam.

Algebra Review. Instructor: Laszlo Babai Notes by Vincent Lucarelli and the instructor. June 15, 2001

QUALIFYING EXAM IN ALGEBRA August 2011

SPRING 2006 PRELIMINARY EXAMINATION SOLUTIONS

Selected Math 553 Homework Solutions

MAT01B1: Integration of Rational Functions by Partial Fractions

1 The Galois Group of a Quadratic

MATH 3030, Abstract Algebra Winter 2012 Toby Kenney Sample Midterm Examination Model Solutions

Rings. EE 387, Notes 7, Handout #10

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

MATH 361: NUMBER THEORY TENTH LECTURE

Chapter 4 Finite Fields

Modern Algebra I. Circle the correct answer; no explanation is required. Each problem in this section counts 5 points.

Definitions. Notations. Injective, Surjective and Bijective. Divides. Cartesian Product. Relations. Equivalence Relations

Handout - Algebra Review

Idempotent Generators of Generalized Residue Codes

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

Duadic Codes over Finite Commutative Rings

A Note on Cyclotomic Integers

Contents. 4 Arithmetic and Unique Factorization in Integral Domains. 4.1 Euclidean Domains and Principal Ideal Domains

To hand in: (a) Prove that a group G is abelian (= commutative) if and only if (xy) 2 = x 2 y 2 for all x, y G.

Factorization in Integral Domains II

CHAPTER 14. Ideals and Factor Rings

Polynomial Rings. i=0. i=0. n+m. i=0. k=0

Chapter 7 Polynomial Functions. Factoring Review. We will talk about 3 Types: ALWAYS FACTOR OUT FIRST! Ex 2: Factor x x + 64

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

Congruences and Residue Class Rings

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

2-4 Zeros of Polynomial Functions

Transcription:

EE 9B ERROR CONTROL CODING Spring 005 Solutions for Homework 1. (Weights of codewords in a cyclic code) Let g(x) be the generator polynomial of a binary cyclic code of length n. (a) Show that if g(x) has X + 1 as a factor then the code contains no codewords of odd weight. v(x) GF ()[X] is a code polynomial iff it is of degree at most n 1 and can be written as v(x) = u(x)g(x) for some polynomial u(x) GF ()[X]. Since X + 1 divides g(x), it follows that X + 1 divides v(x). Hence v(1) = 0. This means precisely that the weight of the corresponding codeword (v 0,..., v n 1 ) is even. (b) Show that if n is odd and X + 1 is not a factor of g(x) then the code contains the codeword consisting of all 1 s. The claim of this part of the problem is true whether n is odd or even. X n + 1 = (X + 1)(1 + X + X +... + X n 1 ). Since g(x) divides X n + 1 and does not have X + 1 as a factor, it must divide 1 + X + X +... + X n 1. In other words, the length n word consisting of all 1 s is a codeword. (c) Show that if n is the smallest integer such that g(x) divides X n + 1 then the code has minimum weight at least 3. If there is a codeword of weight 1, the associated code polynomial is X m, for some 0 m n 1. Since the code is cyclic, it follows that 1 is also a code polynomial. But then the code is trivial (every word is a codeword), and g(x) = 1, contradicting the hypothesis. If there is a codeword of weight, the associated code polynomial is X m + X l for some 0 m < l n 1. Since the code is cyclic, it follows that 1 + X l m is also a code polynomial. Hence g(x) divides 1 + X l m, which contradicts the hypothesis. since l m < n. Thus under the hypothesis the smallest weight of a nonzero codeword must be at least 3. (d) Suppose g(x) is such that the code contains both even-weight and odd-weight codewords. Let A(z) denote the weight enumerator polynomial of the code. Show that the polynomial (X +1)g(X) also generates a binary cyclic code of length n, and that this has weight enumerator polynomial A 1 (z) = 1 [A(z) + A( z)]. 1

Let C denote the binary cyclic code (n, k) with generator polynomial g(x). We know that g(x) divides X n + 1. Since C contains both even and odd weight codewords, X + 1 does not divide g(x). Thus (X + 1)g(X) divides X n + 1. Hence it is the generator polynomial of a binary cyclic (n, k 1) code. Let C 1 denote this code. We claim that C 1 is comprised of the even weight codewords of C. Consider a codeword of C. The corresponding code polynomial can be uniquely written in the form a(x)g(x), where a(x) GF ()[X] is of degree at most k 1. The codeword has even weight iff its code polynomial is divisible by X + 1. Since X + 1 does not divide g(x), it follows that the codeword has even weight iff X + 1 divides a(x), i.e. a(x) = b(x)(x + 1) for some b(x) GF ()[X]. But this means the code polynomial has the form b(x)((x +1)g(X)), so the corresponding codeword is in C 1. For the converse, consider a codeword in C 1. Its code polynomial is of the form b(x)(x + 1)g(X) for a unique b(x) GF ()[X] of degree at most k. Writing this as (b(x)(x + 1))g(X) we see that the codeword is in C and has even weight. It now follows that A 1 (z) = 1 [A(z) + A( z)], where A 1 (z) denotes the weight enumerator polynomial of C 1 and A(z) denotes the weight enumerator polynomial of C. Indeed, the polynomial on the right hand side of the equation above just enumerates the even weight codewords in C.. (Cyclic codes) (a) i. Show that g(x) = 1 + X +X 4 +X 6 +X 7 +X 10 generates a (1,11) cyclic code. We need to show that g(x) divides X 1 + 1. Note that g(x) = (X + 1)(X 3 + X + 1)(X 6 + X 4 + X + X + 1). As can be seen from any table enumerating the minimal polynomials of the elements of GF ( m ) for small values of m, each of the factors is the minimal polynomial of some elements in GF (64). It follows that g(x) divides X 63 + 1. Let α denote a primitive element in GF (64). The tables also show that X 3 + X + 1 is the minimal polynomial of the conjugates {α 7, α 54, α 45 } in GF (64) and X 6 + X 4 + X + X + 1 is the minimal polynomial of the conjugates {α 3, α 6, α 1, α 4, α 48, α 33 } in GF (64). Each of the roots of these polynomials satisfies the equation X 1 + 1 = 0. It follows that g(x) divides X 1 + 1. ii. Let r(x) = 1 + X 5 + X 17 be a received polynomial. Compute the syndrome of r(x). The syndrome polynomial s(x) when the received polynomial is r(x) is the remainder of r(x) when divided by the generator polynomial g(x). Direct

computation gives : s(x) = X 8 + X 6 + X 4 + X 3 + 1. (b) Let C 1 and C be two cyclic codes of length n generated by g 1 (x) and g (x) respectively. What is the generator polynomial for the smallest cyclic code that contains the set C 1 C? Let g(x) = gcd(g 1 (x)g (x)). The cyclic code C generated by g(x) contains C 1 C. Also, there are polynomials a(x) and b(x) (with coefficients from the field in which the symbols lie) such that a(x)g 1 (x) + b(x)g (x) = g(x), as can be seen by applying Euclid s algorithm. This equation then also holds modulo x n +1. Since a(x)g 1 (x)mod(x n +1) is a code polynomial for C 1 and b(x)g (x)mod(x n + 1) is a code polynomial for C, and since any code containing C 1 C is closed under sums, it follows that g(x) is a code polynomial in any code that contains C 1 C. It then follows that any cyclic code containing C 1 C must contain C. Thus g(x) is the generator polynomial of the smallest cyclic code containing C 1 C. (c) Let C 1 and C be two cyclic codes of length n generated by g 1 (x) and g (x) respectively. Show that the code polynomials common to both C 1 and C also form a cyclic code C 3. Determine the generator polynomial of C 3. If d 1 and d are the minimum distances of C 1 and C respectively, what can you say about the minimum distance of C 3? Since the intersection of any two binary linear codes is a binary linear code, we know that C 3 is a binary linear code. Let v(x) be the polynomial associated to a binary string that is in C 1 C. Then v(x) is divisible by both g 1 (X) and g (X). It follows that it is divisible by g 3 (X) = l.c.m.(g 1 (X), g (X)), where l.c.m. stands for least common multiple. Conversely, if the polynomial associated to a binary string is divisible by g 3 (X) it follows that it is divisible by both g 1 (X) and g (X) and so the corresponding binary string is in C 1 C = C 3. It follows that C 3 is a cyclic code, with generator polynomial g 3 (X). C 3 may be the trivial code comprised of the zero codeword. If it has at least one nonzero codeword, its minimum distance can be no smaller than the maximum of the minimum distances of C 1 and C, because every nonzero codeword in C 3 lies in both C 1 and C. 3. (Polynomials ) (a) Show that X 5 + X 3 + 1 is irreducible over GF(). 3

Neither 0 nor 1 is a root of the polynomial X 5 +X 3 +1, so it has no factors of degree 1 in GF ()[X]. Also, for the same reason, if it had a factor of degree in GF ()[X] this factor would have to be irreducible. The only irreducible polynomial of degree in GF ()[X] is X + X + 1. If this were a factor of X 5 + X 3 + 1 in GF ()[X], it would also be a factor of X 5 + X 3 + 1 in GF (4)[X], which would mean that α, any primitive element of GF (4)[X] with minimal polynomial X + X + 1, would be a root of X 5 + X 3 + 1 in GF (4)[X]. However, α 5 + α 3 + 1 = α 0 in GF (4). Thus X 5 + X 3 + 1 does not have any factors of degree in GF ()[X]. It now follows that this polynomial is irreducible in GF ()[X], since if it were reducible it would have to have a factor of degree 1 or a factor of degree. (b) Let f(x) be a polynomial of degree n over GF() with nonzero constant term. Let f (X) denote its reciprocal polynomial, i.e. f (X) = X n f(x 1 ). i. Prove that f(x) is irreducible over GF() if and only if f (X) is irreducible over GF(). Since the reciprocal of f (X) is f(x) it is enough to show that if f(x) is reducible over GF() then f (X) is reducible over GF(). Suppose we had a nontrivial factorization f(x) = a(x)b(x), with deg(a(x)) = k, where 1 k n 1. Note that both a(x) and b(x) have nonzero constant term. The reciprocal polynomials of a(x) and b(x) are a (X) = X k a(x 1 ) and b (X) = X n k b(x 1 ) respectively, and we have f (X) = a (X)b (X), so f (X) is also reducible over GF(). ii. Prove that f(x) is primitive over GF() if and only if f (X) is primitive over GF(). Since the reciprocal of f (X) is f(x) it is enough to show that if f(x) is not primitive over GF() then f (X) is not primitive over GF(). Suppose f(x) is not primitive over GF(). Then f(x) divides X t + 1 for some t < n 1, which then means X t + 1 = g(x)f(x) for some g(x) with nonzero constant term. The polynomial X t + 1 is its own reciprocal and the reciprocal polynomial of g(x) is g (X) = X t n g(x 1). We then have X t + 1 = g (X)f (X), which means that f (X) divides X t + 1, and since t < n and deg(f (X)) = n, it follows that f (X) is not primitive. 4. (Calculations in finite fields) Let α be a primitive element in GF( 4 ) satisfying α = α 4 + 1. In the following problems you will find it useful to refer to Table.8 on pg. 47 of the text. (a) Find the roots of X 3 + α 6 X + α 9 X + α 9 in GF( 4 ). X 3 + α 6 X + α 9 X + α 9 = (X + α)(x + α 3 )(X + α 5 ). 4

(b) Solve the following system of equations in GF( 4 ) : (X, Y, Z) = (α 1, α 14, α 10 ). 5. (Determining all binary cyclic codes) X + α 5 Y + Z = α 7 X + αy + α 7 Z = α 9 α X + Y + α 6 Z = α Determine all the binary cyclic codes of length 1. Hint : What is the factorization of X 1 + 1 into irreducible factors over GF()? The decomposition of the nonzero elements of GF(64) into cyclotomic cosets may be useful in answering this question. Consider the field GF (64) generated by the primitive polynomial X 6 + X + 1. polynomial X 63 + 1 splits into factors of degree 1 over this field, and since X 63 + 1 = (X 1 + 1)(X 4 + X 1 + 1), the polynomial X 1 + 1 splits into factors of degree 1 over this field. In fact, the roots of X 1 + 1 are precisely : 1, α 3, α 6, α 9, α 1, α 15, α 18, α 1, α 4, α 7, α 30, α 33, α 36, α 39, α 4, α 45, α 48, α 51, α 54, α 57, α 60. The The minimal polynomials of these elements are : X 6 + X 4 + X + X + 1 whose roots are α 3, α 6, α 1, α 4, α 48, and α 33 X 3 + X + 1 whose roots are α 9, α 18, and α 36 X 6 + X 5 + X 4 + X + 1 whose roots are α 15, α 30, α 60, α 57, α 51, and α 39 X + X + 1 whose roots are α 1 and α 4 X 3 + X + 1 whose roots are α 7, α 54, and α 45. Thus, the factorization of X 1 + 1 into irreducible factors in GF ()[X] is X 1 + 1 = (X+1)(X 6 +X 4 +X +X+1)(X 3 +X +1)(X 6 +X 5 +X 4 +X +1)(X +X+1)(X 3 +X+1). There are six distinct irreducible factors of X 1 + 1, each with multiplicity 1. A binary cyclic code of length 1 is determined by its generator polynomial, which is a polynomial that divides X 1 + 1. Thus there are 6 = 64 binary cyclic codes of length 1, given respectively by the 6 distinct polynomials that divide X 1 + 1 in GF ()[X]. 5