# 6

Emulating a Realistic VANET Channel in Ns-3

**6.1. Introduction**

Vehicular ad hoc networks are a class of MANET which have been designed to allow vehicles to exchange different types of information ranging from security messages to entertainment content. Wireless connection between nodes implies that the communication is subject to link volatility. For mainly money/time saving and efficiency reasons, the simulation of VANET is traditionally done by means of a network simulator such as Opnet, Veins, ns-2 [NS 02] or ns-3 [NS 03]. However, the plain vanilla versions of these software packages do not accurately model the main physical effects of the wireless channel [AND 06]. The consequence of this is that VANET simulations are over-optimistic. In this chapter, we will first describe the main aspects of the wireless VANET channel and underline its central role in VANET communications. Next, we will present the different modeling approaches we have followed to accurately simulate the VANET channel in ns-2 and ns-3. After showing the effect of realistic channel models on VANET simulation, we provide a solution, which is a trade-off between computing time and realism.

**6.2. Influence of the channel propagation model on VANET simulation**

In that which follows, we show the effect of realistic channel propagation models on Vehicular Ad-hoc Networks (VANETs) simulation. As we will see, independently from the simulator used, the more simplistic the channel propagation model used by the simulator, the worse the accuracy of the simulation. In order to accurately simulate the effects of the wireless channel propagation on data transmission, two elements are required. First, a physical layer, which is compliant with the transmission standard considered (i.e. IEEE802.11p or WAVE for Wireless Access in Vehicular Environment [IEE 13]) and on which it is possible to accurately apply wireless channel effects. Second, a realistic channel part obtained either from real-world measurements (statistical channel model) or by using deterministic ray-tracing software. Of course, as the mobility and the positions of the nodes have a significant impact on experienced channel conditions, we have to use a realistic mobility model too. However, this element is out of the scope of this chapter and will not be further discussed.

**6.2.1.** **A realistic IEEE802.11 PHY layer**

**A realistic IEEE802.11 PHY layer**

In the case of a real IEEE802.11p system, at the physical layer, the performance of a communication is evaluated with the Bit Error Rate (BER). The most accurate way to achieve this in simulation is to implement the full IEEE802.11p physical layer down to the signal level. The IEEE802.11 standard has been well described in the literature and is quite easy to implement using software packages such as IT++ [IT 16]. The IEEE802.11p standard uses packet OFDM transmission at half the rate of the IEEE802.11a standard, and hence, it can be easily implemented using an easily available IEEE802.11a code. Table 6.1 summarizes the main parameters of the two IEEE802.11a and p physical layers.

**Table 6.1.** *IEEE802.11a and p PHY parameters*

Parameters | IEEE 802, 11a | IEEE 802.11p | Changes |

Bit rate (Mb/s) | 6, 9, 12, 18, 24, 36, 48, 54 | 3, 4, 5,6, 9, 12, 18, 24, 27 | Half |

Modulation mode | BPSK, QPSK, 16QAM, 64QAM | BPSK, QPSK, 16QAM, 64QAM | No change |

Code rate | 1/2, 2/3, 3/4 | 1/2, 2/3, 3/4 | No change |

Number of subcarriers | 52 | 52 | No change |

Symbol duration | 4 μ | 8 μs | Double |

Gurad time | 0.8 μs | 1.6 μs | Double |

FFT period | 3.2 μs | 6.4 μs | Double |

Preamble duration | 16 μs | 32 μs | Double |

Subcarrier spacing | 0.3125 MHz | 0.15625 MHz | Half |

The main difficulty when integrating such a physical layer in a network simulator is the synchronization between the network simulator, which is a discrete event simulator and the continuous time signal level physical layer implementation. Moreover, we can also take into account the synchronization algorithms, which are essential in real digital communication systems. These algorithms are in general very sensitive to channel conditions [TRO 04].

**6.2.2.** **Accurate VANET channel propagation modeling**

**Accurate VANET channel propagation modeling**

#### 6.2.2.1. *The physics of the wireless channel*

As opposed to wired network links, wireless links depending on signal propagation over the air are highly dependent on the transmission environment and are therefore highly fluctuating, especially when the nodes are moving in dense urban environments. This volatility is due to the combination of several degrading effects, which can be simulated by either deterministic or stochastic models. In what follows, we first describe the main physical effects (see Figure 6.1) we have to take into account to simulate a typical wireless channel accurately. Then, we present the particularities of a wireless VANET channel.

The first encountered effect is *path loss, w*hich is the reduction in power density of the electromagnetic waves as they propagate through space. Path loss is described by the well-known Friis equation:

Attenuation α_{p} is therefore proportional to the square of the travelled distance R and inversely proportional to the square of the carrier wavelength **λ**. This represents the first approach of a traditional link budget analysis and assumes that the transmitter and the receiver are in Line Of Sight (LOS). Hence, by knowing the transmitted power and the receiver sensitivity (i.e. the minimum power level it can handle), we can easily calculate the maximum distance of a communication at a certain frequency.

However, path loss attenuation represents the best case for a wireless communication. In practice, two important additional effects have to be taken into account, namely shadowing and small-scale fading.

The second effect appears on a large scale, typically in a few tens to a hundred wavelength units. For the 5.9 GHz frequency used by the Wireless Access in Vehicular Environments IEEE802.11p standard, this wavelength is around 5 cm. When the propagating path is obstructed by large objects, the received signal power fluctuates around its mean. This effect is called *shadowing*. Measurements have shown that power variations are best described by a lognormal distribution or alternatively by a normal distribution when expressed in logarithmic units. In practice, measurements are carried out for a specific environment, which leads to a path loss plus shadowing propagation model. For this model, the path loss attenuation is obtained as a function of the distance between the transmitter and the receiver, and a logarithmic value of the standard deviation for the shadowing effect is given.

The third effect, which is also the most important, is called *small-scale fading*. It is observed on the signal power for movements on a distance scale of a few wavelength units. This type of fading has two main physical causes. The first one comes from multi-path propagation, in which the transmitted signal interacts with the environment. Because of reflection, diffraction and diffusion interactions with the objects of the environment, the received signal is made up of several copies of the original signal called Multi-Path Components (MPC). These MPCs arrive at the receiver with different delays, amplitudes and phases and represent the so-called Channel Impulse Response (CIR). In the case of a large transmission bandwidth, the transmission signal spectrum will undergo frequency fading. In fact, this means that the spectral components (amplitude and phase) of the transmitted spectrum will be affected differently by the channel. This is called *frequency selectivity* and can be compensated for by using digital communication techniques like OFDM. The second physical effect is due to the relative movement between the transmitter and the receiver. The consequence is that the CIR becomes time-variant. This *time selectivity* can be observed on the time-domain-received signal, which is affected by amplitude fluctuations that can reach 30 dB. These amplitude fluctuations with time can be of different size depending upon the presence or absence of an LOS path in the CIR. If an LOS path is present, the fluctuations of the amplitude with time follow a Rice distribution; otherwise, they follow a Rayleigh distribution. Figure 6.2 shows an example of a received signal with and without an LOS path. We can note that the fading amplitude is greater in the absence of an LOS path. Another characteristic to be noted in Figure 6.2 is the time separation between fades: the higher the relative speed between the transmitter (TX) and the receiver (RX), the smaller the time separation. Moreover, the samples between fades are highly correlated. This is because of the Doppler effect, which produces an expansion or a compression of the transmitted spectrum. The maximum Doppler frequency shift is related to the maximum relative speed between TX and RX. From a computer implementation viewpoint, this effect is reproduced by passing the TX samples into a filter, whose bandwidth and shape are obtained from measurements. According to the type of shape (the most well-known shape is the so-called Jakes spectrum), there will be a significant impact on the reception and in particular on the BER.

Compared with mobile telephony, a VANET communication has distinct characteristics, such as fast varying surroundings, including obstructing objects, a transmitter and a receiver placed at similar heights, and a mobility that can be quite high. This leads to a great number of different situations, which imply specific channel behaviors. Since these situations are difficult to handle, the first step consists, as it was the case for mobile telephony, of identifying which may be considered as typical of VANET. Following the work on the 802.11p standard, several measurement campaigns have been conducted on typical VANET situations mainly in the United States [ACO 07, SEN 08]. The resulting channel models used to evaluate the 802.11p physical layer [ACO 07] are still the most complete implementation in terms of the number of different situations taken into account. These channels are WSSUS stochastic models and can be easily integrated in a digital communication simulator.

Other channel models proposed in the literature are more precise in the way that they take into account interacting objects in the environment by using a simplified ray-tracing approach [KAR 09]. Sometimes, this simplified ray-tracing method is tuned thanks to measurements leading to less exhaustive statistical analysis, as is the case for WSSUS stochastic models [PAS 16]. These types of channels are directly connected to the radio waves propagation physics and can, of course, model a specific VANET situation accurately. When large-scale VANET simulations have to be performed, selecting the channel model to use is an issue, as the environments encountered in a realistic simulation can be very different. In these situations, the so-called unit disk method can be used [AKH 15]. According to this method, if the receiver and the transmitter are located in a distance comprising the unit disk, communication takes place. Of course, the radius of this disk is parameterized by measurements, which have been performed for the considered situation. We refer the reader to [BOB 15] for a more detailed discussion about these VANET channel-modeling aspects.

To summarize, capturing the complexities of a vehicular channel is far from being trivial, as a large number of possible situations are encountered. Several channel models are available, which can be integrated into a network simulator, requiring more or less software development effort. However, the key element to take into account when selecting a model is to consider the trade-off between realism and simulation time. In general, the more realistic the channel model, the more time consuming the simulation. We will cover these aspects in the next sections when implementing a realistic channel model in the ns-2 and ns-3 simulators.

**6.3. A way to realistic channel modeling with ns-2**

Ns-2 implements three different propagation models to simulate the wireless channel: the free-space model (Friis equation), the two-ray ground model and the shadowing model. As presented above, this is inadequate to provide a realistic channel model for wireless network simulation. Therefore, in order to fill this gap, the first approach we conducted was to take into account the results of deterministic ray-tracing propagation software in ns-2. The ray-tracing software computes new channel conditions for each position of the transmitter and the receiver. To maintain the simulation duration within the acceptable limits, we determine the NLOS/LOS conditions offline using the ray-tracing tool for all possible couples of emitter/receiver into a simulation scene. For the chosen scene, that is, Munich city center, this time-consuming step took about 2 weeks for computation using more than 20 computers. Although this operation is only performed once, this is clearly not suitable for VANET simulations [HAM 09].

As indicated in section 6.2.2.1, one of the most relevant parameters when modeling a transmission channel is if the transmitter and the receiver are in an LOS or NLOS situation. Using this particular situation, we set up an original propagation model. It first uses a simplified ray-tracing step for the determination of the LOS/NLOS situation. As opposed to the original tool, we only take into account the distances between the transmitters and the receivers instead of their positins. This significantly reduces the pre-computation time. This information is then used as an input parameter for a statistical channel model called Spatial Channel Model Extended Urban Microcell (SCME-UM). This model has been designed by the 3GPP consortium for Urban Microcell (UM) environments [BAU 05]. The SCME model is an evolution of the SCM and extends its usage to the 2 and 5 GHz transmision bands with a transmission bandwidth of up to 100 MHz. This channel model is particularly well adapted to V2V communications, whose communication range is lower than 1,000 m. The coupling of the ray-tracing software (callled CRT) [ESC 01] and the SCME-UM channel model is called UM-CRT [LED 12], which is shown in Figure 6.3. In the figure, the gray arrows show how the deterministic ray-tracing simulator (i.e. CRT) can be used with ns-2; the black arrows show how the statistical model (i.e. SCME-UM) can be used with ns-2 and the dashed lines show how to combine both into a hybrid model, which considers distances rather than positions. UM-CRT was validated by a BER comparison with the ray-tracing software (Figure 6.4). It is important to note that the use of node-to-node distances instead of positions decreases the computation time significantly, making the model more suitable for V2V simulations. However, it requires a pre-computation phase to identify the LOS/NLOS situation depending upon the distance between nodes in a given scene. This computation requires a few hours but has to be done only once per scene (e.g. a city center). With UM-CRT, the simulation of vehicular communications has improved in realism, but still requires a long, but compatible with a research work, simulation time.

**6.4. Realistic channel modeling with ns-3**

**6.4.1.** **The Yans WiFi model**

**The Yans WiFi model**

Ns-3, like ns-2, is a discrete-event network simulator targeted primarily for research and educational purposes. The goal of the ns-3 project is to develop a preferred open-simulation environment for networking research: it should be aligned with the simulation needs of the modern networking research. Regarding realism, and specifically the PHY level of wireless transmission, ns-3 proposes more than 25 propagation models that cover a wide range of transmission conditions. It can model phenomena like path loss, shadowing and small-scale fading. All these models are usable with the Yans (Yet Another Network Simulator) Wi-Fi model [LAC 06]. The plain vanilla Yans Wi-Fi channel model implements the IEEE802.11 standards. This means that it takes into account the effects of data transmission at different rates (i.e. digital modulations), the transmission of signaling messages in digital modulation, etc. It also makes it possible to compute the channel transmission properties, such as signal-to-noise ratio (SNR) and packet error rates (PER). As Yans Wi-Fi handles entities that are data packets, it can only provide PER information for correctly received packets. It is important to note that as the Yans Wi-Fi model is an open source, it is quite easy to add new models that are found in the literature.

Figure 6.5 shows a plot of the PER versus the SNR from a simulation with one static car and a second overtaking it. The travel speed was 15 m/s and the transmission power was 0 dBm. For these conditions, at the beginning and the end of the simulation, the cars are out of range. The propagation model was built with the following models: Friis for path loss and Rayleigh and Jakes for small-scale fading.

**6.4.2.** **The Physim Wi-Fi model emulating OFDM-based transmission**

**The Physim Wi-Fi model emulating OFDM-based transmission**

To go a step forward in realism, specifically with the IEEE802.11p standard dedicated to vehicular communications (Wireless Access for Vehicular Environment – WAVE), the Yans Wi-Fi model can be replaced by the Physim Wi-Fi model provided for free by the KIT as an ns-3 add-on [MIT 12]. This tool breaks the frontier between simulation and emulation as it mimics all the steps of an OFDM wireless MAC/PHY transmission. The major characteristic of Physim is that, with the help of the IT++ library [IT 13], it builds a complete digital communication physical layer going down to the OFDM packet (I and Q vectors), which is stored in a specific tag linked to the original IEEE802.11 PPDU frame. Channels effects are then applied to these OFDM packets. Because of its capability to handle bitwise information, Physim also provides SNR and BER information. Figure 6.5 shows the BER versus SNR plot in the same conditions as those in Figure 6.6. As can be observed from the figures, there is an important difference between the two implementations. Concerning Yans Wi-Fi, there is only one PER value per SNR value. This is because the Yans Wi-Fi does not implement a full physical layer. In particular, when an SNR is calculated from a received power value, a PER value is obtained from a theoretical BER curve. On the contrary, Physim Wi-Fi implements all the signal-processing tasks related to the decoding of an OFDM packet. Within the duration of a packet, the SNR value can change and interferences from other packets can occur, thus leading to different BER values. This is the reason why different BER values are observed for the same SNR value.

**6.4.3.** **Data transmission at ns-3 PHY level**

**Data transmission at ns-3 PHY level**

As presented in section 6.2.2, the influence of a transmission channel on transmitted data is made up of different physical phenomena. In ns-3, like for other simulation software, the channel effects on transmitted data are calculated by applying sequentially individual effects. Because of the flexibility of modern network simulators, users can customize propagation models by mixing and configuring the available propagation loss models. Channel effects are then applied by using either deterministic (e.g. Friis) or statistical (e.g. Rayleigh, Rice) methods [BEN 12]. Independently from the Wi-Fi model used (i.e. Yans or Physim), the MAC level transmits a *Packet* to the PHY level. This level, after selecting the appropriate WiFi transmission mode called *WifiMode*, which defines the characteristic elements of the transmission (coding rate, modulation, frequency, etc.), transmits the *Packet* to the “channel level” with a specific *txPower*. This channel level simulates (Yans WiFi) or emulates (Physim WiFi) all the processing steps affecting the signal used for data transmission travelling from the transmitter to the receiver. The results of the application of the channel effects to the transmitted data are then used in the reception process, which is located at the PHY level. The received data must have enough reception power to overcome the *EnergyDetectionThreshold* of the physical interface, which is typically −104 dBm for IEEE802.11p and sufficient *SNR* to be successfully decoded. This reception process also handles interference issues.

**6.4.4.** **The internals of WiFi channel modeling**

**The internals of WiFi channel modeling**

#### 6.4.4.1. *The Yans WiFi case*

Yans WiFi channel models are designed to reproduce effects of over-the-air transmission disturbances on entire packets. Therefore, some effects that are of high importance in mobile communications cannot be accurately modeled. This is also why, as mentioned above, Yans WiFi is only able to produce PER information.

#### 6.4.4.2. *The Physim WiFi case*

In the *PhySimWifiPhy::SendPacket* method, Physim WiFi packetizes the data to be sent into OFDM packets using the IT++ library. It results in an OFDM suite of samples, including a fixed preamble, training symbols, base-rate payload and fullrate payload, represented by their I and Q vectors. Interestingly, this frame could be sent out “as is” over software-defined radio (SDR) equipment. The channel effects can therefore be applied in a more effective manner than that done with Yans WiFi. With Yans WiFi, statistical models are applied packetwise through random draws in dedicated statistical distributions (e.g. Erlang/gamma random variable for the Nakagami model). In doing so, some important properties linked to packet reception, like SNR or PER, are also computed with an *InterferenceHelper* in a packetwise manner, which approximates their values. On the contrary, Physim WiFi applies the channel effects on each the OFDM sample and provides very accurate calculated SNR and BER values from different parts or all of the messages while also taking into account signal overlapping (interferences).

**6.5. Case studies: emulation of realistic VANET channel models in ns-3**

In this section, we will show how to take advantage of ns-3 models in order to simulate a realistic VANET channel. The first implementation can be realized with both Yans and Physim WiFi, and it is interesting to compare them. The second implementation, which implies multi-path propagation, can only be realized with Physim WiFi. This latter case is particularly interesting because, on the one hand, we will show how to use normalized statistical channel models, including those designed for VANET, and on the other hand, we will underline the limits that have to be taken into account when performing these types of simulation.

### 6.5.1. A simplified VANET channel model for an urban environment

One thing to keep in mind when using channel models is that their validity is limited to a specific environment. To be clear, one cannot use a highway channel model to draw conclusions for an urban environment. As discussed earlier, a wireless propagation channel model has to reproduce path loss, shadowing and small-scale fading efficiently. As a first yet realistic approach, let us implement a simple V2V urban channel model. To be able to compare Yans WiFi and Physim WiFi models, we will not take into account the frequency selectivity in this model, that is, the CIR will be made of only one path. Moreover, as this is a common situation in VANET, we will consider an LOS condition between the transmitter and the receiver.

In order to more precisely analyze the effect of the channel model used, we will consider two nodes. The first one (N2) remains fixed and is located 500 m away from the second one (N1). This second node transmits its data to N2 and travels toward it, passes by and moves away up to a distance of 500 m (Figure 6.7). N2 travels at a speed of 14 m/s (≈50 km/h).

To model path loss and shadowing effects, we consider a model literature, the shadow-fading model for V2V environments of Abbas et al. [ABB 15] which we add to both Yans and Physim WiFi. This model considers two types of environments, namely Highway and Urban, and two main situations: LOS and OLOS. Obstructed LOS (OLOS) is a situation when the LOS path gets obstructed completely or partially by another vehicle [ABB 15]. This is different from an NLOS situation when, for example, a building blocks the LOS path completely.

Concerning small-scale fading, we consider an LOS path with K = 3 and model the Doppler spread using a Jakes filter. The simulation parameters are summarized in Table 6.2.

**Table 6.2.** *Simple Yans WiFi propagation channel model simulation parameters*

Path loss and shadowing | Abbas et al. Shadow-fading model |

Small-scale fading | One Rice path + Jakes Doppler filter |

Packet size | 256 bytes |

Interpacket interval | 0.1 s |

Data rate | 18 Mbps (16 QAM, R = 3/4) |

Transmission power | +20 dBm |

Maximum distance between N1 and N2 | 500 m |

Simulation time | 90s |

After averaging over 10 simulations, we obtain a PDR result for Yans WiFi that is 72 and 89% for Physim WiFi. This observed difference comes from the fact that Yans WiFi considers that if the received power threshold is exceeded, a packet is received, whereas Physim WiFi implements a full 802.11p reception. When Physim WiFi considers the reception power sufficient, it carries out a full decoding of the packet, which can fail for several reasons (e.g. SNR fluctuates on the duration of the packet). In this particular situation, the packet is dropped even if the reception power is above the prerequisite threshold.

With the same channel model, we can note that the Yans WiFi is 15% more pessimistic than the Physim WiFi. If we compare the simulation time, we get 2 s for Yans WiFi and 22 s for Physim WiFi. This is expected, as Physim WiFi also implements a full IEEE802.11p physical layer up to the OFDM sample. Let us now go a step further and add a complete multi-path small-scale statistical channel model.

**6.5.2.** **A normalized VANET channel model for urban environments**

**A normalized VANET channel model for urban environments**

In what follows, we will use one of the channel models published in [ACO 07]. These channel models represent typical VANET environments and have been used as reference models to evaluate the IEEE802.11p physical layer. These models are part of the Physim WiFi implementation. It is important to note that it is not possible to use these models with the plain vanilla ns-3, as the Yans WiFi model does not model the physical layer down to the signal level. The simulation parameters are summarized in Table 6.3. As we will see in the following, these models require quite a high computation time. For this reason, we implement the ITU Vehicular A channel model (Table A.2.6.3 of [JAI 07]), which does not use the same computing method for the calculation of channel coefficients. Both channel models give similar results in terms of PDR. However, while the simulation with the Acosta-Marum channel model requires about 360 min, the ITU Vehicular A one lasts only 6 min (measured on an Intel Core I7 2600K platform)! This huge difference is mainly due to the method used to calculate the Doppler spectrum. For the ITU model, it is obtained by the so-called filtering method, whereas for the Acosta-Marum channel, it is calculated by using a time-consuming IFFT algorithm. This method is needed because VANET Doppler spectra have shapes quite different from those of the classical ones.

**Table 6.3.** *Simple Physim WiFi propagation channel model simulation parameters*

Path loss and shadowing | Abbas et al. Shadow-fading model |

Small-scale fading | Acosta-Marum V2V Urban Canyon Oncoming or ITU Vehicular A |

Packet size | 256 bytes |

Interpacket interval | 0.1 s |

Data rate | 6 Mbps (QPSK, R = 1/2), 18 Mbps (16QAM, R = 3/4) |

Transmission power | +20 dBm |

Max. distance between N1 and N2 | 500 m |

Simulation time | 90 s |

