# Patent

## Title
Method and system for precoding data

## Abstract

The present disclosure relates to channel state feedback in a communication system. The method includes obtaining a reference signal from an access point; deriving a rank indication, a codebook subset selection indication and a precoding matrix index based on the obtained reference signal; sending a first feedback message conveying the rank indication and the codebook subset selection indication, and sending a second feedback message conveying the precoding matrix index, to the access point; and receiving, from the access point, data precoded by a matrix derived based on the rank indication, the codebook subset selection indication and the precoding matrix index.

## Background
CROSS-REFERENCE TO RELATED APPLICATION
This application is a continuation of U.S. patent application Ser. No. 14/547,883, filed on Nov. 19, 2014. U.S. patent application Ser. No. 14/547,883 is a continuation of U.S. patent application Ser. No. 14/157,597, filed on Jan. 17, 2014, which is a continuation of U.S. patent application Ser. No. 13/603,441, filed on Sep. 5, 2012. U.S. patent application Ser. No. 13/603,441 is a continuation of International Patent Application No. PCT/CN2010/076383, filed on Aug. 26, 2010. The afore-mentioned patent applications are hereby incorporated by reference in their entireties.


TECHNICAL FIELD
The present invention relates to communication technologies, and in particular, to a method and system for precoding data.
BACKGROUND
In Multiple Input Multiple Output (MIMO) Orthogonal Frequency Division Multiplexing Access (OFDMA) cellular systems, closed-loop MIMO precoding is defined to enable high throughput downlink transmissions to fixed and nomadic user terminals. Feedback information is obtained by a transmitting device via a report of a precoding matrix index (PMI) from a receiving device. This PMI is used to represent a matrix in a codebook (a codebook is a set of matrices), and the PMI is used by the transmitting device to derive a downlink precoder. While the concepts of “transmitting device” and “receiving device” are relevant to each other, in the scenarios involved in this application, the transmitting device may be in a form of a network entity, such as a base station, an evolved NodeB (eNB) or an access point. The receiving device may be in a form of a user equipment (UE), such as a mobile device, a cellular telephone, a wireless enabled personal digital assistant (PDA), a wireless enabled laptop computer, or other such devices. However, it is noted that the present application is not limited by these scenarios.
Simple codebook structures are used in the first generation of MIMO OFDMA systems, such that the PMI can be represented in a few bits. Small codebooks can be used to achieve a coarse quantization of a spatial channel For example, a 4-bit codebook is defined and a 4-bit PMI can be reported via a capacity-limited feedback channel called Physical uplink control channel (PUCCH). Precoding matrices are defined for each possible transmission rank, where the transmission rank determines the size of the precoding matrix. The overall codebook is a set of matrices for each rank. The feedback report thus includes a rank indication (RI) and a PMI in the codebook subset of the given rank. Since the rank of the propagation channel varies slowly in comparison with fast fading over which the PMI is adapted, the rank indication is reported with a longer period than the PMI.
Since the RI remains valid during several reports of the PMI, it can be encoded with a better error protection code in order to ensure that consecutive PMI reports are not invalidated by one erroneous RI report. In general, this is naturally ensured by the fact that the rank can take values in a limited range, such as {1, 2, 3, 4} in LTE (Long Term Evolution) system Rel-8, due to the limitation to a maximum of 4 antennas at the transmitting device and 4 antennas at the receiving device. Thus the RI can be represented by 2 bits. Since the PMI is in general reported along with a channel quality indication (CQI) that represents the channel quality, assuming that the transmitting device precodes data with the reported PMI, the total size of the feedback message that contains the PMI+CQI is larger than the 4 bits used to represent just the PMI. For example, in LTE Rel-8, the message size will be 8 to 11 bits with one to two CQIs, respectively. The PUCCH is transmitted in a fixed-size time-frequency resource with a fixed modulation. The 2 bits of RI that are reported individually are better protected than the 8 or 11 bits of PMI and CQI that are jointly reported, since the 2 bits of RI enjoy a lower error-correction encoding rate.
SUMMARY
According to a first aspect of the present invention, a method for precoding data in a wireless communication system is provided. The method includes the following:
receiving, by a receiving device, a reference signal from a transmitting device;
deriving, by the receiving device, a rank indication, a codebook index n1 in a first codebook C1, codebook indices k1 and k2 in a second codebook C2, a wideband channel quality indicator CQI1 and a subband channel quality indicator CQI2, based on the received reference signal;
sending, by the receiving device, the rank indication, the codebook index n1 in the first codebook C1, the codebook indices k1 and k2 in the second codebook C2, the wideband channel quality indicator CQI1 and the subband channel quality indicator CQI2, to the transmitting device; and
receiving, by the receiving device, data precoded by a first precoder from the transmitting device. The first precoder is determined by the transmitting device based on the rank indication and the indices n1, k1 and k2.
According to a second aspect of the invention, a receiving device is provided. The receiving device includes the following:
a receiver, configured to receive a reference signal from a transmitting device;
a processor, configured to derive a rank indication, a codebook index n1 in a first codebook C1 and codebook indices k1 and k2 in a second codebook C2, a wideband channel quality indicator CQI1 and a subband channel quality indicator CQI2 based on the reference signal; and
a transmitter, configured to send the rank indication, the codebook index n1 in the first codebook C1, the codebook indices k1 and k2 in the second codebook C2, the wideband channel quality indicator CQI1 and the subband channel quality indicator CQI2 to the transmitting device.
Further, the receiver is configured to receive, from the transmitting device, data precoded by a first precoder. The first precoder is determined by the transmitting device based on the rank indication and the indices n1, k1 and k2.
The above receiving device may be a user equipment (UE) such as a mobile device, a cellular telephone, a wireless enabled personal digital assistant (PDA), or a wireless enabled laptop computer.
According to a third aspect of the invention, another method for precoding data in a wireless communication system is provided. The method includes the following:
receiving, by a transmitting device, a rank indication, a codebook index n1 in a first codebook C1, codebook indices k1 and k2 in a second codebook C2, a wideband channel quality indicator CQI1 and a subband channel quality indicator CQI2 from a receiving device;
determining, by the transmitting device, a first precoder based on the rank indication and the indices n1, k1 and k2;
precoding, by the transmitting device, data to be sent to the receiving device using the first precoder; and
sending, by the transmitting device, the precoded data to the receiving device.
According to a fourth aspect of the invention, a transmitting device is provided. The transmitting device includes the following:
a receiver, configured to receive a rank indication, a codebook index n1 in a first codebook C1, codebook indices k1 and k2 in a second codebook C2, a wideband channel quality indicator CQI1 and a subband channel quality indicator CQI2 from a receiving device; a processor, configured to determine a first precoder based on the rank indication and the indices n1, k1 and k2, and precode data to be sent to the receiving device using the first precoder; and
a transmitter, configured to send the precoded data to the receiving device.
The above transmitting device may be a network entity such as base station, an evolved Node B or an access point.
According a fifth aspect of the invention, a system for precoding data is provided. The system includes a transmitting device and a receiving device as detailed above.



BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1 is a flowchart of a method for precoding data according to an embodiment of the present invention;
FIG. 2 is a flowchart of a method for precoding data according to another embodiment of the invention;
FIG. 3 is a flowchart of a method for precoding data according to yet another embodiment of the invention;
FIG. 4 is a simplified block diagram of a receiving device according to an embodiment of the invention;
FIG. 5 is a simplified block diagram of a transmitting device according to an embodiment of the invention;
FIG. 6 is a flowchart of a method for precoding data according to an embodiment of the present invention; and
FIG. 7 is a simplified block diagram of a system according to an embodiment of the invention.



DETAILED DESCRIPTION
Particularly, embodiments of the present invention relate to reporting multiple quantized representation of channel state information of a propagation channel in a capacity-limited feedback channel using a double codebook structure. A wireless communication system comprises at least one transmitting device and at least one receiving device. The transmitting device may be in a form of a network entity, such as a base station, an evolved NodeB (eNB) or an access point. The receiving device may be in a form of a user equipment (UE), such as a mobile device, a cellular telephone, a wireless enabled personal digital assistant (PDA) a wireless enabled laptop computer, or other such devices. At least one reference signal to the receiving device and a feedback channel from the receiving device allow the transmission from the transmitting device using codebook-based precoding when the transmitting device is equipped with multiple transmit antennas.
For high-throughput operation in MIMO OFDMA systems, such as the LTE system, IEEE 802.16e/m system or other such systems, a receiving device may be asked to feedback one PMI for each subband of the bandwidth of the system, since it offers a better granularity than a wideband precoder and allows the transmitting device to adapt its precoder to the frequency-selectivity of the wireless propagation channel, as well as providing information for multiuser diversity scheduling. In order to take advantage of these properties while limiting the rate of feedback in the channel to an acceptable level, a receiving device may be asked to report the PMIs for a set of selected subbands that do not span the entire bandwidth of operation. Additionally, in order to ensure a smooth operation of the scheduler at the transmitting device, it is often also required that the receiving device reports a wideband PMI along with the subband PMIs of selected subbands, so that the transmitting device has channel state information for scheduling that receiving device in any of the subbands for which a subband PMI is not reported. As pointed out above, a CQI is reported in association with a PMI, so a wideband CQI is reported along the wideband PMI, while a subband CQI is reported for each of the subband PMIs.
Enhancements of the feedback for closed-loop precoding beyond the simple 4-bit codebook or antenna array sizes for larger transmission would require more complex codebook structures, as well as a larger codebook size. A first type of enhanced codebook contains matrices that provide a quantization of the MIMO propagation channel between an array of transmitting antennas and an array of receiving antennas, where the matrices take the form of:

