A method and a system for reading radio frequency identification (RFID)
tags are provided. The method includes the following steps. First,
receive a tag signal from the RFID tag. Recover a data clock rate from
the tag signal according to statistics of pulse lengths of the tag
signal. Next, determine a frame synchronization point of a data frame
following a preamble in the tag signal by a signal correlation between
the preamble and a predetermined signal pattern according to the data
clock rate. Finally, decode the data frame by using an adaptive Viterbi
algorithm on an extended trellis diagram. The extended trellis diagram
includes a plurality of nodes and a plurality of branches connecting the
nodes. The nodes and the branches are arranged according to the
modulation scheme of the data frame and possible variations of the data
clock rate.