Block codes
What Are Block codes?
Block codes are a class of error-correcting codes that encode a fixed-length sequence of information bits into a longer fixed-length codeword by appending redundant check bits. In a systematic (n, k) block code, k information bits are mapped to an n-bit codeword, with the n−k extra bits computed as functions of the message. A receiver uses these redundant bits to detect or correct errors introduced by a noisy channel, without requiring retransmission. Block codes take their name from the fact that encoding and decoding operate on discrete, self-contained blocks of data rather than on a continuously sliding window as in convolutional codes.
Block coding theory draws from abstract algebra, finite field arithmetic, and information theory, and the discipline traces its modern form to Shannon's 1948 channel capacity theorem and the subsequent foundational work on algebraic codes in the 1950s and 1960s. Hamming, Golay, Reed-Solomon, and BCH codes all emerged from this period and continue to underpin contemporary communication and storage systems.
Linear Block Codes
A linear block code is one in which any linear combination of two valid codewords is itself a valid codeword. This algebraic structure, defined over a finite field (typically GF(2) for binary codes), enables compact representation via a generator matrix G and a parity-check matrix H. Encoding multiplies the k-bit message vector by G; decoding computes the syndrome by multiplying the received vector by H and maps the syndrome to the most likely error pattern. The minimum Hamming distance d_min of the code determines both error-detection and error-correction capacity: a code with minimum distance d can detect up to d−1 errors and correct up to ⌊(d−1)/2⌋ errors per codeword. Lecture materials from the University of Pennsylvania on block codes for error control provide a detailed treatment of syndrome decoding and the trade-off between code rate and distance in practical designs.
Cyclic Codes, BCH, and Reed-Solomon
Cyclic codes are a subclass of linear block codes in which any cyclic shift of a codeword is also a valid codeword. This property corresponds to a polynomial ring structure over GF(2) or GF(q), making encoding and decoding implementable with linear feedback shift registers, which are efficient in both hardware and software. BCH codes, named for Bose, Chaudhuri, and Hocquenghem and independently discovered in 1959 and 1960, generalize Hamming codes to correct multiple errors per block; the designer specifies the number of correctable errors t, and the code construction guarantees d_min ≥ 2t+1. Reed-Solomon codes are non-binary BCH codes operating over GF(2^m), where each symbol represents m bits. A Reed-Solomon RS(n,k) code over GF(2^8) is the backbone of CD, DVD, and Blu-ray error correction, as well as QR codes, because it handles burst errors, where contiguous bits in a block are corrupted, with particular efficiency. As discussed in channel coding for optical communications, high-rate Reed-Solomon codes remain important in fiber-optic systems where burst errors from optical impairments are a primary concern.
Low-Density Parity-Check Codes
Low-density parity-check (LDPC) codes, a subclass of linear block codes first proposed by Gallager in 1960 and rediscovered in the 1990s, approach the Shannon limit more closely than BCH or Reed-Solomon codes for large block lengths. Their parity-check matrix is sparse, enabling iterative belief-propagation decoding on a factor graph. A review of channel coding toward 6G details how LDPC codes, alongside polar codes, have displaced convolutional codes in 5G NR standards for data channels, owing to their near-capacity performance and parallelizable decoder architectures.
Applications
Block codes have applications across a wide range of communication and storage contexts, including:
- Mobile wireless communications, where 5G NR uses LDPC codes for data-channel error correction
- Satellite and deep-space communication, where long propagation delays make retransmission impractical
- Optical storage media including CDs, DVDs, and Blu-ray discs
- Flash memory and solid-state drives, where BCH and LDPC codes correct wear-related bit errors
- QR codes and barcodes, where Reed-Solomon redundancy enables reading of partially damaged symbols