Ma/CS 6b Class 24: Error Correcting Codes

Size: px
Start display at page:

Download "Ma/CS 6b Class 24: Error Correcting Codes"

Transcription

1 Ma/CS 6b Class 24: Error Correcting Codes By Adam Sheffer Communicating Over a Noisy Channel Problem. We wish to transmit a message which is composed of 0 s and 1 s, but noise might accidentally flip some bits. I love you I love lou 1

2 Naïve Approach: Parity Bit At the end of the message, add 0 if the number of 1 s in the message is even. Otherwise, add 1. Either way, the message is sent with an even number of 1 s. When receiving a message, if the number of 1 s is odd, we know that something went wrong. Problem. What if two bits were flipped? Check Digit A similar idea is used to verify credit card numbers (works with MasterCard, Visa, and others). Double alternating digits starting with the first digit in the sequence. Sum up the digits. If you did not get a multiple of 10, something is wrong with your card. 2

3 Error Correction What if in addition to detecting a bit flip, we want to also be able to correct it? We can send every bit three times. But this is very inefficient! Instead, we can break the message into 4-tuples of bits. We put them in a 2 2 matrix and add row and column parity bits. Bits of the message Parity bits Detects and corrects a single bit flip, while only doubling the size of the transmission. Formalizing the Problem V n the set of binary sequences of length n. For example, V 3 = 000,001,010,011,100,101,110,111. Codes of length n are subsets of V n. For example, we might have 000 = up, 110 = down, 011 = left, 101 = right. This code is 000,110,011,101 V 3. Sequences that are in the code are called codewords (or just words). 3

4 Detection and Correction Consider the code 000,110,011,101 V 3. This code can detect if a single bit was flipped in a word. If we receive the sequence 100, we know that some error happened, but we cannot recover the original message. Consider the code ,111000,001110, V 6. If a single bit was flipped, we can detect and correct that. If we receive , we know that the original message was Distance Between Words Given a, b V n the distance a, b is the number of bits that are different in a and b , = 2. Basic properties of distance: a, b = 0 iff a = b. a, b = b, a for every a, b V n. a, b a, c + c, b for every a, b, c V n. 4

5 Distance of a Code Given a code C V n, the distance of C is δ a, b. min a,b C If C is a code with distance d: We are guaranteed to detect any errors, as long as no more than d 1 bits were flipped. We can correct any errors, as long as less than d/2 bits were flipped (by finding the closest word to the one we received). Example We consider again the code C = ,111000,001110, V 6. The distance of C is 3. Thus, we can detect any error with up to 2 bit flips. We can correct any error of one bit flip. 5

6 Hamming Distance The distance δ a, b is called Hamming distance. According to urban dictionary, Hamming is the act of throwing or placing slices of meat on cars, houses, etc. Unfortunately the distance notion is unrelated and named after Richard Hamming. One of the pioneers of error correcting codes. Richard Hamming A Blast from the Past Algebra Consider the set of binary sequences V n. For a, b V n, denote by a + b the addition mod 2 of every two corresponding bits = Then V n under the + operation is a group! 6

7 A Group Closure. For every a, b V n, we have a + b V n. Associativity. For every a, b, c V n, we have a + b + c = a + b + c. Identity. There exists 0 n = 00 0 V n, such that for every a V n, we have a + 0 n = 0 n + a = a. Inverse. For every a V n, we have a + a = 0 n. So each element is its own inverse. Linear Codes A code C V n is linear if for every a, b C, we have a + b C. Notice that C is a subgroup of V n : Closure. Implied by the assumption. Associativity. Derived from the assoc. of V n Identity. If a C, then 0 n = a + a C. Inverse. Every element is its own inverse. 7

8 Recall: Lagrange s Theorem Theorem. If G is a group of a finite order n and H is a subgroup of G of order m, then m n. Let C V n be a linear code. V n = 2 n. Thus, C = 2 k for some 0 k n. We say that k is the dimension of C. Our Requirements Let C V n be a linear code of dimension k. For C to be efficient, k has to be relatively large with respect to n. We also want the number e of bit flips that can be corrected to be large. Theorem. 2 n k 1 + n 1 + n n e. 8

