# Patent

## Title
Method and system for a double search user group selection scheme with range reduction in TDD multiuser MIMO downlink transmission

## Abstract

Certain aspects of a method and system for processing signals in a communication system may include maximizing system capacity for a time division duplex (TDD) multiple-input multiple-output (MIMO) system, based on reducing a search range within which to find a group of signals having maximum channel gain. At least one of: a first signal for a first user and a second signal for a second user may be selected, which are both within the reduced search range, and which provides a maximum system capacity. The first signal for the first user may be selected from the reduced search range corresponding to a channel gain that is greater than a channel gain corresponding to a remaining portion of the reduced search range. The reduced search range may be generated by sorting a plurality of signals based on a channel gain corresponding to each of the plurality of signals.

## Background
CROSS-REFERENCE TO RELATED APPLICATIONS/INCORPORATION BY REFERENCE
This application is a continuation of U.S. patent application Ser. No. 11/231,586 filed Sep. 21, 2005, issued as U.S. Pat. No. 7,917,100 on Mar. 29, 2011. This application also makes reference to:
U.S. application Ser. No. 11/232,340 filed Sep. 21, 2005, issued as U.S. Pat. No. 7,826,416 on Nov. 22, 2010;
U.S. application Ser. No. 11/232,266 filed Sep. 21, 2005, issued as U.S. Pat. No. 7,630,337 on Dec. 8, 2009;
U.S. application Ser. No. 11/231,501 filed Sep. 21, 2005, issued as U.S. Pat. No. 7,899,421 on Mar. 1, 2011;
U.S. application Ser. No. 11/231,699 filed Sep. 21, 2005, issued as U.S. Pat. No. 7,839,842 on Nov. 23, 2010;
U.S. application Ser. No. 11/232,369 filed Sep. 21, 2005, issued as U.S. Pat. No. 7,636,553 on Dec. 22, 2009;
U.S. application Ser. No. 11/231,701 filed Sep. 21, 2005, issued as U.S. Pat. No. 7,917,101 on Mar. 29, 2011;
U.S. application Ser. No. 11/232,362 filed Sep. 21, 2005, issued as U.S. Pat. No. 7,515,878 on Apr. 7, 2009;
U.S. application Ser. No. 11/232,362 filed Sep. 21, 2005; and
U.S. application Ser. No. 11/231,416 filed Sep. 21, 2005, issued as U.S. Pat. No. 7,936,808 on May 3, 2011.
Each of the above stated applications is hereby incorporated by reference in its entirety.
FIELD OF THE INVENTION
Certain embodiments of the invention relate to time division duplex (TDD) multiuser multiple-input multiple-output (MIMO) downlink transmission. More specifically, certain embodiments of the invention relate to a method and system for a double search user group selection scheme with range reduction in TDD multiuser MIMO downlink transmission.
BACKGROUND OF THE INVENTION
Mobile communications have changed the way people communicate and mobile phones have been transformed from a luxury item to an essential part of every day life. The use of mobile phones is today dictated by social situations, rather than hampered by location or technology. While voice connections fulfill the basic need to communicate, and mobile voice connections continue to filter even further into the fabric of every day life, the mobile Internet is the next step in the mobile communication revolution. The mobile Internet is poised to become a common source of everyday information, and easy, versatile mobile access to this data will be taken for granted.
Third generation (3 G) cellular networks have been specifically designed to fulfill these future demands of the mobile Internet. As these services grow in popularity and usage, factors such as cost efficient optimization of network capacity and quality of service (QoS) will become even more essential to cellular operators than it is today. These factors may be achieved with careful network planning and operation, improvements in transmission methods, and advances in receiver techniques. To this end, carriers need technologies that will allow them to increase downlink throughput and, in turn, offer advanced QoS capabilities and speeds that rival those delivered by cable modem and/or DSL service providers.
In order to meet these demands, communication systems using multiple antennas at both the transmitter and the receiver have recently received increased attention due to their promise of providing significant capacity increase in a wireless fading environment. These multi-antenna configurations, also known as smart antenna techniques, may be utilized to mitigate the negative effects of multipath and/or signal interference on signal reception. It is anticipated that smart antenna techniques may be increasingly utilized both in connection with the deployment of base station infrastructure and mobile subscriber units in cellular systems to address the increasing capacity demands being placed on those systems. These demands arise, in part, from a shift underway from current voice-based services to next-generation wireless multimedia services that provide voice, video, and data communication.
The utilization of multiple transmit and/or receive antennas is designed to introduce a diversity gain and to raise the degrees of freedom to suppress interference generated within the signal reception process. Diversity gains improve system performance by increasing received signal-to-noise ratio and stabilizing the transmission link. On the other hand, more degrees of freedom allow multiple simultaneous transmissions by providing more robustness against signal interference, and/or by permitting greater frequency reuse for higher capacity. In communication systems that incorporate multi-antenna receivers, a set of M receive antennas may be utilized to null the effect of (M−1) interferers, for example. Accordingly, N signals may be simultaneously transmitted in the same bandwidth using N transmit antennas, with the transmitted signal then being separated into N respective signals by way of a set of N antennas deployed at the receiver. Systems that utilize multiple transmit and receive antennas may be referred to as multiple-input multiple-output (MIMO) systems. One attractive aspect of multi-antenna systems, in particular MIMO systems, is the significant increase in system capacity that may be achieved by utilizing these transmission configurations. For a fixed overall transmitted power, the capacity offered by a MIMO configuration may scale with the increased signal-to-noise ratio (SNR). For example, in the case of fading multipath channels, a MIMO configuration may increase system capacity by nearly M additional bits/cycle for each 3-dB increase in SNR.
The widespread deployment of multi-antenna systems in wireless communications has been limited by the increased cost that results from increased size, complexity, and power consumption. This poses problems for wireless system designs and applications. As a result, some initial work on multiple antenna systems may be focused on systems that support single user point-to-point links. However, the use of multi-antenna techniques for a multiuser environment to improve total throughput remains a challenge.
Further limitations and disadvantages of conventional and traditional approaches will become apparent to one of skill in the art, through comparison of such systems with some aspects of the present invention as set forth in the remainder of the present application with reference to the drawings.
BRIEF SUMMARY OF THE INVENTION
A system and/or method is provided for a double search user group selection scheme with range reduction in time division duplex (TDD) multiuser multiple-input multiple-output (MIMO) downlink transmission, substantially as shown in and/or described in connection with at least one of the figures, as set forth more completely in the claims.
These and other advantages, aspects and novel features of the present invention, as well as details of an illustrated embodiment thereof, will be more fully understood from the following description and drawings.



