Cyclic Codes 1. Definition Linear:

Slides:



Advertisements
Similar presentations
Finite Fields Rong-Jaye Chen. p2. Finite fields 1. Irreducible polynomial f(x)  K[x], f(x) has no proper divisors in K[x] Eg. f(x)=1+x+x 2 is irreducible.
Advertisements

BCH Codes Hsin-Lung Wu NTPU.
296.3Page :Algorithms in the Real World Error Correcting Codes II – Cyclic Codes – Reed-Solomon Codes.
15-853:Algorithms in the Real World
Information and Coding Theory Finite fields. Juris Viksna, 2015.
4.I. Definition 4.II. Geometry of Determinants 4.III. Other Formulas Topics: Cramer’s Rule Speed of Calculating Determinants Projective Geometry Chapter.
Basis of a Vector Space (11/2/05)
DIGITAL COMMUNICATION Coding
5.II. Similarity 5.II.1. Definition and Examples
Complexity1 Pratt’s Theorem Proved. Complexity2 Introduction So far, we’ve reduced proving PRIMES  NP to proving a number theory claim. This is our next.
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,
Introduction Polynomials
III. Reduced Echelon Form
Finite fields.
exercise in the previous class (1)
Linear codes 1 CHAPTER 2: Linear codes ABSTRACT Most of the important codes are special types of so-called linear codes. Linear codes are of importance.
COMP 170 L2 Page 1 L05: Inverses and GCDs l Objective: n When does have an inverse? n How to compute the inverse? n Need: Greatest common dividers (GCDs)
Cyclic codes 1 CHAPTER 3: Cyclic and convolution codes Cyclic codes are of interest and importance because They posses rich algebraic structure that can.
Information and Coding Theory Linear Block Codes. Basic definitions and some examples. Juris Viksna, 2015.
Exercise in the previous class p: the probability that symbols are delivered correctly C: 1 00 → → → → What is the threshold.
The Integers. The Division Algorithms A high-school question: Compute 58/17. We can write 58 as 58 = 3 (17) + 7 This forms illustrates the answer: “3.
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.
With your host… Alan Quebec. Group theory Orbits and counting Coding theoryPotpourri $100 $200 $300 $400 $500.
Addition of Polynomials Two terms are considered like terms if they: 1) are both constants, or 2) have the same variables with the same exponents on corresponding.
§6 Linear Codes § 6.1 Classification of error control system § 6.2 Channel coding conception § 6.3 The generator and parity-check matrices § 6.5 Hamming.
1 Introduction to Quantum Information Processing CS 667 / PH 767 / CO 681 / AM 871 Richard Cleve DC 2117 Lecture 20 (2009)
EE 430 \ Dr. Muqaibel Cyclic Codes1 CYCLIC CODES.
Information and Coding Theory Cyclic codes Juris Viksna, 2015.
The parity bits of linear block codes are linear combination of the message. Therefore, we can represent the encoder by a linear system described by matrices.
Error Detection and Correction – Hamming 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.
Richard Cleve DC 2117 Introduction to Quantum Information Processing QIC 710 / CS 667 / PH 767 / CO 681 / AM 871 Lecture (2011)
Reed-Solomon Codes Rong-Jaye Chen.
Extending a displacement A displacement defined by a pair where l is the length of the displacement and  the angle between its direction and the x-axix.
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.
2001 년 6 월 2 일 정지욱 연세대학교 전기전자공학과 Span Property 정지욱 1/7.
Information and Coding Theory
IERG6120 Lecture 22 Kenneth Shum Dec 2016.
Error Detection and Correction
Subject Name: COMPUTER NETWORKS-1
Combinatorial Spectral Theory of Nonnegative Matrices
Computability and Complexity
After checking the solutions to the Lesson Practice from Friday, take a copy of Worksheet 2-5 and complete problems 2, 4, &
B.Sc. III Year Mr. Shrimangale G.W.
CHAPTER 3: Cyclic and convolution codes
Introduction to Reed-Solomon Coding ( Part II )
Complexity 6-1 The Class P Complexity Andrei Bulatov.
Basis and Dimension Basis Dimension Vector Spaces and Linear Systems
Advanced Algorithms Analysis and Design
Chapter 8: External Direct Product
Block codes. encodes each message individually into a codeword n is fixed, Input/out belong to alphabet Q of cardinality q. The set of Q-ary n-tuples.
Static Output Feedback and Estimators
§1-3 Solution of a Dynamical Equation
Cyclic Code.
2.III. Basis and Dimension
주민등록번호.
II. Linear Block Codes.
Error Detection and Correction
Back to Cone Motivation: From the proof of Affine Minkowski, we can see that if we know generators of a polyhedral cone, they can be used to describe.
§1—2 State-Variable Description The concept of state
CHAPTER 3: Cyclic and convolution codes
Huffman Coding Greedy Algorithm
Types of Errors Data transmission suffers unpredictable changes because of interference The interference can change the shape of the signal Single-bit.
NULL SPACES, COLUMN SPACES, AND LINEAR TRANSFORMATIONS
III. Cyclic Codes.
Presentation transcript:

