On the Real Experimentation and Simulation Models for Millimeter-Wave

The emergence of millimeter-wave based technologies is pushing the deployment of the 5th generation of mobile communications (5G), on the potential to achieve multi-gigabit and low-latency wireless links. Part of this breakthrough was only possible with the introduction of small antenna arrays, capable to form highly directional and electronically steerable beams. This strategy allowed the overcoming of some drawbacks, but with a higher price: the re-design of the lower layers by introducing beamforming techniques. The impact of these changes is not well studied on the higher layers, in the most recent stacks (IEEE 802.11ad, 3GPP). Thus, the study of real deployments and the use of accurate network simulators play a key role, by enabling the test of complex large-scale scenarios. This article presents a key component missing in the simulation of mmWave networks, a blockage model. To the best of our knowledge, this is first blockage model that emulates the effects of obstacles in the mmWave links. Additionally, a codebook generation of a phased antenna array, with the Quasi-Deterministic (Q-D) channel model is also presented. All models are tested and compared with an outdoor mmWave network using the IEEE 802.11ad standard. The simulated and the real-life tests show similar results, with an average error for the worst case of 2.43% (index ranges) and 4.51% (distance), and to an average standard deviation of about $\mathrm {1.33~ dBm}$ and $\mathrm {2.26 ~dBm}$ .


I. INTRODUCTION
The increase in bandwidth-hungry wireless applications such as high definition video streaming, wireless display, and large file transfer has driven demand for larger bandwidth technologies. Alongside with the spectrum scarcity at the sub-6 GHz bands, this has led to an increasing interest from both academia and industry, in the millimeter-Wave (mmWave) frequency band (30 to 300 GHz), capable to achieve larger bandwidths and thus higher data transfer rates [1]. Moreover, they also allow packing a larger number of antenna elements into a small form factor due to the decrease in the wavelength, when compared with existing wireless technologies in the sub-6 GHz band. There has been significant work on the V-band, located between 57-64 GHz The associate editor coordinating the review of this manuscript and approving it for publication was Masood Ur-Rehman . and 64-71 GHz, specifically in the 7 GHz band between 57-64 GHz, that has been used in the standardised IEEE 802.11ad, a new multi-gigabit wireless standard for Wi-Fi at 60 GHz.
However, the development of such technologies is not without its challenges. First, mmWave transmissions cover less distance for the same amount of power, when compared with the transmission in the 2.4-5 GHz band. This is due to a high propagation loss (loss over 1m at 60 GHz is 68 dB as opposed to 46 dB at 5 GHz [2]). In contrast, oxygen absorption is negligible at short distances at 60 GHz, even though it presents a peak at such frequency [3]. Second, 60 GHz signal propagation follows a quasi-optical behavior [4], where the received signal is composed by a Line-of-Sight (LoS) component and first order reflections from strong materials such as metallic surfaces. Thus, the requirement of a clear LoS path between stations results in a highly directional transmission VOLUME 10, 2022 This work is licensed under a Creative Commons Attribution 4.0 License. For more information, see https://creativecommons.org/licenses/by/4.0/ nature of mmWave communications, and its sensitivity to blockage. The introduction of adaptive active antennas, together with a new Physical layer (PHY) and Medium Access Control (MAC) layer with beamforming techniques poses several challenges that are not fully exploited in these bands. The simulation of such scenarios needs to represent the electronic steerable behaviour, as well as the impact of the highly directional transmission nature in the communication channel. Simulator models that emulate the effects of the blockage at the beam level are very important to accurately understand the impact on higher layers, to propose new mechanisms and algorithms to improve mmWave technology and networks, and to enable the study of large scale mmWave networks.
In this article we deploy a mmWave testbed and, through the knowledge acquired with the real-life setup, we propose and develop a simulation model, upon an existing IEEE 802.11ad model developed by Assasa et al. [5] for the ns-3 simulator. We propose a representation of a steerable antenna with multiple antenna modules with the creation of a codebook of the SiversIMA RFM [6] radio antenna. Then, we propose a blockage model for obstacles of different natures, that is able to accurately represent the blockage in the real scenario. All models are tested and compared with an outdoor deployment of backhaul network. The simulated and the reallife tests show similar results, with an average error for the worst case of 2.43% (index ranges) and 4.51% (distance), and to an average standard deviation of about 1.33 dBm and 2.26 dBm. A study regarding the behavior of the mmWave antenna in a scenario with blockage is also presented, showing and comparing both simulated and real-life results.
The remainder of this article is organized as follows. Section II presents works that use mmWave technology and provides an overview of the existing network simulators and their main drawbacks. Section III introduces the basics of the IEEE 802.11ad protocol. Next, Section IV presents the ns-3 module architecture and the missing modules to include mmWave blockage. Section V overviews the codebook and channel model used to emulate the real-life network in ns-3. Section VI proposes the new blockage model for the ns-3 IEEE 802.11ad module. Section VII introduces the mmWave backhaul in the ns-3 simulator, and section VIII presents the results obtained both in the simulator and in the real-life. Furthermore, it is presented the behavior of the proposed blockage module. Finally, section IX presents the conclusions and directions for future work.

II. SIMULATION IN MMWAVE
The modeling of the mmWave technology is fairly recent, with respect to the main mechanisms and techniques used in the two main available standards: the IEEE 802.11ad and the 3rd Generation Partnership Project (3GPP) release. This section presents some of the most relevant related works presented in the mmWave topic, as well as the network simulator support for the IEEE 802.11ad.

A. MMWAVE RELATED WORKS
In recent years, the attention in the mmWave topic resulted in some experimental works that evaluated the mmWave technology. Most of these research studies were based on IEEE 802.11ad compliant hardware, addressing indoor [7]- [11] and outdoor [12], [13] scenarios. In general, great attention was given to the topics of antenna pattern, communication range, co-channel interference, and blockage. When considering blockage, densely populated urban scenarios are the most addressed, by evaluating the impact of human blockage in the mmWave link [7], using different blockage types (permanent and temporal) [11]. The monitoring of the low layers was also addressed in [9], by proposing a set of techniques to collect metrics such as the Modulation Coding Scheme (MCS), Received Signal Strength Indicator (RSSI) and Signal-to-Noise Ratio (SNR). Regarding the network layer, the topic of Software Defined Network (SDN) was applied to edge content delivery scenarios in [13]. Additionally, the use of relay nodes was evaluated in [10], as a solution to extend the low coverage of the technology. Besides addressing outdoor scenarios, part of these studies are limited due to the use of indoor Commercial Off-The-Shelf (COTS) devices, resulting in the extrapolation of the results for outdoor scenarios [12].
The over-complicated testing process of a real-life testbed added to the inability to test large-scale networks and improve the protocol standard led to the emergence of accurate simulators which could easily overcome these drawbacks. Therefore, some works were made regarding simulations using the 802.11ad protocol. For instance, back in 2010, Cordeiro et al. [4] performed and provided a set of simulation results for typical IEEE 802.11ad use-cases, which allowed them to argue the importance of 802.11ad in the future multi-Gbps wireless communications in the 60 GHz spectrum band. To the best of our knowledge, the only simulation module implementing the IEEE 802.11ad standard was proposed and developed by Assasa et al. [5]. This module was made for ns-3 and implements the different protocol mechanisms, allowing the user to use beamforming codebooks and raytracing files, which give information such as the path loss, delay, and positioning between the network stations.
Other simulation works involving 802.11ad were also made, such as the one by Blumenstein et al. [14] that proposed a 60 GHz indoor channel model for an IEEE 802.11ad Single Carrier PHY (SC-PHY) MATLAB-based simulator. Also, Akhtar et al. [15] proposed and tested, using an eventbased simulator in MATLAB called MMWAVEMAC [16], a novel Directional MAC protocol for Basic Stations that aims to increase the spatial reusability and reduce deafness by specifying in each Ready-To-Send/Clear-To-Send (RTS/CTS) packet the busy nodes and hidden terminal problems.
The ns-3 module described is the most advanced regarding the simulation of mmWave networks, yet there are some drawbacks that need further research and improvement. For instance, regarding losses, is only possible to affect the whole channel, instead of specific transmission sectors, and in performing transmission and reception Beamforming Training (BFT) using antennas with multiple radios. Sometimes the module wrongly calculates and selects the best sectors due to the incapacity to change from radio to radio during the training of multiple radio antennas. Section VI presents the proposed improvements. Additionally, experimental studies also present some limitations regarding the use of outdoor hardware, limiting outdoor experiments to indoor coverage range. To surpass these limitations, the tests performed in this work use specific hardware built for outdoor scenarios [17], enabling a higher range of communication with better signal quality.

B. NETWORK SIMULATORS SUPPORT
Simulators play a crucial role in the development and study of wireless networks, since they are able to test large-scale networks that would be very difficult to assemble in real life. Most of the time they allow the addition of new modules to simulate new network scenarios and protocols, with iterative evolution. Therefore, network simulators become faster and cheaper to build networks, performing tests for any network configuration, as long as it is supported.
Several network simulators emerged, each with different features and support modules, which allow the user to test networks with different protocols and communication systems. Of the existing network simulators, four of the most used are: the Objective Modular Network Testbed in C++ (OMNet++), Riverbed Modeler, NetSim, and Network Simulator 3 (ns-3). Table 1 presents a summary of each simulator. ns-3 is a free-to-use discrete-event network simulator; it is written in C++ and uses Python for binding purposes. ns-3 is the only simulator that has a module that simulates IEEE 802.11ad Wireless Local Area Networks (WLANs), which were proposed by Assasa et al. [5]. Using this module, the simulator can model some of the most important mechanisms, such as the Directional Multi-Gigabit (DMG) Channel Access Periods, the BFT, the Q-D channel model, among others. Due to its broad protocol support and modularity architecture to add new modules, the simulator is widely used for research and education purposes.
ns-3 also contains other developed modules, like the one propose in [18], that addresses a mmWave module with support for different channel models based on the LTE protocol stack (3GPP), providing a trade-off between computation complexity, flexibility, and accuracy of the results. It is built upon the ns-3 LTE module simulating a cellular network (focusing on 3GPP-like scenarios), and therefore not implementing the 802.11ad protocol. Cordeiro et al. [4] tested and analyzed IEEE 802.11ad in several indoor scenarios using an OPNET-based simulator, which used goodput, delay, and packet loss rate measurements. Blumenstein et al. [14]  Based on the previous works, we conclude that, to the best of our knowledge, there is no module that is able to accurately represent the mmWave technology, with a blockage model that emulates the effects of obstacles in the mmWave links.

III. MMWAVE STANDARDS
Given the commercial potential of mmWave communications, multiple international organizations and task groups have emerged for the standardization process in WLAN and Wireless Personal Area Networks (WPAN), including the European Computer Manufacturers Association (ECMA) [19], IEEE 802.15.3 Task Group 3c [20], IEEE 802.11ad standardization task group [21], the Wire-lessHD consortium [22] and the Wireless Gigabit Alliance (WiGig) [23].
The IEEE 802.11ad amendment ratified in 2012 broke new ground with the introduction of the first multi-gigabit WLAN in the 60 GHz mmWave band. Building upon IEEE 802.11ad, IEEE 802.11ay, approved in 2021, incorporates various new features at the PHY and MAC-level, enabling Wi-Fi devices to achieve theoretical peak data rates of up to 100 Gb/s by employing Multiple-Input Multiple-Output (MIMO) techniques, channel bonding, improved channel access, and enhanced BFT.
The following section presents the main features and mechanisms of the PHY and MAC layers of the IEEE 802.11ad protocol, some notes regarding the appliance of mmWave technology to a 5G backhaul, and the improvements proposed in the next WiGig generation. This section takes an overview in the standard where the proposed models will be applied.

A. PHYSICAL LAYER
The IEEE 802.11ad defines a new PHY for 802.11 networks in the 60 GHz frequency band entitled ''DMG PHY'', that is based on multiple-antennas beamforming techniques, capable of compensating the increased attenuation in the 60 GHz band, and in some cases, the interference caused by obstacles during the transmission [24]. The standard defines six 2.16 GHz bandwidth channels around the 60 GHz Industrial, Scientific and Medical (ISM) band (57-66 GHz) [25], and four procedures with different modulation schemes that can format 60 GHz carriers: a) control PHY; b) SC-PHY; c) Orthogonal Frequency-Division Multiplexing (OFDM) PHY; and d) low-power SC-PHY.
The OFDM PHY was initially designed to provide the highest data rates, but is currently obsolete due to the high energy consumption and cost [4]. The SC-PHY enables power-efficient and low-complexity transceiver implementation with data, which is adequate in most high throughput situations. The low-power SC mode is similar to the SC-PHY, but is optimized to save energy in small battery-operated devices [26].   All DMG PHYs follow a similar packet structure to the one presented in Figure 1, only differing in how individual fields are defined and the MCS being used [26]. Each PHY Protocol Data Unit (PPDU) frame consists of multiple fields formed by a Golay sequence: • Preamble -Constituted by two individual fields: the Short Training Field (STF) and Channel Estimation (CE). The preamble is used for packet detection, timing/frequency synchronization, to specify the type of PHY used in the Physical Layer Convergence Protocol (PLCP) Service Data Unit (PSDU) following the preamble, and for channel estimation. While both SC and OFDM share a common preamble, SC uses a longer preamble to be able to operate at a lower SNR [4]; • PHY Header -Different for every PHY, this field specifies information such as the payload length, and the type of modulation mode being used. The field is protected by a Cyclic Redundancy Check (CRC) [5]; • PHY payload -Transmits the actual data with the chosen MCS; • AGC -Optional field that can be appended to all PHY packets to perform Automatic Gain Control (AGC); • TRN -Optional field that can be appended to all PHY packets to optimize the beamforming settings [26].
The IEEE 802.11ad defines a hybrid medium access scheme that uses a wide variety of technologies such as the traditional Carrier Sense Multiple Access with Collision Avoidance (CSMA/CA), Time Division Multiple Access (TDMA), and Polling for channel access in directional networks [27]. This mechanisms allows the support of contention-based channel access, scheduled and dynamic channel time allocation. Each scheme addresses different aspects of mmWave communication, making it suitable for different IEEE 802.11ad use cases.
The standard introduced pseudo-static and dynamic channel time allocations to overcome the omni-directional issues of CSMA/CA. These two new schemes enable a Station (STA) to know in advance the periods in which it can be awake and to know which other STA it should point its antenna pattern to [28].
Under pseudo-static allocation, a contention-free period, known as a Service Period (SP), is allocated in every Beacon Interval (BI) or multiple SPs in a non-periodic manner to the communication of two specific nodes, thereby increasing MAC efficiency as no time is wasted contending for the channel. As the communication between STAs is scheduled and announced during the next BI, each device is aware of the location of the peer before the beginning of each SP, which allows both STAs to steer their antennas towards each other to optimize the reception power. However, since the channel allocation traffic demands are static within a BI, it is difficult to accommodate bursty downstream traffic using this approach [27]. In order to effectively support traffic with these characteristics, the protocol also defines a second mechanism, known as dynamic channel allocation, that implements polling-based channel access during Data Transmission Interval (DTI) and allows polled stations to request channel time to transmit multiple frames [25]. This centralized approach, illustrated in Figure 2, allows the receiver to know the direction of the incoming signal, thus eliminating the deafness problem associated with contentionbased access periods.

1) BEACON INTERVAL
In legacy 802.11 networks, the medium access follows a behavior paced by BIs. The DMG channel access in IEEE 802.11ad is also split into BIs. However, the beacons are transmitted directionally by the Personal Basic Service Set (PBSS) Control Point/ Access Point (PCP/AP), and the BI is now composed by two intervals: the Beacon Header Interval (BHI) and the Beacon Transmission Interval (BTI).
As shown in Figure 2(b), the BI comprises the following access periods [25]: • BTI -PCP transmits a beacon frame/antenna sector to announce the Wi-Fi network existence.  • Announcement transmission interval (ATI)the presence of ATI in the BI is optional and it is used for exchanging management information between beamtrained STAs and PCP. During ATI, STAs can request the allocation of a SP to communicate with a particular STA during the DTI); • Data transmission intervalstations can exchange data frames either using a Contention-Based Access Period (CBAP) or a scheduled SP.

2) BEAMFORMING TRAINING
To cope with the increased attenuation in the 60 GHz, IEEE 802.11ad establishes directional links through a BFT process. The BFT, illustrated in Figure 3, refers to the bidirectional process of determining the appropriate transmit and receive antenna sectors for a pair of stations, and is composed by two phases: Sector Level Sweep (SLS) and an optional Beam Refinement Phase (BRP). During SLS, an initial coarse-grained antenna sector is determined for the initial communication between stations. This phase can be used to train the transmit antenna sectors through Transmitting Sector Sweep (TXSS) or train the receiver antenna sectors through Receive Sector Sweep (RXSS). In the example of Figure 3, only TXSS was performed at both initiator and responder during SLS. During the SLS phase, the involved stations behave once as a transmitter and once as a receiver. For contextualization, the station that transmits first is called the Initiator, while the other is the Responder. During Initiator-TXSS (I-TXSS), the initiator station finds its best antenna sector by sending Sector Sweep (SSW) (or beacons for TXSS at the PCP) frames from each sector sequentially. In contrast, the pairing station sets one of its antennas to receive in a quasi-omnidirectional mode. Each transmit sector is identified via a unique Identifier (ID) inserted in the ID field of the SSW frame sent to the receiver station, and the sector with the strongest SNR is reported back to the transmitter in an SSW feedback frame alongside the SNR value registered. Once the initiator finishes transmitting all SSW frames, the responder repeats the same process (in this case, R-TXSS) by sending SSW frames from each one of its sectors. The SSW frames sent in R-TXSS contain a special field that identifies the initiator's best transmit sector ID, ensuring reception in the pairing node even under unknown optimal configurations. On the other hand, the responder's feedback is transmitted in a single SSW feedback frame. The SLS phase finishes with the transmission of an SSW Acknowledge (ACK) frame by the responder that is used to negotiate details about the following phase. If the link established between the pair of stations is reliable, the RXSS is postponed to the BRP; otherwise, a RXSS is added to the SLS phase [25]. VOLUME 10, 2022 The goal of following the BRP is to fine-tune the antenna settings found in the SLS phase and improve the directional communication quality. For that purpose, STAs can request transmit or receive training by exchanging a BRP packet with either a Transmit Training (TRN-T) or Receive Training (TRN-R) field attached, as shown in the general packet structure of Figure 1. This packet transaction, illustrated in Figure 3(b), allows optimizing the transmit and receive Antenna Weight Vectors (AWVs) independently from the predefined sector patterns tested in SLS. Instead of requiring a frame to be transmitted per sector as in the SLS, the BRP allows multiple antenna configurations to be tested throughout the same frame by appending a training field per configuration.
STAs that have successfully been associated with the PCP can perform STA-STA BFT before data frame exchange during DTI to form a directional multi-gigabit link.
The protocol's behavior here described is crucial for a correct operation of the network simulation, guaranteeing the proper calculation of the transmission and reception sectors. It allows the effective collection of link quality for different network configurations, compared with real-life values, and enables the correct application of the proposed blockage model to the sectors.

B. MMWAVE EVOLUTION: 802.11ay
The next generation WiGig standard, IEEE 802.11ay, provides an enhancement to the DMG PHY layer, the Enhanced DMG (EDMG) MAC layer, and supports MIMO operations by defining new mandatory beamforming mechanisms [29].
Regarding the DMG PHY layer, it supports new technologies like channel bonding and MIMO, enabling faster data rates and the coverage of larger areas. Channel bonding, also referred to as channel aggregation, refers to creating wider channels by aggregating contiguous and/or non-contiguous 2.16 GHz channels to obtain bandwidths up to 8.64 GHz. Single User MIMO (SU-MIMO) enables various streams of information to be sent and received by a single station at a time. In contrast, using an Multiple User MIMO (MU-MIMO) scheme, the data streams are distributed by multiple users using the same frequency resources and spatially apart, increasing network throughput and the spectrum/space utilization [29].
The medium access in IEEE 802.11ay, similarly to IEEE 802.11ad, is also organized in BIs; however, the different phases are extended to support multiple channel use, a primary and a secondary. The management frames and network announcements are transmitted only in the primary channel in the BHI phase to guarantee downward compatibility. The next generation also defines a new mandatory beamforming mechanism composed of two phases, a Single-Input Single-Output (SISO) and a MIMO, for determining the best transmitting and receiving antennas to be used in simultaneous transmissions of multiple spatial streams. Moreover, it defines an optional spatial SLS method that enables fast link recovery in low latency applications, through a group beamforming method that allows multiple stations to be trained simultaneously, support for simultaneous receive and transmit BFT, and support for asymmetric BFT [29] [30].
Due to the limitations regarding equipment available for both outdoor and indoor environments, we did not work with IEEE 802.11ay; however, we look forward to address it in future works, applying the proposed model developed in this work to the simulation module.

IV. NS-3 ARCHITECTURE
This section exposes the simulator architecture regarding the representation of the IEEE 802.11ad mechanisms in the simulator. The ns-3 802.11ad module used in this work [5] implements the IEEE 802.11ad standard upon in the original ns-3 802.11 module, which initially only supports technologies that use CSMA/CA and Omni-directional transmissions. The original module can be divided into four major layers [31]: • MAC High -Implements functions related to management as beacon generation, probing and association; • MAC Low -Implements functions for medium access, packet retransmission, rate control. It also uses the Distributed Coordination Function DCF) and Enhanced DCF channel access (EDCA) functions to manage the transmission of data frames; • WifiPhy -Handles the packet transmission and reception, and decides (according to the signal energy) whether a given packet is received or not. It is also responsible for modeling the reception error at the receiver, and for calculating the interference between STAs; • WifiChannel -Connects the PHY layers of different devices to allow packet transmission between them, modeling the propagation loss and delay to emulate a real-life transmission medium.
The original 802.11 module only supports wireless technologies that use omni-directional operations and CSMA/CA scheme, which is not suitable for 802.11ad. Hence, the new 802.11ad module proposed in [5] adds support for directional transmissions, required in 802.11ad protocol, by adding new methods such as the DmgWifiMac, which extends the capability of the existing WifiMac module to perform DMG transmissions. Figure 4 shows the differences in the architecture between the original 802.11 model and the implemented 802.11ad model by Assasa et al. [5].
The legacy DmgWifiMac gives origin to two new methods, one for each type of network device: the DmgApWifiMac and the DmgStaWifiMac. DmgStaWifiMac implements the behavior of the DMG STAs for each state, such as training the transmission sectors in the A-BFT, receiving frames in the BTI, and responding to request frames in the ATI. On the other hand, DmgApWifiMac implements the procedures handled by the APs.
The DmgWifiMac implements both SLS and BRPs used in both the initial beamforming, between an AP and an STA, and the scheduled SPs between two STAs. As soon as every beamforming operation ends, the information about the SNR of each sector is stored, so the network STA or AP is able to check which is the best sector to receive and/or transmit packets to the pairing node in future transactions.
Furthermore, as the STAs and APs incorporate multiple antennas, most of the time, the 802.11ad model supports BFT of antennas with multiple phased antenna arrays. However, only a single phased antenna array from each mmWave antenna is used during the initial BFT. To train all sectors of the remaining phased antenna arrays, the STA has to request the allocation of an SP to the AP during the DTI access period. Regarding the beamforming in the DTI access period, the STAs involved must inform the AP about their capabilities regarding the number of beamforming transmit and receive sectors in the packet's DMG Capabilities Element. This information is crucial to calculate the duration of each SP.
The module presents some limitations regarding the reception and transmission BFT for antennas with multiple radio modules. These problems were addressed and solved during the execution of this work, being the changes made in the MAC High layer described before. Another drawback of this module, addressed in this work, is its incapacity to simulate attenuation effects in specific transmission sectors instead of affecting the whole channel. So, in Section VI, a new blockage model is proposed, placed at the Channel layer as illustrated in Figure 4.

V. REPRESENTING A BEAM PATTERN MMWAVE ANTENNA
To properly emulate the behavior of a mmWave antenna in the simulator, it is essential to represent it correctly. Thus, this section presents a global overview of the codebook file, the meaning of each field and how it is generated. Then, it presents the steps to generate the codebook file for the mmWave antenna used in the testbed, with a comparison between the simulated radiation patterns and the diagram disclosure by the manufacture, which is used to validate the generated codebook file. At last, it is presented the channel model used in the ns-3 simulation environment to properly simulate the behavior of mmWave links.

A. MMWAVE CODEBOOK: SYNTAX AND TOOLS
The codebook [32] is disposed to give information about the radiation patterns of each sector and the number of antenna arrays of the antenna used in the simulation: the number of Radio Frequency (RF) chains, the number of phased antenna arrays within each RF chain, the identification numbers of the antenna array and the respective RF chain. It also identifies the azimuth and elevation orientation angles covered by each element, the number of antenna elements per phased antenna array, and the number of phase and amplitude quantization bits used to calculate the steering vectors.
In the following, each sector's antenna gain (in dBi) is presented for each azimuth and elevation angle combination. Hence, the matrix is bi-dimensional with size Az × (El × nS). Az represents the azimuth angle variation, generally between −180 and 180 degrees, El represents the elevation angle variation, generally between −90 and 90 degrees, with one degree of resolution, and nS is the number of sectors.
Next, the steering vectors are defined. They are calculated for each antenna element and each combination of azimuth and elevation angles. Therefore, considering a single antenna element, each azimuth and elevation degree combination is presented as two values. The first one represents the steering vector complex modulus, and is obtained by the calculation of its absolute value. The second one represents the steering vector phase angle in radians. Therefore, the matrix which contains the steering vectors is three-dimensional with size Az×(2×El)×Ae, where Ae represents the number of elements that compose each phased array. The multiplication term by 2 means that there are two values for each angle combination. Once again, the resolution is of one degree.
The quasi-Omni AWVs are used, for instance, to form the receive radiation patterns that are used during the BFT operation before the best sector is known, and are defined when the phased antenna array covers the maximum azimuth range. Hence, each antenna element focuses on a specific azimuth angle, so the array covers all the azimuth range for the used phased antenna array. The elevation angle is chosen according to the network that is going to be simulated.
At last, the codebook specifies the AWVs used by each antenna element to form each directional sector, defined by a given azimuth and elevation angle. Firstly, it is indicated the maximum sector number. Then, each sector is presented, one after the other. Each sector is identified by its index, type, and usage. The type indicates if the sector is used only on transmission, reception, or in both cases. The usage specifies if the sector is used in BHI, SLS, or both phases. In the following, the AWVs of each antenna element are presented, according to the specification of the sector. These are chosen VOLUME 10, 2022 according to the specifications of the phased array antenna which is being used. For each sector, all antenna elements of the array focus on the same azimuth and elevation angle to increase the directivity of the radiation pattern, which improves the transmission quality.

