error detection & correction by illuminati

Post on 18-Dec-2014

4.342 Views

Category:

Documents

4 Downloads

Preview:

Click to see full reader

DESCRIPTION

 

TRANSCRIPT

ERROR DETECTION &

CORRECTION

By: ILLUMINATI

Group Members

Anil Mohanty Mohammad Ali Dipesh Badlani Munaff Ahmad Khan

Page 2 of 22

Contents

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

Page 3 of 22

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

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

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

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

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

Generator Polynomial

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

Page 9 of 22

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

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

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

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

A CRC code with C(7, 4)

Page 14 of 22

15

CRC encoder and decoder

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

Division in CRC encoder

Page 17 of 22

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

 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

Division in the CRC decoder for two cases

Page 20 of 22

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

A polynomial to represent a binary word

Page 22 of 22

CRC division using polynomials

Page 23 of 22

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.

top related