The bit error rate (BER) of parallel concatenated convolutional codes (turbo codes) is determined by the weight distribution of its codewords. In this thesis work, we investigate the dependency of the weight distribution of turbo codes on the interleaver structure, and design a non-uniform interleaver. It is found that the turbo codes with a circular shift interleaver have the relatively large free distance when the interleaver size is small. So this uniform interleaver is suitable for transmitting short length frames. But when the interleaver size becomes large, a non-uniform is suitable for turbo codes. The modified helical interleaver designed in this thesis has a non-uniform structure, and generates much less codewords with low weights. Therefore this interleaver has the lower BER compared to the uniform interleavers (block,helical and circular shift interleaver).
The maximum a posteriori (MAP) algorithm is an optimal decoding method which minimizes BER. An approximation of MAP leads to the sub-optimal (sub-MAP) which does not require the estimation of the noise variance of the channel. A further simplification yields the soft output Viterbi algorithm (SOVA). In this thesis, we compare BER performance and the decoding complexity of these three algorithms (MAP,sub-MAP and SOVA). Simulation results show that BER of sub-MAP is slightly higher than that of MAP, but is lower than that of SOVA. And the number of operations of sub-MAP is about half of MAP. Using a TMS32-0C548 digital signal processor (DSP), a turbo/sub-MAP decoder with four states and half the code rate is implemented.