## I. Introduction

Recently, research regarding high-quality and high-speed data transmissions for wireless voice and various multimedia services has been actively performed. Among those studies, multiple user multiple-input multiple-output (MU-MIMO) systems that can fully exploit spatial domain resources have garnered a great deal of attention over the last few years [1], [2]. In MU-MIMO systems, users associated with relatively good signal environments are selected for data transmission to maximize the channel capacity. A typical user selection method is semi-orthogonal user selection (SUS) [3], which selects users whose channels are semi-orthogonal to one another. SUS adopts zero-forcing beamforming (ZFBF) as a precoding technique to remove the interference among users, which works well when the base station (BS) knows the channel of each user. However, it is impossible for the BS to obtain the exact channel state information (CSI) of each user [4] in practice. In a frequency division duplex (FDD) system such as a Long-Term Evolution (LTE) system, the exact CSI can never be obtained at the BS. Consequently, since an imperfect CSI must be fed back to the BS, the channel capacity is highly damaged because the inter-user interference cannot be removed, mainly due to the precoding procedure for the selected users based on the imperfect CSI.

In [5], the user selection switch (USS) algorithm was proposed, in which the user group is selected based on codebook vectors, the inter-correlation of which is less than a preset value. The key point proposed in [5] is that each user provides the BS with not only its channel information but also the USS information, including the interference caused by each of the codebook vectors in the same group. Then the BS can select users based on the USS information as well as the channel information. However, not every user group can be the optimal group because it is determined without considering all of the users to be covered by the BS. Furthermore, each user group has to feed back too much data to the BS because each group is associated with a larger number of codebook vectors than the number of transmit antennas at the BS.

The method proposed in [6] selects users sequentially based on the signal-to-leakage-plus-noise ratio (SLNR) under the assumption that the leakage power sum of the users is equal to the interference power sum. In [7], joint user pairing and precoding was proposed, which improves the method of [6] by adopting the quantization error to the SINR approximation. The problem in [7], as will be discussed in detail later in this paper, is that the precoding vector is generated using only the precoding vector of the first user. Furthermore, the quantization error cannot be considered in the SINR approximation after selecting the first user. The proposed method resolves the problems of all of the conventional techniques to enhance the sum rate performance of the MU-MIMO system.

**Notation.** In this paper, we use upper case boldface type to indicate matrices and lower case boldface type to indicate vectors. (•)^{H},||•||, and [•]_{i} denote the conjugate transpose, the Frobenius norm, and the *i*-th column of a matrix, respectively.

## II. System Model

Let us consider a BS with *M* antennas as a transmitter and *K* users with *N* antennas at each user terminal as receivers. With the *M* transmit antennas at the BS, *M* data streams can be transmitted simultaneously to *M* users, which should be selected from the *K* users (*K*>*M*). In this paper, we assume that a single data stream is assigned to each user. Although we assume that each user terminal is equipped with the same number of antennas, *N*, for simplicity, the number of antennas at each user terminal can be set arbitrarily.

In [3], [6], [7], a simple channel model was adopted, in which the channel gain between a transmitting antenna and a receiving user is described as a zero-mean circularly symmetric complex Gaussian random variable, which can be said to be appropriate only for narrowband systems operating in a non-line-of-sight (NLOS) rich scattering environment.

Works [8] and [9] each introduced a much more realistic channel model. The channel model in [8] considers power control error due to an imperfect power control in the BS, such that the resultant channel values measured at the BS are not exactly independent and identically distributed (i.i.d.). In [9], both the NLOS and LOS channels were considered, where the former results in i.i.d. and latter results in non-i.i.d. channel values.

In this paper, the BS is assumed to provide a perfect power control for simplicity, while the channel model introduced in [9] is used for considering both i.i.d. and non-i.i.d. channels. The channel matrix for user *k* can be written as [9]

(1) |

where
${H}_{k}^{dm}$
,
${H}_{k}^{fd}$, K, and *G _{k}* denote dominant components of the channel, fading component of the channel, the Rician K factor defined by the ratio between the dominant and fading power, and the large-scale channel gain, respectively. Dominant component
${H}_{k}^{dm}$
consists of the factors of the LOS environment, which are mainly determined by the array response, that is,

