+ All Categories
Home > Documents > Cyclic Codes II - 上海交通大学数学系math.sjtu.edu.cn/upload/teachers/10473/8.pdfCyclic...

Cyclic Codes II - 上海交通大学数学系math.sjtu.edu.cn/upload/teachers/10473/8.pdfCyclic...

Date post: 21-Feb-2021
Category:
Upload: others
View: 7 times
Download: 0 times
Share this document with a friend
31
Cyclic Codes II Jiyou Li [email protected] Department of Mathematics, Shanghai Jiao Tong University Tuesday 5 th November, 2013 Li Jiyou Linear Codes II
Transcript
Page 1: Cyclic Codes II - 上海交通大学数学系math.sjtu.edu.cn/upload/teachers/10473/8.pdfCyclic Codes II Jiyou Li lijiyou@sjtu.edu.cn Department of Mathematics, Shanghai Jiao Tong

Cyclic Codes II

Jiyou [email protected]

Department of Mathematics, Shanghai Jiao Tong University

Tuesday 5th November, 2013

Li Jiyou Linear Codes II

Page 2: Cyclic Codes II - 上海交通大学数学系math.sjtu.edu.cn/upload/teachers/10473/8.pdfCyclic Codes II Jiyou Li lijiyou@sjtu.edu.cn Department of Mathematics, Shanghai Jiao Tong

Cyclic codes

C = (g(x)) ⊆ Fq[x ]/(xn − 1) and g(x)h(x) = xn − 1, withg(x) = g0 + g1x + · · ·+ gn−kxn−k ,h(x) = h0 + h1x + · · ·+ hkxk .

C has a basis g(x), xg(x), . . . , xk−1g(x).

Li Jiyou Linear Codes II

Page 3: Cyclic Codes II - 上海交通大学数学系math.sjtu.edu.cn/upload/teachers/10473/8.pdfCyclic Codes II Jiyou Li lijiyou@sjtu.edu.cn Department of Mathematics, Shanghai Jiao Tong

Cyclic codes

C = (g(x)) ⊆ Fq[x ]/(xn − 1) and g(x)h(x) = xn − 1, withg(x) = g0 + g1x + · · ·+ gn−kxn−k ,h(x) = h0 + h1x + · · ·+ hkxk .C has a basis g(x), xg(x), . . . , xk−1g(x).

Li Jiyou Linear Codes II

Page 4: Cyclic Codes II - 上海交通大学数学系math.sjtu.edu.cn/upload/teachers/10473/8.pdfCyclic Codes II Jiyou Li lijiyou@sjtu.edu.cn Department of Mathematics, Shanghai Jiao Tong

The generator matrix

G =

g0 g1 . . . gn−k 0 0 00 g0 g1 . . . gn−k 0 0

. . . . . . . . . . . .0 0 0 g0 g1 . . . gn−k

k×n

.

The parity check matrix

H =

hk hk−1 . . . h0 0 0 00 hk hk−1 . . . h0 0 0

. . . . . . . . . . . .0 0 0 hk hk−1 . . . h0

(n−k)×n

.

Li Jiyou Linear Codes II

Page 5: Cyclic Codes II - 上海交通大学数学系math.sjtu.edu.cn/upload/teachers/10473/8.pdfCyclic Codes II Jiyou Li lijiyou@sjtu.edu.cn Department of Mathematics, Shanghai Jiao Tong

The generator matrix

G =

g0 g1 . . . gn−k 0 0 00 g0 g1 . . . gn−k 0 0

. . . . . . . . . . . .0 0 0 g0 g1 . . . gn−k

k×n

.

The parity check matrix

H =

hk hk−1 . . . h0 0 0 00 hk hk−1 . . . h0 0 0

. . . . . . . . . . . .0 0 0 hk hk−1 . . . h0

(n−k)×n

.

Li Jiyou Linear Codes II

