1. A method for detecting a data sequence from a sequence of symbols backscattered by an RFID tag, comprising: receiving the sequence of backscattered symbols at a receiving antenna, where each backscattered symbol has a random symbol duration, and a random phase resulting from random variations introduced by instability in the RFID backscatter process; using a receiver to: over sample the received symbols; estimate the symbol duration, phase, and data value of each backscattered symbol that are most likely to have occurred using the samples the estimation comprising: applying a set of matched filters to each sample, where each matched filter sums a different number of recent samples relative to the sample to which the matched filters are applied to obtain a set of matched filter outputs for each sample; and estimating symbol duration, phase, and data value for each backscattered symbol that are most likely to have occurred using the set of matched filter outputs for each sample; and determine a sequence of bits based upon the estimated data values of the backscattered symbols; and outputting the sequence of bits from the receiver as the detected data sequence; wherein estimating the symbol duration, phase, and the data value for each backscattered symbol comprises estimating the duration and phase of each symbol in the sequence of symbols to account for the random variations introduced by the instability in the RFID backscatter process.