Hubbry Logo
Binary Golay codeBinary Golay codeMain
Open search
Binary Golay code
Community hub
Binary Golay code
logo
8 pages, 0 posts
0 subscribers
Be the first to start a discussion here.
Be the first to start a discussion here.
Binary Golay code
Binary Golay code
from Wikipedia
Extended binary Golay code
Named afterMarcel J. E. Golay
Classification
TypeLinear block code
Block length24
Message length12
Rate12/24 = 0.5
Distance8
Alphabet size2
Notation-code
Perfect binary Golay code
Named afterMarcel J. E. Golay
Classification
TypeLinear block code
Block length23
Message length12
Rate12/23 ~ 0.522
Distance7
Alphabet size2
Notation-code

In mathematics and electronics engineering, a binary Golay code is a type of linear error-correcting code used in digital communications. The binary Golay code, along with the ternary Golay code, has a particularly deep and interesting connection to the theory of finite sporadic groups in mathematics.[1] These codes are named in honor of Marcel J. E. Golay whose 1949 paper[2] introducing them has been called, by E. R. Berlekamp, the "best single published page" in coding theory.[3]

There are two closely related binary Golay codes. The extended binary Golay code, G24 (sometimes just called the "Golay code" in finite group theory) encodes 12 bits of data in a 24-bit word in such a way that any 3-bit errors can be corrected or any 4-bit errors can be detected. The other, the perfect binary Golay code, G23, has codewords of length 23 and is obtained from the extended binary Golay code by deleting one coordinate position (conversely, the extended binary Golay code is obtained from the perfect binary Golay code by adding a parity bit). In standard coding notation, the codes have parameters [24, 12, 8] and [23, 12, 7], corresponding to the length of the codewords, the dimension of the code, and the minimum Hamming distance between two codewords, respectively.

Mathematical definition

[edit]

