LEC.2convolution code (2)
LEC.2convolution code (2)
part 3
Outline:
convolution code
encoder for convolution code
-state diagram
-code tree
- trellis
decoding of convolution codes
- Viterbi algorithm
Convolution coding is a popular error-correcting coding method
used to improve the reliability of communication system.
In the state diagram, the state information of the encoder is shown in the circles.
Each new input information bit causes a transition from one state to another.
Contents of the right most (m-1) shift register stages define the states of the
encoder. The transition of an encoder from one state to another, as caused by
input bits, is depicted in the state diagram.
The path information between the states, denoted as x/c, represents input
information bit x and output encoded bits c.
It is customary to begin convolutional encoding from the all zero state.
Tree Diagram Representation
The tree diagram representation shows all possible information and encoded sequences
for the convolutional encoder.
In the tree diagram, a solid line represents input information bit 0 and a dashed line
represents input information bit 1.
The corresponding output encoded bits are shown on the branches of the tree.
An input information sequence defines a specific path through the tree diagram from left
to right
The code tree starts at node ‘a’ if input message bit is m=1, then path of the tree goes
down towards node ‘b’ and output is ‘11’. Otherwise, if the input is m=0 at node ‘a’,
then path of the tree goes upward towards node ‘a’ and output is ‘00’. Similarly,
depending upon the input message bit, the path of the tree goes upward or downward
Trellis Diagram Representation
The trellis diagram is basically a redrawing of the state diagram. It shows all possible
state transitions at each time step.
The trellis diagram is drawn by lining up all the possible states (2L) in the vertical axis.
Then we connect each state to the next state by the allowable codeword for that state.
There are only two choices possible at each state. These are determined by the arrival
of either a 0 or a 1 bit.
o It starts from scratch (all 0’s in the SR, i.e., state a) and makes transitions
corresponding to each input data digit.
o These transitions are denoted by a solid line for the next data digit 0 and by a
dashed line for the next data digit 1.
o Thus when the first input digit is 0, the encoder output is 00 (solid line)
o When the input digit is 1, the encoder output is 11 (dashed line).
o We continue this way for the second input digit and so on as depicted in Figure that
follows.
Decoding of convolutional codes
- Viterbi algorithm