Full-Duplex Multi-Hop Wireless Networks Optimization with Successive Interference Cancellation

In wireless network communication, in-band full-duplex technique is a useful and important technique that can enlarge the whole throughput of the wireless networks. However, its use needs harsh environment. The successive interference cancellation can make several transmitters’ data be received simultaneously by the receiver, and can make the in-band full-duplex technique be used easily in reality. In this paper, we try to propose an optimal algorithm for increasing the throughput of full-duplex multi-hop wireless networks with successive interference cancellation, which we call the full-duplex successive interference cancellation (FD-SIC) wireless networks. We first describe the mathematical model for the FD-SIC wireless networks and show it is NP-hard in general. Then, we propose a heuristic algorithm, namely the use-up-link-capacity iterative (UULC-iterative) algorithm, for each node’s routing and transmitting scheme. Simulation results show that the proposed algorithm for FD-SIC wireless networks can achieve better throughput compared with SIC-only networks and the interference avoidance networks.


Introduction
In traditional study, wireless network communication is considered as working in half-duplex (HD) model or out-of-band full-duplex model [1]. Researchers believe the wireless node cannot transmit and receive simultaneously because of the existence of strong self-interference [2]. Based on this assumption, the traditional research work on wireless network communication is often modeled into HD model [3][4][5]. Fortunately, recent advances in self-interference cancellation have made the in-band full-duplex (FD) model based wireless communication become reality. The power associated with residual self-interference can be effectively canceled for feasible in-band full-duplex transmission with combinations of various advanced analog, passive, and digital self-interference cancellation schemes [6]. In-band full-duplex operation has emerged as an attractive solution for increasing the throughput of wireless communication networks [7]. The first paper about FD wireless communication can be found in [8], where the authors propose a novel technique named antenna cancellation to fulfill self-interference cancellation. After that, many researchers have done their work on this field [9,10]. For example, in [11], according to antenna theory, the authors proposed an improved model of the antenna cancellation scheme for decoding self interference. In [12], the authors used digital cancellation to achieve Self-Interference Cancellation. In [13], simulation results show the self-interference cancellation can remove most of the self interference such that the residual interference may be regarded as mere additional noise. In [14,15], the author comprehensively analyzed the We can certainly solve this problem by proposing an algorithm, such as that in [16]. However, if the network topology is in a dense environment with many wireless nodes, then it might be found that, in most cases, node a's transmission to node b will interference with node b's transmission to node c. In other words, in most cases, FD fashion cannot be fulfilled under this environment. Fortunately, nowadays, new techniques for interference management (IM) [17] give us new opportunities for solving this problem. IM is not a single technique; many techniques can fulfill the interference management, such as interference alignment (IA) [18], interference coordination [19], etc. The key idea of IM is trying to let the receivers receive several transmissions successfully by some signal processing methods. For example, if a receiver has the ability of successive interference cancellation (SIC) [20], then when it receives a combined data from several transmitters, it will first try to decode the strongest signal in the combined data. The requirement for decoding the strongest signal successfully is that the signal-to-interference noise ratio (SINR) is larger than a threshold. After receiving the strongest signal, the receiver will remove it from the initial combined data and then get new combined data. The processing can be repeated until all signals are decoded or one combined data cannot be decoded.
The SIC technique is a valuable technique in IM and has aroused many researchers' interests. For example, in [21], the authors proposed a cross-layer optimization framework for multi-hop wireless networks with SIC, and showed that, compared with the scheme without SIC, the network throughput can be increased about 47%. In [22], the authors proposed a heuristic algorithm for routing in multi-hop wireless networks, and getting a bandwidth-aware high-throughput protocol with SIC. Simulation results show the proposed algorithm has about 29-62% higher throughput than the compared algorithm. In [23], the authors used the SIC technique in a special wireless network: the device-to-device-enabled (D2D-enabled) cellular network. They presented an analytical framework for studying the performance of SIC in this special network, and derived some general expressions for the successful transmission probabilities in SIC. In [24], the authors used the SIC technique in multiple-input multiple-output (MIMO) relay systems to eliminate loop interference. Simulation results show that the proposed method significantly improves the performance of FD-MIMO relay systems. We proposed an algorithm for multi-hop wireless network in [25] and an optimal base station placement algorithm with SIC in [26], and tried to use SIC technique in a special wireless network environment: the mine locomotive wireless network [27]. We found the SIC technique can make the FD fashioned wireless network more powerful. Thus, in this paper, we design an algorithm for full-duplex multi-hop wireless networks with successive interference cancellation. In the following, we call this network scheme as the FD-SIC multi-hop networks.
The following is the structure of the paper. In Section 2, we give the mathematical model for FD-SIC multi-hop wireless networks. We first give the physical layer and link layer model, then give the network layer and finally deduce the problem formulation. The problem formulation is a NILP problem. In Section 3, we propose a heuristic algorithm for solving the problem deduced in Section 2. We first give the main idea of the proposed algorithm, and then discuss some key steps in the algorithm carefully. Section 4 shows the simulation results for the proposed algorithm. We first give results for a special network with 10 nodes and 2 base stations, and then give more results for more networks. We compare results with the SIC only scheme and with interference avoidance scheme, and show that the FD-SIC scheme can achieve better throughput. In Section 5, we conclude the whole paper.

