Adaptive User Grouping Based on EVM Prediction for Efficient & Robust Massive MIMO in TDD

Massive multiple-input, multiple-output (Ma-MIMO) offers significant capacity improvements for sub-6GHz wireless access. Evaluating the practicalities for real-world deployments and identifying solutions is the next critical step in the roll-out of this technology. Here novel adaptive user grouping algorithms for a single cell Ma-MIMO scenario are proposed and shown to further enhance performance. For the first time, the methodology addresses the interference caused by the user channel vectors as well as hardware impairments. Here, this is uniquely achieved by extracting the Error Vector Magnitude (EVM), and three different methodologies are applied to address specific wireless connectivity objectives. The first, maximizes the spectral efficiency which is more desirable for cellular networks. The second, maximizes the number of users for low data rate bearers, which is suitable for the Internet of Things (IoT). Whilst, the third approach focuses on specific quality per user, for applications such as wireless cameras at major cultural or sporting events. Importantly, real-world experimental data-sets have been used to evaluate the proposed user grouping algorithms.


I. INTRODUCTION
Massive multiple-input, multiple-output (MIMO) is a multiuser (MU) MIMO architecture with a large number of antennas at the base station (BS) serving several users within the same time and frequency resource [1].The significant capacity enhancement observations and reporting from various field trials have encouraged the industry to consider Ma-MIMO as key 5G technology for sub-6 GHz wireless access [2], [3].Theory indicates that the user channel vectors become pairwise orthogonal as the number of BS antennas is increased, facilitating the effective use of matched filtering (MF) [1].However as shown here, the level of spatial orthogonality achieved when using a practical number of antennas in real channels may not be ideal.When the individual user channels become correlated, zero-forcing (ZF) or Minimum Mean Square Error (MMSE) signal processing become necessary for reliable data transmission [3], [4].
The associate editor coordinating the review of this manuscript and approving it for publication was Hayder Al-Hraishawi .
For real system deployments the BS has a fixed number of antennas, whilst the number of users can vary with time.Number of active users could equal or surpass the number of BS antennas, particularly during rush hour or at major cultural or sporting event.User grouping is an essential solution for this problem if the benefits of Ma-MIMO are to be realized.Here, each group is served by different radio resources [5].This could be the only need for user grouping algorithms in an ideal scenario.However, there are some challenges that need to be addressed in optimization of Ma-MIMO system architectures.Linear techniques, such as ZF and MMSE can suppress the interference between users, but this requires perfect channel state information (CSI).Errors in CSI can occur for many reasons such as local oscillator (LO) phase noise, errors in reciprocity calibration and quantization errors [6].Although ZF and MMSE algorithms can suppress interference caused by the channel between users and the BS, they are unable to suppress interference caused by inaccuracy in real-time CSI.In addition, high spatial correlation between users will amplify the interference caused by inaccurate CSI.Several studies have addressed multi-grouping for Ma-MIMO.In [7] users are grouped according to the severity of inter-beam interference: users which won't cause serious inter-beam interference are allocated into an identical group, whilst users that cause serious inter-beam interference are distributed into different groups.In [8] the separation of users with high spatial correlation into different groups is addressed.The grouping process relies on finding the correlation coefficients greater than a certain threshold and isolating the corresponding users in separate groups.These are then served at different scheduled times.The works in [7] and [8] all assume perfect CSI, whilst in [9], inaccurate CSI is considered for downlink (DL) due to reciprocity calibration errors of a time division duplex (TDD) architecture.This work was extended in [10] and focused on noncooperative transmission for multicell multicast networks using Ma-MIMO as well as matching link quality to the user application.In both of these studies, the focus is primarily on multi-cell and considers the impact of large-scale channel attenuation between the various users and the BS.
Most previous research has focused on the DL scenario by separating the users with high spatial correlation based only on the channel between the BS and the users.Importantly, these approaches don't consider the interference caused by inaccurate CSI which limits the application of these results in real-world.Here, we propose novel adaptive user grouping algorithms for single cell Ma-MIMO for both uplink (UL) and DL scenarios.The proposed algorithms decrease the interference level between users and mitigates the impact of inaccurate channel estimation.This is achieved by exploiting the novel EVM prediction method introduced in this paper.

