# An Enhanced C-V2X Mode 4 Resource Selection Scheme for CAV Platoons in a Multilane Highway Scenario

Bingying Wang, Jun Zheng, Nathalie Mitton, Cheng Li

► To cite this version:

Bingying Wang, Jun Zheng, Nathalie Mitton, Cheng Li. An Enhanced C-V2X Mode 4 Resource Selection Scheme for CAV Platoons in a Multilane Highway Scenario. FCN 2023 - First International Conference on Future Communications and Networks: Communications and Signal Processing Symposium, Dec 2023, Queenstown, New Zealand. hal-04570266

HAL Id: hal-04570266

https://inria.hal.science/hal-04570266

Submitted on 7 May 2024

HAL is a multi-disciplinary open access
archive for the deposit and dissemination of sci-
entific research documents, whether they are pub-
lished or not. The documents may come from
teaching and research institutions in France or
abroad, or from public or private research centers.

L'archive ouverte pluridisciplinaire HAL, est
destinée au dépôt et à la diffusion de documents
scientifiques de niveau recherche, publiés ou non,
émanant des établissements d'enseignement et de
recherche français ou étrangers, des laboratoires
publics ou privés.

<figure><img src="image_1.png" /></figure>

Distributed under a Creative Commons Attribution 4.0 International License
# An Enhanced C-V2X Mode 4 Resource Selection Scheme for CAV Platoons in a Multilane Highway Scenario

Bingying Wang and Jun Zheng
MCRL, Southeast University
Purple Mountain Laboratories
Nanjing, Jiangsu, 211111, China
{bywang, junzheng}@seu.edu.cn

Nathalie Mitton
Inria Lille-Nord Europe
40 Avenue Halley, 59650 Villeneuve
D'ASCQ, France
nathalie.mitton@inria.fr

Cheng Li
School of Engineering Science
Simon Fraser University
Burnaby, BC, V5A 1S6, Canada
cheng_li_5@sfu.ca

**Abstract**—This paper proposes an enhanced C-V2X mode 4 resource selection scheme for CAV platoons to support reliable intra-platoon message delivery. The enhanced scheme introduces three enhancement mechanisms, which aim to address merging collisions and hidden-node collisions in intra-platoon message delivery and enhance the sensing-based semi-persistent scheduling (SPS) scheme standardized by 3GPP. A resource partition mechanism is introduced to avoid merging collisions among vehicles moving in opposite directions; an intra-platoon cooperative mechanism is introduced to enable the leader of a platoon to know the resource occupation status on the hidden nodes of the platoon and thus avoid hidden-node collisions; and a packet collision detection mechanism is introduced to enable a non-platoon vehicle to detect and avoid merging collisions due to lane-change maneuvers. Simulation results demonstrate that compared with the standardized SPS scheme, the enhanced scheme can improve the efficiency of intra-platoon message delivery in terms of the intra-platoon packet delivery ratio.

**Index Terms**—resource selection scheme, intra-platoon message delivery, merging collision, hidden-node collision, C-V2X network

## I. INTRODUCTION

Connected and Automated Vehicle (CAV) platoons are considered one of the most promising Intelligent Transportation System (ITS) applications for increasing road capacity and alleviating traffic congestion [1]. Within a platoon, the platoon leader (PL) is responsible for broadcasting safety-related messages to its platoon members (PMs) [2]. C-V2X (cellular vehicle-to-everything) supports various V2X scenarios including V2V (vehicle-to-vehicle) communications [3]. The Third Generation Partnership Project (3GPP) specified two V2V communication modes in Release 14, i.e., mode 3 and mode 4 [4]. In mode 3, a base station allocates frequency-time resources to vehicles in a centralized manner. In mode 4, a vehicle performs frequency-time resource selection by using a standardized sensing-based semi-persistent scheduling (SPS) scheme [4], which enables different vehicles to independently select their frequency-time resources in a decentralized manner, within or outside cellular coverage. Due to space limitation, readers are referred to [4] for more details on the

sensing-based SPS scheme. Therefore, mode 4 is considered more suitable for safety-related message delivery in a platoon because it requires no cellular infrastructure. However, the sensing-based SPS scheme is insufficient to support highly efficient intra-platoon message delivery (MD) because it is challenged by two types of potential packet collisions, i.e., hidden-node collisions and merging collisions [5,6]. Since the sensing-based SPS scheme does not have the ability to address the two types of potential packet collisions, an enhancement to the sensing-based SPS scheme in this respect will help improve the efficiency of intra-platoon message delivery.

In the context of resource selection, considerable work has been conducted to support efficient V2V communication in C-V2X networks [7-10]. In [7], Molina-Masegosa et al. proposed a geo-based resource scheduling scheme, where vehicles form a virtual queue based on the location information obtained through exchanging beacons with their neighbours, and a vehicle selects its frequency-time resources based on its order in the queue. In [8], Shehata et al. proposed INTER-UE coordination frameworks, where a receiving vehicle acts as an assisting vehicle so that a transmitting vehicle can use the assistance information reported by a receiving vehicle for its resource selection. In [9], Heo et al. proposed a hybrid V2X (H-V2X) scheme, which adaptively controls the settings of a C-V2X system to ensure reliable cooperative awareness message delivery, and uses DSRC when the C-V2X performance requirements are met. In [10], Zhang et al. proposed a distributed counter value selection approach to improve the efficiency of the SPS, in which the counter and the offset information are added to the remaining storage space of the sidelink control information. To our best knowledge, however, no work has been conducted to enhance the standardized SPS scheme for improving efficient intra-platoon message delivery in a C-V2X network.

In this paper, we propose an enhanced C-V2X mode 4 resource selection scheme to address merging collisions and hidden-node collisions in intra-platoon message delivery. To this end, three mechanisms are introduced: a resource partition mechanism is introduced to divide frequency-time resources in a selection window into two sets in order for vehicles (both platoon and non-platoon vehicles) moving in opposite

<footnote>This work was supported by Open Research Projects of Zhejiang Lab (No. 2021LC0AB02) and the Fundamental Research Funds for the Central Universities (No. 2242022k60001).</footnote>
# An Enhanced C-V2X Mode 4 Resource Selection Scheme for CAV Platoons in a Multilane Highway Scenario

Bingying Wang and Jun Zheng
MCRL, Southeast University
Purple Mountain Laboratories
Nanjing, Jiangsu, 211111, China
{bywang, junzheng}@seu.edu.cn

Nathalie Mitton
Inria Lille-Nord Europe
40 Avenue Halley, 59650 Villeneuve
D'ASCQ, France
nathalie.mitton@inria.fr

Cheng Li
School of Engineering Science
Simon Fraser University
Burnaby, BC, V5A 1S6, Canada
cheng LI 5@sfu.ca

**Abstract**—This paper proposes an enhanced C-V2X mode 4 resource selection scheme for CAV platoons to support reliable intra-platoon message delivery. The enhanced scheme introduces three enhancement mechanisms, which aim to address merging collisions and hidden-node collisions in intra-platoon message delivery and enhance the sensing-based semi-persistent scheduling (SPS) scheme standardized by 3GPP. A resource partition mechanism is introduced to avoid merging collisions among vehicles moving in opposite directions; an intra-platoon cooperative mechanism is introduced to enable the leader of a platoon to know the resource occupation status on the hidden nodes of the platoon and thus avoid hidden-node collisions; and a packet collision detection mechanism is introduced to enable a non-platoon vehicle to detect and avoid merging collisions due to lane-change maneuvers. Simulation results demonstrate that compared with the standardized SPS scheme, the enhanced scheme can improve the efficiency of intra-platoon message delivery in terms of the intra-platoon packet delivery ratio.

***Index Terms***—resource selection scheme, intra-platoon message delivery, merging collision, hidden-node collision, C-V2X network

## I. INTRODUCTION

Connected and Automated Vehicle (CAV) platoons are considered one of the most promising Intelligent Transportation System (ITS) applications for increasing road capacity and alleviating traffic congestion [1]. Within a platoon, the platoon leader (PL) is responsible for broadcasting safety-related messages to its platoon members (PMs) [2]. C-V2X (cellular vehicle-to-everything) supports various V2X scenarios including V2V (vehicle-to-vehicle) communications [3]. The Third Generation Partnership Project (3GPP) specified two V2V communication modes in Release 14, i.e., mode 3 and mode 4 [4]. In mode 3, a base station allocates frequency-time resources to vehicles in a centralized manner. In mode 4, a vehicle performs frequency-time resource selection by using a standardized sensing-based semi-persistent scheduling (SPS) scheme [4], which enables different vehicles to independently select their frequency-time resources in a decentralized manner, within or outside cellular coverage. Due to space limitation, readers are referred to [4] for more details on the

