Binary Golay code

Last updated
Extended binary Golay code
BinaryGolayCode.svg
Named after Marcel J. E. Golay
Classification
Type Linear block code
Block length 24
Message length 12
Rate 12/24 = 0.5
Distance 8
Alphabet size 2
Notation -code
Perfect binary Golay code
Named after Marcel J. E. Golay
Classification
Type Linear block code
Block length 23
Message length 12
Rate 12/23 ~ 0.522
Distance 7
Alphabet size 2
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]

Contents

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 7-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

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 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.

Constructions

A convenient representation

It is convenient to use the "Miracle Octad Generator" format, with co-ordinates 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

NASA deep space missions

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

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

Related Research Articles

<span class="mw-page-title-main">Steiner system</span> Block design in combinatorial mathematics

In combinatorial mathematics, a Steiner system is a type of block design, specifically a t-design with λ = 1 and t = 2 or (recently) t ≥ 2.

<span class="mw-page-title-main">Coding theory</span> Study of the properties of codes and their fitness

Coding theory is the study of the properties of codes and their respective fitness for specific applications. Codes are used for data compression, cryptography, error detection and correction, data transmission and data storage. Codes are studied by various scientific disciplines—such as information theory, electrical engineering, mathematics, linguistics, and computer science—for the purpose of designing efficient and reliable data transmission methods. This typically involves the removal of redundancy and the correction or detection of errors in the transmitted data.

In mathematics, the Leech lattice is an even unimodular lattice Λ24 in 24-dimensional Euclidean space, which is one of the best models for the kissing number problem. It was discovered by John Leech. It may also have been discovered by Ernst Witt in 1940.

<span class="mw-page-title-main">Conway group</span>

In the area of modern algebra known as group theory, the Conway groups are the three sporadic simple groups Co1, Co2 and Co3 along with the related finite group Co0 introduced by (Conway 1968, 1969).

<span class="mw-page-title-main">Mathieu group</span> Five sporadic simple groups

In group theory, a topic in abstract algebra, the Mathieu groups are the five sporadic simple groups M11, M12, M22, M23 and M24 introduced by Mathieu. They are multiply transitive permutation groups on 11, 12, 22, 23 or 24 objects. They are the first sporadic groups to be discovered.

In coding theory, block codes are a large and important family of error-correcting codes that encode data in blocks. There is a vast number of examples for block codes, many of which have a wide range of practical applications. The abstract definition of block codes is conceptually useful because it allows coding theorists, mathematicians, and computer scientists to study the limitations of all block codes in a unified way. Such limitations often take the form of bounds that relate different parameters of the block code to each other, such as its rate and its ability to detect and correct errors.

In coding theory, the weight enumerator polynomial of a binary linear code specifies the number of words of each possible Hamming weight.

In coding theory, a linear code is an error-correcting code for which any linear combination of codewords is also a codeword. Linear codes are traditionally partitioned into block codes and convolutional codes, although turbo codes can be seen as a hybrid of these two types. Linear codes allow for more efficient encoding and decoding algorithms than other codes.

In mathematics and computer science, in the field of coding theory, the Hamming bound is a limit on the parameters of an arbitrary block code: it is also known as the sphere-packing bound or the volume bound from an interpretation in terms of packing balls in the Hamming metric into the space of all possible words. It gives an important limitation on the efficiency with which any error-correcting code can utilize the space in which its code words are embedded. A code that attains the Hamming bound is said to be a perfect code.

In coding theory, decoding is the process of translating received messages into codewords of a given code. There have been many common methods of mapping messages to codewords. These are often used to recover messages sent over a noisy channel, such as a binary symmetric channel.

In coding theory, the ternary Golay codes are two closely related error-correcting codes. The code generally known simply as the ternary Golay code is an -code, that is, it is a linear code over a ternary alphabet; the relative distance of the code is as large as it possibly can be for a ternary code, and hence, the ternary Golay code is a perfect code. The extended ternary Golay code is a [12, 6, 6] linear code obtained by adding a zero-sum check digit to the [11, 6, 5] code. In finite group theory, the extended ternary Golay code is sometimes referred to as the ternary Golay code.

