
A main goal of coding theory is the design of coding methods that achieve error control: detect and correct errors in received and stored data.
Coding Theory is the study of methods for efficient and accurate transmission or storage of information. It started out as a mathematical and engineering subject with the paper “A Mathematical Theory of Communication” by Claude Shannon in 1948.
Consider the next image which represents a general information transmission system:
The information that is transmitted or stored is called the message. A channel is the physical medium through which the information is transmitted or where it is stored. Telephone lines and the atmosphere are examples of channels. An encoder adds redundancy to the message by constructing codewords so that, when received, the decoder can detect and correct errors. The code is the set of all codewords.
Most importantly, Coding Theory deals with the problem of detecting and correcting transmission errors caused by disturbances on the channel called noise.
Noise may be caused by sunspots, lighting, folds in magnetic tape, meteor showers, competing telephone messages, random radio disturbance, or many other things.
Example: Suppose we want to send the message “1”. We can encode this by repeating it, say 3 times, so the codeword would be “111”. Now suppose the codeword is sent through a channel and “101” was received. The decoder knows that the codeword has the message repeated 3 times and decides on the message based on the received symbol that occurred most frequently.
The most common applications for Coding Theory include:
- transmission of data (telephone lines, internet ,networks)
- wireless communication
- communication with deep space exploration crafts (Mariner, Voyager, etc. – the most important early application)
- storing/retrieving information in computer memory
- storing/retrieving audio/video information (CDs, DVDs and Blu-Ray disks)