CRC stands for a Cyclic Redundancy Check, a method to verify the integrity of information, and detect errors in storage and communication.
Questions tagged [crc]
32 questions
6
votes
2 answers
Protecting data unequally using Error Correction Codes
Say I'd like to transmit a 100-bit packet which has a field containing a continuous value. I'd like to protect this value with an error correction code but an error in the MSB of this value is much more catastrophic than an error in the LSB, so how…
Gabizon
- 171
- 4
6
votes
1 answer
Check if a given polynomial is primitive
I try to estimate error detection capabilities of arbitrary CRC polynomials. One important criteria is if a given polynomial is primitive. So I need an algorithm to check that. My goal is to write a C or C++ routine.
Unfortunately I only found…
Silicomancer
- 202
- 2
- 9
6
votes
3 answers
Difference between CRC and Hamming Code
I am a bit confused on the difference between Cyclic Redundancy Check and Hamming Code. Both add a check value attached based on the some arithmetic operation of the bits in the message being transmitted. For Hamming, it can be either odd or even…
user40759
4
votes
1 answer
Can one quickly update CRC codes based on small change and previous CRC code?
I asked this on StackOverflow, but, alas, no answers.
I'd like to use CRC or similar codes to check whether certain very large objects are likely to be identical. The trouble is, small parts of these objects are sometimes modified, and it would be…
Michael
- 580
- 4
- 10
4
votes
1 answer
Correcting two-bit error using a CRC
What algorithm can be used to correct a two-bit error in a message protected by a 32-bit CRC, assuming the CRC polynomial allows that? I'm seeking something for 480-bit payload, able to detect uncorrectable errors, fast in the worst case, and…
fgrieu
- 519
- 3
- 14
4
votes
1 answer
Range of CRC-32
What is the range of “the” CRC-32, the one used by Unix, Ethernet, zip, and many other industrial standards?
Mathematically, a CRC is defined as follows: let $G$ be the CRC polynomial in $\mathbb{F}_2[X]$, and $M$ be a representation of the input…
Gilles 'SO- stop being evil'
- 44,159
- 8
- 120
- 184
4
votes
1 answer
Replacing 0x1021 polynomial with 0x8005 in this CRC-16 code
I found a highly optimized CRC-16 implementation originally intended for microcontrollers. It is noticeably faster than the traditional method, but is hard-coded to model the specific unreflected polynomial 0x1021, or x^12 + x^5 + x^0.
I was then…
bryc
- 205
- 3
- 10
3
votes
1 answer
What is the error-detection-probability of CRC
I have a table which stores all serial numbers of devices in my system:
|------------------------|--------------------------|
| # | Serial number (4 bytes) |
|------------------------|--------------------------|
| 1 …
ge45mue
- 131
- 2
3
votes
1 answer
Numerically validate CRC performance
Koopman, P., & Chakravarty, T. (2004, June). Cyclic redundancy code (CRC) polynomial selection for embedded networks. In Dependable Systems and Networks, 2004 International Conference on (pp. 145-154). IEEE.
In this paper authors compare…
student
- 133
- 3
3
votes
1 answer
Detecting errors changing an odd number of bits using CRC
I was studying CRC from lecture notes of Schwarzkopf but I am stuck at this statement:
If $G(x)$ is a factor of $E(x)$, then $G(1)$ would also have to be $1$.
What does this statement means? It is the third point in the third last block of the…
Brijesh joshi
- 305
- 2
- 8
2
votes
0 answers
How to derive an algorithms that generates check sums
Column S contains the check sums of the values given in columns R and Xc. Does anyone here have an idea about how to find the corresponding algorithm to calculate the check sums? Thanks in advance
R Xc S
647 72 218
441 47 618
…
Holzi
- 21
- 1
2
votes
1 answer
Polynomial generator required to detect single bit error in Cyclic Redundancy Check codes
I was reading about CRC coding from two books:
Data Communication and Networking by Forouzan Page 294
Computer Network by Tanenbaum Page 188
They use following notations:
$d(x)$: dataword to be sent (as a polynomial)
$c(x)$: codeword sent (as a…
Mahesha999
- 1,773
- 7
- 30
- 45
2
votes
0 answers
How do I compute a "CRC code word" from an information word and CRC polynomial?
I have the CRC polynomial 1101, and my information word is 10001111. How do I find the CRC code word?
Disclaimer: This is an assignment problem. I'd appreciate any help, particularly solving the problem for a different polynomial and word. Most of…
Dr. John A Zoidberg
- 263
- 1
- 5
2
votes
2 answers
Understanding a CRC32 Implementation
I'm currently trying to understand an implementation of CRC32 about which I have a question.
On this page at section 6, there is the following code:
public uint Compute_CRC32_Simple(byte[] bytes)
{
const uint polynomial = 0x04C11DB7; /* divisor…
Paul
- 121
- 2
2
votes
0 answers
Understanding CRC Computation with PCLMULQDQ
I am currently reading this paper which shows how to calculate CRC using the instruction PCLMULQDQ. I don't quite understand the equations in it yet.
Starting with this one for the definition of crc32:
CRC (M (x)) = xdeg(P(x)) • M(x) mod…
Paul Schaaf
- 21
- 2