+ All Categories
Home > Documents > CONVOLUTIONAL CODES

CONVOLUTIONAL CODES

Date post: 14-Apr-2015
Category:
Upload: piyush-mittal
View: 108 times
Download: 0 times
Share this document with a friend
Description:
Information theory and coding
26
CONVOLUTIONAL CODES Piyush Mittal Information security
Transcript
Page 1: CONVOLUTIONAL CODES

CONVOLUTIONAL CODES Piyush Mittal

Information security

Page 2: CONVOLUTIONAL CODES

Introduction: So far we have discussed where a block of ‘k’

information symbols are encoded into a block of ‘n’ coded symbols.

There is always one-to-one correspondence between the information word and coded word.

This method is particularly useful for high data rate application, where the incoming stream of uncoded data is first broken into blocks, encoded and then transmitted.

Page 3: CONVOLUTIONAL CODES

Encoding using a block encoder

Block encoder k n n k

Page 4: CONVOLUTIONAL CODES

ADVANTAGE USING LARGE BLOCK LENGTH:

• Larger block lengths imply that encoding overheard is small.

• Many of the good codes that have large distance properties are of large block length.(e.g. The RS code)

DISADVANTAGE:

• Unless the entire block of encoded data is received at the receiver, the decoding procedure can not start, which may result in delays.

Page 5: CONVOLUTIONAL CODES

Information frame:

Smaller block of uncoded data length ‘k0’.

Codeword frame:

Encoded frame of length ‘n0’.

Convolution code:

• However just one information frame is not used to obtain the codeword frame.

• Instead the current information frame with previous ‘m’ information frames are used to obtain a single codeword frame.

Page 6: CONVOLUTIONAL CODES

• This implies that such encoders have memory, which retain the previous ‘m’ incoming information frames.

• The codes that are obtained in this fashion are called Tree Codes.

• An important subclass of tree codes, used frequently in practice, is called Convolutional codes .

• Convolutional code make decision based on past information i.e. memory is required.

Page 7: CONVOLUTIONAL CODES

TREE CODES AND TRELLIS CODES

• Assume that we have an infinitely long stream of incoming symbols.

• This stream of symbol is first broken up in to segment(information frame) of ‘k0’ symbols.

• The encoder consist of two parts :

i. Memory(shift register)

ii. Logic circuit.

• The memory of the encoder can store ‘m’ information frame.

Page 8: CONVOLUTIONAL CODES

k0

k0

…… k0

k0

Logic circuit

k0

k0

n0

n0

Constraint length v=mk0

Information frame

Codeword frame

A SHIFT REGISTER ENCODER THAT GENERATES TREE CODE

k0

Page 9: CONVOLUTIONAL CODES

• Each time a new information frame arrives it is shifted in to a shift register and the oldest information frame is discarded.

• At the end of any frame time the encoder has ‘m’ most recent information frames in its memory, which corresponds to total ‘mk0’ information symbols.

NOTE:

• It should be observed that the same information frame may not generate the same codeword frame because the codeword frame may also depends on ‘m’ previous information frame.

Page 10: CONVOLUTIONAL CODES

DEFINATION: Constraint length: it is defined as the number of symbols

it can store in its memory.(i.e. mk0)

• The Rate of the tree code R=(k0/n0) or (k/n)

Word length: of a shift register encoder is defined as

k=(m+1) k0

Block length: of a shift register encoder is defined as

n=(m+1) n0

• A (n0, k0)tree code that is linear ,time invariant, and has a finite word length k=(m+1) k0 is called an (n,k)convolutional code.

Page 11: CONVOLUTIONAL CODES

EXAMPLE:

Convolutional encoder.

Here k0=1,n0=2and m=2.

+ +

+

Page 12: CONVOLUTIONAL CODES

INCOMING BIT CURRENT STATE OF THE ENCODER

OUTGOING BITS

O 1

0 0 0 0

0 0 1 1

0 1

0 1 0 1

1 1 0 0

0 1

1 0 1 0

0 1 1 0

0 1

1 1 1 1

1 0 0 1

0 0 1 - 1 0

Drop the oldest bit 0

Page 13: CONVOLUTIONAL CODES

0 0

0 0 1 1

1 1

STATE DIGARM

00

01

11

10

Page 14: CONVOLUTIONAL CODES

TRELLIS DIGRAM:

00 00 00 00

11

11 11

00

01

10 10

01

00

10

01

11

Page 15: CONVOLUTIONAL CODES

• Suppose we want to encode the bit stream

1 0 0 1 1 0 1………

• So we start from the left node and follow the branches dictated by this input stream.

i.e. down, up, up, down, down, up, down …..

0->up

1->down

Page 16: CONVOLUTIONAL CODES

ENCODING THE SEQUENCE 1 0 0 1 1 ….

00 00 00 00

11

11 11

00

01

10 10

01

00

10

01

11

Page 17: CONVOLUTIONAL CODES

So the encoded sequence can be read out from the diagram as 11 01 11 11 10 10…….

NOTE:

It can be seen that there is an one to one correspondence between the encoded

sequence and a path in the trellis diagram.

Page 18: CONVOLUTIONAL CODES

DECODING

Page 19: CONVOLUTIONAL CODES

DECODING TECHNIQUE:

There are three important decoding techniques for convolutional codes.

Sequential Decoding • Proposed by Wozencraft in1957.

• It has the advantage that it can perform very well with long constraint length convolutional codes, but has a variable decoding time

Page 20: CONVOLUTIONAL CODES

Threshold Decoding: – also known as Majority Logic Decoding.

– Proposed by Massy in 1963.

– first commercially produced decoders for convolutional codes.

Viterbi Decoding: – was developed by Andrew j viterbi in 1967.

– Viterbi decoding become the dominant technique for convolutional codes.

– It has the advantage like (i)highly satisfactory bit error performance.(ii)high speed operation(iii)ease of implementation(iv)low cost

Page 21: CONVOLUTIONAL CODES

DECODING THE SEQUENCE 11011111……

00 00 00 00

11

11 11

00

01

10 10

01

00

10

01

11

Page 22: CONVOLUTIONAL CODES

• Since it is a ½ rate encoder we first segment the received sequence in groups of 2 bits .

r=11 01 11 11………….

• To decode this we should know some basic like

oHamming distance

oBranch metric

oPath metric

Page 23: CONVOLUTIONAL CODES

R=11 01 11 11…….

2 00 00 1 00 2 00

0 0 11

0 1

11 11 2

00

0 1

1 01 1

1

10 10

1 01

00

10

01

11

2

0

3

3

0

1

5 0

2

4

1

Page 24: CONVOLUTIONAL CODES

Convolutional codes are used…

Convolutional codes are used extensively in numerous applications in order to achieve reliable data transfer, including digital video, radio, mobile communication, and satellite communication.

Page 25: CONVOLUTIONAL CODES

Conclusion • Finally we can conclude that , convolutional

code in one way take less time to decode(generally incase of lengthy information word),since it has memory .

• Despite of the advantages ,now another code known as turbo codes (i.e. a new class of iterated short covolutional code),coming closest to the shannon limit.

Page 26: CONVOLUTIONAL CODES

Recommended