520 likes | 782 Views
Anti-tag collision algorithms of RFID. Chun-Fu Lin. Agenda Taxonomy of tag collision protocols Bi-slotted tree based anti-collision protocols Adaptive binary splitting I-code. Reader collision. Tag collision. Centralized Distributed. Probability-based
E N D
Anti-tag collision algorithms of RFID Chun-Fu Lin
Agenda • Taxonomy of tag collision protocols • Bi-slotted tree based anti-collision protocols • Adaptive binary splitting • I-code
Reader collision Tag collision Centralized Distributed Probability-based Deterministic-based (Prefix-based)
RFID research topics • Hardware • circuit, antenna design, etc. • Collision • Reader collision • Tag collision • Security & privacy • Application • CSI/CTPAT/WCO SAFE • Supply chain management, medical care, etc.
Taxonomy of tag anti-collision protocolsby Dong-Her Shih et. al., published in Computer Communications, 2006
SDMA (Space Division Multiple Access) • Reuse a certain resource, such as channel capacity in spatially separated area. • Reduce the reading range of readers and forms as an array in space. • Electronically controlled directional antenna • Various tags can be distinguished by their angular positions.
FDMA (Frequency Division Multiple Access) • Several transmission channels on various carrier frequencies are simultaneously available. • Tags respond on one of several frequencies.
CDMA (Code Division Multiple Access) • Too complicate and too computationally intense for RFID tags as well
TDMA (Time Division Multiple Access) • The largest group of RFID anti-collision protocols • Tag driven (tag talk first, TTF) • Tag transmits as it is ready • Aloha • SuperTag • Tags keep quiet and retransmit until reader acknowledges • Reader driven (reader talk first, RTF) • Polling, splitting, I-code, contactless
Polling • Reader must have the complete knowledge (database) of tags • Reader interrogates the RFID tags by polling ‘‘whose serial number starts with a 1 in the first position?’’ • Those tags meet this test reply “yes” while others remain • Slow, inflexible
Splitting method • Tree algorithm • Based on binary search tree algorithm • Each collided tag generates a random number by flipping an unbiased B-sided coin • B = 2, each collided tag would generate a number 0 or 1 • The reader always sends a feedback informing the tags whether 0 packet, 1 packet, or more than 1 packet is transmitted in the previous slot. • Each tag needs to keep track of its position in the binary tree according to the reader’s feedback
R set responds first L: set generates 1 R: set generates 0 S: single reply Z: zero reply C: collision
Query Tree • Prefix based • Tags match the prefix respond
I-Code • stochastic passive tag identification protocol based on the framed-slotted Aloha concept. • Each tag transmits its information in a slot that it chooses randomly based on the seed sent by the reader. • The reader can vary the frame size N, the actual size of a slot is chosen according to the amount of data requested
Approximation of N • The reader detects the number of slots by a triple of numbers c = (c0, c1, ck), where c0 stands for the number of slots in the read cycle in which 0 tags have transmitted, c1 denotes the number of slots in which a single tag transmitted and ck stands for the number of slots in which multiple tags are transmitted. • Lower bound method • Minimum Distance method: distance between read result c and the expected value vector of n
Various N values corresponding to specific ranges have been found from experiments and tabulated If n [17, 27], both 32 and 64 are appropriate choices for N
Contact-less • Is based on the tree splitting methodology to identify one bit of the ID in every arbitration step • The tag uses the modulation scheme which identifies “0” in the specified bit position with 00ZZ (Z stands for no modulation) and “1” as “ZZ00”. In this way, the reader can recognize the responses from all the tags and divide the unidentified tags into 2 groups.
1 1 Identified 1101
Related papers published in IEEE communications letters (I/F 1.196) from 2006 ~ now • MARCH 2006, Adaptive Binary Splitting for Efficient RFID Tag Anti-Collision, Jihoon Myung, Student Member, IEEE, Wonjun Lee, Senior Member, IEEE, and Jaideep Srivastava, Fellow, IEEE • APRIL 2006, Enhanced Binary Search with Cut-Through Operation for Anti-Collision in RFID Systems, Tsan-Pin Wang • DECEMBER 2006, Bi-Slotted Tree based Anti-Collision Protocols for Fast Tag Identification in RFID Systems, Ji Hwan Choi, Student Member, IEEE, Dongwook Lee, and Hyuckjae Lee, Member, IEEE • JANUARY 2007, Optimized Transmission Power Control of Interrogators for Collision Arbitration in UHF RFID Systems, Joongheon Kim, Member, IEEE, Wonjun Lee, Senior Member, IEEE, Eunkyo Kim, Dongshin Kim, Student Member, IEEE, and Kyoungwon Suh, Student Member, IEEE • JANUARY 2007, Query Tree-Based Reservation for Efficient RFID Tag Anti-Collision, Ji Hwan Choi, Student Member, IEEE, Dongwook Lee, and Hyuckjae Lee, Member, IEEE Tag collision Reader collision
Ji-Hwan Choi, Dongwook Lee, Hyuckjae Lee, “Bi-slotted tree based anti-collision protocols for fast tag identification in RFID systems,” IEEE communication letter, December 2006
BSQTA • Reader sends n-1 bits prefix. • Tag that match the prefix will • Send ID from n+1 bit to end bit if its n-th bit is 0. • Wait for LENGTH-n bit duration if its n-th bit is 1. • If reader detects any collision occurs, it pushes the prefixes (prefix+0, prefix+1) into stack and repeats the exploring process. • BSCTTA (variation from BSQTA, tags send their ID from n+1 bit to the time that ACK signal received)
P:101 Reader 0 1 0 Tag1 1010010 0 1 0 Tag2 1011010 Wait |N-prefix| bits
Simulation • One reader • Number of tags increases from 2 to 65536 • Tag IDs are randomly generated • ID length is not clear (believe to be 250) • Compared to QTA and CTTA
In another way of thinking • The tag collision problem can be referred to as a distributed systems problem : how to reach a consensus agreement (transmission slot) for every distributed node (tag) without interaction to each other? • The constraints will be • Tag is unable to detect collision • Tag has limited or no calculation capability • Tag has limited or no memory space • Tags can be moved in and out dynamically • Reader has no information of the number of tags • There could be not just one reader
Jihoon Myung, Wonjun Lee, Jaideep Srivastava, “Adaptive binary splitting for efficient RFID tag anti-collision,” IEEE communication letter, March 2006
Every tag maintains two local variables: Pc and Ac(i). • Pc, progressed-slot counter; number of tags recognized by the reader so far. • Ac(i), allocated-slot counter, time slot for tag i’s transmission. • Reader sends feedback (readable, idle, collision) to tags • According to reader’s feedback, each tag decides its transmission time of slot. • If feedback=readable, tag adds 1 to Pc. • If feedback=idle and Pc < Ac(i), tag decreases Ac(i) by 1 • If feedback=collision and Pc < Ac(i), tag generates a random number of 0 and 1 and adds to Ac(i).
Simulation results • Identification delay • Number of time slots required for all tags • Tag communication overhead • Average number of bits transmitted by a tag for identification • n: number of tags recognized in the last process • γ: number of staying tags (tsSr,i∩Sr,i-1) • α: number of arriving tags (taSr,i+1-Sr,i) • β: number of leaving tags (tlSr,i-Sr,i+1) • w: given, w=γ/n, α/n=β/n=1-w • Binary tree protocol and query tree protocol are compared Sr,i: the set of all the tags recognized by reader r in the ith Identification process
Stable for static tags w=0, No staying tags, arriving tags=leaving tags w=1, static tags, no arriving and leaving tags
Harald Vogt, “Efficient Object Identification with Passive RFID Tags,” Proceedings of the International Conference on Pervasive Computing, April 2002, pp.98-113.
I-Code • Reader is attached to the serial interface of a host (PC) • Communication and power transmission between the readers and tags takes places by inductive coupling • All tags within reading range will answer requests from the reader • An I-Code tag provides 64 bytes memory • It employs a variant of slotted Aloha for access to the shared communication medium
Tag reading cycle • I: what data is requested in memory • Rnd: random value {0, 31} for tag’s function sT of randomization • N: frame size {1, 4, 8, 16, 32, 64, 128, 256} • s: tag sends in slot s, 0≤s≤N • The result of a read cycle can be viewed as a triple of numbers <c0, c1, ck>
Mathematical Preliminaries • Occupancy • Given N slots and n tags, the number r of tags in one slot is • The expected value of the number of slots with occupancy number r is given by
μr: the number of slots being filled with exactly r tags • Remaining arrangement
Tags reading as a Markov process 0 1 2 3 n
The matrix Q is used to compute a lower bound of the number of reading steps necessary to identify all tags with a given probability.
How to estimate n? • Based on the results of read cycles c=<c0, c1, ck>, and the current value of N, the function that compute estimations of n is: • Error function: sums up the weighted errors over all possible outcomes of the read cycle
An problem to optimal value for the number of cycles • Small frame size high collisions • Large frame size high response time • Stochastic nature of reading process (frame slotted Aloha) can not guarantee 100% probability of identifying all tags • Compute the time to achieve a given assurance level α : values were obtained by performing read cycles for 1 min. and computing the average consumed time tN : cycle time, also depends on the connection speed between reader and host
TN is nearly linear in N • For a fixed frame size N, the time Tα required to achieve an assurance level αis • S satisfies • If the optimal frame size is known, e.g. if n can be estimated correctly, then the identification time that meet the threshold αincrease linearly with the number of tags Min number of read cycles Probability of identify k tags after s read cycles, K = 1, 2, …, n. Choose its nth component and Compare it to α
Two estimation functions • Lower bound a collision involves at least 2 different tags • Distance between read result c and the expected value vector of n
Lower-bound is accurate for small n but grows fast with larger n. e-dist is more steady