Presentation is loading. Please wait.

Presentation is loading. Please wait.

Decoding 802.11 Collisions Shyamnath Gollakota Dina Katabi.

Similar presentations


Presentation on theme: "Decoding 802.11 Collisions Shyamnath Gollakota Dina Katabi."— Presentation transcript:

1 Decoding Collisions Shyamnath Gollakota Dina Katabi

2 The Hidden Terminals Problem
Collision! Alice Bob we know HT .. alice and bob cannot hear each other .. makes worse if obstacle in between .. however they can interfere with each other at a common receiver ..

3 The Hidden Terminals Problem
Retransmissions More Collisions! Alice Bob Can’t get any useful connections The problem does not stop here. Alice and Bob retransmit their packets after increasing their contention window. But this does not help. Their transmissions still overlap causing more collisions. Alice and Bob will continue increasing their contention window and retransmitting, until after many trials they get a packet through or they time out.

4 Can we take two collisions and produce the two packets?
Pb Pb Yes, we can! suppose first tx collided ..re-tx also collided .. can we take these two and recover the original packet ..

5 ZigZag Pa Pa Pb Pb Exploits 802.11’s behavior Retransmissions
Same packets collide again Senders use random jitters  Collisions start with interference-free bits Pa Pa this work proposes a coll decoding scheme called zigzag .. ………… random jitters .. start time of interference is different in each collision How do we leverage these interference free bits to decode the collisions? ∆1 Pb ∆2 Pb Interference-free Bits

6 Decode and subtract from the other collision
How Does ZigZag Work? 1 1 ∆1 ∆2 ∆1 ≠∆2 as a result .. because of rsndom jitters .. interference free duration in each packet is going to be different .. Find a chunk that is interference-free in one collisions and has interference in the other Decode and subtract from the other collision

7 Decode and subtract from the other collision
How Does ZigZag Work? 1 1 ∆1 ∆2 2 ∆1 ≠∆2 the core idea is to exploit the difference in interference free bits in eliminating collisions .. walk you through an example .. interference this part is free .. you can decode .. in the seocnd part at this location .. you have the sum of two signals .. subtract .. 1 since you know it completely .. Find a chunk that is interference-free in one collisions and has interference in the other Decode and subtract from the other collision

8 Decode and subtract from the other collision
How Does ZigZag Work? 1 3 ∆1 2 ∆2 2 ∆1 ≠∆2 when you subtract 1 .. you can decode 2 here from second packet .. now in first collision two is buried under int .. if you subtract you can Find a chunk that is interference-free in one collisions and has interference in the other Decode and subtract from the other collision

9 Decode and subtract from the other collision
How Does ZigZag Work? 1 3 3 ∆1 ∆2 2 4 ∆1 ≠∆2 decode 3 .. now 3 is under interference here .. Find a chunk that is interference-free in one collisions and has interference in the other Decode and subtract from the other collision

10 Decode and subtract from the other collision
How Does ZigZag Work? 1 3 5 ∆1 4 ∆2 2 4 ∆1 ≠∆2 you can continue this chain of operations Find a chunk that is interference-free in one collisions and has interference in the other Decode and subtract from the other collision

11 Decode and subtract from the other collision
How Does ZigZag Work? 1 3 5 5 ∆1 ∆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

12 Decode and subtract from the other collision
How Does ZigZag Work? 1 3 5 7 ∆1 6 ∆2 2 4 6 ∆1 ≠∆2 and decode the whole packet .. Find a chunk that is interference-free in one collisions and has interference in the other Decode and subtract from the other collision

13 Decode and subtract from the other collision
How Does ZigZag Work? 1 3 5 7 7 ∆1 ∆2 2 4 6 8 Delivered 2 packets in 2 timeslots As efficient as if the packets did not collide ∆1 ≠∆2 Thus, even in the face of collisions, we are able to correctly receive 2 packets in 2 timeslots. Find a chunk that is interference-free in one collisions and has interference in the other Decode and subtract from the other collision

14 ZigZag A receiver design that decodes collisions
As efficient as if the colliding packets were sent in separate time slots Experimental results shows that it reduces hidden terminal losses from 72% to 0.7%

15 AP received a collision signal
Time How does the AP know it is a collision and where the second packet starts? Now lets go through an detailed example of how ZigZag decodes.

