![]() |
TURBO CODES (Cont) |
|
|
The most common form of convolutional encoder is the nonrecursive nonsystematic convolutional encoder, such as the one shown in figure 1. This type of encoder cannot be used as the constituent encoder for a turbo code simply because it is not systematic -- that is one of the outputs is not the input itself. Use of a nonrecursive systematic convolutional encoder is also unacceptable because of the poor distance properties of the resulting code . This encoder can be modified in such a way that it becomes systematic and retains its distance properties. The modification involves feeding back one of the outputs . The resulting encoder is systematic and recursive since the state of the internal shift register depends on past outputs. Such an encoder is called a Recursive Systematic Convolutional (RSC) encoder as shown in Figure 2.
A convolutional encoder may be used to generate a block code if the
internal state of the encoder is known at the beginning and end of the
code word. The usual convention is ak = dk
(mod-2 add)ak_1 (mod-2 add)ak_2 --------------------------(3) dk = ak (mod-2 add)ak_1 (mod-2 add)ak_2 ------------------------- (4) Since we want to bring the encoder back to the all-zeros state, we set ak in the above to zero and thus: dk = ak_1 (mod-2 add)ak_2 -------------------------------------(5) And this
is the input to the encoder required to force the encoder into the all-zeros
state.
|