12
Convolutional Codes Mohammad Hanaysheh Mahdi Barhoush

Convolutional Codes Mohammad Hanaysheh Mahdi Barhoush

Embed Size (px)

Citation preview

Page 1: Convolutional Codes Mohammad Hanaysheh Mahdi Barhoush

Convolutional Codes

Mohammad Hanaysheh

Mahdi Barhoush

Page 2: Convolutional Codes Mohammad Hanaysheh Mahdi Barhoush

* *A convolutional code is generated by passing A convolutional code is generated by passing the information sequence to be transmitted the information sequence to be transmitted

through a linear finite shift registerthrough a linear finite shift register . .

* *The input data to the encoder, which is The input data to the encoder, which is assumed to be binary is shifted into and along assumed to be binary is shifted into and along the shift register k bits at a time. The number of the shift register k bits at a time. The number of output bits for each k bit sequence is n bitsoutput bits for each k bit sequence is n bits..

R = k / nR = k / n..

Page 3: Convolutional Codes Mohammad Hanaysheh Mahdi Barhoush

Example.

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

Page 4: Convolutional Codes Mohammad Hanaysheh Mahdi Barhoush

>>>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.

Page 5: Convolutional Codes Mohammad Hanaysheh Mahdi Barhoush

Tree Diagram:

Page 6: Convolutional Codes Mohammad Hanaysheh Mahdi Barhoush

Information bit 0 or 1

Register states 00,01,10 or 11

a 00

b 01

c 10

d 11

Page 7: Convolutional Codes Mohammad Hanaysheh Mahdi Barhoush

Trellis Diagram

Page 8: Convolutional Codes Mohammad Hanaysheh Mahdi Barhoush

State Diagram

Page 9: Convolutional Codes Mohammad Hanaysheh Mahdi Barhoush

DecodingDecoding

A message A message mm is encoded into the code is encoded into the code sequence sequence cc..

Each code sequence represents a path in Each code sequence represents a path in the trellis diagramthe trellis diagram..

Minimum Distance DecodingMinimum Distance Decoding

Upon receiving the received sequence Upon receiving the received sequence rr, , search for the path that is closest ( in search for the path that is closest ( in Hamming distance) to Hamming distance) to rr. .

Page 10: Convolutional Codes Mohammad Hanaysheh Mahdi Barhoush

The Viterbi AlgorithmThe Viterbi Algorithm::

* *The viterbi algorithm is used to decode The viterbi algorithm is used to decode convolutional codes and any structure or convolutional codes and any structure or system that can be described by a trellissystem that can be described by a trellis . .

* *It is a maximum likelihood decoding It is a maximum likelihood decoding algorithm that selects the most probable path algorithm that selects the most probable path that maximizes the likelihood functionthat maximizes the likelihood function..

* *The algorithm is based on add-compare-The algorithm is based on add-compare-select the best path each time at each stateselect the best path each time at each state . .

Page 11: Convolutional Codes Mohammad Hanaysheh Mahdi Barhoush
Page 12: Convolutional Codes Mohammad Hanaysheh Mahdi Barhoush