Cyclic Codes 1. Definition Linear: 𝑎 0 ,…, 𝑎 𝑛−1 ∈𝐶, 𝑏 0 ,…, 𝑏 𝑛−1 ∈𝐶 ⟹α 𝑎 0 ,…, 𝑎 𝑛−1 +β 𝑏 0 ,…, 𝑏 𝑛−1 ∈𝐶 Cyclic: 𝑐 0 ,…, 𝑐 𝑛−1 ∈𝐶⟹ 𝑐 𝑛−1 , 𝑐 0 ,…, 𝑐 𝑛−2 ∈𝐶

𝑭𝒐𝒓 𝒆𝒙𝒂𝒎𝒑𝒍𝒆: C= 𝟎 𝟎 𝟎 , 𝟎 𝟏 𝟏 , 𝟏 𝟎 𝟏 , 𝟏 𝟏 𝟎 is a 𝒏=𝟑, 𝒌=𝟐 cyclic code 𝒐𝒗𝒆𝒓 𝑮𝑭 𝟐 with 𝒒 𝒌 =𝟒 𝒄𝒐𝒅𝒆𝒘𝒐𝒓𝒅𝒔; C= 𝟎 𝟎 𝟎 , 𝟎 𝟏 𝟐 , 𝟐 𝟎 𝟏 , 𝟏 𝟐 𝟎 , 𝟎 𝟐 𝟏 , 𝟏 𝟎 𝟐 , 𝟐 𝟏 𝟎 , 𝟏 𝟏 𝟏 ,(𝟐,𝟐,𝟐) is a 𝒏=𝟑, 𝒌=𝟐 𝒄𝒚𝒄𝒍𝒊𝒄 𝒄𝒐𝒅𝒆 𝒐𝒗𝒆𝒓 𝑮𝑭 𝟑 with 𝒒 𝒌 =𝟗 𝒄𝒐𝒅𝒆𝒘𝒐𝒓𝒅𝒔.

2. Generating function 𝑐 0 ,…, 𝑐 𝑛−1 ∈𝐶→ 𝑐 0 ,…, 𝑐 𝑛−1 ∈𝐶→ 𝑐 0 + 𝑐 1 𝑥+ 𝑐 2 𝑥 2 +…+ 𝑐 𝑛−1 𝑥 𝑛−1 ∈𝐶 which is a corresponding polynomial for the codeword, Note that generating function is for codeword, not for code, and cannot generate the whole cyclic code ! from now on, codeword and polynomial are the same !

Example: C= 𝟎 𝟎 𝟎 , 𝟎 𝟏 𝟐 , 𝟐 𝟎 𝟏 , 𝟏 𝟐 𝟎 , 𝟎 𝟐 𝟏 , 𝟏 𝟎 𝟐 , 𝟐 𝟏 𝟎 , 𝟏 𝟏 𝟏 ,(𝟐,𝟐,𝟐) is a 𝟑,𝟐 𝒄𝒚𝒄𝒍𝒊𝒄 𝒄𝒐𝒅𝒆 𝒐𝒗𝒆𝒓 𝑮𝑭 𝟑 with 𝒒 𝟐 =𝟗 𝒄𝒐𝒅𝒆𝒘𝒐𝒓𝒅𝒔. The generating functions of the codewords are: 0, x+2 𝒙 𝟐 , 2+ 𝒙 𝟐 , 1+2x, 2x+ 𝒙 𝟐 , 1+2 𝒙 𝟐 , 2+x, 1+x+ 𝒙 𝟐 , 2+2x+ 𝟐𝒙 𝟐

