difference between forward error correction and retransmission and code example

**What are the types of error control methods? **

**Ans. **Generally, the error control methods are of two types:

(i) Error detection with retransmission , and

(ii) Forward acting error correction.

In case of first method, when an error is detected, the retransmission request (ARQ) is sent back to the transmitter. In the second method, the errors are detected and corrected by proper coding techniques at the receiver end. Whenever a single source transmits data to a number of receivers, the forward acting error correction is used. This is due to the fact that the retransmission is impossible in these cases.

**Q.2. Define the following terms:**

** (i) Code word (ii) Block length **

** (iii) Code rate (iv) Channel data rate **

** (v) Code vectors (vi) Hamming distance **

** (vii) Minimum distance**

**Ans. (i) Codeword:** The encoded block of ‘n’ bits is known as a **code word**. It consists of message bits and redundant bits.

**(ii) Block Length: **The number of bits ‘n’ after coding is known as the block length of the code.

**(iii) Code Rate:** The ratio of message bits (*k*) and the encoder output bits (*n*) is known as **code rate.** Usually, code rate is denoted by ‘r’ i.e.,

r =

we find that 0 < r < 1.

** (iv) Channel Data Rate:** Channel data rate is the bit rate at the output of encoder. If the bit rate at the input of encoder is R* _{s}*, then channel data rate will be,

Channel data rate (R

_{0}) = Rs

**(v) Code Vectors:**An

*‘n’*bit code word can be visualized in an n-dimensional space as a vector whose elements or coordinates are the bits in the code word. Let us visualize the 3-bit code words as it is quite simpler.

**(vi) Hamming Distance:**The Hamming distance between the two code vectors is equal to the number of elements in which they differ.

As an example, let X = 101 and Y = 110. Since the two code vectors differ in second and third bits, therefore, Hamming distance between X and Y is ‘two’. Hamming distance is denoted by d(X,Y) or simply ‘

*d*‘. i.e,

d(X,Y) = d = 2

Hence, it may be observed that the Hamming distance between (100) and (011) is maximum, i.e. 3. This has been indicated by the vector diagram also.

**(vii) Minimum Distance (d**Minimum distance (d

_{min}):_{min}) is the smallest Hamming distance between the valid code vectors.

**Q.3. What are block codes? Explain.**

**Ans.**For the block of

*k*message bits, (

*n – k*) parity bits or check bits are added. This means that the total bits at the output of channel encoder are ‘

*n*‘. Such types of codes are known as (

*n, k*) block codes.

**Q.4. What are Hamming codes? Write the properties of Hamming codes.**

**Ans.**Hamming codes are defined as the (

*n, k*) linear block codes.

These codes satisfy the following conditions:

(i) Number of check bits q

__>__3 (ii) Block length n = 2

^{q}– 1

(iii) Number of message bits k = n – q (iv) Minimum distance d

_{min}= 3

We know that the code rate is expressed as,

r = (for Hamming code

*k = n – q*)

or r = 1 –

Now, substituting the value of n = 2

^{q}– 1 in last equation, we get

r = 1 –

From this equation, we may observe that r 1 if q >>1.

**Q.5. Explain about Error Detection and Correction Capabilities of Hamming Codes.**

**Ans.**Because the minimum distance (d

_{min}) of Hamming code is 3, it can be used to detect double errors or 0 correct single errors. This can also be obtained form the generalized Table 16.2.

For deteting double (2) errors Þ d

_{min}

__>__2 + 1 i.e. d

_{min}

__>__3

and for correcting upto one (1) errors Þ d

_{min}

__>__2(1) + 1 i.e. d

_{min}> 3

**Q.6. What are Repeated Codes? Explain.**

**Ans.**In this code, only a single message bit is transmitted and q = 2t bit are parity bits. Hence k = 1

Then the transmitted bits are,

n = 2t + 1

This code is known as

**repeated code**became many redundant check bits are transmitted along with a single message bit. This code can correct

*‘t’*errors per block because this code uses many redundant check bits, therefore it requires a larger bandwidth.

**Q.7. What is Hadamard Code ? Explain.**

The hadamard code is derived form a hadamard matrix. The hadamard matrix is the

*n*x

*n*square matrix. Rows of this hadamard matrix represent code vectors. Thus, a

*n*x

*n*hadamard matrix, represents ‘

*n*‘ code vectors of ‘

*n*‘ bits each.

If the block of message vector contains `

*k*‘ bits, then we have

n = 2k

This equation establishes the relationship between number of bits in the code vector and number of bits in the message vector. We know that number of check bits (q) in (n, k) block code are

q = n – k

Therefore q = 2

*k*–

*k*

This equation shows that as number of bits in the message block (

*k*) increases, the parity bits become very large. This reduces the code rate. The code rate is expressed as,

r =

This shows that with increase in ‘

*k*‘ , the code rate will becomes very small.

**Q.8. Write the Advantages and Disadvantages of Cyclic Codes?**

**Ans. Advantages:**

- The error correcting and decoding methods of cyclic codes are simpler and easy to implement. These methods eliminate the storage needed for lookup table decoding. Therefore, the codes becomes powerful and efficient.
- The encoders and decoders for cyclic codes are simpler compared to noncyclic codes.
- Cyclic codes also detect error burst that span many successive bits.

Inspite of these advantages cyclic codes also have some advantages.

**Disadvantage:**

- The error detection in cyclic codes is simpler but error correction is little complicated since the combinational logic circuits in error detector are complex.

**Q.9. Explain about BCH Codes (Bose – Chaudhri-Hocquenghem Codes) **

**Ans. **BCH codes are most extensive and powerful error correcting cyclic codes. The decoding of BCH codes is comparatively simpler. For any positive integer m and t (where t < 2^{m-1}) there exists a BCH code with following parameters:

Block length: n = 2^{m -1}

Number of parity check bits: n – k __<__ *mt*

Minimum distance: d_{min} __>__ 2*t* + 1

The decoding schemes of BCH codes can be implemented on digital computer. Because of software implementation of decoding schemes they are quite flexible compared to hardware implementation of other schemes.

**QUESTIONS**

- Which type of error is introduced in data bits during transmission ?
- Define code efficiency.
- Explain role of minimum distance in error correction and detection.
- Which are the error detection methods ?
- Write rite the limitations of parity checking.
- Write are the advantages of checksum method
- Write the requirements of CRC ?
- Explain the need of error detection and correction.
- State the types of errors.
- What do you mean by the error detection methods ?
- Write the disadvantages off coding.
- What is ARQ ? Explain its types.
- What is FEC ? Explain.
- Give classification of codes.
- What do you mean by power limited and band limited channels ?
- When does the parity check fail to detect errors ?
- Explain the limitations of parity checking ?
- Explain the concept of checksum error detection.
- State the advantages of checksum method.
- Define minimum distance d
_{min}and explain its role in detecting and correcting errors. - Explain the principle and operation of encoder for Hamming code.
- What do you mean by syndrome decoding of linear block codes ?
- What is error vector (E) ? Explain.
- State and explain the properties of cyclic codes.
- Explain the format of code word polynomial.
- How can you obtain the generator polynomial for the cyclic code ?
- Explain the advantages of cyclic codes.
- Explain the disadvantages of cyclic codes.
- Write the syndrome calculator for systematic cyclic codes.
- Write RS codes and state its advantages.
- Write a note on BCH codes.
- Write the principle of convolutional codes.

33. Write the encoder for convolutional codes.