Convolutional Codes
Convolutional Codes
CODES
Group Members
ALI NAUMAN
MUHAMMAD ALI JAMSHED
Why we code?
To Improve communication Performance
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
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
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
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
Steps In Decoding
Steps In Decoding
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).