0% found this document useful (0 votes)
36 views5 pages

RS 1960

Original paper by Reed & Solomon describing their now famous principles for error correcting coding

Uploaded by

psnystrom
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)
36 views5 pages

RS 1960

Original paper by Reed & Solomon describing their now famous principles for error correcting coding

Uploaded by

psnystrom
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/ 5

Downloaded 12/16/14 to 130.126.108.90. Redistribution subject to SIAM license or copyright; see http://www.siam.org/journals/ojsa.

php

J Soc. INDUST. AL. MATH.


Vol. 8, No. 2, June, 1960
Printed in U.S.A.

POLYNOMIAL CODES OVER CERTAIN FINITE FIELDS*


I. S. REED AND G. SOLOMON;
Introduction. A code is a mapping from a vector space of dimension m
over a finite field K (denoted by V,(K)) into a vector space of higher
dimension n > m over the same field (V(K)). K is usually taken to be
the field of two elements Z., in which ease it is a mapping of m-tuples of
binary digits (bits) into n-tuples of binary digits. If one transmits n bits,
the additional n m bits are "redundant" and allow one to recover the
original message in the event that noise corrupts the signal during trans-
mission and causes some bits ()f the code to be in error. A multiple-error-
correcting code of order s consists of a code which maps m-tuples of zeros
and ones into n-tuples of zeros and ones, where ra and n both depend on s,
and a decoding procedure which recovers the message completely, assuming
no more than s errors occur during transmission in the vector of n bits.
The Hamming code [1] is an example of a systematic one bit error-correct-
ing code. We present here a new class of redundant codes along with a
decoding procedure.
Let K be a field of degree n over the field of two elements Z. K contains
2 elements. Its multiplieative group is eyelie and is generated by powers

-
of c where is the root of a suitable irreducible polynomial over Z.. We
discuss here a code E which maps m-tuples of K into 2-tuplcs of K.
Consider the polynomial P(x) of degree m

.
1
P(x) ao nt- alX -t- am--1 xm--1,
where a K and m < 2 Code E is the mapping of the m-tuple (a0, a,
a._) into the 2-tuple (P(0), P(a), P(a:), P(1 ); this m-tuple
might be some encoded message and the corresponding 2n-tuple is to be
transmitted. This mapping of m symbols into 2 symbols will be shown to
be (2 m)/2 or (2 m 1)/2 symbol correcting, depending on
whether m is even or odd.
A natural correspondence is established between the field elements of
K and certain binary sequences of length n. Under this correspondence,
code E may be regarded as a mapping of binary sequences of mn bits into
binary sequences of n2 bits. Thus code E can be interpreted to be a sys-
tematic multiple-error-correcting code of binary sequences.
* Received by the editors January 21, 1959 and in revised form August 26, 1959.
The work reported here was performed at Lincoln Laboratory, a technical
center operated by Massachusetts Institute of Technology with the joint support
of the Army, Navy and Air Force, under contract.
: Staff members, Lincoln Laboratory, Massachusetts Institute of Technology,
Lexington 73, Massachusetts.
300
Downloaded 12/16/14 to 130.126.108.90. Redistribution subject to SIAM license or copyright; see http://www.siam.org/journals/ojsa.php

POLYNOMIAL CODES OVER CERTAIN FINITE FIELDS 301

One should note that the binary representation of code E allows in


general for the correction of more than (2 m 1)/2 bits since each
symbol of the code is represented by n consecutive bits. Hence when the
binary errors are strongly correlated or occur in "bursts," this code may be
more desirable than other more "efficient" multiple-error-correction codes.
Finally, it should be mentioned that code E may be generalized to poly-
nomials of the ruth degree in several variables over K. Evidently, for K

Z
The code
with basis
polynomial
.
Z2, such codes reduce to Reed-Muller codes [2].
Consider the tield K
1, 0/, 0/,
over Z. The
,0/
n--I

nonzero
where
Z2(0/). This is the vector space over
0/is
elements
the root of a suitable irreducible
of K form a multiplicative
cyclic group. Thus we may represent the elements of K in the order

where is a generator of the multiplicative cyclic group.


Let P(x) ao zr-
ax + ax -t- + a,-lX n-. The code E sends
ao al am--2 am-l.)

-
(.p(0), )(),
Upon receiving the message (P (0), P(),
P(f-), P(1) ).
P (1)), we may decode
the message by solving simultaneously any m of the 2 equations,

We note that any m of these equations are linearly independent since


the coefficient determinant for, say, P(0/), t)(o.), is
i 0/1 0/1 0/1
m--1
I 0/2 0/2 0/2

m--1
I 0/m 0/m 0/m

which is a Vandermonde determinant whose value is


II;< ( + -;) e 0.
Thus in the ease of no errors in the received values of P(. ), we obtain

() determinations of (a0, ..., a_l).


Downloaded 12/16/14 to 130.126.108.90. Redistribution subject to SIAM license or copyright; see http://www.siam.org/journals/ojsa.php

302 I. S. REED AND G. SOLOMON

