Math 523
Notes on Coding Theory
July, 2008
The definition of BCH and RS codes
Definition. A
primitive
n
th root of unity
is a root of
x
n

1 that has multi
plicative order
n
.
Example.
Over the real numbers the 6th roots of unity are
±
1
,
±
1
2
±
√
3
2
i
.
A
cyclic group of order 6 has 2 generators, so there are 2 primitive 6th roots of
unity:
1
2
±
√
3
2
i
. Note that

1
2
±
√
3
2
i
are primitive third roots of unity.
If
β
is a primitive
n
th root of unity over the field GF(
q
), then
β
may or may
not belong to GF(
q
).
If
β
∈
GF(
q
), then since it has order
n
its powers give
n
distinct roots of
x
n

1. Therefore in this case
x
n

1 factors over GF(
q
) as
x
n

1 = (
x

1)(
x

β
)(
x

β
2
)
· · ·
(
x

β
n

1
). This happens, for instance, if
β
is an element of order
p

1 in
Z
p
.
If
x
n

1 does not split in GF(
q
)[
x
], then to actually get our hands on a
primitive
n
th root of unity we need to construct an extension field of GF(
q
) that
is a splitting field for
x
n

1. More generally, we could use any extension GF(
q
m
)
in which
x
n

1 splits. Because we then have all roots of
x
n

1 within the field, it
follows that
x
n

1 must be a factor of the polynomial
x
q
m

x
, for which GF(
q
m
)
is a splitting field over GF(
q
).
Example. Over GF(2) =
Z
2
, consider GF(2
4
) =
Z
2
[
x
]
/ x
4
+
x
+ 1 . If we let
β
= [
x
], then
β
is a primitive 15th root of unity. A cyclic group of order 15 has
ϕ
(15) = 8 generators. The generators for
β
are
β
,
β
2
,
β
4
=
β
+1,
β
7
=
β
3
+
β
+1,
β
8
=
β
2
+ 1,
β
11
=
β
3
+
β
2
+
β
,
β
13
=
β
3
+
β
2
+ 1, and
β
14
=
β
3
+ 1.
The
minimal polynomial for
β
over
Z
2
is
x
4
+
x
+ 1, while the minimal polynomial
for
β
over GF(16) is just
x

β
.
Definition.
A cyclic code of length
n
over GF(
q
) is called a
BCH code of
designed distance
δ
if its generator polynomial
g
(
x
)
∈
GF(
q
)[
x
] is the least
common multiple of the minimal polynomials of
β , β
+1
, . . . , β
+
δ

2
, where
β
is
a primitive
n
th root of unity.
Definition.
If
n
=
q

1 in the definition of a BCH code, then it is called an
RS
code of designed distance
δ
.
If
= 1 in the definition of a BCH code, then it is called a
narrow–sense
BCH code. If
n
=
q
m

1, then the code is called a
primitive
BCH code (since
this means that
β
is a primitive element of GF(
q
m
)).
1
This preview has intentionally blurred sections. Sign up to view the full version.
View Full Document
The construction of BCH codes
These codes are cyclic codes, so the construction involves finding an ideal
[
g
(
x
)]
in
F
[
x
]
/ x
n

1 , for some finite field
F
. Given
g
(
x
), we already know
how to find a generator matrix and a parity check matrix for the code. We now
outline how to construct a BCH code with designed distance
δ
.
1.
Choose a finite field GF(
q
) as the alphabet for the code.
Remember that GF(
q
) has characteristic
p
for some prime
p
, so
q
=
p
s
for
some positive integer
s
, and all polynomials will have coefficients from this field.
2.
Choose integers
n
and
m
for which
x
n

1 is a factor of
x
q
m

x
.
This is the end of the preview.
Sign up
to
access the rest of the document.
 Spring '11
 NA
 Coding theory, Error detection and correction, Berlin UBahn, β

Click to edit the document details