Turbo Codes
W.E. Ryan, Shu Lin
Abstract
W.E. Ryan, Shu Lin
Abstract
Turbo codes, which were first presented to the coding community in 1993, represent one of the most important breakthroughs in coding since Ungerboeck introduced trellis codes in 1982. In fact, the invention of turbo codes and their iterative “turbo” decoders started a revolution in iteratively decodable codes and iterative receiver processing (such as “turbo equalization”). Most frequently, a turbo code refers to a concatenation of two (or more) convolutional encoders separated by interleavers. The turbo decoder consists of two (or more) soft-in/soft-out convolutional decoders which iteratively feed probabilistic information back and forth to each other in a manner that is reminiscent of a turbo engine. In this chapter we introduce the most important classes of turbo codes, provide some heuristic justification as to why they should perform well, and present their iterative decoders. Our focus will be on parallel-and serial-concatenated convolutional codes (PCCCs and SCCCs) on the binary-input AWGN channel, but we also include the important class of turbo product codes. These codes involve block codes arranged as rows and columns in a rectangular array of bits. The decoder is similar to that for PCCCs and SCCCs, except that the constituent decoders are typically suboptimal soft-in/soft-out list decoders. The reader is advised to consult the leading papers in the field for additional information on the codes considered in this chapter: [4–19]. Our focus is on the binary-input AWGN channel. Nonbinary turbo codes for the noncoherent reception of orthogonal signals are considered in [20].
OpenAlex reports 1 citations for this work. Citation counts describe recorded attention and do not establish research quality.
A contribution statement is not available in the OpenAlex record.
Method details are not available in the OpenAlex metadata.
Findings are not separately available in the OpenAlex metadata.
Limitations are not available in the OpenAlex metadata.
Application details are not available in the OpenAlex metadata.
Turbo codes, which were first presented to the coding community in 1993, represent one of the most important breakthroughs in coding since Ungerboeck introduced trellis codes in 1982. In fact, the invention of turbo codes and their iterative “turbo” decoders started a revolution in iteratively decodable codes and iterative receiver processing (such as “turbo equalization”). Most frequently, a turbo code refers to a concatenation of two (or more) convolutional encoders separated by interleavers. The turbo decoder consists of two (or more) soft-in/soft-out convolutional decoders which iteratively feed probabilistic information back and forth to each other in a manner that is reminiscent of a turbo engine. In this chapter we introduce the most important classes of turbo codes, provide some heuristic justification as to why they should perform well, and present their iterative decoders. Our focus will be on parallel-and serial-concatenated convolutional codes (PCCCs and SCCCs) on the binary-input AWGN channel, but we also include the important class of turbo product codes. These codes involve block codes arranged as rows and columns in a rectangular array of bits. The decoder is similar to that for PCCCs and SCCCs, except that the constituent decoders are typically suboptimal soft-in/soft-out list decoders. The reader is advised to consult the leading papers in the field for additional information on the codes considered in this chapter: [4–19]. Our focus is on the binary-input AWGN channel. Nonbinary turbo codes for the noncoherent reception of orthogonal signals are considered in [20].
Key concepts: Turbo code, Serial concatenated convolutional codes, Turbo equalizer, Concatenated error correction code, Convolutional code, Computer science, BCJR algorithm, Block code