Presentation is loading. Please wait.

Presentation is loading. Please wait.

Strider : Automatic Rate Adaptation & Collision Handling Aditya Gudipati & Sachin Katti Stanford University 1.

Similar presentations


Presentation on theme: "Strider : Automatic Rate Adaptation & Collision Handling Aditya Gudipati & Sachin Katti Stanford University 1."— Presentation transcript:

1 Strider : Automatic Rate Adaptation & Collision Handling Aditya Gudipati & Sachin Katti Stanford University 1

2 Wireless channel strength varies rapidly To maximize throughput, we have to estimate channel and adjust bit rate. Motivation : Rate Adaptation 10 s Source: VJB’09 2 Passive schemes: infer from packet loss rates Inaccurate estimates Active schemes: Feedback packets at the rate the channel is changing Incur overheads Due to overhead both approaches reduce throughput in rapidly varying channels

3 Collisions lead to wasted transmissions To maximize throughput, we need to avoid collisions entirely. Motivation : Collision Handling 3 Passive schemes: Exponential backoff Inaccurate estimates Active schemes: RTS - CTS Incur overheads Due to overhead both approaches reduce throughput in high contention scenarios

4 Motivation 4 Conventional wisdom says that this overhead and the consequent reduction in throughput is unavoidable

5 Strider 5 Optimal throughput in both scenarios (no overhead) Rateless – handles varying channels Senders do not estimate channel strength Single encoding algo generates stream of coded packets Continuous transmissions till receiver decodes Collision Resilient – handles collisions Decodes all component packets in a collision Achieves same throughput as omniscient collision-free scheduler

6 Background : Channel Coding 6 Redundancy added to correct bit errors ‘b’ data bits mapped to ‘c’ coded bits (c>b) code rate = (b/c) Ideally this code can correct (c-b)/2 bit errors Typical convolutional code rates : 1/2, 2/3, 3/4 Lower code rate Higher resilience to errors Lower throughput

7 Map channel coded bits to constellation points Background : Modulation 7 -b (0,0) -a (0,1) a (1,1) b (1,0)

8 Attenuation and additive noise from channel To demodulate, map to closest constellation point Background : Demodulation Wireless Channel 8 -b (0,0) -a (0,1) ab -b -a N N a (1,1) b (1,0)

9 4-PAM to BPSK reduces errors for the same noise Sparser Constellation => Lesser Bit Errors Background : Demodulation Wireless Channel 9 a (1) -a (0) a -a Minimum Distance between constellation points determines error rate N

10 Intuition 10 Assuming fixed channel code Low SNR, increase minimum distance High SNR, decrease minimum distance Current schemes change the constellation explicitly based on channel strength estimate Causes tradeoff between accuracy and overhead Can we adjust minimum distance without explicitly estimating channel strength?

11 Minimum Distance Transformer (MDT) 11 Data Fixed Channel Code Coded bits Modulator Coded Symbols Channel MDT Demodulator Decoder for fixed Channel Code Decoded bits Received Symbols Demodulated bits Minimum Distance Transformer (MDT)

12 Minimum Distance Transformer (MDT) 12 Send M linear combinations of K BPSK symbols Mapping from K dimensional space to M dimensional space Min. Dist. can be controlled by controlling K, M

13 Minimum Distance Transformer (MDT) 1 1 B1B1 B2B2 c = 0.89 ; d = 0.45 c 2 + d 2 =1 Tx 1 -c+d (B 1 = -1 B 2 = 1) c-d (B 1 = 1 B 2 = -1) c+d (B 1 = 1 B 2 = 1) -c-d (B 1 = -1 B 2 = -1) 2(c-d) 13 2d Tx 1 : cB 1 + dB 2 Send M linear combinations of K BPSK symbols Min. Dist. can be controlled by controlling M K = 2, M = 1

14 Minimum Distance Transformer (MDT) 1 1 -c-d (B 1 = -1 B 2 = -1) B1B1 B2B2 c = 0.89 ; d = 0.45 c 2 + d 2 =1 Tx 1 Tx 2 -c+d (B 1 = -1 B 2 = 1) c-d (B 1 = 1 B 2 = -1) c+d (B 1 = 1 B 2 = 1) -c-d (B 1 = -1 B 2 = -1) -c+d (B 1 = 1 B 2 = -1) c-d (B 1 = -1 B 2 = 1) c+d (B 1 = 1 B 2 = 1) 2(c-d) 14 2d Tx 1 : cB 1 + dB 2 Tx 2 : dB 1 + cB 2 Send M linear combinations of K BPSK symbols Min. Dist. can be controlled by controlling M K = 2, M = 2