16 Detecting Collisions and the Value of ∆
Time AP received signal Correlate Packets start with known preamble AP correlates known preamble with signal Preamble Correlation Detect collision and the value of ∆ Works despite interference because correlation with an independent signal is zero Correlation Time

17 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 Now that the AP knows where the second packet starts, it is going to take the interference-free chunk from at the start of the first collision and subtract it from the second. In practice, it is not that simple…………..

18 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! The solution to this problem however is simple. …….. Now the AP can subtract the first chunk. The AP iterates this process to decode both the whole packet.

19 What if AP Makes a Mistake?
But, as is the usual case, channel adds noise which could lead to decoding errors.

20 What if AP Makes a Mistake?
Bad News: Errors can propagate 1 3 1 ∆1 ∆2 2 2 For example, if the channel was noisy it can cause a decoding error in chunk 1. Since we subtract chunks across collisions, errors in the first collision can propagate to the second collision For example, Now when we subtract, the error in chunk 1 can lead to a decoding mistake in chunk 2, which itself could propagate further. Can we deal with these errors?

21 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 The good new is that we have temporal diversity. Each bit appears twice on the channel. It is unlikely that the same bit is in error in both collisions. We can leverage this property by decoding each bit twice using two independent decodings. But how do we get these two independent decodings? I have already described to u … one way of decoding.

22 AP Decodes Backwards as well as Forwards
∆1 ∆2 2 2 3 1 1 Errors propagate differently in the two decodings Which decoded value should the AP pick? But in addition to this forward decoding method we can also decode backwards. For each bit, AP picks the decoding that has a higher PHY confidence [JB07, WKSK07]

23 ZigZag Generalizes

24 ZigZag Generalizes Flipped order ∆2 1 1 2 2 ∆1

25 ZigZag Generalizes Flipped order Different packet sizes 1 1 2 2 ∆1 ∆2

26 ZigZag Generalizes Flipped order Different packet sizes
Multiple colliding packets 1 1 2 3 1 1 Intuitively, this is similar to solving three linear equations with three unknowns. The collisions are the equations and the packets are the unknowns. 2 2 2 3 3 3

27 ZigZag Generalizes Flipped order Different packet sizes
Multiple colliding packets Capture effect Subtract Alice and combine Bob’s packet across collisions to correct errors Pa1 Finally, ZigZag makes a better use of capture effects. Capture effect can happen when the AP can decode Alice’s packets despite interference from Bob. But in ZigZag, the AP also subtract Alice’s packets from the collision signals to get Bob’s packets. Since Bob’s signal is so weak it is unlikely that one collision is sufficient to decode it. But ZigZag can combine the results of decoding Bob’s packet across both collisions to improve performance. Pa2 ∆1 ∆2 Pb Pb 3 packets in 2 time slots  better than no collisions

28 Performance

29 Implementation USRP Hardware GNURadio software
Carrier Freq: GHz BPSK modulation

30 Testbed USRPs 10% HT, 10% partial HT, 80% perfectly sense each other Each run randomly picks an AP and two clients Co-located a nodes to find out about HTs and created the same collision patterns by the USRPs 802.11a Blah blah blah… Since Software radios do all operations in software in user mode, they cannot perform carrier sense accurately. So, to capture carrier sense, each of our nodes have both and USRP radios. We first run the experiment using the nodes which apply carrier sense. Then we repeat the same experiment the USRP nodes, while forcing them to have the same number of collisions as the corresponding nodes.

31 Throughput Comparison
CDF of concurrent flow pairs Throughput

32 Throughput Comparison
Perfectly Sense Partial Hidden Terminals Hidden Terminals CDF of concurrent flow pairs 802.11 We see three regions. Some nodes are complete hidden terminals and hardly get any throughput. Others are partial hidden terminals and get sub-optimal throughput, and the rest are get good throughput. Throughput

33 Throughput Comparison
CDF of concurrent flow pairs Hidden Terminals get high throughput ZigZag 802.11 what used to be hidden terminals, they get excellent throughput. Throughput

34 Throughput Comparison
ZigZag Exploits Capture Effect CDF of concurrent flow pairs ZigZag 802.11 Also its interesting to note that some of the scenarios that used to get high throughput now get even higher throughput. This correspond to capture effect because as we said earlier ZigZag can exploit capture effect to deliver more than one packet per time slot. …… Throughput ZigZag improved average Throughput by 25%