Page 6: Cyclic Codes II - 上海交通大学数学系math.sjtu.edu.cn/upload/teachers/10473/8.pdfCyclic Codes II Jiyou Li lijiyou@sjtu.edu.cn Department of Mathematics, Shanghai Jiao Tong

Example

Let Fq = F3 and n = 8, x8 − 1 = (x + 1)(x − 1)(x2 + 1)(x4 + 1).Take g(x) = x5 + 2x4 + x + 2, we then get a [8, 3, 4]3 code.

G =

2 1 0 0 2 1 0 00 2 1 0 0 2 1 00 0 2 1 0 0 2 1

,

H =

1 1 1 1 0 0 0 00 1 1 1 1 0 0 00 0 1 1 1 1 0 00 0 0 1 1 1 1 00 0 0 0 1 1 1 1

.

Li Jiyou Linear Codes II

Page 7: Cyclic Codes II - 上海交通大学数学系math.sjtu.edu.cn/upload/teachers/10473/8.pdfCyclic Codes II Jiyou Li lijiyou@sjtu.edu.cn Department of Mathematics, Shanghai Jiao Tong

ExampleLet Fq = F2, n = 2m − 1 and g(x) be a primitive polynomial ofdegree m over F2[x ]. We then have a [2m − 1, 2m − 1−m, 3]2code. In fact it is the Hamming code Hm (whyº).

Li Jiyou Linear Codes II

Page 8: Cyclic Codes II - 上海交通大学数学系math.sjtu.edu.cn/upload/teachers/10473/8.pdfCyclic Codes II Jiyou Li lijiyou@sjtu.edu.cn Department of Mathematics, Shanghai Jiao Tong

ProblemConstruct good cyclic codes using tools from algebra.

Li Jiyou Linear Codes II

Page 9: Cyclic Codes II - 上海交通大学数学系math.sjtu.edu.cn/upload/teachers/10473/8.pdfCyclic Codes II Jiyou Li lijiyou@sjtu.edu.cn Department of Mathematics, Shanghai Jiao Tong

Trace representation of cyclic codes

TheoremSuppose the parity check polynomial h(x) is an irreduciblepolynomial of degree k and α is one of its root in someextension field of Fq (Thus Fq(α) = Fqk ). Then for anyc = (c0, c1, . . . , cn−1) ∈ C, there is a unique element βc ∈ Fqk

such thatci = Trace(βcα

−i).

Li Jiyou Linear Codes II

Page 10: Cyclic Codes II - 上海交通大学数学系math.sjtu.edu.cn/upload/teachers/10473/8.pdfCyclic Codes II Jiyou Li lijiyou@sjtu.edu.cn Department of Mathematics, Shanghai Jiao Tong

Trace representation of cyclic codes

TheoremSuppose that the generator polynomial h(x) is a product ofirreducible polynomials of pi(x), 1 ≤ i ≤ s with deg pi(x) = diand αi are roots of pi(x) respectively in some extension field ofFq, i.e., Fq(αi) = Fqdi .Then for any c = (c0, c1, . . . , cn−1) ∈ C, there is a uniqueelement βc ∈ Fqk such that

ci =s∑

j=1

Trace(βcα−ij ).

Li Jiyou Linear Codes II

Page 11: Cyclic Codes II - 上海交通大学数学系math.sjtu.edu.cn/upload/teachers/10473/8.pdfCyclic Codes II Jiyou Li lijiyou@sjtu.edu.cn Department of Mathematics, Shanghai Jiao Tong

ExampleOver Fq let h(x) be a primitive polynomial of degree k in Fq[x ].We then have a [n = qk − 1, k ]q cyclic code C.

Let α be a root of h(x). Applying the above theorem, for anyc = (c0, c1, . . . , cn−1) ∈ C, there is a unique element βc ∈ Fqk

such thatci = Trace(βcα

−i).

This proves that C is a [qk − 1, k , qk − qk−1]q cyclic code.

Li Jiyou Linear Codes II

