SlideShare a Scribd company logo
1 of 17
Convolution codes
       &
   turbo codes

                              BY
               Manish Srivastava
DIFFERENCE BETWEEN BLOCK
CODE AND CONVOLUTION CODE

The difference between block codes and
convolution codes is the encoding principle.

 In the block codes, the information bits are
followed by the parity bits.

 In convolutioncodes the information bits are
spread along the sequence
WHAT IS CONVOLUTION CODE?


Convolution codes are error detecting codes
used to reliably transmit digital data over
unreliable communication channel system to
channel noise.

The convolution codes map information to code
bits , but sequentially convolve the sequence of
information bits according to some rule.
ENCODING CIRCUIT
        The code is defined by the circuit,
         which consists of different number of
         shift registers

                                Xi
Ui
We   generate a convolution code by putting a
source stream through a linear filter. This filter
makes use of a shift register, linear output
functions and possibly linear feedback.

In  a shift register, the information bits roll from
right to left.

In  every filter there is one input bit and two
output bits. Because of each source bit having
two transmitted bits, the codes have rate ½.
DEFINING CONVOLUTION CODE

A convolution code can be defined by using a
generator matrix that describes the
encoding function u               x:
 x = u .G
For 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
PUNCTURING OF CONVOLUTION CODES

The idea of puncturing is to delete some bits in the
code bit sequence according to a fixed rule. In
general the puncturing of a rate K / N code is defined
using N puncturing vectors.
Considering a code without puncturing,
 the information bit sequence
u =(0,0,1,1,0) generates the (unpunctured) code bit
sequence
 xNP= (00,00,11,01,01). The sequence xNP is
punctured using a puncturing matrix:
                      PI= 1110
                             1001

The puncturing period is 4. Using P1 , 3 out of 4 code
The rate of the punctured code is thus

R = 1/ 2 .(4 + 4) /(3 + 2)= 4 / 5 and u
is encoded to                x=
(00,0X ,1X , X1,01) = (00,0,1,1,01)

The  performance of the punctured
code is worse than the performance of
the mother code.

The  advantage of using puncturing is
that all punctured codes can be
decoded by a decoder that is able to
DECODING CONVOLUTION
CODES
  The most probable state sequence
