generator polynomial, g(x) in crc

Post on 02-Dec-2014

80 Views

Category:

Documents

5 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Generator Polynomial, G(x) in CRC

By: Gurpal Singh

Roll No. 031

Overview: Cyclic Redundancy Check(CRC) codes

– Invented by W. Wesley Peterson, and published in 1961

– A type of linear block codes

a group of error control bits (which is the remainder of a

polynomial division of a message polynomial by a generator

polynomial) is appended to the end of the message block

– with considerable burst-error detection capability

– The receiver generally has the ability to send

retransmission requests back to the data source through a feedback

channel

–it does not make corrections

–easy to implement in hardware

Notations

m = Number of binary digits in the message before encoding

c = Number of check bits

n = m+c = number of binary digits in the encoded message

Diagram:

Principles of Error Detection and Error Correction • An encoded message containing errors can

be represented by

H (X) = F (X) + E (X)

H (X) = Received encoded message polynomial

F (X) = encoded message polynomial

E (X) = error polynomial

Principles of Error Detection and Error Correction Contd…

• To detect error, divide the received, possible erroneous message H(X) by G(X) and test the remainder.

• If the remainder is nonzero an error has been detected.

• If the remainder is zero, either no error or an undetectable error has occurred

Generator Polynomial, G(x)

General Characteristics of G(x)

For r-bit checksum, G should be of degree r, because otherwise first bit of checksum will always be zero and waste the bit of checksum.The last coefficient should be 1, because otherwise the last bit of checksum would always be zero.

Two Questions?

1. How to design GENERATOR POLYNOMIAL G(x)?

2. How to choose GENERATOR POLYNOMIAL G(x)?

Answer 1

For Single-Bit error

If generator has more than one term and coefficient of x0 is 1, all single errors can caught.

Two isolated single-bit errors

If a generator cannot divide xt+1 (t between 2 and n-1 ), then all isolated double errors can be detected.

Odd numbers of errors

A generator that contains a factor of x+1 can detect all odd numbered errors.

Burst Errors

All burst errors with L <= r will be detected.All burst errors with L = r+1 will be detected with probability 1- (1/2)r-1.All burst errors with L > r+1 will be detected with probability 1- (1/2)r

Characteristics of good G(x)

1. It should have at least two terms.2. The coefficient of term x0 should

be 1.3. It should not divide xt+1, for t

between 2 and n-1.4. It should have the factor x+1.

Answer 2

Hamming distance

-is the minimum possible number of bit inversions that must be injected into a message to create an error that is undetectable by that message's CRC-based Frame Check Sequence.

e.g. if a CRC polynomial has HD=6 for a given network, that means there are no possible combinations of 1-, 2-, 3-, 4-, nor 5-bit errors (where a bit error is an inversion of a bit value) that can result in an undetected error, but there is at least one combination of 6 bits that, when corrupted as a set within a message, is undetectable by that CRC.

Factors:

Code length n(and number of r-bits can be used).Largest value of hamming distance minimum.Lowest undetected error probability.

Generator Polynomial(CRC codes) with HD

Common CRC codes

Query…

THANK

YOU

top related