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

Similar documents
Error Detection and Correction: Small Applications of Exclusive-Or

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

EE 229B ERROR CONTROL CODING Spring 2005

9 THEORY OF CODES. 9.0 Introduction. 9.1 Noise

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

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

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

Lecture 4: Codes based on Concatenation

Lecture B04 : Linear codes and singleton bound

Reed Muller Error Correcting Codes

Reed-Muller Codes. These codes were discovered by Muller and the decoding by Reed in Code length: n = 2 m, Dimension: Minimum Distance

U Logo Use Guidelines

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

Math 512 Syllabus Spring 2017, LIU Post

Lecture 12: November 6, 2017

Cyclic Redundancy Check Codes

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

exercise in the previous class (1)

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

CSE 123: Computer Networks

Lecture 19 : Reed-Muller, Concatenation Codes & Decoding problem

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!

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

Mathematics Department

Linear Codes and Syndrome Decoding

Ma/CS 6b Class 24: Error Correcting Codes

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

Flip-N-Write: A Simple Deterministic Technique to Improve PRAM Write Performance, Energy and Endurance. Presenter: Brian Wongchaowart March 17, 2010

Lecture Introduction. 2 Linear codes. CS CTT Current Topics in Theoretical CS Oct 4, 2012

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

4 An Introduction to Channel Coding and Decoding over BSC

Lecture 3: Error Correcting Codes

CS264: Beyond Worst-Case Analysis Lecture #11: LP Decoding

MATH32031: Coding Theory Part 15: Summary

MATH3302. Coding and Cryptography. Coding Theory

Lecture 14: Hamming and Hadamard Codes

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

Lecture 6: Expander Codes

TC08 / 6. Hadamard codes SX

Lecture 8: Channel and source-channel coding theorems; BEC & linear codes. 1 Intuitive justification for upper bound on channel capacity

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

Lecture Introduction. 2 Formal Definition. CS CTT Current Topics in Theoretical CS Oct 30, 2012

Algebraic Geometry Codes. Shelly Manber. Linear Codes. Algebraic Geometry Codes. Example: Hermitian. Shelly Manber. Codes. Decoding.

Improving the Performance of the SYND Stream Cipher

Tutorial: Locally decodable codes. UT Austin

Modular numbers and Error Correcting Codes. Introduction. Modular Arithmetic.

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

: Error Correcting Codes. October 2017 Lecture 1

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)

Example: sending one bit of information across noisy channel. Effects of the noise: flip the bit with probability p.

MATH 291T CODING THEORY

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

6. Quantum error correcting codes

IOSR Journal of Mathematics (IOSR-JM) e-issn: , p-issn: x. Volume 9, Issue 2 (Nov. Dec. 2013), PP

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

Cryptography: Joining the RSA Cryptosystem

MATH 291T CODING THEORY

Solutions to problems from Chapter 3

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

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

Equivalence of Regular Expressions and FSMs

Multimedia Systems WS 2010/2011

Parallel Recursion: Powerlists. Greg Plaxton Theory in Programming Practice, Fall 2005 Department of Computer Science University of Texas at Austin

LDPC Codes. Intracom Telecom, Peania

Game Theory. Greg Plaxton Theory in Programming Practice, Spring 2004 Department of Computer Science University of Texas at Austin

Fully-parallel linear error block coding and decoding a Boolean approach

The Hamming Codes and Delsarte s Linear Programming Bound

Notes 10: Public-key cryptography

Notes 3: Stochastic channels and noisy coding theorem bound. 1 Model of information communication and noisy channel

Outline. EECS Components and Design Techniques for Digital Systems. Lec 18 Error Coding. In the real world. Our beautiful digital world.

Lecture 7 September 24

ECE 4450:427/527 - Computer Networks Spring 2017

Problem 1: Suppose A, B, C and D are finite sets such that A B = C D and C = D. Prove or disprove: A = B.

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

Hamming codes and simplex codes ( )

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

Practical Polar Code Construction Using Generalised Generator Matrices

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

Introduction to Low-Density Parity Check Codes. Brian Kurkoski

Chapter 2. Error Correcting Codes. 2.1 Basic Notions

Getting Connected. Chapter 2, Part 2. Networking CS 3470, Section 1 Sarah Diesburg

Can You Hear Me Now?

Reed-Muller Codes. m r inductive definition. Later, we shall explain how to construct Reed-Muller codes using the Kronecker product.

Hamming Codes 11/17/04

