Error Detection and Correction: Parity Check Code; Bounds Based on Hamming Distance

Similar documents
Chapter 10 Error Detection and Correction 10.1

FREDRIK TUFVESSON ELECTRICAL AND INFORMATION TECHNOLOGY

Digital Communication Systems ECS 452

Detecting and Correcting Bit Errors. COS 463: Wireless Networks Lecture 8 Kyle Jamieson

The idea of similarity is through the Hamming

Error Protection: Detection and Correction

Hamming Codes as Error-Reducing Codes

Error Detection and Correction

Hamming Codes and Decoding Methods

Error-Correcting Codes

CSC344 Wireless and Mobile Computing. Department of Computer Science COMSATS Institute of Information Technology

Communications Theory and Engineering

Physical-Layer Services and Systems

Exercises to Chapter 2 solutions

Chapter 10 Error Detection and Correction

Lecture 3: Error Handling

The ternary alphabet is used by alternate mark inversion modulation; successive ones in data are represented by alternating ±1.

Digital Television Lecture 5

Error Correction with Hamming Codes

Lecture 4: Wireless Physical Layer: Channel Coding. Mythili Vutukuru CS 653 Spring 2014 Jan 16, Thursday

Lecture 6: Reliable Transmission"

Introduction to Coding Theory

Lab/Project Error Control Coding using LDPC Codes and HARQ

Error Control Coding. Aaron Gulliver Dept. of Electrical and Computer Engineering University of Victoria

Channel Coding/Decoding. Hamming Method

QUIZ : oversubscription

Summary of Basic Concepts

An Efficient Forward Error Correction Scheme for Wireless Sensor Network

code V(n,k) := words module

Layering and Controlling Errors

Computing and Communications 2. Information Theory -Channel Capacity

EE 435/535: Error Correcting Codes Project 1, Fall 2009: Extended Hamming Code. 1 Introduction. 2 Extended Hamming Code: Encoding. 1.

Performance of Reed-Solomon Codes in AWGN Channel

Intuitive Guide to Principles of Communications By Charan Langton Coding Concepts and Block Coding

Digital to Digital Encoding

The Capability of Error Correction for Burst-noise Channels Using Error Estimating Code

Data and Computer Communications

Lecture 3 Data Link Layer - Digital Data Communication Techniques

BSc (Hons) Computer Science with Network Security, BEng (Hons) Electronic Engineering. Cohorts: BCNS/17A/FT & BEE/16B/FT

Datacommunication I. Layers of the OSI-model. Lecture 3. signal encoding, error detection/correction

Outline. Communications Engineering 1

Introduction to Error Control Coding

Digital Data Communication Techniques

EE521 Analog and Digital Communications

STRATEGY AND COMPLEXITY OF THE GAME OF SQUARES

MATHEMATICS ON THE CHESSBOARD

An Optimal (d 1)-Fault-Tolerant All-to-All Broadcasting Scheme for d-dimensional Hypercubes

Time division multiplexing The block diagram for TDM is illustrated as shown in the figure

Single Error Correcting Codes (SECC) 6.02 Spring 2011 Lecture #9. Checking the parity. Using the Syndrome to Correct Errors

MATHEMATICS IN COMMUNICATIONS: INTRODUCTION TO CODING. A Public Lecture to the Uganda Mathematics Society

AN ABSTRACT OF THE THESIS OF

Synchronization of Hamming Codes

Department of Computer Science and Engineering. CSE 3213: Communication Networks (Fall 2015) Instructor: N. Vlajic Date: Dec 13, 2015

BSc (Hons) Computer Science with Network Security. Examinations for Semester 1

