Sunteți pe pagina 1din 26

CONVOLUTIONAL CODES

Piyush Mittal Information security

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.

Block encoder

Encoding using a block encoder

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.

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.

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.

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.

k0

Information frame k0 k0 k0

Constraint length v=mk0 k0 k0 k0 Codeword frame Logic circuit n0 n0

A SHIFT REGISTER ENCODER THAT GENERATES TREE CODE

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.

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.

EXAMPLE:
+

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

0
Drop the 0 oldest bit

INCOMING BIT O 1 0 1 0 1 0 1

CURRENT STATE OF THE ENCODER 0 0 0 0 1 1 1 1 0 0 1 1 0 0 1 1

OUTGOING BITS 0 1 1 0 0 1 1 0 1 0 1 1 0 1 0 0

01

0
0
00

0
0 1 1
11

10

STATE DIGARM

TRELLIS DIGRAM:
00
00 00 00 11 10 11 11 00 01 01 10 10 00

11

01

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

ENCODING THE SEQUENCE 1 0 0 1 1 .


00
00 00 00 11 10 11 11 00 01 01 10 11 10 01 00

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.

DECODING

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

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

DECODING THE SEQUENCE 11011111


00
00 00 00 11 10 11 11 00 01 01 10 11 10 01 00

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
o Hamming distance o Branch metric o Path metric

R=11 01
00

11 11.
2 00
0

00 1 1

00 2 5 0 00 0 0 11 2 00 1 1 1 2

10

11 0

11 3 0 0 1 01 10 1 10

01

11

1 1 01

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.

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.

S-ar putea să vă placă și