1 Introduction

Long term evolution-advanced (LTE-A) which is defined by the 3rd Generation Partnership Project (3GPP) has been deployed widely as the fourth-generation (4G) wireless communication system to provide the high data rate service. The LTE-A system adopts the orthogonal frequency division multiple access (OFDMA) and multiple input multiple output (MIMO) techniques to achieve the high-speed service for the user equipment (UE).

To cope with the time-varying fading wireless channels, the transmitter (Tx) usually uses the feedback channel state information (CSI) to adjust the transmit parameters such as modulation, code rate, spatial layer, and the adopted precoding matrix [1, 2]. In the LTE-A system, CSI can be acquired at the Tx via three primary parameters, i.e., rank indicator (RI), precoding matrix indicator (PMI), and channel quality indicator (CQI). These parameters can help the Tx dynamically in selecting the appropriate parameters to achieve a better and reliable transmission. Therefore, how to decide appropriate and efficient feedback information is an important issue for the LTE system.

Among these parameters, the purpose of the precoding is to select a suitable precoding matrix at the Tx to ease the effect of the multipath fading channel and improve the system capacity. Take the transmission with four antennas as an example [3, 4], the precoding matrix W can be generated via the Householder Matrix which is defined as \(W = I - \frac{{2u_{n} u_{n}^{H} }}{{u_{n}^{H} u_{n} }}\), where I is the 4 × 4 identity matrix and the 4 × 1 vector u n is the generation vector with elements selected from the values \(\{ \pm 1, \pm j, \pm \tfrac{(1 + j)}{\sqrt 2 }, \pm \tfrac{(1 - j)}{\sqrt 2 }\}\). With the help of the precoding matrix, different layered data streams can be transmitted on the multiple antennas at the Tx. Figure 1 depicts the process of the PMI selection between the Tx and receiver (Rx). The Rx acquires the CSI from the common reference signal (CRS) sent by the Tx before feedbacks the precoding matrix index (PMI) to the Tx. On the other hand, PMI is selected based on some criterion, such as the maximization of the signal to noise ratio (SNR)…etc., at the Rx. The selected PMI is sent back via the feedback channel to inform the Tx. Thereafter, Tx can apply the precoding on the transmitted signal in accordance with the received PMI to cope with the variation of the channel. Different precoding matrix selections will result in different system capacity and bit error rate (BER) performances [5, 6]. In [7], authors described a precoding matrix selection method based on mutual information (MI) maximization. This method has very good capacity performance. However, the required computation is a serious concern. In [8], authors reported a QR decomposition precoding matrix selection method based on the minimization of the mean square error (MSE). In [9], a low complexity precoding matrix selection method was proposed involving the maximization of the eigen-trace of the MIMO channels.

Fig. 1
figure 1

Process of the precoding

Besides, in order to satisfy the requirements for the proximity service and the public safety, device-to-device (D2D) communication has been proposed as a new feature in 3GPP LTE-A Release-12 [3]. In principle, D2D enables the direct link between nearby mobile devices to improve the spectrum utilization, overall throughput and energy efficiency. In D2D communication, the proximity UEs transmit data to each other directly on the LTE radio spectrum to have the advantages of higher data rate and lower power consumption. Therefore, D2D communication can not only avoid the congestion of the cellular network, it can also increase the spectral efficiency and reduce the unnecessary energy waste. However, D2D will cause the interference to cellular network because of the re-usage of the spectrum resources. For example, D2D user equipment (DUE) will be interfered by the base station (BS) in the downlink and the cellular user equipment (CUE) will also receive the interference from the D2D Tx simultaneously if both use the same spectrum. Therefore, how to efficiently control the interferences via the appropriate precoding matrix becomes a very critical problem, especially for the usage of D2D communication.

In [10], the precoding selection for the D2D was approximated as a convex problem. Nevertheless, it requires large amount of computations and has the problem of convergence when there are multiple cellular users nearby. The precoding scheme in [11] adopted the orthogonal precoding matrix to avoid the interferences. However, how to generate the required orthogonal matrices is not unclear. Besides, it is also not applicable to the current deployed LTE-A system that using the pre-defined precoding matrices at the Tx [12, 13]. In [1], authors proposed several precoding selection methods for the D2D based on the maximization of the signal to leakage noise ratio (SLNR). In [2], the signal to interference plus noise ratio (SINR) is maximized to determine the precoding matrix for the D2D transmission. In this paper, two algorithms for the cooperative MIMO precoding selection to mitigate the co-channel interferences between D2D and cellular transmission are proposed. The proposed methods adopt the subset and iterative concept to complete the precoding selection. Besides, a resource selection method is also provided to select an appropriate spectrum resource among the nearby base station users.

