Keywords

1 Introduction

After earthquakes, tsunamis, volcanoes, or other natural disasters, once Base Stations (BSs) in some disaster-stricken areas are damaged, those areas will be disconnected from the communication networks, as in Fig. 1. Since rescue and recovery rely heavily on communication systems nowadays, establishing a temporary communication network to support emergency communications is necessary. Due to their excellent mobility [17], Unmanned Aerial Vehicles (UAVs) acting as relays is a good way to provide network connections. Furthermore, to improve rescue efficiency, all kinds of information, such as disaster and aftershock information, rescue information, etc., have to be broadcast to victims and rescue teams, which brings a massive burden of broadcast communications. So, how to reasonably deploy UAVs to improve broadcast throughput with guaranteed access to all users is naturally a significant problem.

Fig. 1.
figure 1

UAV-assisted emergency network.

It is well-known that network coding can significantly enhance broadcast throughput. Ahlswede et al. [1] demonstrate how network coding improves throughput in wired network. In the wireless scenario illustrated in Fig. 2(a), two source nodes, \(S_1\) and \(S_2\), broadcast information to two destination nodes \(D_1\) and \(D_2\) through relay node R. Due to the long distance from \(S_1\) to \(D_2\), as well as \(S_2\) to \(D_1\), the relay node R needs to receive a from \(S_1\) and b from \(S_2\), and then broadcast them to \(D_1\) and \(D_2\). Traditional copy-and-forward relay requires four transmissions to accomplish this task. However, as shown in Fig. 2(b), the relay node R broadcasts network coding combined packet \(a\oplus b\). Thus, the broadcast task can be accomplished with only three transmissions, resulting in a 25% reduction in transmissions compared to traditional copy-and-forward relay.

Fig. 2.
figure 2

Comparison of conventional cooperation and network coding based cooperation in broadcast.

In emergency scenarios, the damaged BSs can result in communication disruptions that impede rescue and recovery efforts. To provide accessibility to every victim, UAVs can serve as relay nodes facilitating communication between the BSs and users, constituting an economical and effective solution. Additionally, when multiple rescue teams need to broadcast messages to all users, the primary transmissions become multiple-source broadcast transmissions, creating an opportunity to leverage the Network Coding Based Cooperative (NCBC) broadcast scheme for enhancing broadcast throughput. Consequently, a critical challenge lies in deploying UAV networks to maximize broadcast throughput using network coding, while simultaneously meeting access requirements.

To tackle this challenge, we present a three-stage heuristic algorithm. Firstly, we utilize a Depth-First Search (DFS) algorithm to identify potential areas for UAV deployment, ensuring uninterrupted user access to BSs. Subsequently, we introduce a Particle Swarm Optimization (PSO) algorithm to determine the optimal location for a UAV within each intersecting candidate area, maximizing the broadcast throughput. Lastly, we select the most favorable locations in the final step, aiming to achieve the highest cumulative broadcast throughput while maintaining user access to BSs. The primary contributions of our research are summarized as follows.

  1. 1.

    We point out the feature of multiple source broadcast transmissions in UAV-assisted emergency communications and introduce NCBC to deal with it effectively.

  2. 2.

    We present a quantitative formula of broadcast throughput for NCBC broadcast scheme, which we believe will serve as a solid theoretical foundation for future research in this area.

  3. 3.

    We propose a three-stage heuristic algorithm that provides a UAV deployment strategy that maximizes broadcast throughput while meeting users’ access to BSs. We believe it can be utilized in practical emergency communication scenarios.

The structure of this paper is as follows. Section 2 provides a comprehensive review of related works. In Sect. 3, we introduce the network model and problem formulation. Section 4 presents an expression for the throughput for NCBC broadcast scheme, which serves as the theoretical foundation for this study. Section 5 outlines our proposed algorithm for deploying optimal locations for UAV relays. In Sect. 6, we conduct performance evaluations to validate the effectiveness of our approach. Finally, we conclude the paper in the last section.

2 Related Works

Regarding the demand for the recovery of network coverage in emergency communication, UAVs are an efficient way to provide high-quality services for mobile devices. Erdelj and Natalizio [5] discuss applications and open issues for UAV-assisted emergency networks where UAV localization is one. To address this issue, Bupe et al. [2] propose a platform for quickly deploying UAVs and establishing a UAV backbone communication network based on an algorithm utilizing 7-cell clusters in a hexagonal pattern using MAVLink (Micro Air Vehicle Link). Meanwhile, Do-Duy et al. [4] propose a K-means clustering algorithm to deploy UAVs as a relay and an algorithm to optimize resource allocation in establishing a temporary emergency network. Liu et al. [11] propose a distributed SIC-free NOMA scheme for UAV-assisted emergency communication in heterogeneous Internet of Things (IoT), which yields a faster sum rate of users than the OFDMA scheme. The work of Tran et al. [15] proposes a method to maximize the number of served IoT devices by jointly optimizing bandwidth, power allocation, and the UAV trajectory while keeping the device’s transmission requirement and the limited storage capacity of UAVs satisfied. Additionally, Feng et al. [7] consider power transfer by UAVs for IoT devices in emergency communications and analyze the problem of UAV trajectory and resource scheduling in three different scenarios.