The Mathematical Model for FD-SIC Multi-Hop Wireless Networks
We first describe the throughput maximization problem for FD-SIC multi-hop wireless networks and give the mathematical model. Consider a FD-SIC multi-hop wireless network in a two-dimensional area with n nodes s 1 , s 2 , · · · , s n and m base stations b 1 , b 2 , · · · , b m (see Figure 2). Nodes transmit data to the base stations via single-or multi-hop transmissions, and during the whole scheduling time, each node communicates with only one base station. Suppose that all nodes have the same transmission power P and bandwidth W. Denote N as the set of n nodes and M as the set of m base stations.

Physical Layer and Link Layer Model
In the physical layer, we use the FD-SIC technique. In the link layer, we consider a time schedule scheme. Suppose the whole schedule time T is divided into h time slots equally, and denote t k (k = 1, · · · , h) as these time slots. Define a binary scheduling variable x k s i →s j for link s i → s j in time slot t k , and a binary scheduling variable x k s i →b j for link s i → b j in time slot t k . We have, x k s i →s j = 1 : if node s i transmits data to node s j in time slot t k ; 0 : otherwise.
x k s i →b j = 1 : if node s i transmits data to base station b j in time slot t k ; 0 : otherwise.
In a time slot t k , a node s i can transmit to at most one node (or one base station), i.e., If we use HD model, then node s i cannot transmit or receive simultaneously: In FD model, the equation will become, where T s i is the set of all neighbors in the transmission range R T of node s i in Equations (1)-(3). When using SIC, the receiver can receive multiple signals simultaneously and decode them sequentially. Based on the SIC decoding process, we can find that, when node s j (or base station b j ) tries to decode the signal received from node s i in a time slot t k , all stronger signals have already been decoded and removed.Thus, we will have an improved SINR, which, to ensure node s j (or base station b j ) can decode signal from node s i , should be no less than β. Denote the channel model g = d −3 , where d is the distance between two nodes. Denote N 0 as the noise power and N SI as the node's residual self-interference after using the FD technique. Note that all nodes use the same transmission power P and thus the residual self-interference N SI is a constant. Then, we have, SI NR k where ∑ s m ∈T l x k s l →s m = 1 if s l is transmitting data to some node in time slot t k and ∑ s m ∈T l x k s l →s m = 0 if s l is not transmitting in time slot t k . Here, we suppose x s i →s j = 1 (or x s i →b j = 1), because if x s i →s j = 0 (or x s i →b j = 0), it means s i does not transmit to s j (or b j ) at that time and we do not need to consider this situation.

Network Layer Model and Problem Formulation
Now, we give the network layer model. Suppose each node s i has a minimum data rate requirement r i to one base station. We want to maximize a common scaling factor K [28] such that each s i can transmit its data to the base station with a data rate Kr i . Denote r s i →s j , s i ∈ N, s j ∈ T s i , as the average data rate from node s i to node s j . Denote r s i →b j , s i ∈ N, s i ∈ T b j , as the average data rate from node s i to base station b j . Then, we have the following relationship for flow rates at a node s i , Since, for each link, the flow rate cannot exceed the achievable average link rate, we have, where C is the data rate by a successful transmission, which can be calculated by Wlog 2 (1 + β).
Here, we consider a fixed modulation and coding scheme [29], which achieves a fixed transmission rate C if successful. The adaptive modulation and coding scheme, which achieves a transmission rate as a function of SINR, is also considered by many other papers. However, it requires accurate estimation on channel condition. If there are errors on channel condition estimation and a high transmission rate is used, such a transmission may not be decoded due to small SINR and thus the achieved rate is 0. Due to this risk, many systems use a fixed modulation and coding scheme and we also consider this scheme in the paper. In this paper, we consider the fixed modulation and coding scheme. Based on these discussions, the problem can be formulated as follows.
In Equation (9), K, x k s i →s j , x k s i →b j , and r s i →b j are variables. This problem model is a mixed integer linear programming (MILP) problem, which is NP-hard in general [30] and cannot be solved directly.

