AccuRate: Constellation Aware Rate Estimation in Wireless Networks - - PowerPoint PPT Presentation

accurate constellation aware rate estimation in wireless
SMART_READER_LITE
LIVE PREVIEW

AccuRate: Constellation Aware Rate Estimation in Wireless Networks - - PowerPoint PPT Presentation

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


slide-1
SLIDE 1

AccuRate: Constellation Aware Rate Estimation in Wireless Networks

Souvik Sen,

Naveen Santhapuri, Romit Roy Choudhury, Srihari Nelakuditi

slide-2
SLIDE 2

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

slide-3
SLIDE 3

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

slide-4
SLIDE 4

✦ 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

Current Wireless Rate Selection

Data ACK

Remember History

Data SNR

Frame Based SNR Based

SampleRate, RRAA RBAR, CHARM

slide-5
SLIDE 5

Ideally Tx wants optimal rate for next packet

slide-6
SLIDE 6

Ideally Tx wants optimal rate for next packet

Function of optimal rate of the previous packet

slide-7
SLIDE 7

Ideally Tx wants optimal rate for next packet

Function of optimal rate of the previous packet

slide-8
SLIDE 8

Ideally Tx wants optimal rate for next packet

Function of optimal rate of the previous packet

Given a transmission at rate R, what would have been the max rate R*, at which that transmission would have been successful

In other words,

slide-9
SLIDE 9

Ideally Tx wants optimal rate for next packet

Function of optimal rate of the previous packet

Given a transmission at rate R, what would have been the max rate R*, at which that transmission would have been successful

In other words,

We propose AccuRate

slide-10
SLIDE 10

Background: Symbols, Modulation, Bit-rate

slide-11
SLIDE 11

01111001 ....

11 00 10 01

Tx 4QAM Symbol

Data

=

Physical Layer Symbols

slide-12
SLIDE 12

2 bits together

01111001 ....

11 00 10 01

Tx 4QAM Symbol

Data

=

Physical Layer Symbols

slide-13
SLIDE 13

2 bits together

01111001 ....

11 00 10 01

Tx 4QAM Symbol

Data

=

Physical Layer Symbols

slide-14
SLIDE 14

01111001 ....

11 00 10 01

Tx 4QAM Symbol

Data

=

Symbols to Modulation

slide-15
SLIDE 15

2 bits together

01111001 ....

11 00 10 01

Tx 4QAM Symbol

Data

=

Symbols to Modulation

slide-16
SLIDE 16

2 bits together

01111001 ....

11 00 10 01

Tx 4QAM Symbol

Data

=

Symbols to Modulation

11 00 10 01

Rx 4QAM Symbol

11 01 11 01

Channel

slide-17
SLIDE 17

2 bits together

01111001 ....

Dispersion

11 00 10 01

Tx 4QAM Symbol

Data

=

Symbols to Modulation

11 00 10 01

Rx 4QAM Symbol

11 01 11 01

Channel

slide-18
SLIDE 18

2 bits together

01111001 ....

Dispersion

11 00 10 01

Tx 4QAM Symbol

Data

=

Symbols to Modulation

11 00 10 01

Rx 4QAM Symbol

11 01 11 01

Channel

slide-19
SLIDE 19

Dispersion

11 00 10 01

Rx 4QAM Symbol

2 bits together

01111001 ....

Data

=

Symbols to Modulation

11 00 10 01

Tx 4QAM Symbol

Channel

slide-20
SLIDE 20

Dispersion

11 00 10 01

Rx 4QAM Symbol

2 bits together

01111001 ....

Data

=

Symbols to Modulation

11 00 10 01

Tx 4QAM Symbol

Channel

slide-21
SLIDE 21

Different Modulations in 802.11

Tx 16QAM Symbol

2 bits together

01111001 ....

Data

=

11 00 10 01

Tx 4QAM Symbol

Channel

Dispersion

11 00 10 01

Rx 4QAM Symbol 4 bits together

01111001 ....

Data

=

0111

Channel

Rx 16QAM Symbol

Dispersion

slide-22
SLIDE 22

Different Modulations in 802.11

2 bits together

01111001 ....

Data

=

11 00 10 01

Tx 4QAM Symbol

Channel

Dispersion

11 00 10 01

Rx 4QAM Symbol 6 bits together

01111001 ....

Tx 64QAM Symbol

011110

Data

=

Rx 64QAM Symbol

Channel

Dispersion

slide-23
SLIDE 23

Why not always transmit many bits per symbol?

e.g., 64QAM or 54Mbps

slide-24
SLIDE 24

Weak Channel Induces Errors

Data

01111001 ....

=

Tx 16QAM Symbol

slide-25
SLIDE 25

Weak Channel Induces Errors

Data

01111001 ....

=

Tx 16QAM Symbol Weak Channel

slide-26
SLIDE 26

High Dispersion

