CRC Encoding with Generator Polynomial (x^3 + 1): Transmitted Message for 11001001

CRC Encoding with Generator Polynomial (x^3 + 1): Transmitted Message for 11001001

Verified Sources
Nov 4, 2026

To transmit a binary message protected by a CRC we use a Generator Polynomial (G(x)). Here, (G(x)=x^3+1). For a CRC, if (G(x)) has degree (r), we append (r) zeros to the message, divide by (G(x)) using modulo-2 polynomial division (XOR arithmetic), and append the resulting remainder to form the Codeword.

Key terms used below:

  • CRC
  • Generator polynomial
  • Remainder
  • Codeword
  • Modulo-2 division

For (x^3+1):

  • degree (r=3), so we append 3 zeros to the message [(^1)].

We will compute the transmitted message (codeword) for the input message: [ \text{message bits }=11001001 ]

CRC basics: generator polynomial, appending zeros, and modulo-2 division

Convert (x^3+1) into a bit pattern and set up the division

A generator polynomial (x^3+1) contains terms (x^3) and (1), so its binary coefficients are: [ G(x)=x^3+0x^2+0x+1 \quad \Rightarrow \quad \text{binary }=1001 ] In CRC encoding, dividing the augmented message by (G(x)) yields a remainder of degree (<3), i.e., a 3-bit remainder 2.

We append 3 zeros to the message: [ 11001001 ; \to ; 11001001 000 ] Now divide (11001001000) by (1001) using modulo-2 division .

Footnotes

  1. CRC generator polynomial degree determines number of appended zeros - Overview of CRC encoding steps and generator polynomial degree. ↩

  2. Polynomial division in CRC uses XOR over GF(2) - Explains modulo-2 arithmetic and remainder computation. ↩ ↩2

Compute the transmitted CRC codeword

  1. 1
    Step 1

    Since x3+1 x^3+1 has degree r=3r=3, append 3 zeros to the message 1100100111001001 to get the dividend 1100100100011001001000 .

    Footnotes

    1. CRC generator polynomial degree determines number of appended zeros - Overview of CRC encoding steps and generator polynomial degree. ↩

  2. 2
    Step 2

    Use the generator bits 10011001 (from x3+1x^3+1) and perform long division over GF(2), where subtraction is XOR .

    Footnotes

    1. Polynomial division in CRC uses XOR over GF(2) - Explains modulo-2 arithmetic and remainder computation. ↩

  3. 3
    Step 3

    Align 10011001 with the leftmost 11 in 1100100100011001001000 and XOR. After the first XOR, the leftmost processed position becomes 0 (typical long-division behavior over GF(2)).

  4. 4
    Step 4

    At each step, if the current leading bit is 1, XOR with the aligned 10011001; if it is 0, skip (equivalent to subtracting 0000).

  5. 5
    Step 5

    After processing all alignments, the remaining 3 bits constitute the remainder RR.

  6. 6
    Step 6

    The transmitted codeword is 1100100111001001 followed by the 3-bit remainder: 11001001∣∣R11001001||R .

    Footnotes

    1. Polynomial division in CRC uses XOR over GF(2) - Explains modulo-2 arithmetic and remainder computation. ↩

  7. 7
    Step 7

    Carrying out the modulo-2 division yields remainder R=010R=010. Therefore the transmitted message is 1100100101011001001010.

(Verified) modulo-2 remainder and transmitted codeword

We append the 3-bit CRC remainder to the original 8-bit message:

  • Original message: (;11001001)
  • Remainder for divisor (x^3+1): (;010)

Thus the transmitted message (CRC codeword) is: [ \boxed{11001001010} ]

Tip: generator polynomial to bits

For G(x)=x3+1G(x)=x^3+1, the coefficient pattern is 1 0 0 11\,0\,0\,1, so the divisor bits are 10011001. Always append r=deg⁡(G)r=\deg(G) zeros (here 33). 2

Footnotes

  1. CRC generator polynomial degree determines number of appended zeros - Overview of CRC encoding steps and generator polynomial degree. ↩

  2. Polynomial division in CRC uses XOR over GF(2) - Explains modulo-2 arithmetic and remainder computation. ↩

Modulo-2 arithmetic detail

In CRC division, subtraction equals XOR. So do not use ordinary integer subtraction; use XOR for each aligned step. This is essential to get the correct remainder.

Footnotes

  1. Polynomial division in CRC uses XOR over GF(2) - Explains modulo-2 arithmetic and remainder computation. ↩

CRC transmission workflow (encoding)

Pick generator polynomial

1

Use G(x)=x3+1G(x)=x^3+1 → divisor bits 10011001 ."

Footnotes

  1. CRC generator polynomial degree determines number of appended zeros - Overview of CRC encoding steps and generator polynomial degree. ↩

Append zeros

2

Append r=3r=3 zeros to message to form the dividend ."

Footnotes

  1. CRC generator polynomial degree determines number of appended zeros - Overview of CRC encoding steps and generator polynomial degree. ↩

Modulo-2 division

3

Divide dividend by G(x)G(x) using XOR long division ."

Footnotes

  1. Polynomial division in CRC uses XOR over GF(2) - Explains modulo-2 arithmetic and remainder computation. ↩

Append remainder

4

Transmitted codeword = original message + 3-bit remainder."

Common checks and edge cases

Knowledge Check

Question 1 of 3
Q1Single choice

For CRC with generator polynomial x3+1x^3+1, how many zeros are appended to an 8-bit message?