It seems that the original algrithm is resilient enough to detect a 3x skew in + or -. This is more than what was observed when testing on a Droid is is most likely not the cause of our problems.