# Hybrid MU-MIMO Precoding Based on K-Means User Clustering
## 5 System Model  
We consider the downlink of a single-cell MU-MIMO system, where a base station with a uniform linear array of \(N_{T}\) antennas simultaneously transmits data to \(K\) single-antenna users. \(\mathbf{x}_{p}\) is the vector of precoded symbols using various precoding schemes \(p\). The received signal vector of the users, \(\mathbf{y}\), becomes:  
\[\mathbf{y}=\mathbf{H}\mathbf{x}_{p}+\mathbf{n}, \tag{20}\]  
Figure 6: User clustering complexity for various distance metrics and grouping algorithms. US, User Selection.  
where \(\mathbf{H}=\left[\mathbf{h}_{1},\cdots,\mathbf{h}_{K}\right]^{T}\) is the channel matrix, with \(\mathbf{h}_{k}\) being the channel vector for the \(k\)th user. The channel vector of each user is generated from a Rayleigh distribution, and the gains from different antennas are spatially correlated using the model introduced in Section 3.2, such that \(\mathbf{h}_{k}\in\mathbb{C}^{K\times N_{T}}\sim\mathcal{N}_{\mathbb{C}}\left( \mathbf{0}_{N_{T}},\mathbf{R}_{k}\right)\). \(\mathbf{R}_{k}\) is the spatial correlation matrix and \(\mathbf{n}=[n_{1},\cdots,n_{K}]^{T}\sim\mathcal{N}_{\mathbb{C}}\left(\mathbf{ 0},\sigma_{n}^{2}\mathbf{I}_{K}\right)\) is the vector of AWGN samples of the \(K\) users of variance \(\sigma_{n}^{2}\).  
In Figure 7, the system model is illustrated in the context of hybrid precoding. The user grouping algorithm proposed in Section 4 requires the AoA of each user to group the users into clusters. Once the users are clustered, a set of selected users is precoded in each cluster by a THP block. The set of selected clusters is then fed to the BD block to compute the inter-group precoding weights. Both BD and THP precoders require full CSI for the calculation of precoding weights.  
With a correlation-based propagation model assumption, the proposed clustering algorithm does not require full CSI. It only relies on the Angle of Arrival (AoA) to group users together based on their channel correlation. This is already included in modern communication standards like 5G NR, as they are required in beam management procedures, for instance. In our modeling, the angle of each user is assumed to be known at the base station and is computed directly based on its 3D coordinates.  
The channel is assumed to be constant during a coherence block and perfectly known at the base station. It is assumed to change independently from one block to another, as a stationary ergodic random process. This assumption does not constrain the applicability of the problem. In the modern wireless communication systems, the Orthogonal Frequency Division Multiplex (OFDM) technology (or similar) is applied, along with a dense grid of pilot reference signals. Temporal variations are also handled through pilot signals and channel estimation. In addition, the channel model is spatially consistent; that is, the channel statistics for a given location are always the same and do not depend on the simulation runs.  
The scenarios with users having very high mobility could limit the applicability of the clustering algorithm; however, in the evaluated results, we assumed the users had limited mobility. This is also in line with the distribution used for performance evaluation, where the traffic is focused mostly indoors.  
Users with a full-buffer traffic model are distributed within each cell across a 2-km radius. The 3D traffic spatial distribution used was created in the radio planning and optimization software Planet [25], based on geolocated call traces and social media events, in the urban area of Ottawa.  
Figure 7: Hybrid precoding with user clustering.  
The sum data rate is evaluated with respect to the energy per information bit, \(E_{b}\), divided by the one-sided noise power spectral density, \(N_{0}\), \(E_{b}/N_{0}\stackrel{{\Delta}}{{=}}P_{TX}/\left[K\sigma_{n}^{2}\log_ {2}(M)\right]\), where \(P_{TX}=\mathbb{E}\left\{\mathbf{s}_{x}^{H}\mathbf{s}_{x}\right\}\) is the average total transmit power and \(M\) is the order of the QAM modulated data symbol.