B. CODEBOOK GENERATION
The codebook used in the simulation has a crucial role in properly simulating the network. Therefore, each parameter was carefully calculated in MATLAB to be as accurate as possible regarding a real-life antenna. In this case, the ''IEEE 802.11ad Codebook Generator app'' [32] was used to create a beam codebook that describes the radiation properties of the four radios.
To calculate each sector gain, it was considered a microstrip circular antenna element, similar to those which constitute the phased antenna array used to perform the reallife tests. As can be seen in Figure 5, the hardware used is composed of two phased antenna arrays (for transmission and reception), where each phased array is composed of 32 circular patch elements grouped into a 2 × 16 matrix. The weights of each transmission sector are applied to each phased array. Hence, the designed weight matrix has a size of 361 × (181 × 64), where 64 represents the number of considered sectors.
The circular elements designed previously were also considered while calculating the steering vectors for each azimuth and elevation angle combination. So, to generate a phased antenna array similar to the one shown in Figure 5, the azimuth angle range was considered between −180 and 180 degrees, and the elevation angle varied between −90 and 90 degrees. Since the steering vector matrix specifies values for every single element, the size of the steering vector matrix is 361 × (2 × 181) × 32.
The quasi-omni radiation pattern was obtained by using the phased antenna array generated to calculate the steering vectors. To form this radiation pattern, each antenna element must focus on a specific azimuth angle, so that STAs are able to receive packets from others without knowing the best sector. Since the antenna arrays are at the same height, only the azimuth angle varies. Its variation is 90 degrees, as specified by the manufacturer, and thus were considered azimuth angles between −45 and 45 degrees. The obtained radiation pattern for the quasi-omni mode is shown in Figure 6, and is compared with the radiation pattern provided by the manufacturer. As shown, the behavior of both cases is slightly different due to the lack of knowledge about the strategy used in the radio modules to create the quasi-omni pattern.
Finally, the sectors are generated. The phased antenna arrays have 64 sectors over 90 azimuth degrees. Considering the boresight as 0 degrees azimuth, the sectors are also covering the range between −45 and 45 degrees azimuth.
The beamforming codebook generated was validated by comparing the directional beams produced using it, with those originated by the data provided by the manufacturer. Figure 6(b) shows the representation of five beams, each one focused in a different azimuth angle, for both cases. As observed, the beams generated with the codebook have similar behavior to the data obtained in real-life measurements. Regarding the maximum antenna gain for each beam, both values are very close. Even though the azimuth 3 dB beamwidth is slightly wider in the beams obtained with the codebook, consecutive beams have an average peak separation of less than 2 • azimuth. Thus, the drop between beams never reaches 3 dB.

C. QUASI-DETERMINISTIC CHANNEL MODEL
The propagation of mmWave signals, due to their high frequencies, suffers a high level of propagation loss, limiting their coverage area, and can be easily blocked by obstacles, such as buildings or human bodies. Thus, the channel model used to simulate mmWave networks is of significant importance.
Several channel models were developed, such as stochastic and analytical ones. However, most of these models do not characterize correctly the scenarios and the mmWave channel features. This motivated the emergence of ray-tracing techniques that, based on the scenario geometry, are capable of predicting with a high level of accuracy the propagation characteristics of each Multi-Path Component (MPC).
Several works of ray-tracing channel modulation have been developed. For example, Bodi et al. [33] developed a NIST Q-D Channel open-source ray tracer for mmWave networks. This Three-Dimensional ray-tracing was built in a MATLAB environment using real-life measurements. It supports a configuration with multiple nodes and configurable antenna orientation, generating the mmWave Double Directional Channel Response (DDIR) using the Q-D methodology.
To compute the rays, the realization software relies on deterministic and stochastic components. The deterministic component that characterizes the mmWave propagation is captured by geometric ray tracing, corresponding to the LoS path between each pair of nodes. As the physical behavior of some materials is not easily modeled with a deterministic model, NIST has conducted indoor and outdoor tests with mmWave to integrate the deterministic channel model with realistic stochastic models. Therefore, in the simulator, each reflector within the scenario is characterized by the statistical distribution of reflection loss and rough surface scattering to increase the liability of the performed tests.
Each ray is described with its geometrical properties: the propagation length, i.e., the path between a transmitter and a receiver, and the Direction of Arrival (DoA) and Direction of Departure (DoD), which indicates the direction of the transmission and from which it is calculated the Angle of Arrival (AoA) and the Angle of Departure (AoD).
Regarding the other ray characteristics, the delay is defined as the ratio of the path length and the speed of light, in meters per second, the phase is assumed to be rotated by 180 degrees for every reflection and affected by the Doppler effect, which is due to the mobility of the nodes, and the free space path loss is computed using the Friis transmission loss equation given by Path Loss = 20 log 10 4π Path Length where λ 0 is the wavelength in meters. The Doppler effect occurs when a node moves relatively to another. Hence, there is a frequency shift of the transmitted wave. The received signal phase is directly affected by the relative velocity between both nodes in the communication. The referred frequency shift, f , is given by where v is the relative velocity between the transmitter and the receiver, and f 0 is the frequency of the transmitter wave. The phase shift, φ, is given as φ = f × τ , where τ represents the delay. For each pair of devices, the realization software generates a Q-D file, which contains the ray characteristics of each path, such as delay, path loss, phase shift due to propagation, the AoA and the AoD. ns-3 uses the Q-D files to calculate the received power, y, of each transmission, at a given device where x is the transmission power and h BF is the channel impulse response of the beamformed channel given by where N is the number of MPCs, PL i and φ i are the path loss and phase shift of the i th MPC, Y i Rx and Y i Tx are the radiation patterns of the receiver and transmitter, respectively, for the i th MPC, f is the considered frequency of operation and t i represents the delay of the i th MPC.
The 2.16 GHz channel is divided into several equally spaced sub-bands of 5.156 MHz each, corresponding to the sub-carrier spacing for an OFDM PHY. Using the Q-D files, the ns-3 computes the received power per sub-band and converts it to a scalar value that represents the energy of the signal when it reaches the receiver, using an RF filter which applies a flat frequency response over the band. The following equation is used to calculate the received power where N sub−band is the number of sub-bands considered, Rx i is the received power, after the RF filter, for the i ith sub-band, and bw i is the i th sub-band width. For the software to generate a reliable ray tracing, it is essential to describe the scenario correctly. Therefore, the network topology description has to be precise regarding the position and orientation of the network stations over time, and the geometry and materials of the 3D environment, since it will significantly influence the calculation of the multipath component. Another important aspect is the correct configuration of the rays, namely the reflection orders and the diffuse component properties.