can be found using the min-sum
algorithm
(also known as 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
TRELLIS DIAGRAM
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.
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.
TURBO ENCODER



INFORMATIO
N SOURCE     PAD                   x0
                                         Puncturing      TO THE
                                    x1        &          CHANNEL
                             ENC
                             1           parallel/seri
                                           al MUX
               INTERLEAVE   ENC
               R            2      x2
   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
DECODING CIRCUIT
                        (Interleaver 1)-1




                    Decoder 1         Interleaver 1   Decoder 2                       ESTIMATED
                                                                  (Interleaver 1)-1   SEQUENCE

           DEMU
RECEIVED
           X/INSE
SEQUENC    RT
E
DECODING THE TURBO
CODES

For  turbo codes we have two encoded
sequences. we start by decoding one of them to
get a first estimate of the information sequence.

This estimate should then be used as a priori
information in the decoding of the second
encoded sequence.

This  requires that the decoder is able to use a
soft decision input and to produce some kind of
soft output.
COMPARISION
Convolution  code is easy to
implement than turbo codes.
Turbo codes produces randomness in
coding due to interleavers which is
absent in convolution code.
 Only one decoder is needed and
adaptive coding scheme can be
implemented in convolution code unlike
turbo code.
The Viterbi decoding uses hard

More Related Content

What's hot (20)

BIT Error Rate
BIT Error RateBIT Error Rate
BIT Error Rate
 
Convolutional Codes And Their Decoding
Convolutional Codes And Their DecodingConvolutional Codes And Their Decoding
Convolutional Codes And Their Decoding
 
Linear Predictive Coding
Linear Predictive CodingLinear Predictive Coding
Linear Predictive Coding
 
Reed solomon codes
Reed solomon codesReed solomon codes
Reed solomon codes
 
ASk,FSK,PSK
ASk,FSK,PSKASk,FSK,PSK
ASk,FSK,PSK
 
Equalization
EqualizationEqualization
Equalization
 
NYQUIST CRITERION FOR ZERO ISI
NYQUIST CRITERION FOR ZERO ISINYQUIST CRITERION FOR ZERO ISI
NYQUIST CRITERION FOR ZERO ISI
 
Channel capacity
Channel capacityChannel capacity
Channel capacity
 
Pn sequence
Pn sequencePn sequence
Pn sequence
 
Small scale fading
Small scale fadingSmall scale fading
Small scale fading
 
Turbo codes
Turbo codesTurbo codes
Turbo codes
 
Orthogonal Frequency Division Multiplexing (OFDM)
Orthogonal Frequency Division Multiplexing (OFDM)Orthogonal Frequency Division Multiplexing (OFDM)
Orthogonal Frequency Division Multiplexing (OFDM)
 
Error Control Coding -Introduction
Error Control Coding -IntroductionError Control Coding -Introduction
Error Control Coding -Introduction
 
Equalization techniques
Equalization techniquesEqualization techniques
Equalization techniques
 
Du binary signalling
Du binary signallingDu binary signalling
Du binary signalling
 
Line coding
Line codingLine coding
Line coding
 
9. parameters of mobile multipath channels
9. parameters of mobile multipath channels9. parameters of mobile multipath channels
9. parameters of mobile multipath channels
 
Chap 5 (small scale fading)
Chap 5 (small scale fading)Chap 5 (small scale fading)
Chap 5 (small scale fading)
 
Power delay profile,delay spread and doppler spread
Power delay profile,delay spread and doppler spreadPower delay profile,delay spread and doppler spread
Power delay profile,delay spread and doppler spread
 
Spread spectrum modulation
Spread spectrum modulationSpread spectrum modulation
Spread spectrum modulation
 

Similar to Convolution codes and turbo codes

simulation of turbo encoding and decoding
simulation of turbo encoding and decodingsimulation of turbo encoding and decoding
simulation of turbo encoding and decodingGulafshan Saifi
 
IJERD (www.ijerd.com) International Journal of Engineering Research and Devel...
IJERD (www.ijerd.com) International Journal of Engineering Research and Devel...IJERD (www.ijerd.com) International Journal of Engineering Research and Devel...
IJERD (www.ijerd.com) International Journal of Engineering Research and Devel...IJERD Editor
 
Analysis and Implementation of Hard-Decision Viterbi Decoding In Wireless Com...
Analysis and Implementation of Hard-Decision Viterbi Decoding In Wireless Com...Analysis and Implementation of Hard-Decision Viterbi Decoding In Wireless Com...
Analysis and Implementation of Hard-Decision Viterbi Decoding In Wireless Com...IJERA Editor
 
IJERD (www.ijerd.com) International Journal of Engineering Research and Devel...
IJERD (www.ijerd.com) International Journal of Engineering Research and Devel...IJERD (www.ijerd.com) International Journal of Engineering Research and Devel...
IJERD (www.ijerd.com) International Journal of Engineering Research and Devel...IJERD Editor
 
Reed Soloman and convolution codes
Reed Soloman and convolution codesReed Soloman and convolution codes
Reed Soloman and convolution codesShailesh Tanwar
 
Performances des turbo codes parallèles pour un canal satellite non linéaire
Performances des turbo codes parallèles pour un canal satellite non linéairePerformances des turbo codes parallèles pour un canal satellite non linéaire
Performances des turbo codes parallèles pour un canal satellite non linéaireRachidz
 
Performance analysis of viterbi decoder for wireless applications
Performance analysis of viterbi decoder for wireless applicationsPerformance analysis of viterbi decoder for wireless applications
Performance analysis of viterbi decoder for wireless applicationsacijjournal
 
Convolutional Error Control Coding
Convolutional Error Control CodingConvolutional Error Control Coding
Convolutional Error Control CodingMohammed Abuibaid
 
Gsm Soft Viterbi Code
Gsm Soft Viterbi CodeGsm Soft Viterbi Code
Gsm Soft Viterbi Codefrankie_z
 
Digital communication coding Lectures Slides.ppt
Digital communication coding Lectures Slides.pptDigital communication coding Lectures Slides.ppt
Digital communication coding Lectures Slides.pptMohamadHalimAbdWahid
 
Hard Decision Viterbi Decoder: Implementation on FPGA and Comparison of Resou...
Hard Decision Viterbi Decoder: Implementation on FPGA and Comparison of Resou...Hard Decision Viterbi Decoder: Implementation on FPGA and Comparison of Resou...
Hard Decision Viterbi Decoder: Implementation on FPGA and Comparison of Resou...IJERA Editor
 

Similar to Convolution codes and turbo codes (20)

simulation of turbo encoding and decoding
simulation of turbo encoding and decodingsimulation of turbo encoding and decoding
simulation of turbo encoding and decoding
 
IJERD (www.ijerd.com) International Journal of Engineering Research and Devel...
IJERD (www.ijerd.com) International Journal of Engineering Research and Devel...IJERD (www.ijerd.com) International Journal of Engineering Research and Devel...
IJERD (www.ijerd.com) International Journal of Engineering Research and Devel...
 
Presentation
PresentationPresentation
Presentation
 
Analysis and Implementation of Hard-Decision Viterbi Decoding In Wireless Com...
Analysis and Implementation of Hard-Decision Viterbi Decoding In Wireless Com...Analysis and Implementation of Hard-Decision Viterbi Decoding In Wireless Com...
Analysis and Implementation of Hard-Decision Viterbi Decoding In Wireless Com...
 
IJERD (www.ijerd.com) International Journal of Engineering Research and Devel...
IJERD (www.ijerd.com) International Journal of Engineering Research and Devel...IJERD (www.ijerd.com) International Journal of Engineering Research and Devel...
IJERD (www.ijerd.com) International Journal of Engineering Research and Devel...
 
Reed Soloman and convolution codes
Reed Soloman and convolution codesReed Soloman and convolution codes
Reed Soloman and convolution codes
 
Overview of Convolutional Codes
Overview of Convolutional CodesOverview of Convolutional Codes
Overview of Convolutional Codes
 
Ofdm.pptx
Ofdm.pptxOfdm.pptx
Ofdm.pptx
 
Performances des turbo codes parallèles pour un canal satellite non linéaire
Performances des turbo codes parallèles pour un canal satellite non linéairePerformances des turbo codes parallèles pour un canal satellite non linéaire
Performances des turbo codes parallèles pour un canal satellite non linéaire
 
Unit6 Part3.ppt
Unit6 Part3.pptUnit6 Part3.ppt
Unit6 Part3.ppt
 
D04561722
D04561722D04561722
D04561722
 
Performance analysis of viterbi decoder for wireless applications
Performance analysis of viterbi decoder for wireless applicationsPerformance analysis of viterbi decoder for wireless applications
Performance analysis of viterbi decoder for wireless applications
 
Bj32392395
Bj32392395Bj32392395
Bj32392395
 
ATT SMK.pptx
ATT SMK.pptxATT SMK.pptx
ATT SMK.pptx
 
Convolutional Error Control Coding
Convolutional Error Control CodingConvolutional Error Control Coding
Convolutional Error Control Coding
 
Gsm Soft Viterbi Code
Gsm Soft Viterbi CodeGsm Soft Viterbi Code
Gsm Soft Viterbi Code
 
STLD-Combinational logic design
STLD-Combinational  logic design STLD-Combinational  logic design
STLD-Combinational logic design
 
Research Paper
Research PaperResearch Paper
Research Paper
 
Digital communication coding Lectures Slides.ppt
Digital communication coding Lectures Slides.pptDigital communication coding Lectures Slides.ppt
Digital communication coding Lectures Slides.ppt
 
Hard Decision Viterbi Decoder: Implementation on FPGA and Comparison of Resou...
Hard Decision Viterbi Decoder: Implementation on FPGA and Comparison of Resou...Hard Decision Viterbi Decoder: Implementation on FPGA and Comparison of Resou...
Hard Decision Viterbi Decoder: Implementation on FPGA and Comparison of Resou...
 

More from Manish Srivastava (19)

Vhf communication system for cross country pipelines
Vhf communication system for cross country pipelines Vhf communication system for cross country pipelines
Vhf communication system for cross country pipelines
 
Need for sulphur measurement in multi product pipelines
Need for sulphur measurement in multi product pipelinesNeed for sulphur measurement in multi product pipelines
Need for sulphur measurement in multi product pipelines
 
De waxing
De waxingDe waxing
De waxing
 
A study on pipeline loss1
A study on pipeline loss1A study on pipeline loss1
A study on pipeline loss1
 
Wi fi[1]
Wi fi[1]Wi fi[1]
Wi fi[1]
 
Wcdma channels
Wcdma channels Wcdma channels
Wcdma channels
 
Wi max
Wi maxWi max
Wi max
 
Sync in 3 g
Sync in 3 gSync in 3 g
Sync in 3 g
 
Spread spectrum
Spread spectrumSpread spectrum
Spread spectrum
 
Power control in 3 g
Power control in 3 gPower control in 3 g
Power control in 3 g
 
Linear block code
Linear block codeLinear block code
Linear block code
 
Harq
HarqHarq
Harq
 
Impact of channel in wireless communication
Impact of channel in wireless communicationImpact of channel in wireless communication
Impact of channel in wireless communication
 
Hspa and hsdpa
Hspa and hsdpaHspa and hsdpa
Hspa and hsdpa
 
Harq
HarqHarq
Harq
 
Handover
HandoverHandover
Handover
 
Control plane
Control planeControl plane
Control plane
 
Comparison between 2g, 2.5g, 3g, lte and lte a
Comparison between 2g, 2.5g, 3g, lte and lte aComparison between 2g, 2.5g, 3g, lte and lte a
Comparison between 2g, 2.5g, 3g, lte and lte a
 
Pigging In OIL INDUSTRY
Pigging In OIL INDUSTRY Pigging In OIL INDUSTRY
Pigging In OIL INDUSTRY
 

Convolution codes and turbo codes

  • 1. Convolution codes & turbo codes BY Manish Srivastava
  • 2. DIFFERENCE BETWEEN BLOCK CODE AND CONVOLUTION CODE The difference between block codes and convolution codes is the encoding principle.  In the block codes, the information bits are followed by the parity bits.  In convolutioncodes the information bits are spread along the sequence
  • 3. WHAT IS CONVOLUTION CODE? Convolution codes are error detecting codes used to reliably transmit digital data over unreliable communication channel system to channel noise. The convolution codes map information to code bits , but sequentially convolve the sequence of information bits according to some rule.
  • 4. ENCODING CIRCUIT  The code is defined by the circuit, which consists of different number of shift registers Xi Ui
  • 5. We generate a convolution code by putting a source stream through a linear filter. This filter makes use of a shift register, linear output functions and possibly linear feedback. In a shift register, the information bits roll from right to left. In every filter there is one input bit and two output bits. Because of each source bit having two transmitted bits, the codes have rate ½.
  • 6. DEFINING CONVOLUTION CODE A convolution code can be defined by using a generator matrix that describes the encoding function u x: x = u .G For 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 CODES The idea of puncturing is to delete some bits in the code bit sequence according to a fixed rule. In general the puncturing of a rate K / N code is defined using N puncturing vectors. Considering a code without puncturing, the information bit sequence u =(0,0,1,1,0) generates the (unpunctured) code bit sequence xNP= (00,00,11,01,01). The sequence xNP is punctured using a puncturing matrix: PI= 1110 1001 The puncturing period is 4. Using P1 , 3 out of 4 code
  • 8. The rate of the punctured code is thus R = 1/ 2 .(4 + 4) /(3 + 2)= 4 / 5 and u is encoded to x= (00,0X ,1X , X1,01) = (00,0,1,1,01) The performance of the punctured code is worse than the performance of the mother code. The advantage of using puncturing is that all punctured codes can be decoded by a decoder that is able to
  • 9. DECODING CONVOLUTION CODES  The most probable state sequence can be found using the min-sum algorithm (also known as 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
  • 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 ENCODER INFORMATIO N 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 DEMU RECEIVED X/INSE SEQUENC RT E
  • 16. DECODING THE TURBO CODES For turbo codes we have two encoded sequences. we start by decoding one of them to get a first estimate of the information sequence. This estimate should then be used as a priori information in the decoding of the second encoded sequence. This requires that the decoder is able to use a soft decision input and to produce some kind of soft output.
  • 17. COMPARISION Convolution code is easy to implement than turbo codes. Turbo codes produces randomness in coding due to interleavers which is absent in convolution code.  Only one decoder is needed and adaptive coding scheme can be implemented in convolution code unlike turbo code. The Viterbi decoding uses hard