W=WMI1(1)WMI2(2)  (1)

The first matrix WMI1(1) in equation (1) is an inner precoder and it has a block diagonal structure of




  
    
      
        
          W
          
            MI
            ⁢
            
              
            
            ⁢
            1
          
          
            (
            1
            )
          
        
        =
        
          [
          
            
              
                
                  
                    W
                    ~
                  
                  
                    MI
                    ⁢
                    
                      
                    
                    ⁢
                    1
                  
                  
                    (
                    1
                    )
                  
                
              
              
                0
              
            
            
              
                0
              
              
                
                  
                    W
                    ~
                  
                  
                    MI
                    ⁢
                    
                      
                    
                    ⁢
                    1
                  
                  
                    (
                    1
                    )
                  
                
              
            
          
          ]
        
      
    
    
      
        (
        2
        )
      
    
  




For rank 1, the precoder could be formed as




  
    
      
        
          W
          =
          
            
              [
              
                
                  
                    
                      
                        W
                        ~
                      
                      
                        MI
                        ⁢
                        
                          
                        
                        ⁢
                        1
                      
                      
                        (
                        1
                        )
                      
                    
                  
                  
                    0
                  
                
                
                  
                    0
                  
                  
                    
                      
                        W
                        ~
                      
                      
                        MI
                        ⁢
                        
                          
                        
                        ⁢
                        1
                      
                      
                        (
                        1
                        )
                      
                    
                  
                
              
              ]
            
            ⁡
            
              [
              
                
                  
                    1
                  
                
                
                  
                    α
                  
                
              
              ]
            
          
        
        ,
        
          α
          ∈
          
            {
            
              1
              ,
              
                -
                1
              
              ,
              j
              ,
              
                -
                j
              
            
            }
          
        
      
    
    
      
        (
        3
        )
      
    
  




The rank 2 case would follow similarly as




  
    
      
        
          W
          =
          
            
              [
              
                
                  
                    
                      
                        W
                        ~
                      
                      
                        MI
                        ⁢
                        
                          
                        
                        ⁢
                        1
                      
                      
                        (
                        1
                        )
                      
                    
                  
                  
                    0
                  
                
                
                  
                    0
                  
                  
                    
                      
                        W
                        ~
                      
                      
                        MI
                        ⁢
                        
                          
                        
                        ⁢
                        1
                      
                      
                        (
                        1
                        )
                      
                    
                  
                
              
              ]
            
            ⁡
            
              [
              
                
                  
                    1
                  
                  
                    1
                  
                
                
                  
                    α
                  
                  
                    
                      -
                      α
                    
                  
                
              
              ]
            
          
        
        ,
        
          α
          ∈
          
            {
            
              1
              ,
              j
            
            }
          
        
      
    
    
      
        (
        4
        )
      
    
  