In addition to the PDR and the computation time, Figures 6.11 and 6.12 show the BER as a function of the SNR for the data rates selected (6 and 18 Mbps) and for the two channel models considered. There are several interesting things to note. The first one is that we recognize the expected shapes of the BER curves for the different modulations used. The Physim WiFi implementation really mimics a full 802.11p receiver. Moreover, we can also note that there are no BER values lower than 8.10^{−4}. This is simply due to the properties of the convolutional code, which correct all the errors when the BER is lower than this value. Considering the results in terms of PDR, they are very similar for the 18 Mbps case. Thus, both channel models give a PDR of about 20%. However, for the QPSK modulation (6 Mbps), the Acosta-Marum channel model gives 20% PDR, whereas the ITU Vehicular A is less selective, giving a PDR of 40%. This difference can be explained by the particular shape of the Acosta-Marum channel model Doppler spectrum.

**6.6. Conclusion and discussion**

Channel propagation modeling is a broad topic in the wireless communication domain. In this area, ray-launching or ray-tracing propagation simulators are widely used. These tools require a high degree of precision in the description of the channel environment (buildings, architectural elements, trees, advertising hoardings, etc.) in order to compute the CIR accurately. They can accurately reproduce the main propagation mechanisms but require a high computing power, thus excluding them as a possible tool in wireless networking simulations. Because of this, numerous approaches were explored to simulate channel propagation in a fast yet efficient way. If the large- and medium-scale effects (i.e. path loss and shadowing) are easy to model for vehicular environments (i.e. urban, suburban and highway) through deterministic or statistical models, things become more complex when modeling has to handle small-scale fast fading effects.

Providing statistical and realistic models of these effects requires the collection of data from intensive measurements campaigns. This is, of course, time consuming and very expensive. These campaigns were performed for the deployment of cellular telephony. Nowadays, the resulting models are well known and freely available. Concerning channel models for VANET simulations, the task is not so easy, as the variety of situations encountered is large. However, most of the physical specifications have been identified by several research works. The main question that remains is: does taking all these aspects into account in a network simulator really matter?

One way to lower the computation resources required by a full ray-launching propagation simulation is to reduce the number of effects taken into account and to compute only the key propagation elements. In addition, regarding the power of the propagated signal, one of the most important characteristics to consider is the LOS or NLOS situation. In order to determine if the ray between an emitter and a receiver is in an LOS or an NLOS situation, we have used a simplified version of the Urban Microcell (UM) statistical channel model. From these two elements, we created a semi-deterministic propagation model merging the simplified pre-computed ray-launching model and the UM LOS/NLOS situation determination. This model, called UM-CRT, offers a high degree of realism and quite low computer power requirements. This makes it suitable for realistic wireless network simulation of a few tens of nodes; however, it is not suitable for large VANET simulations of more than a hundred nodes.

In order to further reduce the simulation time^{1}, we have explored two 802.11 models for the ns-3 simulator. The default WiFi model is called Yans WiFi [LAC 06]. We have shown that it offers quite a good level of realism and a low computation time but it is limited when one wants to add channel models due to the lack of a realistic physical layer. Alternatively, the Physim WiFi model, which is an additional module for ns-3 provided by the KIT [MIT 12], emulates all the steps of real 802.11p receiver down to the OFDM level. This feature allows the easy integration of statistical channel models. In the VANET area, the most well-known is the set of Acosta-Marum statistical channel models [ACO 07]. These were used to evaluate the IEEE802.11p/WAVE physical layer during the IEEE standardization phase. We have used one of them as a reference in this chapter. It has been observed that it requires a very long computation time mainly due to the method used to calculate the Doppler spectrum. In order to lower the processing time, we looked for an alternative channel model. The best candidate we have found is the ITU Vehicular A statistical channel model [JAI 07]. Our evaluation shows that for the transmission rates using 16 QAM and 64 QAM digital modulations, the results in terms of PDR and BER are similar to those of the Acosta-Marum implementation. Concerning the simulation duration, the gain is significant: 6 min as opposed to 360 min for Acosta-Marum. For lower rates (i.e. BPSK and QPSK modulations), the difference between the two channel models is 20% (Acosta-Marum channel gives the worst results, i.e. a PDR of 20%). Finally, as far as wireless networking is concerned (and VANET, in particular), we have to bear in mind that the wireless channel model is essential. As opposed to wired networking, and especially when testing new routing algorithms in high-speed VANET situations, the user has to expect PDRs in the order of 40% at the best. Moreover, and especially for VANET, the communication links have stability times than can be quite low (in the order of 10 ms).

**6.7. Appendix A: The Abbas et al. Model Implementation**

This appendix provides the source code of the Abbas [ABB 15] path loss model for Vehicle-to-Vehicle network simulators for both the Yans and Physim WiFi models. The integration of this code in ns-3 will add a new model in the list of propagation models. Such a list looks like A) for Yans and B) for Physim WiFi models. It is important to note that the parameters of the Abbas LOS propagation model have been extracted from the text and Table 2 of [ABB 15].

`A) YansWifiChannelHelper wifiChannel;`

`wifiChannel.SetPropagationDelay(“ns3::ConstantSpeedPropagationDelayMo del”);`

*// -- Setting a Abbas LOS propagation loss. Replaces Friis plus // statistic shadowing in vehicular situation*

`wifiChannel.AddPropagationLoss (“ns3::TwoRandShadowingLineOfSight PropagationLossModel”,`

` ”Distance0”, DoubleValue (10.0), // values based on reference paper`

` ”Distanceb”, DoubleValue (104),`

` ”PathLoss0”, DoubleValue (-63.9),`

` ”ExponentN1”, DoubleValue (-1.81),`

` ”ExponentN2”, DoubleValue (-2.85),`

` ”SigmaM1”, DoubleValue (4.15),`

` ”SigmaM2”, DoubleValue (4.15) );`

*// -- Setting Nakagami propagation loss for Rice*

`wifiChannel.AddPropagationLoss (“ns3::NakagamiPropagationLoss Model”,`

` ”Distance1”, DoubleValue (0.0),`

` ”Distance2”, DoubleValue (0.0),`

` ”m0”, DoubleValue (0.0),`

` ”m1”, DoubleValue (0.0),`

` ”m2”, DoubleValue (5.76) );`

**B)** PhySimWifiChannelHelper wifiChannel;

`wifiChannel.SetPropagationDelay (“ns3::ConstantSpeedPropagation DelayModel”);`

*// -- Setting dummy propagation loss - Mandatory in PhySim* wifiChannel.AddPropagationLoss (“ns3::PhySimPropagationLossModel” );

*// -- Setting Abbas loss propagation loss. Replaces Friis plus // statistic shadowing in vehicular situation*

`wifiChannel.AddPropagationLoss (“ns3::PhySimTwoRandShadowingLine OfSightPropagationLoss”,`

` ”Distance0”, DoubleValue (10.0), // values based on reference paper`

` ”Distanceb”, DoubleValue (104.0),`

` ”PathLoss0”, DoubleValue (-63.9),`

` ”Exponent1”, DoubleValue (-1.81),`

` ”Exponent2”, DoubleValue (-2.85),`

` ”Sigma1”, DoubleValue (4.15),`

` ”Sigma2”, DoubleValue (4.15) );`

*// Calculation of the norm Doppler*

`double nodeSpeed=10.0;`

`double lineOfSightDoppler = (nodeSpeed*5.9e9)/(0.3e9*10e6);`

*// -- Setting a Rice propagation loss*

`wifiChannel.AddPropagationLoss (“ns3::PhySimRicianPropagationLoss”,`

` ”MinimumRelativeSpeed”, DoubleValue (2.0),`

` ”LineOfSightPower”, DoubleValue(7.0),`

` ”UseShortcut”, BooleanValue (false),`

` ”LineOfSightDoppler”, DoubleValue (lineOfSightDoppler) );`

*// -- Setting an vehicular channel propagation loss* wifiChannel.AddPropagationLoss(“ns3::PhySimVehicularChannel PropagationLoss”,

`“ChannelProfile”, EnumValue (V2V_URBAN_CANYON_ONCOMING),`

`“MinimumRelativeSpeed”, DoubleValue (2.0) );`

This is the source code of the Abbas LOS propagation model for Yans C) and Physim D) WiFi models. It is important to note that Physim WiFi is currently available only for ns-3 version 3.15 and below.

**C)** NS_OBJECT_ENSURE_REGISTERED (TwoRandShadowingLineOfSight PropagationLossModel);

`TypeId TwoRandShadowingLineOfSightPropagationLossModel::GetTypeId (void)`

`{`

`static TypeId tid=TypeId(“ns3::TwoRandShadowingLineOfSight`

`PropagationLossModel”)`

`.SetParent<PropagationLossModel> ()`

`.AddConstructor<TwoRandShadowingLineOfSightPropagationLoss`

`Model> ()`

`.AddAttribute (“Distance0”,`

` ”1st breakpoint distance d0.”,`

` DoubleValue (10.0),`

` MakeDoubleAccessor (&TwoRandShadowingLineOfSightPropagation`

` LossModel::m_distance0),`

` MakeDoubleChecker<double> ())`

`.AddAttribute (“Distanceb”, “breakpoint distance”,`

` DoubleValue (104), // value based on reference paper`

` MakeDoubleAccessor (&TwoRandShadowingLineOfSightPropagationLoss`

` Model::m_distanceb),`

` MakeDoubleChecker<double> ())`

`.AddAttribute (“PathLoss0”, “Free space path loss plus the`

`accumulative antenna gain (PLf + Ga)”,`

` DoubleValue (-56.5),`

` MakeDoubleAccessor(&TwoRandShadowingLineOfSightPropagation`

` LossModel::m_pathLoss0),`

` MakeDoubleChecker<double> ())`

`.AddAttribute (“ExponentN1”, “Path loss exponent until the`

` breakpoint distance b”,`

` DoubleValue (-1.81),`

` MakeDoubleAccessor(&TwoRandShadowingLineOfSightPropagation`

` LossModel::m_exponentN1),`

` MakeDoubleChecker<double> ())`

`.AddAttribute (“ExponentN2”, “Path loss exponent after the`

` breakpoint distance b”,`

` DoubleValue (-2.85),`

` MakeDoubleAccessor (&TwoRandShadowingLineOfSightPropagation`

` LossModel::m_exponentN2),`

` MakeDoubleChecker<double> ())`

`.AddAttribute (“SigmaM1”, “Standard deviation until the`

` breakpoint distance b”,`

` DoubleValue (4.15),`

` MakeDoubleAccessor (&TwoRandShadowingLineOfSightPropagation`

` LossModel::m_sigmaM1),`

` MakeDoubleChecker<double> ())`

`.AddAttribute (“SigmaM2”, “Standard deviation after the`

` breakpoint distance b”,`

` DoubleValue (4.15),`

` MakeDoubleAccessor (&TwoRandShadowingLineOfSightPropagation`

` LossModel::m_sigmaM2),`

` MakeDoubleChecker<double> ())`

`.AddAttribute (“NormalRvM1”, “Access to the underlying`

` NormalRandomVariable for M1”,`

` StringValue (“ns3::NormalRandomVariable”), MakePointerAccessor`

` (&TwoRandShadowingLineOfSightPropagation`

` LossModel::m_normalRvM1),`

` MakePointerChecker<NormalRandomVariable> ())`

`.AddAttribute (“NormalRvM2”, “Access to the underlying`

` NormalRandomVariable for M2”,`

` StringValue (“ns3::NormalRandomVariable”), MakePointerAccessor`

` (&TwoRandShadowingLineOfSightPropagation`

` LossModel::m_normalRvM2),`

` MakePointerChecker<NormalRandomVariable> ())`

`;`

`return tid; }`

`TwoRandShadowingLineOfSightPropagationLossModel::TwoRandShadowingLine OfSightPropagationLossModel () {}`

