1. Introduction
According to the recent Ericsson mobility report,
$24.6$ billion sensor nodes are expected to be installed by 2025 [
1]. The majority of the applications in real time monitoring and industrial automation have strict delay requirements [
2]. Therefore, increasing the lifetime of this massive number of sensor nodes while satisfying their latency requirements is a major challenge for future wireless networks. Moreover, to fulfill these diverse requirements, this massive installation will be deployed by using low power transceivers with energy harvesting capability, simple receiver circuitry, and intelligent medium access protocols [
3].
For perpetual energy, due to full control of the energy transfer, small form factor, long range and no alignment requirements, the radio frequency (RF) energy harvesting (EH) is a promising technique for the wireless energy transfer for IoT and MTC type applications. In the literature, RFEH has been investigated with two models named the simultaneous wireless information and power transfer (SWIPT) and wireless powered communication network (WPCN). In SWIPT, the same signal is used for simultaneous energy and information transfer.
The authors in [
4,
5] analyzed the trade off between energy efficiency and information transmission capacity for a single user using additive white Gaussian noise and a flat fading channel, respectively. The multiuser SWIPT was investigated for data buffer constrained sum throughput maximization [
6] and energy efficiency maximization under the energy causality constraint [
7].
On the other hand, WPCN consists of a hybrid access point (HAP), which is responsible for dedicated energy transmission in the downlink and a set of users that harvest this energy to transmit back their information to the HAP in the uplink. The authors in [
8] introduced the first protocol for the sum throughput maximization of a WPCN, in which the frame length is divided into two nonoverlapping phases dedicated for energy and information transfer. In this halfduplex model, as energy and information take place in different phases, the information transmission order of the users is not important, thus, no scheduling algorithm is required.
To increase the energy harvesting rate of such networks, the usage of multiple energy transmitters is investigated in [
9,
10,
11]. Particularly, [
9] studied the time allocation and load balancing for the throughput maximization, [
10] provided the implementation of a testbed to maximize the amount of harvested energy, and [
11] investigated a wireless body area network with the objective of maximizing the sum throughput. Furthermore, to increase the network coverage, multicell WPCN, in which multiple HAPs are used for both energy transmission and information reception, were investigated for minimum throughput maximization [
12] and throughput maximization through beamforming [
13].
However, these objectives fail to provide any delay guarantee, which is necessary for the time critical networks. Only [
14] considered the minimum length scheduling problem. All of these problems investigated for multicell network consider halfduplex model, which results in an under utilization of the time and energy resources due to nonoverlapping energy and information transmission phases.
1.1. Related Works
Due to the recent advances in selfinterference cancellation techniques for wireless networks [
15,
16,
17,
18] and the related practical implementations [
19,
20], fullduplex has become a potential transceiving technique for 5G and beyond networks. In fullduplex, the uplink and downlink transmissions take place simultaneously using the same frequency reducing the spectrum requirements to half, i.e., either the spectral efficiency or the total number of users within a cell zone can be increased by a factor of two. From a practical implementation point of view, [
21] presented an experimental setup for low complexity fullduplex design by employing the passive suppression with a patch antenna and active selfinterference cancellation by using estimation and reconstruction of the interfering signal.
The authors in [
22] implemented a prototype for fullduplex operation by implementing a wideband RF canceller and an adaptive nonlinear digital canceller. In the context of fullduplex networks, [
23] categorized all the users into lethargic users, i.e., users with low energy levels and energetic users, i.e., the users with sufficient energy stored in their batteries. The authors proposed a medium access protocol named FarMac, which aims to maximize the energy transferred to the lethargic users and information received from the energetic users.
The authors in [
24] investigated the minimum length scheduling problem for a single cell continuous rate transmission model. To solve the problem, the authors used a penalty function defined as the difference between the actual transmission time and the minimum transmission time of a user at a particular scheduling decision time. Since the penalty function is purely characterized for a single user, the solutions are not applicable for concurrent transmissions. The authors in [
25] solved the sum throughput maximization problem for a single cell continuous rate model.
The continuous rate model is hard to realize practically for such low energy harvesting networks. To address this issue and to simplify the receiver structure, The authors in [
26,
27,
28] studied an on–off transmission scheme for a single cell network with the objective to derive the outage probability, minimize the schedule length, and maximize the sum throughput, respectively. In an on–off transmission scheme, the users either transmit information using the maximum allowed transmit power or remain silent if they do not not have enough power to achieve this power level throughout their transmission.
The researchers in [
3,
29,
30] further extended these formulations to investigate the minimum length scheduling problem and sum throughput maximization problem for a discrete rate model, where any finite set of discrete transmission rate values are supported. In [
3], the authors defined the minimum length scheduling (MLS) slot, which is defined as the slot corresponding to the minimum transmission completion time while starting anytime after the scheduling decision time.
The scheduling problem is solved based on the allocation of the MLS slots to the users. The MLS slot is purely defined for a single user without considering the concurrent transmissions and intercell interference. Since the MLS slot specifically focuses on the first time instant at which transmission is feasible for a specific user; it is not generalizable to multicell networks in which the feasibility of the transmission of a particular user depends on the other concurrently transmitting users. All of these studies consider a single cell network, which limits their wide deployment due to low energy harvesting rate, limited applications and impractical model for wide coverage, which does not consider the intercell interference.
The major challenge for multicell WPCN is to determine the group of users that will transmit simultaneously. For a single cell scenario, it is easy to come up with some certain characteristics that can help to determine the optimal solutions. However, for a multicell scenario, the per user characteristic based solutions, such as penalty or MLS slotbased solutions, are not applicable since the transmit powers, transmission rates, interference, and energy harvesting characteristics are now dependent on a set of concurrently transmitting users rather than the characteristics of a single user.
In [
3,
24], the authors proposed solutions relying on the characteristics of the user without considering the other users; however, in the multicell scenario, we need to consider all the simultaneously transmitting users. To the best of the authors’ knowledge, this is the first study to investigate the multicell fullduplex WPCN while considering the selfinterference and intercell interference for a simultaneous transmission of the users.
1.2. Contributions
The goal of this paper is to determine the optimal power control and scheduling for the constant transmission rate model with the objective of minimizing the schedule length for a realistic multicell fullduplex WPCN system. In fullduplex, all the users can harvest energy during the information transmission of other users. Therefore, the users with lower energy level can be scheduled later so that they harvest more energy and can transmit their information in shorter time. Moreover, in multicell WPCN, the users transmitting information simultaneously interfere with each other, which necessitates an intelligent grouping mechanism to minimize the interference among the concurrently transmitting users. The original contributions of this paper are listed below:
We propose an optimization framework for the minimization of the schedule length in a fullduplex multicell WPCN for the first time in the literature. The framework considers the concurrent transmissions of the users, and incorporates the nonlinear energy harvesting model for a fullduplex WPCN, in which the HAPs and users both operate in fullduplex mode.
We formulate a mixedinteger nonlinear optimization problem to minimize the schedule length. The formulated optimization problem is nonconvex and generally hard to solve for the global optimal solution. As a solution strategy, we perform decomposition of the optimization problem into the power control problem and scheduling problem.
For the power control problem, we propose an optimal polynomial time algorithm based on the evaluation of the Perron–Frobenius conditions.
For the scheduling problem, we propose a heuristic algorithm based on the maximization of the number of concurrently transmitting users within a transmission slot by maximizing the allowable interference on each user without violating their signaltonoiseratio (SNR) requirements.
1.3. Organization of the Paper
The rest of the paper is organized as follows.
Section 2 describes the system model and assumptions.
Section 3 presents the mathematical formulation of the minimum length scheduling problem.
Section 4 provides the problem formulation and solution for the power control problem. The scheduling algorithm is given in
Section 5.
Section 6 provides the performance evaluation of the proposed scheduling scheme. Finally, our concluding remarks are given in
Section 7.
3. Minimum Length Scheduling Problem Formulation
The joint optimization of the power control and scheduling for concurrently transmitting users with the objective of minimizing the schedule length with the traffic demand, energy causality, and user transmit power constraints is formulated and denoted by $\mathcal{MC}\mathcal{MLSP}$. The formulation of the constant transmission rate model is as follows:
$\mathcal{MC}\mathcal{MLSP}$:
minimizesubject tovariables The variables of the problem are ${P}_{n}$, the transmit power of user n; ${\tau}^{m}$, the length of transmission slot m; and ${z}_{n}^{m}$, a binary variable, which takes a value 1 if user n is allocated to slot m and 0 otherwise. ${x}_{n}^{m}$ denotes the transmission rate of user n in time slot m and r is the constant rate level.
The objective of the optimization problem is to minimize the schedule length as given by Equation (
4). Equation (
5) states that each user should be allocated to only one time slot. Equations (
6) represents that, at most, one user can be allocated to a slot for the same HAP. Equations (
7) and (
8) together represent the traffic demand of users. Equation (
9) represents the condition for SNR to achieve a constant rate. Equation (
10) gives the energy causality constraint: The total amount of available energy, including both the initial energy and the energy harvested until and during the transmission of a user, should be greater than or equal to the energy consumed during its transmission. Equation (
11) represents the maximum transmit power constraint for the users.
The optimization problem formulated in Equations (
4)–(
12) includes both continuous variables, which are
${P}_{n}$ and
${\tau}^{m}$, and integer (binary) variables, such as
${z}_{n}^{m}$. Furthermore, it is a nonlinear problem due to the multiplication of two variables in energy causality constraint given in Equation (
10). Hence, this is a Mixed Integer NonLinear Programming (MINLP) problem, which are, in general, difficult to solve for optimal solutions in polynomial time [
7].
Solution Framework
As the optimization problem is a Mixed Integer NonLinear Programming (MINLP) problem, finding the global optimal solution requires exponential time algorithms, which are intractable even for medium size networks [
38]. To overcome this intractability, we decompose the optimization problem into the optimal power control problem and scheduling problem as detailed below:
For a given set of concurrently transmitting users, we formulate the optimization problem to determine the minimum transmission slot length and the corresponding transmit power vector while considering the maximum transmit power constraint, traffic demand, and energy causality of the users. We first show that the power control problem is a feasibility problem, and then, by using the Perron–Frobenius condition, we find the optimal power vector if the problem is feasible.
Determining the power vector and transmission slot length for a given set of users reduces the problem to the optimization of the concurrently transmitting users within a transmission slot. For the scheduling problem, we exploit the affordable interference levels of all the users and group them based on these interference levels while considering the maximum transmit power and energy causality of the users.
4. Power Control Problem
In this section, we determine the optimal power control and time slot length for a given set of concurrently transmitting users from different cells with the objective of minimizing the time slot length. For simplification, we remove the superscript
m in
Section 3, which represents the time slot index. The optimal power control problem is formulated as follows:
minimizesubject tovariablesThe objective of this problem is to determine the optimal time slot length for a given set of concurrently transmitting users in
$\mathbf{S}$. The constraints in Equations (
14)–(
18) represent the traffic demand, energy causality, maximum transmit power, and constant transmission rate constraint, respectively. Note that
${B}_{n}$ refers to the energy available at the start of the transmission slot, and we used the same notation for simplicity.
This optimization problem can be reduced to a feasibility problem. If a feasible power vector exists, then the optimal time slot length is
$t=\underset{n\in \mathbf{S}}{max}{D}_{n}/r$. In the following, we present the feasibility of the concurrent transmission of the users in set
$\mathbf{S}$. For the feasibility of concurrent transmission, there should exist a set of transmit power levels
${P}_{n},\forall n\in \mathbf{S}$, such that the SNR constraint given in Equation (
18) is satisfied for each user in
$\mathbf{S}$ without violating the maximum transmit power and energy causality constraints given in Equations (
15) and (
16).
At any decision time ${t}_{dec}$, the existence of such a set of transmit power levels that satisfy the ${P}_{max}$ constraint can be determined by using Perron–Frobenius conditions described as follows: Let ${\mathbf{G}}_{\mathbf{S}}$ be a $\left\mathbf{S}\right\times \left\mathbf{S}\right$ relative channel gain matrix, in which ${a}_{ij}={g}_{ji}/{g}_{ii}$ represents the entry of the ith row and jth column for $i\ne j$ and ${a}_{ij}=0$ for $i=j$. Let ${\mathbf{D}}_{\mathbf{S}}$ represent a $\left\mathbf{S}\right\times \left\mathbf{S}\right$ diagonal matrix with the ith entry equal to ${\gamma}_{i}$.
Let ${\mathsf{\sigma}}_{\mathbf{S}}$ be a $\left\mathbf{S}\right\times 1$ normalized noise power vector with the ith entry equal to ${\gamma}_{i}W{N}_{0}/{g}_{ii}$. Then, the Perron–Frobenius condition states that there exists a power allocation vector that satisfies the ${P}_{max}$ constraint if and only if the largest real eigenvalue of ${\mathbf{D}}_{\mathbf{S}}{\mathbf{G}}_{\mathbf{S}}$ is less than 1 and every element of the componentwise minimum power vector ${(\mathbf{I}{\mathbf{D}}_{\mathbf{S}}{\mathbf{G}}_{\mathbf{S}})}^{1}{\mathsf{\sigma}}_{\mathbf{S}}$ is less than or equal to ${P}_{max}$, i.e., ${(\mathbf{I}{\mathbf{D}}_{\mathbf{S}}{\mathbf{G}}_{\mathbf{S}})}^{1}{\mathsf{\sigma}}_{\mathbf{S}}\u2aaf{\mathbf{P}}_{\mathbf{max}}$, where ${\mathbf{P}}_{\mathbf{max}}$ is a vector with all entries equal to ${P}_{max}$.
For a feasible solution, the users must also satisfy the energy causality constraint, therefore, if the transmit powers also follow the energy causality constraint, the solution is feasible at the time of the decision.
Lemma 1. If ${\mathbf{P}}^{\mathbf{min}}={(\mathbf{I}{\mathbf{D}}_{\mathbf{S}}{\mathbf{G}}_{\mathbf{S}})}^{1}{\mathsf{\sigma}}_{\mathbf{S}}$ is an infeasible solution to problem in Equations (13)–(19), then, there is no feasible solution. Proof. Let
${\mathbf{P}}^{\mathbf{min}}=\{{P}_{1}^{min},\cdots ,{P}_{\left\mathbf{S}\right}^{min}\}$ denote the minimum power vector for a set
$\mathbf{S}$. Any other power vector
${\mathbf{P}}^{\prime}$ satisfying the SNR constraint is componentwise greater than
${\mathbf{P}}^{\mathbf{min}}$, i.e.,
${\mathbf{P}}^{\prime}\succ {\mathbf{P}}^{\mathbf{min}}$. Then, if
${\mathbf{P}}^{\mathbf{min}}$ is infeasible, there exists either
${P}_{k}^{min}>{P}_{max}$ for any particular user
$k\in \mathbf{S}$ or required energy
${E}_{j}$ is greater than the available energy, i.e.,
${E}_{j}={P}_{j}^{min}{D}_{j}/r>{E}_{j}^{available}$ for any particular use
j. Then, if
${\mathbf{P}}^{\mathbf{min}}$ is infeasible, there is no feasible solution for problem in Equations (
13)–(
19), since either
${P}_{k}^{{}^{\prime}}$ will be greater than
${P}_{max}$ or
${E}_{j}^{{}^{\prime}}$ will be still greater than
${E}_{j}^{available}$, making
${\mathbf{P}}^{\prime}$ also infeasible. □
The following theorem states that a feasible
${\mathbf{P}}^{\mathbf{min}}$ vector is an optimal solution to the optimization problem in Equations (
13)–(
19).
Theorem 1. Let ${\mathbf{P}}^{\mathbf{min}}={(\mathbf{I}{\mathbf{D}}_{\mathbf{S}}{\mathbf{G}}_{\mathbf{S}})}^{1}{\mathsf{\sigma}}_{\mathbf{S}}$ denote the minimum feasible power vector obtained from Perron–Frobenius conditions. Then, if ${\mathbf{P}}^{\mathbf{min}}$ is feasible, i.e., ${\mathbf{P}}^{\mathbf{min}}\u2aaf{\mathbf{P}}_{\mathbf{max}}$, and it satisfies the energy causality constraint of each user, then, ${\mathbf{P}}^{\mathbf{min}}$ is an optimal solution to optimization problem in Equations (13)–(19). Proof. Any feasible power vector gives the same solution to problem in Equations (
13)–(
19), i.e.,
$t=\underset{n\in \mathbf{S}}{max}{D}_{n}/r$. Thus, if
${\mathbf{P}}^{\mathbf{min}}$ is feasible, it is an optimal solution. □
Since the computational complexity of evaluating Perron–Frobenius conditions for $\left\mathbf{S}\right$ users is $\mathcal{O}\left(\right\mathbf{S}{}^{3})$, the computational complexity of solving the power control problem for the constant transmission rate model is $\mathcal{O}\left(\right\mathbf{S}{}^{3})$.
5. Scheduling
In
Section 4, we solved the power control problem optimally for a known set of users transmitting information simultaneously. For all the users transmitting concurrently, the information transmission may be too long due to the extensive interference caused to each other. Therefore, the schedule length can further decrease by intelligently grouping the users into a set of subsets for concurrent transmission. However, determining the optimal subsets of the users transmitting concurrently and their schedule requires an exponential computational effort. Let
$\nu =\{{\nu}_{j}:1\le j\le \nu \left\right\}$ denote the set of all possible partitions of the set of users
$\mathcal{N}=\{1,\cdots ,N\}$, where a partition of set
$\mathcal{N}$ is defined as a set of nonempty mutually exhaustive and mutually exclusive subsets of set
$\mathcal{N}$, e.g., for the set of 10 users,
$\left\{\right\{1,5,8\},\{4,7,9,10\},\{2,3,6\left\}\right\}$ is one possible partition of set
$\mathcal{N}$.
The total number of such partitions for a set of N users is $\left\nu \right={\sum}_{j=0}^{N1}\left(\genfrac{}{}{0pt}{}{N1}{j}\right){B}_{j}$, where ${B}_{j}$ is a Bell number with ${B}_{0}=1$ and ${B}_{j}={\sum}_{z=0}^{j1}\left(\genfrac{}{}{0pt}{}{j1}{z}\right){B}_{z}$. For a given partition of $\mathcal{N}$, each subset of users transmits information concurrently within a time slot. Therefore, for a specific partition ${\nu}_{j}$ with ${\zeta}_{j}$ number of subsets, the total number of possible transmission sequences are ${\zeta}_{j}!$, i.e., for the above mentioned example ${\zeta}_{j}=3$ resulting in six possible transmission sequences.
Then, total number of possible transmission sequences for a set of users $\mathcal{N}$ is ${\sum}_{j=1}^{\left\nu \right}{\zeta}_{j}!$. This exponential computational complexity of the scheduling problem makes the problem intractable even for medium size networks. Hence, scalable and fast solutions are required. In the following, we present the scheduling problems.
In this section, we present a heuristic scheduling algorithm, which aims at maximizing the number of users within each concurrently transmitting set by maximizing the interference on each user without violating the energy causality, SNR requirements, and maximum transmit power constraint.
Let
${I}_{n}^{max}$ denote the maximum allowed interference level from other users that a particular user
n can afford, i.e., any interference level greater than
${I}_{n}^{max}$ results in an infeasible transmission scenario for user
n. This maximum allowed interference can be determined by using Equation (
9) as follows:
It is important to note that the maximum allowed interference level of any user is an increasing function of the transmit power of that user. Hence, increasing the transmit power allows the user to accommodate more interference and possibly the allocation of more simultaneously transmitting users in a slot.
Furthermore, for a user
n, the earliest scheduling time
$t{s}_{n}$ is defined as the first time instant when it can afford transmission at constant rate individually and is given by
$t{s}_{n}=max(0,{P}_{n}^{min}{D}_{n}/{C}_{n}r{B}_{n}/{C}_{n}{D}_{n}/r)$, where
${P}_{n}^{min}={\gamma}_{n}({N}_{0}W+\beta {P}_{h})/{g}_{nn}$, is the minimum power required to achieve the SNR
${\gamma}_{n}$ without any interference, which is derived from Equation (
18) for the case when the user transmits individually. In the following analysis, we assume that
${P}_{n}^{min}\le {P}_{max}$ exists, otherwise, the problem is infeasible. The addition of any user in set
$\mathbf{S}$ results in a delay in the earliest time instant
$t{s}_{n}$ due to increased interference.
The scheduling algorithm should determine the subsets of users such that the maximum number of users transmit their information simultaneously with the interference level close to the ${I}_{n}^{max}$ for each user n. Therefore, at any decision time ${t}_{dec}$, first, we determine a set of users that can afford the constant rate at ${t}_{dec}$, i.e., the users for which $t{s}_{n}\le {t}_{dec}$. Then, for this set of users, we evaluate the maximum power that they can afford, i.e., ${P}_{n}=max({P}_{max},{E}_{n}\left({t}_{dec}\right)/({D}_{n}/r))$ and the maximum level of interference they can afford from other users in a concurrent transmission, i.e., ${I}_{n}^{max}=\frac{1}{W}({P}_{n}{g}_{nn}/{\gamma}_{n}{N}_{0}W\beta {P}_{h})$.
Then, CRSA evaluates the pairwise interference of the feasible users and groups the users from different cells such that the number of concurrently transmitting users within each time slot is maximized without violating the maximum allowed interference level.
The Constant Rate Scheduling Algorithm (CRSA) is given in Algorithm 1 and described in detail next. Let
$\mathbf{S}=\{{\mathbf{S}}^{\mathbf{1}},\cdots ,{\mathbf{S}}^{\mathbf{M}}\}$ be a set of subsets of users concurrently transmitting in time slots
${\mathbf{t}}^{*}=\{{t}_{1}^{*},\cdots ,{t}_{M}^{*}\}$ by using powers
${\mathbf{P}}^{*}=\{{\mathbf{P}}_{\mathbf{1}}^{*},\cdots ,{\mathbf{P}}_{\mathbf{M}}\}$. The
mth entry of
$\mathbf{S}$ denoted by
${\mathbf{S}}^{\mathbf{m}}$ contains a subset of users that transmit simultaneously in the
mth time slot with duration
${t}_{m}^{*}=\underset{s\in {\mathbf{S}}^{\mathbf{m}}}{max}{D}_{s}/r$ and corresponding power vector
${\mathbf{P}}_{\mathbf{m}}^{*}$.
Algorithm 1 Constant Rate Scheduling Algorithm (CRSA) 
Input: A set of users $\mathcal{N}$ 
Output: Simultaneously transmitting user set in each slot $\mathbf{S}$, transmission time for each 
slot ${\mathbf{t}}^{*}$, transmit power vector ${\mathbf{P}}^{*}$ 
1:
$m\leftarrow 1$, ${t}_{dec}\leftarrow 0$, $\mathbf{P}\leftarrow \mathbf{0}$, ${\mathbf{I}}^{\mathbf{max}}\leftarrow \mathbf{0}$, $\mathbf{I}\leftarrow \mathbf{0}$ 
2:
determine $t{s}_{n}$, for all $n\in \mathcal{N}$ 
3:
while
$\mathcal{N}\ne \varnothing $ 
4:
$\mathcal{F}\leftarrow \varnothing ,{\mathbf{S}}^{\mathbf{m}}\leftarrow \varnothing $ 
5:
if
${t}_{dec}<\underset{n\in \mathcal{N}}{min}t{s}_{n}$ 
6:
${t}_{dec}=\underset{n\in \mathcal{N}}{min}t{s}_{n}$ 
7:
end if

8:
for
$n\in \mathcal{N}$ 
9:
if
$t{s}_{n}\le {t}_{dec}$ 
10:
$\mathcal{F}\leftarrow \mathcal{F}+n$ 
11:
${E}_{n}\left({t}_{dec}\right)={B}_{n}+{C}_{n}({t}_{dec}+{D}_{n}/r)$ 
12:
${P}_{n}\leftarrow min({P}_{max},{E}_{n}\left({t}_{dec}\right)/({D}_{n}/r))$ 
13:
${I}_{n}^{max}\leftarrow \frac{1}{W}\left[\frac{{P}_{n}{g}_{nn}}{{\gamma}_{n}}{N}_{0}W\beta {P}_{h}\right]$2:

14: end if 
15: end for 
16:
evaluate interference ${I}_{ns}$ of user n to s, for all $n,s\in \mathcal{F}$ 
17:
$u\leftarrow arg\underset{j\in \mathcal{F}}{max}{I}_{j}^{max}$ 
18:
${I}_{s}\leftarrow 0$, for all $s\in \mathcal{F}$ 
19:
${\mathbf{S}}^{\mathbf{m}}\leftarrow {\mathbf{S}}^{\mathbf{m}}+\left\{u\right\}$ 
20:
for $k=1:K$ 
21:
if $u\notin $${L}_{k}$ 
22:
${\mathcal{F}}^{k}\leftarrow {L}_{k}\cap \mathcal{F}$ 
23:
sort ${\mathcal{F}}^{k}$ in descending order of ${I}_{n}^{max}$ 
24:
for $v\in {\mathcal{F}}^{k}$