To maximize the throughput of a UAV-based network in a territory affected by a disaster, Chiaraviglio et al. [3] propose an optimization framework called Maximum Throughput with Unmanned Aerial Vehicles (MT-UAV) to schedule the UAVs to maximize throughput while ensuring an acceptable UAV battery level. Similarly, Xu et al. [16] propose a UAVs deployment algorithm to maximize the sum of the data rates of users served by the UAVs subject to UAV service capacity and k UAVs connected. Our paper considers a similar problem aiming to maximize broadcast throughput and solve it using network coding technique.

Since the lack of reliability in broadcast transmissions, the network coding is naturally suitable for wireless networks. Therefore, many researchers have devoted themselves to applying network coding to wireless networks more than 20 years after the time Ahlswede et al. [1] proposed it. In 2007, Fragouli et al. [8] present the opportunities and challenges of wireless network coding research, highlighting its significant improvements in wireless network throughput, reliability, fairness, and management. Also, Ghaderi et al. [9] quantifies the reliability gain of network coding for reliable multicasting in a wireless network.

The combination of UAV and network coding is now on the rise [14] due to the excellent mobility characteristic of UAVs and the performance gained by network coding. We believe this research topic will have great potential for practical applications.

3 Network Models and Problem Formulation

3.1 Network Models

In emergency scenarios, users have no strong mobility in general. Thus, the location of UAVs is considered to be fixed in this paper. As shown in Fig. 1, there are n BSs \(S_1,S_2,\ldots ,S_n\) and m users \(D_1,D_2,\ldots ,D_m\) in the disaster area. A UAV relay-assisted emergency network consisting of q UAVs \(R_1,R_2,\ldots ,R_q\) is build to set up emergency network communications. The geographical locations of all users and BSs are known in advance and represented by a location function \(\psi ()\).

As to the communication model, all devices work in half-duplex mode. Besides, all channels are assumed to be mutually independent Rayleigh fading channels. The path loss from source S to destination D is modeled by

$$\begin{aligned} PL = 10 \alpha \log _{10}\left( \frac{\Vert \psi (S)-\psi (D)\Vert }{d_0}\right) +PL_0 \end{aligned}$$
(1)

where \(\alpha \) is the path loss exponent whose value usually is in the range of 2 to 4, \(PL_0\) is the reference path loss at a reference distance \(d_0\), and \(\Vert \psi (S)-\psi (D)\Vert \) is the Euclidean distance from S to D.

To compute outage probability, we think that only when the transmission rate is greater than \(\gamma \) the receiver receives one packet correctly. In that case, the outage probability of transmission [18] is

$$\begin{aligned} p = 1 - \exp \left( {-\frac{2^{2\gamma }-1}{\sigma ^2}\times \frac{N_0}{P}}\right) \end{aligned}$$
(2)

where P is the transmit power, \(N_0\) is background background noise, and \(\sigma ^2=10^{-0.1\times PL}\).

Definition 1

Communication range of a BS(UAV) is the maximal distance from a user to the BS(UAV). In other words, if the distance exceeds the communication range, the user cannot access the BS(UAV).

Based on Definition 1, we get the communication range

$$\begin{aligned} d = d_0\times 10^{\frac{-PL_0}{10\alpha }}\times \left( {\frac{P}{N_0(2^{2\gamma }-1)}}\right) ^{\frac{1}{\alpha }} \end{aligned}$$
(3)

3.2 Problem Formulation

In emergency communication, users need to access specific BSs to receive broadcast messages. We define a BS-user pair set \(\mathbb {V}\) to represent the access requirements, where each pair consists of a user located beyond the communication range of a corresponding BS. The problem can be formulated as follows.

$$\begin{aligned} \begin{aligned} \max _{\psi (R_1),\cdots ,\psi (R_q)} \quad &{\sum _{j=1}^q{\varOmega (\psi (R_j))}} \\ \text {s.t.} \quad &\Vert \psi (S_i)-\psi (R_j)\Vert \le d_S \\ &\Vert \psi (R_j)-\psi (D_k)\Vert \le d_R \\ &\forall (S_i, D_k) \in \mathbb {V}, \exists R_j \in {R_1, R_2, \cdots , R_q} \end{aligned} \end{aligned}$$
(4)

where \(\varOmega (\psi (R_j))\) is the broadcast throughput of UAV \(R_j\) and expressed as a mathematical formula in Sect. 4. In this paper, we make the assumption that all BSs possess an equivalent communication range denoted as \(d_S\), and similarly, all UAVs have an identical communication range denoted as \(d_R\), which is derived from Formula (3). The objective of the problem is to maximize the cumulative broadcast throughput by strategically deploying UAVs while satisfying the access requirements.

4 Broadcast Throughput of Network Coding Based Cooperative Broadcast Scheme

4.1 Broadcast Protocol in Cooperative Broadcast

To present an expression for NCBC broadcast scheme, we take some assumptions and the throughput definition from [6].

Assumption 1

Time is slotted.

Assumption 2

Average channel gain of each channel is only known to the receiver of the corresponding channel.

Definition 2

Throughput is defined as the average number of packets received correctly by all destinations per time slot in a saturated system.

Based on Assumption 1, the time-division channel allocations for conventional cooperation and network coding based cooperation in the case shown in Fig. 2 is illustrated in Fig. 3.

Fig. 3.
figure 3

Time-division channel allocations for conventional cooperation and network coding based cooperation in broadcast.

The broadcast throughput is dependent on the chosen broadcast protocol. In paper [6], there are three protocols for single-source broadcast communications including Direct Broadcast (Protocol A), Relay-assisted Broadcast (Protocol B), and Relaying Broadcast with Network Coding (Protocol C). Our scenario is most closely related to Protocol C, and we extend it to multiple sources and destinations broadcast relay communications, which we refer to as Protocol D. The key differences between these protocols are:

  1. 1.

    Protocol D is designed for multiple sources, while Protocol C is intended for a single source.

  2. 2.

    Only the relay node can execute network coding in Protocol D, whereas both the source and relay nodes have network coding capabilities in Protocol C.

Next, we present a comprehensive explanation of how Protocol D achieves broadcast transmission through the utilization of relaying with network coding, which follows the same methodology as Protocol C [6]. Similar to Protocol C, Protocol D aims to enhance spectral efficiency by operating in iterations of X packets. Within each iteration, X new packets are successively transmitted by n sources during X transmission slots. It is important to note that these X packets originate from n sources, and we assume that each source has an equal probability of sending a packet over an extended period. After X transmission slots, the retransmission process commences.

During the packet retransmission phase, both n sources and the relay maintain a list of lost packets from their intended destinations, which is obtained through feedback from m destinations. The relay also provides feedback to n sources. To facilitate a clearer understanding of the retransmission procedure, we divide it into two distinct parts: relay retransmission and source retransmission. In relay retransmission, the relay transmits lost packets the lost packets that it has successfully received. Moreover, through XORing operations, the relay combines lost packets intended for different destinations, creating new packets for retransmission. This approach effectively reduces the number of packets requiring retransmission. Subsequently, any residual lost packets that were not successfully received by the relay undergo source retransmission, wherein they are retransmitted by the n sources.

Fig. 4.
figure 4

Combined packets for relay retransmission in Protocol D.

In the relay retransmission, the protocol maximizes relay utilization by transmitting lost packets that the relay has successfully received. To employ network coding, the relay initially combines lost packets from different destinations that have been received successfully at the relay. For instance, consider Fig. 4, which depicts a 2-user broadcast network and the relay’s feedback list (lost packets are indicated by a cross). The lost packets for destinations \(D_1\) and \(D_2\) are (3, 5, 6, 10) and (2, 5, 7, 9) respectively. Since the relay did not receive the 2nd and 6th packets, the combined packets for retransmission in this part are 5, \(3\oplus 7\), and \(9\oplus 10\). Consequently, only three packets require retransmission, compared to five without network coding. The relay transmits these packets while the source remains inactive during this part. In relay retransmission, the relay transmits a combined packet until it is successfully received by each intended destination. Subsequently, the relay transmits another combined packet or lost packet. Each destination can recover their lost packets from the combined packet since the destination already possesses knowledge of another packet included in the combined packet. Once this part is completed, the relay notifies n sources of the starting moment for source retransmission, if necessary.

In the source retransmission, the n sources successively retransmit the remaining lost packets to both the relay and the destinations. To illustrate this process, let us refer back to Fig. 4 as an example. The relay lost packets 2 and 6, \(D_1\) only lost packet 6 and \(D_2\) only lost packet 2. The sources transmit packets 2 and 6 once to both the relay and the destinations with lost packets record. Following this transmission, the relay retransmission recommences. The relay retransmission and source retransmission are performed alternately until X packets have been successfully transmitted.

Fig. 5.
figure 5

Flowchart of Protocol D.

From the above description, the implementation of this protocol can be divided into three steps for X-packet-delivery. Here, we just given a brief explanation of this protocol. A detailed flow chart to illustrate in Fig. 5.

  • Step 1 : n sources transmit X packets in X successive transmission time slots. In this step, by analyzing immediate feedback from m destinations, both the sources and the relay will construct a packet-loss table for the destinations. The table at the sources also includes the indices of the lost packets at the relay through feedback from the relay.

  • Step 2 : The relay node analyzes its table of received packets, assessing both the lost packets from the destinations and the packets it has successfully received. The relay combines the lost packets using the encoding technique as described above and successively transmits the combined packets. During this process, the relay repeatedly transmits a single combined packet until all intended destinations have successfully received it. At the end of Step 2, the relay node provides information to the source nodes regarding the successfully transmitted packets.

  • Step 3 : n sources check for residual packets that have not been successfully transmitted. These packets are retransmitted successively at once. Similar to Step 1, the packet-loss tables for m destinations and the relay are constructed. By alternately repeating Step 2 and Step 3, X packets are successfully transmitted.

4.2 Broadcast Throughput Analysis: Protocol D

Based on Definition 2, and in contrast to the methodology employed in [6], we do not consider the contention duration in our analysis. The mathematical formula for the throughput achieved under Protocol D when UAV \(R_j\) is positioned at \(\psi (R_j)\) can be expressed as follows.

$$\begin{aligned} \varOmega (\psi (R_j)) = \frac{1}{E[T_D\left( \mathbb {S},R_j, \mathbb {D} \right) ]} \end{aligned}$$
(5)

where \(E[T_D\left( \mathbb {S},R_j, \mathbb {D} \right) ]\) represents the average number of transmissions required for a packet to be successfully received by the user set \(\mathbb {D}\). Here, \(\mathbb {D}\) denotes a group of users located within the communication range of UAV \(R_j\), while \(\mathbb {S}\) refers to the set of BSs where UAV \(R_j\) is within the communication range of those BSs.

Assume there are n BSs (\(\mathbb {S}=\{S_1,S_2,\cdots , S_n\}\)) and m users (\(\mathbb {D}=\{D_1,D_2,\cdots , D_m\}\)). According to [6, 13], we can get the average number of transmissions under Protocol D as follows.

$$\begin{aligned} \begin{aligned} E[&T_D\left( \{S_1,S_2,\cdots , S_n\},R_j, \{D_1,D_2,\cdots , D_m\} \right) ] \\ &\begin{aligned} = 1 &+ ARTN \\ = 1 &+ \sum _{\varDelta }\bigg \{ \prod _{i\in [1,n]}\prod _{k\in [1,m]} (1-p_{(S_i,D_k)})^{\delta _{ik}}p_{(S_i,D_k)}^{(1-\delta _{ik})} \\ &\times \bigg [ \sum _{B}\Big ( \prod _{x\in [1,n]} (1-p_{(S_x,R_j)})^{\beta _x} p_{(S_x,R_j)}^{(1-\beta _x)} \\ &\times \big ( ( \sum _{z\in [1, |\mathbb {P}|]}(\mathbb {P}[z]-\mathbb {P}[z-1]) E[T_A(R_j,\mathbb {D}_{z})]) \\ &+ E[T_D\left( \mathcal {S},R_j, \mathcal {D} \right) ] \big ) \Big ) \bigg ] \bigg \} \end{aligned} \end{aligned} \end{aligned}$$
(6)

We provide a comprehensive explanation of the aforementioned formula. The constant 1 represents that any packet will transmit at least one time in Step 1. ARTN denotes the average number of retransmissions in Step 2 and Step 3. To facilitate a clear understanding of the derivation of the ARTN formula, we divide it into 4 distinct parts for explanation purposes.

Part 1 corresponds to the first line of the ARTN formula. In Step 1, when n BSs broadcast, each BS has an equal probability of transmitting a new packet. Consequently, after a sufficiently large number of transmissions, there are \(2^{n\times m}\) possible events of packet reception by m users. The set \(\varDelta =\{\delta _{ik}|\delta _{ik}\in (0,1),i\in [1,n],k\in [1,m]\}\) encompasses all possible transmitting-receiving events, where each \(\delta _{ik}\) serves as an indicator function indicating whether \(D_k\) has successfully received the packet from \(S_i\) in Step 1. Specifically, \(\delta _{ik}=1\) denotes successful reception, while \(\delta _{ik}=0\) implies unsuccessful reception. The outage probability of the transmission from BS \(S_i\) to user \(D_k\), denoted as \(p_{(S_i,D_k)}\), can be computed using Formula (2). Notably, the expression \(\prod _{i\in [1,n]}\prod _{k\in [1,m]} (1-p_{(S_i,D_k)})^{\delta _{ik}}p_{(S_i,D_k)}^{(1-\delta _{ik})}\) represents the probability of a packet reception event by m users after Step 1.