In mathematical terms, the extended binary Golay code G24 consists of a 12-dimensional linear subspace W of the space V = F24
2
of 24-bit words such that any two distinct elements of W differ in at least 8 coordinates. W is called a linear code because it is a vector space. In all, W comprises 4096 = 212 elements.

  • The elements of W are called code words. They can also be described as subsets of a set of 24 elements, where addition is defined as taking the symmetric difference of the subsets.
  • In the extended binary Golay code, all code words have Hamming weights of 0, 8, 12, 16, or 24. Code words of weight 8 are called octads and code words of weight 12 are called dodecads.
  • Octads of the code G24 are elements of the S(5,8,24) Steiner system. There are 759 = 3 × 11 × 23 octads and 759 complements thereof. It follows that there are 2576 = 24 × 7 × 23 dodecads.
  • Two octads intersect (have 1's in common) in 0, 2, or 4 coordinates in the binary vector representation (these are the possible intersection sizes in the subset representation). An octad and a dodecad intersect at 2, 4, or 6 coordinates.
  • Up to relabeling coordinates, W is unique.

The binary Golay code, G23 is a perfect code. That is, the spheres of radius three around code words form a partition of the vector space. G23 is a 12-dimensional subspace of the space F23
2
.

The automorphism group of the perfect binary Golay code G23 (meaning the subgroup of the group S23 of permutations of the coordinates of F23
2
which leave G23 invariant), is the Mathieu group . The automorphism group of the extended binary Golay code is the Mathieu group , of order 210 × 33 × 5 × 7 × 11 × 23. is transitive on octads and on dodecads. The other Mathieu groups occur as stabilizers of one or several elements of W.

There is a single word of weight 24, which is a 1-dimensional invariant subspace. therefore has an 11-dimensional irreducible representation on the field with 2 elements. In addition, since the binary golay code is a 12-dimensional subspace of a 24-dimensional space, also acts on the 12-dimensional quotient space, called the binary Golay cocode. A word in the cocode is in the same coset as a word of length 0, 1, 2, 3, or 4. In the last case, 6 (disjoint) cocode words all lie in the same coset. There is an 11-dimensional invariant subspace, consisting of cocode words with odd weight, which gives a second 11-dimensional representation on the field with 2 elements.

Constructions

[edit]
  • Lexicographic code: Order the vectors in V lexicographically (i.e., interpret them as unsigned 24-bit binary integers and take the usual ordering). Starting with w0 = 0, define w1, w2, ..., w12 by the rule that wn is the smallest integer which differs from all linear combinations of previous elements in at least eight coordinates. Then W can be defined as the span of w1, ..., w12.
  • Mathieu group: Witt in 1938 published a construction of the largest Mathieu group that can be used to construct the extended binary Golay code.[4]
  • Quadratic residue code: Consider the set N of quadratic non-residues (mod 23). This is an 11-element subset of the cyclic group Z/23Z. Consider the translates t+N of this subset. Augment each translate to a 12-element set St by adding an element ∞. Then labeling the basis elements of V by 0, 1, 2, ..., 22, ∞, W can be defined as the span of the words St together with the word consisting of all basis vectors. (The perfect code is obtained by leaving out ∞.)
  • As a cyclic code: The perfect G23 code can be constructed via the factorization of over the binary field GF(2): It is the code generated by .[5] Either of degree 11 irreducible factors can be used to generate the code.[6]
  • Turyn's construction of 1967, "A Simple Construction of the Binary Golay Code," that starts from the Hamming code of length 8 and does not use the quadratic residues mod 23.[7]
  • From the Steiner System S(5,8,24), consisting of 759 subsets of a 24-set. If one interprets the support of each subset as a 0-1-codeword of length 24 (with Hamming-weight 8), these are the "octads" in the binary Golay code. The entire Golay code can be obtained by repeatedly taking the symmetric differences of subsets, i.e. binary addition. An easier way to write down the Steiner system resp. the octads is the Miracle Octad Generator of R. T. Curtis, that uses a particular 1:1-correspondence between the 35 partitions of an 8-set into two 4-sets and the 35 partitions of the finite vector space into 4 planes.[8] Nowadays often the compact approach of Conway's hexacode, that uses a 4×6 array of square cells, is used.
  • Winning positions in the mathematical game of Mogul: a position in Mogul is a row of 24 coins. Each turn consists of flipping from one to seven coins such that the leftmost of the flipped coins goes from head to tail. The losing positions are those with no legal move. If heads are interpreted as 1 and tails as 0 then moving to a codeword from the extended binary Golay code guarantees it will be possible to force a win.
  • A generator matrix for the binary Golay code is I A, where I is the 12×12 identity matrix, and A is the complement of the adjacency matrix of the icosahedron.

A convenient representation

[edit]

It is convenient to use the "Miracle Octad Generator" format, with coordinates in an array of 4 rows, 6 columns. Addition is taking the symmetric difference. All 6 columns have the same parity, which equals that of the top row.

A partition of the 6 columns into 3 pairs of adjacent ones constitutes a trio. This is a partition into 3 octad sets. A subgroup, the projective special linear group PSL(2,7) x S3 of a trio subgroup of M24 is useful for generating a basis. PSL(2,7) permutes the octads internally, in parallel. S3 permutes the 3 octads bodily.

The basis begins with octad T:

0 1 1 1 1 1
1 0 0 0 0 0
1 0 0 0 0 0
1 0 0 0 0 0

and 5 similar octads. The sum N of all 6 of these code words consists of all 1's. Adding N to a code word produces its complement.

Griess (p. 59) uses the labeling:

∞ 0 | ∞ 0 | ∞ 0
3 2 | 3 2 | 3 2
5 1 | 5 1 | 5 1
6 4 | 6 4 | 6 4

PSL(2,7) is naturally the linear fractional group generated by (0123456) and (0∞)(16)(23)(45). The 7-cycle acts on T to give a subspace including also the basis elements

0 1 1 0 1 0 
0 0 0 0 0 0
0 1 0 1 0 1
1 1 0 0 0 0

and

0 1 1 0 1 0
0 1 0 1 0 1
1 1 0 0 0 0
0 0 0 0 0 0

The resulting 7-dimensional subspace has a 3-dimensional quotient space upon ignoring the latter 2 octads.

There are 4 other code words of similar structure that complete the basis of 12 code words for this representation of W.

W has a subspace of dimension 4, symmetric under PSL(2,7) x S3, spanned by N and 3 dodecads formed of subsets {0,3,5,6}, {0,1,4,6}, and {0,1,2,5}.

Practical applications of Golay codes

[edit]

NASA deep space missions

[edit]

Error correction was vital to data transmission in the Voyager 1 and 2 spacecraft particularly because memory constraints dictated offloading data virtually instantly leaving no second chances. Hundreds of color pictures of Jupiter and Saturn in their 1979, 1980, and 1981 fly-bys would be transmitted within a constrained telecommunications bandwidth. Color image transmission required three times as much data as black and white images, so the 7-error correcting Reed–Muller code that had been used to transmit the black and white Mariner images was replaced with the much higher data rate Golay (24,12,8) code.[9]

Radio communications

[edit]

The MIL-STD-188 American military standards for automatic link establishment in high frequency radio systems specify the use of an extended (24,12) Golay code for forward error correction.[10][11]

In two-way radio communication digital-coded squelch (DCS, CDCSS) system uses 23-bit Golay (23,12) code word which has the ability to detect and correct errors of 3 or fewer bits.

See also

[edit]

References

[edit]
Revisions and contributorsEdit on WikipediaRead on Wikipedia
from Grokipedia
The binary Golay is a perfect binary linear error-correcting with parameters [23, 12, 7], consisting of length 23, dimension 12 (yielding 212=40962^{12} = 4096 codewords), and minimum 7, which allows it to correct up to 3 errors without detection failures. It is one of the few non-trivial perfect binary linear —the Hamming codes form an infinite family, while the binary Golay is unique as the only perfect binary that corrects up to 3 errors—and stands out as the longest such binary . Discovered independently by Swiss engineer Marcel J. E. Golay in through a concise construction using parity-check matrices, the code was detailed in a half-page paper that highlighted its efficiency for error correction. One standard construction generates it as a over the F2\mathbb{F}_2 with generator polynomial g(x)=x11+x10+x6+x5+x4+x2+1g(x) = x^{11} + x^{10} + x^6 + x^5 + x^4 + x^2 + 1, derived from the factorization of x231x^{23} - 1. Its parity-check matrix can be formed by augmenting an 11×11 with an 11×12 matrix derived from quadratic residues 23. Key properties include its perfection, satisfying the Hamming bound exactly for ternary error correction, and its , which is the sporadic simple M23M_{23} of order 10,200,960. Puncturing or the code yields other notable structures, while extending it by adding an overall produces the extended binary Golay code [24, 12, 8], which is self-dual, doubly even, and has automorphism group M24M_{24}. The binary Golay code has found practical applications in deep-space communications, such as the Voyager missions (1979–1981), where its error-correcting capabilities ensured reliable data transmission over noisy channels. Beyond , it plays a foundational role in the classification of sporadic finite simple groups, linking to the via constructions involving .

Overview and Definition

Mathematical Definition

The binary Golay codes are two related s defined over the F2\mathbb{F}_2. The perfect binary Golay code G23\mathcal{G}_{23} is the [23,12,7][23,12,7] consisting of all F2\mathbb{F}_2-linear combinations of the rows of its 12×2312 \times 23 G23=[I12A23]G_{23} = [I_{12} \mid A_{23}], where I12I_{12} denotes the 12×1212 \times 12 and A23A_{23} is the standard 12×1112 \times 11 parity submatrix. The extended binary Golay code G24\mathcal{G}_{24} is the [24,12,8][24,12,8] obtained by appending to each codeword cG23\mathbf{c} \in \mathcal{G}_{23} an overall parity-check bit equal to the sum (modulo 2) of the entries of c\mathbf{c}, resulting in the G24=[I12A23112]G_{24} = [I_{12} \mid A_{23} \mid \mathbf{1}_{12}], where 112\mathbf{1}_{12} is the 12×112 \times 1 column vector of all ones. Equivalently, G23\mathcal{G}_{23} arises as a punctured version of G24\mathcal{G}_{24} by deleting any single coordinate from all codewords of G24\mathcal{G}_{24}, with the resulting code being unique up to equivalence regardless of the chosen position. The perfect of G23\mathcal{G}_{23} is characterized by the fact that the 2122^{12} spheres of radius 3 in the Hamming metric centered at its codewords form a partition of the entire ambient space F223\mathbb{F}_2^{23}, covering it completely with no overlaps or gaps.

Code Parameters

The binary Golay code is a linear error-correcting code with parameters [23,12,7], where the length n=23n=23, dimension k=12k=12, and minimum distance d=7d=7. This configuration yields 212=40962^{12} = 4096 codewords, making it a highly efficient structure in . As a perfect code, it achieves equality in the (or sphere-packing bound), meaning the spheres of radius t=3t=3 around each codeword exactly partition the entire space of 2232^{23} possible vectors, with no overlap or gaps. The extended binary Golay code, obtained by adding an overall parity-check bit to the [23,12,7] code, has parameters [24,12,8], retaining the dimension k=12k=12 while increasing the length to n=24n=24 and the minimum distance to d=8d=8. This extension is self-dual, meaning it is equivalent to its dual code under the standard inner product. Both codes have an error-correction capability of t=3t=3, allowing correction of up to 3 errors in a received word; the extended code additionally detects up to 4 errors. The code rate R=k/n0.52R = k/n \approx 0.52 for the [23,12,7] binary Golay code highlights its efficiency, as it transmits 12 information bits per 23 total bits while providing strong protection through the achievement of the . For the extended [24,12,8] code, the rate is R=0.5R = 0.5, maintaining comparable reliability with the added detection benefits.

Properties

Error-Correcting Capabilities

The binary Golay code of length 23, dimension 12, and minimum distance 7 can correct any combination of up to 3 errors in a received 23-bit vector. This error-correcting capability arises from the minimum distance d=7d = 7, which guarantees that the spheres of t=(d1)/2=3t = \lfloor (d-1)/2 \rfloor = 3 around distinct codewords do not overlap, allowing unique decoding for error patterns of weight at most 3. The code is perfect, as the 2122^{12} disjoint Hamming spheres of radius 3 centered on the codewords exactly partition the entire ambient space F223\mathbb{F}_2^{23}, covering all 2232^{23} possible vectors without gaps or overlaps. The volume of each sphere is i=03(23i)=1+23+253+1771=2048\sum_{i=0}^{3} \binom{23}{i} = 1 + 23 + 253 + 1771 = 2048, so the total coverage is 212×2048=2232^{12} \times 2048 = 2^{23}, confirming the exhaustive packing. This perfection implies equality in the Hamming bound (also known as the sphere-packing bound), which provides an upper limit on the size of a binary code: A(n,d)2n/i=0t(ni)A(n,d) \leq 2^n / \sum_{i=0}^{t} \binom{n}{i}, where equality holds for the Golay parameters n=23n=23, d=7d=7, and t=3t=3. The weight distribution of the code—featuring 1 codeword each of weights 0 and 23, 253 each of weights 7 and 16, 506 each of weights 8 and 15, and 1288 each of weights 11 and 12—ensures that low-weight error patterns up to 3 cannot land on another codeword, supporting reliable correction within the packed spheres. The extended binary Golay of length 24, dimension 12, and minimum 8 retains the ability to correct any 3 or fewer while additionally detecting up to 4 , as the increased allows identification of error patterns of 4 without miscorrecting them as valid codewords.

Structural Properties

The extended binary Golay , denoted as a [24,12,8] , is self-dual, meaning it is equal to its dual code, and thus invariant under the transpose operation in its representation. This self-duality implies that the code's enumerator is invariant under certain transformations, reflecting its symmetric structure. The weight distribution of the [24,12,8] extended binary Golay code consists of codewords with weights multiples of 4, specifically: one codeword of weight 0, 759 codewords of weight 8 (known as octads), 2576 codewords of weight 12 (known as dodecads), 759 codewords of weight 16, and one codeword of weight 24. The weight enumerator can be expressed as 1+759x8+2576x12+759x16+x24.1 + 759x^8 + 2576x^{12} + 759x^{16} + x^{24}. This distribution underscores the code's even-weight property and its role in combinatorial designs, where the supports of the minimum-weight codewords form blocks of a . The automorphism group of the punctured binary Golay code, a [23,12,7] code, is the Mathieu group M23M_{23}, which has order 10,200,960 and acts as a 4-transitive permutation group on the 23 coordinates. For the extended [24,12,8] code, the automorphism group is the Mathieu group M24M_{24}, of order 244,823,040, which is 5-transitive on the 24 coordinates and preserves the code's structure. These sporadic simple groups highlight the high degree of symmetry inherent in the Golay codes. The Mathieu groups M23M_{23} and M24M_{24} act transitively on the supports of the codewords, particularly the octads in the extended code, ensuring that any two such supports can be mapped to each other via a code . This transitivity connects the codes to the Witt design S(5,8,24)S(5,8,24), where the octads serve as blocks. The binary Golay codes are invariant under permutations of the coordinates that preserve the set of octads, with the full comprising exactly those permutations that map codewords to codewords while maintaining the minimum distance and weight structure.

Constructions

Algebraic Constructions

The binary Golay code of length 23, dimension 12, and minimum distance 7 can be constructed as a cyclic code over GF(2) using the generator polynomial g(x)=x11+x10+x6+x5+x4+x2+1g(x) = x^{11} + x^{10} + x^6 + x^5 + x^4 + x^2 + 1. This polynomial is irreducible over GF(2) and is one of the two degree-11 factors of x23+1x^{23} + 1, corresponding to the minimal polynomial of a primitive element raised to quadratic residue powers modulo 23. The codewords are all multiples of g(x)g(x) modulo x23+1x^{23} + 1, forming a 12-dimensional ideal in the ring GF(2)/(x^{23} + 1). Another algebraic construction arises from quadratic residue theory. For the prime p = 23 ≡ 3 mod 4, the binary Golay code is the quadratic residue (QR) code Q_{23}, defined as the cyclic code generated by the polynomial g(x)=x11+x10+x6+x5+x4+x2+1g(x) = x^{11} + x^{10} + x^6 + x^5 + x^4 + x^2 + 1, whose roots in GF(2^{11}) are the images of a primitive 23rd root of unity under the quadratic residues modulo 23. Equivalently, the parity-check matrix H is an 11 × 23 matrix over GF(2) whose columns are all distinct nonzero vectors in GF(2)^{11}, ordered such that the code is cyclic. This construction yields a self-orthogonal code with the desired parameters. The Turyn construction provides a recursive algebraic method to build the extended binary Golay of length 24 from smaller codes, which can then be punctured to obtain the length-23 version. Specifically, let Q7Q_7 be the [7,4,3] extended by a to the [8,4,4] extended , and let N7N_7 be the even-weight subcode of its dual. The extended Golay consists of codewords of the form (a+ba+ca+b+c)(a + b \mid a + c \mid a + b + c) for aQ7a \in Q_7, b,cN7b, c \in N_7, where each component is length 8. This yields a [24,12,8] that is doubly even and self-dual, with the [23,12,7] obtained by deleting one coordinate. The construction relies on the algebraic structure of Reed-Muller codes RM(1,3) underlying the . A standard generator matrix for the [23,12,7] binary Golay code in systematic form is the 12 × 23 matrix G = [I_{12} | P], where I_{12} is the 12 × 12 identity matrix and P is a 12 × 11 parity submatrix derived from the cyclic shifts corresponding to the generator polynomial. The rows of G are the cyclic shifts of the coefficient vector of g(x), ensuring linear independence and minimum weight 7; explicit forms are available in standard references for implementation. This matrix generates all 2^{12} codewords as linear combinations over GF(2). The lexicographic construction defines the extended code as the unique [24,12,8] lexicode (the span closed under addition of the first 2^{12} vectors in that maintain minimum distance 8), which is even-weight and doubly even. Puncturing yields the [23,12,7] binary Golay code. This method highlights the code's optimality as a perfect code without requiring prior knowledge of polynomials or residues.

Geometric Constructions

The binary Golay code admits a geometric construction rooted in the S(5,8,24)S(5,8,24), a unique consisting of 759 blocks (called octads) of size 8 on a 24-point set, where every 5-point subset is contained in exactly one octad. The supports of the weight-8 codewords of the [24,12,8] extended binary Golay code precisely form these 759 octads, establishing a direct equivalence between the code and the design: any construction of one yields the other. This , known as the Witt design, provides the 24 positions of the code as its points, enabling a representation of the code as the set of all even-weight vectors in F224\mathbb{F}_2^{24} that are orthogonal to every octad (i.e., have even overlap with each block). The of this construction is the M24M_{24}, which acts transitively on the 24 points and preserves both the and the , reflecting the high degree of symmetry inherent in the design. This transitive action stabilizes the , meaning permutations in M24M_{24} map codewords to codewords, and underscores the geometric integrity of the construction. A practical diagrammatic tool for generating codewords within this framework is the Miracle Octad Generator (MOG), introduced by R. T. Curtis as a 4×6 array over F2\mathbb{F}_2 derived from the hexacode, which systematically produces all octads and facilitates combinatorial manipulations of the . The MOG exploits the symmetries of the Witt design to enumerate the 759 octads without exhaustive search, serving as an efficient geometric for encoding and decoding. Puncturing the [24,12,8] code by deleting one coordinate yields the [23,12,7] binary Golay code, which inherits the geometric structure from the Steiner system restricted to the remaining 23 points, maintaining error-correcting properties while adapting the design's blocks accordingly.

Decoding Methods

Hard-Decision Decoding

Hard-decision decoding of the binary Golay code assumes binary (0/1) decisions at the receiver without using channel reliability information, focusing on correcting up to three errors via syndrome-based methods. The process begins with computing the syndrome s=Hrs = H r, where HH is the parity-check matrix and rr is the received vector. This syndrome identifies the coset of the received vector in the code's dual space, and the decoding corrects by subtracting the minimum-weight error pattern (coset leader) corresponding to that syndrome. For the [23,12,7] binary Golay code, the 11×23 parity-check matrix HH produces syndromes in F211\mathbb{F}_2^{11}, and since the code is perfect with minimum distance 7, every possible syndrome corresponds uniquely to a coset leader of weight at most 3, enabling complete correction of all patterns with three or fewer errors. A straightforward implementation of syndrome decoding uses precomputed table lookup for the coset leaders. For the [23,12,7] code, the table contains 2^{11} = 2048 entries, each mapping a to its associated error pattern of weight 0, 1, 2, or 3. The extended [24,12,8] binary Golay , obtained by adding an overall , employs a larger 12×24 parity-check matrix, resulting in 2^{12} = 4096 possible . A of this size stores error patterns for single, double, and triple errors, allowing correction of up to three errors; if the matches no entry or the post-correction overall parity check fails, it signals four errors for detection but not correction. This approach is memory-intensive but computationally simple and widely used in hardware implementations due to the fixed small table size. Algebraic decoding methods offer a memory-efficient alternative by exploiting the code's quadratic residue (QR) structure without full table storage. Elia's algebraic decoder for the [23,12,7] Golay code extends the three-error-correcting BCH decoding algorithm, leveraging quadratic residues modulo 23—the positions defined as squares in F23×\mathbb{F}_{23}^\times—to formulate and solve for the error positions directly from the syndrome. The procedure computes the syndrome components, constructs an error locator polynomial using QR properties to restrict possible error supports, and solves a low-degree system of equations over F2\mathbb{F}_2 to identify the up to three error locations, achieving correction in constant time for the fixed-length code. This method is particularly effective for the Golay code's cyclic and QR-based construction, reducing computational overhead compared to exhaustive search while maintaining full error-correction capability. Patterson's algorithm provides another algebraic approach tailored to the [23,12,7] Golay code, utilizing its representation as a cyclic code to derive the error locator from the syndrome polynomial. The syndrome is interpreted as a polynomial in F2/(x23+1)\mathbb{F}_2/(x^{23} + 1), and the algorithm computes the square root of a modified syndrome polynomial (typically s(x)+xs(x) + x or a related form) to obtain a polynomial whose roots reveal the error positions. This step exploits the characteristic-2 field where squaring is a linear operation, followed by gcd computations or root-finding to confirm the locator and correct the errors, enabling efficient decoding up to three errors.

Soft-Decision Decoding

Soft-decision decoding of the binary Golay code utilizes reliability metrics from the channel output, such as log-likelihood ratios or quantized soft values, to select the most probable codeword among candidates, yielding superior performance compared to hard-decision methods in (AWGN) and fading channels. This technique is essential for applications requiring robust error correction under varying noise conditions, as it accounts for the probabilistic nature of received symbols rather than binarizing them. A prominent method is a variant of the Chase adapted for the (24,12,8) extended binary Golay . The identifies the least reliable positions in the received soft vector, applies binary patterns (e.g., flipping subsets of 5 bits) to the hard-decision message and parity parts separately, re-encodes each modified pattern to generate candidate codewords, and selects the one minimizing the to the received vector. With 48 patterns and 3-bit quantization of soft values, this approach achieves performance within 0.1–0.2 dB of maximum-likelihood decoding while requiring only about 4,000 gates for hardware at 432 Mb/s throughput. Trellis decoding employs the on a tail-biting trellis representation of the code, enabling maximum-likelihood soft-decision decoding. For the (23,12,7) binary Golay code, the trellis features 64 states, with branch metrics computed from soft channel outputs; the algorithm traverses the trellis depth of 23 time units to find the minimum-metric path. The code's high symmetry, derived from its automorphism, facilitates optimizations such as reduced-state trellises or pruned searches, rendering the 64-state Viterbi decoder practical for real-time applications with computational complexity manageable on modern hardware. The message-syndrome decoding algorithm (MSDA) provides a high-speed soft-decision option by computing the syndrome on the received message portion and using a compact of 12 candidate syndromes to identify and correct errors, which can then be extended to four-error correction in a hybrid soft framework. This method reduces average decoding latency to 0.6 μs, offering 44.5 times the speed of prior algebraic decoders while maintaining compatibility with soft inputs for overall system enhancement. Post-2020 techniques have introduced auto-encoder neural networks for Golay decoding, trained end-to-end on noisy codewords to map received soft vectors to denoised outputs that feed into ordered statistics decoding (OSD). A three-layer auto-encoder with 10,787 parameters, when integrated via reliability sorting of its output, surpasses standalone OSD by over 2 dB in channels and approaches maximum-likelihood performance within 0.5 dB across AWGN and fading scenarios. In terms of complexity, bounded-distance soft-decision decoding scales as O(2^t) operations for t=3 errors, but the Golay code's perfect structure and symmetry enable full maximum-likelihood variants, like trellis or Chase methods, to operate at feasible levels of around 10^4–10^5 operations per codeword without exhaustive search.

History

Discovery by Golay

Marcel J. E. Golay (1902–1989), a Swiss-born and physicist who worked at Bell Laboratories, introduced the binary Golay codes in a concise one-page note titled "Notes on Digital Coding," published in the Proceedings of the IRE in June 1949. In this work, Golay described the binary (23,12) code capable of correcting up to three errors, consisting of 12 information bits and 11 , and the ternary (11,6) code capable of correcting up to two errors, noting that the binary code achieved optimal packing efficiency for the given parameters, terming it "perfect" in the sense of maximizing correctable errors relative to redundancy. He also briefly outlined an extended version by adding an overall , yielding the (24,12) code, though without a complete formal proof of its perfection at the time. Golay's motivation stemmed from the need for efficient complementary coding schemes to reduce noise in early digital communication systems, building on emerging ideas in information theory to balance redundancy with reliability in binary transmissions. This effort aligned with the post-World War II surge in interest for error-correcting mechanisms, driven by advances in telegraphy for long-distance signaling and the nascent field of digital computing, where reliable data handling was essential amid noisy channels and limited hardware. Claude Shannon's foundational 1948 paper on information theory had recently highlighted the theoretical limits of error-free communication, spurring practical innovations like Golay's to approach those bounds in real-world applications. Although Golay's contribution established priority, the codes were independently rediscovered by researchers in the amid growing focus on algebraic error correction, such as Richard Hamming's parallel work on single-error-correcting codes, yet Golay's 1949 publication remains the seminal reference.

Subsequent Developments

In the years following its discovery, the binary Golay code gained prominence in the study of perfect codes, which achieve the theoretical bound on error correction efficiency established by Claude Shannon's . Specifically, it was recognized as one of the few nontrivial perfect binary linear codes, the only one capable of correcting up to three errors (alongside the Hamming codes, which correct single errors). During the 1960s, researchers established deep connections between the binary Golay code and the , particularly the sporadic M23M_{23}, which acts as its . These links facilitated combinatorial constructions and symmetry analyses of the code. Uniqueness proofs emerged around this time, with Vera Pless demonstrating in 1968 that any binary linear code with the parameters of the Golay code—length 23, dimension 12, and minimum 7—is equivalent to it. Building on this, Aimo Tietäväinen's work in the early 1970s extended uniqueness results to broader classes of perfect codes, confirming the Golay code's exceptional status among binary codes. The 1970s saw significant structural insights through the work of John Conway and Neil Sloane, who constructed the Leech lattice—a 24-dimensional even unimodular lattice used in sphere packing—directly from the extended binary Golay code by adding an overall parity check bit. Their approaches also popularized the miracle octad generator, a diagrammatic tool for visualizing octads (blocks of the associated Steiner system S(5,8,24)S(5,8,24)) and generating codewords, enhancing understanding of the code's symmetries and extensions. From the through the , practical implementations advanced with VLSI designs for efficient hardware decoding. For instance, maximum-likelihood decoders for the extended Golay were realized using bit-serial architectures on custom chips, achieving high throughput for applications requiring real-time correction. These efforts optimized syndrome-based decoding, reducing complexity while maintaining the code's triple-error-correcting capability. Post-2020 research has explored the binary Golay code in , leveraging its structure for contextuality tests in . In 2022, it was shown that codewords of the binary Golay code map to rays in RP23\mathbb{RP}^{23} that violate the Kochen-Specker theorem, providing proofs of without inequalities. Additionally, enhancements to decoding have emerged, such as autoencoder-based methods combined with ordered statistics decoding, which improve performance on noisy channels beyond traditional algebraic approaches. techniques have also been applied to universal decoding of the code, demonstrating adaptability to various error patterns.

Applications

Deep Space Communications

The binary Golay code, particularly its extended (24,12) form, played a pivotal role in NASA's and 2 missions, launched in 1977, for reliable telemetry during the 1979–1981 encounters with and Saturn. In these missions, the code served as the outer component in a concatenated scheme with a rate-1/2 convolutional inner code, enabling correction of up to three bit errors per 24-bit codeword while detecting four errors, with a minimum distance of 8. This setup was applied to imaging and non-imaging data transmission, supporting data rates from 10 bits per second to 115.2 kilobits per second and achieving a bit error probability of 10^{-5} at signal-to-noise ratios of 2.5–3.0 dB. The implementation involved hardware encoders on the spacecraft and decoders at ground stations within the Deep Space Network (DSN), utilizing soft-decision Viterbi decoding with 3-bit quantization and a 4-symbol interleaver to distribute error bursts effectively. This error-correction capability ensured high reliability over vast distances, such as the approximately 800 million miles (1.3 billion km) to Saturn, allowing the missions to transmit over 65,000 scientific images despite decreasing data rates at greater distances, such as 7.2–44.8 kilobits per second during the Saturn encounters and challenges like cosmic ray-induced bursts and signal fading. The Golay code's efficiency supported efficient transmission of image data, which comprised about 95% of the downlink, with nearly lossless reconstruction enabled by the concatenated coding scheme, which was critical for the probes' limited power and bandwidth in deep space. Its perfect code properties minimized overhead while maximizing throughput in these scenarios, proving essential for the success of Voyager's planetary flybys. Subsequent missions adopted variants of the binary Golay code for deep-space . The Galileo orbiter, launched in 1989, employed the (24,12) Golay code for onboard coding of non-imaging , providing to handle high error rates from its faulty high-gain antenna during the 1990s Jupiter tour. Similarly, the Cassini mission, arriving at Saturn in 2004, incorporated Golay coding in packet telemetry headers for downlink protection, ensuring robust transmission of and over interplanetary distances using DSN-compatible formats. These implementations maintained the code's legacy in correcting burst errors from cosmic rays and fading, adapting it for evolved telemetry standards while preserving reliability in resource-constrained environments.

Terrestrial Communications

The binary Golay code has found practical applications in terrestrial communications systems, particularly in ground-based radio networks where reliable short-block error correction is essential for handling channel impairments like and interference. Its perfect code properties enable efficient correction of up to three errors in 23-bit codewords, making it suitable for bursty error environments without excessive overhead. In high-frequency (HF) radio links, the is employed in military standards such as MIL-STD-188-141A and MIL-STD-188-141B, developed in the and updated through the 2000s, to support (ALE) for voice and data transmission over ionospheric channels. These standards utilize the (23,12) Golay for in protocol handshakes and linking protection, often concatenated with convolutional codes to enhance performance against multipath and noise, achieving robust connectivity in bandwidth-constrained environments. In systems, the binary Golay code underpins Digital Coded Squelch (DCS), a mechanism widely used in amateur and professional communications since the late . DCS encodes a 23-bit continuous subaudible using the (23,12,7) Golay codeword, transmitted at 134.4 bits per second alongside voice signals, to detect and correct errors in the signaling sequence. This allows radios to open the audio path only for transmissions matching the programmed code, reducing false activations from interference while supporting up to 104 standard codes for group or individual addressing in systems like those from and Kenwood. The code's error-detection capability ensures reliable operation in noisy urban or mobile scenarios, where brief bursts of errors could otherwise disrupt selective signaling. Recent research in the 2020s has explored the binary Golay code for short-blocklength regimes in 5G and emerging 6G ultra-reliable low-latency communications (URLLC), targeting applications like industrial automation and vehicular networks that demand block error rates below 10^{-5} with latencies under 1 ms. Although not yet standardized in 5G New Radio (e.g., which favors polar codes for control channels), Golay-based constructions are investigated for their low-complexity decoding in grant-free access and massive machine-type communications, often concatenated or combined with sparse regression codes to approach finite-blocklength bounds in fading channels. In quantum communication prototypes, the quantum analog of the Golay code supports fault-tolerant encoding for error correction in noisy intermediate-scale quantum (NISQ) devices, enabling reliable qubit transmission over optical links with rates approaching the fault-tolerant quantum capacity threshold. These efforts leverage the code's stabilizer structure to mitigate decoherence and photon loss, as demonstrated in simulations and small-scale experiments for distributed quantum networks. A key advantage of the binary Golay code in terrestrial channels is its low decoding —achievable via syndrome-based methods in O(n time—coupled with strong burst error correction, where it can handle error bursts up to length 7 with high probability under hard-decision decoding. This makes it preferable for real-time systems like HF links and two-way radios, where interleaving with convolutional codes disperses bursts into correctable patterns, outperforming alternatives like BCH codes in power efficiency for short messages. For instance, in the , the European satellite system for distribution incorporated Golay codes as an inner error-correcting layer in its S-band mobile interactive (S-MIM) protocol, enhancing reliability for direct-to-home over geostationary links affected by atmospheric .

References

  1. https://www.[cambridge](/page/Cambridge)./core/journals/mathematical-proceedings-of-the--philosophical-society/article/new-combinatorial-approach-to-m24/1C79CE31BC64790A1C29447BAFB1DACA
Add your contribution
Related Hubs
User Avatar
No comments yet.