**5. LR-based greedy user selection using an updating method**

The computational complexity of the user selection under the criteria derived in Section 4 grows rapidly with *M* or *K* as they are all combinatorial optimization problems. Thus, it is desirable to derive low complexity approaches for the user selection. In this section, we propose low complexity greedy approaches for the user selection. Note that we focus on the greedy user selection with a LR-based MIMO detector only as its performance is comparable to that of the ML detector and, more importantly, we can derive a computationally efficient LR updating method in conjunction with greedy user selection.

#### **5.1. LR-based greedy user selection**

The user selection approaches in Section 4 have the complexity that becomes prohibitively high as *<sup>M</sup>* or *<sup>K</sup>* increases, because there are *<sup>U</sup>* <sup>=</sup> <sup>∏</sup>*M*−<sup>1</sup> *<sup>i</sup>*=<sup>0</sup> (*<sup>K</sup>* <sup>−</sup> *<sup>i</sup>*) possible user index sets. For each user index set, an LR of an *N* × *MP* complex channel matrix is to be performed. For example, when *K* = 10, *M* = *N* = 4 and *P* = 1, 10 × 9 × 8 × 7 = 5040 LRs of 4 × 4 complex-valued channel matrices should be carried out.

To reduce the computational complexity in the user selection, we consider a greedy approach when a LR-based MIMO detector is employed. The resulting approach is called the LR-based greedy (LRG) user selection, which is of course suboptimal. The LRG user selection algorithm is summarized as follows:

1. Let *m* = 1 and K¯ = {1, . . . , *K*}. In order to select the first user, we can use any criterion. For example, if the ME criterion is used, we have

$$k\_{(1)} = \arg\max\_{k \in \hat{K}} \lambda\_{\text{min}} \left( \mathbf{G}\_k^H \mathbf{G}\_k \right) \tag{26}$$

where **G***<sup>k</sup>* represents the LBR matrix of **H***<sup>k</sup>* or **H**ex,*<sup>k</sup>* = **H**<sup>T</sup> *k N*<sup>0</sup> *Es* **I***<sup>N</sup>* T (for the LR-based MMSE detector). Once the first user is chosen, we update K¯ as K ⇐¯ K \ ¯ *k*(1) . In addition, we let **H**(1) = **H***k*(1) .

2. Let *<sup>m</sup>* ⇐ *<sup>m</sup>* <sup>+</sup> 1 and **<sup>H</sup>**(*m*),*<sup>k</sup>* <sup>=</sup> **H**(*m*−1) **H***<sup>k</sup>* , *k* ∈ K¯ . The *m*th user can be chosen if the ME criterion is used as

$$k\_{(m)} = \arg\max\_{k \in \mathcal{K}} \lambda\_{\text{min}} \left( \mathbf{G}\_{(m),k}^{\text{H}} \mathbf{G}\_{(m),k} \right) \tag{27}$$

10.5772/57128

169

http://dx.doi.org/10.5772/57130

chosen and LBR. Instead of performing a new LR on all of the *mP* column vectors in **<sup>H</sup>**(*m*), by utilizing the established (*m* − 1)*P* LBR vectors, we can derive a computationally efficient LR updating method with new *P* column vectors, which is referred to as the Updated Basis LR (UBLR) in this paper. The resulting user selection scheme is referred to as the UBLR-based

The UBLR algorithm is based on the complex-LLL(CLLL) algorithm [8]. Suppose that LR is performed by the CLLL algorithm in order to transform a given basis (a complex-valued channel matrix *<sup>N</sup>* <sup>×</sup> *mP* **<sup>H</sup>**(*m*)) into a new *<sup>N</sup>* <sup>×</sup> *mP* basis **<sup>G</sup>**(*m*) consisting of nearly orthogonal basis vectors. A basis **<sup>G</sup>**(*m*) is called a reduced basis of a lattice with parameter *<sup>δ</sup>* if **<sup>G</sup>**(*m*) is QR factorized as **<sup>G</sup>**(*m*) <sup>=</sup> **<sup>Q</sup>**(*m*)**R**(*m*), where **<sup>Q</sup>**(*m*) is unitary, **<sup>R</sup>**(*m*) is upper triangular, and the

<sup>2</sup> <sup>|</sup> *<sup>r</sup>*ℓ,<sup>ℓ</sup> <sup>|</sup> and | ℑ(*r*ℓ,*ρ*) |≤ <sup>1</sup>

<sup>2</sup> + |*rρ*−1,*ρ*|

Here, *rp*,*<sup>q</sup>* denotes the (*p*, *<sup>q</sup>*)-th element of **<sup>R</sup>**(*m*). The parameter *<sup>δ</sup>* is closely related to the quality of the reduced basis. In this paper, we assume *δ* = 3/42 which is usually chosen for

a) To fulfill (29), a size-reduction is performed with the 1st to *<sup>ρ</sup>*th columns of **<sup>R</sup>**(*m*) and **<sup>U</sup>**(*m*)

b) As the basis of **<sup>R</sup>**(*m*) is size-reduced according to (29), let *<sup>ρ</sup>* ⇐ *<sup>ρ</sup>* <sup>+</sup> 1 and go to step a) if (30) is fulfilled. Swap the (*<sup>ρ</sup>* <sup>−</sup> <sup>1</sup>)th and *<sup>ρ</sup>*th columns in **<sup>R</sup>**(*m*) and **<sup>U</sup>**(*m*) if (14) is not satisfied and update {**R**(*m*), **<sup>Q</sup>**(*m*)}. Let *<sup>ρ</sup>* ⇐ max(*<sup>ρ</sup>* <sup>−</sup> 1, 2) and go to step a) (see rows (22)-(32) in

c) The algorithm is terminated if *<sup>ρ</sup>* <sup>=</sup> *mP*. The output of the CLLL reduced matrix **<sup>G</sup>**(*m*) is given by the updated <sup>A</sup>(*m*) <sup>=</sup> {**Q**(*m*), **<sup>R</sup>**(*m*), **<sup>U</sup>**(*m*)}, i.e., **<sup>G</sup>**(*m*) <sup>=</sup> **<sup>Q</sup>**(*m*)**R**(*m*) <sup>=</sup> **<sup>H</sup>**(*m*)**U**(*m*).

In our LRG user selection, at the *m*th user selection, the channel matrix of size *N* × *P*(*m* − 1) (denoted by **<sup>H</sup>**(*m*−1)) is obtained from the previous user selections. Under the assumption that the CLLL has been performed with **<sup>H</sup>**(*m*−1) and its CLLL reduced matrix **<sup>G</sup>**(*m*−1) is

<sup>1</sup> Since the performance of the LRG and UBLRG user selection schemes are the same (in fact, UBLRG is a computationally efficient version of LRG), we now only consider UBLRG and assume that LRG and UBLRG are

<sup>2</sup> Here, *δ* is a factor selected to achieve a good quality-complexity trade-off [4]. We note that *δ* can be chose from ( <sup>1</sup>

<sup>2</sup> , 1) for the real and complex LLL algorithms, respectively.

