See Coding theory
The minimal distance between two code words gives an upper estimate of the number of letters in a code word misrepresented by noisy channel that can still be safely corrected at the receiving end. Thus, if the channel is not very noisy, a small d ( C ) (minimal Hamming distance between two codewords) might suffice, otherwise larger values of d ( C ) are needed. When d ( C ) is large, this slows down the information transmission, because the source is not allowed to use all q n words for encoding, but still must transmit a sequence n -letter words
Forward error correction: forward error correction (FEC) or channel coding[1] is a technique used for controlling errors in data transmission over unreliable or noisy communication channels, where the information flows only one way (see here).. The central idea is the sender encodes the message in a redundant way by using an error-correcting code (ECC). The American mathematician Richard Hamming pioneered this field in the 1940s and invented the first error-correcting code in 1950: the Hamming (7,4) code.[2]
Two way error correction. Things like ARQ (automatic repeat request).
Main types of FEC codes:
See http://pfister.ee.duke.edu/thesis/chap1.pdf, and other chapters.
(IC 1.3) Applications of Error-correcting codes