Reliable Communication: Basics of Error Control Coding
Reliable Communication: Basics of Error Control Coding
Reliable Communication: Basics of Error Control Coding
M R Abidi
Department of Electronics Engg.
In recent years people all over the world have been fascinated by the pictures and
scientific data being relayed from farthest planets. The power of the radio transmitters on
the space crafts used is only a few watts, which is comparable to the strength of a dim
electric light bulb. These low power signals are being sent through communication
channels that suffer from noise, interference or distortion due to hardware imperfections,
or physical limitations. How can this information be reliably transmitted across hundreds
of millions of miles without being completely swamped by noise? Many disciplines, such
as Mathematics, Computing and Electronics Engineering, come together to recover these
signals successfully. This could be possible by the use of error control coding. The
combined efforts of the researchers of the fields mentioned led to discover the area of
Error control coding.
Error control coding is ubiquitous in modern information based society. Every compact
disk, CD-ROM or DVD employs codes to protect data embedded in them. Every hard
disk drive employs error correction coding. Every phone call made over a digital cell
phone or every packet transmitted over the Internet uses some kind of error control
coding.
Error control coding is the branch of mathematics concerned with transmitting data
across noisy channels reliably or retrieving original data from a storage medium. Coding
theory is about making messages easy to read: don't confuse it with cryptography which
is the art of making messages hard to read!
The field of error control coding came only after the work of C E Shannon (1916 2001).
Prior to Shannon, it was believed that the channel noise prevented error-free
communication and to achieve higher reliability it was necessary to increase transmit
power. Shannon disproved this, and showed that every channel has a capacity (in bits per
second), and as long as the transmission rate is less than channel capacity, it is possible to
design a reliable (in the sense of required bit error rate) communication system using
error control coding. After the publication of Shannons paper, researchers tried to find
codes that would produce a very small probability of error. In the beginning the progress
was slow but in 1960s pace of research increased tremendously. The great advances in all
types of electronic communication and storage systems over the past few years are, in
part, due to the continuing developments in Coding Theory. The major application areas
of coding are: space and satellite communications, data transmission, data storage, digital
audio/video transmission, mobile communications and file transfer. Thus Coding Theory
is right at the cutting edge of technology.
otherwise 1 for the decoded bit. Let the channel has a bit error rate of 10 -2 (on average 1 bit out of
100 bits is inverted). It can be shown that using (5, 1) repetition code the bit error rate reduces to
9.910-6. It can be observed that even the simple repetition code offers improvement in error
performance, but at the price of a large amount of overhead burden i.e. 400 %.
In the last 50 years, a lot of good (fewer redundant bits and better error
detecting/correcting capability) codes have been developed, e.g, Hamming code,
BCH codes, Reed-Solomon codes, Reed-Muller codes, Golay codes and Cyclic
Redundancy Check codes etc.
CONVOLUTIONAL CODES
In convolutional encoders, the incoming bit stream is applied to a K-bit long shift
register. For each shift of the register, t new bits are inserted and n code bits are
delivered. The most popular method of decoding the convolutional codes is
Viterbi algorithm.
It is to be pointed out that recently, the difference between block and
convolutional codes has become less and less well defined.
INTERLEAVING
In wireless applications, the errors normally occur in the form of bursts.
Interleaving is one of the most popular ways of correcting bursts errors. A block
interleaver is loaded row by row with M code words, obtained by using any block
encoder, each of length n bits. These code words are transmitted column-wise. At
the receiver, the code words are de interleaved before decoding. There may not be
more than one bit error in any one codeword for a burst of length L bits or less. A
decoder designed for the block code used can easily correct this single error.
CONCATENATION
When two codes are used in series, the combination is called a concatenated code.
There are instances when a single code is unable to correct all types of errors
introduce during transmission, in such cases concatenated codes may be useful.
Recent Advances
In the past decade, a significant progress has been made in the field of error control
coding. The invention of turbo codes in 1993 revolutionized the area. These codes
provide a performance close to theoretical limit obtained by Shannon. In recent years few
more new codes that give performance comparable to turbo codes (or even better) are
also discovered e.g. low density parity check codes and rateless codes etc. The distinct
features of these codes have enabled them to be widely proposed or adopted in existing
wireless standards. Further the discovery of space time coding significantly increased the
capacity of wireless systems and these codes are widely applied for broadband
communication systems.