» SystemVue Index

  » Introduction



Convolution Coding

Convolution encoders are used to provide error correction and detection. Each transmitted symbol is dependant on both the present and past inputs. This has the effect of restricting the number of possible future output states.

The decoder examines the symbols as they arrive and compares their values over a period of time. Once it has successfully locked on to the data, it can anticipate that the next decoded symbol will be one of only two possibilities. If the decoded output is not one of these two states, an error is deemed to have occurred and corrective action can be taken.

Simple Convolution Encoder

k = number of shifts before adding (normally = 1)

n = number of adders

K (or L) = constraint length (equal to the number of shift registers if k = 1)

Code rate = k/n (in this case = Ĺ, i.e. there are 2 output bits for every input bit)

Increasing the output bit rate seems counterproductive. However, since each serial output value is dependent on a combination of three consecutive input values, it should be clear that although the input sequence may be random, the output sequence isnít. Therefore, the decoder can anticipate the possible next value and detect an error.

The following SystemView file illustrates a simple convolution encoder/decoder pair.

The following SystemView example shows the difference in BER when using hard and soft decision thresholds in the decoder.

Steve's free web templates