1 Introduction

Recently, growing attention has been given to full-duplex wireless cellular systems which can support simultaneous transmission and reception in the same frequency band. Compared with traditional half-duplex systems which separate the transmission and reception via different frequency bands (i.e., FDD) or different timeslots (i.e., TDD), the full-duplex system has the potential to double the spectral efficiency. The full-duplex mode can be adopted in the BS due to its feasibility for complex processing, but the UEs (user equipments) are expected to still be half-duplex in the near future. In this paper, a wireless cellular system where half-duplex UEs are served by a full-duplex BS is considered. In contrast to traditional cellular systems, a full-duplex cellular system brings additional interferences which include the self-interference in uplink transmission and the co-channel interference from the uplink users to downlink transmission. The system throughput cannot achieve the desired promotion because the transmit antenna may cause strong self-interference to the receive antenna on same UE. Hence, self-interference cancellation plays a significant role on full-duplex communications. The proposed self-interference cancellation mechanisms include passive suppression [1,2,3,4,5] and active cancellation [6, 7]. The co-channel interference can also limit the potential capacity gain along with the self-interference. The achievable rate region under these two kinds of interferences has been studied in [8, 9]. Several methods have been proposed to cancel or mitigate the co-channel interference. In [10], an orthogonal side-channel is designed between the two direction UEs, and some mutual information is transmitted on the side-channel aiming to cancel the co-channel interference. In such a mechanism, UEs are required to support the device-to-device communication protocol, and the side-channel between users increase the complexity of the system greatly. Furthermore, there are some resource schedule algorithms proposed to mitigate the co-channel interference and improve the system throughput. In [11], a sub-optimal centralized greedy algorithm in a multiple macro cell scenario is proposed. In [12], the authors proposed a cell partitioning method which divides the whole interference region into several partitions and allocate the frequency resource to them properly. In their proposal, the BS needs to distinguish which partition each user locates in, which we consider that it is not easy for system implementation.

In this paper, joint resource allocation on user pairs and resource blocks (RBs) in full-duplex OFDMA cellular system is investigated for benefiting system throughput or user fairness. Firstly, a binary-integer programming optimization problem for maximizing cell throughput is formulated and the optimal solutions are given by exhaustive search. Considering the difficulty to implement the optimal algorithm in the practical cellular system, two suboptimal heuristic algorithms (distance isolation algorithm and dynamic user adjustment algorithm) are proposed. System level simulations are conducted to compare the throughput and user fairness achieved by the proposed algorithms under different self-interference cancellation capabilities.

The rest of this paper is organized as follows. In Sect. 2, we describe the system model of full-duplex single cellular system for investigation. The optimal algorithm for joint resource allocation is presented in Sect. 3. The suboptimal heuristic algorithms for joint resource allocation are presented in Sect. 4. Simulation results are given and discussed in Sect. 5. Section 6 gives the conclusion.

2 System Model

As shown in Fig. 1, a single cell scenario consisting of full-duplex enabled BS and traditional TDD UEs is considered. In the full-duplex cell, we assume that the self-interference at the BS has been suppressed to noise floor [13] and only the co-channel interference is considered. In addition, it is assumed that OFDMA mode is used on both uplink and downlink for scheduling and resource allocation in such a cell. The total frequency band is divided into N resource blocks (RBs) which are treated as the smallest units for resource allocation. There are K u uplink UEs and K d downlink UEs randomly distributed in the cell. The uplink and downlink channels are assumed to be subject to Rayleigh fading.

Fig. 1
figure 1

System model of a full-duplex single cell

Denote the uplink signal of UEi, i ∊ {1, 2, …, K u } in RBk, k ∊ {1, 2, …, K}at the BS as y u k,i and the downlink signal in RBk at UEj, j ∊ {1, 2, …, K d } as y d k,j , and they can be represented by

$$y_{k,i}^{u} = h_{k,i}^{u} s_{k,i} + I_{res} + n_{k,i} ,$$
(1)
$$y_{k,j}^{d} = h_{k,j}^{d} c_{k,j} + \rho_{i,j} s_{k,i} + n_{k,j} ,$$
(2)

