SlideShare une entreprise Scribd logo
1  sur  23
Convolution Codes
                       ADVANCED COMMUNICATION SYSTEMS




                             PRATISHTHA SHIRA RAM
                                  SEMESTER 8
                                  DEPT. OF ECE


Pratishtha Shira Ram
Codes


                                Codes




                       Source           Channel
                       Codes             Codes



                              Linear         Convolution
                            Block codes         codes



Pratishtha Shira Ram
Codes (contd.)


                 1         Source Codes
                  • The aim of source coding is to take the
                    source data and make it smaller.


                 2       Channel Codes
                  • The aim of channel coding theory is to
                    find codes which transmit
                    quickly, contain many valid code words
                    and can correct or at least detect many
                    errors.


Pratishtha Shira Ram
Channel Codes
 Channel codes are used to add redundancy to the codes.

 Redundancy adds extra information about the data into the signal.

 This extra information ensures that the data is received correctly at the
 information sink.

 Hence, channel codes increase the BER of the signal.



                                                    The aim of channel coding
    The channel code is used to                     theory is to find codes which
    protect data sent over it for                   transmit quickly, contain
  storage or retrieval even in the                  many valid code words and
    presence of noise (errors).                     can correct or at least detect
                                                    many errors.

Pratishtha Shira Ram
Convolution Codes
 Convolutional codes are characterized by
 thee parameters:
                  (n, k, m)
 Where,
 n=       Number of output bits
 k=       Number of input bits
 m=       Number of memory registers

                                    Code Rate = k/n

                                              =Number of input bits
                                    /Number of output bits

 Constraint length “L”= k(m-1)

 L represents the no. of bits in the encoder
 memory that affects the generation of n
 output bits
Pratishtha Shira Ram
An example: (2,1,4) Coder

n=         Number of output bits   2
k=         Number of input bits    1
m=         Number of memory registers   4



 Constraint length L=3




  The no. of bits in the
  shaded registers are called
  states of code, and are
  defined by
  No. of states = 2L


Pratishtha Shira Ram
(2,1,4) Coder


 The constraint length = 3.

 The shaded registers hold these bits, while
 the un-shaded register holds the incoming
 bit.

 This means, 3 bits, or 8 different
 combinations of the bits can be held in the
 registers.

 These 8 combinations determine what
 output will be received as the the 2 output
 bits v1 and v2.



Pratishtha Shira Ram
Input sequence: 1,Output: 11 11 10 11

                       t=0;                   C
                       Input state
                       =000                 t=2;
A
                       Input bit=1          Input state =010
                       Output bit=11        Input bit=0
                                            Output bit=10




                       t=1;
B
                       Input state =100
                       Input bit=0
                                                   D
                       Output bit=11

                                            t=3;
                                            Input state =101
                                            Input bit=0
                                            Output bit=11
Pratishtha Shira Ram
The convolution

  Providing input of 1 to the coder provides what is called the ”impulse response”
  of that coder.

  Here, providing 1 as input (and then „flushing‟ it out from the registers using
  zeros) gave the output sequence :             11 11 10 11.

  Similarly, response for input bit 0 would be :          00 00 00 00.

  The output sequence can be computed simply by convolving the input sequence
  u with the impulse response g.

  Or,
  v=u*g

  By the principle of linear superposition, a coded sequence can be generated
  from the impulse response.

Pratishtha Shira Ram
Example


To find the coded sequence for the input 1011, we just have to add the shifted
versions of the individual responses:

Input bit                                                   Its Impulse Response

    1                                            11 11 10 11
        0                                           00 00 00 00
            1                                           11 11 10 11
                1                                          11 11 10 11


    1011                                         11 11 01 11 01 01 11



    This result can be verified by the encoder model too.
Pratishtha Shira Ram
Output bits and the encoder bits through
                      the(2,1,4) code:




Pratishtha Shira Ram
Look–up table for the encoder




Pratishtha Shira Ram
Understanding the encoder design

 There are three graphical ways in which the encoder can be understood better:
 1. State diagram
 2. Tree diagram
 3. Trellis diagram




         State Diagram




Pratishtha Shira Ram
Tree Diagram




Pratishtha Shira Ram
Trellis Diagram




Pratishtha Shira Ram
Trellis Diagram –Encoded Sequence




Pratishtha Shira Ram
Deconvolution of codes

There are 2 basic methods of deconvolution

1. Sequential decoding: Fano algorithm
     - It allows both forward and backward movement through the Trellis diagram
   flow.
     -If instead of 11 11 01 11 01 01 11, the code 01 11 01 11 01 01 11 is
   received, the algorithm will take a start and tally with the outputs it finds on the
   way. If an output does not tally, it retraces its position back to the previous
   ambiguous decision.

2. Maximum –Likelihood decoding:               Viterbi algorithm
    -The viterbi decoder examines the entire received sequence of a given length.
    -The decoder then computes a metric for the path and then makes a decision
   based on it.
     -The path with the higher metric is kept, and the one with the lower one is
   discarded.
   - Generally the Hamming distance is used as the metric here.
Pratishtha Shira Ram
Sequential decoding: Fano algorithm




Pratishtha Shira Ram
Maximum –Likelihood decoding:
            Viterbi algorithm           [Step 1]




Pratishtha Shira Ram
Maximum –Likelihood decoding:
                Viterbi algorithm     [Step 2]




Pratishtha Shira Ram
Maximum –Likelihood decoding:
                 Viterbi algorithm     [Step 3]




Pratishtha Shira Ram
Maximum –Likelihood decoding:
                 Viterbi algorithm     [Step 4]




Pratishtha Shira Ram
Thank you!




Pratishtha Shira Ram

Contenu connexe

Tendances (20)

Ec 2401 wireless communication unit 4
Ec 2401 wireless communication   unit 4Ec 2401 wireless communication   unit 4
Ec 2401 wireless communication unit 4
 
Matched filter
Matched filterMatched filter
Matched filter
 
Error detection & correction codes
Error detection & correction codesError detection & correction codes
Error detection & correction codes
 
Equalization
EqualizationEqualization
Equalization
 
Channel Coding (Error Control Coding)
Channel Coding (Error Control Coding)Channel Coding (Error Control Coding)
Channel Coding (Error Control Coding)
 
DPCM
DPCMDPCM
DPCM
 
Source coding theorem
Source coding theoremSource coding theorem
Source coding theorem
 
Digital communication unit II
Digital communication unit IIDigital communication unit II
Digital communication unit II
 
Convolutional Error Control Coding
Convolutional Error Control CodingConvolutional Error Control Coding
Convolutional Error Control Coding
 
UNIT-3 : CHANNEL CODING
UNIT-3 : CHANNEL CODINGUNIT-3 : CHANNEL CODING
UNIT-3 : CHANNEL CODING
 
LDPC Codes
LDPC CodesLDPC Codes
LDPC Codes
 
Convolution codes - Coding/Decoding Tree codes and Trellis codes for multiple...
Convolution codes - Coding/Decoding Tree codes and Trellis codes for multiple...Convolution codes - Coding/Decoding Tree codes and Trellis codes for multiple...
Convolution codes - Coding/Decoding Tree codes and Trellis codes for multiple...
 
Phase Shift Keying & π/4 -Quadrature Phase Shift Keying
Phase Shift Keying & π/4 -Quadrature Phase Shift KeyingPhase Shift Keying & π/4 -Quadrature Phase Shift Keying
Phase Shift Keying & π/4 -Quadrature Phase Shift Keying
 
Channel capacity
Channel capacityChannel capacity
Channel capacity
 
Error Control Coding -Introduction
Error Control Coding -IntroductionError Control Coding -Introduction
Error Control Coding -Introduction
 
Turbo codes
Turbo codesTurbo codes
Turbo codes
 
Pulse shaping
Pulse shapingPulse shaping
Pulse shaping
 
Line coding
Line codingLine coding
Line coding
 
Dcs unit 2
Dcs unit 2Dcs unit 2
Dcs unit 2
 
Sampling
SamplingSampling
Sampling
 

Similaire à Convolution Codes

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
 
Error detecting and correcting codes
Error detecting and correcting codesError detecting and correcting codes
Error detecting and correcting codessaraswathi12
 
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
 
DCN Error Detection & Correction
DCN Error Detection & CorrectionDCN Error Detection & Correction
DCN Error Detection & CorrectionRohan Bhatkar
 
Data Communication & Computer Networks:Digital Signal Encoding
Data Communication & Computer Networks:Digital Signal EncodingData Communication & Computer Networks:Digital Signal Encoding
Data Communication & Computer Networks:Digital Signal EncodingDr Rajiv Srivastava
 
International Journal of Computational Engineering Research(IJCER)
International Journal of Computational Engineering Research(IJCER)International Journal of Computational Engineering Research(IJCER)
International Journal of Computational Engineering Research(IJCER)ijceronline
 
Viterbi Decoder Algorithm.pptx
Viterbi Decoder Algorithm.pptxViterbi Decoder Algorithm.pptx
Viterbi Decoder Algorithm.pptxChandralekhaR2
 
Satellite error detection and correction presentation
Satellite error detection and correction presentationSatellite error detection and correction presentation
Satellite error detection and correction presentationAhmedMuhumed2
 
Encoder for (7,3) cyclic code using matlab
Encoder for (7,3) cyclic code using matlabEncoder for (7,3) cyclic code using matlab
Encoder for (7,3) cyclic code using matlabSneheshDutta
 
New error-detection (2)
New error-detection (2)New error-detection (2)
New error-detection (2)Nitesh Singh
 
New error-detection
New error-detectionNew error-detection
New error-detectionNitesh Singh
 

Similaire à Convolution Codes (20)

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...
 
Error detecting and correcting codes
Error detecting and correcting codesError detecting and correcting codes
Error detecting and correcting codes
 
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...
 
Turbo Code
Turbo Code Turbo Code
Turbo Code
 
DCN Error Detection & Correction
DCN Error Detection & CorrectionDCN Error Detection & Correction
DCN Error Detection & Correction
 
Unit-1.pptx
Unit-1.pptxUnit-1.pptx
Unit-1.pptx
 
Data Communication & Computer Networks:Digital Signal Encoding
Data Communication & Computer Networks:Digital Signal EncodingData Communication & Computer Networks:Digital Signal Encoding
Data Communication & Computer Networks:Digital Signal Encoding
 
I Tlecture 13a
I Tlecture 13aI Tlecture 13a
I Tlecture 13a
 
Digital Communication Techniques
Digital Communication TechniquesDigital Communication Techniques
Digital Communication Techniques
 
Unit-4.pptx
Unit-4.pptxUnit-4.pptx
Unit-4.pptx
 
Turbo Codes
Turbo CodesTurbo Codes
Turbo Codes
 
International Journal of Computational Engineering Research(IJCER)
International Journal of Computational Engineering Research(IJCER)International Journal of Computational Engineering Research(IJCER)
International Journal of Computational Engineering Research(IJCER)
 
Hamming code system
Hamming code systemHamming code system
Hamming code system
 
Ch3 datalink
Ch3 datalinkCh3 datalink
Ch3 datalink
 
Viterbi Decoder Algorithm.pptx
Viterbi Decoder Algorithm.pptxViterbi Decoder Algorithm.pptx
Viterbi Decoder Algorithm.pptx
 
Satellite error detection and correction presentation
Satellite error detection and correction presentationSatellite error detection and correction presentation
Satellite error detection and correction presentation
 
Channel Coding.ppt
Channel Coding.pptChannel Coding.ppt
Channel Coding.ppt
 
Encoder for (7,3) cyclic code using matlab
Encoder for (7,3) cyclic code using matlabEncoder for (7,3) cyclic code using matlab
Encoder for (7,3) cyclic code using matlab
 
New error-detection (2)
New error-detection (2)New error-detection (2)
New error-detection (2)
 
New error-detection
New error-detectionNew error-detection
New error-detection
 

Plus de Pratishtha Ram

Plus de Pratishtha Ram (6)

Emerging Display Technologies
Emerging Display TechnologiesEmerging Display Technologies
Emerging Display Technologies
 
Non Verbal Communication
Non Verbal CommunicationNon Verbal Communication
Non Verbal Communication
 
Klystron 1
Klystron 1Klystron 1
Klystron 1
 
Minor Project Presentation 1
Minor Project Presentation 1Minor Project Presentation 1
Minor Project Presentation 1
 
Memristors
MemristorsMemristors
Memristors
 
Bhopal
BhopalBhopal
Bhopal
 

Convolution Codes

  • 1. Convolution Codes ADVANCED COMMUNICATION SYSTEMS PRATISHTHA SHIRA RAM SEMESTER 8 DEPT. OF ECE Pratishtha Shira Ram
  • 2. Codes Codes Source Channel Codes Codes Linear Convolution Block codes codes Pratishtha Shira Ram
  • 3. Codes (contd.) 1 Source Codes • The aim of source coding is to take the source data and make it smaller. 2 Channel Codes • The aim of channel coding theory is to find codes which transmit quickly, contain many valid code words and can correct or at least detect many errors. Pratishtha Shira Ram
  • 4. Channel Codes Channel codes are used to add redundancy to the codes. Redundancy adds extra information about the data into the signal. This extra information ensures that the data is received correctly at the information sink. Hence, channel codes increase the BER of the signal. The aim of channel coding The channel code is used to theory is to find codes which protect data sent over it for transmit quickly, contain storage or retrieval even in the many valid code words and presence of noise (errors). can correct or at least detect many errors. Pratishtha Shira Ram
  • 5. Convolution Codes Convolutional codes are characterized by thee parameters: (n, k, m) Where, n= Number of output bits k= Number of input bits m= Number of memory registers Code Rate = k/n =Number of input bits /Number of output bits Constraint length “L”= k(m-1) L represents the no. of bits in the encoder memory that affects the generation of n output bits Pratishtha Shira Ram
  • 6. An example: (2,1,4) Coder n= Number of output bits 2 k= Number of input bits 1 m= Number of memory registers 4 Constraint length L=3 The no. of bits in the shaded registers are called states of code, and are defined by No. of states = 2L Pratishtha Shira Ram
  • 7. (2,1,4) Coder The constraint length = 3. The shaded registers hold these bits, while the un-shaded register holds the incoming bit. This means, 3 bits, or 8 different combinations of the bits can be held in the registers. These 8 combinations determine what output will be received as the the 2 output bits v1 and v2. Pratishtha Shira Ram
  • 8. Input sequence: 1,Output: 11 11 10 11 t=0; C Input state =000 t=2; A Input bit=1 Input state =010 Output bit=11 Input bit=0 Output bit=10 t=1; B Input state =100 Input bit=0 D Output bit=11 t=3; Input state =101 Input bit=0 Output bit=11 Pratishtha Shira Ram
  • 9. The convolution Providing input of 1 to the coder provides what is called the ”impulse response” of that coder. Here, providing 1 as input (and then „flushing‟ it out from the registers using zeros) gave the output sequence : 11 11 10 11. Similarly, response for input bit 0 would be : 00 00 00 00. The output sequence can be computed simply by convolving the input sequence u with the impulse response g. Or, v=u*g By the principle of linear superposition, a coded sequence can be generated from the impulse response. Pratishtha Shira Ram
  • 10. Example To find the coded sequence for the input 1011, we just have to add the shifted versions of the individual responses: Input bit Its Impulse Response 1 11 11 10 11 0 00 00 00 00 1 11 11 10 11 1 11 11 10 11 1011 11 11 01 11 01 01 11 This result can be verified by the encoder model too. Pratishtha Shira Ram
  • 11. Output bits and the encoder bits through the(2,1,4) code: Pratishtha Shira Ram
  • 12. Look–up table for the encoder Pratishtha Shira Ram
  • 13. Understanding the encoder design There are three graphical ways in which the encoder can be understood better: 1. State diagram 2. Tree diagram 3. Trellis diagram State Diagram Pratishtha Shira Ram
  • 16. Trellis Diagram –Encoded Sequence Pratishtha Shira Ram
  • 17. Deconvolution of codes There are 2 basic methods of deconvolution 1. Sequential decoding: Fano algorithm - It allows both forward and backward movement through the Trellis diagram flow. -If instead of 11 11 01 11 01 01 11, the code 01 11 01 11 01 01 11 is received, the algorithm will take a start and tally with the outputs it finds on the way. If an output does not tally, it retraces its position back to the previous ambiguous decision. 2. Maximum –Likelihood decoding: Viterbi algorithm -The viterbi decoder examines the entire received sequence of a given length. -The decoder then computes a metric for the path and then makes a decision based on it. -The path with the higher metric is kept, and the one with the lower one is discarded. - Generally the Hamming distance is used as the metric here. Pratishtha Shira Ram
  • 18. Sequential decoding: Fano algorithm Pratishtha Shira Ram
  • 19. Maximum –Likelihood decoding: Viterbi algorithm [Step 1] Pratishtha Shira Ram
  • 20. Maximum –Likelihood decoding: Viterbi algorithm [Step 2] Pratishtha Shira Ram
  • 21. Maximum –Likelihood decoding: Viterbi algorithm [Step 3] Pratishtha Shira Ram
  • 22. Maximum –Likelihood decoding: Viterbi algorithm [Step 4] Pratishtha Shira Ram