convolutional codes and its characteristics, Study Guides, Projects, Research of Digital Communication Systems

brief introduction to convolutional codes

Typology: Study Guides, Projects, Research

2018/2019

Uploaded on 12/14/2019

zarina-mashanlo
zarina-mashanlo 🇨🇳

5

(1)

2 documents

1 / 21

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
L35-1
Convolutional Codes
Overview
Parameters
Encoding
Impulse Response/Generator Sequences
State Diagram
Trellis Diagram
Decoding
Viterbi Algorithm
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15

Partial preview of the text

Download convolutional codes and its characteristics and more Study Guides, Projects, Research Digital Communication Systems in PDF only on Docsity!

Convolutional Codes

  • Overview
    • Parameters
    • Encoding
    • Impulse Response/Generator Sequences
    • State Diagram
    • Trellis Diagram
    • Decoding
      • Viterbi Algorithm

Convolutional Codes

  • Convert any length message to a single ‘codeword’
  • Encoder has memory and has n outputs that at any time depend on k inputs and m previous input blocks
  • Typically described by 3 parameters:
    • n = no. of bits produced at encoder output at each time unit
    • k= no. of bits input to encoder at each time unit
    • And one of:
      • m = memory of encoder = no. of prev. input blocks used to generate each output (or)
  • K = constraint length = max. no. of bits in a single output stream that can be affected by any input bit = 1+ max i mi

0 *^ 1 1 0 1 0 0

1

0

1

0 00

0

0

Input: 10110

Encoding Example

0 *^ 1 1 0 1 0

0

0

0

0 00

1

0

Input: 10110

0 *^1 1 0

1

0

1

0 01

1

1

Input: 10110

0 *^1 1

0

0

0

1 00

1

0

Input: 10110

0 0 *^1

0

0

0

0 01

0

1

Input: 10110

0

0

0

0 00

0

0

Input: 10110 Output: 11, 01, 01, 01, 11, 01, 11, 00

Impulse Response/Generator Seq.

  • These sequences also specify the connections from the shift registers to the outputs: g(0)^ = (1 0 1 1) g(1)^ = (1 1 0 1)
  • A 1 means connection, 0 means no connection

1 1 1

1 1 1

0

0

Impulse Response/Generator Seq.

  • The generator sequences are often specified in octal form
  • The binary representation is left-shifted so that the most significant bit (MSB) of the binary representation is also the MSB of the first digit
  • Example: g(0)^ = (1 0 1, 1) = 54 g(1)^ = (1 1 0, 1) = 64

Trellis Diagram

•^

A trellis diagram is a state diagram that has been expanded to show thepassage of time:

Trellis Diagram

  • Every possible codeword is represented by a single unique path through the trellis
  • Every codeword starts and stops in S 0 , the all-zeros state

Decoding:Viterbi Algorithm

  • Usually, the log-likelihood function is used

to simplify implementation

  • The log-probabilities, *, known as bit metrics, are usually converted into small integers
  • The ML algorithm chooses y’ that maximizes p ( r | y’ )

∑ ∑^ (^ )

  • − =

− = 

 

 

 

1 0

1 (^0) *

log ( | ') L^ m log (^ )| '( ) i

n j

j i

j p r y 1 4 2 p 4 ri (^) 4 3 y 4

Decoding: Viterbi Algorithm

  • The Viterbi algorithm finds the ML codeword by using the code trellis:

Viterbi Algorithm (Wicker, p. 296-7)

  • Let the node corresponding to state Sj at time t be denoted by Sj,t
  • Each node in the trellis is assigned a metric value V( Sj,t )
  • The metric values are computed by
  1. Let V( S0,0 ) =0 and t = 1
  2. At time t , compute the partial path metrics for all paths entering each node.
  3. Set V( Sk,t ) equal to the best partial path metric entering the node corresponding to state Sk at time t. Ties can be broken by flipping a coin. Nonsurviving branches are deleted from the trellis.
  4. If _t