ARQ SYSTEM (AUTOMATIC REPEAT REQUEST)
As discussed earlier, there earlier two basic systems of error detection and correction. The first on being the forward error correction (FEC) system. The second one is the automatic repeat request (ARQ) system. In an ARQ system of error control, when an error is detected, a request is made for the retransmission of that signal. Therefore, a feedback channel is required for sending the request for retransmission. The ARQ systems differ from the FEC systems in three important respects. They are as under :
(i) In ARQ system less number of check bits (parity bits) are required to be sent. This increases the (k/n) ratio for an (n, k) block code if transmitted using the ARQ system.
(ii) A return transmission path and additional hardware in order to implement repeat transmission of codewords is required.
(iii) The bit rate of forward transmission must make allowance for the backward repeat transmission.
10.4.1. Basic ARQ System
The block diagram of a basic ARQ system is shown in figure 10.5.
FIGURE 10.5 Block diagram of a basic ARQ system.
The encoder produces codewords for each message signal at its input. Each codeword at the encoder output is stored temporarily and transmitted over the forward transmission channel. At the destination, a decoder decodes the code words and look for errors. The decoder will output a positive acknowledgment (ACK) if no errors are detected and it will output a negative acknowledgment (NAK) if errors are detected. On receiving a negative acknowledgment (NAK) signal via the return transmission path, the controller retransmits the appropriate word from the words stored by the input buffer. A particular word may be retransmitted only once or it may be retransmitted twice or more number of times. The output controller and buffer on the receiver side assemble the output bit stream from the code words accepted by the decoder.
Probability of Error on the Return Path
The bit rate of the return transmission which involves the return transmission of ACK/NAK signal is low as compared to the bit rate of the forward transmission. Therefore, the probability of error of the return transmission is quite small and hence it can be neglected.
Types of ARQ System
The three types of ARQ systems are as under :
(i) Stop-and-wait ARQ system
(ii) Go back N ARQ, and
(iii) Selective repeat ARQ.
10.5 CLASSIFICATION OF CODES
Figure 10.6 shows that an error control code falls under one of the two basic types as under:
10.5.1. Block Codes
Figure 10.6 illustrates the generation of block codes. To generate an (n, k) block code, the channel encoder accepts the information in successive k bit blocks. At the end of each such block (of k message bits), it adds (n – k) parity bits as shown in figure 10.6. Since these bits do not consist of any information, therefore, they are known as redundant bits.
It is important to note that the (n – k) parity bits are related algebraically depicted to the k message bits. Therefore, an n-bit code word is produced as depicted in figure 10.6.
FIGURE 10.6 Generation of n-bit-block code.
The block codes do not need memory.
10.5.2. Convolutional Codes
In convolutional codes, the code words are generated by discrete-time convolution of the input sequence with the impulse response of the encoder. Convolution codes need memory for their generation.
The encoder of a convolutional code operates on the incoming message sequence using a sliding window equal to the duration of its own memory. Thus in convolutional code unlike a block code, the channel encoder accepts message bits as a continuous sequence and generates a continuous sequence of encoded bits at its output.
FIGURE 10.7 Convolutional codes.
The major difference between the block codes and convolution codes is that the convolutional codes require memory wheres the block codes do not require any memory. Both the types of codes are linear codes.
10.6 TRANSMISSION ERRORS : RANDOM AND BURST ERRORS
|DO YOU KNOW?|
|Sampling detection is optimal only if the received waveform is noise free.|
The transmission errors, basically, are of two types namely the random errors and burst errors. The errors that occurs in a purely random manner are known as random errors, whereas the errors which occur in the form of bunches and hence which the not independent are known as the burst errors. Codes like binary BCH codes (Bose, Chaudhari and Hocquenghem code) are useful in dealing with the random errors. Because of impulse noise, more than one corresponding data bits change their state simultaneously, The error introduced in the received word is called as burst error. The convolutional error correcting codes are not effective in correcting the burst errors. Therefore, special codes are developed for detecting and correcting the burst errors. The best known codes of this category are the Fire Codes. These codes are a subclass of cyclic codes and they are named after P. Fire who discovered them.
10.6.1. Interleaving : Definition
Interleaving is a technique used as an alternative technique for correcting the burst errors.
10.6.2. Concatenated Codes
According to Shannon’s theorem, if R < C, then it is possible to find a code such that the error probability is very small. In particular, Shannon showed that there exist certain block codes for which the error probability decreases with increase in the block length (n). These certain block codes are practical methods to obtain very long codes without increasing the decoder complexity.
10.7 POWER AND BANDLIMITED CHANNELS
10.7.1. Classical Error Control System
Figure 10.8 shows the classical error control system. It uses the conventional FEC system followed by a multilevel (M-ary) modulator. It can be Mary PSK or QAM.
Let the input data rate be b bits/sec. The FEC encoder converts this into a coded data which has a rate b/R where R is the information rate.
The M symbol modulator converts the encoder output into M possible symbol constellation. The symbol rate at the output of the modulator is rs = b/kR baud.
FIGURE 10.8 Classical error control
Hence, the minimum system bandwidth required to transmit this signal successfully is,
B = rs= (b/kR) Hz …(10.1)
Hence, the corresponding bandwidth efficiency is given by
= kR = R log2 M bits/Hz.
The use of FEC reduces the bandwidth efficiency of the system by a factor R.
10.7.2. Types of Channels
There are two types of channels namely :
(i) Bandlimited channel
(ii) Power limited channel
10.7.3. Bandlimited Channels
These channels have a fixed finite bandwidth. Therefore, signal which requires larger bandwidth cannot be transmitted over such channels without distorting them. The examples of bandlimited channels are telephone lines, parallel lines etc. When we add FEC to the bandlimited channels, then due to the additional parity bits, the data rate is reduced.
10.7.4. Power Limited Channels
The power limited channels have a limited power associated with them but the have a large bandwidth. The examples of such channel is a satellite channel. Therefore, it is possible to accommodate the FEC inspite of increased data rate associated with it.
10.8 DISCRETE MEMORYLESS CHANNEL (DMC)
We have already discussed the meaning and significance of discrete memoryless channel (DMC) in chapter 09.