In EPCglobal Gen2, a tag uses CRC-16 to check
the integrity of PC and EPC, backscattered from the
tag to a reader. And, as we examined before, all of
the CRC-16s are uniquely different for every
sequential 16 bits. It means that the probability of
any CRC-16 is 1/2
16
and it has uniformly random
characteristics as in RN16. Thus, we can know that
probability of a single CRC-16 is bounded by 0.8/2
16
< P[CRC-16=j] < 1.25/2
16
, where j is a CRC-16
number, like that of a single RN16. It also meets the
second characteristic of RN16, because the number
of tags that all 16 bits of CRC-16 are the same is
found by multiplying 10,000 by the probability of a
single CRC-16 and it is less than 0.1% of 10,000
tags. When a reader identifies tags, the tags might be
randomly selected and the probability of predicting a
CRC-16 might be 1/2
16
. And the probability that a
CRC-16 is predictable is not greater than 0.025%.
3.2 Proposed Identification Mechanism
using CRC-16
Figure 3 shows a simple proposed mechanism using
CRC-16 instead of RN16. In the proposed scheme,
slot counters of tags are also determined and
decremented by Query, QueryRep or QueryAdjust
commands. When the value of the slot counter of a
tag is 0, the tag backscatters the CRC-16 to the
reader. Note that the CRC-16 is generated from the
PC+EPC. After the tag backscatters its CRC-16, if
the reader receives CRC-16 of the tag correctly
without collision, the reader requests PC and EPC
information of the tag by transmitting an ACK
command to the tag. The reader receiving PC and
EPC conducts the CRC check with the already
backscattered and received CRC-16. In the case that
a collision of CRC-16 occurs or an invalid ACK
command is transmitted to the tag, the tag does not
reply to the reader. And, if there is no reply during
the predetermined time, the reader tries to read the
tag with the next smallest slot counter.
4 PERFORMANCE
EVALUATION
We evaluate the performance of the mechanism
using proposed CRC-16 and the existing mechanism
with RN16. We set the length of tag ID and the
commands of a reader as follows (see Table 1).
In the EPCglobal Gen2 standard, the Q selection
algorithm that tags choose Q values from Query
command is used for tag anti-collision. The Q
selection algorithm based on Framed Slotted
ALOHA (FSA) adjusts the number of timeslots in
the next round as the number of collision and idle
timeslots and tags select different random counter
values again from the reader reissuing Query or
QueryAdjust command. However, the Q selection
algorithm is not specified in the standard (G.
Khandelwal, K. Lee, A. Yener, and S. Serbetli,
2007). So we apply Dynamic Framed Slotted
ALOHA (DFSA) instead of the Q selection
algorithm to solve the problem of tag collision. And
we assume that the reader can knows the number of
tags accurately.
Table 1: The length of the tag ID and the reader
commands.
Command No. of bits Command No. of bits
RN16 16 bits Select 44 bits
PC 16 bits QueryAdj 9 bits
EPC 64 bits QueryRep 4 bits
Query 22 bits ACK 18 bits
NAK 8 bits RN16 16 bits
Figure 4 depicts that CRC-16 is uniformly
random. When an arbitrary CRC-16 is given, the x
axis denotes the simulation number, and y axis
represents how many repetitions are needed until the
CRC-16 of PC and EPC of a randomly selected tag
and the given CRC-16 becomes the same. If CRC-16
is uniformly random, the same CRC-16 might be
repeated every 2
16
=65536 on average. The
difference between
the expected mean, 65536, and
the simulation mean, 65869, is very close within
about 0.5%. Thus, we can verify the uniformly
random characteristics of CRC-16.
Figure 4: The uniformly random characteristics of CRC-
16.
Figure 5 shows the number of used bits per one
tag identification with the varying number of tags
under no channel error. When the number of tags is
WINSYS 2008 - International Conference on Wireless Information Networks and Systems
64