**a**(

*θ*

_{k}) in the case of the linear array. It particularly means that ${H}_{k}^{dm}$ can be represented as

(2) |

where *θ*_{t}, *θ*_{r}, λ, *d* and *L* denote the angle of departure, angle of arrival, wavelength, antenna spacing, and antenna coefficient, respectively. Note that array response **a**(*θ*_{k}) in (2) is
$[1{e}^{j\frac{2\text{\pi}d}{\lambda}\mathrm{cos}{\theta}_{k}}\mathrm{...}\text{\hspace{0.17em}\hspace{0.17em}}{e}^{j\frac{2\text{\pi}d}{\lambda}(L-1)\mathrm{cos}{\theta}_{k}}]$ for a linear array and antenna coefficient *L* is *M* and *N* for the transmit antenna and the receive antenna, respectively. Meanwhile, fading component
${H}_{k}^{fd}$ in (1) consists of NLOS factors, such that the entry values of
${H}_{k}^{fd}$ are i.i.d. random variables with zero mean and unit variance.

Using (1), the received signal *y _{k}* at the terminal of user

*k*can be written as

(3) |

where subscript *k* is the user index, **t*** _{k}* is an

*M*×1 precoding vector,

**g**

*is an*

_{k}*N*×1 receive combining vector,

*p*denotes the transmit power allocated to the data stream of user

_{k}*k*, meaning that the total transmit power is obtained as $P={\displaystyle {\sum}_{k=1}^{M}{p}_{k}}$ ,

*s*denotes the transmit data symbol, and

_{k}**n**

*denotes complex Gaussian-distributed white noise with zero mean and variance*

_{k}*σ*

^{2}, that is,

*CN*(0,σ

^{2}) . For simplicity but without loss of generality, it is assumed that uniform transmit power is assigned to each user, meaning that the transmit power allocated to each user is

*P/M*. As the signal-to-noise ratio (SNR) is

