Turbo Coding for Satellite and Wireless Communications

A Block Turbo Code (BTC) is a concatenated block code decoded with iterative decoding technique. There can be both serial and parallel concatenated codes. In some literatures, a serial concatenated code based on the idea of 2-dimensional product code is called a Turbo Product Code (TPC). There are two different Soft-Input Soft-Output (SISO) decoding methods for BTC, viz., the Trellis-based algorithm [7] and the Algebraic decoding based algorithm or Augmented List Decoding algorithm [128], [126] and [123].
We divide our literature review on the topic of BTCs into two parts based on the decoding method used. After a brief review of the BTCs, serial and parallel concatenated block codes with block interleaver are introduced. Then, serial and parallel iterative decoding ideas are discussed and, two SISO decoding algorithms are presented. One is based on the algebraic algorithm, i.e. modified Chase-II algorithm. The other is the trellis-based algorithm.
In trellis-based iterative algorithm, an extension of Bahl-Cocke-Jelinek-Raviv (BCJR) algorithm [57], the state sequence of a discrete-time finite state Markov process in a memory less channel is estimated. Such a process can be represented by a trellis diagram. Both convolutional and block codes have a trellis diagram representation. Lodge et al. [4] presented the separable MAP-filters approach for decoding the multi-dimensional product codes and extended it to concatenated convolutional codes with interleaver. The extrinsic information, called the refinement factor, is passed from one decoding process to...