3. Re-define Cyclic code by using generating function ⟹ 𝐶 𝑅 (𝑥)∈𝐶 Linear: 𝑎 𝑥 =𝑎 0 + 𝑎 1 𝑥+…+ 𝑎 𝑛−1 𝑥 𝑛−1 ∈𝐶, 𝑏 𝑥 =𝑏 0 + 𝑏 1 𝑥+…+ 𝑏 𝑛−1 𝑥 𝑛−1 ∈𝐶 ⟹α𝑎(𝑥)+β𝑏(𝑥)∈𝐶

4. Generator polynomial (lowest degree of nonzero codewords)

combine the conditions on “cyclic and linear” together Example: C= 𝟎 𝟎 𝟎 , 𝟎 𝟏 𝟐 , 𝟐 𝟎 𝟏 , 𝟏 𝟐 𝟎 , 𝟎 𝟐 𝟏 , 𝟏 𝟎 𝟐 , 𝟐 𝟏 𝟎 , 𝟏 𝟏 𝟏 ,(𝟐,𝟐,𝟐) is a 𝟑,𝟐 𝒄𝒚𝒄𝒍𝒊𝒄 𝒄𝒐𝒅𝒆 𝒐𝒗𝒆𝒓 𝑮𝑭 𝟑 with 𝒒 𝟐 =𝟗 𝒄𝒐𝒅𝒆𝒘𝒐𝒓𝒅𝒔. The generating functions of the codewords are: 0, x+2 𝒙 𝟐 , 2+ 𝒙 𝟐 , 1+2x, 2x+ 𝒙 𝟐 , 1+2 𝒙 𝟐 , 2+x, 1+x+ 𝒙 𝟐 , 2+2x+ 𝟐𝒙 𝟐 Generator polynomial: g(x)=1+2x or 2+x ? We need monic: 2+x need monic ! The 3rd definition of cyclic code by using generating function: combine the conditions on “cyclic and linear” together Theorem 8.2 implies C = 𝑡 𝑥 𝑔(𝑥) 𝑛 :𝑡(𝑥)∈𝐹[𝑥]

4.2 Property of Factor: Part I 𝒈(𝒙) is unique in this way 𝒈 𝒙 |𝑷 𝒙 , Otherwise 𝑃 𝑥 =𝑢 𝑥 𝑔 𝑥 +𝑣 𝑥 where 0<𝜕𝑣 𝑥 <𝜕𝑔 𝑥 ≤𝑛−1, which implies that 𝑣 𝑥 = [𝑣 𝑥 ] 𝑛 = 𝑃 𝑥 −𝑢 𝑥 𝑔 𝑥 𝑛 = [𝑃 𝑥 ] 𝑛 − [𝑢 𝑥 𝑔 𝑥 ] 𝑛 is a nonzero codeword, i.e. a contradiction. Corollary: 𝒈 𝒙 |𝒄 𝒙 where 𝒄 𝒙 is any codeword, 𝒈 𝒙 | 𝒙 𝒏 −𝟏.

4.3 Property of Factor: Part II, which is the 4th definition of cyclic code, i.e. Th. 8.3 (1) C = 𝑡 𝑥 𝑔(𝑥) 𝑛 :𝑡(𝑥)∈𝐹[𝑥] = 𝑡 𝑥 𝑔 𝑥 :𝑡 𝑥 ∈𝐹 𝑥 , 𝜕𝑡 𝑥 ≤𝑛−𝑟−1 where 𝑟=𝜕𝑔 𝑥 Proof. 𝑡 𝑥 𝑔 𝑥 :𝑡 𝑥 ∈𝐹 𝑥 , 𝜕𝑡 𝑥 ≤𝑛−1−𝑟 ⊇𝐶 because of Lemma 2 ⊇ 𝑡 𝑥 𝑔(𝑥) 𝑛 :𝑡(𝑥)∈𝐹[𝑥] because of Theorem 8.2 ⊇ 𝑡 𝑥 𝑔 𝑥 :𝑡 𝑥 ∈𝐹 𝑥 , 𝜕𝑡 𝑥 ≤𝑛−1−𝑟 𝐨𝐛𝐯𝐢𝐨𝐮𝐬𝐥𝐲 # So 𝒌= 𝒍𝒐𝒈 𝒒 𝑪 = 𝒍𝒐𝒈 𝒒 𝒒 𝒏−𝒓 =𝒏−𝝏𝒈 𝒙