Any errors occurring in the values of P(. will immediately disturb the
unanimity of the values obtained for the an’s. Indeed, for sufficiently small
numbers of errors, by looking at the largest number of determinations for
any (a0, am-l) (the plurality of votes received by any m-tuple) we
may detect the order of error made and correct it. We prove the following
statement.

for
Lemma" Fr s errrs we can get at mst
wrong m-tuple.
(s-t-m-i)
Proof. We look upon the simultaneous solution of m equations as the

--
intersection of m hyperplanes. The linear independence guarantees that
they meet at only one point. To obtain more than one solution for any m-
tuple, we would need more than m hyperplanes meeting at that point. For
n wrong m-tuple, we can have at most s

where the remaining m


m 1 hyperplanes intersecting
at a single wrong point, where s is the number of mistaken equations and
1 equations are chosen from the 2 s correct
ones. Any more correct hyperplanes would determine the correct solution,
i.e., different point of intersection from the assumed wrong one. There-
(s
fre’ there are at mst
Note (2n s)
that we get
m
m 1) determinatins fr any wrng Value"

determinations f()r the co’rect, one, and a total

of()--(2 s)wrong determinations.


Thus, by examining the vote received by the individual candidates
(a0, am-l), we may determine the correct message and the number s.
Note that this is valid only when

(2n--s)> (s-m- m
or
2--s>sZrm-- 1
or

8
2--m+l
2

s (2
-
The code will thus correct errors of order less than (2
m odd, we get corrections
m+ ].)/2.
up to
Formeven,
and not detect any further errors.
s
we
(2
can
m
correct
1)/2,
up to s
m
and
+
(2
-
1)/2. For
detection at
m)/2
Downloaded 12/16/14 to 130.126.108.90. Redistribution subject to SIAM license or copyright; see http://www.siam.org/journals/ojsa.php

POLYNOMIAL CODES OVER CERTAIN FINITE FIELDS 303

Translation of K into a binary alphabet. We represent the elements of

.
K by n-tuples of zeros and ones, Vn(Z.), and define a multiplication on
V,(Z.) corresponding to the multiplication of K. We again note that the
multiplicative group of K is generated by powers of Let us consider an

- -
irreducible polynomial f which generates K over Z2. Suppose f(x)
x -t- clx n-1 -t- Cn--lX C, O, Ci Z.. Following N. Zierler [3],
we associate the following finite difference equation
a,+k Clan-l+l + ca,_+k + c,ao+ 0
where ai Z.
Thus for any fixed f (giving rise to (cl, Cn) and arbitrary (a0,
a,,_l)(ai 0 for i 0, 1, n 1) we have a sequence
ao, al an-r an an+l an+2
where the values of a for i => n are determined by the bove difference
equation. Zierler has shown that for suitable irreducible f, the sequence
(a) is periodic of period 2 1, i.e., a_ a0, a+_ a and the
2 1 sequences of length n obtained by translating the n-tuple (a0, a,
a_) along the derived sequence are all distinct.
Thus if we define
(ao ,..., an-l)
fl2 (a a,)

m= (a,,_l an+m-2)
we have a multiplication table for the n-tuples. In other words, multiplica-
tion of the elements is simply translation long this periodic sequence
generated by f. Note too that the elements satisfy the algebraic equations
satisfied by corresponding elements in K. We have thus defined multiplica-
tion on Vn(Z.) to make this correspond with the multiplication on K.
We remark that the initial choice of
and there re 2"
(a0,

. a_) is arbitrary
1 such representations. There re of course many other
ways of associating vectors with powers of The referee has suggested
another natural algebraic association of Vn (Ze) with K.
We identify K with the ring of polynomials in x with coefficients in Z,
(i.e., Z[x]) modulo the prime ideal generated by the irreducible f(x). Let
(a0, al, a_) be a nonzero vector of V(Z.). We associate with
-1
/ the polynomial (x) ao -t- ax -t- a2x an-iX rood f(x). Consider
(x) mod f(x). This again is a polynomial of formal degree (n 1). Let
be the vector whose components are the n coefficients of this (n 1)-
degree polynomial. This establishes a one-one correspondence of V(Z)
Downloaded 12/16/14 to 130.126.108.90. Redistribution subject to SIAM license or copyright; see http://www.siam.org/journals/ojsa.php

304 I. S. REED AND G. SOLOMON

with K(if (0, 0, 0) is added to correspond to zero in K). While this

-
may be a more natural choice, we prefer our first representation as the
more suitable for computability.
Example. Let n 3, m 3. K
] O. P(x) bo + bix b2x2.
CodeE: (b0,b1,52)- (P(0),P(a),P(a2), ,P(6),P(1)).
Binary translation of this code. To f(x)
difference equation
x + x .-- we associate the

a,. a + a,_a (forn 3, 4, 5, ).


Choose ao ], 1, a 0. Then
lad
al

(, , o, o, , o, , ._, , o, o, , o, :1, ).
{a,l has period 7, i.e., a7 ao a8

(o, o, o) o
a= (1, 1, O)

=(1, 0,0)
(o, o, .)
(o, o) ,
(1,0, 1) a=
, (0, 1, 1)

The message (0, a, a a)


translates into (via P(x)
(ooo.1.1ooo)
l=a =(1, 1 1)

cx -+- aax2) -
(P(0), P(a), p(2),..., p(oe6), P(1))

-+( 000, 001, 110, 1. 1. 0, 111, 000, 001, 111 ).


This code is error correcting up to (2 3 1)/2 2 symbols.
REFERENCES
1. R. W. HAMNG, Error detecting and error correcting codes, Bell System Tech. J.,
26 (1950), pp. 147-160.
2. I. S. REND, A class of multiple-error-correcting codes and the decoding scheme,
Trans. I.R.E., Prof. Group on Information Theory No. 4 (1954), po. 38-49.
3. N. ZEmma, Linear recurring sequences, this Journal, 7 (1959), pp. 31-48.

You might also like