Page 12: Cyclic Codes II - 上海交通大学数学系math.sjtu.edu.cn/upload/teachers/10473/8.pdfCyclic Codes II Jiyou Li lijiyou@sjtu.edu.cn Department of Mathematics, Shanghai Jiao Tong

ExampleOver Fq let h(x) be a primitive polynomial of degree k in Fq[x ].We then have a [n = qk − 1, k ]q cyclic code C.Let α be a root of h(x). Applying the above theorem, for anyc = (c0, c1, . . . , cn−1) ∈ C, there is a unique element βc ∈ Fqk

such thatci = Trace(βcα

−i).

This proves that C is a [qk − 1, k , qk − qk−1]q cyclic code.

Li Jiyou Linear Codes II

Page 13: Cyclic Codes II - 上海交通大学数学系math.sjtu.edu.cn/upload/teachers/10473/8.pdfCyclic Codes II Jiyou Li lijiyou@sjtu.edu.cn Department of Mathematics, Shanghai Jiao Tong

ExampleOver Fq let h(x) be a primitive polynomial of degree k in Fq[x ].We then have a [n = qk − 1, k ]q cyclic code C.Let α be a root of h(x). Applying the above theorem, for anyc = (c0, c1, . . . , cn−1) ∈ C, there is a unique element βc ∈ Fqk

such thatci = Trace(βcα

−i).

This proves that C is a [qk − 1, k , qk − qk−1]q cyclic code.

Li Jiyou Linear Codes II

Page 14: Cyclic Codes II - 上海交通大学数学系math.sjtu.edu.cn/upload/teachers/10473/8.pdfCyclic Codes II Jiyou Li lijiyou@sjtu.edu.cn Department of Mathematics, Shanghai Jiao Tong

Example

Over F2 take h(x) = x5 + x3 + x2 + x + 1 to be a primitivepolynomial of degree 5 in Fq[x ]. We then get a [31, 5, 16]2cyclic code.

Li Jiyou Linear Codes II

Page 15: Cyclic Codes II - 上海交通大学数学系math.sjtu.edu.cn/upload/teachers/10473/8.pdfCyclic Codes II Jiyou Li lijiyou@sjtu.edu.cn Department of Mathematics, Shanghai Jiao Tong

Roots of cyclic codes

DefinitionSuppose the generator polynomial g(x) is a product ofirreducible polynomials of pi(x), 1 ≤ i ≤ s with deg pi(x) = diand αi are roots of pi(x) respectively in some extension field ofFq, i.e., Fq(αi) = Fqdi .Then

C = {c(x) ∈ Fq[x ]/(xn − 1), c(αi) = 0,∀1 ≤ i ≤ s}.

Li Jiyou Linear Codes II

Page 16: Cyclic Codes II - 上海交通大学数学系math.sjtu.edu.cn/upload/teachers/10473/8.pdfCyclic Codes II Jiyou Li lijiyou@sjtu.edu.cn Department of Mathematics, Shanghai Jiao Tong

A new parity check matrix

The parity check matrix H is given by

H =

1 α1 α2

1 . . . αn−11

1 α2 α22 . . . αn−1

2. . . . . . . . . . . . . . .1 αs α2

s . . . αn−1s

(n−k)×n

.

Li Jiyou Linear Codes II

Page 17: Cyclic Codes II - 上海交通大学数学系math.sjtu.edu.cn/upload/teachers/10473/8.pdfCyclic Codes II Jiyou Li lijiyou@sjtu.edu.cn Department of Mathematics, Shanghai Jiao Tong

Example

Let Fq = F2 and n = 7, Take g(x) = (x + 1)(x3 + x + 1). Onechecks that x3 + x + 1 is irreducible and is of order 7. Let α bea root of x3 + x + 1 and thus F2(α) = F8.Consider

C = {c(x) ∈ F2[x ]/(x7 − 1), c(1) = c(α) = 0}.

H =

(1 1 1 . . . 11 α α2 . . . α6

).

Over F2, we get a [7, 4, 4]2 code:

H =