VI. A NEW BLOCKAGE MODEL
When testing mmWave networks, the links formed between stations can be negatively affected by obstacles in the channel, as it occurs in [34] where Ali et al. studied the blockage effects in the RSSI of the network links. Thus, to emulate VOLUME 10, 2022 Algorithm 1 Blockage::CalculateAffectedSectors (Void) // b: blockage; // st: station; // rm: radio module; // x, y: represent x and y coordinates, respectively; // l: blockage length in meters; // m: slope of a curve; // up, lw: upper and lower bounds, respectively; // rt: rotation; // it: interception of two curves; // s: beamforming sector; // s2a: corresponds each sectors to its angle. this effect at a simulation level, it is crucial to have a module capable of calculating these effects as accurately as possible. Up to this point, the blockage interference in the 802.11ad module for ns-3 is only considered at the channel level, being all transmission beams affected equally, which does not represent real-life behavior, since it depends on the placement of the blockage relatively to each station. Therefore, to increase the accuracy of the losses introduced by obstacles in the channel, a new blockage model for ns-3 is proposed. This model emulates the effects of obstacles at different positions, of different materials, lengths and thicknesses at beam level and rotation. The model allows the user to add obstacles to the network, which cause interference in the channel connecting two stations by affecting antenna sectors of the phased antenna arrays. The blockage position is referent to the considered coordinate axis used to place the stations on the network. The blockage material is chosen to simulate the impact that different materials have on the transmitted signal. For instance, the interference that a human being and a wood board cause is not the same. Hence, the user can choose the interference impact that is more suitable for the simulation environment. The attenuation per centimeter values of each available material are obtained in [35], which measured the interference suffered in real 60 GHz transmissions. Together with the thickness, it is calculated the maximum obstacle impact caused on the transmission power when obstructing the signal. The length represents the obstacle length (in meters), and the rotation represents the obstacle rotation according to the plane. These two characteristics are used to calculate the maximum affected angular amplitude, considering the relative position of the blockage to each station. Thus, the number of affected sectors will increase with the maximum angular amplitude. Furthermore, the user can also introduce movement to the blockage by defining velocity, pattern, and duration. The simulation instants from which the obstacle movement starts and stops are also a custom parameter.
In ns-3, the described blockage attributes are set using the method SetAttribute of the new class Blockage, which also defines the position of each mmWave device on the network. To activate the blockage, the method Activate-Blockage is used. In the following, the affected sectors of each mmWave antenna are calculated by the CalculateAf-fectedSectors method (Algorithm 1). This method returns the angle between the antenna array boresight and the considered obstacle for each antenna of the mmWave stations, calculated in 11. Then, it matches the range of angles that suffer blockage interference to the sectors which focus on them, between 16 and 24. This way, those sectors, which are obstructed by the blockage, are identified. The length is also considered, so all antenna sectors within the obstacle's coverage range are also considered. The correspondence between angles and sectors is made in the method Angle2Sector and must be congruent with the generated codebook. As shown by the blockage 1 scenario of Figure 7, the obstruction of the LoS path is immediately noticeable in the significant power reduction that will occur in the sector currently being used. On the other hand, as shown in the blockage 2 scenario, if the blockage does not affect the sectors being recently used, its impact can be neglected. As observed, the sectors of a station that focus an azimuth angle within the delimitation of each pair of dashed lines suffer interference as they delimit the angles affected by the obstacles relatively to a given radio module of the considered mmWave antenna. Thus, any signal transmitted by them will suffer interference caused by the blockage.
Next, as a new transmission is undergoing, the method IsBlocked (Algorithm 2) checks if the sector in use is affected by any obstacle using the information recovered before in the CalculateAffectedSectors method. If the sector is contained within the affected area (3), it checks in 6 if the given sector  is already affected by the blockage, i.e., if the loss is already applied. If not, the method returns the loss imposed by the blockage, provided by its type. Otherwise, the method returns zero, as the simulator already considers the blockage loss for the given sector. In this case, the BlockMoving method of the Blockage method is used to introduce mobility to the blockage. According to the movement direction and the traveled distance, which are passed as arguments, this method changes the obstacle's position. Once again, the calculation of the affected sectors is required (14)(15)(16)(17)(18)(19)(20)(21)(22)(23)(24)(25)(26). As a blockage can be removed by the DeactivateBlock method, the affected sectors must be restored, as the interference no longer exists. Therefore, the method IsBlocked predicts these cases, checking the situations when a given sector is not part of the set of sectors that are affected by the blockage, despite being affected by it (28)(29)(30)(31)(32)(33)(34)(35)(36)(37)(38). Thus, the transmission power is restored to the value without the blockage loss, restoring the original value without interference.
The call for the IsBlocked method is made in the channel layer, specifically in the StartRx function of the MultiMod-elSpectrumChannel class, being the blockage handled as any other channel loss. In this class, two new methods are also added, which are crucial to add blockages: the ActivateBlock and IsSectorAffected. The ActivateBlock gives the simulator information about if the blockage is active or not, and IsSec-torAffected updates the transmission power according to the return that obtains from IsBlocked. While adding blockage to the network, as the transmissions occur, the simulator verifies whether or not the obstacle is negatively influencing the used transmission sector. Figure 8 shows the effect of adding a blockage with an angular amplitude of 20 degrees azimuth. As the block is placed at 30 degrees azimuth from the PCP/AP, the sectors between 20 • and 40 • are affected, as the center of the blockage is placed at 30 • and 10 • , which are affected to each side. Thus, the transmissions performed when using them will be affected according to the type and thickness of the blockage introduced to the network.

VII. MMWAVE BACKHAUL IN NS-3
This section presents the mmWave model to be integrated in the simulator in a backhaul topology.

A. USE CASE
The testbed used in these experiments is installed in the city of Aveiro, in the context of the SNOB-5G project, 1 part of the Aveiro Living Lab infrastructure. 2 The project aims to develop a self-optimized, intelligent, fault-tolerant wireless backhaul solution for 5G networks, that uses mmWave nodes installed in urban scenarios, to meet the high bandwidth, capacity, and latency requirements in challenging urban scenarios [36].
The network is composed of seven CCS Metnet 60 GHz nodes [17] similar to those shown in Figure 9. The mesh nodes leverage the standardized 802.11ad technology to form a wireless 5G meshed backhaul, and feature an Element Management System (EMS) based on Hypertext Transfer Protocol Secure (HTTPS) and Simple Network Management Protocol (SNMP) protocol, which provides a graphical overview of the state of the nodes and the mmWave links. The EMS Graphical User Interface (GUI) displays a set of real-time Key Performance Indicators (KPIs) (e.g., Received Channel Power Indicator (RCPI), SNR, MCS, Packet Error Rate (PER)) that are collected for each mesh link and stored inside the local Mongo database through the Application Programming Interface (API).
Although these nodes are designed for deployment on outdoor urban scenarios, such as street lampposts or other urban furniture, in this case, four of these nodes were installed on the rooftop of Aveiro's Instituto de Telecomunicações branch (our premises), ensuring a fully closed and controlled outdoor environment.

