Difference between Linear Block Code and Convolution Code


In Data Communication, the data are transferred from the client to the receiver. During this transmission, there may be a chance of an error occurring due to network problems, interference and using any other ways. So, the error needs to be detected and corrected. For both error detection and correction, we can use various methods like linear code and Convolution code. Linear codes are efficient one for error correction of the transmission bits between the hosts, while convolution code encodes in a timely fashion.

What is Linear Code?

Block code is the one that encodes data within the block and is a type of error−correcting code that takes a block of k input bits and produces a block of n output bits. A linear block code is a type of block code that satisfies the condition that the sum of any two codewords gives another codeword. This means that if we have two codewords c1 and c2, then their sum are also a valid codewords in the code. Linear codes are divided into two main types,

  • Block code

  • Convolution code

This property arises because linear block codes are based on linear algebra and the codewords form a linear subspace. In other words, the set of all codewords can be generated by taking linear combinations of a set of basis codewords. Since the sum of any two codewords is just another linear combination of the basis codewords, it must also be a valid codeword. This property can be useful in decoding because it allows for efficient algorithms to be used to correct errors in the received data.

Example of Linear Coding − Hamming code

Hamming code is a type of linear code that is helpful for detecting two bit errors. It can detect and correct when there is a change in single bit. When two or more bits are changed in the sequence which is called the burst bit, it cannot be changed. In the source, we add the redundant bit in between the sequence for secured transmission. On the sender side, the source encodes the sequence of bits along with the redundant bits and it is decoded at the receiver side. These bits act as dummy bits for error and detection methods.

Application of hamming code

  • It is used in the Telecommunication industry for detecting and correcting errors.

  • It is extensively used in satellite and computer memory

What is Convolution Code?

The encoder takes in a stream of data bits and applies a Boolean function to the current and previous bits in the stream to generate a sequence of output code bits. The output code bits are also known as parity symbols. Convolution codes are divided into two types namely,

  • Systematic

  • Non−Systematic

This means that instead of dividing the data into blocks of fixed size and encoding each block separately, convolutional codes encode the data continuously as it arrives. This is done by applying a Boolean polynomial function to the current and previous bits in the data stream to generate a sequence of output code bits.

In contrast to block codes, where the encoding of each block is independent of the previous blocks, convolutional codes consider the previous bits in the data stream when generating the output code bits. This allows for more efficient encoding and decoding of long sequences of data.

Difference between Linear Code and Convolution Code

Basic Parameters

Linear Code

Convolutional Code

Input bits

A linear code takes k input large bits and produces n output large bits.

In Convolution code, it takes smaller bits as input and produces large output bits.

Information Bits

Each bit of the block does not depend on the previous bits.

These bits depend on each other.

Encoding

The present bit of the blocks is encoded without depending on the previous state.

The encoding of the present bit does depend on the previous bit.

Structure

It depends on the blocks of bits.

It depends on the present bit and some of the previous bits.

Error Correction

It is used to correct multiple errors within the block.

It corrects the timely errors that occur in convolution code.

Decoding

As the block size increases depending on the bits, the decoding makes the structure complex.

The complexity of the decoding increases according to the limited length of the code.

Application

It is used in data storage and transmission systems where errors occur in bursts.

It is used in communication systems where errors occur randomly over time.

Conclusion

The Bit errors and the error in the bits are useful for error detection and correction and it is a simple method. Some of the linear codes are hamming codes, parity codes, cyclic codes, and Repetition codes. Though both Linear and Convolution codes are used for error detection and correction methods, they use different algorithms to do so.

Updated on: 07-Jul-2023

937 Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements