You are on page 1of 24

Convolutional Coding

Code: ELT3057

Description
It is viewed as a finite-state machine that consists of an M-stage shift register with n modulo-2 adders and a multiplexer in output A L-bit message produces n(L+M) code bits typical L>>M The constraint length: K=M+1, Number of shift, a single bit can influence the output

Example
n=2, K=3, r=1/2, k=1 n=3,K=2, r=2/3

Represent by polynomial
Each path connecting the output to input like as the response of path when symbol 1 applied to its input (set initially equal zero) This response is defined as the unit-delay transform of the impulse response (a generator polynomial ) The complete convolutional encoder is described by the set of generator polynomial The encode is the convolution of message and paths response

example
The message 10011 Convolution in time domain is transformed into multiplication in the D-domain.

The output of path1 : 1111001 path 2: 1011111 Finally, multiplexing the two output Note that L=5, produces an encode sequence of length n(L+K-1)=14

For the shift register to be restored to its zero initial state, a terminating sequence of K-1=2 zero is appended to last input bit of the message, they are called the tail of the message.

Representation of Code tree


The message is 1001 Encoded 11,10,11,11,01 The tree becomes repetitive after the first three branches Memory M=K-1=2, hence when the third message bit enters, the first bit message is shifted out of register

Trellis and state diagram


Consequently, after the third branch the message generate the same code symbols The trellis: Associate with the finite-state machine. L: message, K: constraint length The trellis contains L+K levels, they are label as j=0,1,..L+K-1 The first K-1 level from initial state a. the last K-1 level return to state a

Maximum Likelihood Decoding of convolutional codes


Suppose r differs c in d positions

Second term is constant. Choose the c^ closest r by the hamming distance

The Viterbi Algorithm


The equivalent is choosing a path in the tree or trellis so that differs the fewest number of place. For each node the algorithm compares the metric of two paths entering the node. The path with the lower metric is retained, and the other path is discarded Repeat for every level j: K-1<j<L

Example
Suppose the codeword has all of zero, after the channel have two error {0100010000}. Applying the algorithm for level j=1,2,3,4,5 For j=2, there are four paths For j=3 the path entering each of the state together with their metric. Examining the four survivors for j=5, we see that all-zero path has the smallest metric, which agrees exactly with the transmitted sequence

Algorithm process

The free distance can be obtained from the state diagram

Determine the free distance

Using the binomial expansion

Setting L=1 The first term in the expansion, defines the free distance

A signal-flow graph consists of nodes and directed branches: A branch multiplies the signal at its input node by the transmittance characterizing that branch A node with incoming branches sums the signals produced by all of those branches. The signal at a node is applied equally to all the branches outgoing from that node The transfer function of the graph is the ratio of the output signal to the input signal

Free distance of a convolutional code


Dfree is minimum hamming distance between any two code words. For BSC Pe~exp(-dfreerEb/2N0), then coding gain For binary-input AWGN channel

Revision
What is the convolutional code. It is different to the block code on which features How to represent the convolutional code in the tree, the trellis. How does the operation of Viterbi Algorithm for decoding the convolutional code.

Problems

You might also like