B. SIMULATION IN nS-3
The next steps before the validation will be to build a testbed representation in the ns-3 simulator. Starting by the lower layers, the propagation channel is defined, using the generated Q-D files, which are based on the ray-tracing channel modulation (Section V-C).
Next, the channel model is installed in the PHY to create each mmWave station. Based on the characteristics of the mmWave antennas, the PHY has an operation frequency set to 60.48 GHz, and a channel width of 2.16 GHz. The transmission power is specified to 19dBi, and the minimum sensitivity of the antenna is defined as -84.54 dB.
Then, the network devices are created and connected. For this purpose, a NodeContainer with a single AP is created. In the NodeContainer it is installed an internet stack and the mobility of the AP, which maintains its position. Similarly, a NodeContainer is now created for both STAs and terminals, one for each STA. These terminals are responsible for transmitting and receiving packets from the STAs, forwarded by the AP. Then, the MAC layer of the AP is characterized and used to create a NetDeviceContainer of the AP with the PHY and MAC layers parameterized.
Next, another NodeContainer is added, this time for the switch located between the AP and the terminals. Since the AP has wireless and ethernet connections, both are bridged so that it can forward packets from one to the other. Hence, a BridgeNetworkDevice is created, with assigned Internet Protocol (IP) and MAC addresses, for the AP to transmit, receive, and forward packets. An Internet stack and mobility model are installed in the STAs NodeContainer created before, with assigned IP addresses and the respective codebooks. Similarly, the Internet stack is installed, and IP addresses are assigned to each terminal. Then, each terminal is connected to the switch.
Next, the Address Resolution Protocol (ARP) cache of the network devices is populated so that there is no need to exchange ARP packets. It is noteworthy that, as the switches have no MAC address associated, we modified the original PopulateArpCache method used by [27] to ignore this type of device without a defined MAC address. Otherwise, an error occurs due to the inexistence of the switches' MAC addresses, and the simulation fails prematurely.
In the following, to enable the packet exchange of devices, an OnOff Application was installed between the terminals and the STAs. This way it is possible to determine the sectors used between each AP-STA pair and the link RCPI in each transmission. Furthermore, the allocation requests used to train the transmission and reception sectors of each pair of mmWave antennas are also computed in the simulator, using the ComputeBeamformingAllocationSize method of the DmgStaWifiMac class. Regarding the receiving sector training, modifications were made to the original 802.11ad module developed in [27], mainly in the SteerSisoAntennaToward function of the DmgWifiMac class.
Finally, to introduce extra interference in the transmission channel, the parameters of the blockage are configured, and the time in which it becomes active, inactive, or moving through the network, is scheduled. The blockage is defined by its initial position, material, rotation, and length, as explained in Section VI. Moreover, the position of the mmWave antennas is also transmitted as a parameter to define the blockage, since it is used to calculate the affected sectors.

VIII. RESULTS AND VALIDATION
This section presents the results of the simulation model, and its comparison with real experiments. The RCPI values obtained in the simulation environment are presented and compared to those obtained through real-life tests.

A. NO BLOCKAGE SCENARIO
Initially, the tests were performed using two mmWave antennas in a real-life deployment with their separation varying between 25 and 108 meters. For each antenna, the link quality values were gathered for different transmission beam indexes by rotating the antenna and forcing the beam being used. As the RCPI is measured at the antenna connector, the receiver's antenna gain is not considered [37]. Thus, the receiver's gain is deduced in the values obtained with the simulator, so that both tests can be adequately compared.
Next, tests were performed in the ns-3 simulator respecting the distances and beams used in the real-life tests. To obtain reliable results in the simulator, the path loss exponent used to represent the propagation losses is adjusted. Thus, the values obtained in the real-life scenario for each distance and beam index, together with the transmission power and antenna gain for each beam index, were used to estimate the actual path loss. For that purpose, at each distance it is calculated the exponent with which it is obtained the expected path loss. Then, the considered path loss exponent that fits the real-life values is estimated by calculating the average value of the most fitting exponents for each tested distance. The value obtained is 1.8984. For the tested distances, the use of the calculated exponent reduces the path loss by about 5 dB comparatively to the use of exponent 2.
As both actual and simulated tests are now under the same conditions, a comparative study will be presented. As shown in Figure 10, for all tested distances, the curves relating with the real-life tests present the same behavior as the simulated ones. However, in some cases, the values of both curves are not perfectly fitted. Table 2 shows for all spans, the average error, regarding the percentage and absolute RCPI difference, and standard deviation of each beam index range considered. So, the beam range error and standard deviation were calculated for each distance, and then the values presented in Table 2 were computed considering the average of all distances for the same range. Since the simulation curves can have higher or lower values than the real-life tests, absolute RCPI values are considered to calculate them. This approach is due to the purpose of these comparisons, which aims to detect the discrepancies between simulated and real tests, no matter if by excess or deficit. As shown, the best error, difference, and standard deviation are in the index range of 33 to 40. In this range, the average error is about 1.67%, the average difference is lower than 1 dBm (0.98 dBm), and the average standard deviation is equal to 0.88 dBm. Contrarily, the range of beams between 57 and 64 present the worst average error and difference. The most significant standard deviation, of about 1.33 dBm, was detected in the beam ranges of 9 to 16 and 57 to 64. Notably, both these beam ranges present similar values in the three considered metrics.
Considering the simulator performance per distance, Table 3 shows the values of the same metrics considered up to this point. The average error and standard deviation were calculated for each distance by considering each beam index's error and standard deviation for real and simulated values. Once more, the calculation of the average errors considers absolute values. For a distance of 38 meters, the standard deviation has its lowest value of 0.43 dBm and the lowest average difference. However, the best average error percentage is reached at a distance of 76 meters. On the other hand, the three worst values are obtained for a distance of 103 meters, which presents an average standard deviation of about 2.26 dBm, approximately 0.5 dBm higher than the second-worst, spotted for a distance of 108 meters.
Overall, the obtained average standard deviation of all performed tests is 1.36 dBm, which validates our simulation results to be accurate within the tested distances, con-   sidering that the medium highly influences high-frequency transmissions.
Furthermore, Figure 11 shows two cuts of the obtained surface, using the simulator, representing the link RCPI, in dBm, according to the distance between stations and the transmission beam in use. In these tests, the azimuth angle varied between −45 and 45 degrees, while the elevation angle remained equal to 0 degrees throughout the simulations, i.e., both mmWave antennas are considered at the same height. Distances between 20 and 200 meters, in 20-meter steps, and a selection of 12 transmission beams distributed in the transmission coverage of the radio module, were considered. Compared to those in the periphery, the central beams, with a lower azimuth angle, present better RCPI values, as Figure 6(b) also shows, and their value decreases with distance. This decrease is due to path loss, which increases with distance and directly influences the link performance.
To build the surface, the elevation degree did not change. Therefore, to give information regarding the changes in link quality, Figure 12 shows the RCPI behavior with distance for   three different relative heights between antennas. As shown, the RCPI differences are more noteworthy for lower distances, becoming as significant as the height difference between stations increases. As the distance increases, the RCPI tends to zero. This behavior is due to the elevation AoD decreasing with distance to a given height difference.

