Fast and Reliable Fast and Reliable Estimation Schemes in Estimation Schemes in
RFID SystemsRFID SystemsMurali Kodialam and Thyaga Nandagopal
Bell Labs, Lucent Technologies
What is RFID?What is RFID?
RFID, Radio Frequency Identification, is not a new subject that is going to be proposed anymore.
It is an identification tag that stores the identity of something.
It is very simple and cheap to be largely produced. It has been used in various application ranging from
inventory control and tracking to medical-patient management.
What is RFID? (cont.)What is RFID? (cont.) Most of them are designed to have a very long life. It is because they are not designed to use any existing
energy sources for transmitting data. Instead, a probe signal sent by a reader node is used as
energy for data transmission. The probe itself can be performed via magnetic coupling
(called near-field) or electro-magnetic coupling (called far-field).
Nowadays, the probe has much larger range and is designed to read hundreds of tags at a time.
Classification of RFIDClassification of RFID
Passive tags Semi-passive tags Active tags
Common problem that ariseCommon problem that ariseSome applications need to estimate the number of tags as fast as possible for a givenaccuracy
Two major problems arise in anyRFIDdeployment Identification
Estimation
Existing protocols are not fast enough
Identification AlgorithmIdentification Algorithm The idea is described as following: the reader probes a set
of tags, and the tags reply back. Since it operates in the wireless medium, Collisions might
happen in the process of probing a set of tags. To hinder the collisions, anti-collision schemes needed to
be applied into the identification algorithms.
Identification AlgorithmIdentification Algorithm Probabilistic Deterministic
Probabilistic Identification Probabilistic Identification AlgorithmAlgorithm The reader communicates through a framed ALOHA
scheme length and the tags pick a particular slot in the frame to transmit.
This process is repeated by the reader until all tags have transmitted at least once successfully in a slot without collisions.
In semi-passive and active tag systems, the reader can acknowledge tags that have succeeded at the end of each frame, therefore it shorts the overall identification time.
In passive tags, all tags will continue to transmit in every frame, which lengthens the total time needed to identify all tags.
Deterministic Identification Deterministic Identification AlgorithmAlgorithm The reader identifies the set of tags that need to transmit
in a given slot, and tries to seduce the contending tag set in the next slot based on the result in the previous slot.
These algorithms fall into the class of tree-based identification algorithms, such as a binary tree.
On the binary tree, the tags are classified based on their id and the reader moving down the tree at each step to identify all nodes.
Deterministic algorithms are typically faster than probabilistic schemes in terms of actual tag response slots used, however, they suffer from large reader overhead since address ranges need to be specified to isolate contending tag subsets using a probe at the beginning of each slot.
Algorithm Requirements.Algorithm Requirements. An estimation of the actual number of tags t in the system
is required by both of the algorithms. The estimation is used:
◦ To set the optimal frame size in framed ALOHA.◦ To guide the tree-based identification process for computing
the expected number of slots needed for identification. The estimation process should also be able to use non-
identifiable information, such as a string of bits used by all tags, to compute the size of the tag set t.
System ModelSystem Model readers and tags Use a Listen-before-Talk model approach, where tags
listen to the reader’s request before they talk back.
System Model (cont.)System Model (cont.)Assumption on the model: There exist a separate estimation phase for identification
process. Framed-slotted ALOHA model is used for tags to transmit
back to the reader. The tags respond with a bit-string that contains some
error-detection (such as CRC) embedded in the string when probed by the reader in the estimation phase. The length of this common bit-string is defined as the minimum length string such that the reader can detect collisions when multiple tags transmit the same string in a given slot. The reader can thus detect collisions in the estimation phase and identify a successful transmission in any slot by only one tag.
There is no identification problem.
System Model (cont.)System Model (cont.) The estimator performance is measured in terms of the
number of slots needed to perform the estimation to the desired accuracy level.
The goal is to achieve the desired performance in as little time as possible.
In other words, if it takes le slots to compute ˆt, the estimate of t tags with a certain accuracy, and li slots to uniquely identify ˆt tags, then, we need se.le < li.si, where se and si are the sizes of the bit strings transmitted during the estimation and identification phases respectively.
System Model (cont.)System Model (cont.)
◦ Phillips I-Code system.◦ A frame size f (typically a power of 2) is sent by the
readers along with a seed value which is 16-bit number.◦ The seed information along with its identifier used by
the tag to hash into an integer in the range [1, f], which specifies the slot in which the frame will contend.
System Model (cont.)System Model (cont.) Model that is approached:
◦ Extend the scheme to support variable contention probability p.
◦ Therefore, the reader now sends three parameters in each probe: the seed the frame size f the integer [f/p]
◦ The tag hashes the combined seed/identifier value into the range [1, [f/p]].
◦ If the hashed value is greater than f, then the tag does not transmit in this frame, else it transmit in the computed slot.
◦ Therefore, a frame transmission probability of f/(f/p) = p.
Deterministic AlgorithmDeterministic Algorithm The reader probes the tags with the frame size f The tags pick a slot j in the frame uniformly at random and
transmit in that slot. The indicator random variable Xj is used to determine
whether tag transmit to and not transmit to in slot j. Xj = 1 if no tag transmit in slot j, referred as an empty
slot, and Xj = 0 otherwise. Similarly, we set Yj = 1 if and only if there is exactly one
tag that transmits in slot j, referred as a singleton slot, and Vj = 1 if and only if there are multiple tags that transmit in slot j, referred as a collision.
So that, Xj + Yj + Vj = 1 for all slots j.
Deterministic Algorithm (cont.)Deterministic Algorithm (cont.) Let N0 = ∑ Xj from j = 1 to j = f denote the total number of
empty slots. N1 = ∑ Yj from j = 1 to j = f denote the total number of
singleton slots. Nc = f − N0 − N1 denote the number of collision slots. P = t/f, t denotes numbers of tags and f denotes frame size.
Deterministic Algorithm (cont.)Deterministic Algorithm (cont.)
Deterministic Algorithm (cont.)Deterministic Algorithm (cont.)
Zero Estimator (ZE)ρ<1, many empty slots and few singleton and collision slots
Collision Estimator (CE)ρ>1, many collision slots and singleton
slots decrease
Singleton Estimator (SE) ρ=1
Deterministic Algorithm (cont.)Deterministic Algorithm (cont.)
Deterministic Algorithm (cont.)Deterministic Algorithm (cont.)
ρ<1 ZE gets more accurate results than CE CE performs better when ρ greater than a threshold
Deterministic Algorithm (cont.)Deterministic Algorithm (cont.)
Compute the desired variance σInitial frame size fEnergize the tags and get n0 and ncCompute (1) get fzif fz >fmax then set fz = fmax and ρ=t’/fmax and set
repetition numberLet fc = ρ=t’*1.15. if fc >fmax then set fc=fmax. and set
repetition numberSelect the littler one between fc and fz
Deterministic Algorithm (cont.)Deterministic Algorithm (cont.)
Large number of slots needed for the desired accuracyThe estimation time is faster than the identification time within an accuracy. 50 000 tags within an confidence interval of ±500 tags in 4 .5 seconds.
Probabilistic Algorithm (cont.)Probabilistic Algorithm (cont.)
Probabilistic Algorithm (cont.)Probabilistic Algorithm (cont.)
Probabilistic Algorithm (cont.)Probabilistic Algorithm (cont.)