Keywords

1 Introduction

The unmanned aerial vehicle (UAV) has the advantages of high controllability, strong flexibility, and low operating cost. In particular, UAV can provide reliable and cost-effective wireless communication solutions as a temporary air base station in the wilderness and disaster environment, which makes UAV-based communication obtain extensive attention in recent years.

At present, the research on the optimization of the UAV-based network mainly includes the maximization of system throughput, the maximization of minimum average throughput, the minimization of UAV power consumption, and the minimization of task time. In [1], the power and trajectory optimization of UAV-assisted mobile relay system was presented. The results showed that significant throughput gains can be obtained by exploiting the channel changes caused by UAV movement. The authors in [2] studied the joint optimization of UAV transmission power and trajectory based on frequency division multiple access (FDMA) in the UAV-based multi-user communication system to maximize the minimum average user throughput. Subsequently, in [3], the joint optimization of UAV trajectory and OFDMA system resource allocation was studied to maximize the minimum average throughput of users, while considering the delay constraint and the minimum transmission rate constraint of each user. In [4], the joint optimization of user scheduling, power control, and trajectory design in the multi-user communication system of UAV was studied to maximize the minimum user throughput. In [5], under the constraint of satisfying the transmission rate requirements of sensor nodes, the scheduling scheme, power allocation strategy, and flight trajectory of UAV were jointly designed to minimize the total power consumption of UAV without considering the user task constraint. A policy based on the optimal transport theory was proposed to optimize the communication between multiple static UAVs and ground nodes in [6], where the cell boundary of the UAV coverage area was identified and the minimization of total transmission power of the UAV was obtained while meeting the user data transmission rate. The authors in [7] studied the energy-saving design of point-to-point communication link of UAV communicating with ground terminal in a limited time range. Their goal is to maximize the energy efficiency by optimizing the flight trajectory of UAV. In [8], the solar-powered UAV was taken, and the flight path is optimized by using the gravitational potential energy to control the attitude of the UAV, so as to improve the endurance of the UAV. Due to considering real-time climate change, this proposed policy was suitable for UAV flying in the changeable weather environment of low altitude area. In [9], the communication problem of UAVs under the hover time constraint is studied where multiple UAVs providing wireless services for ground users, and the average hover time of UAVs is minimized by optimizing the service area division and bandwidth allocation of UAVs.

Although there have been some researches on the optimization of UAV energy consumption, there is no joint optimization method that comprehensively considers UAV scheduling, trajectory, and users’ tasks. This paper provides a solution to this problem.

2 System Model

In this paper, we consider a UAV-based communication network where \(K\) users are arbitrarily distributed on the ground, and the coordinate of each user \(k\)\(({k} \in {\mathcal{K}}{ = }\left\{ {1,2, \ldots ,K} \right\})\) is described as \(w_{k} = [x_{k} ,y_{k} ,0]\). The UAV flies at a fixed \(H\) altitude and sends data to all users. The data volume of the \(k{\text{th}}\) user is \(b_{k} ({\text{bits}})\). The starting and ending positions of the UAV are defined as \(q_{0} = [x_{0} ,y_{0} ,H]\) and \(q_{F} = [x_{F} ,y_{F} ,H]\), respectively, and the flight time from the starting point to the ending point is limited to \(T\). For convenience, the time length \(T\) is discretized into \(M\)\(({\mathcal{M}} = \left\{ {1,2, \ldots ,M} \right\})\) time slots, and the length of every time slot is \(\delta\). Specifically, a downlink time division multiple access (TDMA) is considered, and all data should be sent within \(T\). Let \(q\) as UAV trajectory, and the position of \(m{\text{th}}\)\((m \in {\mathcal{M}})\) slot is \(q[m] = [x[m],y[m],H]\), especially let \(q[1] = q_{0}[1]\)\( = q_{0}\), \(q[M{ + 1}] = q_{F}\). The maximum speed of UAV is \(V_{\max }\). Thus, the UAV trajectory constraint is described as follows:

$$ \left\| {q[m + 1] - q[m]} \right\|^{2} \le (V_{\max } \delta )^{2} ,m \in \left\{ {1,2, \ldots M} \right\} $$
(1)
$$ \sum\limits_{m = 1}^{M} {\left\| {q[m + 1] - q[m]} \right\|} \le D_{T} $$
(2)

where (1) means that the moving distance between two time slots cannot exceed the maximum flight distance of UAV, and (2) indicates the maximum flight distance of UAV during time \(T\). \(D_{T}\) represents the UAV's air-range. In this research, UAV can hover at a certain position with a flight speed of 0. The bandwidth of all communication channels is set as \(B\), the channel model is line-of-sight (LoS) link, and the channel gain at unit distance is defined as \(\beta_{0}\) [2]. The channel gain between UAV and the \(k{\text{th}}\)\(({k} \in {\mathcal{K}})\) user in the \(m{\text{th}}\) time slot is expressed as:

$$ h_{k} [m] = \frac{{\beta_{0} }}{{\left\| {q[m] - w_{k} } \right\|^{2} }} = \frac{{\beta_{0} }}{{(x[m] - x_{k} )^{2} + (y[m] - y_{k} )^{2} + H^{2} }} $$
(3)

Further, the maximum transmit rate of \(k{\text{th}}\) user in the \(m{\text{th}}\) time slot is expressed as:

$$ R_{k} [m] = B\log_{2} (1 + \frac{{p_{k} [m]h_{k} [m]}}{{B\sigma^{2} }}) $$
(4)

where \(\sigma^{2} ({\text{W}}/{\text{Hz}})\) is the spectral density of unit noise power, and \(p_{k} [m]\) represents transmission power from UAV to user \(k\) in the \(m{\text{th}}\) slot. The system uses TDMA, so in each slot, UAV can only communicate with one user. Let \(x_{k} [m] \in \left\{ {0,1} \right\}\) and \(x_{k} [m] = 1\) indicate that the \(m{\text{th}}\) slot is allocated to user \(k\), otherwise \(x_{k} [m] = 0\). Let \(q = \left\{ {q[1], \cdots ,q[M],q[M + 1]} \right\}\), \(X = \left\{ {x_{1} [1], \ldots x_{1} [M],x_{2} [1], \ldots } \right.\) \(\left. {x_{2} [M], \ldots ,x_{k} [1], \ldots x_{k} [M]} \right\}\) and \(p = \left\{ {p_{1} [1], \ldots p_{1} [M],p_{2} [1],} \right.\) \(\left. { \ldots p_{2} [M], \ldots ,p_{k} [1], \ldots p_{k} [M]} \right\}\). Thus, the mathematical model of the investigated problem is formulated as follows:

$$ \begin{aligned} & \mathop {\min }\limits_{q,p,X} \;\sum\limits_{k = 1}^{K} {\sum\limits_{m = 1}^{M} {p_{k} [m]} } \delta \quad (\text{a}) \\ & {\text{s}}.{\text{t}}.\;\;C_{1} :p_{\max } \ge p_{k} [m] \ge 0,\forall k \in {\mathcal{K}},\forall m \in {\mathcal{M}}, \\ & \quad C_{2} :\left\| {q[m + 1] - q[m]} \right\|^{2} \le (V_{\max } \delta )^{2} ,\forall m \in {\mathcal{M}}, \\ & \quad C_{3} :q[1] = q_{0} ,q[M + 1] = q_{F} , \\ & \quad C_{4} :\sum\limits_{m = 1}^{M} {\left\| {q[m + 1] - q[m]} \right\|} \le D_{{\text{T}}} , \\ & \quad C_{5} :\sum\limits_{k = 1}^{K} {x_{k} [m] \le 1} ,\forall m \in {\mathcal{M}} \\ & \quad C_{6} :x_{k} [m] \in \left\{ {0,1} \right\},\forall k \in {\mathcal{K}},\forall m \in {\mathcal{M}} \\ & \quad C_{7} :\sum\limits_{m = 1}^{M} {x_{k} [m]R_{k} [m]\delta \ge b_{k} } ,\;\forall k \in {\mathcal{K}} \\ & \quad C_{8} :R_{k} [m] \ge x_{k} [m]r_{k} ,\forall k \in {\mathcal{K}},\forall m \in {\mathcal{M}},B = 1\,{\text{Hz}}. \\ \end{aligned} $$
(5)

where C1 is the transmission power limit of UAV, and \(p_{\max }\) is the maximum transmit power of UAV. C2 – C4 are the trajectory constraints. C5, C6 are the time slot allocation constraints. C7 is the task constraint, and \(b_{k}\) is the amount of data sent by UAV to user \(k\). C8 is the minimum transmission rate constraint of unit channel, and \(r_{k} ({\text{bps}}/{\text{Hz}})\) is the minimum transmission rate of user \(k\). The objective function (5) is to minimize the total transmit energy of UAV to all users in \(M\) time slots.

3 Problem Solution

We consider that the slot length is unit time, i.e., \(\delta = 1\,{\text{s}}\). Thus, \(\delta\) in the objective function can be omitted. The original problem is rewritten as follows:

