2.1: Turbo Codes and LDPC codes
2.1 Turbo Codes and LDPC codes
Concatenated codes were first proposed by Forney [46] as a means for achieving high coding gain (without the complexity of long codes) by combining two or more relatively simple component codes. A serial concatenation of codes is often used in power limited channels such as deep space and satellite communication applications. The most popular of these schemes is a serial concatenation of an outer Reed-Solomon code with an inner convolutional code [33]. Product codes introduced by Elias in 1954 [41], known for their simultaneous burst- and random-error correcting capability, can serve a similar purpose. Conventional algorithms for decoding concatenated and products codes, however, gave rather poor results because they used hard decision decoding. In 1992, John Lodge et al. proposed a solution with good performance based on iterative decoding using soft-input/soft-output decoders [4]. In 1993, Berrou [6] introduced a coding scheme consisting of two parallel recursive systematic convolutional encoders separated by an interleaver and using an iterative A Posteriori Probability (APP) decoder. The scheme, called Turbo coding, achieved an exceptionally low BER at a SNR very close to Shannon's theoretical limit.
The Maximum a posteriori Probability (MAP) algorithm was applied to the problem of symbol-by-symbol detection of coded sequences by Bahl, Cocke, Jelinik and Raviv in 1974 [57]. The resulting algorithm, called the BCJR algorithm became popular in the research community because of the introduction of turbo codes in recent years.
Motivated by the introduction of...