Upcoming SlideShare
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Standard text messaging rates apply

# Convolution codes and turbo codes

7,078
views

Published on

3 Likes
Statistics
Notes
• Full Name
Comment goes here.

Are you sure you want to Yes No
• Be the first to comment

Views
Total Views
7,078
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
542
0
Likes
3
Embeds 0
No embeds

No notes for slide

### Transcript

• 1. Convolution codes & turbo codes BY Manish Srivastava
• 2. DIFFERENCE BETWEEN BLOCKCODE AND CONVOLUTION CODEThe difference between block codes andconvolution codes is the encoding principle. In the block codes, the information bits arefollowed by the parity bits. In convolutioncodes the information bits arespread along the sequence
• 3. WHAT IS CONVOLUTION CODE?Convolution codes are error detecting codesused to reliably transmit digital data overunreliable communication channel system tochannel noise.The convolution codes map information to codebits , but sequentially convolve the sequence ofinformation bits according to some rule.
• 4. ENCODING CIRCUIT  The code is defined by the circuit, which consists of different number of shift registers XiUi
• 5. We generate a convolution code by putting asource stream through a linear filter. This filtermakes use of a shift register, linear outputfunctions and possibly linear feedback.In a shift register, the information bits roll fromright to left.In every filter there is one input bit and twooutput bits. Because of each source bit havingtwo transmitted bits, the codes have rate ½.
• 6. DEFINING CONVOLUTION CODEA convolution code can be defined by using agenerator matrix that describes theencoding function u x: x = u .GFor 3 information bit long sequence u = (u0,u1,u2) we get((x0(1) x0(2) ), (x1 (1)x1 (2) ), (x2(1) x2(2) )) = (u0 ,u1 ,u2 ).G
• 7. PUNCTURING OF CONVOLUTION CODESThe idea of puncturing is to delete some bits in thecode bit sequence according to a fixed rule. Ingeneral the puncturing of a rate K / N code is definedusing N puncturing vectors.Considering a code without puncturing, the information bit sequenceu =(0,0,1,1,0) generates the (unpunctured) code bitsequence xNP= (00,00,11,01,01). The sequence xNP ispunctured using a puncturing matrix: PI= 1110 1001The puncturing period is 4. Using P1 , 3 out of 4 code
• 8. The rate of the punctured code is thusR = 1/ 2 .(4 + 4) /(3 + 2)= 4 / 5 and uis encoded to x=(00,0X ,1X , X1,01) = (00,0,1,1,01)The performance of the puncturedcode is worse than the performance ofthe mother code.The advantage of using puncturing isthat all punctured codes can bedecoded by a decoder that is able to
• 9. DECODING CONVOLUTIONCODES The most probable state sequencecan be found using the min-sumalgorithm(also known as the Viterbi algorithm).The viterbi algorithm is used todecode convolutional codes and anystructure or system that can bedescribed by a trellis.It is a maximum likelihood decoding
• 10. TRELLIS DIAGRAM
• 11. TURBO CODES The Parallel-Concatenated Convolutional Codes(PCCC), called turbo codes, has solved the dilemma of structure and randomness through concatenation and interleaving respectively. The introduction of turbo codes has given most of the gain promised by the channel- coding theorem. Turbo codes have an astonishing performance of bit error rate (BER) at relatively low Eb /No.
• 12. INTERLEAVING An interleaver is a device that rearranges the ordering of sequence of symbols in a deterministic manner. The two main issues in the interleaver design are the interleaver size and the interleaver map. Interleaving is used to feed the encoders with permutations so that the generated redundancy sequences can be assumed independent.
• 13. TURBO ENCODERINFORMATION SOURCE PAD x0 Puncturing TO THE x1 & CHANNEL ENC 1 parallel/seri al MUX INTERLEAVE ENC R 2 x2
• 14.  There are two convolutional encoders in parallel. The information bits are scrambled before entering the second encoder. Turbo code block diagram shows only two branches. The convolutional code at every branch is called the constituent code (CC). A PAD is shown figure to append the proper sequence of bits to terminate all the encoders to the all-zero state. Some of the codes are called recursive non- recursive
• 15. DECODING CIRCUIT (Interleaver 1)-1 Decoder 1 Interleaver 1 Decoder 2 ESTIMATED (Interleaver 1)-1 SEQUENCE DEMURECEIVED X/INSESEQUENC RTE
• 16. DECODING THE TURBOCODESFor turbo codes we have two encodedsequences. we start by decoding one of them toget a first estimate of the information sequence.This estimate should then be used as a prioriinformation in the decoding of the secondencoded sequence.This requires that the decoder is able to use asoft decision input and to produce some kind ofsoft output.
• 17. COMPARISIONConvolution code is easy toimplement than turbo codes.Turbo codes produces randomness incoding due to interleavers which isabsent in convolution code. Only one decoder is needed andadaptive coding scheme can beimplemented in convolution code unliketurbo code.The Viterbi decoding uses hard