15 Minimum Distance Transformer (MDT) 1 1 B1B1 B2B2 c = 0.89 ; d = 0.45 c 2 + d 2 =1 Tx 1 Tx 2 15 Tx 1 : cB 1 + dB 2 Tx 2 : dB 1 + cB 2 Send M linear combinations of K BPSK symbols Min. Dist. can be controlled by controlling M K = 2, M = 2 Tx 1 Tx 2 Tx 1 : cB 1 + dB 2 Tx 2 : dB 1 + cB 2

16 Minimum Distance Transformer (MDT) 1 1 B1B1 B2B2 c = 0.89 ; d = 0.45 c 2 + d 2 =1 16 Send M linear combinations of K BPSK symbols Min. Dist. can be controlled by controlling M Tx 1 Tx 2 (-c-d, -c-d) (B 1 = -1, B 2 = -1) (-c+d, c-d) (B 1 = -1, B 2 = 1) (c-d, -c+d) (B 1 = 1, B 2 = -1) (c+d, c+d) (B 1 = 1, B 2 = 1) √2(2 (c-d)) Tx 1 : cB 1 + dB 2 Tx 2 : dB 1 + cB 2 K = 2, M = 2 Minimum Distance increases with increasing transmissions

17 Naïve Decoder 17 Compare against all possible outputs (2 K – for K BPSK symbols) Rx 1 Rx 2 (-c-d, -c-d) (B 1 = -1, B 2 = -1) (-c+d, c-d) (B 1 = -1, B 2 = 1) (c-d, -c+d) (B 1 = 1, B 2 = -1) (c+d, c+d) (B 1 = 1, B 2 = 1) Rx 1 : cB 1 + dB 2 + n 1 Rx 2 : dB 1 + cB 2 + n 2 Reception

18 Practical Challenges 18 MDT automatically adjusts the minimum distance of the constellation Decoding complexity is exponential How to design a technique which has LINEAR time complexity?

19 Key Insight 19 Decode one BPSK symbol at a time Takes linear complexity However, all other symbols act as interference Rx 1 Rx 2 (-c-d, -c-d) (B 1 = -1, B 2 = -1) (-c+d, c-d) (B 1 = -1, B 2 = 1) (c-d, -c+d) (B 1 = 1, B 2 = -1) (c+d, c+d) (B 1 = 1, B 2 = 1) Rx 1 : cB 1 + dB 2 + n 1 Rx 2 : dB 1 + cB 2 + n 2 Reception (-c, -d) (B 1 = -1) (c, d) (B 1 = 1) Receiver pretends B 2 was never sent

20 Consequences of Ignoring!! 20 While decoding B 1, B 2 is ignored B 2 acts as interference, makes B 1 ’s decoding harder Rx 1 Rx 2 (-c-d, -c-d) (B 1 = -1, B 2 = -1) (-c+d, c-d) (B 1 = -1, B 2 = 1) (c-d, -c+d) (B 1 = 1, B 2 = -1) (c+d, c+d) (B 1 = 1, B 2 = 1) Rx 1 : cB 1 + dB 2 + n 1 Rx 2 : dB 1 + cB 2 + n 2 Reception (-c, -d) (B 1 = -1) (c, d) (B 1 = 1)

21 Accounting for interference 21 B 2 acts as interference : Allocate more power to B 1 Rx 1 Rx 2 (-c-d, -c-d) (B 1 = -1, B 2 = -1) (-c+d, c-d) (B 1 = -1, B 2 = 1) (c-d, -c+d) (B 1 = 1, B 2 = -1) (c+d, c+d) (B 1 = 1, B 2 = 1) Rx 1 : cB 1 + dB 2 + n 1 Rx 2 : dB 1 + cB 2 + n 2 Reception Rx 1 : cB 1 + dB 2 + n 1 Rx 2 : cB 1 + dB 2 + n 2 (-c+d, -c+d) (B 1 = -1, B 2 = 1) (c-d, c-d) (B 1 = 1, B 2 = -1) Reception