*Mβ=P/*(

*Mσ*) for the total number of selected users,

^{2}*M*, the SINR for user

*k*can be calculated as

(4) |

where ${\tilde{g}}_{k}={g}_{k}/\Vert {g}_{k}\Vert $. In this paper, we propose a user selection algorithm based on the SINR of the receiving user terminal, which is approximated at the transmit BS using the SINR shown in (4).

## III. Proposed Method

The method of user selection based on the SINR of the user terminal was proposed in [7], where the SINR is approximated at the transmit BS with an assumption that each user terminal adopts a minimum mean square error (MMSE) receiver. According to [7], the first user is selected using the following approximation:

(5) |

where superscript 1 in the left term denotes that the SINR approximation shown in (5) is used for selecting the first user. It specifically means that the first user is selected to be the user that has the maximum SINR according to (5) among all of the users for *k* = 1, 2, …, *K*. In (3),
${\lambda}_{k}^{\mathrm{max}}$ is the largest singular value of the channel matrix, and [**V**_{k}]_{l} denotes the first column of the right singular matrix of user *k*’s channel, that is,
${\text{H}}_{k}={\text{U}}_{k}{\text{\Sigma}}_{k}{\text{V}}_{k}^{H}$
. To obtain the SINR shown in (5), the BS should be provided for the largest singular value (
${\lambda}_{k}^{\mathrm{max}}$) and quantization error (1 −
${\left|{[{V}_{k}]}_{1}^{H}{t}_{k}\right|}^{2}$) from each user terminal. Since the codebook vector is used as a precoding vector to select the first user,
${\left|{[{V}_{k}]}_{1}^{H}{t}_{k}\right|}^{2}$ is equal to
${\left|{[{V}_{k}]}_{1}^{H}{c}_{{I}_{k}}\right|}^{2}$
, where **c*** _{Ik}* denotes the codebook vector for user

*k*. The user terminal feeds back the index (

*I*) of the codebook vector,

_{k}**c**

*, that is closest to [*

_{Ik}**V**

_{k}]

_{l}among all of the B-bit codebook vectors,

**C**= {

**c**

_{1},

**c**

_{2}, ...,

**c**

_{2B}}.

After selecting the first user as described above, the conventional SINR-based methods generate a set of vectors (**u**_{2}, …, **u*** _{M}* ) that are orthonormal to the first precoding vector at the BS to use them as precoding vectors for selecting the next users. Furthermore, since the value for [

**V**

_{k}]

_{l}is not known at the BS, [

**V**

_{k}]

_{l}is assumed to be equal to

**c**

*. Therefore, the value for ${\left|{[{V}_{k}]}_{1}^{H}{t}_{k}\right|}^{2}$ in (5) is approximated to ${\left|{c}_{{I}_{k}}^{H}{u}_{m}\right|}^{2}$, which means that the approximation of the SINR for the*

_{Ik}*m*-th user for

*m*= 2, 3, …,

*M*becomes

(6) |

Consequently, in the conventional methods based on the SINR estimation, the BS selects the *m*-th user of the users that have the largest SINR according to (6) among all of the *K* users for *m* = 2, 3, …, *M*. We claim that there are two serious problems in the conventional SINR-based methods.

The first problem is mainly due to the fact that the precoding vectors for *m* = 2, 3, …, *M* are determined using the precoding vector of only the first user. Recalling that the precoding vectors, **u**_{2}, …, **u*** _{M}*, shown in (6) are determined to be mutually orthonormal to the first precoding vector, the more highly the codebook vector is correlated with

**u**

*in the user selection process, the more orthogonal the codebook vector is considered to be to the previously selected codebook vectors at the BS. However, precoding vectors*

_{M}**u**

_{2}, …,

**u**

*do not exactly represent the orthogonality between the new codebook vector and the previously selected codebook vectors, mainly because*

_{M}**u**

_{2}, …,

**u**

*have been determined by only the first user’s precoding vector. An example is presented to look into this problem more clearly. Figure 1 illustrates an example of the user selection procedure for finding the second user, where*

_{M}**t**

_{π(1)}denotes the precoding vector for the first user, which is obtained from (5), with π(

*m*)(

*m*= 1, …,

*M*) being the

*m*-th user index, and

**c**

*and*

_{Ia}**c**

*are the codebook vectors corresponding to, say, user*

_{Ib}*a*and user

*b*, respectively. Then, with the precoding vectors {

**u**

_{2}, …,

**u**

*} that are found from the precoding vector of the first user*

_{M}**t**

_{π(1)}, the BS would judge that user

*a*is relatively more appropriate than user

*b*, according to Fig. 1, because

**c**

*is more closely correlated to*

_{Ia}**u**

_{2}than

**c**

*. Note that, in Fig. 1,*

_{Ib}**c**

*is closer to*

_{Ia}**u**

_{2}than

**c**

*. For simplicity, assume that the largest singular values for the two users, that is, users*

_{Ib}*a*and

*b*, are equal. In the example shown in Fig. 1, however, codebook vector

**c**

*corresponding to user*

_{Ib}*b*is actually more orthogonal to

**t**

_{π(1)}than

**c**

*. According to the conventional methods, however, the BS misjudges as if*

_{Ia}**c**

*, which is relatively more closely correlated to*

_{Ia}**u**

_{2}than

**c**

*, provides higher orthogonality to*

_{Ib}**t**

_{π(1)}than

**c**

*. As a result, the BS would mistakenly select user*

_{Ib}*a*instead of user

*b*for the second user because the SINR for user

*a*would eventually be larger than that for user

*b*, according to (6).

The second problem in conventional SINR-based methods is mainly due to the fact that the quantization error, (1 −
${\left|{[{V}_{k}]}_{1}^{H}{c}_{{I}_{k}}\right|}^{2}$
), is not precisely reflected in (6). In conventional SINR-based methods, since [**V**_{k}]_{l} is approximated with **c*** _{Ik}* at the BS, the SINR provided by (6) is obtained under the assumption that
${\left|{[{V}_{k}]}_{1}^{H}{u}_{m}\right|}^{2}$
can be approximated with
${\left|{c}_{{I}_{k}}^{H}{u}_{m}\right|}^{2}$. However, when the correlation between [

**V**

_{k}]

_{l}and

**c**

*is not large enough, which eventually causes quantization error (1 − ${\left|{[{V}_{k}]}_{1}^{H}{c}_{{I}_{k}}\right|}^{2}$ ) to become notable, the SINR based on (6) is no longer valid. Consequently, the SINR shown in (6) should be modified in such a way that quantization error (1 − ${\left|{[{V}_{k}]}_{1}^{H}{c}_{{I}_{k}}\right|}^{2}$ ) is properly reflected in the computation of the SINR.*

_{Ik}In this paper, we propose a new user selection algorithm that resolves the two problems addressed above. In the proposed method, it is guaranteed that the precoding vector for each *m*-th user (*m* = 2, 3, …, *M*) is orthogonal to the precoding vectors of all of the previously selected users, while it maintains as high a correlation as possible with the codebook vector of each candidate user. The precoding vector that exhibits orthogonality with the precoding vectors of all of the previously selected users as well as high correlation with the codebook vector of each candidate user is adopted in the SINR approximation for each user. Another important feature of the proposed method compared to conventional SINR-based methods is that the SINR approximation in the proposed method reflects the quantization error (1 −
${\left|{[{V}_{k}]}_{1}^{H}{c}_{{I}_{k}}\right|}^{2}$) by replacing
${\left|{c}_{{I}_{k}}^{H}{\tilde{u}}_{k}^{\text{'}}\right|}^{2}$ in (6) with
$\left|{[{V}_{k}]}_{1}^{H}{c}_{{I}_{k}}\right|\text{\hspace{0.17em}}\left|{c}_{{I}_{k}}^{H}{\tilde{u}}_{k}^{\text{'}}\right|$. Note that quantization error (1 −
${\left|{[{V}_{k}]}_{1}^{H}{c}_{{I}_{k}}\right|}^{2}$) is not reflected in (6) because
${\left|{[{V}_{k}]}_{1}^{H}{\tilde{u}}_{k}^{\text{'}}\right|}^{2}$ was approximated with
${\left|{c}_{{I}_{k}}^{H}{\tilde{u}}_{k}^{\text{'}}\right|}^{2}$.

The proposed method modifies the procedure of SINR approximation on the basis of the features mentioned above, while it still makes use of (5) for selecting the first user. The proposed method can be summarized as follows.

**Step 1.** The BS selects the first user (π(1)) as the user that provides the largest SINR based on (5). Then, the codebook vector is determined from the precoding vector, **t**_{π(1)}, of the selected user. The selection of the first user (π(1)) can be written as

**Step 2.** For *m* = 2, 3, …, *M*, to obtain vectors that are orthonormal to the precoding vectors of all of the previously selected users, a unitary matrix, **Q**^{(m)}, is generated with vectors that are orthonormal to the precoding vectors of the previously selected users as

(8) |

where the *m*-th, (*m*+1) th, …, *M*-th column vectors of unitary matrix **Q**^{(m)}, that is,
${u}_{m}^{(m)},\text{}{u}_{m+1}^{(m)},\text{}\mathrm{...},\text{}{u}_{M}^{(m)}$, are determined as follows.

**Step 2.1.** With **Q**^{(1)}= **I** ,
${Q}^{(m-1)}=\text{[}{t}_{\text{\pi}(1)}\text{}\mathrm{...}\text{}{t}_{\text{\pi}(m-2)}\text{}{u}_{m-1}^{(m-1)}\text{}\mathrm{...}\text{}{u}_{M}^{(m-1)}]$
for *m* = 2, 3, …, *M*, determine which vector among
$\{{u}_{m-1}^{(m-1)},\text{\hspace{0.17em}\hspace{0.17em}}\mathrm{...},\text{\hspace{0.17em}\hspace{0.17em}}{u}_{M}^{(m-1)}\}$ is most highly correlated with **t**_{π(m−1)} to remove it and substitute
${u}_{m-1}^{(m-1)}$ for that vector.

**Step 2.2. t**_{π(m−1)} is taken at the (*m*−1) th column of **Q**^{(m−1)} after
${u}_{m-1}^{(m-1)}$ is substituted as above. Consequently, [**Q**^{(m−1)}]_{m−1} becomes **t**_{π(m−1)}, while the vector that is most highly correlated with **t**_{π(m−1)} is replaced with
${u}_{m-1}^{(m-1)}$.

**Step 2.3.** Obtain **Q**^{(m)} from **Q**^{(m−1)} by generating
${u}_{m}^{(m)},\text{}\mathrm{...}\text{,}{u}_{M}^{(m)}$ that are orthonormal to **t**_{π(1)}, …, **t**_{π(m−1)} using the Gram-Schmidt procedure. Note that
${u}_{m}^{(m)},\text{}\mathrm{...}\text{,}{u}_{M}^{(m)}$ are all mutually orthonormal as a result of the Gram-Schmidt procedure.

**Step 3.** Determine the precoding vector that is not only orthonormal to the precoding vectors of all of the previously selected users but also very highly correlated with the codebook vector of each of the candidate users by linearly combining
${u}_{m}^{(m)},\text{}\mathrm{...}\text{,}{u}_{M}^{(m)}$ found in Step 2. The precoding vector for user *k* is determined as follows:

(9) |

where coefficient *a*_{i} for *i* = *m*, …, *M* is obtained by projecting codebook vector **c*** _{Ik}* onto
${u}_{i}^{(m)}$ as follows:

(10) |

with superscript *H* being the transpose and complex-conjugate operator. Using
${u}_{k}^{\text{'}}$ obtained in (9), after the normalization procedure, the precoding vector
${\tilde{u}}_{k}^{\text{'}}$ is determined as

(11) |

It is noteworthy that the precoding vector provided in the proposed method is guaranteed to be highly correlated with the codebook vector because it is obtained through the projection procedure, as shown in (10).

**Step 4.** Compute the SINR using precoding vector
${\tilde{u}}_{k}^{\text{'}}$ determined in Step 3 for each candidate user, where the SINR of candidate user *k* for selecting the *m*-th user is approximated as

Select the user that provides the largest SINR according to (12) as the *m*-th user among all of the candidate users, while the precoding vector of that user,
${\tilde{u}}_{k}^{\text{'}}$, becomes the precoding vector, which means **t**_{π(m)} =
${\tilde{u}}_{k}^{\text{'}}$. As mentioned earlier, the SINR formulation shown in (12) must be a better approximation than those of the conventional approaches introduced in [6] and [7] in terms of the quantization error due to the fact that, instead of approximating
${\left|{[{V}_{k}]}_{1}^{H}{\tilde{u}}_{k}^{\text{'}}\right|}^{2}$ with
${\left|{c}_{{I}_{k}}^{H}{\tilde{u}}_{k}^{\text{'}}\right|}^{2}$ as in the conventional methods,
${\left|{[{V}_{k}]}_{1}^{H}{\tilde{u}}_{k}^{\text{'}}\right|}^{2}$ has been approximated with
$\left|{[{V}_{k}]}_{1}^{H}{c}_{{I}_{k}}\right|\text{\hspace{0.17em}}\left|{c}_{{I}_{k}}^{H}{\tilde{u}}_{k}^{\text{'}}\right|$, which reflects quantization error (1 −
${\left|{[{V}_{k}]}_{1}^{H}{c}_{{I}_{k}}\right|}^{2}$) in computing the SINR. The procedure goes back to Step 2 with incremented *m* until *M* users are selected.

## IV. Complexity Issues

In this section, we compare the complexity between the proposed and other conventional methods. The required number of flops [10] is counted as the complexity. A real addition, multiplication, or division is counted as a single flop. A complex addition and multiplication include two flops and six flops, respectively. The complexity order of SUS [3], successive scheduling [6], joint user pairing with precoding [7], and the proposed method are found to be *O*(*C*_{SUS}*K*), *O*(*M* ^{4} *K*), *O*(*MK*), and *O*(*M* ^{4} *K*), respectively, where *C*_{SUS} =
$C{\displaystyle {\sum}_{i=1}^{M}{I}_{{\alpha}^{2}}(i-1,M-i+1)}$ and *C* = 22*M* − 3.

The complexity order of the proposed method is the same as that of [6] while it is larger than that of [3] and [7]. However, through the simulation results that are shown in the next section, the proposed method provides a far higher sum rate than the other relatively simpler conventional methods.

## V. Numerical Results and Discussions

In this section, we present the simulation results obtained from the proposed algorithm to those obtained from the conventional SINR-based methods.

Figure 2 illustrates the sum rate performance provided by the proposed method, SUS [3], successive scheduling [6] based on the SLNR, and joint user pairing with precoding [7]. Note that the simulation shown in Fig. 2 has been performed in an environment of i.i.d. channel values, that is, *K*= 0 for the Rician K factor shown in (1). Also, in all four methods, we consider four transmit antennas, a single receive antenna per user, 100 user terminals, and the 6-bit Grassmanian codebook [11], [12]. Note that the dotted line denotes the cases of two-antenna user terminals, which are applicable only to the proposed method and [7]. In addition, uniform transmit power is assigned to all of the transmit data streams. Due to the fact that the interference among users cannot be completely removed in the limited feedback signal environment, the SINR-based methods, that is, the proposed method and the methods in [6] and [7], outperform the well-known SUS method. Furthermore, the proposed method and the method in [7], which computes the SINR with the quantization error feedback from the user terminal, are better than the successive scheduling [6], which is based on the SLNR. The proposed method outperforms the method in [7] because it improves the precoding vector and reflects the quantization error not only for the first user selection but also for all of the other user selections. As shown in Fig. 2, compared to [7], the sum rate is improved by about 2.4 bps/Hz (2.6 bps/Hz) when the SNR is 30 dB and the number of receive antennas at each terminal is one or two.

Figure 3 illustrates the sum rate performance provided by the proposed method compared to the performances provided by the conventional methods according to the number of users when the number of transmit antennas is four, the number of receive antennas is one, and the SNR is 20 dB with the 6-bit Grassmanian codebook. Again, the Rician K factor is set to 0, which means the channel values are i.i.d., as in Fig. 2. Note that the dotted line in Fig. 3 represents the sum rate performance obtained with two receive antennas at each user, which is applicable only to the proposed method and [7]. From Fig. 3, it can be verified that the performance improvement provided by the proposed method is guaranteed even as the number of users increases.

Figure 4 illustrates a sum rate performance provided by the proposed method in comparison to the other conventional methods according to the Rician K factor when the number of transmit antennas is four, the number of receive antennas is one, the number of users is 100, and the SNR is 15 dB with the 6-bit Grassmanian codebook. Note that the dotted line in Fig. 4 represents the sum rate performance obtained with two receive antennas at each user, which is applicable only to the proposed method and [7]. As shown in (1), when the Rician K factor is 0, the channel entry values become i.i.d. zero mean and unit variance random variables while the channel values become further and further from i.i.d. as the Rician K factor increases. The sum rate performance shown in Fig. 4 demonstrates that the proposed method mitigates the performance degradation as the Rician K factor increases, compared to the conventional methods. It particularly means that the proposed method is relatively robust to adverse signal environments due to the LOS path, which results in non-i.i.d. channel values.

## VI. Conclusion

In this paper, we proposed a novel user selection method based on the SINR approximation through limited feedback in MU-MIMO systems. The SINR approximation is obtained from a linear combination of the vectors that are orthonormal to the precoding vectors of the previously selected users. In our proposed method, the SINR approximation much more accurately reflects the orthogonality among the codebook vectors than the conventional methods by using the precoding vectors that, maintaining the orthogonality with the previously selected users’ precoding vectors, are most highly correlated with the previously selected user’s codebook vector. Since the quantization error is taken into consideration for the SINR approximation not only for the first user but for all of the other users as well, the performance degradation due to quantization error mismatching is decreased. The performance of the proposed algorithm is presented in terms of the sum rate in comparison to the performances of the conventional methods, such as SUS [3] in a limited feedback environment, successive scheduling [6] based on SLNR, and joint user pairing with precoding [7]. It has been verified from computer simulations that the proposed method outperforms the conventional methods. In particular, for the case of four transmit antennas and one (or two) receive antennas per user, *SNR* = 20 dB, and a total of 100 users, the proposed technique exhibits a sum rate improvement of about 2.24 (or 2.33) bps/Hz compared to the other SINR-based method introduced in [7].