0
votes

I am trying to understand (and implement functions for) polynomial division.

My first step was to understand and compare the results of two online tools. The first is a formal GF(2) polynomial calculator. The second is a CRC polynomial calculator. I expected the remainder of the formal calculator being equal to the checksum of CRC calculator.

So I entered the following data to the formal calculator:

A = 0100000101000001 (should be same as "AA" ASCII data)
B = 11111

And I entered the following to the CRC calculator:

CRC order = 4
CRC polynom = F
Data sequence = AA
Initial = 0, Direct, no reverse input, no reverse output

I used width 4 and polynomial F (instead of 5 and 1F) since the CRC calculator expects polynomials in standard notation that omit the leading 1-bit.

The CRC calulcator says checksum is 2 while formal calculator says binary remainder is 100 = 4.

Why don't I get same results?

1

1 Answers

1
votes

You need to add four zero bits to the dividend, i.e. 01000001010000010000. Then you will get the same result.

See Ross William's CRC tutorial for how CRCs are calculated.