3. Coding theory 3.1. Basic concepts

Size: px
Start display at page:

Download "3. Coding theory 3.1. Basic concepts"

Transcription

1 3. CODING THEORY 1 3. Coding theory 3.1. Basic concepts In this chapter we will discuss briefly some aspects of error correcting codes. The main problem is that if information is sent via a noisy channel, then the received message contains errors which need to be detected and corrected. The lectures are given by a non native speaker of English. Any mispronunciation due to his accent will be corrected by your brain to the correct English word. The idea is to assign at each symbol a codeword. If there are not to many errors introduced during the transmission then the received word might not be a codeword but near to a unique codeword which, hopefully, was the original one. One way of decoding YES and NO is by YES= and NO= The sequence is not a codeword and is likely to mean NO (there were two errors) rather then YES (there were five errors). A q-ary code C is a given set of sequences of symbols where each symbol is chosen from a set F of q elements. The set F is called the alphabet. If q = 2, the code will be called binary. We limit ourself to the situation where F is a field of order q. IF n q will denote the set of all ordered n-tuples a = a 1 a 2... a n with a i IF q. The elements of IF n q are called vectors and n is called the length of a. Observe that the set IF n q has q n elements. A q-ary code C of length n is a subset of IF n q. We say that a code C of length n is s error detecting if changing up to s digits to a codeword does not produce a codeword. We say that a code C of length n is t error correcting if from a given string of length n which differs on at most t places from some codeword one can deduce the codeword. The Hamming distance between two vectors x and y of IF n q is the number of places in which they differ. It is denoted by d(x, y). In IF 5 2 we have d(00111, 11001) = 4. In IF 4 3 we have d(0122, 1220) = 3. Lemma The Hamming distance is a distance function, that is it satisfies the three conditions i.) d(x, y) = 0 if and only if x = y. ii.) d(x, y) = d(y, x), for all x, y IF n q. iii.) d(x, y) d(x, z) + d(z, y), for all x, y, z IF n q. The first two conditions are easy to verify. The third, known as the triangle inequality, is verified as follows. Note that if u, v IF n q, then d(u, v) is the minimum number of changes of digits required to change u into v. But we can change x into y by first changing x into z and then z into y. Hence d(x, y) d(x, z) + d(z, y), The problem of decoding we consider is as follows. Suppose a codeword x, unknown to us, has been transmitted to us and we have received the vector y. This vector y may have been distorted by

2 3. CODING THEORY 2 noise. It seem reasonable to decode y as that code word z such that d(z, y) is as small as possible. This is called nearest decoding. Given a code C the minimum distance, denoted d(c), is the smallest distances between distinct code words. That is, d(c) = min{d(x, y) x, y C, x y}. Lemma Let C be a code. (i) One can detect up to s errors in any codeword if d(c) s + 1. (ii) One can correct up to t errors in any codeword if d(c) 2t + 1. Suppose d(c) s + 1. Suppose a codeword x is transmitted and s or fewer errors are introduced. Then the received vector cannot be a different codeword and so the errors can be detected. Suppose d(c) 2t + 1. Suppose a codeword x is transmitted and the vector y is received in which t or fewer errors have occurred, so d(x, y) t. Suppose z is a codeword with d(z, y) t. Then d(x, z) d(x, y) + d(y, z) 2t, hence z = x. So x is the nearest codeword to y. Corollary Let C be a code with minimum distance d. Then up to d 1 errors can be detected and up to (d 1)/2 errors can be corrected. We have d s + 1 if and only if s d 1, and d 2t + 1 if and only if t (d 1)/2. Let YES=1111 and NO=0000, then one error can be corrected but the two errors in 1001 can t be corrected, it is unclear if the correct word is YES or NO. A (n, M, d)-code is a code of length n, containing M codewords and having minimum distance d. A good (n, M, d)-code has small n (for fast transmission), large M (for a large variety of messages) and large d (to correct many errors). These are conflicting aims. One of the main problems is to optimize one parameter given the other two. The usual version of the problem is to find the largest code M, given the the length n and minimum distance d. Note that M q n. The q-ary repetition code of length n is defined as follows C = {a 1 a 2... a n a 1 =... = a n, a 1 IF q }. It has length n, q codewords and minimal distance n. Note that any q-ary code with minimum distance n can have at most q codewords as any two codewords must differ in all positions. Two q-ary codes are called equivalent if one can be obtained from the other by a combination of operations of the following type (A) a permutation of the position of the code; (B) a permutation of the symbols appearing in a fixed position. The code C = {00100, 00011, 11111, 11000} is equivalent to D = {00000, 01101, 10110, 11011}. Indeed first permute 0 1 in the third position and then interchange positions 2 and 4.

3 3. CODING THEORY 3 If a code is displayed as an M n-matrix whose rows are the code words, then the operations of type (A) correspond to a permutation of the columns of the matrix. The operations of type (B) correspond to re-labeling the symbols in a given column. Observe that the operations do no change the hamming-distance between two codewords. Hence does not change the minimum distance The codes and column and then to the third are equivalent, first apply to the second Lemma Any q-ary (n, M, d)-code over an alphabet containing 0 is equivalent to a q-ary (n, M, d)-code containing Choose a codeword a 1 a 2 a n and sequentially apply the operations of type (B) of the form 0 a j if a j 0 to the code. We will denote with 0 the all zero codeword. From now on we will assume that 0 C. The weight of codeword x, denoted by w(x), is the number of non zero entries. That is, w(x) = d(x, 0). Lemma Suppose that C is a binary code of length n. Let x, y C with w(x) and w(y) even, then d(x, y) is even too. Let x = x 1 x 2 x n and y = y 1 y 2 y n. Let A = {i x i = 1, 1 i n} and B = {i y i = 1, 1 i n}. Then A = w(x), B = w(y) and d(x, y) = (A B)\A B. Hence d(x, y) = w(x) + w(y) 2 A B, which is even. Theorem Suppose d is odd. A binary (n, M, d)-code exists if and only if a binary (n + 1, M, d + 1)- code exists. Suppose C a binary (n + 1, M, d + 1)-code, with d odd. Choose two codewords x and y at minimal distance, that is d(x, y) = d + 1. Choose a position in which x and y differ and delete this position from all codewords. The codewords obtained from x and y are now at distance d and any two codewords will differ in at least d positions. Hence the resulting code is a (n, M, d)-code. Suppose D is a binary (n, M, d)-code, with d odd. For a codeword x D, with x = x 1 x 2 x n we define ˆx = x 1 x 2 x n x n+1, where x n+1 w(x) (mod 2). Let ˆD be the code of length n + 1 defined as follows ˆD = {ˆx x D}. Clearly d d( ˆD) d + 1. Observe that w(ˆx) is even for all ˆx ˆD. By the previous lemma the distance between two codewords will be even. Hence d( ˆD) will be even too. Hence ˆD is a binary (n + 1, M, d + 1)-code. Consider the Fano plane, that is the geometry with 7 points and 7 lines such that any two points are on a unique line and any two lines meet in a unique point. Let A be the incidence matrix of the Fano plane (rows indexed by the points, columns by the lines) and B the matrix obtained from A by swapping 0 1. Let C be the code consisting of the rows of A, rows of B, the all 0 vector and the all 1 vector. The codewords are