9 Let a C. The number of elements of V n that n can be obtained by flipping r bits of a is r. The number of sequences of V n that can be obtained by flipping at most e bits of a is m = 1 + n 1 + n n e. For any a, b C we cannot obtain the same sequence d by flipping at most e bits in a and in b, since otherwise we will not be able to correct that d. Thus, we have 2 k = C Vn m = 2n m, or 1 + n 1 + n n e 2n k. Example Problem. How many bits can a linear code in V 17 of dimension 10 correct? We have 2 n k 1 + n 1 + n n e In this case n = 17 and k = 10. We have 2 7 = 128 > < Thus, correcting one bit might be possible, but not two. 9

10 Distance Properties For any a, b V n, we have a + b = a b. In either case, the i th bit is one iff a i b i. For any a, b, c V n, we have a, b = a + c, b + c. The distance is the number of bits that differ between a and b. If c i = 0 then a i and b i remain unchanged. If c i = 1 then both a i and b i are flipped. Either way, the number of bits that differ remains unchanged. The Weight of a Word Consider a code C V n. For a word a C, the weight w a is the number of 1 s in a. For every a C, we have a, 0 n = w a. For a, b C, we have a, b = a b, b b = w a b. 10

11 The Minimum Weight Theorem. Let C V n be a linear code. Let w min be the minimum weight of a nonzero word in C. Then the distance δ of C is w min. This allows us to compute δ more efficiently! Proof. Take z C so that w z = w min. We have δ z, 0 n = w z = w min. Take a, b C such that δ = a, b. By definition, a b C. We have δ = a, b = w a b w min. Parity Check Matrices Consider a, b V n and an m n matrix H with entries in 0,1. If Ha = Hb = 0 m, then H a + b = Ha + Hb = 0 m. Thus, the set C = a V n : Ha = 0 m is a linear code. The matrix H is the parity-check matrix of C (or simply check matrix). 11

12 Example Problem. Find the code C whose check matrix is H = Solution. We need to solve x 1 x 2 x 3 x 4 = 0 0. That is x 1 + x 3 = 0 and x 2 + x 3 + x 4 = 0. By going over all the possible values of x 3 and x 4, we find C = 0000,0101,1011,1110. The previous example is a special case of: For 1 r < n, we consider a code C V n defined by an r n matrices of the form b 1,1 b 1,n r b 2,1 b 2,n r H = b 3,1 b 3,n r b r,1 b r,n r A vector x = x 1, x 2,, x n is in the code if x 1 = b 1,1 x r b 1,n r x n, x r = b r,1 x r b r,n r x n. Thus, we have C = 2 n r. 12

13 Standard Form We consider matrices of the form H = b 1,1 b 1,n r b 2,1 b 2,n r b 3,1 b 3,n r b r,1 b r,n r The order of the columns does not matter, since reordering the columns corresponds to reordering the bits in the code words. The above order is called standard form.. Correcting Errors with Linear Codes For 1 r < n, we consider a linear code C V n defined by the r n standard form matrix H. Theorem. If no column in H consists entirely of zeros and no two columns of H are identical, then C can correct at least one error. 13

14 Proof To show that C can correct one error, it suffices to show that its distance δ is at least 3. To prove δ 3, it suffices to show that any nonzero word in C is of weight at least 3. Assume for contradiction that there exists a word a C with w a = 1. That is, a has a single non-zero bit. Say that this is a i. Since a C, then Ha = 0 r. This implies that the i th column of H is all zeros. Contradiction! Proof (cont.) We proved that C contains no words of weight 1. It remains to show that there are no words of weight 2. Assume for contradiction that there exists a word a C with w a = 2. That is, a has two non-zero bits. Say that these are a i and a j. Since a C, then Ha = 0 r. This implies that the i th and j th columns of H are identical. Contradiction! 14

