Escolar Documentos
Profissional Documentos
Cultura Documentos
EE-851
EE-851 2
Convolutional Codes
• Look up table
• State machine
– Easy for tracking all transitions
– Disadvantage being no time dimension
• Trellis diagram
– Incorporates time dimension
• Tree structure
• Generator polynomial
• Generator Matrix
EE-851 3
Convolutional Codes
• Trellis construction
– Row wise representation of states
– Column wise time representation
• Encode 𝑢 = 01001
– 𝑥 = 0011010011
EE-851 4
Convolutional Codes – Example
(1)
𝑥𝑖
𝑢𝑖
(2)
𝑥𝑖
EE-851 5
Convolutional Codes – Example
(1)
𝑥𝑖
𝑢𝑖 (2)
𝑥𝑖
(3)
𝑥𝑖
EE-851 6
Convolutional Codes
• Encode 1 0 0
EE-851 7
Convolutional Codes – Example
𝑢𝑖 (1)
𝑥𝑖
(2)
𝑥𝑖
EE-851 8
Convolutional Codes – Example
• Input bit stream is considered to be structured as
1 2 1 2 1 2
… 𝑢𝑖+1 , 𝑢𝑖+1 , 𝑢𝑖 , 𝑢𝑖 , 𝑢𝑖−1 , 𝑢𝑖−1 , …
• The generated output is structured as
1 2 3 1 2 3 1 2 3
… 𝑥𝑖+1 , 𝑥𝑖+1 , 𝑥𝑖+1 , 𝑥𝑖 , 𝑥𝑖 , 𝑥𝑖 , 𝑥𝑖−1 , 𝑥𝑖−1 , 𝑥𝑖−1 , …
EE-851 9
Convolutional Codes – Example
(1) (1)
𝑢𝑖 𝑥𝑖
(2)
𝑥𝑖
(2)
𝑢𝑖
(3)
𝑥𝑖
EE-851 10
Decoding of Convolutional Codes
• Viterbi Principle
– Compute the distance between the received sequence and all possible
trellis paths
– At each time step, keep only ‘most likely’ (surviving path) for each
state
– Essentially performs max. likelihood decoding
– Calculates measure of similarity (distance) between received signals at
any time ‘t’
– Does not consider paths which are not choice for max. likelihood
– When two paths enter the same state, the path with the best metric is
selected and is called surviving path
EE-851 11
Decoding of Convolutional Codes
• Viterbi algorithm
– Which path through the trellis matches most closely to
the received codeword
• Given received codeword 𝑦 = 0011010011
00 11 01 00 11
0 2 1 0 2
0
1 0 1 1
2 0 1 2 0
1 1 2 1 1
0 1 0 0 1
• Hence 𝑢 = 01001
EE-851 12
Decoding of Convolutional Codes
• Viterbi algorithm
• Given received codeword 𝑦 = 001𝟎010011
00 10 01 00 11
0 1 1 0 2
0
2 0 1 1
2 1 1 2 0
1 0 2 1 1
0 1 0 0 1
• Hence 𝑢 = 01001
EE-851 13
Decoding of Convolutional Codes
• Viterbi algorithm
• Given received codeword 𝑦 = 001𝟎0𝟎0011
00 10 00 00 11
0 1 0 0 2
0
2 1 1 1
2 1 2 2 0
1 0 1 1 1
0 0 0 0 1
EE-851 14
Decoding of Convolutional Codes
(1)
𝑥𝑖
𝑢𝑖
(2)
𝑥𝑖
• Encode 𝑢 = 11011
– Transmitted 01 00 00 01 01 11
– Received 11 01 01 00 00 01
EE-851 15