Weak Channel Induces Errors

Data

01111001 ....

=

Tx 16QAM Symbol Weak Channel

slide-27
SLIDE 27

High Dispersion

Weak Channel Induces Errors

Data

01111001 ....

=

Tx 16QAM Symbol Weak Channel

Wrongly demodulated symbol

slide-28
SLIDE 28

In General ...

01

Strong Channel Moderate Channel Weak Channel

0111

slide-29
SLIDE 29

In General ...

01

Strong Channel Moderate Channel Weak Channel

0111

6 Mbps 24 Mbps 36 Mbps

slide-30
SLIDE 30

In General ...

01

Strong Channel Moderate Channel Weak Channel

0111

6 Mbps 24 Mbps 36 Mbps

Smaller dispersion permits higher rate

slide-31
SLIDE 31

AccuRate

Design and Implementation

slide-32
SLIDE 32

AccuRate

Design and Implementation

Hypothesis: Symbol dispersion is independent of modulation

slide-33
SLIDE 33

Dispersion Independent of Modulation?

11 00 10 01

Tx 4QAM Tx 16QAM

Channel

11 00 10 01

Rx QPSK Rx16QAM

slide-34
SLIDE 34

Dispersion Independent of Modulation?

0.2 0.4 0.6 0.8 1 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2 2.2

Fraction of symbols Symbol dispersion magnitude

Testbed BPSK QPSK 16QAM 64QAM

slide-35
SLIDE 35

Dispersion Independent of Modulation?

0.2 0.4 0.6 0.8 1 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2 2.2

Fraction of symbols Symbol dispersion magnitude

Testbed BPSK QPSK 16QAM 64QAM McKinley et. al., 2004, “EVM calculation for broadband modulated signals”

slide-36
SLIDE 36

Selection of optimal modulation

Hypothesis: Symbol dispersion is independent of modulation

slide-37
SLIDE 37

Data

slide-38
SLIDE 38

Data

BPSK 4QAM 16QAM

slide-39
SLIDE 39

Data

BPSK 4QAM 16QAM

slide-40
SLIDE 40

Data

BPSK 4QAM 16QAM

slide-41
SLIDE 41

Data

BPSK 4QAM 16QAM

slide-42
SLIDE 42

Data

BPSK 4QAM 16QAM

slide-43
SLIDE 43

BPSK 4QAM 16QAM

Data

slide-44
SLIDE 44

BPSK 4QAM 16QAM

Data

slide-45
SLIDE 45

BPSK 4QAM 16QAM

Data

We call it Virtual Channel Replay

slide-46
SLIDE 46

✦ AccuRate records dispersion for every symbol in a packet

✦ Creates a vector: Channel Replay Vector (V)

Channel Replay Vector

d1

V = {d1, d2, ...., dn}

slide-47
SLIDE 47

✦ AccuRate records dispersion for every symbol in a packet

✦ Creates a vector: Channel Replay Vector (V)

✦ When packet succeeds

✦ All dispersions are known

✦ When packet fails

✦ Approximates V from (known) preamble/postamble

Channel Replay Vector

d1

V = {d1, d2, ...., dn}

slide-48
SLIDE 48

Channel

Receiver

Demodulator

Packet

slide-49
SLIDE 49

Channel

Receiver

Demodulator

Packet

BPSK Channel Replay Demodulator CRC Check

slide-50
SLIDE 50

Channel

Receiver

Demodulator

Packet

BPSK Channel Replay Demodulator CRC Check

slide-51
SLIDE 51

Channel

Receiver

Demodulator

Packet

BPSK Channel Replay Demodulator CRC Check 4QAM Channel Replay Demodulator CRC Check

slide-52
SLIDE 52

Channel

Receiver

Demodulator

Packet

BPSK Channel Replay Demodulator CRC Check 4QAM Channel Replay Demodulator CRC Check

slide-53
SLIDE 53

Channel

Receiver

Demodulator

Packet

BPSK Channel Replay Demodulator CRC Check 4QAM Channel Replay Demodulator CRC Check 16QAM Channel Replay Demodulator CRC Check

slide-54
SLIDE 54

Channel

Receiver

Demodulator

Packet

BPSK Channel Replay Demodulator CRC Check 4QAM Channel Replay Demodulator CRC Check 16QAM Channel Replay Demodulator CRC Check

slide-55
SLIDE 55

Channel

Receiver

Demodulator

Packet

Best Rate

BPSK Channel Replay Demodulator CRC Check 4QAM Channel Replay Demodulator CRC Check 16QAM Channel Replay Demodulator CRC Check

slide-56
SLIDE 56

Optimal modulation Optimal rate

slide-57
SLIDE 57

Optimal modulation Optimal rate Bit-rate is a function of both modulation and coding

slide-58
SLIDE 58

Can we find the optimal <modulation, coding> for a received packet?

slide-59
SLIDE 59