4 3. CODING THEORY 4 { rows of A and rows of B This code has minimum distance 3. Hence is a binary (7, 16, 3)-code. The all zero vector and the first row of A are at minimal distance and differ in the first entry. Deleting the first entry of all vectors gives a binary (6, 16, 2)-code Linear Codes In this section V (n, q) denotes the vector space of dimension n over the field IF q, where vectors will be written as row-vectors. Thus V (n, q) = {(x 1, x 2,..., x n ) x 1, x 2,... x n IF q } A vector x = (x 1, x 2,..., x n ) will often simply written as x 1 x 2 x n. A linear code C is a subspace of V (n, q). That is 1. (0,..., 0) C; 2. If x, y C, then x + y C; 3. If x C and a IF q, then ax C. If C has dimension k, then the linear code C is called a [n, k]-code. If it has minimum distance d it is also called a [n, k, d]-code. So a q-ary [n, k, d]-code is a q-ary (n, q k, d)-code. If C is a linear code, then the weight of C, denoted by w(c), is the smallest of the weights of a non-zero code words. That is, w(c) = min {w(x) x C, x 0}. Lemma Let x, y V (n, q). Then d(x, y) = w(x y). The vector x y has a non zero entry precisely on those places where x and y differ. Lemma Let C be a linear code. Then d(c) = w(c). Let x and y be two codewords with d(x, y) = d(c). Then d(c) = d(x, y) = w(x y) w(c), since x y C. On the other hand, for some codeword z we have w(c) = w(z) = d(z, 0) d(c), since 0 C. Hence d(c) = w(c) A k n matrix whose rows form a basis of a linear [n, k]-code is called a generator matrix for the code.

5 3. CODING THEORY 5 The code constructed from the Fano plane is a [7, 4]-code with generator matrix G = The notion of equivalence between linear codes is slightly different from the one defined before. The second operation on the codewords is more restrictive. Two linear q-ary codes are called equivalent if the one can be obtained from the other by combining operations of the following types (A.) permutations of the positions of the code; (B.) multiplication of the symbols appearing in a fixed position by a non-zero element of IF q. Theorem Two k n matrices generate equivalent linear [n, k]-codes over IF q if one matrix can be obtained from the other by a sequence of operations of the following types: (R1) Permutation of rows. (R2) Multiplication of a row by a non-zero scalar. (R3) Addition of a scalar multiple of one row to another row. (C1) Permutation of columns. (C2) Multiplication of a column by a non-zero scalar. The row operations (R1), (R2) and (R3) preserve the subspace C and simply replace one basis of C by another. The operations (C1) and (C2) convert the generator matrix to one of an equivalent code. Theorem Let G be a generator matrix of an [n, k]-code. Then by performing operations of the type (R1), (R2), (R3), (C1) and (C2), G can be transformed into standard type [I k A] where I k is the identity matrix and A a k (n k) matrix. Note that n k. Using row operations (R1), (R2) and (R3) we can transform G into reduced echelon form and then use (C1) to move the columns containing the pivots to the left. On the vector space V (n, q) we define an inner-product. Let x, y V (n, q) with x = x 1 x 2 x n and y = y 1 y 2 y n, then the inner-product of x and y is defined by x y = x 1 y 1 + x 2 y x n y n. If x y = 0, then the vectors are called orthogonal. For a matrix A, the transposed will be denoted by A T. Let C be a [n, k]-code. The dual code C is defined as the set of vectors of V (n, q) that are orthogonal to every codeword of C, that is C = {x V (n, q) x y = 0 for all y C}.

6 3. CODING THEORY 6 Lemma Suppose C is a [n, k]-code with generator matrix G. Let x V (n, q). Then x C if and only if xg T = 0. That is, if and only if x is orthogonal to all the rows of G. Note that the rows of G generate the code. So a vector is orthogonal to all codewords in C if and only if it is orthogonal to each row of G. Theorem Suppose C is a [n, k]-code. Then C is a linear [n, n k]-code and (C ) = C. This can be shown using arguments of linear algebra. Let C be an [n, k]-code. A parity-check matrix H for C is a generator matrix of C. Thus H is an (n k) n matrix satisfying GH T = O k,n k, where O k,n k is the all 0 matrix. A parity-check matrix H is said to be in standard form if H = [B I n k ]. Since (C ) = C it follows that the code C can also be described via a parity-check matrix, as C = {x V (n, q) xh T = 0}. Theorem Let C be an [n, k]-code with generator matrix G = [I k A] in standard form. Then a parity check-matrix for C is H = [ A T I n k ]. Indeed the matrix H has the right size and [I k A]([ A T I n k ]) T = Coding and syndrome decoding of linear codes Let C be an [n, k]-code over IF q with generator matrix G. We identify messages with vectors of V (k, q). Suppose H is a parity check matrix for an [n, k]-code C. Then for any vector y V (n, q) the row vector S(y) = yh T, which is of length n k, is called the syndrome of y. Observe that S(y) = 0 if and only if y C. Let z V (n, k), then the C-coset of z is defined as z + C = {z + x x C}. Lemma Suppose C is an [n, k]-code. Then (i) every vector of V (n, q) is in some C-coset. (ii) every coset contains exactly q k vectors. (iii) two cosets are either disjoint or coincide. Straight forward. The lemma tells us that there are q n k different C-cosets in V (n, k). In the following lemma we will see that the syndrome is a way to decide quickly if two vectors give rise to the same coset. Lemma Let x, y V (n, k). Then x + C = y + C if and only if S(x) = S(y).

7 3. CODING THEORY 7 We have x+c = y +C if and only if x y C. But x y C if and only if (x y)h T = 0. Which holds if and only if xh T = yh T. That is, if and only if S(x) = S(y). Let x + C be a coset. Among the vectors in x + C we choose a vector z such that the weight is minimal. If the choice of a vector of minimal weight in the coset is not unique we choose z to be one of them. We have w(z) w(y) for all y x + C. The vector z is called the coset leader of the coset z + C. Observe that if w(c) = d, then any non-zero vector of C has at least d non-zero entries. So if y is a vector with w(y) < d 2, then any vector of y + C different from y has at least d 2 non zero entries. hence y is a coset leader of y + C. Given a [n, k]-code we first produce a table of coset leaders 0, a 1, a 2,..., a s, where s = q n k 1, together with their syndromes S(0), S(a 1 ), S(a 2 ),..., S(a s ). This table is called the syndrome lookup table. Encoding A message x = x 1 x 2 x k is encoded by multiplying x on the right with G, that is, the encoded message is xg. Note that this is a vector of length n and is a linear combination of the rows of G, hence a code word. To obtain the message x from a given codeword y, one needs to solve the system of linear equations xg = y. In case G is in standard form the encoding gets even simpler. Since G is of the form [I k A] and x = x 1 x 2 x k, we have xg = y 1 y 2 y k y k+1 y n, where y i = x i for 1 i k and y k+j = a ij x j for 1 j n k. The digits y 1 y 2 y k are called the message digits and the digits y k+1 y n are the check digits. The check digits are added to the message to give protection against noise. Note that y k+1 y n = xa. Syndrome decoding The decoding procedure is as follows: 1. For a received vector y we calculate the syndrome S(y) = yh T. 2. In the syndrome look-up table locate S(y) and the corresponding coset leader z. 3. Correct y as y z. 4. y z is a code word, compute the corresponding message from it. Suppose a codeword x is sent through a noisy channel and the vector received is y. We define the error vector e to be e = y x. Now we have y = x + e. The decoding problem now becomes given y to find e and subtract it from y to obtain x. Note that e y + C, for x is a codeword. Hence e z + C as y + C = z + C. If the error was small then the weight w(e) is small and so it is likely that e = z and thus y z = x. In particular, if w(e) < w(c) 2, then e is the vector of smallest weight in e + C, thus e is the coset leader of the coset of syndrome S(e) = S(y). Hence e = z, and so the procedure corrects up to w(c) 1 2 errors. If G is in standard form, then the message is the first k digits of y z Binary Hamming codes In this subsection we briefly discuss binary Hamming codes. It should be noted that these codes also exists over any finite field but we will only study the case where the field is IF 2, the field with two elements.

8 3. CODING THEORY 8 Let r be a positive integer, and H be the r (2 r 1) matrix whose columns are the distinct non-zero vectors of V (r, 2). The code having H as parity-check matrix is called the binary Hamming code and is denoted by Ham(r, 2). Since the columns can be taken in any order, the code Ham(r, 2) is any of a number of equivalent codes. Let r = 2, then if we choose choose H and G in standard form: ( ) H = and G = ( ) Hence Ham(2, 2) is just the binary triple repetition code. Theorem The binary Hamming code Ham(r, 2), with r 2, is a [2 r 1, 2 r 1 r]-code and has minimum distance 3, hence is single-error correcting. By definition the dual code Ham(r, 2) is a [2 r 1, r]-code, hence Ham(2, r) is a [2 r 1, 2 r 1 r]-code. Since Ham(2, r) is a linear code the minimum weight is equal to the minimum distance. We show that there are no codewords of weight 1 or 2, but there are codewords of weight 3. Suppose that x is a codeword of weight 1. Then x = , with an 1 in the i-th place. Since xh T = 0, we have that the i-th column of H is the all-zero vector, a contradiction. Suppose that x is a codeword of weight 2. Then x = , with an 1 in the i-th and j-th place. Since xh T = 0, we have that the sum of the i-th and j-the column of H is the all-zero vector. Since these are vectors of V (r, 2) it means that i-th and j-the column of H are the same, a contradiction. Remains to show that there are codewords of weight 3. We can suppose that the first 3 rows of H T are 0 001, and Showing that is a codeword. The code has k = 2 r r 1, and n = 2 r 1, so there are 2 n k = 2 r cosets. The vectors of weight at most one of V (n, 2) are coset leaders, since there are n + 1 = 2 r of them they are all the coset leaders. The syndrome of the vector e j = , with a 1 on place j is H T, which is the transpose of the j-th column of H. If the columns are arranged in order of increasing binary numbers (that is the j-the column of H is the binary representation of j), then the syndrome of the coset leader e j is the binary representation of j. The decoding algorithm becomes very nice: 1. For a received vector y we calculate the syndrome S(y) = yh T. 2. If S(y) = 0, then y is a codeword and no error was made. 3. If S(y) 0, then S(y) gives the binary representation of the position in which the error was made, and so the error can be corrected. Consider Ham(3, 2) with parity-check matrix H = If y = , then S(y) = 110, which is 6. The error is in place 6 and we correct y to the codeword ,

9 3. CODING THEORY Cyclic codes A code C is called cyclic if 1.) C is a linear code; 2.) any cyclic shift of a codeword is also a codeword, that is, if a 0 a 1 a n 1 is a codeword, then so is a n 1 a 0 a 1 a n 2. The code constructed from the Fano plane is cyclic. When considering cyclic codes we number the coordinate positions 0, 1,..., n 1. This because we will identify the codewords with polynomials. Let F = IF q and f(x) = X n 1 F [X]. We will consider the ring R n = F [X]/(f), a ring of q n elements. In R n we have that X n = 1. A vector a 0 a 1 a n 1 V (n, q) will be identified with the polynomial a 0 + a 1 X + + a n 1 X n 1. Adding vectors in V (n, q) now corresponds to adding the corresponding polynomials in R n. The cyclic shift a 0 a 1 a n 1 a n 1 a 0 a 1 a n 2 corresponds to multiplying the polynomial with X. Lemma A code C in R n is a cyclic code if and only if C satisfies the following two conditions (i) if a(x), b(x) C, then a(x) + b(x) C. (ii) if a(x) C and r(x) R n, then r(x)a(x) C. Suppose C is a cyclic code in R n. Then C is linear so (i) holds. Let a(x) C. Since the multiplication with X corresponds to a cyclic shift the multiplication with X i corresponds to a cyclic shift in i positions and since C is cyclic we have that X i a(x) C. Since C is linear we also have λx i a(x) C, for all λ IF q. If r(x) = r 0 + r 1 X + + r n 1 X n 1, then r(x)a(x) = r 0 a(x) + r 1 Xa(x) + + r n 1 X n 1 a(x). Since each summand is in C we have that (ii) holds. Suppose (i) and (ii) hold. Taking r(x) a scalar implies that the code is linear. Taking r(x) = X shows that C is cyclic. There is an easy way to describe and construct cyclic codes. Let f(x) R n, we define the set of all multiples of f(x) in R n. f(x) = {r(x)f(x) r(x) R n } Theorem For any f(x) R n, the set f(x) is a cyclic code: it is called the cyclic code generated by f(x). This follows immediately from the previous lemma. The following theorem shows that all cyclic codes can be constructed that way. Theorem Let C be a non-zero cyclic code in R n. Then (i) there exists a unique monic polynomial g(x) of smallest degree in C; (ii) g(x) = C (iii) in F [X] the polynomial g(x) is a divisor of X n 1