<span class="mw-page-title-main">Hamming space</span>

In statistics and coding theory, a Hamming space is usually the set of all binary strings of length N. It is used in the theory of coding signals and transmission.

<span class="mw-page-title-main">Cyclic code</span> Type of block code

In coding theory, a cyclic code is a block code, where the circular shifts of each codeword gives another word that belongs to the code. They are error-correcting codes that have algebraic properties that are convenient for efficient error detection and correction.

<span class="mw-page-title-main">Exceptional object</span>

Many branches of mathematics study objects of a given type and prove a classification theorem. A common theme is that the classification results in a number of series of objects and a finite number of exceptions — often with desirable properties — that do not fit into any series. These are known as exceptional objects. In many cases, these exceptional objects play a further and important role in the subject. Furthermore, the exceptional objects in one branch of mathematics often relate to the exceptional objects in others.

<span class="mw-page-title-main">Hadamard code</span> Error-correcting code

The Hadamard code is an error-correcting code named after Jacques Hadamard that is used for error detection and correction when transmitting messages over very noisy or unreliable channels. In 1971, the code was used to transmit photos of Mars back to Earth from the NASA space probe Mariner 9. Because of its unique mathematical properties, the Hadamard code is not only used by engineers, but also intensely studied in coding theory, mathematics, and theoretical computer science. The Hadamard code is also known under the names Walsh code, Walsh family, and Walsh–Hadamard code in recognition of the American mathematician Joseph Leonard Walsh.

<span class="mw-page-title-main">Hamming(7,4)</span> Linear error-correcting code

In coding theory, Hamming(7,4) is a linear error-correcting code that encodes four bits of data into seven bits by adding three parity bits. It is a member of a larger family of Hamming codes, but the term Hamming code often refers to this specific code that Richard W. Hamming introduced in 1950. At the time, Hamming worked at Bell Telephone Laboratories and was frustrated with the error-prone punched card reader, which is why he started working on error-correcting codes.

Lexicographic codes or lexicodes are greedily generated error-correcting codes with remarkably good properties. They were produced independently by Vladimir Levenshtein and by John Horton Conway and Neil Sloane. The binary lexicographic codes are linear codes, and include the Hamming codes and the binary Golay codes.

In coding theory, the hexacode is a length 6 linear code of dimension 3 over the Galois field of 4 elements defined by

Mathieu group M<sub>24</sub> Sporadic set type of order 244823040

In the area of modern algebra known as group theory, the Mathieu groupM24 is a sporadic simple group of order

In mathematics, the Miracle Octad Generator, or MOG, is a mathematical tool introduced by Rob T. Curtis for studying the Mathieu groups, binary Golay code and Leech lattice.

References

  1. Thompson 1983
  2. Golay, Marcel J. E. (1949). "Notes on Digital Coding" (PDF). Proc. IRE . 37: 657. Archived from the original (PDF) on April 10, 2023.
  3. Berlekamp, E. R. (1974), Key Papers in the Development of Coding Theory, I.E.E.E. Press, p. 4
  4. Hansen, Robert Peter. "Construction and Simplicity of the Large Mathieu Groups". SJSU Scholar Works.
  5. Roman 1996 , p. 324 Example 7.4.3
  6. Pless 1998 , p. 114
  7. Turyn 1967 , Section VI
  8. Cullinane, Steven H. "The Miracle Octad Generator". Finite Geometry of the Square and Cube.
  9. Cherowitzo, Bill. "Combinatorics in Space - The Mariner 9 Telemetry System" (PDF). University of Colorado Denver. Archived from the original (PDF) on 2013-09-27. Retrieved 2012-06-06.
  10. Johnson, Eric E. (1991-02-24). "An Efficient Golay Codec for MIL-STD-188-141A and FED-STD-1045" (PDF). Retrieved 2017-12-09.
  11. "Military Standard: Planning and Guidance Standard for Automated Control Applique for HF Radio" (PDF). EverySpec: Specifications, Standards, Handbooks and Mil-Spec documents. 1994-04-04. Retrieved 2017-12-09.

Sources