DPRG List  

DPRG: Error correction/detection

Subject: DPRG: Error correction/detection
From: Aaron and Hifumi aaron_hifumi at bigfoot.com
Date: Fri Jun 18 19:24:11 CDT 1999

MIKE MCCARTY -- 93789 wrote:

> You assume that errors occur only in the data portion of the packet.
> What happens when the bit in error is in one of the parity bits? This
> happens 1/5 of the time.

True, but when a bit error occurs in the parity bytes, the X and the Y bytes won't
agree on the location of the error, so we will know something went wrong somewhere,
and be able to resend either the two suspect data bytes (because the parity bytes
will point to two seperate data bytes that obviously aren't wrong at all, but we
don't know that), or simply resend the entire 10 bytes again, and thus will be able
to be correct the errors that occured.

> Also, with serial links, single bit errors are pretty rare. More normal
> are burst errors with several bits in a row in error.
> A 16 bit CRC would be *much* more robust in detecting burst errors.

Sure. It would be more robust, but my packets are very small... (64 bits) and I can
contain all the information that I need to send in those 64 bits easily, with room
to spare. Doesn't CRC-16 use much longer packets? And it involves quite a bit more
processing to check. My simple parity check is fast and quick, and uses not very
much code space, which is at a premium in the pc16C77 that I am using. In a more
contant serial communication link, such as a modem, etc.... I'm sure that the
crc-12,16 and v41 all work much better.

Also, I've found that I have a very low rate of errors anyhow. It's rare that I lose
1 bit in the 64 bits (well.. 80 altogether) as it is. In a noisier environment, I
might very well run into problems.



More information about the DPRG mailing list