# A Comprehensive Worst Case Bounds Analysis of IEEE 802.15.7
## 4 Worst Case Bound Analysis Using Network Calculus
### Maximum Throughput Evaluation  
The maximum throughput of a VLC network, is obviously dependant on the PHY characteristics, but even with high data-rate guarantees at this level, throughput will be heavily influenced by parameters such as burst size, arrival rate and superframe orders. The length of the _IFS_ period is dependent on the size of the superframe in which the data is transmitted. Frames of up to \(aMaxSIFSFrameSize\) octets in length shall be followed by a short interframe space (_SIFS_) period of a duration of at least \(macMinSIFSPeriod\) optical clocks. Frames with lengths greater than \(aMaxSIFSFrameSize\) octets shall be followed by a long interframe space (_LIFS_) period of a duration of at least \(macMinLIFSPeriod\) optical clocks. Burst frames shall have a reduced interframe space (_RIFS_) given by \(macMinRIFSPeriod\). Based on the PHY layer, the VLC network imposes different IFS values, which are tabulated in Table 1.  
The throughput of a VLC network is determined by the maximum amount of data frames carried in the GTS. This number depends on whether the frames are sent with a _SIFS_ or _LIFS_ or _RIFS_ intra-frame spacings. The values of these spacings are defined by the standard and are tabulated in Table 1. Hence, it is mandatory to include _IFS_ for evaluating the maximum throughput for multiple transmissions. When multiple frames with the maximum frame length (\(aMaxPHYframeSize\)) are to be transmitted within the GTS, they must be separated by _LIFS_ periods. Then, the maximum number of frames that can be transmitted is:  
\[N_{LIFS}=\ \frac{T_{s}}{aMaxPHYframeSize+LIFS}\ +1 \tag{14}\] \begin{table}
\begin{tabular}{c c c c} \hline \hline
**PHY** & _macMinLIFS_ & _macMinSIFS_ & _macMinRIFS_ \\ \hline PHY I & 400 & 120 & 40 \\ PHY II & 400 & 120 & 40 \\ PHY III & 400 & 120 & 40 \\ PHY IV & 0 & 0 & 0 \\ PHY V & 0 & 0 & 0 \\ PHY VI & 0 & 0 & 0 \\ \hline \hline \end{tabular}
\end{table} 
Table 1: Inter Frame Spacing (_IFS_) values for physical layer (PHY) layers in optical clocks. Now, if we consider that the GTS is fully used in the data transmission, the duration of the data with _LIFS_ can be given by:  
\[T_{dataLIFS}=T_{s}-(N_{LIFS}-1)LIFS-\delta(IFS) \tag{15}\]  
\(\delta(IFS)\) includes either _SIFS_ that is lower than _aMaxSIFSFrameSize_ or _RIFS_ that is lower than _aMaxRIFSFrameSize_ usually towards the end of the superframe (last data transmission). Similar to _LIFS_, when multiple frames that are transmitted within the GTS are separated by _SIFS_ periods, the maximum number of frames that can be transmitted is given as:  
\[N_{SIFS}=\frac{T_{s}}{aMaxPHYframeSize+SIFS}+1 \tag{16}\]  
Now if we consider that the GTS is fully used in the data transmission, the duration of the data with _SIFS_ can be given by:  
\[T_{dataSIFS}=T_{s}-(N_{SIFS}-1)SIFS-\delta(SIFS) \tag{17}\]  
\(\delta(SIFS)\) includes _RIFS_ that is lower than _aMaxSIFSFrameSize_ towards the end of the superframe (last data transmission). Burst frames in the VLC network are usually separated by _RIFS_, the maximum number of frames that can be transmitted is given as:  
\[N_{RIFS}=\frac{T_{s}}{aMaxPHYframeSize+RIFS}+1 \tag{18}\]  
The duration of the data with _SIFS_ can be given by:  
\[T_{dataRIFS}=T_{s}-N\cdot(RIFS) \tag{19}\]  
The maximum time used in data transmission can now be derived as:  
\[T_{maxData}=\max(T_{dataLIFS},T_{dataSIFS},T_{dataRIFS})=\max\left\{ \begin{aligned} & T_{s}-(N_{LIFS}-1)LIFS-\delta(LIFS)\\ & T_{s}-(N_{SIFS}-1)SIFS-\delta(SIFS)\\ & T_{s}-N_{RIFS}\cdot RIFS\end{aligned} \right\} \tag{20}\]  
The maximum throughput of the VLC network with a data rate of \(C\) can be given as:  
\[Th_{max}=\frac{T_{maxdata}}{BI}\times C \tag{21}\]  
Using Equation (20) in Equation (21), the maximum throughput can be derived as:  
\[Th_{max}=\max\left\{ \begin{aligned} & T_{s}-(N_{LIFS}-1)\cdot LIFS- \delta(LIFS)\\ & T_{s}-(N_{SIFS}-1)\cdot SIFS-\delta(SIFS)\\ & T_{s}-N_{RIFS}\cdot RIFS\end{aligned}