BRIEF DESCRIPTION OF SEVERAL VIEWS OF THE DRAWINGS
FIG. 1A is a top-level block diagram illustrating an exemplary multiuser multiple-input-multiple-output (MIMO) downlink transmission system with linear precoding, in accordance with an embodiment of the invention.
FIG. 1B illustrates a block diagram of a multiuser downlink communication environment that may be utilized in connection with an embodiment of the invention.
FIG. 2A is a flowchart illustrating double search user group selection scheme with range reduction, in accordance with an embodiment of the invention.
FIG. 2B is a flow chart that illustrates exemplary steps in a method for a range reduction scheme for user selection in a multiuser MIMO downlink transmission, in accordance with an embodiment of the invention.
FIG. 3 is a graph illustrating a comparison of sum capacity of a system using an optimal brute-force user selection with L=100, a double search algorithm with L=10 and a double search algorithm with L=5, in accordance with an embodiment of the invention.
FIG. 4 is a graph illustrating a comparison of bit error rate (BER) of a system using an optimal brute-force user selection with L=100, a double search algorithm with L=10 and a double search algorithm with L=5, in accordance with an embodiment of the invention.
FIG. 5 is a flowchart illustrating double search user group selection scheme with range reduction in TDD multiuser MIMO downlink transmission, in accordance with an embodiment of the invention.



DETAILED DESCRIPTION OF THE INVENTION
Certain aspects of a method and system for processing signals in a communication system may comprise maximizing system capacity based on reducing a search range within which to find a group of signals having maximum channel sum transmission rate, for a time division duplex (TDD) multiple-input multiple-output (MIMO) system. At least one of: a first signal for a first user and a second signal for a second user may be selected, which are both within the reduced search range, and which provides a maximum system capacity.
FIG. 1A is a top-level block diagram illustrating an exemplary multiuser multiple-input-multiple-output (MIMO) downlink transmission system with linear precoding, in accordance with an embodiment of the invention. Referring to FIG. 1A, there is shown a communication system 100 that may comprise a base station 102a and a plurality of users 122a, . . . , 130a. In the communication system 100, the base station 102a may be equipped with M antennas and K users 122a, . . . , 130a may each have a single antenna. In this implementation, the total number of users or receiver antennas may be equal or higher than the number of base station antennas, that is, K≧M.
The base station 102a may comprise a plurality of channel encoders 104a, . . . , 106a, a user scheduler 108a, a plurality of modulators (MOD) 110a, . . . , 112a, a power control block 114a, a beamforming or linear precoding block 116a, an uplink channel estimator block 152, a processor 154, a memory 156 and a range reduction algorithm block 160. Each of the plurality of users 122a, . . . , 130a may comprise one of a plurality of demodulators (DEM) 132a, . . . , 140a, and one of a plurality of channel decoders 142a, . . . , 150a. 
The channel encoders 104a, . . . , 106a may comprise suitable logic, circuitry, and/or code that may be adapted to encode binary data for each of the K users in the communication system 100. The beamforming or linear precoding block 116a may comprise suitable logic, circuitry, and/or code that may be adapted to processes the user data symbols to separate signals intended for different users such that each user receives little or no interference from other users. With M antennas at the base station 102a, the beamforming or linear precoding block 116a may separate at most M different signals, that is, the base station 102a may transmit to at most M users at a time. Therefore, for each channel realization, the base station 102a may need to select M or less than M users among all the K users to transmit.
The user scheduler 108a may comprise suitable logic, circuitry, and/or code that may be adapted to find a best user group that optimizes certain performance criterion such as the sum throughput of the system, for example. In this regard, the user scheduler 108a may be adapted to perform the steps of a double search user selection algorithm to find the best user group. The user scheduler 108a may utilize knowledge of the channel state information (CSI) provided by the uplink channel estimator block 152 when determining the best user group. For a time division duplex (TDD) system, the base station 102a may be adapted to estimate the uplink channel and use it as the downlink channel based on the channel reciprocity property between the uplink and downlink. The base station 102a may be assumed to have channel knowledge of every user through accurate uplink channel estimation.
The user scheduler 108a may be adapted to select a first user with the strongest channel gain and a second user with the next second strongest channel gain. The user scheduler 108a may be adapted to determine a first maximum system capacity based on the first user and a second maximum system capacity based on the second user. The user scheduler 108a may also be adapted to select the highest of the first maximum system capacity and the second maximum system capacity as the maximum system capacity to be supported by the communication system 100. In this regard, for a case when M=2, the user scheduler 108a may select the user group comprising a pair of users associated with the maximum system capacity selected.
The modulators 110a, . . . , 112a may comprise suitable logic, circuitry, and/or code that may be adapted to modulate the binary data of each of the users selected by the user scheduler 108a. In this regard, the modulation operation on the binary data may result in a plurality of complex symbols, for example. The power control block 114a may comprise suitable logic, circuitry, and/or code that may be adapted to allocate different users with different power levels in accordance with their respective channel quality, for example.
The user scheduler 108a, the power control block 114a, and/or the beamforming or linear precoding block 116 may require knowledge of the state of the downlink channel. The uplink channel estimator block 152 may comprise suitable logic, circuitry, and/or code that may be adapted to estimate, store and/or transfer channel state information associated with the users 122a, . . . , 130a. In this regard, the uplink channel estimator block 152 may be adapted to transfer the channel state information to the user scheduler 108a, the power control block 114a, and/or the beamforming or linear precoding block 116 when necessary.
The processor 154 may comprise suitable logic, circuitry, and/or code that may be adapted to process information and/or data associated with the generation of transmission signals at the base station 102a. The processor 154 may also be adapted to control at least a portion of the operations of the base station 102a, for example, the processor 154 may be adapted to maximize system capacity based on reducing a search range within which to find a group of signals having maximum channel sum transmission rate. The memory 156 may comprise suitable logic, circuitry, and/or code that may be adapted to store data and/or control information that may be utilized in the operation of at least a portion of the base station 102a. 
The demodulators 132a, . . . , 140a in the users 122a, . . . , 130a may comprise suitable logic, circuitry, and/or code that may be adapted to demodulate the signals received from the base station 102a, for example. The channel decoders 142a, . . . , 150a may comprise suitable logic, circuitry, and/or code that may be adapted to decode the demodulated signals from the demodulators 132a, . . . , 140a into binary bit streams, for example.
The range reduction algorithm block 160 may comprise suitable logic, circuitry, and/or code that may be adapted to reduce the user search range from the plurality of users. A desired user group may be determined by searching among the L strongest users. The range reduction algorithm may be assumed to be carried out offline at the system design stage. Notwithstanding, an embodiment of the invention may incorporate an adaptive algorithm to update L at real time with online channel measurements while using the offline calculated user range as the initial value. Based on the reduction range [1:L], the search may be restricted within the first L strongest users for a user pair [idx1, idx2] that has the maximum instantaneous sum capacity.
FIG. 1B illustrates a block diagram of a finite rate multiuser communication environment that may be utilized in connection with an embodiment of the invention. Referring to FIG. 1B, there is shown a multiuser downlink communication system with a base station 170, a plurality of transmit antennas, 1521 . . . M, and a plurality of receive antennas, 1541 . . . K, one antenna for each of the K users.
The base station 170 may comprise suitable logic, circuitry and/or code that may be adapted to relay signals to and from mobile terminals or handsets within a given range. The operation of the base station 170 may be substantially similar to the operation of the base station 102a described in FIG. 1A. The plurality of transmit antennas 1721 . . . M may transmit processed RF signals to the plurality of receive antennas 1741 . . . K. The plurality of receive antennas 1741 . . . K may each receive a portion of the transmitted signal.
The signal model may be represented as




  
    
      
        
          
            [
            
              
                
                  
                    y
                    1
                  
                
              
              
                
                  
                    y
                    2
                  
                
              
              
                
                  ⋮
                
              
              
                
                  
                    y
                    k
                  
                
              
            
            ]
          
          =
          
            
              
                [
                
                  
                    
                      
                        h
                        1
                      
                    
                  
                  
                    
                      
                        h
                        2
                      
                    
                  
                  
                    
                      ⋮
                    
                  
                  
                    
                      
                        h
                        k
                      
                    
                  
                
                ]
              
              ⁢
              x
            
            +
            n
          
        
        ,
      
    
    
      
        (
        1
        )
      
    
  




