Skip to main content

Joint user clustering and resource allocation for device-to-device communication underlaying MU-MIMO cellular networks

Abstract

In this paper, multiple device-to-device (D2D) communication underlaying cellular multiuser multiple inputs multiple outputs (MU-MIMO) systems is investigated. This type of communication can improve spectral efficiency to address future demand, but interference management, user clustering, and resource allocation are three key problems related to resource sharing. Interference alignment (IA) is proposed to better mitigate in-cluster interference compared with a multiplex scheme, and user clustering and resource allocation are jointly investigated using binary-integer programming. In addition to an exhaustive search for a maximum throughput, we propose a two-step suboptimal algorithm by reducing the search space and applying branch-and-bound searching (BBS). To further obtain a good trade-off between performance and complexity, we propose a novel algorithm based on distance-constrained criteria for user clustering. The simulation results show that the IA and multiplex schemes acquiring user clustering gains outperform the orthogonal scheme without user clustering. Besides, the proposed two-step and location-based algorithms achieve little losses compared with the optimal algorithm under low complexities.

1 Introduction

In recent years, device-to-device (D2D) communication underlaying cellular infrastructures has attracted considerable attention on both academia and industry. This infrastructure permits peer-to-peer communication without base station (BS) relays but should be under the control of the BS. With the increasing use of local applications, such as short-distance data transmission in social networks, D2D communication which is an effective proximity transmission scheme has seen substantial demand. D2D communication has great potential to improve spectrum efficiency and system performance by reusing cellular resources [1,2].

Multiuser multiple inputs multiple outputs (MU-MIMO), which is regarded as a very important technology, has been applied in numerous systems, including long-term evolution (LTE) uplink and other cooperative networks, to obtain higher multiuser diversity gain [3]. To address future increased demand, the combination of MU-MIMO networks and D2D underlaying communications, as a novel research field, can further improve spectral efficiency and increase the number of access users [4,5]. The relatively sparse literature only focuses on a single D2D pair reusing a cellular user equipment (CUE) resource, and the scenario where multiple D2D pairs reuse resources with CUEs in the MU-MIMO uplinks has not been widely investigated. In this work, we divide CUEs and D2D pairs into several clusters. Each cluster has a certain number of CUEs and D2D pairs. For maximizing the system rate, there are three key issues related to the system optimization problem, i.e., 1) how to mitigate the serious in-cluster interference, 2) how to determine which D2D pairs and CUEs are clustered together, and 3) how to allocate appropriate resources to the clusters.

The investigated communication pattern will cause excessive and serious interference in the network, including D2D links to cellular links and cellular links to D2D links [6]. To obtain a better system or personal performance, the effective methods of interference management in D2D communication underlaying cellular networks include power control [7-10], resource allocation [11-18], interference awareness [19-21], and precoding [22]. Xing and Hakola [8] employ LTE open-loop and closed-loop power control schemes in a D2D scenario. The resource allocation problem is solved by an iterative combinatorial auction method in [14]. By identifying interference, Min et al. [21] propose interference-limited areas of D2D pairs to prohibit them from reusing resources with CUEs if the interference at D2D receivers is greater than a threshold. In MIMO transmission, the interference alignment (IA) technique, which is an effective precoding mechanism that can align the interference at the receiver together to improve receiving signal-to-interference-plus-noise ratio (SINR), has attracted substantial attention in recent years [23-25]. As the earliest research about IA, Cadambe and Jafar [23] provide a linear precoding codebook design in K-user interference channels.

Furthermore, the second issue in clustering and the third issue in resource allocation are coupled with each other. It is thus necessary to jointly study them. Recently, increasingly more works about jointly considering various optimization issues have been discussed [11,17,26-28] and have been shown to further improve system performances. In [27], the authors analyze optimum power control and resource allocation with different sharing modes between CUEs and D2D pairs in a single-cell scenario. Generally, these types of problems are too hard to directly solve, i.e., NP-hard problems [29,30]. An optimal and direct solution to these problems is exhaustive searching, which is used as a benchmark in our paper. In this work, we attempt to design low-complexity suboptimal algorithms for joint user clustering and resource allocation optimization programming. Heuristic greedy algorithms [26], reverse iterative combinatorial auction approaches [14,28], and D2D pair association vector search algorithms [5] are some examples of effective solutions to the NP-hard problem. The inspiration of Xu et al. [28] comes from game theory. The study sets the resources and D2D links as bidders and goods and then conducts a price iteration process. Its result can converge in a finite number of rounds and is better than random allocation, but it exhibits some performance loss.

1.1 Our contribution

According to the studies mentioned above, we perform the contributions as following:

  1. (1)

    We consider multiple D2D pairs reusing resources with CUEs in the MU-MIMO uplink system and formulate the joint user clustering of CUEs and D2D pairs and resource allocation optimization programming.

  2. (2)

    We employ a linear IA technique in the scenario to eliminate interference inside clusters, and we then propose evaluation comparisons between the schemes with IA and without IA which is the traditional multiplex scheme.

  3. (3)

    A two-step optimization algorithm is designed to first reduce the search space, thereby decreasing the search difficulty, and then obtain the solution using a branch-and-bound searching (BBS) algorithm. To further reduce the complexity for practical communications, we propose a location-based algorithm that divides a single cell into an inner round employing the IA scheme and an outer circle employing the multiplex scheme.

The simulation results first show that the IA and multiplex schemes acquiring user clustering gains outperform the orthogonal scheme without employing user clustering. The IA scheme outperforms the multiplex scheme in a large range of the D2D user equipment transmit (DUE-TX) power. Second, the two-step algorithm exhibits minimal losses compared to the optimal exhaustive search. The proposed location-based algorithm, whose performance is near optimal under low practical complexity, exhibits a good trade-off between performance and complexity. Third, it is better to keep the distance between D2D users sufficiently small to obtain a better system performance. Finally, the appropriate inner round radius r 0 of the location-based algorithm monotonously increases with increasing DUE-TX power. With high DUE-TX power, a large r 0 is more suitable.

The remainder of this paper is organized as follows. Section 2 generalizes the scenario’s system and signal models in the IA scheme and multiplex scheme. We then deduce the SINR expressions. Section 3 proposes the objective and constraint conditions of the joint resource allocation and clustering programming. In Section 4, a two-step algorithm and a location-based algorithm are proposed in detail. Section 5 presents the numerical results, complexities, and analysis. A further discussion is demonstrated in Section 6. Finally, conclusions are shown in Section 7.

1.2 Scenario description and symbol notations

As shown in Figure 1, our research focuses on uplink transmission in a single cell, where a total of K c CUEs and K d D2D pairs share K rb frequency resource blocks (RBs). The BS is equipped with N r antennas, while all users are equipped with N t antennas (N t  < N r ). A D2D pair consists of a DUE-TX and a D2D user equipment receiver (DUE-RX). The interference in the investigated scenario is so complicated, including DUE-TX to BS, CUEs to DUE-RX, and DUE-TX to DUE-RX of other D2D pairs. Power control is used to satisfy the target CUE SINR. All DUE-TX powers are equal and set to P D . In the clustering course, each user cluster will consist of N c CUEs chosen from K c CUEs and N d D2D pairs chosen from K d D2D pairs. The sets of CUEs in user clusters, named CUE subclusters, are denoted as \( {\mathrm{\mathbb{C}}}_k=\left\{\left({C}_1,\dots, {C}_{N_c}\right)\Big|1\le {C}_1\le \dots \le {C}_{N_C}\le {K}_c\right\} \). \( {\mathbb{D}}_{\mathrm{l}}=\left\{\left({D}_1,\dots, {D}_{N_d}\right)\Big|1\le {D}_1\le \dots {D}_{N_d}\le {K}_d\right\} \) denotes the sets of D2D pairs, named DUE subclusters. Here, \( k\left(1\le k\le {N}_{all.c}={C}_{K_c}^{N_c}\right),l\left(1\le l\le {N}_{all.d}={\mathrm{C}}_{K_d}^{N_d}\right) \) are the indices of CUE subclusters and DUE subclusters, respectively, where \( {\mathrm{C}}_q^p=q!/\left(p!\left(q-p\right)!\right) \). The users in the same cluster are assigned the same resources. Each RB consists of M subcarriers. We assume that each cluster can occupy any number of RBs from 0 to K rb , and its occupied RBs must be adjacent. Thus, there are N all. rb  = K rb (K rb  + 1)/2 + 1 different resource patterns meeting the requirement [31]. n (1 ≤ n ≤ N all. rb ) denotes the n-th resource pattern, where 1 is the empty resource pattern. Moreover, none of the resources are permitted to be assigned more than one cluster, and we define that the clusters that are assigned resources cannot contain the same user. The channel we consider includes large-scale path loss related to user position and small-scale path loss related to subcarrier and antenna.

Figure 1
figure 1

D2D communication underlaying cellular networks in a single-cell uplink scenario, where N c CUEs and N d DUEs simultaneously transmit.

Uppercase boldface letters denote matrices and lowercase boldface letters denote vectors. Similarly, span(X), rank(X), and vec(X) denote the column space, rank, and vector obtained by stacking the columns of matrix X, respectively. The superscripts , (·)T, (·)H, and (·)-1 denote the Kronecker product, transpose, Hermitian transpose, and matrix inversion, respectively. (·)+ sets the negative elements of a vector to 0, and I n denotes the identity matrix. Other key mathematical notations used in the paper are listed in Table 1.

Table 1 Mathematical notations

2 System model

In this section, we first introduce a traditional D2D underlaying MU-MIMO uplink scenario employing a multiplex scheme. After deducing a cluster’s received SINRs with minimum mean-square error (MMSE) frequency-domain equalization, we calculate its sum throughput. Then, we formulate the precoding and decoding process of the scenario using IA and give some feasibility conditions and derive the total throughput.

2.1 D2D underlaying MU-MIMO systems using a multiplex scheme