A. MAIN CONTRIBUTIONS OF THIS PAPER
Below, we summarize the main contributions of this work.
• We present an estimation method with high accuracy between the EVM and the signal to interference plus noise ratio (SINR) values for massive MIMO with ZF and MMSE.
• We introduce an EVM prediction method for subset of users taken from the original set of simultaneous users in a single cell Ma-MIMO.
• We validate the EVM prediction method experimentally with real-time results using a software-defined radio massive MIMO testbed.
• We present an adaptive user grouping algorithm for maximizing the spectrum efficiency (SE) in single cell Ma-MIMO which is more desirable for cellular networks.
• We present an adaptive user grouping algorithm for maximizing the number of simultaneous users in a single cell Ma-MIMO for low data rate bearers which is suitable for the IoT.
• We present an adaptive user grouping algorithm for a specific quality per user in a single cell Ma-MIMO for applications such as wireless cameras at major cultural or sporting events.
• We validate all the three adaptive user grouping algorithms experimentally with real-time results in the world's first urban 5G showcase using a softwaredefined radio Ma-MIMO testbed [11].

C. PAPER OUTLINE
The remaining sections of the paper are as follows.Section II presents the system models.In section III, an estimation method between the EVM and the SINR values is presented using ZF and MMSE decoders.An EVM prediction method for a subset of users taken from the original set of simultaneous users is also introduced for a single cell Ma-MIMO.Section IV introduces three adaptive user grouping algorithms for a single cell Ma-MIMO covering several performance objectives.Section V provides results for the proposed adaptive user grouping algorithms from a Ma-MIMO simulator.Section VI validates the proposed adaptive user grouping algorithms experimentally with real-time results in the world's first urban 5G showcase using a software-defined radio Ma-MIMO testbed.Lastly, Section VII summarizes the key results from this work.

II. SYSTEM MODEL
A single-cell Ma-MIMO architecture is considered in this work.The base station is equipped with a large number of antennas (M ) and serves a number of active single-antenna users (K ), where (M K).The system operates in TDD mode and uses the same time-frequency resources for all users.The estimated channel matrix between the users and the BS is denoted by Ĥ ∈ C M ×K .The actual channel matrix used during the uplink data transmission is denoted by H ∈ C M ×K , which is given by where E ∈ C M ×K is the difference between the estimated channel and the actual channel used during the uplink data transmission.In this paper the error in the channel estimation between the user equipment (UE) and the BS is modeled as a complex Gaussian distribution ∼ CN 0, σ 2 e I M , where I M is the M × M identity matrix and σ 2 e is the error variance [12].Whilst this model may not be so accurate in reality, it serves to illustrate the potential effects of UL CSI inaccuracies in massive MIMO.The equalized UL signal x ∈ C K can be expressed as where x represents the transmitted symbol vector from all users in the same cell, normalized as E |x k | 2 = 1.The corresponding UL transmit power is denoted by ρ ul .Simple UL power control is assumed for the work in this paper.The UL transmit power is adjusted so the received signal to noise ratio (SNR) from all users is the same.The additive noise vector is denoted by n.The noise variance from the antennas at the BS is modeled as ∼ CN 0, σ 2 n I M , where σ 2 n is the noise variance.W ∈ C K ×M is the linear decoder matrix, formed using MMSE, ZF or MF.The impact of inaccurate CSI is illustrated and validated in [13] for UL and DL data transmission.The equalized signal for user k can be written as follows: where z k is the amplified noise for user k.The ''Cumulative Error Amplification'' part represents the interference introduced by CSI estimation inaccuracies.The interference in the ''Desired Signal + Interference'' part is caused by the interuser spatial correlation which can be mitigated by choosing the proper decoder such as ZF.