(*m*) and **<sup>U</sup>**′

} and *ρ* = 2, a version of CLLL algorithm is summarized as follows (note

<sup>2</sup> <sup>|</sup> *<sup>r</sup>*ℓ,<sup>ℓ</sup> <sup>|</sup>

Lattice Reduction-Based User Selection in Multiuser MIMO Systems

for 1 ≤ ℓ < *ρ* ≤ *mP* (29)

<sup>2</sup> for *ρ* = 2, . . . , *mP*. (30)

(*m*) <sup>=</sup> {**Q**′

(*m*) <sup>=</sup> **<sup>I</sup>***mP*. With {**Q**(*m*), **<sup>R</sup>**(*m*), **<sup>U</sup>**(*m*)} <sup>=</sup>

(*m*) , **R**′ (*m*) , **U**′ (*m*) },

<sup>4</sup> , 1)

greedy (UBLRG)1 user selection.

and

{**Q**′ (*m*) , **R**′ (*m*) , **U**′ (*m*)

Table 1).

interchangeable.

and ( <sup>1</sup>

elements of **<sup>R</sup>**(*m*) satisfy the following inequalities:


*<sup>δ</sup>*|*rρ*−1,*ρ*−1|

where the QR factorization **<sup>H</sup>**(*m*) <sup>=</sup> **<sup>Q</sup>**′

(see rows (15)-(21) in Table 1).

<sup>2</sup> ≤ |*rρ*,*ρ*|

complexity and performance trade-off. For the initialization, let A′

(*m*) **R**′

that since CLLL is used in UBLR, in Table 1, CLLL becomes part of UBLR).

where **G**(*m*),*<sup>k</sup>* is the LBR matrix of **H**(*m*),*<sup>k</sup>* or **H**ex,(*m*),*<sup>k</sup>* = **H**<sup>T</sup> (*m*),*k N*<sup>0</sup> *Es* **I***<sup>N</sup>* T . Once the *m*th user is found, we update as follows:

$$\begin{array}{ll} \text{add } k\_{(m)} \text{ to the index set of the selected users, } \mathcal{K}, \\ \mathcal{K} \leftarrow \mathcal{K} \backslash k\_{(m)}, \\ \mathbf{H}\_{(m)} = \mathbf{H}\_{(m),k\_{(m)}}. \end{array} \tag{28}$$

3. If *m* = *M*, stop. Otherwise, go to 2).

Note that in this algorithm, the *<sup>N</sup>* <sup>×</sup> *mP* complex-valued matrix **<sup>H</sup>**(*m*) denotes the channel matrix for the first *<sup>m</sup>* selected users, while the *<sup>N</sup>* <sup>×</sup> *<sup>P</sup>* complex-valued matrix **<sup>H</sup>***k*(*m*) represents the channel matrix for the selected user in the *m*th selection with the index *k*(*m*), where *<sup>k</sup>*(*m*) <sup>∈</sup> <sup>K</sup>¯ and <sup>K</sup>¯ <sup>=</sup> {1, . . . , *<sup>K</sup>*} \ *k*(1),..., *k*(*m*−1) .

In the LRG user selection, the number of required LR operations is ∑*<sup>M</sup> <sup>i</sup>*=1(*<sup>K</sup>* <sup>−</sup> *<sup>i</sup>* <sup>+</sup> <sup>1</sup>) and the matrix size for LR in selecting the *m*th user is *N* × *mP*. Using the upper bound on the average complexity of LR studied in [8], we can show that the complexity of LRG is upper-bounded as ∑*<sup>M</sup> <sup>i</sup>*=1(*<sup>K</sup>* <sup>−</sup> *<sup>i</sup>* <sup>+</sup> <sup>1</sup>)*<sup>O</sup>* (*iP*)3*N* log(*iP*) (Note that when *P* = 1, no LR is required for the first user selection, where the complexity of LRG reduces to ∑*<sup>M</sup> <sup>i</sup>*=2(*<sup>K</sup>* <sup>−</sup> *<sup>i</sup>* <sup>+</sup> 1)*O* (*iP*)3*N* log(*iP*) ). On the other hand, the number of required LR operations in the combinatorial user selection according to (24) or (25) is ∏*<sup>M</sup> <sup>i</sup>*=1(*<sup>K</sup>* <sup>−</sup> *<sup>i</sup>* <sup>+</sup> <sup>1</sup>) and the matrix size for LR is always *N* × *MP*, which leads to its complexity that is upper-bounded as ∏*<sup>M</sup> <sup>i</sup>*=1(*<sup>K</sup>* <sup>−</sup> *<sup>i</sup>* <sup>+</sup> <sup>1</sup>)*<sup>O</sup>* (*MP*)3*N* log(*MP*) . This shows a significant computational complexity reduction. However, since the LRG user selection does not jointly select *M* users, there will be performance loss.

Note that the ME criterion is used in above for illustration purposes. The MD criterion can also be used for the LRG user selection with the LR-based MMSE-SIC detector.

#### **5.2. A complexity efficient method for LR updating**

We note that in the LRG user selection, the LR operation is repeatedly performed for each updated channel matrix. For instance, at the *m*th user selection, a LR is carried out with the complex-valued channel matrix **H**(*m*) = **H**(*m*−1) **H***<sup>k</sup>* as shown in (27), where **H***<sup>k</sup>* contains *<sup>P</sup>* newly added column vectors and the other (*<sup>m</sup>* <sup>−</sup> <sup>1</sup>)*<sup>P</sup>* column vectors in **<sup>H</sup>**(*m*) are already chosen and LBR. Instead of performing a new LR on all of the *mP* column vectors in **<sup>H</sup>**(*m*), by utilizing the established (*m* − 1)*P* LBR vectors, we can derive a computationally efficient LR updating method with new *P* column vectors, which is referred to as the Updated Basis LR (UBLR) in this paper. The resulting user selection scheme is referred to as the UBLR-based greedy (UBLRG)1 user selection.

The UBLR algorithm is based on the complex-LLL(CLLL) algorithm [8]. Suppose that LR is performed by the CLLL algorithm in order to transform a given basis (a complex-valued channel matrix *<sup>N</sup>* <sup>×</sup> *mP* **<sup>H</sup>**(*m*)) into a new *<sup>N</sup>* <sup>×</sup> *mP* basis **<sup>G</sup>**(*m*) consisting of nearly orthogonal basis vectors. A basis **<sup>G</sup>**(*m*) is called a reduced basis of a lattice with parameter *<sup>δ</sup>* if **<sup>G</sup>**(*m*) is QR factorized as **<sup>G</sup>**(*m*) <sup>=</sup> **<sup>Q</sup>**(*m*)**R**(*m*), where **<sup>Q</sup>**(*m*) is unitary, **<sup>R</sup>**(*m*) is upper triangular, and the elements of **<sup>R</sup>**(*m*) satisfy the following inequalities:

$$\begin{aligned} \left| \mid \mathfrak{R}(r\_{\ell,\rho}) \mid \leq \frac{1}{2} \mid r\_{\ell,\ell} \mid \text{ and} \quad \mid \Diamond(r\_{\ell,\rho}) \mid \leq \frac{1}{2} \mid r\_{\ell,\ell} \mid \\ \text{for} \quad 1 \leq \ell < \rho \leq mP \end{aligned} \right| \tag{29}$$

and

10 Recent Trends in Multiuser MIMO Communications

addition, we let **H**(1) = **H***k*(1)

user is found, we update as follows:

3. If *m* = *M*, stop. Otherwise, go to 2).

complex-valued channel matrix **H**(*m*) =

*<sup>k</sup>*(*m*) <sup>∈</sup> <sup>K</sup>¯ and <sup>K</sup>¯ <sup>=</sup> {1, . . . , *<sup>K</sup>*} \

is upper-bounded as ∑*<sup>M</sup>*

(*iP*)3*N* log(*iP*)

*<sup>i</sup>*=1(*<sup>K</sup>* <sup>−</sup> *<sup>i</sup>* <sup>+</sup> <sup>1</sup>)*<sup>O</sup>*

be performance loss.

1)*O*

∏*<sup>M</sup>*

2. Let *<sup>m</sup>* ⇐ *<sup>m</sup>* <sup>+</sup> 1 and **<sup>H</sup>**(*m*),*<sup>k</sup>* <sup>=</sup>

criterion is used as

where **G***<sup>k</sup>* represents the LBR matrix of **H***<sup>k</sup>* or **H**ex,*<sup>k</sup>* =

.

where **G**(*m*),*<sup>k</sup>* is the LBR matrix of **H**(*m*),*<sup>k</sup>* or **H**ex,(*m*),*<sup>k</sup>* =

*<sup>i</sup>*=1(*<sup>K</sup>* <sup>−</sup> *<sup>i</sup>* <sup>+</sup> <sup>1</sup>)*<sup>O</sup>*

combinatorial user selection according to (24) or (25) is ∏*<sup>M</sup>*

(*MP*)3*N* log(*MP*)

**5.2. A complexity efficient method for LR updating**

MMSE detector). Once the first user is chosen, we update K¯ as K ⇐¯ K \ ¯

 **G**<sup>H</sup>

add *<sup>k</sup>*(*m*) to the index set of the selected users, <sup>K</sup>, K ⇐¯ K \ ¯ *<sup>k</sup>*(*m*), **H**(*m*) = **H**(*m*),*k*(*m*)

Note that in this algorithm, the *<sup>N</sup>* <sup>×</sup> *mP* complex-valued matrix **<sup>H</sup>**(*m*) denotes the channel matrix for the first *<sup>m</sup>* selected users, while the *<sup>N</sup>* <sup>×</sup> *<sup>P</sup>* complex-valued matrix **<sup>H</sup>***k*(*m*) represents the channel matrix for the selected user in the *m*th selection with the index *k*(*m*), where

the matrix size for LR in selecting the *m*th user is *N* × *mP*. Using the upper bound on the average complexity of LR studied in [8], we can show that the complexity of LRG

size for LR is always *N* × *MP*, which leads to its complexity that is upper-bounded as

reduction. However, since the LRG user selection does not jointly select *M* users, there will

Note that the ME criterion is used in above for illustration purposes. The MD criterion can

We note that in the LRG user selection, the LR operation is repeatedly performed for each updated channel matrix. For instance, at the *m*th user selection, a LR is carried out with the

*<sup>P</sup>* newly added column vectors and the other (*<sup>m</sup>* <sup>−</sup> <sup>1</sup>)*<sup>P</sup>* column vectors in **<sup>H</sup>**(*m*) are already

**H**(*m*−1) **H***<sup>k</sup>*

 .

(*iP*)3*N* log(*iP*)

*k*(1),..., *k*(*m*−1)

required for the first user selection, where the complexity of LRG reduces to ∑*<sup>M</sup>*

In the LRG user selection, the number of required LR operations is ∑*<sup>M</sup>*

also be used for the LRG user selection with the LR-based MMSE-SIC detector.

**H**(*m*−1) **H***<sup>k</sup>*

*<sup>k</sup>*(*m*) <sup>=</sup> arg max *<sup>k</sup>*∈K¯ *<sup>λ</sup>*min

 **H**<sup>T</sup> *k N*<sup>0</sup> *Es* **I***<sup>N</sup>* T

(*m*),*k***G**(*m*),*<sup>k</sup>*

.

). On the other hand, the number of required LR operations in the

. This shows a significant computational complexity

 **H**<sup>T</sup> (*m*),*k*

, *k* ∈ K¯ . The *m*th user can be chosen if the ME

 *N*<sup>0</sup> *Es* **I***<sup>N</sup>* T

(for the LR-based

, (27)

*k*(1) . In

. Once the *m*th

*<sup>i</sup>*=1(*<sup>K</sup>* <sup>−</sup> *<sup>i</sup>* <sup>+</sup> <sup>1</sup>) and

*<sup>i</sup>*=2(*<sup>K</sup>* <sup>−</sup> *<sup>i</sup>* <sup>+</sup>

(Note that when *P* = 1, no LR is

as shown in (27), where **H***<sup>k</sup>* contains

*<sup>i</sup>*=1(*<sup>K</sup>* <sup>−</sup> *<sup>i</sup>* <sup>+</sup> <sup>1</sup>) and the matrix

(28)

$$\delta |r\_{\rho - 1, \rho - 1}|^2 \le |r\_{\rho, \rho}|^2 + |r\_{\rho - 1, \rho}|^2 \text{ for } \rho = 2, \dots, mP. \tag{30}$$

Here, *rp*,*<sup>q</sup>* denotes the (*p*, *<sup>q</sup>*)-th element of **<sup>R</sup>**(*m*). The parameter *<sup>δ</sup>* is closely related to the quality of the reduced basis. In this paper, we assume *δ* = 3/42 which is usually chosen for complexity and performance trade-off. For the initialization, let A′ (*m*) <sup>=</sup> {**Q**′ (*m*) , **R**′ (*m*) , **U**′ (*m*) }, where the QR factorization **<sup>H</sup>**(*m*) <sup>=</sup> **<sup>Q</sup>**′ (*m*) **R**′ (*m*) and **<sup>U</sup>**′ (*m*) <sup>=</sup> **<sup>I</sup>***mP*. With {**Q**(*m*), **<sup>R</sup>**(*m*), **<sup>U</sup>**(*m*)} <sup>=</sup> {**Q**′ (*m*) , **R**′ (*m*) , **U**′ (*m*) } and *ρ* = 2, a version of CLLL algorithm is summarized as follows (note that since CLLL is used in UBLR, in Table 1, CLLL becomes part of UBLR).


In our LRG user selection, at the *m*th user selection, the channel matrix of size *N* × *P*(*m* − 1) (denoted by **<sup>H</sup>**(*m*−1)) is obtained from the previous user selections. Under the assumption that the CLLL has been performed with **<sup>H</sup>**(*m*−1) and its CLLL reduced matrix **<sup>G</sup>**(*m*−1) is

<sup>1</sup> Since the performance of the LRG and UBLRG user selection schemes are the same (in fact, UBLRG is a computationally efficient version of LRG), we now only consider UBLRG and assume that LRG and UBLRG are interchangeable.

<sup>2</sup> Here, *δ* is a factor selected to achieve a good quality-complexity trade-off [4]. We note that *δ* can be chose from ( <sup>1</sup> <sup>4</sup> , 1) and ( <sup>1</sup> <sup>2</sup> , 1) for the real and complex LLL algorithms, respectively.

INPUT: {A(*m*−1), <sup>B</sup>(*m*−1), **<sup>H</sup>**(*m*−1), **<sup>H</sup>***k*(*m*) }. OUTPUT: {A(*m*), <sup>B</sup>(*m*)}. (1) **<sup>H</sup>**(*m*) <sup>←</sup> **<sup>H</sup>**(*m*−1) **<sup>H</sup>***k*(*m*) (2) *<sup>ω</sup>* <sup>←</sup> size(**H**(*m*−1), 2) (3) *<sup>ζ</sup>* <sup>←</sup> size(**H**(*m*), 2) (4) [**Q**(*m*) **<sup>R</sup>**(*m*)] <sup>←</sup> qr(**H**(*m*)) (5) **<sup>U</sup>**(*m*) <sup>←</sup> **<sup>I</sup>***<sup>ζ</sup>* (6) **<sup>U</sup>**(*m*)(1 : *<sup>ω</sup>*,1: *<sup>ω</sup>*) <sup>←</sup> **<sup>U</sup>**(*m*−1) (7) **<sup>Q</sup>**(*m*) <sup>←</sup> **<sup>Q</sup>**(*m*−1) (8) **<sup>R</sup>**(*m*)(:, 1 : *<sup>ω</sup>*) <sup>←</sup> **<sup>R</sup>**(*m*−1) (9) for <sup>ℓ</sup> <sup>=</sup> 1 : *<sup>η</sup>*(*m*−1) (10) **<sup>R</sup>**(*m*) **fl**(*m*−1,ℓ) <sup>−</sup> 1 : **fl**(*m*−1,ℓ), *<sup>ω</sup>* <sup>+</sup> 1 : *<sup>ζ</sup>* <sup>←</sup> **<sup>Θ</sup>**(*m*−1,ℓ)**R**(*m*) **fl**(*m*−1,ℓ) <sup>−</sup> 1 : **fl**(*m*−1,ℓ), *<sup>ω</sup>* <sup>+</sup> 1 : *<sup>ζ</sup>* (11) end for (14) *ρ* ← *ω* + 1 (13) *<sup>η</sup>*(*m*) <sup>←</sup> <sup>0</sup> (14) while *ρ* ≤ *ζ* (15) for ℓ = 1 : *ρ* − 1 (16) *<sup>µ</sup>* ← ⌈**R**(*m*)(*<sup>ρ</sup>* <sup>−</sup> <sup>ℓ</sup>, *<sup>ρ</sup>*)/**R**(*m*)(*<sup>ρ</sup>* <sup>−</sup> <sup>ℓ</sup>, *<sup>ρ</sup>* <sup>−</sup> <sup>ℓ</sup>)⌋ (17) if *µ* �= 0 (18) **<sup>R</sup>**(*m*)(1 : *<sup>ρ</sup>* <sup>−</sup> <sup>ℓ</sup>, *<sup>ρ</sup>*) <sup>←</sup> **<sup>R</sup>**(*m*)(1 : *<sup>ρ</sup>* <sup>−</sup> <sup>ℓ</sup>, *<sup>ρ</sup>*) <sup>−</sup> *<sup>µ</sup>***R**(*m*)(1 : *<sup>ρ</sup>* <sup>−</sup> <sup>ℓ</sup>, *<sup>ρ</sup>* <sup>−</sup> <sup>ℓ</sup>) (19) **<sup>U</sup>**(*m*)(:, *<sup>ρ</sup>*) <sup>←</sup> **<sup>U</sup>**(*m*)(:, *<sup>ρ</sup>*) <sup>−</sup> *<sup>µ</sup>***U**(*m*)(:, *<sup>ρ</sup>* <sup>−</sup> <sup>ℓ</sup>) (20) end if (21) end for (22) if *<sup>δ</sup>*|(**R**(*m*)(*<sup>ρ</sup>* <sup>−</sup> 1, *<sup>ρ</sup>* <sup>−</sup> <sup>1</sup>))<sup>|</sup> <sup>2</sup> <sup>&</sup>gt; <sup>|</sup>**R**(*m*)(*ρ*, *<sup>ρ</sup>*)<sup>|</sup> <sup>2</sup> <sup>+</sup> <sup>|</sup>**R**(*m*)(*<sup>ρ</sup>* <sup>−</sup> 1, *<sup>ρ</sup>*)<sup>|</sup> 2 (23) *<sup>η</sup>*(*m*) <sup>←</sup> *<sup>η</sup>*(*m*) <sup>+</sup> <sup>1</sup> (24) Swap the (*<sup>ρ</sup>* <sup>−</sup> <sup>1</sup>)-th and *<sup>ρ</sup>*th columns in **<sup>R</sup>**(*m*) and **<sup>U</sup>**(*m*) (25) **<sup>Θ</sup>**(*m*,*η*(*m*)) <sup>=</sup> *α*<sup>∗</sup> *β* <sup>−</sup>*β α* with *<sup>α</sup>* <sup>=</sup> **<sup>R</sup>**(*m*)(*ρ*−1,*ρ*−1) �**R**(*m*)(*ρ*−1:*ρ*,*ρ*−1)� *<sup>β</sup>* <sup>=</sup> **<sup>R</sup>**(*m*)(*ρ*,*ρ*−1) �**R**(*m*)(*ρ*−1:*ρ*,*ρ*−1)� (26) **fl**(*m*,*η*(*m*)) <sup>←</sup> *<sup>ρ</sup>* (27) **<sup>R</sup>**(*m*)(*<sup>ρ</sup>* <sup>−</sup> 1 : *<sup>ρ</sup>*, *<sup>ρ</sup>* <sup>−</sup> 1 : *<sup>ζ</sup>*) <sup>←</sup> **<sup>Θ</sup>**(*m*,*η*(*m*))**R**(*m*)(*<sup>ρ</sup>* <sup>−</sup> 1 : *<sup>ρ</sup>*, *<sup>ρ</sup>* <sup>−</sup> 1 : *<sup>ζ</sup>*) (28) **<sup>Q</sup>**(*m*)(:, *<sup>ρ</sup>* <sup>−</sup> 1 : *<sup>ρ</sup>*) <sup>←</sup> **<sup>Q</sup>**(*m*)(:, *<sup>ρ</sup>* <sup>−</sup> 1 : *<sup>ρ</sup>*)**Θ**<sup>T</sup> (*m*,*η*(*m*)) (29) *ρ* ← max{*ρ* − 1, 2} (30) else (31) *ρ* ← *ρ* + 1 (32) end if (33) end while

10.5772/57128

171

http://dx.doi.org/10.5772/57130

(*m*) are the

}, while the outputs are

(*m*) with the first two columns (the 1st to *<sup>ρ</sup>*th

Lattice Reduction-Based User Selection in Multiuser MIMO Systems

(*m*) from <sup>A</sup>(*m*−1).

(*m*) of size *<sup>N</sup>* <sup>×</sup> *Pm* are upper triangular, it is

(*m*) (:, 1 : *<sup>P</sup>*(*<sup>m</sup>* <sup>−</sup> <sup>1</sup>)), which results in that the size

(*m*) and **<sup>R</sup>**(*m*)(:, 1 : *<sup>P</sup>*(*<sup>m</sup>* <sup>−</sup> <sup>1</sup>)) = **<sup>R</sup>**(*m*−1).

columns, where *ρ* = 2 in a)), UBLR reduces the iteration by starting the size-reduction with *ρ* = (*m* − 1)*P* + 1. In this case, the iteration of size-reduction from that with *ρ* = 2 to that

Then, we have the 1st to *<sup>P</sup>*(*<sup>m</sup>* <sup>−</sup> <sup>1</sup>)-th column vectors of **<sup>R</sup>**(*m*) satisfying (29) and (30). From this, we can see that CLLL is partially performed on **<sup>R</sup>**(*m*) by employing UBLR. Similarly, with **<sup>Q</sup>**(*m*) <sup>=</sup> **<sup>Q</sup>**(*m*−1) and **<sup>U</sup>**(*m*)(1 : *<sup>P</sup>*(*<sup>m</sup>* <sup>−</sup> <sup>1</sup>),1 : *<sup>P</sup>*(*<sup>m</sup>* <sup>−</sup> <sup>1</sup>)) = **<sup>U</sup>**(*m*−1), {**Q**(*m*), **<sup>U</sup>**(*m*)} can be updated with low computational complexity from {**Q**(*m*−1), **<sup>U</sup>**(*m*−1)}. Thus, from <sup>A</sup>(*m*−1), UBLR is carried out to update the elements in <sup>A</sup>(*m*) as shown in rows (6)-(8) in Table 1.

In addition, we note that, in row (8) of Table 1, we do not consider updating **<sup>R</sup>**(*m*)(1 : *<sup>P</sup>*(*<sup>m</sup>* <sup>−</sup> <sup>1</sup>), *<sup>P</sup>*(*<sup>m</sup>* <sup>−</sup> <sup>1</sup>) + 1 : *Pm*) in <sup>A</sup>(*m*). It can be observed that when we perform a CLLL on **<sup>H</sup>**(*m*) with the same operations of the CLLL for previous user selections, **<sup>R</sup>**(*m*)(1 : *P*(*m* − 1), *P*(*m* − 1) + 1 : *Pm*) will also be influenced. Hence, extra processing is necessary to recover **<sup>R</sup>**(*m*)(1 : *<sup>P</sup>*(*<sup>m</sup>* <sup>−</sup> <sup>1</sup>), *<sup>P</sup>*(*<sup>m</sup>* <sup>−</sup> <sup>1</sup>) + 1 : *Pm*) in <sup>A</sup>(*m*). To this end, we define that <sup>B</sup>(*m*−1) <sup>=</sup> {**Θ**(*m*−1), **fl**(*m*−1), *<sup>η</sup>*(*m*−1)}, where **<sup>Θ</sup>**(*m*−1) <sup>=</sup> {**Θ**(*m*−1,1), ··· , **<sup>Θ</sup>**(*m*−1,*η*)}, **fl**(*m*−1) <sup>=</sup> {**fl**(*m*−1,1), ··· , **fl**(*m*−1,*η*)}, and *<sup>η</sup>*(*m*−1) <sup>=</sup> *<sup>η</sup>*. The operations of swapping and updating **<sup>R</sup>**(*m*−1) and **<sup>Q</sup>**(*m*−1) are kept in *<sup>η</sup>*(*m*−1), *<sup>γ</sup>*(*m*−1), and **<sup>Θ</sup>**(*m*−1,*η*), where *<sup>η</sup>*(*m*−1) keeps the number of swapping times, *<sup>γ</sup>*(*m*−1) keeps those columns involved in the swaps, and **<sup>Θ</sup>**(*m*−1,*η*) keeps the operations of column swaps. From the CLLL (see row (27) in Table 1), we note that **<sup>R</sup>**(*m*)(1 : *<sup>P</sup>*(*<sup>m</sup>* <sup>−</sup> <sup>1</sup>), *<sup>P</sup>*(*<sup>m</sup>* <sup>−</sup> <sup>1</sup>) + 1 : *Pm*) is generated by a transformation with **<sup>Θ</sup>**(*m*). Thus, using the information kept in <sup>B</sup>(*m*−1), we can generate **<sup>R</sup>**(*m*)(1 : *<sup>P</sup>*(*<sup>m</sup>* <sup>−</sup> <sup>1</sup>), *<sup>P</sup>*(*<sup>m</sup>* <sup>−</sup> <sup>1</sup>) + 1 : *Pm*)

With an updated <sup>A</sup>(*m*), one CLLL can be carried out to generate the reduced basis **<sup>G</sup>**(*m*). The calculation of this new basis generation starts with *ρ* = (*m* − 1)*P* + 1. Hence, the computational complexity of UBLR is evidently reduced as compared to employing one CLLL starting with *<sup>ρ</sup>* <sup>=</sup> 2. Note that since UBLR and CLLL generate the same LBR **<sup>G</sup>**(*m*),

The UBLR algorithm of the *m*th user selection is summarized in Table 1. The inputs of the

{A(*m*), <sup>B</sup>(*m*)}. Note that for the first user selection, with its channel matrix **<sup>H</sup>***k*(1) as the input, instead of using the UBLR, one CLLL is carried out to generate {A(1), <sup>B</sup>(1)} as the output. Since the outputs of the *m*th user selection are regarded as the inputs at the (*m* + 1)-th user selection, the algorithm is recursively carried out from *m* = 2. The algorithm is terminated if

The complexity of CLLL and UBLR algorithms highly depends on the number of column swaps, which is denoted by the output parameter *η*. In Table 2, the average value of *η* per iteration is shown when the CLLL-based MMSE-SIC detector is used with the proposed LRG and UBLRG user selection. It is assumed that *K* = 10 and *N* = 8 for the two

Instead of starting the size-reduction of **<sup>R</sup>**′

(*m*−1)

straightforward to obtain that **<sup>R</sup>**′

as shown in rows (9)-(11) of Table 1.

they are expected to provide the same performance.

algorithm of the *<sup>m</sup>*th user selection are {A(*m*−1), <sup>B</sup>(*m*−1), **<sup>H</sup>**(*m*−1), **<sup>H</sup>***k*(*m*)

Since **<sup>R</sup>**′

*m* = *M*.

same as those on **<sup>R</sup>**′

with *<sup>ρ</sup>* = (*<sup>m</sup>* − <sup>1</sup>)*<sup>P</sup>* + 1 need to be obtained by updating A′

(*m*−1) <sup>=</sup> **<sup>R</sup>**′

reduction and column swapping performed on the first *<sup>P</sup>*(*<sup>m</sup>* − <sup>1</sup>) columns of **<sup>R</sup>**′

. Using **<sup>R</sup>**(*m*−1), let <sup>A</sup>(*m*) <sup>=</sup> <sup>A</sup>′

(*m*−1) of size *<sup>N</sup>* <sup>×</sup> *<sup>P</sup>*(*<sup>m</sup>* <sup>−</sup> <sup>1</sup>) and **<sup>R</sup>**′

**Table 1.** The UBLR (based on the CLLL) algorithm at the *m*th user selection

available, we have **<sup>H</sup>**(*m*) <sup>=</sup> **<sup>H</sup>**(*m*−1) **<sup>H</sup>***k*(*m*) which is the channel matrix for the first *m* selected users.

The UBLR algorithm is carried out to transform **<sup>H</sup>**(*m*) into a reduced basis **<sup>G</sup>**(*m*) by utilizing a given set of already available matrices <sup>A</sup>(*m*−1) <sup>=</sup> {**Q**(*m*−1), **<sup>R</sup>**(*m*−1), **<sup>U</sup>**(*m*−1)} associated with the CLLL reduced matrix **<sup>G</sup>**(*m*−1) in the previous *<sup>m</sup>* <sup>−</sup> 1 users selection, where **<sup>G</sup>**(*m*−1) <sup>=</sup> **<sup>Q</sup>**(*m*−1)**R**(*m*−1) <sup>=</sup> **<sup>H</sup>**(*m*−1)**U**(*m*−1). The unimodular matrix **<sup>U</sup>**(*m*−1) is employed to represent the column swaps in the CLLL, while **<sup>R</sup>**(*m*−1) satisfies (29) and (30). The transformation algorithm for generating **<sup>G</sup>**(*m*) in UBLR is summarized as follows.

Instead of starting the size-reduction of **<sup>R</sup>**′ (*m*) with the first two columns (the 1st to *<sup>ρ</sup>*th columns, where *ρ* = 2 in a)), UBLR reduces the iteration by starting the size-reduction with *ρ* = (*m* − 1)*P* + 1. In this case, the iteration of size-reduction from that with *ρ* = 2 to that with *<sup>ρ</sup>* = (*<sup>m</sup>* − <sup>1</sup>)*<sup>P</sup>* + 1 need to be obtained by updating A′ (*m*) from <sup>A</sup>(*m*−1).

12 Recent Trends in Multiuser MIMO Communications

(1) **<sup>H</sup>**(*m*) <sup>←</sup>

(5) **<sup>U</sup>**(*m*) <sup>←</sup> **<sup>I</sup>***<sup>ζ</sup>*

(10) **<sup>R</sup>**(*m*)

(11) end for (14) *ρ* ← *ω* + 1 (13) *<sup>η</sup>*(*m*) <sup>←</sup> <sup>0</sup> (14) while *ρ* ≤ *ζ* (15) for ℓ = 1 : *ρ* − 1

(17) if *µ* �= 0

(20) end if (21) end for

(22) if *<sup>δ</sup>*|(**R**(*m*)(*<sup>ρ</sup>* <sup>−</sup> 1, *<sup>ρ</sup>* <sup>−</sup> <sup>1</sup>))<sup>|</sup>

(23) *<sup>η</sup>*(*m*) <sup>←</sup> *<sup>η</sup>*(*m*) <sup>+</sup> <sup>1</sup>

(25) **<sup>Θ</sup>**(*m*,*η*(*m*)) <sup>=</sup>

(26) **fl**(*m*,*η*(*m*)) <sup>←</sup> *<sup>ρ</sup>*

(30) else (31) *ρ* ← *ρ* + 1 (32) end if (33) end while

available, we have **<sup>H</sup>**(*m*) <sup>=</sup>

users.

(29) *ρ* ← max{*ρ* − 1, 2}

**Table 1.** The UBLR (based on the CLLL) algorithm at the *m*th user selection

(7) **<sup>Q</sup>**(*m*) <sup>←</sup> **<sup>Q</sup>**(*m*−1) (8) **<sup>R</sup>**(*m*)(:, 1 : *<sup>ω</sup>*) <sup>←</sup> **<sup>R</sup>**(*m*−1) (9) for <sup>ℓ</sup> <sup>=</sup> 1 : *<sup>η</sup>*(*m*−1)

INPUT: {A(*m*−1), <sup>B</sup>(*m*−1), **<sup>H</sup>**(*m*−1), **<sup>H</sup>***k*(*m*)

**<sup>H</sup>**(*m*−1) **<sup>H</sup>***k*(*m*)

<sup>←</sup> **<sup>Θ</sup>**(*m*−1,ℓ)**R**(*m*)

(16) *<sup>µ</sup>* ← ⌈**R**(*m*)(*<sup>ρ</sup>* <sup>−</sup> <sup>ℓ</sup>, *<sup>ρ</sup>*)/**R**(*m*)(*<sup>ρ</sup>* <sup>−</sup> <sup>ℓ</sup>, *<sup>ρ</sup>* <sup>−</sup> <sup>ℓ</sup>)⌋

(19) **<sup>U</sup>**(*m*)(:, *<sup>ρ</sup>*) <sup>←</sup> **<sup>U</sup>**(*m*)(:, *<sup>ρ</sup>*) <sup>−</sup> *<sup>µ</sup>***U**(*m*)(:, *<sup>ρ</sup>* <sup>−</sup> <sup>ℓ</sup>)

 *α*<sup>∗</sup> *β* −*β α* 

(28) **<sup>Q</sup>**(*m*)(:, *<sup>ρ</sup>* <sup>−</sup> 1 : *<sup>ρ</sup>*) <sup>←</sup> **<sup>Q</sup>**(*m*)(:, *<sup>ρ</sup>* <sup>−</sup> 1 : *<sup>ρ</sup>*)**Θ**<sup>T</sup>

**<sup>H</sup>**(*m*−1) **<sup>H</sup>***k*(*m*)

algorithm for generating **<sup>G</sup>**(*m*) in UBLR is summarized as follows.

The UBLR algorithm is carried out to transform **<sup>H</sup>**(*m*) into a reduced basis **<sup>G</sup>**(*m*) by utilizing a given set of already available matrices <sup>A</sup>(*m*−1) <sup>=</sup> {**Q**(*m*−1), **<sup>R</sup>**(*m*−1), **<sup>U</sup>**(*m*−1)} associated with the CLLL reduced matrix **<sup>G</sup>**(*m*−1) in the previous *<sup>m</sup>* <sup>−</sup> 1 users selection, where **<sup>G</sup>**(*m*−1) <sup>=</sup> **<sup>Q</sup>**(*m*−1)**R**(*m*−1) <sup>=</sup> **<sup>H</sup>**(*m*−1)**U**(*m*−1). The unimodular matrix **<sup>U</sup>**(*m*−1) is employed to represent the column swaps in the CLLL, while **<sup>R</sup>**(*m*−1) satisfies (29) and (30). The transformation

**fl**(*m*−1,ℓ) <sup>−</sup> 1 : **fl**(*m*−1,ℓ), *<sup>ω</sup>* <sup>+</sup> 1 : *<sup>ζ</sup>*

(18) **<sup>R</sup>**(*m*)(1 : *<sup>ρ</sup>* <sup>−</sup> <sup>ℓ</sup>, *<sup>ρ</sup>*) <sup>←</sup> **<sup>R</sup>**(*m*)(1 : *<sup>ρ</sup>* <sup>−</sup> <sup>ℓ</sup>, *<sup>ρ</sup>*) <sup>−</sup> *<sup>µ</sup>***R**(*m*)(1 : *<sup>ρ</sup>* <sup>−</sup> <sup>ℓ</sup>, *<sup>ρ</sup>* <sup>−</sup> <sup>ℓ</sup>)

(24) Swap the (*<sup>ρ</sup>* <sup>−</sup> <sup>1</sup>)-th and *<sup>ρ</sup>*th columns in **<sup>R</sup>**(*m*) and **<sup>U</sup>**(*m*)

(27) **<sup>R</sup>**(*m*)(*<sup>ρ</sup>* <sup>−</sup> 1 : *<sup>ρ</sup>*, *<sup>ρ</sup>* <sup>−</sup> 1 : *<sup>ζ</sup>*) <sup>←</sup> **<sup>Θ</sup>**(*m*,*η*(*m*))**R**(*m*)(*<sup>ρ</sup>* <sup>−</sup> 1 : *<sup>ρ</sup>*, *<sup>ρ</sup>* <sup>−</sup> 1 : *<sup>ζ</sup>*)

<sup>2</sup> <sup>&</sup>gt; <sup>|</sup>**R**(*m*)(*ρ*, *<sup>ρ</sup>*)<sup>|</sup>

with *<sup>α</sup>* <sup>=</sup> **<sup>R</sup>**(*m*)(*ρ*−1,*ρ*−1)

�**R**(*m*)(*ρ*−1:*ρ*,*ρ*−1)� *<sup>β</sup>* <sup>=</sup> **<sup>R</sup>**(*m*)(*ρ*,*ρ*−1) �**R**(*m*)(*ρ*−1:*ρ*,*ρ*−1)�

(*m*,*η*(*m*))

OUTPUT: {A(*m*), <sup>B</sup>(*m*)}.

(2) *<sup>ω</sup>* <sup>←</sup> size(**H**(*m*−1), 2) (3) *<sup>ζ</sup>* <sup>←</sup> size(**H**(*m*), 2) (4) [**Q**(*m*) **<sup>R</sup>**(*m*)] <sup>←</sup> qr(**H**(*m*))

(6) **<sup>U</sup>**(*m*)(1 : *<sup>ω</sup>*,1: *<sup>ω</sup>*) <sup>←</sup> **<sup>U</sup>**(*m*−1)

}.

<sup>2</sup> <sup>+</sup> <sup>|</sup>**R**(*m*)(*<sup>ρ</sup>* <sup>−</sup> 1, *<sup>ρ</sup>*)<sup>|</sup>

which is the channel matrix for the first *m* selected

2

**fl**(*m*−1,ℓ) <sup>−</sup> 1 : **fl**(*m*−1,ℓ), *<sup>ω</sup>* <sup>+</sup> 1 : *<sup>ζ</sup>*

Since **<sup>R</sup>**′ (*m*−1) of size *<sup>N</sup>* <sup>×</sup> *<sup>P</sup>*(*<sup>m</sup>* <sup>−</sup> <sup>1</sup>) and **<sup>R</sup>**′ (*m*) of size *<sup>N</sup>* <sup>×</sup> *Pm* are upper triangular, it is straightforward to obtain that **<sup>R</sup>**′ (*m*−1) <sup>=</sup> **<sup>R</sup>**′ (*m*) (:, 1 : *<sup>P</sup>*(*<sup>m</sup>* <sup>−</sup> <sup>1</sup>)), which results in that the size reduction and column swapping performed on the first *<sup>P</sup>*(*<sup>m</sup>* − <sup>1</sup>) columns of **<sup>R</sup>**′ (*m*) are the same as those on **<sup>R</sup>**′ (*m*−1) . Using **<sup>R</sup>**(*m*−1), let <sup>A</sup>(*m*) <sup>=</sup> <sup>A</sup>′ (*m*) and **<sup>R</sup>**(*m*)(:, 1 : *<sup>P</sup>*(*<sup>m</sup>* <sup>−</sup> <sup>1</sup>)) = **<sup>R</sup>**(*m*−1). Then, we have the 1st to *<sup>P</sup>*(*<sup>m</sup>* <sup>−</sup> <sup>1</sup>)-th column vectors of **<sup>R</sup>**(*m*) satisfying (29) and (30). From this, we can see that CLLL is partially performed on **<sup>R</sup>**(*m*) by employing UBLR. Similarly, with **<sup>Q</sup>**(*m*) <sup>=</sup> **<sup>Q</sup>**(*m*−1) and **<sup>U</sup>**(*m*)(1 : *<sup>P</sup>*(*<sup>m</sup>* <sup>−</sup> <sup>1</sup>),1 : *<sup>P</sup>*(*<sup>m</sup>* <sup>−</sup> <sup>1</sup>)) = **<sup>U</sup>**(*m*−1), {**Q**(*m*), **<sup>U</sup>**(*m*)} can be updated with low computational complexity from {**Q**(*m*−1), **<sup>U</sup>**(*m*−1)}. Thus, from <sup>A</sup>(*m*−1), UBLR is carried out to update the elements in <sup>A</sup>(*m*) as shown in rows (6)-(8) in Table 1.

In addition, we note that, in row (8) of Table 1, we do not consider updating **<sup>R</sup>**(*m*)(1 : *<sup>P</sup>*(*<sup>m</sup>* <sup>−</sup> <sup>1</sup>), *<sup>P</sup>*(*<sup>m</sup>* <sup>−</sup> <sup>1</sup>) + 1 : *Pm*) in <sup>A</sup>(*m*). It can be observed that when we perform a CLLL on **<sup>H</sup>**(*m*) with the same operations of the CLLL for previous user selections, **<sup>R</sup>**(*m*)(1 : *P*(*m* − 1), *P*(*m* − 1) + 1 : *Pm*) will also be influenced. Hence, extra processing is necessary to recover **<sup>R</sup>**(*m*)(1 : *<sup>P</sup>*(*<sup>m</sup>* <sup>−</sup> <sup>1</sup>), *<sup>P</sup>*(*<sup>m</sup>* <sup>−</sup> <sup>1</sup>) + 1 : *Pm*) in <sup>A</sup>(*m*). To this end, we define that <sup>B</sup>(*m*−1) <sup>=</sup> {**Θ**(*m*−1), **fl**(*m*−1), *<sup>η</sup>*(*m*−1)}, where **<sup>Θ</sup>**(*m*−1) <sup>=</sup> {**Θ**(*m*−1,1), ··· , **<sup>Θ</sup>**(*m*−1,*η*)}, **fl**(*m*−1) <sup>=</sup> {**fl**(*m*−1,1), ··· , **fl**(*m*−1,*η*)}, and *<sup>η</sup>*(*m*−1) <sup>=</sup> *<sup>η</sup>*. The operations of swapping and updating **<sup>R</sup>**(*m*−1) and **<sup>Q</sup>**(*m*−1) are kept in *<sup>η</sup>*(*m*−1), *<sup>γ</sup>*(*m*−1), and **<sup>Θ</sup>**(*m*−1,*η*), where *<sup>η</sup>*(*m*−1) keeps the number of swapping times, *<sup>γ</sup>*(*m*−1) keeps those columns involved in the swaps, and **<sup>Θ</sup>**(*m*−1,*η*) keeps the operations of column swaps. From the CLLL (see row (27) in Table 1), we note that **<sup>R</sup>**(*m*)(1 : *<sup>P</sup>*(*<sup>m</sup>* <sup>−</sup> <sup>1</sup>), *<sup>P</sup>*(*<sup>m</sup>* <sup>−</sup> <sup>1</sup>) + 1 : *Pm*) is generated by a transformation with **<sup>Θ</sup>**(*m*). Thus, using the information kept in <sup>B</sup>(*m*−1), we can generate **<sup>R</sup>**(*m*)(1 : *<sup>P</sup>*(*<sup>m</sup>* <sup>−</sup> <sup>1</sup>), *<sup>P</sup>*(*<sup>m</sup>* <sup>−</sup> <sup>1</sup>) + 1 : *Pm*) as shown in rows (9)-(11) of Table 1.

With an updated <sup>A</sup>(*m*), one CLLL can be carried out to generate the reduced basis **<sup>G</sup>**(*m*). The calculation of this new basis generation starts with *ρ* = (*m* − 1)*P* + 1. Hence, the computational complexity of UBLR is evidently reduced as compared to employing one CLLL starting with *<sup>ρ</sup>* <sup>=</sup> 2. Note that since UBLR and CLLL generate the same LBR **<sup>G</sup>**(*m*), they are expected to provide the same performance.

The UBLR algorithm of the *m*th user selection is summarized in Table 1. The inputs of the algorithm of the *<sup>m</sup>*th user selection are {A(*m*−1), <sup>B</sup>(*m*−1), **<sup>H</sup>**(*m*−1), **<sup>H</sup>***k*(*m*) }, while the outputs are {A(*m*), <sup>B</sup>(*m*)}. Note that for the first user selection, with its channel matrix **<sup>H</sup>***k*(1) as the input, instead of using the UBLR, one CLLL is carried out to generate {A(1), <sup>B</sup>(1)} as the output. Since the outputs of the *m*th user selection are regarded as the inputs at the (*m* + 1)-th user selection, the algorithm is recursively carried out from *m* = 2. The algorithm is terminated if *m* = *M*.

The complexity of CLLL and UBLR algorithms highly depends on the number of column swaps, which is denoted by the output parameter *η*. In Table 2, the average value of *η* per iteration is shown when the CLLL-based MMSE-SIC detector is used with the proposed LRG and UBLRG user selection. It is assumed that *K* = 10 and *N* = 8 for the two


173

http://dx.doi.org/10.5772/57130

*<sup>M</sup>* ⌋ statistically

, (32)

, (33)

*Proof.* See Section 8.1.

diversity gain of at least ⌊ *<sup>K</sup>*

that are not independent.

*P* mmse *<sup>e</sup>* <sup>≤</sup> *<sup>c</sup>*<sup>2</sup>

*where c*<sup>2</sup> > 0 *is constant.*

*Proof.* See Section 8.2.

*where c*<sup>3</sup> > 0 *is constant.*

*Proof.* See Section 8.3.

multiuser diversity gain, ⌊ *<sup>K</sup>*

*selection criterion, denoted by P*mmse

�*σ*2 *<sup>h</sup>* �**d**�<sup>2</sup> *N*0

able to exploit a full receive diversity.

*MD user selection criterion, denoted by P*lr

*P* lr *<sup>e</sup>* <sup>≤</sup> *<sup>c</sup>*<sup>3</sup>

This theorem shows that a full receive diversity gain of *N* together with a partial multiuser

independent alternative combinations of the composite channel matrix **H**<sup>K</sup> for *M* users. Hence, this result is a lower bound on the diversity gain. In fact, there are more combinations for **H**K, which are not independent, that can increase the multiuser diversity gain. By simulations, we will further demonstrate the impact of the combinations of *M* selected users

**Theorem 6.2.** *The average PEP of the MMSE detector with the selected M users under the ME user*

+ *o* �*σ*2 *<sup>h</sup>* �**d**�<sup>2</sup> *N*0

This theorem shows that for the MMSE detector, the ME user selection criterion may not be

**Theorem 6.3.** *The average PEP of the LR-based SIC detector with the selected M users under the*

This theorem shows that a full receive diversity gain of *N* together with the same partial

detector under the MD user selection criterion. From these results, we can see that the

LR-based detector is as good as the ML detector with respect to the diversity gains.

*<sup>e</sup> , is upper-bounded as*

�� �*σ*<sup>2</sup> *h***d**�<sup>2</sup> *N*<sup>0</sup>

�−*N*⌊ *<sup>K</sup> <sup>M</sup>* ⌋+<sup>1</sup> �

*<sup>M</sup>* ⌋, as with the ML detector, can be achieved by the LR-based

selection criterion. This result is derived under the fact that there are at least ⌊ *<sup>K</sup>*

*<sup>e</sup> , is upper-bounded as*

*M* ⌋

�−(*N*−*P*+1)⌊ *<sup>K</sup>*

*6.1.2. Diversity Gain of Combinatorial User Selection with LR-based Detector*

�−*N*⌊ *<sup>K</sup> M* ⌋ + *o*

� �*σ*<sup>2</sup> *h***d**�<sup>2</sup> *N*<sup>0</sup>

*<sup>M</sup>* ⌋ can be achieved by the ML detector under the MDist user

Lattice Reduction-Based User Selection in Multiuser MIMO Systems

�−(*N*−*P*+1)⌊ *<sup>K</sup>*

*<sup>M</sup>* ⌋+<sup>1</sup> 

Note that the superscript <sup>1</sup> denotes the case of *K* = 10, *N* = 8, (*M*, *P*)=(8, 1) and the superscript <sup>2</sup> denotes the case of *K* = 10, *N* = 8, (*M*, *P*)=(4, 2), respectively.

**Table 2.** The average value of *η* in the LRG and UBLRG user selection with the CLLL based MMSE-SIC detector is used.

possible cases of (*M*, *P*)=(8, 1) and (*M*, *P*)=(4, 2). Based on these results, we can observe that the complexity is significantly reduced if UBLR is employed. We also note that with the LRG, the complexity for the case of (*M*, *P*)=(8, 1) is higher than that of (*M*, *P*)=(4, 2) as expected (a large *M* implies a higher complexity). We can also show that the complexity of UBLRG is upper-bounded as (*K* − *M* + 1)*O* (*MP*)3*N* log(*MP*) + <sup>∑</sup>*M*−<sup>1</sup> *<sup>i</sup>*=<sup>1</sup> *<sup>O</sup>* (*iP*)3*N* log(*iP*) . Compared to the complexity of LRG which is upper-bounded as ∑*<sup>M</sup> <sup>i</sup>*=1(*<sup>K</sup>* <sup>−</sup> *<sup>i</sup>* <sup>+</sup> <sup>1</sup>)*<sup>O</sup>* (*iP*)3*N* log(*iP*) , the UBLRG scheme has a lower complexity, especially when large *K* and *M* are considered.
