rfid_obj
rfid_obj
rfid_obj
Harald Vogt
Abstract. Radio frequency identification systems with passive tags are power-
ful tools for object identification. However, if multiple tags are to be identified
simultaneously, messages from the tags can collide and cancel each other out.
Therefore, multiple read cycles have to be performed in order to achieve a high
recognition rate. For a typical stochastic anti-collision scheme, we show how to
determine the optimal number of read cycles to perform under a given assurance
level determining the acceptable rate of missed tags. This yields an efficient pro-
cedure for object identification. We also present results on the performance of an
implementation.
1 Introduction
1
http://www.autoidcenter.org/
2
http://www.inf.ethz.ch/vs/res/proj/rfidchef/
3
http://www.semiconductors.philips.com/markets/identification/products/icode/
4
http://www.ti.com/tiris/
and presents experimental results. The remaining sections deal with related work and
present a summary.
Fig. 1. Tags are randomly allocated to slots within a frame (above). This results in some slots
remaining empty, and others containing one or more tags (below). The latter case results in a
collision, and no data can be retrieved from these tags
The I-Code system employs a variant of slotted Aloha for access to the shared com-
munication medium, known as framed Aloha [11]. After the reader has sent its request
to the tags, it waits a certain amount of time for their answers. This time frame is divided
into a number of slots that can be occupied by tags and used for sending their answers.
When multiple tags use the same slot, a collision occurs and data gets lost (Fig. 1). The
reader can vary the frame size, e.g. for maximizing throughput; the actual size of a slot
is chosen according to the amount of data requested.
A tag reading cycle consists of two steps:
1. Reader : I, rnd, N
2. Reader: dataT,I for all tags
In the first step, the reader device broadcasts a request for data. I denotes what data
" #%$'&)(+*
is requested by specifying an interval of the available 64 bytes (0$21%of$3)tag $&06)$'5718$+(693)!
$4(45)memory; $67:75<;
is a random value whose use is explained below; ,-/.
is the frame size and denotes the number of available slots for responses.
#?> that are in the proximity of the antenna respond ( denotes
In the second step, tags
a tag sending in slot = , =A@B, ). A tag uses a tag-specific function =%C to com-
pute its response slot number, using the frame size and the random value as parameters;
the random value is supposed to avoid the same collisions occurring repeatedly. How-
ever, we found that this function is to some degree indeterministic. Generally, collision
patterns will differ even if the same parameters are provided.
For the purpose of analysis, we are not interested in the actual data returned $ $ by the
tags. We therefore view the result of a read cycle as a triple of numbers DFE)G E4H E+IKJ that
quantify the empty slots, slots filled with one tag, and slots with collisions, respectively.
We will not take into consideration the capture effect by which a tag’s data may be
able to be recognized by the antenna despite of a collision. The capture effect is quite
common if tags are placed close to each other. This means practically that data, which
would normally be lost due to the occurring collision, can be read, and thus the system
performance rises. However, it seems that whenever such a “weak” collision between
the same two tags occurs, one of them always “wins” and the data from the other one
is lost. Therefore, the influence of the capture effect is only minimal and seems not to
have great impact on the performance.
3 Mathematical Preliminaries
This section reviews some mathematical tools we will use in subsequent sections. The
number of slots in a time frame available for tag messages is called “frame size” and
will be denoted by , . The number of tags is usually denoted by .
where
ib{ nZ H T W ( \
$ hwvy|x2z W~( n e W W h Z n
q OFs etQuR s O Q Q9 Os Q b + (4)
nlo 8H } o %G U OFs
The rationale behind these formulas is the following. Imagine a matrix with rows
(one for each tag) and , columns (one for each ( slot). Each allocation of tags to slots#
corresponds to such a matrix where R if tag falls into slot , and R
otherwise; there are ,
such matrices.
The matrices we are interested in represent allocations where there are exactly e
slots with tags in each of them. These are the matrices for which the W following con-
dition holds. For e columns, R holds, and for the remaining , e columns,
. There are h ik ways of arranging these e columns. Each of the e columns
R_
f
defines a group of indistinguishable rows. The first group can be arranged in k ways,
f
the second group must be drawn from the remaining columns, W etc. <Z hi
The remaining columns and rows can be arranged in O , e Q ways, but we
have to be careful not to count the arrangements that include allocations of exactly tags
into a slot, i.e. containing columns for which RV . Function q computes the number
of arrangements we are looking for. It determines the correct value by the principle
of inclusion-exclusion. The faculty accounts for the arrangements of the columns for
which RY . From this, the formulas (3) and (4) follow.
4 Identification Performance
For applications like a supermarket checkout or the RFID Chef scenario described in the
introduction, where the number of tags is not known in advance, it is not clear how many
read cycles have to be performed until the tags are identified with sufficient accuracy.
If too many cycles are performed, the delay will be high, inducing cost and worsening
the user’s experience. On the other hand, some tags might be missed if too few cycles
Table 1. Execution time for read unselected. Figures shown are for a 57600 baud connection over
RS-232 ´
slots 1 4 8 16 32 64 128 256
µ·¶ (ms) 56 71 90 128 207 364 676 1304
¸
µ¶`¹pµ·¶uº» 4.96
–
2.19
1.3
2.26
1.3
3.80
1.4
4.79
1.6
4.82
1.8
5.05
1.9
4.36
1.9
are performed. Therefore, an “optimal” value for the number of cycles should be used,
minimizing the required time while maintaining high accuracy. This value, however,
varies with the frame size , and the actual number of tags .
If the frame size is small but the number of tags is large, many collisions will occur
and the fraction of identified tags will degrade. Therefore, one might choose to use large
frames, but then, response time is always high, even if there are only few tags in range.
The choice of large frames also poses a problem in highly dynamic applications where
tags leave the range of the reader quickly after entering it: tags that enter the field after
the initial request has been sent by the reader will not send an answer.
In this section, we show how to compute the parameters (frame size, number of read
cycles) for optimal tag identification w.r.t. to the time required to identify all tags under
a given assurance level. The assurance level is given as a probability of identifying all
present tags.
Due to the stochastic nature of the reading process, we cannot expect to identify all
tags with complete certainty, but we can reach for higher assurance if we are willing to
perform more read cycles and wait for their completion. We define the assurance level
as the probability ¼ of identifying all tags in the field. The desired level of assurance
\ ½½ on the requirements of our application. We will give figures mainly for ¼yR
#
depends
, which allows for one or more tags missing in less than 1 % of all runs. Note that,
the number of tags missed, if any, will be typically very small, thus leading to a high
overall recognition rate.
In order to compute the time required to achieve a given assurance level, we need
to take into consideration the time requirements for single read cycles. Table 1 shows
the cycle time for all possible settings of , in the considered RFID system. The
values were obtained by performing read cycles for one minute and computing the
average consumed time. The variation of is rather low, as the low standard deviation
¾ shows. Note that is nearly linear in , as we would expect. Note also that
depends on the connection speed between the reader device and the host.
For a fixed frame size , , the time À¿ required to achieve an assurance level ¼ is
given by $
¿ R_= GXÁ (9)
where = G is the minimum number of read cycles required to identify all tags in the
field with probability ¼ . = G is therefore the minimum value of = for which the following
10000
.95
.99
8000
6000
time (ms)
4000
2000
0
0 10 20 30 40 50 60 70 80
´
number of tags
Fig. 2. Time requirement Â[Ã (for optimal ) for ÄÅÇÆÈ ÉËÊ and ÄÌÅwÆ7È ÉËÉ
\
condition holds: # " ¨ * Í
¦ O Q ¼ (10)
\+\4\ O # Q contains the probabilities of iden-
Note that #%$+($ ¦
the resulting vector of the product $
tifying tags after = read cycles, R . We choose its th component and
compare it to ¼ .
\ ½ under
We can now compute the optimal frame size , for a given number of# tags :
a# \ desired
½½ assurance level. We have performed this computation for ¼ R and ¼R
. Figure 2 shows the resulting time requirements for optimal choices of , for up to
80 tags. What can be seen is that, the time required increases linearly with the number
of tags, and it takes approximately 3 seconds to identify a full set of 30 tags with high
probability—if the optimal frame size is known, e.g. if can be estimated correctly.
cycles
16
10
8
4
5
2
1 0
0 20 40 60 80 100 120 140 160
number of tags
weighted error
6
0
0 10 20 30 40 50 60 70 80
number of tags
Fig. 4. Error of parameter estimation. The weighted error is the variance of the tag number esti-
mate. á7âäã (“lower-bound”) is quite accurate for small å but grows fast with larger å , while á+æ'ç
(“e-dist”) is more steady
probability). An example is the checkout counter where a shopping bag is put and stays
there until the terminal has identified all items. The other scenario is rather dynamic,
with tags entering and leaving the field continuously.
In the dynamic case, tag reading proceeds without terminating, and the currently
identified tag set is reported continuously. Estimating the number of tags and adapting
the frame size is nevertheless necessary in order to maximize the identification rate.
However, we will concentrate on the static case where the process of tag reading must
come to a halt eventually.
The variable stepN holds the counter for the cycles performed with the (currently
estimated) optimal setting for frame size N. When this counter reaches its maximum
value, the procedure terminates. The counter is reset to zero whenever a new estimate
of N is made. Since a new estimate is only accepted if it excels the old one, N will
eventually reach its maximum and the counter stepN will not be reset anymore. The
variable n est is more volatile than N, but bounded by ª ÏÐ actual number of tags in
the
the field (assuming we employ the estimation function that always yields a lower
bound of ). Thus, termination is guaranteed.
We have implemented the tag reading scheme presented here and executed the proce-
dure identifyStatic for tag sets of up to 60 tags. The tags were arranged around
the antenna of the reader device in a way that we hoped would optimize field coverage.
During the test, the tags were not moved. For each tag set, we carried out 100 runs of
the identification procedure (without changing the arrangement in between).
The aspired accuracy level of 0.99 (meaning that, out of 100 runs only one run
should miss any tags) could not be reached in all tests—the worst level being with
a set of 34 tags, where only 92 of the 100 runs yielded the full tag set (see Fig. 7).
Not surprisingly, accuracy suffers with increasing tag numbers, due to the fact that it
becomes increasingly difficult to arrange a larger number of tags around the antenna
while maintaining good coverage. As was mentioned above, we expect the accuracy to
drop at around 30 tags due to the increasing error of our estimation function. This would
explain the drop that can be actually observed in Figure 7. Another source of inaccuracy
are objects located around the testbed (walls, chairs, etc.), which could have a negative
influence on the tests. However, the procedure consumed only little time more than
1
identifyStatic
0.98
accuracy
0.96
0.94
0.92
0.9
0 10 20 30 40 50 60 70 80
number of tags
Fig. 7. Accuracy of tag identification in practice. The graph shows the percentage of runs that
yielded the full tag set. Not shown is the overall recognition rate (percentage of identified tags
over 100 runs), which never dropped below 0.99
would be required if the number of tags were known in advance (see Fig. 8). There are
peaks in the zones where the error of the estimate becomes large, which causes good
estimates often to be made only after some time has already been spent on a suboptimal
frame size. Then, the frame size is adapted, and all cycles are re-performed.
Another figure describing the accuracy of our procedure is the fraction of tags rec-
ognized over a large number of runs. In our tests, this figure (not shown graphically)
never dropped below 0.99. This means practically that although we might miss some
tags in a small number of runs, these misses add up to only a small percentage in the
long perspective.
One has to bear in mind that these figures are very sensitive to environmental condi-
tions and the relative positions of the tags to the antenna. We performed our tests in an
office environment where we could carefully arrange the tags and were able to some-
what optimize the conditions under which the tests took place. We expect the accuracy
that can be reached under real-world conditions to be much lower.
6 Related Work
Apart from mundane applications like inventory and cattle tracking, or improving prod-
uct management, tagging is often used for attaching information to real objects and for
building a bridge between them and their virtual counterparts [2, 15]. Such approaches
are based on the assumption that it is often more appropriate to integrate the world of
information into our physical environment instead of moving human beings into virtual
worlds. This can help to facilitate access to information by means of familiar objects
acting as interfaces.
Aloha is a classical communication protocol that is described and analysed in many
introductory textbooks. Framed Aloha was introduced in [11, 12]. The underlying model
in that work differs from ours in the assumption that nodes are able to detect if a message
could be sent successfully and will only re-send it if this was not the case. A procedure
for frame size adaptation is given that depends on the outcome of a read cycle and tries
to maximize throughput. Frame sizes are, however, not constrained to powers of two.
The performance of framed Aloha systems is extensively studied in [16]. The analysis
10000
8000
6000
time (ms)
4000
2000
identifyStatic
optimal (.99)
0
0 10 20 30 40 50 60 70 80
number of tags
Fig. 8. Actual run time for tag identification. Within the transition areas from one frame size to the
next (just below 30 and 60 tags), run time significantly increases. This is due to good estimates
arriving late, causing the full number of read cycles to be performed again with a new frame size
takes also into consideration the capture effect, by which a message is received despite
of a collision.
Similar to framed Aloha is slotted Aloha with subchannels (S/V-Aloha), which is
introduced by and studied with regard to “stability” in [13]. (The system is defined to
be stable if the number of blocked users does not exceed a certain point beyond which
throughput decreases.) This work uses a combinatorical system model similar to ours.
Some systems employ deterministic anti-collision schemes, e.g. tree-based proto-
cols [3, 7]. Trees are constructed “on the fly” as collisions occur. Each branch corre-
sponds to a partition of the tag set, leafs represent singled-out tags that are identified
without a collision. The approaches differ in how the branch of a tag is determined. In
[7], ID prefixes determine the partitioning, while Íy6 in [3], random coin flipping is used.
The latter work also considers trees with arity . Both papers investigate how much
effort is required for full, reliable tag identification. In contrast to stochastic schemes
such as examined in our work, deterministic ones allow for a recognition rate of 100%,
but note that this rate is only achievable under optimal conditions; if tags are allowed to
enter or leave while the protocol is in progress, accuracy may suffer.
7 Conclusions
We have demonstrated how to efficiently identify a set of RFID tags if the number of
tags is not known in advance. We have shown how to determine the parameters for tag
reading in order to achieve optimal running time under a given assurance level. The
practical implementation we did does not achieve that level, which could be attributed
to environmental influences on the experiments. There is also room for improvement of
the frame size adaptation in order to eliminate runtime peaks. It remains challenging,
however, to find a procedure that would take environmental effects into account in order
to adapt to them. We hope that the work done so far helps implementing pervasive
computing environments that employ RFID systems.
References
1. Klaus Finkenzeller. RFID–Handbuch. Hanser Fachbuch, 1999. Also available in English
as RFID Handbook: Radio-Frequency Identification Fundamentals and Applications, John
Wiley & Sons, 2000.
2. L. E. Holmquist, J. Redström, and P. Ljungstrand. Token-Based Access to Digital Informa-
tion. In Hans-W. Gellersen, editor, Handheld and Ubiquitous Computing, volume 1707 of
LNCS, pages 234–245. Springer-Verlag, 1999.
3. Don R. Hush and Cliff Wood. Analysis of Tree Algorithms for RFID Arbitration. In IEEE
International Symposium on Information Theory, pages 107–. IEEE, 1998.
4. Normal Lloyd Johnson and Samuel Kotz. Urn Models and Their Applications. Wiley, 1977.
5. Valentin F. Kolchin, Boris A. Svast’yanov, and Valdimir P. Christyakov. Random Allocations.
V. H. Winston & Sons, 1978.
6. Marc Langheinrich, Friedemann Mattern, Kay Römer, and Harald Vogt. First Steps Towards
an Event-Based Infrastructure for Smart Things. Ubiquitous Computing Workshop (PACT
2000), October 2000.
7. Ching Law, Kayi Lee, and Kai-Yeung Siu. Efficient Memoryless Protocol for Tag Identifica-
tion. In Proceedings of the 4th International Workshop on Discrete Algorithms and Methods
for Mobile Computing and Communications, pages 75–84. ACM, August 2000.
8. Rajeev Motwani and Prabhakar Raghavan. Randomized Algorithms. Cambridge University
Press, 1995.
9. Fred S. Roberts. Applied Combinatorics. Prentice-Hall, 1984.
10. Kay Römer. Smart Playing Cards – A Ubiquitous Computing Game. Workshop on Designing
Ubiquitous Computing Games, Ubicomp, 2001.
11. Frits C. Schoute. Control of ALOHA Signalling in a Mobile Radio Trunking System. In
International Conference on Radio Spectrum Conservation Techniques, pages 38–42. IEE,
1980.
12. Frits C. Schoute. Dynamic Frame Length ALOHA. IEEE Transactions on Communications,
COM-31(4):565–568, April 1983.
13. Wojciech Szpankowski. Packet Switching in Multiple Radio Channels: Analysis and Sta-
bility of a Random Access System. Computer Networks: The International Journal of Dis-
tributed Informatique, 7(1):17–26, February 1983.
14. K. Takaragi, M. Usami, R. Imura, R. Itsuki, and T. Satoh. An Ultra Small Individual Recog-
nition Security Chip. IEEE Micro, 21(6):43–49, 2001.
15. Roy Want, Kenneth P. Fishkin, Anuj Gujar, and Beverly L. Harrison. Bridging Physical and
Virtual Worlds with Electronic Tags. In Proceeding of the CHI 99 Conference on Human
Factors in Computing Systems: the CHI is the Limit, pages 370–377. ACM Press, 1999.
16. Jeffrey E. Wieselthier, Anthony Ephremides, and Larry A. Michaels. An Exact Analysis and
Performance Evaluation of Framed ALOHA with Capture. IEEE Transactions on Commu-
nications, COM-37, 2:125–137, 1989.