Constraint length of the Convolutional Code


Convolutional Codes

Convolutional codes are error correcting codes where the data streams of indefinite lengths are encoded before transmission over noisy channels. The message streams are encoded by the sliding application of Boolean functions that generate a sequence of output bits.

Convolutional codes were first introduced in 1955, by Elias. After that, there were many interim researches by many mathematicians. In 1973, Viterbi developed an algorithm for maximum likelihood decoding scheme, called Viterbi scheme that lead to modern convolutional codes.

Parameters in Convolutional Codes

For generating a convolutional code, the information is passed sequentially through a linear finite-state shift register. The shift register comprises of (-bit) stages and Boolean function generators.

A convolutional code can be represented as where

  • k is the number of bits shifted into the encoder at one time. Generally, k = 1 .

  • n is the number of encoder output bits corresponding to information bits.

  • The code-rate, Rc = k/n .

  • The encoder memory, a shift register of size K , is the constraint length.

  • n is a function of the present input bits and the contents of K .

  • The state of the encoder is given by the value of (K - 1 ) bits.

Constraint Length of Convolutional Code

Constraint length,  k, is the size of the shift register in the memory encoder without feedback. It means how many stages are needed for the combinational logic that produces the output bits.

The shift register of size k, stores the present bit and the past (k -1) bits. The Boolean function generators operate upon these bits to generate the unique output pattern. Thus, the constraint length can be denoted as the number of input bits required to generate the output pattern.

For example, a constraint length k = 3, denotes that output pattern is obtained by operation of Boolean functions on the present input bit and the two previous input bits.

Selection of Constraint Length

The constraint length influences the performance of the convolutional code.

Advantages of long constraint length are −

  • More powerful code
  • More coding gain

Drawbacks of long constraint length are −

  • More complex decoder
  • More complex encoding logic
  • More delays in encoding and decoding

Illustration of Constraint Length in a Convolutional Encoder

The following diagram shows a convolutional encoder with k = 1, n = 2 and K = 3.

Updated on: 27-Jun-2020

2K+ Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements