#  Adaptive Semi-Persistent Scheduling for Enhanced On-road Safety in
Decentralized V2X Networks

Avik Dayal1, Vijay K. Shah1, Biplav Choudhury1, Vuk Marojevic2, Carl
Dietrich1, and Jeffrey H. Reed1
1Wireless@VT, Bradley Department of ECE, Virginia Tech, VA, USA
2Electrical and Computer Engineering, Mississippi State University, MS, USA
{ad6db, vijays, biplavc, cdietrich<EMAIL_ADDRESS>and
<EMAIL_ADDRESS>This research is supported by the Office of Naval
Research (ONR) under MURI Grant N00014-19-1-2621. This paper has been accepted
for publication in IFIP Networking 2021. This is a preprint version of the
accepted paper.

(June 2020)

###### Abstract

Decentralized vehicle-to-everything (V2X) networks (i.e., Mode-4 C-V2X and
Mode 2a NR-V2X), rely on periodic Basic Safety Messages (BSMs) to disseminate
time-sensitive information (e.g., vehicle position) and has the potential to
improve on-road safety. For BSM scheduling, decentralized V2X networks utilize
sensing-based semi-persistent scheduling (SPS), where vehicles sense radio
resources and select suitable resources for BSM transmissions at prespecified
periodic intervals termed as Resource Reservation Interval (RRI). In this
paper, we show that such a BSM scheduling (with a fixed RRI) suffers from
severe under- and over- utilization of radio resources under varying vehicle
traffic scenarios; which severely compromises timely dissemination of BSMs,
which in turn leads to increased collision risks. To address this, we extend
SPS to accommodate an adaptive RRI, termed as SPS++. Specifically, SPS++
allows each vehicle – (i) to dynamically adjust RRI based on the channel
resource availability (by accounting for various vehicle traffic scenarios),
and then, (ii) select suitable transmission opportunities for timely BSM
transmissions at the chosen RRI. Our experiments based on Mode-4 C-V2X
standard implemented using the ns-3 simulator show that SPS++ outperforms SPS
by at least $50\%$ in terms of improved on-road safety performance, in all
considered simulation scenarios.

###### Index Terms:

Decentralized V2X, C-V2X, NR-V2X, Semi-Persistent Scheduling, Basic Safety
Message, On-road Safety

##  I Introduction

Vehicle-to-everything (V2X) 111V2X refers to vehicle-to-infrastructure (V2I),
vehicle-to-vehicle (V2V), and vehicle-to-pedestrian (V2P) communications.
communications is a promising technology for next generation of intelligent
transportation systems (ITS), mainly due to its potential of improving on-road
safety, leading to the prevention/reduction of road accidents and more
efficient traffic management [1]. There are two competing technologies that
enable V2X communications, Dedicated Short Range Communications (DSRC) and
Cellular-V2X (C-V2X) [2]. Dedicated Short Range Communications (DSRC) is a
decentralized wireless technology based on the 802.11p standard[3]. On the
other hand, 3GPP introduced C-V2X communications in Release 14, and
standardized two modes of operation termed Mode 3 and Mode 4 based on the
scheduling preferences. Mode 3 C-V2X employs a centralized scheduling approach
under the coverage of eNodeB, where two vehicles can communicate directly. The
selection of radio resources are managed by the control signaling from the
cellular infrastructure over the Uu interface (uplink and downlink) [4]. Mode
4 C-V2X adopts new PC5 interface for direct communication among vehicles
without the need for coverage from the eNodeB [5]. Since the cellular
connectivity can not be assumed ubiquitous, Mode 4 C-V2X is considered as the
baseline mode for C-V2X. Recently, New Radio V2X (NR-V2X) has been envisioned
in Release 16, and it is expected to have decentralized Mode 2a NR-V2X [6].

There are two major V2X use cases: (i) Cooperative safety applications that
rely on basic safety messages (BSMs), which are periodic messages that contain
critical safety information, e.g., sender vehicle’s position and speed, and
(ii) Cooperative traffic efficiency messages, which are event triggered
messages that are intended to help vehicular flow. Since BSMs carry time-
sensitive information, BSMs enable cooperative safety applications, such as,
forward collision warnings [7] and blind spot/lane change warnings [8]. This
is mainly because BSMs facilitate accurate positioning or localization of
neighboring vehicles. Outdated BSMs (due to large BSM scheduling intervals)
and/or lost BSMs (due to channel congestion) negatively impacts the
performance of safety applications as it leads to increased collision risky
situations, mainly due to wrong localization of neighboring vehicles, or in
other words, high tracking error. Tracking error can be defined as the
difference between a vehicle’s actual and perceived location (via most recent
BSM) by its neighboring vehicles. From the above discussion, it is evident
that BSM scheduling (or time intervals at which BSMs are broadcasted) becomes
a critical parameter for ensuring BSM timeliness and minimal channel
congestion, and thus, improved on-road safety of vehicles.

In Mode 4 C-V2X, the BSM scheduling is achieved by utilizing sensing-based
semi-persistent scheduling (SPS), where the vehicle sense the radio resources
(or channel medium) and select suitable (unutilized or underutilized) radio
resources for the transmission of BSMs at prespecified fixed time intervals,
termed, Resource Reservation Interval (RRI). More formally, RRI can be defined
as the inter-transmission time interval between two consecutive BSM
transmissions by a vehicle. The value of RRI is usually set to $100$ ms
(equivalently, BSM rate to $10$ Hz) in the C-V2X standard. The 3GPP standard
allows other values of RRI, such as, $20$ ms and $50$ ms [2].

In this paper, we show that the SPS algorithm with fixed RRIs (e.g., $100$ ms)
has limitations in terms of improving on-road safety performance of Mode-4
C-V2X networks. Consider the following instances: (i) high vehicle density
scenarios – C-V2X networks would likely suffer from overly congested radio
channels (and thus, large number of lost or dropped BSM packets), which will
lead to increased tracking error and thus, degraded on-road safety, and (ii)
low vehicle density – The radio resource are under-utilized in such low
density scenarios. The on-road safety can be greatly improved by choosing
lower value of RRIs (e.g., $20$ ms), as lower value of RRIs will improve the
timeliness of BSMs without compromising the channel congestion (as the
channels can support lower RRIs for fewer vehicles). Furthermore, notice that
due to vehicle mobility and other contextual factors, the vehicle densities
and available channel resources may change over time even for a given C-V2X
scenario. Motivated by this, we propose significant enhancements to
conventional (fixed RRI) SPS, and develop an improved, adaptive BSM scheduling
algorithm, termed SPS++. At any time slot, SPS++ allows each vehicle to adapt
(or adjust) the RRI for a given network scenario (depending upon vehicle
density around it), and thus, ensure timely BSM transmissions, which in turn,
promises to improve on-road safety performance. Decentralized Mode 2a NR-V2X
is expected to utilize SPS as the standard BSM scheduling protocol, thus, we
anticipate that our SPS++ algorithm will also be applicable to the new NR-V2X
standard[6].

In summary, the paper makes following key contributions:

  * •

We show that the conventional SPS algorithm for Mode-4 C-V2X suffers severely
from under- and over-provisioning of radio channel resources (depending upon
the vehicle densities). This in turn negatively impacts the timely successful
delivery of BSMs and thus, compromises on-road safety performance of Mode-4
C-V2X.

  * •

To address the limitations of SPS, we propose an improved, adaptive SPS,
termed SPS++, that ensures BSM timeliness and thus, improves on-road safety
performance of Mode-4 C-V2X. SPS++ allows each vehicle to dynamically adjust
RRIs at each time slot, and judiciously utilize radio resources for BSM
transmissions while accounting for varying C-V2X vehicle traffic scenarios.

  * •

To measure the on-road safety performance of C-V2X, we present collision risk
model, which is based on the concepts of tracking error and time-to-collision
(TTC).

  * •

Our extensive experiments based on ns-3 simulator show that the proposed SPS++
greatly outperforms the conventional SPS in terms of road safety performance,
measured as collision risk, across all considered C-V2X vehicle scenarios.
When compared to SPS with RRI as $20$ ms, $50$ ms, and $100$ ms, the results
show a significant improvement in the reduction of collision risk respectively
by $51.27$%, $51.20$%, and $75.41\%$ for $80$ vehicles/km.

The rest of the paper is organized as follows: Section II discusses the
related works. Section III discusses Mode-4 C-V2X and SPS algorithm. Section
IV discusses on-road safety performance model. In Section V, we highlight the
limitations of SPS in the context of on-road safety performance, and propose
SPS++ algorithm. Section VI describes the performance evaluation, followed by
concluding remarks in Section VII.

##  II Related work

Recent works have simulated and proposed resource allocation improvements to
Mode-4 C-V2X. Molina-Masegos et al. [2] and Chen et al. [9] develop and use
simulations to assess the performance of the SPS algorithm in highway and city
scenarios, and showed the improved performance of C-V2X over DSRC. Research in
[10], [11], and [5] investigate the performance of parameters used in SPS such
as RRI, probability of reselection, and selection window on the packet
delivery ratio (PDR). Gonzalez-Martin et al. [12] build the first known
analytical model of SPS based C-V2X. Recently, [13] proposed short term
sensing before resource selection to help reduce packet collisions and improve
SPS performance. Halder et al. [4] and Lee et. al [14] suggest adjusting the
transmission power and RRI respectively, to improve the overall performance of
SPS, but both only focus on improving the PDR performance of C-V2X.

As opposed to prior works which focus on communication-centric metrics such
as, throughput and PDR, we focus on on-road safety performance of
decentralized V2X networks, such as, tracking error and collision risks. It is
worth mentioning that designing optimal beacon rate in case of DSRC for
improved safety performance of DSRC based V2X networks has been explored
fairly well [3, 15, 16, 17, 18]. However, note that designing rate control
algorithms for DSRC are fundamentally different than designing scheduling
protocols for decentralized Mode-4 C-V2X networks, and existing rate control
protocols can not be directly applied to improving on-road safety performance
in our context of Mode-4 C-V2X networks. To the best of our understanding,
this is the first work which investigates designing BSM scheduling protocol
for improved on-road safety performance of Mode-4 C-V2X.

##  III C-V2X Mode-4

In this section we discuss the Mode-4 C-V2X standard based on 3GPP Release 14.
We start with the C-V2X Mode 4 physical layer and then detail the inner
workings of sensing-based SPS that allows vehicles to find and reserve
suitable transmission opportunities.

###  III-A Physical Layer

At the physical layer, Mode-4 C-V2X is similar to the LTE uplink and uses
single-carrier frequency division multiple access (SC-FDMA). C-V2X supports 10
and 20 MHz channels at 5.9 GHz. In Mode-4, the time-frequency resources are
divided into resource blocks (RBs), subframes ($sf$), and subchannels. Frames
are 10 ms in length, and are comprised of 10 subframes. Subframes are
typically comprised of $2$ resource blocks in time [11]. A resource block is
the smallest schedulable unit of time and frequency that can be allocated to
users. Each RB is made up of 7 SC-FDMA symbols and is 180 kHz wide in
frequency with 12 equally spaced subcarriers. Each RB occupies 0.5 ms in time,
with a minimum allocation time interval of 1 ms, also referred to as the
transmission time interval (TTI). Subchannels are composed of resource blocks
contiguously located in frequency. In C-V2X, the data packet to be
transmitted, called the Transport Block (TB), typically takes up one or more
subchannels. Each TB is transmitted in the same subframe along a sidelink
control information (SCI), that contains the modulation and coding scheme
(MCS) [5].

###  III-B Semi-Persistent Scheduling (SPS)

Figure 1: Flowchart of SPS Algorithm

(a)

(b)

Figure 2: (a) Illustration of the sensing window, selection window, RRI, and
scheduling for SPS and (b) Illustration of Collision Risky scenario caused by
a large tracking error.

At the MAC layer, Mode-4 C-V2X utilizes SPS that uses sensing to determine
suitable semi-persistent transmission opportunities, i.e., set of subframes,
for BSM transmission. Fig. 1 depicts the SPS algorithm 222Please refer to [2]
and [11] for a detailed discussion on SPS., and is explained below. We use
$sf_{i}^{j}$ to refer to a single-subframe resource where $i$ is the subframe
index and $j$ is the subchannel index of $J$ total subchannels. See Fig. 2(a)
for the illustration of subframe and other key terminologies (e.g., sensing
window) related to SPS.

  * •

Sensing (Step 1): Each vehicle continuously monitors the subframes by
measuring the reference signal received power (RSRP) and the sidelink received
signal strength indicator (S-RSSI) across all $J$ subchannels; and stores
sensing measurements for a prespecified last $N_{sensing}$ subframes, known as
the sensing window. $N_{sensing}$ is set to $1000$ subframes. Let subframe
$sf_{n}$ denote the first subframe after the sensing window. Then we can write
the sensing window at $sf_{n}$ as the following set of single-subframe
resources for the $j^{th}$ subchannel:
$\left[sf_{n-N_{sensing}}^{j},\dots,sf_{n-1}^{j}\right]$.

  * •

Identifying available resources (Steps 2-8): Each vehicle initializes a
selection window with a set of consecutive candidate subframes (See Step 2).
$T_{1}\leq 4$ and $T_{2}\leq$ RRI are the start and end subframes for the
selection window. The RRI refers to the time interval between two consecutive
BSM transmissions (See Fig. 2(a) for illustration). Each vehicle utilizes
$N_{sensing}$ subframes (obtained in Step 1) for identifying and subsequently,
selecting the available subframe within the selection window for BSM
transmission as follows.

    1. 1.

The vehicle sets – (i) the RSRP threshold, $P_{th}$, to a minimum RSRP value,
$P_{min}$ (Step 3) and (ii) initializes set $S_{A}$ as all subframes in the
selection window, i.e.,
$S_{A}=[sf_{n+T_{1}},sf_{n+T_{1}+1},\cdots,sf_{n+T_{2}}]$, and $S_{B}$ as an
empty set (See Step 5).

    2. 2.

As shown in Step 6, the vehicle excludes all candidate subframes from set
$S_{A}$ if one of the following conditions are met – (i) the vehicle has not
monitored the corresponding candidate subframe in the sensing window (i.e.,
$N_{sensing}$) and (ii) the linear average RSRP measurement for corresponding
candidate subframe is higher than $P_{th}$. The RSRP exclusion criteria for
the $i^{th}$ subframe (for $j$th sub-channel) in the selection window can be
written as

$\frac{1}{\mathcal{K}}\sum_{k=0}^{\mathcal{K}}RSRP\left(sf_{n+T_{1}+i-N_{sensing}+k\cdot
RRI}^{j}\right)\geq P_{th}$ (1)

where $\mathcal{K}=\frac{N_{sensing}}{RRI}$. If $RRI=100$ ms and
$N_{sensing}=1000$ ms and $i=4$, then, we look at RSRP value across following
$10$ subframes – $\\{4,104,204,\dots,904\\}$ and divide it by
$\mathcal{K}=\frac{1000}{100}=10$ to find the average RSRP.

    3. 3.

If the remaining subframes in $S_{A}$ is less than $20\%$ of total available
subframes (Step 7), then $P_{th}$ is increased by $3$ dB (Step 8), and Steps
$4$ to $7$ are repeated.

  * •

Resource Selection (Steps 9-10): If more than $20\%$ of available channel
resources are identified, then, as shown in Step 9, the vehicle populates
$S_{B}$ with the first $20\%$ of candidate subframes which has the lowest
average S-RSSI in set $R_{A}$. The vehicle then randomly selects a candidate
subframe from set $S_{B}$ as selected resource for first BSM transmission (See
Step 10).

$RSSI\left(\sum_{k=0}^{\mathcal{K}}sf_{n+T_{1}+i-N_{sensing}+k\cdot
RRI}^{j}\right)$ (2)

  * •

Resource Reselection (Steps 11-13): Each vehicle can reserve the same subframe
(selected in Step 10) for next Resource Counter (RC) 333Resource Counter (RC)
is the maximum number of transmissions a certain vehicle is allowed (by
utilizing the selected subframe/resource in the current selection window)
before having to reselect a new set of resources. number of subsequent
transmissions with the same transmission interval, i.e., RRI. The RC varies
with the RRI to ensure that the selected subframe/resource is in use for at
least 0.5 s and at most 1.5 s. This means that for a 20 ms RRI,
$25\leq\textnormal{RC}\leq 75$, for 50 ms RRI, $10\leq\textnormal{RC}\leq 30$,
and for a 100 ms RRI, $5\leq\textnormal{RC}\leq 15$

After RC reaches $0$, the vehicle can either continue utilizing the
preselected resources with a probability $p_{r}$ or reselect new resources for
BSM transmissions with a probability $(1-p_{r})$ (See Steps 11-13).

##  IV On-Road Safety Performance

In this section, we propose a collision risk model, which measures the on-road
safety performance of Mode-4 C-V2X networks. Our proposed collision risk model
is inspired from risk model presented in literature [15], and is based on
tracking error and time-to-collision (TTC) as discussed below.

###  IV-A Tracking Error (TE)

Tracking error (TE), $e^{track}_{uv}$, is defined as the difference between
the ground truth location of the sender vehicle $u$ and $u$’s location as
estimated by the neighboring receiver vehicle $v$. Let the most recent BSM
received at $v$ from $u$ was generated at time $t^{{}^{\prime}}$. At time
$t>t^{\prime}$, the tracking error (TE) that $v$ has in tracking $u$ can be
calculated as follows:

$e^{track}_{uv}=|x^{t}_{u}-x^{t^{\prime}}_{u}|$ (3)

$x^{t}_{u}$ is the actual location of $u$ at time $t$ and $x^{t^{\prime}}_{u}$
is the $u$’s location information contained in the most recent BSM received
from $u$. We consider $x$-coordinate to calculate the tracking error as the
vehicle moves in x-direction only 444For the ease of presentation, we consider
a simple tracking error (TE) model with no lateral movements across lane.. The
TE is usually significant because

  1. 1.

Each BSM takes non-zero channel delay (e.g., propagation delay) to be
successfully delivered to the receiver after being generated, and the sender
would have moved a non-zero distance during the time period.

  2. 2.

The RRI (or in other words, inter-BSM transmission interval) is significant.
For example, if RRI is $100$ ms, it means there is at least $100$ ms inter-
reception delay between two consecutive BSM from sender vehicle $u$ at the
receiver $v$ even if the channel delay is zero. Thus, TE at vehicle $v$ would
be significant as vehicle $u$ would have moved to a different location during
this time interval.

  3. 3.

Lost or delayed BSM, mainly due to channel congestion, will further
deteriorate TE.

Note that lower TE value at receiver vehicle $v$ means that $v$ is able to
track $u$ well (i.e., accurately position vehicle $u$). Thus, TE across all
vehicles is used to measure TTC and Collision risk as discussed in next
subsection.

###  IV-B Time-to-Collision (TTC) and Collision Risk

TTC for a pair of vehicles is defined as the time needed for the distance
between the two vehicles to become zero, which denotes a potential collision
between them. We relate the collision risk (or on-road safety performance) to
the TTC, which in turn, utilizes tracking error.

At any time $t$, the receiver $v$ can estimate TTC with respect to its
neighboring vehicle $u$ based on the BSM sent by $u$ as:

$\text{Estimated TTC},\hskip
7.11317pt\widehat{TTC}^{t}_{uv}=\frac{|\widehat{x}^{t^{\prime}}_{u}-x^{t}_{v}|}{s_{u,v}}$
(4)

where $\widehat{x}^{t}_{u}$ is $u$’s location as per the last received BSM at
$v$ from $u$ with generation time $t^{\prime}$ and $x^{t}_{v}$ is the v’s
actual location at time $t$. $s_{u,v}$ is the relative velocity between them.

However, since sender $u$ is currently at location $x^{t}_{u}$ at time $t$
(and not $x^{t^{\prime}}_{u}$), the true TTC at time t is:

$\text{True TTC},\hskip
7.11317ptTTC^{t}_{uv}=\frac{|x^{t}_{u}-x^{t}_{v}|}{s_{u,v}}$ (5)

Using Equations 3, 4, and 5, we get

$\widehat{TTC}^{t}_{uv}=TTC^{t}_{uv}+\frac{|e^{track}_{uv}|}{s_{uv}}\\\ $ (6)

We designate $\frac{|e^{track}_{uv}|}{s_{uv}}$ as the TTC error,
$e^{TTC}_{uv}$. From Eq. 6, it is clear that the tracking error affects the
TTC calculation. This estimated TTC, $\widehat{TTC}^{t}_{uv}$ can lead to
collision risky situations, and its significance in collision warning was
studied in [19]. For example, consider that $v$ overestimated/underestimated
555Both overestimating and underestimating TTC are hazardous as overestimating
means the vehicle gets too close, and decision based on understimated values
will impact the other vehicles. the TTC to $u$ and is about to take a
route/maneuver based on this errorneous value of $\widehat{TTC}^{t}_{uv}$.
Such a situation can be safely avoided by manual intervention if the time
taken by the driver to react and apply the brakes to make the vehicle stop,
defined as, TTC threshold ($TTC_{th}$), is less than the true TTC (i.e.,
$TTC^{t}_{uv}$) at any given time $t$. Mathematically, TTC threshold,
$TTC_{th}$ is given by:

$\displaystyle TTC_{th}=t_{brake}+t_{react}$ (7)

where $t_{react}$ is 1s and represents the time taken by the driver to respond
to the situation and apply the brakes[20]. $t_{brake}$ is the time taken by
the vehicle to complete to a stop after the brakes have been applied. Assuming
vehicle $u$ has velocity $s_{u}$ and every vehicle has a maximum deceleration
$a$ as 4.6 m/$s^{2}$ (from [20]) makes $t_{brake}=s_{u}/a$. If the true TTC,
i.e., $TTC^{t}_{uv}$, between a pair of vehicles exceeds the $TTC_{th}$ (i.e.,
driver’s controllability), it results in a collision risky scenario.

It means, given $TTC_{th}$, and $TTC^{t}_{uv}$, the collision risk,
$CR^{t}_{uv}$, for a given vehicle pair $u$ and $v$ at any given time $t$, can
be computed as follows:

$CR^{t}_{uv}=\begin{cases}1&TTC^{t}_{uv}\leq TTC_{th}\\\
0&otherwise\end{cases}$ (8)

Using Eq. 6, Eq. 8 can be rewritten as:

$CR^{t}_{uv}=\begin{cases}1&(\widehat{TTC}^{t}_{uv}-e^{TTC}_{uv})\leq
TTC_{th}\\\ 0&otherwise\end{cases}$ (9)

From Eq. 9, it is evident that improving on-road safety performance of C-V2X,
i.e., reducing collision risky scenarios, is directly proportion to minimizing
TE, $e^{track}_{uv}$, between each pair of vehicles in the C-V2X networks.

Fig. 2(b) illustrates how the TTC error causes a collision risky scenario. In
Fig. 2(b), vehicle $u$ estimates vehicle $v$ to have a TTC,
$\widehat{TTC}^{t}_{uv}$ beyond $TTC_{th}$, i.e., in a ”safe” position.
However in reality, vehicle $u$ is close to vehicle $v$ and the true TTC
$TTC_{uv}$ is within the $TTC^{t}_{th}$, and causes collision risky scenario.
Thus, ideally TTC error should be non-existent (or zero) in order to prevent
such a collision risky scenario. However, as discussed earlier, TTC error
exists as the TE is significant (mainly, due to scheduling, transmission and
communication delays). As per the recommendations by SAE-J2945 [21], there
exists a TE threshold $e^{track}_{th}=0.5$m which does not lead to a collision
risky situation. We use this TE threshold to rewrite Collision risk in Eq 9 as
follows.

$CR^{t}_{uv}=\begin{cases}1&(e^{TTC}_{uv}>\frac{|e^{track}_{th}|}{s_{uv}})\textbf{
and }({TTC}^{t}_{uv}<TTC_{th})\\\ 0&otherwise\end{cases}$ (10)

$s_{u,v}$ is set to be the average relative velocity between a pair of
vehicles $u$ and $v$.

At any time $t$, using Eq. 9, we count the number of instances between each
pair of vehicles in which TTC error exceeds the ratio
$\frac{|e^{track}_{th}|}{s_{uv}}$ and true TTC, $TTC^{t}_{uv}$, is within TTC
threshold, $TTC_{th}$, as the measure of collision risks.

##  V Adaptive SPS++ Scheduling Protocol

In this section, we present the limitations of conventional SPS protocol in
terms of improving on-road safety performance of Mode-4 C-V2X, followed by
detailed discussion on the proposed adaptive SPS++ scheduling protocol.

###  V-A Limitations of SPS on On-Road Safety Performance

Figure 3: C-V2X example network with three clusters of vehicles.

We present the limitations of SPS through a simple C-V2X example (See Fig. 3).
The example C-V2X network consists of three clusters 666Each vehicle is at
1-hop (i.e., within the transmission range) of every other vehicles belonging
to a certain cluster of vehicle, of vehicles, where cluster $1$, $2$, and $3$
respectively have $20$, $50$, and $100$ vehicles. We make the following
assumptions for all example C-V2X scenarios.

  * •

We assume $T_{1}=0$ and $T_{2}=$ RRI, which means, the size of selection
window is equal to the RRI.

  * •

C-V2X physical layer consists of $2$ subchannels only. Each BSM transmission
uses both the subchannels and takes 1 ms to transmit. This means if the
selection window is $100$ ms (i.e., RRI = $100$ ms), then at most $100$
distinct vehicles have unique BSM transmission opportunities (assuming no
collision in resource selection)

  * •

Each cluster of vehicles is sufficiently spaced apart from each other so that
there is no inter-cluster interference. This means, for example, no
transmissions from cluster 2 interfere with any transmissions from cluster 1,
and vice-versa.

Under the above assumptions, let us look at the (i) Channel Occupancy
Percentage $C_{occup}$, defined as, the percentage of the number of vehicles
transmitting to the total number of available subframes transmission
opportunities., and (ii) Probability of Successful Reception ($P_{suc})$. For
simplicity, let $P_{suc}$ is given by $\frac{1}{N}$ where $N$ is the number of
vehicles using the same subframe for BSM transmissions. (In reality, $P_{s}$
gets worse as the number of vehicles $N$ increases.)

Table I depicts the average $C_{occup}$ and $P_{suc}$ observed in the example
C-V2X network under conventional SPS with three different values of RRIs,
i.e., $20$ ms, $50$ ms, and $100$ ms. For instance, the average $C_{occup}$
for SPS with low RRI = $20$ ms is given by $\frac{\sum
RRI\times(C_{occup}\text{in each cluster i})}{\text{total number of
vehicles}}$. $C_{occup}$ for each cluster can be computed as follows: Since
RRI is $20$ ms, there are $20$ transmission opportunities (or subframes), (i)
in cluster 1, $20$ vehicles attempt to transmit, it means
$C^{1}_{occup}=\frac{20}{20}\times 100=100\%$, (ii) in cluster 2, $50$
vehicles attempt to transmit, which results in
$C^{2}_{occup}=\frac{50}{20}\times 100=250\%$, and (iii) in cluster 3, $100$
vehicles attempt to transmit, resulting in $C^{3}_{occup}=500\%$. Thus, the
average $C_{occup}$ is $\frac{20\times C^{1}_{occup}+50\times
C^{2}_{occup}+C^{3}_{occup}}{20+50+100}\times 100=379.4\%$. The average
$P_{s}$ can be computed in the similar fashion, and it turns out to be $0.35$
in case of SPS with RRI as $20$ ms. On contrary for SPS with high RRI = $100$
ms the average $C_{occup}$ and $P_{s}$ are $75.88\%$ and $1$ respectively.

TABLE I: conventional SPS with fixed RRIs vs SPS++ scheduling with adaptive RRI Metrics | Conventional SPS |  SPS++
---|---|---
|  20 ms |  50 ms |  100 ms |  Adaptive RRI
Channel Occupancy Percentage |  379.4% |  152.94% |  75.88% |  100%
Probability of Successful Reception |  0.35 |  0.7058 |  1 |  1

Note that SPS with low RRI such as, $20$ ms leads to overly congested radio
channels ($379.4\%)$, and thus, large number of dropped BSM packets ($0.35$),
particularly, in clusters 2 and 3 with $>20$ vehicles). The lost packets
result in high tracking error, which compromise the on-road safety performance
of considered C-V2X network. Whereas, in case of SPS with high RRI as $100$
ms, the radio resources are under-utilized ($75\%$), particularly in cluster
$1$ and $2$ with $<100$ vehicles. On-road safety performance can be
significantly improved by choosing lower value of RRI as lower value of RRIs
will improve timely delivery of BSMs. From the above discussion, it is evident
that SPS with fixed RRI (irrespective of the chosen value of RRI) is limited
in the context of improving overall on-road safety performance of C-V2X
networks.

