Introduction to Coding Theory

Total Page:16

File Type:pdf, Size:1020Kb

Introduction to Coding Theory Introduction Why Coding Theory ? Introduction Info Info Noise ! Info »?# Sink to Source Heh ! Sink Heh ! Coding Theory Encoder Channel Decoder Samuel J. Lomonaco, Jr. Dept. of Comp. Sci. & Electrical Engineering Noisy Channels University of Maryland Baltimore County Baltimore, MD 21250 • Computer communication line Email: [email protected] WebPage: http://www.csee.umbc.edu/~lomonaco • Computer memory • Space channel • Telephone communication • Teacher/student channel Error Detecting Codes Applied to Memories Redundancy Input Encode Storage Detect Output 1 1 1 1 0 0 0 0 1 1 Error 1 Erasure 1 1 31=16+5 Code 1 0 ? 0 0 0 0 EVN THOUG LTTRS AR MSSNG 1 16 Info Bits 1 1 1 0 5 Red. Bits 0 0 0 0 0 0 0 FRM TH WRDS N THS SNTNCE 1 1 1 1 0 0 0 0 1 1 1 Double 1 IT CN B NDRSTD 0 0 0 0 1 Error 1 Error 1 Erasure 1 1 Detecting 1 0 ? 0 0 0 0 1 1 1 1 Error Control Coding 0 0 1 1 0 0 31% Redundancy 1 1 1 1 Error Correcting Codes Applied to Memories Input Encode Storage Correct Output Space Channel 1 1 1 1 0 0 0 0 Mariner Space Probe – Years B.C. ( ≤ 1964) 1 1 Error 1 1 • 1 31=16+5 Code 1 0 1 0 0 0 0 Eb/N0 Pe 16 Info Bits 1 1 1 1 -3 0 5 Red. Bits 0 0 0 6.8 db 10 0 0 0 0 -5 1 1 1 1 9.8 db 10 0 0 0 0 1 1 1 Single 1 0 0 0 0 Error 1 1 • Mariner Space Probe – Years A.C. 1 Error 1 • 1 Correcting 1 1 1 0 0 0 0 Eb/N0 Pe 1 1 1 1 0 0 -1.6 db Essentially Zero 1 1 0 0 31% Redundancy 1 1 1 1 1 db = $1,000,000 1 Types of Channels 2-Repeat Code 1 − p 0 0 Info. Words Code Words p p 0 00 1 11 1 1 − p 1 Binary Symmetric Channel (BSC) Detects all single errors If we use BEC with probability of transition p = 10-2, Erasure then the probability P of undetectable error is 1 − p then the probability PU of undetectable error is 00 ==24− p PpU 10 p ? Moreover, 1 1 #1InfoBits 1 − p Rate== R = Binary Erasure Channel (BEC) #2All Bits A Surprise in Communication Theory Shannon’s Theorem 1 −2 Repetition 10 Coding 10−4 Within a large class of coding schemes −6 there exist some schemes – nearly all, 10 Limit Given −8 10 by Shannon’s actually – that give arbitrarily low error − Theorem rates at any information rate up to a 10 10 critical rate C, called channel capacity. 10−12 Prob. Of Msg. Error Msg. Of Prob. Prob. Of Msg. Error Msg. Of Prob. 10−14 ε 1 1 1 1 1 1 Folk Theorem Channel Choose as 3 5 7 9 11 small as “All codes are good, except those we can think of.” Capacity small as Info Bits you like Msg Rate = C All Bits Hamming (8,4) 4 Code Info Words Code Words Types of Codes 0000 0000 0000 • Corrects all single errors 0001 1101 0001 0010 0111 0010 • A block code is a code that uses sequences • Detects all single, double, 0011 1010 0011 of n channel symbols, or n-tuples. and triple errors 0100 1011 0100 0101 0110 0101 Rate R = 1/2 • 0110 1100 0110 Only certain selected n-tuples, called 0111 0001 0111 We will now apply this code code blocks or code words are sent. 1000 1110 1000 code to the BEC with p=10-2 1001 0011 1001 <−≈−88844kk− 1010 1001 1010 Convolutional Codes: PUkC pp(1 )C4 pp (1 ) 1011 0100 1011 • ∑ Each output bit depends on all the previous k −−44 1100 0101 1100 ∴<()()22 − bits. PU 70 10 1 10 1101 1000 1101 1110 0010 1110 − ∴< ×7 1111 1111 1111 PU 6.72 10 2 Decoding Table for a Block Code Terminology Codewords 11000 00110 10011 01101 Code 11001 00111 10010 01100 11010 00100 10001 01111 00 11000 11100 00010 10111 01001 01 00110 10000 01110 11011 00101 10 10011 01000 10110 00011 11101 Received 11110 00000 01011 10101 11 01101 Words 01010 10100 11111 00001 Info Encoding Code Words Procedure Words Convolutional Codes Types of Error Correcting Codes Infinite Infinite Block Codes Input Output • Orthogonal Codes • Linear Codes aann+1210 aaa Convolver bbnn+1210 bbb • Cyclic Codes • BCH Codes Convolutional Codes • Threshold Decoding • Sequential Decoding Block Codes Definitions Def. A code is a set of binary vectors of the same fixed length Non-Linear Parameters of codes Linear n = length of code vectors Cyclic R = code rate = (# info bits)/n PU = Prob. of undetectable error BCH 3 Problem: PU depends on the channel Problem: PU depends on the channel (Cont.) Def. Let u and v be n bit vectors. Def. The Hamming weight H(u) of u is The Hamming distance H(u,v) between the number of 1’s in u. u and v is the number of bits at which they differ. For example, H ()0110= 2 For example, H ()0110, 1011= 3 Please also note that H ()10011, 00011= 1 Huv(), =+ Hu ( v ) Problem: PU depends on the channel (Cont.) A Recurring Theme Def. Let V be a code. Then the minimum distance d(V) is uv≠ Add More Algebra dV()= MinH() uv , | uv, ∈ V Observation: & Gain ≤−++−nd nd−− nn nn PCpUd(1 p ) Cp n (1 p ) • A trade of space for time, i.e., memory So channel independent Code Parameters are: for computation n = length of code vectors • Simplifications R = code rate = (# info bits)/n d = minimum distance Linear Codes Linear Codes GF ()20,1,,=+= { } i Galois field of two elts. + 0 1 i 0 1 Enter stage right 0 0 1 0 0 0 … Addition 1 1 0 1 0 1 nn=={() ∈∀} E GF(2) b12 , b ,… , bni : b GF (2) i We now adjoin addition “+” to the = n-dim vector space over GF(2) code space E n ,,+ i ()()(+=+++ ) bb12, ,…… , bnn b 1 ', b 2 ', , b ' b 1 b 1 ', b 2 b 2 ', … , b nn b ' ()()=∈ a b12,,, b…… bnn ab 1 , ab 2 ,, ab , a GF (2) 4 Linear Codes A Simplification Def. A linear code V is a subspace of E, i.e., V is linear iff uv, ∈ V⇒ u+∈ v V Min. Dist. = Min. Non-Zero Wt. Parameters of linear codes: NOTE: R=k/n uv, ∈ V n = length of code vectors dV()= MinHuv (,): ≠ k = dim(V) = log2(#V) = # Info. Bits uv d = d(V) = minimum distance uV∈ = Min H(): u u ≠ 0 V is said to be a linear (n,k) d code Length Dim Min. Dist. Error Model An example of the Error Model Error Error Vector Vector ε = 000010 ε Sent Received Vector Vector Sent Received Vector Vector v =001110 rv=+ε v rv=+ε =001100 000010 = ε + 001110 = v 001100 = r An Example: The Hamming (7,4) 3 Code The Hamming (7,4) 3 Code (Cont.) Infoword Codeword ()(bbbb,,, bbbbbbb ,,,,,, ) 1011000 3210 6543210 Infoword Codeword bbbb=++ 1110100 6023=++ ()bbbb,,,= ( bbbbbbb ,,,,,, ) where bbbb5012 3210 6543210 bbbb=++ 0110010 4123 Infoword Codeword Infoword Codeword 1110001 0000 000 0000 1000 110 1000 0001 101 0001 A 1001 011 1001 0010 111 0010 1010 001 1010 Generator Matrix G 0011 010 0011 Linear 1011 100 1011 74 0100 011 0100 Code 1100 101 1100 VvEuEstuGv=∈{ :.. ∃∈ =} 0101 110 0101 1101 000 1101 0110 100 0110 1110 010 1110 0111 001 0111 1111 111 1111 The rows of G span the linear code V. 5 The Hamming (7,4) 3 Code (Cont.) Linear Codes T Codeword 1001101 • The rows of the generator matrix G span ()bbbbbbb,,,,,, 0100111=() 0,0,0 the code V. 6543210 0011110 The columns of the parity check matrix H • The columns of the parity⊥ check matrix H span the dual code V . Parity Check Matrix HT VvEvH=∈{ 7 :0T =} ⊥ The rows of HT span the linear code V . Linear Codes Linear Codes Def. Let V be a linear code in En. Then Observation: vV∈⇔ vHT =0 the dual code V⊥ of V is Hence, ()veHvHeHeH+=+=TTTT VvEvuuV⊥ =∈{ n :0,i =∀∈} where Def. Let r be a received vector. Then vui = vu T ∑ ii rHi i is called the syndrome of r . The syndrome depends only on the error pattern e. Maximum Likelihood Decoding Maximum Likelihood Decoding Coset Leaders Decoding Error Patterns Code Table Most Probable Error Pattern for Given Syndrome 000000 001110 010101 100011 011011 101101 110110 11100 000001 001111 010100 100010 011010 101100 110111 111001 Error Syndrome 000010 001100 010111 100001 011001 101111 110100 111010 000000 000 000100 001010 010001 100111 011111 101001 110010 111100 000001 001 001000 000110 011101 101011 010011 100101 111110 110000 Error/Syndrome 000010 010 010000 011110 000101 110011 001011 111101 100110 101000 Table 000100 100 100000 101110 110101 000011 111011 001101 010110 011000 001000 110 001001 000111 011100 101010 010010 100100 111111 110001 010000 101 100000 011 Standard Array for a Linear (6,3) 3 Code 001001 111 6 A Recurring Theme Cyclic Codes Add More Algebra Enter stage right & Gain … Multiplication • • A trade of space for time, i.e., memory We now adjoin Multiplication “ ” for computation to the code space • Simplifications Cyclic Codes: Preliminaries Cyclic Codes: Preliminaries Each n-bit binary number can be considered to be a polynomial with coefficients over GF(2) . 23 1011 1 ++x x + 1101 ++1 x +x3 10101011=+++++++ 1iiiiiiiix01234567 0xxxxxxx 1 0 1 0 1 1 0110 00++xx2 + =++++1 x2467xxx Addition Cyclic Codes: Preliminaries Cyclic Codes: Preliminaries 101 2 1 + x Problem: Multiplication of code vectors × 011 ×+xx2 (thought of as polynomials) may increase 101 code vector length.
Recommended publications
  • Reed-Solomon Encoding and Decoding
    Bachelor's Thesis Degree Programme in Information Technology 2011 León van de Pavert REED-SOLOMON ENCODING AND DECODING A Visual Representation i Bachelor's Thesis | Abstract Turku University of Applied Sciences Degree Programme in Information Technology Spring 2011 | 37 pages Instructor: Hazem Al-Bermanei León van de Pavert REED-SOLOMON ENCODING AND DECODING The capacity of a binary channel is increased by adding extra bits to this data. This improves the quality of digital data. The process of adding redundant bits is known as channel encod- ing. In many situations, errors are not distributed at random but occur in bursts. For example, scratches, dust or fingerprints on a compact disc (CD) introduce errors on neighbouring data bits. Cross-interleaved Reed-Solomon codes (CIRC) are particularly well-suited for detection and correction of burst errors and erasures. Interleaving redistributes the data over many blocks of code. The double encoding has the first code declaring erasures. The second code corrects them. The purpose of this thesis is to present Reed-Solomon error correction codes in relation to burst errors. In particular, this thesis visualises the mechanism of cross-interleaving and its ability to allow for detection and correction of burst errors. KEYWORDS: Coding theory, Reed-Solomon code, burst errors, cross-interleaving, compact disc ii ACKNOWLEDGEMENTS It is a pleasure to thank those who supported me making this thesis possible. I am thankful to my supervisor, Hazem Al-Bermanei, whose intricate know- ledge of coding theory inspired me, and whose lectures, encouragement, and support enabled me to develop an understanding of this subject.
    [Show full text]
  • The Binary Golay Code and the Leech Lattice
    The binary Golay code and the Leech lattice Recall from previous talks: Def 1: (linear code) A code C over a field F is called linear if the code contains any linear combinations of its codewords A k-dimensional linear code of length n with minimal Hamming distance d is said to be an [n, k, d]-code. Why are linear codes interesting? ● Error-correcting codes have a wide range of applications in telecommunication. ● A field where transmissions are particularly important is space probes, due to a combination of a harsh environment and cost restrictions. ● Linear codes were used for space-probes because they allowed for just-in-time encoding, as memory was error-prone and heavy. Space-probe example The Hamming weight enumerator Def 2: (weight of a codeword) The weight w(u) of a codeword u is the number of its nonzero coordinates. Def 3: (Hamming weight enumerator) The Hamming weight enumerator of C is the polynomial: n n−i i W C (X ,Y )=∑ Ai X Y i=0 where Ai is the number of codeword of weight i. Example (Example 2.1, [8]) For the binary Hamming code of length 7 the weight enumerator is given by: 7 4 3 3 4 7 W H (X ,Y )= X +7 X Y +7 X Y +Y Dual and doubly even codes Def 4: (dual code) For a code C we define the dual code C˚ to be the linear code of codewords orthogonal to all of C. Def 5: (doubly even code) A binary code C is called doubly even if the weights of all its codewords are divisible by 4.
    [Show full text]
  • Cyclic Codes
    Cyclic Codes Saravanan Vijayakumaran [email protected] Department of Electrical Engineering Indian Institute of Technology Bombay August 26, 2014 1 / 25 Cyclic Codes Definition A cyclic shift of a vector v0 v1 ··· vn−2 vn−1 is the vector vn−1 v0 v1 ··· vn−3 vn−2 . Definition An (n; k) linear block code C is a cyclic code if every cyclic shift of a codeword in C is also a codeword. Example Consider the (7; 4) code C with generator matrix 21 0 0 0 1 1 03 60 1 0 0 0 1 17 G = 6 7 40 0 1 0 1 1 15 0 0 0 1 1 0 1 2 / 25 Polynomial Representation of Vectors For every vector v = v0 v1 ··· vn−2 vn−1 there is a polynomial 2 n−1 v(X) = v0 + v1X + v2X + ··· + vn−1X Let v(i) be the vector resulting from i cyclic shifts on v (i) i−1 i n−1 v (X) = vn−i +vn−i+1X +···+vn−1X +v0X +···+vn−i−1X Example v = 1 0 0 1 1 0 1, v(X) = 1 + X 3 + X 4 + X 6 v(1) = 1 1 0 0 1 1 0, v(1)(X) = 1 + X + X 4 + X 5 v(2) = 0 1 1 0 0 1 1, v(2)(X) = X + X 2 + X 5 + X 6 3 / 25 Polynomial Representation of Vectors • Consider v(X) and v(1)(X) 2 n−1 v(X) = v0 + v1X + v2X + ··· + vn−1X (1) 2 3 n−2 v (X) = vn−1 + v0X + v1X + v2X + ··· + vn−2X h 2 n−2i = vn−1 + X v0 + v1X + v2X + ··· + vn−2X n h n−2 n−1i = vn−1(1 + X ) + X v0 + ··· + vn−2X + vn−1X n = vn−1(1 + X ) + Xv(X) • In general, v(X) and v(i)(X) are related by X i v(X) = v(i)(X) + q(X)(X n + 1) i−1 where q(X) = vn−i + vn−i+1X + ··· + vn−1X • v(i)(X) is the remainder when X i v(X) is divided by X n + 1 4 / 25 Hamming Code of Length 7 Codeword Code Polynomial 0000000 0 1000110 1 + X 4 + X 5 0100011 X + X 5 + X 6 1100101 1 + X + X 4 + X 6 0010111 X 2 + X 4 + X 5 + X 6 1010001 1 + X 2 + X 6 0110100 X + X 2 + X 4 1110010 1 + X + X 2 + X 5 0001101 X 3 + X 4 + X 6 1001011 1 + X 3 + X 5 + X 6 0101110 X + X 3 + X 4 + X 5 1101000 1 + X + X 3 0011010 X 2 + X 3 + X 5 1011100 1 + X 2 + X 3 + X 4 0111001 X + X 2 + X 3 + X 6 1111111 1 + X + X 2 + X 3 + X 4 + X 5 + X 6 5 / 25 Properties of Cyclic Codes (1) Theorem The nonzero code polynomial of minimum degree in a linear block code is unique.
    [Show full text]
  • ABSTRACT IDEMPOTENTS in CYCLIC CODES by Benjamin Brame April 9, 2012
    ABSTRACT IDEMPOTENTS IN CYCLIC CODES by Benjamin Brame April 9, 2012 Chair: Dr. Zachary Robinson Major Department: Mathematics Cyclic codes give us the most probable method by which we may detect and correct data transmission errors. These codes depend on the development of advanced math- ematical concepts. It is shown that cyclic codes, when viewed as vector subspaces of a vector space of some dimension n over some finite field F, can be approached as polynomials in a ring. This approach is made possible by the assumption that the set of codewords is invariant under cyclic shifts, which are linear transformations. Developing these codes seems to be equivalent to factoring the polynomial xn −x over F. Each factor then gives us a cyclic code of some dimension k over F. Constructing factorizations of xn − 1 is accomplished by using cyclotomic polyno- mials and idempotents of the code algebra. The use of these two concepts together allows us to find cyclic codes in Fn. Hence, the development of cyclic codes is a journey from codewords and codes to fields and rings and back to codes and codewords. IDEMPOTENTS IN CYCLIC CODES A Thesis Presented to The Faculty of the Department of Mathematics East Carolina University In Partial Fulfillment of the Requirements for the Degree Master of Arts in Mathematics by Benjamin Brame April 9, 2012 Copyright 2012, Benjamin Brame IDEMPOTENTS IN CYCLIC CODES by Benjamin Brame APPROVED BY: DIRECTOR OF THESIS: Dr. Zachary Robinson COMMITTEE MEMBER: Dr. Chris Jantzen COMMITTEE MEMBER: Dr. Heather Ries COMMITTEE MEMBER: Dr. David Pravica CHAIR OF THE DEPARTMENT OF MATHEMATICS: Dr.
    [Show full text]
  • Cyclic Codes, BCH Codes, RS Codes
    Classical Channel Coding, II Hamming Codes, Cyclic Codes, BCH Codes, RS Codes John MacLaren Walsh, Ph.D. ECET 602, Winter Quarter, 2013 1 References • Error Control Coding, 2nd Ed. Shu Lin and Daniel J. Costello, Jr. Pearson Prentice Hall, 2004. • Error Control Systems for Digital Communication and Storage, Prentice Hall, S. B. Wicker, 1995. 2 Example of Syndrome Decoder { Hamming Codes Recall that a (n; k) Hamming code is a perfect code with a m × 2m − 1 parity check matrix whose columns are all 2m −1 of the non-zero binary words of length m. This yields an especially simple syndrome decoder look up table for arg min wt(e) (1) ejeHT =rHT In particular, one selects the error vector to be the jth column of the identity matrix, where j is the column of the parity check matrix which is equal to the computed syndome s = rHT . 3 Cyclic Codes Cyclic codes are a subclass of linear block codes over GF (q) which have the property that every cyclic shift of a codeword is itself also a codeword. The ith cyclic shift of a vector v = (v0; v1; : : : ; vn−1) is (i) the vector v = (vn−i; vn−i+1; : : : ; vn−1; v0; v1; : : : ; vn−i−1). If we think of the elements of the vector as n−1 coefficients in the polynomial v(x) = v0 + v1x + ··· + vn−1x we observe that i i i+1 n−1 n n+i−1 x v(x) = v0x + v1x + ··· + vn−i−1x + vn−ix + ··· + vn+i−1x i−1 i n−1 = vn−i + vn−i+1x + ··· + vn−1x + v0x + ··· + vn−i−1x n n i−1 n +vn−i(x − 1) + vn−i+1x(x − 1) + ··· + vn+i−1x (x − 1) Hence, i n i−1 i i+1 n−1 (i) x v(x)mod(x − 1) = vn−i + vn−i+1x + ··· + vn−1x + v0x + v1x + ··· + vn−i−1x = v (x) (2) That is, the ith cyclic shift can alternatively be thought of as the operation v(i)(x) = xiv(x)mod(xn − 1).
    [Show full text]
  • Finding Cyclic Redundancy Check Polynomials for Multilevel Systems James A
    View metadata, citation and similar papers at core.ac.uk brought to you by CORE provided by University of Richmond University of Richmond UR Scholarship Repository Math and Computer Science Faculty Publications Math and Computer Science 10-1998 Finding Cyclic Redundancy Check Polynomials for Multilevel Systems James A. Davis University of Richmond, [email protected] Miranda Mowbray Simon Crouch Follow this and additional works at: http://scholarship.richmond.edu/mathcs-faculty-publications Part of the Mathematics Commons Recommended Citation Davis, James A., Miranda Mowbray, and Simon Crouch. "Finding Cyclic Redundancy Check Polynomials for Multilevel Systems." IEEE Transactions on Communications 46, no. 10 (October 1998): 1250-253. This Article is brought to you for free and open access by the Math and Computer Science at UR Scholarship Repository. It has been accepted for inclusion in Math and Computer Science Faculty Publications by an authorized administrator of UR Scholarship Repository. For more information, please contact [email protected]. 1250 IEEE TRANSACTIONS ON COMMUNICATIONS, VOL. 46, NO. 10, OCTOBER 1998 Finding Cyclic Redundancy Check Polynomials for ,Multilevel Systems James A. Davis, Miranda Mowbray, and Simon Crouch Abstract-This letter describes a technique for finding cyclic for using all nine levels rather than, effectively, just eight, redundancy check polynomials for systems for transmission over in that with nine levels there are more possible choices for symmetric channels which encode information in multiple voltage code words which do not encode data, but are special signals levels, so that the resulting redundancy check gives good error protection and is efficient to implement. The codes which we used for synchronization information or to signal the end of construct have a Hamming distance of 3 or 4.
    [Show full text]
  • Cyclic Redundancy Code Theory
    Appendix A CYCLIC REDUNDANCY CODE THEORY “It is hard to establish . who did what first. E. N. Gilbert of the Bell Telephone Laboratories derived much of linear theory a year or so earlier than either Zierler, Welch, or myself, . the first investigation of linear recurrence relations modulo p goes back as far as Lagrange, in the eighteenth century, and an excellent modern treatment was given ( . purely mathematical . ) by Marshall Hall in 1937.” — Solomon W. Golomb [264]. Cyclic redundancy code theory is described in this appendix because it is im- portant for built-in self-testing (BIST), and for Memory ROM testing. Cyclic re- dundancy codes have been extensively used for decades in the computer industry to guarantee correct recording of blocks on disk and magnetic tape drives. They also are extensively used for encoding and decoding communication channel burst errors, where a transient fault causes several adjacent data errors. Preliminaries. We express the binary vector as the polynomial As an example, 10111 is written as [36, 37]. The degree of the polynomial is the superscript of the highest non-zero term. Polynomial addition and subtraction arithmetic is performed similarly to integer arithmetic, except that the arithmetic is modulo 2. In this case, addition and subtraction will have the same effect. As an example, let (degree 3) and (degree 2.) We can describe the remainders of polynomials modulus a polynomial. Two polynomials r(x) and s(x) will be congruent modulus polynomial n(x), written 616 Appendix A. CYCLIC REDUNDANCY CODE THEORY as mod n(x) if a polynomial q(x) such that We find the residue (the remainder) by dividing r(x) by n(x).
    [Show full text]
  • Error-Correcting Codes
    Error-Correcting Codes Matej Boguszak Contents 1 Introduction 2 1.1 Why Coding? . 2 1.2 Error Detection and Correction . 3 1.3 Efficiency Considerations . 8 2 Linear Codes 11 2.1 Basic Concepts . 11 2.2 Encoding . 13 2.3 Decoding . 15 2.4 Hamming Codes . 20 3 Cyclic Codes 23 3.1 Polynomial Code Representation . 23 3.2 Encoding . 25 3.3 Decoding . 27 3.4 The Binary Golay Code . 30 3.5 Burst Errors and Fire Codes . 31 4 Code Performance 36 4.1 Implementation Issues . 36 4.2 Test Description and Results . 38 4.3 Conclusions . 43 A Glossary 46 B References 49 1 2 1 Introduction Error-correcting codes have been around for over 50 years now, yet many people might be surprised just how widespread their use is today. Most of the present data storage and transmission technologies would not be conceiv- able without them. But what exactly are error-correcting codes? This first chapter answers that question and explains why they are so useful. We also explain how they do what they are designed to do: correct errors. The last section explores the relationships between different types of codes as well the issue of why some codes are generally better than others. Many mathemat- ical details have been omitted in this chapter in order to focus on concepts; a more rigorous treatment of codes follows shortly in chapter 2. 1.1 Why Coding? Imagine Alice wants to send her friend Bob a message. Cryptography was developed to ensure that her message remains private and secure, even when it is sent over a non-secure communication channel, such as the internet.
    [Show full text]
  • Open Problems on Cyclic Codes∗∗
    Open problems on cyclic codes∗∗ Pascale Charpin ∗ Contents 1 Introduction 3 2 Different kinds of cyclic codes. 4 2.1 Notation . 5 2.2 Definitions . 6 2.3 Primitive and non primitive cyclic codes . 17 2.4 Affine-Invariant codes . 21 2.4.1 The poset of affine-invariant codes . 22 2.4.2 Affine-invariant codes as ideals of A . 28 3 On parameters of cyclic codes. 34 3.1 Codewords and Newton identities . 35 3.2 Special locator polynomials . 47 3.3 On the minimum distance of BCH codes . 59 3.4 On the weight enumerators . 65 3.4.1 The Reed-Muller codes . 67 3.4.2 On cyclic codes with two zeros . 71 3.4.3 On irreducible cyclic codes . 83 3.5 Automorphism groups of cyclic codes . 88 3.6 Are all cyclic codes asymptotically bad ? . 90 ∗INRIA, Projet CODES, Domaine de Voluceau, Rocquencourt BP 105, 78153 Le Ches- nay Cedex, FRANCE. e-mail: [email protected] 1 4 Related problems. 90 4.1 Some problems in cryptography . 91 4.2 Cyclic codes and Goppa codes . 96 4.3 On the weight enumerator of Preparata codes . 104 5 Conclusion 117 ∗∗ \Handbook of Coding Theory", Part 1: Algebraic Coding, chapter 11, V. S. Pless, W. C. Huffman, editors, R. A. Brualdi, assistant editor. Warning. The Handbook of Coding Theory was published in 1998. Some research problems, presented as Open problems in this chapter, are solved, or partially solved, today. 2 1 Introduction We do not intend to give an exhaustive account of the research problems on cyclic codes.
    [Show full text]
  • The Impact of Hamming Code and Cyclic Code on MPSK and MQAM Systems Over AWGN Channel: Performance Analysis
    Universal Journal of Electrical and Electronic Engineering 8(1): 9-15, 2021 http://www.hrpub.org DOI: 10.13189/ujeee.2021.080102 The Impact of Hamming Code and Cyclic Code on MPSK and MQAM Systems over AWGN Channel: Performance Analysis Amjad Abu-Baker∗, Khaled Bani-Hani, Firas Khasawneh, Abdullah Jaradat Department of Telecommunications Engineering, Yarmouk University, Irbid, Jordan Received January 10, 2021; Revised February 19, 2021; Accepted March 23, 2021 Cite This Paper in the following Citation Styles (a): [1] Amjad Abu-Baker, Khaled Bani-Hani, Firas Khasawneh, Abdullah Jaradat, ”The Impact of Hamming Code and Cyclic Code on MPSK and MQAM Systems over AWGN Channel: Performance Analysis,” Universal Journal of Electrical and Electronic Engineering, Vol.8, No.1, pp. 9-15, 2021. DOI: 10.13189/ujeee.2021.080102. (b): Amjad Abu-Baker, Khaled Bani-Hani, Firas Khasawneh, Abdullah Jaradat, (2021). The Impact of Hamming Code and Cyclic Code on MPSK and MQAM Systems over AWGN Channel: Performance Analysis. Universal Journal of Electrical and Electronic Engineering, 8(1), 9-15. DOI: 10.13189/ujeee.2021.080102. Copyright ©2021 by authors, all rights reserved. Authors agree that this article remains permanently open access under the terms of the Creative Commons Attribution License 4.0 International License Abstract Designing efficient and reliable data transmission 1 Introduction systems is an attractive area of research as it has become an essential requirement for the cutting-edge technologies. Error Recently, we have witnessed a great demand on the appli- Control Coding (ECC) is a method used to control errors in cations of the internet of things (IoT) where providing reliable a message to achieve reliable delivery through unreliable or and fast communication systems become essential requirement noisy channel.
    [Show full text]
  • Part III Cyclic Codes
    Part III Cyclic codes CHAPTER 3: CYCLIC CODES, CHANNEL CODING, LIST DECODING Cyclic codes are very special linear codes. They are of large interest and importance for several reasons: They posses a rich algebraic structure that can be utilized in a variety of ways. They have extremely concise specifications. Their encodings can be efficiently implemented using simple machinery - shift registers. Many of the practically very important codes are cyclic. Channel codes are used to encode streams of data (bits). Some of them, as Concatenated codes and Turbo codes, reach theoretical Shannon bound concerning efficiency, and are currently used very often in practice. List decoding is a new decoding mode capable to deal, in an approximate way, with cases of many errors, and in such a case to perform better than classical unique decoding. Locally decodable codes can be seen as theoretical extreme of coding theeory with deep theoretical implications. prof. Jozef Gruska IV054 3. Cyclic codes 2/82 IMPORTANT NOTE In order to specify a non-linear binary code with 2k codewords of length n one may need to write down 2k codewords of length n. In order to specify a linear binary code of the dimension k with 2k codewords of length n it is sufficient to write down k codewords of length n. In order to specify a binary cyclic code with 2k codewords of length n it is sufficient to write down 1 codeword of length n. prof. Jozef Gruska IV054 3. Cyclic codes 3/82 BASIC DEFINITION AND EXAMPLES Definition A code C is cyclic if (i) C is a linear code; (ii) any cyclic shift of a codeword is also a codeword, i.e.
    [Show full text]
  • The Golay Codes
    The Golay codes Mario de Boer and Ruud Pellikaan ∗ Appeared in Some tapas of computer algebra (A.M. Cohen, H. Cuypers and H. Sterk eds.), Project 7, The Golay codes, pp. 338-347, Springer, Berlin 1999, after the EIDMA/Galois minicourse on Computer Algebra, September 27-30, 1995, Eindhoven. ∗Both authors are from the Department of Mathematics and Computing Science, Eind- hoven University of Technology, P.O. Box 513, 5600 MB Eindhoven, The Netherlands. 1 Contents 1 Introduction 3 2 Minimal weight codewords of G11 3 3 Decoding of G23 with Gr¨obnerbases 6 4 One-step decoding of G23 7 5 The key equation for G23 9 6 Exercises 10 2 1 Introduction In this project we will give examples of methods described in the previous chap- ters on finding the minimum weight codewords, the decoding of cyclic codes and working with the Mathieu groups. The codes that we use here are the well known Golay codes. These codes are among the most beautiful objects in coding theory, and we would like to give some reasons why. There are two Golay codes: the ternary cyclic code G11 and the binary cyclic code G23. The ternary Golay code G11 has parameters [11, 6, 5], and it is the unique code with these parameters. The automorphism group Aut(G11) is the Mathieu group M11. The group M11 is simple, 4-fold transitive and has size 11 · 10 · 9 · 8. The supports of the codewords of weight 5 form the blocks of a 4-design, the unique Steiner system S(4, 5, 11).
    [Show full text]