AccuRate Constellation Aware Rate Estimation in Wireless Networks Souvik Sen Naveen Santhapuri Romit Roy Choudhury Srihari Nelakuditi Bitrate in Wireless Networks 6 Mbps Wireless ID: 769965
Download Presentation The PPT/PDF document "AccuRate : Constellation" is the property of its rightful owner. Permission is granted to download and print the materials on this web site for personal, non-commercial use only, and to display it on your personal computer provided you do not modify the materials and that you retain all copyright notices contained in the materials. By downloading content from our website, you accept the terms of this agreement.
AccuRate : Constellation Aware Rate Estimationin Wireless Networks Souvik Sen,Naveen Santhapuri, Romit Roy Choudhury, Srihari Nelakuditi
Bit-rate in Wireless Networks 6 Mbps Wireless link throughput depends on transmission bit-rate Choosing the optimal bit-rate is an important problem 24 Mbps
Bit-rate in Wireless Networks Optimal bit-rate selection is challenging because the wireless channel varies over:Space Time Time Channel 6 Mbps 24 Mbps Time Channel
✦ Recently PHY-based: ✦ SoftRate [SIGCOMM ʼ09]••• Uses a BER heuristic to estimate bit rateBER accurately identifies when to increase/decrease rate However, may not be able to jump to optimal rate Current Wireless Rate Selection Data ACK SNR Frame Based Remember Histo r y SampleRate, RRAA SNR Based Data RBAR, CHARM
Ideally Tx wants optimal rate for next packet
Ideally Tx wants optimal rate for next packet Function of optimal rate of the previous packet
Ideally Tx wants optimal rate for next packet Function of optimal rate of the previous packet
Ideally Tx wants optimal rate for next packet Given a transmission at rate R, what would have been the max rate R*,at which that transmission would have been successful Function of optimal rate of the previous packet In other words,
Ideally Tx wants optimal rate for next packet Given a transmission at rate R, what would have been the max rate R*,at which that transmission would have been successful Function of optimal rate of the previous packet In other words, We propose AccuRate
Background: Symbols, Modulation, Bit-rate
11 00 10 01 Tx 4QAM Symbol Data = 01111001 .... Physical Layer Symbols
2 bits together 11 00 10 01 Tx 4QAM Symbol Data = 01111001 .... Physical Layer Symbols
2 bits together 11 00 10 01 Tx 4QAM Symbol Data = 01111001 .... Physical Layer Symbols
11 00 10 01 Tx 4QAM Symbol Data = 01111001 .... Symbols to Modulation
2 bits together 11 00 10 01 Tx 4QAM Symbol Data = 01111001 .... Symbols to Modulation
2 bits together 11 00 10 01 Tx 4QAM Symbol Data = 01111001 .... Symbols to Modulation 11 00 10 01 Rx 4QAM Symbol 11 01 11 Channel 01
2 bits together Dispe rsion 11 00 10 01 Tx 4QAM Symbol Data = 01111001 .... Symbols to Modulation 11 00 10 01 Rx 4QAM Symbol 11 01 11 Channel 01
2 bits together Dispe rsion 11 00 10 01 Tx 4QAM Symbol Data = 01111001 .... Symbols to Modulation 11 00 10 01 Rx 4QAM Symbol 11 01 11 Channel 01
Dispe rsion 11 00 10 01 Rx 4QAM Symbol 2 bits together Data = 01111001 .... Symbols to Modulation 11 00 10 01 Tx 4QAM Symbol Channel
sion Disper 11 00 10 01 Rx 4QAM Symbol 2 bits together Data = 01111001 .... Symbols to Modulation 11 00 10 01 Tx 4QAM Symbol Channel
Different Modulations in 802.11 Tx 16QAM Symbol 2 bits together Data = 01111001 .... 11 00 10 01 Tx 4QAM Symbol Channel Dispe rsion 11 00 10 01 Rx 4QAM Symbol 4 bits together Data = 01111001 .... 1 011 Channel Rx 16QAM Symbol Dispersion
Different Modulations in 802.11 2 bits together Data = 01111001 ....11 00 10 01 Tx 4QAM Symbol Channel Dispe rsion 11 00 10 01 Rx 4QAM Symbol 6 bits together Tx 64QAM Symbol 0 01111 Data = 01111001 .... Rx 64QAM Symbol Channel Dispersion
Why not always transmit many bits per symbol? e.g., 64QAM or 54Mbps
Weak Channel Induces Errors Data = 01111001 .... Tx 16QAM Symbol
Weak Channel Induces Errors Data = 01111001 .... Weak Channel Tx 16QAM Symbol
High Dispersion Weak Channel Induces Errors Data = 01111001 .... Weak Channel Tx 16QAM Symbol
High Dispersion Weak Channel Induces Errors Data = 01111001 .... Tx 16QAM Symbol Weak Channel Wrongly demodulated symbol
In General ... 01 0 Strong Channel Moderate Channel Weak Channel 0111
In General ... 01 0 Strong Channel Moderate Channel Weak Channel 0111 6 Mbps 24 Mbps 36 Mbps
In General ... 01 0 Strong Channel Moderate Channel Weak Channel 0111 6 Mbps 24 Mbps 36 Mbps Smaller dispersion permits higher rate
AccuRate Design and Implementation
AccuRate Design and Implementation Hypothesis: Symbol dispersion is independent of modulation
Dispersion Independent of Modulation? 11 00 10 01 Tx 4QAM Tx 16QAM Channel 11 00 10 01 Rx QPSK Rx16QAM
Dispersion Independent of Modulation? 0 0.2 0.4 1 0.8 0.6 Fraction of symbols Symbol dispersion magnitude Testbed BPSK QPSK 16QAM 64QAM 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2 2.2
Dispersion Independent of Modulation? 0 0.2 0.4 1 0.8 0.6 Fraction of symbols Testbed BPSK QPSK 16QAM 64QAM 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2 2.2 Symbol dispersion magnitude McKinley et. al., 2004,“EVM calculation for broadband modulated signals”
Selection of optimal modulation Hypothesis: Symbol dispersion is independent of modulation
Data
Data BPSK 4QAM 16QAM
Data BPSK 4QAM 16QAM
Data BPSK 4QAM 16QAM
Data BPSK 4QAM 16QAM
Data BPSK 4QAM 16QAM
BPSK 4QAM 16QAM Data
BPSK 4QAM 16QAM Data
BPSK Data 4QAM 16QAM We call it Virtual Channel Replay
✦ AccuRate records dispersion for every symbol in a packet ✦ Creates a vector: Channel Replay Vector (V) Channel Replay Vector d 1 V = {d 1 , d 2 , ...., dn}
✦ AccuRate records dispersion for every symbol in a packet ✦ Creates a vector: Channel Replay Vector (V) ✦All dispersions are known✦ When packet fails ✦ Approximates V from (known) preamble/postamble Channel Replay Vector d 1 V = {d 1 , d2, ...., dn}✦ When packet succeeds
Channel Receiver Demodulator Packet
Channel Receiver Packet Demodulator BPSK Channel Replay Demodulator CRC Check
Channel Receiver Packet Demodulator BPSK Channel Replay Demodulator CRC Check
Channel Receiver Packet Demodulator BPSK Channel Replay Demodulator CRC Check 4QAM Channel Replay Demodulator CRC Check
Channel Receiver Packet Demodulator BPSK Channel Replay Demodulator CRC Check 4QAM Channel Replay Demodulator CRC Check
Channel Receiver Packet Demodulator BPSK Channel Replay Demodulator CRC Check 4QAM Channel Replay Demodulator CRC Check 16QAM Channel Replay Demodulator CRC Check
Channel Receiver Packet Demodulator BPSK Channel Replay Demodulator CRC Check 4QAM Channel Replay Demodulator CRC Check 16QAM Channel Replay Demodulator CRC Check
Channel Receiver Packet Best Rate Demodulator BPSK Channel Replay Demodulator CRC Check 4QAM Channel Replay Demodulator CRC Check 16QAM Channel Replay Demodulator CRC Check
Bit-rate is a function of both modulation and coding
Can we find the optimal <modulation, coding> for a received packet?
Receiver Channel Demodulator Data BPSK Channel Replay 1/2 Demodulator CRC Check Decoder BPSK Channel Replay 3/4 Demodulator CRC Check Decoder QAM4 Channel Replay 1/2 Demodulator CRC Check Decoder QAM4 Channel Replay 3/4 Demodulator CRC Check Decoder Decoder QAM64 Channel Replay 3/4 Demodulator CRC Check Decoder
Receiver Channel Demodulator Data BPSK Channel Replay 1/2 Demodulator CRC Check Decoder BPSK Channel Replay 3/4 Demodulator CRC Check Decoder QAM4 Channel Replay 1/2 Demodulator CRC Check Decoder QAM4 Channel Replay 3/4 Demodulator CRC Check Decoder Decoder 6 Mbps QAM64 Channel Replay 3/4 Demodulator CRC Check Decoder
Receiver Channel Demodulator Data BPSK Channel Replay 1/2 Demodulator CRC Check Decoder BPSK Channel Replay 3/4 Demodulator CRC Check Decoder QAM4 Channel Replay 1/2 Demodulator CRC Check Decoder QAM4 Channel Replay 3/4 Demodulator CRC Check Decoder Decoder 6 Mbps 9 Mbps QAM64 Channel Replay 3/4 Demodulator CRC Check Decoder
Receiver Channel Demodulator Data BPSK Channel Replay 1/2 Demodulator CRC Check Decoder BPSK Channel Replay 3/4 Demodulator CRC Check Decoder QAM4 Channel Replay 1/2 Demodulator CRC Check Decoder QAM4 Channel Replay 3/4 Demodulator CRC Check Decoder Decoder 6 Mbps 9 Mbps 12 Mbps QAM64 Channel Replay 3/4 Demodulator CRC Check Decoder
Receiver Channel Demodulator Data BPSK Channel Replay 1/2 Demodulator CRC Check Decoder BPSK Channel Replay 3/4 Demodulator CRC Check Decoder QAM4 Channel Replay 1/2 Demodulator CRC Check Decoder QAM4 Channel Replay 3/4 Demodulator CRC Check Decoder 18 Mbps Decoder 6 Mbps 9 Mbps 12 Mbps QAM64 Channel Replay 3/4 Demodulator CRC Check Decoder 54 Mbps
Receiver Channel Demodulator Data BPSK Channel Replay 1/2 Demodulator CRC Check Decoder Channel Replay BPSK 3/4 Demodulator CRC Check Decoder QAM4 Channel Replay 1/2 Demodulator CRC Check Decoder QAM4 Channel Replay 3/4 Demodulator CRC Check Decoder 18 Mbps Decoder 6 Mbps 9 Mbps 12 Mbps QAM64 Channel Replay 3/4 Demodulator CRC Check Decoder Best Rate 54 Mbps
Performance Evaluation ✦ Used 802.11 like Tx and Rx design on USRP/GnuRadio✦✦✦ Modulation: BPSK, QPSK, 16QAM, 64QAMCoding: Convolution coding with puncturing with rate 1/2, 3/4 Compare with Softrate, SNR-based ✦ Testbed ✦ ✦ 10 traces at walking speed Trace based evaluation ✦ Simulation ✦✦ Characterize AccuRateʼs performance under high mobility Raleigh fading channel simulator ported to GnuRadio Channel Si m ulator
What is the True Optimal Rate? ✦ Testbed ✦✦✦ Using train of packets (Virtual Packet)Each Virtual Packet consists of data packets at all bit-rates Similar method as Softrate Virtual Packet 6Mbps 9Mbps 12Mbps 18Mbps 24Mbps 36Mbps 54Mbps
What is the True Optimal Rate? ✦ Testbed ✦✦✦ Using train of packets (Virtual Packet)Each Virtual Packet consists of data packets at all bit-rates Similar method as Softrate Virtual Packet 6Mbps 9Mbps 12Mbps 18Mbps 24Mbps 36Mbps 54Mbps
What is the True Optimal Rate? ✦ Testbed ✦✦✦ Using train of packets (Virtual Packet)Each Virtual Packet consists of data packets at all bit-rates Similar method as Softrate Virtual Packet 6Mbps 9Mbps 12Mbps 18Mbps 24Mbps 36Mbps 54Mbps Optimal Optimal-1 Optimal+1
Can we estimate the optimal rate? For correctly received packets,100% in Simulation,95% in Testbed 0.2 0.4 0.6 0.8 0 -1 0 1 Fraction of Packets (AccuRate Rate) minus (Optimal Rate) Simulation AccuRate correct-packets AccuRate using preamble AccuRate pre+postamble 0.20.40.6 0.8 0 -1 0 1 Fraction of Packets (AccuRate Rate) minus (Optimum Rate) Testbed AccuRate correct-packets AccuRate using preamble AccuRate pre+postamble Si m ulation T estbed 1 1 Optimal Optimal
AccuRate needs to detect Interference
AccuRate needs to detect Interference Rate selection needs to be independent of interference
How to Detect Interference? ✦ Interference causes substantial symbol dispersion Interference
How to Detect Interference? ✦ Interference starts first: Preamble with high dispersion Data ✦ Interference starts second: Postamble with high dispersion Data Interference Interference
How to Detect Interference? Compare preamble with postamble dispersion ✦ Interference starts first: Preamble with high dispersion Data ✦ Interference starts second: Postamble with high dispersion Data Interference Interference
Interference Detection Accuracy 1 0.8 0.6 0.4 0.2 0 1.2 BPSK 1/2 BPSK 3/4 QPSK 1/2 QPSK 3/4 QAM16 1/2 QAM16 3/4Fraction of Lost PacketsBit RateTestbed AccuRate Softrate T estbed
Interference Detection Accuracy Detection Accuracy is better at higher rates (95%) 1 0.8 0.6 0.4 0.2 0 1.2 BPSK 1/2 BPSK 3/4 QPSK 1/2 QPSK 3/4QAM16 1/2 QAM16 3/4Fraction of Lost Packets Bit RateTestbed AccuRate Softrate T estbed
Estimation Performance with Interference 0.4 0.2 0.6 0.8 1 1.2 0 BPSK 1/2 BPSK 3/4 QAM16 1/2 QAM16 3/4 Fraction of Lost PacketsQPSK 1/2 QPSK 3/4Bit RateTestbed-AccuRate Overselect Accurate Underselect Co r r ect Over select Under select T estbed
Estimation Performance with Interference 91% accuracy in Optimal rate selection 0.40.20.60.8 1 1.2 0 BPSK 1/2 BPSK 3/4 QAM16 1/2 QAM16 3/4 Fraction of Lost PacketsQPSK 1/2 QPSK 3/4Bit RateTestbed-AccuRate Overselect Accurate Underselect Co r r ect Over select Under select T estbed
AccuRate estimates the optimal rate for an already received packet What is the performance if the next transmission uses this rate?
Throughput at Walking Speeds 1 Normalized Throughput 0.8 0.6 0.4 0.2 0 0 1 2 3 4 5 6 7 8 9 10 11 Walking Trace Number Testbed SNR based Testbed AccuRate Softrate
Throughput at Walking Speeds 1 0.8 0.6 0.4 0.2 0 0 1 2 3 4 5 6 7 8 9 10 11 Normalized Throughput Walking Trace Number Testbed SNR based AccuRate achieves 87% of the optimal throughput Testbed AccuRate Softrate
Throughput under Mobility AccuRate performs well even under high mobility 18 16 14 12 10 8 6 4 2 0 1ms .1ms Throughput (Mbps) .5ms .2ms Channel Coherence Time Simulation AccuRate Softrate SNR based
Limitations ✦ Hardware Complexity ✦ ✦AccuRate targets optimal rate estimation Does not consider implementation cost✦ Rate estimation sub-optimal under packet failure✦ ✦ Pre/Post amble based estimation achieves 93% accuracy Improvements possible with midamble ✦ Interfering packet may engulf or be engulfed by data ✦ AccuRate unable to detect such cases
Summary ✦ AccuRate uses symbol dispersion to estimate bit-rate ✦Symbol dispersion is a measure of channel behavior ✦ AccuRate replays this channel on different bit-rates ✦ The max rate that “passes” this replay is declared optimal ✦ The optimal rate is prescribed for subsequent transmissions ✦ USRP testbed results show 87% of optimal throughput ✦ SoftRate capable of choosing very good bit-rates ✦ AccuRate pushes rate estimation towards optimality