Smart Antenna Systems Model Simulation Design for 5G Wireless Network Systems

The most recent antenna array technologies such as smart antenna systems (SAS) and massive multiple input multiple output (MIMO) systems are giving a strong increasing impact relative to 5G wireless communication systems due to benefits that they could introduce in terms of performance improvements with respect to omnidirectional antennas. Although a considerable number of theoretical proposals already exist in this field, the most common used network simulators do not implement the latest wireless network standards and, consequently, they do not offer the possibility to emulate scenarios in which SAS or massive MIMO systems are employed. This aspect heavily affects the quality of the network performance analysis with regard to the next generation wireless communication systems. To overcome this issue, it is possible, for example, to extend the default features offered by one of the most used network simulators such as Omnet++ which provides a very complete suite of network protocols and patterns that can be adapted in order to support the latest antenna array systems. The main goal of the present chapter is to illustrate the improvements accomplished in this field allowing to enhance the basic functionalities of the Omnet++ simulator by implementing the most modern antenna array technologies.


Introduction
Since the start of wireless communications, concerning to the network node physical layer, there are two main types of antenna which can be used as a way to make a certain behavior on transmission/reception: omnidirectional antennas which radiates and receives equally in all directions, and directional antennas which have the capability to radiate in a specific direction. Omnidirectional approaches can be straight and detrimentally impact on spectral efficiency of the system, restricting frequency reuse [1]. These limitations force system designers and network planners to develop progressively advanced and costly remedies. Lately, the requirements of broadcast antenna technology on the quality, capacity, and coverage of wireless systems have motivated the development in the fundamental design and role of the antenna in a wireless system. In pervasive environments, such as mobile ad hoc network (MANET) or wireless sensor networks, employing an omnidirectional approach is hard and an inconvenient way to create efficient systems, because of the high burden of power of network nodes [2] that may result in destructive phenomena such as low battery depletion and interference. A single antenna may also be built to have certain fixed preferential transmission and reception directions to maximize its energy consumption in a specific direction conserving power in other directions [3]. Using directional antenna could lead to several advantages, in terms of reduction of packet delay or improvement of the overall routing process [4]. In wireless communications, when a single antenna is utilized both to the transmitter and receiver we talk about single input, single output (SISO) [5] systems. Therefore, nowadays, with regard to the latest antenna technologies, the concept of smart antenna systems has spread. SAS are intelligent systems equipped with high efficiency data processing unit. This sort of systems can boost the coverage area and the capability of a radio communication system. The coverage area is simply the area where the communication link between a mobile and the base station can be performed. The capability is a way of measuring the amount of users a system can support in certain area. A smart antenna system generally combines an antenna array with a digital signal processing capacity to transmit and receive in an adaptive, spatial manner. Quite simply, such a system can quickly change the directionality of its radiation patterns in response to its environment. This may considerably increase the performance characteristics (such as capacity) of a wireless system. The employment of SAS in wireless mobile environments allows a much more reliable medium utilization with regards to the classical omnidirectional strategy. For instance, spatial division multiple access (SDMA) attempts to raise the capacity of a system. Generally, smart antennas get into three major categories: single input, multiple output (SIMO), multiple input, single output (MISO), and multiple input, multiple output (MIMO). In SIMO technology, one antenna is used at the source, and two or more antennas are used at the destination. In MISO technology, several antennas are used at the transmitter, and one antenna is utilized at the destination. In MIMO technology, multiple antennas are used at both source and destination. Figure 1 illustrates an example of SISO and MIMO systems. In the SISO case, either the transmitter or the receiver uses a single antenna for the communication process; while in the MIMO, an antenna array is employed. In literature, it has been demonstrated how the use of directional antennas and the most recent smart antenna systems (SAS) technology is capable of significantly allowing high quality of service (QoS) requirements in spite of the omnidirectional systems that foresee  limited functionalities [6,7]. However, these solutions are unlikely to satisfy the requirements for 5G wireless communication systems technology. For this purpose, the massive MIMO technology has been proposed as efficient solution for satisfying the requirements for 5G that certainly include very high antenna gain and very high data rate in order to achieve huge system performance [8][9][10]. The term massive, means that this kind of systems employs a large number of antenna elements (at least 50 antennas) in the hardware architecture; indeed, relating to the modern wireless networks, for achieving high communication benefits in terms of throughput, we need for a massive number of elements that is not less than 70-80 antennas [11]. This is mainly due to the fact that, theoretically, as the number of elements improves, the overall gain of the system also increases, and in fact, each single antenna element contributes to enhance the total gain. More specifically, from the antenna array theory, it is known that the overall gain is affected by the single element factor as well as the array factor, and this gain increases with the number of antenna elements. The massive MIMO are strongly recommended for beamforming environments by the most recent IEEE802.11n and IEEE802.11ac standards. Remember that we refer to a beamforming wireless network context when communications between nodes occur through the beamforming process; the beamforming is defined as the capability of a node to scan and drive the antenna beam pattern toward a certain area or a set of directions. One of the most critical aspects in wireless communication environments is represented by the fact of using an adequate network simulator that is able to well emulate and reproduce an appropriate real scenario. Unfortunately, most of the existing network simulators do not provide any support for directional and asymmetrical communications, and thus also for SAS and MIMO technology. In this field, only an extremely limited amount of network simulators allow to emulate these very complex technologies. Unfortunately, in such cases, with regard to these network simulators, the cost of the license allowing the end user to access to the 5G package modules could result very expensive [12]. In this chapter, we present a set of features extending the default functionalities provided by one of the most used open source network simulator, that is the Omnet++ simulator, with the goal to illustrate how it is possible to actualize the existing simulation instruments to be suitable also for 5G wireless network communication environments. The chapter is organized as follows: Sections 2 and 3 provide a theoretical overview about SAS and massive MIMO, respectively, while Sections 4 and 5 explain the implementation strategies in Omnet++ related in the aforementioned technologies.

Smart antenna systems
As mentioned, SAS are intelligent systems that allow a good SDMA processing [13,14]; examples of SAS are: digital beamforming systems, adaptive antenna systems, phased array, and others. Smart antennas are customarily categorized, however, as either switched beam or adaptive array systems. There could be a distinction between two major categories of smart antennas in terms of the operation mode: • Switched beam: A finite number of fixed and predefined patterns without channel feedback.
• Adaptive array: An infinite number of patterns that are adjusted in real time based on such parameters, for example, channel noise conditions.

Array Pattern Optimization
Switched beam antenna systems form multiple fixed beams with high sensitivity in particular directions. These antenna systems detect signal strength, choose from one of several predetermined, fixed beams, and switch from one beam to another as the mobile moves throughout an area. So, they produce a static fixed beam that could be electronically controlled. Adaptive antenna technology, instead, uses adaptive algorithm because of its ability to effectively locate and track various types of signals to dynamically minimize interference and maximize the intended signal reception. In this case, produced beam is variable and adapts itself depending on transmission channel conditions and a weight array that dynamically varies in time. In this context, the spatial structure is used to estimate the direction of arrive (DOA) or angle of arrive (AOA) by nodes. However, both systems attempt to increase gain according to the location of the user. The basic SAS operation principle can be summarized by the following figure.
In Figure 2, inputs x 1 (t) , . … , x M (t) are multiplied by elements of a weight vector W ¯ = [ w 1 , w 2 , . .… w M ] that varies according to an adaptive algorithm (used only in the adaptive array version); y(t) is the output, while e(t) denotes the error; all terms are defined in functions of the discrete time t. Instead, when a switched beam approach is employed, because any adaptive algorithm is executed, the weight array can be considered missing or simply as a constant. Based on the kind of produced geometry pattern, SAS can be categorized into different ways. The most common categories include, rectangular, hexagonal, and the circular arrays. However, in 5G technology, the antenna arrays should be adaptive, and it is required that they have an adaptive capability to point the main beam toward the desired direction and steer the nulls toward the undesired interfering directions. In all cases, this adaptive mechanism should be optimized to get best performance or maximum signal to interference plus noise ratio (SINR) at the system's output [15][16][17].

The massive MIMO systems
Massive MIMO is a rising technology that considerably enhances the basic MIMO features. The term massive MIMO is referred to the whole of systems that use antenna arrays with at least few hundred antennas, simultaneously serving multiple terminals in the same time frequency resource. Figure 3 illustrates the basic operation principle of a massive MIMO; few users are served from a macrodevice (for example a rectangular array) having a large number of base stations (antennas). Generally, massive MIMO is an instrument that allows to enable the development of future broadband (fixed and mobile) networks which will satisfy special requirements in terms of energy-efficiency, security,  and robustness. Structurally, a massive MIMO system consists of a group of small (relatively) antennas, supplied from an optical or electric digital bus that operates simultaneously related to a certain task. Massive MIMO, as well as the SAS systems are able to well exploit the spatial division multiple access (SDMA) allowing for an efficient resource channel utilization, both on the uplink and the downlink [18,19]. In conventional MIMO systems, like the long-term evolution (LTE), the base station transmits waveforms depending on terminals channel response estimation, and then these responses are quantized by some processing units and sent out back to the base station. Fundamentally, this is not possible in massive MIMO systems, especially concerning high-mobility environments [20], because optimal downlink pilots should be mutually orthogonal between the antennas. Therefore, in spite of the difficult hardware and designing implementation, these systems are becoming increasingly prevalent in the modern applications due to the great benefits that could introduce; in particular, massive MIMO can increase the wireless channel capacity up to 10 times and the radiated energy-efficiency up to 100 times with respect to the traditional LTE systems. This translates into higher gains and higher performance. However, the employment of these systems entails a series of issues that should be properly considered, for example, the interferences between terminals increase as the data rate increases. Other issue is the fact that terminals consume a lot of energy during the communication process in spite of the well SDMA exploitation. Finally, the difficulty of designing a system of limited size improves proportionally with the increasing of the number of antennas in the system. For this reason, it is necessary to find a trade-off between the number of elements and the requirements. Although there exist several kinds of massive MIMO systems depending on the geometry pattern, in this chapter, only the planar massive MIMO technology is exposed. We use the term planar to indicate that the array can scan the beam along the elevation plane θ and the azimuth plane ϕ as opposed to the linear arrays that scan the main beam only along θ or ϕ [21]. Planar arrays offer more gain and lower sidelobes than linear arrays at the expense of using more elements [22].

Planar massive MIMO
From an architectural point of view, a massive MIMO is structured depending on the geometry pattern that is able to form. There exist several design configurations that usually are function of the kind of application to which these systems are destined. Anyway, in this chapter, we consider three different types of planar antenna arrays: the uniform rectangular planar array (URPA), the hexagonal planar array (HPA), and the circular planar array (CPA). Substantially, the term uniform means that the weight parameters w 1 , w 2 , . .… , w M are all unity, thus it cannot be readjusted as mentioned earlier in Section 2, Figure 2. The following subsections synthesize the main feature of the mentioned configurations. The uniform rectangular planar array technology is the most simple planar massive MIMO configuration presenting a 2D (two-dimensional) element plane disposition. The geometry pattern, in this case, can be considered as a two-dimensional matrix within which the antenna elements are placed. Figure 4 illustrates an example of massive MIMO URPA configuration. Basically, a URPA is a two-dimensional matrix filled with a certain number of antenna elements (the circles in the figure) both along the x-and y-axis; these antenna elements are equally spaced between any successive pair of elements and this spacing is usually expressed in wavelengths. If we denote the number of elements placed on the x-axis with M (the rows of the matrix) and with N the number of antennas lying in the y-axis (the columns of the matrix), the total number of elements of the URPA is given by [22]: where M and N are arbitrary integers typically higher than 1. In the first versions of the URPA, M and N were identical and limited to 8; in the modern application, M and N are commonly different and chosen between 8 and 12. In general, the radiation field formed by the antenna elements (known also with the term element factor) is expressed as: In Eq. (2), A is the nominal field amplitude, f(θ,ϕ) is the radiation field pattern of the element, and r is the radial distance between the element and the observation point, which highlights the decrease of the field in function of the distance. According to the pattern multiplication principle, the antenna array total electrical field can be expressed as: In the case of URPA, the array factor equation is very similar to the ULA with the only difference that is designed by considering two dimensions [15,22]:  With: The terms ψ M and ψ N indicate the array phase along the x-and y-axis, respectively, while the terms β M and β N denote the scanning steering factors along x and y in function of the steering angle; finally, ϕ 0 is the elevation angle relative to the steering angle θ 0 φ 0 . Please observe that the array factor expression related to Eq. (6) is not normalized with respect to M and N. The overall gain of the URPA is expressed by the following [21]: Equation (6) is the generic expression of the gain valid for all antenna types and is function of the element factor and the array factor. If the antenna elements are isotropic, we have f(θ,ϕ) = 1 and the gain becomes [23]: Equation (7) also expresses the directivity of the antenna; thus, from antenna array theory, it is possible to obtain the expression which corresponds to the maximum gain in case of isotropic antenna elements [23]: where | AF MAX (θ, ϕ) ) | 2 is the square modulus related to the maximum value of the array factor.

Massive MIMO HPA
An HPA configuration usually consists of M hexagonal rings, each one having a total number of 6m, where m is the mth ring of the system; the antenna elements are uniformly distributed in the hexagonal side ( Figure 5).
In case of isotropic elements, because the excitation amplitude is set to 1, the array factor can be expressed as the following expressions [24]: Note that in Eq. (9), the dependence on θ and ϕ is omitted and furthermore the steering factor for beam scanning is not considered, while v x and v y denote the planar vectorial components along the x-and y-axis, respectively. The maximum theoretical gain is the same of the URPA case, except from the array factor term.

Massive MIMO CPA
The geometry structure of a circular planar array is very similar to a HPA, except from the fact that the hexagonal ring is replaced by a circular ring. As assumed for the HPA, we can consider the widespread configuration having 6m antenna elements uniformly placed around the circular edge of the mth radius. Figure 6 illustrates the CPA configuration that consists of a certain number of circular rings having same center but different radius with the antenna elements placed on the circumference of each ring. Because a CPA is a particular case of the hexagonal structure, the array factor equation is quite similar to the HPA expression. In case of isotropic elements, the array factor could be expressed by the following [25,26]:   Equation (11) considers the possibility to scan the beam through the use of the term β M , which is a function of the steering elevation ϕ 0 . The M and θ 0 terms are already defined in the previous subsection. From the theory, it is also known that the steering vector and the array factor are closely related to the number of antenna elements, the array configuration, and the antenna elements excitation (which in this case is unitary in amplitude). It is easy to conclude that the maximum achievable gain is the same of the HPA and URPA case. However, as verified for the HPA, the total number of elements is usually an odd number and depends on the number of circular ring in the structure.

SAS design and implementation on Omnet++
Omnet++ [27] is a discrete event simulation environment that provides component architecture for models. Components (modules) are programmed in C++, and then assembled into larger components and models using a high-level language (NED). There are several reasons for using Omnet++ for implementing a SAS or a Massive MIMO. Firstly, it is an open source instrument allowing the reusability of models for free. Yet, it provides a full set of features and protocols especially relating to wireless network; hence, the end user developer can create new modules or extend the default models quite comfortably. Nevertheless, it provides an extremely intuitive user interface for both in developing and simulations. Unfortunately, by default, Omnet++ does not support asymmetrical communication between nodes. For enabling the simulator to support directional communications and so the SAS, some modifications on the original source code are required. Let us suppose that we aim to implement the most simple SAS technology, that is the switched beam, the first step needed is to design the module. For example, a phased array system could be implemented. In our case, we created a new directive antenna model and the relative module called PhasedArray that implements all features of a phased array system [28]. The main definition of the class could be synthetized as follows (Figure 7).
The function initialize initializes the module in the simulation setup. Basically, the function computeGain, as the name suggests, computes the antenna gain; in the omnidirectional case, this function simply returns 1. This function could be modified by implementing the expression defined by Eq. (2). The second step concerns the modifications related to the mobile node module used in Omnet, that is, the StandardHost module. Figure 8 illustrates the typical StandardHost structure which consists of submodules organized according to the TCP/IP layer stack. In this regard, several modifications in the physical layer are required. The physical layer defines the functions relating to channel model propagation, power management, and modulation. More specifically, the ScalarAnalogModelBase class implements the channel propagation model that provides for a static power assignment by default, for example, in the case of isotropic antenna, both the transmission and the reception power are set to 1. This issue can be fixed by inserting a simple power algorithm for node power management in order to create a dynamic power quantity assignment based on transmission direction and angular position of each node (Figure 9).
The offset term is a function of two parameters: the mainLobeAngle and the spreading factor. The first term, as already mentioned, represents the angle of maximum radiation; the second term can vary from −1.5 to 2 according to the number of radiating elements of the array. In particular, the larger is the number of elements, the greater is the spreading factor value. This feature allows to take into account the spreading effect that affects the overall pattern varying the number of elements. In Algorithm 1, it can be observed that based on the transmissionDirection value, the power is fractioned opportunely. If the transmissionDirection value is not related to any sidelobe level, the power is reduced to 0. Therefore, if we want to implement an adaptive array system, the main problem is to individuate the best way for executing the adaptive algorithm into the simulation. A possible efficient solution could be   to provide for a co-simulation. The co-simulation, for instance, can be performed using any combination of network simulators and Matlab [29]. Matlab enhances the working of network, simulating tool, and increases the speed of testing and processing by using different toolboxes. In this case, it is possible to divide the overall task, that is, the simulation into two subtasks. The first subtask is handled by Omnet++ that provides for the network scenario; while the second subtask is managed by Matlab that performs the adaptive algorithm operations [30]. Figure 10 represents the communication process between the two parts based on a client-server paradigm. Omnet++ executes the simulation and dynamically sends the physical parameters (the power and noise in this case) related to a certain communication between couple of nodes to Matlab; Matlab executes the adaptive algorithm (the least mean algorithm in this case) based on the data received in input, computes the updated weighted vector, and sends backwards the data to Omnet++. The communication between the two parts can be easily realized by using TCP sockets.

Massive MIMO design and implementation on Omnet++
The latest release of the Omnet++ simulator (the 5.3 version), does not offer a support to asymmetrical communications and does not implement the latest IEEE802.11ac standard. More specifically, Omnet++ offers a complete support for 802.11b/g and the most recent 802.11n standard, but does not support the specifications related to the 802.11ac standard. Furthermore, these features are not sufficient for emulating the latest massive MIMO technologies in the simulator. In fact, the maximum data rate supported in the radio module used in the current latest version of Omnet++ is 54 Mbps, along with a 64-QAM modulation, according to the 802.11n specifications. In view of these issues, it is possible to extend the Omnet++ features both by providing a full 802.11ac radio environment and a new massive MIMO antenna module suitable for 5G wireless network environments operating according to the IEEE802.11ac.

