# VLC Network Design for High Mobility Users in Urban Tunnels
## 5 Evaluation Methodology
### Network Simulation Tool  
To emulate the real-time interactions of every vehicular node in the VLC network, a system-level simulation platform has been implemented. In this way, we can estimate the handover execution time since the system detects when a vehicle leaves a cell and until the next cell can communicate with this vehicle. The tool is designed based on the OMNet++ platform, which provides flexibility and modularity to the simulation model. With this approach, the vehicular nodes, and communication frames are represented by object-oriented components that enable to execution of the protocol decisions during the communication. Additionally, the network configuration is settled using a simple language named NED, which allows scaling the network size easily and automatizes multiple simulations. Despite OMNet++ helping to simulate the most common communication protocols such as INET, nowadays, there is not an open-source OMNet++ framework for VLC systems. For this reason, we needed to develop our component-based simulation libraries for the VLC framework in OMNet++. Figure 10 displays the simulation organization for the developed VLC network. It consists of three main modules: vehicular node, infrastructure module, and network controller module. Each module is composed of several subprograms to provide the signal propagation properties and the multiple logical processes. At the same time, the vehicular node and infrastructure module exchange information using a \"message\" object with the most relevant fields of the frame format defined in the IEEE 802.15.7 standard. Thus, we have also developed a special object-oriented program called \"Message\" that symbolizes the frame transmission and permits interaction between these components. Figure 11 shows the \"message\" frame format used in the simulations. Additionally, this message has extra information for providing more realistic simulations. We have organized the vehicular node and infrastructure module into two components: PHY and MAC layers. While the PHY layer evaluates packet transmissions, the MAC layer performs the logical decisions according to the frame control information of each message. Therefore, the proposed network simulator requires a set of physical layer modules connected to a controller to simulate the network receivers' distribution. This controller will filter the redundant frames and send the frame representation message to the corresponding MAC layer submodule. Since the channel access and other controls are managed individually, they require an individual logical decision submodule. Consequently,the infrastructure module consists of the same set of MAC layer submodules joined to the controller. They will receive the frame and resolve the corresponding protocol action. The PHY layer submodule evaluates the VLC link status and channel properties to determine when it is physically possible to receive a frame. The same PHY layer submodule is implemented both in the vehicular node and the AP node. Figure 12 shows the internal organization of the PHY layer block. It only takes care of the signal transmission, so it processes all incoming frames without segregating or ignoring them by their header information (OWPAN ID or destination address). First, the transmitter puts a stamp in the \"message\" frame with its spatial information. When any node receives this \"message\" it calculates the channel impact on the transmission using MMC with 50,000 random rays and 3 rebounds each. MMC is done considering the specific radiation pattern of both light sources (tunnel streetlights and vehicle headlights), they are shown in Figure 12. Both patterns differ from the typical Lambertian profile and were modeled using the technical information of tunnel streetlamps and experimental measurements from a car headlight. Additionally, the reflection coefficient from concrete and asphalt were considered with a value of 0.17 and 0.07 respectively [59]. Figure 11: “Message” structure of the frame format in the simulation.