10 3. CODING THEORY 10 (i) Suppose g(x) and h(x) are both monic polynomials in C of smallest degree. Then g(x) h(x) C. If g(x) h(x), then the degree of g(x) h(x) is smaller then that of g(x) and a suitable multiple of g(x) h(x) is monic and will be in C, a contradiction. Thus g(x) = h(x). (ii) Suppose a(x) C. View a(x) as a polynomial in F [X]. Then a(x) = q(x)g(x) + r(x), with deg(r(x)) < deg(g(x)) or r = 0. Since C is cyclic we have r(x) C, and by the minimality of the degree of g we have r = 0. (iii) By the division algorithm X n 1 = q(x)g(x) + r(x), with deg(r(x)) < deg(g(x)) or r = 0. In R n we have r(x) = q(x)g(x), hence r(x) C. By the minimality of the degree of g(x) we have r(x) = 0. The code constructed form the Fano plane is cyclic. The polynomial of minimal degree is 1+X 2 +X 3, corresponding to the fourth row of A. It is the generating polynomial. The rows of A are obtained by multiplying with monomials. The all one vector is obtained by multiplying the polynomial by itself and the rows of B are obtained by multiplying with X + 1 to obtain the last row from B and then with monomials to obtain the other rows of B. In IF 2 [X], we have X 3 1 = (X 1)(X 2 + X + 1). Thus there are 4 cyclic codes in V (3, 2): Generator Corresponding polynomial Code in R 3 code in V (3, 2) 1 all of R 3 all of V (3, 2) X + 1 {0, 1 + X, X + X 2, 1 + X 2 } {000, 110, 011, 101} X 2 + X + 1 {0, 1 + X + X 2 } {000, 111} X 3 1 {0} {000} The monic polynomial of least degree is called the generator polynomial of C. Theorem Suppose C is a cyclic code with generator polynomial g(x) = g 0 + g 1 X + + g r X r of degree r. Then g 0 0, dim(c) = n r and a generator matrix for C is g 0 g 1 g 2 g r g 0 g 1 g 2 g r g 0 g 1 g 2 g r g 0 g 1 g 2 g r Suppose g 0 = 0, then X n 1 g(x) = X 1 g(x) is a codeword of degree r 1, contradicting the minimality of the degree of g(x). The n r rows of the matrix are linear independent, as the matrix is in echelon form, and are code words. It suffices to show that they generate the code. Let a(x) be a codeword, we may assume that deg(a(x)) < n. Since a(x) = g(x)q(x), for some q(x) R n and deg(a(x)) < n, this equality also folds in IF q [X]. It follows that deg(q(x)) < n r.