$$ \begin{aligned} & \mathop {\min }\limits_{q,p,X} \;\sum\limits_{k = 1}^{K} {\sum\limits_{m = 1}^{M} {p_{k} [m]} } \\ & {\text{s}}.{\text{t}}.\;\;C_{1} ,C_{2} ,C_{3} ,C_{4} ,C_{5} ,C_{6} ,C_{7} ,C_{8} . \\ \end{aligned} $$
(6)

Obviously, problem (6) is a mixed integer non-convex optimization problem, which is difficult to solve directly. In this paper, alternating optimization and sequence convex approximation are used to solve the problem.

3.1 Power and Time Slot Allocation Optimization with Given Trajectory

Given a feasible trajectory, all trajectory constraints are removed, and the problem is rewritten as (7).

$$ \begin{aligned} & \mathop {\min }\limits_{p,X} \;\sum\limits_{k = 1}^{K} {\sum\limits_{m = 1}^{M} {p_{k} [m]} } \\ & {\text{s}}.{\text{t}}.\;\;C_{1} ,C_{5} ,C_{6} ,C_{7} ,C_{8} . \\ \end{aligned} $$
(7)

Algorithm 1

Time slot allocation algorithm.

figure a

Problem (7) is a mixed integer nonlinear programming (MINLP) problem. The time complexity of existing algorithms to solve this problem is \(O(2^{KM} )\) and increases exponentially with the problem scale. In order to reduce the computation time, a greedy algorithm based on channel gain and user tasks is proposed. As described in Algorithm 1, firstly, the user task amount is used as the weight to determine the number of user time slots, and then, the channel gain is used to determine the specific time slots obtained by the user. After the time slot allocation is determined, problem (7) is a convex optimization problem and can be solved by the CVX toolbox [10].

3.2 Trajectory Optimization with Given Power and Time Slot Allocation

Since the power is fixed, the optimal total power will not be changed. So, the problem is rewritten to maximize the total data transmission rate, seeing as follows:

$$ \begin{aligned} & \mathop {\max }\limits_{q} \;\;\sum\limits_{k = 1}^{K} {\sum\limits_{m = 1}^{M} {x_{k} [m]R_{k} [m]} } \\ & {\text{s}}.{\text{t}}.\;\;\;C_{2} ,C_{3} ,C_{4} ,C_{8} \\ \end{aligned} $$
(8)

As the objective function and constraint \(C_{8}\) are non-convex, problem (8) is also a non-convex optimization problem. The sequence approximate convex method is used to solve the problem (8) [2]. Let \(\left\{ {x^{l} [m],y^{l} [m]} \right\}\) is the trajectory of UAV in the \(l{\text{th}}\) iteration and \(\{ x^{l + 1} [m],y^{l + 1} [m]\}\) is the trajectory of the \((l + 1){\text{th}}\) iteration. Let \(x^{l + 1} [m] = x^{l} [m] + \nabla x^{l} [m]\) and \(y^{l + 1} [m] = y^{l} [m] + \nabla y^{l} [m]\). \(\left\{ {\nabla x^{l} ,\nabla y^{l} } \right\}\) is the increments of the \(l{\text{th}}\) iteration. We define the following formulas:

$$ a = \frac{{p_{k} [m]\beta_{0} }}{{B\sigma^{2} }}\quad b = (x^{l} [m] - x_{k} )^{2} + (y^{l} [m] - y_{k} )^{2} + H^{2} $$
$$ \begin{aligned} & \chi = \nabla x^{l} [m]^{2} + \nabla y^{l} [m]^{2} + 2(x^{l} [m] - x_{k} )\nabla x^{l} [m] + 2(y^{l} [m] - y_{k} )\nabla y^{l} [m] \\ & \log_{2} \left( {1 + \frac{\alpha }{b + \chi }} \right) \ge \log_{2} \left( {1 + \frac{a}{b}} \right) - \frac{1}{b(a + b)\ln 2}\chi \\ & \hat{R}_{{_{k} }}^{l + 1} [m] = B[\log_{2} \left( {1 + \frac{a}{b}} \right) - \frac{1}{b(a + b)\ln 2}\chi ],B = 1\,{\text{Hz}} \\ \end{aligned} $$

where \(\hat{R}\) is the first-order Taylor expansion of \(R(\chi )\) at zero point [2]. Thus, the problem (8) can be rewritten as (9). In order to facilitate the analysis, the optimization goal becomes to maximize the total data transmission rate of the unit channel and let \(B = 1\,{\text{Hz}}\). \(\hat{R}_{{_{{\text{k}}} }}^{l + 1} [m]\) is a quadratic function and problem (9) is a convex optimization problem, which can be solved by the standard convex optimization method.

