Page 257 - Anatomy of a Robot
P. 257

09_200256_CH09/Bergren   4/17/03  11:24 AM  Page 242
                             242 CHAPTER NINE
                             Multiple Error Detection
                             If the checksum has enough data in it (and the appropriate mathematical structure), then
                             it may be possible to detect more than one error in the data block. Note this means that
                             a weak checksum method (with little data in the checksum) may even fail to detect any
                             error if more than one error occurs in the data block.
                               Consider the nature of the communication channel used in the robot. If it is possible
                             for more than one error to occur at the same time, then try a checksum method capable
                             of at least detecting multiple errors. It is certainly possible for multiple errors to occur
                             at the same time in any communications channel. The key question a robot designer
                             should examine is the likelihood of such an occurrence. Examine the probability of
                             errors and the distribution of the errors. Assuming the error rates are small and that the
                             errors occur independently, it’s safe to assume the chance of two simultaneous errors in
                             a block is roughly the square of the chance of a single error in a block. The robot
                             designer should compute this dual error rate and determine if it will be an acceptable
                             error rate if such errors slip through.



                             Single Error Correction
                             If the checksum contains sufficient data to not only detect the existence of an error but
                             correct it as well, then the data can be corrected before the receiver moves on to the next
                             block of data. No retransmission from the transmitter will be required. It should be
                             noted that even error correction schemes will occasionally make mistakes. The strength
                             of the error-correcting code lies in the mathematics of the protocol. Some errors may
                             not even be detected, some errors may not be correctable, and some errors will be incor-
                             rectly corrected. When employing such methods, the robot designer must examine these
                             error rates and compare them to the allowable error rate.


                             Multiple Error Correction

                             Some checksums have sufficient information to correct simultaneous errors. All the
                             same precautions should be taken as outlined previously. Be aware that such strong
                             checksums often consume a good deal of bandwidth sending extra checksum data; the
                             checksums may contain many bytes.
                               Checksums are smaller blocks of data that summarize larger blocks of data. Often
                             checksums are called cyclic redundancy checks (CRC). The following web sites will
                             point out a small difference. Certainly, if a checksum contains more data than the block
                             it summarizes, then it is not of much use. The whole idea is to summarize the block of
                             transmitted data in a small number of bytes in an effort to be efficient. Often, a check-
   252   253   254   255   256   257   258   259   260   261   262