Download convolutional codes and its characteristics and more Study Guides, Projects, Research Digital Communication Systems in PDF only on Docsity!
Convolutional Codes
- Overview
- Parameters
- Encoding
- Impulse Response/Generator Sequences
- State Diagram
- Trellis Diagram
- Decoding
Convolutional Codes
- Convert any length message to a single ‘codeword’
- Encoder has memory and has n outputs that at any time depend on k inputs and m previous input blocks
- Typically described by 3 parameters:
- n = no. of bits produced at encoder output at each time unit
- k= no. of bits input to encoder at each time unit
- And one of:
- m = memory of encoder = no. of prev. input blocks used to generate each output (or)
- K = constraint length = max. no. of bits in a single output stream that can be affected by any input bit = 1+ max i mi
0 *^ 1 1 0 1 0 0
1
0
1
0 00
0
0
Input: 10110
Encoding Example
0 *^ 1 1 0 1 0
0
0
0
0 00
1
0
Input: 10110
0 *^1 1 0
1
0
1
0 01
1
1
Input: 10110
0 *^1 1
0
0
0
1 00
1
0
Input: 10110
0 0 *^1
0
0
0
0 01
0
1
Input: 10110
0
0
0
0 00
0
0
Input: 10110 Output: 11, 01, 01, 01, 11, 01, 11, 00
Impulse Response/Generator Seq.
- These sequences also specify the connections from the shift registers to the outputs: g(0)^ = (1 0 1 1) g(1)^ = (1 1 0 1)
- A 1 means connection, 0 means no connection
1 1 1
1 1 1
0
0
Impulse Response/Generator Seq.
- The generator sequences are often specified in octal form
- The binary representation is left-shifted so that the most significant bit (MSB) of the binary representation is also the MSB of the first digit
- Example: g(0)^ = (1 0 1, 1) = 54 g(1)^ = (1 1 0, 1) = 64
Trellis Diagram
•^
A trellis diagram is a state diagram that has been expanded to show thepassage of time:
Trellis Diagram
- Every possible codeword is represented by a single unique path through the trellis
- Every codeword starts and stops in S 0 , the all-zeros state
Decoding:Viterbi Algorithm
- Usually, the log-likelihood function is used
to simplify implementation
- The log-probabilities, *, known as bit metrics, are usually converted into small integers
- The ML algorithm chooses y’ that maximizes p ( r | y’ )
∑ ∑^ (^ )
− =
1 0
1 (^0) *
log ( | ') L^ m log (^ )| '( ) i
n j
j i
j p r y 1 4 2 p 4 ri (^) 4 3 y 4
Decoding: Viterbi Algorithm
- The Viterbi algorithm finds the ML codeword by using the code trellis:
Viterbi Algorithm (Wicker, p. 296-7)
- Let the node corresponding to state Sj at time t be denoted by Sj,t
- Each node in the trellis is assigned a metric value V( Sj,t )
- The metric values are computed by
- Let V( S0,0 ) =0 and t = 1
- At time t , compute the partial path metrics for all paths entering each node.
- Set V( Sk,t ) equal to the best partial path metric entering the node corresponding to state Sk at time t. Ties can be broken by flipping a coin. Nonsurviving branches are deleted from the trellis.
- If _t