III. EVM PREDICTION & SINR ESTIMATION FOR MASSIVE MIMO
In this section, two different scenarios were considered to evaluate the accuracy of the SINR estimation and the EVM prediction.An independent and identically distributed (IID) Rayleigh channel was used in the first scenario with perfect and imperfect CSI, where M = 128 and K ∈ {2, 12, 22}.
In the second scenario, the real channel captured from the trial in [3] was used.The trial took place at the University of Bristol.A patch panel antenna array was setup in a 32×4 to serve 22 user clients in line-of-sight (LOS) and placed 24.8m away with 2.5 wavelength spacing at a 3.51 GHz carrier frequency between users.These scenarios were run through an uplink Ma-MIMO simulator developed at the University of Bristol.In addition to randomly generated channels, new vectors can be transmitted through channels previously captured by the physical system for more extensive analysis.For imperfect CSI in both scenarios, the error in the channel estimation between the UEs and the BS is modeled as a complex Gaussian distribution ∼ CN 0, σ 2 e I M [12] where an error variance of 0.01 (1%) was used for the simulations shown.Whilst this value may be higher or lower and the model may not be so accurate in reality, it serves to illustrate the potential effects of CSI inaccuracies in Ma-MIMO.
A common measurement of signal quality used in 3 rd Generation Partnership Project (3GPP) long-term evolution (LTE) standards is the EVM [6].It is a comprehensive metric because it considers all impairments upon the transmitted symbol as seen at the receiver.Higher modulation and coding scheme (MCS) are supported when the EVM is small [14].From [15] and [14], the EVM can be found as where N is the number of symbols the EVM was measured over.S r (n) is the n th normalized received symbol and S t (n) is the ideal value of the n th symbol.
The relation between the EVM and the SNR in a single cell was addressed in many studies such as [15] and [16] which was estimated as follows: The above approximation can be used in Single-Input Single-Output (SISO) and single-user (SU)-MIMO.While in MU-MIMO and Ma-MIMO, the interference between users highly impacts the accuracy of this approximation.
In order to increase the estimation accuracy, the SINR can be used instead of the SNR as follows: The accuracy of the above equation can be seen in Fig. 1 and Fig. 2 for the 1st scenario and Fig. 3 and Fig. 4 for the 2nd scenario.The same approximation method was also used in [17].The UL SINR can be calculated as follows: The errors in the SINR estimation based on the EVM value from (6) were plotted in Fig. 1 and Fig. 3 using ZF while MMSE was used in Fig. 2 and Fig. 4. When MMSE was used, the SINR estimation error is always below 1 dB.By increasing the SNR above 5 dB, the error in the SINR estimation falls to below 0.4 dB.When ZF was used in both scenarios, the SINR estimation error is always below 0.3 dB.By selecting a subset of the available users, the UL SINR can be calculated based on the CSI before the data is transmitted from these users (assuming the channel is coherent across the transmission duration); while the EVM can only be measured after the data is transmitted from these users then received and decoded at the BS side.Hence relying on the measured EVM to predict the MCS order for a subset of users is not applicable.Predicting the highest achievable MCS order for each user is essential for selecting the  subset of the available users in order to maximize the SE and provide reliable data transmission.The following two sub-sections III-A and III-B show how the EVM value can be predicted.

A. EVM PREDICTION BASED ON SINR CALCULATION
The UL SINR in (7) is calculated based on perfect CSI.Whilst with imperfect CSI, the equation can be modified as follows: Since e can't be obtained in real-system, the UL SINR can be estimated by ignoring the error in CSI as follows: where K is the total number of users in the set that the SINR k is being predicted for K ≤ K .From ( 6), the  EVM value for user k can be predicted as follows: The accuracy of the predicted EVM ( EVM) from the above equation is high with perfect CSI.This can be seen in Fig. 5 and Fig. 6 for the 1st scenario and Fig. 7 and Fig. 8 for the 2nd scenario.The green curves show the error between the predicted EVM from (10) before data is transmitted and the actual EVM from (4) after the data is received and decoded.When ZF or MMSE is used, the EVM% prediction error is below 1% at 12 dB SNR (EVM% = EVM RMS × 100).By increasing the SNR, the EVM% prediction error is The accuracy of the CSI in (9) and the number of users can be seen to significantly impact the accuracy of the predicted EVM in (10).This can be seen in Fig. 9 and Fig. 10 for the 1st scenario and Fig. 11 and Fig. 12 for the 2nd scenario.When the SNR is increased above 9 dB and K = 2, the EVM% prediction error is always below 1% with ZF and MMSE in both scenarios.When increasing K to 11 K = K /2 , the EVM% prediction error begins to increase at 20 dB SNR in the 1st scenario and 18 dB SNR in the 2nd scenario.When the SNR value is increased further, the EVM% prediction error is seen to increase as well.The reason for the increment  in the EVM% prediction error is the CSI accuracy.The estimated SINR in (9) doesn't consider the interference caused by inaccurate CSI as the interference term embeds the CSI error.Thus, the CSI accuracy has a greater impact on the EVM% prediction error when the number of users is increased.This can be seen when K is increased to 21 K = K /2 .The CSI accuracy plays a major role in the EVM prediction based on the SINR calculation method.

B. EVM PREDICTION BASED ON SINR CALCULATION WITH ERROR ESTIMATION
The impact of inaccurate CSI is considered in this EVM prediction method.The UL transmit power is adjusted so the received SNR from all users is the same.The EVM value in (4) covers the interference caused by inaccurate CSI, whilst the estimated SINR in (9) does not.So the error caused by inaccurate CSI can be estimated by calculating the SINR value in (9) for user k when K = K and comparing it with the actual EVM value in (4) as follows:  The above error is mainly caused by the inaccurate CSI from all the simultaneous users (the error between SINR and EVM estimation is very small as shown earlier in this section).
Since the spatial correlation between users has a significant impact on the interference value, the estimated error in the EVM is divided between users based on the spatial correlation ratio in this method.This can be represented in ϒ ∈ C K ×K where ϒ k,l is the partial EVM 2 error estimation value for user k which is caused only by user l.
After calculating all the partial EVM 2 error estimation values for all the users, the predicted EVM 2 error value for user k (in the subset of K users) can be written as follows: By taking into account the above EVM 2 error prediction, equation ( 10) can be modified as follows: FIGURE EVM prediction error with inaccurate CSI using ZF (IID Rayleigh channels).