This paper is organized as follow. Section 2 formulates the problem of the codebook selection and illustrates the proposed subset and iterative precoding selection methods. In Sect. 3, computer simulations are conducted to evaluate the performance of the proposed methods and the related literary methods by using the 3GPP LTE precoding matrices [4]. Moreover, actual indoor channels were also measured to further verify the predictions of the simulation results. Finally, some conclusions for this paper are given in Sect. 4.

2 Problem formulation and method descriptions

2.1 Problem formulation

In Fig. 2, consider a MIMO system in the cellular network with the BS as the cellular operator, D2D communication is enabled between UEs who are close to each other. UEs in the D2D direct communication are denoted as DUE. On the other hands, the users served by the cellular are denoted by CUE. The scenario that D2D communication occupies the same spectrum with BS Downlink transmission is considered.

Fig. 2
figure 2

System model for the D2D cellular

Assume that the downlink spectrum resource is allowed to be re-used by only one D2D link. In such scenario, the D2D link will be interfered by the BS and CUE will also be interfered by the D2D communication in the proximity. Let N e be the number of transmit antennas, N D is the number of receive antennas, and the BS and D2D Tx (D2D Tx ) transmit K (K = min (N e , N D )) independent data streams (spatial layer), min(N e , N D ) is to choose the minimum of N e and N D . The received signal at D2D Rx (D2D Rx ) is

$$y_{D} = \sqrt {\rho_{D} } H_{D} W_{D} S_{D} + \sqrt {\eta_{C} } H_{C2D} W_{C} S_{C} + n_{D}$$
(1)

where the MIMO channel matrix \({\mathbf{H}}_{D}\) is the N D  × N D downlink channel from the D2D Tx , and \({\mathbf{H}}_{C2D}\) is the N e  × N D interference channel from BS to D2D Rx . W D denotes the precoding matrix used at the D2D Tx and W C is the precoding matrix at the BS, n D is the received zero-mean additive white Gaussian noise (AWGN) at D2D Rx , with variance σ 2 nc , ρ D is the SNR at D2D Rx and η C is the interference to noise ratio (INR).

On the contrary, the received signal at CUE is

$$y_{C} = \sqrt {\rho_{C} } H_{C} W_{C} S_{C} + \sqrt {\eta_{D} } H_{D2C} W_{D} S_{D} + n_{C}$$
(2)

where \({\mathbf{H}}_{C}\) is the N D  × N e downlink channel from BS to CUE, \({\mathbf{H}}_{D2C}\) is the N D  × N D interference channel from D2D Tx to CUE, n C is the received zero-mean AWGN at CUE with variance σ 2 nc ρ C is the SNR at CUE and η D is the INR.

In this paper, the problem is how to appropriately select the preccoding pair (W C , W D ) at the D2D Tx and BS, respectively to maximize the system capacity. Based on the signal models in Eqs. (1) and (2), the received SINR at D2D Rx and CUE are [2]

$$\begin{aligned} SINR_{D} & = \rho_{D} (H_{D} W_{D} )^{H} \left( {\eta_{C} H_{C2D} W_{C} \left( {H_{C2D} W_{C}^{H} } \right) + \sigma_{{n_{D} }}^{2} I} \right)^{ - 1} H_{D} W_{D} \\ & = \rho_{D} \left\| {H_{D} W_{D} } \right\|_{2}^{2} \left( {\eta_{C} \left\| {H_{C2D} W_{C} } \right\|_{2}^{2} + \sigma_{{n_{D} }}^{2} } \right)^{ - 1} \\ \end{aligned}$$
(3)
$$\begin{aligned} SINR_{C} & = \rho_{C} (H_{C} W_{C} )^{H} \left( {\eta_{D} H_{D2C} W_{D} \left( {H_{D2C} W_{D}^{H} } \right) + \sigma_{{n_{C} }}^{2} I} \right)^{ - 1} H_{C} W_{C} \\ & = \rho_{C} \left\| {H_{C} W_{C} } \right\|_{2}^{2} \left( {\eta_{D} \left\| {H_{D2C} W_{D} } \right\|_{2}^{2} + \sigma_{{n_{C} }}^{2} } \right)^{ - 1} \\ \end{aligned}$$
(4)

With the full CSI, the capacities at D2D Rx and CUE can be

$$T_{D} (W_{C} ,W_{D} ) = B\log (1 + SINR_{D} )$$
(5)
$$T_{D} (W_{C} ,W_{D} ) = B\log (1 + SINR_{C} )$$
(6)

where B is the bandwidth. The total capacity for the CUE link and D2D link is

$$T = T_{D} + T_{C}$$
(7)

Therefore, the problem in this paper is to find the precoding pair (W C , W D ) to maximize the total capacity in Eq. (7) for the D2D communications.

2.2 Proposed subset-based precoding selection method

