Politecnico di Milano Advanced Network Technologies Laboratory Radio Frequency Identification 1
RFID in Nutshell o To Enhance the concept of bar-codes for faster identification of assets (goods, people, animals) o Ingredients: n Transition to electronic bar codes with wireless communication capabilities n Transition form optical to wireless readers 2
RFID History o First Bar code patents 1930s o H. Stockman Paper (1948) Communication by means of reflected power o First RFID Patent - 1973 o Auto-ID center founded at MIT 1999 n Standardization effort taken over by EPC Global (Electronic Product Code) 3
RFID Building Blocks o Two Basic Devices: Reader Tag RF Module Memory Processing Unit Control Logic/Collision Arbitration Mechanism Battery or Power Supply Other Interfaces (Ethernet, WiFi) RF Module Battery Scavenging circuitry (active or passive) E2PROM to store ID Control Logic/Collision Arbitration Mechanism (sensors) (processing unit) 4
Types of Tags n Passive o Operational power scavenged o from reader radiated power n Semi-passive o Operational power provided by battery n Active o Operational power provided by battery - transmitter built into tag 5
The Tags o Tags can be attached to anything: n pallets or cases of product n vehicles n company assets or personnel n People or animals n Electronic appliances 6
Generic Tag Architecture Write Path Receiver Antenna D S G Memory Protocol Engine 7
Electronic Product Code Header - Tag version number EPC Manager - Manufacturer ID Object class - Manufacturer s product ID Serial Number - Unit ID With 96 bit code, 268 million companies can each categorize 16 million different products where each product category contains up to 687 billion individual units 8
TAG Implementation Challenges o Effective Energy Scavenging o Miniaturization/customization o Cost 9
Possible Reader Software Stack Network Interface Network management Custom Custom Application/ Protocol Reader Protocol Application RFID Reader API Library Platform API Libraries O/S High-Level Interfaces Low-Level Interfaces File Systems Network Protocols Hardware 10
Reader Implementation Challenges o Reader must deliver enough power from RF field to power the tag o Reader must discriminate backscatter modulation in presence of carrier at same frequency o High magnitude difference between transmitted and received signals o Integration with enterprise solutions 11
RFID Backend o Middleware solutions to: n manage high data volume produced by readers n filter the data produced by the readers (remove redundancy, eliminate unwanted data, etc.) n Store the data in a way that is meaningful for the specific application n Let different readers be interoperable 12
Usage Models Dock Door Conveyor Belt Forklift Printers Handheld Smart Shelves Point of Sale 13
RFID: Spectrum Snapshot LF HF VHF UHF SHF 123/134 khz 13.56 MHz 420/460 MHz 869/928 MHz 2.35/2.45 GHz 5.8/5.9 GHz 24.1 GHz 10 khz 100 khz 1 MHz 10 MHz 100 MHz 1 GHz 10 GHz 100 GHz Magnetic Coupling Electromagnetic Coupling 14
RFID: Physical Communication o Near Field Model (HF) Model (UHF) Far Field Inductive Coupling (125kHz - 13.56MHz): better at lower frequencies (<10MHz) for the required antenna dimensions Electromagnetic coupling 868MHz, 2.4GHz, 5GHz: better at higher frequencies for the required antenna dimensions 15
RFID HF o Inductive Coupling between two antennas (reader and tag) o Frequency Range 125kHz o 13,56 MHz o Reading range comparable to coil diameter Duplex (concurrent charging and transmission) or sequential (charging and transmission decoupled) operation mode 16
RFID UHF o o o o Electromagneticcoupling Transmission happens bymodulating the impedence (ASK, FSK o PSK) Tens of meter of read range Bipolar antennas (few centimeters) What about higher frequencies? 2.45, 5.8 GHz Mini Antennas but lower read range 17
Which Band to Choose? 18
Tag Details LF HF UHF Microwave Freq. Range 125-134KHz 13.56 MHz 866-915MHz 2.45-5.8 GHz Read Range 10 cm 1M 2-7 M 1M Coupling Magnetic Magnetic Electro magnetic Existing standards 11784/85, 14223 18000-3.1, 15693,14443 A, B, and C EPC C0, C1, C1G2, 18000-6 Electro magnetic 18000-4 Application Smart Card, Ticketing, animal tagging, Access, Laundry Small item management, supply chain, Anti-theft, library, transportation Transportation vehicle ID, Access/Security, large item management, supply chain Transportatio n vehicle ID (road toll), Access/Securi ty, large item management, supply chain 19
Politecnico di Milano Advanced Network Technologies Laboratory RFID Collision Arbitration 20
General Problem: Tag Identification tag reader Interrogation 21
Conflicts in the Responses tag reader Multiple Answers: Arbitration Required 22
Tag Arbitration Peculiarities o Similar to Classical Access Control but: n Fixed unknown population size n Tags cannot implement complex protocols o E.g., carrier sense is out n Often reader-driven algorithms 23
Collision Arbitration Mechanisms: A Classification o Vertical Classification n ALOHA-like access mechanism o Slotted ALOHA o Dynamic Frame ALOHA n Tree-based access mechanisms o Binary Tree o Horizontal Classification n Centralized/Distributed n Type of Channel Feedback (S,C,0) 24
Tag Arbitration Efficiency o The efficiency is commonly defined as the tag population size, N, over the length of the arbitration period L(N) Efficiency η = N L N 25
Slotted ALOHA Protocol (Abramson, 1969) o No channel feedback required, only the ACK o Time is slotted o Protocol: n The first packet in the transmission queue is transmitted in the first available slot n If the ACK does not come, the transmission is reattempted after a random number of slots X 26
Slotted ALOHA: retransmissions Random delays Collision t Node A Node B 27
Slotted ALOHA performances S in TX buffer G collisions channel S out G-S out o S in incoming traffic o S out outgoing traffic o G traffic on the channel: transmissions + retrasmissions o S out <=G 28
Slotted ALOHA performances S in TX buffer G collisioni canale S out G-S out o Assumptions: n Stationarity: S in =S out n Traffic G distributed according to Poisson process o Packet arrivals is a poisson point process with parameter λ o Transmissions last T o G=T x λ T 29
Slotted ALOHA performances o The probability P s for a packet transmission to be successful is the probability that no other packet arrives in the previous slot. t-t t t+t t P s = P[ N( t T, t) = 0] = e G o The throughput is: S = Ge G S 0.4 0.3 0.2 1/ e 0.3678 S-aloha S-aloha 0.1 0 G 0 2 4 6 30
The Frame ALOHA o Extension of the ALOHA protocol where nodes are allowed to transmit once every frame n Frame composed of r slots n Every tag chooses a slot in the frame n If transmission is failed, retry at next frame 31
Frame ALOHA: Single Frame o The average throughput is: o Thus, the efficiency is: η n 1 E[ S] 1 1 = = n 1 r r o Which is maximum for: r=n r E[ S] 0,6 0,5 0,4 n 1 1 = n 1 r η M ( n ) = 1 1 n n 1 eff max 0,3 0,2 0,1 0 0 2 4 6 8 10 12 14 16 18 20 n 32
Frame Aloha: Multiple frames o The FA efficiency depends on the initial tag population (N), the current backlog (n) and the frame size (r). o Current Frame size r is dynamically set to the current backlog n -> Dynamic Frame Aloha 33
Frame ALOHA: Multiple Frames Efficiency η = N L N The average tag resolution process can be recursively calculated as: L n = r + n 1 P( S = i= 0 i ) L n i which leads to: L n = r + n 1 i = 1 1 P( S = i )L P( S = 0 ) n i 34
o Find out the efficiency in case N=2, and r=2. Example 35 0.5 4 0) ( 1 1) ( 2 1) ( 0) ( 2 ) ( 2 2 1 2 2 1 0 2 = = = = + = = + = + = = + = = η S P S P L L S P L S P L i S P L i i
Problem o Initial population N and backlogs n are not known o Tag arbitration is actually composed of two modules: n Backlog Estimation Module: to provide and estimate of the backlog n est n Collision Resolution: run Frame Aloha with r= n est Tag Responses Backlog Estimate Reader Actions DF- Aloha 36
Schoute Estimate o Assume that any procedure is able to keep the frame size r equal to the current backlog n o Under this assumption, the number of terminals transmitting in a slot is approximated by a Poisson process with intensity 1 [terminal/slot] o The average number of terminals in a collided slot can be consequently calculated as: H=(1-e -1 )/(1-2e -1 )=2.39 o The backlog is estimated as: n est =round(hc), being c the number of collided slots. 37
The Binary-Tree o Random Numbers are used to partition the set of colliding tags 1 2 2 5 7 3 3 0 2 4 8 9 1 2 5 6 10 11 1 1 1 1 38
The Binary Tree Implementation o Tags have counters set to 1 o The reader broadcasts n Trigger command: sent at the beginining and after succesful/empty slots o tags decrease their counter and transmit if counter is 0 n Split commands: sent after collided slots o tags with counter equal to 0 randomly choose a new counter value in [0,1] o Tags with counter greater than 0 increase their counter 39
The Binary Tree T S S T S T T A: 1 1->0 0->0 0->1 1->0 0->1 1->0 Res B: 1 1->0 0->0 0->1 1->0 0->0 Res Res C: 1 1->0 0->1 1->2 2->1 1->2 2->1 1->0 Res 1 ABC 2 AB 7 C 3 4 0 AB 5 6 B A 40
Binary Tree: Optimizations o More refined feedbacks can be used to steer the splitting o Leverage tag population estimates to steer splitting o In some slots collisions are certain, use Split command other than Trigger one 2 AB 1 ABC 7 C 3 4 0 AB 5 6 B A Certain Collison 41
EPC Global Standard o Tags have a 96 bit ID and a short 16 bit RN o Arbitration procedure: n n n n n The Reader broadcasts a QueryAdjust notifying parameter Q Upon reception of QueryAdjust, tags draw a random number in [0, 2 Q-1 ]. Those drawing 0 respond with their short address (16 bit) If multiple tags reply, or no tags reply, the reader issues a QueryRep command which decreases the counter of unsilenced tags and silences for the frame the collided ones If one tag replies, the tag is resolved by a direct query to the short address (different commands are defined) and the tag is silenced The QueryAdjust command can be used before the end of the current frame (frame interruption) 42
The Q Algorithm o The reader can cancel the running frame at any time slot. o The decision is taken running a slot-by-slot dynamic algorithm to update parameter Q. o The frame is aborted and restarted if the result of operation in block differs from previous Q o Typical used values: initial Q fp =4, C=0.5 Block 1 43