From: User grouping and resource allocation in multiuser MIMO systems under SWIPT
1: Set \(\mathcal {U}_{I} = \emptyset, Q_{i}\ge 0\), and \(\omega _{i}>0, \, \forall i \in \mathcal {U}_{T}\) |
2: Find \(i_{1} = \arg \max _{\forall i \in \mathcal {U}^{S}_{I}} \max _{\mathbf {S}_{i}}\omega _{i}\log \det \left (\mathbf {I} + \mathbf {H}_{i}\mathbf {S}_{i}\mathbf {H}_{i}^{H}\right)\) |
Subject to Tr(Si)≤PT,Si≽0 |
3: Set \(f_{\text {temp}} = \omega _{i_{1}}\log \det \left (\mathbf {I} + \mathbf {H}_{i_{1}}\mathbf {S}_{i_{1}}\mathbf {H}_{i_{1}}^{H}\right)\) |
4: Set \(\mathcal {U}_{I} \leftarrow \mathcal {U}_{I} \cup \{i_{1}\}, \,\, \mathcal {U}^{S}_{I} \leftarrow \mathcal {U}^{S}_{I} \setminus \{i_{1}\}\) |
5: for j=2 to U |
6: for every \(i \in \mathcal {U}^{S}_{I}\) |
7: Let \(\mathcal {U}^{(i)}_{I} = \mathcal {U}_{I} \cup \{i\}\) |
8: Solve (13) without C1, and obtain \(R^{\star }_{m}, \, \forall m\in \mathcal {U}^{(i)}_{I}\) |
9: Compute \(f_{i} = \sum \nolimits _{m\in \mathcal {U}^{(i)}_{I}} \omega _{m}R^{\star }_{m}\) |
10: end for |
11: Let \(i_{j} = \arg \max _{i \in \mathcal {U}^{S}_{I}} f_{i}\) |
12: if\(f_{i_{j}} < f_{\text {temp}} \longrightarrow \), go to 17 (break for) |
13: else |
14: \(\mathcal {U_{I}} \leftarrow \mathcal {U}_{I} \cup \{i_{j}\}, \,\, \mathcal {U}^{S}_{I} \leftarrow \mathcal {U}^{S}_{I} \setminus \{i_{j}\}\) |
15: Let \(\phantom {\dot {i}\!}f_{\text {temp}} = f_{i_{j}}\) |
16: end if |
17: end for |