# Evaluation of the Effects of Hidden Node Problems in IEEE 802.15.7 Uplink Performance
## 6 Solution Proposal to the Hidden Node Problem
### Model Description  
As described in Section 3.2.1, the IEEE 802.15.7 standard indicates that sending an idle pattern is required for the coordinator during idle or receive operation to ensure continuous illumination. The solution we propose is based on selecting the appropriate type of idle pattern sent by the coordinator, depending on whether or not it is receiving transmissions from the devices, as such it is described below:  
1. When the coordinator does not receive transmissions from the devices, it sends an out-of-band idle pattern. Thus, devices wishing to make uplink transmissions during CAP detect the channel idle when they invoke the CCA function during CSMA/CA procedure. Figure 14a shows an example of this situation: coordinator sends an out-of-band idle pattern and devices 1 and 2 detect the channel idle, so they can continue to transmit.
2. When the coordinator receives a transmission from one or more devices, it sends an in-band idle pattern. Thus, devices wishing to make uplink transmissions during CAP detect the channel as busy when they invoke the CCA function during CSMA/CA procedure. Figure 14b shows an example of this situation: coordinator sends an in-band idle pattern when receiving the transmission from device 1, and device 2 detects the channel as busy.  
Our proposed solution has the advantage of not requiring modifications to the specifications defined in the IEEE 802.15.7 standard for PHY and MAC layers in devices and coordinators. However,  
\begin{table}
\begin{tabular}{c c c c} \hline \hline
**N** & & **Current Consumption** & **Current Consumption** \\ **(Number of Devices)** & **Network Load** & **with no Hidden Nodes** & **with Hidden Nodes** \\  & & **(mA/byte)** & **(mA/byte)** \\ \hline \multirow{2}{*}{4} & **50\%** & \(1.89\times 10^{-7}\) & \(2.08\times 10^{-6}\) \\  & **100\%** & \(1.96\times 10^{-7}\) & \(2.51\times 10^{-5}\) \\  & **200\%** & \(2.09\times 10^{-7}\) & \(1.45\times 10^{-3}\) \\ \hline \multirow{2}{*}{16} & **50\%** & \(1.91\times 10^{-7}\) & \(2.76\times 10^{-6}\) \\  & **100\%** & \(2.00\times 10^{-7}\) & \(4.27\times 10^{-5}\) \\ \cline{1-1}  & **200\%** & \(2.19\times 10^{-7}\) & \(2.62\times 10^{-3}\) \\ \hline \hline \end{tabular}
\end{table}
Table 5: Comparison of current consumption per payload byte.  
according to the results published in some papers, such as [43], simultaneous transmission of optical signals on both directions-- idle patterns in downlink direction and frames in uplink direction--may produce mutual interference. Therefore, to minimize such interference, it is necessary to configure PHY layers in devices and coordinators in order to employ different wavelength bands for each transmission direction. According to the IEEE802.15.7 standard, the PHY layer allows the selection of wavelength bands by means of the so called Band Plan Ids, which indicate the codes corresponding to the wavelengths containing the spectral peak for the transmitted frames. Band Plan Ids are indicated in the PHY header, and may be used by the receiver for optimizing its performance in order to minimize the interference.