22 Accounting for interference 22 Rx 1 Rx 2 Rx 1 : cB 1 + dB 2 + n 1 Rx 2 : cB 1 + dB 2 + n 2 Reception (-c, -c) (B 1 = -1) (c, c) (B 1 = 1) B 2 acts as interference : Allocate more power to B 1 Receiver pretends B 2 was never sent How to decode B 2 ?

23 Stripping Decoder 23 Once B 1 is decoded, we can subtract it Decode B2 No interference !!! Rx 1 Rx 2 Rx 1 : cB 1 + dB 2 + n 1 Rx 2 : cB 1 + dB 2 + n 2 Reception (-c, -c) (B 1 = -1) (c, c) (B 1 = 1) (-d, -d) (B 2 = -1) (d, d) (B 2 = 1) (Reception – contribution of B 1 ) Unequal Power Allocation is necessary for Strider to work optimally.

24 Systematic Power Allocation 24 First transmission = R 1 *B 1 + R 2 *B 2 Received Symbol = R 1 *B 1 + R 2 *B 2 + n Estimate of B 1 = (Received Symbol)/ R 1 SINR seen by B 1 = R 1 2 / (R 2 2 + σ 2 ) Successful Decoding of B 1 : SINR (B 1 )> Threshold Estimate of B 2 = (Received Symbol – R 1 B 1 )/ R 2 SINR seen by B 2 = R 2 2 / ( σ 2 )

25 Characteristics 25 3 inequalities, 3 unknowns (R 1,R 2, σ) SINR seen by B 1 = R 1 2 / (R 2 2 + σ 2 ) > Threshold SINR seen by B 2 = R 2 2 / ( σ 2 ) > Threshold Power constraint : R 1 2 + R 2 2 <= 1 Strider’s characteristics Calculation of the power allocation is offline Power allocation parameters are static and fixed Decoding complexity is constant multiple of current decoding complexity Asymptotically approaches capacity

26 Architecture 26 Data Fixed Channel Code Coded bits Modulator Coded Symbols Channel Demodulator (Highest energy) Decoder for Fixed Channel Code Decoded bits Received Symbols Demodulated bits Minimum Distance Transformer (MDT) - + ∑

27 Implementation 27 K =33 blocks, length of block = 1500 bits Base static code : 1/5 rate code & QPSK OFDM Phy implementation in GNURadio (MIT) USRP2/RFX2400 platform 6.25 MHz channel

28 Other Approaches Compared 28 Omniscient Scheme Perfect advance channel knowledge Picks best Wifi bitrate that maximizes throughput Soft-Rate (Sigcomm’09) State of the art rate adaptation protocol Estimates BER of packet at receiver and feeds it back Pick bitrate based on BER

29 SNR (in dB) Testbed : Unknown SNR vs Throughput 29 Strider achieves nearly same throughput as the omniscient scheme over the entire SNR range. Throughput (bits/s/Hz) Throughput Comparison : Unknown SNR

30 Trace driven Emulation 30 Stanford RUSK channel sounder High precision channel measurement Continuous channel state information 2.426 GHz to 2.448 GHz Each trace: 100000 measurements over 100 sec 10 mobility traces at walking speed ~ 3 mph

31 Mobility 31 Strider performs well even in very fast fading scenarios Normalized Avg. Throughput Simulated Speed (in mph) Human SpeedsVehicular SpeedsVery Fast Fading Performance Comparison : Varying Mobility

32 Collision Resilient 32 Collision Resilient Decode component packets from a collision Implemented on USRP2/RFX2400 nodes Compared to omniscient collision-free scheduler Avoids collisions : Senders take turns to transmit Perfect advance channel knowledge Strider achieves same throughput as omniscient collision-free scheduler without any knowledge of possible collisions

33 Conclusion 33 Optimal throughput without overhead in rapidly varying channels high contention scenarios Rateless – handles varying channels Single encoding algorithm generates coded packets Continuous stream of packets till receiver decodes Collision Resilient – handles collisions Decodes all component packets in a collision


Download ppt "Strider : Automatic Rate Adaptation & Collision Handling Aditya Gudipati & Sachin Katti Stanford University 1."

Similar presentations


Ads by Google