5. One to one correspondence between cyclic code with length n and monic divisor of xn-1 (b) i.e. if 𝒈 𝒙 | 𝒙 𝒏 −𝟏 𝒕 𝒙 𝒈 𝒙 :𝒕 𝒙 ∈𝑭 𝒙 , 𝝏𝒕 𝒙 ≤𝒏−𝒓−𝟏 is a cyclic code.

𝒕 𝒙 𝒈(𝒙) 𝒏 = 𝒕 𝒙 𝒈 𝒙 +v 𝒙 𝒙 𝒏 −𝟏 , and 𝒈 𝒙 | 𝒙 𝒏 −𝟏, (b) If 𝒈 𝒙 | 𝒙 𝒏 −𝟏, 𝐂= 𝒕 𝒙 𝒈 𝒙 :𝒕 𝒙 ∈𝑭 𝒙 , 𝝏𝒕 𝒙 ≤𝒏−𝒓−𝟏 is a cyclic code. Proof. 𝐰𝐞 𝐨𝐧𝐥𝐲 𝐧𝐞𝐞𝐝 𝐭𝐨 𝐩𝐫𝐨𝐯𝐞 𝐭𝐡𝐚𝐭 𝑡 𝑥 𝑔 𝑥 :𝑡 𝑥 ∈𝐹 𝑥 , 𝜕𝑡 𝑥 ≤𝑛−𝑟−1 = 𝑡 𝑥 𝑔(𝑥) 𝑛 :𝑡(𝑥)∈𝐹[𝑥] since 𝑡 𝑥 𝑔(𝑥) 𝑛 :𝑡 𝑥 is a cyclic code. O𝐧𝐥𝐲 𝐧𝐞𝐞𝐝 𝐭𝐨 𝐩𝐫𝐨𝐯𝐞 𝑔 𝑥 | 𝑡 𝑥 𝑔(𝑥) 𝑛 . From the definition of mod, 𝒕 𝒙 𝒈(𝒙) 𝒏 = 𝒕 𝒙 𝒈 𝒙 +v 𝒙 𝒙 𝒏 −𝟏 , and 𝒈 𝒙 | 𝒙 𝒏 −𝟏, It is easy to see that 𝑔 𝑥 | 𝑡 𝑥 𝑔(𝑥) 𝑛 . # For example, for 𝒏=𝟑 𝐨𝐯𝐞𝐫 𝑮𝑭(𝟑), 𝑥 𝑛 −1= 𝑥−1 3 has 𝟒 factors: (1) 𝑔 𝑥 =1 (2) 𝑔 𝑥 =𝑥−1 (3) 𝑔 𝑥 = 𝑥−1 2 = 𝑥 2 +𝑥+1 (4) 𝑔 𝑥 = 𝑥−1 3 = 𝑥 3 −1=0 𝑚𝑜𝑑 𝑥 𝑛 −1. see follows.

𝑔 𝑥 =1 corresponds to C= 𝑡 𝑥 :𝑡 𝑥 ∈𝐹 𝑥 , 𝜕𝑡 𝑥 ≤2 ={(0 0 0), (1 0 0), (2 0 0), …, (2 2 2)} totally 27 codewords, i.e. whole space; (2) 𝑔 𝑥 =𝑥−1 corresponds to C= 𝑡 𝑥 (𝑥−1):𝑡 𝑥 ∈𝐹 𝑥 , 𝜕𝑡 𝑥 ≤1 ={(0 0 0), (2 1 0), (0 2 1), (1 0 2), (1 2 0), (0 1 2), (2 0 1), (1 1 1), (2 2 2)} totally 9 codewords; (3) 𝑔 𝑥 = 𝑥−1 2 = 𝑥 2 +𝑥+1 corresponds to C= 𝑡 𝑥 ( 𝑥 2 +𝑥+1):𝑡 𝑥 ∈𝐹 𝑥 , 𝜕𝑡 𝑥 ≤0 ={(0 0 0), (1 1 1), (2 2 2)} totally 3 codewords; (4) 𝑔 𝑥 = 𝑥−1 3 = 𝑥 3 −1=0 𝑚𝑜𝑑 𝑥 𝑛 −1 corresponds to C={(0 0 0)}.