where yk (k=1, . . . , K) is the received signal by user k, hkε1×M is the channel vector to user k, xεM×1 is the transmitted symbol vector by the base station 170, and nεK×1 is the additive white Gaussian noise (AWGN) with zero mean and unit variance. The transmitted symbols may satisfy a power constraint, P represented by

E[xHx]≦P, 

where (.)H represents complex conjugate transpose.

Each element in hk may be assumed to be a zero-mean circularly symmetric complex Gaussian (ZMCSCG) random variable with unit variance. The users may be assumed to experience independent fading. The channel vectors {hk}k=1K may be statistically independent to each other. The channel state information (CSI), hk, may be assumed to be known to user k, but not to other users. For a time division duplex (TDD) system, the base station may be adapted to estimate the uplink channel and use it as the downlink channel based on the channel reciprocity property between the uplink and downlink. The base station 170 may be assumed to have channel knowledge of every user through accurate uplink channel estimation.
The zero-forcing (ZF) linear precoder may achieve a sum capacity when the number of users, K, approach infinity. The ZF precoders may be adapted to provide near-optimal performance even with a limited number of users, for example, K=10 users. The zero-forcing precoders are a specific type of linear precoders. When the base station 170 decides to transmit to a group of users D{1, . . . , K} with d=|D|≦K, a linear precoding scheme may linearly weigh the data symbols, s=[s1, . . . , sd]T before they are transmitted from the base station 170 according to,

x=FPs,  (2)

where x is the transmitted signal vector as in (1), F=[f1, . . . , fd] is the M×d linear precoding matrix with normalized columns (∥fk∥=1), and P=diag{P1, . . . , Pd} with





  
    
      ∑
      
        i
        =
        1
      
      d
    
    ⁢
    
      
    
    ⁢
    
      P
      i
    
  
  ≤
  P




is the power control matrix that allocates transmit power to different users. The data symbols s may correspond to the data symbols u1 . . . uM that are generated by the plurality of modulators 110a . . . 112a. The elements in the linear precoding matrix F may represent the plurality of weighing coefficients utilized by the precoder 116a. The nonzero elements in the diagonal matrix P may represent the plurality of scaling factors p1 . . . pM utilized by the power control block 114a. The received signal may be represented by the following equation:





  
    
      
        
          [
          
            
              
                
                  y
                  1
                
              
            
            
              
                
                  y
                  2
                
              
            
            
              
                ⋮
              
            
            
              
                
                  y
                  d
                
              
            
          
          ]
        
        =
        
          
            
              [
              
                
                  
                    
                      h
                      1
                    
                  
                
                
                  
                    
                      h
                      2
                    
                  
                
                
                  
                    ⋮
                  
                
                
                  
                    
                      h
                      d
                    
                  
                
              
              ]
            
            ⁢
            FPs
          
          +
          
            n
            .
          
        
      
    
    
      
        (
        3
        )
      
    
  