Part 2 corresponds to the second line of the ARTN formula. Similarly, there are \(2^n\) possible packet reception events for UAV \(R_j\) in Step 1. The set \(B=\{\beta _x|\beta _x\in (0,1),x\in [1,n]\}\) encompasses all possible transmitting-receiving events, where each \(\beta _x\) serves as an indicator function indicating whether \(R_j\) has successfully received the packet from \(S_x\) in Step 1. Specifically, \(\beta _x=1\) denotes successful reception, while \(\beta _x=0\) implies unsuccessful reception. The outage probability of the transmission from BS \(S_x\) to UAV \(R_j\), denoted as \(p_{(S_x,R_j)}\), can be computed using Formula (2). Notably, the expression \(\prod _{x\in [1,n]} (1-p_{(S_x,R_j)})^{\beta _x} p_{(S_x,R_j)}^{(1-\beta _x)}\) represents the probability of a packet reception event by UAV \(R_j\) after Step 1.

Part 3 corresponds to the third line of the ARTN formula. It represents the average number of transmissions in Step 2. After Step 1, UAV \(R_j\) has received packets from \(\{S_i | \beta _i = 1, \forall i\in [1,n]\}\), user \(D_k\) has not received packets from \(\{S_i| \delta _{ik}=0, \forall i\in [1,n]\}\). Therefore, the UAV needs to retransmit those lost packets. In Step 2, UAV \(R_j\) transmits a combination of packets or previously lost packets until all the lost packets that have been successfully received by the UAV are also successfully received by all the users. The proof of the average number of transmissions in Step 2 resembles proof of Theorem 2 in [13].

Proof

After a sufficiently large number of transmissions N from \(\lbrace S_1,S_2,\cdots , S_n\rbrace \), where each BS has an equal probability of transmitting a new packet, the numbers of lost packets at users \(\lbrace D_1,D_2,\cdots , D_m\rbrace \) are \(Np_{(S_1,D_1)}, \cdots , Np_{(S_n,D_1)}, Np_{(S_1,D_2)}, \cdots , Np_{(S_n,D_2)}, \cdots , Np_{(S_1,D_m)}, \cdots , Np_{(S_n,D_m)}\), respectively (note that there are \(n\times m\) BS-user paths). These outage probabilities can be sorted in ascending order, resulting in the set \(\mathbb {P} = \lbrace p_{(S_{x1},D_{y1})}, p_{(S_{x2},D_{y2})}, \cdots , p_{(S_{xn},D_{ym})} \rbrace \). We can conceptually count the number of combinations for XORing the lost packets and transmit them in different rounds. In the first round, there are \(N\mathbb {P}[1]=Np_{(S_{x1},D_{y1})}\) lost packets of \(S_{x1}\) to \(D_{y1}\) path that can be combined with the lost packets from other paths, except \(S_{x1}\) to \(D_{y1}\). After these combinations, the numbers of remaining lost packets for each path are \(0, N(\mathbb {P}[2]-\mathbb {P}[1]),N(\mathbb {P}[3]-\mathbb {P}[1]), \cdots , N(\mathbb {P}[|\mathbb {P}|]-\mathbb {P}[1])\) where \(|\mathbb {P}|\) denotes the size of the set \(\mathbb {P}\). In the subsequent rounds, the remaining \(N(\mathbb {P}[2]-\mathbb {P}[1])=N(p_{(S_{x2},D_{y2})}-p_{(S_{x1},D_{y1})})\) lost packets from \(S_{x2}\) to \(D_{y2}\) path are combined with the remaining lost packets from other paths, except \(S_{x1}\) to \(D_{y1}\) and \(S_{x2}\) to \(D_{y2}\). Thus, the remaining lost packets for all paths are now \(0,0,N(\mathbb {P}[3]-\mathbb {P}[2]), \cdots , N(\mathbb {P}[|\mathbb {P}|]-\mathbb {P}[2])\). This process continues until there are no more lost packets. Therefore, the average number of transmissions that are required to successfully deliver all N packets to all the receivers is equal to

$$\begin{aligned} \begin{aligned} N+N\mathbb {P}[1]\phi _1+N(\mathbb {P}[2]-\mathbb {P}[1])\phi _2&+N(\mathbb {P}[3]-\mathbb {P}[2])\phi _3 \\ &+\cdots +N(\mathbb {P}[|\mathbb {P}|]-\mathbb {P}[|\mathbb {P}|-1])\phi _{|\mathbb {P}|} \end{aligned} \end{aligned}$$
(7)

where \(\phi _z\) denotes the average number of transmissions that are required to successfully transmit a combined packet in round z.

It is easy to know the average number of transmissions under Protocol A which is same as the Formula (7) in [6].

$$\begin{aligned} \phi _z = E[T_A(R_j,\mathbb {D}_z)] = \sum _{\varDelta } \frac{(-1)^{1+\sum _{D_k\in \mathbb {D}_z}{\delta _k}}}{1-\prod _{D_k\in \mathbb {D}_z}{p_{(R_j,D_k)}^{\delta _k}}} \end{aligned}$$
(8)

where \( \mathbb {D}_z=\{D_k|(\delta _{ik}=0) \& (\beta _i=1)\}\) represents the users where UAV \(R_j\) has successfully received a packet from \(S_i\), but the corresponding user \(D_k\) has not received the same packet from \(S_i\).

Part 4 corresponds to the fourth line of the ARTN formula, which addresses the issue of lost packets requiring retransmission from the BSs. The retransmission method of BSs remains the same as in Step 1 where each lost packet is transmitted once. Following the source retransmission, UAV \(R_j\) will transmit lost packets according to Step 2. Hence, \(E[T_D\left( \mathcal {S},R_j, \mathcal {D} \right) ]\) represents a recursive formula. Here, \( \mathcal {S}=\lbrace S_i|\forall i\in [1,n], \exists k\in [1,m], (\delta _{ik}=0) \& ({\beta _i}=0)\rbrace \) denotes a set of BSs for which there exists at least one user that has not successfully received a packet from this set after Step 2. Similarly, \( \mathcal {D}=\lbrace D_k|\forall k\in [1,m],\exists i\in [1,n], (\delta _{ik}=0) \& ({\beta _i}=0)\rbrace \) represents a set of users that have not received a packet from at least one BS after Step 2.

5 Problem Solving

Our proposed algorithm is a three-stage heuristic approach to satisfy all access requirements. In the first stage, we determine the candidate areas for UAV deployment based on the BS-user pair set \(\mathbb {V}\). By computing the intersection of these candidate areas, we obtain a set of basic cells, each of which can accommodate a UAV to satisfy a fixed number of BS-user pair access requirements. In the second stage, we identify the optimal location for the UAV by maximizing the broadcast throughput in each basic cell. The third stage is designed to ensure access requirements with a given number of UAVs, and the optimal deployment positions for the UAVs are selected from the second stage results to achieve the highest cumulative broadcast throughput.

5.1 Candidate Areas and Basic Cells

To ensure BS-user connection for all BS-user pairs in set \(\mathbb {V}\), a UAV must be deployed in the corresponding candidate area of a BS-user pair. As shown in Fig. 6(a), the yellow area is the candidate area of pair \((S_i, D_k)\).

Fig. 6.
figure 6

Candidate area and Basic cells for BS-user pairs (Color figure online)

We can identify the corresponding candidate area for each BS-user pair in the set \(\mathbb {V}\). By computing the intersection of all candidate areas, we obtain a set of basic cells, as illustrated in Fig. 6(b). This figure shows that three basic cells with different colors are obtained by intersecting the candidate areas of \((S_1,D_2)\) and \((S_2,D_1)\).

To identify all basic cells, we employ a Depth-First Search (DFS) algorithm with pruning, which is similar to generating all subsets of the set \(\mathbb {V}\). For instance, given a pair list \({(S_1, D_2), (S_2, D_1)}\), we check if the candidate areas of all pairs in it intersect. If they do, we obtain one basic cell and add a new pair from \(\mathbb {V}\) to the pair list. If they don’t intersect, we backtrack to the pair list \({(S_1, D_2)}\) and add a new pair from \(\mathbb {V}\) to the pair list. Then we check if the candidate area of all pairs in the updated pair list intersect. Because intersection of candidate areas must be the intersection of multiple 3D spheres, we utilize the method described in reference [12] to determine if m 3D spheres intersect.

5.2 Finding the Optimal Location for UAV in Basic Cell

For each basic cell, we aim to find the optimal deployment location for the UAV \(R_j\) to maximize the broadcast throughput. However, since the Formula (6) is recursive and hard to use, we employ its lower bound instead. Meanwhile, we obtain the upper bound of the throughput by taking the inverse of this lower bound. By making the assumption that UAV \(R_j\) can successfully receive all packets transmitted by all BSs in Step 1, we can establish a lower bound for the average number of transmissions as follows.

$$\begin{aligned} \begin{aligned} E[T_D&\left( \{S_1,S_2,\cdots , S_n\},R_j, \{D_1,D_2,\cdots , D_m\} \right) ]^*\\ = 1 &+ \sum _{\varDelta }\prod _{i\in [1,n]}\prod _{k\in [1,m]} \Big \{ (1-p_{(S_i,D_k)})^{\delta _{ik}}p_{(S_i,D_k)}^{(1-\delta _{ik})} \\ &\times \sum _{z\in [1, |\mathbb {P}|]}(\mathbb {P}[z]-\mathbb {P}[z-1]) E[T_A(R_j,\mathbb {D}_{z})] \Big \} \end{aligned} \end{aligned}$$
(9)

where \(\mathbb {P}=\{p_{(S_i,D_k)}|\delta _{ik}=0, \forall i\in [1,n], \forall k\in [1,m]\}\) is a set of outage probabilities arranged in ascending order. \(\mathbb {P}[z]\) means the zth element in set \(\mathbb {P}\) and \(\mathbb {P}[0]=0\). Other symbol definitions are the same as Formula (6).

Next, we employ the PSO algorithm to determine the UAV’s optimal location, aiming to maximize the broadcast throughput. Since the PSO algorithm is an unconstrained optimization approach, we introduce a penalty term into the objective function to ensure that the UAV is located within the basic cell. The optimization objective function utilized in our algorithm is as follows.