Optimization for FD-SIC Multi-Hop Wireless Networks
In Section 2, we give the problem formulation and show it is a MILP problem, which is NP-hard in general. In other words, it is very challenging to find an optimal solution for FD-SIC multi-hop wireless networks. In this section, we propose a heuristic algorithm for solving the problem. Notice that the main step of the heuristic algorithm is based on the iterative idea, and, in each iterative step, we always want to try use up all link capacity, so we call our algorithm as the use-up-link-capacity iterative (UULC-iterative) algorithm.

Main Idea
It is easy to find that in Equation (9), binary scheduling variables x k s i →s j and x k s i →b j can make the problem non-convex and thus NP-hard in general. If we can find a way to determine these values, then the remaining problem is only with continuous variables r s i →s j ,r s i →b j and K, i.e., This formulation is a linear programming (LP) problem, and can be solved in polynomial-time. To do that, we need first establish a way to determine the value of each x k s i →s j and x k Then, based on this idea, we can propose a heuristic algorithm based on iterative framework for solving the whole problem. The following four steps are the main idea for determining these values.
I Divide the whole area into several regions. Each region includes one base station and many sensor nodes. Each sensor node will only communicate with the base station in the same region, and base stations can communicate with each other. II. For each node, establish a first routing path to the base station in its region and assign time slots for each link on this path, such that Equations (1), (3), (4) and (5)  IV. Try to improve the current scheduling solution (x k s i →s j and x k s i →b j values), thus K may be increased.
If we can find a way to increase K, then go back to Step III, else our algorithm terminates.
There are three challenges in the above algorithm: (1) how to select a base station for each node; (2) how to establish an initial path for each node; and (3) how to improve the current scheduling solution. In the following, we give the detail steps for each challenge in our algorithm.

Base Station Selection
Step 1 is to select a base station for each node. To do this, we can divide the whole network topology into several regions. Each region has one base station, and nodes in this region will send their data to this base station. We use the Voronoi graphic algorithm [31] to do this division (see Figure 3), and have the following definitions. Obviously, to a node s i , if s i is in H(b 1 , b 2 ), then the distance from s i to b 1 and b 2 should meet d s i →b 1 < d s i →b 2 .
is an convex polygon area with no more than (n − 1) edges. We call V(b i ) as the Varonoi polygon of b i .
For example (see Figure 3b), the Varonoi polygon of b 1 is a quadrangle, and n = 6. After dividing the network topology by the Varonoi graphic algorithm, we get some regions. When a node s i ∈ V(b j ), it should send its data to b j .

Establish the First Routing Paths
After dividing the network topology into several regions, we establish the first routing paths for all nodes in each region, and calculate the maximum K value on the current condition (Steps 2 and 3). Before that, we first identify the minimum hop distance to the base station for each node. The minimum hop distance is a usual way to calculate distances between nodes in networks. In Figure 4, we give the flow-process diagram on how to identify the minimum hop distance for all nodes. We can use the minimum hop distance for establishing the first routing paths. Suppose the minimum hop distance of node s i is d, then we choose the neighboring node of s i with the minimum hop distance, e.g. s j , as the next hop node. Then, a link s i → s j is created. In this way, we can build the first routing paths for all nodes. Then, we assign time slots for all links. The main points for assigning time slots are as follows, and the detail steps can be found in Figure 5.

•
When a link s i → s j is created, we first try to assign a time slot already used by some other link. If this time slot cannot be used (i.e., the assignment makes some existing links or the new link with SI NR < β), then we should consider another existing time slot. If no existing time slots can be used, we assign a new time slot. Otherwise, an available time slot is found.

•
If we find multiple time slots for a new link, we use the minimum improved SINR (see Equations (4) and (5)) among all links in a time slot as a metric and choose the time slot that can maximize the minimum improved SINR as the most appropriate time slot. Once the first routing paths for each node are established and all time slots for links are assigned, we can calculate the maximum K, r s i →s j and r s i →b j values by Equation (10).

Improve the Current Scheduling Solution
The last step is to improve the current scheduling solution. To do that, we need to identify bottleneck links and bottleneck nodes. We first give some definitions.

