Book contents
- Frontmatter
- Contents
- Preface
- 1 Coding and Capacity
- 2 Finite Fields, Vector Spaces, Finite Geometries, and Graphs
- 3 Linear Block Codes
- 4 Convolutional Codes
- 5 Low-Density Parity-Check Codes
- 6 Computer-Based Design of LDPC Codes
- 7 Turbo Codes
- 8 Ensemble Enumerators for Turbo and LDPC Codes
- 9 Ensemble Decoding Thresholds for LDPC and Turbo Codes
- 10 Finite-Geometry LDPC Codes
- 11 Constructions of LDPC Codes Based on Finite Fields
- 12 LDPC Codes Based on Combinatorial Designs, Graphs, and Superposition
- 13 LDPC Codes for Binary Erasure Channels
- 14 Nonbinary LDPC Codes
- 15 LDPC Code Applications and Advanced Topics
- Index
4 - Convolutional Codes
Published online by Cambridge University Press: 05 June 2012
- Frontmatter
- Contents
- Preface
- 1 Coding and Capacity
- 2 Finite Fields, Vector Spaces, Finite Geometries, and Graphs
- 3 Linear Block Codes
- 4 Convolutional Codes
- 5 Low-Density Parity-Check Codes
- 6 Computer-Based Design of LDPC Codes
- 7 Turbo Codes
- 8 Ensemble Enumerators for Turbo and LDPC Codes
- 9 Ensemble Decoding Thresholds for LDPC and Turbo Codes
- 10 Finite-Geometry LDPC Codes
- 11 Constructions of LDPC Codes Based on Finite Fields
- 12 LDPC Codes Based on Combinatorial Designs, Graphs, and Superposition
- 13 LDPC Codes for Binary Erasure Channels
- 14 Nonbinary LDPC Codes
- 15 LDPC Code Applications and Advanced Topics
- Index
Summary
The class of convolutional codes was invented by Elias in 1955 and has been widely in use for wireless, space, and broadcast communications since about 1970. Their popularity stems from the relative ease with which the maximum-likelihood sequence decoder may be implemented and from their effectiveness when concatenated with a Reed–Solomon code. Since the early 1990s, they have enjoyed new respect and popularity due to the efficacy of concatenations of multiple convolutional codes in turbo (-like) codes.
In this chapter, we introduce the class of convolutional codes. We first present algebraic descriptions of convolutional codes, which were pioneered by Forney and extended by Johannesson and Zigangirov. We also discuss various encoder realizations and matrix representations of convolutional codes. We then discuss a graphical (trellis) representation, which aids two optimal decoding algorithms, the Viterbi algorithm and the BCJR algorithm. Finally, we present techniques for bounding the performance of convolutional codes based on the technique of Viterbi. Our discussion in this chapter will include only binary convolutional codes. Extensions of the various details to the nonbinary case are straightforward. See for additional information on convolutional codes, including tables of optimal codes.
The Convolutional Code Archetype
Convolutional codes are linear codes with a very distinct algebraic structure. While they can be utilized in block-oriented (packet-based) situations, their encoders are frequently described as stream-oriented. That is, in contrast with a block code, whose encoder assigns an n-bit codeword to each block of k data bits, a convolutional encoder assigns code bits to an incoming information bit stream continuously, in a stream-oriented fashion.
- Type
- Chapter
- Information
- Channel CodesClassical and Modern, pp. 147 - 200Publisher: Cambridge University PressPrint publication year: 2009