25:
if
${\sum}_{j\in {\mathbf{S}}^{\mathbf{m}}}{I}_{jv}\le {I}_{v}^{max}$ 
26:
if
${I}_{s}^{max}{I}_{s}\ge {I}_{vs},\phantom{\rule{5.69046pt}{0ex}}\forall s\in {\mathbf{S}}^{\mathbf{m}}$ 
27:
${I}_{v}\leftarrow {\sum}_{j\in {\mathbf{S}}^{\mathbf{m}}}{I}_{jv}$ 
28:
${I}_{s}={I}_{s}+{I}_{vs},\phantom{\rule{5.69046pt}{0ex}}\forall s\in {\mathbf{S}}^{\mathbf{m}}$ 
29:
${\mathbf{S}}^{\mathbf{m}}\leftarrow {\mathbf{S}}^{\mathbf{m}}+{\mathcal{F}}^{k}\left(v\right)$ 
30:
break,

31: end if 
32: else 
33:
break,

34: end if 
35: end for 
36: end if 
37: end for 
38:
${t}_{m}^{*}\leftarrow \underset{s\in {\mathbf{S}}^{\mathbf{m}}}{max}{D}_{s}/r,$ 
39: $\mathcal{N}\leftarrow \mathcal{N}{\mathbf{S}}^{\mathbf{m}}$ 
40: ${t}_{dec}={t}_{dec}+{t}_{m}^{*}$ 
41: $m\leftarrow m+1$ 
42: end while 
Let ${\mathbf{I}}^{\mathbf{max}}$ be a $N\times 1$ maximum affordable interference vector, in which jth entry represents the maximum allowed interference level from other users on user j. Let $\mathbf{I}$ be a $N\times K$ pairwise interference matrix, in which ${I}_{ij}$ is the entry of ith row and jth column representing the interference caused by user i on the HAP j.
The input of CRSA is a set of users denoted by $\mathcal{N}$, whereas its outputs include a set $\mathbf{S}$, and corresponding time and power allocation vectors denoted by ${\mathbf{t}}^{*}$ and ${\mathbf{P}}^{*}$, respectively. The algorithm starts by initializing the transmission slot number m to 1, decision time ${t}_{dec}$ to 0, power vector $\mathbf{P}$, maximum affordable interference ${\mathbf{I}}^{\mathbf{max}}$, and interference matrix $\mathbf{I}$ to $\mathbf{0}$ (Line 1). Then, it determines the earliest starting time $t{s}_{n}$ for every user $n,n\in \mathcal{N}$ (Line 2).
In each iteration, the algorithm determines the set ${\mathbf{S}}^{\mathbf{m}}$ as well as their powers. The $CRSA$ first updates the decision time by setting it equal to the minimum of earliest starting times of the users, since no user has enough energy for transmission earlier than (Lines 5–7). Then, it checks the feasibility of each unallocated user based on their earliest scheduling time (Line 9). For the set of feasible users at time ${t}_{dec}$, denoted by $\mathcal{F}$, $CRSA$ evaluates the amount of energy each user needs to complete its transmission, the maximum transmit power, and the maximum interference each user can afford (Lines 11–13).
Once the set of feasible users $\mathcal{F}$ and their parameters are determined, the algorithm groups the users in set $\mathcal{F}$ with similar interference characteristics for concurrent transmission. For this purpose, the algorithm evaluates the pairwise interference that each user in $\mathcal{F}$ causes to others while transmitting simultaneously (Line 16). $CRSA$ picks the user that can afford the maximum interference from other users, since this allows the addition of more users in the set of simultaneously transmitting users (Line 17).
Then, it initializes the interference that is created on a certain user by concurrent transmissions ${I}_{s}$ to 0 and adds the user that can afford maximum interference to the set ${\mathbf{S}}^{\mathbf{m}}$ for transmission in the current time slot (Lines 18–19). The algorithm attempts to group the most suitable user from each cell iteratively (Lines 20–37). For this, $CRSA$ visits each cell one by one and terminates the search when either a feasible user is found or no user can be grouped from the current cell.
For each cell, $CRSA$ first sorts all the feasible users within the cell based on their ${I}_{n}^{max}$ values (Line 23). Then, it checks the compatibility for each user for possible concurrent transmission until it finds a suitable user from current cell. For a user v to be compatible for concurrent transmission in the set ${S}^{m}$, the total interference caused by all the users in set ${\mathbf{S}}^{\mathbf{m}}$ must be less than ${I}_{v}^{max}$, i.e., ${\sum}_{j\in {\mathbf{S}}^{\mathbf{m}}}{I}_{jv}\le {I}_{v}^{max}$ (Line 25), and the interference caused by user v must be less than the affordable interference margin of the existing users in set ${\mathbf{S}}^{\mathbf{m}}$, i.e., ${I}_{s}^{max}{I}_{s}\ge {I}_{vs},\phantom{\rule{5.69046pt}{0ex}}\forall s\in {\mathbf{S}}^{\mathbf{m}}$ (Line 26).
If the first condition is not valid for the user with maximum ${I}_{n}^{max}$ value in the current cell, this implies that no other user from current cell can afford this much interference, and hence the algorithm moves to the next cell without picking any user from this cell (Line 33). If the first condition is true but the user is causing excessive interference to the users in set ${S}^{m}$, the algorithm continues searching among the remaining feasible users within current cell for simultaneous transmission (Lines 24–32).
If both of these conditions are true, the algorithm updates the interference levels of set ${S}^{m}$, adds this user to set ${S}^{m}$ and moves to the next cell (Lines 27–29). Once all the cells are visited, $CRSA$ evaluates the transmission time slot length for ${S}^{m}$, updates the set of unallocated users, the decision time, and the slot number (Lines 38–41). The algorithm terminates when all the users are allocated (Line 3).
Note that in halfduplex, the transmission frame is divided into two nonoverlapping phases named the energy harvesting phase, in which all users harvest energy, and the information transmission phase, in which the users transmit their information by using the harvested energy. Due to fixed and equal energy harvesting duration for all users, the scheduling is not that important, i.e., the order of transmissions in the information transmission phase in not relevant since the users are not harvesting energy during the information transmission time of other users.
On the other hand, in fullduplex, since the users can harvest energy during the transmission of previously allocated users, this allows us to reduce the schedule length by intelligently scheduling the users. If we eliminate the impact of selfinterference, the proposed algorithm can be used for a half duplex system with minor modifications as follows. The users can be grouped by exploiting the maximum affordable interference from other users as performed in CRSA algorithm, and the energy harvesting duration ${\tau}_{0}^{m}$ can be determined for each group by using the halfduplex assumption in which no energy is harvested during the information transmission phase. Then, the overall energy harvesting duration will be $max{\tau}_{0}^{m}$ for $m\in \{1,2,\cdots ,M\}$.
6. Simulation Results
The goal of this section is to evaluate the performance of the proposed scheduling algorithm in comparison to the multicell transmission with no scheduling and a previously proposed penaltybased scheduling algorithm for a single cell network. The multicell transmission with no scheduling, denoted by MCNS, randomly selects a single user from each cell for the concurrent transmission by using the constant rate within a transmission slot. The previously proposed penaltybased scheduling algorithm in [
24], denoted by MPA, aims to minimize the schedule length for a single cell fullduplex WPCN by scheduling the users in increasing order of their penalties.
The penalty function of user i is defined as the difference between the actual transmission time and the minimum possible transmission time at any decision time, where the minimum possible transmission time of user i is the time corresponding to maximum transmit power, i.e., ${P}_{i}={P}_{max}$. MPA uses the continuous rate model, in which the Shannon channel capacity formula for an additive white Gaussian noise (AWGN) channel is used to calculate the transmission rate of the users as a function of the SNR. For our simulations, MPA picks the user with the minimum penalty among all the users within all cells and allocates it to the current time slot without allowing concurrent transmissions.
Simulation results are obtained by averaging 1000 independent random network realizations. The cells are uniformly distributed within a circle with radius 100 m, and the users are uniformly distributed within the coverage of each cell with radius 10 m. The attenuation of the links considering largescale statistics are determined by using the path loss model given by
where
$PL\left(d\right)$ is the path loss at distance
d,
${d}_{0}$ is the reference distance,
$\alpha $ is the path loss exponent, and
Z is a zeromean Gaussian random variable with standard deviation
$\mathsf{\sigma}$. The smallscale fading is modeled using Rayleigh fading with the scale parameter
$\Omega $ set to the mean power level obtained from the largescale path loss model. The parameters used in the simulations are
${D}_{n}=100$ bits for
$n\in \mathcal{N}$ and the constant rate
$r=50$ Kbps. The constant rate and corresponding SNR are linked to each other by the Shannon capacity formulation;
$W=1$ MHz;
${d}_{0}=1$ m;
$PL\left({d}_{0}\right)=30$ dB;
$\alpha =2.7$,
$\mathsf{\sigma}=4$ [
8,
24]. The self interference coefficient
$\beta $ is
$70$ dBm. The initial battery levels of the users are
${10}^{9}$ J,
${P}_{max}=1$ mW and
${P}_{h}=1$ W for the simulations, unless otherwise stated [
24].
Figure 2 shows the schedule length of the algorithms for different HAP transmit powers in a network of 10 cells and 50 users. The schedule length decreases as the HAP transmit power increases, since higher HAP power allows the users to harvest more energy, which allows users to reach the constant rate earlier and, hence, a lower waiting time. For lower values of HAP power, the schedule length of CRSA is 50% less than MCNS, since CRSA considers the concurrent transmission of users while considering their energy harvesting rates and interference levels.
On the other hand, MCNS randomly selects users for concurrent transmission without considering the energy harvesting rates and interference characteristics, which may lead to grouping the users with very low energy harvesting rates or severe interference levels, resulting in longer slot lengths. The MPA has a higher schedule length than CRSA, although the MPA uses the continuous rate model, which has a natural advantage over the constant transmission rate model; however, CRSA still performs better. Since CRSA considers the concurrent transmissions while MPA only schedules a single user in each time slot, i.e., no concurrent transmissions. It is important to note that CRSA gives a lower schedule length in comparison to MPA due to the proper scheduling of the users for concurrent transmission.
Figure 3 shows the performance of the algorithms for different number of cells in a network with five users in each cell. The schedule length increases as the number of cells increases in the network, since a higher number of cells results in a higher traffic load, which requires more transmission combinations due to the different interference and energy harvesting rates of the users. For a single cell network, MPA and CRSA almost perform similar. This is due to the fact that there are no concurrent transmissions in a single cell network.
The schedule length of CRSA is half of MCNS and 30% lower than MPA for larger networks due to the intelligent grouping of the users for concurrent transmission. For the MCNS, the steep increase in the schedule length is due to the fact that MCNS randomly selects one user from each cell for simultaneous transmission, which may cause severe interference to other users. For MCNS and MPA algorithms, the addition of a new cell results in an almost constant increase. This is due to the fact that the addition of a new cell increases the number of users in the network and, hence, interference for the concurrent transmission.
For CRSA, the addition of a new cell results in less increase in the schedule length compared to other algorithms. This is because the CRSA attempts to allocate more users within a transmission slot; therefore, the user from a new cell is mostly accommodated within the same transmission slot without any increase in the transmission slot length.
Figure 4 illustrates the impact of network size on the schedule length for the algorithms. The schedule length increases as the number of users increases within each cell, since this increase requires more transmission slots to complete the transmission of all the users. The schedule length of MCNS increases almost linearly as the number of users increases in a cell. On the other hand, the effect of each new user on the CRSA algorithm diminishes, since a higher number of users within each cell increases the probability of finding a more suitable user for the concurrent transmission, resulting in smaller schedule length.
Figure 5 illustrates the schedule length for different values of selfinterference coefficient
$\beta $. For lower values of
$\beta $, i.e.,
$90$ to
$70$ dBm, the schedule length is constant due to the low impact of selfinterference. Since the selfinterference is very small as compared to noise value; therefore, the SNR values do not change too much to affect the required energy and transmission time. However, as the
$\beta $ increases, the schedule length increases drastically due to the dominating effect of selfinterference as compared to the noise power. Due to this reason, the SNR drops quickly resulting in a lower probability of concurrent transmissions. It is important to note that, due to intelligent scheduling of the users, the schedule length of CRSA is almost half of the MCNS for higher values of
$\beta $.