FIGURE 10. EVM prediction error with inaccurate CSI using MMSE (IID
The accuracy of the EVM from the above equation is evaluated with perfect CSI and inaccurate CSI.With perfect CSI, this method provides the same accuracy as the one in III-A with ZF as shown in Fig. 5 and Fig. 7.When MMSE is used, the proposed method in this section provides higher accuracy compared to the one in III-A.The reason behind this is the low accuracy of the approximation in (6) when MMSE is used with low SNR as shown in Fig. 6 and Fig. 8.Meanwhile, the proposed method in this section has taken into account the difference between the estimated EVM based on the approximation in ( 6) and the actual EVM from (4).
The main advantage of the proposed EVM prediction method in this section is its high accuracy even with inaccurate CSI and large number of users.This can be seen clearly in Fig. 9 and Fig. 10 for the 1st scenario and Fig. 11 and Fig. 12 for the 2nd scenario.Unlike the EVM prediction method proposed in III-A, this method maintains the EVM% prediction error below 1% when SNR is greater than 8 dB for both scenarios, with ZF and MMSE, even when K is increased from 2 to K − 1.

C. REAL-TIME VALIDATION USING MASSIVE MIMO TEST-BED
In this section, we present real-time results from the massive MIMO testbed in [13].The CSN lab was used for LOS  measurements between the BS and 12 UEs from 6 universal software radio peripheral (USRP)s.Measurements were performed outside of university hours and the massive MIMO test-bed was controlled remotely to ensure a static environment was applied in each scenario.An overview of the setup can be seen in Fig. 13.At the BS side, 128 element array was used providing half-wavelength spacing at 3.5 GHz.Three different scenarios were considered in this experiment.UEs were allocated in different places in each scenario, where ZF and MMSE decoders were used.A floor plan of the experiment is shown in Fig. 14 with the UE locations for each scenario.The user identity (ID) of the first UE on the left in Fig. 14 is one.By moving to the right, the user ID is increased by one for each UE.
Fig. 15 shows the EVM values that were displayed in real-time at the BS for all the 12 UEs in the 1 st scenario using MMSE decoder.It also shows the users selected by the BS to predict their EVM value after removing 3 users.These results were displayed at ≈ 40 dB SNR from all UEs.The EVM% prediction in Fig. 15 shows the EVM prediction results by using the proposed method in this paper.While the EVM% with perfect CSI in Fig. 15 shows the EVM prediction results assuming a perfect CSI.Fig. 16 shows the EVM values that were displayed in real-time at the BS after removing the 3 selected UEs in Fig. 15.By using the proposed EVM prediction method in this paper, the EVM% prediction error was always less than 1%.The highest EVM% prediction error was 0.74% for user ID 1.While the lowest EVM% prediction error was 0.09% for user ID 8.The same procedures were repeated with ZF and highest EVM% prediction error was 0.69%.When EVM% was calculated based on perfect CSI, the highest EVM% prediction error was 2.7% for user ID 7 and 8.
This experiment was repeated for the 2 nd and the 3 rd scenarios.By using the proposed EVM prediction method in this paper, the EVM% prediction error was always less than 1%.

IV. USER GROUPING ALGORITHMS
The need for user grouping in a single cell Ma-MIMO is illustrated and experimentally demonstrated in [13] for both UL and DL data transmission.Channel reciprocity is essential for DL data transmission in Ma-MIMO TDD systems.Not only propagation conditions determine the radio channel, but also differences in the analog transceiver at both ends of the radio link.Since different transceiver chains are used at the BS and the UE, there is a difference between the actual UL channel and the DL channel.A reciprocity calibration algorithm is essential in Ma-MIMO TDD to enable DL data transmission.Reciprocity calibration inaccuracies are an additional source of inaccurate CSI which affects the DL data transmission.Therefore, higher interference levels could occur in DL data transmissions [6].
The proposed user grouping algorithm mitigates the interference from the estimated channel coefficients between users and also the interference caused by inaccurate CSI.The user grouping algorithm is based on the spatial correlation between users and the EVM metric.A different number of groups could be assigned for UL and DL data transmission since they have different CSI accuracies.Three approaches to user grouping are presented in this paper to cover different applications' requirements.In UL, the EVM threshold (EVM TH ) value for each MCS order follows the 3GPP requirement in [14].While in DL, the EVM TH are increased based on feedback from the user side.Since the grouping decision is decided based on the EVM at the BS side, the increment in the EVM TH for DL covers the interference caused by the reciprocity calibration error (ex: EVM TH can be increased from 8% based on [14] to 12% based on user's feedback).The proposed algorithm works according to the fixed frame structure the Ma-MIMO is already using, which with the concept of adopting predefined frame structure in LTE.Definition 1: ν (A, k) is the average EVM for the total number of users K , where: • A is a group of users.
• k the candidate user to join the group A.
• K is the total number of users in the set (A ∪ {k}).

