Patent ID: 7093763

Claim:
A laser scanner for reading a bar code having a plurality of bar code elements, the laser scanner comprising: a) a laser generating a beam scanned over a target bar code; b) photodetector circuitry receiving light reflected from the target bar code and generating a time-varying analog signal representative of the target bar code; c) a digitizer coupled to the photodetector circuitry and receiving as an input the analog signal of the photodetector circuitry and generating: 1) a digital bar code pattern signal toggling between a first state and a second state, the digital bar code pattern signal being switched to the first state when a positive polarity edge of the analog signal is sensed having a magnitude exceeding a first threshold and switching to the second state when a negative polarity edge of the analog signal is sensed having a magnitude exceeding a second threshold; and 2) a short duration correction impulse generated when a second edge is sensed wherein the second edge has the same polarity as an immediately preceding first edge and further wherein a magnitude of the second edge is greater than a magnitude of the first edge, the impulse signal being imposed on the digital bar code pattern signal and having a state opposite of a present state of digital bar code pattern signal; and d) a decoder coupled to the digitizer, receiving the digital bar code pattern signal, determining widths of successive bar code elements of the target bar code, and decoding the target bar code, a width of a bar code element corresponding to a duration of an interval when the digital bar code pattern signal remains in a given one of the first and second states, except that when a short duration correction impulse is sensed on the digital bar code pattern signal, a state of an interval immediately prior to the impulse is interpreted by the decoder to be an opposite state of the state of the interval and a duration of the interval is added to a duration of an interval immediately preceding the interval.