1 1 1 1 1 1 11 0 0 1 0 1 10 1 0 1 1 1 00 0 1 0 1 1 1

.

Li Jiyou Linear Codes II

Page 18: Cyclic Codes II - 上海交通大学数学系math.sjtu.edu.cn/upload/teachers/10473/8.pdfCyclic Codes II Jiyou Li lijiyou@sjtu.edu.cn Department of Mathematics, Shanghai Jiao Tong

Bose-Chaudhuri-Hocquenghem Codes

DefinitionLet (n, q) = 1 and Fqn = Fq(β). l and 2 ≤ δ ≤ n − 1 areintegers. Then q-ary cyclic code of roots β l , β l+1, . . . , β i+δ−2 isdefined as

C = {c(x) ∈ Fq[x ], c(β l) = c(β l+1) = · · · = c(β l+δ−2) = 0}

is called a BCH code of designed distance δ.

Li Jiyou Linear Codes II

Page 19: Cyclic Codes II - 上海交通大学数学系math.sjtu.edu.cn/upload/teachers/10473/8.pdfCyclic Codes II Jiyou Li lijiyou@sjtu.edu.cn Department of Mathematics, Shanghai Jiao Tong

Bose-Chaudhuri-Hocquenghem Codes

TheoremThe minimum distance of a BCH code of designed distance δ isat least δ.

Li Jiyou Linear Codes II

Page 20: Cyclic Codes II - 上海交通大学数学系math.sjtu.edu.cn/upload/teachers/10473/8.pdfCyclic Codes II Jiyou Li lijiyou@sjtu.edu.cn Department of Mathematics, Shanghai Jiao Tong

ExampleLet Fq = F2 and n = 2m − 1, Take g1(x) to be a primitivepolynomial and α is its root in some extension. One can showthe minimal polynomial g3(x) of α3 has degree m. Takeg(x) = g1(x)g3(x).Consider

C = {c(x) ∈ F2[x ]/(xn − 1), c(α) = c(α3) = 0}.

H =

(1 α α2 . . . αn−1

1 α3 α6 . . . α3(n−1)

).

We thus have a [n, n − 2m,≥ 5]2 code.

Li Jiyou Linear Codes II

Page 21: Cyclic Codes II - 上海交通大学数学系math.sjtu.edu.cn/upload/teachers/10473/8.pdfCyclic Codes II Jiyou Li lijiyou@sjtu.edu.cn Department of Mathematics, Shanghai Jiao Tong

An example of Decoding BCH codes

Suppose u(x) = u0 + u1x + · · ·+ un−1xn−1 is the receivedpolynomial and u = (u0, u1, . . . , un−1) is the vector ofcoefficients;

Let u(x) = c(x) + ε(x) where c(x) is the sending messageand ε(x) is the error polynomial and ε is the error vector;

Compute HuT =( u(α)

u(α3)

)= H(cT + εT ) = HεT =

( ε(α)ε(α3)

);

If ε(x) = 0, no errors happened and output c(x) = u(x);If ε(x) = x i , 1 error happened and output c(x) = u(x) + x i ;If ε(x) = x i + x j , 2 errors happened and outputc(x) = u(x) + x i + x j .How to compute i and j?

Li Jiyou Linear Codes II

Page 22: Cyclic Codes II - 上海交通大学数学系math.sjtu.edu.cn/upload/teachers/10473/8.pdfCyclic Codes II Jiyou Li lijiyou@sjtu.edu.cn Department of Mathematics, Shanghai Jiao Tong

An example of Decoding BCH codes

Suppose u(x) = u0 + u1x + · · ·+ un−1xn−1 is the receivedpolynomial and u = (u0, u1, . . . , un−1) is the vector ofcoefficients;Let u(x) = c(x) + ε(x) where c(x) is the sending messageand ε(x) is the error polynomial and ε is the error vector;

Compute HuT =( u(α)

u(α3)

)= H(cT + εT ) = HεT =

