Introduction to Reed-Solomon Codes[1]
Yunghsiang S. Han
Department of Electrical Engineering,
National Taiwan University of Science and Technology
Taiwan
E-mail: [email protected]
Y. S. Han RS Codes 1
Reed-Solomon Codes Construction (1)
The rst construction of Reed-solomon (RS) codes is
simply to evaluate the information polynomials at all the
non-zero elements of nite eld GF(q
m
).
Let be a primitive element in GF(q
m
) and let
n = q
m
1.
Let u(x) = u
0
+ u
1
x + + u
k1
x
k1
be the information
polynomial, where u
i
GF(q
m
) for all 0 i k 1.
The encoding is dened by the mapping : u(x) v by
(v
0
, v
1
, . . . , v
n1
) = (u(1), u(), u(
2
), . . . , u(
n1
)).
The RS code of length n and dimensional k over GF(q
m
)
is the image under all polynomials in GF(q
m
)[x] of
Department of Electrical Engineering, National Taiwan University of Science and Technology
Y. S. Han RS Codes 2
degree less than or equal to k 1.
The minimum distance of an (n, k) RS code is
d
min
= n k + 1. It can be proved by follows.
Since u(x) has at most k 1 roots, there are at most
k 1 zero positions in each nonzero codeword. Hence,
d
min
n k + 1. By the Singleton bound,
d
min
n k + 1. So d
min
= n k + 1.
Department of Electrical Engineering, National Taiwan University of Science and Technology
Y. S. Han RS Codes 3
Reed-Solomon Codes Construction (2)
The RS codes can be constructed by nding their
generator polynomials.
In GF(q
m
), the minimum polynomial for any element
i
is simply (x
i
).
Let g(x) = (x
b
)(x
b+1
) (x
b+2t1
) be the
generator polynomial for the RS code. Since the degree
of g(x) is exactly equal to 2t, by the BCH bound,
n = q
m
1, n k = 2t, and d
min
n k + 1.
Again, by the Singleton bound, d
min
= n k + 1.
Considering GF(8) with the primitive polynomial
Department of Electrical Engineering, National Taiwan University of Science and Technology
Y. S. Han RS Codes 4
x
3
+ x + 1. Let be a root of x
3
+ x + 1. Then
g(x) = (x)(x
2
)(x
3
)(x
4
) = x
4
+
3
x
3
+x
2
+x+
3
will generate a (7, 3) RS code with d
min
= 2 2 + 1 = 5.
The number of codewords of this code is 8
3
= 512.
Department of Electrical Engineering, National Taiwan University of Science and Technology
Y. S. Han RS Codes 5
Encoding Reed-Solomon Codes
RS codes can be encoded just as any other cyclic code.
The systematic encoding process is
v(x) = u(x)x
nk
[
u(x)x
nk
mod g(x)
]
.
Typically, the code is over GF(2
m
) for some m. The
information symbols u
i
can be formed by grabbing m bits
of data, then interpreting these as the vector
representation of the GF(2
m
) elements.
Department of Electrical Engineering, National Taiwan University of Science and Technology
Y. S. Han RS Codes 6
Weight Distributions for RS Codes
A code is called maximum distance separable (MDS) code
when its d
min
is equal to n k + 1. A family of
well-known MDS nonbinary codes is Reed-Solomon codes.
The dual code of any (n, k) MDS code C is also an
(n, n k) MDS code with d
min
= k + 1.
It can be proved as follows: We need to prove that the
(n, n k) dual code C
, which is generated by the
parity-check matrix H of C, has d
min
= k + 1. Let
c C
have weight w, 0 < w k. Since w k, there are
at least n k coordinates of c are zero. Let H
s
be an
(n k) (n k) submatrix formed by any collection of
n k columns of H in the above coordinates. Since the
Department of Electrical Engineering, National Taiwan University of Science and Technology
Y. S. Han RS Codes 7
row rank of H
s
is less than n k and consequently the
column rank is also less than n k. Therefore, we have
found n k columns of H are linear dependent which
contradicts to the facts that d
min
of C is n k + 1 and
then any combination of n k columns of H is linear
independent.
Any combination of k symbols of codewords in an MDS
code may be used as information symbols in a systematic
representation.
It can be proved as follows: Let G be the k n generator
matrix of an MDS code C. Then G is the parity check
matrix for C
. Since C
has minimum distance k + 1,
any combination of k columns of G must be linearly
independent . Thus any k k submatrix of G must be
Department of Electrical Engineering, National Taiwan University of Science and Technology
Y. S. Han RS Codes 8
nonsingular. So, by row reduction on G, any k k
submatrix can be reduced to the k k identity matrix.
The number of codewords in a q-ary (n, k) MDS code C
of weight d
min
= n k + 1 is
A
nk+1
= (q1)
(
n
n k + 1
)
.
It can be proved as follows: Select an arbitrary set of k
coordinates as information positions for an information u
of weight 1. The systemic encoding for these coordinates
thus has k 1 zeros in it. Since the minimum distance of
the code is n k + 1, all the n k parity check symbols
must be nonzero. Since there are
(
n
k1
)
=
(
n
nk+1
)
Department of Electrical Engineering, National Taiwan University of Science and Technology
Y. S. Han RS Codes 9
dierent ways of selecting the k 1 zero coordinates and
q 1 ways of selecting the nonzero information symbols,
A
nk+1
= (q 1)
(
n
n k + 1
)
.
The number of codewords of weight j in a q-qry (n, k)
MDS code is
A
j
=
(
n
j
)
(q 1)
jd
min
i=0
(1)
i
(
j 1
i
)
q
jd
min
i
.
Department of Electrical Engineering, National Taiwan University of Science and Technology
Y. S. Han RS Codes 10
References
[1] T.K. Moon, Error Correction Coding: Mathematical
Methods and Algorithms, Hoboken, NJ: John Wiley &
Sons, Inc., 2005.
Department of Electrical Engineering, National Taiwan University of Science and Technology