Definition 3. To a link s i → s j (or s
) − r s i →b j ) as the residual capacity on this link.
The residual capacity on a link can be used to indicate the link's using efficiency. Since 1 h ∑ h k=1 (C · x k s i →s j ) is the maximum data rate for the link s i → s j , r s i →s j is the real average data rate for the link s i → s j . Thus, the smaller Z s i →s j is, the higher the using efficiency is.

Definition 4.
To a link s i → s j (or s i → b j ), if there is no residual capacity on this link, i.e., Z s i →s j = 0 (or Z s i →b j = 0), then we call this link the bottleneck link.
We can have similar definitions for the residual capacity on a routing path, for the residual capacity on a node, and for the bottleneck node.

Definition 5.
To one routing path from a node s i to its base station b j , each link on the path has its residual capacity, and we choose the minimum residual capacity on these links as the residual capacity on the routing path.

Definition 6.
To a node s i , which may have one or several routing paths to its base station, we choose the maximum residual capacity on these routing paths as the residual capacity on the node s i , and denote it as Z s i .

Definition 7.
To a node s i , if its residual capacity is zero, i.e., Z s i = 0, then we call this node a bottleneck node.
The residual capacity on a node can be determined by the maximum flow algorithm [30]. It is obvious that, if we can calculate each node's residual capacity and find the bottleneck node, we can further increase the throughput on this node by assigning an additional time slot to one of its existing links or adding a new out-going link. Thus, K value may also be increased. After we increase the bottleneck node's throughput, the whole network solution will be changed and we will find a new bottleneck node. Then, we can try to increase the throughput of the new bottleneck node. This step can be repeated until we cannot increase the throughput of the bottleneck node, and we call this step the iterative step. Then, we can calculate the last maximum K for the whole network.
However, there are some problems we should solve in each iterative step: (1) when trying to increase the throughput of a bottleneck node, how to select from these two methods (using a new time slot on an existing link or using a new link with an assigned time slot); (2) if we use a new time slot, which time slot should be assigned on which existing link; and (3) if we use a new link, which new link should be added.
To answer these problems, we need to analyze possible improvement after using a new time slot or a new link. We consider it under the following two cases.

•
Possible improvement by a new time slot. For each out-going link s i → s j , we can revise the algorithm in Figure 5 to determine a suitable time slot. That is, instead of considering all time slots, we only consider time slots not used by link s i → s j . Once a new time slot is found, possible improvement on link s i → s j is C h while possible improvement from node s j to the base station is Z j . Thus, possible improvement is min{ C h , Z j }. Note that, for the link Possible improvement by a new link. For a new link, we can apply the algorithm in Figure 5 to determine a suitable time slot. Once a new time slot is found, possible improvement is again min{ C h , Z j } for the link s i → s j , or C h for the link s i → b j .
Based on the above analysis, we can address the problems we have proposed. The detail steps to increase bottleneck node s i 's throughput is given in Figure 6. Notice that, in Figure 6, we use a similar algorithm as Figure 5 to judge wether a new assignment can be successful, which means when, we want to add a new link or assign a new time slot for an exist link, all other affected nodes' SINR should be recalculated.

Complexity
We first show the complexity for the base station selection step. Since we need to calculate all distances between each node and each base station to perform the Voronoi graphic algorithm, the complexity of this step is O(nm).
Then, we show that in each region the complexity in each iteration is polynomial. In the first iteration, we need to identify hop distance for all nodes, select a next hop node for each node and then assign a time slot for this link, and identify initial K.

•
To identify hop distance for all nodes, we need to visit all neighboring nodes of each node. The complexity is O(E) = O(n 2 ), where E is the number of all possible links.

•
The complexity to select a next hop node for each node is O(n).

•
The complexity to assign a time slot to the first link is O(1). To analyze the complexity to assign a time slot for the (e + 1)th link, we assume that previous e links useĥ time slots. When we consider a used time slot t k for the (e + 1)th link, we need to check up to e k + 1 SINR values, where e k is the number of links in this time slot. In the worst case, we may check up to ∑ĥ k=1 (e k + 1) = e +ĥ SINR values and then decide to assign a new time slot. The complexity is O(e +ĥ + 1) = O(e + h). Thus, the total complexity for time slot assignment is at most The complexity of solving an LP in Equation (10) is where N v is the number of variables in Equation (10).
In each of the subsequent iterations, we need to identify bottleneck node, calculate possible improvement of each of its neighbors, sort these neighbors, either assign a new time slot or add a new link, and update K.