Second Order Reed-Muller Decoding Algorithm in Quantum Computing

Week 3: January 22-26, 2018

An Introduction to Low Density Parity Check (LDPC) Codes

Lecture 2 Linear Codes

Error Detection & Correction

Coding theory: Applications

A Brief Encounter with Linear Codes

Optimal XOR based (2,n)-Visual Cryptography Schemes

Linear Block Codes. Saravanan Vijayakumaran Department of Electrical Engineering Indian Institute of Technology Bombay

6.3 Bernoulli Trials Example Consider the following random experiments

Berlekamp-Massey decoding of RS code

Combinatorics in Space. The Mariner 9 Telemetry System

Lecture 17: Perfect Codes and Gilbert-Varshamov Bound

Information redundancy

Quantum Error Correcting Codes and Quantum Cryptography. Peter Shor M.I.T. Cambridge, MA 02139

16.36 Communication Systems Engineering

Transcription:

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 Assume a word size of k Recall parity check coding Send one additional bit per word, the parity bit Allows detection (but not correction) of a single error (bit flip) in the k + 1 bits transmitted Hamming code Send l additional bits per word, called the check bits Allows correction of a single error in the k + l bits transmitted

Hamming Code: Determining The Number of Check Bits We choose l as the least positive integer such that the binary representation of k + l has l bits Exercise: Prove that such an l is guaranteed to exist Examples: If k = 1, we set l to 2 since k + l = 3 = 11 2 ; if k = 2, we set l to 3 since k + l = 5 = 101 2 ; if k = 4, we set l to 3 since k + l = 7 = 111 2 What is the maximum number of data bits k corresponding to a given number of check bits l? The positive numbers with l-bit binary representations range from 2 l 1 to 2 l 1 So we need k + l 2 l 1, i.e., k 2 l l 1

Hamming Code: The Construction Index the k + l bit positions from 1 to k + l Put the l check bits in positions with indices that are powers of 2, i.e., 2 0 = 1 = 1 2, 2 1 = 2 = 10 2, 2 2 = 4 = 100 2, 2 3 = 8 = 1000 2,... Put the k data bits in the remaining positions (preserving their order, say) Choose values for the check bits so that the XOR of the indices of all 1 bits is zero Can we always find such a setting of the check bits? Is this setting unique?

Hamming Code: Decoding We d like to argue that if 0 or 1 bit flips occur in transmission of the encoded bit string of length k + l, then the decoder can uniquely determine the original k data bits The decoder first computes the XOR of the indices of all 1 bits in the (possibly corrupted) string of length k + l that it receives If no errors occurred in transmission, the XOR is zero If a 0 flipped to a 1 in bit position i, the XOR is i If a 1 flipped to a 0 in bit position i, the XOR is i So what rule should the decoder use to determine the original k data bits?

Reed-Muller Code: Motivation So far we ve seen efficient codes for detecting a single error (parity check code) and for correcting a single error (Hamming code) What if we want to be able to detect or correct a large number of errors? We need to find a set of codewords such that the minimum Hamming distance between any two codewords is large For any nonnegative integer n, the Reed-Muller code defines 2 n codewords of length 2 n such that the Hamming distance between any two codewords is exactly 2 n 1 How many errors can be detected (as a function of n)? How many errors can be corrected (as a function of n)?

Reed-Muller Code: Hadamard Matrices The Reed-Muller code is based on Hadamard matrices We now inductively define a 2 n 2 n Hadamard matrix H n for each nonnegative integer n H 0 = [1] H n+1 is formed by putting a copy of H n into each quadrant, and complementing the copy placed in the lower-right quadrant For any nonnegative integer n, the 2 n codewords of length 2 n of the corresponding Reed-Muller code are simply the rows of H n It remains to argue that the Hamming distance between any two codewords is exactly 2 n 1

Reed-Muller Code: Proof of the Hamming Distance Property We prove the claim by induction on n 0 Base case: H 0 has only one row, so any claim regarding all pairs of rows holds vacuously Induction hypothesis: Assume that for some nonnegative integer n, the Hamming distance between any two rows of H n is 2 n 1 Induction step Consider rows i and j (numbering from 1, say) of H n+1, where i < j Verify that the Hamming distance between rows i and j is 2 n in each of the following cases: (1) j 2 n ; (2) i > 2 n ; (3) i 2 n and j = 2 n + i; (4) i 2 n and j 2 n and j 2 n + i