Convolutional Codes 1 - PowerPoint PPT Presentation

About This Presentation

Convolutional Codes 1


Convolutional Codes Dr. Muqaibel \ EE430 Convolutional Codes * Dr. Muqaibel \ EE430 Convolutional Codes ... – PowerPoint PPT presentation

Number of Views:193
Avg rating:3.0/5.0
Slides: 19
Provided by: Dr2079


Transcript and Presenter's Notes

Title: Convolutional Codes 1

Convolutional Codes
Basic Definitions
  • k 1, n 2 , (2,1) Rate-1/2 convolutional code
  • Two-stage register ( M2 )
  • Each input bit influences the output for 3
    intervals (K3)
  • K constraint length of the code M 1

Generator Polynomial
  • A convolutional code may be defined by a set of n
    generating polynomials for each input bit.
  • For the circuit under consideration
  • g1(D) 1 D D2
  • g2(D) 1 D2
  • The set gi(D) defines the code completely. The
    length of the shift register is equal to the
    highest-degree generator polynomial.

State Diagram Representation
  • The output depends on the current input and the
    state of the encoder ( i. e. the contents of the
    shift register).

Trellis Diagram Representation
  • Expansion of state diagram in time.

  • A message m is encoded into the code sequence c.
  • Each code sequence represents a path in the
    trellis diagram.
  • Minimum Distance Decoding
  • Upon receiving the received sequence r, search
    for the path that is closest ( in Hamming
    distance) to r .

The Viterbi Algorithm
  • Walk through the trellis and compute the Hamming
    distance between that branch of r and those in
    the trellis.
  • At each level, consider the two paths entering
    the same node and are identical from this node
    onwards. From these two paths, the one that is
    closer to r at this stage will still be so at any
    time in the future. This path is retained, and
    the other path is discarded.
  • Proceeding this way, at each stage one path will
    be saved for each node. These paths are called
    the survivors. The decoded sequence (based on
    MDD) is guaranteed to be one of these survivors.

The Viterbi Algorithm (contd)
  • Each survivor is associated with a metric of the
    accumulated Hamming distance (the Hamming
    distance up to this stage).
  • Carry out this process until the received
    sequence is considered completely. Choose the
    survivor with the smallest metric.

  • 6.3 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 algorithm
    that selects the most probable path that
    maximizes the likelihood function.
  • The algorithm is based on add-compare-select the
    best path each time at each state.

  • Example For the convolutional code example in
    the previous lecture, starting from state zero,
    Decode the following received sequence.

At the end of the trellis, select the path
with the minimum cumulative Hamming weight
This is the survival path in this example
Decoded sequence is m10 1110
Compute the two possible paths at each state and
select the one with less cumulative Hamming
Add the weight of the path at each state
This is called the survival path
Distance Properties of Conv. Codes
  • Def The free distance, dfree, is the minimum
    Hamming distance between any two code sequences.
  • Criteria for good convolutional codes
  • Large free distance, dfree.
  • Small Hamming distance (i.e. as few differences
    as possible ) between the input information
    sequences that produce the minimally separated
    code sequences. dinf
  • There is no known constructive way of designing a
    conv. code of given distance properties. However,
    a given code can be analyzed to find its distance

Distance Prop. of Conv. Codes (contd)
  • Convolutional codes are linear. Therefore, the
    Hamming distance between any pair of code
    sequences corresponds to the Hamming distance
    between the all-zero code sequence and some
    nonzero code sequence. Thus for a study of the
    distance properties it is possible to focus on
    the Hamming distance between the all-zero code
    sequence and all nonzero code sequences.
  • The nonzero sequence of minimum Hamming weight
    diverges from the all-zero path at some point and
    remerges with the all-zero path at some later

Distance Properties Illustration
  • sequence 2 Hamming weight 5, dinf 1
  • sequence 3 Hamming weight 7, dinf 3.

Modified State Diagram
  • The span of interest to us of a nonzero path
    starts from the 00 state and ends when the path
    first returns to the 00 state. Split the 00 state
    (state a) to two states a0 and a1.
  • The branches are labeled with the dummy variables
    D, L and N, where
  • The power of D is the Hamming weight ( of 1s)
    of the
  • output corresponding to that branch.
  • The power of N is the Hamming weight ( of 1s)
    of the
  • information bit(s) corresponding to that branch.
  • The power of L is the length of the branch
    (always 1).

Modified State Diagram (contd)
Properties of the Path
  • Sequence 2
  • code sequence .. 00 11 10 11 00 ..
  • state sequence a0 b c a1
  • Labeled (D2LN)(DL)(D2L) D5L3N
  • Prop. w 5, dinf 1, diverges from the allzero
    path by 3 branches.
  • Sequence 3
  • code sequence .. 00 11 01 01 00 10 11 00 ..
  • state sequence a0 b d c b c
  • Labeled (D2LN)(DLN)(DL)(DL)(LN)(D2L)
  • Prop. w 7, dinf 3, diverges from the allzero
    path by 6 branches.

Transfer Function
  • Input-Output relations
  • a0 1
  • b D2LN a0 LNc
  • c DLb DLNd
  • d DLNb DLNd
  • a1 D2Lc
  • The transfer function T(D,L,N) a1 /a0

Transfer Function (contd)
  • Performing long division
  • T D5L3N D6L4N2 D6L5N2 D7L5N3 .
  • If interested in the Hamming distance property of
    the code only, set N 1 and L 1 to get the
    distance transfer function
  • T (D) D5 2D6 4D7
  • There is one code sequence of weight 5. Therefore
  • There are two code sequences of weight 6,
  • four code sequences of weight 7, .
Write a Comment
User Comments (0)