$$\begin{aligned} \begin{gathered} \max \quad \varOmega (\psi (R_j))+H(\psi (R_j)) \\ H(\psi (R_j)) = \Big \{ \begin{array}{cc} 0 &{} \text {if }R_j\text { is located in the cell} \\ -1000 &{} \text {otherwise} \end{array} \end{gathered} \end{aligned}$$
(10)

5.3 Choose Locations for UAVs

We need to choose UAV locations with the given number q from them to keep users accessible by BSs while maximizing cumulative broadcast throughput. This problem can be formulated as a zero-one linear optimization problem as follows.

$$\begin{aligned} \begin{aligned} \max _{\delta _1,\delta _2,\cdots ,\delta _{|\mathbb {C|}}} &\quad {\sum _{j\in [1, |\mathbb {C|]}}{\delta _j\tilde{\varOmega }(\psi (R_j))}} \\ \text {s.t.} \quad &\sum _{j\in [1, |\mathbb {C|]}}\delta _j = q \\ &\sum _{j\in [1, |\mathbb {C|]}} \delta _j v_{jk} = 1, \forall k \in [1, |\mathbb {V}|] \end{aligned} \end{aligned}$$
(11)

where \(\mathbb {C}\) is basic cell set obtained by the algorithm in Sect. 5.1, \(\tilde{\varOmega }(\psi (R_j))\) is the maximal broadcast throughput when a UAV is deployed at the optimal location of the jth basic cell, which is the output of the algorithm in Sect. 5.2. \(v_{jk} = 1\) means the jth basic cell is inside candidate area of the kth BS-user pair, otherwise \(v_{jk} = 0\). \(\delta _j = 1\) means we choose the location in the jth basic cell to deploy UAV, otherwise \(\delta _j = 0\).

We utilize the Gurobi Optimizer [10] to solve the zero-one linear optimization problem.

6 Performance Evaluation

In this section, we evaluate the performance of deploying UAVs using Protocol D. We consider a downlink relay wireless network. The reference distance in the path loss formula is 0.1 km. The model of distance-dependent path loss is \(86.429+36\log _{10}\frac{d}{0.1}\), where d is the distance between the transmitter and receiver in kilometers. Related simulation parameters are listed in Table 1.

Table 1. Simulation parameters setting

In the first experiment, we focus on the throughput performance improvement by network coding technique. Specifically, we compare the performance of Protocol D with extended Protocol B in [6]. For a fair comparison, we extend Protocol B into n-source m-destination broadcast transmissions by simply averaging the throughput of n BSs under Protocol B.

$$\begin{aligned} \begin{aligned} &E[T_B\left( \{S_1,S_2,\cdots , S_n\},R_j, \{D_1,D_2,\cdots , D_m\} \right) ] \\ &= \frac{1}{n} \sum _{i=1}^n{E[T_B\left( S_i,R_j, \{D_1,D_2,\cdots , D_m\} \right) ]} \end{aligned} \end{aligned}$$
(12)

where \(E[T_B(S_i,R_j, \{D_1,D_2,\cdots , D_m\})]\) is the average number of transmissions under Protocol B.

The average number of transmissions under Protocol B is

$$\begin{aligned} \begin{aligned} E[&T_B\left( S_i,R_j, \{D_1,D_2,\cdots , D_m\} \right) ] \\ & \begin{aligned} = 1 &+ \sum _{\varDelta } \bigg \lbrace \prod _{k\in [1,m]} (1-p_{(S_i,D_k)})^{\delta _{ik}}p_{(S_i,D_k)}^{(1-\delta _{ik})} \\ & \times \Big [ (1-p_{(S_i,R_j)})\times E[T_A\left( R_j, \mathbb {D}\right) ] \\ &+ p_{(S_i,R_j)} \times E[T_B\left( S_i,R_j, \mathbb {D}\right) ] \Big ]\bigg \rbrace \end{aligned} \end{aligned} \end{aligned}$$
(13)

Proof

The BS \(S_i\) broadcast packet, m users have \(2^{m}\) possible packet reception events. Each \(\delta _{ik}\) is an indication function denoting whether \(D_k\) has successfully received the packet from \(S_i\) or not. \(\delta _{ik}=1\) indicates that \(D_k\) has successfully received the packet from \(S_i\). \(\mathbb {D}=\lbrace D_k|\delta _{ik}=0, \forall k\in [1,m]\rbrace \) represents a set of users that have not received the packet from BS \(S_i\). \(E[T_B\left( S_i,R_j, \mathbb {D}\right) ]\) is a recursive component that represents the number of retransmissions required in the next iteration of Protocol B.

For a fair comparison, we make the same assumption as Formula (9), assuming that the UAV can successfully receive all packets transmitted by all BSs. Then we get its lower bounds of the average number of transmissions under Protocol B.

$$\begin{aligned} \begin{aligned} &E[T_B\left( \{S_1,S_2,\cdots , S_n\},R_j, \{D_1,D_2,\cdots , D_m\} \right) ]^* \\ &\begin{aligned} = 1 &+\frac{1}{n}\sum _{i\in [1,n]} \bigg \lbrace \sum _{\varDelta }\prod _{k\in [1,m]} \Big [(1-p_{(S_i,D_k)})^{\delta _{ik}}p_{(S_i,D_k)}^{(1-\delta _{ik})} \\ & \times {E[T_A(R_j,\mathbb {D})]} \Big ]\bigg \rbrace \end{aligned} \end{aligned} \end{aligned}$$
(14)

We first consider the broadcast throughput in a basic cell, where there are one UAV, one or two BSs, and at most 20 users, and they are randomly deployed in the basic cell. 100 experiments are conducted for each parameter setting, and their average throughputs are illustrated in Fig. 7. It is obvious that the throughput of a UAV is higher using protocol D than protocol B, and it increases by at least 26.69% relative to the traditional copy-and-forward relay protocol. This improvement can be attributed to the fact that protocol D can combine two lost packets into one retransmitted packet using network coding technique. Additionally, the broadcast throughput exhibits a negative correlation with the number of users, as the probability of all users receiving packets correctly depends on the individual probability of each user receiving packets accurately. With the increase in the number of users, the probability of successful reception decreases, leading to an increase in transmission times and a decrease in broadcast throughput.

Fig. 7.
figure 7

Throughput performance improvement by network coding.

Fig. 8.
figure 8

Topology and Result of second experiment. (The dashed line represents the communication range of the BS, while the dotted line denotes the connection between the BS and the user established through an UAV.)

The second experiment focuses on the UAV deploying problem in a large area instead of a basic cell. 30 users and 3 BSs are randomly distributed within a square whose area is 1 km\(^2\), as shown in Fig. 8(a), where users are represented by dots and BSs by triangles. There are 8 BS-user pairs, including \((S_0,D_0)\), \((S_0,D_1)\), \((S_0,D_2)\), \((S_1,D_3)\), \((S_1,D_4)\), \((S_2,D_5)\), \((S_2,D_6)\) and \((S_2,D_7)\), which can be verified easily in Fig. 8(a) since the communication ranges of the 3 BSs are intentionally labelled by dashed line circles. The users and their corresponding BS in the pair set are marked with the same color. We use 3 UAVs \(R_1,R_2,R_3\) as relays. Figure 8(b) illustrated the deployment of UAVs. Obviously, the deployment of the 3 UAVs makes the 8 users accessible by its corresponding BS which represented by dotted line with different colors in Fig. 8(b).

7 Conclusion

This paper focused on deploying UAVs to enhance information broadcasting using network coding technique. Initially, we considered a prototype topology consisting of two BSs, two users, and one UAV and presented an expression for the throughput of NCBC broadcast scheme. Based on this expression, we design a heuristic algorithm to generate optimal UAV deployment, achieving maximal broadcast throughput while ensuring access requirements within a given number of UAVs. Our experimental results demonstrate that network coding technique can significantly improve broadcast throughput. It increases the broadcast throughput by at least 26.69% relative to the traditional copy-and-forward relay protocol. We anticipate this scheme will gain widespread usage, particularly as the need for enhanced throughput in emergency communication scenarios expands.