Error Detection & Correction By Illuminati
-
Upload
munaff-khan -
Category
Documents
-
view
4.354 -
download
4
description
Transcript of Error Detection & Correction By Illuminati
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.