Top Banner
ERROR CONTROL CODING TECHNIQUES CYCLIC REDUNDANCY CHECK DONE BY: ENG. SALEH ALRKIYAN | HTTPS:// WWW.LINKEDIN.COM/IN/SALRKIYAN INFORMATION THEORY & CODING
10

Cyclic redundancy check

Apr 15, 2017

Download

Education

Saleh Alrkiyan
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Cyclic redundancy check

ERROR CONTROL CODING TECHNIQUESCYCLIC REDUNDANCY CHECKDONE BY: ENG. SALEH ALRKIYAN | HTTPS://WWW.LINKEDIN.COM/IN/SALRKIYAN

INFORMATION THEORY & CODING

Page 2: Cyclic redundancy check

CYCLIC REDUNDANCY CODES

Cyclic Redundancy Codes (CRCs) provide a first line of defense against data corruption in many networks. Unfortunately, many commonly used CRC polynomials provide significantly less error detection capability than they might. An exhaustive exploration reveals that most previously published CRC polynomials are either inferior to alternatives or are only good choices for particular message lengths.

Page 3: Cyclic redundancy check

CYCLIC REDUNDANCY CODES

The cyclic redundancy check, or CRC, is a technique for detecting errors in digital data, but not for making corrections when errors are detected.

It is used primarily in data transmission. In the CRC method, a certain number of check bits, often called a checksum, are appended to the message being transmitted.

The receiver can determine whether or not the check bits agree with the data, to ascertain with a certain degree of probability whether or not an error occurred in transmission. If an error occurred, the receiver sends a “negative acknowledgement” (NAK) back to the sender, requesting that the message be retransmitted.

The technique is also sometimes applied to data storage devices, such as a disk drive.

Page 4: Cyclic redundancy check

DATA STORING

Data are stored in bytes, which consist of 8 bits each. Thus any set of data can be considered as sequence of bytes or bits. In computer communication usually the bits are considered to be independent and a bit sequence is limited by the size of data blocks (or frames, packets, datagrams etc.). Thus we consider the problem to check whether a finite sequence of bits is changed unintentionally, e.g. by transmission errors or faulty memories.

Cyclic redundancy check performs a special operation that can be interpreted as polynomial division. The residual of this division is used as redundancy information and we will explore in this paper which types of errors can be detected by this method.

Page 5: Cyclic redundancy check

EXPLAINED STEP BY STEP

First of all, we should know the major rule of CRC which is: The Power of each term shows the position of the bit, and the coefficient shows the value of the bit.

Page 6: Cyclic redundancy check

AT THE SENDER

Step #1: At sender side, a string of n 0s is appended to the data unit to be transmitted where n is less than the number of bits in the CRC generator.

Step #2: The newly formed data unit is divided by the divisor using binary division and reminder is obtained this reminder is called CRC, and when we divide we use XOR Gate.

Step #3: String on n 0s appended to the data unit earlier is replaced by the CRC reminder –which us also n bit.

Step #4: (Data unit + CRC) is transmitted to the receiver.

XORA B Y0 00 11 01 1

0110

Page 7: Cyclic redundancy check

EXAMPLE: SUPPOSE, CRC GENERATOR = , AND SUPPOSE DATA UNIT TO BE TRANSMITTED = 1101011011, FIND THE MESSAGE TO BE TRANSMITTED.

Codeword after appending the 4 zeroes = 11010110110000, Reminder ‘CRC’= 1110.

After replacing, Codeword = 11010110111110.

Now, the message will transmit to the receiver.

Page 8: Cyclic redundancy check

AT THE RECEIVER

Step #1: The receiver on receiving the codeword, divides (Data unit + CRC) by the same division and checks the reminder.

Step #2: The receiver checks if the reminder is zero. If Yes, Receiver assume that there is no error in data and and therefore

accept it. If No, There is an error in data and therefore reject it.

XORA B Y0 00 11 01 1

0110

Page 9: Cyclic redundancy check

EXAMPLE: SUPPOSE, CRC GENERATOR =10011, AND SUPPOSE DATA UNIT RECEIVED = 11010110111110, FIND THE RECEIVED MESSAGE AND CHECKS ERROR.

Now, the receiver accepts the message.

Page 10: Cyclic redundancy check