15 Concluding the Proof We showed: Since H has no zero columns, C contains no words of weight 1. Since H has no identical columns, C contains no words of weight 2. Thus, the minimum weight of a word in C is at least 3, implying that the distance of C is at least 3. That is, we can correct at least one bit flip. Code Size Problem. We are interested in a code with a check matrix H that has r rows and does not contain zero columns and identical columns. What is the maximum number of columns in H? There are 2 r distinct columns of r entries. After ignoring the all zeros column, we remain with 2 r 1 possible columns. For example, when r = 3, we have

16 Hamming Codes Hamming codes are a family of linear codes: For every r 2, we have a code that corresponds to the check matrix H r having r rows and n = 2 r 1 distinct nonzero columns. We assume that the matrix is in standard form. A vector x = x 1, x 2,, x n is in the code if x 1 = b 1,1 x r b 1,n r x n, x r = b r,1 x r b r,n r x n. Determining x r+1,, x n uniquely determines x 1,, x r. So there are 2 n r words in the code. The End Hamming worked in Bell labs (credited with the development of radio astronomy, the transistor, the laser, information theory, the UNIX operating system, and the C and C++ programming languages). In 1960, Hamming predicted that one day half of the Bell Lab's budget would be spent on computing. None of his colleagues thought that it would ever be so high. 16

Ma/CS 6b Class 25: Error Correcting Codes 2

Ma/CS 6b Class 25: Error Correcting Codes 2 Ma/CS 6b Class 25: Error Correcting Codes 2 By Adam Sheffer Recall: Codes V n the set of binary sequences of length n. For example, V 3 = 000,001,010,011,100,101,110,111. Codes of length n are subsets

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

Error Detection and Correction: Hamming Code; Reed-Muller Code

Error Detection and Correction: Hamming Code; Reed-Muller Code Error Detection and Correction: Hamming Code; Reed-Muller Code Greg Plaxton Theory in Programming Practice, Spring 2005 Department of Computer Science University of Texas at Austin Hamming Code: Motivation

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

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

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

exercise in the previous class (1)

exercise in the previous class (1) exercise in the previous class () Consider an odd parity check code C whose codewords are (x,, x k, p) with p = x + +x k +. Is C a linear code? No. x =, x 2 =x =...=x k = p =, and... is a codeword x 2

More information

channel of communication noise Each codeword has length 2, and all digits are either 0 or 1. Such codes are called Binary Codes.

channel of communication noise Each codeword has length 2, and all digits are either 0 or 1. Such codes are called Binary Codes. 5 Binary Codes You have already seen how check digits for bar codes (in Unit 3) and ISBN numbers (Unit 4) are used to detect errors. Here you will look at codes relevant for data transmission, for example,

More information

Can You Hear Me Now?

Can You Hear Me Now? Can You Hear Me Now? An Introduction to Coding Theory William J. Turner Department of Mathematics & Computer Science Wabash College Crawfordsville, IN 47933 19 October 2004 W. J. Turner (Wabash College)

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

9 THEORY OF CODES. 9.0 Introduction. 9.1 Noise

9 THEORY OF CODES. 9.0 Introduction. 9.1 Noise 9 THEORY OF CODES Chapter 9 Theory of Codes After studying this chapter you should understand what is meant by noise, error detection and correction; be able to find and use the Hamming distance for a

More information

Assume that the follow string of bits constitutes one of the segments we which to transmit.

Assume that the follow string of bits constitutes one of the segments we which to transmit. Cyclic Redundancy Checks( CRC) Cyclic Redundancy Checks fall into a class of codes called Algebraic Codes; more specifically, CRC codes are Polynomial Codes. These are error-detecting codes, not error-correcting

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

2. Polynomials. 19 points. 3/3/3/3/3/4 Clearly indicate your correctly formatted answer: this is what is to be graded. No need to justify!

2. Polynomials. 19 points. 3/3/3/3/3/4 Clearly indicate your correctly formatted answer: this is what is to be graded. No need to justify! 1. Short Modular Arithmetic/RSA. 16 points: 3/3/3/3/4 For each question, please answer in the correct format. When an expression is asked for, it may simply be a number, or an expression involving variables

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

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

An introduction to basic information theory. Hampus Wessman

An introduction to basic information theory. Hampus Wessman An introduction to basic information theory Hampus Wessman Abstract We give a short and simple introduction to basic information theory, by stripping away all the non-essentials. Theoretical bounds on

More information

1.6: Solutions 17. Solution to exercise 1.6 (p.13).

1.6: Solutions 17. Solution to exercise 1.6 (p.13). 1.6: Solutions 17 A slightly more careful answer (short of explicit computation) goes as follows. Taking the approximation for ( N K) to the next order, we find: ( N N/2 ) 2 N 1 2πN/4. (1.40) This approximation

More information

Ma/CS 6a Class 19: Group Isomorphisms

Ma/CS 6a Class 19: Group Isomorphisms Ma/CS 6a Class 19: Group Isomorphisms By Adam Sheffer A Group A group consists of a set G and a binary operation, satisfying the following. Closure. For every x, y G x y G. Associativity. For every x,

More information

3. Coding theory 3.1. Basic concepts

3. Coding theory 3.1. Basic concepts 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,

More information

Ma/CS 6a Class 28: Latin Squares

Ma/CS 6a Class 28: Latin Squares Ma/CS 6a Class 28: Latin Squares By Adam Sheffer Latin Squares A Latin square is an n n array filled with n different symbols, each occurring exactly once in each row and exactly once in each column. 1

More information

And for polynomials with coefficients in F 2 = Z/2 Euclidean algorithm for gcd s Concept of equality mod M(x) Extended Euclid for inverses mod M(x)

And for polynomials with coefficients in F 2 = Z/2 Euclidean algorithm for gcd s Concept of equality mod M(x) Extended Euclid for inverses mod M(x) Outline Recall: For integers Euclidean algorithm for finding gcd s Extended Euclid for finding multiplicative inverses Extended Euclid for computing Sun-Ze Test for primitive roots And for polynomials

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

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

Shannon s noisy-channel theorem

