A method and apparatus for accurately decoding a Manchester data stream having
transition time distortion and noise spikes. Briefly, in an embodiment using a
protocol where a falling edge at the mid-point of a bit represents a "1" bit and
a rising edge at the mid-point represents a "0" bit, the coded data can be accurately
determined by comparing the time period tp1 from the start of the bit
to the first falling edge and the time period tp2 from the last rising
edge to the end point of the bit. If tp1 is less than tp2,
the bit represents a bit value of "0" and if tp2 is less than tp1,
the bit represents a bit value of "1".