( ε(α)ε(α3)

);

If ε(x) = 0, no errors happened and output c(x) = u(x);If ε(x) = x i , 1 error happened and output c(x) = u(x) + x i ;If ε(x) = x i + x j , 2 errors happened and outputc(x) = u(x) + x i + x j .How to compute i and j?

Li Jiyou Linear Codes II

Page 23: Cyclic Codes II - 上海交通大学数学系math.sjtu.edu.cn/upload/teachers/10473/8.pdfCyclic Codes II Jiyou Li lijiyou@sjtu.edu.cn Department of Mathematics, Shanghai Jiao Tong

An example of Decoding BCH codes

Suppose u(x) = u0 + u1x + · · ·+ un−1xn−1 is the receivedpolynomial and u = (u0, u1, . . . , un−1) is the vector ofcoefficients;Let u(x) = c(x) + ε(x) where c(x) is the sending messageand ε(x) is the error polynomial and ε is the error vector;

Compute HuT =( u(α)

u(α3)

)= H(cT + εT ) = HεT =

( ε(α)ε(α3)

);

If ε(x) = 0, no errors happened and output c(x) = u(x);If ε(x) = x i , 1 error happened and output c(x) = u(x) + x i ;If ε(x) = x i + x j , 2 errors happened and outputc(x) = u(x) + x i + x j .How to compute i and j?

Li Jiyou Linear Codes II

Page 24: Cyclic Codes II - 上海交通大学数学系math.sjtu.edu.cn/upload/teachers/10473/8.pdfCyclic Codes II Jiyou Li lijiyou@sjtu.edu.cn Department of Mathematics, Shanghai Jiao Tong

An example of Decoding BCH codes

Suppose u(x) = u0 + u1x + · · ·+ un−1xn−1 is the receivedpolynomial and u = (u0, u1, . . . , un−1) is the vector ofcoefficients;Let u(x) = c(x) + ε(x) where c(x) is the sending messageand ε(x) is the error polynomial and ε is the error vector;

Compute HuT =( u(α)

u(α3)

)= H(cT + εT ) = HεT =

( ε(α)ε(α3)

);

If ε(x) = 0, no errors happened and output c(x) = u(x);

If ε(x) = x i , 1 error happened and output c(x) = u(x) + x i ;If ε(x) = x i + x j , 2 errors happened and outputc(x) = u(x) + x i + x j .How to compute i and j?

Li Jiyou Linear Codes II

Page 25: Cyclic Codes II - 上海交通大学数学系math.sjtu.edu.cn/upload/teachers/10473/8.pdfCyclic Codes II Jiyou Li lijiyou@sjtu.edu.cn Department of Mathematics, Shanghai Jiao Tong

An example of Decoding BCH codes

Suppose u(x) = u0 + u1x + · · ·+ un−1xn−1 is the receivedpolynomial and u = (u0, u1, . . . , un−1) is the vector ofcoefficients;Let u(x) = c(x) + ε(x) where c(x) is the sending messageand ε(x) is the error polynomial and ε is the error vector;

Compute HuT =( u(α)

u(α3)

)= H(cT + εT ) = HεT =

( ε(α)ε(α3)

);

If ε(x) = 0, no errors happened and output c(x) = u(x);If ε(x) = x i , 1 error happened and output c(x) = u(x) + x i ;

If ε(x) = x i + x j , 2 errors happened and outputc(x) = u(x) + x i + x j .How to compute i and j?

Li Jiyou Linear Codes II

Page 26: Cyclic Codes II - 上海交通大学数学系math.sjtu.edu.cn/upload/teachers/10473/8.pdfCyclic Codes II Jiyou Li lijiyou@sjtu.edu.cn Department of Mathematics, Shanghai Jiao Tong

An example of Decoding BCH codes

Suppose u(x) = u0 + u1x + · · ·+ un−1xn−1 is the receivedpolynomial and u = (u0, u1, . . . , un−1) is the vector ofcoefficients;Let u(x) = c(x) + ε(x) where c(x) is the sending messageand ε(x) is the error polynomial and ε is the error vector;