6. Parity-check polynomial

7. Generator matrix and Parity-check matrix Example: for C ={(0 0 0), (2 1 0), (0 2 1), (1 0 2), (1 2 0), (0 1 2), (2 0 1), (1 1 1), (2 2 2)} over 𝐺𝐹(3) We have 𝒈 𝒙 =𝟐+𝒙, and 𝐺= 2 1 0 0 2 1

Note that the previous form of 𝐺 1 , and the relation 𝑔 𝑥 ℎ 𝑥 = 𝑥 𝑛 −1, imply that one parity check matrix can be 𝐻 1 . Example cont'd: 𝒉 𝒙 = 𝒙 𝟑 −𝟏 𝟐+𝒙 = 𝒙 𝟐 +𝒙+𝟏, and 𝒉 𝒙 = 𝒙 𝟐 +𝒙+𝟏 𝐻= 1 1 1

Encoding example by polynomials: 𝒄 𝒙 =𝒖 𝒙 𝒈(𝒙) 𝑢 𝑥 = 𝑢 0 + 𝑢 1 𝑥+…+ 𝑢 𝑘−1 𝑥 𝑘−1 𝑐 𝑥 = 𝑐 0 + 𝑐 1 𝑥+…+ 𝑐 𝑛−1 𝑥 𝑛−1 … + + + 𝑐 0 , 𝑐 1 ,…, 𝑐 𝑛−1 … × 𝑔 𝑛−𝑘 × 𝑔 𝑛−𝑘−1 × 𝑔 1 × 𝑔 0 𝑢 0 , 𝑢 1 ,…, 𝑢 𝑘−1 … Begin of output: 𝑐 𝑛−1 =𝑢 𝑘−1 𝑔 𝑛−𝑘 End of output: 𝑐 0 = 𝑢 0 𝑔 0

7. Dual code of cyclic code Dual code definition. 𝐶 ⊥ ={ 𝛼 0 , 𝛼 1 ,…, 𝛼 𝑛−1 : 𝛼 0 𝛽 0 + 𝛼 1 𝛽 1 +…+ 𝛼 𝑛−1 𝛽 𝑛−1 =0 𝑓𝑜𝑟 𝑎𝑙𝑙 ( 𝛽 0 , 𝛽 1 ,…, 𝛽 𝑛−1 )∈𝐶} Proposition 1. The dual code of cyclic code is also cyclic. Proof.

For example: 𝑔 𝑥 =𝑥−1 corresponds to a [3,2] cyclic code over GF(3) ={(0 0 0), (2 1 0), (0 2 1), (1 0 2), (1 2 0), (0 1 2), (2 0 1), (1 1 1), (2 2 2)}. We have [3,1] dual cyclic code 𝐶 ⊥ ={(0 0 0), (1 1 1), (2 2 2)} = 𝑡 𝑥 (𝑥−1) 2 :𝑡 𝑥 ∈𝐹 𝑥 , 𝜕𝑡 𝑥 ≤0 .

Proposition 2. C is a [n, k] cyclic code Proposition 2. C is a [n, k] cyclic code. The generator polynomial of is Proof. Step 1: Since generator matrix of is parity check matrix of C, so is a generator matrix of .

Proposition 3. C is a cyclic code. The parity check polynomial of is Step 2: is a generator polynomial of the dual code: 𝑔 (𝑥) ℎ (𝑥) Proposition 3. C is a cyclic code. The parity check polynomial of is 𝑔 𝑥 ℎ 𝑥 = 𝑥 𝑛 −1 ⟹𝑔 𝑥 −1 ℎ 𝑥 −1 =( 𝑥 −𝑛 −1) ⟹ [𝑥 𝑛−𝑘 𝑔 𝑥 −1 ]× [𝑥 𝑘 ℎ 𝑥 −1 ]= 𝑥 𝑛 ( 𝑥 −𝑛 −1) ⟹ 𝑔 (𝑥) ℎ (𝑥)= −(𝑥 𝑛 −1) Proof. From Prop.2, ℎ 𝑥 is generator of 𝑪 ⊥ , so 𝑔 (𝑥) is the parity check of 𝑪 ⊥ .