Constructions of the Golay Codes: a Survey

Total Page:16

File Type:pdf, Size:1020Kb

Constructions of the Golay Codes: a Survey Constructions of the Golay Codes: A Survey Robin Chapman Department of Mathematics University of Exeter EX4 4QE UK [email protected] 23 September 1997 Version 1.1 In this survey, I give various constructions of the (extended) binary and ternary Golay codes, sometimes with proofs of their properties. I also give existence and uniqueness proofs. At present I only cover the binary codes; I intend to add a section on the ternary codes soon. Corrections, comments, references and new constructions are solicited and will be gratefully received. 1 Constructions of the Binary Golay Code We outline various constructions of the binary Golay code. We only deal with the extended binary Golay code, that of length 24 and dimension 12. 1.1 Preliminaries n A code of length n over the finite field Fq is a subset of V = Fq , and it is linear if it is an Fq-subspace of V . When q = 2 we talk of binary codes and binary linear codes. The weight w(a) of an element a ∈ V is the number of non-zero entries in a. The minimum weight of a linear code C is the smallest number which is a weight of a non-zero element of C. The weight enumerator of a linear code C is n X w(a) X r WC(X) = X = ArX a∈C r=0 where Ar is the number of words of weight r in C. If a = (aj), b = (bj) ∈ V then Pn a·b = j=1 ajbj ∈ Fq. The dot product (a, b) 7→ a·b is a non-singular symmetric bilinear 1 form. If C is a linear code then its dual is C⊥ = {a ∈ V : a · b = 0 for all b ∈ C}. By non-singularity, C⊥ is a linear code of dimension n − dim V . Also (C⊥)⊥ = C. Of course C is self-dual if C = C⊥; if C is self-dual, then dim V = n/2. More generally C is self-orthogonal if a · b = 0 for all a, b ∈ C, equivalently if C ⊆ C⊥. If C is self-orthogonal then dim C ≤ n/2. If C is a self-orthogonal binary code, then each element of C has even weight, and so the all-ones vector lies in C⊥. Let us consider binary codes in more detail. In this case we can identify elements of V with subsets of {1, 2, . , n}; with a = (aj) being identified with the set A of all j with aj = 1. More generally we can replace {1, 2, . , n} with any n-element set Ω = {ω1, ω2, . , ωn}, identifying (aj) with A = {ωj : aj = 1}. With this identification V becomes P(Ω), the power set of Ω. Addition is replaced by symmetric difference, i.e., for A, B ∈ P(Ω) we let A + B = (A ∪ B) − (A ∩ B). The weight w(A) of A ∈ P(Ω) is simply its cardinality |A|. Also A · B is equal to |A ∩ B| considered modulo 2. As |A + B| = |A| + |B| − 2|A ∩ B| it is apparent that w(A + B) ≡ w(A) + w(B) (modulo 2). But if A · B = 0 then |A ∩ B| is even, and then w(A + B) ≡ w(A) + w(B) (modulo 4). If C is a self-orthogonal binary linear code, and is spanned by words of weights divisible by 4, then all its words will have weights divisible by 4. We call such a code doubly even. Conversely all doubly even codes are self-orthogonal, for 2|A ∩ B| = |A| + |B| − |A + B| ≡ 0 (mod 4) for all A, B ∈ C. We now consider Steiner systems. An S(k, r, n) Steiner system on Ω is a collection S of r-element subsets of a set Ω of n elements with the property that each k-element subset of Ω is a subset of exactly one element of S. We can count the number of sets in S by the following artifice. Consider the collection C of all pairs (A, B) with B ∈ S, A ⊆ B and |A| = k. Each k-element subset of Ω is the first entry in exactly one such pair, and so n r r |C| = k . But each element in S is the second entry in k such pairs, and so |C| = k |S|. n r Thus |S| = k / k . Let S be an S(k, r, n) Steiner system on Ω, and let X be a subset of Ω with |X| = t ≤ k. Let Ω0 = Ω − X, and S0 = {B − X : B ∈ S,X ⊆ B}. Then Ω0 is a set of (r − t)-element subsets of the (n − t)-element set Ω0. If A is a (k − t)- element subset of Ω0 then X ∪A is contained in a unique B ∈ S. Then A ⊆ B−X ∈ S0. On the other hand if A ⊆ B0 ∈ S0, then X ∪A ⊆ X ∪B0 ∈ S and X ∪B0 = B and B0 = B −X. 0 0 0 n−t r−t Thus S is an S(k − t, r − t, n − t) Steiner system on Ω . Then |S | = k−t / k−t . Hence n−t r−t there are k−t / k−t elements of S containing X. 1.2 The binary Golay code The theory of the binary Golay code is intimately connected with that of the Steiner system S(5, 8, 24). I describe their relationship here. Most of this section is based on my recollections of lectures of Conway [3]. 2 We define a binary Golay code as a binary linear code of length 24, of dimension at least 12, and minimum weight at least 8. In this section we fix a 24-element set Ω and consider codes as subsets of V = P(Ω). The basic properties of binary Golay codes are given by the following two theorems. Theorem 1 If C is a binary Golay code then 1. C has dimension 12, 2. C has minimum weight 8, 3. the words of weight 8 in C form an S(5, 8, 24) Steiner system, 4. C is spanned by its words of weight 8. Proof We consider congruences in V modulo C. Fix an element ω ∈ Ω. Let Sω be the set of A ∈ V with |A| ≤ 4 and with ω ∈ A if |A| = 4. Then 24! 24! 24! 24! 23! |S | = + + + + = 1 + 24 + 276 + 2024 + 1771 = 4096 = 212. ω 0 1 2 3 3 The sum of two elements of Sω has weight at most 4 + 4 = 8, but cannot equal 8, for then those elements of Sω would have weight 4 each, and their sum must have weight at most 6 since ω lies in both elements. The sum of two distinct elements of Sω thus cannot lie in C. 12 12 The cosets A + C as A runs through Sω are all distinct. Thus |V/C| ≥ 2 . But as |C| ≥ 2 then |V/C| ≤ 224/212 = 212 and so |C| = |V/C| = 212. Thus C has dimension 12. Also the A + C for A ∈ Sω form a complete set of cosets of C in V . Let B ∈ V have weight 4, and suppose that ω∈ / A. Then B/∈ Sω, but B ∈ A + C for some A ∈ S. As A + B is a non-zero element of Sω, then A + B has weight 8, and so C has minimum weight 8. The set A + B contains {ω} ∪ B. Thus each 5-element subset of Ω containing ω is contained in at least one 8-element set in C. But as ω is an arbitrary element of Ω then each 5-element subset of Ω is contained in at least one 8-element set of C. But this element is unique; any pair of distinct 8-element sets A, B ∈ V with |A ∩ B| ≥ 5 elements satisfy 0 < |A + B| ≤ 6, contrary to C’s having minimum weight 8. Thus the weight 8 words of C form a Steiner system S(5, 8, 24) and so there are 24 42504 5 = = 759 8 56 5 words of weight 8 in C. Let C0 be the linear subspace of C generated by the weight-8 words of C. We claim that C = C0. If A ∈ V has weight at least 5, then there is a weight-8 word B ∈ C whose support meets that of A in at least 5 places. Thus w(A + B) < w(A). Repeating this argument shows that each element of V is congruent modulo C0 to a word of weight at most 4. But we have seen that if B/∈ Sω has weight 4, then there is A ∈ Sω with A + B ∈ C having 3 0 weight 8. Thus all elements of V are congruent modulo C to elements of Sω, and so 0 0 0 0 0 |V/C | ≤ |Sω| = |V/C|. As C ⊆ C then |V/C | ≥ |V/C|. Hence |C| = |C | and C = C . As C is generated by words of even weight, each word in C has even weight. 2 This shows that a binary Golay code determines, and is determined by an S(5, 8, 24) Steiner system. The question remains as to whether each such Steiner system comes from a binary Golay code. The answer is yes, and so the problem of constructing binary Golay codes and S(5, 8, 24) Steiner systems are equivalent. Theorem 2 Let S be an S(5, 8, 24) Steiner system on Ω, and let C ⊆ P(ω) be the code spanned by the A ∈ S. Then 1. C is self-dual, 2. C is a binary Golay code, 3.
Recommended publications
  • A [49 16 6 ]-Linear Code As Product of the [7 4 2 ] Code Due to Aunu and the Hamming [7 4 3 ] Code
    General Letters in Mathematics, Vol. 4, No.3 , June 2018, pp.114 -119 Available online at http:// www.refaad.com https://doi.org/10.31559/glm2018.4.3.4 A [49 16 6 ]-Linear Code as Product Of The [7 4 2 ] Code Due to Aunu and the Hamming [7 4 3 ] Code CHUN, Pamson Bentse1, IBRAHIM Alhaji Aminu2, and MAGAMI, Mohe'd Sani3 1 Department Of Mathematics, Plateau State University Bokkos, Jos Nigeria [email protected] 2 Department Of Mathematics, Usmanu Danfodiyo University Sokoto, Sokoto Nigeria [email protected] 3 Department Of Mathematics, Usmanu Danfodiyo University Sokoto, Sokoto Nigeria [email protected] Abstract: The enumeration of the construction due to "Audu and Aminu"(AUNU) Permutation patterns, of a [ 7 4 2 ]- linear code which is an extended code of the [ 6 4 1 ] code and is in one-one correspondence with the known [ 7 4 3 ] - Hamming code has been reported by the Authors. The [ 7 4 2 ] linear code, so constructed was combined with the known Hamming [ 7 4 3 ] code using the ( u|u+v)-construction method to obtain a new hybrid and more practical single [14 8 3 ] error- correcting code. In this paper, we provide an improvement by obtaining a much more practical and applicable double error correcting code whose extended version is a triple error correcting code, by combining the same codes as in [1]. Our goal is achieved through using the product code construction approach with the aid of some proven theorems. Keywords: Cayley tables, AUNU Scheme, Hamming codes, Generator matrix,Tensor product 2010 MSC No: 97H60, 94A05 and 94B05 1.
    [Show full text]
  • Coding Theory: Linear Error-Correcting Codes Coding Theory Basic Definitions Error Detection and Correction Finite Fields Anna Dovzhik
    Coding Theory: Linear Error- Correcting Codes Anna Dovzhik Outline Coding Theory: Linear Error-Correcting Codes Coding Theory Basic Definitions Error Detection and Correction Finite Fields Anna Dovzhik Linear Codes Hamming Codes Finite Fields Revisited BCH Codes April 23, 2014 Reed-Solomon Codes Conclusion Coding Theory: Linear Error- Correcting 1 Coding Theory Codes Basic Definitions Anna Dovzhik Error Detection and Correction Outline Coding Theory 2 Finite Fields Basic Definitions Error Detection and Correction 3 Finite Fields Linear Codes Linear Codes Hamming Codes Hamming Codes Finite Fields Finite Fields Revisited Revisited BCH Codes BCH Codes Reed-Solomon Codes Reed-Solomon Codes Conclusion 4 Conclusion Definition A q-ary word w = w1w2w3 ::: wn is a vector where wi 2 A. Definition A q-ary block code is a set C over an alphabet A, where each element, or codeword, is a q-ary word of length n. Basic Definitions Coding Theory: Linear Error- Correcting Codes Anna Dovzhik Definition If A = a ; a ;:::; a , then A is a code alphabet of size q. Outline 1 2 q Coding Theory Basic Definitions Error Detection and Correction Finite Fields Linear Codes Hamming Codes Finite Fields Revisited BCH Codes Reed-Solomon Codes Conclusion Definition A q-ary block code is a set C over an alphabet A, where each element, or codeword, is a q-ary word of length n. Basic Definitions Coding Theory: Linear Error- Correcting Codes Anna Dovzhik Definition If A = a ; a ;:::; a , then A is a code alphabet of size q. Outline 1 2 q Coding Theory Basic Definitions Error Detection Definition and Correction Finite Fields A q-ary word w = w1w2w3 ::: wn is a vector where wi 2 A.
    [Show full text]
  • Mceliece Cryptosystem Based on Extended Golay Code
    McEliece Cryptosystem Based On Extended Golay Code Amandeep Singh Bhatia∗ and Ajay Kumar Department of Computer Science, Thapar university, India E-mail: ∗[email protected] (Dated: November 16, 2018) With increasing advancements in technology, it is expected that the emergence of a quantum computer will potentially break many of the public-key cryptosystems currently in use. It will negotiate the confidentiality and integrity of communications. In this regard, we have privacy protectors (i.e. Post-Quantum Cryptography), which resists attacks by quantum computers, deals with cryptosystems that run on conventional computers and are secure against attacks by quantum computers. The practice of code-based cryptography is a trade-off between security and efficiency. In this chapter, we have explored The most successful McEliece cryptosystem, based on extended Golay code [24, 12, 8]. We have examined the implications of using an extended Golay code in place of usual Goppa code in McEliece cryptosystem. Further, we have implemented a McEliece cryptosystem based on extended Golay code using MATLAB. The extended Golay code has lots of practical applications. The main advantage of using extended Golay code is that it has codeword of length 24, a minimum Hamming distance of 8 allows us to detect 7-bit errors while correcting for 3 or fewer errors simultaneously and can be transmitted at high data rate. I. INTRODUCTION Over the last three decades, public key cryptosystems (Diffie-Hellman key exchange, the RSA cryptosystem, digital signature algorithm (DSA), and Elliptic curve cryptosystems) has become a crucial component of cyber security. In this regard, security depends on the difficulty of a definite number of theoretic problems (integer factorization or the discrete log problem).
    [Show full text]
  • Coded Computing Via Binary Linear Codes: Designs and Performance Limits Mahdi Soleymani∗, Mohammad Vahid Jamali∗, and Hessam Mahdavifar, Member, IEEE
    1 Coded Computing via Binary Linear Codes: Designs and Performance Limits Mahdi Soleymani∗, Mohammad Vahid Jamali∗, and Hessam Mahdavifar, Member, IEEE Abstract—We consider the problem of coded distributed processing capabilities. A coded computing scheme aims to computing where a large linear computational job, such as a divide the job to k < n tasks and then to introduce n − k matrix multiplication, is divided into k smaller tasks, encoded redundant tasks using an (n; k) code, in order to alleviate the using an (n; k) linear code, and performed over n distributed nodes. The goal is to reduce the average execution time of effect of slower nodes, also referred to as stragglers. In such a the computational job. We provide a connection between the setup, it is often assumed that each node is assigned one task problem of characterizing the average execution time of a coded and hence, the total number of encoded tasks is n equal to the distributed computing system and the problem of analyzing the number of nodes. error probability of codes of length n used over erasure channels. Recently, there has been extensive research activities to Accordingly, we present closed-form expressions for the execution time using binary random linear codes and the best execution leverage coding schemes in order to boost the performance time any linear-coded distributed computing system can achieve. of distributed computing systems [6]–[18]. However, most It is also shown that there exist good binary linear codes that not of the work in the literature focus on the application of only attain (asymptotically) the best performance that any linear maximum distance separable (MDS) codes.
    [Show full text]
  • The Theory of Error-Correcting Codes the Ternary Golay Codes and Related Structures
    Math 28: The Theory of Error-Correcting Codes The ternary Golay codes and related structures We have seen already that if C is an extremal [12; 6; 6] Type III code then C attains equality in the LP bounds (and conversely the LP bounds show that any ternary (12; 36; 6) code is a translate of such a C); ear- lier we observed that removing any coordinate from C yields a perfect 2-error-correcting [11; 6; 5] ternary code. Since C is extremal, we also know that its Hamming weight enumerator is uniquely determined, and compute 3 3 3 3 3 3 12 6 6 3 9 12 WC (X; Y ) = (X(X + 8Y )) − 24(Y (X − Y )) = X + 264X Y + 440X Y + 24Y : Here are some further remarkable properties that quickly follow: A (5,6,12) Steiner system. The minimal words form 132 pairs fc; −cg with the same support. Let S be the family of these 132 supports. We claim S is a (5; 6; 12) Steiner system; that is, that any pentad (5-element 12 6 set of coordinates) is a subset of a unique hexad in S. Because S has the right size 5 5 , it is enough to show that no two hexads intersect in exactly 5 points. If they did, then we would have some c; c0 2 C, both of weight 6, whose supports have exactly 5 points in common. But then c0 would agree with either c or −c on at least 3 of these points (and thus on exactly 4, because (c; c0) = 0), making c0 ∓ c a nonzero codeword of weight less than 5 (and thus exactly 3), which is a contradiction.
    [Show full text]
  • ERROR CORRECTING CODES Definition (Alphabet)
    ERROR CORRECTING CODES Definition (Alphabet) An alphabet is a finite set of symbols. Example: A simple example of an alphabet is the set A := fB; #; 17; P; $; 0; ug. Definition (Codeword) A codeword is a string of symbols in an alphabet. Example: In the alphabet A := fB; #; 17; P; $; 0; ug, some examples of codewords of length 4 are: P 17#u; 0B$#; uBuB; 0000: Definition (Code) A code is a set of codewords in an alphabet. Example: In the alphabet A := fB; #; 17; P; $; 0; ug, an example of a code is the set of 5 words: fP 17#u; 0B$#; uBuB; 0000;PP #$g: If all the codewords are known and recorded in some dictionary then it is possible to transmit messages (strings of codewords) to another entity over a noisy channel and detect and possibly correct errors. For example in the code C := fP 17#u; 0B$#; uBuB; 0000;PP #$g if the word 0B$# is sent and received as PB$#, then if we knew that only one error was made it can be determined that the letter P was an error which can be corrected by changing P to 0. Definition (Linear Code) A linear code is a code where the codewords form a finite abelian group under addition. Main Problem of Coding Theory: To construct an alphabet and a code in that alphabet so it is as easy as possible to detect and correct errors in transmissions of codewords. A key idea for solving this problem is the notion of Hamming distance. Definition (Hamming distance dH ) Let C be a code and let 0 0 0 0 w = w1w2 : : : wn; w = w1w2 : : : wn; 0 0 be two codewords in C where wi; wj are elements of the alphabet of C.
    [Show full text]
  • Review of Binary Codes for Error Detection and Correction
    ` ISSN(Online): 2319-8753 ISSN (Print): 2347-6710 International Journal of Innovative Research in Science, Engineering and Technology (A High Impact Factor, Monthly, Peer Reviewed Journal) Visit: www.ijirset.com Vol. 7, Issue 4, April 2018 Review of Binary Codes for Error Detection and Correction Eisha Khan, Nishi Pandey and Neelesh Gupta M. Tech. Scholar, VLSI Design and Embedded System, TCST, Bhopal, India Assistant Professor, VLSI Design and Embedded System, TCST, Bhopal, India Head of Dept., VLSI Design and Embedded System, TCST, Bhopal, India ABSTRACT: Golay Code is a type of Error Correction code discovered and performance very close to Shanon‟s limit . Good error correcting performance enables reliable communication. Since its discovery by Marcel J.E. Golay there is more research going on for its efficient construction and implementation. The binary Golay code (G23) is represented as (23, 12, 7), while the extended binary Golay code (G24) is as (24, 12, 8). High speed with low-latency architecture has been designed and implemented in Virtex-4 FPGA for Golay encoder without incorporating linear feedback shift register. This brief also presents an optimized and low-complexity decoding architecture for extended binary Golay code (24, 12, 8) based on an incomplete maximum likelihood decoding scheme. KEYWORDS: Golay Code, Decoder, Encoder, Field Programmable Gate Array (FPGA) I. INTRODUCTION Communication system transmits data from source to transmitter through a channel or medium such as wired or wireless. The reliability of received data depends on the channel medium and external noise and this noise creates interference to the signal and introduces errors in transmitted data.
    [Show full text]
  • Improved List-Decodability of Random Linear Binary Codes
    Improved list-decodability of random linear binary codes∗ Ray Li† and Mary Wootters‡ November 26, 2020 Abstract There has been a great deal of work establishing that random linear codes are as list- decodable as uniformly random codes, in the sense that a random linear binary code of rate 1 H(p) ǫ is (p, O(1/ǫ))-list-decodable with high probability. In this work, we show that such codes− are− (p,H(p)/ǫ + 2)-list-decodable with high probability, for any p (0, 1/2) and ǫ > 0. In addition to improving the constant in known list-size bounds, our argument—which∈ is quite simple—works simultaneously for all values of p, while previous works obtaining L = O(1/ǫ) patched together different arguments to cover different parameter regimes. Our approach is to strengthen an existential argument of (Guruswami, H˚astad, Sudan and Zuckerman, IEEE Trans. IT, 2002) to hold with high probability. To complement our up- per bound for random linear codes, we also improve an argument of (Guruswami, Narayanan, IEEE Trans. IT, 2014) to obtain an essentially tight lower bound of 1/ǫ on the list size of uniformly random codes; this implies that random linear codes are in fact more list-decodable than uniformly random codes, in the sense that the list sizes are strictly smaller. To demonstrate the applicability of these techniques, we use them to (a) obtain more in- formation about the distribution of list sizes of random linear codes and (b) to prove a similar result for random linear rank-metric codes.
    [Show full text]
  • Coding Theory and Applications Solved Exercises and Problems Of
    Coding Theory and Applications Solved Exercises and Problems of Linear Codes Enes Pasalic University of Primorska Koper, 2013 Contents 1 Preface 3 2 Problems 4 2 1 Preface This is a collection of solved exercises and problems of linear codes for students who have a working knowledge of coding theory. Its aim is to achieve a balance among the computational skills, theory, and applications of cyclic codes, while keeping the level suitable for beginning students. The contents are arranged to permit enough flexibility to allow the presentation of a traditional introduction to the subject, or to allow a more applied course. Enes Pasalic [email protected] 3 2 Problems In these exercises we consider some basic concepts of coding theory, that is we introduce the redundancy in the information bits and consider the possible improvements in terms of improved error probability of correct decoding. 1. (Error probability): Consider a code of length six n = 6 defined as, (a1; a2; a3; a2 + a3; a1 + a3; a1 + a2) where ai 2 f0; 1g. Here a1; a2; a3 are information bits and the remaining bits are redundancy (parity) bits. Compute the probability that the decoder makes an incorrect decision if the bit error probability is p = 0:001. The decoder computes the following entities b1 + b3 + b4 = s1 b1 + b3 + b5 == s2 b1 + b2 + b6 = s3 where b = (b1; b2; : : : ; b6) is a received vector. We represent the error vector as e = (e1; e2; : : : ; e6) and clearly if a vector (a1; a2; a3; a2+ a3; a1 + a3; a1 + a2) was transmitted then b = a + e, where '+' denotes bitwise mod 2 addition.
    [Show full text]
  • A Parallel Algorithm for Query Adaptive, Locality Sensitive Hash
    A CUDA Based Parallel Decoding Algorithm for the Leech Lattice Locality Sensitive Hash Family A thesis submitted to the Division of Research and Advanced Studies of the University of Cincinnati in partial fulfillment of the requirements for the degree of MASTER OF SCIENCE in the School of Electric and Computing Systems of the College of Engineering and Applied Sciences November 03, 2011 by Lee A Carraher BSCE, University of Cincinnati, 2008 Thesis Advisor and Committee Chair: Dr. Fred Annexstein Abstract Nearest neighbor search is a fundamental requirement of many machine learning algorithms and is essential to fuzzy information retrieval. The utility of efficient database search and construction has broad utility in a variety of computing fields. Applications such as coding theory and compression for electronic commu- nication systems as well as use in artificial intelligence for pattern and object recognition. In this thesis, a particular subset of nearest neighbors is consider, referred to as c-approximate k-nearest neighbors search. This particular variation relaxes the constraints of exact nearest neighbors by introducing a probability of finding the correct nearest neighbor c, which offers considerable advantages to the computational complexity of the search algorithm and the database overhead requirements. Furthermore, it extends the original nearest neighbors algorithm by returning a set of k candidate nearest neighbors, from which expert or exact distance calculations can be considered. Furthermore thesis extends the implementation of c-approximate k-nearest neighbors search so that it is able to utilize the burgeoning GPGPU computing field. The specific form of c-approximate k-nearest neighbors search implemented is based on the locality sensitive hash search from the E2LSH package of Indyk and Andoni [1].
    [Show full text]
  • On the Algebraic Structure of Quasi Group Codes
    ON THE ALGEBRAIC STRUCTURE OF QUASI GROUP CODES MARTINO BORELLO AND WOLFGANG WILLEMS Abstract. In this note, an intrinsic description of some families of linear codes with symmetries is given, showing that they can be described more generally as quasi group codes, that is as linear codes with a free group of permutation automorphisms. An algebraic description, including the concatenated structure, of such codes is presented. Finally, self-duality of quasi group codes is investigated. 1. Introduction In the theory of error correcting codes, the linear ones play a central role for their algebraic properties which allow, for example, their easy description and storage. Quite early in their study, it appeared convenient to add additional algebraic structure in order to get more information about the parameters and to facilitate the decoding process. In 1957, E. Prange introduced the now well- known class of cyclic codes [18], which are the forefathers of many other families of codes with symmetries introduced later. In particular, abelian codes [2], group codes [15], quasi-cyclic codes [9] and quasi-abelian codes [19] are distinguished descendants of cyclic codes: they have a nice algebraic structure and many optimal codes belong to these families. The aim of the current note is to give an intrinsic description of these classes in terms of their permutation automorphism groups: we will show that all of them have a free group of permutation automorphisms (which is not necessarily the full permutation automorphism group of the code). We will define a code with this property as a quasi group code. So all families cited above can be described in this way.
    [Show full text]
  • Error Detection and Correction Using the BCH Code 1
    Error Detection and Correction Using the BCH Code 1 Error Detection and Correction Using the BCH Code Hank Wallace Copyright (C) 2001 Hank Wallace The Information Environment The information revolution is in full swing, having matured over the last thirty or so years. It is estimated that there are hundreds of millions to several billion web pages on computers connected to the Internet, depending on whom you ask and the time of day. As of this writing, the google.com search engine listed 1,346,966,000 web pages in its database. Add to that email, FTP transactions, virtual private networks and other traffic, and the data volume swells to many terabits per day. We have all learned new standard multiplier prefixes as a result of this explosion. These days, the prefix “mega,” or million, when used in advertising (“Mega Cola”) actually makes the product seem trite. With all these terabits per second flying around the world on copper cable, optical fiber, and microwave links, the question arises: How reliable are these networks? If we lose only 0.001% of the data on a one gigabit per second network link, that amounts to ten thousand bits per second! A typical newspaper story contains 1,000 words, or about 42,000 bits of information. Imagine losing a newspaper story on the wires every four seconds, or 900 stories per hour. Even a small error rate becomes impractical as data rates increase to stratospheric levels as they have over the last decade. Given the fact that all networks corrupt the data sent through them to some extent, is there something that we can do to ensure good data gets through poor networks intact? Enter Claude Shannon In 1948, Dr.
    [Show full text]