11 3. CODING THEORY 11 Let q(x) = q 0 +q 1 X + +q n r 1 X n r 1, then a(x) = q 0 g(x)+q 1 Xg(x)+ +q n r 1 X n r 1 g(x), which gives the desired linear combination. Let C be cyclic [n, k]-code with generator polynomial g(x), then x n 1 = g(x)h(x) for some monic polynomial h(x). Since g(x) has degree n k, h(x) has degree k. This polynomial h(x) is called the check polynomial of C. Theorem Suppose C is a cyclic code in R n with generator polynomial g(x) and check polynomial h(x). Then an element c(x) of R n is a codeword of C if and only if c(x)h(x) = 0. Observe that in R n we have g(x)h(x) = 0. If c(x) C, then c(x) = a(x)g(x), for some a(x) R n, hence c(x)h(x) = a(x)g(x)h(x) = 0. On the other hand, by the devision algorithm, c(x) = q(x)g(x) + r(x) with deg(r(x)) < deg(g(x)) or r(x) = 0. If c(x)h(x) = 0, then r(x)h(x) = 0, so viewed as polynomials in F [X], r(x)h(x) is a multiple of X n 1. If r(x) 0, then deg(r(x)h(x)) < n k+k = n, contradicting the fact that it is a multiple of X n 1. Hence r(x) = 0 and c(x) g(x). Theorem Suppose C is a cyclic [n, k]-code with check polynomial Then h(x) = h 0 + h 1 X + + h k X k. (i) a parity-check matrix for C is h k h k 1 h h k h k 1 h h k h k 1 h 0. (ii) C is a cyclic code generated by the polynomial h(x) = h k + h k 1 X + + h 0 X k. A polynomial c(x) = c 0 + c 1 X + + c n 1 X n 1 is a codeword if and only if c(x)h(x) = 0. In particular, in c(x)h(x) = 0 the coefficient in front of X k, X k+1,... X n must be zero. Hence c 0 c 1... c n must be orthogonal to h k h k 1 h and its cyclic shifts. This shows that the rows of the above matrix are codewords of C. Since h k 0 these rows are linear independent. Thus generate a subspace of C of dimension n k. But since the dimension of C is n k, these rows must be a basis of C. Hence it is a parity-check matrix. Observe that if the polynomial h(x) is a divisor of X n 1, then the generator matrix of h(x) is the above matrix, which is the generator matrix of C. So h(x) is the generator polynomial of C. We need to show that h(x) is a divisor of X n 1. Note that h(x) = X k h(x 1 ) and X n k g(x 1 ) are polynomials. Moreover (X k h(x 1 ))(X n k g(x 1 )) = X n (X n 1) = 1 X n, showing that h(x) is a divisor of X n 1. In IF 2 [X] we have that X 23 1 = (X 1)(X 11 + X 10 + X 6 + X 5 + X 4 + X 2 + 1)(X 11 + X 9 + X 7 + X 6 + X 5 + X + 1) is a factorization into irreducible polynomials. The cyclic code generated by X 11 + X 10 + X 6 + X 5 + X 4 + X is a [23, 12]-code with minimum distance 7. It is known as the binary Golay code.

7.1 Definitions and Generator Polynomials

7.1 Definitions and Generator Polynomials Chapter 7 Cyclic Codes Lecture 21, March 29, 2011 7.1 Definitions and Generator Polynomials Cyclic codes are an important class of linear codes for which the encoding and decoding can be efficiently implemented

More information

MATH32031: Coding Theory Part 15: Summary

MATH32031: Coding Theory Part 15: Summary MATH32031: Coding Theory Part 15: Summary 1 The initial problem The main goal of coding theory is to develop techniques which permit the detection of errors in the transmission of information and, if necessary,

More information

Linear Cyclic Codes. Polynomial Word 1 + x + x x 4 + x 5 + x x + x f(x) = q(x)h(x) + r(x),

Linear Cyclic Codes. Polynomial Word 1 + x + x x 4 + x 5 + x x + x f(x) = q(x)h(x) + r(x), Coding Theory Massoud Malek Linear Cyclic Codes Polynomial and Words A polynomial of degree n over IK is a polynomial p(x) = a 0 + a 1 + + a n 1 x n 1 + a n x n, where the coefficients a 1, a 2,, a n are

More information

ECEN 604: Channel Coding for Communications

ECEN 604: Channel Coding for Communications ECEN 604: Channel Coding for Communications Lecture: Introduction to Cyclic Codes Henry D. Pfister Department of Electrical and Computer Engineering Texas A&M University ECEN 604: Channel Coding for Communications

More information

Cyclic codes: overview

Cyclic codes: overview Cyclic codes: overview EE 387, Notes 14, Handout #22 A linear block code is cyclic if the cyclic shift of a codeword is a codeword. Cyclic codes have many advantages. Elegant algebraic descriptions: c(x)

More information

Linear Cyclic Codes. Polynomial Word 1 + x + x x 4 + x 5 + x x + x

Linear Cyclic Codes. Polynomial Word 1 + x + x x 4 + x 5 + x x + x Coding Theory Massoud Malek Linear Cyclic Codes Polynomial and Words A polynomial of degree n over IK is a polynomial p(x) = a 0 + a 1 x + + a n 1 x n 1 + a n x n, where the coefficients a 0, a 1, a 2,,

More information

MATH3302 Coding Theory Problem Set The following ISBN was received with a smudge. What is the missing digit? x9139 9

MATH3302 Coding Theory Problem Set The following ISBN was received with a smudge. What is the missing digit? x9139 9 Problem Set 1 These questions are based on the material in Section 1: Introduction to coding theory. You do not need to submit your answers to any of these questions. 1. The following ISBN was received

More information

MATH 291T CODING THEORY

MATH 291T CODING THEORY California State University, Fresno MATH 291T CODING THEORY Spring 2009 Instructor : Stefaan Delcroix Chapter 1 Introduction to Error-Correcting Codes It happens quite often that a message becomes corrupt

More information

MATH Examination for the Module MATH-3152 (May 2009) Coding Theory. Time allowed: 2 hours. S = q

MATH Examination for the Module MATH-3152 (May 2009) Coding Theory. Time allowed: 2 hours. S = q MATH-315201 This question paper consists of 6 printed pages, each of which is identified by the reference MATH-3152 Only approved basic scientific calculators may be used. c UNIVERSITY OF LEEDS Examination

More information

Generator Matrix. Theorem 6: If the generator polynomial g(x) of C has degree n-k then C is an [n,k]-cyclic code. If g(x) = a 0. a 1 a n k 1.

Generator Matrix. Theorem 6: If the generator polynomial g(x) of C has degree n-k then C is an [n,k]-cyclic code. If g(x) = a 0. a 1 a n k 1. Cyclic Codes II Generator Matrix We would now like to consider how the ideas we have previously discussed for linear codes are interpreted in this polynomial version of cyclic codes. Theorem 6: If the

More information

Outline. MSRI-UP 2009 Coding Theory Seminar, Week 2. The definition. Link to polynomials

Outline. MSRI-UP 2009 Coding Theory Seminar, Week 2. The definition. Link to polynomials Outline MSRI-UP 2009 Coding Theory Seminar, Week 2 John B. Little Department of Mathematics and Computer Science College of the Holy Cross Cyclic Codes Polynomial Algebra More on cyclic codes Finite fields

More information

Coding Theory: Linear-Error Correcting Codes Anna Dovzhik Math 420: Advanced Linear Algebra Spring 2014

Coding Theory: Linear-Error Correcting Codes Anna Dovzhik Math 420: Advanced Linear Algebra Spring 2014 Anna Dovzhik 1 Coding Theory: Linear-Error Correcting Codes Anna Dovzhik Math 420: Advanced Linear Algebra Spring 2014 Sharing data across channels, such as satellite, television, or compact disc, often

