CrossLayer Approach to Wireless Collisions Dina Katabi 802
Cross-Layer Approach to Wireless Collisions Dina Katabi
802. 11 devices are increasingly prevalent office Home City mesh distributed and bursty access Two devices access medium together Collision
Job of the MAC: Avoid Collisions! And when they happen? Be in denial!
In This Talk • Collisions are not harmful – We can decode colliding packets as efficiently as if they were sent separately • Collisions are beneficial – We can exploit strategic collisions to increase throughput Analog Network Coding
The Hidden Terminals Problem Collision! Alice Bob
The Hidden Terminals Problem Retransmissions Alice More Collisions! Bob Can’t get any useful traffic!
Can we take two collisions and produce the two packets? Pa Pb Yes, we can!
Zig. Zag Exploits 802. 11’s behavior • Retransmissions Same packets collide again • Senders use random jitters Collisions start with interference-free bits ∆1 Pa Pb ∆2 Interference-free Bits Pa Pb
How Does Zig. Zag Work? 1 1 ∆1 ∆2 ∆1 ≠∆2 Find a chunk that is interference-free in one collisions and has interference in the other Decode and subtract from the other collision
How Does Zig. Zag Work? 1 1 ∆1 ∆2 2 ∆1 ≠∆2 Find a chunk that is interference-free in one collisions and has interference in the other Decode and subtract from the other collision
How Does Zig. Zag Work? 1 3 ∆1 2 ∆2 2 ∆1 ≠∆2 Find a chunk that is interference-free in one collisions and has interference in the other Decode and subtract from the other collision
How Does Zig. Zag Work? 1 ∆1 3 3 ∆2 2 4 ∆1 ≠∆2 Find a chunk that is interference-free in one collisions and has interference in the other Decode and subtract from the other collision
How Does Zig. Zag Work? 1 ∆1 3 5 4 ∆2 2 4 ∆1 ≠∆2 Find a chunk that is interference-free in one collisions and has interference in the other Decode and subtract from the other collision
How Does Zig. Zag Work? 1 ∆1 3 5 5 ∆2 2 4 6 ∆1 ≠∆2 Find a chunk that is interference-free in one collisions and has interference in the other Decode and subtract from the other collision
How Does Zig. Zag Work? 1 ∆1 3 5 7 6 ∆2 2 4 6 ∆1 ≠∆2 Find a chunk that is interference-free in one collisions and has interference in the other Decode and subtract from the other collision
How Does Zig. Zag Work? 1 ∆1 3 5 7 7 ∆2 2 4 6 8 ∆1 ≠∆2 in 2 timeslots • Delivered 2 packets Find a chunk that is interference-free As if packets didn’t collide in one collisions and has interference in the other • Low-complexity linear decoder Decode and subtract from the other collision • No need for synchronization
AP received a collision signal Time ∆ How does the AP know it is a collision and where the second packet starts?
Detecting Collisions and the Value of ∆ AP received signal Correlate Time Packets start with known preamble AP correlates known Preamble preamble with signal ∆ Correlation • Detect collision and the value of ∆ • Works. Correlation despite interference because correlation Time with an independent signal is zero
How Does the AP Subtract the Signal? • Channel’s attenuation or phase may change between collisions Alice’ s signal in first collision Alice’ s signal in second collision • Can’t simply subtract a chunk across collisions
Subtracting a Chunk • Decode chunk into bits – Removes effects of channel during first collision • Re-modulate bits to get channel-free signal • Apply effect of channel during second collision – Use correlation to estimate channel despite interference • Now, can subtract!
What if AP Makes a Mistake?
What if AP Makes a Mistake? Bad News: Errors can propagate 1 3 ∆1 2 1 ∆2 2 Can we deal with these errors?
What if AP Makes a Mistake? Good News: Temporal Diversity A bit is unlikely to be affected by noise in both collisions ∆1 ∆2 Get two independent decodings
AP Decodes Backwards as well as Forwards 2 ∆1 3 1 2 ∆2 1 Errors propagate differently in the two decodings Which decoded value should the AP pick? For each bit, AP picks the decoding that has a higher PHY confidence [JB 07, WKSK 07]
Zig. Zag Generalizes
Zig. Zag Generalizes • Flipped order ∆2 1 ∆1 2 2 1
Zig. Zag Generalizes • Flipped order • Different packet sizes 1 1 ∆1 2 ∆2 2
Zig. Zag Generalizes • Flipped order • Different packet sizes • Multiple colliding packets 1 22 33 11 11 2 22 33 33
Zig. Zag Generalizes • • Flipped order Different packet sizes Multiple colliding packets Capture effect Pa 1 Pb Pa 2 Pb 3 packets in 2 timeslots better than no collisions
Performance
Implementation • USRP Hardware • GNURadio software • Carrier Freq: 2. 4 -2. 48 GHz • BPSK modulation
Testbed • 10% HT, 10% partial HT, 80% perfectly sense each other • Each run randomly picks an AP and two clients • Co-located 802. 11 a nodes that measure HTs. The USRPs use the same collision patterns as 802. 11 USRPs 802. 11 a
CDF of concurrent flow pairs Throughput Comparison 1 0, 9 0, 8 0, 7 0, 6 0, 5 0, 4 0, 3 0, 2 0, 1 0 0 0, 5 1 Throughput 1, 5 2
CDF of concurrent flow pairs Throughput Comparison 1 0, 9 0, 8 0, 7 0, 6 0, 5 0, 4 0, 3 0, 2 0, 1 0 Perfectly Sense Partial Hidden. Terminals 802. 11 0 0, 5 1 Throughput 1, 5 2
CDF of concurrent flow pairs Throughput Comparison 1 0, 9 0, 8 0, 7 0, 6 0, 5 0, 4 0, 3 0, 2 0, 1 0 Hidden Terminals get high throughput 0 0, 5 Zig. Zag 802. 11 1 Throughput 1, 5 2
CDF of concurrent flow pairs Throughput Comparison 1 0, 9 0, 8 0, 7 0, 6 0, 5 0, 4 0, 3 0, 2 0, 1 0 Zig. Zag Exploits Capture Effect Zig. Zag 802. 11 0 0, 5 1 1, 5 2 Throughput Zig. Zag improved average Throughput by 25%
CDF of concurrent flow pairs Throughput Comparison 1 0, 9 0, 8 0, 7 0, 6 0, 5 0, 4 0, 3 0, 2 0, 1 0 Hidden Terminals Zig. Zag 802. 11 0 0, 5 1 Throughput 1, 5 2 Improved hidden terminals loss rate from 72% to 0. 7%
Is Zig. Zag as efficient as if the colliding packets were sent in separate slots? • For every SNR, Check that Zig. Zag can match the BER of collision-free receptions
Is Zig. Zag as efficient as if packets were collision-free Receptions? Bit Error Rate (BER) 1 E-02 5 7 9 1 E-03 1 E-04 1 E-05 SNR in d. B 11
Is Zig. Zag as efficient as if packets were collision-free Receptions? Bit Error Rate (BER) 1 E-02 5 7 9 11 Collision-Free Receptions 1 E-03 1 E-04 1 E-05 SNR in d. B
Is Zig. Zag as efficient as if packets were collision-free Receptions? Bit Error Rate (BER) 1 E-02 5 7 9 Collision-Free Receptions 1 E-03 1 E-04 11 Zig. Zag-Decoded Collisions 1 E-05 SNR in d. Bas if the colliding Zig. Zag is as efficient packets were sent separately
Zig. Zag makes collisions harmless But can collisions be beneficial?
Current Wireless Alice Bob
Current Wireless Bob Alice Current approach requires 4 time slots Can we do better?
Naive Application of Zig. Zag Alice Collision! Bob
Naive Application of Zig. Zag Alice Decode Collisions Bob Naïvely applying Zig. Zag requires 4 time slots Decoding collisions at AP doesn’t reduce timeslots But the AP doesn’t need to decode!
What if the AP doesn’t decode? Alice Collision! 1) Alice and Bob transmit simultaneously Bob
What if the AP doesn’t decode? Alice Collision! Bob 1) Alice and Bob transmit simultaneously 2) AP amplifies and broadcasts the collision
What if the AP doesn’t decode? Bob Alice Bob’s pkt 1 fhj 1 Alice’s pkt 1 1 1) Alice and Bob transmit simultaneously 2 time slots instead of 4 2) AP amplifies and broadcasts the collision 3) Alice subtracts her packet from the collision Throughput Gain of 2 x
Extends Network Coding to Signals Traditional network coding: nodes forward linear combinations of received packets New approach: channel naturally creates linear combinations of signals Analog Network Coding (ANC)!
Theoretical Limits Theorem [Katti et al. ISIT’ 07]: Informal version: “For a symmetric two-way relay channel the rate achieved by analog network coding at high SNR is double the rate achieved by pure forwarding”
Performance Implemented in software radio Evaluated in a similar testbed Metric Gain = Throughput in ANC /Current Throughput
Throughput Gain for the Alice-Bob Scenario 1 CDF 0, 8 0, 6 0, 4 0, 2 0 1 1, 2 1, 4 1, 6 1, 8 2 Throughput gain Median Throughput Gain is 1. 7 x
Related Work • Network Coding and Physical-layer Network Coding – Our ANC decoder linear modulation-independent and works without synchronization • Joint Decoding & 2 -way relay – Requires senders synchronization hard in practice • Interference Cancellation – Requires exponential difference in power or code-rate
Conclusion • Cross-layer design changes how we perceive collisions • Collisions need not be harmful – Zig. Zag decodes collisions as efficiently as if the colliding packets were sent in separate time slots • Collisions can be beneficial – Analog network coding induces strategic collisions to increase throughput Softcast: cross-layer wireless video without CSI
- Slides: 55