where h u k,i , h d k,j and ρ i,j denote the channel gains of uplink UEi to the BS, the BS to downlink UEj, and UEi to UEj in the kth RB, respectively. s k,i and c k,j denote the transmitting signal from uplink UEi and the BS, respectively. E[|s k,i |2] = p k,i and E[|c k,j |2] = q k,j are their corresponding signal powers. n k,i and n k,j denote the channel additive noises, and I res represents the residual self-interference between the transmitting antenna and the receiving antenna of the BS. It is assumed that n k,i , n k,j , and I res are circular complex Gaussian variables with zero mean and variance σ 2 n , σ 2 n , and σ 2 r , respectively.

3 Optimal Algorithm for Joint Resource Allocation

In this section, we study the optimization problem of joint scheduling and resource allocation for benefiting system throughput or user fairness. Firstly, we formulate the optimization problem as a binary-integer programing problem, and solve it by exhaustive search.

Firstly, we obtain the expression of system throughput in a certain timeslot. It is assumed that h u k,i , h d k,j and ρ i,j are known at the BS. From (1) and (2), the signal-to-interference-plus-noise ratio (SINR) at the receive antenna of the BS and downlink user in RBk can be expressed as

$$SINR_{k,i}^{u} = \frac{{|h_{k,i}^{u} |^{2} p_{k,i} }}{{\sigma_{r}^{2} + \sigma_{n}^{2} }} = \gamma_{k,i}^{u} ,$$
(3)
$$SINR_{k,j}^{d} = \frac{{|h_{k,i}^{d} |^{2} q_{k,j} }}{{|\rho_{i,j} |^{2} p_{k,i} + \sigma_{n}^{2} }} = \gamma_{k,j}^{d} .$$
(4)

We assume that there are K u uplink UEs and K d downlink UEs distributed in the cell. In the process of resource allocation, one pair of uplink and downlink UEs shares the same RB. Thus, there exist L = K u  × K d different user pairs (i, j) to be chosen by the BS. The pair index l ∊ {1, 2…, L}can be represented as

$$l = (i - 1)K_{d} + j.$$
(5)

In a certain timeslot, there are K RBs available and each of them can be allocated to only one pair of UEs. Hence, in the nth timeslot, the weighted sum throughput of uplink and downlink of the lth user pair in the kth RB can be shown as

$$t_{k,l} (n) = w_{i}^{u} (n){\rm log}_{2} (1 + \gamma_{k,i}^{u} ) + w_{j}^{d} (n){\rm log}_{2} (1 + \gamma_{k,j}^{d} ) ,$$
(6)

where w u i (n) and w d j (n) are the weighted factors of the ith uplink UE and the jth downlink UE. They can be used for adjusting the priority of the user according to different demands of system throughput and user fairness. Specifically, w u i (n) can be expressed as

$$w_{i}^{u} (n) = \frac{1}{{Ra_{i}^{u} (n)}}$$
(7)

where Ra u i (n)is the average rate for the ith uplink UE, which is set as

$$Ra_{i}^{u} (n) = \left\{ {\begin{array}{*{20}l} {\left( {1 - \frac{1}{{T_{c} }}} \right)Ra_{i}^{u} (n - 1) + \frac{1}{{T_{c} }}\log _{2} \left( {1 + \gamma _{{k,j}}^{d} } \right)} \hfill & {{\text{if the ith uplink UE is scheduled}}{\kern 1pt} {\kern 1pt} {\text{in the nth timeslot }}} \hfill \\ {\left( {1 - \frac{1}{{T_{c} }}} \right)Ra_{i}^{u} (n - 1)} \hfill & {{\text{otherwise}}} \hfill \\ \end{array} } \right.,$$
(8)

And w d j (n) has the similar expression as (7) and (8). In (8), T c is the length of sliding window which represents the suffering of user not being scheduled. Larger T c promotes the benefit of system throughput, and smaller T c benefits the user fairness.

Based on the analysis above, the maximization problem of system throughput can be formulated as follows

$$\arg \mathop {\hbox{max} }\limits_{k,l} \sum\limits_{k = 1}^{K} {\sum\limits_{l = 1}^{L} {x_{k,l} } } t_{k,l} ,$$
(9)

subject to

$$\sum\limits_{l = 1}^{L} {x_{k,l} = 1, \quad x_{k,l} \in \left\{ {0, 1} \right\}} ,\quad \forall k \in \left\{ {1, 2, \ldots , K} \right\},$$
(9.a)

where x k,l is the resource allocation indicator which takes value in{0, 1}.When x k,l  = 1, it means that RB k is allocated to the lth user pair. The constraint (9.a) indicates that each RB only can be allocated to one user pair. Note that one user pair may be scheduled more than once or not scheduled in the nth timeslot.

The problem formulated in (9) is a typical integer programing problem, and it can be converted to a standard binary-integer programming problem. We represent x k,l ,t k,l k ∊ {1, 2, …, K}, l ∊ {1, 2, …, L}as the vector x and t,

$$\begin{aligned} {\mathbf{x}} = [x_{1,1} , \ldots ,x_{1,L} ,x_{2,1} , \ldots ,x_{2,L} , \ldots ,x_{K,L} ]^{\text{T}} , \hfill \\ {\mathbf{t}} = [t_{1,1} , \ldots ,t_{1,L} ,t_{2,1} , \ldots ,t_{2,L} , \ldots ,t_{K,L} ]^{\text{T}} , \hfill \\ \end{aligned}$$

respectively. Hence, the problem in (9) can be described as

$$\arg \mathop {\hbox{max} }\limits_{{\mathbf{x}}} \{ {\mathbf{t}}^{\text{T}} {\mathbf{x}}\}$$
(10)

subject to

$${\mathbf{Cx}} = {\mathbf{1}}_{(K \times 1)} ,$$
(10.a)

where C is a K × KL constraint matrix whose elements are zeroes or ones, and it can be expressed as

$${\mathbf{C}} = [{\mathbf{A}} \otimes {\mathbf{1}}_{(1 \times L)} ]$$
(11)

where ⊗ stands for Kronecker product, and A is a K × K identity matrix which denotes the basic RB matrix. The constraint condition (10.a) guarantees that each RB can be allocated only to one user.

The problem in (10) is a binary-integer programming problem, the straightforward method to solve such a problem is exhaustive search. Due to the simplicity of the constraint condition, we can solve this joint user scheduling and RB allocation optimization problem with the following algorithm denoted as opt.S-RA algorithm.

In Table 1, l * k means allocating \({\text{RB}}_{k}\) to the lth user pair. With the obtained the final resource allocation vector x, the maximal system throughput in the nth timeslot can be calculated by \({\mathbf{t}}^{\text{T}} {\mathbf{x}}\).

Table 1 Optimal S-RA algorithm

4 Suboptimal Heuristic Algorithms for Joint Resource Allocation

In the above optimal algorithm for joint resource allocation, the channel gain between uplink UE and downlink UE, ρ i,j , is assumed to be available to the BS. However, it is particularly difficult for the BS to obtain all the channel gains in the practical cellular system. Hence, the algorithm in Table 1 is scarcely feasible to be used in a practical scenario, and the achieved throughput can only be viewed as an upper bound value. In this section, two suboptimal algorithms for joint resource allocation are proposed. They adopt different strategies to mitigate the co-channel interference between users, and the channel gains between users are not required at the BS.

4.1 Distance Isolation Algorithm

In order to reduce the intra-cell co-channel interference, one way is to increase the distance between the scheduled uplink UE and the scheduled downlink UE since the relatively long distance can decrease the effect of the interference on the interested signal. In [9], a cell partitioning scheme has been proposed which requires the BS to distinguish which region the user locates in. Here we modify the cell partitioning method to further improve the system performance. As shown in Fig. 2, we partition the cell depending on the distances between the UEs and the BS. The radius of the cell is denoted as R, and we set two distances R 1 and R 2, which satisfy 0 < R 1 < R 2 < R. The cell region whose distance to the BS is less than R 1 and more than R 3 is referred to as P 1 and P 3, respectively. The remaining region of the cell are partitioned by different sectors, and denoted as P21, P22 and P23.

Fig. 2
figure 2

A cell partitioning scheme

For each RB in the nth timeslot, the BS firstly selects the uplink UE relying on t u k,i (n), which is expressed as

$$t_{k,i}^{u} (n) = w_{k,i}^{u} (n){\rm log}_{2} (1 + \gamma_{k,i}^{u} ),i \in \{ 1,2, \ldots ,K_{u} \} .$$
(12)

Then, the UE with the maximal t u k,i (n) is scheduled. If the scheduled uplink UE is located in P 1 or P 3 , the downlink UE should be selected in P 3 or P 1 . If the scheduled uplink UE is located in P2i , the downlink UE should be selected in P2j , ij ∊ {1, 2, 3}, i ≠ j. The BS selects the downlink UE with maximal t d k,j (n), which is expressed as

$$t_{k,j}^{d} (n) = w_{j}^{d} (n){\rm log}_{2} (1 + \hat{\gamma }_{k,j}^{d} ),j \in {\text{P}}_{j} ,$$
(13)

where P j is downlink UE scheduled region. \(\hat{\gamma }_{k,j}^{d}\) is different with γ d k,j defined in (4), which is expressed as

$$\hat{\gamma }_{k,j}^{d} = SNR_{k,j}^{d} = \frac{{|h_{k,i}^{d} |^{2} q_{k,i} }}{{\sigma_{n}^{2} }}.$$
(14)

Through the above process, the scheduled uplink UE and downlink UE for each RB in the nth timeslot can be obtained. The resource allocation algorithm based on distance isolation (DI.S-RA) is described in Table 2.

Table 2 Distance isolation S-RA algorithm

With the algorithm described in Table 2, the uplink and downlink UEs scheduled in the same RB locate in different regions of the cell. Hence, it can suppress the co-channel interference between the users to some extent, and increase the cell throughput, especially for the cell edge users.

4.2 Dynamic User Adjustment Algorithm

In the scheduling process of this algorithm, the user pairs with better channel conditions are selected, and then the scheduled user pair is randomly selected among them. In addition, the BS records the performance of the user pair and uses it as a reference in the next scheduling.

For each RB, the BS firstly selects the uplink UE with the maximal t u k,i (n), and then N d downlink UEs are selected with large t d k,i (n). In addition, the downlink UEs located in the same sector with the scheduled uplink UE should be excluded from the N d-number set. Then, the downlink UE is randomly selected from the updated user set. If the sum throughput of uplink and downlink in this RB is less than the threshold t th , the BS records the index of the user pair, which will not be permitted in the next scheduling. The threshold t th can be adjusted according to the demand of the system; larger t th promotes the system throughput while smaller t th benefits user fairness. This suboptimal algorithm is referred to as UD.S-RA, and is described in Table 3.

Table 3 Dynamic user adjustment S-RA algorithm

In this algorithm, the co-channel interference is suppressed to some extent because of the randomness of downlink user selection. The BS utilizes the achieved feedback throughput as feedback to dynamically adjust user pairing in the next timeslot scheduling, which is beneficial for system throughput or user fairness.

5 Simulation Results

In this section, we study the performance of the optimal scheduling and resource allocation algorithm and two suboptimal algorithms in a full-duplex single cell scenario. A system level simulation platform is established to verify and compare these algorithms. The simulation parameters are shown in Table 4.

Table 4 Simulation Parameters

Firstly, we compare the throughput performance of half-duplex system and full-duplex system under different self-interference cancellation capacities. The full-duplex system throughput is obtained by the opt.S-RA algorithm. The simulation result is obtained over 500 random user drops, and Rayleigh fading is used in the simulation. The simulation results for half-duplex and full-duplex system with self-interference cancellation capability ranging from 40 to 100 dB are shown in Fig. 3.

Fig. 3
figure 3

The CDF of half-duplex and full-duplex system throughput

In Fig. 3, “FD system-x” means full-duplex system with self-interference cancellation of x dB. With the increase of self-interference cancellation capability, the full-duplex cell throughput (includes uplink and downlink throughput) improves, while the half-duplex cell throughput has nothing to do with the self-interference cancellation capability. When the self-interference cancellation capability is strong enough, the achieved cell throughput of full-duplex system is almost twice as much as that of the half-duplex system. When the self-interference cancellation is not efficient enough, the full-duplex system and half-duplex system achieve similar throughput performance.

Next, the throughputs of the opt.S-RA algorithm and two suboptimal algorithms are investigated. The independent resource allocation of uplink and downlink algorithm is made as a reference in our comparison, which does not consider the co-channel interference in the process of user pairing and allocate RBs to uplink and downlink users independently.

We denote it as Inde.S-RA. The self-interference cancellation is set as 90 dB in this simulation. In DI.S-RA algorithm, we set R 1 = R/3, R 2 = 2R/3. In UD.S-RA algorithm, N d is set as 10 and the threshold tth is set as 0.8 Mbps/Hz. The simulation results areshown in Fig. 4.

Fig. 4
figure 4

Distribution of cell throughput of optimal and suboptimal algorithms

From Fig. 4, it can be seen that the achieved cell throughput of optimal S-RA is mainly in 110~115 Mbps, the achieved cell throughput of DI.S-RA algorithm is mainly in 100~113 Mbps, and the achieved cell throughputs of UD.S-RA algorithm and Inde.S-RA algorithm are mainly in 95~112 Mbps. Hence, the distance isolation algorithm is very efficient on improving the cell throughput, and the enhancement brought by dynamic user adjustment is limited. In UD.S-RA algorithm, the BS randomly selects the scheduled downlink UE from several suitable UEs, and the randomness may suppress the co-channel interference to some extent. However, the effect is not so obvious due to the lack of the channel information between users.

Next, we analyze the variation trend of the performance with the increase of BS self-interference cancellation capability and user number, respectively. The self-interference cancellation capability is ranging from 40 to 110 dB. The number of uplink users is assumed to be as much as the downlink users which is ranging from 10 to 50. The simulation results are shown in Figs. 5 and 6.

Fig. 5
figure 5

Cell throughput versus the increase of self-interference cancellation

Fig. 6
figure 6

Cell throughput versus the increase of user number

In Fig. 5, we can find that the cell throughput keeps rising with the increase of self-interference cancellation. When the self-interference cancellation is relatively small, the cell throughput is increasing quickly. When the self-interference cancellation is above 90 dB, the increase of self-interference cancellation capacity has very limited impact on the cell throughput. In Fig. 6, the cell throughput is also rising with the increase of user numbers, which can be explained by the multi-user diversity gain. We also observe that UD.S-RA algorithm outperforms the Inde.S-RA algorithm when the user number is more than 30. In UD.S-RA algorithm, we select N d downlink users as the candidate of scheduled downlink user. When the user number is close to N d, the algorithm is similar to select downlink scheduled user from most or near all the downlink users, which is inefficient compared to Inde.S-RA. Thus, N d should be set suitably according to the number of users.

Lastly, the user fairness of the proposed algorithms in this paper is compared. In this simulation, user fairness is defined simply which is measured by the standard deviations of the number of scheduling for 40 downlink users. The number of scheduling for each downlink user is counted and displayed by the histogram as shown in Fig. 7.

Fig. 7
figure 7

User fairness of the optimal and suboptimal algorithms

In Fig. 7, sigma is the standard deviation of the number of scheduling for the 40 downlink users. It is evident that the opt.S-RA algorithm achieves best use fairness. It also can be observed that the cell throughput of UD.S-RA algorithm is less than that of DI.S-RA algorithm, but the fairness of UD.S-RA algorithm outperforms that of DI.S-RA algorithm.

6 Conclusions

Mainly for the purpose of reducing the co-channel interference in OFDMA full-duplex cell, joint resource allocation for user pair scheduling and RB (Resource Block) is studied in this paper. Firstly, we formulate a binary-integer programing problem for joint resource allocation, and solve it by exhaustive search to get the optimal solutions. Since it is difficult to obtain all the chain gains required in the optimal algorithm, two suboptimal heuristic algorithms, distance isolation algorithm and dynamic user adjustment algorithm, are further proposed. The simulation results show that the achieved cell throughput of full-duplex system based the optimal algorithm is almost twice than that of half-duplex system with strong self-interference cancellation. The optimal algorithm can achieve largest system throughput and relatively perfect user fairness. Compared with the dynamic user adjustment algorithm, distance isolation algorithm achieves higher system throughput but poorer user fairness. With the increase of self-interference cancellation capacity and the number of users, the achieved cell throughputs by optimal algorithm and suboptimal algorithms exhibit a rising trend.