A zero-forcing precoder may utilize the pseudo-inverse of the overall channel matrix HD=[h1T, . . . , hdT]T as the weighting matrix when HD has full row rank according to the following equation:




  
    
      
        
          
            W
            D
          
          =
          
            
              H
              D
              †
            
            =
            
              
                
                  H
                  D
                  H
                
                ⁡
                
                  (
                  
                    
                      H
                      D
                    
                    ⁢
                    
                      H
                      D
                      H
                    
                  
                  )
                
              
              
                -
                1
              
            
          
        
        ,
      
    
    
      
        (
        4
        )
      
    
  
  
    
      
        
          
            F
            D
          
          =
          
            
              W
              D
            
            ⁡
            
              [
              
                
                  
                    
                      1
                      
                        w
                        1
                      
                    
                  
                  
                    
                      
                    
                  
                  
                    
                      
                    
                  
                
                
                  
                    
                      
                    
                  
                  
                    ⋱
                  
                  
                    
                      
                    
                  
                
                
                  
                    
                      
                    
                  
                  
                    
                      
                    
                  
                  
                    
                      1
                      
                        w
                        d
                      
                    
                  
                
              
              ]
            
          
        
        ,
      
    
    
      
        (
        5
        )
      
    
  




where {wi}i=1d are the columns of WD. By defining





  
    
      
        
          ξ
          i
        
        ⁢
        
          =
          Δ
        
        ⁢
        
          1
          
            w
            i
          
        
      
    
    
      
        (
        6
        )
      
    
  




and substituting (5) in (3), the received signal yi for each user with zero-forcing precoding may be represented according to the following expression:

yi=ξiPisi+ni, ∀iεD.  (7)

The multiuser downlink channel may be represented as a set of parallel channels. The maximum system sum capacity of the given user group D, CD may be represented as




  
    
      
        
          
            C
            D
          
          ⁢
          
            
              ∑
              
                i
                ∈
                D
              
            
            ⁢
            
              
            
            ⁢
            
              log
              ⁡
              
                (
                
                  1
                  +
                  
                    
                      ξ
                      i
                    
                    ⁢
                    
                      P
                      i
                    
                  
                
                )
              
            
          
        
        ,
      
    
    
      
        (
        8
        )
      
    
  




where the optimal Pi is given by a water-filling solution that may be represented as,





  
    
      
        
          
            P
            i
          
          =
          
            
              (
              
                μ
                -
                
                  1
                  
                    ξ
                    i
                  
                
              
              )
            
            +
          
        
        ,
      
    
    
      
        (
        9
        )
      
    
  




with a water level μ chosen to satisfy





  
    
      ∑
      
        i
        ∈
        D
      
    
    ⁢
    
      
    
    ⁢
    
      
        (
        
          μ
          -
          
            1
            
              ξ
              i
            
          
        
        )
      
      +
    
  
  =
  
    P
    .
  




The maximum achievable sum capacity for a given channel realization, C may be obtained by searching over all the possible user groups according to





  
    
      
        C
        =
        
          
            max
            
              
                D
                ⊆
                
                  {
                  
                    1
                    ,
                    
                      
                    
                    ⁢
                    ...
                    ⁢
                    
                      
                    
                    ,
                    K
                  
                  }
                
              
              ,
              
                
                  
                  D
                  
                
                ≤
                M
              
            
          
          ⁢
          
            
              C
              D
            
            .
          
        
      
    
    
      
        (
        10
        )
      
    
  




According to (10), for a given channel realization, the optimal brute-force user group selection for ZF precoding requires searching over all




  
    ∑
    
      i
      =
      1
    
    M
  
  ⁢
  
    
  
  ⁢
  
    (
    
      
        
          K
        
      
      
        
          i
        
      
    
    )
  




possible user groups to find the user group with the maximum system sum capacity. In addition, for each candidate user group, a water-filling solution needs to be computed to obtain the corresponding maximum system sum capacity. As a result, a fairly high computational cost may be expected, especially when K is large.

A double search user group selection scheme may be combined with search range reduction, where the L strongest users are selected. When number of antennas at the base station 170, M=2, the number of candidate user groups may be 2L−1 as opposed to




  
    κ
    ⁡
    
      (
      
        κ
        +
        1
      
      )
    
  
  2




for the brute-force search algorithm. A significant reduction in searching complexity may be achieved, especially when L<<K. Third-generation cellular communication standards such as WCDMA and CDMA 2000 typically employ two antennas at the base station 170. Notwithstanding, an embodiment of the invention may extend the algorithm to the case with any M number of antennas at the base station 170.

FIG. 2A is a flowchart illustrating double search user group selection scheme with range reduction, in accordance with an embodiment of the invention. Referring to FIG. 2A, exemplary steps may start at step 200. In step 202, the plurality of K users may be sorted according to their channel power. The CSI may be assumed to be available at the base station 170 (FIG. 1B), in a sense that the multiple-input-single-output (MISO) channel impulse response hkε1×2 (M=2) of each user is known at the transmitter. For each channel realization, the users may be sorted and indexed in terms of their channel gains according to,

γ1≧γ2≧ . . . ≧γK.  (11)