$$ \begin{aligned} & \mathop {\max }\limits_{q} \quad \sum\limits_{k = 1}^{K} {\sum\limits_{m = 1}^{M} {x_{k} [m]\hat{R}_{{_{k} }}^{l + 1} [m]} } \\ & {\text{s}}.{\text{t}}.\quad C9:\hat{R}_{{_{k} }}^{l + 1} [m] \ge x_{k} [m]r_{k} ,k \in {\mathcal{K}},m \in {\mathcal{M}} \\ & \quad C_{2} ,C_{3} ,C_{4} . \\ \end{aligned} $$
(9)

So far, the whole solution process is shown in Algorithm 2, and the process of solution (9) is called many times by inner loop.

Algorithm 2

Optimization for problem (6) by CVX.

figure b

4 Simulations and Discussions

In the experiments, the initial trajectory of the UAV is a circle, which is the benchmark. UAV provides data services to seven ground users, with user locations at (−200, 400, 0), (600, −380, 0), (550, −200, 0), (300, 950, 0), (100, 200, 0), (780, 500, 0), and (400, 800, 0). Other system parameters are as follows: \(\sigma^{2} = - 90\,{\text{dBm}}/{\text{Hz}}\), \(p_{\max } = 1\,{\text{W}}\), \(H = 100\,{\text{m}}\), \(V_{\max } = 100\,{\text{m}}/{\text{s}}\), \(r_{k} = 1.3\,{\text{bps}}/{\text{Hz}}\), \(b_{k} = 10\,{\text{Kbits}}\), \(\beta_{0} = 10^{ - 3}\), \(\varepsilon = 10^{ - 3}\), \(T = 50\,{\text{s}}\), \(\delta = 1\,{\text{s}}\), \(M = 50\), \(D_{{\text{T}}} = 5000\,{\text{m}}\), \(B = 100\,{\text{KHz}}\). The last parameter is used to calculate \(C_{7}\). The triangles in figures represent the users.

For the convenience of description, we numbered the users. Figure 1a shows the initial trajectory and time slot allocation of the UAV. The center of the circle is at the geometric center, and the radius is 500 m. The starting point and the ending point of the trajectory are the same at (385,285), which is indicated by a plus in the figure. Small circles in the figure represent discrete time slots and evenly distribute on the circumference at the beginning, as shown in Fig. 1a. The number on the circle indicates the allocation relationship, which means that the time slot is allocated to the user with the same number. It can be seen that the time slots allocated by Algorithm 1 are very close to their users, so they can get a good channel gain. Figure 1b shows the optimized trajectory of Algorithm 2. The trajectory is changed according to the users’ positions to achieve the best optimization effect. Figure 1c shows the time slot allocation results when the users’ tasks are different. When the time slots are evenly allocated, the total transmission power of UAV is 1.9151 w. If the time slots are allocated according to the weights of tasks, the total transmission power of UAV is 1.8130 w. Figure 1d shows the effect of \(D_{{\text{T}}}\) on the UAV trajectory. With the increase of \(D_{{\text{T}}}\), UAV trajectories tend to be close to the users to obtain better channel gain and the total transmission power of UAV decreases gradually. Table 1 presents the optimized results of four different \(D_{{\text{T}}}\).

Fig. 1
figure 1

Experiment results of algorithm 2

Table 1 Influence of \(D_{{\text{T}}}\) on optimal results

In Fig. 2, the UAV flies at a uniform speed on the circumference as the benchmark. There is no time slot with a speed of 0 in the trajectory. So, the UAV would not hover on the trajectory. Each user has only one nearest trajectory point, which has the maximum transmission power. In Fig. 2b, the solid line represents the optimized power allocation. There are six peaks, indicating that the UAV is closest to a user in the corresponding time slot. Furthermore, the experiments also analyzed the influence of \(r_{k}\) on transmission power and flight distance. As given in Table 2, the total transmission power of UAV increases with \(r_{k}\), and the \(r_{k}\) has no significant effect on UAV flight distance.

Fig. 2
figure 2

Optimized transmit power and UAV flight speed

Table 2 Influence of \(r_{k}\) on transmit power and flight distance

5 Conclusion

In this paper, joint optimization of UAV trajectory, power, and time slot allocation is used to minimize the total transmission power of UAV for specific tasks. Simulation results show that the proposed algorithm can significantly reduce the total transmission power of UAV compared with the benchmark.