The second matrix in equation (1) represents a co-phasing factor that reflects short-term channel variations and can be made to adjust the structure of the overall precoder W to match either a single-polarized linear uniform array (ULA) or a cross-polarized array at the transmitting device.
The embodiments of the invention described herein may be used for various broadband wireless communication systems where a double codebook of precoding matrices is known by a transmitting device and a receiving device and the transmitting device is equipped with multiple antennas, some of which may have the same or different polarizations. And the codebook is used for sending feedback information from the receiving device to the transmitting device via a capacity-limited feedback channel A double codebook is composed of two codebooks, which are sets of matrices, and the combination of one matrix from a first codebook C1 and one matrix from a second codebook C2 forms a precoder that can be used by the transmitting device to send data to a receiving device via multiple transmit antennas.
In an embodiment, a receiving device, which can be a UE, is connected to a transmitting device, which can be an access point, for a duration much longer than a transmission time interval. During this duration, the receiving device would send several feedback reports containing indices in a double codebook to recommend one or several precoders to the transmitting device.
In one embodiment, at least one message including a rank indication, a first codebook index n1 in a first codebook C1, and two codebook indices k1 and k2 in a second codebook C2, which is contained in at least one report, is fed back from the receiving device to the transmitting device. The indices (n1, k1) represent a wideband precoder W1 in the double codebook, while the indices (n1, k2) represent a subband precoder W2 in the double codebook, based on the same matrix with index n1 in the codebook C1. A wideband channel quality indicator (CQI1) is also reported in reference to the wideband precoder represented by (n1, k1), while a subband channel quality indicator (CQI2) is also reported in reference to the subband precoder represented by (n1,k2).
In some embodiments where the index k1 is not reported, it is assumed to be pre-defined with a common assumption known by both the receiving device and the transmitting device.
In an embodiment, a method for precoding feedback in a wireless communication system is disclosed. Referring to FIG. 1, the method includes:
S201: Obtaining, by a receiving device, a reference signal from a transmitting device;
S202: Deriving, by the receiving device, a rank indication, a first codebook index n1 in a first codebook C1, two codebook indices k1 and k2 in a second codebook C2, a wideband channel quality indicator CQI1 associated with a wideband precoding matrix represented by indices (n1, k1), and a subband channel quality indicator CQI2 associated with a wideband precoding matrix represented by indices (n1, k2) from the reference signal;
S203: sending, by the receiving device, a feedback report conveying the rank indication, the first codebook index n1, the two codebook indices k1 and k2, the wideband channel quality indicator CQI1, and the subband channel quality indicator CQI2, to the transmitting device; and
S204: receiving, by the receiving device from the transmitting device, data precoded by a first precoder determined by the transmitting device based on the rank indication and the indices n1, k1 and k2.
In one instance, the first precoder is determined by the transmitting device based on the rank indication and the indices n1, k1 and k2.
The first precoder is determined based on the rank indication, a second precoder and a third precoder. The second precoder, which represents a wideband precoder, is determined by the indices n1 and k1. The third precoder, which represents a subband precoder, is determined by the indices n1 and k2.
Determining the second precoder based on the indices n1 and k1 includes:
The second precoder is determined as W=Wn1(1)Wk1(2). Wn1(1) represents the matrix determined by the index n1 in the codebook C1, and Wk1(2) represents the matrix determined by the index k1 in the codebook C2.
Determining the third precoder based on the indices n1 and k2 includes:
The third precoder is determined as W=Wn1(1)Wk2(2). Wn1(1) represents the matrix determined by the index n1 in the codebook C1, and Wk2(2) represents the matrix determined by the index k2 in the codebook C2.
Alternatively, determining the second precoder based on the indices n1 and k1 includes:
The second precoder is determined as W=Wk1(2)Wn1(1). Wk1(2) represents the matrix determined by the index k1 in the codebook C2, and Wn1(1) represents the matrix determined by the index n1 in the codebook C1.
Determining the third precoder by the indices n1 and k2 at the includes:
The third precoder is determined as W=Wk2(2)Wn1(1). Wk2(2) represents the matrix determined by the index k2 in the codebook C2, and Wn1(1) represents the matrix determined by the index n1 in the codebook C1.
The method above allows for reducing the number of reported indices for representing two precoders in a double codebook, and there is no performance impact.
In one embodiment, the transmitting device may ask the receiving device to feed back in a series of messages as exemplified in FIG. 2.
S301: the receiving device sends a first message that contains the rank indication.
S302: the receiving device sends a second message that contains the indices n1 and k1 and the wideband channel quality indicator CQI1.
S303: the receiving device sends a third message that contains the index k2 and the subband channel quality indicator CQI2.
S304: the receiving device receives, from the transmitting device, data precoded by a matrix derived based on the rank indication and the indices n1, k1 and k2.
In one embodiment, the transmitting device may ask the receiving device to feed back in a series of compact messages that can contain one matrix index, as exemplified in FIG. 3.
S401: the receiving device sends a first message that contains the rank indication.
S402: the receiving device sends a second message that contains the index n1 and the wideband channel quality indicator CQI1.
S403: the receiving device sends a third message that contains the index k2 and the subband channel quality indicator CQI2. And the index k1 may be implicitly known by both the transmitting device and the receiving device as a fixed matrix index in the codebook C2.
S404: the receiving device receives, from the transmitting device, data precoded by a matrix derived based on the rank indication and the indices n1, k1 and k2.
In one embodiment, a precoding matrix in the double codebook is derived as W=W(2)W(1), where W(1) is a matrix from the codebook C1, and W(2) is a matrix from the codebook C2. The wideband precoder W1 is derived at the receiving device as W1=Wk1(2)Wn1(1), and the subband precoder W2 is derived as W2=Wk2(2)Wn1(1). A wideband CQI, denoted as CQI1, represents the channel quality assuming the wideband precoding matrix is used at the transmitting device. A subband CQI, denoted as CQI2, represents the channel quality assuming the subband precoding matrix is used at the transmitting device.
In one embodiment, the index k1 is pre-defined at both the transmitting device and receiving device based on a fixed assumption, and the matrix which the index k1 represents may be the identity matrix, in which case the wideband precoder is simply represented as Wni(1).
In one embodiment, a precoding matrix in the double codebook is derived as W=W(1)W(2), where W(1) is a matrix from the codebook C1, and W(2) is a matrix from the codebook C2. The wideband precoder W1 is derived at the receiving device as W1=Wn1(1)Wk1(2), and the subband precoder W2 is derived as W2=Wn1(1)Wk2(2). A wideband CQI, denoted as CQI1, represents the channel quality assuming the wideband precoding matrix is used at the transmitting device. A subband CQI, denoted as CQI2, represents the channel quality assuming the subband precoding matrix is used at the transmitting device. In one embodiment the index k1 is pre-defined at both the transmitting device and receiving device based on a fixed assumption, and the matrix which the index k1 represents may be the identity matrix or a block matrix composed of identity matrices of smaller dimension.
In one embodiment, a precoding matrix in the double codebook is derived as W=W(1)W(2), where W(1) is a matrix from the codebook C1, and W(2) is a matrix from the codebook C2. The wideband precoder W1 is derived at the receiving device as W1=Wn1(1)Wk1(2), and the subband precoder W2 is derived as W2=Wn1(1)Wk2(2). A wideband CQI, denoted as CQI1, represents the channel quality assuming the wideband precoding matrix is used at the transmitting device. A subband CQI, denoted as CQI2, represents the channel quality assuming the subband precoding matrix is used at the transmitting device.
In one embodiment the index k1 is reported based on a subset of the codebook C2, and k1 may be reported with fewer bits than the index k2. For example, k2 is the index in the subset of the codebook C2.
In one embodiment, a precoding matrix in the double codebook is derived as W=W(1)W(2), where R=W(1) is a normalized covariance matrix from the codebook C1, and W(2) is a matrix from the codebook C2. The wideband precoder W1 is derived at the receiving device as W1=Wn1(1)Wk1(2), and the subband precoder W2 is derived as W2=Wn1(1)Wk1(2). A wideband CQI, denoted as CQI1, represents the channel quality assuming the wideband precoding matrix is used at the transmitting device. A subband CQI, denoted as CQI2, represents the channel quality assuming the subband precoding matrix is used at the transmitting device.
In one embodiment, the index k1 is not reported but it is pre-defined at both the transmitting device and receiving device based on a common assumption, the matrix which the index k1 represents may be the principal eigenvector of the matrix R, or the best approximation of the principal eigenvector of the matrix R by a vector in the codebook C2.
Note that for persons skilled in the art, the embodiment above may be used for at least one subband.
The method above allows for reducing the number of reported indices and save the system resources, without adversely affecting performance.
It is understandable to those skilled in the art that all or part of the steps of the foregoing embodiments may be implemented by hardware instructed by a computer program. The program may be stored in a computer-readable storage medium. When being executed, the program performs all or part of the steps in foregoing method embodiments.
In another embodiment of the present invention, a receiving device that can realize all the above methods is also disclosed. In this embodiment, the receiving device may be a user equipment.
Referring to FIG. 4, the receiving device 1900 includes:
a receiver 1901, configured to receive a reference signal from a transmitting device;
a processor 1902, configured to derive a rank indication, a codebook index n1 in a first codebook C1 and codebook indices k1 and k2 in a second codebook C2, a wideband channel quality indicator CQI1 and a subband channel quality indicator CQI2 based on the reference signal; and
a transmitter 1903, configured to send the rank indication, the codebook index n1 in the first codebook C1, the codebook indices k1 and k2 in the second codebook C2, the wideband CQI1 and the subband CQI2 to the transmitting device.
In addition, the receiver 1901 is further configured to receive, from the transmitting device, data precoded by a first precoder which is determined by the transmitting device based on the rank indication and the indices n1, k1 and k2.
Note that for persons skilled in the art, the embodiment above may be used for at least one subband.
The embodiment above allows for reducing the number of reported indices and save the system resources, without performance reduction.
In another embodiment of the present invention, a transmitting device is described as in FIG. 5. In this embodiment, the transmitting device may be a base station.
The transmitting device includes the following:
a receiver 2001, configured to receive a rank indication, a codebook index n1 in a first codebook C1, codebook indices k1 and k2 in a second codebook C2, the wideband channel quality indicator CQI1 and the subband channel quality indicator CQI2 from a receiving device;
a processor 2002, configured to derive a first precoder based on the rank indication and the indices n1, k1 and k2, and
precode data to be sent to the receiving device using the first precoder; and
a transmitter 2004, configured to send the precoded data to the receiving device.
The first precoder comprises a second precoder and a third precoder, where the second precoder is a wideband precoder determined based on the indices n1 and k1, and the third precoder is a subband precoder determined based on the indices n1 and k2.
In one embodiment, the second precoder and the third precoder are determined by the following process.
The second precoder is determined by:
determining matrix Wn1(1) using the index n1 in the codebook C1;
determining matrix Wk1(2) using the index k1 in the codebook C2; and
determining the second precoder W1 as W1=Wn1(1)Wk1(2).
The third precoder is determined by:
determining matrix Wn1(1) using the index n1 in the codebook C1;
determining matrix Wk2(2) using the index k2 in the codebook C2; and
determining the third precoder W2 as W2=Wn1(1)Wk2(2) 
In another embodiment, the second precoder and the third precoder are determined by the following process.
The second precoder is determined by:
determining matrix Wk1(2) using the index k1 in the codebook C2;
determining matrix Wn1(1) using the index n1 in the codebook C1; and
determining the second precoder W1 as W1=Wk1(2)Wn1(1).
The third precoder is determined by:
determining matrix Wk2(2) using the index k2 in the codebook C2;
determining matrix Wn1(1) using the index n1 in the codebook C1; and
determining the third precoder W2 as W2=Wk2(2)Wn1(1). Note that for persons skilled in the art, the embodiment above may be used for at least one subband.
The embodiment above allows for reducing the number of reported indices and save the system resources, without adversely affecting performance.
In one embodiment, a method for precoding in a wireless communication system is detailed in FIG. 6. The method include:
S2101: a transmitting device receives a rank indication, a codebook index n1 in a first codebook C1, codebook indices k1 and k2 in a second codebook C2, the wideband channel quality indicator CQI1 and the subband channel quality indicator CQI2 from a receiving device, wherein the receiving device may be a user equipment;
S2102: the transmitting device derives a first precoder based on the rank indication and the indices n1, k1 and k2;
S2103: the transmitting device precodes data using the first precoder; and
S2104: the transmitting device sends the precoded data to the receiving device.
The transmitting device derives the first precoder determined based on the rank indication, a second precoder and a third precoder, in which the second precoder, which represents a wideband precoder, is determined by the indices n1 and k1, and the third precoder, which represents a subband precoder, is determined by the indices n1 and k2.
The second precoder W1 is determined as W1=Wn1(1)Wk1(2), in which the Wn1(1) represents the matrix determined by the index n1 in the codebook C1, and the Wk1(2) represents the matrix determined by the index k1 in the codebook C2; and
the third precoder W2 is determined as W2=Wn1(1)Wk2(2), in which the Wn1(1) represents the matrix determined by the index n1 in the codebook C1, and the Wk2(2) represents the matrix determined by the index k2 in the codebook C2.
Alternatively, the second precoder W1 is determined as W1=Wk1(2)Wn1(1), in which the Wk1(2) represents the matrix determined by the index k1 in the codebook C2, and the Wn1(1) represents the matrix determined by the index n1 in the codebook C1; and
the third precoder W2 is determined as W2=Wk2(2)Wn1(1), in which the Wk2(2) represents the matrix determined by the index k2 in the codebook C2, and the Wn1(1) represents the matrix determined by the index n1 in the codebook C1.
Note that for persons skilled in the art, the embodiment above may be used for at least one subband.
The embodiment above allows for reducing the number of reported indices and save the system resources, without adversely affecting performance.
In one embodiment, a system for precoding is detailed in FIG. 7. The system 1700 includes a transmitting device 1701 and a receiving device 1702. The transmitting device 1701 may be a base station and the receiving device 1702 may be a user equipment.
The receiving device 1702 may include a receiver, configured to receive a reference signal from the transmitting device;
a processor, configured to derive a rank indication, a codebook index n1 in a first codebook C1 and codebook indices k1 and k2 in a second codebook C2, a wideband channel quality indicator CQI1 and a subband channel quality indicator CQI2, based on the reference signal;
a transmitter, configured to send the rank indication, the codebook index n1 in the first codebook C1, the codebook indices k1 and k2 in the second codebook C2, the wideband CQI1 and the subband CQI2 derived by the deriving unit, to the transmitting device; and
the receiver is further configured to receive, from the transmitting device, data precoded by a first precoder which is determined by the transmitting device based on the rank indication and the indices n1, k1 and k2.
The transmitting device 1701 may include a receiver, configured to receive a rank indication, a codebook index n1 in a first codebook C1, codebook indices k1 and k2 in a second codebook C2, a wideband channel quality indicator CQI1 and a subband channel quality indicator CQI2 from the receiving device;
a processor, configured to derive a first precoder based on the rank indication and the indices n1, k1 and k2 and precode the data to be sent to the receiving device using the first precoder; and
a transmitter, configured to send the precoded data to the receiving device.
The first precoder comprises a second precoder and a third precoder, where the second precoder is a wideband precoder determined based on the indices n1 and k1, and the third precoder is a subband precoder determined based on the indices n1 and k2.
In one embodiment, the second precoder and the third precoder are determined by the following process.
The second precoder is determined by:
determining matrix Wn1(1) using the index n1 in the codebook C1;
determining matrix Wk1(2) using the index k1 in the codebook C2; and
determining the second precoder W1 as W1=Wn1(1)Wk1(2).
The third precoder is determined by:
determining matrix Wn1(1) using the index n1 in the codebook C1;
determining matrix Wk1(2) using the index k2 in the codebook C2; and
determining the third precoder W2 as W2=Wn1(1)Wk2(2).
In another embodiment, the second precoder and the third precoder are determined by the following process.
The second precoder is determined by:
determining matrix Wk1(2) using the index k1 in the codebook C2;
determining matrix Wn1(1) using the index n1 in the codebook C1; and
determining the second precoder W1 as W1=Wk1(2)Wn1(1) 
The third precoder is determined by:
determining matrix Wk2(2) using the index k2 in the codebook C2;
determining matrix Wn1(1) using the index n1 in the codebook C1; and
determining the third precoder W2 as W2=Wk2(2)Wn1(1). Note that for persons skilled in the art, the embodiment above may be used for at least one subband.
The embodiment above allows for reducing the number of reported indices and save the system resources, without adversely affect performance.
It is envisioned that the method according to the above-mentioned embodiments may be realized by computer programs executable by the processors of the transmitting device and the receiving device. The transmitting device and the receiving device may each be equipped or coupled with a non-transitory storage medium for storing the programs. The storage medium may be a read-only memory (ROM), a magnetic disk or a compact disk (CD).
Although the invention is described through some exemplary embodiments, the invention is not limited to such embodiments. It is apparent that those skilled in the art can make modifications and variations to the invention without departing from the scope of the invention. The invention is intended to cover the modifications and variations provided that they fall in the scope of protection defined by the following claims or their equivalent.

