tags:

views:

25

answers:

1

I know the whole intention of using CRC is to do error detection, but I heard someone state that it can be used to do basic error correction in addition to error detection. I was curious if this was the case, and if so, how powerful is it? I mean, we usually refer to CRC as capable of performing x-bit detection, but I'm curious if it is capable of performing x-bit correction. If so, how does this work? Thanks.

A: 

You can't use a CRC to do error correction, only error detection. Something like Reed-Solomon is more suitable for error corrections. http://en.wikipedia.org/wiki/Reed%E2%80%93Solomon_error_correction

Well, actually, I found a source that says a CRC scheme that detects 2-bit errors can correct a 1-bit error. "Any error checking code that can always detect a two-bit error can always correct any one-bit error". The page is http://www.cs.nmsu.edu/~pfeiffer/classes/573/notes/ecc.html. I was curious if this can be extended, and exactly how much correction a CRC scheme can do.