
Data Structure
Networking
RDBMS
Operating System
Java
MS Excel
iOS
HTML
CSS
Android
Python
C Programming
C++
C#
MongoDB
MySQL
Javascript
PHP
- Selected Reading
- UPSC IAS Exams Notes
- Developer's Best Practices
- Questions and Answers
- Effective Resume Writing
- HR Interview Questions
- Computer Glossary
- Who is Who
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.