2. • A convolutional code or trellis code-encoded bit stream is decoded by a
Viterbi decoder using the Viterbi algorithm.
• Convolutional code is decoded by selecting the path in the code tree where
the coded and received sequences diverge in the fewest number of locations.
• It is also called as Maximum likelihood(Viterbi) decoder.
• Here we use trellis method for decoding the received bit.
3. To determine the trellis path that is closest to the bit
sequence of the received data.
4. • Step 1 Construct Trellis Encoder
• Step 2Create a trellis diagram using the trellis encoder
• Step 3Match the weights with regard to the diagram
• Step4Then locate the trellis path with the lowest weights.
5. Step 1 Construct Trellis Encoder
X1= M0 M1 M2
Input X1= M0 M2
M0 M1 M2
X1 X2
Input
M0
Present
State M1
Next
State M2
Output
X1 X2
0 a a 0 0
1 a b 1 1
0 b c 1 0
1 b d 0 1
0 c a 1 1
1 c b 0 0
0 d c 0 1
1 d d 1 0
State a (0 0)
State b (0 1)
State c (1 0)
State d (1 1)
6. Step 2Create a trellis diagram using the trellis encoder
00 00 00 00 00
11 11 11 11 11
11 11 11
00 00 00
10 10 10 10
01 01 01
01 01 01 01
10 10 10
Received data bit sequence is given by 0110110000
State a (0 0)
State b (0 1)
State c (1 0)
State d (1 1)
7. Step 3Match weighted with respect to trellis diagram
00 00 00 00 00
11 11 11 11 11
11 11 11
00 00 00
10 10 10 10
01 01 01
01 01 01 01
10 10 10
Received data bit sequence is given by 01 10 11 00 00 Input 0 Input 1
Decoded data bit sequence is given by 11 10 11 00 00 Decoded path
So there is error in one bit during decoding by Viterbi algorithm.
State a (0 0)
State b (0 1)
State c (1 0)
State d (1 1)
2
2
1
1
2
1 1
3
1
1
3 3