# ERROR CONTROL CONDING , Detection and Correction of Errors , Error detecting codes

By   December 24, 2019

ERROR CONTROL CONDING :
INTRODUCTION
When a digital signal is transmitted between two systems (such as computers) as shown in figure 10.1, the signal gets distorted because of the addition of noise to the transmitted signal.
diagram
FIGURE 10.1 Noise distorts the binary signal.

 DO YOU KNOW? Digital signals result in discrete, rather than continuous, changes in the modulated signal. The receiver examines the signal at specified times, and the state of the signal at each such time is called a symbol.

The noise can introduce an error in the binary train of bit travelling from one system to the other. This means that a 0 may change to 1 or a 1 may change to 0. These errors can become a serious problem to the accuracy and performance of the digital system. Therefore, it is essential to detect and correct the errors. In digital communication, errors are introduced during the transmission of data from the transmitter to receiver due to noise or some other reasons. The reliability of data transmission gets severely affected because of these errors. To improve the reliability of data transmission, the designer has to increase the signal power or reduce the noise spectral density N0 so as to maximize the ratio Eb/N0. But, in practice, there is a limitation on the maximum value of the ratio Eb/N0. We cannot increase the ratio beyond this limit. Hence, for a fixed value of Eb/N0, we have to use some kind of coding in order to improve the quality of the transmitted signal.
Another advantage of using coding is that we can reduce the required value of Eb/N0 for a fixed bit error rate. This, in turn, reduces the transmitted power and the size of antenna. Error control coding is a practical way to achieve a very low bit error rate (BER) after transmission over a noisy bandlimited channel. This is theoretically possible to achieve as stated in the Shannon’s channel theorem.
10.1.1. Detection and Correction of Errors
For the detection and correction of transmission errors, one or more than one extra bits are added to the data bits at the time of transmitting the signal. These extra bits are known as parity bits. These parity bits detect or sometimes correct the errors. In fact, the data bits alongwith the parity bits form a code word.
10.1.2. Classification of Codes
The codes are basically classified as under:

1. Error detecting codes.
2. Error correcting codes.

(i)         The error detecting codes are capable of only detecting the errors. They cannot correct the errors.
(ii)        The error correcting codes are capable or detecting as well as correcting the errors.

1. Error correction techniques.

10.1.3. Classification of Errors
The errors introduced in the transmitted data during their transmission may be categorized as under:
(i)         Content errors
(ii)        Flow integrity errors.
The content errors are nothing but errors in the contents of a message i.e., a 0 may be received as 1 or vice versa. Such errors are introduced due to noise added into the data signal during its transmission.
Flow integrity errors means missing blocks of data. It is possible that a data block may be lost in the network as it has been delivered to a wrong destination.
10.1.4. Error Detection Techniques
Some of the popular error detection techniques may be listed as under:
(i)         Parity checking
(ii)        Checksum error detection
(iii)       Cyclic redundancy check.
10.1.5. Error Correction Techniques
(i)         The error correction techniques are based on generation of code words at the transmitter.
(ii)        The coded words contain the data bits and check bits.
10.2     GENERATION AND DETECTION OF CODED SIGNALS
Error control for data integrity can be achieved by using a technique called Forward Error Correction (FEC). Figure 10.2 shows the model of a digital communication system using the FEC approach.
The discrete source generates information in the form of binary symbols. The channel encoder accepts these message bits and add redundancy (additional bits) according to a prescribed rule. We get the encoded data at the encoder output.
Important Point
The bit rate of this encoded data is higher than that of the source.
DIAGRAM
FIGURE 10.2 Illustration of generation and detection of coded signals.
The channel decoder takes the help of the additional bits (i.e., redundancy) to decide whether the transmitted signal is a 1 or a 0. Thus, the combined objective of channel encoder and decoder is to minimize the effect of channel noise.
10.2.1. Drawbacks of Coding Technique
Some of the drawbacks of the coding techniques may be listed as under:
(i)         A increased transmission bandwidth is required in order to transmit the encoded signal. This is because of the additional bits (i.e., redundancy) which is added by the encoder.
(ii)        By the use of coding technique, the communication system becomes quite complex.
10.2.2. Classification of Error-Correcting Codes

 DO YOU KNOW? The task facing the designer of a digital communication system is that of providing a cost-effective facility for transmitting information from one end of the system at a rate and a level of reliability and quality that are acceptable to a user at the other end.

There are many different error correcting codes. These code words can be classified into two categories as under:
(i)         Block codes and
(ii)        Convolutional codes
The major difference between these codes is that the block codes do not need memory whereas the convolutional codes do need memory.
Another way of classifying codes is:
(i)         Linear codes, and
(ii)        Non-linear codes.
NOTE       Linear codes have an important property that any two code words of a linear code can be added in modulo-2 adder to produce a third code word in the code. On the other hand, non-linear codes do not exhibit such a property. All the practically used codes are linear codes.
10.3     OVERVIEW OF ERROR CONTROL CODING TECHNIQUES
Figure 10.3 shows the overview of error control coding techniques.
diagram
FIGURE 10.3 Overview of error control coding techniques
10.3.1. Types of Error Control
In this chapter, let us discuss two completely different approaches for the error control. They are as under:
(i)         Automatic request for retransmission or (ARQ).
(ii)        Forward error correction (FEC).
(i)         Automatic Repeat Request (ARQ) Technique
In an ARQ technique, the receiver can request for the retransmission of the complete or a part of message if it finds sonic error in the received message. This requires an additional channel called feedback channel to send the receiver’s request for retransmission.
(ii)        The FEC Technique
In an FEC technique, there is no such feedback path and these is no request is made for retransmission. Most of the coding techniques described in this chapter are related to FEC.
10.3.2. Forward Error Correction (FEC) Technique for Error Control
Error control to ensure the data integrity can be exercised by using the forward error correction technique (FEC). A digital modulation system which uses this technique is shown in figure 10.4. In FEC technique the discrete source generates information in the form of binary symbols. The channel ,  encoder accepts these message bits and will add redundancy according to the prescribed rule. Thus, the encoded data is produced at a higher bit rate. The channel decoder uses the redundancy to decide which message bit was actually transmitted at the transmitter end.
diagram
FIGURE 10.4 A digital communication system using FEC