More information

MATH 291T CODING THEORY

MATH 291T CODING THEORY California State University, Fresno MATH 291T CODING THEORY Fall 2011 Instructor : Stefaan Delcroix Contents 1 Introduction to Error-Correcting Codes 3 2 Basic Concepts and Properties 6 2.1 Definitions....................................

More information

: Coding Theory. Notes by Assoc. Prof. Dr. Patanee Udomkavanich October 30, upattane

: Coding Theory. Notes by Assoc. Prof. Dr. Patanee Udomkavanich October 30, upattane 2301532 : Coding Theory Notes by Assoc. Prof. Dr. Patanee Udomkavanich October 30, 2006 http://pioneer.chula.ac.th/ upattane Chapter 1 Error detection, correction and decoding 1.1 Basic definitions and

More information

Chapter 5. Cyclic Codes

Chapter 5. Cyclic Codes Wireless Information Transmission System Lab. Chapter 5 Cyclic Codes Institute of Communications Engineering National Sun Yat-sen University Outlines Description of Cyclic Codes Generator and Parity-Check

More information

MATH 433 Applied Algebra Lecture 21: Linear codes (continued). Classification of groups.

MATH 433 Applied Algebra Lecture 21: Linear codes (continued). Classification of groups. MATH 433 Applied Algebra Lecture 21: Linear codes (continued). Classification of groups. Binary codes Let us assume that a message to be transmitted is in binary form. That is, it is a word in the alphabet

More information

x n k m(x) ) Codewords can be characterized by (and errors detected by): c(x) mod g(x) = 0 c(x)h(x) = 0 mod (x n 1)

x n k m(x) ) Codewords can be characterized by (and errors detected by): c(x) mod g(x) = 0 c(x)h(x) = 0 mod (x n 1) Cyclic codes: review EE 387, Notes 15, Handout #26 A cyclic code is a LBC such that every cyclic shift of a codeword is a codeword. A cyclic code has generator polynomial g(x) that is a divisor of every

More information

Arrangements, matroids and codes

Arrangements, matroids and codes Arrangements, matroids and codes first lecture Ruud Pellikaan joint work with Relinde Jurrius ACAGM summer school Leuven Belgium, 18 July 2011 References 2/43 1. Codes, arrangements and matroids by Relinde

More information

11 Minimal Distance and the Parity Check Matrix

11 Minimal Distance and the Parity Check Matrix MATH32031: Coding Theory Part 12: Hamming Codes 11 Minimal Distance and the Parity Check Matrix Theorem 23 (Distance Theorem for Linear Codes) Let C be an [n, k] F q -code with parity check matrix H. Then

More information

The extended Golay code

The extended Golay code The extended Golay code N. E. Straathof July 6, 2014 Master thesis Mathematics Supervisor: Dr R. R. J. Bocklandt Korteweg-de Vries Instituut voor Wiskunde Faculteit der Natuurwetenschappen, Wiskunde en

More information

Mathematics Department

Mathematics Department Mathematics Department Matthew Pressland Room 7.355 V57 WT 27/8 Advanced Higher Mathematics for INFOTECH Exercise Sheet 2. Let C F 6 3 be the linear code defined by the generator matrix G = 2 2 (a) Find

More information

A Brief Encounter with Linear Codes

A Brief Encounter with Linear Codes Boise State University ScholarWorks Mathematics Undergraduate Theses Department of Mathematics 8-2014 A Brief Encounter with Linear Codes Brent El-Bakri Boise State University, brentelbakri@boisestate.edu

More information

Hamming codes and simplex codes ( )

Hamming codes and simplex codes ( ) Chapter 6 Hamming codes and simplex codes (2018-03-17) Synopsis. Hamming codes are essentially the first non-trivial family of codes that we shall meet. We start by proving the Distance Theorem for linear

More information

Objective: To become acquainted with the basic concepts of cyclic codes and some aspects of encoder implementations for them.

Objective: To become acquainted with the basic concepts of cyclic codes and some aspects of encoder implementations for them. ECE 7670 Lecture 5 Cyclic codes Objective: To become acquainted with the basic concepts of cyclic codes and some aspects of encoder implementations for them. Reading: Chapter 5. 1 Cyclic codes Definition

More information

Error-Correcting Codes

Error-Correcting Codes Error-Correcting Codes HMC Algebraic Geometry Final Project Dmitri Skjorshammer December 14, 2010 1 Introduction Transmission of information takes place over noisy signals. This is the case in satellite

More information

MATH3302. Coding and Cryptography. Coding Theory

MATH3302. Coding and Cryptography. Coding Theory MATH3302 Coding and Cryptography Coding Theory 2010 Contents 1 Introduction to coding theory 2 1.1 Introduction.......................................... 2 1.2 Basic definitions and assumptions..............................

More information

Cyclic codes. Vahid Meghdadi Reference: Error Correction Coding by Todd K. Moon. February 2008

Cyclic codes. Vahid Meghdadi Reference: Error Correction Coding by Todd K. Moon. February 2008 Cyclic codes Vahid Meghdadi Reference: Error Correction Coding by Todd K. Moon February 2008 1 Definitions Definition 1. A ring < R, +,. > is a set R with two binary operation + (addition) and. (multiplication)

More information

A family Of Cyclic Codes Over Finite Chain Rings

A family Of Cyclic Codes Over Finite Chain Rings The Islamic University of Gaza Deanery of Higher Studies Faculty of Science Department of Mathematics A family Of Cyclic Codes Over Finite Chain Rings Presented by: Sanaa Yusuf Sabouh Supervised by: Dr.:

More information

Coding Theory and Applications. Solved Exercises and Problems of Cyclic Codes. Enes Pasalic University of Primorska Koper, 2013

Coding Theory and Applications. Solved Exercises and Problems of Cyclic Codes. Enes Pasalic University of Primorska Koper, 2013 Coding Theory and Applications Solved Exercises and Problems of Cyclic Codes Enes Pasalic University of Primorska Koper, 2013 Contents 1 Preface 3 2 Problems 4 2 1 Preface This is a collection of solved

More information

MT5821 Advanced Combinatorics

MT5821 Advanced Combinatorics MT5821 Advanced Combinatorics 1 Error-correcting codes In this section of the notes, we have a quick look at coding theory. After a motivating introduction, we discuss the weight enumerator of a code,

More information

Know the meaning of the basic concepts: ring, field, characteristic of a ring, the ring of polynomials R[x].

Know the meaning of the basic concepts: ring, field, characteristic of a ring, the ring of polynomials R[x]. The second exam will be on Friday, October 28, 2. It will cover Sections.7,.8, 3., 3.2, 3.4 (except 3.4.), 4. and 4.2 plus the handout on calculation of high powers of an integer modulo n via successive

More information

ELEC 519A Selected Topics in Digital Communications: Information Theory. Hamming Codes and Bounds on Codes

ELEC 519A Selected Topics in Digital Communications: Information Theory. Hamming Codes and Bounds on Codes ELEC 519A Selected Topics in Digital Communications: Information Theory Hamming Codes and Bounds on Codes Single Error Correcting Codes 2 Hamming Codes (7,4,3) Hamming code 1 0 0 0 0 1 1 0 1 0 0 1 0 1

More information

Chapter 3 Linear Block Codes

Chapter 3 Linear Block Codes Wireless Information Transmission System Lab. Chapter 3 Linear Block Codes Institute of Communications Engineering National Sun Yat-sen University Outlines Introduction to linear block codes Syndrome and

More information

