Rima
Rima
Rima
KAKALI SAHARIA
M.TECH (ECE)
Department of Electronics
Pondicherry University
OUTLINE
Introduction to convolutional codes
Convolutional encoder
Convolutional codes representation and explaination with examples
-Generator Representation
-State Diagram Representation
-Tree Diagram Representation
-Trellis Diagram Representation
Decoding of convolutional codes
-Sequential decoding
-Viterbi algorithm
Advantages of convolutional codes
Practical examples of convolutional codes
FORWARD ERROR CORRECTION CODE
Fig(a):Convonutional Encoder
Fig(a) shows a convolutional encoder .Here N=3,v=2.
The message bits are applied at the input of the shift register
(SR). The coded digit stream is obtained at the commutator
output. The commutator samples the ν modulo-2 adders in a
sequence, once during each input-bit interval.
Convolutional encoder (cont’d)
Example: Assume that the input digits are 1010. Find the
coded sequence output for Fig(a).
Initially, the Shift Registers s1=s2=s3=0.
When the first message bit 1 enters the SR, s1= 1, s2 =
s3=0.Then ν1=1, ν2=1 and the coder output is 11.
When the second message bit 0 enters the SR, s1=0, s2=1,
s3=0.Then ν1=1 and ν2=0 and the coder output is 10.
When the third message bit 1 enters the SR, s1=1, s2=0 and
s3=1Then ν1=0 and ν2=0 and the coder output is 00.
When the fourth message bit 0 enters the SR, s1=0, s2=1 and
s3=0.Then ν1=1 and ν2=0 and the coder output is 10.
The coded Output Sequence is : 11100010
Encoder Example
Convolutional encoder (cont’d)
PARAMETERS OF A CONVOLUTIONAL ENCODER
Convolutional codes are commonly specified by three
parameters: (n,k,m):
n = number of output bits
k = number of input bits
m = number of memory registers
Code Rate: The quantity k/n is called as code rate. It is a
measure of the efficiency of the code.
Constraint Length: The quantity L(or K) is called the
constraint length of the code. It represents the number of bits
in the encoder memory that affect the generation of the n
output bits. It is defined by
Constraint Length, L = k (m-1)
ENCODER REPRESENTATIONS
I. Generator Representation
II. State Diagram Representation
III. Tree Diagram Representation
IV. Trellis Diagram Representation
ENCODER REPRESENTATIONS
(cont’d)
I. Generator Representation
Generator representation shows the hardware connection of
the shift register taps to the modulo-2 adders. A generator
vector represents the position of the taps for an output. A
“1” represents a connection and a “0” represents no
connection.
A convolutional code may be defined by a set of n generating
polynomials for each input bit.
For the circuit under consideration:
g1(D) = 1 + X + X2
g2(D) = 1 + X2
The set {gi(D)} defines the code completely. The length of the
shift register is equal to the highest-degree generator
polynomial.
Example
ENCODER REPRESENTATIONS
(cont’d)
For example, the two generator vectors for the encoder in
Fig(a) are g1 = [111] and g2 = [101], where the subscripts 1 and 2
denote the corresponding output terminals.
Fig(b):state diagram
Here k=1,n=2,K=3.
v1
Input
u S1 S2
v2
Example: State diagram representation
Input
u S1 S2 S3
v2
Example: State diagram representation
ENCODER REPRESENTATIONS
(cont’d)
III. Tree Diagram Representation
The tree diagram representation shows all possible
information and encoded sequences for the
convolutional encoder.
In the tree diagram, a solid line represents input
information bit 0 and a dashed line
represents input information bit 1.
The corresponding output encoded bits are shown on the
branches of the tree.
An input information sequence defines a specific path
through the tree diagram from left to right.
ENCODER REPRESENTATIONS
(cont’d)
Example: Tree Diagram representation of convolutional codes
A. Sequential Decoding
-Fano Algorithm.
B.Maximum Likelihood Decoding
-Viterbi Algorithm.
Both of these two methods represent two different
approaches .
Decoding of convolutional codes
(cont’d)
Each node examined represents a path through part of the
tree.
The Fano algorithm can only operate over a code tree
because it cannot examine path merging.
At each decoding stage, the Fano algorithm retains the
information regarding three paths:
-the current path,
-its immediate predecessor path,
-one of its successor paths.
Based on this information, the Fano algorithm can move
from the current path to either its immediate predecessor
path or the selected successor path.
Decoding of convolutional codes
(cont’d)
It allows both the forward and backward movement
through the Trellis diagram flow.
Example: Decoding using Sequential decoding-Fano algorithm