sensing-based SPS scheme. Therefore, mode 4 is considered more suitable for safety-related message delivery in a platoon because it requires no cellular infrastructure. However, the sensing-based SPS scheme is insufficient to support highly efficient intra-platoon message delivery (MD) because it is challenged by two types of potential packet collisions, i.e., hidden-node collisions and merging collisions [5,6]. Since the sensing-based SPS scheme does not have the ability to address the two types of potential packet collisions, an enhancement to the sensing-based SPS scheme in this respect will help improve the efficiency of intra-platoon message delivery.

In the context of resource selection, considerable work has been conducted to support efficient V2V communication in C-V2X networks [7-10]. In [7], Molina-Masegosa et al. proposed a geo-based resource scheduling scheme, where vehicles form a virtual queue based on the location information obtained through exchanging beacons with their neighbours, and a vehicle selects its frequency-time resources based on its order in the queue. In [8], Shehata et al. proposed INTER-UE coordination frameworks, where a receiving vehicle acts as an assisting vehicle so that a transmitting vehicle can use the assistance information reported by a receiving vehicle for its resource selection. In [9], Heo et al. proposed a hybrid V2X (H-V2X) scheme, which adaptively controls the settings of a C-V2X system to ensure reliable cooperative awareness message delivery, and uses DSRC when the C-V2X performance requirements are met. In [10], Zhang et al. proposed a distributed counter value selection approach to improve the efficiency of the SPS, in which the counter and the offset information are added to the remaining storage space of the sidelink control information. To our best knowledge, however, no work has been conducted to enhance the standardized SPS scheme for improving efficient intra-platoon message delivery in a C-V2X network.

In this paper, we propose an enhanced C-V2X mode 4 resource selection scheme to address merging collisions and hidden-node collisions in intra-platoon message delivery. To this end, three mechanisms are introduced: a resource partition mechanism is introduced to divide frequency-time resources in a selection window into two sets in order for vehicles (both platoon and non-platoon vehicles) moving in opposite

<footnote>This work was supported by Open Research Projects of Zhejiang Lab (No. 2021LC0AB02) and the Fundamental Research Funds for the Central Universities (No. 2242022k60001).</footnote>
directions to select different resources and thus avoid potential merging collisions; an intra-platoon cooperative mechanism is introduced to enable the PL of a platoon to know the resource occupation status on the hidden nodes of the platoon, which is collected and reported to the PL by the last PM of the same platoon, thereby avoiding hidden-node collisions; and a packet collision detection mechanism is introduced to enable a non-platoon vehicle to detect the status of the resources it currently occupies after the non-platoon vehicle changes a lane and thus avoids potential merging collisions among non-platoon vehicles due to lane-change maneuvers. Simulation experiments were conducted to demonstrate the efficiency of the proposed scheme.

## II. SYSTEM MODEL

Consider a multilane highway road scenario with $n_L$ westbound lanes and $n_L$ eastbound lanes, as shown in Fig. 1. A westbound lane is denoted by $W_l$ and an eastbound lane is denoted by $E_l$ ($l = 1, 2, \dots, n_L$). There are a random number of CAV platoons moving on each lane, which are denoted by $\Phi_i$ ($i = 1, 2, \dots$). The PL of platoon $\Phi_i$ is denoted by $v_0^i$, and the last PM of platoon $\Phi_i$ is denoted by $v_{last}^i$. The number of PMs in platoon $\Phi_i$ is denoted by $n_i$. There are also a random number of non-platoon vehicles moving on each lane. Let $d_L$ denote the distance between adjacent lanes or centerlines. Moreover, we make the following assumptions:

<figure><img src="image_1.png" /><figcaption>Fig. 1. Highway road scenario.</figcaption></figure>

1) The number of PMs in platoon $\Phi_i$ ($n_i$) is uniformly distributed in $[n_{PM}^{min}, n_{PM}^{max}]$ ($2 \le n_{PM}^{min} < n_{PM}^{max}$), where $n_{PM}^{min}$ and $n_{PM}^{max}$ denote the minimum number and maximum number of PMs allowed in a platoon, respectively. $n_{PM}^{max}$ ensures that the intra-platoon message delivery can be achieved via a PL's one-hop broadcast. Obviously, we have

$$n_{PM}^{max} \le [R_s/d_{min}], \quad (1)$$

where $d_{min}$ denotes the minimum safe braking distance, and $R_s$ denotes the carrier sensing range of a vehicle. The vehicles in platoon $\Phi_i$ follow an equidistant distribution with intra-platoon spacing $d_i$, which is uniformly distributed in $[d_{min}, R_s/n_i]$.

2) CAV platoons on each lane follow a Poisson distribution with density $\lambda_{\Phi}$. Given the current level of autonomous driving technologies, it is assumed that all platoon vehicles move at a constant speed, and do not execute lane-change maneuvers.

3) Non-platoon vehicles are generated uniformly on each lane with density $\lambda_u$. Let $u_j$ ($j = 1, 2, \dots$) denote a non-platoon vehicle.

In a multilane scenario, a non-platoon vehicle may change its speed and execute a lane-change maneuver. The speed of a non-platoon vehicle follows a normal distribution with mean $\mu$ and variance $\sigma$. A larger value of $\sigma$ means a larger speed difference between different non-platoon vehicles and thus more non-platoon vehicles may change lanes to ensure safe driving. A non-platoon vehicle is not allowed to join a platoon.

4) The data packet transmission rate of a vehicle is $r$, and we have $r \in \{10pps, 20pps, 50pps\}$ [4].

5) Each vehicle has a global navigation satellite system (GNSS) device, which provides the position and moving direction of the vehicle. Before transmitting a data packet, a vehicle adds information on its position and moving direction in the packet. By receiving SCI messages and data packets from all its neighbours, a vehicle can maintain a neighbour list that contains information on the positions and moving directions of all its neighbours. A vehicle updates its position and moving direction information every 1 ms, and updates its neighbour list every time it receives a data packet.

For ease of elaboration, a Cartesian coordinate system will be used subsequently with a typical vehicle as the origin of the system.

## III. AN ENHANCED C-V2X MODE 4 RESOURCE SELECTION SCHEME FOR CAV PLATOONS

### A. Resource partition mechanism

The resource partition mechanism is used to partition all CSRs in a selection window into two sets of CSRs from different subchannels, which are respectively used for vehicles moving in opposite directions, as shown in Fig. 2. By using this mechanism, vehicles moving in opposite directions will not select the same CSR for data transmission. Let $\psi_W$ and $\psi_E$ denote a set of CSRs that can be used by vehicles moving westwards and a set of CSRs that can be used by vehicles moving eastwards, respectively. If we assume that the number of CSRs in $\psi_W$ and that in $\psi_E$ are equal, we have $|\psi_W| = |\psi_E|$. Thus, vehicles moving in opposite directions can select CSRs from $\psi_W$ and those in $\psi_E$ separately so that their transmissions will not collide with each other when they move close to each other.

<figure><img src="image_2.png" /><figcaption>Fig. 2. Illustration of the resource division mechanism.</figcaption></figure>
directions to select different resources and thus avoid potential merging collisions; an intra-platoon cooperative mechanism is introduced to enable the PL of a platoon to know the resource occupation status on the hidden nodes of the platoon, which is collected and reported to the PL by the last PM of the same platoon, thereby avoiding hidden-node collisions; and a packet collision detection mechanism is introduced to enable a non-platoon vehicle to detect the status of the resources it currently occupies after the non-platoon vehicle changes a lane and thus avoids potential merging collisions among non-platoon vehicles due to lane-change maneuvers. Simulation experiments were conducted to demonstrate the efficiency of the proposed scheme.

## II. SYSTEM MODEL

Consider a multilane highway road scenario with $n_L$ westbound lanes and $n_L$ eastbound lanes, as shown in Fig. 1. A westbound lane is denoted by $W_l$ and an eastbound lane is denoted by $E_l$ ($l = 1, 2, \dots, n_L$). There are a random number of CAV platoons moving on each lane, which are denoted by $\Phi_i$ ($i = 1, 2, \dots$). The PL of platoon $\Phi_i$ is denoted by $v_0^i$, and the last PM of platoon $\Phi_i$ is denoted by $v_{last}^i$. The number of PMs in platoon $\Phi_i$ is denoted by $n_i$. There are also a random number of non-platoon vehicles moving on each lane. Let $d_L$ denote the distance between adjacent lanes or centerlines. Moreover, we make the following assumptions:

<figure><img src="image_2.png" /><figcaption>Fig. 1. Highway road scenario.</figcaption></figure>

1) The number of PMs in platoon $\Phi_i$ ($n_i$) is uniformly distributed in $[n_{PM}^{min}, n_{PM}^{max}]$ ($2 \le n_{PM}^{min} < n_{PM}^{max}$), where $n_{PM}^{min}$ and $n_{PM}^{max}$ denote the minimum number and maximum number of PMs allowed in a platoon, respectively. $n_{PM}^{max}$ ensures that the intra-platoon message delivery can be achieved via a PL's one-hop broadcast. Obviously, we have

$$n_{PM}^{max} \le [R_s/d_{min}], \quad (1)$$

where $d_{min}$ denotes the minimum safe braking distance, and $R_s$ denotes the carrier sensing range of a vehicle. The vehicles in platoon $\Phi_i$ follow an equidistant distribution with intra-platoon spacing $d_i$, which is uniformly distributed in $[d_{min}, R_s/n_i]$.

2) CAV platoons on each lane follow a Poisson distribution with density $\lambda_{\Phi}$. Given the current level of autonomous driving technologies, it is assumed that all platoon vehicles move at a constant speed, and do not execute lane-change maneuvers.

3) Non-platoon vehicles are generated uniformly on each lane with density $\lambda_u$. Let $u_j$ ($j = 1, 2, \dots$) denote a non-

platoon vehicle. In a multilane scenario, a non-platoon vehicle may change its speed and execute a lane-change maneuver. The speed of a non-platoon vehicle follows a normal distribution with mean $\mu$ and variance $\sigma$. A larger value of $\sigma$ means a larger speed difference between different non-platoon vehicles and thus more non-platoon vehicles may change lanes to ensure safe driving. A non-platoon vehicle is not allowed to join a platoon.

4) The data packet transmission rate of a vehicle is $r$, and we have $r \in \{10pps, 20pps, 50pps\}$ [4].

5) Each vehicle has a global navigation satellite system (GNSS) device, which provides the position and moving direction of the vehicle. Before transmitting a data packet, a vehicle adds information on its position and moving direction in the packet. By receiving SCI messages and data packets from all its neighbours, a vehicle can maintain a neighbour list that contains information on the positions and moving directions of all its neighbours. A vehicle updates its position and moving direction information every 1 ms, and updates its neighbour list every time it receives a data packet.

For ease of elaboration, a Cartesian coordinate system will be used subsequently with a typical vehicle as the origin of the system.

## III. AN ENHANCED C-V2X MODE 4 RESOURCE SELECTION SCHEME FOR CAV PLATOONS

### A. Resource partition mechanism

The resource partition mechanism is used to partition all CSRs in a selection window into two sets of CSRs from different subchannels, which are respectively used for vehicles moving in opposite directions, as shown in Fig. 2. By using this mechanism, vehicles moving in opposite directions will not select the same CSR for data transmission. Let $\psi_W$ and $\psi_E$ denote a set of CSRs that can be used by vehicles moving westwards and a set of CSRs that can be used by vehicles moving eastwards, respectively. If we assume that the number of CSRs in $\psi_W$ and that in $\psi_E$ are equal, we have $|\psi_W| = |\psi_E|$. Thus, vehicles moving in opposite directions can select CSRs from $\psi_W$ and those in $\psi_E$ separately so that their transmissions will not collide with each other when they move close to each other.

<figure><img src="image_3.png" /><figcaption>Fig. 2. Illustration of the resource division mechanism.</figcaption></figure>
## B. Intra-platoon cooperative mechanism

The intra-platoon cooperative mechanism is used to avoid hidden-node collisions in intra-platoon MD through cooperation between the PL and the last PM of a platoon. To this end, the last PM of a platoon needs to collect the resource occupation information on the hidden nodes of the platoon and report the collected information to the PL. Specifically, the last PM needs to add the collected information into a data packet to be transmitted so that the PL can make use of this information for its CSR selection. In this mechanism, only the PL and the last PM need to select and reserve CSRs for data transmissions. The intra-platoon cooperative mechanism

### Process 1 Information reporting process for the last PM of a platoon

When the last PM of platoon $\Phi_i$ ($v_{last}^i$) needs to report resource information it collects on the hidden nodes to the PL of platoon $\Phi_i$ ($v_0^i$) at time $t$ and the value of its reselection counter reaches zero, $v_{last}^i$ will execute the following steps:

**S1:** Check the SCI messages received from its neighbours and measure the reference signal received power (RSRP) on each CSR where the SCI messages are transmitted.

**S2:** Add the following information into its next data packet to be transmitted:

* $v_{last}^i$'s neighbour list obtained according to the information contained in the SCI messages and data packets received from all its neighbours;

* The CSRs that need to be excluded due to $v_{last}^i$'s half-duplex constraint.

**S3:** Exclude the CSRs occupied by its neighbours from all CSRs in the selection window $[t, t+\delta]$ and create list $\mathcal{L}_{i, last}$ to store the available CSRs that $v_{last}^i$ can reserve within $\psi_W / \psi_E$ if it is moving westwards/eastwards. $\delta$ denotes the maximum transmission delay allowed for a data packet.

**S4:** If $N_{i, last} \ge \varepsilon \cdot N$, go to **S5**, where $N_{i, last}$ denotes the number of CSRs in list $\mathcal{L}_{i, last}$; $N$ denotes the total number of CSRs in the selection window; and $\varepsilon$ is a predefined constant. Otherwise, go to **S3** with the RSRP threshold (denoted by $\theta_{RSRP}$) being increased by 3 dB.

**S5:** Measure the average RSSI (denoted by $\overline{RSSI}$) of each CSR in $\mathcal{L}_{i, last}$ and sort the CSRs in $\mathcal{L}_{i, last}$ in an ascending order by $\overline{RSSI}$ to create list $\tilde{\mathcal{L}}_{i, last}$.

**S6:** Create list $\hat{\mathcal{L}}_{i, last}$, which is used to store the first ($\varepsilon \cdot N$) CSRs in list $\tilde{\mathcal{L}}_{i, last}$.

**S7:** Select a CSR randomly from $\hat{\mathcal{L}}_{i, last}$ and reserve the selected CSR for $v_{last}^i$'s next $k_{RC}$ CAM packet transmissions, where $k_{RC}$ denotes the initial value of $v_{last}^i$'s reselection counter and is randomly selected according to the data packet transmission rate of $v_{last}^i$.

consists of two processes, which are respectively executed by a platoon's PL and last PM to cooperate with each other.

#### 1) The information reporting process for the last PM of a platoon

The information reporting process for the last PM of a platoon is executed to collect and report to the PL the resource

occupation information on the platoon's hidden nodes. As shown in Fig. 3, a platoon's hidden nodes are all located within the carrier sensing range of the last PM. In another word, a platoon's hidden nodes are all included in the last PM's neighbour list. Thus, the last PM needs to add its neighbour list into its data packet in each transmission so that the PL can be informed of the CSRs occupied by the hidden nodes of the platoon. Process 1 describes the main steps of the information reporting process for the last PM of a platoon.

<figure><img src="image_3.png" /><figcaption>Fig. 3. Illustration of hidden nodes of platoon $\Phi_i$.</figcaption></figure>

#### 2) The resource selection process for the PL of a platoon

The resource selection process for the PL of a platoon is executed to select an appropriate CSR for broadcasting a message within the platoon. In CSR selection, the PL should exclude the following CSRs from all CSRs in a selection window based on the information contained in the SCI messages received from other vehicles within its carrier sensing range and the information contained in the data packets received from the last PM of the platoon:

* The CSRs that are occupied by the PL's neighbours;

* The CSRs that need to be excluded because of the PL's half-duplex constraint;

* The CSRs occupied by the platoon's hidden nodes.

To prevent the PL of a platoon from over-excluding CSRs, a series of “boundary segments” are introduced for the PL. Each “boundary segment” is of length $s$ and is on one of the opposite lanes of the PL within the last PM's carrier sensing range, as shown in Fig. 3. Accordingly, the CSRs used by vehicles moving on the PL's boundary segments should be added into the list of available resources during resource exclusion in order to prevent the PL from over-excluding CSRs. The PL determines whether a vehicle is located on one of its boundary segments by comparing its position and the last PM's neighbour list in a data packet received from the last PM. Fig. 3 gives an example to illustrate a boundary segment for the PL $v_0^i$ of platoon $\Phi_i$. In this example, the platoon $\Phi_i$ is moving westwards, while a vehicle $u_k$ is moving eastwards and is about to move out of the last PM $v_{last}^i$'s carrier sensing range. Therefore, $v_0^i$ will add the CSR occupied by $u_k$ into list $\mathcal{L}_{i, 0}$ based on the position obtained from $v_{last}^i$'s GNSS device and the neighbour list received from $v_{last}^i$ because $u_k$'s remaining transmissions will cause no interference with the intra-platoon message delivery of $\Phi_i$.

For a PL moving on a westbound lane $W_l$ ($l = 1, 2, \dots, n_L$), each of its boundary segments is
## B. Intra-platoon cooperative mechanism

The intra-platoon cooperative mechanism is used to avoid hidden-node collisions in intra-platoon MD through cooperation between the PL and the last PM of a platoon. To this end, the last PM of a platoon needs to collect the resource occupation information on the hidden nodes of the platoon and report the collected information to the PL. Specifically, the last PM needs to add the collected information into a data packet to be transmitted so that the PL can make use of this information for its CSR selection. In this mechanism, only the PL and the last PM need to select and reserve CSRs for data transmissions. The intra-platoon cooperative mechanism

### Process 1 Information reporting process for the last PM of a platoon

When the last PM of platoon $\Phi_i$ ($v_{last}^i$) needs to report resource information it collects on the hidden nodes to the PL of platoon $\Phi_i$ ($v_0^i$) at time $t$ and the value of its reselection counter reaches zero, $v_{last}^i$ will execute the following steps:

**S1:** Check the SCI messages received from its neighbours and measure the reference signal received power (RSRP) on each CSR where the SCI messages are transmitted.

**S2:** Add the following information into its next data packet to be transmitted:

* $v_{last}^i$'s neighbour list obtained according to the information contained in the SCI messages and data packets received from all its neighbours;

* The CSRs that need to be excluded due to $v_{last}^i$'s half-duplex constraint.

**S3:** Exclude the CSRs occupied by its neighbours from all CSRs in the selection window $[t, t+\delta]$ and create list $\mathcal{L}_{i, last}$ to store the available CSRs that $v_{last}^i$ can reserve within $\psi_W/\psi_E$ if it is moving westwards/eastwards. $\delta$ denotes the maximum transmission delay allowed for a data packet.

**S4:** If $N_{i, last} \ge \varepsilon \cdot N$, go to **S5**, where $N_{i, last}$ denotes the number of CSRs in list $\mathcal{L}_{i, last}$; $N$ denotes the total number of CSRs in the selection window; and $\varepsilon$ is a predefined constant. Otherwise, go to **S3** with the RSRP threshold (denoted by $\theta_{RSRP}$) being increased by 3 dB.

**S5:** Measure the average RSSI (denoted by $\overline{RSSI}$) of each CSR in $\mathcal{L}_{i, last}$ and sort the CSRs in $\mathcal{L}_{i, last}$ in an ascending order by $\overline{RSSI}$ to create list $\tilde{\mathcal{L}}_{i, last}$.

**S6:** Create list $\hat{\mathcal{L}}_{i, last}$, which is used to store the first ($\varepsilon \cdot N$) CSRs in list $\tilde{\mathcal{L}}_{i, last}$.

**S7:** Select a CSR randomly from $\hat{\mathcal{L}}_{i, last}$ and reserve the selected CSR for $v_{last}^i$'s next $k_{RC}$ CAM packet transmissions, where $k_{RC}$ denotes the initial value of $v_{last}^i$'s reselection counter and is randomly selected according to the data packet transmission rate of $v_{last}^i$.

consists of two processes, which are respectively executed by a platoon's PL and last PM to cooperate with each other.

#### 1) The information reporting process for the last PM of a platoon

The information reporting process for the last PM of a platoon is executed to collect and report to the PL the resource

occupation information on the platoon's hidden nodes. As shown in Fig. 3, a platoon's hidden nodes are all located within the carrier sensing range of the last PM. In another word, a platoon's hidden nodes are all included in the last PM's neighbour list. Thus, the last PM needs to add its neighbour list into its data packet in each transmission so that the PL can be informed of the CSRs occupied by the hidden nodes of the platoon. Process 1 describes the main steps of the information reporting process for the last PM of a platoon.

<figure><img src="image_4.png" /><figcaption>Fig. 3. Illustration of hidden nodes of platoon $\Phi_i$.</figcaption></figure>

#### 2) The resource selection process for the PL of a platoon

The resource selection process for the PL of a platoon is executed to select an appropriate CSR for broadcasting a message within the platoon. In CSR selection, the PL should exclude the following CSRs from all CSRs in a selection window based on the information contained in the SCI messages received from other vehicles within its carrier sensing range and the information contained in the data packets received from the last PM of the platoon:

* The CSRs that are occupied by the PL's neighbours;

* The CSRs that need to be excluded because of the PL's half-duplex constraint;

* The CSRs occupied by the platoon's hidden nodes.

To prevent the PL of a platoon from over-excluding CSRs, a series of “boundary segments” are introduced for the PL. Each “boundary segment” is of length $s$ and is on one of the opposite lanes of the PL within the last PM's carrier sensing range, as shown in Fig. 3. Accordingly, the CSRs used by vehicles moving on the PL's boundary segments should be added into the list of available resources during resource exclusion in order to prevent the PL from over-excluding CSRs. The PL determines whether a vehicle is located on one of its boundary segments by comparing its position and the last PM's neighbour list in a data packet received from the last PM. Fig. 3 gives an example to illustrate a boundary segment for the PL $v_0^i$ of platoon $\Phi_i$. In this example, the platoon $\Phi_i$ is moving westwards, while a vehicle $u_k$ is moving eastwards and is about to move out of the last PM $v_{last}^i$'s carrier sensing range. Therefore, $v_0^i$ will add the CSR occupied by $u_k$ into list $\mathcal{L}_{i, 0}$ based on the position obtained from $v_{last}^i$'s GNSS device and the neighbour list received from $v_{last}^i$ because $u_k$'s remaining transmissions will cause no interference with the intra-platoon message delivery of $\Phi_i$.

For a PL moving on a westbound lane $W_l$ ($l = 1, 2, \dots, n_L$), each of its boundary segments is
located between the point at

$$((n_i d_i + \sqrt{R_s^2 - (m+l-1)^2 \cdot d_L^2} - s), (m+l-1) \cdot d_L) \text{ and the point at}$$

$$((n_i d_i + \sqrt{R_s^2 - (m+l-1)^2 \cdot d_L^2}), (m+l-1) \cdot d_L),$$

where $m = 1, 2, \dots, \min\{n_L, (\lfloor R_s/d_L \rfloor - l + 1)\}$, and $s$ denotes the length of a "boundary segment". Similarly, for a PL moving on an eastbound lane $E_l$ ($l = 1, 2, \dots, n_L$), each of its boundary segments is located between the point at

$$((s - n_i d_i + \sqrt{R_s^2 - (m+l-1)^2 \cdot d_L^2}), (1 - m - l) \cdot d_L) \text{ and the point at}$$

$$((n_i d_i + \sqrt{R_s^2 - (m+l-1)^2 \cdot d_L^2}), (1 - m - l) \cdot d_L),$$

where $m = 1, 2, \dots, \min\{n_L, (\lfloor R_s/d_L \rfloor - l + 1)\}$.

## Process 2 Resource selection process for the PL of a platoon

When the PL of platoon $\Phi_i$ ($v_0^i$) has a new data packet to transmit at time $t$ and the value of its reselection counter reaches zero, $v_0^i$ will execute the following steps:

**S1:** Check the SCI messages received from its neighbours and measure the RSRP on each CSR where the SCI messages are transmitted.

**S2:** Exclude the following CSRs from all CSRs in $[t, t + \delta]$:

* The CSRs occupied by $v_0^i$'s neighbours according to the sensing results in **S1**;

* The CSRs that need to be excluded because of $v_0^i$'s half-duplex constraint;

* The CSRs excluded by $v_{last}^i$, which are obtained from the neighbour list contained in the data packets received from $v_{last}^i$.

**S3:** Create list $\mathcal{L}_{i,0}$ to store the following CSRs:

* The CSRs that are not excluded in **S2** and are within $\psi_W/\psi_E$ if $v_0^i$ is moving westwards/eastwards;

* The CSRs that are occupied by vehicles located on one of $v_0^i$'s boundary segments.

**S4:** If $N_{i,0} \ge \varepsilon \cdot N$, go to **S5**, where $N_{i,0}$ denotes the number of CSRs in list $\mathcal{L}_{i,0}$. Otherwise, increase $s$ by $\Delta$ (in meters) and go to **S3**.

**S5:** Measure the $\overline{RSSI}$ for each CSR in $\mathcal{L}_{i,0}$ and sort the CSRs in $\mathcal{L}_{i,0}$ in an ascending order by $\overline{RSSI}$ to create list $\tilde{\mathcal{L}}_{i,0}$.

**S6:** Create list $\hat{\mathcal{L}}_{i,0}$, which is used to store the first $(\varepsilon \cdot N)$ CSRs in list $\tilde{\mathcal{L}}_{i,0}$.

**S7:** Select a CSR randomly from $\hat{\mathcal{L}}_{i,0}$ and reserve the selected CSR for $v_0^i$'s next $k_{RC}$ consecutive transmissions.

### C. Packet collision detection mechanism

The packet collision detection mechanism is used by a non-platoon vehicle to detect whether there is a merging collision after a lane-change maneuver and start a new resource selection process if a merging collision is detected. According to [4], in C-V2X mode 4, a vehicle selects a CSR for its data transmissions in a distributed manner and uses the same CSR for a random number of consecutive data transmissions. In a

multilane road scenario, if a non-platoon vehicle decides to change speed (slow down or speed up) in order to perform a lane-change maneuver, the relative positions of the non-platoon vehicle and its surrounding vehicles may change. In this case, most of the records in the non-platoon vehicle's neighbour list need to be updated. If the non-platoon vehicle continues to use the current CSR for its remaining transmissions, a merging collision with its new neighbours may occur. In this case, the packet collision detection mechanism will be triggered if the following two conditions are met:

$$y' \neq y, \qquad (2)$$

$$|\Theta' - \Theta| < c, \qquad (3)$$

where $y$ denotes the last-updated y-coordinate of the non-platoon vehicle; $y'$ denotes the current y-coordinate of the non-platoon vehicle; $\Theta$ denotes the last-updated neighbour list of the non-platoon vehicle; $\Theta'$ denotes the current neighbour list of the non-platoon vehicle; and $c$ is a pre-defined constant.

<figure><img src="image_4.png" /><figcaption>Fig. 4. Illustration of hidden nodes of platoon $\Phi_i$.</figcaption></figure>

In the packet collision detection mechanism, a non-platoon vehicle performs CSR selection for its $k_{RC}$ consecutive transmissions in a sequence of time windows (TWs) (i.e., $TW_1, TW_2, \dots, TW_{k_{RC}}$), as shown in Fig. 4. If the mechanism is triggered in $TW_k$ ($k = 1, 2, \dots, k_{RC} - 1$), a temporary CSR will be selected and used for data transmission in $TW_{k+1}$, as shown in Fig. 4. The temporary CSR is randomly selected from available CSRs in $\psi_W/\psi_E$ according to the sensing results in $TW_k$. In $TW_{k+1}$, the non-platoon vehicle will transmit its data packet on the temporary CSR instead of the current CSR (i.e., the one used in $TW_k$), which addresses the half-duplex constraint and thus enables the non-platoon vehicle to detect the status of the current CSR. If there is a packet collision detected on the current CSR, it means that at least another vehicle is also using the CSR. In this case, the non-platoon vehicle will set the value of its RC to zero and start a new resource selection process. Otherwise, it will continue to use the current CSR for its remaining data transmissions.

Process 3 describes the main steps of the resource selection process for a non-platoon vehicle.

## IV. PERFORMANCE EVALUATION

In this section, we evaluate the performance of the proposed scheme through simulation results. Simulation experiments were carried out on OMNeT++-5.4 with a C-V2X mode 4 related extension module, OpenCV2X [11]. Table I summarizes the parameters used in the simulation experiments. The road scenarios considered in the evaluation were generated using
located between the point at

$$((n_i d_i + \sqrt{R_s^2 - (m+l-1)^2 \cdot d_L^2} - s), (m+l-1) \cdot d_L) \text{ and the point at}$$

((n_i d_i + \sqrt{R_s^2 - (m+l-1)^2 \cdot d_L^2}), (m+l-1) \cdot d_L), \text{ where } m = 1, 2, \dots, \min\{n_L, (\lfloor R_s/d_L \rfloor - l + 1)\}, \text{ and } s \text{ denotes the length of a "boundary segment". Similarly, for a PL moving on an eastbound lane } E_l \text{ ($l=1, 2, \dots, n_L$), each of its boundary segments is located between the point at}$$

$$((s - n_i d_i + \sqrt{R_s^2 - (m + l - 1)^2 \cdot d_L^2}), (1 - m - l) \cdot d_L) \text{ and the point at}$$

($m = 1, 2, \dots, \min\{n_L, (\lfloor R_s/d_L \rfloor - l + 1)\}$). Process 2 describes the main steps of the resource selection process for the PL of a platoon.

## Process 2 Resource selection process for the PL of a platoon

When the PL of platoon $\Phi_i$ ($v_0^i$) has a new data packet to transmit at time $t$ and the value of its reselection counter reaches zero, $v_0^i$ will execute the following steps:

**S1:** Check the SCI messages received from its neighbours and measure the RSRP on each CSR where the SCI messages are transmitted.

**S2:** Exclude the following CSRs from all CSRs in $[t, t + \delta]$:

* The CSRs occupied by $v_0^i$'s neighbours according to the sensing results in S1;

* The CSRs that need to be excluded because of $v_0^i$'s half-duplex constraint;

* The CSRs excluded by $v_{last}^i$, which are obtained from the neighbour list contained in the data packets received from $v_{last}^i$.

**S3:** Create list $\mathcal{L}_{i,0}$ to store the following CSRs:

* The CSRs that are not excluded in S2 and are within $\psi_W/\psi_E$ if $v_0^i$ is moving westwards/eastwards;

* The CSRs that are occupied by vehicles located on one of $v_0^i$'s boundary segments.

**S4:** If $N_{i,0} \ge \varepsilon \cdot N$, go to S5, where $N_{i,0}$ denotes the number of CSRs in list $\mathcal{L}_{i,0}$. Otherwise, increase $s$ by $\Delta$ (in meters) and go to S3.

**S5:** Measure the $\overline{RSSI}$ for each CSR in $\mathcal{L}_{i,0}$ and sort the CSRs in $\mathcal{L}_{i,0}$ in an ascending order by $\overline{RSSI}$ to create list $\tilde{\mathcal{L}}_{i,0}$.

**S6:** Create list $\hat{\mathcal{L}}_{i,0}$, which is used to store the first $(\varepsilon \cdot N)$ CSRs in list $\tilde{\mathcal{L}}_{i,0}$.

**S7:** Select a CSR randomly from $\hat{\mathcal{L}}_{i,0}$ and reserve the selected CSR for $v_0^i$'s next $k_{RC}$ consecutive transmissions.

### C. Packet collision detection mechanism

The packet collision detection mechanism is used by a non-platoon vehicle to detect whether there is a merging collision after a lane-change maneuver and start a new resource selection process if a merging collision is detected. According to [4], in C-V2X mode 4, a vehicle selects a CSR for its data transmissions in a distributed manner and uses the same CSR for a random number of consecutive data transmissions. In a

multilane road scenario, if a non-platoon vehicle decides to change speed (slow down or speed up) in order to perform a lane-change maneuver, the relative positions of the non-platoon vehicle and its surrounding vehicles may change. In this case, most of the records in the non-platoon vehicle's neighbour list need to be updated. If the non-platoon vehicle continues to use the current CSR for its remaining transmissions, a merging collision with its new neighbours may occur. In this case, the packet collision detection mechanism will be triggered if the following two conditions are met:

$$y' \neq y, \qquad (2)$$

$$|\Theta' - \Theta| < c, \qquad (3)$$

where $y$ denotes the last-updated y-coordinate of the non-platoon vehicle; $y'$ denotes the current y-coordinate of the non-platoon vehicle; $\Theta$ denotes the last-updated neighbour list of the non-platoon vehicle; $\Theta'$ denotes the current neighbour list of the non-platoon vehicle; and $c$ is a pre-defined constant.

<figure><img src="image_5.png" /><figcaption>Fig. 4. Illustration of hidden nodes of platoon $\Phi_i$.</figcaption></figure>

In the packet collision detection mechanism, a non-platoon vehicle performs CSR selection for its $k_{RC}$ consecutive transmissions in a sequence of time windows (TWs) (i.e., $TW_1, TW_2, \dots, TW_{k_{RC}}$), as shown in Fig. 4. If the mechanism is triggered in $TW_k$ ($k = 1, 2, \dots, k_{RC} - 1$), a temporary CSR will be selected and used for data transmission in $TW_{k+1}$, as shown in Fig. 4. The temporary CSR is randomly selected from available CSRs in $\psi_W/\psi_E$ according to the sensing results in $TW_k$. In $TW_{k+1}$, the non-platoon vehicle will transmit its data packet on the temporary CSR instead of the current CSR (i.e., the one used in $TW_k$), which addresses the half-duplex constraint and thus enables the non-platoon vehicle to detect the status of the current CSR. If there is a packet collision detected on the current CSR, it means that at least another vehicle is also using the CSR. In this case, the non-platoon vehicle will set the value of its RC to zero and start a new resource selection process. Otherwise, it will continue to use the current CSR for its remaining data transmissions.

Process 3 describes the main steps of the resource selection process for a non-platoon vehicle.

## IV. PERFORMANCE EVALUATION

In this section, we evaluate the performance of the proposed scheme through simulation results. Simulation experiments were carried out on OMNeT++-5.4 with a C-V2X mode 4 related extension module, OpenCV2X [11]. Table I summarizes the parameters used in the simulation experiments. The road scenarios considered in the evaluation were generated using
**Process 3 Resource selection process for a non-platoon vehicle**

When a non-platoon vehicle ($u_j$) has a new data packet to transmit at time $t$ and the value of its RC reaches zero, $u_j$ will execute the following steps:

**S1:** Check the SCI messages received from its neighbours and measure the RSRP on each CSR where the SCI messages are transmitted.

**S2:** Exclude the CSRs occupied by its neighbours from all CSRs in the selection window $[t, t + \delta]$.

**S3:** Exclude the CSRs that need to be excluded because of its half-duplex constraint.

**S4:** Create list $\mathcal{L}_u$ to store the available CSRs that $u_j$ can reserve within $\psi_W/\psi_E$ if $u_j$ is moving westwards/eastwards.

**S5:** If $N_u \ge \varepsilon \cdot N$, go to **S6**, where $N_u$ denotes the number of CSRs in list $\mathcal{L}_u$. Otherwise, go to **S2** with $\theta_{RSRP}$ being increased by 3 dB.

**S6:** Measure the RSSI for each CSR in $\mathcal{L}_u$ and sort the CSRs in $\mathcal{L}_u$ in an ascending order by RSSI to create list $\hat{\mathcal{L}}_u$.

**S7:** Create list $\hat{\mathcal{L}}_u$, which is used to store the first $(\varepsilon \cdot N)$ CSRs in list $\hat{\mathcal{L}}_u$.

**S8:** Select a CSR randomly from $\hat{\mathcal{L}}_u$ and reserve the selected CSR for $u_j$'s next $k_{RC}$ consecutive transmissions.

**S9:** If both Eq.(2) and Eq.(3) are met, go to **S10**. Otherwise, repeatedly perform S9 during its $k_{RC}$ data transmissions. After $k_{RC}$ transmissions, go back to **S1**.

**S10:** If the current time window is $TW_k$ and $k \in [1, (k_{RC} - 1)]$, go to **S11**. Otherwise, go to **S12**.

**S11:** In $TW_{k+1}$, randomly select an available CSR for temporary data packet transmission from $\psi_W/\psi_E$ if it is moving westwards/eastwards according to the sensing results in $TW_k$. If an SCI message is received from another vehicle on $u_j$'s current CSR, i.e., the CSR selected in **S8**, go to **S1**. Otherwise, go to **S12**.

**S12:** Continue to use the CSR selected in **S8** for its remaining data transmissions.

SUMO-1.8 [12]. For performance evaluation, we introduce the intra-platoon packet delivery ratio as the performance metric, which is defined as the ratio of the number of successfully received data packets to the total number of data packets broadcast by all PLs generated in a simulation experiment. Here, a packet broadcast by the PL of a platoon is considered successfully received if all PMs in the platoon successfully receive the packet.

<table><caption>TABLE I
PARAMETER SETTINGS</caption><thead><tr><th>Parameter</th><th>Value</th><th>Parameter</th><th>Value</th></tr></thead><tbody><tr><td>Channel bandwidth</td><td>10 MHz</td><td>Pre-defined constant (ε)</td><td>0.1</td></tr><tr><td>Carrier frequency</td><td>6 GHz</td><td>Lane spacing (d<sub>L</sub>)</td><td>5 m</td></tr><tr><td>Number of subchannels</td><td>4</td><td>Number of lanes each</td><td>2</td></tr><tr><td>Sensing threshold</td><td>-90.5 dBm</td><td>direction (n<sub>L</sub>)</td><td></td></tr><tr><td>Vehicle speed</td><td>80 km/h</td><td>Pre-defined constant (c)</td><td>5</td></tr><tr><td>Data packet size</td><td>190 B</td><td>Pre-defined constant (Δ)</td><td>0.1 m</td></tr><tr><td>Transmission power</td><td>10 dBm</td><td></td><td></td></tr></tbody></table>

Fig. 5 shows the impact of the deviation of a non-platoon vehicle's speed ($\sigma$) on the intra-platoon packet delivery ratio

<figure><img src="image_5.png" /><figcaption>Fig. 5. $p_{\Phi}$ vs $\sigma$ ($\lambda_{\Phi} = 0.001/m$, $\lambda_{u} = 0.01vehs/m$, $d_{min} = 50m$, $r = 10pps$).</figcaption></figure>

<figure><img src="image_6.png" /><figcaption>Fig. 6. $p_{\Phi}$ vs $\lambda_{u}$ ($\lambda_{\Phi} = 0.001/m$, $\sigma = 0.1$, $d_{min} = 50m$, $r = 10pps$).</figcaption></figure>

($p_{\Phi}$) with the standardized scheme and the enhanced scheme, respectively. It can be seen that as $\sigma$ increases, $p_{\Phi}$ first decreases and then remains approximately unchanged. This is because as $\sigma$ increases, the speed difference between different non-platoon vehicles increases. To ensure safe driving, a non-platoon vehicle moving at a speed much larger or smaller than its surrounding vehicles may execute a lane-change maneuver. However, when $\sigma$ continues to increase, more and more non-platoon vehicles need to change lanes. In this case, it is safer for these vehicles to change their speeds instead of changing lanes. Moreover, more lane-changing vehicles lead to more packet collisions and thus, a smaller value of $p_{\Phi}$. On the other hand, as $\sigma$ increases, $p_{\Phi}$ with the enhanced scheme is always larger than that with the SPS scheme. This is because the enhanced scheme is able to address packet collisions caused by the vehicles' movement and hidden nodes.

Fig. 6 shows the impact of $\lambda_u$ on $p_{\Phi}$ with the SPS scheme and the enhanced scheme, respectively. It can be observed that as $\lambda_u$ increases, $p_{\Phi}$ decreases. This is because increasing $\lambda_u$ leads to more non-platoon vehicles, i.e., more interference vehicles for platoons and more lane-changing vehicles, which cause more packet collisions and thus a smaller value of $p_{\Phi}$.

Fig. 7 shows the impact of $\lambda_{\Phi}$ on $p_{\Phi}$ with the SPS scheme and the enhanced scheme, respectively. It is seen that as $\lambda_{\Phi}$ increases, $p_{\Phi}$ first increases and then tends to be relatively stable. This is because as $\lambda_{\Phi}$ increases, the number of lane-
**Process 3 Resource selection process for a non-platoon vehicle**
When a non-platoon vehicle ($u_j$) has a new data packet to transmit at time $t$ and the value of its RC reaches zero, $u_j$ will execute the following steps:

**S1:** Check the SCI messages received from its neighbours and measure the RSRP on each CSR where the SCI messages are transmitted.

**S2:** Exclude the CSRs occupied by its neighbours from all CSRs in the selection window $[t, t + \delta]$.

**S3:** Exclude the CSRs that need to be excluded because of its half-duplex constraint.

**S4:** Create list $\mathcal{L}_u$ to store the available CSRs that $u_j$ can reserve within $\psi_W/\psi_E$ if $u_j$ is moving westwards/eastwards.

**S5:** If $N_u \ge \varepsilon \cdot N$, go to **S6**, where $N_u$ denotes the number of CSRs in list $\mathcal{L}_u$. Otherwise, go to **S2** with $\theta_{RSRP}$ being increased by 3 dB.

**S6:** Measure the RSSI for each CSR in $\mathcal{L}_u$ and sort the CSRs in $\mathcal{L}_u$ in an ascending order by RSSI to create list $\hat{\mathcal{L}}_u$.

**S7:** Create list $\hat{\mathcal{L}}_u$, which is used to store the first $(\varepsilon \cdot N)$ CSRs in list $\hat{\mathcal{L}}_u$.

**S8:** Select a CSR randomly from $\hat{\mathcal{L}}_u$ and reserve the selected CSR for $u_j$'s next $k_{RC}$ consecutive transmissions.

**S9:** If both Eq.(2) and Eq.(3) are met, go to **S10**. Otherwise, repeatedly perform S9 during its $k_{RC}$ data transmissions. After $k_{RC}$ transmissions, go back to **S1**.

**S10:** If the current time window is $TW_k$ and $k \in [1, (k_{RC} - 1)]$, go to **S11**. Otherwise, go to **S12**.

**S11:** In $TW_{k+1}$, randomly select an available CSR for temporary data packet transmission from $\psi_W/\psi_E$ if it is moving westwards/eastwards according to the sensing results in $TW_k$. If an SCI message is received from another vehicle on $u_j$'s current CSR, i.e., the CSR selected in **S8**, go to **S1**. Otherwise, go to **S12**.

**S12:** Continue to use the CSR selected in **S8** for its remaining data transmissions.

SUMO-1.8 [12]. For performance evaluation, we introduce the intra-platoon packet delivery ratio as the performance metric, which is defined as the ratio of the number of successfully received data packets to the total number of data packets broadcast by all PLs generated in a simulation experiment. Here, a packet broadcast by the PL of a platoon is considered successfully received if all PMs in the platoon successfully receive the packet.

<table><caption>TABLE I
PARAMETER SETTINGS</caption><thead><tr><th>Parameter</th><th>Value</th><th>Parameter</th><th>Value</th></tr></thead><tbody><tr><td>Channel bandwidth</td><td>10 MHz</td><td>Pre-defined constant (ε)</td><td>0.1</td></tr><tr><td>Carrier frequency</td><td>6 GHz</td><td>Lane spacing (d<sub>L</sub>)</td><td>5 m</td></tr><tr><td>Number of subchannels</td><td>4</td><td>Number of lanes each</td><td>2</td></tr><tr><td>Sensing threshold</td><td>-90.5 dBm</td><td>direction (n<sub>L</sub>)</td><td></td></tr><tr><td>Vehicle speed</td><td>80 km/h</td><td>Pre-defined constant (c)</td><td>5</td></tr><tr><td>Data packet size</td><td>190 B</td><td>Pre-defined constant (Δ)</td><td>0.1 m</td></tr><tr><td>Transmission power</td><td>10 dBm</td><td></td><td></td></tr></tbody></table>

Fig. 5 shows the impact of the deviation of a non-platoon vehicle's speed ($\sigma$) on the intra-platoon packet delivery ratio

<figure><img src="image_6.png" /><figcaption>Fig. 5. $p_{\Phi}$ vs $\sigma$ ($\lambda_{\Phi} = 0.001/m$, $\lambda_{u} = 0.01vehs/m$, $d_{min} = 50m$, $r = 10pps$).</figcaption></figure>

<figure><img src="image_7.png" /><figcaption>Fig. 6. $p_{\Phi}$ vs $\lambda_{u}$ ($\lambda_{\Phi} = 0.001/m$, $\sigma = 0.1$, $d_{min} = 50m$, $r = 10pps$).</figcaption></figure>

($p_{\Phi}$) with the standardized scheme and the enhanced scheme, respectively. It can be seen that as $\sigma$ increases, $p_{\Phi}$ first decreases and then remains approximately unchanged. This is because as $\sigma$ increases, the speed difference between different non-platoon vehicles increases. To ensure safe driving, a non-platoon vehicle moving at a speed much larger or smaller than its surrounding vehicles may execute a lane-change maneuver. However, when $\sigma$ continues to increase, more and more non-platoon vehicles need to change lanes. In this case, it is safer for these vehicles to change their speeds instead of changing lanes. Moreover, more lane-changing vehicles lead to more packet collisions and thus, a smaller value of $p_{\Phi}$. On the other hand, as $\sigma$ increases, $p_{\Phi}$ with the enhanced scheme is always larger than that with the SPS scheme. This is because the enhanced scheme is able to address packet collisions caused by the vehicles' movement and hidden nodes.

Fig. 6 shows the impact of $\lambda_u$ on $p_{\Phi}$ with the SPS scheme and the enhanced scheme, respectively. It can be observed that as $\lambda_u$ increases, $p_{\Phi}$ decreases. This is because increasing $\lambda_u$ leads to more non-platoon vehicles, i.e., more interference vehicles for platoons and more lane-changing vehicles, which cause more packet collisions and thus a smaller value of $p_{\Phi}$.

Fig. 7 shows the impact of $\lambda_{\Phi}$ on $p_{\Phi}$ with the SPS scheme and the enhanced scheme, respectively. It is seen that as $\lambda_{\Phi}$ increases, $p_{\Phi}$ first increases and then tends to be relatively stable. This is because as $\lambda_{\Phi}$ increases, the number of lane-
<figure><img src="image_7.png" /><figcaption>Fig. 7. $p_{\Phi}$ vs $\lambda_{\Phi}$ ($\lambda_{u} = 0.01 \text{vehs/m}$, $\sigma = 0.1$, $d_{min} = 50 \text{m}$, $r = 10 \text{pps}$).</figcaption></figure>

<figure><img src="image_8.png" /><figcaption>Fig. 8. $p_{\Phi}$ vs $n_{PM}^{max}$ ($\lambda_{u} = 0.01 \text{vehs/m}$, $\lambda_{\Phi} = 0.001/m$, $\sigma = 0.1$, $d_{min} = 50 \text{m}$, $r = 10 \text{pps}$).</figcaption></figure>

change maneuvers decreases, which leads to fewer packet collisions and thus a larger value of $p_{\Phi}$.

Fig. 8 shows the impact of $n_{PM}^{max}$ on $p_{\Phi}$ with the SPS scheme and the enhanced scheme, respectively. It can be observed that as $n_{PM}^{max}$ increases, $p_{\Phi}$ decreases. This is because as $n_{PM}^{max}$ increases, the number of PMs in a platoon increases, which leads to a smaller $p_{\Phi}$.

Fig. 9 shows the impact of $d_{min}$ on $p_{\Phi}$ with the SPS scheme and the enhanced scheme, respectively. It can be observed that as $d_{min}$ increases, $p_{\Phi}$ decreases. This is because the increase

<figure><img src="image_9.png" /><figcaption>Fig. 9. $p_{\Phi}$ vs $d_{min}$ ($\lambda_{u} = 0.01 \text{vehs/m}$, $\lambda_{\Phi} = 0.001/m$, $\sigma = 0.1$, $r = 10 \text{pps}$, $n_{PM}^{max} = 3$).</figcaption></figure>

of $d_{min}$ leads to a larger intra-platoon spacing, i.e., smaller received signal power at the receiving PMs, and thus a reduced $p_{\Phi}$.

## V. CONCLUSIONS

In this paper, we proposed an enhanced C-V2X mode 4 resource scheduling scheme to support reliable intra-platoon message delivery. The enhanced scheme is intended to address merging collisions and hidden-node collisions in intra-platoon communication. A resource division mechanism is introduced to address merging collisions caused by the movement of vehicles towards each other; an intra-platoon collaboration mechanism is introduced to reduce hidden-node collisions in intra-platoon message delivery; and a packet collision detection mechanism is introduced for a vehicle to detect and reselect appropriate resources after its lane-changing maneuver to alleviate merging collisions. The simulation results show that the enhanced scheme can effectively improve the reliability of intra-platoon message delivery in terms of the average successful broadcast probability of a PL as compared to the standardized sensing-based SPS scheme. In future work, we will consider the uneven traffic distribution on different lanes and a dynamic division of resources in a selection window.

## REFERENCES

[1] S. B. Prathiba et al., "A Hybrid Deep Reinforcement Learning For Autonomous Vehicles Smart-Platooning," IEEE Trans. Veh. Technol., vol. 70, no. 12, pp. 13340-13350, Dec. 2021.

[2] A. Khalifa, O. Kermorgant, S. Dominguez and P. Martinet, "Platooning of Car-Like Vehicles in Urban Environments: An Observer-Based Approach Considering Actuator Dynamics and Time Delays," IEEE Trans. Intell. Transp. Syst., vol. 22, no. 9, pp. 5684-5696, Sept. 2021.

[3] S. Lee, Y. Jung, Y. -H. Park and S. -W. Kim, "Design of V2X-Based Vehicular Contents Centric Networks for Autonomous Driving," IEEE Trans. Intell. Transp. Syst., vol. 23, no. 8, pp. 13526-13537, Aug. 2022.

[4] 3GPP, "Evolved Universal Terrestrial Radio Access (E-UTRA) and Evolved Universal Terrestrial Radio Access Network (E-UTRAN); Overall description; Stage 2 (v14.3.0, Release 14)," 3GPP, Tech. Rep. 36.300, Jun. 2017.