35 Throughput Comparison
Hidden Terminals CDF of concurrent flow pairs ZigZag 802.11 Zooming in on the hidden terminals, ZigZag improves ……. This means that you can transform scenarios which were completely unusable to completely fine . Improved hidden terminals loss rate from 72% to 0.7% Throughput

36 Check that ZigZag can match the BER of collision-free receptions
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 …. But, is ZigZag really as efficient as if the colliding packets were sent in separate time slots? To answer this question, it is not sufficient to look at packet loss rate because a packet may be lost because of one bit error or many bit errors. Thus, to answer this question we check …….

37 Is ZigZag as efficient as if packets were collision-free Receptions?
Bit Error Rate (BER) SNR in dB

38 Is ZigZag as efficient as if packets were collision-free Receptions?
Bit Error Rate (BER) SNR in dB

39 Is ZigZag as efficient as if packets were collision-free Receptions?
Bit Error Rate (BER) ZigZag-Decoded Collisions As you can see at every SNR, ZigZag has slightly lower BER than collision free reception……… ……How come packets that are decoded from collisions have a lower BER than those sent in separate time slots. This is because of temporal diversity. With ZigZag, every bit is received twice, once in every collision, improving its chance of being correctly decoded. By decoding both forward and backward, we can collect this diversity gain and use it to combat bit errors. ZigZag is as efficient as if the colliding packets were sent separately SNR in dB

40 Three Colliding Senders
Collision! Alice Bob Chris Nodes picked randomly from testbed

41 Three Colliding Senders
Alice CDF of runs Bob Chris The real point here is that ZigZag can decode collisions involving more than two senders. Per-Sender Throughput ZigZag extends beyond two colliding senders

42 Related Work RTS-CTS Interference Cancellation Rmax Rmax
Excessive Overhead; Administrators turn it off Interference Cancellation Unsuitable for because of bit rate adaptation Rmax Bob’s Info Rate Interference cancelation operates on one collision  Undecodable Finally, related work falls in two areas. First, RTS-CTS was originally proposed to deal with Hidden terminals. However, much prior work shows that RTS-CTS produces excessive overhead for the common case of no collisions. Thus, in practice, typically both card manufacturers ….. Second, interference cancellation was proposed for decoding concurrent transmissions in cellular networks. But interference cancellation is unsuitable for networks that use bit rate adaptation like Consider again the hidden terminal example of Alice and Bob. Let’s plot Alice’s information rate on the x-axis and Bob’s information rate on the y axis. Information theory allows us to plot the achievable rate region, where Rmax is the maximum rate supported by Alice’s and Bob’s channels. Any point inside the grey area is decodable, and any point outside it, is higher than the capacity and hence is not decodable. Because of bit rate adaptation, Alice and Bob send as close as possible to Rmax, the maximum rate supported by their channels. Thus when they collide, <animate> the collision is outside the rate region and is impossible to decode. Interference cancelation operates on this single collision , but if Bob and Alice are using an efficient bit rate selection, it is not possible to decode a single collision. Alice’s Info Rate Rmax

43 Related Work RTS-CTS Interference Cancellation Rmax Rmax
Excessive Overhead; Administrators turn it off Interference Cancellation Unsuitable for because of bit rate adaptation Rmax Bob’s Info Rate ZigZag operates on two collisions  Can decode ZigZag operates on two collisions of the same packets The information rate in two collisions is half the rate in one collision, and hence even if when using efficient bit rate selection ZigZag can still decode. Alice’s Info Rate Rmax

44 Conclusion ZigZag is a receiver design that resolves collisions
It is as efficient as if the colliding packets were sent in separate time slots It reduces hidden terminal losses from 72% to 0.7% It enables aggressive MAC  More concurrency …. Also ZigZag opens up new avenues for future research……. For example, since one can resolve collisions, one may try to change the carrier sense threshold to allow more concurrent transmissions and improve spatial reuse. Taking it a step forward, one may let go of carrier sense and have senders transmit whenever they have traffic and resolve collisions as and when they happen.


Download ppt "Decoding 802.11 Collisions Shyamnath Gollakota Dina Katabi."

Similar presentations


Ads by Google