Constraint length of the Convolutional Code

Convolutional codes are error correcting codes where 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 extensive research by mathematicians, Viterbi developed an algorithm for maximum likelihood decoding in 1973, called the Viterbi algorithm, which led to modern convolutional codes.

Parameters in Convolutional Codes

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

A convolutional code can be represented as (n, k, K) 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 k information bits.

  • The code rate, Rc = k/n.

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

  • The output 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 determines 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 represents the number of input bits required to generate the output pattern.

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

Convolutional Encoder (k=1, n=2, K=3) Input bit b? b? b? ? ? Output c? Output c? Constraint Length K = 3 Three memory elements determine the encoder output

Selection of Constraint Length

The constraint length significantly influences the performance of convolutional codes. The choice involves a trade-off between error correction capability and implementation complexity.

Advantages of Long Constraint Length

  • More powerful error correction − Better error detection and correction capabilities

  • Higher coding gain − Better signal-to-noise ratio improvement

  • Lower bit error rates − More reliable communication over noisy channels

Disadvantages of Long Constraint Length

  • Complex decoder − Exponential increase in decoder complexity

  • Higher computational cost − More processing power required

  • Increased delays − Longer encoding and decoding times

  • Memory requirements − More storage needed for decoder states

Comparison of Constraint Lengths

Constraint Length (K) Number of States Decoding Complexity Performance
3 4 Low Basic
7 64 Moderate Good
9 256 High Excellent

Conclusion

Constraint length is a critical parameter in convolutional codes that determines the memory depth of the encoder. While longer constraint lengths provide better error correction performance, they require more complex implementation and higher computational resources, making the selection a careful balance between performance and complexity.

Updated on: 2026-03-16T23:36:12+05:30

4K+ Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements