Slide 0

Convolutional Codes
Mohammad Hanaysheh
Mahdi Barhoush

Slide 1

* A convolutional code is generated by passing the information sequence to be transmitted through a linear finite shift register.
* The input data to the encoder, which is assumed to be binary is shifted into and along the shift register k bits at a time. The number of output bits for each k bit sequence is n bits.
R = k / n.

Slide 2

Example.
Consider the binary convolutional encoder with k=1 and n=3.

Slide 3

>>> Initially, the shift register is assumed to be in the all-zero state. suppose the first input is a 1.then the output sequence of three bits is 111.suppose the second bit is 0.the output sequence will be 001.if the third bit is 1,the output will be 100,and so on.
>>> There are three alternative methods that are often used to describe a convolutional code:
1. Tree diagram.
2. Trellis diagram.
3.State diagram.

Slide 4

Tree Diagram:

Slide 5

Information bit 0 or 1
Register states 00,01,10 or 11
a 00
b 01
c 10
d 11

Slide 6

Trellis Diagram

Slide 7

State Diagram

Slide 8

Decoding
A message m is encoded into the code sequence c.
Each code sequence represents a path in the trellis diagram.
Minimum Distance Decoding
Upon receiving the received sequence r, search for the path that is closest ( in Hamming distance) to r .

Slide 9

The Viterbi Algorithm:
* The viterbi algorithm is used to decode convolutional codes and any structure or system that can be described by a trellis.
* It is a maximum likelihood decoding algorithm that selects the most probable path that maximizes the likelihood function.
* The algorithm is based on add-compare-select the best path each time at each state.

Slide 10

Slide 11

THANK YOU