•
The complexity to identify bottleneck node is O(E) = O(n 2 ). To analyze the complexity of assigning a time slot for a new link, we assume that previous e links useĥ time slots. When we consider a used time slot, we need to check up to e + 1 SINR values.
In the worst case, we may find thatĥ time slots are not available and then assign a new time slot. The complexity is O(ĥ(e + 1) + 1 = O(hn 2 ).
Thus, the total complexity to assign a new time slot or add a new link is |T i |O( The complexity of solving an LP in Equation (10)  Thus, the overall complexity of our algorithm is O(nm)(O(n 6 + hn 2 ) + (O(hn 2 ) − 1)O(n 6 + hn 3 )) = O(hn 9 m + h 2 n 6 m), which is polynomial. Note that the purpose of this analysis is to show the complexity is polynomial. The obtained result is a loose upper bound on complexity, while, in practice, the complexity can be much less.

Simulation Results
In this section, we give simulation results to show the performance of our algorithm. We also compare results without Full-duplex (the SIC only scheme [25]) and without SIC (the interference avoidance scheme [25]) to show the advantage of Full-duplex.
Consider multi-hop networks with 10 to 50 nodes and 2 to 5 base stations randomly deployed in a square region of 3000 m × 3000 m. Transmission power is P = 1 W. Noise power and the self-interference power is N 0 + N SI = 10 −5 W. The SINR threshold is β = 1. Channel bandwidth is W = 22 MHz. The number of time slots is equal to the number of nodes. The required minimum data rate r(s i ) is between 100 kbps and 1000 kbps. Similar parameter setting are used in [21].
We first present detailed results of a multi-hop network with 10 nodes and 2 base stations in Section 4.1. Then, we provide complete results for all network instances with different number of nodes.

Results for a Multi-Hop Network with 10 Nodes and 2 Base Stations
Consider a multi-hop network shown in Figure 7a. The coordinates and the required minimum data rate r(s i ) are shown in Table 1. The two base stations' coordinates are (500, 500) and (1877, 1674).  When using the Full-duplex and SIC technique, we have K = 75.82; with SIC technique only, we have K = 50.54; and with the interference avoidance scheme, we have K = 20.21. We give the routing and the time slot allocating methods in these three different techniques in Figure 7b-d. From these we can see that, when using full-duplex, nodes will have more chances and abilities for transmitting and receiving. For example, node s 7 will transmit in five different time slots when using full-duplex (see Figure 7d), and, in time slot t 8 , it will transmit to base station and receive from s 10 simultaneously. When using SIC only, s 7 will transmit in three different time slots and will not transmit and receive simultaneously. When using interference avoidance, s 7 will only transmit in two time slots.

Results for All Network Instances
We change the number of base stations m from 2 to 5, the number of nodes n from 10 to 50, and generate 20 different network instances randomly for each network. Then, we calculate the value K under the interference avoidance scheme and the SIC scheme, and show the average values for each network in Figure 8. From these simulation results, we can see that the throughput by using SIC is improved explicitly compared with using interference avoidance, and improved much more when using full duplex. Comparing with the interference avoidance scheme, the achieved throughput improvement is about 200-500% when using full duplex. The improvement is not explicit when comparing with the SIC only scheme, especially when the number of nodes is large. However, it is impactful when the number is not very big. For example, when the number of node is 20, the throughput improvement of full duplex scheme is about 16.6% comparing with the SIC only scheme. The numble of nodes

Complexity from Simulation Results
To get the real complexity of our algorithm, which should be less than complexity upper bound analyzed in Section 3.5, we record the run-time of each program simulation, calculate their average values, and get the fitting curve which is shown in Figure 9. The curve fitting formulas are y = 0.0002023x 3 − 0.01298x 2 + 0.3626x − 1.634 for two base stations, y = 0.0001566x 3 − 0.00901x 2 + 0.3946x − 2.464 for three base stations, y = 0.0003634x 3 − 0.02578x 2 + 0.8106x − 4.601 for four base stations and y = −0.0001537x 3 + 0.004818x 2 − 0.05009x + 1.541 for five base stations. Compared with the original value, the fitting result has about 95% degree of similarity. The curve is a cubic polynomial curve, which means the actual time complexity of our algorithm is θ(n 3 ).

Conclusions
In this paper, we consider in the wireless network environment that nodes need to transmit data to base stations by single-or multi-hop scheme. We want to use the SIC and FD techniques to increase the throughput of the whole network, and build the mathematical model which is NP-hard in general. Then, we design a heuristic algorithm, namely the UULC-iterative algorithm. Simulation results show that FD-SIC scheme by using UULC-iterative algorithm can increase the throughput obviously while comparing with the SIC only scheme and the interference avoidance scheme.

Conflicts of Interest:
The authors declare no conflicts of interest.