## 4 Performance Evaluation  
### Numerical Model  
We focus on deriving throughput and energy consumption of the proposed model. We assume saturated and lossy channel conditions for all user priorities. As we assume a lossy channel, the control and data frames may be lost due to error or collisions on the channel. We assume three scenarios: (1) the frames collide on the channel, (2) the data packet including RTS, CTS, and ACK is corrupted due to error on the channel, and (3) the data is successfully transmitted. Let \(n_{i}\) be the finite number of nodes in priority class \(i\). By following [31], the busy channel probability \(p_{i}\) in the priority class \(i\) is given by  
\[p_{i}=b_{i}+(1-b_{i})p_{r} \tag{1}\]  
where \(b_{i}\) and \(p_{r}\) represent conditional collision and error probabilities, respectively. The channel is considered busy when other nodes transmit data. Our \(p_{i}\) is different from [31] because it considers nodes of different user priorities. Let \(p_{e}\) be the average value of BER, we have \(p_{r}=1-(1-p_{e})^{T}\), where \(T\) is the total length of payload in bits and is calculated as  
\[T=Preamble+PHY+MH+L+RTS+CTS+ACK \tag{2}\]  
where \(Preamble\) and \(PHY\) are the physical layer preamble and header, respectively. The MAC header is represented by \(MH\), and the actual data is represented by \(L\). The control packets \(RTS\), \(CTS\), and \(ACK\) indicate transmission of RTS, CTS, and acknowledgement packets, respectively. The expression for \(b_{i}\) is given by  
\[b_{i}=1-(1-\tau_{i})^{n_{i}-1}\prod_{j=0,j\
eq i}^{7}(1-\tau_{i})^{n_{j}} \tag{3}\]  
In Equation (3), \(\tau_{i}\) represents the transmission probability of a node in the priority class \(i\). We calculate the value of \(\tau_{i}\) in the same manner as performed in our previous work in [32]. However, while calculating this value, we assume transmission of RTS and CTS packets. Once \(\tau_{i}\) is known, we can find the probability of a successful transmission for priority class \(i\) using the following equation  
\[s_{i}=n_{i}\tau_{i}\left(1-\tau_{i}\right)^{n_{i}-1}\prod_{j=0,j\
eq i}^{7}(1- \tau_{i})^{n_{j}} \tag{4}\]  
By following [12], the saturation throughput can be obtained as  
\[S=\frac{s_{i}(1-p_{idle})(1-p_{r})T_{L}}{p_{idle}\rho+(1-pidle)(1-ps)T_{c}+p_{ s}(1-p_{idle})(1-(1-p_{e})^{T})T_{s}+p_{s}(1-p_{idle})(1-p_{e})^{T}T_{s}} \tag{5}\]  
where \(p_{idle}\) is the probability of an idle slot time and is given by  
\[p_{idle}=\prod_{i=0}^{7}(1-\tau_{i})^{n_{i}} \tag{6}\]  
In Equation (5), the term \(s_{i}(1-p_{idle})(1-p_{r})\) represents successful transmission on a lossy channel for priority class \(i\), where \(1-p_{idle}\) represents at least one transmission on the channel. The term \((1-pidle)(1-ps)\) represents collisions on the channel, while the term \(p_{s}(1-p_{idle})(1-(1-p_{e})^{T})\) represents an error in transmission. The final term \(p_{s}(1-p_{idle})(1-p_{e})^{T}\) represents successful transmission in a slot time. The term \(T_{L}\) is actual data transmission time. The term \(T_{c}\) represents data collision or when no CTS is received due to collision. The term \(T_{s}\) represents successful data transmission. To consider an error on the channel, we assume the worst scenario where the acknowledgement packet is lost after sending all preceding packets successfully. Therefore, the term \(p_{s}(1-p_{idle})(1-(1-p_{es})^{T})T_{s}\) in the above equation represents that the last packet, i.e., the acknowledgement, is lost. However, since it has already been transmitted, its value cannot be ignored in our calculations. The values of \(T_{c}\) and \(T_{s}\) are as follows  
\[T_{c}=T_{RTS}+2 pSIFS+\rho+\psi \tag{7}\]  
\[T_{s}=T_{H}+T_{RTS}+T_{CTS}+4 pSIFS+T_{ACK}+\rho+\psi \tag{8}\]  
where \(\rho\) and \(\psi\) indicate backoff slot time and propagation delay, respectively. In Equation (7), the node waits for the duration of two pSIFS duration, i.e., one for resuming the backoff counter and another for sending the RTS packet.