B. BLOCKAGE SCENARIO
Regarding the proposed blockage module for ns-3, Figure 13 presents the results obtained when an obstacle with 1 cm of thickness has an angular amplitude of 20 degrees azimuth, calculated using its length and rotation, relative to a station transmitting packets. In these tests, the center of the radio module and the obstacle are 0 degrees azimuth, and thus, the beam index 32 is the optimal one. As shown, the loss magnitude differs depending on the different materials supported by the module for the same range of affected beams. Next, the angular amplitude covered by the obstacle was evaluated by testing the influence of this variable relative to a given station for values between 0 and 40 degrees azimuth. As before, the stations are placed so that the optimal azimuth AoD is 0 degrees. As expected, the number of affected sectors increases with the angular amplitude, and the impact on each one of them is shown in Figure 14.
We also performed real-life tests in scenarios using an aluminum obstacle to add interference to the mmWave link. It was noticeable that the losses introduced by the obstruction in non-blocked links with low RCPI cannot be seen entirely due to the early link outage. Hence, links with good RCPI (e.g., above the −70 dBm threshold) were chosen due to their ability to maintain a connection under an obstruction, thus enabling the estimation of the full magnitude of the loss induced by blockage. In this case, a distance of 31 meters was chosen to perform the tests, as it was able to maintain the connection even after the blockage placement.
The results are presented in Figure 15. As shown, the introduction of blockage induces an average RCPI drop of about 20.53 dBm when compared with the non-blocked scenario. However, as the transmission beam index changed, the blockage, despite harming the link, does not introduce a loss of 20.53 dBm to the affected sectors, as this value is not contained in the recovered data. It only promotes a change in the transmission beam being used, of the same radio module, to one which offers the best link quality. Thus, as the beam change worsens the link quality in about 20.53 dBm, the actual blockage impact in the affected beams must be superior to this value. In practice, it was impossible to observe each beam's value throughout the tests, as the mmWave antennas only allow to observe the link RCPI used at the moment. Therefore, the actual blockage impact is not conclusive. Moreover, since the original RCPI value before the blockage introduction is not known, it is inconclusive if the link formed with the beam to which the antenna changes presents its RCPI magnitude with or without interference introduced by the obstacle.
However, it is possible to gather the RCPI information regarding all transmission beams before and after the obstacle inclusion in the simulation environment. Hence, considering the transmission beam with index 52, of radio module 1, the optimal one, as in the real-life scenario, the RCPI values for each beam index of the same radio module are shown in Figure 16. According to the figure, the average RCPI value obtained in the real testbed is found between beams 44 and 45. Similarly, on average, the antenna changed to beam 45 in the real deployment, as shown in Figure 15. So, despite this change in the transmission beam leading to a decrease in the link quality, the attenuation introduced by the blockage in the new beam is not significant, as the value is very close to the one observed in the simulation, and the comparison showed an overall average standard deviation of about 1.36 dBm.

IX. CONCLUSION
This article proposed a model to describe the behavior of the mmWave technology. It proposed a mechanism to improve the BFT for antennas with multiple radio modules, and it proposed a new blockage model to directional beams. These contributions enable a simulator to accurately model the addition of obstacles of different materials to the mmWave network, which, according to their position, affect specific transmission beams and not the entire transmission channel. A new approach of the used codebook was also proposed, which emulates the mmWave antennas used in the real-life tests. The codebook validation was made by comparing the radiation patterns of the actual radio module, made available by the manufacturer, and the simulated one.
The simulator was compared to the real deployment of mmWave network. The results of the link RCPI are very similar in both simulation and real environment, which validates the simulator outputs with the real-life setup. When a blockage was tested, the loss magnitude differs depending on the different materials supported by the module, and the range of affected beams depends exclusively on the angular amplitude. The tests with a blockage in the real-life network led to a change in the beam index used by the transmitting antenna that influenced the link RCPI negatively in about 20.5 dBm, which both are visible in the simulation and the real environment.
In the future, we aim to improve the blockage model, focusing on adding new mobility patterns closer to real-life ones. Patterns of the movement of a person will be added, as they could be used to test urban scenarios where the mmWave links are obstructed and, for example, a handover between antennas must occur to improve the quality of service of the users. Another refinement in the blockage model is the improved support for multiple blockages moving simultaneously and placed with a specific height to obstruct mmWave links if, for example, the transmissions are made between a drone and a mmWave antenna. Moreover, the improvements in the blockage model will also be made looking for future implementation in a module of the next generation WiGig standard, the IEEE 802.11ay, as there are added MIMO operations. Then, the next step is to explore the work developed by Mezzavilla et al. [18], that implemented a fullstack mmWave module, integrating the developed blockage model there. Then, the aim is to perform tests in high-speed scenarios, in which the user is moving fast, the mmWave antennas suffer from blockage, and must perform fast handovers to maintain the user connection. The other scenario is a dense urban scenario where a mmWave antenna serves a group of users at different positions with different sight conditions [38].
TÂNIA FERREIRA received the M.Sc. degree in electronics and telecommunication engineering from the Universidade de Aveiro, in 2021. While still an undergraduate student, she joined the Instituto de Telecomunicações, and in 2020, she received a Research Grant at IT to work towards a multilayer approach to enhance reliability in mmWave backhauls, using machine learning tools and techniques, such as network coding. Then, in 2022, she became a full-time Researcher at the Instituto de Telecomunicações. Her research interests include multigigabit wireless systems (mmWave), mesh networks, and network reliability.
DUARTE RAPOSO received the M.Sc. and Ph.D. degrees in information science and technology from the University of Coimbra, in 2012 and 2020, respectively. In 2012, he joined CISUC, as a Researcher working in industrial wireless sensor networks in the topics of network management and security, exploring state-of-the-art anomaly detection techniques. In the same year, he joined eneida.io developing industrial wireless solutions in the fields of oil&gas, mining, and energy. Since 2020, he has been with the Instituto de Telecomunicações (IT), Aveiro, Portugal, as a Research Assistant in the network architectures and protocols. Until now, he is the author/coauthor of more than 34 scientific works in international conferences and journals and two national patents. His current research interests include wireless communications, deterministic networks, cellular communications, software-defined networks, and edge computing and orchestration. VOLUME 10, 2022