A. MAXIMIZING SPECTRAL EFFICIENCY
This approach is suitable for cellular networks, where radio resources need to be used more efficiently.The number of groups is decided based on the SE calculations described in Algorithm 1 where only one group is used.U is a set of unassigned UEs waiting to be assigned into group A. At first, the two users with the lowest spatial correlation are assigned to A then only one user is added to the group at each user assigning step.Based on the EVM requirements, the highest  MCS mode is used to calculate the SE at each user assigning step.The maximum SE for different sets of users is saved in the vector se where each index of the vector is equal to the total number of users in the equivalent set of users.evm is a vector of the lowest average EVM for different sets of users where each index of the vector is equal to the total number of users in the equivalent set.After obtaining the required information from Algorithm 1, the UEs are assigned to different groups based on Algorithm 2. If the maximum SE is achieved by serving all users, then only one group is required.Otherwise, the number of groups is obtained from dividing the total number of users by the number of users which maximized the SE.The number of groups is rounded up to the next integer number.G is the group vector where the index of the vector represents the group number and each group contains a set of users.Users are assigned into one of the groups G n where n ∈ {1, . . ., total number of groups}.Users with the highest spatial correlation are first assigned into different groups.Then the rest of the users are assigned to the group based on maximizing the SE and minimizing the average EVM.As the number of groups is a result of rounding-up, some users might be assigned into more than one group.Users will stop being assigned into a groups when the SE of that group starts decreasing.

B. MAXIMIZING NUMBER OF SIMULTANEOUS USERS
This approach is more suitable for IoT applications, since it maximizes the number of users and does not require a high throughput value.Here, only quadrature phase-shift keying (QPSK) is considered.Initially, only one group is required, with more groups created later as necessary.The number of groups is decided based on the EVM calculations described Assigning users with the highest correlation to different groups.
User is assigned to the group based on achieving the max SE.If assigning the user to more than one group achieves the same max SE, minimising the average EVM of the group is considered.

27
Remove U k from U 28 end 29 Assigning some users to more than one group until the SE for the group starts decreasing.
in Algorithm 3 where only one group is used.The users are assigned in the order in which the lowest average EVM is achieved and saved in the evm vector at each user assigning step.In this approach, the number of groups and the users' assigning process is described in Algorithm 4, where the EVM TH is equal to the QPSK EVM requirements (EVM QPSK ).
If evm K is less than the EVM QPSK , then only one group is required.Otherwise, number of groups is obtained from dividing the total number of users by the index number of the highest element's value in the vector evm, while taking into account the QPSK EVM requirements.This allows us to serve the largest possible number of users in the same group without exceeding the EVM requirements of the targeted MCS.The number of groups is rounded up to the next integer number.
Users with the highest spatial correlation are first assigned into different groups.Then the rest of the users are assigned to the group based on minimizing the average EVM.
If all the users' EVM values are less than the EVM value required for QPSK MCS, then the number of groups won't change.Otherwise, an additional group is created as described in Algorithm 4. As the number of groups is a result of rounding-up, some users might be assigned into more than one group.Users will stop being assigned into a group if the EVM of any user in that group becomes greater than the EVM QPSK .Binary Phase Shift Keying (BPSK) can also be used instead of QPSK based on the application requirements.
Algorithm 3 to Perform EVM Calculations for the Maximizing Number of Simultaneous Users and the Link Quality Algorithms 2 Find the lowest correlation value: g i,j

5
The evm vector has the EVM for user i & user j. 6 Remove U i &U j from U 7 for l = 3 : K do 8 This loop adds the rest of the users to A gradually, where the EVM is saved in evm each time new user is added.

C. LINK QUALITY
This approach is suitable for applications that require maintaining the throughputs per user above a certain threshold or maintaining bit error rates below a predetermined threshold.As an example, consider wireless cameras at a major sporting or cultural event, where each camera requires minimum throughput value to support Ultra-High-Definition (UHD) quality for the video stream.Similar to the Maximizing Number of Simultaneous Users approach, this commences with only one group and more groups can be created later if necessary.The number of groups is decided based on the EVM calculations described in Algorithm 3 and the user assigning process is described in Algorithm 4. Unlike the previous approach, the EVM TH is pre-determined based on increasing the minimum achievable throughput per user.
In this approach the EVM TH value doesn't have to comply with the 3GPP EVM requirements.Some users might be assigned into more than one group which could decrease their EVM TH since more radio resources were allocated to them.
In line 2 of Algorithm 4, only one group is considered for the EVM TH .While in line 28, the EVM TH depends on the number of groups the user was assigned to.The maximum number of groups depends on the radio frame structure of the Ma-MIMO system.If number of groups reaches the maximum number of groups and the EVM is greater than the EVM TH , one user will be removed and won't be served.This user is selected based on the highest EVM value.

V. RESULTS FROM MASSIVE MIMO SIMULATOR
In this section, the error in the reciprocity calibration matrix and the error in the channel estimation between the UEs and the BS are modelled in the Ma-MIMO simulator as a complex Gaussian distribution [12], [19] with an error variance of 0.02 (2%) and 0.01 (1%) used for each of them respectively.Whilst this value may be higher or lower and the model may not be so accurate in reality, it serves to illustrate the potential effects of CSI inaccuracies in Ma-MIMO.3/4 rate LDPC code was used in the simulator.The same frame schedule used for section VIII in [13] was used here.
For the ''link quality'' approach, the EVM TH value was selected to be below 3.5% to enable reliable data transmission with a minimum throughput of 80 Mbits/s for each user by using 256-quadrature amplitude modulation (QAM).For comparison purposes, two additional methods are considered.
In the first method, two groups are created and users are assigned in an order where the minimum sum correlation is applied to minimize the inter-user interference (IUI) damage with each new user joining the group.In this section, this method is called ''spatial correlation'' where the assigning process relies only on the spatial correlation between the users.In the second method, the user grouping algorithm is deactivated and all users are served simultaneously using the highest MCS order the EVM value permits.These two additional methods cover the total number of groups created after using the ''maximizing SE'' approach as shown later in section V-B allowing us a fair SE comparison.

A. CHANNEL CONDITIONS
The proposed user grouping algorithms are applied using the Ma-MIMO simulator with the following channel conditions: • IID channels: Four different scenarios were considered using IID channels, where M = 128 and M = 64 were   This user won't be served.to the ones used in the LOS measured indoor channels.In the 3 rd and 4 th scenarios, K was increased to 40 users, where M = 128 and M = 64 respectively.
• LOS measured indoor channels: The real channels illustrated in section III were used.Two scenarios were considered in the Ma-MIMO simulator using these channels where M = 128 and M = 64 for each scenario respectively, while K = 22 in both scenarios.

B. RESULTS
Table 1 shows the number of groups, the maximum EVM values and the SE which resulted from each of the three proposed user grouping approaches using the 1 st scenario of the IID channels.It also shows the results when the spatial correlation method was used and when the user grouping algorithms were disabled.For maximizing the UL SE, 2 groups were used in 1 st scenario.Each group served 19 users with 256-QAM and the correspondent UL SE was 83.9 bits/s/Hz, where some users were assigned to both groups.If any additional user was assigned to any of the groups, 64-QAM would have been used and the UL SE would have decreased to 72.86 bits/s/Hz (since the EVM value becomes greater than 3.5%, which is the EVM threshold for using 256-QAM [14]).For maximizing the DL SE, 1 group only was used achieving 72.86 bits/s/Hz by using 64-QAM.When the ''link quality'' approach was used, the results was similar to the maximizing SE approach on UL data transmission.While in the DL data transmission, 8 groups were needed to maintain the EVM value below 3.5% and the throughput above 80 Mbits/s for each user providing the required data transmission quality.By using the ''maximizing number of simultaneous users'' approach, all users were served within one group in the UL and the DL data transmission, where 64-QAM was used.When the ''spatial correlation'' method was used, users were assigned to the groups based only on the spatial correlation.After the first data transmission interval, the highest MCS order were used based on the measured EVM values.By using the proposed ''maximizing SE'' approach, the UL SE was increased by 35.33 bits/s/Hz and 11.04 bits/s/Hz compared to the ''spatial correlation'' and ''deactivating user grouping'' methods respectively.While the DL SE was increased by 36.43 bits/s/Hz compared to the ''spatial correlation'' method.The EVM value allow the system to find the number of groups and the number of users in each group needed to establish the required data transmission.When K was increased to 40 and M was decreased to 64, the proposed algorithms created different number of groups based on the desired goal as it is shown in Table 4.By using the ''maximizing SE'' approach, the UL SE was increased by 33.12 bits/s/Hz and 11.04 bits/s/Hz compared to the ''spatial correlation'' and ''deactivating user grouping'' methods respectively.While the DL SE was increased by 17.21 bits/s/Hz compared to the ''spatial correlation'' method.When disabling the user grouping algorithms, zero throughput in DL data transmission was achieved due to the very large EVM value.When the LOS measured indoor channels were used, the spatial correlation between users was increased.Table 5 and Table 6 show the number of groups, the maximum EVM values and the SE which resulted from each user grouping approach.When using the LOS measured outdoor channels, the spatial correlation between users was increased even further.

VI. EXPERIMENTAL CAMPAIGNS & USER GROUPING
The experimental evaluation was a part of the UK 5G Test-beds and trials program [11].Sport (DCMS), this event was the world's first urban 5G showcase.In all the considered scenarios, UL power control was used to adjust the UL transmit power so the received SNR from all users was the same.

A. TRIAL ENVIRONMENT
The 5G showcase took at Millennium Square in Bristol [20].The balcony of 'We The Curious' building was used to deploy the BS to serve 12 user clients placed 37.5m away down in the square.The Ma-MIMO system operated at a 3.51 GHz carrier frequency sharing a common 20MHz radio channel.The patch panel antenna array was setup in a 32×4 configuration with vertical polarisations for all 128 antennas.User clients' antennas were in LOS and were mounted outside along the top edge of the marquee in a straight line with 432mm spacing as shown in Fig. 17.

B. FRAME SCHEDULE
The physical layer (PHY) frame schedule used for the system is shown in [13].In its default configuration, it is based closely upon the TD-LTE standard, but it can be completely customised at the Orthogonal Frequency Division Multiplexing (OFDM) symbol level to allow a range of configurations to be applied for different applications.In the experimental campaigns, the frame schedule was configured to use one UL pilot, five UL data and one guard on the first half subframe followed by DL pilot, five DL data and one guard on the second half subframe.The first half OFDM subframe is for synchronization to achieve sample alignment.

C. REAL-TIME RESULTS
During the 5G showcase, a total of 24 High-Definition (HD) videos were streamed in real-time in both UL and DL.
In order to establish reliable live HD video streams, the proposed user grouping algorithm in this article was used.The ''link quality'' approach was selected to maintain the EVM value below 13%.This EVM threshold with QPSK MCS was sufficient to deliver the required real-time uncoded throughputs for each user with tolerable error level.The performance of the two other user grouping approaches were evaluated as well.Table 7 shows the number of groups, the maximum EVM values and the MCS which resulted from each of the three user grouping approaches.It also shows the MCS and the maximum EVM values when the user grouping algorithms were disabled.For maximizing the SE, 4 and 6 groups were used for UL and DL scenarios respectively.The correspondent SE was bits/s/Hz as it is shown in Table 8.When the ''link quality'' approach used, the SE was decreased by 2.9 bits/s/Hz.This is because the aim this approach is to maintain the EVM value below 13% to provide reliable uncoded video streams using QPSK, which was successfully established in the field.By the ''maximizing number of simultaneous users'' approach, all users were served within one group in the UL data transmission and within 3 groups in the DL data transmission.Although more users were served with QPSK using the same radio resources, the uncoded throughput was decreased compared to ''link quality'' approach.Since the Ma-MIMO testbed was not using any error correcting code, the errors corresponded to the high EVM values decreased the uncoded throughput.The lowest uncoded throughput was achieved by disabling the proposed user grouping algorithm.This led into zero throughput in DL data transmission due to the very large EVM value.

VII. CONCLUSION
In this paper, adaptive user grouping algorithms for a single cell were proposed to enhance Ma-MIMO performance for different service types.Three different approaches were introduced for assigning users into different groups to establish the data transmission requirements for different applications such as cellular networks, IoT and wireless cameras.The proposed algorithms are based on the novel EVM prediction method proposed in this paper jointly relying on the channel correlation between users and the EVM performance which are the key elements behind ensuring reliable data transmission and increasing the system throughput.The channel correlation provides the interference level before equalizing the signal assuming perfect CSI.While the EVM performance considers the interference from the channel and the interference caused by the inaccurate CSI after equalizing the signal.An experimental evaluation indicating the performance of the three approaches for the adaptive user grouping algorithm in a real-world deployment has been given.At first, all users were assigned in one group during UL and DL data transmission.By using the ''maximizing SE'' approach, we have significantly increased the system throughput.When the ''maximizing number of simultaneous user'' approach was used, more users were served using the same radio resources.We have also successfully established a total of 24 reliable UL and DL video streams by using the ''link quality'' approach.

FIGURE 7 .
FIGURE 7. EVM prediction error with perfect CSI using ZF (Measured indoor channels).

FIGURE 14 .
FIGURE 14. CSN Lab floor plan showing the BS and UEs locations.

FIGURE 15 .
FIGURE 15.Captured real-time display for EVM% values from all 12 users, selected UEs for EVM% prediction (9 users), EVM% prediction values for the sub-set of users (9 users) and EVM% with perfect CSI.

FIGURE 16 .
FIGURE 16.Captured real-time display for EVM% values for the sub-set of users in Fig. 15 (9 users).

Algorithm 1 2 5 The 16 p ← argmax p∈T se tmp p 17 s ← argmin s∈p evm tmp s 18 se l = se tmp s 19 A 13 G 14 Remove U l from U 15 else 16
to Perform SE Calculations for the Maximizing Spectral Efficiency Algorithm 1 set U = {1, ..., K }, A = {}, G = ĤH Ĥ Find the lowest correlation value: g i,j 3 se 1 = ψ (A, U i ) , then A = A ∪ {U i }. 4 se 2 = ψ A, U j , then A = A ∪ {U j }. se vector has the SE for user i & user j. 6 Remove U i &U j from U 7 for l = 3 : K do 8 This loop adds the rest of the users to A gradually, where the SE is saved in se each time new user is added.9 set r = 0, T = {1, . . ., K − l + 1}. 10 for k = l : K do 11 r = r + 1. = A ∪ {UE s } 20 User with the highest SE is selected to join A. If more than one user achieves the highest SE, the lowest EVM between them is considered.21 Remove U s from U 22 end 23 clear se tmp , evm tmp l ← argmin l∈{i,j} EVM l N = G ∪ {U l } remaining users to one of the groups 22 for k = 1 :

Algorithm 4 3 if v = K then 4 Exit Algorithm 5 end 6 N 9 Find 12 l 13 G
User Grouping for the Maximizing number of Simultaneous Users & the Link Quality Algorithms 1 U = {1, ..., K }, G G G = {}, G = ĤH Ĥ . 2 v ← argmax v∈U evm v , subject to evm v < EVM TH = K /v , set T = {1, ..., N } 7 %Assigning one user for each group 8 for n = 1 : N /2 do the highest correlation value: g i,j 10 if (n = N /2 = N /2) then 11 This condition assigns one user to group number N , when N is an odd number.← argmin l∈{i,j} EVM l N = G ∪ {U l } 14 Remove U l from U 15 else 16 remaining users to one of the groups22 for k = 1 : (K − N ) do 23 p ← argmin p∈T ν G p , U k 24 G p = G p ∪{U k } 25 User joins the group based on achieving the lowest EVM. 26 Remove U k from U 27 end 28 Assigning some users to more than one group until the EVM for any user become greater than EVM req .29 %Checking the EVM requirements for all users 30 if any EVM > EVM req then 31 G = {}, G = ĤH Ĥ 32 if (N = max achievable number of groups) then 33 Remove the user with the highest EVM value from evm and U . 34

35K = K − 1 36N = N + 1 ,
U = {1, ..., K }, G = {}, G = ĤH Ĥ 39 Go to 7 40 end used in the 1 st and the 2 nd scenarios respectively, while K = 22 in both scenarios.These scenarios are similar The operators (.) T and (.) H denote transpose and Hermitian transpose.Let x denotes the prediction of the next x value.The element in the n th row and m th column of matrix A is denoted by (A) n,m .The operator E {.} denotes the expected value.The matrix I denotes the identity matrix, and diag {a 1 , a 2 , ...a M } denotes an M × M diagonal matrix with diagonal entries given by a 1 , a 2 , ..., a M .The set of the complex numbers and the set containing zero and the real positive numbers are denoted by C and R, respectively.
B. NOTATIONBoldface (lower case) is used for column vectors, x, and (upper case) for matrices, X.

TABLE 5 .
User Funded by the UK Government's Department of Digital, Culture, Media and VOLUME 7, 2019FIGURE 17.Outdoor trial environment with the 12 UEs 36.5maway.grouping parameters: results for M = 128 and K = 22 (1 st scenario: LOS Measured indoor Channels).

TABLE 7 .
User grouping parameters results.

TABLE 8 .
Trial throughputs and spectral efficiency results using user grouping algorithms.