Abstract:
To optimize the selection of pre-coding vectors in a multi-user MIMO system, the present invention provides a method for selecting pre-coding vectors in a base station, comprising the steps of: transmitting a plurality of pilot signals without being precoded to the plurality of terminals; receiving a plurality of feedback signals from the plurality of terminals, wherein at least one feedback signal includes a plurality of recommended pre-coding vector information and a plurality of channel status information, and each of the channel status information corresponds to a recommended pre-coding vector information; generate a pre-coding codebook based on the plurality feedback signals, wherein at least one pre-coding vector in the pre-coding codebook is determined based on a correlation coefficient between at least two recommended pre-coding vectors; and performing a transmission operation using the pre-coding codebook. Through considering the correlation among pre-coding vectors and different channel status information corresponding to different pre-coding vectors, be used to extend the selection range of pre-coding vectors and improve the total transmission rate of the whole system and system capacity.

Description:
FIELD OF THE INVENTION 
       [0001]    The present invention relates to a multi-user multi-input multi-output (MIMO) communication system, and more particularly to a method and apparatus for selecting pre-coding vectors in a multi-user MIMO communication system. 
       BACKGROUND OF THE INVENTION 
       [0002]    A next generation communication system aims at providing high rate data transmission, high spectrum utilization and large system capacity. The MIMO technique has been focused on and researched for several years, since it proved to be capable of improving the data transmission rate and system capacity dramatically. However, in a multi-user MIMO system, since techniques of joint detection, spatial code, etc. could not be used together with user terminals because antennas between different users are independent from each other, it is needed to transfer information about channel characteristics acquired by each terminal to the (?) network, so that techniques, such as the multi-user interference technique, could be further adopted in base stations. 
         [0003]    However, in practice, since the bandwidth of a feedback channel between a terminal and a base station is limited and thus limits the amount of feedback information, there is a need for a method such that, in the case of limited feedback and user selection diversity, the base station could acquire exact information on channel characteristics etc. known by each terminal, thus enabling, for different channel characteristics of different users, to improve the data transmission rate and system capacity etc. through optimizing the selection of pre-coding vectors. 
         [0004]    For optimizing the selection of pre-coding vectors, a method for per-user unitary rate control (PU2RC) has been proposed in a Patent Application with Serial No. EP1699145A2, entitled “Beam and power allocation method for MIMO communication system”, filed in March, 2006 by SAMSUNG Company. However, there is a limitation in PU2RC, i.e. that the pre-coding codebook used by a base station must be a unitary matrix, i.e., any two pre-coding vectors in the pre-coding codebook should be orthogonal to each other, so that the selection range of pre-coding vectors is limited, thus resulting in that the pre-coding codebook selected in most cases could only meet requirements of partial users for transmission rate and signal-noise ratio at the cost of other users&#39; performance. Consequently, the total data transmission rate and total system capacity of the system as a whole are further limited. 
         [0005]    Therefore, there is a need to propose a method that is capable of improving the total data transmission rate and total system capacity of a system through further optimizing the selection of pre-coding vectors. 
       OBJECT AND SUMMARY OF THE INVENTION 
       [0006]    An object of the invention is to provide a method of recommending pre-coding vectors, which could feed back channel informations acquired by each terminal and desired pre-coding vectors to base stations. 
         [0007]    Another object of the invention is to provide a method for data transmission, which serves to optimize the selection of pre-coding vectors in base stations based on the information fed back by each terminal so as to improve the total system performance. 
         [0008]    For optimizing the selection of pre-coding vectors in a multi-user MIMO system, according to an embodiment of the invention, there is provided a method of recommending pre-coding vectors that is performed in a terminal, the method including: calculating a channel response matrix using a plurality of received signals, wherein each element of the channel response matrix describes a channel status response of a channel between the terminal and a corresponding base station; calculating a plurality of channel status informations using a predefined pre-coding codebook and the channel response matrix, wherein each of the plurality of channel status informations corresponds to a pre-coding vector in the predefined pre-coding codebook; selecting a plurality of pre-coding vectors from the predefined pre-coding codebook as a recommended pre-coding codebook, using the correlation between the pre-coding vectors of the predefined pre-coding codebook and the plurality of channel status informations; and generating a feedback signal based on the recommended pre-coding codebook and the corresponding plurality of channel status informations, and transmitting the feedback signal to the base station, wherein each of the channel status informations corresponds to a recommended pre-coding vector in the recommended pre-coding codebook. 
         [0009]    According to an embodiment of the invention, there is provided a method of transmitting data in a multi-user MIMO system, which comprises a base station and a plurality of terminals, the method comprising the steps of: receiving a plurality of feedback signals from the plurality of terminals, wherein at least one feedback signal includes a plurality of recommended pre-coding vector informations and a plurality of channel status informations (CSI), each of the channel status informations corresponding to a recommended pre-coding vector information, and each of the recommended pre-coding vector informations being used for determining a corresponding pre-coding vector in a predefined pre-coding codebook as a recommended pre-coding vector; generating a pre-coding codebook based on the plurality of feedback signals, wherein at least one pre-coding vector in the pre-coding codebook is determined based on a correlation coefficient between at least two recommended pre-coding vectors; and performing the transmission operation using the pre-coding codebook. 
         [0010]    Alternatively, the step of generating a pre-coding codebook further includes the steps of: selecting a maximum channel status information from all the channel status informations; determining a pre-coding vector and a terminal corresponding to the maximum channel status information and a transmitting antenna corresponding to the determined pre-coding vector and the determined terminal, so as to allocate the determined pre-coding vector to the transmitting antenna; for each of the other channel status informations, performing a weighting operation on the channel status information, based on the correlation coefficient between the determined pre-coding vector and a pre-coding vector corresponding to the channel status information, to acquire a corresponding weighted channel status information; selecting a maximum weighted channel status information from all the weighted channel status informations; and determining a pre-coding vector and a terminal corresponding to the maximum weighted channel status information, so as to allocate the newly determined pre-coding vector to the terminal. 
         [0011]    Alternatively, the method further includes the following steps: for each weighted channel status information generated in the previous weighting step, performing a weighting operation on the weighted channel status information, according to the correlation coefficient between a determined pre-coding vector determined in the previous determining step and a pre-coding vector corresponding to the weighted channel status information, to update the weighted channel status information; selecting a maximum weighted channel status information from all the weighted channel status informations that have been updated; and determining a pre-coding vector and a terminal corresponding to the maximum weighted channel status information and a transmitting antenna corresponding to the terminal, so as to allocate the determined pre-coding vector to the transmitting antenna. 
         [0012]    The basic concept of the invention is: in a base station, to try to select the pre-coding vectors having the best(?) correlation, using correlation characteristics between pre-coding vectors and different channel characteristics obtained by a plurality of terminals, to form a pre-coding codebook enabling data to be transmitted to be pre-coding vector modulated. Unlike the method proposed in EP 1699145A2, the above pre-coding codebook is not generated by selecting pre-coding vectors merely through the comparison of the magnitudes of channel responses, but rather by selecting a plurality of pre-coding vectors that correspond to larger channel responses and have better correlation with each other, taking into account the correlation characteristics between pre-coding vectors and the magnitudes of the corresponding channel responses. The method of the invention does not need any two pre-coding vectors in the pre-coding codebook being strictly orthogonal with each other, so as to widen the selection range of pre-coding vectors, take different users&#39; needs into account sufficiently, and improve the total data transmission rate and total system capacity of a system. 
         [0013]    Alternatively, in terminals, a weighting operation is performed on measured channel responses of different channels using the correlation characteristics between a plurality of pre-coding vectors, so as to generate a recommended pre-coding codebook. Unlike the method proposed in EP1699145A2, the recommended pre-coding codebook is not generated by recommending pre-coding vectors merely through the comparison of the magnitudes of a plurality of channel responses, but rather by recommending, in connection with the correlation characteristics between pre-coding vectors and corresponding channel responses, pre-coding vectors that correspond to larger channel responses and have a better correlation with each other. 
         [0014]    These and other aspects and effects of the invention will be more apparent and easy to understand through the following description in connection with the drawings and the claims. 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         [0015]      FIG. 1  illustrates a flow chart of generating a recommended pre-coding codebook in a terminal according to an embodiment of the invention; 
           [0016]      FIG. 2  illustrates a detailed flow chart of the step of recommending according to an embodiment of the invention; 
           [0017]      FIG. 3  illustrates a flow chart of generating a pre-coding codebook in a base station according to an embodiment of the invention; 
           [0018]      FIG. 4  illustrates a detailed flow chart of the step of generating a pre-coding codebook according to an embodiment of the invention; 
           [0019]      FIG. 5  illustrates a block diagram of a terminal according to an embodiment of the invention; and 
           [0020]      FIG. 6  illustrates a block diagram of a base station according to an embodiment of the invention. 
       
    
    
       [0021]    In all Figures, the same or similar reference numbers refer to the same or similar functions and features. 
       DETAILED DESCRIPTION OF THE INVENTION 
       [0022]      FIG. 1  illustrates a flow chart of a method of generating recommended pre-coding vectors that is performed in a terminal according to an embodiment of the invention. In the method  100 , first, at step S 110 , the terminal receives a plurality of signals from a base station, measures channel responses corresponding to a plurality of channels that are used for transmitting the plurality of signals, and generates a channel response matrix. Each element of the channel response matrix represents the channel response of the transmission channel between a receiving antenna of the terminal and a transmitting antenna of a corresponding base station. 
         [0023]    At step S 120 , the terminal extracts a pre-coding vector each time from a known predefined pre-coding codebook, and calculates a channel status information corresponding to the pre-coding vector, using the channel response matrix obtained at step S 110 . After traversing all the pre-coding vectors in the predefined pre-coding codebook, the terminal obtains different channel status information corresponding to different pre-coding vectors. The channel status information may be a signal-noise ratio SNR, a signal-interference ratio SINR, or a channel quality indicator CQI. The channel status information may be calculated according to the equation 
         [0000]    
       
         
           
             
               
                 C 
                  
                 
                     
                 
                  
                 S 
                  
                 
                     
                 
                  
                 
                   I 
                   i 
                 
               
               = 
               
                 
                   
                     t 
                     i 
                     H 
                   
                    
                   
                     H 
                     H 
                   
                    
                   
                     Ht 
                     i 
                   
                 
                 
                   
                     
                       ∑ 
                       
                         j 
                         ∈ 
                         
                           φ 
                           i 
                         
                       
                     
                      
                     
                       
                         t 
                         j 
                         H 
                       
                        
                       
                         H 
                         H 
                       
                        
                       
                         Ht 
                         j 
                       
                     
                   
                   + 
                   
                     N 
                     0 
                   
                 
               
             
             , 
             
                 
             
              
             
               i 
               = 
               
                 { 
                 
                   1 
                   , 
                   … 
                    
                   
                       
                   
                   , 
                   M 
                 
                 } 
               
             
             , 
           
         
       
     
         [0000]    wherein, t i  represents the i th pre-coding vector in the predefined pre-coding codebook T={t 1 ,t 2 , . . . t M }, H represents the channel response matrix, φ i  represents a set composed of the pre-coding vectors in the predefined pre-coding codebook other than t i , N 0  represents a noise variance of a channel, and CSI 1  represents the channel status information corresponding to the pre-coding vector t i . 
         [0024]    At step S 130 , a recommended pre-coding codebook is generated using the correlation characteristics between pre-coding vectors and corresponding channel status information, wherein, each of the recommended pre-coding vectors is a pre-coding vector in the predefined pre-coding codebook. 
         [0025]    At step S 140 , the terminal transmits the recommended pre-coding codebook and the corresponding channel status information to the base station, wherein, each of the channel status informations corresponds to a recommended pre-coding vector. Alternatively, each of the recommended pre-coding vectors themselves may be transmitted back to the base station, or the index number of the recommended pre-coding vector in the predefined pre-coding codebook may be transmitted back to the base station for saving bandwidth. 
         [0026]      FIG. 2  illustrates a flow chart of the method of generating the recommended pre-coding codebook at step S 130  according to an embodiment of the invention. First, at step S 120 , a channel status information having the largest value is selected from a plurality of channel status informations. At step S 220 , a corresponding pre-coding vector is found, through the corresponding relation between a channel status information and a pre-coding vector, as a first recommended pre-coding vector to be added to the recommended pre-coding codebook. At step S 230 , a weighting operation is performed on the other channel status informations, using the correlation characteristics between different pre-coding vectors, so as to obtain a plurality of weighted channel status informations. Alternatively, the weighting operation may follow the equation CSI current (i)=f(e i ,e j ) α CSI previous (i) β , wherein, f(e i ,e j ) is the correlation coefficient between the pre-coding vectors e i  and e j , the pre-coding vector e j  is the first recommended pre-coding vector, the pre-coding vector e i  is the pre-coding vector corresponding to the channel status information, CSI previous (i) is the channel status information, CSI current (i) is the weighted channel status information. The correlation coefficient may be calculated according to the equation 
         [0000]    
       
         
           
             
               
                 f 
                  
                 
                   ( 
                   
                     
                       e 
                       i 
                     
                     , 
                     
                       e 
                       j 
                     
                   
                   ) 
                 
               
               = 
               
                 
                   1 
                   - 
                   
                     
                        
                       
                         
                           
                             e 
                             i 
                             H 
                           
                            
                           
                             e 
                             j 
                           
                         
                         
                           
                              
                             
                               e 
                               i 
                             
                              
                           
                           · 
                           
                              
                             
                               e 
                               j 
                             
                              
                           
                         
                       
                        
                     
                     2 
                   
                 
               
             
              
             
                 
             
           
         
       
       
         
           or 
         
       
       
         
           
             
               f 
                
               
                 ( 
                 
                   
                     e 
                     i 
                   
                   , 
                   
                     e 
                     j 
                   
                 
                 ) 
               
             
             = 
             
               1 
               - 
               
                 
                    
                   
                     
                       
                         e 
                         i 
                         H 
                       
                        
                       
                         e 
                         j 
                       
                     
                     
                       
                          
                         
                           e 
                           i 
                         
                          
                       
                       · 
                       
                          
                         
                           e 
                           j 
                         
                          
                       
                     
                   
                    
                 
                 . 
               
             
           
         
       
     
         [0000]    At step S 240 , a maximum weighted channel status information is selected from a plurality of weighted channel status informations, and at step S 250 , a corresponding pre-coding vector is determined as a new recommended pre-coding vector to be added to the recommended pre-coding codebook. At step S 260 , it is determined whether the recommending step has been completed under predefined criteria, if not, reversion to step S 230  takes place, otherwise, there is proceeded to step S 140 . The predefined criteria may be whether a predefined number of pre-coding vectors have been recommended, or whether the channel status information other than the channel status information corresponding to the recommended pre-coding vectors is larger than a predefined threshold, so that there is a need to continue recommending, etc. During the cycles composed of S 230 , S 240  and S 250 , in the equation CSI current (i)=f(e i ,e j ) α CSI previous (i) β , CSI previous (i) may also represent a weighted channel status information before the current weighting step, and CSI current (i) may also represent a weighted channel status information obtained in the current weighting step. 
         [0027]    Through the embodiment of  FIGS. 1 and 2 , the terminal could generate a recommended pre-coding codebook including a plurality of recommended pre-coding vectors, and transmit the pre-coding codebook and corresponding channel status information to the base station, so that the base station could optimize the selection of pre-coding vectors. In comparison, the method proposed in EP1699145A2 determines the best suitable pre-coding vector for the terminal only by comparing the magnitudes of signal-noise ratios. 
         [0028]      FIG. 3  illustrates a flow chart of a method of transmitting data by optimizing the selection of pre-coding vectors that is performed in a base station according to an embodiment of the invention. In method  300 , first, at step S 310 , a plurality of signals is transmitted from the base station to a plurality of terminals, wherein each of the signals may be a pilot signal or a signal including a pilot signal. The base station does not perform a preceding operation on the pilot signal or the pilot portion, for the terminal measures a corresponding channel response by evaluating received pilot signals. At step S 320 , the base station receives a plurality of feedback signals from the plurality of terminals, wherein at least one of the feedback signals includes a plurality of recommended pre-coding vectors and a plurality of corresponding channel status informations. Alternatively, the recommended pre-coding vectors included in the feedback signals may be pre-coding vectors or the index numbers of the pre-coding vectors in a predefined pre-coding codebook that can be used for determining corresponding pre-coding vectors. At step S 330 , the base station generates a pre-coding codebook, using the correlation characteristics between the recommended pre-coding vectors that are obtained or meet predefined criteria. Each pre-coding vector of the pre-coding codebook is a recommended pre-coding vector in the recommended pre-coding codebook transmitted from the terminal, and the determining procedure of the pre-coding vector utilizes the correlation characteristics between the recommended pre-coding vectors and the corresponding channel status information. After the pre-coding codebook is obtained, the base station performs a transmission operation on subsequent signals, using (?) the pre-coding codebook at step S 340 . 
         [0029]      FIG. 4  illustrates a flow chart of a method of generating a pre-coding codebook according to an embodiment of the invention. Firstly, at step S 330 , the base station selects the maximum channel status information from all the received channel status informations at step S 410 . At step S 420 , the base station determines a pre-coding vector and a corresponding terminal corresponding to the maximum channel status information, and a transmitting antenna corresponding to the determined pre-coding vector and the determined terminal, so as to allocate the determined pre-coding vector to the transmitting antenna. At step S 430 , for each of the other channel status informations, the base station performs a weighting operation on the channel status information, based on the correlation coefficient between the determined pre-coding vector and a pre-coding vector corresponding to the channel status information, to acquire corresponding weighted channel status information. The weighting operation may follow the equation CSI current (i)=f(e i ,e j ) α CSI previous (i) β , wherein, f(e i ,e j ) is the correlation coefficient between the pre-coding vectors e i  and e j , the pre-coding vector e j  is the determined pre-coding vector, the pre-coding vector e i  is the pre-coding vector corresponding to the channel status information, CSI previous (i) is the channel status information, CSI current (i) is the weighted channel status information. The correlation coefficient may be calculated according to the equation 
         [0000]    
       
         
           
             
               
                 f 
                  
                 
                   ( 
                   
                     
                       e 
                       i 
                     
                     , 
                     
                       e 
                       j 
                     
                   
                   ) 
                 
               
               = 
               
                 
                   1 
                   - 
                   
                     
                        
                       
                         
                           
                             e 
                             i 
                             H 
                           
                            
                           
                             e 
                             j 
                           
                         
                         
                           
                              
                             
                               e 
                               i 
                             
                              
                           
                           · 
                           
                              
                             
                               e 
                               j 
                             
                              
                           
                         
                       
                        
                     
                     2 
                   
                 
               
             
              
             
                 
             
           
         
       
       
         
           or 
         
       
       
         
           
             
               f 
                
               
                 ( 
                 
                   
                     e 
                     i 
                   
                   , 
                   
                     e 
                     j 
                   
                 
                 ) 
               
             
             = 
             
               1 
               - 
               
                 
                    
                   
                     
                       
                         e 
                         i 
                         H 
                       
                        
                       
                         e 
                         j 
                       
                     
                     
                       
                          
                         
                           e 
                           i 
                         
                          
                       
                       · 
                       
                          
                         
                           e 
                           j 
                         
                          
                       
                     
                   
                    
                 
                 . 
               
             
           
         
       
     
         [0000]    Thereafter, the base station selects, at step S 440 , a maximum weighted channel status information from all the weighted channel status informations, and determines, at step S 450 , a pre-coding vector and a corresponding terminal corresponding to the maximum weighted channel status information and a transmitting antenna corresponding to the determined pre-coding vector and the determined terminal, so as to allocate the determined pre-coding vector to the transmitting antenna. At step S 460 , it is determined whether sufficient determined pre-coding vectors have been obtained so as to form a pre-coding codebook. If not, reversion to step S 430  takes place; otherwise, the pre-coding codebook is generated and there is proceeded to step S 340 . During the cycles composed of S 430 , S 440  and S 450 , in the equation CSI current (i)=f(e i ,e j ) α CSI previous (i) β , CSI previous (i) may also represent a weighted channel status information before the current weighting step, CSI current (i) may also represent a weighted channel status information obtained in the current weighting step, the pre-coding vector e j  is the determined pre-coding vector that is determined by the operation in the previous cycle, and the pre-coding vector e i  is the pre-coding vector corresponding to the channel status information in the current weighting operation. 
         [0030]    Unlike the method proposed in EP1699145A2, the pre-coding codebook obtained through the embodiment in  FIGS. 3 and 4  may be a unitary matrix in which any two pre-coding vectors are orthogonal to each other, or a non-unitary matrix, with the correlation coefficient being smaller than 1, in which there are two pre-coding vectors that are not strictly orthogonal to each other. Through the method of the embodiment in  FIGS. 3 and 4 , a pre-coding codebook, which has a better correlation (i.e., the correlation coefficient is large) and the corresponding channel status response is also large, could be selected, so that each antenna could be allocated to a suitable pre-coding vector, the corresponding terminal may obtain a higher data transmission rate, and further the total data transmission rate and system capacity obtained by the system may be higher. 
         [0031]    For utilizing the method of the invention,  FIG. 5  illustrates a block diagram of a terminal according to an embodiment of the invention. The terminal  500  includes a receiver  510 , an evaluator  520 , a calculator  530 , a recommending unit  540 , and a transmitter  550 . The receiver  510  is configured to receive a plurality of signals from a base station. The evaluator  520  is configured to evaluate a channel response matrix corresponding to the plurality of received signals, wherein, each element of the channel response matrix is used for representing a channel response of a channel corresponding to a signal. The calculator  530  is configured to calculate a plurality of channel status informations, wherein each of the channel status informations corresponds to a pre-coding vector in the predefined pre-coding codebook. The recommending unit  540  is configured to generate a recommended pre-coding codebook based on the correlation coefficients between pre-coding vectors and the corresponding channel status information, wherein each recommended pre-coding vector is a pre-coding vector in the predefined pre-coding codebook. The transmitter  550  is configured to transmit the recommended pre-coding codebook and a plurality of corresponding channel status informations to the base station. 
         [0032]    The calculator  530  includes: a first selector  532  for selecting a pre-coding vector from the predefined pre-coding codebook; and a channel status information calculator  534  for calculating a channel status information. 
         [0033]    The recommending unit  540  includes: a second selector  542 , a determining unit  544 , a generator  546  and a weighting device  548 . The second selector  542  is configured to select maximum channel status information. The determining unit  544  is configured to determine a pre-coding vector corresponding to the maximum channel status information. The generator  546  is configured to add the pre-coding vector selected by the determining unit to the recommended pre-coding codebook. The weighting device  548  is configured to perform a weighting operation on the plurality of channel status informations, which weighting device further comprises: a correlation coefficient calculator  5481  for calculating the correlation coefficient between two pre-coding vectors; and a multiplier  5482  for multiplying the correlation coefficient with corresponding channel status information to update the corresponding channel status information. 
         [0034]    For utilizing the method of the invention,  FIG. 6  illustrates a block diagram of a base station according to an embodiment of the invention. The base station  600  includes a receiver  610 , a generator  620  and a transmitter  630 . The receiver  610  is configured to receive a plurality of feedback signals from a plurality of terminals, wherein, at least one feedback signal includes a plurality of recommended pre-coding vectors and a plurality of corresponding channel status informations. The generator  620  is configured to generate a pre-coding codebook based on the plurality of feedback signals, wherein at least one pre-coding vector in the pre-coding codebook is determined based on a correlation coefficient between at least two recommended pre-coding vectors. The transmitter  630  is configured to perform transmission operations using the pre-coding codebook. The transmitter  630  is further configured to transmit signals without being pre-coding vectored. 
         [0035]    The generator  620  further includes a selector  622 , a determining unit  624 , an allocator  626  and a weighting device  628 . The selector  622  is configured to select maximum channel status information from the plurality of channel status informations. The determining unit  624  is configured to determine a pre-coding vector and a terminal corresponding to the maximum channel status information, and a corresponding transmitting antenna. The allocator  626  is configured to allocate the determined pre-coding vector to the determined transmitting antenna. The weighting device  628  is configured to perform a weighting operation on the plurality of channel status informations, which weighting device further comprises: a correlation coefficient calculator  6281  for calculating a correlation coefficient between two pre-coding vectors; and a multiplier  6282  for multiplying the correlation coefficient with corresponding channel status information to update the corresponding channel status information. 
         [0036]    It will be appreciated by those skilled in the art that various modifications are possible to the method and apparatus thereof provided in various embodiments of the invention without departing from the spirit or scope of the invention. Therefore, the scope of the invention is limited only by the appended claims.