Chapter 2. Error Correcting Codes. 2.1 Basic Notions

Chapter 2. Error Correcting Codes. 2.1 Basic Notions Chapter 2 Error Correcting Codes The identification number schemes we discussed in the previous chapter give us the ability to determine if an error has been made in recording or transmitting information.

More information

Information Theory. Lecture 7

Information Theory. Lecture 7 Information Theory Lecture 7 Finite fields continued: R3 and R7 the field GF(p m ),... Cyclic Codes Intro. to cyclic codes: R8.1 3 Mikael Skoglund, Information Theory 1/17 The Field GF(p m ) π(x) irreducible

More information

MATH/MTHE 406 Homework Assignment 2 due date: October 17, 2016

MATH/MTHE 406 Homework Assignment 2 due date: October 17, 2016 MATH/MTHE 406 Homework Assignment 2 due date: October 17, 2016 Notation: We will use the notations x 1 x 2 x n and also (x 1, x 2,, x n ) to denote a vector x F n where F is a finite field. 1. [20=6+5+9]

More information

Algebra Review 2. 1 Fields. A field is an extension of the concept of a group.

Algebra Review 2. 1 Fields. A field is an extension of the concept of a group. Algebra Review 2 1 Fields A field is an extension of the concept of a group. Definition 1. A field (F, +,, 0 F, 1 F ) is a set F together with two binary operations (+, ) on F such that the following conditions

More information

Fault Tolerance & Reliability CDA Chapter 2 Cyclic Polynomial Codes

