CRC Check: Generating 3-Bit Burst Error

  • Thread starter needhelp83
  • Start date
  • Tags
    Error
Approaching 15 years ago, I think it's safe to assume that the questioner is no longer waiting for an answer. I only hope that the original questioner has since been able to find an answer.In summary, we can calculate the CRC code R for a given message using a generator polynomial and represent the message in binary code. To show the checking procedure, we can generate a 3-bit burst error and find the remainder when the modified message is divided by the generator polynomial. If the remainder is non-zero, it indicates that the error has been detected.
  • #1
needhelp83
199
0
Consider a message D, presented by the following polynomial
x19 +x17 + x16 +x13 +x12 + x11 + x9 + x5 + x2 + 1
Calculate the CRC code R for that message using a “generator-polynomial”
x7 + x5 + x4 + x3 + x2 + 1.
Represent in binary code the message to be sent (D and R).
Generate 3-bit burst error and show the checking procedure (10 points)

*******************************************************************
D = 10110011101000100101
G = 10111101

Divide using XOR

Added 7 0's to D

101100111010001001010000000/10111101

Transmitted message = 10001100101010110101
R= 111001

Now I need to generate a 3-bit burst error and I assume that could be anywhere. How do I show the check procedure?
 
Physics news on Phys.org
  • #2
The OP has made a serious error when answering the first part of the question. In view of this and the age (14+ years at time of writing) of the question, I hope the following fairly detailed answer is appropriate.

Data (D) is 10110011101000100101
Generator (G) is 10111101 (8 bits)
Append (8-1=) 7 bits to D to give D’:
D’ = 101100111010001001010000000

Binary-divide (XOR) D’ by G:
101100111010001001010000000 / 10111101
to find remainder, R

Using the calculator here:
https://rndtool.info/CRC-step-by-step-calculator/
Quotient Q = 10001100101010110101
Remainder R=0111001. (This is the frame check sequence (FCS))

Note the quotient from the division is not used. The OP has incorrectly constructed the message to be sent (M) by appending R to Q - which is wrong.

The correct message is constructed by appending R to D, giving:
M = 101100111010001001010111001
______________________

We now create an arbitrary 3-bit burst error. The first and last of the 3-bits must be incorrect. It doesn’t matter if the middle bit is correct or not.

We can put the burst anywhere in M as the question only wants a demonstration of the method.

Make life as easy as possible - choose the 3 most significant bits. (This enables us to have the 3 leftmost bits all zeroes, reducing the number of divisions needed). The erroneous message (M’) is then
M’ = 000100111010001001010111001

To show the checking procedure, we must find the remainder when we binary-divide (XOR) M’ by G:
000100111010001001010111001 / 10111101

We simply need to show that the remainder is non-zero; this demonstrates that we have detected the 3-bit burst error.

Edit - minor only.
 
  • Like
Likes pbuk and Delta2

1. What is a CRC check and why is it important?

A CRC (Cyclic Redundancy Check) is an error-detecting code used to ensure the integrity of data transmission over a network or storage media. It calculates a checksum value based on the data being transmitted and compares it to the received data to detect any errors. This is important because it helps ensure that the data being transmitted is accurate and has not been corrupted during the transmission process.

2. How is a 3-bit burst error generated and how does it affect data transmission?

A 3-bit burst error is a type of error where three consecutive bits are flipped or corrupted during data transmission. It can be generated by various factors such as electromagnetic interference, faulty hardware, or weak signal strength. This type of error can significantly affect data transmission as it can cause the receiver to misinterpret the data and lead to incorrect results.

3. How does a CRC check detect and correct 3-bit burst errors?

A CRC check uses a mathematical algorithm to calculate a checksum value from the data being transmitted. The receiver also calculates its own checksum value and compares it to the received value. If there is a difference, it indicates that an error has occurred during transmission. By comparing the two checksum values, the receiver can determine which bits were affected by the error and correct them accordingly.

4. Is a CRC check a reliable method for error detection and correction?

Yes, a CRC check is considered to be a highly reliable method for error detection and correction. It is commonly used in various communication protocols and storage systems to ensure data integrity. However, it is important to note that a CRC check can only detect and correct a certain number of errors. If the number of errors exceeds the capabilities of the algorithm, it may not be able to correct them.

5. Can a CRC check be used for data encryption?

No, a CRC check is not a form of data encryption. It is simply a method for detecting and correcting errors in data transmission. It does not provide any form of security or protect the data from being accessed or modified by unauthorized parties.

Similar threads

  • MATLAB, Maple, Mathematica, LaTeX
Replies
1
Views
3K
Back
Top