Compute HuT =( u(α)

u(α3)

)= H(cT + εT ) = HεT =

( ε(α)ε(α3)

);

If ε(x) = 0, no errors happened and output c(x) = u(x);If ε(x) = x i , 1 error happened and output c(x) = u(x) + x i ;If ε(x) = x i + x j , 2 errors happened and outputc(x) = u(x) + x i + x j .

How to compute i and j?

Li Jiyou Linear Codes II

Page 27: Cyclic Codes II - 上海交通大学数学系math.sjtu.edu.cn/upload/teachers/10473/8.pdfCyclic Codes II Jiyou Li lijiyou@sjtu.edu.cn Department of Mathematics, Shanghai Jiao Tong

An example of Decoding BCH codes

Suppose u(x) = u0 + u1x + · · ·+ un−1xn−1 is the receivedpolynomial and u = (u0, u1, . . . , un−1) is the vector ofcoefficients;Let u(x) = c(x) + ε(x) where c(x) is the sending messageand ε(x) is the error polynomial and ε is the error vector;

Compute HuT =( u(α)

u(α3)

)= H(cT + εT ) = HεT =

( ε(α)ε(α3)

);

If ε(x) = 0, no errors happened and output c(x) = u(x);If ε(x) = x i , 1 error happened and output c(x) = u(x) + x i ;If ε(x) = x i + x j , 2 errors happened and outputc(x) = u(x) + x i + x j .How to compute i and j?

Li Jiyou Linear Codes II

Page 28: Cyclic Codes II - 上海交通大学数学系math.sjtu.edu.cn/upload/teachers/10473/8.pdfCyclic Codes II Jiyou Li lijiyou@sjtu.edu.cn Department of Mathematics, Shanghai Jiao Tong

ExampleTake m = 4, and α is a root of primitive polynomialg1(x) = x4 + x + 1. One computes the minimal polynomial ofα3 is g2(x) = x4 + x3 + x2 + x + 1.Thus

C = {c(x) ∈ F2[x ], c(α) = c(α3) = 0}

is a [15, 7,≥ 5]2 cyclic code with generator polynomialg(x) = g1(x)g2(x).Over F2, we get a [15, 7,≥ 5]2 code. Supposec(x) = x + x2 + x5 + x6 + x7 + x10 and ε(x) = x5 + x7.Received u(x) = x + x2 + x6 + x10. Compute HuT =

( ε(α)ε(α3)

).

Solve this equation we get i = 5 and j = 7.

Li Jiyou Linear Codes II

Page 29: Cyclic Codes II - 上海交通大学数学系math.sjtu.edu.cn/upload/teachers/10473/8.pdfCyclic Codes II Jiyou Li lijiyou@sjtu.edu.cn Department of Mathematics, Shanghai Jiao Tong

ExampleTaking l = 1, generalized Reed-solomon codes are cycliccodes with

H =

1 α α2 . . . αn−1

1 α2 α4 . . . α2(n−1)

. . . . . . . . . . . . . . .1 αk α2k . . . α(n−k)(n−1)

(n−k)×n

.

Li Jiyou Linear Codes II

Page 30: Cyclic Codes II - 上海交通大学数学系math.sjtu.edu.cn/upload/teachers/10473/8.pdfCyclic Codes II Jiyou Li lijiyou@sjtu.edu.cn Department of Mathematics, Shanghai Jiao Tong

ExampleBinary Golay codes are cyclic codes.

Li Jiyou Linear Codes II

Page 31: Cyclic Codes II - 上海交通大学数学系math.sjtu.edu.cn/upload/teachers/10473/8.pdfCyclic Codes II Jiyou Li lijiyou@sjtu.edu.cn Department of Mathematics, Shanghai Jiao Tong

Homework

Textbook Page 75: 1, 2, 3.

Li Jiyou Linear Codes II


Recommended