CITS3002 Computer Networks  
prev
next CITS3002 help3002 CITS3002 schedule  

Polynomial Codes, continued

What types of errors can (and cannot) be detected with CRCs?

Let the error bits in Tarrived(x) be E(x). Each bit in E(x) corresponds to a bit that has been inverted.
If there are k 1 bits in E(x), then there have been k single-bit errors.

Then, due to the properties of the Modulo-2 arithmetic:

    (T(x) + E(x)) / G(x) = (T(x) / G(x)) + (E(x) / G(x))
                         =       0       + (E(x) / G(x))

We notice that if G(x) divides E(x) (because G(x) is a factor of E(x)), then errors can go by undetected.

Some important results:

  • If G(x) has two or more terms all single bit errors can be detected.
  • To detect double errors, G(x) must not be divisible by ( x k + 1) for k up to some maximum frame length.
  • To detect an odd number of errors, G(x) should contain (x+1) as a factor.
  • Polynomials of degree r will detect all burst errors of <= r bits.



CITS3002 Computer Networks, Lecture 2, The Physical Layer, Errors detection and correction, p16, 6th March 2024.