Chapter 12Convolutional Codes

12.1 Introduction and Basic Notation

Convolutional codes are linear codes that have additional structure in the generator matrix so that the encoding operation can be viewed as a filtering — or convolution — operation. Convolutional codes are widely used in practice, with several hardware implementations available for encoding and decoding. A convolutional encoder may be viewed as nothing more than a set of digital filters — linear, time‐invariant systems — with the code sequence being the interleaved output of the filter outputs. Convolutional codes are often preferred in practice over block codes, because they provide excellent performance when compared with block codes of comparable encode/decode complexity. Furthermore, they were among the earliest codes for which effective soft‐decision decoding algorithms were developed.

Whereas block codes take discrete blocks of images symbols and produce therefrom blocks of images symbols that depend only on the images input symbols, convolutional codes are frequently viewed as stream codes, in that they often operate on continuous streams of symbols not partitioned into discrete message blocks. However, they are still rate ...

Get Error Correction Coding, 2nd Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.