Patent Publication Number: US-2023155643-A1

Title: Multi-user precoding

Description:
TECHNICAL FIELD 
     The present disclosure relates generally to the field of wireless communication. More particularly, it relates to pre-coding for a multi-user, multi-antenna transmitter. 
     BACKGROUND 
     Pre-coding for multi-user, multi-antenna transmitters is often implemented using linear pre-coding (e.g., conjugate beamforming, zero-forcing beamforming, or minimum mean square error beamforming). A problem with linear pre-coding is that its performance typically worsens with increasing correlation between users. 
     Non-linear pre-coding may be applied for multi-user, multi-antenna transmitters to address correlation between users. A problem with non-linear pre-coding is that it entails higher complexity than linear precoding. The non-linear pre-coding complexity may, for example, increase with increasing correlation between users. 
     US 2018/0352523 A1 describes active user selection in massive MIMO, wherein a terminal is selected to drop from service based on channel correlations. Such an approach may reduce the correlation between active users and thereby possibly reduce pre-coding complexity and/or improve pre-coding performance. In some situations, however, the correlation reduction may be insufficient for achievement of acceptable complexity and/or performance. 
     Therefore, there is a need for alternative approaches to pre-coding for multi-user, multi-antenna transmitters. Preferably, such alternative approaches are suitable (e.g., provide good performance) in situations with high correlation between users. 
     SUMMARY 
     It should be emphasized that the term “comprises/comprising” (replaceable by “includes/including”) when used in this specification is taken to specify the presence of stated features, integers, steps, or components, but does not preclude the presence or addition of one or more other features, integers, steps, components, or groups thereof. As used herein, the singular forms “a”, “an” and “the” are intended to include the plural forms as well, unless the context clearly indicates otherwise. 
     Generally, when an arrangement is referred to herein, it is to be understood as a physical product; e.g., an apparatus. The physical product may comprise one or more parts, such as controlling circuitry in the form of one or more controllers, one or more processors, or the like. 
     It is an object of some embodiments to solve or mitigate, alleviate, or eliminate at least some of the above or other disadvantages. 
     According to a first aspect, this is achieved by a pre-coding method of a multi-user, multi-antenna transmitter configured for transmission of respective signals to a plurality of users. 
     The method comprises determining (for each pair of users of the plurality) a spatial correlation value for the pair of users, and determining a first correlation threshold value based on the number of users of the plurality. 
     The method also comprises determining whether or not one or more pairs of users has a spatial correlation value that falls on or above the first correlation threshold value. 
     When one or more pairs of users has a spatial correlation value that falls on or above the first correlation threshold value, the method comprises discarding one user comprised in at least one of the one or more pairs to provide a reduced plurality of users, and updating the first correlation threshold value based on the number of users of the reduced plurality. 
     The discarding and updating steps are repeated until none of the spatial correlation values falls on or above the updated first correlation threshold value. 
     The method also comprises generating the respective signals for transmission to the users of the reduced plurality by application of pre-coding. 
     In some embodiments, determining the spatial correlation value for a pair of users comprises calculating a normalized scalar product between channel estimates associated with the users of the pair. 
     In some embodiments, determining the first correlation threshold value is further based on a user-specific signal-to-noise ratio relating to the plurality of users and updating the first correlation threshold value is further based on a signal-to-noise ratio for the reduced plurality of users. In some embodiments, user-specific signal-to-noise ratio may be based on the number of users of the plurality, a total power at the transmitter, a large-scale fading metric of the user, and a noise power at the receiver of the user. 
     In some embodiments, discarding one user comprises discarding a user of a pair that has a highest spatial correlation value among the one or more pairs. 
     In some embodiments, discarding one user comprises determining a set of users comprised in at least one of the one or more pairs, associating each user of the set with an accumulated correlation value defined as a sum of the spatial correlation values of the pairs comprising the user, and discarding a user of the set that has a highest accumulated correlation value. 
     In some embodiments, application of pre-coding comprises application of linear pre-coding and/or non-linear precoding. 
     In some embodiments, the method further comprises sorting the reduced plurality of users into a first group and a second group based on the spatial correlation values. Then, generating the respective signals comprises generating the respective signals for transmission to the users of the first group by application of linear pre-coding and generating the respective signals for transmission to the users of the second group by application of non-linear pre-coding. 
     In some embodiments, sorting the reduced plurality of users into the first group and the second group comprises sorting a particular user into the first group when all pairs comprising the particular user have a spatial correlation value that falls below a second correlation threshold value. 
     In some embodiments, sorting the reduced plurality of users into the first group and the second group comprises sorting the particular user into the second group when at least one pair comprising the particular user has a spatial correlation value that falls on or above the second correlation threshold value. 
     In some embodiments, the linear pre-coding comprises one of a conjugate beamforming approach, a zero-forcing approach, and a minimum mean square error approach. 
     In some embodiments, the non-linear pre-coding comprises one of a Tomlinson-Harashima pre-coding approach, and a vector pre-coding approach. 
     A second aspect is a computer program product comprising a non-transitory computer readable medium, having thereon a computer program comprising program instructions. The computer program is loadable into a data processing unit and configured to cause execution of the method according to the first aspect when the computer program is run by the data processing unit. 
     A third aspect is a pre-coding apparatus for a multi-user, multi-antenna transmitter configured for transmission of respective signals to a plurality of users. The apparatus comprises controlling circuitry. 
     The controlling circuitry is configured to cause determination (for each pair of users of the plurality) of a spatial correlation value for the pair of users, and determination of a first correlation threshold value based on the number of users of the plurality. 
     The controlling circuitry is also configured to cause determination of whether or not one or more pairs of users has a spatial correlation value that falls on or above the first correlation threshold value. 
     When one or more pairs of users has a spatial correlation value that falls on or above the first correlation threshold value, the controlling circuitry is configured to cause discarding of one user comprised in at least one of the one or more pairs to provide a reduced plurality of users, updating of the first correlation threshold value based on the number of users of the reduced plurality, and repetition of the discarding and updating steps until none of the spatial correlation values falls on or above the updated first correlation threshold value. 
     The controlling circuitry is also configured to cause generation of the respective signals for transmission to the users of the reduced plurality by application of pre-coding. 
     A fourth aspect is a multi-user, multi-antenna transmitter comprising the pre-coding apparatus of the third aspect. 
     A fifth aspect is a base station comprising the multi-user, multi-antenna transmitter of the fourth aspect and/or the pre-coding apparatus of the third aspect. 
     In some embodiments, any of the above aspects may additionally have features identical with or corresponding to any of the various features as explained above for any of the other aspects. 
     An advantage of some embodiments is that alternative approaches to pre-coding for multi-user, multi-antenna transmitters are provided. 
     Another advantage of some embodiments is that approaches to pre-coding for multi-user, multi-antenna transmitters are provided that are suitable in situations with high correlation between users. 
     For example, the selection of which user(s) to drop may be more adequate than if the approach of US 2018/0352523 A1 was used; thereby providing a more prominent decrease in correlation (entailing higher performance and/or lower complexity). 
     Furthermore, by using the thresholds (e.g., as upper bounds) as proposed in some embodiments herein, the complexity burden may be reduced compared to the approach of US 2018/0352523 A1 where a search for the best thresholds needs to be performed. 
     Moreover, in the approach of US 2018/0352523 A1, a single threshold is used for both CB and ZF, while some embodiments of the current disclosure propose that the thresholds for CB, ZF, and THP may be different (see e.g.,  FIG.  7   ). 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
       Further objects, features and advantages will appear from the following detailed description of embodiments, with reference being made to the accompanying drawings. The drawings are not necessarily to scale, emphasis instead being placed upon illustrating the example embodiments. 
         FIG.  1    is a flowchart illustrating example method steps according to some embodiments; 
         FIG.  2    is a schematic block diagram illustrating an example apparatus according to some embodiments; 
         FIG.  3    is a schematic block diagram illustrating an example apparatus according to some embodiments; 
         FIG.  4    is a schematic block diagram illustrating example linear pre-coding according to some embodiments; 
         FIG.  5    is a schematic block diagram illustrating example non-linear pre-coding according to some embodiments; 
         FIG.  6    is a schematic drawing illustrating an example computer readable medium according to some embodiments; and 
         FIG.  7    are plots illustrating example threshold values according to some embodiments. 
     
    
    
     DETAILED DESCRIPTION 
     As already mentioned above, it should be emphasized that the term “comprises/comprising” (replaceable by “includes/including”) when used in this specification is taken to specify the presence of stated features, integers, steps, or components, but does not preclude the presence or addition of one or more other features, integers, steps, components, or groups thereof. As used herein, the singular forms “a”, “an” and “the” are intended to include the plural forms as well, unless the context clearly indicates otherwise. 
     Embodiments of the present disclosure will be described and exemplified more fully hereinafter with reference to the accompanying drawings. The solutions disclosed herein can, however, be realized in many different forms and should not be construed as being limited to the embodiments set forth herein. 
     As mentioned above, linear pre-coding for multi-user, multi-antenna transmitters may not always provide acceptable performance when correlation between users is prominent, while non-linear pre-coding for multi-user, multi-antenna transmitters may entail unacceptably high complexity. Furthermore, even if some terminals are selected to drop from service as suggested in US 2018/0352523 A1, the correlation reduction may be insufficient for achievement of acceptable complexity and/or performance. 
     Generally when used herein, the term “performance” may refer to any one or more suitable performance metric. For example, performance may refer to one or more of: capacity, overall throughput, throughput per user, bit error rate (BER), block error rate (BLER), spectral efficiency, and the like. 
     Also generally when used herein, the term “complexity” may refer to any one or more suitable complexity metric. For example, complexity may refer to one or more of: computational complexity (e.g., number of operations, etc.), hardware usage (e.g., time, power, energy, processing capacity, etc.), latency, and the like. 
     In the following, embodiments will be described where alternative approaches to pre-coding for multi-user, multi-antenna transmitters are provided for acceptable performance and complexity when correlation between users is prominent. 
     Various embodiments may be particularly suitable for use in massive-MIMO (multiple-input, multiple-output) systems. 
       FIG.  1    illustrates an example method  100  according to some embodiments. The example method is a pre-coding method of a multi-user, multi-antenna transmitter configured for transmission of respective signals to a plurality of users. For example, the multi-user, multi-antenna transmitter may be comprised in a base station. 
     The method starts in step  110  where a spatial correlation value is determined for each pair of users of the plurality. The spatial correlation value for a pair of users is typically determined as a pairwise spatial correlation coefficient between the users of the pair. 
     The spatial correlation value for a pair of users may be determined by calculating a normalized scalar product between channel estimates associated with the users of the pair. For example, if a channel matrix H=[h 1 , . . . , h K ] T , where K represents the number of users in the plurality of users, is known or estimated at the transmitter (e.g., based on channel state information—CSI), the spatial correlation values may be determined via a sample covariance matrix A=HH T . The spatial correlation value ρ ij  for the pair comprising user i and user j, may be determined by calculation of 
     
       
         
           
             
               
                 ρ 
                 
                   i 
                   ⁢ 
                   j 
                 
               
               = 
               
                 
                   a 
                   
                     t 
                     ⁢ 
                     j 
                   
                 
                 
                   
                     
                        
                       
                         h 
                         t 
                       
                        
                     
                     || 
                     
                       h 
                       j 
                     
                   
                    
                 
               
             
             , 
           
         
       
     
     where a ij  is element ij of the matrix A (scalar/dot/inner product between channel estimates h i  and h j ) and the division by ∥h i ∥ ∥h j ∥ provides normalization such that ρ ij  is in the range [0,1]. 
     The method then comprises reducing the plurality of users before proceeding to generation of the respective signals for transmission to the users of the plurality of users. Reducing the plurality may, for example, improve sum-rate and/or energy efficiency compared to conventional approaches. Put differently, a certain performance (e.g., BER) may be obtained with less transmit power. The energy efficiency may also be improved. 
     Reducing the plurality of users may, for example, be implemented by comparing the spatial correlation values to a threshold value ρ H  (also termed herein as a first correlation threshold value) and, when one or more pairs of users has a spatial correlation value that falls on or above the threshold value ρ H , discarding at least one user comprised in at least one of the one or more pairs. 
     In prior art approaches, a stationary and predetermined threshold value ρ H  has been used, or threshold values ρ H  have been found by simulations. There are, however, alternative approaches to determining a suitable threshold value ρ H . 
     Typically, the threshold value ρ H  may be determined based on the number K of users of the plurality (i.e., the cardinality of the plurality), and may be further based on a user-specific signal-to-noise ratio (SNR) relating to the plurality of users. The user-specific signal-to-noise ratio may, for example, be based on the number of users of the plurality (K), a total power at the transmitter (P tot ), a large-scale fading metric of the user (∥h i ∥ for user i), and a noise power at the receiver of the user (N 0 ); 
     
       
         
           
             
               e 
               . 
               g 
               . 
             
             , 
             
               
                 S 
                 ⁢ 
                 N 
                 ⁢ 
                 R 
               
               = 
               
                 
                   ζ 
                   ⁢ 
                   
                     P 
                     
                       t 
                       ⁢ 
                       o 
                       ⁢ 
                       t 
                     
                   
                 
                 
                   K 
                   ⁢ 
                   
                     N 
                     0 
                   
                 
               
             
             , 
             
               
                 where 
                 ⁢ 
                     
                 ζ 
               
               = 
               
                 
                   P 
                   
                     
                       ∑ 
                       
                         i 
                         = 
                         1 
                       
                       K 
                     
                     
                       1 
                       
                         
                            
                           
                             h 
                             i 
                           
                            
                         
                         2 
                       
                     
                   
                 
                 . 
               
             
           
         
       
     
     Assuming two correlated users out of K users, power allocation which equalizes the SNR for all users when they are orthogonal, and that the correlated users are at the same distance to the transmitter, the threshold value ρ H  may be determined as exemplified below. 
     Power allocation which equalizes the SNR for all users when they are orthogonal may be implemented by allocating the following power for each user i: 
     
       
         
           
             
               d 
               i 
             
             = 
             
               
                 P 
                 
                   t 
                   ⁢ 
                   o 
                   ⁢ 
                   t 
                 
               
               
                 
                   N 
                   0 
                 
                 ⁢ 
                 
                   
                     ∑ 
                     
                       i 
                       = 
                       1 
                     
                     K 
                   
                   
                     
                       
                          
                         
                           h 
                           i 
                         
                          
                       
                       2 
                     
                     
                       
                          
                         
                           h 
                           j 
                         
                          
                       
                       2 
                     
                   
                 
               
             
           
         
       
     
     which translates to equal (uniform) power allocation when all users have the same large-scale fading coefficient. 
     For conjugate beamforming (CB), the threshold value ρ H  may be determined as 
       ρ H =ρ equ.   CB  
 
     where ρ equ.   CB  is found by solving the following quadratic equation ρ equ.   CB =x: 
     
       
         
           
             
               
                 
                   
                     x 
                     4 
                   
                   ( 
                   
                     
                       
                         ζ 
                         2 
                       
                       
                         N 
                         0 
                         2 
                       
                     
                     ⁢ 
                     
                       ( 
                       
                         
                           2 
                           
                             α 
                             
                               equ 
                               . 
                             
                           
                         
                         - 
                         1 
                       
                       ) 
                     
                   
                   ) 
                 
                 + 
                 
                   
                     x 
                     2 
                   
                   ( 
                   
                     
                       ζ 
                       
                         N 
                         0 
                       
                     
                     ⁢ 
                     
                       ( 
                       
                         β 
                         + 
                         
                           1 
                           β 
                         
                       
                       ) 
                     
                     ⁢ 
                     
                       ( 
                       
                         
                           2 
                           
                             α 
                             
                               equ 
                               . 
                             
                           
                         
                         - 
                         1 
                         - 
                         
                           ζ 
                           
                             N 
                             0 
                           
                         
                       
                       ) 
                     
                   
                   ) 
                 
                 + 
                 
                   2 
                   
                     α 
                     
                       equ 
                       . 
                     
                   
                 
                 - 
                 1 
                 - 
                 
                   2 
                   ⁢ 
                   
                     ζ 
                     
                       N 
                       0 
                     
                   
                 
                 - 
                 
                   
                     ζ 
                     2 
                   
                   
                     N 
                     0 
                     2 
                   
                 
               
               = 
               0 
             
             , 
             where 
           
         
       
       
         
           
             
               ζ 
               = 
               
                 
                   P 
                   tot 
                 
                 
                   
                     ∑ 
                     
                       i 
                       = 
                       1 
                     
                     K 
                   
                   
                     1 
                     
                       
                          
                         
                           h 
                           i 
                         
                          
                       
                       2 
                     
                   
                 
               
             
             , 
             
               β 
               = 
               
                 
                   
                      
                     
                       h 
                       
                         K 
                         - 
                         1 
                       
                     
                      
                   
                   2 
                 
                 
                   
                      
                     
                       h 
                       K 
                     
                      
                   
                   2 
                 
               
             
             , 
             and 
           
         
       
       
         
           
             
               
                 α 
                 
                   equ 
                   . 
                 
               
               = 
               
                 
                   R 
                   DU 
                 
                 - 
                 
                   
                     ( 
                     
                       K 
                       - 
                       2 
                     
                     ) 
                   
                   ⁢ 
                   
                     
                       log 
                       2 
                     
                     ( 
                     
                       1 
                       + 
                       
                         ζ 
                         
                           N 
                           0 
                         
                       
                     
                     ) 
                   
                 
               
             
             , 
             
               
                 R 
                 DU 
               
               = 
               
                 
                   ( 
                   
                     K 
                     - 
                     1 
                   
                   ) 
                 
                 ⁢ 
                 
                   
                     
                       log 
                       2 
                     
                     ( 
                     
                       1 
                       + 
                       
                         
                           P 
                           
                             t 
                             ⁢ 
                             o 
                             ⁢ 
                             t 
                           
                         
                         
                           
                             N 
                             0 
                           
                           ⁢ 
                           
                             
                               ∑ 
                               
                                 i 
                                 = 
                                 1 
                               
                               K 
                             
                             
                               1 
                               
                                 
                                    
                                   
                                     h 
                                     j 
                                   
                                    
                                 
                                 2 
                               
                             
                           
                         
                       
                     
                     ) 
                   
                   . 
                 
               
             
           
         
       
     
     In some embodiments, the threshold value ρ H  may be determined as 
     
       
         
           
             
               ρ 
               H 
             
             = 
             
               
                 ρ 
                 
                   equ 
                   . 
                 
                 
                   C 
                   ⁢ 
                   B 
                 
               
               = 
               
                 
                   ( 
                   
                     
                       1 
                       
                         
                           α 
                         
                         - 
                         1 
                       
                     
                     - 
                     
                       1 
                       
                         S 
                         ⁢ 
                         N 
                         ⁢ 
                         R 
                       
                     
                   
                   ) 
                 
                 
                   0 
                   . 
                   5 
                 
               
             
           
         
       
     
     for conjugate beamforming (CB). 
     For zero-forcing (ZF) beamforming, the threshold value ρ H  may be determined as 
     
       
         
           
             
               ρ 
               H 
             
             = 
             
               
                 ρ 
                 
                   equ 
                   . 
                 
                 ZF 
               
               = 
               
                 
                   
                     ( 
                     
                       1 
                       - 
                       
                         
                           
                             N 
                             0 
                           
                           ζ 
                         
                         ⁢ 
                         
                           ( 
                           
                             
                               
                                 2 
                                 
                                   α 
                                   
                                     equ 
                                     . 
                                   
                                 
                               
                             
                             - 
                             1 
                           
                           ) 
                         
                       
                     
                     ) 
                   
                   
                     0 
                     . 
                     5 
                   
                 
                 . 
               
             
           
         
       
     
     In some embodiments, the threshold value ρ H  may be determined as 
       ρ H =ρ equ.   ZF =ρ CB (√{square root over (α)}−1) 0.5  
 
     for zero-forcing (ZF) beamforming, wherein 
     
       
         
           
             α 
             = 
             
               
                 
                   ( 
                   
                     1 
                     + 
                     
                       SNR 
                       
                         
                           ( 
                           
                             K 
                             - 
                             1 
                           
                           ) 
                         
                         ⁢ 
                         
                           ( 
                           
                             1 
                             + 
                             SNR 
                           
                           ) 
                         
                       
                     
                   
                   ) 
                 
                 
                   K 
                   - 
                   2 
                 
               
               ⁢ 
               
                 
                   ( 
                   
                     
                       1 
                       + 
                       SNR 
                     
                     ⁢ 
                     
                       K 
                       
                         K 
                         - 
                         1 
                       
                     
                   
                   ) 
                 
                 . 
               
             
           
         
       
     
     For Tomlinson-Harashima pre-coding (THP), the threshold value ρ H  may be determined as 
     
       
         
           
             
               ρ 
               H 
             
             = 
             
               
                 ρ 
                 
                   equ 
                   . 
                 
                 
                   T 
                   ⁢ 
                   H 
                   ⁢ 
                   P 
                 
               
               = 
               
                 
                   ( 
                   
                     1 
                     - 
                     
                       
                         
                           N 
                           0 
                         
                         ζ 
                       
                       ⁢ 
                       
                         ( 
                         
                           
                             2 
                             
                               α 
                               
                                 THP 
                                 , 
                                 
                                   equ 
                                   . 
                                 
                               
                             
                           
                           - 
                           1 
                         
                         ) 
                       
                     
                   
                   ) 
                 
                 
                   0 
                   . 
                   5 
                 
               
             
           
         
       
       
         
           
             
               
                 where 
                 ⁢ 
                 
                      
                     
                 
                 ⁢ 
                 
                   α 
                   
                     
                       T 
                       ⁢ 
                       H 
                       ⁢ 
                       P 
                     
                     , 
                     
                       equ 
                       . 
                     
                   
                 
               
               = 
               
                 
                   R 
                   DU 
                 
                 - 
                 
                   
                     ( 
                     
                       K 
                       - 
                       1 
                     
                     ) 
                   
                   ⁢ 
                   
                     
                       log 
                       2 
                     
                     ( 
                     
                       1 
                       + 
                       
                         ζ 
                         
                           N 
                           0 
                         
                       
                     
                     ) 
                   
                 
               
             
             , 
           
         
       
     
     P tot  is the total allocated power, and N 0  is the noise power at the receiver of a user. 
     Assuming two correlated users out of K users, and max-min power allocation control, the threshold value 
       ρ H =ρ max−min   CB  
 
     for conjugate beamforming may be determined by solving R DU =R CB,max−min  for |ρ| 2  using the bisection method (which is possible since R CB  is a strictly decreasing function of |ρ| 2 ), where R DU  is defined earlier and R CB,max−min =K log 2 (1+z), and z is found as: 
     
       
         
           
             
               Z 
               = 
               
                 
                   
                     P 
                     
                       t 
                       ⁢ 
                       o 
                       ⁢ 
                       t 
                     
                   
                   
                     2 
                     ⁢ 
                     
                       N 
                       0 
                     
                     ⁢ 
                     
                       ζ 
                       1 
                     
                   
                 
                 + 
                 
                   
                     1 
                     + 
                     
                       
                         ζ 
                         2 
                       
                       
                         ζ 
                         1 
                       
                     
                   
                   
                     2 
                     ⁢ 
                     
                       
                         
                           ❘ 
                           &#34;\[LeftBracketingBar]&#34; 
                         
                         ρ 
                         
                           ❘ 
                           &#34;\[RightBracketingBar]&#34; 
                         
                       
                       2 
                     
                   
                 
                 - 
                 
                   
                     
                       
                         ( 
                         
                           
                             
                               P 
                               
                                 t 
                                 ⁢ 
                                 o 
                                 ⁢ 
                                 t 
                               
                             
                             
                               2 
                               ⁢ 
                               
                                 N 
                                 0 
                               
                               ⁢ 
                               
                                 ζ 
                                 1 
                               
                             
                           
                           + 
                           
                             
                               1 
                               + 
                               
                                 
                                   ζ 
                                   2 
                                 
                                 
                                   ζ 
                                   1 
                                 
                               
                             
                             
                               2 
                               ⁢ 
                               
                                 
                                   
                                     ❘ 
                                     &#34;\[LeftBracketingBar]&#34; 
                                   
                                   ρ 
                                   
                                     ❘ 
                                     &#34;\[RightBracketingBar]&#34; 
                                   
                                 
                                 2 
                               
                             
                           
                         
                         ) 
                       
                       2 
                     
                     - 
                     
                       
                         P 
                         
                           t 
                           ⁢ 
                           o 
                           ⁢ 
                           t 
                         
                       
                       
                         2 
                         ⁢ 
                         
                           N 
                           0 
                         
                         ⁢ 
                         
                           ζ 
                           1 
                         
                         ⁢ 
                         
                           
                             
                               ❘ 
                               &#34;\[LeftBracketingBar]&#34; 
                             
                             ρ 
                             
                               ❘ 
                               &#34;\[RightBracketingBar]&#34; 
                             
                           
                           2 
                         
                       
                     
                   
                 
               
             
             , 
           
         
       
       
         
           
             
               
                 ζ 
                 1 
               
               = 
               
                 
                   ∑ 
                   
                     i 
                     = 
                     1 
                   
                   
                     K 
                     - 
                     2 
                   
                 
                 
                   1 
                   
                     
                        
                       
                         h 
                         i 
                       
                        
                     
                     2 
                   
                 
               
             
             , 
             
               
                 ζ 
                 2 
               
               = 
               
                 
                   1 
                   
                     
                        
                       
                         h 
                         
                           K 
                           - 
                           1 
                         
                       
                        
                     
                     2 
                   
                 
                 + 
                 
                   1 
                   
                     
                        
                       
                         h 
                         K 
                       
                        
                     
                     2 
                   
                 
               
             
           
         
       
     
     In some embodiments, assuming that the correlated users are at the same distance to the transmitter, the threshold value 
       ρ H =ρ max−min   CB  
 
     for conjugate beamforming may be determined by solving R DU =R CB,max−min  for |ρ| 2  using the bisection method, where 
     
       
         
           
             
               
                 R 
                 DU 
               
               = 
               
                 
                   
                     ( 
                     
                       K 
                       - 
                       1 
                     
                     ) 
                   
                   ⁢ 
                   
                     
                       log 
                       2 
                     
                     ( 
                     
                       
                         1 
                         + 
                         SNR 
                       
                       ⁢ 
                       
                         K 
                         
                           K 
                           - 
                           1 
                         
                       
                     
                     ) 
                   
                   ⁢ 
                       
                   and 
                   ⁢ 
                       
                   
                     R 
                     
                       C 
                       ⁢ 
                       B 
                     
                   
                 
                 = 
                 
                   K 
                   ⁢ 
                   
                     
                       log 
                       2 
                     
                     ( 
                     
                       1 
                       + 
                       
                         
                           ζ 
                           ⁢ 
                           
                             x 
                             2 
                           
                         
                         
                           
                             ζ 
                             ⁢ 
                             
                               
                                 
                                   ❘ 
                                   &#34;\[LeftBracketingBar]&#34; 
                                 
                                 p 
                                 
                                   ❘ 
                                   &#34;\[RightBracketingBar]&#34; 
                                 
                               
                               2 
                             
                             ⁢ 
                             
                               x 
                               2 
                             
                           
                           + 
                           
                             N 
                             0 
                           
                         
                       
                     
                     ) 
                   
                 
               
             
             , 
           
         
       
     
     and x 2  is the positive root of x 4 (2ζ|ρ| 2 )+x 2 (N 0 K−P tot ζ|ρ| 2 )−P tot N 0 =0. 
     Assuming two correlated users out of K users, and max-min power allocation control, the threshold value ρ H  may be determined as 
     
       
         
           
             
               ρ 
               H 
             
             = 
             
               
                 ρ 
                 
                   max 
                   - 
                   min 
                 
                 
                   Z 
                   ⁢ 
                   F 
                 
               
               = 
               
                 
                   ( 
                   
                     1 
                     - 
                     
                       
                         ζ 
                         2 
                       
                       
                         
                           
                             P 
                             
                               t 
                               ⁢ 
                               o 
                               ⁢ 
                               t 
                             
                           
                           
                             
                               N 
                               0 
                             
                             ( 
                             
                               
                                 2 
                                 
                                   α 
                                   
                                     max 
                                     - 
                                     min 
                                   
                                 
                               
                               - 
                               1 
                             
                             ) 
                           
                         
                         - 
                         
                           ζ 
                           1 
                         
                       
                     
                   
                   ) 
                 
                 
                   0 
                   . 
                   5 
                 
               
             
           
         
       
     
     for zero-forcing beamforming, where 
     
       
         
           
             
               α 
               
                 max 
                 - 
                 min 
               
             
             = 
             
               
                 
                   R 
                   DU 
                 
                 K 
               
               . 
             
           
         
       
     
     In some embodiments, assuming that the correlated users are at the same distance to the transmitter, the threshold value ρ H  may be determined as 
     
       
         
           
             
               ρ 
               H 
             
             = 
             
               
                 ρ 
                 
                   max 
                   - 
                   min 
                 
                 
                   Z 
                   ⁢ 
                   F 
                 
               
               = 
               
                 
                   ( 
                   
                     1 
                     - 
                     
                       2 
                       
                         
                           KSNR 
                           
                             ( 
                             
                               
                                 2 
                                 γ 
                               
                               - 
                               1 
                             
                             ) 
                           
                         
                         - 
                         
                           ( 
                           
                             K 
                             - 
                             2 
                           
                           ) 
                         
                       
                     
                   
                   ) 
                 
                 
                   0 
                   . 
                   5 
                 
               
             
           
         
       
     
     for zero-forcing beamforming, where 
     
       
         
           
             
               γ 
               = 
               
                 
                   
                     K 
                     - 
                     1 
                   
                   K 
                 
                 ⁢ 
                 
                   
                     log 
                     2 
                   
                   ( 
                   
                     1 
                     + 
                     
                       SNR 
                       ⁢ 
                       
                         K 
                         
                           K 
                           - 
                           1 
                         
                       
                     
                   
                   ) 
                 
               
             
             , 
             
               SNR 
               = 
               
                 
                   ζ 
                   ⁢ 
                   
                     P 
                     
                       t 
                       ⁢ 
                       o 
                       ⁢ 
                       t 
                     
                   
                 
                 
                   K 
                   ⁢ 
                   
                     N 
                     0 
                   
                 
               
             
             , 
           
         
       
     
     ζ is the large scale fading coefficient, P tot  is the total allocated power, and N 0  is the noise power at the receiver of a user. 
     Assuming two correlated users out of K users, and max-min power allocation control, the threshold value ρ H  may be determined as 
     
       
         
           
             
               ρ 
               H 
             
             = 
             
               
                 ρ 
                 
                   max 
                   - 
                   min 
                 
                 THP 
               
               = 
               
                 
                   ( 
                   
                     1 
                     - 
                     
                       1 
                       
                         
                           
                              
                             
                               h 
                               K 
                             
                              
                           
                           2 
                         
                         ⁢ 
                         
                           ( 
                           
                             
                               
                                 P 
                                 
                                   t 
                                   ⁢ 
                                   o 
                                   ⁢ 
                                   t 
                                 
                               
                               
                                 
                                   N 
                                   0 
                                 
                                 ( 
                                 
                                   
                                     2 
                                     
                                       α 
                                       
                                         max 
                                         - 
                                         min 
                                       
                                     
                                   
                                   - 
                                   1 
                                 
                                 ) 
                               
                             
                             - 
                             
                               
                                 ∑ 
                                 
                                   i 
                                   = 
                                   1 
                                 
                                 
                                   K 
                                   - 
                                   1 
                                 
                               
                               
                                 1 
                                 
                                   
                                      
                                     
                                       h 
                                       i 
                                     
                                      
                                   
                                   2 
                                 
                               
                             
                           
                           ) 
                         
                       
                     
                   
                   ) 
                 
                 
                   0 
                   . 
                   5 
                 
               
             
           
         
       
     
     for Tomlinson-Harashima pre-coding (THP). 
     In some embodiments, assuming that the correlated users are at the same distance to the transmitter, the threshold value ρ H  may be determined as 
     
       
         
           
             
               ρ 
               H 
             
             = 
             
               
                 ρ 
                 
                   max 
                   - 
                   min 
                 
                 THP 
               
               = 
               
                 
                   ( 
                   
                     1 
                     - 
                     
                       1 
                       
                         
                           KSNR 
                           
                             ( 
                             
                               
                                 2 
                                 γ 
                               
                               - 
                               1 
                             
                             ) 
                           
                         
                         - 
                         
                           ( 
                           
                             K 
                             - 
                             1 
                           
                           ) 
                         
                       
                     
                   
                   ) 
                 
                 
                   0 
                   . 
                   5 
                 
               
             
           
         
       
     
     for Tomlinson-Harashima pre-coding (THP). 
       FIG.  7    illustrates example threshold values as a function of the signal-to-noise ratio when there are only two correlated users and all the K=6 users have the same large-scale fading. 
     The upper plot illustrates the threshold values for equal power control (power allocation which equalizes the SNR for all users when they are orthogonal) and the lower plot illustrates the threshold values for max-min power control. 
     For more than two correlated users out of K users, the above threshold values may be used as bounds for the threshold value ρ H . Alternatively or additionally, 2/π may be used as a bound for the threshold value ρ H , which is due to that this is the spatial correlation between two users having an angular separation of 1/M in a line-of-sight (LOS) scenario, where M is the number of antenna elements in the antenna array of the transmitter. In some embodiments, the threshold value may be chosen as the minimum value of these two bounds; above threshold values and 2/π. 
     Selection of which user(s) should be discarded may be based on a function f(i)=Σ k=1,k≠i   K  |ρ ik | or 
     
       
         
           
             
               f 
               ⁡ 
               ( 
               i 
               ) 
             
             = 
             
               
                 ∑ 
                 
                   
                     k 
                     = 
                     1 
                   
                   , 
                   
                     k 
                     ≠ 
                     i 
                   
                 
                 K 
               
               
                 
                   
                     ❘ 
                     &#34;\[LeftBracketingBar]&#34; 
                   
                   
                     ρ 
                     ik 
                   
                   
                     ❘ 
                     &#34;\[RightBracketingBar]&#34; 
                   
                 
                 
                   
                      
                     
                       h 
                       i 
                     
                      
                   
                   2 
                 
               
             
           
         
       
     
     that represents an accumulated correlation between user i and the other users of the plurality; possibly divided by the large-scale fading of user i. 
     Typically, the function value f(⋅) need only be determined for users that are prospect users for discarding. For example, users that are not comprised in any pair that have a spatial correlation value that falls on or above the threshold value ρ H  are typically not prospect users for discarding. 
     According to one example, a set of users is determined, comprising two or more users that are comprised in at least one of the pairs that have a spatial correlation value that falls on or above the threshold value ρ H . Each user of the set is associated with an accumulated correlation value defined as a sum of the spatial correlation values of the pairs comprising the user (i.e., f(i)=Σ k=1,k≠i   K  |ρ ik | or 
     
       
         
           
             
               f 
               ⁡ 
               ( 
               i 
               ) 
             
             = 
             
               
                 ∑ 
                 
                   
                     k 
                     = 
                     1 
                   
                   , 
                   
                     k 
                     ≠ 
                     i 
                   
                 
                 K 
               
               
                 
                   
                     ❘ 
                     &#34;\[LeftBracketingBar]&#34; 
                   
                   
                     ρ 
                     ik 
                   
                   
                     ❘ 
                     &#34;\[RightBracketingBar]&#34; 
                   
                 
                 
                   
                      
                     
                       h 
                       i 
                     
                      
                   
                   2 
                 
               
             
           
         
       
     
     for user i), and one or more users of the set that has a highest accumulated correlation value is discarded. 
     The set may, for example, comprise all users that are comprised in at least one of the pairs that have a spatial correlation value that falls on or above the threshold value ρ H , or only some of the users that are comprised in at least one of the pairs that have a spatial correlation value that falls on or above the threshold value ρ H  (e.g., users with a highest function value f(⋅) or users of one or more pairs with highest spatial correlation value). 
     According to one example, a user is discarded that has a highest function value f(⋅) among the users of the pairs that have a spatial correlation value that falls on or above the threshold value ρ H . 
     According to one example, a user is discarded that has a highest function value f(⋅) among the users of the pair that has a highest spatial correlation value among the pairs that have a spatial correlation value that falls on or above the threshold value ρ H . 
     In some embodiments, one user is discarded at a time in an iterative manner and the threshold value ρ H  is updated for each iteration. Steps  120 ,  130 ,  140  and  150  illustrate such an approach for reducing the plurality of users. 
     In step  120 , the threshold value ρ H  is determined. As mentioned above, the threshold value ρ H  may be determined based on the number K of users of the plurality (i.e., the cardinality of the plurality), and may be further based on a user-specific signal-to-noise ratio (SNR) relating to the plurality of users. 
     In step  130 , it is determined whether or not one or more pairs of users has a spatial correlation value that falls on or above the threshold value ρ H , i.e., if there are any ρ ij ≥ρ H  or not. 
     When there are no spatial correlation values that falls on or above the threshold value ρ H , i.e., when all ρ ij &lt;ρ H  (N-path out of step  130 ), the plurality of users is not reduced and the method proceeds directly to step  160  for generation of the respective signals for transmission to the users of the plurality. 
     When there is at least one pair of users that has a spatial correlation value that falls on or above the threshold value ρ H , i.e., when there is at least one ρ ij ≥ρ H  (Y-path out of step  130 ), a user is discarded in step  140 . By discarding a user, a reduced plurality of users is provided. 
     The selection of which user should be discarded may, as elaborated in above, be based on the function f(i), for user i. For example, a user may be discarded that has a highest function value f(⋅) among the users of the pair that has a highest spatial correlation value among the pairs that have a spatial correlation value that falls on or above the threshold value ρ H . 
     In step  150 , the threshold value ρ H  is updated. Typically, the threshold value ρ H  is updated based on the number of users of the reduced plurality (i.e., the cardinality of the reduced plurality), and may be further based on a user-specific signal-to-noise ratio (SNR) relating to the reduced plurality of users. For example, the same formula may be used for updating threshold value ρ H  as was used for determining the threshold value ρ H  in step  120  (but—due to the reduction of the plurality—using another, lower, cardinality K and possibly an altered user-specific SNR relating to the reduced plurality of users). 
     Then, the method returns to step  130 , where it is determined whether or not one or more pairs of users of the reduced plurality has a spatial correlation value that falls on or above the updated threshold value ρ H . 
     When there are no longer any spatial correlation values that falls on or above the updated threshold value ρ H  (N-path out of step  130 ), the reduced plurality of users is not further reduced and the method proceeds to step  160  for generation of the respective signals for transmission to the users of the reduced plurality. 
     When there is still at least one pair of users that has a spatial correlation value that falls on or above the updated threshold value ρ H  (Y-path out of step  130 ), the reduced plurality of users is further reduced by discarding another user. 
     Thus, steps  140  and  150  are repeated until none of the spatial correlation values falls on or above the updated threshold value ρ H . 
     Updating the threshold value ρ H  after each reduction of the plurality, using the function f(i) for selection of the user(s) to be discarded, and/or using the threshold value calculations elaborated on above to determine and update ρ H  provides for more accurate discarding of users than the approach of US 2018/0352523 A1. 
     The following comprises two examples of discarding approaches (dropping algorithms): for conjugate beamforming (CB) and for zero-forcing (ZF) beamforming, respectively. For max-min power control, ρ max−min   CB/ZF  could be used and for equal power control (power allocation which equalizes the SNR for all users when they are orthogonal) ρ equ.   CB/ZF  could be used. For minimum mean-square error (MMSE) beamforming, the same algorithm(s) may be used with max[ρ ZF , ρ CB ] as a lower bound for ρ MMSE . 
     
       
         
           
               
             
               
                   
               
               
                 Algorithm 
               
               
                 Dropping algorithm for a channel of K users 
               
               
                 with CB with any number of correlated users 
               
               
                   
               
             
            
               
                   
               
            
           
           
               
            
               
                 
                   
                     
                       
                         
                           Input 
                           : 
                               
                           H 
                         
                         , 
                         K 
                         , 
                         
                           
                             ζ 
                             ⁢ 
                             
                               P 
                               tot 
                             
                           
                           
                             N 
                             0 
                           
                         
                       
                     
                   
                 
               
               
                   
               
            
           
           
               
               
            
               
                   1: 
                 find |ρ max | = max i, j≠i  |ρ ij | using H 
               
               
                   2: 
                 find |ρ CB | 
               
               
                   3: 
                 while |ρ max | &gt; |ρ CB | do 
               
               
                   4: 
                  find m and n the indexes of users associated with |ρ max | 
               
               
                   5: 
                  if Σ l≠m  |ρ ml | &gt; Σ l≠n  |ρ nl | then 
               
               
                   6: 
                   drop user m 
               
               
                   7: 
                  else 
               
               
                   8: 
                   drop user n 
               
               
                   9: 
                  end if 
               
               
                  10: 
                  K = K − 1 
               
               
                  11: 
                  update H by removing the row of the dropped user 
               
               
                  12: 
                  update |ρ max | using H 
               
               
                  13: 
                  find |ρ CB | 
               
               
                  14: 
                 end while 
               
               
                   
               
            
           
         
       
     
     
       
         
           
               
             
               
                   
               
               
                 Algorithm 
               
               
                 Dropping algorithm for a channel of K users 
               
               
                 with ZF with any number of correlated users 
               
               
                   
               
             
            
               
                   
               
            
           
           
               
            
               
                 
                   
                     
                       
                         
                           Input 
                           : 
                               
                           H 
                         
                         , 
                         K 
                         , 
                         
                           
                             ζ 
                             ⁢ 
                             
                               P 
                               tot 
                             
                           
                           
                             N 
                             0 
                           
                         
                       
                     
                   
                 
               
               
                   
               
            
           
           
               
               
            
               
                   1: 
                 find |ρ max | = max i, j≠i  |ρ ij | using H 
               
               
                   2: 
                 find |ρ ZF | 
               
               
                   3: 
                 while |ρ max | &gt; |ρ ZF | do 
               
               
                   4: 
                  find m and n the indexes of users associated with |ρ max | 
               
               
                   5: 
                  if Σ l≠m  |ρ ml | &gt; Σ l≠n  |ρ nl | then 
               
               
                   6: 
                   drop user m 
               
               
                   7: 
                  else 
               
               
                   8: 
                   drop user n 
               
               
                   9: 
                  end if 
               
               
                  10: 
                  K= K − 1 
               
               
                  11: 
                  update H by removing the row of the dropped user 
               
               
                  12: 
                  update |ρ max | using H 
               
               
                  13: 
                  find |ρ ZF | 
               
               
                  14: 
                 end while 
               
               
                   
               
            
           
         
       
     
     Regardless of whether the plurality of users have been reduced or not, the example method  100  proceeds to step  160 , where the respective signals are generated for transmission to the users of the (possibly reduced) plurality. The generation of the respective signals comprise application of linear pre-coding (e.g., a conjugate beamforming approach, a zero-forcing approach, or a minimum mean square error approach) and/or non-linear pre-coding (e.g., a Tomlinson-Harashima pre-coding approach, or a vector pre-coding approach). Once generated, the respective signals may be transmitted to the users of the (possibly reduced) plurality as illustrated by optional step  170 . 
     In some approaches, the generation of the respective signals in step  160  comprises application of the same pre-coding approach (e.g., linear or non-linear) for all users of the (possibly reduced) plurality. 
     In some approaches, the generation of the respective signals in step  160  comprises sorting the (possibly reduced) plurality of users into a first group and a second group based on the spatial correlation values ρ ij  determined in step  110 . Depending on the sorting criterion, one of the first and second groups may be empty in some scenarios. 
     Typically, the first group may comprise users that have no, or very limited, correlation to other users(s) of the (possibly reduced) plurality, while the second group may comprise users that have relatively high correlation to at least one other user of the (possibly reduced) plurality. 
     Then, the respective signals for transmission to the users of the first group are generated by application of linear pre-coding, and the respective signals for transmission to the users of the second group are generated by application of non-linear pre-coding. 
     This approach may provide lower complexity than using non-linear pre-coding for all users (for example, a complexity that is comparable to that of using linear pre-coding for all users), while providing performance (e.g., BER) equal, or at least similar or comparable, to that achievable by using non-linear pre-coding for all users. Put differently, this approach may reduce the required transmit power for a certain performance (e.g., BER) compared to using linear pre-coding for all users, while reducing the computational complexity for a certain performance (e.g., BER) compared to using non-linear pre-coding for all users. Compared to using non-linear pre-coding for all users, this approach may have less latency; particularly when using THP for the non-linear pre-coder since the feedback loop of the non-linear pre-coder (see  FIG.  5   ) runs only for a subset of the users and not all the users. 
     Optional sub-steps  161 - 169  illustrate an alternative approach where the (possibly reduced) plurality of users are sorted into a first group and a second group, and where linear pre-coding is applied for users of the first group and non-linear pre-coding is applied for users of the second group. 
     In optional sub-step  161  a threshold value ρ L , (also termed herein as a second correlation threshold value) is determined. The threshold value ρ L , may be determined based on the number K of users of the (possibly reduced) plurality, and may be further based on a user-specific signal-to-noise ratio (SNR) relating to the (possibly reduced) plurality of users. 
     Typically, the threshold value ρ L , is lower than, or equal to, the threshold value ρ H  elaborated on above. 
     For example, when a zero-forcing approach is used for the linear pre-coding and a Tomlinson-Harashima pre-coding approach is used for the non-linear pre-coding, the threshold values may be set to ρ H =ρ max−min   THP  and ρ L =ρ max−min   ZF . 
     In optional sub-step  162 , it is determined whether or not one or more pairs of (remaining) users has a spatial correlation value that falls on or above the threshold value ρ L , i.e., if there are any ρ ij ≥ρ L  or not. 
     When there are no spatial correlation values that falls on or above the threshold value ρ L , i.e., when all ρ ij &lt;ρ L  (N-path out of step  162 ), the method proceeds directly to optional sub-step  169  where the respective signals for transmission to the users of the (possibly reduced) plurality are generated based on linear pre-coding. 
     When there is at least one pair of users that has a spatial correlation value that falls on or above the threshold value ρ L , i.e., when there is at least one ρ ij ≥ρ L  (Y-path out of step  162 ), the method proceeds to optional sub-step  163  where the users are sorted into the first group and the second group based on the spatial correlation values ρ ij . 
     For example, a particular user may be sorted into the first group when all pairs comprising the particular user have a spatial correlation value that falls below the threshold value ρ L , and the particular user may be sorted into the second group when at least one pair comprising the particular user has a spatial correlation value that falls on or above the threshold value ρ L . 
     Then, the respective signals for transmission to the users of the first group are generated by application of linear pre-coding as illustrated by optional sub-step  164 , and the respective signals for transmission to the users of the second group are generated by application of non-linear pre-coding as illustrated by optional sub-step  166 . 
     According to some embodiments, power allocation which equalizes the SNR for all the users when they are orthogonal may be applied for all users (regardless if they are in the first or second group). According to some embodiments, the power allocation applied for users is based on if they are in the first or second group. The latter is illustrated by the power allocation scaling illustrated in optional sub-step  165  for the first group of users and the power allocation scaling illustrated in optional sub-step  167  for the second group of users. 
     Thus, a first power allocation coefficient β uncor  may be determined for the first group and a second power allocation coefficient β cor  may be determined for the second group. Generating the respective signals for transmission to the users of the first group may comprise scaling by the first power allocation coefficient as illustrated in optional sub-step  165  and generating the respective signals for transmission to the users of the second group comprises scaling by the second power allocation coefficient as illustrated in optional sub-step  167 . 
     The first and second power allocation coefficients may be equal or may have different values. Possible purposes of applying power allocation coefficients of different values may be to maximize the fairness among the users (e.g., to guarantee equally good service for all the users), to maximize throughput, to maximize harmonic mean, etc. 
     By allocating P uncor  and P cor  for the users of first group and second group, respectively, the first and second power allocation coefficients β cor  and β uncor  and may be determined via 
     
       
         
           
             
               β 
               
                 c 
                 ⁢ 
                 o 
                 ⁢ 
                 r 
               
               2 
             
             = 
             
               
                 P 
                 
                   c 
                   ⁢ 
                   o 
                   ⁢ 
                   r 
                 
               
               
                 
                    
                   
                     
                       x 
                       ˜ 
                     
                     
                       c 
                       ⁢ 
                       o 
                       ⁢ 
                       r 
                     
                   
                    
                 
                 2 
                 2 
               
             
           
         
       
       
         
           
             
               β 
               
                 u 
                 ⁢ 
                 n 
                 ⁢ 
                 c 
                 ⁢ 
                 o 
                 ⁢ 
                 r 
               
               2 
             
             = 
             
               
                 P 
                 
                   u 
                   ⁢ 
                   n 
                   ⁢ 
                   c 
                   ⁢ 
                   o 
                   ⁢ 
                   r 
                 
               
               
                 
                    
                   
                     
                       x 
                       ˜ 
                     
                     
                       u 
                       ⁢ 
                       n 
                       ⁢ 
                       c 
                       ⁢ 
                       o 
                       ⁢ 
                       r 
                     
                   
                    
                 
                 2 
                 2 
               
             
           
         
       
     
     where ∥⋅∥ 2   2  denotes the norm-2, P tot  is the total allocated power, P uncor =P tot −P cor . 
     For example, when a zero-forcing approach is used for the linear pre-coding and a Tomlinson-Harashima pre-coding approach is used for the non-linear pre-coding, considering max-min power control, 
     
       
         
           
             
               
                 P 
                 
                   c 
                   ⁢ 
                   o 
                   ⁢ 
                   r 
                 
               
               = 
               
                 
                   
                     t 
                     ⁢ 
                     
                       r 
                       ⁡ 
                       ( 
                       
                         W 
                         ⁢ 
                         
                           W 
                           H 
                         
                       
                       ) 
                     
                   
                   
                     
                       
                         ∑ 
                         
                           i 
                           ∈ 
                           
                             first 
                             ⁢ 
                                 
                             group 
                           
                         
                       
                       
                         1 
                         
                           η 
                           i 
                           2 
                         
                       
                     
                     + 
                     
                       tr 
                       ⁡ 
                       ( 
                       
                         WW 
                         H 
                       
                       ) 
                     
                   
                 
                 ⁢ 
                 
                   P 
                   tot 
                 
               
             
             , 
           
         
       
     
     where η i =|h i   T  u i   ZF |, u i   ZF  are the vectors of U=H H (HH H ) −1  scaled to unit-norm, and W is a M×n cor  matrix found by using the LQ decomposition of the channel matrix of all the users, as will be exemplified in connection with  FIG.  5   . 
     When a conjugate beamforming approach is used for the linear pre-coding in relation to max-min power control, β cor  and β uncor  may be determined via the bisection method. 
     Regardless of which power allocation approach is applied, the respective signals for transmission to the users of the first group and the respective signals for transmission to the users of the second group may be combined before transmission as illustrated in optional sub-step  168 . 
     As mentioned before, the non-linear pre-coding may comprise a Tomlinson-Harashima pre-coding approach or a vector pre-coding approach, for example. 
     Generally in vector pre-coding, a perturbation vector pϵC K×1  is added to the signal to be transmitted before linear pre-coding in such a way that it results in a reduced transmit power at the transmitter while yielding the same BER performance. The same power allocation diag(d) and precoding matrix U (CB, ZF, or MMSE) as in linear pre-coding is applied, and the output is multiplied by a scalar β VP  which implements meeting of the power constraint ∥x∥ 2 =P tot , where x is the transmitted signal. 
     At the receiver, each user compensates the effects of the scalar and the linear pre-coding by multiplying the received signal by the inverse of the scalar 1/β VP  and by the inverse of a product of the square root of the power allocated to the user and the absolute value of the scalar product between the channel seen by the user and the pre-coding vector of the user α i =1/|h i   T  u i |√{square root over (d i )}. Then, the user uses the modulo operator to remove the effect of the perturbation vector and estimates the received symbols. 
     In some embodiments when the non-linear pre-coding comprises a vector pre-coding approach which is used for the second group, a search is typically done to choose a suitable perturbation complex vector of the appropriate size n cor ×1. The search may an exhaustive search of the set of possible perturbation vectors, or may be limited to a sub-set of the set of possible perturbation vectors to reduce the complexity of the search. The sub-set may be chosen based on probability of suitability and/or based on random selection. 
     A suitable perturbation complex vector may, for example, be a vector that results in a reduced transmit power for the second group. For example, the perturbation vector may be found as the vector that—when the modulo operation is applied—minimizes the expected value of the correlation among the users of the second group; e.g., 
     
       
         
           
             p 
             = 
             
               
                 argmin 
                 
                   
                     
                       
                         p 
                         ′ 
                       
                       = 
                       
                         
                           ( 
                           
                             r 
                             + 
                             
                               j 
                               ⁢ 
                               s 
                             
                           
                           ) 
                         
                         ⁢ 
                         Δ 
                       
                     
                     ; 
                     r 
                   
                   , 
                   
                     s 
                     ∈ 
                     
                       Z 
                       
                         n 
                         
                           c 
                           ⁢ 
                           o 
                           ⁢ 
                           r 
                         
                       
                     
                   
                 
               
               ⁢ 
               
                 E 
                 [ 
                 
                   
                     
                       x 
                       ˜ 
                     
                     
                       c 
                       ⁢ 
                       o 
                       ⁢ 
                       r 
                     
                     H 
                   
                   ⁢ 
                   
                     
                       x 
                       ˜ 
                     
                     
                       c 
                       ⁢ 
                       o 
                       ⁢ 
                       r 
                     
                   
                 
                 ] 
               
             
           
         
       
     
     where {tilde over (x)} cor  represents the signal to be transmitted for the second group before scaling, Δ is the divisor for the modulo operation at the receivers, and E[{tilde over (x)} cor   H {tilde over (x)} cor ] represents the expected value of the correlation among the users of the second group. 
     The squared scalars (power allocation coefficients) to be used for the first and second groups may be determined, respectively, as the power allocated to the group divided by the expected value of the correlation among the users of the group. The allocated power for each group may be determined based on any suitable power allocation strategy (e.g., max-min power control). 
       FIG.  2    schematically illustrates an example apparatus  210  according to some embodiments. The example apparatus is a pre-coding apparatus for a multi-user, multi-antenna transmitter configured for transmission of respective signals to a plurality of users. For example, the multi-user, multi-antenna transmitter may be comprised in a base station (e.g., a base station for mobile communication and/or for drone communications). The example apparatus may, for example, be configured to cause performance of (e.g., to perform) one or more steps of the example method  100  or  FIG.  1   . 
     The example apparatus comprises a controller (CNTR; e.g., controlling circuitry or a controlling module)  200 . The controller may comprise, or be otherwise associated with (e.g., be connectable, or connected, to) a list of users (LoU; e.g., kept in storing circuitry of the controller)  201 . The list of users may be configured to comprise the plurality of users and/or the reduced plurality of users. 
     The controller is configured to cause determination, for each pair of users of the plurality, of a spatial correlation value for the pair of users (compare with step  110  of  FIG.  1   ). To this end, the controller may comprise, or be otherwise associated with (e.g., be connectable, or connected, to) a correlation determiner (C_DET; e.g., correlation determination circuitry or a correlation determination module)  202 . The correlation determiner may be configured to determine, for each pair of users of the plurality, the spatial correlation value for the pair of users. 
     The controller may also be configured to cause, when one or more pairs of users has a spatial correlation value that falls on or above a threshold value ρ H , discarding of at least one user comprised in at least one of the one or more pairs (compare with steps  120 ,  130 ,  140  and  150  of  FIG.  1   ). 
     The controller may be configured to cause determination of the threshold value ρ H  based on the number of users of the plurality (compare with step  120  of  FIG.  1   ). To this end, the controller may comprise, or be otherwise associated with (e.g., be connectable, or connected, to) a threshold determiner (TH_DET; e.g., threshold determination circuitry or a threshold determination module)  203 . The threshold determiner may be configured to determine the threshold value ρ H  based on the number of users of the plurality; and possibly on other factors as mentioned earlier. 
     The controller may be configured to cause determination of whether or not one or more pairs of users has a spatial correlation value that falls on or above the threshold value ρ H  and to cause (when one or more pairs of users has a spatial correlation value that falls on or above the threshold value ρ H ) discarding of one user comprised in at least one of the one or more pairs to provide a reduced plurality of users (compare with steps  130  and  140  of  FIG.  1   ). To this end, the controller may comprise, or be otherwise associated with (e.g., be connectable, or connected, to) a discarder (DC; e.g., discarding circuitry or a discarding module)  204 . The discarder may be configured to determine whether or not one or more pairs of users has a spatial correlation value that falls on or above the threshold value ρ H  and to discard one user comprised in at least one of the one or more pairs to provide a reduced plurality of users when one or more pairs of users has a spatial correlation value that falls on or above the threshold value ρ H . 
     The controller may be configured to cause (when one or more pairs of users has a spatial correlation value that falls on or above the threshold value ρ H ) updating of the threshold value ρ H  based on the number of users of the reduced plurality (compare with step  150  of  FIG.  1   ). For example, the threshold determiner  203  may be configured to update the threshold value ρ H  based on the number of users of the reduced plurality; and possibly on other factors as mentioned earlier. 
     The controller may be configured to cause repetition of the discarding and updating until none of the spatial correlation values falls on or above the updated threshold value ρ H . 
     The controller is configured to cause generation of the respective signals for transmission to the users of the (possibly reduced) plurality by application of pre-coding (compare with steps  160 ,  164 ,  166  and  169  of  FIG.  1   ). To this end, the controller may comprise, or be otherwise associated with (e.g., be connectable, or connected, to) a pre-coder (PC; e.g., pre-coding circuitry or a pre-coding module)  220 . The pre-coder may be configured to generate the respective signals for transmission to the users of the (possibly reduced) plurality by application of pre-coding. 
     For the generation of the respective signals for transmission, the controller may be configured to cause sorting of the plurality of users into a first group and a second group based on the spatial correlation values (compare with steps  161 ,  162  and  163  of  FIG.  1   ). To this end, the controller may comprise, or be otherwise associated with (e.g., be connectable, or connected, to) a sorter (SORT; e.g., sorting circuitry or a sorting module)  205 . The sorter may be configured to sort the plurality of users into a first group and a second group based on the spatial correlation values, possibly in cooperation with the threshold determiner  203 , which may be further configured to determine the threshold value ρ L  (compare with step  161  of  FIG.  1   ). 
     For the generation of the respective signals for transmission, the controller may be configured to cause generation of the respective signals for transmission to the users of the first group by application of linear pre-coding (compare with step  164  of  FIG.  1   ), and generation of the respective signals for transmission to the users of the second group by application of non-linear pre-coding (compare with step  166  of  FIG.  1   ). To this end, the pre-coder may comprise a linear pre-coder (LIN)  221  and a non-linear pre-coder (NLIN)  222 . 
     For the generation of the respective signals for transmission, the controller may be configured to cause determination of a first power allocation coefficient for the first group and a second power allocation coefficient for the second group, scaling by the first power allocation coefficient for generation of the respective signals for transmission to the users of the first group (compare with step  165  of  FIG.  1   ), and scaling by the second power allocation coefficient for the generation of the respective signals for transmission to the users of the second group (compare with step  167  of  FIG.  1   ). To this end, the controller may comprise, or be otherwise associated with (e.g., be connectable, or connected, to) a power allocator (PAL; e.g., power allocation circuitry or a power allocation module)  223 . The power allocator may be configured to determine the first and second power allocation coefficients and/or may be configured to scale by the first and second power allocation coefficients for generation of the respective signals. 
     For the generation of the respective signals for transmission, the controller may be configured to cause combination of the respective signals for transmission to the users of the first group with the respective signals for transmission to the users of the second group to provide a combined signal (compare with step  168  of  FIG.  1   ). To this end, the controller may comprise, or be otherwise associated with (e.g., be connectable, or connected, to) a combiner (COMB; e.g., combining circuitry or a combining module)  224 . The combiner may be configured to combine the respective signals for transmission to the users of the first and second groups to provide a combined signal. 
     The controller may also be configured to cause transmission of the respective signals to the users of the (possibly reduced) plurality (compare with step  170  of  FIG.  1   ). To this end, the controller may comprise, or be otherwise associated with (e.g., be connectable, or connected, to) a transmitter (TX; e.g., transmitting circuitry or a transmission module)  230 . The transmitter may be configured to transmit the respective signals to the users of the (possibly reduced) plurality. 
       FIG.  3    schematically illustrates an example apparatus  300  according to some embodiments. The example apparatus is a pre-coding apparatus for a multi-user, multi-antenna transmitter configured for transmission of respective signals to a plurality of users. For example, the multi-user, multi-antenna transmitter may be comprised in a base station (e.g., a base station for mobile communication and/or for drone communications). The example apparatus may, for example, be configured to cause performance of (e.g., to perform) one or more steps of the example method  100  or  FIG.  1   . 
     The example apparatus  300  comprises a correlation determiner (C_DET)  301 , a threshold determiner (TH_DET)  303 , a discarder (DC)  304 , a linear pre-coder (LIN)  321 , a non-linear pre-coder (NLIN)  322 , a power allocator (PAL)  323  and a combiner (COMB)  324  (compare with corresponding functions of  FIG.  2   ). 
     Based on channel knowledge, the correlation determiner  301  determines, for each pair of users of the plurality, the spatial correlation value for the pair of users, and the threshold determiner  303  determines the threshold values ρ L  and ρ H  based on the number of users of the plurality; and possibly on other factors as mentioned earlier. 
     The discarder  304  discards one or more users when one or more pairs of users has a spatial correlation value that falls on or above the threshold value ρ H , and the threshold determiner  303  updates the threshold value ρ H  as needed, until none of the spatial correlation values falls on or above the updated threshold value ρ H . 
     The sorter  305  sorts the plurality of users into a first group and a second group based on the spatial correlation values (e.g., in comparison with the threshold value ρ L ), the linear pre-coder  321  applies linear pre-coding to the users of the first group, and the non-linear pre-coder  322  applies non-linear pre-coding to the users of the second group. 
     The power allocator  323  scales the signals of the users of the first group by the first power allocation coefficient and scales the signals of the users of the second group by the second power allocation coefficient, and the combiner  324  combines the respective signals for transmission to the users of the first and second groups to provide a combined signal for transmission. 
       FIG.  4    schematically illustrates an example linear pre-coder according to some embodiments via illustration of an example general model of linear precoding for K users. 
     The input comprises the intended uncorrelated, zero-mean and unit variance symbols s ∈ C K×1 , which are pre-coded by a diagonal matrix diag(p) in functional block  401  and a precoding matrix U ∈ C M×K  in functional block  402  to generate x=Udiag(p)s. The output vector x ∈ C M×1  is transmitted through the channel H. 
     The vector p=. . . , (√{square root over (d 1 )}, . . . , √{square root over (d K )}) T  with d i  z∈ R + , i=1, . . . , K is used to adjust the power for each user with the constraint Σ i  d i =P tot . The matrix U with unit norm column vectors is used to compensate the channel effects. Typically, p is chosen based on a power allocation strategy (equal power allocation, equalizing power allocation, maximizing fairness, maximizing throughput, or maximizing harmonic mean) and U is found by scaling the precoding matrix to have unit norm column vectors u. The scaling may be realized as H H  for CB, as H H (HH H ) −1  for ZF. For MMSE with equal power allocation, the scaling may be realized as H H (ϑI K +HH H ) −1  for MMSE, wherein the superscript H denotes Hermetian, or conjugated, transposition and ϑ=KN 0 /P tot . 
       FIG.  5    schematically illustrates an example non-linear pre-coder according to some embodiments via illustration of an example general model of non-linear THP for K users. 
     THP uses LQ-decomposition of the channel (H=LQ, where L is a lower triangular matrix of size K×M and Q is an M×M unitary matrix QQ H =Q H Q=I M ) and the modulo operator to remove the multi-user interference. 
     The input comprises the symbols s, which are encoded in functional block  501  to provides {tilde over (s)} as follows: {tilde over (s)} i =[s i −Σ j=1   i−1  b ij  {tilde over (s)} j ] Δ , i=1, . . . K, where [⋅] Δ  is the modulo operator with divisor Δ and b ij  is the i,j element of the lower triangular matrix B. The matrix B can be found by scaling the matrix L as B=LG, where G is a diagonal matrix causing the diagonal elements of B to be equal to 1. The output of functional block  502  is a vector {tilde over (x)}, which is generated by precoding {tilde over (s)} with a filter matrix W given by W=Q H G. 
     Then, {tilde over (x)} is adjusted by a scalar β as illustrated by  504  to meet the power constraint of the transmitter ∥x∥ 2 =P tot . The output vector x is transmitted through the channel. 
     The input symbols s may be subject to subtraction (as illustrated by  505 ) of a feedback of {tilde over (s)} via functional block  503  which implements y=(B−I){tilde over (s)}. 
     The described embodiments and their equivalents may be realized in software or hardware or a combination thereof. The embodiments may be performed by general purpose circuitry. Examples of general purpose circuitry include digital signal processors (DSP), central processing units (CPU), co-processor units, field programmable gate arrays (FPGA) and other programmable hardware. Alternatively or additionally, the embodiments may be performed by specialized circuitry, such as application specific integrated circuits (ASIC). The general purpose circuitry and/or the specialized circuitry may, for example, be associated with or comprised in an apparatus such as a wireless communication device or a network node (e.g., a base station). 
     Embodiments may appear within an electronic apparatus (such as a wireless communication device or a network node) comprising arrangements, circuitry, and/or logic according to any of the embodiments described herein. Alternatively or additionally, an electronic apparatus (such as a wireless communication device or a network node) may be configured to perform methods according to any of the embodiments described herein. 
     According to some embodiments, a computer program product comprises a computer readable medium such as, for example a universal serial bus (USB) memory, a plug-in card, an embedded drive or a read only memory (ROM).  FIG.  6    illustrates an example computer readable medium in the form of a compact disc (CD) ROM  600 . The computer readable medium has stored thereon a computer program comprising program instructions. The computer program is loadable into a data processor (PROC; e.g., data processing circuitry or a data processing unit)  620 , which may, for example, be comprised in a wireless communication device or a network node  610 . When loaded into the data processor, the computer program may be stored in a memory (MEM)  630  associated with or comprised in the data processor. According to some embodiments, the computer program may, when loaded into and run by the data processor, cause execution of method steps according to, for example, the method illustrated in  FIG.  1    or otherwise described herein. 
     Generally, all terms used herein are to be interpreted according to their ordinary meaning in the relevant technical field, unless a different meaning is clearly given and/or is implied from the context in which it is used. 
     Reference has been made herein to various embodiments. However, a person skilled in the art would recognize numerous variations to the described embodiments that would still fall within the scope of the claims. 
     For example, the method embodiments described herein discloses example methods through steps being performed in a certain order. However, it is recognized that these sequences of events may take place in another order without departing from the scope of the claims. Furthermore, some method steps may be performed in parallel even though they have been described as being performed in sequence. Thus, the steps of any methods disclosed herein do not have to be performed in the exact order disclosed, unless a step is explicitly described as following or preceding another step and/or where it is implicit that a step must follow or precede another step. 
     In the same manner, it should be noted that in the description of embodiments, the partition of functional blocks into particular units is by no means intended as limiting. Contrarily, these partitions are merely examples. Functional blocks described herein as one unit may be split into two or more units. Furthermore, functional blocks described herein as being implemented as two or more units may be merged into fewer (e.g. a single) unit. 
     Any feature of any of the embodiments disclosed herein may be applied to any other embodiment, wherever suitable. Likewise, any advantage of any of the embodiments may apply to any other embodiments, and vice versa. 
     Hence, it should be understood that the details of the described embodiments are merely examples brought forward for illustrative purposes, and that all variations that fall within the scope of the claims are intended to be embraced therein.