CONVOLUTIONAL
CODES
Group Members
ALI NAUMAN
MUHAMMAD ALI JAMSHED
Why we code?
To Improve communication Performance
To better withstand in a noisy channel and
other parameters.
Types of coding
Wave-form,
10
10
10 1
10 010
1
Structured sequence
Structured Sequence
Linear codes
Non-linear
10
10
10 1
10 010
1
&
Non-Linear Codes
10
10
10 1
10 010
1
Convolution codes
Turbo codes
History
First mentioned by Elias in 1955
Use to generate random codes.
Contents
Shift Register
Two modulo-2 adders
Description
Described by three integers,
k
n
and K
k= binary inputs symbols
n=binary output symbols
K= # of stages in encoder shift register
k/n=code rate
Convolutional Encoder
An Encoder Example
Initial value of Registers
Holds 1 input bit, Unless otherwise
specified, all memory registers start with a
value of 0.
States of Registers
Assume initial contents of the register are all zeros
Input bit mi
Register
Contents
State at
time
ti
State at
ti+1
000
00
00
100
00
10
110
10
11
011
11
01
01
State ti+1
11
State ti
Branch Word
at ti
U1
U2
..
A Convolutional Encoder
With Rate = 1/3
Representation Methods
Polynomial Representation
State Diagram
The Tree Diagram
The Trellis Diagram
Polynomial Representation
Example of Polynomial
Representation
State Diagram
With Reference of above
example
The Tree Diagram
The Trellis Diagram
Decoding of Convolutional
codes
Several decoding algorithm;
10
010
101 01
101
Viterbi algorithm
Sequential decoding
1. Stack algorithm
2. Fano algorithm
3. Creeper algorithm
Viterbi Algorithm
Used for relatively small values of k;
Universally adopted
Provides maximum likelihood
Easily implemented in VLSI
Example of Viterbi Algorithm
Steps In Decoding
Steps In Decoding
Why The Name Convolutional
Codes?
Sequentially Convolves the sequence of
information bits according to some rule.
MATLAB Implementation
Following commands can be used to
encode and decode message bits using
convolutional codes;
Iscatastrophic
Istrellis
vitdec
Applications
To achieve reliable data transfer in;
Digital video
Radio
Mobile communication
Satellite communication (802.11)
Advancement
Replacing by turbo codes (class of iterated
short convolutional codes).
Easily approach Shannons limits.
Less decoding complexity.