# PROFEE: A Probabilistic-Feedback Based Speed Rate Adaption for IEEE 802.11 bc
## 3 Estimation of the Number of STAs Receiving Broadcast Messages Correctly/Incorrectly
Message \(M_{2}\) is received correctly by \(STA_{1}\) and \(STA_{2}\), and both transmit an ACK with probability \(p_{ACK}\). In the example, both STAs transmitted an ACK, resulting in a collision in the AP. For message \(M_{3}\), none of the three STAs received it correctly, and none transmitted a NACK, resulting in a silence event. Similarly, message \(M_{4}\) resulted in a correct reception of one ACK, \(M_{5}\) resulted in a collision of NACKs, and \(M_{6}\) resulted in a silence event. To estimate the number of STAs receiving messages correctly/incorrectly, the AP waits for \(2f\) messages (\(f\) messages for NACKs and \(f\) messages for ACKs)--which we call a _frame_--and counts how many of these messages resulted in receiving ACK/NACK messages from only one STA (no collision), received no ACK/NACK feedback (silence), and received multiple ACK/NACK messages from more than one STA (collisions). The AP then counts the number of messages that fall into each of the previous three categories, as shown in Figure 2, where it is possible to see in this example that, for 20% of transmitted messages, the AP could decode a feedback message (i.e., correct feedback), for 50% of the messages no feedback response was received (i.e., silence), and for 30% of the messages more than one response was received causing a collision. In most cases, the distribution of the three events will be different depending on whether it corresponds to ACK or NACK messages, the probabilities of sending ACK/NACK feedback, the density of STAs, and the dimensions of the scenario. Not all possible values for \(p_{ACK}\) and \(p_{NACK}\) allow the AP to accurately estimate the number of STAs receiving messages correctly/incorrectly for a finite number of messages (\(2f\)). However, when \(p_{ACK}\) and \(p_{NACK}\) are tuned correctly, the probabilistic estimation of either number of STAs becomes quite accurate, as shown later. With the transmitted  
Figure 1: Example of ACK and NACK events for three receiving STAs. Black squares: transmitted messages, red squares: NACKs, blue squares: ACKs, white squares: correctly received messages, gray-crossed squares: incorrectly received messages. Figure 2: Example of the distribution of the three events at the end of a frame. messages associated with one of the three possible events, the AP can estimate the number of STAs receiving messages correctly/incorrectly using standard probability functions. The expected number of correct ACK/NACK receptions after \(2f\) messages are transmitted is shown in Equations (1) and (2), respectively. \[E[ACKCorrect]=f\cdot n_{ACK}\cdot p_{ACK}(1-p_{ACK})^{n_{ACK}-1} \tag{1}\]  
\[E[NACKCorrect]=f\cdot n_{NACK}\cdot p_{NACK}(1-p_{NACK})^{n_{NACK}-1}. \tag{2}\]  
\(E[ACKCorrect]\) and \(E[NACKCorrect]\) are the number of ACKs and NACKs received correctly by the AP after transmitting \(2f\) messages, respectively. \(p_{ACK}\) and \(p_{NACK}\) are the probabilities that a STA transmits an ACK or NACK message. Finally, \(n_{ACK}\) and \(n_{NACK}\) are the number of STAs that received messages correctly/incorrectly after \(2f\) messages were transmitted, respectively. Similarly, the expected number of silences related to ACK and NACK messages after \(2f\) messages were transmitted become  
\[E[ACKSilence]=f\cdot(1-p_{ACK})^{n_{ACK}} \tag{3}\]  
\[E[NACKSilence]=f\cdot(1-p_{NACK})^{n_{NACK}}. \tag{4}\]  
Finally, the expected number of collisions related to ACK and NACK messages after \(2f\) messages were transmitted become  
\[E[ACKCollision]=f-E[ACKCorrect]-E[ACKSilence] \tag{5}\]  
\[E[NACKCollision]=f-E[NACKCorrect]-E[NACKSilence]. \tag{6}\]  
From these equations, the AP can compute \(n_{ACK}\) using either Equations (1), (3), or (5). Similarly, the AP can compute \(n_{NACK}\) using either Equations (2), (4), or (6). Thus, the AP has three different, independent, and simultaneous ways of computing the number of STAs receiving messages correctly/incorrectly.