First of all, based on the SINR calculation, the proposed subset-based method generates the subsets Ω C,D at the CUE and Ω D,C at the D2D Rx via Eqs. (8) and (9), respectively.

$$\Omega _{C,D} = \left\{ {(W_{C} ,W_{D} ):SINR_{C} > \varepsilon } \right\}$$
(8)
$$\Omega _{D,C} = \left\{ {(W_{C} ,W_{D} ):SINR_{D} > \varepsilon } \right\}$$
(9)

CUE and D2D Rx will use the CSI to calculate the SINR C and SINR D to find the precoding matrix pairs with SINR C and SINR D higher than a default threshold ɛ. The threshold can be a value or a ratio. For example if the threshold is set to be as 30 %, Eqs. (8) and (9) will calculate the SINRs for all the combinations of (W C , W D ) and the combinations with SINRs at the top 30 % will be selected as the subset Ω C,D or Ω D,C . The subset Ω C,D is determined by the SINR C and the subset Ω D,C is via the SINR D .

When the subset Ω C,D is selected, CUE will feedback the subset Ω C,D to BS and BS will forward this information to D2D Rx . Then, D2D Rx conducts the selection from the Ω C,D and Ω D,C to maximize the system capacity T. The procedure of proposed method is shown in Fig. 3. Figure 4 provides more detail descriptions on each step of the subset-based method.

Fig. 3
figure 3

Proposed subset-based method

Fig. 4
figure 4

Flowchart of proposed subset-based method

2.3 Proposed iterative precoding selection method

In the proposed iterative precoding selection method, it uses the iterative method between the CUE and the D2D Rx to select the final precoding matrix. In each iteration step, the possible precoding pairs are refined by using also a threshold. This refinement process continues until the final (W C , W D ) pair is selected. A simplified process of this method is shown in Fig. 5.

Fig. 5
figure 5

Proposed iterative method

In Fig. 5, CUE uses the SINR C to form a subset Ω1 with SINR C higher than the threshold ɛ. The threshold can also be a value or a ratio. For example if the threshold is set as 50 %, the method will calculate the SINRs for all the combinations of (W C , W D ) and the combinations with SINRs at the top 50 % will be selected as the subset Ω1. Then, BS will act as a relay to forward the subset Ω1 to D2D Rx . D2D Rx uses the precoding matrix pairs in the subset Ω1 to calculate the SINR D . A new subset Ω2 can be generated with the calculated SINR D at the top 50 %. After that, the Ω2 will be sent back to the CUE for another round of the SINR C calculation. The process continues until only one pair contained in the final subset. Figure 6 provides more detail descriptions on each step of the iterative selection method.

Fig. 6
figure 6

Flowchart of proposed iterative method

2.4 Resource selection method

D2D communication can increase system capacity by reusing the spectrum resource of the CUE. In a practical situation, there are often more than one CUE existing near the D2D pair. Therefore, how to choose the appropriate spectrum resources among the multiple CUEs for the D2D pair is considered. Figure 7 depicts the scenario of one D2D link with multiple CUEs nearby.

Fig. 7
figure 7

One D2D pair with multiple CUEs

Define the system capacity of CUE i and D2D link when reusing the same spectrum resource as T i

$$T_{i} = T_{{C_{i} }} + T_{D}$$
(10)

where i is the index of the CUE, \(T_{{C_{i} }}\) is the capacity for the CUE i and T D is the capacity at the D2D Rx .

The capacity at CUE i without spectrum resource reusing is

$$C_{i} = B\log_{2} (1 + SNR_{i} )$$
(11)

where B is the bandwidth and SNR i is defined as

$$\begin{aligned} SNR_{i} & = \rho_{{C_{i} }} \left( {H_{{C_{i} }} W_{{C_{i} }} } \right)^{H} (\sigma^{2} I)^{ - 1} \left( {H_{{C_{i} }} W_{{C_{i} }} } \right) \\ & = \rho_{{C_{i} }} \left\| {H_{{C_{i} }} W_{{C_{i} }} } \right\|_{2}^{2} (\sigma^{2} )^{ - 1} \\ \end{aligned}$$
(12)

\({\mathbf{H}}_{C}\) is the downlink channel from BS. \(W_{{C_{i} }}\) denotes the precoding matrix at the BS to the CUE i .

Let the system can acquire the precoding matrix W C and W D by using the proposed precoding selection methods, the provided resource selection method can be determined by

$$\hat{i} = \arg \hbox{max} \{ T_{i} - C_{i} \}$$
(13)

\(\hat{i}\) is the index of the CUE selected to share the spectrum resource with the D2D link. Max{.} is to select the maximum value. The criteria comes from the fact that when the difference between total capacity and the CUE capacity is the largest, it implies that D2D pair reuses the spectrum resource can increase the system capacity most significantly.

3 Computer simulations and experiments

In this section, the performances of the proposed precoding selection methods are evaluated under different scenarios. The proposed methods are compared with the SLNR-based selection methods [1]. The SLNRc VF is the method to calculate the SLNR at the cell node (base station) via the channel vector feedback from the CUE and the D2D Rx , while SLNRc Tc is to calculate the SLNR at the cell node via the precoding subset determined by using the capacity criteria Tc at the CUE. Similarly, SLNRc Td is to calculate the SLNR at the cell node via the precoding subset determined by using the capacity criteria Td at the D2D Rx . Two different scenarios are considered in this simulation, the first scenario is only one CUE existing within a range from the D2D Tx . The second scenario is the case for the multiple CUEs existing around the D2D link.

3.1 Single CUE case

Assume the distance from the BS to the D2D Tx is 100 m and the interference link from D2D Tx to CUE is randomly generated within a range 0–50 m. Figure 8 shows the case of single CUE. Table 1 lists the detail parameters of this simulation including the path loss calculation for the BS and D2D links [6].

Fig. 8
figure 8

The scenario of only one single CUE

Table 1 Simulation parameters

Figure 9 is the total capacity and Fig. 10, Fig. 11 are the results for the DUE, CUE respectively. The proposed subset-based method has the best performance in Fig. 9. It can be noted that as the distance between D2D pair increases, the total and DUE capacities are decreased due to the path loss. Besides, the compared literary methods have good capacity performance for the DUE, however, the corresponding capacity performance for the CUE is poor. And the resulted total capacity is also poorer than the proposed subset and the iterative methods. The results reveal that it is impossible to make both of the CUE and D2D Rx to have the maximum capacity because of the mutual interferences. Nevertheless, the proposed subset and iterative methods can provide excellent trade-off selections in terms of the system capacity.

Fig. 9
figure 9

Total capacity

Fig. 10
figure 10

DUE capacity

Fig. 11
figure 11

CUE capacity

3.2 Multiple CUEs case

Assume that there are five CUEs randomly generated within a range 0–50 m to the D2D Tx , and system adopts the proposed resource selection method to choose the appropriate spectrum for the D2D link. Figure 12 illustrates the scenario of multiple CUEs case. Table 2 lists the detail parameters in this simulation.

Fig. 12
figure 12

The scenario of multiple CUEs exits

Table 2 Simulation parameters

Figure 13 is the total capacity and Fig. 14, Fig. 15 are the results for the DUE, CUE. In this scenario, the proposed subset-based and the iterative methods also have the best performance among the compared methods. The compared literary methods have good performance in the D2D link. However, the corresponding CUE link and the total capacity are poor. Besides, if comparing the Fig. 9 with the Fig. 13, it can be noted that system capacity can be improved greatly if applying the proposed resource selection in the multiple CUEs scenario.

Fig. 13
figure 13

Total capacity

Fig. 14
figure 14

DUE capacity

Fig. 15
figure 15

CUE capacity

3.3 Measured channels

To further verify the prediction results of the computer simulations, actual indoor channels were measured. The channels were measured using the vector network analyzer (VNA) controlled by a personal computer (PC). The signal is amplified via the power amplifier (PA) and low noise amplifier (LNA) at the Tx and Rx, respectively (Fig. 16).

Fig. 16
figure 16

Measurement setup

We used a radio frequency (RF) switch to control the measurement of multiple antennas. The layout of the measurement environment is illustrated in Fig. 17. There are four antennas at the BS and two antennas at the UE. Assume also there is one D2D pair in a room and the D2D pair increases the distance with two meters in each measurement. In addition, a BS and a CUE exist outside the room simultaneously. There is a wall between BS and D2D Rx . Figure 18 is the photo of the actual environment for the measurement. Table 3 lists the measurement parameters.

Fig. 17
figure 17

Measurement layout

Fig. 18
figure 18

BS and CUE

Table 3 Parameters set in the network analyzer

Figure 19 shows the measurement results of the total capacity for the compared methods. In the indoor measurements environment, the proposed subset-based and the iterative methods still have better performance than the other selection methods. And the measured results are quite consistent with the simulation results in Fig. 9.

Fig. 19
figure 19

Total capacity

4 Conclusions

In this paper, the problem of joint precoding selection for the cellular link and the D2D link with the same spectrum resource is considered. Two algorithms adopting the subset and iteration concepts to mitigate the co-channel interferences between D2D and cellular transmissions are proposed. Besides, a resource selection method is also provided for the D2D transmitter to select an appropriate spectrum resource among the nearby users served by the base station.

Computer simulations and the indoor channel measurements were conducted to verify the performance of the proposed and the literary methods. Based on the simulations and the experiments, it can be concluded the proposed precoding selection methods have excellent performance of the system capacity compared with the related literary methods. And the performance can be further improved if applying the provided resource selection method.