To address the limitations of conventional SPS (and as detailed in next
subsection), we propose an improved scheduling strategy, termed, SPS++, which
allows each vehicle to adapt its RRI, based on its neighboring vehicle density
at any given time. In case of example C-V2X network, under such SPS++
strategy, each vehicle in cluster 1 (with $20$ vehicles) will choose RRI =
$20$ ms. Similarly, SPS++ will choose RRI = $50$ ms for cluster 2 (with $50$
vehicles) and RRI = $100$ ms for cluster 3 (with $100$ vehicles) – which will
result in $C_{occup}=100\%$ and $P_{s}=1$ (See Table I). It means that the
proposed SPS++ protocol strategy with adaptive RRI enables judicious
utilization of the radio resources This in turn reduces the tracking error and
enhances the on-road safety of C-V2X networks.

Figure 4: Flowchart of SPS++ Algorithm

###  V-B SPS++ Algorithm Description

This subsection discusses in detail the proposed SPS++ algorithm. As shown in
Fig. 4, SPS++ makes significant enhancements to the conventional SPS
algorithm. The dotted boxes represent the new or modified steps in SPS++ (not
present in conventional SPS), whereas the solid boxes represent the steps
borrowed from conventional SPS.

  * •

RRI Initialization and Sensing (Steps 1-2): Similar to SPS, SPS++ continuously
monitors the previous $N_{sensing}$ subframes by measuring RSRP and S-RSSI and
stores the sensing measurements for the sensing window, i.e., $N_{sensing}$
subframes (Step 1). In Step 2, SPS++ initializes the estimated
$\widehat{\textnormal{RRI}}$ to $\textnormal{RRI}_{min}$. SPS++ also
initializes the RSRP threshold ($P_{th}$) to a minimum value $P_{min}$. Unlike
SPS, the selection window is not initialized before starting the resource
selection (see Step 2 in Fig. 1), and is varied as available resources are
identified and the estimated $\widehat{\textnormal{RRI}}$ is updated.

  * •

Identifying available resources under the chosen RRI (Steps 3-10): Each
vehicle utilizes $N_{sensing}$ subframes (obtained in Step 2) for identifying
the available subframes and subsequently, selecting the minimum RRI possible
in between transmission while ensuring that there remain resources (or
subframes) for other vehicles.

    1. 1.

Like SPS, SPS++ sets and updates the $P_{th}$(See Step 3). However, in Step 4,
SPS++ updates the estimated $\widehat{\textnormal{RRI}}$ and initializes the
selection window with $T_{1}=1$ and $T_{2}=\widehat{\textnormal{RRI}}$.
$T_{1}$ is fixed to 1 to maximize subframe resources.

    2. 2.

Similar to SPS, each vehicle populates set $S_{A}$ with all subframes in the
selection window and $S_{B}$ as a empty set (See Step 5). The candidate
subframe exclusion criteria is also borrowed from SPS, except that,
$\widehat{RRI}$ is an adjustable parameter in SPS++.

    3. 3.

If the remaining subframes in $S_{A}$ is less than $20\%$ of total available
subframes (Step 7), then, SPS++, unlike SPS, first checks whether the
$\widehat{\textnormal{RRI}}<\textnormal{RRI}_{max}$ (Step 8). If yes,
$\widehat{\textnormal{RRI}}$ is increased by $\Delta$ as shown in Step 9, and
Steps 4 - 7 are repeated. Once $\widehat{\textnormal{RRI}}$ has reached
$\textnormal{RRI}_{max}$, then $P_{th}$ is increased by 3 dB in Step 10, and
Steps 3 - 7 are repeated.

  * •

Resource Selection (Steps 11 - 12) and Resource Reselection (Step 13) are
similar to SPS. However, in case of SPS++, we choose a reselection counter
(RC) value such that the resource reservation is restricted to $0.5$ s,
irrespective of chosen $\widehat{\textnormal{RRI}}$. Once RC is zero, unlike
SPS (see Steps 12 - 13 in SPS flowchart), SPS++ does not allow reservation of
subframe resources. Both these modifications are to ensure that SPS++ allows
each vehicle to adjust its RRI at every $0.5$ s and account for changing
vehicle traffic conditions.

##  VI Simulation Description and Results

This section describes the simulation setting, followed by experimental
results for the proposed SPS++ compared against conventional SPS protocol.

###  VI-A Simulation Setting

Both SPS and SPS++ protocols are implemented on top of a modified system-level
network simulator (ns-3) which supports C-V2X mode-4 communications. NIST
originally implemented Mode 1 and 2 of the LTE sidelink in Network simulator
(ns-3) [22], which was extended to support Mode-3 and Mode-4 C-V2X
Communication by Nabil et al. [10].

The highway mobility model assumes vehicles to be moving in a six lane highway
road, with three lanes in each direction. While existing work [2], [10] and
[23] largely assume a constant velocity model, we consider a more realistic
vehicle velocity model where the velocity of a certain vehicle follows a
Gaussian distribution centered around $v_{avg}$ (in forward direction, i.e.,
lane 1, 2 and 3) and $-v_{avg}$ (in reverse direction, i.e., lane 4, 5, and
6). In our experiments, the mean $v_{avg}$ is set to $19.44$ m/s ($70$ km/hr)
and the variance is set to $3.0$ m/s. [24] supports the assumption of Gaussian
random variables as reliable for modelling highway traffic speeds. When each
vehicle reaches the end of the highway segment, a warp is applied that moves
the vehicle immediately to the other end of road segment, and the vehicle is
kept in the same lane. Vehicles with velocities normally distributed around
$v_{avg}$ are assigned to lanes 1, 2, and 3 (the 3 bottom most lanes in
Fig.1), while vehicles normally distributed around $-v_{avg}$ are assigned to
lanes 4, 5, and 6. Each vehicle in the same lane travelled in the same
direction and had a maximum deceleration of 4.6 m/s2. A Poisson distribution
was used for the initial placement of vehicles along the highway.

For extensive analysis, we compare the performance of SPS++ against
conventional SPS with three different fixed RRIs: $20$ ms RRI, $50$ ms RRI,
and $100$ ms RRI. The simulations were run with varying vehicle densities,
ranging from $40$ to $160$ vehicles. For the purposes of our simulations we
assume a 10 MHz channel, though this can be easily adjusted. The initial
positions and velocities were kept the same for the same considered vehicle
density scenario across the SPS++ and conventional SPS simulations. Each
scenario had a simulation time of $8$ seconds, and results were averaged
across 10 trials. Table II summarizes the key simulation parameters for both
SPS++ and conventional SPS with fixed RRIs.

TABLE II: Simulation Parameters Parameter | Value
---|---
Vehicle density | {20-80} veh/km
Road Length/Number of lanes/Lane width | 2000 m/ 6 lanes/ 4 m
Simulation time | 8 seconds
Transmission Power | 23 dBm
Transmission and Sensing Range | 300 meters
Distribution of vehicle speeds |  $N$(19.44 m/s, 3 m/s)
Deceleration $a$ | 4.6 m/$s^{2}$
$t_{react}$ | 1 second
SPS++ RRImax | 100 ms
SPS++ RRImin | 20 ms
Packet Size | 190 B
MCS Index | 7
Propagation Model | Winner+ B1 Model
Number of trials | 10
RSRP threshold, $P_{th}$ | -110 dBm

(a) (b) (c)

Figure 5: (a) RRI chosen by SPS++ over time and varying vehicle densities: (b)
Average high risk tracking error, and (c) Collision Risk

###  VI-B Performance Metrics

We use the following two performance metrics for the evaluation of SPS++
against conventional SPS.

  * •

Tracking error ($\mathbf{e_{track}}$)\- $e_{track}$ is the difference between
transmitting vehicle $u$’s actual location and $u$’s location obtained from
the most recent BSM received from $u$ at receiver vehicle $v$. (see Section
IV-A).

  * •

Collision Risk Ratio \- It measures the overall on-road safety performance of
Mode-4 C-V2X networks, and is defined as the ratio of number of collision
risky instances (computed using Eq. 9) to that of both non-risky and risky
instances between each pair of vehicles.

  * •

Packet Delivery Ratio (PDR) \- The probability that all vehicles within the
range of the transmitting vehicle receives the transmitted packet. The PDR is
calculated as PDR${}_{u}=\frac{PR_{u}}{PD_{u}}$, where $PD_{u}$ is the number
of BSMs transmitted by vehicle $u$ and $PR_{u}$ is the number of BSMs sent by
vehicle $u$ received by neighboring vehicles.

###  VI-C Experimental Results

Before we discuss the comparative analysis of SPS++ and SPS in terms of
aforestated performance metrics, we first briefly discuss how SPS++ is able to
adjust the RRI at each vehicle given varying vehicle densities and over time.

Fig. 5(a) shows how SPS++ chooses, on average, the RRI across all vehicles for
each considered vehicle density scenario (i.e., $40$, $80$, $120$ and $160$)
under varying simulation time. We observe over 10 trials that the average
chosen RRI increases over simulation time as vehicles enter the simulation for
each considered vehicle density. After $2$ seconds, the RRI chosen for each
vehicle setting converges to a certain unique RRI value. The chosen RRI in
case of $40$ and $80$ vehicle density (i.e., sparse) is almost four to five
times than that of $120$ or $160$ (i.e., dense) vehicle setting, thanks to the
ability of SPS++ to adjust RRI in real-time and adapt to the varying C-V2X
environment. Vehicles also take a longer time in dense vehicle settings ($5$
and $6$ seconds for 120 and 160 vehicles respectively) to converge to a chosen
RRI value, likely because it takes longer for all vehicles to enter the
simulation.

Figs. 6(a)-6(d) show average SPS++ RRI distributions over the last second of
the simulation 777The reason we use the last second is because by this time,
all vehicles have entered the simulation, and chosen an suitable RRI. See Fig.
5(a) and show a large RRI variance in the $80$, $120$ and $160$ vehicle
density simulations. Not that the chosen RRI is unique This is due to the
varying vehicle traffic densities, and vehicles choosing different RRIs
depending on the number of vehicles in their vicinity. The average RRI of $40$
vehicles, on the other hand, converges to the $RRI_{min}$ of $20$ ms. This is
because there are sufficient channel resources to support $20$ ms RRI for each
vehicle in case of $40$ vehicles, irrespective of varying neighborhood sizes.
Notice from Figs. 6(c) and 6(d) that while the RRI distribution is skewed to
RRImax, there are a number of vehicles still transmitting at lower RRIs.

(a) $40$ vehicles  (b) $80$ vehicles  (c) $120$ vehicles  (d) $160$ vehicles

Figure 6:  Average RRI distribution across different vehicle densities

Tracking Error and Collision Risk Analysis. The tracking error (Fig. 5(b)) and
the collision risk (Fig. 5(c)) are both used to compare the effectiveness of
SPS++ to $20$ ms, $50$ ms, and $100$ ms fixed RRI SPS, in terms of improved
road safety performance of C-V2X networks. Fig. 5(b) shows that the tracking
error increases as the vehicle density increases, and $20$ ms RRI SPS and $50$
ms RRI SPS tracking error alternate as the best performing fixed RRI SPS. At
higher vehicle density scenarios, $50$ ms RRI performs better in terms of
tracking error, likely because the $20$ ms RRI leads to increased packet
losses at higher densities. Notice that the tracking error for SPS++ is
significantly lower than the tracking error associated with SPS (either with
RRI $20$ ms, $50$ ms or $100$ ms) across all vehicle densities. On average,
SPS++ outperforms $50$ ms RRI SPS (the best performing fixed RRI) by almost
$17\%$ and $23\%$ repectively at $60$ and $80$ veh/km. This indicates that
SPS++ protocol is able to choose a suitable RRI at each vehicle that minimizes
packet losses and enable up-to-date BSM sharing between a certain vehicle and
its neighboring nodes. The tracking error improvements found with SPS++
expectedly to extend to the collision risk. Fig. 5(c) shows a significant
decrease in high risk scenarios at $60$ and $80$ veh/km ($55.6$ % and $51.20$
% respectively) as compared to $50$ ms RRI SPS, which is the best performing
fixed RRI scheme.

These results shows that the lower RRI chosen is able to help vehicles in both
low and high density situations. Observe that even at highly dense situations
($80$ vehicles/km), SPS++ outperforms the $100$ ms SPS protocol, although the
average RRI chosen for SPS++ was $100$ ms. It is suspected that a small number
of vehicles could be using smaller RRIs during the course of the simulation
which help reduces the number of high risk situations.

(a) (b) (c) (d)

Figure 7:  (a) PDR for 40 vehicles (b) PDR for 80 vehicles (c) PDR for 120
vehicles and (d) PDR for 160 vehicles

Packet Delivery Ratio Analysis. Fig. 7 shows that SPS++ performs significantly
better in terms of PDR when compared to that of SPS with RRIs $20$ ms and $50$
ms, under all considered vehicle density scenarios. Among the SPS with
different RRIs, $100$ ms SPS PDR performs the best of all three fixed RRIs.
Larger RRIs led to a better PDR, but also yield a large tracking error and
collision risk (See Figs 5(b) and 5(c)). Also notice that other than $100$ ms
RRI SPS, none of the $20$ ms RRI, $50$ ms RRI, or SPS++ protocols have PDRs
near 100%, although at low densities there should be enough subframes for all
vehicles. This reduced PDR is likely an effect of the hidden terminal problem,
where two transmitters might be out of the sensing range of each other, even
if they are both transmitting to the same destination. The likelihood of a
hidden terminal collision increases with smaller RRIs, as there are fewer
subframes that vehicles can use. However, in SPS++ the PDR remains the same
across vehicular densities, and outperforms the $50$ ms fixed RRI PDR at
higher densities. This is likely because of the larger RRI chosen by SPS++ in
the dense scenarios, which likely leads to less congestion and fewer packet
collisions.

Discussion. Unlike conventional SPS protocol, the proposed adaptive SPS++ is
successfully able to adapt to the considered time-varying C-V2X scenarios and
allows each vehicle to dynamically choose the best RRI for the efficient and
reliable BSM sharing with neighboring vehicles This greatly reduces the
tracking error between each pair of vehicles, which in turn significantly
enhances the road safety of C-V2X networks. Thus, SPS++ is a significant step
forward for enabling the next-generation of C-V2X mode-4 based connected
vehicles and intelligent transportation systems.

##  VII Conclusion

In this work, we proposed an adaptive, sensing-based semi-persistent
scheduling protocol, named, SPS++ for improved on-road safety performance of
decentralized V2X networks. Specifically, SPS++, unlike conventional SPS,
allows each vehicle to dynamically adjust RRIs based on the availability of
channel resources and select suitable transmission opportunities for timely
BSM transmissions at adjusted RRIs, while accounting for various vehicle
traffic scenarios. Our extensive experiments based on Mode-4 C-V2X standard
implemented using ns-3 simulator demonstrated that SPS++ protocol
significantly outperformed conventional SPS in terms of improved on-road
safety performance in all considered C-V2X scenarios. In the future, we will
explore designing reinforcement learning (RL) and deep RL, based BSM
scheduling protocol that learns vehicle traffic patterns and other contextual
factors over time, and selects suitable RRIs.

## References

  * [1] J. Thota, N. F. Abdullah, A. Doufexi, and S. Armour, “V2v for vehicular safety applications,” _IEEE Transactions on Intelligent Transportation Systems_ , vol. 21, no. 6, pp. 2571–2585, 2020.
  * [2] R. Molina-Masegosa and J. Gozalvez, “Lte-v for sidelink 5g v2x vehicular communications: A new 5g technology for short-range vehicle-to-everything communications,” _IEEE Vehicular Technology Magazine_ , vol. 12, no. 4, pp. 30–39, 2017.
  * [3] J. Aznar-Poveda, E. Egea-Lopez, A. Garcia-Sanchez, and P. Pavon-Mariáo, “Time-to-collision-based awareness and congestion control for vehicular communications,” _IEEE Access_ , vol. 7, pp. 154 192–154 208, 2019.
  * [4] A. Haider and S.-H. Hwang, “Adaptive transmit power control algorithm for sensing-based semi-persistent scheduling in c-v2x mode 4 communication,” _Electronics_ , vol. 8, no. 8, 2019. [Online]. Available: https://www.mdpi.com/2079-9292/8/8/846
  * [5] B. Toghi, M. Saifuddin, H. N. Mahjoub, M. O. Mughal, Y. P. Fallah, J. Rao, and S. Das, “Multiple access in cellular v2x: Performance analysis in highly congested vehicular networks,” in _2018 IEEE Vehicular Networking Conference (VNC)_ , 2018, pp. 1–8.
  * [6] G. Naik, B. Choudhury, and J. Park, “Ieee 802.11bd and 5g nr v2x: Evolution of radio access technologies for v2x communications,” _IEEE Access_ , vol. 7, pp. 70 169–70 184, 2019.
  * [7] R. Sengupta, S. Rezaei, S. E. Shladover, D. Cody, S. Dickey, and H. Krishnan, “Cooperative collision warning systems: Concept definition and experimental implementation,” _Journal of Intelligent Transp. Systems_ , vol. 11, no. 3, pp. 143–155, 2007.
  * [8] C. Huang, Y. P. Fallah, R. Sengupta, and H. Krishnan, “Adaptive intervehicle communication control for cooperative safety systems,” _IEEE Network_ , vol. 24, no. 1, pp. 6–13, 2010.
  * [9] S. Chen, J. Hu, Y. Shi, and L. Zhao, “Lte-v: A td-lte-based v2x solution for future vehicular network,” _IEEE Internet of Things Journal_ , vol. 3, no. 6, pp. 997–1005, 2016.
  * [10] A. Nabil, K. Kaur, C. Dietrich, and V. Marojevic, “Performance analysis of sensing-based semi-persistent scheduling in c-v2x networks,” in _2018 IEEE 88th Vehicular Technology Conference (VTC-Fall)_ , 2018, pp. 1–5.
  * [11] A. Bazzi, G. Cecchini, A. Zanella, and B. M. Masini, “Study of the impact of phy and mac parameters in 3gpp c-v2v mode 4,” _IEEE Access_ , vol. 6, pp. 71 685–71 698, 2018.
  * [12] M. Gonzalez-Martín, M. Sepulcre, R. Molina-Masegosa, and J. Gozalvez, “Analytical models of the performance of c-v2x mode 4 vehicular communications,” _IEEE Transactions on Vehicular Technology_ , vol. 68, no. 2, pp. 1155–1166, 2019.
  * [13] X. He, J. Lv, J. Zhao, X. Hou, and T. Luo, “Design and analysis of a short term sensing based resource selection scheme for c-v2x networks,” _IEEE Internet of Things Journal_ , pp. 1–1, 2020.
  * [14] T. H. Lee and C. F. Lin, “Reducing collision probability in sensing-based sps algorithm for v2x sidelink communications,” in _2020 IEEE REGION 10 CONFERENCE (TENCON)_ , 2020, pp. 303–308.
  * [15] B. Choudhury, V. K. Shah, A. Dayal, and J. H. Reed, “Experimental analysis of safety application reliability in v2v networks,” in _IEEE Vehicular Technology Conference (VTC2020-Spring)_ , 2020, pp. 1–5.
  * [16] S. Kaul, M. Gruteser, V. Rai, and J. Kenney, “Minimizing age of information in vehicular networks,” in _2011 8th Annual IEEE Communications Society Conference on Sensor, Mesh and Ad Hoc Communications and Networks_. IEEE, 2011, pp. 350–358.
  * [17] A. Dayal, E. Colbert, V. Marojevic, and J. Reed, “Risk controlled beacon transmission in v2v communications,” in _2019 IEEE 89th Vehicular Technology Conference (VTC2019-Spring)_ , 2019, pp. 1–6.
  * [18] N. Lyamin, A. Vinel, and M. Jonsson, “Does etsi beaconing frequency control provide cooperative awareness?” in _2015 IEEE International Conference on Communication Workshop (ICCW)_ , 2015, pp. 2393–2398.
  * [19] S. E. Shladover and S.-K. Tan, “Analysis of vehicle positioning accuracy requirements for communication-based cooperative collision warning,” _Journal of Intelligent Transp. Systems_ , vol. 10, no. 3, pp. 131–140, 2006\.
  * [20] M. Green, “”how long does it take to stop?” methodological analysis of driver perception-brake times,” _Transportation Human Factors_ , vol. 2, no. 3, pp. 195–216, 2000. [Online]. Available: https://doi.org/10.1207/STHF0203_1
  * [21] “On-board system requirements for v2v safety communications,” in _Soc. Autom. Eng._ SAE International, 2016.
  * [22] R. Rouil, F. J. Cintrón, A. Ben Mosbah, and S. Gamboa, “Implementation and validation of an lte d2d model for ns-3,” in _Proceedings of the Workshop on ns-3_ , 2017, pp. 55–62.
  * [23] 3GPP, “Study on lte-based v2x services,” 3rd Generation Partnership Project (3GPP), Technical Report (TR) 36.885, 06 2011, version 14.0.0. [Online]. Available: https://portal.3gpp.org/desktopmodules/Specifications/ SpecificationDetails.aspx?specificationId=2934
  * [24] T. Camp, J. Boleng, and V. Davies, “A survey of mobility models for ad hoc network research,” _Wireless Communications and Mobile Computing_ , vol. 2, no. 5, pp. 483–502, 2002. [Online]. Available: https://onlinelibrary.wiley.com/doi/abs/10.1002/wcm.72