Re: Barcodes & error detection

"Brian Davis" <[email protected]>
Newsgroups gmane.comp.hardware.lego.robotics
Organization None
Message-ID <[email protected]>
In lugnet.robotics, Steve Baker <[email protected]> wrote:

> there is a sharp distinction between error
> DETECTION and error CORRECTION.

   Agreed, and, for this application, the bit overhead to allow on-board
correction is probably just not worth it. After all, if an error is detected,
the forklift can always back up and try to read the barcode again.

> It's also important to characterize the errors you are getting.

   Almost exclusively single bit errors of a specific 'polarity' (to borrow
Kevin's term; a '1' is read as a '0'). In detail, I set Gus to running around an
oval reading barcode representing the numbers from 0 to 11. In more than 1470
barcodes, there were 40 errors, 39 of which were single bit events where a 1 was
read as a 0 (that last error was a "bit doubling", where a single bit was read
twice due to "wiggle" in the motion of the forklift & a barcode that had shifted
to an angle *and* the light sensor was near the edge... yes, I've spent a fair
bit of time troubleshooting ;-).

> For single bit error detection, your parity scheme
> is pretty much the best you can do.

   So I feared. Error correcting codes amaze me, but everything I'd read or
studied tends to apply to long words, not the minimalist ones I'm trying to use.

[snip very interesting theoretical discussion]

> Sometimes, adding single bit error correction can
> actually worsen your overall error rate.

   Very interesting! I never thought of it that way. I was starting to think in
terms of number of errors in certain words relative to others ('1'-poor words,
in my current situation, are more robust), but I certainly didn't take that
thought as far as you have.

-- 
Brian Davis
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.