`double TwoRandShadowingLineOfSightPropagationLossModel::DoCalcRx Power (double txPowerDbm, Ptr<MobilityModel> a, Ptr<MobilityModel> b)`

`const`

`{`

`double distance = a->GetDistanceFrom (b);`

`double pathLoss ;`

`if (distance < m_distance0) {`

` `*// See paper p7 “there are only a few samples available for*

` `*//d < 10 m, thus the validity range of the model is set to*

` `*//d > 10 m and let d0 = 10 m”*

` pathLoss = m_pathLoss0 + 10 * m_exponentN1 * log10`

` (distance / m_distance0) + m_normalRvM1->GetValue (0,`

` (m_sigmaM1 * m_sigmaM1));`

`}`

`else`

` if (distance < m_distanceb) {`

` pathLoss = m_pathLoss0 + 10 * m_exponentN1 * log10`

` (distance / m_distance0) + m_normalRvM1->GetValue (0, (m_sigmaM1`

` * m_sigmaM1));`

`}`

`else {`

` pathLoss = m_pathLoss0 + 10 * m_exponentN1 * log10`

` (m_distanceb / m_distance0) + 10 * m_exponentN2 * log10`

` (distance / m_distanceb) + m_normalRvM2->GetValue`

` (0, (m_sigmaM2 * m_sigmaM2)) ;`

`}`

`NS_LOG_DEBUG (“TwoRandShadowingLineOfSightPropagation`

`LossModel::DoCalcRxPower() pathLoss = “ << pathLoss);`

`return txPowerDbm + pathLoss; }`

`int64_t`

`TwoRandShadowingLineOfSightPropagationLossModel::DoAssignStreams (int64_t stream)`

`{`

`m_normalRvM1->SetStream (stream);`

`m_normalRvM2->SetStream (stream);`

`return 2; }`

**D)** NS_OBJECT_ENSURE_REGISTERED (PhySimTwoRandShadowingLineOfSight PropagationLoss);

`TypeId PhySimTwoRandShadowingLineOfSightPropagation`

`Loss::GetTypeId (void)`

`{`

` static TypeId tid = TypeId(“ns3::PhySimTwoRandShadowing`

` LineOfSightPropagationLoss”)`

`.SetParent<PhySimPropagationLossModel> ()`

`.AddConstructor<PhySimTwoRandShadowingLineOfSight`

` PropagationLoss> ()`

`.AddAttribute (“Distance0”, “1st breakpoint distance d0.”,`

` DoubleValue (10.0),`

` MakeDoubleAccessor (&PhySimTwoRandShadowingLineOfSight`

` PropagationLoss::m_distance0),`

` MakeDoubleChecker<double> ())`

`.AddAttribute (“Distanceb”, “breakpoint distance”,`

` DoubleValue (104), // value given based on reference paper`

` MakeDoubleAccessor (&PhySimTwoRandShadowingLineOfSight`

` PropagationLoss::m_distanceb),`

` MakeDoubleChecker<double> ())`

`.AddAttribute (“PathLoss0”, “Free space path loss plus the`

` accumulative antenna gain (PLf + Ga)”,`

` DoubleValue (-72.3),`

` MakeDoubleAccessor (&PhySimTwoRandShadowingLineOfSight`

` PropagationLoss::m_pathLoss0),`

` MakeDoubleChecker<double> ())`

`.AddAttribute (“Exponent1”, “Path loss exponent until the`

` breakpoint distance b”,`

` DoubleValue (-1.81),`

` MakeDoubleAccessor (&PhySimTwoRandShadowingLineOfSight`

` PropagationLoss::m_exponentn1),`

` MakeDoubleChecker<double> ())`

`.AddAttribute (“Exponent2”, “Path loss exponent after the`

` breakpoint distance b”,`

` DoubleValue (-2.85),`

` MakeDoubleAccessor (&PhySimTwoRandShadowingLineOfSight`

` PropagationLoss::m_exponentn2),`

` MakeDoubleChecker<double> ())`

`.AddAttribute (“Sigma1”, “Standard deviation until the`

` breakpoint distance b”,`

` DoubleValue (6.67),`

` MakeDoubleAccessor (&PhySimTwoRandShadowingLineOfSight`

` PropagationLoss::SetSigma1, &PhySimTwoRandShadowingLineOfSight`

` PropagationLoss::GetSigma1),`

` MakeDoubleChecker<double> ())`

`.AddAttribute (“Sigma2”, “Standard deviation after the`

` breakpoint distance b”,`

` DoubleValue (6.67),`

` MakeDoubleAccessor (&PhySimTwoRandShadowingLineOfSight`

` PropagationLoss::SetSigma2, &PhySimTwoRandShadowingLineOfSight`

` PropagationLoss::GetSigma2),`

` MakeDoubleChecker<double> ())`

`;`

`return tid; }`

`PhySimTwoRandShadowingLineOfSightPropagationLoss::PhySimTwoRand ShadowingLineOfSightPropagationLoss () : PhySimPropagationLossModel (), m_normalVariableSigma1 (0), m_normalVariableSigma2 (0) {}`

`PhySimTwoRandShadowingLineOfSightPropagationLoss::~PhySimTwoRandShado wingLineOfSightPropagationLoss () {}`

`void PhySimTwoRandShadowingLineOfSight`

`PropagationLoss::DoCalcRxPower (Ptr<PhySimWifiPhyTag> tag, Ptr<MobilityModel> a, Ptr<MobilityModel> b) const`

`{`

`double distance = a->GetDistanceFrom (b);`

`double pathLoss ;`

`double randValue = 0 ;`

`if (distance < m_distanceb) {`

` randValue = m_normalVariableSigma1->GetValue () ;`

` NS_LOG_DEBUG(“randValue1 = “ << randValue);`

` (“PhySimTwoRandShadowingLineOfSightPropagationLoss::`

` DoCalcRxPower m_normalVariableSigma1 = “ << randValue);`

` `*// See paper p7 “there are only a few samples available for*

