11-05-2012, 04:18 PM
Advanced Digital Communication
3320 conv coding.ppt (Size: 977.5 KB / Downloads: 97)
Convolutional encoding
Convolutional codes are applied in applications that require good performance with low implementation complexity. They operate on code streams (not in blocks)
Convolution codes have memory that utilizes previous bits to encode or decode following bits (block codes are memoryless)
Convolutional codes are denoted by (n,k,L), where L is code (or encoder) Memory depth (number of register stages)
Constraint length C=n(L+1) is defined as the number of encoded bits a message bit can influence to
Convolutional codes achieve good performance by expanding their memory depth
Code weight, path gain, and generating function
The state diagram can be modified to yield information on code distance properties (= tells how good the code is to detect or correct errors)
Rules (example on the next slide):
(1) Split S0 into initial and final state, remove self-loop
(2) Label each branch by the branch gain Xi. Here i is the weight* of the n encoded bits on that branch
(3) Each path connecting the initial state and the final state represents a nonzero code word that diverges and re-emerges with S0 only once
The path gain is the product of the branch gains along a path, and the weight of the associated code word is the power of X in the path gain
Code weigh distribution is obtained by using a weighted gain formula to compute its generating function (input-output equation)
Example of exhaustive maximal likelihood detection
Assume a three bit message is transmitted and encoded by (2,1,2) convolutional encoder. To clear the decoder, two zero-bits are appended after message. Thus 5 bits are encoded resulting 10 bits of code. Assume channel error probability is p = 0.1. After the channel 10,01,10,11,00 is produced (including some errors). What comes after the decoder, e.g. what was most likely the transmitted code and what were the respective message bits?