Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Convolutional Codes
Basic Definitions
k =1, n = 2 , (2,1) Rate-1/2 convolutional code Two-stage register ( M=2 ) Each input bit influences the output for 3 intervals (K=3) K = constraint length of the code = M + 1
Convolutional Codes 2
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.
Convolutional Codes
Convolutional Codes
Convolutional Codes
Decoding
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 .
Convolutional Codes
Convolutional Codes
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
Compute the two possible paths at each state and select the one with less cumulative Hamming weight
Convolutional Codes
15
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
D5 L3 T(D, L, N) 1 DNL(1 L)
Convolutional Codes 17