Parity check codes

Parity check codes are error-detecting codes that append redundant bits to a data block so that errors altering an odd number of bits can be detected, though a single added bit cannot identify or correct the specific bit in error.

What Are Parity Check Codes?

Parity check codes are a class of error-detecting codes that append one or more redundant bits to a block of data so that any transmission error altering an odd number of bits can be detected at the receiver. The simplest form, the single-bit parity code, adds one extra bit to a message such that the total number of ones in the codeword is always even (even parity) or always odd (odd parity). If a single bit is corrupted during transmission, the parity condition is violated and the receiver knows an error has occurred, though it cannot identify or correct the bit in error without additional redundancy.

Parity codes belong to the broader discipline of channel coding and represent the foundational layer of a family of techniques that extends through Hamming codes, cyclic redundancy checks, and low-density parity check codes. The mathematical structure of parity codes is characterized by a parity check matrix, which defines the linear constraints that valid codewords must satisfy.

Single and Multi-Bit Parity

The single parity check code operates by computing the XOR of all data bits and appending the result. The resulting codeword has a minimum Hamming distance of 2, meaning at least two bit flips are required to transform one valid codeword into another. This property allows the code to detect any single-bit error but not correct it, and it fails to detect errors that affect an even number of bits simultaneously.

Multi-bit parity schemes extend the single-bit approach by applying parity checks across multiple dimensions of a data block. A two-dimensional parity code, for example, computes row parity and column parity for a rectangular bit array. This increases the Hamming distance to 4 and enables single-bit error correction in addition to detection of two-bit errors. Research on multi-bit error detection and correction using parity check matrix techniques shows how generator and parity check matrices can be constructed to meet specified error correction performance targets in hardware implementations.

Low-Density Parity Check Codes

Low-density parity check (LDPC) codes, first introduced by Gallager in 1962 and rediscovered in the 1990s, form a sparse subclass of linear block codes defined by parity check matrices in which most entries are zero. Their sparse structure enables efficient iterative decoding using belief propagation algorithms operating on bipartite Tanner graphs, where variable nodes represent codeword bits and check nodes enforce parity constraints. LDPC codes approach the Shannon capacity limit on several standard channels and have been adopted in the IEEE 802.11n/ac/ax Wi-Fi standards, 5G NR, and the DVB-S2 satellite standard.

IEEE Xplore publications on implementation of multi-bit error detection using LDPC codes illustrate how these codes are realized in programmable hardware for high-throughput communication links. The design of LDPC parity check matrices remains an active area of research in channel coding, with optimization targeting minimum error floors, cycle-free subgraphs, and low decoding latency.

VLSI and Hardware Implementation

Realizing parity check decoders in hardware requires careful management of parallelism and memory. The iterative message-passing decoders used for LDPC codes are well-suited to VLSI implementation because each check node and variable node can be processed in parallel. Work on VLSI design of parity check codes with Hamming codes for error detection and correction demonstrates how decoder architectures are optimized for area, throughput, and power consumption in integrated circuits used in data storage and wireless communication chips.

Applications

Parity check codes have applications in a wide range of systems and disciplines, including:

  • Digital communications in Wi-Fi, 5G, and satellite links using LDPC coding
  • Computer memory error detection in ECC RAM
  • Storage systems including RAID arrays and solid-state drives
  • Deep-space telemetry and satellite data transmission
  • Quantum error correction, where parity checks underpin stabilizer code designs
Loading…