A typical model for rate adaptation contains a transmitter, a receiver, a forward channel, and a feedback channel, as shown in Figure1. Packets arrive from the higher layers into the transmit buffer according to a certain random process (e.g., a Poisson or Bernoulli distribution). The transmitter selects a packet from the buffer and sends it over the channel with one of the transmission rates in each frame slot. The receiver demodulates and decodes the received signal and also estimates and sends the channel information back to the transmitter through the feedback channel.
In this paper, we use a constant transmission power, although there are several works that consider power adaptation[12, 17, 18]. Our results are applicable in the low-cost transmitters that usually use the default power settings and do not change the transmit power at a packet level.
2.1 Dynamic transmit rate
We use a frame structure as described in the IEEE 802.11 standard. One frame is composed of a short preamble, a long preamble, a header symbol, and several data symbols[19], as shown in Figure2. Both the short preamble and the long preamble have a duration of two OFDM symbols. The header has a duration of one symbol. We assume the packet is L bytes. In the data symbols, there are 16-b service data and six convolutional code tail bits. Let R
n
denote the number of data bits that can be transmitted in one OFDM symbol at rate n, as shown in Table1[19]. The transmitter sends one packet every frame slot. The packet length could be from 1 to 2,047 B. The number of symbols in a frame is
(1)
Table 1
Transmission rate parameters for IEEE 802.11 a/g systems
Let Ts denote the duration of one OFDM symbol. In this paper, we assume a constant payload size. Moreover, if there are no packets in the buffer, the transmitter may still send probe frames that only include the preamble and header symbol to enable the receiver to continue to measure the channel quality. The frame slot duration, Tf, is
(2)
where Td is a fixed-time delay including demodulation, decoding, and feedback. The number of packets in the buffer equals m.
The variation of PER with SNR, γ, for rate n is denoted by PER
n
(γ). Since it is challenging to get a closed form expression of PER
n
in a coded system, we use the following approximation from[14] to denote the PER as
(3)
where a
n
and g
n
are the parameters to describe PER for rate n, and γ is the SNR value. The parameters for packet length L = 1,024 B are shown in Table2.
Table 2
PER approximation parameters for each rate in our system model
2.2 Diverse offered load
In general, we assume that the packets arrive randomly at the buffer. Although long-range dependence in network traffic is well accepted in literature, recent studies show that current network traffic can be well represented by the Poisson model for sub-second time scales[20]. In this paper, we model the arrivals as a Poisson process with an average packet arrival rate of λ packets per second. In one time interval t, the probability of k packets arriving, p
K
(K = k|t), is given by[21]
(4)
Hence, during a packet transmission at rate n, if there are m packets in the buffer, the probability of k packets arriving, p
K
(K = k|m,n), is given by
(5)
2.3 Dynamic channel quality
For the wireless channel, a Rayleigh fading model is a good approximation and agrees well with empirical observations for mobile wireless links[22]. Let γ denote the received SNR. The distribution of γ can be expressed as[22]
(6)
where is the expected value of SNR.
We divide the whole SNR region into N non-overlapping regions. The number of feasible rates in which packets can be transmitted is also N. We define the thresholds as γ0 = 0 < γ1⋯ < γ
N
= ∞. If the instantaneous SNR falls into the region between γ
n
and γn+1, we say the channel is in state n and we use rate n to transmit.
Assume is the probability that the channel quality falls into the region [γ
n
,γn+1). We can calculate using (6) as
(7)
For simplicity, we assume the channel is block-fading. Let C
i
denote the channel state in the i th frame slot with a duration T. The channel keeps the current state or changes to the adjacent states according to the following crossover probability (as in[23, 24]), which is suitable for slow-fading wireless channels.
(8)
(9)
(10)
Here, N
n
is the level-cross-rate of the fading channel, denoted as[24]
(11)
where the Doppler shift fd = v′/λ′ represents the ratio of the relative velocity between the transmitter and the receiver and the carrier wavelength.
When the level-cross-rate increases, the probability for the channel to move to adjacent states increases. When the probability of a certain channel state is small, it is more likely for the channel to move out of the current state. The state transition probability above is based on the assumption of slow-fading wireless channels. This assumption is a good approximation when fd ≪ Tf(m,n)-1, for any m, n.
(12)
2.4 Rate adaptation with statistical buffer information
In this section, we investigate the offered load distribution, buffer size, and fading channel model. To do so, we leverage a steady-state analysis of a joint buffer and channel quality Markov chain to get the optimal rate adaptation thresholds and apply this threshold set for rate adaptation. We model the buffer state transition as a queue service process. If we assume that the buffer is able to accommodate M packets, the buffer state B
i
∈ {0,1,...,M}. We assume (B
i
,C
i
) is the joint buffer and channel state. We then define a transition matrix P, as in (12), where the element p(m,n) → (s,t) denotes p(Bi+1 = s,Ci+1 = t|B
i
= m,C
i
= n), the transition probability from state (B
i
= m,C
i
= n) to state (Bi+1 = s,Ci+1 = t).
Let πi,j denote the probability of buffer state i and channel state j and define the row vector π as
(13)
For the steady state of this system, we have
and
(15)
If the buffer is empty, the transmitter will send probe packets. Clearly, the transmitter will send a packet at the rate corresponding to the current channel state. Hence, the probability distribution of the next channel state depends on both the current channel state and the current buffer status. This dependence is essentially different from the constant-frame-duration model in previous works, in which the channel state transition probability only depends on the current channel state. Also, the buffer state transition depends both on the offered load distribution and the current channel state. Thus, we have
(16)
Now, we first discuss the buffer state transition probability p(Bi+1 = s|B
i
= m,C
i
= n). If the buffer is empty, the next state can be any state from 0 to M, and the buffer state transition only depends on the packet arrival process, as described by (5). If the incoming packets exceed M, all subsequent packets will be dropped due to overflow. However, if there is at least one packet in the buffer, there will be one packet transmitted when a new transmission starts. As a result, the next state can be any state from m - 1 to M. Since the system can transmit at most one data packet in one frame, there is a constraint of s - m ≥ -1. The transition probability of the buffer states is:
(17)
According to the input packet distribution, we have
(18)
For the channel state transition, if the channel is in state 0, it can go to state 1 or stay in the current state. Similarly, if the channel state is N - 1, it can go to state N - 2 or stay in the current state. For the simplicity of the model, we assume that the channel can only stay in the current state or change to the adjacent states in other cases. We have the following transition probability:
(19)
Now, we can solve (14) and obtain the steady-state distribution. Our objective is to minimize the total packet loss due to both buffer overflow and channel corruption. The packet loss due to buffer overflow is
(20)
where v is the available packet space in the buffer and can be described as
(21)
Assume pf(n) is the average PER of the transmission in channel state n, which can be expressed as
(22)
The packet loss objective function could be described as
(23)
where qm,n is the average number of slots in state (m,n) per second. When the buffer is empty, we only send probe packets. As a result, there is only the packet overflow probability without packet corruption in the channel. In other states, packets suffer from both buffer overflow and channel corruption.
(24)
We seek to find the optimum thresholds γ1,…,γN-1 to minimize the total packet loss:
(25)
This problem can be solved using any numerical optimization tools. In our research, we rely on Matlab to achieve the best threshold set for rate adaptation by the following methods: (i) We first sample the SNR with a step of 3 dB within the measured SNR range. (ii) We exhaustively take each combination of the SNR samples as the rate adaptation threshold and calculate the packet loss rate to obtain the optimal set of thresholds. (iii) The threshold search window is narrowed down to 6 dB (a range of 6 dB around the coarse-grained optimal threshold obtained in step ii as the center, based on the fact that the packet loss rate is a convex function of SNR). Then, we apply a finer-grained step (e.g. 1 dB) to the optimal threshold searching window obtained in step iii. We repeat this process till we achieve the expected SNR resolution for the thresholds.
Moreover, similar to the Matlab method, we also empirically search the corresponding threshold set for rate adaptation on an FPGA-based platform with repeatable controlled channel. The difference between the two methods is that in Matlab, we apply the Markov model to calculate the packet loss rate. In hardware experiments, we directly measure the throughput to determine the optimal threshold. However, we show that the results from the two methods converge.
2.5 Rate adaptation with instantaneous buffer information
With instantaneous buffer information available for rate adaptation, the transmitter could potentially make better rate decisions by applying different channel quality thresholds according to different levels of buffer occupancy. Assume that the transmitter has access to the instantaneous buffer status and the channel information before each packet transmission. We continue to use the available packet space notation defined in (21). If the channel is in state n, the packet loss rate,, is expressed as follows:
(26)
Here, the first term is the packet overflow at the buffer, and the second term accounts for the packet corruption over the channel.
For any channel gain γ, the packet loss rate, Ploss, is expressed as
(27)
We seek to find the optimum thresholds γ1,…,γN-1 to minimize the total packet loss:
(28)
We can search the optimal threshold as shown in Figure3. Given a buffer status, we can calculate the packet loss rate for each transmission rate over the entire range of SNR value, as in (26). Then, we plot the packet loss rate versus SNR on the same figure. We then select the crossover point between the two adjacent rates as the optimal threshold between the two channel states. For each value of v, we obtain a set of γ1 to γN-1. As a result, we achieve a two-dimensional threshold matrix γv,n for the transmitter to decide which rate to use with the given channel gain and buffer status.