## Claims

1. A non-transitory tangible computer-readable medium having stored thereon, a computer program comprising at least one code section for distributing data, the at least one code section being executable by a machine for causing the machine to perform the following:
receiving at least one reference signal from a transmitting device;
deriving a rank indication, a codebook index n1 in a first codebook C1, and codebook indices k1 and k2 in a second codebook C2 based on the at least one reference signal;
sending the rank indication, the codebook index n1 in the first codebook C1, and the codebook indices k1 and k2 in the second codebook C2 to the transmitting device; and
receiving data precoded by a first precoder from the transmitting device;
wherein the first precoder comprises a second precoder and a third precoder, the second precoder is determined based on the indices n1 and k1, and the third precoder is determined based on the indices n1 and k2.

2. The non-transitory tangible computer-readable medium according to claim 1, wherein the second precoder is a wideband precoder and the third precoder is a subband precoder.

3. The non-transitory tangible computer-readable according to claim 1, wherein the first codebook C1 and the second codebook C2 are configured in both the transmitting device and the machine.

4. The non-transitory tangible computer-readable medium according to claim 1, wherein sending the rank indication, the codebook index n1 in the first codebook C1, and the codebook indices k1 and k2 in the second codebook C2 to the transmitting device, further comprises:
sending a first message that contains the rank indication;
sending a second message that contains the indices n1 and k1; and
sending a third message that contains the index k2.

5. The non-transitory tangible computer-readable medium according to claim 1, wherein the machine is one of the following: a mobile device, a cellular telephone, a wireless enabled personal digital assistant and a wireless enabled laptop computer.

6. A non-transitory tangible computer-readable medium having stored thereon, a computer program comprising at least one code section for distributing data, the at least one code section being executable by a machine for causing the machine to perform the following:
receiving a rank indication, a codebook index n1 in a first codebook C1, and codebook indices k1 and k2 in a second codebook C2 from a receiving device;
determining a first precoder based on the rank indication, the indices n1, k1 and k2;
precoding data to be sent to the receiving device by the first precoder; and
sending the precoded data to the receiving device;
wherein the first precoder comprises a second precoder and a third precoder, the second precoder is determined based on the indices n1 and k1, and the third precoder is determined based on the indices n1 and k2.

7. The non-transitory tangible computer-readable medium according to claim 6, wherein the second precoder is a wideband precoder and the third precoder is a subband precoder.

8. The non-transitory tangible computer-readable medium according to claim 6, wherein determining the second precoder, comprises:
determining a matrix Wn1(1) based on the index n1 in the first codebook C1;
determining a matrix Wk1(2) based on the index k1 in the second codebook C2; and
determining the second precoder W1 based on W1=Wn1(1)Wk1(2); and
wherein determining the third precoder, further comprises:
determining a matrix Wn1(1) based on the index n1 in the first codebook C1;
determining a matrix Wk2(2) based on the index k2 in the second codebook C2; and
determining the third precoder W2 based on W2=Wn1(1)Wk2(2).

9. The non-transitory tangible computer-readable medium according to claim 6, wherein determining the second precoder, further comprises:
determining a matrix Wn1(1) based on the index n1 in the first codebook C1;
determining a matrix Wk1(2) based on the index k1 in the second codebook C2; and
determining the second precoder W1 based on W1=Wk1(2)Wn1(1); and
wherein determining the third precoder, further comprises:
determining a matrix Wn1(1) based on the index n1 in the first codebook C1;
determining a matrix Wk2(2) based on the index k2 in the second codebook C2; and
determining the third precoder W2 based on W2=Wk2(2)Wn1(1).

10. The non-transitory tangible computer-readable medium according to claim 6, wherein the first codebook C1 and the second codebook C2 are configured in both the machine and the receiving device.

11. The non-transitory tangible computer-readable medium according to claim 6, wherein the machine is a base station or an access point.