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
GF8 GF2Z
α 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 GFq 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