III. Cyclic Codes.

Slides:



Advertisements
Similar presentations
Cyclic Code.
Advertisements

Remainder and Factor Theorem Polynomials Polynomials Polynomials Combining polynomials Combining polynomials Combining polynomials Combining polynomials.
Error Detection and Correction Parity Schemes: Modulo 2 addition (XOR) Word parity Block Parity.
Lesson 3- Polynomials 17 May, 2015ML3 MH Objectives : - Definition - Dividing Polynomials Next Lesson - Factor Theorem - Remainder Theorem.
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,
Chapter 2 : Direct Link Networks (Continued). So far... Modulation and Encoding Link layer protocols Error Detection -- Parity Check.
Cyclic codes 1 CHAPTER 3: Cyclic and convolution codes Cyclic codes are of interest and importance because They posses rich algebraic structure that can.
Channel Coding and Error Control
1 Channel Coding (II) Cyclic Codes and Convolutional Codes.
Cyclic_Code2004/3/17Yuh-Ming Huang, CSIE NCNU1 v = (v 0, v 1,..., v n-1 ) : code vector v (1) = (v n-1, v 0, v 1, …, v n-2 ) v (i) = (v n-i, v n-i+1, …,
Convolutional Codes. p2. OUTLINE  [1] Shift registers and polynomials  [2] Encoding convolutional codes  [3] Decoding convolutional codes  [4] Truncated.
Cyclic Codes for Error Detection W. W. Peterson and D. T. Brown by Maheshwar R Geereddy.
Polynomials. Intro An algebraic expression in which variables involved have only non-negative integral powers is called a polynomial. E.g.- (a) 2x 3 –4x.
1 SNS COLLEGE OF ENGINEERING Department of Electronics and Communication Engineering Subject: Digital communication Sem: V Cyclic Codes.
2.5 Apply the Remainder and Factor Theorems p. 120 How do you divide polynomials? What is the remainder theorem? What is the difference between synthetic.
6.5 The Remainder and Factor Theorems p. 352 How do you divide polynomials? What is the remainder theorem? What is the difference between synthetic substitution.
3.2 Dividing Polynomials 11/28/2012. Review: Quotient of Powers Ex. In general:
Linear Feedback Shift Register. 2 Linear Feedback Shift Registers (LFSRs) These are n-bit counters exhibiting pseudo-random behavior. Built from simple.
EE 430 \ Dr. Muqaibel Cyclic Codes1 CYCLIC CODES.
Information and Coding Theory Cyclic codes Juris Viksna, 2015.
The Remainder and Factor Theorems 6.5 p When you divide a Polynomial f(x) by a divisor d(x), you get a quotient polynomial q(x) with a remainder.
Ch. 6.3 Dividing Polynomials. Divide x 2 + 2x – 30 by x – 5. ALGEBRA 2 LESSON 6-3 Dividing Polynomials – 30Subtract: (x 2 + 2x) – (x 2 – 5x) = 7x. Bring.
6.5 The Remainder and Factor Theorems
Snapshot of the School Year Algebra 2 Honors Class Alex Asemota Mrs. Vittese Period 4 May 3, 2012.
I CAN USE LONG DIVISION AND SYNTHETIC DIVISION. I CAN APPLY THE FACTOR AND REMAINDER THEOREMS. Lesson 2-3 The Remainder and Factor Theorems.
Review.
Some Computation Problems in Coding Theory
Algebra 2A 7.2: Multiplication and Division of Rational Expressions September 25, 2007.
Digital Communications I: Modulation and Coding Course Term Catharina Logothetis Lecture 9.
Dividing polynomials This PowerPoint presentation demonstrates two different methods of polynomial division. Click here to see algebraic long division.
Transmission Errors Error Detection and Correction.
Polynomial Division Objective: To divide polynomials by long division and synthetic division.
Reed-Solomon Codes Rong-Jaye Chen.
Products and Factors of Polynomials (part 2 of 2) Section 440 beginning on page 442.
Exercise in the previous class (1) Define (one of) (15, 11) Hamming code: construct a parity check matrix, and determine the corresponding generator matrix.
Cyclic Linear Codes. p2. OUTLINE  [1] Polynomials and words  [2] Introduction to cyclic codes  [3] Generating and parity check matrices for cyclic.
Factor Theorem. Remainder Theorem When a function f(x), is divided by x – k the remainder is f(k) Example 1.
College Algebra Chapter 3 Polynomial and Rational Functions Section 3.3 Division of Polynomials and the Remainder and Factor Theorems.
Algebra 2 Divide x 2 + 2x – 30 by x – 5. Lesson 6-3 Dividing Polynomials – 30Subtract: (x 2 + 2x) – (x 2 – 5x) = 7x. Bring down –30. xDivide = x. x – 5.
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:
Dr. Clincy Professor of CS
Dividing Polynomials A review of long division:
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:
Polynomials.
: An Introduction to Computer Networks
4.1 Notes day 2 Remainder Theorem: If a polynomial f(x) is divided by x – c, then the remainder is f(c). Ex. f(x) = x3 + 3 divided by g(x)= x -1.
Packet #8 Dividing Polynomials
Polynomial Division; The Remainder Theorem and Factor Theorem
CHAPTER 3: Cyclic and convolution codes
Polynomials and the FFT(UNIT-3)
IV. Cyclic Codes.
Chapter 3 Digital Transmission Fundamentals
Division of Polynomials and the Remainder and Factor Theorems
DIGITAL COMMUNICATION Coding
Lecture 3 Digital Transmission Fundamentals
Transmission Errors Error Detection and Correction
Cyclic Code.
Error Detection Neil Tang 9/26/2008
Finite Fields Rong-Jaye Chen.
I. Finite Field Algebra.
Algebra 1 Section 12.1.
Error Detection and Correction
Yuh-Ming Huang, CSIE NCNU
Transmission Errors Error Detection and Correction
IV. Cyclic Codes.
Yuh-Ming Huang, CSIE, NCNU
CHAPTER 3: Cyclic and convolution codes
Presentation transcript:

III. Cyclic Codes

Description of Cyclic Codes Cyclic Shift: v=(v0,v1,v2,…, vn-1) Cyclic shift of v: v(1)=(vn-1,v0,v1,…,vn-2) It means cyclically shifting the components of v one place to the right v(i)=(vn-i, vn-i+1,…, vn-1,v0,v1,…,vn-i-1): cyclically shifting v i places to the right Definition of Cyclic Codes: An (n,k) linear code C is called a cyclic code if every cyclic shift of a codeword in C is also a codeword in C

Code Polynomials Each codeword corresponds to a polynomial of degree n-1 or less: For a codeword v=(v0,v1,v2,…, vn-1) the corresponding code polynomial is: v(X)= v0+v1X+v2X2+…+vn-1Xn-1 Code polynomial for v(i): v(i)(X)=vn-i+vn-i+1X+…+vn-1Xi-1+v0Xi+v1Xi+1+…+vn-i-1Xn-1

Example: (7,4) cyclic code Information Message Codeword Code Polynomial (0 0 0 0) (0 0 0 0 0 0 0) (1 0 0 0) (1 1 0 1 0 0 0) 1+X+X3 (0 1 0 0) (0 1 1 0 1 0 0) X+X2+X4 (1 1 0 0) (1 0 1 1 1 0 0) 1+X2+X3+X4 (0 0 1 0) (0 0 1 1 0 1 0) X2+X3+X5 (1 0 1 0) (1 1 1 0 0 1 0) 1+X+X2+X5 (0 1 1 0) (0 1 0 1 1 1 0) X+X3+X4+X5 (1 1 1 0) (1 0 0 0 1 1 0) 1+X4+X5 (0 0 0 1) (0 0 0 1 1 0 1) X3+X4+X6 (1 0 0 1) (1 1 0 0 1 0 1) 1+X+X4+X6 (0 1 0 1) (0 1 1 1 0 0 1) X+X2+X3+X6 (1 1 0 1) (1 0 1 0 0 0 1) 1+X2+X6 (0 0 1 1) (0 0 1 0 1 1 1) X2+X4+X5+X6 (1 0 1 1) (1 1 1 1 1 1 1) 1+X+X2+X3+X4+X5+X6 (0 1 1 1) (0 1 0 0 0 1 1) X+X5+X6 (1 1 1 1) (1 0 0 1 0 1 1) 1+X3+X5+X6

Algebraic Relation between v(X) and v(i)(X) Xiv(X)=v0Xi+v1Xi+1+…+vn-i-1Xn-1+…+vn-1Xn+i-1 Add (vn-i+vn-i+1X+…+vn-1Xi-1) twice Xiv(X)= vn-i+vn-i+1X+…+vn-1Xi-1+ v0Xi+v1Xi+1+…+vn-i-1Xn-1+…+vn-1Xn+i-1+ vn-i+vn-i+1X+…+vn-1Xi-1 Xiv(X)= vn-i+vn-i+1X+…+vn-1Xi-1+v0Xi+v1Xi+1+…+vn-i-1Xn-1+ vn-iXn+vn-i+1Xn+1+…+vn-1Xn+i-1+vn-i+vn-i+1X+…+vn-1Xi-1 =v(i)(X)+(Xn+1)(vn-i+vn-i+1X+…+vn-1Xi-1) v(i)(X) is the remainder of dividing Xiv(X) by (Xn+1) Xiv(X)=v(i)(X)+(Xn+1)q(X)

Theorem 1 The nonzero code polynomial of minimum degree in a cyclic code is unique Proof: Let g(X)=g0+ g1X+…+gr-1Xr-1+Xr be a non-zero code polynomial of minimal degree in C If g(X) is not unique, there a exists a code polynomial g’(X) such that: g’(X)=g’0+ g’1X+…+g’r-1Xr-1+Xr For C to be linear g(X)+g’(X) is…… a Codeword. The corresponding code polynomial is: (g0+ g’0)+(g1+ g’1)X+…+(gr-1+ g’r-1)Xr-1 with degree<r THIS CONTRADICTS THE DEFINITION THAT g(X) IS THE NON-ZERO CODE POLYNOMIAL OF MINIMUM DEGREE

Theorem 2 Let g(X)=g0+ g1X+…+gr-1Xr-1+Xr be a non-zero code polynomial of minimal degree in an (n,k) cyclic code C. Then g0 must be equal to 1 Proof: Suppose g0=0 g(X)=g1X+…+gr-1Xr-1+Xr If we cyclically shift g(X) 1 place to the left we get another code polynomial g’(X)=g1+g2X…+Xr-2+Xr-1 with degree<r THIS CONTRADICTS THE DEFINITION THAT g(X) IS THE NON-ZERO CODE POLYNOMIAL OF MINIMUM DEGREE Therefore g0=1

From Theorems 1 & 2 The non-zero code polynomial of minimal degree in an (n,k) cyclic code C has the form: g(X)=1+ g1X+g2X2+…+gr-1Xr-1+Xr In the table for the (7,4) cyclic code in slide 4 g(X)=1+X+X3

Cyclic Shifts of the Minimal Degree Polynomial g(X) The polynomials Xg(X), X2g(X),…,Xn-r-1g(X) are cyclic shifts of g(X) where: Xg(X) = g(1)(X) X2g(X) = g(2)(X) : : Xn-r-1g(X) = g(n-r-1)(X) They are code polynomials Given that Xg(X), X2g(X),…, Xn-r-1g(X) are code polynomials in a linear code v(X)= [u0+u1X+u2X2+…+un-r-1Xn-r-1]g(X) is also a code polynomial in C

Theorem 3 Let g(X)=1+ g1X+g2X2+…+gr-1Xr-1+Xr be the minimal degree polynomial in an (n,k) cyclic code C. A binary polynomial of degree n-1 or less is a code polynomial if and only if it is a multiple of g(X) Proof: Let v(X) be a binary polynomial of degree n-1 or less such that v(X) is a multiple of g(x). Then: v(X)= [a0+a1X+a2X2+…+an-r-1Xn-r-1]g(X). v(X) is a linear combination of code polynomials, g(X), Xg(X), …Xn-r-1g(X) Let v(X) be a code polynomial in C v(X)=a(X)g(X)+b(X) where the degree of b(X)<r b(X)=v(x)+a(X)g(X) v(X) is a code polynomial, a(X)g(X) are code polynomials b(X) is also a code polynomial of degree<r g(X) is the minimal degree nonzero polynomial b(X)=0 v(X) is a code polynomial in C v(X) is a multiple of g(X)

The Number of Code Polynomials From Theorem 3: A code polynomial must be a multiple of g(X) & Any multiple of g(X) is a code polynomial The number of multiples of g(X) of degree<n-1 are: n-r The number of code polynomials are 2n-r k=n-r where k is the number of information bits in the code word, r is the number of parity check bits in the codeword g(X)=1+g1X+g2X2+…+gn-k-1Xn-k-1+Xn-k

Theorem 4 In an (n,k) cyclic code, there exists one and only one code polynomial of degree n-k g(X)=1+g1X+g2X2+…+gn-k-1Xn-k-1+Xn-k 1. Every code polynomial is a multiple of g(X) 2. Every binary polynomial of degree n-1 or less that is multiple of g(X) is a code polynomial

Generator Polynomial From Theorem 4: Every code polynomial v(X) in an (n,k) cyclic code could be expressed as: v(X)= u(X)g(X) =(u0+ u1X+…+uk-1Xk-1 )g(X) If (u0, u1,…,uk-1) is the information message, v(X) represents the corresponding codeword An (n,k) cyclic code is completely specified by its non zero minimal degree code polynomial g(X) g(X) is called the generator polynomial

Theorem 5 The generator polynomial g(X) of an (n,k) cyclic code is a factor of Xn+1 Proof: Multiply g(X) by Xk Xkg(X) has a degree n. By dividing Xkg(X) by Xn+1 Xkg(X)=(Xn+1)+g(k)(X) g(k)(X) is a cyclic shift of g(X) and therefore is a code polynomial g(k)(X) is a multiple of g(X) g(k)(X)=a(X)g(X) Xkg(X)=(Xn+1)+a(X)g(X) (Xn+1)=[XK+a(X)]g(X) Therefore g(X) is a factor of Xn+1

Theorem 6 If g(X) is a polynomial of degree n-k and is a factor of Xn+1, then g(X) generates an (n,k) cyclic code Proof: It is possible to generate 2k polynomials from linear combinations of the polynomials g(X), Xg(X), …,Xk-1g(X) v(X)=(u0+ u1X+…+uk-1Xk-1)g(X)WE HAVE A LINEAR BLOCK CODE IS THIS CODE CYCLIC? Xv(X)=vn-1(Xn+1)+v(1)(X) Since BOTH Xv(X) and (Xn+1) are divisible by g(X), v(1)(X) must be also be divisible by g(X) Therefore v(1)(X) must be a linear combination of g(X), Xg(X), …,Xk-1g(X) Therefore v(1)(X) must be a code polynomial in the (n,k) linear block code

Example (X7+1)=(1+X)(1+X+X3)(1+X2+X3) There are two factors of degree 3 Each factor could be used to generate a (7,4) cyclic code