written 7.9 years ago by | • modified 2.9 years ago |
Mumbai University > Information Technology > Sem 4 > CN
Marks: 5M
Year: May 2016
written 7.9 years ago by | • modified 2.9 years ago |
Mumbai University > Information Technology > Sem 4 > CN
Marks: 5M
Year: May 2016
written 7.9 years ago by | • modified 7.9 years ago |
Cyclic Redundancy Check
Polynomial codes are based upon treating bit strings as representations of polynomials with coefficients of 0 and 1 only. A k-bit frame is regarded as the coefficient list for a polynomial with k terms, ranging from xk−1 to x0xk−1 to x0.
For example, 110001 has 6 bits and thus represents a six-term polynomial with coefficients 1, 1, 0, 0, 0, and 1: 1x5+1x4+0x3+0x2+0x1+1x01x5+1x4+0x3+0x2+0x1+1x0.
To compute the CRC for some frame with m bits corresponding to the polynomial M(x), the frame must be longer than the generator polynomial. The idea is to append a CRC to the end of the frame in such a way that the polynomial represented by the checksummed frame is divisible by G(x).
When the receiver gets the checksummed frame, it tries dividing it by G(x). If there is a remainder, there has been a transmission error.
The algorithm for computing the CRC is as follows:
-Let r be the degree of G(x). Append r zero bits to the low-order end of the frame so it now contains m + r bits and corresponds to the polynomial xr M(x).
-Divide the bit string corresponding to G(x) into the bit string corresponding to xr M(x), using modulo 2 divisions.
-Subtract the remainder (which is always r or fewer bits) from the bit string corresponding to xr M(x) using modulo 2 subtraction. The result is the check summed frame to be transmitted. Call its polynomial T(x).
Figure below illustrates the calculation for a frame 1101011111 using the generator : G(x) = x4x4 + x + 1.
Checksum: