cross-layer approach to wireless collisions dina katabi
TRANSCRIPT
Cross-Layer Approach to Wireless Collisions
Dina Katabi
802.11 devices are increasingly prevalent
distributed and bursty access
Home
office
City mesh
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
More Collisions!Retransmissions
Can’t get any useful traffic!
Alice Bob
Can we take two collisions and produce the two packets?
Pa
Pb
Pa
Pb
Yes, we can!
Yes, we can!
ZigZagExploits 802.11’s behavior• Retransmissions
Same packets collide again• Senders use random jitters
Collisions start with interference-free bits
∆1 ∆2Pa
Pb
Pa
Pb
Interference-free Bits
How Does ZigZag Work?
∆1 ∆2
Find a chunk that is interference-free in one collisions and has interference in the other
11
∆1 ≠∆2
Decode and subtract from the other collision
11
∆2
11
22
11
∆1
How Does ZigZag Work?
Find a chunk that is interference-free in one collisions and has interference in the other
∆1 ≠∆2
Decode and subtract from the other collision
∆211
2222∆1
How Does ZigZag Work?
33
Find a chunk that is interference-free in one collisions and has interference in the other
∆1 ≠∆2
Decode and subtract from the other collision
∆211
22 44∆1
How Does ZigZag Work?
33 33
Find a chunk that is interference-free in one collisions and has interference in the other
∆1 ≠∆2
Decode and subtract from the other collision
∆211
22 4444∆1
How Does ZigZag Work?
33 55
Find a chunk that is interference-free in one collisions and has interference in the other
∆1 ≠∆2
Decode and subtract from the other collision
∆211
66∆1
How Does ZigZag Work?
33 55 55
22 44
Find a chunk that is interference-free in one collisions and has interference in the other
∆1 ≠∆2
Decode and subtract from the other collision
∆211
6666∆1
How Does ZigZag Work?
22 44
33 55 77
Find a chunk that is interference-free in one collisions and has interference in the other
∆1 ≠∆2
Decode and subtract from the other collision
∆2
11
66 88∆1
How Does ZigZag Work?
22 44
33 55 7777
Find a chunk that is interference-free in one collisions and has interference in the other
∆1 ≠∆2
Decode and subtract from the other collision
• Delivered 2 packets in 2 timeslotsAs if packets didn’t collide
• Low-complexity linear decoder• No need for synchronization
How does the AP know it is a collision and where the second packet starts?
Time
AP received a collision signal
∆
Detecting Collisions and the Value of ∆
Time
AP received signal
Packets start with known preamble
AP correlates known preamble with signal
Correlation
Time
Correlate
∆
How Does the AP Subtract the Signal?
• Channel’s attenuation or phase may change between collisions
• Can’t simply subtract a chunk across collisions
Alice’ s signal in first collision
Alice’ s signal in second collision
Subtracting a Chunk
What if AP Makes a Mistake?
∆1 ∆211 11
2222
Bad News: Errors can propagate
33
Can we deal with these errors?
What if AP Makes a Mistake?
∆1 ∆2
What if AP Makes a Mistake?
Good News: Temporal DiversityA bit is unlikely to be affected by noise in both
collisions
Get two independent decodings
Errors propagate differently in the two decodings
For each bit, AP picks the decoding that has a higher PHY confidence [JB07, WKSK07]
Which decoded value should the AP pick?
∆1 ∆2
11 11
2222
33
AP Decodes Backwards as well as Forwards
ZigZag Generalizes
ZigZag Generalizes
∆1
∆211
22
11
22
• Flipped order
• Flipped order• Different packet sizes
ZigZag Generalizes
∆1 ∆2
11
22
11
22
ZigZag Generalizes
1
2
3
1
2
3
1
2
3
• Flipped order• Different packet sizes• Multiple colliding packets
11
22
11
22 22
11
333333
ZigZag Generalizes• Flipped order• Different packet sizes• Multiple colliding packets • Capture effect
Pa1
Pb
Pa2
Pb
3 packets in 2 timeslots better than no collisions
Performance
Implementation
• USRP Hardware• GNURadio software• Carrier Freq: 2.4-2.48GHz• BPSK modulation
USRPsTestbed
• 10% HT, 10% partial HT, 80% perfectly sense each other
• Each run randomly picks an AP and two clients
• Co-located 802.11a nodes that measure HTs. The USRPs use the same collision patterns as 802.11
802.11a
Throughput Comparison
Throughput
CD
F o
f co
ncur
rent
flo
w p
airs
Throughput Comparison
802.11
Throughput
CD
F o
f co
ncur
rent
flo
w p
airs
Hidden Terminals
Partial Hidden Terminals
Perfectly Sense
Throughput Comparison
ZigZag
Throughput
CD
F o
f co
ncur
rent
flo
w p
airs
802.11
Hidden Terminals get high throughput
Throughput Comparison
ZigZag
Throughput
CD
F o
f co
ncur
rent
flo
w p
airs
802.11
ZigZag Exploits Capture Effect
ZigZag improved average Throughput by 25%
Throughput Comparison
ZigZag
Throughput
CD
F o
f co
ncur
rent
flo
w p
airs
802.11
Improved hidden terminals loss rate from 72% to 0.7%
Hidden Terminals
Is ZigZag as efficient as if the colliding packets were sent in separate slots?
• For every SNR,
Check that ZigZag can match the BER of collision-free receptions
Is ZigZag as efficient as if packets were collision-free Receptions?
SNR in dB
Bit E
rror
Rat
e (B
ER)
Collision-Free Receptions
Is ZigZag as efficient as if packets were collision-free Receptions?
SNR in dB
Bit E
rror
Rat
e (B
ER)
Collision-Free Receptions
Is ZigZag as efficient as if packets were collision-free Receptions?
ZigZag-Decoded Collisions
SNR in dB
Bit E
rror
Rat
e (B
ER)
ZigZag is as efficient as if the colliding packets were sent separately
But can collisions be beneficial?
ZigZag makes collisions harmless
Current Wireless
Alice Bob
Current Wireless
Current approach requires 4 time slots
Can we do better?
Alice Bob
Naive Application of ZigZag
Collision!Alice Bob
Decode Collisions
Naïvely applying ZigZag requires 4 time slots
Decoding collisions at AP doesn’t reduce timeslots
But the AP doesn’t need to decode!
Alice Bob
Naive Application of ZigZag
What if the AP doesn’t decode?
Collision!
1) Alice and Bob transmit simultaneously
Alice Bob
What if the AP doesn’t decode?
Collision!
1) Alice and Bob transmit simultaneously2) AP amplifies and broadcasts the collision
Alice Bob
1) Alice and Bob transmit simultaneously2) AP amplifies and broadcasts the collision 3) Alice subtracts her packet from the collision
1fhj
What if the AP doesn’t decode?
1fhj11
Bob’s pkt11
Alice’s pkt
2 time slots instead of 4
Throughput Gain of 2x
Alice Bob
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”
Implemented in software radio
Evaluated in a similar testbed
Metric
Gain = Throughput in ANC /Current Throughput
Performance
Throughput Gain for the Alice-Bob Scenario
Throughput gain
CD
F
Median Throughput Gain is 1.7x
Related Work
Conclusion
Softcast: cross-layer wireless video without CSI