In step 204, a range reduction algorithm may be applied to determine the reduced user search range L. A desired user group may be determined by searching among the L strongest users. In accordance with an embodiment of the invention, the step 204 may be carried out offline at the system design stage. Notwithstanding, an embodiment of the invention may incorporate an adaptive algorithm to update L at real time with online channel measurements while using the offline calculated user range as the initial value. Based on the reduction range [1:L] obtained from step 204, the search may be restricted within the first L strongest users for a user pair [idx1, idx2] that has the maximum instantaneous sum capacity.
U.S. application Ser. No. 11/231,699 filed Sep. 21, 2005, provides a detailed description of a range reduction algorithm, and is hereby incorporated by reference in its entirety.
Utilizing the double search algorithm, the first candidate of the user pair may be restricted to be the first and second strongest users (user 1 and user 2). In step 206, the maximum system capacity Cmax may be initialized to Cmax=C(1), which corresponds to the case where base station 170 only transmits to the strongest user according to the following expression:

Cmax=C(1)=log2(1+ρ·γ1),  (12)

where ρ is the average signal to noise ratio (SNR) of the system. The optimal user index may be initialized to be [ibx1, idx2]=[1,0] with idx2=0 representing that there is no second user. In step 208, the iteration variable k may be incremented according to k=i+1. In step 210, it may be determined whether C(i,k) is greater than the system maximum sum capacity Cmax, which may be given by the expression:





  
    
      
        
          
            C
            ⁡
            
              (
              
                i
                ,
                k
              
              )
            
          
          =
          
            
              
                log
                2
              
              ⁡
              
                (
                
                  1
                  +
                  
                    
                      1
                      2
                    
                    ⁢
                    
                      ρ
                      ·
                      
                        γ
                        i
                      
                      ·
                      
                        α
                        
                          i
                          ,
                          k
                        
                      
                    
                  
                
                )
              
            
            +
            
              
                log
                2
              
              ⁡
              
                (
                
                  1
                  +
                  
                    
                      1
                      2
                    
                    ⁢
                    
                      ρ
                      ·
                      
                        γ
                        k
                      
                      ·
                      
                        α
                        
                          i
                          ,
                          k
                        
                      
                    
                  
                
                )
              
            
          
        
        ,
        
          

        
        ⁢
        
          i
          =
          1
        
        ,
        
          
            2
            ⁢
            
              
            
            ⁢
            k
          
          =
          2
        
        ,
        ...
        ⁢
        
          
        
        ,
        L
        ,
      
    
    
      
        (
        13
        )
      
    
  




where ρ is the average SNR of the system, and αi,k a parameter that describes the orthogonality between hi and kk, according to the following expression:





  
    
      
        
          α
          
            i
            ,
            k
          
        
        =
        
          1
          -
          
            
              
                
                  
                  
                    〈
                    
                      
                        h
                        i
                      
                      ,
                      
                        h
                        k
                      
                    
                    〉
                  
                  
                
                2
              
              
                
                  
                    
                    
                      h
                      i
                    
                    
                  
                  2
                
                ·
                
                  
                    
                    
                      h
                      k
                    
                    
                  
                  2
                
              
            
            .
          
        
      
    
    
      
        (
        14
        )
      
    
  




The possible user pairs [i,k] with i=1,2 and k=2, . . . , L may be examined and compared to the system maximum sum capacity Cmax, with C(i,k).

If the system capacity C(i,k) is greater than the current maximum capacity Cmax, control passes to step 212. In step 212, the maximum capacity Cmax may be updated with C(i,k) and the optimal user index [idx1, idx2] may be updated by [i,k]. Control then passes to step 214. If the system capacity C(i,k) is not greater than the current maximum capacity Cmax, control passes to step 214.
In step 214, it may be determined whether the iteration variable k is less than or equal to the number of reduced strongest users L. If the iteration variable k is less than or equal to the number of reduced strongest users L, control passes to step 216. In step 216, the iteration variable k may be incremented by 1 and control passes to step 210. If the iteration variable k is not less than or equal to the number of reduced strongest users L, control passes to step 218.
In step 218, it may be determined whether the iteration variable i is less than or equal to the number of transmit antennas M=2. If the iteration variable i is less than or equal to the number of transmit antennas M=2, control passes to step 220. In step 220 the iteration variable i may be incremented by 1. Control then passes to step 208. If the iteration variable i is not less than or equal to the number of transmit antennas M=2, control passes to step 222.
In step 222, an optimal user pair index [idx1, idx2] may be determined to calculate the maximum system sum capacity. If both idx1 and idx2 are valid indices between 1 and K, then the base station 170 may be adapted to communicate to both user idx1 and user idx2 at the same time utilizing spatial multiplexing. The transmitter precoding matrix F may be formed according to the following expression:

F=[vidx2⊥vidx1⊥]*/√{square root over (2)}  (15)

where vectors idx1 and idx2 are the unit norm directional vectors given by the expression:





  
    
      
        
          
            v
            
              idx
              1
            
          
          =
          
            
              h
              
                idx
                1
              
            
            
              
              
                h
                
                  idx
                  1
                
              
              
            
          
        
        ,
        
          
            v
            
              idx
              2
            
          
          =
          
            
              h
              
                idx
                2
              
            
            
              
              
                h
                
                  idx
                  2
                
              
              
            
          
        
        ,
      
    
    
      
        (
        16
        )
      
    
  




The precoder provided in equation (15) is equivalent to the form given by (5). If idx2 is equal to 0, the base station 170 may be communicating only to the strongest user or the idx1th user providing better sum capacity than using spatial multiplexing. The precoding matrix F may be chosen using the following expression:

F=vidxi*  (17)

Control then passes to end step 224.

FIG. 2B is a flow chart that illustrates exemplary steps in a method for a range reduction scheme for user selection in a multiuser MIMO downlink transmission, in accordance with an embodiment of the invention. Referring to FIG. 2B, in step 252, channel state information (CSI) may be derived, step 254 comprises a search for optimal users, step 256 may comprise computing a cumulative distribution function (CDF) among user indexes, and step 258 may comprise computing a reduced search range.
In step 252 CSI may be derived based on a plurality of T independent channel realizations, for example:

{hk(t)}k=1K, t=1, . . . ,T.  (18)

The CSI may comprise channel gain, or signal gain, information. For each channel realization, users among the full set of K users may be sorted, and indexed, in an order based on the values of the channel gains corresponding to each of the K users. For example, a user with a larger value of corresponding channel gain may be placed in the sorted list at a higher index than a user with a smaller value of corresponding channel gain as in the following expression:

γ1(t)≧γ2(t)≧ . . . ≧γK(t), t=1, . . . ,T,  (19)

where

γK(t)∥hK(t)∥2.

The channel measurement may be carried out either by offline channel sounding or by online channel estimation. In a time division duplex (TDD) system, the base station may compute a channel estimate associated with an uplink channel, and use the uplink channel estimation as an approximation of channel estimates for the corresponding downlink channel based on a channel reciprocity property between the uplink and downlink channels.
In step 254, for each of the channel realizations according to (18), the optimal user group may be determined according to (8) and (10) as in the following expression:




  
    
      
        
          
            
              D
              opt
            
            ⁡
            
              (
              t
              )
            
          
          =
          
            arg
            ⁢
            
              
            
            ⁢
            
              
                max
                
                  
                    D
                    ⊆
                    
                      {
                      
                        1
                        ,
                        
                          
                        
                        ⁢
                        ...
                        ⁢
                        
                          
                        
                        ,
                        K
                      
                      }
                    
                  
                  ,
                  
                    
                      
                      D
                      
                    
                    ≤
                    M
                  
                
              
              ⁢
              
                
                  C
                  D
                
                ⁡
                
                  (
                  t
                  )
                
              
            
          
        
        ,
        
          t
          =
          1
        
        ,
        ...
        ⁢
        
          
        
        ,
        T
        ,
        
          

        
        ⁢
        where
      
    
    
      
        (
        20
        )
      
    
  
  
    
      
        
          
            
              C
              D
            
            ⁡
            
              (
              t
              )
            
          
          =
          
            
              ∑
              
                i
                ∈
                D
              
            
            ⁢
            
              
            
            ⁢
            
              log
              ⁡
              
                (
                
                  1
                  +
                  
                    
                      
                        ξ
                        i
                      
                      ⁡
                      
                        (
                        t
                        )
                      
                    
                    ⁢
                    
                      
                        P
                        i
                      
                      ⁡
                      
                        (
                        t
                        )
                      
                    
                  
                
                )
              
            
          
        
        ,
      
    
    
      
        (
        21
        )
      
    
  




and where ξi(t) and Pi(t) may be as defined in (6) and (9), respectively. Dopt(t) may be represented as a row vector that contains indexes corresponding to the users contained in the optimal group for channel realization t. By representing the index of the optimal users as a random variable X, the vector as in the following expression:

Dopt[Dopt(1),Dopt(2), . . . ,Dopt(T)]  (22)

may contain samples of the random variable X.

In step 256, an estimate of the cumulative distribution function (CDF) {circumflex over (F)}(X) of X may be produced based on samples from the optimal user index vector, X, that was determined in step 254 according to (22).
In step 258, a threshold, ∂thε(0,1], may be selected. The reduced search range may then be determined by the relationship as in the following expression:

L={circumflex over (F)}−1(∂th),  (23)

where {circumflex over (F)}−1(.) is the inverse function of {circumflex over (F)}(.), for example:

X={circumflex over (F)}−1({circumflex over (F)}(X))

The threshold may be a measure of the likelihood that a channel realization, evaluated among the full range of K users, will comprise the subset of L users.

In various embodiments of the invention, expression (23) may be implemented by tabulating the CDF {circumflex over (F)}(X) in terms of the random variable comprising the index of optimal users X, and searching for a value of X that corresponds to ∂th. The threshold ∂th may provide a measure of the statistical likelihood that the sum rate, computed among of subset of L users in the reduced searching range, may approach the optimal performance computed among the full group of K users.
While the exemplary embodiment of the invention illustrates a search range reduction scheme a system that utilizes a simple zero-forcing precoder, the invention is not so limited. Various embodiments of the invention may also be utilized with other more sophisticated precoders, for example a minimum mean squared error (MMSE) precoder, a Tomlinson-Harashima precoding (THP) precoder, or a sphere encoding precoder, for example.
FIG. 3 is a graph 302 illustrating a comparison of sum capacity of a system using an optimal brute force user selection with L=100, a double search algorithm with L=10, and a double search algorithm with L=5, in accordance with an embodiment of the invention. Referring to FIG. 3, there is shown a waveform 304 representing sum capacity of a system using an optimal brute force user selection with L=100, a waveform 306 representing sum capacity of a system using a double search algorithm with L=10, and a waveform 308 representing sum capacity of a system using a double search algorithm with L=5.
Referring to FIG. 3, the graph 302 illustrates comparison of sum capacity of a system for a single base station and K=100 users, for example. The base station, for example, base station 170 may be equipped with M=2 antennas, and each user may be equipped with a single antenna. The channels are generated to be flat Rayleigh faded. The transmit antennas at the base station 170 may be assumed to be placed apart enough so as to experience independent fading. The modulation format may be quadrature phase-shift keying (QPSK).
TABLE 1 illustrates a comparison of user selection schemes and the corresponding search complexity for M=2, K=100.










TABLE 1






Brute force
Double search
Double search


Selection schemes
with L = 100
with L = 10
with L = 5







The number of candidate
5050
17
7


user groups









Referring to TABLE 1, there is shown that the number of candidate user groups may be





  
    L
    ⁡
    
      (
      
        L
        +
        1
      
      )
    
  
  2




for the brute-forcing search algorithm while the double search algorithm may have only 2L−3 candidate user groups.

FIG. 4 is a graph 402 illustrating a comparison of bit error rate (BER) of a system using an optimal brute force user selection with L=100, a double search algorithm with L=10 and a double search algorithm with L=5, in accordance with an embodiment of the invention. Referring to FIG. 4, there is shown a waveform 404 representing BER of a system using an optimal brute force user selection with L=100, a waveform 406 representing BER of a system using a double search algorithm with L=10, and a waveform 408 representing BER of a system using a double search algorithm with L=5.
Referring to FIG. 4, the graph 402 illustrates comparison of BER of a system for a single base station and K=100 users, for example. The base station, for example, base station 170 may be equipped with M=2 antennas, and each user may be equipped with a single antenna. The channels are generated to be flat Rayleigh faded. The transmit antennas at the base station 170 may be assumed to be spaced or separated apart enough so as to experience independent fading. The modulation format may be quadrature phase-shift keying (QPSK).
FIG. 3 and FIG. 4 illustrate performance of various user group selection schemes for zero-forcing precoding in terms of sum capacity and bit error rate (BER), respectively. The double search user group selection scheme with a reduced search range of L=10 or L=5 may provide close to optimal performance of the brute-forcing search scheme with a full search range L=100, both in terms of capacity and BER. The brute-forcing search algorithm may need to search over




  
    L
    ⁡
    
      (
      
        L
        +
        1
      
      )
    
  
  2




user groups for M=2, whereas the double search algorithm may only have 2L−3 candidate user groups. In accordance with an embodiment of the invention, the user selection technique may be capable of achieving near-optimal performance while significantly reducing the computational burden on the base station. Compared to the brute-force user selection algorithm, the selection scheme may significantly reduce the computational complexity from about K2/2 to 2L−1(K>>L), where K represents the number of users.

FIG. 5 is a flowchart illustrating double search user group selection scheme with range reduction in TDD multiuser MIMO downlink transmission, in accordance with an embodiment of the invention. Referring to FIG. 5, there is shown exemplary steps that start at step 502. In step 504, a plurality of signals may be sorted based on a channel gain corresponding to each of the plurality of signals. In step 506, a range reduction algorithm may be applied to the sorted plurality of users. A desired user group may be determined by searching among the L strongest users and may be carried out offline at the system design stage. Notwithstanding, an embodiment of the invention may incorporate an adaptive algorithm to update L at real time with online channel measurements while using the offline calculated user range as the initial value. Based on the reduced search range [1:L], the search may be restricted within the first L strongest users for a user pair [idx1, idx2] that has the maximum instantaneous sum capacity.
In step 508, a first signal for a first user may be selected corresponding to a channel gain that is greater than a channel gain corresponding to a remaining portion of the reduced search range. In step 510, a first system capacity may be maximized based on the channel gain corresponding to the selected first signal for the first user. In step 512, a second signal for a second user corresponding to a channel gain from the remaining portion of the reduced search range may be selected that is greater than a channel gain corresponding to a remaining portion of the remaining portion of the reduced search range. In step 514, a second system capacity may be maximized based on the channel gain corresponding to the selected second signal for the second user. In step 516, the system capacity may be maximized based on a greater of the maximized first system capacity and the maximized second system capacity that may be obtained by searching over all the possible user groups according to




  
    
      
        C
        =
        
          
            max
            
              
                D
                ⊆
                
                  {
                  
                    1
                    ,
                    
                      
                    
                    ⁢
                    ...
                    ⁢
                    
                      
                    
                    ,
                    K
                  
                  }
                
              
              ,
              
                
                  
                  D
                  
                
                ≤
                M
              
            
          
          ⁢
          
            
              C
              D
            
            .
          
        
      
    
    
      
        (
        10
        )
      
    
  




In step 518, a user pair index [idx1, idx2] corresponding to the maximized system capacity may be determined. If both ibx1 and idx2 are valid indices between 1 and K, then the base station 102a (FIG. 1A) may be adapted to communicate to both user idx1 and user idx2 at the same time utilizing spatial multiplexing. The transmitter precoding matrix F may be formed according to the following expression:

F=[vidx2⊥vidx1⊥]*/√{square root over (2)},  (15)

where vectors vidx1 and vidx2 are the unit norm directional vectors given by the following expression:




  
    
      
        
          
            v
            
              idx
              1
            
          
          =
          
            
              h
              
                idx
                1
              
            
            
              
              
                h
                
                  idx
                  1
                
              
              
            
          
        
        ,
        
          
            v
            
              idx
              2
            
          
          =
          
            
              h
              
                idx
                2
              
            
            
              
              
                h
                
                  idx
                  2
                
              
              
            
          
        
        ,
      
    
    
      
        (
        16
        )
      
    
  




If idx2 is equal to 0, the base station 102a may be communicating only to the strongest user or the idxth1 user providing better sum capacity than using spatial multiplexing. The precoding matrix F may be chosen using the following expression:

F=vidx1*  (17)

The double search user group selection scheme with a reduced search range of L=10 or L=5 may provide close to optimal performance of the brute-forcing search scheme with a full search range L=100, both in terms of capacity and BER. The brute-forcing search algorithm may need to search over




  
    L
    ⁡
    
      (
      
        L
        +
        1
      
      )
    
  
  2




user groups for M=2, whereas the double search algorithm may only have 2L−3 candidate user groups.

In accordance with an embodiment of the invention, a system for processing signals in a communication system may comprise circuitry that maximizes system capacity based on reducing a search range within which to find a group of signals having maximum channel gain, for a time division duplex (TDD) multiple-input multiple-output (MIMO) system. For a time division duplex (TDD) system, the base station 102a (FIG. 1A) may be adapted to estimate the uplink channel and use it as the downlink channel based on the channel reciprocity property between the uplink and downlink. The base station 102a may be assumed to have channel knowledge of every user through accurate uplink channel estimation.
The system may further comprise circuitry that selects at least one of: a first signal for a first user and a second signal for a second user, which are both within the reduced search range, and which provides a maximum system capacity. The system further comprises circuitry that selects from the reduced search range, the first signal for the first user corresponding to a channel gain that is greater than a channel gain corresponding to a remaining portion of the reduced search range. The system further comprises circuitry that selects from the remaining portion of the reduced search range, the second signal for the second user corresponding to a channel gain that is greater than a channel gain corresponding to a remaining portion of the remaining portion of the reduced search range.
The system further comprises circuitry that generates the reduced search range by sorting a plurality of signals based on a channel gain corresponding to each of the plurality of signals. A desired user group may be determined by searching among the L strongest users and may be carried out offline at the system design stage. Notwithstanding, an embodiment of the invention may incorporate an adaptive algorithm that updates L in real time, accordingly, or at a specified time instant, with online channel measurements while using the offline calculated user range as the initial value. Based on the reduced search range [1:L], the search may be restricted within the first L strongest users for a user pair [idx1, idx2] that has the maximum instantaneous sum capacity.
The user scheduler 108a may be adapted to maximize a first system capacity based on the channel gain corresponding to the selected first signal for the first user. The user scheduler 108a may be adapted to maximize a second system capacity based on the channel gain corresponding to the selected second signal for the second user. The maximized system capacity is based on a greater of the maximized first system capacity and the maximized second system capacity. A user pair index [idx1, idx2] corresponding to the maximized system capacity may be determined.
Another embodiment of the invention may provide a machine-readable storage, having stored thereon, a computer program having at least one code section executable by a machine, thereby causing the machine to perform the steps as described above for a double search user group selection scheme with range reduction in TDD multiuser MIMO downlink transmission.
Accordingly, the present invention may be realized in hardware, software, or a combination of hardware and software. The present invention may be realized in a centralized fashion in at least one computer system, or in a distributed fashion where different elements are spread across several interconnected computer systems. Any kind of computer system or other apparatus adapted for carrying out the methods described herein is suited. A typical combination of hardware and software may be a general-purpose computer system with a computer program that, when being loaded and executed, controls the computer system such that it carries out the methods described herein.
The present invention may also be embedded in a computer program product, which comprises all the features enabling the implementation of the methods described herein, and which when loaded in a computer system is able to carry out these methods. Computer program in the present context means any expression, in any language, code or notation, of a set of instructions intended to cause a system having an information processing capability to perform a particular function either directly or after either or both of the following: a) conversion to another language, code or notation; b) reproduction in a different material form.
While the present invention has been described with reference to certain embodiments, it will be understood by those skilled in the art that various changes may be made and equivalents may be substituted without departing from the scope of the present invention. In addition, many modifications may be made to adapt a particular situation or material to the teachings of the present invention without departing from its scope. Therefore, it is intended that the present invention not be limited to the particular embodiment disclosed, but that the present invention will include all embodiments falling within the scope of the appended claims.

## Claims

1. A method for processing signals in a communication system, the method comprising:
performing by one or more processors and/or circuits:
reducing a search range within which to find a group of signals having maximum channel gain, wherein a capacity of said system is maximized based on said reduced search range.

2. The method according to claim 1, wherein said system is a time division duplex (TDD) multiple-input multiple-output (MIMO) system.

3. The method according to claim 1, comprising selecting one or both of:
a first signal for a first user and/or a second signal for a second user, which are both within said reduced search range, and which provides a maximized system capacity.

4. The method according to claim 3, comprising selecting from said reduced search range, said first signal for said first user corresponding to a channel gain that is greater than a channel gain corresponding to a remaining portion of said reduced search range.

5. The method according to claim 4, comprising selecting from said remaining portion of said reduced search range, said second signal for said second user corresponding to a channel gain that is greater than a channel gain corresponding to a remaining portion of said remaining portion of said reduced search range.

6. The method according to claim 3, comprising generating said reduced search range by sorting a plurality of signals based on a channel gain corresponding to each of said plurality of signals.

7. The method according to claim 3, comprising maximizing a first system capacity based on said channel gain corresponding to said selected first signal for said first user.

8. The method according to claim 7, comprising maximizing a second system capacity based on said channel gain corresponding to said selected second signal for said second user.

9. The method according to claim 8, wherein said maximized system capacity is based on a greater of said maximized first system capacity and said maximized second system capacity.

10. The method according to claim 1, comprising adaptively updating said reduced search range in real time.

11. A system for processing signals in a communication system, the system comprising:
one or more circuits that are operable to reduce a search range within which to find a group of signals having maximum channel gain, wherein a capacity of said system is maximized based on said reduced search range.

12. The system according to claim 11, wherein said system is a time division duplex (TDD) multiple-input multiple-output (MIMO) system.

13. The system according to claim 11, wherein said one or more circuits are operable to select one or both of: a first signal for a first user and/or a second signal for a second user, which are both within said reduced search range, and which provides a maximized system capacity.

14. The system according to claim 13, wherein said one or more circuits are operable to select from said reduced search range, said first signal for said first user corresponding to a channel gain that is greater than a channel gain corresponding to a remaining portion of said reduced search range.

15. The system according to claim 14, wherein said one or more circuits are operable to select from said remaining portion of said reduced search range, said second signal for said second user corresponding to a channel gain that is greater than a channel gain corresponding to a remaining portion of said remaining portion of said reduced search range.

16. The system according to claim 13, wherein said one or more circuits are operable to generate said reduced search range by sorting a plurality of signals based on a channel gain corresponding to each of said plurality of signals.

17. The system according to claim 13, wherein said one or more circuits are operable to maximize a first system capacity based on said channel gain corresponding to said selected first signal for said first user.

18. The system according to claim 17, wherein said one or more circuits are operable to maximize a second system capacity based on said channel gain corresponding to said selected second signal for said second user.

19. The system according to claim 18, wherein said maximized system capacity is based on a greater of said maximized first system capacity and said maximized second system capacity.

20. The system according to claim 11, wherein said one or more circuits are operable to adaptively update said reduced search range in real time.