+ All Categories
Home > Documents > 7 Convolutional Codes

7 Convolutional Codes

Date post: 05-Apr-2018
Category:
Upload: saumya-kasthuri
View: 234 times
Download: 0 times
Share this document with a friend
18
Dr. Muqaibel \ EE430 Convolutional Codes 1 Convolutional Codes
Transcript

8/2/2019 7 Convolutional Codes

http://slidepdf.com/reader/full/7-convolutional-codes 1/18

Dr. Muqaibel \ EE430 Convolutional Codes 1

Convolutional Codes

8/2/2019 7 Convolutional Codes

http://slidepdf.com/reader/full/7-convolutional-codes 2/18

Dr. Muqaibel \ EE430 Convolutional Codes 2

Basic Definitions

• k =1, n = 2 , (2,1) Rate-1/2 convolutional code• Two-stage register ( M=2 )

• Each input bit influences the output for 3 intervals (K=3)

• K = constraint length of the code = M + 1

8/2/2019 7 Convolutional Codes

http://slidepdf.com/reader/full/7-convolutional-codes 3/18

Dr. Muqaibel \ EE430 Convolutional Codes 3

Generator Polynomial

• 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 + D + D2 

g2(D) = 1 + D2

• The set {gi(D)} defines the code completely. The length of 

the shift register is equal to the highest-degree generatorpolynomial.

8/2/2019 7 Convolutional Codes

http://slidepdf.com/reader/full/7-convolutional-codes 4/18

Dr. Muqaibel \ EE430 Convolutional Codes 4

State Diagram Representation

• The output depends on the current input and the state of the

encoder ( i. e. the contents of the shift register).

8/2/2019 7 Convolutional Codes

http://slidepdf.com/reader/full/7-convolutional-codes 5/18

Dr. Muqaibel \ EE430 Convolutional Codes 5

Trellis Diagram Representation

• Expansion of state diagram in time.

8/2/2019 7 Convolutional Codes

http://slidepdf.com/reader/full/7-convolutional-codes 6/18

Dr. Muqaibel \ EE430 Convolutional Codes 6

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 .

8/2/2019 7 Convolutional Codes

http://slidepdf.com/reader/full/7-convolutional-codes 7/18

Dr. Muqaibel \ EE430 Convolutional Codes 7

The Viterbi Algorithm

• Walk through the trellis and compute the Hamming

distance between that branch of r and those in the trellis.

• At each level, consider the two paths entering the same

node and are identical from this node onwards. From these

two paths, the one that is closer to r at this stage will still

be so at any time in the future. This path is retained, and

the other path is discarded.

• Proceeding this way, at each stage one path will be saved

for each node. These paths are called the survivors. The

decoded sequence (based on MDD) is guaranteed to be one

of these survivors.

8/2/2019 7 Convolutional Codes

http://slidepdf.com/reader/full/7-convolutional-codes 8/18

Dr. Muqaibel \ EE430 Convolutional Codes 8

The Viterbi Algorithm (cont’d)

• Each survivor is associated with a metric of the

accumulated Hamming distance (the Hamming distance up

to this stage).

• Carry out this process until the received sequence is

considered completely. Choose the survivor with the

smallest metric.

8/2/2019 7 Convolutional Codes

http://slidepdf.com/reader/full/7-convolutional-codes 9/18

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

8/2/2019 7 Convolutional Codes

http://slidepdf.com/reader/full/7-convolutional-codes 10/18

Example: For the convolutional code example in the previous lecture, starting from state

zero, Decode the following received sequence.

 Add the weight of the

 path at each state

Compute the two possible paths at 

each state and select the one

with less cumulative Hammingweight 

  This is called 

the survival path

 At the end of the

trellis, select the

 path with the

minimum

cumulative

 Hamming weight 

This is the

survival

 path in

this

example 

 Decoded 

sequence is

m=[10 1110]

8/2/2019 7 Convolutional Codes

http://slidepdf.com/reader/full/7-convolutional-codes 11/18

Dr. Muqaibel \ EE430 Convolutional Codes 11

Distance Properties of Conv. Codes

• Def: The free distance, d  free, is the minimum Hamming

distance between any two code sequences.

