Caraoke: An E-Toll Transponder Network for Smart Cities
Abari et al., ACM SIGCOMM ‘15
Motivation/Introduction
- Background: RFID is pervasive, everyone has an EZPass, e.g., transponder (mandatory in PA?)
- Deploy RFID readers on street lamps, intersections, everywhere in city (at some cost), as shown in Figure 3.
- Interact with e-toll (EZPass) transponders anywhere in an urban environment
- Enables some new use cases:
- Vehicle flow at traffic intersections
- Red light enforcement via localization
- Street parking management and billing
Transponder Background
- Reader (high powered multi-Watt radio + directional antenna) sends message to tags, tag replies
- But no MAC protocol so common practice is to place readers in non-overlapping locations (spatial reuse)
- Figure 2: Shows the reader transmitting the 915 MHz sinewave Query signal and the transponder’s Response data packet
- Simple radio so carrier frequency offset up to 1.2 MHz (that’s one part per thousand – typical Wi-Fi radio CFOs are 10-30 parts per million)
- Transponder response is On-Off Keyed (OOK): Each symbol period, transmit carrier for a one, or be silent for a zero.
- Receive picture – peaks at the CFO value Delta-f (on board)
Contribution/Key Idea
- Let tags collide when they are read simultaenously but view collision in the frequency domain – use carrier frequency offset (CFO) to separate the tags
Design
- LTE backhaul, solar-powered lamppost-mounted reader
§5: CFO-Based Sharing
- Need to look at the distribution of the transponder CFOs
Need to consider frequency resolution of the FFT
- Inversely proportional to FFT *time window T
- Tag response 512 us so frequency resolution = 1.95 KHz
- That’s 615 “bins” over a range of 1.2 MHz
- Eq. 7 gives prob of an accurate transponder count if we just count peaks in the frequency domain
Insight: Time shifting property of DFT – time shift in in the time domain transforms with a phase shift linear with frequency, in the frequency domain.
Receive two signals R(f) and R(f’), then looking at that with a time shift you get R(f)exp{j2pi*f*tau} + R(f')exp{j2pi*f'*tau}
- Paper claim: Then magnitude of that bin changes b/c the two frequencies rotate by different amounts and then sum…
Now a miscount happens when three transponders end up in same FFT bin
- Very unlikely (math in Eq. 9)
§6: Localizing Transponders
- Goal: Localize the transponders, to enable smart parking, red-light violations
- Calculate the AoA at a two-antenna reader via the same math as spatial signatures (Figure 5 and Eq. 10)
- Do this on a per-frequency basis to separate the AoA estimates for each tag (unnumbered equation on p. 302, lower right column)
- Issue: Sensitivity to small perturbations of Delta-phi at the ends of the two antenna array
- Fix: Use three antennas in a triangle, switch to the pair that doesn’t end-face the tag
- But need a story for either adding a radio OR switching and then re-querying to get more readings (only partially discussed in paper)
- Result (Figure 7): A cone locus, which intersects the road at a hyperbola
- Two readings from two readers results in two hyperbolas, intersect them for location fix.
§7: Measuring Speed
- Localize car at two different locations, NTP timesync, compute average speed
§8: Decoding IDs
- Spectrum is sinc-squared power versus frequency, not white noise
- Nice trick to separate closely-spaced replies in frequency:
- Estimate channel to one tag
- Receive another batch of collisions, estimate channel to the same tag and equalize
- Add the results: the one tag adds coherently, the others are random and average to zero
- Repeat with even more readings for better results (Figure 8)
§9: Coordinating Multiple Readers
- Preceding was interference between tag replies; now consider two readers initiating queries at the same time
- This is usually OK: sum of two sinuoids is a sinusoid
- Collision of query with tag reply:
- Listen for duration of query + reply (this is the slot time), then use CSMA/CA like Ethernet/ALOHA
§11: Evaluation
- Implemented in hardware, experimented on quiet urban environment streets
- EZPass transponders in real cars, on real street
Counting Accuracy
- Figure 11: Vary the number of transponders responding, accuracy maintains high
- Collect traces by measuring each transponder in isolation, using highly directional antenna
- Then sum up varying numbers of transponders (so know ground truth) to obtain another trace instance
Localization Accuracy
- Two readers, 175 localization instances
- Measure bearing estimation accuracy, not localization accuracy
- Accurate to within 4 degrees on average – low intensity multipath reflections outside, line-of-sight path from car to elevated reader.
- Measured the MUSIC AoA profile (Figure 14) to support this.