Gretchen Koch
Advisor: Dr. Maegan Bos
SLU Festival of Science 2001 Oral Presentation
Coding Theory
Description of Project:
Coding theory is the field of mathematics that describes
how to retrieve a message transmitted through a channel. In particular,
it emphasizes how to design a code so that one can detect and correct errors
created by noise in the channel. Noise is any disturbance that distorts
the message being sent. Additionally, coding theory has practical
applications. For example, the Pathfinder that was sent to Mars transmitted
digital images back to Earth. Each image was broken down into a grid
of pixels, and each pixel color was encoded as strings of zeroes and ones.
Other applications include ensuring telephone conversations do not have
interference and making sure that scratches on compact discs do not distort
the information on the CD.
There are several assumptions we will make in coding
theory. First, the codes are binary codes; they are composed of zeroes
and ones known as bits. Another main assumption is that the probability
that a bit is sent correctly is greater than the probability that it is
sent incorrectly. Thus, although this assumption allows errors to
be made, it makes it possible to detect and correct those errors.
A third assumption is that every channel used is a binary symmetric channel;
thus, the chances that a certain bit is received is independent of whether
that bit is a zero or a one. Another important idea in coding theory
is that the code is a block code. Block codes consist of several
codewords made up of the same number of bits; so, codewords are all of
the same length. Finally, there is an assumption made when one corrects
errors. If one has the set of codewords, and the word received is
not in that set, then one decodes the word received to the “closest match”
among the codewords. There are several ways of doing this.
Finding the error pattern of the code is one way while using an algorithm
such as maximum likelihood decoding is a method that works better for larger
codes. Each different code has an associated method of detecting
and correcting errors.
There are different types of codes in coding theory.
One category of codes is linear codes. One manipulates these codes
via the theorems and methods of linear algebra. Two other codes worth
noting are Hamming codes and Golay codes. Hamming codes are designed
to correct any single error, while Golay codes corrects three or fewer
errors. The Golay code was used to encode pictures from Jupiter and
Saturn.
For my oral presentation, I will discuss the basics
of coding theory as well as several codes and their implementation.
I will work through an example of a linear code that covers these basic
principles of coding theory.