[5] H. A. Omar, W. Zhuang and L. Li, "VeMAC: A TDMA-Based MAC Protocol for Reliable Broadcast in VANETS," IEEE Trans. Mob. Comput., vol. 12, no. 9, pp. 1724-1736, Sept. 2013.

[6] X. Ma, X. Chen and H. H. Refai, "On the Broadcast Packet Reception Rates in One-Dimensional MANETS," IEEE GLOBECOM 2008 - 2008 IEEE Global Telecommunications Conference, New Orleans, LA, USA, 2008, pp. 1-5.

[7] X. He, X. Yang, J. Lv, J. Zhao, T. Luo and S. Chen, "A Cluster-Based UE-Scheduling Scheme for NR-V2X," IEEE Trans. Veh. Technol., vol. 72, no. 4, pp. 4538-4552, Apr. 2023.

[8] S. Heo, W. Yoo, H. Jang and J. -M. Chung, "H-V2X Mode 4 Adaptive Semipersistent Scheduling Control for Cooperative Internet of Vehicles," IEEE Internet Things J., vol. 8, no. 13, pp. 10678-10692, Jul., 2021.

[9] B. Gu, W. Chen, M. Alazab, X. Tan and M. Guizani, "Multiagent Reinforcement Learning-Based Semi-Persistent Scheduling Scheme in C-V2X Mode 4," IEEE Trans. Veh. Technol., vol. 71, no. 11, pp. 12044-12056, Nov. 2022.

[10] F. Zhang, M. M. Wang and R. Deng, "On Reliability Bound and Improvement of Sensing-Based Semipersistent Scheduling in LTE-V2X," IEEE Internet of Things J., vol. 8, no. 7, pp. 6101-6113, Apr. 2021.

[11] B. McCarthy and A. O'Driscoll, "OpenCV2X Mode 4: A Simulation Extension for Cellular Vehicular Communication Networks," in Proc. 2019 IEEE 24th Int. Workshop Comput. Aided Model. Des. Commun. Links Networks, Limassol, Cyprus, Sept. 2019, pp. 1-6.

[12] P. A. Lopez et al., "Microscopic Traffic Simulation using SUMO," in Proc. of 21st Int. Conf. on Intelligent Transportation Systems (ITSC), Maui, HI, USA, Nov. 2018, pp. 2575-2582.
<figure><img src="image_8.png" /><figcaption>Fig. 7. $p_{\Phi}$ vs $\lambda_{\Phi}$ ($\lambda_{u} = 0.01 \text{vehs/m}$, $\sigma = 0.1$, $d_{min} = 50m$, $r = 10 \text{pps}$).</figcaption></figure>

<figure><img src="image_9.png" /><figcaption>Fig. 8. $p_{\Phi}$ vs $n_{PM}^{max}$ ($\lambda_{u} = 0.01 \text{vehs/m}$, $\lambda_{\Phi} = 0.001/m$, $\sigma = 0.1$, $d_{min} = 50m$, $r = 10 \text{pps}$).</figcaption></figure>

change maneuvers decreases, which leads to fewer packet collisions and thus a larger value of $p_{\Phi}$.

Fig. 8 shows the impact of $n_{PM}^{max}$ on $p_{\Phi}$ with the SPS scheme and the enhanced scheme, respectively. It can be observed that as $n_{PM}^{max}$ increases, $p_{\Phi}$ decreases. This is because as $n_{PM}^{max}$ increases, the number of PMs in a platoon increases, which leads to a smaller $p_{\Phi}$.

Fig. 9 shows the impact of $d_{min}$ on $p_{\Phi}$ with the SPS scheme and the enhanced scheme, respectively. It can be observed that as $d_{min}$ increases, $p_{\Phi}$ decreases. This is because the increase

<figure><img src="image_10.png" /><figcaption>Fig. 9. $p_{\Phi}$ vs $d_{min}$ ($\lambda_{u} = 0.01 \text{vehs/m}$, $\lambda_{\Phi} = 0.001/m$, $\sigma = 0.1$, $r = 10 \text{pps}$, $n_{PM}^{max} = 3$).</figcaption></figure>

of $d_{min}$ leads to a larger intra-platoon spacing, i.e., smaller received signal power at the receiving PMs, and thus a reduced $p_{\Phi}$.

## V. CONCLUSIONS

In this paper, we proposed an enhanced C-V2X mode 4 resource scheduling scheme to support reliable intra-platoon message delivery. The enhanced scheme is intended to address merging collisions and hidden-node collisions in intra-platoon communication. A resource division mechanism is introduced to address merging collisions caused by the movement of vehicles towards each other; an intra-platoon collaboration mechanism is introduced to reduce hidden-node collisions in intra-platoon message delivery; and a packet collision detection mechanism is introduced for a vehicle to detect and reselect appropriate resources after its lane-changing maneuver to alleviate merging collisions. The simulation results show that the enhanced scheme can effectively improve the reliability of intra-platoon message delivery in terms of the average successful broadcast probability of a PL as compared to the standardized sensing-based SPS scheme. In future work, we will consider the uneven traffic distribution on different lanes and a dynamic division of resources in a selection window.

## REFERENCES

[1] S. B. Prathiba et al., "A Hybrid Deep Reinforcement Learning For Autonomous Vehicles Smart-Platooning," IEEE Trans. Veh. Technol., vol. 70, no. 12, pp. 13340-13350, Dec. 2021.

[2] A. Khalifa, O. Kermorgant, S. Dominguez and P. Martinet, "Platooning of Car-Like Vehicles in Urban Environments: An Observer-Based Approach Considering Actuator Dynamics and Time Delays," IEEE Trans. Intell. Transp. Syst., vol. 22, no. 9, pp. 5684-5696, Sept. 2021.

[3] S. Lee, Y. Jung, Y. -H. Park and S. -W. Kim, "Design of V2X-Based Vehicular Contents Centric Networks for Autonomous Driving," IEEE Trans. Intell. Transp. Syst., vol. 23, no. 8, pp. 13526-13537, Aug. 2022.

[4] 3GPP, "Evolved Universal Terrestrial Radio Access (E-UTRA) and Evolved Universal Terrestrial Radio Access Network (E-UTRAN); Overall description; Stage 2 (v14.3.0, Release 14)," 3GPP, Tech. Rep. 36.300, Jun. 2017.

[5] H. A. Omar, W. Zhuang and L. Li, "VeMAC: A TDMA-Based MAC Protocol for Reliable Broadcast in VANETS," IEEE Trans. Mob. Comput., vol. 12, no. 9, pp. 1724-1736, Sept. 2013.

[6] X. Ma, X. Chen and H. H. Refai, "On the Broadcast Packet Reception Rates in One-Dimensional MANETS," IEEE GLOBECOM 2008 - 2008 IEEE Global Telecommunications Conference, New Orleans, LA, USA, 2008, pp. 1-5.

[7] X. He, X. Yang, J. Lv, J. Zhao, T. Luo and S. Chen, "A Cluster-Based UE-Scheduling Scheme for NR-V2X," IEEE Trans. Veh. Technol., vol. 72, no. 4, pp. 4538-4552, Apr. 2023.

[8] S. Heo, W. Yoo, H. Jang and J. -M. Chung, "H-V2X Mode 4 Adaptive Semipersistent Scheduling Control for Cooperative Internet of Vehicles," IEEE Internet Things J., vol. 8, no. 13, pp. 10678-10692, Jul., 2021.

[9] B. Gu, W. Chen, M. Alazab, X. Tan and M. Guizani, "Multiagent Reinforcement Learning-Based Semi-Persistent Scheduling Scheme in C-V2X Mode 4," IEEE Trans. Veh. Technol., vol. 71, no. 11, pp. 12044-12056, Nov. 2022.

[10] F. Zhang, M. M. Wang and R. Deng, "On Reliability Bound and Improvement of Sensing-Based Semipersistent Scheduling in LTE-V2X," IEEE Internet of Things J., vol. 8, no. 7, pp. 6101-6113, Apr. 2021.

[11] B. McCarthy and A. O'Driscoll, "OpenCV2X Mode 4: A Simulation Extension for Cellular Vehicular Communication Networks," in Proc. 2019 IEEE 24th Int. Workshop Comput. Aided Model. Des. Commun. Links Networks, Limassol, Cyprus, Sept. 2019, pp. 1-6.

[12] P. A. Lopez et al., "Microscopic Traffic Simulation using SUMO," in Proc. of 21st Int. Conf. on Intelligent Transportation Systems (ITSC), Maui, HI, USA, Nov. 2018, pp. 2575-2582.