You are on page 1of 30

Convolutional Codes

ENCODER

Every bit of massage or data interference “ N ”


groups of “ l ” digit in the output.
l - no. of modulo-2 address
And hence the no. of bits encode every data bit.
n – no. of bits used to encode k no. of data bits.

N= (K+N-1)l
If K >> N , n=Kl
1
And the code rate =
𝑙
State Transition Diagram Representation
Trellis Diagram

( Trellis Diagram )
Code Tree

 Decoding can be performed from the code tree itself. To


decode a received sequence, we have to search the code
tree for the path having minimum distance from the
received sequence.
 Also this type of decoding is called the maximum
likelihood decoding.
 For example : Received sequence is
101000 R
111000 C

This bit has been reversed because of noise.


Example of 1/3 convolution Encoder

𝑉1 = 𝑑𝑘 ⊕ 𝑑𝑘−1 ⊕ 𝑑𝑘−2
𝑉2 = 𝑑𝑘
𝑉3 = 𝑑𝑘 ⊕ 𝑑𝑘−1

Also 𝑉1 (x), 𝑉2 (x) and 𝑉3 (x) cab be expressed as


𝑉1 (x)= 𝑔1 (x).d(x)
𝑉2 (x)= 𝑔2 (x).d(x)
𝑉3 (x)= 𝑔3 (x).d(x)
Then multiplex 𝑉1 , 𝑉2 and 𝑉3 to. get ‘C’ the code word.
Here 𝑔1 (x) = 1 + 𝑥 + 𝑥 2 as 𝑔1 = [1 1 1]
𝑔2 (x) = 1 as 𝑔2 = [1 0 0]
𝑔3 (x) = 1 + 𝑥 as 𝑔3 = [1 1 0]
anuvhav
anubhav
arpna
Decoding methods of convolutional code
The methods used for decoding convolutional code are :-
1) Viterbi Algorithm.
2) Sequential Decoding.
3) Feedback Decoding.
Viterbi Algorithm :-
1) Each path that transverses through the trellis diagram represents a valid code word.
2) Hence each code-word is a trellis path that start from state ‘a’(0 0).
3) The discrepancy between the received signal and the decoded signal at a particular node or
stage is known as the metric.
4) Let us take the 1st Encoder as shown in slide-1 and apply Viterbi Algorithm for maximum
likelihood decoding for the data 100000 which is encoded as 111011000000 and the received
digits as 011011000000

𝒅→100000
𝒆→111011000000
𝑹→011011000000
Stages of Decoding

Stage- I and II Stage- III


Storage of Decoding

Stage- IV Stage- V
Storage of Decoding

Stage - VI
Algorithm/Explanation

The best path to each state need to be stored at a given stage.


There is no reason to store anything but the optimum path to each state at every stage.
Since only the four best surviving paths (one for each state) exist at stage “i-1”, there are
only two possible paths for each state at stage ‘i’.
Hence by comparing the total hamming distances (from the received sequence) of the two
paths , we can find the optimum path with the minimum hamming distance for every state
at stage ‘I’ that corresponds to a code-word closest to the received sequence up to stage
‘I’.
The optimum path to each state is known as Survivor or Surviving Path. This is also
known as the path of the decoded signal/sequence with minimum metric.
Type equation here.
Received 01 01 01 01 01 01 01
bits
0/00 0/00 0/00 0/00 0/00 0/00
a: 00

1/11 1/11 1/11 1/11 1/11 1/11

b: 01

c: 10

d: 11
1/10 1/10 1/10 1/10
Received 01 01 01 01 01 01 01
bits
[2] [1] [2] [2] [2]
0/00 0/00 0/00 0/00 0/00 0/00
a: 00

1/11 1/11 1/11 1/11 1/11 1/11

b: 01 [2] [2] [2] [2] [2]

c: 10
[1] [3] [2] [3] [3]

d: 11
1/10 1/10 1/10 1/10
[3] [3] [3] [3] [3]
0
(00) ∅000
0
(00)
(11) ∅001
0 1
(00) 0
(10) 010
1
0 (11)
(01) 011
1

0
(11) 100
1 0
(10)
(00) 101
1 1
(11) 0
(01) 110
Path 1
(01)
(10) 111
1
Received 01 10 11 10 00 00
bits
[2] [1] [2] [2]
0/00 0/00 0/00 0/00 0/00
a: 00 = min(2+0, 2+2)

1/11 1/11 1/11 1/11 1/11

b: 01 [2] [2] [2] [2]


= min(2+2, 2+0)

c: 10
[1] [3] [2] [3] = min(2+1, 3+1)

d: 11 = min(2+1, 3+1)
[3] 1/10 [3] 1/10 [3] 1/10 [3]
Received 01 10 11 10 00 00
bits
[2] [1]
0/00 0/00 0/00
a: 00 = min(2+2, 1+0)

[2] [2]
b: 01
= min(2+0, 1+2)

c: 10
[1] [3] = min(2+1, 3+1)

d: 11 = min(2+1, 3+1)
[3] 1/10 [3]
Received 01 10 11 10 00 00
bits
[2]
0/00 0/00
a: 00 Survivor path matrix

1/11 1/11
[2]
b: 01
Survivor path matrix

c: 10
Survivor path matrix
[1]

[3]
d: 11 Survivor path matrix
𝑑𝑘−2 𝑑𝑘−1 𝑑𝑘 Input Data

States

State States
Labels

a: 0 0 No. of states = 2𝑁−1

b: 0 1

c: 1 0

d: 1 1
0
(00) ∅000
0
(00)
(11) ∅001
0 1
(00) 0
(10) 010
1
0 (11)
(01) 011
1

0
(11) 100
1 0
(10)
(00) 101
1 1
(11) 0
(01) 110
Path 1
(01)
(10) 111
1
Received 11
01 10 10 00 00
bits
[2] [1]
0/00 0/00 0/00 0/00
a: 00 = min(1+1, 3+1)

1/11 1/11 1/11 1/11

b: 01 [2] [2]
= min(1+1, 3+1)

c: 10
[1] [3] = min(2+0, 3+2)

d: 11 = min(2+3, 3+0)
[3] 1/10 [3] 1/10
1/10

11 d

0/01
1/01
1/00
b c
01 10

0/10

1/11 0/11

a 00

0/00
( State Transition Diagram )
“N” Shift Registers

Input Data Stream


0 0 0 1 0 1 1
𝑑𝑘 𝑑𝑘−1 𝑑𝑘−2
or
1 1 0 1 0 0 0

Dummy
Digits

𝑣1 𝑣2
Output Stream
00110100101011
Coded
or
data
11010100101100

You might also like