• Criteria for good convolutional codes:

 –  Large free distance, d  free.

 –  Small Hamming distance (i.e. as few differences as

possible ) between the input information sequences that

produce the minimally separated code sequences. d inf 

 

• There is no known constructive way of designing a conv.

code of given distance properties. However, a given code

can be analyzed to find its distance properties.

8/2/2019 7 Convolutional Codes

http://slidepdf.com/reader/full/7-convolutional-codes 12/18

Dr. Muqaibel \ EE430 Convolutional Codes 12

Distance Prop. of Conv. Codes (cont’d)

• Convolutional codes are linear. Therefore, the Hamming

distance between any pair of code sequences corresponds

to the Hamming distance between the all-zero code

sequence and some nonzero code sequence. Thus for astudy of the distance properties it is possible to focus on

the Hamming distance between the all-zero code sequence

and all nonzero code sequences.

• The nonzero sequence of minimum Hamming weightdiverges from the all-zero path at some point and remerges

with the all-zero path at some later point.

8/2/2019 7 Convolutional Codes

http://slidepdf.com/reader/full/7-convolutional-codes 13/18

Dr. Muqaibel \ EE430 Convolutional Codes 13

Distance Properties: Illustration

• sequence 2: Hamming weight = 5, d inf = 1

• sequence 3: Hamming weight = 7, d inf = 3.

8/2/2019 7 Convolutional Codes

http://slidepdf.com/reader/full/7-convolutional-codes 14/18

Dr. Muqaibel \ EE430 Convolutional Codes 14

Modified State Diagram

• The span of interest to us of a nonzero path starts from the

00 state and ends when the path first returns to the 00 state.

Split the 00 state (state a) to two states: a0 and a1.

• The branches are labeled with the dummy variables D, L

and N, where:

The power of D is the Hamming weight (# of 1’s) of the

output corresponding to that branch.

The power of N is the Hamming weight (# of 1’s) of the

information bit(s) corresponding to that branch.

The power of L is the length of the branch (always = 1).

8/2/2019 7 Convolutional Codes

http://slidepdf.com/reader/full/7-convolutional-codes 15/18

Dr. Muqaibel \ EE430 Convolutional Codes 15

Modified State Diagram (cont’d)

8/2/2019 7 Convolutional Codes

http://slidepdf.com/reader/full/7-convolutional-codes 16/18

Dr. Muqaibel \ EE430 Convolutional Codes 16

Properties of the Path

Sequence 2:

code sequence: .. 00 11 10 11 00 ..

state sequence: a0  b  c  a1 

Labeled: (D2LN)(DL)(D2L) = D5L3N

Prop. : w =5, d inf  =1, diverges from the allzero path by 3 branches.

Sequence 3:

code sequence: .. 00 11 01 01 00 10 11 00 ..

state sequence: a0  b  d   c  b  c  a1 

Labeled: (D2LN)(DLN)(DL)(DL)(LN)(D2L) = D7L6N3 

Prop. : w =7, d inf  =3, diverges from the allzero path by 6 branches.

8/2/2019 7 Convolutional Codes

http://slidepdf.com/reader/full/7-convolutional-codes 17/18

Dr. Muqaibel \ EE430 Convolutional Codes 17

Transfer Function

• Input-Output relations:

a0 = 1

b = D2

LN a0 + LNc c = DLb + DLNd  

d  = DLNb + DLNd  

a1 = D2Lc

• The transfer function T (D,L,N) = a1 / a0

T (D,L,N)D L

DNL(1 L)

5 3

1

8/2/2019 7 Convolutional Codes

http://slidepdf.com/reader/full/7-convolutional-codes 18/18

Dr. Muqaibel \ EE430 Convolutional Codes 18

Transfer Function (cont’d)

• Performing long division:

T = D5L3N + D6L4N2 + D6L5N2 + D7L5N3 + ….

If interested in the Hamming distance property of the codeonly, set N = 1 and L = 1 to get the distance transfer 

 function:

T (D) = D5 + 2D6 + 4D7 

There is one code sequence of weight 5. Therefore d  free=5.There are two code sequences of weight 6,

four code sequences of weight 7, ….


Recommended