In this scheme, each antenna transmits an independent data stream. With regard to the BS, all CUE signals are target signals. The BS employs MMSE frequency-domain equalization [31] for multiuser receiving to distinguish different target signals. Compared to the zero-forcing (ZF) method for multiple user detection, MMSE is able to obtain a good trade-off between the performance of interference mitigation and noise amplification. There is no interference between CUEs. The transmit symbol vector of CUEs can be estimated. The received signals at the m-th subcarrier of the BS and DUE-RX antenna front-ends are written as

$$ {\mathbf{y}}_{\mathrm{BS}}^m={\displaystyle \sum_{i=1}^{N_c}}{\mathbf{H}}_{\mathrm{BS},{C}_i}^m\sqrt{{\mathbf{L}}_{\mathrm{BS},{C}_i}}\sqrt{{\mathbf{E}}_{C_i}}{\mathbf{s}}_{C_i}^m+{\displaystyle \sum_{j=1}^{N_d}}{\mathbf{H}}_{\mathrm{BS},{D}_j}^m\sqrt{{\mathbf{L}}_{\mathrm{BS},{D}_j}}\sqrt{{\mathbf{E}}_{D_j}}{\mathbf{s}}_{D_j}^m+{\mathbf{n}}_{\mathrm{BS}}^m, $$
(1)
$$ {\mathbf{y}}_{D_j}^m={\mathbf{H}}_{D_j,{D}_j}^m\sqrt{{\mathbf{L}}_{D_j,{D}_j}}\sqrt{{\mathbf{E}}_{D_j}}{\mathbf{s}}_{D_j}^m+{\displaystyle \sum_{j\hbox{'}=1,j\hbox{'}\ne i}^{N_d}}{\mathbf{H}}_{D_j,{D}_{j\hbox{'}}}^m\sqrt{{\mathbf{L}}_{D_j,{D}_{j\hbox{'}}}}\sqrt{{\mathbf{E}}_{D_{j\hbox{'}}}}{\mathbf{s}}_{D_{j\hbox{'}}}^m+{\displaystyle \sum_{k=1}^{N_c}}{\mathbf{H}}_{D_j,{C}_i}^m\sqrt{{\mathbf{L}}_{D_j,{C}_i}}\sqrt{{\mathbf{E}}_{C_i}}{\mathbf{s}}_{C_i}^m+{\mathbf{n}}_{D_j}^m. $$
(2)

For BS receiving, for conciseness, the combined target channel gain and the combined CUE transmit signals are

$$ {\mathbf{H}}_{\mathrm{BS}}^m\triangleq \left[{\mathbf{H}}_{\mathrm{BS},{C}_1}^m\sqrt{{\mathbf{L}}_{C_1}}\sqrt{{\mathbf{E}}_{C_1}}\dots {\mathbf{H}}_{\mathrm{BS},{C}_{N_c}}^m\sqrt{{\mathbf{L}}_{C_{N_c}}}\sqrt{{\mathbf{E}}_{C_{N_c}}}\right], $$
(3)
$$ \mathbf{S}\triangleq {\left[{\left({\mathbf{s}}_{C_1}^m\right)}^T\cdots {\left({\mathbf{s}}_{C_{N_c}}^m\right)}^T\right]}^T. $$
(4)

Then, the received signal at the BS at the m-th subcarrier is rewritten as

$$ {\mathbf{y}}_{\mathrm{BS}}^m={\mathbf{H}}_{\mathrm{BS}}^m\mathbf{S}+{\displaystyle \sum_{j=1}^{N_d}}{\mathbf{H}}_{\mathrm{BS},{D}_j}^m\sqrt{{\mathbf{L}}_{\mathrm{BS},{D}_j}}\sqrt{{\mathbf{E}}_{D_j}}{\mathbf{s}}_{D_j}^m+{\mathbf{n}}_{\mathrm{BS}}^m. $$
(5)

The MMSE equalization matrix is written as

$$ {\mathbf{W}}_{\mathrm{BS}}^m={\left({\mathbf{H}}_{\mathrm{BS}}^m\right)}^H{\left({\mathbf{H}}_{\mathrm{BS}}^m{\left({\mathbf{H}}_{\mathrm{BS}}^m\right)}^H+{\mathbf{Z}}_{\mathrm{BS}}^m{\mathbf{I}}_{N_r\times {N}_r}\right)}^{-1}, $$
(6)

where \( {\mathbf{I}}_{N_r\times {N}_r} \) is denoted as the unit diagonal matrix and

$$ {\mathbf{Z}}_{\mathrm{BS}}^m={\sigma}_{\mathrm{BS}}^2{\mathbf{I}}_{N_r\times {N}_r}+{\displaystyle \sum_{j=1}^{N_d}}{\mathbf{H}}_{\mathrm{BS},{D}_j}^m{\mathbf{L}}_{D_j}{\mathbf{E}}_{D_j}{\left({\mathbf{H}}_{\mathrm{BS},{D}_j}^m\right)}^H, $$
(7)

where \( {\upsigma}_{Bs}^2 \) is the average power of n BS. Then, the SINR of the p-th data stream (p = 1,…N t  × N c ) at the m-th subcarrier after MMSE equalization can be obtained as

$$ {\gamma}_{\mathrm{BS},p}^m=\frac{\mathrm{diag}{\left[{\mathbf{D}}_{\mathrm{BS}}^m{\left({\mathbf{D}}_{\mathrm{BS}}^m\right)}^H\right]}_p}{\mathrm{diag}{\left[{\sigma}_{\mathrm{BS}}^2{\mathbf{W}}_{\mathrm{BS}}^m{\left({\mathbf{W}}_{\mathrm{BS}}^m\right)}^H+{\mathbf{Y}}_{\mathrm{BS}}^m{\left({\mathbf{Y}}_{\mathrm{BS}}^m\right)}^H+{\displaystyle {\sum}_{j=1}^{N_d}}{\mathbf{W}}_{\mathrm{BS}}^m{\mathbf{H}}_{\mathrm{BS},{D}_j}^m{\mathbf{L}}_{\mathrm{BS},{D}_j}{\mathbf{E}}_{D_j}{\left({\mathbf{H}}_{\mathrm{BS},{D}_j}^m\right)}^H{\left({\mathbf{W}}_{\mathrm{BS}}^m\right)}^H\right]}_p}, $$
(8)

where the target receive signal after MMSE is

$$ {\mathbf{D}}_{\mathrm{BS}}^m=\mathrm{diag}\left[{\mathbf{W}}_{\mathrm{BS}}^m{\mathbf{H}}_{\mathrm{BS}}^m\right] $$
(9)

and its corresponding received power is in the numerator of (8). In the denominator, the generated noise is composed of white noise, the interference from the other data streams of the CUEs, and the interference from D2D data streams. The interference from the other data streams of the CUEs is shown below

$$ {\mathbf{Y}}_{\mathrm{BS}}^m={\mathbf{W}}_{\mathrm{BS}}^m{\mathbf{H}}_{\mathrm{BS}}^m-{\mathbf{D}}_{\mathrm{BS}}^m. $$
(10)

Similarly, for DUE-RX receiving, we write the target channel gain between DUEs as

$$ {\mathbf{H}}_{D_j}^m\triangleq {\mathbf{H}}_{D_j,{D}_j}^m\sqrt{{\mathbf{L}}_{D_j,{D}_j}}\sqrt{{\mathbf{E}}_{D_j}}. $$
(11)

The equalization matrix is

$$ {\mathbf{W}}_{D_j}^m={\left({\mathbf{H}}_{D_j}^m\right)}^H{\left({\mathbf{H}}_{D_j}^m{\left({\mathbf{H}}_{D_j}^m\right)}^H+{\mathbf{Z}}_{D_j}^m{\mathbf{I}}_{N_t\times {N}_t}\right)}^{-1}, $$
(12)

where \( {\mathbf{I}}_{N_t\times {N}_t} \) is denoted as the unit diagonal matrix and

$$ {\mathbf{Z}}_{D_j}^m={\sigma}_{D_j}^2{\mathbf{I}}_{N_t\times {N}_t}+{\displaystyle \sum_{j\hbox{'}=1,j\hbox{'}\ne j}^{N_d}}{\mathbf{H}}_{D_j,{D}_{j\hbox{'}}}^m{\mathbf{L}}_{D_j,{D}_{j\hbox{'}}}{\mathbf{E}}_{D_{j\hbox{'}}}{\left({\mathbf{H}}_{D_j,{D}_{j\hbox{'}}}^m\right)}^H+{\displaystyle \sum_{k=1}^{N_c}}{\mathbf{H}}_{D_j,{C}_i}^m{\mathbf{L}}_{D_j,{C}_i}{\mathbf{E}}_{C_i}{\left({\mathbf{H}}_{D_j,{C}_i}^m\right)}^H. $$
(13)

(13) presents the combination of noise and interference that originate from CUEs and other D2D pairs in terms of DUE-RX. Subsequently, the SINR of the q-th data stream (q = 1,…,N t ) of the j-th DUE-RX at the m-th subcarrier after MMSE equalization can be obtained as

$$ {\gamma}_{D_j,q}^m=\frac{\mathrm{diag}{\left[{\mathbf{D}}_{D_j}^m{\left({\mathbf{D}}_{D_j}^m\right)}^H\right]}_q}{\mathrm{diag}{\left[{\sigma}_{D_j}^2{\mathbf{W}}_{D_j}^m{\left({\mathbf{W}}_{D_j}^m\right)}^H+{\mathbf{Y}}_{D_j}{\mathbf{Y}}_{D_j}^H+{\displaystyle {\sum}_{j\hbox{'}=1,j\hbox{'}\ne j}^{N_d}}{\mathbf{W}}_{D_j}^m{\mathbf{H}}_{D_j,{D}_{j\hbox{'}}}^m{\mathbf{L}}_{D_j,{D}_{j\hbox{'}}}{\mathbf{E}}_{D_{j\hbox{'}}}{\left({\mathbf{H}}_{D_j,{D}_{j\hbox{'}}}^m\right)}^H{\left({\mathbf{W}}_{D_j}^m\right)}^H+{\displaystyle {\sum}_{k=1}^{N_c}}{\mathbf{W}}_{D_j}^m{\mathbf{H}}_{D_j,{C}_i}^m{\mathbf{L}}_{D_j,{C}_i}{\mathbf{E}}_{C_i}{\left({\mathbf{H}}_{D_j,{C}_i}^m\right)}^H{\left({\mathbf{W}}_{D_j}^m\right)}^H\right]}_q} $$
(14)

where the target receive signal after MMSE is

$$ {\mathbf{D}}_{D_j}^m=\mathrm{diag}\left[{\mathbf{W}}_{D_j}^m{\mathbf{H}}_{D_j}^m\right] $$
(15)

and its corresponding received power is in the numerator of (14). In the denominator, the generated noise is composed of white noise, the interference from the other data stream of the same D2D pair, the interference from the data streams of the other D2D pairs, and the interference from CUE data streams. The interference from the other data streams of the same D2D pair is shown below:

$$ {\mathbf{Y}}_{D_j}={\mathbf{W}}_{D_j}^m{\mathbf{H}}_{D_j}^m-{\mathbf{D}}_{D_j}^m. $$
(16)

Because there exist M continuous subcarriers in an RB, the post-processing SINR of the p-th data stream (p = 1,…N t  × N c ) at the BS is

$$ {\gamma}_{\mathrm{BS},p}={\left(\frac{1}{M}{\displaystyle \sum_{m=0}^{M-1}}{\left(1+{\gamma}_{\mathrm{BS},p}^m\right)}^{-1}\right)}^{-1}-1, $$
(17)

and the post-processing SINR of the q-th data stream (q = 1,…,N t ) at the j-th DUE-RX is

$$ {\gamma}_{D_j,q}={\left(\frac{1}{M}{\displaystyle \sum_{m=0}^{M-1}}{\left(1+{\gamma}_{D_j,q}^m\right)}^{-1}\right)}^{-1}-1. $$
(18)

Hence, the throughput of the k-th CUE subcluster and l-th DUE subcluster in the rb-th resource is given as

$$ {t}_{k,l,rb}={\displaystyle \sum_{p=1}^{N_t\times {N}_c}}lo{g}_2\left(1+{\gamma}_{\mathrm{BS},p}\right)+{\displaystyle \sum_{j\in {\mathbb{D}}_l}}{\displaystyle \sum_{q=1}^{N_t}}lo{g}_2\left(1+{\gamma}_{D_j,q}\right). $$
(19)

2.2 D2D underlaying MU-MIMO systems using the IA scheme

2.2.1 Signal model through IA

This multiplex scheme is simple and can be easily implemented without channel state information (CSI) feedback, but it has no interference mitigation mechanism and thus results in a degraded performance. We utilize a linear IA mechanism for the clusters. To provide successful receiving, we assume each transmitter only sends a data stream to its corresponding receiver. Thus, each receiver can see N c  + N d independent data flows. DUE-RX should align N c  + N d – 1 interfering flows to a certain space to enlarge the space of the target flow. In term of the BS, N c independent spaces are required to receive N c target flows.

The receiving signal at the m-th subcarrier of BS and DUE-RX before decoding can be written as

$$ {\mathbf{y}}_{\mathrm{BS}}^m={\displaystyle \sum_{i=1}^{N_c}}{\mathbf{G}}_{\mathrm{BS},{C}_i}^m{\mathbf{Q}}_{C_i}^m{s}_{C_i}^m+{\displaystyle \sum_{j=1}^{N_d}}{\mathbf{G}}_{\mathrm{BS},{D}_j}^m{\mathbf{Q}}_{D_j}^m{s}_{D_j}^m+{\mathbf{n}}_{\mathrm{BS}}^m, $$
(20)
$$ {\mathbf{y}}_{D_j}^m={\mathbf{G}}_{D_j,{D}_j}^m{\mathbf{Q}}_{D_j}^m{s}_{D_j}^m+{\displaystyle \sum_{i=1}^{N_c}}{\mathbf{G}}_{D_j,{C}_i}^m{\mathbf{Q}}_{C_i}^m{s}_{C_i}^m+{\displaystyle \sum_{j\hbox{'}=1,j\hbox{'}\ne j}^{N_d}}{\mathbf{G}}_{D_j,{D}_{j\hbox{'}}}^m{\mathbf{Q}}_{D_{j\hbox{'}}}^m{s}_{D_{j\hbox{'}}}^m+{\mathbf{n}}_{D_j}^m,j=1,\dots, {N}_d, $$
(21)

where

$$ {\mathbf{G}}_{a,b}^m={\mathbf{H}}_{a,b}^m\sqrt{{\mathbf{L}}_{a,b}^m}, $$
(22)
$$ {\mathbf{Q}}_b^m=\sqrt{{\mathbf{E}}_b^m}{\mathbf{P}}_b^m, $$
(23)
$$ a\in \left\{\mathrm{B}\mathrm{S},{D}_1,\dots, {D}_{N_d}\right\},b\in \left\{{C}_1,\dots, {C}_{N_c},{D}_1,\dots, {D}_{N_d}\right\}, $$
(24)

where P represents the IA-normalized precoding matrix. Subsequently, by applying a ZF algorithm for decoding, the interference spaces will be set to 0 and the target spaces will be preserved. We can obtain

$$ {\mathbf{y}}_{\mathrm{BS}}^m={\mathbf{U}}_{\mathrm{BS}}^m{\displaystyle \sum_{i=1}^{N_c}}{\mathbf{G}}_{\mathrm{BS},{C}_i}^m{\mathbf{Q}}_{C_i}^m{s}_{C_i}^m+{\mathbf{U}}_{\mathrm{BS}}^m{\mathbf{n}}_{\mathrm{BS}}^m, $$
(25)
$$ {\mathbf{y}}_{D_j}^m={\mathbf{U}}_{D_j}^m{\mathbf{G}}_{D_j,{D}_j}^m{\mathbf{Q}}_{D_j}^m{s}_{D_j}^m+{\mathbf{U}}_{D_j}^m{\mathbf{n}}_{D_j}^m,j=1,\dots, {N}_d, $$
(26)

where \( {\mathbf{U}}_{\mathrm{BS}}^m \) and \( {\mathbf{U}}_{D_j}^m\left(j=1,\dots, {N}_d\right) \) are the interference-nulling matrices at the BS and DUE-RX. The precoding and decoding matrix designs will be described later. After ZF decoding, the post-processing SINR of the j-th DUE-TX (j = 1, …, N d ) can be obtained as

$$ {\gamma}_{D_j}={\left(\frac{1}{M}{\displaystyle \sum_{m=0}^{M-1}}{\left(1+{\gamma}_{D_j}^m\right)}^{-1}\right)}^{-1}-1, $$
(27)

where

$$ {\gamma}_{D_j}^m=\frac{\left|{\mathbf{U}}_{D_j}^m{\mathbf{H}}_{D_j,{D}_j}^m\sqrt{{\mathbf{L}}_{D_j,{D}_j}}\sqrt{{\mathbf{E}}_{{\mathrm{D}}_j}}{\mathbf{P}}_{{\mathrm{D}}_j}^m\right|{}^2}{\sigma_{D_j}^2} $$
(28)

The SINR of the i-th CUE (i = 1, …, N c ) is

$$ {\gamma}_{C_i}={\left(\frac{1}{M}{\displaystyle \sum_{m=0}^{M-1}}{\left(1+{\gamma}_{C_i}^m\right)}^{-1}\right)}^{-1}-1, $$
(29)

where the MMSE is added at the BS receiver after decoding to distinguish different CUE flows [31] as

$$ {\gamma}_{C_i}^m=\frac{1}{\sigma_{\mathrm{BS}}^2{\left[{\left({\left({\mathbf{H}}_{\mathrm{BS}}^m\right)}^H{\mathbf{H}}_{\mathrm{BS}}^m+{\sigma}_{\mathrm{BS}}^2{\mathbf{I}}_{N_c\times {N}_c}\right)}^{-1}\right]}_{i,i}}-1. $$
(30)

The throughput of the k-th CUE subcluster and the l-th DUE subcluster in the rb-th resource is expressed as

$$ {t}_{k,l,rb}={\displaystyle \sum_{i\in {\mathrm{\mathbb{C}}}_k}}lo{g}_2\left(1+{\gamma}_{C_i}\right)+{\displaystyle \sum_{j\in {\mathbb{D}}_l}}lo{g}_2\left(1+{\gamma}_{D_j}\right). $$
(31)

2.2.2 Limitation and feasibility of the scenario using IA

The basic condition of feasible IA is shown in [25]. The feasibility is mainly related to the user number, antenna number, and data stream number which preform interaction to each other. In this scenario, it can be transformed as

$$ {\mathbf{U}}_a^{+}{\mathbf{H}}_{a,b}{\mathbf{Q}}_b=0,\forall a\ne b\mathit{\hbox{'}}, $$
(32)
$$ \mathrm{rank}\left({\mathbf{U}}_{b\hbox{'}}^{+}{\mathbf{H}}_{b\hbox{'},b}{\mathbf{Q}}_b\right)={\mathrm{DOF}}_b, $$
(33)
$$ a,b\mathit{\hbox{'}}\in \left\{\mathrm{B}\mathrm{S},{D}_1,\dots, {D}_{N_d}\right\},b\in \left\{{C}_1,\dots, {C}_{N_c},{D}_1,\dots, {D}_{N_d}\right\}. $$
(34)

where b ′ denotes the target of b and a is not the target of b. DOF is the degree of freedom representing the number of data streams in the b-th link. Yetis et al. [25] utilize Bezout’s theorem to determine whether the system is feasible. It presents that if the system is feasible, the number of equations must be less than or equal to the number of variables.

In future, the BS has enough ability to possess more antennas. Thereby, there can be more spaces to store interference at the BS. In this first analysis, we assume the BS uses N b spaces to align N d interference, while each DUE-RX uses one space to align N c  + N d – 1 interference. The interference aligning to the D2D receivers can be expressed as

$$ \mathrm{span}\left({\mathbf{H}}_{a_1,{b}_1}{\mathbf{Q}}_{b_1}\right)=\dots =\mathrm{span}\left({\mathbf{H}}_{a_1,{b}_{\beta }}{\mathbf{Q}}_{b_{\beta }}\right)=\dots =\mathrm{span}\left({\mathbf{H}}_{a_1,{b}_{N_c+{N}_d}}{\mathbf{Q}}_{b_{N_c+{N}_d}}\right),{a}_1\ne {b}_{\beta}^{\mathit{\hbox{'}}}, $$
$$ \mathrm{span}\left({\mathbf{H}}_{a_2,{b}_1}{\mathbf{Q}}_{b_1}\right)=\dots =\mathrm{span}\left({\mathbf{H}}_{a_2,{b}_{\beta }}{\mathbf{Q}}_{b_{\beta }}\right)=\dots =\mathrm{span}\left({\mathbf{H}}_{a_2,{b}_{N_c+{N}_d}}{\mathbf{Q}}_{b_{N_c+{N}_d}}\right),{a}_2\ne {b}_{\beta}^{\mathit{\hbox{'}}}, $$
(35)
$$ \mathrm{span}\left({\mathbf{H}}_{a_{N_d},{b}_1}{\mathbf{Q}}_{b_1}\right)=\dots =\mathrm{span}\left({\mathbf{H}}_{a_{N_d},{b}_{\beta }}{\mathbf{Q}}_{b_{\beta }}\right)=\dots =\mathrm{span}\left({\mathbf{H}}_{a_{N_d},{b}_{N_c+{N}_d}}{\mathbf{Q}}_{b_{N_c+{N}_d}}\right),{a}_{N_d}\ne {b}_{\beta}^{\mathit{\hbox{'}}}, $$

where β represents the subscript of the user set of the transmit side. The number of precoding matrix is N c  + N d , and the number of uncorrelated equations for D2D receivers is N d (N c  + N d  – 2). In terms of BS, there are N d  − N b uncorrelated equations. The overall system is solvable if and only if N c  + N d  ≥ N d (N c  + N d  − 2) + N d  − N b . Since N b  ≥ 0, N d being set to 1 can acquire feasible cases no matter which N c is. If N d denotes larger than 1, then

$$ \left[\frac{2{N}_d-{\left({N}_d\right)}^2+{N}_b}{N_d-1}\right]\ge {N}_c\ge 0, $$
(36)
$$ \left({N}_d-1\right)\left({N}_c+{N}_d\right)-{N}_d\le {N}_b. $$
(37)

As (36) and (37) show, if N b  = 1, the feasible combinations do not exist. If N b  = 2, then the only two feasible cases are N c  = 1, N d  = 2 and N c  = N d  = 2. In normalization, a relatively lower bound of N b will be satisfied when N c  = N d which is without loss of generality. Then, (37) is transformed into N c  = N d  ≤ N b . That means BS must use at least N d spaces to align interference. Besides, BS acquires N c target signals. Combining the target and interference spaces, the total antenna number of BS, N r , must be at least N c  + N d for a feasible system.

It can be inferred that the more antenna number is, the more users the system can contain. If we assume D2D receivers have more spaces to align interference, the minimum implementation needs to be figured out for a feasible system. In the second analysis, we use a method similar to [25] to evaluate the relation between N t and N d . We add the influence of antenna. The number of equation is

$$ {N}_e={\displaystyle \sum_{a\ne b\hbox{'}}}{d}_a{d}_b;a,b\mathit{\hbox{'}}\in \left\{\mathrm{B}\mathrm{S},{D}_1,\dots, {D}_{N_d}\right\},b\in \left\{{C}_1,\dots, {C}_{N_c},{D}_1,\dots, {D}_{N_d}\right\}. $$
(38)

We assume each user transmits a data stream at one time. That means its DOF is 1. Also, BS receives N c data streams simultaneously so its DOF is N c . The equation number is

$$ {N}_e={N}_c{N}_d+{N}_c{N}_d+\left({N}_d-1\right){N}_d, $$
(39)

where the terms are respectively DUE-TX to BS, CUE to DUE-RX, and DUE-TX to the other D2D pairs’ DUE-RX in a cluster. Next, after removing the superfluous variables, the effective variable number for each user is N u = N t − 1, while the BS’s is N v = N c(N r − N c). The inequality must be satisfied which is shown below

$$ \begin{array}{c}\hfill {N}_e\le \left({N}_c+{N}_d\right){N}_u+{N}_d{N}_u+{N}_c\left({N}_r-{N}_c\right),\hfill \\ {}\hfill {N}_c{N}_d+{N}_c{N}_d+\left({N}_d-1\right){N}_d\le \left({N}_c+2{N}_d\right)\left({N}_t-1\right)+{N}_c\left({N}_r-{N}_c\right),\hfill \\ {}\hfill {\left({N}_c+{N}_d\right)}^2+{N}_c+{N}_d\le \left({N}_c+2{N}_d\right){N}_t+{N}_c{N}_r.\hfill \end{array} $$
(40)

The deriving result of (40) is the general restricted relation between user number and antenna number in the investigated scenario. If N r  = N c  + N d and N c  = N d , then

$$ \left[\frac{2{N}_d+2}{3}\right]\le {N}_t. $$
(41)

As (41), the feasible user antenna number increases linearly with D2D user number. As long as there is enough antenna number, the more satisfied users can be accommodated in the system. IA has a great potential to increase the number of users. The feasible implementations for a practical N c  = N d system of the investigated scenario are N r  = N c  + N d and N t  ≥ (2N d  + 2)/3. It is worth noting that these two conditions are the sufficient but not the necessity conditions of feasible IA in the investigated scenario.

2.2.3 Precoding and decoding designs

The linear precoding and decoding codebook designs are related to specific scenario parameters, particularly the number of users and antennas. Cadambe and Jafar [23] state that each receiver should use at least one antenna to receive a target signal and at least one antenna to receive the interference. We select a group of the feasible implementation from the last section. As the standard implementation in 3GPP LTE [32,33] presents, the BS is configured with 4 with antennas, i.e., N r  = 4, and each user is configured with 2 antennas, i.e., N t  = 2. As a simple example, we assume N c  = N d  = 2 in a cluster. The parameters submitting formula (40) are general in practical usage.

Using the above parameter setting, three interference signals seen by each DUE-RX are aligned into a signal space. Thus, the transmitter strategy is to select beamforming vectors to satisfy the following constraints:

$$ \mathrm{span}\left({\mathbf{G}}_{D_1,{C}_1}^m{\mathbf{Q}}_{C_1}^m\right)=\mathrm{span}\left({\mathbf{G}}_{D_1,{C}_2}^m{\mathbf{Q}}_{C_2}^m\right)=\mathrm{span}\left({\mathbf{G}}_{D_1,{D}_2}^m{\mathbf{Q}}_{D_2}^m\right), $$
(42)
$$ \mathrm{span}\left({\mathbf{G}}_{D_2,{C}_1}^m{\mathbf{Q}}_{C_1}^m\right)=\mathrm{span}\left({\mathbf{G}}_{D_2,{C}_2}^m{\mathbf{Q}}_{C_2}^m\right)=\mathrm{span}\left({\mathbf{G}}_{D_2,{D}_1}^m{\mathbf{Q}}_{D_1}^m\right), $$
(43)

where span(A) stands for the vector space spanned by the column vectors of the matrix A. Then,

$$ {\mathbf{Q}}_{C_2}^m={{\mathbf{G}}_{D_2,{C}_2}^m}^{-1}{\mathbf{G}}_{D_2,{C}_1}^m{\mathbf{Q}}_{C_1}^m, $$
(44)
$$ {\mathbf{Q}}_{D_1}^m={{\mathbf{G}}_{D_2,{D}_1}^m}^{-1}{\mathbf{G}}_{D_2,{C}_1}^m{\mathbf{Q}}_{C_1}^m, $$
(45)
$$ {\mathbf{Q}}_{D_2}^m={{\mathbf{G}}_{D_1,{D}_2}^m}^{-1}{\mathbf{G}}_{D_1,{C}_2}^m{{\mathbf{G}}_{D_2,{C}_2}^m}^{-1}{\mathbf{G}}_{D_2,{C}_1}^m{\mathbf{Q}}_{C_1}^m, $$
(46)
$$ \mathrm{span}\left({\mathbf{Q}}_{C_1}^m\right)=\mathrm{span}\left({{\mathbf{G}}_{D_1,{C}_1}^m}^{-1}{\mathbf{G}}_{D_1,{C}_2}^m{{\mathbf{G}}_{D_2,{C}_2}^m}^{-1}{\mathbf{G}}_{D_2,{C}_1}^m{\mathbf{Q}}_{C_1}^m\right). $$
(47)

As (47) expresses, \( {\mathbf{Q}}_{C_1}^m \) can be set as the eigenvector of \( {{\mathbf{G}}_{D_1,{C}_1}^m}^{-1}{\mathbf{G}}_{D_1,{C}_2}^m{{\mathbf{G}}_{D_2,{C}_2}^m}^{-1}{\mathbf{G}}_{D_2,{C}_1}^m \), and then, all precoding matrices \( {\mathbf{Q}}_{C_1}^m,{\mathbf{Q}}_{C_2}^m,{\mathbf{Q}}_{D_1}^m,{\mathbf{Q}}_{D_2}^m \) can be similarly determined.

After deriving precoding matrices, the corresponding ZF decoding matrices also need to be derived to preserve the target spaces. Taking \( {\mathbf{y}}_{D1}^m \) as an example, because \( {\mathbf{G}}_{D1,C1}^m{\mathbf{Q}}_{C1}^m \), \( {\mathbf{G}}_{D1,C2}^m{\mathbf{Q}}_{C2}^m \), and \( {\mathbf{G}}_{D1,D2}^m{\mathbf{Q}}_{D2}^m \) have been aligned in the same space, we select any one of them and then use SVD decomposition, i.e., \( {\mathbf{G}}_{D1,C1}^m{\mathbf{Q}}_{C1}^m=\left[{\mathbf{U}}_1\boldsymbol{\Lambda} \mathbf{V}\right] \). We take the second column of U 1, which is denoted as U 1 (2). Then, the ZF matrix at DUE-RX1, D 1, is \( {\mathbf{U}}_{D_1}^m={\left({\mathbf{U}}_1^{(2)}\right)}^T \). Because U 1 is a unitary matrix, \( {\left({\mathbf{U}}_1^{(2)}\right)}^T{\mathbf{G}}_{D1,C1}^m{\mathbf{Q}}_{C1}^m \) can preserve the target signal and eliminate the interference signal. Similar to D 1, \( {\mathbf{U}}_{D_2}^m \) can be derived. In terms of the BS receiving the C 1 signal, after using SVD decomposition to obtain \( {\mathbf{G}}_{\mathrm{BS},C1}^m{\mathbf{Q}}_{C1}^m=\left[{\mathbf{U}}_2\boldsymbol{\Lambda} \mathbf{V}\right] \), we select the second, the third, and the fourth columns as U 2 (2–4), and \( {\mathbf{U}}_{C_1}^m \) is (U 2 (2–4))T. To obtain the C 2 signal, \( {\mathbf{U}}_{C_1}^m{\mathbf{G}}_{\mathrm{BS},C2}^m{\mathbf{Q}}_{C2}^m=\left[{\mathbf{U}}_3\boldsymbol{\Lambda} \mathbf{V}\right] \), then, we set \( {\mathbf{U}}_{C_2}^m \) is (U 3 (3–4))T.

3 Formulation of joint user clustering and resource allocation problem

The prior section presents the cluster throughput calculation of each RB in the multiplex (19) and IA (31) schemes. Regardless of the employed scheme, the objective is to maximize the overall system throughput via joint user clustering and resource allocation. Before solving the optimization problem, we need to derive the throughput of each resource pattern as

$$ t{\mathit{\hbox{'}}}_{k,l,n}={\displaystyle \sum_{rb\in {\mathrm{\mathbb{R}}}_n}}{t}_{k,l,rb},\forall k,l. $$
(48)

The indicator x k,l,n  = 1 represents that the n-th resource pattern is assigned to the CUE subcluster k and DUE subcluster \( {\mathbb{D}}_l \); otherwise, x k,l,n  = 0. If n = 1 and x k,l,n  = 1, it means that there is no resource assigned to this cluster; thus, t ' k,l,1 = 0. Mathematically, the optimization problem can be formulated as

$$ \underset{\left\{k,l,n\right\}}{ \max }{\displaystyle \sum_{k=1}^{N_{all,c}}}{\displaystyle \sum_{l=1}^{N_{all,d}}}{\displaystyle \sum_{n=1}^{N_{all,rb}}}{x}_{k,l,n}t{\mathit{\hbox{'}}}_{k,l,n} $$
(49)

subject to

$$ {\displaystyle \sum_{l=1}^{N_{all,d}}}{\displaystyle \sum_{n=1}^{N_{all,rb}}}{x}_{k,l,n}\le 1,\forall k $$
(a)
$$ {\displaystyle \sum_{k=1}^{N_{all,c}}}{\displaystyle \sum_{n=1}^{N_{all,rb}}}{x}_{k,l,n}\le 1,\forall l $$
(b)
$$ {\displaystyle \sum_{k=1}^{N_{all,c}}}{\displaystyle \sum_{l=1}^{N_{all,d}}}{x}_{k,l,n}\le 1,\forall n\ne 1 $$
(c)
$$ {\mathrm{\mathbb{C}}}_{k1}{\displaystyle \cap }\ {\mathrm{\mathbb{C}}}_{k2}=\varnothing, k1\ne k2 $$
(d)
$$ {\mathbb{D}}_{l1}{\displaystyle \cap }\ {\mathbb{D}}_{l2}=\varnothing, l1\ne l2 $$
(e)
$$ {\mathrm{\mathbb{R}}}_{n1}{\displaystyle \cap }\ {\mathrm{\mathbb{R}}}_{n2}=\varnothing, n1\ne n2 $$
(f)

The descriptions of constraints (a) to (f) are as follows:

  1. (a)

    indicates that each CUE subcluster can share a resource allocation pattern, including an empty resource pattern, with at most one DUE subcluster;

  2. (b)

    indicates that each DUE subcluster can share a resource allocation pattern, including an empty resource pattern, with at most one CUE subcluster;

  3. (c)

    indicates that each resource allocation pattern, except the empty pattern, can only be allocated to at most one CUE subcluster and one DUE subcluster;

  4. (d)

    guarantees that each CUE can only be selected by one CUE subcluster. k1 and k2 represent the indices of the selected CUE subclusters that are allocated resources;

  5. (e)

    guarantees that each D2D pair can only be selected by one DUE subcluster. l1 and l2 represent the indices of selected DUE subclusters that are allocated resources;

  6. (f)

    guarantees that each RB is only allocated to a cluster. n1 and n2 represent the indices of the employed resource pattern.

The joint optimization used to maximize the overall rates of the CUEs and DUEs sharing the same resources is a typical discrete optimization problem and must be non-convex. The usual method to obtain the optimal result of such types of problem is exhaustive searching which is extremely difficult, i.e., NP-hard [29,30]. Because x k,l,n is 0 or 1, the problem can be transformed as a standard binary-integer programming problem. In this paper, we utilize low-complexity heuristic algorithms to obtain approximately optimal results that do not have much loss of performance compared to the optimal one.

4 Joint user clustering and resource allocation algorithms

In this section, we first present the standard binary-integer programming of the optimization problem and subsequently develop a two-step algorithm to solve it. Finally, a location-based algorithm is provided to obtain a good trade-off between performance and complexity.

4.1 Standard binary-integer programming form

Define a N all. c N all. d K all. rb  × 1 user clustering and resource allocation vector and a N all. c N all. d K all. rb  × 1 normalized throughput vector whose elements are calculated by (48) as

$$ \begin{array}{c}\hfill x=\Big[{x}_{1,1,1},\cdots, {x}_{1,1,{N}_{all,rb}},\cdots, {x}_{1,{N}_{all,d},1},\cdots, {x}_{1,{N}_{all,d},{N}_{all,rb}},{x}_{2,1,1},\cdots, {x}_{2,1,{N}_{all,rb}},\cdots, {x}_{2,{N}_{all,d},1},\hfill \\ {}\hfill \cdots, {x}_{2,{N}_{all,d},{N}_{all,rb}},\cdots {x}_{N_{all,c},1,1},\cdots, {x}_{N_{all,c},1,{N}_{all,rb}},\cdots, {x}_{N_{all,c},{N}_{all,d},1},\cdots, {x}_{N_{all,c},{N}_{all,d},{N}_{all,rb}}\Big]{}^T\hfill \end{array} $$
(50)
$$ \begin{array}{c}\hfill t=\Big[t{\mathit{\hbox{'}}}_{1,1,1},\cdots, t{\mathit{\hbox{'}}}_{1,1,{N}_{all,rb}},\cdots, t{\mathit{\hbox{'}}}_{1,{N}_{all,d},1},\cdots, t{\mathit{\hbox{'}}}_{1,{N}_{all,d},{N}_{all,rb}},t{\mathit{\hbox{'}}}_{2,1,1},\cdots, t{\mathit{\hbox{'}}}_{2,1,{N}_{all,rb}},\cdots, t{\mathit{\hbox{'}}}_{2,{N}_{all,d},1},\hfill \\ {}\hfill \cdots, t{\mathit{\hbox{'}}}_{2,{N}_{all,d},{N}_{all,rb}},\cdots t{\mathit{\hbox{'}}}_{N_{all,c},1,1},\cdots, t{\mathit{\hbox{'}}}_{N_{all,c},1,{N}_{all,rb}},\cdots, t{\mathit{\hbox{'}}}_{N_{all,c},{N}_{all,d},1},\cdots, t{\mathit{\hbox{'}}}_{N_{all,c},{N}_{all,d},{N}_{all,rb}}\Big]{}^T\hfill \end{array} $$
(51)

Reformulate the optimization as

$$ \underset{\mathbf{x}}{ \min}\left\{-{\mathbf{t}}^T\mathbf{x}\right\} $$
(52)

subject to

$$ \mathbf{R}\mathbf{x}\le {1}_{\left({N}_c{N}_d{N}_{rb}+{K}_c+{K}_d\right)\times 1} $$
(53)

where R is a (N c N d K rb  + K c  + K d ) × N all. c N all. d N all. rb constraint matrix containing only 0 and 1. This matrix can be expressed as

$$ \mathbf{R}=\left[\begin{array}{c}\hfill {1}_{1\times \left({N}_{all,c}{N}_{all,d}\right)}\otimes \mathbf{J}\hfill \\ {}\hfill \mathbf{F}\otimes {1}_{1\times {N}_{all.d}}\otimes {1}_{1\times {N}_{all,rb}}\hfill \\ {}\hfill {1}_{1\times {N}_{all.c}}\otimes \mathbf{N}\otimes {1}_{1\times {N}_{all,rb}}\hfill \end{array}\right]. $$
(54)

The first bar represents the extended resource constraint matrix used to ensure the constraints (c) and (f) of (49), where J is a (N c N d K rb ) × N all. rb resource pattern matrix for each cluster. Because there are N c CUEs and N d D2D pairs in a cluster utilizing the same resource pattern, J can be expressed as

$$ \mathbf{J}={1}_{\left({N}_c{N}_d\right)\times 1}\otimes \mathbf{T}, $$
(55)

where T is a K rb  × N all. rb basic resource pattern matrix used to list all types of adjacent resources, including an empty pattern. The second bar represents the extended CUE constraint matrix used to ensure the constraints (a) and (d) of (49), where F is a K c  × N all. c CUE subcluster matrix for a fixed resource allocation pattern and a fixed DUE subcluster. The third bar represents the extended DUE constraint matrix used to ensure the constraints (b) and (e) of (49), where N is a K d  × N all. d DUE subcluster matrix for a fixed resource allocation pattern and a fixed CUE subcluster. For example, N c  = N d  = 2, K rb  = 6, and K c  = K d  = 12 is a group of example parameters in this paper; thus, there are N all. c  = K c (K c  − 1)/2 different types of CUE subcluster and N all. d  = K d (K d  − 1)/2 different types of DUE subcluster. Then,

$$ \mathbf{F}=\mathbf{N}={\left[\begin{array}{ccccccccc}\hfill 1\hfill & \hfill 1\hfill & \hfill \cdots \hfill & \hfill 1\hfill & \hfill 0\hfill & \hfill 0\hfill & \hfill \cdots \hfill & \hfill 0\hfill & \hfill 0\hfill \\ {}\hfill 1\hfill & \hfill 0\hfill & \hfill \cdots \hfill & \hfill 0\hfill & \hfill 1\hfill & \hfill 1\hfill & \hfill \cdots \hfill & \hfill 0\hfill & \hfill 0\hfill \\ {}\hfill 0\hfill & \hfill 1\hfill & \hfill \cdots \hfill & \hfill 0\hfill & \hfill 1\hfill & \hfill 0\hfill & \hfill \cdots \hfill & \hfill 0\hfill & \hfill 0\hfill \\ {}\hfill 0\hfill & \hfill 0\hfill & \hfill \cdots \hfill & \hfill 0\hfill & \hfill 0\hfill & \hfill 1\hfill & \hfill \cdots \hfill & \hfill 0\hfill & \hfill 0\hfill \\ {}\hfill \vdots \hfill & \hfill \vdots \hfill & \hfill \cdots \hfill & \hfill \vdots \hfill & \hfill \vdots \hfill & \hfill \vdots \hfill & \hfill \cdots \hfill & \hfill \vdots \hfill & \hfill \vdots \hfill \\ {}\hfill 0\hfill & \hfill 0\hfill & \hfill \cdots \hfill & \hfill 0\hfill & \hfill 0\hfill & \hfill 0\hfill & \hfill \cdots \hfill & \hfill 0\hfill & \hfill 0\hfill \\ {}\hfill 0\hfill & \hfill 0\hfill & \hfill \cdots \hfill & \hfill 0\hfill & \hfill 0\hfill & \hfill 0\hfill & \hfill \cdots \hfill & \hfill 1\hfill & \hfill 0\hfill \\ {}\hfill 0\hfill & \hfill 0\hfill & \hfill \cdots \hfill & \hfill 0\hfill & \hfill 0\hfill & \hfill 0\hfill & \hfill \cdots \hfill & \hfill 0\hfill & \hfill 1\hfill \\ {}\hfill 0\hfill & \hfill 0\hfill & \hfill \cdots \hfill & \hfill 1\hfill & \hfill 0\hfill & \hfill 0\hfill & \hfill \cdots \hfill & \hfill 1\hfill & \hfill 1\hfill \end{array}\right]}_{K_c\times {N}_{all.c}} $$
(56)
$$ \mathbf{T}={\left[\begin{array}{cccccccccccccccccccccc}\hfill 0\hfill & \hfill 1\hfill & \hfill 0\hfill & \hfill 0\hfill & \hfill 0\hfill & \hfill 0\hfill & \hfill 0\hfill & \hfill 1\hfill & \hfill 0\hfill & \hfill 0\hfill & \hfill 0\hfill & \hfill 0\hfill & \hfill 1\hfill & \hfill 0\hfill & \hfill 0\hfill & \hfill 0\hfill & \hfill 1\hfill & \hfill 0\hfill & \hfill 0\hfill & \hfill 1\hfill & \hfill 0\hfill & \hfill 1\hfill \\ {}\hfill 0\hfill & \hfill 0\hfill & \hfill 1\hfill & \hfill 0\hfill & \hfill 0\hfill & \hfill 0\hfill & \hfill 0\hfill & \hfill 1\hfill & \hfill 1\hfill & \hfill 0\hfill & \hfill 0\hfill & \hfill 0\hfill & \hfill 1\hfill & \hfill 1\hfill & \hfill 0\hfill & \hfill 0\hfill & \hfill 1\hfill & \hfill 1\hfill & \hfill 0\hfill & \hfill 1\hfill & \hfill 1\hfill & \hfill 1\hfill \\ {}\hfill 0\hfill & \hfill 0\hfill & \hfill 0\hfill & \hfill 1\hfill & \hfill 0\hfill & \hfill 0\hfill & \hfill 0\hfill & \hfill 0\hfill & \hfill 1\hfill & \hfill 1\hfill & \hfill 0\hfill & \hfill 0\hfill & \hfill 1\hfill & \hfill 1\hfill & \hfill 1\hfill & \hfill 0\hfill & \hfill 1\hfill & \hfill 1\hfill & \hfill 1\hfill & \hfill 1\hfill & \hfill 1\hfill & \hfill 1\hfill \\ {}\hfill 0\hfill & \hfill 0\hfill & \hfill 0\hfill & \hfill 0\hfill & \hfill 1\hfill & \hfill 0\hfill & \hfill 0\hfill & \hfill 0\hfill & \hfill 0\hfill & \hfill 1\hfill & \hfill 1\hfill & \hfill 0\hfill & \hfill 0\hfill & \hfill 1\hfill & \hfill 1\hfill & \hfill 1\hfill & \hfill 1\hfill & \hfill 1\hfill & \hfill 1\hfill & \hfill 1\hfill & \hfill 1\hfill & \hfill 1\hfill \\ {}\hfill 0\hfill & \hfill 0\hfill & \hfill 0\hfill & \hfill 0\hfill & \hfill 0\hfill & \hfill 1\hfill & \hfill 0\hfill & \hfill 0\hfill & \hfill 0\hfill & \hfill 0\hfill & \hfill 1\hfill & \hfill 1\hfill & \hfill 0\hfill & \hfill 0\hfill & \hfill 1\hfill & \hfill 1\hfill & \hfill 0\hfill & \hfill 1\hfill & \hfill 1\hfill & \hfill 1\hfill & \hfill 1\hfill & \hfill 1\hfill \\ {}\hfill 0\hfill & \hfill 0\hfill & \hfill 0\hfill & \hfill 0\hfill & \hfill 0\hfill & \hfill 0\hfill & \hfill 1\hfill & \hfill 0\hfill & \hfill 0\hfill & \hfill 0\hfill & \hfill 0\hfill & \hfill 1\hfill & \hfill 0\hfill & \hfill 0\hfill & \hfill 0\hfill & \hfill 1\hfill & \hfill 0\hfill & \hfill 0\hfill & \hfill 1\hfill & \hfill 0\hfill & \hfill 1\hfill & \hfill 1\hfill \end{array}\right]}_{K_{rb}\times {N}_{all.rb}} $$
(57)

An exhaustive search is a straightforward and basic algorithm used to find the optimal solution of binary-integer programming problems. However, it is overly complex and impractical in real-world scenarios.

4.2 Two-step algorithm

To reduce the complexity, we propose a two-step optimization algorithm. In this algorithm, an exhaustive search algorithm is first used to find the optimal user cluster at each RB. Then, we reserve the elements in (51) that contain the users in RBs’ optimal clusters and abandon the remainder. Based on such a reduced-dimension CUE subcluster subset and DUE subcluster subset, we implement the BBS algorithm [31] to realize the joint optimization.

Let us use an example to illustrate the advantage of reducing the search space by utilizing a two-step algorithm. When K c  = K d  = 12 and K rb  = 6, the extreme case is that 6 CUE and 6 DUE subclusters will be selected to form the reduced-dimension CUE subcluster subset and DUE subcluster subset. Clearly, the dimension of such a CUE subcluster subset is substantially smaller than that of the full CUE subcluster set, i.e., N all. c  = 66. The same effect will occur in the DUE subcluster. Consequently, the search space for the optimization can be reduced, thereby decreasing its complexity.

The pseudo-code of the algorithm is shown in Table 2, where \( \overline{k} \) and \( \overline{l} \) denote that the \( \overline{k} \) -th CUE subcluster and \( \overline{l} \) -th DUE subcluster are the most suitable for rb. K and L denote the CUE subcluster subset and DUE subcluster subset, respectively. S represents the index set of all combinations between \( \widehat{k} \) from K and \( \widehat{l} \) from L. \( \widehat{x_S} \) denotes the target vector of user clustering and resource allocation.

Table 2 Low-complexity suboptimal two-step algorithm

4.3 Random clustering scheme based on distance (location-based algorithm)

When there are a large number of CUEs and DUEs in the cell, the computation is quite complex when using exhaustive searching or the two-step algorithm. Therefore, we propose a novel location-based algorithm to randomly select CUEs and D2D pairs based on a distance-constrained criterion to assemble a user cluster.

The cell is divided into two areas by a circle of radius r 0, as shown in Figure 2. The area inside the circle is denoted as A, and the area outside the circle is denoted as B. Multiplex (Section 2.1) and IA (Section 2.2) schemes are employed in those respective areas. The users are randomly distributed in the cell. Users in area A and area B are independent and are randomly combined into clusters. In a cluster, N c and N d are equal to 2. Each user is only clustered in one group. We set each user’s antenna number as N t  = 2. Each user in area A transmits a single data stream, whereas each user in area B transmits two data streams. The employed resource assignment is a random scheme, and the RBs used in different areas are orthogonal. We can suppose that there will be greater opportunity to assign resources for the area that is larger. All the RBs are fully exploited to support as many users as possible.

Figure 2
figure 2

Location-based architecture in a single-cell scenario containing two areas using IA and multiplex schemes.

We assume that area B is divided into six equal sections, denoted by B1 to B6, as illustrated in Figure 2. The main in-cluster interference is between D2D pairs and between CUEs and D2D pairs. Two D2D pairs and two CUEs are randomly located at three non-adjacent sections so that the mutual interference can be reduced to a low level. We select two D2D pairs from two of the three non-adjacent sections and two CUEs from the remaining section. Then, we combine these users into a cluster, which is employed in the multiplex scheme.

In area A, the mutual interference cannot be neglected because the distance between the CUEs and D2D pairs is not sufficiently large. Therefore, the IA scheme is adopted. The area does not need to be divided because the mutual interference is nearly non-existent when the IA scheme is used.

Next, we define r 0 and P D , where P D is the maximum transmit power of the D2D transmitter. We employ a type of dynamic power control to adjust the CUE’s uplink transmit power P c to the target SINR (the smallest SINR satisfying quality of service (QOS) requirements), while all of the D2D communications are being performed with a fixed transmission power P D . The initial P c is set at the maximum 23 dBm. The location-based algorithm’s procedure is described in detail in Table 3.

Table 3 Location-based algorithm

5 Simulation results

In this section, we present the performance of the proposed algorithms and other comparison schemes. For simplicity, we consider a single-cell scenario with various simulation parameters based on the 3GPP LTE standard [32,33], which are listed in Table 4. In this scenario, we employ IA, multiplex, and orthogonal schemes, each of which considers optimal, two-step, and random algorithms. The location-based algorithm is also considered. The orthogonal scheme is the mechanism whereby each CUE or D2D pair utilizes an independent orthogonal resource, where K rb,c and K rb,d are the numbers of resources for the CUE and D2D pairs. The random algorithm indicates that user clustering and resource allocation are random. We attempt to consider various factors, including the effect of the DUE transmit power, D2D pair mutual distance, and inner round radius.

Table 4 Simulation parameters

5.1 Effect of D2D transmit power

Figure 3 illustrates the average capacity versus the DUE transmit power for various schemes, where the distance between D2D pairs is 20 m and the inner round radius of the location-based algorithm is 300 m. In the figure, the multiplex and IA scheme simultaneously allocate each RB to two CUEs and two D2D pairs. In addition, the orthogonal scheme allocates one third of the RBs to CUEs, whereas the remaining RBs are allocated to the DUEs, and each RB is shared by two CUEs or by one pair of DUEs. Initially, in addition to the location-based algorithm, the average capacities of the IA and orthogonal schemes monotonously increase with increasing DUE transmit power. In regard to the multiplex scheme, although the useful received power increases with increasing DUE transmit power, the interference power also increases; therefore, the performance trend does not vary with the DUE transmit power. The IA and multiplex schemes using user clustering outperform the orthogonal scheme, which does not use user clustering. Additionally, when the DUE transmit power is higher than 0 dBm, which means a large power range in practical implementation, the IA scheme outperforms the multiplex and orthogonal schemes in both the two-step and optimal algorithms.

Figure 3
figure 3

Average overall capacity of different transmission schemes and corresponding algorithms versus the DUE transmit power.

As shown in Table 5, the two-step algorithm (polynomial complexity) is less complex than the optimal algorithm (exponential complexity). For a typical example of K rb  = K c  = K d  = 4 and N c  = N d  = 2, the search complexity of the two-step algorithm is 144, whereas that of the optimal algorithm is approximately 1.6E6. When K rb  = 6 and K c  = K d  = 12, the search complexities of the two-step and optimal algorithms are 2.6E4 and 6.8E21, respectively. Obliviously, the growth in the optimal algorithm’s complexity is greater.

Table 5 Complexity comparison

Figure 3 also shows that regardless of whether the scheme is an IA, multiplex, or orthogonal, the two-step algorithm has an average capacity that is similar to the optimal algorithm, and both of them outperform the random algorithm. In summary, the proposed two-step algorithm exhibits not only a higher average capacity but also a lower complexity. Nevertheless, the performance of the location-based algorithm, which employs a random algorithm, is greater than that of any other scheme using a random algorithm, and it is closer to that of the two-step algorithm in the multiplex and IA schemes. The complexity of the location-based algorithm is linear, which is considerably lower than that of the two-step algorithm and is equal to that of the random algorithm. The performance and complexity of the optimal or random algorithm cannot become optimal simultaneously because a conflict always exists between performance and complexity. However, the location-based algorithm can achieve a good trade-off between these two criteria.

5.2 Effect of distance between D2D pairs

Figure 4 presents the average capacity versus the DUE transmit power for various schemes and for different distances between DUE-TX and DUE-RX in a D2D pair (i.e., 10, 20, and 30 m). In this case, the inner round radius in the location-based algorithm is 300 m. The average capacity increases with increasing DUE transmit power. A shorter D2D mutual distance results in a superior performance for all schemes because the DUE receivers experience lower interference when the distances between D2D pairs decrease. In addition, the performance of the location-based algorithm is close to that of the IA using the two-step algorithm when the D2D mutual distance is small, whereas the performance remains close to that of the IA scheme using the random algorithm if the D2D mutual distance is large. These results occur mainly because SINR decreases with increasing path loss resulting from the increase in the D2D pair mutual distance and vice versa (in this scenario, interference remains invariant; however, the signal decreases rapidly compared to the interference variance). The simulation results imply that it is better to keep the distance between D2D users sufficiently small for the sake of good performance.

Figure 4
figure 4

Average overall capacity under different schemes and D2D pair mutual distances ρ versus the DUE transmit power.

5.3 Effect of the inner round radius

Figure 5 presents the average capacity versus the DUE transmit power using the location-based algorithm for different inner round radii, where the D2D pair mutual distance is 20 m. Different radii lead to different performances. For example, when the DUE transmit power is 5 dBm, r 0 = 300 m provides the best performance, whereas r 0 = 500 m provides the worst performance. This is mainly because the performance is determined by the inner part, whose performance decreases with increasing r 0, and the outer part, whose performance increases with increasing r 0. Therefore, an appropriate r 0 position can likely be determined to maximize the performance, but this position varies when the DUE transmit power is varied. The appropriate r 0 position monotonously increases with increasing DUE transmit power. With high DUE-TX power, a large r 0 is more suitable.

Figure 5
figure 5

Average overall capacity of the location-based algorithm using different inner round radii r 0 versus the DUE transmit power.

Figure 6 presents a CDF plot to illustrate the dynamic range and the scale of the throughput. DUE transmit power is set as 5 dBm in the proposed and comparative schemes. The location-based algorithm and the IA scheme using the random algorithm have similar dynamic ranges, whereas the multiplex scheme using the random algorithm produces a larger dynamic range. Thus, compared to the multiplex scheme using the random algorithm, the location-based algorithm is fairer to the user. In terms of the scale of the throughput, the location-based algorithm with r 0 = 200, 300, and 400 m outperforms the IA and multiplex schemes using the random algorithm. One of the reasons for this result is that the throughput of the outer circle in the location-based algorithm using a double stream is greater than that in the IA scheme using a single stream. Another reason for this is that because the outer circle is divided into six sections, a lower level of mutual interference between multiplex users can occur. The receivers using the multiplex scheme using the random algorithm will receive the complex interference, which decreases the multiplex gain. However, the location-based algorithm can be used to minimize this influence.

Figure 6
figure 6

Overall throughput cumulative probability functions in different schemes.

Figure 7 presents a CDF plot analyzing the different locations’ performance and distribution situations using the location-based algorithm, where the DUE transmit power is 5 dBm. Area A denotes the inner round using IA, whereas area B denotes the outer circle using multiplex. The inner average capacity is large when r 0 = 200 m because the inner CUEs are closer to the BS, i.e., their path losses are smaller than those of the outer CUEs. However, in this case, the outer average capacity is minimized when the mutual interference is strong. Thus, the inner performance has a positive overall impact when r 0 is small. In contrast, when r 0 = 400 m, the outer average capacity is larger than the inner average capacity. This is mainly because the performance of the outer circle is primarily determined by that of the outer circle D2D users. The increase in the average distance between CUEs and DUEs leads to the decrease in mutual interference; therefore, the D2D SINR increases. As a result, when r 0 is large, the outer performance is beneficial to the whole. Therefore, to improve the cell-edge performance, a larger radius for the inner round can be employed. Otherwise, the central performance can be improved when the radius of the inner round is decreased.

Figure 7
figure 7

Average overall throughput cumulative probability functions in different areas in the location-based algorithm.

6 Discussions

As well as [23,26], our research is based on the assumption of the global CSI known by transmitters or central BS. In terms of the IA scheme, the global CSI acquisition is an important problem and needs significant attention; otherwise, it will cause signals overhead. Jin et al. [34] provided a feedback topology design that can be used to acquire sufficient CSI and reduce signaling overhead. The method helps each transmitter to easily acquire the knowledge of the CSI. However, if the CSI condition cannot be satisfied, the IA scheme will suffer a performance loss. Once it happens, we can only employ statistical CSI as a replacement for instant CSI. The result will most likely be lower than the multiplex performance which does not require CSI knowledge. And this will make the IA scheme no sense.

Additionally, the IA scheme is to a great extent limited by the number of antennas and users. The investigated scenario is regarded as the combination of multiple access channel (MAC) [35] and K-user [23]. But to the best of our knowledge, there is no previous research on joint considering of MAC and K-user scenarios. In this paper, we mainly consider whether a feasible IA can improve the system performance besides a feasibility evaluation. The feasible inequality condition (40) is sufficient but not necessary of IA. The condition is not so tight.

Furthermore, the algorithm convergence is mainly affected by IA and power control in this research. The linear IA [23] is used in this paper which only requires a few calculation steps for precoding and decoding and cannot lead to serious signaling overhead. In order to satisfy the feasibility of linear IA, the number of antennas and users should be implemented appropriately. The iteration method is not our concern which has few differences with the linear method except for IA precoding and decoding. In terms of power control, the powers are iteratively modified by ΔP for the CUE target SINR. The solution will converge more quickly if ΔP is bigger, but the system will be unstable. We employ an abandon mechanism to guarantee convergence. If the number of iterations in an RB is more than a critical value, the corresponding communications are abandoned and reallocated. This mechanism can also prevent the system from signaling overhead.

The CSI acquirement, feasibility, and convergence issues are very important but not completely studied in this paper. In addition to the location-based algorithm utilizing fractional frequency reuse (FFR) and soft frequency reuse (SFR) algorithms in multiple-cell scenarios, they will be considered in our future work.

7 Conclusions

In this paper, we consider a single-cell scenario of multiple D2D communications underlaying MU-MIMO cellular uplink networks. First, we investigate IA and multiplex schemes in user clustering. The IA scheme can eliminate interference, and it obtains higher performance than the multiplex scheme in a large range of DUE-TX power. These two schemes can achieve higher performances compared to the orthogonal scheme, which does not employ user clustering. Second, we generalize a joint optimization problem of user clustering and resource allocation to maximize the overall throughput. To derive the solution, because the global optimal method is an exhaustive search with very high complexity, we propose a two-step algorithm and a location-based algorithm to reduce the complexities with minimal loss of performance. The location-based algorithm, composed of IA and multiplex schemes, has both the low interference advantage of the IA scheme and the easy implementation advantage of the multiplex scheme. The simulation results show that the proposed location-based algorithm produces low levels of mutual interference for multiplex users and that its performance is near optimal under low practical complexity; therefore, it exhibits a good trade-off between performance and complexity. Finally, we evaluate the effect of the distance between D2D pairs and the effect of the appropriate inner round radius r 0 of the location-based algorithm. The results show that it is better to keep the distance between DUE-TX and DUE-RX sufficiently small to obtain a better performance and that it is more suitable to select a larger r 0 with a higher DUE-TX power condition.

References

  1. S Andreev, A Pyattaev, K Johnsson, O Galinina, Y Koucheryavy, Cellular traffic offloading onto network-assisted device-to-device connections. IEEE. Commun. Mag. 52(4), 20–31 (2014)

    Article  Google Scholar 

  2. X Lin, J Andrews, A Ghosh, R Ratasuk, An overview of 3GPP device to device proximity services. IEEE. Commun. Mag. 52(4), 40–48 (2014)

    Article  Google Scholar 

  3. GPP TS 36.213 V12.2.0, Technical specification group radio access network: evolved Universal Terrestrial Radio Access (E-UTRA), Available from: http://www.3gpp.org/, Jun. 2014.3

  4. JCF Li, M Lei, FF Gao, Device-to-device (D2D) communication in MU-MIMO cellular networks (IEEE Global Communication Conference (GLOBECOM), Anaheim, CA, USA, 2012), pp. 3583–3587

    Google Scholar 

  5. L Wei, RQ Hu, T He, Y Qian, Device-to-device (D2D) communications underlaying MU-MIMO cellular networks. (IEEE GLOBECOM Workshops, 2013), pp. 4902–4907

  6. T Peng, Q Lu, H Wang, S Xu, W Wang, Interference avoidance mechanisms in the hybrid cellular and device-to-device systems (IEEE 20th International Symposium on Personal Indoor and Mobile Radio Commun, Tokyo, 2009), pp. 617–621

    Google Scholar 

  7. Y Cheng, Y Gu, X Lin, Combined power control and link selection in device-to-device enabled cellular systems. IET. Commun. 7(12), 1221–1230 (2013)

    Article  Google Scholar 

  8. H Xing, S Hakola, The investigation of power control schemes for a device-to-device communication integrated into OFDMA cellular system (IEEE 21st International Symposium on Personal Indoor and Mobile Radio Communications (PIMRC), Istanbul, Turkey, 2010), pp. 1775–1780

    Google Scholar 

  9. Q Duong, S Oh-Soon, Distance-based interference coordination for device-to-device communications in cellular networks (IEEE Fifth International Conference on Ubiquitous and Future Networks (ICUFN), Da Nang, Vietnam, 2013), pp. 776–779

    Google Scholar 

  10. MGDS Rego, TF Maciel, HDHM Barros, FRP Cavalcanti, G Fodor, Performance analysis of power control for device-to-device communication in cellular MIMO systems (IEEE International Symposium on Wireless Communication Systems (ISWCS), Paris, France, 2012), pp. 336–340

    Google Scholar 

  11. D Feng, L Lu, Y Yi, GY Li, G Feng, S Li, Device-to-device communications underlaying cellular networks. IEEE. Trans. Commun. 61(8), 3541–3551 (2013)

    Article  Google Scholar 

  12. B Kaufman, J Lilleberg, B Aazhang, Spectrum sharing scheme between cellular users and ad-hoc device-to-device users. IEEE. Trans. Wireless. Commun. 12(3), 1038–1049 (2013)

    Article  Google Scholar 

  13. P Phunchongharn, E Hossain, DI Kim, Resource allocation for device-to-device communications underlaying LTE-advanced networks. IEEE. Wireless. Commun. 20(4), 91–100 (2013)

    Article  Google Scholar 

  14. X Chen, LY Song, Z Han, Q Zhao, X Wang, X Cheng, B Jiao, Efficiency resource allocation for device-to-device underlay communication systems: a reverse iterative combinatorial auction based approach. IEEE. J. Select. Areas. Commun. 31(9), 348–358 (2013)

    Article  Google Scholar 

  15. M Hasan, E Hossain, DI Kim, Resource allocation under channel uncertainties for relay-aided device-to-device communication underlaying LTE-A cellular networks. IEEE. Trans. Wireless. Commun. 13(4), 2322–2338 (2014)

    Article  Google Scholar 

  16. DH Lee, KW Choi, WS Jeon, DG Jeong, Two-stage semi-distributed resource management for device-to-device communication in cellular networks. IEEE. Trans. Wireless. Commun. 13(4), 1908–1920 (2014)

    Article  Google Scholar 

  17. D Zhu, J Wang, AL Swindlehurst, C Zhao, Downlink resource reuse for device-to-device communications underlaying cellular networks. IEEE. Signal. Process. Lett. 21(5), 531–534 (2014)

    Article  Google Scholar 

  18. M Belleschi, G Fodor, A Abrardo, Performance analysis of a distributed resource allocation scheme for D2D communications (IEEE GLOBECOM Workshops, Houston, America, 2011), pp. 358–362

    Google Scholar 

  19. P Janis, V Koivunen, C Ribeiro, J Korhonen, K Doppler, K Hugl, Interference-aware resource allocation for device-to-device radio underlaying cellular networks (IEEE Vehicular Technology Conference Spring, Barcelona, 2009), pp. 1–5

    Google Scholar 

  20. S Xu, H Wang, T Chen, Q Huang, T Peng, Effective interference cancellation scheme for device-to-device communication underlaying cellular networks (IEEE Vehicular Technology Conference Fall, Ottawa, 2010), pp. 1–5

    Google Scholar 

  21. H Min, J Lee, S Park, D Hong, Capacity enhancement using an interference limited area for device-to-device uplink underlaying cellular networks. IEEE. Trans. Wireless. Commun. 10(12), 3995–4000 (2011)

    Article  Google Scholar 

  22. P Janis, V Koivunen, CB Ribeiro, K Doppler, K Hugl, Interference-avoiding MIMO schemes for device-to-device radio underlaying cellular networks (IEEE 20th International Symposium on Personal Indoor and Mobile Radio Communications, Tokyo, Japan, 2009), pp. 2385–2389

    Google Scholar 

  23. VR Cadambe, SA Jafar, Interference alignment and degrees of freedom of the K-user interference channel. IEEE. Trans. Inf. Theory. 54(8), 3425–3441 (2008)

    Article  MATH  MathSciNet  Google Scholar 

  24. SA Jafar, Interference alignment - a new look at signal dimensions in a communication network. Found. Trends Commun. Inform. Theory. 7(1), 2010

  25. CM Yetis, TG Gou, SA Jafar, AH Kayran, On feasibility of interference alignment in MIMO interference networks. IEEE. Trans. Signal. Process. 58(9), 4771–4782 (2010)

    Article  MathSciNet  Google Scholar 

  26. M Zulhasnine, C Huang, A Srinivasan, Efficient resource allocation for device-to-device communication underlaying LTE network (IEEE 6th International conference on WiMob, Niagara Falls, Ottawa, Canada, 2010), pp. 368–375

    Google Scholar 

  27. C-H Yu, K Doppler, C Ribeiro, O Tirkkonen, Resource sharing optimization for device-to-device communication underlaying cellular networks. IEEE. Trans. Wireless. Commun. 10(8), 2752–2763 (2011)

    Article  Google Scholar 

  28. C Xu, LY Song, Z Han, Resource management for device-to-device underlay communication. Springer Briefs in Computer Science, 2014

  29. S Boyd, L Vandenberghe, Convex optimization. Cambridge University Press, 2004

  30. MR Garey, DS Johnson, Computers and intractability: a guide to the theory of NP-completeness. Freeman, 1979

  31. J Fan, GY Li, Q Yin, B Peng, X Zhu, Joint user pairing and resource allocation for LTE uplink transmission. IEEE. Trans. Wireless. Commun. 11(8), 2838–2847 (2012)

    Google Scholar 

  32. GPP TR 36.843 V12.0.1, Technical specification group radio access network: study on LTE device to device proximity services. Available from: http://www.3gpp.org/, Mar. 2014

  33. GPP TR 36.942 V11.0.0, Technical specification group radio access network: Evolved Universal Terrestrial Radio Access (E-UTRA), Available from: http://www.3gpp.org/, Sep. 2012

  34. J Jin, L Li, H Tian, Q Wang, X Gao, New feedback topology designs with reduced CSI overhead for MIMO interference alignment. IEEE. Signal. Process. Lett. 21(2), 176–179 (2014)

    Article  Google Scholar 

  35. X Qu, CG Kang, A closed-form solution to implement interference alignment and cancellation for Gaussian Interference Multiple Access Channel. IEEE. Trans. Wireless. Commun. 13(2), 710–723 (2014)

    Article  MathSciNet  Google Scholar 

Download references

Acknowledgements

This work is supported in part by the National Natural Science Foundation of China under Grant 61302082 and in part by the National High-tech Research and Development Program of China under Grant 2014AA01A701.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Qiang Wang.

Additional information

Competing interests

The authors declare that they have no competing interests.

Rights and permissions

Open Access This article is distributed under the terms of the Creative Commons Attribution 4.0 International License (https://creativecommons.org/licenses/by/4.0), which permits use, duplication, adaptation, distribution, and reproduction in any medium or format, as long as you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons license, and indicate if changes were made.

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Wang, Q., Lai, C., Dong, Y. et al. Joint user clustering and resource allocation for device-to-device communication underlaying MU-MIMO cellular networks. J Wireless Com Network 2015, 145 (2015). https://doi.org/10.1186/s13638-015-0358-6

Download citation

  • Received:

  • Accepted:

  • Published:

  • DOI: https://doi.org/10.1186/s13638-015-0358-6

Keywords