IEEE802.11ac implementation
The first step consists of the implementation of the 802.11ac standard in the physical modules of Omnet++. Basically, this process involves modifications as regards two microlayers: the error model and the modulation. The error model determines the computation of the bit error rate (BER) curves and the error probability in function of the data rate. Obviously, as already stated, the current error models are determined by considering the maximum data rate of 54 Mbps. For this reason, this aspect should be fixed in order to design a support of data rates in the order of the Gbps. The modulation is the feature that offers the possibility to achieve the data rate values specified for VHT (very high throughput) and in the current latest version Omnet++ is limited to 64-QAM; this aspect determines the data rate upper-bound in the simulations. The family of modules related to the error model and modulation are contained in the physicallayer package. Figure 11 illustrates the structure of the physicallayer package. The package consists of a remarkable number of subpackages, each one determining a feature for the physical layer, observing that the error model and the modulation microlayers are contained in this package along with main modeling channel attributes, such as the propagation and the pathloss management. Thus, in order to understand updates introduced for implementing the IEEE802.11ac standard, the following figures show a block diagram including the main Omnet++ classes (known also as modules) involved in the modification process. Figure 12 represents the module block diagram related to the implementation of the VHT features for the transmitter at physical layer. Each class/module is represented by a rectangle, while the dashed-line arrows and the continued-line arrows indicate the use and the inheritance relationship, respectively. The Ieee80211Radio module uses the Ieee80211TransmitterBase module that is defined by the following NED (network description language) code lines: In Listing 1, the main parameters of the Ieee80211TransmitterBase module are illustrated. The opMode parameter indicates the kind of IEEE802.11 standard that is determined by a lower-case letter. In this regard, we modified the default code by adding the ac operation mode. Note that also the 5-GHz frequency band configurations have been added. The transmitter uses the class Ieee80211CompliantBands for retrieving the available bands and the Ieee802ModeBase class obtaining the operation mode. This latest class inherits the parameters offered by the classes Ieee80211VHTMode and Ieee80211VHTCode that contains the new data rate values specified by the 802.11ac standard according to the VHT specifications. For this purpose, we added all the data rate values provided by the standard by varying the carrier frequency and the number of spatial streams. The Ieee80211VHTCode is the module that computes the error probability functions depending on the kind of modulation used in simulation. A similar block diagram could be designed for the receiver.
In the diagram of Figure 13, it is possible to analyze the hierarchical relationships at the receiver. It is important to highlight that the error model is mainly used by the receiver rather than the transmitter. Omnet++ uses some of the error models offered from the NS3 (Network Simulator 3) simulator that are the Yans and the  Nist models [31]. Basically, these error modules compute the BER probability values in function of the modulation. For enabling the 802.11ac, we extended the default code of Omnet++ by adding the BER computation functions for 256, 512, and 1024-QAM modulation.
Listing 2 contains a part of the full code of the Ieee80211NistErrorModel class. The function get256QamBer computes and returns the BER relating to a 256-QAM modulation; the BER is evaluated by computing the Zeta function that depends on the SINR.

Massive MIMO module design and implementation
Once we modified the physical layer in order to support the specifications of the VHT standard including the error model and modulations, we designed the massive MIMO antenna modules. The antenna modules are defined in the physicallayer package, as depicted in Figure 12. Actually, the default antennas in the physicallayer package are: • ConstantGainAntenna: A simple antenna having a unique basic parameter: the gain. As suggested by the name, the gain set in the configuration file remains constant, while a simulation run is executed. • CosineAntenna: It is the cosine pattern antenna designed in [32]. This model results very usefully for W-CDMA systems.
• DipoleAntenna: The well-known dipole antenna; it is possible to set in the configuration file the length of the dipole (expressed in meters).
• InterpolatingAntenna: This antenna model computes the gain in function of the direction of the signal, using linear interpolation.
• IsotropicAntenna: It is the classical omnidirectional/isotropic antenna; it provides for unity gain by radiating the signal at the same way toward all directions.
• ParabolicAntenna: This model is based on a parabolic approximation of the main lobe radiation pattern.
However, the detailed description of all kinds of antennas is beyond the scope of this chapter, which instead aims to illustrate the features of the designed massive MIMO modules.
Listing 3 illustrates the main definition parameters of the MassiveMIMOURPA antenna module. Note that the module inherits the basic features of the AntennaBase module; besides the main antenna array parameters such as the length the distance and the frequency the module provides for the setting of the steering angle thetazero in order to support the beam piloting; as already mentioned in Section 3.1.1, M and N represent the number of elements to be placed on the y-and x-axis, respectively. As a further example, in order to understand the implementation of the logic operations of the modules, the following pseudocode illustrates a portion of the MassiveMIMOURPA.cc definition: The algorithm in Figure 14 depicts the main functions of the MassiveMIMOHPA.cc class. The function getMaxGain computes the maximum gain according to Eq. (10); the function getNumAntennas returns the total number of antennas of the massive MIMO; the result of double integral (given by the risInt variable) is evaluated by implementing the Simpson method in C++ in the function computeIntegral; Observe that the integral could be computed by using some mathematical software tools such as Matlab and then passed to Omnet++, but in this case, we decided to implement the evaluation in C++ because the computation is once and because the use of MATLAB with this kind of very complex antenna module could significantly slow down the simulation. Finally, the function computeGain evaluates the gain in function of the direction EulerAngles components and the steering angle according to Eq. (9) (that however does not consider the scan term); the portion of code of computeGain function that is shown in Figure 14 is related to the implementation of the summations of Eq. (9).