Channel

Receiver

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

slide-60
SLIDE 60

Channel

Receiver

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

slide-61
SLIDE 61

Channel

Receiver

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

slide-62
SLIDE 62

Channel

Receiver

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

slide-63
SLIDE 63

Channel

Receiver

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

slide-64
SLIDE 64

Channel

Receiver

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

Best Rate

54 Mbps

slide-65
SLIDE 65

Performance Evaluation

✦ Used 802.11 like Tx and Rx design on USRP/GnuRadio

Modulation: BPSK, QPSK, 16QAM, 64QAM

Coding: 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

Simulator

slide-66
SLIDE 66

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

slide-67
SLIDE 67

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

slide-68
SLIDE 68

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

slide-69
SLIDE 69

Can we estimate the optimal rate?

For correctly received packets, 100% in Simulation, 95% in Testbed

0.2 0.4 0.6 0.8 1

  • 1

1

Fraction of Packets (AccuRate Rate) minus (Optimal Rate)

Simulation AccuRate correct-packets AccuRate using preamble AccuRate pre+postamble

0.2 0.4 0.6 0.8 1

  • 1

1

Fraction of Packets (AccuRate Rate) minus (Optimum Rate)

Testbed AccuRate correct-packets AccuRate using preamble AccuRate pre+postamble

Simulation Testbed

Optimal Optimal

slide-70
SLIDE 70

AccuRate needs to detect Interference

slide-71
SLIDE 71

AccuRate needs to detect Interference

Rate selection needs to be independent of interference

slide-72
SLIDE 72

How to Detect Interference?

✦ Interference causes substantial symbol dispersion

Interference

slide-73
SLIDE 73

How to Detect Interference?

✦ Interference starts first: Preamble with high dispersion ✦ Interference starts second: Postamble with high dispersion

Data Data

Interference Interference

slide-74
SLIDE 74

How to Detect Interference?

✦ Interference starts first: Preamble with high dispersion ✦ Interference starts second: Postamble with high dispersion

Compare preamble with postamble dispersion

Data Data

Interference Interference

slide-75
SLIDE 75

Interference Detection Accuracy

0.2 0.4 0.6 0.8 1 1.2 BPSK 1/2 BPSK 3/4 QPSK 1/2 QPSK 3/4 QAM16 1/2 QAM16 3/4

Fraction of Lost Packets

Bit Rate

Testbed AccuRate Softrate

Testbed

slide-76
SLIDE 76

Interference Detection Accuracy

Detection Accuracy is better at higher rates (95%)

0.2 0.4 0.6 0.8 1 1.2 BPSK 1/2 BPSK 3/4 QPSK 1/2 QPSK 3/4 QAM16 1/2 QAM16 3/4

Fraction of Lost Packets

Bit Rate

Testbed AccuRate Softrate

Testbed

slide-77
SLIDE 77

Estimation Performance with Interference

0.2 0.4 0.6 0.8 1 1.2 BPSK 1/2 BPSK 3/4 QPSK 1/2 QPSK 3/4 QAM16 1/2 QAM16 3/4

Fraction of Lost Packets Bit Rate

Testbed-AccuRate Overselect Accurate Underselect

Correct Over select Under select

Testbed

slide-78
SLIDE 78

Estimation Performance with Interference

91% accuracy in Optimal rate selection

0.2 0.4 0.6 0.8 1 1.2 BPSK 1/2 BPSK 3/4 QPSK 1/2 QPSK 3/4 QAM16 1/2 QAM16 3/4

Fraction of Lost Packets Bit Rate

Testbed-AccuRate Overselect Accurate Underselect

Correct Over select Under select

Testbed

slide-79
SLIDE 79

AccuRate estimates the optimal rate for an already received packet

What is the performance if the next transmission uses this rate?

slide-80
SLIDE 80

Throughput at Walking Speeds

0.2 0.4 0.6 0.8 1 1 2 3 4 5 6 7 8 9 10 11

Normalized Throughput Walking Trace Number

Testbed AccuRate Softrate SNR based

Testbed

slide-81
SLIDE 81

Throughput at Walking Speeds

0.2 0.4 0.6 0.8 1 1 2 3 4 5 6 7 8 9 10 11

Normalized Throughput Walking Trace Number

Testbed AccuRate Softrate SNR based

AccuRate achieves 87% of the optimal throughput

Testbed

slide-82
SLIDE 82

Throughput under Mobility

AccuRate performs well even under high mobility

2 4 6 8 10 12 14 16 18 1ms .5ms .2ms .1ms

Throughput (Mbps) Channel Coherence Time

Simulation AccuRate Softrate SNR based

slide-83
SLIDE 83

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

slide-84
SLIDE 84

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

slide-85
SLIDE 85

Questions, Comments?

____________________________

Thank You

Duke SyNRG Research Group

http://synrg.ee.duke.edu