CRC Encoding with Generator Polynomial (x^3 + 1): Transmitted Message for 11001001
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
-
CRC generator polynomial degree determines number of appended zeros - Overview of CRC encoding steps and generator polynomial degree. ↩
-
Polynomial division in CRC uses XOR over GF(2) - Explains modulo-2 arithmetic and remainder computation. ↩ ↩2
Compute the transmitted CRC codeword
- 1Step 1
Since has degree , append 3 zeros to the message to get the dividend .
Footnotes
-
CRC generator polynomial degree determines number of appended zeros - Overview of CRC encoding steps and generator polynomial degree. ↩
-
- 2Step 2
Use the generator bits (from ) and perform long division over GF(2), where subtraction is XOR .
Footnotes
-
Polynomial division in CRC uses XOR over GF(2) - Explains modulo-2 arithmetic and remainder computation. ↩
-
- 3Step 3
Align with the leftmost in and XOR. After the first XOR, the leftmost processed position becomes 0 (typical long-division behavior over GF(2)).
- 4Step 4
At each step, if the current leading bit is 1, XOR with the aligned ; if it is 0, skip (equivalent to subtracting 0000).
- 5Step 5
After processing all alignments, the remaining 3 bits constitute the remainder .
- 6Step 6
The transmitted codeword is followed by the 3-bit remainder: .
Footnotes
-
Polynomial division in CRC uses XOR over GF(2) - Explains modulo-2 arithmetic and remainder computation. ↩
-
- 7Step 7
Carrying out the modulo-2 division yields remainder . Therefore the transmitted message is .
(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 , the coefficient pattern is , so the divisor bits are . Always append zeros (here ). 2
Footnotes
-
CRC generator polynomial degree determines number of appended zeros - Overview of CRC encoding steps and generator polynomial degree. ↩
-
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
-
Polynomial division in CRC uses XOR over GF(2) - Explains modulo-2 arithmetic and remainder computation. ↩
CRC transmission workflow (encoding)
Pick generator polynomial
1Footnotes
-
CRC generator polynomial degree determines number of appended zeros - Overview of CRC encoding steps and generator polynomial degree. ↩
Append zeros
2Append zeros to message to form the dividend ."
Footnotes
-
CRC generator polynomial degree determines number of appended zeros - Overview of CRC encoding steps and generator polynomial degree. ↩
Modulo-2 division
3Divide dividend by using XOR long division ."
Footnotes
-
Polynomial division in CRC uses XOR over GF(2) - Explains modulo-2 arithmetic and remainder computation. ↩
Append remainder
4Transmitted codeword = original message + 3-bit remainder."
Common checks and edge cases
Knowledge Check
For CRC with generator polynomial , how many zeros are appended to an 8-bit message?