Fault Tolerance & Reliability CDA Chapter 2 Cyclic Polynomial Codes Fault Tolerance & Reliability CDA 5140 Chapter 2 Cyclic Polynomial Codes - cylic code: special type of parity check code such that every cyclic shift of codeword is a codeword - for example, if (c n-1,

More information

B. Cyclic Codes. Primitive polynomials are the generator polynomials of cyclic codes.

B. Cyclic Codes. Primitive polynomials are the generator polynomials of cyclic codes. B. Cyclic Codes A cyclic code is a linear block code with the further property that a shift of a codeword results in another codeword. These are based on polynomials whose elements are coefficients from

More information

Polynomials. Chapter 4

Polynomials. Chapter 4 Chapter 4 Polynomials In this Chapter we shall see that everything we did with integers in the last Chapter we can also do with polynomials. Fix a field F (e.g. F = Q, R, C or Z/(p) for a prime p). Notation

More information

MATH 433 Applied Algebra Lecture 22: Review for Exam 2.

MATH 433 Applied Algebra Lecture 22: Review for Exam 2. MATH 433 Applied Algebra Lecture 22: Review for Exam 2. Topics for Exam 2 Permutations Cycles, transpositions Cycle decomposition of a permutation Order of a permutation Sign of a permutation Symmetric

More information

CS6304 / Analog and Digital Communication UNIT IV - SOURCE AND ERROR CONTROL CODING PART A 1. What is the use of error control coding? The main use of error control coding is to reduce the overall probability

More information

MAS309 Coding theory

MAS309 Coding theory MAS309 Coding theory Matthew Fayers January March 2008 This is a set of notes which is supposed to augment your own notes for the Coding Theory course They were written by Matthew Fayers, and very lightly

More information

Rings. EE 387, Notes 7, Handout #10

Rings. EE 387, Notes 7, Handout #10 Rings EE 387, Notes 7, Handout #10 Definition: A ring is a set R with binary operations, + and, that satisfy the following axioms: 1. (R, +) is a commutative group (five axioms) 2. Associative law for

More information

Finite Mathematics. Nik Ruškuc and Colva M. Roney-Dougal

Finite Mathematics. Nik Ruškuc and Colva M. Roney-Dougal Finite Mathematics Nik Ruškuc and Colva M. Roney-Dougal September 19, 2011 Contents 1 Introduction 3 1 About the course............................. 3 2 A review of some algebraic structures.................

More information

Cyclic Redundancy Check Codes

Cyclic Redundancy Check Codes Cyclic Redundancy Check Codes Lectures No. 17 and 18 Dr. Aoife Moloney School of Electronics and Communications Dublin Institute of Technology Overview These lectures will look at the following: Cyclic

More information

Part III. Cyclic codes

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

More information

Math 512 Syllabus Spring 2017, LIU Post

Math 512 Syllabus Spring 2017, LIU Post Week Class Date Material Math 512 Syllabus Spring 2017, LIU Post 1 1/23 ISBN, error-detecting codes HW: Exercises 1.1, 1.3, 1.5, 1.8, 1.14, 1.15 If x, y satisfy ISBN-10 check, then so does x + y. 2 1/30

More information

Homework 8 Solutions to Selected Problems

Homework 8 Solutions to Selected Problems Homework 8 Solutions to Selected Problems June 7, 01 1 Chapter 17, Problem Let f(x D[x] and suppose f(x is reducible in D[x]. That is, there exist polynomials g(x and h(x in D[x] such that g(x and h(x

More information

Vector spaces. EE 387, Notes 8, Handout #12

Vector spaces. EE 387, Notes 8, Handout #12 Vector spaces EE 387, Notes 8, Handout #12 A vector space V of vectors over a field F of scalars is a set with a binary operator + on V and a scalar-vector product satisfying these axioms: 1. (V, +) is

More information

EE 229B ERROR CONTROL CODING Spring 2005

EE 229B ERROR CONTROL CODING Spring 2005 EE 229B ERROR CONTROL CODING Spring 2005 Solutions for Homework 1 1. Is there room? Prove or disprove : There is a (12,7) binary linear code with d min = 5. If there were a (12,7) binary linear code with

More information

Combinatória e Teoria de Códigos Exercises from the notes. Chapter 1

Combinatória e Teoria de Códigos Exercises from the notes. Chapter 1 Combinatória e Teoria de Códigos Exercises from the notes Chapter 1 1.1. The following binary word 01111000000?001110000?00110011001010111000000000?01110 encodes a date. The encoding method used consisted

More information

Coding Theory and Applications. Linear Codes. Enes Pasalic University of Primorska Koper, 2013

Coding Theory and Applications. Linear Codes. Enes Pasalic University of Primorska Koper, 2013 Coding Theory and Applications Linear Codes Enes Pasalic University of Primorska Koper, 2013 2 Contents 1 Preface 5 2 Shannon theory and coding 7 3 Coding theory 31 4 Decoding of linear codes and MacWilliams

More information

Lecture 12. Block Diagram

Lecture 12. Block Diagram Lecture 12 Goals Be able to encode using a linear block code Be able to decode a linear block code received over a binary symmetric channel or an additive white Gaussian channel XII-1 Block Diagram Data

More information

Linear Codes and Syndrome Decoding

Linear Codes and Syndrome Decoding Linear Codes and Syndrome Decoding These notes are intended to be used as supplementary reading to Sections 6.7 9 of Grimaldi s Discrete and Combinatorial Mathematics. The proofs of the theorems are left

More information

EE512: Error Control Coding

EE512: Error Control Coding EE512: Error Control Coding Solution for Assignment on Cyclic Codes March 22, 2007 1. A cyclic code, C, is an ideal genarated by its minimal degree polynomial, g(x). C = < g(x) >, = {m(x)g(x) : m(x) is

More information

We saw in the last chapter that the linear Hamming codes are nontrivial perfect codes.

We saw in the last chapter that the linear Hamming codes are nontrivial perfect codes. Chapter 5 Golay Codes Lecture 16, March 10, 2011 We saw in the last chapter that the linear Hamming codes are nontrivial perfect codes. Question. Are there any other nontrivial perfect codes? Answer. Yes,

More information

6.1.1 What is channel coding and why do we use it?

6.1.1 What is channel coding and why do we use it? Chapter 6 Channel Coding 6.1 Introduction 6.1.1 What is channel coding and why do we use it? Channel coding is the art of adding redundancy to a message in order to make it more robust against noise. It

More information

Duadic Codes over Finite Commutative Rings

Duadic Codes over Finite Commutative Rings The Islamic University of Gaza Faculty of Science Department of Mathematics Duadic Codes over Finite Commutative Rings PRESENTED BY Ikhlas Ibraheem Diab Al-Awar SUPERVISED BY Prof. Mohammed Mahmoud AL-Ashker

More information

Negacyclic and Constacyclic codes over finite chain rings June 29, 2008

Negacyclic and Constacyclic codes over finite chain rings June 29, 2008 Negacyclic and Constacyclic rings codes over finite chain June 29, 2008 THE ISLAMIC UNIVERSITY OF GAZA DEANERY OF HIGHER STUDIES FACULTY OF SCIENCE DEPARTMENT OF MATHEMATICS Negacyclic and Constacyclic

More information

MT361/461/5461 Error Correcting Codes: Preliminary Sheet

MT361/461/5461 Error Correcting Codes: Preliminary Sheet MT361/461/5461 Error Correcting Codes: Preliminary Sheet Solutions to this sheet will be posted on Moodle on 14th January so you can check your answers. Please do Question 2 by 14th January. You are welcome

More information

MTH6108 Coding theory

MTH6108 Coding theory MTH6108 Coding theory Contents 1 Introduction and definitions 2 2 Good codes 6 2.1 The main coding theory problem............................ 6 2.2 The Singleton bound...................................

More information

Polynomials. Henry Liu, 25 November 2004

Polynomials. Henry Liu, 25 November 2004 Introduction Polynomials Henry Liu, 25 November 2004 henryliu@memphis.edu This brief set of notes contains some basic ideas and the most well-known theorems about polynomials. I have not gone into deep

More information

The Hamming Codes and Delsarte s Linear Programming Bound

The Hamming Codes and Delsarte s Linear Programming Bound The Hamming Codes and Delsarte s Linear Programming Bound by Sky McKinley Under the Astute Tutelage of Professor John S. Caughman, IV A thesis submitted in partial fulfillment of the requirements for the

More information

Cyclic codes. I give an example of a shift register with four storage elements and two binary adders.

Cyclic codes. I give an example of a shift register with four storage elements and two binary adders. Good afternoon, gentleman! Today I give you a lecture about cyclic codes. This lecture consists of three parts: I Origin and definition of cyclic codes ;? how to find cyclic codes: The Generator Polynomial

More information

EE 229B ERROR CONTROL CODING Spring 2005

EE 229B ERROR CONTROL CODING Spring 2005 EE 9B ERROR CONTROL CODING Spring 005 Solutions for Homework 1. (Weights of codewords in a cyclic code) Let g(x) be the generator polynomial of a binary cyclic code of length n. (a) Show that if g(x) has

More information

Communications II Lecture 9: Error Correction Coding. Professor Kin K. Leung EEE and Computing Departments Imperial College London Copyright reserved

Communications II Lecture 9: Error Correction Coding. Professor Kin K. Leung EEE and Computing Departments Imperial College London Copyright reserved Communications II Lecture 9: Error Correction Coding Professor Kin K. Leung EEE and Computing Departments Imperial College London Copyright reserved Outline Introduction Linear block codes Decoding Hamming

More information

Polynomial Rings. i=0

Polynomial Rings. i=0 Polynomial Rings 4-15-2018 If R is a ring, the ring of polynomials in x with coefficients in R is denoted R[x]. It consists of all formal sums a i x i. Here a i = 0 for all but finitely many values of

More information

Orthogonal Arrays & Codes

Orthogonal Arrays & Codes Orthogonal Arrays & Codes Orthogonal Arrays - Redux An orthogonal array of strength t, a t-(v,k,λ)-oa, is a λv t x k array of v symbols, such that in any t columns of the array every one of the possible

More information

Outline 2. 1 Information Theory. 2 Codes. 3 Linear Codes. 4 Hamming Codes. 5 Cyclic Codes *

Outline 2. 1 Information Theory. 2 Codes. 3 Linear Codes. 4 Hamming Codes. 5 Cyclic Codes * Outline 2 CDM Finite Fields and Codes 1 Information Theory Klaus Sutner Carnegie Mellon University 44-ffields-codes 2017/12/15 23:16 2 Codes 3 Linear Codes 4 Hamming Codes 5 Cyclic Codes * Claude Elwood

More information

Part I. Cyclic codes and channel codes. CODING, CRYPTOGRAPHY and CRYPTOGRAPHIC PROTOCOLS

Part I. Cyclic codes and channel codes. CODING, CRYPTOGRAPHY and CRYPTOGRAPHIC PROTOCOLS CODING, CRYPTOGRAPHY and CRYPTOGRAPHIC PROTOCOLS Part I prof. RNDr. Jozef Gruska, DrSc. Cyclic codes and channel codes Faculty of Informatics Masaryk University October 12, 2016 CHAPTER 3: CYCLIC, STREAM

More information

: Error Correcting Codes. November 2017 Lecture 2

: Error Correcting Codes. November 2017 Lecture 2 03683072: Error Correcting Codes. November 2017 Lecture 2 Polynomial Codes and Cyclic Codes Amnon Ta-Shma and Dean Doron 1 Polynomial Codes Fix a finite field F q. For the purpose of constructing polynomial

More information

Binary Linear Codes G = = [ I 3 B ] , G 4 = None of these matrices are in standard form. Note that the matrix 1 0 0

Binary Linear Codes G = = [ I 3 B ] , G 4 = None of these matrices are in standard form. Note that the matrix 1 0 0 Coding Theory Massoud Malek Binary Linear Codes Generator and Parity-Check Matrices. A subset C of IK n is called a linear code, if C is a subspace of IK n (i.e., C is closed under addition). A linear

More information

Answers and Solutions to (Even Numbered) Suggested Exercises in Sections of Grimaldi s Discrete and Combinatorial Mathematics

Answers and Solutions to (Even Numbered) Suggested Exercises in Sections of Grimaldi s Discrete and Combinatorial Mathematics Answers and Solutions to (Even Numbered) Suggested Exercises in Sections 6.5-6.9 of Grimaldi s Discrete and Combinatorial Mathematics Section 6.5 6.5.2. a. r = = + = c + e. So the error pattern is e =.

More information

ELG 5372 Error Control Coding. Lecture 12: Ideals in Rings and Algebraic Description of Cyclic Codes

ELG 5372 Error Control Coding. Lecture 12: Ideals in Rings and Algebraic Description of Cyclic Codes ELG 5372 Error Control Coding Lecture 12: Ideals in Rings and Algebraic Description of Cyclic Codes Quotient Ring Example + Quotient Ring Example Quotient Ring Recall the quotient ring R={,,, }, where

More information

Information redundancy

Information redundancy Information redundancy Information redundancy add information to date to tolerate faults error detecting codes error correcting codes data applications communication memory p. 2 - Design of Fault Tolerant

More information

ERROR CORRECTING CODES

ERROR CORRECTING CODES ERROR CORRECTING CODES To send a message of 0 s and 1 s from my computer on Earth to Mr. Spock s computer on the planet Vulcan we use codes which include redundancy to correct errors. n q Definition. A

More information

Some error-correcting codes and their applications

Some error-correcting codes and their applications Chapter 14 Some error-correcting codes and their applications J. D. Key 1 14.1 Introduction In this chapter we describe three types of error-correcting linear codes that have been used in major applications,

More information

Section IV.23. Factorizations of Polynomials over a Field

Section IV.23. Factorizations of Polynomials over a Field IV.23 Factorizations of Polynomials 1 Section IV.23. Factorizations of Polynomials over a Field Note. Our experience with classical algebra tells us that finding the zeros of a polynomial is equivalent

More information

Solutions of Exam Coding Theory (2MMC30), 23 June (1.a) Consider the 4 4 matrices as words in F 16

Solutions of Exam Coding Theory (2MMC30), 23 June (1.a) Consider the 4 4 matrices as words in F 16 Solutions of Exam Coding Theory (2MMC30), 23 June 2016 (1.a) Consider the 4 4 matrices as words in F 16 2, the binary vector space of dimension 16. C is the code of all binary 4 4 matrices such that the

More information

Introduction to finite fields

Introduction to finite fields Chapter 7 Introduction to finite fields This chapter provides an introduction to several kinds of abstract algebraic structures, particularly groups, fields, and polynomials. Our primary interest is in

More information

Section 3 Error Correcting Codes (ECC): Fundamentals

Section 3 Error Correcting Codes (ECC): Fundamentals Section 3 Error Correcting Codes (ECC): Fundamentals Communication systems and channel models Definition and examples of ECCs Distance For the contents relevant to distance, Lin & Xing s book, Chapter

More information

Chapter 7. Error Control Coding. 7.1 Historical background. Mikael Olofsson 2005

Chapter 7. Error Control Coding. 7.1 Historical background. Mikael Olofsson 2005 Chapter 7 Error Control Coding Mikael Olofsson 2005 We have seen in Chapters 4 through 6 how digital modulation can be used to control error probabilities. This gives us a digital channel that in each

More information

The Golay codes. Mario de Boer and Ruud Pellikaan

The Golay codes. Mario de Boer and Ruud Pellikaan 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

More information

Definition 2.1. Let w be a word. Then the coset C + w of w is the set {c + w : c C}.

Definition 2.1. Let w be a word. Then the coset C + w of w is the set {c + w : c C}. 2.4. Coset Decoding i 2.4 Coset Decoding To apply MLD decoding, what we must do, given a received word w, is search through all the codewords to find the codeword c closest to w. This can be a slow and

More information

ELEC 405/ELEC 511 Error Control Coding and Sequences. Hamming Codes and the Hamming Bound

ELEC 405/ELEC 511 Error Control Coding and Sequences. Hamming Codes and the Hamming Bound ELEC 45/ELEC 5 Error Control Coding and Sequences Hamming Codes and the Hamming Bound Single Error Correcting Codes ELEC 45 2 Hamming Codes One form of the (7,4,3) Hamming code is generated by This is

More information

CHAPTER 14. Ideals and Factor Rings

CHAPTER 14. Ideals and Factor Rings CHAPTER 14 Ideals and Factor Rings Ideals Definition (Ideal). A subring A of a ring R is called a (two-sided) ideal of R if for every r 2 R and every a 2 A, ra 2 A and ar 2 A. Note. (1) A absorbs elements

More information

16.36 Communication Systems Engineering

16.36 Communication Systems Engineering MIT OpenCourseWare http://ocw.mit.edu 16.36 Communication Systems Engineering Spring 2009 For information about citing these materials or our Terms of Use, visit: http://ocw.mit.edu/terms. 16.36: Communication

More information

MATH 431 PART 2: POLYNOMIAL RINGS AND FACTORIZATION

MATH 431 PART 2: POLYNOMIAL RINGS AND FACTORIZATION MATH 431 PART 2: POLYNOMIAL RINGS AND FACTORIZATION 1. Polynomial rings (review) Definition 1. A polynomial f(x) with coefficients in a ring R is n f(x) = a i x i = a 0 + a 1 x + a 2 x 2 + + a n x n i=0

More information

+ 1 3 x2 2x x3 + 3x 2 + 0x x x2 2x + 3 4

+ 1 3 x2 2x x3 + 3x 2 + 0x x x2 2x + 3 4 Math 4030-001/Foundations of Algebra/Fall 2017 Polynomials at the Foundations: Rational Coefficients The rational numbers are our first field, meaning that all the laws of arithmetic hold, every number

More information

Lecture 7: Polynomial rings

Lecture 7: Polynomial rings Lecture 7: Polynomial rings Rajat Mittal IIT Kanpur You have seen polynomials many a times till now. The purpose of this lecture is to give a formal treatment to constructing polynomials and the rules

More information

Lecture 4: Linear Codes. Copyright G. Caire 88

Lecture 4: Linear Codes. Copyright G. Caire 88 Lecture 4: Linear Codes Copyright G. Caire 88 Linear codes over F q We let X = F q for some prime power q. Most important case: q =2(binary codes). Without loss of generality, we may represent the information

More information

ELEC 405/ELEC 511 Error Control Coding. Hamming Codes and Bounds on Codes

ELEC 405/ELEC 511 Error Control Coding. Hamming Codes and Bounds on Codes ELEC 405/ELEC 511 Error Control Coding Hamming Codes and Bounds on Codes Single Error Correcting Codes (3,1,3) code (5,2,3) code (6,3,3) code G = rate R=1/3 n-k=2 [ 1 1 1] rate R=2/5 n-k=3 1 0 1 1 0 G

More information

ERROR-CORRECTING CODES AND LATIN SQUARES

ERROR-CORRECTING CODES AND LATIN SQUARES ERROR-CORRECTING CODES AND LATIN SQUARES Ritu Ahuja Department of Mathematics, Khalsa College for Women, Civil Lines, Ludhiana 141001, Punjab, (India) ABSTRACT Data stored and transmitted in digital form

More information

Abstract Algebra: Chapters 16 and 17

Abstract Algebra: Chapters 16 and 17 Study polynomials, their factorization, and the construction of fields. Chapter 16 Polynomial Rings Notation Let R be a commutative ring. The ring of polynomials over R in the indeterminate x is the set

More information

Lecture 3: Error Correcting Codes

Lecture 3: Error Correcting Codes CS 880: Pseudorandomness and Derandomization 1/30/2013 Lecture 3: Error Correcting Codes Instructors: Holger Dell and Dieter van Melkebeek Scribe: Xi Wu In this lecture we review some background on error

More information

New algebraic decoding method for the (41, 21,9) quadratic residue code

New algebraic decoding method for the (41, 21,9) quadratic residue code New algebraic decoding method for the (41, 21,9) quadratic residue code Mohammed M. Al-Ashker a, Ramez Al.Shorbassi b a Department of Mathematics Islamic University of Gaza, Palestine b Ministry of education,

More information

The BCH Bound. Background. Parity Check Matrix for BCH Code. Minimum Distance of Cyclic Codes

The BCH Bound. Background. Parity Check Matrix for BCH Code. Minimum Distance of Cyclic Codes S-723410 BCH and Reed-Solomon Codes 1 S-723410 BCH and Reed-Solomon Codes 3 Background The algebraic structure of linear codes and, in particular, cyclic linear codes, enables efficient encoding and decoding

More information

: Error Correcting Codes. October 2017 Lecture 1

: Error Correcting Codes. October 2017 Lecture 1 03683072: Error Correcting Codes. October 2017 Lecture 1 First Definitions and Basic Codes Amnon Ta-Shma and Dean Doron 1 Error Correcting Codes Basics Definition 1. An (n, K, d) q code is a subset of

More information

Error Correction Review

Error Correction Review Error Correction Review A single overall parity-check equation detects single errors. Hamming codes used m equations to correct one error in 2 m 1 bits. We can use nonbinary equations if we create symbols

More information