22
Generator Polynomial, G(x) in CRC By: Gurpal Singh Roll No. 031

Generator Polynomial, G(x) in CRC

Embed Size (px)

Citation preview

Page 1: Generator Polynomial, G(x) in CRC

Generator Polynomial, G(x) in CRC

By: Gurpal Singh

Roll No. 031

Page 2: Generator Polynomial, G(x) in CRC

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

Page 3: Generator Polynomial, G(x) in CRC

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

Page 4: Generator Polynomial, G(x) in CRC

Diagram:

Page 5: Generator Polynomial, G(x) in CRC

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

Page 6: Generator Polynomial, G(x) in CRC

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

Page 7: Generator Polynomial, G(x) in CRC

Generator Polynomial, G(x)

Page 8: Generator Polynomial, G(x) in CRC

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.

Page 9: Generator Polynomial, G(x) in CRC

Two Questions?

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

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

Page 10: Generator Polynomial, G(x) in CRC

Answer 1

Page 11: Generator Polynomial, G(x) in CRC

For Single-Bit error

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

Page 12: Generator Polynomial, G(x) in CRC

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.

Page 13: Generator Polynomial, G(x) in CRC

Odd numbers of errors

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

Page 14: Generator Polynomial, G(x) in CRC

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

Page 15: Generator Polynomial, G(x) in CRC

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.

Page 16: Generator Polynomial, G(x) in CRC

Answer 2

Page 17: Generator Polynomial, G(x) in CRC

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.

Page 18: Generator Polynomial, G(x) in CRC

Factors:

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

Page 19: Generator Polynomial, G(x) in CRC

Generator Polynomial(CRC codes) with HD

Page 20: Generator Polynomial, G(x) in CRC

Common CRC codes

Page 21: Generator Polynomial, G(x) in CRC

Query…

Page 22: Generator Polynomial, G(x) in CRC

THANK

YOU