0% found this document useful (0 votes)
43 views

Viewing A Code From An Extension Field: 1 Z Z Z 2 GF 8 GF

This document discusses coding theory and cyclic codes over finite fields. It begins by introducing the Hamming (7,4) code and its parity check matrix H. It then discusses how to view a codeword as a polynomial over an extension field GF(q^m) of the base field GF(q). The codeword polynomial c(x) must have roots that are elements of the extension field in order to satisfy the parity check equation CHT = 0. The document provides an example of a (15,7) BCH code over GF(2^4), using the generator polynomial g(x) = (x^4+x+1)(x^4+x^3+x^

Uploaded by

takahashikeyaki
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
43 views

Viewing A Code From An Extension Field: 1 Z Z Z 2 GF 8 GF

This document discusses coding theory and cyclic codes over finite fields. It begins by introducing the Hamming (7,4) code and its parity check matrix H. It then discusses how to view a codeword as a polynomial over an extension field GF(q^m) of the base field GF(q). The codeword polynomial c(x) must have roots that are elements of the extension field in order to satisfy the parity check equation CHT = 0. The document provides an example of a (15,7) BCH code over GF(2^4), using the generator polynomial g(x) = (x^4+x+1)(x^4+x^3+x^

Uploaded by

takahashikeyaki
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 12

Viewing A Code From An Extension Field

(一)
C = [c0, c1,…, cn-1 ]
Hamming (7, 4) code

1 0 0 1 0 1 1 Z 1
0
CHT = [0, 0, 0] – over GF(2)
H  0 1 0 1 1 1 0 Z CHT = 0 – in GF(23)
0 0 1 0 1 1 1 Z 2
1  0   1  0  HCT
α=Z
c0 0  +c1 1 +...+c n-1 0  = 0 
=[0,0,0]T
        α 2 = Z2
0  0  1 0  α3 = Z + 1
α4 = Z2 + Z

GF8 GF2Z
α 5 = Z2 + Z + 1
Z3  Z  1 α 6 = Z2 + 1
α7 = 1
2006/12/6 Yuh-Ming Huang, CSIE NCNU Block Codes - extended 1
take the primitive element   z

 H  α 0 α1 α 2 α 3 α 4 α 5 α 6 
6 n 1
  ci  0  c x    ci x
i i e.g. c(x)=1+x+x3
i 0 i 0

 A binary polynomial c(x) is a codeword polynomial iff  (in GF(8))


is a zero of c(x)

※ r(x)  c(x)  e(x)


e(x)  e0  e1 x    en-1 x n-1
n 1
s j  r v j   e j v ij j  1,2 ,...r.  ( * )
i 0

how to choose v j st. (*)有解

2006/12/6 Yuh-Ming Huang, CSIE NCNU Block Codes - extended 2


(二)

v10 v11 v1n 1 


v 0 v1n 1 
 where v j  GFq m  1  j  r
v21
 2
H 
  n  q m -1 r  n-k 
m
 
v 0 v 1r v rn 1 
 r
n 1
CH  0   ci v ij  0 j  1,..., r
T

i 0

 codeword polynomial c(x) has zeros at v1, … ,vr

Def: Let GF(q) be a field and let GF(Q) be an extension field of GF(q).
Let β be in GF(Q). The prime polynomial f(x) of smallest degree
over GF(q) with f(β) = 0 is called the minimal polynomial of β over
GF(q).

2006/12/6 Yuh-Ming Huang, CSIE NCNU Block Codes - extended 3


EX: H(15, 7, 5)
1 0 0 0 1 0 0 1 1 0 1 0 1 1 1
0 1 0 0 1 1 0 1 0 1 1 1 1 0 0
  α, α3 in GF(24)
0 0 1 0 0 1 1 0 1 0 1 1 1 1 0
  α15 = 1
0 0 0 1 0 0 1 1 0 1 0 1 1 1 1
H
1 0 0 0 1 1 0 0 0 1 1 0 0 0 1
 
0 0 0 1 1 0 0 0 1 1 0 0 0 1 1
0 0 1 0 1 0 0 1 0 1 0 0 1 0 1
 
0 1 1 1 1 0 1 1 1 1 0 1 1 1 1 
c(α)=0
     
0
1
 2
  3
  4
 5
 6
  7 8 9 10 11 12 13 14
c(α3)=0
 3 0 
( )      15  18  21  24  27  30  33  36  39  42 
3 6 9 12

x15 – 1 = (x+1)(x2+x+1)(x4+x+1)(x4+x3+1)(x4+x3+x2+x+1)

取 g(x) = (x4+x+1)(x4+x3+x2+x+1) = x8 + x7 + x6 + x4 + 1
(i) n – k = 8  k = 7
(ii) d* ≤ 9 (= singleton bound)
≤ 5 (∵ w(g(x)) = 5)
∵ d* ≥ 2t + 1 = 5 (BCH bound)
∴ d* = 5

2006/12/6 Yuh-Ming Huang, CSIE NCNU Block Codes - extended 4


補充1

If we take g(x) = (x4+x3+1)(x4+x3+x2+x+1),


then g(x) has α7, α14, α13, α11, α3, α6, α12, and α9
as its eight roots over GF(24).
(α11, α12, α13, α14 四個連續根)
( n-k = 8 = m × t = 4 × 2)

Q:
1. Find the parity check matrix H?
2. Using the generator polynomial g(x), first find a codeword and
then check whether the equation CHT=0 holds ?

2006/12/6 Yuh-Ming Huang, CSIE NCNU Block Codes - extended 5


補充2

If we take g(x) = (x2+x+1)(x4+x+1)(x4+x3+x2+x+1),


then g(x) has α5, α10, α, α2, α4, α8 , α3, α6, α12, and α9
as its ten roots over GF(24).
( α, α2, α3, α4, α5, α6 六個連續根)
( n-k = 10 < m × t = 4 × 3)

Q:
1. What’s the parity check matrix ?
2. How could we see that c(x) has zeros, α, α3 and α5 ,
from the property of cHT = 0?

2006/12/6 Yuh-Ming Huang, CSIE NCNU Block Codes - extended 6


Thm: F[x]/p(x) is a field iff p(x) is a prime polynomial

Prime polynomials over GF(2)


Degree Primitive Polynomial
2 x2 + x + 1  x2+x+1 | x3+1
3 x3 + x + 1  x3+x+1 | x7+1
4 x4 + x + 1
5 x5 + x2 + 1
6 x6 + x + 1
7 x7 + x3 + 1
8 x8 + x4 + x3 + x2 + 1
9 x9 + x4 + 1
10 x10 + x3 + 1
11 x11 + x2 + 1
12 x12 + x6 + x4 + x + 1
13 x13 + x4 + x3 + x + 1
14 x14 + x10 + x6 + x + 1
15 x5 + x + 1
16 x16 + x12 + x3 + x + 1

2006/12/6 Yuh-Ming Huang, CSIE NCNU Block Codes - extended 7


GF(24) = GF(2)[Z] / Z4+Z+1
Exponential Polynomial Binary Decimal Minimal
Notation Notation Notation Notation Polynomial
0 0 0000 0 x
α0 1 0001 1 x+1
α=Z
α1 Z 0010 2 x4 + x + 1。
α2 Z2 0100 4 x4 + x + 1。
α3 Z3 1000 8 x4 + x3 + x2 + x + 1
α4 Z+1 0011 3 x4 + x + 1。
α5 Z2 + Z 0110 6 x2 + x + 1
α6 Z3 + Z2 1100 12 x4 + x3 + x2 + x + 1
α7 Z3 + Z + 1 1011 11 x4 + x3 + 1
α8 Z2 + 1 0101 5 x4 + x + 1 。
α9 Z3 + Z 1010 10 x4 + x3 + x2 + x + 1
α10 Z2 + Z + 1 0111 7 x2 + x + 1
α11 Z3 + Z2 + Z 1110 14 x4 + x3 + 1
α12 Z3 + Z2 + Z + 1 1111 15 x4 + x3 + x2 + x + 1
α13 Z3 + Z2 + 1 1101 13 x4 + x3 + 1
α14 Z3 + 1 1001 9 x4 + x3 + 1
x15 = 1
2006/12/6 Yuh-Ming Huang, CSIE NCNU Block Codes - extended 8
Minimal Polynomials and Conjugates
Q: How to find g(x)
GF(q) ----------GF(qm) n = qm – 1 : primitive block length
xn – 1 = f1(x)f2(x)…fs(x) fi(x) : prime polynomials over GF(q)
• g(x)|xn – 1  g(x) = fi(x) 2s – 2 different nontrivial cyclic code
g(x) = 1, xn – 1 trivial cases
• Choosing desirable zeros in an extension field so as to ensure a good
code

x n - 1   x -  j  βj is a nonzero element of GF(qm)


j

f l x 
minimal
βj
polynomial

2006/12/6 Yuh-Ming Huang, CSIE NCNU Block Codes - extended 9


Thm: Suppose that f(x) is the minimal polynomial over GF(q) of β,
an element of GF(qm). Then f(x) is also the minimal polynomial
of βq.

Def: Two element of GF(qm) that share the same minimal polynomial
over GF(q) are called conjugates (with respect to GF(q))

GF(24)
e.g.
GF(16)
q=2 r=4 m=4
GF(42)
2 2 2 2 3
2 r-1
{β, βq, βq , … , βq } βq = β
r α7 (α7) (α7) (α7)
n = 2m – 1 = 24 – 1 = 15
4
ie. β2 = β
Thm: The minimal polynomial of β is ie. β15 = 1
r-1
f(x) = (x- β)(x- βq)…(x- βq )

m m
Cor: ∵ βq = β(βq -1 = βn = 1) -> r< m
∴ deg( minimal polynomial ) ≤ m
2006/12/6 Yuh-Ming Huang, CSIE NCNU Block Codes - extended 10
Thm1: Let g(x), the generator polynomial of a primitive code, have zeros
β1, β2 … βr in GF(qm). A polynomial c(x) over GF(q) is a codeword
polynomial iff c(β1) = c(β2) = … = c(βr) = 0, where c(βj) is evaluated
in GF(qm).

• Suppose we wish to construct a g(x) that has β1, β2 … βr as zeros.


Find the minimal polynomials of these field elements, denoting them as
f1(x), f2(x), … , fr(x), Then
g(x) = LCM[ f1(x), f2(x), … , fr(x) ]
• How to find fl(x)
• Cyclic codes in one field can be constructed by working with zeros in a
larger field.

2006/12/6 Yuh-Ming Huang, CSIE NCNU Block Codes - extended 11


Proof: Thm1:
 c(x) = a(x)g(x) ∴ c(βj) = 0
 Suppose c(βj) = 0
c(x) = Q(x)fj(x) + s(x) where
deg s(x) < deg fj(x)
fj(x) is the minimal polynomial of βj
but 0 = Q(βj)fj(βj) + s(βj) = s(βj) ( if s(x)  0 )
∴ s(x) = 0
∴ fj(x)|c(x)  g(x)|c(x)
=LCM[ f1(x)f2(x)…fr(x) ]
e.g.
x15 – 1 = (x+1)(x2+x+1)(x4+x+1)(x4+x3+1)(x4+x3+x2+x+1)
In GF(24) = (x-α0)(x-α5)(x-α10)(x-α)(x-α2)(x-α4)(x-α8)
α15 = 1 (x-α7)(x-α14)(x-α13)(x-α11)
(x-α3)(x-α6)(x-α12)(x-α9)
take g(x) x4+x3+1)(x4+x3+x2+x+1) = x8 + x4 + x2 + x + 1
has zeros α3 α6 α7 α9 α11 α12 α13 α14
= (﹡α5, α10 : order = 3 deg[ x2 + x + 1 ] | 4
α3, α6, α9, α12 : order = 5 deg[ x4+x3+x2+x+1 ] | 4
α, α2, α4, α8 α7,α14,α13,α11 : order = 15
2006/12/6 Yuh-Ming Huang, CSIE NCNU Block Codes - extended 12

You might also like