Library

4.2.4 Introduction To Block, Convolutional And Compound Codes

Channel-coding techniques are generally classified into three main categories: block codes, convolutional codes, or compound codes. We introduce each briefly here and discuss them in more detail in Sections 4.3, 4.4, and 4.7.

Block codes. The basic channel-coding concept is illustrated in Figure 4.4. The source data is partitioned into discrete blocks of k bits. Each block is independently encoded by the channel encoder to form a larger n-bit codeword (where n > k). The redundancy (the additional bits) introduced by this mapping enables the decoder to detect and, in many cases, correct the more probable bit errors.

Figure 4.4. The basic channel-coding concept.

Convolutional codes. Rather than processing discrete blocks, the encoder in a convolutional coding process operates continuously on a sliding window of input bits stored in a shift register. Each new input bit affects several consecutive output bits, producing a continuous encoded stream with a rate greater than that of the original data. Convolutional codes were widely used in wireless and satellite systems and remain conceptually important in modern coding theory.

Compound codes. Modern systems frequently employ more advanced codes—such as turbo codes, low-density parity-check (LDPC) codes, and polar codes—which combine block and convolutional principles and operate close to channel capacity. These codes achieve near–Shannon-limit performance and define the state of the art in coding theory. They provide the best trade-off between bandwidth efficiency, power efficiency, and implementation complexity for modern satellite, wireless, and deep-space systems.