error detection & correction by illuminati

24
ERROR DETECTION & CORRECTION By: ILLUMINATI

Upload: munaff-khan

Post on 18-Dec-2014

4.342 views

Category:

Documents


4 download

DESCRIPTION

 

TRANSCRIPT

Page 1: Error Detection & Correction By Illuminati

ERROR DETECTION &

CORRECTION

By: ILLUMINATI

Page 2: Error Detection & Correction By Illuminati

Group Members

Anil Mohanty Mohammad Ali Dipesh Badlani Munaff Ahmad Khan

Page 2 of 22

Page 3: Error Detection & Correction By Illuminati

Contents

1) Introduction2) Cyclic codes3) Cyclic redundancy check4) Hamming Distance5) Implementation6) Code7) Demo8) Acknowledgements

Page 3 of 22

Page 4: Error Detection & Correction By Illuminati

Introduction

The aim of an error detection technique is to enable the receiver of a message transmitted through noisy channel to determine whether the message has been corrupted.

To do this, the transmitter constructs a value called a checksum that is the function of message and appends it to message.

Page 4 of 22

Page 5: Error Detection & Correction By Illuminati

The receiver can then use the same function to calculate the checksum of the received message and compare it with the appended checksum to see if the message was correctly received.

Page 5 of 22

Page 6: Error Detection & Correction By Illuminati

Cyclic Codes

Cyclic codes are special linear block codes with one extra property. In a cyclic code, if a codeword is cyclically shifted (rotated), the result is another codeword.

Page 6 of 22

Page 7: Error Detection & Correction By Illuminati

Cyclic ReDUNDANCY CHECK (CRC)

A cyclic redundancy check (CRC) is a non-secure hash function designed to detect accidental changes to raw computer data, and is commonly used in digital networks and storage devices such as hard disk devices.

Page 7 of 22

Page 8: Error Detection & Correction By Illuminati

CRCs are so called because the check (data verification) code is a redundancy (it adds zero information) and the algorithm is based on cyclic codes.

The term CRC may refer to the check code or to the function that calculates it, which accepts data streams of any length as input but always outputs a fixed-length code

Page 8 of 22

Page 9: Error Detection & Correction By Illuminati

Generator Polynomial

The divisor in a cyclic code is normally called the generator polynomial or simply the generator.

Page 9 of 22

Page 10: Error Detection & Correction By Illuminati

pOLynomial generator characteristics

1. It should have at least two terms.2. The coefficient of the term x0 should be 1.3. It should not divide xt + 1, for t between 2 and n − 1.4. It should have the factor x + 1.

Page 10 of 22

Page 11: Error Detection & Correction By Illuminati

Commonly used CRC generator polynomials:

CRC C(x)

CRC-8 x^8+x^2+x^1+1

CRC-10 x^10+x^9+x^5+x^4+x^1+1

CRC-12 x^12+x^11+x^3+x^2+x^1+1

CRC-16 x ^16+x^15 +x ^2+1

CRC-CCIT X^16+x^12+x^5+1

CRC-32 X^32+x^26+x^23+x^22+x^16+x^12+x^11+x^10+x^8+x^7+x^5+x^4+x^2+x+1

Page 11 of 22

Page 12: Error Detection & Correction By Illuminati

Hamming Distance (HD):

Hamming Distance (HD):HD between two code-words := number of bit positions in which two code-words

differHD of complete code: HD := min { HD of any two code-words}

Page 12 of 22

Page 13: Error Detection & Correction By Illuminati

Required Hamming Distance for the two forms of error control:

To detect k errors, HD of complete code must be k+1.

To correct k errors, HD of complete code must be 2k+1.

In order to achieve the necessary Hamming Distance we usually have to add redundant bits

Page 13 of 22

Page 14: Error Detection & Correction By Illuminati

A CRC code with C(7, 4)

Page 14 of 22

Page 15: Error Detection & Correction By Illuminati

15

CRC encoder and decoder

Page 16: Error Detection & Correction By Illuminati

Encoding Procedure At Sender

Multiply i(x) by x(n-k) by putting zeros in n-k low order positions

Divide x(n-k)i(x) by g(x) to get r(x). x(n-k)i(x) = g(x) q(x) + r(x) where q(x) is quotient and

r(x) is remainder  

Page 16 of 22

Page 17: Error Detection & Correction By Illuminati

Division in CRC encoder

Page 17 of 22

Page 18: Error Detection & Correction By Illuminati

Add remainder r(x) to x(n-k)i(x) by putting check bits in n-k lower order positions

Based on randomness, the message can be transmitted with error or without error.

For transmission with error, introduce an error at random position to the message x(n-k)i(x) and display the position of the error.

Transmitted codeword is b(x) = x(n-k)i(x) + r(x)

Page 18 of 22

Page 19: Error Detection & Correction By Illuminati

 Decoding Procedure at the Receiver

The received message b(x) is divided by g(x) using

Euclidean division algorithm

If the remainder is 0 then there is no error in the

transmission else Error in the transmission.

Page 19 of 22

Page 20: Error Detection & Correction By Illuminati

Division in the CRC decoder for two cases

Page 20 of 22

Page 21: Error Detection & Correction By Illuminati

Using Polynomials We can use a polynomial to represent a

binary word. Each bit from right to left is mapped onto

a power term. The rightmost bit represents the “0”

power term. The bit next to it the “1” power term, etc.

If the bit is of value zero, the power term is deleted from the expression.

Page 21 of 22

Page 22: Error Detection & Correction By Illuminati

A polynomial to represent a binary word

Page 22 of 22

Page 23: Error Detection & Correction By Illuminati

CRC division using polynomials

Page 23 of 22

Page 24: Error Detection & Correction By Illuminati

24

Acknowledgments

Thank you to the faculty and all of you present here.

A special thanks to the GROUP CHAAR MUSAAFIR without whom this wouldn’t have been possible.