Generator & Parity Check Matrix Visualizer

ECE 420 · Wireless Communications · NC State University

Background: Linear block codes represent encoding and decoding as matrix arithmetic over GF(2) — the Galois Field with two elements {0,1}, where addition and subtraction are both the XOR (exclusive-or) operation. A generator matrix G, in systematic form G = [Ik | P] (Ik = k×k identity matrix, P = parity submatrix), maps a k-bit message m to an n-bit codeword via c = m·G. The corresponding parity-check matrix H = [PT | Im] satisfies c·HT = 0 for every valid codeword, and for a received (possibly corrupted) vector r, the syndrome s = r·HT reveals whether — and where — an error occurred. This G/H machinery is the general linear-algebra framework underlying specific codes like Hamming codes.

Description of This Web Application: Enter your own set of basis codewords (or pick a preset), and the app derives the systematic generator matrix G and parity-check matrix H via Gaussian elimination over GF(2). Across three tabs you can inspect the matrices themselves, test whether an arbitrary bit string satisfies every parity-check equation (and enumerate all valid codewords for small codes), and encode a message, flip a bit, and watch syndrome decoding locate and correct the error. You will come away seeing exactly how G and H relate to each other, why row-reduction naturally produces a systematic form, and how syndrome decoding generalizes the idea behind Hamming codes to any linear block code.

Presets

Code Parameters

Basis Codewords (binary strings, length n)

Encode a Message

Legend

Identity block I
Parity submatrix P / PT
Systematic Form G = [Ik | P]derived from your basis via Gaussian elimination over GF(2)