On turbo codes and other concatenated schemes in communication systems
The advent of turbo codes in 1993 represented a significant step towards realising the ultimate capacity limit of a communication channel, breaking the link that was binding very good performance with exponential decoder complexity. Turbo codes are parallel concatenated convolutional codes, decoded with a suboptimal iterative algorithm. The complexity of the iterative algorithm increases only linearly with block length, bringing previously unprecedented performance within practical limits. This work is a further investigation of turbo codes and other concatenated schemes such as the multiple parallel concatenation and the serial concatenation. The analysis of these schemes has two important aspects, their performance under optimal decoding and the convergence of their iterative, suboptimal decoding algorithm. The connection between iterative decoding performance and the optimal decoding performance is analysed with the help of computer simulation by studying the iterative decoding error events. Methods for good performance interleaver design and code design are presented and analysed in the same way. The optimal decoding performance is further investigated by using a novel method to determine the weight spectra of turbo codes by using the turbo code tree representation, and the results are compared with the results of the iterative decoder. The method can also be used for the analysis of multiple parallel concatenated codes, but is impractical for the serial concatenated codes. Non-optimal, non-iterative decoding algorithms are presented and compared with the iterative algorithm. The convergence of the iterative algorithm is investigated by using the Cauchy criterion. Some insight into the performance of the concatenated schemes under iterative decoding is found by separating error events into convergent and non-convergent components. The sensitivity of convergence to the Eb/Ng operating point has been explored.