Planar massive MIMO model validation
The validation of the designed models is accomplished by illustrating some log screens related to the debug runs and by analyzing some useful statistics extracted from the simulations. The following table includes the most important simulation set parameters.  The simulations have been accomplished by using 20 different seeds and extracting the confidence intervals obtained by the repetitions considering a confidence level set to 95%. The traffic is represented by user datagram protocol (UDP) data packets randomly generated (based on the simulation seed) by different couples of nodes. The number of spatial streams is set to 8. Therefore, most of the antenna parameters including the number of elements and the spacing in the system are the same used in [26], with the only exception that we also provide the beam steering angle setting. For simulations, we considered such data rates provided by the IEEE802.11ac standard in function of the number of spatial streams. In order to validate the model, the first test consists of the analysis of such run simulation logs. Figure 15 represents a portion of log extracted by a randomly chosen simulation run related to the case of URPA; the result of the log is printed on the console perspective of Omnet++; the red rectangle highlights the main line of the log, which displays the result of the computed gain in function of the current angle; the main line synthesizes that the value of the gain corresponding to the angle of 43.59° is 41.96 dB; considering the steering angle of 45°, we can manually compute the maximum gain that is the gain corresponding to the maximum radiation angle (thus the steering angle) by using Eq. (10) and replacing the terms of the equation with the values used in Table 1: where δ θ0 represents the attenuation in dB related to the steering angle with respect to the maximum gain corresponding to θ 0 = 0° (which is 42.39 dB). In Eq. (13), the value of 772.97 at the denominator is the result of the double integral computed by the simulator, using the Simpson method [33]. The gain value of   For a further investigation, by using the sensor array analyzer tool provided by Matlab [29], it is possible to represent the radiation pattern plots related the designed massive MIMO URPA model. In Figure 16(a), it can be observed that the obtained gain value, achieved corresponding to the angle of 43.5949° is very consistent with the obtained gain value related to log of Figure 16. Finally, Figure 16(b) illustrates the three-dimensional polar radiation pattern of the designed model.

Conclusions
This chapter illustrated the most recent research works in the simulation field about SAS and planar massive MIMO 5G technologies, with the aim to make an overview about research advances accomplished in this context. In this regard, after a brief analysis, useful for providing a minimum of theoretical knowledge about these kinds of technologies and applications, the chapter illustrated some aspects of the latest related works in this area. Relative to the experimental and practical analysis, one of the most used simulation tool, that is the Omnet++ simulator, has been considered. In this respect, it has been highlighted that, by modifying the default physical operations provided by the simulator in terms of power management, modulations and channel propagation model and at the same time, by designing a proper SAS or massive MIMO antenna module, it is possible to emulate a wireless network scenario consistent with the latest 5G standard specifications. Nevertheless, it also highlighted that, for enabling the simulator to support these kinds of technologies, it is required to implement the specifications defined by the most recent IEEE standards such as the 802.11n and 802.11ac to establish an interconnection between the logical operations and the physical simulation resources.