Shannon s noisy-channel theorem Shannon s noisy-channel theorem Information theory Amon Elders Korteweg de Vries Institute for Mathematics University of Amsterdam. Tuesday, 26th of Januari Amon Elders (Korteweg de Vries Institute for

More information

Hamming Codes 11/17/04

Hamming Codes 11/17/04 Hamming Codes 11/17/04 History In the late 1940 s Richard Hamming recognized that the further evolution of computers required greater reliability, in particular the ability to not only detect errors, but

More information

1. How many errors may be detected (not necessarily corrected) if a code has a Hamming Distance of 6?

1. How many errors may be detected (not necessarily corrected) if a code has a Hamming Distance of 6? Answers to Practice Problems Practice Problems - Hamming distance 1. How many errors may be detected (not necessarily corrected) if a code has a Hamming Distance of 6? 2n = 6; n=3 2. How many errors may

More information

Lecture 12: November 6, 2017

Lecture 12: November 6, 2017 Information and Coding Theory Autumn 017 Lecturer: Madhur Tulsiani Lecture 1: November 6, 017 Recall: We were looking at codes of the form C : F k p F n p, where p is prime, k is the message length, and

More information

U Logo Use Guidelines

U Logo Use Guidelines COMP2610/6261 - Information Theory Lecture 22: Hamming Codes U Logo Use Guidelines Mark Reid and Aditya Menon logo is a contemporary n of our heritage. presents our name, d and our motto: arn the nature

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

Coset Decomposition Method for Decoding Linear Codes

Coset Decomposition Method for Decoding Linear Codes International Journal of Algebra, Vol. 5, 2011, no. 28, 1395-1404 Coset Decomposition Method for Decoding Linear Codes Mohamed Sayed Faculty of Computer Studies Arab Open University P.O. Box: 830 Ardeya

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

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

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

Linear Algebra. F n = {all vectors of dimension n over field F} Linear algebra is about vectors. Concretely, vectors look like this:

Linear Algebra. F n = {all vectors of dimension n over field F} Linear algebra is about vectors. Concretely, vectors look like this: 15-251: Great Theoretical Ideas in Computer Science Lecture 23 Linear Algebra Linear algebra is about vectors. Concretely, vectors look like this: They are arrays of numbers. fig. by Peter Dodds # of numbers,

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

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

Error Correcting Codes Prof. Dr. P. Vijay Kumar Department of Electrical Communication Engineering Indian Institute of Science, Bangalore

Error Correcting Codes Prof. Dr. P. Vijay Kumar Department of Electrical Communication Engineering Indian Institute of Science, Bangalore (Refer Slide Time: 00:15) Error Correcting Codes Prof. Dr. P. Vijay Kumar Department of Electrical Communication Engineering Indian Institute of Science, Bangalore Lecture No. # 03 Mathematical Preliminaries:

More information

Ma/CS 6a Class 19: Isomorphisms and Subgroups

Ma/CS 6a Class 19: Isomorphisms and Subgroups Ma/CS 6a Class 19: Isomorphisms and Subgroups By Adam Sheffer Reminder: A Group A group consists of a set G and a binary operation, satisfying the following. Closure. For every x, y G, we have x y G. Associativity.

More information

Efficient Decoding of Permutation Codes Obtained from Distance Preserving Maps

Efficient Decoding of Permutation Codes Obtained from Distance Preserving Maps 2012 IEEE International Symposium on Information Theory Proceedings Efficient Decoding of Permutation Codes Obtained from Distance Preserving Maps Yeow Meng Chee and Punarbasu Purkayastha Division of Mathematical

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

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

BINARY CODES. Binary Codes. Computer Mathematics I. Jiraporn Pooksook Department of Electrical and Computer Engineering Naresuan University

BINARY CODES. Binary Codes. Computer Mathematics I. Jiraporn Pooksook Department of Electrical and Computer Engineering Naresuan University Binary Codes Computer Mathematics I Jiraporn Pooksook Department of Electrical and Computer Engineering Naresuan University BINARY CODES: BCD Binary Coded Decimal system is represented by a group of 4

More information

Lecture 4: Proof of Shannon s theorem and an explicit code

Lecture 4: Proof of Shannon s theorem and an explicit code CSE 533: Error-Correcting Codes (Autumn 006 Lecture 4: Proof of Shannon s theorem and an explicit code October 11, 006 Lecturer: Venkatesan Guruswami Scribe: Atri Rudra 1 Overview Last lecture we stated

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

XOR - XNOR Gates. The graphic symbol and truth table of XOR gate is shown in the figure.

XOR - XNOR Gates. The graphic symbol and truth table of XOR gate is shown in the figure. XOR - XNOR Gates Lesson Objectives: In addition to AND, OR, NOT, NAND and NOR gates, exclusive-or (XOR) and exclusive-nor (XNOR) gates are also used in the design of digital circuits. These have special

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

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

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

Low-Density Parity-Check Codes

Low-Density Parity-Check Codes Department of Computer Sciences Applied Algorithms Lab. July 24, 2011 Outline 1 Introduction 2 Algorithms for LDPC 3 Properties 4 Iterative Learning in Crowds 5 Algorithm 6 Results 7 Conclusion PART I

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

Decomposition Methods for Large Scale LP Decoding

Decomposition Methods for Large Scale LP Decoding Decomposition Methods for Large Scale LP Decoding Siddharth Barman Joint work with Xishuo Liu, Stark Draper, and Ben Recht Outline Background and Problem Setup LP Decoding Formulation Optimization Framework

More information

Polynomial Codes over Certain Finite Fields

Polynomial Codes over Certain Finite Fields Polynomial Codes over Certain Finite Fields A paper by: Irving Reed and Gustave Solomon presented by Kim Hamilton March 31, 2000 Significance of this paper: Introduced ideas that form the core of current

More information

Ma/CS 6b Class 15: The Probabilistic Method 2

Ma/CS 6b Class 15: The Probabilistic Method 2 Ma/CS 6b Class 15: The Probabilistic Method 2 By Adam Sheffer Reminder: Random Variables A random variable is a function from the set of possible events to R. Example. Say that we flip five coins. We can

More information

Ma/CS 6a Class 28: Latin Squares

Ma/CS 6a Class 28: Latin Squares Ma/CS 6a Class 28: Latin Squares By Adam Sheffer Latin Squares A Latin square is an n n array filled with n different symbols, each occurring exactly once in each row and exactly once in each column. 1

More information

Lecture notes on coding theory

Lecture notes on coding theory Lecture notes on coding theory Raymond van Bommel Curves over finite fields, Autumn 2017, Leiden 1 Introduction When one agent tries to transfer information to another agent through a noisy channel, errors

More information

An Algebraic Approach to Network Coding

An Algebraic Approach to Network Coding An Algebraic Approach to July 30 31, 2009 Outline 1 2 a 3 Linear 4 Digital Communication Digital communication networks are integral parts of our lives these days; so, we want to know how to most effectively

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

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

Notes on Alekhnovich s cryptosystems

Notes on Alekhnovich s cryptosystems Notes on Alekhnovich s cryptosystems Gilles Zémor November 2016 Decisional Decoding Hypothesis with parameter t. Let 0 < R 1 < R 2 < 1. There is no polynomial-time decoding algorithm A such that: Given

More information

6.895 PCP and Hardness of Approximation MIT, Fall Lecture 3: Coding Theory

6.895 PCP and Hardness of Approximation MIT, Fall Lecture 3: Coding Theory 6895 PCP and Hardness of Approximation MIT, Fall 2010 Lecture 3: Coding Theory Lecturer: Dana Moshkovitz Scribe: Michael Forbes and Dana Moshkovitz 1 Motivation In the course we will make heavy use of

More information

Discrete Mathematics and Probability Theory Spring 2016 Rao and Walrand Discussion 6A Solution

Discrete Mathematics and Probability Theory Spring 2016 Rao and Walrand Discussion 6A Solution CS 70 Discrete Mathematics and Probability Theory Spring 2016 Rao and Walrand Discussion 6A Solution 1. Polynomial intersections Find (and prove) an upper-bound on the number of times two distinct degree

More information

Ma/CS 6b Class 20: Spectral Graph Theory

Ma/CS 6b Class 20: Spectral Graph Theory Ma/CS 6b Class 20: Spectral Graph Theory By Adam Sheffer Recall: Parity of a Permutation S n the set of permutations of 1,2,, n. A permutation σ S n is even if it can be written as a composition of an

More information

Lecture 8: Shannon s Noise Models

Lecture 8: Shannon s Noise Models Error Correcting Codes: Combinatorics, Algorithms and Applications (Fall 2007) Lecture 8: Shannon s Noise Models September 14, 2007 Lecturer: Atri Rudra Scribe: Sandipan Kundu& Atri Rudra Till now we have

More information

CSE 123: Computer Networks

CSE 123: Computer Networks CSE 123: Computer Networks Total points: 40 Homework 1 - Solutions Out: 10/4, Due: 10/11 Solutions 1. Two-dimensional parity Given below is a series of 7 7-bit items of data, with an additional bit each

More information

Error Correcting Codes: Combinatorics, Algorithms and Applications Spring Homework Due Monday March 23, 2009 in class

Error Correcting Codes: Combinatorics, Algorithms and Applications Spring Homework Due Monday March 23, 2009 in class Error Correcting Codes: Combinatorics, Algorithms and Applications Spring 2009 Homework Due Monday March 23, 2009 in class You can collaborate in groups of up to 3. However, the write-ups must be done

More information

An Introduction to (Network) Coding Theory

An Introduction to (Network) Coding Theory An to (Network) Anna-Lena Horlemann-Trautmann University of St. Gallen, Switzerland April 24th, 2018 Outline 1 Reed-Solomon Codes 2 Network Gabidulin Codes 3 Summary and Outlook A little bit of history

More information

Multimedia Systems WS 2010/2011

Multimedia Systems WS 2010/2011 Multimedia Systems WS 2010/2011 15.11.2010 M. Rahamatullah Khondoker (Room # 36/410 ) University of Kaiserslautern Department of Computer Science Integrated Communication Systems ICSY http://www.icsy.de

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

Analysis of a Randomized Local Search Algorithm for LDPCC Decoding Problem

Analysis of a Randomized Local Search Algorithm for LDPCC Decoding Problem Analysis of a Randomized Local Search Algorithm for LDPCC Decoding Problem Osamu Watanabe, Takeshi Sawai, and Hayato Takahashi Dept. of Mathematical and Computing Sciences, Tokyo Institute of Technology

More information

Graph-based codes for flash memory

Graph-based codes for flash memory 1/28 Graph-based codes for flash memory Discrete Mathematics Seminar September 3, 2013 Katie Haymaker Joint work with Professor Christine Kelley University of Nebraska-Lincoln 2/28 Outline 1 Background

More information

CS Lecture 4. Markov Random Fields

CS Lecture 4. Markov Random Fields CS 6347 Lecture 4 Markov Random Fields Recap Announcements First homework is available on elearning Reminder: Office hours Tuesday from 10am-11am Last Time Bayesian networks Today Markov random fields

More information

Midterm #1 - Solutions

Midterm #1 - Solutions Midterm # - olutions Math/tat 94 Quizzes. Let A be the event Andrea and Bill are both in class. The complementary event is (choose one): A c = Neither Andrea nor Bill are in class A c = Bill is not in

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

Notes 10: Public-key cryptography

Notes 10: Public-key cryptography MTH6115 Cryptography Notes 10: Public-key cryptography In this section we look at two other schemes that have been proposed for publickey ciphers. The first is interesting because it was the earliest such

More information

Exercise 1. = P(y a 1)P(a 1 )

Exercise 1. = P(y a 1)P(a 1 ) Chapter 7 Channel Capacity Exercise 1 A source produces independent, equally probable symbols from an alphabet {a 1, a 2 } at a rate of one symbol every 3 seconds. These symbols are transmitted over a

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

6 Permutations Very little of this section comes from PJE.

6 Permutations Very little of this section comes from PJE. 6 Permutations Very little of this section comes from PJE Definition A permutation (p147 of a set A is a bijection ρ : A A Notation If A = {a b c } and ρ is a permutation on A we can express the action

More information

Lecture 6: Expander Codes

Lecture 6: Expander Codes CS369E: Expanders May 2 & 9, 2005 Lecturer: Prahladh Harsha Lecture 6: Expander Codes Scribe: Hovav Shacham In today s lecture, we will discuss the application of expander graphs to error-correcting codes.

More information

Fault Tolerant Computing CS 530 Information redundancy: Coding theory. Yashwant K. Malaiya Colorado State University

Fault Tolerant Computing CS 530 Information redundancy: Coding theory. Yashwant K. Malaiya Colorado State University CS 530 Information redundancy: Coding theory Yashwant K. Malaiya Colorado State University March 30, 2017 1 Information redundancy: Outline Using a parity bit Codes & code words Hamming distance Error

More information

Binary Primitive BCH Codes. Decoding of the BCH Codes. Implementation of Galois Field Arithmetic. Implementation of Error Correction

Binary Primitive BCH Codes. Decoding of the BCH Codes. Implementation of Galois Field Arithmetic. Implementation of Error Correction BCH Codes Outline Binary Primitive BCH Codes Decoding of the BCH Codes Implementation of Galois Field Arithmetic Implementation of Error Correction Nonbinary BCH Codes and Reed-Solomon Codes Preface The

More information

Lecture 7. Union bound for reducing M-ary to binary hypothesis testing

Lecture 7. Union bound for reducing M-ary to binary hypothesis testing Lecture 7 Agenda for the lecture M-ary hypothesis testing and the MAP rule Union bound for reducing M-ary to binary hypothesis testing Introduction of the channel coding problem 7.1 M-ary hypothesis testing

More information

Theoretical Cryptography, Lectures 18-20

Theoretical Cryptography, Lectures 18-20 Theoretical Cryptography, Lectures 18-20 Instructor: Manuel Blum Scribes: Ryan Williams and Yinmeng Zhang March 29, 2006 1 Content of the Lectures These lectures will cover how someone can prove in zero-knowledge

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

Ma/CS 6b Class 20: Spectral Graph Theory

Ma/CS 6b Class 20: Spectral Graph Theory Ma/CS 6b Class 20: Spectral Graph Theory By Adam Sheffer Eigenvalues and Eigenvectors A an n n matrix of real numbers. The eigenvalues of A are the numbers λ such that Ax = λx for some nonzero vector x

More information

Convolutional Coding LECTURE Overview

Convolutional Coding LECTURE Overview MIT 6.02 DRAFT Lecture Notes Spring 2010 (Last update: March 6, 2010) Comments, questions or bug reports? Please contact 6.02-staff@mit.edu LECTURE 8 Convolutional Coding This lecture introduces a powerful

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

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

COMPSCI 650 Applied Information Theory Apr 5, Lecture 18. Instructor: Arya Mazumdar Scribe: Hamed Zamani, Hadi Zolfaghari, Fatemeh Rezaei

COMPSCI 650 Applied Information Theory Apr 5, Lecture 18. Instructor: Arya Mazumdar Scribe: Hamed Zamani, Hadi Zolfaghari, Fatemeh Rezaei COMPSCI 650 Applied Information Theory Apr 5, 2016 Lecture 18 Instructor: Arya Mazumdar Scribe: Hamed Zamani, Hadi Zolfaghari, Fatemeh Rezaei 1 Correcting Errors in Linear Codes Suppose someone is to send

More information

Lecture 14: Hamming and Hadamard Codes

Lecture 14: Hamming and Hadamard Codes CSCI-B69: A Theorist s Toolkit, Fall 6 Oct 6 Lecture 4: Hamming and Hadamard Codes Lecturer: Yuan Zhou Scribe: Kaiyuan Zhu Recap Recall from the last lecture that error-correcting codes are in fact injective

More information

EE512: Error Control Coding

EE512: Error Control Coding EE512: Error Control Coding Solution for Assignment on Linear Block Codes February 14, 2007 1. Code 1: n = 4, n k = 2 Parity Check Equations: x 1 + x 3 = 0, x 1 + x 2 + x 4 = 0 Parity Bits: x 3 = x 1,

More information

Channel Coding and Interleaving

Channel Coding and Interleaving Lecture 6 Channel Coding and Interleaving 1 LORA: Future by Lund www.futurebylund.se The network will be free for those who want to try their products, services and solutions in a precommercial stage.

More information

SUPERDENSE CODING AND QUANTUM TELEPORTATION

SUPERDENSE CODING AND QUANTUM TELEPORTATION SUPERDENSE CODING AND QUANTUM TELEPORTATION YAQIAO LI This note tries to rephrase mathematically superdense coding and quantum teleportation explained in [] Section.3 and.3.7, respectively (as if I understood

More information

Gordon solutions. n=1 1. p n

Gordon solutions. n=1 1. p n Gordon solutions 1. A positive integer is called a palindrome if its base-10 expansion is unchanged when it is reversed. For example, 121 and 7447 are palindromes. Show that if we denote by p n the nth

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

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

PCM Reference Chapter 12.1, Communication Systems, Carlson. PCM.1

PCM Reference Chapter 12.1, Communication Systems, Carlson. PCM.1 PCM Reference Chapter 1.1, Communication Systems, Carlson. PCM.1 Pulse-code modulation (PCM) Pulse modulations use discrete time samples of analog signals the transmission is composed of analog information

More information

Chapter 0: Preliminaries

Chapter 0: Preliminaries Chapter 0: Preliminaries Adam Sheffer March 28, 2016 1 Notation This chapter briefly surveys some basic concepts and tools that we will use in this class. Graduate students and some undergrads would probably

More information

DEPARTMENT OF EECS MASSACHUSETTS INSTITUTE OF TECHNOLOGY. 6.02: Digital Communication Systems, Fall Quiz I. October 11, 2012

DEPARTMENT OF EECS MASSACHUSETTS INSTITUTE OF TECHNOLOGY. 6.02: Digital Communication Systems, Fall Quiz I. October 11, 2012 6.02 Fall 2012, Quiz 2 Page 1 of 12 Name: DEPARTMENT OF EECS MASSACHUSETTS INSTITUTE OF TECHNOLOGY 6.02: Digital Communication Systems, Fall 2012 Quiz I October 11, 2012 your section Section Time Recitation

More information