# IEEE 802.11 ax OFDMA Resource Allocation with Frequency-Selective Fading
## 6 Power Control
### CSI Adaptation Algorithm  
Various RUs experience different signal attenuation due to frequency selective fading. This attenuation can be expressed as  
\[PL(s,r)=PL(s_{dist})+P(r_{size})+Fading(s,r)+const \tag{10}\]  
where \(PL(s_{dist})\) is the signal attenuation caused by the distance between the AP and the STA \(s\), \(P(r_{size})\) shows the required power for a particular RU size (the smaller is the RU, the less power is required), and \(Fading(s,r)\) is a fading component. The AP knows \(PL(s,r)\) values for each \(s\) and \(r\), so it is able to determine the possibilities of the STA \(s\) to transmit in RU \(r\) at MCS \(c\). The allocation is constructed based on this information. However, \(Fading(s,r)\) values known to the AP may differ from the actual values.  
Let \(F(s,r)\) be an estimate of \(Fading(s,r)\) value at the AP. Let the information about fading on each STA (\(F(s,r)\) values) be updated on the AP with a period \(T_{fd}\) using channel sounding procedure. Then, some time after the last update, the estimate \(F(s,r)\) might be out of date. In this case, the AP could allocate to the _STA_ such RU and MCS that the transmission will fail, the data will be lost because of deteriorating channel conditions, and the _STA_ will have to retransmit.  
To reduce the number of retransmissions, we propose a closed-loop CSI Adaptation Algorithm that improves the estimate \(F(s,r)\) based on the results of past transmissions. The algorithm has the following idea. If the STA \(s\) fails to transmit in the RU \(r\) for several times in a row, it means that the channel conditions have deteriorated compared to the last update, and therefore the estimate \(F(s,r)\) is increased for this \(STA\) and RU. The reverse is also true: if the \(STA\) makes several consecutive successful transmissions, it reduces the \(F(s,r)\).  
Let us describe the CSI Adaptation Algorithm in detail, see Algorithm 2.  
We use the following notations. Let \(F_{\{T_{fd}\}}(s,r)\) be the \(Fading(s,r)\) at the time of the last update. For each STA \(s\) and each RU \(r\), we introduce counters of successful and failed transmissions \(count_{success}(s,r)\) and \(count_{fail}(s,r)\). Furthermore, \(add(s,r)\) is a variable which indicates how \(F_{\{T_{fd}\}}(s,r)\) should be changed. According to (10), increase (decrease) of this value means increase (decrease) of pathloss \(PL(s,r)\).  
Initially, all the mentioned variables are equal to zero.  
After \(F(s,r)\) values are obtained, the new \(PL(s,r)\) values are calculated. Thus, at the next execution of the scheduling algorithm, it uses new \(PL(s,r)\) values.  
Note that the parameters \(e_{mid}\) and \(e_{up}\) are needed to provide fast recovery (when \(e_{mid}<e_{up}\)) of \(F(s,r)\) if its value was increased before. The variables \(count_{success}(s,r)\), \(count_{fail}(s,r)\) and \(add(s,r)\) are set to zero when actual fading information is received (when \(F_{\{T_{fd}\}}(s,r)\) is updated).  
```
1:Parameters:
2:\(e_{down}\): number of failed transmissions in a row to increase \(F(s,r)\)
3:\(e_{mid}\) and \(e_{up}\): number of successful transmissions in a row to decrease \(F(s,r)\)
4:step: measure of \(F(s,r)\) change
5: Let \(s\) be assigned to \(r\) by the greedy algorithm
6:if Transmission failed then
7:\(count_{fail}(s,r)\gets count_{fail}(s,r)+1\)
8:\(count_{success}(s,r)\gets 0\)
9:if\(count_{fail}(s,r)\geq e_{down}\)then
10:\(count_{fail}(s,r)\gets 0\)
11:\(add(s,r)\gets add(s,r)+1\)
12:endif
13:else
14:\(count_{success}(s,r)\gets count_{success}(s,r)+1\)
15:\(count_{fail}(s,r)\gets 0\)
16:if\(add(s,r)>0\)then
17:\(e\gets e_{mid}\)
18:else
19:\(e\gets e_{up}\)
20:endif
21:if\(count_{success}(s,r)\geq e\)then
22:\(count_{success}(s,r)\gets 0\)
23:\(add(s,r)\gets add(s,r)-1\)
24:endif
25:endif
26:\(F(s,r)=F_{\{T_{fd}\}}(s,r)+add(s,r)\times step\)
```  
**Algorithm 2** CSI Adaptation Algorithm.