` `*//d < 10 m, thus the validity range of the model is set to*

` `*//d > 10 m and let d0 = 10 m”*

` pathLoss = m_pathLoss0 + 10 * m_exponentn1 * log10 (distance /`

` m_distance0) + randValue ;`

`}`

`else {`

` randValue = m_normalVariableSigma2->GetValue () ;`

` NS_LOG_UNCOND(“randValue2 = “ << randValue);`

` pathLoss = m_pathLoss0 + 10 * m_exponentn1 * log10 (m_distanceb`

` / m_distance0) + 10 * m_exponentn2 * log10 (distance`

` / m_distanceb) + randValue ;`

`}`

`itpp::cvec input = tag->GetRxedSamples ();`

`itpp::cvec output = input * sqrt (pow (10, pathLoss / 10.0));`

`tag->SetPathLoss (pathLoss); tag->SetRxSamples (output); }`

**6.8. Bibliography**

[ABB 15] ABBAS T., SJÖBERG K., KAREDAL J. *et al*., “A measurement based shadow fading model for vehicle-to-vehicle network simulations”, *International Journal of Antennas and Propagation*, vol. 2015, Article ID 190607, 2015.

[ACO 07] ACOSTA-MARUM G., INGGRAM M.A., “Six time- and frequency- selective empirical channel models for vehicular wireless LANs”, *IEEE Vehicular Technology Magazine*, vol. 2, no. 4, pp. 4–11, December 2007.

[AKH 15] AKHTAR N., ERGEN S.C., OZKASAP O., “Vehicle mobility and communication channel models for realistic and efficient highway VANET simulation”, *IEEE Transactions on Vehicular Technology*, vol. 64, no. 1, pp. 248–262, January 2015.

[AND 06] ANDEL T.R., YASINSAC A., “On the credibility of MANET simulations”, *Computer*, vol. 39, no 7, pp. 48–54, 2006.

[BAU 05] BAUM D.S., SALO J., DEL GALDO G. *et al*., “An interim channel model for beyond-3G systems”, *Proceeding of IEEE VTC’05*, Stockholm, pp. 3132–3136, May 2005.

[BEN 12] BENIN J., NOWATKOWSKI M., OWEN H., “Vehicular network simulation propagation loss model parameter standardization in ns-3 and beyond”, *Southeastcon, 2012 Proceedings of IEEE*, IEEE., pp. 1–5, March 2012.

[BOB 15] BOBAN M., VIRIYASITAVAT W., “Channel Models for Vehicular Communications”, in CAMPOLO C., MOLINARO A., SCOPIGNO R. (eds), *Vehicular ad hoc Networks*, Springer, 2015.

[CAM 15] CAMPOLO C., *Vehicular Ad hoc Networks*, Chapter 12, Springer, 2015.

[ESC 01] ESCARIEU F., POUSSET Y., AVENEAU L. *et al*., “Outdoor and indoor channel characterization by a 3D simulation software” *Proceedings of the 12th International Symposium on Personal, Indoor and Mobile Radio Communications (PIMRC’01)*, Boston, pp. B105–B111, October 2001.

[HAM 09] HAMIDOUCHE W., VAUZELLE R., OLIVIER C. *et al*., “Impact of realistic MIMO physical layer on video transmission over mobile ad hoc network”, *Proceedings of the IEEE 20th Personal, Indoor and Mobile Radio Communications Symposium (PIMRC ‘ 09)*, Tokyo, pp. 187–191, September 2009.

[IEE 13] IEEE 1609, “Family of standards for Wireless Access in Vehicular Environments (WAVE)”, U.S. Department of Transportation, April 13, 2013.

[IT 13] *IT++* Library of Mathematical, Signal Processing and Communication Classes and Functions, http://itpp.sourceforge.net/4.3.1/, 2013.

[JAI 07] JAIN R., “Channel Models: a Tutorial”, *WiMAX forum AATG*, pp. 1–6, February 2007.

[KAR 09] KAREDAL J. TUFVESSON F., CZINK N. *et al*., “A geometry-based stochastic MIMO model for vehicle-to-vehicle communications”, *IEEE Transactions. Wireless Communications*, vol. 8, no. 7, pp. 3646–3657, July 2009.

[LAC 06] LACAGE M., HENDERSON T.R., “Yet another network simulator”, *Proceeding from the 2006 workshop on ns-2: the IP network simulator*, ACM, p. 12, 2006.

[LED 12] LEDY J., BOEGLEN H., POUSSARD A.-M. *et al*., “A semi-deterministic channel model for VANETs simulations”, *Hindawi International Journal of Vehicular Technology*, vol. 2012, Article ID 492105, 2012.

[MIT 12] MITTAG J., available at: https://dsn.tm.kit.edu/ns3-physim.php, 2012.

[NS 02] The ns-2 discrete event simulator targeted at networking research, available at: http://nsnam.sourceforge.net/wiki/index.php/Main_Page, 2002.

[NS 03] The ns-3 discrete-event network simulator for Internet systems, available at: https://www.nsnam.org, 2003.

[PAS 16] PASCHALIDIS P. NUCKELT J., MAHLER K. *et al*., “Investigation of MPC correlation and angular characteristics in the vehicular urban intersection channel using channel sounding and ray tracing”, *IEEE Transactions on Vehicular Technology*, vol. 65, no. 8, pp. 5874–5886, August 2016.

[SEN 08] SEN I., MATOLAK D., “Vehicle-to-vehicle channel models for the 5-GHz band”, *IEEE Transactions on Intelligent Transportation Systems*, vol. 9, no. 2, pp. 235–245, June 2008.

[TRO 04] TROYA CHINCHILLA A., “Synchronization and Channel Estimation in OFDM: Algorithms for Efficient Implementation of WLAN Systems”, PhD Thesis, Brandenburgischen Technischen Universität Cottbus, 2004.

Chapter written by Hervé BOEGLEN, Benoit HILT and Frédéric DROUHIN.