AccuRate: Constellation Aware Rate Estimation in Wireless Networks Souvik Sen , Naveen Santhapuri, Romit Roy Choudhury, Srihari Nelakuditi
Bit-rate in Wireless Networks Wireless link throughput depends on transmission bit-rate 6 Mbps 24 Mbps Choosing the optimal bit-rate is an important problem
Bit-rate in Wireless Networks Optimal bit-rate selection is challenging because the wireless channel varies over: Space Time Channel 6 Mbps Time Channel 24 Mbps Time
Current Wireless Rate Selection Frame Based SNR Based Remember Data History Data SNR ACK SampleRate, RRAA RBAR, CHARM ✦ Recently PHY-based: ✦ SoftRate [SIGCOMM ʼ 09] • Uses a BER heuristic to estimate bit rate • BER accurately identifies when to increase/decrease rate • However, may not be able to jump to optimal rate
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 Function of optimal rate of the previous packet In other words, Given a transmission at rate R, what would have been the max rate R*, at which that transmission would have been successful
Ideally Tx wants optimal rate for next packet Function of optimal rate of the previous packet In other words, Given a transmission at rate R, what would have been the max rate R*, at which that transmission would have been successful We propose AccuRate
Background: Symbols, Modulation, Bit-rate
Physical Layer Symbols = 01111001 .... Data 01 11 00 10 Tx 4QAM Symbol
Physical Layer Symbols = 01111001 .... Data 2 bits together 01 11 00 10 Tx 4QAM Symbol
Physical Layer Symbols = 01111001 .... Data 2 bits together 01 11 00 10 Tx 4QAM Symbol
Symbols to Modulation = 01111001 .... Data 01 11 00 10 Tx 4QAM Symbol
Symbols to Modulation = 01111001 .... Data 2 bits together 01 11 00 10 Tx 4QAM Symbol
Symbols to Modulation = 01111001 .... Data 2 bits together 01 01 11 11 11 11 Channel 01 01 00 10 00 10 Rx 4QAM Symbol Tx 4QAM Symbol
Symbols to Modulation = 01111001 .... Data 2 bits together 01 01 11 11 Dispersion 11 11 Channel 01 01 00 10 00 10 Rx 4QAM Symbol Tx 4QAM Symbol
Symbols to Modulation = 01111001 .... Data 2 bits together 01 01 11 11 Dispersion 11 11 Channel 01 01 00 10 00 10 Rx 4QAM Symbol Tx 4QAM Symbol
Symbols to Modulation = 01111001 .... Data 2 bits together 01 01 11 11 Dispersion Channel 00 10 00 10 Rx 4QAM Symbol Tx 4QAM Symbol
Symbols to Modulation 01 01 11 11 Dispersion = 01111001 .... Data 2 bits together Channel 00 10 00 10 Tx 4QAM Symbol Rx 4QAM Symbol
Different Modulations in 802.11 01 01 11 11 Dispersion = 01111001 .... Data 2 bits together Channel 00 10 00 10 Tx 4QAM Symbol Rx 4QAM Symbol 0111 Dispersion = 01111001 .... Data Channel 4 bits together Tx 16QAM Symbol Rx 16QAM Symbol
Different Modulations in 802.11 01 01 11 11 Dispersion = 01111001 .... Data 2 bits together Channel 00 10 00 10 Tx 4QAM Symbol Rx 4QAM Symbol 011110 Dispersion = 01111001 .... Data Channel 6 bits together Tx 64QAM Symbol Rx 64QAM Symbol
Why not always transmit many bits per symbol? e.g., 64QAM or 54Mbps
Weak Channel Induces Errors = 01111001 .... Data Tx 16QAM Symbol
Weak Channel Induces Errors = 01111001 .... Data Weak Channel Tx 16QAM Symbol
Weak Channel Induces Errors High Dispersion = 01111001 .... Data Weak Channel Tx 16QAM Symbol
Weak Channel Induces Errors High Dispersion = 01111001 .... Data Weak Channel Tx 16QAM Symbol Wrongly demodulated symbol
In General ... Weak Channel 0 Moderate 01 Channel 0111 Strong Channel
In General ... Weak Channel 0 6 Mbps Moderate 01 Channel 24 Mbps 0111 Strong Channel 36 Mbps
In General ... Weak Channel 0 6 Mbps Moderate 01 Channel 24 Mbps 0111 Strong Channel 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? 01 01 11 11 00 00 10 10 Channel Tx 4QAM Rx QPSK Tx 16QAM Rx16QAM
Dispersion Independent of Modulation? Testbed 1 Fraction of symbols 0.8 0.6 0.4 BPSK QPSK 16QAM 0.2 64QAM 0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2 2.2 Symbol dispersion magnitude
Dispersion Independent of Modulation? Testbed 1 Fraction of symbols 0.8 0.6 0.4 BPSK QPSK 16QAM 0.2 64QAM 0 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”
Hypothesis: Symbol dispersion is independent of modulation Selection of optimal modulation
Data
BPSK Data 4QAM 16QAM
BPSK Data 4QAM 16QAM
BPSK Data 4QAM 16QAM
BPSK Data 4QAM 16QAM
BPSK Data 4QAM 16QAM
BPSK Data 4QAM 16QAM
BPSK Data 4QAM 16QAM
BPSK Data 4QAM We call it Virtual Channel Replay 16QAM
Channel Replay Vector ✦ AccuRate records dispersion for every symbol in a packet ✦ Creates a vector: Channel Replay Vector (V) d 1 V = {d 1 , d 2 , ...., d n }
Channel Replay Vector ✦ AccuRate records dispersion for every symbol in a packet ✦ Creates a vector: Channel Replay Vector (V) d 1 V = {d 1 , d 2 , ...., d n } ✦ When packet succeeds ✦ All dispersions are known ✦ When packet fails ✦ Approximates V from (known) preamble/postamble
Receiver Channel Demodulator Packet
Receiver Channel Demodulator Channel CRC BPSK Demodulator Packet Replay Check
Receiver Channel Demodulator Channel CRC BPSK Demodulator Packet Replay Check
Receiver Channel Demodulator Channel CRC BPSK Demodulator Packet Replay Check Channel CRC 4QAM Demodulator Replay Check
Receiver Channel Demodulator Channel CRC BPSK Demodulator Packet Replay Check Channel CRC 4QAM Demodulator Replay Check
Receiver Channel Demodulator Channel CRC BPSK Demodulator Packet Replay Check Channel CRC 4QAM Demodulator Replay Check Channel CRC 16QAM Demodulator Replay Check
Receiver Channel Demodulator Channel CRC BPSK Demodulator Packet Replay Check Channel CRC 4QAM Demodulator Replay Check Channel CRC 16QAM Demodulator Replay Check
Receiver Channel Demodulator Channel CRC BPSK Demodulator Packet Replay Check Best Rate Channel CRC 4QAM Demodulator Replay Check Channel CRC 16QAM Demodulator Replay Check
Optimal modulation Optimal rate
Optimal modulation Optimal rate Bit-rate is a function of both modulation and coding
Can we find the optimal <modulation, coding> for a received packet?
Receiver Channel Demodulator Decoder CRC Channel Data BPSK 1/2 Demodulator Decoder Check Replay CRC Channel BPSK 3/4 Demodulator Decoder Check Replay CRC Channel QAM4 1/2 Demodulator Decoder Check Replay CRC Channel QAM4 3/4 Demodulator Decoder Check Replay CRC Channel QAM64 3/4 Demodulator Decoder Check Replay
Receiver Channel Demodulator Decoder CRC Channel 6 Mbps Data BPSK 1/2 Demodulator Decoder Check Replay CRC Channel BPSK 3/4 Demodulator Decoder Check Replay CRC Channel QAM4 1/2 Demodulator Decoder Check Replay CRC Channel QAM4 3/4 Demodulator Decoder Check Replay CRC Channel QAM64 3/4 Demodulator Decoder Check Replay
Receiver Channel Demodulator Decoder CRC Channel 6 Mbps Data BPSK 1/2 Demodulator Decoder Check Replay CRC Channel 9 Mbps BPSK 3/4 Demodulator Decoder Check Replay CRC Channel QAM4 1/2 Demodulator Decoder Check Replay CRC Channel QAM4 3/4 Demodulator Decoder Check Replay CRC Channel QAM64 3/4 Demodulator Decoder Check Replay
Receiver Channel Demodulator Decoder CRC Channel 6 Mbps Data BPSK 1/2 Demodulator Decoder Check Replay CRC Channel 9 Mbps BPSK 3/4 Demodulator Decoder Check Replay CRC 12 Mbps Channel QAM4 1/2 Demodulator Decoder Check Replay CRC Channel QAM4 3/4 Demodulator Decoder Check Replay CRC Channel QAM64 3/4 Demodulator Decoder Check Replay
Receiver Channel Demodulator Decoder CRC Channel 6 Mbps Data BPSK 1/2 Demodulator Decoder Check Replay CRC Channel 9 Mbps BPSK 3/4 Demodulator Decoder Check Replay CRC 12 Mbps Channel QAM4 1/2 Demodulator Decoder Check Replay CRC 18 Mbps Channel QAM4 3/4 Demodulator Decoder Check Replay CRC 54 Mbps Channel QAM64 3/4 Demodulator Decoder Check Replay
Recommend
More recommend