24-03-2012, 12:31 PM
Simulation and Design of Parameterized Convolutional Encoder
and Viterbi Decoder for Wireless Communication
IEOM184.pdf (Size: 184.8 KB / Downloads: 50)
Introduction
In wireless communication AWGN (Additive White Gaussian Noise) properties of most of the communication
media introduce noise in real data during transmission. The approach to error correction coding taken by modern
digital communications system starts with the ground breaking work of Shannon, Hamming and Golay [1-3].
Channel Coding is a technique to introduce redundant code in real code to remove interference and error during
transmission. Coded data in sender side thus increased by volume and error effect becomes less compare with
uncoded data. Receiver end receives this data and decodes the data using some techniques. Viterbi decoding is one
of the popular techniques to decode data effectively. Viterbi algorithm (VA) is an optimum decoding algorithm for
the convolutional code. Convolutional encoding and Viterbi Decoding are widely used for reliable data
transmission. There are different approaches of implementation for Convolutional Encoder and Viterbi Decoder in
the literatures [4-7]. Literature [4] presents the implementation of Convolutional Encoder and Viterbi Decoder in the
DSP Platform. It is a flexible platform but slow in speed.
Effect of Trellis Length
When error arises in received signal, decoding sequence expanded using binary tree structure. Each node has two
paths .When last leaf level is fulfilled, maximum humming distance coded sequence in a node is kept another is
discarded. Thus increasing the trellis length does not follow the complete binary tree structure after reaching the last
leaf level.
Convolutional Encoder
A convolutional code introduces redundant bits into the data stream through the use of linear shift registers.
Convolutional codes are commonly specified by three parameters; ( n,k,m ). The information bits are input into
shift registers and the output encoded bits are obtained by modulo-2 addition of the input information bits and the
contents of the shift registers. The connections to the modulo-2 adders were developed heuristically with no
algebraic or combinatorial foundation. Convolutional codes are commonly specified by three parameters ( n,k,m )
n = number of output bits
k = number of input bits
m = number of memory registers
The quantity k/n called the code rate is a measure of the efficiency of the code.
Viterbi Decoder
The Viterbi decoder examines an entire received sequence of a given length. The decoder computes a metric for
each path and makes a decision based on this metric. All paths are followed until two paths converge on one node.
Then the path with the higher metric is kept and the one with lower metric is discarded. The selected paths are called
the survivors. For an N bit sequence, total numbers of possible received sequences are 2^N . Of these only 2^KL
are valid. The Viterbi algorithm applies the maximum-likelihood principles to limit the comparison to 2 to the power
of kL surviving paths instead of checking all paths. The most common metric used is the Hamming distance metric.
This is just the dot product between the received codeword and the allowable codeword.