Computer Networks. Week 03 Founda(on Communica(on Concepts. College of Information Science and Engineering Ritsumeikan University

ECE Advanced Communication Theory, Spring 2007 Midterm Exam Monday, April 23rd, 6:00-9:00pm, ELAB 325

ECE 5325/6325: Wireless Communication Systems Lecture Notes, Spring 2013

Chapter 1 INTRODUCTION TO SOURCE CODING AND CHANNEL CODING. Whether a source is analog or digital, a digital communication

Computer Science 1001.py. Lecture 25 : Intro to Error Correction and Detection Codes

AHA Application Note. Primer: Reed-Solomon Error Correction Codes (ECC)

Basics of Error Correcting Codes

S Coding Methods (5 cr) P. Prerequisites. Literature (1) Contents

Advanced Computer Systems

Pulse Code Modulation

6.004 Computation Structures Spring 2009

Decoding Turbo Codes and LDPC Codes via Linear Programming

b. When transmitting a message through a transmission medium, the equipment which receives the message should first find out whether it has received

Nonlinear Multi-Error Correction Codes for Reliable MLC NAND Flash Memories Zhen Wang, Mark Karpovsky, Fellow, IEEE, and Ajay Joshi, Member, IEEE

BSc (Hons) Computer Science with Network Security BEng (Hons) Electronic Engineering

CSE 100: BST AVERAGE CASE AND HUFFMAN CODES

1 This work was partially supported by NSF Grant No. CCR , and by the URI International Engineering Program.

6. FUNDAMENTALS OF CHANNEL CODER

Wireless Communications

White Paper FEC In Optical Transmission. Giacomo Losio ProLabs Head of Technology

Error Control Codes. Tarmo Anttalainen

Punctured vs Rateless Codes for Hybrid ARQ

A Novel Approach for Error Detection Using Additive Redundancy Check

Cryptography. 2. decoding is extremely difficult (for protection against eavesdroppers);

Module 3 Greedy Strategy

Entropy, Coding and Data Compression

Final Exam (ECE 408/508 Digital Communications) (05/05/10, Wed, 6 8:30PM)

ECE 5325/6325: Wireless Communication Systems Lecture Notes, Spring 2013

Expansion/Analysis of a Card Trick Comprised of Transformations in 2-Dimensional Matrices Aaron Kazam Sherbany, Clarkstown North High School, NY

Error Correcting Code

Problem Sheet 1 Probability, random processes, and noise

Revision of Lecture Eleven

A Random Network Coding-based ARQ Scheme and Performance Analysis for Wireless Broadcast

Channel Coding and Cryptography

PROJECT 5: DESIGNING A VOICE MODEM. Instructor: Amir Asif

To Your Hearts Content

Spreading Codes and Characteristics. Error Correction Codes

Section 6.1 #16. Question: What is the probability that a five-card poker hand contains a flush, that is, five cards of the same suit?

Efficient Codes using Channel Polarization!

Residual Channel Coding in Low-Power WSNs Using Minimum Hamming Distance Decoder

Performance comparison of convolutional and block turbo codes

Outline. EECS 122, Lecture 6. Error Control Overview Where are Codes Used? Error Control Overview. Error Control Strategies ARQ versus FEC

Lecture 13 February 23

2.1. General Purpose Run Length Encoding Relative Encoding Tokanization or Pattern Substitution

ECE 476/ECE 501C/CS Wireless Communication Systems Winter Lecture 9: Error Control Coding

Solutions to Information Theory Exercise Problems 5 8

Transcription:

Error Detection and Correction: Parity Check Code; Bounds Based on Hamming Distance Greg Plaxton Theory in Programming Practice, Spring 2005 Department of Computer Science University of Texas at Austin

Error Detection: A Simple Example Suppose bits are occasionally flipped in transmission, e.g., the message 1110001 gets corrupted to 0110011 (two bit flips) By using a code with sufficient redundancy, we can hope to detect/correct such errors, assuming there aren t too many of them For example, suppose we just repeat each bit twice If the receiver gets xx, it assumes the bit is x If the receiver gets two different bits, it requests retransmission The above is an example of an error detecting code (that can detect one error) The code is not considered to be error correcting because retransmission is necessary

Error Correction: A Simple Example Suppose the sender codes each bit x as xxx Claim: The receiver can now correct a single error How? How many errors can be detected?

Parity Check Code Commonly used technique for detecting a single flip Define the parity of a bit string w as the parity (even or odd) of the number of 1 s in the binary representation of w Assume a fixed block size of k A block w is encoded as wa where the value of the parity bit a is chosen so that wa has even parity Example: If w = 10101, we send 101011 If there are an even number of flips in transmission, the receiver gets a bit string with even parity If there are an odd number of flips in transmission, the receiver gets a bit string with odd parity

Parity Check Code: Decoding If the receiver gets a bit string wa with even parity, it assumes that there were zero flips in transmission and outputs w Note that the receiver fails to decode properly if the (even) number of flips is nonzero If the receiver gets a bit string wa with odd parity, it knows that there were an odd (and hence nonzero) number of flips, so it requests retransmission The receiver never makes a mistake in this case Still, it is a bad case because no progress is being made Underlying assumption: Flips are rare, so we can tolerate the corruption of the extremely small fraction of blocks with a nonzero even number of flips

Parity Check Code: Analysis of a Simple Example Note that the bit-duplicating code (where bit a is transmitted as aa) we discussed earlier is a parity check code Suppose we are using this code in an environment where each bit transmitted is independently flipped with probability 10 6 Without the code, one bit in a million is corrupted We use one bit to encode each bit With the code, only about one bit in a trillion is corrupted The retransmission rate is negligible, so on average we use slightly over each bits to encode each bit

Two-Dimensional Parity Check Code Generalization of the simple parity check code just presented Assume each block of data to be encoded consists of mn bits View these bits as being arranged in an m n array (in row-major order, say) Compute m + n + 1 parity bits One for each row, one for each column, and one for the whole message Send mn + m + n + 1 bits (in some fixed order) How many errors can be detected?

Hamming-Distance-Based Bounds on Error Correction and Detection Assume we would like to encode each symbol in a given set by a distinct codeword, where all codewords have the same length k For a given k, and some desired level of error correction or detection, how large a set of symbols can we support? It is also interesting to consider variable-sized codewords, but we will restrict our attention to the simpler scenario of fixed-size codewords Theorem: Let S be a set of codewords and let h be the minimum Hamming distance between any two codewords in S. Then it is possible to detect any number of errors less than h and to correct any number of errors less than h/2

Error Detection Bound Let S be a set of codewords and let h be the minimum Hamming distance between any two codewords in S Why are we guaranteed to detect any number of errors less than h? Is there guaranteed to be a case in which we are unable to detect h errors?

Error Correction Bound Let S be a set of codewords and let h be the minimum Hamming distance between any two codewords in S Why are we guaranteed to be able to correct any number of errors less than h/2? Is there guaranteed to be a case in which we are unable to correct h/2 errors?