Convolutional Coding with Interleaving
Convolutional codes suffer performance degradation in fading channels, since the code is not designed to correct for bursts of errors.Thus, it is common to use an interleaver to spread out error bursts.The interleaver commonly used with convolutional codes, called a convolutional interleaver, is designed to both spread out burst errors and to work well with the incremental nature of convolutional code generation
Figure Convolutional Coding and Interleaving
- A Block diagram for a convolutional interleaver is shown in Figure.
- The encoder output is multiplexed into buffers of increasing size, from no buffering to a buffer of size N − 1.The channel input is similarly multiplexed from these buffers into the channel.
- The reverse operation is performed at the decoder.
- Thus, the convolutional interleaver delays the transmission through the channel of the encoder output by progressively larger amounts, and this delay schedule is reversed at the receiver.
- This interleaver takes sequential outputs of the encoder and separates them by N − 1 other symbols in the channel transmission, thereby breaking up burst errors in the channel
- The total memory associated with the convolutional interleaver is .5N (N − 1) and the delay is N (N − 1) Ts , where Ts is the symbol time for transmitting the coded symbols over the channel
- The Chernoff bound again yields probability of error under soft decision decoding with a diversity order based on the minimum free distance of the code. Hard decision decoding reduces this diversity by a factor of two.