Document Sample
kim Powered By Docstoc
					                                                                                           Kim Grunwald
                                                                                           April 27, 2005
                                             Coding Theory

         Coding theory is a practical application of abstract algebra which relies heavily on

one’s understanding of finite fields, group theory, and number theory. After learning

algorithms concerning prime numbers, group generators, polynomial rings, and

permutations, it is only fitting to discuss these in terms of relevance to real-world


         Cyclic codes, generated using shift registers, were among the first codes used

practically. Observing the algebraic structure of cyclic codes, it was realized that abstract

algebra was a valuable tool in code design. To find the generating polynomial of a cyclic

code choose a monic polynomial g(x), which is an element in F[x] where F is a field, that

divides xn-1. For each polynomial p(x) which is an element of F[x], compute

p(x)g(x)(modxn-1). Denote the answer by c0+c1x+…+cn-1xn-1 where c= (c0, c1,…, cn-1) is

a “codeword” in C. Hence, the linear code C of length n is a cyclic code if it is invariant

under a cyclic shift, namely, c = (c0, c1, . . . , cn−1) is an element of C if and only if ˜c =

(cn−1, c0, c1 . . . , cn−2) is an element of C (

Adding a parity check bit to an information string helps detect errors in the string.

Depending upon the parity, even or odd, of the information string, one can tell if an error

has occurred in the encoding or transmission. The binary parity check code is also cyclic.

         Some examples of cyclic codes include the 0-code, Fn, and repetition codes. Let’s

look at the following example from : let the

polynomial g(x)=(x-2)(x-4)=x2+4x+3 be an element of F5[x] and divide x4-1 in F5[x].

Let C be the cyclic code of length 4 generated by g(x) with the check polynomial
h(x)=(x4-1)/g(x). Thus, c=(1, 4, 0, 2) is the codeword satisfying the equation

(1+4x+2x3)h(x)=0. Note that (1+4x+2x3) = (2+2x)g(x), so c is a codeword as a result of

the constructive definition of a cyclic code.

        Coding theory deals with the design of error-correcting codes for the reliable

transmission of information across noisy channels (

Coding is a very important example of mathematics that is used in practical applications

such as decoding music onto compact discs and encoding pictures from satellites into

binary strings. In addition, efficient communication which is enhanced by coding and

whose structure mirrors mathematical models is essential to all aspects of present day

society. Thus, a firm understanding of the concepts of abstract algebra, especially finite

fields, allows one to grasp the importance of coding and its relationship to a variety of

real world situations.

Shared By: