Wireless Communication Systems
@CS.NCTU
Lecture 10: Rate Adaptation
Instructor: Kate Ching-Ju Lin ( 林靖茹 )
PSK and QAM
I Q
‘10’
‘01’
‘11’
I Q
‘0’ ‘1’
I Q
I Q
BPSK QPSK
16QAM 64QAM
1 2 1
2
- 1 2
- 1 2
Agenda
• What is bit-rate adaptation?
• What are the challenges?
• Receiver-based bit-rate adaptation
• Transmitter-based bit-rate adaptation
• Bit-rate adaptation for multicast
Bit-Rates in 802.11
Coding Rate
• Avoid random errors
⎻1/2: Add 1x redundant bits
⎻3/4: Add 1/3x redundant bits
• Haven’t solved the problem yet
⎻Data input: 1, 1, 0, 1, 0, 1, 1, 0, …
⎻After encoding:
1, 1, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 1, 1, 0, 0, ….
⎻Still one bit error Suffer from burst errors
Interleave and De- interleave
Source coding Interleave Modulation D/A
channel
noise
+
1, 1, 0, 1, 0 1, 1, 1, 1, 0, 0, 1, 1, 0, 0
1, 0, 0, 1, 0,
1, 1, 0, 1, 1 1, -1, -1, 1, -1, 1, 1, -1, 1, 1
Decoding De-interleave De-modulation A/D
1, 0, 1, 1, 0,
0, 1, 1, 1, 0 1, 0, 1, 0, 0,
1, 1, 0, 1, 1 1, -1, 1, -1, -1, 1, 1, -1, 1, 1 1, 1, 0, 1, 0
Transmitter
Receiver Create a more
uniform distribution of
errors
Channel Quality vs. Bit- Rate
• When channels are very good
⎻Encode more digital bits as a symbol
• When channels are noisy
⎻Encode fewer data bits as a sample
Why is it affected by the channel quality?
Error Probability vs. Modulations
I
BPSK
Q|noise|
SNR = 10log10 (|signal|
2/|noise|
2)
|signal|
decode correctly
QPSK
I Q
01 11
10 |sig 00
nal|
|noise|
decode incorrectly
Given the same SNR
Given the same SNR, decodable for BPSK,
but un-decodable for QPSK
SNR vs. BER (Bit Error Rate)
802.11 operating region 5dB
Given the same SNR, a higher order
modulation leads to a
higher BER
SNR vs. PDR (Packet Delivery Ratio)
• In 802.11, a packet is received correctly if it passes the CRC check (all bits are correct)
⎻Receive all or none
• Given a SNR value, BER and PDR change with bit- rates
PDR(r) = (1- BER(r))
nThroughput(r)
= PDR(r) * r Throughput
degrades quickly
even with a small
BER
Bit-Rate Selection
• Given the SNR, select the optimal bit-rate that achieves the highest throughput
QPSK
64QAM
Ideal case without considering the protocol overhead
Difficulties with Rate Adaptation
• Channel quality changes very quickly
⎻Especially when the device is moving
• Can’t tell the difference between
⎻poor channel quality due to
noise/interference/collision (high |noise|)
⎻poor channel quality due to long distance (low |signal|)
Ideally, we want to decrease the rate due to low
signal strength, but not interference/collisions
Types of Auto-Rate Adaptation
Transmitter-
based Receiver-Based
SNR-based RBAR, OAR, ESNR
ACK-based ARF, AARF, ONOE Throughput-
based
SampleRate, RRAA
Partial packet ZipTx
Soft information SoftRate
Sync. ACK vs. Async ACK
• Synchronous ACK
⎻Sent immediately after SIFS as a control frame (defined in 802.11)
⎻Cost the minimum overhead
⎻Only know whether the packet is transmitted correctly
• Asynchronous ACK
⎻Sent as a data frame
⎻Cost additional overhead
⎻Can include more detailed information (e.g., error rate)
Tx Rx
backoff Data
ACK
SIFS
backoff A-ACK DIFS
Types of Auto-Rate Adaptation
Selected by Tx Selected by Rx Sync. ACK Async. ACK
Less accurate Higher overhead
Properties
Transmitter-
based Receiver-Based
SNR-based RBAR, OAR, ESNR
ACK-based ARF, AARF, ONOE Throughput-
based SampleRate,
RRAA
Partial packet ZipTx
Soft information SoftRate
Rx-based Adaptation
• Receiver Based Auto Rate (RBAR)
⎻The receiver measures the SNR of the RTS, and picks the optimal rate based on the SNR-to-rate lookup table
⎻Piggyback the selected rate in CTS
• Opportunistic Auto Rate (OAR)
⎻Similar to RBAR, but consider the channel coherence time
⎻If the channel is good, opportunistically send more packets since the channel time of each frame is short
• Pros
⎻More accurate since the Rx can measure the up-to-date channel condition
• Cons
⎻Rely on asynchronous ACK, causing a higher overhead
Tx-based Adaptation
• SampleRate
⎻Default in Linux
• RRAA
⎻Robust Rate Adaption Algorithm
• In common
⎻Probe the packets at a rate not used currently
⎻See if switching to another rate gives a higher throughput
• Differences
⎻Switch the rate by estimating the effective throughput
⎻Switch the rate by measuring the packet loss rate
SampleRate – Tx-based Adaptation
• Default in Linux
• Periodically send packets at a randomly-
sampled bit-rate other than the current bit- rate
⎻Let r* be the current best rate
⎻After sending 10 packets at the best rate, send a packet at a randomly-sampled rate
⎻Estimate the achievable throughput of the sampled rates
pkt1 pkt2 pkt1
… 0 pkt1 pkt1
r*
retry 1
pkt
r’
pkt
retry 2 retry 1 time
pkt1 pkt1
… 0
r*
pkt
r’’
pkt1 …
r*
J. Bicket, “Bit-rate Selection in Wireless Networks,” Ph.D Thesis, MIT,
SampleRate – Throughput Estimation
• How to estimate the effective throughput of a rate?
⎻Calculate the transmission time of a L-bit packet
⎻Consider packet length (l), bit-rate (r), number of retries (n), backoff time
• Select the rate that has the smallest measured
average transmission time to deliver a L-bit packet
pkt1 pkt2 pkt1
… 0 pkt1 pkt1
r*
retry 1
pkt
r’
pkt
retry 2 retry 1 time
pkt1 pkt1
… 0
r*
pkt
r’’
pkt1 …
r*
SampleRate
• Do not sample the rates that
⎻Have failed four successive times
⎻Are unlikely to be better than the current one
• Is thought of the most efficient scheme for static environments
⎻SNR, and thereby BER and best rate, do not change rapidly over time
• Waste channel time for sampling if the
channel is very stable
RRAA – Tx-based Adaptation
• Robust Rate Adaption Algorithm
• Root causes of packet failures
⎻Channel fading: mainly determined by the link distance
⎻Random events: collisions, cross-technique interferenece (e.g., bluetooth or microwave)
• Goal
⎻Robust against random loss: Should not switch the rate due to random channel variation
⎻Responsive to drastic channel changes: Should respond quickly to significant channel changes
S. Wong, H. Yang, S. Lu, V. Bharghavan, “Robust Rate Adaptation for 802.11 Wireless Networks,” ACM MOBICOM, 2006
RRAA
• Use short-term loss ratio to assess the channel
⎻Probe a window of N frames at a bit-rate
⎻Estimate the loss ratio
• Stay unchanged if the loss ratio is acceptable
⎻ Pmin < P < Pmax
• Switch the rate to
⎻A higher one if P < Pmin: imply that the channel is good enough to try the higher rate
⎻A lower one if P < Pmax: imply that the channel is too bad to use the current rate
How to set
P
min, P
max, N?
RRAA – Parameter Configuration
• P
max: Maximum tolerable loss threshold
⎻the effective throughput of the current rate should be no worse than the loss-free throughput at a lower rate
• P
min: Opportunistic rate Increase threshold
⎻Harder to predict because we do not know how good is good enough
⎻Heuristic:
• Window size N
⎻Long enough to capture the minimum probability P
Rate Adaptation for Multicast
• Why it is difficult?
⎻Can only assign a single rate to each packet
⎻But the channel conditions of clients are different
• Possible Solutions
⎻For reliable transmission: select the rate based on the worst node
⎻For non-reliable transmission: provide clients heterogeneous throughput
Reliable Multicast Protocol
• Before rate adaptation, we should first ask:
⎻How to efficiently collect ACK from multicast clients?
• Leader-based Protocol (LBP)
⎻Select one of the receivers as the leader to reply ACK
⎻Leader
if receive successfully, send ACK otherwise, send NACK
⎻Others
if receive successfully, do nothing otherwise, send NACK
⎻Retransmit if the AP receives any NACK
J. Kuri and S. Kasera, “Reliable Multicast in Multi-Access Wireless
Rate Adaptation for Data Multicast
• Rate Adaptive Reliable Multicast (RAM)
⎻Should pick the bit-rate based on the channel of the worst receiver
• Say we have three receivers A, B, and C
⎻Each receiver feedbacks CTS at its optimal rate chosen based on its SNR
⎻The AP detects the lowest rate by measuring the longest channel time occupied by CTS
26
A. Basalamah, H. Sugimoto, and T. Sato, “Rate Adaptive Reliable Multicast MAC Protocol for WLANs,” Proc. IEEE VTC-Spring, May
RTS
CTS
CTS CTS
data
ACK AP
A B C
• Video codec usually allows some losses
⎻Receive more frames better video quality
⎻Receive less frame lower video quality
• No need to receive everything
⎻No need to be constrained by the channel of the worst receiver
• One would expect a video quality
proportional to its channel condition, i.e., differential QoS
⎻Higher SNR better video quality
⎻Lower SNR lower video quality
J. Villalon et. Al., “Cross-Layer Architecture for Adaptive Video Multicast Streaming over Multirate Wireless LANs,” IEEE JSAC,
Rate Adaptation for Video Multicast
• H-ARSM (Hybrid Auto Rate Selection Mechanism)
• Mainly consider two video layers: base layer and enhancement layer
Design principles
• Guarantee a minimum video quality
⎻Ensure that everyone reliably gets the base layer
⎻Again, send at the rate according to the worst receiver
• Pick a more aggressive rate for the enhancement layer
⎻Use the next higher rate if there exist one (or more) receivers with an SNR above the threshold of that rate
Heuristic; not really optimizing for QoS/QoE
Rate Adaptation for Video Multicast
Recent Proposals
• ZipTx
K. Lin, N. Kushman and D. Katabi, “Harnessing Partial Packets in 802.11 Networks,” ACM MOBICOM, 2008
Exploit partial packets with consideration of bit-rate adaptation
• SoftRate
M. Vutukuru, H. Balakrishnan and K. Jamieson, “Cross-Layer Wireless Bit Rate Adaptation,” ACM SIGCOMM, 2009
Exploit soft information to improve selection accuracy
• FARA
H. Rahul, F. Edalat, D. Katabi and C. Sodini, “Frequency-Aware Rate Adaptation and MAC Protocols,” ACM MOBICOM, 2009
Adapt the bit-rate for every OFDM subcarrier
• ESNR
D. Halperin, W. Hu, A. Sheth and D. Wetherall, “Predictable 802.11 Packet Delivery from Wireless Channel Measurements”, ACM
SIGCOMM, 2010